andlabs-ui/popover/popover.h

31 lines
682 B
C

// 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);