From caf41457c62fa577ffca3ab08fd83c9932030592 Mon Sep 17 00:00:00 2001 From: Andrew Borodin Date: Sat, 21 May 2022 19:37:31 +0300 Subject: [PATCH] (widget_adjust_position): change argument for coordinates. Use WRect instead of four values. Signed-off-by: Andrew Borodin --- lib/widget/dialog.c | 2 +- lib/widget/group.c | 2 +- lib/widget/widget-common.c | 22 +++++++++++----------- lib/widget/widget-common.h | 2 +- src/filemanager/filemanager.c | 3 +-- 5 files changed, 15 insertions(+), 16 deletions(-) diff --git a/lib/widget/dialog.c b/lib/widget/dialog.c index 7d00d956a..1c93d7cc9 100644 --- a/lib/widget/dialog.c +++ b/lib/widget/dialog.c @@ -406,7 +406,7 @@ dlg_create (gboolean modal, int y1, int x1, int lines, int cols, widget_pos_flag new_d = g_new0 (WDialog, 1); w = WIDGET (new_d); g = GROUP (new_d); - widget_adjust_position (pos_flags, &r.y, &r.x, &r.lines, &r.cols); + widget_adjust_position (pos_flags, &r); group_init (g, &r, callback != NULL ? callback : dlg_default_callback, mouse_callback != NULL ? mouse_callback : dlg_default_mouse_callback); diff --git a/lib/widget/group.c b/lib/widget/group.c index 085292a59..9ff52d942 100644 --- a/lib/widget/group.c +++ b/lib/widget/group.c @@ -461,7 +461,7 @@ group_default_resize (WGroup * g, WRect * r) WRect r0; r0 = r != NULL ? *r : w->rect; - widget_adjust_position (w->pos_flags, &r0.y, &r0.x, &r0.lines, &r0.cols); + widget_adjust_position (w->pos_flags, &r0); group_set_position (g, &r0); } diff --git a/lib/widget/widget-common.c b/lib/widget/widget-common.c index 955e3e790..bc36e6d1e 100644 --- a/lib/widget/widget-common.c +++ b/lib/widget/widget-common.c @@ -393,29 +393,29 @@ widget_set_options (Widget * w, widget_options_t options, gboolean enable) /* --------------------------------------------------------------------------------------------- */ void -widget_adjust_position (widget_pos_flags_t pos_flags, int *y, int *x, int *lines, int *cols) +widget_adjust_position (widget_pos_flags_t pos_flags, WRect * r) { if ((pos_flags & WPOS_FULLSCREEN) != 0) { - *y = 0; - *x = 0; - *lines = LINES; - *cols = COLS; + r->y = 0; + r->x = 0; + r->lines = LINES; + r->cols = COLS; } else { if ((pos_flags & WPOS_CENTER_HORZ) != 0) - *x = (COLS - *cols) / 2; + r->x = (COLS - r->cols) / 2; if ((pos_flags & WPOS_CENTER_VERT) != 0) - *y = (LINES - *lines) / 2; + r->y = (LINES - r->lines) / 2; if ((pos_flags & WPOS_TRYUP) != 0) { - if (*y > 3) - *y -= 2; - else if (*y == 3) - *y = 2; + if (r->y > 3) + r->y -= 2; + else if (r->y == 3) + r->y = 2; } } } diff --git a/lib/widget/widget-common.h b/lib/widget/widget-common.h index afb87a662..f5a53dee4 100644 --- a/lib/widget/widget-common.h +++ b/lib/widget/widget-common.h @@ -209,7 +209,7 @@ void widget_init (Widget * w, const WRect * r, widget_cb_fn callback, cb_ret_t widget_default_callback (Widget * w, Widget * sender, widget_msg_t msg, int parm, void *data); void widget_set_options (Widget * w, widget_options_t options, gboolean enable); -void widget_adjust_position (widget_pos_flags_t pos_flags, int *y, int *x, int *lines, int *cols); +void widget_adjust_position (widget_pos_flags_t pos_flags, WRect * r); void widget_set_size (Widget * w, int y, int x, int lines, int cols); void widget_set_size_rect (Widget * w, WRect * r); /* select color for widget in dependance of state */ diff --git a/src/filemanager/filemanager.c b/src/filemanager/filemanager.c index eb4bb7809..24d8be3f4 100644 --- a/src/filemanager/filemanager.c +++ b/src/filemanager/filemanager.c @@ -1505,8 +1505,7 @@ midnight_callback (Widget * w, Widget * sender, widget_msg_t msg, int parm, void return MSG_HANDLED; case MSG_RESIZE: - widget_adjust_position (w->pos_flags, &w->rect.y, &w->rect.x, &w->rect.lines, - &w->rect.cols); + widget_adjust_position (w->pos_flags, &w->rect); setup_panels (); menubar_arrange (the_menubar); return MSG_HANDLED;