]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkstylepropertyprivate.h
stylecontext: Do invalidation on first resize container
[~andy/gtk] / gtk / gtkstylepropertyprivate.h
index e50e453684ee53fbf75d5f2c5e1b82ae81d9b226..a92afdc36a0783ce57968cdc0f5f7e17c2f3bb93 100644 (file)
@@ -12,9 +12,7 @@
  * 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__
@@ -22,6 +20,7 @@
 
 #include "gtkcssparserprivate.h"
 #include "gtkstylecontextprivate.h"
+#include "gtkcssvalueprivate.h"
 
 G_BEGIN_DECLS
 
@@ -35,21 +34,8 @@ 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,
-                                                           GtkStylePropertyContext *context);
-typedef gboolean         (* GtkStyleParseFunc)             (GtkCssParser           *parser,
-                                                            GFile                  *base,
-                                                            GValue                 *value);
-typedef void             (* GtkStylePrintFunc)             (const GValue           *value,
-                                                            GString                *string);
+typedef GtkCssValue *   (* GtkStyleQueryFunc)        (guint                   id,
+                                                     gpointer                data);
 
 struct _GtkStyleProperty
 {
@@ -57,12 +43,6 @@ struct _GtkStyleProperty
 
   char *name;
   GType value_type;
-
-  GtkStylePropertyParser    property_parse_func;
-  GtkStyleUnpackFunc        unpack_func;
-  GtkStylePackFunc          pack_func;
-  GtkStyleParseFunc         parse_func;
-  GtkStylePrintFunc         print_func;
 };
 
 struct _GtkStylePropertyClass
@@ -74,42 +54,31 @@ 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);
 
-void                     _gtk_style_property_register      (GParamSpec             *pspec,
-                                                            GtkStylePropertyFlags   flags,
-                                                            GtkStylePropertyParser  property_parse_func,
-                                                            GtkStyleParseFunc       parse_func,
-                                                            GtkStylePrintFunc       print_func,
-                                                            const GValue           *initial_value);
-
-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,