.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.0102 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Gtk2::Gdk::Event 3" .TH Gtk2::Gdk::Event 3 2024-09-01 "perl v5.40.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME Gtk2::Gdk::Event \- wrapper for GdkEvent .SH HIERARCHY .IX Header "HIERARCHY" .Vb 2 \& Glib::Boxed \& +\-\-\-\-Gtk2::Gdk::Event .Ve .SH "EVENT TYPES" .IX Header "EVENT TYPES" .IP \(bu 4 Gtk2::Gdk::Event::Button .IP \(bu 4 Gtk2::Gdk::Event::Client .IP \(bu 4 Gtk2::Gdk::Event::Configure .IP \(bu 4 Gtk2::Gdk::Event::Crossing .IP \(bu 4 Gtk2::Gdk::Event::DND .IP \(bu 4 Gtk2::Gdk::Event::Expose .IP \(bu 4 Gtk2::Gdk::Event::Focus .IP \(bu 4 Gtk2::Gdk::Event::Key .IP \(bu 4 Gtk2::Gdk::Event::Motion .IP \(bu 4 Gtk2::Gdk::Event::NoExpose .IP \(bu 4 Gtk2::Gdk::Event::Property .IP \(bu 4 Gtk2::Gdk::Event::Proximity .IP \(bu 4 Gtk2::Gdk::Event::Scroll .IP \(bu 4 Gtk2::Gdk::Event::Selection .IP \(bu 4 Gtk2::Gdk::Event::Setting .IP \(bu 4 Gtk2::Gdk::Event::Visibility .IP \(bu 4 Gtk2::Gdk::Event::WindowState .IP \(bu 4 Gtk2::Gdk::Event::OwnerChange (since gtk+ 2.6) .IP \(bu 4 Gtk2::Gdk::Event::GrabBroken (since gtk+ 2.8) .SH METHODS .IX Header "METHODS" .SS "event = Gtk2::Gdk::Event\->\fBnew\fP ($type)" .IX Subsection "event = Gtk2::Gdk::Event->new ($type)" .IP \(bu 4 \&\f(CW$type\fR (Gtk2::Gdk::EventType) .ie n .SS "double = $event\->\fBaxis\fP ($axis_use)" .el .SS "double = \f(CW$event\fP\->\fBaxis\fP ($axis_use)" .IX Subsection "double = $event->axis ($axis_use)" .IP \(bu 4 \&\f(CW$axis_use\fR (Gtk2::Gdk::AxisUse) .ie n .SS "double = $event\->\fBget_axis\fP ($axis_use)" .el .SS "double = \f(CW$event\fP\->\fBget_axis\fP ($axis_use)" .IX Subsection "double = $event->get_axis ($axis_use)" .IP \(bu 4 \&\f(CW$axis_use\fR (Gtk2::Gdk::AxisUse) .ie n .SS "($x, $y) = $event\->\fBcoords\fP" .el .SS "($x, \f(CW$y\fP) = \f(CW$event\fP\->\fBcoords\fP" .IX Subsection "($x, $y) = $event->coords" .ie n .SS "($x, $y) = $event\->\fBget_coords\fP" .el .SS "($x, \f(CW$y\fP) = \f(CW$event\fP\->\fBget_coords\fP" .IX Subsection "($x, $y) = $event->get_coords" .ie n .SS "event = $event\->\fBcopy\fP" .el .SS "event = \f(CW$event\fP\->\fBcopy\fP" .IX Subsection "event = $event->copy" .SS "event or undef = Gtk2::Gdk::Event\->\fBget\fP" .IX Subsection "event or undef = Gtk2::Gdk::Event->get" .SS "event or undef = Gtk2::Gdk::Event\->\fBget_graphics_expose\fP ($window)" .IX Subsection "event or undef = Gtk2::Gdk::Event->get_graphics_expose ($window)" .IP \(bu 4 \&\f(CW$window\fR (Gtk2::Gdk::Window) .ie n .SS "Gtk2::Gdk::Event\->\fBhandler_set\fP ($func, $data=undef)" .el .SS "Gtk2::Gdk::Event\->\fBhandler_set\fP ($func, \f(CW$data\fP=undef)" .IX Subsection "Gtk2::Gdk::Event->handler_set ($func, $data=undef)" .IP \(bu 4 \&\f(CW$func\fR (subroutine) function to get called for each event. .IP \(bu 4 \&\f(CW$data\fR (scalar) .PP Set the function that handles all events from GDK. GTK+ uses this to dispatch events, and as such this is rarely of use to applications, unless you are implementing completely custom event dispatching (unlikely) or preprocess events somehow and then pass them on to \&\f(CW\*(C`Gtk2::main_do_event\*(C'\fR. As a special case, if \fIfunc\fR is undef, we "reset" the handler by passing the actual C function gtk_main_do_event to GDK, to bypass the Perl marshaling (and take things back up to full speed). .SS "event or undef = Gtk2::Gdk::Event\->\fBpeek\fP" .IX Subsection "event or undef = Gtk2::Gdk::Event->peek" .SS "Gtk2::Gdk::Event\->\fBput\fP ($event)" .IX Subsection "Gtk2::Gdk::Event->put ($event)" .IP \(bu 4 \&\f(CW$event\fR (Gtk2::Gdk::Event) .ie n .SS "($x_root, $y_root) = $event\->\fBroot_coords\fP" .el .SS "($x_root, \f(CW$y_root\fP) = \f(CW$event\fP\->\fBroot_coords\fP" .IX Subsection "($x_root, $y_root) = $event->root_coords" .ie n .SS "($x_root, $y_root) = $event\->\fBget_root_coords\fP" .el .SS "($x_root, \f(CW$y_root\fP) = \f(CW$event\fP\->\fBget_root_coords\fP" .IX Subsection "($x_root, $y_root) = $event->get_root_coords" .ie n .SS "screen = $event\->\fBget_screen\fP" .el .SS "screen = \f(CW$event\fP\->\fBget_screen\fP" .IX Subsection "screen = $event->get_screen" Since: gtk+ 2.2 .ie n .SS "$event\->\fBset_screen\fP ($screen)" .el .SS "\f(CW$event\fP\->\fBset_screen\fP ($screen)" .IX Subsection "$event->set_screen ($screen)" .IP \(bu 4 \&\f(CW$screen\fR (Gtk2::Gdk::Screen) .PP Since: gtk+ 2.2 .ie n .SS "boolean = Gtk2::Gdk::Event\->\fBsend_client_message\fP ($event, $winid)" .el .SS "boolean = Gtk2::Gdk::Event\->\fBsend_client_message\fP ($event, \f(CW$winid\fP)" .IX Subsection "boolean = Gtk2::Gdk::Event->send_client_message ($event, $winid)" .IP \(bu 4 \&\f(CW$event\fR (Gtk2::Gdk::Event) .IP \(bu 4 \&\f(CW$winid\fR (Gtk2::Gdk::NativeWindow) .ie n .SS "boolean = Gtk2::Gdk::Event\->\fBsend_client_message_for_display\fP ($display, $event, $winid)" .el .SS "boolean = Gtk2::Gdk::Event\->\fBsend_client_message_for_display\fP ($display, \f(CW$event\fP, \f(CW$winid\fP)" .IX Subsection "boolean = Gtk2::Gdk::Event->send_client_message_for_display ($display, $event, $winid)" .IP \(bu 4 \&\f(CW$display\fR (Gtk2::Gdk::Display) .IP \(bu 4 \&\f(CW$event\fR (Gtk2::Gdk::Event) .IP \(bu 4 \&\f(CW$winid\fR (Gtk2::Gdk::NativeWindow) .PP Since: gtk+ 2.2 .SS "Gtk2::Gdk::Event\->\fBsend_clientmessage_toall\fP ($event)" .IX Subsection "Gtk2::Gdk::Event->send_clientmessage_toall ($event)" .IP \(bu 4 \&\f(CW$event\fR (Gtk2::Gdk::Event) .ie n .SS "integer = $event\->\fBsend_event\fP ($newvalue=0)" .el .SS "integer = \f(CW$event\fP\->\fBsend_event\fP ($newvalue=0)" .IX Subsection "integer = $event->send_event ($newvalue=0)" .IP \(bu 4 \&\f(CW$newvalue\fR (integer) .ie n .SS "$modifiertype = $event\->\fBget_state\fP" .el .SS "\f(CW$modifiertype\fP = \f(CW$event\fP\->\fBget_state\fP" .IX Subsection "$modifiertype = $event->get_state" .ie n .SS "$modifiertype = $event\->\fBstate\fP" .el .SS "\f(CW$modifiertype\fP = \f(CW$event\fP\->\fBstate\fP" .IX Subsection "$modifiertype = $event->state" Get \fR\f(CI$event\fR\fI\fR's state. Croaks if that event type doesn't have a state. .ie n .SS "$event\->\fBset_state\fP ($newstate)" .el .SS "\f(CW$event\fP\->\fBset_state\fP ($newstate)" .IX Subsection "$event->set_state ($newstate)" .IP \(bu 4 \&\f(CW$newstate\fR (Gtk2::Gdk::ModifierType) .ie n .SS "$timestamp = $event\->\fBget_time\fP" .el .SS "\f(CW$timestamp\fP = \f(CW$event\fP\->\fBget_time\fP" .IX Subsection "$timestamp = $event->get_time" .ie n .SS "$timestamp = $event\->\fBtime\fP" .el .SS "\f(CW$timestamp\fP = \f(CW$event\fP\->\fBtime\fP" .IX Subsection "$timestamp = $event->time" Get \fR\f(CI$event\fR\fI\fR's time. If that event type doesn't have a time, or if \&\fI\fR\f(CI$event\fR\fI\fR is undef, returns GDK_CURRENT_TIME, which is 0. .ie n .SS "$event\->\fBset_time\fP ($newtime)" .el .SS "\f(CW$event\fP\->\fBset_time\fP ($newtime)" .IX Subsection "$event->set_time ($newtime)" .IP \(bu 4 \&\f(CW$newtime\fR (integer) timestamp .ie n .SS "eventtype = $event\->\fBtype\fP" .el .SS "eventtype = \f(CW$event\fP\->\fBtype\fP" .IX Subsection "eventtype = $event->type" .ie n .SS "window or undef = $event\->\fBwindow\fP ($newvalue=undef)" .el .SS "window or undef = \f(CW$event\fP\->\fBwindow\fP ($newvalue=undef)" .IX Subsection "window or undef = $event->window ($newvalue=undef)" .IP \(bu 4 \&\f(CW$newvalue\fR (Gtk2::Gdk::Window or undef) .ie n .SS "integer = $event\->\fBx_root\fP" .el .SS "integer = \f(CW$event\fP\->\fBx_root\fP" .IX Subsection "integer = $event->x_root" .ie n .SS "integer = $event\->\fBy_root\fP" .el .SS "integer = \f(CW$event\fP\->\fBy_root\fP" .IX Subsection "integer = $event->y_root" .SH "ENUMS AND FLAGS" .IX Header "ENUMS AND FLAGS" .SS "enum Gtk2::Gdk::AxisUse" .IX Subsection "enum Gtk2::Gdk::AxisUse" .IP \(bu 4 \&'ignore' / 'GDK_AXIS_IGNORE' .IP \(bu 4 \&'x' / 'GDK_AXIS_X' .IP \(bu 4 \&'y' / 'GDK_AXIS_Y' .IP \(bu 4 \&'pressure' / 'GDK_AXIS_PRESSURE' .IP \(bu 4 \&'xtilt' / 'GDK_AXIS_XTILT' .IP \(bu 4 \&'ytilt' / 'GDK_AXIS_YTILT' .IP \(bu 4 \&'wheel' / 'GDK_AXIS_WHEEL' .IP \(bu 4 \&'last' / 'GDK_AXIS_LAST' .SS "enum Gtk2::Gdk::EventType" .IX Subsection "enum Gtk2::Gdk::EventType" .IP \(bu 4 \&'nothing' / 'GDK_NOTHING' .IP \(bu 4 \&'delete' / 'GDK_DELETE' .IP \(bu 4 \&'destroy' / 'GDK_DESTROY' .IP \(bu 4 \&'expose' / 'GDK_EXPOSE' .IP \(bu 4 \&'motion\-notify' / 'GDK_MOTION_NOTIFY' .IP \(bu 4 \&'button\-press' / 'GDK_BUTTON_PRESS' .IP \(bu 4 \&'2button\-press' / 'GDK_2BUTTON_PRESS' .IP \(bu 4 \&'3button\-press' / 'GDK_3BUTTON_PRESS' .IP \(bu 4 \&'button\-release' / 'GDK_BUTTON_RELEASE' .IP \(bu 4 \&'key\-press' / 'GDK_KEY_PRESS' .IP \(bu 4 \&'key\-release' / 'GDK_KEY_RELEASE' .IP \(bu 4 \&'enter\-notify' / 'GDK_ENTER_NOTIFY' .IP \(bu 4 \&'leave\-notify' / 'GDK_LEAVE_NOTIFY' .IP \(bu 4 \&'focus\-change' / 'GDK_FOCUS_CHANGE' .IP \(bu 4 \&'configure' / 'GDK_CONFIGURE' .IP \(bu 4 \&'map' / 'GDK_MAP' .IP \(bu 4 \&'unmap' / 'GDK_UNMAP' .IP \(bu 4 \&'property\-notify' / 'GDK_PROPERTY_NOTIFY' .IP \(bu 4 \&'selection\-clear' / 'GDK_SELECTION_CLEAR' .IP \(bu 4 \&'selection\-request' / 'GDK_SELECTION_REQUEST' .IP \(bu 4 \&'selection\-notify' / 'GDK_SELECTION_NOTIFY' .IP \(bu 4 \&'proximity\-in' / 'GDK_PROXIMITY_IN' .IP \(bu 4 \&'proximity\-out' / 'GDK_PROXIMITY_OUT' .IP \(bu 4 \&'drag\-enter' / 'GDK_DRAG_ENTER' .IP \(bu 4 \&'drag\-leave' / 'GDK_DRAG_LEAVE' .IP \(bu 4 \&'drag\-motion' / 'GDK_DRAG_MOTION' .IP \(bu 4 \&'drag\-status' / 'GDK_DRAG_STATUS' .IP \(bu 4 \&'drop\-start' / 'GDK_DROP_START' .IP \(bu 4 \&'drop\-finished' / 'GDK_DROP_FINISHED' .IP \(bu 4 \&'client\-event' / 'GDK_CLIENT_EVENT' .IP \(bu 4 \&'visibility\-notify' / 'GDK_VISIBILITY_NOTIFY' .IP \(bu 4 \&'no\-expose' / 'GDK_NO_EXPOSE' .IP \(bu 4 \&'scroll' / 'GDK_SCROLL' .IP \(bu 4 \&'window\-state' / 'GDK_WINDOW_STATE' .IP \(bu 4 \&'setting' / 'GDK_SETTING' .IP \(bu 4 \&'owner\-change' / 'GDK_OWNER_CHANGE' .IP \(bu 4 \&'grab\-broken' / 'GDK_GRAB_BROKEN' .IP \(bu 4 \&'damage' / 'GDK_DAMAGE' .IP \(bu 4 \&'event\-last' / 'GDK_EVENT_LAST' .SS "flags Gtk2::Gdk::ModifierType" .IX Subsection "flags Gtk2::Gdk::ModifierType" .IP \(bu 4 \&'shift\-mask' / 'GDK_SHIFT_MASK' .IP \(bu 4 \&'lock\-mask' / 'GDK_LOCK_MASK' .IP \(bu 4 \&'control\-mask' / 'GDK_CONTROL_MASK' .IP \(bu 4 \&'mod1\-mask' / 'GDK_MOD1_MASK' .IP \(bu 4 \&'mod2\-mask' / 'GDK_MOD2_MASK' .IP \(bu 4 \&'mod3\-mask' / 'GDK_MOD3_MASK' .IP \(bu 4 \&'mod4\-mask' / 'GDK_MOD4_MASK' .IP \(bu 4 \&'mod5\-mask' / 'GDK_MOD5_MASK' .IP \(bu 4 \&'button1\-mask' / 'GDK_BUTTON1_MASK' .IP \(bu 4 \&'button2\-mask' / 'GDK_BUTTON2_MASK' .IP \(bu 4 \&'button3\-mask' / 'GDK_BUTTON3_MASK' .IP \(bu 4 \&'button4\-mask' / 'GDK_BUTTON4_MASK' .IP \(bu 4 \&'button5\-mask' / 'GDK_BUTTON5_MASK' .IP \(bu 4 \&'super\-mask' / 'GDK_SUPER_MASK' .IP \(bu 4 \&'hyper\-mask' / 'GDK_HYPER_MASK' .IP \(bu 4 \&'meta\-mask' / 'GDK_META_MASK' .IP \(bu 4 \&'release\-mask' / 'GDK_RELEASE_MASK' .IP \(bu 4 \&'modifier\-mask' / 'GDK_MODIFIER_MASK' .SH "SEE ALSO" .IX Header "SEE ALSO" Gtk2, Glib::Boxed .SH COPYRIGHT .IX Header "COPYRIGHT" Copyright (C) 2003\-2011 by the gtk2\-perl team. .PP This software is licensed under the LGPL. See Gtk2 for a full notice.