-/* 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 {
+typedef enum /*< skip >*/ {
+ GTK_CSS_DEPENDS_ON_PARENT = (1 << 0),
+ GTK_CSS_EQUALS_PARENT = (1 << 1),
+ GTK_CSS_DEPENDS_ON_COLOR = (1 << 2),
+ GTK_CSS_DEPENDS_ON_FONT_SIZE = (1 << 3)
+} GtkCssDependencies;
+
+enum { /*< skip >*/
+ GTK_CSS_PROPERTY_COLOR,
+ GTK_CSS_PROPERTY_FONT_SIZE,
+ GTK_CSS_PROPERTY_BACKGROUND_COLOR,
+ GTK_CSS_PROPERTY_FONT_FAMILY,
+ GTK_CSS_PROPERTY_FONT_STYLE,
+ GTK_CSS_PROPERTY_FONT_VARIANT,
+ GTK_CSS_PROPERTY_FONT_WEIGHT,
+ GTK_CSS_PROPERTY_TEXT_SHADOW,
+ GTK_CSS_PROPERTY_ICON_SHADOW,
+ GTK_CSS_PROPERTY_BOX_SHADOW,
+ GTK_CSS_PROPERTY_MARGIN_TOP,
+ GTK_CSS_PROPERTY_MARGIN_LEFT,
+ GTK_CSS_PROPERTY_MARGIN_BOTTOM,
+ GTK_CSS_PROPERTY_MARGIN_RIGHT,
+ GTK_CSS_PROPERTY_PADDING_TOP,
+ GTK_CSS_PROPERTY_PADDING_LEFT,
+ GTK_CSS_PROPERTY_PADDING_BOTTOM,
+ GTK_CSS_PROPERTY_PADDING_RIGHT,
+ GTK_CSS_PROPERTY_BORDER_TOP_STYLE,
+ GTK_CSS_PROPERTY_BORDER_TOP_WIDTH,
+ GTK_CSS_PROPERTY_BORDER_LEFT_STYLE,
+ GTK_CSS_PROPERTY_BORDER_LEFT_WIDTH,
+ GTK_CSS_PROPERTY_BORDER_BOTTOM_STYLE,
+ GTK_CSS_PROPERTY_BORDER_BOTTOM_WIDTH,
+ GTK_CSS_PROPERTY_BORDER_RIGHT_STYLE,
+ GTK_CSS_PROPERTY_BORDER_RIGHT_WIDTH,
+ GTK_CSS_PROPERTY_BORDER_TOP_LEFT_RADIUS,
+ GTK_CSS_PROPERTY_BORDER_TOP_RIGHT_RADIUS,
+ GTK_CSS_PROPERTY_BORDER_BOTTOM_RIGHT_RADIUS,
+ GTK_CSS_PROPERTY_BORDER_BOTTOM_LEFT_RADIUS,
+ GTK_CSS_PROPERTY_OUTLINE_STYLE,
+ GTK_CSS_PROPERTY_OUTLINE_WIDTH,
+ GTK_CSS_PROPERTY_OUTLINE_OFFSET,
+ GTK_CSS_PROPERTY_BACKGROUND_CLIP,
+ GTK_CSS_PROPERTY_BACKGROUND_ORIGIN,
+ GTK_CSS_PROPERTY_BACKGROUND_SIZE,
+ GTK_CSS_PROPERTY_BACKGROUND_POSITION,
+ GTK_CSS_PROPERTY_BORDER_TOP_COLOR,
+ GTK_CSS_PROPERTY_BORDER_RIGHT_COLOR,
+ GTK_CSS_PROPERTY_BORDER_BOTTOM_COLOR,
+ GTK_CSS_PROPERTY_BORDER_LEFT_COLOR,
+ GTK_CSS_PROPERTY_OUTLINE_COLOR,
+ GTK_CSS_PROPERTY_BACKGROUND_REPEAT,
+ GTK_CSS_PROPERTY_BACKGROUND_IMAGE,
+ GTK_CSS_PROPERTY_BORDER_IMAGE_SOURCE,
+ 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_ANIMATION_NAME,
+ GTK_CSS_PROPERTY_ANIMATION_DURATION,
+ GTK_CSS_PROPERTY_ANIMATION_TIMING_FUNCTION,
+ GTK_CSS_PROPERTY_ANIMATION_ITERATION_COUNT,
+ GTK_CSS_PROPERTY_ANIMATION_DIRECTION,
+ GTK_CSS_PROPERTY_ANIMATION_PLAY_STATE,
+ GTK_CSS_PROPERTY_ANIMATION_DELAY,
+ GTK_CSS_PROPERTY_ANIMATION_FILL_MODE,
+ GTK_CSS_PROPERTY_OPACITY,
+ GTK_CSS_PROPERTY_ENGINE,
+ GTK_CSS_PROPERTY_GTK_KEY_BINDINGS,
+ /* add more */
+ GTK_CSS_PROPERTY_N_PROPERTIES
+};
+
+typedef enum /*< skip >*/ {