[gtk+] docs: Move documentation to inline comments: gdkevents
- From: Javier Jardón <jjardon src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] docs: Move documentation to inline comments: gdkevents
- Date: Mon, 15 Nov 2010 20:21:20 +0000 (UTC)
commit 4400f997a8e1f40116a6754dbdf5a28619da90bf
Author: Javier Jardón <jjardon gnome org>
Date: Mon Nov 15 19:15:00 2010 +0100
docs: Move documentation to inline comments: gdkevents
docs/reference/gdk/tmpl/.gitignore | 1 +
docs/reference/gdk/tmpl/events.sgml | 430 -----------------------------------
gdk/gdkevents.c | 17 ++
gdk/gdkevents.h | 108 +++++++--
gdk/gdktypes.h | 49 ++++-
5 files changed, 150 insertions(+), 455 deletions(-)
---
diff --git a/docs/reference/gdk/tmpl/.gitignore b/docs/reference/gdk/tmpl/.gitignore
index cbc990e..0256910 100644
--- a/docs/reference/gdk/tmpl/.gitignore
+++ b/docs/reference/gdk/tmpl/.gitignore
@@ -2,6 +2,7 @@ cairo_interaction.sgml
colors.sgml
cursors.sgml
dnd.sgml
+events.sgml
gdkapplaunchcontext.sgml
gdkdisplay.sgml
gdkdisplaymanager.sgml
diff --git a/gdk/gdkevents.c b/gdk/gdkevents.c
index 920245d..fa61e08 100644
--- a/gdk/gdkevents.c
+++ b/gdk/gdkevents.c
@@ -31,6 +31,23 @@
#include <string.h>
#include <math.h>
+
+/**
+ * SECTION:events
+ * @Short_description: Functions for handling events from the window system
+ * @Title: Events
+ * @See_also: <link linkend="gdk-Event-Structures">Event Structures</link>
+ *
+ * This section describes functions dealing with events from the window
+ * system.
+ *
+ * In GTK+ applications the events are handled automatically in
+ * gtk_main_do_event() and passed on to the appropriate widgets, so these
+ * functions are rarely needed. Though some of the fields in the
+ * <link linkend="gdk-Event-Structures">Event Structures</link> are useful.
+ */
+
+
typedef struct _GdkIOClosure GdkIOClosure;
struct _GdkIOClosure
diff --git a/gdk/gdkevents.h b/gdk/gdkevents.h
index e3441af..9dd7e52 100644
--- a/gdk/gdkevents.h
+++ b/gdk/gdkevents.h
@@ -40,7 +40,21 @@ G_BEGIN_DECLS
#define GDK_TYPE_EVENT (gdk_event_get_type ())
+/**
+ * GDK_PRIORITY_EVENTS:
+ *
+ * This is the priority that events from the X server are given in the
+ * <link linkend="glib-The-Main-Event-Loop">GLib Main Loop</link>.
+ */
#define GDK_PRIORITY_EVENTS (G_PRIORITY_DEFAULT)
+
+/**
+ * GDK_PRIORITY_REDRAW:
+ *
+ * This is the priority that the idle handler processing window updates
+ * is given in the
+ * <link linkend="glib-The-Main-Event-Loop">GLib Main Loop</link>.
+ */
#define GDK_PRIORITY_REDRAW (G_PRIORITY_HIGH_IDLE + 20)
@@ -67,6 +81,15 @@ typedef struct _GdkEventGrabBroken GdkEventGrabBroken;
typedef union _GdkEvent GdkEvent;
+/**
+ * GdkEventFunc:
+ * @event: the #GdkEvent to process.
+ * @data: user data set when the event handler was installed with
+ * gdk_event_handler_set().
+ *
+ * Specifies the type of function passed to gdk_event_handler_set() to
+ * handle all GDK events.
+ */
typedef void (*GdkEventFunc) (GdkEvent *event,
gpointer data);
@@ -121,28 +144,69 @@ typedef GdkFilterReturn (*GdkFilterFunc) (GdkXEvent *xevent,
gpointer data);
-/* Event types.
- * Nothing: No event occurred.
- * Delete: A window delete event was sent by the window manager.
- * The specified window should be deleted.
- * Destroy: A window has been destroyed.
- * Expose: Part of a window has been uncovered.
- * NoExpose: Same as expose, but no expose event was generated.
- * VisibilityNotify: A window has become fully/partially/not obscured.
- * MotionNotify: The mouse has moved.
- * ButtonPress: A mouse button was pressed.
- * ButtonRelease: A mouse button was release.
- * KeyPress: A key was pressed.
- * KeyRelease: A key was released.
- * EnterNotify: A window was entered.
- * LeaveNotify: A window was exited.
- * FocusChange: The focus window has changed. (The focus window gets
- * keyboard events).
- * Resize: A window has been resized.
- * Map: A window has been mapped. (It is now visible on the screen).
- * Unmap: A window has been unmapped. (It is no longer visible on
- * the screen).
- * Scroll: A mouse wheel was scrolled either up or down.
+/**
+ * GdkEventType:
+ * @GDK_NOTHING: a special code to indicate a null event.
+ * @GDK_DELETE: the window manager has requested that the toplevel window be
+ * hidden or destroyed, usually when the user clicks on a special icon in the
+ * title bar.
+ * @GDK_DESTROY: the window has been destroyed.
+ * @GDK_EXPOSE: all or part of the window has become visible and needs to be
+ * redrawn.
+ * @GDK_MOTION_NOTIFY: the pointer (usually a mouse) has moved.
+ * @GDK_BUTTON_PRESS: a mouse button has been pressed.
+ * @GDK_2BUTTON_PRESS: a mouse button has been double-clicked (clicked twice
+ * within a short period of time). Note that each click also generates a
+ * %GDK_BUTTON_PRESS event.
+ * @GDK_3BUTTON_PRESS: a mouse button has been clicked 3 times in a short period
+ * of time. Note that each click also generates a %GDK_BUTTON_PRESS event.
+ * @GDK_BUTTON_RELEASE: a mouse button has been released.
+ * @GDK_KEY_PRESS: a key has been pressed.
+ * @GDK_KEY_RELEASE: a key has been released.
+ * @GDK_ENTER_NOTIFY: the pointer has entered the window.
+ * @GDK_LEAVE_NOTIFY: the pointer has left the window.
+ * @GDK_FOCUS_CHANGE: the keyboard focus has entered or left the window.
+ * @GDK_CONFIGURE: the size, position or stacking order of the window has changed.
+ * Note that GTK+ discards these events for %GDK_WINDOW_CHILD windows.
+ * @GDK_MAP: the window has been mapped.
+ * @GDK_UNMAP: the window has been unmapped.
+ * @GDK_PROPERTY_NOTIFY: a property on the window has been changed or deleted.
+ * @GDK_SELECTION_CLEAR: the application has lost ownership of a selection.
+ * @GDK_SELECTION_REQUEST: another application has requested a selection.
+ * @GDK_SELECTION_NOTIFY: a selection has been received.
+ * @GDK_PROXIMITY_IN: an input device has moved into contact with a sensing
+ * surface (e.g. a touchscreen or graphics tablet).
+ * @GDK_PROXIMITY_OUT: an input device has moved out of contact with a sensing
+ * surface.
+ * @GDK_DRAG_ENTER: the mouse has entered the window while a drag is in progress.
+ * @GDK_DRAG_LEAVE: the mouse has left the window while a drag is in progress.
+ * @GDK_DRAG_MOTION: the mouse has moved in the window while a drag is in
+ * progress.
+ * @GDK_DRAG_STATUS: the status of the drag operation initiated by the window
+ * has changed.
+ * @GDK_DROP_START: a drop operation onto the window has started.
+ * @GDK_DROP_FINISHED: the drop operation initiated by the window has completed.
+ * @GDK_CLIENT_EVENT: a message has been received from another application.
+ * @GDK_VISIBILITY_NOTIFY: the window visibility status has changed.
+ * @GDK_NO_EXPOSE: indicates that the source region was completely available
+ * when parts of a drawable were copied. This is not very useful.
+ * @GDK_SCROLL: the scroll wheel was turned
+ * @GDK_WINDOW_STATE: the state of a window has changed. See #GdkWindowState
+ * for the possible window states
+ * @GDK_SETTING: a setting has been modified.
+ * @GDK_OWNER_CHANGE: the owner of a selection has changed. This event type
+ * was added in 2.6
+ * @GDK_GRAB_BROKEN: a pointer or keyboard grab was broken. This event type
+ * was added in 2.8.
+ * @GDK_DAMAGE: the content of the window has been changed. This event type
+ * was added in 2.14.
+ * @GDK_EVENT_LAST: marks the end of the GdkEventType enumeration. Added in 2.18
+ *
+ * Specifies the type of the event.
+ *
+ * Do not confuse these events with the signals that GTK+ widgets emit.
+ * Although many of these events result in corresponding signals being emitted,
+ * the events are often transformed or filtered along the way.
*/
typedef enum
{
diff --git a/gdk/gdktypes.h b/gdk/gdktypes.h
index de5ebe2..a7c1e57 100644
--- a/gdk/gdktypes.h
+++ b/gdk/gdktypes.h
@@ -46,6 +46,12 @@
#include <gdkconfig.h>
/* some common magic values */
+
+/**
+ * GDK_CURRENT_TIME:
+ *
+ * Represents the current time, and can be used anywhere a time is expected.
+ */
#define GDK_CURRENT_TIME 0L
/**
@@ -272,9 +278,46 @@ typedef enum
GDK_OWNERSHIP_APPLICATION
} GdkGrabOwnership;
-/* Event masks. (Used to select what types of events a window
- * * will receive).
- * */
+/**
+ * GdkEventMask:
+ * @GDK_EXPOSURE_MASK: receive expose events
+ * @GDK_POINTER_MOTION_MASK: receive all pointer motion events
+ * @GDK_POINTER_MOTION_HINT_MASK: see the explanation above
+ * @GDK_BUTTON_MOTION_MASK: receive pointer motion events while any button is pressed
+ * @GDK_BUTTON1_MOTION_MASK: receive pointer motion events while 1 button is pressed
+ * @GDK_BUTTON2_MOTION_MASK: receive pointer motion events while 2 button is pressed
+ * @GDK_BUTTON3_MOTION_MASK: receive pointer motion events while 3 button is pressed
+ * @GDK_BUTTON_PRESS_MASK: receive button press events
+ * @GDK_BUTTON_RELEASE_MASK: receive button release events
+ * @GDK_KEY_PRESS_MASK: receive key press events
+ * @GDK_KEY_RELEASE_MASK: receive key release events
+ * @GDK_ENTER_NOTIFY_MASK: receive window enter events
+ * @GDK_LEAVE_NOTIFY_MASK: receive window leave events
+ * @GDK_FOCUS_CHANGE_MASK: receive focus change events
+ * @GDK_STRUCTURE_MASK: receive events about window configuration change
+ * @GDK_PROPERTY_CHANGE_MASK: receive property change events
+ * @GDK_VISIBILITY_NOTIFY_MASK: receive visibility change events
+ * @GDK_PROXIMITY_IN_MASK: receive proximity in events
+ * @GDK_PROXIMITY_OUT_MASK: receive proximity out events
+ * @GDK_SUBSTRUCTURE_MASK: receive events about window configuration changes of
+ * child windows
+ * @GDK_SCROLL_MASK: receive scroll events
+ * @GDK_ALL_EVENTS_MASK: the combination of all the above event masks.
+ *
+ * A set of bit-flags to indicate which events a window is to receive.
+ * Most of these masks map onto one or more of the #GdkEventType event types
+ * above.
+ *
+ * %GDK_POINTER_MOTION_HINT_MASK is a special mask which is used to reduce the
+ * number of %GDK_MOTION_NOTIFY events received. Normally a %GDK_MOTION_NOTIFY
+ * event is received each time the mouse moves. However, if the application
+ * spends a lot of time processing the event (updating the display, for example),
+ * it can lag behind the position of the mouse. When using
+ * %GDK_POINTER_MOTION_HINT_MASK, fewer %GDK_MOTION_NOTIFY events will be sent,
+ * some of which are marked as a hint (the is_hint member is %TRUE).
+ * To receive more motion events after a motion hint event, the application
+ * needs to asks for more, by calling gdk_event_request_motions().
+ */
typedef enum
{
GDK_EXPOSURE_MASK = 1 << 1,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]