rnd-20060723-2-src
authorHolger Schemel <info@artsoft.org>
Sun, 23 Jul 2006 01:00:42 +0000 (03:00 +0200)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:52:18 +0000 (10:52 +0200)
* changed scrollbars to always show last line as first after scrolling
  (that means jumping n - 1 screen lines instead of n screen lines)

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

index 9f0350b4e507d866ca45cec919def31bb5ae2753..83237984b9c48147ba17cfc569e4b9ed19fae4c4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2006-07-23
+       * changed scrollbars to always show last line as first after scrolling
+         (that means jumping n - 1 screen lines instead of n screen lines)
+
 2006-07-22
        * fixed level versions of EMC level loader (from V4 to V1, V2 and V3)
        * fixed level time for EMC levels for V2 engine (V2 and V5 levels)
index 68c52e8db5627a44aa41b0c195afda3225163830..2b8cf3d42ceb09ea6107174e27e51f3357d05864 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "[2006-07-23 01:12]"
+#define COMPILE_DATE_STRING "[2006-07-23 01:22]"
index ede8cfc7f54cad4888b0209ef96a99db72a93f24..fc723cf9bf5a83840a5351f5f76c44bf696fdc75 100644 (file)
@@ -1687,11 +1687,12 @@ boolean HandleGadgets(int mx, int my, int button)
 
        struct GadgetScrollbar *gs = &gi->scrollbar;
        int old_item_position = gs->item_position;
+       int item_steps = gs->items_visible - 1;
+       int item_direction = (mpos < gpos + gi->scrollbar.position ? -1 : +1);
 
        changed_position = FALSE;
 
-       gs->item_position +=
-         gs->items_visible * (mpos < gpos + gi->scrollbar.position ? -1 : +1);
+       gs->item_position += item_steps * item_direction;
 
        if (gs->item_position < 0)
          gs->item_position = 0;