Make the new hscroller work properly

This commit is contained in:
Chris Young 2014-10-26 16:42:00 +00:00
parent 80b195cdd5
commit 340d74ae4f

View File

@ -3840,7 +3840,6 @@ gui_window_create(struct browser_window *bw,
IDCMP_RAWKEY | IDCMP_REFRESHWINDOW | IDCMP_RAWKEY | IDCMP_REFRESHWINDOW |
IDCMP_GADGETUP | IDCMP_IDCMPUPDATE | IDCMP_GADGETUP | IDCMP_IDCMPUPDATE |
IDCMP_EXTENDEDMOUSE, IDCMP_EXTENDEDMOUSE,
WINDOW_HorizProp,1,
WINDOW_IDCMPHook,&g->shared->scrollerhook, WINDOW_IDCMPHook,&g->shared->scrollerhook,
WINDOW_IDCMPHookBits, IDCMP_IDCMPUPDATE | WINDOW_IDCMPHookBits, IDCMP_IDCMPUPDATE |
IDCMP_EXTENDEDMOUSE | IDCMP_REFRESHWINDOW, IDCMP_EXTENDEDMOUSE | IDCMP_REFRESHWINDOW,
@ -3977,12 +3976,12 @@ static void ami_set_border_gadget_balance(struct gui_window_2 *gwin)
sz = ami_get_border_gadget_balance(gwin, &size1, &size2); sz = ami_get_border_gadget_balance(gwin, &size1, &size2);
RefreshSetGadgetAttrs((struct Gadget *)(APTR)gwin->objects[GID_HSCROLL], /* RefreshSetGadgetAttrs((struct Gadget *)(APTR)gwin->objects[GID_HSCROLL],
gwin->win, NULL, gwin->win, NULL,
GA_RelRight, - size2 - sz, GA_RelRight, - size2 - sz,
GA_Width, size2, GA_Width, size2,
TAG_DONE); TAG_DONE);
*/
RefreshSetGadgetAttrs((struct Gadget *)(APTR)gwin->objects[GID_STATUS], RefreshSetGadgetAttrs((struct Gadget *)(APTR)gwin->objects[GID_STATUS],
gwin->win, NULL, gwin->win, NULL,
GA_Width, size1, GA_Width, size1,
@ -4655,11 +4654,9 @@ void ami_get_hscroll_pos(struct gui_window_2 *gwin, ULONG *xs)
{ {
if(gwin->objects[GID_HSCROLL]) if(gwin->objects[GID_HSCROLL])
{ {
GetAttr(PGA_Top, (Object *)gwin->objects[GID_HSCROLL], xs); GetAttr(SCROLLER_Top, (Object *)gwin->objects[GID_HSCROLL], xs);
} } else {
else if(gwin->objects[OID_HSCROLL]) *xs = 0;
{
GetAttr(SCROLLER_Top, gwin->objects[OID_HSCROLL], xs);
} }
*xs /= gwin->bw->scale; *xs /= gwin->bw->scale;
@ -4721,17 +4718,11 @@ static void gui_window_set_scroll(struct gui_window *g, int sx, int sy)
if(g->shared->objects[GID_HSCROLL]) if(g->shared->objects[GID_HSCROLL])
{ {
RefreshSetGadgetAttrs((struct Gadget *)(APTR)g->shared->objects[GID_HSCROLL], RefreshSetGadgetAttrs((struct Gadget *)(APTR)g->shared->objects[GID_HSCROLL],
g->shared->win, NULL,
PGA_Top, (ULONG)(sx * g->shared->bw->scale),
TAG_DONE);
}
else if(g->shared->objects[OID_HSCROLL])
{
RefreshSetGadgetAttrs((struct Gadget *)(APTR)g->shared->objects[OID_HSCROLL],
g->shared->win, NULL, g->shared->win, NULL,
SCROLLER_Top, (ULONG)(sx * g->shared->bw->scale), SCROLLER_Top, (ULONG)(sx * g->shared->bw->scale),
TAG_DONE); TAG_DONE);
} }
ami_schedule_redraw(g->shared, true); ami_schedule_redraw(g->shared, true);
if(nsoption_bool(faster_scroll) == true) g->shared->redraw_scroll = true; if(nsoption_bool(faster_scroll) == true) g->shared->redraw_scroll = true;
@ -4771,14 +4762,6 @@ static void gui_window_update_extent(struct gui_window *g)
if(g->shared->objects[GID_HSCROLL]) if(g->shared->objects[GID_HSCROLL])
{ {
RefreshSetGadgetAttrs((struct Gadget *)(APTR)g->shared->objects[GID_HSCROLL], RefreshSetGadgetAttrs((struct Gadget *)(APTR)g->shared->objects[GID_HSCROLL],
g->shared->win, NULL,
PGA_Total, (ULONG)(content_get_width(g->shared->bw->current_content) * g->shared->bw->scale),
PGA_Visible, bbox->Width,
TAG_DONE);
}
else if(g->shared->objects[OID_HSCROLL])
{
RefreshSetGadgetAttrs((struct Gadget *)(APTR)g->shared->objects[OID_HSCROLL],
g->shared->win, NULL, g->shared->win, NULL,
SCROLLER_Total, (ULONG)(content_get_width(g->shared->bw->current_content) * g->shared->bw->scale), SCROLLER_Total, (ULONG)(content_get_width(g->shared->bw->current_content) * g->shared->bw->scale),
SCROLLER_Visible, bbox->Width, SCROLLER_Visible, bbox->Width,
@ -5022,7 +5005,6 @@ void ami_scroller_hook(struct Hook *hook,Object *object,struct IntuiMessage *msg
switch( gid ) switch( gid )
{ {
case GID_HSCROLL: case GID_HSCROLL:
case OID_HSCROLL:
case GID_VSCROLL: case GID_VSCROLL:
if(nsoption_bool(faster_scroll) == true) gwin->redraw_scroll = true; if(nsoption_bool(faster_scroll) == true) gwin->redraw_scroll = true;
else gwin->redraw_scroll = false; else gwin->redraw_scroll = false;