docs/reference/gdk/gdk4.args0000664000175000017500000003205313464200074016053 0ustar mclasenmclasen GdkAppLaunchContext::display GdkDisplay* rwX Display Display. GdkClipboard::content GdkContentProvider* r Content Provider of the clipboard's content. GdkClipboard::display GdkDisplay* rwX Display Display owning this clipboard. GdkClipboard::formats GdkContentFormats* r Formats The possible formats for data. GdkClipboard::local gboolean r Local If the contents are owned by this process. TRUE GdkContentProvider::formats GdkContentFormats* r Formats The possible formats for data. GdkContentProvider::storable-formats GdkContentFormats* r Storable formats The formats that data should be stored in. GdkCursor::fallback GdkCursor* rwX Fallback Cursor image to fall back to if this cursor cannot be displayed. GdkCursor::hotspot-x gint >= 0 rwX Hotspot X Horizontal offset of the cursor hotspot. 0 GdkCursor::hotspot-y gint >= 0 rwX Hotspot Y Vertical offset of the cursor hotspot. 0 GdkCursor::name gchar* rwX Name Name of this cursor. NULL GdkCursor::texture GdkTexture* rwX Texture The texture displayed by this cursor. GdkDevice::associated-device GdkDevice* r Associated device Associated pointer or keyboard with this device. GdkDevice::axes GdkAxisFlags r Axes Axes. GdkDevice::display GdkDisplay* rwX Device Display Display which the device belongs to. GdkDevice::has-cursor gboolean rwX Whether the device has a cursor Whether there is a visible cursor following device motion. FALSE GdkDevice::input-mode GdkInputMode rw Input mode for the device Input mode for the device. GDK_MODE_DISABLED GdkDevice::input-source GdkInputSource rwX Input source Source type for the device. GDK_SOURCE_MOUSE GdkDevice::n-axes guint r Number of axes in the device Number of axes in the device. 0 GdkDevice::name gchar* rwX Device name Device name. NULL GdkDevice::num-touches guint rwX Number of concurrent touches Number of concurrent touches. 0 GdkDevice::product-id gchar* rwX Product ID Product ID. NULL GdkDevice::seat GdkSeat* rw Seat Seat. GdkDevice::tool GdkDeviceTool* r Tool The tool that is currently used with this device. GdkDevice::type GdkDeviceType rwX Device type Device role in the device manager. GDK_DEVICE_TYPE_MASTER GdkDevice::vendor-id gchar* rwX Vendor ID Vendor ID. NULL GdkDeviceTool::axes GdkAxisFlags rwX Axes Tool axes. GdkDeviceTool::hardware-id guint64 rwX Hardware ID Hardware ID. 0 GdkDeviceTool::serial guint64 rwX Serial Serial number. 0 GdkDeviceTool::tool-type GdkDeviceToolType rwX Tool type Tool type. GDK_DEVICE_TOOL_TYPE_UNKNOWN GdkDisplay::composited gboolean r Composited Composited. TRUE GdkDisplay::rgba gboolean r RGBA RGBA. TRUE GdkDisplayManager::default-display GdkDisplay* rw Default Display The default display for GDK. GdkDrag::actions GdkDragAction rw Actions The possible actions. GdkDrag::content GdkContentProvider* rwX Content The content being dragged. GdkDrag::device GdkDevice* rwX Device The device performing the drag. GdkDrag::display GdkDisplay* r Display Display this drag belongs to. GdkDrag::formats GdkContentFormats* rwX Formats The possible formats for data. GdkDrag::selected-action GdkDragAction rw Selected action The currently selected action. GdkDrag::surface GdkSurface* rwX Surface The surface where the drag originates. GdkDrop::actions GdkDragAction rwX Actions The possible actions for this drop. GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK GdkDrop::device GdkDevice* rwX Device The device performing the drop. GdkDrop::display GdkDisplay* r Display Display this drag belongs to. GdkDrop::drag GdkDrag* rwX Drag The drag that initiated this drop. GdkDrop::formats GdkContentFormats* rwX Formats The possible formats for data. GdkDrop::surface GdkSurface* rwX Surface The surface the drop is happening on. GdkEvent::event-type GdkEventType rwX Event type Event type. GDK_NOTHING GdkGLContext::shared-context GdkGLContext* rwX Shared context The GL context this context shares data with. GdkKeymap::display GdkDisplay* rwX Display The display of the keymap. GdkMonitor::display GdkDisplay* rwX Display The display of the monitor. GdkMonitor::geometry GdkRectangle* r Geometry The geometry of the monitor. GdkMonitor::height-mm gint >= 0 r Physical height The height of the monitor, in millimeters. 0 GdkMonitor::manufacturer gchar* r Manufacturer The manufacturer name. NULL GdkMonitor::model gchar* r Model The model name. NULL GdkMonitor::refresh-rate gint >= 0 r Refresh rate The refresh rate, in millihertz. 0 GdkMonitor::scale-factor gint >= 0 r Scale factor The scale factor. 1 GdkMonitor::subpixel-layout GdkSubpixelLayout r Subpixel layout The subpixel layout. GDK_SUBPIXEL_LAYOUT_UNKNOWN GdkMonitor::valid gboolean r Valid Whether the monitor is still valid. TRUE GdkMonitor::width-mm gint >= 0 r Physical width The width of the monitor, in millimeters. 0 GdkMonitor::workarea GdkRectangle* r Workarea The workarea of the monitor. GdkSeat::display GdkDisplay* rwX Display Display. GdkSurface::cursor GdkCursor* rw Cursor Cursor. GdkSurface::display GdkDisplay* rwX Display Display. GdkSurface::frame-clock GdkFrameClock* rwX Frame Clock Frame Clock. GdkSurface::mapped gboolean r Mapped Mapped. FALSE GdkSurface::state GdkSurfaceState r State State. GDK_SURFACE_STATE_WITHDRAWN GdkTexture::height gint >= 1 rwX Height The height of the texture. 1 GdkTexture::width gint >= 1 rwX Width The width of the texture. 1 docs/reference/gdk/gdk4-decl-list.txt0000664000175000017500000012531013464200073017612 0ustar mclasenmclasen
MwmUtil MotifWmInfo MwmInfo MWM_INFO_STARTUP_STANDARD MWM_INFO_STARTUP_CUSTOM PropMotifWmHints PropMwmHints PROP_MOTIF_WM_HINTS_ELEMENTS PROP_MWM_HINTS_ELEMENTS PropMotifWmInfo PropMwmInfo PROP_MOTIF_WM_INFO_ELEMENTS PROP_MWM_INFO_ELEMENTS
gdk
gdk-autocleanup
gdkapplaunchcontext gdk_app_launch_context_set_desktop gdk_app_launch_context_set_timestamp gdk_app_launch_context_set_icon gdk_app_launch_context_set_icon_name GDK_APP_LAUNCH_CONTEXT GDK_IS_APP_LAUNCH_CONTEXT GDK_TYPE_APP_LAUNCH_CONTEXT gdk_app_launch_context_get_type
gdkasync GdkSendXEventCallback GdkRoundTripCallback GdkChildInfoX11
gdkcairo gdk_cairo_get_clip_rectangle gdk_cairo_set_source_rgba gdk_cairo_set_source_pixbuf gdk_cairo_rectangle gdk_cairo_region gdk_cairo_region_create_from_surface gdk_cairo_draw_from_gl gdk_cairo_surface_upload_to_gl
gdkcairocontext GDK_CAIRO_ERROR gdk_cairo_context_cairo_create GDK_CAIRO_CONTEXT GDK_IS_CAIRO_CONTEXT GDK_TYPE_CAIRO_CONTEXT gdk_cairo_context_get_type
gdkcairocontext-wayland GdkWaylandCairoContext GDK_IS_WAYLAND_CAIRO_CONTEXT GDK_TYPE_WAYLAND_CAIRO_CONTEXT GDK_WAYLAND_CAIRO_CONTEXT GDK_WAYLAND_CAIRO_CONTEXT_CLASS GDK_WAYLAND_CAIRO_CONTEXT_GET_CLASS GdkWaylandCairoContext GdkWaylandCairoContextClass gdk_wayland_cairo_context_get_type
gdkcairocontext-x11 GdkX11CairoContext GDK_IS_X11_CAIRO_CONTEXT GDK_TYPE_X11_CAIRO_CONTEXT GDK_X11_CAIRO_CONTEXT GDK_X11_CAIRO_CONTEXT_CLASS GDK_X11_CAIRO_CONTEXT_GET_CLASS GdkX11CairoContext GdkX11CairoContextClass gdk_x11_cairo_context_get_type
gdkcairocontextprivate GdkCairoContext GDK_CAIRO_CONTEXT_CLASS GDK_CAIRO_CONTEXT_GET_CLASS GdkCairoContext GdkCairoContextClass
gdkclipboard gdk_clipboard_get_display gdk_clipboard_get_formats gdk_clipboard_is_local gdk_clipboard_get_content gdk_clipboard_store_async gdk_clipboard_store_finish gdk_clipboard_read_async gdk_clipboard_read_finish gdk_clipboard_read_value_async gdk_clipboard_read_value_finish gdk_clipboard_read_texture_async gdk_clipboard_read_texture_finish gdk_clipboard_read_text_async gdk_clipboard_read_text_finish gdk_clipboard_set_content gdk_clipboard_set gdk_clipboard_set_valist gdk_clipboard_set_value gdk_clipboard_set_text gdk_clipboard_set_texture GDK_CLIPBOARD GDK_IS_CLIPBOARD GDK_TYPE_CLIPBOARD gdk_clipboard_get_type
gdkclipboard-wayland gdk_wayland_clipboard_new gdk_wayland_clipboard_claim_remote GDK_IS_WAYLAND_CLIPBOARD GDK_TYPE_WAYLAND_CLIPBOARD GDK_WAYLAND_CLIPBOARD GdkWaylandClipboard gdk_wayland_clipboard_get_type
gdkclipboard-x11 gdk_x11_clipboard_new gdk_x11_clipboard_formats_to_targets gdk_x11_clipboard_formats_to_atoms GDK_IS_X11_CLIPBOARD GDK_TYPE_X11_CLIPBOARD GDK_X11_CLIPBOARD GdkX11Clipboard gdk_x11_clipboard_get_type
gdkconfig GDK_WINDOWING_X11 GDK_WINDOWING_BROADWAY GDK_WINDOWING_WAYLAND
gdkconstructor G_DEFINE_CONSTRUCTOR G_DEFINE_DESTRUCTOR G_MSVC_CTOR G_MSVC_DTOR G_HAS_CONSTRUCTORS G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS G_DEFINE_DESTRUCTOR_PRAGMA_ARGS
gdkcontentdeserializer GdkContentDeserializeFunc gdk_content_deserializer_get_mime_type gdk_content_deserializer_get_gtype gdk_content_deserializer_get_value gdk_content_deserializer_get_input_stream gdk_content_deserializer_get_priority gdk_content_deserializer_get_cancellable gdk_content_deserializer_get_user_data gdk_content_deserializer_set_task_data gdk_content_deserializer_get_task_data gdk_content_deserializer_return_success gdk_content_deserializer_return_error gdk_content_formats_union_deserialize_gtypes gdk_content_formats_union_deserialize_mime_types gdk_content_register_deserializer gdk_content_deserialize_async gdk_content_deserialize_finish GdkContentDeserializer GDK_CONTENT_DESERIALIZER GDK_IS_CONTENT_DESERIALIZER GDK_TYPE_CONTENT_DESERIALIZER gdk_content_deserializer_get_type
gdkcontentformats gdk_intern_mime_type gdk_content_formats_new gdk_content_formats_new_for_gtype gdk_content_formats_ref gdk_content_formats_unref gdk_content_formats_print gdk_content_formats_to_string gdk_content_formats_get_gtypes gdk_content_formats_get_mime_types gdk_content_formats_union gdk_content_formats_match gdk_content_formats_match_gtype gdk_content_formats_match_mime_type gdk_content_formats_contain_gtype gdk_content_formats_contain_mime_type gdk_content_formats_builder_new gdk_content_formats_builder_ref gdk_content_formats_builder_unref gdk_content_formats_builder_free_to_formats gdk_content_formats_builder_to_formats gdk_content_formats_builder_add_formats gdk_content_formats_builder_add_mime_type gdk_content_formats_builder_add_gtype GDK_TYPE_CONTENT_FORMATS GDK_TYPE_CONTENT_FORMATS_BUILDER GDK_TYPE_FILE_LIST GdkContentFormatsBuilder gdk_content_formats_builder_get_type gdk_content_formats_get_type gdk_file_list_get_type
gdkcontentprovider GdkContentProvider GdkContentProvider gdk_content_provider_ref_formats gdk_content_provider_ref_storable_formats gdk_content_provider_content_changed gdk_content_provider_write_mime_type_async gdk_content_provider_write_mime_type_finish gdk_content_provider_get_value GDK_CONTENT_PROVIDER GDK_CONTENT_PROVIDER_CLASS GDK_CONTENT_PROVIDER_GET_CLASS GDK_IS_CONTENT_PROVIDER GDK_TYPE_CONTENT_PROVIDER GdkContentProviderClass gdk_content_provider_get_type
gdkcontentproviderimpl gdk_content_provider_new_for_value gdk_content_provider_new_for_bytes
gdkcontentserializer GdkContentSerializeFunc gdk_content_serializer_get_mime_type gdk_content_serializer_get_gtype gdk_content_serializer_get_value gdk_content_serializer_get_output_stream gdk_content_serializer_get_priority gdk_content_serializer_get_cancellable gdk_content_serializer_get_user_data gdk_content_serializer_set_task_data gdk_content_serializer_get_task_data gdk_content_serializer_return_success gdk_content_serializer_return_error gdk_content_formats_union_serialize_gtypes gdk_content_formats_union_serialize_mime_types gdk_content_register_serializer gdk_content_serialize_async gdk_content_serialize_finish GdkContentSerializer GDK_CONTENT_SERIALIZER GDK_IS_CONTENT_SERIALIZER GDK_TYPE_CONTENT_SERIALIZER gdk_content_serializer_get_type
gdkcursor gdk_cursor_new_from_texture gdk_cursor_new_from_name gdk_cursor_get_fallback gdk_cursor_get_name gdk_cursor_get_texture gdk_cursor_get_hotspot_x gdk_cursor_get_hotspot_y GDK_CURSOR GDK_IS_CURSOR GDK_TYPE_CURSOR gdk_cursor_get_type
gdkdevice GdkInputSource GdkInputMode GdkDeviceType GDK_MAX_TIMECOORD_AXES GdkTimeCoord gdk_device_get_name gdk_device_get_has_cursor gdk_device_get_source gdk_device_get_mode gdk_device_set_mode gdk_device_get_n_keys gdk_device_get_key gdk_device_set_key gdk_device_get_axis_use gdk_device_set_axis_use gdk_device_get_state gdk_device_get_position gdk_device_get_surface_at_position gdk_device_get_history gdk_device_free_history gdk_device_get_n_axes gdk_device_list_axes gdk_device_get_axis_value gdk_device_get_axis gdk_device_get_display gdk_device_get_associated_device gdk_device_list_slave_devices gdk_device_get_device_type gdk_device_get_last_event_surface gdk_device_get_vendor_id gdk_device_get_product_id gdk_device_get_seat gdk_device_get_axes GDK_DEVICE GDK_IS_DEVICE GDK_TYPE_DEVICE gdk_device_get_type
gdkdevicemanagerprivate-core GdkX11DeviceManagerCore GdkX11DeviceManagerCore GdkX11DeviceManagerCoreClass
gdkdevicepad GdkDevicePadFeature gdk_device_pad_get_n_groups gdk_device_pad_get_group_n_modes gdk_device_pad_get_n_features gdk_device_pad_get_feature_group GDK_DEVICE_PAD GDK_IS_DEVICE_PAD GDK_TYPE_DEVICE_PAD GdkDevicePad GdkDevicePadInterface gdk_device_pad_get_type
gdkdevicetool GdkDeviceToolType gdk_device_tool_get_serial gdk_device_tool_get_hardware_id gdk_device_tool_get_tool_type GDK_DEVICE_TOOL GDK_IS_DEVICE_TOOL GDK_TYPE_DEVICE_TOOL GdkDeviceTool gdk_device_tool_get_type
gdkdisplay gdk_display_open gdk_display_get_name gdk_display_device_is_grabbed gdk_display_beep gdk_display_sync gdk_display_flush gdk_display_close gdk_display_is_closed gdk_display_is_composited gdk_display_is_rgba gdk_display_get_event gdk_display_peek_event gdk_display_put_event gdk_display_has_pending gdk_display_get_default gdk_display_get_default_group gdk_display_get_clipboard gdk_display_get_primary_clipboard gdk_display_supports_shapes gdk_display_supports_input_shapes gdk_display_notify_startup_complete gdk_display_get_startup_notification_id gdk_display_get_app_launch_context gdk_display_get_default_seat gdk_display_list_seats gdk_display_get_n_monitors gdk_display_get_monitor gdk_display_get_primary_monitor gdk_display_get_monitor_at_point gdk_display_get_monitor_at_surface gdk_display_get_keymap gdk_display_get_setting GDK_DISPLAY GDK_IS_DISPLAY GDK_TYPE_DISPLAY gdk_display_get_type
gdkdisplay-wayland GdkWaylandDisplay GDK_WAYLAND_MAX_THEME_SCALE GDK_WAYLAND_THEME_SCALES_COUNT GDK_ZWP_POINTER_GESTURES_V1_VERSION GsdXftSettings GdkWaylandShellVariant GdkWaylandDisplay GdkWaylandDisplayClass GdkWaylandSelection
gdkdisplay-x11 GdkX11Display GdkX11Display GdkX11DisplayClass gdk_x11_display_get_max_request_size gdk_x11_display_request_selection_notification
gdkdisplaymanager gdk_display_manager_get gdk_display_manager_get_default_display gdk_display_manager_set_default_display gdk_display_manager_list_displays gdk_display_manager_open_display gdk_set_allowed_backends GDK_DISPLAY_MANAGER GDK_IS_DISPLAY_MANAGER GDK_TYPE_DISPLAY_MANAGER gdk_display_manager_get_type
gdkdrag GdkDragCancelReason gdk_drag_get_display gdk_drag_get_device gdk_drag_get_formats gdk_drag_get_actions gdk_drag_get_selected_action gdk_drag_action_is_unique gdk_drag_begin gdk_drag_drop_done gdk_drag_get_drag_surface gdk_drag_set_hotspot GDK_DRAG GDK_IS_DRAG GDK_TYPE_DRAG gdk_drag_get_type
gdkdrawcontext gdk_draw_context_get_display gdk_draw_context_get_surface gdk_draw_context_begin_frame gdk_draw_context_end_frame gdk_draw_context_is_in_frame gdk_draw_context_get_frame_region GDK_DRAW_CONTEXT GDK_IS_DRAW_CONTEXT GDK_TYPE_DRAW_CONTEXT gdk_draw_context_get_type
gdkdrop gdk_drop_get_display gdk_drop_get_device gdk_drop_get_surface gdk_drop_get_formats gdk_drop_get_actions gdk_drop_get_drag gdk_drop_status gdk_drop_finish gdk_drop_read_async gdk_drop_read_finish gdk_drop_read_value_async gdk_drop_read_value_finish gdk_drop_read_text_async gdk_drop_read_text_finish GDK_DROP GDK_IS_DROP GDK_TYPE_DROP gdk_drop_get_type
gdkenumtypes GDK_TYPE_INPUT_SOURCE GDK_TYPE_INPUT_MODE GDK_TYPE_DEVICE_TYPE GDK_TYPE_DEVICE_PAD_FEATURE GDK_TYPE_DEVICE_TOOL_TYPE GDK_TYPE_DRAG_CANCEL_REASON GDK_TYPE_EVENT_TYPE GDK_TYPE_TOUCHPAD_GESTURE_PHASE GDK_TYPE_SCROLL_DIRECTION GDK_TYPE_NOTIFY_TYPE GDK_TYPE_CROSSING_MODE GDK_TYPE_FRAME_CLOCK_PHASE GDK_TYPE_MEMORY_FORMAT GDK_TYPE_SUBPIXEL_LAYOUT GDK_TYPE_PAINTABLE_FLAGS GDK_TYPE_SEAT_CAPABILITIES GDK_TYPE_SURFACE_TYPE GDK_TYPE_SURFACE_HINTS GDK_TYPE_WM_DECORATION GDK_TYPE_WM_FUNCTION GDK_TYPE_GRAVITY GDK_TYPE_ANCHOR_HINTS GDK_TYPE_SURFACE_EDGE GDK_TYPE_FULLSCREEN_MODE GDK_TYPE_SURFACE_STATE GDK_TYPE_BYTE_ORDER GDK_TYPE_MODIFIER_TYPE GDK_TYPE_MODIFIER_INTENT GDK_TYPE_GRAB_STATUS GDK_TYPE_GRAB_OWNERSHIP GDK_TYPE_EVENT_MASK GDK_TYPE_GL_ERROR GDK_TYPE_VULKAN_ERROR GDK_TYPE_SURFACE_TYPE_HINT GDK_TYPE_AXIS_USE GDK_TYPE_AXIS_FLAGS GDK_TYPE_DRAG_ACTION
gdkevents GDK_PRIORITY_EVENTS GDK_PRIORITY_REDRAW GDK_EVENT_PROPAGATE GDK_EVENT_STOP GDK_BUTTON_PRIMARY GDK_BUTTON_MIDDLE GDK_BUTTON_SECONDARY GdkEventType GdkTouchpadGesturePhase GdkScrollDirection GdkNotifyType GdkCrossingMode gdk_event_new gdk_event_copy gdk_event_get_surface gdk_event_get_time gdk_event_get_state gdk_event_get_coords gdk_event_set_coords gdk_event_get_root_coords gdk_event_get_button gdk_event_get_click_count gdk_event_get_keyval gdk_event_set_keyval gdk_event_get_keycode gdk_event_get_key_is_modifier gdk_event_get_key_group gdk_event_get_scroll_direction gdk_event_get_scroll_deltas gdk_event_is_scroll_stop_event gdk_event_get_axis gdk_event_set_device gdk_event_get_device gdk_event_set_source_device gdk_event_get_source_device gdk_event_triggers_context_menu gdk_events_get_distance gdk_events_get_angle gdk_events_get_center gdk_event_set_display gdk_event_get_display gdk_event_get_event_sequence gdk_event_get_event_type gdk_event_get_seat gdk_set_show_events gdk_get_show_events gdk_event_get_device_tool gdk_event_set_device_tool gdk_event_get_scancode gdk_event_get_pointer_emulated gdk_event_is_sent gdk_event_get_drop gdk_event_get_crossing_mode gdk_event_get_crossing_detail gdk_event_get_touchpad_gesture_phase gdk_event_get_touchpad_gesture_n_fingers gdk_event_get_touchpad_deltas gdk_event_get_touchpad_angle_delta gdk_event_get_touchpad_scale gdk_event_get_touch_emulating_pointer gdk_event_get_grab_surface gdk_event_get_focus_in gdk_event_get_pad_group_mode gdk_event_get_pad_button gdk_event_get_pad_axis_value gdk_event_get_axes gdk_event_get_motion_history GdkEventAny GdkEventButton GdkEventConfigure GdkEventCrossing GdkEventDND GdkEventFocus GdkEventGrabBroken GdkEventKey GdkEventMotion GdkEventPadAxis GdkEventPadButton GdkEventPadGroupMode GdkEventProximity GdkEventScroll GdkEventSetting GdkEventTouch GdkEventTouchpadPinch GdkEventTouchpadSwipe GDK_EVENT GDK_IS_EVENT GDK_TYPE_EVENT GDK_TYPE_EVENT_SEQUENCE GdkEvent GdkEventSequence gdk_event_get_type gdk_event_sequence_get_type
gdkeventsource gdk_x11_event_source_new gdk_x11_event_source_add_translator gdk_x11_event_source_select_events gdk_event_source_xevent GdkEventSource
gdkeventtranslator GdkEventTranslator GDK_EVENT_TRANSLATOR GDK_EVENT_TRANSLATOR_GET_IFACE GDK_IS_EVENT_TRANSLATOR GDK_TYPE_EVENT_TRANSLATOR GdkEventTranslator GdkEventTranslatorIface
gdkframeclock GdkFrameClockPhase gdk_frame_clock_get_frame_time gdk_frame_clock_request_phase gdk_frame_clock_begin_updating gdk_frame_clock_end_updating gdk_frame_clock_get_frame_counter gdk_frame_clock_get_history_start gdk_frame_clock_get_timings gdk_frame_clock_get_current_timings gdk_frame_clock_get_refresh_info GDK_FRAME_CLOCK GDK_FRAME_CLOCK_CLASS GDK_FRAME_CLOCK_GET_CLASS GDK_IS_FRAME_CLOCK GDK_TYPE_FRAME_CLOCK GdkFrameClock GdkFrameClockClass GdkFrameClockPrivate gdk_frame_clock_get_type
gdkframetimings gdk_frame_timings_ref gdk_frame_timings_unref gdk_frame_timings_get_frame_counter gdk_frame_timings_get_complete gdk_frame_timings_get_frame_time gdk_frame_timings_get_presentation_time gdk_frame_timings_get_refresh_interval gdk_frame_timings_get_predicted_presentation_time GdkFrameTimings gdk_frame_timings_get_type
gdkglcontext GDK_GL_ERROR gdk_gl_error_quark gdk_gl_context_get_display gdk_gl_context_get_surface gdk_gl_context_get_shared_context gdk_gl_context_get_version gdk_gl_context_is_legacy gdk_gl_context_set_required_version gdk_gl_context_get_required_version gdk_gl_context_set_debug_enabled gdk_gl_context_get_debug_enabled gdk_gl_context_set_forward_compatible gdk_gl_context_get_forward_compatible gdk_gl_context_set_use_es gdk_gl_context_get_use_es gdk_gl_context_realize gdk_gl_context_make_current gdk_gl_context_get_current gdk_gl_context_clear_current GDK_GL_CONTEXT GDK_IS_GL_CONTEXT GDK_TYPE_GL_CONTEXT gdk_gl_context_get_type
gdkglcontext-wayland GdkWaylandGLContext GdkWaylandGLContext GdkWaylandGLContextClass gdk_wayland_display_init_gl gdk_wayland_surface_create_gl_context gdk_wayland_display_make_gl_context_current
gdkglcontext-x11 GdkX11GLContext GdkX11GLContext GdkX11GLContextClass gdk_x11_screen_init_gl gdk_x11_surface_create_gl_context gdk_x11_display_make_gl_context_current
gdkgltexture gdk_gl_texture_new gdk_gl_texture_release GDK_GL_TEXTURE GDK_IS_GL_TEXTURE GDK_TYPE_GL_TEXTURE GdkGLTexture GdkGLTextureClass gdk_gl_texture_get_type
gdkkeys GdkKeymapKey gdk_keymap_get_display gdk_keymap_lookup_key gdk_keymap_translate_keyboard_state gdk_keymap_get_entries_for_keyval gdk_keymap_get_entries_for_keycode gdk_keymap_get_direction gdk_keymap_have_bidi_layouts gdk_keymap_get_caps_lock_state gdk_keymap_get_num_lock_state gdk_keymap_get_scroll_lock_state gdk_keymap_get_modifier_state gdk_keymap_add_virtual_modifiers gdk_keymap_map_virtual_modifiers gdk_keymap_get_modifier_mask gdk_keyval_name gdk_keyval_from_name gdk_keyval_convert_case gdk_keyval_to_upper gdk_keyval_to_lower gdk_keyval_is_upper gdk_keyval_is_lower gdk_keyval_to_unicode gdk_unicode_to_keyval GDK_IS_KEYMAP GDK_KEYMAP GDK_TYPE_KEYMAP gdk_keymap_get_type
gdkmemorytexture GdkMemoryFormat GDK_MEMORY_DEFAULT gdk_memory_texture_new GDK_IS_MEMORY_TEXTURE GDK_MEMORY_TEXTURE GDK_TYPE_MEMORY_TEXTURE GdkMemoryTexture GdkMemoryTextureClass gdk_memory_texture_get_type
gdkmonitor GdkSubpixelLayout gdk_monitor_get_display gdk_monitor_get_geometry gdk_monitor_get_workarea gdk_monitor_get_width_mm gdk_monitor_get_height_mm gdk_monitor_get_manufacturer gdk_monitor_get_model gdk_monitor_get_scale_factor gdk_monitor_get_refresh_rate gdk_monitor_get_subpixel_layout gdk_monitor_is_primary gdk_monitor_is_valid GDK_IS_MONITOR GDK_MONITOR GDK_TYPE_MONITOR GdkMonitor GdkMonitorClass gdk_monitor_get_type
gdkmonitor-wayland GdkWaylandMonitor GdkWaylandMonitor GdkWaylandMonitorClass
gdkmonitor-x11 GdkX11Monitor GdkX11Monitor GdkX11MonitorClass
gdkpaintable GdkPaintable GDK_TYPE_PAINTABLE GdkPaintableFlags GdkPaintableInterface gdk_paintable_snapshot gdk_paintable_get_current_image gdk_paintable_get_flags gdk_paintable_get_intrinsic_width gdk_paintable_get_intrinsic_height gdk_paintable_get_intrinsic_aspect_ratio gdk_paintable_compute_concrete_size gdk_paintable_invalidate_contents gdk_paintable_invalidate_size gdk_paintable_new_empty GdkPaintable
gdkpango gdk_pango_layout_line_get_clip_region gdk_pango_layout_get_clip_region
gdkpixbuf gdk_pixbuf_get_from_surface
gdkprimary-wayland gdk_wayland_primary_new GDK_IS_WAYLAND_PRIMARY GDK_TYPE_WAYLAND_PRIMARY GDK_WAYLAND_PRIMARY GdkWaylandPrimary gdk_wayland_primary_get_type
gdkprivate-wayland WL_SURFACE_HAS_BUFFER_SCALE WL_POINTER_HAS_FRAME gdk_wayland_display_system_bell gdk_wayland_surface_sync gdk_wayland_surface_request_frame gdk_wayland_surface_attach_image gdk_wayland_drop_new gdk_wayland_drop_set_source_actions gdk_wayland_drop_set_action gdk_wayland_device_get_data_device gdk_wayland_device_set_selection gdk_wayland_device_get_drop_context gdk_wayland_device_unset_touch_grab gdk_wayland_display_get_toplevel_surfaces gdk_wayland_display_get_output_refresh_rate gdk_wayland_display_get_output_scale gdk_wayland_display_get_wl_output gdk_wayland_surface_get_egl_surface gdk_wayland_surface_get_dummy_egl_surface gdk_wayland_surface_get_gtk_surface gdk_wayland_seat_set_global_cursor gdk_wayland_seat_set_drag gdk_wayland_surface_get_wl_output gdk_wayland_surface_inhibit_shortcuts gdk_wayland_surface_restore_shortcuts gdk_wayland_surface_update_scale GDK_SURFACE_IS_WAYLAND
gdkproperty gdk_text_property_to_utf8_list_for_display gdk_utf8_to_string_target
gdkrectangle gdk_rectangle_intersect gdk_rectangle_union gdk_rectangle_equal gdk_rectangle_contains_point GDK_TYPE_RECTANGLE gdk_rectangle_get_type
gdkresources
gdkrgba gdk_rgba_copy gdk_rgba_free gdk_rgba_is_clear gdk_rgba_is_opaque gdk_rgba_hash gdk_rgba_equal gdk_rgba_parse gdk_rgba_to_string GDK_TYPE_RGBA GdkRGBA gdk_rgba_get_type
gdkrgbaprivate gdk_rgba_parser_parse
gdkscreen-x11 GdkX11Screen GdkX11Screen GdkX11ScreenClass gdk_x11_screen_get_work_area gdk_x11_screen_get_setting
gdkseat GdkSeatCapabilities GdkSeatGrabPrepareFunc gdk_seat_grab gdk_seat_ungrab gdk_seat_get_display gdk_seat_get_capabilities gdk_seat_get_slaves gdk_seat_get_pointer gdk_seat_get_keyboard gdk_seat_get_master_pointers GDK_IS_SEAT GDK_SEAT GDK_TYPE_SEAT GdkSeat gdk_seat_get_type
gdkseat-wayland GdkWaylandSeat gdk_wayland_seat_update_cursor_scale GDK_IS_WAYLAND_SEAT GDK_TYPE_WAYLAND_SEAT GDK_WAYLAND_SEAT GDK_WAYLAND_SEAT_CLASS GDK_WAYLAND_SEAT_GET_CLASS GdkWaylandSeat GdkWaylandSeatClass gdk_wayland_seat_get_type
gdkselectioninputstream-x11 GdkX11SelectionInputStream gdk_x11_selection_input_stream_new_async gdk_x11_selection_input_stream_new_finish GDK_IS_X11_SELECTION_INPUT_STREAM GDK_TYPE_X11_SELECTION_INPUT_STREAM GDK_X11_SELECTION_INPUT_STREAM GDK_X11_SELECTION_INPUT_STREAM_CLASS GDK_X11_SELECTION_INPUT_STREAM_GET_CLASS GdkX11SelectionInputStream GdkX11SelectionInputStreamClass gdk_x11_selection_input_stream_get_type
gdkselectionoutputstream-x11 GdkX11SelectionOutputStream GdkX11SelectionOutputHandler gdk_x11_selection_output_streams_create GDK_IS_X11_SELECTION_OUTPUT_STREAM GDK_TYPE_X11_SELECTION_OUTPUT_STREAM GDK_X11_SELECTION_OUTPUT_STREAM GDK_X11_SELECTION_OUTPUT_STREAM_CLASS GDK_X11_SELECTION_OUTPUT_STREAM_GET_CLASS GdkX11SelectionOutputStream GdkX11SelectionOutputStreamClass gdk_x11_selection_output_stream_get_type
gdksnapshot GDK_IS_SNAPSHOT GDK_SNAPSHOT GDK_TYPE_SNAPSHOT GdkSnapshotClass gdk_snapshot_get_type
gdksurface GdkSurface GdkSurfaceType GdkSurfaceHints GdkWMDecoration GdkWMFunction GdkGravity GdkAnchorHints GdkSurfaceEdge GdkFullscreenMode GdkGeometry GdkSurfaceState gdk_surface_new_toplevel gdk_surface_new_popup gdk_surface_new_temp gdk_surface_new_child gdk_surface_destroy gdk_surface_get_surface_type gdk_surface_is_destroyed gdk_surface_get_display gdk_surface_show gdk_surface_hide gdk_surface_show_unraised gdk_surface_move gdk_surface_resize gdk_surface_move_resize gdk_surface_move_to_rect gdk_surface_raise gdk_surface_lower gdk_surface_restack gdk_surface_focus gdk_surface_get_accept_focus gdk_surface_set_accept_focus gdk_surface_get_focus_on_map gdk_surface_set_focus_on_map gdk_surface_input_shape_combine_region gdk_surface_set_child_input_shapes gdk_surface_merge_child_input_shapes gdk_surface_set_pass_through gdk_surface_get_pass_through gdk_surface_is_visible gdk_surface_is_viewable gdk_surface_is_input_only gdk_surface_get_state gdk_surface_has_native gdk_surface_set_type_hint gdk_surface_get_type_hint gdk_surface_get_modal_hint gdk_surface_set_modal_hint gdk_surface_set_geometry_hints gdk_surface_set_title gdk_surface_set_startup_id gdk_surface_set_transient_for gdk_surface_set_cursor gdk_surface_get_cursor gdk_surface_set_device_cursor gdk_surface_get_device_cursor gdk_surface_get_geometry gdk_surface_get_width gdk_surface_get_height gdk_surface_get_position gdk_surface_get_origin gdk_surface_get_root_coords gdk_surface_coords_to_parent gdk_surface_coords_from_parent gdk_surface_get_root_origin gdk_surface_get_frame_extents gdk_surface_get_scale_factor gdk_surface_get_device_position gdk_surface_get_parent gdk_surface_get_toplevel gdk_surface_get_children gdk_surface_peek_children gdk_surface_set_icon_list gdk_surface_set_icon_name gdk_surface_set_decorations gdk_surface_get_decorations gdk_surface_set_functions gdk_surface_create_similar_surface gdk_surface_beep gdk_surface_iconify gdk_surface_deiconify gdk_surface_stick gdk_surface_unstick gdk_surface_maximize gdk_surface_unmaximize gdk_surface_fullscreen gdk_surface_fullscreen_on_monitor gdk_surface_set_fullscreen_mode gdk_surface_get_fullscreen_mode gdk_surface_unfullscreen gdk_surface_set_keep_above gdk_surface_set_keep_below gdk_surface_set_opacity gdk_surface_register_dnd gdk_surface_begin_resize_drag gdk_surface_begin_resize_drag_for_device gdk_surface_begin_move_drag gdk_surface_begin_move_drag_for_device gdk_surface_queue_expose gdk_surface_freeze_updates gdk_surface_thaw_updates gdk_surface_constrain_size gdk_surface_set_support_multidevice gdk_surface_get_support_multidevice gdk_surface_get_frame_clock gdk_surface_set_opaque_region gdk_surface_set_shadow_width gdk_surface_show_window_menu gdk_surface_create_cairo_context gdk_surface_create_gl_context gdk_surface_create_vulkan_context GDK_IS_SURFACE GDK_SURFACE GDK_SURFACE_CLASS GDK_SURFACE_GET_CLASS GDK_TYPE_SURFACE GdkSurfaceClass gdk_surface_get_type
gdksurface-x11 GdkSurfaceImplX11 GdkToplevelX11 gdk_x11_surface_pre_damage GdkXPositionInfo GDK_IS_SURFACE_IMPL_X11 GDK_SURFACE_IMPL_X11 GDK_SURFACE_IMPL_X11_CLASS GDK_SURFACE_IMPL_X11_GET_CLASS GDK_TYPE_SURFACE_IMPL_X11 GdkSurfaceImplX11 GdkSurfaceImplX11Class gdk_surface_impl_x11_get_type
gdktextlistconverter-x11 gdk_x11_text_list_converter_to_utf8_new gdk_x11_text_list_converter_from_utf8_new GDK_IS_X11_TEXT_LIST_CONVERTER GDK_TYPE_X11_TEXT_LIST_CONVERTER GDK_X11_TEXT_LIST_CONVERTER GdkX11TextListConverter gdk_x11_text_list_converter_get_type
gdktexture gdk_texture_new_for_pixbuf gdk_texture_new_from_resource gdk_texture_new_from_file gdk_texture_get_width gdk_texture_get_height gdk_texture_download gdk_texture_save_to_png GDK_IS_TEXTURE GDK_TEXTURE GDK_TYPE_TEXTURE GdkTextureClass gdk_texture_get_type
gdktypes GDK_CURRENT_TIME GDK_PARENT_RELATIVE GdkPoint GdkRectangle GdkAtom GdkByteOrder GdkModifierType GdkModifierIntent GdkGrabStatus GdkGrabOwnership GdkEventMask GdkGLError GdkVulkanError GdkSurfaceTypeHint GdkAxisUse GdkAxisFlags GdkDragAction GDK_ACTION_ALL GdkAppLaunchContext GdkCairoContext GdkClipboard GdkContentFormats GdkContentProvider GdkCursor GdkDevice GdkDisplay GdkDisplayManager GdkDrag GdkDrawContext GdkDrawingContext GdkDrop GdkGLContext GdkKeymap GdkRGBA GdkSeat GdkSnapshot GdkSurface GdkTexture GdkVulkanContext
gdkversionmacros GDK_MAJOR_VERSION GDK_MINOR_VERSION GDK_MICRO_VERSION GDK_DEPRECATED GDK_DEPRECATED_FOR GDK_UNAVAILABLE GDK_VERSION_3_92 GDK_VERSION_3_94 GDK_VERSION_4_0 GDK_VERSION_CUR_STABLE GDK_VERSION_PREV_STABLE GDK_VERSION_MIN_REQUIRED GDK_VERSION_MAX_ALLOWED GDK_AVAILABLE_IN_ALL GDK_AVAILABLE_IN_4_0 GDK_DEPRECATED_IN_4_0 GDK_DEPRECATED_IN_4_0_FOR
gdkvisual-x11 GdkVisualType gdk_x11_visual_get_xvisual GDK_VISUAL_XVISUAL gdk_x11_screen_lookup_visual GDK_IS_X11_VISUAL GDK_TYPE_X11_VISUAL GDK_X11_VISUAL GDK_X11_VISUAL_CLASS GDK_X11_VISUAL_GET_CLASS GdkX11Visual GdkX11VisualClass gdk_x11_visual_get_type
gdkvulkancontext GDK_VULKAN_ERROR gdk_vulkan_error_quark gdk_vulkan_strerror gdk_vulkan_context_get_instance gdk_vulkan_context_get_physical_device gdk_vulkan_context_get_device gdk_vulkan_context_get_queue gdk_vulkan_context_get_queue_family_index gdk_vulkan_context_get_image_format gdk_vulkan_context_get_n_images gdk_vulkan_context_get_image gdk_vulkan_context_get_draw_index gdk_vulkan_context_get_draw_semaphore GDK_IS_VULKAN_CONTEXT GDK_TYPE_VULKAN_CONTEXT GDK_VULKAN_CONTEXT gdk_vulkan_context_get_type
gdkvulkancontext-wayland GdkWaylandVulkanContext VK_USE_PLATFORM_WAYLAND_KHR GDK_IS_WAYLAND_VULKAN_CONTEXT GDK_TYPE_WAYLAND_VULKAN_CONTEXT GDK_WAYLAND_VULKAN_CONTEXT GDK_WAYLAND_VULKAN_CONTEXT_CLASS GDK_WAYLAND_VULKAN_CONTEXT_GET_CLASS GdkWaylandVulkanContext GdkWaylandVulkanContextClass gdk_wayland_vulkan_context_get_type
gdkvulkancontext-x11 GdkX11VulkanContext VK_USE_PLATFORM_XLIB_KHR GDK_IS_X11_VULKAN_CONTEXT GDK_TYPE_X11_VULKAN_CONTEXT GDK_X11_VULKAN_CONTEXT GDK_X11_VULKAN_CONTEXT_CLASS GDK_X11_VULKAN_CONTEXT_GET_CLASS GdkX11VulkanContext GdkX11VulkanContextClass gdk_x11_vulkan_context_get_type
gdkwayland
gdkwaylanddevice gdk_wayland_device_get_wl_seat gdk_wayland_device_get_wl_pointer gdk_wayland_device_get_wl_keyboard gdk_wayland_seat_get_wl_seat gdk_wayland_device_get_node_path gdk_wayland_device_pad_set_feedback GDK_IS_WAYLAND_DEVICE GDK_TYPE_WAYLAND_DEVICE GDK_WAYLAND_DEVICE GDK_WAYLAND_DEVICE_CLASS GDK_WAYLAND_DEVICE_GET_CLASS GdkWaylandDevice GdkWaylandDeviceClass gdk_wayland_device_get_type
gdkwaylanddisplay gdk_wayland_display_get_wl_display gdk_wayland_display_get_wl_compositor gdk_wayland_display_set_cursor_theme gdk_wayland_display_get_startup_notification_id gdk_wayland_display_set_startup_notification_id gdk_wayland_display_prefers_ssd gdk_wayland_display_query_registry GDK_IS_WAYLAND_DISPLAY GDK_TYPE_WAYLAND_DISPLAY GDK_WAYLAND_DISPLAY GDK_WAYLAND_DISPLAY_CLASS GDK_WAYLAND_DISPLAY_GET_CLASS GdkWaylandDisplay GdkWaylandDisplayClass gdk_wayland_display_get_type
gdkwaylandglcontext GdkWaylandGLContext GdkWaylandGLContextClass GDK_TYPE_WAYLAND_GL_CONTEXT GDK_WAYLAND_IS_GL_CONTEXT gdk_wayland_gl_context_get_type
gdkwaylandmonitor gdk_wayland_monitor_get_wl_output GDK_IS_WAYLAND_MONITOR GDK_TYPE_WAYLAND_MONITOR GDK_WAYLAND_MONITOR GdkWaylandMonitor GdkWaylandMonitorClass gdk_wayland_monitor_get_type
gdkwaylandsurface gdk_wayland_surface_new_subsurface gdk_wayland_surface_get_wl_surface gdk_wayland_surface_set_dbus_properties_libgtk_only GdkWaylandSurfaceExported gdk_wayland_surface_export_handle gdk_wayland_surface_unexport_handle gdk_wayland_surface_set_transient_for_exported gdk_wayland_surface_announce_csd GDK_IS_WAYLAND_SURFACE GDK_TYPE_WAYLAND_SURFACE GDK_WAYLAND_SURFACE GDK_WAYLAND_SURFACE_CLASS GDK_WAYLAND_SURFACE_GET_CLASS GdkWaylandSurface GdkWaylandSurfaceClass gdk_wayland_surface_get_type
gdkx
gdkx-autocleanups
gdkx11applaunchcontext GDK_IS_X11_APP_LAUNCH_CONTEXT GDK_TYPE_X11_APP_LAUNCH_CONTEXT GDK_X11_APP_LAUNCH_CONTEXT GDK_X11_APP_LAUNCH_CONTEXT_CLASS GDK_X11_APP_LAUNCH_CONTEXT_GET_CLASS GdkX11AppLaunchContext GdkX11AppLaunchContextClass gdk_x11_app_launch_context_get_type
gdkx11device gdk_x11_device_get_id
gdkx11device-core GDK_IS_X11_DEVICE_CORE GDK_TYPE_X11_DEVICE_CORE GDK_X11_DEVICE_CORE GDK_X11_DEVICE_CORE_CLASS GDK_X11_DEVICE_CORE_GET_CLASS GdkX11DeviceCore GdkX11DeviceCoreClass gdk_x11_device_core_get_type
gdkx11device-xi2 GDK_IS_X11_DEVICE_XI2 GDK_TYPE_X11_DEVICE_XI2 GDK_X11_DEVICE_XI2 GDK_X11_DEVICE_XI2_CLASS GDK_X11_DEVICE_XI2_GET_CLASS GdkX11DeviceXI2 GdkX11DeviceXI2Class gdk_x11_device_xi2_get_type
gdkx11devicemanager gdk_x11_device_manager_lookup gdk_disable_multidevice
gdkx11devicemanager-core GDK_IS_X11_DEVICE_MANAGER_CORE GDK_TYPE_X11_DEVICE_MANAGER_CORE GDK_X11_DEVICE_MANAGER_CORE GDK_X11_DEVICE_MANAGER_CORE_CLASS GDK_X11_DEVICE_MANAGER_CORE_GET_CLASS GdkX11DeviceManagerCore GdkX11DeviceManagerCoreClass gdk_x11_device_manager_core_get_type
gdkx11devicemanager-xi GDK_IS_X11_DEVICE_MANAGER_XI GDK_TYPE_X11_DEVICE_MANAGER_XI GDK_X11_DEVICE_MANAGER_XI GDK_X11_DEVICE_MANAGER_XI_CLASS GDK_X11_DEVICE_MANAGER_XI_GET_CLASS GdkX11DeviceManagerXI GdkX11DeviceManagerXIClass gdk_x11_device_manager_xi_get_type
gdkx11devicemanager-xi2 GDK_IS_X11_DEVICE_MANAGER_XI2 GDK_TYPE_X11_DEVICE_MANAGER_XI2 GDK_X11_DEVICE_MANAGER_XI2 GDK_X11_DEVICE_MANAGER_XI2_CLASS GDK_X11_DEVICE_MANAGER_XI2_GET_CLASS GdkX11DeviceManagerXI2 GdkX11DeviceManagerXI2Class gdk_x11_device_manager_xi2_get_type
gdkx11display gdk_x11_display_open gdk_x11_display_get_xdisplay gdk_x11_display_get_xscreen gdk_x11_display_get_xrootwindow gdk_x11_display_get_xcursor GDK_DISPLAY_XDISPLAY gdk_x11_display_get_user_time gdk_x11_display_get_startup_notification_id gdk_x11_display_set_startup_notification_id gdk_x11_display_set_program_class gdk_x11_display_set_cursor_theme gdk_x11_display_broadcast_startup_message gdk_x11_lookup_xdisplay gdk_x11_display_get_screen gdk_x11_display_grab gdk_x11_display_ungrab gdk_x11_display_set_surface_scale gdk_x11_display_error_trap_push gdk_x11_display_error_trap_pop gdk_x11_display_error_trap_pop_ignored gdk_x11_register_standard_event_type gdk_x11_set_sm_client_id GDK_IS_X11_DISPLAY GDK_TYPE_X11_DISPLAY GDK_X11_DISPLAY GDK_X11_DISPLAY_CLASS GDK_X11_DISPLAY_GET_CLASS GdkX11Display GdkX11DisplayClass gdk_x11_display_get_type
gdkx11dnd GDK_IS_X11_DRAG GDK_TYPE_X11_DRAG GDK_X11_DRAG GDK_X11_DRAG_CLASS GDK_X11_DRAG_GET_CLASS GdkX11Drag GdkX11DragClass gdk_x11_drag_get_type
gdkx11glcontext gdk_x11_display_get_glx_version GdkX11GLContext GdkX11GLContextClass GDK_TYPE_X11_GL_CONTEXT GDK_X11_IS_GL_CONTEXT gdk_x11_gl_context_get_type
gdkx11keys gdk_x11_keymap_get_group_for_state gdk_x11_keymap_key_is_modifier GDK_IS_X11_KEYMAP GDK_TYPE_X11_KEYMAP GDK_X11_KEYMAP GDK_X11_KEYMAP_CLASS GDK_X11_KEYMAP_GET_CLASS GdkX11Keymap GdkX11KeymapClass gdk_x11_keymap_get_type
gdkx11monitor gdk_x11_monitor_get_output GDK_IS_X11_MONITOR GDK_TYPE_X11_MONITOR GDK_X11_MONITOR GdkX11Monitor GdkX11MonitorClass gdk_x11_monitor_get_type
gdkx11property gdk_x11_atom_to_xatom_for_display gdk_x11_xatom_to_atom_for_display gdk_x11_get_xatom_by_name_for_display gdk_x11_get_xatom_name_for_display
gdkx11screen gdk_x11_screen_get_xscreen gdk_x11_screen_get_screen_number gdk_x11_screen_get_window_manager_name gdk_x11_screen_supports_net_wm_hint gdk_x11_screen_get_monitor_output gdk_x11_screen_get_number_of_desktops gdk_x11_screen_get_current_desktop GDK_IS_X11_SCREEN GDK_TYPE_X11_SCREEN GDK_X11_SCREEN GDK_X11_SCREEN_CLASS GDK_X11_SCREEN_GET_CLASS GdkX11Screen GdkX11ScreenClass gdk_x11_screen_get_type
gdkx11selection gdk_x11_display_text_property_to_text_list gdk_x11_free_text_list gdk_x11_display_string_to_compound_text gdk_x11_display_utf8_to_compound_text gdk_x11_free_compound_text
gdkx11surface gdk_x11_surface_get_xid gdk_x11_surface_set_user_time gdk_x11_surface_set_utf8_property gdk_x11_surface_set_theme_variant gdk_x11_surface_move_to_current_desktop gdk_x11_surface_get_desktop gdk_x11_surface_move_to_desktop gdk_x11_surface_set_frame_sync_enabled GDK_SURFACE_XDISPLAY GDK_SURFACE_XID gdk_x11_get_server_time gdk_x11_surface_lookup_for_display gdk_x11_surface_set_skip_taskbar_hint gdk_x11_surface_set_skip_pager_hint gdk_x11_surface_set_urgency_hint gdk_x11_surface_set_group gdk_x11_surface_get_group GDK_IS_X11_SURFACE GDK_TYPE_X11_SURFACE GDK_X11_SURFACE GDK_X11_SURFACE_CLASS GDK_X11_SURFACE_GET_CLASS GdkX11Surface GdkX11SurfaceClass gdk_x11_surface_get_type
gdkx11utils GDK_XID_TO_POINTER GDK_POINTER_TO_XID
wm-button-layout-translation translate_wm_button_layout_to_gtk
xdg-output-unstable-v1-client-protocol ZXDG_OUTPUT_MANAGER_V1_DESTROY ZXDG_OUTPUT_MANAGER_V1_GET_XDG_OUTPUT ZXDG_OUTPUT_MANAGER_V1_DESTROY_SINCE_VERSION ZXDG_OUTPUT_MANAGER_V1_GET_XDG_OUTPUT_SINCE_VERSION zxdg_output_manager_v1_set_user_data zxdg_output_manager_v1_get_user_data zxdg_output_manager_v1_get_version zxdg_output_manager_v1_destroy zxdg_output_manager_v1_get_xdg_output zxdg_output_v1_listener zxdg_output_v1_add_listener ZXDG_OUTPUT_V1_DESTROY ZXDG_OUTPUT_V1_LOGICAL_POSITION_SINCE_VERSION ZXDG_OUTPUT_V1_LOGICAL_SIZE_SINCE_VERSION ZXDG_OUTPUT_V1_DONE_SINCE_VERSION ZXDG_OUTPUT_V1_NAME_SINCE_VERSION ZXDG_OUTPUT_V1_DESCRIPTION_SINCE_VERSION ZXDG_OUTPUT_V1_DESTROY_SINCE_VERSION zxdg_output_v1_set_user_data zxdg_output_v1_get_user_data zxdg_output_v1_get_version zxdg_output_v1_destroy wl_output zxdg_output_manager_v1 zxdg_output_v1
xdg-shell-client-protocol XDG_WM_BASE_ERROR_ENUM xdg_wm_base_error xdg_wm_base_listener xdg_wm_base_add_listener XDG_WM_BASE_DESTROY XDG_WM_BASE_CREATE_POSITIONER XDG_WM_BASE_GET_XDG_SURFACE XDG_WM_BASE_PONG XDG_WM_BASE_PING_SINCE_VERSION XDG_WM_BASE_DESTROY_SINCE_VERSION XDG_WM_BASE_CREATE_POSITIONER_SINCE_VERSION XDG_WM_BASE_GET_XDG_SURFACE_SINCE_VERSION XDG_WM_BASE_PONG_SINCE_VERSION xdg_wm_base_set_user_data xdg_wm_base_get_user_data xdg_wm_base_get_version xdg_wm_base_destroy xdg_wm_base_create_positioner xdg_wm_base_get_xdg_surface xdg_wm_base_pong XDG_POSITIONER_ERROR_ENUM xdg_positioner_error XDG_POSITIONER_ANCHOR_ENUM xdg_positioner_anchor XDG_POSITIONER_GRAVITY_ENUM xdg_positioner_gravity XDG_POSITIONER_CONSTRAINT_ADJUSTMENT_ENUM xdg_positioner_constraint_adjustment XDG_POSITIONER_DESTROY XDG_POSITIONER_SET_SIZE XDG_POSITIONER_SET_ANCHOR_RECT XDG_POSITIONER_SET_ANCHOR XDG_POSITIONER_SET_GRAVITY XDG_POSITIONER_SET_CONSTRAINT_ADJUSTMENT XDG_POSITIONER_SET_OFFSET XDG_POSITIONER_DESTROY_SINCE_VERSION XDG_POSITIONER_SET_SIZE_SINCE_VERSION XDG_POSITIONER_SET_ANCHOR_RECT_SINCE_VERSION XDG_POSITIONER_SET_ANCHOR_SINCE_VERSION XDG_POSITIONER_SET_GRAVITY_SINCE_VERSION XDG_POSITIONER_SET_CONSTRAINT_ADJUSTMENT_SINCE_VERSION XDG_POSITIONER_SET_OFFSET_SINCE_VERSION xdg_positioner_set_user_data xdg_positioner_get_user_data xdg_positioner_get_version xdg_positioner_destroy xdg_positioner_set_size xdg_positioner_set_anchor_rect xdg_positioner_set_anchor xdg_positioner_set_gravity xdg_positioner_set_constraint_adjustment xdg_positioner_set_offset XDG_SURFACE_ERROR_ENUM xdg_surface_error xdg_surface_listener xdg_surface_add_listener XDG_SURFACE_DESTROY XDG_SURFACE_GET_TOPLEVEL XDG_SURFACE_GET_POPUP XDG_SURFACE_SET_WINDOW_GEOMETRY XDG_SURFACE_ACK_CONFIGURE XDG_SURFACE_CONFIGURE_SINCE_VERSION XDG_SURFACE_DESTROY_SINCE_VERSION XDG_SURFACE_GET_TOPLEVEL_SINCE_VERSION XDG_SURFACE_GET_POPUP_SINCE_VERSION XDG_SURFACE_SET_WINDOW_GEOMETRY_SINCE_VERSION XDG_SURFACE_ACK_CONFIGURE_SINCE_VERSION xdg_surface_set_user_data xdg_surface_get_user_data xdg_surface_get_version xdg_surface_destroy xdg_surface_get_toplevel xdg_surface_get_popup xdg_surface_set_window_geometry xdg_surface_ack_configure XDG_TOPLEVEL_RESIZE_EDGE_ENUM xdg_toplevel_resize_edge XDG_TOPLEVEL_STATE_ENUM xdg_toplevel_state XDG_TOPLEVEL_STATE_TILED_LEFT_SINCE_VERSION XDG_TOPLEVEL_STATE_TILED_RIGHT_SINCE_VERSION XDG_TOPLEVEL_STATE_TILED_TOP_SINCE_VERSION XDG_TOPLEVEL_STATE_TILED_BOTTOM_SINCE_VERSION xdg_toplevel_listener xdg_toplevel_add_listener XDG_TOPLEVEL_DESTROY XDG_TOPLEVEL_SET_PARENT XDG_TOPLEVEL_SET_TITLE XDG_TOPLEVEL_SET_APP_ID XDG_TOPLEVEL_SHOW_WINDOW_MENU XDG_TOPLEVEL_MOVE XDG_TOPLEVEL_RESIZE XDG_TOPLEVEL_SET_MAX_SIZE XDG_TOPLEVEL_SET_MIN_SIZE XDG_TOPLEVEL_SET_MAXIMIZED XDG_TOPLEVEL_UNSET_MAXIMIZED XDG_TOPLEVEL_SET_FULLSCREEN XDG_TOPLEVEL_UNSET_FULLSCREEN XDG_TOPLEVEL_SET_MINIMIZED XDG_TOPLEVEL_CONFIGURE_SINCE_VERSION XDG_TOPLEVEL_CLOSE_SINCE_VERSION XDG_TOPLEVEL_DESTROY_SINCE_VERSION XDG_TOPLEVEL_SET_PARENT_SINCE_VERSION XDG_TOPLEVEL_SET_TITLE_SINCE_VERSION XDG_TOPLEVEL_SET_APP_ID_SINCE_VERSION XDG_TOPLEVEL_SHOW_WINDOW_MENU_SINCE_VERSION XDG_TOPLEVEL_MOVE_SINCE_VERSION XDG_TOPLEVEL_RESIZE_SINCE_VERSION XDG_TOPLEVEL_SET_MAX_SIZE_SINCE_VERSION XDG_TOPLEVEL_SET_MIN_SIZE_SINCE_VERSION XDG_TOPLEVEL_SET_MAXIMIZED_SINCE_VERSION XDG_TOPLEVEL_UNSET_MAXIMIZED_SINCE_VERSION XDG_TOPLEVEL_SET_FULLSCREEN_SINCE_VERSION XDG_TOPLEVEL_UNSET_FULLSCREEN_SINCE_VERSION XDG_TOPLEVEL_SET_MINIMIZED_SINCE_VERSION xdg_toplevel_set_user_data xdg_toplevel_get_user_data xdg_toplevel_get_version xdg_toplevel_destroy xdg_toplevel_set_parent xdg_toplevel_set_title xdg_toplevel_set_app_id xdg_toplevel_show_window_menu xdg_toplevel_move xdg_toplevel_resize xdg_toplevel_set_max_size xdg_toplevel_set_min_size xdg_toplevel_set_maximized xdg_toplevel_unset_maximized xdg_toplevel_set_fullscreen xdg_toplevel_unset_fullscreen xdg_toplevel_set_minimized XDG_POPUP_ERROR_ENUM xdg_popup_error xdg_popup_listener xdg_popup_add_listener XDG_POPUP_DESTROY XDG_POPUP_GRAB XDG_POPUP_CONFIGURE_SINCE_VERSION XDG_POPUP_POPUP_DONE_SINCE_VERSION XDG_POPUP_DESTROY_SINCE_VERSION XDG_POPUP_GRAB_SINCE_VERSION xdg_popup_set_user_data xdg_popup_get_user_data xdg_popup_get_version xdg_popup_destroy xdg_popup_grab wl_output wl_seat wl_surface xdg_popup xdg_positioner xdg_surface xdg_toplevel xdg_wm_base
xsettings-client gdk_xsettings_root_window_filter gdk_xsettings_manager_window_filter
docs/reference/gdk/gdk4-decl.txt0000664000175000017500000071251213464200073016647 0ustar mclasenmclasen GDK_TYPE_APP_LAUNCH_CONTEXT #define GDK_TYPE_APP_LAUNCH_CONTEXT (gdk_app_launch_context_get_type ()) GDK_APP_LAUNCH_CONTEXT #define GDK_APP_LAUNCH_CONTEXT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_APP_LAUNCH_CONTEXT, GdkAppLaunchContext)) GDK_IS_APP_LAUNCH_CONTEXT #define GDK_IS_APP_LAUNCH_CONTEXT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_APP_LAUNCH_CONTEXT)) gdk_app_launch_context_get_type GType void gdk_app_launch_context_set_desktop void GdkAppLaunchContext *context, gint desktop gdk_app_launch_context_set_timestamp void GdkAppLaunchContext *context, guint32 timestamp gdk_app_launch_context_set_icon void GdkAppLaunchContext *context, GIcon *icon gdk_app_launch_context_set_icon_name void GdkAppLaunchContext *context, const char *icon_name gdk_cairo_get_clip_rectangle gboolean cairo_t *cr, GdkRectangle *rect gdk_cairo_set_source_rgba void cairo_t *cr, const GdkRGBA *rgba gdk_cairo_set_source_pixbuf void cairo_t *cr, const GdkPixbuf *pixbuf, gdouble pixbuf_x, gdouble pixbuf_y gdk_cairo_rectangle void cairo_t *cr, const GdkRectangle *rectangle gdk_cairo_region void cairo_t *cr, const cairo_region_t *region gdk_cairo_region_create_from_surface cairo_region_t * cairo_surface_t *surface gdk_cairo_draw_from_gl void cairo_t *cr, GdkSurface *surface, int source, int source_type, int buffer_scale, int x, int y, int width, int height gdk_cairo_surface_upload_to_gl void cairo_surface_t *surface, int target, int width, int height, GdkGLContext *context GDK_TYPE_CAIRO_CONTEXT #define GDK_TYPE_CAIRO_CONTEXT (gdk_cairo_context_get_type ()) GDK_CAIRO_CONTEXT #define GDK_CAIRO_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_CAIRO_CONTEXT, GdkCairoContext)) GDK_IS_CAIRO_CONTEXT #define GDK_IS_CAIRO_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_CAIRO_CONTEXT)) GDK_CAIRO_ERROR #define GDK_CAIRO_ERROR (gdk_cairo_error_quark ()) gdk_cairo_context_get_type GType void gdk_cairo_context_cairo_create cairo_t * GdkCairoContext *self GDK_CAIRO_CONTEXT_CLASS #define GDK_CAIRO_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_CAIRO_CONTEXT, GdkCairoContextClass)) GDK_IS_CAIRO_CONTEXT_CLASS #define GDK_IS_CAIRO_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_CAIRO_CONTEXT)) GDK_CAIRO_CONTEXT_GET_CLASS #define GDK_CAIRO_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_CAIRO_CONTEXT, GdkCairoContextClass)) GdkCairoContext struct _GdkCairoContext { GdkDrawContext parent_instance; }; GdkCairoContextClass struct _GdkCairoContextClass { GdkDrawContextClass parent_class; cairo_t * (* cairo_create) (GdkCairoContext *self); }; GDK_TYPE_CLIPBOARD #define GDK_TYPE_CLIPBOARD (gdk_clipboard_get_type ()) GDK_CLIPBOARD #define GDK_CLIPBOARD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_CLIPBOARD, GdkClipboard)) GDK_IS_CLIPBOARD #define GDK_IS_CLIPBOARD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_CLIPBOARD)) gdk_clipboard_get_type GType void gdk_clipboard_get_display GdkDisplay * GdkClipboard *clipboard gdk_clipboard_get_formats GdkContentFormats * GdkClipboard *clipboard gdk_clipboard_is_local gboolean GdkClipboard *clipboard gdk_clipboard_get_content GdkContentProvider * GdkClipboard *clipboard gdk_clipboard_store_async void GdkClipboard *clipboard, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data gdk_clipboard_store_finish gboolean GdkClipboard *clipboard, GAsyncResult *result, GError **error gdk_clipboard_read_async void GdkClipboard *clipboard, const char **mime_types, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data gdk_clipboard_read_finish GInputStream * GdkClipboard *clipboard, GAsyncResult *result, const char **out_mime_type, GError **error gdk_clipboard_read_value_async void GdkClipboard *clipboard, GType type, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data gdk_clipboard_read_value_finish const GValue * GdkClipboard *clipboard, GAsyncResult *result, GError **error gdk_clipboard_read_texture_async void GdkClipboard *clipboard, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data gdk_clipboard_read_texture_finish GdkTexture * GdkClipboard *clipboard, GAsyncResult *result, GError **error gdk_clipboard_read_text_async void GdkClipboard *clipboard, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data gdk_clipboard_read_text_finish char * GdkClipboard *clipboard, GAsyncResult *result, GError **error gdk_clipboard_set_content gboolean GdkClipboard *clipboard, GdkContentProvider *provider gdk_clipboard_set void GdkClipboard *clipboard, GType type, ... gdk_clipboard_set_valist void GdkClipboard *clipboard, GType type, va_list args gdk_clipboard_set_value void GdkClipboard *clipboard, const GValue *value gdk_clipboard_set_text void GdkClipboard *clipboard, const char *text gdk_clipboard_set_texture void GdkClipboard *clipboard, GdkTexture *texture G_DEFINE_CONSTRUCTOR #define G_DEFINE_CONSTRUCTOR(_func) G_MSVC_CTOR (_func, G_MSVC_SYMBOL_PREFIX) G_DEFINE_DESTRUCTOR #define G_DEFINE_DESTRUCTOR(_func) G_MSVC_DTOR (_func, G_MSVC_SYMBOL_PREFIX) G_MSVC_CTOR #define G_MSVC_CTOR(_func,_sym_prefix) \ static void _func(void); \ extern int (* _array ## _func)(void); \ int _func ## _wrapper(void) { _func(); g_slist_find (NULL, _array ## _func); return 0; } \ __pragma(comment(linker,"/include:" _sym_prefix # _func "_wrapper")) \ __pragma(section(".CRT$XCU",read)) \ __declspec(allocate(".CRT$XCU")) int (* _array ## _func)(void) = _func ## _wrapper; G_MSVC_DTOR #define G_MSVC_DTOR(_func,_sym_prefix) \ static void _func(void); \ extern int (* _array ## _func)(void); \ int _func ## _constructor(void) { atexit (_func); g_slist_find (NULL, _array ## _func); return 0; } \ __pragma(comment(linker,"/include:" _sym_prefix # _func "_constructor")) \ __pragma(section(".CRT$XCU",read)) \ __declspec(allocate(".CRT$XCU")) int (* _array ## _func)(void) = _func ## _constructor; G_HAS_CONSTRUCTORS #define G_HAS_CONSTRUCTORS 1 G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA #define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1 G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA #define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1 G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS #define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \ section(".CRT$XCU",read) G_DEFINE_DESTRUCTOR_PRAGMA_ARGS #define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \ section(".CRT$XCU",read) GDK_TYPE_CONTENT_DESERIALIZER #define GDK_TYPE_CONTENT_DESERIALIZER (gdk_content_deserializer_get_type ()) GDK_CONTENT_DESERIALIZER #define GDK_CONTENT_DESERIALIZER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_CONTENT_DESERIALIZER, GdkContentDeserializer)) GDK_IS_CONTENT_DESERIALIZER #define GDK_IS_CONTENT_DESERIALIZER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_CONTENT_DESERIALIZER)) GdkContentDeserializeFunc void GdkContentDeserializer *deserializer gdk_content_deserializer_get_type GType void gdk_content_deserializer_get_mime_type const char * GdkContentDeserializer *deserializer gdk_content_deserializer_get_gtype GType GdkContentDeserializer *deserializer gdk_content_deserializer_get_value GValue * GdkContentDeserializer *deserializer gdk_content_deserializer_get_input_stream GInputStream * GdkContentDeserializer *deserializer gdk_content_deserializer_get_priority int GdkContentDeserializer *deserializer gdk_content_deserializer_get_cancellable GCancellable * GdkContentDeserializer *deserializer gdk_content_deserializer_get_user_data gpointer GdkContentDeserializer *deserializer gdk_content_deserializer_set_task_data void GdkContentDeserializer *deserializer, gpointer data, GDestroyNotify notify gdk_content_deserializer_get_task_data gpointer GdkContentDeserializer *deserializer gdk_content_deserializer_return_success void GdkContentDeserializer *deserializer gdk_content_deserializer_return_error void GdkContentDeserializer *deserializer, GError *error gdk_content_formats_union_deserialize_gtypes GdkContentFormats * GdkContentFormats *formats gdk_content_formats_union_deserialize_mime_types GdkContentFormats * GdkContentFormats *formats gdk_content_register_deserializer void const char *mime_type, GType type, GdkContentDeserializeFunc deserialize, gpointer data, GDestroyNotify notify gdk_content_deserialize_async void GInputStream *stream, const char *mime_type, GType type, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data gdk_content_deserialize_finish gboolean GAsyncResult *result, GValue *value, GError **error GdkContentDeserializer GDK_TYPE_CONTENT_FORMATS #define GDK_TYPE_CONTENT_FORMATS (gdk_content_formats_get_type ()) gdk_intern_mime_type const char * const char *string gdk_content_formats_get_type GType void gdk_content_formats_new GdkContentFormats * const char **mime_types, guint n_mime_types gdk_content_formats_new_for_gtype GdkContentFormats * GType type gdk_content_formats_ref GdkContentFormats * GdkContentFormats *formats gdk_content_formats_unref void GdkContentFormats *formats gdk_content_formats_print void GdkContentFormats *formats, GString *string gdk_content_formats_to_string char * GdkContentFormats *formats gdk_content_formats_get_gtypes const GType * GdkContentFormats *formats, gsize *n_gtypes gdk_content_formats_get_mime_types const char * const * GdkContentFormats *formats, gsize *n_mime_types gdk_content_formats_union GdkContentFormats * GdkContentFormats *first, const GdkContentFormats *second gdk_content_formats_match gboolean const GdkContentFormats *first, const GdkContentFormats *second gdk_content_formats_match_gtype GType const GdkContentFormats *first, const GdkContentFormats *second gdk_content_formats_match_mime_type const char * const GdkContentFormats *first, const GdkContentFormats *second gdk_content_formats_contain_gtype gboolean const GdkContentFormats *formats, GType type gdk_content_formats_contain_mime_type gboolean const GdkContentFormats *formats, const char *mime_type GDK_TYPE_CONTENT_FORMATS_BUILDER #define GDK_TYPE_CONTENT_FORMATS_BUILDER (gdk_content_formats_builder_get_type ()) gdk_content_formats_builder_get_type GType void gdk_content_formats_builder_new GdkContentFormatsBuilder * void gdk_content_formats_builder_ref GdkContentFormatsBuilder * GdkContentFormatsBuilder *builder gdk_content_formats_builder_unref void GdkContentFormatsBuilder *builder gdk_content_formats_builder_free_to_formats GdkContentFormats * GdkContentFormatsBuilder *builder gdk_content_formats_builder_to_formats GdkContentFormats * GdkContentFormatsBuilder *builder gdk_content_formats_builder_add_formats void GdkContentFormatsBuilder *builder, const GdkContentFormats *formats gdk_content_formats_builder_add_mime_type void GdkContentFormatsBuilder *builder, const char *mime_type gdk_content_formats_builder_add_gtype void GdkContentFormatsBuilder *builder, GType type GDK_TYPE_FILE_LIST #define GDK_TYPE_FILE_LIST (gdk_file_list_get_type ()) gdk_file_list_get_type GType void GdkContentFormatsBuilder GDK_TYPE_CONTENT_PROVIDER #define GDK_TYPE_CONTENT_PROVIDER (gdk_content_provider_get_type ()) GDK_CONTENT_PROVIDER #define GDK_CONTENT_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_CONTENT_PROVIDER, GdkContentProvider)) GDK_IS_CONTENT_PROVIDER #define GDK_IS_CONTENT_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_CONTENT_PROVIDER)) GDK_CONTENT_PROVIDER_CLASS #define GDK_CONTENT_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_CONTENT_PROVIDER, GdkContentProviderClass)) GDK_IS_CONTENT_PROVIDER_CLASS #define GDK_IS_CONTENT_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_CONTENT_PROVIDER)) GDK_CONTENT_PROVIDER_GET_CLASS #define GDK_CONTENT_PROVIDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_CONTENT_PROVIDER, GdkContentProviderClass)) GdkContentProvider struct _GdkContentProvider { GObject parent; }; GdkContentProviderClass struct _GdkContentProviderClass { GObjectClass parent_class; /* signals */ void (* content_changed) (GdkContentProvider *provider); /* vfuncs */ void (* attach_clipboard) (GdkContentProvider *provider, GdkClipboard *clipboard); void (* detach_clipboard) (GdkContentProvider *provider, GdkClipboard *clipboard); GdkContentFormats * (* ref_formats) (GdkContentProvider *provider); GdkContentFormats * (* ref_storable_formats) (GdkContentProvider *provider); void (* write_mime_type_async) (GdkContentProvider *provider, const char *mime_type, GOutputStream *stream, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); gboolean (* write_mime_type_finish) (GdkContentProvider *provider, GAsyncResult *result, GError **error); gboolean (* get_value) (GdkContentProvider *provider, GValue *value, GError **error); /*< private >*/ /* Padding for future expansion */ void (*_gdk_reserved1) (void); void (*_gdk_reserved2) (void); void (*_gdk_reserved3) (void); void (*_gdk_reserved4) (void); void (*_gdk_reserved5) (void); void (*_gdk_reserved6) (void); void (*_gdk_reserved7) (void); void (*_gdk_reserved8) (void); }; gdk_content_provider_get_type GType void gdk_content_provider_ref_formats GdkContentFormats * GdkContentProvider *provider gdk_content_provider_ref_storable_formats GdkContentFormats * GdkContentProvider *provider gdk_content_provider_content_changed void GdkContentProvider *provider gdk_content_provider_write_mime_type_async void GdkContentProvider *provider, const char *mime_type, GOutputStream *stream, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data gdk_content_provider_write_mime_type_finish gboolean GdkContentProvider *provider, GAsyncResult *result, GError **error gdk_content_provider_get_value gboolean GdkContentProvider *provider, GValue *value, GError **error gdk_content_provider_new_for_value GdkContentProvider * const GValue *value gdk_content_provider_new_for_bytes GdkContentProvider * const char *mime_type, GBytes *bytes GDK_TYPE_CONTENT_SERIALIZER #define GDK_TYPE_CONTENT_SERIALIZER (gdk_content_serializer_get_type ()) GDK_CONTENT_SERIALIZER #define GDK_CONTENT_SERIALIZER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_CONTENT_SERIALIZER, GdkContentSerializer)) GDK_IS_CONTENT_SERIALIZER #define GDK_IS_CONTENT_SERIALIZER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_CONTENT_SERIALIZER)) GdkContentSerializeFunc void GdkContentSerializer *serializer gdk_content_serializer_get_type GType void gdk_content_serializer_get_mime_type const char * GdkContentSerializer *serializer gdk_content_serializer_get_gtype GType GdkContentSerializer *serializer gdk_content_serializer_get_value const GValue * GdkContentSerializer *serializer gdk_content_serializer_get_output_stream GOutputStream * GdkContentSerializer *serializer gdk_content_serializer_get_priority int GdkContentSerializer *serializer gdk_content_serializer_get_cancellable GCancellable * GdkContentSerializer *serializer gdk_content_serializer_get_user_data gpointer GdkContentSerializer *serializer gdk_content_serializer_set_task_data void GdkContentSerializer *serializer, gpointer data, GDestroyNotify notify gdk_content_serializer_get_task_data gpointer GdkContentSerializer *serializer gdk_content_serializer_return_success void GdkContentSerializer *serializer gdk_content_serializer_return_error void GdkContentSerializer *serializer, GError *error gdk_content_formats_union_serialize_gtypes GdkContentFormats * GdkContentFormats *formats gdk_content_formats_union_serialize_mime_types GdkContentFormats * GdkContentFormats *formats gdk_content_register_serializer void GType type, const char *mime_type, GdkContentSerializeFunc serialize, gpointer data, GDestroyNotify notify gdk_content_serialize_async void GOutputStream *stream, const char *mime_type, const GValue *value, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data gdk_content_serialize_finish gboolean GAsyncResult *result, GError **error GdkContentSerializer GDK_TYPE_CURSOR #define GDK_TYPE_CURSOR (gdk_cursor_get_type ()) GDK_CURSOR #define GDK_CURSOR(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_CURSOR, GdkCursor)) GDK_IS_CURSOR #define GDK_IS_CURSOR(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_CURSOR)) gdk_cursor_get_type GType void gdk_cursor_new_from_texture GdkCursor * GdkTexture *texture, int hotspot_x, int hotspot_y, GdkCursor *fallback gdk_cursor_new_from_name GdkCursor * const gchar *name, GdkCursor *fallback gdk_cursor_get_fallback GdkCursor * GdkCursor *cursor gdk_cursor_get_name const char * GdkCursor *cursor gdk_cursor_get_texture GdkTexture * GdkCursor *cursor gdk_cursor_get_hotspot_x int GdkCursor *cursor gdk_cursor_get_hotspot_y int GdkCursor *cursor GDK_TYPE_DEVICE #define GDK_TYPE_DEVICE (gdk_device_get_type ()) GDK_DEVICE #define GDK_DEVICE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_DEVICE, GdkDevice)) GDK_IS_DEVICE #define GDK_IS_DEVICE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_DEVICE)) GdkInputSource typedef enum { GDK_SOURCE_MOUSE, GDK_SOURCE_PEN, GDK_SOURCE_ERASER, GDK_SOURCE_CURSOR, GDK_SOURCE_KEYBOARD, GDK_SOURCE_TOUCHSCREEN, GDK_SOURCE_TOUCHPAD, GDK_SOURCE_TRACKPOINT, GDK_SOURCE_TABLET_PAD } GdkInputSource; GdkInputMode typedef enum { GDK_MODE_DISABLED, GDK_MODE_SCREEN, GDK_MODE_SURFACE } GdkInputMode; GdkDeviceType typedef enum { GDK_DEVICE_TYPE_MASTER, GDK_DEVICE_TYPE_SLAVE, GDK_DEVICE_TYPE_FLOATING } GdkDeviceType; GDK_MAX_TIMECOORD_AXES #define GDK_MAX_TIMECOORD_AXES 128 GdkTimeCoord struct _GdkTimeCoord { guint32 time; gdouble axes[GDK_MAX_TIMECOORD_AXES]; }; gdk_device_get_type GType void gdk_device_get_name const gchar * GdkDevice *device gdk_device_get_has_cursor gboolean GdkDevice *device gdk_device_get_source GdkInputSource GdkDevice *device gdk_device_get_mode GdkInputMode GdkDevice *device gdk_device_set_mode gboolean GdkDevice *device, GdkInputMode mode gdk_device_get_n_keys gint GdkDevice *device gdk_device_get_key gboolean GdkDevice *device, guint index_, guint *keyval, GdkModifierType *modifiers gdk_device_set_key void GdkDevice *device, guint index_, guint keyval, GdkModifierType modifiers gdk_device_get_axis_use GdkAxisUse GdkDevice *device, guint index_ gdk_device_set_axis_use void GdkDevice *device, guint index_, GdkAxisUse use gdk_device_get_state void GdkDevice *device, GdkSurface *surface, gdouble *axes, GdkModifierType *mask gdk_device_get_position void GdkDevice *device, double *x, double *y gdk_device_get_surface_at_position GdkSurface * GdkDevice *device, double *win_x, double *win_y gdk_device_get_history gboolean GdkDevice *device, GdkSurface *surface, guint32 start, guint32 stop, GdkTimeCoord ***events, gint *n_events gdk_device_free_history void GdkTimeCoord **events, gint n_events gdk_device_get_n_axes gint GdkDevice *device gdk_device_list_axes GList * GdkDevice *device gdk_device_get_axis_value gboolean GdkDevice *device, gdouble *axes, GdkAtom axis_label, gdouble *value gdk_device_get_axis gboolean GdkDevice *device, gdouble *axes, GdkAxisUse use, gdouble *value gdk_device_get_display GdkDisplay * GdkDevice *device gdk_device_get_associated_device GdkDevice * GdkDevice *device gdk_device_list_slave_devices GList * GdkDevice *device gdk_device_get_device_type GdkDeviceType GdkDevice *device gdk_device_get_last_event_surface GdkSurface * GdkDevice *device gdk_device_get_vendor_id const gchar * GdkDevice *device gdk_device_get_product_id const gchar * GdkDevice *device gdk_device_get_seat GdkSeat * GdkDevice *device gdk_device_get_axes GdkAxisFlags GdkDevice *device GDK_TYPE_DEVICE_PAD #define GDK_TYPE_DEVICE_PAD (gdk_device_pad_get_type ()) GDK_DEVICE_PAD #define GDK_DEVICE_PAD(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_DEVICE_PAD, GdkDevicePad)) GDK_IS_DEVICE_PAD #define GDK_IS_DEVICE_PAD(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_DEVICE_PAD)) GdkDevicePadFeature typedef enum { GDK_DEVICE_PAD_FEATURE_BUTTON, GDK_DEVICE_PAD_FEATURE_RING, GDK_DEVICE_PAD_FEATURE_STRIP } GdkDevicePadFeature; gdk_device_pad_get_type GType void gdk_device_pad_get_n_groups gint GdkDevicePad *pad gdk_device_pad_get_group_n_modes gint GdkDevicePad *pad, gint group_idx gdk_device_pad_get_n_features gint GdkDevicePad *pad, GdkDevicePadFeature feature gdk_device_pad_get_feature_group gint GdkDevicePad *pad, GdkDevicePadFeature feature, gint feature_idx GdkDevicePad GdkDevicePadInterface GDK_TYPE_DEVICE_TOOL #define GDK_TYPE_DEVICE_TOOL (gdk_device_tool_get_type ()) GDK_DEVICE_TOOL #define GDK_DEVICE_TOOL(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_DEVICE_TOOL, GdkDeviceTool)) GDK_IS_DEVICE_TOOL #define GDK_IS_DEVICE_TOOL(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_DEVICE_TOOL)) GdkDeviceToolType typedef enum { GDK_DEVICE_TOOL_TYPE_UNKNOWN, GDK_DEVICE_TOOL_TYPE_PEN, GDK_DEVICE_TOOL_TYPE_ERASER, GDK_DEVICE_TOOL_TYPE_BRUSH, GDK_DEVICE_TOOL_TYPE_PENCIL, GDK_DEVICE_TOOL_TYPE_AIRBRUSH, GDK_DEVICE_TOOL_TYPE_MOUSE, GDK_DEVICE_TOOL_TYPE_LENS, } GdkDeviceToolType; gdk_device_tool_get_type GType void gdk_device_tool_get_serial guint64 GdkDeviceTool *tool gdk_device_tool_get_hardware_id guint64 GdkDeviceTool *tool gdk_device_tool_get_tool_type GdkDeviceToolType GdkDeviceTool *tool GdkDeviceTool GDK_TYPE_DISPLAY #define GDK_TYPE_DISPLAY (gdk_display_get_type ()) GDK_DISPLAY #define GDK_DISPLAY(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DISPLAY, GdkDisplay)) GDK_IS_DISPLAY #define GDK_IS_DISPLAY(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_DISPLAY)) gdk_display_get_type GType void gdk_display_open GdkDisplay * const gchar *display_name gdk_display_get_name const gchar * GdkDisplay *display gdk_display_device_is_grabbed gboolean GdkDisplay *display, GdkDevice *device gdk_display_beep void GdkDisplay *display gdk_display_sync void GdkDisplay *display gdk_display_flush void GdkDisplay *display gdk_display_close void GdkDisplay *display gdk_display_is_closed gboolean GdkDisplay *display gdk_display_is_composited gboolean GdkDisplay *display gdk_display_is_rgba gboolean GdkDisplay *display gdk_display_get_event GdkEvent * GdkDisplay *display gdk_display_peek_event GdkEvent * GdkDisplay *display gdk_display_put_event void GdkDisplay *display, const GdkEvent *event gdk_display_has_pending gboolean GdkDisplay *display gdk_display_get_default GdkDisplay * void gdk_display_get_default_group GdkSurface * GdkDisplay *display gdk_display_get_clipboard GdkClipboard * GdkDisplay *display gdk_display_get_primary_clipboard GdkClipboard * GdkDisplay *display gdk_display_supports_shapes gboolean GdkDisplay *display gdk_display_supports_input_shapes gboolean GdkDisplay *display gdk_display_notify_startup_complete void GdkDisplay *display, const gchar *startup_id gdk_display_get_startup_notification_id const gchar * GdkDisplay *display gdk_display_get_app_launch_context GdkAppLaunchContext * GdkDisplay *display gdk_display_get_default_seat GdkSeat * GdkDisplay *display gdk_display_list_seats GList * GdkDisplay *display gdk_display_get_n_monitors int GdkDisplay *display gdk_display_get_monitor GdkMonitor * GdkDisplay *display, int monitor_num gdk_display_get_primary_monitor GdkMonitor * GdkDisplay *display gdk_display_get_monitor_at_point GdkMonitor * GdkDisplay *display, int x, int y gdk_display_get_monitor_at_surface GdkMonitor * GdkDisplay *display, GdkSurface *surface gdk_display_get_keymap GdkKeymap * GdkDisplay *display gdk_display_get_setting gboolean GdkDisplay *display, const char *name, GValue *value GDK_TYPE_DISPLAY_MANAGER #define GDK_TYPE_DISPLAY_MANAGER (gdk_display_manager_get_type ()) GDK_DISPLAY_MANAGER #define GDK_DISPLAY_MANAGER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DISPLAY_MANAGER, GdkDisplayManager)) GDK_IS_DISPLAY_MANAGER #define GDK_IS_DISPLAY_MANAGER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_DISPLAY_MANAGER)) gdk_display_manager_get_type GType void gdk_display_manager_get GdkDisplayManager * void gdk_display_manager_get_default_display GdkDisplay * GdkDisplayManager *manager gdk_display_manager_set_default_display void GdkDisplayManager *manager, GdkDisplay *display gdk_display_manager_list_displays GSList * GdkDisplayManager *manager gdk_display_manager_open_display GdkDisplay * GdkDisplayManager *manager, const gchar *name gdk_set_allowed_backends void const gchar *backends GDK_TYPE_DRAG #define GDK_TYPE_DRAG (gdk_drag_get_type ()) GDK_DRAG #define GDK_DRAG(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DRAG, GdkDrag)) GDK_IS_DRAG #define GDK_IS_DRAG(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_DRAG)) GdkDragCancelReason typedef enum { GDK_DRAG_CANCEL_NO_TARGET, GDK_DRAG_CANCEL_USER_CANCELLED, GDK_DRAG_CANCEL_ERROR } GdkDragCancelReason; gdk_drag_get_type GType void gdk_drag_get_display GdkDisplay * GdkDrag *drag gdk_drag_get_device GdkDevice * GdkDrag *drag gdk_drag_get_formats GdkContentFormats * GdkDrag *drag gdk_drag_get_actions GdkDragAction GdkDrag *drag gdk_drag_get_selected_action GdkDragAction GdkDrag *drag gdk_drag_action_is_unique gboolean GdkDragAction action gdk_drag_begin GdkDrag * GdkSurface *surface, GdkDevice *device, GdkContentProvider *content, GdkDragAction actions, gint dx, gint dy gdk_drag_drop_done void GdkDrag *drag, gboolean success gdk_drag_get_drag_surface GdkSurface * GdkDrag *drag gdk_drag_set_hotspot void GdkDrag *drag, gint hot_x, gint hot_y GDK_TYPE_DRAW_CONTEXT #define GDK_TYPE_DRAW_CONTEXT (gdk_draw_context_get_type ()) GDK_DRAW_CONTEXT #define GDK_DRAW_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_DRAW_CONTEXT, GdkDrawContext)) GDK_IS_DRAW_CONTEXT #define GDK_IS_DRAW_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_DRAW_CONTEXT)) gdk_draw_context_get_type GType void gdk_draw_context_get_display GdkDisplay * GdkDrawContext *context gdk_draw_context_get_surface GdkSurface * GdkDrawContext *context gdk_draw_context_begin_frame void GdkDrawContext *context, const cairo_region_t *region gdk_draw_context_end_frame void GdkDrawContext *context gdk_draw_context_is_in_frame gboolean GdkDrawContext *context gdk_draw_context_get_frame_region const cairo_region_t * GdkDrawContext *context GDK_TYPE_DROP #define GDK_TYPE_DROP (gdk_drop_get_type ()) GDK_DROP #define GDK_DROP(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DROP, GdkDrop)) GDK_IS_DROP #define GDK_IS_DROP(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_DROP)) gdk_drop_get_type GType void gdk_drop_get_display GdkDisplay * GdkDrop *self gdk_drop_get_device GdkDevice * GdkDrop *self gdk_drop_get_surface GdkSurface * GdkDrop *self gdk_drop_get_formats GdkContentFormats * GdkDrop *self gdk_drop_get_actions GdkDragAction GdkDrop *self gdk_drop_get_drag GdkDrag * GdkDrop *self gdk_drop_status void GdkDrop *self, GdkDragAction actions gdk_drop_finish void GdkDrop *self, GdkDragAction action gdk_drop_read_async void GdkDrop *self, const char **mime_types, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data gdk_drop_read_finish GInputStream * GdkDrop *self, GAsyncResult *result, const char **out_mime_type, GError **error gdk_drop_read_value_async void GdkDrop *self, GType type, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data gdk_drop_read_value_finish const GValue * GdkDrop *self, GAsyncResult *result, GError **error gdk_drop_read_text_async void GdkDrop *self, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data gdk_drop_read_text_finish char * GdkDrop *self, GAsyncResult *result, GError **error GDK_TYPE_EVENT #define GDK_TYPE_EVENT (gdk_event_get_type ()) GDK_TYPE_EVENT_SEQUENCE #define GDK_TYPE_EVENT_SEQUENCE (gdk_event_sequence_get_type ()) GDK_EVENT #define GDK_EVENT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_EVENT, GdkEvent)) GDK_IS_EVENT #define GDK_IS_EVENT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_EVENT)) GDK_PRIORITY_EVENTS #define GDK_PRIORITY_EVENTS (G_PRIORITY_DEFAULT) GDK_PRIORITY_REDRAW #define GDK_PRIORITY_REDRAW (G_PRIORITY_HIGH_IDLE + 20) GDK_EVENT_PROPAGATE #define GDK_EVENT_PROPAGATE (FALSE) GDK_EVENT_STOP #define GDK_EVENT_STOP (TRUE) GDK_BUTTON_PRIMARY #define GDK_BUTTON_PRIMARY (1) GDK_BUTTON_MIDDLE #define GDK_BUTTON_MIDDLE (2) GDK_BUTTON_SECONDARY #define GDK_BUTTON_SECONDARY (3) GdkEventType typedef enum { GDK_NOTHING, GDK_DELETE, GDK_DESTROY, GDK_MOTION_NOTIFY, GDK_BUTTON_PRESS, GDK_BUTTON_RELEASE, GDK_KEY_PRESS, GDK_KEY_RELEASE, GDK_ENTER_NOTIFY, GDK_LEAVE_NOTIFY, GDK_FOCUS_CHANGE, GDK_CONFIGURE, GDK_PROXIMITY_IN, GDK_PROXIMITY_OUT, GDK_DRAG_ENTER, GDK_DRAG_LEAVE, GDK_DRAG_MOTION, GDK_DROP_START, GDK_SCROLL, GDK_GRAB_BROKEN, GDK_TOUCH_BEGIN, GDK_TOUCH_UPDATE, GDK_TOUCH_END, GDK_TOUCH_CANCEL, GDK_TOUCHPAD_SWIPE, GDK_TOUCHPAD_PINCH, GDK_PAD_BUTTON_PRESS, GDK_PAD_BUTTON_RELEASE, GDK_PAD_RING, GDK_PAD_STRIP, GDK_PAD_GROUP_MODE, GDK_EVENT_LAST /* helper variable for decls */ } GdkEventType; GdkTouchpadGesturePhase typedef enum { GDK_TOUCHPAD_GESTURE_PHASE_BEGIN, GDK_TOUCHPAD_GESTURE_PHASE_UPDATE, GDK_TOUCHPAD_GESTURE_PHASE_END, GDK_TOUCHPAD_GESTURE_PHASE_CANCEL } GdkTouchpadGesturePhase; GdkScrollDirection typedef enum { GDK_SCROLL_UP, GDK_SCROLL_DOWN, GDK_SCROLL_LEFT, GDK_SCROLL_RIGHT, GDK_SCROLL_SMOOTH } GdkScrollDirection; GdkNotifyType typedef enum { GDK_NOTIFY_ANCESTOR = 0, GDK_NOTIFY_VIRTUAL = 1, GDK_NOTIFY_INFERIOR = 2, GDK_NOTIFY_NONLINEAR = 3, GDK_NOTIFY_NONLINEAR_VIRTUAL = 4, GDK_NOTIFY_UNKNOWN = 5 } GdkNotifyType; GdkCrossingMode typedef enum { GDK_CROSSING_NORMAL, GDK_CROSSING_GRAB, GDK_CROSSING_UNGRAB, GDK_CROSSING_GTK_GRAB, GDK_CROSSING_GTK_UNGRAB, GDK_CROSSING_STATE_CHANGED, GDK_CROSSING_TOUCH_BEGIN, GDK_CROSSING_TOUCH_END, GDK_CROSSING_DEVICE_SWITCH } GdkCrossingMode; gdk_event_get_type GType void gdk_event_sequence_get_type GType void gdk_event_new GdkEvent * GdkEventType type gdk_event_copy GdkEvent * const GdkEvent *event gdk_event_get_surface GdkSurface * const GdkEvent *event gdk_event_get_time guint32 const GdkEvent *event gdk_event_get_state gboolean const GdkEvent *event, GdkModifierType *state gdk_event_get_coords gboolean const GdkEvent *event, gdouble *x_win, gdouble *y_win gdk_event_set_coords void GdkEvent *event, gdouble x, gdouble y gdk_event_get_root_coords gboolean const GdkEvent *event, gdouble *x_root, gdouble *y_root gdk_event_get_button gboolean const GdkEvent *event, guint *button gdk_event_get_click_count gboolean const GdkEvent *event, guint *click_count gdk_event_get_keyval gboolean const GdkEvent *event, guint *keyval gdk_event_set_keyval void GdkEvent *event, guint keyval gdk_event_get_keycode gboolean const GdkEvent *event, guint16 *keycode gdk_event_get_key_is_modifier gboolean const GdkEvent *event, gboolean *is_modifier gdk_event_get_key_group gboolean const GdkEvent *event, guint *group gdk_event_get_scroll_direction gboolean const GdkEvent *event, GdkScrollDirection *direction gdk_event_get_scroll_deltas gboolean const GdkEvent *event, gdouble *delta_x, gdouble *delta_y gdk_event_is_scroll_stop_event gboolean const GdkEvent *event gdk_event_get_axis gboolean const GdkEvent *event, GdkAxisUse axis_use, gdouble *value gdk_event_set_device void GdkEvent *event, GdkDevice *device gdk_event_get_device GdkDevice * const GdkEvent *event gdk_event_set_source_device void GdkEvent *event, GdkDevice *device gdk_event_get_source_device GdkDevice * const GdkEvent *event gdk_event_triggers_context_menu gboolean const GdkEvent *event gdk_events_get_distance gboolean GdkEvent *event1, GdkEvent *event2, gdouble *distance gdk_events_get_angle gboolean GdkEvent *event1, GdkEvent *event2, gdouble *angle gdk_events_get_center gboolean GdkEvent *event1, GdkEvent *event2, gdouble *x, gdouble *y gdk_event_set_display void GdkEvent *event, GdkDisplay *display gdk_event_get_display GdkDisplay * const GdkEvent *event gdk_event_get_event_sequence GdkEventSequence * const GdkEvent *event gdk_event_get_event_type GdkEventType const GdkEvent *event gdk_event_get_seat GdkSeat * const GdkEvent *event gdk_set_show_events void gboolean show_events gdk_get_show_events gboolean void gdk_event_get_device_tool GdkDeviceTool * const GdkEvent *event gdk_event_set_device_tool void GdkEvent *event, GdkDeviceTool *tool gdk_event_get_scancode int GdkEvent *event gdk_event_get_pointer_emulated gboolean GdkEvent *event gdk_event_is_sent gboolean const GdkEvent *event gdk_event_get_drop GdkDrop * const GdkEvent *event gdk_event_get_crossing_mode gboolean const GdkEvent *event, GdkCrossingMode *mode gdk_event_get_crossing_detail gboolean const GdkEvent *event, GdkNotifyType *detail gdk_event_get_touchpad_gesture_phase gboolean const GdkEvent *event, GdkTouchpadGesturePhase *phase gdk_event_get_touchpad_gesture_n_fingers gboolean const GdkEvent *event, guint *n_fingers gdk_event_get_touchpad_deltas gboolean const GdkEvent *event, double *dx, double *dy gdk_event_get_touchpad_angle_delta gboolean const GdkEvent *event, double *delta gdk_event_get_touchpad_scale gboolean const GdkEvent *event, double *scale gdk_event_get_touch_emulating_pointer gboolean const GdkEvent *event, gboolean *emulating gdk_event_get_grab_surface gboolean const GdkEvent *event, GdkSurface **surface gdk_event_get_focus_in gboolean const GdkEvent *event, gboolean *focus_in gdk_event_get_pad_group_mode gboolean const GdkEvent *event, guint *group, guint *mode gdk_event_get_pad_button gboolean const GdkEvent *event, guint *button gdk_event_get_pad_axis_value gboolean const GdkEvent *event, guint *index, gdouble *value gdk_event_get_axes gboolean GdkEvent *event, gdouble **axes, guint *n_axes gdk_event_get_motion_history GList * const GdkEvent *event GdkEvent GdkEventAny GdkEventButton GdkEventConfigure GdkEventCrossing GdkEventDND GdkEventFocus GdkEventGrabBroken GdkEventKey GdkEventMotion GdkEventPadAxis GdkEventPadButton GdkEventPadGroupMode GdkEventProximity GdkEventScroll GdkEventSequence GdkEventSetting GdkEventTouch GdkEventTouchpadPinch GdkEventTouchpadSwipe GDK_TYPE_FRAME_CLOCK #define GDK_TYPE_FRAME_CLOCK (gdk_frame_clock_get_type ()) GDK_FRAME_CLOCK #define GDK_FRAME_CLOCK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_FRAME_CLOCK, GdkFrameClock)) GDK_FRAME_CLOCK_CLASS #define GDK_FRAME_CLOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_FRAME_CLOCK, GdkFrameClockClass)) GDK_IS_FRAME_CLOCK #define GDK_IS_FRAME_CLOCK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_FRAME_CLOCK)) GDK_IS_FRAME_CLOCK_CLASS #define GDK_IS_FRAME_CLOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_FRAME_CLOCK)) GDK_FRAME_CLOCK_GET_CLASS #define GDK_FRAME_CLOCK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_FRAME_CLOCK, GdkFrameClockClass)) GdkFrameClockPhase typedef enum { GDK_FRAME_CLOCK_PHASE_NONE = 0, GDK_FRAME_CLOCK_PHASE_FLUSH_EVENTS = 1 << 0, GDK_FRAME_CLOCK_PHASE_BEFORE_PAINT = 1 << 1, GDK_FRAME_CLOCK_PHASE_UPDATE = 1 << 2, GDK_FRAME_CLOCK_PHASE_LAYOUT = 1 << 3, GDK_FRAME_CLOCK_PHASE_PAINT = 1 << 4, GDK_FRAME_CLOCK_PHASE_RESUME_EVENTS = 1 << 5, GDK_FRAME_CLOCK_PHASE_AFTER_PAINT = 1 << 6 } GdkFrameClockPhase; gdk_frame_clock_get_type GType void gdk_frame_clock_get_frame_time gint64 GdkFrameClock *frame_clock gdk_frame_clock_request_phase void GdkFrameClock *frame_clock, GdkFrameClockPhase phase gdk_frame_clock_begin_updating void GdkFrameClock *frame_clock gdk_frame_clock_end_updating void GdkFrameClock *frame_clock gdk_frame_clock_get_frame_counter gint64 GdkFrameClock *frame_clock gdk_frame_clock_get_history_start gint64 GdkFrameClock *frame_clock gdk_frame_clock_get_timings GdkFrameTimings * GdkFrameClock *frame_clock, gint64 frame_counter gdk_frame_clock_get_current_timings GdkFrameTimings * GdkFrameClock *frame_clock gdk_frame_clock_get_refresh_info void GdkFrameClock *frame_clock, gint64 base_time, gint64 *refresh_interval_return, gint64 *presentation_time_return GdkFrameClock GdkFrameClockClass GdkFrameClockPrivate gdk_frame_timings_get_type GType void gdk_frame_timings_ref GdkFrameTimings * GdkFrameTimings *timings gdk_frame_timings_unref void GdkFrameTimings *timings gdk_frame_timings_get_frame_counter gint64 GdkFrameTimings *timings gdk_frame_timings_get_complete gboolean GdkFrameTimings *timings gdk_frame_timings_get_frame_time gint64 GdkFrameTimings *timings gdk_frame_timings_get_presentation_time gint64 GdkFrameTimings *timings gdk_frame_timings_get_refresh_interval gint64 GdkFrameTimings *timings gdk_frame_timings_get_predicted_presentation_time gint64 GdkFrameTimings *timings GdkFrameTimings GDK_TYPE_GL_CONTEXT #define GDK_TYPE_GL_CONTEXT (gdk_gl_context_get_type ()) GDK_GL_CONTEXT #define GDK_GL_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_GL_CONTEXT, GdkGLContext)) GDK_IS_GL_CONTEXT #define GDK_IS_GL_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_GL_CONTEXT)) GDK_GL_ERROR #define GDK_GL_ERROR (gdk_gl_error_quark ()) gdk_gl_error_quark GQuark void gdk_gl_context_get_type GType void gdk_gl_context_get_display GdkDisplay * GdkGLContext *context gdk_gl_context_get_surface GdkSurface * GdkGLContext *context gdk_gl_context_get_shared_context GdkGLContext * GdkGLContext *context gdk_gl_context_get_version void GdkGLContext *context, int *major, int *minor gdk_gl_context_is_legacy gboolean GdkGLContext *context gdk_gl_context_set_required_version void GdkGLContext *context, int major, int minor gdk_gl_context_get_required_version void GdkGLContext *context, int *major, int *minor gdk_gl_context_set_debug_enabled void GdkGLContext *context, gboolean enabled gdk_gl_context_get_debug_enabled gboolean GdkGLContext *context gdk_gl_context_set_forward_compatible void GdkGLContext *context, gboolean compatible gdk_gl_context_get_forward_compatible gboolean GdkGLContext *context gdk_gl_context_set_use_es void GdkGLContext *context, int use_es gdk_gl_context_get_use_es gboolean GdkGLContext *context gdk_gl_context_realize gboolean GdkGLContext *context, GError **error gdk_gl_context_make_current void GdkGLContext *context gdk_gl_context_get_current GdkGLContext * void gdk_gl_context_clear_current void void GDK_TYPE_GL_TEXTURE #define GDK_TYPE_GL_TEXTURE (gdk_gl_texture_get_type ()) GDK_GL_TEXTURE #define GDK_GL_TEXTURE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_GL_TEXTURE, GdkGLTexture)) GDK_IS_GL_TEXTURE #define GDK_IS_GL_TEXTURE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_GL_TEXTURE)) gdk_gl_texture_get_type GType void gdk_gl_texture_new GdkTexture * GdkGLContext *context, guint id, int width, int height, GDestroyNotify destroy, gpointer data gdk_gl_texture_release void GdkGLTexture *self GdkGLTexture GdkGLTextureClass GdkKeymapKey struct _GdkKeymapKey { guint keycode; gint group; gint level; }; GDK_TYPE_KEYMAP #define GDK_TYPE_KEYMAP (gdk_keymap_get_type ()) GDK_KEYMAP #define GDK_KEYMAP(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_KEYMAP, GdkKeymap)) GDK_IS_KEYMAP #define GDK_IS_KEYMAP(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_KEYMAP)) gdk_keymap_get_type GType void gdk_keymap_get_display GdkDisplay * GdkKeymap *keymap gdk_keymap_lookup_key guint GdkKeymap *keymap, const GdkKeymapKey *key gdk_keymap_translate_keyboard_state gboolean GdkKeymap *keymap, guint hardware_keycode, GdkModifierType state, gint group, guint *keyval, gint *effective_group, gint *level, GdkModifierType *consumed_modifiers gdk_keymap_get_entries_for_keyval gboolean GdkKeymap *keymap, guint keyval, GdkKeymapKey **keys, gint *n_keys gdk_keymap_get_entries_for_keycode gboolean GdkKeymap *keymap, guint hardware_keycode, GdkKeymapKey **keys, guint **keyvals, gint *n_entries gdk_keymap_get_direction PangoDirection GdkKeymap *keymap gdk_keymap_have_bidi_layouts gboolean GdkKeymap *keymap gdk_keymap_get_caps_lock_state gboolean GdkKeymap *keymap gdk_keymap_get_num_lock_state gboolean GdkKeymap *keymap gdk_keymap_get_scroll_lock_state gboolean GdkKeymap *keymap gdk_keymap_get_modifier_state guint GdkKeymap *keymap gdk_keymap_add_virtual_modifiers void GdkKeymap *keymap, GdkModifierType *state gdk_keymap_map_virtual_modifiers gboolean GdkKeymap *keymap, GdkModifierType *state gdk_keymap_get_modifier_mask GdkModifierType GdkKeymap *keymap, GdkModifierIntent intent gdk_keyval_name gchar * guint keyval gdk_keyval_from_name guint const gchar *keyval_name gdk_keyval_convert_case void guint symbol, guint *lower, guint *upper gdk_keyval_to_upper guint guint keyval gdk_keyval_to_lower guint guint keyval gdk_keyval_is_upper gboolean guint keyval gdk_keyval_is_lower gboolean guint keyval gdk_keyval_to_unicode guint32 guint keyval gdk_unicode_to_keyval guint guint32 wc GdkMemoryFormat typedef enum { GDK_MEMORY_B8G8R8A8_PREMULTIPLIED, GDK_MEMORY_A8R8G8B8_PREMULTIPLIED, GDK_MEMORY_B8G8R8A8, GDK_MEMORY_A8R8G8B8, GDK_MEMORY_R8G8B8A8, GDK_MEMORY_A8B8G8R8, GDK_MEMORY_R8G8B8, GDK_MEMORY_B8G8R8, GDK_MEMORY_N_FORMATS } GdkMemoryFormat; GDK_MEMORY_DEFAULT #define GDK_MEMORY_DEFAULT GDK_MEMORY_B8G8R8A8_PREMULTIPLIED GDK_TYPE_MEMORY_TEXTURE #define GDK_TYPE_MEMORY_TEXTURE (gdk_memory_texture_get_type ()) GDK_MEMORY_TEXTURE #define GDK_MEMORY_TEXTURE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_MEMORY_TEXTURE, GdkMemoryTexture)) GDK_IS_MEMORY_TEXTURE #define GDK_IS_MEMORY_TEXTURE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_MEMORY_TEXTURE)) gdk_memory_texture_get_type GType void gdk_memory_texture_new GdkTexture * int width, int height, GdkMemoryFormat format, GBytes *bytes, gsize stride GdkMemoryTexture GdkMemoryTextureClass GDK_TYPE_MONITOR #define GDK_TYPE_MONITOR (gdk_monitor_get_type ()) GDK_MONITOR #define GDK_MONITOR(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_MONITOR, GdkMonitor)) GDK_IS_MONITOR #define GDK_IS_MONITOR(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_MONITOR)) GdkSubpixelLayout typedef enum { GDK_SUBPIXEL_LAYOUT_UNKNOWN, GDK_SUBPIXEL_LAYOUT_NONE, GDK_SUBPIXEL_LAYOUT_HORIZONTAL_RGB, GDK_SUBPIXEL_LAYOUT_HORIZONTAL_BGR, GDK_SUBPIXEL_LAYOUT_VERTICAL_RGB, GDK_SUBPIXEL_LAYOUT_VERTICAL_BGR } GdkSubpixelLayout; gdk_monitor_get_type GType void gdk_monitor_get_display GdkDisplay * GdkMonitor *monitor gdk_monitor_get_geometry void GdkMonitor *monitor, GdkRectangle *geometry gdk_monitor_get_workarea void GdkMonitor *monitor, GdkRectangle *workarea gdk_monitor_get_width_mm int GdkMonitor *monitor gdk_monitor_get_height_mm int GdkMonitor *monitor gdk_monitor_get_manufacturer const char * GdkMonitor *monitor gdk_monitor_get_model const char * GdkMonitor *monitor gdk_monitor_get_scale_factor int GdkMonitor *monitor gdk_monitor_get_refresh_rate int GdkMonitor *monitor gdk_monitor_get_subpixel_layout GdkSubpixelLayout GdkMonitor *monitor gdk_monitor_is_primary gboolean GdkMonitor *monitor gdk_monitor_is_valid gboolean GdkMonitor *monitor GdkMonitor GdkMonitorClass GDK_TYPE_PAINTABLE #define GDK_TYPE_PAINTABLE (gdk_paintable_get_type ()) GdkPaintableFlags typedef enum { GDK_PAINTABLE_STATIC_SIZE = 1 << 0, GDK_PAINTABLE_STATIC_CONTENTS = 1 << 1 } GdkPaintableFlags; GdkPaintableInterface struct _GdkPaintableInterface { /*< private >*/ GTypeInterface g_iface; /*< public >*/ /* draw to 0,0 with the given width and height */ void (* snapshot) (GdkPaintable *paintable, GdkSnapshot *snapshot, double width, double height); /* get the current contents in an immutable form (optional) */ GdkPaintable * (* get_current_image) (GdkPaintable *paintable); /* get flags for potential optimizations (optional) */ GdkPaintableFlags (* get_flags) (GdkPaintable *paintable); /* preferred width of paintable or 0 if it has no width (optional) */ int (* get_intrinsic_width) (GdkPaintable *paintable); /* preferred height of paintable or 0 if it has no height (optional) */ int (* get_intrinsic_height) (GdkPaintable *paintable); /* aspect ratio (width / height) of paintable or 0 if it has no aspect ratio (optional) */ double (* get_intrinsic_aspect_ratio) (GdkPaintable *paintable); }; gdk_paintable_snapshot void GdkPaintable *paintable, GdkSnapshot *snapshot, double width, double height gdk_paintable_get_current_image GdkPaintable * GdkPaintable *paintable gdk_paintable_get_flags GdkPaintableFlags GdkPaintable *paintable gdk_paintable_get_intrinsic_width int GdkPaintable *paintable gdk_paintable_get_intrinsic_height int GdkPaintable *paintable gdk_paintable_get_intrinsic_aspect_ratio double GdkPaintable *paintable gdk_paintable_compute_concrete_size void GdkPaintable *paintable, double specified_width, double specified_height, double default_width, double default_height, double *concrete_width, double *concrete_height gdk_paintable_invalidate_contents void GdkPaintable *paintable gdk_paintable_invalidate_size void GdkPaintable *paintable gdk_paintable_new_empty GdkPaintable * int intrinsic_width, int intrinsic_height GdkPaintable gdk_pango_layout_line_get_clip_region cairo_region_t * PangoLayoutLine *line, gint x_origin, gint y_origin, const gint *index_ranges, gint n_ranges gdk_pango_layout_get_clip_region cairo_region_t * PangoLayout *layout, gint x_origin, gint y_origin, const gint *index_ranges, gint n_ranges gdk_pixbuf_get_from_surface GdkPixbuf * cairo_surface_t *surface, gint src_x, gint src_y, gint width, gint height gdk_text_property_to_utf8_list_for_display gint GdkDisplay *display, GdkAtom encoding, gint format, const guchar *text, gint length, gchar ***list gdk_utf8_to_string_target gchar * const gchar *str gdk_rectangle_intersect gboolean const GdkRectangle *src1, const GdkRectangle *src2, GdkRectangle *dest gdk_rectangle_union void const GdkRectangle *src1, const GdkRectangle *src2, GdkRectangle *dest gdk_rectangle_equal gboolean const GdkRectangle *rect1, const GdkRectangle *rect2 gdk_rectangle_contains_point gboolean const GdkRectangle *rect, int x, int y gdk_rectangle_get_type GType void GDK_TYPE_RECTANGLE #define GDK_TYPE_RECTANGLE (gdk_rectangle_get_type ()) GdkRGBA struct _GdkRGBA { gdouble red; gdouble green; gdouble blue; gdouble alpha; }; GDK_TYPE_RGBA #define GDK_TYPE_RGBA (gdk_rgba_get_type ()) gdk_rgba_get_type GType void gdk_rgba_copy GdkRGBA * const GdkRGBA *rgba gdk_rgba_free void GdkRGBA *rgba gdk_rgba_is_clear gboolean const GdkRGBA *rgba gdk_rgba_is_opaque gboolean const GdkRGBA *rgba gdk_rgba_hash guint gconstpointer p gdk_rgba_equal gboolean gconstpointer p1, gconstpointer p2 gdk_rgba_parse gboolean GdkRGBA *rgba, const gchar *spec gdk_rgba_to_string gchar * const GdkRGBA *rgba gdk_rgba_parser_parse gboolean GtkCssParser *parser, GdkRGBA *rgba GDK_TYPE_SEAT #define GDK_TYPE_SEAT (gdk_seat_get_type ()) GDK_SEAT #define GDK_SEAT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_SEAT, GdkSeat)) GDK_IS_SEAT #define GDK_IS_SEAT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_SEAT)) GdkSeatCapabilities typedef enum { GDK_SEAT_CAPABILITY_NONE = 0, GDK_SEAT_CAPABILITY_POINTER = 1 << 0, GDK_SEAT_CAPABILITY_TOUCH = 1 << 1, GDK_SEAT_CAPABILITY_TABLET_STYLUS = 1 << 2, GDK_SEAT_CAPABILITY_KEYBOARD = 1 << 3, GDK_SEAT_CAPABILITY_TABLET_PAD = 1 << 4, GDK_SEAT_CAPABILITY_ALL_POINTING = (GDK_SEAT_CAPABILITY_POINTER | GDK_SEAT_CAPABILITY_TOUCH | GDK_SEAT_CAPABILITY_TABLET_STYLUS), GDK_SEAT_CAPABILITY_ALL = (GDK_SEAT_CAPABILITY_ALL_POINTING | GDK_SEAT_CAPABILITY_KEYBOARD) } GdkSeatCapabilities; GdkSeatGrabPrepareFunc void GdkSeat *seat, GdkSurface *surface, gpointer user_data GdkSeat struct _GdkSeat { GObject parent_instance; }; gdk_seat_get_type GType void gdk_seat_grab GdkGrabStatus GdkSeat *seat, GdkSurface *surface, GdkSeatCapabilities capabilities, gboolean owner_events, GdkCursor *cursor, const GdkEvent *event, GdkSeatGrabPrepareFunc prepare_func, gpointer prepare_func_data gdk_seat_ungrab void GdkSeat *seat gdk_seat_get_display GdkDisplay * GdkSeat *seat gdk_seat_get_capabilities GdkSeatCapabilities GdkSeat *seat gdk_seat_get_slaves GList * GdkSeat *seat, GdkSeatCapabilities capabilities gdk_seat_get_pointer GdkDevice * GdkSeat *seat gdk_seat_get_keyboard GdkDevice * GdkSeat *seat gdk_seat_get_master_pointers GList * GdkSeat *seat, GdkSeatCapabilities capabilities GDK_TYPE_SNAPSHOT #define GDK_TYPE_SNAPSHOT (gdk_snapshot_get_type ()) GDK_SNAPSHOT #define GDK_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_SNAPSHOT, GdkSnapshot)) GDK_IS_SNAPSHOT #define GDK_IS_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_SNAPSHOT)) gdk_snapshot_get_type GType void GdkSnapshotClass GdkSurfaceType typedef enum { GDK_SURFACE_TOPLEVEL, GDK_SURFACE_CHILD, GDK_SURFACE_TEMP } GdkSurfaceType; GdkSurfaceHints typedef enum { GDK_HINT_POS = 1 << 0, GDK_HINT_MIN_SIZE = 1 << 1, GDK_HINT_MAX_SIZE = 1 << 2, GDK_HINT_BASE_SIZE = 1 << 3, GDK_HINT_ASPECT = 1 << 4, GDK_HINT_RESIZE_INC = 1 << 5, GDK_HINT_WIN_GRAVITY = 1 << 6, GDK_HINT_USER_POS = 1 << 7, GDK_HINT_USER_SIZE = 1 << 8 } GdkSurfaceHints; GdkWMDecoration typedef enum { GDK_DECOR_ALL = 1 << 0, GDK_DECOR_BORDER = 1 << 1, GDK_DECOR_RESIZEH = 1 << 2, GDK_DECOR_TITLE = 1 << 3, GDK_DECOR_MENU = 1 << 4, GDK_DECOR_MINIMIZE = 1 << 5, GDK_DECOR_MAXIMIZE = 1 << 6 } GdkWMDecoration; GdkWMFunction typedef enum { GDK_FUNC_ALL = 1 << 0, GDK_FUNC_RESIZE = 1 << 1, GDK_FUNC_MOVE = 1 << 2, GDK_FUNC_MINIMIZE = 1 << 3, GDK_FUNC_MAXIMIZE = 1 << 4, GDK_FUNC_CLOSE = 1 << 5 } GdkWMFunction; GdkGravity typedef enum { GDK_GRAVITY_NORTH_WEST = 1, GDK_GRAVITY_NORTH, GDK_GRAVITY_NORTH_EAST, GDK_GRAVITY_WEST, GDK_GRAVITY_CENTER, GDK_GRAVITY_EAST, GDK_GRAVITY_SOUTH_WEST, GDK_GRAVITY_SOUTH, GDK_GRAVITY_SOUTH_EAST, GDK_GRAVITY_STATIC } GdkGravity; GdkAnchorHints typedef enum { GDK_ANCHOR_FLIP_X = 1 << 0, GDK_ANCHOR_FLIP_Y = 1 << 1, GDK_ANCHOR_SLIDE_X = 1 << 2, GDK_ANCHOR_SLIDE_Y = 1 << 3, GDK_ANCHOR_RESIZE_X = 1 << 4, GDK_ANCHOR_RESIZE_Y = 1 << 5, GDK_ANCHOR_FLIP = GDK_ANCHOR_FLIP_X | GDK_ANCHOR_FLIP_Y, GDK_ANCHOR_SLIDE = GDK_ANCHOR_SLIDE_X | GDK_ANCHOR_SLIDE_Y, GDK_ANCHOR_RESIZE = GDK_ANCHOR_RESIZE_X | GDK_ANCHOR_RESIZE_Y } GdkAnchorHints; GdkSurfaceEdge typedef enum { GDK_SURFACE_EDGE_NORTH_WEST, GDK_SURFACE_EDGE_NORTH, GDK_SURFACE_EDGE_NORTH_EAST, GDK_SURFACE_EDGE_WEST, GDK_SURFACE_EDGE_EAST, GDK_SURFACE_EDGE_SOUTH_WEST, GDK_SURFACE_EDGE_SOUTH, GDK_SURFACE_EDGE_SOUTH_EAST } GdkSurfaceEdge; GdkFullscreenMode typedef enum { GDK_FULLSCREEN_ON_CURRENT_MONITOR, GDK_FULLSCREEN_ON_ALL_MONITORS } GdkFullscreenMode; GdkGeometry struct _GdkGeometry { gint min_width; gint min_height; gint max_width; gint max_height; gint base_width; gint base_height; gint width_inc; gint height_inc; gdouble min_aspect; gdouble max_aspect; GdkGravity win_gravity; }; GdkSurfaceState typedef enum { GDK_SURFACE_STATE_WITHDRAWN = 1 << 0, GDK_SURFACE_STATE_ICONIFIED = 1 << 1, GDK_SURFACE_STATE_MAXIMIZED = 1 << 2, GDK_SURFACE_STATE_STICKY = 1 << 3, GDK_SURFACE_STATE_FULLSCREEN = 1 << 4, GDK_SURFACE_STATE_ABOVE = 1 << 5, GDK_SURFACE_STATE_BELOW = 1 << 6, GDK_SURFACE_STATE_FOCUSED = 1 << 7, GDK_SURFACE_STATE_TILED = 1 << 8, GDK_SURFACE_STATE_TOP_TILED = 1 << 9, GDK_SURFACE_STATE_TOP_RESIZABLE = 1 << 10, GDK_SURFACE_STATE_RIGHT_TILED = 1 << 11, GDK_SURFACE_STATE_RIGHT_RESIZABLE = 1 << 12, GDK_SURFACE_STATE_BOTTOM_TILED = 1 << 13, GDK_SURFACE_STATE_BOTTOM_RESIZABLE = 1 << 14, GDK_SURFACE_STATE_LEFT_TILED = 1 << 15, GDK_SURFACE_STATE_LEFT_RESIZABLE = 1 << 16 } GdkSurfaceState; GDK_TYPE_SURFACE #define GDK_TYPE_SURFACE (gdk_surface_get_type ()) GDK_SURFACE #define GDK_SURFACE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_SURFACE, GdkSurface)) GDK_SURFACE_CLASS #define GDK_SURFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_SURFACE, GdkSurfaceClass)) GDK_IS_SURFACE #define GDK_IS_SURFACE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_SURFACE)) GDK_IS_SURFACE_CLASS #define GDK_IS_SURFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_SURFACE)) GDK_SURFACE_GET_CLASS #define GDK_SURFACE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_SURFACE, GdkSurfaceClass)) GdkSurfaceClass struct _GdkSurfaceClass { GObjectClass parent_class; /* Padding for future expansion */ void (*_gdk_reserved1) (void); void (*_gdk_reserved2) (void); void (*_gdk_reserved3) (void); void (*_gdk_reserved4) (void); void (*_gdk_reserved5) (void); void (*_gdk_reserved6) (void); void (*_gdk_reserved7) (void); void (*_gdk_reserved8) (void); }; gdk_surface_get_type GType void gdk_surface_new_toplevel GdkSurface * GdkDisplay *display, int width, int height gdk_surface_new_popup GdkSurface * GdkDisplay *display, const GdkRectangle *position gdk_surface_new_temp GdkSurface * GdkDisplay *display gdk_surface_new_child GdkSurface * GdkSurface *parent, const GdkRectangle *position gdk_surface_destroy void GdkSurface *surface gdk_surface_get_surface_type GdkSurfaceType GdkSurface *surface gdk_surface_is_destroyed gboolean GdkSurface *surface gdk_surface_get_display GdkDisplay * GdkSurface *surface gdk_surface_show void GdkSurface *surface gdk_surface_hide void GdkSurface *surface gdk_surface_show_unraised void GdkSurface *surface gdk_surface_move void GdkSurface *surface, gint x, gint y gdk_surface_resize void GdkSurface *surface, gint width, gint height gdk_surface_move_resize void GdkSurface *surface, gint x, gint y, gint width, gint height gdk_surface_move_to_rect void GdkSurface *surface, const GdkRectangle *rect, GdkGravity rect_anchor, GdkGravity surface_anchor, GdkAnchorHints anchor_hints, gint rect_anchor_dx, gint rect_anchor_dy gdk_surface_raise void GdkSurface *surface gdk_surface_lower void GdkSurface *surface gdk_surface_restack void GdkSurface *surface, GdkSurface *sibling, gboolean above gdk_surface_focus void GdkSurface *surface, guint32 timestamp gdk_surface_get_accept_focus gboolean GdkSurface *surface gdk_surface_set_accept_focus void GdkSurface *surface, gboolean accept_focus gdk_surface_get_focus_on_map gboolean GdkSurface *surface gdk_surface_set_focus_on_map void GdkSurface *surface, gboolean focus_on_map gdk_surface_input_shape_combine_region void GdkSurface *surface, const cairo_region_t *shape_region, gint offset_x, gint offset_y gdk_surface_set_child_input_shapes void GdkSurface *surface gdk_surface_merge_child_input_shapes void GdkSurface *surface gdk_surface_set_pass_through void GdkSurface *surface, gboolean pass_through gdk_surface_get_pass_through gboolean GdkSurface *surface gdk_surface_is_visible gboolean GdkSurface *surface gdk_surface_is_viewable gboolean GdkSurface *surface gdk_surface_is_input_only gboolean GdkSurface *surface gdk_surface_get_state GdkSurfaceState GdkSurface *surface gdk_surface_has_native gboolean GdkSurface *surface gdk_surface_set_type_hint void GdkSurface *surface, GdkSurfaceTypeHint hint gdk_surface_get_type_hint GdkSurfaceTypeHint GdkSurface *surface gdk_surface_get_modal_hint gboolean GdkSurface *surface gdk_surface_set_modal_hint void GdkSurface *surface, gboolean modal gdk_surface_set_geometry_hints void GdkSurface *surface, const GdkGeometry *geometry, GdkSurfaceHints geom_mask gdk_surface_set_title void GdkSurface *surface, const gchar *title gdk_surface_set_startup_id void GdkSurface *surface, const gchar *startup_id gdk_surface_set_transient_for void GdkSurface *surface, GdkSurface *parent gdk_surface_set_cursor void GdkSurface *surface, GdkCursor *cursor gdk_surface_get_cursor GdkCursor * GdkSurface *surface gdk_surface_set_device_cursor void GdkSurface *surface, GdkDevice *device, GdkCursor *cursor gdk_surface_get_device_cursor GdkCursor * GdkSurface *surface, GdkDevice *device gdk_surface_get_geometry void GdkSurface *surface, gint *x, gint *y, gint *width, gint *height gdk_surface_get_width int GdkSurface *surface gdk_surface_get_height int GdkSurface *surface gdk_surface_get_position void GdkSurface *surface, gint *x, gint *y gdk_surface_get_origin gint GdkSurface *surface, gint *x, gint *y gdk_surface_get_root_coords void GdkSurface *surface, gint x, gint y, gint *root_x, gint *root_y gdk_surface_coords_to_parent void GdkSurface *surface, gdouble x, gdouble y, gdouble *parent_x, gdouble *parent_y gdk_surface_coords_from_parent void GdkSurface *surface, gdouble parent_x, gdouble parent_y, gdouble *x, gdouble *y gdk_surface_get_root_origin void GdkSurface *surface, gint *x, gint *y gdk_surface_get_frame_extents void GdkSurface *surface, GdkRectangle *rect gdk_surface_get_scale_factor gint GdkSurface *surface gdk_surface_get_device_position GdkSurface * GdkSurface *surface, GdkDevice *device, double *x, double *y, GdkModifierType *mask gdk_surface_get_parent GdkSurface * GdkSurface *surface gdk_surface_get_toplevel GdkSurface * GdkSurface *surface gdk_surface_get_children GList * GdkSurface *surface gdk_surface_peek_children GList * GdkSurface *surface gdk_surface_set_icon_list void GdkSurface *surface, GList *surfaces gdk_surface_set_icon_name void GdkSurface *surface, const gchar *name gdk_surface_set_decorations void GdkSurface *surface, GdkWMDecoration decorations gdk_surface_get_decorations gboolean GdkSurface *surface, GdkWMDecoration *decorations gdk_surface_set_functions void GdkSurface *surface, GdkWMFunction functions gdk_surface_create_similar_surface cairo_surface_t * GdkSurface *surface, cairo_content_t content, int width, int height gdk_surface_beep void GdkSurface *surface gdk_surface_iconify void GdkSurface *surface gdk_surface_deiconify void GdkSurface *surface gdk_surface_stick void GdkSurface *surface gdk_surface_unstick void GdkSurface *surface gdk_surface_maximize void GdkSurface *surface gdk_surface_unmaximize void GdkSurface *surface gdk_surface_fullscreen void GdkSurface *surface gdk_surface_fullscreen_on_monitor void GdkSurface *surface, GdkMonitor *monitor gdk_surface_set_fullscreen_mode void GdkSurface *surface, GdkFullscreenMode mode gdk_surface_get_fullscreen_mode GdkFullscreenMode GdkSurface *surface gdk_surface_unfullscreen void GdkSurface *surface gdk_surface_set_keep_above void GdkSurface *surface, gboolean setting gdk_surface_set_keep_below void GdkSurface *surface, gboolean setting gdk_surface_set_opacity void GdkSurface *surface, gdouble opacity gdk_surface_register_dnd void GdkSurface *surface gdk_surface_begin_resize_drag void GdkSurface *surface, GdkSurfaceEdge edge, gint button, gint x, gint y, guint32 timestamp gdk_surface_begin_resize_drag_for_device void GdkSurface *surface, GdkSurfaceEdge edge, GdkDevice *device, gint button, gint x, gint y, guint32 timestamp gdk_surface_begin_move_drag void GdkSurface *surface, gint button, gint x, gint y, guint32 timestamp gdk_surface_begin_move_drag_for_device void GdkSurface *surface, GdkDevice *device, gint button, gint x, gint y, guint32 timestamp gdk_surface_queue_expose void GdkSurface *surface gdk_surface_freeze_updates void GdkSurface *surface gdk_surface_thaw_updates void GdkSurface *surface gdk_surface_constrain_size void GdkGeometry *geometry, GdkSurfaceHints flags, gint width, gint height, gint *new_width, gint *new_height gdk_surface_set_support_multidevice void GdkSurface *surface, gboolean support_multidevice gdk_surface_get_support_multidevice gboolean GdkSurface *surface gdk_surface_get_frame_clock GdkFrameClock * GdkSurface *surface gdk_surface_set_opaque_region void GdkSurface *surface, cairo_region_t *region gdk_surface_set_shadow_width void GdkSurface *surface, gint left, gint right, gint top, gint bottom gdk_surface_show_window_menu gboolean GdkSurface *surface, GdkEvent *event gdk_surface_create_cairo_context GdkCairoContext * GdkSurface *surface gdk_surface_create_gl_context GdkGLContext * GdkSurface *surface, GError **error gdk_surface_create_vulkan_context GdkVulkanContext * GdkSurface *surface, GError **error GDK_TYPE_TEXTURE #define GDK_TYPE_TEXTURE (gdk_texture_get_type ()) GDK_TEXTURE #define GDK_TEXTURE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_TEXTURE, GdkTexture)) GDK_IS_TEXTURE #define GDK_IS_TEXTURE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_TEXTURE)) gdk_texture_get_type GType void gdk_texture_new_for_pixbuf GdkTexture * GdkPixbuf *pixbuf gdk_texture_new_from_resource GdkTexture * const char *resource_path gdk_texture_new_from_file GdkTexture * GFile *file, GError **error gdk_texture_get_width int GdkTexture *texture gdk_texture_get_height int GdkTexture *texture gdk_texture_download void GdkTexture *texture, guchar *data, gsize stride gdk_texture_save_to_png gboolean GdkTexture *texture, const char *filename GdkTextureClass GDK_CURRENT_TIME #define GDK_CURRENT_TIME 0L GDK_PARENT_RELATIVE #define GDK_PARENT_RELATIVE 1L GdkPoint struct _GdkPoint { gint x; gint y; }; GdkRectangle struct _GdkRectangle { int x, y; int width, height; }; GdkAtom typedef const char *GdkAtom; GdkByteOrder typedef enum { GDK_LSB_FIRST, GDK_MSB_FIRST } GdkByteOrder; GdkModifierType typedef enum { GDK_SHIFT_MASK = 1 << 0, GDK_LOCK_MASK = 1 << 1, GDK_CONTROL_MASK = 1 << 2, GDK_MOD1_MASK = 1 << 3, GDK_MOD2_MASK = 1 << 4, GDK_MOD3_MASK = 1 << 5, GDK_MOD4_MASK = 1 << 6, GDK_MOD5_MASK = 1 << 7, GDK_BUTTON1_MASK = 1 << 8, GDK_BUTTON2_MASK = 1 << 9, GDK_BUTTON3_MASK = 1 << 10, GDK_BUTTON4_MASK = 1 << 11, GDK_BUTTON5_MASK = 1 << 12, GDK_MODIFIER_RESERVED_13_MASK = 1 << 13, GDK_MODIFIER_RESERVED_14_MASK = 1 << 14, GDK_MODIFIER_RESERVED_15_MASK = 1 << 15, GDK_MODIFIER_RESERVED_16_MASK = 1 << 16, GDK_MODIFIER_RESERVED_17_MASK = 1 << 17, GDK_MODIFIER_RESERVED_18_MASK = 1 << 18, GDK_MODIFIER_RESERVED_19_MASK = 1 << 19, GDK_MODIFIER_RESERVED_20_MASK = 1 << 20, GDK_MODIFIER_RESERVED_21_MASK = 1 << 21, GDK_MODIFIER_RESERVED_22_MASK = 1 << 22, GDK_MODIFIER_RESERVED_23_MASK = 1 << 23, GDK_MODIFIER_RESERVED_24_MASK = 1 << 24, GDK_MODIFIER_RESERVED_25_MASK = 1 << 25, /* The next few modifiers are used by XKB, so we skip to the end. * Bits 15 - 25 are currently unused. Bit 29 is used internally. */ GDK_SUPER_MASK = 1 << 26, GDK_HYPER_MASK = 1 << 27, GDK_META_MASK = 1 << 28, GDK_MODIFIER_RESERVED_29_MASK = 1 << 29, GDK_RELEASE_MASK = 1 << 30, /* Combination of GDK_SHIFT_MASK..GDK_BUTTON5_MASK + GDK_SUPER_MASK + GDK_HYPER_MASK + GDK_META_MASK + GDK_RELEASE_MASK */ GDK_MODIFIER_MASK = 0x5c001fff } GdkModifierType; GdkModifierIntent typedef enum { GDK_MODIFIER_INTENT_PRIMARY_ACCELERATOR, GDK_MODIFIER_INTENT_CONTEXT_MENU, GDK_MODIFIER_INTENT_EXTEND_SELECTION, GDK_MODIFIER_INTENT_MODIFY_SELECTION, GDK_MODIFIER_INTENT_NO_TEXT_INPUT, GDK_MODIFIER_INTENT_SHIFT_GROUP, GDK_MODIFIER_INTENT_DEFAULT_MOD_MASK, } GdkModifierIntent; GdkGrabStatus typedef enum { GDK_GRAB_SUCCESS = 0, GDK_GRAB_ALREADY_GRABBED = 1, GDK_GRAB_INVALID_TIME = 2, GDK_GRAB_NOT_VIEWABLE = 3, GDK_GRAB_FROZEN = 4, GDK_GRAB_FAILED = 5 } GdkGrabStatus; GdkGrabOwnership typedef enum { GDK_OWNERSHIP_NONE, GDK_OWNERSHIP_SURFACE, GDK_OWNERSHIP_APPLICATION } GdkGrabOwnership; GdkEventMask typedef enum { GDK_EXPOSURE_MASK = 1 << 1, GDK_POINTER_MOTION_MASK = 1 << 2, GDK_BUTTON_MOTION_MASK = 1 << 4, GDK_BUTTON1_MOTION_MASK = 1 << 5, GDK_BUTTON2_MOTION_MASK = 1 << 6, GDK_BUTTON3_MOTION_MASK = 1 << 7, GDK_BUTTON_PRESS_MASK = 1 << 8, GDK_BUTTON_RELEASE_MASK = 1 << 9, GDK_KEY_PRESS_MASK = 1 << 10, GDK_KEY_RELEASE_MASK = 1 << 11, GDK_ENTER_NOTIFY_MASK = 1 << 12, GDK_LEAVE_NOTIFY_MASK = 1 << 13, GDK_FOCUS_CHANGE_MASK = 1 << 14, GDK_STRUCTURE_MASK = 1 << 15, GDK_PROPERTY_CHANGE_MASK = 1 << 16, GDK_PROXIMITY_IN_MASK = 1 << 18, GDK_PROXIMITY_OUT_MASK = 1 << 19, GDK_SUBSTRUCTURE_MASK = 1 << 20, GDK_SCROLL_MASK = 1 << 21, GDK_TOUCH_MASK = 1 << 22, GDK_SMOOTH_SCROLL_MASK = 1 << 23, GDK_TOUCHPAD_GESTURE_MASK = 1 << 24, GDK_TABLET_PAD_MASK = 1 << 25, GDK_ALL_EVENTS_MASK = 0x3FFFFFE } GdkEventMask; GdkGLError typedef enum { GDK_GL_ERROR_NOT_AVAILABLE, GDK_GL_ERROR_UNSUPPORTED_FORMAT, GDK_GL_ERROR_UNSUPPORTED_PROFILE, GDK_GL_ERROR_COMPILATION_FAILED, GDK_GL_ERROR_LINK_FAILED } GdkGLError; GdkVulkanError typedef enum { GDK_VULKAN_ERROR_UNSUPPORTED, GDK_VULKAN_ERROR_NOT_AVAILABLE, } GdkVulkanError; GdkSurfaceTypeHint typedef enum { GDK_SURFACE_TYPE_HINT_NORMAL, GDK_SURFACE_TYPE_HINT_DIALOG, GDK_SURFACE_TYPE_HINT_MENU, /* Torn off menu */ GDK_SURFACE_TYPE_HINT_TOOLBAR, GDK_SURFACE_TYPE_HINT_SPLASHSCREEN, GDK_SURFACE_TYPE_HINT_UTILITY, GDK_SURFACE_TYPE_HINT_DOCK, GDK_SURFACE_TYPE_HINT_DESKTOP, GDK_SURFACE_TYPE_HINT_DROPDOWN_MENU, /* A drop down menu (from a menubar) */ GDK_SURFACE_TYPE_HINT_POPUP_MENU, /* A popup menu (from right-click) */ GDK_SURFACE_TYPE_HINT_TOOLTIP, GDK_SURFACE_TYPE_HINT_NOTIFICATION, GDK_SURFACE_TYPE_HINT_COMBO, GDK_SURFACE_TYPE_HINT_DND } GdkSurfaceTypeHint; GdkAxisUse typedef enum { GDK_AXIS_IGNORE, GDK_AXIS_X, GDK_AXIS_Y, GDK_AXIS_PRESSURE, GDK_AXIS_XTILT, GDK_AXIS_YTILT, GDK_AXIS_WHEEL, GDK_AXIS_DISTANCE, GDK_AXIS_ROTATION, GDK_AXIS_SLIDER, GDK_AXIS_LAST } GdkAxisUse; GdkAxisFlags typedef enum { GDK_AXIS_FLAG_X = 1 << GDK_AXIS_X, GDK_AXIS_FLAG_Y = 1 << GDK_AXIS_Y, GDK_AXIS_FLAG_PRESSURE = 1 << GDK_AXIS_PRESSURE, GDK_AXIS_FLAG_XTILT = 1 << GDK_AXIS_XTILT, GDK_AXIS_FLAG_YTILT = 1 << GDK_AXIS_YTILT, GDK_AXIS_FLAG_WHEEL = 1 << GDK_AXIS_WHEEL, GDK_AXIS_FLAG_DISTANCE = 1 << GDK_AXIS_DISTANCE, GDK_AXIS_FLAG_ROTATION = 1 << GDK_AXIS_ROTATION, GDK_AXIS_FLAG_SLIDER = 1 << GDK_AXIS_SLIDER, } GdkAxisFlags; GdkDragAction typedef enum { GDK_ACTION_COPY = 1 << 0, GDK_ACTION_MOVE = 1 << 1, GDK_ACTION_LINK = 1 << 2, GDK_ACTION_ASK = 1 << 3 } GdkDragAction; GDK_ACTION_ALL #define GDK_ACTION_ALL (GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK) GdkAppLaunchContext GdkCairoContext GdkClipboard GdkContentFormats GdkContentProvider GdkCursor GdkDevice GdkDisplay GdkDisplayManager GdkDrag GdkDrawContext GdkDrawingContext GdkDrop GdkGLContext GdkKeymap GdkPoint GdkRGBA GdkRectangle GdkSeat GdkSnapshot GdkSurface GdkTexture GdkVulkanContext GDK_TYPE_VULKAN_CONTEXT #define GDK_TYPE_VULKAN_CONTEXT (gdk_vulkan_context_get_type ()) GDK_VULKAN_CONTEXT #define GDK_VULKAN_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_VULKAN_CONTEXT, GdkVulkanContext)) GDK_IS_VULKAN_CONTEXT #define GDK_IS_VULKAN_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_VULKAN_CONTEXT)) GDK_VULKAN_ERROR #define GDK_VULKAN_ERROR (gdk_vulkan_error_quark ()) gdk_vulkan_error_quark GQuark void gdk_vulkan_context_get_type GType void gdk_vulkan_strerror const char * VkResult result gdk_vulkan_context_get_instance VkInstance GdkVulkanContext *context gdk_vulkan_context_get_physical_device VkPhysicalDevice GdkVulkanContext *context gdk_vulkan_context_get_device VkDevice GdkVulkanContext *context gdk_vulkan_context_get_queue VkQueue GdkVulkanContext *context gdk_vulkan_context_get_queue_family_index uint32_t GdkVulkanContext *context gdk_vulkan_context_get_image_format VkFormat GdkVulkanContext *context gdk_vulkan_context_get_n_images uint32_t GdkVulkanContext *context gdk_vulkan_context_get_image VkImage GdkVulkanContext *context, guint id gdk_vulkan_context_get_draw_index uint32_t GdkVulkanContext *context gdk_vulkan_context_get_draw_semaphore VkSemaphore GdkVulkanContext *context GDK_TYPE_WAYLAND_CAIRO_CONTEXT #define GDK_TYPE_WAYLAND_CAIRO_CONTEXT (gdk_wayland_cairo_context_get_type ()) GDK_WAYLAND_CAIRO_CONTEXT #define GDK_WAYLAND_CAIRO_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_WAYLAND_CAIRO_CONTEXT, GdkWaylandCairoContext)) GDK_IS_WAYLAND_CAIRO_CONTEXT #define GDK_IS_WAYLAND_CAIRO_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_WAYLAND_CAIRO_CONTEXT)) GDK_WAYLAND_CAIRO_CONTEXT_CLASS #define GDK_WAYLAND_CAIRO_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_WAYLAND_CAIRO_CONTEXT, GdkWaylandCairoContextClass)) GDK_IS_WAYLAND_CAIRO_CONTEXT_CLASS #define GDK_IS_WAYLAND_CAIRO_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_WAYLAND_CAIRO_CONTEXT)) GDK_WAYLAND_CAIRO_CONTEXT_GET_CLASS #define GDK_WAYLAND_CAIRO_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_WAYLAND_CAIRO_CONTEXT, GdkWaylandCairoContextClass)) GdkWaylandCairoContext struct _GdkWaylandCairoContext { GdkCairoContext parent_instance; GSList *surfaces; cairo_surface_t *cached_surface; cairo_surface_t *paint_surface; }; GdkWaylandCairoContextClass struct _GdkWaylandCairoContextClass { GdkCairoContextClass parent_class; }; gdk_wayland_cairo_context_get_type GType void GDK_TYPE_WAYLAND_CLIPBOARD #define GDK_TYPE_WAYLAND_CLIPBOARD (gdk_wayland_clipboard_get_type ()) GDK_WAYLAND_CLIPBOARD #define GDK_WAYLAND_CLIPBOARD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_WAYLAND_CLIPBOARD, GdkWaylandClipboard)) GDK_IS_WAYLAND_CLIPBOARD #define GDK_IS_WAYLAND_CLIPBOARD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_WAYLAND_CLIPBOARD)) gdk_wayland_clipboard_get_type GType void gdk_wayland_clipboard_new GdkClipboard * GdkDisplay *display gdk_wayland_clipboard_claim_remote void GdkWaylandClipboard *cb, struct wl_data_offer *offer, GdkContentFormats *formats GdkWaylandClipboard GDK_WAYLAND_MAX_THEME_SCALE #define GDK_WAYLAND_MAX_THEME_SCALE 3 GDK_WAYLAND_THEME_SCALES_COUNT #define GDK_WAYLAND_THEME_SCALES_COUNT GDK_WAYLAND_MAX_THEME_SCALE GDK_ZWP_POINTER_GESTURES_V1_VERSION #define GDK_ZWP_POINTER_GESTURES_V1_VERSION 1 GsdXftSettings typedef struct { gboolean antialias; gboolean hinting; gint dpi; const gchar *rgba; const gchar *hintstyle; } GsdXftSettings; GdkWaylandShellVariant typedef enum _GdkWaylandShellVariant { GDK_WAYLAND_SHELL_VARIANT_XDG_SHELL, GDK_WAYLAND_SHELL_VARIANT_ZXDG_SHELL_V6 } GdkWaylandShellVariant; GdkWaylandDisplay struct _GdkWaylandDisplay { GdkDisplay parent_instance; GList *toplevels; GHashTable *settings; GsdXftSettings xft_settings; GDBusProxy *settings_portal; guint32 shell_capabilities; /* Startup notification */ gchar *startup_notification_id; /* Most recent serial */ guint32 serial; uint32_t xdg_wm_base_id; uint32_t zxdg_shell_v6_id; GdkWaylandShellVariant shell_variant; /* Wayland fields below */ struct wl_display *wl_display; struct wl_registry *wl_registry; struct wl_compositor *compositor; struct wl_shm *shm; struct xdg_wm_base *xdg_wm_base; struct zxdg_shell_v6 *zxdg_shell_v6; struct gtk_shell1 *gtk_shell; struct wl_input_device *input_device; struct wl_data_device_manager *data_device_manager; struct wl_subcompositor *subcompositor; struct zwp_pointer_gestures_v1 *pointer_gestures; struct gtk_primary_selection_device_manager *primary_selection_manager; struct zwp_tablet_manager_v2 *tablet_manager; struct zxdg_exporter_v1 *xdg_exporter; struct zxdg_importer_v1 *xdg_importer; struct zwp_keyboard_shortcuts_inhibit_manager_v1 *keyboard_shortcuts_inhibit; struct org_kde_kwin_server_decoration_manager *server_decoration_manager; struct zxdg_output_manager_v1 *xdg_output_manager; GList *async_roundtrips; /* Keep track of the ID's of the known globals and their corresponding * names. This way we can check whether an interface is known, and * remove globals given its ID. This table is not expected to be very * large, meaning the lookup by interface name time is insignificant. */ GHashTable *known_globals; GList *on_has_globals_closures; /* Keep a list of orphaned dialogs (i.e. without parent) */ GList *orphan_dialogs; GList *current_popups; struct wl_cursor_theme *scaled_cursor_themes[GDK_WAYLAND_THEME_SCALES_COUNT]; gchar *cursor_theme_name; int cursor_theme_size; GHashTable *cursor_surface_cache; GSource *event_source; int compositor_version; int seat_version; int data_device_manager_version; int gtk_shell_version; uint32_t server_decoration_mode; struct xkb_context *xkb_context; GPtrArray *monitors; gint64 last_bell_time_ms; /* egl info */ EGLDisplay egl_display; int egl_major_version; int egl_minor_version; guint have_egl : 1; guint have_egl_khr_create_context : 1; guint have_egl_buffer_age : 1; guint have_egl_swap_buffers_with_damage : 1; guint have_egl_surfaceless_context : 1; }; GdkWaylandDisplayClass struct _GdkWaylandDisplayClass { GdkDisplayClass parent_class; }; GdkWaylandSelection GdkWaylandGLContext struct _GdkWaylandGLContext { GdkGLContext parent_instance; EGLContext egl_context; EGLConfig egl_config; gboolean is_attached; }; GdkWaylandGLContextClass struct _GdkWaylandGLContextClass { GdkGLContextClass parent_class; }; gdk_wayland_display_init_gl gboolean GdkDisplay *display gdk_wayland_surface_create_gl_context GdkGLContext * GdkSurface *surface, gboolean attach, GdkGLContext *share, GError **error gdk_wayland_display_make_gl_context_current gboolean GdkDisplay *display, GdkGLContext *context GdkWaylandMonitor struct _GdkWaylandMonitor { GdkMonitor parent; guint32 id; guint32 version; struct wl_output *output; gboolean added; struct zxdg_output_v1 *xdg_output; /* Size and position, can be either from wl_output or xdg_output */ int32_t x; int32_t y; int32_t width; int32_t height; gboolean wl_output_done; gboolean xdg_output_done; }; GdkWaylandMonitorClass struct _GdkWaylandMonitorClass { GdkMonitorClass parent_class; }; GDK_TYPE_WAYLAND_PRIMARY #define GDK_TYPE_WAYLAND_PRIMARY (gdk_wayland_primary_get_type ()) GDK_WAYLAND_PRIMARY #define GDK_WAYLAND_PRIMARY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_WAYLAND_PRIMARY, GdkWaylandPrimary)) GDK_IS_WAYLAND_PRIMARY #define GDK_IS_WAYLAND_PRIMARY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_WAYLAND_PRIMARY)) gdk_wayland_primary_get_type GType void gdk_wayland_primary_new GdkClipboard * GdkWaylandSeat *seat GdkWaylandPrimary WL_SURFACE_HAS_BUFFER_SCALE #define WL_SURFACE_HAS_BUFFER_SCALE 3 WL_POINTER_HAS_FRAME #define WL_POINTER_HAS_FRAME 5 GDK_SURFACE_IS_WAYLAND #define GDK_SURFACE_IS_WAYLAND(win) (GDK_IS_SURFACE_IMPL_WAYLAND (((GdkSurface *)win)->impl)) gdk_wayland_display_system_bell void GdkDisplay *display, GdkSurface *surface gdk_wayland_surface_sync void GdkSurface *surface gdk_wayland_surface_request_frame void GdkSurface *surface gdk_wayland_surface_attach_image void GdkSurface *surface, cairo_surface_t *cairo_surface, const cairo_region_t *damage gdk_wayland_drop_new GdkDrop * GdkDevice *device, GdkDrag *drag, GdkContentFormats *formats, GdkSurface *surface, struct wl_data_offer *offer, uint32_t serial gdk_wayland_drop_set_source_actions void GdkDrop *drop, uint32_t source_actions gdk_wayland_drop_set_action void GdkDrop *drop, uint32_t action gdk_wayland_device_get_data_device struct wl_data_device * GdkDevice *gdk_device gdk_wayland_device_set_selection void GdkDevice *gdk_device, struct wl_data_source *source gdk_wayland_device_get_drop_context GdkDrag * GdkDevice *gdk_device gdk_wayland_device_unset_touch_grab void GdkDevice *device, GdkEventSequence *sequence gdk_wayland_display_get_toplevel_surfaces GList * GdkDisplay *display gdk_wayland_display_get_output_refresh_rate int GdkWaylandDisplay *display_wayland, struct wl_output *output gdk_wayland_display_get_output_scale guint32 GdkWaylandDisplay *display_wayland, struct wl_output *output gdk_wayland_display_get_wl_output struct wl_output * GdkDisplay *display, int monitor_num gdk_wayland_surface_get_egl_surface EGLSurface GdkSurface *surface, EGLConfig config gdk_wayland_surface_get_dummy_egl_surface EGLSurface GdkSurface *surface, EGLConfig config gdk_wayland_surface_get_gtk_surface struct gtk_surface1 * GdkSurface *surface gdk_wayland_seat_set_global_cursor void GdkSeat *seat, GdkCursor *cursor gdk_wayland_seat_set_drag void GdkSeat *seat, GdkDrag *drag gdk_wayland_surface_get_wl_output struct wl_output * GdkSurface *surface gdk_wayland_surface_inhibit_shortcuts void GdkSurface *surface, GdkSeat *gdk_seat gdk_wayland_surface_restore_shortcuts void GdkSurface *surface, GdkSeat *gdk_seat gdk_wayland_surface_update_scale void GdkSurface *surface GDK_TYPE_WAYLAND_SEAT #define GDK_TYPE_WAYLAND_SEAT (gdk_wayland_seat_get_type ()) GDK_WAYLAND_SEAT #define GDK_WAYLAND_SEAT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_WAYLAND_SEAT, GdkWaylandSeat)) GDK_WAYLAND_SEAT_CLASS #define GDK_WAYLAND_SEAT_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), GDK_TYPE_WAYLAND_SEAT, GdkWaylandSeatClass)) GDK_IS_WAYLAND_SEAT #define GDK_IS_WAYLAND_SEAT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_WAYLAND_SEAT)) GDK_IS_WAYLAND_SEAT_CLASS #define GDK_IS_WAYLAND_SEAT_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_WAYLAND_SEAT)) GDK_WAYLAND_SEAT_GET_CLASS #define GDK_WAYLAND_SEAT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_WAYLAND_SEAT, GdkWaylandSeatClass)) GdkWaylandSeatClass struct _GdkWaylandSeatClass { GdkSeatClass parent_class; }; gdk_wayland_seat_get_type GType void gdk_wayland_seat_update_cursor_scale void GdkWaylandSeat *seat GdkWaylandSeat VK_USE_PLATFORM_WAYLAND_KHR #define VK_USE_PLATFORM_WAYLAND_KHR GDK_TYPE_WAYLAND_VULKAN_CONTEXT #define GDK_TYPE_WAYLAND_VULKAN_CONTEXT (gdk_wayland_vulkan_context_get_type ()) GDK_WAYLAND_VULKAN_CONTEXT #define GDK_WAYLAND_VULKAN_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_WAYLAND_VULKAN_CONTEXT, GdkWaylandVulkanContext)) GDK_IS_WAYLAND_VULKAN_CONTEXT #define GDK_IS_WAYLAND_VULKAN_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_WAYLAND_VULKAN_CONTEXT)) GDK_WAYLAND_VULKAN_CONTEXT_CLASS #define GDK_WAYLAND_VULKAN_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_WAYLAND_VULKAN_CONTEXT, GdkWaylandVulkanContextClass)) GDK_IS_WAYLAND_VULKAN_CONTEXT_CLASS #define GDK_IS_WAYLAND_VULKAN_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_WAYLAND_VULKAN_CONTEXT)) GDK_WAYLAND_VULKAN_CONTEXT_GET_CLASS #define GDK_WAYLAND_VULKAN_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_WAYLAND_VULKAN_CONTEXT, GdkWaylandVulkanContextClass)) GdkWaylandVulkanContext struct _GdkWaylandVulkanContext { GdkVulkanContext parent_instance; }; GdkWaylandVulkanContextClass struct _GdkWaylandVulkanContextClass { GdkVulkanContextClass parent_class; }; gdk_wayland_vulkan_context_get_type GType void GdkWaylandDevice typedef GdkDevice GdkWaylandDevice; GDK_TYPE_WAYLAND_DEVICE #define GDK_TYPE_WAYLAND_DEVICE (gdk_wayland_device_get_type ()) GDK_WAYLAND_DEVICE #define GDK_WAYLAND_DEVICE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_WAYLAND_DEVICE, GdkWaylandDevice)) GDK_WAYLAND_DEVICE_CLASS #define GDK_WAYLAND_DEVICE_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), GDK_TYPE_WAYLAND_DEVICE, GdkWaylandDeviceClass)) GDK_IS_WAYLAND_DEVICE #define GDK_IS_WAYLAND_DEVICE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_WAYLAND_DEVICE)) GDK_IS_WAYLAND_DEVICE_CLASS #define GDK_IS_WAYLAND_DEVICE_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_WAYLAND_DEVICE)) GDK_WAYLAND_DEVICE_GET_CLASS #define GDK_WAYLAND_DEVICE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_WAYLAND_DEVICE, GdkWaylandDeviceClass)) gdk_wayland_device_get_type GType void gdk_wayland_device_get_wl_seat struct wl_seat * GdkDevice *device gdk_wayland_device_get_wl_pointer struct wl_pointer * GdkDevice *device gdk_wayland_device_get_wl_keyboard struct wl_keyboard * GdkDevice *device gdk_wayland_seat_get_wl_seat struct wl_seat * GdkSeat *seat gdk_wayland_device_get_node_path const gchar * GdkDevice *device gdk_wayland_device_pad_set_feedback void GdkDevice *device, GdkDevicePadFeature element, guint idx, const gchar *label GdkWaylandDevice GdkWaylandDeviceClass GdkWaylandDisplay typedef GdkDisplay GdkWaylandDisplay; GDK_TYPE_WAYLAND_DISPLAY #define GDK_TYPE_WAYLAND_DISPLAY (gdk_wayland_display_get_type()) GDK_WAYLAND_DISPLAY #define GDK_WAYLAND_DISPLAY(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_WAYLAND_DISPLAY, GdkWaylandDisplay)) GDK_WAYLAND_DISPLAY_CLASS #define GDK_WAYLAND_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_WAYLAND_DISPLAY, GdkWaylandDisplayClass)) GDK_IS_WAYLAND_DISPLAY #define GDK_IS_WAYLAND_DISPLAY(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_WAYLAND_DISPLAY)) GDK_IS_WAYLAND_DISPLAY_CLASS #define GDK_IS_WAYLAND_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_WAYLAND_DISPLAY)) GDK_WAYLAND_DISPLAY_GET_CLASS #define GDK_WAYLAND_DISPLAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_WAYLAND_DISPLAY, GdkWaylandDisplayClass)) gdk_wayland_display_get_type GType void gdk_wayland_display_get_wl_display struct wl_display * GdkDisplay *display gdk_wayland_display_get_wl_compositor struct wl_compositor * GdkDisplay *display gdk_wayland_display_set_cursor_theme void GdkDisplay *display, const gchar *theme, gint size gdk_wayland_display_get_startup_notification_id const gchar * GdkDisplay *display gdk_wayland_display_set_startup_notification_id void GdkDisplay *display, const char *startup_id gdk_wayland_display_prefers_ssd gboolean GdkDisplay *display gdk_wayland_display_query_registry gboolean GdkDisplay *display, const gchar *global GdkWaylandDisplay GdkWaylandDisplayClass GDK_TYPE_WAYLAND_GL_CONTEXT #define GDK_TYPE_WAYLAND_GL_CONTEXT (gdk_wayland_gl_context_get_type ()) GDK_WAYLAND_GL_CONTEXT #define GDK_WAYLAND_GL_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_WAYLAND_GL_CONTEXT, GdkWaylandGLContext)) GDK_WAYLAND_IS_GL_CONTEXT #define GDK_WAYLAND_IS_GL_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_WAYLAND_GL_CONTEXT)) gdk_wayland_gl_context_get_type GType void GdkWaylandGLContext GdkWaylandGLContextClass GDK_TYPE_WAYLAND_MONITOR #define GDK_TYPE_WAYLAND_MONITOR (gdk_wayland_monitor_get_type ()) GDK_WAYLAND_MONITOR #define GDK_WAYLAND_MONITOR(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_WAYLAND_MONITOR, GdkWaylandMonitor)) GDK_IS_WAYLAND_MONITOR #define GDK_IS_WAYLAND_MONITOR(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_WAYLAND_MONITOR)) gdk_wayland_monitor_get_type GType void gdk_wayland_monitor_get_wl_output struct wl_output * GdkMonitor *monitor GdkWaylandMonitor GdkWaylandMonitorClass GdkWaylandSurface typedef GdkSurface GdkWaylandSurface; GDK_TYPE_WAYLAND_SURFACE #define GDK_TYPE_WAYLAND_SURFACE (gdk_wayland_surface_get_type()) GDK_WAYLAND_SURFACE #define GDK_WAYLAND_SURFACE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_WAYLAND_SURFACE, GdkWaylandSurface)) GDK_WAYLAND_SURFACE_CLASS #define GDK_WAYLAND_SURFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_WAYLAND_SURFACE, GdkWaylandSurfaceClass)) GDK_IS_WAYLAND_SURFACE #define GDK_IS_WAYLAND_SURFACE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_WAYLAND_SURFACE)) GDK_IS_WAYLAND_SURFACE_CLASS #define GDK_IS_WAYLAND_SURFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_WAYLAND_SURFACE)) GDK_WAYLAND_SURFACE_GET_CLASS #define GDK_WAYLAND_SURFACE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_WAYLAND_SURFACE, GdkWaylandSurfaceClass)) gdk_wayland_surface_get_type GType void gdk_wayland_surface_new_subsurface GdkSurface * GdkDisplay *display, const GdkRectangle *position gdk_wayland_surface_get_wl_surface struct wl_surface * GdkSurface *surface gdk_wayland_surface_set_dbus_properties_libgtk_only void GdkSurface *surface, const char *application_id, const char *app_menu_path, const char *menubar_path, const char *window_object_path, const char *application_object_path, const char *unique_bus_name GdkWaylandSurfaceExported void GdkSurface *surface, const char *handle, gpointer user_data gdk_wayland_surface_export_handle gboolean GdkSurface *surface, GdkWaylandSurfaceExported callback, gpointer user_data, GDestroyNotify destroy_func gdk_wayland_surface_unexport_handle void GdkSurface *surface gdk_wayland_surface_set_transient_for_exported gboolean GdkSurface *surface, char *parent_handle_str gdk_wayland_surface_announce_csd void GdkSurface *surface GdkWaylandSurface GdkWaylandSurfaceClass translate_wm_button_layout_to_gtk void char *layout MotifWmInfo typedef struct { unsigned long flags; unsigned long functions; unsigned long decorations; long input_mode; unsigned long status; } MotifWmHints, MwmHints; #define MWM_HINTS_FUNCTIONS (1L << 0) #define MWM_HINTS_DECORATIONS (1L << 1) #define MWM_HINTS_INPUT_MODE (1L << 2) #define MWM_HINTS_STATUS (1L << 3) #define MWM_FUNC_ALL (1L << 0) #define MWM_FUNC_RESIZE (1L << 1) #define MWM_FUNC_MOVE (1L << 2) #define MWM_FUNC_MINIMIZE (1L << 3) #define MWM_FUNC_MAXIMIZE (1L << 4) #define MWM_FUNC_CLOSE (1L << 5) #define MWM_DECOR_ALL (1L << 0) #define MWM_DECOR_BORDER (1L << 1) #define MWM_DECOR_RESIZEH (1L << 2) #define MWM_DECOR_TITLE (1L << 3) #define MWM_DECOR_MENU (1L << 4) #define MWM_DECOR_MINIMIZE (1L << 5) #define MWM_DECOR_MAXIMIZE (1L << 6) #define MWM_INPUT_MODELESS 0 #define MWM_INPUT_PRIMARY_APPLICATION_MODAL 1 #define MWM_INPUT_SYSTEM_MODAL 2 #define MWM_INPUT_FULL_APPLICATION_MODAL 3 #define MWM_INPUT_APPLICATION_MODAL MWM_INPUT_PRIMARY_APPLICATION_MODAL #define MWM_TEAROFF_WINDOW (1L<<0) /* * atoms */ #define _XA_MOTIF_BINDINGS "_MOTIF_BINDINGS" #define _XA_MOTIF_WM_HINTS "_MOTIF_WM_HINTS" #define _XA_MOTIF_WM_MESSAGES "_MOTIF_WM_MESSAGES" #define _XA_MOTIF_WM_OFFSET "_MOTIF_WM_OFFSET" #define _XA_MOTIF_WM_MENU "_MOTIF_WM_MENU" #define _XA_MOTIF_WM_INFO "_MOTIF_WM_INFO" #define _XA_MWM_HINTS _XA_MOTIF_WM_HINTS #define _XA_MWM_MESSAGES _XA_MOTIF_WM_MESSAGES #define _XA_MWM_MENU _XA_MOTIF_WM_MENU #define _XA_MWM_INFO _XA_MOTIF_WM_INFO /* * _MWM_INFO property */ typedef struct { long flags; Window wm_window; } MotifWmInfo; MwmInfo typedef MotifWmInfo MwmInfo; MWM_INFO_STARTUP_STANDARD #define MWM_INFO_STARTUP_STANDARD (1L<<0) MWM_INFO_STARTUP_CUSTOM #define MWM_INFO_STARTUP_CUSTOM (1L<<1) PropMotifWmHints typedef struct { unsigned long flags; unsigned long functions; unsigned long decorations; long inputMode; unsigned long status; } PropMotifWmHints; PropMwmHints typedef PropMotifWmHints PropMwmHints; PROP_MOTIF_WM_HINTS_ELEMENTS #define PROP_MOTIF_WM_HINTS_ELEMENTS 5 PROP_MWM_HINTS_ELEMENTS #define PROP_MWM_HINTS_ELEMENTS PROP_MOTIF_WM_HINTS_ELEMENTS PropMotifWmInfo typedef struct { unsigned long flags; unsigned long wmWindow; } PropMotifWmInfo; PropMwmInfo typedef PropMotifWmInfo PropMwmInfo; PROP_MOTIF_WM_INFO_ELEMENTS #define PROP_MOTIF_WM_INFO_ELEMENTS 2 PROP_MWM_INFO_ELEMENTS #define PROP_MWM_INFO_ELEMENTS PROP_MOTIF_WM_INFO_ELEMENTS GdkSendXEventCallback void Window window, gboolean success, gpointer data GdkRoundTripCallback void GdkDisplay *display, gpointer data, gulong serial GdkChildInfoX11 struct _GdkChildInfoX11 { Window window; gint x; gint y; gint width; gint height; guint is_mapped : 1; guint has_wm_state : 1; guint window_class : 2; }; GDK_TYPE_X11_CAIRO_CONTEXT #define GDK_TYPE_X11_CAIRO_CONTEXT (gdk_x11_cairo_context_get_type ()) GDK_X11_CAIRO_CONTEXT #define GDK_X11_CAIRO_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_X11_CAIRO_CONTEXT, GdkX11CairoContext)) GDK_IS_X11_CAIRO_CONTEXT #define GDK_IS_X11_CAIRO_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_X11_CAIRO_CONTEXT)) GDK_X11_CAIRO_CONTEXT_CLASS #define GDK_X11_CAIRO_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_X11_CAIRO_CONTEXT, GdkX11CairoContextClass)) GDK_IS_X11_CAIRO_CONTEXT_CLASS #define GDK_IS_X11_CAIRO_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_X11_CAIRO_CONTEXT)) GDK_X11_CAIRO_CONTEXT_GET_CLASS #define GDK_X11_CAIRO_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_X11_CAIRO_CONTEXT, GdkX11CairoContextClass)) GdkX11CairoContext struct _GdkX11CairoContext { GdkCairoContext parent_instance; cairo_surface_t *window_surface; cairo_surface_t *paint_surface; }; GdkX11CairoContextClass struct _GdkX11CairoContextClass { GdkCairoContextClass parent_class; }; gdk_x11_cairo_context_get_type GType void GDK_TYPE_X11_CLIPBOARD #define GDK_TYPE_X11_CLIPBOARD (gdk_x11_clipboard_get_type ()) GDK_X11_CLIPBOARD #define GDK_X11_CLIPBOARD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_X11_CLIPBOARD, GdkX11Clipboard)) GDK_IS_X11_CLIPBOARD #define GDK_IS_X11_CLIPBOARD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_X11_CLIPBOARD)) gdk_x11_clipboard_get_type GType void gdk_x11_clipboard_new GdkClipboard * GdkDisplay *display, const gchar *selection gdk_x11_clipboard_formats_to_targets GSList * GdkContentFormats *formats gdk_x11_clipboard_formats_to_atoms Atom * GdkDisplay *display, gboolean include_special, GdkContentFormats *formats, gsize *n_atoms GdkX11Clipboard GdkX11DeviceManagerCore struct _GdkX11DeviceManagerCore { GObject parent_instance; GdkDisplay *display; GdkDevice *core_pointer; GdkDevice *core_keyboard; }; GdkX11DeviceManagerCoreClass struct _GdkX11DeviceManagerCoreClass { GObjectClass parent_class; }; GdkX11Display struct _GdkX11Display { GdkDisplay parent_instance; Display *xdisplay; GdkX11Screen *screen; GList *screens; GList *toplevels; GdkX11DeviceManagerCore *device_manager; GSource *event_source; gint grab_count; /* Visual infos for creating Windows */ int window_depth; Visual *window_visual; Colormap window_colormap; /* Keyboard related information */ gint xkb_event_type; gboolean use_xkb; /* Whether we were able to turn on detectable-autorepeat using * XkbSetDetectableAutorepeat. If FALSE, we'll fall back * to checking the next event with XPending(). */ gboolean have_xkb_autorepeat; GdkKeymap *keymap; guint keymap_serial; gboolean have_xfixes; gint xfixes_event_base; gboolean have_xcomposite; gboolean have_xdamage; gint xdamage_event_base; gboolean have_randr12; gboolean have_randr13; gboolean have_randr15; gint xrandr_event_base; /* If the SECURITY extension is in place, whether this client holds * a trusted authorization and so is allowed to make various requests * (grabs, properties etc.) Otherwise always TRUE. */ gboolean trusted_client; /* drag and drop information */ GdkDrop *current_drop; /* Mapping to/from virtual atoms */ GHashTable *atom_from_virtual; GHashTable *atom_to_virtual; /* Session Management leader window see ICCCM */ char *program_class; Window leader_window; GdkSurface *leader_gdk_surface; gboolean leader_window_title_set; /* List of functions to go from extension event => X window */ GSList *event_types; /* X ID hashtable */ GHashTable *xid_ht; /* streams reading selections */ GSList *streams; /* input GdkSurface list */ GList *input_surfaces; /* GdkCursor => XCursor */ GHashTable *cursors; GPtrArray *monitors; int primary_monitor; /* Startup notification */ gchar *startup_notification_id; /* Time of most recent user interaction. */ gulong user_time; /* Sets of atoms for DND */ guint base_dnd_atoms_precached : 1; guint xdnd_atoms_precached : 1; guint motif_atoms_precached : 1; guint use_sync : 1; guint have_shapes : 1; guint have_input_shapes : 1; gint shape_event_base; GSList *error_traps; gint wm_moveresize_button; /* GLX information */ gint glx_version; gint glx_error_base; gint glx_event_base; /* Translation between X server time and system-local monotonic time */ gint64 server_time_query_time; gint64 server_time_offset; guint server_time_is_monotonic_time : 1; guint have_glx : 1; /* GLX extensions we check */ guint has_glx_swap_interval : 1; guint has_glx_create_context : 1; guint has_glx_texture_from_pixmap : 1; guint has_glx_video_sync : 1; guint has_glx_buffer_age : 1; guint has_glx_sync_control : 1; guint has_glx_multisample : 1; guint has_glx_visual_rating : 1; guint has_glx_create_es2_context : 1; }; GdkX11DisplayClass struct _GdkX11DisplayClass { GdkDisplayClass parent_class; gboolean (* xevent) (GdkX11Display *display, const XEvent *event); }; gdk_x11_display_get_max_request_size gsize GdkDisplay *display gdk_x11_display_request_selection_notification gboolean GdkDisplay *display, const char *selection gdk_x11_event_source_new GSource * GdkDisplay *display gdk_x11_event_source_add_translator void GdkEventSource *source, GdkEventTranslator *translator gdk_x11_event_source_select_events void GdkEventSource *source, Window window, GdkEventMask event_mask, unsigned int extra_x_mask gdk_event_source_xevent gboolean GdkX11Display *x11_display, const XEvent *xevent GdkEventSource GDK_TYPE_EVENT_TRANSLATOR #define GDK_TYPE_EVENT_TRANSLATOR (_gdk_x11_event_translator_get_type ()) GDK_EVENT_TRANSLATOR #define GDK_EVENT_TRANSLATOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_EVENT_TRANSLATOR, GdkEventTranslator)) GDK_IS_EVENT_TRANSLATOR #define GDK_IS_EVENT_TRANSLATOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_EVENT_TRANSLATOR)) GDK_EVENT_TRANSLATOR_GET_IFACE #define GDK_EVENT_TRANSLATOR_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), GDK_TYPE_EVENT_TRANSLATOR, GdkEventTranslatorIface)) GdkEventTranslatorIface struct _GdkEventTranslatorIface { GTypeInterface iface; /* VMethods */ gboolean (* translate_event) (GdkEventTranslator *translator, GdkDisplay *display, GdkEvent *event, const XEvent *xevent); GdkEventMask (* get_handled_events) (GdkEventTranslator *translator); void (* select_surface_events) (GdkEventTranslator *translator, Window window, GdkEventMask event_mask); GdkSurface * (* get_surface) (GdkEventTranslator *translator, const XEvent *xevent); }; GdkEventTranslator GdkX11GLContext struct _GdkX11GLContext { GdkGLContext parent_instance; GLXContext glx_context; GLXFBConfig glx_config; GLXDrawable attached_drawable; GLXDrawable unattached_drawable; guint is_attached : 1; guint is_direct : 1; guint do_frame_sync : 1; }; GdkX11GLContextClass struct _GdkX11GLContextClass { GdkGLContextClass parent_class; }; gdk_x11_screen_init_gl gboolean GdkX11Screen *screen gdk_x11_surface_create_gl_context GdkGLContext * GdkSurface *window, gboolean attached, GdkGLContext *share, GError **error gdk_x11_display_make_gl_context_current gboolean GdkDisplay *display, GdkGLContext *context GdkX11Monitor struct _GdkX11Monitor { GdkMonitor parent; XID output; guint add : 1; guint remove : 1; }; GdkX11MonitorClass struct _GdkX11MonitorClass { GdkMonitorClass parent_class; }; GdkX11Screen struct _GdkX11Screen { GObject parent_instance; GdkDisplay *display; Display *xdisplay; Screen *xscreen; Window xroot_window; gint screen_num; gint surface_scale; gboolean fixed_surface_scale; /* Xft resources for the display, used for default values for * the Xft/ XSETTINGS */ gint xft_hintstyle; gint xft_rgba; gint xft_dpi; /* Window manager */ long last_wmspec_check_time; Window wmspec_check_window; char *window_manager_name; /* X Settings */ Window xsettings_manager_window; Atom xsettings_selection_atom; GHashTable *xsettings; /* string of GDK settings name => GValue */ /* TRUE if wmspec_check_window has changed since last * fetch of _NET_SUPPORTED */ guint need_refetch_net_supported : 1; /* TRUE if wmspec_check_window has changed since last * fetch of window manager name */ guint need_refetch_wm_name : 1; guint xft_init : 1; /* Whether we've intialized these values yet */ guint xft_antialias : 1; guint xft_hinting : 1; /* Visual Part */ gint nvisuals; GdkX11Visual **visuals; GdkX11Visual *system_visual; gint available_depths[7]; GdkVisualType available_types[6]; gint16 navailable_depths; gint16 navailable_types; GdkX11Visual *rgba_visual; /* cache for window->translate vfunc */ GC subwindow_gcs[32]; }; GdkX11ScreenClass struct _GdkX11ScreenClass { GObjectClass parent_class; void (* window_manager_changed) (GdkX11Screen *x11_screen); }; gdk_x11_screen_get_work_area void GdkX11Screen *screen, GdkRectangle *area gdk_x11_screen_get_setting gboolean GdkX11Screen *screen, const char *name, GValue *value GDK_TYPE_X11_SELECTION_INPUT_STREAM #define GDK_TYPE_X11_SELECTION_INPUT_STREAM (gdk_x11_selection_input_stream_get_type ()) GDK_X11_SELECTION_INPUT_STREAM #define GDK_X11_SELECTION_INPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_X11_SELECTION_INPUT_STREAM, GdkX11SelectionInputStream)) GDK_X11_SELECTION_INPUT_STREAM_CLASS #define GDK_X11_SELECTION_INPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GDK_TYPE_X11_SELECTION_INPUT_STREAM, GdkX11SelectionInputStreamClass)) GDK_IS_X11_SELECTION_INPUT_STREAM #define GDK_IS_X11_SELECTION_INPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_X11_SELECTION_INPUT_STREAM)) GDK_IS_X11_SELECTION_INPUT_STREAM_CLASS #define GDK_IS_X11_SELECTION_INPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GDK_TYPE_X11_SELECTION_INPUT_STREAM)) GDK_X11_SELECTION_INPUT_STREAM_GET_CLASS #define GDK_X11_SELECTION_INPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_X11_SELECTION_INPUT_STREAM, GdkX11SelectionInputStreamClass)) GdkX11SelectionInputStream typedef struct GdkX11SelectionInputStream GdkX11SelectionInputStream; GdkX11SelectionInputStreamClass typedef struct GdkX11SelectionInputStreamClass GdkX11SelectionInputStreamClass; gdk_x11_selection_input_stream_get_type GType void gdk_x11_selection_input_stream_new_async void GdkDisplay *display, const char *selection, const char *target, guint32 timestamp, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data gdk_x11_selection_input_stream_new_finish GInputStream * GAsyncResult *result, const char **type, int *format, GError **error GDK_TYPE_X11_SELECTION_OUTPUT_STREAM #define GDK_TYPE_X11_SELECTION_OUTPUT_STREAM (gdk_x11_selection_output_stream_get_type ()) GDK_X11_SELECTION_OUTPUT_STREAM #define GDK_X11_SELECTION_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_X11_SELECTION_OUTPUT_STREAM, GdkX11SelectionOutputStream)) GDK_X11_SELECTION_OUTPUT_STREAM_CLASS #define GDK_X11_SELECTION_OUTPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GDK_TYPE_X11_SELECTION_OUTPUT_STREAM, GdkX11SelectionOutputStreamClass)) GDK_IS_X11_SELECTION_OUTPUT_STREAM #define GDK_IS_X11_SELECTION_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_X11_SELECTION_OUTPUT_STREAM)) GDK_IS_X11_SELECTION_OUTPUT_STREAM_CLASS #define GDK_IS_X11_SELECTION_OUTPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GDK_TYPE_X11_SELECTION_OUTPUT_STREAM)) GDK_X11_SELECTION_OUTPUT_STREAM_GET_CLASS #define GDK_X11_SELECTION_OUTPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_X11_SELECTION_OUTPUT_STREAM, GdkX11SelectionOutputStreamClass)) GdkX11SelectionOutputStream typedef struct GdkX11SelectionOutputStream GdkX11SelectionOutputStream; GdkX11SelectionOutputStreamClass typedef struct GdkX11SelectionOutputStreamClass GdkX11SelectionOutputStreamClass; GdkX11SelectionOutputHandler void GOutputStream *stream, const char *mime_type, gpointer user_data gdk_x11_selection_output_stream_get_type GType void gdk_x11_selection_output_streams_create void GdkDisplay *display, GdkContentFormats *formats, Window requestor, Atom selection, Atom target, Atom property, gulong timestamp, GdkX11SelectionOutputHandler handler, gpointer user_data GDK_TYPE_SURFACE_IMPL_X11 #define GDK_TYPE_SURFACE_IMPL_X11 (gdk_surface_impl_x11_get_type ()) GDK_SURFACE_IMPL_X11 #define GDK_SURFACE_IMPL_X11(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_SURFACE_IMPL_X11, GdkSurfaceImplX11)) GDK_SURFACE_IMPL_X11_CLASS #define GDK_SURFACE_IMPL_X11_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_SURFACE_IMPL_X11, GdkSurfaceImplX11Class)) GDK_IS_SURFACE_IMPL_X11 #define GDK_IS_SURFACE_IMPL_X11(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_SURFACE_IMPL_X11)) GDK_IS_SURFACE_IMPL_X11_CLASS #define GDK_IS_SURFACE_IMPL_X11_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_SURFACE_IMPL_X11)) GDK_SURFACE_IMPL_X11_GET_CLASS #define GDK_SURFACE_IMPL_X11_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_SURFACE_IMPL_X11, GdkSurfaceImplX11Class)) GdkSurfaceImplX11 struct _GdkSurfaceImplX11 { GdkSurfaceImpl parent_instance; GdkSurface *wrapper; Window xid; GdkToplevelX11 *toplevel; /* Toplevel-specific information */ GdkCursor *cursor; guint no_bg : 1; /* Set when the window background is temporarily * unset during resizing and scaling */ guint override_redirect : 1; guint frame_clock_connected : 1; guint frame_sync_enabled : 1; guint tracking_damage: 1; gint surface_scale; /* Width and height not divided by surface_scale - this matters in the * corner-case where the window manager assigns us a size that isn't * a multiple of surface_scale - for example for a maximized window * with an odd-sized title-bar. */ gint unscaled_width; gint unscaled_height; cairo_surface_t *cairo_surface; #if defined (HAVE_XCOMPOSITE) && defined(HAVE_XDAMAGE) && defined (HAVE_XFIXES) Damage damage; #endif }; GdkSurfaceImplX11Class struct _GdkSurfaceImplX11Class { GdkSurfaceImplClass parent_class; }; GdkToplevelX11 struct _GdkToplevelX11 { /* Set if the window, or any descendent of it, is the server's focus window */ guint has_focus_window : 1; /* Set if window->has_focus_window and the focus isn't grabbed elsewhere. */ guint has_focus : 1; /* Set if the pointer is inside this window. (This is needed for * for focus tracking) */ guint has_pointer : 1; /* Set if the window is a descendent of the focus window and the pointer is * inside it. (This is the case where the window will receive keystroke * events even window->has_focus_window is FALSE) */ guint has_pointer_focus : 1; /* Set if we are requesting these hints */ guint skip_taskbar_hint : 1; guint skip_pager_hint : 1; guint urgency_hint : 1; guint on_all_desktops : 1; /* _NET_WM_STICKY == 0xFFFFFFFF */ guint have_sticky : 1; /* _NET_WM_STATE_STICKY */ guint have_maxvert : 1; /* _NET_WM_STATE_MAXIMIZED_VERT */ guint have_maxhorz : 1; /* _NET_WM_STATE_MAXIMIZED_HORZ */ guint have_fullscreen : 1; /* _NET_WM_STATE_FULLSCREEN */ guint have_hidden : 1; /* _NET_WM_STATE_HIDDEN */ guint is_leader : 1; /* Set if the WM is presenting us as focused, i.e. with active decorations */ guint have_focused : 1; guint in_frame : 1; /* If we're expecting a response from the compositor after painting a frame */ guint frame_pending : 1; /* Whether pending_counter_value/configure_counter_value are updates * to the extended update counter */ guint pending_counter_value_is_extended : 1; guint configure_counter_value_is_extended : 1; gulong map_serial; /* Serial of last transition from unmapped */ cairo_surface_t *icon_pixmap; cairo_surface_t *icon_mask; GdkSurface *group_leader; /* Time of most recent user interaction. */ gulong user_time; /* We use an extra X window for toplevel windows that we XSetInputFocus() * to in order to avoid getting keyboard events redirected to subwindows * that might not even be part of this app */ Window focus_window; GdkSurfaceHints last_geometry_hints_mask; GdkGeometry last_geometry_hints; /* Constrained edge information */ guint edge_constraints; #ifdef HAVE_XSYNC XID update_counter; XID extended_update_counter; gint64 pending_counter_value; /* latest _NET_WM_SYNC_REQUEST value received */ gint64 configure_counter_value; /* Latest _NET_WM_SYNC_REQUEST value received * where we have also seen the corresponding * ConfigureNotify */ gint64 current_counter_value; /* After a _NET_WM_FRAME_DRAWN message, this is the soonest that we think * frame after will be presented */ gint64 throttled_presentation_time; #endif }; gdk_surface_impl_x11_get_type GType void gdk_x11_surface_pre_damage void GdkSurface *surface GdkXPositionInfo GDK_TYPE_X11_TEXT_LIST_CONVERTER #define GDK_TYPE_X11_TEXT_LIST_CONVERTER (gdk_x11_text_list_converter_get_type ()) GDK_X11_TEXT_LIST_CONVERTER #define GDK_X11_TEXT_LIST_CONVERTER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_X11_TEXT_LIST_CONVERTER, GdkX11TextListConverter)) GDK_IS_X11_TEXT_LIST_CONVERTER #define GDK_IS_X11_TEXT_LIST_CONVERTER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_X11_TEXT_LIST_CONVERTER)) gdk_x11_text_list_converter_get_type GType void gdk_x11_text_list_converter_to_utf8_new GConverter * GdkDisplay *display, const char *encoding, int format gdk_x11_text_list_converter_from_utf8_new GConverter * GdkDisplay *display, const char *encoding, int format GdkX11TextListConverter GDK_TYPE_X11_VISUAL #define GDK_TYPE_X11_VISUAL (gdk_x11_visual_get_type ()) GDK_X11_VISUAL #define GDK_X11_VISUAL(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_X11_VISUAL, GdkX11Visual)) GDK_X11_VISUAL_CLASS #define GDK_X11_VISUAL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_X11_VISUAL, GdkX11VisualClass)) GDK_IS_X11_VISUAL #define GDK_IS_X11_VISUAL(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_X11_VISUAL)) GDK_IS_X11_VISUAL_CLASS #define GDK_IS_X11_VISUAL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_X11_VISUAL)) GDK_X11_VISUAL_GET_CLASS #define GDK_X11_VISUAL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_X11_VISUAL, GdkX11VisualClass)) GdkVisualType typedef enum { GDK_VISUAL_STATIC_GRAY, GDK_VISUAL_GRAYSCALE, GDK_VISUAL_STATIC_COLOR, GDK_VISUAL_PSEUDO_COLOR, GDK_VISUAL_TRUE_COLOR, GDK_VISUAL_DIRECT_COLOR } GdkVisualType; GdkX11Visual struct _GdkX11Visual { GObject parent_instance; GdkVisualType type; gint depth; GdkByteOrder byte_order; gint colormap_size; gint bits_per_rgb; guint32 red_mask; guint32 green_mask; guint32 blue_mask; Visual *xvisual; }; gdk_x11_visual_get_type GType void gdk_x11_visual_get_xvisual Visual * GdkX11Visual *visual GDK_VISUAL_XVISUAL #define GDK_VISUAL_XVISUAL(visual) (gdk_x11_visual_get_xvisual (visual)) gdk_x11_screen_lookup_visual GdkX11Visual * GdkX11Screen *screen, VisualID xvisualid GdkX11VisualClass VK_USE_PLATFORM_XLIB_KHR #define VK_USE_PLATFORM_XLIB_KHR GDK_TYPE_X11_VULKAN_CONTEXT #define GDK_TYPE_X11_VULKAN_CONTEXT (gdk_x11_vulkan_context_get_type ()) GDK_X11_VULKAN_CONTEXT #define GDK_X11_VULKAN_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_X11_VULKAN_CONTEXT, GdkX11VulkanContext)) GDK_IS_X11_VULKAN_CONTEXT #define GDK_IS_X11_VULKAN_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_X11_VULKAN_CONTEXT)) GDK_X11_VULKAN_CONTEXT_CLASS #define GDK_X11_VULKAN_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_X11_VULKAN_CONTEXT, GdkX11VulkanContextClass)) GDK_IS_X11_VULKAN_CONTEXT_CLASS #define GDK_IS_X11_VULKAN_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_X11_VULKAN_CONTEXT)) GDK_X11_VULKAN_CONTEXT_GET_CLASS #define GDK_X11_VULKAN_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_X11_VULKAN_CONTEXT, GdkX11VulkanContextClass)) GdkX11VulkanContext struct _GdkX11VulkanContext { GdkVulkanContext parent_instance; }; GdkX11VulkanContextClass struct _GdkX11VulkanContextClass { GdkVulkanContextClass parent_class; }; gdk_x11_vulkan_context_get_type GType void GDK_TYPE_X11_APP_LAUNCH_CONTEXT #define GDK_TYPE_X11_APP_LAUNCH_CONTEXT (gdk_x11_app_launch_context_get_type ()) GDK_X11_APP_LAUNCH_CONTEXT #define GDK_X11_APP_LAUNCH_CONTEXT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_X11_APP_LAUNCH_CONTEXT, GdkX11AppLaunchContext)) GDK_X11_APP_LAUNCH_CONTEXT_CLASS #define GDK_X11_APP_LAUNCH_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_X11_APP_LAUNCH_CONTEXT, GdkX11AppLaunchContextClass)) GDK_IS_X11_APP_LAUNCH_CONTEXT #define GDK_IS_X11_APP_LAUNCH_CONTEXT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_X11_APP_LAUNCH_CONTEXT)) GDK_IS_X11_APP_LAUNCH_CONTEXT_CLASS #define GDK_IS_X11_APP_LAUNCH_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_X11_APP_LAUNCH_CONTEXT)) GDK_X11_APP_LAUNCH_CONTEXT_GET_CLASS #define GDK_X11_APP_LAUNCH_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_X11_APP_LAUNCH_CONTEXT, GdkX11AppLaunchContextClass)) GdkX11AppLaunchContext typedef GdkAppLaunchContext GdkX11AppLaunchContext; gdk_x11_app_launch_context_get_type GType void GdkX11AppLaunchContext GdkX11AppLaunchContextClass GDK_TYPE_X11_DEVICE_CORE #define GDK_TYPE_X11_DEVICE_CORE (gdk_x11_device_core_get_type ()) GDK_X11_DEVICE_CORE #define GDK_X11_DEVICE_CORE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_X11_DEVICE_CORE, GdkX11DeviceCore)) GDK_X11_DEVICE_CORE_CLASS #define GDK_X11_DEVICE_CORE_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), GDK_TYPE_X11_DEVICE_CORE, GdkX11DeviceCoreClass)) GDK_IS_X11_DEVICE_CORE #define GDK_IS_X11_DEVICE_CORE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_X11_DEVICE_CORE)) GDK_IS_X11_DEVICE_CORE_CLASS #define GDK_IS_X11_DEVICE_CORE_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_X11_DEVICE_CORE)) GDK_X11_DEVICE_CORE_GET_CLASS #define GDK_X11_DEVICE_CORE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_X11_DEVICE_CORE, GdkX11DeviceCoreClass)) gdk_x11_device_core_get_type GType void GdkX11DeviceCore GdkX11DeviceCoreClass GDK_TYPE_X11_DEVICE_XI2 #define GDK_TYPE_X11_DEVICE_XI2 (gdk_x11_device_xi2_get_type ()) GDK_X11_DEVICE_XI2 #define GDK_X11_DEVICE_XI2(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_X11_DEVICE_XI2, GdkX11DeviceXI2)) GDK_X11_DEVICE_XI2_CLASS #define GDK_X11_DEVICE_XI2_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), GDK_TYPE_X11_DEVICE_XI2, GdkX11DeviceXI2Class)) GDK_IS_X11_DEVICE_XI2 #define GDK_IS_X11_DEVICE_XI2(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_X11_DEVICE_XI2)) GDK_IS_X11_DEVICE_XI2_CLASS #define GDK_IS_X11_DEVICE_XI2_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_X11_DEVICE_XI2)) GDK_X11_DEVICE_XI2_GET_CLASS #define GDK_X11_DEVICE_XI2_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_X11_DEVICE_XI2, GdkX11DeviceXI2Class)) gdk_x11_device_xi2_get_type GType void GdkX11DeviceXI2 GdkX11DeviceXI2Class gdk_x11_device_get_id gint GdkDevice *device GDK_TYPE_X11_DEVICE_MANAGER_CORE #define GDK_TYPE_X11_DEVICE_MANAGER_CORE (gdk_x11_device_manager_core_get_type ()) GDK_X11_DEVICE_MANAGER_CORE #define GDK_X11_DEVICE_MANAGER_CORE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_X11_DEVICE_MANAGER_CORE, GdkX11DeviceManagerCore)) GDK_X11_DEVICE_MANAGER_CORE_CLASS #define GDK_X11_DEVICE_MANAGER_CORE_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), GDK_TYPE_X11_DEVICE_MANAGER_CORE, GdkX11DeviceManagerCoreClass)) GDK_IS_X11_DEVICE_MANAGER_CORE #define GDK_IS_X11_DEVICE_MANAGER_CORE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_X11_DEVICE_MANAGER_CORE)) GDK_IS_X11_DEVICE_MANAGER_CORE_CLASS #define GDK_IS_X11_DEVICE_MANAGER_CORE_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_X11_DEVICE_MANAGER_CORE)) GDK_X11_DEVICE_MANAGER_CORE_GET_CLASS #define GDK_X11_DEVICE_MANAGER_CORE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_X11_DEVICE_MANAGER_CORE, GdkX11DeviceManagerCoreClass)) gdk_x11_device_manager_core_get_type GType void GdkX11DeviceManagerCore GdkX11DeviceManagerCoreClass GDK_TYPE_X11_DEVICE_MANAGER_XI #define GDK_TYPE_X11_DEVICE_MANAGER_XI (gdk_x11_device_manager_xi_get_type ()) GDK_X11_DEVICE_MANAGER_XI #define GDK_X11_DEVICE_MANAGER_XI(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_X11_DEVICE_MANAGER_XI, GdkX11DeviceManagerXI)) GDK_X11_DEVICE_MANAGER_XI_CLASS #define GDK_X11_DEVICE_MANAGER_XI_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), GDK_TYPE_X11_DEVICE_MANAGER_XI, GdkX11DeviceManagerXIClass)) GDK_IS_X11_DEVICE_MANAGER_XI #define GDK_IS_X11_DEVICE_MANAGER_XI(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_X11_DEVICE_MANAGER_XI)) GDK_IS_X11_DEVICE_MANAGER_XI_CLASS #define GDK_IS_X11_DEVICE_MANAGER_XI_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_X11_DEVICE_MANAGER_XI)) GDK_X11_DEVICE_MANAGER_XI_GET_CLASS #define GDK_X11_DEVICE_MANAGER_XI_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_X11_DEVICE_MANAGER_XI, GdkX11DeviceManagerXIClass)) gdk_x11_device_manager_xi_get_type GType void GdkX11DeviceManagerXI GdkX11DeviceManagerXIClass GDK_TYPE_X11_DEVICE_MANAGER_XI2 #define GDK_TYPE_X11_DEVICE_MANAGER_XI2 (gdk_x11_device_manager_xi2_get_type ()) GDK_X11_DEVICE_MANAGER_XI2 #define GDK_X11_DEVICE_MANAGER_XI2(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_X11_DEVICE_MANAGER_XI2, GdkX11DeviceManagerXI2)) GDK_X11_DEVICE_MANAGER_XI2_CLASS #define GDK_X11_DEVICE_MANAGER_XI2_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), GDK_TYPE_X11_DEVICE_MANAGER_XI2, GdkX11DeviceManagerXI2Class)) GDK_IS_X11_DEVICE_MANAGER_XI2 #define GDK_IS_X11_DEVICE_MANAGER_XI2(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_X11_DEVICE_MANAGER_XI2)) GDK_IS_X11_DEVICE_MANAGER_XI2_CLASS #define GDK_IS_X11_DEVICE_MANAGER_XI2_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_X11_DEVICE_MANAGER_XI2)) GDK_X11_DEVICE_MANAGER_XI2_GET_CLASS #define GDK_X11_DEVICE_MANAGER_XI2_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_X11_DEVICE_MANAGER_XI2, GdkX11DeviceManagerXI2Class)) gdk_x11_device_manager_xi2_get_type GType void GdkX11DeviceManagerXI2 GdkX11DeviceManagerXI2Class gdk_x11_device_manager_lookup GdkDevice * GdkX11DeviceManagerCore *device_manager, gint device_id gdk_disable_multidevice void void GdkX11Display typedef GdkDisplay GdkX11Display; GDK_TYPE_X11_DISPLAY #define GDK_TYPE_X11_DISPLAY (gdk_x11_display_get_type()) GDK_X11_DISPLAY #define GDK_X11_DISPLAY(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_X11_DISPLAY, GdkX11Display)) GDK_X11_DISPLAY_CLASS #define GDK_X11_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_X11_DISPLAY, GdkX11DisplayClass)) GDK_IS_X11_DISPLAY #define GDK_IS_X11_DISPLAY(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_X11_DISPLAY)) GDK_IS_X11_DISPLAY_CLASS #define GDK_IS_X11_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_X11_DISPLAY)) GDK_X11_DISPLAY_GET_CLASS #define GDK_X11_DISPLAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_X11_DISPLAY, GdkX11DisplayClass)) gdk_x11_display_get_type GType void gdk_x11_display_open GdkDisplay * const char *display_name gdk_x11_display_get_xdisplay Display * GdkDisplay *display gdk_x11_display_get_xscreen Screen * GdkDisplay *display gdk_x11_display_get_xrootwindow Window GdkDisplay *display gdk_x11_display_get_xcursor Cursor GdkDisplay *display, GdkCursor *cursor GDK_DISPLAY_XDISPLAY #define GDK_DISPLAY_XDISPLAY(display) (gdk_x11_display_get_xdisplay (display)) gdk_x11_display_get_user_time guint32 GdkDisplay *display gdk_x11_display_get_startup_notification_id const gchar * GdkDisplay *display gdk_x11_display_set_startup_notification_id void GdkDisplay *display, const gchar *startup_id gdk_x11_display_set_program_class void GdkDisplay *display, const char *program_class gdk_x11_display_set_cursor_theme void GdkDisplay *display, const gchar *theme, const gint size gdk_x11_display_broadcast_startup_message void GdkDisplay *display, const char *message_type, ... gdk_x11_lookup_xdisplay GdkDisplay * Display *xdisplay gdk_x11_display_get_screen GdkX11Screen * GdkDisplay *display gdk_x11_display_grab void GdkDisplay *display gdk_x11_display_ungrab void GdkDisplay *display gdk_x11_display_set_surface_scale void GdkDisplay *display, gint scale gdk_x11_display_error_trap_push void GdkDisplay *display gdk_x11_display_error_trap_pop gint GdkDisplay *display gdk_x11_display_error_trap_pop_ignored void GdkDisplay *display gdk_x11_register_standard_event_type void GdkDisplay *display, gint event_base, gint n_events gdk_x11_set_sm_client_id void const gchar *sm_client_id GdkX11Display GdkX11DisplayClass GDK_TYPE_X11_DRAG #define GDK_TYPE_X11_DRAG (gdk_x11_drag_get_type ()) GDK_X11_DRAG #define GDK_X11_DRAG(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_X11_DRAG, GdkX11Drag)) GDK_X11_DRAG_CLASS #define GDK_X11_DRAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_X11_DRAG, GdkX11DragClass)) GDK_IS_X11_DRAG #define GDK_IS_X11_DRAG(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_X11_DRAG)) GDK_IS_X11_DRAG_CLASS #define GDK_IS_X11_DRAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_X11_DRAG)) GDK_X11_DRAG_GET_CLASS #define GDK_X11_DRAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_X11_DRAG, GdkX11DragClass)) GdkX11Drag typedef GdkDrag GdkX11Drag; gdk_x11_drag_get_type GType void GdkX11Drag GdkX11DragClass GDK_TYPE_X11_GL_CONTEXT #define GDK_TYPE_X11_GL_CONTEXT (gdk_x11_gl_context_get_type ()) GDK_X11_GL_CONTEXT #define GDK_X11_GL_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_X11_GL_CONTEXT, GdkX11GLContext)) GDK_X11_IS_GL_CONTEXT #define GDK_X11_IS_GL_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_X11_GL_CONTEXT)) gdk_x11_gl_context_get_type GType void gdk_x11_display_get_glx_version gboolean GdkDisplay *display, gint *major, gint *minor GdkX11GLContext GdkX11GLContextClass GdkX11Keymap typedef GdkKeymap GdkX11Keymap; GDK_TYPE_X11_KEYMAP #define GDK_TYPE_X11_KEYMAP (gdk_x11_keymap_get_type()) GDK_X11_KEYMAP #define GDK_X11_KEYMAP(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_X11_KEYMAP, GdkX11Keymap)) GDK_X11_KEYMAP_CLASS #define GDK_X11_KEYMAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_X11_KEYMAP, GdkX11KeymapClass)) GDK_IS_X11_KEYMAP #define GDK_IS_X11_KEYMAP(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_X11_KEYMAP)) GDK_IS_X11_KEYMAP_CLASS #define GDK_IS_X11_KEYMAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_X11_KEYMAP)) GDK_X11_KEYMAP_GET_CLASS #define GDK_X11_KEYMAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_X11_KEYMAP, GdkX11KeymapClass)) gdk_x11_keymap_get_type GType void gdk_x11_keymap_get_group_for_state gint GdkKeymap *keymap, guint state gdk_x11_keymap_key_is_modifier gboolean GdkKeymap *keymap, guint keycode GdkX11Keymap GdkX11KeymapClass GDK_TYPE_X11_MONITOR #define GDK_TYPE_X11_MONITOR (gdk_x11_monitor_get_type ()) GDK_X11_MONITOR #define GDK_X11_MONITOR(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_X11_MONITOR, GdkX11Monitor)) GDK_IS_X11_MONITOR #define GDK_IS_X11_MONITOR(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_X11_MONITOR)) gdk_x11_monitor_get_type GType void gdk_x11_monitor_get_output XID GdkMonitor *monitor GdkX11Monitor GdkX11MonitorClass gdk_x11_atom_to_xatom_for_display Atom GdkDisplay *display, GdkAtom atom gdk_x11_xatom_to_atom_for_display GdkAtom GdkDisplay *display, Atom xatom gdk_x11_get_xatom_by_name_for_display Atom GdkDisplay *display, const gchar *atom_name gdk_x11_get_xatom_name_for_display const gchar * GdkDisplay *display, Atom xatom GDK_TYPE_X11_SCREEN #define GDK_TYPE_X11_SCREEN (gdk_x11_screen_get_type ()) GDK_X11_SCREEN #define GDK_X11_SCREEN(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_X11_SCREEN, GdkX11Screen)) GDK_X11_SCREEN_CLASS #define GDK_X11_SCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_X11_SCREEN, GdkX11ScreenClass)) GDK_IS_X11_SCREEN #define GDK_IS_X11_SCREEN(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_X11_SCREEN)) GDK_IS_X11_SCREEN_CLASS #define GDK_IS_X11_SCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_X11_SCREEN)) GDK_X11_SCREEN_GET_CLASS #define GDK_X11_SCREEN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_X11_SCREEN, GdkX11ScreenClass)) gdk_x11_screen_get_type GType void gdk_x11_screen_get_xscreen Screen * GdkX11Screen *screen gdk_x11_screen_get_screen_number int GdkX11Screen *screen gdk_x11_screen_get_window_manager_name const char * GdkX11Screen *screen gdk_x11_screen_supports_net_wm_hint gboolean GdkX11Screen *screen, GdkAtom property gdk_x11_screen_get_monitor_output XID GdkX11Screen *screen, gint monitor_num gdk_x11_screen_get_number_of_desktops guint32 GdkX11Screen *screen gdk_x11_screen_get_current_desktop guint32 GdkX11Screen *screen GdkX11Screen GdkX11ScreenClass gdk_x11_display_text_property_to_text_list gint GdkDisplay *display, GdkAtom encoding, gint format, const guchar *text, gint length, gchar ***list gdk_x11_free_text_list void gchar **list gdk_x11_display_string_to_compound_text gint GdkDisplay *display, const gchar *str, GdkAtom *encoding, gint *format, guchar **ctext, gint *length gdk_x11_display_utf8_to_compound_text gboolean GdkDisplay *display, const gchar *str, GdkAtom *encoding, gint *format, guchar **ctext, gint *length gdk_x11_free_compound_text void guchar *ctext GDK_TYPE_X11_SURFACE #define GDK_TYPE_X11_SURFACE (gdk_x11_surface_get_type ()) GDK_X11_SURFACE #define GDK_X11_SURFACE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_X11_SURFACE, GdkX11Surface)) GDK_X11_SURFACE_CLASS #define GDK_X11_SURFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_X11_SURFACE, GdkX11SurfaceClass)) GDK_IS_X11_SURFACE #define GDK_IS_X11_SURFACE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_X11_SURFACE)) GDK_IS_X11_SURFACE_CLASS #define GDK_IS_X11_SURFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_X11_SURFACE)) GDK_X11_SURFACE_GET_CLASS #define GDK_X11_SURFACE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_X11_SURFACE, GdkX11SurfaceClass)) GdkX11Surface typedef GdkSurface GdkX11Surface; gdk_x11_surface_get_type GType void gdk_x11_surface_get_xid Window GdkSurface *surface gdk_x11_surface_set_user_time void GdkSurface *surface, guint32 timestamp gdk_x11_surface_set_utf8_property void GdkSurface *surface, const gchar *name, const gchar *value gdk_x11_surface_set_theme_variant void GdkSurface *surface, const char *variant gdk_x11_surface_move_to_current_desktop void GdkSurface *surface gdk_x11_surface_get_desktop guint32 GdkSurface *surface gdk_x11_surface_move_to_desktop void GdkSurface *surface, guint32 desktop gdk_x11_surface_set_frame_sync_enabled void GdkSurface *surface, gboolean frame_sync_enabled GDK_SURFACE_XDISPLAY #define GDK_SURFACE_XDISPLAY(win) (GDK_DISPLAY_XDISPLAY (gdk_surface_get_display (win))) GDK_SURFACE_XID #define GDK_SURFACE_XID(win) (gdk_x11_surface_get_xid (win)) gdk_x11_get_server_time guint32 GdkSurface *surface gdk_x11_surface_lookup_for_display GdkSurface * GdkDisplay *display, Window window gdk_x11_surface_set_skip_taskbar_hint void GdkSurface *surface, gboolean skips_taskbar gdk_x11_surface_set_skip_pager_hint void GdkSurface *surface, gboolean skips_pager gdk_x11_surface_set_urgency_hint void GdkSurface *surface, gboolean urgent gdk_x11_surface_set_group void GdkSurface *surface, GdkSurface *leader gdk_x11_surface_get_group GdkSurface * GdkSurface *surface GdkX11Surface GdkX11SurfaceClass GDK_XID_TO_POINTER #define GDK_XID_TO_POINTER(xid) GUINT_TO_POINTER(xid) GDK_POINTER_TO_XID #define GDK_POINTER_TO_XID(pointer) GPOINTER_TO_UINT(pointer) gdk_xsettings_root_window_filter GdkFilterReturn const XEvent *xevent, GdkEvent *event, gpointer data gdk_xsettings_manager_window_filter GdkFilterReturn const XEvent *xevent, GdkEvent *event, gpointer data GDK_WINDOWING_X11 #define GDK_WINDOWING_X11 GDK_WINDOWING_BROADWAY #define GDK_WINDOWING_BROADWAY GDK_WINDOWING_WAYLAND #define GDK_WINDOWING_WAYLAND GDK_TYPE_INPUT_SOURCE #define GDK_TYPE_INPUT_SOURCE (gdk_input_source_get_type ()) GDK_TYPE_INPUT_MODE #define GDK_TYPE_INPUT_MODE (gdk_input_mode_get_type ()) GDK_TYPE_DEVICE_TYPE #define GDK_TYPE_DEVICE_TYPE (gdk_device_type_get_type ()) GDK_TYPE_DEVICE_PAD_FEATURE #define GDK_TYPE_DEVICE_PAD_FEATURE (gdk_device_pad_feature_get_type ()) GDK_TYPE_DEVICE_TOOL_TYPE #define GDK_TYPE_DEVICE_TOOL_TYPE (gdk_device_tool_type_get_type ()) GDK_TYPE_DRAG_CANCEL_REASON #define GDK_TYPE_DRAG_CANCEL_REASON (gdk_drag_cancel_reason_get_type ()) GDK_TYPE_EVENT_TYPE #define GDK_TYPE_EVENT_TYPE (gdk_event_type_get_type ()) GDK_TYPE_TOUCHPAD_GESTURE_PHASE #define GDK_TYPE_TOUCHPAD_GESTURE_PHASE (gdk_touchpad_gesture_phase_get_type ()) GDK_TYPE_SCROLL_DIRECTION #define GDK_TYPE_SCROLL_DIRECTION (gdk_scroll_direction_get_type ()) GDK_TYPE_NOTIFY_TYPE #define GDK_TYPE_NOTIFY_TYPE (gdk_notify_type_get_type ()) GDK_TYPE_CROSSING_MODE #define GDK_TYPE_CROSSING_MODE (gdk_crossing_mode_get_type ()) GDK_TYPE_FRAME_CLOCK_PHASE #define GDK_TYPE_FRAME_CLOCK_PHASE (gdk_frame_clock_phase_get_type ()) GDK_TYPE_MEMORY_FORMAT #define GDK_TYPE_MEMORY_FORMAT (gdk_memory_format_get_type ()) GDK_TYPE_SUBPIXEL_LAYOUT #define GDK_TYPE_SUBPIXEL_LAYOUT (gdk_subpixel_layout_get_type ()) GDK_TYPE_PAINTABLE_FLAGS #define GDK_TYPE_PAINTABLE_FLAGS (gdk_paintable_flags_get_type ()) GDK_TYPE_SEAT_CAPABILITIES #define GDK_TYPE_SEAT_CAPABILITIES (gdk_seat_capabilities_get_type ()) GDK_TYPE_SURFACE_TYPE #define GDK_TYPE_SURFACE_TYPE (gdk_surface_type_get_type ()) GDK_TYPE_SURFACE_HINTS #define GDK_TYPE_SURFACE_HINTS (gdk_surface_hints_get_type ()) GDK_TYPE_WM_DECORATION #define GDK_TYPE_WM_DECORATION (gdk_wm_decoration_get_type ()) GDK_TYPE_WM_FUNCTION #define GDK_TYPE_WM_FUNCTION (gdk_wm_function_get_type ()) GDK_TYPE_GRAVITY #define GDK_TYPE_GRAVITY (gdk_gravity_get_type ()) GDK_TYPE_ANCHOR_HINTS #define GDK_TYPE_ANCHOR_HINTS (gdk_anchor_hints_get_type ()) GDK_TYPE_SURFACE_EDGE #define GDK_TYPE_SURFACE_EDGE (gdk_surface_edge_get_type ()) GDK_TYPE_FULLSCREEN_MODE #define GDK_TYPE_FULLSCREEN_MODE (gdk_fullscreen_mode_get_type ()) GDK_TYPE_SURFACE_STATE #define GDK_TYPE_SURFACE_STATE (gdk_surface_state_get_type ()) GDK_TYPE_BYTE_ORDER #define GDK_TYPE_BYTE_ORDER (gdk_byte_order_get_type ()) GDK_TYPE_MODIFIER_TYPE #define GDK_TYPE_MODIFIER_TYPE (gdk_modifier_type_get_type ()) GDK_TYPE_MODIFIER_INTENT #define GDK_TYPE_MODIFIER_INTENT (gdk_modifier_intent_get_type ()) GDK_TYPE_GRAB_STATUS #define GDK_TYPE_GRAB_STATUS (gdk_grab_status_get_type ()) GDK_TYPE_GRAB_OWNERSHIP #define GDK_TYPE_GRAB_OWNERSHIP (gdk_grab_ownership_get_type ()) GDK_TYPE_EVENT_MASK #define GDK_TYPE_EVENT_MASK (gdk_event_mask_get_type ()) GDK_TYPE_GL_ERROR #define GDK_TYPE_GL_ERROR (gdk_gl_error_get_type ()) GDK_TYPE_VULKAN_ERROR #define GDK_TYPE_VULKAN_ERROR (gdk_vulkan_error_get_type ()) GDK_TYPE_SURFACE_TYPE_HINT #define GDK_TYPE_SURFACE_TYPE_HINT (gdk_surface_type_hint_get_type ()) GDK_TYPE_AXIS_USE #define GDK_TYPE_AXIS_USE (gdk_axis_use_get_type ()) GDK_TYPE_AXIS_FLAGS #define GDK_TYPE_AXIS_FLAGS (gdk_axis_flags_get_type ()) GDK_TYPE_DRAG_ACTION #define GDK_TYPE_DRAG_ACTION (gdk_drag_action_get_type ()) GDK_MAJOR_VERSION #define GDK_MAJOR_VERSION (3) GDK_MINOR_VERSION #define GDK_MINOR_VERSION (96) GDK_MICRO_VERSION #define GDK_MICRO_VERSION (0) GDK_DEPRECATED #define GDK_DEPRECATED _GDK_EXTERN GDK_DEPRECATED_FOR #define GDK_DEPRECATED_FOR(f) _GDK_EXTERN GDK_UNAVAILABLE #define GDK_UNAVAILABLE(maj,min) _GDK_EXTERN GDK_VERSION_3_92 #define GDK_VERSION_3_92 (G_ENCODE_VERSION (3, 92)) GDK_VERSION_3_94 #define GDK_VERSION_3_94 (G_ENCODE_VERSION (3, 94)) GDK_VERSION_4_0 #define GDK_VERSION_4_0 (G_ENCODE_VERSION (4, 0)) GDK_VERSION_CUR_STABLE #define GDK_VERSION_CUR_STABLE (G_ENCODE_VERSION (GDK_MAJOR_VERSION, GDK_MINOR_VERSION + 1)) GDK_VERSION_PREV_STABLE #define GDK_VERSION_PREV_STABLE (G_ENCODE_VERSION (GDK_MAJOR_VERSION, GDK_MINOR_VERSION - 1)) GDK_VERSION_MIN_REQUIRED # define GDK_VERSION_MIN_REQUIRED (GDK_VERSION_CUR_STABLE) GDK_VERSION_MAX_ALLOWED # define GDK_VERSION_MAX_ALLOWED GDK_VERSION_MIN_REQUIRED GDK_AVAILABLE_IN_ALL #define GDK_AVAILABLE_IN_ALL _GDK_EXTERN GDK_AVAILABLE_IN_4_0 # define GDK_AVAILABLE_IN_4_0 GDK_UNAVAILABLE(4, 0) GDK_DEPRECATED_IN_4_0 # define GDK_DEPRECATED_IN_4_0 GDK_DEPRECATED GDK_DEPRECATED_IN_4_0_FOR # define GDK_DEPRECATED_IN_4_0_FOR(f) GDK_DEPRECATED_FOR(f) ZXDG_OUTPUT_MANAGER_V1_DESTROY #define ZXDG_OUTPUT_MANAGER_V1_DESTROY 0 ZXDG_OUTPUT_MANAGER_V1_GET_XDG_OUTPUT #define ZXDG_OUTPUT_MANAGER_V1_GET_XDG_OUTPUT 1 ZXDG_OUTPUT_MANAGER_V1_DESTROY_SINCE_VERSION #define ZXDG_OUTPUT_MANAGER_V1_DESTROY_SINCE_VERSION 1 ZXDG_OUTPUT_MANAGER_V1_GET_XDG_OUTPUT_SINCE_VERSION #define ZXDG_OUTPUT_MANAGER_V1_GET_XDG_OUTPUT_SINCE_VERSION 1 zxdg_output_manager_v1_set_user_data void struct zxdg_output_manager_v1 *zxdg_output_manager_v1, void *user_data zxdg_output_manager_v1_get_user_data void * struct zxdg_output_manager_v1 *zxdg_output_manager_v1 zxdg_output_manager_v1_get_version uint32_t struct zxdg_output_manager_v1 *zxdg_output_manager_v1 zxdg_output_manager_v1_destroy void struct zxdg_output_manager_v1 *zxdg_output_manager_v1 zxdg_output_manager_v1_get_xdg_output struct zxdg_output_v1 * struct zxdg_output_manager_v1 *zxdg_output_manager_v1, struct wl_output *output zxdg_output_v1_listener struct zxdg_output_v1_listener { /** * position of the output within the global compositor space * * The position event describes the location of the wl_output * within the global compositor space. * * The logical_position event is sent after creating an xdg_output * (see xdg_output_manager.get_xdg_output) and whenever the * location of the output changes within the global compositor * space. * @param x x position within the global compositor space * @param y y position within the global compositor space */ void (*logical_position)(void *data, struct zxdg_output_v1 *zxdg_output_v1, int32_t x, int32_t y); /** * size of the output in the global compositor space * * The logical_size event describes the size of the output in the * global compositor space. * * For example, a surface without any buffer scale, transformation * nor rotation set, with the size matching the logical_size will * have the same size as the corresponding output when displayed. * * Most regular Wayland clients should not pay attention to the * logical size and would rather rely on xdg_shell interfaces. * * Some clients such as Xwayland, however, need this to configure * their surfaces in the global compositor space as the compositor * may apply a different scale from what is advertised by the * output scaling property (to achieve fractional scaling, for * example). * * For example, for a wl_output mode 3840×2160 and a scale factor * 2: * * - A compositor not scaling the surface buffers will advertise a * logical size of 3840×2160, * * - A compositor automatically scaling the surface buffers will * advertise a logical size of 1920×1080, * * - A compositor using a fractional scale of 1.5 will advertise a * logical size to 2560×1620. * * For example, for a wl_output mode 1920×1080 and a 90 degree * rotation, the compositor will advertise a logical size of * 1080x1920. * * The logical_size event is sent after creating an xdg_output (see * xdg_output_manager.get_xdg_output) and whenever the logical size * of the output changes, either as a result of a change in the * applied scale or because of a change in the corresponding output * mode(see wl_output.mode) or transform (see wl_output.transform). * @param width width in global compositor space * @param height height in global compositor space */ void (*logical_size)(void *data, struct zxdg_output_v1 *zxdg_output_v1, int32_t width, int32_t height); /** * all information about the output have been sent * * This event is sent after all other properties of an xdg_output * have been sent. * * This allows changes to the xdg_output properties to be seen as * atomic, even if they happen via multiple events. */ void (*done)(void *data, struct zxdg_output_v1 *zxdg_output_v1); /** * name of this output * * Many compositors will assign names to their outputs, show them * to the user, allow them to be configured by name, etc. The * client may wish to know this name as well to offer the user * similar behaviors. * * The naming convention is compositor defined, but limited to * alphanumeric characters and dashes (-). Each name is unique * among all wl_output globals, but if a wl_output global is * destroyed the same name may be reused later. The names will also * remain consistent across sessions with the same hardware and * software configuration. * * Examples of names include 'HDMI-A-1', 'WL-1', 'X11-1', etc. * However, do not assume that the name is a reflection of an * underlying DRM connector, X11 connection, etc. * * The name event is sent after creating an xdg_output (see * xdg_output_manager.get_xdg_output). This event is only sent once * per xdg_output, and the name does not change over the lifetime * of the wl_output global. * @param name output name * @since 2 */ void (*name)(void *data, struct zxdg_output_v1 *zxdg_output_v1, const char *name); /** * human-readable description of this output * * Many compositors can produce human-readable descriptions of * their outputs. The client may wish to know this description as * well, to communicate the user for various purposes. * * The description is a UTF-8 string with no convention defined for * its contents. Examples might include 'Foocorp 11" Display' or * 'Virtual X11 output via :1'. * * The description event is sent after creating an xdg_output (see * xdg_output_manager.get_xdg_output). This event is only sent once * per xdg_output, and the description does not change over the * lifetime of the wl_output global. The description is optional, * and may not be sent at all. * @param description output description * @since 2 */ void (*description)(void *data, struct zxdg_output_v1 *zxdg_output_v1, const char *description); }; zxdg_output_v1_add_listener int struct zxdg_output_v1 *zxdg_output_v1, const struct zxdg_output_v1_listener *listener, void *data ZXDG_OUTPUT_V1_DESTROY #define ZXDG_OUTPUT_V1_DESTROY 0 ZXDG_OUTPUT_V1_LOGICAL_POSITION_SINCE_VERSION #define ZXDG_OUTPUT_V1_LOGICAL_POSITION_SINCE_VERSION 1 ZXDG_OUTPUT_V1_LOGICAL_SIZE_SINCE_VERSION #define ZXDG_OUTPUT_V1_LOGICAL_SIZE_SINCE_VERSION 1 ZXDG_OUTPUT_V1_DONE_SINCE_VERSION #define ZXDG_OUTPUT_V1_DONE_SINCE_VERSION 1 ZXDG_OUTPUT_V1_NAME_SINCE_VERSION #define ZXDG_OUTPUT_V1_NAME_SINCE_VERSION 2 ZXDG_OUTPUT_V1_DESCRIPTION_SINCE_VERSION #define ZXDG_OUTPUT_V1_DESCRIPTION_SINCE_VERSION 2 ZXDG_OUTPUT_V1_DESTROY_SINCE_VERSION #define ZXDG_OUTPUT_V1_DESTROY_SINCE_VERSION 1 zxdg_output_v1_set_user_data void struct zxdg_output_v1 *zxdg_output_v1, void *user_data zxdg_output_v1_get_user_data void * struct zxdg_output_v1 *zxdg_output_v1 zxdg_output_v1_get_version uint32_t struct zxdg_output_v1 *zxdg_output_v1 zxdg_output_v1_destroy void struct zxdg_output_v1 *zxdg_output_v1 wl_output struct wl_output; zxdg_output_manager_v1 struct zxdg_output_manager_v1; zxdg_output_v1 struct zxdg_output_v1; XDG_WM_BASE_ERROR_ENUM #define XDG_WM_BASE_ERROR_ENUM xdg_wm_base_error enum xdg_wm_base_error { /** * given wl_surface has another role */ XDG_WM_BASE_ERROR_ROLE = 0, /** * xdg_wm_base was destroyed before children */ XDG_WM_BASE_ERROR_DEFUNCT_SURFACES = 1, /** * the client tried to map or destroy a non-topmost popup */ XDG_WM_BASE_ERROR_NOT_THE_TOPMOST_POPUP = 2, /** * the client specified an invalid popup parent surface */ XDG_WM_BASE_ERROR_INVALID_POPUP_PARENT = 3, /** * the client provided an invalid surface state */ XDG_WM_BASE_ERROR_INVALID_SURFACE_STATE = 4, /** * the client provided an invalid positioner */ XDG_WM_BASE_ERROR_INVALID_POSITIONER = 5, }; xdg_wm_base_listener struct xdg_wm_base_listener { /** * check if the client is alive * * The ping event asks the client if it's still alive. Pass the * serial specified in the event back to the compositor by sending * a "pong" request back with the specified serial. See * xdg_wm_base.ping. * * Compositors can use this to determine if the client is still * alive. It's unspecified what will happen if the client doesn't * respond to the ping request, or in what timeframe. Clients * should try to respond in a reasonable amount of time. * * A compositor is free to ping in any way it wants, but a client * must always respond to any xdg_wm_base object it created. * @param serial pass this to the pong request */ void (*ping)(void *data, struct xdg_wm_base *xdg_wm_base, uint32_t serial); }; xdg_wm_base_add_listener int struct xdg_wm_base *xdg_wm_base, const struct xdg_wm_base_listener *listener, void *data XDG_WM_BASE_DESTROY #define XDG_WM_BASE_DESTROY 0 XDG_WM_BASE_CREATE_POSITIONER #define XDG_WM_BASE_CREATE_POSITIONER 1 XDG_WM_BASE_GET_XDG_SURFACE #define XDG_WM_BASE_GET_XDG_SURFACE 2 XDG_WM_BASE_PONG #define XDG_WM_BASE_PONG 3 XDG_WM_BASE_PING_SINCE_VERSION #define XDG_WM_BASE_PING_SINCE_VERSION 1 XDG_WM_BASE_DESTROY_SINCE_VERSION #define XDG_WM_BASE_DESTROY_SINCE_VERSION 1 XDG_WM_BASE_CREATE_POSITIONER_SINCE_VERSION #define XDG_WM_BASE_CREATE_POSITIONER_SINCE_VERSION 1 XDG_WM_BASE_GET_XDG_SURFACE_SINCE_VERSION #define XDG_WM_BASE_GET_XDG_SURFACE_SINCE_VERSION 1 XDG_WM_BASE_PONG_SINCE_VERSION #define XDG_WM_BASE_PONG_SINCE_VERSION 1 xdg_wm_base_set_user_data void struct xdg_wm_base *xdg_wm_base, void *user_data xdg_wm_base_get_user_data void * struct xdg_wm_base *xdg_wm_base xdg_wm_base_get_version uint32_t struct xdg_wm_base *xdg_wm_base xdg_wm_base_destroy void struct xdg_wm_base *xdg_wm_base xdg_wm_base_create_positioner struct xdg_positioner * struct xdg_wm_base *xdg_wm_base xdg_wm_base_get_xdg_surface struct xdg_surface * struct xdg_wm_base *xdg_wm_base, struct wl_surface *surface xdg_wm_base_pong void struct xdg_wm_base *xdg_wm_base, uint32_t serial XDG_POSITIONER_ERROR_ENUM #define XDG_POSITIONER_ERROR_ENUM xdg_positioner_error enum xdg_positioner_error { /** * invalid input provided */ XDG_POSITIONER_ERROR_INVALID_INPUT = 0, }; XDG_POSITIONER_ANCHOR_ENUM #define XDG_POSITIONER_ANCHOR_ENUM xdg_positioner_anchor enum xdg_positioner_anchor { XDG_POSITIONER_ANCHOR_NONE = 0, XDG_POSITIONER_ANCHOR_TOP = 1, XDG_POSITIONER_ANCHOR_BOTTOM = 2, XDG_POSITIONER_ANCHOR_LEFT = 3, XDG_POSITIONER_ANCHOR_RIGHT = 4, XDG_POSITIONER_ANCHOR_TOP_LEFT = 5, XDG_POSITIONER_ANCHOR_BOTTOM_LEFT = 6, XDG_POSITIONER_ANCHOR_TOP_RIGHT = 7, XDG_POSITIONER_ANCHOR_BOTTOM_RIGHT = 8, }; XDG_POSITIONER_GRAVITY_ENUM #define XDG_POSITIONER_GRAVITY_ENUM xdg_positioner_gravity enum xdg_positioner_gravity { XDG_POSITIONER_GRAVITY_NONE = 0, XDG_POSITIONER_GRAVITY_TOP = 1, XDG_POSITIONER_GRAVITY_BOTTOM = 2, XDG_POSITIONER_GRAVITY_LEFT = 3, XDG_POSITIONER_GRAVITY_RIGHT = 4, XDG_POSITIONER_GRAVITY_TOP_LEFT = 5, XDG_POSITIONER_GRAVITY_BOTTOM_LEFT = 6, XDG_POSITIONER_GRAVITY_TOP_RIGHT = 7, XDG_POSITIONER_GRAVITY_BOTTOM_RIGHT = 8, }; XDG_POSITIONER_CONSTRAINT_ADJUSTMENT_ENUM #define XDG_POSITIONER_CONSTRAINT_ADJUSTMENT_ENUM xdg_positioner_constraint_adjustment enum xdg_positioner_constraint_adjustment { XDG_POSITIONER_CONSTRAINT_ADJUSTMENT_NONE = 0, XDG_POSITIONER_CONSTRAINT_ADJUSTMENT_SLIDE_X = 1, XDG_POSITIONER_CONSTRAINT_ADJUSTMENT_SLIDE_Y = 2, XDG_POSITIONER_CONSTRAINT_ADJUSTMENT_FLIP_X = 4, XDG_POSITIONER_CONSTRAINT_ADJUSTMENT_FLIP_Y = 8, XDG_POSITIONER_CONSTRAINT_ADJUSTMENT_RESIZE_X = 16, XDG_POSITIONER_CONSTRAINT_ADJUSTMENT_RESIZE_Y = 32, }; XDG_POSITIONER_DESTROY #define XDG_POSITIONER_DESTROY 0 XDG_POSITIONER_SET_SIZE #define XDG_POSITIONER_SET_SIZE 1 XDG_POSITIONER_SET_ANCHOR_RECT #define XDG_POSITIONER_SET_ANCHOR_RECT 2 XDG_POSITIONER_SET_ANCHOR #define XDG_POSITIONER_SET_ANCHOR 3 XDG_POSITIONER_SET_GRAVITY #define XDG_POSITIONER_SET_GRAVITY 4 XDG_POSITIONER_SET_CONSTRAINT_ADJUSTMENT #define XDG_POSITIONER_SET_CONSTRAINT_ADJUSTMENT 5 XDG_POSITIONER_SET_OFFSET #define XDG_POSITIONER_SET_OFFSET 6 XDG_POSITIONER_DESTROY_SINCE_VERSION #define XDG_POSITIONER_DESTROY_SINCE_VERSION 1 XDG_POSITIONER_SET_SIZE_SINCE_VERSION #define XDG_POSITIONER_SET_SIZE_SINCE_VERSION 1 XDG_POSITIONER_SET_ANCHOR_RECT_SINCE_VERSION #define XDG_POSITIONER_SET_ANCHOR_RECT_SINCE_VERSION 1 XDG_POSITIONER_SET_ANCHOR_SINCE_VERSION #define XDG_POSITIONER_SET_ANCHOR_SINCE_VERSION 1 XDG_POSITIONER_SET_GRAVITY_SINCE_VERSION #define XDG_POSITIONER_SET_GRAVITY_SINCE_VERSION 1 XDG_POSITIONER_SET_CONSTRAINT_ADJUSTMENT_SINCE_VERSION #define XDG_POSITIONER_SET_CONSTRAINT_ADJUSTMENT_SINCE_VERSION 1 XDG_POSITIONER_SET_OFFSET_SINCE_VERSION #define XDG_POSITIONER_SET_OFFSET_SINCE_VERSION 1 xdg_positioner_set_user_data void struct xdg_positioner *xdg_positioner, void *user_data xdg_positioner_get_user_data void * struct xdg_positioner *xdg_positioner xdg_positioner_get_version uint32_t struct xdg_positioner *xdg_positioner xdg_positioner_destroy void struct xdg_positioner *xdg_positioner xdg_positioner_set_size void struct xdg_positioner *xdg_positioner, int32_t width, int32_t height xdg_positioner_set_anchor_rect void struct xdg_positioner *xdg_positioner, int32_t x, int32_t y, int32_t width, int32_t height xdg_positioner_set_anchor void struct xdg_positioner *xdg_positioner, uint32_t anchor xdg_positioner_set_gravity void struct xdg_positioner *xdg_positioner, uint32_t gravity xdg_positioner_set_constraint_adjustment void struct xdg_positioner *xdg_positioner, uint32_t constraint_adjustment xdg_positioner_set_offset void struct xdg_positioner *xdg_positioner, int32_t x, int32_t y XDG_SURFACE_ERROR_ENUM #define XDG_SURFACE_ERROR_ENUM xdg_surface_error enum xdg_surface_error { XDG_SURFACE_ERROR_NOT_CONSTRUCTED = 1, XDG_SURFACE_ERROR_ALREADY_CONSTRUCTED = 2, XDG_SURFACE_ERROR_UNCONFIGURED_BUFFER = 3, }; xdg_surface_listener struct xdg_surface_listener { /** * suggest a surface change * * The configure event marks the end of a configure sequence. A * configure sequence is a set of one or more events configuring * the state of the xdg_surface, including the final * xdg_surface.configure event. * * Where applicable, xdg_surface surface roles will during a * configure sequence extend this event as a latched state sent as * events before the xdg_surface.configure event. Such events * should be considered to make up a set of atomically applied * configuration states, where the xdg_surface.configure commits * the accumulated state. * * Clients should arrange their surface for the new states, and * then send an ack_configure request with the serial sent in this * configure event at some point before committing the new surface. * * If the client receives multiple configure events before it can * respond to one, it is free to discard all but the last event it * received. * @param serial serial of the configure event */ void (*configure)(void *data, struct xdg_surface *xdg_surface, uint32_t serial); }; xdg_surface_add_listener int struct xdg_surface *xdg_surface, const struct xdg_surface_listener *listener, void *data XDG_SURFACE_DESTROY #define XDG_SURFACE_DESTROY 0 XDG_SURFACE_GET_TOPLEVEL #define XDG_SURFACE_GET_TOPLEVEL 1 XDG_SURFACE_GET_POPUP #define XDG_SURFACE_GET_POPUP 2 XDG_SURFACE_SET_WINDOW_GEOMETRY #define XDG_SURFACE_SET_WINDOW_GEOMETRY 3 XDG_SURFACE_ACK_CONFIGURE #define XDG_SURFACE_ACK_CONFIGURE 4 XDG_SURFACE_CONFIGURE_SINCE_VERSION #define XDG_SURFACE_CONFIGURE_SINCE_VERSION 1 XDG_SURFACE_DESTROY_SINCE_VERSION #define XDG_SURFACE_DESTROY_SINCE_VERSION 1 XDG_SURFACE_GET_TOPLEVEL_SINCE_VERSION #define XDG_SURFACE_GET_TOPLEVEL_SINCE_VERSION 1 XDG_SURFACE_GET_POPUP_SINCE_VERSION #define XDG_SURFACE_GET_POPUP_SINCE_VERSION 1 XDG_SURFACE_SET_WINDOW_GEOMETRY_SINCE_VERSION #define XDG_SURFACE_SET_WINDOW_GEOMETRY_SINCE_VERSION 1 XDG_SURFACE_ACK_CONFIGURE_SINCE_VERSION #define XDG_SURFACE_ACK_CONFIGURE_SINCE_VERSION 1 xdg_surface_set_user_data void struct xdg_surface *xdg_surface, void *user_data xdg_surface_get_user_data void * struct xdg_surface *xdg_surface xdg_surface_get_version uint32_t struct xdg_surface *xdg_surface xdg_surface_destroy void struct xdg_surface *xdg_surface xdg_surface_get_toplevel struct xdg_toplevel * struct xdg_surface *xdg_surface xdg_surface_get_popup struct xdg_popup * struct xdg_surface *xdg_surface, struct xdg_surface *parent, struct xdg_positioner *positioner xdg_surface_set_window_geometry void struct xdg_surface *xdg_surface, int32_t x, int32_t y, int32_t width, int32_t height xdg_surface_ack_configure void struct xdg_surface *xdg_surface, uint32_t serial XDG_TOPLEVEL_RESIZE_EDGE_ENUM #define XDG_TOPLEVEL_RESIZE_EDGE_ENUM xdg_toplevel_resize_edge enum xdg_toplevel_resize_edge { XDG_TOPLEVEL_RESIZE_EDGE_NONE = 0, XDG_TOPLEVEL_RESIZE_EDGE_TOP = 1, XDG_TOPLEVEL_RESIZE_EDGE_BOTTOM = 2, XDG_TOPLEVEL_RESIZE_EDGE_LEFT = 4, XDG_TOPLEVEL_RESIZE_EDGE_TOP_LEFT = 5, XDG_TOPLEVEL_RESIZE_EDGE_BOTTOM_LEFT = 6, XDG_TOPLEVEL_RESIZE_EDGE_RIGHT = 8, XDG_TOPLEVEL_RESIZE_EDGE_TOP_RIGHT = 9, XDG_TOPLEVEL_RESIZE_EDGE_BOTTOM_RIGHT = 10, }; XDG_TOPLEVEL_STATE_ENUM #define XDG_TOPLEVEL_STATE_ENUM xdg_toplevel_state enum xdg_toplevel_state { /** * the surface is maximized */ XDG_TOPLEVEL_STATE_MAXIMIZED = 1, /** * the surface is fullscreen */ XDG_TOPLEVEL_STATE_FULLSCREEN = 2, /** * the surface is being resized */ XDG_TOPLEVEL_STATE_RESIZING = 3, /** * the surface is now activated */ XDG_TOPLEVEL_STATE_ACTIVATED = 4, /** * @since 2 */ XDG_TOPLEVEL_STATE_TILED_LEFT = 5, /** * @since 2 */ XDG_TOPLEVEL_STATE_TILED_RIGHT = 6, /** * @since 2 */ XDG_TOPLEVEL_STATE_TILED_TOP = 7, /** * @since 2 */ XDG_TOPLEVEL_STATE_TILED_BOTTOM = 8, }; XDG_TOPLEVEL_STATE_TILED_LEFT_SINCE_VERSION #define XDG_TOPLEVEL_STATE_TILED_LEFT_SINCE_VERSION 2 XDG_TOPLEVEL_STATE_TILED_RIGHT_SINCE_VERSION #define XDG_TOPLEVEL_STATE_TILED_RIGHT_SINCE_VERSION 2 XDG_TOPLEVEL_STATE_TILED_TOP_SINCE_VERSION #define XDG_TOPLEVEL_STATE_TILED_TOP_SINCE_VERSION 2 XDG_TOPLEVEL_STATE_TILED_BOTTOM_SINCE_VERSION #define XDG_TOPLEVEL_STATE_TILED_BOTTOM_SINCE_VERSION 2 xdg_toplevel_listener struct xdg_toplevel_listener { /** * suggest a surface change * * This configure event asks the client to resize its toplevel * surface or to change its state. The configured state should not * be applied immediately. See xdg_surface.configure for details. * * The width and height arguments specify a hint to the window * about how its surface should be resized in window geometry * coordinates. See set_window_geometry. * * If the width or height arguments are zero, it means the client * should decide its own window dimension. This may happen when the * compositor needs to configure the state of the surface but * doesn't have any information about any previous or expected * dimension. * * The states listed in the event specify how the width/height * arguments should be interpreted, and possibly how it should be * drawn. * * Clients must send an ack_configure in response to this event. * See xdg_surface.configure and xdg_surface.ack_configure for * details. */ void (*configure)(void *data, struct xdg_toplevel *xdg_toplevel, int32_t width, int32_t height, struct wl_array *states); /** * surface wants to be closed * * The close event is sent by the compositor when the user wants * the surface to be closed. This should be equivalent to the user * clicking the close button in client-side decorations, if your * application has any. * * This is only a request that the user intends to close the * window. The client may choose to ignore this request, or show a * dialog to ask the user to save their data, etc. */ void (*close)(void *data, struct xdg_toplevel *xdg_toplevel); }; xdg_toplevel_add_listener int struct xdg_toplevel *xdg_toplevel, const struct xdg_toplevel_listener *listener, void *data XDG_TOPLEVEL_DESTROY #define XDG_TOPLEVEL_DESTROY 0 XDG_TOPLEVEL_SET_PARENT #define XDG_TOPLEVEL_SET_PARENT 1 XDG_TOPLEVEL_SET_TITLE #define XDG_TOPLEVEL_SET_TITLE 2 XDG_TOPLEVEL_SET_APP_ID #define XDG_TOPLEVEL_SET_APP_ID 3 XDG_TOPLEVEL_SHOW_WINDOW_MENU #define XDG_TOPLEVEL_SHOW_WINDOW_MENU 4 XDG_TOPLEVEL_MOVE #define XDG_TOPLEVEL_MOVE 5 XDG_TOPLEVEL_RESIZE #define XDG_TOPLEVEL_RESIZE 6 XDG_TOPLEVEL_SET_MAX_SIZE #define XDG_TOPLEVEL_SET_MAX_SIZE 7 XDG_TOPLEVEL_SET_MIN_SIZE #define XDG_TOPLEVEL_SET_MIN_SIZE 8 XDG_TOPLEVEL_SET_MAXIMIZED #define XDG_TOPLEVEL_SET_MAXIMIZED 9 XDG_TOPLEVEL_UNSET_MAXIMIZED #define XDG_TOPLEVEL_UNSET_MAXIMIZED 10 XDG_TOPLEVEL_SET_FULLSCREEN #define XDG_TOPLEVEL_SET_FULLSCREEN 11 XDG_TOPLEVEL_UNSET_FULLSCREEN #define XDG_TOPLEVEL_UNSET_FULLSCREEN 12 XDG_TOPLEVEL_SET_MINIMIZED #define XDG_TOPLEVEL_SET_MINIMIZED 13 XDG_TOPLEVEL_CONFIGURE_SINCE_VERSION #define XDG_TOPLEVEL_CONFIGURE_SINCE_VERSION 1 XDG_TOPLEVEL_CLOSE_SINCE_VERSION #define XDG_TOPLEVEL_CLOSE_SINCE_VERSION 1 XDG_TOPLEVEL_DESTROY_SINCE_VERSION #define XDG_TOPLEVEL_DESTROY_SINCE_VERSION 1 XDG_TOPLEVEL_SET_PARENT_SINCE_VERSION #define XDG_TOPLEVEL_SET_PARENT_SINCE_VERSION 1 XDG_TOPLEVEL_SET_TITLE_SINCE_VERSION #define XDG_TOPLEVEL_SET_TITLE_SINCE_VERSION 1 XDG_TOPLEVEL_SET_APP_ID_SINCE_VERSION #define XDG_TOPLEVEL_SET_APP_ID_SINCE_VERSION 1 XDG_TOPLEVEL_SHOW_WINDOW_MENU_SINCE_VERSION #define XDG_TOPLEVEL_SHOW_WINDOW_MENU_SINCE_VERSION 1 XDG_TOPLEVEL_MOVE_SINCE_VERSION #define XDG_TOPLEVEL_MOVE_SINCE_VERSION 1 XDG_TOPLEVEL_RESIZE_SINCE_VERSION #define XDG_TOPLEVEL_RESIZE_SINCE_VERSION 1 XDG_TOPLEVEL_SET_MAX_SIZE_SINCE_VERSION #define XDG_TOPLEVEL_SET_MAX_SIZE_SINCE_VERSION 1 XDG_TOPLEVEL_SET_MIN_SIZE_SINCE_VERSION #define XDG_TOPLEVEL_SET_MIN_SIZE_SINCE_VERSION 1 XDG_TOPLEVEL_SET_MAXIMIZED_SINCE_VERSION #define XDG_TOPLEVEL_SET_MAXIMIZED_SINCE_VERSION 1 XDG_TOPLEVEL_UNSET_MAXIMIZED_SINCE_VERSION #define XDG_TOPLEVEL_UNSET_MAXIMIZED_SINCE_VERSION 1 XDG_TOPLEVEL_SET_FULLSCREEN_SINCE_VERSION #define XDG_TOPLEVEL_SET_FULLSCREEN_SINCE_VERSION 1 XDG_TOPLEVEL_UNSET_FULLSCREEN_SINCE_VERSION #define XDG_TOPLEVEL_UNSET_FULLSCREEN_SINCE_VERSION 1 XDG_TOPLEVEL_SET_MINIMIZED_SINCE_VERSION #define XDG_TOPLEVEL_SET_MINIMIZED_SINCE_VERSION 1 xdg_toplevel_set_user_data void struct xdg_toplevel *xdg_toplevel, void *user_data xdg_toplevel_get_user_data void * struct xdg_toplevel *xdg_toplevel xdg_toplevel_get_version uint32_t struct xdg_toplevel *xdg_toplevel xdg_toplevel_destroy void struct xdg_toplevel *xdg_toplevel xdg_toplevel_set_parent void struct xdg_toplevel *xdg_toplevel, struct xdg_toplevel *parent xdg_toplevel_set_title void struct xdg_toplevel *xdg_toplevel, const char *title xdg_toplevel_set_app_id void struct xdg_toplevel *xdg_toplevel, const char *app_id xdg_toplevel_show_window_menu void struct xdg_toplevel *xdg_toplevel, struct wl_seat *seat, uint32_t serial, int32_t x, int32_t y xdg_toplevel_move void struct xdg_toplevel *xdg_toplevel, struct wl_seat *seat, uint32_t serial xdg_toplevel_resize void struct xdg_toplevel *xdg_toplevel, struct wl_seat *seat, uint32_t serial, uint32_t edges xdg_toplevel_set_max_size void struct xdg_toplevel *xdg_toplevel, int32_t width, int32_t height xdg_toplevel_set_min_size void struct xdg_toplevel *xdg_toplevel, int32_t width, int32_t height xdg_toplevel_set_maximized void struct xdg_toplevel *xdg_toplevel xdg_toplevel_unset_maximized void struct xdg_toplevel *xdg_toplevel xdg_toplevel_set_fullscreen void struct xdg_toplevel *xdg_toplevel, struct wl_output *output xdg_toplevel_unset_fullscreen void struct xdg_toplevel *xdg_toplevel xdg_toplevel_set_minimized void struct xdg_toplevel *xdg_toplevel XDG_POPUP_ERROR_ENUM #define XDG_POPUP_ERROR_ENUM xdg_popup_error enum xdg_popup_error { /** * tried to grab after being mapped */ XDG_POPUP_ERROR_INVALID_GRAB = 0, }; xdg_popup_listener struct xdg_popup_listener { /** * configure the popup surface * * This event asks the popup surface to configure itself given * the configuration. The configured state should not be applied * immediately. See xdg_surface.configure for details. * * The x and y arguments represent the position the popup was * placed at given the xdg_positioner rule, relative to the upper * left corner of the window geometry of the parent surface. * @param x x position relative to parent surface window geometry * @param y y position relative to parent surface window geometry * @param width window geometry width * @param height window geometry height */ void (*configure)(void *data, struct xdg_popup *xdg_popup, int32_t x, int32_t y, int32_t width, int32_t height); /** * popup interaction is done * * The popup_done event is sent out when a popup is dismissed by * the compositor. The client should destroy the xdg_popup object * at this point. */ void (*popup_done)(void *data, struct xdg_popup *xdg_popup); }; xdg_popup_add_listener int struct xdg_popup *xdg_popup, const struct xdg_popup_listener *listener, void *data XDG_POPUP_DESTROY #define XDG_POPUP_DESTROY 0 XDG_POPUP_GRAB #define XDG_POPUP_GRAB 1 XDG_POPUP_CONFIGURE_SINCE_VERSION #define XDG_POPUP_CONFIGURE_SINCE_VERSION 1 XDG_POPUP_POPUP_DONE_SINCE_VERSION #define XDG_POPUP_POPUP_DONE_SINCE_VERSION 1 XDG_POPUP_DESTROY_SINCE_VERSION #define XDG_POPUP_DESTROY_SINCE_VERSION 1 XDG_POPUP_GRAB_SINCE_VERSION #define XDG_POPUP_GRAB_SINCE_VERSION 1 xdg_popup_set_user_data void struct xdg_popup *xdg_popup, void *user_data xdg_popup_get_user_data void * struct xdg_popup *xdg_popup xdg_popup_get_version uint32_t struct xdg_popup *xdg_popup xdg_popup_destroy void struct xdg_popup *xdg_popup xdg_popup_grab void struct xdg_popup *xdg_popup, struct wl_seat *seat, uint32_t serial wl_output struct wl_output; wl_seat struct wl_seat; wl_surface struct wl_surface; xdg_popup struct xdg_popup; xdg_positioner struct xdg_positioner; xdg_surface struct xdg_surface; xdg_toplevel struct xdg_toplevel; xdg_wm_base struct xdg_wm_base; docs/reference/gdk/gdk4-docs.xml0000664000175000017500000000560613464200072016647 0ustar mclasenmclasen ]> GDK 4 Reference Manual This document is for the GDK 4 library, version &version;. The latest versions can be found online at https://developer.gnome.org/gdk4/. If you are looking for the older GDK 3 series of libraries, see https://developer.gnome.org/gdk3/. API Reference Index of all symbols Index of deprecated symbols docs/reference/gdk/gdk4.hierarchy0000664000175000017500000000116113464200074017071 0ustar mclasenmclasenGObject GAppLaunchContext GdkAppLaunchContext GdkClipboard GdkContentDeserializer GdkContentProvider GdkContentSerializer GdkCursor GdkDevice GdkDeviceTool GdkDisplay GdkDisplayManager GdkDrag GdkDrop GdkEvent GdkFrameClock GdkDrawContext GdkGLContext GdkVulkanContext GdkTexture GdkGLTexture GdkMemoryTexture GdkKeymap GdkMonitor GdkSeat GdkSnapshot GdkSurface GInterface GTypePlugin GAsyncResult GdkDevicePad GdkPaintable GInitable GAppInfo GBoxed GValueArray GdkContentFormats GdkRGBA GdkRectangle CairoRectangleInt CairoRegion GStrv docs/reference/gdk/gdk4.interfaces0000664000175000017500000000026113464200074017236 0ustar mclasenmclasenGdkContentDeserializer GAsyncResult GdkContentSerializer GAsyncResult GdkVulkanContext GInitable GdkTexture GdkPaintable GdkGLTexture GdkPaintable GdkMemoryTexture GdkPaintable docs/reference/gdk/gdk4-overrides.txt0000664000175000017500000000075713464200072017742 0ustar mclasenmclasen # GdkAtom is an opaque typedef GdkAtom GDK_WINDOWING_X11 #define GDK_WINDOWING_X11 GDK_WINDOWING_WIN32 #define GDK_WINDOWING_WIN32 GDK_WINDOWING_QUARTZ #define GDK_WINDOWING_QUARTZ GDK_WINDOWING_WAYLAND #define GDK_WINDOWING_WAYLAND GDK_DISABLE_DEPRECATION_WARNINGS #define GDK_DISABLE_DEPRECATION_WARNINGS docs/reference/gdk/gdk4.prerequisites0000664000175000017500000000014413464200074020017 0ustar mclasenmclasenGAsyncResult GObject GdkDevicePad GdkDevice GdkPaintable GObject GInitable GObject GAppInfo GObject docs/reference/gdk/gdk4-sections.txt0000664000175000017500000007151213464200072017564 0ustar mclasenmclasen gdk/gdk.h
General general GDK_WINDOWING_X11 GDK_WINDOWING_WIN32 GDK_WINDOWING_QUARTZ GDK_WINDOWING_WAYLAND GDK_VERSION_4_0 GDK_VERSION_MIN_REQUIRED GDK_VERSION_MAX_ALLOWED GDK_DISABLE_DEPRECATION_WARNINGS GDK_TYPE_GRAB_STATUS GDK_TYPE_STATUS GdkStatus GDKVAR gdk_axis_use_get_type gdk_byte_order_get_type gdk_crossing_mode_get_type gdk_cursor_type_get_type gdk_drag_action_get_type gdk_drag_protocol_get_type gdk_event_mask_get_type gdk_event_type_get_type gdk_extension_mode_get_type gdk_filter_return_get_type gdk_grab_ownership_get_type gdk_grab_status_get_type gdk_gravity_get_type gdk_input_mode_get_type gdk_input_source_get_type gdk_modifier_intent_get_type gdk_modifier_type_get_type gdk_notify_type_get_type gdk_prop_mode_get_type gdk_scroll_direction_get_type gdk_setting_action_get_type gdk_status_get_type gdk_visibility_state_get_type gdk_surface_attributes_type_get_type gdk_surface_edge_get_type gdk_surface_hints_get_type gdk_surface_state_get_type gdk_surface_type_get_type gdk_surface_type_hint_get_type gdk_wm_decoration_get_type gdk_wm_function_get_type GDK_AVAILABLE_IN_4_0 GDK_AVAILABLE_IN_ALL GDK_UNAVAILABLE GDK_DEPRECATED GDK_DEPRECATED_FOR GDK_DEPRECATED_IN_4_0 GDK_DEPRECATED_IN_4_0_FOR GDK_VERSION_CUR_STABLE GDK_VERSION_PREV_STABLE
gdkdisplay GdkDisplay GdkDisplay gdk_display_open gdk_display_get_default gdk_display_get_name gdk_display_device_is_grabbed gdk_display_beep gdk_display_sync gdk_display_flush gdk_display_close gdk_display_is_closed gdk_display_get_event gdk_display_peek_event gdk_display_put_event gdk_display_has_pending gdk_display_is_rgba gdk_display_is_composited gdk_display_get_default_group gdk_display_supports_shapes gdk_display_supports_input_shapes gdk_display_get_app_launch_context gdk_display_notify_startup_complete gdk_display_get_default_seat gdk_display_list_seats gdk_display_get_n_monitors gdk_display_get_monitor gdk_display_get_primary_monitor gdk_display_get_monitor_at_point gdk_display_get_monitor_at_surface gdk_display_get_clipboard gdk_display_get_primary_clipboard gdk_display_get_setting gdk_display_get_keymap GDK_DISPLAY GDK_DISPLAY_OBJECT GDK_IS_DISPLAY GDK_TYPE_DISPLAY GDK_DISPLAY_CLASS GDK_IS_DISPLAY_CLASS GDK_DISPLAY_GET_CLASS gdk_display_get_type GdkDisplayClass
gdkdisplaymanager GdkDisplayManager GdkDisplayManager gdk_display_manager_get gdk_display_manager_get_default_display gdk_display_manager_set_default_display gdk_display_manager_list_displays gdk_display_manager_open_display gdk_set_allowed_backends GDK_DISPLAY_MANAGER GDK_DISPLAY_MANAGER_CLASS GDK_DISPLAY_MANAGER_GET_CLASS GDK_IS_DISPLAY_MANAGER_CLASS GDK_IS_DISPLAY_MANAGER GDK_TYPE_DISPLAY_MANAGER GdkDisplayManagerClass gdk_display_manager_get_type
Pixbufs pixbufs gdk_pixbuf_get_from_surface
RGBA Colors rgba_colors GdkRGBA gdk_rgba_copy gdk_rgba_free gdk_rgba_is_clear gdk_rgba_is_opaque gdk_rgba_parse gdk_rgba_equal gdk_rgba_hash gdk_rgba_to_string GDK_TYPE_RGBA gdk_rgba_get_type
GdkSurface gdksurface GdkSurface GdkSurfaceType GdkSurfaceHints GdkGeometry GdkGravity GdkAnchorHints GdkSurfaceEdge GdkSurfaceTypeHint GdkSurfaceState gdk_surface_new_toplevel gdk_surface_new_popup gdk_surface_new_temp gdk_surface_new_child gdk_surface_destroy gdk_surface_get_surface_type gdk_surface_get_display gdk_surface_show gdk_surface_show_unraised gdk_surface_hide gdk_surface_is_destroyed gdk_surface_is_visible gdk_surface_is_viewable gdk_surface_is_input_only gdk_surface_get_state gdk_surface_iconify gdk_surface_deiconify gdk_surface_stick gdk_surface_unstick gdk_surface_maximize gdk_surface_unmaximize gdk_surface_fullscreen gdk_surface_fullscreen_on_monitor gdk_surface_unfullscreen GdkFullscreenMode gdk_surface_get_fullscreen_mode gdk_surface_set_fullscreen_mode gdk_surface_set_keep_above gdk_surface_set_keep_below gdk_surface_set_opacity gdk_surface_set_pass_through gdk_surface_get_pass_through gdk_surface_move gdk_surface_resize gdk_surface_move_resize gdk_surface_move_to_rect gdk_surface_has_native gdk_surface_raise gdk_surface_lower gdk_surface_restack gdk_surface_focus gdk_surface_register_dnd gdk_surface_begin_resize_drag gdk_surface_begin_resize_drag_for_device gdk_surface_begin_move_drag gdk_surface_begin_move_drag_for_device gdk_surface_show_window_menu gdk_surface_constrain_size gdk_surface_beep gdk_surface_get_scale_factor gdk_surface_set_opaque_region gdk_surface_create_gl_context gdk_surface_create_vulkan_context gdk_surface_create_cairo_context gdk_surface_queue_expose gdk_surface_freeze_updates gdk_surface_thaw_updates gdk_surface_get_frame_clock gdk_surface_set_accept_focus gdk_surface_get_accept_focus gdk_surface_set_focus_on_map gdk_surface_get_focus_on_map gdk_surface_input_shape_combine_region gdk_surface_set_child_input_shapes gdk_surface_merge_child_input_shapes gdk_surface_set_title GDK_PARENT_RELATIVE gdk_surface_set_cursor gdk_surface_get_cursor gdk_surface_get_geometry gdk_surface_set_geometry_hints gdk_surface_get_width gdk_surface_get_height gdk_surface_set_icon_list gdk_surface_set_modal_hint gdk_surface_get_modal_hint gdk_surface_set_type_hint gdk_surface_get_type_hint gdk_surface_set_shadow_width gdk_surface_get_position gdk_surface_get_root_origin gdk_surface_get_frame_extents gdk_surface_get_origin gdk_surface_get_root_coords gdk_surface_get_device_position GdkModifierType GdkModifierIntent gdk_surface_get_parent gdk_surface_get_toplevel gdk_surface_get_children gdk_surface_peek_children gdk_surface_set_icon_name gdk_surface_set_transient_for gdk_surface_set_startup_id gdk_surface_set_decorations gdk_surface_get_decorations GdkWMDecoration gdk_surface_set_functions GdkWMFunction gdk_surface_get_support_multidevice gdk_surface_set_support_multidevice gdk_surface_get_device_cursor gdk_surface_set_device_cursor gdk_surface_coords_from_parent gdk_surface_coords_to_parent GDK_SURFACE GDK_SURFACE_GET_CLASS GDK_TYPE_SURFACE GDK_IS_SURFACE GDK_SURFACE_CLASS GDK_IS_SURFACE_CLASS GDK_TYPE_FILTER_RETURN GDK_TYPE_GRAVITY GDK_TYPE_MODIFIER_TYPE GDK_TYPE_SURFACE_ATTRIBUTES_TYPE GDK_TYPE_SURFACE_EDGE GDK_TYPE_SURFACE_HINTS GDK_TYPE_SURFACE_TYPE GDK_TYPE_SURFACE_TYPE_HINT GDK_TYPE_WM_DECORATION GDK_TYPE_WM_FUNCTION GDK_TYPE_SURFACE_STATE gdk_surface_get_type gdk_surface_window_class_get_type GdkSurfaceClass GdkSurfaceImpl GdkSurfaceImplClass GdkSurfaceRedirect gdk_surface_impl_get_type gdk_fullscreen_mode_get_type
gdkcontentformats Content Formats gdk_intern_mime_type GdkContentFormats gdk_content_formats_new gdk_content_formats_new_for_gtype gdk_content_formats_ref gdk_content_formats_unref gdk_content_formats_print gdk_content_formats_to_string gdk_content_formats_get_gtypes gdk_content_formats_get_mime_types gdk_content_formats_union gdk_content_formats_match gdk_content_formats_match_gtype gdk_content_formats_match_mime_type gdk_content_formats_contain_gtype gdk_content_formats_contain_mime_type gdk_content_formats_union_serialize_gtypes gdk_content_formats_union_deserialize_gtypes gdk_content_formats_union_serialize_mime_types gdk_content_formats_union_deserialize_mime_types GdkContentFormatsBuilder gdk_content_formats_builder_new gdk_content_formats_builder_free_to_formats gdk_content_formats_builder_add_formats gdk_content_formats_builder_add_gtype gdk_content_formats_builder_add_mime_type gdk_content_formats_builder_ref gdk_content_formats_builder_unref gdk_content_formats_builder_to_formats GDK_TYPE_FILE_LIST gdk_file_list_get_type gdk_content_formats_get_type gdk_content_formats_builder_get_type
Properties and Atoms properties GdkAtom gdk_text_property_to_utf8_list_for_display gdk_utf8_to_string_target
Pango Interaction pango_interaction gdk_pango_layout_get_clip_region gdk_pango_layout_line_get_clip_region
Cairo Interaction cairo_interaction gdk_surface_create_similar_surface gdk_cairo_get_clip_rectangle gdk_cairo_set_source_rgba gdk_cairo_set_source_pixbuf gdk_cairo_rectangle gdk_cairo_region gdk_cairo_region_create_from_surface gdk_cairo_draw_from_gl gdk_cairo_surface_upload_to_gl
Points, Rectangles and Regions regions GdkPoint GdkRectangle gdk_rectangle_intersect gdk_rectangle_union gdk_rectangle_equal gdk_rectangle_contains_point gdk_rectangle_get_type
Keyboard Handling keys GdkKeymap GdkKeymapKey gdk_keymap_lookup_key gdk_keymap_translate_keyboard_state gdk_keymap_get_entries_for_keyval gdk_keymap_get_entries_for_keycode gdk_keymap_get_direction gdk_keymap_have_bidi_layouts gdk_keymap_get_caps_lock_state gdk_keymap_get_num_lock_state gdk_keymap_get_scroll_lock_state gdk_keymap_get_modifier_state gdk_keymap_add_virtual_modifiers gdk_keymap_map_virtual_modifiers gdk_keymap_get_modifier_mask gdk_keymap_get_display gdk_keyval_name gdk_keyval_from_name gdk_keyval_convert_case gdk_keyval_to_upper gdk_keyval_to_lower gdk_keyval_is_upper gdk_keyval_is_lower gdk_keyval_to_unicode gdk_unicode_to_keyval GDK_KEYMAP GDK_IS_KEYMAP GDK_TYPE_KEYMAP GDK_KEYMAP_CLASS GDK_IS_KEYMAP_CLASS GDK_KEYMAP_GET_CLASS GdkKeymapClass gdk_keymap_get_type
GdkDevice gdkdevice GdkDevice GdkInputSource GdkInputMode GdkAxisUse GdkAxisFlags GdkDeviceToolType GdkDeviceType GdkGrabOwnership gdk_device_get_name gdk_device_get_vendor_id gdk_device_get_product_id gdk_device_get_source gdk_device_set_mode gdk_device_get_mode gdk_device_set_key gdk_device_get_key gdk_device_set_axis_use gdk_device_get_axis_use gdk_device_get_associated_device gdk_device_list_slave_devices gdk_device_get_device_type gdk_device_get_display gdk_device_get_has_cursor gdk_device_get_n_axes gdk_device_get_n_keys gdk_device_get_axes gdk_device_get_seat gdk_device_get_state gdk_device_get_position gdk_device_get_surface_at_position gdk_device_get_history gdk_device_free_history GdkTimeCoord gdk_device_get_axis gdk_device_list_axes gdk_device_get_axis_value gdk_device_get_last_event_surface gdk_device_tool_get_serial gdk_device_tool_get_tool_type gdk_device_tool_get_hardware_id GDK_TYPE_AXIS_USE GDK_TYPE_EXTENSION_MODE GDK_TYPE_INPUT_MODE GDK_TYPE_INPUT_SOURCE GDK_TYPE_DEVICE_TYPE GDK_TYPE_GRAB_OWNERSHIP GDK_DEVICE GDK_DEVICE_CLASS GDK_DEVICE_GET_CLASS GDK_IS_DEVICE GDK_IS_DEVICE_CLASS GDK_TYPE_DEVICE GDK_DEVICE_TOOL GDK_IS_DEVICE_TOOL GdkDeviceClass gdk_device_get_type gdk_device_type_get_type gdk_device_tool_get_type gdk_device_tool_new GDK_MAX_TIMECOORD_AXES
GdkDevicePad gdkdevicepad GdkDevicePad GdkDevicePadFeature gdk_device_pad_get_n_groups gdk_device_pad_get_group_n_modes gdk_device_pad_get_n_features gdk_device_pad_get_feature_group GDK_TYPE_DEVICE_PAD GDK_DEVICE_PAD GDK_IS_DEVICE_PAD GDK_DEVICE_PAD_GET_IFACE gdk_device_pad_get_type
GdkSeat gdkseat GdkSeat GdkSeatCapabilities GdkGrabStatus GdkSeatGrabPrepareFunc gdk_seat_get_display gdk_seat_grab gdk_seat_ungrab gdk_seat_get_capabilities gdk_seat_get_pointer gdk_seat_get_keyboard gdk_seat_get_slaves gdk_seat_get_master_pointers GDK_SEAT GDK_IS_SEAT GDK_TYPE_SEAT GDK_TYPE_SEAT_CAPABILITIES gdk_seat_get_type gdk_seat_capabilities_get_type
Events events GdkEvent GdkEventType GdkEventMask GdkScrollDirection GdkCrossingMode GdkNotifyType GDK_CURRENT_TIME GDK_PRIORITY_EVENTS GDK_PRIORITY_REDRAW GDK_EVENT_PROPAGATE GDK_EVENT_STOP GDK_BUTTON_PRIMARY GDK_BUTTON_MIDDLE GDK_BUTTON_SECONDARY gdk_event_new gdk_event_copy gdk_event_get_axes gdk_event_get_axis gdk_event_get_button gdk_event_get_click_count gdk_event_get_coords gdk_event_get_keycode gdk_event_get_keyval gdk_event_get_root_coords gdk_event_get_scroll_direction gdk_event_get_scroll_deltas gdk_event_is_scroll_stop_event gdk_event_get_state gdk_event_get_time gdk_event_get_surface gdk_event_get_event_type GdkEventSequence gdk_event_get_event_sequence gdk_events_get_angle gdk_events_get_center gdk_events_get_distance gdk_event_triggers_context_menu gdk_event_get_seat gdk_event_get_scancode gdk_event_get_pointer_emulated gdk_event_get_crossing_detail gdk_event_get_crossing_mode gdk_event_get_drop gdk_event_get_focus_in gdk_event_get_grab_surface gdk_event_get_motion_history gdk_event_get_key_group gdk_event_get_key_is_modifier gdk_event_get_pad_axis_value gdk_event_get_pad_button gdk_event_get_pad_group_mode gdk_event_get_touch_emulating_pointer gdk_event_get_touchpad_angle_delta gdk_event_get_touchpad_deltas gdk_event_get_touchpad_gesture_n_fingers gdk_event_get_touchpad_gesture_phase gdk_event_get_touchpad_scale gdk_event_is_sent gdk_get_show_events gdk_set_show_events gdk_event_set_display gdk_event_get_display gdk_event_get_device gdk_event_set_device gdk_event_get_source_device gdk_event_set_source_device gdk_event_get_device_tool gdk_event_set_device_tool GDK_TYPE_EVENT GDK_TYPE_EVENT_MASK GDK_TYPE_EVENT_TYPE GDK_TYPE_CROSSING_MODE GDK_TYPE_SCROLL_DIRECTION GDK_TYPE_NOTIFY_TYPE GDK_IS_EVENT gdk_event_get_type gdk_event_sequence_get_type
gdkpaintable GdkPaintable GdkPaintable GdkPaintableFlags gdk_paintable_get_current_image gdk_paintable_snapshot gdk_paintable_get_flags gdk_paintable_get_intrinsic_width gdk_paintable_get_intrinsic_height gdk_paintable_get_intrinsic_aspect_ratio gdk_paintable_compute_concrete_size gdk_paintable_invalidate_contents gdk_paintable_invalidate_size gdk_paintable_new_empty GDK_TYPE_PAINTABLE gdk_paintable_get_type
Textures textures GdkTexture gdk_texture_new_for_pixbuf gdk_texture_new_from_resource gdk_texture_new_from_file gdk_texture_get_width gdk_texture_get_height gdk_texture_download gdk_texture_save_to_png GdkMemoryFormat GDK_MEMORY_DEFAULT gdk_memory_texture_new gdk_gl_texture_new gdk_gl_texture_release GdkTextureClass gdk_texture_get_type GDK_TYPE_TEXTURE GDK_IS_TEXTURE GDK_TEXTURE GdkGLTextureClass gdk_gl_texture_get_type GDK_TYPE_GL_TEXTURE GDK_IS_GL_TEXTURE GDK_GL_TEXTURE GdkMemoryTextureClass gdk_memory_texture_get_type GDK_TYPE_MEMORY_TEXTURE GDK_IS_MEMORY_TEXTURE GDK_MEMORY_TEXTURE
Cursors cursors GdkCursor gdk_cursor_new_from_texture gdk_cursor_new_from_name gdk_cursor_get_fallback gdk_cursor_get_name gdk_cursor_get_texture gdk_cursor_get_hotspot_x gdk_cursor_get_hotspot_y GDK_TYPE_CURSOR GDK_CURSOR GDK_IS_CURSOR gdk_cursor_get_type
Drag and Drop dnd GdkDrag GdkDrop GdkDragCancelReason gdk_drag_drop_done gdk_drag_begin GdkDragAction GDK_ACTION_ALL gdk_drag_get_display gdk_drag_get_actions gdk_drag_get_selected_action gdk_drag_get_formats gdk_drag_get_device gdk_drag_get_drag_surface gdk_drag_set_hotspot gdk_drag_action_is_unique gdk_drop_get_display gdk_drop_get_device gdk_drop_get_surface gdk_drop_get_formats gdk_drop_get_actions gdk_drop_get_drag gdk_drop_status gdk_drop_finish gdk_drop_read_async gdk_drop_read_finish gdk_drop_read_value_async gdk_drop_read_value_finish gdk_drop_read_text_async gdk_drop_read_text_finish GDK_DRAG GDK_TYPE_DRAG GDK_IS_DRAG GDK_DRAG_CLASS GDK_DRAG_GET_CLASS GDK_IS_DRAG_CLASS GDK_TYPE_DRAG_ACTION GDK_TYPE_DRAG_PROTOCOL GDK_TYPE_DROP GDK_DROP GDK_IS_DROP GdkDragClass gdk_drag_get_type GdkDropClass gdk_drop_get_type
gdk/gdkx.h X Window System Interaction x_interaction GDK_SURFACE_XID GDK_DISPLAY_XDISPLAY GDK_POINTER_TO_XID GDK_XID_TO_POINTER gdk_x11_lookup_xdisplay gdk_x11_get_server_time gdk_x11_device_get_id gdk_x11_device_manager_lookup gdk_disable_multidevice gdk_x11_display_open gdk_x11_display_set_program_class gdk_x11_display_get_user_time gdk_x11_display_broadcast_startup_message gdk_x11_display_get_startup_notification_id gdk_x11_display_set_startup_notification_id gdk_x11_display_get_xdisplay gdk_x11_display_get_xscreen gdk_x11_display_get_xrootwindow gdk_x11_display_get_xcursor gdk_x11_display_grab gdk_x11_display_ungrab gdk_x11_display_error_trap_push gdk_x11_display_error_trap_pop gdk_x11_display_error_trap_pop_ignored gdk_x11_display_set_cursor_theme gdk_x11_display_set_surface_scale gdk_x11_display_get_glx_version gdk_x11_register_standard_event_type gdk_x11_screen_get_screen_number gdk_x11_screen_get_xscreen gdk_x11_screen_get_window_manager_name gdk_x11_screen_get_monitor_output gdk_x11_screen_lookup_visual gdk_x11_screen_supports_net_wm_hint gdk_x11_screen_get_number_of_desktops gdk_x11_screen_get_current_desktop gdk_x11_surface_lookup_for_display gdk_x11_surface_get_xid gdk_x11_surface_set_theme_variant gdk_x11_surface_set_user_time gdk_x11_surface_move_to_current_desktop gdk_x11_surface_move_to_desktop gdk_x11_surface_get_desktop gdk_x11_surface_set_utf8_property gdk_x11_surface_set_frame_sync_enabled gdk_x11_keymap_get_group_for_state gdk_x11_keymap_key_is_modifier gdk_x11_visual_get_xvisual gdk_x11_atom_to_xatom_for_display gdk_x11_xatom_to_atom_for_display gdk_x11_get_xatom_by_name_for_display gdk_x11_get_xatom_name_for_display gdk_x11_set_sm_client_id gdk_x11_display_text_property_to_text_list gdk_x11_free_text_list gdk_x11_display_string_to_compound_text gdk_x11_display_utf8_to_compound_text gdk_x11_free_compound_text GDK_TYPE_X11_APP_LAUNCH_CONTEXT GDK_X11_APP_LAUNCH_CONTEXT GDK_X11_APP_LAUNCH_CONTEXT_CLASS GDK_IS_X11_APP_LAUNCH_CONTEXT GDK_IS_X11_APP_LAUNCH_CONTEXT_CLASS GDK_X11_APP_LAUNCH_CONTEXT_GET_CLASS GDK_TYPE_X11_DEVICE_CORE GDK_X11_DEVICE_CORE GDK_X11_DEVICE_CORE_CLASS GDK_IS_X11_DEVICE_CORE GDK_IS_X11_DEVICE_CORE_CLASS GDK_X11_DEVICE_CORE_GET_CLASS GDK_TYPE_X11_DEVICE_MANAGER_CORE GDK_X11_DEVICE_MANAGER_CORE GDK_X11_DEVICE_MANAGER_CORE_CLASS GDK_IS_X11_DEVICE_MANAGER_CORE GDK_IS_X11_DEVICE_MANAGER_CORE_CLASS GDK_X11_DEVICE_MANAGER_CORE_GET_CLASS GDK_TYPE_X11_DEVICE_MANAGER_XI2 GDK_X11_DEVICE_MANAGER_XI2 GDK_X11_DEVICE_MANAGER_XI2_CLASS GDK_IS_X11_DEVICE_MANAGER_XI2 GDK_IS_X11_DEVICE_MANAGER_XI2_CLASS GDK_X11_DEVICE_MANAGER_XI2_GET_CLASS GDK_TYPE_X11_DEVICE_MANAGER_XI GDK_X11_DEVICE_MANAGER_XI GDK_X11_DEVICE_MANAGER_XI_CLASS GDK_IS_X11_DEVICE_MANAGER_XI GDK_IS_X11_DEVICE_MANAGER_XI_CLASS GDK_X11_DEVICE_MANAGER_XI_GET_CLASS GDK_TYPE_X11_DEVICE_XI2 GDK_X11_DEVICE_XI2 GDK_X11_DEVICE_XI2_CLASS GDK_IS_X11_DEVICE_XI2 GDK_IS_X11_DEVICE_XI2_CLASS GDK_X11_DEVICE_XI2_GET_CLASS GDK_TYPE_X11_DEVICE_XI GDK_X11_DEVICE_XI GDK_X11_DEVICE_XI_CLASS GDK_IS_X11_DEVICE_XI GDK_IS_X11_DEVICE_XI_CLASS GDK_X11_DEVICE_XI_GET_CLASS GDK_TYPE_X11_DISPLAY GDK_X11_DISPLAY GDK_X11_DISPLAY_CLASS GDK_IS_X11_DISPLAY GDK_IS_X11_DISPLAY_CLASS GDK_X11_DISPLAY_GET_CLASS GDK_TYPE_X11_DRAG_CONTEXT GDK_X11_DRAG_CONTEXT GDK_X11_DRAG_CONTEXT_CLASS GDK_IS_X11_DRAG_CONTEXT GDK_IS_X11_DRAG_CONTEXT_CLASS GDK_X11_DRAG_CONTEXT_GET_CLASS GDK_TYPE_X11_KEYMAP GDK_X11_KEYMAP GDK_X11_KEYMAP_CLASS GDK_IS_X11_KEYMAP GDK_IS_X11_KEYMAP_CLASS GDK_X11_KEYMAP_GET_CLASS GDK_TYPE_X11_GL_CONTEXT GDK_X11_GL_CONTEXT GDK_X11_GL_CONTEXT_CLASS GDK_IS_X11_GL_CONTEXT GDK_IS_X11_GL_CONTEXT_CLASS GDK_TYPE_X11_SCREEN GDK_X11_SCREEN GDK_X11_SCREEN_CLASS GDK_IS_X11_SCREEN GDK_IS_X11_SCREEN_CLASS GDK_X11_SCREEN_GET_CLASS GDK_TYPE_X11_VISUAL GDK_X11_VISUAL GDK_X11_VISUAL_CLASS GDK_IS_X11_VISUAL GDK_IS_X11_VISUAL_CLASS GDK_X11_VISUAL_GET_CLASS GDK_TYPE_X11_SURFACE GDK_X11_SURFACE GDK_X11_SURFACE_CLASS GDK_IS_X11_SURFACE GDK_IS_X11_SURFACE_CLASS GDK_X11_SURFACE_GET_CLASS gdk_x11_app_launch_context_get_type gdk_x11_cursor_get_type gdk_x11_device_core_get_type gdk_x11_device_manager_core_get_type gdk_x11_device_manager_xi2_get_type gdk_x11_device_manager_xi_get_type gdk_x11_device_xi2_get_type gdk_x11_device_xi_get_type gdk_x11_display_get_type gdk_x11_display_manager_get_type gdk_x11_drag_context_get_type gdk_x11_keymap_get_type gdk_x11_screen_get_type gdk_x11_visual_get_type gdk_x11_surface_get_type gdk_surface_impl_x11_get_type
gdk/gdkwayland.h Wayland Interaction wayland_interaction gdk_wayland_seat_get_wl_seat gdk_wayland_device_get_wl_keyboard gdk_wayland_device_get_wl_pointer gdk_wayland_device_get_wl_seat gdk_wayland_display_get_wl_compositor gdk_wayland_display_get_wl_display gdk_wayland_display_query_registry gdk_wayland_surface_get_wl_surface GdkWaylandSurfaceExported gdk_wayland_surface_export_handle gdk_wayland_surface_unexport_handle gdk_wayland_surface_set_transient_for_exported GDK_TYPE_WAYLAND_DEVICE GDK_WAYLAND_DEVICE GDK_WAYLAND_DEVICE_CLASS GDK_WAYLAND_DEVICE_GET_CLASS GDK_IS_WAYLAND_DEVICE GDK_IS_WAYLAND_DEVICE_CLASS GDK_TYPE_WAYLAND_DISPLAY GDK_WAYLAND_DISPLAY GDK_WAYLAND_DISPLAY_CLASS GDK_WAYLAND_DISPLAY_GET_CLASS GDK_IS_WAYLAND_DISPLAY GDK_IS_WAYLAND_DISPLAY_CLASS GDK_TYPE_WAYLAND_DISPLAY_MANAGER GDK_WAYLAND_DISPLAY_MANAGER GDK_WAYLAND_DISPLAY_MANAGER_CLASS GDK_WAYLAND_DISPLAY_MANAGER_GET_CLASS GDK_IS_WAYLAND_DISPLAY_MANAGER GDK_IS_WAYLAND_DISPLAY_MANAGER_CLASS GDK_TYPE_WAYLAND_SURFACE GDK_WAYLAND_SURFACE GDK_WAYLAND_SURFACE_CLASS GDK_WAYLAND_SURFACE_GET_CLASS GDK_IS_WAYLAND_SURFACE GDK_IS_WAYLAND_SURFACE_CLASS gdk_wayland_device_get_type gdk_wayland_display_get_type gdk_wayland_display_manager_get_type gdk_wayland_surface_get_type
Application launching gdkapplaunchcontext GdkAppLaunchContext gdk_app_launch_context_set_desktop gdk_app_launch_context_set_timestamp gdk_app_launch_context_set_icon gdk_app_launch_context_set_icon_name GDK_APP_LAUNCH_CONTEXT GDK_APP_LAUNCH_CONTEXT_CLASS GDK_APP_LAUNCH_CONTEXT_GET_CLASS GDK_IS_APP_LAUNCH_CONTEXT GDK_IS_APP_LAUNCH_CONTEXT_CLASS GDK_TYPE_APP_LAUNCH_CONTEXT GdkAppLaunchContextClass gdk_app_launch_context_get_type
GdkFrameClock gdkframeclock GdkFrameClock gdk_frame_clock_get_frame_time GdkFrameClockPhase gdk_frame_clock_request_phase gdk_frame_clock_begin_updating gdk_frame_clock_end_updating gdk_frame_clock_get_frame_counter gdk_frame_clock_get_history_start gdk_frame_clock_get_timings gdk_frame_clock_get_current_timings gdk_frame_clock_get_refresh_info GDK_FRAME_CLOCK GDK_FRAME_CLOCK_CLASS GDK_FRAME_CLOCK_GET_CLASS GDK_FRAME_CLOCK_IDLE GDK_FRAME_CLOCK_IDLE_CLASS GDK_FRAME_CLOCK_IDLE_GET_CLASS GDK_IS_FRAME_CLOCK GDK_IS_FRAME_CLOCK_CLASS GDK_IS_FRAME_CLOCK_IDLE GDK_IS_FRAME_CLOCK_IDLE_CLASS GdkFrameClockPrivate gdk_frame_clock_get_type gdk_frame_clock_idle_get_type
GdkFrameTimings gdkframetimings GdkFrameTimings gdk_frame_timings_ref gdk_frame_timings_unref gdk_frame_timings_get_frame_counter gdk_frame_timings_get_complete gdk_frame_timings_get_frame_time gdk_frame_timings_get_presentation_time gdk_frame_timings_get_refresh_interval gdk_frame_timings_get_predicted_presentation_time gdk_frame_timings_get_type
gdkdrawcontext GdkDrawContext gdk_draw_context_get_display gdk_draw_context_get_surface gdk_draw_context_begin_frame gdk_draw_context_end_frame gdk_draw_context_is_in_frame gdk_draw_context_get_frame_region GDK_DRAW_CONTEXT GDK_IS_DRAW_CONTEXT GDK_TYPE_DRAW_CONTEXT GDK_DRAW_CONTEXT_CLASS GDK_DRAW_CONTEXT_GET_CLASS GDK_IS_DRAW_CONTEXT_CLASS gdk_draw_context_get_type
gdkglcontext GdkGLContext gdk_gl_context_get_display gdk_gl_context_get_surface gdk_gl_context_get_shared_context gdk_gl_context_get_version gdk_gl_context_set_required_version gdk_gl_context_get_required_version gdk_gl_context_set_debug_enabled gdk_gl_context_get_debug_enabled gdk_gl_context_set_forward_compatible gdk_gl_context_get_forward_compatible gdk_gl_context_set_use_es gdk_gl_context_get_use_es gdk_gl_context_is_legacy GdkGLError gdk_gl_context_realize gdk_gl_context_make_current gdk_gl_context_get_current gdk_gl_context_clear_current GDK_GL_CONTEXT GDK_IS_GL_CONTEXT GDK_TYPE_GL_CONTEXT GDK_GL_CONTEXT_CLASS GDK_GL_CONTEXT_GET_CLASS GDK_IS_GL_CONTEXT_CLASS gdk_gl_context_get_type gdk_gl_error_quark GDK_GL_ERROR GDK_TYPE_GL_ERROR GDK_TYPE_GL_PROFILE
gdkmonitor GdkMonitor gdk_monitor_get_display gdk_monitor_get_geometry gdk_monitor_get_workarea gdk_monitor_get_width_mm gdk_monitor_get_height_mm gdk_monitor_get_manufacturer gdk_monitor_get_model gdk_monitor_get_scale_factor gdk_monitor_get_refresh_rate GdkSubpixelLayout gdk_monitor_get_subpixel_layout gdk_monitor_is_primary gdk_monitor_is_valid gdk_monitor_get_type GdkMonitorClass GDK_TYPE_MONITOR GDK_MONITOR GDK_IS_MONITOR
gdkcairocontext GdkCairoContext gdk_cairo_context_cairo_create gdk_cairo_context_get_type
gdkvulkancontext GdkVulkanContext GdkVulkanError gdk_vulkan_context_get_device gdk_vulkan_context_get_draw_index gdk_vulkan_context_get_draw_semaphore gdk_vulkan_context_get_image gdk_vulkan_context_get_image_format gdk_vulkan_context_get_instance gdk_vulkan_context_get_n_images gdk_vulkan_context_get_physical_device gdk_vulkan_context_get_queue gdk_vulkan_context_get_queue_family_index gdk_vulkan_context_get_type gdk_vulkan_error_quark gdk_vulkan_strerror
gdkclipboard GdkClipboard gdk_clipboard_get_display gdk_clipboard_get_formats gdk_clipboard_is_local gdk_clipboard_get_content gdk_clipboard_store_async gdk_clipboard_store_finish gdk_clipboard_read_async gdk_clipboard_read_finish gdk_clipboard_read_value_async gdk_clipboard_read_value_finish gdk_clipboard_read_texture_async gdk_clipboard_read_texture_finish gdk_clipboard_read_text_async gdk_clipboard_read_text_finish gdk_clipboard_set_content gdk_clipboard_set gdk_clipboard_set_valist gdk_clipboard_set_value gdk_clipboard_set_text gdk_clipboard_set_texture GDK_TYPE_CLIPBOARD GDK_CLIPBOARD GDK_IS_CLIPBOARD gdk_clipboard_get_type
gdkcontentprovider GdkContentProvider GdkContentProviderClass gdk_content_provider_new_for_value gdk_content_provider_new_for_bytes gdk_content_provider_ref_formats gdk_content_provider_ref_storable_formats gdk_content_provider_content_changed gdk_content_provider_write_mime_type_async gdk_content_provider_write_mime_type_finish gdk_content_provider_get_value GDK_CONTENT_PROVIDER GDK_CONTENT_PROVIDER_CLASS GDK_CONTENT_PROVIDER_GET_CLASS GDK_IS_CONTENT_PROVIDER GDK_IS_CONTENT_PROVIDER_CLASS gdk_content_provider_get_type
gdkcontentserializer GdkContentSerializer GdkContentSerializeFunc gdk_content_serializer_get_mime_type gdk_content_serializer_get_gtype gdk_content_serializer_get_value gdk_content_serializer_get_output_stream gdk_content_serializer_get_priority gdk_content_serializer_get_cancellable gdk_content_serializer_get_user_data gdk_content_serializer_set_task_data gdk_content_serializer_get_task_data gdk_content_serializer_return_success gdk_content_serializer_return_error gdk_content_register_serializer gdk_content_serialize_async gdk_content_serialize_finish GDK_TYPE_CONTENT_SERIALIZER GDK_CONTENT_SERIALIZER GDK_IS_CONTENT_SERIALIZER gdk_content_serializer_get_type
gdkcontentdeserializer GdkContentDeserializer GdkContentDeserializeFunc gdk_content_deserializer_get_mime_type gdk_content_deserializer_get_gtype gdk_content_deserializer_get_value gdk_content_deserializer_get_input_stream gdk_content_deserializer_get_priority gdk_content_deserializer_get_cancellable gdk_content_deserializer_get_user_data gdk_content_deserializer_set_task_data gdk_content_deserializer_get_task_data gdk_content_deserializer_return_success gdk_content_deserializer_return_error gdk_content_register_deserializer gdk_content_deserialize_async gdk_content_deserialize_finish GDK_TYPE_CONTENT_DESERIALIZER GDK_CONTENT_DESERIALIZER GDK_IS_CONTENT_DESERIALIZER gdk_content_deserializer_get_type
docs/reference/gdk/gdk4.signals0000664000175000017500000001144013464200074016554 0ustar mclasenmclasen GdkClipboard::changed void l GdkClipboard *gdkclipboard GdkContentProvider::content-changed void l GdkContentProvider *gdkcontentprovider GdkDevice::changed void l GdkDevice *gdkdevice GdkDevice::tool-changed void l GdkDevice *gdkdevice GdkDeviceTool *arg1 GdkDisplay::closed void l GdkDisplay *gdkdisplay gboolean arg1 GdkDisplay::monitor-added void l GdkDisplay *gdkdisplay GdkMonitor *arg1 GdkDisplay::monitor-removed void l GdkDisplay *gdkdisplay GdkMonitor *arg1 GdkDisplay::opened void l GdkDisplay *gdkdisplay GdkDisplay::seat-added void l GdkDisplay *gdkdisplay GdkSeat *arg1 GdkDisplay::seat-removed void l GdkDisplay *gdkdisplay GdkSeat *arg1 GdkDisplay::setting-changed void l GdkDisplay *gdkdisplay gchar *arg1 GdkDisplayManager::display-opened void l GdkDisplayManager *gdkdisplaymanager GdkDisplay *arg1 GdkDrag::cancel void l GdkDrag *gdkdrag GdkDragCancelReason arg1 GdkDrag::dnd-finished void l GdkDrag *gdkdrag GdkDrag::drop-performed void l GdkDrag *gdkdrag GdkFrameClock::after-paint void l GdkFrameClock *gdkframeclock GdkFrameClock::before-paint void l GdkFrameClock *gdkframeclock GdkFrameClock::flush-events void l GdkFrameClock *gdkframeclock GdkFrameClock::layout void l GdkFrameClock *gdkframeclock GdkFrameClock::paint void l GdkFrameClock *gdkframeclock GdkFrameClock::resume-events void l GdkFrameClock *gdkframeclock GdkFrameClock::update void l GdkFrameClock *gdkframeclock GdkKeymap::direction-changed void l GdkKeymap *gdkkeymap GdkKeymap::keys-changed void l GdkKeymap *gdkkeymap GdkKeymap::state-changed void l GdkKeymap *gdkkeymap GdkMonitor::invalidate void f GdkMonitor *gdkmonitor GdkPaintable::invalidate-contents void l GdkPaintable *gdkpaintable GdkPaintable::invalidate-size void l GdkPaintable *gdkpaintable GdkSeat::device-added void l GdkSeat *gdkseat GdkDevice *arg1 GdkSeat::device-removed void l GdkSeat *gdkseat GdkDevice *arg1 GdkSeat::tool-added void l GdkSeat *gdkseat GdkDeviceTool *arg1 GdkSeat::tool-removed void l GdkSeat *gdkseat GdkDeviceTool *arg1 GdkSurface::event gboolean l GdkSurface *gdksurface GdkEvent *arg1 GdkSurface::moved-to-rect void f GdkSurface *gdksurface gpointer arg1 gpointer arg2 gboolean arg3 gboolean arg4 GdkSurface::render gboolean l GdkSurface *gdksurface CairoRegion *arg1 GdkSurface::size-changed void f GdkSurface *gdksurface gint arg1 gint arg2 GdkVulkanContext::images-updated void l GdkVulkanContext *gdkvulkancontext docs/reference/gdk/gdk4-undeclared.txt0000664000175000017500000000000013464200076020027 0ustar mclasenmclasendocs/reference/gdk/gdk4-undocumented.txt0000664000175000017500000000037013464200076020425 0ustar mclasenmclasen99% symbol docs coverage. 859 symbols documented. 1 symbols incomplete. 13 not documented. Airbrush Brush Eraser Finger GdkContentProvider::content-changed GdkContentProviderClass () GdkFrameClock GdkPaintable Lens Mouse Pen Pencil finger docs/reference/gdk/gdk4-unused.txt0000664000175000017500000003316513464200076017246 0ustar mclasenmclasenGDK_CAIRO_CONTEXT GDK_CAIRO_CONTEXT_CLASS GDK_CAIRO_CONTEXT_GET_CLASS GDK_CAIRO_ERROR GDK_EVENT GDK_EVENT_TRANSLATOR GDK_EVENT_TRANSLATOR_GET_IFACE GDK_IS_CAIRO_CONTEXT GDK_IS_CAIRO_CONTEXT_CLASS GDK_IS_EVENT_TRANSLATOR GDK_IS_SNAPSHOT GDK_IS_SURFACE_IMPL_X11 GDK_IS_SURFACE_IMPL_X11_CLASS GDK_IS_VULKAN_CONTEXT GDK_IS_WAYLAND_CAIRO_CONTEXT GDK_IS_WAYLAND_CAIRO_CONTEXT_CLASS GDK_IS_WAYLAND_CLIPBOARD GDK_IS_WAYLAND_MONITOR GDK_IS_WAYLAND_PRIMARY GDK_IS_WAYLAND_SEAT GDK_IS_WAYLAND_SEAT_CLASS GDK_IS_WAYLAND_VULKAN_CONTEXT GDK_IS_WAYLAND_VULKAN_CONTEXT_CLASS GDK_IS_X11_CAIRO_CONTEXT GDK_IS_X11_CAIRO_CONTEXT_CLASS GDK_IS_X11_CLIPBOARD GDK_IS_X11_DRAG GDK_IS_X11_DRAG_CLASS GDK_IS_X11_MONITOR GDK_IS_X11_SELECTION_INPUT_STREAM GDK_IS_X11_SELECTION_INPUT_STREAM_CLASS GDK_IS_X11_SELECTION_OUTPUT_STREAM GDK_IS_X11_SELECTION_OUTPUT_STREAM_CLASS GDK_IS_X11_TEXT_LIST_CONVERTER GDK_IS_X11_VULKAN_CONTEXT GDK_IS_X11_VULKAN_CONTEXT_CLASS GDK_MAJOR_VERSION GDK_MICRO_VERSION GDK_MINOR_VERSION GDK_SNAPSHOT GDK_SURFACE_IMPL_X11 GDK_SURFACE_IMPL_X11_CLASS GDK_SURFACE_IMPL_X11_GET_CLASS GDK_SURFACE_IS_WAYLAND GDK_SURFACE_XDISPLAY GDK_TYPE_ANCHOR_HINTS GDK_TYPE_AXIS_FLAGS GDK_TYPE_BYTE_ORDER GDK_TYPE_CAIRO_CONTEXT GDK_TYPE_CONTENT_FORMATS GDK_TYPE_CONTENT_FORMATS_BUILDER GDK_TYPE_CONTENT_PROVIDER GDK_TYPE_DEVICE_PAD_FEATURE GDK_TYPE_DEVICE_TOOL GDK_TYPE_DEVICE_TOOL_TYPE GDK_TYPE_DRAG_CANCEL_REASON GDK_TYPE_EVENT_SEQUENCE GDK_TYPE_EVENT_TRANSLATOR GDK_TYPE_FRAME_CLOCK GDK_TYPE_FRAME_CLOCK_PHASE GDK_TYPE_FULLSCREEN_MODE GDK_TYPE_MEMORY_FORMAT GDK_TYPE_MODIFIER_INTENT GDK_TYPE_PAINTABLE_FLAGS GDK_TYPE_RECTANGLE GDK_TYPE_SNAPSHOT GDK_TYPE_SUBPIXEL_LAYOUT GDK_TYPE_SURFACE_IMPL_X11 GDK_TYPE_TOUCHPAD_GESTURE_PHASE GDK_TYPE_VULKAN_CONTEXT GDK_TYPE_VULKAN_ERROR GDK_TYPE_WAYLAND_CAIRO_CONTEXT GDK_TYPE_WAYLAND_CLIPBOARD GDK_TYPE_WAYLAND_GL_CONTEXT GDK_TYPE_WAYLAND_MONITOR GDK_TYPE_WAYLAND_PRIMARY GDK_TYPE_WAYLAND_SEAT GDK_TYPE_WAYLAND_VULKAN_CONTEXT GDK_TYPE_X11_CAIRO_CONTEXT GDK_TYPE_X11_CLIPBOARD GDK_TYPE_X11_DRAG GDK_TYPE_X11_MONITOR GDK_TYPE_X11_SELECTION_INPUT_STREAM GDK_TYPE_X11_SELECTION_OUTPUT_STREAM GDK_TYPE_X11_TEXT_LIST_CONVERTER GDK_TYPE_X11_VULKAN_CONTEXT GDK_VERSION_3_92 GDK_VERSION_3_94 GDK_VISUAL_XVISUAL GDK_VULKAN_CONTEXT GDK_VULKAN_ERROR GDK_WAYLAND_CAIRO_CONTEXT GDK_WAYLAND_CAIRO_CONTEXT_CLASS GDK_WAYLAND_CAIRO_CONTEXT_GET_CLASS GDK_WAYLAND_CLIPBOARD GDK_WAYLAND_GL_CONTEXT GDK_WAYLAND_IS_GL_CONTEXT GDK_WAYLAND_MAX_THEME_SCALE GDK_WAYLAND_MONITOR GDK_WAYLAND_PRIMARY GDK_WAYLAND_SEAT GDK_WAYLAND_SEAT_CLASS GDK_WAYLAND_SEAT_GET_CLASS GDK_WAYLAND_THEME_SCALES_COUNT GDK_WAYLAND_VULKAN_CONTEXT GDK_WAYLAND_VULKAN_CONTEXT_CLASS GDK_WAYLAND_VULKAN_CONTEXT_GET_CLASS GDK_WINDOWING_BROADWAY GDK_X11_CAIRO_CONTEXT GDK_X11_CAIRO_CONTEXT_CLASS GDK_X11_CAIRO_CONTEXT_GET_CLASS GDK_X11_CLIPBOARD GDK_X11_DRAG GDK_X11_DRAG_CLASS GDK_X11_DRAG_GET_CLASS GDK_X11_IS_GL_CONTEXT GDK_X11_MONITOR GDK_X11_SELECTION_INPUT_STREAM GDK_X11_SELECTION_INPUT_STREAM_CLASS GDK_X11_SELECTION_INPUT_STREAM_GET_CLASS GDK_X11_SELECTION_OUTPUT_STREAM GDK_X11_SELECTION_OUTPUT_STREAM_CLASS GDK_X11_SELECTION_OUTPUT_STREAM_GET_CLASS GDK_X11_TEXT_LIST_CONVERTER GDK_X11_VULKAN_CONTEXT GDK_X11_VULKAN_CONTEXT_CLASS GDK_X11_VULKAN_CONTEXT_GET_CLASS GDK_ZWP_POINTER_GESTURES_V1_VERSION G_DEFINE_CONSTRUCTOR G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS G_DEFINE_DESTRUCTOR G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA G_DEFINE_DESTRUCTOR_PRAGMA_ARGS G_HAS_CONSTRUCTORS G_MSVC_CTOR G_MSVC_DTOR GdkByteOrder GdkCairoContextClass GdkChildInfoX11 GdkDeviceTool GdkDrawingContext GdkEventAny GdkEventButton GdkEventConfigure GdkEventCrossing GdkEventDND GdkEventFocus GdkEventGrabBroken GdkEventKey GdkEventMotion GdkEventPadAxis GdkEventPadButton GdkEventPadGroupMode GdkEventProximity GdkEventScroll GdkEventSetting GdkEventSource GdkEventTouch GdkEventTouchpadPinch GdkEventTouchpadSwipe GdkEventTranslator GdkEventTranslatorIface GdkGLTexture GdkMemoryTexture GdkRoundTripCallback GdkSendXEventCallback GdkSnapshot GdkSnapshotClass GdkSurfaceImplX11 GdkSurfaceImplX11Class GdkToplevelX11 GdkTouchpadGesturePhase GdkVisualType GdkWaylandCairoContext GdkWaylandCairoContextClass GdkWaylandClipboard GdkWaylandDevice GdkWaylandDeviceClass GdkWaylandDisplay GdkWaylandDisplayClass GdkWaylandGLContext GdkWaylandGLContextClass GdkWaylandMonitor GdkWaylandMonitorClass GdkWaylandPrimary GdkWaylandSeat GdkWaylandSeatClass GdkWaylandSelection GdkWaylandShellVariant GdkWaylandSurface GdkWaylandSurfaceClass GdkWaylandVulkanContext GdkWaylandVulkanContextClass GdkX11AppLaunchContext GdkX11AppLaunchContextClass GdkX11CairoContext GdkX11CairoContextClass GdkX11Clipboard GdkX11DeviceCore GdkX11DeviceCoreClass GdkX11DeviceManagerCore GdkX11DeviceManagerCoreClass GdkX11DeviceManagerXI GdkX11DeviceManagerXI2 GdkX11DeviceManagerXI2Class GdkX11DeviceManagerXIClass GdkX11DeviceXI2 GdkX11DeviceXI2Class GdkX11Display GdkX11DisplayClass GdkX11Drag GdkX11DragClass GdkX11GLContext GdkX11GLContextClass GdkX11Keymap GdkX11KeymapClass GdkX11Monitor GdkX11MonitorClass GdkX11Screen GdkX11ScreenClass GdkX11SelectionInputStream GdkX11SelectionInputStreamClass GdkX11SelectionOutputHandler GdkX11SelectionOutputStream GdkX11SelectionOutputStreamClass GdkX11Surface GdkX11SurfaceClass GdkX11TextListConverter GdkX11Visual GdkX11VisualClass GdkX11VulkanContext GdkX11VulkanContextClass GdkXPositionInfo GsdXftSettings MWM_INFO_STARTUP_CUSTOM MWM_INFO_STARTUP_STANDARD MotifWmInfo MwmInfo PROP_MOTIF_WM_HINTS_ELEMENTS PROP_MOTIF_WM_INFO_ELEMENTS PROP_MWM_HINTS_ELEMENTS PROP_MWM_INFO_ELEMENTS PropMotifWmHints PropMotifWmInfo PropMwmHints PropMwmInfo VK_USE_PLATFORM_WAYLAND_KHR VK_USE_PLATFORM_XLIB_KHR WL_POINTER_HAS_FRAME WL_SURFACE_HAS_BUFFER_SCALE XDG_POPUP_CONFIGURE_SINCE_VERSION XDG_POPUP_DESTROY XDG_POPUP_DESTROY_SINCE_VERSION XDG_POPUP_ERROR_ENUM XDG_POPUP_GRAB XDG_POPUP_GRAB_SINCE_VERSION XDG_POPUP_POPUP_DONE_SINCE_VERSION XDG_POSITIONER_ANCHOR_ENUM XDG_POSITIONER_CONSTRAINT_ADJUSTMENT_ENUM XDG_POSITIONER_DESTROY XDG_POSITIONER_DESTROY_SINCE_VERSION XDG_POSITIONER_ERROR_ENUM XDG_POSITIONER_GRAVITY_ENUM XDG_POSITIONER_SET_ANCHOR XDG_POSITIONER_SET_ANCHOR_RECT XDG_POSITIONER_SET_ANCHOR_RECT_SINCE_VERSION XDG_POSITIONER_SET_ANCHOR_SINCE_VERSION XDG_POSITIONER_SET_CONSTRAINT_ADJUSTMENT XDG_POSITIONER_SET_CONSTRAINT_ADJUSTMENT_SINCE_VERSION XDG_POSITIONER_SET_GRAVITY XDG_POSITIONER_SET_GRAVITY_SINCE_VERSION XDG_POSITIONER_SET_OFFSET XDG_POSITIONER_SET_OFFSET_SINCE_VERSION XDG_POSITIONER_SET_SIZE XDG_POSITIONER_SET_SIZE_SINCE_VERSION XDG_SURFACE_ACK_CONFIGURE XDG_SURFACE_ACK_CONFIGURE_SINCE_VERSION XDG_SURFACE_CONFIGURE_SINCE_VERSION XDG_SURFACE_DESTROY XDG_SURFACE_DESTROY_SINCE_VERSION XDG_SURFACE_ERROR_ENUM XDG_SURFACE_GET_POPUP XDG_SURFACE_GET_POPUP_SINCE_VERSION XDG_SURFACE_GET_TOPLEVEL XDG_SURFACE_GET_TOPLEVEL_SINCE_VERSION XDG_SURFACE_SET_WINDOW_GEOMETRY XDG_SURFACE_SET_WINDOW_GEOMETRY_SINCE_VERSION XDG_TOPLEVEL_CLOSE_SINCE_VERSION XDG_TOPLEVEL_CONFIGURE_SINCE_VERSION XDG_TOPLEVEL_DESTROY XDG_TOPLEVEL_DESTROY_SINCE_VERSION XDG_TOPLEVEL_MOVE XDG_TOPLEVEL_MOVE_SINCE_VERSION XDG_TOPLEVEL_RESIZE XDG_TOPLEVEL_RESIZE_EDGE_ENUM XDG_TOPLEVEL_RESIZE_SINCE_VERSION XDG_TOPLEVEL_SET_APP_ID XDG_TOPLEVEL_SET_APP_ID_SINCE_VERSION XDG_TOPLEVEL_SET_FULLSCREEN XDG_TOPLEVEL_SET_FULLSCREEN_SINCE_VERSION XDG_TOPLEVEL_SET_MAXIMIZED XDG_TOPLEVEL_SET_MAXIMIZED_SINCE_VERSION XDG_TOPLEVEL_SET_MAX_SIZE XDG_TOPLEVEL_SET_MAX_SIZE_SINCE_VERSION XDG_TOPLEVEL_SET_MINIMIZED XDG_TOPLEVEL_SET_MINIMIZED_SINCE_VERSION XDG_TOPLEVEL_SET_MIN_SIZE XDG_TOPLEVEL_SET_MIN_SIZE_SINCE_VERSION XDG_TOPLEVEL_SET_PARENT XDG_TOPLEVEL_SET_PARENT_SINCE_VERSION XDG_TOPLEVEL_SET_TITLE XDG_TOPLEVEL_SET_TITLE_SINCE_VERSION XDG_TOPLEVEL_SHOW_WINDOW_MENU XDG_TOPLEVEL_SHOW_WINDOW_MENU_SINCE_VERSION XDG_TOPLEVEL_STATE_ENUM XDG_TOPLEVEL_STATE_TILED_BOTTOM_SINCE_VERSION XDG_TOPLEVEL_STATE_TILED_LEFT_SINCE_VERSION XDG_TOPLEVEL_STATE_TILED_RIGHT_SINCE_VERSION XDG_TOPLEVEL_STATE_TILED_TOP_SINCE_VERSION XDG_TOPLEVEL_UNSET_FULLSCREEN XDG_TOPLEVEL_UNSET_FULLSCREEN_SINCE_VERSION XDG_TOPLEVEL_UNSET_MAXIMIZED XDG_TOPLEVEL_UNSET_MAXIMIZED_SINCE_VERSION XDG_WM_BASE_CREATE_POSITIONER XDG_WM_BASE_CREATE_POSITIONER_SINCE_VERSION XDG_WM_BASE_DESTROY XDG_WM_BASE_DESTROY_SINCE_VERSION XDG_WM_BASE_ERROR_ENUM XDG_WM_BASE_GET_XDG_SURFACE XDG_WM_BASE_GET_XDG_SURFACE_SINCE_VERSION XDG_WM_BASE_PING_SINCE_VERSION XDG_WM_BASE_PONG XDG_WM_BASE_PONG_SINCE_VERSION ZXDG_OUTPUT_MANAGER_V1_DESTROY ZXDG_OUTPUT_MANAGER_V1_DESTROY_SINCE_VERSION ZXDG_OUTPUT_MANAGER_V1_GET_XDG_OUTPUT ZXDG_OUTPUT_MANAGER_V1_GET_XDG_OUTPUT_SINCE_VERSION ZXDG_OUTPUT_V1_DESCRIPTION_SINCE_VERSION ZXDG_OUTPUT_V1_DESTROY ZXDG_OUTPUT_V1_DESTROY_SINCE_VERSION ZXDG_OUTPUT_V1_DONE_SINCE_VERSION ZXDG_OUTPUT_V1_LOGICAL_POSITION_SINCE_VERSION ZXDG_OUTPUT_V1_LOGICAL_SIZE_SINCE_VERSION ZXDG_OUTPUT_V1_NAME_SINCE_VERSION gdk_display_get_startup_notification_id gdk_event_set_coords gdk_event_set_keyval gdk_event_source_xevent gdk_rgba_parser_parse gdk_snapshot_get_type gdk_wayland_cairo_context_get_type gdk_wayland_clipboard_claim_remote gdk_wayland_clipboard_get_type gdk_wayland_clipboard_new gdk_wayland_device_get_data_device gdk_wayland_device_get_drop_context gdk_wayland_device_get_node_path gdk_wayland_device_pad_set_feedback gdk_wayland_device_set_selection gdk_wayland_device_unset_touch_grab gdk_wayland_display_get_output_refresh_rate gdk_wayland_display_get_output_scale gdk_wayland_display_get_startup_notification_id gdk_wayland_display_get_toplevel_surfaces gdk_wayland_display_get_wl_output gdk_wayland_display_init_gl gdk_wayland_display_make_gl_context_current gdk_wayland_display_prefers_ssd gdk_wayland_display_set_cursor_theme gdk_wayland_display_set_startup_notification_id gdk_wayland_display_system_bell gdk_wayland_drop_new gdk_wayland_drop_set_action gdk_wayland_drop_set_source_actions gdk_wayland_gl_context_get_type gdk_wayland_monitor_get_type gdk_wayland_monitor_get_wl_output gdk_wayland_primary_get_type gdk_wayland_primary_new gdk_wayland_seat_get_type gdk_wayland_seat_set_drag gdk_wayland_seat_set_global_cursor gdk_wayland_seat_update_cursor_scale gdk_wayland_surface_announce_csd gdk_wayland_surface_attach_image gdk_wayland_surface_create_gl_context gdk_wayland_surface_get_dummy_egl_surface gdk_wayland_surface_get_egl_surface gdk_wayland_surface_get_gtk_surface gdk_wayland_surface_get_wl_output gdk_wayland_surface_inhibit_shortcuts gdk_wayland_surface_new_subsurface gdk_wayland_surface_request_frame gdk_wayland_surface_restore_shortcuts gdk_wayland_surface_set_dbus_properties_libgtk_only gdk_wayland_surface_sync gdk_wayland_surface_update_scale gdk_wayland_vulkan_context_get_type gdk_x11_cairo_context_get_type gdk_x11_clipboard_formats_to_atoms gdk_x11_clipboard_formats_to_targets gdk_x11_clipboard_get_type gdk_x11_clipboard_new gdk_x11_display_get_max_request_size gdk_x11_display_get_screen gdk_x11_display_make_gl_context_current gdk_x11_display_request_selection_notification gdk_x11_drag_get_type gdk_x11_event_source_add_translator gdk_x11_event_source_new gdk_x11_event_source_select_events gdk_x11_gl_context_get_type gdk_x11_monitor_get_output gdk_x11_monitor_get_type gdk_x11_screen_get_setting gdk_x11_screen_get_work_area gdk_x11_screen_init_gl gdk_x11_selection_input_stream_get_type gdk_x11_selection_input_stream_new_async gdk_x11_selection_input_stream_new_finish gdk_x11_selection_output_stream_get_type gdk_x11_selection_output_streams_create gdk_x11_surface_create_gl_context gdk_x11_surface_get_group gdk_x11_surface_pre_damage gdk_x11_surface_set_group gdk_x11_surface_set_skip_pager_hint gdk_x11_surface_set_skip_taskbar_hint gdk_x11_surface_set_urgency_hint gdk_x11_text_list_converter_from_utf8_new gdk_x11_text_list_converter_get_type gdk_x11_text_list_converter_to_utf8_new gdk_x11_vulkan_context_get_type gdk_xsettings_manager_window_filter gdk_xsettings_root_window_filter translate_wm_button_layout_to_gtk wl_output wl_seat wl_surface xdg_popup xdg_popup_add_listener xdg_popup_destroy xdg_popup_error xdg_popup_get_user_data xdg_popup_get_version xdg_popup_grab xdg_popup_listener xdg_popup_set_user_data xdg_positioner xdg_positioner_anchor xdg_positioner_constraint_adjustment xdg_positioner_destroy xdg_positioner_error xdg_positioner_get_user_data xdg_positioner_get_version xdg_positioner_gravity xdg_positioner_set_anchor xdg_positioner_set_anchor_rect xdg_positioner_set_constraint_adjustment xdg_positioner_set_gravity xdg_positioner_set_offset xdg_positioner_set_size xdg_positioner_set_user_data xdg_surface xdg_surface_ack_configure xdg_surface_add_listener xdg_surface_destroy xdg_surface_error xdg_surface_get_popup xdg_surface_get_toplevel xdg_surface_get_user_data xdg_surface_get_version xdg_surface_listener xdg_surface_set_user_data xdg_surface_set_window_geometry xdg_toplevel xdg_toplevel_add_listener xdg_toplevel_destroy xdg_toplevel_get_user_data xdg_toplevel_get_version xdg_toplevel_listener xdg_toplevel_move xdg_toplevel_resize xdg_toplevel_resize_edge xdg_toplevel_set_app_id xdg_toplevel_set_fullscreen xdg_toplevel_set_max_size xdg_toplevel_set_maximized xdg_toplevel_set_min_size xdg_toplevel_set_minimized xdg_toplevel_set_parent xdg_toplevel_set_title xdg_toplevel_set_user_data xdg_toplevel_show_window_menu xdg_toplevel_state xdg_toplevel_unset_fullscreen xdg_toplevel_unset_maximized xdg_wm_base xdg_wm_base_add_listener xdg_wm_base_create_positioner xdg_wm_base_destroy xdg_wm_base_error xdg_wm_base_get_user_data xdg_wm_base_get_version xdg_wm_base_get_xdg_surface xdg_wm_base_listener xdg_wm_base_pong xdg_wm_base_set_user_data zxdg_output_manager_v1 zxdg_output_manager_v1_destroy zxdg_output_manager_v1_get_user_data zxdg_output_manager_v1_get_version zxdg_output_manager_v1_get_xdg_output zxdg_output_manager_v1_set_user_data zxdg_output_v1 zxdg_output_v1_add_listener zxdg_output_v1_destroy zxdg_output_v1_get_user_data zxdg_output_v1_get_version zxdg_output_v1_listener zxdg_output_v1_set_user_data docs/reference/gdk/html/0000775000175000017500000000000013464200114015300 5ustar mclasenmclasendocs/reference/gdk/html/GdkFrameClock.html0000664000175000017500000012646313464200113020635 0ustar mclasenmclasen Frame clock: GDK 4 Reference Manual

Frame clock

Frame clock — Frame clock syncs painting to a window or display

Signals

void after-paint Run Last
void before-paint Run Last
void flush-events Run Last
void layout Run Last
void paint Run Last
void resume-events Run Last
void update Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GdkFrameClock

Includes

#include <gdk/gdkwayland.h>

Description

A GdkFrameClock tells the application when to update and repaint a window. This may be synced to the vertical refresh rate of the monitor, for example. Even when the frame clock uses a simple timer rather than a hardware-based vertical sync, the frame clock helps because it ensures everything paints at the same time (reducing the total number of frames). The frame clock can also automatically stop painting when it knows the frames will not be visible, or scale back animation framerates.

GdkFrameClock is designed to be compatible with an OpenGL-based implementation or with mozRequestAnimationFrame in Firefox, for example.

A frame clock is idle until someone requests a frame with gdk_frame_clock_request_phase(). At some later point that makes sense for the synchronization being implemented, the clock will process a frame and emit signals for each phase that has been requested. (See the signals of the GdkFrameClock class for documentation of the phases. GDK_FRAME_CLOCK_PHASE_UPDATE and the “update” signal are most interesting for application writers, and are used to update the animations, using the frame time given by gdk_frame_clock_get_frame_time().

The frame time is reported in microseconds and generally in the same timescale as g_get_monotonic_time(), however, it is not the same as g_get_monotonic_time(). The frame time does not advance during the time a frame is being painted, and outside of a frame, an attempt is made so that all calls to gdk_frame_clock_get_frame_time() that are called at a “similar” time get the same value. This means that if different animations are timed by looking at the difference in time between an initial value from gdk_frame_clock_get_frame_time() and the value inside the “update” signal of the clock, they will stay exactly synchronized.

Functions

gdk_frame_clock_get_frame_time ()

gint64
gdk_frame_clock_get_frame_time (GdkFrameClock *frame_clock);

Gets the time that should currently be used for animations. Inside the processing of a frame, it’s the time used to compute the animation position of everything in a frame. Outside of a frame, it's the time of the conceptual “previous frame,” which may be either the actual previous frame time, or if that’s too old, an updated time.

Parameters

frame_clock

a GdkFrameClock

 

Returns

a timestamp in microseconds, in the timescale of of g_get_monotonic_time().


gdk_frame_clock_request_phase ()

void
gdk_frame_clock_request_phase (GdkFrameClock *frame_clock,
                               GdkFrameClockPhase phase);

Asks the frame clock to run a particular phase. The signal corresponding the requested phase will be emitted the next time the frame clock processes. Multiple calls to gdk_frame_clock_request_phase() will be combined together and only one frame processed. If you are displaying animated content and want to continually request the GDK_FRAME_CLOCK_PHASE_UPDATE phase for a period of time, you should use gdk_frame_clock_begin_updating() instead, since this allows GTK to adjust system parameters to get maximally smooth animations.

Parameters

frame_clock

a GdkFrameClock

 

phase

the phase that is requested

 

gdk_frame_clock_begin_updating ()

void
gdk_frame_clock_begin_updating (GdkFrameClock *frame_clock);

Starts updates for an animation. Until a matching call to gdk_frame_clock_end_updating() is made, the frame clock will continually request a new frame with the GDK_FRAME_CLOCK_PHASE_UPDATE phase. This function may be called multiple times and frames will be requested until gdk_frame_clock_end_updating() is called the same number of times.

Parameters

frame_clock

a GdkFrameClock

 

gdk_frame_clock_end_updating ()

void
gdk_frame_clock_end_updating (GdkFrameClock *frame_clock);

Stops updates for an animation. See the documentation for gdk_frame_clock_begin_updating().

Parameters

frame_clock

a GdkFrameClock

 

gdk_frame_clock_get_frame_counter ()

gint64
gdk_frame_clock_get_frame_counter (GdkFrameClock *frame_clock);

A GdkFrameClock maintains a 64-bit counter that increments for each frame drawn.

Parameters

frame_clock

a GdkFrameClock

 

Returns

inside frame processing, the value of the frame counter for the current frame. Outside of frame processing, the frame counter for the last frame.


gdk_frame_clock_get_history_start ()

gint64
gdk_frame_clock_get_history_start (GdkFrameClock *frame_clock);

GdkFrameClock internally keeps a history of GdkFrameTimings objects for recent frames that can be retrieved with gdk_frame_clock_get_timings(). The set of stored frames is the set from the counter values given by gdk_frame_clock_get_history_start() and gdk_frame_clock_get_frame_counter(), inclusive.

Parameters

frame_clock

a GdkFrameClock

 

Returns

the frame counter value for the oldest frame that is available in the internal frame history of the GdkFrameClock.


gdk_frame_clock_get_timings ()

GdkFrameTimings *
gdk_frame_clock_get_timings (GdkFrameClock *frame_clock,
                             gint64 frame_counter);

Retrieves a GdkFrameTimings object holding timing information for the current frame or a recent frame. The GdkFrameTimings object may not yet be complete: see gdk_frame_timings_get_complete().

Parameters

frame_clock

a GdkFrameClock

 

frame_counter

the frame counter value identifying the frame to be received.

 

Returns

the GdkFrameTimings object for the specified frame, or NULL if it is not available. See gdk_frame_clock_get_history_start().

[nullable][transfer none]


gdk_frame_clock_get_current_timings ()

GdkFrameTimings *
gdk_frame_clock_get_current_timings (GdkFrameClock *frame_clock);

Gets the frame timings for the current frame.

Parameters

frame_clock

a GdkFrameClock

 

Returns

the GdkFrameTimings for the frame currently being processed, or even no frame is being processed, for the previous frame. Before any frames have been processed, returns NULL.

[nullable][transfer none]


gdk_frame_clock_get_refresh_info ()

void
gdk_frame_clock_get_refresh_info (GdkFrameClock *frame_clock,
                                  gint64 base_time,
                                  gint64 *refresh_interval_return,
                                  gint64 *presentation_time_return);

Using the frame history stored in the frame clock, finds the last known presentation time and refresh interval, and assuming that presentation times are separated by the refresh interval, predicts a presentation time that is a multiple of the refresh interval after the last presentation time, and later than base_time .

Parameters

frame_clock

a GdkFrameClock

 

base_time

base time for determining a presentaton time

 

refresh_interval_return

a location to store the determined refresh interval, or NULL. A default refresh interval of 1/60th of a second will be stored if no history is present.

[out][optional]

presentation_time_return

a location to store the next candidate presentation time after the given base time. 0 will be will be stored if no history is present.

[out]

Types and Values

GdkFrameClock

typedef struct _GdkFrameClock GdkFrameClock;

Members


enum GdkFrameClockPhase

GdkFrameClockPhase is used to represent the different paint clock phases that can be requested. The elements of the enumeration correspond to the signals of GdkFrameClock.

Members

GDK_FRAME_CLOCK_PHASE_NONE

no phase

 

GDK_FRAME_CLOCK_PHASE_FLUSH_EVENTS

corresponds to GdkFrameClock::flush-events. Should not be handled by applications.

 

GDK_FRAME_CLOCK_PHASE_BEFORE_PAINT

corresponds to GdkFrameClock::before-paint. Should not be handled by applications.

 

GDK_FRAME_CLOCK_PHASE_UPDATE

corresponds to GdkFrameClock::update.

 

GDK_FRAME_CLOCK_PHASE_LAYOUT

corresponds to GdkFrameClock::layout.

 

GDK_FRAME_CLOCK_PHASE_PAINT

corresponds to GdkFrameClock::paint.

 

GDK_FRAME_CLOCK_PHASE_RESUME_EVENTS

corresponds to GdkFrameClock::resume-events. Should not be handled by applications.

 

GDK_FRAME_CLOCK_PHASE_AFTER_PAINT

corresponds to GdkFrameClock::after-paint. Should not be handled by applications.

 

Signal Details

The “after-paint” signal

void
user_function (GdkFrameClock *clock,
               gpointer       user_data)

This signal ends processing of the frame. Applications should generally not handle this signal.

Parameters

clock

the frame clock emitting the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “before-paint” signal

void
user_function (GdkFrameClock *clock,
               gpointer       user_data)

This signal begins processing of the frame. Applications should generally not handle this signal.

Parameters

clock

the frame clock emitting the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “flush-events” signal

void
user_function (GdkFrameClock *clock,
               gpointer       user_data)

This signal is used to flush pending motion events that are being batched up and compressed together. Applications should not handle this signal.

Parameters

clock

the frame clock emitting the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “layout” signal

void
user_function (GdkFrameClock *clock,
               gpointer       user_data)

This signal is emitted as the second step of toolkit and application processing of the frame. Any work to update sizes and positions of application elements should be performed. GTK normally handles this internally.

Parameters

clock

the frame clock emitting the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “paint” signal

void
user_function (GdkFrameClock *clock,
               gpointer       user_data)

This signal is emitted as the third step of toolkit and application processing of the frame. The frame is repainted. GDK normally handles this internally and produces expose events, which are turned into GTK “draw” signals.

Parameters

clock

the frame clock emitting the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “resume-events” signal

void
user_function (GdkFrameClock *clock,
               gpointer       user_data)

This signal is emitted after processing of the frame is finished, and is handled internally by GTK to resume normal event processing. Applications should not handle this signal.

Parameters

clock

the frame clock emitting the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “update” signal

void
user_function (GdkFrameClock *clock,
               gpointer       user_data)

This signal is emitted as the first step of toolkit and application processing of the frame. Animations should be updated using gdk_frame_clock_get_frame_time(). Applications can connect directly to this signal, or use gtk_widget_add_tick_callback() as a more convenient interface.

Parameters

clock

the frame clock emitting the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gdk/html/gdk4-X-Window-System-Interaction.html0000664000175000017500000037662213464200114024250 0ustar mclasenmclasen X Window System Interaction: GDK 4 Reference Manual

X Window System Interaction

X Window System Interaction — X backend-specific functions

Functions

#define GDK_SURFACE_XID()
#define GDK_DISPLAY_XDISPLAY()
#define GDK_POINTER_TO_XID()
#define GDK_XID_TO_POINTER()
GdkDisplay * gdk_x11_lookup_xdisplay ()
guint32 gdk_x11_get_server_time ()
gint gdk_x11_device_get_id ()
GdkDevice * gdk_x11_device_manager_lookup ()
void gdk_disable_multidevice ()
GdkDisplay * gdk_x11_display_open ()
void gdk_x11_display_set_program_class ()
guint32 gdk_x11_display_get_user_time ()
void gdk_x11_display_broadcast_startup_message ()
const gchar * gdk_x11_display_get_startup_notification_id ()
void gdk_x11_display_set_startup_notification_id ()
Display * gdk_x11_display_get_xdisplay ()
Screen * gdk_x11_display_get_xscreen ()
Window gdk_x11_display_get_xrootwindow ()
Cursor gdk_x11_display_get_xcursor ()
void gdk_x11_display_grab ()
void gdk_x11_display_ungrab ()
void gdk_x11_display_error_trap_push ()
gint gdk_x11_display_error_trap_pop ()
void gdk_x11_display_error_trap_pop_ignored ()
void gdk_x11_display_set_cursor_theme ()
void gdk_x11_display_set_surface_scale ()
gboolean gdk_x11_display_get_glx_version ()
void gdk_x11_register_standard_event_type ()
int gdk_x11_screen_get_screen_number ()
Screen * gdk_x11_screen_get_xscreen ()
const char * gdk_x11_screen_get_window_manager_name ()
XID gdk_x11_screen_get_monitor_output ()
GdkX11Visual * gdk_x11_screen_lookup_visual ()
gboolean gdk_x11_screen_supports_net_wm_hint ()
guint32 gdk_x11_screen_get_number_of_desktops ()
guint32 gdk_x11_screen_get_current_desktop ()
GdkSurface * gdk_x11_surface_lookup_for_display ()
Window gdk_x11_surface_get_xid ()
void gdk_x11_surface_set_theme_variant ()
void gdk_x11_surface_set_user_time ()
void gdk_x11_surface_move_to_current_desktop ()
void gdk_x11_surface_move_to_desktop ()
guint32 gdk_x11_surface_get_desktop ()
void gdk_x11_surface_set_utf8_property ()
void gdk_x11_surface_set_frame_sync_enabled ()
gint gdk_x11_keymap_get_group_for_state ()
gboolean gdk_x11_keymap_key_is_modifier ()
Visual * gdk_x11_visual_get_xvisual ()
Atom gdk_x11_atom_to_xatom_for_display ()
GdkAtom gdk_x11_xatom_to_atom_for_display ()
Atom gdk_x11_get_xatom_by_name_for_display ()
const gchar * gdk_x11_get_xatom_name_for_display ()
void gdk_x11_set_sm_client_id ()
gint gdk_x11_display_text_property_to_text_list ()
void gdk_x11_free_text_list ()
gint gdk_x11_display_string_to_compound_text ()
gboolean gdk_x11_display_utf8_to_compound_text ()
void gdk_x11_free_compound_text ()

Includes

#include <gdk/gdkx.h>

Description

The functions in this section are specific to the GDK X11 backend. To use them, you need to include the <gdk/gdkx.h> header and use the X11-specific pkg-config file gtk4-x11 to build your application.

To make your code compile with other GDK backends, guard backend-specific calls by an ifdef as follows. Since GDK may be built with multiple backends, you should also check for the backend that is in use (e.g. by using the GDK_IS_X11_DISPLAY() macro).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#ifdef GDK_WINDOWING_X11
  if (GDK_IS_X11_DISPLAY (display))
    {
      // make X11-specific calls here
    }
  else
#endif
#ifdef GDK_WINDOWING_QUARTZ
  if (GDK_IS_QUARTZ_DISPLAY (display))
    {
      // make Quartz-specific calls here
    }
  else
#endif
  g_error ("Unsupported GDK backend");

Functions

GDK_SURFACE_XID()

#define GDK_SURFACE_XID(win)           (gdk_x11_surface_get_xid (win))

Returns the X window belonging to a GdkSurface.

Parameters

win

a GdkSurface.

 

Returns

the Xlib Window of win .


GDK_DISPLAY_XDISPLAY()

#define GDK_DISPLAY_XDISPLAY(display) (gdk_x11_display_get_xdisplay (display))

Returns the display of a GdkDisplay.

Parameters

display

a GdkDisplay

 

Returns

an Xlib Display*


GDK_POINTER_TO_XID()

#define GDK_POINTER_TO_XID(pointer) GPOINTER_TO_UINT(pointer)

Converts a gpointer back to an XID that was previously converted using GDK_XID_TO_POINTER().

Parameters

pointer

pointer to extract an XID from

 

GDK_XID_TO_POINTER()

#define GDK_XID_TO_POINTER(xid) GUINT_TO_POINTER(xid)

Converts an XID into a gpointer . This is useful with data structures that use pointer arguments such as GHashTable. Use GDK_POINTER_TO_XID() to convert the argument back to an XID.

Parameters

xid

XID to stuff into the pointer

 

gdk_x11_lookup_xdisplay ()

GdkDisplay *
gdk_x11_lookup_xdisplay (Display *xdisplay);

Find the GdkDisplay corresponding to xdisplay , if any exists.

Parameters

xdisplay

a pointer to an X Display

 

Returns

the GdkDisplay, if found, otherwise NULL.

[transfer none][type GdkX11Display]


gdk_x11_get_server_time ()

guint32
gdk_x11_get_server_time (GdkSurface *surface);

Routine to get the current X server time stamp.

Parameters

surface

a GdkSurface, used for communication with the server. The surface must have GDK_PROPERTY_CHANGE_MASK in its events mask or a hang will result.

[type GdkX11Surface]

Returns

the time stamp.


gdk_x11_device_get_id ()

gint
gdk_x11_device_get_id (GdkDevice *device);

Returns the device ID as seen by XInput2.

If gdk_disable_multidevice() has been called, this function will respectively return 2/3 for the core pointer and keyboard, (matching the IDs for the Virtual Core Pointer and Keyboard in XInput 2), but calling this function on any slave devices (i.e. those managed via XInput 1.x), will return 0.

Parameters

device

a GdkDevice.

[type GdkX11DeviceCore]

Returns

the XInput2 device ID.


gdk_x11_device_manager_lookup ()

GdkDevice *
gdk_x11_device_manager_lookup (GdkX11DeviceManagerCore *device_manager,
                               gint device_id);

Returns the GdkDevice that wraps the given device ID.

Parameters

device_manager

a GdkDeviceManager.

[type GdkX11DeviceManagerCore]

device_id

a device ID, as understood by the XInput2 protocol

 

Returns

The GdkDevice wrapping the device ID, or NULL if the given ID doesn’t currently represent a device.

[transfer none][allow-none][type GdkX11DeviceCore]


gdk_disable_multidevice ()

void
gdk_disable_multidevice (void);

Disables multidevice support in GDKs X11 backend. This call must happen prior to gdk_display_open(), gtk_init() or gtk_init_check() in order to take effect.

Most common GTK+ applications won’t ever need to call this. Only applications that do mixed GDK/Xlib calls could want to disable multidevice support if such Xlib code deals with input devices in any way and doesn’t observe the presence of XInput 2.


gdk_x11_display_open ()

GdkDisplay *
gdk_x11_display_open (const char *display_name);

Tries to open a new display to the X server given by display_name . If opening the display fails, NULL is returned.

Parameters

display_name

name of the X display. See the XOpenDisplay() for details.

[allow-none]

Returns

The new display or NULL on error.

[nullable][transfer full]


gdk_x11_display_set_program_class ()

void
gdk_x11_display_set_program_class (GdkDisplay *display,
                                   const char *program_class);

Sets the program class.

The X11 backend uses the program class to set the class name part of the WM_CLASS property on toplevel windows; see the ICCCM.

Parameters

display

a GdkDisplay

 

program_class

a string

 

gdk_x11_display_get_user_time ()

guint32
gdk_x11_display_get_user_time (GdkDisplay *display);

Returns the timestamp of the last user interaction on display . The timestamp is taken from events caused by user interaction such as key presses or pointer movements. See gdk_x11_surface_set_user_time().

Parameters

display

a GdkDisplay.

[type GdkX11Display]

Returns

the timestamp of the last user interaction


gdk_x11_display_broadcast_startup_message ()

void
gdk_x11_display_broadcast_startup_message
                               (GdkDisplay *display,
                                const char *message_type,
                                ...);

Sends a startup notification message of type message_type to display .

This is a convenience function for use by code that implements the freedesktop startup notification specification. Applications should not normally need to call it directly. See the Startup Notification Protocol specification for definitions of the message types and keys that can be used.

Parameters

display

a GdkDisplay.

[type GdkX11Display]

message_type

startup notification message type ("new", "change", or "remove")

 

...

a list of key/value pairs (as strings), terminated by a NULL key. (A NULL value for a key will cause that key to be skipped in the output.)

 

gdk_x11_display_get_startup_notification_id ()

const gchar *
gdk_x11_display_get_startup_notification_id
                               (GdkDisplay *display);

Gets the startup notification ID for a display.

Parameters

display

a GdkDisplay.

[type GdkX11Display]

Returns

the startup notification ID for display


gdk_x11_display_set_startup_notification_id ()

void
gdk_x11_display_set_startup_notification_id
                               (GdkDisplay *display,
                                const gchar *startup_id);

Sets the startup notification ID for a display.

This is usually taken from the value of the DESKTOP_STARTUP_ID environment variable, but in some cases (such as the application not being launched using exec()) it can come from other sources.

If the ID contains the string "_TIME" then the portion following that string is taken to be the X11 timestamp of the event that triggered the application to be launched and the GDK current event time is set accordingly.

The startup ID is also what is used to signal that the startup is complete (for example, when opening a window or when calling gdk_notify_startup_complete()).

Parameters

display

a GdkDisplay.

[type GdkX11Display]

startup_id

the startup notification ID (must be valid utf8)

 

gdk_x11_display_get_xdisplay ()

Display *
gdk_x11_display_get_xdisplay (GdkDisplay *display);

Returns the X display of a GdkDisplay.

Parameters

display

a GdkDisplay.

[type GdkX11Display]

Returns

an X display.

[transfer none]


gdk_x11_display_get_xscreen ()

Screen *
gdk_x11_display_get_xscreen (GdkDisplay *display);

Returns the X Screen used by GdkDisplay.

Parameters

display

a GdkDisplay.

[type GdkX11Display]

Returns

an X Screen.

[transfer none]


gdk_x11_display_get_xrootwindow ()

Window
gdk_x11_display_get_xrootwindow (GdkDisplay *display);

Returns the root X window used by GdkDisplay.

Parameters

display

a GdkDisplay.

[type GdkX11Display]

Returns

an X Window


gdk_x11_display_get_xcursor ()

Cursor
gdk_x11_display_get_xcursor (GdkDisplay *display,
                             GdkCursor *cursor);

Returns the X cursor belonging to a GdkCursor, potentially creating the cursor.

Be aware that the returned cursor may not be unique to cursor . It may for example be shared with its fallback cursor. On old X servers that don't support the XCursor extension, all cursors may even fall back to a few default cursors.

Parameters

display

a GdkDisplay.

[type GdkX11Display]

cursor

a GdkCursor.

 

Returns

an Xlib Cursor.


gdk_x11_display_grab ()

void
gdk_x11_display_grab (GdkDisplay *display);

Call XGrabServer() on display . To ungrab the display again, use gdk_x11_display_ungrab().

gdk_x11_display_grab()/gdk_x11_display_ungrab() calls can be nested.

Parameters

display

a GdkDisplay.

[type GdkX11Display]

gdk_x11_display_ungrab ()

void
gdk_x11_display_ungrab (GdkDisplay *display);

Ungrab display after it has been grabbed with gdk_x11_display_grab().

Parameters

display

a GdkDisplay.

[type GdkX11Display]

gdk_x11_display_error_trap_push ()

void
gdk_x11_display_error_trap_push (GdkDisplay *display);

Begins a range of X requests on display for which X error events will be ignored. Unignored errors (when no trap is pushed) will abort the application. Use gdk_x11_display_error_trap_pop() or gdk_x11_display_error_trap_pop_ignored()to lift a trap pushed with this function.

See also gdk_error_trap_push() to push a trap on all displays.

Parameters

display

a GdkDisplay.

[type GdkX11Display]

gdk_x11_display_error_trap_pop ()

gint
gdk_x11_display_error_trap_pop (GdkDisplay *display);

Pops the error trap pushed by gdk_x11_display_error_trap_push(). Will XSync() if necessary and will always block until the error is known to have occurred or not occurred, so the error code can be returned.

If you don’t need to use the return value, gdk_x11_display_error_trap_pop_ignored() would be more efficient.

See gdk_error_trap_pop() for the all-displays-at-once equivalent.

Parameters

display

the display.

[type GdkX11Display]

Returns

X error code or 0 on success


gdk_x11_display_error_trap_pop_ignored ()

void
gdk_x11_display_error_trap_pop_ignored
                               (GdkDisplay *display);

Pops the error trap pushed by gdk_x11_display_error_trap_push(). Does not block to see if an error occurred; merely records the range of requests to ignore errors for, and ignores those errors if they arrive asynchronously.

See gdk_error_trap_pop_ignored() for the all-displays-at-once equivalent.

Parameters

display

the display.

[type GdkX11Display]

gdk_x11_display_set_cursor_theme ()

void
gdk_x11_display_set_cursor_theme (GdkDisplay *display,
                                  const gchar *theme,
                                  const gint size);

Sets the cursor theme from which the images for cursor should be taken.

If the windowing system supports it, existing cursors created with gdk_cursor_new(), gdk_cursor_new_for_display() and gdk_cursor_new_from_name() are updated to reflect the theme change. Custom cursors constructed with gdk_cursor_new_from_texture() will have to be handled by the application (GTK+ applications can learn about cursor theme changes by listening for change notification for the corresponding GtkSetting).

Parameters

display

a GdkDisplay.

[type GdkX11Display]

theme

the name of the cursor theme to use, or NULL to unset a previously set value.

[nullable]

size

the cursor size to use, or 0 to keep the previous size

 

gdk_x11_display_set_surface_scale ()

void
gdk_x11_display_set_surface_scale (GdkDisplay *display,
                                   gint scale);

Forces a specific window scale for all windows on this display, instead of using the default or user configured scale. This is can be used to disable scaling support by setting scale to 1, or to programmatically set the window scale.

Once the scale is set by this call it will not change in response to later user configuration changes.

Parameters

display

the display.

[type GdkX11Display]

scale

The new scale value

 

gdk_x11_display_get_glx_version ()

gboolean
gdk_x11_display_get_glx_version (GdkDisplay *display,
                                 gint *major,
                                 gint *minor);

Retrieves the version of the GLX implementation.

Parameters

display

a GdkDisplay

 

major

return location for the GLX major version.

[out]

minor

return location for the GLX minor version.

[out]

Returns

TRUE if GLX is available


gdk_x11_register_standard_event_type ()

void
gdk_x11_register_standard_event_type (GdkDisplay *display,
                                      gint event_base,
                                      gint n_events);

Registers interest in receiving extension events with type codes between event_base and event_base + n_events - 1. The registered events must have the window field in the same place as core X events (this is not the case for e.g. XKB extension events).

GDK may register the events of some X extensions on its own.

This function should only be needed in unusual circumstances, e.g. when filtering XInput extension events on the root window.

Parameters

display

a GdkDisplay.

[type GdkX11Display]

event_base

first event type code to register

 

n_events

number of event type codes to register

 

gdk_x11_screen_get_screen_number ()

int
gdk_x11_screen_get_screen_number (GdkX11Screen *screen);

Returns the index of a GdkX11Screen.

Parameters

screen

a GdkX11Screen

 

Returns

the position of screen among the screens of its display


gdk_x11_screen_get_xscreen ()

Screen *
gdk_x11_screen_get_xscreen (GdkX11Screen *screen);

Returns the screen of a GdkX11Screen.

Parameters

screen

a GdkX11Screen

 

Returns

an Xlib Screen*.

[transfer none]


gdk_x11_screen_get_window_manager_name ()

const char *
gdk_x11_screen_get_window_manager_name
                               (GdkX11Screen *screen);

Returns the name of the window manager for screen .

Parameters

screen

a GdkX11Screen

 

Returns

the name of the window manager screen screen , or "unknown" if the window manager is unknown. The string is owned by GDK and should not be freed.


gdk_x11_screen_get_monitor_output ()

XID
gdk_x11_screen_get_monitor_output (GdkX11Screen *screen,
                                   gint monitor_num);

Gets the XID of the specified output/monitor. If the X server does not support version 1.2 of the RANDR extension, 0 is returned.

Parameters

screen

a GdkX11Screen

 

monitor_num

number of the monitor, between 0 and gdk_screen_get_n_monitors (screen)

 

Returns

the XID of the monitor


gdk_x11_screen_lookup_visual ()

GdkX11Visual *
gdk_x11_screen_lookup_visual (GdkX11Screen *screen,
                              VisualID xvisualid);

Looks up the GdkVisual for a particular screen and X Visual ID.

Parameters

screen

a GdkX11Screen.

 

xvisualid

an X Visual ID.

 

Returns

the GdkVisual (owned by the screen object), or NULL if the visual ID wasn’t found.

[transfer none][type GdkX11Visual]


gdk_x11_screen_supports_net_wm_hint ()

gboolean
gdk_x11_screen_supports_net_wm_hint (GdkX11Screen *screen,
                                     GdkAtom property);

This function is specific to the X11 backend of GDK, and indicates whether the window manager supports a certain hint from the Extended Window Manager Hints specification.

When using this function, keep in mind that the window manager can change over time; so you shouldn’t use this function in a way that impacts persistent application state. A common bug is that your application can start up before the window manager does when the user logs in, and before the window manager starts gdk_x11_screen_supports_net_wm_hint() will return FALSE for every property. You can monitor the window_manager_changed signal on GdkX11Screen to detect a window manager change.

Parameters

screen

the relevant GdkX11Screen.

 

property

a property atom.

 

Returns

TRUE if the window manager supports property


gdk_x11_screen_get_number_of_desktops ()

guint32
gdk_x11_screen_get_number_of_desktops (GdkX11Screen *screen);

Returns the number of workspaces for screen when running under a window manager that supports multiple workspaces, as described in the Extended Window Manager Hints specification.

Parameters

screen

a GdkX11Screen

 

Returns

the number of workspaces, or 0 if workspaces are not supported


gdk_x11_screen_get_current_desktop ()

guint32
gdk_x11_screen_get_current_desktop (GdkX11Screen *screen);

Returns the current workspace for screen when running under a window manager that supports multiple workspaces, as described in the Extended Window Manager Hints specification.

Parameters

screen

a GdkX11Screen

 

Returns

the current workspace, or 0 if workspaces are not supported


gdk_x11_surface_lookup_for_display ()

GdkSurface *
gdk_x11_surface_lookup_for_display (GdkDisplay *display,
                                    Window window);

Looks up the GdkSurface that wraps the given native window handle.

Parameters

display

the GdkDisplay corresponding to the window handle.

[type GdkX11Display]

window

an Xlib Window

 

Returns

the GdkSurface wrapper for the native window, or NULL if there is none.

[transfer none][type GdkX11Surface]


gdk_x11_surface_get_xid ()

Window
gdk_x11_surface_get_xid (GdkSurface *surface);

Returns the X resource (surface) belonging to a GdkSurface.

Parameters

surface

a native GdkSurface.

[type GdkX11Surface]

Returns

the ID of drawable ’s X resource.


gdk_x11_surface_set_theme_variant ()

void
gdk_x11_surface_set_theme_variant (GdkSurface *surface,
                                   const char *variant);

GTK+ applications can request a dark theme variant. In order to make other applications - namely window managers using GTK+ for themeing - aware of this choice, GTK+ uses this function to export the requested theme variant as _GTK_THEME_VARIANT property on toplevel surfaces.

Note that this property is automatically updated by GTK+, so this function should only be used by applications which do not use GTK+ to create toplevel surfaces.

Parameters

surface

a GdkSurface.

[type GdkX11Surface]

variant

the theme variant to export

 

gdk_x11_surface_set_user_time ()

void
gdk_x11_surface_set_user_time (GdkSurface *surface,
                               guint32 timestamp);

The application can use this call to update the _NET_WM_USER_TIME property on a toplevel surface. This property stores an Xserver time which represents the time of the last user input event received for this surface. This property may be used by the window manager to alter the focus, stacking, and/or placement behavior of surfaces when they are mapped depending on whether the new surface was created by a user action or is a "pop-up" surface activated by a timer or some other event.

Note that this property is automatically updated by GDK, so this function should only be used by applications which handle input events bypassing GDK.

Parameters

surface

A toplevel GdkSurface.

[type GdkX11Surface]

timestamp

An XServer timestamp to which the property should be set

 

gdk_x11_surface_move_to_current_desktop ()

void
gdk_x11_surface_move_to_current_desktop
                               (GdkSurface *surface);

Moves the surface to the correct workspace when running under a window manager that supports multiple workspaces, as described in the Extended Window Manager Hints specification. Will not do anything if the surface is already on all workspaces.

Parameters

surface

a GdkSurface.

[type GdkX11Surface]

gdk_x11_surface_move_to_desktop ()

void
gdk_x11_surface_move_to_desktop (GdkSurface *surface,
                                 guint32 desktop);

Moves the surface to the given workspace when running unde a window manager that supports multiple workspaces, as described in the Extended Window Manager Hints specification.

Parameters

surface

a GdkSurface.

[type GdkX11Surface]

desktop

the number of the workspace to move the surface to

 

gdk_x11_surface_get_desktop ()

guint32
gdk_x11_surface_get_desktop (GdkSurface *surface);

Gets the number of the workspace surface is on.

Parameters

surface

a GdkSurface.

[type GdkX11Surface]

Returns

the current workspace of surface


gdk_x11_surface_set_utf8_property ()

void
gdk_x11_surface_set_utf8_property (GdkSurface *surface,
                                   const gchar *name,
                                   const gchar *value);

This function modifies or removes an arbitrary X11 window property of type UTF8_STRING. If the given surface is not a toplevel surface, it is ignored.

Parameters

surface

a GdkSurface.

[type GdkX11Surface]

name

Property name, will be interned as an X atom

 

value

Property value, or NULL to delete.

[allow-none]

gdk_x11_surface_set_frame_sync_enabled ()

void
gdk_x11_surface_set_frame_sync_enabled
                               (GdkSurface *surface,
                                gboolean frame_sync_enabled);

This function can be used to disable frame synchronization for a surface. Normally frame synchronziation will be enabled or disabled based on whether the system has a compositor that supports frame synchronization, but if the surface is not directly managed by the window manager, then frame synchronziation may need to be disabled. This is the case for a surface embedded via the XEMBED protocol.

Parameters

surface

a native GdkSurface.

[type GdkX11Surface]

frame_sync_enabled

whether frame-synchronization should be enabled

 

gdk_x11_keymap_get_group_for_state ()

gint
gdk_x11_keymap_get_group_for_state (GdkKeymap *keymap,
                                    guint state);

Extracts the group from the state field sent in an X Key event. This is only needed for code processing raw X events, since GdkEventKey directly includes an is_modifier field.

Parameters

keymap

a GdkX11Keymap.

[type GdkX11Keymap]

state

raw state returned from X

 

Returns

the index of the active keyboard group for the event


gdk_x11_keymap_key_is_modifier ()

gboolean
gdk_x11_keymap_key_is_modifier (GdkKeymap *keymap,
                                guint keycode);

Determines whether a particular key code represents a key that is a modifier. That is, it’s a key that normally just affects the keyboard state and the behavior of other keys rather than producing a direct effect itself. This is only needed for code processing raw X events, since GdkEventKey directly includes an is_modifier field.

Parameters

keymap

a GdkX11Keymap.

[type GdkX11Keymap]

keycode

the hardware keycode from a key event

 

Returns

TRUE if the hardware keycode is a modifier key


gdk_x11_visual_get_xvisual ()

Visual *
gdk_x11_visual_get_xvisual (GdkX11Visual *visual);

Returns the X visual belonging to a GdkVisual.

Parameters

visual

a GdkVisual.

[type GdkX11Visual]

Returns

an Xlib Visual*.

[transfer none]


gdk_x11_atom_to_xatom_for_display ()

Atom
gdk_x11_atom_to_xatom_for_display (GdkDisplay *display,
                                   GdkAtom atom);

Converts from a GdkAtom to the X atom for a GdkDisplay with the same string value. The special value NULL is converted to None.

Parameters

display

A GdkDisplay.

[type GdkX11Display]

atom

A GdkAtom, or NULL

 

Returns

the X atom corresponding to atom , or None


gdk_x11_xatom_to_atom_for_display ()

GdkAtom
gdk_x11_xatom_to_atom_for_display (GdkDisplay *display,
                                   Atom xatom);

Convert from an X atom for a GdkDisplay to the corresponding GdkAtom.

Parameters

display

A GdkDisplay.

[type GdkX11Display]

xatom

an X atom

 

Returns

the corresponding GdkAtom.

[transfer none]


gdk_x11_get_xatom_by_name_for_display ()

Atom
gdk_x11_get_xatom_by_name_for_display (GdkDisplay *display,
                                       const gchar *atom_name);

Returns the X atom for a GdkDisplay corresponding to atom_name . This function caches the result, so if called repeatedly it is much faster than XInternAtom(), which is a round trip to the server each time.

Parameters

display

a GdkDisplay.

[type GdkX11Display]

atom_name

a string

 

Returns

a X atom for a GdkDisplay


gdk_x11_get_xatom_name_for_display ()

const gchar *
gdk_x11_get_xatom_name_for_display (GdkDisplay *display,
                                    Atom xatom);

Returns the name of an X atom for its display. This function is meant mainly for debugging, so for convenience, unlike XAtomName() and the result doesn’t need to be freed.

Parameters

display

the GdkDisplay where xatom is defined.

[type GdkX11Display]

xatom

an X atom

 

Returns

name of the X atom; this string is owned by GDK, so it shouldn’t be modifed or freed.


gdk_x11_set_sm_client_id ()

void
gdk_x11_set_sm_client_id (const gchar *sm_client_id);

Sets the SM_CLIENT_ID property on the application’s leader window so that the window manager can save the application’s state using the X11R6 ICCCM session management protocol.

See the X Session Management Library documentation for more information on session management and the Inter-Client Communication Conventions Manual

Parameters

sm_client_id

the client id assigned by the session manager when the connection was opened, or NULL to remove the property.

[nullable]

gdk_x11_display_text_property_to_text_list ()

gint
gdk_x11_display_text_property_to_text_list
                               (GdkDisplay *display,
                                GdkAtom encoding,
                                gint format,
                                const guchar *text,
                                gint length,
                                gchar ***list);

Convert a text string from the encoding as it is stored in a property into an array of strings in the encoding of the current locale. (The elements of the array represent the nul-separated elements of the original text string.)

Parameters

display

The GdkDisplay where the encoding is defined.

[type GdkX11Display]

encoding

an atom representing the encoding. The most common values for this are STRING, or COMPOUND_TEXT. This is value used as the type for the property

 

format

the format of the property

 

text

The text data

 

length

The number of items to transform

 

list

location to store an array of strings in the encoding of the current locale. This array should be freed using gdk_free_text_list().

 

Returns

the number of strings stored in list, or 0, if the conversion failed


gdk_x11_free_text_list ()

void
gdk_x11_free_text_list (gchar **list);

Frees the array of strings created by gdk_x11_display_text_property_to_text_list().

Parameters

list

the value stored in the list parameter by a call to gdk_x11_display_text_property_to_text_list().

 

gdk_x11_display_string_to_compound_text ()

gint
gdk_x11_display_string_to_compound_text
                               (GdkDisplay *display,
                                const gchar *str,
                                GdkAtom *encoding,
                                gint *format,
                                guchar **ctext,
                                gint *length);

Convert a string from the encoding of the current locale into a form suitable for storing in a window property.

Parameters

display

the GdkDisplay where the encoding is defined.

[type GdkX11Display]

str

a nul-terminated string

 

encoding

location to store the encoding atom (to be used as the type for the property).

[out][transfer none]

format

location to store the format of the property.

[out]

ctext

location to store newly allocated data for the property.

[out][array length=length]

length

the length of ctext , in bytes

 

Returns

0 upon success, non-zero upon failure


gdk_x11_display_utf8_to_compound_text ()

gboolean
gdk_x11_display_utf8_to_compound_text (GdkDisplay *display,
                                       const gchar *str,
                                       GdkAtom *encoding,
                                       gint *format,
                                       guchar **ctext,
                                       gint *length);

Converts from UTF-8 to compound text.

Parameters

display

a GdkDisplay.

[type GdkX11Display]

str

a UTF-8 string

 

encoding

location to store resulting encoding.

[out]

format

location to store format of the result.

[out]

ctext

location to store the data of the result.

[out][array length=length]

length

location to store the length of the data stored in ctext

 

Returns

TRUE if the conversion succeeded, otherwise FALSE


gdk_x11_free_compound_text ()

void
gdk_x11_free_compound_text (guchar *ctext);

Frees the data returned from gdk_x11_display_string_to_compound_text().

Parameters

ctext

The pointer stored in ctext from a call to gdk_x11_display_string_to_compound_text().

 

Types and Values

docs/reference/gdk/html/text_cursor.png0000664000175000017500000000151413464200072020373 0ustar mclasenmclasenPNG  IHDR szzsBIT|d pHYsttfxtEXtSoftwarewww.inkscape.org<tEXtAuthorJakub Steiner/5tEXtDescriptionInverted variant of the DMZ cursor theme.hu[<3tEXtSourcehttp://jimmac.musichall.cz/themes.php?skin=7P3)IDATX햱kaw5H# -'i;)!C -BqqNt0C:n-^P1JMӪKp(x']{˲W4 0`m2h4moon$VeYI&XTU@u{ooﭮW ٬ 4Mpzn;;;eލjĜѨ0 zo۶2nnyxJ^tUl^R|,n 7V- ,1kR( \g _ښpr@LJR󜆖e]d2p"677EVhHir ~D"uUU{\y TUb(L&_"e>xgvςY b*Z@f6q_r (?J,IENDB`docs/reference/gdk/html/annotation-glossary.html0000664000175000017500000001551113464200113022203 0ustar mclasenmclasen Annotation Glossary: GDK 4 Reference Manual

Annotation Glossary

A

allow-none

NULL is OK, both for passing and for returning.

array

Parameter points to an array of items.

C

closure

This parameter is a 'user_data', for callbacks; many bindings can pass NULL here.

constructor

This symbol is a constructor, not a static method.

E

element-type

Generics and defining elements of containers and arrays.

I

inout

Parameter for input and for returning results. Default is transfer full.

N

not nullable

NULL must not be passed as the value in, out, in-out; or as a return value.

nullable

NULL may be passed as the value in, out, in-out; or as a return value.

O

optional

NULL may be passed instead of a pointer to a location.

out

Parameter for returning results. Default is transfer full.

out caller-allocates

Out parameter, where caller must allocate storage.

P

Private

An interface that can be used within the GNOME stack itself, but that is not documented for end-users. Such functions should only be used in specified and documented ways.

R

rename-to

Rename the original symbol's name to SYMBOL.

S

scope async

The callback is valid until first called.

scope call

The callback is valid only during the call to the method.

skip

Exposed in C code, not necessarily available in other languages.

T

transfer container

Free data container after the code is done.

transfer full

Free data after the code is done.

transfer none

Don't free data after the code is done.

type

Override the parsed C type with given type.

docs/reference/gdk/html/copy_cursor.png0000664000175000017500000000245513464200072020366 0ustar mclasenmclasenPNG  IHDR szzsBIT|d pHYsnn^tEXtSoftwarewww.inkscape.org<tEXtAuthorJakub Steiner/5tEXtDescriptionInverted variant of the DMZ cursor theme.hu[<3tEXtSourcehttp://jimmac.musichall.cz/themes.php?skin=7P3 IDATXOhW?ov͘1&Ka\.bi.Cr"xۃЃPAK=饅EO-XZjR*` AR7Үۮozl5ٶ?7^gE>c/a>ða-..~z!Pe""NLLU&a݌h|֭/o.!O:$I={H>{JX]vΝ;ٳrtǜAjE (d``@_N>-lV٬?~\DD0@ucSSSё#G$"qG֢|>/tZl۶W;&I$.]zXwN`?zOW+[)al\K_Ӣ]߁ eP=w5;;ɓ'+9[i5ǣ6A1P,CkM&ZuNY%{a` RM6aY@Y1ՎT*eYoiyʶmQ|h48?+q>,a.[Һ7PR9@5 ܹ<{.IT38hRrwB,/^l(E.cxxzNXZBDj5ZzAk`YV#ׯ_BXy 6A1IoR$I]kImižJ'gffԩST*) Cp]mugh6E'~V_oQ , 4IENDB`docs/reference/gdk/html/GdkContentSerializer.html0000664000175000017500000010547013464200113022266 0ustar mclasenmclasen GdkContentSerializer: GDK 4 Reference Manual

GdkContentSerializer

GdkContentSerializer — Serialize content for transfer

Types and Values

Object Hierarchy

    GObject
    ╰── GdkContentSerializer

Implemented Interfaces

GdkContentSerializer implements GAsyncResult.

Includes

#include <gdk/gdkwayland.h>

Description

A GdkContentSerializer is used to serialize content for inter-application data transfers.

Functions

GdkContentSerializeFunc ()

void
(*GdkContentSerializeFunc) (GdkContentSerializer *serializer);

The type of a function that can be registered with gdk_content_register_serializer(). When the function gets called to operate on content, it can call functions on the serializer object to obtain the mime type, output stream, user data, etc. for its operation.

Parameters

serializer

a GdkContentSerializer

 

gdk_content_serializer_get_mime_type ()

const char *
gdk_content_serializer_get_mime_type (GdkContentSerializer *serializer);

Gets the mime type to serialize to.

Parameters

serializer

a GdkContentSerializer

 

Returns

the mime type for the current operation.

[transfer none]


gdk_content_serializer_get_gtype ()

GType
gdk_content_serializer_get_gtype (GdkContentSerializer *serializer);

Gets the GType to of the object to serialize.

Parameters

serializer

a GdkContentSerializer

 

Returns

the GType for the current operation


gdk_content_serializer_get_value ()

const GValue *
gdk_content_serializer_get_value (GdkContentSerializer *serializer);

Gets the GValue to read the object to serialize from.

Parameters

serializer

a GdkContentSerializer

 

Returns

the GValue for the current operation.

[transfer none]


gdk_content_serializer_get_output_stream ()

GOutputStream *
gdk_content_serializer_get_output_stream
                               (GdkContentSerializer *serializer);

Gets the output stream that was passed to gdk_content_serialize_async().

Parameters

serializer

a GdkContentSerializer

 

Returns

the output stream for the current operation.

[transfer none]


gdk_content_serializer_get_priority ()

int
gdk_content_serializer_get_priority (GdkContentSerializer *serializer);

Gets the io priority that was passed to gdk_content_serialize_async().

Parameters

serializer

a GdkContentSerializer

 

Returns

the io priority for the current operation


gdk_content_serializer_get_cancellable ()

GCancellable *
gdk_content_serializer_get_cancellable
                               (GdkContentSerializer *serializer);

Gets the cancellable that was passed to gdk_content_serialize_async().

Parameters

serializer

a GdkContentSerializer

 

Returns

the cancellable for the current operation.

[transfer none]


gdk_content_serializer_get_user_data ()

gpointer
gdk_content_serializer_get_user_data (GdkContentSerializer *serializer);

Gets the user data that was passed when the serializer was registered.

Parameters

serializer

a GdkContentSerializer

 

Returns

the user data for this serializer.

[transfer none]


gdk_content_serializer_set_task_data ()

void
gdk_content_serializer_set_task_data (GdkContentSerializer *serializer,
                                      gpointer data,
                                      GDestroyNotify notify);

Associate data with the current serialization operation.

Parameters

serializer

a GdkContentSerializer

 

data

data to associate with this operation

 

notify

destroy notify for data

 

gdk_content_serializer_get_task_data ()

gpointer
gdk_content_serializer_get_task_data (GdkContentSerializer *serializer);

Gets the data that was associated with serializer via gdk_content_serializer_set_task_data().

Parameters

serializer

a GdkContentSerializer

 

Returns

the task data for serializer .

[transfer none]


gdk_content_serializer_return_success ()

void
gdk_content_serializer_return_success (GdkContentSerializer *serializer);

Indicate that the serialization has been successfully completed.

Parameters

serializer

a GdkContentSerializer

 

gdk_content_serializer_return_error ()

void
gdk_content_serializer_return_error (GdkContentSerializer *serializer,
                                     GError *error);

Indicate that the serialization has ended with an error. This function consumes error .

Parameters

serializer

a GdkContentSerializer

 

error

a GError

 

gdk_content_register_serializer ()

void
gdk_content_register_serializer (GType type,
                                 const char *mime_type,
                                 GdkContentSerializeFunc serialize,
                                 gpointer data,
                                 GDestroyNotify notify);

Registers a function to convert objects of the given type to a serialized representation with the given mime type.

Parameters

type

the type of objects that the function can serialize

 

mime_type

the mime type to serialize to

 

serialize

the callback

 

data

data that serialize can access

 

notify

destroy notify for data

 

gdk_content_serialize_async ()

void
gdk_content_serialize_async (GOutputStream *stream,
                             const char *mime_type,
                             const GValue *value,
                             int io_priority,
                             GCancellable *cancellable,
                             GAsyncReadyCallback callback,
                             gpointer user_data);

Serialize content and write it to the given output stream, asynchronously. When the operation is finished, callback will be called. You can then call gdk_content_serialize_finish() to get the result of the operation.

Parameters

stream

a GOutputStream to write the serialized content to

 

mime_type

the mime type to serialize to

 

value

the content to serialize

 

io_priority

the io priority of the operation

 

cancellable

optional GCancellable object.

[nullable]

callback

callback to call when the operation is done.

[scope async]

user_data

data to pass to the callback function.

[closure]

gdk_content_serialize_finish ()

gboolean
gdk_content_serialize_finish (GAsyncResult *result,
                              GError **error);

Finishes a content serialization operation.

Parameters

result

the GAsyncResult

 

error

return location for an error

 

Returns

TRUE if the operation was successful, FALSE if an error occurred. In this case, error is set

Types and Values

GdkContentSerializer

typedef struct _GdkContentSerializer GdkContentSerializer;

Should not be accessed directly.

docs/reference/gdk/html/gdk4.devhelp20000664000175000017500000037565013464200112017602 0ustar mclasenmclasen docs/reference/gdk/html/GdkMonitor.html0000664000175000017500000011364713464200113020256 0ustar mclasenmclasen GdkMonitor: GDK 4 Reference Manual

GdkMonitor

GdkMonitor — Object representing an output

Properties

GdkDisplay * display Read / Write / Construct Only
GdkRectangle * geometry Read
gint height-mm Read
gchar * manufacturer Read
gchar * model Read
gint refresh-rate Read
gint scale-factor Read
GdkSubpixelLayout subpixel-layout Read
gboolean valid Read
gint width-mm Read
GdkRectangle * workarea Read

Signals

void invalidate Run First

Types and Values

Object Hierarchy

    GObject
    ╰── GdkMonitor

Includes

#include <gdk/gdkwayland.h>

Description

GdkMonitor objects represent the individual outputs that are associated with a GdkDisplay. GdkDisplay has APIs to enumerate monitors with gdk_display_get_n_monitors() and gdk_display_get_monitor(), and to find particular monitors with gdk_display_get_primary_monitor() or gdk_display_get_monitor_at_surface().

Functions

gdk_monitor_get_display ()

GdkDisplay *
gdk_monitor_get_display (GdkMonitor *monitor);

Gets the display that this monitor belongs to.

Parameters

monitor

a GdkMonitor

 

Returns

the display.

[transfer none]


gdk_monitor_get_geometry ()

void
gdk_monitor_get_geometry (GdkMonitor *monitor,
                          GdkRectangle *geometry);

Retrieves the size and position of an individual monitor within the display coordinate space. The returned geometry is in ”application pixels”, not in ”device pixels” (see gdk_monitor_get_scale_factor()).

Parameters

monitor

a GdkMonitor

 

geometry

a GdkRectangle to be filled with the monitor geometry.

[out]

gdk_monitor_get_workarea ()

void
gdk_monitor_get_workarea (GdkMonitor *monitor,
                          GdkRectangle *workarea);

Retrieves the size and position of the “work area” on a monitor within the display coordinate space. The returned geometry is in ”application pixels”, not in ”device pixels” (see gdk_monitor_get_scale_factor()).

The work area should be considered when positioning menus and similar popups, to avoid placing them below panels, docks or other desktop components.

Note that not all backends may have a concept of workarea. This function will return the monitor geometry if a workarea is not available, or does not apply.

Parameters

monitor

a GdkMonitor

 

workarea

a GdkRectangle to be filled with the monitor workarea.

[out]

gdk_monitor_get_width_mm ()

int
gdk_monitor_get_width_mm (GdkMonitor *monitor);

Gets the width in millimeters of the monitor.

Parameters

monitor

a GdkMonitor

 

Returns

the physical width of the monitor


gdk_monitor_get_height_mm ()

int
gdk_monitor_get_height_mm (GdkMonitor *monitor);

Gets the height in millimeters of the monitor.

Parameters

monitor

a GdkMonitor

 

Returns

the physical height of the monitor


gdk_monitor_get_manufacturer ()

const char *
gdk_monitor_get_manufacturer (GdkMonitor *monitor);

Gets the name of the monitor's manufacturer, if available.

Parameters

monitor

a GdkMonitor

 

Returns

the name of the manufacturer, or NULL.

[transfer none][nullable]


gdk_monitor_get_model ()

const char *
gdk_monitor_get_model (GdkMonitor *monitor);

Gets the a string identifying the monitor model, if available.

Parameters

monitor

a GdkMonitor

 

Returns

the monitor model, or NULL.

[transfer none][nullable]


gdk_monitor_get_scale_factor ()

int
gdk_monitor_get_scale_factor (GdkMonitor *monitor);

Gets the internal scale factor that maps from monitor coordinates to the actual device pixels. On traditional systems this is 1, but on very high density outputs this can be a higher value (often 2).

This can be used if you want to create pixel based data for a particular monitor, but most of the time you’re drawing to a surface where it is better to use gdk_surface_get_scale_factor() instead.

Parameters

monitor

a GdkMonitor

 

Returns

the scale factor


gdk_monitor_get_refresh_rate ()

int
gdk_monitor_get_refresh_rate (GdkMonitor *monitor);

Gets the refresh rate of the monitor, if available.

The value is in milli-Hertz, so a refresh rate of 60Hz is returned as 60000.

Parameters

monitor

a GdkMonitor

 

Returns

the refresh rate in milli-Hertz, or 0


gdk_monitor_get_subpixel_layout ()

GdkSubpixelLayout
gdk_monitor_get_subpixel_layout (GdkMonitor *monitor);

Gets information about the layout of red, green and blue primaries for each pixel in this monitor, if available.

Parameters

monitor

a GdkMonitor

 

Returns

the subpixel layout


gdk_monitor_is_primary ()

gboolean
gdk_monitor_is_primary (GdkMonitor *monitor);

Gets whether this monitor should be considered primary (see gdk_display_get_primary_monitor()).

Parameters

monitor

a GdkMonitor

 

Returns

TRUE if monitor is primary


gdk_monitor_is_valid ()

gboolean
gdk_monitor_is_valid (GdkMonitor *monitor);

Returns TRUE if the monitor object corresponds to a physical monitor. The monitor becomes invalid when the physical monitor is unplugged or removed.

Parameters

monitor

a GdkMonitor

 

Returns

TRUE if the object corresponds to a physical monitor

Types and Values

GdkMonitor

typedef struct _GdkMonitor GdkMonitor;

The GdkMonitor struct contains only private fields and should not be accessed directly.


enum GdkSubpixelLayout

This enumeration describes how the red, green and blue components of physical pixels on an output device are laid out.

Members

GDK_SUBPIXEL_LAYOUT_UNKNOWN

The layout is not known

 

GDK_SUBPIXEL_LAYOUT_NONE

Not organized in this way

 

GDK_SUBPIXEL_LAYOUT_HORIZONTAL_RGB

The layout is horizontal, the order is RGB

 

GDK_SUBPIXEL_LAYOUT_HORIZONTAL_BGR

The layout is horizontal, the order is BGR

 

GDK_SUBPIXEL_LAYOUT_VERTICAL_RGB

The layout is vertical, the order is RGB

 

GDK_SUBPIXEL_LAYOUT_VERTICAL_BGR

The layout is vertical, the order is BGR

 

Property Details

The “display” property

  “display”                  GdkDisplay *

The display of the monitor.

Flags: Read / Write / Construct Only


The “geometry” property

  “geometry”                 GdkRectangle *

The geometry of the monitor.

Flags: Read


The “height-mm” property

  “height-mm”                gint

The height of the monitor, in millimeters.

Flags: Read

Allowed values: >= 0

Default value: 0


The “manufacturer” property

  “manufacturer”             gchar *

The manufacturer name.

Flags: Read

Default value: NULL


The “model” property

  “model”                    gchar *

The model name.

Flags: Read

Default value: NULL


The “refresh-rate” property

  “refresh-rate”             gint

The refresh rate, in millihertz.

Flags: Read

Allowed values: >= 0

Default value: 0


The “scale-factor” property

  “scale-factor”             gint

The scale factor.

Flags: Read

Allowed values: >= 0

Default value: 1


The “subpixel-layout” property

  “subpixel-layout”          GdkSubpixelLayout

The subpixel layout.

Flags: Read

Default value: GDK_SUBPIXEL_LAYOUT_UNKNOWN


The “valid” property

  “valid”                    gboolean

Whether the monitor is still valid.

Flags: Read

Default value: TRUE


The “width-mm” property

  “width-mm”                 gint

The width of the monitor, in millimeters.

Flags: Read

Allowed values: >= 0

Default value: 0


The “workarea” property

  “workarea”                 GdkRectangle *

The workarea of the monitor.

Flags: Read

Signal Details

The “invalidate” signal

void
user_function (GdkMonitor *monitor,
               gpointer    user_data)

The ::invalidate signal gets emitted when the output represented by monitor gets disconnected.

Parameters

monitor

the object on which this signal was emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First

docs/reference/gdk/html/ew_resize_cursor.png0000664000175000017500000000270713464200072021410 0ustar mclasenmclasenPNG  IHDR szzsBIT|d pHYsttfxtEXtSoftwarewww.inkscape.org<tEXtAuthorJakub Steiner/5tEXtDescriptionInverted variant of the DMZ cursor theme.hu[<3tEXtSourcehttp://jimmac.musichall.cz/themes.php?skin=7P3IDATX]hSg'I&ڤ`NsSu(TGjSAhŀLbލ])l`))27ވ_AإR/*ӭK䜴9.AL?sq>}ִ[V?~aO7);YXXg29f>22EӴB%+177Dѩׯ SixxMuLED$zj`_vuFFGG.^(e\E\"߿WUup,tݍ۷oxl,h$ۭiMMMGVNs,T1oرcGZiXԸ5BI244lhhjood)6Jeee,}1[,K $kcV&7MӒgB*xgZ:::^'0ꚛ@ 0-Kwww߷o_LɡClSSSN~~>%%%?~6X^$qmP 4ʢ'ϝ;K " UTT؞>}J<t^$!055il62ݫݸqӧbVM~~$IB$I撛Rϧ;&In1a_[n-99/_hzz:8::/..@:$IzȬp8Dww\KKW@L-hoo699nGii)gUs4nwzNB Օ0 9Nojjj>vSg@iUUU,r.g%5)) EQbe$hS!92==re4>vf.SUU>/rEQbG]ϟOI3 lFjkk0E_<bۉ'.B۰ؘQ(ViZDu k@˘/BH[(~4"{!<p$Ɗ֥^fHq 6222(J`pppxJ#`GG\&F*RgYUKGm%5?dfYzIENDB`docs/reference/gdk/html/GdkVulkanContext.html0000664000175000017500000006463113464200113021432 0ustar mclasenmclasen GdkVulkanContext: GDK 4 Reference Manual

GdkVulkanContext

GdkVulkanContext — Vulkan draw context

Signals

void images-updated Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GdkDrawContext
        ╰── GdkVulkanContext

Implemented Interfaces

GdkVulkanContext implements GInitable.

Includes

#include <gdk/gdkwayland.h>

Description

GdkVulkanContext is an object representing the platform-specific Vulkan draw context.

GdkVulkanContexts are created for a GdkSurface using gdk_surface_create_vulkan_context(), and the context will match the the characteristics of the surface.

Support for GdkVulkanContext is platform-specific, context creation can fail, returning NULL context.

Functions

gdk_vulkan_context_get_device ()

VkDevice
gdk_vulkan_context_get_device (GdkVulkanContext *context);

Gets the Vulkan device that this context is using.

Parameters

context

a GdkVulkanContext

 

Returns

the VkDevice.

[transfer none]


gdk_vulkan_context_get_draw_index ()

uint32_t
gdk_vulkan_context_get_draw_index (GdkVulkanContext *context);

Gets the index of the image that is currently being drawn.

This function can only be used between gdk_draw_context_begin_frame() and gdk_draw_context_end_frame() calls.

Parameters

context

a GdkVulkanContext

 

Returns

the index of the images that is being drawn


gdk_vulkan_context_get_draw_semaphore ()

VkSemaphore
gdk_vulkan_context_get_draw_semaphore (GdkVulkanContext *context);

Gets the Vulkan semaphore that protects access to the image that is currently being drawn.

This function can only be used between gdk_draw_context_begin_frame() and gdk_draw_context_end_frame() calls.

Parameters

context

a GdkVulkanContext

 

Returns

the VkSemaphore.

[transfer none]


gdk_vulkan_context_get_image ()

VkImage
gdk_vulkan_context_get_image (GdkVulkanContext *context,
                              guint id);

Gets the image with index id that this context is using.

Parameters

context

a GdkVulkanContext

 

id

the index of the image to return

 

Returns

the VkImage.

[transfer none]


gdk_vulkan_context_get_image_format ()

VkFormat
gdk_vulkan_context_get_image_format (GdkVulkanContext *context);

Gets the image format that this context is using.

Parameters

context

a GdkVulkanContext

 

Returns

the VkFormat.

[transfer none]


gdk_vulkan_context_get_instance ()

VkInstance
gdk_vulkan_context_get_instance (GdkVulkanContext *context);

Gets the Vulkan instance that is associated with context .

Parameters

context

a GdkVulkanContext

 

Returns

the VkInstance.

[transfer none]


gdk_vulkan_context_get_n_images ()

uint32_t
gdk_vulkan_context_get_n_images (GdkVulkanContext *context);

Gets the number of images that this context is using in its swap chain.

Parameters

context

a GdkVulkanContext

 

Returns

the number of images


gdk_vulkan_context_get_physical_device ()

VkPhysicalDevice
gdk_vulkan_context_get_physical_device
                               (GdkVulkanContext *context);

Gets the Vulkan physical device that this context is using.

Parameters

context

a GdkVulkanContext

 

Returns

the VkPhysicalDevice.

[transfer none]


gdk_vulkan_context_get_queue ()

VkQueue
gdk_vulkan_context_get_queue (GdkVulkanContext *context);

Gets the Vulkan queue that this context is using.

Parameters

context

a GdkVulkanContext

 

Returns

the VkQueue.

[transfer none]


gdk_vulkan_context_get_queue_family_index ()

uint32_t
gdk_vulkan_context_get_queue_family_index
                               (GdkVulkanContext *context);

Gets the family index for the queue that this context is using. See vkGetPhysicalDeviceQueueFamilyProperties().

Parameters

context

a GdkVulkanContext

 

Returns

the index

Types and Values

GdkVulkanContext

typedef struct _GdkVulkanContext GdkVulkanContext;

The GdkVulkanContext struct contains only private fields and should not be accessed directly.


enum GdkVulkanError

Error enumeration for GdkVulkanContext.

Members

GDK_VULKAN_ERROR_UNSUPPORTED

Vulkan is not supported on this backend or has not been compiled in.

 

GDK_VULKAN_ERROR_NOT_AVAILABLE

Vulkan support is not available on this Surface

 

Signal Details

The “images-updated” signal

void
user_function (GdkVulkanContext *context,
               gpointer          user_data)

This signal is emitted when the images managed by this context have changed. Usually this means that the swapchain had to be recreated, for example in response to a change of the surface size.

Parameters

context

the object on which the signal is emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gdk/html/help_cursor.png0000664000175000017500000000301513464200072020335 0ustar mclasenmclasenPNG  IHDR szzsBIT|d pHYsttfxtEXtSoftwarewww.inkscape.org<tEXtAuthorJakub Steiner/5tEXtDescriptionInverted variant of the DMZ cursor theme.hu[<3tEXtSourcehttp://jimmac.musichall.cz/themes.php?skin=7P3IDATXOLTWtZ8J˟4)iAژ4I*BCM\6vх%. e]Pc1X@$RiB80޽] 2֙(%'/}<9ѕn˵̙3f$VU4#\M.ƍ{Җ<;!sss|BqYLfggիW˜Y^^./\ !{: ,#TJ72>>(((@(((nfggڷo߻|5kG"%%Ehccc&i=m\w^B~رN9|IJKKە̵@`H8,)_d977cܹs H)LMM! _UU&&& 1jMMM0\:-˸bM&BzarãxZ0&''nzz ݽ{wKjjj,fffn[焌)C5ׯ_v\B&''SRR777Ҳk0@ z,XxPmve l_!&(J oDP԰‘iG BlKw@1BN4Dbǎ&kwww`0D6 \y|0۷o"K! ?\D"L&:Ķm۞b+fzzʼn'jv,5y CCCׄf ؀r w)loZO'2"b9?y 2!L@$O!4L~8| xfK.ݽ&ׯmmmRJ(`㓺㚦d*ÇgXyal!@vxw]MBU… ce`k)rbb"ya59UUUip;|n!]ץaӦMOf4M Y$sΣSw^*l6OtMu&ɔ4e2>333U__='GI !VV (\? VBmmmEY&?X8sL2t !GU<^@w~), ҂׻f凜.۽,t:}}}0l.-{P(4 G]&:&%0ĿgY|Ν K$`0z(DU ؾ};CCC"FNgO<USccٱ\;ݻ]&7n[V|>H&1>0iڨn?599yܹs=uzNLooؼyF" 5@FGGoK)]鴈bX,MRb```8J^ g`l6[z|s֭=`giMKV/Z[[~xWWW(o뺾!&.^bw_96gggkllV T}Pm۶kjj x 6nG6VU,0XYvE#:KFżoEr&bā?;9$wDQ)F\O3ĸ_h7^;tIENDB`docs/reference/gdk/html/se_resize_cursor.png0000664000175000017500000000247213464200072021403 0ustar mclasenmclasenPNG  IHDR szzsBIT|d pHYsttfxtEXtSoftwarewww.inkscape.org<tEXtAuthorJakub Steiner/5tEXtDescriptionInverted variant of the DMZ cursor theme.hu[<3tEXtSourcehttp://jimmac.musichall.cz/themes.php?skin=7P3IDATXMHcWsIZUt*K[ K-"JA7JJRn"HCB t.-D̦PVQ'?5$79ؑNԔ.=9]> e)OkKVR~Cahz+<[+(r"5Jɒ$I%ey&ax|  uPFQ! }l`~x<RMMMt:y<O>A>Y9jpT*@DD>uf9PWWwD~h4^$Itvv ;;;ʉ x&bJl63õ(>mR^x~xxrMpӳ2c.ffffٔ ~ @u:ݗgf`@ ^XXͶV}.E]؍́܉p"jvzzzm\}~ZhnniW!|>; oL&lmm ["3l82tj>P $08 ˘#=2tןa,ΝIENDB`docs/reference/gdk/html/gdk4-RGBA-Colors.html0000664000175000017500000005143513464200114020777 0ustar mclasenmclasen RGBA Colors: GDK 4 Reference Manual

RGBA Colors

RGBA Colors — RGBA colors

Functions

GdkRGBA * gdk_rgba_copy ()
void gdk_rgba_free ()
gboolean gdk_rgba_is_clear ()
gboolean gdk_rgba_is_opaque ()
gboolean gdk_rgba_parse ()
gboolean gdk_rgba_equal ()
guint gdk_rgba_hash ()
gchar * gdk_rgba_to_string ()

Types and Values

  GdkRGBA

Object Hierarchy

    GBoxed
    ╰── GdkRGBA

Includes

#include <gdk/gdk.h>

Description

GdkRGBA is a convenient way to pass rgba colors around. It’s based on cairo’s way to deal with colors and mirrors its behavior. All values are in the range from 0.0 to 1.0 inclusive. So the color (0.0, 0.0, 0.0, 0.0) represents transparent black and (1.0, 1.0, 1.0, 1.0) is opaque white. Other values will be clamped to this range when drawing.

Functions

gdk_rgba_copy ()

GdkRGBA *
gdk_rgba_copy (const GdkRGBA *rgba);

Makes a copy of a GdkRGBA.

The result must be freed through gdk_rgba_free().

Parameters

rgba

a GdkRGBA

 

Returns

A newly allocated GdkRGBA, with the same contents as rgba


gdk_rgba_free ()

void
gdk_rgba_free (GdkRGBA *rgba);

Frees a GdkRGBA created with gdk_rgba_copy()

Parameters

rgba

a GdkRGBA

 

gdk_rgba_is_clear ()

gboolean
gdk_rgba_is_clear (const GdkRGBA *rgba);

Checks if an rgba value is transparent. That is, drawing with the value would not produce any change.

Parameters

rgba

a GdkRGBA

 

Returns

TRUE if the rgba is clear


gdk_rgba_is_opaque ()

gboolean
gdk_rgba_is_opaque (const GdkRGBA *rgba);

Checks if an rgba value is opaque. That is, drawing with the value will not retain any results from previous contents.

Parameters

rgba

a GdkRGBA

 

Returns

TRUE if the rgba is opaque


gdk_rgba_parse ()

gboolean
gdk_rgba_parse (GdkRGBA *rgba,
                const gchar *spec);

Parses a textual representation of a color, filling in the red , green , blue and alpha fields of the rgba GdkRGBA.

The string can be either one of:

  • A standard name (Taken from the X11 rgb.txt file).

  • A hexadecimal value in the form “#rgb”, “#rrggbb”, “#rrrgggbbb” or ”#rrrrggggbbbb”

  • A RGB color in the form “rgb(r,g,b)” (In this case the color will have full opacity)

  • A RGBA color in the form “rgba(r,g,b,a)”

Where “r”, “g”, “b” and “a” are respectively the red, green, blue and alpha color values. In the last two cases, “r”, “g”, and “b” are either integers in the range 0 to 255 or percentage values in the range 0% to 100%, and a is a floating point value in the range 0 to 1.

Parameters

rgba

the GdkRGBA to fill in

 

spec

the string specifying the color

 

Returns

TRUE if the parsing succeeded


gdk_rgba_equal ()

gboolean
gdk_rgba_equal (gconstpointer p1,
                gconstpointer p2);

Compares two RGBA colors.

Parameters

p1

a GdkRGBA pointer.

[type GdkRGBA]

p2

another GdkRGBA pointer.

[type GdkRGBA]

Returns

TRUE if the two colors compare equal


gdk_rgba_hash ()

guint
gdk_rgba_hash (gconstpointer p);

A hash function suitable for using for a hash table that stores GdkRGBAs.

Parameters

p

a GdkRGBA pointer.

[type GdkRGBA]

Returns

The hash value for p


gdk_rgba_to_string ()

gchar *
gdk_rgba_to_string (const GdkRGBA *rgba);

Returns a textual specification of rgba in the form rgb(r,g,b) or rgba(r g,b,a), where “r”, “g”, “b” and “a” represent the red, green, blue and alpha values respectively. “r”, “g”, and “b” are represented as integers in the range 0 to 255, and “a” is represented as a floating point value in the range 0 to 1.

These string forms are string forms that are supported by the CSS3 colors module, and can be parsed by gdk_rgba_parse().

Note that this string representation may lose some precision, since “r”, “g” and “b” are represented as 8-bit integers. If this is a concern, you should use a different representation.

Parameters

rgba

a GdkRGBA

 

Returns

A newly allocated text string

Types and Values

GdkRGBA

typedef struct {
  gdouble red;
  gdouble green;
  gdouble blue;
  gdouble alpha;
} GdkRGBA;

A GdkRGBA is used to represent a (possibly translucent) color, in a way that is compatible with cairo’s notion of color.

Members

gdouble red;

The intensity of the red channel from 0.0 to 1.0 inclusive

 

gdouble green;

The intensity of the green channel from 0.0 to 1.0 inclusive

 

gdouble blue;

The intensity of the blue channel from 0.0 to 1.0 inclusive

 

gdouble alpha;

The opacity of the color from 0.0 for completely translucent to 1.0 for opaque

 
docs/reference/gdk/html/GdkDisplayManager.html0000664000175000017500000006073713464200113021530 0ustar mclasenmclasen GdkDisplayManager: GDK 4 Reference Manual

GdkDisplayManager

GdkDisplayManager — Maintains a list of all open GdkDisplays

Properties

GdkDisplay * default-display Read / Write

Signals

void display-opened Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GdkDisplayManager

Includes

#include <gdk/gdk.h>

Description

The purpose of the GdkDisplayManager singleton object is to offer notification when displays appear or disappear or the default display changes.

You can use gdk_display_manager_get() to obtain the GdkDisplayManager singleton, but that should be rarely necessary. Typically, initializing GTK opens a display that you can work with without ever accessing the GdkDisplayManager.

The GDK library can be built with support for multiple backends. The GdkDisplayManager object determines which backend is used at runtime.

When writing backend-specific code that is supposed to work with multiple GDK backends, you have to consider both compile time and runtime. At compile time, use the GDK_WINDOWING_X11, GDK_WINDOWING_WIN32 macros, etc. to find out which backends are present in the GDK library you are building your application against. At runtime, use type-check macros like GDK_IS_X11_DISPLAY() to find out which backend is in use:

Backend-specific code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#ifdef GDK_WINDOWING_X11
  if (GDK_IS_X11_DISPLAY (display))
    {
      // make X11-specific calls here
    }
  else
#endif
#ifdef GDK_WINDOWING_QUARTZ
  if (GDK_IS_QUARTZ_DISPLAY (display))
    {
      // make Quartz-specific calls here
    }
  else
#endif
  g_error ("Unsupported GDK backend");

Functions

gdk_display_manager_get ()

GdkDisplayManager *
gdk_display_manager_get (void);

Gets the singleton GdkDisplayManager object.

When called for the first time, this function consults the GDK_BACKEND environment variable to find out which of the supported GDK backends to use (in case GDK has been compiled with multiple backends). Applications can use gdk_set_allowed_backends() to limit what backends can be used.

Returns

The global GdkDisplayManager singleton; gdk_parse_args(), gdk_init(), or gdk_init_check() must have been called first.

[transfer none]


gdk_display_manager_get_default_display ()

GdkDisplay *
gdk_display_manager_get_default_display
                               (GdkDisplayManager *manager);

Gets the default GdkDisplay.

Parameters

manager

a GdkDisplayManager

 

Returns

a GdkDisplay, or NULL if there is no default display.

[nullable][transfer none]


gdk_display_manager_set_default_display ()

void
gdk_display_manager_set_default_display
                               (GdkDisplayManager *manager,
                                GdkDisplay *display);

Sets display as the default display.

Parameters

manager

a GdkDisplayManager

 

display

a GdkDisplay

 

gdk_display_manager_list_displays ()

GSList *
gdk_display_manager_list_displays (GdkDisplayManager *manager);

List all currently open displays.

Parameters

manager

a GdkDisplayManager

 

Returns

a newly allocated GSList of GdkDisplay objects. Free with g_slist_free() when you are done with it.

[transfer container][element-type GdkDisplay]


gdk_display_manager_open_display ()

GdkDisplay *
gdk_display_manager_open_display (GdkDisplayManager *manager,
                                  const gchar *name);

Opens a display.

Parameters

manager

a GdkDisplayManager

 

name

the name of the display to open

 

Returns

a GdkDisplay, or NULL if the display could not be opened.

[nullable][transfer none]


gdk_set_allowed_backends ()

void
gdk_set_allowed_backends (const gchar *backends);

Sets a list of backends that GDK should try to use.

This can be be useful if your application does not work with certain GDK backends.

By default, GDK tries all included backends.

For example,

1
gdk_set_allowed_backends ("wayland,quartz,*");

instructs GDK to try the Wayland backend first, followed by the Quartz backend, and then all others.

If the GDK_BACKEND environment variable is set, it determines what backends are tried in what order, while still respecting the set of allowed backends that are specified by this function.

The possible backend names are x11, win32, quartz, broadway, wayland. You can also include a * in the list to try all remaining backends.

This call must happen prior to gdk_display_open(), gtk_init(), or gtk_init_check() in order to take effect.

Parameters

backends

a comma-separated list of backends

 

Types and Values

GdkDisplayManager

typedef struct _GdkDisplayManager GdkDisplayManager;

The GdkDisplayManager struct contains only private fields and should not be accessed directly.

Property Details

The “default-display” property

  “default-display”          GdkDisplay *

The default display for GDK.

Flags: Read / Write

Signal Details

The “display-opened” signal

void
user_function (GdkDisplayManager *manager,
               GdkDisplay        *display,
               gpointer           user_data)

The ::display-opened signal is emitted when a display is opened.

Parameters

manager

the object on which the signal is emitted

 

display

the opened display

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gdk/html/right-insensitive.png0000644000175000017500000000056513464200112021463 0ustar mclasenmclasenPNG  IHDRabKGD pHYs B(xtIME ^IDAT8͒J` /S_$AqrW(>m"]\(49.Nd39{eM#MSIιEiHz|3{̲l3,KkV'@EEQlwyiq]Kh4:mĦ,;ts\aR5/7'Wps׭I,K1=0j0Wg> PU𻤝0 ]?qCҫιg~kA_IENDB`docs/reference/gdk/html/e_resize_cursor.png0000664000175000017500000000241113464200072021211 0ustar mclasenmclasenPNG  IHDR szzsBIT|d pHYsttfxtEXtSoftwarewww.inkscape.org<tEXtAuthorJakub Steiner/5tEXtDescriptionInverted variant of the DMZ cursor theme.hu[<3tEXtSourcehttp://jimmac.musichall.cz/themes.php?skin=7P3IDATXMHcg{c2Ut'"] A*.lB#(vntiWBZZĝ@t.qDIfD]11N7uqyrw{sO=@ sH}Qj4M3MDN^ӊ5wFi$KL<8[[[;= Á" =~ 8j""NShTv <1Z0tXVJpxx}`MYYY/q"h4ja_qJYi$Zyy+++?DݴOD  mll2UUU?E"[HK'BWJ]Z@4mtt>YJYYY?*JEDK$$>phÝ{{{"@KOOߺnmy388m' ^ VJdgg =>]ɀ."iQ!rss%C-vL EkkkR+Eh^CCC~ކ+urX\\Tw3f߿ ##һw\eF"CD\/1!VϾZzzz'FvޯE|Epx Gf_Gp8655e&#Ng;q};Ziii 3/:::>NEXY0!BsssfIIn.n[)jkkg^ oeAA'pkz/c{e )l6o566x17y( D)%ag8)/k@t>x<q."DΧ~ʀdc5b!p[/*1x>HUՠ.f3.YXSb@~ظx\c'V̘3A Oe#;lg-IENDB`docs/reference/gdk/html/gdk4-Content-Formats.html0000664000175000017500000020001613464200113022036 0ustar mclasenmclasen Content Formats: GDK 4 Reference Manual

Content Formats

Content Formats — Advertising and negotiating of content exchange formats

Object Hierarchy

    GBoxed
    ╰── GdkContentFormats

Includes

#include <gdk/gdk.h>

Description

This section describes the GdkContentFormats structure that is used to advertise and negotiate the format of content passed between different widgets, windows or applications using for example the clipboard or drag'n'drop.

GDK supports content in 2 forms: GType and mime type. Using GTypes is meant only for in-process content transfers. Mime types are meant to be used for data passing both in-process and out-of-process. The details of how data is passed is described in the documentation of the actual implementations.

A GdkContentFormats describes a set of possible formats content can be exchanged in. It is assumed that this set is ordered. GTypes are more important than mime types. Order between different Gtypes or mime types is the order they were added in, most important first. Functions that care about order, such as gdk_content_formats_union() will describe in their documentation how they interpret that order, though in general the order of the first argument is considered the primary order of the result, followed by the order of further arguments.

For debugging purposes, the function gdk_content_formats_to_string() exists. It will print a comma-seperated formats of formats from most important to least important.

GdkContentFormats is an immutable struct. After creation, you cannot change the types it represents. Instead, new GdkContentFormats have to be created. The GdkContentFormatsBuilder structure is meant to help in this endeavor.

Functions

gdk_intern_mime_type ()

const char *
gdk_intern_mime_type (const char *string);

Canonicalizes the given mime type and interns the result.

If string is not a valid mime type, NULL is returned instead. See RFC 2048 for the syntax if mime types.

Parameters

string

string of a potential mime type.

[transfer none]

Returns

An interned string for the canonicalized mime type or NULL if the string wasn't a valid mime type


gdk_content_formats_new ()

GdkContentFormats *
gdk_content_formats_new (const char **mime_types,
                         guint n_mime_types);

Creates a new GdkContentFormats from an array of mime types.

The mime types must be valid and different from each other or the behavior of the return value is undefined. If you cannot guarantee this, use GdkContentFormatsBuilder instead.

Parameters

mime_types

Pointer to an array of mime types.

[array length=n_mime_types][allow-none]

n_mime_types

number of entries in mime_types .

 

Returns

the new GdkContentFormats.

[transfer full]


gdk_content_formats_new_for_gtype ()

GdkContentFormats *
gdk_content_formats_new_for_gtype (GType type);

Creates a new GdkContentFormats for a given GType.

Parameters

type

a $GType

 

Returns

a new GdkContentFormats


gdk_content_formats_ref ()

GdkContentFormats *
gdk_content_formats_ref (GdkContentFormats *formats);

Increases the reference count of a GdkContentFormats by one.

Parameters

formats

a GdkContentFormats

 

Returns

the passed in GdkContentFormats.


gdk_content_formats_unref ()

void
gdk_content_formats_unref (GdkContentFormats *formats);

Decreases the reference count of a GdkContentFormats by one. If the resulting reference count is zero, frees the formats.

Parameters

formats

a GdkContentFormats

 

gdk_content_formats_print ()

void
gdk_content_formats_print (GdkContentFormats *formats,
                           GString *string);

Prints the given formats into a string for human consumption. This is meant for debugging and logging.

The form of the representation may change at any time and is not guranteed to stay identical.

Parameters

formats

a GdkContentFormats

 

string

a GString to print into

 

gdk_content_formats_to_string ()

char *
gdk_content_formats_to_string (GdkContentFormats *formats);

Prints the given formats into a human-readable string. This is a small wrapper around gdk_content_formats_print() to help when debugging.

Parameters

formats

a GdkContentFormats

 

Returns

a new string.

[transfer full]


gdk_content_formats_get_gtypes ()

const GType *
gdk_content_formats_get_gtypes (GdkContentFormats *formats,
                                gsize *n_gtypes);

Gets the GTypes included in formats . Note that formats may not contain any GTypes, in particular when they are empty. In that case NULL will be returned.

Parameters

formats

a GdkContentFormats

 

n_gtypes

optional pointer to take the number of GTypes contained in the return value.

[out][allow-none]

Returns

G_TYPE_INVALID-terminated array of types included in formats or NULL if none.

[transfer none][nullable]


gdk_content_formats_get_mime_types ()

const char * const *
gdk_content_formats_get_mime_types (GdkContentFormats *formats,
                                    gsize *n_mime_types);

Gets the mime types included in formats . Note that formats may not contain any mime types, in particular when they are empty. In that case NULL will be returned.

Parameters

formats

a GdkContentFormats

 

n_mime_types

optional pointer to take the number of mime types contained in the return value.

[out][allow-none]

Returns

NULL-terminated array of interned strings of mime types included in formats or NULL if none.

[transfer none][nullable]


gdk_content_formats_union ()

GdkContentFormats *
gdk_content_formats_union (GdkContentFormats *first,
                           const GdkContentFormats *second);

Append all missing types from second to first , in the order they had in second .

Parameters

first

the GdkContentFormats to merge into.

[transfer full]

second

the GdkContentFormats to merge from.

[transfer none]

Returns

a new GdkContentFormats


gdk_content_formats_match ()

gboolean
gdk_content_formats_match (const GdkContentFormats *first,
                           const GdkContentFormats *second);

Checks if first and second have any matching formats.

Parameters

first

the primary GdkContentFormats to intersect

 

second

the GdkContentFormats to intersect with

 

Returns

TRUE if a matching format was found.


gdk_content_formats_match_gtype ()

GType
gdk_content_formats_match_gtype (const GdkContentFormats *first,
                                 const GdkContentFormats *second);

Finds the first GType from first that is also contained in second . If no matching GType is found, G_TYPE_INVALID is returned.

Parameters

first

the primary GdkContentFormats to intersect

 

second

the GdkContentFormats to intersect with

 

Returns

The first common GType or G_TYPE_INVALID if none.


gdk_content_formats_match_mime_type ()

const char *
gdk_content_formats_match_mime_type (const GdkContentFormats *first,
                                     const GdkContentFormats *second);

Finds the first mime type from first that is also contained in second . If no matching mime type is found, NULL is returned.

Parameters

first

the primary GdkContentFormats to intersect

 

second

the GdkContentFormats to intersect with

 

Returns

The first common mime type or NULL if none.


gdk_content_formats_contain_gtype ()

gboolean
gdk_content_formats_contain_gtype (const GdkContentFormats *formats,
                                   GType type);

Checks if a given GType is part of the given formats .

Parameters

formats

a GdkContentFormats

 

type

the GType to search for

 

Returns

TRUE if the GType was found


gdk_content_formats_contain_mime_type ()

gboolean
gdk_content_formats_contain_mime_type (const GdkContentFormats *formats,
                                       const char *mime_type);

Checks if a given mime type is part of the given formats .

Parameters

formats

a GdkContentFormats

 

mime_type

the mime type to search for

 

Returns

TRUE if the mime_type was found


gdk_content_formats_union_serialize_gtypes ()

GdkContentFormats *
gdk_content_formats_union_serialize_gtypes
                               (GdkContentFormats *formats);

Add GTypes for the mime types in formats for which serializers are registered.

Return: a new GdkContentFormats

Parameters

formats

a GdkContentFormats

 

gdk_content_formats_union_deserialize_gtypes ()

GdkContentFormats *
gdk_content_formats_union_deserialize_gtypes
                               (GdkContentFormats *formats);

Add GTypes for mime types in formats for which deserializers are registered.

Return: a new GdkContentFormats

Parameters

formats

a GdkContentFormats

 

gdk_content_formats_union_serialize_mime_types ()

GdkContentFormats *
gdk_content_formats_union_serialize_mime_types
                               (GdkContentFormats *formats);

Add mime types for GTypes in formats for which serializers are registered.

Return: a new GdkContentFormats

Parameters

formats

a GdkContentFormats

 

gdk_content_formats_union_deserialize_mime_types ()

GdkContentFormats *
gdk_content_formats_union_deserialize_mime_types
                               (GdkContentFormats *formats);

Add mime types for GTypes in formats for which deserializers are registered.

Return: a new GdkContentFormats

Parameters

formats

a GdkContentFormats

 

gdk_content_formats_builder_new ()

GdkContentFormatsBuilder *
gdk_content_formats_builder_new (void);

Create a new GdkContentFormatsBuilder object. The resulting builder would create an empty GdkContentFormats. Use addition functions to add types to it.

Returns

a new GdkContentFormatsBuilder


gdk_content_formats_builder_free_to_formats ()

GdkContentFormats *
gdk_content_formats_builder_free_to_formats
                               (GdkContentFormatsBuilder *builder);

Creates a new GdkContentFormats from the current state of the given builder , and frees the builder instance.

[skip]

Parameters

Returns

the newly created GdkContentFormats with all the formats added to builder .

[transfer full]


gdk_content_formats_builder_add_formats ()

void
gdk_content_formats_builder_add_formats
                               (GdkContentFormatsBuilder *builder,
                                const GdkContentFormats *formats);

Appends all formats from formats to builder , skipping those that already exist.

Parameters

builder

a GdkContentFormatsBuilder

 

formats

the formats to add

 

gdk_content_formats_builder_add_gtype ()

void
gdk_content_formats_builder_add_gtype (GdkContentFormatsBuilder *builder,
                                       GType type);

Appends gtype to builder if it has not already been added.

Parameters

builder

a GdkContentFormatsBuilder

 

type

a GType

 

gdk_content_formats_builder_add_mime_type ()

void
gdk_content_formats_builder_add_mime_type
                               (GdkContentFormatsBuilder *builder,
                                const char *mime_type);

Appends mime_type to builder if it has not already been added.

Parameters

builder

a GdkContentFormatsBuilder

 

mime_type

a mime type

 

gdk_content_formats_builder_ref ()

GdkContentFormatsBuilder *
gdk_content_formats_builder_ref (GdkContentFormatsBuilder *builder);

Acquires a reference on the given builder .

This function is intended primarily for bindings. GdkContentFormatsBuilder objects should not be kept around.

Parameters

Returns

the given GdkContentFormatsBuilder with its reference count increased.

[transfer none]


gdk_content_formats_builder_unref ()

void
gdk_content_formats_builder_unref (GdkContentFormatsBuilder *builder);

Releases a reference on the given builder .

Parameters


gdk_content_formats_builder_to_formats ()

GdkContentFormats *
gdk_content_formats_builder_to_formats
                               (GdkContentFormatsBuilder *builder);

Creates a new GdkContentFormats from the given builder .

The given GdkContentFormatsBuilder is reset once this function returns; you cannot call this function multiple times on the same builder instance.

This function is intended primarily for bindings. C code should use gdk_content_formats_builder_free_to_formats().

Parameters

Returns

the newly created GdkContentFormats with all the formats added to builder .

[transfer full]

Types and Values

GdkContentFormats

typedef struct _GdkContentFormats GdkContentFormats;

A GdkContentFormats struct is a reference counted struct and should be treated as opaque.


GdkContentFormatsBuilder

typedef struct _GdkContentFormatsBuilder GdkContentFormatsBuilder;

A GdkContentFormatsBuilder struct is an opaque struct. It is meant to not be kept around and only be used to create new GdkContentFormats objects.

See Also

GdkDragContext, GdkClipboard, GdkContentProvider

docs/reference/gdk/html/zoom_in_cursor.png0000664000175000017500000000436113464200072021064 0ustar mclasenmclasenPNG  IHDR szzsBIT|d pHYsttfxtEXtSoftwarewww.inkscape.org<tEXtAuthorJakub Steiner/5tEXtDescriptionInverted variant of the DMZ cursor theme.hu[<3tEXtSourcehttp://jimmac.musichall.cz/themes.php?skin=7P3IDATXWklSi0e".Q A.цZ !U(~PZD[!hl#!hBDT!@[ *6 Gmq=sqRtt5gf|9 x$ɠj/#H(F{4Kp8ܚ9.Ɗ0Yg(WTVVEQׅ^qpp0}tftRJKKAN'0˥XVt t:Zv-+hTQewmnBinnV)%tӦM{)-q ;wnp|>6o޼3gP0=}tw~%I2LsUPPSЃqtJKK\3H(77$IbO%Ir%755񑑑 3@v;vrY^yf#4>% ;w>!"Z`bQ[[o୉$@hNv9'pB""jjjZ`0*$IPYY EQ +ےuɯE UVVݻ`0ȋw-q3<看P^^`0%N?JE]|cp솆9s~1  'ɀZ4 RvDjTWWa0 F#KjuT %Iz}EZo~kͯ7g'6 @EM[ד@͞=;it\Ezau8^f $vm&9ɓ$yyyB__ !}\v :cYg `M\i|chUeV(**Bnn>yk5 IݻwE"H5!@vvv*(ڵkԩS)5ݻw===LRZd q9zkbb!D1-ZDHRb7np@J 0.[wHm޼9߿(q_Vݻ79۶m/> &gf9d֭D,˽Dٱ6˲(-[$畖R0v`-bd|PѣGC?f!l̙tҥh81ƘBDMMMѢ7Q]]ˠ S,,++yvYyyN322jjj***&,AzbmH -* vtt< 4mڴ fggf6_7 *V{f}zÁ@ZX,d2(//hÆ tE Hkk!Aޜcǎ}t:݊$Ȳ=z_gV^mOԩS)AB#˄gddL)..֛f(x|QY XnݺE ǎ;CCCL4"btĮ& 3̵Z?y󦪺ZP(/j?7˶0H#|JArkz>D^u:޾}sL*N$"b!J3cc+@ |%%%d^L%QB#uww+W\pΕ7^~o&ƿ*O8|@HH0 1U^ vXRe9I2IENDB`docs/reference/gdk/html/n_resize_cursor.png0000664000175000017500000000240713464200072021227 0ustar mclasenmclasenPNG  IHDR szzsBIT|d pHYsttfxtEXtSoftwarewww.inkscape.org<tEXtAuthorJakub Steiner/5tEXtDescriptionInverted variant of the DMZ cursor theme.hu[<3tEXtSourcehttp://jimmac.musichall.cz/themes.php?skin=7P3IDATXKcW?%ql!:,ZICV.Ee2.[EܸDBĮFO](iPM4?%{xLLR bp#ss=ʿ)zd*h4~:^ByC4-=s؋yt:4>zH4 ?@TX,r!xJix|h9_~l6l;jt]ۖbWs$rJ,KEQJޗTVVV$~*wFGGRBl[[ۃ{ ‚p\o("(Fd2xb3Du@255y7eqqQb}#tW pwM t]CPDzr_{6khmoo E.3؇nllH&gD"H$2`5 ߵGksFӘ5[ޛ HfV~$Dc̊UQf7D;[t&SIENDB`docs/reference/gdk/html/nesw_resize_cursor.png0000664000175000017500000000234013464200072021742 0ustar mclasenmclasenPNG  IHDR szzsBIT|d pHYsttfxtEXtSoftwarewww.inkscape.org<tEXtAuthorJakub Steiner/5tEXtDescriptionInverted variant of the DMZ cursor theme.hu[<3tEXtSourcehttp://jimmac.musichall.cz/themes.php?skin=7P3IDATXOLcUƿ'[%6TESi4X$,(H}i̐vH].XUM: ц, C$h$lHM6%mi)}^0q×ջ}{ι\V52t?!C)UQJZ/Id2=\亻}VlllRZu$D"'~ 7Y"n|>/\.eGG(־.M%eM:<X]]@pʲLǫ|_ @Uè\19N3B8Z eY~ _BU p)mmm]t:NR'!A3ׅBLMM\V7rREч1&&+At:eP%j:$I"d2$_x!N!2-1ooog~\^^i__W{{{avqqA~B˲,Zbj!$)x X,X,c^D%Fa>Rl"Y~ ^9Fѿjjj:'v}u{{{B.?t{{{f\.cu(O_ZokkU(9```l~nբi3̩ *JE 8{yssӉ={m3(? %%r]ɤn@xX<?hĪ%^GA600&ʝ('I=Iy>rZQ(a+ RA9@Z B }8NC3bEw[?loW>IENDB`docs/reference/gdk/html/gdk4-Textures.html0000664000175000017500000010557613464200114020656 0ustar mclasenmclasen GdkTexture: GDK 4 Reference Manual

GdkTexture

GdkTexture — Pixel data

Properties

gint height Read / Write / Construct Only
gint width Read / Write / Construct Only

Types and Values

Object Hierarchy

    GObject
    ╰── GdkTexture

Implemented Interfaces

GdkTexture implements GdkPaintable.

Includes

#include <gdk/gdk.h>

Description

GdkTexture is the basic element used to refer to pixel data. It is primarily mean for pixel data that will not change over multiple frames, and will be used for a long time.

You cannot get your pixel data back once you've uploaded it.

GdkTexture is an immutable object: That means you cannot change anything about it other than increasing the reference count via g_object_ref().

Functions

gdk_texture_new_for_pixbuf ()

GdkTexture *
gdk_texture_new_for_pixbuf (GdkPixbuf *pixbuf);

Creates a new texture object representing the GdkPixbuf.

Parameters

pixbuf

a GdkPixbuf

 

Returns

a new GdkTexture


gdk_texture_new_from_resource ()

GdkTexture *
gdk_texture_new_from_resource (const char *resource_path);

Creates a new texture by loading an image from a resource. The file format is detected automatically.

It is a fatal error if resource_path does not specify a valid image resource and the program will abort if that happens. If you are unsure about the validity of a resource, use gdk_texture_new_from_file() to load it.

Parameters

resource_path

the path of the resource file

 

Returns

A newly-created texture


gdk_texture_new_from_file ()

GdkTexture *
gdk_texture_new_from_file (GFile *file,
                           GError **error);

Creates a new texture by loading an image from a file. The file format is detected automatically. If NULL is returned, then error will be set.

Parameters

file

GFile to load

 

error

Return location for an error

 

Returns

A newly-created GdkTexture or NULL if an error occured.


gdk_texture_get_width ()

int
gdk_texture_get_width (GdkTexture *texture);

Returns the width of texture .

Parameters

texture

a GdkTexture

 

Returns

the width of the GdkTexture


gdk_texture_get_height ()

int
gdk_texture_get_height (GdkTexture *texture);

Returns the height of the texture .

Parameters

texture

a GdkTexture

 

Returns

the height of the GdkTexture


gdk_texture_download ()

void
gdk_texture_download (GdkTexture *texture,
                      guchar *data,
                      gsize stride);

Downloads the texture into local memory. This may be an expensive operation, as the actual texture data may reside on a GPU or on a remote display server.

The data format of the downloaded data is equivalent to CAIRO_FORMAT_ARGB32, so every downloaded pixel requires 4 bytes of memory.

Downloading a texture into a Cairo image surface:

Parameters

texture

a GdkTexture

 

data

pointer to enough memory to be filled with the downloaded data of texture .

[array]

stride

rowstride in bytes

 

gdk_texture_save_to_png ()

gboolean
gdk_texture_save_to_png (GdkTexture *texture,
                         const char *filename);

Store the given texture to the filename as a PNG file.

This is a utility function intended for debugging and testing. If you want more control over formats, proper error handling or want to store to a GFile or other location, you might want to look into using the gdk-pixbuf library.

Parameters

texture

a GdkTexture

 

filename

the filename to store to

 

Returns

TRUE if saving succeeded, FALSE on failure.


gdk_memory_texture_new ()

GdkTexture *
gdk_memory_texture_new (int width,
                        int height,
                        GdkMemoryFormat format,
                        GBytes *bytes,
                        gsize stride);

Creates a new texture for a blob of image data. The GBytes must contain stride x height pixels in the given format.

Parameters

width

the width of the texture

 

height

the height of the texture

 

format

the format of the data

 

bytes

the GBytes containing the pixel data

 

stride

rowstride for the data

 

Returns

A newly-created GdkTexture


gdk_gl_texture_new ()

GdkTexture *
gdk_gl_texture_new (GdkGLContext *context,
                    guint id,
                    int width,
                    int height,
                    GDestroyNotify destroy,
                    gpointer data);

Creates a new texture for an existing GL texture.

Note that the GL texture must not be modified until destroy is called, which will happen when the GdkTexture object is finalized, or due to an explicit call of gdk_gl_texture_release().

Parameters

context

a GdkGLContext

 

id

the ID of a texture that was created with context

 

width

the nominal width of the texture

 

height

the nominal height of the texture

 

destroy

a destroy notify that will be called when the GL resources are released

 

data

data that gets passed to destroy

 

Returns

A newly-created GdkTexture.

[transfer full]


gdk_gl_texture_release ()

void
gdk_gl_texture_release (GdkGLTexture *self);

Releases the GL resources held by a GdkGLTexture that was created with gdk_gl_texture_new().

The texture contents are still available via the gdk_texture_download() function, after this function has been called.

Parameters

self

a GdkTexture wrapping a GL texture

 

Types and Values

GdkTexture

typedef struct _GdkTexture GdkTexture;

The GdkTexture structure contains only private data.


enum GdkMemoryFormat

GdkMemoryFormat describes a format that bytes can have in memory.

It describes formats by listing the contents of the memory passed to it. So GDK_MEMORY_A8R8G8B8 will be 1 byte (8 bits) of alpha, followed by a byte each of red, green and blue. It is not endian-dependent, so CAIRO_FORMAT_ARGB32 is represented by different GdkMemoryFormats on architectures with different endiannesses.

Its naming is modelled after VkFormat (see https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.htmlVkFormat for details).

Members

GDK_MEMORY_B8G8R8A8_PREMULTIPLIED

4 bytes; for blue, green, red, alpha. The color values are premultiplied with the alpha value.

 

GDK_MEMORY_A8R8G8B8_PREMULTIPLIED

4 bytes; for alpha, red, green, blue. The color values are premultiplied with the alpha value.

 

GDK_MEMORY_B8G8R8A8

4 bytes; for blue, green, red, alpha.

 

GDK_MEMORY_A8R8G8B8

4 bytes; for alpha, red, green, blue.

 

GDK_MEMORY_R8G8B8A8

4 bytes; for red, green, blue, alpha.

 

GDK_MEMORY_A8B8G8R8

4 bytes; for alpha, blue, green, red.

 

GDK_MEMORY_R8G8B8

3 bytes; for red, green, blue. The data is opaque.

 

GDK_MEMORY_B8G8R8

3 bytes; for blue, green, red. The data is opaque.

 

GDK_MEMORY_N_FORMATS

The number of formats. This value will change as more formats get added, so do not rely on its concrete integer.

 

GDK_MEMORY_DEFAULT

#define GDK_MEMORY_DEFAULT GDK_MEMORY_B8G8R8A8_PREMULTIPLIED

This is the default memory format used by GTK and is the format provided by gdk_texture_download(). It is equal to CAIRO_FORMAT_ARGB32.

Be aware that unlike the GdkMemoryFormat values, this format is different for different endianness.

Property Details

The “height” property

  “height”                   gint

The height of the texture.

Flags: Read / Write / Construct Only

Allowed values: >= 1

Default value: 1


The “width” property

  “width”                    gint

The width of the texture.

Flags: Read / Write / Construct Only

Allowed values: >= 1

Default value: 1

docs/reference/gdk/html/ns_resize_cursor.png0000664000175000017500000000260313464200072021410 0ustar mclasenmclasenPNG  IHDR szzsBIT|d pHYsnn^tEXtSoftwarewww.inkscape.org<tEXtAuthorJakub Steiner/5tEXtDescriptionInverted variant of the DMZ cursor theme.hu[<3tEXtSourcehttp://jimmac.musichall.cz/themes.php?skin=7P3`IDATX͖]H[g9mY0cV"!*pl݊FpK/:vūy~ƛ(W ^ -!qgIV=rr~ɛ/ps$,k C*_P@|197niKĝi9,˴|9sN@TSSC<ǯ_>r9wsz#^O׮]$%rov; "Q1F߿c؉IT@k9vtTQQA1(Ree% r\޳HTPȖjRT$B<7c$"tb rf,˲S0ĭ[ nÇ뱱1tuu寵Z-ŞݼysnD(p#.V&I51"zzzچp8.\[[[3Ƹ $%FFFY]],@SS6 Ȭv!_Kլo_HRΪRu%ᬱ2E1 `.?bGHЕgAdYC y@>P_$77o\E3}P&~(HDJ$ E<Oe9V=;55e>c4*@e"(шJrs2tSZmpKdY>̡8{Us$|d"YCVhڂ( _ZZ]\ @{ bX(F&T<, % rItj~EJ$޽{%I1T[@M__g^w)---%Jݻw3l /xl6z=`Pioo/R*wy ۿ4 )&jt:o߾^T B4ir:GN_B`8v9?\9m mmm 22ڱ1io##Ȝ(@Ntv KCRIENDB`docs/reference/gdk/html/GdkSurface.html0000664000175000017500000113462613464200113020220 0ustar mclasenmclasen Surfaces: GDK 4 Reference Manual

Surfaces

Surfaces — Onscreen display areas in the target window system

Functions

GdkSurface * gdk_surface_new_toplevel ()
GdkSurface * gdk_surface_new_popup ()
GdkSurface * gdk_surface_new_temp ()
GdkSurface * gdk_surface_new_child ()
void gdk_surface_destroy ()
GdkSurfaceType gdk_surface_get_surface_type ()
GdkDisplay * gdk_surface_get_display ()
void gdk_surface_show ()
void gdk_surface_show_unraised ()
void gdk_surface_hide ()
gboolean gdk_surface_is_destroyed ()
gboolean gdk_surface_is_visible ()
gboolean gdk_surface_is_viewable ()
gboolean gdk_surface_is_input_only ()
GdkSurfaceState gdk_surface_get_state ()
void gdk_surface_iconify ()
void gdk_surface_deiconify ()
void gdk_surface_stick ()
void gdk_surface_unstick ()
void gdk_surface_maximize ()
void gdk_surface_unmaximize ()
void gdk_surface_fullscreen ()
void gdk_surface_fullscreen_on_monitor ()
void gdk_surface_unfullscreen ()
GdkFullscreenMode gdk_surface_get_fullscreen_mode ()
void gdk_surface_set_fullscreen_mode ()
void gdk_surface_set_keep_above ()
void gdk_surface_set_keep_below ()
void gdk_surface_set_opacity ()
void gdk_surface_set_pass_through ()
gboolean gdk_surface_get_pass_through ()
void gdk_surface_move ()
void gdk_surface_resize ()
void gdk_surface_move_resize ()
void gdk_surface_move_to_rect ()
gboolean gdk_surface_has_native ()
void gdk_surface_raise ()
void gdk_surface_lower ()
void gdk_surface_restack ()
void gdk_surface_focus ()
void gdk_surface_register_dnd ()
void gdk_surface_begin_resize_drag ()
void gdk_surface_begin_resize_drag_for_device ()
void gdk_surface_begin_move_drag ()
void gdk_surface_begin_move_drag_for_device ()
gboolean gdk_surface_show_window_menu ()
void gdk_surface_constrain_size ()
void gdk_surface_beep ()
gint gdk_surface_get_scale_factor ()
void gdk_surface_set_opaque_region ()
GdkGLContext * gdk_surface_create_gl_context ()
GdkVulkanContext * gdk_surface_create_vulkan_context ()
GdkCairoContext * gdk_surface_create_cairo_context ()
void gdk_surface_queue_expose ()
void gdk_surface_freeze_updates ()
void gdk_surface_thaw_updates ()
GdkFrameClock * gdk_surface_get_frame_clock ()
void gdk_surface_set_accept_focus ()
gboolean gdk_surface_get_accept_focus ()
void gdk_surface_set_focus_on_map ()
gboolean gdk_surface_get_focus_on_map ()
void gdk_surface_input_shape_combine_region ()
void gdk_surface_set_child_input_shapes ()
void gdk_surface_merge_child_input_shapes ()
void gdk_surface_set_title ()
void gdk_surface_set_cursor ()
GdkCursor * gdk_surface_get_cursor ()
void gdk_surface_get_geometry ()
void gdk_surface_set_geometry_hints ()
int gdk_surface_get_width ()
int gdk_surface_get_height ()
void gdk_surface_set_icon_list ()
void gdk_surface_set_modal_hint ()
gboolean gdk_surface_get_modal_hint ()
void gdk_surface_set_type_hint ()
GdkSurfaceTypeHint gdk_surface_get_type_hint ()
void gdk_surface_set_shadow_width ()
void gdk_surface_get_position ()
void gdk_surface_get_root_origin ()
void gdk_surface_get_frame_extents ()
gint gdk_surface_get_origin ()
void gdk_surface_get_root_coords ()
GdkSurface * gdk_surface_get_device_position ()
GdkSurface * gdk_surface_get_parent ()
GdkSurface * gdk_surface_get_toplevel ()
GList * gdk_surface_get_children ()
GList * gdk_surface_peek_children ()
void gdk_surface_set_icon_name ()
void gdk_surface_set_transient_for ()
void gdk_surface_set_startup_id ()
void gdk_surface_set_decorations ()
gboolean gdk_surface_get_decorations ()
void gdk_surface_set_functions ()
gboolean gdk_surface_get_support_multidevice ()
void gdk_surface_set_support_multidevice ()
GdkCursor * gdk_surface_get_device_cursor ()
void gdk_surface_set_device_cursor ()
void gdk_surface_coords_from_parent ()
void gdk_surface_coords_to_parent ()

Properties

GdkCursor * cursor Read / Write
GdkDisplay * display Read / Write / Construct Only
GdkFrameClock * frame-clock Read / Write / Construct Only
gboolean mapped Read
GdkSurfaceState state Read

Signals

gboolean event Run Last
void moved-to-rect Run First
gboolean render Run Last
void size-changed Run First

Object Hierarchy

    GObject
    ╰── GdkSurface

Includes

#include <gdk/gdk.h>

Description

A GdkSurface is a (usually) rectangular region on the screen. It’s a low-level object, used to implement high-level objects such as GtkWidget and GtkWindow on the GTK level. A GtkWindow is a toplevel surface, the thing a user might think of as a “window” with a titlebar and so on; a GtkWindow may contain many sub-GdkSurfaces.

Functions

gdk_surface_new_toplevel ()

GdkSurface *
gdk_surface_new_toplevel (GdkDisplay *display,
                          int width,
                          int height);

Creates a new toplevel surface. The surface will be managed by the surface manager.

[constructor]

Parameters

display

the display to create the surface on

 

width

width of new surface

 

height

height of new surface

 

Returns

the new GdkSurface.

[transfer full]


gdk_surface_new_popup ()

GdkSurface *
gdk_surface_new_popup (GdkDisplay *display,
                       const GdkRectangle *position);

Creates a new toplevel popup surface. The surface will bypass surface management.

[constructor]

Parameters

display

the display to create the surface on

 

position

position of the surface on screen

 

Returns

the new GdkSurface.

[transfer full]


gdk_surface_new_temp ()

GdkSurface *
gdk_surface_new_temp (GdkDisplay *display);

Creates a new toplevel temporary surface. The surface will be situated off-screen and not handle output.

You most likely do not want to use this function.

[constructor]

Parameters

display

the display to create the surface on

 

Returns

the new GdkSurface.

[transfer full]


gdk_surface_new_child ()

GdkSurface *
gdk_surface_new_child (GdkSurface *parent,
                       const GdkRectangle *position);

Creates a new client-side child surface.

[constructor]

Parameters

parent

the parent surface

 

position

placement of the surface inside parent

 

Returns

the new GdkSurface.

[transfer full]


gdk_surface_destroy ()

void
gdk_surface_destroy (GdkSurface *surface);

Destroys the window system resources associated with surface and decrements surface 's reference count. The window system resources for all children of surface are also destroyed, but the children’s reference counts are not decremented.

Note that a surface will not be destroyed automatically when its reference count reaches zero. You must call this function yourself before that happens.

Parameters

surface

a GdkSurface

 

gdk_surface_get_surface_type ()

GdkSurfaceType
gdk_surface_get_surface_type (GdkSurface *surface);

Gets the type of the surface. See GdkSurfaceType.

Parameters

surface

a GdkSurface

 

Returns

type of surface


gdk_surface_get_display ()

GdkDisplay *
gdk_surface_get_display (GdkSurface *surface);

Gets the GdkDisplay associated with a GdkSurface.

Parameters

surface

a GdkSurface

 

Returns

the GdkDisplay associated with surface .

[transfer none]


gdk_surface_show ()

void
gdk_surface_show (GdkSurface *surface);

Like gdk_surface_show_unraised(), but also raises the surface to the top of the surface stack (moves the surface to the front of the Z-order).

This function maps a surface so it’s visible onscreen. Its opposite is gdk_surface_hide().

When implementing a GtkWidget, you should call this function on the widget's GdkSurface as part of the “map” method.

Parameters

surface

a GdkSurface

 

gdk_surface_show_unraised ()

void
gdk_surface_show_unraised (GdkSurface *surface);

Shows a GdkSurface onscreen, but does not modify its stacking order. In contrast, gdk_surface_show() will raise the surface to the top of the surface stack.

On the X11 platform, in Xlib terms, this function calls XMapWindow() (it also updates some internal GDK state, which means that you can’t really use XMapWindow() directly on a GDK surface).

Parameters

surface

a GdkSurface

 

gdk_surface_hide ()

void
gdk_surface_hide (GdkSurface *surface);

For toplevel surfaces, withdraws them, so they will no longer be known to the window manager; for all surfaces, unmaps them, so they won’t be displayed. Normally done automatically as part of gtk_widget_hide().

Parameters

surface

a GdkSurface

 

gdk_surface_is_destroyed ()

gboolean
gdk_surface_is_destroyed (GdkSurface *surface);

Check to see if a surface is destroyed..

Parameters

surface

a GdkSurface

 

Returns

TRUE if the surface is destroyed


gdk_surface_is_visible ()

gboolean
gdk_surface_is_visible (GdkSurface *surface);

Checks whether the surface has been mapped (with gdk_surface_show() or gdk_surface_show_unraised()).

Parameters

surface

a GdkSurface

 

Returns

TRUE if the surface is mapped


gdk_surface_is_viewable ()

gboolean
gdk_surface_is_viewable (GdkSurface *surface);

Check if the surface and all ancestors of the surface are mapped. (This is not necessarily "viewable" in the X sense, since we only check as far as we have GDK surface parents, not to the root surface.)

Parameters

surface

a GdkSurface

 

Returns

TRUE if the surface is viewable


gdk_surface_is_input_only ()

gboolean
gdk_surface_is_input_only (GdkSurface *surface);

Determines whether or not the surface is an input only surface.

Parameters

surface

a toplevel GdkSurface

 

Returns

TRUE if surface is input only


gdk_surface_get_state ()

GdkSurfaceState
gdk_surface_get_state (GdkSurface *surface);

Gets the bitwise OR of the currently active surface state flags, from the GdkSurfaceState enumeration.

Parameters

surface

a GdkSurface

 

Returns

surface state bitfield


gdk_surface_iconify ()

void
gdk_surface_iconify (GdkSurface *surface);

Asks to iconify (minimize) surface . The window manager may choose to ignore the request, but normally will honor it. Using gtk_window_iconify() is preferred, if you have a GtkWindow widget.

This function only makes sense when surface is a toplevel surface.

Parameters

surface

a toplevel GdkSurface

 

gdk_surface_deiconify ()

void
gdk_surface_deiconify (GdkSurface *surface);

Attempt to deiconify (unminimize) surface . On X11 the window manager may choose to ignore the request to deiconify. When using GTK, use gtk_window_deiconify() instead of the GdkSurface variant. Or better yet, you probably want to use gtk_window_present_with_time(), which raises the surface, focuses it, unminimizes it, and puts it on the current desktop.

Parameters

surface

a toplevel GdkSurface

 

gdk_surface_stick ()

void
gdk_surface_stick (GdkSurface *surface);

“Pins” a surface such that it’s on all workspaces and does not scroll with viewports, for window managers that have scrollable viewports. (When using GtkWindow, gtk_window_stick() may be more useful.)

On the X11 platform, this function depends on window manager support, so may have no effect with many window managers. However, GDK will do the best it can to convince the window manager to stick the surface. For window managers that don’t support this operation, there’s nothing you can do to force it to happen.

Parameters

surface

a toplevel GdkSurface

 

gdk_surface_unstick ()

void
gdk_surface_unstick (GdkSurface *surface);

Reverse operation for gdk_surface_stick(); see gdk_surface_stick(), and gtk_window_unstick().

Parameters

surface

a toplevel GdkSurface

 

gdk_surface_maximize ()

void
gdk_surface_maximize (GdkSurface *surface);

Maximizes the surface. If the surface was already maximized, then this function does nothing.

On X11, asks the window manager to maximize surface , if the window manager supports this operation. Not all window managers support this, and some deliberately ignore it or don’t have a concept of “maximized”; so you can’t rely on the maximization actually happening. But it will happen with most standard window managers, and GDK makes a best effort to get it to happen.

On Windows, reliably maximizes the surface.

Parameters

surface

a toplevel GdkSurface

 

gdk_surface_unmaximize ()

void
gdk_surface_unmaximize (GdkSurface *surface);

Unmaximizes the surface. If the surface wasn’t maximized, then this function does nothing.

On X11, asks the window manager to unmaximize surface , if the window manager supports this operation. Not all window managers support this, and some deliberately ignore it or don’t have a concept of “maximized”; so you can’t rely on the unmaximization actually happening. But it will happen with most standard window managers, and GDK makes a best effort to get it to happen.

On Windows, reliably unmaximizes the surface.

Parameters

surface

a toplevel GdkSurface

 

gdk_surface_fullscreen ()

void
gdk_surface_fullscreen (GdkSurface *surface);

Moves the surface into fullscreen mode. This means the surface covers the entire screen and is above any panels or task bars.

If the surface was already fullscreen, then this function does nothing.

On X11, asks the window manager to put surface in a fullscreen state, if the window manager supports this operation. Not all window managers support this, and some deliberately ignore it or don’t have a concept of “fullscreen”; so you can’t rely on the fullscreenification actually happening. But it will happen with most standard window managers, and GDK makes a best effort to get it to happen.

Parameters

surface

a toplevel GdkSurface

 

gdk_surface_fullscreen_on_monitor ()

void
gdk_surface_fullscreen_on_monitor (GdkSurface *surface,
                                   GdkMonitor *monitor);

Moves the surface into fullscreen mode on the given monitor. This means the surface covers the entire screen and is above any panels or task bars.

If the surface was already fullscreen, then this function does nothing.

Parameters

surface

a toplevel GdkSurface

 

monitor

Which monitor to display fullscreen on.

 

gdk_surface_unfullscreen ()

void
gdk_surface_unfullscreen (GdkSurface *surface);

Moves the surface out of fullscreen mode. If the surface was not fullscreen, does nothing.

On X11, asks the window manager to move surface out of the fullscreen state, if the window manager supports this operation. Not all window managers support this, and some deliberately ignore it or don’t have a concept of “fullscreen”; so you can’t rely on the unfullscreenification actually happening. But it will happen with most standard window managers, and GDK makes a best effort to get it to happen.

Parameters

surface

a toplevel GdkSurface

 

gdk_surface_get_fullscreen_mode ()

GdkFullscreenMode
gdk_surface_get_fullscreen_mode (GdkSurface *surface);

Obtains the GdkFullscreenMode of the surface .

Parameters

surface

a toplevel GdkSurface

 

Returns

The GdkFullscreenMode applied to the surface when fullscreen.


gdk_surface_set_fullscreen_mode ()

void
gdk_surface_set_fullscreen_mode (GdkSurface *surface,
                                 GdkFullscreenMode mode);

Specifies whether the surface should span over all monitors (in a multi-head setup) or only the current monitor when in fullscreen mode.

The mode argument is from the GdkFullscreenMode enumeration. If GDK_FULLSCREEN_ON_ALL_MONITORS is specified, the fullscreen surface will span over all monitors of the display.

On X11, searches through the list of monitors display the ones which delimit the 4 edges of the entire display and will ask the window manager to span the surface over these monitors.

If the XINERAMA extension is not available or not usable, this function has no effect.

Not all window managers support this, so you can’t rely on the fullscreen surface to span over the multiple monitors when GDK_FULLSCREEN_ON_ALL_MONITORS is specified.

Parameters

surface

a toplevel GdkSurface

 

mode

fullscreen mode

 

gdk_surface_set_keep_above ()

void
gdk_surface_set_keep_above (GdkSurface *surface,
                            gboolean setting);

Set if surface must be kept above other surfaces. If the surface was already above, then this function does nothing.

On X11, asks the window manager to keep surface above, if the window manager supports this operation. Not all window managers support this, and some deliberately ignore it or don’t have a concept of “keep above”; so you can’t rely on the surface being kept above. But it will happen with most standard window managers, and GDK makes a best effort to get it to happen.

Parameters

surface

a toplevel GdkSurface

 

setting

whether to keep surface above other surfaces

 

gdk_surface_set_keep_below ()

void
gdk_surface_set_keep_below (GdkSurface *surface,
                            gboolean setting);

Set if surface must be kept below other surfaces. If the surface was already below, then this function does nothing.

On X11, asks the window manager to keep surface below, if the window manager supports this operation. Not all window managers support this, and some deliberately ignore it or don’t have a concept of “keep below”; so you can’t rely on the surface being kept below. But it will happen with most standard window managers, and GDK makes a best effort to get it to happen.

Parameters

surface

a toplevel GdkSurface

 

setting

whether to keep surface below other surfaces

 

gdk_surface_set_opacity ()

void
gdk_surface_set_opacity (GdkSurface *surface,
                         gdouble opacity);

Set surface to render as partially transparent, with opacity 0 being fully transparent and 1 fully opaque. (Values of the opacity parameter are clamped to the [0,1] range.)

For toplevel surfaces this depends on support from the windowing system that may not always be there. For instance, On X11, this works only on X screens with a compositing manager running. On Wayland, there is no per-surface opacity value that the compositor would apply. Instead, use gdk_surface_set_opaque_region (surface, NULL) to tell the compositor that the entire surface is (potentially) non-opaque, and draw your content with alpha, or use gtk_widget_set_opacity() to set an overall opacity for your widgets.

Support for non-toplevel surfaces was added in 3.8.

Parameters

surface

a top-level or non-native GdkSurface

 

opacity

opacity

 

gdk_surface_set_pass_through ()

void
gdk_surface_set_pass_through (GdkSurface *surface,
                              gboolean pass_through);

Sets whether input to the surface is passed through to the surface below.

The default value of this is FALSE, which means that pointer events that happen inside the surface are send first to the surface, but if the event is not selected by the event mask then the event is sent to the parent surface, and so on up the hierarchy.

If pass_through is TRUE then such pointer events happen as if the surface wasn't there at all, and thus will be sent first to any surfaces below surface . This is useful if the surface is used in a transparent fashion. In the terminology of the web this would be called "pointer-events: none".

Note that a surface with pass_through TRUE can still have a subsurface without pass through, so you can get events on a subset of a surface. And in that cases you would get the in-between related events such as the pointer enter/leave events on its way to the destination surface.

Parameters

surface

a GdkSurface

 

pass_through

a boolean

 

gdk_surface_get_pass_through ()

gboolean
gdk_surface_get_pass_through (GdkSurface *surface);

Returns whether input to the surface is passed through to the surface below.

See gdk_surface_set_pass_through() for details

Parameters

surface

a GdkSurface

 

gdk_surface_move ()

void
gdk_surface_move (GdkSurface *surface,
                  gint x,
                  gint y);

Repositions a surface relative to its parent surface. For toplevel surfaces, window managers may ignore or modify the move; you should probably use gtk_window_move() on a GtkWindow widget anyway, instead of using GDK functions. For child surfaces, the move will reliably succeed.

If you’re also planning to resize the surface, use gdk_surface_move_resize() to both move and resize simultaneously, for a nicer visual effect.

Parameters

surface

a GdkSurface

 

x

X coordinate relative to surface’s parent

 

y

Y coordinate relative to surface’s parent

 

gdk_surface_resize ()

void
gdk_surface_resize (GdkSurface *surface,
                    gint width,
                    gint height);

Resizes surface ; for toplevel surfaces, asks the window manager to resize the surface. The window manager may not allow the resize. When using GTK, use gtk_window_resize() instead of this low-level GDK function.

Surfaces may not be resized below 1x1.

If you’re also planning to move the surface, use gdk_surface_move_resize() to both move and resize simultaneously, for a nicer visual effect.

Parameters

surface

a GdkSurface

 

width

new width of the surface

 

height

new height of the surface

 

gdk_surface_move_resize ()

void
gdk_surface_move_resize (GdkSurface *surface,
                         gint x,
                         gint y,
                         gint width,
                         gint height);

Equivalent to calling gdk_surface_move() and gdk_surface_resize(), except that both operations are performed at once, avoiding strange visual effects. (i.e. the user may be able to see the surface first move, then resize, if you don’t use gdk_surface_move_resize().)

Parameters

surface

a GdkSurface

 

x

new X position relative to surface’s parent

 

y

new Y position relative to surface’s parent

 

width

new width

 

height

new height

 

gdk_surface_move_to_rect ()

void
gdk_surface_move_to_rect (GdkSurface *surface,
                          const GdkRectangle *rect,
                          GdkGravity rect_anchor,
                          GdkGravity surface_anchor,
                          GdkAnchorHints anchor_hints,
                          gint rect_anchor_dx,
                          gint rect_anchor_dy);

Moves surface to rect , aligning their anchor points.

rect is relative to the top-left corner of the surface that surface is transient for. rect_anchor and surface_anchor determine anchor points on rect and surface to pin together. rect 's anchor point can optionally be offset by rect_anchor_dx and rect_anchor_dy , which is equivalent to offsetting the position of surface .

anchor_hints determines how surface will be moved if the anchor points cause it to move off-screen. For example, GDK_ANCHOR_FLIP_X will replace GDK_GRAVITY_NORTH_WEST with GDK_GRAVITY_NORTH_EAST and vice versa if surface extends beyond the left or right edges of the monitor.

Connect to the “moved-to-rect” signal to find out how it was actually positioned.

Parameters

surface

the GdkSurface to move

 

rect

the destination GdkRectangle to align surface with.

[not nullable]

rect_anchor

the point on rect to align with surface 's anchor point

 

surface_anchor

the point on surface to align with rect 's anchor point

 

anchor_hints

positioning hints to use when limited on space

 

rect_anchor_dx

horizontal offset to shift surface , i.e. rect 's anchor point

 

rect_anchor_dy

vertical offset to shift surface , i.e. rect 's anchor point

 

gdk_surface_has_native ()

gboolean
gdk_surface_has_native (GdkSurface *surface);

Checks whether the surface has a native surface or not.

Parameters

surface

a GdkSurface

 

Returns

TRUE if the surface has a native surface, FALSE otherwise.


gdk_surface_raise ()

void
gdk_surface_raise (GdkSurface *surface);

Raises surface to the top of the Z-order (stacking order), so that other surfaces with the same parent surface appear below surface . This is true whether or not the surfaces are visible.

If surface is a toplevel, the window manager may choose to deny the request to move the surface in the Z-order, gdk_surface_raise() only requests the restack, does not guarantee it.

Parameters

surface

a GdkSurface

 

gdk_surface_lower ()

void
gdk_surface_lower (GdkSurface *surface);

Lowers surface to the bottom of the Z-order (stacking order), so that other surfaces with the same parent surface appear above surface . This is true whether or not the other surfaces are visible.

If surface is a toplevel, the window manager may choose to deny the request to move the surface in the Z-order, gdk_surface_lower() only requests the restack, does not guarantee it.

Note that gdk_surface_show() raises the surface again, so don’t call this function before gdk_surface_show(). (Try gdk_surface_show_unraised().)

Parameters

surface

a GdkSurface

 

gdk_surface_restack ()

void
gdk_surface_restack (GdkSurface *surface,
                     GdkSurface *sibling,
                     gboolean above);

Changes the position of surface in the Z-order (stacking order), so that it is above sibling (if above is TRUE) or below sibling (if above is FALSE).

If sibling is NULL, then this either raises (if above is TRUE) or lowers the surface.

If surface is a toplevel, the window manager may choose to deny the request to move the surface in the Z-order, gdk_surface_restack() only requests the restack, does not guarantee it.

Parameters

surface

a GdkSurface

 

sibling

a GdkSurface that is a sibling of surface , or NULL.

[allow-none]

above

a boolean

 

gdk_surface_focus ()

void
gdk_surface_focus (GdkSurface *surface,
                   guint32 timestamp);

Sets keyboard focus to surface . In most cases, gtk_window_present_with_time() should be used on a GtkWindow, rather than calling this function.

Parameters

surface

a GdkSurface

 

timestamp

timestamp of the event triggering the surface focus

 

gdk_surface_register_dnd ()

void
gdk_surface_register_dnd (GdkSurface *surface);

Registers a surface as a potential drop destination.

Parameters

surface

a GdkSurface.

 

gdk_surface_begin_resize_drag ()

void
gdk_surface_begin_resize_drag (GdkSurface *surface,
                               GdkSurfaceEdge edge,
                               gint button,
                               gint x,
                               gint y,
                               guint32 timestamp);

Begins a surface resize operation (for a toplevel surface).

This function assumes that the drag is controlled by the client pointer device, use gdk_surface_begin_resize_drag_for_device() to begin a drag with a different device.

Parameters

surface

a toplevel GdkSurface

 

edge

the edge or corner from which the drag is started

 

button

the button being used to drag, or 0 for a keyboard-initiated drag

 

x

surface X coordinate of mouse click that began the drag

 

y

surface Y coordinate of mouse click that began the drag

 

timestamp

timestamp of mouse click that began the drag (use gdk_event_get_time())

 

gdk_surface_begin_resize_drag_for_device ()

void
gdk_surface_begin_resize_drag_for_device
                               (GdkSurface *surface,
                                GdkSurfaceEdge edge,
                                GdkDevice *device,
                                gint button,
                                gint x,
                                gint y,
                                guint32 timestamp);

Begins a surface resize operation (for a toplevel surface). You might use this function to implement a “window resize grip,”

Parameters

surface

a toplevel GdkSurface

 

edge

the edge or corner from which the drag is started

 

device

the device used for the operation

 

button

the button being used to drag, or 0 for a keyboard-initiated drag

 

x

surface X coordinate of mouse click that began the drag

 

y

surface Y coordinate of mouse click that began the drag

 

timestamp

timestamp of mouse click that began the drag (use gdk_event_get_time())

 

gdk_surface_begin_move_drag ()

void
gdk_surface_begin_move_drag (GdkSurface *surface,
                             gint button,
                             gint x,
                             gint y,
                             guint32 timestamp);

Begins a surface move operation (for a toplevel surface).

This function assumes that the drag is controlled by the client pointer device, use gdk_surface_begin_move_drag_for_device() to begin a drag with a different device.

Parameters

surface

a toplevel GdkSurface

 

button

the button being used to drag, or 0 for a keyboard-initiated drag

 

x

surface X coordinate of mouse click that began the drag

 

y

surface Y coordinate of mouse click that began the drag

 

timestamp

timestamp of mouse click that began the drag

 

gdk_surface_begin_move_drag_for_device ()

void
gdk_surface_begin_move_drag_for_device
                               (GdkSurface *surface,
                                GdkDevice *device,
                                gint button,
                                gint x,
                                gint y,
                                guint32 timestamp);

Begins a surface move operation (for a toplevel surface).

Parameters

surface

a toplevel GdkSurface

 

device

the device used for the operation

 

button

the button being used to drag, or 0 for a keyboard-initiated drag

 

x

surface X coordinate of mouse click that began the drag

 

y

surface Y coordinate of mouse click that began the drag

 

timestamp

timestamp of mouse click that began the drag

 

gdk_surface_show_window_menu ()

gboolean
gdk_surface_show_window_menu (GdkSurface *surface,
                              GdkEvent *event);

Asks the windowing system to show the window menu. The window menu is the menu shown when right-clicking the titlebar on traditional windows managed by the window manager. This is useful for windows using client-side decorations, activating it with a right-click on the window decorations.

Parameters

surface

a GdkSurface

 

event

a GdkEvent to show the menu for

 

Returns

TRUE if the window menu was shown and FALSE otherwise.


gdk_surface_constrain_size ()

void
gdk_surface_constrain_size (GdkGeometry *geometry,
                            GdkSurfaceHints flags,
                            gint width,
                            gint height,
                            gint *new_width,
                            gint *new_height);

Constrains a desired width and height according to a set of geometry hints (such as minimum and maximum size).

Parameters

geometry

a GdkGeometry structure

 

flags

a mask indicating what portions of geometry are set

 

width

desired width of surface

 

height

desired height of the surface

 

new_width

location to store resulting width.

[out]

new_height

location to store resulting height.

[out]

gdk_surface_beep ()

void
gdk_surface_beep (GdkSurface *surface);

Emits a short beep associated to surface in the appropriate display, if supported. Otherwise, emits a short beep on the display just as gdk_display_beep().

Parameters

surface

a toplevel GdkSurface

 

gdk_surface_get_scale_factor ()

gint
gdk_surface_get_scale_factor (GdkSurface *surface);

Returns the internal scale factor that maps from surface coordiantes to the actual device pixels. On traditional systems this is 1, but on very high density outputs this can be a higher value (often 2).

A higher value means that drawing is automatically scaled up to a higher resolution, so any code doing drawing will automatically look nicer. However, if you are supplying pixel-based data the scale value can be used to determine whether to use a pixel resource with higher resolution data.

The scale of a surface may change during runtime, if this happens a configure event will be sent to the toplevel surface.

Parameters

surface

surface to get scale factor for

 

Returns

the scale factor


gdk_surface_set_opaque_region ()

void
gdk_surface_set_opaque_region (GdkSurface *surface,
                               cairo_region_t *region);

For optimisation purposes, compositing window managers may like to not draw obscured regions of surfaces, or turn off blending during for these regions. With RGB windows with no transparency, this is just the shape of the window, but with ARGB32 windows, the compositor does not know what regions of the window are transparent or not.

This function only works for toplevel surfaces.

GTK will update this property automatically if the surface background is opaque, as we know where the opaque regions are. If your surface background is not opaque, please update this property in your “style-updated” handler.

Parameters

surface

a top-level or non-native GdkSurface

 

region

a region, or NULL.

[allow-none]

gdk_surface_create_gl_context ()

GdkGLContext *
gdk_surface_create_gl_context (GdkSurface *surface,
                               GError **error);

Creates a new GdkGLContext matching the framebuffer format to the visual of the GdkSurface. The context is disconnected from any particular surface or surface.

If the creation of the GdkGLContext failed, error will be set.

Before using the returned GdkGLContext, you will need to call gdk_gl_context_make_current() or gdk_gl_context_realize().

Parameters

surface

a GdkSurface

 

error

return location for an error

 

Returns

the newly created GdkGLContext, or NULL on error.

[transfer full]


gdk_surface_create_vulkan_context ()

GdkVulkanContext *
gdk_surface_create_vulkan_context (GdkSurface *surface,
                                   GError **error);

Creates a new GdkVulkanContext for rendering on surface .

If the creation of the GdkVulkanContext failed, error will be set.

Parameters

surface

a GdkSurface

 

error

return location for an error

 

Returns

the newly created GdkVulkanContext, or NULL on error.

[transfer full]


gdk_surface_create_cairo_context ()

GdkCairoContext *
gdk_surface_create_cairo_context (GdkSurface *surface);

Creates a new GdkCairoContext for rendering on surface .

Parameters

surface

a GdkSurface

 

Returns

the newly created GdkCairoContext.

[transfer full]


gdk_surface_queue_expose ()

void
gdk_surface_queue_expose (GdkSurface *surface);

Forces an expose event for surface to be scheduled.

If the invalid area of surface is empty, an expose event will still be emitted. Its invalid region will be empty.

This function is useful for implementations that track invalid regions on their own.

Parameters

surface

a GdkSurface

 

gdk_surface_freeze_updates ()

void
gdk_surface_freeze_updates (GdkSurface *surface);

Temporarily freezes a surface such that it won’t receive expose events. The surface will begin receiving expose events again when gdk_surface_thaw_updates() is called. If gdk_surface_freeze_updates() has been called more than once, gdk_surface_thaw_updates() must be called an equal number of times to begin processing exposes.

Parameters

surface

a GdkSurface

 

gdk_surface_thaw_updates ()

void
gdk_surface_thaw_updates (GdkSurface *surface);

Thaws a surface frozen with gdk_surface_freeze_updates().

Parameters

surface

a GdkSurface

 

gdk_surface_get_frame_clock ()

GdkFrameClock *
gdk_surface_get_frame_clock (GdkSurface *surface);

Gets the frame clock for the surface. The frame clock for a surface never changes unless the surface is reparented to a new toplevel surface.

Parameters

surface

surface to get frame clock for

 

Returns

the frame clock.

[transfer none]


gdk_surface_set_accept_focus ()

void
gdk_surface_set_accept_focus (GdkSurface *surface,
                              gboolean accept_focus);

Setting accept_focus to FALSE hints the desktop environment that the surface doesn’t want to receive input focus.

On X, it is the responsibility of the window manager to interpret this hint. ICCCM-compliant window manager usually respect it.

Parameters

surface

a toplevel GdkSurface

 

accept_focus

TRUE if the surface should receive input focus

 

gdk_surface_get_accept_focus ()

gboolean
gdk_surface_get_accept_focus (GdkSurface *surface);

Determines whether or not the desktop environment shuld be hinted that the surface does not want to receive input focus.

Parameters

surface

a toplevel GdkSurface.

 

Returns

whether or not the surface should receive input focus.


gdk_surface_set_focus_on_map ()

void
gdk_surface_set_focus_on_map (GdkSurface *surface,
                              gboolean focus_on_map);

Setting focus_on_map to FALSE hints the desktop environment that the surface doesn’t want to receive input focus when it is mapped. focus_on_map should be turned off for surfaces that aren’t triggered interactively (such as popups from network activity).

On X, it is the responsibility of the window manager to interpret this hint. Window managers following the freedesktop.org window manager extension specification should respect it.

Parameters

surface

a toplevel GdkSurface

 

focus_on_map

TRUE if the surface should receive input focus when mapped

 

gdk_surface_get_focus_on_map ()

gboolean
gdk_surface_get_focus_on_map (GdkSurface *surface);

Determines whether or not the desktop environment should be hinted that the surface does not want to receive input focus when it is mapped.

Parameters

surface

a toplevel GdkSurface.

 

Returns

whether or not the surface wants to receive input focus when it is mapped.


gdk_surface_input_shape_combine_region ()

void
gdk_surface_input_shape_combine_region
                               (GdkSurface *surface,
                                const cairo_region_t *shape_region,
                                gint offset_x,
                                gint offset_y);

Like gdk_surface_shape_combine_region(), but the shape applies only to event handling. Mouse events which happen while the pointer position corresponds to an unset bit in the mask will be passed on the surface below surface .

An input shape is typically used with RGBA surfaces. The alpha channel of the surface defines which pixels are invisible and allows for nicely antialiased borders, and the input shape controls where the surface is “clickable”.

On the X11 platform, this requires version 1.1 of the shape extension.

On the Win32 platform, this functionality is not present and the function does nothing.

Parameters

surface

a GdkSurface

 

shape_region

region of surface to be non-transparent

 

offset_x

X position of shape_region in surface coordinates

 

offset_y

Y position of shape_region in surface coordinates

 

gdk_surface_set_child_input_shapes ()

void
gdk_surface_set_child_input_shapes (GdkSurface *surface);

Sets the input shape mask of surface to the union of input shape masks for all children of surface , ignoring the input shape mask of surface itself. Contrast with gdk_surface_merge_child_input_shapes() which includes the input shape mask of surface in the masks to be merged.

Parameters

surface

a GdkSurface

 

gdk_surface_merge_child_input_shapes ()

void
gdk_surface_merge_child_input_shapes (GdkSurface *surface);

Merges the input shape masks for any child surfaces into the input shape mask for surface . i.e. the union of all input masks for surface and its children will become the new input mask for surface . See gdk_surface_input_shape_combine_region().

This function is distinct from gdk_surface_set_child_input_shapes() because it includes surface ’s input shape mask in the set of shapes to be merged.

Parameters

surface

a GdkSurface

 

gdk_surface_set_title ()

void
gdk_surface_set_title (GdkSurface *surface,
                       const gchar *title);

Sets the title of a toplevel surface, to be displayed in the titlebar. If you haven’t explicitly set the icon name for the surface (using gdk_surface_set_icon_name()), the icon name will be set to title as well. title must be in UTF-8 encoding (as with all user-readable strings in GDK and GTK). title may not be NULL.

Parameters

surface

a toplevel GdkSurface

 

title

title of surface

 

gdk_surface_set_cursor ()

void
gdk_surface_set_cursor (GdkSurface *surface,
                        GdkCursor *cursor);

Sets the default mouse pointer for a GdkSurface.

Note that cursor must be for the same display as surface .

Use gdk_cursor_new_from_name() or gdk_cursor_new_from_texture() to create the cursor. To make the cursor invisible, use GDK_BLANK_CURSOR. Passing NULL for the cursor argument to gdk_surface_set_cursor() means that surface will use the cursor of its parent surface. Most surfaces should use this default.

Parameters

surface

a GdkSurface

 

cursor

a cursor.

[allow-none]

gdk_surface_get_cursor ()

GdkCursor *
gdk_surface_get_cursor (GdkSurface *surface);

Retrieves a GdkCursor pointer for the cursor currently set on the specified GdkSurface, or NULL. If the return value is NULL then there is no custom cursor set on the specified surface, and it is using the cursor for its parent surface.

Parameters

surface

a GdkSurface

 

Returns

a GdkCursor, or NULL. The returned object is owned by the GdkSurface and should not be unreferenced directly. Use gdk_surface_set_cursor() to unset the cursor of the surface.

[nullable][transfer none]


gdk_surface_get_geometry ()

void
gdk_surface_get_geometry (GdkSurface *surface,
                          gint *x,
                          gint *y,
                          gint *width,
                          gint *height);

Any of the return location arguments to this function may be NULL, if you aren’t interested in getting the value of that field.

The X and Y coordinates returned are relative to the parent surface of surface , which for toplevels usually means relative to the surface decorations (titlebar, etc.) rather than relative to the root window (screen-size background window).

On the X11 platform, the geometry is obtained from the X server, so reflects the latest position of surface ; this may be out-of-sync with the position of surface delivered in the most-recently-processed GdkEventConfigure. gdk_surface_get_position() in contrast gets the position from the most recent configure event.

Note: If surface is not a toplevel, it is much better to call gdk_surface_get_position(), gdk_surface_get_width() and gdk_surface_get_height() instead, because it avoids the roundtrip to the X server and because these functions support the full 32-bit coordinate space, whereas gdk_surface_get_geometry() is restricted to the 16-bit coordinates of X11.

Parameters

surface

a GdkSurface

 

x

return location for X coordinate of surface (relative to its parent).

[out][allow-none]

y

return location for Y coordinate of surface (relative to its parent).

[out][allow-none]

width

return location for width of surface.

[out][allow-none]

height

return location for height of surface.

[out][allow-none]

gdk_surface_set_geometry_hints ()

void
gdk_surface_set_geometry_hints (GdkSurface *surface,
                                const GdkGeometry *geometry,
                                GdkSurfaceHints geom_mask);

Sets the geometry hints for surface . Hints flagged in geom_mask are set, hints not flagged in geom_mask are unset. To unset all hints, use a geom_mask of 0 and a geometry of NULL.

This function provides hints to the surfaceing system about acceptable sizes for a toplevel surface. The purpose of this is to constrain user resizing, but the windowing system will typically (but is not required to) also constrain the current size of the surface to the provided values and constrain programatic resizing via gdk_surface_resize() or gdk_surface_move_resize().

Note that on X11, this effect has no effect on surfaces of type GDK_SURFACE_TEMP since these surfaces are not resizable by the user.

Since you can’t count on the windowing system doing the constraints for programmatic resizes, you should generally call gdk_surface_constrain_size() yourself to determine appropriate sizes.

Parameters

surface

a toplevel GdkSurface

 

geometry

geometry hints

 

geom_mask

bitmask indicating fields of geometry to pay attention to

 

gdk_surface_get_width ()

int
gdk_surface_get_width (GdkSurface *surface);

Returns the width of the given surface .

On the X11 platform the returned size is the size reported in the most-recently-processed configure event, rather than the current size on the X server.

Parameters

surface

a GdkSurface

 

Returns

The width of surface


gdk_surface_get_height ()

int
gdk_surface_get_height (GdkSurface *surface);

Returns the height of the given surface .

On the X11 platform the returned size is the size reported in the most-recently-processed configure event, rather than the current size on the X server.

Parameters

surface

a GdkSurface

 

Returns

The height of surface


gdk_surface_set_icon_list ()

void
gdk_surface_set_icon_list (GdkSurface *surface,
                           GList *surfaces);

Sets a list of icons for the surface. One of these will be used to represent the surface when it has been iconified. The icon is usually shown in an icon box or some sort of task bar. Which icon size is shown depends on the window manager. The window manager can scale the icon but setting several size icons can give better image quality since the window manager may only need to scale the icon by a small amount or not at all.

Note that some platforms don't support surface icons.

Parameters

surface

The GdkSurface toplevel surface to set the icon of.

 

surfaces

A list of image surfaces, of different sizes.

[transfer none][element-type GdkTexture]

gdk_surface_set_modal_hint ()

void
gdk_surface_set_modal_hint (GdkSurface *surface,
                            gboolean modal);

The application can use this hint to tell the window manager that a certain surface has modal behaviour. The window manager can use this information to handle modal surfaces in a special way.

You should only use this on surfaces for which you have previously called gdk_surface_set_transient_for()

Parameters

surface

A toplevel GdkSurface

 

modal

TRUE if the surface is modal, FALSE otherwise.

 

gdk_surface_get_modal_hint ()

gboolean
gdk_surface_get_modal_hint (GdkSurface *surface);

Determines whether or not the window manager is hinted that surface has modal behaviour.

Parameters

surface

A toplevel GdkSurface.

 

Returns

whether or not the surface has the modal hint set.


gdk_surface_set_type_hint ()

void
gdk_surface_set_type_hint (GdkSurface *surface,
                           GdkSurfaceTypeHint hint);

The application can use this call to provide a hint to the surface manager about the functionality of a surface. The window manager can use this information when determining the decoration and behaviour of the surface.

The hint must be set before the surface is mapped.

Parameters

surface

A toplevel GdkSurface

 

hint

A hint of the function this surface will have

 

gdk_surface_get_type_hint ()

GdkSurfaceTypeHint
gdk_surface_get_type_hint (GdkSurface *surface);

This function returns the type hint set for a surface.

Parameters

surface

A toplevel GdkSurface

 

Returns

The type hint set for surface


gdk_surface_set_shadow_width ()

void
gdk_surface_set_shadow_width (GdkSurface *surface,
                              gint left,
                              gint right,
                              gint top,
                              gint bottom);

Newer GTK windows using client-side decorations use extra geometry around their frames for effects like shadows and invisible borders. Window managers that want to maximize windows or snap to edges need to know where the extents of the actual frame lie, so that users don’t feel like windows are snapping against random invisible edges.

Note that this property is automatically updated by GTK, so this function should only be used by applications which do not use GTK to create toplevel surfaces.

Parameters

surface

a GdkSurface

 

left

The left extent

 

right

The right extent

 

top

The top extent

 

bottom

The bottom extent

 

gdk_surface_get_position ()

void
gdk_surface_get_position (GdkSurface *surface,
                          gint *x,
                          gint *y);

Obtains the position of the surface as reported in the most-recently-processed GdkEventConfigure. Contrast with gdk_surface_get_geometry() which queries the X server for the current surface position, regardless of which events have been received or processed.

The position coordinates are relative to the surface’s parent surface.

Parameters

surface

a GdkSurface

 

x

X coordinate of surface.

[out][allow-none]

y

Y coordinate of surface.

[out][allow-none]

gdk_surface_get_root_origin ()

void
gdk_surface_get_root_origin (GdkSurface *surface,
                             gint *x,
                             gint *y);

Obtains the top-left corner of the window manager frame in root surface coordinates.

Parameters

surface

a toplevel GdkSurface

 

x

return location for X position of surface frame.

[out]

y

return location for Y position of surface frame.

[out]

gdk_surface_get_frame_extents ()

void
gdk_surface_get_frame_extents (GdkSurface *surface,
                               GdkRectangle *rect);

Obtains the bounding box of the surface, including window manager titlebar/borders if any. The frame position is given in root window coordinates. To get the position of the surface itself (rather than the frame) in root window coordinates, use gdk_surface_get_origin().

Parameters

surface

a toplevel GdkSurface

 

rect

rectangle to fill with bounding box of the surface frame.

[out]

gdk_surface_get_origin ()

gint
gdk_surface_get_origin (GdkSurface *surface,
                        gint *x,
                        gint *y);

Obtains the position of a surface in root window coordinates. (Compare with gdk_surface_get_position() and gdk_surface_get_geometry() which return the position of a surface relative to its parent surface.)

Parameters

surface

a GdkSurface

 

x

return location for X coordinate.

[out][allow-none]

y

return location for Y coordinate.

[out][allow-none]

Returns

not meaningful, ignore


gdk_surface_get_root_coords ()

void
gdk_surface_get_root_coords (GdkSurface *surface,
                             gint x,
                             gint y,
                             gint *root_x,
                             gint *root_y);

Obtains the position of a surface position in root window coordinates. This is similar to gdk_surface_get_origin() but allows you to pass in any position in the surface, not just the origin.

Parameters

surface

a GdkSurface

 

x

X coordinate in surface

 

y

Y coordinate in surface

 

root_x

return location for X coordinate.

[out]

root_y

return location for Y coordinate.

[out]

gdk_surface_get_device_position ()

GdkSurface *
gdk_surface_get_device_position (GdkSurface *surface,
                                 GdkDevice *device,
                                 double *x,
                                 double *y,
                                 GdkModifierType *mask);

Obtains the current device position in doubles and modifier state. The position is given in coordinates relative to the upper left corner of surface .

Parameters

surface

a GdkSurface.

 

device

pointer GdkDevice to query to.

 

x

return location for the X coordinate of device , or NULL.

[out][allow-none]

y

return location for the Y coordinate of device , or NULL.

[out][allow-none]

mask

return location for the modifier mask, or NULL.

[out][allow-none]

Returns

The surface underneath device (as with gdk_device_get_surface_at_position()), or NULL if the surface is not known to GDK.

[nullable][transfer none]


gdk_surface_get_parent ()

GdkSurface *
gdk_surface_get_parent (GdkSurface *surface);

Obtains the parent of surface , as known to GDK. Does not query the X server; thus this returns the parent as passed to gdk_surface_new(), not the actual parent. This should never matter unless you’re using Xlib calls mixed with GDK calls on the X11 platform. It may also matter for toplevel windows, because the window manager may choose to reparent them.

Parameters

surface

a GdkSurface

 

Returns

parent of surface .

[transfer none]


gdk_surface_get_toplevel ()

GdkSurface *
gdk_surface_get_toplevel (GdkSurface *surface);

Gets the toplevel surface that’s an ancestor of surface .

Any surface type but GDK_SURFACE_CHILD is considered a toplevel surface, as is a GDK_SURFACE_CHILD surface that has a root surface as parent.

Parameters

surface

a GdkSurface

 

Returns

the toplevel surface containing surface .

[transfer none]


gdk_surface_get_children ()

GList *
gdk_surface_get_children (GdkSurface *surface);

Gets the list of children of surface known to GDK. This function only returns children created via GDK, so for example it’s useless when used with the root window; it only returns surfaces an application created itself.

The returned list must be freed, but the elements in the list need not be.

Parameters

surface

a GdkSurface

 

Returns

list of child surfaces inside surface .

[transfer container][element-type GdkSurface]


gdk_surface_peek_children ()

GList *
gdk_surface_peek_children (GdkSurface *surface);

Like gdk_surface_get_children(), but does not copy the list of children, so the list does not need to be freed.

Parameters

surface

a GdkSurface

 

Returns

a reference to the list of child surfaces in surface .

[transfer none][element-type GdkSurface]


gdk_surface_set_icon_name ()

void
gdk_surface_set_icon_name (GdkSurface *surface,
                           const gchar *name);

Surfaces may have a name used while minimized, distinct from the name they display in their titlebar. Most of the time this is a bad idea from a user interface standpoint. But you can set such a name with this function, if you like.

After calling this with a non-NULL name , calls to gdk_surface_set_title() will not update the icon title.

Using NULL for name unsets the icon title; further calls to gdk_surface_set_title() will again update the icon title as well.

Note that some platforms don't support surface icons.

Parameters

surface

a toplevel GdkSurface

 

name

name of surface while iconified (minimized).

[allow-none]

gdk_surface_set_transient_for ()

void
gdk_surface_set_transient_for (GdkSurface *surface,
                               GdkSurface *parent);

Indicates to the window manager that surface is a transient dialog associated with the application surface parent . This allows the window manager to do things like center surface on parent and keep surface above parent .

See gtk_window_set_transient_for() if you’re using GtkWindow or GtkDialog.

Parameters

surface

a toplevel GdkSurface

 

parent

another toplevel GdkSurface

 

gdk_surface_set_startup_id ()

void
gdk_surface_set_startup_id (GdkSurface *surface,
                            const gchar *startup_id);

When using GTK, typically you should use gtk_window_set_startup_id() instead of this low-level function.

Parameters

surface

a toplevel GdkSurface

 

startup_id

a string with startup-notification identifier

 

gdk_surface_set_decorations ()

void
gdk_surface_set_decorations (GdkSurface *surface,
                             GdkWMDecoration decorations);

“Decorations” are the features the window manager adds to a toplevel GdkSurface. This function sets the traditional Motif window manager hints that tell the window manager which decorations you would like your surface to have. Usually you should use gtk_window_set_decorated() on a GtkWindow instead of using the GDK function directly.

The decorations argument is the logical OR of the fields in the GdkWMDecoration enumeration. If GDK_DECOR_ALL is included in the mask, the other bits indicate which decorations should be turned off. If GDK_DECOR_ALL is not included, then the other bits indicate which decorations should be turned on.

Most window managers honor a decorations hint of 0 to disable all decorations, but very few honor all possible combinations of bits.

Parameters

surface

a toplevel GdkSurface

 

decorations

decoration hint mask

 

gdk_surface_get_decorations ()

gboolean
gdk_surface_get_decorations (GdkSurface *surface,
                             GdkWMDecoration *decorations);

Returns the decorations set on the GdkSurface with gdk_surface_set_decorations().

Parameters

surface

The toplevel GdkSurface to get the decorations from

 

decorations

The surface decorations will be written here.

[out]

Returns

TRUE if the surface has decorations set, FALSE otherwise.


gdk_surface_set_functions ()

void
gdk_surface_set_functions (GdkSurface *surface,
                           GdkWMFunction functions);

Sets hints about the window management functions to make available via buttons on the window frame.

On the X backend, this function sets the traditional Motif window manager hint for this purpose. However, few window managers do anything reliable or interesting with this hint. Many ignore it entirely.

The functions argument is the logical OR of values from the GdkWMFunction enumeration. If the bitmask includes GDK_FUNC_ALL, then the other bits indicate which functions to disable; if it doesn’t include GDK_FUNC_ALL, it indicates which functions to enable.

Parameters

surface

a toplevel GdkSurface

 

functions

bitmask of operations to allow on surface

 

gdk_surface_get_support_multidevice ()

gboolean
gdk_surface_get_support_multidevice (GdkSurface *surface);

Returns TRUE if the surface is aware of the existence of multiple devices.

Parameters

surface

a GdkSurface.

 

Returns

TRUE if the surface handles multidevice features.


gdk_surface_set_support_multidevice ()

void
gdk_surface_set_support_multidevice (GdkSurface *surface,
                                     gboolean support_multidevice);

This function will enable multidevice features in surface .

Multidevice aware surfaces will need to handle properly multiple, per device enter/leave events, device grabs and grab ownerships.

Parameters

surface

a GdkSurface.

 

support_multidevice

TRUE to enable multidevice support in surface .

 

gdk_surface_get_device_cursor ()

GdkCursor *
gdk_surface_get_device_cursor (GdkSurface *surface,
                               GdkDevice *device);

Retrieves a GdkCursor pointer for the device currently set on the specified GdkSurface, or NULL. If the return value is NULL then there is no custom cursor set on the specified surface, and it is using the cursor for its parent surface.

Parameters

surface

a GdkSurface.

 

device

a master, pointer GdkDevice.

 

Returns

a GdkCursor, or NULL. The returned object is owned by the GdkSurface and should not be unreferenced directly. Use gdk_surface_set_cursor() to unset the cursor of the surface.

[nullable][transfer none]


gdk_surface_set_device_cursor ()

void
gdk_surface_set_device_cursor (GdkSurface *surface,
                               GdkDevice *device,
                               GdkCursor *cursor);

Sets a specific GdkCursor for a given device when it gets inside surface . Use gdk_cursor_new_fromm_name() or gdk_cursor_new_from_texture() to create the cursor. To make the cursor invisible, use GDK_BLANK_CURSOR. Passing NULL for the cursor argument to gdk_surface_set_cursor() means that surface will use the cursor of its parent surface. Most surfaces should use this default.

Parameters

surface

a GdkSurface

 

device

a master, pointer GdkDevice

 

cursor

a GdkCursor

 

gdk_surface_coords_from_parent ()

void
gdk_surface_coords_from_parent (GdkSurface *surface,
                                gdouble parent_x,
                                gdouble parent_y,
                                gdouble *x,
                                gdouble *y);

Transforms surface coordinates from a parent surface to a child surface.

Calling this function is equivalent to subtracting the return values of gdk_surface_get_position() from the parent coordinates.

See also: gdk_surface_coords_to_parent()

Parameters

surface

a child surface

 

parent_x

X coordinate in parent’s coordinate system

 

parent_y

Y coordinate in parent’s coordinate system

 

x

return location for X coordinate in child’s coordinate system.

[out][allow-none]

y

return location for Y coordinate in child’s coordinate system.

[out][allow-none]

gdk_surface_coords_to_parent ()

void
gdk_surface_coords_to_parent (GdkSurface *surface,
                              gdouble x,
                              gdouble y,
                              gdouble *parent_x,
                              gdouble *parent_y);

Transforms surface coordinates from a child surface to its parent surface. Calling this function is equivalent to adding the return values of gdk_surface_get_position() to the child coordinates.

See also: gdk_surface_coords_from_parent()

Parameters

surface

a child surface

 

x

X coordinate in child’s coordinate system

 

y

Y coordinate in child’s coordinate system

 

parent_x

return location for X coordinate in parent’s coordinate system, or NULL.

[out][allow-none]

parent_y

return location for Y coordinate in parent’s coordinate system, or NULL.

[out][allow-none]

Types and Values

GdkSurface

typedef struct _GdkSurface GdkSurface;

The GdkSurface struct contains only private fields and should not be accessed directly.


enum GdkSurfaceType

Describes the kind of surface.

Members

GDK_SURFACE_TOPLEVEL

toplevel window (used to implement GtkWindow)

 

GDK_SURFACE_CHILD

child surface (used to implement e.g. GtkEntry)

 

GDK_SURFACE_TEMP

override redirect temporary surface (used to implement GtkMenu)

 

enum GdkSurfaceHints

Used to indicate which fields of a GdkGeometry struct should be paid attention to. Also, the presence/absence of GDK_HINT_POS , GDK_HINT_USER_POS , and GDK_HINT_USER_SIZE is significant, though they don't directly refer to GdkGeometry fields. GDK_HINT_USER_POS will be set automatically by GtkWindow if you call gtk_window_move(). GDK_HINT_USER_POS and GDK_HINT_USER_SIZE should be set if the user specified a size/position using a --geometry command-line argument; gtk_window_parse_geometry() automatically sets these flags.

Members

GDK_HINT_POS

indicates that the program has positioned the surface

 

GDK_HINT_MIN_SIZE

min size fields are set

 

GDK_HINT_MAX_SIZE

max size fields are set

 

GDK_HINT_BASE_SIZE

base size fields are set

 

GDK_HINT_ASPECT

aspect ratio fields are set

 

GDK_HINT_RESIZE_INC

resize increment fields are set

 

GDK_HINT_WIN_GRAVITY

surface gravity field is set

 

GDK_HINT_USER_POS

indicates that the surface’s position was explicitly set by the user

 

GDK_HINT_USER_SIZE

indicates that the surface’s size was explicitly set by the user

 

struct GdkGeometry

struct GdkGeometry {
  gint min_width;
  gint min_height;
  gint max_width;
  gint max_height;
  gint base_width;
  gint base_height;
  gint width_inc;
  gint height_inc;
  gdouble min_aspect;
  gdouble max_aspect;
  GdkGravity win_gravity;
};

The GdkGeometry struct gives the window manager information about a surface’s geometry constraints. Normally you would set these on the GTK+ level using gtk_window_set_geometry_hints(). GtkWindow then sets the hints on the GdkSurface it creates.

gdk_surface_set_geometry_hints() expects the hints to be fully valid already and simply passes them to the window manager; in contrast, gtk_window_set_geometry_hints() performs some interpretation. For example, GtkWindow will apply the hints to the geometry widget instead of the toplevel window, if you set a geometry widget. Also, the min_width /min_height /max_width /max_height fields may be set to -1, and GtkWindow will substitute the size request of the surface or geometry widget. If the minimum size hint is not provided, GtkWindow will use its requisition as the minimum size. If the minimum size is provided and a geometry widget is set, GtkWindow will take the minimum size as the minimum size of the geometry widget rather than the entire surface. The base size is treated similarly.

The canonical use-case for gtk_window_set_geometry_hints() is to get a terminal widget to resize properly. Here, the terminal text area should be the geometry widget; GtkWindow will then automatically set the base size to the size of other widgets in the terminal window, such as the menubar and scrollbar. Then, the width_inc and height_inc fields should be set to the size of one character in the terminal. Finally, the base size should be set to the size of one character. The net effect is that the minimum size of the terminal will have a 1x1 character terminal area, and only terminal sizes on the “character grid” will be allowed.

Here’s an example of how the terminal example would be implemented, assuming a terminal area widget called “terminal” and a toplevel window “toplevel”:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
GdkGeometry hints;

hints.base_width = terminal->char_width;
        hints.base_height = terminal->char_height;
        hints.min_width = terminal->char_width;
        hints.min_height = terminal->char_height;
        hints.width_inc = terminal->char_width;
        hints.height_inc = terminal->char_height;

 gtk_window_set_geometry_hints (GTK_WINDOW (toplevel),
                                GTK_WIDGET (terminal),
                                &hints,
                                GDK_HINT_RESIZE_INC |
                                GDK_HINT_MIN_SIZE |
                                GDK_HINT_BASE_SIZE);

The other useful fields are the min_aspect and max_aspect fields; these contain a width/height ratio as a floating point number. If a geometry widget is set, the aspect applies to the geometry widget rather than the entire window. The most common use of these hints is probably to set min_aspect and max_aspect to the same value, thus forcing the window to keep a constant aspect ratio.

Members

gint min_width;

minimum width of surface (or -1 to use requisition, with GtkWindow only)

 

gint min_height;

minimum height of surface (or -1 to use requisition, with GtkWindow only)

 

gint max_width;

maximum width of surface (or -1 to use requisition, with GtkWindow only)

 

gint max_height;

maximum height of surface (or -1 to use requisition, with GtkWindow only)

 

gint base_width;

allowed surface widths are base_width + width_inc * N where N is any integer (-1 allowed with GtkWindow)

 

gint base_height;

allowed surface widths are base_height + height_inc * N where N is any integer (-1 allowed with GtkWindow)

 

gint width_inc;

width resize increment

 

gint height_inc;

height resize increment

 

gdouble min_aspect;

minimum width/height ratio

 

gdouble max_aspect;

maximum width/height ratio

 

GdkGravity win_gravity;

surface gravity, see gtk_window_set_gravity()

 

enum GdkGravity

Defines the reference point of a surface and the meaning of coordinates passed to gtk_window_move(). See gtk_window_move() and the "implementation notes" section of the Extended Window Manager Hints specification for more details.

Members

GDK_GRAVITY_NORTH_WEST

the reference point is at the top left corner.

 

GDK_GRAVITY_NORTH

the reference point is in the middle of the top edge.

 

GDK_GRAVITY_NORTH_EAST

the reference point is at the top right corner.

 

GDK_GRAVITY_WEST

the reference point is at the middle of the left edge.

 

GDK_GRAVITY_CENTER

the reference point is at the center of the surface.

 

GDK_GRAVITY_EAST

the reference point is at the middle of the right edge.

 

GDK_GRAVITY_SOUTH_WEST

the reference point is at the lower left corner.

 

GDK_GRAVITY_SOUTH

the reference point is at the middle of the lower edge.

 

GDK_GRAVITY_SOUTH_EAST

the reference point is at the lower right corner.

 

GDK_GRAVITY_STATIC

the reference point is at the top left corner of the surface itself, ignoring window manager decorations.

 

enum GdkAnchorHints

Positioning hints for aligning a surface relative to a rectangle.

These hints determine how the surface should be positioned in the case that the surface would fall off-screen if placed in its ideal position.

For example, GDK_ANCHOR_FLIP_X will replace GDK_GRAVITY_NORTH_WEST with GDK_GRAVITY_NORTH_EAST and vice versa if the surface extends beyond the left or right edges of the monitor.

If GDK_ANCHOR_SLIDE_X is set, the surface can be shifted horizontally to fit on-screen. If GDK_ANCHOR_RESIZE_X is set, the surface can be shrunken horizontally to fit.

In general, when multiple flags are set, flipping should take precedence over sliding, which should take precedence over resizing.

Members

GDK_ANCHOR_FLIP_X

allow flipping anchors horizontally

 

GDK_ANCHOR_FLIP_Y

allow flipping anchors vertically

 

GDK_ANCHOR_SLIDE_X

allow sliding surface horizontally

 

GDK_ANCHOR_SLIDE_Y

allow sliding surface vertically

 

GDK_ANCHOR_RESIZE_X

allow resizing surface horizontally

 

GDK_ANCHOR_RESIZE_Y

allow resizing surface vertically

 

GDK_ANCHOR_FLIP

allow flipping anchors on both axes

 

GDK_ANCHOR_SLIDE

allow sliding surface on both axes

 

GDK_ANCHOR_RESIZE

allow resizing surface on both axes

 

enum GdkSurfaceEdge

Determines a surface edge or corner.

Members

GDK_SURFACE_EDGE_NORTH_WEST

the top left corner.

 

GDK_SURFACE_EDGE_NORTH

the top edge.

 

GDK_SURFACE_EDGE_NORTH_EAST

the top right corner.

 

GDK_SURFACE_EDGE_WEST

the left edge.

 

GDK_SURFACE_EDGE_EAST

the right edge.

 

GDK_SURFACE_EDGE_SOUTH_WEST

the lower left corner.

 

GDK_SURFACE_EDGE_SOUTH

the lower edge.

 

GDK_SURFACE_EDGE_SOUTH_EAST

the lower right corner.

 

enum GdkSurfaceTypeHint

These are hints for the window manager that indicate what type of function the window has. The window manager can use this when determining decoration and behaviour of the window. The hint must be set before mapping the window.

See the Extended Window Manager Hints specification for more details about window types.

Members

GDK_SURFACE_TYPE_HINT_NORMAL

Normal toplevel window.

 

GDK_SURFACE_TYPE_HINT_DIALOG

Dialog window.

 

GDK_SURFACE_TYPE_HINT_MENU

Window used to implement a menu; GTK uses this hint only for torn-off menus, see GtkTearoffMenuItem.

 

GDK_SURFACE_TYPE_HINT_TOOLBAR

Window used to implement toolbars.

 

GDK_SURFACE_TYPE_HINT_SPLASHSCREEN

Window used to display a splash screen during application startup.

 

GDK_SURFACE_TYPE_HINT_UTILITY

Utility windows which are not detached toolbars or dialogs.

 

GDK_SURFACE_TYPE_HINT_DOCK

Used for creating dock or panel windows.

 

GDK_SURFACE_TYPE_HINT_DESKTOP

Used for creating the desktop background window.

 

GDK_SURFACE_TYPE_HINT_DROPDOWN_MENU

A menu that belongs to a menubar.

 

GDK_SURFACE_TYPE_HINT_POPUP_MENU

A menu that does not belong to a menubar, e.g. a context menu.

 

GDK_SURFACE_TYPE_HINT_TOOLTIP

A tooltip.

 

GDK_SURFACE_TYPE_HINT_NOTIFICATION

A notification - typically a “bubble” that belongs to a status icon.

 

GDK_SURFACE_TYPE_HINT_COMBO

A popup from a combo box.

 

GDK_SURFACE_TYPE_HINT_DND

A window that is used to implement a DND cursor.

 

enum GdkSurfaceState

Specifies the state of a toplevel surface.

On platforms that support information about individual edges, the GDK_SURFACE_STATE_TILED state will be set whenever any of the individual tiled states is set. On platforms that lack that support, the tiled state will give an indication of tiledness without any of the per-edge states being set.

Members

GDK_SURFACE_STATE_WITHDRAWN

the surface is not shown

 

GDK_SURFACE_STATE_ICONIFIED

the surface is minimized

 

GDK_SURFACE_STATE_MAXIMIZED

the surface is maximized

 

GDK_SURFACE_STATE_STICKY

the surface is sticky

 

GDK_SURFACE_STATE_FULLSCREEN

the surface is maximized without decorations

 

GDK_SURFACE_STATE_ABOVE

the surface is kept above other surfaces

 

GDK_SURFACE_STATE_BELOW

the surface is kept below other surfaces

 

GDK_SURFACE_STATE_FOCUSED

the surface is presented as focused (with active decorations)

 

GDK_SURFACE_STATE_TILED

the surface is in a tiled state

 

GDK_SURFACE_STATE_TOP_TILED

whether the top edge is tiled

 

GDK_SURFACE_STATE_TOP_RESIZABLE

whether the top edge is resizable

 

GDK_SURFACE_STATE_RIGHT_TILED

whether the right edge is tiled

 

GDK_SURFACE_STATE_RIGHT_RESIZABLE

whether the right edge is resizable

 

GDK_SURFACE_STATE_BOTTOM_TILED

whether the bottom edge is tiled

 

GDK_SURFACE_STATE_BOTTOM_RESIZABLE

whether the bottom edge is resizable

 

GDK_SURFACE_STATE_LEFT_TILED

whether the left edge is tiled

 

GDK_SURFACE_STATE_LEFT_RESIZABLE

whether the left edge is resizable

 

enum GdkFullscreenMode

Indicates which monitor (in a multi-head setup) a surface should span over when in fullscreen mode.

Members

GDK_FULLSCREEN_ON_CURRENT_MONITOR

Fullscreen on current monitor only.

 

GDK_FULLSCREEN_ON_ALL_MONITORS

Span across all monitors when fullscreen.

 

GDK_PARENT_RELATIVE

#define GDK_PARENT_RELATIVE  1L

A special value, indicating that the background for a surface should be inherited from the parent surface.


enum GdkModifierType

A set of bit-flags to indicate the state of modifier keys and mouse buttons in various event types. Typical modifier keys are Shift, Control, Meta, Super, Hyper, Alt, Compose, Apple, CapsLock or ShiftLock.

Like the X Window System, GDK supports 8 modifier keys and 5 mouse buttons.

GDK recognizes which of the Meta, Super or Hyper keys are mapped to Mod2 - Mod5, and indicates this by setting GDK_SUPER_MASK, GDK_HYPER_MASK or GDK_META_MASK in the state field of key events.

Note that GDK may add internal values to events which include reserved values such as GDK_MODIFIER_RESERVED_13_MASK. Your code should preserve and ignore them. You can use GDK_MODIFIER_MASK to remove all reserved values.

Also note that the GDK X backend interprets button press events for button 4-7 as scroll events, so GDK_BUTTON4_MASK and GDK_BUTTON5_MASK will never be set.

Members

GDK_SHIFT_MASK

the Shift key.

 

GDK_LOCK_MASK

a Lock key (depending on the modifier mapping of the X server this may either be CapsLock or ShiftLock).

 

GDK_CONTROL_MASK

the Control key.

 

GDK_MOD1_MASK

the fourth modifier key (it depends on the modifier mapping of the X server which key is interpreted as this modifier, but normally it is the Alt key).

 

GDK_MOD2_MASK

the fifth modifier key (it depends on the modifier mapping of the X server which key is interpreted as this modifier).

 

GDK_MOD3_MASK

the sixth modifier key (it depends on the modifier mapping of the X server which key is interpreted as this modifier).

 

GDK_MOD4_MASK

the seventh modifier key (it depends on the modifier mapping of the X server which key is interpreted as this modifier).

 

GDK_MOD5_MASK

the eighth modifier key (it depends on the modifier mapping of the X server which key is interpreted as this modifier).

 

GDK_BUTTON1_MASK

the first mouse button.

 

GDK_BUTTON2_MASK

the second mouse button.

 

GDK_BUTTON3_MASK

the third mouse button.

 

GDK_BUTTON4_MASK

the fourth mouse button.

 

GDK_BUTTON5_MASK

the fifth mouse button.

 

GDK_MODIFIER_RESERVED_13_MASK

A reserved bit flag; do not use in your own code

 

GDK_MODIFIER_RESERVED_14_MASK

A reserved bit flag; do not use in your own code

 

GDK_MODIFIER_RESERVED_15_MASK

A reserved bit flag; do not use in your own code

 

GDK_MODIFIER_RESERVED_16_MASK

A reserved bit flag; do not use in your own code

 

GDK_MODIFIER_RESERVED_17_MASK

A reserved bit flag; do not use in your own code

 

GDK_MODIFIER_RESERVED_18_MASK

A reserved bit flag; do not use in your own code

 

GDK_MODIFIER_RESERVED_19_MASK

A reserved bit flag; do not use in your own code

 

GDK_MODIFIER_RESERVED_20_MASK

A reserved bit flag; do not use in your own code

 

GDK_MODIFIER_RESERVED_21_MASK

A reserved bit flag; do not use in your own code

 

GDK_MODIFIER_RESERVED_22_MASK

A reserved bit flag; do not use in your own code

 

GDK_MODIFIER_RESERVED_23_MASK

A reserved bit flag; do not use in your own code

 

GDK_MODIFIER_RESERVED_24_MASK

A reserved bit flag; do not use in your own code

 

GDK_MODIFIER_RESERVED_25_MASK

A reserved bit flag; do not use in your own code

 

GDK_SUPER_MASK

the Super modifier

 

GDK_HYPER_MASK

the Hyper modifier

 

GDK_META_MASK

the Meta modifier

 

GDK_MODIFIER_RESERVED_29_MASK

A reserved bit flag; do not use in your own code

 

GDK_RELEASE_MASK

not used in GDK itself. GTK uses it to differentiate between (keyval, modifiers) pairs from key press and release events.

 

GDK_MODIFIER_MASK

a mask covering all modifier types.

 

enum GdkModifierIntent

This enum is used with gdk_keymap_get_modifier_mask() in order to determine what modifiers the currently used windowing system backend uses for particular purposes. For example, on X11/Windows, the Control key is used for invoking menu shortcuts (accelerators), whereas on Apple computers it’s the Command key (which correspond to GDK_CONTROL_MASK and GDK_MOD2_MASK, respectively).

Members

GDK_MODIFIER_INTENT_PRIMARY_ACCELERATOR

the primary modifier used to invoke menu accelerators.

 

GDK_MODIFIER_INTENT_CONTEXT_MENU

the modifier used to invoke context menus. Note that mouse button 3 always triggers context menus. When this modifier is not 0, it additionally triggers context menus when used with mouse button 1.

 

GDK_MODIFIER_INTENT_EXTEND_SELECTION

the modifier used to extend selections using modifier-click or modifier-cursor-key

 

GDK_MODIFIER_INTENT_MODIFY_SELECTION

the modifier used to modify selections, which in most cases means toggling the clicked item into or out of the selection.

 

GDK_MODIFIER_INTENT_NO_TEXT_INPUT

when any of these modifiers is pressed, the key event cannot produce a symbol directly. This is meant to be used for input methods, and for use cases like typeahead search.

 

GDK_MODIFIER_INTENT_SHIFT_GROUP

the modifier that switches between keyboard groups (AltGr on X11/Windows and Option/Alt on OS X).

 

GDK_MODIFIER_INTENT_DEFAULT_MOD_MASK

The set of modifier masks accepted as modifiers in accelerators. Needed because Command is mapped to MOD2 on OSX, which is widely used, but on X11 MOD2 is NumLock and using that for a mod key is problematic at best. Ref: https://bugzilla.gnome.org/show_bug.cgi?id=736125.

 

enum GdkWMDecoration

These are hints originally defined by the Motif toolkit. The window manager can use them when determining how to decorate the surface. The hint must be set before mapping the surface.

Members

GDK_DECOR_ALL

all decorations should be applied.

 

GDK_DECOR_BORDER

a frame should be drawn around the surface.

 

GDK_DECOR_RESIZEH

the frame should have resize handles.

 

GDK_DECOR_TITLE

a titlebar should be placed above the surface.

 

GDK_DECOR_MENU

a button for opening a menu should be included.

 

GDK_DECOR_MINIMIZE

a minimize button should be included.

 

GDK_DECOR_MAXIMIZE

a maximize button should be included.

 

enum GdkWMFunction

These are hints originally defined by the Motif toolkit. The window manager can use them when determining the functions to offer for the surface. The hint must be set before mapping the surface.

Members

GDK_FUNC_ALL

all functions should be offered.

 

GDK_FUNC_RESIZE

the surface should be resizable.

 

GDK_FUNC_MOVE

the surface should be movable.

 

GDK_FUNC_MINIMIZE

the surface should be minimizable.

 

GDK_FUNC_MAXIMIZE

the surface should be maximizable.

 

GDK_FUNC_CLOSE

the surface should be closable.

 

Property Details

The “cursor” property

  “cursor”                   GdkCursor *

The mouse pointer for a GdkSurface. See gdk_surface_set_cursor() and gdk_surface_get_cursor() for details.

Flags: Read / Write


The “display” property

  “display”                  GdkDisplay *

The GdkDisplay connection of the surface. See gdk_surface_get_display() for details.

Flags: Read / Write / Construct Only


The “frame-clock” property

  “frame-clock”              GdkFrameClock *

Frame Clock.

Flags: Read / Write / Construct Only


The “mapped” property

  “mapped”                   gboolean

Mapped.

Flags: Read

Default value: FALSE


The “state” property

  “state”                    GdkSurfaceState

State.

Flags: Read

Default value: GDK_SURFACE_STATE_WITHDRAWN

Signal Details

The “event” signal

gboolean
user_function (GdkSurface *surface,
               GdkEvent   *event,
               gpointer    user_data)

Emitted when GDK receives an input event for surface .

Parameters

surface

the GdkSurface

 

event

an input event

 

user_data

user data set when the signal handler was connected.

 

Returns

TRUE to indicate that the event has been handled

Flags: Run Last


The “moved-to-rect” signal

void
user_function (GdkSurface *surface,
               gpointer    flipped_rect,
               gpointer    final_rect,
               gboolean    flipped_x,
               gboolean    flipped_y,
               gpointer    user_data)

Emitted when the position of surface is finalized after being moved to a destination rectangle.

surface might be flipped over the destination rectangle in order to keep it on-screen, in which case flipped_x and flipped_y will be set to TRUE accordingly.

flipped_rect is the ideal position of surface after any possible flipping, but before any possible sliding. final_rect is flipped_rect , but possibly translated in the case that flipping is still ineffective in keeping surface on-screen.

Parameters

surface

the GdkSurface that moved

 

flipped_rect

the position of surface after any possible flipping or NULL if the backend can't obtain it.

[nullable]

final_rect

the final position of surface or NULL if the backend can't obtain it.

[nullable]

flipped_x

TRUE if the anchors were flipped horizontally

 

flipped_y

TRUE if the anchors were flipped vertically

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First

Stability Level: Private


The “render” signal

gboolean
user_function (GdkSurface  *surface,
               CairoRegion *region,
               gpointer     user_data)

Emitted when part of the surface needs to be redrawn.

Parameters

surface

the GdkSurface

 

region

the region that needs to be redrawn

 

user_data

user data set when the signal handler was connected.

 

Returns

TRUE to indicate that the signal has been handled

Flags: Run Last


The “size-changed” signal

void
user_function (GdkSurface *surface,
               gint        width,
               gint        height,
               gpointer    user_data)

Emitted when the size of surface is changed.

Parameters

surface

the GdkSurface

 

width

the new width

 

height

the new height

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First

docs/reference/gdk/html/context_menu_cursor.png0000664000175000017500000000273013464200072022120 0ustar mclasenmclasenPNG  IHDR szzsBIT|d pHYsttfxtEXtSoftwarewww.inkscape.org<tEXtAuthorJakub Steiner/5tEXtDescriptionInverted variant of the DMZ cursor theme.hu[<3tEXtSourcehttp://jimmac.musichall.cz/themes.php?skin=7P3IDATX_LSw-P耥lYئb"np9Sj`ܓ,!AaYCP$Ku={h/v*ڱMs{{"-t:LOOVUUHl p8I""n^EG)>",@ssA{ WI۶mkݻw˗ <#,֭[%33S% >隆#-kYa(eU/^lMNN^ ,%W^ږ9bNR\r]vi%===_/@{SERtuugr1/ 2Xy߯U\|Oxh[(8s ---YK.}< bOʳg~ <fߌyI?NYYYuggg-xdرcaÆ"ui3 j$&&b۹~:CCCڦM>;zdee@1(`&%99Y|O81 7~ `Da1׋HmmJnn^ XNlLb %;v0͛7W @\$m<`:tH 0N\)sNIKK)~x>>df`rr{bb4ەRao޼Y̍{7u]WՒ!˖-;wmmmm@KEDn :SN0Adrd߾}?~x߽{aHII0 D$ HvZ*>4 ]〔ywp$;wC- ?J šP^ PJ)ƍOW׺:BP zށP(t۷o`R$!hulRMM;%%%[|>tssccc{> >`xE*f~7PB_Z H$jJ395 @ERe<T%4IENDB`docs/reference/gdk/html/GdkGLContext.html0000664000175000017500000013375613464200113020501 0ustar mclasenmclasen GdkGLContext: GDK 4 Reference Manual

GdkGLContext

GdkGLContext — OpenGL draw context

Properties

GdkGLContext * shared-context Read / Write / Construct Only

Types and Values

Object Hierarchy

    GObject
    ╰── GdkDrawContext
        ╰── GdkGLContext

Includes

#include <gdk/gdkwayland.h>

Description

GdkGLContext is an object representing the platform-specific OpenGL draw context.

GdkGLContexts are created for a GdkSurface using gdk_surface_create_gl_context(), and the context will match the the characteristics of the surface.

A GdkGLContext is not tied to any particular normal framebuffer. For instance, it cannot draw to the GdkSurface back buffer. The GDK repaint system is in full control of the painting to that. Instead, you can create render buffers or textures and use gdk_cairo_draw_from_gl() in the draw function of your widget to draw them. Then GDK will handle the integration of your rendering with that of other widgets.

Support for GdkGLContext is platform-specific, context creation can fail, returning NULL context.

A GdkGLContext has to be made "current" in order to start using it, otherwise any OpenGL call will be ignored.

Creating a new OpenGL context

In order to create a new GdkGLContext instance you need a GdkSurface, which you typically get during the realize call of a widget.

A GdkGLContext is not realized until either gdk_gl_context_make_current(), or until it is realized using gdk_gl_context_realize(). It is possible to specify details of the GL context like the OpenGL version to be used, or whether the GL context should have extra state validation enabled after calling gdk_surface_create_gl_context() by calling gdk_gl_context_realize(). If the realization fails you have the option to change the settings of the GdkGLContext and try again.

Using a GdkGLContext

You will need to make the GdkGLContext the current context before issuing OpenGL calls; the system sends OpenGL commands to whichever context is current. It is possible to have multiple contexts, so you always need to ensure that the one which you want to draw with is the current one before issuing commands:

You can now perform your drawing using OpenGL commands.

You can check which GdkGLContext is the current one by using gdk_gl_context_get_current(); you can also unset any GdkGLContext that is currently set by calling gdk_gl_context_clear_current().

Functions

gdk_gl_context_get_display ()

GdkDisplay *
gdk_gl_context_get_display (GdkGLContext *context);

Retrieves the GdkDisplay the context is created for

Parameters

context

a GdkGLContext

 

Returns

a GdkDisplay or NULL.

[nullable][transfer none]


gdk_gl_context_get_surface ()

GdkSurface *
gdk_gl_context_get_surface (GdkGLContext *context);

Retrieves the GdkSurface used by the context .

Parameters

context

a GdkGLContext

 

Returns

a GdkSurface or NULL.

[nullable][transfer none]


gdk_gl_context_get_shared_context ()

GdkGLContext *
gdk_gl_context_get_shared_context (GdkGLContext *context);

Retrieves the GdkGLContext that this context share data with.

Parameters

context

a GdkGLContext

 

Returns

a GdkGLContext or NULL.

[nullable][transfer none]


gdk_gl_context_get_version ()

void
gdk_gl_context_get_version (GdkGLContext *context,
                            int *major,
                            int *minor);

Retrieves the OpenGL version of the context .

The context must be realized prior to calling this function.

Parameters

context

a GdkGLContext

 

major

return location for the major version.

[out]

minor

return location for the minor version.

[out]

gdk_gl_context_set_required_version ()

void
gdk_gl_context_set_required_version (GdkGLContext *context,
                                     int major,
                                     int minor);

Sets the major and minor version of OpenGL to request.

Setting major and minor to zero will use the default values.

The GdkGLContext must not be realized or made current prior to calling this function.

Parameters

context

a GdkGLContext

 

major

the major version to request

 

minor

the minor version to request

 

gdk_gl_context_get_required_version ()

void
gdk_gl_context_get_required_version (GdkGLContext *context,
                                     int *major,
                                     int *minor);

Retrieves the major and minor version requested by calling gdk_gl_context_set_required_version().

Parameters

context

a GdkGLContext

 

major

return location for the major version to request.

[out][nullable]

minor

return location for the minor version to request.

[out][nullable]

gdk_gl_context_set_debug_enabled ()

void
gdk_gl_context_set_debug_enabled (GdkGLContext *context,
                                  gboolean enabled);

Sets whether the GdkGLContext should perform extra validations and run time checking. This is useful during development, but has additional overhead.

The GdkGLContext must not be realized or made current prior to calling this function.

Parameters

context

a GdkGLContext

 

enabled

whether to enable debugging in the context

 

gdk_gl_context_get_debug_enabled ()

gboolean
gdk_gl_context_get_debug_enabled (GdkGLContext *context);

Retrieves the value set using gdk_gl_context_set_debug_enabled().

Parameters

context

a GdkGLContext

 

Returns

TRUE if debugging is enabled


gdk_gl_context_set_forward_compatible ()

void
gdk_gl_context_set_forward_compatible (GdkGLContext *context,
                                       gboolean compatible);

Sets whether the GdkGLContext should be forward compatible.

Forward compatibile contexts must not support OpenGL functionality that has been marked as deprecated in the requested version; non-forward compatible contexts, on the other hand, must support both deprecated and non deprecated functionality.

The GdkGLContext must not be realized or made current prior to calling this function.

Parameters

context

a GdkGLContext

 

compatible

whether the context should be forward compatible

 

gdk_gl_context_get_forward_compatible ()

gboolean
gdk_gl_context_get_forward_compatible (GdkGLContext *context);

Retrieves the value set using gdk_gl_context_set_forward_compatible().

Parameters

context

a GdkGLContext

 

Returns

TRUE if the context should be forward compatible


gdk_gl_context_set_use_es ()

void
gdk_gl_context_set_use_es (GdkGLContext *context,
                           int use_es);

Requests that GDK create a OpenGL ES context instead of an OpenGL one, if the platform and windowing system allows it.

The context must not have been realized.

By default, GDK will attempt to automatically detect whether the underlying GL implementation is OpenGL or OpenGL ES once the context is realized.

You should check the return value of gdk_gl_context_get_use_es() after calling gdk_gl_context_realize() to decide whether to use the OpenGL or OpenGL ES API, extensions, or shaders.

Parameters

context

a GdkGLContext:

 

use_es

whether the context should use OpenGL ES instead of OpenGL, or -1 to allow auto-detection

 

gdk_gl_context_get_use_es ()

gboolean
gdk_gl_context_get_use_es (GdkGLContext *context);

Checks whether the context is using an OpenGL or OpenGL ES profile.

Parameters

context

a GdkGLContext

 

Returns

TRUE if the GdkGLContext is using an OpenGL ES profile


gdk_gl_context_is_legacy ()

gboolean
gdk_gl_context_is_legacy (GdkGLContext *context);

Whether the GdkGLContext is in legacy mode or not.

The GdkGLContext must be realized before calling this function.

When realizing a GL context, GDK will try to use the OpenGL 3.2 core profile; this profile removes all the OpenGL API that was deprecated prior to the 3.2 version of the specification. If the realization is successful, this function will return FALSE.

If the underlying OpenGL implementation does not support core profiles, GDK will fall back to a pre-3.2 compatibility profile, and this function will return TRUE.

You can use the value returned by this function to decide which kind of OpenGL API to use, or whether to do extension discovery, or what kind of shader programs to load.

Parameters

context

a GdkGLContext

 

Returns

TRUE if the GL context is in legacy mode


gdk_gl_context_realize ()

gboolean
gdk_gl_context_realize (GdkGLContext *context,
                        GError **error);

Realizes the given GdkGLContext.

It is safe to call this function on a realized GdkGLContext.

Parameters

context

a GdkGLContext

 

error

return location for a GError

 

Returns

TRUE if the context is realized


gdk_gl_context_make_current ()

void
gdk_gl_context_make_current (GdkGLContext *context);

Makes the context the current one.

Parameters

context

a GdkGLContext

 

gdk_gl_context_get_current ()

GdkGLContext *
gdk_gl_context_get_current (void);

Retrieves the current GdkGLContext.

Returns

the current GdkGLContext, or NULL.

[nullable][transfer none]


gdk_gl_context_clear_current ()

void
gdk_gl_context_clear_current (void);

Clears the current GdkGLContext.

Any OpenGL call after this function returns will be ignored until gdk_gl_context_make_current() is called.

Types and Values

GdkGLContext

typedef struct _GdkGLContext GdkGLContext;

The GdkGLContext struct contains only private fields and should not be accessed directly.


enum GdkGLError

Error enumeration for GdkGLContext.

Members

GDK_GL_ERROR_NOT_AVAILABLE

OpenGL support is not available

 

GDK_GL_ERROR_UNSUPPORTED_FORMAT

The requested visual format is not supported

 

GDK_GL_ERROR_UNSUPPORTED_PROFILE

The requested profile is not supported

 

GDK_GL_ERROR_COMPILATION_FAILED

The shader compilation failed

 

GDK_GL_ERROR_LINK_FAILED

The shader linking failed

 

Property Details

The “shared-context” property

  “shared-context”           GdkGLContext *

The GdkGLContext that this context is sharing data with, or NULL

Flags: Read / Write / Construct Only

docs/reference/gdk/html/gdk4-Pango-Interaction.html0000664000175000017500000006375713464200114022360 0ustar mclasenmclasen Pango Interaction: GDK 4 Reference Manual

Pango Interaction

Pango Interaction — Using Pango in GDK

Includes

#include <gdk/gdk.h>

Description

Pango is the text layout system used by GDK and GTK+. The functions and types in this section are used to obtain clip regions for PangoLayouts, and to get PangoContexts that can be used with GDK.

Creating a PangoLayout object is the first step in rendering text, and requires getting a handle to a PangoContext. For GTK+ programs, you’ll usually want to use gtk_widget_get_pango_context(), or gtk_widget_create_pango_layout(). Once you have a PangoLayout, you can set the text and attributes of it with Pango functions like pango_layout_set_text() and get its size with pango_layout_get_size(). (Note that Pango uses a fixed point system internally, so converting between Pango units and pixels using PANGO_SCALE or the PANGO_PIXELS() macro.)

Rendering a Pango layout is done most simply with pango_cairo_show_layout(); you can also draw pieces of the layout with pango_cairo_show_layout_line().

Draw transformed text with Pango and cairo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#define RADIUS 100
#define N_WORDS 10
#define FONT "Sans Bold 18"

PangoContext *context;
PangoLayout *layout;
PangoFontDescription *desc;

double radius;
int width, height;
int i;

// Set up a transformation matrix so that the user space coordinates for
// where we are drawing are [-RADIUS, RADIUS], [-RADIUS, RADIUS]
// We first center, then change the scale

width = gdk_surface_get_width (surface);
height = gdk_surface_get_height (surface);
radius = MIN (width, height) / 2.;

cairo_translate (cr,
                 radius + (width - 2 * radius) / 2,
                 radius + (height - 2 * radius) / 2);
                 cairo_scale (cr, radius / RADIUS, radius / RADIUS);

// Create a PangoLayout, set the font and text
context = gdk_pango_context_get_for_display (display);
layout = pango_layout_new (context);
pango_layout_set_text (layout, "Text", -1);
desc = pango_font_description_from_string (FONT);
pango_layout_set_font_description (layout, desc);
pango_font_description_free (desc);

// Draw the layout N_WORDS times in a circle
for (i = 0; i < N_WORDS; i++)
  {
    double red, green, blue;
    double angle = 2 * G_PI * i / n_words;

    cairo_save (cr);

    // Gradient from red at angle == 60 to blue at angle == 300
    red = (1 + cos (angle - 60)) / 2;
    green = 0;
    blue = 1 - red;

    cairo_set_source_rgb (cr, red, green, blue);
    cairo_rotate (cr, angle);

    // Inform Pango to re-layout the text with the new transformation matrix
    pango_cairo_update_layout (cr, layout);

    pango_layout_get_size (layout, &width, &height);

    cairo_move_to (cr, - width / 2 / PANGO_SCALE, - DEFAULT_TEXT_RADIUS);
    pango_cairo_show_layout (cr, layout);

    cairo_restore (cr);
  }

g_object_unref (layout);
g_object_unref (context);

Output of the example above.

Functions

gdk_pango_layout_get_clip_region ()

cairo_region_t *
gdk_pango_layout_get_clip_region (PangoLayout *layout,
                                  gint x_origin,
                                  gint y_origin,
                                  const gint *index_ranges,
                                  gint n_ranges);

Obtains a clip region which contains the areas where the given ranges of text would be drawn. x_origin and y_origin are the top left point to center the layout. index_ranges should contain ranges of bytes in the layout’s text.

Note that the regions returned correspond to logical extents of the text ranges, not ink extents. So the drawn layout may in fact touch areas out of the clip region. The clip region is mainly useful for highlightling parts of text, such as when text is selected.

[skip]

Parameters

layout

a PangoLayout

 

x_origin

X pixel where you intend to draw the layout with this clip

 

y_origin

Y pixel where you intend to draw the layout with this clip

 

index_ranges

array of byte indexes into the layout, where even members of array are start indexes and odd elements are end indexes

 

n_ranges

number of ranges in index_ranges , i.e. half the size of index_ranges

 

Returns

a clip region containing the given ranges


gdk_pango_layout_line_get_clip_region ()

cairo_region_t *
gdk_pango_layout_line_get_clip_region (PangoLayoutLine *line,
                                       gint x_origin,
                                       gint y_origin,
                                       const gint *index_ranges,
                                       gint n_ranges);

Obtains a clip region which contains the areas where the given ranges of text would be drawn. x_origin and y_origin are the top left position of the layout. index_ranges should contain ranges of bytes in the layout’s text. The clip region will include space to the left or right of the line (to the layout bounding box) if you have indexes above or below the indexes contained inside the line. This is to draw the selection all the way to the side of the layout. However, the clip region is in line coordinates, not layout coordinates.

Note that the regions returned correspond to logical extents of the text ranges, not ink extents. So the drawn line may in fact touch areas out of the clip region. The clip region is mainly useful for highlightling parts of text, such as when text is selected.

[skip]

Parameters

line

a PangoLayoutLine

 

x_origin

X pixel where you intend to draw the layout line with this clip

 

y_origin

baseline pixel where you intend to draw the layout line with this clip

 

index_ranges

array of byte indexes into the layout, where even members of array are start indexes and odd elements are end indexes.

[array]

n_ranges

number of ranges in index_ranges , i.e. half the size of index_ranges

 

Returns

a clip region containing the given ranges

Types and Values

docs/reference/gdk/html/s_resize_cursor.png0000664000175000017500000000227013464200072021232 0ustar mclasenmclasenPNG  IHDR szzsBIT|d pHYsttfxtEXtSoftwarewww.inkscape.org<tEXtAuthorJakub Steiner/5tEXtDescriptionInverted variant of the DMZ cursor theme.hu[<3tEXtSourcehttp://jimmac.musichall.cz/themes.php?skin=7P3IDATXAH#W3kbvŃK"R -`Ńk⡷Rz*V9-(j$!K#R`b'&jgf{=L"MBif&}y ץ;.ɘpC葖ESO󣣣;XLRJ`P=Qtڍb*h48iE_-p]l6e2T 0`#԰z!BFj܂z4TɕR⼷$]+nZ4.YI>)U%+I2a0|.|^GR3 H$i>O?;88{xFThii+H|CSSɅR lx<j~]!OFx~~|>)L,_lllLٶ-766a^Zufff" Qrt&5<MOO߳,UDO~c]Ƌs,'  ׆ཛ8׊}A{e巷/@\r)>ЇJ) ҄Y@hsss4Lʑ}hhx<scci8>g@4M !&ɯॠ*UP(L444|{岥iba\===a(z8;nYg{{{65\-6::R* R<+n۶)q^ċ'Ԃ\.[[[oaa|M٩ f%eX @xwpp5u7.۶m;?{*g4/ xit-x/^A"Do|O@&-5!:pkOfkaIENDB`docs/reference/gdk/html/pointer_cursor.png0000664000175000017500000000261013464200072021065 0ustar mclasenmclasenPNG  IHDR szzsBIT|d pHYsttfxtEXtSoftwarewww.inkscape.org<tEXtAuthorJakub Steiner/5tEXtDescriptionInverted variant of the DMZ cursor theme.hu[<3tEXtSourcehttp://jimmac.musichall.cz/themes.php?skin=7P3eIDATXOLW?oEaOBa7p[)ă)M&,aVWWЋye=,~tOض {6@8fppy]Y5gΜ4֖e ӧO333ѣGU> t]/h^oFq@0t fggG!@uxk,rs1eSSdCCCa`YS]]Mss3ϟ?w &X]]-Z8"Ǐ'pU8q۶4MN< @H)m]\ⶕR L&*j%ɤ+++U_A{%J ,IGG`p[[[鑓 ~Xtwwt/ XLnކaBQkϞ=9rX,6nf:}׍igD"ʾťb@b@PKsI`q/rg\|Vls@׽H([[xIENDB`docs/reference/gdk/html/up-insensitive.png0000644000175000017500000000056613464200112020773 0ustar mclasenmclasenPNG  IHDRabKGD pHYs B(xtIMEwIIDAT8?/Qϙ?[u$VHTDۈBM+! GdkDrawContext: GDK 4 Reference Manual

GdkDrawContext

GdkDrawContext — Base class for draw contexts

Types and Values

Object Hierarchy

    GObject
    ╰── GdkDrawContext
        ├── GdkGLContext
        ╰── GdkVulkanContext

Includes

#include <gdk/gdkwayland.h>

Description

GdkDrawContext is the base object used by contexts implementing different rendering methods, such as GdkGLContext or GdkVulkanContext. It provides shared functionality between those contexts.

You will always interact with one of those s.ubclasses.

A GdkDrawContext is always associated with a single toplevel surface.

Functions

gdk_draw_context_get_display ()

GdkDisplay *
gdk_draw_context_get_display (GdkDrawContext *context);

Retrieves the GdkDisplay the context is created for

Parameters

context

a GdkDrawContext

 

Returns

a GdkDisplay or NULL.

[nullable][transfer none]


gdk_draw_context_get_surface ()

GdkSurface *
gdk_draw_context_get_surface (GdkDrawContext *context);

Retrieves the GdkSurface used by the context .

Parameters

context

a GdkDrawContext

 

Returns

a GdkSurface or NULL.

[nullable][transfer none]


gdk_draw_context_begin_frame ()

void
gdk_draw_context_begin_frame (GdkDrawContext *context,
                              const cairo_region_t *region);

Indicates that you are beginning the process of redrawing region on the context 's surface.

Calling this function begins a drawing operation using context on the surface that context was created from. The actual requirements and guarantees for the drawing operation vary for different implementations of drawing, so a GdkCairoContext and a GdkGLContext need to be treated differently.

A call to this function is a requirement for drawing and must be followed by a call to gdk_draw_context_end_frame(), which will complete the drawing operation and ensure the contents become visible on screen.

Note that the region passed to this function is the minimum region that needs to be drawn and depending on implementation, windowing system and hardware in use, it might be necessary to draw a larger region. Drawing implementation must use gdk_draw_context_get_frame_region() to query the region that must be drawn.

When using GTK+, the widget system automatically places calls to gdk_draw_context_begin_frame() and gdk_draw_context_end_frame() via the use of GskRenderers, so application code does not need to call these functions explicitly.

Parameters

context

the context used to draw the frame

 

region

minimum region that should be drawn

 

gdk_draw_context_end_frame ()

void
gdk_draw_context_end_frame (GdkDrawContext *context);

Ends a drawing operation started with gdk_draw_context_begin_frame() and makes the drawing available on screen. See that function for more details about drawing.

When using a GdkGLContext, this function may call glFlush() implicitly before returning; it is not recommended to call glFlush() explicitly before calling this function.

Parameters

context

a GdkDrawContext

 

gdk_draw_context_is_in_frame ()

gboolean
gdk_draw_context_is_in_frame (GdkDrawContext *context);

Returns TRUE if context is in the process of drawing to its surface after a call to gdk_draw_context_begin_frame() and not yet having called gdk_draw_context_end_frame(). In this situation, drawing commands may be effecting the contents of a context 's surface.

Parameters

context

a GdkDrawContext

 

Returns

TRUE if the context is between begin_frame() and end_frame() calls.


gdk_draw_context_get_frame_region ()

const cairo_region_t *
gdk_draw_context_get_frame_region (GdkDrawContext *context);

Retrieves the region that is currently in the process of being repainted.

After a call to gdk_draw_context_begin_frame() this function will return a union of the region passed to that function and the area of the surface that the context determined needs to be repainted.

If context is not inbetween calls to gdk_draw_context_begin_frame() and gdk_draw_context_end_frame(), NULL will be returned.

Parameters

context

a GdkDrawContext

 

Returns

a Cairo region or NULL if not drawing a frame.

[transfer none][nullable]

Types and Values

GdkDrawContext

typedef struct _GdkDrawContext GdkDrawContext;

The GdkDrawContext struct contains only private fields and should not be accessed directly.

docs/reference/gdk/html/gdk4-Keyboard-Handling.html0000664000175000017500000022646213464200113022312 0ustar mclasenmclasen Key Values: GDK 4 Reference Manual

Key Values

Key Values — Functions for manipulating keyboard codes

Properties

GdkDisplay * display Read / Write / Construct Only

Signals

void direction-changed Run Last
void keys-changed Run Last
void state-changed Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GdkKeymap

Includes

#include <gdk/gdk.h>

Description

Key values are the codes which are sent whenever a key is pressed or released. They appear in the GdkEventKey.keyval field of the GdkEventKey structure. The complete list of key values can be found in the gdk/gdkkeysyms.h header file.

Key values are regularly updated from the upstream X.org X11 implementation, so new values are added regularly. They will be prefixed with GDK_KEY_ rather than XF86XK_ or XK_ (for older symbols).

Key values can be converted into a string representation using gdk_keyval_name(). The reverse function, converting a string to a key value, is provided by gdk_keyval_from_name().

The case of key values can be determined using gdk_keyval_is_upper() and gdk_keyval_is_lower(). Key values can be converted to upper or lower case using gdk_keyval_to_upper() and gdk_keyval_to_lower().

When it makes sense, key values can be converted to and from Unicode characters with gdk_keyval_to_unicode() and gdk_unicode_to_keyval().

Groups

One GdkKeymap object exists for each user display. To obtain keymaps for a display, use gdk_display_get_keymap(). A keymap is a mapping from GdkKeymapKey to key values. You can think of a GdkKeymapKey as a representation of a symbol printed on a physical keyboard key. That is, it contains three pieces of information. First, it contains the hardware keycode; this is an identifying number for a physical key. Second, it contains the “level” of the key. The level indicates which symbol on the key will be used, in a vertical direction. So on a standard US keyboard, the key with the number “1“ on it also has the exclamation point (”!”) character on it. The level indicates whether to use the “1” or the “!” symbol. The letter keys are considered to have a lowercase letter at level 0, and an uppercase letter at level 1, though only the uppercase letter is printed. Third, the GdkKeymapKey contains a group; groups are not used on standard US keyboards, but are used in many other countries. On a keyboard with groups, there can be 3 or 4 symbols printed on a single key. The group indicates movement in a horizontal direction. Usually groups are used for two different languages. In group 0, a key might have two English characters, and in group 1 it might have two Hebrew characters. The Hebrew characters will be printed on the key next to the English characters.

In order to use a keymap to interpret a key event, it’s necessary to first convert the keyboard state into an effective group and level. This is done via a set of rules that varies widely according to type of keyboard and user configuration. The function gdk_keymap_translate_keyboard_state() accepts a keyboard state -- consisting of hardware keycode pressed, active modifiers, and active group -- applies the appropriate rules, and returns the group/level to be used to index the keymap, along with the modifiers which did not affect the group and level. i.e. it returns “unconsumed modifiers.” The keyboard group may differ from the effective group used for keymap lookups because some keys don't have multiple groups - e.g. the Enter key is always in group 0 regardless of keyboard state.

Note that gdk_keymap_translate_keyboard_state() also returns the keyval, i.e. it goes ahead and performs the keymap lookup in addition to telling you which effective group/level values were used for the lookup. GdkEventKey already contains this keyval, however, so you don’t normally need to call gdk_keymap_translate_keyboard_state() just to get the keyval.

Functions

gdk_keymap_lookup_key ()

guint
gdk_keymap_lookup_key (GdkKeymap *keymap,
                       const GdkKeymapKey *key);

Looks up the keyval mapped to a keycode/group/level triplet. If no keyval is bound to key , returns 0. For normal user input, you want to use gdk_keymap_translate_keyboard_state() instead of this function, since the effective group/level may not be the same as the current keyboard state.

Parameters

keymap

a GdkKeymap

 

key

a GdkKeymapKey with keycode, group, and level initialized

 

Returns

a keyval, or 0 if none was mapped to the given key


gdk_keymap_translate_keyboard_state ()

gboolean
gdk_keymap_translate_keyboard_state (GdkKeymap *keymap,
                                     guint hardware_keycode,
                                     GdkModifierType state,
                                     gint group,
                                     guint *keyval,
                                     gint *effective_group,
                                     gint *level,
                                     GdkModifierType *consumed_modifiers);

Translates the contents of a GdkEventKey into a keyval, effective group, and level. Modifiers that affected the translation and are thus unavailable for application use are returned in consumed_modifiers . See Groups for an explanation of groups and levels. The effective_group is the group that was actually used for the translation; some keys such as Enter are not affected by the active keyboard group. The level is derived from state . For convenience, GdkEventKey already contains the translated keyval, so this function isn’t as useful as you might think.

consumed_modifiers gives modifiers that should be masked outfrom state when comparing this key press to a hot key. For instance, on a US keyboard, the plus symbol is shifted, so when comparing a key press to a <Control>plus accelerator <Shift> should be masked out.

1
2
3
4
5
6
7
8
// We want to ignore irrelevant modifiers like ScrollLock
#define ALL_ACCELS_MASK (GDK_CONTROL_MASK | GDK_SHIFT_MASK | GDK_MOD1_MASK)
gdk_keymap_translate_keyboard_state (keymap, event->hardware_keycode,
                                     event->state, event->group,
                                     &keyval, NULL, NULL, &consumed);
if (keyval == GDK_PLUS &&
    (event->state & ~consumed & ALL_ACCELS_MASK) == GDK_CONTROL_MASK)
  // Control was pressed

An older interpretation consumed_modifiers was that it contained all modifiers that might affect the translation of the key; this allowed accelerators to be stored with irrelevant consumed modifiers, by doing:

1
2
3
4
// XXX Don’t do this XXX
if (keyval == accel_keyval &&
    (event->state & ~consumed & ALL_ACCELS_MASK) == (accel_mods & ~consumed))
  // Accelerator was pressed

However, this did not work if multi-modifier combinations were used in the keymap, since, for instance, <Control> would be masked out even if only <Control>&lt;Alt> was used in the keymap. To support this usage as well as well as possible, all single modifier combinations that could affect the key for any combination of modifiers will be returned in consumed_modifiers ; multi-modifier combinations are returned only when actually found in state . When you store accelerators, you should always store them with consumed modifiers removed. Store <Control>plus, not <Control>&lt;Shift>plus,

Parameters

keymap

a GdkKeymap

 

hardware_keycode

a keycode

 

state

a modifier state

 

group

active keyboard group

 

keyval

return location for keyval, or NULL.

[out][allow-none]

effective_group

return location for effective group, or NULL.

[out][allow-none]

level

return location for level, or NULL.

[out][allow-none]

consumed_modifiers

return location for modifiers that were used to determine the group or level, or NULL.

[out][allow-none]

Returns

TRUE if there was a keyval bound to the keycode/state/group


gdk_keymap_get_entries_for_keyval ()

gboolean
gdk_keymap_get_entries_for_keyval (GdkKeymap *keymap,
                                   guint keyval,
                                   GdkKeymapKey **keys,
                                   gint *n_keys);

Obtains a list of keycode/group/level combinations that will generate keyval . Groups and levels are two kinds of keyboard mode; in general, the level determines whether the top or bottom symbol on a key is used, and the group determines whether the left or right symbol is used. On US keyboards, the shift key changes the keyboard level, and there are no groups. A group switch key might convert a keyboard between Hebrew to English modes, for example. GdkEventKey contains a group field that indicates the active keyboard group. The level is computed from the modifier mask. The returned array should be freed with g_free().

Parameters

keymap

a GdkKeymap

 

keyval

a keyval, such as GDK_KEY_a, GDK_KEY_Up, GDK_KEY_Return, etc.

 

keys

return location for an array of GdkKeymapKey.

[out][array length=n_keys][transfer full]

n_keys

return location for number of elements in returned array

 

Returns

TRUE if keys were found and returned


gdk_keymap_get_entries_for_keycode ()

gboolean
gdk_keymap_get_entries_for_keycode (GdkKeymap *keymap,
                                    guint hardware_keycode,
                                    GdkKeymapKey **keys,
                                    guint **keyvals,
                                    gint *n_entries);

Returns the keyvals bound to hardware_keycode . The Nth GdkKeymapKey in keys is bound to the Nth keyval in keyvals . Free the returned arrays with g_free(). When a keycode is pressed by the user, the keyval from this list of entries is selected by considering the effective keyboard group and level. See gdk_keymap_translate_keyboard_state().

Parameters

keymap

a GdkKeymap

 

hardware_keycode

a keycode

 

keys

return location for array of GdkKeymapKey, or NULL.

[out][array length=n_entries][transfer full][optional]

keyvals

return location for array of keyvals, or NULL.

[out][array length=n_entries][transfer full][optional]

n_entries

length of keys and keyvals

 

Returns

TRUE if there were any entries


gdk_keymap_get_direction ()

PangoDirection
gdk_keymap_get_direction (GdkKeymap *keymap);

Returns the direction of effective layout of the keymap. The direction of a layout is the direction of the majority of its symbols. See pango_unichar_direction().

Parameters

keymap

a GdkKeymap

 

Returns

PANGO_DIRECTION_LTR or PANGO_DIRECTION_RTL if it can determine the direction. PANGO_DIRECTION_NEUTRAL otherwise.


gdk_keymap_have_bidi_layouts ()

gboolean
gdk_keymap_have_bidi_layouts (GdkKeymap *keymap);

Determines if keyboard layouts for both right-to-left and left-to-right languages are in use.

Parameters

keymap

a GdkKeymap

 

Returns

TRUE if there are layouts in both directions, FALSE otherwise


gdk_keymap_get_caps_lock_state ()

gboolean
gdk_keymap_get_caps_lock_state (GdkKeymap *keymap);

Returns whether the Caps Lock modifer is locked.

Parameters

keymap

a GdkKeymap

 

Returns

TRUE if Caps Lock is on


gdk_keymap_get_num_lock_state ()

gboolean
gdk_keymap_get_num_lock_state (GdkKeymap *keymap);

Returns whether the Num Lock modifer is locked.

Parameters

keymap

a GdkKeymap

 

Returns

TRUE if Num Lock is on


gdk_keymap_get_scroll_lock_state ()

gboolean
gdk_keymap_get_scroll_lock_state (GdkKeymap *keymap);

Returns whether the Scroll Lock modifer is locked.

Parameters

keymap

a GdkKeymap

 

Returns

TRUE if Scroll Lock is on


gdk_keymap_get_modifier_state ()

guint
gdk_keymap_get_modifier_state (GdkKeymap *keymap);

Returns the current modifier state.

Parameters

keymap

a GdkKeymap

 

Returns

the current modifier state.


gdk_keymap_add_virtual_modifiers ()

void
gdk_keymap_add_virtual_modifiers (GdkKeymap *keymap,
                                  GdkModifierType *state);

Maps the non-virtual modifiers (i.e Mod2, Mod3, ...) which are set in state to the virtual modifiers (i.e. Super, Hyper and Meta) and set the corresponding bits in state .

GDK already does this before delivering key events, but for compatibility reasons, it only sets the first virtual modifier it finds, whereas this function sets all matching virtual modifiers.

This function is useful when matching key events against accelerators.

Parameters

keymap

a GdkKeymap

 

state

pointer to the modifier mask to change.

[inout]

gdk_keymap_map_virtual_modifiers ()

gboolean
gdk_keymap_map_virtual_modifiers (GdkKeymap *keymap,
                                  GdkModifierType *state);

Maps the virtual modifiers (i.e. Super, Hyper and Meta) which are set in state to their non-virtual counterparts (i.e. Mod2, Mod3,...) and set the corresponding bits in state .

This function is useful when matching key events against accelerators.

Parameters

keymap

a GdkKeymap

 

state

pointer to the modifier state to map.

[inout]

Returns

FALSE if two virtual modifiers were mapped to the same non-virtual modifier. Note that FALSE is also returned if a virtual modifier is mapped to a non-virtual modifier that was already set in state .


gdk_keymap_get_modifier_mask ()

GdkModifierType
gdk_keymap_get_modifier_mask (GdkKeymap *keymap,
                              GdkModifierIntent intent);

Returns the modifier mask the keymap ’s windowing system backend uses for a particular purpose.

Note that this function always returns real hardware modifiers, not virtual ones (e.g. it will return GDK_MOD1_MASK rather than GDK_META_MASK if the backend maps MOD1 to META), so there are use cases where the return value of this function has to be transformed by gdk_keymap_add_virtual_modifiers() in order to contain the expected result.

Parameters

keymap

a GdkKeymap

 

intent

the use case for the modifier mask

 

Returns

the modifier mask used for intent .


gdk_keymap_get_display ()

GdkDisplay *
gdk_keymap_get_display (GdkKeymap *keymap);

Retrieves the GdkDisplay associated to the keymap .

Parameters

keymap

a GdkKeymap

 

Returns

a GdkDisplay.

[transfer none]


gdk_keyval_name ()

gchar *
gdk_keyval_name (guint keyval);

Converts a key value into a symbolic name.

The names are the same as those in the gdk/gdkkeysyms.h header file but without the leading “GDK_KEY_”.

Parameters

keyval

a key value

 

Returns

a string containing the name of the key, or NULL if keyval is not a valid key. The string should not be modified.

[nullable][transfer none]


gdk_keyval_from_name ()

guint
gdk_keyval_from_name (const gchar *keyval_name);

Converts a key name to a key value.

The names are the same as those in the gdk/gdkkeysyms.h header file but without the leading “GDK_KEY_”.

Parameters

keyval_name

a key name

 

Returns

the corresponding key value, or GDK_KEY_VoidSymbol if the key name is not a valid key


gdk_keyval_convert_case ()

void
gdk_keyval_convert_case (guint symbol,
                         guint *lower,
                         guint *upper);

Obtains the upper- and lower-case versions of the keyval symbol . Examples of keyvals are GDK_KEY_a, GDK_KEY_Enter, GDK_KEY_F1, etc.

Parameters

symbol

a keyval

 

lower

return location for lowercase version of symbol .

[out]

upper

return location for uppercase version of symbol .

[out]

gdk_keyval_to_upper ()

guint
gdk_keyval_to_upper (guint keyval);

Converts a key value to upper case, if applicable.

Parameters

keyval

a key value.

 

Returns

the upper case form of keyval , or keyval itself if it is already in upper case or it is not subject to case conversion.


gdk_keyval_to_lower ()

guint
gdk_keyval_to_lower (guint keyval);

Converts a key value to lower case, if applicable.

Parameters

keyval

a key value.

 

Returns

the lower case form of keyval , or keyval itself if it is already in lower case or it is not subject to case conversion.


gdk_keyval_is_upper ()

gboolean
gdk_keyval_is_upper (guint keyval);

Returns TRUE if the given key value is in upper case.

Parameters

keyval

a key value.

 

Returns

TRUE if keyval is in upper case, or if keyval is not subject to case conversion.


gdk_keyval_is_lower ()

gboolean
gdk_keyval_is_lower (guint keyval);

Returns TRUE if the given key value is in lower case.

Parameters

keyval

a key value.

 

Returns

TRUE if keyval is in lower case, or if keyval is not subject to case conversion.


gdk_keyval_to_unicode ()

guint32
gdk_keyval_to_unicode (guint keyval);

Convert from a GDK key symbol to the corresponding ISO10646 (Unicode) character.

Parameters

keyval

a GDK key symbol

 

Returns

the corresponding unicode character, or 0 if there is no corresponding character.


gdk_unicode_to_keyval ()

guint
gdk_unicode_to_keyval (guint32 wc);

Convert from a ISO10646 character to a key symbol.

Parameters

wc

a ISO10646 encoded character

 

Returns

the corresponding GDK key symbol, if one exists. or, if there is no corresponding symbol, wc | 0x01000000

Types and Values

GdkKeymap

typedef struct _GdkKeymap GdkKeymap;

A GdkKeymap defines the translation from keyboard state (including a hardware key, a modifier mask, and active keyboard group) to a keyval. This translation has two phases. The first phase is to determine the effective keyboard group and level for the keyboard state; the second phase is to look up the keycode/group/level triplet in the keymap and see what keyval it corresponds to.


struct GdkKeymapKey

struct GdkKeymapKey {
  guint keycode;
  gint  group;
  gint  level;
};

A GdkKeymapKey is a hardware key that can be mapped to a keyval.

Members

guint keycode;

the hardware keycode. This is an identifying number for a physical key.

 

gint group;

indicates movement in a horizontal direction. Usually groups are used for two different languages. In group 0, a key might have two English characters, and in group 1 it might have two Hebrew characters. The Hebrew characters will be printed on the key next to the English characters.

 

gint level;

indicates which symbol on the key will be used, in a vertical direction. So on a standard US keyboard, the key with the number “1” on it also has the exclamation point ("!") character on it. The level indicates whether to use the “1” or the “!” symbol. The letter keys are considered to have a lowercase letter at level 0, and an uppercase letter at level 1, though only the uppercase letter is printed.

 

Property Details

The “display” property

  “display”                  GdkDisplay *

The display of the keymap.

Flags: Read / Write / Construct Only

Signal Details

The “direction-changed” signal

void
user_function (GdkKeymap *keymap,
               gpointer   user_data)

The ::direction-changed signal gets emitted when the direction of the keymap changes. See gdk_keymap_get_direction().

Parameters

keymap

the object on which the signal is emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “keys-changed” signal

void
user_function (GdkKeymap *keymap,
               gpointer   user_data)

The ::keys-changed signal is emitted when the mapping represented by keymap changes.

Parameters

keymap

the object on which the signal is emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “state-changed” signal

void
user_function (GdkKeymap *keymap,
               gpointer   user_data)

The ::state-changed signal is emitted when the state of the keyboard changes, e.g when Caps Lock is turned on or off. See gdk_keymap_get_caps_lock_state().

Parameters

keymap

the object on which the signal is emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gdk/html/col_resize_cursor.png0000664000175000017500000000270713464200072021552 0ustar mclasenmclasenPNG  IHDR szzsBIT|d pHYsttfxtEXtSoftwarewww.inkscape.org<tEXtAuthorJakub Steiner/5tEXtDescriptionInverted variant of the DMZ cursor theme.hu[<3tEXtSourcehttp://jimmac.musichall.cz/themes.php?skin=7P3IDATX]hSg'I&ڤ`NsSu(TGjSAhŀLbލ])l`))27ވ_AإR/*ӭK䜴9.AL?sq>}ִ[V?~aO7);YXXg29f>22EӴB%+177Dѩׯ SixxMuLED$zj`_vuFFGG.^(e\E\"߿WUup,tݍ۷oxl,h$ۭiMMMGVNs,T1oرcGZiXԸ5BI244lhhjood)6Jeee,}1[,K $kcV&7MӒgB*xgZ:::^'0ꚛ@ 0-Kwww߷o_LɡClSSSN~~>%%%?~6X^$qmP 4ʢ'ϝ;K " UTT؞>}J<t^$!055il62ݫݸqӧbVM~~$IB$I撛Rϧ;&In1a_[n-99/_hzz:8::/..@:$IzȬp8Dww\KKW@L-hoo699nGii)gUs4nwzNB Օ0 9Nojjj>vSg@iUUU,r.g%5)) EQbe$hS!92==re4>vf.SUU>/rEQbG]ϟOI3 lFjkk0E_<bۉ'.B۰ؘQ(ViZDu k@˘/BH[(~4"{!<p$Ɗ֥^fHq 6222(J`pppxJ#`GG\&F*RgYUKGm%5?dfYzIENDB`docs/reference/gdk/html/progress_cursor.png0000664000175000017500000000352713464200072021261 0ustar mclasenmclasenPNG  IHDR szzsBIT|d pHYsttfxtEXtSoftwarewww.inkscape.org<tEXtAuthorJakub Steiner/5tEXtDescriptionInverted variant of the DMZ cursor theme.hu[<3tEXtSourcehttp://jimmac.musichall.cz/themes.php?skin=7P34IDATXoHTk?sfgqMx1M dPZv ,QAFu_A j)4R*6WnD--:0k9o_8v[ڛsfy\]]]`CCp?H<4rRDˎbǏ_D\zzzh4ÿRiٶm[ý{GyiL&&&if. Ե;uo rVǶm9p]v}WZZ*[-ZJX_[[$`2\+ /^,`P H*++%x<&"j||nooԳgwY""hƍǀ|ܘ… eɒ%'+W*yꕜݻqo߾}o | &i8N 4MeeeYMFF~x->Q]]{q҂l(YYYضiCOOO:FA]똦Ʌ 0M8uԷTrp`ea>0`CDze8w'N Xvo_@y;:J),D.b_ٳx<n76l,lۦݑ-~h^H FFF~X ߟ388l: Rb\.DceffT)'H$n `Y"0::Jee%?̙3hرB^xb FFF$W=,JwB*555e !O<)I}}ܼySLIffdggKww}֭fepAQJɽ{$M6I$TWW'a#GRJUTTX,4ѣGE)%=ADF|>.PHܹ#[[[erȪUnnn7P ݘJ)rO:::v)G\.$??_t:0 Ba D/_g`==i\z`cffpeYArssEuq\t:t+o D֭[WO=D"*//' Hd\xҥ}{4MSojjra ,  uVhnn~o߾^a7M͛7_+HnM}AAы/~eW4m~7lB|yA[$kCz,M}n&O9d!y4*99fHeb"0I9τ>2NKhL׵$+)9cSwKIENDB`docs/reference/gdk/html/all_scroll_cursor.png0000664000175000017500000000336013464200072021536 0ustar mclasenmclasenPNG  IHDR szzsBIT|d pHYsttfxtEXtSoftwarewww.inkscape.org<tEXtAuthorJakub Steiner/5tEXtDescriptionInverted variant of the DMZ cursor theme.hu[<3tEXtSourcehttp://jimmac.musichall.cz/themes.php?skin=7P3IDATXolSUƟ2EMhU0mJ;`JA  n61F ӘFFdUʒm ۵(}P. Or{}~y} ХRH$> '(J=1х >@#"nnnF&" B=( ٝ%">x `D_X $zEQ8p633_t{gBO&; ڬg"/~;SG khFv~x߾}SksLD|BORG"LDvxx2ɨ$%%%ٳհ'Nt:ff $Ib۟x<. ǎilM7o;UxDb?޽{;Nv `j}ѣW^M6ڵvO%Od#x L&f?$h7 ֲ{{{/(766P9Nz6""niia:DħOnP;wd!yޟC܉܄`(Ng( ;;vh:R<i޼y_%-XLח޺uK?zӉl6!bi۶mp֭[iÆ ѥKNl2$1!!nB^:)//VDuuu~ʕ6UUŚ5kܷZ8sL'7BPG~ V+' Bo3.'-ZNeO:v}3`4`͛7StuuL&Cu\JN&`` #ٚU`,nڴ7nΞ=KUUU.pd2so\d2Gb|5Yf muA`0TSS(}oܲ*YtZ_>7XlMB6 XvlL&kܹMȆX(Fv߯zNEoooD_/^z={&|R+łХ7o6:td&P'ﵴ֭[,-׉DW3555oGLFjmm}i0 J`uuu&[(p @& <FǝN'39"|`0lzz:dX< aG\Jjy~,NKg3011ALF*++?&W .Y4:KZvO___޽7 8pd2Jԉ59x3d4WuRcμD ޹9i޽+755Q2|>_h%^T*~,N/ {nJ$R Ohڋ/PT&?>77',ڵ$BDVм^j-xggg%@ $A;v8-)xDCCþ`0Hx\F/lll/b GZmѕC)^---rB"9UX Qϫd`^\5?:!o !IENDB`docs/reference/gdk/html/not_allowed_cursor.png0000664000175000017500000000435013464200072021717 0ustar mclasenmclasenPNG  IHDR szzsBIT|d pHYsnn^tEXtSoftwarewww.inkscape.org<tEXtAuthorJakub Steiner/5tEXtDescriptionInverted variant of the DMZ cursor theme.hu[<3tEXtSourcehttp://jimmac.musichall.cz/themes.php?skin=7P3IDATXkLT<1+Hk>((ךƔ6)QL5SVMLrkMMQZ. Sf0gPT@~idL9{  g"Inkk^嵂 īTQEӧ(;EQ^ZOp@hii[VA˗Bww7<f3V+V\5LnkkMBB_(AL l67Fn8q\UUEQ@OA .\<6|8**0OID됐(**n7#_EQ شiKbΜ9[ǂ@loob\;yxp9a?U+EK.Źs稣i >S͛wc jbÆ ĪU:֭[PRRwlG p8f͢SbHR#zYk}}>|eeeQDDfZ#fۛt: :KJJbcJAAHpLVXoo,{ܹCCCٳLFd2Qdd$EGGիsN@~MfdXd2QXXqJNN?-((v]`0^ٳgSyy9RDDEFFRLL xBill §˜kݽ{3 DӾ}s?޽{=U 򨺺F @;w.18cgddpMs:u-,ؾ}¡!ώ;Hѐ``:z(9^b?A X,d0(00m6<--EeeeDZv+z4 z ϟ>1ԇ@*GL2|ѢE488߿ vINRRRH$h4hɒ%9H5O {NCA)}JURRRƍfsXHHF$p8YWWk׮=| kX/c00Sj0^l>sb5ԹZz_@ߜF 3jɤP@O0)$OE__ N2IENDB`docs/reference/gdk/html/crosshair_cursor.png0000664000175000017500000000173113464200072021405 0ustar mclasenmclasenPNG  IHDR szzsBIT|d pHYsttfxtEXtSoftwarewww.inkscape.org<tEXtAuthorJakub Steiner/5tEXtDescriptionInverted variant of the DMZ cursor theme.hu[<3tEXtSourcehttp://jimmac.musichall.cz/themes.php?skin=7P3IDATXOkA܈JQPM=hԛǂGۯEh/{COB ~4BY}=&ƐMw\&wߙ}ߙgf~q 5M pIDBu_Qr]}V VVVRa@hEDdii\̬U5l6c{,d!}6p&xF'"*e^78uJ p(m ')1(DinZωyNSjRm i\dnn.4 ( juu5`H룔B)ew}PAd#2зNz9׀H^<n\ ㋳Q`]T䧵['ЉZ pc,Sq={[[[;RJT[>m@xjImBOqWgK'ow;ؠR7brpg,|k3±K@w g F3 p`\,:] %8Yl4#h6mNQןuXV?ZGI[ \"qT p\%OORyD\ :3tL#L?QDwTSIENDB`docs/reference/gdk/html/left-insensitive.png0000644000175000017500000000061313464200112021272 0ustar mclasenmclasenPNG  IHDRabKGD pHYs B(xtIMEƫqIDAT8͒NQ@pds`*4@W@ A!Ԇ@6^ 5hxIH R`sQp̙339B|sKEQTK@۝΁i^~Wʆ`0TJ6TcYn6A ƀ~߱>}ǭs; lYkwr 5U= /" "uU=ɲlArDzp5I4^E+P3Ɯq_p ̥iUYp=#IENDB`docs/reference/gdk/html/w_resize_cursor.png0000664000175000017500000000251313464200072021236 0ustar mclasenmclasenPNG  IHDR szzsBIT|d pHYsttfxtEXtSoftwarewww.inkscape.org<tEXtAuthorJakub Steiner/5tEXtDescriptionInverted variant of the DMZ cursor theme.hu[<3tEXtSourcehttp://jimmac.musichall.cz/themes.php?skin=7P3(IDATXOH#w?37f b bi^LIB K=F*zaX { $m=؊U5&LLj֌k~G{y;_n%jkkk;@40cޱy #=s8񱱱'@0#LyP(d{^lII& %1ଫkraaAz@s`s?ohhD ghv zzzB,EIrL$:::RSSǀ;>==zttu]!D4 c,v7cq[d | K@H0Q/Bjܷ h\9S1; 7m-b,`W:ҋP IENDB`docs/reference/gdk/html/grab_cursor.png0000664000175000017500000000256013464200072020324 0ustar mclasenmclasenPNG  IHDR szzsBIT|d pHYsttfxtEXtSoftwarewww.inkscape.org<tEXtAuthorJakub Steiner/5tEXtDescriptionInverted variant of the DMZ cursor theme.hu[<3tEXtSourcehttp://jimmac.musichall.cz/themes.php?skin=7P3MIDATXkG?ZkJ.84Bk{Iȡ` 5>z!_kL8'_4 U~:זVV3=X^kI Ռw[n*|m4:p߾}̑Ѵ-T Bo#sb񏾾>'PUΟ?/4鐚O>|ee0sm!;;;= (X_89zB7vƍoϞ=/T*eY(n0?x`9I+*iZpf3@Hչl'@' \jm7nEBC[vT}!1%jߙr dC%iIENDB`docs/reference/gdk/html/gdk4-General.html0000664000175000017500000002264613464200113020403 0ustar mclasenmclasen General: GDK 4 Reference Manual

General

General — Library initialization and miscellaneous functions

Includes

#include <gdk/gdk.h>

Description

This section describes the GDK initialization functions and miscellaneous utility functions, as well as deprecation facilities.

The GDK and GTK headers annotate deprecated APIs in a way that produces compiler warnings if these deprecated APIs are used. The warnings can be turned off by defining the macro GDK_DISABLE_DEPRECATION_WARNINGS before including the glib.h header.

GDK and GTK also provide support for building applications against defined subsets of deprecated or new APIs. Define the macro GDK_VERSION_MIN_REQUIRED to specify up to what version you want to receive warnings about deprecated APIs. Define the macro GDK_VERSION_MAX_ALLOWED to specify the newest version whose API you want to use.

Functions

Types and Values

GDK_WINDOWING_X11

#define GDK_WINDOWING_X11

The GDK_WINDOWING_X11 macro is defined if the X11 backend is supported.

Use this macro to guard code that is specific to the X11 backend.


GDK_WINDOWING_WIN32

#define GDK_WINDOWING_WIN32

The GDK_WINDOWING_WIN32 macro is defined if the Win32 backend is supported.

Use this macro to guard code that is specific to the Win32 backend.


GDK_WINDOWING_QUARTZ

#define GDK_WINDOWING_QUARTZ

The GDK_WINDOWING_QUARTZ macro is defined if the Quartz backend is supported.

Use this macro to guard code that is specific to the Quartz backend.


GDK_WINDOWING_WAYLAND

#define GDK_WINDOWING_WAYLAND

The GDK_WINDOWING_WAYLAND macro is defined if the Wayland backend is supported.

Use this macro to guard code that is specific to the Wayland backend.


GDK_VERSION_4_0

#define GDK_VERSION_4_0        (G_ENCODE_VERSION (4, 0))

A macro that evaluates to the 4.0 version of GDK, in a format that can be used by the C pre-processor.


GDK_VERSION_MIN_REQUIRED

# define GDK_VERSION_MIN_REQUIRED      (GDK_VERSION_CUR_STABLE)

A macro that should be defined by the user prior to including the gdk.h header. The definition should be one of the predefined GDK version macros: GDK_VERSION_4_0, GDK_VERSION_4_2,...

This macro defines the lower bound for the GDK API to use.

If a function has been deprecated in a newer version of GDK, it is possible to use this symbol to avoid the compiler warnings without disabling warning for every deprecated function.


GDK_VERSION_MAX_ALLOWED

#  define GDK_VERSION_MAX_ALLOWED      GDK_VERSION_MIN_REQUIRED

A macro that should be defined by the user prior to including the gdk.h header. The definition should be one of the predefined GDK version macros: GDK_VERSION_4_0, GDK_VERSION_4_2,...

This macro defines the upper bound for the GDK API to use.

If a function has been introduced in a newer version of GDK, it is possible to use this symbol to get compiler warnings when trying to use that function.


GDK_DISABLE_DEPRECATION_WARNINGS

#define GDK_DISABLE_DEPRECATION_WARNINGS

A macro that should be defined before including the gdk.h header. If it is defined, no compiler warnings will be produced for uses of deprecated GDK and GTK APIs.

docs/reference/gdk/html/index.html0000664000175000017500000001631713464200114017305 0ustar mclasenmclasen GDK 4 Reference Manual: GDK 4 Reference Manual

This document is for the GDK 4 library, version 3.96.0 . The latest versions can be found online at https://developer.gnome.org/gdk4/. If you are looking for the older GDK 3 series of libraries, see https://developer.gnome.org/gdk3/.


I. API Reference
General — Library initialization and miscellaneous functions
GdkDisplayManager — Maintains a list of all open GdkDisplays
GdkDisplay — Controls a set of monitors and their associated input devices
GdkSeat — Object representing an user seat
GdkDevice — Object representing an input device
GtkDevicePad — Pad device interface
GdkMonitor — Object representing an output
Points and Rectangles — Simple graphical data types
GdkTexture — Pixel data
GdkPaintable — An interface for a paintable region
RGBA Colors — RGBA colors
Cursors — Named and texture cursors
Surfaces — Onscreen display areas in the target window system
Frame clock — Frame clock syncs painting to a window or display
Frame timings — Object holding timing information for a single frame
GdkDrawContext — Base class for draw contexts
GdkGLContext — OpenGL draw context
GdkVulkanContext — Vulkan draw context
Events — Functions for handling events from the window system
Key Values — Functions for manipulating keyboard codes
Clipboards — Share data between applications for Copy-and-Paste
Drag And Drop — Functions for controlling drag and drop handling
Content Formats — Advertising and negotiating of content exchange formats
GdkContentProvider — Provides content for data transfer between applications
GdkContentSerializer — Serialize content for transfer
GdkContentDeserializer — Deserialize content for transfer
Properties and Atoms — Functions to manipulate properties on windows
Application launching — Startup notification for applications
GdkPixbuf Interaction — Functions for obtaining pixbufs
Pango Interaction — Using Pango in GDK
Cairo Interaction — Functions to support using cairo
X Window System Interaction — X backend-specific functions
Wayland Interaction — Wayland backend-specific functions
Index of all symbols
Annotation Glossary
docs/reference/gdk/html/GdkPaintable.html0000664000175000017500000011632413464200113020521 0ustar mclasenmclasen GdkPaintable: GDK 4 Reference Manual

GdkPaintable

GdkPaintable — An interface for a paintable region

Signals

void invalidate-contents Run Last
void invalidate-size Run Last

Types and Values

Object Hierarchy

    GInterface
    ╰── GdkPaintable

Prerequisites

GdkPaintable requires GObject.

Known Implementations

GdkPaintable is implemented by GdkTexture.

Includes

#include <gdk/gdk.h>

Description

GdkPaintable is a simple interface used by GDK and GDK to represent objects that can be painted anywhere at any size without requiring any sort of layout. The interface is inspired by similar concepts elsewhere, such as ClutterContent, HTML/CSS Paint Sources, or SVG Paint Servers.

A GdkPaintable can be snapshot at any time and size using gdk_paintable_snapshot(). How the paintable interprets that size and if it scales or centers itself into the given rectangle is implementation defined, though if you are implementing a GdkPaintable and don't know what to do, it is suggested that you scale your paintable ignoring any potential aspect ratio.

The contents that a GdkPaintable produces may depend on the GdkSnapshot passed to it. For example, paintables may decide to use more detailed images on higher resolution screens or when OpenGL is available. A GdkPaintable will however always produce the same output for the same snapshot.

A GdkPaintable may change its contents, meaning that it will now produce a different output with the same snpashot. Once that happens, it will call gdk_paintable_invalidate_contents() which will emit the “invalidate-contents” signal. If a paintable is known to never change its contents, it will set the GDK_PAINTABLE_STATIC_CONTENT flag. If a consumer cannot deal with changing contents, it may call gdk_paintable_get_static_image() which will return a static paintable and use that.

A paintable can report an intrinsic (or preferred) size or aspect ratio it wishes to be rendered at, though it doesn't have to. Consumers of the interface can use this information to layout thepaintable appropriately. Just like the contents, the size of a paintable can change. A paintable will indicate this by calling gdk_paintable_invalidate_size() which will emit the “invalidate-size” signal. And just like for contents, if a paintable is known to never change its size, it will set the GDK_PAINTABLE_STATIC_SIZE flag.

Besides API for applications, there are some functions that are only useful for implementing subclasses and should not be used by applications: gdk_paintable_invalidate_contents(), gdk_paintable_invalidate_size(), gdk_paintable_new_empty().

Functions

gdk_paintable_get_current_image ()

GdkPaintable *
gdk_paintable_get_current_image (GdkPaintable *paintable);

Gets an immutable paintable for the current contents displayed by paintable .

This is useful when you want to retain the current state of an animation, for example to take a screenshot of a running animation.

If the paintable is already immutable, it will return itself.

Parameters

paintable

a GdkPaintable

 

Returns

An immutable paintable for the current contents of paintable .

[transfer full]


gdk_paintable_snapshot ()

void
gdk_paintable_snapshot (GdkPaintable *paintable,
                        GdkSnapshot *snapshot,
                        double width,
                        double height);

Snapshots the given paintable with the given width and height at the current (0,0) offset of the snapshot . If width and height are not larger than zero, this function will do nothing.

Parameters

paintable

a GdkPaintable

 

snapshot

a GdkSnapshot to snapshot to

 

width

width to snapshot in

 

height

height to snapshot in

 

gdk_paintable_get_flags ()

GdkPaintableFlags
gdk_paintable_get_flags (GdkPaintable *paintable);

Get flags for the paintable. This is oftentimes useful for optimizations.

See GdkPaintableFlags for the flags and what they mean.

Parameters

paintable

a GdkPaintable

 

Returns

The GdkPaintableFlags for this paintable.


gdk_paintable_get_intrinsic_width ()

int
gdk_paintable_get_intrinsic_width (GdkPaintable *paintable);

Gets the preferred width the paintable would like to be displayed at. Consumers of this interface can use this to reserve enough space to draw the paintable.

This is a purely informational value and does not in any way limit the values that may be passed to gdk_paintable_snapshot().

If the paintable does not have a preferred width, it returns 0. Negative values are never returned.

Parameters

paintable

a GdkPaintable

 

Returns

the intrinsic width of paintable or 0 if none.


gdk_paintable_get_intrinsic_height ()

int
gdk_paintable_get_intrinsic_height (GdkPaintable *paintable);

Gets the preferred height the paintable would like to be displayed at. Consumers of this interface can use this to reserve enough space to draw the paintable.

This is a purely informational value and does not in any way limit the values that may be passed to gdk_paintable_snapshot().

If the paintable does not have a preferred height, it returns 0. Negative values are never returned.

Parameters

paintable

a GdkPaintable

 

Returns

the intrinsic height of paintable or 0 if none.


gdk_paintable_get_intrinsic_aspect_ratio ()

double
gdk_paintable_get_intrinsic_aspect_ratio
                               (GdkPaintable *paintable);

Gets the preferred aspect ratio the paintable would like to be displayed at. The aspect ration is the width divided by the height, so a value of 0.5 means that the paintable prefers to be displayed twice as high as it is wide. Consumers of this interface can use this to preserve aspect ratio when displaying this paintable.

This is a purely informational value and does not in any way limit the values that may be passed to gdk_paintable_snapshot().

Usually when a paintable returns non-0 values from gdk_paintable_get_intrinsic_width() and gdk_paintable_get_intrinsic_height() the aspect ratio should conform to those values, though that is not required.

If the paintable does not have a preferred aspect ratio, it returns 0.0. Negative values are never returned.

Parameters

paintable

a GdkPaintable

 

Returns

the intrinsic aspect ratio of paintable or 0.0 if none.


gdk_paintable_compute_concrete_size ()

void
gdk_paintable_compute_concrete_size (GdkPaintable *paintable,
                                     double specified_width,
                                     double specified_height,
                                     double default_width,
                                     double default_height,
                                     double *concrete_width,
                                     double *concrete_height);

Applies the sizing algorithm outlined in https://drafts.csswg.org/css-images-3/default-sizing to the given paintable . See that link for more details.

It is not necessary to call this function when both specified_width and specified_height are known, but it is useful to call this function in GtkWidget:measure implementations to compute the other dimension when only one dimension is given.

Parameters

paintable

a GdkPaintable

 

specified_width

the width paintable could be drawn into or 0.0 if unknown

 

specified_height

the height paintable could be drawn into or 0.0 if unknown

 

default_width

the width paintable would be drawn into if no other constraints were given

 

default_height

the height paintable would be drawn into if no other constraints were given

 

concrete_width

will be set to the concrete width computed.

[out]

concrete_height

will be set to the concrete height computed.

[out]

gdk_paintable_invalidate_contents ()

void
gdk_paintable_invalidate_contents (GdkPaintable *paintable);

Called by implementations of GdkPaintable to invalidate their contents. Unless the contents are invalidated, implementations must guarantee that multiple calls to GdkPaintable::snapshot produce the same output.

This function will emit the GdkPaintable::invalidate-contents signal.

If a paintable reports the GDK_PAINTABLE_STATIC_CONTENTS flag, it must not call this function.

Parameters

paintable

a GdkPaintable

 

gdk_paintable_invalidate_size ()

void
gdk_paintable_invalidate_size (GdkPaintable *paintable);

Called by implementations of GdkPaintable to invalidate their size. As long as the size is not invalidated, paintable must return the same values for its width, height and intrinsic height.

This function will emit the GdkPaintable::invalidate-size signal.

If a paintable reports the GDK_PAINTABLE_STATIC_SIZE flag, it must not call this function.

Parameters

paintable

a GdkPaintable

 

gdk_paintable_new_empty ()

GdkPaintable *
gdk_paintable_new_empty (int intrinsic_width,
                         int intrinsic_height);

Returns a paintable that has the given intrinsic size and draws nothing. This is often useful for implementing the GdkPaintableClass:get_current_image() virtual function when the paintable is in an incomplete state (like a GtkMediaStream before receiving the first frame).

Parameters

intrinsic_width

The intrinsic width to report. Can be 0 for no width.

 

intrinsic_height

The intrinsic height to report. Can be 0 for no height.

 

Returns

a GdkPaintable.

[transfer full]

Types and Values

GdkPaintable

typedef struct _GdkPaintable GdkPaintable;

enum GdkPaintableFlags

Flags about this object. Implementations use these for optimizations such as caching.

Members

GDK_PAINTABLE_STATIC_SIZE

The size is immutable. The GdkPaintable::invalidate-size signal will never be emitted.

 

GDK_PAINTABLE_STATIC_CONTENTS

The content is immutable. The GdkPaintable::invalidate-content signal will never be emitted.

 

Signal Details

The “invalidate-contents” signal

void
user_function (GdkPaintable *paintable,
               gpointer      user_data)

Emitted when the contents of the paintable change.

Examples for such an event would be videos changing to the next frame or the icon theme for an icon changing.

Parameters

paintable

a GdkPaintable

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “invalidate-size” signal

void
user_function (GdkPaintable *paintable,
               gpointer      user_data)

Emitted when the intrinsic size of the paintable changes. This means the values reported by at least one of gdk_paintable_get_intrinsic_width(), gdk_paintable_get_intrinsic_height() or gdk_paintable_get_intrinsic_aspect_ratio() has changed.

Examples for such an event would be a paintable displaying the contents of a toplevel surface being resized.

Parameters

paintable

a GdkPaintable

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

See Also

ClutterContent, GtkImage, GdkTexture, GtkSnapshot

docs/reference/gdk/html/nw_resize_cursor.png0000664000175000017500000000301113464200072021406 0ustar mclasenmclasenPNG  IHDR szzsBIT|d pHYsBB" >tEXtSoftwarewww.inkscape.org<tEXtAuthorJakub Steiner/5tEXtDescriptionInverted variant of the DMZ cursor theme.hu[<3tEXtSourcehttp://jimmac.musichall.cz/themes.php?skin=7P3IDATXH[W?/IƆVݨ)ڕV,MYamW[ZԚj1WViZlF-e(4:Z+6P*s b4X&ywXgVac_w>{=׿,)Ƴȱ^R1$Y?B B5C!ljj|a @9;Y}t:7z<}GZ<8 T^`p$4MNX]]ͣG @GDNzu-ID`3'"Qʷhkczzzf41+!!g222$IǒힺzD lll5rPzKͶ#!hb|^ @gffn0YW@FFLLL9sZ5$IB!~ܹsեO?~ >*+"$&*rQQr~ EiUIIIp(۶m+**j~܀D`9%''!V__!HhCDfFz{{†XbiݙNӚ8 ;`{ɩS$ټɓ'_) innNTTT|*lKKKH.~ҥKBQp8ooOhmm%(W\i p3kjj W(f{)fO GdkPixbuf Interaction: GDK 4 Reference Manual

GdkPixbuf Interaction

GdkPixbuf Interaction — Functions for obtaining pixbufs

Includes

#include <gdk/gdk.h>

Description

Pixbufs are client-side images. For details on how to create and manipulate pixbufs, see the GdkPixbuf API documentation.

The functions described here allow to obtain pixbufs from GdkSurfaces and cairo surfaces.

Functions

gdk_pixbuf_get_from_surface ()

GdkPixbuf *
gdk_pixbuf_get_from_surface (cairo_surface_t *surface,
                             gint src_x,
                             gint src_y,
                             gint width,
                             gint height);

Transfers image data from a cairo_surface_t and converts it to an RGB(A) representation inside a GdkPixbuf. This allows you to efficiently read individual pixels from cairo surfaces.

This function will create an RGB pixbuf with 8 bits per channel. The pixbuf will contain an alpha channel if the surface contains one.

Parameters

surface

surface to copy from

 

src_x

Source X coordinate within surface

 

src_y

Source Y coordinate within surface

 

width

Width in pixels of region to get

 

height

Height in pixels of region to get

 

Returns

A newly-created pixbuf with a reference count of 1, or NULL on error.

[nullable][transfer full]

Types and Values

docs/reference/gdk/html/GdkDevice.html0000664000175000017500000033441713464200113020026 0ustar mclasenmclasen GdkDevice: GDK 4 Reference Manual

GdkDevice

GdkDevice — Object representing an input device

Properties

GdkDevice * associated-device Read
GdkAxisFlags axes Read
GdkDisplay * display Read / Write / Construct Only
gboolean has-cursor Read / Write / Construct Only
GdkInputMode input-mode Read / Write
GdkInputSource input-source Read / Write / Construct Only
guint n-axes Read
gchar * name Read / Write / Construct Only
guint num-touches Read / Write / Construct Only
gchar * product-id Read / Write / Construct Only
GdkSeat * seat Read / Write
GdkDeviceTool * tool Read
GdkDeviceType type Read / Write / Construct Only
gchar * vendor-id Read / Write / Construct Only

Signals

void changed Run Last
void tool-changed Run Last

Object Hierarchy

    GObject
    ╰── GdkDevice

Known Derived Interfaces

GdkDevice is required by GdkDevicePad.

Includes

#include <gdk/gdk.h>

Description

The GdkDevice object represents a single input device, such as a keyboard, a mouse, a touchpad, etc.

See the GdkSeat documentation for more information about the various kinds of master and slave devices, and their relationships.

Functions

gdk_device_get_name ()

const gchar *
gdk_device_get_name (GdkDevice *device);

Determines the name of the device.

Parameters

device

a GdkDevice

 

Returns

a name


gdk_device_get_vendor_id ()

const gchar *
gdk_device_get_vendor_id (GdkDevice *device);

Returns the vendor ID of this device, or NULL if this information couldn't be obtained. This ID is retrieved from the device, and is thus constant for it.

This function, together with gdk_device_get_product_id(), can be used to eg. compose GSettings paths to store settings for this device.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
static GSettings *
get_device_settings (GdkDevice *device)
{
  const gchar *vendor, *product;
  GSettings *settings;
  GdkDevice *device;
  gchar *path;

  vendor = gdk_device_get_vendor_id (device);
  product = gdk_device_get_product_id (device);

  path = g_strdup_printf ("/org/example/app/devices/%s:%s/", vendor, product);
  settings = g_settings_new_with_path (DEVICE_SCHEMA, path);
  g_free (path);

  return settings;
}

Parameters

device

a slave GdkDevice

 

Returns

the vendor ID, or NULL.

[nullable]


gdk_device_get_product_id ()

const gchar *
gdk_device_get_product_id (GdkDevice *device);

Returns the product ID of this device, or NULL if this information couldn't be obtained. This ID is retrieved from the device, and is thus constant for it. See gdk_device_get_vendor_id() for more information.

Parameters

device

a slave GdkDevice

 

Returns

the product ID, or NULL.

[nullable]


gdk_device_get_source ()

GdkInputSource
gdk_device_get_source (GdkDevice *device);

Determines the type of the device.

Parameters

device

a GdkDevice

 

Returns

a GdkInputSource


gdk_device_set_mode ()

gboolean
gdk_device_set_mode (GdkDevice *device,
                     GdkInputMode mode);

Sets a the mode of an input device. The mode controls if the device is active and whether the device’s range is mapped to the entire screen or to a single surface.

Note: This is only meaningful for floating devices, master devices (and slaves connected to these) drive the pointer cursor, which is not limited by the input mode.

Parameters

device

a GdkDevice.

 

mode

the input mode.

 

Returns

TRUE if the mode was successfully changed.


gdk_device_get_mode ()

GdkInputMode
gdk_device_get_mode (GdkDevice *device);

Determines the mode of the device.

Parameters

device

a GdkDevice

 

Returns

a GdkInputSource


gdk_device_set_key ()

void
gdk_device_set_key (GdkDevice *device,
                    guint index_,
                    guint keyval,
                    GdkModifierType modifiers);

Specifies the X key event to generate when a macro button of a device is pressed.

Parameters

device

a GdkDevice

 

index_

the index of the macro button to set

 

keyval

the keyval to generate

 

modifiers

the modifiers to set

 

gdk_device_get_key ()

gboolean
gdk_device_get_key (GdkDevice *device,
                    guint index_,
                    guint *keyval,
                    GdkModifierType *modifiers);

If index_ has a valid keyval, this function will return TRUE and fill in keyval and modifiers with the keyval settings.

Parameters

device

a GdkDevice.

 

index_

the index of the macro button to get.

 

keyval

return value for the keyval.

[out]

modifiers

return value for modifiers.

[out]

Returns

TRUE if keyval is set for index .


gdk_device_set_axis_use ()

void
gdk_device_set_axis_use (GdkDevice *device,
                         guint index_,
                         GdkAxisUse use);

Specifies how an axis of a device is used.

Parameters

device

a pointer GdkDevice

 

index_

the index of the axis

 

use

specifies how the axis is used

 

gdk_device_get_axis_use ()

GdkAxisUse
gdk_device_get_axis_use (GdkDevice *device,
                         guint index_);

Returns the axis use for index_ .

Parameters

device

a pointer GdkDevice.

 

index_

the index of the axis.

 

Returns

a GdkAxisUse specifying how the axis is used.


gdk_device_get_associated_device ()

GdkDevice *
gdk_device_get_associated_device (GdkDevice *device);

Returns the associated device to device , if device is of type GDK_DEVICE_TYPE_MASTER, it will return the paired pointer or keyboard.

If device is of type GDK_DEVICE_TYPE_SLAVE, it will return the master device to which device is attached to.

If device is of type GDK_DEVICE_TYPE_FLOATING, NULL will be returned, as there is no associated device.

Parameters

device

a GdkDevice

 

Returns

The associated device, or NULL.

[nullable][transfer none]


gdk_device_list_slave_devices ()

GList *
gdk_device_list_slave_devices (GdkDevice *device);

If the device if of type GDK_DEVICE_TYPE_MASTER, it will return the list of slave devices attached to it, otherwise it will return NULL

Parameters

device

a GdkDevice

 

Returns

the list of slave devices, or NULL. The list must be freed with g_list_free(), the contents of the list are owned by GTK+ and should not be freed.

[nullable][transfer container][element-type GdkDevice]


gdk_device_get_device_type ()

GdkDeviceType
gdk_device_get_device_type (GdkDevice *device);

Returns the device type for device .

Parameters

device

a GdkDevice

 

Returns

the GdkDeviceType for device .


gdk_device_get_display ()

GdkDisplay *
gdk_device_get_display (GdkDevice *device);

Returns the GdkDisplay to which device pertains.

Parameters

device

a GdkDevice

 

Returns

a GdkDisplay. This memory is owned by GTK+, and must not be freed or unreffed.

[transfer none]


gdk_device_get_has_cursor ()

gboolean
gdk_device_get_has_cursor (GdkDevice *device);

Determines whether the pointer follows device motion. This is not meaningful for keyboard devices, which don't have a pointer.

Parameters

device

a GdkDevice

 

Returns

TRUE if the pointer follows device motion


gdk_device_get_n_axes ()

gint
gdk_device_get_n_axes (GdkDevice *device);

Returns the number of axes the device currently has.

Parameters

device

a pointer GdkDevice

 

Returns

the number of axes.


gdk_device_get_n_keys ()

gint
gdk_device_get_n_keys (GdkDevice *device);

Returns the number of keys the device currently has.

Parameters

device

a GdkDevice

 

Returns

the number of keys.


gdk_device_get_axes ()

GdkAxisFlags
gdk_device_get_axes (GdkDevice *device);

Returns the axes currently available on the device.

Parameters

device

a GdkDevice

 

gdk_device_get_seat ()

GdkSeat *
gdk_device_get_seat (GdkDevice *device);

Returns the GdkSeat the device belongs to.

Parameters

device

A GdkDevice

 

Returns

A GdkSeat. This memory is owned by GTK+ and must not be freed.

[transfer none]


gdk_device_get_state ()

void
gdk_device_get_state (GdkDevice *device,
                      GdkSurface *surface,
                      gdouble *axes,
                      GdkModifierType *mask);

Gets the current state of a pointer device relative to surface . As a slave device’s coordinates are those of its master pointer, this function may not be called on devices of type GDK_DEVICE_TYPE_SLAVE, unless there is an ongoing grab on them. See gdk_device_grab().

[skip]

Parameters

device

a GdkDevice.

 

surface

a GdkSurface.

 

axes

an array of doubles to store the values of the axes of device in, or NULL.

[nullable][array]

mask

location to store the modifiers, or NULL.

[optional][out]

gdk_device_get_position ()

void
gdk_device_get_position (GdkDevice *device,
                         double *x,
                         double *y);

Gets the current location of device in double precision. As a slave device's coordinates are those of its master pointer, this function may not be called on devices of type GDK_DEVICE_TYPE_SLAVE, unless there is an ongoing grab on them. See gdk_device_grab().

Parameters

device

pointer device to query status about.

 

x

location to store root window X coordinate of device , or NULL.

[out][allow-none]

y

location to store root window Y coordinate of device , or NULL.

[out][allow-none]

gdk_device_get_surface_at_position ()

GdkSurface *
gdk_device_get_surface_at_position (GdkDevice *device,
                                    double *win_x,
                                    double *win_y);

Obtains the surface underneath device , returning the location of the device in win_x and win_y in double precision. Returns NULL if the surface tree under device is not known to GDK (for example, belongs to another application).

As a slave device coordinates are those of its master pointer, This function may not be called on devices of type GDK_DEVICE_TYPE_SLAVE, unless there is an ongoing grab on them, see gdk_device_grab().

Parameters

device

pointer GdkDevice to query info to.

 

win_x

return location for the X coordinate of the device location, relative to the surface origin, or NULL.

[out][allow-none]

win_y

return location for the Y coordinate of the device location, relative to the surface origin, or NULL.

[out][allow-none]

Returns

the GdkSurface under the device position, or NULL.

[nullable][transfer none]


gdk_device_get_history ()

gboolean
gdk_device_get_history (GdkDevice *device,
                        GdkSurface *surface,
                        guint32 start,
                        guint32 stop,
                        GdkTimeCoord ***events,
                        gint *n_events);

Obtains the motion history for a pointer device; given a starting and ending timestamp, return all events in the motion history for the device in the given range of time. Some windowing systems do not support motion history, in which case, FALSE will be returned. (This is not distinguishable from the case where motion history is supported and no events were found.)

Note that there is also gdk_surface_set_event_compression() to get more motion events delivered directly, independent of the windowing system.

[skip]

Parameters

device

a GdkDevice

 

surface

the surface with respect to which which the event coordinates will be reported

 

start

starting timestamp for range of events to return

 

stop

ending timestamp for the range of events to return

 

events

location to store a newly-allocated array of GdkTimeCoord, or NULL.

[array length=n_events][out][transfer full][optional]

n_events

location to store the length of events , or NULL.

[out][optional]

Returns

TRUE if the windowing system supports motion history and at least one event was found.


gdk_device_free_history ()

void
gdk_device_free_history (GdkTimeCoord **events,
                         gint n_events);

Frees an array of GdkTimeCoord that was returned by gdk_device_get_history().

[skip]

Parameters

events

an array of GdkTimeCoord.

[array length=n_events]

n_events

the length of the array.

 

gdk_device_get_axis ()

gboolean
gdk_device_get_axis (GdkDevice *device,
                     gdouble *axes,
                     GdkAxisUse use,
                     gdouble *value);

Interprets an array of double as axis values for a given device, and locates the value in the array for a given axis use.

[skip]

Parameters

device

a GdkDevice

 

axes

pointer to an array of axes.

[array]

use

the use to look for

 

value

location to store the found value.

[out]

Returns

TRUE if the given axis use was found, otherwise FALSE


gdk_device_list_axes ()

GList *
gdk_device_list_axes (GdkDevice *device);

Returns a GList of GdkAtoms, containing the labels for the axes that device currently has.

Parameters

device

a pointer GdkDevice

 

Returns

A GList of strings, free with g_list_free().

[transfer container][element-type GdkAtom]


gdk_device_get_axis_value ()

gboolean
gdk_device_get_axis_value (GdkDevice *device,
                           gdouble *axes,
                           GdkAtom axis_label,
                           gdouble *value);

Interprets an array of double as axis values for a given device, and locates the value in the array for a given axis label, as returned by gdk_device_list_axes()

[skip]

Parameters

device

a pointer GdkDevice.

 

axes

pointer to an array of axes.

[array]

axis_label

name of the label

 

value

location to store the found value.

[out]

Returns

TRUE if the given axis use was found, otherwise FALSE.


gdk_device_get_last_event_surface ()

GdkSurface *
gdk_device_get_last_event_surface (GdkDevice *device);

Gets information about which surface the given pointer device is in, based on events that have been received so far from the display server. If another application has a pointer grab, or this application has a grab with owner_events = FALSE, NULL may be returned even if the pointer is physically over one of this application's surfaces.

Parameters

device

a GdkDevice, with a source other than GDK_SOURCE_KEYBOARD

 

Returns

the last surface the device.

[transfer none][allow-none]


gdk_device_tool_get_serial ()

guint64
gdk_device_tool_get_serial (GdkDeviceTool *tool);

Gets the serial of this tool, this value can be used to identify a physical tool (eg. a tablet pen) across program executions.

Parameters

tool

a GdkDeviceTool

 

Returns

The serial ID for this tool


gdk_device_tool_get_tool_type ()

GdkDeviceToolType
gdk_device_tool_get_tool_type (GdkDeviceTool *tool);

Gets the GdkDeviceToolType of the tool.

Parameters

tool

a GdkDeviceTool

 

Returns

The physical type for this tool. This can be used to figure out what sort of pen is being used, such as an airbrush or a pencil.


gdk_device_tool_get_hardware_id ()

guint64
gdk_device_tool_get_hardware_id (GdkDeviceTool *tool);

Gets the hardware ID of this tool, or 0 if it's not known. When non-zero, the identificator is unique for the given tool model, meaning that two identical tools will share the same hardware_id , but will have different serial numbers (see gdk_device_tool_get_serial()).

This is a more concrete (and device specific) method to identify a GdkDeviceTool than gdk_device_tool_get_tool_type(), as a tablet may support multiple devices with the same GdkDeviceToolType, but having different hardware identificators.

Parameters

tool

a GdkDeviceTool

 

Returns

The hardware identificator of this tool.

Types and Values

GdkDevice

typedef struct _GdkDevice GdkDevice;

The GdkDevice struct contains only private fields and should not be accessed directly.


enum GdkInputSource

An enumeration describing the type of an input device in general terms.

Members

GDK_SOURCE_MOUSE

the device is a mouse. (This will be reported for the core pointer, even if it is something else, such as a trackball.)

 

GDK_SOURCE_PEN

the device is a stylus of a graphics tablet or similar device.

 

GDK_SOURCE_ERASER

the device is an eraser. Typically, this would be the other end of a stylus on a graphics tablet.

 

GDK_SOURCE_CURSOR

the device is a graphics tablet “puck” or similar device.

 

GDK_SOURCE_KEYBOARD

the device is a keyboard.

 

GDK_SOURCE_TOUCHSCREEN

the device is a direct-input touch device, such as a touchscreen or tablet. This device type has been added in 3.4.

 

GDK_SOURCE_TOUCHPAD

the device is an indirect touch device, such as a touchpad. This device type has been added in 3.4.

 

GDK_SOURCE_TRACKPOINT

the device is a trackpoint. This device type has been added in 3.22

 

GDK_SOURCE_TABLET_PAD

the device is a "pad", a collection of buttons, rings and strips found in drawing tablets. This device type has been added in 3.22.

 

enum GdkInputMode

An enumeration that describes the mode of an input device.

Members

GDK_MODE_DISABLED

the device is disabled and will not report any events.

 

GDK_MODE_SCREEN

the device is enabled. The device’s coordinate space maps to the entire screen.

 

GDK_MODE_SURFACE

the device is enabled. The device’s coordinate space is mapped to a single surface. The manner in which this surface is chosen is undefined, but it will typically be the same way in which the focus surface for key events is determined.

 

enum GdkAxisUse

An enumeration describing the way in which a device axis (valuator) maps onto the predefined valuator types that GTK understands.

Note that the X and Y axes are not really needed; pointer devices report their location via the x/y members of events regardless. Whether X and Y are present as axes depends on the GDK backend.

Members

GDK_AXIS_IGNORE

the axis is ignored.

 

GDK_AXIS_X

the axis is used as the x axis.

 

GDK_AXIS_Y

the axis is used as the y axis.

 

GDK_AXIS_PRESSURE

the axis is used for pressure information.

 

GDK_AXIS_XTILT

the axis is used for x tilt information.

 

GDK_AXIS_YTILT

the axis is used for y tilt information.

 

GDK_AXIS_WHEEL

the axis is used for wheel information.

 

GDK_AXIS_DISTANCE

the axis is used for pen/tablet distance information

 

GDK_AXIS_ROTATION

the axis is used for pen rotation information

 

GDK_AXIS_SLIDER

the axis is used for pen slider information

 

GDK_AXIS_LAST

a constant equal to the numerically highest axis value.

 

enum GdkAxisFlags

Flags describing the current capabilities of a device/tool.

Members

GDK_AXIS_FLAG_X

X axis is present

 

GDK_AXIS_FLAG_Y

Y axis is present

 

GDK_AXIS_FLAG_PRESSURE

Pressure axis is present

 

GDK_AXIS_FLAG_XTILT

X tilt axis is present

 

GDK_AXIS_FLAG_YTILT

Y tilt axis is present

 

GDK_AXIS_FLAG_WHEEL

Wheel axis is present

 

GDK_AXIS_FLAG_DISTANCE

Distance axis is present

 

GDK_AXIS_FLAG_ROTATION

Z-axis rotation is present

 

GDK_AXIS_FLAG_SLIDER

Slider axis is present

 

enum GdkDeviceToolType

Indicates the specific type of tool being used being a tablet. Such as an airbrush, pencil, etc.

Members

GDK_DEVICE_TOOL_TYPE_UNKNOWN

Tool is of an unknown type.

 

GDK_DEVICE_TOOL_TYPE_PEN

Tool is a standard tablet stylus.

 

GDK_DEVICE_TOOL_TYPE_ERASER

Tool is standard tablet eraser.

 

GDK_DEVICE_TOOL_TYPE_BRUSH

Tool is a brush stylus.

 

GDK_DEVICE_TOOL_TYPE_PENCIL

Tool is a pencil stylus.

 

GDK_DEVICE_TOOL_TYPE_AIRBRUSH

Tool is an airbrush stylus.

 

GDK_DEVICE_TOOL_TYPE_MOUSE

Tool is a mouse.

 

GDK_DEVICE_TOOL_TYPE_LENS

Tool is a lens cursor.

 

enum GdkDeviceType

Indicates the device type.

Members

GDK_DEVICE_TYPE_MASTER

Device is a master (or virtual) device. There will be an associated focus indicator on the screen.

 

GDK_DEVICE_TYPE_SLAVE

Device is a slave (or physical) device.

 

GDK_DEVICE_TYPE_FLOATING

Device is a physical device, currently not attached to any seat.

 

enum GdkGrabOwnership

Defines how device grabs interact with other devices.

Members

GDK_OWNERSHIP_NONE

All other devices’ events are allowed.

 

GDK_OWNERSHIP_SURFACE

Other devices’ events are blocked for the grab surface.

 

GDK_OWNERSHIP_APPLICATION

Other devices’ events are blocked for the whole application.

 

struct GdkTimeCoord

struct GdkTimeCoord {
  guint32 time;
  gdouble axes[GDK_MAX_TIMECOORD_AXES];
};

A GdkTimeCoord stores a single event in a motion history.

Members

guint32 time;

The timestamp for this event.

 

gdouble axes[GDK_MAX_TIMECOORD_AXES];

the values of the device’s axes.

 

Property Details

The “associated-device” property

  “associated-device”        GdkDevice *

Associated pointer or keyboard with this device, if any. Devices of type GDK_DEVICE_TYPE_MASTER always come in keyboard/pointer pairs. Other device types will have a NULL associated device.

Flags: Read


The “axes” property

  “axes”                     GdkAxisFlags

The axes currently available for this device.

Flags: Read


The “display” property

  “display”                  GdkDisplay *

The GdkDisplay the GdkDevice pertains to.

Flags: Read / Write / Construct Only


The “has-cursor” property

  “has-cursor”               gboolean

Whether the device is represented by a cursor on the screen. Devices of type GDK_DEVICE_TYPE_MASTER will have TRUE here.

Flags: Read / Write / Construct Only

Default value: FALSE


The “input-mode” property

  “input-mode”               GdkInputMode

Input mode for the device.

Flags: Read / Write

Default value: GDK_MODE_DISABLED


The “input-source” property

  “input-source”             GdkInputSource

Source type for the device.

Flags: Read / Write / Construct Only

Default value: GDK_SOURCE_MOUSE


The “n-axes” property

  “n-axes”                   guint

Number of axes in the device.

Flags: Read

Default value: 0


The “name” property

  “name”                     gchar *

The device name.

Flags: Read / Write / Construct Only

Default value: NULL


The “num-touches” property

  “num-touches”              guint

The maximal number of concurrent touches on a touch device. Will be 0 if the device is not a touch device or if the number of touches is unknown.

Flags: Read / Write / Construct Only

Default value: 0


The “product-id” property

  “product-id”               gchar *

Product ID of this device, see gdk_device_get_product_id().

Flags: Read / Write / Construct Only

Default value: NULL


The “seat” property

  “seat”                     GdkSeat *

GdkSeat of this device.

Flags: Read / Write


The “tool” property

  “tool”                     GdkDeviceTool *

The tool that is currently used with this device.

Flags: Read


The “type” property

  “type”                     GdkDeviceType

Device role in the device manager.

Flags: Read / Write / Construct Only

Default value: GDK_DEVICE_TYPE_MASTER


The “vendor-id” property

  “vendor-id”                gchar *

Vendor ID of this device, see gdk_device_get_vendor_id().

Flags: Read / Write / Construct Only

Default value: NULL

Signal Details

The “changed” signal

void
user_function (GdkDevice *device,
               gpointer   user_data)

The ::changed signal is emitted either when the GdkDevice has changed the number of either axes or keys. For example In X this will normally happen when the slave device routing events through the master device changes (for example, user switches from the USB mouse to a tablet), in that case the master device will change to reflect the new slave device axes and keys.

Parameters

device

the GdkDevice that changed.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “tool-changed” signal

void
user_function (GdkDevice     *device,
               GdkDeviceTool *tool,
               gpointer       user_data)

The ::tool-changed signal is emitted on pen/eraser GdkDevices whenever tools enter or leave proximity.

Parameters

device

the GdkDevice that changed.

 

tool

The new current tool

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

See Also

GdkSeat

docs/reference/gdk/html/right.png0000644000175000017500000000040513464200112017116 0ustar mclasenmclasenPNG  IHDRabKGD pHYs B(xtIME!GIDAT8үa?MIdEr,-hAIl ry}sX6 !9#D r$-Br$G"$;WZ&!cq \`軀O=QoufIENDB`docs/reference/gdk/html/no_drop_cursor.png0000664000175000017500000000253513464200072021053 0ustar mclasenmclasenPNG  IHDR szzsBIT|d pHYsttfxtEXtSoftwarewww.inkscape.org<tEXtAuthorJakub Steiner/5tEXtDescriptionInverted variant of the DMZ cursor theme.hu[<3tEXtSourcehttp://jimmac.musichall.cz/themes.php?skin=7P3:IDATXKhTWw1&m'PHf1T 5X$" +T(TkVBͮH*./C YP0dLJc`23w;u1;w~p{oV8[mY۶m^.sid2Ya%JSSSFkk+x;w ٷo_Ç;;;&yT.T*x aHb||q^/H뙝K.# Y:]r4IR׉'z+@0m(^y<2i-!`Obk.r9Od- |Ԥb(Izt$P(H Index of all symbols: GDK 4 Reference Manual

Index of all symbols

A

GDK_ACTION_ALL, macro in Drag and Drop
GdkAnchorHints, enum in GdkSurface
GdkAppLaunchContext, struct in Application launching
GdkAppLaunchContext:display, object property in Application launching
gdk_app_launch_context_set_desktop, function in Application launching
gdk_app_launch_context_set_icon, function in Application launching
gdk_app_launch_context_set_icon_name, function in Application launching
gdk_app_launch_context_set_timestamp, function in Application launching
GdkAtom, struct in Properties and Atoms
GdkAxisFlags, enum in GdkDevice
GdkAxisUse, enum in GdkDevice

B

GDK_BUTTON_MIDDLE, macro in Events
GDK_BUTTON_PRIMARY, macro in Events
GDK_BUTTON_SECONDARY, macro in Events

C

GdkCairoContext, struct in GdkCairoContext
gdk_cairo_context_cairo_create, function in GdkCairoContext
gdk_cairo_draw_from_gl, function in Cairo Interaction
gdk_cairo_get_clip_rectangle, function in Cairo Interaction
gdk_cairo_rectangle, function in Cairo Interaction
gdk_cairo_region, function in Cairo Interaction
gdk_cairo_region_create_from_surface, function in Cairo Interaction
gdk_cairo_set_source_pixbuf, function in Cairo Interaction
gdk_cairo_set_source_rgba, function in Cairo Interaction
gdk_cairo_surface_upload_to_gl, function in Cairo Interaction
GdkClipboard, struct in Clipboards
GdkClipboard::changed, object signal in Clipboards
GdkClipboard:content, object property in Clipboards
GdkClipboard:display, object property in Clipboards
GdkClipboard:formats, object property in Clipboards
GdkClipboard:local, object property in Clipboards
gdk_clipboard_get_content, function in Clipboards
gdk_clipboard_get_display, function in Clipboards
gdk_clipboard_get_formats, function in Clipboards
gdk_clipboard_is_local, function in Clipboards
gdk_clipboard_read_async, function in Clipboards
gdk_clipboard_read_finish, function in Clipboards
gdk_clipboard_read_texture_async, function in Clipboards
gdk_clipboard_read_texture_finish, function in Clipboards
gdk_clipboard_read_text_async, function in Clipboards
gdk_clipboard_read_text_finish, function in Clipboards
gdk_clipboard_read_value_async, function in Clipboards
gdk_clipboard_read_value_finish, function in Clipboards
gdk_clipboard_set, function in Clipboards
gdk_clipboard_set_content, function in Clipboards
gdk_clipboard_set_text, function in Clipboards
gdk_clipboard_set_texture, function in Clipboards
gdk_clipboard_set_valist, function in Clipboards
gdk_clipboard_set_value, function in Clipboards
gdk_clipboard_store_async, function in Clipboards
gdk_clipboard_store_finish, function in Clipboards
GdkContentDeserializeFunc, user_function in GdkContentDeserializer
GdkContentDeserializer, struct in GdkContentDeserializer
GdkContentFormats, struct in Content Formats
GdkContentFormatsBuilder, struct in Content Formats
GdkContentProvider, struct in GdkContentProvider
GdkContentProvider::content-changed, object signal in GdkContentProvider
GdkContentProvider:formats, object property in GdkContentProvider
GdkContentProvider:storable-formats, object property in GdkContentProvider
GdkContentProviderClass, struct in GdkContentProvider
GdkContentSerializeFunc, user_function in GdkContentSerializer
GdkContentSerializer, struct in GdkContentSerializer
gdk_content_deserializer_get_cancellable, function in GdkContentDeserializer
gdk_content_deserializer_get_gtype, function in GdkContentDeserializer
gdk_content_deserializer_get_input_stream, function in GdkContentDeserializer
gdk_content_deserializer_get_mime_type, function in GdkContentDeserializer
gdk_content_deserializer_get_priority, function in GdkContentDeserializer
gdk_content_deserializer_get_task_data, function in GdkContentDeserializer
gdk_content_deserializer_get_user_data, function in GdkContentDeserializer
gdk_content_deserializer_get_value, function in GdkContentDeserializer
gdk_content_deserializer_return_error, function in GdkContentDeserializer
gdk_content_deserializer_return_success, function in GdkContentDeserializer
gdk_content_deserializer_set_task_data, function in GdkContentDeserializer
gdk_content_deserialize_async, function in GdkContentDeserializer
gdk_content_deserialize_finish, function in GdkContentDeserializer
gdk_content_formats_builder_add_formats, function in Content Formats
gdk_content_formats_builder_add_gtype, function in Content Formats
gdk_content_formats_builder_add_mime_type, function in Content Formats
gdk_content_formats_builder_free_to_formats, function in Content Formats
gdk_content_formats_builder_new, function in Content Formats
gdk_content_formats_builder_ref, function in Content Formats
gdk_content_formats_builder_to_formats, function in Content Formats
gdk_content_formats_builder_unref, function in Content Formats
gdk_content_formats_contain_gtype, function in Content Formats
gdk_content_formats_contain_mime_type, function in Content Formats
gdk_content_formats_get_gtypes, function in Content Formats
gdk_content_formats_get_mime_types, function in Content Formats
gdk_content_formats_match, function in Content Formats
gdk_content_formats_match_gtype, function in Content Formats
gdk_content_formats_match_mime_type, function in Content Formats
gdk_content_formats_new, function in Content Formats
gdk_content_formats_new_for_gtype, function in Content Formats
gdk_content_formats_print, function in Content Formats
gdk_content_formats_ref, function in Content Formats
gdk_content_formats_to_string, function in Content Formats
gdk_content_formats_union, function in Content Formats
gdk_content_formats_union_deserialize_gtypes, function in Content Formats
gdk_content_formats_union_deserialize_mime_types, function in Content Formats
gdk_content_formats_union_serialize_gtypes, function in Content Formats
gdk_content_formats_union_serialize_mime_types, function in Content Formats
gdk_content_formats_unref, function in Content Formats
gdk_content_provider_content_changed, function in GdkContentProvider
gdk_content_provider_get_value, function in GdkContentProvider
gdk_content_provider_new_for_bytes, function in GdkContentProvider
gdk_content_provider_new_for_value, function in GdkContentProvider
gdk_content_provider_ref_formats, function in GdkContentProvider
gdk_content_provider_ref_storable_formats, function in GdkContentProvider
gdk_content_provider_write_mime_type_async, function in GdkContentProvider
gdk_content_provider_write_mime_type_finish, function in GdkContentProvider
gdk_content_register_deserializer, function in GdkContentDeserializer
gdk_content_register_serializer, function in GdkContentSerializer
gdk_content_serializer_get_cancellable, function in GdkContentSerializer
gdk_content_serializer_get_gtype, function in GdkContentSerializer
gdk_content_serializer_get_mime_type, function in GdkContentSerializer
gdk_content_serializer_get_output_stream, function in GdkContentSerializer
gdk_content_serializer_get_priority, function in GdkContentSerializer
gdk_content_serializer_get_task_data, function in GdkContentSerializer
gdk_content_serializer_get_user_data, function in GdkContentSerializer
gdk_content_serializer_get_value, function in GdkContentSerializer
gdk_content_serializer_return_error, function in GdkContentSerializer
gdk_content_serializer_return_success, function in GdkContentSerializer
gdk_content_serializer_set_task_data, function in GdkContentSerializer
gdk_content_serialize_async, function in GdkContentSerializer
gdk_content_serialize_finish, function in GdkContentSerializer
GdkCrossingMode, enum in Events
GDK_CURRENT_TIME, macro in Events
GdkCursor, struct in Cursors
GdkCursor:fallback, object property in Cursors
GdkCursor:hotspot-x, object property in Cursors
GdkCursor:hotspot-y, object property in Cursors
GdkCursor:name, object property in Cursors
GdkCursor:texture, object property in Cursors
gdk_cursor_get_fallback, function in Cursors
gdk_cursor_get_hotspot_x, function in Cursors
gdk_cursor_get_hotspot_y, function in Cursors
gdk_cursor_get_name, function in Cursors
gdk_cursor_get_texture, function in Cursors
gdk_cursor_new_from_name, function in Cursors
gdk_cursor_new_from_texture, function in Cursors

D

GdkDevice, struct in GdkDevice
GdkDevice::changed, object signal in GdkDevice
GdkDevice::tool-changed, object signal in GdkDevice
GdkDevice:associated-device, object property in GdkDevice
GdkDevice:axes, object property in GdkDevice
GdkDevice:display, object property in GdkDevice
GdkDevice:has-cursor, object property in GdkDevice
GdkDevice:input-mode, object property in GdkDevice
GdkDevice:input-source, object property in GdkDevice
GdkDevice:n-axes, object property in GdkDevice
GdkDevice:name, object property in GdkDevice
GdkDevice:num-touches, object property in GdkDevice
GdkDevice:product-id, object property in GdkDevice
GdkDevice:seat, object property in GdkDevice
GdkDevice:tool, object property in GdkDevice
GdkDevice:type, object property in GdkDevice
GdkDevice:vendor-id, object property in GdkDevice
GdkDevicePad, struct in GdkDevicePad
GdkDevicePadFeature, enum in GdkDevicePad
GdkDeviceToolType, enum in GdkDevice
GdkDeviceType, enum in GdkDevice
gdk_device_free_history, function in GdkDevice
gdk_device_get_associated_device, function in GdkDevice
gdk_device_get_axes, function in GdkDevice
gdk_device_get_axis, function in GdkDevice
gdk_device_get_axis_use, function in GdkDevice
gdk_device_get_axis_value, function in GdkDevice
gdk_device_get_device_type, function in GdkDevice
gdk_device_get_display, function in GdkDevice
gdk_device_get_has_cursor, function in GdkDevice
gdk_device_get_history, function in GdkDevice
gdk_device_get_key, function in GdkDevice
gdk_device_get_last_event_surface, function in GdkDevice
gdk_device_get_mode, function in GdkDevice
gdk_device_get_name, function in GdkDevice
gdk_device_get_n_axes, function in GdkDevice
gdk_device_get_n_keys, function in GdkDevice
gdk_device_get_position, function in GdkDevice
gdk_device_get_product_id, function in GdkDevice
gdk_device_get_seat, function in GdkDevice
gdk_device_get_source, function in GdkDevice
gdk_device_get_state, function in GdkDevice
gdk_device_get_surface_at_position, function in GdkDevice
gdk_device_get_vendor_id, function in GdkDevice
gdk_device_list_axes, function in GdkDevice
gdk_device_list_slave_devices, function in GdkDevice
gdk_device_pad_get_feature_group, function in GdkDevicePad
gdk_device_pad_get_group_n_modes, function in GdkDevicePad
gdk_device_pad_get_n_features, function in GdkDevicePad
gdk_device_pad_get_n_groups, function in GdkDevicePad
gdk_device_set_axis_use, function in GdkDevice
gdk_device_set_key, function in GdkDevice
gdk_device_set_mode, function in GdkDevice
gdk_device_tool_get_hardware_id, function in GdkDevice
gdk_device_tool_get_serial, function in GdkDevice
gdk_device_tool_get_tool_type, function in GdkDevice
GDK_DISABLE_DEPRECATION_WARNINGS, macro in General
gdk_disable_multidevice, function in X Window System Interaction
GdkDisplay, struct in GdkDisplay
GdkDisplay::closed, object signal in GdkDisplay
GdkDisplay::monitor-added, object signal in GdkDisplay
GdkDisplay::monitor-removed, object signal in GdkDisplay
GdkDisplay::opened, object signal in GdkDisplay
GdkDisplay::seat-added, object signal in GdkDisplay
GdkDisplay::seat-removed, object signal in GdkDisplay
GdkDisplay::setting-changed, object signal in GdkDisplay
GdkDisplay:composited, object property in GdkDisplay
GdkDisplay:rgba, object property in GdkDisplay
GdkDisplayManager, struct in GdkDisplayManager
GdkDisplayManager::display-opened, object signal in GdkDisplayManager
GdkDisplayManager:default-display, object property in GdkDisplayManager
gdk_display_beep, function in GdkDisplay
gdk_display_close, function in GdkDisplay
gdk_display_device_is_grabbed, function in GdkDisplay
gdk_display_flush, function in GdkDisplay
gdk_display_get_app_launch_context, function in GdkDisplay
gdk_display_get_clipboard, function in GdkDisplay
gdk_display_get_default, function in GdkDisplay
gdk_display_get_default_group, function in GdkDisplay
gdk_display_get_default_seat, function in GdkDisplay
gdk_display_get_event, function in GdkDisplay
gdk_display_get_keymap, function in GdkDisplay
gdk_display_get_monitor, function in GdkDisplay
gdk_display_get_monitor_at_point, function in GdkDisplay
gdk_display_get_monitor_at_surface, function in GdkDisplay
gdk_display_get_name, function in GdkDisplay
gdk_display_get_n_monitors, function in GdkDisplay
gdk_display_get_primary_clipboard, function in GdkDisplay
gdk_display_get_primary_monitor, function in GdkDisplay
gdk_display_get_setting, function in GdkDisplay
gdk_display_has_pending, function in GdkDisplay
gdk_display_is_closed, function in GdkDisplay
gdk_display_is_composited, function in GdkDisplay
gdk_display_is_rgba, function in GdkDisplay
gdk_display_list_seats, function in GdkDisplay
gdk_display_manager_get, function in GdkDisplayManager
gdk_display_manager_get_default_display, function in GdkDisplayManager
gdk_display_manager_list_displays, function in GdkDisplayManager
gdk_display_manager_open_display, function in GdkDisplayManager
gdk_display_manager_set_default_display, function in GdkDisplayManager
gdk_display_notify_startup_complete, function in GdkDisplay
gdk_display_open, function in GdkDisplay
gdk_display_peek_event, function in GdkDisplay
gdk_display_put_event, function in GdkDisplay
gdk_display_supports_input_shapes, function in GdkDisplay
gdk_display_supports_shapes, function in GdkDisplay
gdk_display_sync, function in GdkDisplay
GDK_DISPLAY_XDISPLAY, macro in X Window System Interaction
GdkDrag, struct in Drag and Drop
GdkDrag::cancel, object signal in Drag and Drop
GdkDrag::dnd-finished, object signal in Drag and Drop
GdkDrag::drop-performed, object signal in Drag and Drop
GdkDrag:actions, object property in Drag and Drop
GdkDrag:content, object property in Drag and Drop
GdkDrag:device, object property in Drag and Drop
GdkDrag:display, object property in Drag and Drop
GdkDrag:formats, object property in Drag and Drop
GdkDrag:selected-action, object property in Drag and Drop
GdkDrag:surface, object property in Drag and Drop
GdkDragAction, enum in Drag and Drop
GdkDragCancelReason, enum in Drag and Drop
gdk_drag_action_is_unique, function in Drag and Drop
gdk_drag_begin, function in Drag and Drop
gdk_drag_drop_done, function in Drag and Drop
gdk_drag_get_actions, function in Drag and Drop
gdk_drag_get_device, function in Drag and Drop
gdk_drag_get_display, function in Drag and Drop
gdk_drag_get_drag_surface, function in Drag and Drop
gdk_drag_get_formats, function in Drag and Drop
gdk_drag_get_selected_action, function in Drag and Drop
gdk_drag_set_hotspot, function in Drag and Drop
GdkDrawContext, struct in GdkDrawContext
gdk_draw_context_begin_frame, function in GdkDrawContext
gdk_draw_context_end_frame, function in GdkDrawContext
gdk_draw_context_get_display, function in GdkDrawContext
gdk_draw_context_get_frame_region, function in GdkDrawContext
gdk_draw_context_get_surface, function in GdkDrawContext
gdk_draw_context_is_in_frame, function in GdkDrawContext
GdkDrop, struct in Drag and Drop
GdkDrop:actions, object property in Drag and Drop
GdkDrop:device, object property in Drag and Drop
GdkDrop:display, object property in Drag and Drop
GdkDrop:drag, object property in Drag and Drop
GdkDrop:formats, object property in Drag and Drop
GdkDrop:surface, object property in Drag and Drop
gdk_drop_finish, function in Drag and Drop
gdk_drop_get_actions, function in Drag and Drop
gdk_drop_get_device, function in Drag and Drop
gdk_drop_get_display, function in Drag and Drop
gdk_drop_get_drag, function in Drag and Drop
gdk_drop_get_formats, function in Drag and Drop
gdk_drop_get_surface, function in Drag and Drop
gdk_drop_read_async, function in Drag and Drop
gdk_drop_read_finish, function in Drag and Drop
gdk_drop_read_text_async, function in Drag and Drop
gdk_drop_read_text_finish, function in Drag and Drop
gdk_drop_read_value_async, function in Drag and Drop
gdk_drop_read_value_finish, function in Drag and Drop
gdk_drop_status, function in Drag and Drop

E

GdkEvent, union in Events
GdkEvent:event-type, object property in Events
GdkEventMask, enum in Events
GdkEventSequence, struct in Events
gdk_events_get_angle, function in Events
gdk_events_get_center, function in Events
gdk_events_get_distance, function in Events
GdkEventType, enum in Events
gdk_event_copy, function in Events
gdk_event_get_axes, function in Events
gdk_event_get_axis, function in Events
gdk_event_get_button, function in Events
gdk_event_get_click_count, function in Events
gdk_event_get_coords, function in Events
gdk_event_get_crossing_detail, function in Events
gdk_event_get_crossing_mode, function in Events
gdk_event_get_device, function in Events
gdk_event_get_device_tool, function in Events
gdk_event_get_display, function in Events
gdk_event_get_drop, function in Events
gdk_event_get_event_sequence, function in Events
gdk_event_get_event_type, function in Events
gdk_event_get_focus_in, function in Events
gdk_event_get_grab_surface, function in Events
gdk_event_get_keycode, function in Events
gdk_event_get_keyval, function in Events
gdk_event_get_key_group, function in Events
gdk_event_get_key_is_modifier, function in Events
gdk_event_get_motion_history, function in Events
gdk_event_get_pad_axis_value, function in Events
gdk_event_get_pad_button, function in Events
gdk_event_get_pad_group_mode, function in Events
gdk_event_get_pointer_emulated, function in Events
gdk_event_get_root_coords, function in Events
gdk_event_get_scancode, function in Events
gdk_event_get_scroll_deltas, function in Events
gdk_event_get_scroll_direction, function in Events
gdk_event_get_seat, function in Events
gdk_event_get_source_device, function in Events
gdk_event_get_state, function in Events
gdk_event_get_surface, function in Events
gdk_event_get_time, function in Events
gdk_event_get_touchpad_angle_delta, function in Events
gdk_event_get_touchpad_deltas, function in Events
gdk_event_get_touchpad_gesture_n_fingers, function in Events
gdk_event_get_touchpad_gesture_phase, function in Events
gdk_event_get_touchpad_scale, function in Events
gdk_event_get_touch_emulating_pointer, function in Events
gdk_event_is_scroll_stop_event, function in Events
gdk_event_is_sent, function in Events
gdk_event_new, function in Events
GDK_EVENT_PROPAGATE, macro in Events
gdk_event_set_device, function in Events
gdk_event_set_device_tool, function in Events
gdk_event_set_display, function in Events
gdk_event_set_source_device, function in Events
GDK_EVENT_STOP, macro in Events
gdk_event_triggers_context_menu, function in Events

F

GdkFrameClock, struct in GdkFrameClock
GdkFrameClock::after-paint, object signal in GdkFrameClock
GdkFrameClock::before-paint, object signal in GdkFrameClock
GdkFrameClock::flush-events, object signal in GdkFrameClock
GdkFrameClock::layout, object signal in GdkFrameClock
GdkFrameClock::paint, object signal in GdkFrameClock
GdkFrameClock::resume-events, object signal in GdkFrameClock
GdkFrameClock::update, object signal in GdkFrameClock
GdkFrameClockPhase, enum in GdkFrameClock
GdkFrameTimings, struct in GdkFrameTimings
gdk_frame_clock_begin_updating, function in GdkFrameClock
gdk_frame_clock_end_updating, function in GdkFrameClock
gdk_frame_clock_get_current_timings, function in GdkFrameClock
gdk_frame_clock_get_frame_counter, function in GdkFrameClock
gdk_frame_clock_get_frame_time, function in GdkFrameClock
gdk_frame_clock_get_history_start, function in GdkFrameClock
gdk_frame_clock_get_refresh_info, function in GdkFrameClock
gdk_frame_clock_get_timings, function in GdkFrameClock
gdk_frame_clock_request_phase, function in GdkFrameClock
gdk_frame_timings_get_complete, function in GdkFrameTimings
gdk_frame_timings_get_frame_counter, function in GdkFrameTimings
gdk_frame_timings_get_frame_time, function in GdkFrameTimings
gdk_frame_timings_get_predicted_presentation_time, function in GdkFrameTimings
gdk_frame_timings_get_presentation_time, function in GdkFrameTimings
gdk_frame_timings_get_refresh_interval, function in GdkFrameTimings
gdk_frame_timings_ref, function in GdkFrameTimings
gdk_frame_timings_unref, function in GdkFrameTimings
GdkFullscreenMode, enum in GdkSurface

G

GdkGeometry, struct in GdkSurface
gdk_get_show_events, function in Events
GdkGLContext, struct in GdkGLContext
GdkGLContext:shared-context, object property in GdkGLContext
GdkGLError, enum in GdkGLContext
gdk_gl_context_clear_current, function in GdkGLContext
gdk_gl_context_get_current, function in GdkGLContext
gdk_gl_context_get_debug_enabled, function in GdkGLContext
gdk_gl_context_get_display, function in GdkGLContext
gdk_gl_context_get_forward_compatible, function in GdkGLContext
gdk_gl_context_get_required_version, function in GdkGLContext
gdk_gl_context_get_shared_context, function in GdkGLContext
gdk_gl_context_get_surface, function in GdkGLContext
gdk_gl_context_get_use_es, function in GdkGLContext
gdk_gl_context_get_version, function in GdkGLContext
gdk_gl_context_is_legacy, function in GdkGLContext
gdk_gl_context_make_current, function in GdkGLContext
gdk_gl_context_realize, function in GdkGLContext
gdk_gl_context_set_debug_enabled, function in GdkGLContext
gdk_gl_context_set_forward_compatible, function in GdkGLContext
gdk_gl_context_set_required_version, function in GdkGLContext
gdk_gl_context_set_use_es, function in GdkGLContext
gdk_gl_texture_new, function in Textures
gdk_gl_texture_release, function in Textures
GdkGrabOwnership, enum in GdkDevice
GdkGrabStatus, enum in GdkSeat
GdkGravity, enum in GdkSurface

I

GdkInputMode, enum in GdkDevice
GdkInputSource, enum in GdkDevice
gdk_intern_mime_type, function in Content Formats

K

GdkKeymap, struct in Keyboard Handling
GdkKeymap::direction-changed, object signal in Keyboard Handling
GdkKeymap::keys-changed, object signal in Keyboard Handling
GdkKeymap::state-changed, object signal in Keyboard Handling
GdkKeymap:display, object property in Keyboard Handling
GdkKeymapKey, struct in Keyboard Handling
gdk_keymap_add_virtual_modifiers, function in Keyboard Handling
gdk_keymap_get_caps_lock_state, function in Keyboard Handling
gdk_keymap_get_direction, function in Keyboard Handling
gdk_keymap_get_display, function in Keyboard Handling
gdk_keymap_get_entries_for_keycode, function in Keyboard Handling
gdk_keymap_get_entries_for_keyval, function in Keyboard Handling
gdk_keymap_get_modifier_mask, function in Keyboard Handling
gdk_keymap_get_modifier_state, function in Keyboard Handling
gdk_keymap_get_num_lock_state, function in Keyboard Handling
gdk_keymap_get_scroll_lock_state, function in Keyboard Handling
gdk_keymap_have_bidi_layouts, function in Keyboard Handling
gdk_keymap_lookup_key, function in Keyboard Handling
gdk_keymap_map_virtual_modifiers, function in Keyboard Handling
gdk_keymap_translate_keyboard_state, function in Keyboard Handling
gdk_keyval_convert_case, function in Keyboard Handling
gdk_keyval_from_name, function in Keyboard Handling
gdk_keyval_is_lower, function in Keyboard Handling
gdk_keyval_is_upper, function in Keyboard Handling
gdk_keyval_name, function in Keyboard Handling
gdk_keyval_to_lower, function in Keyboard Handling
gdk_keyval_to_unicode, function in Keyboard Handling
gdk_keyval_to_upper, function in Keyboard Handling

M

GdkMemoryFormat, enum in Textures
GDK_MEMORY_DEFAULT, macro in Textures
gdk_memory_texture_new, function in Textures
GdkModifierIntent, enum in GdkSurface
GdkModifierType, enum in GdkSurface
GdkMonitor, struct in GdkMonitor
GdkMonitor::invalidate, object signal in GdkMonitor
GdkMonitor:display, object property in GdkMonitor
GdkMonitor:geometry, object property in GdkMonitor
GdkMonitor:height-mm, object property in GdkMonitor
GdkMonitor:manufacturer, object property in GdkMonitor
GdkMonitor:model, object property in GdkMonitor
GdkMonitor:refresh-rate, object property in GdkMonitor
GdkMonitor:scale-factor, object property in GdkMonitor
GdkMonitor:subpixel-layout, object property in GdkMonitor
GdkMonitor:valid, object property in GdkMonitor
GdkMonitor:width-mm, object property in GdkMonitor
GdkMonitor:workarea, object property in GdkMonitor
gdk_monitor_get_display, function in GdkMonitor
gdk_monitor_get_geometry, function in GdkMonitor
gdk_monitor_get_height_mm, function in GdkMonitor
gdk_monitor_get_manufacturer, function in GdkMonitor
gdk_monitor_get_model, function in GdkMonitor
gdk_monitor_get_refresh_rate, function in GdkMonitor
gdk_monitor_get_scale_factor, function in GdkMonitor
gdk_monitor_get_subpixel_layout, function in GdkMonitor
gdk_monitor_get_width_mm, function in GdkMonitor
gdk_monitor_get_workarea, function in GdkMonitor
gdk_monitor_is_primary, function in GdkMonitor
gdk_monitor_is_valid, function in GdkMonitor

N

GdkNotifyType, enum in Events

P

GdkPaintable, struct in GdkPaintable
GdkPaintable::invalidate-contents, object signal in GdkPaintable
GdkPaintable::invalidate-size, object signal in GdkPaintable
GdkPaintableFlags, enum in GdkPaintable
gdk_paintable_compute_concrete_size, function in GdkPaintable
gdk_paintable_get_current_image, function in GdkPaintable
gdk_paintable_get_flags, function in GdkPaintable
gdk_paintable_get_intrinsic_aspect_ratio, function in GdkPaintable
gdk_paintable_get_intrinsic_height, function in GdkPaintable
gdk_paintable_get_intrinsic_width, function in GdkPaintable
gdk_paintable_invalidate_contents, function in GdkPaintable
gdk_paintable_invalidate_size, function in GdkPaintable
gdk_paintable_new_empty, function in GdkPaintable
gdk_paintable_snapshot, function in GdkPaintable
gdk_pango_layout_get_clip_region, function in Pango Interaction
gdk_pango_layout_line_get_clip_region, function in Pango Interaction
GDK_PARENT_RELATIVE, macro in GdkSurface
gdk_pixbuf_get_from_surface, function in Pixbufs
GdkPoint, struct in Points, Rectangles and Regions
GDK_POINTER_TO_XID, macro in X Window System Interaction
GDK_PRIORITY_EVENTS, macro in Events
GDK_PRIORITY_REDRAW, macro in Events

R

GdkRectangle, struct in Points, Rectangles and Regions
gdk_rectangle_contains_point, function in Points, Rectangles and Regions
gdk_rectangle_equal, function in Points, Rectangles and Regions
gdk_rectangle_intersect, function in Points, Rectangles and Regions
gdk_rectangle_union, function in Points, Rectangles and Regions
GdkRGBA, struct in RGBA Colors
gdk_rgba_copy, function in RGBA Colors
gdk_rgba_equal, function in RGBA Colors
gdk_rgba_free, function in RGBA Colors
gdk_rgba_hash, function in RGBA Colors
gdk_rgba_is_clear, function in RGBA Colors
gdk_rgba_is_opaque, function in RGBA Colors
gdk_rgba_parse, function in RGBA Colors
gdk_rgba_to_string, function in RGBA Colors

S

GdkScrollDirection, enum in Events
GdkSeat, struct in GdkSeat
GdkSeat::device-added, object signal in GdkSeat
GdkSeat::device-removed, object signal in GdkSeat
GdkSeat::tool-added, object signal in GdkSeat
GdkSeat::tool-removed, object signal in GdkSeat
GdkSeat:display, object property in GdkSeat
GdkSeatCapabilities, enum in GdkSeat
GdkSeatGrabPrepareFunc, user_function in GdkSeat
gdk_seat_get_capabilities, function in GdkSeat
gdk_seat_get_display, function in GdkSeat
gdk_seat_get_keyboard, function in GdkSeat
gdk_seat_get_master_pointers, function in GdkSeat
gdk_seat_get_pointer, function in GdkSeat
gdk_seat_get_slaves, function in GdkSeat
gdk_seat_grab, function in GdkSeat
gdk_seat_ungrab, function in GdkSeat
gdk_set_allowed_backends, function in GdkDisplayManager
gdk_set_show_events, function in Events
GdkSubpixelLayout, enum in GdkMonitor
GdkSurface, struct in GdkSurface
GdkSurface::event, object signal in GdkSurface
GdkSurface::moved-to-rect, object signal in GdkSurface
GdkSurface::render, object signal in GdkSurface
GdkSurface::size-changed, object signal in GdkSurface
GdkSurface:cursor, object property in GdkSurface
GdkSurface:display, object property in GdkSurface
GdkSurface:frame-clock, object property in GdkSurface
GdkSurface:mapped, object property in GdkSurface
GdkSurface:state, object property in GdkSurface
GdkSurfaceEdge, enum in GdkSurface
GdkSurfaceHints, enum in GdkSurface
GdkSurfaceState, enum in GdkSurface
GdkSurfaceType, enum in GdkSurface
GdkSurfaceTypeHint, enum in GdkSurface
gdk_surface_beep, function in GdkSurface
gdk_surface_begin_move_drag, function in GdkSurface
gdk_surface_begin_move_drag_for_device, function in GdkSurface
gdk_surface_begin_resize_drag, function in GdkSurface
gdk_surface_begin_resize_drag_for_device, function in GdkSurface
gdk_surface_constrain_size, function in GdkSurface
gdk_surface_coords_from_parent, function in GdkSurface
gdk_surface_coords_to_parent, function in GdkSurface
gdk_surface_create_cairo_context, function in GdkSurface
gdk_surface_create_gl_context, function in GdkSurface
gdk_surface_create_similar_surface, function in Cairo Interaction
gdk_surface_create_vulkan_context, function in GdkSurface
gdk_surface_deiconify, function in GdkSurface
gdk_surface_destroy, function in GdkSurface
gdk_surface_focus, function in GdkSurface
gdk_surface_freeze_updates, function in GdkSurface
gdk_surface_fullscreen, function in GdkSurface
gdk_surface_fullscreen_on_monitor, function in GdkSurface
gdk_surface_get_accept_focus, function in GdkSurface
gdk_surface_get_children, function in GdkSurface
gdk_surface_get_cursor, function in GdkSurface
gdk_surface_get_decorations, function in GdkSurface
gdk_surface_get_device_cursor, function in GdkSurface
gdk_surface_get_device_position, function in GdkSurface
gdk_surface_get_display, function in GdkSurface
gdk_surface_get_focus_on_map, function in GdkSurface
gdk_surface_get_frame_clock, function in GdkSurface
gdk_surface_get_frame_extents, function in GdkSurface
gdk_surface_get_fullscreen_mode, function in GdkSurface
gdk_surface_get_geometry, function in GdkSurface
gdk_surface_get_height, function in GdkSurface
gdk_surface_get_modal_hint, function in GdkSurface
gdk_surface_get_origin, function in GdkSurface
gdk_surface_get_parent, function in GdkSurface
gdk_surface_get_pass_through, function in GdkSurface
gdk_surface_get_position, function in GdkSurface
gdk_surface_get_root_coords, function in GdkSurface
gdk_surface_get_root_origin, function in GdkSurface
gdk_surface_get_scale_factor, function in GdkSurface
gdk_surface_get_state, function in GdkSurface
gdk_surface_get_support_multidevice, function in GdkSurface
gdk_surface_get_surface_type, function in GdkSurface
gdk_surface_get_toplevel, function in GdkSurface
gdk_surface_get_type_hint, function in GdkSurface
gdk_surface_get_width, function in GdkSurface
gdk_surface_has_native, function in GdkSurface
gdk_surface_hide, function in GdkSurface
gdk_surface_iconify, function in GdkSurface
gdk_surface_input_shape_combine_region, function in GdkSurface
gdk_surface_is_destroyed, function in GdkSurface
gdk_surface_is_input_only, function in GdkSurface
gdk_surface_is_viewable, function in GdkSurface
gdk_surface_is_visible, function in GdkSurface
gdk_surface_lower, function in GdkSurface
gdk_surface_maximize, function in GdkSurface
gdk_surface_merge_child_input_shapes, function in GdkSurface
gdk_surface_move, function in GdkSurface
gdk_surface_move_resize, function in GdkSurface
gdk_surface_move_to_rect, function in GdkSurface
gdk_surface_new_child, function in GdkSurface
gdk_surface_new_popup, function in GdkSurface
gdk_surface_new_temp, function in GdkSurface
gdk_surface_new_toplevel, function in GdkSurface
gdk_surface_peek_children, function in GdkSurface
gdk_surface_queue_expose, function in GdkSurface
gdk_surface_raise, function in GdkSurface
gdk_surface_register_dnd, function in GdkSurface
gdk_surface_resize, function in GdkSurface
gdk_surface_restack, function in GdkSurface
gdk_surface_set_accept_focus, function in GdkSurface
gdk_surface_set_child_input_shapes, function in GdkSurface
gdk_surface_set_cursor, function in GdkSurface
gdk_surface_set_decorations, function in GdkSurface
gdk_surface_set_device_cursor, function in GdkSurface
gdk_surface_set_focus_on_map, function in GdkSurface
gdk_surface_set_fullscreen_mode, function in GdkSurface
gdk_surface_set_functions, function in GdkSurface
gdk_surface_set_geometry_hints, function in GdkSurface
gdk_surface_set_icon_list, function in GdkSurface
gdk_surface_set_icon_name, function in GdkSurface
gdk_surface_set_keep_above, function in GdkSurface
gdk_surface_set_keep_below, function in GdkSurface
gdk_surface_set_modal_hint, function in GdkSurface
gdk_surface_set_opacity, function in GdkSurface
gdk_surface_set_opaque_region, function in GdkSurface
gdk_surface_set_pass_through, function in GdkSurface
gdk_surface_set_shadow_width, function in GdkSurface
gdk_surface_set_startup_id, function in GdkSurface
gdk_surface_set_support_multidevice, function in GdkSurface
gdk_surface_set_title, function in GdkSurface
gdk_surface_set_transient_for, function in GdkSurface
gdk_surface_set_type_hint, function in GdkSurface
gdk_surface_show, function in GdkSurface
gdk_surface_show_unraised, function in GdkSurface
gdk_surface_show_window_menu, function in GdkSurface
gdk_surface_stick, function in GdkSurface
gdk_surface_thaw_updates, function in GdkSurface
gdk_surface_unfullscreen, function in GdkSurface
gdk_surface_unmaximize, function in GdkSurface
gdk_surface_unstick, function in GdkSurface
GDK_SURFACE_XID, macro in X Window System Interaction

T

GdkTexture, struct in Textures
GdkTexture:height, object property in Textures
GdkTexture:width, object property in Textures
gdk_texture_download, function in Textures
gdk_texture_get_height, function in Textures
gdk_texture_get_width, function in Textures
gdk_texture_new_for_pixbuf, function in Textures
gdk_texture_new_from_file, function in Textures
gdk_texture_new_from_resource, function in Textures
gdk_texture_save_to_png, function in Textures
gdk_text_property_to_utf8_list_for_display, function in Properties and Atoms
GdkTimeCoord, struct in GdkDevice

U

gdk_unicode_to_keyval, function in Keyboard Handling
gdk_utf8_to_string_target, function in Properties and Atoms

V

GDK_VERSION_4_0, macro in General
GDK_VERSION_MAX_ALLOWED, macro in General
GDK_VERSION_MIN_REQUIRED, macro in General
GdkVulkanContext, struct in GdkVulkanContext
GdkVulkanContext::images-updated, object signal in GdkVulkanContext
GdkVulkanError, enum in GdkVulkanContext
gdk_vulkan_context_get_device, function in GdkVulkanContext
gdk_vulkan_context_get_draw_index, function in GdkVulkanContext
gdk_vulkan_context_get_draw_semaphore, function in GdkVulkanContext
gdk_vulkan_context_get_image, function in GdkVulkanContext
gdk_vulkan_context_get_image_format, function in GdkVulkanContext
gdk_vulkan_context_get_instance, function in GdkVulkanContext
gdk_vulkan_context_get_n_images, function in GdkVulkanContext
gdk_vulkan_context_get_physical_device, function in GdkVulkanContext
gdk_vulkan_context_get_queue, function in GdkVulkanContext
gdk_vulkan_context_get_queue_family_index, function in GdkVulkanContext

W

GdkWaylandSurfaceExported, user_function in Wayland Interaction
gdk_wayland_device_get_wl_keyboard, function in Wayland Interaction
gdk_wayland_device_get_wl_pointer, function in Wayland Interaction
gdk_wayland_device_get_wl_seat, function in Wayland Interaction
gdk_wayland_display_get_wl_compositor, function in Wayland Interaction
gdk_wayland_display_get_wl_display, function in Wayland Interaction
gdk_wayland_display_query_registry, function in Wayland Interaction
gdk_wayland_seat_get_wl_seat, function in Wayland Interaction
gdk_wayland_surface_export_handle, function in Wayland Interaction
gdk_wayland_surface_get_wl_surface, function in Wayland Interaction
gdk_wayland_surface_set_transient_for_exported, function in Wayland Interaction
gdk_wayland_surface_unexport_handle, function in Wayland Interaction
GDK_WINDOWING_QUARTZ, macro in General
GDK_WINDOWING_WAYLAND, macro in General
GDK_WINDOWING_WIN32, macro in General
GDK_WINDOWING_X11, macro in General
GdkWMDecoration, enum in GdkSurface
GdkWMFunction, enum in GdkSurface

X

gdk_x11_atom_to_xatom_for_display, function in X Window System Interaction
gdk_x11_device_get_id, function in X Window System Interaction
gdk_x11_device_manager_lookup, function in X Window System Interaction
gdk_x11_display_broadcast_startup_message, function in X Window System Interaction
gdk_x11_display_error_trap_pop, function in X Window System Interaction
gdk_x11_display_error_trap_pop_ignored, function in X Window System Interaction
gdk_x11_display_error_trap_push, function in X Window System Interaction
gdk_x11_display_get_glx_version, function in X Window System Interaction
gdk_x11_display_get_startup_notification_id, function in X Window System Interaction
gdk_x11_display_get_user_time, function in X Window System Interaction
gdk_x11_display_get_xcursor, function in X Window System Interaction
gdk_x11_display_get_xdisplay, function in X Window System Interaction
gdk_x11_display_get_xrootwindow, function in X Window System Interaction
gdk_x11_display_get_xscreen, function in X Window System Interaction
gdk_x11_display_grab, function in X Window System Interaction
gdk_x11_display_open, function in X Window System Interaction
gdk_x11_display_set_cursor_theme, function in X Window System Interaction
gdk_x11_display_set_program_class, function in X Window System Interaction
gdk_x11_display_set_startup_notification_id, function in X Window System Interaction
gdk_x11_display_set_surface_scale, function in X Window System Interaction
gdk_x11_display_string_to_compound_text, function in X Window System Interaction
gdk_x11_display_text_property_to_text_list, function in X Window System Interaction
gdk_x11_display_ungrab, function in X Window System Interaction
gdk_x11_display_utf8_to_compound_text, function in X Window System Interaction
gdk_x11_free_compound_text, function in X Window System Interaction
gdk_x11_free_text_list, function in X Window System Interaction
gdk_x11_get_server_time, function in X Window System Interaction
gdk_x11_get_xatom_by_name_for_display, function in X Window System Interaction
gdk_x11_get_xatom_name_for_display, function in X Window System Interaction
gdk_x11_keymap_get_group_for_state, function in X Window System Interaction
gdk_x11_keymap_key_is_modifier, function in X Window System Interaction
gdk_x11_lookup_xdisplay, function in X Window System Interaction
gdk_x11_register_standard_event_type, function in X Window System Interaction
gdk_x11_screen_get_current_desktop, function in X Window System Interaction
gdk_x11_screen_get_monitor_output, function in X Window System Interaction
gdk_x11_screen_get_number_of_desktops, function in X Window System Interaction
gdk_x11_screen_get_screen_number, function in X Window System Interaction
gdk_x11_screen_get_window_manager_name, function in X Window System Interaction
gdk_x11_screen_get_xscreen, function in X Window System Interaction
gdk_x11_screen_lookup_visual, function in X Window System Interaction
gdk_x11_screen_supports_net_wm_hint, function in X Window System Interaction
gdk_x11_set_sm_client_id, function in X Window System Interaction
gdk_x11_surface_get_desktop, function in X Window System Interaction
gdk_x11_surface_get_xid, function in X Window System Interaction
gdk_x11_surface_lookup_for_display, function in X Window System Interaction
gdk_x11_surface_move_to_current_desktop, function in X Window System Interaction
gdk_x11_surface_move_to_desktop, function in X Window System Interaction
gdk_x11_surface_set_frame_sync_enabled, function in X Window System Interaction
gdk_x11_surface_set_theme_variant, function in X Window System Interaction
gdk_x11_surface_set_user_time, function in X Window System Interaction
gdk_x11_surface_set_utf8_property, function in X Window System Interaction
gdk_x11_visual_get_xvisual, function in X Window System Interaction
gdk_x11_xatom_to_atom_for_display, function in X Window System Interaction
GDK_XID_TO_POINTER, macro in X Window System Interaction
docs/reference/gdk/html/GdkSeat.html0000664000175000017500000012374313464200113017521 0ustar mclasenmclasen GdkSeat: GDK 4 Reference Manual

GdkSeat

GdkSeat — Object representing an user seat

Properties

GdkDisplay * display Read / Write / Construct Only

Signals

void device-added Run Last
void device-removed Run Last
void tool-added Run Last
void tool-removed Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GdkSeat

Includes

#include <gdk/gdk.h>

Description

The GdkSeat object represents a collection of input devices that belong to a user.

Functions

GdkSeatGrabPrepareFunc ()

void
(*GdkSeatGrabPrepareFunc) (GdkSeat *seat,
                           GdkSurface *surface,
                           gpointer user_data);

Type of the callback used to set up surface so it can be grabbed. A typical action would be ensuring the surface is visible, although there's room for other initialization actions.

Parameters

seat

the GdkSeat being grabbed

 

surface

the GdkSurface being grabbed

 

user_data

user data passed in gdk_seat_grab()

 

gdk_seat_get_display ()

GdkDisplay *
gdk_seat_get_display (GdkSeat *seat);

Returns the GdkDisplay this seat belongs to.

Parameters

seat

a GdkSeat

 

Returns

a GdkDisplay. This object is owned by GTK and must not be freed.

[transfer none]


gdk_seat_grab ()

GdkGrabStatus
gdk_seat_grab (GdkSeat *seat,
               GdkSurface *surface,
               GdkSeatCapabilities capabilities,
               gboolean owner_events,
               GdkCursor *cursor,
               const GdkEvent *event,
               GdkSeatGrabPrepareFunc prepare_func,
               gpointer prepare_func_data);

Grabs the seat so that all events corresponding to the given capabilities are passed to this application until the seat is ungrabbed with gdk_seat_ungrab(), or the surface becomes hidden. This overrides any previous grab on the seat by this client.

As a rule of thumb, if a grab is desired over GDK_SEAT_CAPABILITY_POINTER, all other "pointing" capabilities (eg. GDK_SEAT_CAPABILITY_TOUCH) should be grabbed too, so the user is able to interact with all of those while the grab holds, you should thus use GDK_SEAT_CAPABILITY_ALL_POINTING most commonly.

Grabs are used for operations which need complete control over the events corresponding to the given capabilities. For example in GTK this is used for Drag and Drop operations, popup menus and such.

Note that if the event mask of a GdkSurface has selected both button press and button release events, or touch begin and touch end, then a press event will cause an automatic grab until the button is released, equivalent to a grab on the surface with owner_events set to TRUE. This is done because most applications expect to receive paired press and release events.

If you set up anything at the time you take the grab that needs to be cleaned up when the grab ends, you should handle the GdkEventGrabBroken events that are emitted when the grab ends unvoluntarily.

Parameters

seat

a GdkSeat

 

surface

the GdkSurface which will own the grab

 

capabilities

capabilities that will be grabbed

 

owner_events

if FALSE then all device events are reported with respect to surface and are only reported if selected by event_mask . If TRUE then pointer events for this application are reported as normal, but pointer events outside this application are reported with respect to surface and only if selected by event_mask . In either mode, unreported events are discarded.

 

cursor

the cursor to display while the grab is active. If this is NULL then the normal cursors are used for surface and its descendants, and the cursor for surface is used elsewhere.

[nullable]

event

the event that is triggering the grab, or NULL if none is available.

[nullable]

prepare_func

function to prepare the surface to be grabbed, it can be NULL if surface is visible before this call.

[nullable][scope call][closure prepare_func_data]

prepare_func_data

user data to pass to prepare_func

 

Returns

GDK_GRAB_SUCCESS if the grab was successful.


gdk_seat_ungrab ()

void
gdk_seat_ungrab (GdkSeat *seat);

Releases a grab added through gdk_seat_grab().

Parameters

seat

a GdkSeat

 

gdk_seat_get_capabilities ()

GdkSeatCapabilities
gdk_seat_get_capabilities (GdkSeat *seat);

Returns the capabilities this GdkSeat currently has.

Parameters

seat

a GdkSeat

 

Returns

the seat capabilities


gdk_seat_get_pointer ()

GdkDevice *
gdk_seat_get_pointer (GdkSeat *seat);

Returns the master device that routes pointer events.

Parameters

seat

a GdkSeat

 

Returns

a master GdkDevice with pointer capabilities. This object is owned by GTK and must not be freed.

[transfer none][nullable]


gdk_seat_get_keyboard ()

GdkDevice *
gdk_seat_get_keyboard (GdkSeat *seat);

Returns the master device that routes keyboard events.

Parameters

seat

a GdkSeat

 

Returns

a master GdkDevice with keyboard capabilities. This object is owned by GTK and must not be freed.

[transfer none][nullable]


gdk_seat_get_slaves ()

GList *
gdk_seat_get_slaves (GdkSeat *seat,
                     GdkSeatCapabilities capabilities);

Returns the slave devices that match the given capabilities.

Parameters

seat

a GdkSeat

 

capabilities

capabilities to get devices for

 

Returns

A list of GdkDevices. The list must be freed with g_list_free(), the elements are owned by GDK and must not be freed.

[transfer container][element-type GdkDevice]


gdk_seat_get_master_pointers ()

GList *
gdk_seat_get_master_pointers (GdkSeat *seat,
                              GdkSeatCapabilities capabilities);

Returns all master pointers with the given capabilities driven by this seat . On most backends this function will return a list with a single element (meaning that all input devices drive the same onscreen cursor).

In other backends where there can possibly be multiple foci (eg. wayland), this function will return all master GdkDevices that represent these.

Parameters

seat

The GdkSeat

 

capabilities

Queried capabilities

 

Returns

A list of master pointing devices.

[transfer container][element-type GdkDevice]

Types and Values

GdkSeat

typedef struct _GdkSeat GdkSeat;

The GdkSeat struct contains only private fields and should not be accessed directly.


enum GdkSeatCapabilities

Flags describing the seat capabilities.

Members

GDK_SEAT_CAPABILITY_NONE

No input capabilities

 

GDK_SEAT_CAPABILITY_POINTER

The seat has a pointer (e.g. mouse)

 

GDK_SEAT_CAPABILITY_TOUCH

The seat has touchscreen(s) attached

 

GDK_SEAT_CAPABILITY_TABLET_STYLUS

The seat has drawing tablet(s) attached

 

GDK_SEAT_CAPABILITY_KEYBOARD

The seat has keyboard(s) attached

 

GDK_SEAT_CAPABILITY_TABLET_PAD

The seat has drawing tablet pad(s) attached

 

GDK_SEAT_CAPABILITY_ALL_POINTING

The union of all pointing capabilities

 

GDK_SEAT_CAPABILITY_ALL

The union of all capabilities

 

enum GdkGrabStatus

Returned by gdk_device_grab() to indicate success or the reason for the failure of the grab attempt.

Members

GDK_GRAB_SUCCESS

the resource was successfully grabbed.

 

GDK_GRAB_ALREADY_GRABBED

the resource is actively grabbed by another client.

 

GDK_GRAB_INVALID_TIME

the resource was grabbed more recently than the specified time.

 

GDK_GRAB_NOT_VIEWABLE

the grab surface or the confine_to surface are not viewable.

 

GDK_GRAB_FROZEN

the resource is frozen by an active grab of another client.

 

GDK_GRAB_FAILED

the grab failed for some other reason

 

Property Details

The “display” property

  “display”                  GdkDisplay *

GdkDisplay of this seat.

Flags: Read / Write / Construct Only

Signal Details

The “device-added” signal

void
user_function (GdkSeat   *seat,
               GdkDevice *device,
               gpointer   user_data)

The ::device-added signal is emitted when a new input device is related to this seat.

Parameters

seat

the object on which the signal is emitted

 

device

the newly added GdkDevice.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “device-removed” signal

void
user_function (GdkSeat   *seat,
               GdkDevice *device,
               gpointer   user_data)

The ::device-removed signal is emitted when an input device is removed (e.g. unplugged).

Parameters

seat

the object on which the signal is emitted

 

device

the just removed GdkDevice.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “tool-added” signal

void
user_function (GdkSeat       *seat,
               GdkDeviceTool *tool,
               gpointer       user_data)

The ::tool-added signal is emitted whenever a new tool is made known to the seat. The tool may later be assigned to a device (i.e. on proximity with a tablet). The device will emit the “tool-changed” signal accordingly.

A same tool may be used by several devices.

Parameters

seat

the object on which the signal is emitted

 

tool

the new GdkDeviceTool known to the seat

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “tool-removed” signal

void
user_function (GdkSeat       *seat,
               GdkDeviceTool *tool,
               gpointer       user_data)

This signal is emitted whenever a tool is no longer known to this seat .

Parameters

seat

the object on which the signal is emitted

 

tool

the just removed GdkDeviceTool

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

See Also

GdkDisplay, GdkDevice

docs/reference/gdk/html/sw_resize_cursor.png0000664000175000017500000000253113464200072021421 0ustar mclasenmclasenPNG  IHDR szzsBIT|d pHYsttfxtEXtSoftwarewww.inkscape.org<tEXtAuthorJakub Steiner/5tEXtDescriptionInverted variant of the DMZ cursor theme.hu[<3tEXtSourcehttp://jimmac.musichall.cz/themes.php?skin=7P36IDATXKW?'o_έ:[Ӛ!k(+;(\ŕf`7cj0e ^ mQftu4v,y_s.ufپp<}^_uiCn`Cmll@06+wqq-0~B܄wݦD"Ѻq<dnn'N>|xtuuۊ`bjjꨮ볆aH]_s@9` B~Ehrr򋮮wRj~~;Q ضLD"úGZul:\v3 LTj  *@* ^ohbbbn !R‚qq(Ţak===V{df2t,//z*uuup8n?X۷n{ ɼfpiߺRyvB)iyښ K. *N:hii.l9{9ȈFO>lwLi#͛7|3::uUUU%p S$>kRʢ"fjyys{w={p:Vkt.%ZA!Ry$0; 7eq)F'ZA> AGGB}/RYYu- \rH) ˥.\sK555a$WA-###DEIW&O:rqK $v@x<ֶJr @i` xo%s ОJIENDB`docs/reference/gdk/html/nwse_resize_cursor.png0000664000175000017500000000230713464200072021745 0ustar mclasenmclasenPNG  IHDR szzsBIT|d pHYsttfxtEXtSoftwarewww.inkscape.org<tEXtAuthorJakub Steiner/5tEXtDescriptionInverted variant of the DMZ cursor theme.hu[<3tEXtSourcehttp://jimmac.musichall.cz/themes.php?skin=7P3IDATXMH#g3F]i4"5-JI{#=A 񢈷@S.{P˲֞HॗPUcFbktԴH|d=?y1,І,=V0 7F雪BUWWcE6|F.\]P;;;l6iI0 'XQĻ%ikkk&AHuc~~[SKpݤ(y>} k>ULjX:9ڦdɗO K)!zdO.5. ՗ KV5ϙ$I?pddrqqTUUoUxHE|9>dYf$Ž^i""I Jd]]]yvvnwDOOɲDQ\w(1f6! eP"`$].ףgT@(LaQ$͟ Gct:s IUUfMLLD"KE^ =)4~prr577@ 躞` ?LRD566- "􅅅sss1?x䕕@ngbQ___a%l.u/r0KnԔ1Ɩ+@1Uty {|=NEak p?y~P~}}TbP(T5::Umm` GtkDevicePad: GDK 4 Reference Manual

GtkDevicePad

GtkDevicePad — Pad device interface

Types and Values

Object Hierarchy

    GInterface
    ╰── GdkDevicePad

Prerequisites

GdkDevicePad requires GdkDevice.

Includes

#include <gdk/gdk.h>

Description

GdkDevicePad is an interface implemented by devices of type GDK_SOURCE_TABLET_PAD, it allows querying the features provided by the pad device.

Tablet pads may contain one or more groups, each containing a subset of the buttons/rings/strips available. gdk_device_pad_get_n_groups() can be used to obtain the number of groups, gdk_device_pad_get_n_features() and gdk_device_pad_get_feature_group() can be combined to find out the number of buttons/rings/strips the device has, and how are they grouped.

Each of those groups have different modes, which may be used to map each individual pad feature to multiple actions. Only one mode is effective (current) for each given group, different groups may have different current modes. The number of available modes in a group can be found out through gdk_device_pad_get_group_n_modes(), and the current mode for a given group will be notified through the GdkEventPadGroupMode event.

Functions

gdk_device_pad_get_n_groups ()

gint
gdk_device_pad_get_n_groups (GdkDevicePad *pad);

Returns the number of groups this pad device has. Pads have at least one group. A pad group is a subcollection of buttons/strip/rings that is affected collectively by a same current mode.

Parameters

pad

a GdkDevicePad

 

Returns

The number of button/ring/strip groups in the pad.


gdk_device_pad_get_group_n_modes ()

gint
gdk_device_pad_get_group_n_modes (GdkDevicePad *pad,
                                  gint group_idx);

Returns the number of modes that group may have.

Parameters

pad

a GdkDevicePad

 

group_idx

group to get the number of available modes from

 

Returns

The number of modes available in group .


gdk_device_pad_get_n_features ()

gint
gdk_device_pad_get_n_features (GdkDevicePad *pad,
                               GdkDevicePadFeature feature);

Returns the number of features a tablet pad has.

Parameters

pad

a GdkDevicePad

 

feature

a pad feature

 

Returns

The amount of elements of type feature that this pad has.


gdk_device_pad_get_feature_group ()

gint
gdk_device_pad_get_feature_group (GdkDevicePad *pad,
                                  GdkDevicePadFeature feature,
                                  gint feature_idx);

Returns the group the given feature and idx belong to, or -1 if feature/index do not exist in pad .

Parameters

pad

a GdkDevicePad

 

feature

the feature type to get the group from

 

feature_idx

the index of the feature to get the group from

 

Returns

The group number of the queried pad feature.

Types and Values

GdkDevicePad

typedef struct _GdkDevicePad GdkDevicePad;

The GdkDevicePad struct contains only private fields and should not be accessed directly.


enum GdkDevicePadFeature

A pad feature.

Members

GDK_DEVICE_PAD_FEATURE_BUTTON

a button

 

GDK_DEVICE_PAD_FEATURE_RING

a ring-shaped interactive area

 

GDK_DEVICE_PAD_FEATURE_STRIP

a straight interactive area

 
docs/reference/gdk/html/rotated-text.png0000664000175000017500000003613613464200072020446 0ustar mclasenmclasenPNG  IHDR'O pHYs  tIME 8#FH IDATxohSYw NBtBS*`?4Cq ڠ#h;*UЉCZ4Sˤ*42)LOBSȁ o~?4IMcS6M49kA _[@$z HA A'bQEo%>tdKQ} )X G< l9L˜DOyO;14-1(w/'?l/?XYV!EPD}Ŭ? VW~MJ~{(U#8JDAT`5 ,Ƌ0BYD8bF9$^wGa3_s /1=%ң;? Cmo~K}=9kcYgG̰/@dԷcQ(FB>b{Ø/ :ٖ z {r ,eXⶵǜs5mS0o7~?}3 ~"p//Pnxy:` GO ڭ0es { {,xfݟ KNþrŒވrSSV0xЋB!L ~Y*p;{Be"41wkg1%߽jrnéa8lLy3z ~U @>~{V7q[dl/G.,BKmɽC:#7X:qiˡ AJ:P~+0C6]@IdhwODzvbuZ`'$^Es..[o\ nwݶx@r ͋Elv" 93VSYR~ D~U={62ae!5ïnȅuk(al"b,Η:n֘##.z 0GsU~Y`7{xWqQ~詁ЪRwW*kl I4a#j;<8iDE~qe\F# I@jbtov=?c=: L Т )Pd!X"TYQVLv,dicsc%L%Q!=-HLGi iւZSG]\v@ANHʙN{4nQUm[(|r`hvݍ?ځ QJ|;yzmo~ V8gz^(wFt 2ydX8!TU x 6sQK,~u2أaJ\/a%0A&Ӆ8Bkօz.gQ uB^Pjc&1GU跁wg B6eY_]`:7ہ=&;#@__?ct.QeDy%'`k"^R\Έ8 ZtQVAP.Ke]: MQmtG1 >= 0̎9s@wo/t́CsJ^q?ƁV;kA.v#zȧ/%K*p > ENmřk0K֯LZ G?wRfk'yx+S " bsjc2mtfOd&ȿ-(yy]/ofnAsV=p4[ )xuw2eZʴ(15~ly`|t`E )wɣw*yuM];.QT tVBmKDOd_E*<g.8L|إS|L§\XWm2L &D'ޥ];?]}1L^"af8AfAZZ =fݭ?D6k0;~*0H2KDYEt+.P|:)c`}RFMqpVS1`M&' >a{:)?s1?~sa_?c|mwnal2:(wj6Aiw!> &>|oeE+2Jq5*32uccZn {F|9%3z 3"Ǘ8_B ?lO&]g2E9p[Wql `g<:Q1?puDq54kn\>{3 A"{.7sgj N^p^x_ r>t'!yDcV4 7^Huew8>XdN;1? 1d\mYgUQȧĜț;dFDFI^pM}Mĭvnj%]/׮kM> h6NPoZ|JѦ[Wr%e&&@/' w6vkKm[6ܷB48^01耓/>#5A ;1e*~Ê7 q]->N]ɲXM5F9!"2{-(Z(L]WKfNvQW>bD{7[ฑgQH^z#їٮ)Vau TdOs);w8h%"lYr%v)n e8z;m'T .$]{<~uI)Wr*,Ɓo;qqTW,V?_)@D߄yؓ_/ki&&Csa_"?!̌ÏD@ӡ9VGgmvsxt?Ypnϒ}w([Vf X\ b`0F.\:@qCf/Tsx~.+L~J~7\|3vئh]m=oumYe{񿷠aSeהp]}a hE@*iyv?W>{ |"m3rsN vsSYٸ%kN54,IKp ~i$ p{(v.r [}H,|V`;Ոػf1`}+Rc}m;v)Oe0`t\pqQ+ ?1 HD4+2tO 7|V ĺeYvp6^ܧLݙlqoXgofs@iz=*;na_g"*v۽FpUfi:]H|&T3f/i Ꮏ#Я{&wSM4xӍ+>9E&M}gyDϗoKI N3pܴ\+Z xcc/0+0 =}z|D5eMدZvn՚c<4]HD;}(f,bFT~c\9]WC{"4H+sO$2|Xe{nL3Q4z|.vs{iyo9ߑiϑ˚,@8D .y3isAL$D<9{m"*-r?&~ڝ~^)[S3]2$xbd[;ݲW뚆ӊcJ߽vYw;O=L: ҝ;Pw'e;(ZV5 hVVDi16H05B *"E2DA0bw1tUExz$b\S(>~ F\G^ss-ju.qDf8,-E*M@@1ZFc,Ԇ0V GpXj|}w60=/r@jR-v!lu>ǘx/Qn(c<՘58\D3 OlcCU4V0[1xPbq 9\8ߘ{n*U7*ע[. rgB@wMMpP9#;v9c{}s/P|} ހq/GzKwgͲ$`"V> ]=DeY1` k#YP|гqf_DH2z`)Q>jzjL;AL;>}5=aLv569@]|Xj2G`L-_3|/s˕f7?]~ƛeeZSZ|`#8-G-{~5^U_%k>>AT(Ci*ؔ}ć^ zD?#__pE])c>GUmtE϶Y`S h~q[k dŒ!vmj[[u =7MFn}%U"$#]ʎ,_~1ì7j!vwb*H <섓}u9)GZZ~?jl9ƛ1;0<҃[NƠ.!C[j~_pw3k3wn2 sj!v zyʠm]`b _̾}fwwQQ7!BdO5Zi{`5{l;*|EopB4d\YaF9vҕB|_p\6b!QI7{A{@Kd'|'ĮCagE6m#rI&lżx5إ %[V[V`quHAlQ+MQs~An ž~D l/DEGB8\EK jZ :w[ >Tn 7zg:#/ |-+-¯ r;]_~sD FMgfحG<.fOe5.7pJW)3Lu a$c6'x\ŮF&IEq|PyN XU\_nC+1ev&DAl+wRTIbhV(~ysTG[7N܂VUdG[3QN=c**PfO* spD^s̆WRA>N=lb\["zlSQV ]q-G x$6S&6ZUq s(s͙􎣹bJ" :h "bࢶg>_XrsGD2N[2F.A <&#^b +f ^J"ۣbrʺeN2Ad`majY]~^#8 ~W79|כE2FGDK==9 t @lmUи'ޓ1F2]K %D?\?m8dOr'9-NjLb{f: KyE?","@:C|x9"爼*<OQ]2C<s?P#}gk?%q >NϓZ .2+_ef/ m K)9* =N0yJԵNޘQs[t‰%D+춌|J%@-P(!\3Do9l@"Jg0 z $m)m"kPB'O3]>;i$zx.J`I j6ϧ_SD6\R^^<eO#bF֏"`0=kX ]4׳j v=ᗫcA c9%L358 8J' 1Ҕ>?〲|J0q!1W 4;lO^[ pcRGɀI|#[w7υu:'$f Jo{[ @ Q#~j?R-zax)C (POeig΃͇>\߾kϿ-l(XvHGuW@P8yh]~%]X.\"D>r!{G?Ev3Xf'0)lw!9`;=cIӾ&c7tNoB?IDATN@77 *^G:>yE<!R33*Bp>3G[~ox* +QTY!t)."ϧP``XL|2|c]'J%1s bVxFF􂵐O95Å'|!QUjXܿ|K*bmiB,A1a 1 3}$zAAx/;#o@[gڒ LsиO5~PL6%5*1T[X`V 1O!T[]ɐD9Y⋀ >V8ok!*(C_!`:=ՙt;< OzIE|cťn٧:ahq$*41~AE1a@;;{Lis pM+AznH-V b}V*o,V\U(VWNkXs#6;gA-}̾Gp0% pW ?L'XO JvV=c L? v- xΊۼT,ro=>{ hd<_OBX/k92`ؕb0ERa;&#ckp]a~ ~ q}^*FB$fB0]tb:^`ρT Dߗ~sDEX3Y )-p |LSC7m _v܏:!v9M;fO!B__< Jf+6JrCuM6.xNE<<F~_npMi_SI nXҥ"sPB9"δ_"ehi;`K0xw\Z~+^zcbאK*Y;r4h2t%`ѣ迟;_UP3j% ѐKbװfg {u>ot 9Ի^Z]Aܻ<> W tz1)NsTӃĴ>;O'ԤfуMcGT>YsYv:j?NAW'xsɐv!8bK#bo` V ~mM60AkXէ:?>ߐ%3.=?hpVQjt䦫ݐx?߇h+/x.r;1FWQ ~5ϻ:N"OWEQl]lv.$I,Ϸm3Yft=kL t2]]Yi;1g5tݕ dŅ+mO^DR]cϪۙoC""?O э6ڨQլdx}zN4Xjc0Ei=QKM.s"3lI9e=8bu}jLaV2A_?O{"aE?7񿺔MLȝh)(| Ȭ'v9UT#1rE\Nܿ']vqEeku KaO;U!}lWEl>.:w"0E~\>M^wUQaNaգ4qUT4Ϟyu}-OD5ؓDEHG:{8ԉ ]V+AL 6y/¯[KԷ4)\ռg-3؃PBҎMN>_Ru3b'Pg.\,k-Ɏہh5Y9|,?XT;BgDe)]K_U`u&1rYZ뇟( c]OvLAd%h)0x2@WG ~&MvQp |BgR\f/M` J_~?7\ǝ9~{kEKr-u5ٖ1X|+&1Ts$n[= O$0jՑpS%i˗5x|BPn~TTQӗ{$TrRmU2^*6i:/tCQ;X3 ,_dF1r=T>xLp m3hsN{yVgr,u IO9%DMyn.z0Ãqn=D:3w42;8TKl|GoqNS&;Y+'}/X]:/r`9eu f Z{l9]'UTFĆ#C &/L_P^iz9vq`48NsJ~ץ?G/!x-7ÈF̯~zEhIr9 Vʴ@W?cb=7EΫ>O |cйH%"di|V3,?wY;"(xjSg `= o9H~s V@ee |-aBJwލU02 HߕB.L`a;ı+Jy%tDiebǞӫ V,w< :AJ@jh1|vK#*΁~`_ׅj|ϓ ]K@Ag9pQ I/$u94Sbqi9"CAb?c R]d˜y*uItNK{/)7=gpfV4b`eD-] :6 Y:;At2 sGZ8f ߙ 0kr9BdmfXAn5*x\+ Bcp zbYFXQy}yf3Bqr 0'_)] ^JD5k\ցsxh:Gd \bۭ@ n1tfO〚uvϙ"~ѪDy f`W3 w|F LwZk+d}&8Xǰܲ___)Zy&EU72_βlB8SŹ1k$1 Wp1't˥ SCս@ޢwkrD0{3mWtv,F@[-)qn}'EƞFOW籵0ml%V8s >(Ty.uAd ,IyϞm{5|' >w޿ 2Psr޷/va>e; S lOY)$B;zf~8f߳_Þs?}B+ 6 p|쿜sq }~W'+eZo*~i 7^ r/r{a9c2 uԐ\</red;3wzN' g ˀ0{`蹺aLR~ai~VgeP`OFq꼶n#J.st8OoHF~d99{.2抲"bsMgN}v"wEv<>H GldOM^pkjm[8MYF}kk8ά|^T&YӤcN} `9c+J|e|ADF#23_Qa\\oę$zDߑoj0An3#!> oWr[DH%!Jt+1xSqF/3ߓo cFE{a/Jϛ^H do_sg pw2xcGԱw6)&^cu{hPo`D9 ^Xk-[+;G/5W^DF% rr\s,CC9{r΀,sٮg^N ߻Czv 1nJS[=Q4~Dtn}v>Mo} 7l.Hv=gp)0#Jt)v[VXD'xpR T^w$m'~FFBy8z2=we>FW8ܥ¶6cȼN+'U GOE oπFK "o%nENfb.a?rm|>8_1lml v"H?U2+2?7ޮ,Wr+泽ӈj(W4y!Aʍl0N5H_k,l~v}RLJʗ72mKjZ].;Sw9>Y RX=nyT]-9%x@4辥hlÛ#w!a8hf& C~sQ'*%6 g,ye wi,hgzQaU?sڮCY{dSHuP*8GsY$z"&18wA~,#:WzCj җհK [n` ()i/`KmcIĆ0|_$zb/jD(3v^,!֏ 77HPSA{bCdvɈ TP ȼ'XZ [.1[i7AyO =A$z HAuR~IENDB`docs/reference/gdk/html/gdk4-Clipboards.html0000664000175000017500000020122713464200113021102 0ustar mclasenmclasen Clipboards: GDK 4 Reference Manual

Clipboards

Clipboards — Share data between applications for Copy-and-Paste

Properties

GdkContentProvider * content Read
GdkDisplay * display Read / Write / Construct Only
GdkContentFormats * formats Read
gboolean local Read

Signals

void changed Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GdkClipboard

Includes

#include <gdk/gdkwayland.h>

Description

The GdkClipboard object represents a clipboard of data shared between different applications or between different parts of the same application.

To get a GdkClipboard object, use gdk_display_get_clipboard() or gdk_display_get_primary_clipboard(). You can find out about the data that is currently available in a clipboard using gdk_clipboard_get_formats().

To make text or image data available in a clipboard, use gdk_clipboard_set_text() or gdk_clipboard_set_texture(). For other data, you can use gdk_clipboard_set_content(), which takes a GdkContentProvider object.

To read textual or image data from a clipboard, use gdk_clipboard_read_text_async() or gdk_clipboard_read_texture_async(). For other data, use gdk_clipboard_read_async(), which provides a GInputStream object.

Functions

gdk_clipboard_get_display ()

GdkDisplay *
gdk_clipboard_get_display (GdkClipboard *clipboard);

Gets the GdkDisplay that the clipboard was created for.

Parameters

clipboard

a GdkClipboard

 

Returns

a GdkDisplay.

[transfer none]


gdk_clipboard_get_formats ()

GdkContentFormats *
gdk_clipboard_get_formats (GdkClipboard *clipboard);

Gets the formats that the clipboard can provide its current contents in.

Parameters

clipboard

a GdkClipboard

 

Returns

The formats of the clipboard.

[transfer none]


gdk_clipboard_is_local ()

gboolean
gdk_clipboard_is_local (GdkClipboard *clipboard);

Returns if the clipboard is local. A clipboard is considered local if it was last claimed by the running application.

Note that gdk_clipboard_get_content() may return NULL even on a local clipboard. In this case the clipboard is empty.

Parameters

clipboard

a GdkClipboard

 

Returns

TRUE if the clipboard is local


gdk_clipboard_get_content ()

GdkContentProvider *
gdk_clipboard_get_content (GdkClipboard *clipboard);

Returns the GdkContentProvider currently set on clipboard . If the clipboard is empty or its contents are not owned by the current process, NULL will be returned.

Parameters

clipboard

a GdkClipboard

 

Returns

The content of a clipboard or NULL if the clipboard does not maintain any content.

[transfer none][nullable]


gdk_clipboard_store_async ()

void
gdk_clipboard_store_async (GdkClipboard *clipboard,
                           int io_priority,
                           GCancellable *cancellable,
                           GAsyncReadyCallback callback,
                           gpointer user_data);

Asynchronously instructs the clipboard to store its contents remotely to preserve them for later usage. If the clipboard is not local, this function does nothing but report success.

This function is called automatically when gtk_main() or GtkApplication exit, so you likely don't need to call it.

Parameters

clipboard

a GdkClipboard

 

io_priority

the I/O priority of the request.

 

cancellable

optional GCancellable object, NULL to ignore.

[nullable]

callback

callback to call when the request is satisfied.

[scope async]

user_data

the data to pass to callback function.

[closure]

gdk_clipboard_store_finish ()

gboolean
gdk_clipboard_store_finish (GdkClipboard *clipboard,
                            GAsyncResult *result,
                            GError **error);

Finishes an asynchronous clipboard store started with gdk_clipboard_store_async().

Parameters

clipboard

a GdkClipboard

 

result

a GAsyncResult

 

error

a GError location to store the error occurring, or NULL to ignore.

 

Returns

TRUE if storing was successful.


gdk_clipboard_read_async ()

void
gdk_clipboard_read_async (GdkClipboard *clipboard,
                          const char **mime_types,
                          int io_priority,
                          GCancellable *cancellable,
                          GAsyncReadyCallback callback,
                          gpointer user_data);

Asynchronously requests an input stream to read the clipboard 's contents from. When the operation is finished callback will be called. You can then call gdk_clipboard_read_finish() to get the result of the operation.

The clipboard will choose the most suitable mime type from the given list to fulfill the request, preferring the ones listed first.

Parameters

clipboard

a GdkClipboard

 

mime_types

a NULL-terminated array of mime types to choose from

 

io_priority

the I/O priority of the request.

 

cancellable

optional GCancellable object, NULL to ignore.

[nullable]

callback

callback to call when the request is satisfied.

[scope async]

user_data

the data to pass to callback function.

[closure]

gdk_clipboard_read_finish ()

GInputStream *
gdk_clipboard_read_finish (GdkClipboard *clipboard,
                           GAsyncResult *result,
                           const char **out_mime_type,
                           GError **error);

Finishes an asynchronous clipboard read started with gdk_clipboard_read_async().

Parameters

clipboard

a GdkClipboard

 

result

a GAsyncResult

 

out_mime_type

pointer to store the chosen mime type in or NULL.

[out][allow-none][transfer none]

error

a GError location to store the error occurring, or NULL to ignore.

 

Returns

a GInputStream or NULL on error.

[transfer full]


gdk_clipboard_read_value_async ()

void
gdk_clipboard_read_value_async (GdkClipboard *clipboard,
                                GType type,
                                int io_priority,
                                GCancellable *cancellable,
                                GAsyncReadyCallback callback,
                                gpointer user_data);

Asynchronously request the clipboard contents converted to the given type . When the operation is finished callback will be called. You can then call gdk_clipboard_read_value_finish() to get the resulting GValue.

For local clipboard contents that are available in the given GType, the value will be copied directly. Otherwise, GDK will try to use gdk_content_deserialize_async() to convert the clipboard's data.

Parameters

clipboard

a GdkClipboard

 

type

a GType to read

 

io_priority

the I/O priority of the request.

 

cancellable

optional GCancellable object, NULL to ignore.

[nullable]

callback

callback to call when the request is satisfied.

[scope async]

user_data

the data to pass to callback function.

[closure]

gdk_clipboard_read_value_finish ()

const GValue *
gdk_clipboard_read_value_finish (GdkClipboard *clipboard,
                                 GAsyncResult *result,
                                 GError **error);

Finishes an asynchronous clipboard read started with gdk_clipboard_read_value_async().

Parameters

clipboard

a GdkClipboard

 

result

a GAsyncResult

 

error

a GError location to store the error occurring, or NULL to ignore.

 

Returns

a GValue containing the result.

[transfer none]


gdk_clipboard_read_texture_async ()

void
gdk_clipboard_read_texture_async (GdkClipboard *clipboard,
                                  GCancellable *cancellable,
                                  GAsyncReadyCallback callback,
                                  gpointer user_data);

Asynchronously request the clipboard contents converted to a GdkPixbuf. When the operation is finished callback will be called. You can then call gdk_clipboard_read_texture_finish() to get the result.

This is a simple wrapper around gdk_clipboard_read_value_async(). Use that function or gdk_clipboard_read_async() directly if you need more control over the operation.

Parameters

clipboard

a GdkClipboard

 

cancellable

optional GCancellable object, NULL to ignore.

[nullable]

callback

callback to call when the request is satisfied.

[scope async]

user_data

the data to pass to callback function.

[closure]

gdk_clipboard_read_texture_finish ()

GdkTexture *
gdk_clipboard_read_texture_finish (GdkClipboard *clipboard,
                                   GAsyncResult *result,
                                   GError **error);

Finishes an asynchronous clipboard read started with gdk_clipboard_read_texture_async().

Parameters

clipboard

a GdkClipboard

 

result

a GAsyncResult

 

error

a GError location to store the error occurring, or NULL to ignore.

 

Returns

a new GdkTexture or NULL on error.

[transfer full][nullable]


gdk_clipboard_read_text_async ()

void
gdk_clipboard_read_text_async (GdkClipboard *clipboard,
                               GCancellable *cancellable,
                               GAsyncReadyCallback callback,
                               gpointer user_data);

Asynchronously request the clipboard contents converted to a string. When the operation is finished callback will be called. You can then call gdk_clipboard_read_text_finish() to get the result.

This is a simple wrapper around gdk_clipboard_read_value_async(). Use that function or gdk_clipboard_read_async() directly if you need more control over the operation.

Parameters

clipboard

a GdkClipboard

 

cancellable

optional GCancellable object, NULL to ignore.

[nullable]

callback

callback to call when the request is satisfied.

[scope async]

user_data

the data to pass to callback function.

[closure]

gdk_clipboard_read_text_finish ()

char *
gdk_clipboard_read_text_finish (GdkClipboard *clipboard,
                                GAsyncResult *result,
                                GError **error);

Finishes an asynchronous clipboard read started with gdk_clipboard_read_text_async().

Parameters

clipboard

a GdkClipboard

 

result

a GAsyncResult

 

error

a GError location to store the error occurring, or NULL to ignore.

 

Returns

a new string or NULL on error.

[transfer full][nullable]


gdk_clipboard_set_content ()

gboolean
gdk_clipboard_set_content (GdkClipboard *clipboard,
                           GdkContentProvider *provider);

Sets a new content provider on clipboard . The clipboard will claim the GdkDisplay's resources and advertise these new contents to other applications.

In the rare case of a failure, this function will return FALSE. The clipboard will then continue reporting its old contents and ignore provider .

If the contents are read by either an external application or the clipboard 's read functions, clipboard will select the best format to transfer the contents and then request that format from provider .

Parameters

clipboard

a GdkClipboard

 

provider

the new contents of clipboard or NULL to clear the clipboard.

[transfer none][allow-none]

Returns

TRUE if setting the clipboard succeeded


gdk_clipboard_set ()

void
gdk_clipboard_set (GdkClipboard *clipboard,
                   GType type,
                   ...);

Sets the clipboard to contain the value collected from the given varargs.

Parameters

clipboard

a GdkClipboard

 

type

type of value to set

 

...

value contents conforming to type

 

gdk_clipboard_set_valist ()

void
gdk_clipboard_set_valist (GdkClipboard *clipboard,
                          GType type,
                          va_list args);

Sets the clipboard to contain the value collected from the given args .

[skip]

Parameters

clipboard

a GdkClipboard

 

type

type of value to set

 

args

varargs containing the value of type

 

gdk_clipboard_set_value ()

void
gdk_clipboard_set_value (GdkClipboard *clipboard,
                         const GValue *value);

Sets the clipboard to contain the given value .

[rename-to gdk_clipboard_set]

Parameters

clipboard

a GdkClipboard

 

value

a GValue to set

 

gdk_clipboard_set_text ()

void
gdk_clipboard_set_text (GdkClipboard *clipboard,
                        const char *text);

Puts the given text into the clipboard.

[skip]

Parameters

clipboard

a GdkClipboard

 

text

Text to put into the clipboard

 

gdk_clipboard_set_texture ()

void
gdk_clipboard_set_texture (GdkClipboard *clipboard,
                           GdkTexture *texture);

Puts the given texture into the clipboard.

[skip]

Parameters

clipboard

a GdkClipboard

 

texture

a GdkTexture to put into the clipboard

 

Types and Values

GdkClipboard

typedef struct _GdkClipboard GdkClipboard;

The GdkClipboard struct contains only private fields and should not be accessed directly.

Property Details

The “content” property

  “content”                  GdkContentProvider *

The GdkContentProvider or NULL if the clipboard is empty or contents are provided otherwise.

Flags: Read


The “display” property

  “display”                  GdkDisplay *

The GdkDisplay that the clipboard belongs to.

Flags: Read / Write / Construct Only


The “formats” property

  “formats”                  GdkContentFormats *

The possible formats that the clipboard can provide its data in.

Flags: Read


The “local” property

  “local”                    gboolean

TRUE if the contents of the clipboard are owned by this process.

Flags: Read

Default value: TRUE

Signal Details

The “changed” signal

void
user_function (GdkClipboard *clipboard,
               gpointer      user_data)

The ::changed signal is emitted when the clipboard changes ownership.

Parameters

clipboard

the object on which the signal was emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gdk/html/gdk4-GdkFrameTimings.html0000664000175000017500000005142413464200113022035 0ustar mclasenmclasen Frame timings: GDK 4 Reference Manual

Frame timings

Frame timings — Object holding timing information for a single frame

Types and Values

Includes

#include <gdk/gdkwayland.h>

Description

A GdkFrameTimings object holds timing information for a single frame of the application’s displays. To retrieve GdkFrameTimings objects, use gdk_frame_clock_get_timings() or gdk_frame_clock_get_current_timings(). The information in GdkFrameTimings is useful for precise synchronization of video with the event or audio streams, and for measuring quality metrics for the application’s display, such as latency and jitter.

Functions

gdk_frame_timings_ref ()

GdkFrameTimings *
gdk_frame_timings_ref (GdkFrameTimings *timings);

Increases the reference count of timings .

Parameters

timings

a GdkFrameTimings

 

Returns

timings


gdk_frame_timings_unref ()

void
gdk_frame_timings_unref (GdkFrameTimings *timings);

Decreases the reference count of timings . If timings is no longer referenced, it will be freed.

Parameters

timings

a GdkFrameTimings

 

gdk_frame_timings_get_frame_counter ()

gint64
gdk_frame_timings_get_frame_counter (GdkFrameTimings *timings);

Gets the frame counter value of the GdkFrameClock when this this frame was drawn.

Parameters

timings

a GdkFrameTimings

 

Returns

the frame counter value for this frame


gdk_frame_timings_get_complete ()

gboolean
gdk_frame_timings_get_complete (GdkFrameTimings *timings);

The timing information in a GdkFrameTimings is filled in incrementally as the frame as drawn and passed off to the window system for processing and display to the user. The accessor functions for GdkFrameTimings can return 0 to indicate an unavailable value for two reasons: either because the information is not yet available, or because it isn't available at all. Once gdk_frame_timings_get_complete() returns TRUE for a frame, you can be certain that no further values will become available and be stored in the GdkFrameTimings.

Parameters

timings

a GdkFrameTimings

 

Returns

TRUE if all information that will be available for the frame has been filled in.


gdk_frame_timings_get_frame_time ()

gint64
gdk_frame_timings_get_frame_time (GdkFrameTimings *timings);

Returns the frame time for the frame. This is the time value that is typically used to time animations for the frame. See gdk_frame_clock_get_frame_time().

Parameters

timings

A GdkFrameTimings

 

Returns

the frame time for the frame, in the timescale of g_get_monotonic_time()


gdk_frame_timings_get_presentation_time ()

gint64
gdk_frame_timings_get_presentation_time
                               (GdkFrameTimings *timings);

Reurns the presentation time. This is the time at which the frame became visible to the user.

Parameters

timings

a GdkFrameTimings

 

Returns

the time the frame was displayed to the user, in the timescale of g_get_monotonic_time(), or 0 if no presentation time is available. See gdk_frame_timings_get_complete()


gdk_frame_timings_get_refresh_interval ()

gint64
gdk_frame_timings_get_refresh_interval
                               (GdkFrameTimings *timings);

Gets the natural interval between presentation times for the display that this frame was displayed on. Frame presentation usually happens during the “vertical blanking interval”.

Parameters

timings

a GdkFrameTimings

 

Returns

the refresh interval of the display, in microseconds, or 0 if the refresh interval is not available. See gdk_frame_timings_get_complete().


gdk_frame_timings_get_predicted_presentation_time ()

gint64
gdk_frame_timings_get_predicted_presentation_time
                               (GdkFrameTimings *timings);

Gets the predicted time at which this frame will be displayed. Although no predicted time may be available, if one is available, it will be available while the frame is being generated, in contrast to gdk_frame_timings_get_presentation_time(), which is only available after the frame has been presented. In general, if you are simply animating, you should use gdk_frame_clock_get_frame_time() rather than this function, but this function is useful for applications that want exact control over latency. For example, a movie player may want this information for Audio/Video synchronization.

Parameters

timings

a GdkFrameTimings

 

Returns

The predicted time at which the frame will be presented, in the timescale of g_get_monotonic_time(), or 0 if no predicted presentation time is available.

Types and Values

GdkFrameTimings

typedef struct _GdkFrameTimings GdkFrameTimings;

The GdkFrameTimings struct contains only private fields and should not be accessed directly.

docs/reference/gdk/html/style.css0000644000175000017500000002122413464200112017147 0ustar mclasenmclasenbody { font-family: cantarell, sans-serif; } .synopsis, .classsynopsis { /* tango:aluminium 1/2 */ background: #eeeeec; background: rgba(238, 238, 236, 0.5); border: solid 1px rgb(238, 238, 236); padding: 0.5em; } .programlisting { /* tango:sky blue 0/1 */ /* fallback for no rgba support */ background: #e6f3ff; border: solid 1px #729fcf; background: rgba(114, 159, 207, 0.1); border: solid 1px rgba(114, 159, 207, 0.2); padding: 0.5em; } .variablelist { padding: 4px; margin-left: 3em; } .variablelist td:first-child { vertical-align: top; } span.nowrap { white-space: nowrap; } div.gallery-float { float: left; padding: 10px; } div.gallery-float img { border-style: none; } div.gallery-spacer { clear: both; } a, a:visited { text-decoration: none; /* tango:sky blue 2 */ color: #3465a4; } a:hover { text-decoration: underline; /* tango:sky blue 1 */ color: #729fcf; } div.informaltable table { border-collapse: separate; border-spacing: 1em 0.3em; border: none; } div.informaltable table td, div.informaltable table th { vertical-align: top; } .function_type, .variable_type, .property_type, .signal_type, .parameter_name, .struct_member_name, .union_member_name, .define_keyword, .datatype_keyword, .typedef_keyword { text-align: right; } /* dim non-primary columns */ .c_punctuation, .function_type, .variable_type, .property_type, .signal_type, .define_keyword, .datatype_keyword, .typedef_keyword, .property_flags, .signal_flags, .parameter_annotations, .enum_member_annotations, .struct_member_annotations, .union_member_annotations { color: #888a85; } .function_type a, .function_type a:visited, .function_type a:hover, .property_type a, .property_type a:visited, .property_type a:hover, .signal_type a, .signal_type a:visited, .signal_type a:hover, .signal_flags a, .signal_flags a:visited, .signal_flags a:hover { color: #729fcf; } td p { margin: 0.25em; } div.table table { border-collapse: collapse; border-spacing: 0px; /* tango:aluminium 3 */ border: solid 1px #babdb6; } div.table table td, div.table table th { /* tango:aluminium 3 */ border: solid 1px #babdb6; padding: 3px; vertical-align: top; } div.table table th { /* tango:aluminium 2 */ background-color: #d3d7cf; } h4 { color: #555753; margin-top: 1em; margin-bottom: 1em; } hr { /* tango:aluminium 1 */ color: #d3d7cf; background: #d3d7cf; border: none 0px; height: 1px; clear: both; margin: 2.0em 0em 2.0em 0em; } dl.toc dt { padding-bottom: 0.25em; } dl.toc > dt { padding-top: 0.25em; padding-bottom: 0.25em; font-weight: bold; } dl.toc > dl { padding-bottom: 0.5em; } .parameter { font-style: normal; } .footer { padding-top: 3.5em; /* tango:aluminium 3 */ color: #babdb6; text-align: center; font-size: 80%; } .informalfigure, .figure { margin: 1em; } .informalexample, .example { margin-top: 1em; margin-bottom: 1em; } .warning { /* tango:orange 0/1 */ background: #ffeed9; background: rgba(252, 175, 62, 0.1); border-color: #ffb04f; border-color: rgba(252, 175, 62, 0.2); } .note { /* tango:chameleon 0/0.5 */ background: #d8ffb2; background: rgba(138, 226, 52, 0.1); border-color: #abf562; border-color: rgba(138, 226, 52, 0.2); } div.blockquote { border-color: #eeeeec; } .note, .warning, div.blockquote { padding: 0.5em; border-width: 1px; border-style: solid; margin: 2em; } .note p, .warning p { margin: 0; } div.warning h3.title, div.note h3.title { display: none; } p + div.section { margin-top: 1em; } div.refnamediv, div.refsynopsisdiv, div.refsect1, div.refsect2, div.toc, div.section { margin-bottom: 1em; } /* blob links */ h2 .extralinks, h3 .extralinks { float: right; /* tango:aluminium 3 */ color: #babdb6; font-size: 80%; font-weight: normal; } .lineart { color: #d3d7cf; font-weight: normal; } .annotation { /* tango:aluminium 5 */ color: #555753; font-weight: normal; } .structfield { font-style: normal; font-weight: normal; } acronym,abbr { border-bottom: 1px dotted gray; } /* code listings */ .listing_code .programlisting .normal, .listing_code .programlisting .normal a, .listing_code .programlisting .number, .listing_code .programlisting .cbracket, .listing_code .programlisting .symbol { color: #555753; } .listing_code .programlisting .comment, .listing_code .programlisting .linenum { color: #babdb6; } /* tango: aluminium 3 */ .listing_code .programlisting .function, .listing_code .programlisting .function a, .listing_code .programlisting .preproc { color: #204a87; } /* tango: sky blue 3 */ .listing_code .programlisting .string { color: #ad7fa8; } /* tango: plum */ .listing_code .programlisting .keyword, .listing_code .programlisting .usertype, .listing_code .programlisting .type, .listing_code .programlisting .type a { color: #4e9a06; } /* tango: chameleon 3 */ .listing_frame { /* tango:sky blue 1 */ border: solid 1px #729fcf; border: solid 1px rgba(114, 159, 207, 0.2); padding: 0px; } .listing_lines, .listing_code { margin-top: 0px; margin-bottom: 0px; padding: 0.5em; } .listing_lines { /* tango:sky blue 0.5 */ background: #a6c5e3; background: rgba(114, 159, 207, 0.2); /* tango:aluminium 6 */ color: #2e3436; } .listing_code { /* tango:sky blue 0 */ background: #e6f3ff; background: rgba(114, 159, 207, 0.1); } .listing_code .programlisting { /* override from previous */ border: none 0px; padding: 0px; background: none; } .listing_lines pre, .listing_code pre { margin: 0px; } @media screen { /* these have a as a first child, but since there are no parent selectors * we can't use that. */ a.footnote { position: relative; top: 0em ! important; } /* this is needed so that the local anchors are displayed below the naviagtion */ div.footnote a[name], div.refnamediv a[name], div.refsect1 a[name], div.refsect2 a[name], div.index a[name], div.glossary a[name], div.sect1 a[name] { display: inline-block; position: relative; top:-5em; } /* this seems to be a bug in the xsl style sheets when generating indexes */ div.index div.index { top: 0em; } /* make space for the fixed navigation bar and add space at the bottom so that * link targets appear somewhat close to top */ body { padding-top: 2.5em; padding-bottom: 500px; max-width: 60em; } p { max-width: 60em; } /* style and size the navigation bar */ table.navigation#top { position: fixed; background: #e2e2e2; border-bottom: solid 1px #babdb6; border-spacing: 5px; margin-top: 0; margin-bottom: 0; top: 0; left: 0; z-index: 10; } table.navigation#top td { padding-left: 6px; padding-right: 6px; } .navigation a, .navigation a:visited { /* tango:sky blue 3 */ color: #204a87; } .navigation a:hover { /* tango:sky blue 2 */ color: #3465a4; } td.shortcuts { /* tango:sky blue 2 */ color: #3465a4; font-size: 80%; white-space: nowrap; } td.shortcuts .dim { color: #babdb6; } .navigation .title { font-size: 80%; max-width: none; margin: 0px; font-weight: normal; } } @media screen and (min-width: 60em) { /* screen larger than 60em */ body { margin: auto; } } @media screen and (max-width: 60em) { /* screen less than 60em */ #nav_hierarchy { display: none; } #nav_interfaces { display: none; } #nav_prerequisites { display: none; } #nav_derived_interfaces { display: none; } #nav_implementations { display: none; } #nav_child_properties { display: none; } #nav_style_properties { display: none; } #nav_index { display: none; } #nav_glossary { display: none; } .gallery_image { display: none; } .property_flags { display: none; } .signal_flags { display: none; } .parameter_annotations { display: none; } .enum_member_annotations { display: none; } .struct_member_annotations { display: none; } .union_member_annotations { display: none; } /* now that a column is hidden, optimize space */ col.parameters_name { width: auto; } col.parameters_description { width: auto; } col.struct_members_name { width: auto; } col.struct_members_description { width: auto; } col.enum_members_name { width: auto; } col.enum_members_description { width: auto; } col.union_members_name { width: auto; } col.union_members_description { width: auto; } .listing_lines { display: none; } } @media print { table.navigation { visibility: collapse; display: none; } div.titlepage table.navigation { visibility: visible; display: table; background: #e2e2e2; border: solid 1px #babdb6; margin-top: 0; margin-bottom: 0; top: 0; left: 0; height: 3em; } } docs/reference/gdk/html/reference.html0000664000175000017500000001617613464200114020137 0ustar mclasenmclasen API Reference: GDK 4 Reference Manual

API Reference


Table of Contents

General — Library initialization and miscellaneous functions
GdkDisplayManager — Maintains a list of all open GdkDisplays
GdkDisplay — Controls a set of monitors and their associated input devices
GdkSeat — Object representing an user seat
GdkDevice — Object representing an input device
GtkDevicePad — Pad device interface
GdkMonitor — Object representing an output
Points and Rectangles — Simple graphical data types
GdkTexture — Pixel data
GdkPaintable — An interface for a paintable region
RGBA Colors — RGBA colors
Cursors — Named and texture cursors
Surfaces — Onscreen display areas in the target window system
Frame clock — Frame clock syncs painting to a window or display
Frame timings — Object holding timing information for a single frame
GdkDrawContext — Base class for draw contexts
GdkGLContext — OpenGL draw context
GdkVulkanContext — Vulkan draw context
Events — Functions for handling events from the window system
Key Values — Functions for manipulating keyboard codes
Clipboards — Share data between applications for Copy-and-Paste
Drag And Drop — Functions for controlling drag and drop handling
Content Formats — Advertising and negotiating of content exchange formats
GdkContentProvider — Provides content for data transfer between applications
GdkContentSerializer — Serialize content for transfer
GdkContentDeserializer — Deserialize content for transfer
Properties and Atoms — Functions to manipulate properties on windows
Application launching — Startup notification for applications
GdkPixbuf Interaction — Functions for obtaining pixbufs
Pango Interaction — Using Pango in GDK
Cairo Interaction — Functions to support using cairo
X Window System Interaction — X backend-specific functions
Wayland Interaction — Wayland backend-specific functions
docs/reference/gdk/html/up.png0000644000175000017500000000040413464200112016424 0ustar mclasenmclasenPNG  IHDRabKGD pHYs B(xtIME IDAT81 @D{xa;$]r =JR1, Sd-}0̟oL:m-QO[ k TzMޠL,:ךu!tK; Pp Ot@l/̵*l}IENDB`docs/reference/gdk/html/GdkContentDeserializer.html0000664000175000017500000010745213464200113022601 0ustar mclasenmclasen GdkContentDeserializer: GDK 4 Reference Manual

GdkContentDeserializer

GdkContentDeserializer — Deserialize content for transfer

Types and Values

Object Hierarchy

    GObject
    ╰── GdkContentDeserializer

Implemented Interfaces

GdkContentDeserializer implements GAsyncResult.

Includes

#include <gdk/gdkwayland.h>

Description

A GdkContentDeserializer is used to deserialize content received via inter-application data transfers.

Functions

GdkContentDeserializeFunc ()

void
(*GdkContentDeserializeFunc) (GdkContentDeserializer *deserializer);

The type of a function that can be registered with gdk_content_register_deserializer(). When the function gets called to operate on content, it can call functions on the deserializer object to obtain the mime type, input stream, user data, etc. for its operation.

Parameters

deserializer

a GdkContentDeserializer

 

gdk_content_deserializer_get_mime_type ()

const char *
gdk_content_deserializer_get_mime_type
                               (GdkContentDeserializer *deserializer);

Gets the mime type to deserialize from.

Parameters

deserializer

a GdkContentDeserializer

 

Returns

the mime type for the current operation.

[transfer none]


gdk_content_deserializer_get_gtype ()

GType
gdk_content_deserializer_get_gtype (GdkContentDeserializer *deserializer);

Gets the GType to create an instance of.

Parameters

deserializer

a GdkContentDeserializer

 

Returns

the GType for the current operation


gdk_content_deserializer_get_value ()

GValue *
gdk_content_deserializer_get_value (GdkContentDeserializer *deserializer);

Gets the GValue to store the deserialized object in.

Parameters

deserializer

a GdkContentDeserializer

 

Returns

the GValue for the current operation.

[transfer none]


gdk_content_deserializer_get_input_stream ()

GInputStream *
gdk_content_deserializer_get_input_stream
                               (GdkContentDeserializer *deserializer);

Gets the input stream that was passed to gdk_content_deserialize_async().

Parameters

deserializer

a GdkContentDeserializer

 

Returns

the input stream for the current operation.

[transfer none]


gdk_content_deserializer_get_priority ()

int
gdk_content_deserializer_get_priority (GdkContentDeserializer *deserializer);

Gets the io priority that was passed to gdk_content_deserialize_async().

Parameters

deserializer

a GdkContentDeserializer

 

Returns

the io priority for the current operation


gdk_content_deserializer_get_cancellable ()

GCancellable *
gdk_content_deserializer_get_cancellable
                               (GdkContentDeserializer *deserializer);

Gets the cancellable that was passed to gdk_content_deserialize_async().

Parameters

deserializer

a GdkContentDeserializer

 

Returns

the cancellable for the current operation.

[transfer none]


gdk_content_deserializer_get_user_data ()

gpointer
gdk_content_deserializer_get_user_data
                               (GdkContentDeserializer *deserializer);

Gets the user data that was passed when the deserializer was registered.

Parameters

deserializer

a GdkContentDeserializer

 

Returns

the user data for this deserializer.

[transfer none]


gdk_content_deserializer_set_task_data ()

void
gdk_content_deserializer_set_task_data
                               (GdkContentDeserializer *deserializer,
                                gpointer data,
                                GDestroyNotify notify);

Associate data with the current deserialization operation.

Parameters

deserializer

a GdkContentDeserializer

 

data

data to associate with this operation

 

notify

destroy notify for data

 

gdk_content_deserializer_get_task_data ()

gpointer
gdk_content_deserializer_get_task_data
                               (GdkContentDeserializer *deserializer);

Gets the data that was associated with deserializer via gdk_content_deserializer_set_task_data().

Parameters

deserializer

a GdkContentDeserializer

 

Returns

the task data for deserializer .

[transfer none]


gdk_content_deserializer_return_success ()

void
gdk_content_deserializer_return_success
                               (GdkContentDeserializer *deserializer);

Indicate that the deserialization has been successfully completed.

Parameters

deserializer

a GdkContentDeserializer

 

gdk_content_deserializer_return_error ()

void
gdk_content_deserializer_return_error (GdkContentDeserializer *deserializer,
                                       GError *error);

Indicate that the deserialization has ended with an error. This function consumes error .

Parameters

deserializer

a GdkContentDeserializer

 

error

a GError

 

gdk_content_register_deserializer ()

void
gdk_content_register_deserializer (const char *mime_type,
                                   GType type,
                                   GdkContentDeserializeFunc deserialize,
                                   gpointer data,
                                   GDestroyNotify notify);

Registers a function to create objects of a given type from a serialized representation with the given mime type.

Parameters

mime_type

the mime type which the function can deserialize from

 

type

the type of objects that the function creates

 

deserialize

the callback

 

data

data that deserialize can access

 

notify

destroy notify for data

 

gdk_content_deserialize_async ()

void
gdk_content_deserialize_async (GInputStream *stream,
                               const char *mime_type,
                               GType type,
                               int io_priority,
                               GCancellable *cancellable,
                               GAsyncReadyCallback callback,
                               gpointer user_data);

Read content from the given input stream and deserialize it, asynchronously. When the operation is finished, callback will be called. You can then call gdk_content_deserialize_finish() to get the result of the operation.

Parameters

stream

a GInputStream to read the serialized content from

 

mime_type

the mime type to deserialize from

 

type

the GType to deserialize from

 

io_priority

the io priority of the operation

 

cancellable

optional GCancellable object.

[nullable]

callback

callback to call when the operation is done.

[scope async]

user_data

data to pass to the callback function.

[closure]

gdk_content_deserialize_finish ()

gboolean
gdk_content_deserialize_finish (GAsyncResult *result,
                                GValue *value,
                                GError **error);

Finishes a content deserialization operation.

Parameters

result

the GAsyncResult

 

value

return location for the result of the operation

 

error

return location for an error

 

Returns

TRUE if the operation was successful. In this case, value is set. FALSE if an error occurred. In this case, error is set

Types and Values

GdkContentDeserializer

typedef struct _GdkContentDeserializer GdkContentDeserializer;

Should not be accessed directly.

docs/reference/gdk/html/gdk4-Properties-and-Atoms.html0000664000175000017500000002454413464200114023003 0ustar mclasenmclasen Properties and Atoms: GDK 4 Reference Manual

Properties and Atoms

Properties and Atoms — Functions to manipulate properties on windows

Types and Values

  GdkAtom

Includes

#include <gdk/gdk.h>

Description

Each window under X can have any number of associated “properties” attached to it. Properties are arbitrary chunks of data identified by “atom”s. (An “atom” is a numeric index into a string table on the X server. They are used to transfer strings efficiently between clients without having to transfer the entire string.) A property has an associated type, which is also identified using an atom.

A property has an associated “format”, an integer describing how many bits are in each unit of data inside the property. It must be 8, 16, or 32. When data is transferred between the server and client, if they are of different endianesses it will be byteswapped as necessary according to the format of the property. Note that on the client side, properties of format 32 will be stored with one unit per long, even if a long integer has more than 32 bits on the platform. (This decision was apparently made for Xlib to maintain compatibility with programs that assumed longs were 32 bits, at the expense of programs that knew better.)

The functions in this section are used to add, remove and change properties on windows, to convert atoms to and from strings and to manipulate some types of data commonly stored in X window properties.

Functions

gdk_text_property_to_utf8_list_for_display ()

gint
gdk_text_property_to_utf8_list_for_display
                               (GdkDisplay *display,
                                GdkAtom encoding,
                                gint format,
                                const guchar *text,
                                gint length,
                                gchar ***list);

Converts a text property in the given encoding to a list of UTF-8 strings.

Parameters

display

a GdkDisplay

 

encoding

an atom representing the encoding of the text

 

format

the format of the property

 

text

the text to convert.

[array length=length]

length

the length of text , in bytes

 

list

location to store the list of strings or NULL. The list should be freed with g_strfreev().

[out][array zero-terminated=1]

Returns

the number of strings in the resulting list


gdk_utf8_to_string_target ()

gchar *
gdk_utf8_to_string_target (const gchar *str);

Converts an UTF-8 string into the best possible representation as a STRING. The representation of characters not in STRING is not specified; it may be as pseudo-escape sequences \x{ABCD}, or it may be in some other form of approximation.

Parameters

str

a UTF-8 string

 

Returns

the newly-allocated string, or NULL if the conversion failed. (It should not fail for any properly formed UTF-8 string unless system limits like memory or file descriptors are exceeded.).

[nullable]

Types and Values

GdkAtom

typedef struct _GdkAtom GdkAtom;

An opaque type representing a string as an index into a table of strings on the X server.

docs/reference/gdk/html/gdk4-Events.html0000664000175000017500000043057213464200113020273 0ustar mclasenmclasen Events: GDK 4 Reference Manual

Events

Events — Functions for handling events from the window system

Functions

GdkEvent * gdk_event_new ()
GdkEvent * gdk_event_copy ()
gboolean gdk_event_get_axes ()
gboolean gdk_event_get_axis ()
gboolean gdk_event_get_button ()
gboolean gdk_event_get_click_count ()
gboolean gdk_event_get_coords ()
gboolean gdk_event_get_keycode ()
gboolean gdk_event_get_keyval ()
gboolean gdk_event_get_root_coords ()
gboolean gdk_event_get_scroll_direction ()
gboolean gdk_event_get_scroll_deltas ()
gboolean gdk_event_is_scroll_stop_event ()
gboolean gdk_event_get_state ()
guint32 gdk_event_get_time ()
GdkSurface * gdk_event_get_surface ()
GdkEventType gdk_event_get_event_type ()
GdkEventSequence * gdk_event_get_event_sequence ()
gboolean gdk_events_get_angle ()
gboolean gdk_events_get_center ()
gboolean gdk_events_get_distance ()
gboolean gdk_event_triggers_context_menu ()
GdkSeat * gdk_event_get_seat ()
int gdk_event_get_scancode ()
gboolean gdk_event_get_pointer_emulated ()
gboolean gdk_event_get_crossing_detail ()
gboolean gdk_event_get_crossing_mode ()
GdkDrop * gdk_event_get_drop ()
gboolean gdk_event_get_focus_in ()
gboolean gdk_event_get_grab_surface ()
GList * gdk_event_get_motion_history ()
gboolean gdk_event_get_key_group ()
gboolean gdk_event_get_key_is_modifier ()
gboolean gdk_event_get_pad_axis_value ()
gboolean gdk_event_get_pad_button ()
gboolean gdk_event_get_pad_group_mode ()
gboolean gdk_event_get_touch_emulating_pointer ()
gboolean gdk_event_get_touchpad_angle_delta ()
gboolean gdk_event_get_touchpad_deltas ()
gboolean gdk_event_get_touchpad_gesture_n_fingers ()
gboolean gdk_event_get_touchpad_gesture_phase ()
gboolean gdk_event_get_touchpad_scale ()
gboolean gdk_event_is_sent ()
gboolean gdk_get_show_events ()
void gdk_set_show_events ()
void gdk_event_set_display ()
GdkDisplay * gdk_event_get_display ()
GdkDevice * gdk_event_get_device ()
void gdk_event_set_device ()
GdkDevice * gdk_event_get_source_device ()
void gdk_event_set_source_device ()
GdkDeviceTool * gdk_event_get_device_tool ()
void gdk_event_set_device_tool ()

Properties

GdkEventType event-type Read / Write / Construct Only

Object Hierarchy

    GObject
    ╰── GdkEvent

Includes

#include <gdk/gdk.h>

Description

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.

Functions

gdk_event_new ()

GdkEvent *
gdk_event_new (GdkEventType type);

Creates a new event of the given type. All fields are set to 0.

Parameters

type

a GdkEventType

 

Returns

a newly-allocated GdkEvent. Free with g_object_unref()


gdk_event_copy ()

GdkEvent *
gdk_event_copy (const GdkEvent *event);

Copies a GdkEvent, copying or incrementing the reference count of the resources associated with it (e.g. GdkSurface’s and strings).

Parameters

event

a GdkEvent

 

Returns

a copy of event . Free with g_object_unref().

[transfer full]


gdk_event_get_axes ()

gboolean
gdk_event_get_axes (GdkEvent *event,
                    gdouble **axes,
                    guint *n_axes);

Extracts all axis values from an event.

Parameters

event

a GdkEvent

 

axes

the array of values for all axes.

[transfer none][out][array length=n_axes]

n_axes

the length of array.

[out]

Returns

TRUE on success, otherwise FALSE


gdk_event_get_axis ()

gboolean
gdk_event_get_axis (const GdkEvent *event,
                    GdkAxisUse axis_use,
                    gdouble *value);

Extract the axis value for a particular axis use from an event structure.

Parameters

event

a GdkEvent

 

axis_use

the axis use to look for

 

value

location to store the value found.

[out]

Returns

TRUE if the specified axis was found, otherwise FALSE


gdk_event_get_button ()

gboolean
gdk_event_get_button (const GdkEvent *event,
                      guint *button);

Extract the button number from an event.

Parameters

event

a GdkEvent

 

button

location to store mouse button number.

[out]

Returns

TRUE if the event delivered a button number


gdk_event_get_click_count ()

gboolean
gdk_event_get_click_count (const GdkEvent *event,
                           guint *click_count);

Extracts the click count from an event.

Parameters

event

a GdkEvent

 

click_count

location to store click count.

[out]

Returns

TRUE if the event delivered a click count


gdk_event_get_coords ()

gboolean
gdk_event_get_coords (const GdkEvent *event,
                      gdouble *x_win,
                      gdouble *y_win);

Extract the event surface relative x/y coordinates from an event.

Parameters

event

a GdkEvent

 

x_win

location to put event surface x coordinate.

[out][optional]

y_win

location to put event surface y coordinate.

[out][optional]

Returns

TRUE if the event delivered event surface coordinates


gdk_event_get_keycode ()

gboolean
gdk_event_get_keycode (const GdkEvent *event,
                       guint16 *keycode);

Extracts the hardware keycode from an event.

Also see gdk_event_get_scancode().

Parameters

event

a GdkEvent

 

keycode

location to store the keycode.

[out]

Returns

TRUE if the event delivered a hardware keycode


gdk_event_get_keyval ()

gboolean
gdk_event_get_keyval (const GdkEvent *event,
                      guint *keyval);

Extracts the keyval from an event.

Parameters

event

a GdkEvent

 

keyval

location to store the keyval.

[out]

Returns

TRUE if the event delivered a key symbol


gdk_event_get_root_coords ()

gboolean
gdk_event_get_root_coords (const GdkEvent *event,
                           gdouble *x_root,
                           gdouble *y_root);

Extract the root window relative x/y coordinates from an event.

Parameters

event

a GdkEvent

 

x_root

location to put root window x coordinate.

[out][optional]

y_root

location to put root window y coordinate.

[out][optional]

Returns

TRUE if the event delivered root window coordinates


gdk_event_get_scroll_direction ()

gboolean
gdk_event_get_scroll_direction (const GdkEvent *event,
                                GdkScrollDirection *direction);

Extracts the scroll direction from an event.

Parameters

event

a GdkEvent

 

direction

location to store the scroll direction.

[out]

Returns

TRUE if the event delivered a scroll direction


gdk_event_get_scroll_deltas ()

gboolean
gdk_event_get_scroll_deltas (const GdkEvent *event,
                             gdouble *delta_x,
                             gdouble *delta_y);

Retrieves the scroll deltas from a GdkEvent

Parameters

event

a GdkEvent

 

delta_x

return location for X delta.

[out]

delta_y

return location for Y delta.

[out]

Returns

TRUE if the event contains smooth scroll information


gdk_event_is_scroll_stop_event ()

gboolean
gdk_event_is_scroll_stop_event (const GdkEvent *event);

Check whether a scroll event is a stop scroll event. Scroll sequences with smooth scroll information may provide a stop scroll event once the interaction with the device finishes, e.g. by lifting a finger. This stop scroll event is the signal that a widget may trigger kinetic scrolling based on the current velocity.

Stop scroll events always have a a delta of 0/0.

Parameters

event

a GdkEvent

 

Returns

TRUE if the event is a scroll stop event


gdk_event_get_state ()

gboolean
gdk_event_get_state (const GdkEvent *event,
                     GdkModifierType *state);

If the event contains a “state” field, puts that field in state .

Otherwise stores an empty state (0). event may be NULL, in which case it’s treated as if the event had no state field.

Parameters

event

a GdkEvent or NULL.

[allow-none]

state

return location for state.

[out]

Returns

TRUE if there was a state field in the event


gdk_event_get_time ()

guint32
gdk_event_get_time (const GdkEvent *event);

Returns the time stamp from event , if there is one; otherwise returns GDK_CURRENT_TIME. If event is NULL, returns GDK_CURRENT_TIME.

Parameters

event

a GdkEvent

 

Returns

time stamp field from event


gdk_event_get_surface ()

GdkSurface *
gdk_event_get_surface (const GdkEvent *event);

Extracts the GdkSurface associated with an event.

Parameters

event

a GdkEvent

 

Returns

The GdkSurface associated with the event.

[transfer none]


gdk_event_get_event_type ()

GdkEventType
gdk_event_get_event_type (const GdkEvent *event);

Retrieves the type of the event.

Parameters

event

a GdkEvent

 

Returns

a GdkEventType


gdk_event_get_event_sequence ()

GdkEventSequence *
gdk_event_get_event_sequence (const GdkEvent *event);

If event if of type GDK_TOUCH_BEGIN, GDK_TOUCH_UPDATE, GDK_TOUCH_END or GDK_TOUCH_CANCEL, returns the GdkEventSequence to which the event belongs. Otherwise, return NULL.

Parameters

event

a GdkEvent

 

Returns

the event sequence that the event belongs to.

[transfer none]


gdk_events_get_angle ()

gboolean
gdk_events_get_angle (GdkEvent *event1,
                      GdkEvent *event2,
                      gdouble *angle);

If both events contain X/Y information, this function will return TRUE and return in angle the relative angle from event1 to event2 . The rotation direction for positive angles is from the positive X axis towards the positive Y axis.

Parameters

event1

first GdkEvent

 

event2

second GdkEvent

 

angle

return location for the relative angle between both events.

[out]

Returns

TRUE if the angle could be calculated.


gdk_events_get_center ()

gboolean
gdk_events_get_center (GdkEvent *event1,
                       GdkEvent *event2,
                       gdouble *x,
                       gdouble *y);

If both events contain X/Y information, the center of both coordinates will be returned in x and y .

Parameters

event1

first GdkEvent

 

event2

second GdkEvent

 

x

return location for the X coordinate of the center.

[out]

y

return location for the Y coordinate of the center.

[out]

Returns

TRUE if the center could be calculated.


gdk_events_get_distance ()

gboolean
gdk_events_get_distance (GdkEvent *event1,
                         GdkEvent *event2,
                         gdouble *distance);

If both events have X/Y information, the distance between both coordinates (as in a straight line going from event1 to event2 ) will be returned.

Parameters

event1

first GdkEvent

 

event2

second GdkEvent

 

distance

return location for the distance.

[out]

Returns

TRUE if the distance could be calculated.


gdk_event_triggers_context_menu ()

gboolean
gdk_event_triggers_context_menu (const GdkEvent *event);

This function returns whether a GdkEventButton should trigger a context menu, according to platform conventions. The right mouse button always triggers context menus. Additionally, if gdk_keymap_get_modifier_mask() returns a non-0 mask for GDK_MODIFIER_INTENT_CONTEXT_MENU, then the left mouse button will also trigger a context menu if this modifier is pressed.

This function should always be used instead of simply checking for event->button == GDK_BUTTON_SECONDARY.

Parameters

event

a GdkEvent, currently only button events are meaningful values

 

Returns

TRUE if the event should trigger a context menu.


gdk_event_get_seat ()

GdkSeat *
gdk_event_get_seat (const GdkEvent *event);

Returns the GdkSeat this event was generated for.

Parameters

event

a GdkEvent

 

Returns

The GdkSeat of this event.

[transfer none]


gdk_event_get_scancode ()

int
gdk_event_get_scancode (GdkEvent *event);

Gets the keyboard low-level scancode of a key event.

This is usually hardware_keycode. On Windows this is the high word of WM_KEY{DOWN,UP} lParam which contains the scancode and some extended flags.

Parameters

event

a GdkEvent

 

Returns

The associated keyboard scancode or 0


gdk_event_get_pointer_emulated ()

gboolean
gdk_event_get_pointer_emulated (GdkEvent *event);

Returns whether this event is an 'emulated' pointer event (typically from a touch event), as opposed to a real one.

Parameters

event

a GdkEvent

 

Returns

TRUE if this event is emulated


gdk_event_get_crossing_detail ()

gboolean
gdk_event_get_crossing_detail (const GdkEvent *event,
                               GdkNotifyType *detail);

Extracts the crossing detail from an event.

Parameters

event

a GdkEvent

 

detail

return location for the crossing detail.

[out]

Returns

TRUE on success, otherwise FALSE


gdk_event_get_crossing_mode ()

gboolean
gdk_event_get_crossing_mode (const GdkEvent *event,
                             GdkCrossingMode *mode);

Extracts the crossing mode from an event.

Parameters

event

a GdkEvent

 

mode

return location for the crossing mode.

[out]

Returns

TRUE on success, otherwise FALSE


gdk_event_get_drop ()

GdkDrop *
gdk_event_get_drop (const GdkEvent *event);

Gets the GdkDrop from a DND event.

Parameters

event

a GdkEvent

 

Returns

the drop.

[transfer none][nullable]


gdk_event_get_focus_in ()

gboolean
gdk_event_get_focus_in (const GdkEvent *event,
                        gboolean *focus_in);

Extracts whether this is a focus-in or focus-out event.

Parameters

event

a GdkEvent

 

focus_in

return location for focus direction.

[out]

Returns

TRUE on success, otherwise FALSE


gdk_event_get_grab_surface ()

gboolean
gdk_event_get_grab_surface (const GdkEvent *event,
                            GdkSurface **surface);

Extracts the grab surface from a grab broken event.

Parameters

event

a GdkEvent

 

surface

Return location for the grab surface.

[out][transfer none]

Returns

TRUE on success, otherwise FALSE


gdk_event_get_motion_history ()

GList *
gdk_event_get_motion_history (const GdkEvent *event);

Retrieves the history of the event motion, as a list of time and coordinates.

Parameters

event

a GdkEvent of type GDK_MOTION_NOTIFY

 

Returns

a list of time and coordinates.

[transfer container][element-type GdkTimeCoord][nullable]


gdk_event_get_key_group ()

gboolean
gdk_event_get_key_group (const GdkEvent *event,
                         guint *group);

Extracts the key group from an event.

Parameters

event

a GdkEvent

 

group

return location for the key group.

[out]

Returns

TRUE on success, otherwise FALSE


gdk_event_get_key_is_modifier ()

gboolean
gdk_event_get_key_is_modifier (const GdkEvent *event,
                               gboolean *is_modifier);

Extracts whether the event is a key event for a modifier key.

Parameters

event

a GdkEvent

 

is_modifier

return location for the value.

[out]

Returns

TRUE on success, otherwise FALSE


gdk_event_get_pad_axis_value ()

gboolean
gdk_event_get_pad_axis_value (const GdkEvent *event,
                              guint *index,
                              gdouble *value);

Extracts the information from a pad event.

Parameters

event

a GdkEvent

 

index

Return location for the axis index.

[out]

value

Return location for the axis value.

[out]

Returns

TRUE on success, otherwise FALSE


gdk_event_get_pad_button ()

gboolean
gdk_event_get_pad_button (const GdkEvent *event,
                          guint *button);

Extracts information about the pressed button from a pad event.

Parameters

event

a GdkEvent

 

button

Return location for the button.

[out]

Returns

TRUE on success, otherwise FALSE


gdk_event_get_pad_group_mode ()

gboolean
gdk_event_get_pad_group_mode (const GdkEvent *event,
                              guint *group,
                              guint *mode);

Extracts group and mode information from a pad event.

Parameters

event

a GdkEvent

 

group

return location for the group.

[out]

mode

return location for the mode.

[out]

Returns

TRUE on success, otherwise FALSE


gdk_event_get_touch_emulating_pointer ()

gboolean
gdk_event_get_touch_emulating_pointer (const GdkEvent *event,
                                       gboolean *emulating);

Extracts whether a touch event is emulating a pointer event.

Parameters

event

a GdkEvent

 

emulating

Return location for information.

[out]

Returns

TRUE on success, otherwise FALSE


gdk_event_get_touchpad_angle_delta ()

gboolean
gdk_event_get_touchpad_angle_delta (const GdkEvent *event,
                                    double *delta);

Extracts the angle from a touchpad event.

Parameters

event

a GdkEvent

 

delta

Return location for angle.

[out]

Returns

TRUE on success, otherwise FALSE


gdk_event_get_touchpad_deltas ()

gboolean
gdk_event_get_touchpad_deltas (const GdkEvent *event,
                               double *dx,
                               double *dy);

Extracts delta information from a touchpad event.

Parameters

event

a GdkEvent

 

dx

return location for x.

[out]

dy

return location for y.

[out]

Returns

TRUE on success, otherwise FALSE


gdk_event_get_touchpad_gesture_n_fingers ()

gboolean
gdk_event_get_touchpad_gesture_n_fingers
                               (const GdkEvent *event,
                                guint *n_fingers);

Extracts the number of fingers from a touchpad event.

Parameters

event

a GdkEvent

 

n_fingers

return location for the number of fingers.

[out]

Returns

TRUE on success, otherwise FALSE


gdk_event_get_touchpad_gesture_phase ()

gboolean
gdk_event_get_touchpad_gesture_phase (const GdkEvent *event,
                                      GdkTouchpadGesturePhase *phase);

Extracts the touchpad gesture phase from a touchpad event.

Parameters

event

a GdkEvent

 

phase

Return location for the gesture phase.

[out]

Returns

TRUE on success, otherwise FALSE


gdk_event_get_touchpad_scale ()

gboolean
gdk_event_get_touchpad_scale (const GdkEvent *event,
                              double *scale);

Extracts the scale from a touchpad event.

Parameters

event

a GdkEvent

 

scale

Return location for scale.

[out]

Returns

TRUE on success, otherwise FALSE


gdk_event_is_sent ()

gboolean
gdk_event_is_sent (const GdkEvent *event);

Returns whether the event was sent explicitly.

Parameters

event

a GdkEvent

 

Returns

TRUE if the event was sent explicitly


gdk_get_show_events ()

gboolean
gdk_get_show_events (void);

Gets whether event debugging output is enabled.

Returns

TRUE if event debugging output is enabled.


gdk_set_show_events ()

void
gdk_set_show_events (gboolean show_events);

Sets whether a trace of received events is output. Note that GTK+ must be compiled with debugging (that is, configured using the --enable-debug option) to use this option.

Parameters

show_events

TRUE to output event debugging information.

 

gdk_event_set_display ()

void
gdk_event_set_display (GdkEvent *event,
                       GdkDisplay *display);

Sets the display that an event is associated with.

Parameters

event

a GdkEvent

 

display

a GdkDisplay

 

gdk_event_get_display ()

GdkDisplay *
gdk_event_get_display (const GdkEvent *event);

Retrieves the GdkDisplay associated to the event .

Parameters

event

a GdkEvent

 

Returns

a GdkDisplay.

[transfer none][nullable]


gdk_event_get_device ()

GdkDevice *
gdk_event_get_device (const GdkEvent *event);

If the event contains a “device” field, this function will return it, else it will return NULL.

Parameters

event

a GdkEvent.

 

Returns

a GdkDevice, or NULL.

[nullable][transfer none]


gdk_event_set_device ()

void
gdk_event_set_device (GdkEvent *event,
                      GdkDevice *device);

Sets the device for event to device . The event must have been allocated by GTK+, for instance, by gdk_event_copy().

Parameters

event

a GdkEvent

 

device

a GdkDevice

 

gdk_event_get_source_device ()

GdkDevice *
gdk_event_get_source_device (const GdkEvent *event);

This function returns the hardware (slave) GdkDevice that has triggered the event, falling back to the virtual (master) device (as in gdk_event_get_device()) if the event wasn’t caused by interaction with a hardware device. This may happen for example in synthesized crossing events after a GdkSurface updates its geometry or a grab is acquired/released.

If the event does not contain a device field, this function will return NULL.

Parameters

event

a GdkEvent

 

Returns

a GdkDevice, or NULL.

[nullable][transfer none]


gdk_event_set_source_device ()

void
gdk_event_set_source_device (GdkEvent *event,
                             GdkDevice *device);

Sets the slave device for event to device .

The event must have been allocated by GTK+, for instance by gdk_event_copy().

Parameters

event

a GdkEvent

 

device

a GdkDevice

 

gdk_event_get_device_tool ()

GdkDeviceTool *
gdk_event_get_device_tool (const GdkEvent *event);

If the event was generated by a device that supports different tools (eg. a tablet), this function will return a GdkDeviceTool representing the tool that caused the event. Otherwise, NULL will be returned.

Note: the GdkDeviceTool<!-- -->s will be constant during the application lifetime, if settings must be stored persistently across runs, see gdk_device_tool_get_serial()

Parameters

event

a GdkEvent

 

Returns

The current device tool, or NULL.

[transfer none]


gdk_event_set_device_tool ()

void
gdk_event_set_device_tool (GdkEvent *event,
                           GdkDeviceTool *tool);

Sets the device tool for this event, should be rarely used.

Parameters

event

a GdkEvent

 

tool

tool to set on the event, or NULL.

[nullable]

Types and Values

GdkEvent

The GdkEvent struct contains only private fields and should not be accessed directly.


enum GdkEventType

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.

Members

GDK_NOTHING

a special code to indicate a null event.

 

GDK_DELETE

the window manager has requested that the toplevel surface be hidden or destroyed, usually when the user clicks on a special icon in the title bar.

 

GDK_DESTROY

the surface has been destroyed.

 

GDK_MOTION_NOTIFY

the pointer (usually a mouse) has moved.

 

GDK_BUTTON_PRESS

a mouse button has been pressed.

 

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 surface.

 

GDK_LEAVE_NOTIFY

the pointer has left the surface.

 

GDK_FOCUS_CHANGE

the keyboard focus has entered or left the surface.

 

GDK_CONFIGURE

the size, position or stacking order of the surface has changed. Note that GTK+ discards these events for GDK_SURFACE_CHILD surfaces.

 

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 surface while a drag is in progress.

 

GDK_DRAG_LEAVE

the mouse has left the surface while a drag is in progress.

 

GDK_DRAG_MOTION

the mouse has moved in the surface while a drag is in progress.

 

GDK_DROP_START

a drop operation onto the surface has started.

 

GDK_SCROLL

the scroll wheel was turned

 

GDK_GRAB_BROKEN

a pointer or keyboard grab was broken. This event type was added in 2.8.

 

GDK_TOUCH_BEGIN

A new touch event sequence has just started. This event type was added in 3.4.

 

GDK_TOUCH_UPDATE

A touch event sequence has been updated. This event type was added in 3.4.

 

GDK_TOUCH_END

A touch event sequence has finished. This event type was added in 3.4.

 

GDK_TOUCH_CANCEL

A touch event sequence has been canceled. This event type was added in 3.4.

 

GDK_TOUCHPAD_SWIPE

A touchpad swipe gesture event, the current state is determined by its phase field. This event type was added in 3.18.

 

GDK_TOUCHPAD_PINCH

A touchpad pinch gesture event, the current state is determined by its phase field. This event type was added in 3.18.

 

GDK_PAD_BUTTON_PRESS

A tablet pad button press event. This event type was added in 3.22.

 

GDK_PAD_BUTTON_RELEASE

A tablet pad button release event. This event type was added in 3.22.

 

GDK_PAD_RING

A tablet pad axis event from a "ring". This event type was added in 3.22.

 

GDK_PAD_STRIP

A tablet pad axis event from a "strip". This event type was added in 3.22.

 

GDK_PAD_GROUP_MODE

A tablet pad group mode change. This event type was added in 3.22.

 

GDK_EVENT_LAST

marks the end of the GdkEventType enumeration. Added in 2.18

 

enum GdkEventMask

A set of bit-flags to indicate which events a surface is to receive. Most of these masks map onto one or more of the GdkEventType event types above.

See the input handling overview for details of event masks and event propagation.

If GDK_TOUCH_MASK is enabled, the surface will receive touch events from touch-enabled devices. Those will come as sequences of GdkEventTouch with type GDK_TOUCH_UPDATE, enclosed by two events with type GDK_TOUCH_BEGIN and GDK_TOUCH_END (or GDK_TOUCH_CANCEL). gdk_event_get_event_sequence() returns the event sequence for these events, so different sequences may be distinguished.

Members

GDK_EXPOSURE_MASK

receive expose events

 

GDK_POINTER_MOTION_MASK

receive all pointer motion events

 

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 surface enter events

 

GDK_LEAVE_NOTIFY_MASK

receive surface leave events

 

GDK_FOCUS_CHANGE_MASK

receive focus change events

 

GDK_STRUCTURE_MASK

receive events about surface configuration change

 

GDK_PROPERTY_CHANGE_MASK

receive property change events

 

GDK_PROXIMITY_IN_MASK

receive proximity in events

 

GDK_PROXIMITY_OUT_MASK

receive proximity out events

 

GDK_SUBSTRUCTURE_MASK

receive events about surface configuration changes of child surfaces

 

GDK_SCROLL_MASK

receive scroll events

 

GDK_TOUCH_MASK

receive touch events

 

GDK_SMOOTH_SCROLL_MASK

receive smooth scrolling events

 

GDK_TOUCHPAD_GESTURE_MASK

receive touchpad gesture events

 

GDK_TABLET_PAD_MASK

receive tablet pad events

 

GDK_ALL_EVENTS_MASK

the combination of all the above event masks.

 

enum GdkScrollDirection

Specifies the direction for scroll events.

Members

GDK_SCROLL_UP

the surface is scrolled up.

 

GDK_SCROLL_DOWN

the surface is scrolled down.

 

GDK_SCROLL_LEFT

the surface is scrolled to the left.

 

GDK_SCROLL_RIGHT

the surface is scrolled to the right.

 

GDK_SCROLL_SMOOTH

the scrolling is determined by the delta values in scroll events. See gdk_event_get_scroll_deltas()

 

enum GdkCrossingMode

Specifies the crossing mode for enter and leave events.

Members

GDK_CROSSING_NORMAL

crossing because of pointer motion.

 

GDK_CROSSING_GRAB

crossing because a grab is activated.

 

GDK_CROSSING_UNGRAB

crossing because a grab is deactivated.

 

GDK_CROSSING_GTK_GRAB

crossing because a GTK+ grab is activated.

 

GDK_CROSSING_GTK_UNGRAB

crossing because a GTK+ grab is deactivated.

 

GDK_CROSSING_STATE_CHANGED

crossing because a GTK+ widget changed state (e.g. sensitivity).

 

GDK_CROSSING_TOUCH_BEGIN

crossing because a touch sequence has begun, this event is synthetic as the pointer might have not left the surface.

 

GDK_CROSSING_TOUCH_END

crossing because a touch sequence has ended, this event is synthetic as the pointer might have not left the surface.

 

GDK_CROSSING_DEVICE_SWITCH

crossing because of a device switch (i.e. a mouse taking control of the pointer after a touch device), this event is synthetic as the pointer didn’t leave the surface.

 

enum GdkNotifyType

Specifies the kind of crossing for enter and leave events.

See the X11 protocol specification of LeaveNotify for full details of crossing event generation.

Members

GDK_NOTIFY_ANCESTOR

the surface is entered from an ancestor or left towards an ancestor.

 

GDK_NOTIFY_VIRTUAL

the pointer moves between an ancestor and an inferior of the surface.

 

GDK_NOTIFY_INFERIOR

the surface is entered from an inferior or left towards an inferior.

 

GDK_NOTIFY_NONLINEAR

the surface is entered from or left towards a surface which is neither an ancestor nor an inferior.

 

GDK_NOTIFY_NONLINEAR_VIRTUAL

the pointer moves between two surfaces which are not ancestors of each other and the surface is part of the ancestor chain between one of these surfaces and their least common ancestor.

 

GDK_NOTIFY_UNKNOWN

an unknown type of enter/leave event occurred.

 

GDK_CURRENT_TIME

#define GDK_CURRENT_TIME     0L

Represents the current time, and can be used anywhere a time is expected.


GDK_PRIORITY_EVENTS

#define GDK_PRIORITY_EVENTS (G_PRIORITY_DEFAULT)

This is the priority that events from the X server are given in the GLib Main Loop.


GDK_PRIORITY_REDRAW

#define GDK_PRIORITY_REDRAW     (G_PRIORITY_HIGH_IDLE + 20)

This is the priority that the idle handler processing surface updates is given in the GLib Main Loop.


GDK_EVENT_PROPAGATE

#define GDK_EVENT_PROPAGATE     (FALSE)

Use this macro as the return value for continuing the propagation of an event handler.


GDK_EVENT_STOP

#define GDK_EVENT_STOP          (TRUE)

Use this macro as the return value for stopping the propagation of an event handler.


GDK_BUTTON_PRIMARY

#define GDK_BUTTON_PRIMARY      (1)

The primary button. This is typically the left mouse button, or the right button in a left-handed setup.


GDK_BUTTON_MIDDLE

#define GDK_BUTTON_MIDDLE       (2)

The middle button.


GDK_BUTTON_SECONDARY

#define GDK_BUTTON_SECONDARY    (3)

The secondary button. This is typically the right mouse button, or the left button in a left-handed setup.


GdkEventSequence

typedef struct _GdkEventSequence GdkEventSequence;

GdkEventSequence is an opaque type representing a sequence of related touch events.

Property Details

The “event-type” property

  “event-type”               GdkEventType

Event type.

Flags: Read / Write / Construct Only

Default value: GDK_NOTHING

See Also

Event Structures

docs/reference/gdk/html/gdk4-Wayland-Interaction.html0000664000175000017500000007605313464200114022704 0ustar mclasenmclasen Wayland Interaction: GDK 4 Reference Manual

Wayland Interaction

Wayland Interaction — Wayland backend-specific functions

Includes

#include <gdk/gdkwayland.h>

Description

The functions in this section are specific to the GDK Wayland backend. To use them, you need to include the <gdk/gdkwayland.h> header and use the Wayland-specific pkg-config gtk4-wayland file to build your application.

To make your code compile with other GDK backends, guard backend-specific calls by an ifdef as follows. Since GDK may be built with multiple backends, you should also check for the backend that is in use (e.g. by using the GDK_IS_WAYLAND_DISPLAY() macro).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#ifdef GDK_WINDOWING_WAYLAND
  if (GDK_IS_WAYLAND_DISPLAY (display))
    {
      // make Wayland-specific calls here
    }
  else
#endif
#ifdef GDK_WINDOWING_X11
  if (GDK_IS_X11_DISPLAY (display))
    {
      // make X11-specific calls here
    }
  else
#endif
  g_error ("Unsupported GDK backend");

Functions

gdk_wayland_seat_get_wl_seat ()

struct wl_seat *
gdk_wayland_seat_get_wl_seat (GdkSeat *seat);

Returns the Wayland wl_seat of a GdkSeat.

Parameters

seat

a GdkSeat.

[type GdkWaylandSeat]

Returns

a Wayland wl_seat.

[transfer none]


gdk_wayland_device_get_wl_keyboard ()

struct wl_keyboard *
gdk_wayland_device_get_wl_keyboard (GdkDevice *device);

Returns the Wayland wl_keyboard of a GdkDevice.

Parameters

device

a GdkDevice.

[type GdkWaylandDevice]

Returns

a Wayland wl_keyboard.

[transfer none]


gdk_wayland_device_get_wl_pointer ()

struct wl_pointer *
gdk_wayland_device_get_wl_pointer (GdkDevice *device);

Returns the Wayland wl_pointer of a GdkDevice.

Parameters

device

a GdkDevice.

[type GdkWaylandDevice]

Returns

a Wayland wl_pointer.

[transfer none]


gdk_wayland_device_get_wl_seat ()

struct wl_seat *
gdk_wayland_device_get_wl_seat (GdkDevice *device);

Returns the Wayland wl_seat of a GdkDevice.

Parameters

device

a GdkDevice.

[type GdkWaylandDevice]

Returns

a Wayland wl_seat.

[transfer none]


gdk_wayland_display_get_wl_compositor ()

struct wl_compositor *
gdk_wayland_display_get_wl_compositor (GdkDisplay *display);

Returns the Wayland global singleton compositor of a GdkDisplay.

Parameters

display

a GdkDisplay.

[type GdkWaylandDisplay]

Returns

a Wayland wl_compositor.

[transfer none]


gdk_wayland_display_get_wl_display ()

struct wl_display *
gdk_wayland_display_get_wl_display (GdkDisplay *display);

Returns the Wayland wl_display of a GdkDisplay.

Parameters

display

a GdkDisplay.

[type GdkWaylandDisplay]

Returns

a Wayland wl_display.

[transfer none]


gdk_wayland_display_query_registry ()

gboolean
gdk_wayland_display_query_registry (GdkDisplay *display,
                                    const gchar *global);

Returns TRUE if the the interface was found in the display wl_registry.global handler.

Parameters

display

a wayland GdkDisplay

 

global

global interface to query in the registry

 

Returns

TRUE if the global is offered by the compositor


gdk_wayland_surface_get_wl_surface ()

struct wl_surface *
gdk_wayland_surface_get_wl_surface (GdkSurface *surface);

Returns the Wayland surface of a GdkSurface.

Parameters

surface

a GdkSurface.

[type GdkWaylandSurface]

Returns

a Wayland wl_surface.

[transfer none]


GdkWaylandSurfaceExported ()

void
(*GdkWaylandSurfaceExported) (GdkSurface *surface,
                              const char *handle,
                              gpointer user_data);

Callback that gets called when the handle for a surface has been obtained from the Wayland compositor. The handle can be passed to other processes, for the purpose of marking surfaces as transient for out-of-process surfaces.

Parameters

surface

the GdkSurface that is exported

 

handle

the handle

 

user_data

user data that was passed to gdk_wayland_surface_export_handle()

 

gdk_wayland_surface_export_handle ()

gboolean
gdk_wayland_surface_export_handle (GdkSurface *surface,
                                   GdkWaylandSurfaceExported callback,
                                   gpointer user_data,
                                   GDestroyNotify destroy_func);

Asynchronously obtains a handle for a surface that can be passed to other processes. When the handle has been obtained, callback will be called.

It is an error to call this function on a surface that is already exported.

When the handle is no longer needed, gdk_wayland_surface_unexport_handle() should be called to clean up resources.

The main purpose for obtaining a handle is to mark a surface from another surface as transient for this one, see gdk_wayland_surface_set_transient_for_exported().

Note that this API depends on an unstable Wayland protocol, and thus may require changes in the future.

Parameters

surface

the GdkSurface to obtain a handle for

 

callback

callback to call with the handle

 

user_data

user data for callback

 

destroy_func

destroy notify for user_data

 

Returns

TRUE if the handle has been requested, FALSE if an error occurred.


gdk_wayland_surface_unexport_handle ()

void
gdk_wayland_surface_unexport_handle (GdkSurface *surface);

Destroys the handle that was obtained with gdk_wayland_surface_export_handle().

It is an error to call this function on a surface that does not have a handle.

Note that this API depends on an unstable Wayland protocol, and thus may require changes in the future.

Parameters

surface

the GdkSurface to unexport

 

gdk_wayland_surface_set_transient_for_exported ()

gboolean
gdk_wayland_surface_set_transient_for_exported
                               (GdkSurface *surface,
                                char *parent_handle_str);

Marks surface as transient for the surface to which the given parent_handle_str refers. Typically, the handle will originate from a gdk_wayland_surface_export_handle() call in another process.

Note that this API depends on an unstable Wayland protocol, and thus may require changes in the future.

Parameters

surface

the GdkSurface to make as transient

 

parent_handle_str

an exported handle for a surface

 

Returns

TRUE if the surface has been marked as transient, FALSE if an error occurred.

Types and Values

docs/reference/gdk/html/default_cursor.png0000664000175000017500000000234413464200072021035 0ustar mclasenmclasenPNG  IHDR szzsBIT|d pHYsttfxtEXtSoftwarewww.inkscape.org<tEXtAuthorJakub Steiner/5tEXtDescriptionInverted variant of the DMZ cursor theme.hu[<3tEXtSourcehttp://jimmac.musichall.cz/themes.php?skin=7P3IDATXMHlequC/w5HF)hmZ\*ETJ7 4R[J$Ph(iLjWf=<-fZ׺sTExx7/? Wu]777w +"廆~m8""0@yyI wh1V*u]g~~ӉbI\ZZf=^)DX*TUUk]]]ui&TUebb:Ez6 a\.HNN~-u!2>>Nkk+V5wooofPUaHKKH5 ah\100@gg'鎍F \n璘ڗ@ !6appWVVNtww3<077' 1PpttEQ$55UZZZDUU 8~m?橩%C<::X4$̔cY^^^#n`~~G N666$11QPAJbwwwy-7Q.ٙlooK %tװ5_( 纚O</np8>%aMGI=t^=%OzQf^ `GIENDB`docs/reference/gdk/html/home.png0000644000175000017500000000040013464200112016724 0ustar mclasenmclasenPNG  IHDRabKGD pHYs B(xtIME &IDAT8ҽ Aߞf`n v`6`/`Yܡ`f&k$,} 0b+ԸaQW~b O e{y N[L}.piBzmm o.I]7^[;%:VIENDB`docs/reference/gdk/html/GdkDisplay.html0000664000175000017500000023461413464200113020232 0ustar mclasenmclasen GdkDisplay: GDK 4 Reference Manual

GdkDisplay

GdkDisplay — Controls a set of monitors and their associated input devices

Properties

gboolean composited Read
gboolean rgba Read

Signals

void closed Run Last
void monitor-added Run Last
void monitor-removed Run Last
void opened Run Last
void seat-added Run Last
void seat-removed Run Last
void setting-changed Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GdkDisplay

Includes

#include <gdk/gdk.h>

Description

GdkDisplay objects are the GDK representation of a workstation.

Their purpose are two-fold:

  • To manage and provide information about input devices (pointers, keyboards, etc)

  • To manage and provide information about output devices (monitors, projectors, etc)

Most of the input device handling has been factored out into separate GdkSeat objects. Every display has a one or more seats, which can be accessed with gdk_display_get_default_seat() and gdk_display_list_seats().

Output devices are represented by GdkMonitor objects, which can be accessed with gdk_display_get_monitor() and similar APIs.

Functions

gdk_display_open ()

GdkDisplay *
gdk_display_open (const gchar *display_name);

Opens a display.

Parameters

display_name

the name of the display to open

 

Returns

a GdkDisplay, or NULL if the display could not be opened.

[nullable][transfer none]


gdk_display_get_default ()

GdkDisplay *
gdk_display_get_default (void);

Gets the default GdkDisplay. This is a convenience function for: gdk_display_manager_get_default_display (gdk_display_manager_get()).

Returns

a GdkDisplay, or NULL if there is no default display.

[nullable][transfer none]


gdk_display_get_name ()

const gchar *
gdk_display_get_name (GdkDisplay *display);

Gets the name of the display.

Parameters

display

a GdkDisplay

 

Returns

a string representing the display name. This string is owned by GDK and should not be modified or freed.


gdk_display_device_is_grabbed ()

gboolean
gdk_display_device_is_grabbed (GdkDisplay *display,
                               GdkDevice *device);

Returns TRUE if there is an ongoing grab on device for display .

Parameters

display

a GdkDisplay

 

device

a GdkDevice

 

Returns

TRUE if there is a grab in effect for device .


gdk_display_beep ()

void
gdk_display_beep (GdkDisplay *display);

Emits a short beep on display

Parameters

display

a GdkDisplay

 

gdk_display_sync ()

void
gdk_display_sync (GdkDisplay *display);

Flushes any requests queued for the windowing system and waits until all requests have been handled. This is often used for making sure that the display is synchronized with the current state of the program. Calling gdk_display_sync() before gdk_error_trap_pop() makes sure that any errors generated from earlier requests are handled before the error trap is removed.

This is most useful for X11. On windowing systems where requests are handled synchronously, this function will do nothing.

Parameters

display

a GdkDisplay

 

gdk_display_flush ()

void
gdk_display_flush (GdkDisplay *display);

Flushes any requests queued for the windowing system; this happens automatically when the main loop blocks waiting for new events, but if your application is drawing without returning control to the main loop, you may need to call this function explicitly. A common case where this function needs to be called is when an application is executing drawing commands from a thread other than the thread where the main loop is running.

This is most useful for X11. On windowing systems where requests are handled synchronously, this function will do nothing.

Parameters

display

a GdkDisplay

 

gdk_display_close ()

void
gdk_display_close (GdkDisplay *display);

Closes the connection to the windowing system for the given display, and cleans up associated resources.

Parameters

display

a GdkDisplay

 

gdk_display_is_closed ()

gboolean
gdk_display_is_closed (GdkDisplay *display);

Finds out if the display has been closed.

Parameters

display

a GdkDisplay

 

Returns

TRUE if the display is closed.


gdk_display_get_event ()

GdkEvent *
gdk_display_get_event (GdkDisplay *display);

Gets the next GdkEvent to be processed for display , fetching events from the windowing system if necessary.

Parameters

display

a GdkDisplay

 

Returns

the next GdkEvent to be processed, or NULL if no events are pending.

[nullable][transfer full]


gdk_display_peek_event ()

GdkEvent *
gdk_display_peek_event (GdkDisplay *display);

Gets a copy of the first GdkEvent in the display ’s event queue, without removing the event from the queue. (Note that this function will not get more events from the windowing system. It only checks the events that have already been moved to the GDK event queue.)

Parameters

display

a GdkDisplay

 

Returns

the first GdkEvent on the event queue.

[nullable][transfer full]


gdk_display_put_event ()

void
gdk_display_put_event (GdkDisplay *display,
                       const GdkEvent *event);

Appends a copy of the given event onto the front of the event queue for display .

Parameters

display

a GdkDisplay

 

event

a GdkEvent.

 

gdk_display_has_pending ()

gboolean
gdk_display_has_pending (GdkDisplay *display);

Returns whether the display has events that are waiting to be processed.

Parameters

display

a GdkDisplay

 

Returns

TRUE if there are events ready to be processed.


gdk_display_is_rgba ()

gboolean
gdk_display_is_rgba (GdkDisplay *display);

Returns wether surfaces on this display are created with an alpha channel.

Even if a TRUE is returned, it is possible that the surface’s alpha channel won’t be honored when displaying the surface on the screen: in particular, for X an appropriate windowing manager and compositing manager must be running to provide appropriate display. Use gdk_display_is_composited() to check if that is the case.

For setting an overall opacity for a top-level surface, see gdk_surface_set_opacity().

On modern displays, this value is always TRUE.

Parameters

display

a GdkDisplay

 

Returns

TRUE if surfaces are created with an alpha channel or FALSE if the display does not support this functionality.


gdk_display_is_composited ()

gboolean
gdk_display_is_composited (GdkDisplay *display);

Returns whether surfaces can reasonably be expected to have their alpha channel drawn correctly on the screen. Check gdk_display_is_rgba() for wether the display supports an alpha channel.

On X11 this function returns whether a compositing manager is compositing on display .

On modern displays, this value is always TRUE.

Parameters

display

a GdkDisplay

 

Returns

Whether surfaces with RGBA visuals can reasonably be expected to have their alpha channels drawn correctly on the screen.


gdk_display_get_default_group ()

GdkSurface *
gdk_display_get_default_group (GdkDisplay *display);

Returns the default group leader surface for all toplevel surfaces on display . This surface is implicitly created by GDK. See gdk_surface_set_group().

Parameters

display

a GdkDisplay

 

Returns

The default group leader surface for display .

[transfer none]


gdk_display_supports_shapes ()

gboolean
gdk_display_supports_shapes (GdkDisplay *display);

Returns TRUE if gdk_surface_shape_combine_mask() can be used to create shaped windows on display .

Parameters

display

a GdkDisplay

 

Returns

TRUE if shaped windows are supported


gdk_display_supports_input_shapes ()

gboolean
gdk_display_supports_input_shapes (GdkDisplay *display);

Returns TRUE if gdk_surface_input_shape_combine_mask() can be used to modify the input shape of surfaces on display .

Parameters

display

a GdkDisplay

 

Returns

TRUE if surfaces with modified input shape are supported


gdk_display_get_app_launch_context ()

GdkAppLaunchContext *
gdk_display_get_app_launch_context (GdkDisplay *display);

Returns a GdkAppLaunchContext suitable for launching applications on the given display.

Parameters

display

a GdkDisplay

 

Returns

a new GdkAppLaunchContext for display . Free with g_object_unref() when done.

[transfer full]


gdk_display_notify_startup_complete ()

void
gdk_display_notify_startup_complete (GdkDisplay *display,
                                     const gchar *startup_id);

Indicates to the GUI environment that the application has finished loading, using a given identifier.

GTK+ will call this function automatically for GtkWindow with custom startup-notification identifier unless gtk_window_set_auto_startup_notification() is called to disable that feature.

Parameters

display

a GdkDisplay

 

startup_id

a startup-notification identifier, for which notification process should be completed

 

gdk_display_get_default_seat ()

GdkSeat *
gdk_display_get_default_seat (GdkDisplay *display);

Returns the default GdkSeat for this display.

Parameters

display

a GdkDisplay

 

Returns

the default seat.

[transfer none]


gdk_display_list_seats ()

GList *
gdk_display_list_seats (GdkDisplay *display);

Returns the list of seats known to display .

Parameters

display

a GdkDisplay

 

Returns

the list of seats known to the GdkDisplay.

[transfer container][element-type GdkSeat]


gdk_display_get_n_monitors ()

int
gdk_display_get_n_monitors (GdkDisplay *display);

Gets the number of monitors that belong to display .

The returned number is valid until the next emission of the “monitor-added” or “monitor-removed” signal.

Parameters

display

a GdkDisplay

 

Returns

the number of monitors


gdk_display_get_monitor ()

GdkMonitor *
gdk_display_get_monitor (GdkDisplay *display,
                         int monitor_num);

Gets a monitor associated with this display.

Parameters

display

a GdkDisplay

 

monitor_num

number of the monitor

 

Returns

the GdkMonitor, or NULL if monitor_num is not a valid monitor number.

[nullable][transfer none]


gdk_display_get_primary_monitor ()

GdkMonitor *
gdk_display_get_primary_monitor (GdkDisplay *display);

Gets the primary monitor for the display.

The primary monitor is considered the monitor where the “main desktop” lives. While normal application surfaces typically allow the window manager to place the surfaces, specialized desktop applications such as panels should place themselves on the primary monitor.

If no monitor is the designated primary monitor, any monitor (usually the first) may be returned. To make sure there is a dedicated primary monitor, use gdk_monitor_is_primary() on the returned monitor.

Parameters

display

a GdkDisplay

 

Returns

the primary monitor, or any monitor if no primary monitor is configured by the user.

[transfer none]


gdk_display_get_monitor_at_point ()

GdkMonitor *
gdk_display_get_monitor_at_point (GdkDisplay *display,
                                  int x,
                                  int y);

Gets the monitor in which the point (x , y ) is located, or a nearby monitor if the point is not in any monitor.

Parameters

display

a GdkDisplay

 

x

the x coordinate of the point

 

y

the y coordinate of the point

 

Returns

the monitor containing the point.

[transfer none]


gdk_display_get_monitor_at_surface ()

GdkMonitor *
gdk_display_get_monitor_at_surface (GdkDisplay *display,
                                    GdkSurface *surface);

Gets the monitor in which the largest area of surface resides, or a monitor close to surface if it is outside of all monitors.

Parameters

display

a GdkDisplay

 

surface

a GdkSurface

 

Returns

the monitor with the largest overlap with surface .

[transfer none]


gdk_display_get_clipboard ()

GdkClipboard *
gdk_display_get_clipboard (GdkDisplay *display);

Gets the clipboard used for copy/paste operations.

Parameters

display

a GdkDisplay

 

Returns

the display's clipboard.

[transfer none]


gdk_display_get_primary_clipboard ()

GdkClipboard *
gdk_display_get_primary_clipboard (GdkDisplay *display);

Gets the clipboard used for the primary selection. On backends where the primary clipboard is not supported natively, GDK emulates this clipboard locally.

Parameters

display

a GdkDisplay

 

Returns

the primary clipboard.

[transfer none]


gdk_display_get_setting ()

gboolean
gdk_display_get_setting (GdkDisplay *display,
                         const char *name,
                         GValue *value);

Retrieves a desktop-wide setting such as double-click time for the display .

Parameters

display

a GdkDisplay

 

name

the name of the setting

 

value

location to store the value of the setting

 

Returns

TRUE if the setting existed and a value was stored in value , FALSE otherwise


gdk_display_get_keymap ()

GdkKeymap *
gdk_display_get_keymap (GdkDisplay *display);

Returns the GdkKeymap attached to display .

Parameters

display

the GdkDisplay

 

Returns

the GdkKeymap attached to display .

[transfer none]

Types and Values

GdkDisplay

typedef struct _GdkDisplay GdkDisplay;

The GdkDisplay struct contains only private fields and should not be accessed directly.

Property Details

The “composited” property

  “composited”               gboolean

TRUE if the display properly composits the alpha channel. See gdk_display_is_composited() for details.

Flags: Read

Default value: TRUE


The “rgba” property

  “rgba”                     gboolean

TRUE if the display supports an alpha channel. See gdk_display_is_rgba() for details.

Flags: Read

Default value: TRUE

Signal Details

The “closed” signal

void
user_function (GdkDisplay *display,
               gboolean    is_error,
               gpointer    user_data)

The ::closed signal is emitted when the connection to the windowing system for display is closed.

Parameters

display

the object on which the signal is emitted

 

is_error

TRUE if the display was closed due to an error

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “monitor-added” signal

void
user_function (GdkDisplay *display,
               GdkMonitor *monitor,
               gpointer    user_data)

The ::monitor-added signal is emitted whenever a monitor is added.

Parameters

display

the objedct on which the signal is emitted

 

monitor

the monitor that was just added

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “monitor-removed” signal

void
user_function (GdkDisplay *display,
               GdkMonitor *monitor,
               gpointer    user_data)

The ::monitor-removed signal is emitted whenever a monitor is removed.

Parameters

display

the object on which the signal is emitted

 

monitor

the monitor that was just removed

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “opened” signal

void
user_function (GdkDisplay *display,
               gpointer    user_data)

The ::opened signal is emitted when the connection to the windowing system for display is opened.

Parameters

display

the object on which the signal is emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “seat-added” signal

void
user_function (GdkDisplay *display,
               GdkSeat    *seat,
               gpointer    user_data)

The ::seat-added signal is emitted whenever a new seat is made known to the windowing system.

Parameters

display

the object on which the signal is emitted

 

seat

the seat that was just added

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “seat-removed” signal

void
user_function (GdkDisplay *display,
               GdkSeat    *seat,
               gpointer    user_data)

The ::seat-removed signal is emitted whenever a seat is removed by the windowing system.

Parameters

display

the object on which the signal is emitted

 

seat

the seat that was just removed

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “setting-changed” signal

void
user_function (GdkDisplay *display,
               gchar      *setting,
               gpointer    user_data)

The ::setting-changed signal is emitted whenever a setting changes its value.

Parameters

display

the object on which the signal is emitted

 

setting

the name of the setting that changed

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gdk/html/gdk4-Application-launching.html0000664000175000017500000004241013464200113023226 0ustar mclasenmclasen Application launching: GDK 4 Reference Manual

Application launching

Application launching — Startup notification for applications

Properties

GdkDisplay * display Read / Write / Construct Only

Types and Values

Object Hierarchy

    GObject
    ╰── GAppLaunchContext
        ╰── GdkAppLaunchContext

Includes

#include <gdk/gdkwayland.h>

Description

GdkAppLaunchContext is an implementation of GAppLaunchContext that handles launching an application in a graphical context. It provides startup notification and allows to launch applications on a specific screen or workspace.

Launching an application

1
2
3
4
5
6
7
8
9
10
11
GdkAppLaunchContext *context;

context = gdk_display_get_app_launch_context (display);

gdk_app_launch_context_set_display (display);
gdk_app_launch_context_set_timestamp (event->time);

if (!g_app_info_launch_default_for_uri ("http://www.gtk.org", context, &error))
  g_warning ("Launching failed: %s\n", error->message);

g_object_unref (context);

Functions

gdk_app_launch_context_set_desktop ()

void
gdk_app_launch_context_set_desktop (GdkAppLaunchContext *context,
                                    gint desktop);

Sets the workspace on which applications will be launched when using this context when running under a window manager that supports multiple workspaces, as described in the Extended Window Manager Hints.

When the workspace is not specified or desktop is set to -1, it is up to the window manager to pick one, typically it will be the current workspace.

Parameters

context

a GdkAppLaunchContext

 

desktop

the number of a workspace, or -1

 

gdk_app_launch_context_set_timestamp ()

void
gdk_app_launch_context_set_timestamp (GdkAppLaunchContext *context,
                                      guint32 timestamp);

Sets the timestamp of context . The timestamp should ideally be taken from the event that triggered the launch.

Window managers can use this information to avoid moving the focus to the newly launched application when the user is busy typing in another window. This is also known as 'focus stealing prevention'.

Parameters

context

a GdkAppLaunchContext

 

timestamp

a timestamp

 

gdk_app_launch_context_set_icon ()

void
gdk_app_launch_context_set_icon (GdkAppLaunchContext *context,
                                 GIcon *icon);

Sets the icon for applications that are launched with this context.

Window Managers can use this information when displaying startup notification.

See also gdk_app_launch_context_set_icon_name().

Parameters

context

a GdkAppLaunchContext

 

icon

a GIcon, or NULL.

[allow-none]

gdk_app_launch_context_set_icon_name ()

void
gdk_app_launch_context_set_icon_name (GdkAppLaunchContext *context,
                                      const char *icon_name);

Sets the icon for applications that are launched with this context. The icon_name will be interpreted in the same way as the Icon field in desktop files. See also gdk_app_launch_context_set_icon().

If both icon and icon_name are set, the icon_name takes priority. If neither icon or icon_name is set, the icon is taken from either the file that is passed to launched application or from the GAppInfo for the launched application itself.

Parameters

context

a GdkAppLaunchContext

 

icon_name

an icon name, or NULL.

[allow-none]

Types and Values

GdkAppLaunchContext

typedef struct _GdkAppLaunchContext GdkAppLaunchContext;

The GdkAppLaunchContext struct contains only private fields and should not be accessed directly.

Property Details

The “display” property

  “display”                  GdkDisplay *

Display.

Flags: Read / Write / Construct Only

docs/reference/gdk/html/gdk4-Cairo-Interaction.html0000664000175000017500000006657513464200113022351 0ustar mclasenmclasen Cairo Interaction: GDK 4 Reference Manual

Cairo Interaction

Cairo Interaction — Functions to support using cairo

Includes

#include <gdk/gdk.h>

Description

Cairo is a graphics library that supports vector graphics and image compositing that can be used with GDK and GTK.

GDK does not wrap the cairo API, instead it allows to create cairo contexts which can be used to draw on GdkSurfaces. Additional functions allow use GdkRectangles with cairo and to use GdkRGBAs, GdkPixbufs and GdkSurfaces as sources for drawing operations.

Functions

gdk_surface_create_similar_surface ()

cairo_surface_t *
gdk_surface_create_similar_surface (GdkSurface *surface,
                                    cairo_content_t content,
                                    int width,
                                    int height);

Create a new surface that is as compatible as possible with the given surface . For example the new surface will have the same fallback resolution and font options as surface . Generally, the new surface will also use the same backend as surface , unless that is not possible for some reason. The type of the returned surface may be examined with cairo_surface_get_type().

Initially the surface contents are all 0 (transparent if contents have transparency, black otherwise.)

Parameters

surface

surface to make new surface similar to

 

content

the content for the new surface

 

width

width of the new surface

 

height

height of the new surface

 

Returns

a pointer to the newly allocated surface. The caller owns the surface and should call cairo_surface_destroy() when done with it.

This function always returns a valid pointer, but it will return a pointer to a “nil” surface if other is already in an error state or any other error occurs.


gdk_cairo_get_clip_rectangle ()

gboolean
gdk_cairo_get_clip_rectangle (cairo_t *cr,
                              GdkRectangle *rect);

This is a convenience function around cairo_clip_extents(). It rounds the clip extents to integer coordinates and returns a boolean indicating if a clip area exists.

Parameters

cr

a cairo context

 

rect

return location for the clip, or NULL.

[out][allow-none]

Returns

TRUE if a clip rectangle exists, FALSE if all of cr is clipped and all drawing can be skipped


gdk_cairo_set_source_rgba ()

void
gdk_cairo_set_source_rgba (cairo_t *cr,
                           const GdkRGBA *rgba);

Sets the specified GdkRGBA as the source color of cr .

Parameters

cr

a cairo context

 

rgba

a GdkRGBA

 

gdk_cairo_set_source_pixbuf ()

void
gdk_cairo_set_source_pixbuf (cairo_t *cr,
                             const GdkPixbuf *pixbuf,
                             gdouble pixbuf_x,
                             gdouble pixbuf_y);

Sets the given pixbuf as the source pattern for cr .

The pattern has an extend mode of CAIRO_EXTEND_NONE and is aligned so that the origin of pixbuf is pixbuf_x , pixbuf_y .

Parameters

cr

a cairo context

 

pixbuf

a GdkPixbuf

 

pixbuf_x

X coordinate of location to place upper left corner of pixbuf

 

pixbuf_y

Y coordinate of location to place upper left corner of pixbuf

 

gdk_cairo_rectangle ()

void
gdk_cairo_rectangle (cairo_t *cr,
                     const GdkRectangle *rectangle);

Adds the given rectangle to the current path of cr .

Parameters

cr

a cairo context

 

rectangle

a GdkRectangle

 

gdk_cairo_region ()

void
gdk_cairo_region (cairo_t *cr,
                  const cairo_region_t *region);

Adds the given region to the current path of cr .

Parameters

cr

a cairo context

 

region

a cairo_region_t

 

gdk_cairo_region_create_from_surface ()

cairo_region_t *
gdk_cairo_region_create_from_surface (cairo_surface_t *surface);

Creates region that describes covers the area where the given surface is more than 50% opaque.

This function takes into account device offsets that might be set with cairo_surface_set_device_offset().

Parameters

surface

a cairo surface

 

Returns

A cairo_region_t; must be freed with cairo_region_destroy()


gdk_cairo_draw_from_gl ()

void
gdk_cairo_draw_from_gl (cairo_t *cr,
                        GdkSurface *surface,
                        int source,
                        int source_type,
                        int buffer_scale,
                        int x,
                        int y,
                        int width,
                        int height);

This is the main way to draw GL content in GTK. It takes a render buffer ID (source_type == GL_RENDERBUFFER) or a texture id (source_type == GL_TEXTURE) and draws it onto cr with an OVER operation, respecting the current clip. The top left corner of the rectangle specified by x , y , width and height will be drawn at the current (0,0) position of the cairo_t.

This will work for *all* cairo_t, as long as surface is realized, but the fallback implementation that reads back the pixels from the buffer may be used in the general case. In the case of direct drawing to a surface with no special effects applied to cr it will however use a more efficient approach.

For GL_RENDERBUFFER the code will always fall back to software for buffers with alpha components, so make sure you use GL_TEXTURE if using alpha.

Calling this may change the current GL context.

Parameters

cr

a cairo context

 

surface

The surface we're rendering for (not necessarily into)

 

source

The GL ID of the source buffer

 

source_type

The type of the source

 

buffer_scale

The scale-factor that the source buffer is allocated for

 

x

The source x position in source to start copying from in GL coordinates

 

y

The source y position in source to start copying from in GL coordinates

 

width

The width of the region to draw

 

height

The height of the region to draw

 

gdk_cairo_surface_upload_to_gl ()

void
gdk_cairo_surface_upload_to_gl (cairo_surface_t *surface,
                                int target,
                                int width,
                                int height,
                                GdkGLContext *context);

Uploads the contents of a Cairo surface to a GL texture target .

Parameters

surface

a Cairo surface

 

target

a GL texture target

 

width

the width of the texture target

 

height

the height of the texture target

 

context

a GdkGLContext, or NULL to use the currently bound context.

[nullable]

Types and Values

docs/reference/gdk/html/alias_cursor.png0000664000175000017500000000254713464200072020507 0ustar mclasenmclasenPNG  IHDR szzsBIT|d pHYsttfxtEXtSoftwarewww.inkscape.org<tEXtAuthorJakub Steiner/5tEXtDescriptionInverted variant of the DMZ cursor theme.hu[<3tEXtSourcehttp://jimmac.musichall.cz/themes.php?skin=7P3DIDATXMhTW/3of?Ih0MH"1"A.JKn,RwD B@]YEXli!bDI!bX8/S̼qjc?}{9 /8lvĶ9۶m۞d2 ˲\XX?rH0±bI5FQVn߾M0}H$rEȋ[\}Z5l6],s;&q  sN)4UVVSN<ƍ'5l'NK㈥ؾԆܡ_zM6Ms4xWPQQAqq1XEUUa099I  NP( $ 0 Ð0|>***%c">JKKdaVXE4ɓ'ڵ7ohlldttt5|+ ,ko;wp'Od۶[tl6[NWt`&mmm\tixQD5o +Ç߈b?'J677uƍ?O]u 6mRCCT>_ g8}l]f΋p8-0{zz6?4y!̙RU+"@+@{o۶mm[gϞUKKbrc+ljMP($@J&9&"x>rTp8{K@*J8H{=7.x6{u]9sFӹsNsz琸pFFF% ]rE,U fgffjjjk׮H$8~8dxE͛u]088b?OsZ7{n!W!/y`{O~.dF7IENDB`docs/reference/gdk/html/row_resize_cursor.png0000664000175000017500000000260313464200072021577 0ustar mclasenmclasenPNG  IHDR szzsBIT|d pHYsnn^tEXtSoftwarewww.inkscape.org<tEXtAuthorJakub Steiner/5tEXtDescriptionInverted variant of the DMZ cursor theme.hu[<3tEXtSourcehttp://jimmac.musichall.cz/themes.php?skin=7P3`IDATX͖]H[g9mY0cV"!*pl݊FpK/:vūy~ƛ(W ^ -!qgIV=rr~ɛ/ps$,k C*_P@|197niKĝi9,˴|9sN@TSSC<ǯ_>r9wsz#^O׮]$%rov; "Q1F߿c؉IT@k9vtTQQA1(Ree% r\޳HTPȖjRT$B<7c$"tb rf,˲S0ĭ[ nÇ뱱1tuu寵Z-ŞݼysnD(p#.V&I51"zzzچp8.\[[[3Ƹ $%FFFY]],@SS6 Ȭv!_Kլo_HRΪRu%ᬱ2E1 `.?bGHЕgAdYC y@>P_$77o\E3}P&~(HDJ$ E<Oe9V=;55e>c4*@e"(шJrs2tSZmpKdY>̡8{Us$|d"YCVhڂ( _ZZ]\ @{ bX(F&T<, % rItj~EJ$޽{%I1T[@M__g^w)---%Jݻw3l /xl6z=`Pioo/R*wy ۿ4 )&jt:o߾^T B4ir:GN_B`8v9?\9m mmm 22ڱ1io##Ȝ(@Ntv KCRIENDB`docs/reference/gdk/html/grabbing_cursor.png0000664000175000017500000000230013464200072021154 0ustar mclasenmclasenPNG  IHDR szzsBIT|d pHYsttfxtEXtSoftwarewww.inkscape.org<tEXtAuthorJakub Steiner/5tEXtDescriptionInverted variant of the DMZ cursor theme.hu[<3tEXtSourcehttp://jimmac.musichall.cz/themes.php?skin=7P3IDATXK+W~ j+B, ֕ԕJu%)r՝tlT%VĶ4jF'Mft!`{{>\TOrMUUU1@KKp\oZE{{{B!+^KKK5###/TU= LHT(=>įۿ/taۛB 2ia{ws2 Ecc?*#S~0zۍ*="iX`0XHR~N2Z$p8JҵbIJ... eO6bp\\^^p8p477sxxXh$Yl0D$@ (DQ fCg)ijt\__tJ|$)VqL׎벝+UMMJn19Mpfff{zzZx<N瓟V:;;x<~}P._YYfhhh6U) ^ɟ===KWWWHYp-I҇_ttto߾ o(k ̯ZqWw \O_&ߕ@>+ʝ&IENDB`docs/reference/gdk/html/gdk4-Cursors.html0000664000175000017500000007075213464200113020467 0ustar mclasenmclasen Cursors: GDK 4 Reference Manual

Cursors

Cursors — Named and texture cursors

Properties

GdkCursor * fallback Read / Write / Construct Only
gint hotspot-x Read / Write / Construct Only
gint hotspot-y Read / Write / Construct Only
gchar * name Read / Write / Construct Only
GdkTexture * texture Read / Write / Construct Only

Types and Values

Object Hierarchy

    GObject
    ╰── GdkCursor

Includes

#include <gdk/gdk.h>

Description

These functions are used to create and destroy cursors. Cursors are immutable objects, so once you created them, there is no way to modify them later. Create a new cursor, when you want to change something about it.

Cursors by themselves are not very interesting, they must be bound to a window for users to see them. This is done with gdk_surface_set_cursor() or gdk_surface_set_device_cursor(). Applications will typically use higher-level GTK+ functions such as gtk_widget_set_cursor() instead.

Cursors are not bound to a given GdkDisplay, so they can be shared. However, the appearance of cursors may vary when used on different platforms.

There are multiple ways to create cursors. The platform's own cursors can be created with gdk_cursor_new_from_name(). That function lists the commonly available names that are shared with the CSS specification. Other names may be available, depending on the platform in use. Another option to create a cursor is to use gdk_cursor_new_from_texture() and provide an image to use for the cursor.

To ease work with unsupported cursors, a fallback cursor can be provided. If a GdkSurface cannot use a cursor because of the reasons mentioned above, it will try the fallback cursor. Of course, fallback cursors can themselves have fallback cursors again, so it is possible to provide a chain of progressively easier to support cursors. If none of the provided cursors can be supported, the default cursor will be the ultimate fallback.

Functions

gdk_cursor_new_from_texture ()

GdkCursor *
gdk_cursor_new_from_texture (GdkTexture *texture,
                             int hotspot_x,
                             int hotspot_y,
                             GdkCursor *fallback);

Creates a new cursor from a GdkTexture.

Parameters

texture

the texture providing the pixel data

 

hotspot_x

the horizontal offset of the “hotspot” of the cursor

 

hotspot_y

the vertical offset of the “hotspot” of the cursor

 

fallback

NULL or the GdkCursor to fall back to when this one cannot be supported.

[allow-none]

Returns

a new GdkCursor.


gdk_cursor_new_from_name ()

GdkCursor *
gdk_cursor_new_from_name (const gchar *name,
                          GdkCursor *fallback);

Creates a new cursor by looking up name in the current cursor theme.

A recommended set of cursor names that will work across different platforms can be found in the CSS specification:

  • "none"

  • "default"

  • "help"

  • "pointer"

  • "context-menu"

  • "progress"

  • "wait"

  • "cell"

  • "crosshair"

  • "text"

  • "vertical-text"

  • "alias"

  • "copy"

  • "no-drop"

  • "move"

  • "not-allowed"

  • "grab"

  • "grabbing"

  • "all-scroll"

  • "col-resize"

  • "row-resize"

  • "n-resize"

  • "e-resize"

  • "s-resize"

  • "w-resize"

  • "ne-resize"

  • "nw-resize"

  • "sw-resize"

  • "se-resize"

  • "ew-resize"

  • "ns-resize"

  • "nesw-resize"

  • "nwse-resize"

  • "zoom-in"

  • "zoom-out"

Parameters

fallback

NULL or the GdkCursor to fall back to when this one cannot be supported.

[allow-none]

name

the name of the cursor

 

Returns

a new GdkCursor, or NULL if there is no cursor with the given name.

[nullable]


gdk_cursor_get_fallback ()

GdkCursor *
gdk_cursor_get_fallback (GdkCursor *cursor);

Returns the fallback for this cursor . The fallback will be used if this cursor is not available on a given GdkDisplay.

For named cursors, this can happen when using nonstandard names or when using an incomplete cursor theme. For textured cursors, this can happen when the texture is too large or when the GdkDisplay it is used on does not support textured cursors.

Parameters

cursor

a GdkCursor.

 

Returns

the fallback of the cursor or NULL to use the default cursor as fallback.

[transfer none][nullable]


gdk_cursor_get_name ()

const char *
gdk_cursor_get_name (GdkCursor *cursor);

Returns the name of the cursor. If the cursor is not a named cursor, NULL will be returned and the GdkCursor::texture property will be set.

Parameters

cursor

a GdkCursor.

 

Returns

the name of the cursor or NULL if it is not a named cursor.

[transfer none][nullable]


gdk_cursor_get_texture ()

GdkTexture *
gdk_cursor_get_texture (GdkCursor *cursor);

Returns the texture for the cursor. If the cursor is a named cursor, NULL will be returned and the GdkCursor::name property will be set.

Parameters

cursor

a GdkCursor.

 

Returns

the texture for cursor or NULL if it is a named cursor.

[transfer none][nullable]


gdk_cursor_get_hotspot_x ()

int
gdk_cursor_get_hotspot_x (GdkCursor *cursor);

Returns the horizontal offset of the hotspot. The hotspot indicates the pixel that will be directly above the cursor.

Parameters

cursor

a GdkCursor.

 

Returns

the horizontal offset of the hotspot or 0 for named cursors


gdk_cursor_get_hotspot_y ()

int
gdk_cursor_get_hotspot_y (GdkCursor *cursor);

Returns the vertical offset of the hotspot. The hotspot indicates the pixel that will be directly above the cursor.

Parameters

cursor

a GdkCursor.

 

Returns

the vertical offset of the hotspot or 0 for named cursors

Types and Values

GdkCursor

typedef struct _GdkCursor GdkCursor;

A GdkCursor represents a cursor. Its contents are private.

Cursors are immutable objects, so they can not change after they have been constructed.

Property Details

The “fallback” property

  “fallback”                 GdkCursor *

Cursor image to fall back to if this cursor cannot be displayed.

Flags: Read / Write / Construct Only


The “hotspot-x” property

  “hotspot-x”                gint

Horizontal offset of the cursor hotspot.

Flags: Read / Write / Construct Only

Allowed values: >= 0

Default value: 0


The “hotspot-y” property

  “hotspot-y”                gint

Vertical offset of the cursor hotspot.

Flags: Read / Write / Construct Only

Allowed values: >= 0

Default value: 0


The “name” property

  “name”                     gchar *

Name of this cursor.

Flags: Read / Write / Construct Only

Default value: NULL


The “texture” property

  “texture”                  GdkTexture *

The texture displayed by this cursor.

Flags: Read / Write / Construct Only

docs/reference/gdk/html/left.png0000644000175000017500000000040613464200112016734 0ustar mclasenmclasenPNG  IHDRabKGD pHYs B(xtIME,`m;IDAT8үa?DAPY\$[p+IIMlf('}Mpy{_ޥ}^q xZ <=Yj) <04\~+Pl#",Qϑp Iǐlsw>[/]_i03IENDB`docs/reference/gdk/html/vertical_text_cursor.png0000664000175000017500000000146713464200072022273 0ustar mclasenmclasenPNG  IHDR szzsBIT|d pHYsttfxtEXtSoftwarewww.inkscape.org<tEXtAuthorJakub Steiner/5tEXtDescriptionInverted variant of the DMZ cursor theme.hu[<3tEXtSourcehttp://jimmac.musichall.cz/themes.php?skin=7P3IDATX퓱KaDIIJjIXE&LCZHQL;?88EE*&%1`mMruжOrt>A@@@@@m/zRJu: & w]CJ)nhߝq/..R|)˙0=X[[[FoŢVRư״eY-;;;lmmD^5+:+=2 %@olp8-ťSeb&0놀}qEuuu%k@2|h4d^N"Rt6RʩK\euuUClBx<>deL@)Q 8*ǧt]96I.{~ p~~b0Z0au{ T*kRj|1$WVVee۶~| hn>"@h 4?I ,3IENDB`docs/reference/gdk/html/zoom_out_cursor.png0000664000175000017500000000417213464200072021265 0ustar mclasenmclasenPNG  IHDR szzsBIT|d pHYsttfxtEXtSoftwarewww.inkscape.org<tEXtAuthorJakub Steiner/5tEXtDescriptionInverted variant of the DMZ cursor theme.hu[<3tEXtSourcehttp://jimmac.musichall.cz/themes.php?skin=7P3WIDATXWmLT~30CqeTTJĴ1 b5U5UP[k`pFRw1E TMHcZ>Cgޙs[\7铜s*jS&tkZ:uqy0QzYkdYf7oV @tM[F1f^RRB oٲEa>D0,SYYbcwtt8._ӧOz̙?]zo]]]/8n<ծ84::sN$Z[[ .N 񰾾W{Ur|;ֲ:t@UV/^@ 0ZWW`6狤2ݙH Ŝ Dt:f&PFF|>688طB\555*>222zL @֭[7׮]q?6<ϫ£G>$"Zf lbQKK|c6&sh"@EEEDDP4 8611DQ$tQ e˖YZ 2C(9r$IӧOh8?]r3'?DťKȳg `WhDQ`xxX0\&ь ddbqCCCF4e@`0^Wh4 fhllL  vm0FbM! x/_v:N,6[Ze/_TԺDDvZ""e`I@Q#*77?F$(h,|r䊢Hp8|} Ȳ%Q@ ?~)o%"`yIDhÆ 9Dtx_nNݻw iӦMìR 'Nq"%M{H"_?vj~bW4y@`Öy^fXT'p8dY!J"ʚ4*eY l޽]~~>` m@ gz{{^xFlɒ%tƍH(1ƘBD " wɓ'> wA\y ~?888r؊+qBT^^NT\\4h&9D#,DCɀ& F Ğ)VZ߿_ڶm( DQtOL&qDot0X`1<91u1Kj^۷os^Ov#>dřL.D%nүſ}xgCCC^L[Rnݺ59WZ[[v} @ =X{J^h%I N"BD%!zXC6WSQfIENDB`docs/reference/gdk/html/gdk4-Points-Rectangles-and-Regions.html0000664000175000017500000004551213464200114024531 0ustar mclasenmclasen Points and Rectangles: GDK 4 Reference Manual

Points and Rectangles

Points and Rectangles — Simple graphical data types

Functions

Types and Values

Object Hierarchy

    GBoxed
    ╰── GdkRectangle

Includes

#include <gdk/gdk.h>

Description

GDK provides the GdkPoint and GdkRectangle data types for representing pixels and sets of pixels on the screen. Together with Cairo’s cairo_region_t data type, they make up the central types for representing graphical data.

A GdkPoint represents an x and y coordinate of a point.

A GdkRectangle represents the position and size of a rectangle. The intersection of two rectangles can be computed with gdk_rectangle_intersect(). To find the union of two rectangles use gdk_rectangle_union().

cairo_region_t is usually used for managing clipping of graphical operations.

Functions

gdk_rectangle_intersect ()

gboolean
gdk_rectangle_intersect (const GdkRectangle *src1,
                         const GdkRectangle *src2,
                         GdkRectangle *dest);

Calculates the intersection of two rectangles. It is allowed for dest to be the same as either src1 or src2 . If the rectangles do not intersect, dest ’s width and height is set to 0 and its x and y values are undefined. If you are only interested in whether the rectangles intersect, but not in the intersecting area itself, pass NULL for dest .

Parameters

src1

a GdkRectangle

 

src2

a GdkRectangle

 

dest

return location for the intersection of src1 and src2 , or NULL.

[out caller-allocates][allow-none]

Returns

TRUE if the rectangles intersect.


gdk_rectangle_union ()

void
gdk_rectangle_union (const GdkRectangle *src1,
                     const GdkRectangle *src2,
                     GdkRectangle *dest);

Calculates the union of two rectangles. The union of rectangles src1 and src2 is the smallest rectangle which includes both src1 and src2 within it. It is allowed for dest to be the same as either src1 or src2 .

Note that this function does not ignore 'empty' rectangles (ie. with zero width or height).

Parameters

src1

a GdkRectangle

 

src2

a GdkRectangle

 

dest

return location for the union of src1 and src2 .

[out]

gdk_rectangle_equal ()

gboolean
gdk_rectangle_equal (const GdkRectangle *rect1,
                     const GdkRectangle *rect2);

Checks if the two given rectangles are equal.

Parameters

rect1

a GdkRectangle

 

rect2

a GdkRectangle

 

Returns

TRUE if the rectangles are equal.


gdk_rectangle_contains_point ()

gboolean
gdk_rectangle_contains_point (const GdkRectangle *rect,
                              int x,
                              int y);

Returns TRUE if rect contains the point described by x and y .

Parameters

rect

a GdkRectangle

 

x

X coordinate

 

y

Y coordinate

 

Returns

TRUE if rect contains the point

Types and Values

GdkPoint

typedef struct {
  gint x;
  gint y;
} GdkPoint;

Defines the x and y coordinates of a point.

Members

gint x;

the x coordinate of the point

 

gint y;

the y coordinate of the point

 

GdkRectangle

typedef struct {
    int x, y;
    int width, height;
} GdkRectangle;

Defines the position and size of a rectangle. It is identical to cairo_rectangle_int_t.

Members

int x;

the x coordinate of the top left corner

 

int y;

the y coordinate of the top left corner

 

int width;

the width of the rectangle

 

int height;

the height of the rectangle

 
docs/reference/gdk/html/GdkContentProvider.html0000664000175000017500000007650613464200113021756 0ustar mclasenmclasen GdkContentProvider: GDK 4 Reference Manual

GdkContentProvider

GdkContentProvider — Provides content for data transfer between applications

Signals

void content-changed Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GdkContentProvider

Includes

#include <gdk/gdkwayland.h>

Description

A GdkContentProvider is used to provide content for the clipboard in a number of formats.

To create a GdkContentProvider, use gdk_content_provider_new_for_value() or gdk_content_provider_new_for_bytes().

GDK knows how to handle common text and image formats out-of-the-box. See GdkContentSerializer and GdkContentDeserializer if you want to add support for application-specific data formats.

Functions

gdk_content_provider_new_for_value ()

GdkContentProvider *
gdk_content_provider_new_for_value (const GValue *value);

Create a content provider that provides the given value .

Parameters

value

a GValue

 

Returns

a new GdkContentProvider


gdk_content_provider_new_for_bytes ()

GdkContentProvider *
gdk_content_provider_new_for_bytes (const char *mime_type,
                                    GBytes *bytes);

Create a content provider that provides the given bytes as data for the given mime_type .

Parameters

mime_type

the mime type

 

bytes

a GBytes with the data for mime_type .

[transfer none]

Returns

a new GdkContentProvider


gdk_content_provider_ref_formats ()

GdkContentFormats *
gdk_content_provider_ref_formats (GdkContentProvider *provider);

Gets the formats that the provider can provide its current contents in.

Parameters

provider

a GdkContentProvider

 

Returns

The formats of the provider.

[transfer full]


gdk_content_provider_ref_storable_formats ()

GdkContentFormats *
gdk_content_provider_ref_storable_formats
                               (GdkContentProvider *provider);

Gets the formats that the provider suggests other applications to store the data in. An example of such an application would be a clipboard manager.

This can be assumed to be a subset of gdk_content_provider_ref_formats().

Parameters

provider

a GdkContentProvider

 

Returns

The storable formats of the provider.

[transfer full]


gdk_content_provider_content_changed ()

void
gdk_content_provider_content_changed (GdkContentProvider *provider);

Emits the “contents-changed” signal.

Parameters

provider

a GdkContentProvider

 

gdk_content_provider_write_mime_type_async ()

void
gdk_content_provider_write_mime_type_async
                               (GdkContentProvider *provider,
                                const char *mime_type,
                                GOutputStream *stream,
                                int io_priority,
                                GCancellable *cancellable,
                                GAsyncReadyCallback callback,
                                gpointer user_data);

Asynchronously writes the contents of provider to stream in the given mime_type . When the operation is finished callback will be called. You can then call gdk_content_provider_write_mime_type_finish() to get the result of the operation.

The given mime type does not need to be listed in the formats returned by gdk_content_provider_ref_formats(). However, if the given GType is not supported, G_IO_ERROR_NOT_SUPPORTED will be reported.

The given stream will not be closed.

Parameters

provider

a GdkContentProvider

 

mime_type

the mime type to provide the data in

 

stream

the GOutputStream to write to

 

io_priority

the I/O priority of the request.

 

cancellable

optional GCancellable object, NULL to ignore.

[nullable]

callback

callback to call when the request is satisfied.

[scope async]

user_data

the data to pass to callback function.

[closure]

gdk_content_provider_write_mime_type_finish ()

gboolean
gdk_content_provider_write_mime_type_finish
                               (GdkContentProvider *provider,
                                GAsyncResult *result,
                                GError **error);

Finishes an asynchronous write operation started with gdk_content_provider_write_mime_type_async().

Parameters

provider

a GdkContentProvider

 

result

a GAsyncResult

 

error

a GError location to store the error occurring, or NULL to ignore.

 

Returns

TRUE if the operation was completed successfully. Otherwise error will be set to describe the failure.


gdk_content_provider_get_value ()

gboolean
gdk_content_provider_get_value (GdkContentProvider *provider,
                                GValue *value,
                                GError **error);

Gets the convtents of provider stored in value .

The value will have been initialized to the GType the value should be provided in. This given GType does not need to be listed in the formats returned by gdk_content_provider_ref_formats(). However, if the given GType is not supported, this operation can fail and G_IO_ERROR_NOT_SUPPORTED will be reported.

Parameters

provider

a GdkContentProvider

 

value

the GValue to fill

 

error

a GError location to store the error occurring, or NULL to ignore.

 

Returns

TRUE if the value was set successfully. Otherwise error will be set to describe the failure.

Types and Values

GdkContentProvider

typedef struct _GdkContentProvider GdkContentProvider;

Should not be directly accessed.


struct GdkContentProviderClass

struct GdkContentProviderClass {
  GObjectClass parent_class;

  /* signals */
  void                  (* content_changed)                             (GdkContentProvider     *provider);

  /* vfuncs */
  void                  (* attach_clipboard)                            (GdkContentProvider     *provider,
                                                                         GdkClipboard           *clipboard);
  void                  (* detach_clipboard)                            (GdkContentProvider     *provider,
                                                                         GdkClipboard           *clipboard);

  GdkContentFormats *   (* ref_formats)                                 (GdkContentProvider     *provider);
  GdkContentFormats *   (* ref_storable_formats)                        (GdkContentProvider     *provider);
  void                  (* write_mime_type_async)                       (GdkContentProvider     *provider,
                                                                         const char             *mime_type,
                                                                         GOutputStream          *stream,
                                                                         int                     io_priority,
                                                                         GCancellable           *cancellable,
                                                                         GAsyncReadyCallback     callback,
                                                                         gpointer                user_data);
  gboolean              (* write_mime_type_finish)                      (GdkContentProvider     *provider,
                                                                         GAsyncResult           *result,
                                                                         GError                **error);
  gboolean              (* get_value)                                   (GdkContentProvider     *provider,
                                                                         GValue                 *value,
                                                                         GError                **error);
};

Property Details

The “formats” property

  “formats”                  GdkContentFormats *

The possible formats that the provider can provide its data in.

Flags: Read


The “storable-formats” property

  “storable-formats”         GdkContentFormats *

The subset of formats that clipboard managers should store this provider's data in.

Flags: Read

Signal Details

The “content-changed” signal

void
user_function (GdkContentProvider *gdkcontentprovider,
               gpointer            user_data)

Flags: Run Last

docs/reference/gdk/html/wait_cursor.png0000664000175000017500000000373513464200072020362 0ustar mclasenmclasenPNG  IHDR szzsBIT|d pHYsttfxtEXtSoftwarewww.inkscape.org<tEXtAuthorJakub Steiner/5tEXtDescriptionInverted variant of the DMZ cursor theme.hu[<3tEXtSourcehttp://jimmac.musichall.cz/themes.php?skin=7P3IDATX]hTgN2dL#f&I5!1PRV|5 ׇZ>XE[!Ɗ>[/՗R I/\}h|x3ddCfb4K/]8{k (> 1`x|(7A""iBD)keYz||ojηWsd2I?Y 4 㐪 Çx7oټy3;wbۄxՏ`OUUew׮]cbbq@QGǎ(ʒd2[ X+A @OirEz{{1MVx<F@UUCww7֫W>۸qW#"Wv.VYnݺ%?X,&iD"!GjN1M^/SϟkQW8w!sA._aձo>n7LE,vz(,,'O444rUUUW5),KEQu]xqGˎ_m&ׯ@ >$HiiKoooΚq PxWI}nX*P}}}ui4MH$"& ٺu*"IGT>nDtl-O777LFVVVDDdqqK )]9t@^UGkY,O @|D>j^6B n6w^ vkh[JiRG <2b{?ŁJ⊈x'[[[$K&~3o/ "ݡrTZuJ6\F1` ~zz۶n?ᖵ8sssMcbhhj4f؇NqooF@(^{:˩f|,brr2 }bh~RF@89$766nZ?ۿ_!~;& :(&&&nRj5y^(g NMMY_eY^Pe``t:}uǎdw8o\|TnT*=9Rafggɡ#<ւ/ BQGp2'L'"ρ'_f\TG Drag And Drop: GDK 4 Reference Manual

Drag And Drop

Drag And Drop — Functions for controlling drag and drop handling

Properties

GdkDragAction actions Read / Write
GdkContentProvider * content Read / Write / Construct Only
GdkDevice * device Read / Write / Construct Only
GdkDisplay * display Read
GdkContentFormats * formats Read / Write / Construct Only
GdkDragAction selected-action Read / Write
GdkSurface * surface Read / Write / Construct Only
GdkDragAction actions Read / Write / Construct Only
GdkDevice * device Read / Write / Construct Only
GdkDisplay * display Read
GdkDrag * drag Read / Write / Construct Only
GdkContentFormats * formats Read / Write / Construct Only
GdkSurface * surface Read / Write / Construct Only

Signals

void cancel Run Last
void dnd-finished Run Last
void drop-performed Run Last

Types and Values

Object Hierarchy

    GObject
    ├── GdkDrag
    ╰── GdkDrop

Includes

#include <gdk/gdk.h>

Description

These functions provide a low level interface for drag and drop.

The GdkDrag object represents the source side of an ongoing DND operation. It is created when a drag is started, and stays alive for duration of the DND operation.

The GdkDrop object represents the target side of an ongoing DND operation.

GTK+ provides a higher level abstraction based on top of these functions, and so they are not normally needed in GTK+ applications. See the Drag and Drop section of the GTK+ documentation for more information.

Functions

gdk_drag_drop_done ()

void
gdk_drag_drop_done (GdkDrag *drag,
                    gboolean success);

Inform GDK if the drop ended successfully. Passing FALSE for success may trigger a drag cancellation animation.

This function is called by the drag source, and should be the last call before dropping the reference to the drag .

The GdkDrag will only take the first gdk_drag_drop_done() call as effective, if this function is called multiple times, all subsequent calls will be ignored.

Parameters

drag

a GdkDrag

 

success

whether the drag was ultimatively successful

 

gdk_drag_begin ()

GdkDrag *
gdk_drag_begin (GdkSurface *surface,
                GdkDevice *device,
                GdkContentProvider *content,
                GdkDragAction actions,
                gint dx,
                gint dy);

Starts a drag and creates a new drag context for it.

This function is called by the drag source.

Parameters

surface

the source surface for this drag

 

device

the device that controls this drag

 

content

the offered content.

[transfer none]

actions

the actions supported by this drag

 

dx

the x offset to device 's position where the drag nominally started

 

dy

the y offset to device 's position where the drag nominally started

 

Returns

a newly created GdkDrag or NULL on error.

[transfer full][nullable]


gdk_drag_get_display ()

GdkDisplay *
gdk_drag_get_display (GdkDrag *drag);

Gets the GdkDisplay that the drag object was created for.

Parameters

drag

a GdkDrag

 

Returns

a GdkDisplay.

[transfer none]


gdk_drag_get_actions ()

GdkDragAction
gdk_drag_get_actions (GdkDrag *drag);

Determines the bitmask of possible actions proposed by the source.

Parameters

drag

a GdkDrag

 

Returns

the GdkDragAction flags


gdk_drag_get_selected_action ()

GdkDragAction
gdk_drag_get_selected_action (GdkDrag *drag);

Determines the action chosen by the drag destination.

Parameters

drag

a GdkDrag

 

Returns

a GdkDragAction value


gdk_drag_get_formats ()

GdkContentFormats *
gdk_drag_get_formats (GdkDrag *drag);

Retrieves the formats supported by this GdkDrag object.

Parameters

drag

a GdkDrag

 

Returns

a GdkContentFormats.

[transfer none]


gdk_drag_get_device ()

GdkDevice *
gdk_drag_get_device (GdkDrag *drag);

Returns the GdkDevice associated to the GdkDrag object.

Parameters

drag

a GdkDrag

 

Returns

The GdkDevice associated to drag .

[transfer none]


gdk_drag_get_drag_surface ()

GdkSurface *
gdk_drag_get_drag_surface (GdkDrag *drag);

Returns the surface on which the drag icon should be rendered during the drag operation. Note that the surface may not be available until the drag operation has begun. GDK will move the surface in accordance with the ongoing drag operation. The surface is owned by drag and will be destroyed when the drag operation is over.

Parameters

drag

a GdkDrag

 

Returns

the drag surface, or NULL.

[nullable][transfer none]


gdk_drag_set_hotspot ()

void
gdk_drag_set_hotspot (GdkDrag *drag,
                      gint hot_x,
                      gint hot_y);

Sets the position of the drag surface that will be kept under the cursor hotspot. Initially, the hotspot is at the top left corner of the drag surface.

Parameters

drag

a GdkDrag

 

hot_x

x coordinate of the drag surface hotspot

 

hot_y

y coordinate of the drag surface hotspot

 

gdk_drag_action_is_unique ()

gboolean
gdk_drag_action_is_unique (GdkDragAction action);

Checks if action represents a single action or if it includes multiple flags that can be selected from.

When action is 0 - ie no action was given, TRUE is returned.

Parameters

action

a GdkDragAction

 

Returns

TRUE if exactly one action was given


gdk_drop_get_display ()

GdkDisplay *
gdk_drop_get_display (GdkDrop *self);

Gets the GdkDisplay that self was created for.

Parameters

self

a GdkDrop

 

Returns

a GdkDisplay.

[transfer none]


gdk_drop_get_device ()

GdkDevice *
gdk_drop_get_device (GdkDrop *self);

Returns the GdkDevice performing the drop.

Parameters

self

a GdkDrop

 

Returns

The GdkDevice performing the drop.

[transfer none]


gdk_drop_get_surface ()

GdkSurface *
gdk_drop_get_surface (GdkDrop *self);

Returns the GdkSurface performing the drop.

Parameters

self

a GdkDrop

 

Returns

The GdkSurface performing the drop.

[transfer none]


gdk_drop_get_formats ()

GdkContentFormats *
gdk_drop_get_formats (GdkDrop *self);

Returns the GdkContentFormats that the drop offers the data to be read in.

Parameters

self

a GdkDrop

 

Returns

The possible GdkContentFormats.

[transfer none]


gdk_drop_get_actions ()

GdkDragAction
gdk_drop_get_actions (GdkDrop *self);

Returns the possible actions for this GdkDrop. If this value contains multiple actions - ie gdk_drag_action_is_unique() returns FALSE for the result - gdk_drag_finish() must choose the action to use when accepting the drop.

This value may change over the lifetime of the GdkDrop both as a response to source side actions as well as to calls to gdk_drop_status() or gdk_drag_finish(). The source side will not change this value anymore once a drop has started.

Parameters

self

a GdkDrop

 

Returns

The possible GdkDragActions


gdk_drop_get_drag ()

GdkDrag *
gdk_drop_get_drag (GdkDrop *self);

If this is an in-app drag-and-drop operation, returns the GdkDrag that corresponds to this drop.

If it is not, NULL is returned.

Parameters

self

a GdkDrop

 

Returns

the corresponding GdkDrag.

[transfer none][nullable]


gdk_drop_status ()

void
gdk_drop_status (GdkDrop *self,
                 GdkDragAction actions);

Selects all actions that are potentially supported by the destination.

When calling this function, do not restrict the passed in actions to the ones provided by gdk_drop_get_actions(). Those actions may change in the future, even depending on the actions you provide here.

This function should be called by drag destinations in response to GDK_DRAG_ENTER or GDK_DRAG_MOTION events. If the destination does not yet know the exact actions it supports, it should set any possible actions first and then later call this function again.

Parameters

self

a GdkDrop

 

actions

Supported actions of the destination, or 0 to indicate that a drop will not be accepted

 

gdk_drop_finish ()

void
gdk_drop_finish (GdkDrop *self,
                 GdkDragAction action);

Ends the drag operation after a drop.

The action must be a single action selected from the actions available via gdk_drop_get_actions().

Parameters

self

a GdkDrop

 

action

the action performed by the destination or 0 if the drop failed

 

gdk_drop_read_async ()

void
gdk_drop_read_async (GdkDrop *self,
                     const char **mime_types,
                     int io_priority,
                     GCancellable *cancellable,
                     GAsyncReadyCallback callback,
                     gpointer user_data);

Asynchronously read the dropped data from a GdkDrop in a format that complies with one of the mime types.

Parameters

self

a GdkDrop

 

mime_types

pointer to an array of mime types.

[array zero-terminated=1][element-type utf8]

io_priority

the io priority for the read operation

 

cancellable

optional GCancellable object, NULL to ignore.

[allow-none]

callback

a GAsyncReadyCallback to call when the request is satisfied.

[scope async]

user_data

the data to pass to callback .

[closure]

gdk_drop_read_finish ()

GInputStream *
gdk_drop_read_finish (GdkDrop *self,
                      GAsyncResult *result,
                      const char **out_mime_type,
                      GError **error);

Finishes an async drop read operation, see gdk_drop_read_async().

Parameters

self

a GdkDrop

 

result

a GAsyncResult

 

out_mime_type

return location for the used mime type.

[out][type utf8]

error

location to store error information on failure, or NULL.

[allow-none]

Returns

the GInputStream, or NULL.

[nullable][transfer full]


gdk_drop_read_value_async ()

void
gdk_drop_read_value_async (GdkDrop *self,
                           GType type,
                           int io_priority,
                           GCancellable *cancellable,
                           GAsyncReadyCallback callback,
                           gpointer user_data);

Asynchronously request the drag operation's contents converted to the given type . When the operation is finished callback will be called. You can then call gdk_drop_read_value_finish() to get the resulting GValue.

For local drag'n'drop operations that are available in the given GType, the value will be copied directly. Otherwise, GDK will try to use gdk_content_deserialize_async() to convert the data.

Parameters

self

a GdkDrop

 

type

a GType to read

 

io_priority

the I/O priority of the request.

 

cancellable

optional GCancellable object, NULL to ignore.

[nullable]

callback

callback to call when the request is satisfied.

[scope async]

user_data

the data to pass to callback function.

[closure]

gdk_drop_read_value_finish ()

const GValue *
gdk_drop_read_value_finish (GdkDrop *self,
                            GAsyncResult *result,
                            GError **error);

Finishes an async drop read started with gdk_drop_read_value_async().

Parameters

self

a GdkDrop

 

result

a GAsyncResult

 

error

a GError location to store the error occurring, or NULL to ignore.

 

Returns

a GValue containing the result.

[transfer none]


gdk_drop_read_text_async ()

void
gdk_drop_read_text_async (GdkDrop *self,
                          GCancellable *cancellable,
                          GAsyncReadyCallback callback,
                          gpointer user_data);

Asynchronously request the drag operation's contents converted to a string. When the operation is finished callback will be called. You can then call gdk_drop_read_text_finish() to get the result.

This is a simple wrapper around gdk_drop_read_value_async(). Use that function or gdk_drop_read_async() directly if you need more control over the operation.

Parameters

self

a GdkDrop

 

cancellable

optional GCancellable object, NULL to ignore.

[nullable]

callback

callback to call when the request is satisfied.

[scope async]

user_data

the data to pass to callback function.

[closure]

gdk_drop_read_text_finish ()

char *
gdk_drop_read_text_finish (GdkDrop *self,
                           GAsyncResult *result,
                           GError **error);

Finishes an asynchronous read started with gdk_drop_read_text_async().

Parameters

self

a GdkDrop

 

result

a GAsyncResult

 

error

a GError location to store the error occurring, or NULL to ignore.

 

Returns

a new string or NULL on error.

[transfer full][nullable]

Types and Values

GdkDrag

typedef struct _GdkDrag GdkDrag;

The GdkDrag struct contains only private fields and should not be accessed directly.


GdkDrop

typedef struct _GdkDrop GdkDrop;

The GdkDrop struct contains only private fields and should not be accessed directly.


enum GdkDragCancelReason

Used in GdkDrag to the reason of a cancelled DND operation.

Members

GDK_DRAG_CANCEL_NO_TARGET

There is no suitable drop target.

 

GDK_DRAG_CANCEL_USER_CANCELLED

Drag cancelled by the user

 

GDK_DRAG_CANCEL_ERROR

Unspecified error.

 

enum GdkDragAction

Used in GdkDrag to indicate what the destination should do with the dropped data.

Members

GDK_ACTION_COPY

Copy the data.

 

GDK_ACTION_MOVE

Move the data, i.e. first copy it, then delete it from the source using the DELETE target of the X selection protocol.

 

GDK_ACTION_LINK

Add a link to the data. Note that this is only useful if source and destination agree on what it means.

 

GDK_ACTION_ASK

Ask the user what to do with the data.

 

GDK_ACTION_ALL

#define GDK_ACTION_ALL (GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK)

Defines all possible DND actions. This can be used in gdk_drop_status() messages when any drop can be accepted or a more specific drop method is not yet known.

Property Details

The “actions” property

  “actions”                  GdkDragAction

The possible actions.

Flags: Read / Write


The “content” property

  “content”                  GdkContentProvider *

The GdkContentProvider.

Flags: Read / Write / Construct Only


The “device” property

  “device”                   GdkDevice *

The GdkDevice that is performing the drag.

Flags: Read / Write / Construct Only


The “display” property

  “display”                  GdkDisplay *

The GdkDisplay that the drag belongs to.

Flags: Read


The “formats” property

  “formats”                  GdkContentFormats *

The possible formats that the drag can provide its data in.

Flags: Read / Write / Construct Only


The “selected-action” property

  “selected-action”          GdkDragAction

The currently selected action.

Flags: Read / Write


The “surface” property

  “surface”                  GdkSurface *

The surface where the drag originates.

Flags: Read / Write / Construct Only


The “actions” property

  “actions”                  GdkDragAction

The possible actions for this drop

Flags: Read / Write / Construct Only

Default value: GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK


The “device” property

  “device”                   GdkDevice *

The GdkDevice performing the drop

Flags: Read / Write / Construct Only


The “display” property

  “display”                  GdkDisplay *

The GdkDisplay that the drop belongs to.

Flags: Read


The “drag” property

  “drag”                     GdkDrag *

The GdkDrag that initiated this drop

Flags: Read / Write / Construct Only


The “formats” property

  “formats”                  GdkContentFormats *

The possible formats that the drop can provide its data in.

Flags: Read / Write / Construct Only


The “surface” property

  “surface”                  GdkSurface *

The GdkSurface the drop happens on

Flags: Read / Write / Construct Only

Signal Details

The “cancel” signal

void
user_function (GdkDrag            *drag,
               GdkDragCancelReason reason,
               gpointer            user_data)

The drag operation was cancelled.

Parameters

drag

The object on which the signal is emitted

 

reason

The reason the drag was cancelled

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “dnd-finished” signal

void
user_function (GdkDrag *drag,
               gpointer user_data)

The drag operation was finished, the destination finished reading all data. The drag object can now free all miscellaneous data.

Parameters

drag

The object on which the signal is emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “drop-performed” signal

void
user_function (GdkDrag *drag,
               gpointer user_data)

The drag operation was performed on an accepting client.

Parameters

drag

The object on which the signal is emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gdk/html.stamp0000664000175000017500000000001113464200112016334 0ustar mclasenmclasentimestampdocs/reference/gdk/sgml.stamp0000664000175000017500000000001113464200076016343 0ustar mclasenmclasentimestampdocs/reference/gdk/version.xml0000644000175000017500000000000713464132275016552 0ustar mclasenmclasen3.96.0 docs/reference/gdk/xml/0000775000175000017500000000000013464200076015143 5ustar mclasenmclasendocs/reference/gdk/xml/api-index-deprecated.xml0000664000175000017500000000052613464200076021644 0ustar mclasenmclasen ]> docs/reference/gdk/xml/gdkdrawcontext.xml0000664000175000017500000004171213464200076020722 0ustar mclasenmclasen ]> GdkDrawContext 3 GDK4 Library GdkDrawContext Base class for draw contexts Functions GdkDisplay * gdk_draw_context_get_display () GdkSurface * gdk_draw_context_get_surface () void gdk_draw_context_begin_frame () void gdk_draw_context_end_frame () gboolean gdk_draw_context_is_in_frame () const cairo_region_t * gdk_draw_context_get_frame_region () Types and Values GdkDrawContext Object Hierarchy GObject ╰── GdkDrawContext ├── GdkGLContext ╰── GdkVulkanContext Includes#include <gdk/gdkwayland.h> Description GdkDrawContext is the base object used by contexts implementing different rendering methods, such as GdkGLContext or GdkVulkanContext. It provides shared functionality between those contexts. You will always interact with one of those s.ubclasses. A GdkDrawContext is always associated with a single toplevel surface. Functions gdk_draw_context_get_display () gdk_draw_context_get_display GdkDisplay * gdk_draw_context_get_display (GdkDrawContext *context); Retrieves the GdkDisplay the context is created for Parameters context a GdkDrawContext Returns a GdkDisplay or NULL. [nullable][transfer none] gdk_draw_context_get_surface () gdk_draw_context_get_surface GdkSurface * gdk_draw_context_get_surface (GdkDrawContext *context); Retrieves the GdkSurface used by the context . Parameters context a GdkDrawContext Returns a GdkSurface or NULL. [nullable][transfer none] gdk_draw_context_begin_frame () gdk_draw_context_begin_frame void gdk_draw_context_begin_frame (GdkDrawContext *context, const cairo_region_t *region); Indicates that you are beginning the process of redrawing region on the context 's surface. Calling this function begins a drawing operation using context on the surface that context was created from. The actual requirements and guarantees for the drawing operation vary for different implementations of drawing, so a GdkCairoContext and a GdkGLContext need to be treated differently. A call to this function is a requirement for drawing and must be followed by a call to gdk_draw_context_end_frame(), which will complete the drawing operation and ensure the contents become visible on screen. Note that the region passed to this function is the minimum region that needs to be drawn and depending on implementation, windowing system and hardware in use, it might be necessary to draw a larger region. Drawing implementation must use gdk_draw_context_get_frame_region() to query the region that must be drawn. When using GTK+, the widget system automatically places calls to gdk_draw_context_begin_frame() and gdk_draw_context_end_frame() via the use of GskRenderers, so application code does not need to call these functions explicitly. Parameters context the context used to draw the frame region minimum region that should be drawn gdk_draw_context_end_frame () gdk_draw_context_end_frame void gdk_draw_context_end_frame (GdkDrawContext *context); Ends a drawing operation started with gdk_draw_context_begin_frame() and makes the drawing available on screen. See that function for more details about drawing. When using a GdkGLContext, this function may call glFlush() implicitly before returning; it is not recommended to call glFlush() explicitly before calling this function. Parameters context a GdkDrawContext gdk_draw_context_is_in_frame () gdk_draw_context_is_in_frame gboolean gdk_draw_context_is_in_frame (GdkDrawContext *context); Returns TRUE if context is in the process of drawing to its surface after a call to gdk_draw_context_begin_frame() and not yet having called gdk_draw_context_end_frame(). In this situation, drawing commands may be effecting the contents of a context 's surface. Parameters context a GdkDrawContext Returns TRUE if the context is between begin_frame() and end_frame() calls. gdk_draw_context_get_frame_region () gdk_draw_context_get_frame_region const cairo_region_t * gdk_draw_context_get_frame_region (GdkDrawContext *context); Retrieves the region that is currently in the process of being repainted. After a call to gdk_draw_context_begin_frame() this function will return a union of the region passed to that function and the area of the surface that the context determined needs to be repainted. If context is not inbetween calls to gdk_draw_context_begin_frame() and gdk_draw_context_end_frame(), NULL will be returned. Parameters context a GdkDrawContext Returns a Cairo region or NULL if not drawing a frame. [transfer none][nullable] Types and Values GdkDrawContext GdkDrawContext typedef struct _GdkDrawContext GdkDrawContext; The GdkDrawContext struct contains only private fields and should not be accessed directly. docs/reference/gdk/xml/gdkvulkancontext.xml0000664000175000017500000006235113464200076021267 0ustar mclasenmclasen ]> GdkVulkanContext 3 GDK4 Library GdkVulkanContext Vulkan draw context Functions VkDevice gdk_vulkan_context_get_device () uint32_t gdk_vulkan_context_get_draw_index () VkSemaphore gdk_vulkan_context_get_draw_semaphore () VkImage gdk_vulkan_context_get_image () VkFormat gdk_vulkan_context_get_image_format () VkInstance gdk_vulkan_context_get_instance () uint32_t gdk_vulkan_context_get_n_images () VkPhysicalDevice gdk_vulkan_context_get_physical_device () VkQueue gdk_vulkan_context_get_queue () uint32_t gdk_vulkan_context_get_queue_family_index () Signals voidimages-updatedRun Last Types and Values GdkVulkanContext enumGdkVulkanError Object Hierarchy GObject ╰── GdkDrawContext ╰── GdkVulkanContext Implemented Interfaces GdkVulkanContext implements GInitable. Includes#include <gdk/gdkwayland.h> Description GdkVulkanContext is an object representing the platform-specific Vulkan draw context. GdkVulkanContexts are created for a GdkSurface using gdk_surface_create_vulkan_context(), and the context will match the the characteristics of the surface. Support for GdkVulkanContext is platform-specific, context creation can fail, returning NULL context. Functions gdk_vulkan_context_get_device () gdk_vulkan_context_get_device VkDevice gdk_vulkan_context_get_device (GdkVulkanContext *context); Gets the Vulkan device that this context is using. Parameters context a GdkVulkanContext Returns the VkDevice. [transfer none] gdk_vulkan_context_get_draw_index () gdk_vulkan_context_get_draw_index uint32_t gdk_vulkan_context_get_draw_index (GdkVulkanContext *context); Gets the index of the image that is currently being drawn. This function can only be used between gdk_draw_context_begin_frame() and gdk_draw_context_end_frame() calls. Parameters context a GdkVulkanContext Returns the index of the images that is being drawn gdk_vulkan_context_get_draw_semaphore () gdk_vulkan_context_get_draw_semaphore VkSemaphore gdk_vulkan_context_get_draw_semaphore (GdkVulkanContext *context); Gets the Vulkan semaphore that protects access to the image that is currently being drawn. This function can only be used between gdk_draw_context_begin_frame() and gdk_draw_context_end_frame() calls. Parameters context a GdkVulkanContext Returns the VkSemaphore. [transfer none] gdk_vulkan_context_get_image () gdk_vulkan_context_get_image VkImage gdk_vulkan_context_get_image (GdkVulkanContext *context, guint id); Gets the image with index id that this context is using. Parameters context a GdkVulkanContext id the index of the image to return Returns the VkImage. [transfer none] gdk_vulkan_context_get_image_format () gdk_vulkan_context_get_image_format VkFormat gdk_vulkan_context_get_image_format (GdkVulkanContext *context); Gets the image format that this context is using. Parameters context a GdkVulkanContext Returns the VkFormat. [transfer none] gdk_vulkan_context_get_instance () gdk_vulkan_context_get_instance VkInstance gdk_vulkan_context_get_instance (GdkVulkanContext *context); Gets the Vulkan instance that is associated with context . Parameters context a GdkVulkanContext Returns the VkInstance. [transfer none] gdk_vulkan_context_get_n_images () gdk_vulkan_context_get_n_images uint32_t gdk_vulkan_context_get_n_images (GdkVulkanContext *context); Gets the number of images that this context is using in its swap chain. Parameters context a GdkVulkanContext Returns the number of images gdk_vulkan_context_get_physical_device () gdk_vulkan_context_get_physical_device VkPhysicalDevice gdk_vulkan_context_get_physical_device (GdkVulkanContext *context); Gets the Vulkan physical device that this context is using. Parameters context a GdkVulkanContext Returns the VkPhysicalDevice. [transfer none] gdk_vulkan_context_get_queue () gdk_vulkan_context_get_queue VkQueue gdk_vulkan_context_get_queue (GdkVulkanContext *context); Gets the Vulkan queue that this context is using. Parameters context a GdkVulkanContext Returns the VkQueue. [transfer none] gdk_vulkan_context_get_queue_family_index () gdk_vulkan_context_get_queue_family_index uint32_t gdk_vulkan_context_get_queue_family_index (GdkVulkanContext *context); Gets the family index for the queue that this context is using. See vkGetPhysicalDeviceQueueFamilyProperties(). Parameters context a GdkVulkanContext Returns the index Types and Values GdkVulkanContext GdkVulkanContext typedef struct _GdkVulkanContext GdkVulkanContext; The GdkVulkanContext struct contains only private fields and should not be accessed directly. enum GdkVulkanError GdkVulkanError Error enumeration for GdkVulkanContext. Members GDK_VULKAN_ERROR_UNSUPPORTED Vulkan is not supported on this backend or has not been compiled in. GDK_VULKAN_ERROR_NOT_AVAILABLE Vulkan support is not available on this Surface Signal Details The <literal>“images-updated”</literal> signal GdkVulkanContext::images-updated void user_function (GdkVulkanContext *context, gpointer user_data) This signal is emitted when the images managed by this context have changed. Usually this means that the swapchain had to be recreated, for example in response to a change of the surface size. Parameters context the object on which the signal is emitted user_data user data set when the signal handler was connected. Flags: Run Last docs/reference/gdk/xml/wayland_interaction.xml0000664000175000017500000006726013464200076021736 0ustar mclasenmclasen ]> Wayland Interaction 3 GDK4 Library Wayland Interaction Wayland backend-specific functions Functions struct wl_seat * gdk_wayland_seat_get_wl_seat () struct wl_keyboard * gdk_wayland_device_get_wl_keyboard () struct wl_pointer * gdk_wayland_device_get_wl_pointer () struct wl_seat * gdk_wayland_device_get_wl_seat () struct wl_compositor * gdk_wayland_display_get_wl_compositor () struct wl_display * gdk_wayland_display_get_wl_display () gboolean gdk_wayland_display_query_registry () struct wl_surface * gdk_wayland_surface_get_wl_surface () void (*GdkWaylandSurfaceExported) () gboolean gdk_wayland_surface_export_handle () void gdk_wayland_surface_unexport_handle () gboolean gdk_wayland_surface_set_transient_for_exported () Includes#include <gdk/gdkwayland.h> Description The functions in this section are specific to the GDK Wayland backend. To use them, you need to include the <gdk/gdkwayland.h> header and use the Wayland-specific pkg-config gtk4-wayland file to build your application. To make your code compile with other GDK backends, guard backend-specific calls by an ifdef as follows. Since GDK may be built with multiple backends, you should also check for the backend that is in use (e.g. by using the GDK_IS_WAYLAND_DISPLAY() macro). Functions gdk_wayland_seat_get_wl_seat () gdk_wayland_seat_get_wl_seat struct wl_seat * gdk_wayland_seat_get_wl_seat (GdkSeat *seat); Returns the Wayland wl_seat of a GdkSeat. Parameters seat a GdkSeat. [type GdkWaylandSeat] Returns a Wayland wl_seat. [transfer none] gdk_wayland_device_get_wl_keyboard () gdk_wayland_device_get_wl_keyboard struct wl_keyboard * gdk_wayland_device_get_wl_keyboard (GdkDevice *device); Returns the Wayland wl_keyboard of a GdkDevice. Parameters device a GdkDevice. [type GdkWaylandDevice] Returns a Wayland wl_keyboard. [transfer none] gdk_wayland_device_get_wl_pointer () gdk_wayland_device_get_wl_pointer struct wl_pointer * gdk_wayland_device_get_wl_pointer (GdkDevice *device); Returns the Wayland wl_pointer of a GdkDevice. Parameters device a GdkDevice. [type GdkWaylandDevice] Returns a Wayland wl_pointer. [transfer none] gdk_wayland_device_get_wl_seat () gdk_wayland_device_get_wl_seat struct wl_seat * gdk_wayland_device_get_wl_seat (GdkDevice *device); Returns the Wayland wl_seat of a GdkDevice. Parameters device a GdkDevice. [type GdkWaylandDevice] Returns a Wayland wl_seat. [transfer none] gdk_wayland_display_get_wl_compositor () gdk_wayland_display_get_wl_compositor struct wl_compositor * gdk_wayland_display_get_wl_compositor (GdkDisplay *display); Returns the Wayland global singleton compositor of a GdkDisplay. Parameters display a GdkDisplay. [type GdkWaylandDisplay] Returns a Wayland wl_compositor. [transfer none] gdk_wayland_display_get_wl_display () gdk_wayland_display_get_wl_display struct wl_display * gdk_wayland_display_get_wl_display (GdkDisplay *display); Returns the Wayland wl_display of a GdkDisplay. Parameters display a GdkDisplay. [type GdkWaylandDisplay] Returns a Wayland wl_display. [transfer none] gdk_wayland_display_query_registry () gdk_wayland_display_query_registry gboolean gdk_wayland_display_query_registry (GdkDisplay *display, const gchar *global); Returns TRUE if the the interface was found in the display wl_registry.global handler. Parameters display a wayland GdkDisplay global global interface to query in the registry Returns TRUE if the global is offered by the compositor gdk_wayland_surface_get_wl_surface () gdk_wayland_surface_get_wl_surface struct wl_surface * gdk_wayland_surface_get_wl_surface (GdkSurface *surface); Returns the Wayland surface of a GdkSurface. Parameters surface a GdkSurface. [type GdkWaylandSurface] Returns a Wayland wl_surface. [transfer none] GdkWaylandSurfaceExported () GdkWaylandSurfaceExported void (*GdkWaylandSurfaceExported) (GdkSurface *surface, const char *handle, gpointer user_data); Callback that gets called when the handle for a surface has been obtained from the Wayland compositor. The handle can be passed to other processes, for the purpose of marking surfaces as transient for out-of-process surfaces. Parameters surface the GdkSurface that is exported handle the handle user_data user data that was passed to gdk_wayland_surface_export_handle() gdk_wayland_surface_export_handle () gdk_wayland_surface_export_handle gboolean gdk_wayland_surface_export_handle (GdkSurface *surface, GdkWaylandSurfaceExported callback, gpointer user_data, GDestroyNotify destroy_func); Asynchronously obtains a handle for a surface that can be passed to other processes. When the handle has been obtained, callback will be called. It is an error to call this function on a surface that is already exported. When the handle is no longer needed, gdk_wayland_surface_unexport_handle() should be called to clean up resources. The main purpose for obtaining a handle is to mark a surface from another surface as transient for this one, see gdk_wayland_surface_set_transient_for_exported(). Note that this API depends on an unstable Wayland protocol, and thus may require changes in the future. Parameters surface the GdkSurface to obtain a handle for callback callback to call with the handle user_data user data for callback destroy_func destroy notify for user_data Returns TRUE if the handle has been requested, FALSE if an error occurred. gdk_wayland_surface_unexport_handle () gdk_wayland_surface_unexport_handle void gdk_wayland_surface_unexport_handle (GdkSurface *surface); Destroys the handle that was obtained with gdk_wayland_surface_export_handle(). It is an error to call this function on a surface that does not have a handle. Note that this API depends on an unstable Wayland protocol, and thus may require changes in the future. Parameters surface the GdkSurface to unexport gdk_wayland_surface_set_transient_for_exported () gdk_wayland_surface_set_transient_for_exported gboolean gdk_wayland_surface_set_transient_for_exported (GdkSurface *surface, char *parent_handle_str); Marks surface as transient for the surface to which the given parent_handle_str refers. Typically, the handle will originate from a gdk_wayland_surface_export_handle() call in another process. Note that this API depends on an unstable Wayland protocol, and thus may require changes in the future. Parameters surface the GdkSurface to make as transient parent_handle_str an exported handle for a surface Returns TRUE if the surface has been marked as transient, FALSE if an error occurred. Types and Values docs/reference/gdk/xml/api-index-full.xml0000664000175000017500000051461713464200076020521 0ustar mclasenmclasen ]> A GDK_ACTION_ALL, macro in Drag and Drop GdkAnchorHints, enum in GdkSurface GdkAppLaunchContext, struct in Application launching GdkAppLaunchContext:display, object property in Application launching gdk_app_launch_context_set_desktop, function in Application launching gdk_app_launch_context_set_icon, function in Application launching gdk_app_launch_context_set_icon_name, function in Application launching gdk_app_launch_context_set_timestamp, function in Application launching GdkAtom, struct in Properties and Atoms GdkAxisFlags, enum in GdkDevice GdkAxisUse, enum in GdkDevice B GDK_BUTTON_MIDDLE, macro in Events GDK_BUTTON_PRIMARY, macro in Events GDK_BUTTON_SECONDARY, macro in Events C GdkCairoContext, struct in GdkCairoContext gdk_cairo_context_cairo_create, function in GdkCairoContext gdk_cairo_draw_from_gl, function in Cairo Interaction gdk_cairo_get_clip_rectangle, function in Cairo Interaction gdk_cairo_rectangle, function in Cairo Interaction gdk_cairo_region, function in Cairo Interaction gdk_cairo_region_create_from_surface, function in Cairo Interaction gdk_cairo_set_source_pixbuf, function in Cairo Interaction gdk_cairo_set_source_rgba, function in Cairo Interaction gdk_cairo_surface_upload_to_gl, function in Cairo Interaction GdkClipboard, struct in Clipboards GdkClipboard::changed, object signal in Clipboards GdkClipboard:content, object property in Clipboards GdkClipboard:display, object property in Clipboards GdkClipboard:formats, object property in Clipboards GdkClipboard:local, object property in Clipboards gdk_clipboard_get_content, function in Clipboards gdk_clipboard_get_display, function in Clipboards gdk_clipboard_get_formats, function in Clipboards gdk_clipboard_is_local, function in Clipboards gdk_clipboard_read_async, function in Clipboards gdk_clipboard_read_finish, function in Clipboards gdk_clipboard_read_texture_async, function in Clipboards gdk_clipboard_read_texture_finish, function in Clipboards gdk_clipboard_read_text_async, function in Clipboards gdk_clipboard_read_text_finish, function in Clipboards gdk_clipboard_read_value_async, function in Clipboards gdk_clipboard_read_value_finish, function in Clipboards gdk_clipboard_set, function in Clipboards gdk_clipboard_set_content, function in Clipboards gdk_clipboard_set_text, function in Clipboards gdk_clipboard_set_texture, function in Clipboards gdk_clipboard_set_valist, function in Clipboards gdk_clipboard_set_value, function in Clipboards gdk_clipboard_store_async, function in Clipboards gdk_clipboard_store_finish, function in Clipboards GdkContentDeserializeFunc, user_function in GdkContentDeserializer GdkContentDeserializer, struct in GdkContentDeserializer GdkContentFormats, struct in Content Formats GdkContentFormatsBuilder, struct in Content Formats GdkContentProvider, struct in GdkContentProvider GdkContentProvider::content-changed, object signal in GdkContentProvider GdkContentProvider:formats, object property in GdkContentProvider GdkContentProvider:storable-formats, object property in GdkContentProvider GdkContentProviderClass, struct in GdkContentProvider GdkContentSerializeFunc, user_function in GdkContentSerializer GdkContentSerializer, struct in GdkContentSerializer gdk_content_deserializer_get_cancellable, function in GdkContentDeserializer gdk_content_deserializer_get_gtype, function in GdkContentDeserializer gdk_content_deserializer_get_input_stream, function in GdkContentDeserializer gdk_content_deserializer_get_mime_type, function in GdkContentDeserializer gdk_content_deserializer_get_priority, function in GdkContentDeserializer gdk_content_deserializer_get_task_data, function in GdkContentDeserializer gdk_content_deserializer_get_user_data, function in GdkContentDeserializer gdk_content_deserializer_get_value, function in GdkContentDeserializer gdk_content_deserializer_return_error, function in GdkContentDeserializer gdk_content_deserializer_return_success, function in GdkContentDeserializer gdk_content_deserializer_set_task_data, function in GdkContentDeserializer gdk_content_deserialize_async, function in GdkContentDeserializer gdk_content_deserialize_finish, function in GdkContentDeserializer gdk_content_formats_builder_add_formats, function in Content Formats gdk_content_formats_builder_add_gtype, function in Content Formats gdk_content_formats_builder_add_mime_type, function in Content Formats gdk_content_formats_builder_free_to_formats, function in Content Formats gdk_content_formats_builder_new, function in Content Formats gdk_content_formats_builder_ref, function in Content Formats gdk_content_formats_builder_to_formats, function in Content Formats gdk_content_formats_builder_unref, function in Content Formats gdk_content_formats_contain_gtype, function in Content Formats gdk_content_formats_contain_mime_type, function in Content Formats gdk_content_formats_get_gtypes, function in Content Formats gdk_content_formats_get_mime_types, function in Content Formats gdk_content_formats_match, function in Content Formats gdk_content_formats_match_gtype, function in Content Formats gdk_content_formats_match_mime_type, function in Content Formats gdk_content_formats_new, function in Content Formats gdk_content_formats_new_for_gtype, function in Content Formats gdk_content_formats_print, function in Content Formats gdk_content_formats_ref, function in Content Formats gdk_content_formats_to_string, function in Content Formats gdk_content_formats_union, function in Content Formats gdk_content_formats_union_deserialize_gtypes, function in Content Formats gdk_content_formats_union_deserialize_mime_types, function in Content Formats gdk_content_formats_union_serialize_gtypes, function in Content Formats gdk_content_formats_union_serialize_mime_types, function in Content Formats gdk_content_formats_unref, function in Content Formats gdk_content_provider_content_changed, function in GdkContentProvider gdk_content_provider_get_value, function in GdkContentProvider gdk_content_provider_new_for_bytes, function in GdkContentProvider gdk_content_provider_new_for_value, function in GdkContentProvider gdk_content_provider_ref_formats, function in GdkContentProvider gdk_content_provider_ref_storable_formats, function in GdkContentProvider gdk_content_provider_write_mime_type_async, function in GdkContentProvider gdk_content_provider_write_mime_type_finish, function in GdkContentProvider gdk_content_register_deserializer, function in GdkContentDeserializer gdk_content_register_serializer, function in GdkContentSerializer gdk_content_serializer_get_cancellable, function in GdkContentSerializer gdk_content_serializer_get_gtype, function in GdkContentSerializer gdk_content_serializer_get_mime_type, function in GdkContentSerializer gdk_content_serializer_get_output_stream, function in GdkContentSerializer gdk_content_serializer_get_priority, function in GdkContentSerializer gdk_content_serializer_get_task_data, function in GdkContentSerializer gdk_content_serializer_get_user_data, function in GdkContentSerializer gdk_content_serializer_get_value, function in GdkContentSerializer gdk_content_serializer_return_error, function in GdkContentSerializer gdk_content_serializer_return_success, function in GdkContentSerializer gdk_content_serializer_set_task_data, function in GdkContentSerializer gdk_content_serialize_async, function in GdkContentSerializer gdk_content_serialize_finish, function in GdkContentSerializer GdkCrossingMode, enum in Events GDK_CURRENT_TIME, macro in Events GdkCursor, struct in Cursors GdkCursor:fallback, object property in Cursors GdkCursor:hotspot-x, object property in Cursors GdkCursor:hotspot-y, object property in Cursors GdkCursor:name, object property in Cursors GdkCursor:texture, object property in Cursors gdk_cursor_get_fallback, function in Cursors gdk_cursor_get_hotspot_x, function in Cursors gdk_cursor_get_hotspot_y, function in Cursors gdk_cursor_get_name, function in Cursors gdk_cursor_get_texture, function in Cursors gdk_cursor_new_from_name, function in Cursors gdk_cursor_new_from_texture, function in Cursors D GdkDevice, struct in GdkDevice GdkDevice::changed, object signal in GdkDevice GdkDevice::tool-changed, object signal in GdkDevice GdkDevice:associated-device, object property in GdkDevice GdkDevice:axes, object property in GdkDevice GdkDevice:display, object property in GdkDevice GdkDevice:has-cursor, object property in GdkDevice GdkDevice:input-mode, object property in GdkDevice GdkDevice:input-source, object property in GdkDevice GdkDevice:n-axes, object property in GdkDevice GdkDevice:name, object property in GdkDevice GdkDevice:num-touches, object property in GdkDevice GdkDevice:product-id, object property in GdkDevice GdkDevice:seat, object property in GdkDevice GdkDevice:tool, object property in GdkDevice GdkDevice:type, object property in GdkDevice GdkDevice:vendor-id, object property in GdkDevice GdkDevicePad, struct in GdkDevicePad GdkDevicePadFeature, enum in GdkDevicePad GdkDeviceToolType, enum in GdkDevice GdkDeviceType, enum in GdkDevice gdk_device_free_history, function in GdkDevice gdk_device_get_associated_device, function in GdkDevice gdk_device_get_axes, function in GdkDevice gdk_device_get_axis, function in GdkDevice gdk_device_get_axis_use, function in GdkDevice gdk_device_get_axis_value, function in GdkDevice gdk_device_get_device_type, function in GdkDevice gdk_device_get_display, function in GdkDevice gdk_device_get_has_cursor, function in GdkDevice gdk_device_get_history, function in GdkDevice gdk_device_get_key, function in GdkDevice gdk_device_get_last_event_surface, function in GdkDevice gdk_device_get_mode, function in GdkDevice gdk_device_get_name, function in GdkDevice gdk_device_get_n_axes, function in GdkDevice gdk_device_get_n_keys, function in GdkDevice gdk_device_get_position, function in GdkDevice gdk_device_get_product_id, function in GdkDevice gdk_device_get_seat, function in GdkDevice gdk_device_get_source, function in GdkDevice gdk_device_get_state, function in GdkDevice gdk_device_get_surface_at_position, function in GdkDevice gdk_device_get_vendor_id, function in GdkDevice gdk_device_list_axes, function in GdkDevice gdk_device_list_slave_devices, function in GdkDevice gdk_device_pad_get_feature_group, function in GdkDevicePad gdk_device_pad_get_group_n_modes, function in GdkDevicePad gdk_device_pad_get_n_features, function in GdkDevicePad gdk_device_pad_get_n_groups, function in GdkDevicePad gdk_device_set_axis_use, function in GdkDevice gdk_device_set_key, function in GdkDevice gdk_device_set_mode, function in GdkDevice gdk_device_tool_get_hardware_id, function in GdkDevice gdk_device_tool_get_serial, function in GdkDevice gdk_device_tool_get_tool_type, function in GdkDevice GDK_DISABLE_DEPRECATION_WARNINGS, macro in General gdk_disable_multidevice, function in X Window System Interaction GdkDisplay, struct in GdkDisplay GdkDisplay::closed, object signal in GdkDisplay GdkDisplay::monitor-added, object signal in GdkDisplay GdkDisplay::monitor-removed, object signal in GdkDisplay GdkDisplay::opened, object signal in GdkDisplay GdkDisplay::seat-added, object signal in GdkDisplay GdkDisplay::seat-removed, object signal in GdkDisplay GdkDisplay::setting-changed, object signal in GdkDisplay GdkDisplay:composited, object property in GdkDisplay GdkDisplay:rgba, object property in GdkDisplay GdkDisplayManager, struct in GdkDisplayManager GdkDisplayManager::display-opened, object signal in GdkDisplayManager GdkDisplayManager:default-display, object property in GdkDisplayManager gdk_display_beep, function in GdkDisplay gdk_display_close, function in GdkDisplay gdk_display_device_is_grabbed, function in GdkDisplay gdk_display_flush, function in GdkDisplay gdk_display_get_app_launch_context, function in GdkDisplay gdk_display_get_clipboard, function in GdkDisplay gdk_display_get_default, function in GdkDisplay gdk_display_get_default_group, function in GdkDisplay gdk_display_get_default_seat, function in GdkDisplay gdk_display_get_event, function in GdkDisplay gdk_display_get_keymap, function in GdkDisplay gdk_display_get_monitor, function in GdkDisplay gdk_display_get_monitor_at_point, function in GdkDisplay gdk_display_get_monitor_at_surface, function in GdkDisplay gdk_display_get_name, function in GdkDisplay gdk_display_get_n_monitors, function in GdkDisplay gdk_display_get_primary_clipboard, function in GdkDisplay gdk_display_get_primary_monitor, function in GdkDisplay gdk_display_get_setting, function in GdkDisplay gdk_display_has_pending, function in GdkDisplay gdk_display_is_closed, function in GdkDisplay gdk_display_is_composited, function in GdkDisplay gdk_display_is_rgba, function in GdkDisplay gdk_display_list_seats, function in GdkDisplay gdk_display_manager_get, function in GdkDisplayManager gdk_display_manager_get_default_display, function in GdkDisplayManager gdk_display_manager_list_displays, function in GdkDisplayManager gdk_display_manager_open_display, function in GdkDisplayManager gdk_display_manager_set_default_display, function in GdkDisplayManager gdk_display_notify_startup_complete, function in GdkDisplay gdk_display_open, function in GdkDisplay gdk_display_peek_event, function in GdkDisplay gdk_display_put_event, function in GdkDisplay gdk_display_supports_input_shapes, function in GdkDisplay gdk_display_supports_shapes, function in GdkDisplay gdk_display_sync, function in GdkDisplay GDK_DISPLAY_XDISPLAY, macro in X Window System Interaction GdkDrag, struct in Drag and Drop GdkDrag::cancel, object signal in Drag and Drop GdkDrag::dnd-finished, object signal in Drag and Drop GdkDrag::drop-performed, object signal in Drag and Drop GdkDrag:actions, object property in Drag and Drop GdkDrag:content, object property in Drag and Drop GdkDrag:device, object property in Drag and Drop GdkDrag:display, object property in Drag and Drop GdkDrag:formats, object property in Drag and Drop GdkDrag:selected-action, object property in Drag and Drop GdkDrag:surface, object property in Drag and Drop GdkDragAction, enum in Drag and Drop GdkDragCancelReason, enum in Drag and Drop gdk_drag_action_is_unique, function in Drag and Drop gdk_drag_begin, function in Drag and Drop gdk_drag_drop_done, function in Drag and Drop gdk_drag_get_actions, function in Drag and Drop gdk_drag_get_device, function in Drag and Drop gdk_drag_get_display, function in Drag and Drop gdk_drag_get_drag_surface, function in Drag and Drop gdk_drag_get_formats, function in Drag and Drop gdk_drag_get_selected_action, function in Drag and Drop gdk_drag_set_hotspot, function in Drag and Drop GdkDrawContext, struct in GdkDrawContext gdk_draw_context_begin_frame, function in GdkDrawContext gdk_draw_context_end_frame, function in GdkDrawContext gdk_draw_context_get_display, function in GdkDrawContext gdk_draw_context_get_frame_region, function in GdkDrawContext gdk_draw_context_get_surface, function in GdkDrawContext gdk_draw_context_is_in_frame, function in GdkDrawContext GdkDrop, struct in Drag and Drop GdkDrop:actions, object property in Drag and Drop GdkDrop:device, object property in Drag and Drop GdkDrop:display, object property in Drag and Drop GdkDrop:drag, object property in Drag and Drop GdkDrop:formats, object property in Drag and Drop GdkDrop:surface, object property in Drag and Drop gdk_drop_finish, function in Drag and Drop gdk_drop_get_actions, function in Drag and Drop gdk_drop_get_device, function in Drag and Drop gdk_drop_get_display, function in Drag and Drop gdk_drop_get_drag, function in Drag and Drop gdk_drop_get_formats, function in Drag and Drop gdk_drop_get_surface, function in Drag and Drop gdk_drop_read_async, function in Drag and Drop gdk_drop_read_finish, function in Drag and Drop gdk_drop_read_text_async, function in Drag and Drop gdk_drop_read_text_finish, function in Drag and Drop gdk_drop_read_value_async, function in Drag and Drop gdk_drop_read_value_finish, function in Drag and Drop gdk_drop_status, function in Drag and Drop E GdkEvent, union in Events GdkEvent:event-type, object property in Events GdkEventMask, enum in Events GdkEventSequence, struct in Events gdk_events_get_angle, function in Events gdk_events_get_center, function in Events gdk_events_get_distance, function in Events GdkEventType, enum in Events gdk_event_copy, function in Events gdk_event_get_axes, function in Events gdk_event_get_axis, function in Events gdk_event_get_button, function in Events gdk_event_get_click_count, function in Events gdk_event_get_coords, function in Events gdk_event_get_crossing_detail, function in Events gdk_event_get_crossing_mode, function in Events gdk_event_get_device, function in Events gdk_event_get_device_tool, function in Events gdk_event_get_display, function in Events gdk_event_get_drop, function in Events gdk_event_get_event_sequence, function in Events gdk_event_get_event_type, function in Events gdk_event_get_focus_in, function in Events gdk_event_get_grab_surface, function in Events gdk_event_get_keycode, function in Events gdk_event_get_keyval, function in Events gdk_event_get_key_group, function in Events gdk_event_get_key_is_modifier, function in Events gdk_event_get_motion_history, function in Events gdk_event_get_pad_axis_value, function in Events gdk_event_get_pad_button, function in Events gdk_event_get_pad_group_mode, function in Events gdk_event_get_pointer_emulated, function in Events gdk_event_get_root_coords, function in Events gdk_event_get_scancode, function in Events gdk_event_get_scroll_deltas, function in Events gdk_event_get_scroll_direction, function in Events gdk_event_get_seat, function in Events gdk_event_get_source_device, function in Events gdk_event_get_state, function in Events gdk_event_get_surface, function in Events gdk_event_get_time, function in Events gdk_event_get_touchpad_angle_delta, function in Events gdk_event_get_touchpad_deltas, function in Events gdk_event_get_touchpad_gesture_n_fingers, function in Events gdk_event_get_touchpad_gesture_phase, function in Events gdk_event_get_touchpad_scale, function in Events gdk_event_get_touch_emulating_pointer, function in Events gdk_event_is_scroll_stop_event, function in Events gdk_event_is_sent, function in Events gdk_event_new, function in Events GDK_EVENT_PROPAGATE, macro in Events gdk_event_set_device, function in Events gdk_event_set_device_tool, function in Events gdk_event_set_display, function in Events gdk_event_set_source_device, function in Events GDK_EVENT_STOP, macro in Events gdk_event_triggers_context_menu, function in Events F GdkFrameClock, struct in GdkFrameClock GdkFrameClock::after-paint, object signal in GdkFrameClock GdkFrameClock::before-paint, object signal in GdkFrameClock GdkFrameClock::flush-events, object signal in GdkFrameClock GdkFrameClock::layout, object signal in GdkFrameClock GdkFrameClock::paint, object signal in GdkFrameClock GdkFrameClock::resume-events, object signal in GdkFrameClock GdkFrameClock::update, object signal in GdkFrameClock GdkFrameClockPhase, enum in GdkFrameClock GdkFrameTimings, struct in GdkFrameTimings gdk_frame_clock_begin_updating, function in GdkFrameClock gdk_frame_clock_end_updating, function in GdkFrameClock gdk_frame_clock_get_current_timings, function in GdkFrameClock gdk_frame_clock_get_frame_counter, function in GdkFrameClock gdk_frame_clock_get_frame_time, function in GdkFrameClock gdk_frame_clock_get_history_start, function in GdkFrameClock gdk_frame_clock_get_refresh_info, function in GdkFrameClock gdk_frame_clock_get_timings, function in GdkFrameClock gdk_frame_clock_request_phase, function in GdkFrameClock gdk_frame_timings_get_complete, function in GdkFrameTimings gdk_frame_timings_get_frame_counter, function in GdkFrameTimings gdk_frame_timings_get_frame_time, function in GdkFrameTimings gdk_frame_timings_get_predicted_presentation_time, function in GdkFrameTimings gdk_frame_timings_get_presentation_time, function in GdkFrameTimings gdk_frame_timings_get_refresh_interval, function in GdkFrameTimings gdk_frame_timings_ref, function in GdkFrameTimings gdk_frame_timings_unref, function in GdkFrameTimings GdkFullscreenMode, enum in GdkSurface G GdkGeometry, struct in GdkSurface gdk_get_show_events, function in Events GdkGLContext, struct in GdkGLContext GdkGLContext:shared-context, object property in GdkGLContext GdkGLError, enum in GdkGLContext gdk_gl_context_clear_current, function in GdkGLContext gdk_gl_context_get_current, function in GdkGLContext gdk_gl_context_get_debug_enabled, function in GdkGLContext gdk_gl_context_get_display, function in GdkGLContext gdk_gl_context_get_forward_compatible, function in GdkGLContext gdk_gl_context_get_required_version, function in GdkGLContext gdk_gl_context_get_shared_context, function in GdkGLContext gdk_gl_context_get_surface, function in GdkGLContext gdk_gl_context_get_use_es, function in GdkGLContext gdk_gl_context_get_version, function in GdkGLContext gdk_gl_context_is_legacy, function in GdkGLContext gdk_gl_context_make_current, function in GdkGLContext gdk_gl_context_realize, function in GdkGLContext gdk_gl_context_set_debug_enabled, function in GdkGLContext gdk_gl_context_set_forward_compatible, function in GdkGLContext gdk_gl_context_set_required_version, function in GdkGLContext gdk_gl_context_set_use_es, function in GdkGLContext gdk_gl_texture_new, function in Textures gdk_gl_texture_release, function in Textures GdkGrabOwnership, enum in GdkDevice GdkGrabStatus, enum in GdkSeat GdkGravity, enum in GdkSurface I GdkInputMode, enum in GdkDevice GdkInputSource, enum in GdkDevice gdk_intern_mime_type, function in Content Formats K GdkKeymap, struct in Keyboard Handling GdkKeymap::direction-changed, object signal in Keyboard Handling GdkKeymap::keys-changed, object signal in Keyboard Handling GdkKeymap::state-changed, object signal in Keyboard Handling GdkKeymap:display, object property in Keyboard Handling GdkKeymapKey, struct in Keyboard Handling gdk_keymap_add_virtual_modifiers, function in Keyboard Handling gdk_keymap_get_caps_lock_state, function in Keyboard Handling gdk_keymap_get_direction, function in Keyboard Handling gdk_keymap_get_display, function in Keyboard Handling gdk_keymap_get_entries_for_keycode, function in Keyboard Handling gdk_keymap_get_entries_for_keyval, function in Keyboard Handling gdk_keymap_get_modifier_mask, function in Keyboard Handling gdk_keymap_get_modifier_state, function in Keyboard Handling gdk_keymap_get_num_lock_state, function in Keyboard Handling gdk_keymap_get_scroll_lock_state, function in Keyboard Handling gdk_keymap_have_bidi_layouts, function in Keyboard Handling gdk_keymap_lookup_key, function in Keyboard Handling gdk_keymap_map_virtual_modifiers, function in Keyboard Handling gdk_keymap_translate_keyboard_state, function in Keyboard Handling gdk_keyval_convert_case, function in Keyboard Handling gdk_keyval_from_name, function in Keyboard Handling gdk_keyval_is_lower, function in Keyboard Handling gdk_keyval_is_upper, function in Keyboard Handling gdk_keyval_name, function in Keyboard Handling gdk_keyval_to_lower, function in Keyboard Handling gdk_keyval_to_unicode, function in Keyboard Handling gdk_keyval_to_upper, function in Keyboard Handling M GdkMemoryFormat, enum in Textures GDK_MEMORY_DEFAULT, macro in Textures gdk_memory_texture_new, function in Textures GdkModifierIntent, enum in GdkSurface GdkModifierType, enum in GdkSurface GdkMonitor, struct in GdkMonitor GdkMonitor::invalidate, object signal in GdkMonitor GdkMonitor:display, object property in GdkMonitor GdkMonitor:geometry, object property in GdkMonitor GdkMonitor:height-mm, object property in GdkMonitor GdkMonitor:manufacturer, object property in GdkMonitor GdkMonitor:model, object property in GdkMonitor GdkMonitor:refresh-rate, object property in GdkMonitor GdkMonitor:scale-factor, object property in GdkMonitor GdkMonitor:subpixel-layout, object property in GdkMonitor GdkMonitor:valid, object property in GdkMonitor GdkMonitor:width-mm, object property in GdkMonitor GdkMonitor:workarea, object property in GdkMonitor gdk_monitor_get_display, function in GdkMonitor gdk_monitor_get_geometry, function in GdkMonitor gdk_monitor_get_height_mm, function in GdkMonitor gdk_monitor_get_manufacturer, function in GdkMonitor gdk_monitor_get_model, function in GdkMonitor gdk_monitor_get_refresh_rate, function in GdkMonitor gdk_monitor_get_scale_factor, function in GdkMonitor gdk_monitor_get_subpixel_layout, function in GdkMonitor gdk_monitor_get_width_mm, function in GdkMonitor gdk_monitor_get_workarea, function in GdkMonitor gdk_monitor_is_primary, function in GdkMonitor gdk_monitor_is_valid, function in GdkMonitor N GdkNotifyType, enum in Events P GdkPaintable, struct in GdkPaintable GdkPaintable::invalidate-contents, object signal in GdkPaintable GdkPaintable::invalidate-size, object signal in GdkPaintable GdkPaintableFlags, enum in GdkPaintable gdk_paintable_compute_concrete_size, function in GdkPaintable gdk_paintable_get_current_image, function in GdkPaintable gdk_paintable_get_flags, function in GdkPaintable gdk_paintable_get_intrinsic_aspect_ratio, function in GdkPaintable gdk_paintable_get_intrinsic_height, function in GdkPaintable gdk_paintable_get_intrinsic_width, function in GdkPaintable gdk_paintable_invalidate_contents, function in GdkPaintable gdk_paintable_invalidate_size, function in GdkPaintable gdk_paintable_new_empty, function in GdkPaintable gdk_paintable_snapshot, function in GdkPaintable gdk_pango_layout_get_clip_region, function in Pango Interaction gdk_pango_layout_line_get_clip_region, function in Pango Interaction GDK_PARENT_RELATIVE, macro in GdkSurface gdk_pixbuf_get_from_surface, function in Pixbufs GdkPoint, struct in Points, Rectangles and Regions GDK_POINTER_TO_XID, macro in X Window System Interaction GDK_PRIORITY_EVENTS, macro in Events GDK_PRIORITY_REDRAW, macro in Events R GdkRectangle, struct in Points, Rectangles and Regions gdk_rectangle_contains_point, function in Points, Rectangles and Regions gdk_rectangle_equal, function in Points, Rectangles and Regions gdk_rectangle_intersect, function in Points, Rectangles and Regions gdk_rectangle_union, function in Points, Rectangles and Regions GdkRGBA, struct in RGBA Colors gdk_rgba_copy, function in RGBA Colors gdk_rgba_equal, function in RGBA Colors gdk_rgba_free, function in RGBA Colors gdk_rgba_hash, function in RGBA Colors gdk_rgba_is_clear, function in RGBA Colors gdk_rgba_is_opaque, function in RGBA Colors gdk_rgba_parse, function in RGBA Colors gdk_rgba_to_string, function in RGBA Colors S GdkScrollDirection, enum in Events GdkSeat, struct in GdkSeat GdkSeat::device-added, object signal in GdkSeat GdkSeat::device-removed, object signal in GdkSeat GdkSeat::tool-added, object signal in GdkSeat GdkSeat::tool-removed, object signal in GdkSeat GdkSeat:display, object property in GdkSeat GdkSeatCapabilities, enum in GdkSeat GdkSeatGrabPrepareFunc, user_function in GdkSeat gdk_seat_get_capabilities, function in GdkSeat gdk_seat_get_display, function in GdkSeat gdk_seat_get_keyboard, function in GdkSeat gdk_seat_get_master_pointers, function in GdkSeat gdk_seat_get_pointer, function in GdkSeat gdk_seat_get_slaves, function in GdkSeat gdk_seat_grab, function in GdkSeat gdk_seat_ungrab, function in GdkSeat gdk_set_allowed_backends, function in GdkDisplayManager gdk_set_show_events, function in Events GdkSubpixelLayout, enum in GdkMonitor GdkSurface, struct in GdkSurface GdkSurface::event, object signal in GdkSurface GdkSurface::moved-to-rect, object signal in GdkSurface GdkSurface::render, object signal in GdkSurface GdkSurface::size-changed, object signal in GdkSurface GdkSurface:cursor, object property in GdkSurface GdkSurface:display, object property in GdkSurface GdkSurface:frame-clock, object property in GdkSurface GdkSurface:mapped, object property in GdkSurface GdkSurface:state, object property in GdkSurface GdkSurfaceEdge, enum in GdkSurface GdkSurfaceHints, enum in GdkSurface GdkSurfaceState, enum in GdkSurface GdkSurfaceType, enum in GdkSurface GdkSurfaceTypeHint, enum in GdkSurface gdk_surface_beep, function in GdkSurface gdk_surface_begin_move_drag, function in GdkSurface gdk_surface_begin_move_drag_for_device, function in GdkSurface gdk_surface_begin_resize_drag, function in GdkSurface gdk_surface_begin_resize_drag_for_device, function in GdkSurface gdk_surface_constrain_size, function in GdkSurface gdk_surface_coords_from_parent, function in GdkSurface gdk_surface_coords_to_parent, function in GdkSurface gdk_surface_create_cairo_context, function in GdkSurface gdk_surface_create_gl_context, function in GdkSurface gdk_surface_create_similar_surface, function in Cairo Interaction gdk_surface_create_vulkan_context, function in GdkSurface gdk_surface_deiconify, function in GdkSurface gdk_surface_destroy, function in GdkSurface gdk_surface_focus, function in GdkSurface gdk_surface_freeze_updates, function in GdkSurface gdk_surface_fullscreen, function in GdkSurface gdk_surface_fullscreen_on_monitor, function in GdkSurface gdk_surface_get_accept_focus, function in GdkSurface gdk_surface_get_children, function in GdkSurface gdk_surface_get_cursor, function in GdkSurface gdk_surface_get_decorations, function in GdkSurface gdk_surface_get_device_cursor, function in GdkSurface gdk_surface_get_device_position, function in GdkSurface gdk_surface_get_display, function in GdkSurface gdk_surface_get_focus_on_map, function in GdkSurface gdk_surface_get_frame_clock, function in GdkSurface gdk_surface_get_frame_extents, function in GdkSurface gdk_surface_get_fullscreen_mode, function in GdkSurface gdk_surface_get_geometry, function in GdkSurface gdk_surface_get_height, function in GdkSurface gdk_surface_get_modal_hint, function in GdkSurface gdk_surface_get_origin, function in GdkSurface gdk_surface_get_parent, function in GdkSurface gdk_surface_get_pass_through, function in GdkSurface gdk_surface_get_position, function in GdkSurface gdk_surface_get_root_coords, function in GdkSurface gdk_surface_get_root_origin, function in GdkSurface gdk_surface_get_scale_factor, function in GdkSurface gdk_surface_get_state, function in GdkSurface gdk_surface_get_support_multidevice, function in GdkSurface gdk_surface_get_surface_type, function in GdkSurface gdk_surface_get_toplevel, function in GdkSurface gdk_surface_get_type_hint, function in GdkSurface gdk_surface_get_width, function in GdkSurface gdk_surface_has_native, function in GdkSurface gdk_surface_hide, function in GdkSurface gdk_surface_iconify, function in GdkSurface gdk_surface_input_shape_combine_region, function in GdkSurface gdk_surface_is_destroyed, function in GdkSurface gdk_surface_is_input_only, function in GdkSurface gdk_surface_is_viewable, function in GdkSurface gdk_surface_is_visible, function in GdkSurface gdk_surface_lower, function in GdkSurface gdk_surface_maximize, function in GdkSurface gdk_surface_merge_child_input_shapes, function in GdkSurface gdk_surface_move, function in GdkSurface gdk_surface_move_resize, function in GdkSurface gdk_surface_move_to_rect, function in GdkSurface gdk_surface_new_child, function in GdkSurface gdk_surface_new_popup, function in GdkSurface gdk_surface_new_temp, function in GdkSurface gdk_surface_new_toplevel, function in GdkSurface gdk_surface_peek_children, function in GdkSurface gdk_surface_queue_expose, function in GdkSurface gdk_surface_raise, function in GdkSurface gdk_surface_register_dnd, function in GdkSurface gdk_surface_resize, function in GdkSurface gdk_surface_restack, function in GdkSurface gdk_surface_set_accept_focus, function in GdkSurface gdk_surface_set_child_input_shapes, function in GdkSurface gdk_surface_set_cursor, function in GdkSurface gdk_surface_set_decorations, function in GdkSurface gdk_surface_set_device_cursor, function in GdkSurface gdk_surface_set_focus_on_map, function in GdkSurface gdk_surface_set_fullscreen_mode, function in GdkSurface gdk_surface_set_functions, function in GdkSurface gdk_surface_set_geometry_hints, function in GdkSurface gdk_surface_set_icon_list, function in GdkSurface gdk_surface_set_icon_name, function in GdkSurface gdk_surface_set_keep_above, function in GdkSurface gdk_surface_set_keep_below, function in GdkSurface gdk_surface_set_modal_hint, function in GdkSurface gdk_surface_set_opacity, function in GdkSurface gdk_surface_set_opaque_region, function in GdkSurface gdk_surface_set_pass_through, function in GdkSurface gdk_surface_set_shadow_width, function in GdkSurface gdk_surface_set_startup_id, function in GdkSurface gdk_surface_set_support_multidevice, function in GdkSurface gdk_surface_set_title, function in GdkSurface gdk_surface_set_transient_for, function in GdkSurface gdk_surface_set_type_hint, function in GdkSurface gdk_surface_show, function in GdkSurface gdk_surface_show_unraised, function in GdkSurface gdk_surface_show_window_menu, function in GdkSurface gdk_surface_stick, function in GdkSurface gdk_surface_thaw_updates, function in GdkSurface gdk_surface_unfullscreen, function in GdkSurface gdk_surface_unmaximize, function in GdkSurface gdk_surface_unstick, function in GdkSurface GDK_SURFACE_XID, macro in X Window System Interaction T GdkTexture, struct in Textures GdkTexture:height, object property in Textures GdkTexture:width, object property in Textures gdk_texture_download, function in Textures gdk_texture_get_height, function in Textures gdk_texture_get_width, function in Textures gdk_texture_new_for_pixbuf, function in Textures gdk_texture_new_from_file, function in Textures gdk_texture_new_from_resource, function in Textures gdk_texture_save_to_png, function in Textures gdk_text_property_to_utf8_list_for_display, function in Properties and Atoms GdkTimeCoord, struct in GdkDevice U gdk_unicode_to_keyval, function in Keyboard Handling gdk_utf8_to_string_target, function in Properties and Atoms V GDK_VERSION_4_0, macro in General GDK_VERSION_MAX_ALLOWED, macro in General GDK_VERSION_MIN_REQUIRED, macro in General GdkVulkanContext, struct in GdkVulkanContext GdkVulkanContext::images-updated, object signal in GdkVulkanContext GdkVulkanError, enum in GdkVulkanContext gdk_vulkan_context_get_device, function in GdkVulkanContext gdk_vulkan_context_get_draw_index, function in GdkVulkanContext gdk_vulkan_context_get_draw_semaphore, function in GdkVulkanContext gdk_vulkan_context_get_image, function in GdkVulkanContext gdk_vulkan_context_get_image_format, function in GdkVulkanContext gdk_vulkan_context_get_instance, function in GdkVulkanContext gdk_vulkan_context_get_n_images, function in GdkVulkanContext gdk_vulkan_context_get_physical_device, function in GdkVulkanContext gdk_vulkan_context_get_queue, function in GdkVulkanContext gdk_vulkan_context_get_queue_family_index, function in GdkVulkanContext W GdkWaylandSurfaceExported, user_function in Wayland Interaction gdk_wayland_device_get_wl_keyboard, function in Wayland Interaction gdk_wayland_device_get_wl_pointer, function in Wayland Interaction gdk_wayland_device_get_wl_seat, function in Wayland Interaction gdk_wayland_display_get_wl_compositor, function in Wayland Interaction gdk_wayland_display_get_wl_display, function in Wayland Interaction gdk_wayland_display_query_registry, function in Wayland Interaction gdk_wayland_seat_get_wl_seat, function in Wayland Interaction gdk_wayland_surface_export_handle, function in Wayland Interaction gdk_wayland_surface_get_wl_surface, function in Wayland Interaction gdk_wayland_surface_set_transient_for_exported, function in Wayland Interaction gdk_wayland_surface_unexport_handle, function in Wayland Interaction GDK_WINDOWING_QUARTZ, macro in General GDK_WINDOWING_WAYLAND, macro in General GDK_WINDOWING_WIN32, macro in General GDK_WINDOWING_X11, macro in General GdkWMDecoration, enum in GdkSurface GdkWMFunction, enum in GdkSurface X gdk_x11_atom_to_xatom_for_display, function in X Window System Interaction gdk_x11_device_get_id, function in X Window System Interaction gdk_x11_device_manager_lookup, function in X Window System Interaction gdk_x11_display_broadcast_startup_message, function in X Window System Interaction gdk_x11_display_error_trap_pop, function in X Window System Interaction gdk_x11_display_error_trap_pop_ignored, function in X Window System Interaction gdk_x11_display_error_trap_push, function in X Window System Interaction gdk_x11_display_get_glx_version, function in X Window System Interaction gdk_x11_display_get_startup_notification_id, function in X Window System Interaction gdk_x11_display_get_user_time, function in X Window System Interaction gdk_x11_display_get_xcursor, function in X Window System Interaction gdk_x11_display_get_xdisplay, function in X Window System Interaction gdk_x11_display_get_xrootwindow, function in X Window System Interaction gdk_x11_display_get_xscreen, function in X Window System Interaction gdk_x11_display_grab, function in X Window System Interaction gdk_x11_display_open, function in X Window System Interaction gdk_x11_display_set_cursor_theme, function in X Window System Interaction gdk_x11_display_set_program_class, function in X Window System Interaction gdk_x11_display_set_startup_notification_id, function in X Window System Interaction gdk_x11_display_set_surface_scale, function in X Window System Interaction gdk_x11_display_string_to_compound_text, function in X Window System Interaction gdk_x11_display_text_property_to_text_list, function in X Window System Interaction gdk_x11_display_ungrab, function in X Window System Interaction gdk_x11_display_utf8_to_compound_text, function in X Window System Interaction gdk_x11_free_compound_text, function in X Window System Interaction gdk_x11_free_text_list, function in X Window System Interaction gdk_x11_get_server_time, function in X Window System Interaction gdk_x11_get_xatom_by_name_for_display, function in X Window System Interaction gdk_x11_get_xatom_name_for_display, function in X Window System Interaction gdk_x11_keymap_get_group_for_state, function in X Window System Interaction gdk_x11_keymap_key_is_modifier, function in X Window System Interaction gdk_x11_lookup_xdisplay, function in X Window System Interaction gdk_x11_register_standard_event_type, function in X Window System Interaction gdk_x11_screen_get_current_desktop, function in X Window System Interaction gdk_x11_screen_get_monitor_output, function in X Window System Interaction gdk_x11_screen_get_number_of_desktops, function in X Window System Interaction gdk_x11_screen_get_screen_number, function in X Window System Interaction gdk_x11_screen_get_window_manager_name, function in X Window System Interaction gdk_x11_screen_get_xscreen, function in X Window System Interaction gdk_x11_screen_lookup_visual, function in X Window System Interaction gdk_x11_screen_supports_net_wm_hint, function in X Window System Interaction gdk_x11_set_sm_client_id, function in X Window System Interaction gdk_x11_surface_get_desktop, function in X Window System Interaction gdk_x11_surface_get_xid, function in X Window System Interaction gdk_x11_surface_lookup_for_display, function in X Window System Interaction gdk_x11_surface_move_to_current_desktop, function in X Window System Interaction gdk_x11_surface_move_to_desktop, function in X Window System Interaction gdk_x11_surface_set_frame_sync_enabled, function in X Window System Interaction gdk_x11_surface_set_theme_variant, function in X Window System Interaction gdk_x11_surface_set_user_time, function in X Window System Interaction gdk_x11_surface_set_utf8_property, function in X Window System Interaction gdk_x11_visual_get_xvisual, function in X Window System Interaction gdk_x11_xatom_to_atom_for_display, function in X Window System Interaction GDK_XID_TO_POINTER, macro in X Window System Interaction docs/reference/gdk/xml/gdkclipboard.xml0000664000175000017500000017234013464200076020321 0ustar mclasenmclasen ]> Clipboards 3 GDK4 Library Clipboards Share data between applications for Copy-and-Paste Functions GdkDisplay * gdk_clipboard_get_display () GdkContentFormats * gdk_clipboard_get_formats () gboolean gdk_clipboard_is_local () GdkContentProvider * gdk_clipboard_get_content () void gdk_clipboard_store_async () gboolean gdk_clipboard_store_finish () void gdk_clipboard_read_async () GInputStream * gdk_clipboard_read_finish () void gdk_clipboard_read_value_async () const GValue * gdk_clipboard_read_value_finish () void gdk_clipboard_read_texture_async () GdkTexture * gdk_clipboard_read_texture_finish () void gdk_clipboard_read_text_async () char * gdk_clipboard_read_text_finish () gboolean gdk_clipboard_set_content () void gdk_clipboard_set () void gdk_clipboard_set_valist () void gdk_clipboard_set_value () void gdk_clipboard_set_text () void gdk_clipboard_set_texture () Properties GdkContentProvider *contentRead GdkDisplay *displayRead / Write / Construct Only GdkContentFormats *formatsRead gbooleanlocalRead Signals voidchangedRun Last Types and Values GdkClipboard Object Hierarchy GObject ╰── GdkClipboard Includes#include <gdk/gdkwayland.h> Description The GdkClipboard object represents a clipboard of data shared between different applications or between different parts of the same application. To get a GdkClipboard object, use gdk_display_get_clipboard() or gdk_display_get_primary_clipboard(). You can find out about the data that is currently available in a clipboard using gdk_clipboard_get_formats(). To make text or image data available in a clipboard, use gdk_clipboard_set_text() or gdk_clipboard_set_texture(). For other data, you can use gdk_clipboard_set_content(), which takes a GdkContentProvider object. To read textual or image data from a clipboard, use gdk_clipboard_read_text_async() or gdk_clipboard_read_texture_async(). For other data, use gdk_clipboard_read_async(), which provides a GInputStream object. Functions gdk_clipboard_get_display () gdk_clipboard_get_display GdkDisplay * gdk_clipboard_get_display (GdkClipboard *clipboard); Gets the GdkDisplay that the clipboard was created for. Parameters clipboard a GdkClipboard Returns a GdkDisplay. [transfer none] gdk_clipboard_get_formats () gdk_clipboard_get_formats GdkContentFormats * gdk_clipboard_get_formats (GdkClipboard *clipboard); Gets the formats that the clipboard can provide its current contents in. Parameters clipboard a GdkClipboard Returns The formats of the clipboard. [transfer none] gdk_clipboard_is_local () gdk_clipboard_is_local gboolean gdk_clipboard_is_local (GdkClipboard *clipboard); Returns if the clipboard is local. A clipboard is considered local if it was last claimed by the running application. Note that gdk_clipboard_get_content() may return NULL even on a local clipboard. In this case the clipboard is empty. Parameters clipboard a GdkClipboard Returns TRUE if the clipboard is local gdk_clipboard_get_content () gdk_clipboard_get_content GdkContentProvider * gdk_clipboard_get_content (GdkClipboard *clipboard); Returns the GdkContentProvider currently set on clipboard . If the clipboard is empty or its contents are not owned by the current process, NULL will be returned. Parameters clipboard a GdkClipboard Returns The content of a clipboard or NULL if the clipboard does not maintain any content. [transfer none][nullable] gdk_clipboard_store_async () gdk_clipboard_store_async void gdk_clipboard_store_async (GdkClipboard *clipboard, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); Asynchronously instructs the clipboard to store its contents remotely to preserve them for later usage. If the clipboard is not local, this function does nothing but report success. This function is called automatically when gtk_main() or GtkApplication exit, so you likely don't need to call it. Parameters clipboard a GdkClipboard io_priority the I/O priority of the request. cancellable optional GCancellable object, NULL to ignore. [nullable] callback callback to call when the request is satisfied. [scope async] user_data the data to pass to callback function. [closure] gdk_clipboard_store_finish () gdk_clipboard_store_finish gboolean gdk_clipboard_store_finish (GdkClipboard *clipboard, GAsyncResult *result, GError **error); Finishes an asynchronous clipboard store started with gdk_clipboard_store_async(). Parameters clipboard a GdkClipboard result a GAsyncResult error a GError location to store the error occurring, or NULL to ignore. Returns TRUE if storing was successful. gdk_clipboard_read_async () gdk_clipboard_read_async void gdk_clipboard_read_async (GdkClipboard *clipboard, const char **mime_types, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); Asynchronously requests an input stream to read the clipboard 's contents from. When the operation is finished callback will be called. You can then call gdk_clipboard_read_finish() to get the result of the operation. The clipboard will choose the most suitable mime type from the given list to fulfill the request, preferring the ones listed first. Parameters clipboard a GdkClipboard mime_types a NULL-terminated array of mime types to choose from io_priority the I/O priority of the request. cancellable optional GCancellable object, NULL to ignore. [nullable] callback callback to call when the request is satisfied. [scope async] user_data the data to pass to callback function. [closure] gdk_clipboard_read_finish () gdk_clipboard_read_finish GInputStream * gdk_clipboard_read_finish (GdkClipboard *clipboard, GAsyncResult *result, const char **out_mime_type, GError **error); Finishes an asynchronous clipboard read started with gdk_clipboard_read_async(). Parameters clipboard a GdkClipboard result a GAsyncResult out_mime_type pointer to store the chosen mime type in or NULL. [out][allow-none][transfer none] error a GError location to store the error occurring, or NULL to ignore. Returns a GInputStream or NULL on error. [transfer full] gdk_clipboard_read_value_async () gdk_clipboard_read_value_async void gdk_clipboard_read_value_async (GdkClipboard *clipboard, GType type, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); Asynchronously request the clipboard contents converted to the given type . When the operation is finished callback will be called. You can then call gdk_clipboard_read_value_finish() to get the resulting GValue. For local clipboard contents that are available in the given GType, the value will be copied directly. Otherwise, GDK will try to use gdk_content_deserialize_async() to convert the clipboard's data. Parameters clipboard a GdkClipboard type a GType to read io_priority the I/O priority of the request. cancellable optional GCancellable object, NULL to ignore. [nullable] callback callback to call when the request is satisfied. [scope async] user_data the data to pass to callback function. [closure] gdk_clipboard_read_value_finish () gdk_clipboard_read_value_finish const GValue * gdk_clipboard_read_value_finish (GdkClipboard *clipboard, GAsyncResult *result, GError **error); Finishes an asynchronous clipboard read started with gdk_clipboard_read_value_async(). Parameters clipboard a GdkClipboard result a GAsyncResult error a GError location to store the error occurring, or NULL to ignore. Returns a GValue containing the result. [transfer none] gdk_clipboard_read_texture_async () gdk_clipboard_read_texture_async void gdk_clipboard_read_texture_async (GdkClipboard *clipboard, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); Asynchronously request the clipboard contents converted to a GdkPixbuf. When the operation is finished callback will be called. You can then call gdk_clipboard_read_texture_finish() to get the result. This is a simple wrapper around gdk_clipboard_read_value_async(). Use that function or gdk_clipboard_read_async() directly if you need more control over the operation. Parameters clipboard a GdkClipboard cancellable optional GCancellable object, NULL to ignore. [nullable] callback callback to call when the request is satisfied. [scope async] user_data the data to pass to callback function. [closure] gdk_clipboard_read_texture_finish () gdk_clipboard_read_texture_finish GdkTexture * gdk_clipboard_read_texture_finish (GdkClipboard *clipboard, GAsyncResult *result, GError **error); Finishes an asynchronous clipboard read started with gdk_clipboard_read_texture_async(). Parameters clipboard a GdkClipboard result a GAsyncResult error a GError location to store the error occurring, or NULL to ignore. Returns a new GdkTexture or NULL on error. [transfer full][nullable] gdk_clipboard_read_text_async () gdk_clipboard_read_text_async void gdk_clipboard_read_text_async (GdkClipboard *clipboard, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); Asynchronously request the clipboard contents converted to a string. When the operation is finished callback will be called. You can then call gdk_clipboard_read_text_finish() to get the result. This is a simple wrapper around gdk_clipboard_read_value_async(). Use that function or gdk_clipboard_read_async() directly if you need more control over the operation. Parameters clipboard a GdkClipboard cancellable optional GCancellable object, NULL to ignore. [nullable] callback callback to call when the request is satisfied. [scope async] user_data the data to pass to callback function. [closure] gdk_clipboard_read_text_finish () gdk_clipboard_read_text_finish char * gdk_clipboard_read_text_finish (GdkClipboard *clipboard, GAsyncResult *result, GError **error); Finishes an asynchronous clipboard read started with gdk_clipboard_read_text_async(). Parameters clipboard a GdkClipboard result a GAsyncResult error a GError location to store the error occurring, or NULL to ignore. Returns a new string or NULL on error. [transfer full][nullable] gdk_clipboard_set_content () gdk_clipboard_set_content gboolean gdk_clipboard_set_content (GdkClipboard *clipboard, GdkContentProvider *provider); Sets a new content provider on clipboard . The clipboard will claim the GdkDisplay's resources and advertise these new contents to other applications. In the rare case of a failure, this function will return FALSE. The clipboard will then continue reporting its old contents and ignore provider . If the contents are read by either an external application or the clipboard 's read functions, clipboard will select the best format to transfer the contents and then request that format from provider . Parameters clipboard a GdkClipboard provider the new contents of clipboard or NULL to clear the clipboard. [transfer none][allow-none] Returns TRUE if setting the clipboard succeeded gdk_clipboard_set () gdk_clipboard_set void gdk_clipboard_set (GdkClipboard *clipboard, GType type, ...); Sets the clipboard to contain the value collected from the given varargs. Parameters clipboard a GdkClipboard type type of value to set ... value contents conforming to type gdk_clipboard_set_valist () gdk_clipboard_set_valist void gdk_clipboard_set_valist (GdkClipboard *clipboard, GType type, va_list args); Sets the clipboard to contain the value collected from the given args . [skip] Parameters clipboard a GdkClipboard type type of value to set args varargs containing the value of type gdk_clipboard_set_value () gdk_clipboard_set_value void gdk_clipboard_set_value (GdkClipboard *clipboard, const GValue *value); Sets the clipboard to contain the given value . [rename-to gdk_clipboard_set] Parameters clipboard a GdkClipboard value a GValue to set gdk_clipboard_set_text () gdk_clipboard_set_text void gdk_clipboard_set_text (GdkClipboard *clipboard, const char *text); Puts the given text into the clipboard. [skip] Parameters clipboard a GdkClipboard text Text to put into the clipboard gdk_clipboard_set_texture () gdk_clipboard_set_texture void gdk_clipboard_set_texture (GdkClipboard *clipboard, GdkTexture *texture); Puts the given texture into the clipboard. [skip] Parameters clipboard a GdkClipboard texture a GdkTexture to put into the clipboard Types and Values GdkClipboard GdkClipboard typedef struct _GdkClipboard GdkClipboard; The GdkClipboard struct contains only private fields and should not be accessed directly. Property Details The <literal>“content”</literal> property GdkClipboard:content “content” GdkContentProvider * The GdkContentProvider or NULL if the clipboard is empty or contents are provided otherwise. Flags: Read The <literal>“display”</literal> property GdkClipboard:display “display” GdkDisplay * The GdkDisplay that the clipboard belongs to. Flags: Read / Write / Construct Only The <literal>“formats”</literal> property GdkClipboard:formats “formats” GdkContentFormats * The possible formats that the clipboard can provide its data in. Flags: Read The <literal>“local”</literal> property GdkClipboard:local “local” gboolean TRUE if the contents of the clipboard are owned by this process. Flags: Read Default value: TRUE Signal Details The <literal>“changed”</literal> signal GdkClipboard::changed void user_function (GdkClipboard *clipboard, gpointer user_data) The ::changed signal is emitted when the clipboard changes ownership. Parameters clipboard the object on which the signal was emitted user_data user data set when the signal handler was connected. Flags: Run Last See Also GdkContentProvider, GdkContentFormats docs/reference/gdk/xml/gdkcontentserializer.xml0000664000175000017500000010335313464200076022124 0ustar mclasenmclasen ]> GdkContentSerializer 3 GDK4 Library GdkContentSerializer Serialize content for transfer Functions void (*GdkContentSerializeFunc) () const char * gdk_content_serializer_get_mime_type () GType gdk_content_serializer_get_gtype () const GValue * gdk_content_serializer_get_value () GOutputStream * gdk_content_serializer_get_output_stream () int gdk_content_serializer_get_priority () GCancellable * gdk_content_serializer_get_cancellable () gpointer gdk_content_serializer_get_user_data () void gdk_content_serializer_set_task_data () gpointer gdk_content_serializer_get_task_data () void gdk_content_serializer_return_success () void gdk_content_serializer_return_error () void gdk_content_register_serializer () void gdk_content_serialize_async () gboolean gdk_content_serialize_finish () Types and Values GdkContentSerializer Object Hierarchy GObject ╰── GdkContentSerializer Implemented Interfaces GdkContentSerializer implements GAsyncResult. Includes#include <gdk/gdkwayland.h> Description A GdkContentSerializer is used to serialize content for inter-application data transfers. Functions GdkContentSerializeFunc () GdkContentSerializeFunc void (*GdkContentSerializeFunc) (GdkContentSerializer *serializer); The type of a function that can be registered with gdk_content_register_serializer(). When the function gets called to operate on content, it can call functions on the serializer object to obtain the mime type, output stream, user data, etc. for its operation. Parameters serializer a GdkContentSerializer gdk_content_serializer_get_mime_type () gdk_content_serializer_get_mime_type const char * gdk_content_serializer_get_mime_type (GdkContentSerializer *serializer); Gets the mime type to serialize to. Parameters serializer a GdkContentSerializer Returns the mime type for the current operation. [transfer none] gdk_content_serializer_get_gtype () gdk_content_serializer_get_gtype GType gdk_content_serializer_get_gtype (GdkContentSerializer *serializer); Gets the GType to of the object to serialize. Parameters serializer a GdkContentSerializer Returns the GType for the current operation gdk_content_serializer_get_value () gdk_content_serializer_get_value const GValue * gdk_content_serializer_get_value (GdkContentSerializer *serializer); Gets the GValue to read the object to serialize from. Parameters serializer a GdkContentSerializer Returns the GValue for the current operation. [transfer none] gdk_content_serializer_get_output_stream () gdk_content_serializer_get_output_stream GOutputStream * gdk_content_serializer_get_output_stream (GdkContentSerializer *serializer); Gets the output stream that was passed to gdk_content_serialize_async(). Parameters serializer a GdkContentSerializer Returns the output stream for the current operation. [transfer none] gdk_content_serializer_get_priority () gdk_content_serializer_get_priority int gdk_content_serializer_get_priority (GdkContentSerializer *serializer); Gets the io priority that was passed to gdk_content_serialize_async(). Parameters serializer a GdkContentSerializer Returns the io priority for the current operation gdk_content_serializer_get_cancellable () gdk_content_serializer_get_cancellable GCancellable * gdk_content_serializer_get_cancellable (GdkContentSerializer *serializer); Gets the cancellable that was passed to gdk_content_serialize_async(). Parameters serializer a GdkContentSerializer Returns the cancellable for the current operation. [transfer none] gdk_content_serializer_get_user_data () gdk_content_serializer_get_user_data gpointer gdk_content_serializer_get_user_data (GdkContentSerializer *serializer); Gets the user data that was passed when the serializer was registered. Parameters serializer a GdkContentSerializer Returns the user data for this serializer. [transfer none] gdk_content_serializer_set_task_data () gdk_content_serializer_set_task_data void gdk_content_serializer_set_task_data (GdkContentSerializer *serializer, gpointer data, GDestroyNotify notify); Associate data with the current serialization operation. Parameters serializer a GdkContentSerializer data data to associate with this operation notify destroy notify for data gdk_content_serializer_get_task_data () gdk_content_serializer_get_task_data gpointer gdk_content_serializer_get_task_data (GdkContentSerializer *serializer); Gets the data that was associated with serializer via gdk_content_serializer_set_task_data(). Parameters serializer a GdkContentSerializer Returns the task data for serializer . [transfer none] gdk_content_serializer_return_success () gdk_content_serializer_return_success void gdk_content_serializer_return_success (GdkContentSerializer *serializer); Indicate that the serialization has been successfully completed. Parameters serializer a GdkContentSerializer gdk_content_serializer_return_error () gdk_content_serializer_return_error void gdk_content_serializer_return_error (GdkContentSerializer *serializer, GError *error); Indicate that the serialization has ended with an error. This function consumes error . Parameters serializer a GdkContentSerializer error a GError gdk_content_register_serializer () gdk_content_register_serializer void gdk_content_register_serializer (GType type, const char *mime_type, GdkContentSerializeFunc serialize, gpointer data, GDestroyNotify notify); Registers a function to convert objects of the given type to a serialized representation with the given mime type. Parameters type the type of objects that the function can serialize mime_type the mime type to serialize to serialize the callback data data that serialize can access notify destroy notify for data gdk_content_serialize_async () gdk_content_serialize_async void gdk_content_serialize_async (GOutputStream *stream, const char *mime_type, const GValue *value, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); Serialize content and write it to the given output stream, asynchronously. When the operation is finished, callback will be called. You can then call gdk_content_serialize_finish() to get the result of the operation. Parameters stream a GOutputStream to write the serialized content to mime_type the mime type to serialize to value the content to serialize io_priority the io priority of the operation cancellable optional GCancellable object. [nullable] callback callback to call when the operation is done. [scope async] user_data data to pass to the callback function. [closure] gdk_content_serialize_finish () gdk_content_serialize_finish gboolean gdk_content_serialize_finish (GAsyncResult *result, GError **error); Finishes a content serialization operation. Parameters result the GAsyncResult error return location for an error Returns TRUE if the operation was successful, FALSE if an error occurred. In this case, error is set Types and Values GdkContentSerializer GdkContentSerializer typedef struct _GdkContentSerializer GdkContentSerializer; Should not be accessed directly. See Also GdkContentDeserializer, GdkContentProvider docs/reference/gdk/xml/gdkdisplaymanager.xml0000664000175000017500000005057513464200075021366 0ustar mclasenmclasen ]> GdkDisplayManager 3 GDK4 Library GdkDisplayManager Maintains a list of all open GdkDisplays Functions GdkDisplayManager * gdk_display_manager_get () GdkDisplay * gdk_display_manager_get_default_display () void gdk_display_manager_set_default_display () GSList * gdk_display_manager_list_displays () GdkDisplay * gdk_display_manager_open_display () void gdk_set_allowed_backends () Properties GdkDisplay *default-displayRead / Write Signals voiddisplay-openedRun Last Types and Values GdkDisplayManager Object Hierarchy GObject ╰── GdkDisplayManager Includes#include <gdk/gdk.h> Description The purpose of the GdkDisplayManager singleton object is to offer notification when displays appear or disappear or the default display changes. You can use gdk_display_manager_get() to obtain the GdkDisplayManager singleton, but that should be rarely necessary. Typically, initializing GTK opens a display that you can work with without ever accessing the GdkDisplayManager. The GDK library can be built with support for multiple backends. The GdkDisplayManager object determines which backend is used at runtime. When writing backend-specific code that is supposed to work with multiple GDK backends, you have to consider both compile time and runtime. At compile time, use the GDK_WINDOWING_X11, GDK_WINDOWING_WIN32 macros, etc. to find out which backends are present in the GDK library you are building your application against. At runtime, use type-check macros like GDK_IS_X11_DISPLAY() to find out which backend is in use: Backend-specific code Functions gdk_display_manager_get () gdk_display_manager_get GdkDisplayManager * gdk_display_manager_get (void); Gets the singleton GdkDisplayManager object. When called for the first time, this function consults the GDK_BACKEND environment variable to find out which of the supported GDK backends to use (in case GDK has been compiled with multiple backends). Applications can use gdk_set_allowed_backends() to limit what backends can be used. Returns The global GdkDisplayManager singleton; gdk_parse_args(), gdk_init(), or gdk_init_check() must have been called first. [transfer none] gdk_display_manager_get_default_display () gdk_display_manager_get_default_display GdkDisplay * gdk_display_manager_get_default_display (GdkDisplayManager *manager); Gets the default GdkDisplay. Parameters manager a GdkDisplayManager Returns a GdkDisplay, or NULL if there is no default display. [nullable][transfer none] gdk_display_manager_set_default_display () gdk_display_manager_set_default_display void gdk_display_manager_set_default_display (GdkDisplayManager *manager, GdkDisplay *display); Sets display as the default display. Parameters manager a GdkDisplayManager display a GdkDisplay gdk_display_manager_list_displays () gdk_display_manager_list_displays GSList * gdk_display_manager_list_displays (GdkDisplayManager *manager); List all currently open displays. Parameters manager a GdkDisplayManager Returns a newly allocated GSList of GdkDisplay objects. Free with g_slist_free() when you are done with it. [transfer container][element-type GdkDisplay] gdk_display_manager_open_display () gdk_display_manager_open_display GdkDisplay * gdk_display_manager_open_display (GdkDisplayManager *manager, const gchar *name); Opens a display. Parameters manager a GdkDisplayManager name the name of the display to open Returns a GdkDisplay, or NULL if the display could not be opened. [nullable][transfer none] gdk_set_allowed_backends () gdk_set_allowed_backends void gdk_set_allowed_backends (const gchar *backends); Sets a list of backends that GDK should try to use. This can be be useful if your application does not work with certain GDK backends. By default, GDK tries all included backends. For example, instructs GDK to try the Wayland backend first, followed by the Quartz backend, and then all others. If the GDK_BACKEND environment variable is set, it determines what backends are tried in what order, while still respecting the set of allowed backends that are specified by this function. The possible backend names are x11, win32, quartz, broadway, wayland. You can also include a * in the list to try all remaining backends. This call must happen prior to gdk_display_open(), gtk_init(), or gtk_init_check() in order to take effect. Parameters backends a comma-separated list of backends Types and Values GdkDisplayManager GdkDisplayManager typedef struct _GdkDisplayManager GdkDisplayManager; The GdkDisplayManager struct contains only private fields and should not be accessed directly. Property Details The <literal>“default-display”</literal> property GdkDisplayManager:default-display “default-display” GdkDisplay * The default display for GDK.Flags: Read / Write Signal Details The <literal>“display-opened”</literal> signal GdkDisplayManager::display-opened void user_function (GdkDisplayManager *manager, GdkDisplay *display, gpointer user_data) The ::display-opened signal is emitted when a display is opened. Parameters manager the object on which the signal is emitted display the opened display user_data user data set when the signal handler was connected. Flags: Run Last docs/reference/gdk/xml/gdkcairocontext.xml0000664000175000017500000001241613464200076021061 0ustar mclasenmclasen ]> GdkCairoContext 3 GDK4 Library GdkCairoContext Cairo draw context Functions cairo_t * gdk_cairo_context_cairo_create () Types and Values GdkCairoContext Includes#include <gdk/gdkwayland.h> Description GdkCairoContext is an object representing the platform-specific draw context. GdkCairoContexts are created for a GdkDisplay using gdk_surface_create_cairo_context(), and the context can then be used to draw on that GdkSurface. Functions gdk_cairo_context_cairo_create () gdk_cairo_context_cairo_create cairo_t * gdk_cairo_context_cairo_create (GdkCairoContext *self); Retrieves a Cairo context to be used to draw on the GdkSurface of context . A call to gdk_draw_context_begin_frame() with this context must have been done or this function will return NULL. The returned context is guaranteed to be valid until gdk_draw_context_end_frame() is called. Parameters self a GdkCairoContext that is currently drawing Returns a Cairo context to be used to draw the contents of the GdkSurface. NULL is returned when contet is not drawing. [transfer full][nullable] Types and Values GdkCairoContext GdkCairoContext typedef struct { GdkDrawContext parent_instance; } GdkCairoContext; The GdkCairoContext struct contains only private fields and should not be accessed directly. docs/reference/gdk/xml/general.xml0000664000175000017500000002041213464200075017300 0ustar mclasenmclasen ]> General 3 GDK4 Library General Library initialization and miscellaneous functions Types and Values #defineGDK_WINDOWING_X11 #defineGDK_WINDOWING_WIN32 #defineGDK_WINDOWING_QUARTZ #defineGDK_WINDOWING_WAYLAND #defineGDK_VERSION_4_0 #defineGDK_VERSION_MIN_REQUIRED #defineGDK_VERSION_MAX_ALLOWED #defineGDK_DISABLE_DEPRECATION_WARNINGS Includes#include <gdk/gdk.h> Description This section describes the GDK initialization functions and miscellaneous utility functions, as well as deprecation facilities. The GDK and GTK headers annotate deprecated APIs in a way that produces compiler warnings if these deprecated APIs are used. The warnings can be turned off by defining the macro GDK_DISABLE_DEPRECATION_WARNINGS before including the glib.h header. GDK and GTK also provide support for building applications against defined subsets of deprecated or new APIs. Define the macro GDK_VERSION_MIN_REQUIRED to specify up to what version you want to receive warnings about deprecated APIs. Define the macro GDK_VERSION_MAX_ALLOWED to specify the newest version whose API you want to use. Functions Types and Values GDK_WINDOWING_X11 GDK_WINDOWING_X11 #define GDK_WINDOWING_X11 The GDK_WINDOWING_X11 macro is defined if the X11 backend is supported. Use this macro to guard code that is specific to the X11 backend. GDK_WINDOWING_WIN32 GDK_WINDOWING_WIN32 #define GDK_WINDOWING_WIN32 The GDK_WINDOWING_WIN32 macro is defined if the Win32 backend is supported. Use this macro to guard code that is specific to the Win32 backend. GDK_WINDOWING_QUARTZ GDK_WINDOWING_QUARTZ #define GDK_WINDOWING_QUARTZ The GDK_WINDOWING_QUARTZ macro is defined if the Quartz backend is supported. Use this macro to guard code that is specific to the Quartz backend. GDK_WINDOWING_WAYLAND GDK_WINDOWING_WAYLAND #define GDK_WINDOWING_WAYLAND The GDK_WINDOWING_WAYLAND macro is defined if the Wayland backend is supported. Use this macro to guard code that is specific to the Wayland backend. GDK_VERSION_4_0 GDK_VERSION_4_0 #define GDK_VERSION_4_0 (G_ENCODE_VERSION (4, 0)) A macro that evaluates to the 4.0 version of GDK, in a format that can be used by the C pre-processor. GDK_VERSION_MIN_REQUIRED GDK_VERSION_MIN_REQUIRED # define GDK_VERSION_MIN_REQUIRED (GDK_VERSION_CUR_STABLE) A macro that should be defined by the user prior to including the gdk.h header. The definition should be one of the predefined GDK version macros: GDK_VERSION_4_0, GDK_VERSION_4_2,... This macro defines the lower bound for the GDK API to use. If a function has been deprecated in a newer version of GDK, it is possible to use this symbol to avoid the compiler warnings without disabling warning for every deprecated function. GDK_VERSION_MAX_ALLOWED GDK_VERSION_MAX_ALLOWED # define GDK_VERSION_MAX_ALLOWED GDK_VERSION_MIN_REQUIRED A macro that should be defined by the user prior to including the gdk.h header. The definition should be one of the predefined GDK version macros: GDK_VERSION_4_0, GDK_VERSION_4_2,... This macro defines the upper bound for the GDK API to use. If a function has been introduced in a newer version of GDK, it is possible to use this symbol to get compiler warnings when trying to use that function. GDK_DISABLE_DEPRECATION_WARNINGS GDK_DISABLE_DEPRECATION_WARNINGS #define GDK_DISABLE_DEPRECATION_WARNINGS A macro that should be defined before including the gdk.h header. If it is defined, no compiler warnings will be produced for uses of deprecated GDK and GTK APIs. docs/reference/gdk/xml/gdk4-doc.bottom0000664000175000017500000000304413464200076017766 0ustar mclasenmclasen docs/reference/gdk/xml/x_interaction.xml0000664000175000017500000036600313464200076020543 0ustar mclasenmclasen ]> X Window System Interaction 3 GDK4 Library X Window System Interaction X backend-specific functions Functions #defineGDK_SURFACE_XID() #defineGDK_DISPLAY_XDISPLAY() #defineGDK_POINTER_TO_XID() #defineGDK_XID_TO_POINTER() GdkDisplay * gdk_x11_lookup_xdisplay () guint32 gdk_x11_get_server_time () gint gdk_x11_device_get_id () GdkDevice * gdk_x11_device_manager_lookup () void gdk_disable_multidevice () GdkDisplay * gdk_x11_display_open () void gdk_x11_display_set_program_class () guint32 gdk_x11_display_get_user_time () void gdk_x11_display_broadcast_startup_message () const gchar * gdk_x11_display_get_startup_notification_id () void gdk_x11_display_set_startup_notification_id () Display * gdk_x11_display_get_xdisplay () Screen * gdk_x11_display_get_xscreen () Window gdk_x11_display_get_xrootwindow () Cursor gdk_x11_display_get_xcursor () void gdk_x11_display_grab () void gdk_x11_display_ungrab () void gdk_x11_display_error_trap_push () gint gdk_x11_display_error_trap_pop () void gdk_x11_display_error_trap_pop_ignored () void gdk_x11_display_set_cursor_theme () void gdk_x11_display_set_surface_scale () gboolean gdk_x11_display_get_glx_version () void gdk_x11_register_standard_event_type () int gdk_x11_screen_get_screen_number () Screen * gdk_x11_screen_get_xscreen () const char * gdk_x11_screen_get_window_manager_name () XID gdk_x11_screen_get_monitor_output () GdkX11Visual * gdk_x11_screen_lookup_visual () gboolean gdk_x11_screen_supports_net_wm_hint () guint32 gdk_x11_screen_get_number_of_desktops () guint32 gdk_x11_screen_get_current_desktop () GdkSurface * gdk_x11_surface_lookup_for_display () Window gdk_x11_surface_get_xid () void gdk_x11_surface_set_theme_variant () void gdk_x11_surface_set_user_time () void gdk_x11_surface_move_to_current_desktop () void gdk_x11_surface_move_to_desktop () guint32 gdk_x11_surface_get_desktop () void gdk_x11_surface_set_utf8_property () void gdk_x11_surface_set_frame_sync_enabled () gint gdk_x11_keymap_get_group_for_state () gboolean gdk_x11_keymap_key_is_modifier () Visual * gdk_x11_visual_get_xvisual () Atom gdk_x11_atom_to_xatom_for_display () GdkAtom gdk_x11_xatom_to_atom_for_display () Atom gdk_x11_get_xatom_by_name_for_display () const gchar * gdk_x11_get_xatom_name_for_display () void gdk_x11_set_sm_client_id () gint gdk_x11_display_text_property_to_text_list () void gdk_x11_free_text_list () gint gdk_x11_display_string_to_compound_text () gboolean gdk_x11_display_utf8_to_compound_text () void gdk_x11_free_compound_text () Includes#include <gdk/gdkx.h> Description The functions in this section are specific to the GDK X11 backend. To use them, you need to include the <gdk/gdkx.h> header and use the X11-specific pkg-config file gtk4-x11 to build your application. To make your code compile with other GDK backends, guard backend-specific calls by an ifdef as follows. Since GDK may be built with multiple backends, you should also check for the backend that is in use (e.g. by using the GDK_IS_X11_DISPLAY() macro). Functions GDK_SURFACE_XID() GDK_SURFACE_XID #define GDK_SURFACE_XID(win) (gdk_x11_surface_get_xid (win)) Returns the X window belonging to a GdkSurface. Parameters win a GdkSurface. Returns the Xlib Window of win . GDK_DISPLAY_XDISPLAY() GDK_DISPLAY_XDISPLAY #define GDK_DISPLAY_XDISPLAY(display) (gdk_x11_display_get_xdisplay (display)) Returns the display of a GdkDisplay. Parameters display a GdkDisplay Returns an Xlib Display* GDK_POINTER_TO_XID() GDK_POINTER_TO_XID #define GDK_POINTER_TO_XID(pointer) GPOINTER_TO_UINT(pointer) Converts a gpointer back to an XID that was previously converted using GDK_XID_TO_POINTER(). Parameters pointer pointer to extract an XID from GDK_XID_TO_POINTER() GDK_XID_TO_POINTER #define GDK_XID_TO_POINTER(xid) GUINT_TO_POINTER(xid) Converts an XID into a gpointer . This is useful with data structures that use pointer arguments such as GHashTable. Use GDK_POINTER_TO_XID() to convert the argument back to an XID. Parameters xid XID to stuff into the pointer gdk_x11_lookup_xdisplay () gdk_x11_lookup_xdisplay GdkDisplay * gdk_x11_lookup_xdisplay (Display *xdisplay); Find the GdkDisplay corresponding to xdisplay , if any exists. Parameters xdisplay a pointer to an X Display Returns the GdkDisplay, if found, otherwise NULL. [transfer none][type GdkX11Display] gdk_x11_get_server_time () gdk_x11_get_server_time guint32 gdk_x11_get_server_time (GdkSurface *surface); Routine to get the current X server time stamp. Parameters surface a GdkSurface, used for communication with the server. The surface must have GDK_PROPERTY_CHANGE_MASK in its events mask or a hang will result. [type GdkX11Surface] Returns the time stamp. gdk_x11_device_get_id () gdk_x11_device_get_id gint gdk_x11_device_get_id (GdkDevice *device); Returns the device ID as seen by XInput2.
If gdk_disable_multidevice() has been called, this function will respectively return 2/3 for the core pointer and keyboard, (matching the IDs for the Virtual Core Pointer and Keyboard in XInput 2), but calling this function on any slave devices (i.e. those managed via XInput 1.x), will return 0.
Parameters device a GdkDevice. [type GdkX11DeviceCore] Returns the XInput2 device ID.
gdk_x11_device_manager_lookup () gdk_x11_device_manager_lookup GdkDevice * gdk_x11_device_manager_lookup (GdkX11DeviceManagerCore *device_manager, gint device_id); Returns the GdkDevice that wraps the given device ID. Parameters device_manager a GdkDeviceManager. [type GdkX11DeviceManagerCore] device_id a device ID, as understood by the XInput2 protocol Returns The GdkDevice wrapping the device ID, or NULL if the given ID doesn’t currently represent a device. [transfer none][allow-none][type GdkX11DeviceCore] gdk_disable_multidevice () gdk_disable_multidevice void gdk_disable_multidevice (void); Disables multidevice support in GDKs X11 backend. This call must happen prior to gdk_display_open(), gtk_init() or gtk_init_check() in order to take effect. Most common GTK+ applications won’t ever need to call this. Only applications that do mixed GDK/Xlib calls could want to disable multidevice support if such Xlib code deals with input devices in any way and doesn’t observe the presence of XInput 2. gdk_x11_display_open () gdk_x11_display_open GdkDisplay * gdk_x11_display_open (const char *display_name); Tries to open a new display to the X server given by display_name . If opening the display fails, NULL is returned. Parameters display_name name of the X display. See the XOpenDisplay() for details. [allow-none] Returns The new display or NULL on error. [nullable][transfer full] gdk_x11_display_set_program_class () gdk_x11_display_set_program_class void gdk_x11_display_set_program_class (GdkDisplay *display, const char *program_class); Sets the program class. The X11 backend uses the program class to set the class name part of the WM_CLASS property on toplevel windows; see the ICCCM. Parameters display a GdkDisplay program_class a string gdk_x11_display_get_user_time () gdk_x11_display_get_user_time guint32 gdk_x11_display_get_user_time (GdkDisplay *display); Returns the timestamp of the last user interaction on display . The timestamp is taken from events caused by user interaction such as key presses or pointer movements. See gdk_x11_surface_set_user_time(). Parameters display a GdkDisplay. [type GdkX11Display] Returns the timestamp of the last user interaction gdk_x11_display_broadcast_startup_message () gdk_x11_display_broadcast_startup_message void gdk_x11_display_broadcast_startup_message (GdkDisplay *display, const char *message_type, ...); Sends a startup notification message of type message_type to display . This is a convenience function for use by code that implements the freedesktop startup notification specification. Applications should not normally need to call it directly. See the Startup Notification Protocol specification for definitions of the message types and keys that can be used. Parameters display a GdkDisplay. [type GdkX11Display] message_type startup notification message type ("new", "change", or "remove") ... a list of key/value pairs (as strings), terminated by a NULL key. (A NULL value for a key will cause that key to be skipped in the output.) gdk_x11_display_get_startup_notification_id () gdk_x11_display_get_startup_notification_id const gchar * gdk_x11_display_get_startup_notification_id (GdkDisplay *display); Gets the startup notification ID for a display. Parameters display a GdkDisplay. [type GdkX11Display] Returns the startup notification ID for display gdk_x11_display_set_startup_notification_id () gdk_x11_display_set_startup_notification_id void gdk_x11_display_set_startup_notification_id (GdkDisplay *display, const gchar *startup_id); Sets the startup notification ID for a display. This is usually taken from the value of the DESKTOP_STARTUP_ID environment variable, but in some cases (such as the application not being launched using exec()) it can come from other sources. If the ID contains the string "_TIME" then the portion following that string is taken to be the X11 timestamp of the event that triggered the application to be launched and the GDK current event time is set accordingly. The startup ID is also what is used to signal that the startup is complete (for example, when opening a window or when calling gdk_notify_startup_complete()). Parameters display a GdkDisplay. [type GdkX11Display] startup_id the startup notification ID (must be valid utf8) gdk_x11_display_get_xdisplay () gdk_x11_display_get_xdisplay Display * gdk_x11_display_get_xdisplay (GdkDisplay *display); Returns the X display of a GdkDisplay. Parameters display a GdkDisplay. [type GdkX11Display] Returns an X display. [transfer none] gdk_x11_display_get_xscreen () gdk_x11_display_get_xscreen Screen * gdk_x11_display_get_xscreen (GdkDisplay *display); Returns the X Screen used by GdkDisplay. Parameters display a GdkDisplay. [type GdkX11Display] Returns an X Screen. [transfer none] gdk_x11_display_get_xrootwindow () gdk_x11_display_get_xrootwindow Window gdk_x11_display_get_xrootwindow (GdkDisplay *display); Returns the root X window used by GdkDisplay. Parameters display a GdkDisplay. [type GdkX11Display] Returns an X Window gdk_x11_display_get_xcursor () gdk_x11_display_get_xcursor Cursor gdk_x11_display_get_xcursor (GdkDisplay *display, GdkCursor *cursor); Returns the X cursor belonging to a GdkCursor, potentially creating the cursor. Be aware that the returned cursor may not be unique to cursor . It may for example be shared with its fallback cursor. On old X servers that don't support the XCursor extension, all cursors may even fall back to a few default cursors. Parameters display a GdkDisplay. [type GdkX11Display] cursor a GdkCursor. Returns an Xlib Cursor. gdk_x11_display_grab () gdk_x11_display_grab void gdk_x11_display_grab (GdkDisplay *display); Call XGrabServer() on display . To ungrab the display again, use gdk_x11_display_ungrab(). gdk_x11_display_grab()/gdk_x11_display_ungrab() calls can be nested. Parameters display a GdkDisplay. [type GdkX11Display] gdk_x11_display_ungrab () gdk_x11_display_ungrab void gdk_x11_display_ungrab (GdkDisplay *display); Ungrab display after it has been grabbed with gdk_x11_display_grab(). Parameters display a GdkDisplay. [type GdkX11Display] gdk_x11_display_error_trap_push () gdk_x11_display_error_trap_push void gdk_x11_display_error_trap_push (GdkDisplay *display); Begins a range of X requests on display for which X error events will be ignored. Unignored errors (when no trap is pushed) will abort the application. Use gdk_x11_display_error_trap_pop() or gdk_x11_display_error_trap_pop_ignored()to lift a trap pushed with this function. See also gdk_error_trap_push() to push a trap on all displays. Parameters display a GdkDisplay. [type GdkX11Display] gdk_x11_display_error_trap_pop () gdk_x11_display_error_trap_pop gint gdk_x11_display_error_trap_pop (GdkDisplay *display); Pops the error trap pushed by gdk_x11_display_error_trap_push(). Will XSync() if necessary and will always block until the error is known to have occurred or not occurred, so the error code can be returned. If you don’t need to use the return value, gdk_x11_display_error_trap_pop_ignored() would be more efficient. See gdk_error_trap_pop() for the all-displays-at-once equivalent. Parameters display the display. [type GdkX11Display] Returns X error code or 0 on success gdk_x11_display_error_trap_pop_ignored () gdk_x11_display_error_trap_pop_ignored void gdk_x11_display_error_trap_pop_ignored (GdkDisplay *display); Pops the error trap pushed by gdk_x11_display_error_trap_push(). Does not block to see if an error occurred; merely records the range of requests to ignore errors for, and ignores those errors if they arrive asynchronously. See gdk_error_trap_pop_ignored() for the all-displays-at-once equivalent. Parameters display the display. [type GdkX11Display] gdk_x11_display_set_cursor_theme () gdk_x11_display_set_cursor_theme void gdk_x11_display_set_cursor_theme (GdkDisplay *display, const gchar *theme, const gint size); Sets the cursor theme from which the images for cursor should be taken. If the windowing system supports it, existing cursors created with gdk_cursor_new(), gdk_cursor_new_for_display() and gdk_cursor_new_from_name() are updated to reflect the theme change. Custom cursors constructed with gdk_cursor_new_from_texture() will have to be handled by the application (GTK+ applications can learn about cursor theme changes by listening for change notification for the corresponding GtkSetting). Parameters display a GdkDisplay. [type GdkX11Display] theme the name of the cursor theme to use, or NULL to unset a previously set value. [nullable] size the cursor size to use, or 0 to keep the previous size gdk_x11_display_set_surface_scale () gdk_x11_display_set_surface_scale void gdk_x11_display_set_surface_scale (GdkDisplay *display, gint scale); Forces a specific window scale for all windows on this display, instead of using the default or user configured scale. This is can be used to disable scaling support by setting scale to 1, or to programmatically set the window scale. Once the scale is set by this call it will not change in response to later user configuration changes. Parameters display the display. [type GdkX11Display] scale The new scale value gdk_x11_display_get_glx_version () gdk_x11_display_get_glx_version gboolean gdk_x11_display_get_glx_version (GdkDisplay *display, gint *major, gint *minor); Retrieves the version of the GLX implementation. Parameters display a GdkDisplay major return location for the GLX major version. [out] minor return location for the GLX minor version. [out] Returns TRUE if GLX is available gdk_x11_register_standard_event_type () gdk_x11_register_standard_event_type void gdk_x11_register_standard_event_type (GdkDisplay *display, gint event_base, gint n_events); Registers interest in receiving extension events with type codes between event_base and event_base + n_events - 1. The registered events must have the window field in the same place as core X events (this is not the case for e.g. XKB extension events). GDK may register the events of some X extensions on its own. This function should only be needed in unusual circumstances, e.g. when filtering XInput extension events on the root window. Parameters display a GdkDisplay. [type GdkX11Display] event_base first event type code to register n_events number of event type codes to register gdk_x11_screen_get_screen_number () gdk_x11_screen_get_screen_number int gdk_x11_screen_get_screen_number (GdkX11Screen *screen); Returns the index of a GdkX11Screen. Parameters screen a GdkX11Screen Returns the position of screen among the screens of its display gdk_x11_screen_get_xscreen () gdk_x11_screen_get_xscreen Screen * gdk_x11_screen_get_xscreen (GdkX11Screen *screen); Returns the screen of a GdkX11Screen. Parameters screen a GdkX11Screen Returns an Xlib Screen*. [transfer none] gdk_x11_screen_get_window_manager_name () gdk_x11_screen_get_window_manager_name const char * gdk_x11_screen_get_window_manager_name (GdkX11Screen *screen); Returns the name of the window manager for screen . Parameters screen a GdkX11Screen Returns the name of the window manager screen screen , or "unknown" if the window manager is unknown. The string is owned by GDK and should not be freed. gdk_x11_screen_get_monitor_output () gdk_x11_screen_get_monitor_output XID gdk_x11_screen_get_monitor_output (GdkX11Screen *screen, gint monitor_num); Gets the XID of the specified output/monitor. If the X server does not support version 1.2 of the RANDR extension, 0 is returned. Parameters screen a GdkX11Screen monitor_num number of the monitor, between 0 and gdk_screen_get_n_monitors (screen) Returns the XID of the monitor gdk_x11_screen_lookup_visual () gdk_x11_screen_lookup_visual GdkX11Visual * gdk_x11_screen_lookup_visual (GdkX11Screen *screen, VisualID xvisualid); Looks up the GdkVisual for a particular screen and X Visual ID. Parameters screen a GdkX11Screen. xvisualid an X Visual ID. Returns the GdkVisual (owned by the screen object), or NULL if the visual ID wasn’t found. [transfer none][type GdkX11Visual] gdk_x11_screen_supports_net_wm_hint () gdk_x11_screen_supports_net_wm_hint gboolean gdk_x11_screen_supports_net_wm_hint (GdkX11Screen *screen, GdkAtom property); This function is specific to the X11 backend of GDK, and indicates whether the window manager supports a certain hint from the Extended Window Manager Hints specification. When using this function, keep in mind that the window manager can change over time; so you shouldn’t use this function in a way that impacts persistent application state. A common bug is that your application can start up before the window manager does when the user logs in, and before the window manager starts gdk_x11_screen_supports_net_wm_hint() will return FALSE for every property. You can monitor the window_manager_changed signal on GdkX11Screen to detect a window manager change. Parameters screen the relevant GdkX11Screen. property a property atom. Returns TRUE if the window manager supports property gdk_x11_screen_get_number_of_desktops () gdk_x11_screen_get_number_of_desktops guint32 gdk_x11_screen_get_number_of_desktops (GdkX11Screen *screen); Returns the number of workspaces for screen when running under a window manager that supports multiple workspaces, as described in the Extended Window Manager Hints specification. Parameters screen a GdkX11Screen Returns the number of workspaces, or 0 if workspaces are not supported gdk_x11_screen_get_current_desktop () gdk_x11_screen_get_current_desktop guint32 gdk_x11_screen_get_current_desktop (GdkX11Screen *screen); Returns the current workspace for screen when running under a window manager that supports multiple workspaces, as described in the Extended Window Manager Hints specification. Parameters screen a GdkX11Screen Returns the current workspace, or 0 if workspaces are not supported gdk_x11_surface_lookup_for_display () gdk_x11_surface_lookup_for_display GdkSurface * gdk_x11_surface_lookup_for_display (GdkDisplay *display, Window window); Looks up the GdkSurface that wraps the given native window handle. Parameters display the GdkDisplay corresponding to the window handle. [type GdkX11Display] window an Xlib Window Returns the GdkSurface wrapper for the native window, or NULL if there is none. [transfer none][type GdkX11Surface] gdk_x11_surface_get_xid () gdk_x11_surface_get_xid Window gdk_x11_surface_get_xid (GdkSurface *surface); Returns the X resource (surface) belonging to a GdkSurface. Parameters surface a native GdkSurface. [type GdkX11Surface] Returns the ID of drawable ’s X resource. gdk_x11_surface_set_theme_variant () gdk_x11_surface_set_theme_variant void gdk_x11_surface_set_theme_variant (GdkSurface *surface, const char *variant); GTK+ applications can request a dark theme variant. In order to make other applications - namely window managers using GTK+ for themeing - aware of this choice, GTK+ uses this function to export the requested theme variant as _GTK_THEME_VARIANT property on toplevel surfaces. Note that this property is automatically updated by GTK+, so this function should only be used by applications which do not use GTK+ to create toplevel surfaces. Parameters surface a GdkSurface. [type GdkX11Surface] variant the theme variant to export gdk_x11_surface_set_user_time () gdk_x11_surface_set_user_time void gdk_x11_surface_set_user_time (GdkSurface *surface, guint32 timestamp); The application can use this call to update the _NET_WM_USER_TIME property on a toplevel surface. This property stores an Xserver time which represents the time of the last user input event received for this surface. This property may be used by the window manager to alter the focus, stacking, and/or placement behavior of surfaces when they are mapped depending on whether the new surface was created by a user action or is a "pop-up" surface activated by a timer or some other event. Note that this property is automatically updated by GDK, so this function should only be used by applications which handle input events bypassing GDK. Parameters surface A toplevel GdkSurface. [type GdkX11Surface] timestamp An XServer timestamp to which the property should be set gdk_x11_surface_move_to_current_desktop () gdk_x11_surface_move_to_current_desktop void gdk_x11_surface_move_to_current_desktop (GdkSurface *surface); Moves the surface to the correct workspace when running under a window manager that supports multiple workspaces, as described in the Extended Window Manager Hints specification. Will not do anything if the surface is already on all workspaces. Parameters surface a GdkSurface. [type GdkX11Surface] gdk_x11_surface_move_to_desktop () gdk_x11_surface_move_to_desktop void gdk_x11_surface_move_to_desktop (GdkSurface *surface, guint32 desktop); Moves the surface to the given workspace when running unde a window manager that supports multiple workspaces, as described in the Extended Window Manager Hints specification. Parameters surface a GdkSurface. [type GdkX11Surface] desktop the number of the workspace to move the surface to gdk_x11_surface_get_desktop () gdk_x11_surface_get_desktop guint32 gdk_x11_surface_get_desktop (GdkSurface *surface); Gets the number of the workspace surface is on. Parameters surface a GdkSurface. [type GdkX11Surface] Returns the current workspace of surface gdk_x11_surface_set_utf8_property () gdk_x11_surface_set_utf8_property void gdk_x11_surface_set_utf8_property (GdkSurface *surface, const gchar *name, const gchar *value); This function modifies or removes an arbitrary X11 window property of type UTF8_STRING. If the given surface is not a toplevel surface, it is ignored. Parameters surface a GdkSurface. [type GdkX11Surface] name Property name, will be interned as an X atom value Property value, or NULL to delete. [allow-none] gdk_x11_surface_set_frame_sync_enabled () gdk_x11_surface_set_frame_sync_enabled void gdk_x11_surface_set_frame_sync_enabled (GdkSurface *surface, gboolean frame_sync_enabled); This function can be used to disable frame synchronization for a surface. Normally frame synchronziation will be enabled or disabled based on whether the system has a compositor that supports frame synchronization, but if the surface is not directly managed by the window manager, then frame synchronziation may need to be disabled. This is the case for a surface embedded via the XEMBED protocol. Parameters surface a native GdkSurface. [type GdkX11Surface] frame_sync_enabled whether frame-synchronization should be enabled gdk_x11_keymap_get_group_for_state () gdk_x11_keymap_get_group_for_state gint gdk_x11_keymap_get_group_for_state (GdkKeymap *keymap, guint state); Extracts the group from the state field sent in an X Key event. This is only needed for code processing raw X events, since GdkEventKey directly includes an is_modifier field. Parameters keymap a GdkX11Keymap. [type GdkX11Keymap] state raw state returned from X Returns the index of the active keyboard group for the event gdk_x11_keymap_key_is_modifier () gdk_x11_keymap_key_is_modifier gboolean gdk_x11_keymap_key_is_modifier (GdkKeymap *keymap, guint keycode); Determines whether a particular key code represents a key that is a modifier. That is, it’s a key that normally just affects the keyboard state and the behavior of other keys rather than producing a direct effect itself. This is only needed for code processing raw X events, since GdkEventKey directly includes an is_modifier field. Parameters keymap a GdkX11Keymap. [type GdkX11Keymap] keycode the hardware keycode from a key event Returns TRUE if the hardware keycode is a modifier key gdk_x11_visual_get_xvisual () gdk_x11_visual_get_xvisual Visual * gdk_x11_visual_get_xvisual (GdkX11Visual *visual); Returns the X visual belonging to a GdkVisual. Parameters visual a GdkVisual. [type GdkX11Visual] Returns an Xlib Visual*. [transfer none] gdk_x11_atom_to_xatom_for_display () gdk_x11_atom_to_xatom_for_display Atom gdk_x11_atom_to_xatom_for_display (GdkDisplay *display, GdkAtom atom); Converts from a GdkAtom to the X atom for a GdkDisplay with the same string value. The special value NULL is converted to None. Parameters display A GdkDisplay. [type GdkX11Display] atom A GdkAtom, or NULL Returns the X atom corresponding to atom , or None gdk_x11_xatom_to_atom_for_display () gdk_x11_xatom_to_atom_for_display GdkAtom gdk_x11_xatom_to_atom_for_display (GdkDisplay *display, Atom xatom); Convert from an X atom for a GdkDisplay to the corresponding GdkAtom. Parameters display A GdkDisplay. [type GdkX11Display] xatom an X atom Returns the corresponding GdkAtom. [transfer none] gdk_x11_get_xatom_by_name_for_display () gdk_x11_get_xatom_by_name_for_display Atom gdk_x11_get_xatom_by_name_for_display (GdkDisplay *display, const gchar *atom_name); Returns the X atom for a GdkDisplay corresponding to atom_name . This function caches the result, so if called repeatedly it is much faster than XInternAtom(), which is a round trip to the server each time. Parameters display a GdkDisplay. [type GdkX11Display] atom_name a string Returns a X atom for a GdkDisplay gdk_x11_get_xatom_name_for_display () gdk_x11_get_xatom_name_for_display const gchar * gdk_x11_get_xatom_name_for_display (GdkDisplay *display, Atom xatom); Returns the name of an X atom for its display. This function is meant mainly for debugging, so for convenience, unlike XAtomName() and the result doesn’t need to be freed. Parameters display the GdkDisplay where xatom is defined. [type GdkX11Display] xatom an X atom Returns name of the X atom; this string is owned by GDK, so it shouldn’t be modifed or freed. gdk_x11_set_sm_client_id () gdk_x11_set_sm_client_id void gdk_x11_set_sm_client_id (const gchar *sm_client_id); Sets the SM_CLIENT_ID property on the application’s leader window so that the window manager can save the application’s state using the X11R6 ICCCM session management protocol. See the X Session Management Library documentation for more information on session management and the Inter-Client Communication Conventions Manual Parameters sm_client_id the client id assigned by the session manager when the connection was opened, or NULL to remove the property. [nullable] gdk_x11_display_text_property_to_text_list () gdk_x11_display_text_property_to_text_list gint gdk_x11_display_text_property_to_text_list (GdkDisplay *display, GdkAtom encoding, gint format, const guchar *text, gint length, gchar ***list); Convert a text string from the encoding as it is stored in a property into an array of strings in the encoding of the current locale. (The elements of the array represent the nul-separated elements of the original text string.) Parameters display The GdkDisplay where the encoding is defined. [type GdkX11Display] encoding an atom representing the encoding. The most common values for this are STRING, or COMPOUND_TEXT. This is value used as the type for the property format the format of the property text The text data length The number of items to transform list location to store an array of strings in the encoding of the current locale. This array should be freed using gdk_free_text_list(). Returns the number of strings stored in list, or 0, if the conversion failed gdk_x11_free_text_list () gdk_x11_free_text_list void gdk_x11_free_text_list (gchar **list); Frees the array of strings created by gdk_x11_display_text_property_to_text_list(). Parameters list the value stored in the list parameter by a call to gdk_x11_display_text_property_to_text_list(). gdk_x11_display_string_to_compound_text () gdk_x11_display_string_to_compound_text gint gdk_x11_display_string_to_compound_text (GdkDisplay *display, const gchar *str, GdkAtom *encoding, gint *format, guchar **ctext, gint *length); Convert a string from the encoding of the current locale into a form suitable for storing in a window property. Parameters display the GdkDisplay where the encoding is defined. [type GdkX11Display] str a nul-terminated string encoding location to store the encoding atom (to be used as the type for the property). [out][transfer none] format location to store the format of the property. [out] ctext location to store newly allocated data for the property. [out][array length=length] length the length of ctext , in bytes Returns 0 upon success, non-zero upon failure gdk_x11_display_utf8_to_compound_text () gdk_x11_display_utf8_to_compound_text gboolean gdk_x11_display_utf8_to_compound_text (GdkDisplay *display, const gchar *str, GdkAtom *encoding, gint *format, guchar **ctext, gint *length); Converts from UTF-8 to compound text. Parameters display a GdkDisplay. [type GdkX11Display] str a UTF-8 string encoding location to store resulting encoding. [out] format location to store format of the result. [out] ctext location to store the data of the result. [out][array length=length] length location to store the length of the data stored in ctext Returns TRUE if the conversion succeeded, otherwise FALSE gdk_x11_free_compound_text () gdk_x11_free_compound_text void gdk_x11_free_compound_text (guchar *ctext); Frees the data returned from gdk_x11_display_string_to_compound_text(). Parameters ctext The pointer stored in ctext from a call to gdk_x11_display_string_to_compound_text().
Types and Values
docs/reference/gdk/xml/pango_interaction.xml0000664000175000017500000003226013464200075021372 0ustar mclasenmclasen ]> Pango Interaction 3 GDK4 Library Pango Interaction Using Pango in GDK Functions cairo_region_t * gdk_pango_layout_get_clip_region () cairo_region_t * gdk_pango_layout_line_get_clip_region () Includes#include <gdk/gdk.h> Description Pango is the text layout system used by GDK and GTK+. The functions and types in this section are used to obtain clip regions for PangoLayouts, and to get PangoContexts that can be used with GDK. Creating a PangoLayout object is the first step in rendering text, and requires getting a handle to a PangoContext. For GTK+ programs, you’ll usually want to use gtk_widget_get_pango_context(), or gtk_widget_create_pango_layout(). Once you have a PangoLayout, you can set the text and attributes of it with Pango functions like pango_layout_set_text() and get its size with pango_layout_get_size(). (Note that Pango uses a fixed point system internally, so converting between Pango units and pixels using PANGO_SCALE or the PANGO_PIXELS() macro.) Rendering a Pango layout is done most simply with pango_cairo_show_layout(); you can also draw pieces of the layout with pango_cairo_show_layout_line(). Draw transformed text with Pango and cairo Output of the <link linkend="rotated-example">example</link> above. Functions gdk_pango_layout_get_clip_region () gdk_pango_layout_get_clip_region cairo_region_t * gdk_pango_layout_get_clip_region (PangoLayout *layout, gint x_origin, gint y_origin, const gint *index_ranges, gint n_ranges); Obtains a clip region which contains the areas where the given ranges of text would be drawn. x_origin and y_origin are the top left point to center the layout. index_ranges should contain ranges of bytes in the layout’s text. Note that the regions returned correspond to logical extents of the text ranges, not ink extents. So the drawn layout may in fact touch areas out of the clip region. The clip region is mainly useful for highlightling parts of text, such as when text is selected. [skip] Parameters layout a PangoLayout x_origin X pixel where you intend to draw the layout with this clip y_origin Y pixel where you intend to draw the layout with this clip index_ranges array of byte indexes into the layout, where even members of array are start indexes and odd elements are end indexes n_ranges number of ranges in index_ranges , i.e. half the size of index_ranges Returns a clip region containing the given ranges gdk_pango_layout_line_get_clip_region () gdk_pango_layout_line_get_clip_region cairo_region_t * gdk_pango_layout_line_get_clip_region (PangoLayoutLine *line, gint x_origin, gint y_origin, const gint *index_ranges, gint n_ranges); Obtains a clip region which contains the areas where the given ranges of text would be drawn. x_origin and y_origin are the top left position of the layout. index_ranges should contain ranges of bytes in the layout’s text. The clip region will include space to the left or right of the line (to the layout bounding box) if you have indexes above or below the indexes contained inside the line. This is to draw the selection all the way to the side of the layout. However, the clip region is in line coordinates, not layout coordinates. Note that the regions returned correspond to logical extents of the text ranges, not ink extents. So the drawn line may in fact touch areas out of the clip region. The clip region is mainly useful for highlightling parts of text, such as when text is selected. [skip] Parameters line a PangoLayoutLine x_origin X pixel where you intend to draw the layout line with this clip y_origin baseline pixel where you intend to draw the layout line with this clip index_ranges array of byte indexes into the layout, where even members of array are start indexes and odd elements are end indexes. [array] n_ranges number of ranges in index_ranges , i.e. half the size of index_ranges Returns a clip region containing the given ranges Types and Values docs/reference/gdk/xml/gdk4-doc.top0000664000175000017500000000000013464200076017251 0ustar mclasenmclasendocs/reference/gdk/xml/object_index.sgml0000664000175000017500000000473113464200074020467 0ustar mclasenmclasen ]> GAppLaunchContext GBoxed GInterface GObject GdkAppLaunchContext GdkClipboard GdkContentDeserializer GdkContentFormats GdkContentProvider GdkContentSerializer GdkCursor GdkDevice GdkDevicePad GdkDisplay GdkDisplayManager GdkDrag GdkDrawContext GdkDrop GdkEvent GdkFrameClock GdkGLContext GdkKeymap GdkMonitor GdkPaintable GdkRGBA GdkRectangle GdkSeat GdkSurface GdkTexture GdkVulkanContext docs/reference/gdk/xml/gdkcontentdeserializer.xml0000664000175000017500000010526313464200076022437 0ustar mclasenmclasen ]> GdkContentDeserializer 3 GDK4 Library GdkContentDeserializer Deserialize content for transfer Functions void (*GdkContentDeserializeFunc) () const char * gdk_content_deserializer_get_mime_type () GType gdk_content_deserializer_get_gtype () GValue * gdk_content_deserializer_get_value () GInputStream * gdk_content_deserializer_get_input_stream () int gdk_content_deserializer_get_priority () GCancellable * gdk_content_deserializer_get_cancellable () gpointer gdk_content_deserializer_get_user_data () void gdk_content_deserializer_set_task_data () gpointer gdk_content_deserializer_get_task_data () void gdk_content_deserializer_return_success () void gdk_content_deserializer_return_error () void gdk_content_register_deserializer () void gdk_content_deserialize_async () gboolean gdk_content_deserialize_finish () Types and Values GdkContentDeserializer Object Hierarchy GObject ╰── GdkContentDeserializer Implemented Interfaces GdkContentDeserializer implements GAsyncResult. Includes#include <gdk/gdkwayland.h> Description A GdkContentDeserializer is used to deserialize content received via inter-application data transfers. Functions GdkContentDeserializeFunc () GdkContentDeserializeFunc void (*GdkContentDeserializeFunc) (GdkContentDeserializer *deserializer); The type of a function that can be registered with gdk_content_register_deserializer(). When the function gets called to operate on content, it can call functions on the deserializer object to obtain the mime type, input stream, user data, etc. for its operation. Parameters deserializer a GdkContentDeserializer gdk_content_deserializer_get_mime_type () gdk_content_deserializer_get_mime_type const char * gdk_content_deserializer_get_mime_type (GdkContentDeserializer *deserializer); Gets the mime type to deserialize from. Parameters deserializer a GdkContentDeserializer Returns the mime type for the current operation. [transfer none] gdk_content_deserializer_get_gtype () gdk_content_deserializer_get_gtype GType gdk_content_deserializer_get_gtype (GdkContentDeserializer *deserializer); Gets the GType to create an instance of. Parameters deserializer a GdkContentDeserializer Returns the GType for the current operation gdk_content_deserializer_get_value () gdk_content_deserializer_get_value GValue * gdk_content_deserializer_get_value (GdkContentDeserializer *deserializer); Gets the GValue to store the deserialized object in. Parameters deserializer a GdkContentDeserializer Returns the GValue for the current operation. [transfer none] gdk_content_deserializer_get_input_stream () gdk_content_deserializer_get_input_stream GInputStream * gdk_content_deserializer_get_input_stream (GdkContentDeserializer *deserializer); Gets the input stream that was passed to gdk_content_deserialize_async(). Parameters deserializer a GdkContentDeserializer Returns the input stream for the current operation. [transfer none] gdk_content_deserializer_get_priority () gdk_content_deserializer_get_priority int gdk_content_deserializer_get_priority (GdkContentDeserializer *deserializer); Gets the io priority that was passed to gdk_content_deserialize_async(). Parameters deserializer a GdkContentDeserializer Returns the io priority for the current operation gdk_content_deserializer_get_cancellable () gdk_content_deserializer_get_cancellable GCancellable * gdk_content_deserializer_get_cancellable (GdkContentDeserializer *deserializer); Gets the cancellable that was passed to gdk_content_deserialize_async(). Parameters deserializer a GdkContentDeserializer Returns the cancellable for the current operation. [transfer none] gdk_content_deserializer_get_user_data () gdk_content_deserializer_get_user_data gpointer gdk_content_deserializer_get_user_data (GdkContentDeserializer *deserializer); Gets the user data that was passed when the deserializer was registered. Parameters deserializer a GdkContentDeserializer Returns the user data for this deserializer. [transfer none] gdk_content_deserializer_set_task_data () gdk_content_deserializer_set_task_data void gdk_content_deserializer_set_task_data (GdkContentDeserializer *deserializer, gpointer data, GDestroyNotify notify); Associate data with the current deserialization operation. Parameters deserializer a GdkContentDeserializer data data to associate with this operation notify destroy notify for data gdk_content_deserializer_get_task_data () gdk_content_deserializer_get_task_data gpointer gdk_content_deserializer_get_task_data (GdkContentDeserializer *deserializer); Gets the data that was associated with deserializer via gdk_content_deserializer_set_task_data(). Parameters deserializer a GdkContentDeserializer Returns the task data for deserializer . [transfer none] gdk_content_deserializer_return_success () gdk_content_deserializer_return_success void gdk_content_deserializer_return_success (GdkContentDeserializer *deserializer); Indicate that the deserialization has been successfully completed. Parameters deserializer a GdkContentDeserializer gdk_content_deserializer_return_error () gdk_content_deserializer_return_error void gdk_content_deserializer_return_error (GdkContentDeserializer *deserializer, GError *error); Indicate that the deserialization has ended with an error. This function consumes error . Parameters deserializer a GdkContentDeserializer error a GError gdk_content_register_deserializer () gdk_content_register_deserializer void gdk_content_register_deserializer (const char *mime_type, GType type, GdkContentDeserializeFunc deserialize, gpointer data, GDestroyNotify notify); Registers a function to create objects of a given type from a serialized representation with the given mime type. Parameters mime_type the mime type which the function can deserialize from type the type of objects that the function creates deserialize the callback data data that deserialize can access notify destroy notify for data gdk_content_deserialize_async () gdk_content_deserialize_async void gdk_content_deserialize_async (GInputStream *stream, const char *mime_type, GType type, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); Read content from the given input stream and deserialize it, asynchronously. When the operation is finished, callback will be called. You can then call gdk_content_deserialize_finish() to get the result of the operation. Parameters stream a GInputStream to read the serialized content from mime_type the mime type to deserialize from type the GType to deserialize from io_priority the io priority of the operation cancellable optional GCancellable object. [nullable] callback callback to call when the operation is done. [scope async] user_data data to pass to the callback function. [closure] gdk_content_deserialize_finish () gdk_content_deserialize_finish gboolean gdk_content_deserialize_finish (GAsyncResult *result, GValue *value, GError **error); Finishes a content deserialization operation. Parameters result the GAsyncResult value return location for the result of the operation error return location for an error Returns TRUE if the operation was successful. In this case, value is set. FALSE if an error occurred. In this case, error is set Types and Values GdkContentDeserializer GdkContentDeserializer typedef struct _GdkContentDeserializer GdkContentDeserializer; Should not be accessed directly. See Also GdkContentSerializer docs/reference/gdk/xml/gdkframetimings.xml0000664000175000017500000004526513464200076021054 0ustar mclasenmclasen ]> Frame timings 3 GDK4 Library Frame timings Object holding timing information for a single frame Functions GdkFrameTimings * gdk_frame_timings_ref () void gdk_frame_timings_unref () gint64 gdk_frame_timings_get_frame_counter () gboolean gdk_frame_timings_get_complete () gint64 gdk_frame_timings_get_frame_time () gint64 gdk_frame_timings_get_presentation_time () gint64 gdk_frame_timings_get_refresh_interval () gint64 gdk_frame_timings_get_predicted_presentation_time () Types and Values GdkFrameTimings Includes#include <gdk/gdkwayland.h> Description A GdkFrameTimings object holds timing information for a single frame of the application’s displays. To retrieve GdkFrameTimings objects, use gdk_frame_clock_get_timings() or gdk_frame_clock_get_current_timings(). The information in GdkFrameTimings is useful for precise synchronization of video with the event or audio streams, and for measuring quality metrics for the application’s display, such as latency and jitter. Functions gdk_frame_timings_ref () gdk_frame_timings_ref GdkFrameTimings * gdk_frame_timings_ref (GdkFrameTimings *timings); Increases the reference count of timings . Parameters timings a GdkFrameTimings Returns timings gdk_frame_timings_unref () gdk_frame_timings_unref void gdk_frame_timings_unref (GdkFrameTimings *timings); Decreases the reference count of timings . If timings is no longer referenced, it will be freed. Parameters timings a GdkFrameTimings gdk_frame_timings_get_frame_counter () gdk_frame_timings_get_frame_counter gint64 gdk_frame_timings_get_frame_counter (GdkFrameTimings *timings); Gets the frame counter value of the GdkFrameClock when this this frame was drawn. Parameters timings a GdkFrameTimings Returns the frame counter value for this frame gdk_frame_timings_get_complete () gdk_frame_timings_get_complete gboolean gdk_frame_timings_get_complete (GdkFrameTimings *timings); The timing information in a GdkFrameTimings is filled in incrementally as the frame as drawn and passed off to the window system for processing and display to the user. The accessor functions for GdkFrameTimings can return 0 to indicate an unavailable value for two reasons: either because the information is not yet available, or because it isn't available at all. Once gdk_frame_timings_get_complete() returns TRUE for a frame, you can be certain that no further values will become available and be stored in the GdkFrameTimings. Parameters timings a GdkFrameTimings Returns TRUE if all information that will be available for the frame has been filled in. gdk_frame_timings_get_frame_time () gdk_frame_timings_get_frame_time gint64 gdk_frame_timings_get_frame_time (GdkFrameTimings *timings); Returns the frame time for the frame. This is the time value that is typically used to time animations for the frame. See gdk_frame_clock_get_frame_time(). Parameters timings A GdkFrameTimings Returns the frame time for the frame, in the timescale of g_get_monotonic_time() gdk_frame_timings_get_presentation_time () gdk_frame_timings_get_presentation_time gint64 gdk_frame_timings_get_presentation_time (GdkFrameTimings *timings); Reurns the presentation time. This is the time at which the frame became visible to the user. Parameters timings a GdkFrameTimings Returns the time the frame was displayed to the user, in the timescale of g_get_monotonic_time(), or 0 if no presentation time is available. See gdk_frame_timings_get_complete() gdk_frame_timings_get_refresh_interval () gdk_frame_timings_get_refresh_interval gint64 gdk_frame_timings_get_refresh_interval (GdkFrameTimings *timings); Gets the natural interval between presentation times for the display that this frame was displayed on. Frame presentation usually happens during the “vertical blanking interval”. Parameters timings a GdkFrameTimings Returns the refresh interval of the display, in microseconds, or 0 if the refresh interval is not available. See gdk_frame_timings_get_complete(). gdk_frame_timings_get_predicted_presentation_time () gdk_frame_timings_get_predicted_presentation_time gint64 gdk_frame_timings_get_predicted_presentation_time (GdkFrameTimings *timings); Gets the predicted time at which this frame will be displayed. Although no predicted time may be available, if one is available, it will be available while the frame is being generated, in contrast to gdk_frame_timings_get_presentation_time(), which is only available after the frame has been presented. In general, if you are simply animating, you should use gdk_frame_clock_get_frame_time() rather than this function, but this function is useful for applications that want exact control over latency. For example, a movie player may want this information for Audio/Video synchronization. Parameters timings a GdkFrameTimings Returns The predicted time at which the frame will be presented, in the timescale of g_get_monotonic_time(), or 0 if no predicted presentation time is available. Types and Values GdkFrameTimings GdkFrameTimings typedef struct _GdkFrameTimings GdkFrameTimings; The GdkFrameTimings struct contains only private fields and should not be accessed directly. docs/reference/gdk/xml/keys.xml0000664000175000017500000021162113464200075016642 0ustar mclasenmclasen ]> Key Values 3 GDK4 Library Key Values Functions for manipulating keyboard codes Functions guint gdk_keymap_lookup_key () gboolean gdk_keymap_translate_keyboard_state () gboolean gdk_keymap_get_entries_for_keyval () gboolean gdk_keymap_get_entries_for_keycode () PangoDirection gdk_keymap_get_direction () gboolean gdk_keymap_have_bidi_layouts () gboolean gdk_keymap_get_caps_lock_state () gboolean gdk_keymap_get_num_lock_state () gboolean gdk_keymap_get_scroll_lock_state () guint gdk_keymap_get_modifier_state () void gdk_keymap_add_virtual_modifiers () gboolean gdk_keymap_map_virtual_modifiers () GdkModifierType gdk_keymap_get_modifier_mask () GdkDisplay * gdk_keymap_get_display () gchar * gdk_keyval_name () guint gdk_keyval_from_name () void gdk_keyval_convert_case () guint gdk_keyval_to_upper () guint gdk_keyval_to_lower () gboolean gdk_keyval_is_upper () gboolean gdk_keyval_is_lower () guint32 gdk_keyval_to_unicode () guint gdk_unicode_to_keyval () Properties GdkDisplay *displayRead / Write / Construct Only Signals voiddirection-changedRun Last voidkeys-changedRun Last voidstate-changedRun Last Types and Values GdkKeymap structGdkKeymapKey Object Hierarchy GObject ╰── GdkKeymap Includes#include <gdk/gdk.h> Description Key values are the codes which are sent whenever a key is pressed or released. They appear in the GdkEventKey.keyval field of the GdkEventKey structure. The complete list of key values can be found in the gdk/gdkkeysyms.h header file. Key values are regularly updated from the upstream X.org X11 implementation, so new values are added regularly. They will be prefixed with GDK_KEY_ rather than XF86XK_ or XK_ (for older symbols). Key values can be converted into a string representation using gdk_keyval_name(). The reverse function, converting a string to a key value, is provided by gdk_keyval_from_name(). The case of key values can be determined using gdk_keyval_is_upper() and gdk_keyval_is_lower(). Key values can be converted to upper or lower case using gdk_keyval_to_upper() and gdk_keyval_to_lower(). When it makes sense, key values can be converted to and from Unicode characters with gdk_keyval_to_unicode() and gdk_unicode_to_keyval(). GroupsOne GdkKeymap object exists for each user display. To obtain keymaps for a display, use gdk_display_get_keymap(). A keymap is a mapping from GdkKeymapKey to key values. You can think of a GdkKeymapKey as a representation of a symbol printed on a physical keyboard key. That is, it contains three pieces of information. First, it contains the hardware keycode; this is an identifying number for a physical key. Second, it contains the “level” of the key. The level indicates which symbol on the key will be used, in a vertical direction. So on a standard US keyboard, the key with the number “1“ on it also has the exclamation point (”!”) character on it. The level indicates whether to use the “1” or the “!” symbol. The letter keys are considered to have a lowercase letter at level 0, and an uppercase letter at level 1, though only the uppercase letter is printed. Third, the GdkKeymapKey contains a group; groups are not used on standard US keyboards, but are used in many other countries. On a keyboard with groups, there can be 3 or 4 symbols printed on a single key. The group indicates movement in a horizontal direction. Usually groups are used for two different languages. In group 0, a key might have two English characters, and in group 1 it might have two Hebrew characters. The Hebrew characters will be printed on the key next to the English characters. In order to use a keymap to interpret a key event, it’s necessary to first convert the keyboard state into an effective group and level. This is done via a set of rules that varies widely according to type of keyboard and user configuration. The function gdk_keymap_translate_keyboard_state() accepts a keyboard state -- consisting of hardware keycode pressed, active modifiers, and active group -- applies the appropriate rules, and returns the group/level to be used to index the keymap, along with the modifiers which did not affect the group and level. i.e. it returns “unconsumed modifiers.” The keyboard group may differ from the effective group used for keymap lookups because some keys don't have multiple groups - e.g. the Enter key is always in group 0 regardless of keyboard state. Note that gdk_keymap_translate_keyboard_state() also returns the keyval, i.e. it goes ahead and performs the keymap lookup in addition to telling you which effective group/level values were used for the lookup. GdkEventKey already contains this keyval, however, so you don’t normally need to call gdk_keymap_translate_keyboard_state() just to get the keyval. Functions gdk_keymap_lookup_key () gdk_keymap_lookup_key guint gdk_keymap_lookup_key (GdkKeymap *keymap, const GdkKeymapKey *key); Looks up the keyval mapped to a keycode/group/level triplet. If no keyval is bound to key , returns 0. For normal user input, you want to use gdk_keymap_translate_keyboard_state() instead of this function, since the effective group/level may not be the same as the current keyboard state. Parameters keymap a GdkKeymap key a GdkKeymapKey with keycode, group, and level initialized Returns a keyval, or 0 if none was mapped to the given key gdk_keymap_translate_keyboard_state () gdk_keymap_translate_keyboard_state gboolean gdk_keymap_translate_keyboard_state (GdkKeymap *keymap, guint hardware_keycode, GdkModifierType state, gint group, guint *keyval, gint *effective_group, gint *level, GdkModifierType *consumed_modifiers); Translates the contents of a GdkEventKey into a keyval, effective group, and level. Modifiers that affected the translation and are thus unavailable for application use are returned in consumed_modifiers . See Groups for an explanation of groups and levels. The effective_group is the group that was actually used for the translation; some keys such as Enter are not affected by the active keyboard group. The level is derived from state . For convenience, GdkEventKey already contains the translated keyval, so this function isn’t as useful as you might think. consumed_modifiers gives modifiers that should be masked outfrom state when comparing this key press to a hot key. For instance, on a US keyboard, the plus symbol is shifted, so when comparing a key press to a <Control>plus accelerator <Shift> should be masked out. hardware_keycode, event->state, event->group, &keyval, NULL, NULL, &consumed); if (keyval == GDK_PLUS && (event->state & ~consumed & ALL_ACCELS_MASK) == GDK_CONTROL_MASK) // Control was pressed ]]> An older interpretation consumed_modifiers was that it contained all modifiers that might affect the translation of the key; this allowed accelerators to be stored with irrelevant consumed modifiers, by doing: state & ~consumed & ALL_ACCELS_MASK) == (accel_mods & ~consumed)) // Accelerator was pressed ]]> However, this did not work if multi-modifier combinations were used in the keymap, since, for instance, <Control> would be masked out even if only <Control>&lt;Alt> was used in the keymap. To support this usage as well as well as possible, all single modifier combinations that could affect the key for any combination of modifiers will be returned in consumed_modifiers ; multi-modifier combinations are returned only when actually found in state . When you store accelerators, you should always store them with consumed modifiers removed. Store <Control>plus, not <Control>&lt;Shift>plus, Parameters keymap a GdkKeymap hardware_keycode a keycode state a modifier state group active keyboard group keyval return location for keyval, or NULL. [out][allow-none] effective_group return location for effective group, or NULL. [out][allow-none] level return location for level, or NULL. [out][allow-none] consumed_modifiers return location for modifiers that were used to determine the group or level, or NULL. [out][allow-none] Returns TRUE if there was a keyval bound to the keycode/state/group gdk_keymap_get_entries_for_keyval () gdk_keymap_get_entries_for_keyval gboolean gdk_keymap_get_entries_for_keyval (GdkKeymap *keymap, guint keyval, GdkKeymapKey **keys, gint *n_keys); Obtains a list of keycode/group/level combinations that will generate keyval . Groups and levels are two kinds of keyboard mode; in general, the level determines whether the top or bottom symbol on a key is used, and the group determines whether the left or right symbol is used. On US keyboards, the shift key changes the keyboard level, and there are no groups. A group switch key might convert a keyboard between Hebrew to English modes, for example. GdkEventKey contains a group field that indicates the active keyboard group. The level is computed from the modifier mask. The returned array should be freed with g_free(). Parameters keymap a GdkKeymap keyval a keyval, such as GDK_KEY_a, GDK_KEY_Up, GDK_KEY_Return, etc. keys return location for an array of GdkKeymapKey. [out][array length=n_keys][transfer full] n_keys return location for number of elements in returned array Returns TRUE if keys were found and returned gdk_keymap_get_entries_for_keycode () gdk_keymap_get_entries_for_keycode gboolean gdk_keymap_get_entries_for_keycode (GdkKeymap *keymap, guint hardware_keycode, GdkKeymapKey **keys, guint **keyvals, gint *n_entries); Returns the keyvals bound to hardware_keycode . The Nth GdkKeymapKey in keys is bound to the Nth keyval in keyvals . Free the returned arrays with g_free(). When a keycode is pressed by the user, the keyval from this list of entries is selected by considering the effective keyboard group and level. See gdk_keymap_translate_keyboard_state(). Parameters keymap a GdkKeymap hardware_keycode a keycode keys return location for array of GdkKeymapKey, or NULL. [out][array length=n_entries][transfer full][optional] keyvals return location for array of keyvals, or NULL. [out][array length=n_entries][transfer full][optional] n_entries length of keys and keyvals Returns TRUE if there were any entries gdk_keymap_get_direction () gdk_keymap_get_direction PangoDirection gdk_keymap_get_direction (GdkKeymap *keymap); Returns the direction of effective layout of the keymap. The direction of a layout is the direction of the majority of its symbols. See pango_unichar_direction(). Parameters keymap a GdkKeymap Returns PANGO_DIRECTION_LTR or PANGO_DIRECTION_RTL if it can determine the direction. PANGO_DIRECTION_NEUTRAL otherwise. gdk_keymap_have_bidi_layouts () gdk_keymap_have_bidi_layouts gboolean gdk_keymap_have_bidi_layouts (GdkKeymap *keymap); Determines if keyboard layouts for both right-to-left and left-to-right languages are in use. Parameters keymap a GdkKeymap Returns TRUE if there are layouts in both directions, FALSE otherwise gdk_keymap_get_caps_lock_state () gdk_keymap_get_caps_lock_state gboolean gdk_keymap_get_caps_lock_state (GdkKeymap *keymap); Returns whether the Caps Lock modifer is locked. Parameters keymap a GdkKeymap Returns TRUE if Caps Lock is on gdk_keymap_get_num_lock_state () gdk_keymap_get_num_lock_state gboolean gdk_keymap_get_num_lock_state (GdkKeymap *keymap); Returns whether the Num Lock modifer is locked. Parameters keymap a GdkKeymap Returns TRUE if Num Lock is on gdk_keymap_get_scroll_lock_state () gdk_keymap_get_scroll_lock_state gboolean gdk_keymap_get_scroll_lock_state (GdkKeymap *keymap); Returns whether the Scroll Lock modifer is locked. Parameters keymap a GdkKeymap Returns TRUE if Scroll Lock is on gdk_keymap_get_modifier_state () gdk_keymap_get_modifier_state guint gdk_keymap_get_modifier_state (GdkKeymap *keymap); Returns the current modifier state. Parameters keymap a GdkKeymap Returns the current modifier state. gdk_keymap_add_virtual_modifiers () gdk_keymap_add_virtual_modifiers void gdk_keymap_add_virtual_modifiers (GdkKeymap *keymap, GdkModifierType *state); Maps the non-virtual modifiers (i.e Mod2, Mod3, ...) which are set in state to the virtual modifiers (i.e. Super, Hyper and Meta) and set the corresponding bits in state . GDK already does this before delivering key events, but for compatibility reasons, it only sets the first virtual modifier it finds, whereas this function sets all matching virtual modifiers. This function is useful when matching key events against accelerators. Parameters keymap a GdkKeymap state pointer to the modifier mask to change. [inout] gdk_keymap_map_virtual_modifiers () gdk_keymap_map_virtual_modifiers gboolean gdk_keymap_map_virtual_modifiers (GdkKeymap *keymap, GdkModifierType *state); Maps the virtual modifiers (i.e. Super, Hyper and Meta) which are set in state to their non-virtual counterparts (i.e. Mod2, Mod3,...) and set the corresponding bits in state . This function is useful when matching key events against accelerators. Parameters keymap a GdkKeymap state pointer to the modifier state to map. [inout] Returns FALSE if two virtual modifiers were mapped to the same non-virtual modifier. Note that FALSE is also returned if a virtual modifier is mapped to a non-virtual modifier that was already set in state . gdk_keymap_get_modifier_mask () gdk_keymap_get_modifier_mask GdkModifierType gdk_keymap_get_modifier_mask (GdkKeymap *keymap, GdkModifierIntent intent); Returns the modifier mask the keymap ’s windowing system backend uses for a particular purpose. Note that this function always returns real hardware modifiers, not virtual ones (e.g. it will return GDK_MOD1_MASK rather than GDK_META_MASK if the backend maps MOD1 to META), so there are use cases where the return value of this function has to be transformed by gdk_keymap_add_virtual_modifiers() in order to contain the expected result. Parameters keymap a GdkKeymap intent the use case for the modifier mask Returns the modifier mask used for intent . gdk_keymap_get_display () gdk_keymap_get_display GdkDisplay * gdk_keymap_get_display (GdkKeymap *keymap); Retrieves the GdkDisplay associated to the keymap . Parameters keymap a GdkKeymap Returns a GdkDisplay. [transfer none] gdk_keyval_name () gdk_keyval_name gchar * gdk_keyval_name (guint keyval); Converts a key value into a symbolic name. The names are the same as those in the gdk/gdkkeysyms.h header file but without the leading “GDK_KEY_”. Parameters keyval a key value Returns a string containing the name of the key, or NULL if keyval is not a valid key. The string should not be modified. [nullable][transfer none] gdk_keyval_from_name () gdk_keyval_from_name guint gdk_keyval_from_name (const gchar *keyval_name); Converts a key name to a key value. The names are the same as those in the gdk/gdkkeysyms.h header file but without the leading “GDK_KEY_”. Parameters keyval_name a key name Returns the corresponding key value, or GDK_KEY_VoidSymbol if the key name is not a valid key gdk_keyval_convert_case () gdk_keyval_convert_case void gdk_keyval_convert_case (guint symbol, guint *lower, guint *upper); Obtains the upper- and lower-case versions of the keyval symbol . Examples of keyvals are GDK_KEY_a, GDK_KEY_Enter, GDK_KEY_F1, etc. Parameters symbol a keyval lower return location for lowercase version of symbol . [out] upper return location for uppercase version of symbol . [out] gdk_keyval_to_upper () gdk_keyval_to_upper guint gdk_keyval_to_upper (guint keyval); Converts a key value to upper case, if applicable. Parameters keyval a key value. Returns the upper case form of keyval , or keyval itself if it is already in upper case or it is not subject to case conversion. gdk_keyval_to_lower () gdk_keyval_to_lower guint gdk_keyval_to_lower (guint keyval); Converts a key value to lower case, if applicable. Parameters keyval a key value. Returns the lower case form of keyval , or keyval itself if it is already in lower case or it is not subject to case conversion. gdk_keyval_is_upper () gdk_keyval_is_upper gboolean gdk_keyval_is_upper (guint keyval); Returns TRUE if the given key value is in upper case. Parameters keyval a key value. Returns TRUE if keyval is in upper case, or if keyval is not subject to case conversion. gdk_keyval_is_lower () gdk_keyval_is_lower gboolean gdk_keyval_is_lower (guint keyval); Returns TRUE if the given key value is in lower case. Parameters keyval a key value. Returns TRUE if keyval is in lower case, or if keyval is not subject to case conversion. gdk_keyval_to_unicode () gdk_keyval_to_unicode guint32 gdk_keyval_to_unicode (guint keyval); Convert from a GDK key symbol to the corresponding ISO10646 (Unicode) character. Parameters keyval a GDK key symbol Returns the corresponding unicode character, or 0 if there is no corresponding character. gdk_unicode_to_keyval () gdk_unicode_to_keyval guint gdk_unicode_to_keyval (guint32 wc); Convert from a ISO10646 character to a key symbol. Parameters wc a ISO10646 encoded character Returns the corresponding GDK key symbol, if one exists. or, if there is no corresponding symbol, wc | 0x01000000 Types and Values GdkKeymap GdkKeymap typedef struct _GdkKeymap GdkKeymap; A GdkKeymap defines the translation from keyboard state (including a hardware key, a modifier mask, and active keyboard group) to a keyval. This translation has two phases. The first phase is to determine the effective keyboard group and level for the keyboard state; the second phase is to look up the keycode/group/level triplet in the keymap and see what keyval it corresponds to. struct GdkKeymapKey GdkKeymapKey struct GdkKeymapKey { guint keycode; gint group; gint level; }; A GdkKeymapKey is a hardware key that can be mapped to a keyval. Members guint keycode; the hardware keycode. This is an identifying number for a physical key. gint group; indicates movement in a horizontal direction. Usually groups are used for two different languages. In group 0, a key might have two English characters, and in group 1 it might have two Hebrew characters. The Hebrew characters will be printed on the key next to the English characters. gint level; indicates which symbol on the key will be used, in a vertical direction. So on a standard US keyboard, the key with the number “1” on it also has the exclamation point ("!") character on it. The level indicates whether to use the “1” or the “!” symbol. The letter keys are considered to have a lowercase letter at level 0, and an uppercase letter at level 1, though only the uppercase letter is printed. Property Details The <literal>“display”</literal> property GdkKeymap:display “display” GdkDisplay * The display of the keymap.Flags: Read / Write / Construct Only Signal Details The <literal>“direction-changed”</literal> signal GdkKeymap::direction-changed void user_function (GdkKeymap *keymap, gpointer user_data) The ::direction-changed signal gets emitted when the direction of the keymap changes. See gdk_keymap_get_direction(). Parameters keymap the object on which the signal is emitted user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“keys-changed”</literal> signal GdkKeymap::keys-changed void user_function (GdkKeymap *keymap, gpointer user_data) The ::keys-changed signal is emitted when the mapping represented by keymap changes. Parameters keymap the object on which the signal is emitted user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“state-changed”</literal> signal GdkKeymap::state-changed void user_function (GdkKeymap *keymap, gpointer user_data) The ::state-changed signal is emitted when the state of the keyboard changes, e.g when Caps Lock is turned on or off. See gdk_keymap_get_caps_lock_state(). Parameters keymap the object on which the signal is emitted user_data user data set when the signal handler was connected. Flags: Run Last docs/reference/gdk/xml/gdkseat.xml0000664000175000017500000012016013464200075017306 0ustar mclasenmclasen ]> GdkSeat 3 GDK4 Library GdkSeat Object representing an user seat Functions void (*GdkSeatGrabPrepareFunc) () GdkDisplay * gdk_seat_get_display () GdkGrabStatus gdk_seat_grab () void gdk_seat_ungrab () GdkSeatCapabilities gdk_seat_get_capabilities () GdkDevice * gdk_seat_get_pointer () GdkDevice * gdk_seat_get_keyboard () GList * gdk_seat_get_slaves () GList * gdk_seat_get_master_pointers () Properties GdkDisplay *displayRead / Write / Construct Only Signals voiddevice-addedRun Last voiddevice-removedRun Last voidtool-addedRun Last voidtool-removedRun Last Types and Values GdkSeat enumGdkSeatCapabilities enumGdkGrabStatus Object Hierarchy GObject ╰── GdkSeat Includes#include <gdk/gdk.h> Description The GdkSeat object represents a collection of input devices that belong to a user. Functions GdkSeatGrabPrepareFunc () GdkSeatGrabPrepareFunc void (*GdkSeatGrabPrepareFunc) (GdkSeat *seat, GdkSurface *surface, gpointer user_data); Type of the callback used to set up surface so it can be grabbed. A typical action would be ensuring the surface is visible, although there's room for other initialization actions. Parameters seat the GdkSeat being grabbed surface the GdkSurface being grabbed user_data user data passed in gdk_seat_grab() gdk_seat_get_display () gdk_seat_get_display GdkDisplay * gdk_seat_get_display (GdkSeat *seat); Returns the GdkDisplay this seat belongs to. Parameters seat a GdkSeat Returns a GdkDisplay. This object is owned by GTK and must not be freed. [transfer none] gdk_seat_grab () gdk_seat_grab GdkGrabStatus gdk_seat_grab (GdkSeat *seat, GdkSurface *surface, GdkSeatCapabilities capabilities, gboolean owner_events, GdkCursor *cursor, const GdkEvent *event, GdkSeatGrabPrepareFunc prepare_func, gpointer prepare_func_data); Grabs the seat so that all events corresponding to the given capabilities are passed to this application until the seat is ungrabbed with gdk_seat_ungrab(), or the surface becomes hidden. This overrides any previous grab on the seat by this client. As a rule of thumb, if a grab is desired over GDK_SEAT_CAPABILITY_POINTER, all other "pointing" capabilities (eg. GDK_SEAT_CAPABILITY_TOUCH) should be grabbed too, so the user is able to interact with all of those while the grab holds, you should thus use GDK_SEAT_CAPABILITY_ALL_POINTING most commonly. Grabs are used for operations which need complete control over the events corresponding to the given capabilities. For example in GTK this is used for Drag and Drop operations, popup menus and such. Note that if the event mask of a GdkSurface has selected both button press and button release events, or touch begin and touch end, then a press event will cause an automatic grab until the button is released, equivalent to a grab on the surface with owner_events set to TRUE. This is done because most applications expect to receive paired press and release events. If you set up anything at the time you take the grab that needs to be cleaned up when the grab ends, you should handle the GdkEventGrabBroken events that are emitted when the grab ends unvoluntarily. Parameters seat a GdkSeat surface the GdkSurface which will own the grab capabilities capabilities that will be grabbed owner_events if FALSE then all device events are reported with respect to surface and are only reported if selected by event_mask . If TRUE then pointer events for this application are reported as normal, but pointer events outside this application are reported with respect to surface and only if selected by event_mask . In either mode, unreported events are discarded. cursor the cursor to display while the grab is active. If this is NULL then the normal cursors are used for surface and its descendants, and the cursor for surface is used elsewhere. [nullable] event the event that is triggering the grab, or NULL if none is available. [nullable] prepare_func function to prepare the surface to be grabbed, it can be NULL if surface is visible before this call. [nullable][scope call][closure prepare_func_data] prepare_func_data user data to pass to prepare_func Returns GDK_GRAB_SUCCESS if the grab was successful. gdk_seat_ungrab () gdk_seat_ungrab void gdk_seat_ungrab (GdkSeat *seat); Releases a grab added through gdk_seat_grab(). Parameters seat a GdkSeat gdk_seat_get_capabilities () gdk_seat_get_capabilities GdkSeatCapabilities gdk_seat_get_capabilities (GdkSeat *seat); Returns the capabilities this GdkSeat currently has. Parameters seat a GdkSeat Returns the seat capabilities gdk_seat_get_pointer () gdk_seat_get_pointer GdkDevice * gdk_seat_get_pointer (GdkSeat *seat); Returns the master device that routes pointer events. Parameters seat a GdkSeat Returns a master GdkDevice with pointer capabilities. This object is owned by GTK and must not be freed. [transfer none][nullable] gdk_seat_get_keyboard () gdk_seat_get_keyboard GdkDevice * gdk_seat_get_keyboard (GdkSeat *seat); Returns the master device that routes keyboard events. Parameters seat a GdkSeat Returns a master GdkDevice with keyboard capabilities. This object is owned by GTK and must not be freed. [transfer none][nullable] gdk_seat_get_slaves () gdk_seat_get_slaves GList * gdk_seat_get_slaves (GdkSeat *seat, GdkSeatCapabilities capabilities); Returns the slave devices that match the given capabilities. Parameters seat a GdkSeat capabilities capabilities to get devices for Returns A list of GdkDevices. The list must be freed with g_list_free(), the elements are owned by GDK and must not be freed. [transfer container][element-type GdkDevice] gdk_seat_get_master_pointers () gdk_seat_get_master_pointers GList * gdk_seat_get_master_pointers (GdkSeat *seat, GdkSeatCapabilities capabilities); Returns all master pointers with the given capabilities driven by this seat . On most backends this function will return a list with a single element (meaning that all input devices drive the same onscreen cursor). In other backends where there can possibly be multiple foci (eg. wayland), this function will return all master GdkDevices that represent these. Parameters seat The GdkSeat capabilities Queried capabilities Returns A list of master pointing devices. [transfer container][element-type GdkDevice] Types and Values GdkSeat GdkSeat typedef struct _GdkSeat GdkSeat; The GdkSeat struct contains only private fields and should not be accessed directly. enum GdkSeatCapabilities GdkSeatCapabilities Flags describing the seat capabilities. Members GDK_SEAT_CAPABILITY_NONE No input capabilities GDK_SEAT_CAPABILITY_POINTER The seat has a pointer (e.g. mouse) GDK_SEAT_CAPABILITY_TOUCH The seat has touchscreen(s) attached GDK_SEAT_CAPABILITY_TABLET_STYLUS The seat has drawing tablet(s) attached GDK_SEAT_CAPABILITY_KEYBOARD The seat has keyboard(s) attached GDK_SEAT_CAPABILITY_TABLET_PAD The seat has drawing tablet pad(s) attached GDK_SEAT_CAPABILITY_ALL_POINTING The union of all pointing capabilities GDK_SEAT_CAPABILITY_ALL The union of all capabilities enum GdkGrabStatus GdkGrabStatus Returned by gdk_device_grab() to indicate success or the reason for the failure of the grab attempt. Members GDK_GRAB_SUCCESS the resource was successfully grabbed. GDK_GRAB_ALREADY_GRABBED the resource is actively grabbed by another client. GDK_GRAB_INVALID_TIME the resource was grabbed more recently than the specified time. GDK_GRAB_NOT_VIEWABLE the grab surface or the confine_to surface are not viewable. GDK_GRAB_FROZEN the resource is frozen by an active grab of another client. GDK_GRAB_FAILED the grab failed for some other reason Property Details The <literal>“display”</literal> property GdkSeat:display “display” GdkDisplay * GdkDisplay of this seat. Flags: Read / Write / Construct Only Signal Details The <literal>“device-added”</literal> signal GdkSeat::device-added void user_function (GdkSeat *seat, GdkDevice *device, gpointer user_data) The ::device-added signal is emitted when a new input device is related to this seat. Parameters seat the object on which the signal is emitted device the newly added GdkDevice. user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“device-removed”</literal> signal GdkSeat::device-removed void user_function (GdkSeat *seat, GdkDevice *device, gpointer user_data) The ::device-removed signal is emitted when an input device is removed (e.g. unplugged). Parameters seat the object on which the signal is emitted device the just removed GdkDevice. user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“tool-added”</literal> signal GdkSeat::tool-added void user_function (GdkSeat *seat, GdkDeviceTool *tool, gpointer user_data) The ::tool-added signal is emitted whenever a new tool is made known to the seat. The tool may later be assigned to a device (i.e. on proximity with a tablet). The device will emit the “tool-changed” signal accordingly. A same tool may be used by several devices. Parameters seat the object on which the signal is emitted tool the new GdkDeviceTool known to the seat user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“tool-removed”</literal> signal GdkSeat::tool-removed void user_function (GdkSeat *seat, GdkDeviceTool *tool, gpointer user_data) This signal is emitted whenever a tool is no longer known to this seat . Parameters seat the object on which the signal is emitted tool the just removed GdkDeviceTool user_data user data set when the signal handler was connected. Flags: Run Last See Also GdkDisplay, GdkDevice docs/reference/gdk/xml/events.xml0000664000175000017500000043230213464200075017174 0ustar mclasenmclasen ]> Events 3 GDK4 Library Events Functions for handling events from the window system Functions GdkEvent * gdk_event_new () GdkEvent * gdk_event_copy () gboolean gdk_event_get_axes () gboolean gdk_event_get_axis () gboolean gdk_event_get_button () gboolean gdk_event_get_click_count () gboolean gdk_event_get_coords () gboolean gdk_event_get_keycode () gboolean gdk_event_get_keyval () gboolean gdk_event_get_root_coords () gboolean gdk_event_get_scroll_direction () gboolean gdk_event_get_scroll_deltas () gboolean gdk_event_is_scroll_stop_event () gboolean gdk_event_get_state () guint32 gdk_event_get_time () GdkSurface * gdk_event_get_surface () GdkEventType gdk_event_get_event_type () GdkEventSequence * gdk_event_get_event_sequence () gboolean gdk_events_get_angle () gboolean gdk_events_get_center () gboolean gdk_events_get_distance () gboolean gdk_event_triggers_context_menu () GdkSeat * gdk_event_get_seat () int gdk_event_get_scancode () gboolean gdk_event_get_pointer_emulated () gboolean gdk_event_get_crossing_detail () gboolean gdk_event_get_crossing_mode () GdkDrop * gdk_event_get_drop () gboolean gdk_event_get_focus_in () gboolean gdk_event_get_grab_surface () GList * gdk_event_get_motion_history () gboolean gdk_event_get_key_group () gboolean gdk_event_get_key_is_modifier () gboolean gdk_event_get_pad_axis_value () gboolean gdk_event_get_pad_button () gboolean gdk_event_get_pad_group_mode () gboolean gdk_event_get_touch_emulating_pointer () gboolean gdk_event_get_touchpad_angle_delta () gboolean gdk_event_get_touchpad_deltas () gboolean gdk_event_get_touchpad_gesture_n_fingers () gboolean gdk_event_get_touchpad_gesture_phase () gboolean gdk_event_get_touchpad_scale () gboolean gdk_event_is_sent () gboolean gdk_get_show_events () void gdk_set_show_events () void gdk_event_set_display () GdkDisplay * gdk_event_get_display () GdkDevice * gdk_event_get_device () void gdk_event_set_device () GdkDevice * gdk_event_get_source_device () void gdk_event_set_source_device () GdkDeviceTool * gdk_event_get_device_tool () void gdk_event_set_device_tool () Properties GdkEventTypeevent-typeRead / Write / Construct Only Types and Values GdkEvent enumGdkEventType enumGdkEventMask enumGdkScrollDirection enumGdkCrossingMode enumGdkNotifyType #defineGDK_CURRENT_TIME #defineGDK_PRIORITY_EVENTS #defineGDK_PRIORITY_REDRAW #defineGDK_EVENT_PROPAGATE #defineGDK_EVENT_STOP #defineGDK_BUTTON_PRIMARY #defineGDK_BUTTON_MIDDLE #defineGDK_BUTTON_SECONDARY GdkEventSequence Object Hierarchy GObject ╰── GdkEvent Includes#include <gdk/gdk.h> Description 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. Functions gdk_event_new () gdk_event_new GdkEvent * gdk_event_new (GdkEventType type); Creates a new event of the given type. All fields are set to 0. Parameters type a GdkEventType Returns a newly-allocated GdkEvent. Free with g_object_unref() gdk_event_copy () gdk_event_copy GdkEvent * gdk_event_copy (const GdkEvent *event); Copies a GdkEvent, copying or incrementing the reference count of the resources associated with it (e.g. GdkSurface’s and strings). Parameters event a GdkEvent Returns a copy of event . Free with g_object_unref(). [transfer full] gdk_event_get_axes () gdk_event_get_axes gboolean gdk_event_get_axes (GdkEvent *event, gdouble **axes, guint *n_axes); Extracts all axis values from an event. Parameters event a GdkEvent axes the array of values for all axes. [transfer none][out][array length=n_axes] n_axes the length of array. [out] Returns TRUE on success, otherwise FALSE gdk_event_get_axis () gdk_event_get_axis gboolean gdk_event_get_axis (const GdkEvent *event, GdkAxisUse axis_use, gdouble *value); Extract the axis value for a particular axis use from an event structure. Parameters event a GdkEvent axis_use the axis use to look for value location to store the value found. [out] Returns TRUE if the specified axis was found, otherwise FALSE gdk_event_get_button () gdk_event_get_button gboolean gdk_event_get_button (const GdkEvent *event, guint *button); Extract the button number from an event. Parameters event a GdkEvent button location to store mouse button number. [out] Returns TRUE if the event delivered a button number gdk_event_get_click_count () gdk_event_get_click_count gboolean gdk_event_get_click_count (const GdkEvent *event, guint *click_count); Extracts the click count from an event. Parameters event a GdkEvent click_count location to store click count. [out] Returns TRUE if the event delivered a click count gdk_event_get_coords () gdk_event_get_coords gboolean gdk_event_get_coords (const GdkEvent *event, gdouble *x_win, gdouble *y_win); Extract the event surface relative x/y coordinates from an event. Parameters event a GdkEvent x_win location to put event surface x coordinate. [out][optional] y_win location to put event surface y coordinate. [out][optional] Returns TRUE if the event delivered event surface coordinates gdk_event_get_keycode () gdk_event_get_keycode gboolean gdk_event_get_keycode (const GdkEvent *event, guint16 *keycode); Extracts the hardware keycode from an event. Also see gdk_event_get_scancode(). Parameters event a GdkEvent keycode location to store the keycode. [out] Returns TRUE if the event delivered a hardware keycode gdk_event_get_keyval () gdk_event_get_keyval gboolean gdk_event_get_keyval (const GdkEvent *event, guint *keyval); Extracts the keyval from an event. Parameters event a GdkEvent keyval location to store the keyval. [out] Returns TRUE if the event delivered a key symbol gdk_event_get_root_coords () gdk_event_get_root_coords gboolean gdk_event_get_root_coords (const GdkEvent *event, gdouble *x_root, gdouble *y_root); Extract the root window relative x/y coordinates from an event. Parameters event a GdkEvent x_root location to put root window x coordinate. [out][optional] y_root location to put root window y coordinate. [out][optional] Returns TRUE if the event delivered root window coordinates gdk_event_get_scroll_direction () gdk_event_get_scroll_direction gboolean gdk_event_get_scroll_direction (const GdkEvent *event, GdkScrollDirection *direction); Extracts the scroll direction from an event. Parameters event a GdkEvent direction location to store the scroll direction. [out] Returns TRUE if the event delivered a scroll direction gdk_event_get_scroll_deltas () gdk_event_get_scroll_deltas gboolean gdk_event_get_scroll_deltas (const GdkEvent *event, gdouble *delta_x, gdouble *delta_y); Retrieves the scroll deltas from a GdkEvent Parameters event a GdkEvent delta_x return location for X delta. [out] delta_y return location for Y delta. [out] Returns TRUE if the event contains smooth scroll information gdk_event_is_scroll_stop_event () gdk_event_is_scroll_stop_event gboolean gdk_event_is_scroll_stop_event (const GdkEvent *event); Check whether a scroll event is a stop scroll event. Scroll sequences with smooth scroll information may provide a stop scroll event once the interaction with the device finishes, e.g. by lifting a finger. This stop scroll event is the signal that a widget may trigger kinetic scrolling based on the current velocity. Stop scroll events always have a a delta of 0/0. Parameters event a GdkEvent Returns TRUE if the event is a scroll stop event gdk_event_get_state () gdk_event_get_state gboolean gdk_event_get_state (const GdkEvent *event, GdkModifierType *state); If the event contains a “state” field, puts that field in state . Otherwise stores an empty state (0). event may be NULL, in which case it’s treated as if the event had no state field. Parameters event a GdkEvent or NULL. [allow-none] state return location for state. [out] Returns TRUE if there was a state field in the event gdk_event_get_time () gdk_event_get_time guint32 gdk_event_get_time (const GdkEvent *event); Returns the time stamp from event , if there is one; otherwise returns GDK_CURRENT_TIME. If event is NULL, returns GDK_CURRENT_TIME. Parameters event a GdkEvent Returns time stamp field from event gdk_event_get_surface () gdk_event_get_surface GdkSurface * gdk_event_get_surface (const GdkEvent *event); Extracts the GdkSurface associated with an event. Parameters event a GdkEvent Returns The GdkSurface associated with the event. [transfer none] gdk_event_get_event_type () gdk_event_get_event_type GdkEventType gdk_event_get_event_type (const GdkEvent *event); Retrieves the type of the event. Parameters event a GdkEvent Returns a GdkEventType gdk_event_get_event_sequence () gdk_event_get_event_sequence GdkEventSequence * gdk_event_get_event_sequence (const GdkEvent *event); If event if of type GDK_TOUCH_BEGIN, GDK_TOUCH_UPDATE, GDK_TOUCH_END or GDK_TOUCH_CANCEL, returns the GdkEventSequence to which the event belongs. Otherwise, return NULL. Parameters event a GdkEvent Returns the event sequence that the event belongs to. [transfer none] gdk_events_get_angle () gdk_events_get_angle gboolean gdk_events_get_angle (GdkEvent *event1, GdkEvent *event2, gdouble *angle); If both events contain X/Y information, this function will return TRUE and return in angle the relative angle from event1 to event2 . The rotation direction for positive angles is from the positive X axis towards the positive Y axis. Parameters event1 first GdkEvent event2 second GdkEvent angle return location for the relative angle between both events. [out] Returns TRUE if the angle could be calculated. gdk_events_get_center () gdk_events_get_center gboolean gdk_events_get_center (GdkEvent *event1, GdkEvent *event2, gdouble *x, gdouble *y); If both events contain X/Y information, the center of both coordinates will be returned in x and y . Parameters event1 first GdkEvent event2 second GdkEvent x return location for the X coordinate of the center. [out] y return location for the Y coordinate of the center. [out] Returns TRUE if the center could be calculated. gdk_events_get_distance () gdk_events_get_distance gboolean gdk_events_get_distance (GdkEvent *event1, GdkEvent *event2, gdouble *distance); If both events have X/Y information, the distance between both coordinates (as in a straight line going from event1 to event2 ) will be returned. Parameters event1 first GdkEvent event2 second GdkEvent distance return location for the distance. [out] Returns TRUE if the distance could be calculated. gdk_event_triggers_context_menu () gdk_event_triggers_context_menu gboolean gdk_event_triggers_context_menu (const GdkEvent *event); This function returns whether a GdkEventButton should trigger a context menu, according to platform conventions. The right mouse button always triggers context menus. Additionally, if gdk_keymap_get_modifier_mask() returns a non-0 mask for GDK_MODIFIER_INTENT_CONTEXT_MENU, then the left mouse button will also trigger a context menu if this modifier is pressed. This function should always be used instead of simply checking for event->button == GDK_BUTTON_SECONDARY. Parameters event a GdkEvent, currently only button events are meaningful values Returns TRUE if the event should trigger a context menu. gdk_event_get_seat () gdk_event_get_seat GdkSeat * gdk_event_get_seat (const GdkEvent *event); Returns the GdkSeat this event was generated for. Parameters event a GdkEvent Returns The GdkSeat of this event. [transfer none] gdk_event_get_scancode () gdk_event_get_scancode int gdk_event_get_scancode (GdkEvent *event); Gets the keyboard low-level scancode of a key event. This is usually hardware_keycode. On Windows this is the high word of WM_KEY{DOWN,UP} lParam which contains the scancode and some extended flags. Parameters event a GdkEvent Returns The associated keyboard scancode or 0 gdk_event_get_pointer_emulated () gdk_event_get_pointer_emulated gboolean gdk_event_get_pointer_emulated (GdkEvent *event); Returns whether this event is an 'emulated' pointer event (typically from a touch event), as opposed to a real one. Parameters event a GdkEvent Returns TRUE if this event is emulated gdk_event_get_crossing_detail () gdk_event_get_crossing_detail gboolean gdk_event_get_crossing_detail (const GdkEvent *event, GdkNotifyType *detail); Extracts the crossing detail from an event. Parameters event a GdkEvent detail return location for the crossing detail. [out] Returns TRUE on success, otherwise FALSE gdk_event_get_crossing_mode () gdk_event_get_crossing_mode gboolean gdk_event_get_crossing_mode (const GdkEvent *event, GdkCrossingMode *mode); Extracts the crossing mode from an event. Parameters event a GdkEvent mode return location for the crossing mode. [out] Returns TRUE on success, otherwise FALSE gdk_event_get_drop () gdk_event_get_drop GdkDrop * gdk_event_get_drop (const GdkEvent *event); Gets the GdkDrop from a DND event. Parameters event a GdkEvent Returns the drop. [transfer none][nullable] gdk_event_get_focus_in () gdk_event_get_focus_in gboolean gdk_event_get_focus_in (const GdkEvent *event, gboolean *focus_in); Extracts whether this is a focus-in or focus-out event. Parameters event a GdkEvent focus_in return location for focus direction. [out] Returns TRUE on success, otherwise FALSE gdk_event_get_grab_surface () gdk_event_get_grab_surface gboolean gdk_event_get_grab_surface (const GdkEvent *event, GdkSurface **surface); Extracts the grab surface from a grab broken event. Parameters event a GdkEvent surface Return location for the grab surface. [out][transfer none] Returns TRUE on success, otherwise FALSE gdk_event_get_motion_history () gdk_event_get_motion_history GList * gdk_event_get_motion_history (const GdkEvent *event); Retrieves the history of the event motion, as a list of time and coordinates. Parameters event a GdkEvent of type GDK_MOTION_NOTIFY Returns a list of time and coordinates. [transfer container][element-type GdkTimeCoord][nullable] gdk_event_get_key_group () gdk_event_get_key_group gboolean gdk_event_get_key_group (const GdkEvent *event, guint *group); Extracts the key group from an event. Parameters event a GdkEvent group return location for the key group. [out] Returns TRUE on success, otherwise FALSE gdk_event_get_key_is_modifier () gdk_event_get_key_is_modifier gboolean gdk_event_get_key_is_modifier (const GdkEvent *event, gboolean *is_modifier); Extracts whether the event is a key event for a modifier key. Parameters event a GdkEvent is_modifier return location for the value. [out] Returns TRUE on success, otherwise FALSE gdk_event_get_pad_axis_value () gdk_event_get_pad_axis_value gboolean gdk_event_get_pad_axis_value (const GdkEvent *event, guint *index, gdouble *value); Extracts the information from a pad event. Parameters event a GdkEvent index Return location for the axis index. [out] value Return location for the axis value. [out] Returns TRUE on success, otherwise FALSE gdk_event_get_pad_button () gdk_event_get_pad_button gboolean gdk_event_get_pad_button (const GdkEvent *event, guint *button); Extracts information about the pressed button from a pad event. Parameters event a GdkEvent button Return location for the button. [out] Returns TRUE on success, otherwise FALSE gdk_event_get_pad_group_mode () gdk_event_get_pad_group_mode gboolean gdk_event_get_pad_group_mode (const GdkEvent *event, guint *group, guint *mode); Extracts group and mode information from a pad event. Parameters event a GdkEvent group return location for the group. [out] mode return location for the mode. [out] Returns TRUE on success, otherwise FALSE gdk_event_get_touch_emulating_pointer () gdk_event_get_touch_emulating_pointer gboolean gdk_event_get_touch_emulating_pointer (const GdkEvent *event, gboolean *emulating); Extracts whether a touch event is emulating a pointer event. Parameters event a GdkEvent emulating Return location for information. [out] Returns TRUE on success, otherwise FALSE gdk_event_get_touchpad_angle_delta () gdk_event_get_touchpad_angle_delta gboolean gdk_event_get_touchpad_angle_delta (const GdkEvent *event, double *delta); Extracts the angle from a touchpad event. Parameters event a GdkEvent delta Return location for angle. [out] Returns TRUE on success, otherwise FALSE gdk_event_get_touchpad_deltas () gdk_event_get_touchpad_deltas gboolean gdk_event_get_touchpad_deltas (const GdkEvent *event, double *dx, double *dy); Extracts delta information from a touchpad event. Parameters event a GdkEvent dx return location for x. [out] dy return location for y. [out] Returns TRUE on success, otherwise FALSE gdk_event_get_touchpad_gesture_n_fingers () gdk_event_get_touchpad_gesture_n_fingers gboolean gdk_event_get_touchpad_gesture_n_fingers (const GdkEvent *event, guint *n_fingers); Extracts the number of fingers from a touchpad event. Parameters event a GdkEvent n_fingers return location for the number of fingers. [out] Returns TRUE on success, otherwise FALSE gdk_event_get_touchpad_gesture_phase () gdk_event_get_touchpad_gesture_phase gboolean gdk_event_get_touchpad_gesture_phase (const GdkEvent *event, GdkTouchpadGesturePhase *phase); Extracts the touchpad gesture phase from a touchpad event. Parameters event a GdkEvent phase Return location for the gesture phase. [out] Returns TRUE on success, otherwise FALSE gdk_event_get_touchpad_scale () gdk_event_get_touchpad_scale gboolean gdk_event_get_touchpad_scale (const GdkEvent *event, double *scale); Extracts the scale from a touchpad event. Parameters event a GdkEvent scale Return location for scale. [out] Returns TRUE on success, otherwise FALSE gdk_event_is_sent () gdk_event_is_sent gboolean gdk_event_is_sent (const GdkEvent *event); Returns whether the event was sent explicitly. Parameters event a GdkEvent Returns TRUE if the event was sent explicitly gdk_get_show_events () gdk_get_show_events gboolean gdk_get_show_events (void); Gets whether event debugging output is enabled. Returns TRUE if event debugging output is enabled. gdk_set_show_events () gdk_set_show_events void gdk_set_show_events (gboolean show_events); Sets whether a trace of received events is output. Note that GTK+ must be compiled with debugging (that is, configured using the --enable-debug option) to use this option. Parameters show_events TRUE to output event debugging information. gdk_event_set_display () gdk_event_set_display void gdk_event_set_display (GdkEvent *event, GdkDisplay *display); Sets the display that an event is associated with. Parameters event a GdkEvent display a GdkDisplay gdk_event_get_display () gdk_event_get_display GdkDisplay * gdk_event_get_display (const GdkEvent *event); Retrieves the GdkDisplay associated to the event . Parameters event a GdkEvent Returns a GdkDisplay. [transfer none][nullable] gdk_event_get_device () gdk_event_get_device GdkDevice * gdk_event_get_device (const GdkEvent *event); If the event contains a “device” field, this function will return it, else it will return NULL. Parameters event a GdkEvent. Returns a GdkDevice, or NULL. [nullable][transfer none] gdk_event_set_device () gdk_event_set_device void gdk_event_set_device (GdkEvent *event, GdkDevice *device); Sets the device for event to device . The event must have been allocated by GTK+, for instance, by gdk_event_copy(). Parameters event a GdkEvent device a GdkDevice gdk_event_get_source_device () gdk_event_get_source_device GdkDevice * gdk_event_get_source_device (const GdkEvent *event); This function returns the hardware (slave) GdkDevice that has triggered the event, falling back to the virtual (master) device (as in gdk_event_get_device()) if the event wasn’t caused by interaction with a hardware device. This may happen for example in synthesized crossing events after a GdkSurface updates its geometry or a grab is acquired/released. If the event does not contain a device field, this function will return NULL. Parameters event a GdkEvent Returns a GdkDevice, or NULL. [nullable][transfer none] gdk_event_set_source_device () gdk_event_set_source_device void gdk_event_set_source_device (GdkEvent *event, GdkDevice *device); Sets the slave device for event to device . The event must have been allocated by GTK+, for instance by gdk_event_copy(). Parameters event a GdkEvent device a GdkDevice gdk_event_get_device_tool () gdk_event_get_device_tool GdkDeviceTool * gdk_event_get_device_tool (const GdkEvent *event); If the event was generated by a device that supports different tools (eg. a tablet), this function will return a GdkDeviceTool representing the tool that caused the event. Otherwise, NULL will be returned. Note: the GdkDeviceTool<!-- -->s will be constant during the application lifetime, if settings must be stored persistently across runs, see gdk_device_tool_get_serial() Parameters event a GdkEvent Returns The current device tool, or NULL. [transfer none] gdk_event_set_device_tool () gdk_event_set_device_tool void gdk_event_set_device_tool (GdkEvent *event, GdkDeviceTool *tool); Sets the device tool for this event, should be rarely used. Parameters event a GdkEvent tool tool to set on the event, or NULL. [nullable] Types and Values GdkEvent GdkEvent The GdkEvent struct contains only private fields and should not be accessed directly. enum GdkEventType GdkEventType 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. Members GDK_NOTHING a special code to indicate a null event. GDK_DELETE the window manager has requested that the toplevel surface be hidden or destroyed, usually when the user clicks on a special icon in the title bar. GDK_DESTROY the surface has been destroyed. GDK_MOTION_NOTIFY the pointer (usually a mouse) has moved. GDK_BUTTON_PRESS a mouse button has been pressed. 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 surface. GDK_LEAVE_NOTIFY the pointer has left the surface. GDK_FOCUS_CHANGE the keyboard focus has entered or left the surface. GDK_CONFIGURE the size, position or stacking order of the surface has changed. Note that GTK+ discards these events for GDK_SURFACE_CHILD surfaces. 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 surface while a drag is in progress. GDK_DRAG_LEAVE the mouse has left the surface while a drag is in progress. GDK_DRAG_MOTION the mouse has moved in the surface while a drag is in progress. GDK_DROP_START a drop operation onto the surface has started. GDK_SCROLL the scroll wheel was turned GDK_GRAB_BROKEN a pointer or keyboard grab was broken. This event type was added in 2.8. GDK_TOUCH_BEGIN A new touch event sequence has just started. This event type was added in 3.4. GDK_TOUCH_UPDATE A touch event sequence has been updated. This event type was added in 3.4. GDK_TOUCH_END A touch event sequence has finished. This event type was added in 3.4. GDK_TOUCH_CANCEL A touch event sequence has been canceled. This event type was added in 3.4. GDK_TOUCHPAD_SWIPE A touchpad swipe gesture event, the current state is determined by its phase field. This event type was added in 3.18. GDK_TOUCHPAD_PINCH A touchpad pinch gesture event, the current state is determined by its phase field. This event type was added in 3.18. GDK_PAD_BUTTON_PRESS A tablet pad button press event. This event type was added in 3.22. GDK_PAD_BUTTON_RELEASE A tablet pad button release event. This event type was added in 3.22. GDK_PAD_RING A tablet pad axis event from a "ring". This event type was added in 3.22. GDK_PAD_STRIP A tablet pad axis event from a "strip". This event type was added in 3.22. GDK_PAD_GROUP_MODE A tablet pad group mode change. This event type was added in 3.22. GDK_EVENT_LAST marks the end of the GdkEventType enumeration. Added in 2.18 enum GdkEventMask GdkEventMask A set of bit-flags to indicate which events a surface is to receive. Most of these masks map onto one or more of the GdkEventType event types above. See the input handling overview for details of event masks and event propagation. If GDK_TOUCH_MASK is enabled, the surface will receive touch events from touch-enabled devices. Those will come as sequences of GdkEventTouch with type GDK_TOUCH_UPDATE, enclosed by two events with type GDK_TOUCH_BEGIN and GDK_TOUCH_END (or GDK_TOUCH_CANCEL). gdk_event_get_event_sequence() returns the event sequence for these events, so different sequences may be distinguished. Members GDK_EXPOSURE_MASK receive expose events GDK_POINTER_MOTION_MASK receive all pointer motion events 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 surface enter events GDK_LEAVE_NOTIFY_MASK receive surface leave events GDK_FOCUS_CHANGE_MASK receive focus change events GDK_STRUCTURE_MASK receive events about surface configuration change GDK_PROPERTY_CHANGE_MASK receive property change events GDK_PROXIMITY_IN_MASK receive proximity in events GDK_PROXIMITY_OUT_MASK receive proximity out events GDK_SUBSTRUCTURE_MASK receive events about surface configuration changes of child surfaces GDK_SCROLL_MASK receive scroll events GDK_TOUCH_MASK receive touch events GDK_SMOOTH_SCROLL_MASK receive smooth scrolling events GDK_TOUCHPAD_GESTURE_MASK receive touchpad gesture events GDK_TABLET_PAD_MASK receive tablet pad events GDK_ALL_EVENTS_MASK the combination of all the above event masks. enum GdkScrollDirection GdkScrollDirection Specifies the direction for scroll events. Members GDK_SCROLL_UP the surface is scrolled up. GDK_SCROLL_DOWN the surface is scrolled down. GDK_SCROLL_LEFT the surface is scrolled to the left. GDK_SCROLL_RIGHT the surface is scrolled to the right. GDK_SCROLL_SMOOTH the scrolling is determined by the delta values in scroll events. See gdk_event_get_scroll_deltas() enum GdkCrossingMode GdkCrossingMode Specifies the crossing mode for enter and leave events. Members GDK_CROSSING_NORMAL crossing because of pointer motion. GDK_CROSSING_GRAB crossing because a grab is activated. GDK_CROSSING_UNGRAB crossing because a grab is deactivated. GDK_CROSSING_GTK_GRAB crossing because a GTK+ grab is activated. GDK_CROSSING_GTK_UNGRAB crossing because a GTK+ grab is deactivated. GDK_CROSSING_STATE_CHANGED crossing because a GTK+ widget changed state (e.g. sensitivity). GDK_CROSSING_TOUCH_BEGIN crossing because a touch sequence has begun, this event is synthetic as the pointer might have not left the surface. GDK_CROSSING_TOUCH_END crossing because a touch sequence has ended, this event is synthetic as the pointer might have not left the surface. GDK_CROSSING_DEVICE_SWITCH crossing because of a device switch (i.e. a mouse taking control of the pointer after a touch device), this event is synthetic as the pointer didn’t leave the surface. enum GdkNotifyType GdkNotifyType Specifies the kind of crossing for enter and leave events. See the X11 protocol specification of LeaveNotify for full details of crossing event generation. Members GDK_NOTIFY_ANCESTOR the surface is entered from an ancestor or left towards an ancestor. GDK_NOTIFY_VIRTUAL the pointer moves between an ancestor and an inferior of the surface. GDK_NOTIFY_INFERIOR the surface is entered from an inferior or left towards an inferior. GDK_NOTIFY_NONLINEAR the surface is entered from or left towards a surface which is neither an ancestor nor an inferior. GDK_NOTIFY_NONLINEAR_VIRTUAL the pointer moves between two surfaces which are not ancestors of each other and the surface is part of the ancestor chain between one of these surfaces and their least common ancestor. GDK_NOTIFY_UNKNOWN an unknown type of enter/leave event occurred. GDK_CURRENT_TIME GDK_CURRENT_TIME #define GDK_CURRENT_TIME 0L Represents the current time, and can be used anywhere a time is expected. GDK_PRIORITY_EVENTS GDK_PRIORITY_EVENTS #define GDK_PRIORITY_EVENTS (G_PRIORITY_DEFAULT) This is the priority that events from the X server are given in the GLib Main Loop. GDK_PRIORITY_REDRAW GDK_PRIORITY_REDRAW #define GDK_PRIORITY_REDRAW (G_PRIORITY_HIGH_IDLE + 20) This is the priority that the idle handler processing surface updates is given in the GLib Main Loop. GDK_EVENT_PROPAGATE GDK_EVENT_PROPAGATE #define GDK_EVENT_PROPAGATE (FALSE) Use this macro as the return value for continuing the propagation of an event handler. GDK_EVENT_STOP GDK_EVENT_STOP #define GDK_EVENT_STOP (TRUE) Use this macro as the return value for stopping the propagation of an event handler. GDK_BUTTON_PRIMARY GDK_BUTTON_PRIMARY #define GDK_BUTTON_PRIMARY (1) The primary button. This is typically the left mouse button, or the right button in a left-handed setup. GDK_BUTTON_MIDDLE GDK_BUTTON_MIDDLE #define GDK_BUTTON_MIDDLE (2) The middle button. GDK_BUTTON_SECONDARY GDK_BUTTON_SECONDARY #define GDK_BUTTON_SECONDARY (3) The secondary button. This is typically the right mouse button, or the left button in a left-handed setup. GdkEventSequence GdkEventSequence typedef struct _GdkEventSequence GdkEventSequence; GdkEventSequence is an opaque type representing a sequence of related touch events. Property Details The <literal>“event-type”</literal> property GdkEvent:event-type “event-type” GdkEventType Event type.Flags: Read / Write / Construct Only Default value: GDK_NOTHING See Also Event Structures docs/reference/gdk/xml/gdkmonitor.xml0000664000175000017500000011150113464200076020041 0ustar mclasenmclasen ]> GdkMonitor 3 GDK4 Library GdkMonitor Object representing an output Functions GdkDisplay * gdk_monitor_get_display () void gdk_monitor_get_geometry () void gdk_monitor_get_workarea () int gdk_monitor_get_width_mm () int gdk_monitor_get_height_mm () const char * gdk_monitor_get_manufacturer () const char * gdk_monitor_get_model () int gdk_monitor_get_scale_factor () int gdk_monitor_get_refresh_rate () GdkSubpixelLayout gdk_monitor_get_subpixel_layout () gboolean gdk_monitor_is_primary () gboolean gdk_monitor_is_valid () Properties GdkDisplay *displayRead / Write / Construct Only GdkRectangle *geometryRead gintheight-mmRead gchar *manufacturerRead gchar *modelRead gintrefresh-rateRead gintscale-factorRead GdkSubpixelLayoutsubpixel-layoutRead gbooleanvalidRead gintwidth-mmRead GdkRectangle *workareaRead Signals voidinvalidateRun First Types and Values GdkMonitor enumGdkSubpixelLayout Object Hierarchy GObject ╰── GdkMonitor Includes#include <gdk/gdkwayland.h> Description GdkMonitor objects represent the individual outputs that are associated with a GdkDisplay. GdkDisplay has APIs to enumerate monitors with gdk_display_get_n_monitors() and gdk_display_get_monitor(), and to find particular monitors with gdk_display_get_primary_monitor() or gdk_display_get_monitor_at_surface(). Functions gdk_monitor_get_display () gdk_monitor_get_display GdkDisplay * gdk_monitor_get_display (GdkMonitor *monitor); Gets the display that this monitor belongs to. Parameters monitor a GdkMonitor Returns the display. [transfer none] gdk_monitor_get_geometry () gdk_monitor_get_geometry void gdk_monitor_get_geometry (GdkMonitor *monitor, GdkRectangle *geometry); Retrieves the size and position of an individual monitor within the display coordinate space. The returned geometry is in ”application pixels”, not in ”device pixels” (see gdk_monitor_get_scale_factor()). Parameters monitor a GdkMonitor geometry a GdkRectangle to be filled with the monitor geometry. [out] gdk_monitor_get_workarea () gdk_monitor_get_workarea void gdk_monitor_get_workarea (GdkMonitor *monitor, GdkRectangle *workarea); Retrieves the size and position of the “work area” on a monitor within the display coordinate space. The returned geometry is in ”application pixels”, not in ”device pixels” (see gdk_monitor_get_scale_factor()). The work area should be considered when positioning menus and similar popups, to avoid placing them below panels, docks or other desktop components. Note that not all backends may have a concept of workarea. This function will return the monitor geometry if a workarea is not available, or does not apply. Parameters monitor a GdkMonitor workarea a GdkRectangle to be filled with the monitor workarea. [out] gdk_monitor_get_width_mm () gdk_monitor_get_width_mm int gdk_monitor_get_width_mm (GdkMonitor *monitor); Gets the width in millimeters of the monitor. Parameters monitor a GdkMonitor Returns the physical width of the monitor gdk_monitor_get_height_mm () gdk_monitor_get_height_mm int gdk_monitor_get_height_mm (GdkMonitor *monitor); Gets the height in millimeters of the monitor. Parameters monitor a GdkMonitor Returns the physical height of the monitor gdk_monitor_get_manufacturer () gdk_monitor_get_manufacturer const char * gdk_monitor_get_manufacturer (GdkMonitor *monitor); Gets the name of the monitor's manufacturer, if available. Parameters monitor a GdkMonitor Returns the name of the manufacturer, or NULL. [transfer none][nullable] gdk_monitor_get_model () gdk_monitor_get_model const char * gdk_monitor_get_model (GdkMonitor *monitor); Gets the a string identifying the monitor model, if available. Parameters monitor a GdkMonitor Returns the monitor model, or NULL. [transfer none][nullable] gdk_monitor_get_scale_factor () gdk_monitor_get_scale_factor int gdk_monitor_get_scale_factor (GdkMonitor *monitor); Gets the internal scale factor that maps from monitor coordinates to the actual device pixels. On traditional systems this is 1, but on very high density outputs this can be a higher value (often 2). This can be used if you want to create pixel based data for a particular monitor, but most of the time you’re drawing to a surface where it is better to use gdk_surface_get_scale_factor() instead. Parameters monitor a GdkMonitor Returns the scale factor gdk_monitor_get_refresh_rate () gdk_monitor_get_refresh_rate int gdk_monitor_get_refresh_rate (GdkMonitor *monitor); Gets the refresh rate of the monitor, if available. The value is in milli-Hertz, so a refresh rate of 60Hz is returned as 60000. Parameters monitor a GdkMonitor Returns the refresh rate in milli-Hertz, or 0 gdk_monitor_get_subpixel_layout () gdk_monitor_get_subpixel_layout GdkSubpixelLayout gdk_monitor_get_subpixel_layout (GdkMonitor *monitor); Gets information about the layout of red, green and blue primaries for each pixel in this monitor, if available. Parameters monitor a GdkMonitor Returns the subpixel layout gdk_monitor_is_primary () gdk_monitor_is_primary gboolean gdk_monitor_is_primary (GdkMonitor *monitor); Gets whether this monitor should be considered primary (see gdk_display_get_primary_monitor()). Parameters monitor a GdkMonitor Returns TRUE if monitor is primary gdk_monitor_is_valid () gdk_monitor_is_valid gboolean gdk_monitor_is_valid (GdkMonitor *monitor); Returns TRUE if the monitor object corresponds to a physical monitor. The monitor becomes invalid when the physical monitor is unplugged or removed. Parameters monitor a GdkMonitor Returns TRUE if the object corresponds to a physical monitor Types and Values GdkMonitor GdkMonitor typedef struct _GdkMonitor GdkMonitor; The GdkMonitor struct contains only private fields and should not be accessed directly. enum GdkSubpixelLayout GdkSubpixelLayout This enumeration describes how the red, green and blue components of physical pixels on an output device are laid out. Members GDK_SUBPIXEL_LAYOUT_UNKNOWN The layout is not known GDK_SUBPIXEL_LAYOUT_NONE Not organized in this way GDK_SUBPIXEL_LAYOUT_HORIZONTAL_RGB The layout is horizontal, the order is RGB GDK_SUBPIXEL_LAYOUT_HORIZONTAL_BGR The layout is horizontal, the order is BGR GDK_SUBPIXEL_LAYOUT_VERTICAL_RGB The layout is vertical, the order is RGB GDK_SUBPIXEL_LAYOUT_VERTICAL_BGR The layout is vertical, the order is BGR Property Details The <literal>“display”</literal> property GdkMonitor:display “display” GdkDisplay * The display of the monitor.Flags: Read / Write / Construct Only The <literal>“geometry”</literal> property GdkMonitor:geometry “geometry” GdkRectangle * The geometry of the monitor.Flags: Read The <literal>“height-mm”</literal> property GdkMonitor:height-mm “height-mm” gint The height of the monitor, in millimeters.Flags: Read Allowed values: >= 0 Default value: 0 The <literal>“manufacturer”</literal> property GdkMonitor:manufacturer “manufacturer” gchar * The manufacturer name.Flags: Read Default value: NULL The <literal>“model”</literal> property GdkMonitor:model “model” gchar * The model name.Flags: Read Default value: NULL The <literal>“refresh-rate”</literal> property GdkMonitor:refresh-rate “refresh-rate” gint The refresh rate, in millihertz.Flags: Read Allowed values: >= 0 Default value: 0 The <literal>“scale-factor”</literal> property GdkMonitor:scale-factor “scale-factor” gint The scale factor.Flags: Read Allowed values: >= 0 Default value: 1 The <literal>“subpixel-layout”</literal> property GdkMonitor:subpixel-layout “subpixel-layout” GdkSubpixelLayout The subpixel layout.Flags: Read Default value: GDK_SUBPIXEL_LAYOUT_UNKNOWN The <literal>“valid”</literal> property GdkMonitor:valid “valid” gboolean Whether the monitor is still valid.Flags: Read Default value: TRUE The <literal>“width-mm”</literal> property GdkMonitor:width-mm “width-mm” gint The width of the monitor, in millimeters.Flags: Read Allowed values: >= 0 Default value: 0 The <literal>“workarea”</literal> property GdkMonitor:workarea “workarea” GdkRectangle * The workarea of the monitor.Flags: Read Signal Details The <literal>“invalidate”</literal> signal GdkMonitor::invalidate void user_function (GdkMonitor *monitor, gpointer user_data) The ::invalidate signal gets emitted when the output represented by monitor gets disconnected. Parameters monitor the object on which this signal was emitted user_data user data set when the signal handler was connected. Flags: Run First docs/reference/gdk/xml/gdkdevicepad.xml0000664000175000017500000003304513464200075020303 0ustar mclasenmclasen ]> GtkDevicePad 3 GDK4 Library GtkDevicePad Pad device interface Functions gint gdk_device_pad_get_n_groups () gint gdk_device_pad_get_group_n_modes () gint gdk_device_pad_get_n_features () gint gdk_device_pad_get_feature_group () Types and Values GdkDevicePad enumGdkDevicePadFeature Object Hierarchy GInterface ╰── GdkDevicePad Prerequisites GdkDevicePad requires GdkDevice. Includes#include <gdk/gdk.h> Description GdkDevicePad is an interface implemented by devices of type GDK_SOURCE_TABLET_PAD, it allows querying the features provided by the pad device. Tablet pads may contain one or more groups, each containing a subset of the buttons/rings/strips available. gdk_device_pad_get_n_groups() can be used to obtain the number of groups, gdk_device_pad_get_n_features() and gdk_device_pad_get_feature_group() can be combined to find out the number of buttons/rings/strips the device has, and how are they grouped. Each of those groups have different modes, which may be used to map each individual pad feature to multiple actions. Only one mode is effective (current) for each given group, different groups may have different current modes. The number of available modes in a group can be found out through gdk_device_pad_get_group_n_modes(), and the current mode for a given group will be notified through the GdkEventPadGroupMode event. Functions gdk_device_pad_get_n_groups () gdk_device_pad_get_n_groups gint gdk_device_pad_get_n_groups (GdkDevicePad *pad); Returns the number of groups this pad device has. Pads have at least one group. A pad group is a subcollection of buttons/strip/rings that is affected collectively by a same current mode. Parameters pad a GdkDevicePad Returns The number of button/ring/strip groups in the pad. gdk_device_pad_get_group_n_modes () gdk_device_pad_get_group_n_modes gint gdk_device_pad_get_group_n_modes (GdkDevicePad *pad, gint group_idx); Returns the number of modes that group may have. Parameters pad a GdkDevicePad group_idx group to get the number of available modes from Returns The number of modes available in group . gdk_device_pad_get_n_features () gdk_device_pad_get_n_features gint gdk_device_pad_get_n_features (GdkDevicePad *pad, GdkDevicePadFeature feature); Returns the number of features a tablet pad has. Parameters pad a GdkDevicePad feature a pad feature Returns The amount of elements of type feature that this pad has. gdk_device_pad_get_feature_group () gdk_device_pad_get_feature_group gint gdk_device_pad_get_feature_group (GdkDevicePad *pad, GdkDevicePadFeature feature, gint feature_idx); Returns the group the given feature and idx belong to, or -1 if feature/index do not exist in pad . Parameters pad a GdkDevicePad feature the feature type to get the group from feature_idx the index of the feature to get the group from Returns The group number of the queried pad feature. Types and Values GdkDevicePad GdkDevicePad typedef struct _GdkDevicePad GdkDevicePad; The GdkDevicePad struct contains only private fields and should not be accessed directly. enum GdkDevicePadFeature GdkDevicePadFeature A pad feature. Members GDK_DEVICE_PAD_FEATURE_BUTTON a button GDK_DEVICE_PAD_FEATURE_RING a ring-shaped interactive area GDK_DEVICE_PAD_FEATURE_STRIP a straight interactive area docs/reference/gdk/xml/textures.xml0000664000175000017500000007773513464200075017572 0ustar mclasenmclasen ]> GdkTexture 3 GDK4 Library GdkTexture Pixel data Functions GdkTexture * gdk_texture_new_for_pixbuf () GdkTexture * gdk_texture_new_from_resource () GdkTexture * gdk_texture_new_from_file () int gdk_texture_get_width () int gdk_texture_get_height () void gdk_texture_download () gboolean gdk_texture_save_to_png () GdkTexture * gdk_memory_texture_new () GdkTexture * gdk_gl_texture_new () void gdk_gl_texture_release () Properties gintheightRead / Write / Construct Only gintwidthRead / Write / Construct Only Types and Values GdkTexture enumGdkMemoryFormat #defineGDK_MEMORY_DEFAULT Object Hierarchy GObject ╰── GdkTexture Implemented Interfaces GdkTexture implements GdkPaintable. Includes#include <gdk/gdk.h> Description GdkTexture is the basic element used to refer to pixel data. It is primarily mean for pixel data that will not change over multiple frames, and will be used for a long time. You cannot get your pixel data back once you've uploaded it. GdkTexture is an immutable object: That means you cannot change anything about it other than increasing the reference count via g_object_ref(). Functions gdk_texture_new_for_pixbuf () gdk_texture_new_for_pixbuf GdkTexture * gdk_texture_new_for_pixbuf (GdkPixbuf *pixbuf); Creates a new texture object representing the GdkPixbuf. Parameters pixbuf a GdkPixbuf Returns a new GdkTexture gdk_texture_new_from_resource () gdk_texture_new_from_resource GdkTexture * gdk_texture_new_from_resource (const char *resource_path); Creates a new texture by loading an image from a resource. The file format is detected automatically. It is a fatal error if resource_path does not specify a valid image resource and the program will abort if that happens. If you are unsure about the validity of a resource, use gdk_texture_new_from_file() to load it. Parameters resource_path the path of the resource file Returns A newly-created texture gdk_texture_new_from_file () gdk_texture_new_from_file GdkTexture * gdk_texture_new_from_file (GFile *file, GError **error); Creates a new texture by loading an image from a file. The file format is detected automatically. If NULL is returned, then error will be set. Parameters file GFile to load error Return location for an error Returns A newly-created GdkTexture or NULL if an error occured. gdk_texture_get_width () gdk_texture_get_width int gdk_texture_get_width (GdkTexture *texture); Returns the width of texture . Parameters texture a GdkTexture Returns the width of the GdkTexture gdk_texture_get_height () gdk_texture_get_height int gdk_texture_get_height (GdkTexture *texture); Returns the height of the texture . Parameters texture a GdkTexture Returns the height of the GdkTexture gdk_texture_download () gdk_texture_download void gdk_texture_download (GdkTexture *texture, guchar *data, gsize stride); Downloads the texture into local memory. This may be an expensive operation, as the actual texture data may reside on a GPU or on a remote display server. The data format of the downloaded data is equivalent to CAIRO_FORMAT_ARGB32, so every downloaded pixel requires 4 bytes of memory. Downloading a texture into a Cairo image surface: Parameters texture a GdkTexture data pointer to enough memory to be filled with the downloaded data of texture . [array] stride rowstride in bytes gdk_texture_save_to_png () gdk_texture_save_to_png gboolean gdk_texture_save_to_png (GdkTexture *texture, const char *filename); Store the given texture to the filename as a PNG file. This is a utility function intended for debugging and testing. If you want more control over formats, proper error handling or want to store to a GFile or other location, you might want to look into using the gdk-pixbuf library. Parameters texture a GdkTexture filename the filename to store to Returns TRUE if saving succeeded, FALSE on failure. gdk_memory_texture_new () gdk_memory_texture_new GdkTexture * gdk_memory_texture_new (int width, int height, GdkMemoryFormat format, GBytes *bytes, gsize stride); Creates a new texture for a blob of image data. The GBytes must contain stride x height pixels in the given format. Parameters width the width of the texture height the height of the texture format the format of the data bytes the GBytes containing the pixel data stride rowstride for the data Returns A newly-created GdkTexture gdk_gl_texture_new () gdk_gl_texture_new GdkTexture * gdk_gl_texture_new (GdkGLContext *context, guint id, int width, int height, GDestroyNotify destroy, gpointer data); Creates a new texture for an existing GL texture. Note that the GL texture must not be modified until destroy is called, which will happen when the GdkTexture object is finalized, or due to an explicit call of gdk_gl_texture_release(). Parameters context a GdkGLContext id the ID of a texture that was created with context width the nominal width of the texture height the nominal height of the texture destroy a destroy notify that will be called when the GL resources are released data data that gets passed to destroy Returns A newly-created GdkTexture. [transfer full] gdk_gl_texture_release () gdk_gl_texture_release void gdk_gl_texture_release (GdkGLTexture *self); Releases the GL resources held by a GdkGLTexture that was created with gdk_gl_texture_new(). The texture contents are still available via the gdk_texture_download() function, after this function has been called. Parameters self a GdkTexture wrapping a GL texture Types and Values GdkTexture GdkTexture typedef struct _GdkTexture GdkTexture; The GdkTexture structure contains only private data. enum GdkMemoryFormat GdkMemoryFormat GdkMemoryFormat describes a format that bytes can have in memory. It describes formats by listing the contents of the memory passed to it. So GDK_MEMORY_A8R8G8B8 will be 1 byte (8 bits) of alpha, followed by a byte each of red, green and blue. It is not endian-dependent, so CAIRO_FORMAT_ARGB32 is represented by different GdkMemoryFormats on architectures with different endiannesses. Its naming is modelled after VkFormat (see https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.htmlVkFormat for details). Members GDK_MEMORY_B8G8R8A8_PREMULTIPLIED 4 bytes; for blue, green, red, alpha. The color values are premultiplied with the alpha value. GDK_MEMORY_A8R8G8B8_PREMULTIPLIED 4 bytes; for alpha, red, green, blue. The color values are premultiplied with the alpha value. GDK_MEMORY_B8G8R8A8 4 bytes; for blue, green, red, alpha. GDK_MEMORY_A8R8G8B8 4 bytes; for alpha, red, green, blue. GDK_MEMORY_R8G8B8A8 4 bytes; for red, green, blue, alpha. GDK_MEMORY_A8B8G8R8 4 bytes; for alpha, blue, green, red. GDK_MEMORY_R8G8B8 3 bytes; for red, green, blue. The data is opaque. GDK_MEMORY_B8G8R8 3 bytes; for blue, green, red. The data is opaque. GDK_MEMORY_N_FORMATS The number of formats. This value will change as more formats get added, so do not rely on its concrete integer. GDK_MEMORY_DEFAULT GDK_MEMORY_DEFAULT #define GDK_MEMORY_DEFAULT GDK_MEMORY_B8G8R8A8_PREMULTIPLIED This is the default memory format used by GTK and is the format provided by gdk_texture_download(). It is equal to CAIRO_FORMAT_ARGB32. Be aware that unlike the GdkMemoryFormat values, this format is different for different endianness. Property Details The <literal>“height”</literal> property GdkTexture:height “height” gint The height of the texture. Flags: Read / Write / Construct Only Allowed values: >= 1 Default value: 1 The <literal>“width”</literal> property GdkTexture:width “width” gint The width of the texture. Flags: Read / Write / Construct Only Allowed values: >= 1 Default value: 1 docs/reference/gdk/xml/cursors.xml0000664000175000017500000007310713464200075017374 0ustar mclasenmclasen ]> Cursors 3 GDK4 Library Cursors Named and texture cursors Functions GdkCursor * gdk_cursor_new_from_texture () GdkCursor * gdk_cursor_new_from_name () GdkCursor * gdk_cursor_get_fallback () const char * gdk_cursor_get_name () GdkTexture * gdk_cursor_get_texture () int gdk_cursor_get_hotspot_x () int gdk_cursor_get_hotspot_y () Properties GdkCursor *fallbackRead / Write / Construct Only ginthotspot-xRead / Write / Construct Only ginthotspot-yRead / Write / Construct Only gchar *nameRead / Write / Construct Only GdkTexture *textureRead / Write / Construct Only Types and Values GdkCursor Object Hierarchy GObject ╰── GdkCursor Includes#include <gdk/gdk.h> Description These functions are used to create and destroy cursors. Cursors are immutable objects, so once you created them, there is no way to modify them later. Create a new cursor, when you want to change something about it. Cursors by themselves are not very interesting, they must be bound to a window for users to see them. This is done with gdk_surface_set_cursor() or gdk_surface_set_device_cursor(). Applications will typically use higher-level GTK+ functions such as gtk_widget_set_cursor() instead. Cursors are not bound to a given GdkDisplay, so they can be shared. However, the appearance of cursors may vary when used on different platforms. There are multiple ways to create cursors. The platform's own cursors can be created with gdk_cursor_new_from_name(). That function lists the commonly available names that are shared with the CSS specification. Other names may be available, depending on the platform in use. Another option to create a cursor is to use gdk_cursor_new_from_texture() and provide an image to use for the cursor. To ease work with unsupported cursors, a fallback cursor can be provided. If a GdkSurface cannot use a cursor because of the reasons mentioned above, it will try the fallback cursor. Of course, fallback cursors can themselves have fallback cursors again, so it is possible to provide a chain of progressively easier to support cursors. If none of the provided cursors can be supported, the default cursor will be the ultimate fallback. Functions gdk_cursor_new_from_texture () gdk_cursor_new_from_texture GdkCursor * gdk_cursor_new_from_texture (GdkTexture *texture, int hotspot_x, int hotspot_y, GdkCursor *fallback); Creates a new cursor from a GdkTexture. Parameters texture the texture providing the pixel data hotspot_x the horizontal offset of the “hotspot” of the cursor hotspot_y the vertical offset of the “hotspot” of the cursor fallback NULL or the GdkCursor to fall back to when this one cannot be supported. [allow-none] Returns a new GdkCursor. gdk_cursor_new_from_name () gdk_cursor_new_from_name GdkCursor * gdk_cursor_new_from_name (const gchar *name, GdkCursor *fallback); Creates a new cursor by looking up name in the current cursor theme. A recommended set of cursor names that will work across different platforms can be found in the CSS specification: "none" "default" "help" "pointer" "context-menu" "progress" "wait" "cell" "crosshair" "text" "vertical-text" "alias" "copy" "no-drop" "move" "not-allowed" "grab" "grabbing" "all-scroll" "col-resize" "row-resize" "n-resize" "e-resize" "s-resize" "w-resize" "ne-resize" "nw-resize" "sw-resize" "se-resize" "ew-resize" "ns-resize" "nesw-resize" "nwse-resize" "zoom-in" "zoom-out" Parameters fallback NULL or the GdkCursor to fall back to when this one cannot be supported. [allow-none] name the name of the cursor Returns a new GdkCursor, or NULL if there is no cursor with the given name. [nullable] gdk_cursor_get_fallback () gdk_cursor_get_fallback GdkCursor * gdk_cursor_get_fallback (GdkCursor *cursor); Returns the fallback for this cursor . The fallback will be used if this cursor is not available on a given GdkDisplay. For named cursors, this can happen when using nonstandard names or when using an incomplete cursor theme. For textured cursors, this can happen when the texture is too large or when the GdkDisplay it is used on does not support textured cursors. Parameters cursor a GdkCursor. Returns the fallback of the cursor or NULL to use the default cursor as fallback. [transfer none][nullable] gdk_cursor_get_name () gdk_cursor_get_name const char * gdk_cursor_get_name (GdkCursor *cursor); Returns the name of the cursor. If the cursor is not a named cursor, NULL will be returned and the GdkCursor::texture property will be set. Parameters cursor a GdkCursor. Returns the name of the cursor or NULL if it is not a named cursor. [transfer none][nullable] gdk_cursor_get_texture () gdk_cursor_get_texture GdkTexture * gdk_cursor_get_texture (GdkCursor *cursor); Returns the texture for the cursor. If the cursor is a named cursor, NULL will be returned and the GdkCursor::name property will be set. Parameters cursor a GdkCursor. Returns the texture for cursor or NULL if it is a named cursor. [transfer none][nullable] gdk_cursor_get_hotspot_x () gdk_cursor_get_hotspot_x int gdk_cursor_get_hotspot_x (GdkCursor *cursor); Returns the horizontal offset of the hotspot. The hotspot indicates the pixel that will be directly above the cursor. Parameters cursor a GdkCursor. Returns the horizontal offset of the hotspot or 0 for named cursors gdk_cursor_get_hotspot_y () gdk_cursor_get_hotspot_y int gdk_cursor_get_hotspot_y (GdkCursor *cursor); Returns the vertical offset of the hotspot. The hotspot indicates the pixel that will be directly above the cursor. Parameters cursor a GdkCursor. Returns the vertical offset of the hotspot or 0 for named cursors Types and Values GdkCursor GdkCursor typedef struct _GdkCursor GdkCursor; A GdkCursor represents a cursor. Its contents are private. Cursors are immutable objects, so they can not change after they have been constructed. Property Details The <literal>“fallback”</literal> property GdkCursor:fallback “fallback” GdkCursor * Cursor image to fall back to if this cursor cannot be displayed.Flags: Read / Write / Construct Only The <literal>“hotspot-x”</literal> property GdkCursor:hotspot-x “hotspot-x” gint Horizontal offset of the cursor hotspot.Flags: Read / Write / Construct Only Allowed values: >= 0 Default value: 0 The <literal>“hotspot-y”</literal> property GdkCursor:hotspot-y “hotspot-y” gint Vertical offset of the cursor hotspot.Flags: Read / Write / Construct Only Allowed values: >= 0 Default value: 0 The <literal>“name”</literal> property GdkCursor:name “name” gchar * Name of this cursor.Flags: Read / Write / Construct Only Default value: NULL The <literal>“texture”</literal> property GdkCursor:texture “texture” GdkTexture * The texture displayed by this cursor.Flags: Read / Write / Construct Only docs/reference/gdk/xml/gdksurface.xml0000664000175000017500000112531613464200075020013 0ustar mclasenmclasen ]> Surfaces 3 GDK4 Library Surfaces Onscreen display areas in the target window system Functions GdkSurface * gdk_surface_new_toplevel () GdkSurface * gdk_surface_new_popup () GdkSurface * gdk_surface_new_temp () GdkSurface * gdk_surface_new_child () void gdk_surface_destroy () GdkSurfaceType gdk_surface_get_surface_type () GdkDisplay * gdk_surface_get_display () void gdk_surface_show () void gdk_surface_show_unraised () void gdk_surface_hide () gboolean gdk_surface_is_destroyed () gboolean gdk_surface_is_visible () gboolean gdk_surface_is_viewable () gboolean gdk_surface_is_input_only () GdkSurfaceState gdk_surface_get_state () void gdk_surface_iconify () void gdk_surface_deiconify () void gdk_surface_stick () void gdk_surface_unstick () void gdk_surface_maximize () void gdk_surface_unmaximize () void gdk_surface_fullscreen () void gdk_surface_fullscreen_on_monitor () void gdk_surface_unfullscreen () GdkFullscreenMode gdk_surface_get_fullscreen_mode () void gdk_surface_set_fullscreen_mode () void gdk_surface_set_keep_above () void gdk_surface_set_keep_below () void gdk_surface_set_opacity () void gdk_surface_set_pass_through () gboolean gdk_surface_get_pass_through () void gdk_surface_move () void gdk_surface_resize () void gdk_surface_move_resize () void gdk_surface_move_to_rect () gboolean gdk_surface_has_native () void gdk_surface_raise () void gdk_surface_lower () void gdk_surface_restack () void gdk_surface_focus () void gdk_surface_register_dnd () void gdk_surface_begin_resize_drag () void gdk_surface_begin_resize_drag_for_device () void gdk_surface_begin_move_drag () void gdk_surface_begin_move_drag_for_device () gboolean gdk_surface_show_window_menu () void gdk_surface_constrain_size () void gdk_surface_beep () gint gdk_surface_get_scale_factor () void gdk_surface_set_opaque_region () GdkGLContext * gdk_surface_create_gl_context () GdkVulkanContext * gdk_surface_create_vulkan_context () GdkCairoContext * gdk_surface_create_cairo_context () void gdk_surface_queue_expose () void gdk_surface_freeze_updates () void gdk_surface_thaw_updates () GdkFrameClock * gdk_surface_get_frame_clock () void gdk_surface_set_accept_focus () gboolean gdk_surface_get_accept_focus () void gdk_surface_set_focus_on_map () gboolean gdk_surface_get_focus_on_map () void gdk_surface_input_shape_combine_region () void gdk_surface_set_child_input_shapes () void gdk_surface_merge_child_input_shapes () void gdk_surface_set_title () void gdk_surface_set_cursor () GdkCursor * gdk_surface_get_cursor () void gdk_surface_get_geometry () void gdk_surface_set_geometry_hints () int gdk_surface_get_width () int gdk_surface_get_height () void gdk_surface_set_icon_list () void gdk_surface_set_modal_hint () gboolean gdk_surface_get_modal_hint () void gdk_surface_set_type_hint () GdkSurfaceTypeHint gdk_surface_get_type_hint () void gdk_surface_set_shadow_width () void gdk_surface_get_position () void gdk_surface_get_root_origin () void gdk_surface_get_frame_extents () gint gdk_surface_get_origin () void gdk_surface_get_root_coords () GdkSurface * gdk_surface_get_device_position () GdkSurface * gdk_surface_get_parent () GdkSurface * gdk_surface_get_toplevel () GList * gdk_surface_get_children () GList * gdk_surface_peek_children () void gdk_surface_set_icon_name () void gdk_surface_set_transient_for () void gdk_surface_set_startup_id () void gdk_surface_set_decorations () gboolean gdk_surface_get_decorations () void gdk_surface_set_functions () gboolean gdk_surface_get_support_multidevice () void gdk_surface_set_support_multidevice () GdkCursor * gdk_surface_get_device_cursor () void gdk_surface_set_device_cursor () void gdk_surface_coords_from_parent () void gdk_surface_coords_to_parent () Properties GdkCursor *cursorRead / Write GdkDisplay *displayRead / Write / Construct Only GdkFrameClock *frame-clockRead / Write / Construct Only gbooleanmappedRead GdkSurfaceStatestateRead Signals gbooleaneventRun Last voidmoved-to-rectRun First gbooleanrenderRun Last voidsize-changedRun First Types and Values GdkSurface enumGdkSurfaceType enumGdkSurfaceHints structGdkGeometry enumGdkGravity enumGdkAnchorHints enumGdkSurfaceEdge enumGdkSurfaceTypeHint enumGdkSurfaceState enumGdkFullscreenMode #defineGDK_PARENT_RELATIVE enumGdkModifierType enumGdkModifierIntent enumGdkWMDecoration enumGdkWMFunction Object Hierarchy GObject ╰── GdkSurface Includes#include <gdk/gdk.h> Description A GdkSurface is a (usually) rectangular region on the screen. It’s a low-level object, used to implement high-level objects such as GtkWidget and GtkWindow on the GTK level. A GtkWindow is a toplevel surface, the thing a user might think of as a “window” with a titlebar and so on; a GtkWindow may contain many sub-GdkSurfaces. Functions gdk_surface_new_toplevel () gdk_surface_new_toplevel GdkSurface * gdk_surface_new_toplevel (GdkDisplay *display, int width, int height); Creates a new toplevel surface. The surface will be managed by the surface manager. [constructor] Parameters display the display to create the surface on width width of new surface height height of new surface Returns the new GdkSurface. [transfer full] gdk_surface_new_popup () gdk_surface_new_popup GdkSurface * gdk_surface_new_popup (GdkDisplay *display, const GdkRectangle *position); Creates a new toplevel popup surface. The surface will bypass surface management. [constructor] Parameters display the display to create the surface on position position of the surface on screen Returns the new GdkSurface. [transfer full] gdk_surface_new_temp () gdk_surface_new_temp GdkSurface * gdk_surface_new_temp (GdkDisplay *display); Creates a new toplevel temporary surface. The surface will be situated off-screen and not handle output. You most likely do not want to use this function. [constructor] Parameters display the display to create the surface on Returns the new GdkSurface. [transfer full] gdk_surface_new_child () gdk_surface_new_child GdkSurface * gdk_surface_new_child (GdkSurface *parent, const GdkRectangle *position); Creates a new client-side child surface. [constructor] Parameters parent the parent surface position placement of the surface inside parent Returns the new GdkSurface. [transfer full] gdk_surface_destroy () gdk_surface_destroy void gdk_surface_destroy (GdkSurface *surface); Destroys the window system resources associated with surface and decrements surface 's reference count. The window system resources for all children of surface are also destroyed, but the children’s reference counts are not decremented. Note that a surface will not be destroyed automatically when its reference count reaches zero. You must call this function yourself before that happens. Parameters surface a GdkSurface gdk_surface_get_surface_type () gdk_surface_get_surface_type GdkSurfaceType gdk_surface_get_surface_type (GdkSurface *surface); Gets the type of the surface. See GdkSurfaceType. Parameters surface a GdkSurface Returns type of surface gdk_surface_get_display () gdk_surface_get_display GdkDisplay * gdk_surface_get_display (GdkSurface *surface); Gets the GdkDisplay associated with a GdkSurface. Parameters surface a GdkSurface Returns the GdkDisplay associated with surface . [transfer none] gdk_surface_show () gdk_surface_show void gdk_surface_show (GdkSurface *surface); Like gdk_surface_show_unraised(), but also raises the surface to the top of the surface stack (moves the surface to the front of the Z-order). This function maps a surface so it’s visible onscreen. Its opposite is gdk_surface_hide(). When implementing a GtkWidget, you should call this function on the widget's GdkSurface as part of the “map” method. Parameters surface a GdkSurface gdk_surface_show_unraised () gdk_surface_show_unraised void gdk_surface_show_unraised (GdkSurface *surface); Shows a GdkSurface onscreen, but does not modify its stacking order. In contrast, gdk_surface_show() will raise the surface to the top of the surface stack. On the X11 platform, in Xlib terms, this function calls XMapWindow() (it also updates some internal GDK state, which means that you can’t really use XMapWindow() directly on a GDK surface). Parameters surface a GdkSurface gdk_surface_hide () gdk_surface_hide void gdk_surface_hide (GdkSurface *surface); For toplevel surfaces, withdraws them, so they will no longer be known to the window manager; for all surfaces, unmaps them, so they won’t be displayed. Normally done automatically as part of gtk_widget_hide(). Parameters surface a GdkSurface gdk_surface_is_destroyed () gdk_surface_is_destroyed gboolean gdk_surface_is_destroyed (GdkSurface *surface); Check to see if a surface is destroyed.. Parameters surface a GdkSurface Returns TRUE if the surface is destroyed gdk_surface_is_visible () gdk_surface_is_visible gboolean gdk_surface_is_visible (GdkSurface *surface); Checks whether the surface has been mapped (with gdk_surface_show() or gdk_surface_show_unraised()). Parameters surface a GdkSurface Returns TRUE if the surface is mapped gdk_surface_is_viewable () gdk_surface_is_viewable gboolean gdk_surface_is_viewable (GdkSurface *surface); Check if the surface and all ancestors of the surface are mapped. (This is not necessarily "viewable" in the X sense, since we only check as far as we have GDK surface parents, not to the root surface.) Parameters surface a GdkSurface Returns TRUE if the surface is viewable gdk_surface_is_input_only () gdk_surface_is_input_only gboolean gdk_surface_is_input_only (GdkSurface *surface); Determines whether or not the surface is an input only surface. Parameters surface a toplevel GdkSurface Returns TRUE if surface is input only gdk_surface_get_state () gdk_surface_get_state GdkSurfaceState gdk_surface_get_state (GdkSurface *surface); Gets the bitwise OR of the currently active surface state flags, from the GdkSurfaceState enumeration. Parameters surface a GdkSurface Returns surface state bitfield gdk_surface_iconify () gdk_surface_iconify void gdk_surface_iconify (GdkSurface *surface); Asks to iconify (minimize) surface . The window manager may choose to ignore the request, but normally will honor it. Using gtk_window_iconify() is preferred, if you have a GtkWindow widget. This function only makes sense when surface is a toplevel surface. Parameters surface a toplevel GdkSurface gdk_surface_deiconify () gdk_surface_deiconify void gdk_surface_deiconify (GdkSurface *surface); Attempt to deiconify (unminimize) surface . On X11 the window manager may choose to ignore the request to deiconify. When using GTK, use gtk_window_deiconify() instead of the GdkSurface variant. Or better yet, you probably want to use gtk_window_present_with_time(), which raises the surface, focuses it, unminimizes it, and puts it on the current desktop. Parameters surface a toplevel GdkSurface gdk_surface_stick () gdk_surface_stick void gdk_surface_stick (GdkSurface *surface); “Pins” a surface such that it’s on all workspaces and does not scroll with viewports, for window managers that have scrollable viewports. (When using GtkWindow, gtk_window_stick() may be more useful.) On the X11 platform, this function depends on window manager support, so may have no effect with many window managers. However, GDK will do the best it can to convince the window manager to stick the surface. For window managers that don’t support this operation, there’s nothing you can do to force it to happen. Parameters surface a toplevel GdkSurface gdk_surface_unstick () gdk_surface_unstick void gdk_surface_unstick (GdkSurface *surface); Reverse operation for gdk_surface_stick(); see gdk_surface_stick(), and gtk_window_unstick(). Parameters surface a toplevel GdkSurface gdk_surface_maximize () gdk_surface_maximize void gdk_surface_maximize (GdkSurface *surface); Maximizes the surface. If the surface was already maximized, then this function does nothing. On X11, asks the window manager to maximize surface , if the window manager supports this operation. Not all window managers support this, and some deliberately ignore it or don’t have a concept of “maximized”; so you can’t rely on the maximization actually happening. But it will happen with most standard window managers, and GDK makes a best effort to get it to happen. On Windows, reliably maximizes the surface. Parameters surface a toplevel GdkSurface gdk_surface_unmaximize () gdk_surface_unmaximize void gdk_surface_unmaximize (GdkSurface *surface); Unmaximizes the surface. If the surface wasn’t maximized, then this function does nothing. On X11, asks the window manager to unmaximize surface , if the window manager supports this operation. Not all window managers support this, and some deliberately ignore it or don’t have a concept of “maximized”; so you can’t rely on the unmaximization actually happening. But it will happen with most standard window managers, and GDK makes a best effort to get it to happen. On Windows, reliably unmaximizes the surface. Parameters surface a toplevel GdkSurface gdk_surface_fullscreen () gdk_surface_fullscreen void gdk_surface_fullscreen (GdkSurface *surface); Moves the surface into fullscreen mode. This means the surface covers the entire screen and is above any panels or task bars. If the surface was already fullscreen, then this function does nothing. On X11, asks the window manager to put surface in a fullscreen state, if the window manager supports this operation. Not all window managers support this, and some deliberately ignore it or don’t have a concept of “fullscreen”; so you can’t rely on the fullscreenification actually happening. But it will happen with most standard window managers, and GDK makes a best effort to get it to happen. Parameters surface a toplevel GdkSurface gdk_surface_fullscreen_on_monitor () gdk_surface_fullscreen_on_monitor void gdk_surface_fullscreen_on_monitor (GdkSurface *surface, GdkMonitor *monitor); Moves the surface into fullscreen mode on the given monitor. This means the surface covers the entire screen and is above any panels or task bars. If the surface was already fullscreen, then this function does nothing. Parameters surface a toplevel GdkSurface monitor Which monitor to display fullscreen on. gdk_surface_unfullscreen () gdk_surface_unfullscreen void gdk_surface_unfullscreen (GdkSurface *surface); Moves the surface out of fullscreen mode. If the surface was not fullscreen, does nothing. On X11, asks the window manager to move surface out of the fullscreen state, if the window manager supports this operation. Not all window managers support this, and some deliberately ignore it or don’t have a concept of “fullscreen”; so you can’t rely on the unfullscreenification actually happening. But it will happen with most standard window managers, and GDK makes a best effort to get it to happen. Parameters surface a toplevel GdkSurface gdk_surface_get_fullscreen_mode () gdk_surface_get_fullscreen_mode GdkFullscreenMode gdk_surface_get_fullscreen_mode (GdkSurface *surface); Obtains the GdkFullscreenMode of the surface . Parameters surface a toplevel GdkSurface Returns The GdkFullscreenMode applied to the surface when fullscreen. gdk_surface_set_fullscreen_mode () gdk_surface_set_fullscreen_mode void gdk_surface_set_fullscreen_mode (GdkSurface *surface, GdkFullscreenMode mode); Specifies whether the surface should span over all monitors (in a multi-head setup) or only the current monitor when in fullscreen mode. The mode argument is from the GdkFullscreenMode enumeration. If GDK_FULLSCREEN_ON_ALL_MONITORS is specified, the fullscreen surface will span over all monitors of the display. On X11, searches through the list of monitors display the ones which delimit the 4 edges of the entire display and will ask the window manager to span the surface over these monitors. If the XINERAMA extension is not available or not usable, this function has no effect. Not all window managers support this, so you can’t rely on the fullscreen surface to span over the multiple monitors when GDK_FULLSCREEN_ON_ALL_MONITORS is specified. Parameters surface a toplevel GdkSurface mode fullscreen mode gdk_surface_set_keep_above () gdk_surface_set_keep_above void gdk_surface_set_keep_above (GdkSurface *surface, gboolean setting); Set if surface must be kept above other surfaces. If the surface was already above, then this function does nothing. On X11, asks the window manager to keep surface above, if the window manager supports this operation. Not all window managers support this, and some deliberately ignore it or don’t have a concept of “keep above”; so you can’t rely on the surface being kept above. But it will happen with most standard window managers, and GDK makes a best effort to get it to happen. Parameters surface a toplevel GdkSurface setting whether to keep surface above other surfaces gdk_surface_set_keep_below () gdk_surface_set_keep_below void gdk_surface_set_keep_below (GdkSurface *surface, gboolean setting); Set if surface must be kept below other surfaces. If the surface was already below, then this function does nothing. On X11, asks the window manager to keep surface below, if the window manager supports this operation. Not all window managers support this, and some deliberately ignore it or don’t have a concept of “keep below”; so you can’t rely on the surface being kept below. But it will happen with most standard window managers, and GDK makes a best effort to get it to happen. Parameters surface a toplevel GdkSurface setting whether to keep surface below other surfaces gdk_surface_set_opacity () gdk_surface_set_opacity void gdk_surface_set_opacity (GdkSurface *surface, gdouble opacity); Set surface to render as partially transparent, with opacity 0 being fully transparent and 1 fully opaque. (Values of the opacity parameter are clamped to the [0,1] range.) For toplevel surfaces this depends on support from the windowing system that may not always be there. For instance, On X11, this works only on X screens with a compositing manager running. On Wayland, there is no per-surface opacity value that the compositor would apply. Instead, use gdk_surface_set_opaque_region (surface, NULL) to tell the compositor that the entire surface is (potentially) non-opaque, and draw your content with alpha, or use gtk_widget_set_opacity() to set an overall opacity for your widgets. Support for non-toplevel surfaces was added in 3.8. Parameters surface a top-level or non-native GdkSurface opacity opacity gdk_surface_set_pass_through () gdk_surface_set_pass_through void gdk_surface_set_pass_through (GdkSurface *surface, gboolean pass_through); Sets whether input to the surface is passed through to the surface below. The default value of this is FALSE, which means that pointer events that happen inside the surface are send first to the surface, but if the event is not selected by the event mask then the event is sent to the parent surface, and so on up the hierarchy. If pass_through is TRUE then such pointer events happen as if the surface wasn't there at all, and thus will be sent first to any surfaces below surface . This is useful if the surface is used in a transparent fashion. In the terminology of the web this would be called "pointer-events: none". Note that a surface with pass_through TRUE can still have a subsurface without pass through, so you can get events on a subset of a surface. And in that cases you would get the in-between related events such as the pointer enter/leave events on its way to the destination surface. Parameters surface a GdkSurface pass_through a boolean gdk_surface_get_pass_through () gdk_surface_get_pass_through gboolean gdk_surface_get_pass_through (GdkSurface *surface); Returns whether input to the surface is passed through to the surface below. See gdk_surface_set_pass_through() for details Parameters surface a GdkSurface gdk_surface_move () gdk_surface_move void gdk_surface_move (GdkSurface *surface, gint x, gint y); Repositions a surface relative to its parent surface. For toplevel surfaces, window managers may ignore or modify the move; you should probably use gtk_window_move() on a GtkWindow widget anyway, instead of using GDK functions. For child surfaces, the move will reliably succeed. If you’re also planning to resize the surface, use gdk_surface_move_resize() to both move and resize simultaneously, for a nicer visual effect. Parameters surface a GdkSurface x X coordinate relative to surface’s parent y Y coordinate relative to surface’s parent gdk_surface_resize () gdk_surface_resize void gdk_surface_resize (GdkSurface *surface, gint width, gint height); Resizes surface ; for toplevel surfaces, asks the window manager to resize the surface. The window manager may not allow the resize. When using GTK, use gtk_window_resize() instead of this low-level GDK function. Surfaces may not be resized below 1x1. If you’re also planning to move the surface, use gdk_surface_move_resize() to both move and resize simultaneously, for a nicer visual effect. Parameters surface a GdkSurface width new width of the surface height new height of the surface gdk_surface_move_resize () gdk_surface_move_resize void gdk_surface_move_resize (GdkSurface *surface, gint x, gint y, gint width, gint height); Equivalent to calling gdk_surface_move() and gdk_surface_resize(), except that both operations are performed at once, avoiding strange visual effects. (i.e. the user may be able to see the surface first move, then resize, if you don’t use gdk_surface_move_resize().) Parameters surface a GdkSurface x new X position relative to surface’s parent y new Y position relative to surface’s parent width new width height new height gdk_surface_move_to_rect () gdk_surface_move_to_rect void gdk_surface_move_to_rect (GdkSurface *surface, const GdkRectangle *rect, GdkGravity rect_anchor, GdkGravity surface_anchor, GdkAnchorHints anchor_hints, gint rect_anchor_dx, gint rect_anchor_dy); Moves surface to rect , aligning their anchor points. rect is relative to the top-left corner of the surface that surface is transient for. rect_anchor and surface_anchor determine anchor points on rect and surface to pin together. rect 's anchor point can optionally be offset by rect_anchor_dx and rect_anchor_dy , which is equivalent to offsetting the position of surface . anchor_hints determines how surface will be moved if the anchor points cause it to move off-screen. For example, GDK_ANCHOR_FLIP_X will replace GDK_GRAVITY_NORTH_WEST with GDK_GRAVITY_NORTH_EAST and vice versa if surface extends beyond the left or right edges of the monitor. Connect to the “moved-to-rect” signal to find out how it was actually positioned. Parameters surface the GdkSurface to move rect the destination GdkRectangle to align surface with. [not nullable] rect_anchor the point on rect to align with surface 's anchor point surface_anchor the point on surface to align with rect 's anchor point anchor_hints positioning hints to use when limited on space rect_anchor_dx horizontal offset to shift surface , i.e. rect 's anchor point rect_anchor_dy vertical offset to shift surface , i.e. rect 's anchor point gdk_surface_has_native () gdk_surface_has_native gboolean gdk_surface_has_native (GdkSurface *surface); Checks whether the surface has a native surface or not. Parameters surface a GdkSurface Returns TRUE if the surface has a native surface, FALSE otherwise. gdk_surface_raise () gdk_surface_raise void gdk_surface_raise (GdkSurface *surface); Raises surface to the top of the Z-order (stacking order), so that other surfaces with the same parent surface appear below surface . This is true whether or not the surfaces are visible. If surface is a toplevel, the window manager may choose to deny the request to move the surface in the Z-order, gdk_surface_raise() only requests the restack, does not guarantee it. Parameters surface a GdkSurface gdk_surface_lower () gdk_surface_lower void gdk_surface_lower (GdkSurface *surface); Lowers surface to the bottom of the Z-order (stacking order), so that other surfaces with the same parent surface appear above surface . This is true whether or not the other surfaces are visible. If surface is a toplevel, the window manager may choose to deny the request to move the surface in the Z-order, gdk_surface_lower() only requests the restack, does not guarantee it. Note that gdk_surface_show() raises the surface again, so don’t call this function before gdk_surface_show(). (Try gdk_surface_show_unraised().) Parameters surface a GdkSurface gdk_surface_restack () gdk_surface_restack void gdk_surface_restack (GdkSurface *surface, GdkSurface *sibling, gboolean above); Changes the position of surface in the Z-order (stacking order), so that it is above sibling (if above is TRUE) or below sibling (if above is FALSE). If sibling is NULL, then this either raises (if above is TRUE) or lowers the surface. If surface is a toplevel, the window manager may choose to deny the request to move the surface in the Z-order, gdk_surface_restack() only requests the restack, does not guarantee it. Parameters surface a GdkSurface sibling a GdkSurface that is a sibling of surface , or NULL. [allow-none] above a boolean gdk_surface_focus () gdk_surface_focus void gdk_surface_focus (GdkSurface *surface, guint32 timestamp); Sets keyboard focus to surface . In most cases, gtk_window_present_with_time() should be used on a GtkWindow, rather than calling this function. Parameters surface a GdkSurface timestamp timestamp of the event triggering the surface focus gdk_surface_register_dnd () gdk_surface_register_dnd void gdk_surface_register_dnd (GdkSurface *surface); Registers a surface as a potential drop destination. Parameters surface a GdkSurface. gdk_surface_begin_resize_drag () gdk_surface_begin_resize_drag void gdk_surface_begin_resize_drag (GdkSurface *surface, GdkSurfaceEdge edge, gint button, gint x, gint y, guint32 timestamp); Begins a surface resize operation (for a toplevel surface). This function assumes that the drag is controlled by the client pointer device, use gdk_surface_begin_resize_drag_for_device() to begin a drag with a different device. Parameters surface a toplevel GdkSurface edge the edge or corner from which the drag is started button the button being used to drag, or 0 for a keyboard-initiated drag x surface X coordinate of mouse click that began the drag y surface Y coordinate of mouse click that began the drag timestamp timestamp of mouse click that began the drag (use gdk_event_get_time()) gdk_surface_begin_resize_drag_for_device () gdk_surface_begin_resize_drag_for_device void gdk_surface_begin_resize_drag_for_device (GdkSurface *surface, GdkSurfaceEdge edge, GdkDevice *device, gint button, gint x, gint y, guint32 timestamp); Begins a surface resize operation (for a toplevel surface). You might use this function to implement a “window resize grip,” Parameters surface a toplevel GdkSurface edge the edge or corner from which the drag is started device the device used for the operation button the button being used to drag, or 0 for a keyboard-initiated drag x surface X coordinate of mouse click that began the drag y surface Y coordinate of mouse click that began the drag timestamp timestamp of mouse click that began the drag (use gdk_event_get_time()) gdk_surface_begin_move_drag () gdk_surface_begin_move_drag void gdk_surface_begin_move_drag (GdkSurface *surface, gint button, gint x, gint y, guint32 timestamp); Begins a surface move operation (for a toplevel surface). This function assumes that the drag is controlled by the client pointer device, use gdk_surface_begin_move_drag_for_device() to begin a drag with a different device. Parameters surface a toplevel GdkSurface button the button being used to drag, or 0 for a keyboard-initiated drag x surface X coordinate of mouse click that began the drag y surface Y coordinate of mouse click that began the drag timestamp timestamp of mouse click that began the drag gdk_surface_begin_move_drag_for_device () gdk_surface_begin_move_drag_for_device void gdk_surface_begin_move_drag_for_device (GdkSurface *surface, GdkDevice *device, gint button, gint x, gint y, guint32 timestamp); Begins a surface move operation (for a toplevel surface). Parameters surface a toplevel GdkSurface device the device used for the operation button the button being used to drag, or 0 for a keyboard-initiated drag x surface X coordinate of mouse click that began the drag y surface Y coordinate of mouse click that began the drag timestamp timestamp of mouse click that began the drag gdk_surface_show_window_menu () gdk_surface_show_window_menu gboolean gdk_surface_show_window_menu (GdkSurface *surface, GdkEvent *event); Asks the windowing system to show the window menu. The window menu is the menu shown when right-clicking the titlebar on traditional windows managed by the window manager. This is useful for windows using client-side decorations, activating it with a right-click on the window decorations. Parameters surface a GdkSurface event a GdkEvent to show the menu for Returns TRUE if the window menu was shown and FALSE otherwise. gdk_surface_constrain_size () gdk_surface_constrain_size void gdk_surface_constrain_size (GdkGeometry *geometry, GdkSurfaceHints flags, gint width, gint height, gint *new_width, gint *new_height); Constrains a desired width and height according to a set of geometry hints (such as minimum and maximum size). Parameters geometry a GdkGeometry structure flags a mask indicating what portions of geometry are set width desired width of surface height desired height of the surface new_width location to store resulting width. [out] new_height location to store resulting height. [out] gdk_surface_beep () gdk_surface_beep void gdk_surface_beep (GdkSurface *surface); Emits a short beep associated to surface in the appropriate display, if supported. Otherwise, emits a short beep on the display just as gdk_display_beep(). Parameters surface a toplevel GdkSurface gdk_surface_get_scale_factor () gdk_surface_get_scale_factor gint gdk_surface_get_scale_factor (GdkSurface *surface); Returns the internal scale factor that maps from surface coordiantes to the actual device pixels. On traditional systems this is 1, but on very high density outputs this can be a higher value (often 2). A higher value means that drawing is automatically scaled up to a higher resolution, so any code doing drawing will automatically look nicer. However, if you are supplying pixel-based data the scale value can be used to determine whether to use a pixel resource with higher resolution data. The scale of a surface may change during runtime, if this happens a configure event will be sent to the toplevel surface. Parameters surface surface to get scale factor for Returns the scale factor gdk_surface_set_opaque_region () gdk_surface_set_opaque_region void gdk_surface_set_opaque_region (GdkSurface *surface, cairo_region_t *region); For optimisation purposes, compositing window managers may like to not draw obscured regions of surfaces, or turn off blending during for these regions. With RGB windows with no transparency, this is just the shape of the window, but with ARGB32 windows, the compositor does not know what regions of the window are transparent or not. This function only works for toplevel surfaces. GTK will update this property automatically if the surface background is opaque, as we know where the opaque regions are. If your surface background is not opaque, please update this property in your “style-updated” handler. Parameters surface a top-level or non-native GdkSurface region a region, or NULL. [allow-none] gdk_surface_create_gl_context () gdk_surface_create_gl_context GdkGLContext * gdk_surface_create_gl_context (GdkSurface *surface, GError **error); Creates a new GdkGLContext matching the framebuffer format to the visual of the GdkSurface. The context is disconnected from any particular surface or surface. If the creation of the GdkGLContext failed, error will be set. Before using the returned GdkGLContext, you will need to call gdk_gl_context_make_current() or gdk_gl_context_realize(). Parameters surface a GdkSurface error return location for an error Returns the newly created GdkGLContext, or NULL on error. [transfer full] gdk_surface_create_vulkan_context () gdk_surface_create_vulkan_context GdkVulkanContext * gdk_surface_create_vulkan_context (GdkSurface *surface, GError **error); Creates a new GdkVulkanContext for rendering on surface . If the creation of the GdkVulkanContext failed, error will be set. Parameters surface a GdkSurface error return location for an error Returns the newly created GdkVulkanContext, or NULL on error. [transfer full] gdk_surface_create_cairo_context () gdk_surface_create_cairo_context GdkCairoContext * gdk_surface_create_cairo_context (GdkSurface *surface); Creates a new GdkCairoContext for rendering on surface . Parameters surface a GdkSurface Returns the newly created GdkCairoContext. [transfer full] gdk_surface_queue_expose () gdk_surface_queue_expose void gdk_surface_queue_expose (GdkSurface *surface); Forces an expose event for surface to be scheduled. If the invalid area of surface is empty, an expose event will still be emitted. Its invalid region will be empty. This function is useful for implementations that track invalid regions on their own. Parameters surface a GdkSurface gdk_surface_freeze_updates () gdk_surface_freeze_updates void gdk_surface_freeze_updates (GdkSurface *surface); Temporarily freezes a surface such that it won’t receive expose events. The surface will begin receiving expose events again when gdk_surface_thaw_updates() is called. If gdk_surface_freeze_updates() has been called more than once, gdk_surface_thaw_updates() must be called an equal number of times to begin processing exposes. Parameters surface a GdkSurface gdk_surface_thaw_updates () gdk_surface_thaw_updates void gdk_surface_thaw_updates (GdkSurface *surface); Thaws a surface frozen with gdk_surface_freeze_updates(). Parameters surface a GdkSurface gdk_surface_get_frame_clock () gdk_surface_get_frame_clock GdkFrameClock * gdk_surface_get_frame_clock (GdkSurface *surface); Gets the frame clock for the surface. The frame clock for a surface never changes unless the surface is reparented to a new toplevel surface. Parameters surface surface to get frame clock for Returns the frame clock. [transfer none] gdk_surface_set_accept_focus () gdk_surface_set_accept_focus void gdk_surface_set_accept_focus (GdkSurface *surface, gboolean accept_focus); Setting accept_focus to FALSE hints the desktop environment that the surface doesn’t want to receive input focus. On X, it is the responsibility of the window manager to interpret this hint. ICCCM-compliant window manager usually respect it. Parameters surface a toplevel GdkSurface accept_focus TRUE if the surface should receive input focus gdk_surface_get_accept_focus () gdk_surface_get_accept_focus gboolean gdk_surface_get_accept_focus (GdkSurface *surface); Determines whether or not the desktop environment shuld be hinted that the surface does not want to receive input focus. Parameters surface a toplevel GdkSurface. Returns whether or not the surface should receive input focus. gdk_surface_set_focus_on_map () gdk_surface_set_focus_on_map void gdk_surface_set_focus_on_map (GdkSurface *surface, gboolean focus_on_map); Setting focus_on_map to FALSE hints the desktop environment that the surface doesn’t want to receive input focus when it is mapped. focus_on_map should be turned off for surfaces that aren’t triggered interactively (such as popups from network activity). On X, it is the responsibility of the window manager to interpret this hint. Window managers following the freedesktop.org window manager extension specification should respect it. Parameters surface a toplevel GdkSurface focus_on_map TRUE if the surface should receive input focus when mapped gdk_surface_get_focus_on_map () gdk_surface_get_focus_on_map gboolean gdk_surface_get_focus_on_map (GdkSurface *surface); Determines whether or not the desktop environment should be hinted that the surface does not want to receive input focus when it is mapped. Parameters surface a toplevel GdkSurface. Returns whether or not the surface wants to receive input focus when it is mapped. gdk_surface_input_shape_combine_region () gdk_surface_input_shape_combine_region void gdk_surface_input_shape_combine_region (GdkSurface *surface, const cairo_region_t *shape_region, gint offset_x, gint offset_y); Like gdk_surface_shape_combine_region(), but the shape applies only to event handling. Mouse events which happen while the pointer position corresponds to an unset bit in the mask will be passed on the surface below surface . An input shape is typically used with RGBA surfaces. The alpha channel of the surface defines which pixels are invisible and allows for nicely antialiased borders, and the input shape controls where the surface is “clickable”. On the X11 platform, this requires version 1.1 of the shape extension. On the Win32 platform, this functionality is not present and the function does nothing. Parameters surface a GdkSurface shape_region region of surface to be non-transparent offset_x X position of shape_region in surface coordinates offset_y Y position of shape_region in surface coordinates gdk_surface_set_child_input_shapes () gdk_surface_set_child_input_shapes void gdk_surface_set_child_input_shapes (GdkSurface *surface); Sets the input shape mask of surface to the union of input shape masks for all children of surface , ignoring the input shape mask of surface itself. Contrast with gdk_surface_merge_child_input_shapes() which includes the input shape mask of surface in the masks to be merged. Parameters surface a GdkSurface gdk_surface_merge_child_input_shapes () gdk_surface_merge_child_input_shapes void gdk_surface_merge_child_input_shapes (GdkSurface *surface); Merges the input shape masks for any child surfaces into the input shape mask for surface . i.e. the union of all input masks for surface and its children will become the new input mask for surface . See gdk_surface_input_shape_combine_region(). This function is distinct from gdk_surface_set_child_input_shapes() because it includes surface ’s input shape mask in the set of shapes to be merged. Parameters surface a GdkSurface gdk_surface_set_title () gdk_surface_set_title void gdk_surface_set_title (GdkSurface *surface, const gchar *title); Sets the title of a toplevel surface, to be displayed in the titlebar. If you haven’t explicitly set the icon name for the surface (using gdk_surface_set_icon_name()), the icon name will be set to title as well. title must be in UTF-8 encoding (as with all user-readable strings in GDK and GTK). title may not be NULL. Parameters surface a toplevel GdkSurface title title of surface gdk_surface_set_cursor () gdk_surface_set_cursor void gdk_surface_set_cursor (GdkSurface *surface, GdkCursor *cursor); Sets the default mouse pointer for a GdkSurface. Note that cursor must be for the same display as surface . Use gdk_cursor_new_from_name() or gdk_cursor_new_from_texture() to create the cursor. To make the cursor invisible, use GDK_BLANK_CURSOR. Passing NULL for the cursor argument to gdk_surface_set_cursor() means that surface will use the cursor of its parent surface. Most surfaces should use this default. Parameters surface a GdkSurface cursor a cursor. [allow-none] gdk_surface_get_cursor () gdk_surface_get_cursor GdkCursor * gdk_surface_get_cursor (GdkSurface *surface); Retrieves a GdkCursor pointer for the cursor currently set on the specified GdkSurface, or NULL. If the return value is NULL then there is no custom cursor set on the specified surface, and it is using the cursor for its parent surface. Parameters surface a GdkSurface Returns a GdkCursor, or NULL. The returned object is owned by the GdkSurface and should not be unreferenced directly. Use gdk_surface_set_cursor() to unset the cursor of the surface. [nullable][transfer none] gdk_surface_get_geometry () gdk_surface_get_geometry void gdk_surface_get_geometry (GdkSurface *surface, gint *x, gint *y, gint *width, gint *height); Any of the return location arguments to this function may be NULL, if you aren’t interested in getting the value of that field. The X and Y coordinates returned are relative to the parent surface of surface , which for toplevels usually means relative to the surface decorations (titlebar, etc.) rather than relative to the root window (screen-size background window). On the X11 platform, the geometry is obtained from the X server, so reflects the latest position of surface ; this may be out-of-sync with the position of surface delivered in the most-recently-processed GdkEventConfigure. gdk_surface_get_position() in contrast gets the position from the most recent configure event. Note: If surface is not a toplevel, it is much better to call gdk_surface_get_position(), gdk_surface_get_width() and gdk_surface_get_height() instead, because it avoids the roundtrip to the X server and because these functions support the full 32-bit coordinate space, whereas gdk_surface_get_geometry() is restricted to the 16-bit coordinates of X11. Parameters surface a GdkSurface x return location for X coordinate of surface (relative to its parent). [out][allow-none] y return location for Y coordinate of surface (relative to its parent). [out][allow-none] width return location for width of surface. [out][allow-none] height return location for height of surface. [out][allow-none] gdk_surface_set_geometry_hints () gdk_surface_set_geometry_hints void gdk_surface_set_geometry_hints (GdkSurface *surface, const GdkGeometry *geometry, GdkSurfaceHints geom_mask); Sets the geometry hints for surface . Hints flagged in geom_mask are set, hints not flagged in geom_mask are unset. To unset all hints, use a geom_mask of 0 and a geometry of NULL. This function provides hints to the surfaceing system about acceptable sizes for a toplevel surface. The purpose of this is to constrain user resizing, but the windowing system will typically (but is not required to) also constrain the current size of the surface to the provided values and constrain programatic resizing via gdk_surface_resize() or gdk_surface_move_resize(). Note that on X11, this effect has no effect on surfaces of type GDK_SURFACE_TEMP since these surfaces are not resizable by the user. Since you can’t count on the windowing system doing the constraints for programmatic resizes, you should generally call gdk_surface_constrain_size() yourself to determine appropriate sizes. Parameters surface a toplevel GdkSurface geometry geometry hints geom_mask bitmask indicating fields of geometry to pay attention to gdk_surface_get_width () gdk_surface_get_width int gdk_surface_get_width (GdkSurface *surface); Returns the width of the given surface . On the X11 platform the returned size is the size reported in the most-recently-processed configure event, rather than the current size on the X server. Parameters surface a GdkSurface Returns The width of surface gdk_surface_get_height () gdk_surface_get_height int gdk_surface_get_height (GdkSurface *surface); Returns the height of the given surface . On the X11 platform the returned size is the size reported in the most-recently-processed configure event, rather than the current size on the X server. Parameters surface a GdkSurface Returns The height of surface gdk_surface_set_icon_list () gdk_surface_set_icon_list void gdk_surface_set_icon_list (GdkSurface *surface, GList *surfaces); Sets a list of icons for the surface. One of these will be used to represent the surface when it has been iconified. The icon is usually shown in an icon box or some sort of task bar. Which icon size is shown depends on the window manager. The window manager can scale the icon but setting several size icons can give better image quality since the window manager may only need to scale the icon by a small amount or not at all. Note that some platforms don't support surface icons. Parameters surface The GdkSurface toplevel surface to set the icon of. surfaces A list of image surfaces, of different sizes. [transfer none][element-type GdkTexture] gdk_surface_set_modal_hint () gdk_surface_set_modal_hint void gdk_surface_set_modal_hint (GdkSurface *surface, gboolean modal); The application can use this hint to tell the window manager that a certain surface has modal behaviour. The window manager can use this information to handle modal surfaces in a special way. You should only use this on surfaces for which you have previously called gdk_surface_set_transient_for() Parameters surface A toplevel GdkSurface modal TRUE if the surface is modal, FALSE otherwise. gdk_surface_get_modal_hint () gdk_surface_get_modal_hint gboolean gdk_surface_get_modal_hint (GdkSurface *surface); Determines whether or not the window manager is hinted that surface has modal behaviour. Parameters surface A toplevel GdkSurface. Returns whether or not the surface has the modal hint set. gdk_surface_set_type_hint () gdk_surface_set_type_hint void gdk_surface_set_type_hint (GdkSurface *surface, GdkSurfaceTypeHint hint); The application can use this call to provide a hint to the surface manager about the functionality of a surface. The window manager can use this information when determining the decoration and behaviour of the surface. The hint must be set before the surface is mapped. Parameters surface A toplevel GdkSurface hint A hint of the function this surface will have gdk_surface_get_type_hint () gdk_surface_get_type_hint GdkSurfaceTypeHint gdk_surface_get_type_hint (GdkSurface *surface); This function returns the type hint set for a surface. Parameters surface A toplevel GdkSurface Returns The type hint set for surface gdk_surface_set_shadow_width () gdk_surface_set_shadow_width void gdk_surface_set_shadow_width (GdkSurface *surface, gint left, gint right, gint top, gint bottom); Newer GTK windows using client-side decorations use extra geometry around their frames for effects like shadows and invisible borders. Window managers that want to maximize windows or snap to edges need to know where the extents of the actual frame lie, so that users don’t feel like windows are snapping against random invisible edges. Note that this property is automatically updated by GTK, so this function should only be used by applications which do not use GTK to create toplevel surfaces. Parameters surface a GdkSurface left The left extent right The right extent top The top extent bottom The bottom extent gdk_surface_get_position () gdk_surface_get_position void gdk_surface_get_position (GdkSurface *surface, gint *x, gint *y); Obtains the position of the surface as reported in the most-recently-processed GdkEventConfigure. Contrast with gdk_surface_get_geometry() which queries the X server for the current surface position, regardless of which events have been received or processed. The position coordinates are relative to the surface’s parent surface. Parameters surface a GdkSurface x X coordinate of surface. [out][allow-none] y Y coordinate of surface. [out][allow-none] gdk_surface_get_root_origin () gdk_surface_get_root_origin void gdk_surface_get_root_origin (GdkSurface *surface, gint *x, gint *y); Obtains the top-left corner of the window manager frame in root surface coordinates. Parameters surface a toplevel GdkSurface x return location for X position of surface frame. [out] y return location for Y position of surface frame. [out] gdk_surface_get_frame_extents () gdk_surface_get_frame_extents void gdk_surface_get_frame_extents (GdkSurface *surface, GdkRectangle *rect); Obtains the bounding box of the surface, including window manager titlebar/borders if any. The frame position is given in root window coordinates. To get the position of the surface itself (rather than the frame) in root window coordinates, use gdk_surface_get_origin(). Parameters surface a toplevel GdkSurface rect rectangle to fill with bounding box of the surface frame. [out] gdk_surface_get_origin () gdk_surface_get_origin gint gdk_surface_get_origin (GdkSurface *surface, gint *x, gint *y); Obtains the position of a surface in root window coordinates. (Compare with gdk_surface_get_position() and gdk_surface_get_geometry() which return the position of a surface relative to its parent surface.) Parameters surface a GdkSurface x return location for X coordinate. [out][allow-none] y return location for Y coordinate. [out][allow-none] Returns not meaningful, ignore gdk_surface_get_root_coords () gdk_surface_get_root_coords void gdk_surface_get_root_coords (GdkSurface *surface, gint x, gint y, gint *root_x, gint *root_y); Obtains the position of a surface position in root window coordinates. This is similar to gdk_surface_get_origin() but allows you to pass in any position in the surface, not just the origin. Parameters surface a GdkSurface x X coordinate in surface y Y coordinate in surface root_x return location for X coordinate. [out] root_y return location for Y coordinate. [out] gdk_surface_get_device_position () gdk_surface_get_device_position GdkSurface * gdk_surface_get_device_position (GdkSurface *surface, GdkDevice *device, double *x, double *y, GdkModifierType *mask); Obtains the current device position in doubles and modifier state. The position is given in coordinates relative to the upper left corner of surface . Parameters surface a GdkSurface. device pointer GdkDevice to query to. x return location for the X coordinate of device , or NULL. [out][allow-none] y return location for the Y coordinate of device , or NULL. [out][allow-none] mask return location for the modifier mask, or NULL. [out][allow-none] Returns The surface underneath device (as with gdk_device_get_surface_at_position()), or NULL if the surface is not known to GDK. [nullable][transfer none] gdk_surface_get_parent () gdk_surface_get_parent GdkSurface * gdk_surface_get_parent (GdkSurface *surface); Obtains the parent of surface , as known to GDK. Does not query the X server; thus this returns the parent as passed to gdk_surface_new(), not the actual parent. This should never matter unless you’re using Xlib calls mixed with GDK calls on the X11 platform. It may also matter for toplevel windows, because the window manager may choose to reparent them. Parameters surface a GdkSurface Returns parent of surface . [transfer none] gdk_surface_get_toplevel () gdk_surface_get_toplevel GdkSurface * gdk_surface_get_toplevel (GdkSurface *surface); Gets the toplevel surface that’s an ancestor of surface . Any surface type but GDK_SURFACE_CHILD is considered a toplevel surface, as is a GDK_SURFACE_CHILD surface that has a root surface as parent. Parameters surface a GdkSurface Returns the toplevel surface containing surface . [transfer none] gdk_surface_get_children () gdk_surface_get_children GList * gdk_surface_get_children (GdkSurface *surface); Gets the list of children of surface known to GDK. This function only returns children created via GDK, so for example it’s useless when used with the root window; it only returns surfaces an application created itself. The returned list must be freed, but the elements in the list need not be. Parameters surface a GdkSurface Returns list of child surfaces inside surface . [transfer container][element-type GdkSurface] gdk_surface_peek_children () gdk_surface_peek_children GList * gdk_surface_peek_children (GdkSurface *surface); Like gdk_surface_get_children(), but does not copy the list of children, so the list does not need to be freed. Parameters surface a GdkSurface Returns a reference to the list of child surfaces in surface . [transfer none][element-type GdkSurface] gdk_surface_set_icon_name () gdk_surface_set_icon_name void gdk_surface_set_icon_name (GdkSurface *surface, const gchar *name); Surfaces may have a name used while minimized, distinct from the name they display in their titlebar. Most of the time this is a bad idea from a user interface standpoint. But you can set such a name with this function, if you like. After calling this with a non-NULL name , calls to gdk_surface_set_title() will not update the icon title. Using NULL for name unsets the icon title; further calls to gdk_surface_set_title() will again update the icon title as well. Note that some platforms don't support surface icons. Parameters surface a toplevel GdkSurface name name of surface while iconified (minimized). [allow-none] gdk_surface_set_transient_for () gdk_surface_set_transient_for void gdk_surface_set_transient_for (GdkSurface *surface, GdkSurface *parent); Indicates to the window manager that surface is a transient dialog associated with the application surface parent . This allows the window manager to do things like center surface on parent and keep surface above parent . See gtk_window_set_transient_for() if you’re using GtkWindow or GtkDialog. Parameters surface a toplevel GdkSurface parent another toplevel GdkSurface gdk_surface_set_startup_id () gdk_surface_set_startup_id void gdk_surface_set_startup_id (GdkSurface *surface, const gchar *startup_id); When using GTK, typically you should use gtk_window_set_startup_id() instead of this low-level function. Parameters surface a toplevel GdkSurface startup_id a string with startup-notification identifier gdk_surface_set_decorations () gdk_surface_set_decorations void gdk_surface_set_decorations (GdkSurface *surface, GdkWMDecoration decorations); “Decorations” are the features the window manager adds to a toplevel GdkSurface. This function sets the traditional Motif window manager hints that tell the window manager which decorations you would like your surface to have. Usually you should use gtk_window_set_decorated() on a GtkWindow instead of using the GDK function directly. The decorations argument is the logical OR of the fields in the GdkWMDecoration enumeration. If GDK_DECOR_ALL is included in the mask, the other bits indicate which decorations should be turned off. If GDK_DECOR_ALL is not included, then the other bits indicate which decorations should be turned on. Most window managers honor a decorations hint of 0 to disable all decorations, but very few honor all possible combinations of bits. Parameters surface a toplevel GdkSurface decorations decoration hint mask gdk_surface_get_decorations () gdk_surface_get_decorations gboolean gdk_surface_get_decorations (GdkSurface *surface, GdkWMDecoration *decorations); Returns the decorations set on the GdkSurface with gdk_surface_set_decorations(). Parameters surface The toplevel GdkSurface to get the decorations from decorations The surface decorations will be written here. [out] Returns TRUE if the surface has decorations set, FALSE otherwise. gdk_surface_set_functions () gdk_surface_set_functions void gdk_surface_set_functions (GdkSurface *surface, GdkWMFunction functions); Sets hints about the window management functions to make available via buttons on the window frame. On the X backend, this function sets the traditional Motif window manager hint for this purpose. However, few window managers do anything reliable or interesting with this hint. Many ignore it entirely. The functions argument is the logical OR of values from the GdkWMFunction enumeration. If the bitmask includes GDK_FUNC_ALL, then the other bits indicate which functions to disable; if it doesn’t include GDK_FUNC_ALL, it indicates which functions to enable. Parameters surface a toplevel GdkSurface functions bitmask of operations to allow on surface gdk_surface_get_support_multidevice () gdk_surface_get_support_multidevice gboolean gdk_surface_get_support_multidevice (GdkSurface *surface); Returns TRUE if the surface is aware of the existence of multiple devices. Parameters surface a GdkSurface. Returns TRUE if the surface handles multidevice features. gdk_surface_set_support_multidevice () gdk_surface_set_support_multidevice void gdk_surface_set_support_multidevice (GdkSurface *surface, gboolean support_multidevice); This function will enable multidevice features in surface . Multidevice aware surfaces will need to handle properly multiple, per device enter/leave events, device grabs and grab ownerships. Parameters surface a GdkSurface. support_multidevice TRUE to enable multidevice support in surface . gdk_surface_get_device_cursor () gdk_surface_get_device_cursor GdkCursor * gdk_surface_get_device_cursor (GdkSurface *surface, GdkDevice *device); Retrieves a GdkCursor pointer for the device currently set on the specified GdkSurface, or NULL. If the return value is NULL then there is no custom cursor set on the specified surface, and it is using the cursor for its parent surface. Parameters surface a GdkSurface. device a master, pointer GdkDevice. Returns a GdkCursor, or NULL. The returned object is owned by the GdkSurface and should not be unreferenced directly. Use gdk_surface_set_cursor() to unset the cursor of the surface. [nullable][transfer none] gdk_surface_set_device_cursor () gdk_surface_set_device_cursor void gdk_surface_set_device_cursor (GdkSurface *surface, GdkDevice *device, GdkCursor *cursor); Sets a specific GdkCursor for a given device when it gets inside surface . Use gdk_cursor_new_fromm_name() or gdk_cursor_new_from_texture() to create the cursor. To make the cursor invisible, use GDK_BLANK_CURSOR. Passing NULL for the cursor argument to gdk_surface_set_cursor() means that surface will use the cursor of its parent surface. Most surfaces should use this default. Parameters surface a GdkSurface device a master, pointer GdkDevice cursor a GdkCursor gdk_surface_coords_from_parent () gdk_surface_coords_from_parent void gdk_surface_coords_from_parent (GdkSurface *surface, gdouble parent_x, gdouble parent_y, gdouble *x, gdouble *y); Transforms surface coordinates from a parent surface to a child surface. Calling this function is equivalent to subtracting the return values of gdk_surface_get_position() from the parent coordinates. See also: gdk_surface_coords_to_parent() Parameters surface a child surface parent_x X coordinate in parent’s coordinate system parent_y Y coordinate in parent’s coordinate system x return location for X coordinate in child’s coordinate system. [out][allow-none] y return location for Y coordinate in child’s coordinate system. [out][allow-none] gdk_surface_coords_to_parent () gdk_surface_coords_to_parent void gdk_surface_coords_to_parent (GdkSurface *surface, gdouble x, gdouble y, gdouble *parent_x, gdouble *parent_y); Transforms surface coordinates from a child surface to its parent surface. Calling this function is equivalent to adding the return values of gdk_surface_get_position() to the child coordinates. See also: gdk_surface_coords_from_parent() Parameters surface a child surface x X coordinate in child’s coordinate system y Y coordinate in child’s coordinate system parent_x return location for X coordinate in parent’s coordinate system, or NULL. [out][allow-none] parent_y return location for Y coordinate in parent’s coordinate system, or NULL. [out][allow-none] Types and Values GdkSurface GdkSurface typedef struct _GdkSurface GdkSurface; The GdkSurface struct contains only private fields and should not be accessed directly. enum GdkSurfaceType GdkSurfaceType Describes the kind of surface. Members GDK_SURFACE_TOPLEVEL toplevel window (used to implement GtkWindow) GDK_SURFACE_CHILD child surface (used to implement e.g. GtkEntry) GDK_SURFACE_TEMP override redirect temporary surface (used to implement GtkMenu) enum GdkSurfaceHints GdkSurfaceHints Used to indicate which fields of a GdkGeometry struct should be paid attention to. Also, the presence/absence of GDK_HINT_POS , GDK_HINT_USER_POS , and GDK_HINT_USER_SIZE is significant, though they don't directly refer to GdkGeometry fields. GDK_HINT_USER_POS will be set automatically by GtkWindow if you call gtk_window_move(). GDK_HINT_USER_POS and GDK_HINT_USER_SIZE should be set if the user specified a size/position using a --geometry command-line argument; gtk_window_parse_geometry() automatically sets these flags. Members GDK_HINT_POS indicates that the program has positioned the surface GDK_HINT_MIN_SIZE min size fields are set GDK_HINT_MAX_SIZE max size fields are set GDK_HINT_BASE_SIZE base size fields are set GDK_HINT_ASPECT aspect ratio fields are set GDK_HINT_RESIZE_INC resize increment fields are set GDK_HINT_WIN_GRAVITY surface gravity field is set GDK_HINT_USER_POS indicates that the surface’s position was explicitly set by the user GDK_HINT_USER_SIZE indicates that the surface’s size was explicitly set by the user struct GdkGeometry GdkGeometry struct GdkGeometry { gint min_width; gint min_height; gint max_width; gint max_height; gint base_width; gint base_height; gint width_inc; gint height_inc; gdouble min_aspect; gdouble max_aspect; GdkGravity win_gravity; }; The GdkGeometry struct gives the window manager information about a surface’s geometry constraints. Normally you would set these on the GTK+ level using gtk_window_set_geometry_hints(). GtkWindow then sets the hints on the GdkSurface it creates. gdk_surface_set_geometry_hints() expects the hints to be fully valid already and simply passes them to the window manager; in contrast, gtk_window_set_geometry_hints() performs some interpretation. For example, GtkWindow will apply the hints to the geometry widget instead of the toplevel window, if you set a geometry widget. Also, the min_width /min_height /max_width /max_height fields may be set to -1, and GtkWindow will substitute the size request of the surface or geometry widget. If the minimum size hint is not provided, GtkWindow will use its requisition as the minimum size. If the minimum size is provided and a geometry widget is set, GtkWindow will take the minimum size as the minimum size of the geometry widget rather than the entire surface. The base size is treated similarly. The canonical use-case for gtk_window_set_geometry_hints() is to get a terminal widget to resize properly. Here, the terminal text area should be the geometry widget; GtkWindow will then automatically set the base size to the size of other widgets in the terminal window, such as the menubar and scrollbar. Then, the width_inc and height_inc fields should be set to the size of one character in the terminal. Finally, the base size should be set to the size of one character. The net effect is that the minimum size of the terminal will have a 1x1 character terminal area, and only terminal sizes on the “character grid” will be allowed. Here’s an example of how the terminal example would be implemented, assuming a terminal area widget called “terminal” and a toplevel window “toplevel”: char_width; hints.base_height = terminal->char_height; hints.min_width = terminal->char_width; hints.min_height = terminal->char_height; hints.width_inc = terminal->char_width; hints.height_inc = terminal->char_height; gtk_window_set_geometry_hints (GTK_WINDOW (toplevel), GTK_WIDGET (terminal), &hints, GDK_HINT_RESIZE_INC | GDK_HINT_MIN_SIZE | GDK_HINT_BASE_SIZE); ]]> The other useful fields are the min_aspect and max_aspect fields; these contain a width/height ratio as a floating point number. If a geometry widget is set, the aspect applies to the geometry widget rather than the entire window. The most common use of these hints is probably to set min_aspect and max_aspect to the same value, thus forcing the window to keep a constant aspect ratio. Members gint min_width; minimum width of surface (or -1 to use requisition, with GtkWindow only) gint min_height; minimum height of surface (or -1 to use requisition, with GtkWindow only) gint max_width; maximum width of surface (or -1 to use requisition, with GtkWindow only) gint max_height; maximum height of surface (or -1 to use requisition, with GtkWindow only) gint base_width; allowed surface widths are base_width + width_inc * N where N is any integer (-1 allowed with GtkWindow) gint base_height; allowed surface widths are base_height + height_inc * N where N is any integer (-1 allowed with GtkWindow) gint width_inc; width resize increment gint height_inc; height resize increment gdouble min_aspect; minimum width/height ratio gdouble max_aspect; maximum width/height ratio GdkGravity win_gravity; surface gravity, see gtk_window_set_gravity() enum GdkGravity GdkGravity Defines the reference point of a surface and the meaning of coordinates passed to gtk_window_move(). See gtk_window_move() and the "implementation notes" section of the Extended Window Manager Hints specification for more details. Members GDK_GRAVITY_NORTH_WEST the reference point is at the top left corner. GDK_GRAVITY_NORTH the reference point is in the middle of the top edge. GDK_GRAVITY_NORTH_EAST the reference point is at the top right corner. GDK_GRAVITY_WEST the reference point is at the middle of the left edge. GDK_GRAVITY_CENTER the reference point is at the center of the surface. GDK_GRAVITY_EAST the reference point is at the middle of the right edge. GDK_GRAVITY_SOUTH_WEST the reference point is at the lower left corner. GDK_GRAVITY_SOUTH the reference point is at the middle of the lower edge. GDK_GRAVITY_SOUTH_EAST the reference point is at the lower right corner. GDK_GRAVITY_STATIC the reference point is at the top left corner of the surface itself, ignoring window manager decorations. enum GdkAnchorHints GdkAnchorHints Positioning hints for aligning a surface relative to a rectangle. These hints determine how the surface should be positioned in the case that the surface would fall off-screen if placed in its ideal position. For example, GDK_ANCHOR_FLIP_X will replace GDK_GRAVITY_NORTH_WEST with GDK_GRAVITY_NORTH_EAST and vice versa if the surface extends beyond the left or right edges of the monitor. If GDK_ANCHOR_SLIDE_X is set, the surface can be shifted horizontally to fit on-screen. If GDK_ANCHOR_RESIZE_X is set, the surface can be shrunken horizontally to fit. In general, when multiple flags are set, flipping should take precedence over sliding, which should take precedence over resizing. Members GDK_ANCHOR_FLIP_X allow flipping anchors horizontally GDK_ANCHOR_FLIP_Y allow flipping anchors vertically GDK_ANCHOR_SLIDE_X allow sliding surface horizontally GDK_ANCHOR_SLIDE_Y allow sliding surface vertically GDK_ANCHOR_RESIZE_X allow resizing surface horizontally GDK_ANCHOR_RESIZE_Y allow resizing surface vertically GDK_ANCHOR_FLIP allow flipping anchors on both axes GDK_ANCHOR_SLIDE allow sliding surface on both axes GDK_ANCHOR_RESIZE allow resizing surface on both axes enum GdkSurfaceEdge GdkSurfaceEdge Determines a surface edge or corner. Members GDK_SURFACE_EDGE_NORTH_WEST the top left corner. GDK_SURFACE_EDGE_NORTH the top edge. GDK_SURFACE_EDGE_NORTH_EAST the top right corner. GDK_SURFACE_EDGE_WEST the left edge. GDK_SURFACE_EDGE_EAST the right edge. GDK_SURFACE_EDGE_SOUTH_WEST the lower left corner. GDK_SURFACE_EDGE_SOUTH the lower edge. GDK_SURFACE_EDGE_SOUTH_EAST the lower right corner. enum GdkSurfaceTypeHint GdkSurfaceTypeHint These are hints for the window manager that indicate what type of function the window has. The window manager can use this when determining decoration and behaviour of the window. The hint must be set before mapping the window. See the Extended Window Manager Hints specification for more details about window types. Members GDK_SURFACE_TYPE_HINT_NORMAL Normal toplevel window. GDK_SURFACE_TYPE_HINT_DIALOG Dialog window. GDK_SURFACE_TYPE_HINT_MENU Window used to implement a menu; GTK uses this hint only for torn-off menus, see GtkTearoffMenuItem. GDK_SURFACE_TYPE_HINT_TOOLBAR Window used to implement toolbars. GDK_SURFACE_TYPE_HINT_SPLASHSCREEN Window used to display a splash screen during application startup. GDK_SURFACE_TYPE_HINT_UTILITY Utility windows which are not detached toolbars or dialogs. GDK_SURFACE_TYPE_HINT_DOCK Used for creating dock or panel windows. GDK_SURFACE_TYPE_HINT_DESKTOP Used for creating the desktop background window. GDK_SURFACE_TYPE_HINT_DROPDOWN_MENU A menu that belongs to a menubar. GDK_SURFACE_TYPE_HINT_POPUP_MENU A menu that does not belong to a menubar, e.g. a context menu. GDK_SURFACE_TYPE_HINT_TOOLTIP A tooltip. GDK_SURFACE_TYPE_HINT_NOTIFICATION A notification - typically a “bubble” that belongs to a status icon. GDK_SURFACE_TYPE_HINT_COMBO A popup from a combo box. GDK_SURFACE_TYPE_HINT_DND A window that is used to implement a DND cursor. enum GdkSurfaceState GdkSurfaceState Specifies the state of a toplevel surface. On platforms that support information about individual edges, the GDK_SURFACE_STATE_TILED state will be set whenever any of the individual tiled states is set. On platforms that lack that support, the tiled state will give an indication of tiledness without any of the per-edge states being set. Members GDK_SURFACE_STATE_WITHDRAWN the surface is not shown GDK_SURFACE_STATE_ICONIFIED the surface is minimized GDK_SURFACE_STATE_MAXIMIZED the surface is maximized GDK_SURFACE_STATE_STICKY the surface is sticky GDK_SURFACE_STATE_FULLSCREEN the surface is maximized without decorations GDK_SURFACE_STATE_ABOVE the surface is kept above other surfaces GDK_SURFACE_STATE_BELOW the surface is kept below other surfaces GDK_SURFACE_STATE_FOCUSED the surface is presented as focused (with active decorations) GDK_SURFACE_STATE_TILED the surface is in a tiled state GDK_SURFACE_STATE_TOP_TILED whether the top edge is tiled GDK_SURFACE_STATE_TOP_RESIZABLE whether the top edge is resizable GDK_SURFACE_STATE_RIGHT_TILED whether the right edge is tiled GDK_SURFACE_STATE_RIGHT_RESIZABLE whether the right edge is resizable GDK_SURFACE_STATE_BOTTOM_TILED whether the bottom edge is tiled GDK_SURFACE_STATE_BOTTOM_RESIZABLE whether the bottom edge is resizable GDK_SURFACE_STATE_LEFT_TILED whether the left edge is tiled GDK_SURFACE_STATE_LEFT_RESIZABLE whether the left edge is resizable enum GdkFullscreenMode GdkFullscreenMode Indicates which monitor (in a multi-head setup) a surface should span over when in fullscreen mode. Members GDK_FULLSCREEN_ON_CURRENT_MONITOR Fullscreen on current monitor only. GDK_FULLSCREEN_ON_ALL_MONITORS Span across all monitors when fullscreen. GDK_PARENT_RELATIVE GDK_PARENT_RELATIVE #define GDK_PARENT_RELATIVE 1L A special value, indicating that the background for a surface should be inherited from the parent surface. enum GdkModifierType GdkModifierType A set of bit-flags to indicate the state of modifier keys and mouse buttons in various event types. Typical modifier keys are Shift, Control, Meta, Super, Hyper, Alt, Compose, Apple, CapsLock or ShiftLock. Like the X Window System, GDK supports 8 modifier keys and 5 mouse buttons. GDK recognizes which of the Meta, Super or Hyper keys are mapped to Mod2 - Mod5, and indicates this by setting GDK_SUPER_MASK, GDK_HYPER_MASK or GDK_META_MASK in the state field of key events. Note that GDK may add internal values to events which include reserved values such as GDK_MODIFIER_RESERVED_13_MASK. Your code should preserve and ignore them. You can use GDK_MODIFIER_MASK to remove all reserved values. Also note that the GDK X backend interprets button press events for button 4-7 as scroll events, so GDK_BUTTON4_MASK and GDK_BUTTON5_MASK will never be set. Members GDK_SHIFT_MASK the Shift key. GDK_LOCK_MASK a Lock key (depending on the modifier mapping of the X server this may either be CapsLock or ShiftLock). GDK_CONTROL_MASK the Control key. GDK_MOD1_MASK the fourth modifier key (it depends on the modifier mapping of the X server which key is interpreted as this modifier, but normally it is the Alt key). GDK_MOD2_MASK the fifth modifier key (it depends on the modifier mapping of the X server which key is interpreted as this modifier). GDK_MOD3_MASK the sixth modifier key (it depends on the modifier mapping of the X server which key is interpreted as this modifier). GDK_MOD4_MASK the seventh modifier key (it depends on the modifier mapping of the X server which key is interpreted as this modifier). GDK_MOD5_MASK the eighth modifier key (it depends on the modifier mapping of the X server which key is interpreted as this modifier). GDK_BUTTON1_MASK the first mouse button. GDK_BUTTON2_MASK the second mouse button. GDK_BUTTON3_MASK the third mouse button. GDK_BUTTON4_MASK the fourth mouse button. GDK_BUTTON5_MASK the fifth mouse button. GDK_MODIFIER_RESERVED_13_MASK A reserved bit flag; do not use in your own code GDK_MODIFIER_RESERVED_14_MASK A reserved bit flag; do not use in your own code GDK_MODIFIER_RESERVED_15_MASK A reserved bit flag; do not use in your own code GDK_MODIFIER_RESERVED_16_MASK A reserved bit flag; do not use in your own code GDK_MODIFIER_RESERVED_17_MASK A reserved bit flag; do not use in your own code GDK_MODIFIER_RESERVED_18_MASK A reserved bit flag; do not use in your own code GDK_MODIFIER_RESERVED_19_MASK A reserved bit flag; do not use in your own code GDK_MODIFIER_RESERVED_20_MASK A reserved bit flag; do not use in your own code GDK_MODIFIER_RESERVED_21_MASK A reserved bit flag; do not use in your own code GDK_MODIFIER_RESERVED_22_MASK A reserved bit flag; do not use in your own code GDK_MODIFIER_RESERVED_23_MASK A reserved bit flag; do not use in your own code GDK_MODIFIER_RESERVED_24_MASK A reserved bit flag; do not use in your own code GDK_MODIFIER_RESERVED_25_MASK A reserved bit flag; do not use in your own code GDK_SUPER_MASK the Super modifier GDK_HYPER_MASK the Hyper modifier GDK_META_MASK the Meta modifier GDK_MODIFIER_RESERVED_29_MASK A reserved bit flag; do not use in your own code GDK_RELEASE_MASK not used in GDK itself. GTK uses it to differentiate between (keyval, modifiers) pairs from key press and release events. GDK_MODIFIER_MASK a mask covering all modifier types. enum GdkModifierIntent GdkModifierIntent This enum is used with gdk_keymap_get_modifier_mask() in order to determine what modifiers the currently used windowing system backend uses for particular purposes. For example, on X11/Windows, the Control key is used for invoking menu shortcuts (accelerators), whereas on Apple computers it’s the Command key (which correspond to GDK_CONTROL_MASK and GDK_MOD2_MASK, respectively). Members GDK_MODIFIER_INTENT_PRIMARY_ACCELERATOR the primary modifier used to invoke menu accelerators. GDK_MODIFIER_INTENT_CONTEXT_MENU the modifier used to invoke context menus. Note that mouse button 3 always triggers context menus. When this modifier is not 0, it additionally triggers context menus when used with mouse button 1. GDK_MODIFIER_INTENT_EXTEND_SELECTION the modifier used to extend selections using modifier-click or modifier-cursor-key GDK_MODIFIER_INTENT_MODIFY_SELECTION the modifier used to modify selections, which in most cases means toggling the clicked item into or out of the selection. GDK_MODIFIER_INTENT_NO_TEXT_INPUT when any of these modifiers is pressed, the key event cannot produce a symbol directly. This is meant to be used for input methods, and for use cases like typeahead search. GDK_MODIFIER_INTENT_SHIFT_GROUP the modifier that switches between keyboard groups (AltGr on X11/Windows and Option/Alt on OS X). GDK_MODIFIER_INTENT_DEFAULT_MOD_MASK The set of modifier masks accepted as modifiers in accelerators. Needed because Command is mapped to MOD2 on OSX, which is widely used, but on X11 MOD2 is NumLock and using that for a mod key is problematic at best. Ref: https://bugzilla.gnome.org/show_bug.cgi?id=736125. enum GdkWMDecoration GdkWMDecoration These are hints originally defined by the Motif toolkit. The window manager can use them when determining how to decorate the surface. The hint must be set before mapping the surface. Members GDK_DECOR_ALL all decorations should be applied. GDK_DECOR_BORDER a frame should be drawn around the surface. GDK_DECOR_RESIZEH the frame should have resize handles. GDK_DECOR_TITLE a titlebar should be placed above the surface. GDK_DECOR_MENU a button for opening a menu should be included. GDK_DECOR_MINIMIZE a minimize button should be included. GDK_DECOR_MAXIMIZE a maximize button should be included. enum GdkWMFunction GdkWMFunction These are hints originally defined by the Motif toolkit. The window manager can use them when determining the functions to offer for the surface. The hint must be set before mapping the surface. Members GDK_FUNC_ALL all functions should be offered. GDK_FUNC_RESIZE the surface should be resizable. GDK_FUNC_MOVE the surface should be movable. GDK_FUNC_MINIMIZE the surface should be minimizable. GDK_FUNC_MAXIMIZE the surface should be maximizable. GDK_FUNC_CLOSE the surface should be closable. Property Details The <literal>“cursor”</literal> property GdkSurface:cursor “cursor” GdkCursor * The mouse pointer for a GdkSurface. See gdk_surface_set_cursor() and gdk_surface_get_cursor() for details. Flags: Read / Write The <literal>“display”</literal> property GdkSurface:display “display” GdkDisplay * The GdkDisplay connection of the surface. See gdk_surface_get_display() for details. Flags: Read / Write / Construct Only The <literal>“frame-clock”</literal> property GdkSurface:frame-clock “frame-clock” GdkFrameClock * Frame Clock.Flags: Read / Write / Construct Only The <literal>“mapped”</literal> property GdkSurface:mapped “mapped” gboolean Mapped.Flags: Read Default value: FALSE The <literal>“state”</literal> property GdkSurface:state “state” GdkSurfaceState State.Flags: Read Default value: GDK_SURFACE_STATE_WITHDRAWN Signal Details The <literal>“event”</literal> signal GdkSurface::event gboolean user_function (GdkSurface *surface, GdkEvent *event, gpointer user_data) Emitted when GDK receives an input event for surface . Parameters surface the GdkSurface event an input event user_data user data set when the signal handler was connected. Returns TRUE to indicate that the event has been handled Flags: Run Last The <literal>“moved-to-rect”</literal> signal GdkSurface::moved-to-rect void user_function (GdkSurface *surface, gpointer flipped_rect, gpointer final_rect, gboolean flipped_x, gboolean flipped_y, gpointer user_data) Emitted when the position of surface is finalized after being moved to a destination rectangle. surface might be flipped over the destination rectangle in order to keep it on-screen, in which case flipped_x and flipped_y will be set to TRUE accordingly. flipped_rect is the ideal position of surface after any possible flipping, but before any possible sliding. final_rect is flipped_rect , but possibly translated in the case that flipping is still ineffective in keeping surface on-screen. Parameters surface the GdkSurface that moved flipped_rect the position of surface after any possible flipping or NULL if the backend can't obtain it. [nullable] final_rect the final position of surface or NULL if the backend can't obtain it. [nullable] flipped_x TRUE if the anchors were flipped horizontally flipped_y TRUE if the anchors were flipped vertically user_data user data set when the signal handler was connected. Flags: Run First Stability Level: PrivateThe <literal>“render”</literal> signal GdkSurface::render gboolean user_function (GdkSurface *surface, CairoRegion *region, gpointer user_data) Emitted when part of the surface needs to be redrawn. Parameters surface the GdkSurface region the region that needs to be redrawn user_data user data set when the signal handler was connected. Returns TRUE to indicate that the signal has been handled Flags: Run Last The <literal>“size-changed”</literal> signal GdkSurface::size-changed void user_function (GdkSurface *surface, gint width, gint height, gpointer user_data) Emitted when the size of surface is changed. Parameters surface the GdkSurface width the new width height the new height user_data user data set when the signal handler was connected. Flags: Run First docs/reference/gdk/xml/gdkcontentprovider.xml0000664000175000017500000007313213464200076021606 0ustar mclasenmclasen ]> GdkContentProvider 3 GDK4 Library GdkContentProvider Provides content for data transfer between applications Functions GdkContentProvider * gdk_content_provider_new_for_value () GdkContentProvider * gdk_content_provider_new_for_bytes () GdkContentFormats * gdk_content_provider_ref_formats () GdkContentFormats * gdk_content_provider_ref_storable_formats () void gdk_content_provider_content_changed () void gdk_content_provider_write_mime_type_async () gboolean gdk_content_provider_write_mime_type_finish () gboolean gdk_content_provider_get_value () Properties GdkContentFormats *formatsRead GdkContentFormats *storable-formatsRead Signals voidcontent-changedRun Last Types and Values GdkContentProvider structGdkContentProviderClass Object Hierarchy GObject ╰── GdkContentProvider Includes#include <gdk/gdkwayland.h> Description A GdkContentProvider is used to provide content for the clipboard in a number of formats. To create a GdkContentProvider, use gdk_content_provider_new_for_value() or gdk_content_provider_new_for_bytes(). GDK knows how to handle common text and image formats out-of-the-box. See GdkContentSerializer and GdkContentDeserializer if you want to add support for application-specific data formats. Functions gdk_content_provider_new_for_value () gdk_content_provider_new_for_value GdkContentProvider * gdk_content_provider_new_for_value (const GValue *value); Create a content provider that provides the given value . Parameters value a GValue Returns a new GdkContentProvider gdk_content_provider_new_for_bytes () gdk_content_provider_new_for_bytes GdkContentProvider * gdk_content_provider_new_for_bytes (const char *mime_type, GBytes *bytes); Create a content provider that provides the given bytes as data for the given mime_type . Parameters mime_type the mime type bytes a GBytes with the data for mime_type . [transfer none] Returns a new GdkContentProvider gdk_content_provider_ref_formats () gdk_content_provider_ref_formats GdkContentFormats * gdk_content_provider_ref_formats (GdkContentProvider *provider); Gets the formats that the provider can provide its current contents in. Parameters provider a GdkContentProvider Returns The formats of the provider. [transfer full] gdk_content_provider_ref_storable_formats () gdk_content_provider_ref_storable_formats GdkContentFormats * gdk_content_provider_ref_storable_formats (GdkContentProvider *provider); Gets the formats that the provider suggests other applications to store the data in. An example of such an application would be a clipboard manager. This can be assumed to be a subset of gdk_content_provider_ref_formats(). Parameters provider a GdkContentProvider Returns The storable formats of the provider. [transfer full] gdk_content_provider_content_changed () gdk_content_provider_content_changed void gdk_content_provider_content_changed (GdkContentProvider *provider); Emits the “contents-changed” signal. Parameters provider a GdkContentProvider gdk_content_provider_write_mime_type_async () gdk_content_provider_write_mime_type_async void gdk_content_provider_write_mime_type_async (GdkContentProvider *provider, const char *mime_type, GOutputStream *stream, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); Asynchronously writes the contents of provider to stream in the given mime_type . When the operation is finished callback will be called. You can then call gdk_content_provider_write_mime_type_finish() to get the result of the operation. The given mime type does not need to be listed in the formats returned by gdk_content_provider_ref_formats(). However, if the given GType is not supported, G_IO_ERROR_NOT_SUPPORTED will be reported. The given stream will not be closed. Parameters provider a GdkContentProvider mime_type the mime type to provide the data in stream the GOutputStream to write to io_priority the I/O priority of the request. cancellable optional GCancellable object, NULL to ignore. [nullable] callback callback to call when the request is satisfied. [scope async] user_data the data to pass to callback function. [closure] gdk_content_provider_write_mime_type_finish () gdk_content_provider_write_mime_type_finish gboolean gdk_content_provider_write_mime_type_finish (GdkContentProvider *provider, GAsyncResult *result, GError **error); Finishes an asynchronous write operation started with gdk_content_provider_write_mime_type_async(). Parameters provider a GdkContentProvider result a GAsyncResult error a GError location to store the error occurring, or NULL to ignore. Returns TRUE if the operation was completed successfully. Otherwise error will be set to describe the failure. gdk_content_provider_get_value () gdk_content_provider_get_value gboolean gdk_content_provider_get_value (GdkContentProvider *provider, GValue *value, GError **error); Gets the convtents of provider stored in value . The value will have been initialized to the GType the value should be provided in. This given GType does not need to be listed in the formats returned by gdk_content_provider_ref_formats(). However, if the given GType is not supported, this operation can fail and G_IO_ERROR_NOT_SUPPORTED will be reported. Parameters provider a GdkContentProvider value the GValue to fill error a GError location to store the error occurring, or NULL to ignore. Returns TRUE if the value was set successfully. Otherwise error will be set to describe the failure. Types and Values GdkContentProvider GdkContentProvider typedef struct _GdkContentProvider GdkContentProvider; Should not be directly accessed. struct GdkContentProviderClass GdkContentProviderClass struct GdkContentProviderClass { GObjectClass parent_class; /* signals */ void (* content_changed) (GdkContentProvider *provider); /* vfuncs */ void (* attach_clipboard) (GdkContentProvider *provider, GdkClipboard *clipboard); void (* detach_clipboard) (GdkContentProvider *provider, GdkClipboard *clipboard); GdkContentFormats * (* ref_formats) (GdkContentProvider *provider); GdkContentFormats * (* ref_storable_formats) (GdkContentProvider *provider); void (* write_mime_type_async) (GdkContentProvider *provider, const char *mime_type, GOutputStream *stream, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); gboolean (* write_mime_type_finish) (GdkContentProvider *provider, GAsyncResult *result, GError **error); gboolean (* get_value) (GdkContentProvider *provider, GValue *value, GError **error); }; Property Details The <literal>“formats”</literal> property GdkContentProvider:formats “formats” GdkContentFormats * The possible formats that the provider can provide its data in. Flags: Read The <literal>“storable-formats”</literal> property GdkContentProvider:storable-formats “storable-formats” GdkContentFormats * The subset of formats that clipboard managers should store this provider's data in. Flags: Read Signal Details The <literal>“content-changed”</literal> signal GdkContentProvider::content-changed void user_function (GdkContentProvider *gdkcontentprovider, gpointer user_data) Flags: Run Last See Also GdkContentSerializer, GdkContentDeserializer docs/reference/gdk/xml/rgba_colors.xml0000664000175000017500000004667313464200075020200 0ustar mclasenmclasen ]> RGBA Colors 3 GDK4 Library RGBA Colors RGBA colors Functions GdkRGBA * gdk_rgba_copy () void gdk_rgba_free () gboolean gdk_rgba_is_clear () gboolean gdk_rgba_is_opaque () gboolean gdk_rgba_parse () gboolean gdk_rgba_equal () guint gdk_rgba_hash () gchar * gdk_rgba_to_string () Types and Values GdkRGBA Object Hierarchy GBoxed ╰── GdkRGBA Includes#include <gdk/gdk.h> Description GdkRGBA is a convenient way to pass rgba colors around. It’s based on cairo’s way to deal with colors and mirrors its behavior. All values are in the range from 0.0 to 1.0 inclusive. So the color (0.0, 0.0, 0.0, 0.0) represents transparent black and (1.0, 1.0, 1.0, 1.0) is opaque white. Other values will be clamped to this range when drawing. Functions gdk_rgba_copy () gdk_rgba_copy GdkRGBA * gdk_rgba_copy (const GdkRGBA *rgba); Makes a copy of a GdkRGBA. The result must be freed through gdk_rgba_free(). Parameters rgba a GdkRGBA Returns A newly allocated GdkRGBA, with the same contents as rgba gdk_rgba_free () gdk_rgba_free void gdk_rgba_free (GdkRGBA *rgba); Frees a GdkRGBA created with gdk_rgba_copy() Parameters rgba a GdkRGBA gdk_rgba_is_clear () gdk_rgba_is_clear gboolean gdk_rgba_is_clear (const GdkRGBA *rgba); Checks if an rgba value is transparent. That is, drawing with the value would not produce any change. Parameters rgba a GdkRGBA Returns TRUE if the rgba is clear gdk_rgba_is_opaque () gdk_rgba_is_opaque gboolean gdk_rgba_is_opaque (const GdkRGBA *rgba); Checks if an rgba value is opaque. That is, drawing with the value will not retain any results from previous contents. Parameters rgba a GdkRGBA Returns TRUE if the rgba is opaque gdk_rgba_parse () gdk_rgba_parse gboolean gdk_rgba_parse (GdkRGBA *rgba, const gchar *spec); Parses a textual representation of a color, filling in the red , green , blue and alpha fields of the rgba GdkRGBA. The string can be either one of: A standard name (Taken from the X11 rgb.txt file). A hexadecimal value in the form “#rgb”, “#rrggbb”, “#rrrgggbbb” or ”#rrrrggggbbbb” A RGB color in the form “rgb(r,g,b)” (In this case the color will have full opacity) A RGBA color in the form “rgba(r,g,b,a)” Where “r”, “g”, “b” and “a” are respectively the red, green, blue and alpha color values. In the last two cases, “r”, “g”, and “b” are either integers in the range 0 to 255 or percentage values in the range 0% to 100%, and a is a floating point value in the range 0 to 1. Parameters rgba the GdkRGBA to fill in spec the string specifying the color Returns TRUE if the parsing succeeded gdk_rgba_equal () gdk_rgba_equal gboolean gdk_rgba_equal (gconstpointer p1, gconstpointer p2); Compares two RGBA colors. Parameters p1 a GdkRGBA pointer. [type GdkRGBA] p2 another GdkRGBA pointer. [type GdkRGBA] Returns TRUE if the two colors compare equal gdk_rgba_hash () gdk_rgba_hash guint gdk_rgba_hash (gconstpointer p); A hash function suitable for using for a hash table that stores GdkRGBAs. Parameters p a GdkRGBA pointer. [type GdkRGBA] Returns The hash value for p gdk_rgba_to_string () gdk_rgba_to_string gchar * gdk_rgba_to_string (const GdkRGBA *rgba); Returns a textual specification of rgba in the form rgb(r,g,b) or rgba(r g,b,a), where “r”, “g”, “b” and “a” represent the red, green, blue and alpha values respectively. “r”, “g”, and “b” are represented as integers in the range 0 to 255, and “a” is represented as a floating point value in the range 0 to 1. These string forms are string forms that are supported by the CSS3 colors module, and can be parsed by gdk_rgba_parse(). Note that this string representation may lose some precision, since “r”, “g” and “b” are represented as 8-bit integers. If this is a concern, you should use a different representation. Parameters rgba a GdkRGBA Returns A newly allocated text string Types and Values GdkRGBA GdkRGBA typedef struct { gdouble red; gdouble green; gdouble blue; gdouble alpha; } GdkRGBA; A GdkRGBA is used to represent a (possibly translucent) color, in a way that is compatible with cairo’s notion of color. Members gdouble red; The intensity of the red channel from 0.0 to 1.0 inclusive gdouble green; The intensity of the green channel from 0.0 to 1.0 inclusive gdouble blue; The intensity of the blue channel from 0.0 to 1.0 inclusive gdouble alpha; The opacity of the color from 0.0 for completely translucent to 1.0 for opaque docs/reference/gdk/xml/cairo_interaction.xml0000664000175000017500000006304713464200075021372 0ustar mclasenmclasen ]> Cairo Interaction 3 GDK4 Library Cairo Interaction Functions to support using cairo Functions cairo_surface_t * gdk_surface_create_similar_surface () gboolean gdk_cairo_get_clip_rectangle () void gdk_cairo_set_source_rgba () void gdk_cairo_set_source_pixbuf () void gdk_cairo_rectangle () void gdk_cairo_region () cairo_region_t * gdk_cairo_region_create_from_surface () void gdk_cairo_draw_from_gl () void gdk_cairo_surface_upload_to_gl () Includes#include <gdk/gdk.h> Description Cairo is a graphics library that supports vector graphics and image compositing that can be used with GDK and GTK. GDK does not wrap the cairo API, instead it allows to create cairo contexts which can be used to draw on GdkSurfaces. Additional functions allow use GdkRectangles with cairo and to use GdkRGBAs, GdkPixbufs and GdkSurfaces as sources for drawing operations. Functions gdk_surface_create_similar_surface () gdk_surface_create_similar_surface cairo_surface_t * gdk_surface_create_similar_surface (GdkSurface *surface, cairo_content_t content, int width, int height); Create a new surface that is as compatible as possible with the given surface . For example the new surface will have the same fallback resolution and font options as surface . Generally, the new surface will also use the same backend as surface , unless that is not possible for some reason. The type of the returned surface may be examined with cairo_surface_get_type(). Initially the surface contents are all 0 (transparent if contents have transparency, black otherwise.) Parameters surface surface to make new surface similar to content the content for the new surface width width of the new surface height height of the new surface Returns a pointer to the newly allocated surface. The caller owns the surface and should call cairo_surface_destroy() when done with it. This function always returns a valid pointer, but it will return a pointer to a “nil” surface if other is already in an error state or any other error occurs. gdk_cairo_get_clip_rectangle () gdk_cairo_get_clip_rectangle gboolean gdk_cairo_get_clip_rectangle (cairo_t *cr, GdkRectangle *rect); This is a convenience function around cairo_clip_extents(). It rounds the clip extents to integer coordinates and returns a boolean indicating if a clip area exists. Parameters cr a cairo context rect return location for the clip, or NULL. [out][allow-none] Returns TRUE if a clip rectangle exists, FALSE if all of cr is clipped and all drawing can be skipped gdk_cairo_set_source_rgba () gdk_cairo_set_source_rgba void gdk_cairo_set_source_rgba (cairo_t *cr, const GdkRGBA *rgba); Sets the specified GdkRGBA as the source color of cr . Parameters cr a cairo context rgba a GdkRGBA gdk_cairo_set_source_pixbuf () gdk_cairo_set_source_pixbuf void gdk_cairo_set_source_pixbuf (cairo_t *cr, const GdkPixbuf *pixbuf, gdouble pixbuf_x, gdouble pixbuf_y); Sets the given pixbuf as the source pattern for cr . The pattern has an extend mode of CAIRO_EXTEND_NONE and is aligned so that the origin of pixbuf is pixbuf_x , pixbuf_y . Parameters cr a cairo context pixbuf a GdkPixbuf pixbuf_x X coordinate of location to place upper left corner of pixbuf pixbuf_y Y coordinate of location to place upper left corner of pixbuf gdk_cairo_rectangle () gdk_cairo_rectangle void gdk_cairo_rectangle (cairo_t *cr, const GdkRectangle *rectangle); Adds the given rectangle to the current path of cr . Parameters cr a cairo context rectangle a GdkRectangle gdk_cairo_region () gdk_cairo_region void gdk_cairo_region (cairo_t *cr, const cairo_region_t *region); Adds the given region to the current path of cr . Parameters cr a cairo context region a cairo_region_t gdk_cairo_region_create_from_surface () gdk_cairo_region_create_from_surface cairo_region_t * gdk_cairo_region_create_from_surface (cairo_surface_t *surface); Creates region that describes covers the area where the given surface is more than 50% opaque. This function takes into account device offsets that might be set with cairo_surface_set_device_offset(). Parameters surface a cairo surface Returns A cairo_region_t; must be freed with cairo_region_destroy() gdk_cairo_draw_from_gl () gdk_cairo_draw_from_gl void gdk_cairo_draw_from_gl (cairo_t *cr, GdkSurface *surface, int source, int source_type, int buffer_scale, int x, int y, int width, int height); This is the main way to draw GL content in GTK. It takes a render buffer ID (source_type == GL_RENDERBUFFER) or a texture id (source_type == GL_TEXTURE) and draws it onto cr with an OVER operation, respecting the current clip. The top left corner of the rectangle specified by x , y , width and height will be drawn at the current (0,0) position of the cairo_t. This will work for *all* cairo_t, as long as surface is realized, but the fallback implementation that reads back the pixels from the buffer may be used in the general case. In the case of direct drawing to a surface with no special effects applied to cr it will however use a more efficient approach. For GL_RENDERBUFFER the code will always fall back to software for buffers with alpha components, so make sure you use GL_TEXTURE if using alpha. Calling this may change the current GL context. Parameters cr a cairo context surface The surface we're rendering for (not necessarily into) source The GL ID of the source buffer source_type The type of the source buffer_scale The scale-factor that the source buffer is allocated for x The source x position in source to start copying from in GL coordinates y The source y position in source to start copying from in GL coordinates width The width of the region to draw height The height of the region to draw gdk_cairo_surface_upload_to_gl () gdk_cairo_surface_upload_to_gl void gdk_cairo_surface_upload_to_gl (cairo_surface_t *surface, int target, int width, int height, GdkGLContext *context); Uploads the contents of a Cairo surface to a GL texture target . Parameters surface a Cairo surface target a GL texture target width the width of the texture target height the height of the texture target context a GdkGLContext, or NULL to use the currently bound context. [nullable] Types and Values docs/reference/gdk/xml/properties.xml0000664000175000017500000002213613464200075020064 0ustar mclasenmclasen ]> Properties and Atoms 3 GDK4 Library Properties and Atoms Functions to manipulate properties on windows Functions gint gdk_text_property_to_utf8_list_for_display () gchar * gdk_utf8_to_string_target () Types and Values GdkAtom Includes#include <gdk/gdk.h> Description Each window under X can have any number of associated “properties” attached to it. Properties are arbitrary chunks of data identified by “atom”s. (An “atom” is a numeric index into a string table on the X server. They are used to transfer strings efficiently between clients without having to transfer the entire string.) A property has an associated type, which is also identified using an atom. A property has an associated “format”, an integer describing how many bits are in each unit of data inside the property. It must be 8, 16, or 32. When data is transferred between the server and client, if they are of different endianesses it will be byteswapped as necessary according to the format of the property. Note that on the client side, properties of format 32 will be stored with one unit per long, even if a long integer has more than 32 bits on the platform. (This decision was apparently made for Xlib to maintain compatibility with programs that assumed longs were 32 bits, at the expense of programs that knew better.) The functions in this section are used to add, remove and change properties on windows, to convert atoms to and from strings and to manipulate some types of data commonly stored in X window properties. Functions gdk_text_property_to_utf8_list_for_display () gdk_text_property_to_utf8_list_for_display gint gdk_text_property_to_utf8_list_for_display (GdkDisplay *display, GdkAtom encoding, gint format, const guchar *text, gint length, gchar ***list); Converts a text property in the given encoding to a list of UTF-8 strings. Parameters display a GdkDisplay encoding an atom representing the encoding of the text format the format of the property text the text to convert. [array length=length] length the length of text , in bytes list location to store the list of strings or NULL. The list should be freed with g_strfreev(). [out][array zero-terminated=1] Returns the number of strings in the resulting list gdk_utf8_to_string_target () gdk_utf8_to_string_target gchar * gdk_utf8_to_string_target (const gchar *str); Converts an UTF-8 string into the best possible representation as a STRING. The representation of characters not in STRING is not specified; it may be as pseudo-escape sequences \x{ABCD}, or it may be in some other form of approximation. Parameters str a UTF-8 string Returns the newly-allocated string, or NULL if the conversion failed. (It should not fail for any properly formed UTF-8 string unless system limits like memory or file descriptors are exceeded.). [nullable] Types and Values GdkAtom GdkAtom typedef struct _GdkAtom GdkAtom; An opaque type representing a string as an index into a table of strings on the X server. docs/reference/gdk/xml/gdkdevice.xml0000664000175000017500000032257013464200075017622 0ustar mclasenmclasen ]> GdkDevice 3 GDK4 Library GdkDevice Object representing an input device Functions const gchar * gdk_device_get_name () const gchar * gdk_device_get_vendor_id () const gchar * gdk_device_get_product_id () GdkInputSource gdk_device_get_source () gboolean gdk_device_set_mode () GdkInputMode gdk_device_get_mode () void gdk_device_set_key () gboolean gdk_device_get_key () void gdk_device_set_axis_use () GdkAxisUse gdk_device_get_axis_use () GdkDevice * gdk_device_get_associated_device () GList * gdk_device_list_slave_devices () GdkDeviceType gdk_device_get_device_type () GdkDisplay * gdk_device_get_display () gboolean gdk_device_get_has_cursor () gint gdk_device_get_n_axes () gint gdk_device_get_n_keys () GdkAxisFlags gdk_device_get_axes () GdkSeat * gdk_device_get_seat () void gdk_device_get_state () void gdk_device_get_position () GdkSurface * gdk_device_get_surface_at_position () gboolean gdk_device_get_history () void gdk_device_free_history () gboolean gdk_device_get_axis () GList * gdk_device_list_axes () gboolean gdk_device_get_axis_value () GdkSurface * gdk_device_get_last_event_surface () guint64 gdk_device_tool_get_serial () GdkDeviceToolType gdk_device_tool_get_tool_type () guint64 gdk_device_tool_get_hardware_id () Properties GdkDevice *associated-deviceRead GdkAxisFlagsaxesRead GdkDisplay *displayRead / Write / Construct Only gbooleanhas-cursorRead / Write / Construct Only GdkInputModeinput-modeRead / Write GdkInputSourceinput-sourceRead / Write / Construct Only guintn-axesRead gchar *nameRead / Write / Construct Only guintnum-touchesRead / Write / Construct Only gchar *product-idRead / Write / Construct Only GdkSeat *seatRead / Write GdkDeviceTool *toolRead GdkDeviceTypetypeRead / Write / Construct Only gchar *vendor-idRead / Write / Construct Only Signals voidchangedRun Last voidtool-changedRun Last Types and Values GdkDevice enumGdkInputSource enumGdkInputMode enumGdkAxisUse enumGdkAxisFlags enumGdkDeviceToolType enumGdkDeviceType enumGdkGrabOwnership structGdkTimeCoord Object Hierarchy GObject ╰── GdkDevice Known Derived Interfaces GdkDevice is required by GdkDevicePad. Includes#include <gdk/gdk.h> Description The GdkDevice object represents a single input device, such as a keyboard, a mouse, a touchpad, etc. See the GdkSeat documentation for more information about the various kinds of master and slave devices, and their relationships. Functions gdk_device_get_name () gdk_device_get_name const gchar * gdk_device_get_name (GdkDevice *device); Determines the name of the device. Parameters device a GdkDevice Returns a name gdk_device_get_vendor_id () gdk_device_get_vendor_id const gchar * gdk_device_get_vendor_id (GdkDevice *device); Returns the vendor ID of this device, or NULL if this information couldn't be obtained. This ID is retrieved from the device, and is thus constant for it. This function, together with gdk_device_get_product_id(), can be used to eg. compose GSettings paths to store settings for this device. Parameters device a slave GdkDevice Returns the vendor ID, or NULL. [nullable] gdk_device_get_product_id () gdk_device_get_product_id const gchar * gdk_device_get_product_id (GdkDevice *device); Returns the product ID of this device, or NULL if this information couldn't be obtained. This ID is retrieved from the device, and is thus constant for it. See gdk_device_get_vendor_id() for more information. Parameters device a slave GdkDevice Returns the product ID, or NULL. [nullable] gdk_device_get_source () gdk_device_get_source GdkInputSource gdk_device_get_source (GdkDevice *device); Determines the type of the device. Parameters device a GdkDevice Returns a GdkInputSource gdk_device_set_mode () gdk_device_set_mode gboolean gdk_device_set_mode (GdkDevice *device, GdkInputMode mode); Sets a the mode of an input device. The mode controls if the device is active and whether the device’s range is mapped to the entire screen or to a single surface. Note: This is only meaningful for floating devices, master devices (and slaves connected to these) drive the pointer cursor, which is not limited by the input mode. Parameters device a GdkDevice. mode the input mode. Returns TRUE if the mode was successfully changed. gdk_device_get_mode () gdk_device_get_mode GdkInputMode gdk_device_get_mode (GdkDevice *device); Determines the mode of the device. Parameters device a GdkDevice Returns a GdkInputSource gdk_device_set_key () gdk_device_set_key void gdk_device_set_key (GdkDevice *device, guint index_, guint keyval, GdkModifierType modifiers); Specifies the X key event to generate when a macro button of a device is pressed. Parameters device a GdkDevice index_ the index of the macro button to set keyval the keyval to generate modifiers the modifiers to set gdk_device_get_key () gdk_device_get_key gboolean gdk_device_get_key (GdkDevice *device, guint index_, guint *keyval, GdkModifierType *modifiers); If index_ has a valid keyval, this function will return TRUE and fill in keyval and modifiers with the keyval settings. Parameters device a GdkDevice. index_ the index of the macro button to get. keyval return value for the keyval. [out] modifiers return value for modifiers. [out] Returns TRUE if keyval is set for index . gdk_device_set_axis_use () gdk_device_set_axis_use void gdk_device_set_axis_use (GdkDevice *device, guint index_, GdkAxisUse use); Specifies how an axis of a device is used. Parameters device a pointer GdkDevice index_ the index of the axis use specifies how the axis is used gdk_device_get_axis_use () gdk_device_get_axis_use GdkAxisUse gdk_device_get_axis_use (GdkDevice *device, guint index_); Returns the axis use for index_ . Parameters device a pointer GdkDevice. index_ the index of the axis. Returns a GdkAxisUse specifying how the axis is used. gdk_device_get_associated_device () gdk_device_get_associated_device GdkDevice * gdk_device_get_associated_device (GdkDevice *device); Returns the associated device to device , if device is of type GDK_DEVICE_TYPE_MASTER, it will return the paired pointer or keyboard. If device is of type GDK_DEVICE_TYPE_SLAVE, it will return the master device to which device is attached to. If device is of type GDK_DEVICE_TYPE_FLOATING, NULL will be returned, as there is no associated device. Parameters device a GdkDevice Returns The associated device, or NULL. [nullable][transfer none] gdk_device_list_slave_devices () gdk_device_list_slave_devices GList * gdk_device_list_slave_devices (GdkDevice *device); If the device if of type GDK_DEVICE_TYPE_MASTER, it will return the list of slave devices attached to it, otherwise it will return NULL Parameters device a GdkDevice Returns the list of slave devices, or NULL. The list must be freed with g_list_free(), the contents of the list are owned by GTK+ and should not be freed. [nullable][transfer container][element-type GdkDevice] gdk_device_get_device_type () gdk_device_get_device_type GdkDeviceType gdk_device_get_device_type (GdkDevice *device); Returns the device type for device . Parameters device a GdkDevice Returns the GdkDeviceType for device . gdk_device_get_display () gdk_device_get_display GdkDisplay * gdk_device_get_display (GdkDevice *device); Returns the GdkDisplay to which device pertains. Parameters device a GdkDevice Returns a GdkDisplay. This memory is owned by GTK+, and must not be freed or unreffed. [transfer none] gdk_device_get_has_cursor () gdk_device_get_has_cursor gboolean gdk_device_get_has_cursor (GdkDevice *device); Determines whether the pointer follows device motion. This is not meaningful for keyboard devices, which don't have a pointer. Parameters device a GdkDevice Returns TRUE if the pointer follows device motion gdk_device_get_n_axes () gdk_device_get_n_axes gint gdk_device_get_n_axes (GdkDevice *device); Returns the number of axes the device currently has. Parameters device a pointer GdkDevice Returns the number of axes. gdk_device_get_n_keys () gdk_device_get_n_keys gint gdk_device_get_n_keys (GdkDevice *device); Returns the number of keys the device currently has. Parameters device a GdkDevice Returns the number of keys. gdk_device_get_axes () gdk_device_get_axes GdkAxisFlags gdk_device_get_axes (GdkDevice *device); Returns the axes currently available on the device. Parameters device a GdkDevice gdk_device_get_seat () gdk_device_get_seat GdkSeat * gdk_device_get_seat (GdkDevice *device); Returns the GdkSeat the device belongs to. Parameters device A GdkDevice Returns A GdkSeat. This memory is owned by GTK+ and must not be freed. [transfer none] gdk_device_get_state () gdk_device_get_state void gdk_device_get_state (GdkDevice *device, GdkSurface *surface, gdouble *axes, GdkModifierType *mask); Gets the current state of a pointer device relative to surface . As a slave device’s coordinates are those of its master pointer, this function may not be called on devices of type GDK_DEVICE_TYPE_SLAVE, unless there is an ongoing grab on them. See gdk_device_grab(). [skip] Parameters device a GdkDevice. surface a GdkSurface. axes an array of doubles to store the values of the axes of device in, or NULL. [nullable][array] mask location to store the modifiers, or NULL. [optional][out] gdk_device_get_position () gdk_device_get_position void gdk_device_get_position (GdkDevice *device, double *x, double *y); Gets the current location of device in double precision. As a slave device's coordinates are those of its master pointer, this function may not be called on devices of type GDK_DEVICE_TYPE_SLAVE, unless there is an ongoing grab on them. See gdk_device_grab(). Parameters device pointer device to query status about. x location to store root window X coordinate of device , or NULL. [out][allow-none] y location to store root window Y coordinate of device , or NULL. [out][allow-none] gdk_device_get_surface_at_position () gdk_device_get_surface_at_position GdkSurface * gdk_device_get_surface_at_position (GdkDevice *device, double *win_x, double *win_y); Obtains the surface underneath device , returning the location of the device in win_x and win_y in double precision. Returns NULL if the surface tree under device is not known to GDK (for example, belongs to another application). As a slave device coordinates are those of its master pointer, This function may not be called on devices of type GDK_DEVICE_TYPE_SLAVE, unless there is an ongoing grab on them, see gdk_device_grab(). Parameters device pointer GdkDevice to query info to. win_x return location for the X coordinate of the device location, relative to the surface origin, or NULL. [out][allow-none] win_y return location for the Y coordinate of the device location, relative to the surface origin, or NULL. [out][allow-none] Returns the GdkSurface under the device position, or NULL. [nullable][transfer none] gdk_device_get_history () gdk_device_get_history gboolean gdk_device_get_history (GdkDevice *device, GdkSurface *surface, guint32 start, guint32 stop, GdkTimeCoord ***events, gint *n_events); Obtains the motion history for a pointer device; given a starting and ending timestamp, return all events in the motion history for the device in the given range of time. Some windowing systems do not support motion history, in which case, FALSE will be returned. (This is not distinguishable from the case where motion history is supported and no events were found.) Note that there is also gdk_surface_set_event_compression() to get more motion events delivered directly, independent of the windowing system. [skip] Parameters device a GdkDevice surface the surface with respect to which which the event coordinates will be reported start starting timestamp for range of events to return stop ending timestamp for the range of events to return events location to store a newly-allocated array of GdkTimeCoord, or NULL. [array length=n_events][out][transfer full][optional] n_events location to store the length of events , or NULL. [out][optional] Returns TRUE if the windowing system supports motion history and at least one event was found. gdk_device_free_history () gdk_device_free_history void gdk_device_free_history (GdkTimeCoord **events, gint n_events); Frees an array of GdkTimeCoord that was returned by gdk_device_get_history(). [skip] Parameters events an array of GdkTimeCoord. [array length=n_events] n_events the length of the array. gdk_device_get_axis () gdk_device_get_axis gboolean gdk_device_get_axis (GdkDevice *device, gdouble *axes, GdkAxisUse use, gdouble *value); Interprets an array of double as axis values for a given device, and locates the value in the array for a given axis use. [skip] Parameters device a GdkDevice axes pointer to an array of axes. [array] use the use to look for value location to store the found value. [out] Returns TRUE if the given axis use was found, otherwise FALSE gdk_device_list_axes () gdk_device_list_axes GList * gdk_device_list_axes (GdkDevice *device); Returns a GList of GdkAtoms, containing the labels for the axes that device currently has. Parameters device a pointer GdkDevice Returns A GList of strings, free with g_list_free(). [transfer container][element-type GdkAtom] gdk_device_get_axis_value () gdk_device_get_axis_value gboolean gdk_device_get_axis_value (GdkDevice *device, gdouble *axes, GdkAtom axis_label, gdouble *value); Interprets an array of double as axis values for a given device, and locates the value in the array for a given axis label, as returned by gdk_device_list_axes() [skip] Parameters device a pointer GdkDevice. axes pointer to an array of axes. [array] axis_label name of the label value location to store the found value. [out] Returns TRUE if the given axis use was found, otherwise FALSE. gdk_device_get_last_event_surface () gdk_device_get_last_event_surface GdkSurface * gdk_device_get_last_event_surface (GdkDevice *device); Gets information about which surface the given pointer device is in, based on events that have been received so far from the display server. If another application has a pointer grab, or this application has a grab with owner_events = FALSE, NULL may be returned even if the pointer is physically over one of this application's surfaces. Parameters device a GdkDevice, with a source other than GDK_SOURCE_KEYBOARD Returns the last surface the device. [transfer none][allow-none] gdk_device_tool_get_serial () gdk_device_tool_get_serial guint64 gdk_device_tool_get_serial (GdkDeviceTool *tool); Gets the serial of this tool, this value can be used to identify a physical tool (eg. a tablet pen) across program executions. Parameters tool a GdkDeviceTool Returns The serial ID for this tool gdk_device_tool_get_tool_type () gdk_device_tool_get_tool_type GdkDeviceToolType gdk_device_tool_get_tool_type (GdkDeviceTool *tool); Gets the GdkDeviceToolType of the tool. Parameters tool a GdkDeviceTool Returns The physical type for this tool. This can be used to figure out what sort of pen is being used, such as an airbrush or a pencil. gdk_device_tool_get_hardware_id () gdk_device_tool_get_hardware_id guint64 gdk_device_tool_get_hardware_id (GdkDeviceTool *tool); Gets the hardware ID of this tool, or 0 if it's not known. When non-zero, the identificator is unique for the given tool model, meaning that two identical tools will share the same hardware_id , but will have different serial numbers (see gdk_device_tool_get_serial()). This is a more concrete (and device specific) method to identify a GdkDeviceTool than gdk_device_tool_get_tool_type(), as a tablet may support multiple devices with the same GdkDeviceToolType, but having different hardware identificators. Parameters tool a GdkDeviceTool Returns The hardware identificator of this tool. Types and Values GdkDevice GdkDevice typedef struct _GdkDevice GdkDevice; The GdkDevice struct contains only private fields and should not be accessed directly. enum GdkInputSource GdkInputSource An enumeration describing the type of an input device in general terms. Members GDK_SOURCE_MOUSE the device is a mouse. (This will be reported for the core pointer, even if it is something else, such as a trackball.) GDK_SOURCE_PEN the device is a stylus of a graphics tablet or similar device. GDK_SOURCE_ERASER the device is an eraser. Typically, this would be the other end of a stylus on a graphics tablet. GDK_SOURCE_CURSOR the device is a graphics tablet “puck” or similar device. GDK_SOURCE_KEYBOARD the device is a keyboard. GDK_SOURCE_TOUCHSCREEN the device is a direct-input touch device, such as a touchscreen or tablet. This device type has been added in 3.4. GDK_SOURCE_TOUCHPAD the device is an indirect touch device, such as a touchpad. This device type has been added in 3.4. GDK_SOURCE_TRACKPOINT the device is a trackpoint. This device type has been added in 3.22 GDK_SOURCE_TABLET_PAD the device is a "pad", a collection of buttons, rings and strips found in drawing tablets. This device type has been added in 3.22. enum GdkInputMode GdkInputMode An enumeration that describes the mode of an input device. Members GDK_MODE_DISABLED the device is disabled and will not report any events. GDK_MODE_SCREEN the device is enabled. The device’s coordinate space maps to the entire screen. GDK_MODE_SURFACE the device is enabled. The device’s coordinate space is mapped to a single surface. The manner in which this surface is chosen is undefined, but it will typically be the same way in which the focus surface for key events is determined. enum GdkAxisUse GdkAxisUse An enumeration describing the way in which a device axis (valuator) maps onto the predefined valuator types that GTK understands. Note that the X and Y axes are not really needed; pointer devices report their location via the x/y members of events regardless. Whether X and Y are present as axes depends on the GDK backend. Members GDK_AXIS_IGNORE the axis is ignored. GDK_AXIS_X the axis is used as the x axis. GDK_AXIS_Y the axis is used as the y axis. GDK_AXIS_PRESSURE the axis is used for pressure information. GDK_AXIS_XTILT the axis is used for x tilt information. GDK_AXIS_YTILT the axis is used for y tilt information. GDK_AXIS_WHEEL the axis is used for wheel information. GDK_AXIS_DISTANCE the axis is used for pen/tablet distance information GDK_AXIS_ROTATION the axis is used for pen rotation information GDK_AXIS_SLIDER the axis is used for pen slider information GDK_AXIS_LAST a constant equal to the numerically highest axis value. enum GdkAxisFlags GdkAxisFlags Flags describing the current capabilities of a device/tool. Members GDK_AXIS_FLAG_X X axis is present GDK_AXIS_FLAG_Y Y axis is present GDK_AXIS_FLAG_PRESSURE Pressure axis is present GDK_AXIS_FLAG_XTILT X tilt axis is present GDK_AXIS_FLAG_YTILT Y tilt axis is present GDK_AXIS_FLAG_WHEEL Wheel axis is present GDK_AXIS_FLAG_DISTANCE Distance axis is present GDK_AXIS_FLAG_ROTATION Z-axis rotation is present GDK_AXIS_FLAG_SLIDER Slider axis is present enum GdkDeviceToolType GdkDeviceToolType Indicates the specific type of tool being used being a tablet. Such as an airbrush, pencil, etc. Members GDK_DEVICE_TOOL_TYPE_UNKNOWN Tool is of an unknown type. GDK_DEVICE_TOOL_TYPE_PEN Tool is a standard tablet stylus. GDK_DEVICE_TOOL_TYPE_ERASER Tool is standard tablet eraser. GDK_DEVICE_TOOL_TYPE_BRUSH Tool is a brush stylus. GDK_DEVICE_TOOL_TYPE_PENCIL Tool is a pencil stylus. GDK_DEVICE_TOOL_TYPE_AIRBRUSH Tool is an airbrush stylus. GDK_DEVICE_TOOL_TYPE_MOUSE Tool is a mouse. GDK_DEVICE_TOOL_TYPE_LENS Tool is a lens cursor. enum GdkDeviceType GdkDeviceType Indicates the device type. Members GDK_DEVICE_TYPE_MASTER Device is a master (or virtual) device. There will be an associated focus indicator on the screen. GDK_DEVICE_TYPE_SLAVE Device is a slave (or physical) device. GDK_DEVICE_TYPE_FLOATING Device is a physical device, currently not attached to any seat. enum GdkGrabOwnership GdkGrabOwnership Defines how device grabs interact with other devices. Members GDK_OWNERSHIP_NONE All other devices’ events are allowed. GDK_OWNERSHIP_SURFACE Other devices’ events are blocked for the grab surface. GDK_OWNERSHIP_APPLICATION Other devices’ events are blocked for the whole application. struct GdkTimeCoord GdkTimeCoord struct GdkTimeCoord { guint32 time; gdouble axes[GDK_MAX_TIMECOORD_AXES]; }; A GdkTimeCoord stores a single event in a motion history. Members guint32 time; The timestamp for this event. gdouble axes[GDK_MAX_TIMECOORD_AXES]; the values of the device’s axes. Property Details The <literal>“associated-device”</literal> property GdkDevice:associated-device “associated-device” GdkDevice * Associated pointer or keyboard with this device, if any. Devices of type GDK_DEVICE_TYPE_MASTER always come in keyboard/pointer pairs. Other device types will have a NULL associated device. Flags: Read The <literal>“axes”</literal> property GdkDevice:axes “axes” GdkAxisFlags The axes currently available for this device. Flags: Read The <literal>“display”</literal> property GdkDevice:display “display” GdkDisplay * The GdkDisplay the GdkDevice pertains to. Flags: Read / Write / Construct Only The <literal>“has-cursor”</literal> property GdkDevice:has-cursor “has-cursor” gboolean Whether the device is represented by a cursor on the screen. Devices of type GDK_DEVICE_TYPE_MASTER will have TRUE here. Flags: Read / Write / Construct Only Default value: FALSE The <literal>“input-mode”</literal> property GdkDevice:input-mode “input-mode” GdkInputMode Input mode for the device.Flags: Read / Write Default value: GDK_MODE_DISABLED The <literal>“input-source”</literal> property GdkDevice:input-source “input-source” GdkInputSource Source type for the device. Flags: Read / Write / Construct Only Default value: GDK_SOURCE_MOUSE The <literal>“n-axes”</literal> property GdkDevice:n-axes “n-axes” guint Number of axes in the device. Flags: Read Default value: 0 The <literal>“name”</literal> property GdkDevice:name “name” gchar * The device name. Flags: Read / Write / Construct Only Default value: NULL The <literal>“num-touches”</literal> property GdkDevice:num-touches “num-touches” guint The maximal number of concurrent touches on a touch device. Will be 0 if the device is not a touch device or if the number of touches is unknown. Flags: Read / Write / Construct Only Default value: 0 The <literal>“product-id”</literal> property GdkDevice:product-id “product-id” gchar * Product ID of this device, see gdk_device_get_product_id(). Flags: Read / Write / Construct Only Default value: NULL The <literal>“seat”</literal> property GdkDevice:seat “seat” GdkSeat * GdkSeat of this device. Flags: Read / Write The <literal>“tool”</literal> property GdkDevice:tool “tool” GdkDeviceTool * The tool that is currently used with this device.Flags: Read The <literal>“type”</literal> property GdkDevice:type “type” GdkDeviceType Device role in the device manager. Flags: Read / Write / Construct Only Default value: GDK_DEVICE_TYPE_MASTER The <literal>“vendor-id”</literal> property GdkDevice:vendor-id “vendor-id” gchar * Vendor ID of this device, see gdk_device_get_vendor_id(). Flags: Read / Write / Construct Only Default value: NULL Signal Details The <literal>“changed”</literal> signal GdkDevice::changed void user_function (GdkDevice *device, gpointer user_data) The ::changed signal is emitted either when the GdkDevice has changed the number of either axes or keys. For example In X this will normally happen when the slave device routing events through the master device changes (for example, user switches from the USB mouse to a tablet), in that case the master device will change to reflect the new slave device axes and keys. Parameters device the GdkDevice that changed. user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“tool-changed”</literal> signal GdkDevice::tool-changed void user_function (GdkDevice *device, GdkDeviceTool *tool, gpointer user_data) The ::tool-changed signal is emitted on pen/eraser GdkDevices whenever tools enter or leave proximity. Parameters device the GdkDevice that changed. tool The new current tool user_data user data set when the signal handler was connected. Flags: Run Last See Also GdkSeat docs/reference/gdk/xml/gdkglcontext.xml0000664000175000017500000012423313464200076020367 0ustar mclasenmclasen ]> GdkGLContext 3 GDK4 Library GdkGLContext OpenGL draw context Functions GdkDisplay * gdk_gl_context_get_display () GdkSurface * gdk_gl_context_get_surface () GdkGLContext * gdk_gl_context_get_shared_context () void gdk_gl_context_get_version () void gdk_gl_context_set_required_version () void gdk_gl_context_get_required_version () void gdk_gl_context_set_debug_enabled () gboolean gdk_gl_context_get_debug_enabled () void gdk_gl_context_set_forward_compatible () gboolean gdk_gl_context_get_forward_compatible () void gdk_gl_context_set_use_es () gboolean gdk_gl_context_get_use_es () gboolean gdk_gl_context_is_legacy () gboolean gdk_gl_context_realize () void gdk_gl_context_make_current () GdkGLContext * gdk_gl_context_get_current () void gdk_gl_context_clear_current () Properties GdkGLContext *shared-contextRead / Write / Construct Only Types and Values GdkGLContext enumGdkGLError Object Hierarchy GObject ╰── GdkDrawContext ╰── GdkGLContext Includes#include <gdk/gdkwayland.h> Description GdkGLContext is an object representing the platform-specific OpenGL draw context. GdkGLContexts are created for a GdkSurface using gdk_surface_create_gl_context(), and the context will match the the characteristics of the surface. A GdkGLContext is not tied to any particular normal framebuffer. For instance, it cannot draw to the GdkSurface back buffer. The GDK repaint system is in full control of the painting to that. Instead, you can create render buffers or textures and use gdk_cairo_draw_from_gl() in the draw function of your widget to draw them. Then GDK will handle the integration of your rendering with that of other widgets. Support for GdkGLContext is platform-specific, context creation can fail, returning NULL context. A GdkGLContext has to be made "current" in order to start using it, otherwise any OpenGL call will be ignored. Creating a new OpenGL contextIn order to create a new GdkGLContext instance you need a GdkSurface, which you typically get during the realize call of a widget. A GdkGLContext is not realized until either gdk_gl_context_make_current(), or until it is realized using gdk_gl_context_realize(). It is possible to specify details of the GL context like the OpenGL version to be used, or whether the GL context should have extra state validation enabled after calling gdk_surface_create_gl_context() by calling gdk_gl_context_realize(). If the realization fails you have the option to change the settings of the GdkGLContext and try again. Using a GdkGLContextYou will need to make the GdkGLContext the current context before issuing OpenGL calls; the system sends OpenGL commands to whichever context is current. It is possible to have multiple contexts, so you always need to ensure that the one which you want to draw with is the current one before issuing commands: You can now perform your drawing using OpenGL commands. You can check which GdkGLContext is the current one by using gdk_gl_context_get_current(); you can also unset any GdkGLContext that is currently set by calling gdk_gl_context_clear_current(). Functions gdk_gl_context_get_display () gdk_gl_context_get_display GdkDisplay * gdk_gl_context_get_display (GdkGLContext *context); Retrieves the GdkDisplay the context is created for Parameters context a GdkGLContext Returns a GdkDisplay or NULL. [nullable][transfer none] gdk_gl_context_get_surface () gdk_gl_context_get_surface GdkSurface * gdk_gl_context_get_surface (GdkGLContext *context); Retrieves the GdkSurface used by the context . Parameters context a GdkGLContext Returns a GdkSurface or NULL. [nullable][transfer none] gdk_gl_context_get_shared_context () gdk_gl_context_get_shared_context GdkGLContext * gdk_gl_context_get_shared_context (GdkGLContext *context); Retrieves the GdkGLContext that this context share data with. Parameters context a GdkGLContext Returns a GdkGLContext or NULL. [nullable][transfer none] gdk_gl_context_get_version () gdk_gl_context_get_version void gdk_gl_context_get_version (GdkGLContext *context, int *major, int *minor); Retrieves the OpenGL version of the context . The context must be realized prior to calling this function. Parameters context a GdkGLContext major return location for the major version. [out] minor return location for the minor version. [out] gdk_gl_context_set_required_version () gdk_gl_context_set_required_version void gdk_gl_context_set_required_version (GdkGLContext *context, int major, int minor); Sets the major and minor version of OpenGL to request. Setting major and minor to zero will use the default values. The GdkGLContext must not be realized or made current prior to calling this function. Parameters context a GdkGLContext major the major version to request minor the minor version to request gdk_gl_context_get_required_version () gdk_gl_context_get_required_version void gdk_gl_context_get_required_version (GdkGLContext *context, int *major, int *minor); Retrieves the major and minor version requested by calling gdk_gl_context_set_required_version(). Parameters context a GdkGLContext major return location for the major version to request. [out][nullable] minor return location for the minor version to request. [out][nullable] gdk_gl_context_set_debug_enabled () gdk_gl_context_set_debug_enabled void gdk_gl_context_set_debug_enabled (GdkGLContext *context, gboolean enabled); Sets whether the GdkGLContext should perform extra validations and run time checking. This is useful during development, but has additional overhead. The GdkGLContext must not be realized or made current prior to calling this function. Parameters context a GdkGLContext enabled whether to enable debugging in the context gdk_gl_context_get_debug_enabled () gdk_gl_context_get_debug_enabled gboolean gdk_gl_context_get_debug_enabled (GdkGLContext *context); Retrieves the value set using gdk_gl_context_set_debug_enabled(). Parameters context a GdkGLContext Returns TRUE if debugging is enabled gdk_gl_context_set_forward_compatible () gdk_gl_context_set_forward_compatible void gdk_gl_context_set_forward_compatible (GdkGLContext *context, gboolean compatible); Sets whether the GdkGLContext should be forward compatible. Forward compatibile contexts must not support OpenGL functionality that has been marked as deprecated in the requested version; non-forward compatible contexts, on the other hand, must support both deprecated and non deprecated functionality. The GdkGLContext must not be realized or made current prior to calling this function. Parameters context a GdkGLContext compatible whether the context should be forward compatible gdk_gl_context_get_forward_compatible () gdk_gl_context_get_forward_compatible gboolean gdk_gl_context_get_forward_compatible (GdkGLContext *context); Retrieves the value set using gdk_gl_context_set_forward_compatible(). Parameters context a GdkGLContext Returns TRUE if the context should be forward compatible gdk_gl_context_set_use_es () gdk_gl_context_set_use_es void gdk_gl_context_set_use_es (GdkGLContext *context, int use_es); Requests that GDK create a OpenGL ES context instead of an OpenGL one, if the platform and windowing system allows it. The context must not have been realized. By default, GDK will attempt to automatically detect whether the underlying GL implementation is OpenGL or OpenGL ES once the context is realized. You should check the return value of gdk_gl_context_get_use_es() after calling gdk_gl_context_realize() to decide whether to use the OpenGL or OpenGL ES API, extensions, or shaders. Parameters context a GdkGLContext: use_es whether the context should use OpenGL ES instead of OpenGL, or -1 to allow auto-detection gdk_gl_context_get_use_es () gdk_gl_context_get_use_es gboolean gdk_gl_context_get_use_es (GdkGLContext *context); Checks whether the context is using an OpenGL or OpenGL ES profile. Parameters context a GdkGLContext Returns TRUE if the GdkGLContext is using an OpenGL ES profile gdk_gl_context_is_legacy () gdk_gl_context_is_legacy gboolean gdk_gl_context_is_legacy (GdkGLContext *context); Whether the GdkGLContext is in legacy mode or not. The GdkGLContext must be realized before calling this function. When realizing a GL context, GDK will try to use the OpenGL 3.2 core profile; this profile removes all the OpenGL API that was deprecated prior to the 3.2 version of the specification. If the realization is successful, this function will return FALSE. If the underlying OpenGL implementation does not support core profiles, GDK will fall back to a pre-3.2 compatibility profile, and this function will return TRUE. You can use the value returned by this function to decide which kind of OpenGL API to use, or whether to do extension discovery, or what kind of shader programs to load. Parameters context a GdkGLContext Returns TRUE if the GL context is in legacy mode gdk_gl_context_realize () gdk_gl_context_realize gboolean gdk_gl_context_realize (GdkGLContext *context, GError **error); Realizes the given GdkGLContext. It is safe to call this function on a realized GdkGLContext. Parameters context a GdkGLContext error return location for a GError Returns TRUE if the context is realized gdk_gl_context_make_current () gdk_gl_context_make_current void gdk_gl_context_make_current (GdkGLContext *context); Makes the context the current one. Parameters context a GdkGLContext gdk_gl_context_get_current () gdk_gl_context_get_current GdkGLContext * gdk_gl_context_get_current (void); Retrieves the current GdkGLContext. Returns the current GdkGLContext, or NULL. [nullable][transfer none] gdk_gl_context_clear_current () gdk_gl_context_clear_current void gdk_gl_context_clear_current (void); Clears the current GdkGLContext. Any OpenGL call after this function returns will be ignored until gdk_gl_context_make_current() is called. Types and Values GdkGLContext GdkGLContext typedef struct _GdkGLContext GdkGLContext; The GdkGLContext struct contains only private fields and should not be accessed directly. enum GdkGLError GdkGLError Error enumeration for GdkGLContext. Members GDK_GL_ERROR_NOT_AVAILABLE OpenGL support is not available GDK_GL_ERROR_UNSUPPORTED_FORMAT The requested visual format is not supported GDK_GL_ERROR_UNSUPPORTED_PROFILE The requested profile is not supported GDK_GL_ERROR_COMPILATION_FAILED The shader compilation failed GDK_GL_ERROR_LINK_FAILED The shader linking failed Property Details The <literal>“shared-context”</literal> property GdkGLContext:shared-context “shared-context” GdkGLContext * The GdkGLContext that this context is sharing data with, or NULL Flags: Read / Write / Construct Only docs/reference/gdk/xml/gdkpaintable.xml0000664000175000017500000011121213464200075020307 0ustar mclasenmclasen ]> GdkPaintable 3 GDK4 Library GdkPaintable An interface for a paintable region Functions GdkPaintable * gdk_paintable_get_current_image () void gdk_paintable_snapshot () GdkPaintableFlags gdk_paintable_get_flags () int gdk_paintable_get_intrinsic_width () int gdk_paintable_get_intrinsic_height () double gdk_paintable_get_intrinsic_aspect_ratio () void gdk_paintable_compute_concrete_size () void gdk_paintable_invalidate_contents () void gdk_paintable_invalidate_size () GdkPaintable * gdk_paintable_new_empty () Signals voidinvalidate-contentsRun Last voidinvalidate-sizeRun Last Types and Values GdkPaintable enumGdkPaintableFlags Object Hierarchy GInterface ╰── GdkPaintable Prerequisites GdkPaintable requires GObject. Known Implementations GdkPaintable is implemented by GdkTexture. Includes#include <gdk/gdk.h> Description GdkPaintable is a simple interface used by GDK and GDK to represent objects that can be painted anywhere at any size without requiring any sort of layout. The interface is inspired by similar concepts elsewhere, such as ClutterContent, HTML/CSS Paint Sources, or SVG Paint Servers. A GdkPaintable can be snapshot at any time and size using gdk_paintable_snapshot(). How the paintable interprets that size and if it scales or centers itself into the given rectangle is implementation defined, though if you are implementing a GdkPaintable and don't know what to do, it is suggested that you scale your paintable ignoring any potential aspect ratio. The contents that a GdkPaintable produces may depend on the GdkSnapshot passed to it. For example, paintables may decide to use more detailed images on higher resolution screens or when OpenGL is available. A GdkPaintable will however always produce the same output for the same snapshot. A GdkPaintable may change its contents, meaning that it will now produce a different output with the same snpashot. Once that happens, it will call gdk_paintable_invalidate_contents() which will emit the “invalidate-contents” signal. If a paintable is known to never change its contents, it will set the GDK_PAINTABLE_STATIC_CONTENT flag. If a consumer cannot deal with changing contents, it may call gdk_paintable_get_static_image() which will return a static paintable and use that. A paintable can report an intrinsic (or preferred) size or aspect ratio it wishes to be rendered at, though it doesn't have to. Consumers of the interface can use this information to layout thepaintable appropriately. Just like the contents, the size of a paintable can change. A paintable will indicate this by calling gdk_paintable_invalidate_size() which will emit the “invalidate-size” signal. And just like for contents, if a paintable is known to never change its size, it will set the GDK_PAINTABLE_STATIC_SIZE flag. Besides API for applications, there are some functions that are only useful for implementing subclasses and should not be used by applications: gdk_paintable_invalidate_contents(), gdk_paintable_invalidate_size(), gdk_paintable_new_empty(). Functions gdk_paintable_get_current_image () gdk_paintable_get_current_image GdkPaintable * gdk_paintable_get_current_image (GdkPaintable *paintable); Gets an immutable paintable for the current contents displayed by paintable . This is useful when you want to retain the current state of an animation, for example to take a screenshot of a running animation. If the paintable is already immutable, it will return itself. Parameters paintable a GdkPaintable Returns An immutable paintable for the current contents of paintable . [transfer full] gdk_paintable_snapshot () gdk_paintable_snapshot void gdk_paintable_snapshot (GdkPaintable *paintable, GdkSnapshot *snapshot, double width, double height); Snapshots the given paintable with the given width and height at the current (0,0) offset of the snapshot . If width and height are not larger than zero, this function will do nothing. Parameters paintable a GdkPaintable snapshot a GdkSnapshot to snapshot to width width to snapshot in height height to snapshot in gdk_paintable_get_flags () gdk_paintable_get_flags GdkPaintableFlags gdk_paintable_get_flags (GdkPaintable *paintable); Get flags for the paintable. This is oftentimes useful for optimizations. See GdkPaintableFlags for the flags and what they mean. Parameters paintable a GdkPaintable Returns The GdkPaintableFlags for this paintable. gdk_paintable_get_intrinsic_width () gdk_paintable_get_intrinsic_width int gdk_paintable_get_intrinsic_width (GdkPaintable *paintable); Gets the preferred width the paintable would like to be displayed at. Consumers of this interface can use this to reserve enough space to draw the paintable. This is a purely informational value and does not in any way limit the values that may be passed to gdk_paintable_snapshot(). If the paintable does not have a preferred width, it returns 0. Negative values are never returned. Parameters paintable a GdkPaintable Returns the intrinsic width of paintable or 0 if none. gdk_paintable_get_intrinsic_height () gdk_paintable_get_intrinsic_height int gdk_paintable_get_intrinsic_height (GdkPaintable *paintable); Gets the preferred height the paintable would like to be displayed at. Consumers of this interface can use this to reserve enough space to draw the paintable. This is a purely informational value and does not in any way limit the values that may be passed to gdk_paintable_snapshot(). If the paintable does not have a preferred height, it returns 0. Negative values are never returned. Parameters paintable a GdkPaintable Returns the intrinsic height of paintable or 0 if none. gdk_paintable_get_intrinsic_aspect_ratio () gdk_paintable_get_intrinsic_aspect_ratio double gdk_paintable_get_intrinsic_aspect_ratio (GdkPaintable *paintable); Gets the preferred aspect ratio the paintable would like to be displayed at. The aspect ration is the width divided by the height, so a value of 0.5 means that the paintable prefers to be displayed twice as high as it is wide. Consumers of this interface can use this to preserve aspect ratio when displaying this paintable. This is a purely informational value and does not in any way limit the values that may be passed to gdk_paintable_snapshot(). Usually when a paintable returns non-0 values from gdk_paintable_get_intrinsic_width() and gdk_paintable_get_intrinsic_height() the aspect ratio should conform to those values, though that is not required. If the paintable does not have a preferred aspect ratio, it returns 0.0. Negative values are never returned. Parameters paintable a GdkPaintable Returns the intrinsic aspect ratio of paintable or 0.0 if none. gdk_paintable_compute_concrete_size () gdk_paintable_compute_concrete_size void gdk_paintable_compute_concrete_size (GdkPaintable *paintable, double specified_width, double specified_height, double default_width, double default_height, double *concrete_width, double *concrete_height); Applies the sizing algorithm outlined in https://drafts.csswg.org/css-images-3/default-sizing to the given paintable . See that link for more details. It is not necessary to call this function when both specified_width and specified_height are known, but it is useful to call this function in GtkWidget:measure implementations to compute the other dimension when only one dimension is given. Parameters paintable a GdkPaintable specified_width the width paintable could be drawn into or 0.0 if unknown specified_height the height paintable could be drawn into or 0.0 if unknown default_width the width paintable would be drawn into if no other constraints were given default_height the height paintable would be drawn into if no other constraints were given concrete_width will be set to the concrete width computed. [out] concrete_height will be set to the concrete height computed. [out] gdk_paintable_invalidate_contents () gdk_paintable_invalidate_contents void gdk_paintable_invalidate_contents (GdkPaintable *paintable); Called by implementations of GdkPaintable to invalidate their contents. Unless the contents are invalidated, implementations must guarantee that multiple calls to GdkPaintable::snapshot produce the same output. This function will emit the GdkPaintable::invalidate-contents signal. If a paintable reports the GDK_PAINTABLE_STATIC_CONTENTS flag, it must not call this function. Parameters paintable a GdkPaintable gdk_paintable_invalidate_size () gdk_paintable_invalidate_size void gdk_paintable_invalidate_size (GdkPaintable *paintable); Called by implementations of GdkPaintable to invalidate their size. As long as the size is not invalidated, paintable must return the same values for its width, height and intrinsic height. This function will emit the GdkPaintable::invalidate-size signal. If a paintable reports the GDK_PAINTABLE_STATIC_SIZE flag, it must not call this function. Parameters paintable a GdkPaintable gdk_paintable_new_empty () gdk_paintable_new_empty GdkPaintable * gdk_paintable_new_empty (int intrinsic_width, int intrinsic_height); Returns a paintable that has the given intrinsic size and draws nothing. This is often useful for implementing the GdkPaintableClass:get_current_image() virtual function when the paintable is in an incomplete state (like a GtkMediaStream before receiving the first frame). Parameters intrinsic_width The intrinsic width to report. Can be 0 for no width. intrinsic_height The intrinsic height to report. Can be 0 for no height. Returns a GdkPaintable. [transfer full] Types and Values GdkPaintable GdkPaintable typedef struct _GdkPaintable GdkPaintable; enum GdkPaintableFlags GdkPaintableFlags Flags about this object. Implementations use these for optimizations such as caching. Members GDK_PAINTABLE_STATIC_SIZE The size is immutable. The GdkPaintable::invalidate-size signal will never be emitted. GDK_PAINTABLE_STATIC_CONTENTS The content is immutable. The GdkPaintable::invalidate-content signal will never be emitted. Signal Details The <literal>“invalidate-contents”</literal> signal GdkPaintable::invalidate-contents void user_function (GdkPaintable *paintable, gpointer user_data) Emitted when the contents of the paintable change. Examples for such an event would be videos changing to the next frame or the icon theme for an icon changing. Parameters paintable a GdkPaintable user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“invalidate-size”</literal> signal GdkPaintable::invalidate-size void user_function (GdkPaintable *paintable, gpointer user_data) Emitted when the intrinsic size of the paintable changes. This means the values reported by at least one of gdk_paintable_get_intrinsic_width(), gdk_paintable_get_intrinsic_height() or gdk_paintable_get_intrinsic_aspect_ratio() has changed. Examples for such an event would be a paintable displaying the contents of a toplevel surface being resized. Parameters paintable a GdkPaintable user_data user data set when the signal handler was connected. Flags: Run Last See Also ClutterContent, GtkImage, GdkTexture, GtkSnapshot docs/reference/gdk/xml/gdkdisplay.xml0000664000175000017500000023270513464200075020030 0ustar mclasenmclasen ]> GdkDisplay 3 GDK4 Library GdkDisplay Controls a set of monitors and their associated input devices Functions GdkDisplay * gdk_display_open () GdkDisplay * gdk_display_get_default () const gchar * gdk_display_get_name () gboolean gdk_display_device_is_grabbed () void gdk_display_beep () void gdk_display_sync () void gdk_display_flush () void gdk_display_close () gboolean gdk_display_is_closed () GdkEvent * gdk_display_get_event () GdkEvent * gdk_display_peek_event () void gdk_display_put_event () gboolean gdk_display_has_pending () gboolean gdk_display_is_rgba () gboolean gdk_display_is_composited () GdkSurface * gdk_display_get_default_group () gboolean gdk_display_supports_shapes () gboolean gdk_display_supports_input_shapes () GdkAppLaunchContext * gdk_display_get_app_launch_context () void gdk_display_notify_startup_complete () GdkSeat * gdk_display_get_default_seat () GList * gdk_display_list_seats () int gdk_display_get_n_monitors () GdkMonitor * gdk_display_get_monitor () GdkMonitor * gdk_display_get_primary_monitor () GdkMonitor * gdk_display_get_monitor_at_point () GdkMonitor * gdk_display_get_monitor_at_surface () GdkClipboard * gdk_display_get_clipboard () GdkClipboard * gdk_display_get_primary_clipboard () gboolean gdk_display_get_setting () GdkKeymap * gdk_display_get_keymap () Properties gbooleancompositedRead gbooleanrgbaRead Signals voidclosedRun Last voidmonitor-addedRun Last voidmonitor-removedRun Last voidopenedRun Last voidseat-addedRun Last voidseat-removedRun Last voidsetting-changedRun Last Types and Values GdkDisplay Object Hierarchy GObject ╰── GdkDisplay Includes#include <gdk/gdk.h> Description GdkDisplay objects are the GDK representation of a workstation. Their purpose are two-fold: To manage and provide information about input devices (pointers, keyboards, etc) To manage and provide information about output devices (monitors, projectors, etc) Most of the input device handling has been factored out into separate GdkSeat objects. Every display has a one or more seats, which can be accessed with gdk_display_get_default_seat() and gdk_display_list_seats(). Output devices are represented by GdkMonitor objects, which can be accessed with gdk_display_get_monitor() and similar APIs. Functions gdk_display_open () gdk_display_open GdkDisplay * gdk_display_open (const gchar *display_name); Opens a display. Parameters display_name the name of the display to open Returns a GdkDisplay, or NULL if the display could not be opened. [nullable][transfer none] gdk_display_get_default () gdk_display_get_default GdkDisplay * gdk_display_get_default (void); Gets the default GdkDisplay. This is a convenience function for: gdk_display_manager_get_default_display (gdk_display_manager_get()). Returns a GdkDisplay, or NULL if there is no default display. [nullable][transfer none] gdk_display_get_name () gdk_display_get_name const gchar * gdk_display_get_name (GdkDisplay *display); Gets the name of the display. Parameters display a GdkDisplay Returns a string representing the display name. This string is owned by GDK and should not be modified or freed. gdk_display_device_is_grabbed () gdk_display_device_is_grabbed gboolean gdk_display_device_is_grabbed (GdkDisplay *display, GdkDevice *device); Returns TRUE if there is an ongoing grab on device for display . Parameters display a GdkDisplay device a GdkDevice Returns TRUE if there is a grab in effect for device . gdk_display_beep () gdk_display_beep void gdk_display_beep (GdkDisplay *display); Emits a short beep on display Parameters display a GdkDisplay gdk_display_sync () gdk_display_sync void gdk_display_sync (GdkDisplay *display); Flushes any requests queued for the windowing system and waits until all requests have been handled. This is often used for making sure that the display is synchronized with the current state of the program. Calling gdk_display_sync() before gdk_error_trap_pop() makes sure that any errors generated from earlier requests are handled before the error trap is removed. This is most useful for X11. On windowing systems where requests are handled synchronously, this function will do nothing. Parameters display a GdkDisplay gdk_display_flush () gdk_display_flush void gdk_display_flush (GdkDisplay *display); Flushes any requests queued for the windowing system; this happens automatically when the main loop blocks waiting for new events, but if your application is drawing without returning control to the main loop, you may need to call this function explicitly. A common case where this function needs to be called is when an application is executing drawing commands from a thread other than the thread where the main loop is running. This is most useful for X11. On windowing systems where requests are handled synchronously, this function will do nothing. Parameters display a GdkDisplay gdk_display_close () gdk_display_close void gdk_display_close (GdkDisplay *display); Closes the connection to the windowing system for the given display, and cleans up associated resources. Parameters display a GdkDisplay gdk_display_is_closed () gdk_display_is_closed gboolean gdk_display_is_closed (GdkDisplay *display); Finds out if the display has been closed. Parameters display a GdkDisplay Returns TRUE if the display is closed. gdk_display_get_event () gdk_display_get_event GdkEvent * gdk_display_get_event (GdkDisplay *display); Gets the next GdkEvent to be processed for display , fetching events from the windowing system if necessary. Parameters display a GdkDisplay Returns the next GdkEvent to be processed, or NULL if no events are pending. [nullable][transfer full] gdk_display_peek_event () gdk_display_peek_event GdkEvent * gdk_display_peek_event (GdkDisplay *display); Gets a copy of the first GdkEvent in the display ’s event queue, without removing the event from the queue. (Note that this function will not get more events from the windowing system. It only checks the events that have already been moved to the GDK event queue.) Parameters display a GdkDisplay Returns the first GdkEvent on the event queue. [nullable][transfer full] gdk_display_put_event () gdk_display_put_event void gdk_display_put_event (GdkDisplay *display, const GdkEvent *event); Appends a copy of the given event onto the front of the event queue for display . Parameters display a GdkDisplay event a GdkEvent. gdk_display_has_pending () gdk_display_has_pending gboolean gdk_display_has_pending (GdkDisplay *display); Returns whether the display has events that are waiting to be processed. Parameters display a GdkDisplay Returns TRUE if there are events ready to be processed. gdk_display_is_rgba () gdk_display_is_rgba gboolean gdk_display_is_rgba (GdkDisplay *display); Returns wether surfaces on this display are created with an alpha channel. Even if a TRUE is returned, it is possible that the surface’s alpha channel won’t be honored when displaying the surface on the screen: in particular, for X an appropriate windowing manager and compositing manager must be running to provide appropriate display. Use gdk_display_is_composited() to check if that is the case. For setting an overall opacity for a top-level surface, see gdk_surface_set_opacity(). On modern displays, this value is always TRUE. Parameters display a GdkDisplay Returns TRUE if surfaces are created with an alpha channel or FALSE if the display does not support this functionality. gdk_display_is_composited () gdk_display_is_composited gboolean gdk_display_is_composited (GdkDisplay *display); Returns whether surfaces can reasonably be expected to have their alpha channel drawn correctly on the screen. Check gdk_display_is_rgba() for wether the display supports an alpha channel. On X11 this function returns whether a compositing manager is compositing on display . On modern displays, this value is always TRUE. Parameters display a GdkDisplay Returns Whether surfaces with RGBA visuals can reasonably be expected to have their alpha channels drawn correctly on the screen. gdk_display_get_default_group () gdk_display_get_default_group GdkSurface * gdk_display_get_default_group (GdkDisplay *display); Returns the default group leader surface for all toplevel surfaces on display . This surface is implicitly created by GDK. See gdk_surface_set_group(). Parameters display a GdkDisplay Returns The default group leader surface for display . [transfer none] gdk_display_supports_shapes () gdk_display_supports_shapes gboolean gdk_display_supports_shapes (GdkDisplay *display); Returns TRUE if gdk_surface_shape_combine_mask() can be used to create shaped windows on display . Parameters display a GdkDisplay Returns TRUE if shaped windows are supported gdk_display_supports_input_shapes () gdk_display_supports_input_shapes gboolean gdk_display_supports_input_shapes (GdkDisplay *display); Returns TRUE if gdk_surface_input_shape_combine_mask() can be used to modify the input shape of surfaces on display . Parameters display a GdkDisplay Returns TRUE if surfaces with modified input shape are supported gdk_display_get_app_launch_context () gdk_display_get_app_launch_context GdkAppLaunchContext * gdk_display_get_app_launch_context (GdkDisplay *display); Returns a GdkAppLaunchContext suitable for launching applications on the given display. Parameters display a GdkDisplay Returns a new GdkAppLaunchContext for display . Free with g_object_unref() when done. [transfer full] gdk_display_notify_startup_complete () gdk_display_notify_startup_complete void gdk_display_notify_startup_complete (GdkDisplay *display, const gchar *startup_id); Indicates to the GUI environment that the application has finished loading, using a given identifier. GTK+ will call this function automatically for GtkWindow with custom startup-notification identifier unless gtk_window_set_auto_startup_notification() is called to disable that feature. Parameters display a GdkDisplay startup_id a startup-notification identifier, for which notification process should be completed gdk_display_get_default_seat () gdk_display_get_default_seat GdkSeat * gdk_display_get_default_seat (GdkDisplay *display); Returns the default GdkSeat for this display. Parameters display a GdkDisplay Returns the default seat. [transfer none] gdk_display_list_seats () gdk_display_list_seats GList * gdk_display_list_seats (GdkDisplay *display); Returns the list of seats known to display . Parameters display a GdkDisplay Returns the list of seats known to the GdkDisplay. [transfer container][element-type GdkSeat] gdk_display_get_n_monitors () gdk_display_get_n_monitors int gdk_display_get_n_monitors (GdkDisplay *display); Gets the number of monitors that belong to display . The returned number is valid until the next emission of the “monitor-added” or “monitor-removed” signal. Parameters display a GdkDisplay Returns the number of monitors gdk_display_get_monitor () gdk_display_get_monitor GdkMonitor * gdk_display_get_monitor (GdkDisplay *display, int monitor_num); Gets a monitor associated with this display. Parameters display a GdkDisplay monitor_num number of the monitor Returns the GdkMonitor, or NULL if monitor_num is not a valid monitor number. [nullable][transfer none] gdk_display_get_primary_monitor () gdk_display_get_primary_monitor GdkMonitor * gdk_display_get_primary_monitor (GdkDisplay *display); Gets the primary monitor for the display. The primary monitor is considered the monitor where the “main desktop” lives. While normal application surfaces typically allow the window manager to place the surfaces, specialized desktop applications such as panels should place themselves on the primary monitor. If no monitor is the designated primary monitor, any monitor (usually the first) may be returned. To make sure there is a dedicated primary monitor, use gdk_monitor_is_primary() on the returned monitor. Parameters display a GdkDisplay Returns the primary monitor, or any monitor if no primary monitor is configured by the user. [transfer none] gdk_display_get_monitor_at_point () gdk_display_get_monitor_at_point GdkMonitor * gdk_display_get_monitor_at_point (GdkDisplay *display, int x, int y); Gets the monitor in which the point (x , y ) is located, or a nearby monitor if the point is not in any monitor. Parameters display a GdkDisplay x the x coordinate of the point y the y coordinate of the point Returns the monitor containing the point. [transfer none] gdk_display_get_monitor_at_surface () gdk_display_get_monitor_at_surface GdkMonitor * gdk_display_get_monitor_at_surface (GdkDisplay *display, GdkSurface *surface); Gets the monitor in which the largest area of surface resides, or a monitor close to surface if it is outside of all monitors. Parameters display a GdkDisplay surface a GdkSurface Returns the monitor with the largest overlap with surface . [transfer none] gdk_display_get_clipboard () gdk_display_get_clipboard GdkClipboard * gdk_display_get_clipboard (GdkDisplay *display); Gets the clipboard used for copy/paste operations. Parameters display a GdkDisplay Returns the display's clipboard. [transfer none] gdk_display_get_primary_clipboard () gdk_display_get_primary_clipboard GdkClipboard * gdk_display_get_primary_clipboard (GdkDisplay *display); Gets the clipboard used for the primary selection. On backends where the primary clipboard is not supported natively, GDK emulates this clipboard locally. Parameters display a GdkDisplay Returns the primary clipboard. [transfer none] gdk_display_get_setting () gdk_display_get_setting gboolean gdk_display_get_setting (GdkDisplay *display, const char *name, GValue *value); Retrieves a desktop-wide setting such as double-click time for the display . Parameters display a GdkDisplay name the name of the setting value location to store the value of the setting Returns TRUE if the setting existed and a value was stored in value , FALSE otherwise gdk_display_get_keymap () gdk_display_get_keymap GdkKeymap * gdk_display_get_keymap (GdkDisplay *display); Returns the GdkKeymap attached to display . Parameters display the GdkDisplay Returns the GdkKeymap attached to display . [transfer none] Types and Values GdkDisplay GdkDisplay typedef struct _GdkDisplay GdkDisplay; The GdkDisplay struct contains only private fields and should not be accessed directly. Property Details The <literal>“composited”</literal> property GdkDisplay:composited “composited” gboolean TRUE if the display properly composits the alpha channel. See gdk_display_is_composited() for details. Flags: Read Default value: TRUE The <literal>“rgba”</literal> property GdkDisplay:rgba “rgba” gboolean TRUE if the display supports an alpha channel. See gdk_display_is_rgba() for details. Flags: Read Default value: TRUE Signal Details The <literal>“closed”</literal> signal GdkDisplay::closed void user_function (GdkDisplay *display, gboolean is_error, gpointer user_data) The ::closed signal is emitted when the connection to the windowing system for display is closed. Parameters display the object on which the signal is emitted is_error TRUE if the display was closed due to an error user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“monitor-added”</literal> signal GdkDisplay::monitor-added void user_function (GdkDisplay *display, GdkMonitor *monitor, gpointer user_data) The ::monitor-added signal is emitted whenever a monitor is added. Parameters display the objedct on which the signal is emitted monitor the monitor that was just added user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“monitor-removed”</literal> signal GdkDisplay::monitor-removed void user_function (GdkDisplay *display, GdkMonitor *monitor, gpointer user_data) The ::monitor-removed signal is emitted whenever a monitor is removed. Parameters display the object on which the signal is emitted monitor the monitor that was just removed user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“opened”</literal> signal GdkDisplay::opened void user_function (GdkDisplay *display, gpointer user_data) The ::opened signal is emitted when the connection to the windowing system for display is opened. Parameters display the object on which the signal is emitted user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“seat-added”</literal> signal GdkDisplay::seat-added void user_function (GdkDisplay *display, GdkSeat *seat, gpointer user_data) The ::seat-added signal is emitted whenever a new seat is made known to the windowing system. Parameters display the object on which the signal is emitted seat the seat that was just added user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“seat-removed”</literal> signal GdkDisplay::seat-removed void user_function (GdkDisplay *display, GdkSeat *seat, gpointer user_data) The ::seat-removed signal is emitted whenever a seat is removed by the windowing system. Parameters display the object on which the signal is emitted seat the seat that was just removed user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“setting-changed”</literal> signal GdkDisplay::setting-changed void user_function (GdkDisplay *display, gchar *setting, gpointer user_data) The ::setting-changed signal is emitted whenever a setting changes its value. Parameters display the object on which the signal is emitted setting the name of the setting that changed user_data user data set when the signal handler was connected. Flags: Run Last docs/reference/gdk/xml/pixbufs.xml0000664000175000017500000001216313464200075017347 0ustar mclasenmclasen ]> GdkPixbuf Interaction 3 GDK4 Library GdkPixbuf Interaction Functions for obtaining pixbufs Functions GdkPixbuf * gdk_pixbuf_get_from_surface () Includes#include <gdk/gdk.h> Description Pixbufs are client-side images. For details on how to create and manipulate pixbufs, see the GdkPixbuf API documentation. The functions described here allow to obtain pixbufs from GdkSurfaces and cairo surfaces. Functions gdk_pixbuf_get_from_surface () gdk_pixbuf_get_from_surface GdkPixbuf * gdk_pixbuf_get_from_surface (cairo_surface_t *surface, gint src_x, gint src_y, gint width, gint height); Transfers image data from a cairo_surface_t and converts it to an RGB(A) representation inside a GdkPixbuf. This allows you to efficiently read individual pixels from cairo surfaces. This function will create an RGB pixbuf with 8 bits per channel. The pixbuf will contain an alpha channel if the surface contains one. Parameters surface surface to copy from src_x Source X coordinate within surface src_y Source Y coordinate within surface width Width in pixels of region to get height Height in pixels of region to get Returns A newly-created pixbuf with a reference count of 1, or NULL on error. [nullable][transfer full] Types and Values docs/reference/gdk/xml/gdkapplaunchcontext.xml0000664000175000017500000003353313464200076021742 0ustar mclasenmclasen ]> Application launching 3 GDK4 Library Application launching Startup notification for applications Functions void gdk_app_launch_context_set_desktop () void gdk_app_launch_context_set_timestamp () void gdk_app_launch_context_set_icon () void gdk_app_launch_context_set_icon_name () Properties GdkDisplay *displayRead / Write / Construct Only Types and Values GdkAppLaunchContext Object Hierarchy GObject ╰── GAppLaunchContext ╰── GdkAppLaunchContext Includes#include <gdk/gdkwayland.h> Description GdkAppLaunchContext is an implementation of GAppLaunchContext that handles launching an application in a graphical context. It provides startup notification and allows to launch applications on a specific screen or workspace. Launching an applicationtime); if (!g_app_info_launch_default_for_uri ("http://www.gtk.org", context, &error)) g_warning ("Launching failed: %s\n", error->message); g_object_unref (context); ]]> Functions gdk_app_launch_context_set_desktop () gdk_app_launch_context_set_desktop void gdk_app_launch_context_set_desktop (GdkAppLaunchContext *context, gint desktop); Sets the workspace on which applications will be launched when using this context when running under a window manager that supports multiple workspaces, as described in the Extended Window Manager Hints. When the workspace is not specified or desktop is set to -1, it is up to the window manager to pick one, typically it will be the current workspace. Parameters context a GdkAppLaunchContext desktop the number of a workspace, or -1 gdk_app_launch_context_set_timestamp () gdk_app_launch_context_set_timestamp void gdk_app_launch_context_set_timestamp (GdkAppLaunchContext *context, guint32 timestamp); Sets the timestamp of context . The timestamp should ideally be taken from the event that triggered the launch. Window managers can use this information to avoid moving the focus to the newly launched application when the user is busy typing in another window. This is also known as 'focus stealing prevention'. Parameters context a GdkAppLaunchContext timestamp a timestamp gdk_app_launch_context_set_icon () gdk_app_launch_context_set_icon void gdk_app_launch_context_set_icon (GdkAppLaunchContext *context, GIcon *icon); Sets the icon for applications that are launched with this context. Window Managers can use this information when displaying startup notification. See also gdk_app_launch_context_set_icon_name(). Parameters context a GdkAppLaunchContext icon a GIcon, or NULL. [allow-none] gdk_app_launch_context_set_icon_name () gdk_app_launch_context_set_icon_name void gdk_app_launch_context_set_icon_name (GdkAppLaunchContext *context, const char *icon_name); Sets the icon for applications that are launched with this context. The icon_name will be interpreted in the same way as the Icon field in desktop files. See also gdk_app_launch_context_set_icon(). If both icon and icon_name are set, the icon_name takes priority. If neither icon or icon_name is set, the icon is taken from either the file that is passed to launched application or from the GAppInfo for the launched application itself. Parameters context a GdkAppLaunchContext icon_name an icon name, or NULL. [allow-none] Types and Values GdkAppLaunchContext GdkAppLaunchContext typedef struct _GdkAppLaunchContext GdkAppLaunchContext; The GdkAppLaunchContext struct contains only private fields and should not be accessed directly. Property Details The <literal>“display”</literal> property GdkAppLaunchContext:display “display” GdkDisplay * Display.Flags: Read / Write / Construct Only docs/reference/gdk/xml/annotation-glossary.xml0000664000175000017500000001263613464200076021710 0ustar mclasenmclasen ]> Annotation Glossary A allow-none NULL is OK, both for passing and for returning. array Parameter points to an array of items. C closure This parameter is a 'user_data', for callbacks; many bindings can pass NULL here. constructor This symbol is a constructor, not a static method. E element-type Generics and defining elements of containers and arrays. I inout Parameter for input and for returning results. Default is transfer full. N not nullable NULL must not be passed as the value in, out, in-out; or as a return value. nullable NULL may be passed as the value in, out, in-out; or as a return value. O optional NULL may be passed instead of a pointer to a location. out Parameter for returning results. Default is transfer full. out caller-allocates Out parameter, where caller must allocate storage. P Private An interface that can be used within the GNOME stack itself, but that is not documented for end-users. Such functions should only be used in specified and documented ways. R rename-to Rename the original symbol's name to SYMBOL. S scope async The callback is valid until first called. scope call The callback is valid only during the call to the method. skip Exposed in C code, not necessarily available in other languages. T transfer container Free data container after the code is done. transfer full Free data after the code is done. transfer none Don't free data after the code is done. type Override the parsed C type with given type. docs/reference/gdk/xml/tree_index.sgml0000664000175000017500000000663213464200074020162 0ustar mclasenmclasen ]> GObject ├── GAppLaunchContext ╰── GdkAppLaunchContext ├── GdkClipboard ├── GdkContentDeserializer ├── GdkContentProvider ├── GdkContentSerializer ├── GdkCursor ├── GdkDevice ├── GdkDisplay ├── GdkDisplayManager ├── GdkDrag ├── GdkDrop ├── GdkEvent ├── GdkFrameClock ├── GdkDrawContext ├── GdkGLContext ╰── GdkVulkanContext ├── GdkTexture ├── GdkKeymap ├── GdkMonitor ├── GdkSeat ╰── GdkSurface GInterface ├── GdkDevicePad ╰── GdkPaintable GBoxed ├── GdkContentFormats ├── GdkRGBA ╰── GdkRectangle docs/reference/gdk/xml/gdkcontentformats.xml0000664000175000017500000016735013464200075021434 0ustar mclasenmclasen ]> Content Formats 3 GDK4 Library Content Formats Advertising and negotiating of content exchange formats Functions const char * gdk_intern_mime_type () GdkContentFormats * gdk_content_formats_new () GdkContentFormats * gdk_content_formats_new_for_gtype () GdkContentFormats * gdk_content_formats_ref () void gdk_content_formats_unref () void gdk_content_formats_print () char * gdk_content_formats_to_string () const GType * gdk_content_formats_get_gtypes () const char * const * gdk_content_formats_get_mime_types () GdkContentFormats * gdk_content_formats_union () gboolean gdk_content_formats_match () GType gdk_content_formats_match_gtype () const char * gdk_content_formats_match_mime_type () gboolean gdk_content_formats_contain_gtype () gboolean gdk_content_formats_contain_mime_type () GdkContentFormats * gdk_content_formats_union_serialize_gtypes () GdkContentFormats * gdk_content_formats_union_deserialize_gtypes () GdkContentFormats * gdk_content_formats_union_serialize_mime_types () GdkContentFormats * gdk_content_formats_union_deserialize_mime_types () GdkContentFormatsBuilder * gdk_content_formats_builder_new () GdkContentFormats * gdk_content_formats_builder_free_to_formats () void gdk_content_formats_builder_add_formats () void gdk_content_formats_builder_add_gtype () void gdk_content_formats_builder_add_mime_type () GdkContentFormatsBuilder * gdk_content_formats_builder_ref () void gdk_content_formats_builder_unref () GdkContentFormats * gdk_content_formats_builder_to_formats () Types and Values GdkContentFormats GdkContentFormatsBuilder Object Hierarchy GBoxed ╰── GdkContentFormats Includes#include <gdk/gdk.h> Description This section describes the GdkContentFormats structure that is used to advertise and negotiate the format of content passed between different widgets, windows or applications using for example the clipboard or drag'n'drop. GDK supports content in 2 forms: GType and mime type. Using GTypes is meant only for in-process content transfers. Mime types are meant to be used for data passing both in-process and out-of-process. The details of how data is passed is described in the documentation of the actual implementations. A GdkContentFormats describes a set of possible formats content can be exchanged in. It is assumed that this set is ordered. GTypes are more important than mime types. Order between different Gtypes or mime types is the order they were added in, most important first. Functions that care about order, such as gdk_content_formats_union() will describe in their documentation how they interpret that order, though in general the order of the first argument is considered the primary order of the result, followed by the order of further arguments. For debugging purposes, the function gdk_content_formats_to_string() exists. It will print a comma-seperated formats of formats from most important to least important. GdkContentFormats is an immutable struct. After creation, you cannot change the types it represents. Instead, new GdkContentFormats have to be created. The GdkContentFormatsBuilder structure is meant to help in this endeavor. Functions gdk_intern_mime_type () gdk_intern_mime_type const char * gdk_intern_mime_type (const char *string); Canonicalizes the given mime type and interns the result. If string is not a valid mime type, NULL is returned instead. See RFC 2048 for the syntax if mime types. Parameters string string of a potential mime type. [transfer none] Returns An interned string for the canonicalized mime type or NULL if the string wasn't a valid mime type gdk_content_formats_new () gdk_content_formats_new GdkContentFormats * gdk_content_formats_new (const char **mime_types, guint n_mime_types); Creates a new GdkContentFormats from an array of mime types. The mime types must be valid and different from each other or the behavior of the return value is undefined. If you cannot guarantee this, use GdkContentFormatsBuilder instead. Parameters mime_types Pointer to an array of mime types. [array length=n_mime_types][allow-none] n_mime_types number of entries in mime_types . Returns the new GdkContentFormats. [transfer full] gdk_content_formats_new_for_gtype () gdk_content_formats_new_for_gtype GdkContentFormats * gdk_content_formats_new_for_gtype (GType type); Creates a new GdkContentFormats for a given GType. Parameters type a $GType Returns a new GdkContentFormats gdk_content_formats_ref () gdk_content_formats_ref GdkContentFormats * gdk_content_formats_ref (GdkContentFormats *formats); Increases the reference count of a GdkContentFormats by one. Parameters formats a GdkContentFormats Returns the passed in GdkContentFormats. gdk_content_formats_unref () gdk_content_formats_unref void gdk_content_formats_unref (GdkContentFormats *formats); Decreases the reference count of a GdkContentFormats by one. If the resulting reference count is zero, frees the formats. Parameters formats a GdkContentFormats gdk_content_formats_print () gdk_content_formats_print void gdk_content_formats_print (GdkContentFormats *formats, GString *string); Prints the given formats into a string for human consumption. This is meant for debugging and logging. The form of the representation may change at any time and is not guranteed to stay identical. Parameters formats a GdkContentFormats string a GString to print into gdk_content_formats_to_string () gdk_content_formats_to_string char * gdk_content_formats_to_string (GdkContentFormats *formats); Prints the given formats into a human-readable string. This is a small wrapper around gdk_content_formats_print() to help when debugging. Parameters formats a GdkContentFormats Returns a new string. [transfer full] gdk_content_formats_get_gtypes () gdk_content_formats_get_gtypes const GType * gdk_content_formats_get_gtypes (GdkContentFormats *formats, gsize *n_gtypes); Gets the GTypes included in formats . Note that formats may not contain any GTypes, in particular when they are empty. In that case NULL will be returned. Parameters formats a GdkContentFormats n_gtypes optional pointer to take the number of GTypes contained in the return value. [out][allow-none] Returns G_TYPE_INVALID-terminated array of types included in formats or NULL if none. [transfer none][nullable] gdk_content_formats_get_mime_types () gdk_content_formats_get_mime_types const char * const * gdk_content_formats_get_mime_types (GdkContentFormats *formats, gsize *n_mime_types); Gets the mime types included in formats . Note that formats may not contain any mime types, in particular when they are empty. In that case NULL will be returned. Parameters formats a GdkContentFormats n_mime_types optional pointer to take the number of mime types contained in the return value. [out][allow-none] Returns NULL-terminated array of interned strings of mime types included in formats or NULL if none. [transfer none][nullable] gdk_content_formats_union () gdk_content_formats_union GdkContentFormats * gdk_content_formats_union (GdkContentFormats *first, const GdkContentFormats *second); Append all missing types from second to first , in the order they had in second . Parameters first the GdkContentFormats to merge into. [transfer full] second the GdkContentFormats to merge from. [transfer none] Returns a new GdkContentFormats gdk_content_formats_match () gdk_content_formats_match gboolean gdk_content_formats_match (const GdkContentFormats *first, const GdkContentFormats *second); Checks if first and second have any matching formats. Parameters first the primary GdkContentFormats to intersect second the GdkContentFormats to intersect with Returns TRUE if a matching format was found. gdk_content_formats_match_gtype () gdk_content_formats_match_gtype GType gdk_content_formats_match_gtype (const GdkContentFormats *first, const GdkContentFormats *second); Finds the first GType from first that is also contained in second . If no matching GType is found, G_TYPE_INVALID is returned. Parameters first the primary GdkContentFormats to intersect second the GdkContentFormats to intersect with Returns The first common GType or G_TYPE_INVALID if none. gdk_content_formats_match_mime_type () gdk_content_formats_match_mime_type const char * gdk_content_formats_match_mime_type (const GdkContentFormats *first, const GdkContentFormats *second); Finds the first mime type from first that is also contained in second . If no matching mime type is found, NULL is returned. Parameters first the primary GdkContentFormats to intersect second the GdkContentFormats to intersect with Returns The first common mime type or NULL if none. gdk_content_formats_contain_gtype () gdk_content_formats_contain_gtype gboolean gdk_content_formats_contain_gtype (const GdkContentFormats *formats, GType type); Checks if a given GType is part of the given formats . Parameters formats a GdkContentFormats type the GType to search for Returns TRUE if the GType was found gdk_content_formats_contain_mime_type () gdk_content_formats_contain_mime_type gboolean gdk_content_formats_contain_mime_type (const GdkContentFormats *formats, const char *mime_type); Checks if a given mime type is part of the given formats . Parameters formats a GdkContentFormats mime_type the mime type to search for Returns TRUE if the mime_type was found gdk_content_formats_union_serialize_gtypes () gdk_content_formats_union_serialize_gtypes GdkContentFormats * gdk_content_formats_union_serialize_gtypes (GdkContentFormats *formats); Add GTypes for the mime types in formats for which serializers are registered. Return: a new GdkContentFormats Parameters formats a GdkContentFormats gdk_content_formats_union_deserialize_gtypes () gdk_content_formats_union_deserialize_gtypes GdkContentFormats * gdk_content_formats_union_deserialize_gtypes (GdkContentFormats *formats); Add GTypes for mime types in formats for which deserializers are registered. Return: a new GdkContentFormats Parameters formats a GdkContentFormats gdk_content_formats_union_serialize_mime_types () gdk_content_formats_union_serialize_mime_types GdkContentFormats * gdk_content_formats_union_serialize_mime_types (GdkContentFormats *formats); Add mime types for GTypes in formats for which serializers are registered. Return: a new GdkContentFormats Parameters formats a GdkContentFormats gdk_content_formats_union_deserialize_mime_types () gdk_content_formats_union_deserialize_mime_types GdkContentFormats * gdk_content_formats_union_deserialize_mime_types (GdkContentFormats *formats); Add mime types for GTypes in formats for which deserializers are registered. Return: a new GdkContentFormats Parameters formats a GdkContentFormats gdk_content_formats_builder_new () gdk_content_formats_builder_new GdkContentFormatsBuilder * gdk_content_formats_builder_new (void); Create a new GdkContentFormatsBuilder object. The resulting builder would create an empty GdkContentFormats. Use addition functions to add types to it. Returns a new GdkContentFormatsBuilder gdk_content_formats_builder_free_to_formats () gdk_content_formats_builder_free_to_formats GdkContentFormats * gdk_content_formats_builder_free_to_formats (GdkContentFormatsBuilder *builder); Creates a new GdkContentFormats from the current state of the given builder , and frees the builder instance. [skip] Parameters builder a GdkContentFormatsBuilder Returns the newly created GdkContentFormats with all the formats added to builder . [transfer full] gdk_content_formats_builder_add_formats () gdk_content_formats_builder_add_formats void gdk_content_formats_builder_add_formats (GdkContentFormatsBuilder *builder, const GdkContentFormats *formats); Appends all formats from formats to builder , skipping those that already exist. Parameters builder a GdkContentFormatsBuilder formats the formats to add gdk_content_formats_builder_add_gtype () gdk_content_formats_builder_add_gtype void gdk_content_formats_builder_add_gtype (GdkContentFormatsBuilder *builder, GType type); Appends gtype to builder if it has not already been added. Parameters builder a GdkContentFormatsBuilder type a GType gdk_content_formats_builder_add_mime_type () gdk_content_formats_builder_add_mime_type void gdk_content_formats_builder_add_mime_type (GdkContentFormatsBuilder *builder, const char *mime_type); Appends mime_type to builder if it has not already been added. Parameters builder a GdkContentFormatsBuilder mime_type a mime type gdk_content_formats_builder_ref () gdk_content_formats_builder_ref GdkContentFormatsBuilder * gdk_content_formats_builder_ref (GdkContentFormatsBuilder *builder); Acquires a reference on the given builder . This function is intended primarily for bindings. GdkContentFormatsBuilder objects should not be kept around. Parameters builder a GdkContentFormatsBuilder Returns the given GdkContentFormatsBuilder with its reference count increased. [transfer none] gdk_content_formats_builder_unref () gdk_content_formats_builder_unref void gdk_content_formats_builder_unref (GdkContentFormatsBuilder *builder); Releases a reference on the given builder . Parameters builder a GdkContentFormatsBuilder gdk_content_formats_builder_to_formats () gdk_content_formats_builder_to_formats GdkContentFormats * gdk_content_formats_builder_to_formats (GdkContentFormatsBuilder *builder); Creates a new GdkContentFormats from the given builder . The given GdkContentFormatsBuilder is reset once this function returns; you cannot call this function multiple times on the same builder instance. This function is intended primarily for bindings. C code should use gdk_content_formats_builder_free_to_formats(). Parameters builder a GdkContentFormatsBuilder Returns the newly created GdkContentFormats with all the formats added to builder . [transfer full] Types and Values GdkContentFormats GdkContentFormats typedef struct _GdkContentFormats GdkContentFormats; A GdkContentFormats struct is a reference counted struct and should be treated as opaque. GdkContentFormatsBuilder GdkContentFormatsBuilder typedef struct _GdkContentFormatsBuilder GdkContentFormatsBuilder; A GdkContentFormatsBuilder struct is an opaque struct. It is meant to not be kept around and only be used to create new GdkContentFormats objects. See Also GdkDragContext, GdkClipboard, GdkContentProvider docs/reference/gdk/xml/gdkframeclock.xml0000664000175000017500000012422613464200076020470 0ustar mclasenmclasen ]> Frame clock 3 GDK4 Library Frame clock Frame clock syncs painting to a window or display Functions gint64 gdk_frame_clock_get_frame_time () void gdk_frame_clock_request_phase () void gdk_frame_clock_begin_updating () void gdk_frame_clock_end_updating () gint64 gdk_frame_clock_get_frame_counter () gint64 gdk_frame_clock_get_history_start () GdkFrameTimings * gdk_frame_clock_get_timings () GdkFrameTimings * gdk_frame_clock_get_current_timings () void gdk_frame_clock_get_refresh_info () Signals voidafter-paintRun Last voidbefore-paintRun Last voidflush-eventsRun Last voidlayoutRun Last voidpaintRun Last voidresume-eventsRun Last voidupdateRun Last Types and Values GdkFrameClock enumGdkFrameClockPhase Object Hierarchy GObject ╰── GdkFrameClock Includes#include <gdk/gdkwayland.h> Description A GdkFrameClock tells the application when to update and repaint a window. This may be synced to the vertical refresh rate of the monitor, for example. Even when the frame clock uses a simple timer rather than a hardware-based vertical sync, the frame clock helps because it ensures everything paints at the same time (reducing the total number of frames). The frame clock can also automatically stop painting when it knows the frames will not be visible, or scale back animation framerates. GdkFrameClock is designed to be compatible with an OpenGL-based implementation or with mozRequestAnimationFrame in Firefox, for example. A frame clock is idle until someone requests a frame with gdk_frame_clock_request_phase(). At some later point that makes sense for the synchronization being implemented, the clock will process a frame and emit signals for each phase that has been requested. (See the signals of the GdkFrameClock class for documentation of the phases. GDK_FRAME_CLOCK_PHASE_UPDATE and the “update” signal are most interesting for application writers, and are used to update the animations, using the frame time given by gdk_frame_clock_get_frame_time(). The frame time is reported in microseconds and generally in the same timescale as g_get_monotonic_time(), however, it is not the same as g_get_monotonic_time(). The frame time does not advance during the time a frame is being painted, and outside of a frame, an attempt is made so that all calls to gdk_frame_clock_get_frame_time() that are called at a “similar” time get the same value. This means that if different animations are timed by looking at the difference in time between an initial value from gdk_frame_clock_get_frame_time() and the value inside the “update” signal of the clock, they will stay exactly synchronized. Functions gdk_frame_clock_get_frame_time () gdk_frame_clock_get_frame_time gint64 gdk_frame_clock_get_frame_time (GdkFrameClock *frame_clock); Gets the time that should currently be used for animations. Inside the processing of a frame, it’s the time used to compute the animation position of everything in a frame. Outside of a frame, it's the time of the conceptual “previous frame,” which may be either the actual previous frame time, or if that’s too old, an updated time. Parameters frame_clock a GdkFrameClock Returns a timestamp in microseconds, in the timescale of of g_get_monotonic_time(). gdk_frame_clock_request_phase () gdk_frame_clock_request_phase void gdk_frame_clock_request_phase (GdkFrameClock *frame_clock, GdkFrameClockPhase phase); Asks the frame clock to run a particular phase. The signal corresponding the requested phase will be emitted the next time the frame clock processes. Multiple calls to gdk_frame_clock_request_phase() will be combined together and only one frame processed. If you are displaying animated content and want to continually request the GDK_FRAME_CLOCK_PHASE_UPDATE phase for a period of time, you should use gdk_frame_clock_begin_updating() instead, since this allows GTK to adjust system parameters to get maximally smooth animations. Parameters frame_clock a GdkFrameClock phase the phase that is requested gdk_frame_clock_begin_updating () gdk_frame_clock_begin_updating void gdk_frame_clock_begin_updating (GdkFrameClock *frame_clock); Starts updates for an animation. Until a matching call to gdk_frame_clock_end_updating() is made, the frame clock will continually request a new frame with the GDK_FRAME_CLOCK_PHASE_UPDATE phase. This function may be called multiple times and frames will be requested until gdk_frame_clock_end_updating() is called the same number of times. Parameters frame_clock a GdkFrameClock gdk_frame_clock_end_updating () gdk_frame_clock_end_updating void gdk_frame_clock_end_updating (GdkFrameClock *frame_clock); Stops updates for an animation. See the documentation for gdk_frame_clock_begin_updating(). Parameters frame_clock a GdkFrameClock gdk_frame_clock_get_frame_counter () gdk_frame_clock_get_frame_counter gint64 gdk_frame_clock_get_frame_counter (GdkFrameClock *frame_clock); A GdkFrameClock maintains a 64-bit counter that increments for each frame drawn. Parameters frame_clock a GdkFrameClock Returns inside frame processing, the value of the frame counter for the current frame. Outside of frame processing, the frame counter for the last frame. gdk_frame_clock_get_history_start () gdk_frame_clock_get_history_start gint64 gdk_frame_clock_get_history_start (GdkFrameClock *frame_clock); GdkFrameClock internally keeps a history of GdkFrameTimings objects for recent frames that can be retrieved with gdk_frame_clock_get_timings(). The set of stored frames is the set from the counter values given by gdk_frame_clock_get_history_start() and gdk_frame_clock_get_frame_counter(), inclusive. Parameters frame_clock a GdkFrameClock Returns the frame counter value for the oldest frame that is available in the internal frame history of the GdkFrameClock. gdk_frame_clock_get_timings () gdk_frame_clock_get_timings GdkFrameTimings * gdk_frame_clock_get_timings (GdkFrameClock *frame_clock, gint64 frame_counter); Retrieves a GdkFrameTimings object holding timing information for the current frame or a recent frame. The GdkFrameTimings object may not yet be complete: see gdk_frame_timings_get_complete(). Parameters frame_clock a GdkFrameClock frame_counter the frame counter value identifying the frame to be received. Returns the GdkFrameTimings object for the specified frame, or NULL if it is not available. See gdk_frame_clock_get_history_start(). [nullable][transfer none] gdk_frame_clock_get_current_timings () gdk_frame_clock_get_current_timings GdkFrameTimings * gdk_frame_clock_get_current_timings (GdkFrameClock *frame_clock); Gets the frame timings for the current frame. Parameters frame_clock a GdkFrameClock Returns the GdkFrameTimings for the frame currently being processed, or even no frame is being processed, for the previous frame. Before any frames have been processed, returns NULL. [nullable][transfer none] gdk_frame_clock_get_refresh_info () gdk_frame_clock_get_refresh_info void gdk_frame_clock_get_refresh_info (GdkFrameClock *frame_clock, gint64 base_time, gint64 *refresh_interval_return, gint64 *presentation_time_return); Using the frame history stored in the frame clock, finds the last known presentation time and refresh interval, and assuming that presentation times are separated by the refresh interval, predicts a presentation time that is a multiple of the refresh interval after the last presentation time, and later than base_time . Parameters frame_clock a GdkFrameClock base_time base time for determining a presentaton time refresh_interval_return a location to store the determined refresh interval, or NULL. A default refresh interval of 1/60th of a second will be stored if no history is present. [out][optional] presentation_time_return a location to store the next candidate presentation time after the given base time. 0 will be will be stored if no history is present. [out] Types and Values GdkFrameClock GdkFrameClock typedef struct _GdkFrameClock GdkFrameClock; Members enum GdkFrameClockPhase GdkFrameClockPhase GdkFrameClockPhase is used to represent the different paint clock phases that can be requested. The elements of the enumeration correspond to the signals of GdkFrameClock. Members GDK_FRAME_CLOCK_PHASE_NONE no phase GDK_FRAME_CLOCK_PHASE_FLUSH_EVENTS corresponds to GdkFrameClock::flush-events. Should not be handled by applications. GDK_FRAME_CLOCK_PHASE_BEFORE_PAINT corresponds to GdkFrameClock::before-paint. Should not be handled by applications. GDK_FRAME_CLOCK_PHASE_UPDATE corresponds to GdkFrameClock::update. GDK_FRAME_CLOCK_PHASE_LAYOUT corresponds to GdkFrameClock::layout. GDK_FRAME_CLOCK_PHASE_PAINT corresponds to GdkFrameClock::paint. GDK_FRAME_CLOCK_PHASE_RESUME_EVENTS corresponds to GdkFrameClock::resume-events. Should not be handled by applications. GDK_FRAME_CLOCK_PHASE_AFTER_PAINT corresponds to GdkFrameClock::after-paint. Should not be handled by applications. Signal Details The <literal>“after-paint”</literal> signal GdkFrameClock::after-paint void user_function (GdkFrameClock *clock, gpointer user_data) This signal ends processing of the frame. Applications should generally not handle this signal. Parameters clock the frame clock emitting the signal user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“before-paint”</literal> signal GdkFrameClock::before-paint void user_function (GdkFrameClock *clock, gpointer user_data) This signal begins processing of the frame. Applications should generally not handle this signal. Parameters clock the frame clock emitting the signal user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“flush-events”</literal> signal GdkFrameClock::flush-events void user_function (GdkFrameClock *clock, gpointer user_data) This signal is used to flush pending motion events that are being batched up and compressed together. Applications should not handle this signal. Parameters clock the frame clock emitting the signal user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“layout”</literal> signal GdkFrameClock::layout void user_function (GdkFrameClock *clock, gpointer user_data) This signal is emitted as the second step of toolkit and application processing of the frame. Any work to update sizes and positions of application elements should be performed. GTK normally handles this internally. Parameters clock the frame clock emitting the signal user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“paint”</literal> signal GdkFrameClock::paint void user_function (GdkFrameClock *clock, gpointer user_data) This signal is emitted as the third step of toolkit and application processing of the frame. The frame is repainted. GDK normally handles this internally and produces expose events, which are turned into GTK “draw” signals. Parameters clock the frame clock emitting the signal user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“resume-events”</literal> signal GdkFrameClock::resume-events void user_function (GdkFrameClock *clock, gpointer user_data) This signal is emitted after processing of the frame is finished, and is handled internally by GTK to resume normal event processing. Applications should not handle this signal. Parameters clock the frame clock emitting the signal user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“update”</literal> signal GdkFrameClock::update void user_function (GdkFrameClock *clock, gpointer user_data) This signal is emitted as the first step of toolkit and application processing of the frame. Animations should be updated using gdk_frame_clock_get_frame_time(). Applications can connect directly to this signal, or use gtk_widget_add_tick_callback() as a more convenient interface. Parameters clock the frame clock emitting the signal user_data user data set when the signal handler was connected. Flags: Run Last docs/reference/gdk/xml/regions.xml0000664000175000017500000004101013464200075017326 0ustar mclasenmclasen ]> Points and Rectangles 3 GDK4 Library Points and Rectangles Simple graphical data types Functions gboolean gdk_rectangle_intersect () void gdk_rectangle_union () gboolean gdk_rectangle_equal () gboolean gdk_rectangle_contains_point () Types and Values GdkPoint GdkRectangle Object Hierarchy GBoxed ╰── GdkRectangle Includes#include <gdk/gdk.h> Description GDK provides the GdkPoint and GdkRectangle data types for representing pixels and sets of pixels on the screen. Together with Cairo’s cairo_region_t data type, they make up the central types for representing graphical data. A GdkPoint represents an x and y coordinate of a point. A GdkRectangle represents the position and size of a rectangle. The intersection of two rectangles can be computed with gdk_rectangle_intersect(). To find the union of two rectangles use gdk_rectangle_union(). cairo_region_t is usually used for managing clipping of graphical operations. Functions gdk_rectangle_intersect () gdk_rectangle_intersect gboolean gdk_rectangle_intersect (const GdkRectangle *src1, const GdkRectangle *src2, GdkRectangle *dest); Calculates the intersection of two rectangles. It is allowed for dest to be the same as either src1 or src2 . If the rectangles do not intersect, dest ’s width and height is set to 0 and its x and y values are undefined. If you are only interested in whether the rectangles intersect, but not in the intersecting area itself, pass NULL for dest . Parameters src1 a GdkRectangle src2 a GdkRectangle dest return location for the intersection of src1 and src2 , or NULL. [out caller-allocates][allow-none] Returns TRUE if the rectangles intersect. gdk_rectangle_union () gdk_rectangle_union void gdk_rectangle_union (const GdkRectangle *src1, const GdkRectangle *src2, GdkRectangle *dest); Calculates the union of two rectangles. The union of rectangles src1 and src2 is the smallest rectangle which includes both src1 and src2 within it. It is allowed for dest to be the same as either src1 or src2 . Note that this function does not ignore 'empty' rectangles (ie. with zero width or height). Parameters src1 a GdkRectangle src2 a GdkRectangle dest return location for the union of src1 and src2 . [out] gdk_rectangle_equal () gdk_rectangle_equal gboolean gdk_rectangle_equal (const GdkRectangle *rect1, const GdkRectangle *rect2); Checks if the two given rectangles are equal. Parameters rect1 a GdkRectangle rect2 a GdkRectangle Returns TRUE if the rectangles are equal. gdk_rectangle_contains_point () gdk_rectangle_contains_point gboolean gdk_rectangle_contains_point (const GdkRectangle *rect, int x, int y); Returns TRUE if rect contains the point described by x and y . Parameters rect a GdkRectangle x X coordinate y Y coordinate Returns TRUE if rect contains the point Types and Values GdkPoint GdkPoint typedef struct { gint x; gint y; } GdkPoint; Defines the x and y coordinates of a point. Members gint x; the x coordinate of the point gint y; the y coordinate of the point GdkRectangle GdkRectangle typedef struct { int x, y; int width, height; } GdkRectangle; Defines the position and size of a rectangle. It is identical to cairo_rectangle_int_t. Members int x; the x coordinate of the top left corner int y; the y coordinate of the top left corner int width; the width of the rectangle int height; the height of the rectangle docs/reference/gdk/xml/dnd.xml0000664000175000017500000023065413464200076016444 0ustar mclasenmclasen ]> Drag And Drop 3 GDK4 Library Drag And Drop Functions for controlling drag and drop handling Functions void gdk_drag_drop_done () GdkDrag * gdk_drag_begin () GdkDisplay * gdk_drag_get_display () GdkDragAction gdk_drag_get_actions () GdkDragAction gdk_drag_get_selected_action () GdkContentFormats * gdk_drag_get_formats () GdkDevice * gdk_drag_get_device () GdkSurface * gdk_drag_get_drag_surface () void gdk_drag_set_hotspot () gboolean gdk_drag_action_is_unique () GdkDisplay * gdk_drop_get_display () GdkDevice * gdk_drop_get_device () GdkSurface * gdk_drop_get_surface () GdkContentFormats * gdk_drop_get_formats () GdkDragAction gdk_drop_get_actions () GdkDrag * gdk_drop_get_drag () void gdk_drop_status () void gdk_drop_finish () void gdk_drop_read_async () GInputStream * gdk_drop_read_finish () void gdk_drop_read_value_async () const GValue * gdk_drop_read_value_finish () void gdk_drop_read_text_async () char * gdk_drop_read_text_finish () Properties GdkDragActionactionsRead / Write GdkContentProvider *contentRead / Write / Construct Only GdkDevice *deviceRead / Write / Construct Only GdkDisplay *displayRead GdkContentFormats *formatsRead / Write / Construct Only GdkDragActionselected-actionRead / Write GdkSurface *surfaceRead / Write / Construct Only GdkDragActionactionsRead / Write / Construct Only GdkDevice *deviceRead / Write / Construct Only GdkDisplay *displayRead GdkDrag *dragRead / Write / Construct Only GdkContentFormats *formatsRead / Write / Construct Only GdkSurface *surfaceRead / Write / Construct Only Signals voidcancelRun Last voiddnd-finishedRun Last voiddrop-performedRun Last Types and Values GdkDrag GdkDrop enumGdkDragCancelReason enumGdkDragAction #defineGDK_ACTION_ALL Object Hierarchy GObject ├── GdkDrag ╰── GdkDrop Includes#include <gdk/gdk.h> Description These functions provide a low level interface for drag and drop. The GdkDrag object represents the source side of an ongoing DND operation. It is created when a drag is started, and stays alive for duration of the DND operation. The GdkDrop object represents the target side of an ongoing DND operation. GTK+ provides a higher level abstraction based on top of these functions, and so they are not normally needed in GTK+ applications. See the Drag and Drop section of the GTK+ documentation for more information. Functions gdk_drag_drop_done () gdk_drag_drop_done void gdk_drag_drop_done (GdkDrag *drag, gboolean success); Inform GDK if the drop ended successfully. Passing FALSE for success may trigger a drag cancellation animation. This function is called by the drag source, and should be the last call before dropping the reference to the drag . The GdkDrag will only take the first gdk_drag_drop_done() call as effective, if this function is called multiple times, all subsequent calls will be ignored. Parameters drag a GdkDrag success whether the drag was ultimatively successful gdk_drag_begin () gdk_drag_begin GdkDrag * gdk_drag_begin (GdkSurface *surface, GdkDevice *device, GdkContentProvider *content, GdkDragAction actions, gint dx, gint dy); Starts a drag and creates a new drag context for it. This function is called by the drag source. Parameters surface the source surface for this drag device the device that controls this drag content the offered content. [transfer none] actions the actions supported by this drag dx the x offset to device 's position where the drag nominally started dy the y offset to device 's position where the drag nominally started Returns a newly created GdkDrag or NULL on error. [transfer full][nullable] gdk_drag_get_display () gdk_drag_get_display GdkDisplay * gdk_drag_get_display (GdkDrag *drag); Gets the GdkDisplay that the drag object was created for. Parameters drag a GdkDrag Returns a GdkDisplay. [transfer none] gdk_drag_get_actions () gdk_drag_get_actions GdkDragAction gdk_drag_get_actions (GdkDrag *drag); Determines the bitmask of possible actions proposed by the source. Parameters drag a GdkDrag Returns the GdkDragAction flags gdk_drag_get_selected_action () gdk_drag_get_selected_action GdkDragAction gdk_drag_get_selected_action (GdkDrag *drag); Determines the action chosen by the drag destination. Parameters drag a GdkDrag Returns a GdkDragAction value gdk_drag_get_formats () gdk_drag_get_formats GdkContentFormats * gdk_drag_get_formats (GdkDrag *drag); Retrieves the formats supported by this GdkDrag object. Parameters drag a GdkDrag Returns a GdkContentFormats. [transfer none] gdk_drag_get_device () gdk_drag_get_device GdkDevice * gdk_drag_get_device (GdkDrag *drag); Returns the GdkDevice associated to the GdkDrag object. Parameters drag a GdkDrag Returns The GdkDevice associated to drag . [transfer none] gdk_drag_get_drag_surface () gdk_drag_get_drag_surface GdkSurface * gdk_drag_get_drag_surface (GdkDrag *drag); Returns the surface on which the drag icon should be rendered during the drag operation. Note that the surface may not be available until the drag operation has begun. GDK will move the surface in accordance with the ongoing drag operation. The surface is owned by drag and will be destroyed when the drag operation is over. Parameters drag a GdkDrag Returns the drag surface, or NULL. [nullable][transfer none] gdk_drag_set_hotspot () gdk_drag_set_hotspot void gdk_drag_set_hotspot (GdkDrag *drag, gint hot_x, gint hot_y); Sets the position of the drag surface that will be kept under the cursor hotspot. Initially, the hotspot is at the top left corner of the drag surface. Parameters drag a GdkDrag hot_x x coordinate of the drag surface hotspot hot_y y coordinate of the drag surface hotspot gdk_drag_action_is_unique () gdk_drag_action_is_unique gboolean gdk_drag_action_is_unique (GdkDragAction action); Checks if action represents a single action or if it includes multiple flags that can be selected from. When action is 0 - ie no action was given, TRUE is returned. Parameters action a GdkDragAction Returns TRUE if exactly one action was given gdk_drop_get_display () gdk_drop_get_display GdkDisplay * gdk_drop_get_display (GdkDrop *self); Gets the GdkDisplay that self was created for. Parameters self a GdkDrop Returns a GdkDisplay. [transfer none] gdk_drop_get_device () gdk_drop_get_device GdkDevice * gdk_drop_get_device (GdkDrop *self); Returns the GdkDevice performing the drop. Parameters self a GdkDrop Returns The GdkDevice performing the drop. [transfer none] gdk_drop_get_surface () gdk_drop_get_surface GdkSurface * gdk_drop_get_surface (GdkDrop *self); Returns the GdkSurface performing the drop. Parameters self a GdkDrop Returns The GdkSurface performing the drop. [transfer none] gdk_drop_get_formats () gdk_drop_get_formats GdkContentFormats * gdk_drop_get_formats (GdkDrop *self); Returns the GdkContentFormats that the drop offers the data to be read in. Parameters self a GdkDrop Returns The possible GdkContentFormats. [transfer none] gdk_drop_get_actions () gdk_drop_get_actions GdkDragAction gdk_drop_get_actions (GdkDrop *self); Returns the possible actions for this GdkDrop. If this value contains multiple actions - ie gdk_drag_action_is_unique() returns FALSE for the result - gdk_drag_finish() must choose the action to use when accepting the drop. This value may change over the lifetime of the GdkDrop both as a response to source side actions as well as to calls to gdk_drop_status() or gdk_drag_finish(). The source side will not change this value anymore once a drop has started. Parameters self a GdkDrop Returns The possible GdkDragActions gdk_drop_get_drag () gdk_drop_get_drag GdkDrag * gdk_drop_get_drag (GdkDrop *self); If this is an in-app drag-and-drop operation, returns the GdkDrag that corresponds to this drop. If it is not, NULL is returned. Parameters self a GdkDrop Returns the corresponding GdkDrag. [transfer none][nullable] gdk_drop_status () gdk_drop_status void gdk_drop_status (GdkDrop *self, GdkDragAction actions); Selects all actions that are potentially supported by the destination. When calling this function, do not restrict the passed in actions to the ones provided by gdk_drop_get_actions(). Those actions may change in the future, even depending on the actions you provide here. This function should be called by drag destinations in response to GDK_DRAG_ENTER or GDK_DRAG_MOTION events. If the destination does not yet know the exact actions it supports, it should set any possible actions first and then later call this function again. Parameters self a GdkDrop actions Supported actions of the destination, or 0 to indicate that a drop will not be accepted gdk_drop_finish () gdk_drop_finish void gdk_drop_finish (GdkDrop *self, GdkDragAction action); Ends the drag operation after a drop. The action must be a single action selected from the actions available via gdk_drop_get_actions(). Parameters self a GdkDrop action the action performed by the destination or 0 if the drop failed gdk_drop_read_async () gdk_drop_read_async void gdk_drop_read_async (GdkDrop *self, const char **mime_types, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); Asynchronously read the dropped data from a GdkDrop in a format that complies with one of the mime types. Parameters self a GdkDrop mime_types pointer to an array of mime types. [array zero-terminated=1][element-type utf8] io_priority the io priority for the read operation cancellable optional GCancellable object, NULL to ignore. [allow-none] callback a GAsyncReadyCallback to call when the request is satisfied. [scope async] user_data the data to pass to callback . [closure] gdk_drop_read_finish () gdk_drop_read_finish GInputStream * gdk_drop_read_finish (GdkDrop *self, GAsyncResult *result, const char **out_mime_type, GError **error); Finishes an async drop read operation, see gdk_drop_read_async(). Parameters self a GdkDrop result a GAsyncResult out_mime_type return location for the used mime type. [out][type utf8] error location to store error information on failure, or NULL. [allow-none] Returns the GInputStream, or NULL. [nullable][transfer full] gdk_drop_read_value_async () gdk_drop_read_value_async void gdk_drop_read_value_async (GdkDrop *self, GType type, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); Asynchronously request the drag operation's contents converted to the given type . When the operation is finished callback will be called. You can then call gdk_drop_read_value_finish() to get the resulting GValue. For local drag'n'drop operations that are available in the given GType, the value will be copied directly. Otherwise, GDK will try to use gdk_content_deserialize_async() to convert the data. Parameters self a GdkDrop type a GType to read io_priority the I/O priority of the request. cancellable optional GCancellable object, NULL to ignore. [nullable] callback callback to call when the request is satisfied. [scope async] user_data the data to pass to callback function. [closure] gdk_drop_read_value_finish () gdk_drop_read_value_finish const GValue * gdk_drop_read_value_finish (GdkDrop *self, GAsyncResult *result, GError **error); Finishes an async drop read started with gdk_drop_read_value_async(). Parameters self a GdkDrop result a GAsyncResult error a GError location to store the error occurring, or NULL to ignore. Returns a GValue containing the result. [transfer none] gdk_drop_read_text_async () gdk_drop_read_text_async void gdk_drop_read_text_async (GdkDrop *self, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); Asynchronously request the drag operation's contents converted to a string. When the operation is finished callback will be called. You can then call gdk_drop_read_text_finish() to get the result. This is a simple wrapper around gdk_drop_read_value_async(). Use that function or gdk_drop_read_async() directly if you need more control over the operation. Parameters self a GdkDrop cancellable optional GCancellable object, NULL to ignore. [nullable] callback callback to call when the request is satisfied. [scope async] user_data the data to pass to callback function. [closure] gdk_drop_read_text_finish () gdk_drop_read_text_finish char * gdk_drop_read_text_finish (GdkDrop *self, GAsyncResult *result, GError **error); Finishes an asynchronous read started with gdk_drop_read_text_async(). Parameters self a GdkDrop result a GAsyncResult error a GError location to store the error occurring, or NULL to ignore. Returns a new string or NULL on error. [transfer full][nullable] Types and Values GdkDrag GdkDrag typedef struct _GdkDrag GdkDrag; The GdkDrag struct contains only private fields and should not be accessed directly. GdkDrop GdkDrop typedef struct _GdkDrop GdkDrop; The GdkDrop struct contains only private fields and should not be accessed directly. enum GdkDragCancelReason GdkDragCancelReason Used in GdkDrag to the reason of a cancelled DND operation. Members GDK_DRAG_CANCEL_NO_TARGET There is no suitable drop target. GDK_DRAG_CANCEL_USER_CANCELLED Drag cancelled by the user GDK_DRAG_CANCEL_ERROR Unspecified error. enum GdkDragAction GdkDragAction Used in GdkDrag to indicate what the destination should do with the dropped data. Members GDK_ACTION_COPY Copy the data. GDK_ACTION_MOVE Move the data, i.e. first copy it, then delete it from the source using the DELETE target of the X selection protocol. GDK_ACTION_LINK Add a link to the data. Note that this is only useful if source and destination agree on what it means. GDK_ACTION_ASK Ask the user what to do with the data. GDK_ACTION_ALL GDK_ACTION_ALL #define GDK_ACTION_ALL (GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK) Defines all possible DND actions. This can be used in gdk_drop_status() messages when any drop can be accepted or a more specific drop method is not yet known. Property Details The <literal>“actions”</literal> property GdkDrag:actions “actions” GdkDragAction The possible actions.Flags: Read / Write The <literal>“content”</literal> property GdkDrag:content “content” GdkContentProvider * The GdkContentProvider. Flags: Read / Write / Construct Only The <literal>“device”</literal> property GdkDrag:device “device” GdkDevice * The GdkDevice that is performing the drag. Flags: Read / Write / Construct Only The <literal>“display”</literal> property GdkDrag:display “display” GdkDisplay * The GdkDisplay that the drag belongs to. Flags: Read The <literal>“formats”</literal> property GdkDrag:formats “formats” GdkContentFormats * The possible formats that the drag can provide its data in. Flags: Read / Write / Construct Only The <literal>“selected-action”</literal> property GdkDrag:selected-action “selected-action” GdkDragAction The currently selected action.Flags: Read / Write The <literal>“surface”</literal> property GdkDrag:surface “surface” GdkSurface * The surface where the drag originates.Flags: Read / Write / Construct Only The <literal>“actions”</literal> property GdkDrop:actions “actions” GdkDragAction The possible actions for this drop Flags: Read / Write / Construct Only Default value: GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK The <literal>“device”</literal> property GdkDrop:device “device” GdkDevice * The GdkDevice performing the drop Flags: Read / Write / Construct Only The <literal>“display”</literal> property GdkDrop:display “display” GdkDisplay * The GdkDisplay that the drop belongs to. Flags: Read The <literal>“drag”</literal> property GdkDrop:drag “drag” GdkDrag * The GdkDrag that initiated this drop Flags: Read / Write / Construct Only The <literal>“formats”</literal> property GdkDrop:formats “formats” GdkContentFormats * The possible formats that the drop can provide its data in. Flags: Read / Write / Construct Only The <literal>“surface”</literal> property GdkDrop:surface “surface” GdkSurface * The GdkSurface the drop happens on Flags: Read / Write / Construct Only Signal Details The <literal>“cancel”</literal> signal GdkDrag::cancel void user_function (GdkDrag *drag, GdkDragCancelReason reason, gpointer user_data) The drag operation was cancelled. Parameters drag The object on which the signal is emitted reason The reason the drag was cancelled user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“dnd-finished”</literal> signal GdkDrag::dnd-finished void user_function (GdkDrag *drag, gpointer user_data) The drag operation was finished, the destination finished reading all data. The drag object can now free all miscellaneous data. Parameters drag The object on which the signal is emitted user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“drop-performed”</literal> signal GdkDrag::drop-performed void user_function (GdkDrag *drag, gpointer user_data) The drag operation was performed on an accepting client. Parameters drag The object on which the signal is emitted user_data user data set when the signal handler was connected. Flags: Run Last