#include "gtkcssimagegradientprivate.h"
#include "gtkcssimageprivate.h"
#include "gtkcssimageprivate.h"
+#include "gtkcssnumbervalueprivate.h"
#include "gtkgradient.h"
#include "gtkshadowprivate.h"
#include "gtksymboliccolorprivate.h"
GValue *value)
{
g_value_init (value, G_TYPE_INT);
- g_value_set_int (value, round (_gtk_css_number_get (_gtk_css_value_get_number (css_value), 100)));
+ g_value_set_int (value, round (_gtk_css_number_value_get (css_value, 100)));
}
static GtkCssValue *
GtkCssParser *parser,
GFile *base)
{
- GtkCssNumber number;
-
- if (!_gtk_css_parser_read_number (parser,
- &number,
- GTK_CSS_NUMBER_AS_PIXELS
- | GTK_CSS_PARSE_LENGTH))
- return NULL;
-
- return _gtk_css_value_new_from_number (&number);
+ return _gtk_css_number_value_parse (parser,
+ GTK_CSS_NUMBER_AS_PIXELS
+ | GTK_CSS_PARSE_LENGTH);
}
static GtkCssValue *
GtkStyleContext *context,
GtkCssValue *specified)
{
- GtkCssNumber number;
-
- if (_gtk_css_number_compute (&number,
- _gtk_css_value_get_number (specified),
- context))
- {
- return _gtk_css_value_new_from_number (&number);
- }
- return _gtk_css_value_ref (specified);
+ return _gtk_css_number_value_compute (specified, context);
}
static GtkCssValue *
GtkCssParser *parser,
GFile *base)
{
- GtkCssNumber number;
-
- if (!_gtk_css_parser_read_number (parser,
- &number,
- GTK_CSS_POSITIVE_ONLY
- | GTK_CSS_NUMBER_AS_PIXELS
- | GTK_CSS_PARSE_LENGTH))
- return NULL;
-
- return _gtk_css_value_new_from_number (&number);
+ return _gtk_css_number_value_parse (parser,
+ GTK_CSS_POSITIVE_ONLY
+ | GTK_CSS_NUMBER_AS_PIXELS
+ | GTK_CSS_PARSE_LENGTH);
}
static GtkCssValue *
GtkStyleContext *context,
GtkCssValue *specified)
{
- GtkCssNumber number;
-
- if (_gtk_css_number_compute (&number,
- _gtk_css_value_get_number (specified),
- context))
- return _gtk_css_value_new_from_number (&number);
- return _gtk_css_value_ref (specified);
+ return _gtk_css_number_value_compute (specified, context);
}
static GtkCssValue *
GtkCssParser *parser,
GFile *base)
{
- GtkCssNumber number;
-
- if (!_gtk_css_parser_read_number (parser,
- &number,
- GTK_CSS_POSITIVE_ONLY
- | GTK_CSS_NUMBER_AS_PIXELS
- | GTK_CSS_PARSE_LENGTH))
- return FALSE;
-
- return _gtk_css_value_new_from_number (&number);
+ return _gtk_css_number_value_parse (parser,
+ GTK_CSS_POSITIVE_ONLY
+ | GTK_CSS_NUMBER_AS_PIXELS
+ | GTK_CSS_PARSE_LENGTH);
}
static GtkCssValue *
{
GtkCssStyleProperty *style;
GtkBorderStyle border_style;
- GtkCssNumber number;
/* The -1 is magic that is only true because we register the style
* properties directly after the width properties.
if (border_style == GTK_BORDER_STYLE_NONE ||
border_style == GTK_BORDER_STYLE_HIDDEN)
- {
- _gtk_css_number_init (&number, 0, GTK_CSS_PX);
- }
+ return _gtk_css_number_value_new (0, GTK_CSS_PX);
else
- {
- _gtk_css_number_compute (&number,
- _gtk_css_value_get_number (specified),
- context);
- }
- return _gtk_css_value_new_from_number (&number);
+ return _gtk_css_number_value_compute (specified, context);
}
static GtkCssValue *
_gtk_css_style_property_init_properties (void)
{
char *default_font_family[] = { "Sans", NULL };
- GtkCssNumber number;
GtkCssBackgroundSize default_background_size = { GTK_CSS_NUMBER_INIT (0, GTK_CSS_PX), GTK_CSS_NUMBER_INIT (0, GTK_CSS_PX), FALSE, FALSE };
GtkCssBackgroundPosition default_background_position = { GTK_CSS_NUMBER_INIT (0, GTK_CSS_PERCENT), GTK_CSS_NUMBER_INIT (0, GTK_CSS_PERCENT)};
GtkCssBorderCornerRadius no_corner_radius = { GTK_CSS_NUMBER_INIT (0, GTK_CSS_PX), GTK_CSS_NUMBER_INIT (0, GTK_CSS_PX) };
NULL,
_gtk_css_value_new_take_shadow (NULL));
- _gtk_css_number_init (&number, 0, GTK_CSS_PX);
gtk_css_style_property_register ("margin-top",
G_TYPE_INT,
0,
compute_margin,
query_length_as_int,
NULL,
- _gtk_css_value_new_from_number (&number));
+ _gtk_css_number_value_new (0.0, GTK_CSS_PX));
gtk_css_style_property_register ("margin-left",
G_TYPE_INT,
0,
compute_margin,
query_length_as_int,
NULL,
- _gtk_css_value_new_from_number (&number));
+ _gtk_css_number_value_new (0.0, GTK_CSS_PX));
gtk_css_style_property_register ("margin-bottom",
G_TYPE_INT,
0,
compute_margin,
query_length_as_int,
NULL,
- _gtk_css_value_new_from_number (&number));
+ _gtk_css_number_value_new (0.0, GTK_CSS_PX));
gtk_css_style_property_register ("margin-right",
G_TYPE_INT,
0,
compute_margin,
query_length_as_int,
NULL,
- _gtk_css_value_new_from_number (&number));
+ _gtk_css_number_value_new (0.0, GTK_CSS_PX));
gtk_css_style_property_register ("padding-top",
G_TYPE_INT,
0,
compute_padding,
query_length_as_int,
NULL,
- _gtk_css_value_new_from_number (&number));
+ _gtk_css_number_value_new (0.0, GTK_CSS_PX));
gtk_css_style_property_register ("padding-left",
G_TYPE_INT,
0,
compute_padding,
query_length_as_int,
NULL,
- _gtk_css_value_new_from_number (&number));
+ _gtk_css_number_value_new (0.0, GTK_CSS_PX));
gtk_css_style_property_register ("padding-bottom",
G_TYPE_INT,
0,
compute_padding,
query_length_as_int,
NULL,
- _gtk_css_value_new_from_number (&number));
+ _gtk_css_number_value_new (0.0, GTK_CSS_PX));
gtk_css_style_property_register ("padding-right",
G_TYPE_INT,
0,
compute_padding,
query_length_as_int,
NULL,
- _gtk_css_value_new_from_number (&number));
+ _gtk_css_number_value_new (0.0, GTK_CSS_PX));
/* IMPORTANT: compute_border_width() requires that the border-width
* properties be immeditaly followed by the border-style properties
*/
compute_border_width,
query_length_as_int,
NULL,
- _gtk_css_value_new_from_number (&number));
+ _gtk_css_number_value_new (0.0, GTK_CSS_PX));
gtk_css_style_property_register ("border-left-style",
GTK_TYPE_BORDER_STYLE,
0,
compute_border_width,
query_length_as_int,
NULL,
- _gtk_css_value_new_from_number (&number));
+ _gtk_css_number_value_new (0.0, GTK_CSS_PX));
gtk_css_style_property_register ("border-bottom-style",
GTK_TYPE_BORDER_STYLE,
0,
compute_border_width,
query_length_as_int,
NULL,
- _gtk_css_value_new_from_number (&number));
+ _gtk_css_number_value_new (0.0, GTK_CSS_PX));
gtk_css_style_property_register ("border-right-style",
GTK_TYPE_BORDER_STYLE,
0,
compute_border_width,
query_length_as_int,
NULL,
- _gtk_css_value_new_from_number (&number));
+ _gtk_css_number_value_new (0.0, GTK_CSS_PX));
gtk_css_style_property_register ("border-top-left-radius",
GTK_TYPE_CSS_BORDER_CORNER_RADIUS,
compute_border_width,
query_length_as_int,
NULL,
- _gtk_css_value_new_from_number (&number));
+ _gtk_css_number_value_new (0.0, GTK_CSS_PX));
gtk_css_style_property_register ("outline-offset",
G_TYPE_INT,
0,