SimpleWindow
载入中...
搜索中...
未找到
Thickness.h
1#pragma once
2
3#include "IComparable.h"
4#include "IToString.h"
5#include <Windows.h>
6#include <string>
7#include <type_traits>
8
9namespace sw
10{
14 struct Thickness : public IToString<Thickness>,
15 public IEqualityComparable<Thickness> {
19 double left;
20
24 double top;
25
29 double right;
30
34 double bottom;
35
39 Thickness() = default;
40
44 Thickness(double thickness);
45
49 Thickness(double horizontal, double vertical);
50
54 Thickness(double left, double top, double right, double bottom);
55
59 Thickness(const RECT &rect);
60
64 operator RECT() const;
65
69 bool Equals(const Thickness &other) const;
70
74 std::wstring ToString() const;
75 };
76
77 // Thickness应为POD类型
78 static_assert(
79 std::is_trivial<Thickness>::value && std::is_standard_layout<Thickness>::value,
80 "Thickness should be a POD type.");
81}
相等性比较接口
Definition IComparable.h:14
为支持ToString方法的类提供统一接口
Definition IToString.h:13
表示矩形区域周围边框的厚度
Definition Thickness.h:15
double right
右边
Definition Thickness.h:29
Thickness(const RECT &rect)
从RECT结构体构造Thickness结构体
bool Equals(const Thickness &other) const
判断两个Thickness是否相同
double top
顶边
Definition Thickness.h:24
Thickness(double thickness)
构造一个四边都相同的Thickness结构体
Thickness(double left, double top, double right, double bottom)
指定四边的值构造Thickness结构体
Thickness()=default
默认构造函数
double bottom
底边
Definition Thickness.h:34
double left
左边
Definition Thickness.h:19
Thickness(double horizontal, double vertical)
指定横向和纵向值构造Thickness结构体
std::wstring ToString() const
获取描述当前对象的字符串