Always set this by scheduling an initial resize.
return clickdot;
memset(clickdot, 0, sizeof *clickdot);
- clickdot->window = window_create(display, 500, 400);
+ clickdot->window = window_create(display);
clickdot->widget = frame_create(clickdot->window, clickdot);
window_set_title(clickdot->window, "Wayland ClickDot");
clickdot->display = display;
memset(panel, 0, sizeof *panel);
panel->base.configure = panel_configure;
- panel->window = window_create(display, 0, 0);
+ panel->window = window_create(display);
panel->widget = window_add_widget(panel->window, panel);
wl_list_init(&panel->launcher_list);
return NULL;
memset(dialog, 0, sizeof *dialog);
- dialog->window = window_create(display, 260, 230);
+ dialog->window = window_create(display);
dialog->widget = frame_create(dialog->window, dialog);
window_set_title(dialog->window, "Unlock your desktop");
window_set_custom(dialog->window);
memset(background, 0, sizeof *background);
background->base.configure = background_configure;
- background->window = window_create(desktop->display, 0, 0);
+ background->window = window_create(desktop->display);
background->widget = window_add_widget(background->window, background);
window_set_custom(background->window);
window_set_user_data(background->window, background);
return dnd;
memset(dnd, 0, sizeof *dnd);
- dnd->window = window_create(display, 400, 400);
+ dnd->window = window_create(display);
dnd->widget = frame_create(dnd->window, dnd);
window_set_title(dnd->window, "Wayland Drag and Drop Demo");
if(e == NULL)
return NULL;
- e->window = window_create(d, width, height);
+ e->window = window_create(d);
e->widget = frame_create(e->window, e);
window_set_title(e->window, title);
e->display = d;
}
/* Initial drawing of the window */
- window_schedule_redraw(e->window);
+ window_schedule_resize(e->window, width, height);
return e;
}
flower.width = 200;
flower.height = 200;
flower.display = d;
- flower.window = window_create(d, flower.width, flower.height);
+ flower.window = window_create(d);
flower.widget = window_add_widget(flower.window, &flower);
widget_set_resize_handler(flower.widget, resize_handler);
widget_set_motion_handler(flower.widget, motion_handler);
widget_set_button_handler(flower.widget, button_handler);
- window_schedule_redraw(flower.window);
+ window_schedule_resize(flower.window, flower.width, flower.height);
display_run(d);
gears = malloc(sizeof *gears);
memset(gears, 0, sizeof *gears);
gears->d = display;
- gears->window = window_create(display, width, height);
+ gears->window = window_create(display);
gears->widget = frame_create(gears->window, gears);
window_set_transparent(gears->window, 1);
window_set_title(gears->window, "Wayland Gears");
image->filename = g_strdup(filename);
- image->window = window_create(display, 500, 400);
+ image->window = window_create(display);
image->widget = frame_create(image->window, image);
window_set_title(image->window, title);
image->display = display;
return resizor;
memset(resizor, 0, sizeof *resizor);
- resizor->window = window_create(display, 500, 400);
+ resizor->window = window_create(display);
resizor->widget = frame_create(resizor->window, resizor);
window_set_title(resizor->window, "Wayland Resizor");
resizor->display = display;
smoke.width = 200;
smoke.height = 200;
smoke.display = d;
- smoke.window = window_create(d, smoke.width, smoke.height);
+ smoke.window = window_create(d);
smoke.widget = window_add_widget(smoke.window, &smoke);
window_set_title(smoke.window, "smoke");
{
struct tablet_shell *shell = data;
- shell->lockscreen = window_create(shell->display,
- shell->allocation.width,
- shell->allocation.height);
+ shell->lockscreen = window_create(shell->display);
window_set_user_data(shell->lockscreen, shell);
window_set_custom(shell->lockscreen);
{
struct tablet_shell *shell = data;
- shell->switcher = window_create(shell->display, 0, 0);
+ shell->switcher = window_create(shell->display);
window_set_user_data(shell->switcher, shell);
window_set_custom(shell->switcher);
tablet_shell_set_switcher(shell->tablet_shell,
output = display_get_output(display);
output_get_allocation(output, &shell->allocation);
- shell->homescreen = window_create(display,
- shell->allocation.width,
- shell->allocation.height);
+ shell->homescreen = window_create(display);
window_set_user_data(shell->homescreen, shell);
window_set_custom(shell->homescreen);
terminal_init(terminal);
terminal->margin_top = 0;
terminal->margin_bottom = -1;
- terminal->window = window_create(display, 500, 400);
+ terminal->window = window_create(display);
terminal->widget = frame_create(terminal->window, terminal);
window_set_title(terminal->window, "Wayland Terminal");
cairo_destroy(cr);
cairo_surface_destroy(surface);
+ window_schedule_resize(terminal->window, 500, 400);
+
return terminal;
}
title = "File not found";
}
- view->window = window_create(display, 500, 400);
+ view->window = window_create(display);
view->widget = frame_create(view->window, view);
window_set_title(view->window, title);
view->display = display;
}
static struct window *
-window_create_internal(struct display *display, struct window *parent,
- int32_t width, int32_t height)
+window_create_internal(struct display *display, struct window *parent)
{
struct window *window;
}
window->allocation.x = 0;
window->allocation.y = 0;
- window->allocation.width = width;
- window->allocation.height = height;
+ window->allocation.width = 0;
+ window->allocation.height = 0;
window->saved_allocation = window->allocation;
window->transparent = 1;
}
struct window *
-window_create(struct display *display, int32_t width, int32_t height)
+window_create(struct display *display)
{
struct window *window;
- window = window_create_internal(display, NULL, width, height);
+ window = window_create_internal(display, NULL);
if (!window)
return NULL;
struct window *
window_create_transient(struct display *display, struct window *parent,
- int32_t x, int32_t y, int32_t width, int32_t height)
+ int32_t x, int32_t y)
{
struct window *window;
- window = window_create_internal(parent->display,
- parent, width, height);
+ window = window_create_internal(parent->display, parent);
if (!window)
return NULL;
if (!menu)
return;
- window = window_create_internal(parent->display, parent,
- 200, count * 20 + margin * 2);
+ window = window_create_internal(parent->display, parent);
if (!window)
return;
widget_set_button_handler(menu->widget, menu_button_handler);
input_grab(input, menu->widget, 0);
- window_schedule_redraw(window);
+ window_schedule_resize(window, 200, count * 20 + margin * 2);
}
void
int button, int state, void *data);
struct window *
-window_create(struct display *display, int32_t width, int32_t height);
+window_create(struct display *display);
struct window *
window_create_transient(struct display *display, struct window *parent,
- int32_t x, int32_t y, int32_t width, int32_t height);
+ int32_t x, int32_t y);
typedef void (*menu_func_t)(struct window *window, int index, void *data);
if (!mi)
return NULL;
- mi->window = window_create(screensaver->display, width, height);
+ mi->window = window_create(screensaver->display);
if (!mi->window) {
fprintf(stderr, "%s: creating a window failed.\n", progname);
free(mi);