forked from AuroraMiddleware/gtk
mir: synthesize resize events
This commit is contained in:
parent
24dc2d8986
commit
3914bcd678
@ -535,6 +535,28 @@ generate_configure_event (GdkWindow *window,
|
|||||||
send_event (window, get_pointer (window), event);
|
send_event (window, get_pointer (window), event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
maybe_synthesize_resize (GdkWindow *window)
|
||||||
|
{
|
||||||
|
GdkMirWindowImpl *impl = GDK_MIR_WINDOW_IMPL (window->impl);
|
||||||
|
MirWindowParameters params;
|
||||||
|
|
||||||
|
if (!impl->mir_window)
|
||||||
|
return;
|
||||||
|
|
||||||
|
mir_window_get_parameters (impl->mir_window, ¶ms);
|
||||||
|
|
||||||
|
if (params.width != window->width || params.height != window->height)
|
||||||
|
{
|
||||||
|
window->width = params.width;
|
||||||
|
window->height = params.height;
|
||||||
|
|
||||||
|
_gdk_window_update_size (window);
|
||||||
|
|
||||||
|
generate_configure_event (window, window->width, window->height);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
ensure_mir_window_full (GdkWindow *window,
|
ensure_mir_window_full (GdkWindow *window,
|
||||||
MirBufferUsage buffer_usage)
|
MirBufferUsage buffer_usage)
|
||||||
@ -568,21 +590,7 @@ ensure_mir_window_full (GdkWindow *window,
|
|||||||
impl->pending_spec_update = FALSE;
|
impl->pending_spec_update = FALSE;
|
||||||
impl->buffer_stream = mir_window_get_buffer_stream (impl->mir_window);
|
impl->buffer_stream = mir_window_get_buffer_stream (impl->mir_window);
|
||||||
|
|
||||||
/* FIXME: can't make an initial resize event */
|
maybe_synthesize_resize (window);
|
||||||
// MirEvent *resize_event;
|
|
||||||
|
|
||||||
/* Send the initial configure with the size the server gave... */
|
|
||||||
/* FIXME: can't make an initial resize event */
|
|
||||||
/*
|
|
||||||
resize_event.resize.type = mir_event_type_resize;
|
|
||||||
resize_event.resize.surface_id = 0;
|
|
||||||
resize_event.resize.width = window->width;
|
|
||||||
resize_event.resize.height = window->height;
|
|
||||||
|
|
||||||
_gdk_mir_event_source_queue (window_ref, &resize_event);
|
|
||||||
*/
|
|
||||||
|
|
||||||
generate_configure_event (window, window->width, window->height);
|
|
||||||
|
|
||||||
/* FIXME: Ignore some events until shown */
|
/* FIXME: Ignore some events until shown */
|
||||||
mir_window_set_event_handler (impl->mir_window, event_cb, window_ref);
|
mir_window_set_event_handler (impl->mir_window, event_cb, window_ref);
|
||||||
@ -644,6 +652,8 @@ send_buffer (GdkWindow *window)
|
|||||||
update_window_spec (window);
|
update_window_spec (window);
|
||||||
|
|
||||||
impl->pending_spec_update = FALSE;
|
impl->pending_spec_update = FALSE;
|
||||||
|
|
||||||
|
maybe_synthesize_resize (window);
|
||||||
}
|
}
|
||||||
|
|
||||||
static cairo_surface_t *
|
static cairo_surface_t *
|
||||||
|
Loading…
Reference in New Issue
Block a user