Ardour  8.7-14-g57a6773833
gdkwindowimpl.h
Go to the documentation of this file.
1 /* GDK - The GIMP Drawing Kit
2  * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the
16  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17  * Boston, MA 02111-1307, USA.
18  */
19 
20 /*
21  * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
22  * file for a list of people on the GTK+ Team. See the ChangeLog
23  * files for a list of changes. These files are distributed with
24  * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
25  */
26 
27 #ifndef __GDK_WINDOW_IMPL_H__
28 #define __GDK_WINDOW_IMPL_H__
29 
30 #include <gdk/gdkwindow.h>
31 
32 G_BEGIN_DECLS
33 
34 #define GDK_TYPE_WINDOW_IMPL (gdk_window_impl_get_type ())
35 #define GDK_WINDOW_IMPL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_WINDOW_IMPL, GdkWindowImpl))
36 #define GDK_IS_WINDOW_IMPL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_WINDOW_IMPL))
37 #define GDK_WINDOW_IMPL_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GDK_TYPE_WINDOW_IMPL, GdkWindowImplIface))
38 
39 typedef struct _GdkWindowImpl GdkWindowImpl; /* dummy */
41 
43 {
44  GTypeInterface g_iface;
45 
46  void (* show) (GdkWindow *window,
47  gboolean already_mapped);
48  void (* hide) (GdkWindow *window);
49  void (* withdraw) (GdkWindow *window);
50  void (* raise) (GdkWindow *window);
51  void (* lower) (GdkWindow *window);
52  void (* restack_under) (GdkWindow *window,
53  GList *native_siblings);
54  void (* restack_toplevel) (GdkWindow *window,
55  GdkWindow *sibling,
56  gboolean above);
57 
58  void (* move_resize) (GdkWindow *window,
59  gboolean with_move,
60  gint x,
61  gint y,
62  gint width,
63  gint height);
64  void (* set_background) (GdkWindow *window,
65  const GdkColor *color);
66  void (* set_back_pixmap) (GdkWindow *window,
67  GdkPixmap *pixmap);
68 
70  void (* set_events) (GdkWindow *window,
71  GdkEventMask event_mask);
72 
73  gboolean (* reparent) (GdkWindow *window,
74  GdkWindow *new_parent,
75  gint x,
76  gint y);
77  void (* clear_region) (GdkWindow *window,
78  GdkRegion *region,
79  gboolean send_expose);
80 
81  void (* set_cursor) (GdkWindow *window,
82  GdkCursor *cursor);
83 
84  void (* get_geometry) (GdkWindow *window,
85  gint *x,
86  gint *y,
87  gint *width,
88  gint *height,
89  gint *depth);
90  gint (* get_root_coords) (GdkWindow *window,
91  gint x,
92  gint y,
93  gint *root_x,
94  gint *root_y);
96  gint *x,
97  gint *y);
98  gboolean (* get_pointer) (GdkWindow *window,
99  gint *x,
100  gint *y,
101  GdkModifierType *mask);
102 
103  void (* shape_combine_region) (GdkWindow *window,
104  const GdkRegion *shape_region,
105  gint offset_x,
106  gint offset_y);
108  const GdkRegion *shape_region,
109  gint offset_x,
110  gint offset_y);
111 
112  gboolean (* set_static_gravities) (GdkWindow *window,
113  gboolean use_static);
114 
115  /* Called before processing updates for a window. This gives the windowing
116  * layer a chance to save the region for later use in avoiding duplicate
117  * exposes. The return value indicates whether the function has a saved
118  * the region; if the result is TRUE, then the windowing layer is responsible
119  * for destroying the region later.
120  */
121  gboolean (* queue_antiexpose) (GdkWindow *window,
122  GdkRegion *update_area);
123  void (* queue_translation) (GdkWindow *window,
124  GdkGC *gc,
125  GdkRegion *area,
126  gint dx,
127  gint dy);
128 
129 /* Called to do the windowing system specific part of gdk_window_destroy(),
130  *
131  * window: The window being destroyed
132  * recursing: If TRUE, then this is being called because a parent
133  * was destroyed. This generally means that the call to the windowing system
134  * to destroy the window can be omitted, since it will be destroyed as a result
135  * of the parent being destroyed. Unless @foreign_destroy
136  *
137  * foreign_destroy: If TRUE, the window or a parent was destroyed by some external
138  * agency. The window has already been destroyed and no windowing
139  * system calls should be made. (This may never happen for some
140  * windowing systems.)
141  */
142  void (* destroy) (GdkWindow *window,
143  gboolean recursing,
144  gboolean foreign_destroy);
145 
146  void (* input_window_destroy) (GdkWindow *window);
148  gboolean enter);
150 };
151 
152 /* Interface Functions */
153 GType gdk_window_impl_get_type (void) G_GNUC_CONST;
154 
155 /* private definitions from gdkwindow.h */
156 
158 {
161 
162  gint src_x;
163  gint src_y;
164  gint dest_x;
165  gint dest_y;
166  gint width;
167  gint height;
168 
170  guint damage_idle;
171 };
172 
173 G_END_DECLS
174 
175 #endif /* __GDK_WINDOW_IMPL_H__ */
GdkEventMask
Definition: gdkevents.h:162
GdkModifierType
Definition: gdktypes.h:127
GType gdk_window_impl_get_type(void) G_GNUC_CONST
struct _GdkWindowImpl GdkWindowImpl
Definition: gdkwindowimpl.h:39
GtkImagePixmapData pixmap
Definition: gtkimage.h:0
PBD::PropertyDescriptor< uint32_t > color
Definition: gdkgc.h:190
gint(* get_root_coords)(GdkWindow *window, gint x, gint y, gint *root_x, gint *root_y)
Definition: gdkwindowimpl.h:90
void(* input_window_destroy)(GdkWindow *window)
void(* get_geometry)(GdkWindow *window, gint *x, gint *y, gint *width, gint *height, gint *depth)
Definition: gdkwindowimpl.h:84
void(* hide)(GdkWindow *window)
Definition: gdkwindowimpl.h:48
void(* destroy)(GdkWindow *window, gboolean recursing, gboolean foreign_destroy)
void(* set_background)(GdkWindow *window, const GdkColor *color)
Definition: gdkwindowimpl.h:64
gboolean(* set_static_gravities)(GdkWindow *window, gboolean use_static)
void(* input_window_crossing)(GdkWindow *window, gboolean enter)
void(* restack_toplevel)(GdkWindow *window, GdkWindow *sibling, gboolean above)
Definition: gdkwindowimpl.h:54
GTypeInterface g_iface
Definition: gdkwindowimpl.h:44
GdkEventMask(* get_events)(GdkWindow *window)
Definition: gdkwindowimpl.h:69
gboolean(* queue_antiexpose)(GdkWindow *window, GdkRegion *update_area)
gint(* get_deskrelative_origin)(GdkWindow *window, gint *x, gint *y)
Definition: gdkwindowimpl.h:95
void(* set_cursor)(GdkWindow *window, GdkCursor *cursor)
Definition: gdkwindowimpl.h:81
void(* input_shape_combine_region)(GdkWindow *window, const GdkRegion *shape_region, gint offset_x, gint offset_y)
void(* clear_region)(GdkWindow *window, GdkRegion *region, gboolean send_expose)
Definition: gdkwindowimpl.h:77
void(* withdraw)(GdkWindow *window)
Definition: gdkwindowimpl.h:49
void(* move_resize)(GdkWindow *window, gboolean with_move, gint x, gint y, gint width, gint height)
Definition: gdkwindowimpl.h:58
void(* queue_translation)(GdkWindow *window, GdkGC *gc, GdkRegion *area, gint dx, gint dy)
gboolean(* reparent)(GdkWindow *window, GdkWindow *new_parent, gint x, gint y)
Definition: gdkwindowimpl.h:73
void(* shape_combine_region)(GdkWindow *window, const GdkRegion *shape_region, gint offset_x, gint offset_y)
void(* set_events)(GdkWindow *window, GdkEventMask event_mask)
Definition: gdkwindowimpl.h:70
gboolean supports_native_bg
void(* lower)(GdkWindow *window)
Definition: gdkwindowimpl.h:51
void(* restack_under)(GdkWindow *window, GList *native_siblings)
Definition: gdkwindowimpl.h:52
void(* set_back_pixmap)(GdkWindow *window, GdkPixmap *pixmap)
Definition: gdkwindowimpl.h:66
gboolean(* get_pointer)(GdkWindow *window, gint *x, gint *y, GdkModifierType *mask)
Definition: gdkwindowimpl.h:98
void(* show)(GdkWindow *window, gboolean already_mapped)
Definition: gdkwindowimpl.h:46
GdkDrawable * pixmap
GdkWindowObject * redirected
GdkRegion * damage
gint height
Definition: xcursors.h:1
gint width
Definition: xcursors.h:1