From f8e3f12ab02b528f2a05a4f713d7af7ea8e44b42 Mon Sep 17 00:00:00 2001 From: Pietro Gagliardi Date: Fri, 11 Dec 2015 20:37:59 -0500 Subject: LET'S GET THIS FINAL REWRITE EVER STARTED --- prev/wintable/hscroll.h | 52 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 prev/wintable/hscroll.h (limited to 'prev/wintable/hscroll.h') diff --git a/prev/wintable/hscroll.h b/prev/wintable/hscroll.h new file mode 100644 index 0000000..1560490 --- /dev/null +++ b/prev/wintable/hscroll.h @@ -0,0 +1,52 @@ +// 9 december 2014 + +// forward declaration needed here +static void repositionHeader(struct table *); + +static struct scrollParams hscrollParams(struct table *t) +{ + struct scrollParams p; + + ZeroMemory(&p, sizeof (struct scrollParams)); + p.pos = &(t->hscrollpos); + p.pagesize = t->hpagesize; + p.length = t->width; + p.scale = 1; + p.post = repositionHeader; + p.wheelCarry = &(t->hwheelCarry); + return p; +} + +static void hscrollto(struct table *t, intptr_t pos) +{ + struct scrollParams p; + + p = hscrollParams(t); + scrollto(t, SB_HORZ, &p, pos); +} + +static void hscrollby(struct table *t, intptr_t delta) +{ + struct scrollParams p; + + p = hscrollParams(t); + scrollby(t, SB_HORZ, &p, delta); +} + +static void hscroll(struct table *t, WPARAM wParam, LPARAM lParam) +{ + struct scrollParams p; + + p = hscrollParams(t); + scroll(t, SB_HORZ, &p, wParam, lParam); +} + +// TODO find out if we can indicriminately check for WM_WHEELHSCROLL +HANDLER(hscrollHandler) +{ + if (uMsg != WM_HSCROLL) + return FALSE; + hscroll(t, wParam, lParam); + *lResult = 0; + return TRUE; +} -- cgit v1.2.3