From 5a47ee036503298890852881edd5be83793a9d25 Mon Sep 17 00:00:00 2001 From: Brandon Schaefer Date: Mon, 27 Feb 2017 12:20:16 -0800 Subject: [PATCH] mir: Get ready for Mir 1.0, clean up deprecations. Thanks Micha? Kuchta! --- configure.in | 4 +- src/video/mir/SDL_mirevents.c | 18 ++-- src/video/mir/SDL_mirevents.h | 2 +- src/video/mir/SDL_mirframebuffer.c | 2 +- src/video/mir/SDL_mirmouse.c | 21 ++-- src/video/mir/SDL_mirsym.h | 60 ++++++------ src/video/mir/SDL_mirwindow.c | 149 +++++++++++++++-------------- src/video/mir/SDL_mirwindow.h | 2 +- 8 files changed, 134 insertions(+), 124 deletions(-) diff --git a/configure.in b/configure.in index 5e30e967b..f1acc11fe 100644 --- a/configure.in +++ b/configure.in @@ -1414,11 +1414,11 @@ AC_HELP_STRING([--enable-video-mir], [use Mir video driver [[default=yes]]]), save_CFLAGS="$CFLAGS" CFLAGS="$save_CFLAGS $MIR_CFLAGS" - dnl This will disable Mir if >= v0.25 is not available + dnl This will disable Mir if >= v0.26 is not available AC_TRY_COMPILE([ #include ],[ - MirTouchAction actions = mir_touch_actions + MirWindowAttrib attrib = mir_window_attrib_state ],[ video_mir=yes ]) diff --git a/src/video/mir/SDL_mirevents.c b/src/video/mir/SDL_mirevents.c index 62423e414..ed01dea74 100644 --- a/src/video/mir/SDL_mirevents.c +++ b/src/video/mir/SDL_mirevents.c @@ -270,23 +270,23 @@ MIR_HandleResize(MirResizeEvent const* resize_event, SDL_Window* window) } static void -MIR_HandleSurface(MirSurfaceEvent const* surface_event, SDL_Window* window) +MIR_HandleWindow(MirWindowEvent const* event, SDL_Window* window) { - MirSurfaceAttrib attrib = MIR_mir_surface_event_get_attribute(surface_event); - int value = MIR_mir_surface_event_get_attribute_value(surface_event); + MirWindowAttrib attrib = MIR_mir_window_event_get_attribute(event); + int value = MIR_mir_window_event_get_attribute_value(event); - if (attrib == mir_surface_attrib_focus) { - if (value == mir_surface_focused) { + if (attrib == mir_window_attrib_focus) { + if (value == mir_window_focus_state_focused) { SDL_SetKeyboardFocus(window); } - else if (value == mir_surface_unfocused) { + else if (value == mir_window_focus_state_unfocused) { SDL_SetKeyboardFocus(NULL); } } } void -MIR_HandleEvent(MirSurface* surface, MirEvent const* ev, void* context) +MIR_HandleEvent(MirWindow* mirwindow, MirEvent const* ev, void* context) { MirEventType event_type = MIR_mir_event_get_type(ev); SDL_Window* window = (SDL_Window*)context; @@ -299,8 +299,8 @@ MIR_HandleEvent(MirSurface* surface, MirEvent const* ev, void* context) case (mir_event_type_resize): MIR_HandleResize(MIR_mir_event_get_resize_event(ev), window); break; - case (mir_event_type_surface): - MIR_HandleSurface(MIR_mir_event_get_surface_event(ev), window); + case (mir_event_type_window): + MIR_HandleWindow(MIR_mir_event_get_window_event(ev), window); break; default: break; diff --git a/src/video/mir/SDL_mirevents.h b/src/video/mir/SDL_mirevents.h index 13b4c01a4..88ac5b38e 100644 --- a/src/video/mir/SDL_mirevents.h +++ b/src/video/mir/SDL_mirevents.h @@ -29,7 +29,7 @@ #include extern void -MIR_HandleEvent(MirSurface* surface, MirEvent const* ev, void* context); +MIR_HandleEvent(MirWindow*, MirEvent const* ev, void* context); #endif /* _SDL_mirevents_h */ diff --git a/src/video/mir/SDL_mirframebuffer.c b/src/video/mir/SDL_mirframebuffer.c index 2fa1423e0..056fbfc3b 100644 --- a/src/video/mir/SDL_mirframebuffer.c +++ b/src/video/mir/SDL_mirframebuffer.c @@ -70,7 +70,7 @@ MIR_UpdateWindowFramebuffer(_THIS, SDL_Window* window, char* s_dest; char* pixels; - bs = MIR_mir_surface_get_buffer_stream(mir_window->surface); + bs = MIR_mir_window_get_buffer_stream(mir_window->window); MIR_mir_buffer_stream_get_graphics_region(bs, ®ion); s_dest = region.vaddr; diff --git a/src/video/mir/SDL_mirmouse.c b/src/video/mir/SDL_mirmouse.c index 0b4424b06..5a2a303b0 100644 --- a/src/video/mir/SDL_mirmouse.c +++ b/src/video/mir/SDL_mirmouse.c @@ -41,6 +41,7 @@ typedef struct { MirCursorConfiguration* conf; MirBufferStream* stream; + char const* name; } MIR_Cursor; static SDL_Cursor* @@ -55,6 +56,7 @@ MIR_CreateDefaultCursor() if (mir_cursor) { mir_cursor->conf = NULL; mir_cursor->stream = NULL; + mir_cursor->name = NULL; cursor->driverdata = mir_cursor; } else { @@ -188,7 +190,7 @@ MIR_CreateSystemCursor(SDL_SystemCursor id) return NULL; } - mir_cursor->conf = MIR_mir_cursor_configuration_from_name(cursor_name); + mir_cursor->name = cursor_name; return cursor; } @@ -220,18 +222,25 @@ MIR_ShowCursor(SDL_Cursor* cursor) MIR_Window* mir_window = mir_data->current_window; if (cursor && cursor->driverdata) { - if (mir_window && MIR_mir_surface_is_valid(mir_window->surface)) { + if (mir_window && MIR_mir_window_is_valid(mir_window->window)) { MIR_Cursor* mir_cursor = (MIR_Cursor*)cursor->driverdata; + if (mir_cursor->name != NULL) { + MirWindowSpec* spec = MIR_mir_create_window_spec(mir_data->connection); + MIR_mir_window_spec_set_cursor_name(spec, mir_cursor->name); + MIR_mir_window_apply_spec(mir_window->window, spec); + MIR_mir_window_spec_release(spec); + } + if (mir_cursor->conf) { - MIR_mir_surface_configure_cursor(mir_window->surface, mir_cursor->conf); + MIR_mir_window_configure_cursor(mir_window->window, mir_cursor->conf); } } } - else if(mir_window && MIR_mir_surface_is_valid(mir_window->surface)) { - MIR_mir_surface_configure_cursor(mir_window->surface, NULL); + else if(mir_window && MIR_mir_window_is_valid(mir_window->window)) { + MIR_mir_window_configure_cursor(mir_window->window, NULL); } - + return 0; } diff --git a/src/video/mir/SDL_mirsym.h b/src/video/mir/SDL_mirsym.h index 976b30d80..79f3075cf 100644 --- a/src/video/mir/SDL_mirsym.h +++ b/src/video/mir/SDL_mirsym.h @@ -34,28 +34,30 @@ #endif SDL_MIR_MODULE(MIR_CLIENT) -SDL_MIR_SYM(MirSurface *,mir_surface_create_sync,(MirSurfaceSpec* spec)) +SDL_MIR_SYM(MirWindow *,mir_create_window_sync,(MirWindowSpec* spec)) SDL_MIR_SYM(MirEGLNativeWindowType,mir_buffer_stream_get_egl_native_window,(MirBufferStream *surface)) -SDL_MIR_SYM(void,mir_buffer_stream_get_graphics_region,(MirBufferStream *stream, MirGraphicsRegion *graphics_region)) +SDL_MIR_SYM(bool,mir_buffer_stream_get_graphics_region,(MirBufferStream *stream, MirGraphicsRegion *graphics_region)) SDL_MIR_SYM(void,mir_buffer_stream_swap_buffers_sync,(MirBufferStream *stream)) -SDL_MIR_SYM(void,mir_surface_set_event_handler,(MirSurface *surface, mir_surface_event_callback callback, void* context)) -SDL_MIR_SYM(MirSurfaceSpec*,mir_connection_create_spec_for_normal_surface,(MirConnection *connection, int width, int height, MirPixelFormat format)) -SDL_MIR_SYM(MirSurfaceSpec*,mir_connection_create_spec_for_changes,(MirConnection *connection)) -SDL_MIR_SYM(void,mir_surface_spec_set_buffer_usage,(MirSurfaceSpec *spec, MirBufferUsage usage)) -SDL_MIR_SYM(void,mir_surface_spec_set_name,(MirSurfaceSpec *spec, char const *name)) -SDL_MIR_SYM(void,mir_surface_spec_release,(MirSurfaceSpec *spec)) -SDL_MIR_SYM(void,mir_surface_spec_set_width,(MirSurfaceSpec *spec, unsigned width)) -SDL_MIR_SYM(void,mir_surface_spec_set_height,(MirSurfaceSpec *spec, unsigned height)) -SDL_MIR_SYM(void,mir_surface_spec_set_min_width,(MirSurfaceSpec *spec, unsigned min_width)) -SDL_MIR_SYM(void,mir_surface_spec_set_min_height,(MirSurfaceSpec *spec, unsigned min_height)) -SDL_MIR_SYM(void,mir_surface_spec_set_max_width,(MirSurfaceSpec *spec, unsigned max_width)) -SDL_MIR_SYM(void,mir_surface_spec_set_max_height,(MirSurfaceSpec *spec, unsigned max_height)) -SDL_MIR_SYM(void,mir_surface_spec_set_type,(MirSurfaceSpec *spec, MirSurfaceType type)) -SDL_MIR_SYM(void,mir_surface_spec_set_state,(MirSurfaceSpec *spec, MirSurfaceState state)) -SDL_MIR_SYM(void,mir_surface_spec_set_pointer_confinement,(MirSurfaceSpec *spec, MirPointerConfinementState state)) -SDL_MIR_SYM(void,mir_surface_apply_spec,(MirSurface *surface, MirSurfaceSpec *spec)) -SDL_MIR_SYM(void,mir_surface_get_parameters,(MirSurface *surface, MirSurfaceParameters *params)) -SDL_MIR_SYM(MirBufferStream*,mir_surface_get_buffer_stream,(MirSurface *surface)) +SDL_MIR_SYM(void,mir_window_set_event_handler,(MirWindow* window, MirWindowEventCallback callback, void* context)) +SDL_MIR_SYM(MirWindowSpec*,mir_create_normal_window_spec,(MirConnection *connection, int width, int height)) +SDL_MIR_SYM(MirWindowSpec*,mir_create_window_spec,(MirConnection *connection)) +SDL_MIR_SYM(void,mir_window_spec_set_buffer_usage,(MirWindowSpec *spec, MirBufferUsage usage)) +SDL_MIR_SYM(void,mir_window_spec_set_name,(MirWindowSpec *spec, char const *name)) +SDL_MIR_SYM(void,mir_window_spec_release,(MirWindowSpec *spec)) +SDL_MIR_SYM(void,mir_window_spec_set_width,(MirWindowSpec *spec, unsigned width)) +SDL_MIR_SYM(void,mir_window_spec_set_height,(MirWindowSpec *spec, unsigned height)) +SDL_MIR_SYM(void,mir_window_spec_set_min_width,(MirWindowSpec *spec, unsigned min_width)) +SDL_MIR_SYM(void,mir_window_spec_set_min_height,(MirWindowSpec *spec, unsigned min_height)) +SDL_MIR_SYM(void,mir_window_spec_set_max_width,(MirWindowSpec *spec, unsigned max_width)) +SDL_MIR_SYM(void,mir_window_spec_set_max_height,(MirWindowSpec *spec, unsigned max_height)) +SDL_MIR_SYM(void,mir_window_spec_set_type,(MirWindowSpec *spec, MirWindowType type)) +SDL_MIR_SYM(void,mir_window_spec_set_state,(MirWindowSpec *spec, MirWindowState state)) +SDL_MIR_SYM(void,mir_window_spec_set_pointer_confinement,(MirWindowSpec *spec, MirPointerConfinementState state)) +SDL_MIR_SYM(void,mir_window_spec_set_pixel_format,(MirWindowSpec *spec, MirPixelFormat pixel_format)) +SDL_MIR_SYM(void,mir_window_spec_set_cursor_name,(MirWindowSpec *spec, char const* cursor_name)) +SDL_MIR_SYM(void,mir_window_apply_spec,(MirWindow* window, MirWindowSpec* spec)) +SDL_MIR_SYM(void,mir_window_get_parameters,(MirWindow *window, MirWindowParameters *params)) +SDL_MIR_SYM(MirBufferStream*,mir_window_get_buffer_stream,(MirWindow* window)) SDL_MIR_SYM(MirCursorConfiguration*,mir_cursor_configuration_from_buffer_stream,(MirBufferStream const* stream, int hot_x, int hot_y)) SDL_MIR_SYM(MirBufferStream*,mir_connection_create_buffer_stream_sync,(MirConnection *connection, int w, int h, MirPixelFormat format, MirBufferUsage usage)) SDL_MIR_SYM(MirKeyboardAction,mir_keyboard_event_action,(MirKeyboardEvent const *event)) @@ -76,7 +78,7 @@ SDL_MIR_SYM(MirResizeEvent const*,mir_event_get_resize_event,(MirEvent const *ev SDL_MIR_SYM(MirKeyboardEvent const*,mir_input_event_get_keyboard_event,(MirInputEvent const *event)) SDL_MIR_SYM(MirPointerEvent const*,mir_input_event_get_pointer_event,(MirInputEvent const *event)) SDL_MIR_SYM(MirTouchEvent const*,mir_input_event_get_touch_event,(MirInputEvent const *event)) -SDL_MIR_SYM(MirSurfaceEvent const*,mir_event_get_surface_event,(MirEvent const *event)) +SDL_MIR_SYM(MirWindowEvent const*,mir_event_get_window_event,(MirEvent const *event)) SDL_MIR_SYM(unsigned int,mir_touch_event_point_count,(MirTouchEvent const *event)) SDL_MIR_SYM(void,mir_connection_get_available_surface_formats,(MirConnection* connection, MirPixelFormat* formats, unsigned const int format_size, unsigned int *num_valid_formats)) SDL_MIR_SYM(MirEGLNativeDisplayType,mir_connection_get_egl_native_display,(MirConnection *connection)) @@ -84,19 +86,17 @@ SDL_MIR_SYM(bool,mir_connection_is_valid,(MirConnection *connection)) SDL_MIR_SYM(void,mir_connection_release,(MirConnection *connection)) SDL_MIR_SYM(MirPixelFormat,mir_connection_get_egl_pixel_format,(MirConnection* connection, void* egldisplay, void* eglconfig)) SDL_MIR_SYM(MirConnection *,mir_connect_sync,(char const *server, char const *app_name)) -SDL_MIR_SYM(char const *,mir_surface_get_error_message,(MirSurface *surface)) -SDL_MIR_SYM(bool,mir_surface_is_valid,(MirSurface *surface)) -SDL_MIR_SYM(void,mir_surface_release_sync,(MirSurface *surface)) +SDL_MIR_SYM(char const *,mir_window_get_error_message,(MirWindow *window)) +SDL_MIR_SYM(bool,mir_window_is_valid,(MirWindow *window)) +SDL_MIR_SYM(void,mir_window_release_sync,(MirWindow* window)) SDL_MIR_SYM(void,mir_buffer_stream_release_sync,(MirBufferStream *stream)) -SDL_MIR_SYM(MirCursorConfiguration*,mir_cursor_configuration_from_name,(char const* cursor_name)) -SDL_MIR_SYM(MirWaitHandle*,mir_surface_configure_cursor,(MirSurface* surface, MirCursorConfiguration const* conf)) +SDL_MIR_SYM(void,mir_window_configure_cursor,(MirWindow* window, MirCursorConfiguration const* conf)) SDL_MIR_SYM(void,mir_cursor_configuration_destroy,(MirCursorConfiguration* conf)) SDL_MIR_SYM(int,mir_resize_event_get_width,(MirResizeEvent const* resize_event)) SDL_MIR_SYM(int,mir_resize_event_get_height,(MirResizeEvent const* resize_event)) SDL_MIR_SYM(char const*,mir_connection_get_error_message,(MirConnection* connection)) -SDL_MIR_SYM(MirSurfaceAttrib,mir_surface_event_get_attribute,(MirSurfaceEvent const* surface_event)) -SDL_MIR_SYM(int,mir_surface_event_get_attribute_value,(MirSurfaceEvent const* surface_event)) -SDL_MIR_SYM(void,mir_wait_for,(MirWaitHandle* handle)) +SDL_MIR_SYM(MirWindowAttrib,mir_window_event_get_attribute,(MirWindowEvent const* event)) +SDL_MIR_SYM(int,mir_window_event_get_attribute_value,(MirWindowEvent const* window_event)) SDL_MIR_SYM(MirDisplayConfig*,mir_connection_create_display_configuration,(MirConnection* connection)) SDL_MIR_SYM(void,mir_display_config_release,(MirDisplayConfig* config)) SDL_MIR_SYM(int,mir_display_config_get_num_outputs,(MirDisplayConfig const* config)) @@ -116,7 +116,7 @@ SDL_MIR_SYM(MirOutputMode const*,mir_output_get_mode,(MirOutput const* output, s SDL_MIR_SYM(int,mir_output_mode_get_width,(MirOutputMode const* mode)) SDL_MIR_SYM(int,mir_output_mode_get_height,(MirOutputMode const* mode)) SDL_MIR_SYM(double,mir_output_mode_get_refresh_rate,(MirOutputMode const* mode)) -SDL_MIR_SYM(MirOutputGammaSupported,mir_output_is_gamma_supported,(MirOutput const* output)) +SDL_MIR_SYM(bool,mir_output_is_gamma_supported,(MirOutput const* output)) SDL_MIR_SYM(uint32_t,mir_output_get_gamma_size,(MirOutput const* output)) SDL_MIR_SYM(void,mir_output_get_gamma,(MirOutput const* output, uint16_t* red, uint16_t* green, uint16_t* blue, uint32_t size)) SDL_MIR_SYM(void,mir_output_set_gamma,(MirOutput* output, uint16_t const* red, uint16_t const* green, uint16_t const* blue, uint32_t size)) diff --git a/src/video/mir/SDL_mirwindow.c b/src/video/mir/SDL_mirwindow.c index 576e8a1e1..e3053f204 100644 --- a/src/video/mir/SDL_mirwindow.c +++ b/src/video/mir/SDL_mirwindow.c @@ -39,8 +39,8 @@ int IsSurfaceValid(MIR_Window* mir_window) { - if (!MIR_mir_surface_is_valid(mir_window->surface)) { - const char* error = MIR_mir_surface_get_error_message(mir_window->surface); + if (!MIR_mir_window_is_valid(mir_window->window)) { + const char* error = MIR_mir_window_get_error_message(mir_window->window); return SDL_SetError("Failed to created a mir surface: %s", error); } @@ -81,7 +81,7 @@ MIR_CreateWindow(_THIS, SDL_Window* window) MirPixelFormat pixel_format; MirBufferUsage buffer_usage; - MirSurfaceSpec* spec; + MirWindowSpec* spec; mir_window = SDL_calloc(1, sizeof(MIR_Window)); if (!mir_window) @@ -117,31 +117,31 @@ MIR_CreateWindow(_THIS, SDL_Window* window) if (mir_data->software) buffer_usage = mir_buffer_usage_software; - spec = MIR_mir_connection_create_spec_for_normal_surface(mir_data->connection, - window->w, - window->h, - pixel_format); + spec = MIR_mir_create_normal_window_spec(mir_data->connection, + window->w, + window->h); - MIR_mir_surface_spec_set_buffer_usage(spec, buffer_usage); - MIR_mir_surface_spec_set_name(spec, "Mir surface"); + MIR_mir_window_spec_set_buffer_usage(spec, buffer_usage); + MIR_mir_window_spec_set_name(spec, "Mir surface"); + MIR_mir_window_spec_set_pixel_format(spec, pixel_format); if (window->flags & SDL_WINDOW_INPUT_FOCUS) SDL_SetKeyboardFocus(window); - mir_window->surface = MIR_mir_surface_create_sync(spec); - MIR_mir_surface_set_event_handler(mir_window->surface, MIR_HandleEvent, window); + mir_window->window = MIR_mir_create_window_sync(spec); + MIR_mir_window_set_event_handler(mir_window->window, MIR_HandleEvent, window); - MIR_mir_surface_spec_release(spec); + MIR_mir_window_spec_release(spec); - if (!MIR_mir_surface_is_valid(mir_window->surface)) { + if (!MIR_mir_window_is_valid(mir_window->window)) { return SDL_SetError("Failed to created a mir surface: %s", - MIR_mir_surface_get_error_message(mir_window->surface)); + MIR_mir_window_get_error_message(mir_window->window)); } if (window->flags & SDL_WINDOW_OPENGL) { EGLNativeWindowType egl_native_window = (EGLNativeWindowType)MIR_mir_buffer_stream_get_egl_native_window( - MIR_mir_surface_get_buffer_stream(mir_window->surface)); + MIR_mir_window_get_buffer_stream(mir_window->window)); mir_window->egl_surface = SDL_EGL_CreateSurface(_this, egl_native_window); @@ -167,7 +167,7 @@ MIR_DestroyWindow(_THIS, SDL_Window* window) if (mir_data) { SDL_EGL_DestroySurface(_this, mir_window->egl_surface); - MIR_mir_surface_release_sync(mir_window->surface); + MIR_mir_window_release_sync(mir_window->window); mir_data->current_window = NULL; @@ -185,7 +185,8 @@ MIR_GetWindowWMInfo(_THIS, SDL_Window* window, SDL_SysWMinfo* info) info->subsystem = SDL_SYSWM_MIR; info->info.mir.connection = mir_window->mir_data->connection; - info->info.mir.surface = mir_window->surface; + // Cannot change this to window due to it being in the public API + info->info.mir.surface = mir_window->window; return SDL_TRUE; } @@ -200,23 +201,23 @@ MIR_SetWindowFullscreen(_THIS, SDL_Window* window, { MIR_Data* mir_data = _this->driverdata; MIR_Window* mir_window = window->driverdata; - MirSurfaceSpec* spec; - MirSurfaceState state; + MirWindowSpec* spec; + MirWindowState state; if (IsSurfaceValid(mir_window) < 0) return; if (fullscreen) { - state = mir_surface_state_fullscreen; + state = mir_window_state_fullscreen; } else { - state = mir_surface_state_restored; + state = mir_window_state_restored; } - spec = MIR_mir_connection_create_spec_for_changes(mir_data->connection); - MIR_mir_surface_spec_set_state(spec, state); + spec = MIR_mir_create_window_spec(mir_data->connection); + MIR_mir_window_spec_set_state(spec, state); - MIR_mir_surface_apply_spec(mir_window->surface, spec); - MIR_mir_surface_spec_release(spec); + MIR_mir_window_apply_spec(mir_window->window, spec); + MIR_mir_window_spec_release(spec); } void @@ -224,16 +225,16 @@ MIR_MaximizeWindow(_THIS, SDL_Window* window) { MIR_Data* mir_data = _this->driverdata; MIR_Window* mir_window = window->driverdata; - MirSurfaceSpec* spec; + MirWindowSpec* spec; if (IsSurfaceValid(mir_window) < 0) return; - spec = MIR_mir_connection_create_spec_for_changes(mir_data->connection); - MIR_mir_surface_spec_set_state(spec, mir_surface_state_maximized); + spec = MIR_mir_create_window_spec(mir_data->connection); + MIR_mir_window_spec_set_state(spec, mir_window_state_maximized); - MIR_mir_surface_apply_spec(mir_window->surface, spec); - MIR_mir_surface_spec_release(spec); + MIR_mir_window_apply_spec(mir_window->window, spec); + MIR_mir_window_spec_release(spec); } void @@ -241,16 +242,16 @@ MIR_MinimizeWindow(_THIS, SDL_Window* window) { MIR_Data* mir_data = _this->driverdata; MIR_Window* mir_window = window->driverdata; - MirSurfaceSpec* spec; + MirWindowSpec* spec; if (IsSurfaceValid(mir_window) < 0) return; - spec = MIR_mir_connection_create_spec_for_changes(mir_data->connection); - MIR_mir_surface_spec_set_state(spec, mir_surface_state_minimized); + spec = MIR_mir_create_window_spec(mir_data->connection); + MIR_mir_window_spec_set_state(spec, mir_window_state_minimized); - MIR_mir_surface_apply_spec(mir_window->surface, spec); - MIR_mir_surface_spec_release(spec); + MIR_mir_window_apply_spec(mir_window->window, spec); + MIR_mir_window_spec_release(spec); } void @@ -258,16 +259,16 @@ MIR_RestoreWindow(_THIS, SDL_Window * window) { MIR_Data* mir_data = _this->driverdata; MIR_Window* mir_window = window->driverdata; - MirSurfaceSpec* spec; + MirWindowSpec* spec; if (IsSurfaceValid(mir_window) < 0) return; - spec = MIR_mir_connection_create_spec_for_changes(mir_data->connection); - MIR_mir_surface_spec_set_state(spec, mir_surface_state_restored); + spec = MIR_mir_create_window_spec(mir_data->connection); + MIR_mir_window_spec_set_state(spec, mir_window_state_restored); - MIR_mir_surface_apply_spec(mir_window->surface, spec); - MIR_mir_surface_spec_release(spec); + MIR_mir_window_apply_spec(mir_window->window, spec); + MIR_mir_window_spec_release(spec); } void @@ -275,16 +276,16 @@ MIR_HideWindow(_THIS, SDL_Window* window) { MIR_Data* mir_data = _this->driverdata; MIR_Window* mir_window = window->driverdata; - MirSurfaceSpec* spec; + MirWindowSpec* spec; if (IsSurfaceValid(mir_window) < 0) return; - spec = MIR_mir_connection_create_spec_for_changes(mir_data->connection); - MIR_mir_surface_spec_set_state(spec, mir_surface_state_hidden); + spec = MIR_mir_create_window_spec(mir_data->connection); + MIR_mir_window_spec_set_state(spec, mir_window_state_hidden); - MIR_mir_surface_apply_spec(mir_window->surface, spec); - MIR_mir_surface_spec_release(spec); + MIR_mir_window_apply_spec(mir_window->window, spec); + MIR_mir_window_spec_release(spec); } void @@ -292,18 +293,18 @@ MIR_SetWindowSize(_THIS, SDL_Window* window) { MIR_Data* mir_data = _this->driverdata; MIR_Window* mir_window = window->driverdata; - MirSurfaceSpec* spec; + MirWindowSpec* spec; if (IsSurfaceValid(mir_window) < 0) return; /* You cannot set the x/y of a mir window! So only update w/h */ - spec = MIR_mir_connection_create_spec_for_changes(mir_data->connection); - MIR_mir_surface_spec_set_width (spec, window->w); - MIR_mir_surface_spec_set_height(spec, window->h); + spec = MIR_mir_create_window_spec(mir_data->connection); + MIR_mir_window_spec_set_width (spec, window->w); + MIR_mir_window_spec_set_height(spec, window->h); - MIR_mir_surface_apply_spec(mir_window->surface, spec); - MIR_mir_surface_spec_release(spec); + MIR_mir_window_apply_spec(mir_window->window, spec); + MIR_mir_window_spec_release(spec); } void @@ -311,17 +312,17 @@ MIR_SetWindowMinimumSize(_THIS, SDL_Window* window) { MIR_Data* mir_data = _this->driverdata; MIR_Window* mir_window = window->driverdata; - MirSurfaceSpec* spec; + MirWindowSpec* spec; if (IsSurfaceValid(mir_window) < 0) return; - spec = MIR_mir_connection_create_spec_for_changes(mir_data->connection); - MIR_mir_surface_spec_set_min_width (spec, window->min_w); - MIR_mir_surface_spec_set_min_height(spec, window->min_h); + spec = MIR_mir_create_window_spec(mir_data->connection); + MIR_mir_window_spec_set_width (spec, window->min_w); + MIR_mir_window_spec_set_height(spec, window->min_h); - MIR_mir_surface_apply_spec(mir_window->surface, spec); - MIR_mir_surface_spec_release(spec); + MIR_mir_window_apply_spec(mir_window->window, spec); + MIR_mir_window_spec_release(spec); } void @@ -329,17 +330,17 @@ MIR_SetWindowMaximumSize(_THIS, SDL_Window* window) { MIR_Data* mir_data = _this->driverdata; MIR_Window* mir_window = window->driverdata; - MirSurfaceSpec* spec; + MirWindowSpec* spec; if (IsSurfaceValid(mir_window) < 0) return; - spec = MIR_mir_connection_create_spec_for_changes(mir_data->connection); - MIR_mir_surface_spec_set_max_width (spec, window->max_w); - MIR_mir_surface_spec_set_max_height(spec, window->max_h); + spec = MIR_mir_create_window_spec(mir_data->connection); + MIR_mir_window_spec_set_max_width(spec, window->max_w); + MIR_mir_window_spec_set_max_height(spec, window->max_h); - MIR_mir_surface_apply_spec(mir_window->surface, spec); - MIR_mir_surface_spec_release(spec); + MIR_mir_window_apply_spec(mir_window->window, spec); + MIR_mir_window_spec_release(spec); } void @@ -348,16 +349,16 @@ MIR_SetWindowTitle(_THIS, SDL_Window* window) MIR_Data* mir_data = _this->driverdata; MIR_Window* mir_window = window->driverdata; char const* title = window->title ? window->title : ""; - MirSurfaceSpec* spec; + MirWindowSpec* spec; if (IsSurfaceValid(mir_window) < 0) return; - spec = MIR_mir_connection_create_spec_for_changes(mir_data->connection); - MIR_mir_surface_spec_set_name(spec, title); + spec = MIR_mir_create_window_spec(mir_data->connection); + MIR_mir_window_spec_set_name(spec, title); - MIR_mir_surface_apply_spec(mir_window->surface, spec); - MIR_mir_surface_spec_release(spec); + MIR_mir_window_apply_spec(mir_window->window, spec); + MIR_mir_window_spec_release(spec); } void @@ -366,16 +367,16 @@ MIR_SetWindowGrab(_THIS, SDL_Window* window, SDL_bool grabbed) MIR_Data* mir_data = _this->driverdata; MIR_Window* mir_window = window->driverdata; MirPointerConfinementState confined = mir_pointer_unconfined; - MirSurfaceSpec* spec; + MirWindowSpec* spec; if (grabbed) - confined = mir_pointer_confined_to_surface; + confined = mir_pointer_confined_to_window; - spec = MIR_mir_connection_create_spec_for_changes(mir_data->connection); - MIR_mir_surface_spec_set_pointer_confinement(spec, confined); + spec = MIR_mir_create_window_spec(mir_data->connection); + MIR_mir_window_spec_set_pointer_confinement(spec, confined); - MIR_mir_surface_apply_spec(mir_window->surface, spec); - MIR_mir_surface_spec_release(spec); + MIR_mir_window_apply_spec(mir_window->window, spec); + MIR_mir_window_spec_release(spec); } int diff --git a/src/video/mir/SDL_mirwindow.h b/src/video/mir/SDL_mirwindow.h index 5b3020c7b..90f13ca08 100644 --- a/src/video/mir/SDL_mirwindow.h +++ b/src/video/mir/SDL_mirwindow.h @@ -35,7 +35,7 @@ struct MIR_Window { SDL_Window* sdl_window; MIR_Data* mir_data; - MirSurface* surface; + MirWindow* window; EGLSurface egl_surface; };