diff options
author | Matthias Clasen <mclasen@redhat.com> | 2019-04-22 01:14:46 +0000 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2019-05-28 20:25:14 +0000 |
commit | 712a5d4f257d4fc73cd64ec12d5f818a6377621f (patch) | |
tree | a9527e856f0b3e38e58af5d4acc479170468092a /gdk/broadway | |
parent | 93b8f2563d5d5c9aa16018ebc1533cbe1a408f87 (diff) | |
download | gtk+-712a5d4f257d4fc73cd64ec12d5f818a6377621f.tar.gz |
Get rid of GdkSurfaceImpl
We don't need the complicated wrapper system anymore,
since client-side windows are gone. This commit moves
all the vfuncs to GtkSurfaceClass, and changes the
backends to just derive their surface implementation
from GdkSurface.
Diffstat (limited to 'gdk/broadway')
-rw-r--r-- | gdk/broadway/gdkdevice-broadway.c | 4 | ||||
-rw-r--r-- | gdk/broadway/gdkdisplay-broadway.c | 9 | ||||
-rw-r--r-- | gdk/broadway/gdkdnd-broadway.c | 4 | ||||
-rw-r--r-- | gdk/broadway/gdkeventsource.c | 2 | ||||
-rw-r--r-- | gdk/broadway/gdkprivate-broadway.h | 12 | ||||
-rw-r--r-- | gdk/broadway/gdksurface-broadway.c | 291 | ||||
-rw-r--r-- | gdk/broadway/gdksurface-broadway.h | 25 |
7 files changed, 159 insertions, 188 deletions
diff --git a/gdk/broadway/gdkdevice-broadway.c b/gdk/broadway/gdkdevice-broadway.c index 6b3621d7d8..801b021c56 100644 --- a/gdk/broadway/gdkdevice-broadway.c +++ b/gdk/broadway/gdkdevice-broadway.c @@ -20,7 +20,7 @@ #include "gdkdevice-broadway.h" -#include "gdksurface.h" +#include "gdksurfaceprivate.h" #include "gdkprivate-broadway.h" static gboolean gdk_broadway_device_get_history (GdkDevice *device, @@ -251,7 +251,7 @@ gdk_broadway_device_grab (GdkDevice *device, { /* Device is a pointer */ return _gdk_broadway_server_grab_pointer (broadway_display->server, - GDK_SURFACE_IMPL_BROADWAY (surface->impl)->id, + GDK_BROADWAY_SURFACE (surface)->id, owner_events, event_mask, time_); diff --git a/gdk/broadway/gdkdisplay-broadway.c b/gdk/broadway/gdkdisplay-broadway.c index e3ba560f88..c9ffa25d27 100644 --- a/gdk/broadway/gdkdisplay-broadway.c +++ b/gdk/broadway/gdkdisplay-broadway.c @@ -95,10 +95,10 @@ _gdk_broadway_display_size_changed (GdkDisplay *display, toplevels = broadway_display->toplevels; for (l = toplevels; l != NULL; l = l->next) { - GdkSurfaceImplBroadway *toplevel_impl = l->data; + GdkBroadwaySurface *toplevel = l->data; - if (toplevel_impl->maximized) - gdk_surface_move_resize (toplevel_impl->wrapper, 0, 0, msg->width, msg->height); + if (toplevel->maximized) + gdk_surface_move_resize (GDK_SURFACE (toplevel), 0, 0, msg->width, msg->height); } } @@ -420,7 +420,6 @@ gdk_broadway_display_class_init (GdkBroadwayDisplayClass * class) object_class->dispose = gdk_broadway_display_dispose; object_class->finalize = gdk_broadway_display_finalize; - display_class->surface_type = GDK_TYPE_BROADWAY_SURFACE; display_class->cairo_context_type = GDK_TYPE_BROADWAY_CAIRO_CONTEXT; display_class->get_name = gdk_broadway_display_get_name; @@ -435,7 +434,7 @@ gdk_broadway_display_class_init (GdkBroadwayDisplayClass * class) display_class->get_next_serial = gdk_broadway_display_get_next_serial; display_class->notify_startup_complete = gdk_broadway_display_notify_startup_complete; - display_class->create_surface_impl = _gdk_broadway_display_create_surface_impl; + display_class->create_surface = _gdk_broadway_display_create_surface; display_class->get_keymap = _gdk_broadway_display_get_keymap; display_class->text_property_to_utf8_list = _gdk_broadway_display_text_property_to_utf8_list; display_class->utf8_to_string_target = _gdk_broadway_display_utf8_to_string_target; diff --git a/gdk/broadway/gdkdnd-broadway.c b/gdk/broadway/gdkdnd-broadway.c index 461998f339..67438adcfc 100644 --- a/gdk/broadway/gdkdnd-broadway.c +++ b/gdk/broadway/gdkdnd-broadway.c @@ -26,7 +26,7 @@ #include "gdkdragprivate.h" -#include "gdkinternals.h" +#include "gdksurfaceprivate.h" #include "gdkproperty.h" #include "gdkprivate-broadway.h" #include "gdkinternals.h" @@ -94,7 +94,7 @@ _gdk_broadway_surface_drag_begin (GdkSurface *surface, GdkDrag *new_context; g_return_val_if_fail (surface != NULL, NULL); - g_return_val_if_fail (GDK_SURFACE_IS_BROADWAY (surface), NULL); + g_return_val_if_fail (GDK_IS_BROADWAY_SURFACE (surface), NULL); new_context = g_object_new (GDK_TYPE_BROADWAY_DRAG, "device", device, diff --git a/gdk/broadway/gdkeventsource.c b/gdk/broadway/gdkeventsource.c index f0672bd8c4..506740fa16 100644 --- a/gdk/broadway/gdkeventsource.c +++ b/gdk/broadway/gdkeventsource.c @@ -20,7 +20,7 @@ #include "gdkeventsource.h" #include "gdkseat.h" -#include "gdkinternals.h" +#include "gdksurfaceprivate.h" #include "gdkframeclockprivate.h" #include <stdlib.h> diff --git a/gdk/broadway/gdkprivate-broadway.h b/gdk/broadway/gdkprivate-broadway.h index 5987c2c454..784947c00f 100644 --- a/gdk/broadway/gdkprivate-broadway.h +++ b/gdk/broadway/gdkprivate-broadway.h @@ -101,9 +101,13 @@ void _gdk_broadway_display_get_default_cursor_size (GdkDisplay *display, void _gdk_broadway_display_get_maximal_cursor_size (GdkDisplay *display, guint *width, guint *height); -void _gdk_broadway_display_create_surface_impl (GdkDisplay *display, - GdkSurface *surface, - GdkSurface *real_parent); +GdkSurface * _gdk_broadway_display_create_surface (GdkDisplay *display, + GdkSurfaceType surface_type, + GdkSurface *parent, + int x, + int y, + int width, + int height); gint _gdk_broadway_display_text_property_to_utf8_list (GdkDisplay *display, GdkAtom encoding, gint format, @@ -125,6 +129,4 @@ void _gdk_broadway_surface_resize_surface (GdkSurface *surface); void _gdk_broadway_cursor_update_theme (GdkCursor *cursor); void _gdk_broadway_cursor_display_finalize (GdkDisplay *display); -#define GDK_SURFACE_IS_BROADWAY(win) (GDK_IS_SURFACE_IMPL_BROADWAY (((GdkSurface *)win)->impl)) - #endif /* __GDK_PRIVATE_BROADWAY_H__ */ diff --git a/gdk/broadway/gdksurface-broadway.c b/gdk/broadway/gdksurface-broadway.c index dcb6a9eb42..67e8de7e4b 100644 --- a/gdk/broadway/gdksurface-broadway.c +++ b/gdk/broadway/gdksurface-broadway.c @@ -29,50 +29,26 @@ #include "gdkbroadwaydisplay.h" #include "gdkdisplay.h" -#include "gdksurface.h" -#include "gdksurfaceimpl.h" +#include "gdksurfaceprivate.h" #include "gdkdisplay-broadway.h" #include "gdkprivate-broadway.h" #include "gdkinternals.h" #include "gdkdeviceprivate.h" #include "gdkeventsource.h" -#include <gdk/gdktextureprivate.h> -#include <gdk/gdkframeclockprivate.h> +#include "gdktextureprivate.h" +#include "gdkframeclockidleprivate.h" #include <stdlib.h> #include <stdio.h> #include <string.h> /* Forward declarations */ -static void gdk_surface_impl_broadway_finalize (GObject *object); +static void gdk_broadway_surface_finalize (GObject *object); #define SURFACE_IS_TOPLEVEL(surface) TRUE -struct _GdkBroadwaySurface { - GdkSurface parent; -}; - -struct _GdkBroadwaySurfaceClass { - GdkSurfaceClass parent_class; -}; - G_DEFINE_TYPE (GdkBroadwaySurface, gdk_broadway_surface, GDK_TYPE_SURFACE) -static void -gdk_broadway_surface_class_init (GdkBroadwaySurfaceClass *broadway_surface_class) -{ -} - -static void -gdk_broadway_surface_init (GdkBroadwaySurface *broadway_surface) -{ -} - -G_DEFINE_TYPE (GdkSurfaceImplBroadway, - gdk_surface_impl_broadway, - GDK_TYPE_SURFACE_IMPL) - - /* We need to flush in an idle rather than AFTER_PAINT, as the clock is frozen during e.g. surface resizes so the paint will not happen and the surface resize request is never flushed. */ @@ -83,26 +59,23 @@ queue_flush (GdkSurface *surface) } static void -gdk_surface_impl_broadway_init (GdkSurfaceImplBroadway *impl) +gdk_broadway_surface_init (GdkBroadwaySurface *impl) { } static void -gdk_surface_impl_broadway_finalize (GObject *object) +gdk_broadway_surface_finalize (GObject *object) { - GdkSurface *wrapper; - GdkSurfaceImplBroadway *impl; + GdkBroadwaySurface *impl; GdkBroadwayDisplay *broadway_display; - g_return_if_fail (GDK_IS_SURFACE_IMPL_BROADWAY (object)); - - impl = GDK_SURFACE_IMPL_BROADWAY (object); + g_return_if_fail (GDK_IS_BROADWAY_SURFACE (object)); - wrapper = impl->wrapper; + impl = GDK_BROADWAY_SURFACE (object); - _gdk_broadway_surface_grab_check_destroy (wrapper); + _gdk_broadway_surface_grab_check_destroy (GDK_SURFACE (impl)); - broadway_display = GDK_BROADWAY_DISPLAY (gdk_surface_get_display (impl->wrapper)); + broadway_display = GDK_BROADWAY_DISPLAY (gdk_surface_get_display (GDK_SURFACE (impl))); g_hash_table_remove (broadway_display->id_ht, GINT_TO_POINTER(impl->id)); @@ -111,7 +84,7 @@ gdk_surface_impl_broadway_finalize (GObject *object) broadway_display->toplevels = g_list_remove (broadway_display->toplevels, impl); - G_OBJECT_CLASS (gdk_surface_impl_broadway_parent_class)->finalize (object); + G_OBJECT_CLASS (gdk_broadway_surface_parent_class)->finalize (object); } static gboolean @@ -124,10 +97,10 @@ thaw_clock_cb (GdkFrameClock *clock) void _gdk_broadway_roundtrip_notify (GdkSurface *surface, - guint32 tag, - gboolean local_reply) + guint32 tag, + gboolean local_reply) { - GdkSurfaceImplBroadway *impl = GDK_SURFACE_IMPL_BROADWAY (surface->impl); + GdkBroadwaySurface *impl = GDK_BROADWAY_SURFACE (surface); GdkFrameClock *clock = gdk_surface_get_frame_clock (surface); GdkFrameTimings *timings; @@ -160,10 +133,10 @@ _gdk_broadway_roundtrip_notify (GdkSurface *surface, static void on_frame_clock_after_paint (GdkFrameClock *clock, - GdkSurface *surface) + GdkSurface *surface) { GdkDisplay *display = gdk_surface_get_display (surface); - GdkSurfaceImplBroadway *impl = GDK_SURFACE_IMPL_BROADWAY (surface->impl); + GdkBroadwaySurface *impl = GDK_BROADWAY_SURFACE (surface); GdkBroadwayDisplay *broadway_display; impl->pending_frame_counter = gdk_frame_clock_get_frame_counter (clock); @@ -178,7 +151,7 @@ on_frame_clock_after_paint (GdkFrameClock *clock, static void on_frame_clock_before_paint (GdkFrameClock *clock, - GdkSurface *surface) + GdkSurface *surface) { GdkFrameTimings *timings = gdk_frame_clock_get_current_timings (clock); gint64 presentation_time; @@ -203,29 +176,46 @@ on_frame_clock_before_paint (GdkFrameClock *clock, static void connect_frame_clock (GdkSurface *surface) { - if (SURFACE_IS_TOPLEVEL (surface)) - { - GdkFrameClock *frame_clock = gdk_surface_get_frame_clock (surface); + GdkFrameClock *frame_clock = gdk_surface_get_frame_clock (surface); - g_signal_connect (frame_clock, "before-paint", - G_CALLBACK (on_frame_clock_before_paint), surface); - g_signal_connect (frame_clock, "after-paint", - G_CALLBACK (on_frame_clock_after_paint), surface); - } + g_signal_connect (frame_clock, "before-paint", + G_CALLBACK (on_frame_clock_before_paint), surface); + g_signal_connect (frame_clock, "after-paint", + G_CALLBACK (on_frame_clock_after_paint), surface); } -void -_gdk_broadway_display_create_surface_impl (GdkDisplay *display, - GdkSurface *surface, - GdkSurface *real_parent) +GdkSurface * +_gdk_broadway_display_create_surface (GdkDisplay *display, + GdkSurfaceType surface_type, + GdkSurface *parent, + int x, + int y, + int width, + int height) { - GdkSurfaceImplBroadway *impl; GdkBroadwayDisplay *broadway_display; + GdkFrameClock *frame_clock; + GdkSurface *surface; + GdkBroadwaySurface *impl; + + frame_clock = _gdk_frame_clock_idle_new (); + + surface = g_object_new (GDK_TYPE_BROADWAY_SURFACE, + "display", display, + "frame-clock", frame_clock, + NULL); + + g_object_unref (frame_clock); + + surface->surface_type = surface_type; + surface->x = x; + surface->y = y; + surface->width = width; + surface->height = height; broadway_display = GDK_BROADWAY_DISPLAY (display); - impl = g_object_new (GDK_TYPE_SURFACE_IMPL_BROADWAY, NULL); - surface->impl = (GdkSurfaceImpl *)impl; + impl = GDK_BROADWAY_SURFACE (surface); impl->id = _gdk_broadway_server_new_surface (broadway_display->server, surface->x, surface->y, @@ -233,7 +223,6 @@ _gdk_broadway_display_create_surface_impl (GdkDisplay *display, surface->height, surface->surface_type == GDK_SURFACE_TEMP); g_hash_table_insert (broadway_display->id_ht, GINT_TO_POINTER(impl->id), surface); - impl->wrapper = surface; g_assert (surface->surface_type == GDK_SURFACE_TOPLEVEL || surface->surface_type == GDK_SURFACE_TEMP); @@ -241,15 +230,15 @@ _gdk_broadway_display_create_surface_impl (GdkDisplay *display, broadway_display->toplevels = g_list_prepend (broadway_display->toplevels, impl); connect_frame_clock (surface); + + return surface; } static cairo_surface_t * -gdk_surface_broadway_ref_cairo_surface (GdkSurface *surface) +gdk_broadway_surface_ref_cairo_surface (GdkSurface *surface) { - GdkSurfaceImplBroadway *impl = GDK_SURFACE_IMPL_BROADWAY (surface->impl); - - if (GDK_IS_SURFACE_IMPL_BROADWAY (surface) && - GDK_SURFACE_DESTROYED (impl->wrapper)) + if (GDK_IS_BROADWAY_SURFACE (surface) && + GDK_SURFACE_DESTROYED (surface)) return NULL; return cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 1, 1); @@ -257,14 +246,14 @@ gdk_surface_broadway_ref_cairo_surface (GdkSurface *surface) static void _gdk_broadway_surface_destroy (GdkSurface *surface, - gboolean foreign_destroy) + gboolean foreign_destroy) { - GdkSurfaceImplBroadway *impl; + GdkBroadwaySurface *impl; GdkBroadwayDisplay *broadway_display; g_return_if_fail (GDK_IS_SURFACE (surface)); - impl = GDK_SURFACE_IMPL_BROADWAY (surface->impl); + impl = GDK_BROADWAY_SURFACE (surface); if (impl->node_data) g_array_unref (impl->node_data); @@ -282,15 +271,15 @@ _gdk_broadway_surface_destroy (GdkSurface *surface, void gdk_broadway_surface_set_nodes (GdkSurface *surface, - GArray *nodes, - GPtrArray *node_textures) + GArray *nodes, + GPtrArray *node_textures) { - GdkSurfaceImplBroadway *impl; + GdkBroadwaySurface *impl; GdkBroadwayDisplay *broadway_display; g_return_if_fail (GDK_IS_SURFACE (surface)); - impl = GDK_SURFACE_IMPL_BROADWAY (surface->impl); + impl = GDK_BROADWAY_SURFACE (surface); broadway_display = GDK_BROADWAY_DISPLAY (gdk_surface_get_display (surface)); @@ -321,13 +310,13 @@ gdk_broadway_surface_destroy_notify (GdkSurface *surface) } static void -gdk_surface_broadway_show (GdkSurface *surface, - gboolean already_mapped) +gdk_broadway_surface_show (GdkSurface *surface, + gboolean already_mapped) { - GdkSurfaceImplBroadway *impl; + GdkBroadwaySurface *impl; GdkBroadwayDisplay *broadway_display; - impl = GDK_SURFACE_IMPL_BROADWAY (surface->impl); + impl = GDK_BROADWAY_SURFACE (surface); impl->visible = TRUE; /* FIXME: update state ? */ @@ -339,12 +328,12 @@ gdk_surface_broadway_show (GdkSurface *surface, } static void -gdk_surface_broadway_hide (GdkSurface *surface) +gdk_broadway_surface_hide (GdkSurface *surface) { - GdkSurfaceImplBroadway *impl; + GdkBroadwaySurface *impl; GdkBroadwayDisplay *broadway_display; - impl = GDK_SURFACE_IMPL_BROADWAY (surface->impl); + impl = GDK_BROADWAY_SURFACE (surface); impl->visible = FALSE; /* FIXME: update state ? */ @@ -361,20 +350,20 @@ gdk_surface_broadway_hide (GdkSurface *surface) } static void -gdk_surface_broadway_withdraw (GdkSurface *surface) +gdk_broadway_surface_withdraw (GdkSurface *surface) { - gdk_surface_broadway_hide (surface); + gdk_broadway_surface_hide (surface); } static void -gdk_surface_broadway_move_resize (GdkSurface *surface, +gdk_broadway_surface_move_resize (GdkSurface *surface, gboolean with_move, gint x, gint y, gint width, gint height) { - GdkSurfaceImplBroadway *impl = GDK_SURFACE_IMPL_BROADWAY (surface->impl); + GdkBroadwaySurface *impl = GDK_BROADWAY_SURFACE (surface); GdkBroadwayDisplay *broadway_display; gboolean size_changed; @@ -418,19 +407,19 @@ gdk_surface_broadway_move_resize (GdkSurface *surface, } static void -gdk_surface_broadway_raise (GdkSurface *surface) +gdk_broadway_surface_raise (GdkSurface *surface) { } static void -gdk_surface_broadway_restack_toplevel (GdkSurface *surface, +gdk_broadway_surface_restack_toplevel (GdkSurface *surface, GdkSurface *sibling, gboolean above) { } static void -gdk_surface_broadway_lower (GdkSurface *surface) +gdk_broadway_surface_lower (GdkSurface *surface) { } @@ -439,7 +428,7 @@ static void gdk_broadway_surface_focus (GdkSurface *surface, guint32 timestamp) { - GdkSurfaceImplBroadway *impl; + GdkBroadwaySurface *impl; GdkBroadwayDisplay *broadway_display; g_return_if_fail (GDK_IS_SURFACE (surface)); @@ -448,7 +437,7 @@ gdk_broadway_surface_focus (GdkSurface *surface, !surface->accept_focus) return; - impl = GDK_SURFACE_IMPL_BROADWAY (surface->impl); + impl = GDK_BROADWAY_SURFACE (surface); broadway_display = GDK_BROADWAY_DISPLAY (gdk_surface_get_display (surface)); _gdk_broadway_server_surface_focus (broadway_display->server, impl->id); @@ -473,26 +462,26 @@ gdk_broadway_surface_set_modal_hint (GdkSurface *surface, } static void -gdk_broadway_surface_set_geometry_hints (GdkSurface *surface, +gdk_broadway_surface_set_geometry_hints (GdkSurface *surface, const GdkGeometry *geometry, - GdkSurfaceHints geom_mask) + GdkSurfaceHints geom_mask) { - GdkSurfaceImplBroadway *impl; + GdkBroadwaySurface *impl; - impl = GDK_SURFACE_IMPL_BROADWAY (surface->impl); + impl = GDK_BROADWAY_SURFACE (surface); impl->geometry_hints = *geometry; impl->geometry_hints_mask = geom_mask; } static void -gdk_broadway_surface_set_title (GdkSurface *surface, +gdk_broadway_surface_set_title (GdkSurface *surface, const gchar *title) { } static void -gdk_broadway_surface_set_startup_id (GdkSurface *surface, +gdk_broadway_surface_set_startup_id (GdkSurface *surface, const gchar *startup_id) { } @@ -502,66 +491,58 @@ gdk_broadway_surface_set_transient_for (GdkSurface *surface, GdkSurface *parent) { GdkBroadwayDisplay *display; - GdkSurfaceImplBroadway *impl; + GdkBroadwaySurface *impl; int parent_id; - impl = GDK_SURFACE_IMPL_BROADWAY (surface->impl); + impl = GDK_BROADWAY_SURFACE (surface); parent_id = 0; if (parent) - parent_id = GDK_SURFACE_IMPL_BROADWAY (parent->impl)->id; + parent_id = GDK_BROADWAY_SURFACE (parent)->id; impl->transient_for = parent_id; - display = GDK_BROADWAY_DISPLAY (gdk_surface_get_display (impl->wrapper)); + display = GDK_BROADWAY_DISPLAY (gdk_surface_get_display (surface)); _gdk_broadway_server_surface_set_transient_for (display->server, impl->id, impl->transient_for); } static void -gdk_surface_broadway_get_geometry (GdkSurface *surface, - gint *x, - gint *y, - gint *width, - gint *height) +gdk_broadway_surface_get_geometry (GdkSurface *surface, + gint *x, + gint *y, + gint *width, + gint *height) { - GdkSurfaceImplBroadway *impl; - g_return_if_fail (GDK_IS_SURFACE (surface)); - impl = GDK_SURFACE_IMPL_BROADWAY (surface->impl); - /* TODO: These should really roundtrip to the client to get the current data */ if (x) - *x = impl->wrapper->x; + *x = surface->x; if (y) - *y = impl->wrapper->y; + *y = surface->y; if (width) - *width = impl->wrapper->width; + *width = surface->width; if (height) - *height = impl->wrapper->height; + *height = surface->height; } static void -gdk_surface_broadway_get_root_coords (GdkSurface *surface, - gint x, - gint y, - gint *root_x, - gint *root_y) +gdk_broadway_surface_get_root_coords (GdkSurface *surface, + gint x, + gint y, + gint *root_x, + gint *root_y) { - GdkSurfaceImplBroadway *impl; - - impl = GDK_SURFACE_IMPL_BROADWAY (surface->impl); - if (root_x) - *root_x = x + impl->wrapper->x; + *root_x = x + surface->x; if (root_y) - *root_y = y + impl->wrapper->y; + *root_y = y + surface->y; } static void -gdk_broadway_surface_get_frame_extents (GdkSurface *surface, +gdk_broadway_surface_get_frame_extents (GdkSurface *surface, GdkRectangle *rect) { g_return_if_fail (rect != NULL); @@ -575,7 +556,7 @@ gdk_broadway_surface_get_frame_extents (GdkSurface *surface, } static gboolean -gdk_surface_broadway_get_device_state (GdkSurface *surface, +gdk_broadway_surface_get_device_state (GdkSurface *surface, GdkDevice *device, gdouble *x, gdouble *y, @@ -596,7 +577,7 @@ gdk_surface_broadway_get_device_state (GdkSurface *surface, } static void -gdk_surface_broadway_input_shape_combine_region (GdkSurface *surface, +gdk_broadway_surface_input_shape_combine_region (GdkSurface *surface, const cairo_region_t *shape_region, gint offset_x, gint offset_y) @@ -683,7 +664,7 @@ gdk_broadway_surface_unstick (GdkSurface *surface) static void gdk_broadway_surface_maximize (GdkSurface *surface) { - GdkSurfaceImplBroadway *impl; + GdkBroadwaySurface *impl; GdkDisplay *display; GdkMonitor *monitor; GdkRectangle geom; @@ -692,7 +673,7 @@ gdk_broadway_surface_maximize (GdkSurface *surface) !SURFACE_IS_TOPLEVEL (surface)) return; - impl = GDK_SURFACE_IMPL_BROADWAY (surface->impl); + impl = GDK_BROADWAY_SURFACE (surface); if (impl->maximized) return; @@ -718,13 +699,13 @@ gdk_broadway_surface_maximize (GdkSurface *surface) static void gdk_broadway_surface_unmaximize (GdkSurface *surface) { - GdkSurfaceImplBroadway *impl; + GdkBroadwaySurface *impl; if (GDK_SURFACE_DESTROYED (surface) || !SURFACE_IS_TOPLEVEL (surface)) return; - impl = GDK_SURFACE_IMPL_BROADWAY (surface->impl); + impl = GDK_BROADWAY_SURFACE (surface); if (!impl->maximized) return; @@ -1188,9 +1169,9 @@ gdk_broadway_surface_begin_resize_drag (GdkSurface *surface, guint32 timestamp) { MoveResizeData *mv_resize; - GdkSurfaceImplBroadway *impl; + GdkBroadwaySurface *impl; - impl = GDK_SURFACE_IMPL_BROADWAY (surface->impl); + impl = GDK_BROADWAY_SURFACE (surface); if (GDK_SURFACE_DESTROYED (surface) || !SURFACE_IS_TOPLEVEL (surface)) @@ -1207,8 +1188,8 @@ gdk_broadway_surface_begin_resize_drag (GdkSurface *surface, mv_resize->is_resize = TRUE; mv_resize->moveresize_button = button; mv_resize->resize_edge = edge; - mv_resize->moveresize_x = x + impl->wrapper->x; - mv_resize->moveresize_y = y + impl->wrapper->y; + mv_resize->moveresize_x = x + surface->x; + mv_resize->moveresize_y = y + surface->y; mv_resize->moveresize_surface = g_object_ref (surface); mv_resize->moveresize_orig_width = gdk_surface_get_width (surface); @@ -1231,9 +1212,9 @@ gdk_broadway_surface_begin_move_drag (GdkSurface *surface, guint32 timestamp) { MoveResizeData *mv_resize; - GdkSurfaceImplBroadway *impl; + GdkBroadwaySurface *impl; - impl = GDK_SURFACE_IMPL_BROADWAY (surface->impl); + impl = GDK_BROADWAY_SURFACE (surface); if (GDK_SURFACE_DESTROYED (surface) || !SURFACE_IS_TOPLEVEL (surface)) @@ -1249,8 +1230,8 @@ gdk_broadway_surface_begin_move_drag (GdkSurface *surface, mv_resize->is_resize = FALSE; mv_resize->moveresize_button = button; - mv_resize->moveresize_x = x + impl->wrapper->x; - mv_resize->moveresize_y = y + impl->wrapper->y; + mv_resize->moveresize_x = x + surface->x; + mv_resize->moveresize_y = y + surface->y; mv_resize->moveresize_surface = g_object_ref (surface); mv_resize->moveresize_orig_width = gdk_surface_get_width (surface); @@ -1296,25 +1277,25 @@ gdk_broadway_get_last_seen_time (GdkSurface *surface) } static void -gdk_surface_impl_broadway_class_init (GdkSurfaceImplBroadwayClass *klass) +gdk_broadway_surface_class_init (GdkBroadwaySurfaceClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); - GdkSurfaceImplClass *impl_class = GDK_SURFACE_IMPL_CLASS (klass); - - object_class->finalize = gdk_surface_impl_broadway_finalize; - - impl_class->ref_cairo_surface = gdk_surface_broadway_ref_cairo_surface; - impl_class->show = gdk_surface_broadway_show; - impl_class->hide = gdk_surface_broadway_hide; - impl_class->withdraw = gdk_surface_broadway_withdraw; - impl_class->raise = gdk_surface_broadway_raise; - impl_class->lower = gdk_surface_broadway_lower; - impl_class->restack_toplevel = gdk_surface_broadway_restack_toplevel; - impl_class->move_resize = gdk_surface_broadway_move_resize; - impl_class->get_geometry = gdk_surface_broadway_get_geometry; - impl_class->get_root_coords = gdk_surface_broadway_get_root_coords; - impl_class->get_device_state = gdk_surface_broadway_get_device_state; - impl_class->input_shape_combine_region = gdk_surface_broadway_input_shape_combine_region; + GdkSurfaceClass *impl_class = GDK_SURFACE_CLASS (klass); + + object_class->finalize = gdk_broadway_surface_finalize; + + impl_class->ref_cairo_surface = gdk_broadway_surface_ref_cairo_surface; + impl_class->show = gdk_broadway_surface_show; + impl_class->hide = gdk_broadway_surface_hide; + impl_class->withdraw = gdk_broadway_surface_withdraw; + impl_class->raise = gdk_broadway_surface_raise; + impl_class->lower = gdk_broadway_surface_lower; + impl_class->restack_toplevel = gdk_broadway_surface_restack_toplevel; + impl_class->move_resize = gdk_broadway_surface_move_resize; + impl_class->get_geometry = gdk_broadway_surface_get_geometry; + impl_class->get_root_coords = gdk_broadway_surface_get_root_coords; + impl_class->get_device_state = gdk_broadway_surface_get_device_state; + impl_class->input_shape_combine_region = gdk_broadway_surface_input_shape_combine_region; impl_class->destroy = _gdk_broadway_surface_destroy; impl_class->beep = gdk_broadway_surface_beep; diff --git a/gdk/broadway/gdksurface-broadway.h b/gdk/broadway/gdksurface-broadway.h index 9be2da92df..a2c0b96cf7 100644 --- a/gdk/broadway/gdksurface-broadway.h +++ b/gdk/broadway/gdksurface-broadway.h @@ -25,28 +25,17 @@ #ifndef __GDK_SURFACE_BROADWAY_H__ #define __GDK_SURFACE_BROADWAY_H__ -#include <gdk/gdksurfaceimpl.h> +#include <gdk/gdksurfaceprivate.h> +#include "gdkbroadwaysurface.h" G_BEGIN_DECLS -typedef struct _GdkSurfaceImplBroadway GdkSurfaceImplBroadway; -typedef struct _GdkSurfaceImplBroadwayClass GdkSurfaceImplBroadwayClass; - /* Surface implementation for Broadway */ -#define GDK_TYPE_SURFACE_IMPL_BROADWAY (gdk_surface_impl_broadway_get_type ()) -#define GDK_SURFACE_IMPL_BROADWAY(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_SURFACE_IMPL_BROADWAY, GdkSurfaceImplBroadway)) -#define GDK_SURFACE_IMPL_BROADWAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_SURFACE_IMPL_BROADWAY, GdkSurfaceImplBroadwayClass)) -#define GDK_IS_SURFACE_IMPL_BROADWAY(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_SURFACE_IMPL_BROADWAY)) -#define GDK_IS_SURFACE_IMPL_BROADWAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_SURFACE_IMPL_BROADWAY)) -#define GDK_SURFACE_IMPL_BROADWAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_SURFACE_IMPL_BROADWAY, GdkSurfaceImplBroadwayClass)) - -struct _GdkSurfaceImplBroadway +struct _GdkBroadwaySurface { - GdkSurfaceImpl parent_instance; - - GdkSurface *wrapper; + GdkSurface parent_instance; GdkCursor *cursor; @@ -73,12 +62,12 @@ struct _GdkSurfaceImplBroadway GPtrArray *node_data_textures; }; -struct _GdkSurfaceImplBroadwayClass +struct _GdkBroadwaySurfaceClass { - GdkSurfaceImplClass parent_class; + GdkSurfaceClass parent_class; }; -GType gdk_surface_impl_broadway_get_type (void); +GType gdk_surface_broadway_get_type (void); G_END_DECLS |