GTK_CSS_CHANGE_PARENT_SIBLING_POSITION = (1 << 14),
GTK_CSS_CHANGE_PARENT_SIBLING_STATE = (1 << 15),
/* add more */
+ GTK_CSS_CHANGE_SOURCE = (1 << 16),
+ GTK_CSS_CHANGE_ANIMATE = (1 << 17)
} GtkCssChange;
-#define GTK_CSS_CHANGE_ANY ((1 << 16) - 1)
+#define GTK_CSS_CHANGE_ANY ((1 << 18) - 1)
#define GTK_CSS_CHANGE_ANY_SELF (GTK_CSS_CHANGE_CLASS | GTK_CSS_CHANGE_NAME | GTK_CSS_CHANGE_POSITION | GTK_CSS_CHANGE_STATE)
#define GTK_CSS_CHANGE_ANY_SIBLING (GTK_CSS_CHANGE_SIBLING_CLASS | GTK_CSS_CHANGE_SIBLING_NAME | \
GTK_CSS_CHANGE_SIBLING_POSITION | GTK_CSS_CHANGE_SIBLING_STATE)
GTK_CSS_PROPERTY_BORDER_IMAGE_REPEAT,
GTK_CSS_PROPERTY_BORDER_IMAGE_SLICE,
GTK_CSS_PROPERTY_BORDER_IMAGE_WIDTH,
+ GTK_CSS_PROPERTY_TRANSITION_PROPERTY,
+ GTK_CSS_PROPERTY_TRANSITION_DURATION,
+ GTK_CSS_PROPERTY_TRANSITION_TIMING_FUNCTION,
+ GTK_CSS_PROPERTY_TRANSITION_DELAY,
GTK_CSS_PROPERTY_ENGINE,
- GTK_CSS_PROPERTY_TRANSITION,
GTK_CSS_PROPERTY_GTK_KEY_BINDINGS,
/* add more */
GTK_CSS_PROPERTY_N_PROPERTIES
};
-/* We encode horizontal and vertical repeat in one enum value.
- * This eases parsing and storage, but you need to be aware that
- * you have to "unpack" this value.
- */
-#define GTK_CSS_BACKGROUND_REPEAT_SHIFT (8)
-#define GTK_CSS_BACKGROUND_REPEAT_MASK ((1 << GTK_CSS_BACKGROUND_REPEAT_SHIFT) - 1)
-#define GTK_CSS_BACKGROUND_HORIZONTAL(repeat) ((repeat) & GTK_CSS_BACKGROUND_REPEAT_MASK)
-#define GTK_CSS_BACKGROUND_VERTICAL(repeat) (((repeat) >> GTK_CSS_BACKGROUND_REPEAT_SHIFT) & GTK_CSS_BACKGROUND_REPEAT_MASK)
-typedef enum /*< enum >*/
-{
- GTK_CSS_BACKGROUND_INVALID, /*< skip >*/
- GTK_CSS_BACKGROUND_REPEAT, /* start at one so we know if a value has been set */
- GTK_CSS_BACKGROUND_SPACE,
- GTK_CSS_BACKGROUND_ROUND,
- GTK_CSS_BACKGROUND_NO_REPEAT,
- /* need to hardcode the numer or glib-mkenums makes us into a flags type */
- GTK_CSS_BACKGROUND_REPEAT_X = 1025,
- GTK_CSS_BACKGROUND_REPEAT_Y = 260
-} GtkCssBackgroundRepeat;
-
-typedef enum {
- GTK_CSS_REPEAT_STYLE_STRETCH,
- GTK_CSS_REPEAT_STYLE_REPEAT,
- GTK_CSS_REPEAT_STYLE_ROUND,
- GTK_CSS_REPEAT_STYLE_SPACE
-} GtkCssBorderRepeatStyle;
-
typedef enum /*< skip >*/ {
GTK_CSS_AREA_BORDER_BOX,
GTK_CSS_AREA_PADDING_BOX,
GTK_CSS_RAD,
GTK_CSS_DEG,
GTK_CSS_GRAD,
- GTK_CSS_TURN
+ GTK_CSS_TURN,
+ /* CSS term: <time> */
+ GTK_CSS_S,
+ GTK_CSS_MS,
} GtkCssUnit;
-typedef struct _GtkCssNumber GtkCssNumber;
-typedef struct _GtkCssBackgroundSize GtkCssBackgroundSize;
-typedef struct _GtkCssBackgroundPosition GtkCssBackgroundPosition;
-typedef struct _GtkCssBorderCornerRadius GtkCssBorderCornerRadius;
-typedef struct _GtkCssBorderImageRepeat GtkCssBorderImageRepeat;
-
-struct _GtkCssNumber {
- gdouble value;
- GtkCssUnit unit;
-};
-
-struct _GtkCssBackgroundSize {
- GtkCssNumber width; /* 0 means auto here */
- GtkCssNumber height; /* 0 means auto here */
- guint cover :1;
- guint contain :1;
-};
-
-struct _GtkCssBackgroundPosition {
- GtkCssNumber x;
- GtkCssNumber y;
-};
-
-struct _GtkCssBorderCornerRadius {
- GtkCssNumber horizontal;
- GtkCssNumber vertical;
-};
-
-struct _GtkCssBorderImageRepeat {
- GtkCssBorderRepeatStyle vrepeat;
- GtkCssBorderRepeatStyle hrepeat;
-};
-
-#define GTK_TYPE_CSS_BACKGROUND_SIZE _gtk_css_background_size_get_type ()
-#define GTK_TYPE_CSS_BACKGROUND_POSITION _gtk_css_background_position_get_type ()
-#define GTK_TYPE_CSS_BORDER_CORNER_RADIUS _gtk_css_border_corner_radius_get_type ()
-#define GTK_TYPE_CSS_BORDER_IMAGE_REPEAT _gtk_css_border_image_repeat_get_type ()
-
-GType _gtk_css_background_size_get_type (void);
-GType _gtk_css_background_position_get_type (void);
-GType _gtk_css_border_corner_radius_get_type (void);
-GType _gtk_css_border_image_repeat_get_type (void);
-
GtkCssChange _gtk_css_change_for_sibling (GtkCssChange match);
GtkCssChange _gtk_css_change_for_child (GtkCssChange match);
-#define GTK_CSS_NUMBER_INIT(_value,_unit) { (_value), (_unit) }
-void _gtk_css_number_init (GtkCssNumber *number,
- double value,
- GtkCssUnit unit);
-gboolean _gtk_css_number_equal (const GtkCssNumber *one,
- const GtkCssNumber *two);
-double _gtk_css_number_get (const GtkCssNumber *number,
- double one_hundred_percent);
-gboolean _gtk_css_number_compute (GtkCssNumber *dest,
- const GtkCssNumber *src,
- GtkStyleContext *context);
-void _gtk_css_number_print (const GtkCssNumber *number,
- GString *string);
-
G_END_DECLS