static void
gdk_offscreen_window_destroy (GdkWindow *window,
- gboolean recursing,
- gboolean foreign_destroy)
+ gboolean recursing,
+ gboolean foreign_destroy)
{
- GdkOffscreenWindow *offscreen;
-
- offscreen = GDK_OFFSCREEN_WINDOW (window->impl);
-
gdk_offscreen_window_set_embedder (window, NULL);
-
+
if (!recursing)
gdk_offscreen_window_hide (window);
}
* If you need to keep this around over window resizes, you need to
* add a reference to it.
*
- * Returns: The offscreen surface, or %NULL if not offscreen
+ * Returns: (transfer none): The offscreen surface, or %NULL if not offscreen
*/
cairo_surface_t *
gdk_offscreen_window_get_surface (GdkWindow *window)
static void
gdk_offscreen_window_move_resize_internal (GdkWindow *window,
- gint x,
- gint y,
- gint width,
- gint height,
- gboolean send_expose_events)
+ gint x,
+ gint y,
+ gint width,
+ gint height,
+ gboolean send_expose_events)
{
GdkOffscreenWindow *offscreen;
- gint dx, dy, dw, dh;
offscreen = GDK_OFFSCREEN_WINDOW (window->impl);
if (window->destroyed)
return;
- dx = x - window->x;
- dy = y - window->y;
- dw = width - window->width;
- dh = height - window->height;
-
window->x = x;
window->y = y;
if (GDK_WINDOW_IS_MAPPED (window))
{
- // TODO: Only invalidate new area, i.e. for larger windows
+ /* TODO: Only invalidate new area, i.e. for larger windows */
gdk_window_invalidate_rect (window, NULL, TRUE);
_gdk_synthesize_crossing_events_for_geometry_change (window);
}
static void
gdk_offscreen_window_move_resize (GdkWindow *window,
- gboolean with_move,
- gint x,
- gint y,
- gint width,
- gint height)
+ gboolean with_move,
+ gint x,
+ gint y,
+ gint width,
+ gint height)
{
- GdkOffscreenWindow *offscreen;
-
- offscreen = GDK_OFFSCREEN_WINDOW (window->impl);
-
if (!with_move)
{
x = window->x;
if (height < 0)
height = window->height;
- gdk_offscreen_window_move_resize_internal (window, x, y,
- width, height,
- TRUE);
+ gdk_offscreen_window_move_resize_internal (window,
+ x, y, width, height,
+ TRUE);
}
static void
static void
gdk_offscreen_window_hide (GdkWindow *window)
{
+ /* TODO: This needs updating to the new grab world */
+#if 0
GdkOffscreenWindow *offscreen;
GdkDisplay *display;
/* May need to break grabs on children */
display = gdk_window_get_display (window);
- /* TODO: This needs updating to the new grab world */
-#if 0
if (display->pointer_grab.window != NULL)
{
if (is_parent_of (window, display->pointer_grab.window))
{
}
+static void
+gdk_offscreen_window_set_string (GdkWindow *window,
+ const gchar *setting)
+{
+}
+
+static void
+gdk_offscreen_window_set_wmfunctions (GdkWindow *window,
+ GdkWMFunction functions)
+{
+}
+
+static void
+gdk_offscreen_window_set_transient_for (GdkWindow *window,
+ GdkWindow *another)
+{
+}
+
static void
gdk_offscreen_window_process_updates_recurse (GdkWindow *window,
cairo_region_t *region)
impl_class->set_modal_hint = NULL;
impl_class->set_skip_taskbar_hint = gdk_offscreen_window_set_boolean;
impl_class->set_skip_pager_hint = gdk_offscreen_window_set_boolean;
- impl_class->set_urgency_hint = NULL;
+ impl_class->set_urgency_hint = gdk_offscreen_window_set_boolean;
impl_class->set_geometry_hints = NULL;
- impl_class->set_title = NULL;
- impl_class->set_role = NULL;
- impl_class->set_startup_id = NULL;
- impl_class->set_transient_for = NULL;
+ impl_class->set_title = gdk_offscreen_window_set_string;
+ impl_class->set_role = gdk_offscreen_window_set_string;
+ impl_class->set_startup_id = gdk_offscreen_window_set_string;
+ impl_class->set_transient_for = gdk_offscreen_window_set_transient_for;
impl_class->get_root_origin = NULL;
impl_class->get_frame_extents = NULL;
impl_class->set_override_redirect = NULL;
impl_class->set_accept_focus = NULL;
- impl_class->set_focus_on_map = NULL;
+ impl_class->set_focus_on_map = gdk_offscreen_window_set_boolean;
impl_class->set_icon_list = NULL;
impl_class->set_icon_name = NULL;
impl_class->iconify = gdk_offscreen_window_do_nothing;
impl_class->set_group = NULL;
impl_class->set_decorations = NULL;
impl_class->get_decorations = NULL;
- impl_class->set_functions = NULL;
- impl_class->set_functions = NULL;
+ impl_class->set_functions = gdk_offscreen_window_set_wmfunctions;
impl_class->begin_resize_drag = NULL;
impl_class->begin_move_drag = NULL;
- impl_class->enable_synchronized_configure = NULL;
+ impl_class->enable_synchronized_configure = gdk_offscreen_window_do_nothing;
impl_class->configure_finished = NULL;
impl_class->set_opacity = NULL;
impl_class->set_composited = NULL;
impl_class->destroy_notify = NULL;
- impl_class->register_dnd = NULL;
+ impl_class->register_dnd = gdk_offscreen_window_do_nothing;
impl_class->drag_begin = NULL;
impl_class->process_updates_recurse = gdk_offscreen_window_process_updates_recurse;
impl_class->sync_rendering = NULL;