diff --git a/docs/reference/gdk/gdk4-sections.txt b/docs/reference/gdk/gdk4-sections.txt index 547db24d89..30b09adea8 100644 --- a/docs/reference/gdk/gdk4-sections.txt +++ b/docs/reference/gdk/gdk4-sections.txt @@ -174,7 +174,6 @@ gdk_rgba_get_type GdkSurface GdkGravity GdkSurfaceEdge -GdkSurfaceTypeHint GdkSurfaceState gdk_surface_new_toplevel gdk_surface_new_popup @@ -470,7 +469,6 @@ gdk_seat_capabilities_get_type events GdkEvent GdkEventType -GdkEventMask GdkKeyMatch GdkTouchpadGesturePhase GdkScrollDirection diff --git a/gdk/gdk.c b/gdk/gdk.c index 375f711e79..649c8f2f0e 100644 --- a/gdk/gdk.c +++ b/gdk/gdk.c @@ -296,57 +296,6 @@ gdk_should_use_portal (void) return use_portal[0] == '1'; } -/** - * SECTION:threads - * @Short_description: Functions for using GDK in multi-threaded programs - * @Title: Threads - * - * For thread safety, GDK relies on the thread primitives in GLib, - * and on the thread-safe GLib main loop. - * - * GLib is completely thread safe (all global data is automatically - * locked), but individual data structure instances are not automatically - * locked for performance reasons. So e.g. you must coordinate - * accesses to the same #GHashTable from multiple threads. - * - * GTK, however, is not thread safe. You should only use GTK and GDK - * from the thread gtk_init() and gtk_main() were called on. - * This is usually referred to as the “main thread”. - * - * Signals on GTK and GDK types, as well as non-signal callbacks, are - * emitted in the main thread. - * - * You can schedule work in the main thread safely from other threads - * by using g_main_context_invoke(), g_idle_add(), and g_timeout_add(): - * - * |[ - * static void - * worker_thread (void) - * { - * ExpensiveData *expensive_data = do_expensive_computation (); - * - * g_main_context_invoke (NULL, got_value, expensive_data); - * } - * - * static gboolean - * got_value (gpointer user_data) - * { - * ExpensiveData *expensive_data = user_data; - * - * my_app->expensive_data = expensive_data; - * gtk_button_set_sensitive (my_app->button, TRUE); - * gtk_button_set_label (my_app->button, expensive_data->result_label); - * - * return G_SOURCE_REMOVE; - * } - * ]| - * - * For more information on this "worker thread" pattern, you should - * also look at #GTask, which gives you high-level tools to perform - * expensive tasks from worker threads, and will handle thread - * management for you. - */ - PangoDirection gdk_unichar_direction (gunichar ch) { diff --git a/gdk/gdkevents.c b/gdk/gdkevents.c index cc26f2f085..5d1d055028 100644 --- a/gdk/gdkevents.c +++ b/gdk/gdkevents.c @@ -577,53 +577,6 @@ _gdk_event_queue_append (GdkDisplay *display, return g_queue_peek_tail_link (&display->queued_events); } -/** - * _gdk_event_queue_insert_after: - * @display: a #GdkDisplay - * @sibling: Append after this event. - * @event: Event to append. - * - * Appends an event after the specified event, or if it isn’t in - * the queue, onto the tail of the event queue. - */ -void -_gdk_event_queue_insert_after (GdkDisplay *display, - GdkEvent *sibling, - GdkEvent *event) -{ - GList *prev = g_queue_find (&display->queued_events, sibling); - - if (prev) - g_queue_insert_after (&display->queued_events, prev, event); - else - g_queue_push_tail (&display->queued_events, event); -} - -/** - * _gdk_event_queue_insert_before: - * @display: a #GdkDisplay - * @sibling: Append before this event - * @event: Event to prepend - * - * Prepends an event before the specified event, or if it isn’t in - * the queue, onto the head of the event queue. - * - * Returns: the newly prepended list node. - */ -void -_gdk_event_queue_insert_before (GdkDisplay *display, - GdkEvent *sibling, - GdkEvent *event) -{ - GList *next = g_queue_find (&display->queued_events, sibling); - - if (next) - g_queue_insert_before (&display->queued_events, next, event); - else - g_queue_push_head (&display->queued_events, event); -} - - /** * _gdk_event_queue_remove_link: * @display: a #GdkDisplay diff --git a/gdk/gdkgl.c b/gdk/gdkgl.c index 1e24e77687..dcaae81f3b 100644 --- a/gdk/gdkgl.c +++ b/gdk/gdkgl.c @@ -437,127 +437,6 @@ out: cairo_region_destroy (clip_region); } -/* This is always called with the paint context current */ -void -gdk_gl_texture_from_surface (cairo_surface_t *cairo_surface, - cairo_region_t *region) -{ - GdkGLContext *paint_context; - cairo_surface_t *image; - double device_x_offset, device_y_offset; - cairo_rectangle_int_t rect, e; - int n_rects, i; - GdkSurface *surface; - int unscaled_surface_height; - unsigned int texture_id; - int surface_scale; - double sx, sy; - float umax, vmax; - gboolean use_texture_rectangle; - guint target; - - paint_context = gdk_gl_context_get_current (); - -#ifdef G_ENABLE_DEBUG - if (paint_context != NULL) - { - GdkDisplay *display = gdk_draw_context_get_display (GDK_DRAW_CONTEXT (paint_context)); - - if (GDK_DISPLAY_DEBUG_CHECK (display, GL_SOFTWARE) == 0) - return; - } -#endif - - if (paint_context != NULL && - GDK_GL_CONTEXT_GET_CLASS (paint_context)->texture_from_surface && - GDK_GL_CONTEXT_GET_CLASS (paint_context)->texture_from_surface (paint_context, cairo_surface, region)) - return; - - /* Software fallback */ - use_texture_rectangle = gdk_gl_context_use_texture_rectangle (paint_context); - - surface = gdk_gl_context_get_surface (paint_context); - surface_scale = gdk_surface_get_scale_factor (surface); - gdk_surface_get_unscaled_size (surface, NULL, &unscaled_surface_height); - - sx = sy = 1; - cairo_surface_get_device_scale (cairo_surface, &sx, &sy); - cairo_surface_get_device_offset (cairo_surface, &device_x_offset, &device_y_offset); - - glGenTextures (1, &texture_id); - if (use_texture_rectangle) - target = GL_TEXTURE_RECTANGLE_ARB; - else - target = GL_TEXTURE_2D; - - glBindTexture (target, texture_id); - glEnable (GL_SCISSOR_TEST); - - glTexParameteri (target, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); - glTexParameteri (target, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); - glTexParameteri (target, GL_TEXTURE_MIN_FILTER, GL_NEAREST); - glTexParameteri (target, GL_TEXTURE_MAG_FILTER, GL_NEAREST); - - n_rects = cairo_region_num_rectangles (region); - -#define FLIP_Y(_y) (unscaled_surface_height - (_y)) - - for (i = 0; i < n_rects; i++) - { - cairo_region_get_rectangle (region, i, &rect); - - glScissor (rect.x * surface_scale, FLIP_Y ((rect.y + rect.height) * surface_scale), - rect.width * surface_scale, rect.height * surface_scale); - - e = rect; - e.x *= sx; - e.y *= sy; - e.x += (int)device_x_offset; - e.y += (int)device_y_offset; - e.width *= sx; - e.height *= sy; - image = cairo_surface_map_to_image (cairo_surface, &e); - - gdk_gl_context_upload_texture (paint_context, - cairo_image_surface_get_data (image), - e.width, - e.height, - cairo_image_surface_get_stride (image), - target); - - cairo_surface_unmap_image (cairo_surface, image); - - if (use_texture_rectangle) - { - umax = rect.width * sx; - vmax = rect.height * sy; - } - else - { - umax = 1.0; - vmax = 1.0; - } - - { - GdkTexturedQuad quad = { - rect.x * surface_scale, FLIP_Y(rect.y * surface_scale), - (rect.x + rect.width) * surface_scale, FLIP_Y((rect.y + rect.height) * surface_scale), - 0, 0, - umax, vmax, - }; - - /* We don't want to combine the quads here, because they have different textures. - * And we don't want to upload the unused source areas to make it one texture. */ - gdk_gl_texture_quads (paint_context, target, 1, &quad, TRUE); - } - } - -#undef FLIP_Y - - glDisable (GL_SCISSOR_TEST); - glDeleteTextures (1, &texture_id); -} - /** * gdk_cairo_surface_upload_to_gl: * @surface: a Cairo surface diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index 9e8d543a69..e30872edc6 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -94,8 +94,6 @@ void gdk_display_set_debug_flags (GdkDisplay *display, /* Event handling */ -typedef struct _GdkEventPrivate GdkEventPrivate; - typedef enum { /* Following flag is set for events on the event queue during @@ -115,8 +113,6 @@ typedef struct _GdkSurfacePaint GdkSurfacePaint; #define GDK_SURFACE_TYPE(d) ((((GdkSurface *)(d)))->surface_type) #define GDK_SURFACE_DESTROYED(d) (((GdkSurface *)(d))->destroyed) -extern gint _gdk_screen_number; - GdkEvent* _gdk_event_unqueue (GdkDisplay *display); void _gdk_event_emit (GdkEvent *event); @@ -125,27 +121,12 @@ void _gdk_event_queue_remove_link (GdkDisplay *display, GList *node); GList* _gdk_event_queue_append (GdkDisplay *display, GdkEvent *event); -void _gdk_event_queue_insert_after (GdkDisplay *display, - GdkEvent *after_event, - GdkEvent *event); -void _gdk_event_queue_insert_before(GdkDisplay *display, - GdkEvent *after_event, - GdkEvent *event); void _gdk_event_queue_handle_motion_compression (GdkDisplay *display); void _gdk_event_queue_flush (GdkDisplay *display); -void _gdk_event_button_generate (GdkDisplay *display, - GdkEvent *event); - -void _gdk_windowing_event_data_copy (GdkEvent *src, - GdkEvent *dst); -void _gdk_windowing_event_data_free (GdkEvent *event); - gboolean _gdk_cairo_surface_extents (cairo_surface_t *surface, GdkRectangle *extents); -void gdk_gl_texture_from_surface (cairo_surface_t *surface, - cairo_region_t *region); typedef struct { float x1, y1, x2, y2; @@ -193,12 +174,6 @@ void gdk_surface_leave_monitor (GdkSurface *surface, * Interfaces provided by windowing code * *****************************************/ -/* Font/string functions implemented in module-specific code */ - -void _gdk_cursor_destroy (GdkCursor *cursor); - -extern const GOptionEntry _gdk_windowing_args[]; - void _gdk_windowing_got_event (GdkDisplay *display, GList *event_link, GdkEvent *event, @@ -268,6 +243,34 @@ typedef enum GDK_OWNERSHIP_APPLICATION } GdkGrabOwnership; +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; + GdkGrabStatus gdk_device_grab (GdkDevice *device, GdkSurface *surface, GdkGrabOwnership grab_ownership, @@ -313,6 +316,26 @@ typedef enum GDK_HINT_USER_SIZE = 1 << 8 } GdkSurfaceHints; +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; + +typedef struct _GdkGeometry GdkGeometry; + struct _GdkGeometry { gint min_width; diff --git a/gdk/gdktypes.h b/gdk/gdktypes.h index 39f151d7ba..e461f2bfcf 100644 --- a/gdk/gdktypes.h +++ b/gdk/gdktypes.h @@ -44,7 +44,7 @@ */ #include -/* some common magic values */ +G_BEGIN_DECLS /** * GDK_CURRENT_TIME: @@ -53,19 +53,6 @@ */ #define GDK_CURRENT_TIME 0L -/** - * GDK_PARENT_RELATIVE: - * - * A special value, indicating that the background - * for a surface should be inherited from the parent surface. - */ -#define GDK_PARENT_RELATIVE 1L - - - -G_BEGIN_DECLS - - /** * GdkPoint: * @x: the x coordinate of the point @@ -126,8 +113,6 @@ typedef struct _GdkAppLaunchContext GdkAppLaunchContext; typedef struct _GdkSeat GdkSeat; typedef struct _GdkSnapshot GdkSnapshot; -typedef struct _GdkGeometry GdkGeometry; - typedef struct _GdkDrawingContext GdkDrawingContext; typedef struct _GdkDrawContext GdkDrawContext; typedef struct _GdkCairoContext GdkCairoContext; @@ -152,11 +137,7 @@ typedef struct _GdkVulkanContext GdkVulkanContext; * @GDK_GRAVITY_STATIC: the reference point is at the top left corner of the * surface itself, ignoring window manager decorations. * - * 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](http://www.freedesktop.org/Standards/wm-spec) - * specification for more details. + * Defines the reference point of a surface and is used in #GdkPopupLayout. */ typedef enum { @@ -172,24 +153,6 @@ typedef enum GDK_GRAVITY_STATIC } GdkGravity; -/** - * GdkByteOrder: - * @GDK_LSB_FIRST: The values are stored with the least-significant byte - * first. For instance, the 32-bit value 0xffeecc would be stored - * in memory as 0xcc, 0xee, 0xff, 0x00. - * @GDK_MSB_FIRST: The values are stored with the most-significant byte - * first. For instance, the 32-bit value 0xffeecc would be stored - * in memory as 0x00, 0xff, 0xee, 0xcc. - * - * A set of values describing the possible byte-orders - * for storing pixel values in memory. - */ -typedef enum -{ - GDK_LSB_FIRST, - GDK_MSB_FIRST -} GdkByteOrder; - /* Types of modifiers. */ /** @@ -247,74 +210,6 @@ typedef enum GDK_BUTTON1_MASK|GDK_BUTTON2_MASK|GDK_BUTTON3_MASK| \ GDK_BUTTON4_MASK|GDK_BUTTON5_MASK) -/** - * GdkEventMask: - * @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. - * - * 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][chap-input-handling] for details of - * [event masks][event-masks] and [event propagation][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. - */ -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: @@ -347,54 +242,6 @@ typedef enum { GDK_VULKAN_ERROR_NOT_AVAILABLE, } GdkVulkanError; -/** - * GdkSurfaceTypeHint: - * @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. - * - * 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](http://www.freedesktop.org/Standards/wm-spec) - * specification for more details about window types. - */ -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: * @GDK_AXIS_IGNORE: the axis is ignored. diff --git a/gdk/win32/gdkmain-win32.c b/gdk/win32/gdkmain-win32.c index ad80346552..4c9f5e7456 100644 --- a/gdk/win32/gdkmain-win32.c +++ b/gdk/win32/gdkmain-win32.c @@ -49,23 +49,6 @@ static gboolean gdk_synchronize = FALSE; -static gboolean dummy; - -const GOptionEntry _gdk_windowing_args[] = { - { "sync", 0, 0, G_OPTION_ARG_NONE, &gdk_synchronize, - /* Description of --sync in --help output */ N_("Don’t batch GDI requests"), NULL }, - { "no-wintab", 0, 0, G_OPTION_ARG_NONE, &_gdk_input_ignore_wintab, - /* Description of --no-wintab in --help output */ N_("Don’t use the Wintab API for tablet support"), NULL }, - { "ignore-wintab", 0, 0, G_OPTION_ARG_NONE, &_gdk_input_ignore_wintab, - /* Description of --ignore-wintab in --help output */ N_("Same as --no-wintab"), NULL }, - { "use-wintab", 0, 0, G_OPTION_ARG_NONE, &dummy, - /* Description of --use-wintab in --help output */ N_("Do use the Wintab API [default]"), NULL }, - { "max-colors", 0, 0, G_OPTION_ARG_INT, &_gdk_max_colors, - /* Description of --max-colors=COLORS in --help output */ N_("Size of the palette in 8 bit mode"), - /* Placeholder in --max-colors=COLORS in --help output */ N_("COLORS") }, - { NULL } -}; - void _gdk_win32_surfaceing_init (void) { diff --git a/gdk/x11/gdkeventtranslator.h b/gdk/x11/gdkeventtranslator.h index 4d3ea95154..2c4c415cb0 100644 --- a/gdk/x11/gdkeventtranslator.h +++ b/gdk/x11/gdkeventtranslator.h @@ -20,6 +20,7 @@ #include "gdktypes.h" #include "gdkdisplay.h" +#include "gdkinternals.h" #include diff --git a/gdk/x11/gdkvisual-x11.h b/gdk/x11/gdkvisual-x11.h index 9b3bdd5ee3..7fbf9d20d4 100644 --- a/gdk/x11/gdkvisual-x11.h +++ b/gdk/x11/gdkvisual-x11.h @@ -46,6 +46,12 @@ typedef enum GDK_VISUAL_DIRECT_COLOR } GdkVisualType; +typedef enum +{ + GDK_LSB_FIRST, + GDK_MSB_FIRST +} GdkByteOrder; + struct _GdkX11Visual { GObject parent_instance; diff --git a/gtk/gtkaccelgroup.c b/gtk/gtkaccelgroup.c index e551505e19..2a861d23d6 100644 --- a/gtk/gtkaccelgroup.c +++ b/gtk/gtkaccelgroup.c @@ -933,7 +933,10 @@ gtk_accelerator_print_label (GString *gstring, if (accelerator_key >= GDK_KEY_KP_Space && accelerator_key <= GDK_KEY_KP_Equal) { - /* Translators: "KP" means "numeric key pad" */ + /* Translators: "KP" means "numeric key pad". This string will + * be used in accelerators such as "Ctrl+Shift+KP 1" in menus, + * and therefore the translation needs to be very short. + */ g_string_append (gstring, C_("keyboard label", "KP")); g_string_append (gstring, " "); } diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 93139fb164..00c6c26910 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -241,8 +241,6 @@ typedef struct guint hide_on_close : 1; guint in_emit_close_request : 1; - GdkSurfaceTypeHint type_hint; - GtkGesture *click_gesture; GtkEventController *key_controller; GtkEventController *application_shortcut_controller; @@ -3602,9 +3600,8 @@ gtk_window_resize (GtkWindow *window, * ]| * * If you are getting a window size in order to position the window - * on the screen, you should, instead, simply set the window’s semantic - * type with gtk_window_set_type_hint(), which allows the window manager - * to e.g. center dialogs. Also, if you set the transient parent of + * on the screen, don't. You should, instead, simply let the window + * manager place windows. Also, if you set the transient parent of * dialogs with gtk_window_set_transient_for() window managers will * often center the dialog over its parent window. It's much preferred * to let the window manager handle these cases rather than doing it diff --git a/testsuite/gtk/object.c b/testsuite/gtk/object.c index d542df130c..fd861c24a2 100644 --- a/testsuite/gtk/object.c +++ b/testsuite/gtk/object.c @@ -56,7 +56,6 @@ list_ignore_properties (gboolean buglist) { "GtkWidget", "parent", NULL, }, /* needs working parent widget */ { "GtkWidget", "has-default", (void*) TRUE, }, /* conflicts with toplevel-less widgets */ { "GtkWidget", "display", (void*) MATCH_ANY_VALUE }, - { "GtkWindow", "type-hint", (void*) GDK_SURFACE_TYPE_HINT_DND, }, /* conflicts with ::visible=TRUE */ { "GtkCellView", "background", (void*) "", }, /* "" is not a valid background color */ { "GtkFileChooserButton", "select-multiple", (void*) MATCH_ANY_VALUE }, /* property disabled */ { "GtkFileChooserButton", "action", (void*) GTK_FILE_CHOOSER_ACTION_SAVE },