stylecontext: Deprecate most apis

The notable exception here are the global provider apis,
which are needed in some form and don't have a replacement
yet. Move them to gtkstyleprovider.[hc], so we can wholly
deprecated gtkstylecontext.[hc].
This commit is contained in:
Matthias Clasen 2022-10-09 23:30:06 -04:00
parent 299fbfd722
commit ee8c2a235f
29 changed files with 160 additions and 112 deletions

View File

@ -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,

View File

@ -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);

View File

@ -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',

View File

@ -247,7 +247,7 @@
#include <gtk/gtkstringfilter.h>
#include <gtk/gtkstringlist.h>
#include <gtk/gtkstringsorter.h>
#include <gtk/gtkstylecontext.h>
#include <gtk/deprecated/gtkstylecontext.h>
#include <gtk/gtkstyleprovider.h>
#include <gtk/gtkswitch.h>
#include <gtk/gtksymbolicpaintable.h>

View File

@ -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"

View File

@ -19,6 +19,7 @@
#include "gtkcsskeyframesprivate.h"
#include "gtkcssstyleprivate.h"
#include "gtkcssarrayvalueprivate.h"
#include "gtkcssshorthandpropertyprivate.h"
#include "gtkcssstylepropertyprivate.h"

View File

@ -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

View File

@ -18,12 +18,12 @@
#include "config.h"
#include "gtkcssselectorprivate.h"
#include "gtkcssnodeprivate.h"
#include <stdlib.h>
#include <string.h>
#include "gtkcssprovider.h"
#include "gtkstylecontextprivate.h"
#include <errno.h>
#if defined(_MSC_VER) && _MSC_VER >= 1500

View File

@ -20,7 +20,6 @@
#include "gtkcsstypesprivate.h"
#include "gtkcssnumbervalueprivate.h"
#include "gtkstylecontextprivate.h"
void
gtk_css_change_print (GtkCssChange change,

View File

@ -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"

View File

@ -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"

View File

@ -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 */

View File

@ -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"

View File

@ -21,8 +21,8 @@
#include "config.h"
#include "gtkpopovercontentprivate.h"
#include "gtkstylecontextprivate.h"
#include "gtkcssstylechangeprivate.h"
#include "gtkwidgetprivate.h"
#include "gtkprivate.h"

View File

@ -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"

View File

@ -24,7 +24,6 @@
#include "gtkcssshadowvalueprivate.h"
#include "gtkdebug.h"
#include "gtkrendernodepaintableprivate.h"
#include "gtkstylecontextprivate.h"
#include "gsktransformprivate.h"
#include "gdk/gdkrgbaprivate.h"

View File

@ -21,7 +21,6 @@
#include <gtk/css/gtkcss.h>
#include "gtk/css/gtkcsstokenizerprivate.h"
#include "gtk/css/gtkcssparserprivate.h"
#include "gtkstylecontextprivate.h"
#include "gtkcssvalueprivate.h"
G_BEGIN_DECLS

View File

@ -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);
}

View File

@ -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__ */

View File

@ -19,6 +19,7 @@
#define __GTK_STYLE_PROVIDER_PRIVATE_H__
#include <glib-object.h>
#include <gtk/gtkstyleprovider.h>
#include "gtk/gtkcountingbloomfilterprivate.h"
#include "gtk/gtkcsskeyframesprivate.h"
#include "gtk/gtkcsslookupprivate.h"

View File

@ -28,7 +28,6 @@
#include "gtktextutilprivate.h"
#include "gtkcsscolorvalueprivate.h"
#include "gtkstylecontextprivate.h"
#include "gtktextbuffer.h"
#include "gtktextlayoutprivate.h"
#include "gtkwidgetprivate.h"

View File

@ -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;

View File

@ -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

View File

@ -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)
{

View File

@ -28,7 +28,6 @@
#include "gtkcssprovider.h"
#include "gtkstyleprovider.h"
#include "gtkstylecontext.h"
#include "gtktextview.h"
#include "gtkmessagedialog.h"
#include "gtkfilechooserdialog.h"

View File

@ -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 (

View File

@ -63,7 +63,6 @@
#include "gtkrevealer.h"
#include "gtklayoutmanager.h"
#include "gtkcssprovider.h"
#include "gtkstylecontext.h"
#include "gtkwidgetprivate.h"

View File

@ -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',