summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Hua <william.hua@canonical.com>2017-02-23 13:42:45 -0500
committerWilliam Hua <william.hua@canonical.com>2017-03-01 02:15:56 -0500
commitbdf559c62351664510e35b3a7d78ae7972f3a057 (patch)
treec8c34965b9aff9a3c9ddc1c8b8c3c1719668ccf9
parente07dea5d9747b110513fc803fcdcb96053422961 (diff)
downloadgtk+-bdf559c62351664510e35b3a7d78ae7972f3a057.tar.gz
mir: migrate away from deprecated mir api
-rw-r--r--gdk/mir/gdkmir-debug.c24
-rw-r--r--gdk/mir/gdkmir-private.h8
-rw-r--r--gdk/mir/gdkmirdisplay.c36
-rw-r--r--gdk/mir/gdkmireventsource.c65
-rw-r--r--gdk/mir/gdkmirscreen.c164
-rw-r--r--gdk/mir/gdkmirwindowimpl.c325
6 files changed, 327 insertions, 295 deletions
diff --git a/gdk/mir/gdkmir-debug.c b/gdk/mir/gdkmir-debug.c
index b0ff92985f..6a93ed5c3e 100644
--- a/gdk/mir/gdkmir-debug.c
+++ b/gdk/mir/gdkmir-debug.c
@@ -207,30 +207,30 @@ _gdk_mir_print_input_event (const MirInputEvent *event)
}
static void
-_gdk_mir_print_surface_event (const MirSurfaceEvent *event)
+_gdk_mir_print_window_event (const MirWindowEvent *event)
{
- g_printerr ("SURFACE\n");
+ g_printerr ("WINDOW\n");
g_printerr (" Attribute ");
- switch (mir_surface_event_get_attribute (event))
+ switch (mir_window_event_get_attribute (event))
{
- case mir_surface_attrib_type:
+ case mir_window_attrib_type:
g_printerr ("type");
break;
- case mir_surface_attrib_state:
+ case mir_window_attrib_state:
g_printerr ("state");
break;
- case mir_surface_attrib_swapinterval:
+ case mir_window_attrib_swapinterval:
g_printerr ("swapinterval");
break;
- case mir_surface_attrib_focus:
+ case mir_window_attrib_focus:
g_printerr ("focus");
break;
default:
- g_printerr ("%u", mir_surface_event_get_attribute (event));
+ g_printerr ("%u", mir_window_event_get_attribute (event));
break;
}
g_printerr ("\n");
- g_printerr (" Value %i\n", mir_surface_event_get_attribute_value (event));
+ g_printerr (" Value %i\n", mir_window_event_get_attribute_value (event));
}
static void
@@ -278,13 +278,13 @@ _gdk_mir_print_event (const MirEvent *event)
case mir_event_type_motion:
_gdk_mir_print_motion_event (mir_event_get_input_event (event));
break;
- case mir_event_type_surface:
- _gdk_mir_print_surface_event (mir_event_get_surface_event (event));
+ case mir_event_type_window:
+ _gdk_mir_print_window_event (mir_event_get_window_event (event));
break;
case mir_event_type_resize:
_gdk_mir_print_resize_event (mir_event_get_resize_event (event));
break;
- case mir_event_type_close_surface:
+ case mir_event_type_close_window:
_gdk_mir_print_close_event ();
break;
default:
diff --git a/gdk/mir/gdkmir-private.h b/gdk/mir/gdkmir-private.h
index d9fdeb405a..d6303140c4 100644
--- a/gdk/mir/gdkmir-private.h
+++ b/gdk/mir/gdkmir-private.h
@@ -83,13 +83,15 @@ GdkCursor *_gdk_mir_cursor_new_for_name (GdkDisplay *display, const gchar *name)
const gchar *_gdk_mir_cursor_get_name (GdkCursor *cursor);
+MirWindow *_gdk_mir_window_get_mir_window (GdkWindow *window);
+
GdkWindowImpl *_gdk_mir_window_impl_new (GdkDisplay *display, GdkWindow *window);
-void _gdk_mir_window_impl_set_surface_state (GdkMirWindowImpl *impl, MirSurfaceState state);
+void _gdk_mir_window_impl_set_window_state (GdkMirWindowImpl *impl, MirWindowState state);
-void _gdk_mir_window_impl_set_surface_type (GdkMirWindowImpl *impl, MirSurfaceType type);
+void _gdk_mir_window_impl_set_window_type (GdkMirWindowImpl *impl, MirWindowType type);
-void _gdk_mir_window_set_surface_output (GdkWindow *window, gdouble scale);
+void _gdk_mir_window_set_scale (GdkWindow *window, gdouble scale);
void _gdk_mir_window_set_final_rect (GdkWindow *window, MirRectangle rect);
diff --git a/gdk/mir/gdkmirdisplay.c b/gdk/mir/gdkmirdisplay.c
index 8b210299d6..9660729c57 100644
--- a/gdk/mir/gdkmirdisplay.c
+++ b/gdk/mir/gdkmirdisplay.c
@@ -867,8 +867,8 @@ gdk_mir_display_convert_selection (GdkDisplay *display,
guint32 time)
{
GdkMirDisplay *mir_display = GDK_MIR_DISPLAY (display);
- MirSurface *surface;
- MirPersistentId *persistent_id;
+ MirWindow *mir_window;
+ MirWindowId *mir_window_id;
ConvertInfo *info;
if (selection != GDK_SELECTION_CLIPBOARD)
@@ -877,17 +877,17 @@ gdk_mir_display_convert_selection (GdkDisplay *display,
gdk_mir_display_real_convert_selection (display, requestor, selection, target, time);
else if (mir_display->focused_window)
{
- surface = gdk_mir_window_get_mir_surface (mir_display->focused_window);
+ mir_window = _gdk_mir_window_get_mir_window (mir_display->focused_window);
- if (!surface)
+ if (!mir_window)
return;
- persistent_id = mir_surface_request_persistent_id_sync (surface);
+ mir_window_id = mir_window_request_window_id_sync (mir_window);
- if (!persistent_id)
+ if (!mir_window_id)
return;
- if (mir_persistent_id_is_valid (persistent_id))
+ if (mir_window_id_is_valid (mir_window_id))
{
info = g_new (ConvertInfo, 1);
info->display = g_object_ref (display);
@@ -898,13 +898,13 @@ gdk_mir_display_convert_selection (GdkDisplay *display,
content_hub_service_call_get_latest_paste_data (
mir_display->content_service,
- mir_persistent_id_as_string (persistent_id),
+ mir_window_id_as_string (mir_window_id),
NULL,
paste_data_ready_cb,
info);
}
- mir_persistent_id_release (persistent_id);
+ mir_window_id_release (mir_window_id);
}
}
@@ -1050,34 +1050,34 @@ _gdk_mir_display_create_paste (GdkDisplay *display,
gsize paste_size)
{
GdkMirDisplay *mir_display = GDK_MIR_DISPLAY (display);
- MirSurface *surface;
- MirPersistentId *persistent_id;
+ MirWindow *mir_window;
+ MirWindowId *mir_window_id;
if (!mir_display->focused_window)
return;
- surface = gdk_mir_window_get_mir_surface (mir_display->focused_window);
+ mir_window = _gdk_mir_window_get_mir_window (mir_display->focused_window);
- if (!surface)
+ if (!mir_window)
return;
- persistent_id = mir_surface_request_persistent_id_sync (surface);
+ mir_window_id = mir_window_request_window_id_sync (mir_window);
- if (!persistent_id)
+ if (!mir_window_id)
return;
- if (mir_persistent_id_is_valid (persistent_id))
+ if (mir_window_id_is_valid (mir_window_id))
content_hub_service_call_create_paste_sync (
mir_display->content_service,
g_application_get_application_id (g_application_get_default ()),
- mir_persistent_id_as_string (persistent_id),
+ mir_window_id_as_string (mir_window_id),
g_variant_new_fixed_array (G_VARIANT_TYPE_BYTE, paste_data, paste_size, sizeof (guchar)),
paste_formats,
NULL,
NULL,
NULL);
- mir_persistent_id_release (persistent_id);
+ mir_window_id_release (mir_window_id);
}
gboolean
diff --git a/gdk/mir/gdkmireventsource.c b/gdk/mir/gdkmireventsource.c
index 30b78a4001..c7cda56235 100644
--- a/gdk/mir/gdkmireventsource.c
+++ b/gdk/mir/gdkmireventsource.c
@@ -22,7 +22,7 @@
#include "gdkmir.h"
#include "gdkmir-private.h"
-#include <mir_toolkit/events/surface_placement.h>
+#include <mir_toolkit/events/window_placement.h>
#define NANO_TO_MILLI(x) ((x) / 1000000)
@@ -444,45 +444,46 @@ handle_motion_event (GdkWindow *window, const MirInputEvent *event)
}
static void
-handle_surface_event (GdkWindow *window, const MirSurfaceEvent *event)
+handle_window_event (GdkWindow *window,
+ const MirWindowEvent *event)
{
GdkMirWindowImpl *impl = GDK_MIR_WINDOW_IMPL (window->impl);
- MirSurfaceState state;
+ MirWindowState state;
- switch (mir_surface_event_get_attribute (event))
+ switch (mir_window_event_get_attribute (event))
{
- case mir_surface_attrib_type:
- _gdk_mir_window_impl_set_surface_type (impl, mir_surface_event_get_attribute_value (event));
+ case mir_window_attrib_type:
+ _gdk_mir_window_impl_set_window_type (impl, mir_window_event_get_attribute_value (event));
break;
- case mir_surface_attrib_state:
- state = mir_surface_event_get_attribute_value (event);
- _gdk_mir_window_impl_set_surface_state (impl, state);
+ case mir_window_attrib_state:
+ state = mir_window_event_get_attribute_value (event);
+ _gdk_mir_window_impl_set_window_state (impl, state);
switch (state)
{
- case mir_surface_state_restored:
- case mir_surface_state_hidden:
+ case mir_window_state_restored:
+ case mir_window_state_hidden:
gdk_synthesize_window_state (window,
GDK_WINDOW_STATE_ICONIFIED |
GDK_WINDOW_STATE_MAXIMIZED |
GDK_WINDOW_STATE_FULLSCREEN,
0);
break;
- case mir_surface_state_minimized:
+ case mir_window_state_minimized:
gdk_synthesize_window_state (window,
GDK_WINDOW_STATE_MAXIMIZED |
GDK_WINDOW_STATE_FULLSCREEN,
GDK_WINDOW_STATE_ICONIFIED);
break;
- case mir_surface_state_maximized:
- case mir_surface_state_vertmaximized:
- case mir_surface_state_horizmaximized:
+ case mir_window_state_maximized:
+ case mir_window_state_vertmaximized:
+ case mir_window_state_horizmaximized:
gdk_synthesize_window_state (window,
GDK_WINDOW_STATE_ICONIFIED |
GDK_WINDOW_STATE_FULLSCREEN,
GDK_WINDOW_STATE_MAXIMIZED);
break;
- case mir_surface_state_fullscreen:
+ case mir_window_state_fullscreen:
gdk_synthesize_window_state (window,
GDK_WINDOW_STATE_ICONIFIED |
GDK_WINDOW_STATE_MAXIMIZED,
@@ -493,10 +494,10 @@ handle_surface_event (GdkWindow *window, const MirSurfaceEvent *event)
}
break;
- case mir_surface_attrib_swapinterval:
+ case mir_window_attrib_swapinterval:
break;
- case mir_surface_attrib_focus:
- generate_focus_event (window, mir_surface_event_get_attribute_value (event) != 0);
+ case mir_window_attrib_focus:
+ generate_focus_event (window, mir_window_event_get_attribute_value (event) != 0);
break;
default:
break;
@@ -537,17 +538,17 @@ handle_close_event (GdkWindow *window)
}
static void
-handle_surface_output_event (GdkWindow *window,
- const MirSurfaceOutputEvent *event)
+handle_window_output_event (GdkWindow *window,
+ const MirWindowOutputEvent *event)
{
- _gdk_mir_window_set_surface_output (window, mir_surface_output_event_get_scale (event));
+ _gdk_mir_window_set_scale (window, mir_window_output_event_get_scale (event));
}
static void
-handle_surface_placement_event (GdkWindow *window,
- const MirSurfacePlacementEvent *event)
+handle_window_placement_event (GdkWindow *window,
+ const MirWindowPlacementEvent *event)
{
- _gdk_mir_window_set_final_rect (window, mir_surface_placement_get_relative_position (event));
+ _gdk_mir_window_set_final_rect (window, mir_window_placement_get_relative_position (event));
}
typedef struct
@@ -591,8 +592,8 @@ gdk_mir_event_source_queue_event (GdkDisplay *display,
case mir_event_type_motion:
handle_motion_event (window, mir_event_get_input_event (event));
break;
- case mir_event_type_surface:
- handle_surface_event (window, mir_event_get_surface_event (event));
+ case mir_event_type_window:
+ handle_window_event (window, mir_event_get_window_event (event));
break;
case mir_event_type_resize:
handle_resize_event (window, mir_event_get_resize_event (event));
@@ -603,14 +604,14 @@ gdk_mir_event_source_queue_event (GdkDisplay *display,
case mir_event_type_orientation:
// FIXME?
break;
- case mir_event_type_close_surface:
+ case mir_event_type_close_window:
handle_close_event (window);
break;
- case mir_event_type_surface_output:
- handle_surface_output_event (window, mir_event_get_surface_output_event (event));
+ case mir_event_type_window_output:
+ handle_window_output_event (window, mir_event_get_window_output_event (event));
break;
- case mir_event_type_surface_placement:
- handle_surface_placement_event (window, mir_event_get_surface_placement_event (event));
+ case mir_event_type_window_placement:
+ handle_window_placement_event (window, mir_event_get_window_placement_event (event));
break;
default:
g_warning ("Ignoring unknown Mir event %d", mir_event_get_type (event));
diff --git a/gdk/mir/gdkmirscreen.c b/gdk/mir/gdkmirscreen.c
index daeda30361..59c0d57338 100644
--- a/gdk/mir/gdkmirscreen.c
+++ b/gdk/mir/gdkmirscreen.c
@@ -44,7 +44,7 @@ struct GdkMirScreen
GdkDisplay *display;
/* Current monitor configuration */
- MirDisplayConfiguration *display_config;
+ MirDisplayConfig *display_config;
GdkWindow *root_window;
};
@@ -63,9 +63,15 @@ get_connection (GdkMirScreen *screen)
}
static void
-get_screen_size (MirDisplayConfiguration *config, gint *width, gint *height)
+get_screen_size (MirDisplayConfig *config,
+ gint *width,
+ gint *height)
{
- uint32_t i;
+ const MirOutput *output;
+ const MirOutputMode *mode;
+ gint right;
+ gint bottom;
+ gint i;
*width = 0;
*height = 0;
@@ -73,20 +79,23 @@ get_screen_size (MirDisplayConfiguration *config, gint *width, gint *height)
if (!config)
return;
- for (i = 0; i < config->num_outputs; i++)
+ for (i = 0; i < mir_display_config_get_num_outputs (config); i++)
{
- MirDisplayOutput *o = &config->outputs[i];
- gint w, h;
+ output = mir_display_config_get_output (config, i);
- if (!o->used)
+ if (!mir_output_is_enabled (output))
continue;
- w = o->position_x + o->modes[o->current_mode].horizontal_resolution;
- if (w > *width)
- *width = w;
- h = o->position_y + o->modes[o->current_mode].vertical_resolution;
- if (h > *height)
- *height = h;
+ mode = mir_output_get_current_mode (output);
+
+ right = mir_output_get_position_x (output) + mir_output_mode_get_width (mode);
+ bottom = mir_output_get_position_y (output) + mir_output_mode_get_height (mode);
+
+ if (right > *width)
+ *width = right;
+
+ if (bottom > *height)
+ *height = bottom;
}
}
@@ -94,8 +103,8 @@ static void
update_display_config (GdkMirScreen *screen)
{
gdk_mir_display_get_mir_connection (GDK_DISPLAY (screen->display));
- mir_display_config_destroy (screen->display_config);
- screen->display_config = mir_connection_create_display_config (get_connection (screen));
+ mir_display_config_release (screen->display_config);
+ screen->display_config = mir_connection_create_display_configuration (get_connection (screen));
}
static void
@@ -138,7 +147,7 @@ gdk_mir_screen_finalize (GObject *object)
GdkMirScreen *screen = GDK_MIR_SCREEN (object);
mir_connection_set_display_config_change_callback (get_connection (screen), NULL, NULL);
- mir_display_config_destroy (screen->display_config);
+ mir_display_config_release (screen->display_config);
g_clear_object (&screen->root_window);
G_OBJECT_CLASS (gdk_mir_screen_parent_class)->finalize (object);
@@ -151,21 +160,27 @@ gdk_mir_screen_get_display (GdkScreen *screen)
return GDK_DISPLAY (GDK_MIR_SCREEN (screen)->display);
}
-static MirDisplayOutput *
-get_output (GdkScreen *screen, gint monitor_num)
+static const MirOutput *
+get_output (GdkScreen *screen,
+ gint monitor_num)
{
- MirDisplayConfiguration *config;
- uint32_t i, j;
+ MirDisplayConfig *config;
+ const MirOutput *output;
+ gint i;
+ gint j;
config = GDK_MIR_SCREEN (screen)->display_config;
- for (i = 0, j = 0; i < config->num_outputs; i++)
+ for (i = 0, j = 0; i < mir_display_config_get_num_outputs (config); i++)
{
- if (!config->outputs[i].used)
+ output = mir_display_config_get_output (config, i);
+
+ if (!mir_output_is_enabled (output))
continue;
if (j == monitor_num)
- return &config->outputs[i];
+ return output;
+
j++;
}
@@ -203,15 +218,15 @@ static gint
gdk_mir_screen_get_n_monitors (GdkScreen *screen)
{
//g_printerr ("gdk_mir_screen_get_n_monitors\n");
- MirDisplayConfiguration *config;
- uint32_t i;
+ MirDisplayConfig *config;
gint count = 0;
+ gint i;
config = GDK_MIR_SCREEN (screen)->display_config;
- for (i = 0; i < config->num_outputs; i++)
- if (config->outputs[i].used)
- ++count;
+ for (i = 0; i < mir_display_config_get_num_outputs (config); i++)
+ if (mir_output_is_enabled (mir_display_config_get_output (config, i)))
+ count++;
return count;
}
@@ -228,8 +243,9 @@ gdk_mir_screen_get_monitor_width_mm (GdkScreen *screen,
gint monitor_num)
{
//g_printerr ("gdk_mir_screen_get_monitor_width_mm (%d)\n", monitor_num);
- MirDisplayOutput *output = get_output (screen, monitor_num);
- return output ? output->physical_width_mm : 0;
+ const MirOutput *output = get_output (screen, monitor_num);
+
+ return output ? mir_output_get_physical_width_mm (output) : 0;
}
static gint
@@ -237,8 +253,9 @@ gdk_mir_screen_get_monitor_height_mm (GdkScreen *screen,
gint monitor_num)
{
//g_printerr ("gdk_mir_screen_get_monitor_height_mm (%d)\n", monitor_num);
- MirDisplayOutput *output = get_output (screen, monitor_num);
- return output ? output->physical_height_mm : 0;
+ const MirOutput *output = get_output (screen, monitor_num);
+
+ return output ? mir_output_get_physical_height_mm (output) : 0;
}
static gchar *
@@ -246,44 +263,44 @@ gdk_mir_screen_get_monitor_plug_name (GdkScreen *screen,
gint monitor_num)
{
//g_printerr ("gdk_mir_screen_get_monitor_plug_name (%d)\n", monitor_num);
- MirDisplayOutput *output = get_output (screen, monitor_num);
+ const MirOutput *output = get_output (screen, monitor_num);
if (output)
{
- switch (output->type)
+ switch (mir_output_get_type (output))
{
- case mir_display_output_type_unknown:
- return g_strdup_printf ("None-%u", output->output_id);
- case mir_display_output_type_vga:
- return g_strdup_printf ("VGA-%u", output->output_id);
- case mir_display_output_type_dvii:
- case mir_display_output_type_dvid:
- case mir_display_output_type_dvia:
- return g_strdup_printf ("DVI-%u", output->output_id);
- case mir_display_output_type_composite:
- return g_strdup_printf ("Composite-%u", output->output_id);
- case mir_display_output_type_lvds:
- return g_strdup_printf ("LVDS-%u", output->output_id);
- case mir_display_output_type_component:
- return g_strdup_printf ("CTV-%u", output->output_id);
- case mir_display_output_type_ninepindin:
- return g_strdup_printf ("DIN-%u", output->output_id);
- case mir_display_output_type_displayport:
- return g_strdup_printf ("DP-%u", output->output_id);
- case mir_display_output_type_hdmia:
- case mir_display_output_type_hdmib:
- return g_strdup_printf ("HDMI-%u", output->output_id);
- case mir_display_output_type_svideo:
- case mir_display_output_type_tv:
- return g_strdup_printf ("TV-%u", output->output_id);
- case mir_display_output_type_edp:
- return g_strdup_printf ("eDP-%u", output->output_id);
- case mir_display_output_type_virtual:
- return g_strdup_printf ("Virtual-%u", output->output_id);
- case mir_display_output_type_dsi:
- return g_strdup_printf ("DSI-%u", output->output_id);
- case mir_display_output_type_dpi:
- return g_strdup_printf ("DPI-%u", output->output_id);
+ case mir_output_type_unknown:
+ return g_strdup_printf ("None-%u", mir_output_get_id (output));
+ case mir_output_type_vga:
+ return g_strdup_printf ("VGA-%u", mir_output_get_id (output));
+ case mir_output_type_dvii:
+ case mir_output_type_dvid:
+ case mir_output_type_dvia:
+ return g_strdup_printf ("DVI-%u", mir_output_get_id (output));
+ case mir_output_type_composite:
+ return g_strdup_printf ("Composite-%u", mir_output_get_id (output));
+ case mir_output_type_lvds:
+ return g_strdup_printf ("LVDS-%u", mir_output_get_id (output));
+ case mir_output_type_component:
+ return g_strdup_printf ("CTV-%u", mir_output_get_id (output));
+ case mir_output_type_ninepindin:
+ return g_strdup_printf ("DIN-%u", mir_output_get_id (output));
+ case mir_output_type_displayport:
+ return g_strdup_printf ("DP-%u", mir_output_get_id (output));
+ case mir_output_type_hdmia:
+ case mir_output_type_hdmib:
+ return g_strdup_printf ("HDMI-%u", mir_output_get_id (output));
+ case mir_output_type_svideo:
+ case mir_output_type_tv:
+ return g_strdup_printf ("TV-%u", mir_output_get_id (output));
+ case mir_output_type_edp:
+ return g_strdup_printf ("eDP-%u", mir_output_get_id (output));
+ case mir_output_type_virtual:
+ return g_strdup_printf ("Virtual-%u", mir_output_get_id (output));
+ case mir_output_type_dsi:
+ return g_strdup_printf ("DSI-%u", mir_output_get_id (output));
+ case mir_output_type_dpi:
+ return g_strdup_printf ("DPI-%u", mir_output_get_id (output));
}
}
@@ -296,18 +313,19 @@ gdk_mir_screen_get_monitor_geometry (GdkScreen *screen,
GdkRectangle *dest)
{
//g_printerr ("gdk_mir_screen_get_monitor_geometry (%d)\n", monitor_num);
- MirDisplayOutput *output;
- MirDisplayMode *mode;
+ const MirOutput *output;
+ const MirOutputMode *mode;
output = get_output (screen, monitor_num);
if (output)
{
- mode = &output->modes[output->current_mode];
- dest->x = output->position_x;
- dest->y = output->position_y;
- dest->width = mode->horizontal_resolution;
- dest->height = mode->vertical_resolution;
+ mode = mir_output_get_current_mode (output);
+
+ dest->x = mir_output_get_position_x (output);
+ dest->y = mir_output_get_position_y (output);
+ dest->width = mir_output_mode_get_width (mode);
+ dest->height = mir_output_mode_get_height (mode);
}
else
{
diff --git a/gdk/mir/gdkmirwindowimpl.c b/gdk/mir/gdkmirwindowimpl.c
index 497069e50c..1b27fd020c 100644
--- a/gdk/mir/gdkmirwindowimpl.c
+++ b/gdk/mir/gdkmirwindowimpl.c
@@ -90,9 +90,9 @@ struct _GdkMirWindowImpl
gint rect_anchor_dx;
gint rect_anchor_dy;
- /* Desired surface attributes */
+ /* Desired window attributes */
GdkWindowTypeHint type_hint;
- MirSurfaceState surface_state;
+ MirWindowState window_state;
gboolean modal;
/* Current button state for checking which buttons are being pressed / released */
@@ -102,8 +102,8 @@ struct _GdkMirWindowImpl
GdkDisplay *display;
- /* Surface being rendered to (only exists when window visible) */
- MirSurface *surface;
+ /* Window being rendered to (only exists when visible) */
+ MirWindow *mir_window;
MirBufferStream *buffer_stream;
MirBufferUsage buffer_usage;
@@ -115,7 +115,7 @@ struct _GdkMirWindowImpl
GdkGeometry geometry_hints;
GdkWindowHints geometry_mask;
- /* Egl surface for the current mir surface */
+ /* Egl surface for the current mir window */
EGLSurface egl_surface;
/* Dummy MIR and EGL surfaces */
@@ -139,8 +139,7 @@ struct _GdkMirWindowImplClass
G_DEFINE_TYPE (GdkMirWindowImpl, gdk_mir_window_impl, GDK_TYPE_WINDOW_IMPL)
static cairo_surface_t *gdk_mir_window_impl_ref_cairo_surface (GdkWindow *window);
-static void ensure_surface (GdkWindow *window);
-static void apply_geometry_hints (MirSurfaceSpec *spec, GdkMirWindowImpl *impl);
+static void ensure_mir_window (GdkWindow *window);
static gboolean
type_hint_differs (GdkWindowTypeHint lhs, GdkWindowTypeHint rhs)
@@ -219,14 +218,15 @@ _gdk_mir_window_impl_new (GdkDisplay *display, GdkWindow *window)
}
void
-_gdk_mir_window_impl_set_surface_state (GdkMirWindowImpl *impl, MirSurfaceState state)
+_gdk_mir_window_impl_set_window_state (GdkMirWindowImpl *impl,
+ MirWindowState state)
{
- impl->surface_state = state;
+ impl->window_state = state;
}
void
-_gdk_mir_window_impl_set_surface_type (GdkMirWindowImpl *impl,
- MirSurfaceType type)
+_gdk_mir_window_impl_set_window_type (GdkMirWindowImpl *impl,
+ MirWindowType type)
{
}
@@ -265,37 +265,40 @@ gdk_mir_window_impl_init (GdkMirWindowImpl *impl)
{
impl->properties = g_hash_table_new_full (NULL, NULL, NULL, gdk_mir_property_free);
impl->type_hint = GDK_WINDOW_TYPE_HINT_NORMAL;
- impl->surface_state = mir_surface_state_unknown;
+ impl->window_state = mir_window_state_unknown;
impl->output_scale = 1;
}
static void
-set_surface_state (GdkMirWindowImpl *impl,
- MirSurfaceState state)
+set_window_state (GdkMirWindowImpl *impl,
+ MirWindowState state)
{
MirConnection *connection = gdk_mir_display_get_mir_connection (impl->display);
- if (impl->surface_state == state)
+ MirWindowSpec *spec;
+
+ if (state == impl->window_state)
return;
- impl->surface_state = state;
- if (impl->surface && !impl->pending_spec_update)
+ impl->window_state = state;
+
+ if (impl->mir_window && !impl->pending_spec_update)
{
- MirSurfaceSpec *spec = mir_connection_create_spec_for_changes (connection);
- mir_surface_spec_set_state (spec, state);
- mir_surface_apply_spec (impl->surface, spec);
- mir_surface_spec_release (spec);
+ spec = mir_create_window_spec (connection);
+ mir_window_spec_set_state (spec, state);
+ mir_window_apply_spec (impl->mir_window, spec);
+ mir_window_spec_release (spec);
}
}
static void
-event_cb (MirSurface *surface,
+event_cb (MirWindow *mir_window,
const MirEvent *event,
void *context)
{
_gdk_mir_event_source_queue (context, event);
}
-static MirSurfaceSpec *
+static MirWindowSpec *
create_window_type_spec (GdkDisplay *display,
GdkWindow *parent,
gint x,
@@ -307,17 +310,18 @@ create_window_type_spec (GdkDisplay *display,
MirBufferUsage buffer_usage)
{
MirConnection *connection = gdk_mir_display_get_mir_connection (display);
- MirSurface *parent_surface = NULL;
+ MirWindow *parent_mir_window = NULL;
MirPixelFormat format;
MirRectangle rect;
+ MirWindowSpec *spec;
if (parent && parent->impl)
{
- ensure_surface (parent);
- parent_surface = GDK_MIR_WINDOW_IMPL (parent->impl)->surface;
+ ensure_mir_window (parent);
+ parent_mir_window = GDK_MIR_WINDOW_IMPL (parent->impl)->mir_window;
}
- if (!parent_surface)
+ if (!parent_mir_window)
{
switch (type)
{
@@ -341,21 +345,20 @@ create_window_type_spec (GdkDisplay *display,
{
case GDK_WINDOW_TYPE_HINT_DIALOG:
if (modal)
- return mir_connection_create_spec_for_modal_dialog (connection,
- width,
- height,
- format,
- parent_surface);
- else
- return mir_connection_create_spec_for_dialog (connection,
- width,
- height,
- format);
- case GDK_WINDOW_TYPE_HINT_DOCK:
- return mir_connection_create_spec_for_dialog (connection,
+ spec = mir_create_modal_dialog_window_spec (connection,
width,
height,
- format);
+ parent_mir_window);
+ else
+ spec = mir_create_dialog_window_spec (connection,
+ width,
+ height);
+ break;
+ case GDK_WINDOW_TYPE_HINT_DOCK:
+ spec = mir_create_dialog_window_spec (connection,
+ width,
+ height);
+ break;
case GDK_WINDOW_TYPE_HINT_MENU:
case GDK_WINDOW_TYPE_HINT_DROPDOWN_MENU:
case GDK_WINDOW_TYPE_HINT_POPUP_MENU:
@@ -364,59 +367,65 @@ create_window_type_spec (GdkDisplay *display,
case GDK_WINDOW_TYPE_HINT_DND:
case GDK_WINDOW_TYPE_HINT_TOOLTIP:
case GDK_WINDOW_TYPE_HINT_NOTIFICATION:
- return mir_connection_create_spec_for_menu (connection,
- width,
- height,
- format,
- parent_surface,
- &rect,
- 0);
+ spec = mir_create_menu_window_spec (connection,
+ width,
+ height,
+ parent_mir_window,
+ &rect,
+ 0);
+ break;
case GDK_WINDOW_TYPE_HINT_SPLASHSCREEN:
case GDK_WINDOW_TYPE_HINT_UTILITY:
- return mir_connection_create_spec_for_modal_dialog (connection,
- width,
- height,
- format,
- parent_surface);
+ spec = mir_create_modal_dialog_window_spec (connection,
+ width,
+ height,
+ parent_mir_window);
+ break;
case GDK_WINDOW_TYPE_HINT_NORMAL:
case GDK_WINDOW_TYPE_HINT_DESKTOP:
default:
- return mir_connection_create_spec_for_normal_surface (connection,
- width,
- height,
- format);
+ spec = mir_create_normal_window_spec (connection,
+ width,
+ height);
+ break;
}
+
+ mir_window_spec_set_pixel_format (spec, format);
+
+ return spec;
}
static void
-apply_geometry_hints (MirSurfaceSpec *spec, GdkMirWindowImpl *impl)
+apply_geometry_hints (MirWindowSpec *spec,
+ GdkMirWindowImpl *impl)
{
if (impl->geometry_mask & GDK_HINT_RESIZE_INC)
{
- mir_surface_spec_set_width_increment (spec, impl->geometry_hints.width_inc);
- mir_surface_spec_set_height_increment (spec, impl->geometry_hints.height_inc);
+ mir_window_spec_set_width_increment (spec, impl->geometry_hints.width_inc);
+ mir_window_spec_set_height_increment (spec, impl->geometry_hints.height_inc);
}
if (impl->geometry_mask & GDK_HINT_MIN_SIZE)
{
- mir_surface_spec_set_min_width (spec, impl->geometry_hints.min_width);
- mir_surface_spec_set_min_height (spec, impl->geometry_hints.min_height);
+ mir_window_spec_set_min_width (spec, impl->geometry_hints.min_width);
+ mir_window_spec_set_min_height (spec, impl->geometry_hints.min_height);
}
if (impl->geometry_mask & GDK_HINT_MAX_SIZE)
{
- mir_surface_spec_set_max_width (spec, impl->geometry_hints.max_width);
- mir_surface_spec_set_max_height (spec, impl->geometry_hints.max_height);
+ mir_window_spec_set_max_width (spec, impl->geometry_hints.max_width);
+ mir_window_spec_set_max_height (spec, impl->geometry_hints.max_height);
}
if (impl->geometry_mask & GDK_HINT_ASPECT)
{
- mir_surface_spec_set_min_aspect_ratio (spec, 1000, (unsigned)(1000.0/impl->geometry_hints.min_aspect));
- mir_surface_spec_set_max_aspect_ratio (spec, 1000, (unsigned)(1000.0/impl->geometry_hints.max_aspect));
+ mir_window_spec_set_min_aspect_ratio (spec, (guint) 1000 * impl->geometry_hints.min_aspect, 1000);
+ mir_window_spec_set_max_aspect_ratio (spec, (guint) 1000 * impl->geometry_hints.max_aspect, 1000);
}
}
-static MirSurfaceSpec*
-create_spec (GdkWindow *window, GdkMirWindowImpl *impl)
+static MirWindowSpec *
+create_spec (GdkWindow *window,
+ GdkMirWindowImpl *impl)
{
- MirSurfaceSpec *spec = NULL;
+ MirWindowSpec *spec = NULL;
GdkWindow *parent;
spec = create_window_type_spec (impl->display,
@@ -429,8 +438,8 @@ create_spec (GdkWindow *window, GdkMirWindowImpl *impl)
impl->type_hint,
impl->buffer_usage);
- mir_surface_spec_set_name (spec, impl->title);
- mir_surface_spec_set_buffer_usage (spec, impl->buffer_usage);
+ mir_window_spec_set_name (spec, impl->title);
+ mir_window_spec_set_buffer_usage (spec, impl->buffer_usage);
apply_geometry_hints (spec, impl);
@@ -451,33 +460,34 @@ create_spec (GdkWindow *window, GdkMirWindowImpl *impl)
parent = gdk_window_get_parent (parent);
}
- mir_surface_spec_set_placement (spec,
- &impl->mir_rect,
- impl->rect_anchor,
- impl->window_anchor,
- impl->anchor_hints,
- impl->rect_anchor_dx,
- impl->rect_anchor_dy);
+ mir_window_spec_set_placement (spec,
+ &impl->mir_rect,
+ impl->rect_anchor,
+ impl->window_anchor,
+ impl->anchor_hints,
+ impl->rect_anchor_dx,
+ impl->rect_anchor_dy);
}
return spec;
}
static void
-update_surface_spec (GdkWindow *window)
+update_window_spec (GdkWindow *window)
{
GdkMirWindowImpl *impl = GDK_MIR_WINDOW_IMPL (window->impl);
- MirSurfaceSpec *spec;
+ MirWindowSpec *spec;
- if (!impl->surface)
+ if (!impl->mir_window)
return;
spec = create_spec (window, impl);
- mir_surface_apply_spec (impl->surface, spec);
- mir_surface_spec_release (spec);
+ mir_window_apply_spec (impl->mir_window, spec);
+ mir_window_spec_release (spec);
+
impl->pending_spec_update = FALSE;
- impl->buffer_stream = mir_surface_get_buffer_stream (impl->surface);
+ impl->buffer_stream = mir_window_get_buffer_stream (impl->mir_window);
}
static GdkDevice *
@@ -526,17 +536,17 @@ generate_configure_event (GdkWindow *window,
}
static void
-ensure_surface_full (GdkWindow *window,
- MirBufferUsage buffer_usage)
+ensure_mir_window_full (GdkWindow *window,
+ MirBufferUsage buffer_usage)
{
GdkMirWindowImpl *impl = GDK_MIR_WINDOW_IMPL (window->impl);
GdkMirWindowReference *window_ref;
- MirSurfaceSpec *spec;
+ MirWindowSpec *spec;
- if (impl->surface)
+ if (impl->mir_window)
{
if (impl->pending_spec_update)
- update_surface_spec(window);
+ update_window_spec (window);
return;
}
@@ -548,12 +558,12 @@ ensure_surface_full (GdkWindow *window,
spec = create_spec (window, impl);
- impl->surface = mir_surface_create_sync (spec);
+ impl->mir_window = mir_create_window_sync (spec);
- mir_surface_spec_release(spec);
+ mir_window_spec_release (spec);
impl->pending_spec_update = FALSE;
- impl->buffer_stream = mir_surface_get_buffer_stream (impl->surface);
+ impl->buffer_stream = mir_window_get_buffer_stream (impl->mir_window);
/* FIXME: can't make an initial resize event */
// MirEvent *resize_event;
@@ -571,20 +581,21 @@ ensure_surface_full (GdkWindow *window,
generate_configure_event (window, window->width, window->height);
- mir_surface_set_event_handler (impl->surface, event_cb, window_ref); // FIXME: Ignore some events until shown
+ /* FIXME: Ignore some events until shown */
+ mir_window_set_event_handler (impl->mir_window, event_cb, window_ref);
}
static void
-ensure_surface (GdkWindow *window)
+ensure_mir_window (GdkWindow *window)
{
- ensure_surface_full (window,
- window->gl_paint_context ?
- mir_buffer_usage_hardware :
- mir_buffer_usage_software);
+ ensure_mir_window_full (window,
+ window->gl_paint_context ?
+ mir_buffer_usage_hardware :
+ mir_buffer_usage_software);
}
static void
-ensure_no_surface (GdkWindow *window)
+ensure_no_mir_window (GdkWindow *window)
{
GdkMirWindowImpl *impl = GDK_MIR_WINDOW_IMPL (window->impl);
@@ -612,7 +623,7 @@ ensure_no_surface (GdkWindow *window)
}
}
- g_clear_pointer(&impl->surface, mir_surface_release_sync);
+ g_clear_pointer (&impl->mir_window, mir_window_release_sync);
}
static void
@@ -621,12 +632,12 @@ send_buffer (GdkWindow *window)
GdkMirWindowImpl *impl = GDK_MIR_WINDOW_IMPL (window->impl);
/* Send the completed buffer to Mir */
- mir_buffer_stream_swap_buffers_sync (mir_surface_get_buffer_stream (impl->surface));
+ mir_buffer_stream_swap_buffers_sync (mir_window_get_buffer_stream (impl->mir_window));
/* The Cairo context is no longer valid */
g_clear_pointer (&impl->cairo_surface, cairo_surface_destroy);
if (impl->pending_spec_update)
- update_surface_spec (window);
+ update_window_spec (window);
impl->pending_spec_update = FALSE;
}
@@ -646,7 +657,7 @@ gdk_mir_window_impl_ref_cairo_surface (GdkWindow *window)
return impl->cairo_surface;
}
- ensure_surface (window);
+ ensure_mir_window (window);
if (window->gl_paint_context)
{
@@ -655,7 +666,7 @@ gdk_mir_window_impl_ref_cairo_surface (GdkWindow *window)
}
else if (impl->visible)
{
- mir_buffer_stream_get_graphics_region (mir_surface_get_buffer_stream (impl->surface), &region);
+ mir_buffer_stream_get_graphics_region (mir_window_get_buffer_stream (impl->mir_window), &region);
switch (region.pixel_format)
{
@@ -724,11 +735,9 @@ gdk_mir_window_impl_finalize (GObject *object)
GdkMirWindowImpl *impl = GDK_MIR_WINDOW_IMPL (object);
g_free (impl->title);
- if (impl->surface)
- mir_surface_release_sync (impl->surface);
- if (impl->cairo_surface)
- cairo_surface_destroy (impl->cairo_surface);
+ g_clear_pointer (&impl->mir_window, mir_window_release_sync);
+ g_clear_pointer (&impl->cairo_surface, cairo_surface_destroy);
g_clear_pointer (&impl->properties, g_hash_table_unref);
G_OBJECT_CLASS (gdk_mir_window_impl_parent_class)->finalize (object);
@@ -744,10 +753,10 @@ gdk_mir_window_impl_show (GdkWindow *window,
//g_printerr ("gdk_mir_window_impl_show window=%p\n", window);
impl->visible = TRUE;
- set_surface_state (impl, mir_surface_state_restored);
+ set_window_state (impl, mir_window_state_restored);
- /* Make sure there's a surface to see */
- ensure_surface (window);
+ /* Make sure there's a window to see */
+ ensure_mir_window (window);
if (!window->gl_paint_context)
{
@@ -767,7 +776,7 @@ gdk_mir_window_impl_hide (GdkWindow *window)
impl->cursor_inside = FALSE;
impl->visible = FALSE;
- set_surface_state (impl, mir_surface_state_hidden);
+ set_window_state (impl, mir_window_state_hidden);
}
static void
@@ -779,7 +788,7 @@ gdk_mir_window_impl_withdraw (GdkWindow *window)
impl->cursor_inside = FALSE;
impl->visible = FALSE;
- set_surface_state (impl, mir_surface_state_hidden);
+ set_window_state (impl, mir_window_state_hidden);
}
static void
@@ -824,7 +833,7 @@ gdk_mir_window_impl_move_resize (GdkWindow *window,
*/
GdkMirWindowImpl *impl = GDK_MIR_WINDOW_IMPL (window->impl);
- /* If resize requested then rebuild surface */
+ /* If resize requested then rebuild window */
if (width >= 0 && (window->width != width || window->height != height))
{
/* We accept any resize */
@@ -841,8 +850,8 @@ gdk_mir_window_impl_move_resize (GdkWindow *window,
impl->has_rect = FALSE;
impl->transient_x = x;
impl->transient_y = y;
- if (!impl->pending_spec_update && impl->surface)
- update_surface_spec (window);
+ if (!impl->pending_spec_update && impl->mir_window)
+ update_window_spec (window);
}
}
}
@@ -979,8 +988,8 @@ gdk_mir_window_impl_move_to_rect (GdkWindow *window,
impl->rect_anchor_dx = rect_anchor_dx + get_window_shadow_dx (window, window_anchor);
impl->rect_anchor_dy = rect_anchor_dy + get_window_shadow_dy (window, window_anchor);
- if (impl->surface && !impl->pending_spec_update)
- update_surface_spec (window);
+ if (impl->mir_window && !impl->pending_spec_update)
+ update_window_spec (window);
}
static gint
@@ -1210,25 +1219,20 @@ gdk_mir_window_impl_set_device_cursor (GdkWindow *window,
GdkDevice *device,
GdkCursor *cursor)
{
+ GdkMirWindowImpl *impl = GDK_MIR_WINDOW_IMPL (window->impl);
+ MirConnection *connection = gdk_mir_display_get_mir_connection (impl->display);
+ MirWindowSpec *spec;
const gchar *cursor_name;
- MirCursorConfiguration *configuration;
if (cursor)
cursor_name = _gdk_mir_cursor_get_name (cursor);
else
cursor_name = mir_default_cursor_name;
- configuration = mir_cursor_configuration_from_name (cursor_name);
-
- if (configuration)
- {
- GdkMirWindowImpl *impl = GDK_MIR_WINDOW_IMPL (window->impl);
-
- if (impl->surface)
- mir_surface_configure_cursor (impl->surface, configuration);
-
- mir_cursor_configuration_destroy (configuration);
- }
+ spec = mir_create_window_spec (connection);
+ mir_window_spec_set_cursor_name (spec, cursor_name);
+ mir_window_apply_spec (impl->mir_window, spec);
+ mir_window_spec_release (spec);
}
static void
@@ -1324,7 +1328,7 @@ gdk_mir_window_impl_destroy (GdkWindow *window,
GdkMirWindowImpl *impl = GDK_MIR_WINDOW_IMPL (window->impl);
impl->visible = FALSE;
- ensure_no_surface (window);
+ ensure_no_mir_window (window);
}
static void
@@ -1343,8 +1347,9 @@ gdk_mir_window_impl_set_type_hint (GdkWindow *window,
if (type_hint_differs (hint, impl->type_hint))
{
impl->type_hint = hint;
- if (impl->surface && !impl->pending_spec_update)
- update_surface_spec (window);
+
+ if (impl->mir_window && !impl->pending_spec_update)
+ update_window_spec (window);
}
}
@@ -1366,8 +1371,8 @@ gdk_mir_window_impl_set_modal_hint (GdkWindow *window,
{
impl->modal = modal;
- if (impl->surface && !impl->pending_spec_update)
- update_surface_spec (window);
+ if (impl->mir_window && !impl->pending_spec_update)
+ update_window_spec (window);
}
}
@@ -1399,17 +1404,18 @@ gdk_mir_window_impl_set_geometry_hints (GdkWindow *window,
{
GdkMirWindowImpl *impl = GDK_MIR_WINDOW_IMPL (window->impl);
MirConnection *connection = gdk_mir_display_get_mir_connection (impl->display);
+ MirWindowSpec *spec;
//g_printerr ("gdk_mir_window_impl_set_geometry_hints window=%p impl=%p\n", window, impl);
impl->geometry_hints = *geometry;
impl->geometry_mask = geom_mask;
- if (impl->surface && !impl->pending_spec_update)
+ if (impl->mir_window && !impl->pending_spec_update)
{
- MirSurfaceSpec* spec = mir_connection_create_spec_for_changes (connection);
+ spec = mir_create_window_spec (connection);
apply_geometry_hints (spec, impl);
- mir_surface_apply_spec (impl->surface, spec);
- mir_surface_spec_release (spec);
+ mir_window_apply_spec (impl->mir_window, spec);
+ mir_window_spec_release (spec);
}
}
@@ -1419,16 +1425,18 @@ gdk_mir_window_impl_set_title (GdkWindow *window,
{
GdkMirWindowImpl *impl = GDK_MIR_WINDOW_IMPL (window->impl);
MirConnection *connection = gdk_mir_display_get_mir_connection (impl->display);
+ MirWindowSpec *spec;
//g_printerr ("gdk_mir_window_impl_set_title window=%p\n", window);
g_free (impl->title);
impl->title = g_strdup (title);
- if (impl->surface && !impl->pending_spec_update)
+
+ if (impl->mir_window && !impl->pending_spec_update)
{
- MirSurfaceSpec* spec = mir_connection_create_spec_for_changes (connection);
- mir_surface_spec_set_name (spec, impl->title);
- mir_surface_apply_spec (impl->surface, spec);
- mir_surface_spec_release (spec);
+ spec = mir_create_window_spec (connection);
+ mir_window_spec_set_name (spec, impl->title);
+ mir_window_apply_spec (impl->mir_window, spec);
+ mir_window_spec_release (spec);
}
}
@@ -1459,8 +1467,8 @@ gdk_mir_window_impl_set_transient_for (GdkWindow *window,
/* Link this window to the parent */
impl->transient_for = parent;
- if (impl->surface && !impl->pending_spec_update)
- update_surface_spec (window);
+ if (impl->mir_window && !impl->pending_spec_update)
+ update_window_spec (window);
}
static void
@@ -1533,21 +1541,21 @@ static void
gdk_mir_window_impl_maximize (GdkWindow *window)
{
//g_printerr ("gdk_mir_window_impl_maximize window=%p\n", window);
- set_surface_state (GDK_MIR_WINDOW_IMPL (window->impl), mir_surface_state_maximized);
+ set_window_state (GDK_MIR_WINDOW_IMPL (window->impl), mir_window_state_maximized);
}
static void
gdk_mir_window_impl_unmaximize (GdkWindow *window)
{
//g_printerr ("gdk_mir_window_impl_unmaximize window=%p\n", window);
- set_surface_state (GDK_MIR_WINDOW_IMPL (window->impl), mir_surface_state_restored);
+ set_window_state (GDK_MIR_WINDOW_IMPL (window->impl), mir_window_state_restored);
}
static void
gdk_mir_window_impl_fullscreen (GdkWindow *window)
{
//g_printerr ("gdk_mir_window_impl_fullscreen window=%p\n", window);
- set_surface_state (GDK_MIR_WINDOW_IMPL (window->impl), mir_surface_state_fullscreen);
+ set_window_state (GDK_MIR_WINDOW_IMPL (window->impl), mir_window_state_fullscreen);
}
static void
@@ -1560,7 +1568,7 @@ static void
gdk_mir_window_impl_unfullscreen (GdkWindow *window)
{
//g_printerr ("gdk_mir_window_impl_unfullscreen window=%p\n", window);
- set_surface_state (GDK_MIR_WINDOW_IMPL (window->impl), mir_surface_state_restored);
+ set_window_state (GDK_MIR_WINDOW_IMPL (window->impl), mir_window_state_restored);
}
static void
@@ -2136,8 +2144,8 @@ _gdk_mir_window_get_egl_surface (GdkWindow *window,
EGLDisplay egl_display;
EGLNativeWindowType egl_window;
- ensure_no_surface (window);
- ensure_surface_full (window, mir_buffer_usage_hardware);
+ ensure_no_mir_window (window);
+ ensure_mir_window_full (window, mir_buffer_usage_hardware);
egl_display = _gdk_mir_display_get_egl_display (gdk_window_get_display (window));
egl_window = (EGLNativeWindowType) mir_buffer_stream_get_egl_native_window (impl->buffer_stream);
@@ -2177,23 +2185,26 @@ _gdk_mir_window_get_dummy_egl_surface (GdkWindow *window,
MirSurface *
gdk_mir_window_get_mir_surface (GdkWindow *window)
{
- GdkMirWindowImpl *impl;
+ return _gdk_mir_window_get_mir_window (window);
+}
+MirWindow *
+_gdk_mir_window_get_mir_window (GdkWindow *window)
+{
g_return_val_if_fail (GDK_IS_MIR_WINDOW (window), NULL);
- impl = GDK_MIR_WINDOW_IMPL (window->impl);
-
- return impl->surface;
+ return GDK_MIR_WINDOW_IMPL (window->impl)->mir_window;
}
void
-_gdk_mir_window_set_surface_output (GdkWindow *window, gdouble scale)
+_gdk_mir_window_set_scale (GdkWindow *window,
+ gdouble scale)
{
- // g_printerr ("_gdk_mir_window_impl_set_surface_output impl=%p\n", impl);
GdkMirWindowImpl *impl = GDK_MIR_WINDOW_IMPL (window->impl);
GdkRectangle area = {0, 0, window->width, window->height};
cairo_region_t *region;
gint new_scale = (gint) round (scale);
+ // g_printerr ("_gdk_mir_window_set_scale impl=%p\n", impl);
if (impl->output_scale != new_scale)
{