diff --git a/gtk/gtkstylecontext.c b/gtk/deprecated/gtkstylecontext.c similarity index 93% rename from gtk/gtkstylecontext.c rename to gtk/deprecated/gtkstylecontext.c index 18c90bf0d9..72e30e2822 100644 --- a/gtk/gtkstylecontext.c +++ b/gtk/deprecated/gtkstylecontext.c @@ -220,7 +220,9 @@ gtk_style_context_impl_set_property (GObject *object, switch (prop_id) { case PROP_DISPLAY: +G_GNUC_BEGIN_IGNORE_DEPRECATIONS gtk_style_context_set_display (context, g_value_get_object (value)); +G_GNUC_END_IGNORE_DEPRECATIONS break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -341,6 +343,8 @@ gtk_style_context_new_for_node (GtkCssNode *node) * Note: If both priorities are the same, a `GtkStyleProvider` * added through this function takes precedence over another added * through [func@Gtk.StyleContext.add_provider_for_display]. + * + * Deprecated: 4.10: Use style classes instead */ void gtk_style_context_add_provider (GtkStyleContext *context, @@ -376,6 +380,8 @@ gtk_style_context_add_provider (GtkStyleContext *context, * @provider: a `GtkStyleProvider` * * Removes @provider from the style providers list in @context. + * + * Deprecated: 4.10 */ void gtk_style_context_remove_provider (GtkStyleContext *context, @@ -392,68 +398,14 @@ gtk_style_context_remove_provider (GtkStyleContext *context, _gtk_style_cascade_remove_provider (priv->cascade, provider); } -/** - * gtk_style_context_add_provider_for_display: - * @display: a `GdkDisplay` - * @provider: a `GtkStyleProvider` - * @priority: the priority of the style provider. The lower - * it is, the earlier it will be used in the style construction. - * Typically this will be in the range between - * %GTK_STYLE_PROVIDER_PRIORITY_FALLBACK and - * %GTK_STYLE_PROVIDER_PRIORITY_USER - * - * Adds a global style provider to @display, which will be used - * in style construction for all `GtkStyleContexts` under @display. - * - * GTK uses this to make styling information from `GtkSettings` - * available. - * - * Note: If both priorities are the same, A `GtkStyleProvider` - * added through [method@Gtk.StyleContext.add_provider] takes - * precedence over another added through this function. - **/ -void -gtk_style_context_add_provider_for_display (GdkDisplay *display, - GtkStyleProvider *provider, - guint priority) -{ - GtkStyleCascade *cascade; - - g_return_if_fail (GDK_IS_DISPLAY (display)); - g_return_if_fail (GTK_IS_STYLE_PROVIDER (provider)); - g_return_if_fail (!GTK_IS_SETTINGS (provider) || _gtk_settings_get_display (GTK_SETTINGS (provider)) == display); - - cascade = _gtk_settings_get_style_cascade (gtk_settings_get_for_display (display), 1); - _gtk_style_cascade_add_provider (cascade, provider, priority); -} - -/** - * gtk_style_context_remove_provider_for_display: - * @display: a `GdkDisplay` - * @provider: a `GtkStyleProvider` - * - * Removes @provider from the global style providers list in @display. - */ -void -gtk_style_context_remove_provider_for_display (GdkDisplay *display, - GtkStyleProvider *provider) -{ - GtkStyleCascade *cascade; - - g_return_if_fail (GDK_IS_DISPLAY (display)); - g_return_if_fail (GTK_IS_STYLE_PROVIDER (provider)); - g_return_if_fail (!GTK_IS_SETTINGS (provider)); - - cascade = _gtk_settings_get_style_cascade (gtk_settings_get_for_display (display), 1); - _gtk_style_cascade_remove_provider (cascade, provider); -} - /** * gtk_style_context_set_state: * @context: a `GtkStyleContext` * @flags: state to represent * * Sets the state to be used for style matching. + * + * Deprecated: 4.10: You should not use this api */ void gtk_style_context_set_state (GtkStyleContext *context, @@ -479,6 +431,8 @@ gtk_style_context_set_state (GtkStyleContext *context, * [method@Gtk.Widget.get_state_flags]. * * Returns: the state flags + * + * Deprecated: 4.10: Use [method@Gtk.Widget.get_state_flags] instead **/ GtkStateFlags gtk_style_context_get_state (GtkStyleContext *context) @@ -496,6 +450,8 @@ gtk_style_context_get_state (GtkStyleContext *context) * @scale: scale * * Sets the scale to use when getting image assets for the style. + * + * Deprecated: 4.10: You should not use this api **/ void gtk_style_context_set_scale (GtkStyleContext *context, @@ -529,6 +485,8 @@ gtk_style_context_set_scale (GtkStyleContext *context, * Returns the scale used for assets. * * Returns: the scale + * + * Deprecated 4.10: Use [method@Gtk.Widget.get_scale_factor] instead **/ int gtk_style_context_get_scale (GtkStyleContext *context) @@ -586,6 +544,8 @@ gtk_style_context_save_to_node (GtkStyleContext *context, * * The matching call to [method@Gtk.StyleContext.restore] * must be done before GTK returns to the main loop. + * + * Deprecated: 4.10: This API will be removed in GTK 5 **/ void gtk_style_context_save (GtkStyleContext *context) @@ -616,6 +576,8 @@ gtk_style_context_save (GtkStyleContext *context) * Restores @context state to a previous stage. * * See [method@Gtk.StyleContext.save]. + * + * Deprecated: 4.10: This API will be removed in GTK 5 **/ void gtk_style_context_restore (GtkStyleContext *context) @@ -653,6 +615,7 @@ gtk_style_context_restore (GtkStyleContext *context) * ```css * .search { ... } * ``` + * Deprecated: 4.10: Use [method@Gtk.Widget.add_css_class] instead */ void gtk_style_context_add_class (GtkStyleContext *context, @@ -675,6 +638,8 @@ gtk_style_context_add_class (GtkStyleContext *context, * @class_name: class name to remove * * Removes @class_name from @context. + * + * Deprecated: 4.10: Use [method@Gtk.Widget.remove_css_class] instead */ void gtk_style_context_remove_class (GtkStyleContext *context, @@ -702,6 +667,8 @@ gtk_style_context_remove_class (GtkStyleContext *context, * given class name. * * Returns: %TRUE if @context has @class_name defined + * + * Deprecated: 4.10: Use [method@Gtk.Widget.has_css_class] instead **/ gboolean gtk_style_context_has_class (GtkStyleContext *context, @@ -742,6 +709,8 @@ _gtk_style_context_peek_property (GtkStyleContext *context, * If you are using a `GtkStyleContext` returned from * [method@Gtk.Widget.get_style_context], you do not need to * call this yourself. + * + * Deprecated: 4.10: You should not use this api */ void gtk_style_context_set_display (GtkStyleContext *context, @@ -780,6 +749,8 @@ gtk_style_context_set_display (GtkStyleContext *context, * Returns the `GdkDisplay` to which @context is attached. * * Returns: (transfer none): a `GdkDisplay`. + * + * Deprecated: 4.10: Use [method@Gtk.Widget.get_display] instead */ GdkDisplay * gtk_style_context_get_display (GtkStyleContext *context) @@ -824,6 +795,8 @@ gtk_style_context_resolve_color (GtkStyleContext *context, * Looks up and resolves a color name in the @context color map. * * Returns: %TRUE if @color_name was found and resolved, %FALSE otherwise + * + * Deprecated: 4.10: This api will be removed in GTK 5 */ gboolean gtk_style_context_lookup_color (GtkStyleContext *context, @@ -850,6 +823,8 @@ gtk_style_context_lookup_color (GtkStyleContext *context, * @color: (out): return value for the foreground color * * Gets the foreground color for a given state. + * + * Deprecated: 4.10: This api will be removed in GTK 5 */ void gtk_style_context_get_color (GtkStyleContext *context, @@ -867,6 +842,8 @@ gtk_style_context_get_color (GtkStyleContext *context, * @border: (out): return value for the border settings * * Gets the border for a given state as a `GtkBorder`. + * + * Deprecated: 4.10: This api will be removed in GTK 5 */ void gtk_style_context_get_border (GtkStyleContext *context, @@ -891,6 +868,8 @@ gtk_style_context_get_border (GtkStyleContext *context, * @padding: (out): return value for the padding settings * * Gets the padding for a given state as a `GtkBorder`. + * + * Deprecated: 4.10: This api will be removed in GTK 5 */ void gtk_style_context_get_padding (GtkStyleContext *context, @@ -915,6 +894,8 @@ gtk_style_context_get_padding (GtkStyleContext *context, * @margin: (out): return value for the margin settings * * Gets the margin for a given state as a `GtkBorder`. + * + * Deprecated: 4.10: This api will be removed in GTK 5 */ void gtk_style_context_get_margin (GtkStyleContext *context, @@ -981,6 +962,8 @@ _gtk_style_context_get_cursor_color (GtkStyleContext *context, * the format of the returned string, it may change. * * Returns: a newly allocated string representing @context + * + * Deprecated: 4.10: This api will be removed in GTK 5 */ char * gtk_style_context_to_string (GtkStyleContext *context, diff --git a/gtk/gtkstylecontext.h b/gtk/deprecated/gtkstylecontext.h similarity index 85% rename from gtk/gtkstylecontext.h rename to gtk/deprecated/gtkstylecontext.h index 21462ef501..b1e9244034 100644 --- a/gtk/gtkstylecontext.h +++ b/gtk/deprecated/gtkstylecontext.h @@ -61,72 +61,64 @@ struct _GtkStyleContextClass GDK_AVAILABLE_IN_ALL GType gtk_style_context_get_type (void) G_GNUC_CONST; -GDK_AVAILABLE_IN_ALL -void gtk_style_context_add_provider_for_display (GdkDisplay *display, - GtkStyleProvider *provider, - guint priority); -GDK_AVAILABLE_IN_ALL -void gtk_style_context_remove_provider_for_display (GdkDisplay *display, - GtkStyleProvider *provider); - -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 void gtk_style_context_add_provider (GtkStyleContext *context, GtkStyleProvider *provider, guint priority); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 void gtk_style_context_remove_provider (GtkStyleContext *context, GtkStyleProvider *provider); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 void gtk_style_context_save (GtkStyleContext *context); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 void gtk_style_context_restore (GtkStyleContext *context); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 void gtk_style_context_set_state (GtkStyleContext *context, GtkStateFlags flags); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 GtkStateFlags gtk_style_context_get_state (GtkStyleContext *context); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 void gtk_style_context_set_scale (GtkStyleContext *context, int scale); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 int gtk_style_context_get_scale (GtkStyleContext *context); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 void gtk_style_context_add_class (GtkStyleContext *context, const char *class_name); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 void gtk_style_context_remove_class (GtkStyleContext *context, const char *class_name); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 gboolean gtk_style_context_has_class (GtkStyleContext *context, const char *class_name); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 void gtk_style_context_set_display (GtkStyleContext *context, GdkDisplay *display); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 GdkDisplay *gtk_style_context_get_display (GtkStyleContext *context); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 gboolean gtk_style_context_lookup_color (GtkStyleContext *context, const char *color_name, GdkRGBA *color); /* Some helper functions to retrieve most common properties */ -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 void gtk_style_context_get_color (GtkStyleContext *context, GdkRGBA *color); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 void gtk_style_context_get_border (GtkStyleContext *context, GtkBorder *border); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 void gtk_style_context_get_padding (GtkStyleContext *context, GtkBorder *padding); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 void gtk_style_context_get_margin (GtkStyleContext *context, GtkBorder *margin); @@ -137,7 +129,7 @@ typedef enum { GTK_STYLE_CONTEXT_PRINT_SHOW_CHANGE = 1 << 2 } GtkStyleContextPrintFlags; -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 char * gtk_style_context_to_string (GtkStyleContext *context, GtkStyleContextPrintFlags flags); diff --git a/gtk/gtkstylecontextprivate.h b/gtk/deprecated/gtkstylecontextprivate.h similarity index 100% rename from gtk/gtkstylecontextprivate.h rename to gtk/deprecated/gtkstylecontextprivate.h diff --git a/gtk/deprecated/meson.build b/gtk/deprecated/meson.build index f6f90dd64b..cd5b182170 100644 --- a/gtk/deprecated/meson.build +++ b/gtk/deprecated/meson.build @@ -25,6 +25,7 @@ gtk_deprecated_sources = [ 'deprecated/gtkiconview.c', 'deprecated/gtkliststore.c', 'deprecated/gtkrender.c', + 'deprecated/gtkstylecontext.c', 'deprecated/gtktreedatalist.c', 'deprecated/gtktreednd.c', 'deprecated/gtktreemodel.c', @@ -65,6 +66,7 @@ gtk_deprecated_headers = [ 'deprecated/gtkiconview.h', 'deprecated/gtkliststore.h', 'deprecated/gtkrender.h', + 'deprecated/gtkstylecontext.h', 'deprecated/gtktreednd.h', 'deprecated/gtktreemodel.h', 'deprecated/gtktreemodelfilter.h', diff --git a/gtk/gtk.h b/gtk/gtk.h index 0bbc5455c4..cf139b5dda 100644 --- a/gtk/gtk.h +++ b/gtk/gtk.h @@ -247,7 +247,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/gtk/gtkcsscolorvalue.c b/gtk/gtkcsscolorvalue.c index 5430489401..4b0b4adfe4 100644 --- a/gtk/gtkcsscolorvalue.c +++ b/gtk/gtkcsscolorvalue.c @@ -22,6 +22,8 @@ #include "gtkcssstylepropertyprivate.h" #include "gtkprivate.h" #include "gtkstylepropertyprivate.h" +#include "gtkcssstyleprivate.h" +#include "gtkstyleproviderprivate.h" #include "gdk/gdkhslaprivate.h" #include "gdk/gdkrgbaprivate.h" diff --git a/gtk/gtkcsskeyframes.c b/gtk/gtkcsskeyframes.c index 33d71ef067..89c4b0b409 100644 --- a/gtk/gtkcsskeyframes.c +++ b/gtk/gtkcsskeyframes.c @@ -19,6 +19,7 @@ #include "gtkcsskeyframesprivate.h" +#include "gtkcssstyleprivate.h" #include "gtkcssarrayvalueprivate.h" #include "gtkcssshorthandpropertyprivate.h" #include "gtkcssstylepropertyprivate.h" diff --git a/gtk/gtkcssnodeprivate.h b/gtk/gtkcssnodeprivate.h index e696ec49bc..c713a87df6 100644 --- a/gtk/gtkcssnodeprivate.h +++ b/gtk/gtkcssnodeprivate.h @@ -24,7 +24,7 @@ #include "gtkcssstylechangeprivate.h" #include "gtkbitmaskprivate.h" #include "gtkcsstypesprivate.h" -#include "gtkstylecontext.h" +#include "deprecated/gtkstylecontext.h" #include "gtklistlistmodelprivate.h" G_BEGIN_DECLS diff --git a/gtk/gtkcssselector.c b/gtk/gtkcssselector.c index 158110c2d1..207d83ac7d 100644 --- a/gtk/gtkcssselector.c +++ b/gtk/gtkcssselector.c @@ -18,12 +18,12 @@ #include "config.h" #include "gtkcssselectorprivate.h" +#include "gtkcssnodeprivate.h" #include #include #include "gtkcssprovider.h" -#include "gtkstylecontextprivate.h" #include #if defined(_MSC_VER) && _MSC_VER >= 1500 diff --git a/gtk/gtkcsstypes.c b/gtk/gtkcsstypes.c index fcbb47ca8d..a4de027420 100644 --- a/gtk/gtkcsstypes.c +++ b/gtk/gtkcsstypes.c @@ -20,7 +20,6 @@ #include "gtkcsstypesprivate.h" #include "gtkcssnumbervalueprivate.h" -#include "gtkstylecontextprivate.h" void gtk_css_change_print (GtkCssChange change, diff --git a/gtk/gtkcsswidgetnode.c b/gtk/gtkcsswidgetnode.c index fcc7682832..c63e367bb5 100644 --- a/gtk/gtkcsswidgetnode.c +++ b/gtk/gtkcsswidgetnode.c @@ -22,7 +22,7 @@ #include "gtkcssanimatedstyleprivate.h" #include "gtkprivate.h" #include "gtksettingsprivate.h" -#include "gtkstylecontextprivate.h" +#include "deprecated/gtkstylecontextprivate.h" #include "gtkwidgetprivate.h" #include "gtkwindowprivate.h" diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c index 2c66e54ea8..c585d7bef8 100644 --- a/gtk/gtkicontheme.c +++ b/gtk/gtkicontheme.c @@ -48,7 +48,6 @@ #include "gtkprivate.h" #include "gtksettingsprivate.h" #include "gtksnapshot.h" -#include "gtkstylecontextprivate.h" #include "gtkstyleproviderprivate.h" #include "gtksymbolicpaintable.h" #include "gtkwidgetprivate.h" diff --git a/gtk/gtkimcontextime.c b/gtk/gtkimcontextime.c index e341925733..33a69f45c5 100644 --- a/gtk/gtkimcontextime.c +++ b/gtk/gtkimcontextime.c @@ -36,7 +36,7 @@ #include "gdk/gdkkeysyms.h" #include "gdk/win32/gdkwin32.h" #include "gtk/gtkimmodule.h" -#include "gtk/gtkstylecontextprivate.h" +#include "gtk/deprecated/gtkstylecontextprivate.h" #include "gtk/gtkcssstyleprivate.h" /* avoid warning */ diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index 7e75048ce8..7593a1fe63 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -45,7 +45,6 @@ #include "gtkpopovermenuprivate.h" #include "gtkorientable.h" #include "gtksizerequest.h" -#include "gtkstylecontextprivate.h" #include "gtkprivate.h" #include "gtkstack.h" #include "gtktypebuiltins.h" diff --git a/gtk/gtkpopovercontent.c b/gtk/gtkpopovercontent.c index 49b0e4a330..06ca8d38eb 100644 --- a/gtk/gtkpopovercontent.c +++ b/gtk/gtkpopovercontent.c @@ -21,8 +21,8 @@ #include "config.h" #include "gtkpopovercontentprivate.h" -#include "gtkstylecontextprivate.h" +#include "gtkcssstylechangeprivate.h" #include "gtkwidgetprivate.h" #include "gtkprivate.h" diff --git a/gtk/gtksettings.c b/gtk/gtksettings.c index d6b97a882e..6215455323 100644 --- a/gtk/gtksettings.c +++ b/gtk/gtksettings.c @@ -23,7 +23,7 @@ #include "gtkcssproviderprivate.h" #include "gtkprivate.h" #include "gtkscrolledwindow.h" -#include "gtkstylecontextprivate.h" +#include "deprecated/gtkstylecontextprivate.h" #include "gtkstyleproviderprivate.h" #include "gtktypebuiltins.h" #include "gtkversion.h" diff --git a/gtk/gtksnapshot.c b/gtk/gtksnapshot.c index 90cbbb8833..7c17a60728 100644 --- a/gtk/gtksnapshot.c +++ b/gtk/gtksnapshot.c @@ -24,7 +24,6 @@ #include "gtkcssshadowvalueprivate.h" #include "gtkdebug.h" #include "gtkrendernodepaintableprivate.h" -#include "gtkstylecontextprivate.h" #include "gsktransformprivate.h" #include "gdk/gdkrgbaprivate.h" diff --git a/gtk/gtkstylepropertyprivate.h b/gtk/gtkstylepropertyprivate.h index b57331dd84..7bd0e7f247 100644 --- a/gtk/gtkstylepropertyprivate.h +++ b/gtk/gtkstylepropertyprivate.h @@ -21,7 +21,6 @@ #include #include "gtk/css/gtkcsstokenizerprivate.h" #include "gtk/css/gtkcssparserprivate.h" -#include "gtkstylecontextprivate.h" #include "gtkcssvalueprivate.h" G_BEGIN_DECLS diff --git a/gtk/gtkstyleprovider.c b/gtk/gtkstyleprovider.c index 19dca70d2a..d7c8af8687 100644 --- a/gtk/gtkstyleprovider.c +++ b/gtk/gtkstyleprovider.c @@ -17,6 +17,7 @@ #include "config.h" +#include "gtksettingsprivate.h" #include "gtkstyleproviderprivate.h" #include "gtkprivate.h" @@ -168,3 +169,65 @@ gtk_style_provider_emit_error (GtkStyleProvider *provider, if (iface->emit_error) iface->emit_error (provider, section, error); } + + +/* These apis are misnamed, and the rest of GtkStyleContext is deprecated, + * so put them here for now + */ + +/** + * gtk_style_context_add_provider_for_display: + * @display: a `GdkDisplay` + * @provider: a `GtkStyleProvider` + * @priority: the priority of the style provider. The lower + * it is, the earlier it will be used in the style construction. + * Typically this will be in the range between + * %GTK_STYLE_PROVIDER_PRIORITY_FALLBACK and + * %GTK_STYLE_PROVIDER_PRIORITY_USER + * + * Adds a global style provider to @display, which will be used + * in style construction for all `GtkStyleContexts` under @display. + * + * GTK uses this to make styling information from `GtkSettings` + * available. + * + * Note: If both priorities are the same, A `GtkStyleProvider` + * added through [method@Gtk.StyleContext.add_provider] takes + * precedence over another added through this function. + */ +void +gtk_style_context_add_provider_for_display (GdkDisplay *display, + GtkStyleProvider *provider, + guint priority) +{ + GtkStyleCascade *cascade; + + g_return_if_fail (GDK_IS_DISPLAY (display)); + g_return_if_fail (GTK_IS_STYLE_PROVIDER (provider)); + g_return_if_fail (!GTK_IS_SETTINGS (provider) || _gtk_settings_get_display (GTK_SETTINGS (provider)) == display); + + cascade = _gtk_settings_get_style_cascade (gtk_settings_get_for_display (display), 1); + _gtk_style_cascade_add_provider (cascade, provider, priority); +} + +/** + * gtk_style_context_remove_provider_for_display: + * @display: a `GdkDisplay` + * @provider: a `GtkStyleProvider` + * + * Removes @provider from the global style providers list in @display. + */ +void +gtk_style_context_remove_provider_for_display (GdkDisplay *display, + GtkStyleProvider *provider) +{ + GtkStyleCascade *cascade; + + g_return_if_fail (GDK_IS_DISPLAY (display)); + g_return_if_fail (GTK_IS_STYLE_PROVIDER (provider)); + g_return_if_fail (!GTK_IS_SETTINGS (provider)); + + cascade = _gtk_settings_get_style_cascade (gtk_settings_get_for_display (display), 1); + _gtk_style_cascade_remove_provider (cascade, provider); +} + diff --git a/gtk/gtkstyleprovider.h b/gtk/gtkstyleprovider.h index 3d696606a8..86de970da8 100644 --- a/gtk/gtkstyleprovider.h +++ b/gtk/gtkstyleprovider.h @@ -90,6 +90,15 @@ GType gtk_style_provider_get_type (void) G_GNUC_CONST; G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkStyleProvider, g_object_unref) +GDK_AVAILABLE_IN_ALL +void gtk_style_context_add_provider_for_display (GdkDisplay *display, + GtkStyleProvider *provider, + guint priority); +GDK_AVAILABLE_IN_ALL +void gtk_style_context_remove_provider_for_display (GdkDisplay *display, + GtkStyleProvider *provider); + + G_END_DECLS #endif /* __GTK_STYLE_PROVIDER_H__ */ diff --git a/gtk/gtkstyleproviderprivate.h b/gtk/gtkstyleproviderprivate.h index 5ee16e3d00..f2652113b2 100644 --- a/gtk/gtkstyleproviderprivate.h +++ b/gtk/gtkstyleproviderprivate.h @@ -19,6 +19,7 @@ #define __GTK_STYLE_PROVIDER_PRIVATE_H__ #include +#include #include "gtk/gtkcountingbloomfilterprivate.h" #include "gtk/gtkcsskeyframesprivate.h" #include "gtk/gtkcsslookupprivate.h" diff --git a/gtk/gtktextutil.c b/gtk/gtktextutil.c index 095d333d9b..a7cc04da61 100644 --- a/gtk/gtktextutil.c +++ b/gtk/gtktextutil.c @@ -28,7 +28,6 @@ #include "gtktextutilprivate.h" #include "gtkcsscolorvalueprivate.h" -#include "gtkstylecontextprivate.h" #include "gtktextbuffer.h" #include "gtktextlayoutprivate.h" #include "gtkwidgetprivate.h" diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 8ef948c304..1aa14bf06b 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -65,7 +65,7 @@ #include "gtkshortcuttrigger.h" #include "gtksizegroup-private.h" #include "gtksnapshotprivate.h" -#include "gtkstylecontextprivate.h" +#include "deprecated/gtkstylecontextprivate.h" #include "gtktooltipprivate.h" #include "gsktransformprivate.h" #include "gtktypebuiltins.h" @@ -2442,8 +2442,10 @@ gtk_widget_root (GtkWidget *widget) priv->root = priv->parent->priv->root; } +G_GNUC_BEGIN_IGNORE_DEPRECATIONS if (priv->context) gtk_style_context_set_display (priv->context, gtk_root_get_display (priv->root)); +G_GNUC_END_IGNORE_DEPRECATIONS if (priv->surface_transform_data) add_parent_surface_transform_changed_listener (widget); @@ -2479,8 +2481,10 @@ gtk_widget_unroot (GtkWidget *widget) GTK_WIDGET_GET_CLASS (widget)->unroot (widget); +G_GNUC_BEGIN_IGNORE_DEPRECATIONS if (priv->context) gtk_style_context_set_display (priv->context, gdk_display_get_default ()); +G_GNUC_END_IGNORE_DEPRECATIONS if (priv->layout_manager) gtk_layout_manager_set_root (priv->layout_manager, NULL); @@ -3410,10 +3414,12 @@ gtk_widget_realize (GtkWidget *widget) g_signal_emit (widget, widget_signals[REALIZE], 0); +G_GNUC_BEGIN_IGNORE_DEPRECATIONS if (priv->context) gtk_style_context_set_scale (priv->context, gtk_widget_get_scale_factor (widget)); else gtk_widget_get_style_context (widget); +G_GNUC_END_IGNORE_DEPRECATIONS gtk_widget_pop_verify_invariants (widget); } @@ -6737,8 +6743,10 @@ _gtk_widget_scale_changed (GtkWidget *widget) g_return_if_fail (GTK_IS_WIDGET (widget)); +G_GNUC_BEGIN_IGNORE_DEPRECATIONS if (priv->context) gtk_style_context_set_scale (priv->context, gtk_widget_get_scale_factor (widget)); +G_GNUC_END_IGNORE_DEPRECATIONS g_object_notify_by_pspec (G_OBJECT (widget), widget_props[PROP_SCALE_FACTOR]); @@ -10712,6 +10720,8 @@ _gtk_widget_peek_style_context (GtkWidget *widget) * for the lifetime of @widget. * * Returns: (transfer none): the widgets `GtkStyleContext` + * + * Deprecated: 4.10: Style contexts will be removed in GTK 5 */ GtkStyleContext * gtk_widget_get_style_context (GtkWidget *widget) @@ -10726,11 +10736,13 @@ gtk_widget_get_style_context (GtkWidget *widget) priv->context = gtk_style_context_new_for_node (priv->cssnode); +G_GNUC_BEGIN_IGNORE_DEPRECATIONS gtk_style_context_set_scale (priv->context, gtk_widget_get_scale_factor (widget)); display = _gtk_widget_get_display (widget); if (display) gtk_style_context_set_display (priv->context, display); +G_GNUC_END_IGNORE_DEPRECATIONS } return priv->context; diff --git a/gtk/gtkwidget.h b/gtk/gtkwidget.h index 8720017bad..5374160dcf 100644 --- a/gtk/gtkwidget.h +++ b/gtk/gtkwidget.h @@ -706,7 +706,7 @@ void gtk_requisition_free (GtkRequisition *requisition); GDK_AVAILABLE_IN_ALL gboolean gtk_widget_in_destruction (GtkWidget *widget); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 GtkStyleContext * gtk_widget_get_style_context (GtkWidget *widget); GDK_AVAILABLE_IN_ALL diff --git a/gtk/gtkwidgetprivate.h b/gtk/gtkwidgetprivate.h index e1e336e6e6..d902e7117f 100644 --- a/gtk/gtkwidgetprivate.h +++ b/gtk/gtkwidgetprivate.h @@ -446,15 +446,6 @@ _gtk_widget_get_display (GtkWidget *widget) return gtk_root_get_display (root); } -static inline GtkStyleContext * -_gtk_widget_get_style_context (GtkWidget *widget) -{ - if (G_LIKELY (widget->priv->context)) - return widget->priv->context; - - return gtk_widget_get_style_context (widget); -} - static inline gpointer _gtk_widget_peek_request_cache (GtkWidget *widget) { diff --git a/gtk/inspector/css-editor.c b/gtk/inspector/css-editor.c index 8047545b62..b1dc9bf701 100644 --- a/gtk/inspector/css-editor.c +++ b/gtk/inspector/css-editor.c @@ -28,7 +28,6 @@ #include "gtkcssprovider.h" #include "gtkstyleprovider.h" -#include "gtkstylecontext.h" #include "gtktextview.h" #include "gtkmessagedialog.h" #include "gtkfilechooserdialog.h" diff --git a/gtk/inspector/graphrenderer.c b/gtk/inspector/graphrenderer.c index 6ade21e5b2..595f82213e 100644 --- a/gtk/inspector/graphrenderer.c +++ b/gtk/inspector/graphrenderer.c @@ -22,7 +22,7 @@ #include "graphdata.h" #include "gtksnapshot.h" -#include "gtkstylecontext.h" +#include "deprecated/gtkstylecontext.h" enum { PROP_0, @@ -155,8 +155,10 @@ graph_renderer_snapshot (GtkWidget *widget, diff = maximum - minimum; +G_GNUC_BEGIN_IGNORE_DEPRECATIONS context = gtk_widget_get_style_context (widget); gtk_style_context_get_color (context, &color); +G_GNUC_END_IGNORE_DEPRECATIONS cr = gtk_snapshot_append_cairo (snapshot, &GRAPHENE_RECT_INIT ( diff --git a/gtk/inspector/window.c b/gtk/inspector/window.c index 1364f34d3f..8c55db19a0 100644 --- a/gtk/inspector/window.c +++ b/gtk/inspector/window.c @@ -63,7 +63,6 @@ #include "gtkrevealer.h" #include "gtklayoutmanager.h" #include "gtkcssprovider.h" -#include "gtkstylecontext.h" #include "gtkwidgetprivate.h" diff --git a/gtk/meson.build b/gtk/meson.build index 4286d14e31..4e7325ad57 100644 --- a/gtk/meson.build +++ b/gtk/meson.build @@ -362,7 +362,6 @@ gtk_public_sources = files([ 'gtkstringfilter.c', 'gtkstringlist.c', 'gtkstringsorter.c', - 'gtkstylecontext.c', 'gtkstyleprovider.c', 'gtkswitch.c', 'gtksymbolicpaintable.c', @@ -602,7 +601,6 @@ gtk_public_headers = files([ 'gtkstringfilter.h', 'gtkstringlist.h', 'gtkstringsorter.h', - 'gtkstylecontext.h', 'gtkstyleprovider.h', 'gtkswitch.h', 'gtksymbolicpaintable.h',