Provided by: libgtk2-perl-doc_1.24993-1ubuntu3_all
NAME
Gtk2::Gdk::Window - wrapper for GdkWindow
DESCRIPTION
"Gtk2::Gdk::Window" is a low-level window-system window. One of these is created when a widget is "realized". As of Gtk 2.22 a window can only be created by "Gtk2::Gdk::Window->new()", "foreign_new()", etc. "Glib::Object::new()" doesn't work (segfaults on using the resulting window object). It's not possible to subclass "Gtk2::Gdk::Window" with Glib::Object::Subclass and the "Glib::Type" system, since only "gdk_window_new()" does the actual window creation, and that function always makes a "GdkWindow". (The Perl-Gtk "Gtk2::Gdk::Window->new()" wrapper ignores the class name argument.) It may work to create a Perl level subclass and re-bless a "Gtk2::Gdk::Window->new()" into that. But like any such re-blessing it's not preserved when the object is returned from a Gtk function etc (that just gives the base Gtk class).
HIERARCHY
Glib::Object +----Gtk2::Gdk::Drawable +----Gtk2::Gdk::Window
METHODS
window = Gtk2::Gdk::Window->new ($parent, $attributes_ref) · $parent (Gtk2::Gdk::Window or undef) · $attributes_ref (scalar) Create and return a new window. parent can be undef to mean the root window of the default screen. attributes_ref is a hashref containing some of the following keys, title string event_mask Gtk2::Gdk::EventMask flags x integer y integer width integer height integer wclass Gtk2::Gdk::WindowClass enum visual Gtk2::Gdk::Visual colormap Gtk2::Gdk::Colormap window_type Gtk2::Gdk::WindowType enum cursor Gtk2::Gdk::Cursor wmclass_name string wmclass_class string override_redirect boolean (integer 0 or 1) window_type is mandatory because it defaults to "root" but of course it's not possible to create a new root window. The other fields get default values zero, empty, unset, etc. my $win = Gtk2::Gdk::Window->new (undef, { window_type => 'toplevel, wclass => 'GDK_INPUT_OUTPUT', x => 0, y => 0, width => 200, height => 100 }); Incidentally, the nicknames for wclass Gtk2::Gdk::WindowClass really are "output" for input-output and "only" for input-only. Those names are a bit odd, but that's what Gtk has. You can, as for any enum, give the full names like "GDK_INPUT_OUTPUT" if desired, for some clarity. boolean = $window->get_accept_focus Since: gtk+ 2.22 $window->set_accept_focus ($accept_focus) · $accept_focus (boolean) Since: gtk+ 2.4 (window, win_x, win_y) = Gtk2::Gdk::Window->at_pointer Returns window, a Gtk2::Gdk::Window and win_x and win_y, integers. $window->set_back_pixmap ($pixmap, $parent_relative=0) · $pixmap (Gtk2::Gdk::Pixmap or undef) · $parent_relative (boolean) pattern = $window->get_background_pattern Since: gtk+ 2.22 $window->set_background ($color) · $color (Gtk2::Gdk::Color) $window->beep Since: gtk+ 2.12 $window->begin_move_drag ($button, $root_x, $root_y, $timestamp) · $button (integer) · $root_x (integer) · $root_y (integer) · $timestamp (unsigned) $window->begin_paint_rect ($rectangle) · $rectangle (Gtk2::Gdk::Rectangle) $window->begin_paint_region ($region) · $region (Gtk2::Gdk::Region) $window->begin_resize_drag ($edge, $button, $root_x, $root_y, $timestamp) · $edge (Gtk2::Gdk::WindowEdge) · $button (integer) · $root_x (integer) · $root_y (integer) · $timestamp (unsigned) $window->set_child_input_shapes Since: gtk+ 2.10 $window->set_child_shapes list = $window->get_children Returns the list of children (Gtk2::Gdk::Window's) known to gdk. $window->clear $window->clear_area ($x, $y, $width, $height) · $x (integer) · $y (integer) · $width (integer) · $height (integer) $window->clear_area_e ($x, $y, $width, $height) · $x (integer) · $y (integer) · $width (integer) · $height (integer) boolean = $window->get_composited Since: gtk+ 2.22 $window->set_composited ($composited) · $composited (boolean) Since: gtk+ 2.12 $window->configure_finished Since: gtk+ 2.6 (x, y) = $window->coords_from_parent ($parent_x, $parent_y) · $parent_x (double) · $parent_y (double) Since: gtk+ 2.22 (parent_x, parent_y) = $window->coords_to_parent ($x, $y) · $x (double) · $y (double) Since: gtk+ 2.22 surface = $window->create_similar_surface ($content, $width, $height) · $content (Cairo::Content) · $width (integer) · $height (integer) Since: gtk+ 2.22 cursor or undef = $window->get_cursor Since: gtk+ 2.18 $window->set_cursor ($cursor) · $cursor (Gtk2::Gdk::Cursor or undef) Gtk2::Gdk::Window->set_debug_updates ($enable) $window->set_debug_updates ($enable) · $enable (boolean) list = $window->get_decorations $window->set_decorations ($decorations) · $decorations (Gtk2::Gdk::WMDecoration) $window->deiconify $window->destroy window = $window->get_effective_parent Since: gtk+ 2.22 window = $window->get_effective_toplevel Since: gtk+ 2.22 window or undef = $offscreen_window->get_embedder Only for offscreen "Gtk2::Gdk::Windows". Since: gtk+ 2.18 $offscreen_window->set_embedder ($embedder) · $embedder (Gtk2::Gdk::Window) Only for offscreen "Gtk2::Gdk::Windows". Since: gtk+ 2.18 $window->enable_synchronized_configure Since: gtk+ 2.6 $window->end_paint boolean = $window->ensure_native Since: gtk+ 2.18 eventmask = $window->get_events $window->set_events ($event_mask) · $event_mask (Gtk2::Gdk::EventMask) $window->flush Since: gtk+ 2.18 $window->focus ($timestamp) · $timestamp (unsigned) boolean = $window->get_focus_on_map Since: gtk+ 2.22 $window->set_focus_on_map ($focus_on_map) · $focus_on_map (boolean) Since: gtk+ 2.6 window = Gtk2::Gdk::Window->foreign_new ($anid) · $anid (Gtk2::Gdk::NativeWindow) window = Gtk2::Gdk::Window->foreign_new_for_display ($display, $anid) · $display (Gtk2::Gdk::Display) · $anid (Gtk2::Gdk::NativeWindow) Since: gtk+ 2.2 rectangle = $window->get_frame_extents $window->freeze_updates $window->fullscreen Since: gtk+ 2.2 $window->set_functions ($functions) · $functions (Gtk2::Gdk::WMFunction) $sm_client_id->gdk_set_sm_client_id $window->geometry_changed Only useful for offscreen "Gtk2::Gdk::Windows". Since: gtk+ 2.18 (x, y, width, height, depth) = $window->get_geometry $window->set_geometry_hints ($geometry) $window->set_geometry_hints ($geometry, $geom_mask) · $geom_mask (Gtk2::Gdk::WindowHints) optional, usually inferred from $geometry · $geometry (scalar) Gtk2::Gdk::Geometry or hashref $geometry is either a "Gtk2::Gdk::Geometry" object, or a hashref with the following keys and values, min_width integer \ 'min-size' mask min_height integer / max_width integer \ 'max-size' mask max_height integer / base_width integer \ 'base-size' mask base_height integer / width_inc integer \ 'resize-inc' mask height_inc integer / min_aspect float \ 'aspect' mask max_aspect float / win_gravity Gtk2::Gdk::Gravity enum, 'win-gravity' mask Optional $geom_mask is which fields of $geometry are used. If $geometry is a hashref then $geom_mask defaults to the keys supplied in the hash, so for example $win->set_geometry_hints ({ min_width => 20, min_height => 10}); If $geometry is a "Gtk2::Gdk::Geometry" object then you must give $geom_mask explicitly. The 'pos', 'user-pos' and 'user-size' flags in $geom_mask have no data fields, so cannot be inferred from a $geometry hashref. If you want those flags you must pass $geom_mask explicitly. window = $window->get_group Since: gtk+ 2.4 $window->set_group ($leader) · $leader (Gtk2::Gdk::Window or undef) boolean = $window->has_native Since: gtk+ 2.22 $window->hide $window->set_icon_list (...) · ... (list) of GdkPixbuf's $window->set_icon_name ($name) · $name (string or undef) $window->set_icon ($icon_window, $pixmap, $mask) · $icon_window (Gtk2::Gdk::Window or undef) · $pixmap (Gtk2::Gdk::Pixmap or undef) · $mask (Gtk2::Gdk::Bitmap or undef) $window->iconify $window->input_shape_combine_mask ($mask, $x, $y) · $mask (Gtk2::Gdk::Bitmap or undef) · $x (integer) · $y (integer) Since: gtk+ 2.10 $window->input_shape_combine_region ($shape, $offset_x, $offset_y) · $shape (Gtk2::Gdk::Region or undef) · $offset_x (integer) · $offset_y (integer) Since: gtk+ 2.10 list = $window->get_internal_paint_info $window->invalidate_maybe_recurse ($region, $func, $data=undef) · $region (Gtk2::Gdk::Region) · $func (scalar) · $data (scalar) $window->invalidate_rect ($rectangle, $invalidate_children) · $rectangle (Gtk2::Gdk::Rectangle or undef) · $invalidate_children (boolean) $window->invalidate_region ($region, $invalidate_children) · $region (Gtk2::Gdk::Region) · $invalidate_children (boolean) boolean = $window->is_destroyed Since: gtk+ 2.18 boolean = $window->is_input_only Since: gtk+ 2.22 boolean = $window->is_shaped Since: gtk+ 2.22 boolean = $window->is_viewable boolean = $window->is_visible $window->set_keep_above ($setting) · $setting (boolean) Since: gtk+ 2.4 $window->set_keep_below ($setting) · $setting (boolean) Since: gtk+ 2.4 window = Gtk2::Gdk::Window->lookup ($anid) · $anid (Gtk2::Gdk::NativeWindow) window = Gtk2::Gdk::Window->lookup_for_display ($display, $anid) · $display (Gtk2::Gdk::Display) · $anid (Gtk2::Gdk::NativeWindow) Since: gtk+ 2.2 $window->lower $window->maximize $window->merge_child_input_shapes Since: gtk+ 2.10 $window->merge_child_shapes boolean = $window->get_modal_hint Since: gtk+ 2.22 $window->set_modal_hint ($modal) · $modal (boolean) $window->move ($x, $y) · $x (integer) · $y (integer) $window->move_region ($region, $dx, $dy) · $region (Gtk2::Gdk::Region) · $dx (integer) · $dy (integer) Since: gtk+ 2.8 $window->move_resize ($x, $y, $width, $height) · $x (integer) · $y (integer) · $width (integer) · $height (integer) $window->move_to_current_desktop Since: gtk+ 2.8 $window->set_opacity ($opacity) · $opacity (double) Since: gtk+ 2.12 (x, y) = $window->get_origin $window->set_override_redirect ($override_redirect) · $override_redirect (boolean) window = $window->get_parent list = $window->peek_children An alias for get_children pixmap or undef = $offscreen_window->get_pixmap Only for offscreen "Gtk2::Gdk::Windows". Since: gtk+ 2.18 (window_at_pointer, x, y, mask) = $window->get_pointer Returns window_at_pointer, a Gtk2::Gdk::Window or undef, x and y, integers, and mask, a Gtk2::Gdk::ModifierType. (x, y) = $window->get_position Gtk2::Gdk::Window->process_all_updates $window->process_all_updates $window->process_updates ($update_children) · $update_children (boolean) $window->property_change ($property, $type, $format, $mode, ...) · $property (Gtk2::Gdk::Atom) · $type (Gtk2::Gdk::Atom) · $format (integer) · $mode (Gtk2::Gdk::PropMode) · ... (list) property value(s) Depending on the value of format, the property value(s) can be: +--------------------+------------------------------------+ | format | value | +--------------------+------------------------------------+ | Gtk2::Gdk::CHARS | a string | | Gtk2::Gdk::USHORTS | one or more unsigned short numbers | | Gtk2::Gdk::ULONGS | one or more unsigned long numbers | +--------------------+------------------------------------+ $window->property_delete ($property) · $property (Gtk2::Gdk::Atom) (property_type, format, data) = $window->property_get ($property, $type, $offset, $length, $pdelete) · $property (Gtk2::Gdk::Atom) · $type (Gtk2::Gdk::Atom) · $offset (unsigned) · $length (unsigned) · $pdelete (integer) See property_change for an explanation of the meaning of format. $window->raise $window->redirect_to_drawable ($drawable, $src_x, $src_y, $dest_x, $dest_y, $width, $height) · $drawable (Gtk2::Gdk::Drawable) · $src_x (integer) · $src_y (integer) · $dest_x (integer) · $dest_y (integer) · $width (integer) · $height (integer) Since: gtk+ 2.14 $window->register_dnd $window->remove_redirection Since: gtk+ 2.14 $window->reparent ($new_parent, $x, $y) · $new_parent (Gtk2::Gdk::Window) · $x (integer) · $y (integer) $window->resize ($width, $height) · $width (integer) · $height (integer) $window->restack ($sibling, $above) · $sibling (Gtk2::Gdk::Window or undef) · $above (boolean) Since: gtk+ 2.18 $window->set_role ($role) · $role (string) (root_x, root_y) = $window->get_root_coords ($x, $y) · $x (integer) · $y (integer) Since: gtk+ 2.18 (x, y) = $window->get_root_origin $window->scroll ($dx, $dy) · $dx (integer) · $dy (integer) $window->shape_combine_mask ($mask, $x, $y) · $mask (Gtk2::Gdk::Bitmap or undef) · $x (integer) · $y (integer) $window->shape_combine_region ($shape_region, $offset_x, $offset_y) · $shape_region (Gtk2::Gdk::Region or undef) · $offset_x (integer) · $offset_y (integer) $window->show $window->show_unraised $window->set_skip_pager_hint ($skips_pager) · $skips_pager (boolean) Since: gtk+ 2.2 $window->set_skip_taskbar_hint ($skips_taskbar) · $skips_taskbar (boolean) Since: gtk+ 2.2 $window->set_startup_id ($startup_id) · $startup_id (string) Since: gtk+ 2.12 windowstate = $window->get_state boolean = $window->set_static_gravities ($use_static) · $use_static (boolean) $window->stick $window->thaw_updates $window->set_title ($title) · $title (string) window = $window->get_toplevel list = Gtk2::Gdk::Window->get_toplevels Returns a list of top level windows (Gtk2::Gdk::Window's) known to gdk, on the default screen. A toplevel window is a child of the root window. $window->set_transient_for ($parent) · $parent (Gtk2::Gdk::Window) windowtypehint = $window->get_type_hint Since: gtk+ 2.10 $window->set_type_hint ($hint) · $hint (Gtk2::Gdk::WindowTypeHint) $window->unfullscreen Since: gtk+ 2.2 $window->unmaximize $window->unstick region or undef = $window->get_update_area $window->set_urgency_hint ($urgent) · $urgent (boolean) Since: gtk+ 2.8 unsigned = $window->get_user_data $window->set_user_data ($user_data) · $user_data (unsigned) $window->set_user_time ($timestamp) · $timestamp (unsigned) Since: gtk+ 2.6 windowtype = $window->get_window_type $window->withdraw
PROPERTIES
'cursor' (Gtk2::Gdk::Cursor : default undef : readable / writable) Cursor
SIGNALS
from-embedder (Gtk2::Gdk::Window, double, double, gpointer, gpointer) Gtk2::Gdk::Window = pick-embedded-child (Gtk2::Gdk::Window, double, double) to-embedder (Gtk2::Gdk::Window, double, double, gpointer, gpointer) from-embedder, to-embedder and pick-embedded-child signals are for offscreen windows only. from-embedder and to-embedder receive the x and y coordinates to translate, and must return the translated x and y coordinate.
ENUMS AND FLAGS
flags Gtk2::Gdk::EventMask · 'exposure-mask' / 'GDK_EXPOSURE_MASK' · 'pointer-motion-mask' / 'GDK_POINTER_MOTION_MASK' · 'pointer-motion-hint-mask' / 'GDK_POINTER_MOTION_HINT_MASK' · 'button-motion-mask' / 'GDK_BUTTON_MOTION_MASK' · 'button1-motion-mask' / 'GDK_BUTTON1_MOTION_MASK' · 'button2-motion-mask' / 'GDK_BUTTON2_MOTION_MASK' · 'button3-motion-mask' / 'GDK_BUTTON3_MOTION_MASK' · 'button-press-mask' / 'GDK_BUTTON_PRESS_MASK' · 'button-release-mask' / 'GDK_BUTTON_RELEASE_MASK' · 'key-press-mask' / 'GDK_KEY_PRESS_MASK' · 'key-release-mask' / 'GDK_KEY_RELEASE_MASK' · 'enter-notify-mask' / 'GDK_ENTER_NOTIFY_MASK' · 'leave-notify-mask' / 'GDK_LEAVE_NOTIFY_MASK' · 'focus-change-mask' / 'GDK_FOCUS_CHANGE_MASK' · 'structure-mask' / 'GDK_STRUCTURE_MASK' · 'property-change-mask' / 'GDK_PROPERTY_CHANGE_MASK' · 'visibility-notify-mask' / 'GDK_VISIBILITY_NOTIFY_MASK' · 'proximity-in-mask' / 'GDK_PROXIMITY_IN_MASK' · 'proximity-out-mask' / 'GDK_PROXIMITY_OUT_MASK' · 'substructure-mask' / 'GDK_SUBSTRUCTURE_MASK' · 'scroll-mask' / 'GDK_SCROLL_MASK' · 'all-events-mask' / 'GDK_ALL_EVENTS_MASK' enum Gtk2::Gdk::PropMode · 'replace' / 'GDK_PROP_MODE_REPLACE' · 'prepend' / 'GDK_PROP_MODE_PREPEND' · 'append' / 'GDK_PROP_MODE_APPEND' flags Gtk2::Gdk::WMDecoration · 'all' / 'GDK_DECOR_ALL' · 'border' / 'GDK_DECOR_BORDER' · 'resizeh' / 'GDK_DECOR_RESIZEH' · 'title' / 'GDK_DECOR_TITLE' · 'menu' / 'GDK_DECOR_MENU' · 'minimize' / 'GDK_DECOR_MINIMIZE' · 'maximize' / 'GDK_DECOR_MAXIMIZE' flags Gtk2::Gdk::WMFunction · 'all' / 'GDK_FUNC_ALL' · 'resize' / 'GDK_FUNC_RESIZE' · 'move' / 'GDK_FUNC_MOVE' · 'minimize' / 'GDK_FUNC_MINIMIZE' · 'maximize' / 'GDK_FUNC_MAXIMIZE' · 'close' / 'GDK_FUNC_CLOSE' enum Gtk2::Gdk::WindowEdge · 'north-west' / 'GDK_WINDOW_EDGE_NORTH_WEST' · 'north' / 'GDK_WINDOW_EDGE_NORTH' · 'north-east' / 'GDK_WINDOW_EDGE_NORTH_EAST' · 'west' / 'GDK_WINDOW_EDGE_WEST' · 'east' / 'GDK_WINDOW_EDGE_EAST' · 'south-west' / 'GDK_WINDOW_EDGE_SOUTH_WEST' · 'south' / 'GDK_WINDOW_EDGE_SOUTH' · 'south-east' / 'GDK_WINDOW_EDGE_SOUTH_EAST' flags Gtk2::Gdk::WindowHints · 'pos' / 'GDK_HINT_POS' · 'min-size' / 'GDK_HINT_MIN_SIZE' · 'max-size' / 'GDK_HINT_MAX_SIZE' · 'base-size' / 'GDK_HINT_BASE_SIZE' · 'aspect' / 'GDK_HINT_ASPECT' · 'resize-inc' / 'GDK_HINT_RESIZE_INC' · 'win-gravity' / 'GDK_HINT_WIN_GRAVITY' · 'user-pos' / 'GDK_HINT_USER_POS' · 'user-size' / 'GDK_HINT_USER_SIZE' flags Gtk2::Gdk::WindowState · 'withdrawn' / 'GDK_WINDOW_STATE_WITHDRAWN' · 'iconified' / 'GDK_WINDOW_STATE_ICONIFIED' · 'maximized' / 'GDK_WINDOW_STATE_MAXIMIZED' · 'sticky' / 'GDK_WINDOW_STATE_STICKY' · 'fullscreen' / 'GDK_WINDOW_STATE_FULLSCREEN' · 'above' / 'GDK_WINDOW_STATE_ABOVE' · 'below' / 'GDK_WINDOW_STATE_BELOW' enum Gtk2::Gdk::WindowType · 'root' / 'GDK_WINDOW_ROOT' · 'toplevel' / 'GDK_WINDOW_TOPLEVEL' · 'child' / 'GDK_WINDOW_CHILD' · 'dialog' / 'GDK_WINDOW_DIALOG' · 'temp' / 'GDK_WINDOW_TEMP' · 'foreign' / 'GDK_WINDOW_FOREIGN' · 'offscreen' / 'GDK_WINDOW_OFFSCREEN' enum Gtk2::Gdk::WindowTypeHint · 'normal' / 'GDK_WINDOW_TYPE_HINT_NORMAL' · 'dialog' / 'GDK_WINDOW_TYPE_HINT_DIALOG' · 'menu' / 'GDK_WINDOW_TYPE_HINT_MENU' · 'toolbar' / 'GDK_WINDOW_TYPE_HINT_TOOLBAR' · 'splashscreen' / 'GDK_WINDOW_TYPE_HINT_SPLASHSCREEN' · 'utility' / 'GDK_WINDOW_TYPE_HINT_UTILITY' · 'dock' / 'GDK_WINDOW_TYPE_HINT_DOCK' · 'desktop' / 'GDK_WINDOW_TYPE_HINT_DESKTOP' · 'dropdown-menu' / 'GDK_WINDOW_TYPE_HINT_DROPDOWN_MENU' · 'popup-menu' / 'GDK_WINDOW_TYPE_HINT_POPUP_MENU' · 'tooltip' / 'GDK_WINDOW_TYPE_HINT_TOOLTIP' · 'notification' / 'GDK_WINDOW_TYPE_HINT_NOTIFICATION' · 'combo' / 'GDK_WINDOW_TYPE_HINT_COMBO' · 'dnd' / 'GDK_WINDOW_TYPE_HINT_DND'
SEE ALSO
Gtk2, Glib::Object, Gtk2::Gdk::Drawable
COPYRIGHT
Copyright (C) 2003-2011 by the gtk2-perl team. This software is licensed under the LGPL. See Gtk2 for a full notice.