Added uiAreaHandler.DragBroken() and implemented it on Windows.

This commit is contained in:
Pietro Gagliardi 2015-09-11 22:59:59 -04:00
parent 0560d14a52
commit bc5c6dac58
7 changed files with 22 additions and 1 deletions

View File

@ -118,6 +118,11 @@ static void handlerMouseEvent(uiAreaHandler *a, uiArea *area, uiAreaMouseEvent *
e->Held1To64);
}
static void handlerDragBroken(uiAreaHandler *ah, uiArea *a)
{
printf("drag broken\n");
}
static void recalcScroll(GtkSpinButton *sb, gpointer data)
{
areaUpdateScroll(area);
@ -145,6 +150,7 @@ int main(void)
h.ah.VScrollMax = handlerVScrollMax;
h.ah.RedrawOnResize = handlerRedrawOnResize;
h.ah.MouseEvent = handlerMouseEvent;
h.ah.DragBroken = handlerDragBroken;
gtk_init(NULL, NULL);

View File

@ -13,6 +13,7 @@ struct uiAreaHandler {
uintmax_t (*VScrollMax)(uiAreaHandler *, uiArea *);
int (*RedrawOnResize)(uiAreaHandler *, uiArea *);
void (*MouseEvent)(uiAreaHandler *, uiArea *, uiAreaMouseEvent *);
void (*DragBroken)(uiAreaHandler *, uiArea *);
};
struct uiAreaDrawParams {

View File

@ -124,6 +124,11 @@ static void handlerMouseEvent(uiAreaHandler *a, uiArea *area, uiAreaMouseEvent *
e->Held1To64);
}
static void handlerDragBroken(uiAreaHandler *ah, uiArea *a)
{
printf("drag broken\n");
}
// areaUpdateScroll(area);
@interface appDelegate : NSObject<NSApplicationDelegate, NSTextFieldDelegate>
@ -183,6 +188,7 @@ int main(void)
h.ah.VScrollMax = handlerVScrollMax;
h.ah.RedrawOnResize = handlerRedrawOnResize;
h.ah.MouseEvent = handlerMouseEvent;
h.ah.DragBroken = handlerDragBroken;
app = [NSApplication sharedApplication];
[app setActivationPolicy:NSApplicationActivationPolicyRegular];

View File

@ -13,6 +13,7 @@ struct uiAreaHandler {
uintmax_t (*VScrollMax)(uiAreaHandler *, uiArea *);
int (*RedrawOnResize)(uiAreaHandler *, uiArea *);
void (*MouseEvent)(uiAreaHandler *, uiArea *, uiAreaMouseEvent *);
void (*DragBroken)(uiAreaHandler *, uiArea *);
};
struct uiAreaDrawParams {

View File

@ -425,7 +425,7 @@ static LRESULT CALLBACK areaWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM
case WM_CAPTURECHANGED:
if (a->capturing) {
a->capturing = FALSE;
// TODO raise DragBroken()
(*(a->ah->DragBroken))(a->ah, a);
}
return 0;
}

View File

@ -124,6 +124,11 @@ static void handlerMouseEvent(uiAreaHandler *a, uiArea *area, uiAreaMouseEvent *
e->Held1To64);
}
static void handlerDragBroken(uiAreaHandler *ah, uiArea *a)
{
printf("drag broken\n");
}
static void repos(HWND hwnd)
{
RECT r;
@ -176,6 +181,7 @@ int main(void)
h.ah.VScrollMax = handlerVScrollMax;
h.ah.RedrawOnResize = handlerRedrawOnResize;
h.ah.MouseEvent = handlerMouseEvent;
h.ah.DragBroken = handlerDragBroken;
registerAreaClass();

View File

@ -13,6 +13,7 @@ struct uiAreaHandler {
uintmax_t (*VScrollMax)(uiAreaHandler *, uiArea *);
int (*RedrawOnResize)(uiAreaHandler *, uiArea *);
void (*MouseEvent)(uiAreaHandler *, uiArea *, uiAreaMouseEvent *);
void (*DragBroken)(uiAreaHandler *, uiArea *);
};
struct uiAreaDrawParams {