range: move GtkColorScale special case to GtkColorScale

Now we can just tweak the node visibility for it.
This commit is contained in:
Cosimo Cecchi 2016-02-22 18:27:52 -08:00
parent cbbe237c18
commit b6f0b6be87
2 changed files with 6 additions and 7 deletions

View File

@ -23,6 +23,7 @@
#include "gtkgesturelongpress.h" #include "gtkgesturelongpress.h"
#include "gtkcolorutils.h" #include "gtkcolorutils.h"
#include "gtkorientable.h" #include "gtkorientable.h"
#include "gtkrangeprivate.h"
#include "gtkstylecontext.h" #include "gtkstylecontext.h"
#include "gtkaccessible.h" #include "gtkaccessible.h"
#include "gtkprivate.h" #include "gtkprivate.h"
@ -255,6 +256,7 @@ scale_draw (GtkWidget *widget,
static void static void
gtk_color_scale_init (GtkColorScale *scale) gtk_color_scale_init (GtkColorScale *scale)
{ {
GtkCssNode *trough_node;
GtkStyleContext *context; GtkStyleContext *context;
scale->priv = gtk_color_scale_get_instance_private (scale); scale->priv = gtk_color_scale_get_instance_private (scale);
@ -269,6 +271,9 @@ gtk_color_scale_init (GtkColorScale *scale)
context = gtk_widget_get_style_context (GTK_WIDGET (scale)); context = gtk_widget_get_style_context (GTK_WIDGET (scale));
gtk_style_context_add_class (context, "color"); gtk_style_context_add_class (context, "color");
trough_node = gtk_range_get_trough_node (GTK_RANGE (scale));
gtk_css_node_set_visible (trough_node, FALSE);
} }
static void static void

View File

@ -2268,14 +2268,8 @@ gtk_range_draw (GtkWidget *widget,
{ {
GtkRange *range = GTK_RANGE (widget); GtkRange *range = GTK_RANGE (widget);
GtkRangePrivate *priv = range->priv; GtkRangePrivate *priv = range->priv;
gboolean draw_trough = TRUE;
if (GTK_IS_COLOR_SCALE (widget))
draw_trough = FALSE;
if (draw_trough)
gtk_css_gadget_draw (priv->trough_gadget, cr);
gtk_css_gadget_draw (priv->trough_gadget, cr);
gtk_css_gadget_draw (priv->slider_gadget, cr); gtk_css_gadget_draw (priv->slider_gadget, cr);
if (priv->stepper_a_gadget) if (priv->stepper_a_gadget)