1
1
// LAF Gfx Library
2
- // Copyright (C) 2020-2024 Igara Studio S.A.
2
+ // Copyright (C) 2020-2025 Igara Studio S.A.
3
3
// Copyright (C) 2001-2018 David Capello
4
4
//
5
5
// This file is released under the terms of the MIT license.
@@ -15,6 +15,8 @@ namespace gfx {
15
15
16
16
template <typename T>
17
17
class PointT ;
18
+ template <typename T>
19
+ class BorderT ;
18
20
19
21
// A 2D size.
20
22
template <typename T>
@@ -64,6 +66,20 @@ class SizeT {
64
66
return *this ;
65
67
}
66
68
69
+ const SizeT& operator +=(const BorderT<T>& br)
70
+ {
71
+ w += br.width ();
72
+ h += br.height ();
73
+ return *this ;
74
+ }
75
+
76
+ const SizeT& operator -=(const BorderT<T>& br)
77
+ {
78
+ w -= br.width ();
79
+ h -= br.height ();
80
+ return *this ;
81
+ }
82
+
67
83
const SizeT& operator +=(const T& value)
68
84
{
69
85
w += value;
@@ -100,6 +116,10 @@ class SizeT {
100
116
101
117
SizeT operator -(const SizeT& sz) const { return SizeT (w - sz.w , h - sz.h ); }
102
118
119
+ SizeT operator +(const BorderT<T>& br) const { return SizeT (w + br.width (), h + br.height ()); }
120
+
121
+ SizeT operator -(const BorderT<T>& br) const { return SizeT (w - br.width (), h - br.height ()); }
122
+
103
123
SizeT operator +(const T& value) const { return SizeT (w + value, h + value); }
104
124
105
125
SizeT operator -(const T& value) const { return SizeT (w - value, h - value); }
@@ -110,6 +130,10 @@ class SizeT {
110
130
111
131
SizeT operator -() const { return SizeT (-w, -h); }
112
132
133
+ SizeT operator |(const SizeT& other) const { return createUnion (other); }
134
+
135
+ SizeT operator &(const SizeT& other) const { return createIntersection (other); }
136
+
113
137
bool operator ==(const SizeT& sz) const { return w == sz.w && h == sz.h ; }
114
138
115
139
bool operator !=(const SizeT& sz) const { return w != sz.w || h != sz.h ; }
0 commit comments