|
@@ -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
|