summaryrefslogtreecommitdiff
path: root/prev/popover/popover.h
blob: 28220e4b956cb4bd10c63ab656dadd4325303003 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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);