forked from AuroraMiddleware/gtk
8d15efba8f
Just allow calling _get_nth() and _get_n_values() on every kind of css value. This way we can allow all values in places where only array values would be allowed before. This spares us around 1000 array values in the widget factory. css value stats before: GtkCssFilterValue: 3 GtkCssRgbaValue: 1092 GtkCssShadowValue: 708 GtkCssEaseValue: 33 GtkCssBorderValue: 2 GtkCssTransformValue: 11 GtkCssDimensionValue: 882 GtkCssShadowsValue: 584 GtkCssBgSizeValue: 23 GtkCssIdentValue: 25 GtkCssPositionValue: 81 GtkCssCornerValue: 556 GtkCssArrayValue: 1130 GtkCssStringValue: 33 GtkCssPaletteValue: 29 GtkCssImageValue: 2765 GtkCssColorValue: 1452 SUM: 9415 and after: GtkCssBgSizeValue: 23 GtkCssIdentValue: 25 GtkCssPositionValue: 81 GtkCssCornerValue: 556 GtkCssArrayValue: 143 GtkCssStringValue: 33 GtkCssPaletteValue: 29 GtkCssImageValue: 2765 GtkCssColorValue: 1452 GtkCssFilterValue: 3 GtkCssRgbaValue: 1092 GtkCssShadowValue: 708 GtkCssEaseValue: 33 GtkCssBorderValue: 2 GtkCssTransformValue: 11 GtkCssDimensionValue: 882 GtkCssShadowsValue: 584 SUM: 8428 9415 to 8428 is a 987 reduction (10.4%)
43 lines
1.7 KiB
C
43 lines
1.7 KiB
C
/*
|
|
* Copyright © 2012 Red Hat Inc.
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
|
*
|
|
* Authors: Alexander Larsson <alexl@gnome.org>
|
|
*/
|
|
|
|
#ifndef __GTK_CSS_ARRAY_VALUE_PRIVATE_H__
|
|
#define __GTK_CSS_ARRAY_VALUE_PRIVATE_H__
|
|
|
|
#include "gtkcssparserprivate.h"
|
|
#include "gtkcssvalueprivate.h"
|
|
#include "gtktypes.h"
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
GtkCssValue * _gtk_css_array_value_new (GtkCssValue *content);
|
|
GtkCssValue * _gtk_css_array_value_new_from_array (GtkCssValue **values,
|
|
guint n_values);
|
|
GtkCssValue * _gtk_css_array_value_parse (GtkCssParser *parser,
|
|
GtkCssValue * (* parse_func) (GtkCssParser *));
|
|
|
|
GtkCssValue * _gtk_css_array_value_get_nth (GtkCssValue *value,
|
|
guint i);
|
|
guint _gtk_css_array_value_get_n_values (const GtkCssValue *value);
|
|
|
|
|
|
G_END_DECLS
|
|
|
|
#endif /* __GTK_CSS_ARRAY_VALUE_PRIVATE_H__ */
|