]> Pileus Git - ~andy/gtk/blob - docs/reference/gdk/tmpl/windows.sgml
Documentation fixes
[~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_visible ##### -->
570 <para>
571
572 </para>
573
574 @window: 
575 @Returns: 
576
577
578 <!-- ##### FUNCTION gdk_window_is_viewable ##### -->
579 <para>
580
581 </para>
582
583 @window: 
584 @Returns: 
585
586
587 <!-- ##### FUNCTION gdk_window_get_state ##### -->
588 <para>
589
590 </para>
591
592 @window: 
593 @Returns: 
594
595
596 <!-- ##### FUNCTION gdk_window_withdraw ##### -->
597 <para>
598
599 </para>
600
601 @window: 
602
603
604 <!-- ##### FUNCTION gdk_window_iconify ##### -->
605 <para>
606
607 </para>
608
609 @window: 
610
611
612 <!-- ##### FUNCTION gdk_window_deiconify ##### -->
613 <para>
614
615 </para>
616
617 @window: 
618
619
620 <!-- ##### FUNCTION gdk_window_stick ##### -->
621 <para>
622
623 </para>
624
625 @window: 
626
627
628 <!-- ##### FUNCTION gdk_window_unstick ##### -->
629 <para>
630
631 </para>
632
633 @window: 
634
635
636 <!-- ##### FUNCTION gdk_window_maximize ##### -->
637 <para>
638
639 </para>
640
641 @window: 
642
643
644 <!-- ##### FUNCTION gdk_window_unmaximize ##### -->
645 <para>
646
647 </para>
648
649 @window: 
650
651
652 <!-- ##### FUNCTION gdk_window_fullscreen ##### -->
653 <para>
654
655 </para>
656
657 @window: 
658
659
660 <!-- ##### FUNCTION gdk_window_unfullscreen ##### -->
661 <para>
662
663 </para>
664
665 @window: 
666
667
668 <!-- ##### FUNCTION gdk_window_set_keep_above ##### -->
669 <para>
670
671 </para>
672
673 @window: 
674 @setting: 
675
676
677 <!-- ##### FUNCTION gdk_window_set_keep_below ##### -->
678 <para>
679
680 </para>
681
682 @window: 
683 @setting: 
684
685
686 <!-- ##### FUNCTION gdk_window_set_opacity ##### -->
687 <para>
688
689 </para>
690
691 @window: 
692 @opacity: 
693
694
695 <!-- ##### FUNCTION gdk_window_set_composited ##### -->
696 <para>
697
698 </para>
699
700 @window: 
701 @composited: 
702
703
704 <!-- ##### FUNCTION gdk_window_move ##### -->
705 <para>
706
707 </para>
708
709 @window: 
710 @x: 
711 @y: 
712
713
714 <!-- ##### FUNCTION gdk_window_resize ##### -->
715 <para>
716
717 </para>
718
719 @window: 
720 @width: 
721 @height: 
722
723
724 <!-- ##### FUNCTION gdk_window_move_resize ##### -->
725 <para>
726
727 </para>
728
729 @window: 
730 @x: 
731 @y: 
732 @width: 
733 @height: 
734
735
736 <!-- ##### FUNCTION gdk_window_scroll ##### -->
737 <para>
738
739 </para>
740
741 @window: 
742 @dx: 
743 @dy: 
744
745
746 <!-- ##### FUNCTION gdk_window_move_region ##### -->
747 <para>
748
749 </para>
750
751 @window: 
752 @region: 
753 @dx: 
754 @dy: 
755
756
757 <!-- ##### FUNCTION gdk_window_ensure_native ##### -->
758 <para>
759
760 </para>
761
762 @window: 
763 @Returns: 
764
765
766 <!-- ##### FUNCTION gdk_window_reparent ##### -->
767 <para>
768
769 </para>
770
771 @window: 
772 @new_parent: 
773 @x: 
774 @y: 
775
776
777 <!-- ##### FUNCTION gdk_window_clear ##### -->
778 <para>
779
780 </para>
781
782 @window: 
783
784
785 <!-- ##### FUNCTION gdk_window_clear_area ##### -->
786 <para>
787
788 </para>
789
790 @window: 
791 @x: 
792 @y: 
793 @width: 
794 @height: 
795
796
797 <!-- ##### FUNCTION gdk_window_clear_area_e ##### -->
798 <para>
799
800 </para>
801
802 @window: 
803 @x: 
804 @y: 
805 @width: 
806 @height: 
807
808
809 <!-- ##### MACRO gdk_window_copy_area ##### -->
810 <para>
811 Deprecated equivalent to gdk_draw_drawable(), see that function for docs
812 </para>
813
814 @drawable: a #GdkDrawable
815 @gc: a #GdkGC sharing the drawable's visual and colormap
816 @x: X position in @drawable where the rectangle should be drawn
817 @y: Y position in @drawable where the rectangle should be drawn
818 @source_drawable: the source #GdkDrawable, which may be the same as @drawable
819 @source_x: X position in @src of rectangle to draw
820 @source_y: Y position in @src of rectangle to draw
821 @width: width of rectangle to draw, or -1 for entire @src width
822 @height: height of rectangle to draw, or -1 for entire @src height
823 <!-- # Unused Parameters # -->
824 @drawable: a #GdkDrawable
825 @xdest: X position in @drawable where the rectangle should be drawn
826 @ydest: Y position in @drawable where the rectangle should be drawn
827
828
829 <!-- ##### FUNCTION gdk_window_raise ##### -->
830 <para>
831
832 </para>
833
834 @window: 
835
836
837 <!-- ##### FUNCTION gdk_window_lower ##### -->
838 <para>
839
840 </para>
841
842 @window: 
843
844
845 <!-- ##### FUNCTION gdk_window_focus ##### -->
846 <para>
847
848 </para>
849
850 @window: 
851 @timestamp: 
852
853
854 <!-- ##### FUNCTION gdk_window_register_dnd ##### -->
855 <para>
856 Registers a window as a potential drop destination.
857 </para>
858
859 @window: a #GdkWindow.
860
861
862 <!-- ##### FUNCTION gdk_window_begin_resize_drag ##### -->
863 <para>
864
865 </para>
866
867 @window: 
868 @edge: 
869 @button: 
870 @root_x: 
871 @root_y: 
872 @timestamp: 
873
874
875 <!-- ##### FUNCTION gdk_window_begin_move_drag ##### -->
876 <para>
877
878 </para>
879
880 @window: 
881 @button: 
882 @root_x: 
883 @root_y: 
884 @timestamp: 
885
886
887 <!-- ##### FUNCTION gdk_window_constrain_size ##### -->
888 <para>
889
890 </para>
891
892 @geometry: 
893 @flags: 
894 @width: 
895 @height: 
896 @new_width: 
897 @new_height: 
898
899
900 <!-- ##### FUNCTION gdk_window_beep ##### -->
901 <para>
902
903 </para>
904
905 @window: 
906
907
908 <!-- ##### FUNCTION gdk_window_begin_paint_rect ##### -->
909 <para>
910
911 </para>
912
913 @window: 
914 @rectangle: 
915
916
917 <!-- ##### FUNCTION gdk_window_begin_paint_region ##### -->
918 <para>
919
920 </para>
921
922 @window: 
923 @region: 
924
925
926 <!-- ##### FUNCTION gdk_window_end_paint ##### -->
927 <para>
928
929 </para>
930
931 @window: 
932
933
934 <!-- ##### FUNCTION gdk_window_invalidate_rect ##### -->
935 <para>
936
937 </para>
938
939 @window: 
940 @rect: 
941 @invalidate_children: 
942
943
944 <!-- ##### FUNCTION gdk_window_invalidate_region ##### -->
945 <para>
946
947 </para>
948
949 @window: 
950 @region: 
951 @invalidate_children: 
952
953
954 <!-- ##### FUNCTION gdk_window_invalidate_maybe_recurse ##### -->
955 <para>
956
957 </para>
958
959 @window: 
960 @region: 
961 @child_func: 
962 @user_data: 
963
964
965 <!-- ##### FUNCTION gdk_window_get_update_area ##### -->
966 <para>
967
968 </para>
969
970 @window: 
971 @Returns: 
972
973
974 <!-- ##### FUNCTION gdk_window_freeze_updates ##### -->
975 <para>
976
977 </para>
978
979 @window: 
980
981
982 <!-- ##### FUNCTION gdk_window_thaw_updates ##### -->
983 <para>
984
985 </para>
986
987 @window: 
988
989
990 <!-- ##### FUNCTION gdk_window_process_all_updates ##### -->
991 <para>
992
993 </para>
994
995
996
997 <!-- ##### FUNCTION gdk_window_process_updates ##### -->
998 <para>
999
1000 </para>
1001
1002 @window: 
1003 @update_children: 
1004
1005
1006 <!-- ##### FUNCTION gdk_window_set_debug_updates ##### -->
1007 <para>
1008
1009 </para>
1010
1011 @setting: 
1012
1013
1014 <!-- ##### FUNCTION gdk_window_get_internal_paint_info ##### -->
1015 <para>
1016
1017 </para>
1018
1019 @window: 
1020 @real_drawable: 
1021 @x_offset: 
1022 @y_offset: 
1023
1024
1025 <!-- ##### FUNCTION gdk_window_enable_synchronized_configure ##### -->
1026 <para>
1027
1028 </para>
1029
1030 @window: 
1031
1032
1033 <!-- ##### FUNCTION gdk_window_configure_finished ##### -->
1034 <para>
1035
1036 </para>
1037
1038 @window: 
1039
1040
1041 <!-- ##### FUNCTION gdk_window_set_user_data ##### -->
1042 <para>
1043
1044 </para>
1045
1046 @window: 
1047 @user_data: 
1048
1049
1050 <!-- ##### FUNCTION gdk_window_set_override_redirect ##### -->
1051 <para>
1052
1053 </para>
1054
1055 @window: 
1056 @override_redirect: 
1057
1058
1059 <!-- ##### FUNCTION gdk_window_set_accept_focus ##### -->
1060 <para>
1061
1062 </para>
1063
1064 @window: 
1065 @accept_focus: 
1066
1067
1068 <!-- ##### FUNCTION gdk_window_set_focus_on_map ##### -->
1069 <para>
1070
1071 </para>
1072
1073 @window: 
1074 @focus_on_map: 
1075
1076
1077 <!-- ##### FUNCTION gdk_window_add_filter ##### -->
1078 <para>
1079
1080 </para>
1081
1082 @window: 
1083 @function: 
1084 @data: 
1085
1086
1087 <!-- ##### FUNCTION gdk_window_remove_filter ##### -->
1088 <para>
1089
1090 </para>
1091
1092 @window: 
1093 @function: 
1094 @data: 
1095
1096
1097 <!-- ##### USER_FUNCTION GdkFilterFunc ##### -->
1098 <para>
1099 Specifies the type of function used to filter native events before they are
1100 converted to GDK events. 
1101 </para>
1102
1103 <para>
1104 When a filter is called, @event is unpopulated, except for
1105 <literal>event-&gt;window</literal>. The filter may translate the native
1106 event to a GDK event and store the result in @event, or handle it without
1107 translation. If the filter translates the event and processing should
1108 continue, it should return <literal>GDK_FILTER_TRANSLATE</literal>.
1109 </para>
1110
1111 @xevent: the native event to filter.
1112 @event: the GDK event to which the X event will be translated.
1113 @data: user data set when the filter was installed.
1114 @Returns: a #GdkFilterReturn value.
1115
1116
1117 <!-- ##### ENUM GdkFilterReturn ##### -->
1118 <para>
1119 Specifies the result of applying a #GdkFilterFunc to a native event.
1120 </para>
1121
1122 @GDK_FILTER_CONTINUE: event not handled, continue processing.
1123 @GDK_FILTER_TRANSLATE: native event translated into a GDK event and stored
1124                        in the <literal>event</literal> structure that was passed in.
1125 @GDK_FILTER_REMOVE: event handled, terminate processing.
1126
1127 <!-- ##### TYPEDEF GdkXEvent ##### -->
1128 <para>
1129 Used to represent native events (<type>XEvent</type>s for the X11 
1130 backend, <type>MSG</type>s for Win32).
1131 </para>
1132
1133
1134 <!-- ##### FUNCTION gdk_window_shape_combine_mask ##### -->
1135 <para>
1136
1137 </para>
1138
1139 @window: 
1140 @mask: 
1141 @x: 
1142 @y: 
1143
1144
1145 <!-- ##### FUNCTION gdk_window_shape_combine_region ##### -->
1146 <para>
1147
1148 </para>
1149
1150 @window: 
1151 @shape_region: 
1152 @offset_x: 
1153 @offset_y: 
1154
1155
1156 <!-- ##### FUNCTION gdk_window_set_child_shapes ##### -->
1157 <para>
1158
1159 </para>
1160
1161 @window: 
1162
1163
1164 <!-- ##### FUNCTION gdk_window_merge_child_shapes ##### -->
1165 <para>
1166
1167 </para>
1168
1169 @window: 
1170
1171
1172 <!-- ##### FUNCTION gdk_window_input_shape_combine_mask ##### -->
1173 <para>
1174
1175 </para>
1176
1177 @window: 
1178 @mask: 
1179 @x: 
1180 @y: 
1181
1182
1183 <!-- ##### FUNCTION gdk_window_input_shape_combine_region ##### -->
1184 <para>
1185
1186 </para>
1187
1188 @window: 
1189 @shape_region: 
1190 @offset_x: 
1191 @offset_y: 
1192
1193
1194 <!-- ##### FUNCTION gdk_window_set_child_input_shapes ##### -->
1195 <para>
1196
1197 </para>
1198
1199 @window: 
1200
1201
1202 <!-- ##### FUNCTION gdk_window_merge_child_input_shapes ##### -->
1203 <para>
1204
1205 </para>
1206
1207 @window: 
1208
1209
1210 <!-- ##### FUNCTION gdk_window_set_static_gravities ##### -->
1211 <para>
1212
1213 </para>
1214
1215 @window: 
1216 @use_static: 
1217 @Returns: 
1218
1219
1220 <!-- ##### FUNCTION gdk_window_set_hints ##### -->
1221 <para>
1222
1223 </para>
1224
1225 @window: 
1226 @x: 
1227 @y: 
1228 @min_width: 
1229 @min_height: 
1230 @max_width: 
1231 @max_height: 
1232 @flags: 
1233
1234
1235 <!-- ##### FUNCTION gdk_window_set_title ##### -->
1236 <para>
1237
1238 </para>
1239
1240 @window: 
1241 @title: 
1242
1243
1244 <!-- ##### FUNCTION gdk_window_set_background ##### -->
1245 <para>
1246
1247 </para>
1248
1249 @window: 
1250 @color: 
1251
1252
1253 <!-- ##### FUNCTION gdk_window_set_back_pixmap ##### -->
1254 <para>
1255
1256 </para>
1257
1258 @window: 
1259 @pixmap: 
1260 @parent_relative: 
1261
1262
1263 <!-- ##### MACRO GDK_PARENT_RELATIVE ##### -->
1264 <para>
1265 A special value for <literal>GdkPixmap*</literal> variables, indicating
1266 that the background pixmap for a window should be inherited from the parent
1267 window.
1268 </para>
1269
1270
1271
1272 <!-- ##### FUNCTION gdk_window_set_cursor ##### -->
1273 <para>
1274
1275 </para>
1276
1277 @window: 
1278 @cursor: 
1279
1280
1281 <!-- ##### FUNCTION gdk_window_get_cursor ##### -->
1282 <para>
1283
1284 </para>
1285
1286 @window: 
1287 @Returns: 
1288
1289
1290 <!-- ##### MACRO gdk_window_set_colormap ##### -->
1291 <para>
1292 Deprecated equivalent to gdk_drawable_set_colormap()
1293 </para>
1294
1295
1296
1297 <!-- ##### FUNCTION gdk_window_get_user_data ##### -->
1298 <para>
1299
1300 </para>
1301
1302 @window: 
1303 @data: 
1304
1305
1306 <!-- ##### FUNCTION gdk_window_get_geometry ##### -->
1307 <para>
1308
1309 </para>
1310
1311 @window: 
1312 @x: 
1313 @y: 
1314 @width: 
1315 @height: 
1316 @depth: 
1317
1318
1319 <!-- ##### FUNCTION gdk_window_set_geometry_hints ##### -->
1320 <para>
1321
1322 </para>
1323
1324 @window: 
1325 @geometry: 
1326 @geom_mask: 
1327
1328
1329 <!-- ##### FUNCTION gdk_window_set_icon_list ##### -->
1330 <para>
1331
1332 </para>
1333
1334 @window: 
1335 @pixbufs: 
1336
1337
1338 <!-- ##### FUNCTION gdk_window_set_modal_hint ##### -->
1339 <para>
1340
1341 </para>
1342
1343 @window: 
1344 @modal: 
1345
1346
1347 <!-- ##### FUNCTION gdk_window_set_type_hint ##### -->
1348 <para>
1349
1350 </para>
1351
1352 @window: 
1353 @hint: 
1354
1355
1356 <!-- ##### FUNCTION gdk_window_get_type_hint ##### -->
1357 <para>
1358
1359 </para>
1360
1361 @window: 
1362 @Returns: 
1363
1364
1365 <!-- ##### FUNCTION gdk_window_set_skip_taskbar_hint ##### -->
1366 <para>
1367
1368 </para>
1369
1370 @window: 
1371 @skips_taskbar: 
1372
1373
1374 <!-- ##### FUNCTION gdk_window_set_skip_pager_hint ##### -->
1375 <para>
1376
1377 </para>
1378
1379 @window: 
1380 @skips_pager: 
1381
1382
1383 <!-- ##### FUNCTION gdk_window_set_urgency_hint ##### -->
1384 <para>
1385
1386 </para>
1387
1388 @window: 
1389 @urgent: 
1390
1391
1392 <!-- ##### FUNCTION gdk_window_get_position ##### -->
1393 <para>
1394
1395 </para>
1396
1397 @window: 
1398 @x: 
1399 @y: 
1400
1401
1402 <!-- ##### FUNCTION gdk_window_get_root_origin ##### -->
1403 <para>
1404
1405 </para>
1406
1407 @window: 
1408 @x: 
1409 @y: 
1410
1411
1412 <!-- ##### FUNCTION gdk_window_get_frame_extents ##### -->
1413 <para>
1414
1415 </para>
1416
1417 @window: 
1418 @rect: 
1419
1420
1421 <!-- ##### MACRO gdk_window_get_size ##### -->
1422 <para>
1423 Deprecated equivalent of gdk_drawable_get_size().
1424 </para>
1425
1426
1427
1428 <!-- ##### MACRO gdk_window_get_visual ##### -->
1429 <para>
1430 Deprecated equivalent of gdk_drawable_get_visual().
1431 </para>
1432
1433 @Returns: the #GdkVisual of the window
1434
1435
1436 <!-- ##### MACRO gdk_window_get_colormap ##### -->
1437 <para>
1438 Deprecated equivalent of gdk_drawable_get_colormap().
1439 </para>
1440
1441 @Returns: colormap for the window
1442
1443
1444 <!-- ##### MACRO gdk_window_get_type ##### -->
1445 <para>
1446 Deprecated equivalent of gdk_drawable_get_type().
1447 </para>
1448
1449 @Returns: type of drawable
1450
1451
1452 <!-- ##### FUNCTION gdk_window_get_origin ##### -->
1453 <para>
1454
1455 </para>
1456
1457 @window: 
1458 @x: 
1459 @y: 
1460 @Returns: 
1461
1462
1463 <!-- ##### FUNCTION gdk_window_get_deskrelative_origin ##### -->
1464 <para>
1465
1466 </para>
1467
1468 @window: 
1469 @x: 
1470 @y: 
1471 @Returns: 
1472
1473
1474 <!-- ##### FUNCTION gdk_window_get_root_coords ##### -->
1475 <para>
1476
1477 </para>
1478
1479 @window: 
1480 @x: 
1481 @y: 
1482 @root_x: 
1483 @root_y: 
1484
1485
1486 <!-- ##### FUNCTION gdk_window_get_pointer ##### -->
1487 <para>
1488
1489 </para>
1490
1491 @window: 
1492 @x: 
1493 @y: 
1494 @mask: 
1495 @Returns: 
1496
1497
1498 <!-- ##### ENUM GdkModifierType ##### -->
1499 <para>
1500 A set of bit-flags to indicate the state of modifier keys and mouse buttons 
1501 in various event types. Typical modifier keys are Shift, Control, Meta, Super,
1502 Hyper, Alt, Compose, Apple, CapsLock or ShiftLock. 
1503 </para>
1504 <para>
1505 Like the X Window System, GDK supports 8 modifier keys and 5 mouse buttons.
1506 </para>
1507 <para>
1508 Since 2.10, GDK recognizes which of the Meta, Super or Hyper keys are mapped 
1509 to Mod2 - Mod5, and indicates this by setting %GDK_SUPER_MASK, %GDK_HYPER_MASK
1510 or %GDK_META_MASK in the state field of key events.
1511 </para>
1512
1513 @GDK_SHIFT_MASK: the Shift key.
1514 @GDK_LOCK_MASK: a Lock key (depending on the modifier mapping of the 
1515   X server this may either be CapsLock or ShiftLock).
1516 @GDK_CONTROL_MASK: the Control key.
1517 @GDK_MOD1_MASK: the fourth modifier key (it depends on the modifier 
1518   mapping of the X server which key is interpreted as this modifier, but 
1519   normally it is the Alt key).
1520 @GDK_MOD2_MASK: the fifth modifier key (it depends on the modifier 
1521   mapping of the X server which key is interpreted as this modifier).
1522 @GDK_MOD3_MASK: the sixth modifier key (it depends on the modifier 
1523   mapping of the X server which key is interpreted as this modifier).
1524 @GDK_MOD4_MASK: the seventh modifier key (it depends on the modifier 
1525   mapping of the X server which key is interpreted as this modifier).
1526 @GDK_MOD5_MASK: the eighth modifier key (it depends on the modifier 
1527   mapping of the X server which key is interpreted as this modifier).
1528 @GDK_BUTTON1_MASK: the first mouse button.
1529 @GDK_BUTTON2_MASK: the second mouse button.
1530 @GDK_BUTTON3_MASK: the third mouse button.
1531 @GDK_BUTTON4_MASK: the fourth mouse button.
1532 @GDK_BUTTON5_MASK: the fifth mouse button.
1533 @GDK_SUPER_MASK: the Super modifier. Since 2.10
1534 @GDK_HYPER_MASK: the Hyper modifier. Since 2.10
1535 @GDK_META_MASK: the Meta modifier. Since 2.10
1536 @GDK_RELEASE_MASK: not used in GDK itself. GTK+ uses it to differentiate 
1537   between (keyval, modifiers) pairs from key press and release events.
1538 @GDK_MODIFIER_MASK: a mask covering all modifier types.
1539
1540 <!-- ##### FUNCTION gdk_window_get_parent ##### -->
1541 <para>
1542
1543 </para>
1544
1545 @window: 
1546 @Returns: 
1547
1548
1549 <!-- ##### FUNCTION gdk_window_get_toplevel ##### -->
1550 <para>
1551
1552 </para>
1553
1554 @window: 
1555 @Returns: 
1556
1557
1558 <!-- ##### FUNCTION gdk_window_get_children ##### -->
1559 <para>
1560
1561 </para>
1562
1563 @window: 
1564 @Returns: 
1565
1566
1567 <!-- ##### FUNCTION gdk_window_peek_children ##### -->
1568 <para>
1569
1570 </para>
1571
1572 @window: 
1573 @Returns: 
1574
1575
1576 <!-- ##### FUNCTION gdk_window_get_events ##### -->
1577 <para>
1578
1579 </para>
1580
1581 @window: 
1582 @Returns: 
1583
1584
1585 <!-- ##### FUNCTION gdk_window_set_events ##### -->
1586 <para>
1587
1588 </para>
1589
1590 @window: 
1591 @event_mask: 
1592
1593
1594 <!-- ##### FUNCTION gdk_window_set_icon ##### -->
1595 <para>
1596
1597 </para>
1598
1599 @window: 
1600 @icon_window: 
1601 @pixmap: 
1602 @mask: 
1603
1604
1605 <!-- ##### FUNCTION gdk_window_set_icon_name ##### -->
1606 <para>
1607
1608 </para>
1609
1610 @window: 
1611 @name: 
1612
1613
1614 <!-- ##### FUNCTION gdk_window_set_transient_for ##### -->
1615 <para>
1616
1617 </para>
1618
1619 @window: 
1620 @parent: 
1621
1622
1623 <!-- ##### FUNCTION gdk_window_set_role ##### -->
1624 <para>
1625
1626 </para>
1627
1628 @window: 
1629 @role: 
1630
1631
1632 <!-- ##### FUNCTION gdk_window_set_startup_id ##### -->
1633 <para>
1634
1635 </para>
1636
1637 @window: 
1638 @startup_id: 
1639
1640
1641 <!-- ##### FUNCTION gdk_window_set_group ##### -->
1642 <para>
1643
1644 </para>
1645
1646 @window: 
1647 @leader: 
1648
1649
1650 <!-- ##### FUNCTION gdk_window_get_group ##### -->
1651 <para>
1652
1653 </para>
1654
1655 @window: 
1656 @Returns: 
1657
1658
1659 <!-- ##### FUNCTION gdk_window_set_decorations ##### -->
1660 <para>
1661
1662 </para>
1663
1664 @window: 
1665 @decorations: 
1666
1667
1668 <!-- ##### FUNCTION gdk_window_get_decorations ##### -->
1669 <para>
1670
1671 </para>
1672
1673 @window: The window to get the decorations from
1674 @decorations: The window decorations will be written here
1675 @Returns: %TRUE if the window has decorations set, %FALSE otherwise.
1676
1677
1678 <!-- ##### ENUM GdkWMDecoration ##### -->
1679 <para>
1680 These are hints originally defined by the Motif toolkit.
1681 The window manager can use them when determining how to decorate
1682 the window. The hint must be set before mapping the window.
1683 </para>
1684
1685 @GDK_DECOR_ALL: all decorations should be applied.
1686 @GDK_DECOR_BORDER: a frame should be drawn around the window.
1687 @GDK_DECOR_RESIZEH: the frame should have resize handles.
1688 @GDK_DECOR_TITLE: a titlebar should be placed above the window.
1689 @GDK_DECOR_MENU: a button for opening a menu should be included.
1690 @GDK_DECOR_MINIMIZE: a minimize button should be included.
1691 @GDK_DECOR_MAXIMIZE: a maximize button should be included.
1692
1693 <!-- ##### FUNCTION gdk_window_set_functions ##### -->
1694 <para>
1695
1696 </para>
1697
1698 @window: 
1699 @functions: 
1700
1701
1702 <!-- ##### ENUM GdkWMFunction ##### -->
1703 <para>
1704 These are hints originally defined by the Motif toolkit.
1705 The window manager can use them when determining the functions 
1706 to offer for the window. 
1707 The hint must be set before mapping the window.
1708 </para>
1709
1710 @GDK_FUNC_ALL: all functions should be offered.
1711 @GDK_FUNC_RESIZE: the window should be resizable.
1712 @GDK_FUNC_MOVE: the window should be movable.
1713 @GDK_FUNC_MINIMIZE: the window should be minimizable.
1714 @GDK_FUNC_MAXIMIZE: the window should be maximizable.
1715 @GDK_FUNC_CLOSE: the window should be closable.
1716
1717 <!-- ##### FUNCTION gdk_window_get_toplevels ##### -->
1718 <para>
1719
1720 </para>
1721
1722 @Returns: 
1723
1724
1725 <!-- ##### FUNCTION gdk_get_default_root_window ##### -->
1726 <para>
1727
1728 </para>
1729
1730 @Returns: 
1731
1732
1733 <!-- ##### STRUCT GdkPointerHooks ##### -->
1734 <para>
1735 A table of pointers to functions for getting quantities related to 
1736 the current pointer position. GDK has one global table of this type,
1737 which can be set using gdk_set_pointer_hooks().
1738 </para>
1739 <para>
1740 This is only useful for such low-level tools as an event recorder. 
1741 Applications should never have any reason to use this facility
1742 </para>
1743
1744 @get_pointer: Obtains the current pointer position and modifier state.
1745   The position is given in coordinates relative to the window containing 
1746   the pointer, which is returned in @window.
1747 @window_at_pointer: Obtains the window underneath the mouse pointer, 
1748   returning the location of that window in @win_x, @win_y. Returns %NULL 
1749   if the window under the mouse pointer is not known to GDK (for example, 
1750   belongs to another application).
1751
1752 <!-- ##### FUNCTION gdk_set_pointer_hooks ##### -->
1753 <para>
1754
1755 </para>
1756
1757 @new_hooks: 
1758 @Returns: 
1759
1760
1761 <!-- ##### FUNCTION gdk_offscreen_window_get_pixmap ##### -->
1762 <para>
1763
1764 </para>
1765
1766 @window: 
1767 @Returns: 
1768
1769
1770 <!-- ##### FUNCTION gdk_offscreen_window_set_embedder ##### -->
1771 <para>
1772
1773 </para>
1774
1775 @window: 
1776 @embedder: 
1777
1778
1779 <!-- ##### FUNCTION gdk_offscreen_window_get_embedder ##### -->
1780 <para>
1781
1782 </para>
1783
1784 @window: 
1785 @Returns: 
1786
1787
1788 <!-- ##### FUNCTION gdk_window_geometry_changed ##### -->
1789 <para>
1790
1791 </para>
1792
1793 @window: 
1794
1795
1796 <!-- ##### FUNCTION gdk_window_redirect_to_drawable ##### -->
1797 <para>
1798
1799 </para>
1800
1801 @window: 
1802 @drawable: 
1803 @src_x: 
1804 @src_y: 
1805 @dest_x: 
1806 @dest_y: 
1807 @width: 
1808 @height: 
1809
1810
1811 <!-- ##### FUNCTION gdk_window_remove_redirection ##### -->
1812 <para>
1813
1814 </para>
1815
1816 @window: 
1817
1818
1819 <!--
1820 Local variables:
1821 mode: sgml
1822 sgml-parent-document: ("../gdk-docs.sgml" "book" "refsect2" "")
1823 End:
1824 -->
1825
1826