X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkcsstypesprivate.h;h=b2881feaea72a14b67f7c9eb0403b92cd4b87cdf;hb=3b2182e711ace4a2d6843848208224cd7525d530;hp=f8f752c19595535c7192097ca29f664edb7de7cd;hpb=5377169ef33d7b17d953ccd464e64dbd32335c47;p=~andy%2Fgtk diff --git a/gtk/gtkcsstypesprivate.h b/gtk/gtkcsstypesprivate.h index f8f752c19..b2881feae 100644 --- a/gtk/gtkcsstypesprivate.h +++ b/gtk/gtkcsstypesprivate.h @@ -23,6 +23,10 @@ G_BEGIN_DECLS +/* forward declaration for GtkCssValue */ +typedef struct _GtkCssComputedValues GtkCssComputedValues; +typedef struct _GtkStyleProviderPrivate GtkStyleProviderPrivate; /* dummy typedef */ + typedef enum { /*< skip >*/ GTK_CSS_CHANGE_CLASS = (1 << 0), GTK_CSS_CHANGE_NAME = (1 << 1), @@ -36,6 +40,7 @@ typedef enum { /*< skip >*/ GTK_CSS_CHANGE_SIBLING_STATE = (1 << 7), GTK_CSS_CHANGE_PARENT_CLASS = (1 << 8), GTK_CSS_CHANGE_PARENT_NAME = (1 << 9), + GTK_CSS_CHANGE_PARENT_REGION = GTK_CSS_CHANGE_PARENT_NAME, GTK_CSS_CHANGE_PARENT_POSITION = (1 << 10), GTK_CSS_CHANGE_PARENT_STATE = (1 << 11), GTK_CSS_CHANGE_PARENT_SIBLING_CLASS = (1 << 12), @@ -43,9 +48,14 @@ typedef enum { /*< skip >*/ 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), + GTK_CSS_CHANGE_FORCE_INVALIDATE = (1 << 18), + + GTK_CSS_CHANGE_RESERVED_BIT = (1 << 31) /* Used internally in gtkcssselector.c */ } GtkCssChange; -#define GTK_CSS_CHANGE_ANY ((1 << 16) - 1) +#define GTK_CSS_CHANGE_ANY ((1 << 19) - 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) @@ -54,6 +64,13 @@ typedef enum { /*< skip >*/ GTK_CSS_CHANGE_PARENT_POSITION | GTK_CSS_CHANGE_PARENT_SIBLING_POSITION | \ GTK_CSS_CHANGE_PARENT_STATE | GTK_CSS_CHANGE_PARENT_SIBLING_STATE) +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, @@ -107,46 +124,60 @@ enum { /*< skip >*/ 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_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_AREA_CONTENT_BOX } GtkCssArea; +typedef enum /*< skip >*/ { + GTK_CSS_DIRECTION_NORMAL, + GTK_CSS_DIRECTION_REVERSE, + GTK_CSS_DIRECTION_ALTERNATE, + GTK_CSS_DIRECTION_ALTERNATE_REVERSE +} GtkCssDirection; + +typedef enum /*< skip >*/ { + GTK_CSS_PLAY_STATE_RUNNING, + GTK_CSS_PLAY_STATE_PAUSED +} GtkCssPlayState; + +typedef enum /*< skip >*/ { + GTK_CSS_FILL_NONE, + GTK_CSS_FILL_FORWARDS, + GTK_CSS_FILL_BACKWARDS, + GTK_CSS_FILL_BOTH +} GtkCssFillMode; + +typedef enum /*< skip >*/ { + /* relative font sizes */ + GTK_CSS_FONT_SIZE_SMALLER, + GTK_CSS_FONT_SIZE_LARGER, + /* absolute font sizes */ + GTK_CSS_FONT_SIZE_XX_SMALL, + GTK_CSS_FONT_SIZE_X_SMALL, + GTK_CSS_FONT_SIZE_SMALL, + GTK_CSS_FONT_SIZE_MEDIUM, + GTK_CSS_FONT_SIZE_LARGE, + GTK_CSS_FONT_SIZE_X_LARGE, + GTK_CSS_FONT_SIZE_XX_LARGE +} GtkCssFontSize; + /* for the order in arrays */ typedef enum /*< skip >*/ { GTK_CSS_TOP, @@ -186,49 +217,10 @@ typedef enum /*< skip >*/ { GTK_CSS_MS, } GtkCssUnit; -typedef struct _GtkCssNumber GtkCssNumber; -typedef struct _GtkCssBackgroundSize GtkCssBackgroundSize; -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 _GtkCssBorderImageRepeat { - GtkCssBorderRepeatStyle vrepeat; - GtkCssBorderRepeatStyle hrepeat; -}; - -#define GTK_TYPE_CSS_BACKGROUND_SIZE _gtk_css_background_size_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_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); +GtkCssChange _gtk_css_change_for_sibling (GtkCssChange match); +GtkCssChange _gtk_css_change_for_child (GtkCssChange match); +GtkCssDependencies _gtk_css_dependencies_union (GtkCssDependencies first, + GtkCssDependencies second); G_END_DECLS