This seems to do more than just rename?
Don't like get_border_rel maybe is_pane_border?
Also last one is too long.
-------- Original message --------
From: Marcel Partap <mpar...@gmx.net>
Date: 27/10/2013 22:37 (GMT+00:00)
To: tmux-users@lists.sourceforge.net
Subject: [PATCH 1/4] screen-redraw.c: Improve names of border related
functions.
Rename
screen_redraw_cell_border1() => screen_redraw_get_border_rel()
screen_redraw_cell_border() => screen_redraw_cell_is_border()
screen_redraw_check_cell() => screen_redraw_get_cell_type()
screen_redraw_check_active() => screen_redraw_check_active_pane_indicator()
---
screen-redraw.c | 67 +++++++++++++++++++++++++++++++--------------------------
1 file changed, 36 insertions(+), 31 deletions(-)
diff --git a/screen-redraw.c b/screen-redraw.c
index a7bf81f..f5ffca2 100644
--- a/screen-redraw.c
+++ b/screen-redraw.c
@@ -22,11 +22,11 @@
#include "tmux.h"
-int screen_redraw_cell_border1(struct window_pane *, u_int, u_int);
-int screen_redraw_cell_border(struct client *, u_int, u_int);
-int screen_redraw_check_cell(struct client *, u_int, u_int,
+int screen_redraw_get_border_rel(struct window_pane *, u_int, u_int);
+int screen_redraw_cell_is_border(struct client *, u_int, u_int);
+int screen_redraw_get_cell_type(struct client *, u_int, u_int,
struct window_pane **);
-int screen_redraw_check_active(u_int, u_int, int, struct window *,
+int screen_redraw_check_active_pane_indicator(u_int, u_int, int, struct
window *,
struct window_pane *);
void screen_redraw_draw_number(struct client *, struct window_pane *);
@@ -47,57 +47,62 @@ void screen_redraw_draw_number(struct client *,
struct window_pane *);
#define CELL_BORDERS " xqlkmjwvtun~"
-/* Check if cell is on the border of a particular pane. */
+#define BORDER_NOT 0
+#define BORDER_LEFT 1
+#define BORDER_RIGHT 2
+#define BORDER_TOP 4
+#define BORDER_BOTTOM 8
+
+/* Check if cell is on border of given pane and how it relates to it. */
int
-screen_redraw_cell_border1(struct window_pane *wp, u_int px, u_int py)
+screen_redraw_get_border_rel(struct window_pane *wp, u_int px, u_int py)
{
/* Inside pane. */
if (px >= wp->xoff && px < wp->xoff + wp->sx &&
py >= wp->yoff && py < wp->yoff + wp->sy)
- return (0);
+ return (BORDER_NOT);
/* Left/right borders. */
if ((wp->yoff == 0 || py >= wp->yoff - 1) && py <= wp->yoff + wp->sy) {
if (wp->xoff != 0 && px == wp->xoff - 1)
- return (1);
+ return (BORDER_LEFT);
if (px == wp->xoff + wp->sx)
- return (1);
+ return (BORDER_RIGHT);
}
/* Top/bottom borders. */
if ((wp->xoff == 0 || px >= wp->xoff - 1) && px <= wp->xoff + wp->sx) {
if (wp->yoff != 0 && py == wp->yoff - 1)
- return (1);
+ return (BORDER_TOP);
if (py == wp->yoff + wp->sy)
- return (1);
+ return (BORDER_BOTTOM);
}
/* Outside pane. */
- return (-1);
+ return (BORDER_NOT);
}
-/* Check if a cell is on the pane border. */
+/* Check if a cell is part of any pane border. */
int
-screen_redraw_cell_border(struct client *c, u_int px, u_int py)
+screen_redraw_cell_is_border(struct client *c, u_int px, u_int py)
{
struct window *w = c->session->curw->window;
struct window_pane *wp;
- int retval;
/* Check all the panes. */
TAILQ_FOREACH(wp, &w->panes, entry) {
if (!window_pane_visible(wp))
continue;
- if ((retval = screen_redraw_cell_border1(wp, px, py)) != -1)
- return (retval);
+ if (screen_redraw_get_border_rel(wp, px, py) != BORDER_NOT)
+ return (1);
}
return (0);
}
-/* Check if cell inside a pane. */
+/* Check if cell is inside given pane or on its border. */
int
-screen_redraw_check_cell(struct client *c, u_int px, u_int py,
+screen_redraw_get_cell_type(struct client *c, u_int px, u_int py,
struct window_pane **wpp)
{
struct window *w = c->session->curw->window;
@@ -120,7 +125,7 @@ screen_redraw_check_cell(struct client *c, u_int px, u_int
py,
continue;
/* If definitely inside, return so. */
- if (!screen_redraw_cell_border(c, px, py))
+ if (!screen_redraw_cell_is_border(c, px, py))
return (CELL_INSIDE);
/*
@@ -128,13 +133,13 @@ screen_redraw_check_cell(struct client *c, u_int px,
u_int py,
* 4), right, top, and bottom (bit 1) of this cell are borders.
*/
borders = 0;
- if (px == 0 || screen_redraw_cell_border(c, px - 1, py))
+ if (px == 0 || screen_redraw_cell_is_border(c, px - 1, py))
borders |= 8;
- if (px <= w->sx && screen_redraw_cell_border(c, px + 1, py))
+ if (px <= w->sx && screen_redraw_cell_is_border(c, px + 1, py))
borders |= 4;
- if (py == 0 || screen_redraw_cell_border(c, px, py - 1))
+ if (py == 0 || screen_redraw_cell_is_border(c, px, py - 1))
borders |= 2;
- if (py <= w->sy && screen_redraw_cell_border(c, px, py + 1))
+ if (py <= w->sy && screen_redraw_cell_is_border(c, px, py + 1))
borders |= 1;
/*
@@ -174,11 +179,11 @@ screen_redraw_check_cell(struct client *c, u_int px,
u_int py,
/* Check active pane indicator. */
int
-screen_redraw_check_active(u_int px, u_int py, int type, struct window *w,
+screen_redraw_check_active_pane_indicator(u_int px, u_int py, int type, struct
window *w,
struct window_pane *wp)
{
/* Is this off the active pane border? */
- if (screen_redraw_cell_border1(w->active, px, py) != 1)
+ if (screen_redraw_get_border_rel(w->active, px, py) == BORDER_NOT)
return (0);
/* If there are more than two panes, that's enough. */
@@ -223,7 +228,7 @@ screen_redraw_screen(struct client *c, int status_only, int
borders_only)
struct tty *tty = &c->tty;
struct window_pane *wp;
struct grid_cell active_gc, other_gc;
- u_int i, j, type, top;
+ u_int i, j, celltype, top;
int status, spos, fg, bg;
/* Suspended clients should not be updated. */
@@ -272,15 +277,15 @@ screen_redraw_screen(struct client *c, int status_only,
int borders_only)
break;
}
for (i = 0; i < tty->sx; i++) {
- type = screen_redraw_check_cell(c, i, j, &wp);
- if (type == CELL_INSIDE)
+ celltype = screen_redraw_get_cell_type(c, i, j, &wp);
+ if (celltype == CELL_INSIDE)
continue;
- if (screen_redraw_check_active(i, j, type, w, wp))
+ if (screen_redraw_check_active_pane_indicator(i, j, celltype, w, wp))
tty_attributes(tty, &active_gc);
else
tty_attributes(tty, &other_gc);
tty_cursor(tty, i, top + j);
- tty_putc(tty, CELL_BORDERS[type]);
+ tty_putc(tty, CELL_BORDERS[celltype]);
}
}
--
1.8.4
------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk
_______________________________________________
tmux-users mailing list
tmux-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tmux-users
------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk
_______________________________________________
tmux-users mailing list
tmux-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tmux-users