aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/IntegerRectangle.h
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2018-05-01 14:14:45 +1000
committerNeil <nyamatongwe@gmail.com>2018-05-01 14:14:45 +1000
commit3de73c8508e74834a38f63f5c4584f1fb2012b52 (patch)
tree9fa739b8d3f2d1a365f923d975f7bf06ff3526bb /src/IntegerRectangle.h
parent30808d18f64c63db954cf4b72a879608f0266bd1 (diff)
downloadscintilla-mirror-3de73c8508e74834a38f63f5c4584f1fb2012b52.tar.gz
Backport: Add IntegerRectangle to simplify drawing lines without casting.
Backport of changeset 6773:9a027c16f8c3.
Diffstat (limited to 'src/IntegerRectangle.h')
-rw-r--r--src/IntegerRectangle.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/IntegerRectangle.h b/src/IntegerRectangle.h
new file mode 100644
index 000000000..4eaf39c43
--- /dev/null
+++ b/src/IntegerRectangle.h
@@ -0,0 +1,29 @@
+// Scintilla source code edit control
+/** @file IntegerRectangle.h
+ ** A rectangle with integer coordinates.
+ **/
+// Copyright 2018 by Neil Hodgson <neilh@scintilla.org>
+// The License.txt file describes the conditions under which this software may be distributed.
+
+#ifndef INTEGERRECTANGLE_H
+#define INTEGERRECTANGLE_H
+
+namespace Scintilla {
+
+struct IntegerRectangle {
+ int left;
+ int top;
+ int right;
+ int bottom;
+
+ explicit IntegerRectangle(PRectangle rc) noexcept :
+ left(static_cast<int>(rc.left)), top(static_cast<int>(rc.top)),
+ right(static_cast<int>(rc.right)), bottom(static_cast<int>(rc.bottom)) {
+ }
+ int Width() const noexcept { return right - left; }
+ int Height() const noexcept { return bottom - top; }
+};
+
+}
+
+#endif