home · contact · privacy
Make resize_active_win use yx_uint16 for coordinates instead of two separate ints.
authorChristian Heller <c.heller@plomlompom.de>
Thu, 27 Jun 2013 23:01:19 +0000 (01:01 +0200)
committerChristian Heller <c.heller@plomlompom.de>
Thu, 27 Jun 2013 23:01:19 +0000 (01:01 +0200)
src/roguelike.c
src/windows.c
src/windows.h

index 7bcaf927d7d7b86d39cf47be6a8707bee73343ff..0d1e96b60966338f4b5e7bba283cd4e64d49334d 100644 (file)
@@ -110,17 +110,12 @@ void scroll_pad (struct WinMeta * win_meta, char dir) {
 void growshrink_active_window (struct WinMeta * win_meta, char change) {
 // Grow or shrink active window horizontally or vertically by one cell size.
   if (0 != win_meta->active) {
-    uint16_t height = win_meta->active->frame.size.y;
-    uint16_t width = win_meta->active->frame.size.x;
-    if      (change == '-')
-      height--;
-    else if (change == '+')
-      height++;
-    else if (change == '_')
-      width--;
-    else if (change == '*')
-      width++;
-    resize_active_win (win_meta, height, width); } }
+    struct yx_uint16 size = win_meta->active->frame.size;
+    if      (change == '-') size.y--;
+    else if (change == '+') size.y++;
+    else if (change == '_') size.x--;
+    else if (change == '*') size.x++;
+    resize_active_win (win_meta, size); } }
 
 unsigned char meta_keys(int key, struct World * world, struct WinMeta * win_meta, struct Win * win_keys,
                         struct Win * win_map, struct Win * win_info, struct Win * win_log) {
index 6089781825fe89b6294b2d602946ec561b0673a2..181247caf619a682cae2ec44e64bb6457d453c3f 100644 (file)
@@ -237,11 +237,10 @@ extern void draw_all_wins (struct WinMeta * wmeta) {
     pnoutrefresh(wmeta->pad.curses_win, 0, wmeta->pad_offset, 0, 0, wmeta->pad.size.y, wmeta->pad.size.x-1); }
   doupdate(); }
 
-extern void resize_active_win (struct WinMeta * wmeta, uint16_t height, uint16_t width) {
+extern void resize_active_win (struct WinMeta * wmeta, struct yx_uint16 size) {
 // Grow or shrink currently active window. Correct its geometry and that of its followers.
-  if (0 != wmeta->active && width > 0 && height > 0 && height < wmeta->pad.size.y) {
-    wmeta->active->frame.size.y = height;
-    wmeta->active->frame.size.x = width;
+  if (0 != wmeta->active && size.x > 0 && size.y > 0 && size.y < wmeta->pad.size.y) {
+    wmeta->active->frame.size = size;
     update_wins(wmeta, wmeta->chain_start); } }
 
 extern void cycle_active_win (struct WinMeta * wmeta, char dir) {
index 9391233dc8dfc3ad4111298cc6a39b2fb785285e..7714c6cfa29050390dd4953f29fe9f6bbf0d575a 100644 (file)
@@ -32,7 +32,7 @@ extern void append_win (struct WinMeta *, struct Win *);
 extern void suspend_win (struct WinMeta *, struct Win *);
 extern void draw_scroll_hint (struct Frame *, uint16_t, uint32_t, char);
 extern void draw_all_wins (struct WinMeta *);
-extern void resize_active_win (struct WinMeta *, uint16_t, uint16_t);
+extern void resize_active_win (struct WinMeta *, struct yx_uint16);
 extern void cycle_active_win (struct WinMeta *, char);
 extern void shift_active_win (struct WinMeta *, char);
 extern void reset_pad_offset (struct WinMeta *, uint16_t);