[gtk/deprecate-render: 1/4] stylecontext: Deprecate most apis
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/deprecate-render: 1/4] stylecontext: Deprecate most apis
- Date: Mon, 10 Oct 2022 14:55:25 +0000 (UTC)
commit 128dfb7004627552c1742113e5e8ab11a4ff762e
Author: Matthias Clasen <mclasen redhat com>
Date: Sun Oct 9 23:30:06 2022 -0400
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].
gtk/{ => deprecated}/gtkstylecontext.c | 95 +++++++++++----------------
gtk/{ => deprecated}/gtkstylecontext.h | 46 ++++++-------
gtk/{ => deprecated}/gtkstylecontextprivate.h | 0
gtk/deprecated/meson.build | 2 +
gtk/gtk.h | 2 +-
gtk/gtkcsscolorvalue.c | 2 +
gtk/gtkcsskeyframes.c | 1 +
gtk/gtkcssnodeprivate.h | 2 +-
gtk/gtkcssselector.c | 2 +-
gtk/gtkcsstypes.c | 1 -
gtk/gtkcsswidgetnode.c | 2 +-
gtk/gtkicontheme.c | 1 -
gtk/gtkimcontextime.c | 2 +-
gtk/gtknotebook.c | 1 -
gtk/gtkpopovercontent.c | 2 +-
gtk/gtksettings.c | 2 +-
gtk/gtksnapshot.c | 1 -
gtk/gtkstylepropertyprivate.h | 1 -
gtk/gtkstyleprovider.c | 63 ++++++++++++++++++
gtk/gtkstyleprovider.h | 9 +++
gtk/gtkstyleproviderprivate.h | 1 +
gtk/gtktextutil.c | 1 -
gtk/gtkwidget.c | 14 +++-
gtk/gtkwidget.h | 2 +-
gtk/gtkwidgetprivate.h | 9 ---
gtk/inspector/css-editor.c | 1 -
gtk/inspector/graphrenderer.c | 4 +-
gtk/inspector/window.c | 1 -
gtk/meson.build | 2 -
29 files changed, 160 insertions(+), 112 deletions(-)
---
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..a9155ffd44 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_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_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_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 be using 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 <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>
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 <stdlib.h>
#include <string.h>
#include "gtkcssprovider.h"
-#include "gtkstylecontextprivate.h"
#include <errno.h>
#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 <gtk/css/gtkcss.h>
#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 <glib-object.h>
+#include <gtk/gtkstyleprovider.h>
#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',
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]