X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=src%2Fwindows.c;h=6257d4bf39b75107f3129d443d3bcc0dde84f657;hb=385ac8287af0e5e5b5ab0539b47cda9b8dcbec58;hp=34e47695891c4126550dc4ec8d917db5bc5b9659;hpb=4ff506bdbf32df68e94b88974ee46731fe87a268;p=plomrogue diff --git a/src/windows.c b/src/windows.c index 34e4769..6257d4b 100644 --- a/src/windows.c +++ b/src/windows.c @@ -27,7 +27,7 @@ static void place_win(struct WinMeta * wmeta, struct Win * w); -/* Destroy window "w"'s ncurses window (and set w.Frame.curses_win to 0). */ +/* Destroy window "w"'s ncurses WINDOW (and set w.Frame.curses_win to 0). */ static void destroy_win(struct Win * w); @@ -40,13 +40,13 @@ static void draw_wins(struct Win * w); /* draw_win_borderlines() draws the vertical and horizontal borders of window * "w" sans corners into the virtual screen "pad", and draws the top border * line as the windows' title bar (highlighted if the window is described - * active by "active" being set). draw_wins_borderlines(). + * active by "active" being == 1). * * draw_wins_borderlines() calls draw_win_borderlines() recursively on all * windows from "w" on. "w_active" is a pointer to the one window that * draw_win_borderlines() is supposed to handle as the active window. * - * Finally, draw_wins_bordercorners draws into "pad" the borders of window "w" + * Finally, draw_wins_bordercorners() draws into "pad" the borders of window "w" * and all its successors. */ static void draw_win_borderlines(struct Win * w, char active, WINDOW * pad); @@ -81,8 +81,8 @@ static uint8_t refit_pad(struct WinMeta * wmeta) /* Only resize the pad if the rightmost window column has changed. */ if (getmaxx(wmeta->padframe.curses_win) != lastwincol) { - if (lastwincol + 2 > UINT16_MAX) /* Abort if pad would grow beyond */ - { /* yx_uint16 confines. */ + if (lastwincol + 2 > UINT16_MAX) + { return 2; } return (ERR == wresize(wmeta->padframe.curses_win, @@ -365,23 +365,23 @@ static void shift_win_backward(struct WinMeta * wmeta) extern uint8_t init_win_meta(WINDOW * screen, struct WinMeta * wmeta) { wmeta->_screen = screen; - wmeta->padframe.size.y = getmaxy(screen); - wmeta->padframe.size.x = getmaxx(screen); - if ( wmeta->padframe.size.y > UINT16_MAX - || wmeta->padframe.size.x > UINT16_MAX) + uint32_t maxy_test = getmaxy(screen); + uint32_t maxx_test = getmaxx(screen); + if (maxy_test > UINT16_MAX || maxx_test > UINT16_MAX) { return 2; } + wmeta->padframe.size.y = maxy_test; + wmeta->padframe.size.x = maxx_test; wmeta->_chain_start = 0; wmeta->_chain_end = 0; wmeta->pad_offset = 0; - WINDOW * test; - test = newpad(wmeta->padframe.size.y, 1); - if (NULL == test) + WINDOW * pad_test = newpad(wmeta->padframe.size.y, 1); + if (NULL == pad_test) { return 1; } - wmeta->padframe.curses_win = test; + wmeta->padframe.curses_win = pad_test; wmeta->active = 0; return 0; } @@ -506,18 +506,18 @@ extern uint8_t resize_active_win(struct WinMeta * wmeta, struct yx_uint16 size) && size.y < wmeta->padframe.size.y) { wmeta->active->frame.size = size; - return update_wins(wmeta, wmeta->_chain_start); /* Following windows' */ - } /* positioning may be */ - return 0; /* affected. */ -} /* TODO: Why start at */ - /* chain_start then? */ + return update_wins(wmeta, wmeta->active); /* Positioning of following */ + } /* windows may be affected. */ + return 0; +} + extern void cycle_active_win(struct WinMeta * wmeta, char dir) { if (0 != wmeta->active) { - if ('n' == dir) + if ('f' == dir) { if (wmeta->active->_next != 0) { @@ -547,8 +547,7 @@ extern void cycle_active_win(struct WinMeta * wmeta, char dir) extern uint8_t shift_active_win(struct WinMeta * wmeta, char dir) { if ( 0 == wmeta->active /* No shifting with < 2 */ - || wmeta->_chain_start == wmeta->_chain_end /* windows visible or */ - || (dir != 'f' && dir != 'b')) /* wrong direction char. */ + || wmeta->_chain_start == wmeta->_chain_end) /* windows visible. */ { return 0; }