summaryrefslogtreecommitdiff
path: root/windowspopover/popover.h
diff options
context:
space:
mode:
authorPietro Gagliardi <[email protected]>2014-10-11 10:47:12 -0400
committerPietro Gagliardi <[email protected]>2014-10-11 10:47:12 -0400
commitcd265df14e9c009c745dfd0eebf6048f84ad7128 (patch)
tree2260fba548983f27a65998f35e4327a1190a8b4c /windowspopover/popover.h
parent1b499d83057d65cbc1b3ce6767bbaecec1d484b3 (diff)
Started splitting out the Popover platform-independent code.
Diffstat (limited to 'windowspopover/popover.h')
-rw-r--r--windowspopover/popover.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/windowspopover/popover.h b/windowspopover/popover.h
new file mode 100644
index 0000000..d7a8270
--- /dev/null
+++ b/windowspopover/popover.h
@@ -0,0 +1,30 @@
+// 11 october 2014
+
+typedef struct popover popover;
+typedef struct popoverPoint popoverPoint;
+typedef struct popoverRect popoverRect;
+
+struct popoverPoint {
+ intptr_t x;
+ intptr_t y;
+};
+
+struct popoverRect {
+ intptr_t left;
+ intptr_t top;
+ intptr_t right;
+ intptr_t bottom;
+};
+
+// note the order: flipping sides is as easy as side ^ 1
+enum {
+ popoverPointLeft,
+ popoverPointRight,
+ popoverPointTop,
+ popoverPointBottom,
+}
+
+popover *popoverDataNew(void *);
+int popoverMakeFramePoints(popover *, intptr_t, intptr_t, popoverPoint[20]);
+void popoverWindowSizeToClientSize(popover *, popoverRect *);
+popoverRect popoverPointAt(popover *, popoverRect, intptr_t, intptr_t, unsigned int);