rnd-20060726-4-src
authorHolger Schemel <info@artsoft.org>
Wed, 26 Jul 2006 16:15:09 +0000 (18:15 +0200)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:52:23 +0000 (10:52 +0200)
* added support for scrolling horizontal scrollbars with mouse wheel by
  holding "Ctrl" button pressed while scrolling the wheel

ChangeLog
src/conftime.h
src/editor.c
src/libgame/gadgets.c

index 97829c986754596d4230aa9f859d4b3784f5447f..08579aa295915d90bf1552506e6c9debadd582ab 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,8 @@
        * improved level number selection in main menu and player selection in
          setup menu (input devices section) by using standard button gadgets
        * added support for mouse scroll wheel (caused buggy behaviour before)
+       * added support for scrolling horizontal scrollbars with mouse wheel by
+         holding "Ctrl" button pressed while scrolling the wheel
 
 2006-07-25
        * improved general scrollbar handling (when jump-scrolling scrollbars)
index d7774c422b2da9a45d6c9781b49011d0528e72fc..45b374e40d47af9ef84bbaa670ac2eb66d421f0d 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "[2006-07-26 16:18]"
+#define COMPILE_DATE_STRING "[2006-07-26 18:08]"
index ec594406f6befe8b0f4407555e682c8a3a738da4..cee0cd43918f6df4893d245f1a354154fcab4acd 100644 (file)
@@ -2413,8 +2413,8 @@ static struct
     ED_SCROLLBAR_XPOS,                 ED_SCROLLBAR_YPOS,
     SX + ED_SCROLL_HORIZONTAL_XPOS,    SY + ED_SCROLL_HORIZONTAL_YPOS,
     ED_SCROLL_HORIZONTAL_XSIZE,                ED_SCROLL_HORIZONTAL_YSIZE,
-    -1,                                        -1,
-    -1,                                        -1,
+    0,                                 0,
+    SX + SXSIZE + SX,                  WIN_YSIZE,
     GD_TYPE_SCROLLBAR_HORIZONTAL,
     GADGET_ID_SCROLL_HORIZONTAL,
     "scroll level editing area horizontally"
index e939f865a5ace5063ea78374a2b0b69c657c5758..b01fe169245ebb414aa3122a1867bf410854076f 100644 (file)
@@ -73,11 +73,14 @@ static struct GadgetInfo *getGadgetInfoFromMousePosition(int mx, int my,
   /* first check for scrollbars in case of mouse scroll wheel button events */
   if (button == 4 || button == 5)
   {
+    boolean check_horizontal = (GetKeyModState() & KMOD_Control);
+
     /* check for the first active scrollbar with matching mouse wheel area */
     for (gi = gadget_list_first_entry; gi != NULL; gi = gi->next)
     {
       if (gi->mapped && gi->active &&
-         gi->type & GD_TYPE_SCROLLBAR &&
+         ((gi->type & GD_TYPE_SCROLLBAR_HORIZONTAL && check_horizontal) ||
+          (gi->type & GD_TYPE_SCROLLBAR_VERTICAL && !check_horizontal)) &&
          mx >= gi->wheelarea.x && mx < gi->wheelarea.x + gi->wheelarea.width &&
          my >= gi->wheelarea.y && my < gi->wheelarea.y + gi->wheelarea.height)
        return gi;