mirror of
https://github.com/brl/mutter.git
synced 2024-11-28 19:10:43 -05:00
window: Move meta_window_wayland_new to window-wayland.c
This commit is contained in:
parent
41880778b5
commit
1a3aa75385
@ -1215,62 +1215,6 @@ _meta_window_shared_new (MetaDisplay *display,
|
|||||||
return window;
|
return window;
|
||||||
}
|
}
|
||||||
|
|
||||||
MetaWindow *
|
|
||||||
meta_window_wayland_new (MetaDisplay *display,
|
|
||||||
MetaWaylandSurface *surface)
|
|
||||||
{
|
|
||||||
XWindowAttributes attrs;
|
|
||||||
MetaScreen *scr = display->screen;
|
|
||||||
MetaWindow *window;
|
|
||||||
|
|
||||||
attrs.x = 0;
|
|
||||||
attrs.y = 0;
|
|
||||||
attrs.width = 1;
|
|
||||||
attrs.height = 1;
|
|
||||||
attrs.border_width = 0;
|
|
||||||
attrs.depth = 24;
|
|
||||||
attrs.visual = NULL;
|
|
||||||
attrs.root = scr->xroot;
|
|
||||||
attrs.class = InputOutput;
|
|
||||||
attrs.bit_gravity = NorthWestGravity;
|
|
||||||
attrs.win_gravity = NorthWestGravity;
|
|
||||||
attrs.backing_store = 0;
|
|
||||||
attrs.backing_planes = ~0;
|
|
||||||
attrs.backing_pixel = 0;
|
|
||||||
attrs.save_under = 0;
|
|
||||||
attrs.colormap = 0;
|
|
||||||
attrs.map_installed = 1;
|
|
||||||
attrs.map_state = IsUnmapped;
|
|
||||||
attrs.all_event_masks = ~0;
|
|
||||||
attrs.your_event_mask = 0;
|
|
||||||
attrs.do_not_propagate_mask = 0;
|
|
||||||
attrs.override_redirect = 0;
|
|
||||||
attrs.screen = scr->xscreen;
|
|
||||||
|
|
||||||
/* XXX: Note: In the Wayland case we currently still trap X errors while
|
|
||||||
* creating a MetaWindow because we will still be making various redundant
|
|
||||||
* X requests (passing a window xid of None) until we thoroughly audit all
|
|
||||||
* the code to make sure it knows about non X based clients...
|
|
||||||
*/
|
|
||||||
meta_error_trap_push (display); /* Push a trap over all of window
|
|
||||||
* creation, to reduce XSync() calls
|
|
||||||
*/
|
|
||||||
|
|
||||||
window = _meta_window_shared_new (display,
|
|
||||||
scr,
|
|
||||||
META_WINDOW_CLIENT_TYPE_WAYLAND,
|
|
||||||
surface,
|
|
||||||
None,
|
|
||||||
WithdrawnState,
|
|
||||||
META_COMP_EFFECT_CREATE,
|
|
||||||
&attrs);
|
|
||||||
window->can_ping = TRUE;
|
|
||||||
|
|
||||||
meta_error_trap_pop (display); /* pop the XSync()-reducing trap */
|
|
||||||
|
|
||||||
return window;
|
|
||||||
}
|
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
detach_foreach_func (MetaWindow *window,
|
detach_foreach_func (MetaWindow *window,
|
||||||
void *data)
|
void *data)
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
|
|
||||||
#include "window-wayland.h"
|
#include "window-wayland.h"
|
||||||
|
|
||||||
|
#include <meta/errors.h>
|
||||||
#include "window-private.h"
|
#include "window-private.h"
|
||||||
#include "boxes-private.h"
|
#include "boxes-private.h"
|
||||||
#include "stack-tracker.h"
|
#include "stack-tracker.h"
|
||||||
@ -259,6 +260,62 @@ meta_window_wayland_class_init (MetaWindowWaylandClass *klass)
|
|||||||
window_class->move_resize_internal = meta_window_wayland_move_resize_internal;
|
window_class->move_resize_internal = meta_window_wayland_move_resize_internal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MetaWindow *
|
||||||
|
meta_window_wayland_new (MetaDisplay *display,
|
||||||
|
MetaWaylandSurface *surface)
|
||||||
|
{
|
||||||
|
XWindowAttributes attrs;
|
||||||
|
MetaScreen *scr = display->screen;
|
||||||
|
MetaWindow *window;
|
||||||
|
|
||||||
|
attrs.x = 0;
|
||||||
|
attrs.y = 0;
|
||||||
|
attrs.width = 1;
|
||||||
|
attrs.height = 1;
|
||||||
|
attrs.border_width = 0;
|
||||||
|
attrs.depth = 24;
|
||||||
|
attrs.visual = NULL;
|
||||||
|
attrs.root = scr->xroot;
|
||||||
|
attrs.class = InputOutput;
|
||||||
|
attrs.bit_gravity = NorthWestGravity;
|
||||||
|
attrs.win_gravity = NorthWestGravity;
|
||||||
|
attrs.backing_store = 0;
|
||||||
|
attrs.backing_planes = ~0;
|
||||||
|
attrs.backing_pixel = 0;
|
||||||
|
attrs.save_under = 0;
|
||||||
|
attrs.colormap = 0;
|
||||||
|
attrs.map_installed = 1;
|
||||||
|
attrs.map_state = IsUnmapped;
|
||||||
|
attrs.all_event_masks = ~0;
|
||||||
|
attrs.your_event_mask = 0;
|
||||||
|
attrs.do_not_propagate_mask = 0;
|
||||||
|
attrs.override_redirect = 0;
|
||||||
|
attrs.screen = scr->xscreen;
|
||||||
|
|
||||||
|
/* XXX: Note: In the Wayland case we currently still trap X errors while
|
||||||
|
* creating a MetaWindow because we will still be making various redundant
|
||||||
|
* X requests (passing a window xid of None) until we thoroughly audit all
|
||||||
|
* the code to make sure it knows about non X based clients...
|
||||||
|
*/
|
||||||
|
meta_error_trap_push (display); /* Push a trap over all of window
|
||||||
|
* creation, to reduce XSync() calls
|
||||||
|
*/
|
||||||
|
|
||||||
|
window = _meta_window_shared_new (display,
|
||||||
|
scr,
|
||||||
|
META_WINDOW_CLIENT_TYPE_WAYLAND,
|
||||||
|
surface,
|
||||||
|
None,
|
||||||
|
WithdrawnState,
|
||||||
|
META_COMP_EFFECT_CREATE,
|
||||||
|
&attrs);
|
||||||
|
window->can_ping = TRUE;
|
||||||
|
|
||||||
|
meta_error_trap_pop (display); /* pop the XSync()-reducing trap */
|
||||||
|
|
||||||
|
return window;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* meta_window_move_resize_wayland:
|
* meta_window_move_resize_wayland:
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user