]> Pileus Git - ~andy/gtk/blob - docs/reference/gdk/tmpl/windows.sgml
2.18.0
[~andy/gtk] / docs / reference / gdk / tmpl / windows.sgml
1 <!-- ##### SECTION Title ##### -->
2 Windows
3
4 <!-- ##### SECTION Short_Description ##### -->
5 Onscreen display areas in the target window system
6
7 <!-- ##### SECTION Long_Description ##### -->
8 <para>
9 A #GdkWindow is a rectangular region on the screen. It's a low-level object,
10 used to implement high-level objects such as #GtkWidget and #GtkWindow on the
11 GTK+ level. A #GtkWindow is a toplevel window, the thing a user might think of
12 as a "window" with a titlebar and so on; a #GtkWindow may contain many #GdkWindow.
13 For example, each #GtkButton has a #GdkWindow associated with it.
14 </para>
15 <refsect2 id="COMPOSITED-WINDOWS"><title>Composited Windows</title>
16 <para>
17 Normally, the windowing system takes care of rendering the contents of a child
18 window onto its parent window. This mechanism can be intercepted by calling
19 gdk_window_set_composited() on the child window. For a
20 <firstterm>composited</firstterm> window it is the responsibility of the
21 application to render the window contents at the right spot.
22 </para>
23 <example id="composited-window-example"><title>Composited windows</title>
24 <programlisting><![CDATA[
25 #include <gtk/gtk.h>
26
27 /* The expose event handler for the event box.
28  *
29  * This function simply draws a transparency onto a widget on the area
30  * for which it receives expose events.  This is intended to give the
31  * event box a "transparent" background.
32  *
33  * In order for this to work properly, the widget must have an RGBA
34  * colourmap.  The widget should also be set as app-paintable since it
35  * doesn't make sense for GTK+ to draw a background if we are drawing it
36  * (and because GTK+ might actually replace our transparency with its
37  * default background colour).
38  */
39 static gboolean
40 transparent_expose (GtkWidget      *widget,
41                     GdkEventExpose *event)
42 {
43   cairo_t *cr;
44
45   cr = gdk_cairo_create (widget->window);
46   cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR);
47   gdk_cairo_region (cr, event->region);
48   cairo_fill (cr);
49   cairo_destroy (cr);
50
51   return FALSE;
52 }
53
54 /* The expose event handler for the window.
55  *
56  * This function performs the actual compositing of the event box onto
57  * the already-existing background of the window at 50% normal opacity.
58  *
59  * In this case we do not want app-paintable to be set on the widget
60  * since we want it to draw its own (red) background. Because of this,
61  * however, we must ensure that we use g_signal_connect_after so that
62  * this handler is called after the red has been drawn. If it was
63  * called before then GTK would just blindly paint over our work.
64  *
65  * Note: if the child window has children, then you need a cairo 1.6
66  * feature to make this work correctly.
67  */
68 static gboolean
69 window_expose_event (GtkWidget      *widget,
70                      GdkEventExpose *event)
71 {
72   GdkRegion *region;
73   GtkWidget *child;
74   cairo_t *cr;
75
76   /* get our child (in this case, the event box) */ 
77   child = gtk_bin_get_child (GTK_BIN (widget));
78
79   /* create a cairo context to draw to the window */
80   cr = gdk_cairo_create (widget->window);
81
82   /* the source data is the (composited) event box */
83   gdk_cairo_set_source_pixmap (cr, child->window,
84                                child->allocation.x,
85                                child->allocation.y);
86
87   /* draw no more than our expose event intersects our child */
88   region = gdk_region_rectangle (&child->allocation);
89   gdk_region_intersect (region, event->region);
90   gdk_cairo_region (cr, region);
91   cairo_clip (cr);
92
93   /* composite, with a 50% opacity */
94   cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
95   cairo_paint_with_alpha (cr, 0.5);
96
97   /* we're done */
98   cairo_destroy (cr);
99
100   return FALSE;
101 }
102
103 int
104 main (int argc, char **argv)
105 {
106   GtkWidget *window, *event, *button;
107   GdkScreen *screen;
108   GdkColormap *rgba;
109   GdkColor red;
110
111   gtk_init (&argc, &argv);
112
113   /* Make the widgets */
114   button = gtk_button_new_with_label ("A Button");
115   event = gtk_event_box_new ();
116   window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
117
118   /* Put a red background on the window */
119   gdk_color_parse ("red", &red);
120   gtk_widget_modify_bg (window, GTK_STATE_NORMAL, &red);
121
122   /* Set the colourmap for the event box.
123    * Must be done before the event box is realised.
124    */
125   screen = gtk_widget_get_screen (event);
126   rgba = gdk_screen_get_rgba_colormap (screen);
127   gtk_widget_set_colormap (event, rgba);
128
129   /* Set our event box to have a fully-transparent background
130    * drawn on it. Currently there is no way to simply tell GTK+
131    * that "transparency" is the background colour for a widget.
132    */
133   gtk_widget_set_app_paintable (GTK_WIDGET (event), TRUE);
134   g_signal_connect (event, "expose-event",
135                     G_CALLBACK (transparent_expose), NULL);
136
137   /* Put them inside one another */
138   gtk_container_set_border_width (GTK_CONTAINER (window), 10);
139   gtk_container_add (GTK_CONTAINER (window), event);
140   gtk_container_add (GTK_CONTAINER (event), button);
141
142   /* Realise and show everything */
143   gtk_widget_show_all (window);
144
145   /* Set the event box GdkWindow to be composited.
146    * Obviously must be performed after event box is realised.
147    */
148   gdk_window_set_composited (event->window, TRUE);
149
150   /* Set up the compositing handler.
151    * Note that we do _after_ so that the normal (red) background is drawn
152    * by gtk before our compositing occurs.
153    */
154   g_signal_connect_after (window, "expose-event",
155                           G_CALLBACK (window_expose_event), NULL);
156
157   gtk_main ();
158
159   return 0;
160 }
161 ]]>
162 </programlisting></example>
163 <para>
164 In the example <xref linkend="composited-window-example"/>, a button is
165 placed inside of an event box inside of a window. The event box is
166 set as composited and therefore is no longer automatically drawn to
167 the screen.
168 </para>
169 <para>
170 When the contents of the event box change, an expose event is
171 generated on its parent window (which, in this case, belongs to
172 the toplevel #GtkWindow). The expose handler for this widget is
173 responsible for merging the changes back on the screen in the way
174 that it wishes.
175 </para>
176 <para>
177 In our case, we merge the contents with a 50% transparency. We
178 also set the background colour of the window to red. The effect is
179 that the background shows through the button.
180 </para>
181 </refsect2>
182 <refsect2 id="OFFSCREEN-WINDOWS"><title>Offscreen Windows</title>
183 <para>
184 Offscreen windows are more general than composited windows, since they
185 allow not only to modify the rendering of the child window onto its parent,
186 but also to apply coordinate transformations.
187 </para>
188 <para>
189 To integrate an offscreen window into a window hierarchy, one has to call
190 gdk_window_set_embedder() and handle a number of signals. The
191 gdk_offscreen_window_set_embedder() and handle a number of signals. The
192 #GdkWindow::pick-embedded-child signal on the embedder window is used to
193 select an offscreen child at given coordinates, and the #GdkWindow::to-embedder
194 and #GdkWindow::from-embedder signals on the offscreen window are used to
195 translate coordinates between the embedder and the offscreen window.
196 </para>
197
198 <para>
199 For rendering an offscreen window onto its embedder, the contents of the
200 offscreen window are available as a pixmap, via
201 gdk_offscreen_window_get_pixmap().
202 </para>
203 </refsect2>
204
205 <!-- ##### SECTION See_Also ##### -->
206 <para>
207
208 </para>
209
210 <!-- ##### SECTION Stability_Level ##### -->
211
212
213 <!-- ##### STRUCT GdkWindow ##### -->
214 <para>
215 An opaque structure representing an onscreen drawable.
216 Pointers to structures of type #GdkPixmap, #GdkBitmap,
217 and #GdkWindow, can often be used interchangeably.
218 The type #GdkDrawable refers generically to any of
219 these types.
220 </para>
221
222
223 <!-- ##### SIGNAL GdkWindow::from-embedder ##### -->
224 <para>
225
226 </para>
227
228 @gdkwindow: the object which received the signal.
229 @arg1: 
230 @arg2: 
231 @arg3: 
232 @arg4: 
233
234 <!-- ##### SIGNAL GdkWindow::pick-embedded-child ##### -->
235 <para>
236
237 </para>
238
239 @gdkwindow: the object which received the signal.
240 @arg1: 
241 @arg2: 
242 @Returns: 
243
244 <!-- ##### SIGNAL GdkWindow::to-embedder ##### -->
245 <para>
246
247 </para>
248
249 @gdkwindow: the object which received the signal.
250 @arg1: 
251 @arg2: 
252 @arg3: 
253 @arg4: 
254
255 <!-- ##### ARG GdkWindow:cursor ##### -->
256 <para>
257
258 </para>
259
260 <!-- ##### ENUM GdkWindowType ##### -->
261 <para>
262 Describes the kind of window.
263 </para>
264
265 @GDK_WINDOW_ROOT: root window; this window has no parent, covers the entire screen, and is created by the window system
266 @GDK_WINDOW_TOPLEVEL: toplevel window (used to implement #GtkWindow)
267 @GDK_WINDOW_CHILD: child window (used to implement e.g. #GtkEntry)
268 @GDK_WINDOW_DIALOG: useless/deprecated compatibility type
269 @GDK_WINDOW_TEMP: override redirect temporary window (used to implement #GtkMenu)
270 @GDK_WINDOW_FOREIGN: foreign window (see gdk_window_foreign_new())
271 @GDK_WINDOW_OFFSCREEN: offscreen window (see <xref linkend="OFFSCREEN-WINDOWS"/>). Since 2.18
272
273 <!-- ##### ENUM GdkWindowClass ##### -->
274 <para>
275 @GDK_INPUT_OUTPUT windows are the standard kind of window you might expect. 
276 @GDK_INPUT_ONLY windows are invisible; they are used to trap events, but 
277 you can't draw on them.
278 </para>
279
280 @GDK_INPUT_OUTPUT: window for graphics and events
281 @GDK_INPUT_ONLY: window for events only
282
283 <!-- ##### ENUM GdkWindowHints ##### -->
284 <para>
285 Used to indicate which fields of a #GdkGeometry struct should be paid attention
286 to. Also, the presence/absence of @GDK_HINT_POS, @GDK_HINT_USER_POS, and
287 @GDK_HINT_USER_SIZE is significant, though they don't directly refer to
288 #GdkGeometry fields.  @GDK_HINT_USER_POS will be set automatically by #GtkWindow
289 if you call gtk_window_move(). @GDK_HINT_USER_POS and @GDK_HINT_USER_SIZE 
290 should be set if the user specified a size/position using a --geometry 
291 command-line argument; gtk_window_parse_geometry() automatically sets these
292 flags.
293 </para>
294
295 @GDK_HINT_POS: indicates that the program has positioned the window
296 @GDK_HINT_MIN_SIZE: min size fields are set
297 @GDK_HINT_MAX_SIZE: max size fields are set
298 @GDK_HINT_BASE_SIZE: base size fields are set
299 @GDK_HINT_ASPECT: aspect ratio fields are set
300 @GDK_HINT_RESIZE_INC: resize increment fields are set
301 @GDK_HINT_WIN_GRAVITY: window gravity field is set
302 @GDK_HINT_USER_POS: indicates that the window's position was explicitly set by the user
303 @GDK_HINT_USER_SIZE: indicates that the window's size was explicitly set by the user
304
305 <!-- ##### STRUCT GdkGeometry ##### -->
306 <para>
307 The #GdkGeometry struct gives the window manager information about 
308 a window's geometry constraints. Normally you would set these on 
309 the GTK+ level using gtk_window_set_geometry_hints(). #GtkWindow 
310 then sets the hints on the #GdkWindow it creates.
311 </para>
312
313 <para>
314 gdk_window_set_geometry_hints() expects the hints to be fully valid already and
315 simply passes them to the window manager; in contrast,
316 gtk_window_set_geometry_hints() performs some interpretation. For example,
317 #GtkWindow will apply the hints to the geometry widget instead of the toplevel
318 window, if you set a geometry widget. Also, the
319 @min_width/@min_height/@max_width/@max_height fields may be set to -1, and
320 #GtkWindow will substitute the size request of the window or geometry widget. If
321 the minimum size hint is not provided, #GtkWindow will use its requisition as
322 the minimum size.  If the minimum size is provided and a geometry widget is set,
323 #GtkWindow will take the minimum size as the minimum size of the geometry widget
324 rather than the entire window. The base size is treated similarly.
325 </para>
326
327 <para>
328 The canonical use-case for gtk_window_set_geometry_hints() is to get a terminal
329 widget to resize properly. Here, the terminal text area should be the geometry
330 widget; #GtkWindow will then automatically set the base size to the size of
331 other widgets in the terminal window, such as the menubar and scrollbar.  Then,
332 the @width_inc and @height_inc fields should be set to the size of one character
333 in the terminal. Finally, the base size should be set to the size of one
334 character. The net effect is that the minimum size of the terminal 
335 will have a 1x1 character terminal area, and only terminal sizes on 
336 the "character grid" will be allowed.
337 </para>
338
339 <para>
340 Here's an example of how the terminal example would be implemented, assuming 
341 a terminal area widget called "terminal" and a toplevel window "toplevel":
342 <informalexample><programlisting>
343         GdkGeometry hints;
344
345         hints.base_width = terminal->char_width;
346         hints.base_height = terminal->char_height;
347         hints.min_width = terminal->char_width;
348         hints.min_height = terminal->char_height;
349         hints.width_inc = terminal->char_width;
350         hints.height_inc = terminal->char_height;
351
352         gtk_window_set_geometry_hints (GTK_WINDOW (toplevel),
353                                        GTK_WIDGET (terminal),
354                                        &amp;hints,
355                                        GDK_HINT_RESIZE_INC |
356                                        GDK_HINT_MIN_SIZE |
357                                        GDK_HINT_BASE_SIZE);
358 </programlisting></informalexample>
359 </para>
360
361 <para>
362 The other useful fields are the @min_aspect and @max_aspect fields; these
363 contain a width/height ratio as a floating point number. If a geometry widget is
364 set, the aspect applies to the geometry widget rather than the entire window.
365 The most common use of these hints is probably to set @min_aspect and
366 @max_aspect to the same value, thus forcing the window to keep a constant aspect
367 ratio.
368 </para>
369
370 @min_width: minimum width of window (or -1 to use requisition, with #GtkWindow only)
371 @min_height: minimum height of window (or -1 to use requisition, with #GtkWindow only)
372 @max_width: maximum width of window (or -1 to use requisition, with #GtkWindow only)
373 @max_height: maximum height of window (or -1 to use requisition, with #GtkWindow only)
374 @base_width: allowed window widths are @base_width + @width_inc * N where N is any integer (-1 allowed with #GtkWindow)
375 @base_height: allowed window widths are @base_height + @height_inc * N where N is any integer (-1 allowed with #GtkWindow)
376 @width_inc: width resize increment
377 @height_inc: height resize increment
378 @min_aspect: minimum width/height ratio
379 @max_aspect: maximum width/height ratio
380 @win_gravity: window gravity, see gtk_window_set_gravity()
381
382 <!-- ##### ENUM GdkGravity ##### -->
383 <para>
384 Defines the reference point of a window and the meaning of coordinates
385 passed to gtk_window_move(). See gtk_window_move() and the "implementation 
386 notes" section of the 
387 <ulink url="http://www.freedesktop.org/Standards/wm-spec">Extended 
388 Window Manager Hints</ulink> specification for more details.
389 </para>
390
391 @GDK_GRAVITY_NORTH_WEST: the reference point is at the top left corner.
392 @GDK_GRAVITY_NORTH: the reference point is in the middle of the top edge.
393 @GDK_GRAVITY_NORTH_EAST: the reference point is at the top right corner.
394 @GDK_GRAVITY_WEST: the reference point is at the middle of the left edge.
395 @GDK_GRAVITY_CENTER: the reference point is at the center of the window.
396 @GDK_GRAVITY_EAST: the reference point is at the middle of the right edge.
397 @GDK_GRAVITY_SOUTH_WEST: the reference point is at the lower left corner.
398 @GDK_GRAVITY_SOUTH: the reference point is at the middle of the lower edge.
399 @GDK_GRAVITY_SOUTH_EAST: the reference point is at the lower right corner.
400 @GDK_GRAVITY_STATIC: the reference point is at the top left corner of the 
401    window itself, ignoring window manager decorations.
402
403 <!-- ##### ENUM GdkWindowEdge ##### -->
404 <para>
405 Determines a window edge or corner. 
406 </para>
407
408 @GDK_WINDOW_EDGE_NORTH_WEST: the top left corner.
409 @GDK_WINDOW_EDGE_NORTH: the top edge.
410 @GDK_WINDOW_EDGE_NORTH_EAST: the top right corner.
411 @GDK_WINDOW_EDGE_WEST: the left edge.
412 @GDK_WINDOW_EDGE_EAST: the right edge.
413 @GDK_WINDOW_EDGE_SOUTH_WEST: the lower left corner.
414 @GDK_WINDOW_EDGE_SOUTH: the lower edge.
415 @GDK_WINDOW_EDGE_SOUTH_EAST: the lower right corner.
416
417 <!-- ##### ENUM GdkWindowTypeHint ##### -->
418 <para>
419 These are hints for the window manager that indicate what type of function 
420 the window has. The window manager can use this when determining decoration 
421 and behaviour of the window. The hint must be set before mapping the window.
422 </para>
423 <para>
424 See the
425 <ulink url="http://www.freedesktop.org/Standards/wm-spec">Extended 
426 Window Manager Hints</ulink> specification for more details about 
427 window types.
428 </para>
429
430 @GDK_WINDOW_TYPE_HINT_NORMAL: Normal toplevel window.
431 @GDK_WINDOW_TYPE_HINT_DIALOG: Dialog window.
432 @GDK_WINDOW_TYPE_HINT_MENU: Window used to implement a menu; GTK+ uses 
433   this hint only for torn-off menus, see #GtkTearoffMenuItem.
434 @GDK_WINDOW_TYPE_HINT_TOOLBAR: Window used to implement toolbars.
435 @GDK_WINDOW_TYPE_HINT_SPLASHSCREEN: Window used to display a splash 
436   screen during application startup.
437 @GDK_WINDOW_TYPE_HINT_UTILITY: Utility windows which are not detached 
438   toolbars or dialogs.
439 @GDK_WINDOW_TYPE_HINT_DOCK: Used for creating dock or panel windows.
440 @GDK_WINDOW_TYPE_HINT_DESKTOP: Used for creating the desktop background 
441 window.
442 @GDK_WINDOW_TYPE_HINT_DROPDOWN_MENU: A menu that belongs to a menubar.
443 @GDK_WINDOW_TYPE_HINT_POPUP_MENU: A menu that does not belong to a menubar, 
444   e.g. a context menu.
445 @GDK_WINDOW_TYPE_HINT_TOOLTIP: A tooltip.
446 @GDK_WINDOW_TYPE_HINT_NOTIFICATION: A notification - typically a "bubble" 
447   that belongs to a status icon.
448 @GDK_WINDOW_TYPE_HINT_COMBO: A popup from a combo box.
449 @GDK_WINDOW_TYPE_HINT_DND: A window that is used to implement a DND cursor.
450
451 <!-- ##### STRUCT GdkWindowAttr ##### -->
452 <para>
453 Attributes to use for a newly-created window.
454 </para>
455
456 @title: title of the window (for toplevel windows)
457 @event_mask: event mask (see gdk_window_set_events())
458 @x: X coordinate relative to parent window (see gdk_window_move())
459 @y: Y coordinate relative to parent window (see gdk_window_move())
460 @width: width of window
461 @height: height of window
462 @wclass: #GDK_INPUT_OUTPUT (normal window) or #GDK_INPUT_ONLY (invisible window that receives events)
463 @visual: #GdkVisual for window
464 @colormap: #GdkColormap for window
465 @window_type: type of window
466 @cursor: cursor for the window (see gdk_window_set_cursor())
467 @wmclass_name: don't use (see gtk_window_set_wmclass())
468 @wmclass_class: don't use (see gtk_window_set_wmclass())
469 @override_redirect: %TRUE to bypass the window manager
470 @type_hint: a hint of the function of the window
471
472 <!-- ##### ENUM GdkWindowAttributesType ##### -->
473 <para>
474 Used to indicate which fields in the #GdkWindowAttr struct should be
475 honored. For example, if you filled in the "cursor" and "x" fields of
476 #GdkWindowAttr, pass "@GDK_WA_X | @GDK_WA_CURSOR" to gdk_window_new().  Fields
477 in #GdkWindowAttr not covered by a bit in this enum are required; for example,
478 the @width/@height, @wclass, and @window_type fields are required, they have no
479 corresponding flag in #GdkWindowAttributesType.
480 </para>
481
482 @GDK_WA_TITLE: Honor the title field
483 @GDK_WA_X: Honor the X coordinate field
484 @GDK_WA_Y: Honor the Y coordinate field
485 @GDK_WA_CURSOR: Honor the cursor field
486 @GDK_WA_COLORMAP: Honor the colormap field
487 @GDK_WA_VISUAL: Honor the visual field
488 @GDK_WA_WMCLASS: Honor the wmclass_class and wmclass_name fields
489 @GDK_WA_NOREDIR: Honor the override_redirect field
490 @GDK_WA_TYPE_HINT: Honor the type_hint field
491
492 <!-- ##### FUNCTION gdk_window_new ##### -->
493 <para>
494
495 </para>
496
497 @parent: 
498 @attributes: 
499 @attributes_mask: 
500 @Returns: 
501
502
503 <!-- ##### FUNCTION gdk_window_destroy ##### -->
504 <para>
505
506 </para>
507
508 @window: 
509
510
511 <!-- ##### MACRO gdk_window_ref ##### -->
512 <para>
513 Deprecated equivalent of g_object_ref()
514 </para>
515
516 @Returns: the window
517
518
519 <!-- ##### MACRO gdk_window_unref ##### -->
520 <para>
521 Deprecated equivalent of g_object_unref()
522 </para>
523
524
525
526 <!-- ##### FUNCTION gdk_window_get_window_type ##### -->
527 <para>
528
529 </para>
530
531 @window: 
532 @Returns: 
533
534
535 <!-- ##### FUNCTION gdk_window_at_pointer ##### -->
536 <para>
537
538 </para>
539
540 @win_x: 
541 @win_y: 
542 @Returns: 
543
544
545 <!-- ##### FUNCTION gdk_window_show ##### -->
546 <para>
547
548 </para>
549
550 @window: 
551
552
553 <!-- ##### FUNCTION gdk_window_show_unraised ##### -->
554 <para>
555
556 </para>
557
558 @window: 
559
560
561 <!-- ##### FUNCTION gdk_window_hide ##### -->
562 <para>
563
564 </para>
565
566 @window: 
567
568
569 <!-- ##### FUNCTION gdk_window_is_destroyed ##### -->
570 <para>
571
572 </para>
573
574 @window: 
575 @Returns: 
576
577
578 <!-- ##### FUNCTION gdk_window_is_visible ##### -->
579 <para>
580
581 </para>
582
583 @window: 
584 @Returns: 
585
586
587 <!-- ##### FUNCTION gdk_window_is_viewable ##### -->
588 <para>
589
590 </para>
591
592 @window: 
593 @Returns: 
594
595
596 <!-- ##### FUNCTION gdk_window_get_state ##### -->
597 <para>
598
599 </para>
600
601 @window: 
602 @Returns: 
603
604
605 <!-- ##### FUNCTION gdk_window_withdraw ##### -->
606 <para>
607
608 </para>
609
610 @window: 
611
612
613 <!-- ##### FUNCTION gdk_window_iconify ##### -->
614 <para>
615
616 </para>
617
618 @window: 
619
620
621 <!-- ##### FUNCTION gdk_window_deiconify ##### -->
622 <para>
623
624 </para>
625
626 @window: 
627
628
629 <!-- ##### FUNCTION gdk_window_stick ##### -->
630 <para>
631
632 </para>
633
634 @window: 
635
636
637 <!-- ##### FUNCTION gdk_window_unstick ##### -->
638 <para>
639
640 </para>
641
642 @window: 
643
644
645 <!-- ##### FUNCTION gdk_window_maximize ##### -->
646 <para>
647
648 </para>
649
650 @window: 
651
652
653 <!-- ##### FUNCTION gdk_window_unmaximize ##### -->
654 <para>
655
656 </para>
657
658 @window: 
659
660
661 <!-- ##### FUNCTION gdk_window_fullscreen ##### -->
662 <para>
663
664 </para>
665
666 @window: 
667
668
669 <!-- ##### FUNCTION gdk_window_unfullscreen ##### -->
670 <para>
671
672 </para>
673
674 @window: 
675
676
677 <!-- ##### FUNCTION gdk_window_set_keep_above ##### -->
678 <para>
679
680 </para>
681
682 @window: 
683 @setting: 
684
685
686 <!-- ##### FUNCTION gdk_window_set_keep_below ##### -->
687 <para>
688
689 </para>
690
691 @window: 
692 @setting: 
693
694
695 <!-- ##### FUNCTION gdk_window_set_opacity ##### -->
696 <para>
697
698 </para>
699
700 @window: 
701 @opacity: 
702
703
704 <!-- ##### FUNCTION gdk_window_set_composited ##### -->
705 <para>
706
707 </para>
708
709 @window: 
710 @composited: 
711
712
713 <!-- ##### FUNCTION gdk_window_move ##### -->
714 <para>
715
716 </para>
717
718 @window: 
719 @x: 
720 @y: 
721
722
723 <!-- ##### FUNCTION gdk_window_resize ##### -->
724 <para>
725
726 </para>
727
728 @window: 
729 @width: 
730 @height: 
731
732
733 <!-- ##### FUNCTION gdk_window_move_resize ##### -->
734 <para>
735
736 </para>
737
738 @window: 
739 @x: 
740 @y: 
741 @width: 
742 @height: 
743
744
745 <!-- ##### FUNCTION gdk_window_scroll ##### -->
746 <para>
747
748 </para>
749
750 @window: 
751 @dx: 
752 @dy: 
753
754
755 <!-- ##### FUNCTION gdk_window_move_region ##### -->
756 <para>
757
758 </para>
759
760 @window: 
761 @region: 
762 @dx: 
763 @dy: 
764
765
766 <!-- ##### FUNCTION gdk_window_flush ##### -->
767 <para>
768
769 </para>
770
771 @window: 
772
773
774 <!-- ##### FUNCTION gdk_window_ensure_native ##### -->
775 <para>
776
777 </para>
778
779 @window: 
780 @Returns: 
781
782
783 <!-- ##### FUNCTION gdk_window_reparent ##### -->
784 <para>
785
786 </para>
787
788 @window: 
789 @new_parent: 
790 @x: 
791 @y: 
792
793
794 <!-- ##### FUNCTION gdk_window_clear ##### -->
795 <para>
796
797 </para>
798
799 @window: 
800
801
802 <!-- ##### FUNCTION gdk_window_clear_area ##### -->
803 <para>
804
805 </para>
806
807 @window: 
808 @x: 
809 @y: 
810 @width: 
811 @height: 
812
813
814 <!-- ##### FUNCTION gdk_window_clear_area_e ##### -->
815 <para>
816
817 </para>
818
819 @window: 
820 @x: 
821 @y: 
822 @width: 
823 @height: 
824
825
826 <!-- ##### MACRO gdk_window_copy_area ##### -->
827 <para>
828 Deprecated equivalent to gdk_draw_drawable(), see that function for docs
829 </para>
830
831 @drawable: a #GdkDrawable
832 @gc: a #GdkGC sharing the drawable's visual and colormap
833 @x: X position in @drawable where the rectangle should be drawn
834 @y: Y position in @drawable where the rectangle should be drawn
835 @source_drawable: the source #GdkDrawable, which may be the same as @drawable
836 @source_x: X position in @src of rectangle to draw
837 @source_y: Y position in @src of rectangle to draw
838 @width: width of rectangle to draw, or -1 for entire @src width
839 @height: height of rectangle to draw, or -1 for entire @src height
840 <!-- # Unused Parameters # -->
841 @drawable: a #GdkDrawable
842 @xdest: X position in @drawable where the rectangle should be drawn
843 @ydest: Y position in @drawable where the rectangle should be drawn
844
845
846 <!-- ##### FUNCTION gdk_window_raise ##### -->
847 <para>
848
849 </para>
850
851 @window: 
852
853
854 <!-- ##### FUNCTION gdk_window_lower ##### -->
855 <para>
856
857 </para>
858
859 @window: 
860
861
862 <!-- ##### FUNCTION gdk_window_restack ##### -->
863 <para>
864
865 </para>
866
867 @window: 
868 @sibling: 
869 @above: 
870
871
872 <!-- ##### FUNCTION gdk_window_focus ##### -->
873 <para>
874
875 </para>
876
877 @window: 
878 @timestamp: 
879
880
881 <!-- ##### FUNCTION gdk_window_register_dnd ##### -->
882 <para>
883 Registers a window as a potential drop destination.
884 </para>
885
886 @window: a #GdkWindow.
887
888
889 <!-- ##### FUNCTION gdk_window_begin_resize_drag ##### -->
890 <para>
891
892 </para>
893
894 @window: 
895 @edge: 
896 @button: 
897 @root_x: 
898 @root_y: 
899 @timestamp: 
900
901
902 <!-- ##### FUNCTION gdk_window_begin_move_drag ##### -->
903 <para>
904
905 </para>
906
907 @window: 
908 @button: 
909 @root_x: 
910 @root_y: 
911 @timestamp: 
912
913
914 <!-- ##### FUNCTION gdk_window_constrain_size ##### -->
915 <para>
916
917 </para>
918
919 @geometry: 
920 @flags: 
921 @width: 
922 @height: 
923 @new_width: 
924 @new_height: 
925
926
927 <!-- ##### FUNCTION gdk_window_beep ##### -->
928 <para>
929
930 </para>
931
932 @window: 
933
934
935 <!-- ##### FUNCTION gdk_window_begin_paint_rect ##### -->
936 <para>
937
938 </para>
939
940 @window: 
941 @rectangle: 
942
943
944 <!-- ##### FUNCTION gdk_window_begin_paint_region ##### -->
945 <para>
946
947 </para>
948
949 @window: 
950 @region: 
951
952
953 <!-- ##### FUNCTION gdk_window_end_paint ##### -->
954 <para>
955
956 </para>
957
958 @window: 
959
960
961 <!-- ##### FUNCTION gdk_window_invalidate_rect ##### -->
962 <para>
963
964 </para>
965
966 @window: 
967 @rect: 
968 @invalidate_children: 
969
970
971 <!-- ##### FUNCTION gdk_window_invalidate_region ##### -->
972 <para>
973
974 </para>
975
976 @window: 
977 @region: 
978 @invalidate_children: 
979
980
981 <!-- ##### FUNCTION gdk_window_invalidate_maybe_recurse ##### -->
982 <para>
983
984 </para>
985
986 @window: 
987 @region: 
988 @child_func: 
989 @user_data: 
990
991
992 <!-- ##### FUNCTION gdk_window_get_update_area ##### -->
993 <para>
994
995 </para>
996
997 @window: 
998 @Returns: 
999
1000
1001 <!-- ##### FUNCTION gdk_window_freeze_updates ##### -->
1002 <para>
1003
1004 </para>
1005
1006 @window: 
1007
1008
1009 <!-- ##### FUNCTION gdk_window_thaw_updates ##### -->
1010 <para>
1011
1012 </para>
1013
1014 @window: 
1015
1016
1017 <!-- ##### FUNCTION gdk_window_process_all_updates ##### -->
1018 <para>
1019
1020 </para>
1021
1022
1023
1024 <!-- ##### FUNCTION gdk_window_process_updates ##### -->
1025 <para>
1026
1027 </para>
1028
1029 @window: 
1030 @update_children: 
1031
1032
1033 <!-- ##### FUNCTION gdk_window_set_debug_updates ##### -->
1034 <para>
1035
1036 </para>
1037
1038 @setting: 
1039
1040
1041 <!-- ##### FUNCTION gdk_window_get_internal_paint_info ##### -->
1042 <para>
1043
1044 </para>
1045
1046 @window: 
1047 @real_drawable: 
1048 @x_offset: 
1049 @y_offset: 
1050
1051
1052 <!-- ##### FUNCTION gdk_window_enable_synchronized_configure ##### -->
1053 <para>
1054
1055 </para>
1056
1057 @window: 
1058
1059
1060 <!-- ##### FUNCTION gdk_window_configure_finished ##### -->
1061 <para>
1062
1063 </para>
1064
1065 @window: 
1066
1067
1068 <!-- ##### FUNCTION gdk_window_set_user_data ##### -->
1069 <para>
1070
1071 </para>
1072
1073 @window: 
1074 @user_data: 
1075
1076
1077 <!-- ##### FUNCTION gdk_window_set_override_redirect ##### -->
1078 <para>
1079
1080 </para>
1081
1082 @window: 
1083 @override_redirect: 
1084
1085
1086 <!-- ##### FUNCTION gdk_window_set_accept_focus ##### -->
1087 <para>
1088
1089 </para>
1090
1091 @window: 
1092 @accept_focus: 
1093
1094
1095 <!-- ##### FUNCTION gdk_window_set_focus_on_map ##### -->
1096 <para>
1097
1098 </para>
1099
1100 @window: 
1101 @focus_on_map: 
1102
1103
1104 <!-- ##### FUNCTION gdk_window_add_filter ##### -->
1105 <para>
1106
1107 </para>
1108
1109 @window: 
1110 @function: 
1111 @data: 
1112
1113
1114 <!-- ##### FUNCTION gdk_window_remove_filter ##### -->
1115 <para>
1116
1117 </para>
1118
1119 @window: 
1120 @function: 
1121 @data: 
1122
1123
1124 <!-- ##### USER_FUNCTION GdkFilterFunc ##### -->
1125 <para>
1126 Specifies the type of function used to filter native events before they are
1127 converted to GDK events. 
1128 </para>
1129
1130 <para>
1131 When a filter is called, @event is unpopulated, except for
1132 <literal>event-&gt;window</literal>. The filter may translate the native
1133 event to a GDK event and store the result in @event, or handle it without
1134 translation. If the filter translates the event and processing should
1135 continue, it should return <literal>GDK_FILTER_TRANSLATE</literal>.
1136 </para>
1137
1138 @xevent: the native event to filter.
1139 @event: the GDK event to which the X event will be translated.
1140 @data: user data set when the filter was installed.
1141 @Returns: a #GdkFilterReturn value.
1142
1143
1144 <!-- ##### ENUM GdkFilterReturn ##### -->
1145 <para>
1146 Specifies the result of applying a #GdkFilterFunc to a native event.
1147 </para>
1148
1149 @GDK_FILTER_CONTINUE: event not handled, continue processing.
1150 @GDK_FILTER_TRANSLATE: native event translated into a GDK event and stored
1151                        in the <literal>event</literal> structure that was passed in.
1152 @GDK_FILTER_REMOVE: event handled, terminate processing.
1153
1154 <!-- ##### TYPEDEF GdkXEvent ##### -->
1155 <para>
1156 Used to represent native events (<type>XEvent</type>s for the X11 
1157 backend, <type>MSG</type>s for Win32).
1158 </para>
1159
1160
1161 <!-- ##### FUNCTION gdk_window_shape_combine_mask ##### -->
1162 <para>
1163
1164 </para>
1165
1166 @window: 
1167 @mask: 
1168 @x: 
1169 @y: 
1170
1171
1172 <!-- ##### FUNCTION gdk_window_shape_combine_region ##### -->
1173 <para>
1174
1175 </para>
1176
1177 @window: 
1178 @shape_region: 
1179 @offset_x: 
1180 @offset_y: 
1181
1182
1183 <!-- ##### FUNCTION gdk_window_set_child_shapes ##### -->
1184 <para>
1185
1186 </para>
1187
1188 @window: 
1189
1190
1191 <!-- ##### FUNCTION gdk_window_merge_child_shapes ##### -->
1192 <para>
1193
1194 </para>
1195
1196 @window: 
1197
1198
1199 <!-- ##### FUNCTION gdk_window_input_shape_combine_mask ##### -->
1200 <para>
1201
1202 </para>
1203
1204 @window: 
1205 @mask: 
1206 @x: 
1207 @y: 
1208
1209
1210 <!-- ##### FUNCTION gdk_window_input_shape_combine_region ##### -->
1211 <para>
1212
1213 </para>
1214
1215 @window: 
1216 @shape_region: 
1217 @offset_x: 
1218 @offset_y: 
1219
1220
1221 <!-- ##### FUNCTION gdk_window_set_child_input_shapes ##### -->
1222 <para>
1223
1224 </para>
1225
1226 @window: 
1227
1228
1229 <!-- ##### FUNCTION gdk_window_merge_child_input_shapes ##### -->
1230 <para>
1231
1232 </para>
1233
1234 @window: 
1235
1236
1237 <!-- ##### FUNCTION gdk_window_set_static_gravities ##### -->
1238 <para>
1239
1240 </para>
1241
1242 @window: 
1243 @use_static: 
1244 @Returns: 
1245
1246
1247 <!-- ##### FUNCTION gdk_window_set_hints ##### -->
1248 <para>
1249
1250 </para>
1251
1252 @window: 
1253 @x: 
1254 @y: 
1255 @min_width: 
1256 @min_height: 
1257 @max_width: 
1258 @max_height: 
1259 @flags: 
1260
1261
1262 <!-- ##### FUNCTION gdk_window_set_title ##### -->
1263 <para>
1264
1265 </para>
1266
1267 @window: 
1268 @title: 
1269
1270
1271 <!-- ##### FUNCTION gdk_window_set_background ##### -->
1272 <para>
1273
1274 </para>
1275
1276 @window: 
1277 @color: 
1278
1279
1280 <!-- ##### FUNCTION gdk_window_set_back_pixmap ##### -->
1281 <para>
1282
1283 </para>
1284
1285 @window: 
1286 @pixmap: 
1287 @parent_relative: 
1288
1289
1290 <!-- ##### MACRO GDK_PARENT_RELATIVE ##### -->
1291 <para>
1292 A special value for <literal>GdkPixmap*</literal> variables, indicating
1293 that the background pixmap for a window should be inherited from the parent
1294 window.
1295 </para>
1296
1297
1298
1299 <!-- ##### FUNCTION gdk_window_set_cursor ##### -->
1300 <para>
1301
1302 </para>
1303
1304 @window: 
1305 @cursor: 
1306
1307
1308 <!-- ##### FUNCTION gdk_window_get_cursor ##### -->
1309 <para>
1310
1311 </para>
1312
1313 @window: 
1314 @Returns: 
1315
1316
1317 <!-- ##### MACRO gdk_window_set_colormap ##### -->
1318 <para>
1319 Deprecated equivalent to gdk_drawable_set_colormap()
1320 </para>
1321
1322
1323
1324 <!-- ##### FUNCTION gdk_window_get_user_data ##### -->
1325 <para>
1326
1327 </para>
1328
1329 @window: 
1330 @data: 
1331
1332
1333 <!-- ##### FUNCTION gdk_window_get_geometry ##### -->
1334 <para>
1335
1336 </para>
1337
1338 @window: 
1339 @x: 
1340 @y: 
1341 @width: 
1342 @height: 
1343 @depth: 
1344
1345
1346 <!-- ##### FUNCTION gdk_window_set_geometry_hints ##### -->
1347 <para>
1348
1349 </para>
1350
1351 @window: 
1352 @geometry: 
1353 @geom_mask: 
1354
1355
1356 <!-- ##### FUNCTION gdk_window_set_icon_list ##### -->
1357 <para>
1358
1359 </para>
1360
1361 @window: 
1362 @pixbufs: 
1363
1364
1365 <!-- ##### FUNCTION gdk_window_set_modal_hint ##### -->
1366 <para>
1367
1368 </para>
1369
1370 @window: 
1371 @modal: 
1372
1373
1374 <!-- ##### FUNCTION gdk_window_set_type_hint ##### -->
1375 <para>
1376
1377 </para>
1378
1379 @window: 
1380 @hint: 
1381
1382
1383 <!-- ##### FUNCTION gdk_window_get_type_hint ##### -->
1384 <para>
1385
1386 </para>
1387
1388 @window: 
1389 @Returns: 
1390
1391
1392 <!-- ##### FUNCTION gdk_window_set_skip_taskbar_hint ##### -->
1393 <para>
1394
1395 </para>
1396
1397 @window: 
1398 @skips_taskbar: 
1399
1400
1401 <!-- ##### FUNCTION gdk_window_set_skip_pager_hint ##### -->
1402 <para>
1403
1404 </para>
1405
1406 @window: 
1407 @skips_pager: 
1408
1409
1410 <!-- ##### FUNCTION gdk_window_set_urgency_hint ##### -->
1411 <para>
1412
1413 </para>
1414
1415 @window: 
1416 @urgent: 
1417
1418
1419 <!-- ##### FUNCTION gdk_window_get_position ##### -->
1420 <para>
1421
1422 </para>
1423
1424 @window: 
1425 @x: 
1426 @y: 
1427
1428
1429 <!-- ##### FUNCTION gdk_window_get_root_origin ##### -->
1430 <para>
1431
1432 </para>
1433
1434 @window: 
1435 @x: 
1436 @y: 
1437
1438
1439 <!-- ##### FUNCTION gdk_window_get_frame_extents ##### -->
1440 <para>
1441
1442 </para>
1443
1444 @window: 
1445 @rect: 
1446
1447
1448 <!-- ##### MACRO gdk_window_get_size ##### -->
1449 <para>
1450 Deprecated equivalent of gdk_drawable_get_size().
1451 </para>
1452
1453
1454
1455 <!-- ##### MACRO gdk_window_get_visual ##### -->
1456 <para>
1457 Deprecated equivalent of gdk_drawable_get_visual().
1458 </para>
1459
1460 @Returns: the #GdkVisual of the window
1461
1462
1463 <!-- ##### MACRO gdk_window_get_colormap ##### -->
1464 <para>
1465 Deprecated equivalent of gdk_drawable_get_colormap().
1466 </para>
1467
1468 @Returns: colormap for the window
1469
1470
1471 <!-- ##### MACRO gdk_window_get_type ##### -->
1472 <para>
1473 Deprecated equivalent of gdk_drawable_get_type().
1474 </para>
1475
1476 @Returns: type of drawable
1477
1478
1479 <!-- ##### FUNCTION gdk_window_get_origin ##### -->
1480 <para>
1481
1482 </para>
1483
1484 @window: 
1485 @x: 
1486 @y: 
1487 @Returns: 
1488
1489
1490 <!-- ##### FUNCTION gdk_window_get_deskrelative_origin ##### -->
1491 <para>
1492
1493 </para>
1494
1495 @window: 
1496 @x: 
1497 @y: 
1498 @Returns: 
1499
1500
1501 <!-- ##### FUNCTION gdk_window_get_root_coords ##### -->
1502 <para>
1503
1504 </para>
1505
1506 @window: 
1507 @x: 
1508 @y: 
1509 @root_x: 
1510 @root_y: 
1511
1512
1513 <!-- ##### FUNCTION gdk_window_get_pointer ##### -->
1514 <para>
1515
1516 </para>
1517
1518 @window: 
1519 @x: 
1520 @y: 
1521 @mask: 
1522 @Returns: 
1523
1524
1525 <!-- ##### ENUM GdkModifierType ##### -->
1526 <para>
1527 A set of bit-flags to indicate the state of modifier keys and mouse buttons 
1528 in various event types. Typical modifier keys are Shift, Control, Meta, Super,
1529 Hyper, Alt, Compose, Apple, CapsLock or ShiftLock. 
1530 </para>
1531 <para>
1532 Like the X Window System, GDK supports 8 modifier keys and 5 mouse buttons.
1533 </para>
1534 <para>
1535 Since 2.10, GDK recognizes which of the Meta, Super or Hyper keys are mapped 
1536 to Mod2 - Mod5, and indicates this by setting %GDK_SUPER_MASK, %GDK_HYPER_MASK
1537 or %GDK_META_MASK in the state field of key events.
1538 </para>
1539
1540 @GDK_SHIFT_MASK: the Shift key.
1541 @GDK_LOCK_MASK: a Lock key (depending on the modifier mapping of the 
1542   X server this may either be CapsLock or ShiftLock).
1543 @GDK_CONTROL_MASK: the Control key.
1544 @GDK_MOD1_MASK: the fourth modifier key (it depends on the modifier 
1545   mapping of the X server which key is interpreted as this modifier, but 
1546   normally it is the Alt key).
1547 @GDK_MOD2_MASK: the fifth modifier key (it depends on the modifier 
1548   mapping of the X server which key is interpreted as this modifier).
1549 @GDK_MOD3_MASK: the sixth modifier key (it depends on the modifier 
1550   mapping of the X server which key is interpreted as this modifier).
1551 @GDK_MOD4_MASK: the seventh modifier key (it depends on the modifier 
1552   mapping of the X server which key is interpreted as this modifier).
1553 @GDK_MOD5_MASK: the eighth modifier key (it depends on the modifier 
1554   mapping of the X server which key is interpreted as this modifier).
1555 @GDK_BUTTON1_MASK: the first mouse button.
1556 @GDK_BUTTON2_MASK: the second mouse button.
1557 @GDK_BUTTON3_MASK: the third mouse button.
1558 @GDK_BUTTON4_MASK: the fourth mouse button.
1559 @GDK_BUTTON5_MASK: the fifth mouse button.
1560 @GDK_SUPER_MASK: the Super modifier. Since 2.10
1561 @GDK_HYPER_MASK: the Hyper modifier. Since 2.10
1562 @GDK_META_MASK: the Meta modifier. Since 2.10
1563 @GDK_RELEASE_MASK: not used in GDK itself. GTK+ uses it to differentiate 
1564   between (keyval, modifiers) pairs from key press and release events.
1565 @GDK_MODIFIER_MASK: a mask covering all modifier types.
1566
1567 <!-- ##### FUNCTION gdk_window_get_parent ##### -->
1568 <para>
1569
1570 </para>
1571
1572 @window: 
1573 @Returns: 
1574
1575
1576 <!-- ##### FUNCTION gdk_window_get_toplevel ##### -->
1577 <para>
1578
1579 </para>
1580
1581 @window: 
1582 @Returns: 
1583
1584
1585 <!-- ##### FUNCTION gdk_window_get_children ##### -->
1586 <para>
1587
1588 </para>
1589
1590 @window: 
1591 @Returns: 
1592
1593
1594 <!-- ##### FUNCTION gdk_window_peek_children ##### -->
1595 <para>
1596
1597 </para>
1598
1599 @window: 
1600 @Returns: 
1601
1602
1603 <!-- ##### FUNCTION gdk_window_get_events ##### -->
1604 <para>
1605
1606 </para>
1607
1608 @window: 
1609 @Returns: 
1610
1611
1612 <!-- ##### FUNCTION gdk_window_set_events ##### -->
1613 <para>
1614
1615 </para>
1616
1617 @window: 
1618 @event_mask: 
1619
1620
1621 <!-- ##### FUNCTION gdk_window_set_icon ##### -->
1622 <para>
1623
1624 </para>
1625
1626 @window: 
1627 @icon_window: 
1628 @pixmap: 
1629 @mask: 
1630
1631
1632 <!-- ##### FUNCTION gdk_window_set_icon_name ##### -->
1633 <para>
1634
1635 </para>
1636
1637 @window: 
1638 @name: 
1639
1640
1641 <!-- ##### FUNCTION gdk_window_set_transient_for ##### -->
1642 <para>
1643
1644 </para>
1645
1646 @window: 
1647 @parent: 
1648
1649
1650 <!-- ##### FUNCTION gdk_window_set_role ##### -->
1651 <para>
1652
1653 </para>
1654
1655 @window: 
1656 @role: 
1657
1658
1659 <!-- ##### FUNCTION gdk_window_set_startup_id ##### -->
1660 <para>
1661
1662 </para>
1663
1664 @window: 
1665 @startup_id: 
1666
1667
1668 <!-- ##### FUNCTION gdk_window_set_group ##### -->
1669 <para>
1670
1671 </para>
1672
1673 @window: 
1674 @leader: 
1675
1676
1677 <!-- ##### FUNCTION gdk_window_get_group ##### -->
1678 <para>
1679
1680 </para>
1681
1682 @window: 
1683 @Returns: 
1684
1685
1686 <!-- ##### FUNCTION gdk_window_set_decorations ##### -->
1687 <para>
1688
1689 </para>
1690
1691 @window: 
1692 @decorations: 
1693
1694
1695 <!-- ##### FUNCTION gdk_window_get_decorations ##### -->
1696 <para>
1697
1698 </para>
1699
1700 @window: The window to get the decorations from
1701 @decorations: The window decorations will be written here
1702 @Returns: %TRUE if the window has decorations set, %FALSE otherwise.
1703
1704
1705 <!-- ##### ENUM GdkWMDecoration ##### -->
1706 <para>
1707 These are hints originally defined by the Motif toolkit.
1708 The window manager can use them when determining how to decorate
1709 the window. The hint must be set before mapping the window.
1710 </para>
1711
1712 @GDK_DECOR_ALL: all decorations should be applied.
1713 @GDK_DECOR_BORDER: a frame should be drawn around the window.
1714 @GDK_DECOR_RESIZEH: the frame should have resize handles.
1715 @GDK_DECOR_TITLE: a titlebar should be placed above the window.
1716 @GDK_DECOR_MENU: a button for opening a menu should be included.
1717 @GDK_DECOR_MINIMIZE: a minimize button should be included.
1718 @GDK_DECOR_MAXIMIZE: a maximize button should be included.
1719
1720 <!-- ##### FUNCTION gdk_window_set_functions ##### -->
1721 <para>
1722
1723 </para>
1724
1725 @window: 
1726 @functions: 
1727
1728
1729 <!-- ##### ENUM GdkWMFunction ##### -->
1730 <para>
1731 These are hints originally defined by the Motif toolkit.
1732 The window manager can use them when determining the functions 
1733 to offer for the window. 
1734 The hint must be set before mapping the window.
1735 </para>
1736
1737 @GDK_FUNC_ALL: all functions should be offered.
1738 @GDK_FUNC_RESIZE: the window should be resizable.
1739 @GDK_FUNC_MOVE: the window should be movable.
1740 @GDK_FUNC_MINIMIZE: the window should be minimizable.
1741 @GDK_FUNC_MAXIMIZE: the window should be maximizable.
1742 @GDK_FUNC_CLOSE: the window should be closable.
1743
1744 <!-- ##### FUNCTION gdk_window_get_toplevels ##### -->
1745 <para>
1746
1747 </para>
1748
1749 @Returns: 
1750
1751
1752 <!-- ##### FUNCTION gdk_get_default_root_window ##### -->
1753 <para>
1754
1755 </para>
1756
1757 @Returns: 
1758
1759
1760 <!-- ##### STRUCT GdkPointerHooks ##### -->
1761 <para>
1762 A table of pointers to functions for getting quantities related to 
1763 the current pointer position. GDK has one global table of this type,
1764 which can be set using gdk_set_pointer_hooks().
1765 </para>
1766 <para>
1767 This is only useful for such low-level tools as an event recorder. 
1768 Applications should never have any reason to use this facility
1769 </para>
1770
1771 @get_pointer: Obtains the current pointer position and modifier state.
1772   The position is given in coordinates relative to the window containing 
1773   the pointer, which is returned in @window.
1774 @window_at_pointer: Obtains the window underneath the mouse pointer, 
1775   returning the location of that window in @win_x, @win_y. Returns %NULL 
1776   if the window under the mouse pointer is not known to GDK (for example, 
1777   belongs to another application).
1778
1779 <!-- ##### FUNCTION gdk_set_pointer_hooks ##### -->
1780 <para>
1781
1782 </para>
1783
1784 @new_hooks: 
1785 @Returns: 
1786
1787
1788 <!-- ##### FUNCTION gdk_offscreen_window_get_pixmap ##### -->
1789 <para>
1790
1791 </para>
1792
1793 @window: 
1794 @Returns: 
1795
1796
1797 <!-- ##### FUNCTION gdk_offscreen_window_set_embedder ##### -->
1798 <para>
1799
1800 </para>
1801
1802 @window: 
1803 @embedder: 
1804
1805
1806 <!-- ##### FUNCTION gdk_offscreen_window_get_embedder ##### -->
1807 <para>
1808
1809 </para>
1810
1811 @window: 
1812 @Returns: 
1813
1814
1815 <!-- ##### FUNCTION gdk_window_geometry_changed ##### -->
1816 <para>
1817
1818 </para>
1819
1820 @window: 
1821
1822
1823 <!-- ##### FUNCTION gdk_window_redirect_to_drawable ##### -->
1824 <para>
1825
1826 </para>
1827
1828 @window: 
1829 @drawable: 
1830 @src_x: 
1831 @src_y: 
1832 @dest_x: 
1833 @dest_y: 
1834 @width: 
1835 @height: 
1836
1837
1838 <!-- ##### FUNCTION gdk_window_remove_redirection ##### -->
1839 <para>
1840
1841 </para>
1842
1843 @window: 
1844
1845
1846 <!--
1847 Local variables:
1848 mode: sgml
1849 sgml-parent-document: ("../gdk-docs.sgml" "book" "refsect2" "")
1850 End:
1851 -->
1852
1853