* 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, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __GTK_STYLEPROPERTY_PRIVATE_H__
#include "gtkcssparserprivate.h"
#include "gtkstylecontextprivate.h"
+#include "gtkcssvalueprivate.h"
G_BEGIN_DECLS
typedef struct _GtkStyleProperty GtkStyleProperty;
typedef struct _GtkStylePropertyClass GtkStylePropertyClass;
-typedef enum {
- GTK_STYLE_PROPERTY_INHERIT = (1 << 0)
-} GtkStylePropertyFlags;
-
-typedef GParameter * (* GtkStyleUnpackFunc) (const GValue *value,
- guint *n_params);
-typedef void (* GtkStylePackFunc) (GValue *value,
- GtkStyleProperties *props,
- GtkStateFlags state);
+typedef GtkCssValue * (* GtkStyleQueryFunc) (guint id,
+ gpointer data);
struct _GtkStyleProperty
{
char *name;
GType value_type;
-
- GtkStyleUnpackFunc unpack_func;
- GtkStylePackFunc pack_func;
};
struct _GtkStylePropertyClass
GtkStateFlags state,
const GValue *value);
void (* query) (GtkStyleProperty *property,
- GtkStyleProperties *props,
- GtkStateFlags state,
- GtkStylePropertyContext *context,
- GValue *value);
- gboolean (* parse_value) (GtkStyleProperty * property,
GValue *value,
- GtkCssParser *parser,
- GFile *base);
+ GtkStyleQueryFunc query_func,
+ gpointer query_data);
+ GtkCssValue * (* parse_value) (GtkStyleProperty * property,
+ GtkCssParser *parser);
GHashTable *properties;
};
GType _gtk_style_property_get_type (void) G_GNUC_CONST;
+void _gtk_style_property_init_properties (void);
+
GtkStyleProperty * _gtk_style_property_lookup (const char *name);
const char * _gtk_style_property_get_name (GtkStyleProperty *property);
-gboolean _gtk_style_property_parse_value (GtkStyleProperty * property,
- GValue *value,
- GtkCssParser *parser,
- GFile *base);
+GtkCssValue * _gtk_style_property_parse_value (GtkStyleProperty * property,
+ GtkCssParser *parser);
GType _gtk_style_property_get_value_type(GtkStyleProperty * property);
void _gtk_style_property_query (GtkStyleProperty * property,
- GtkStyleProperties *props,
- GtkStateFlags state,
- GtkStylePropertyContext *context,
- GValue *value);
+ GValue *value,
+ GtkStyleQueryFunc query_func,
+ gpointer query_data);
void _gtk_style_property_assign (GtkStyleProperty *property,
GtkStyleProperties *props,
GtkStateFlags state,