* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
/*
static void
gdk_offscreen_window_destroy (GdkWindow *window,
- gboolean recursing,
- gboolean foreign_destroy)
+ gboolean recursing,
+ gboolean foreign_destroy)
{
- GdkOffscreenWindow *offscreen;
-
- offscreen = GDK_OFFSCREEN_WINDOW (window->impl);
-
gdk_offscreen_window_set_embedder (window, NULL);
-
+
if (!recursing)
gdk_offscreen_window_hide (window);
}
{
cairo_surface_t *similar;
cairo_surface_t *surface;
- cairo_content_t content = CAIRO_CONTENT_COLOR;
g_return_val_if_fail (GDK_IS_OFFSCREEN_WINDOW (offscreen->impl), NULL);
similar = _gdk_window_ref_cairo_surface (offscreen->parent);
- if (gdk_window_get_visual (offscreen) ==
- gdk_screen_get_rgba_visual (gdk_window_get_screen (offscreen)))
- {
- content = CAIRO_CONTENT_COLOR_ALPHA;
- }
-
- surface = cairo_surface_create_similar (similar, content, width, height);
+ surface = cairo_surface_create_similar (similar, CAIRO_CONTENT_COLOR_ALPHA, width, height);
cairo_surface_destroy (similar);
static void
gdk_offscreen_window_move_resize_internal (GdkWindow *window,
- gint x,
- gint y,
- gint width,
- gint height,
- gboolean send_expose_events)
+ gint x,
+ gint y,
+ gint width,
+ gint height,
+ gboolean send_expose_events)
{
GdkOffscreenWindow *offscreen;
- gint dx, dy, dw, dh;
offscreen = GDK_OFFSCREEN_WINDOW (window->impl);
if (window->destroyed)
return;
- dx = x - window->x;
- dy = y - window->y;
- dw = width - window->width;
- dh = height - window->height;
-
window->x = x;
window->y = y;
if (GDK_WINDOW_IS_MAPPED (window))
{
- // TODO: Only invalidate new area, i.e. for larger windows
+ /* TODO: Only invalidate new area, i.e. for larger windows */
gdk_window_invalidate_rect (window, NULL, TRUE);
_gdk_synthesize_crossing_events_for_geometry_change (window);
}
static void
gdk_offscreen_window_move_resize (GdkWindow *window,
- gboolean with_move,
- gint x,
- gint y,
- gint width,
- gint height)
+ gboolean with_move,
+ gint x,
+ gint y,
+ gint width,
+ gint height)
{
- GdkOffscreenWindow *offscreen;
-
- offscreen = GDK_OFFSCREEN_WINDOW (window->impl);
-
if (!with_move)
{
x = window->x;
if (height < 0)
height = window->height;
- gdk_offscreen_window_move_resize_internal (window, x, y,
- width, height,
- TRUE);
+ gdk_offscreen_window_move_resize_internal (window,
+ x, y, width, height,
+ TRUE);
}
static void
static void
gdk_offscreen_window_hide (GdkWindow *window)
{
+ /* TODO: This needs updating to the new grab world */
+#if 0
GdkOffscreenWindow *offscreen;
GdkDisplay *display;
/* May need to break grabs on children */
display = gdk_window_get_display (window);
- /* TODO: This needs updating to the new grab world */
-#if 0
if (display->pointer_grab.window != NULL)
{
if (is_parent_of (window, display->pointer_grab.window))
{
}
+static void
+gdk_offscreen_window_set_string (GdkWindow *window,
+ const gchar *setting)
+{
+}
+
+static void
+gdk_offscreen_window_set_list (GdkWindow *window,
+ GList *list)
+{
+}
+
+static void
+gdk_offscreen_window_set_wmfunctions (GdkWindow *window,
+ GdkWMFunction functions)
+{
+}
+
+static void
+gdk_offscreen_window_set_transient_for (GdkWindow *window,
+ GdkWindow *another)
+{
+}
+
static void
gdk_offscreen_window_process_updates_recurse (GdkWindow *window,
cairo_region_t *region)
impl_class->set_modal_hint = NULL;
impl_class->set_skip_taskbar_hint = gdk_offscreen_window_set_boolean;
impl_class->set_skip_pager_hint = gdk_offscreen_window_set_boolean;
- impl_class->set_urgency_hint = NULL;
+ impl_class->set_urgency_hint = gdk_offscreen_window_set_boolean;
impl_class->set_geometry_hints = NULL;
- impl_class->set_title = NULL;
- impl_class->set_role = NULL;
- impl_class->set_startup_id = NULL;
- impl_class->set_transient_for = NULL;
+ impl_class->set_title = gdk_offscreen_window_set_string;
+ impl_class->set_role = gdk_offscreen_window_set_string;
+ impl_class->set_startup_id = gdk_offscreen_window_set_string;
+ impl_class->set_transient_for = gdk_offscreen_window_set_transient_for;
impl_class->get_root_origin = NULL;
impl_class->get_frame_extents = NULL;
impl_class->set_override_redirect = NULL;
impl_class->set_accept_focus = NULL;
- impl_class->set_focus_on_map = NULL;
- impl_class->set_icon_list = NULL;
- impl_class->set_icon_name = NULL;
+ impl_class->set_focus_on_map = gdk_offscreen_window_set_boolean;
+ impl_class->set_icon_list = gdk_offscreen_window_set_list;
+ impl_class->set_icon_name = gdk_offscreen_window_set_string;
impl_class->iconify = gdk_offscreen_window_do_nothing;
impl_class->deiconify = gdk_offscreen_window_do_nothing;
impl_class->stick = gdk_offscreen_window_do_nothing;
impl_class->set_group = NULL;
impl_class->set_decorations = NULL;
impl_class->get_decorations = NULL;
- impl_class->set_functions = NULL;
- impl_class->set_functions = NULL;
+ impl_class->set_functions = gdk_offscreen_window_set_wmfunctions;
impl_class->begin_resize_drag = NULL;
impl_class->begin_move_drag = NULL;
impl_class->enable_synchronized_configure = gdk_offscreen_window_do_nothing;
impl_class->set_opacity = NULL;
impl_class->set_composited = NULL;
impl_class->destroy_notify = NULL;
- impl_class->register_dnd = NULL;
+ impl_class->register_dnd = gdk_offscreen_window_do_nothing;
impl_class->drag_begin = NULL;
impl_class->process_updates_recurse = gdk_offscreen_window_process_updates_recurse;
impl_class->sync_rendering = NULL;