]> Pileus Git - ~andy/gtk/blob - docs/reference/gdk/tmpl/windows.sgml
documented GtkBinding*, #358329.
[~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
16 <!-- ##### SECTION See_Also ##### -->
17 <para>
18
19 </para>
20
21 <!-- ##### SECTION Stability_Level ##### -->
22
23
24 <!-- ##### STRUCT GdkWindow ##### -->
25 <para>
26 An opaque structure representing an onscreen drawable.
27 Pointers to structures of type #GdkPixmap, #GdkBitmap,
28 and #GdkWindow, can often be used interchangeably.
29 The type #GdkDrawable refers generically to any of
30 these types.
31 </para>
32
33
34 <!-- ##### ENUM GdkWindowType ##### -->
35 <para>
36 Describes the kind of window.
37 </para>
38
39 @GDK_WINDOW_ROOT: root window; this window has no parent, covers the entire screen, and is created by the window system
40 @GDK_WINDOW_TOPLEVEL: toplevel window (used to implement #GtkWindow)
41 @GDK_WINDOW_CHILD: child window (used to implement e.g. #GtkButton)
42 @GDK_WINDOW_DIALOG: useless/deprecated compatibility type
43 @GDK_WINDOW_TEMP: override redirect temporary window (used to implement #GtkMenu)
44 @GDK_WINDOW_FOREIGN: foreign window (see gdk_window_foreign_new())
45
46 <!-- ##### ENUM GdkWindowClass ##### -->
47 <para>
48 @GDK_INPUT_OUTPUT windows are the standard kind of window you might expect. 
49 @GDK_INPUT_ONLY windows are invisible; they are used to trap events, but 
50 you can't draw on them.
51 </para>
52
53 @GDK_INPUT_OUTPUT: window for graphics and events
54 @GDK_INPUT_ONLY: window for events only
55
56 <!-- ##### ENUM GdkWindowHints ##### -->
57 <para>
58 Used to indicate which fields of a #GdkGeometry struct should be paid attention
59 to. Also, the presence/absence of @GDK_HINT_POS, @GDK_HINT_USER_POS, and
60 @GDK_HINT_USER_SIZE is significant, though they don't directly refer to
61 #GdkGeometry fields.  @GDK_HINT_USER_POS will be set automatically by #GtkWindow
62 if you call gtk_window_move(). @GDK_HINT_USER_POS and @GDK_HINT_USER_SIZE 
63 should be set if the user specified a size/position using a --geometry 
64 command-line argument; gtk_window_parse_geometry() automatically sets these
65 flags.
66 </para>
67
68 @GDK_HINT_POS: indicates that the program has positioned the window
69 @GDK_HINT_MIN_SIZE: min size fields are set
70 @GDK_HINT_MAX_SIZE: max size fields are set
71 @GDK_HINT_BASE_SIZE: base size fields are set
72 @GDK_HINT_ASPECT: aspect ratio fields are set
73 @GDK_HINT_RESIZE_INC: resize increment fields are set
74 @GDK_HINT_WIN_GRAVITY: window gravity field is set
75 @GDK_HINT_USER_POS: indicates that the window's position was explicitly set by the user
76 @GDK_HINT_USER_SIZE: indicates that the window's size was explicitly set by the user
77
78 <!-- ##### STRUCT GdkGeometry ##### -->
79 <para>
80 The #GdkGeometry struct gives the window manager information about 
81 a window's geometry constraints. Normally you would set these on 
82 the GTK+ level using gtk_window_set_geometry_hints(). #GtkWindow 
83 then sets the hints on the #GdkWindow it creates.
84 </para>
85
86 <para>
87 gdk_window_set_geometry_hints() expects the hints to be fully valid already and
88 simply passes them to the window manager; in contrast,
89 gtk_window_set_geometry_hints() performs some interpretation. For example,
90 #GtkWindow will apply the hints to the geometry widget instead of the toplevel
91 window, if you set a geometry widget. Also, the
92 @min_width/@min_height/@max_width/@max_height fields may be set to -1, and
93 #GtkWindow will substitute the size request of the window or geometry widget. If
94 the minimum size hint is not provided, #GtkWindow will use its requisition as
95 the minimum size.  If the minimum size is provided and a geometry widget is set,
96 #GtkWindow will take the minimum size as the minimum size of the geometry widget
97 rather than the entire window. The base size is treated similarly.
98 </para>
99
100 <para>
101 The canonical use-case for gtk_window_set_geometry_hints() is to get a terminal
102 widget to resize properly. Here, the terminal text area should be the geometry
103 widget; #GtkWindow will then automatically set the base size to the size of
104 other widgets in the terminal window, such as the menubar and scrollbar.  Then,
105 the @width_inc and @height_inc fields should be set to the size of one character
106 in the terminal. Finally, the base size should be set to the size of one
107 character. The net effect is that the minimum size of the terminal 
108 will have a 1x1 character terminal area, and only terminal sizes on 
109 the "character grid" will be allowed.
110 </para>
111
112 <para>
113 Here's an example of how the terminal example would be implemented, assuming 
114 a terminal area widget called "terminal" and a toplevel window "toplevel":
115 <informalexample><programlisting>
116         GdkGeometry hints;
117
118         hints.base_width = terminal->char_width;
119         hints.base_height = terminal->char_height;
120         hints.min_width = terminal->char_width;
121         hints.min_height = terminal->char_height;
122         hints.width_inc = terminal->char_width;
123         hints.height_inc = terminal->char_height;
124
125         gtk_window_set_geometry_hints (GTK_WINDOW (toplevel),
126                                        GTK_WIDGET (terminal),
127                                        &amp;hints,
128                                        GDK_HINT_RESIZE_INC |
129                                        GDK_HINT_MIN_SIZE |
130                                        GDK_HINT_BASE_SIZE);
131 </programlisting></informalexample>
132 </para>
133
134 <para>
135 The other useful fields are the @min_aspect and @max_aspect fields; these
136 contain a width/height ratio as a floating point number. If a geometry widget is
137 set, the aspect applies to the geometry widget rather than the entire window.
138 The most common use of these hints is probably to set @min_aspect and
139 @max_aspect to the same value, thus forcing the window to keep a constant aspect
140 ratio.
141 </para>
142
143 @min_width: minimum width of window (or -1 to use requisition, with #GtkWindow only)
144 @min_height: minimum height of window (or -1 to use requisition, with #GtkWindow only)
145 @max_width: maximum width of window (or -1 to use requisition, with #GtkWindow only)
146 @max_height: maximum height of window (or -1 to use requisition, with #GtkWindow only)
147 @base_width: allowed window widths are @base_width + @width_inc * N where N is any integer (-1 allowed with #GtkWindow)
148 @base_height: allowed window widths are @base_height + @height_inc * N where N is any integer (-1 allowed with #GtkWindow)
149 @width_inc: width resize increment
150 @height_inc: height resize increment
151 @min_aspect: minimum width/height ratio
152 @max_aspect: maximum width/height ratio
153 @win_gravity: window gravity, see gtk_window_set_gravity()
154
155 <!-- ##### ENUM GdkGravity ##### -->
156 <para>
157 Defines the reference point of a window and the meaning of coordinates
158 passed to gtk_window_move(). See gtk_window_move() and the "implementation 
159 notes" section of the 
160 <ulink url="http://www.freedesktop.org/Standards/wm-spec">Extended 
161 Window Manager Hints</ulink> specification for more details.
162 </para>
163
164 @GDK_GRAVITY_NORTH_WEST: the reference point is at the top left corner.
165 @GDK_GRAVITY_NORTH: the reference point is in the middle of the top edge.
166 @GDK_GRAVITY_NORTH_EAST: the reference point is at the top right corner.
167 @GDK_GRAVITY_WEST: the reference point is at the middle of the left edge.
168 @GDK_GRAVITY_CENTER: the reference point is at the center of the window.
169 @GDK_GRAVITY_EAST: the reference point is at the middle of the right edge.
170 @GDK_GRAVITY_SOUTH_WEST: the reference point is at the lower left corner.
171 @GDK_GRAVITY_SOUTH: the reference point is at the middle of the lower edge.
172 @GDK_GRAVITY_SOUTH_EAST: the reference point is at the lower right corner.
173 @GDK_GRAVITY_STATIC: the reference point is at the top left corner of the 
174    window itself, ignoring window manager decorations.
175
176 <!-- ##### ENUM GdkWindowEdge ##### -->
177 <para>
178 Determines a window edge or corner. 
179 </para>
180
181 @GDK_WINDOW_EDGE_NORTH_WEST: the top left corner.
182 @GDK_WINDOW_EDGE_NORTH: the top edge.
183 @GDK_WINDOW_EDGE_NORTH_EAST: the top right corner.
184 @GDK_WINDOW_EDGE_WEST: the left edge.
185 @GDK_WINDOW_EDGE_EAST: the right edge.
186 @GDK_WINDOW_EDGE_SOUTH_WEST: the lower left corner.
187 @GDK_WINDOW_EDGE_SOUTH: the lower edge.
188 @GDK_WINDOW_EDGE_SOUTH_EAST: the lower right corner.
189
190 <!-- ##### ENUM GdkWindowTypeHint ##### -->
191 <para>
192 These are hints for the window manager that indicate what type of function 
193 the window has. The window manager can use this when determining decoration 
194 and behaviour of the window. The hint must be set before mapping the window.
195 </para>
196 <para>
197 See the
198 <ulink url="http://www.freedesktop.org/Standards/wm-spec">Extended 
199 Window Manager Hints</ulink> specification for more details about 
200 window types.
201 </para>
202
203 @GDK_WINDOW_TYPE_HINT_NORMAL: Normal toplevel window.
204 @GDK_WINDOW_TYPE_HINT_DIALOG: Dialog window.
205 @GDK_WINDOW_TYPE_HINT_MENU: Window used to implement a menu.
206 @GDK_WINDOW_TYPE_HINT_TOOLBAR: Window used to implement toolbars.
207 @GDK_WINDOW_TYPE_HINT_SPLASHSCREEN: Window used to display a splash 
208   screen during application startup.
209 @GDK_WINDOW_TYPE_HINT_UTILITY: Utility windows which are not detached 
210   toolbars or dialogs.
211 @GDK_WINDOW_TYPE_HINT_DOCK: Used for creating dock or panel windows.
212 @GDK_WINDOW_TYPE_HINT_DESKTOP: Used for creating the desktop background 
213 window.
214 @GDK_WINDOW_TYPE_HINT_DROPDOWN_MENU: 
215 @GDK_WINDOW_TYPE_HINT_POPUP_MENU: 
216 @GDK_WINDOW_TYPE_HINT_TOOLTIP: 
217 @GDK_WINDOW_TYPE_HINT_NOTIFICATION: 
218 @GDK_WINDOW_TYPE_HINT_COMBO: 
219 @GDK_WINDOW_TYPE_HINT_DND: 
220
221 <!-- ##### STRUCT GdkWindowAttr ##### -->
222 <para>
223 Attributes to use for a newly-created window.
224 </para>
225
226 @title: title of the window (for toplevel windows)
227 @event_mask: event mask (see gdk_window_set_events())
228 @x: X coordinate relative to parent window (see gdk_window_move())
229 @y: Y coordinate relative to parent window (see gdk_window_move())
230 @width: width of window
231 @height: height of window
232 @wclass: #GDK_INPUT_OUTPUT (normal window) or #GDK_INPUT_ONLY (invisible window that receives events)
233 @visual: #GdkVisual for window
234 @colormap: #GdkColormap for window
235 @window_type: type of window
236 @cursor: cursor for the window (see gdk_window_set_cursor())
237 @wmclass_name: don't use (see gtk_window_set_wmclass())
238 @wmclass_class: don't use (see gtk_window_set_wmclass())
239 @override_redirect: %TRUE to bypass the window manager
240
241 <!-- ##### ENUM GdkWindowAttributesType ##### -->
242 <para>
243 Used to indicate which fields in the #GdkWindowAttr struct should be
244 honored. For example, if you filled in the "cursor" and "x" fields of
245 #GdkWindowAttr, pass "@GDK_WA_X | @GDK_WA_CURSOR" to gdk_window_new().  Fields
246 in #GdkWindowAttr not covered by a bit in this enum are required; for example,
247 the @width/@height, @wclass, and @window_type fields are required, they have no
248 corresponding flag in #GdkWindowAttributesType.
249 </para>
250
251 @GDK_WA_TITLE: Honor the title field
252 @GDK_WA_X: Honor the X coordinate field
253 @GDK_WA_Y: Honor the Y coordinate field
254 @GDK_WA_CURSOR: Honor the cursor field
255 @GDK_WA_COLORMAP: Honor the colormap field
256 @GDK_WA_VISUAL: Honor the visual field
257 @GDK_WA_WMCLASS: Honor the wmclass_class and wmclass_name fields
258 @GDK_WA_NOREDIR: Honor the override_redirect field
259
260 <!-- ##### FUNCTION gdk_window_new ##### -->
261 <para>
262
263 </para>
264
265 @parent: 
266 @attributes: 
267 @attributes_mask: 
268 @Returns: 
269
270
271 <!-- ##### FUNCTION gdk_window_destroy ##### -->
272 <para>
273
274 </para>
275
276 @window: 
277
278
279 <!-- ##### MACRO gdk_window_ref ##### -->
280 <para>
281 Deprecated equivalent of g_object_ref()
282 </para>
283
284 @Returns: the window
285
286
287 <!-- ##### MACRO gdk_window_unref ##### -->
288 <para>
289 Deprecated equivalent of g_object_unref()
290 </para>
291
292
293
294 <!-- ##### FUNCTION gdk_window_get_window_type ##### -->
295 <para>
296
297 </para>
298
299 @window: 
300 @Returns: 
301
302
303 <!-- ##### FUNCTION gdk_window_at_pointer ##### -->
304 <para>
305
306 </para>
307
308 @win_x: 
309 @win_y: 
310 @Returns: 
311
312
313 <!-- ##### FUNCTION gdk_window_show ##### -->
314 <para>
315
316 </para>
317
318 @window: 
319
320
321 <!-- ##### FUNCTION gdk_window_show_unraised ##### -->
322 <para>
323
324 </para>
325
326 @window: 
327
328
329 <!-- ##### FUNCTION gdk_window_hide ##### -->
330 <para>
331
332 </para>
333
334 @window: 
335
336
337 <!-- ##### FUNCTION gdk_window_is_visible ##### -->
338 <para>
339
340 </para>
341
342 @window: 
343 @Returns: 
344
345
346 <!-- ##### FUNCTION gdk_window_is_viewable ##### -->
347 <para>
348
349 </para>
350
351 @window: 
352 @Returns: 
353
354
355 <!-- ##### FUNCTION gdk_window_get_state ##### -->
356 <para>
357
358 </para>
359
360 @window: 
361 @Returns: 
362
363
364 <!-- ##### FUNCTION gdk_window_withdraw ##### -->
365 <para>
366
367 </para>
368
369 @window: 
370
371
372 <!-- ##### FUNCTION gdk_window_iconify ##### -->
373 <para>
374
375 </para>
376
377 @window: 
378
379
380 <!-- ##### FUNCTION gdk_window_deiconify ##### -->
381 <para>
382
383 </para>
384
385 @window: 
386
387
388 <!-- ##### FUNCTION gdk_window_stick ##### -->
389 <para>
390
391 </para>
392
393 @window: 
394
395
396 <!-- ##### FUNCTION gdk_window_unstick ##### -->
397 <para>
398
399 </para>
400
401 @window: 
402
403
404 <!-- ##### FUNCTION gdk_window_maximize ##### -->
405 <para>
406
407 </para>
408
409 @window: 
410
411
412 <!-- ##### FUNCTION gdk_window_unmaximize ##### -->
413 <para>
414
415 </para>
416
417 @window: 
418
419
420 <!-- ##### FUNCTION gdk_window_fullscreen ##### -->
421 <para>
422
423 </para>
424
425 @window: 
426
427
428 <!-- ##### FUNCTION gdk_window_unfullscreen ##### -->
429 <para>
430
431 </para>
432
433 @window: 
434
435
436 <!-- ##### FUNCTION gdk_window_set_keep_above ##### -->
437 <para>
438
439 </para>
440
441 @window: 
442 @setting: 
443
444
445 <!-- ##### FUNCTION gdk_window_set_keep_below ##### -->
446 <para>
447
448 </para>
449
450 @window: 
451 @setting: 
452
453
454 <!-- ##### FUNCTION gdk_window_move ##### -->
455 <para>
456
457 </para>
458
459 @window: 
460 @x: 
461 @y: 
462
463
464 <!-- ##### FUNCTION gdk_window_resize ##### -->
465 <para>
466
467 </para>
468
469 @window: 
470 @width: 
471 @height: 
472
473
474 <!-- ##### FUNCTION gdk_window_move_resize ##### -->
475 <para>
476
477 </para>
478
479 @window: 
480 @x: 
481 @y: 
482 @width: 
483 @height: 
484
485
486 <!-- ##### FUNCTION gdk_window_scroll ##### -->
487 <para>
488
489 </para>
490
491 @window: 
492 @dx: 
493 @dy: 
494
495
496 <!-- ##### FUNCTION gdk_window_move_region ##### -->
497 <para>
498
499 </para>
500
501 @window: 
502 @region: 
503 @dx: 
504 @dy: 
505
506
507 <!-- ##### FUNCTION gdk_window_reparent ##### -->
508 <para>
509
510 </para>
511
512 @window: 
513 @new_parent: 
514 @x: 
515 @y: 
516
517
518 <!-- ##### FUNCTION gdk_window_clear ##### -->
519 <para>
520
521 </para>
522
523 @window: 
524
525
526 <!-- ##### FUNCTION gdk_window_clear_area ##### -->
527 <para>
528
529 </para>
530
531 @window: 
532 @x: 
533 @y: 
534 @width: 
535 @height: 
536
537
538 <!-- ##### FUNCTION gdk_window_clear_area_e ##### -->
539 <para>
540
541 </para>
542
543 @window: 
544 @x: 
545 @y: 
546 @width: 
547 @height: 
548
549
550 <!-- ##### MACRO gdk_window_copy_area ##### -->
551 <para>
552 Deprecated equivalent to gdk_draw_drawable(), see that function for docs
553 </para>
554
555 @drawable: a #GdkDrawable
556 @gc: a #GdkGC sharing the drawable's visual and colormap
557 @x: X position in @drawable where the rectangle should be drawn
558 @y: Y position in @drawable where the rectangle should be drawn
559 @source_drawable: the source #GdkDrawable, which may be the same as @drawable
560 @source_x: X position in @src of rectangle to draw
561 @source_y: Y position in @src of rectangle to draw
562 @width: width of rectangle to draw, or -1 for entire @src width
563 @height: height of rectangle to draw, or -1 for entire @src height
564 <!-- # Unused Parameters # -->
565 @drawable: a #GdkDrawable
566 @xdest: X position in @drawable where the rectangle should be drawn
567 @ydest: Y position in @drawable where the rectangle should be drawn
568
569
570 <!-- ##### FUNCTION gdk_window_raise ##### -->
571 <para>
572
573 </para>
574
575 @window: 
576
577
578 <!-- ##### FUNCTION gdk_window_lower ##### -->
579 <para>
580
581 </para>
582
583 @window: 
584
585
586 <!-- ##### FUNCTION gdk_window_focus ##### -->
587 <para>
588
589 </para>
590
591 @window: 
592 @timestamp: 
593
594
595 <!-- ##### FUNCTION gdk_window_register_dnd ##### -->
596 <para>
597 Registers a window as a potential drop destination.
598 </para>
599
600 @window: a #GdkWindow.
601
602
603 <!-- ##### FUNCTION gdk_window_begin_resize_drag ##### -->
604 <para>
605
606 </para>
607
608 @window: 
609 @edge: 
610 @button: 
611 @root_x: 
612 @root_y: 
613 @timestamp: 
614
615
616 <!-- ##### FUNCTION gdk_window_begin_move_drag ##### -->
617 <para>
618
619 </para>
620
621 @window: 
622 @button: 
623 @root_x: 
624 @root_y: 
625 @timestamp: 
626
627
628 <!-- ##### FUNCTION gdk_window_constrain_size ##### -->
629 <para>
630
631 </para>
632
633 @geometry: 
634 @flags: 
635 @width: 
636 @height: 
637 @new_width: 
638 @new_height: 
639
640
641 <!-- ##### FUNCTION gdk_window_beep ##### -->
642 <para>
643
644 </para>
645
646 @window: 
647
648
649 <!-- ##### FUNCTION gdk_window_begin_paint_rect ##### -->
650 <para>
651
652 </para>
653
654 @window: 
655 @rectangle: 
656
657
658 <!-- ##### FUNCTION gdk_window_begin_paint_region ##### -->
659 <para>
660
661 </para>
662
663 @window: 
664 @region: 
665
666
667 <!-- ##### FUNCTION gdk_window_end_paint ##### -->
668 <para>
669
670 </para>
671
672 @window: 
673
674
675 <!-- ##### FUNCTION gdk_window_invalidate_rect ##### -->
676 <para>
677
678 </para>
679
680 @window: 
681 @rect: 
682 @invalidate_children: 
683
684
685 <!-- ##### FUNCTION gdk_window_invalidate_region ##### -->
686 <para>
687
688 </para>
689
690 @window: 
691 @region: 
692 @invalidate_children: 
693
694
695 <!-- ##### FUNCTION gdk_window_invalidate_maybe_recurse ##### -->
696 <para>
697
698 </para>
699
700 @window: 
701 @region: 
702 @child_func: 
703 @user_data: 
704
705
706 <!-- ##### FUNCTION gdk_window_get_update_area ##### -->
707 <para>
708
709 </para>
710
711 @window: 
712 @Returns: 
713
714
715 <!-- ##### FUNCTION gdk_window_freeze_updates ##### -->
716 <para>
717
718 </para>
719
720 @window: 
721
722
723 <!-- ##### FUNCTION gdk_window_thaw_updates ##### -->
724 <para>
725
726 </para>
727
728 @window: 
729
730
731 <!-- ##### FUNCTION gdk_window_process_all_updates ##### -->
732 <para>
733
734 </para>
735
736
737
738 <!-- ##### FUNCTION gdk_window_process_updates ##### -->
739 <para>
740
741 </para>
742
743 @window: 
744 @update_children: 
745
746
747 <!-- ##### FUNCTION gdk_window_set_debug_updates ##### -->
748 <para>
749
750 </para>
751
752 @setting: 
753
754
755 <!-- ##### FUNCTION gdk_window_get_internal_paint_info ##### -->
756 <para>
757
758 </para>
759
760 @window: 
761 @real_drawable: 
762 @x_offset: 
763 @y_offset: 
764
765
766 <!-- ##### FUNCTION gdk_window_enable_synchronized_configure ##### -->
767 <para>
768
769 </para>
770
771 @window: 
772
773
774 <!-- ##### FUNCTION gdk_window_configure_finished ##### -->
775 <para>
776
777 </para>
778
779 @window: 
780
781
782 <!-- ##### FUNCTION gdk_window_set_user_data ##### -->
783 <para>
784
785 </para>
786
787 @window: 
788 @user_data: 
789
790
791 <!-- ##### FUNCTION gdk_window_set_override_redirect ##### -->
792 <para>
793
794 </para>
795
796 @window: 
797 @override_redirect: 
798
799
800 <!-- ##### FUNCTION gdk_window_set_accept_focus ##### -->
801 <para>
802
803 </para>
804
805 @window: 
806 @accept_focus: 
807
808
809 <!-- ##### FUNCTION gdk_window_set_focus_on_map ##### -->
810 <para>
811
812 </para>
813
814 @window: 
815 @focus_on_map: 
816
817
818 <!-- ##### FUNCTION gdk_window_add_filter ##### -->
819 <para>
820
821 </para>
822
823 @window: 
824 @function: 
825 @data: 
826
827
828 <!-- ##### FUNCTION gdk_window_remove_filter ##### -->
829 <para>
830
831 </para>
832
833 @window: 
834 @function: 
835 @data: 
836
837
838 <!-- ##### USER_FUNCTION GdkFilterFunc ##### -->
839 <para>
840 Specifies the type of function used to filter native events before they are
841 converted to GDK events. 
842 </para>
843
844 <para>
845 When a filter is called, @event is unpopulated, except for
846 <literal>event-&gt;window</literal>. The filter may translate the native
847 event to a GDK event and store the result in @event, or handle it without
848 translation. If the filter translates the event and processing should
849 continue, it should return <literal>GDK_FILTER_TRANSLATE</literal>.
850 </para>
851
852 @xevent: the native event to filter.
853 @event: the GDK event to which the X event will be translated.
854 @data: user data set when the filter was installed.
855 @Returns: a #GdkFilterReturn value.
856
857
858 <!-- ##### ENUM GdkFilterReturn ##### -->
859 <para>
860 Specifies the result of applying a #GdkFilterFunc to a native event.
861 </para>
862
863 @GDK_FILTER_CONTINUE: event not handled, continue processing.
864 @GDK_FILTER_TRANSLATE: native event translated into a GDK event and stored
865                        in the <literal>event</literal> structure that was passed in.
866 @GDK_FILTER_REMOVE: event handled, terminate processing.
867
868 <!-- ##### TYPEDEF GdkXEvent ##### -->
869 <para>
870 Used to represent native events (<type>XEvent</type>s for the X11 
871 backend, <type>MSG</type>s for Win32).
872 </para>
873
874
875 <!-- ##### FUNCTION gdk_window_shape_combine_mask ##### -->
876 <para>
877
878 </para>
879
880 @window: 
881 @mask: 
882 @x: 
883 @y: 
884
885
886 <!-- ##### FUNCTION gdk_window_shape_combine_region ##### -->
887 <para>
888
889 </para>
890
891 @window: 
892 @shape_region: 
893 @offset_x: 
894 @offset_y: 
895
896
897 <!-- ##### FUNCTION gdk_window_set_child_shapes ##### -->
898 <para>
899
900 </para>
901
902 @window: 
903
904
905 <!-- ##### FUNCTION gdk_window_merge_child_shapes ##### -->
906 <para>
907
908 </para>
909
910 @window: 
911
912
913 <!-- ##### FUNCTION gdk_window_input_shape_combine_mask ##### -->
914 <para>
915
916 </para>
917
918 @window: 
919 @mask: 
920 @x: 
921 @y: 
922
923
924 <!-- ##### FUNCTION gdk_window_input_shape_combine_region ##### -->
925 <para>
926
927 </para>
928
929 @window: 
930 @shape_region: 
931 @offset_x: 
932 @offset_y: 
933
934
935 <!-- ##### FUNCTION gdk_window_set_child_input_shapes ##### -->
936 <para>
937
938 </para>
939
940 @window: 
941
942
943 <!-- ##### FUNCTION gdk_window_merge_child_input_shapes ##### -->
944 <para>
945
946 </para>
947
948 @window: 
949
950
951 <!-- ##### FUNCTION gdk_window_set_static_gravities ##### -->
952 <para>
953
954 </para>
955
956 @window: 
957 @use_static: 
958 @Returns: 
959
960
961 <!-- ##### FUNCTION gdk_window_set_hints ##### -->
962 <para>
963
964 </para>
965
966 @window: 
967 @x: 
968 @y: 
969 @min_width: 
970 @min_height: 
971 @max_width: 
972 @max_height: 
973 @flags: 
974
975
976 <!-- ##### FUNCTION gdk_window_set_title ##### -->
977 <para>
978
979 </para>
980
981 @window: 
982 @title: 
983
984
985 <!-- ##### FUNCTION gdk_window_set_background ##### -->
986 <para>
987
988 </para>
989
990 @window: 
991 @color: 
992
993
994 <!-- ##### FUNCTION gdk_window_set_back_pixmap ##### -->
995 <para>
996
997 </para>
998
999 @window: 
1000 @pixmap: 
1001 @parent_relative: 
1002
1003
1004 <!-- ##### MACRO GDK_PARENT_RELATIVE ##### -->
1005 <para>
1006 A special value for <literal>GdkPixmap*</literal> variables, indicating
1007 that the background pixmap for a window should be inherited from the parent
1008 window.
1009 </para>
1010
1011
1012
1013 <!-- ##### FUNCTION gdk_window_set_cursor ##### -->
1014 <para>
1015
1016 </para>
1017
1018 @window: 
1019 @cursor: 
1020
1021
1022 <!-- ##### MACRO gdk_window_set_colormap ##### -->
1023 <para>
1024 Deprecated equivalent to gdk_drawable_set_colormap()
1025 </para>
1026
1027
1028
1029 <!-- ##### FUNCTION gdk_window_get_user_data ##### -->
1030 <para>
1031
1032 </para>
1033
1034 @window: 
1035 @data: 
1036
1037
1038 <!-- ##### FUNCTION gdk_window_get_geometry ##### -->
1039 <para>
1040
1041 </para>
1042
1043 @window: 
1044 @x: 
1045 @y: 
1046 @width: 
1047 @height: 
1048 @depth: 
1049
1050
1051 <!-- ##### FUNCTION gdk_window_set_geometry_hints ##### -->
1052 <para>
1053
1054 </para>
1055
1056 @window: 
1057 @geometry: 
1058 @geom_mask: 
1059
1060
1061 <!-- ##### FUNCTION gdk_window_set_icon_list ##### -->
1062 <para>
1063
1064 </para>
1065
1066 @window: 
1067 @pixbufs: 
1068
1069
1070 <!-- ##### FUNCTION gdk_window_set_modal_hint ##### -->
1071 <para>
1072
1073 </para>
1074
1075 @window: 
1076 @modal: 
1077
1078
1079 <!-- ##### FUNCTION gdk_window_set_type_hint ##### -->
1080 <para>
1081
1082 </para>
1083
1084 @window: 
1085 @hint: 
1086
1087
1088 <!-- ##### FUNCTION gdk_window_get_type_hint ##### -->
1089 <para>
1090
1091 </para>
1092
1093 @window: 
1094 @Returns: 
1095
1096
1097 <!-- ##### FUNCTION gdk_window_set_skip_taskbar_hint ##### -->
1098 <para>
1099
1100 </para>
1101
1102 @window: 
1103 @skips_taskbar: 
1104
1105
1106 <!-- ##### FUNCTION gdk_window_set_skip_pager_hint ##### -->
1107 <para>
1108
1109 </para>
1110
1111 @window: 
1112 @skips_pager: 
1113
1114
1115 <!-- ##### FUNCTION gdk_window_set_urgency_hint ##### -->
1116 <para>
1117
1118 </para>
1119
1120 @window: 
1121 @urgent: 
1122
1123
1124 <!-- ##### FUNCTION gdk_window_get_position ##### -->
1125 <para>
1126
1127 </para>
1128
1129 @window: 
1130 @x: 
1131 @y: 
1132
1133
1134 <!-- ##### FUNCTION gdk_window_get_root_origin ##### -->
1135 <para>
1136
1137 </para>
1138
1139 @window: 
1140 @x: 
1141 @y: 
1142
1143
1144 <!-- ##### FUNCTION gdk_window_get_frame_extents ##### -->
1145 <para>
1146
1147 </para>
1148
1149 @window: 
1150 @rect: 
1151
1152
1153 <!-- ##### MACRO gdk_window_get_size ##### -->
1154 <para>
1155 Deprecated equivalent of gdk_drawable_get_size().
1156 </para>
1157
1158
1159
1160 <!-- ##### MACRO gdk_window_get_visual ##### -->
1161 <para>
1162 Deprecated equivalent of gdk_drawable_get_visual().
1163 </para>
1164
1165 @Returns: the #GdkVisual of the window
1166
1167
1168 <!-- ##### MACRO gdk_window_get_colormap ##### -->
1169 <para>
1170 Deprecated equivalent of gdk_drawable_get_colormap().
1171 </para>
1172
1173 @Returns: colormap for the window
1174
1175
1176 <!-- ##### MACRO gdk_window_get_type ##### -->
1177 <para>
1178 Deprecated equivalent of gdk_drawable_get_type().
1179 </para>
1180
1181 @Returns: type of drawable
1182
1183
1184 <!-- ##### FUNCTION gdk_window_get_origin ##### -->
1185 <para>
1186
1187 </para>
1188
1189 @window: 
1190 @x: 
1191 @y: 
1192 @Returns: 
1193
1194
1195 <!-- ##### FUNCTION gdk_window_get_deskrelative_origin ##### -->
1196 <para>
1197
1198 </para>
1199
1200 @window: 
1201 @x: 
1202 @y: 
1203 @Returns: 
1204
1205
1206 <!-- ##### FUNCTION gdk_window_get_pointer ##### -->
1207 <para>
1208
1209 </para>
1210
1211 @window: 
1212 @x: 
1213 @y: 
1214 @mask: 
1215 @Returns: 
1216
1217
1218 <!-- ##### ENUM GdkModifierType ##### -->
1219 <para>
1220 A set of bit-flags to indicate the state of modifier keys and mouse buttons 
1221 in various event types. Typical modifier keys are Shift, Control, Meta, Super,
1222 Hyper, Alt, Compose, Apple, CapsLock or ShiftLock. 
1223 </para>
1224 <para>
1225 Like the X Window System, GDK supports 8 modifier keys and 5 mouse buttons.
1226 </para>
1227 <para>
1228 Since 2.10, GDK recognizes which of the Meta, Super or Hyper keys are mapped 
1229 to Mod2 - Mod5, and indicates this by setting %GDK_SUPER_MASK, %GDK_HYPER_MASK
1230 or %GDK_META_MASK in the state field of key events.
1231 </para>
1232
1233 @GDK_SHIFT_MASK: the Shift key.
1234 @GDK_LOCK_MASK: a Lock key (depending on the modifier mapping of the 
1235   X server this may either be CapsLock or ShiftLock).
1236 @GDK_CONTROL_MASK: the Control key.
1237 @GDK_MOD1_MASK: the fourth modifier key (it depends on the modifier 
1238   mapping of the X server which key is interpreted as this modifier, but 
1239   normally it is the Alt key).
1240 @GDK_MOD2_MASK: the fifth modifier key (it depends on the modifier 
1241   mapping of the X server which key is interpreted as this modifier).
1242 @GDK_MOD3_MASK: the sixth modifier key (it depends on the modifier 
1243   mapping of the X server which key is interpreted as this modifier).
1244 @GDK_MOD4_MASK: the seventh modifier key (it depends on the modifier 
1245   mapping of the X server which key is interpreted as this modifier).
1246 @GDK_MOD5_MASK: the eighth modifier key (it depends on the modifier 
1247   mapping of the X server which key is interpreted as this modifier).
1248 @GDK_BUTTON1_MASK: the first mouse button.
1249 @GDK_BUTTON2_MASK: the second mouse button.
1250 @GDK_BUTTON3_MASK: the third mouse button.
1251 @GDK_BUTTON4_MASK: the fourth mouse button.
1252 @GDK_BUTTON5_MASK: the fifth mouse button.
1253 @GDK_SUPER_MASK: the Super modifier. Since 2.10
1254 @GDK_HYPER_MASK: the Hyper modifier. Since 2.10
1255 @GDK_META_MASK: the Meta modifier. Since 2.10
1256 @GDK_RELEASE_MASK: not used in GDK itself. GTK+ uses it to differentiate 
1257   between (keyval, modifiers) pairs from key press and release events.
1258 @GDK_MODIFIER_MASK: a mask covering all modifier types.
1259
1260 <!-- ##### FUNCTION gdk_window_get_parent ##### -->
1261 <para>
1262
1263 </para>
1264
1265 @window: 
1266 @Returns: 
1267
1268
1269 <!-- ##### FUNCTION gdk_window_get_toplevel ##### -->
1270 <para>
1271
1272 </para>
1273
1274 @window: 
1275 @Returns: 
1276
1277
1278 <!-- ##### FUNCTION gdk_window_get_children ##### -->
1279 <para>
1280
1281 </para>
1282
1283 @window: 
1284 @Returns: 
1285
1286
1287 <!-- ##### FUNCTION gdk_window_peek_children ##### -->
1288 <para>
1289
1290 </para>
1291
1292 @window: 
1293 @Returns: 
1294
1295
1296 <!-- ##### FUNCTION gdk_window_get_events ##### -->
1297 <para>
1298
1299 </para>
1300
1301 @window: 
1302 @Returns: 
1303
1304
1305 <!-- ##### FUNCTION gdk_window_set_events ##### -->
1306 <para>
1307
1308 </para>
1309
1310 @window: 
1311 @event_mask: 
1312
1313
1314 <!-- ##### FUNCTION gdk_window_set_icon ##### -->
1315 <para>
1316
1317 </para>
1318
1319 @window: 
1320 @icon_window: 
1321 @pixmap: 
1322 @mask: 
1323
1324
1325 <!-- ##### FUNCTION gdk_window_set_icon_name ##### -->
1326 <para>
1327
1328 </para>
1329
1330 @window: 
1331 @name: 
1332
1333
1334 <!-- ##### FUNCTION gdk_window_set_transient_for ##### -->
1335 <para>
1336
1337 </para>
1338
1339 @window: 
1340 @parent: 
1341
1342
1343 <!-- ##### FUNCTION gdk_window_set_role ##### -->
1344 <para>
1345
1346 </para>
1347
1348 @window: 
1349 @role: 
1350
1351
1352 <!-- ##### FUNCTION gdk_window_set_group ##### -->
1353 <para>
1354
1355 </para>
1356
1357 @window: 
1358 @leader: 
1359
1360
1361 <!-- ##### FUNCTION gdk_window_get_group ##### -->
1362 <para>
1363
1364 </para>
1365
1366 @window: 
1367 @Returns: 
1368
1369
1370 <!-- ##### FUNCTION gdk_window_set_decorations ##### -->
1371 <para>
1372
1373 </para>
1374
1375 @window: 
1376 @decorations: 
1377
1378
1379 <!-- ##### FUNCTION gdk_window_get_decorations ##### -->
1380 <para>
1381
1382 </para>
1383
1384 @window: The window to get the decorations from
1385 @decorations: The window decorations will be written here
1386 @Returns: %TRUE if the window has decorations set, %FALSE otherwise.
1387
1388
1389 <!-- ##### ENUM GdkWMDecoration ##### -->
1390 <para>
1391 These are hints originally defined by the Motif toolkit.
1392 The window manager can use them when determining how to decorate
1393 the window. The hint must be set before mapping the window.
1394 </para>
1395
1396 @GDK_DECOR_ALL: all decorations should be applied.
1397 @GDK_DECOR_BORDER: a frame should be drawn around the window.
1398 @GDK_DECOR_RESIZEH: the frame should have resize handles.
1399 @GDK_DECOR_TITLE: a titlebar should be placed above the window.
1400 @GDK_DECOR_MENU: a button for opening a menu should be included.
1401 @GDK_DECOR_MINIMIZE: a minimize button should be included.
1402 @GDK_DECOR_MAXIMIZE: a maximize button should be included.
1403
1404 <!-- ##### FUNCTION gdk_window_set_functions ##### -->
1405 <para>
1406
1407 </para>
1408
1409 @window: 
1410 @functions: 
1411
1412
1413 <!-- ##### ENUM GdkWMFunction ##### -->
1414 <para>
1415 These are hints originally defined by the Motif toolkit.
1416 The window manager can use them when determining the functions 
1417 to offer for the window. 
1418 The hint must be set before mapping the window.
1419 </para>
1420
1421 @GDK_FUNC_ALL: all functions should be offered.
1422 @GDK_FUNC_RESIZE: the window should be resizable.
1423 @GDK_FUNC_MOVE: the window should be movable.
1424 @GDK_FUNC_MINIMIZE: the window should be minimizable.
1425 @GDK_FUNC_MAXIMIZE: the window should be maximizable.
1426 @GDK_FUNC_CLOSE: the window should be closable.
1427
1428 <!-- ##### FUNCTION gdk_window_get_toplevels ##### -->
1429 <para>
1430
1431 </para>
1432
1433 @Returns: 
1434
1435
1436 <!-- ##### FUNCTION gdk_get_default_root_window ##### -->
1437 <para>
1438
1439 </para>
1440
1441 @Returns: 
1442
1443
1444 <!-- ##### STRUCT GdkPointerHooks ##### -->
1445 <para>
1446 A table of pointers to functions for getting quantities related to 
1447 the current pointer position. GDK has one global table of this type,
1448 which can be set using gdk_set_pointer_hooks().
1449 </para>
1450 <para>
1451 This is only useful for such low-level tools as an event recorder. 
1452 Applications should never have any reason to use this facility
1453 </para>
1454
1455 @get_pointer: Obtains the current pointer position and modifier state.
1456   The position is given in coordinates relative to the window containing 
1457   the pointer, which is returned in @window.
1458 @window_at_pointer: Obtains the window underneath the mouse pointer, 
1459   returning the location of that window in @win_x, @win_y. Returns %NULL 
1460   if the window under the mouse pointer is not known to GDK (for example, 
1461   belongs to another application).
1462
1463 <!-- ##### FUNCTION gdk_set_pointer_hooks ##### -->
1464 <para>
1465
1466 </para>
1467
1468 @new_hooks: 
1469 @Returns: 
1470
1471
1472 <!--
1473 Local variables:
1474 mode: sgml
1475 sgml-parent-document: ("../gdk-docs.sgml" "book" "refsect2" "")
1476 End:
1477 -->
1478
1479