FLImaging 7.6.11.1
TRect.h
1#pragma once
2
10
11#include <stdint.h>
12#include <type_traits>
13#include <typeinfo>
14
15#include "FLLibTags.h"
16
18namespace FLImaging
19{
21 namespace Base
22 {
34 #pragma pack(push, 1)
35 template <typename T>
36 class FL_EXPORT TRect
37 {
38 public:
44
49 T top;
50
56
62
63
72 {
73 }
74
84 TRect(const TRect<int8_t>& tr) : left((T)tr.left), top((T)tr.top), right((T)tr.right), bottom((T)tr.bottom)
85 {
86 }
87
97 TRect(const TRect<int8_t>* pTr) : left((T)pTr->left), top((T)pTr->top), right((T)pTr->right), bottom((T)pTr->bottom)
98 {
99 }
100
110 TRect(const TRect<uint8_t>& tr) : left((T)tr.left), top((T)tr.top), right((T)tr.right), bottom((T)tr.bottom)
111 {
112 }
113
123 TRect(const TRect<uint8_t>* pTr) : left((T)pTr->left), top((T)pTr->top), right((T)pTr->right), bottom((T)pTr->bottom)
124 {
125 }
126
136 TRect(const TRect<int16_t>& tr) : left((T)tr.left), top((T)tr.top), right((T)tr.right), bottom((T)tr.bottom)
137 {
138 }
139
149 TRect(const TRect<int16_t>* pTr) : left((T)pTr->left), top((T)pTr->top), right((T)pTr->right), bottom((T)pTr->bottom)
150 {
151 }
152
162 TRect(const TRect<uint16_t>& tr) : left((T)tr.left), top((T)tr.top), right((T)tr.right), bottom((T)tr.bottom)
163 {
164 }
165
175 TRect(const TRect<uint16_t>* pTr) : left((T)pTr->left), top((T)pTr->top), right((T)pTr->right), bottom((T)pTr->bottom)
176 {
177 }
178
188 TRect(const TRect<int32_t>& tr) : left((T)tr.left), top((T)tr.top), right((T)tr.right), bottom((T)tr.bottom)
189 {
190 }
191
201 TRect(const TRect<int32_t>* pTr) : left((T)pTr->left), top((T)pTr->top), right((T)pTr->right), bottom((T)pTr->bottom)
202 {
203 }
204
214 TRect(const TRect<uint32_t>& tr) : left((T)tr.left), top((T)tr.top), right((T)tr.right), bottom((T)tr.bottom)
215 {
216 }
217
227 TRect(const TRect<uint32_t>* pTr) : left((T)pTr->left), top((T)pTr->top), right((T)pTr->right), bottom((T)pTr->bottom)
228 {
229 }
230
240 TRect(const TRect<int64_t>& tr) : left((T)tr.left), top((T)tr.top), right((T)tr.right), bottom((T)tr.bottom)
241 {
242 }
243
253 TRect(const TRect<int64_t>* pTr) : left((T)pTr->left), top((T)pTr->top), right((T)pTr->right), bottom((T)pTr->bottom)
254 {
255 }
256
266 TRect(const TRect<uint64_t>& tr) : left((T)tr.left), top((T)tr.top), right((T)tr.right), bottom((T)tr.bottom)
267 {
268 }
269
279 TRect(const TRect<uint64_t>* pTr) : left((T)pTr->left), top((T)pTr->top), right((T)pTr->right), bottom((T)pTr->bottom)
280 {
281 }
282
292 TRect(const TRect<float>& tr) : left((T)tr.left), top((T)tr.top), right((T)tr.right), bottom((T)tr.bottom)
293 {
294 }
295
305 TRect(const TRect<float>* pTr) : left((T)pTr->left), top((T)pTr->top), right((T)pTr->right), bottom((T)pTr->bottom)
306 {
307 }
308
318 TRect(const TRect<double>& tr) : left((T)tr.left), top((T)tr.top), right((T)tr.right), bottom((T)tr.bottom)
319 {
320 }
321
331 TRect(const TRect<double>* pTr) : left((T)pTr->left), top((T)pTr->top), right((T)pTr->right), bottom((T)pTr->bottom)
332 {
333 }
334
350 TRect(int8_t left, int8_t top, int8_t right, int8_t bottom) : left((T)left), top((T)top), right((T)right), bottom((T)bottom)
351 {
352 }
353
369 TRect(uint8_t left, uint8_t top, uint8_t right, uint8_t bottom) : left((T)left), top((T)top), right((T)right), bottom((T)bottom)
370 {
371 }
372
388 TRect(int16_t left, int16_t top, int16_t right, int16_t bottom) : left((T)left), top((T)top), right((T)right), bottom((T)bottom)
389 {
390 }
391
407 TRect(uint16_t left, uint16_t top, uint16_t right, uint16_t bottom) : left((T)left), top((T)top), right((T)right), bottom((T)bottom)
408 {
409 }
410
426 TRect(int32_t left, int32_t top, int32_t right, int32_t bottom) : left((T)left), top((T)top), right((T)right), bottom((T)bottom)
427 {
428 }
429
445 TRect(uint32_t left, uint32_t top, uint32_t right, uint32_t bottom) : left((T)left), top((T)top), right((T)right), bottom((T)bottom)
446 {
447 }
448
464 TRect(int64_t left, int64_t top, int64_t right, int64_t bottom) : left((T)left), top((T)top), right((T)right), bottom((T)bottom)
465 {
466 }
467
483 TRect(uint64_t left, uint64_t top, uint64_t right, uint64_t bottom) : left((T)left), top((T)top), right((T)right), bottom((T)bottom)
484 {
485 }
486
502 TRect(float left, float top, float right, float bottom) : left((T)left), top((T)top), right((T)right), bottom((T)bottom)
503 {
504 }
505
521 TRect(double left, double top, double right, double bottom) : left((T)left), top((T)top), right((T)right), bottom((T)bottom)
522 {
523 }
524
534 void Set(const TRect<int8_t>& tr)
535 {
536 this->left = (T)tr.left;
537 this->top = (T)tr.top;
538 this->right = (T)tr.right;
539 this->bottom = (T)tr.bottom;
540 }
541
551 void Set(const TRect<int8_t>* pTr)
552 {
553 this->left = (T)pTr->left;
554 this->top = (T)pTr->top;
555 this->right = (T)pTr->right;
556 this->bottom = (T)pTr->bottom;
557 }
558
568 void Set(const TRect<uint8_t>& tr)
569 {
570 this->left = (T)tr.left;
571 this->top = (T)tr.top;
572 this->right = (T)tr.right;
573 this->bottom = (T)tr.bottom;
574 }
575
585 void Set(const TRect<uint8_t>* pTr)
586 {
587 this->left = (T)pTr->left;
588 this->top = (T)pTr->top;
589 this->right = (T)pTr->right;
590 this->bottom = (T)pTr->bottom;
591 }
592
602 void Set(const TRect<int16_t>& tr)
603 {
604 this->left = (T)tr.left;
605 this->top = (T)tr.top;
606 this->right = (T)tr.right;
607 this->bottom = (T)tr.bottom;
608 }
609
619 void Set(const TRect<int16_t>* pTr)
620 {
621 this->left = (T)pTr->left;
622 this->top = (T)pTr->top;
623 this->right = (T)pTr->right;
624 this->bottom = (T)pTr->bottom;
625 }
626
636 void Set(const TRect<uint16_t>& tr)
637 {
638 this->left = (T)tr.left;
639 this->top = (T)tr.top;
640 this->right = (T)tr.right;
641 this->bottom = (T)tr.bottom;
642 }
643
653 void Set(const TRect<uint16_t>* pTr)
654 {
655 this->left = (T)pTr->left;
656 this->top = (T)pTr->top;
657 this->right = (T)pTr->right;
658 this->bottom = (T)pTr->bottom;
659 }
660
670 void Set(const TRect<int32_t>& tr)
671 {
672 this->left = (T)tr.left;
673 this->top = (T)tr.top;
674 this->right = (T)tr.right;
675 this->bottom = (T)tr.bottom;
676 }
677
687 void Set(const TRect<int32_t>* pTr)
688 {
689 this->left = (T)pTr->left;
690 this->top = (T)pTr->top;
691 this->right = (T)pTr->right;
692 this->bottom = (T)pTr->bottom;
693 }
694
704 void Set(const TRect<uint32_t>& tr)
705 {
706 this->left = (T)tr.left;
707 this->top = (T)tr.top;
708 this->right = (T)tr.right;
709 this->bottom = (T)tr.bottom;
710 }
711
721 void Set(const TRect<uint32_t>* pTr)
722 {
723 this->left = (T)pTr->left;
724 this->top = (T)pTr->top;
725 this->right = (T)pTr->right;
726 this->bottom = (T)pTr->bottom;
727 }
728
738 void Set(const TRect<int64_t>& tr)
739 {
740 this->left = (T)tr.left;
741 this->top = (T)tr.top;
742 this->right = (T)tr.right;
743 this->bottom = (T)tr.bottom;
744 }
745
755 void Set(const TRect<int64_t>* pTr)
756 {
757 this->left = (T)pTr->left;
758 this->top = (T)pTr->top;
759 this->right = (T)pTr->right;
760 this->bottom = (T)pTr->bottom;
761 }
762
772 void Set(const TRect<uint64_t>& tr)
773 {
774 this->left = (T)tr.left;
775 this->top = (T)tr.top;
776 this->right = (T)tr.right;
777 this->bottom = (T)tr.bottom;
778 }
779
789 void Set(const TRect<uint64_t>* pTr)
790 {
791 this->left = (T)pTr->left;
792 this->top = (T)pTr->top;
793 this->right = (T)pTr->right;
794 this->bottom = (T)pTr->bottom;
795 }
796
806 void Set(const TRect<float>& tr)
807 {
808 this->left = (T)tr.left;
809 this->top = (T)tr.top;
810 this->right = (T)tr.right;
811 this->bottom = (T)tr.bottom;
812 }
813
823 void Set(const TRect<float>* pTr)
824 {
825 this->left = (T)pTr->left;
826 this->top = (T)pTr->top;
827 this->right = (T)pTr->right;
828 this->bottom = (T)pTr->bottom;
829 }
830
840 void Set(const TRect<double>& tr)
841 {
842 this->left = (T)tr.left;
843 this->top = (T)tr.top;
844 this->right = (T)tr.right;
845 this->bottom = (T)tr.bottom;
846 }
847
857 void Set(const TRect<double>* pTr)
858 {
859 this->left = (T)pTr->left;
860 this->top = (T)pTr->top;
861 this->right = (T)pTr->right;
862 this->bottom = (T)pTr->bottom;
863 }
864
880 void Set(int8_t left, int8_t top, int8_t right, int8_t bottom)
881 {
882 this->left = (T)left;
883 this->top = (T)top;
884 this->right = (T)right;
885 this->bottom = (T)bottom;
886 }
887
903 void Set(uint8_t left, uint8_t top, uint8_t right, uint8_t bottom)
904 {
905 this->left = (T)left;
906 this->top = (T)top;
907 this->right = (T)right;
908 this->bottom = (T)bottom;
909 }
910
926 void Set(int16_t left, int16_t top, int16_t right, int16_t bottom)
927 {
928 this->left = (T)left;
929 this->top = (T)top;
930 this->right = (T)right;
931 this->bottom = (T)bottom;
932 }
933
949 void Set(uint16_t left, uint16_t top, uint16_t right, uint16_t bottom)
950 {
951 this->left = (T)left;
952 this->top = (T)top;
953 this->right = (T)right;
954 this->bottom = (T)bottom;
955 }
956
972 void Set(int32_t left, int32_t top, int32_t right, int32_t bottom)
973 {
974 this->left = (T)left;
975 this->top = (T)top;
976 this->right = (T)right;
977 this->bottom = (T)bottom;
978 }
979
995 void Set(uint32_t left, uint32_t top, uint32_t right, uint32_t bottom)
996 {
997 this->left = (T)left;
998 this->top = (T)top;
999 this->right = (T)right;
1000 this->bottom = (T)bottom;
1001 }
1002
1018 void Set(int64_t left, int64_t top, int64_t right, int64_t bottom)
1019 {
1020 this->left = (T)left;
1021 this->top = (T)top;
1022 this->right = (T)right;
1023 this->bottom = (T)bottom;
1024 }
1025
1041 void Set(uint64_t left, uint64_t top, uint64_t right, uint64_t bottom)
1042 {
1043 this->left = (T)left;
1044 this->top = (T)top;
1045 this->right = (T)right;
1046 this->bottom = (T)bottom;
1047 }
1048
1064 void Set(float left, float top, float right, float bottom)
1065 {
1066 this->left = (T)left;
1067 this->top = (T)top;
1068 this->right = (T)right;
1069 this->bottom = (T)bottom;
1070 }
1071
1087 void Set(double left, double top, double right, double bottom)
1088 {
1089 this->left = (T)left;
1090 this->top = (T)top;
1091 this->right = (T)right;
1092 this->bottom = (T)bottom;
1093 }
1094
1106 const TRect<T>& operator=(int32_t value)
1107 {
1108 left = top = right = bottom = (T)value;
1109
1110 return *this;
1111 }
1112
1124 const TRect<T>& operator=(int64_t value)
1125 {
1126 left = top = right = bottom = (T)value;
1127
1128 return *this;
1129 }
1130
1142 const TRect<T>& operator=(float value)
1143 {
1144 left = top = right = bottom = (T)value;
1145
1146 return *this;
1147 }
1148
1160 const TRect<T>& operator=(double value)
1161 {
1162 left = top = right = bottom = (T)value;
1163
1164 return *this;
1165 }
1166
1179 {
1180 left = (T)tr.left;
1181 top = (T)tr.top;
1182 right = (T)tr.right;
1183 bottom = (T)tr.bottom;
1184
1185 return *this;
1186 }
1187
1200 {
1201 left = (T)tr.left;
1202 top = (T)tr.top;
1203 right = (T)tr.right;
1204 bottom = (T)tr.bottom;
1205
1206 return *this;
1207 }
1208
1221 {
1222 left = (T)tr.left;
1223 top = (T)tr.top;
1224 right = (T)tr.right;
1225 bottom = (T)tr.bottom;
1226
1227 return *this;
1228 }
1229
1242 {
1243 left = (T)tr.left;
1244 top = (T)tr.top;
1245 right = (T)tr.right;
1246 bottom = (T)tr.bottom;
1247
1248 return *this;
1249 }
1250
1263 {
1264 return left == (T)tr.left && top == (T)tr.top && right == (T)tr.right && bottom == (T)tr.bottom;
1265 }
1266
1279 {
1280 return left == (T)tr.left && top == (T)tr.top && right == (T)tr.right && bottom == (T)tr.bottom;
1281 }
1282
1294 bool operator==(const TRect<float>& tr)
1295 {
1296 return left == (T)tr.left && top == (T)tr.top && right == (T)tr.right && bottom == (T)tr.bottom;
1297 }
1298
1311 {
1312 return left == (T)tr.left && top == (T)tr.top && right == (T)tr.right && bottom == (T)tr.bottom;
1313 }
1314
1327 {
1328 return left != (T)tr.left || top != (T)tr.top || right != (T)tr.right || bottom != (T)tr.bottom;
1329 }
1330
1343 {
1344 return left != (T)tr.left || top != (T)tr.top || right != (T)tr.right || bottom != (T)tr.bottom;
1345 }
1346
1358 bool operator!=(const TRect<float>& tr)
1359 {
1360 return left != (T)tr.left || top != (T)tr.top || right != (T)tr.right || bottom != (T)tr.bottom;
1361 }
1362
1375 {
1376 return left != (T)tr.left || top != (T)tr.top || right != (T)tr.right || bottom != (T)tr.bottom;
1377 }
1378
1390 const TRect<T>& operator+=(int32_t value)
1391 {
1392 left += (T)value;
1393 top += (T)value;
1394 right += (T)value;
1395 bottom += (T)value;
1396
1397 return *this;
1398 }
1399
1411 const TRect<T>& operator+=(int64_t value)
1412 {
1413 left += (T)value;
1414 top += (T)value;
1415 right += (T)value;
1416 bottom += (T)value;
1417
1418 return *this;
1419 }
1420
1432 const TRect<T>& operator+=(float value)
1433 {
1434 left += (T)value;
1435 top += (T)value;
1436 right += (T)value;
1437 bottom += (T)value;
1438
1439 return *this;
1440 }
1441
1453 const TRect<T>& operator+=(double value)
1454 {
1455 left += (T)value;
1456 top += (T)value;
1457 right += (T)value;
1458 bottom += (T)value;
1459
1460 return *this;
1461 }
1462
1475 {
1476 left += (T)tr.left;
1477 top += (T)tr.top;
1478 right += (T)tr.right;
1479 bottom += (T)tr.bottom;
1480
1481 return *this;
1482 }
1483
1496 {
1497 left += (T)tr.left;
1498 top += (T)tr.top;
1499 right += (T)tr.right;
1500 bottom += (T)tr.bottom;
1501
1502 return *this;
1503 }
1504
1517 {
1518 left += (T)tr.left;
1519 top += (T)tr.top;
1520 right += (T)tr.right;
1521 bottom += (T)tr.bottom;
1522
1523 return *this;
1524 }
1525
1538 {
1539 left += (T)tr.left;
1540 top += (T)tr.top;
1541 right += (T)tr.right;
1542 bottom += (T)tr.bottom;
1543
1544 return *this;
1545 }
1546
1558 const TRect<T>& operator-=(int32_t value)
1559 {
1560 left -= (T)value;
1561 top -= (T)value;
1562 right -= (T)value;
1563 bottom -= (T)value;
1564
1565 return *this;
1566 }
1567
1579 const TRect<T>& operator-=(int64_t value)
1580 {
1581 left -= (T)value;
1582 top -= (T)value;
1583 right -= (T)value;
1584 bottom -= (T)value;
1585
1586 return *this;
1587 }
1588
1600 const TRect<T>& operator-=(float value)
1601 {
1602 left -= (T)value;
1603 top -= (T)value;
1604 right -= (T)value;
1605 bottom -= (T)value;
1606
1607 return *this;
1608 }
1609
1621 const TRect<T>& operator-=(double value)
1622 {
1623 left -= (T)value;
1624 top -= (T)value;
1625 right -= (T)value;
1626 bottom -= (T)value;
1627
1628 return *this;
1629 }
1630
1643 {
1644 left -= (T)tr.left;
1645 top -= (T)tr.top;
1646 right -= (T)tr.right;
1647 bottom -= (T)tr.bottom;
1648
1649 return *this;
1650 }
1651
1664 {
1665 left -= (T)tr.left;
1666 top -= (T)tr.top;
1667 right -= (T)tr.right;
1668 bottom -= (T)tr.bottom;
1669
1670 return *this;
1671 }
1672
1685 {
1686 left -= (T)tr.left;
1687 top -= (T)tr.top;
1688 right -= (T)tr.right;
1689 bottom -= (T)tr.bottom;
1690
1691 return *this;
1692 }
1693
1706 {
1707 left -= (T)tr.left;
1708 top -= (T)tr.top;
1709 right -= (T)tr.right;
1710 bottom -= (T)tr.bottom;
1711
1712 return *this;
1713 }
1714
1726 const TRect<T>& operator*=(int32_t value)
1727 {
1728 left *= (T)value;
1729 top *= (T)value;
1730 right *= (T)value;
1731 bottom *= (T)value;
1732
1733 return *this;
1734 }
1735
1747 const TRect<T>& operator*=(int64_t value)
1748 {
1749 left *= (T)value;
1750 top *= (T)value;
1751 right *= (T)value;
1752 bottom *= (T)value;
1753
1754 return *this;
1755 }
1756
1768 const TRect<T>& operator*=(float value)
1769 {
1770 left *= (T)value;
1771 top *= (T)value;
1772 right *= (T)value;
1773 bottom *= (T)value;
1774
1775 return *this;
1776 }
1777
1789 const TRect<T>& operator*=(double value)
1790 {
1791 left *= (T)value;
1792 top *= (T)value;
1793 right *= (T)value;
1794 bottom *= (T)value;
1795
1796 return *this;
1797 }
1798
1811 {
1812 left *= (T)tr.left;
1813 top *= (T)tr.top;
1814 right *= (T)tr.right;
1815 bottom *= (T)tr.bottom;
1816
1817 return *this;
1818 }
1819
1832 {
1833 left *= (T)tr.left;
1834 top *= (T)tr.top;
1835 right *= (T)tr.right;
1836 bottom *= (T)tr.bottom;
1837
1838 return *this;
1839 }
1840
1853 {
1854 left *= (T)tr.left;
1855 top *= (T)tr.top;
1856 right *= (T)tr.right;
1857 bottom *= (T)tr.bottom;
1858
1859 return *this;
1860 }
1861
1874 {
1875 left *= (T)tr.left;
1876 top *= (T)tr.top;
1877 right *= (T)tr.right;
1878 bottom *= (T)tr.bottom;
1879
1880 return *this;
1881 }
1882
1894 const TRect<T>& operator/=(int32_t value)
1895 {
1896 left /= (T)value;
1897 top /= (T)value;
1898 right /= (T)value;
1899 bottom /= (T)value;
1900
1901 return *this;
1902 }
1903
1915 const TRect<T>& operator/=(int64_t value)
1916 {
1917 left /= (T)value;
1918 top /= (T)value;
1919 right /= (T)value;
1920 bottom /= (T)value;
1921
1922 return *this;
1923 }
1924
1936 const TRect<T>& operator/=(float value)
1937 {
1938 left /= (T)value;
1939 top /= (T)value;
1940 right /= (T)value;
1941 bottom /= (T)value;
1942
1943 return *this;
1944 }
1945
1957 const TRect<T>& operator/=(double value)
1958 {
1959 left /= (T)value;
1960 top /= (T)value;
1961 right /= (T)value;
1962 bottom /= (T)value;
1963
1964 return *this;
1965 }
1966
1979 {
1980 left /= (T)tr.left;
1981 top /= (T)tr.top;
1982 right /= (T)tr.right;
1983 bottom /= (T)tr.bottom;
1984
1985 return *this;
1986 }
1987
2000 {
2001 left /= (T)tr.left;
2002 top /= (T)tr.top;
2003 right /= (T)tr.right;
2004 bottom /= (T)tr.bottom;
2005
2006 return *this;
2007 }
2008
2021 {
2022 left /= (T)tr.left;
2023 top /= (T)tr.top;
2024 right /= (T)tr.right;
2025 bottom /= (T)tr.bottom;
2026
2027 return *this;
2028 }
2029
2042 {
2043 left /= (T)tr.left;
2044 top /= (T)tr.top;
2045 right /= (T)tr.right;
2046 bottom /= (T)tr.bottom;
2047
2048 return *this;
2049 }
2050
2062 TRect<T> operator+(int32_t value)
2063 {
2064 TRect<T> trReturn;
2065 trReturn.left = left + (T)value;
2066 trReturn.top = top + (T)value;
2067 trReturn.right = right + (T)value;
2068 trReturn.bottom = bottom + (T)value;
2069 return trReturn;
2070 }
2071
2083 TRect<T> operator+(int64_t value)
2084 {
2085 TRect<T> trReturn;
2086 trReturn.left = left + (T)value;
2087 trReturn.top = top + (T)value;
2088 trReturn.right = right + (T)value;
2089 trReturn.bottom = bottom + (T)value;
2090 return trReturn;
2091 }
2092
2104 TRect<T> operator+(float value)
2105 {
2106 TRect<T> trReturn;
2107 trReturn.left = left + (T)value;
2108 trReturn.top = top + (T)value;
2109 trReturn.right = right + (T)value;
2110 trReturn.bottom = bottom + (T)value;
2111 return trReturn;
2112 }
2113
2125 TRect<T> operator+(double value)
2126 {
2127 TRect<T> trReturn;
2128 trReturn.left = left + (T)value;
2129 trReturn.top = top + (T)value;
2130 trReturn.right = right + (T)value;
2131 trReturn.bottom = bottom + (T)value;
2132 return trReturn;
2133 }
2134
2147 {
2148 TRect<T> trReturn;
2149 trReturn.left = left + (T)tr.left;
2150 trReturn.top = top + (T)tr.top;
2151 trReturn.right = right + (T)tr.right;
2152 trReturn.bottom = bottom + (T)tr.bottom;
2153 return trReturn;
2154 }
2155
2168 {
2169 TRect<T> trReturn;
2170 trReturn.left = left + (T)tr.left;
2171 trReturn.top = top + (T)tr.top;
2172 trReturn.right = right + (T)tr.right;
2173 trReturn.bottom = bottom + (T)tr.bottom;
2174 return trReturn;
2175 }
2176
2189 {
2190 TRect<T> trReturn;
2191 trReturn.left = left + (T)tr.left;
2192 trReturn.top = top + (T)tr.top;
2193 trReturn.right = right + (T)tr.right;
2194 trReturn.bottom = bottom + (T)tr.bottom;
2195 return trReturn;
2196 }
2197
2210 {
2211 TRect<T> trReturn;
2212 trReturn.left = left + (T)tr.left;
2213 trReturn.top = top + (T)tr.top;
2214 trReturn.right = right + (T)tr.right;
2215 trReturn.bottom = bottom + (T)tr.bottom;
2216 return trReturn;
2217 }
2218
2230 TRect<T> operator-(int32_t value)
2231 {
2232 TRect<T> trReturn;
2233 trReturn.left = left - (T)value;
2234 trReturn.top = top - (T)value;
2235 trReturn.right = right - (T)value;
2236 trReturn.bottom = bottom - (T)value;
2237 return trReturn;
2238 }
2239
2251 TRect<T> operator-(int64_t value)
2252 {
2253 TRect<T> trReturn;
2254 trReturn.left = left - (T)value;
2255 trReturn.top = top - (T)value;
2256 trReturn.right = right - (T)value;
2257 trReturn.bottom = bottom - (T)value;
2258 return trReturn;
2259 }
2260
2272 TRect<T> operator-(float value)
2273 {
2274 TRect<T> trReturn;
2275 trReturn.left = left - (T)value;
2276 trReturn.top = top - (T)value;
2277 trReturn.right = right - (T)value;
2278 trReturn.bottom = bottom - (T)value;
2279 return trReturn;
2280 }
2281
2293 TRect<T> operator-(double value)
2294 {
2295 TRect<T> trReturn;
2296 trReturn.left = left - (T)value;
2297 trReturn.top = top - (T)value;
2298 trReturn.right = right - (T)value;
2299 trReturn.bottom = bottom - (T)value;
2300 return trReturn;
2301 }
2302
2315 {
2316 TRect<T> trReturn;
2317 trReturn.left = left - (T)tr.left;
2318 trReturn.top = top - (T)tr.top;
2319 trReturn.right = right - (T)tr.right;
2320 trReturn.bottom = bottom - (T)tr.bottom;
2321 return trReturn;
2322 }
2323
2336 {
2337 TRect<T> trReturn;
2338 trReturn.left = left - (T)tr.left;
2339 trReturn.top = top - (T)tr.top;
2340 trReturn.right = right - (T)tr.right;
2341 trReturn.bottom = bottom - (T)tr.bottom;
2342 return trReturn;
2343 }
2344
2357 {
2358 TRect<T> trReturn;
2359 trReturn.left = left - (T)tr.left;
2360 trReturn.top = top - (T)tr.top;
2361 trReturn.right = right - (T)tr.right;
2362 trReturn.bottom = bottom - (T)tr.bottom;
2363 return trReturn;
2364 }
2365
2378 {
2379 TRect<T> trReturn;
2380 trReturn.left = left - (T)tr.left;
2381 trReturn.top = top - (T)tr.top;
2382 trReturn.right = right - (T)tr.right;
2383 trReturn.bottom = bottom - (T)tr.bottom;
2384 return trReturn;
2385 }
2386
2398 TRect<T> operator*(int32_t value)
2399 {
2400 TRect<T> trReturn;
2401 trReturn.left = left * (T)value;
2402 trReturn.top = top * (T)value;
2403 trReturn.right = right * (T)value;
2404 trReturn.bottom = bottom * (T)value;
2405 return trReturn;
2406 }
2407
2419 TRect<T> operator*(int64_t value)
2420 {
2421 TRect<T> trReturn;
2422 trReturn.left = left * (T)value;
2423 trReturn.top = top * (T)value;
2424 trReturn.right = right * (T)value;
2425 trReturn.bottom = bottom * (T)value;
2426 return trReturn;
2427 }
2428
2440 TRect<T> operator*(float value)
2441 {
2442 TRect<T> trReturn;
2443 trReturn.left = left * (T)value;
2444 trReturn.top = top * (T)value;
2445 trReturn.right = right * (T)value;
2446 trReturn.bottom = bottom * (T)value;
2447 return trReturn;
2448 }
2449
2461 TRect<T> operator*(double value)
2462 {
2463 TRect<T> trReturn;
2464 trReturn.left = left * (T)value;
2465 trReturn.top = top * (T)value;
2466 trReturn.right = right * (T)value;
2467 trReturn.bottom = bottom * (T)value;
2468 return trReturn;
2469 }
2470
2483 {
2484 TRect<T> trReturn;
2485 trReturn.left = left * (T)tr.left;
2486 trReturn.top = top * (T)tr.top;
2487 trReturn.right = right * (T)tr.right;
2488 trReturn.bottom = bottom * (T)tr.bottom;
2489 return trReturn;
2490 }
2491
2504 {
2505 TRect<T> trReturn;
2506 trReturn.left = left * (T)tr.left;
2507 trReturn.top = top * (T)tr.top;
2508 trReturn.right = right * (T)tr.right;
2509 trReturn.bottom = bottom * (T)tr.bottom;
2510 return trReturn;
2511 }
2512
2525 {
2526 TRect<T> trReturn;
2527 trReturn.left = left * (T)tr.left;
2528 trReturn.top = top * (T)tr.top;
2529 trReturn.right = right * (T)tr.right;
2530 trReturn.bottom = bottom * (T)tr.bottom;
2531 return trReturn;
2532 }
2533
2546 {
2547 TRect<T> trReturn;
2548 trReturn.left = left * (T)tr.left;
2549 trReturn.top = top * (T)tr.top;
2550 trReturn.right = right * (T)tr.right;
2551 trReturn.bottom = bottom * (T)tr.bottom;
2552 return trReturn;
2553 }
2554
2566 TRect<T> operator/(int32_t value)
2567 {
2568 TRect<T> trReturn;
2569 trReturn.left = left / (T)value;
2570 trReturn.top = top / (T)value;
2571 trReturn.right = right / (T)value;
2572 trReturn.bottom = bottom / (T)value;
2573 return trReturn;
2574 }
2575
2587 TRect<T> operator/(int64_t value)
2588 {
2589 TRect<T> trReturn;
2590 trReturn.left = left / (T)value;
2591 trReturn.top = top / (T)value;
2592 trReturn.right = right / (T)value;
2593 trReturn.bottom = bottom / (T)value;
2594 return trReturn;
2595 }
2596
2608 TRect<T> operator/(float value)
2609 {
2610 TRect<T> trReturn;
2611 trReturn.left = left / (T)value;
2612 trReturn.top = top / (T)value;
2613 trReturn.right = right / (T)value;
2614 trReturn.bottom = bottom / (T)value;
2615 return trReturn;
2616 }
2617
2629 TRect<T> operator/(double value)
2630 {
2631 TRect<T> trReturn;
2632 trReturn.left = left / (T)value;
2633 trReturn.top = top / (T)value;
2634 trReturn.right = right / (T)value;
2635 trReturn.bottom = bottom / (T)value;
2636 return trReturn;
2637 }
2638
2651 {
2652 TRect<T> trReturn;
2653 trReturn.left = left / (T)tr.left;
2654 trReturn.top = top / (T)tr.top;
2655 trReturn.right = right / (T)tr.right;
2656 trReturn.bottom = bottom / (T)tr.bottom;
2657 return trReturn;
2658 }
2659
2672 {
2673 TRect<T> trReturn;
2674 trReturn.left = left / (T)tr.left;
2675 trReturn.top = top / (T)tr.top;
2676 trReturn.right = right / (T)tr.right;
2677 trReturn.bottom = bottom / (T)tr.bottom;
2678 return trReturn;
2679 }
2680
2693 {
2694 TRect<T> trReturn;
2695 trReturn.left = left / (T)tr.left;
2696 trReturn.top = top / (T)tr.top;
2697 trReturn.right = right / (T)tr.right;
2698 trReturn.bottom = bottom / (T)tr.bottom;
2699 return trReturn;
2700 }
2701
2714 {
2715 TRect<T> trReturn;
2716 trReturn.left = left / (T)tr.left;
2717 trReturn.top = top / (T)tr.top;
2718 trReturn.right = right / (T)tr.right;
2719 trReturn.bottom = bottom / (T)tr.bottom;
2720 return trReturn;
2721 }
2722
2736 friend TRect<T> operator+(int32_t value, const TRect<T>& tr)
2737 {
2738 return TRect<T>((T)value + tr.left, (T)value + tr.top, (T)value + tr.right, (T)value + tr.bottom);
2739 }
2740
2754 friend TRect<T> operator+(int64_t value, const TRect<T>& tr)
2755 {
2756 return TRect<T>((T)value + tr.left, (T)value + tr.top, (T)value + tr.right, (T)value + tr.bottom);
2757 }
2758
2772 friend TRect<T> operator+(float value, const TRect<T>& tr)
2773 {
2774 return TRect<T>((T)value + tr.left, (T)value + tr.top, (T)value + tr.right, (T)value + tr.bottom);
2775 }
2776
2790 friend TRect<T> operator+(double value, const TRect<T>& tr)
2791 {
2792 return TRect<T>((T)value + tr.left, (T)value + tr.top, (T)value + tr.right, (T)value + tr.bottom);
2793 }
2794
2808 friend TRect<T> operator-(int32_t value, const TRect<T>& tr)
2809 {
2810 return TRect<T>((T)value - tr.left, (T)value - tr.top, (T)value - tr.right, (T)value - tr.bottom);
2811 }
2812
2826 friend TRect<T> operator-(int64_t value, const TRect<T>& tr)
2827 {
2828 return TRect<T>((T)value - tr.left, (T)value - tr.top, (T)value - tr.right, (T)value - tr.bottom);
2829 }
2830
2844 friend TRect<T> operator-(float value, const TRect<T>& tr)
2845 {
2846 return TRect<T>((T)value - tr.left, (T)value - tr.top, (T)value - tr.right, (T)value - tr.bottom);
2847 }
2848
2862 friend TRect<T> operator-(double value, const TRect<T>& tr)
2863 {
2864 return TRect<T>((T)value - tr.left, (T)value - tr.top, (T)value - tr.right, (T)value - tr.bottom);
2865 }
2866
2880 friend TRect<T> operator*(int32_t value, const TRect<T>& tr)
2881 {
2882 return TRect<T>((T)value * tr.left, (T)value * tr.top, (T)value * tr.right, (T)value * tr.bottom);
2883 }
2884
2898 friend TRect<T> operator*(int64_t value, const TRect<T>& tr)
2899 {
2900 return TRect<T>((T)value * tr.left, (T)value * tr.top, (T)value * tr.right, (T)value * tr.bottom);
2901 }
2902
2916 friend TRect<T> operator*(float value, const TRect<T>& tr)
2917 {
2918 return TRect<T>((T)value * tr.left, (T)value * tr.top, (T)value * tr.right, (T)value * tr.bottom);
2919 }
2920
2934 friend TRect<T> operator*(double value, const TRect<T>& tr)
2935 {
2936 return TRect<T>((T)value * tr.left, (T)value * tr.top, (T)value * tr.right, (T)value * tr.bottom);
2937 }
2938
2952 friend TRect<T> operator/(int32_t value, const TRect<T>& tr)
2953 {
2954 return TRect<T>((T)value / tr.left, (T)value / tr.top, (T)value / tr.right, (T)value / tr.bottom);
2955 }
2956
2970 friend TRect<T> operator/(int64_t value, const TRect<T>& tr)
2971 {
2972 return TRect<T>((T)value / tr.left, (T)value / tr.top, (T)value / tr.right, (T)value / tr.bottom);
2973 }
2974
2988 friend TRect<T> operator/(float value, const TRect<T>& tr)
2989 {
2990 return TRect<T>((T)value / tr.left, (T)value / tr.top, (T)value / tr.right, (T)value / tr.bottom);
2991 }
2992
3006 friend TRect<T> operator/(double value, const TRect<T>& tr)
3007 {
3008 return TRect<T>((T)value / tr.left, (T)value / tr.top, (T)value / tr.right, (T)value / tr.bottom);
3009 }
3010 };
3011 #pragma pack(pop)
3012
3013 typedef TRect<int8_t> TRectC;
3014 typedef TRect<uint8_t> TRectUC;
3015 typedef TRect<int16_t> TRectS;
3016 typedef TRect<uint16_t> TRectUS;
3017 typedef TRect<int32_t> TRectL;
3018 typedef TRect<uint32_t> TRectUL;
3019 typedef TRect<int64_t> TRectLL;
3020 typedef TRect<uint64_t> TRectULL;
3021 typedef TRect<float> TRectF;
3022 typedef TRect<double> TRectD;
3023 }
3024}
friend TRect< T > operator*(double value, const TRect< T > &tr)
Multiplication operator.
Definition TRect.h:2934
bool operator!=(const TRect< float > &tr)
Inequality operator.
Definition TRect.h:1358
TRect(const TRect< uint16_t > &tr)
Copy constructor.
Definition TRect.h:162
friend TRect< T > operator+(float value, const TRect< T > &tr)
Addition operator.
Definition TRect.h:2772
const TRect< T > & operator*=(int32_t value)
Multiplication assignment operator.
Definition TRect.h:1726
const TRect< T > & operator-=(const TRect< int64_t > &tr)
Subtraction assignment operator.
Definition TRect.h:1663
void Set(const TRect< uint8_t > *pTr)
Sets the rectangle from a TRect pointer.
Definition TRect.h:585
const TRect< T > & operator+=(const TRect< double > &tr)
Addition assignment operator.
Definition TRect.h:1537
TRect(uint16_t left, uint16_t top, uint16_t right, uint16_t bottom)
Constructs a rectangle using the specified coordinates.
Definition TRect.h:407
TRect< T > operator*(double value)
Multiplication operator.
Definition TRect.h:2461
void Set(int64_t left, int64_t top, int64_t right, int64_t bottom)
Sets the rectangle using the specified coordinates.
Definition TRect.h:1018
void Set(const TRect< int32_t > &tr)
Sets the rectangle from another TRect object.
Definition TRect.h:670
const TRect< T > & operator-=(float value)
Subtraction assignment operator.
Definition TRect.h:1600
void Set(int16_t left, int16_t top, int16_t right, int16_t bottom)
Sets the rectangle using the specified coordinates.
Definition TRect.h:926
TRect(const TRect< float > *pTr)
Copy constructor.
Definition TRect.h:305
TRect< T > operator*(const TRect< int32_t > &tr)
Multiplication operator.
Definition TRect.h:2482
friend TRect< T > operator/(float value, const TRect< T > &tr)
Division operator.
Definition TRect.h:2988
TRect< T > operator+(const TRect< float > &tr)
Addition operator.
Definition TRect.h:2188
TRect(const TRect< uint8_t > &tr)
Copy constructor.
Definition TRect.h:110
TRect< T > operator*(const TRect< int64_t > &tr)
Multiplication operator.
Definition TRect.h:2503
void Set(const TRect< int16_t > *pTr)
Sets the rectangle from a TRect pointer.
Definition TRect.h:619
void Set(const TRect< int32_t > *pTr)
Sets the rectangle from a TRect pointer.
Definition TRect.h:687
void Set(const TRect< float > &tr)
Sets the rectangle from another TRect object.
Definition TRect.h:806
const TRect< T > & operator=(float value)
Assignment operator.
Definition TRect.h:1142
void Set(const TRect< float > *pTr)
Sets the rectangle from a TRect pointer.
Definition TRect.h:823
TRect< T > operator+(float value)
Addition operator.
Definition TRect.h:2104
void Set(const TRect< int16_t > &tr)
Sets the rectangle from another TRect object.
Definition TRect.h:602
friend TRect< T > operator*(float value, const TRect< T > &tr)
Multiplication operator.
Definition TRect.h:2916
TRect< T > operator/(int64_t value)
Division operator.
Definition TRect.h:2587
void Set(const TRect< uint32_t > &tr)
Sets the rectangle from another TRect object.
Definition TRect.h:704
TRect< T > operator+(int64_t value)
Addition operator.
Definition TRect.h:2083
const TRect< T > & operator-=(const TRect< double > &tr)
Subtraction assignment operator.
Definition TRect.h:1705
TRect< T > operator/(double value)
Division operator.
Definition TRect.h:2629
bool operator==(const TRect< float > &tr)
Equality operator.
Definition TRect.h:1294
void Set(const TRect< uint16_t > &tr)
Sets the rectangle from another TRect object.
Definition TRect.h:636
TRect< T > operator-(double value)
Subtraction operator.
Definition TRect.h:2293
const TRect< T > & operator*=(const TRect< int64_t > &tr)
Multiplication assignment operator.
Definition TRect.h:1831
TRect(const TRect< int64_t > &tr)
Copy constructor.
Definition TRect.h:240
friend TRect< T > operator+(double value, const TRect< T > &tr)
Addition operator.
Definition TRect.h:2790
bool operator!=(const TRect< int64_t > &tr)
Inequality operator.
Definition TRect.h:1342
friend TRect< T > operator/(int32_t value, const TRect< T > &tr)
Division operator.
Definition TRect.h:2952
void Set(uint16_t left, uint16_t top, uint16_t right, uint16_t bottom)
Sets the rectangle using the specified coordinates.
Definition TRect.h:949
const TRect< T > & operator=(const TRect< int64_t > &tr)
Assignment operator.
Definition TRect.h:1199
TRect< T > operator-(const TRect< int32_t > &tr)
Subtraction operator.
Definition TRect.h:2314
TRect< T > operator/(const TRect< int32_t > &tr)
Division operator.
Definition TRect.h:2650
void Set(const TRect< uint64_t > &tr)
Sets the rectangle from another TRect object.
Definition TRect.h:772
const TRect< T > & operator+=(double value)
Addition assignment operator.
Definition TRect.h:1453
const TRect< T > & operator=(int32_t value)
Assignment operator.
Definition TRect.h:1106
const TRect< T > & operator=(const TRect< int32_t > &tr)
Assignment operator.
Definition TRect.h:1178
TRect(const TRect< double > *pTr)
Copy constructor.
Definition TRect.h:331
const TRect< T > & operator*=(const TRect< float > &tr)
Multiplication assignment operator.
Definition TRect.h:1852
void Set(const TRect< int8_t > *pTr)
Sets the rectangle from a TRect pointer.
Definition TRect.h:551
TRect(int8_t left, int8_t top, int8_t right, int8_t bottom)
Constructs a rectangle using the specified coordinates.
Definition TRect.h:350
bool operator==(const TRect< double > &tr)
Equality operator.
Definition TRect.h:1310
TRect(const TRect< uint32_t > *pTr)
Copy constructor.
Definition TRect.h:227
TRect< T > operator-(int64_t value)
Subtraction operator.
Definition TRect.h:2251
TRect< T > operator-(const TRect< int64_t > &tr)
Subtraction operator.
Definition TRect.h:2335
const TRect< T > & operator+=(const TRect< float > &tr)
Addition assignment operator.
Definition TRect.h:1516
const TRect< T > & operator/=(double value)
Division assignment operator.
Definition TRect.h:1957
const TRect< T > & operator/=(int64_t value)
Division assignment operator.
Definition TRect.h:1915
TRect(const TRect< int32_t > *pTr)
Copy constructor.
Definition TRect.h:201
friend TRect< T > operator-(int32_t value, const TRect< T > &tr)
Subtraction operator.
Definition TRect.h:2808
TRect< T > operator+(const TRect< double > &tr)
Addition operator.
Definition TRect.h:2209
bool operator!=(const TRect< double > &tr)
Inequality operator.
Definition TRect.h:1374
TRect(const TRect< uint64_t > *pTr)
Copy constructor.
Definition TRect.h:279
void Set(const TRect< int64_t > *pTr)
Sets the rectangle from a TRect pointer.
Definition TRect.h:755
TRect(const TRect< int8_t > &tr)
Copy constructor.
Definition TRect.h:84
const TRect< T > & operator/=(const TRect< double > &tr)
Division assignment operator.
Definition TRect.h:2041
friend TRect< T > operator*(int64_t value, const TRect< T > &tr)
Multiplication operator.
Definition TRect.h:2898
const TRect< T > & operator-=(double value)
Subtraction assignment operator.
Definition TRect.h:1621
friend TRect< T > operator*(int32_t value, const TRect< T > &tr)
Multiplication operator.
Definition TRect.h:2880
const TRect< T > & operator=(int64_t value)
Assignment operator.
Definition TRect.h:1124
TRect(const TRect< uint32_t > &tr)
Copy constructor.
Definition TRect.h:214
void Set(const TRect< uint32_t > *pTr)
Sets the rectangle from a TRect pointer.
Definition TRect.h:721
TRect< T > operator/(const TRect< double > &tr)
Division operator.
Definition TRect.h:2713
TRect< T > operator-(const TRect< double > &tr)
Subtraction operator.
Definition TRect.h:2377
TRect(const TRect< double > &tr)
Copy constructor.
Definition TRect.h:318
TRect(const TRect< float > &tr)
Copy constructor.
Definition TRect.h:292
friend TRect< T > operator/(int64_t value, const TRect< T > &tr)
Division operator.
Definition TRect.h:2970
void Set(uint64_t left, uint64_t top, uint64_t right, uint64_t bottom)
Sets the rectangle using the specified coordinates.
Definition TRect.h:1041
const TRect< T > & operator+=(int64_t value)
Addition assignment operator.
Definition TRect.h:1411
TRect(uint64_t left, uint64_t top, uint64_t right, uint64_t bottom)
Constructs a rectangle using the specified coordinates.
Definition TRect.h:483
TRect< T > operator+(const TRect< int64_t > &tr)
Addition operator.
Definition TRect.h:2167
int8_t bottom
Definition TRect.h:61
const TRect< T > & operator*=(const TRect< double > &tr)
Multiplication assignment operator.
Definition TRect.h:1873
int8_t right
Definition TRect.h:55
TRect< T > operator/(float value)
Division operator.
Definition TRect.h:2608
void Set(uint8_t left, uint8_t top, uint8_t right, uint8_t bottom)
Sets the rectangle using the specified coordinates.
Definition TRect.h:903
friend TRect< T > operator-(float value, const TRect< T > &tr)
Subtraction operator.
Definition TRect.h:2844
int8_t left
Definition TRect.h:43
const TRect< T > & operator*=(float value)
Multiplication assignment operator.
Definition TRect.h:1768
void Set(int8_t left, int8_t top, int8_t right, int8_t bottom)
Sets the rectangle using the specified coordinates.
Definition TRect.h:880
const TRect< T > & operator=(const TRect< float > &tr)
Assignment operator.
Definition TRect.h:1220
TRect< T > operator+(double value)
Addition operator.
Definition TRect.h:2125
bool operator==(const TRect< int32_t > &tr)
Equality operator.
Definition TRect.h:1262
void Set(const TRect< int8_t > &tr)
Sets the rectangle from another TRect object.
Definition TRect.h:534
TRect(int32_t left, int32_t top, int32_t right, int32_t bottom)
Constructs a rectangle using the specified coordinates.
Definition TRect.h:426
TRect(int16_t left, int16_t top, int16_t right, int16_t bottom)
Constructs a rectangle using the specified coordinates.
Definition TRect.h:388
void Set(double left, double top, double right, double bottom)
Sets the rectangle using the specified coordinates.
Definition TRect.h:1087
TRect(const TRect< int32_t > &tr)
Copy constructor.
Definition TRect.h:188
TRect< T > operator/(int32_t value)
Division operator.
Definition TRect.h:2566
const TRect< T > & operator*=(const TRect< int32_t > &tr)
Multiplication assignment operator.
Definition TRect.h:1810
TRect(const TRect< int16_t > *pTr)
Copy constructor.
Definition TRect.h:149
TRect< T > operator+(const TRect< int32_t > &tr)
Addition operator.
Definition TRect.h:2146
TRect(uint32_t left, uint32_t top, uint32_t right, uint32_t bottom)
Constructs a rectangle using the specified coordinates.
Definition TRect.h:445
const TRect< T > & operator+=(float value)
Addition assignment operator.
Definition TRect.h:1432
const TRect< T > & operator-=(const TRect< int32_t > &tr)
Subtraction assignment operator.
Definition TRect.h:1642
TRect(uint8_t left, uint8_t top, uint8_t right, uint8_t bottom)
Constructs a rectangle using the specified coordinates.
Definition TRect.h:369
void Set(const TRect< uint8_t > &tr)
Sets the rectangle from another TRect object.
Definition TRect.h:568
TRect< T > operator/(const TRect< int64_t > &tr)
Division operator.
Definition TRect.h:2671
void Set(float left, float top, float right, float bottom)
Sets the rectangle using the specified coordinates.
Definition TRect.h:1064
const TRect< T > & operator/=(const TRect< int64_t > &tr)
Division assignment operator.
Definition TRect.h:1999
const TRect< T > & operator/=(const TRect< float > &tr)
Division assignment operator.
Definition TRect.h:2020
bool operator!=(const TRect< int32_t > &tr)
Inequality operator.
Definition TRect.h:1326
void Set(const TRect< uint64_t > *pTr)
Sets the rectangle from a TRect pointer.
Definition TRect.h:789
TRect()
Default constructor.
Definition TRect.h:71
TRect(const TRect< int64_t > *pTr)
Copy constructor.
Definition TRect.h:253
TRect< T > operator/(const TRect< float > &tr)
Division operator.
Definition TRect.h:2692
void Set(const TRect< double > *pTr)
Sets the rectangle from a TRect pointer.
Definition TRect.h:857
friend TRect< T > operator/(double value, const TRect< T > &tr)
Division operator.
Definition TRect.h:3006
void Set(const TRect< int64_t > &tr)
Sets the rectangle from another TRect object.
Definition TRect.h:738
TRect< T > operator*(const TRect< float > &tr)
Multiplication operator.
Definition TRect.h:2524
friend TRect< T > operator+(int32_t value, const TRect< T > &tr)
Addition operator.
Definition TRect.h:2736
const TRect< T > & operator-=(int64_t value)
Subtraction assignment operator.
Definition TRect.h:1579
TRect< T > operator-(int32_t value)
Subtraction operator.
Definition TRect.h:2230
bool operator==(const TRect< int64_t > &tr)
Equality operator.
Definition TRect.h:1278
const TRect< T > & operator=(const TRect< double > &tr)
Assignment operator.
Definition TRect.h:1241
const TRect< T > & operator=(double value)
Assignment operator.
Definition TRect.h:1160
const TRect< T > & operator*=(double value)
Multiplication assignment operator.
Definition TRect.h:1789
TRect< T > operator*(const TRect< double > &tr)
Multiplication operator.
Definition TRect.h:2545
void Set(const TRect< double > &tr)
Sets the rectangle from another TRect object.
Definition TRect.h:840
const TRect< T > & operator/=(const TRect< int32_t > &tr)
Division assignment operator.
Definition TRect.h:1978
const TRect< T > & operator+=(int32_t value)
Addition assignment operator.
Definition TRect.h:1390
const TRect< T > & operator+=(const TRect< int32_t > &tr)
Addition assignment operator.
Definition TRect.h:1474
TRect(double left, double top, double right, double bottom)
Constructs a rectangle using the specified coordinates.
Definition TRect.h:521
TRect< T > operator-(const TRect< float > &tr)
Subtraction operator.
Definition TRect.h:2356
void Set(const TRect< uint16_t > *pTr)
Sets the rectangle from a TRect pointer.
Definition TRect.h:653
const TRect< T > & operator/=(float value)
Division assignment operator.
Definition TRect.h:1936
friend TRect< T > operator+(int64_t value, const TRect< T > &tr)
Addition operator.
Definition TRect.h:2754
const TRect< T > & operator/=(int32_t value)
Division assignment operator.
Definition TRect.h:1894
const TRect< T > & operator-=(const TRect< float > &tr)
Subtraction assignment operator.
Definition TRect.h:1684
friend TRect< T > operator-(double value, const TRect< T > &tr)
Subtraction operator.
Definition TRect.h:2862
TRect(const TRect< int16_t > &tr)
Copy constructor.
Definition TRect.h:136
TRect(const TRect< uint8_t > *pTr)
Copy constructor.
Definition TRect.h:123
TRect(const TRect< uint64_t > &tr)
Copy constructor.
Definition TRect.h:266
friend TRect< T > operator-(int64_t value, const TRect< T > &tr)
Subtraction operator.
Definition TRect.h:2826
TRect(int64_t left, int64_t top, int64_t right, int64_t bottom)
Constructs a rectangle using the specified coordinates.
Definition TRect.h:464
TRect(float left, float top, float right, float bottom)
Constructs a rectangle using the specified coordinates.
Definition TRect.h:502
const TRect< T > & operator+=(const TRect< int64_t > &tr)
Addition assignment operator.
Definition TRect.h:1495
TRect< T > operator*(float value)
Multiplication operator.
Definition TRect.h:2440
TRect(const TRect< uint16_t > *pTr)
Copy constructor.
Definition TRect.h:175
int8_t top
Definition TRect.h:49
TRect< T > operator+(int32_t value)
Addition operator.
Definition TRect.h:2062
const TRect< T > & operator*=(int64_t value)
Multiplication assignment operator.
Definition TRect.h:1747
TRect< T > operator-(float value)
Subtraction operator.
Definition TRect.h:2272
void Set(int32_t left, int32_t top, int32_t right, int32_t bottom)
Sets the rectangle using the specified coordinates.
Definition TRect.h:972
TRect(const TRect< int8_t > *pTr)
Copy constructor.
Definition TRect.h:97
TRect< T > operator*(int32_t value)
Multiplication operator.
Definition TRect.h:2398
void Set(uint32_t left, uint32_t top, uint32_t right, uint32_t bottom)
Sets the rectangle using the specified coordinates.
Definition TRect.h:995
const TRect< T > & operator-=(int32_t value)
Subtraction assignment operator.
Definition TRect.h:1558
TRect< T > operator*(int64_t value)
Multiplication operator.
Definition TRect.h:2419
Definition AESCryptography.h:18