diff options
author | 2023-05-29 23:17:42 +0200 | |
---|---|---|
committer | 2023-05-29 23:17:42 +0200 | |
commit | 76ec9e7be4286a942975d07cbe84ea43a30e7b28 (patch) | |
tree | 8eadb1c1094e8299f217d219ac2707f18417fcae | |
parent | 031e3a53569db5caf3f066323be99d4932f0bbdb (diff) | |
download | cherry-76ec9e7be4286a942975d07cbe84ea43a30e7b28.tar.gz cherry-76ec9e7be4286a942975d07cbe84ea43a30e7b28.zip |
Remove `dimension` from CherryWindow
-rw-r--r-- | src/window.c | 26 | ||||
-rw-r--r-- | src/window.h | 4 |
2 files changed, 21 insertions, 9 deletions
diff --git a/src/window.c b/src/window.c index 2c316da..a187d7c 100644 --- a/src/window.c +++ b/src/window.c @@ -70,6 +70,8 @@ cherry_window_new(void) XSetBackground(app->display, w->gc, WhitePixel(app->display, app->screen)); XSetForeground(app->display, w->gc, BlackPixel(app->display, app->screen)); /* XSetForeground(app->display, w->gc, RGB(255,0,127)); */ + cherry_widget_get_dimension((CherryWidget *) window, &width, &height); + cherry_widget_set_dimension((CherryWidget *) window, width + offset, height + offset); clist_add(&(app->windows), w); XSaveContext(app->display, w->window_handler, app->context, (XPointer) w); @@ -114,15 +116,25 @@ cherry_window_set_title(CherryWindow *w, char *title) } void -cherry_window_set_dimension(CherryWindow *w, int width, int height) +cherry_window_get_dimension(CherryWindow *window, int *width, int *height) { - w->dimension->width = width; - w->dimension->height = height; + CherryWidget *widget = (CherryWidget *) window; + cherry_widget_get_dimension(widget, width, height); +} - CherryApplication *app = cherry_application_get_running_app(); - XMoveResizeWindow(app->display, w->window_handler, - w->x, w->y, - w->dimension->width, w->dimension->height); +void +cherry_window_set_dimension(CherryWindow *window, int width, int height) +{ + CherryWidget *widget = (CherryWidget *) window; + cherry_widget_set_dimension(widget, width, height); + + if (cherry_widget_is_visible(widget)) { + int x, y; + CherryApplication *app = cherry_application_get_running_app(); + XMoveResizeWindow(app->display, window->window_handler, + x, y, + width, height); + } } void diff --git a/src/window.h b/src/window.h index 6906c04..e32b258 100644 --- a/src/window.h +++ b/src/window.h @@ -3,12 +3,11 @@ #ifndef __CHERRY_WINDOW_H__ #define __CHERRY_WINDOW_H__ -#include "dimension.h" +#include "widget.h" #include "event.h" typedef struct CherryWindow { char *title; - CherryDimension *dimension; int x, y; int visible; @@ -23,6 +22,7 @@ CherryWindow *cherry_window_new(void); void cherry_window_dispose_on_exit(CherryWindow *); char *cherry_window_get_title(CherryWindow *); void cherry_window_set_title(CherryWindow *, char *); +void cherry_window_get_dimension(CherryWindow *, int *, int *); void cherry_window_set_dimension(CherryWindow *, int, int); void cherry_window_set_position(CherryWindow *, int, int); void cherry_window_set_visible(CherryWindow *, int); |