theme.h File Reference

Go to the source code of this file.

Data Structures

struct  _MetaFrameLayout
 Various parameters used to calculate the geometry of a frame. More...
struct  _MetaButtonSpace
 The computed size of a button (really just a way of tying its visible and clickable areas together). More...
struct  _MetaFrameGeometry
 Calculated actual geometry of the frame. More...
struct  _MetaColorSpec
struct  _MetaGradientSpec
struct  _MetaAlphaGradientSpec
struct  _MetaDrawInfo
struct  PosToken
 A token, as output by the tokeniser. More...
struct  _MetaDrawSpec
 A computed expression in our simple vector drawing language. More...
struct  _MetaDrawOp
 A single drawing operation in our simple vector drawing language. More...
struct  _MetaDrawOpList
 A list of MetaDrawOp objects. More...
struct  _MetaFrameStyle
 How to draw a frame in a particular state (say, a focussed, non-maximised, resizable frame). More...
struct  _MetaFrameStyleSet
 How to draw frames at different times: when it's maximised or not, shaded or not, when it's focussed or not, and (for non-maximised windows), when it can be horizontally or vertically resized, both, or neither. More...
struct  _MetaTheme
 A theme. More...
struct  _MetaPositionExprEnv

Defines

#define META_THEME_ERROR   (g_quark_from_static_string ("meta-theme-error"))
#define ADDRESS_OF_BUTTON_RECTS(fgeom)   (((char*)(fgeom)) + G_STRUCT_OFFSET (MetaFrameGeometry, close_rect))
#define LENGTH_OF_BUTTON_RECTS   (G_STRUCT_OFFSET (MetaFrameGeometry, right_right_background) + sizeof (GdkRectangle) - G_STRUCT_OFFSET (MetaFrameGeometry, close_rect))
#define MAX_MIDDLE_BACKGROUNDS   (MAX_BUTTONS_PER_CORNER - 2)
#define N_GTK_STATES   5
#define META_THEME_ALLOWS(theme, feature)   (theme->format_version >= feature)
#define META_THEME_SHADE_STICK_ABOVE_BUTTONS   2
#define META_THEME_UBIQUITOUS_CONSTANTS   2
#define META_THEME_VARIED_ROUND_CORNERS   2
#define META_THEME_IMAGES_FROM_ICON_THEMES   2
#define META_THEME_UNRESIZABLE_SHADED_STYLES   2
#define META_THEME_DEGREES_IN_ARCS   2
#define META_THEME_HIDDEN_BUTTONS   2
#define META_THEME_COLOR_CONSTANTS   2
#define META_THEME_FRAME_BACKGROUNDS   2

Typedefs

typedef struct _MetaFrameStyle MetaFrameStyle
typedef struct _MetaFrameStyleSet MetaFrameStyleSet
typedef struct _MetaDrawOp MetaDrawOp
typedef struct _MetaDrawOpList MetaDrawOpList
typedef struct _MetaGradientSpec MetaGradientSpec
typedef struct
_MetaAlphaGradientSpec 
MetaAlphaGradientSpec
typedef struct _MetaColorSpec MetaColorSpec
typedef struct _MetaFrameLayout MetaFrameLayout
typedef struct _MetaButtonSpace MetaButtonSpace
typedef struct _MetaFrameGeometry MetaFrameGeometry
typedef struct _MetaTheme MetaTheme
typedef struct _MetaPositionExprEnv MetaPositionExprEnv
typedef struct _MetaDrawInfo MetaDrawInfo
typedef struct _MetaDrawSpec MetaDrawSpec

Enumerations

enum  MetaThemeError {
  META_THEME_ERROR_FRAME_GEOMETRY, META_THEME_ERROR_BAD_CHARACTER, META_THEME_ERROR_BAD_PARENS, META_THEME_ERROR_UNKNOWN_VARIABLE,
  META_THEME_ERROR_DIVIDE_BY_ZERO, META_THEME_ERROR_MOD_ON_FLOAT, META_THEME_ERROR_FAILED
}
enum  MetaButtonSizing { META_BUTTON_SIZING_ASPECT, META_BUTTON_SIZING_FIXED, META_BUTTON_SIZING_LAST }
 Whether a button's size is calculated from the area around it (aspect sizing) or is given as a fixed height and width in pixels (fixed sizing). More...
enum  MetaImageFillType { META_IMAGE_FILL_SCALE, META_IMAGE_FILL_TILE }
enum  MetaColorSpecType { META_COLOR_SPEC_BASIC, META_COLOR_SPEC_GTK, META_COLOR_SPEC_BLEND, META_COLOR_SPEC_SHADE }
enum  MetaGtkColorComponent {
  META_GTK_COLOR_FG, META_GTK_COLOR_BG, META_GTK_COLOR_LIGHT, META_GTK_COLOR_DARK,
  META_GTK_COLOR_MID, META_GTK_COLOR_TEXT, META_GTK_COLOR_BASE, META_GTK_COLOR_TEXT_AA,
  META_GTK_COLOR_LAST
}
enum  MetaDrawType {
  META_DRAW_LINE, META_DRAW_RECTANGLE, META_DRAW_ARC, META_DRAW_CLIP,
  META_DRAW_TINT, META_DRAW_GRADIENT, META_DRAW_IMAGE, META_DRAW_GTK_ARROW,
  META_DRAW_GTK_BOX, META_DRAW_GTK_VLINE, META_DRAW_ICON, META_DRAW_TITLE,
  META_DRAW_OP_LIST, META_DRAW_TILE
}
 A drawing operation in our simple vector drawing language. More...
enum  PosTokenType {
  POS_TOKEN_INT, POS_TOKEN_DOUBLE, POS_TOKEN_OPERATOR, POS_TOKEN_VARIABLE,
  POS_TOKEN_OPEN_PAREN, POS_TOKEN_CLOSE_PAREN
}
enum  PosOperatorType {
  POS_OP_NONE, POS_OP_ADD, POS_OP_SUBTRACT, POS_OP_MULTIPLY,
  POS_OP_DIVIDE, POS_OP_MOD, POS_OP_MAX, POS_OP_MIN
}
enum  MetaButtonState { META_BUTTON_STATE_NORMAL, META_BUTTON_STATE_PRESSED, META_BUTTON_STATE_PRELIGHT, META_BUTTON_STATE_LAST }
enum  MetaButtonType {
  META_BUTTON_TYPE_LEFT_LEFT_BACKGROUND, META_BUTTON_TYPE_LEFT_MIDDLE_BACKGROUND, META_BUTTON_TYPE_LEFT_RIGHT_BACKGROUND, META_BUTTON_TYPE_RIGHT_LEFT_BACKGROUND,
  META_BUTTON_TYPE_RIGHT_MIDDLE_BACKGROUND, META_BUTTON_TYPE_RIGHT_RIGHT_BACKGROUND, META_BUTTON_TYPE_CLOSE, META_BUTTON_TYPE_MAXIMIZE,
  META_BUTTON_TYPE_MINIMIZE, META_BUTTON_TYPE_MENU, META_BUTTON_TYPE_SHADE, META_BUTTON_TYPE_ABOVE,
  META_BUTTON_TYPE_STICK, META_BUTTON_TYPE_UNSHADE, META_BUTTON_TYPE_UNABOVE, META_BUTTON_TYPE_UNSTICK,
  META_BUTTON_TYPE_LAST
}
enum  MetaMenuIconType {
  META_MENU_ICON_TYPE_CLOSE, META_MENU_ICON_TYPE_MAXIMIZE, META_MENU_ICON_TYPE_UNMAXIMIZE, META_MENU_ICON_TYPE_MINIMIZE,
  META_MENU_ICON_TYPE_LAST
}
enum  MetaFramePiece {
  META_FRAME_PIECE_ENTIRE_BACKGROUND, META_FRAME_PIECE_TITLEBAR, META_FRAME_PIECE_TITLEBAR_MIDDLE, META_FRAME_PIECE_LEFT_TITLEBAR_EDGE,
  META_FRAME_PIECE_RIGHT_TITLEBAR_EDGE, META_FRAME_PIECE_TOP_TITLEBAR_EDGE, META_FRAME_PIECE_BOTTOM_TITLEBAR_EDGE, META_FRAME_PIECE_TITLE,
  META_FRAME_PIECE_LEFT_EDGE, META_FRAME_PIECE_RIGHT_EDGE, META_FRAME_PIECE_BOTTOM_EDGE, META_FRAME_PIECE_OVERLAY,
  META_FRAME_PIECE_LAST
}
enum  MetaFrameState {
  META_FRAME_STATE_NORMAL, META_FRAME_STATE_MAXIMIZED, META_FRAME_STATE_SHADED, META_FRAME_STATE_MAXIMIZED_AND_SHADED,
  META_FRAME_STATE_LAST
}
enum  MetaFrameResize {
  META_FRAME_RESIZE_NONE, META_FRAME_RESIZE_VERTICAL, META_FRAME_RESIZE_HORIZONTAL, META_FRAME_RESIZE_BOTH,
  META_FRAME_RESIZE_LAST
}
enum  MetaFrameFocus { META_FRAME_FOCUS_NO, META_FRAME_FOCUS_YES, META_FRAME_FOCUS_LAST }

Functions

MetaFrameLayoutmeta_frame_layout_new (void)
 Creates a new, empty MetaFrameLayout.
MetaFrameLayoutmeta_frame_layout_copy (const MetaFrameLayout *src)
void meta_frame_layout_ref (MetaFrameLayout *layout)
void meta_frame_layout_unref (MetaFrameLayout *layout)
void meta_frame_layout_get_borders (const MetaFrameLayout *layout, int text_height, MetaFrameFlags flags, int *top_height, int *bottom_height, int *left_width, int *right_width)
void meta_frame_layout_calc_geometry (const MetaFrameLayout *layout, int text_height, MetaFrameFlags flags, int client_width, int client_height, const MetaButtonLayout *button_layout, MetaFrameGeometry *fgeom, MetaTheme *theme)
gboolean meta_frame_layout_validate (const MetaFrameLayout *layout, GError **error)
gboolean meta_parse_position_expression (MetaDrawSpec *spec, const MetaPositionExprEnv *env, int *x_return, int *y_return, GError **err)
gboolean meta_parse_size_expression (MetaDrawSpec *spec, const MetaPositionExprEnv *env, int *val_return, GError **err)
MetaDrawSpecmeta_draw_spec_new (MetaTheme *theme, const char *expr, GError **error)
void meta_draw_spec_free (MetaDrawSpec *spec)
MetaColorSpecmeta_color_spec_new (MetaColorSpecType type)
MetaColorSpecmeta_color_spec_new_from_string (const char *str, GError **err)
MetaColorSpecmeta_color_spec_new_gtk (MetaGtkColorComponent component, GtkStateType state)
void meta_color_spec_free (MetaColorSpec *spec)
void meta_color_spec_render (MetaColorSpec *spec, GtkWidget *widget, GdkColor *color)
MetaDrawOpmeta_draw_op_new (MetaDrawType type)
void meta_draw_op_free (MetaDrawOp *op)
void meta_draw_op_draw (const MetaDrawOp *op, GtkWidget *widget, GdkDrawable *drawable, const GdkRectangle *clip, const MetaDrawInfo *info, MetaRectangle logical_region)
MetaDrawOpListmeta_draw_op_list_new (int n_preallocs)
void meta_draw_op_list_ref (MetaDrawOpList *op_list)
void meta_draw_op_list_unref (MetaDrawOpList *op_list)
void meta_draw_op_list_draw (const MetaDrawOpList *op_list, GtkWidget *widget, GdkDrawable *drawable, const GdkRectangle *clip, const MetaDrawInfo *info, MetaRectangle rect)
void meta_draw_op_list_append (MetaDrawOpList *op_list, MetaDrawOp *op)
gboolean meta_draw_op_list_validate (MetaDrawOpList *op_list, GError **error)
gboolean meta_draw_op_list_contains (MetaDrawOpList *op_list, MetaDrawOpList *child)
MetaGradientSpecmeta_gradient_spec_new (MetaGradientType type)
void meta_gradient_spec_free (MetaGradientSpec *desc)
GdkPixbuf * meta_gradient_spec_render (const MetaGradientSpec *desc, GtkWidget *widget, int width, int height)
gboolean meta_gradient_spec_validate (MetaGradientSpec *spec, GError **error)
MetaAlphaGradientSpecmeta_alpha_gradient_spec_new (MetaGradientType type, int n_alphas)
void meta_alpha_gradient_spec_free (MetaAlphaGradientSpec *spec)
MetaFrameStylemeta_frame_style_new (MetaFrameStyle *parent)
 Constructor for a MetaFrameStyle.
void meta_frame_style_ref (MetaFrameStyle *style)
 Increases the reference count of a frame style.
void meta_frame_style_unref (MetaFrameStyle *style)
void meta_frame_style_draw (MetaFrameStyle *style, GtkWidget *widget, GdkDrawable *drawable, int x_offset, int y_offset, const GdkRectangle *clip, const MetaFrameGeometry *fgeom, int client_width, int client_height, PangoLayout *title_layout, int text_height, MetaButtonState button_states[META_BUTTON_TYPE_LAST], GdkPixbuf *mini_icon, GdkPixbuf *icon)
gboolean meta_frame_style_validate (MetaFrameStyle *style, guint current_theme_version, GError **error)
MetaFrameStyleSetmeta_frame_style_set_new (MetaFrameStyleSet *parent)
void meta_frame_style_set_ref (MetaFrameStyleSet *style_set)
void meta_frame_style_set_unref (MetaFrameStyleSet *style_set)
gboolean meta_frame_style_set_validate (MetaFrameStyleSet *style_set, GError **error)
MetaThememeta_theme_get_current (void)
void meta_theme_set_current (const char *name, gboolean force_reload)
MetaThememeta_theme_new (void)
void meta_theme_free (MetaTheme *theme)
gboolean meta_theme_validate (MetaTheme *theme, GError **error)
GdkPixbuf * meta_theme_load_image (MetaTheme *theme, const char *filename, guint size_of_theme_icons, GError **error)
MetaFrameStylemeta_theme_get_frame_style (MetaTheme *theme, MetaFrameType type, MetaFrameFlags flags)
double meta_theme_get_title_scale (MetaTheme *theme, MetaFrameType type, MetaFrameFlags flags)
void meta_theme_draw_frame (MetaTheme *theme, GtkWidget *widget, GdkDrawable *drawable, const GdkRectangle *clip, int x_offset, int y_offset, MetaFrameType type, MetaFrameFlags flags, int client_width, int client_height, PangoLayout *title_layout, int text_height, const MetaButtonLayout *button_layout, MetaButtonState button_states[META_BUTTON_TYPE_LAST], GdkPixbuf *mini_icon, GdkPixbuf *icon)
void meta_theme_get_frame_borders (MetaTheme *theme, MetaFrameType type, int text_height, MetaFrameFlags flags, int *top_height, int *bottom_height, int *left_width, int *right_width)
void meta_theme_calc_geometry (MetaTheme *theme, MetaFrameType type, int text_height, MetaFrameFlags flags, int client_width, int client_height, const MetaButtonLayout *button_layout, MetaFrameGeometry *fgeom)
MetaFrameLayoutmeta_theme_lookup_layout (MetaTheme *theme, const char *name)
void meta_theme_insert_layout (MetaTheme *theme, const char *name, MetaFrameLayout *layout)
MetaDrawOpListmeta_theme_lookup_draw_op_list (MetaTheme *theme, const char *name)
void meta_theme_insert_draw_op_list (MetaTheme *theme, const char *name, MetaDrawOpList *op_list)
MetaFrameStylemeta_theme_lookup_style (MetaTheme *theme, const char *name)
void meta_theme_insert_style (MetaTheme *theme, const char *name, MetaFrameStyle *style)
MetaFrameStyleSetmeta_theme_lookup_style_set (MetaTheme *theme, const char *name)
void meta_theme_insert_style_set (MetaTheme *theme, const char *name, MetaFrameStyleSet *style_set)
gboolean meta_theme_define_int_constant (MetaTheme *theme, const char *name, int value, GError **error)
gboolean meta_theme_lookup_int_constant (MetaTheme *theme, const char *name, int *value)
gboolean meta_theme_define_float_constant (MetaTheme *theme, const char *name, double value, GError **error)
gboolean meta_theme_lookup_float_constant (MetaTheme *theme, const char *name, double *value)
gboolean meta_theme_define_color_constant (MetaTheme *theme, const char *name, const char *value, GError **error)
gboolean meta_theme_lookup_color_constant (MetaTheme *theme, const char *name, char **value)
gboolean meta_theme_replace_constants (MetaTheme *theme, PosToken *tokens, int n_tokens, GError **err)
PangoFontDescription * meta_gtk_widget_get_font_desc (GtkWidget *widget, double scale, const PangoFontDescription *override)
int meta_pango_font_desc_get_text_height (const PangoFontDescription *font_desc, PangoContext *context)
MetaGtkColorComponent meta_color_component_from_string (const char *str)
const char * meta_color_component_to_string (MetaGtkColorComponent component)
MetaButtonState meta_button_state_from_string (const char *str)
const char * meta_button_state_to_string (MetaButtonState state)
MetaButtonType meta_button_type_from_string (const char *str, MetaTheme *theme)
const char * meta_button_type_to_string (MetaButtonType type)
MetaFramePiece meta_frame_piece_from_string (const char *str)
const char * meta_frame_piece_to_string (MetaFramePiece piece)
MetaFrameState meta_frame_state_from_string (const char *str)
const char * meta_frame_state_to_string (MetaFrameState state)
MetaFrameResize meta_frame_resize_from_string (const char *str)
const char * meta_frame_resize_to_string (MetaFrameResize resize)
MetaFrameFocus meta_frame_focus_from_string (const char *str)
const char * meta_frame_focus_to_string (MetaFrameFocus focus)
MetaFrameType meta_frame_type_from_string (const char *str)
const char * meta_frame_type_to_string (MetaFrameType type)
MetaGradientType meta_gradient_type_from_string (const char *str)
const char * meta_gradient_type_to_string (MetaGradientType type)
GtkStateType meta_gtk_state_from_string (const char *str)
const char * meta_gtk_state_to_string (GtkStateType state)
GtkShadowType meta_gtk_shadow_from_string (const char *str)
const char * meta_gtk_shadow_to_string (GtkShadowType shadow)
GtkArrowType meta_gtk_arrow_from_string (const char *str)
const char * meta_gtk_arrow_to_string (GtkArrowType arrow)
MetaImageFillType meta_image_fill_type_from_string (const char *str)
const char * meta_image_fill_type_to_string (MetaImageFillType fill_type)
guint meta_theme_earliest_version_with_button (MetaButtonType type)


Define Documentation

#define ADDRESS_OF_BUTTON_RECTS ( fgeom   )     (((char*)(fgeom)) + G_STRUCT_OFFSET (MetaFrameGeometry, close_rect))

Definition at line 187 of file theme.h.

Referenced by meta_frame_layout_calc_geometry().

#define LENGTH_OF_BUTTON_RECTS   (G_STRUCT_OFFSET (MetaFrameGeometry, right_right_background) + sizeof (GdkRectangle) - G_STRUCT_OFFSET (MetaFrameGeometry, close_rect))

Definition at line 188 of file theme.h.

Referenced by meta_frame_layout_calc_geometry().

#define MAX_MIDDLE_BACKGROUNDS   (MAX_BUTTONS_PER_CORNER - 2)

Definition at line 202 of file theme.h.

Referenced by meta_frame_style_draw().

#define META_THEME_ALLOWS ( theme,
feature   )     (theme->format_version >= feature)

#define META_THEME_COLOR_CONSTANTS   2

Definition at line 1121 of file theme.h.

Referenced by parse_color().

#define META_THEME_DEGREES_IN_ARCS   2

Definition at line 1119 of file theme.h.

Referenced by parse_draw_op_element().

#define META_THEME_ERROR   (g_quark_from_static_string ("meta-theme-error"))

#define META_THEME_FRAME_BACKGROUNDS   2

Definition at line 1122 of file theme.h.

Referenced by parse_toplevel_element().

#define META_THEME_HIDDEN_BUTTONS   2

Definition at line 1120 of file theme.h.

Referenced by parse_toplevel_element().

#define META_THEME_IMAGES_FROM_ICON_THEMES   2

Definition at line 1117 of file theme.h.

Referenced by meta_theme_load_image().

#define META_THEME_SHADE_STICK_ABOVE_BUTTONS   2

Definition at line 1114 of file theme.h.

Referenced by meta_button_type_from_string(), and rect_for_function().

#define META_THEME_UBIQUITOUS_CONSTANTS   2

Definition at line 1115 of file theme.h.

Referenced by parse_positive_integer().

#define META_THEME_UNRESIZABLE_SHADED_STYLES   2

Definition at line 1118 of file theme.h.

Referenced by parse_style_set_element().

#define META_THEME_VARIED_ROUND_CORNERS   2

Definition at line 1116 of file theme.h.

Referenced by parse_rounding().

#define N_GTK_STATES   5

Definition at line 662 of file theme.h.

Referenced by meta_color_spec_new_from_string().


Typedef Documentation

Definition at line 37 of file theme.h.

Definition at line 40 of file theme.h.

typedef struct _MetaColorSpec MetaColorSpec

Definition at line 38 of file theme.h.

typedef struct _MetaDrawInfo MetaDrawInfo

Definition at line 44 of file theme.h.

typedef struct _MetaDrawOp MetaDrawOp

Definition at line 34 of file theme.h.

Definition at line 35 of file theme.h.

Definition at line 41 of file theme.h.

Definition at line 39 of file theme.h.

Definition at line 32 of file theme.h.

Definition at line 33 of file theme.h.

Definition at line 36 of file theme.h.

Definition at line 43 of file theme.h.

typedef struct _MetaTheme MetaTheme

Definition at line 42 of file theme.h.


Enumeration Type Documentation

Whether a button's size is calculated from the area around it (aspect sizing) or is given as a fixed height and width in pixels (fixed sizing).

Bug:
This could be done away with; see the comment at the top of MetaFrameLayout.
Enumerator:
META_BUTTON_SIZING_ASPECT 
META_BUTTON_SIZING_FIXED 
META_BUTTON_SIZING_LAST 

Definition at line 66 of file theme.h.

Enumerator:
META_BUTTON_STATE_NORMAL 
META_BUTTON_STATE_PRESSED 
META_BUTTON_STATE_PRELIGHT 
META_BUTTON_STATE_LAST 

Definition at line 578 of file theme.h.

Enumerator:
META_BUTTON_TYPE_LEFT_LEFT_BACKGROUND 
META_BUTTON_TYPE_LEFT_MIDDLE_BACKGROUND 
META_BUTTON_TYPE_LEFT_RIGHT_BACKGROUND 
META_BUTTON_TYPE_RIGHT_LEFT_BACKGROUND 
META_BUTTON_TYPE_RIGHT_MIDDLE_BACKGROUND 
META_BUTTON_TYPE_RIGHT_RIGHT_BACKGROUND 
META_BUTTON_TYPE_CLOSE 
META_BUTTON_TYPE_MAXIMIZE 
META_BUTTON_TYPE_MINIMIZE 
META_BUTTON_TYPE_MENU 
META_BUTTON_TYPE_SHADE 
META_BUTTON_TYPE_ABOVE 
META_BUTTON_TYPE_STICK 
META_BUTTON_TYPE_UNSHADE 
META_BUTTON_TYPE_UNABOVE 
META_BUTTON_TYPE_UNSTICK 
META_BUTTON_TYPE_LAST 

Definition at line 586 of file theme.h.

Enumerator:
META_COLOR_SPEC_BASIC 
META_COLOR_SPEC_GTK 
META_COLOR_SPEC_BLEND 
META_COLOR_SPEC_SHADE 

Definition at line 224 of file theme.h.

A drawing operation in our simple vector drawing language.

Enumerator:
META_DRAW_LINE  Basic drawing-- line.
META_DRAW_RECTANGLE  Basic drawing-- rectangle.
META_DRAW_ARC  Basic drawing-- arc.
META_DRAW_CLIP  Clip to a rectangle.
META_DRAW_TINT  Just a filled rectangle with alpha.
META_DRAW_GRADIENT 
META_DRAW_IMAGE 
META_DRAW_GTK_ARROW  GTK theme engine stuff.
META_DRAW_GTK_BOX 
META_DRAW_GTK_VLINE 
META_DRAW_ICON  App's window icon.
META_DRAW_TITLE  App's window title.
META_DRAW_OP_LIST  a draw op list
META_DRAW_TILE  tiled draw op list

Definition at line 299 of file theme.h.

Enumerator:
META_FRAME_FOCUS_NO 
META_FRAME_FOCUS_YES 
META_FRAME_FOCUS_LAST 

Definition at line 731 of file theme.h.

Enumerator:
META_FRAME_PIECE_ENTIRE_BACKGROUND 
META_FRAME_PIECE_TITLEBAR 
META_FRAME_PIECE_TITLEBAR_MIDDLE 
META_FRAME_PIECE_LEFT_TITLEBAR_EDGE 
META_FRAME_PIECE_RIGHT_TITLEBAR_EDGE 
META_FRAME_PIECE_TOP_TITLEBAR_EDGE 
META_FRAME_PIECE_BOTTOM_TITLEBAR_EDGE 
META_FRAME_PIECE_TITLE 
META_FRAME_PIECE_LEFT_EDGE 
META_FRAME_PIECE_RIGHT_EDGE 
META_FRAME_PIECE_BOTTOM_EDGE 
META_FRAME_PIECE_OVERLAY 
META_FRAME_PIECE_LAST 

Definition at line 617 of file theme.h.

Enumerator:
META_FRAME_RESIZE_NONE 
META_FRAME_RESIZE_VERTICAL 
META_FRAME_RESIZE_HORIZONTAL 
META_FRAME_RESIZE_BOTH 
META_FRAME_RESIZE_LAST 

Definition at line 722 of file theme.h.

Enumerator:
META_FRAME_STATE_NORMAL 
META_FRAME_STATE_MAXIMIZED 
META_FRAME_STATE_SHADED 
META_FRAME_STATE_MAXIMIZED_AND_SHADED 
META_FRAME_STATE_LAST 

Definition at line 713 of file theme.h.

Enumerator:
META_GTK_COLOR_FG 
META_GTK_COLOR_BG 
META_GTK_COLOR_LIGHT 
META_GTK_COLOR_DARK 
META_GTK_COLOR_MID 
META_GTK_COLOR_TEXT 
META_GTK_COLOR_BASE 
META_GTK_COLOR_TEXT_AA 
META_GTK_COLOR_LAST 

Definition at line 232 of file theme.h.

Enumerator:
META_IMAGE_FILL_SCALE 
META_IMAGE_FILL_TILE 

Definition at line 218 of file theme.h.

Enumerator:
META_MENU_ICON_TYPE_CLOSE 
META_MENU_ICON_TYPE_MAXIMIZE 
META_MENU_ICON_TYPE_UNMAXIMIZE 
META_MENU_ICON_TYPE_MINIMIZE 
META_MENU_ICON_TYPE_LAST 

Definition at line 608 of file theme.h.

Enumerator:
META_THEME_ERROR_FRAME_GEOMETRY 
META_THEME_ERROR_BAD_CHARACTER 
META_THEME_ERROR_BAD_PARENS 
META_THEME_ERROR_UNKNOWN_VARIABLE 
META_THEME_ERROR_DIVIDE_BY_ZERO 
META_THEME_ERROR_MOD_ON_FLOAT 
META_THEME_ERROR_FAILED 

Definition at line 48 of file theme.h.

Enumerator:
POS_OP_NONE 
POS_OP_ADD 
POS_OP_SUBTRACT 
POS_OP_MULTIPLY 
POS_OP_DIVIDE 
POS_OP_MOD 
POS_OP_MAX 
POS_OP_MIN 

Definition at line 343 of file theme.h.

Enumerator:
POS_TOKEN_INT 
POS_TOKEN_DOUBLE 
POS_TOKEN_OPERATOR 
POS_TOKEN_VARIABLE 
POS_TOKEN_OPEN_PAREN 
POS_TOKEN_CLOSE_PAREN 

Definition at line 333 of file theme.h.


Function Documentation

void meta_alpha_gradient_spec_free ( MetaAlphaGradientSpec spec  ) 

MetaAlphaGradientSpec* meta_alpha_gradient_spec_new ( MetaGradientType  type,
int  n_alphas 
)

MetaButtonState meta_button_state_from_string ( const char *  str  ) 

const char* meta_button_state_to_string ( MetaButtonState  state  ) 

MetaButtonType meta_button_type_from_string ( const char *  str,
MetaTheme theme 
)

const char* meta_button_type_to_string ( MetaButtonType  type  ) 

MetaGtkColorComponent meta_color_component_from_string ( const char *  str  ) 

const char* meta_color_component_to_string ( MetaGtkColorComponent  component  ) 

void meta_color_spec_free ( MetaColorSpec spec  ) 

MetaColorSpec* meta_color_spec_new ( MetaColorSpecType  type  ) 

MetaColorSpec* meta_color_spec_new_from_string ( const char *  str,
GError **  err 
)

MetaColorSpec* meta_color_spec_new_gtk ( MetaGtkColorComponent  component,
GtkStateType  state 
)

void meta_color_spec_render ( MetaColorSpec spec,
GtkWidget *  widget,
GdkColor *  color 
)

void meta_draw_op_draw ( const MetaDrawOp op,
GtkWidget *  widget,
GdkDrawable *  drawable,
const GdkRectangle *  clip,
const MetaDrawInfo info,
MetaRectangle  logical_region 
)

Definition at line 3815 of file theme.c.

References fill_env(), and meta_draw_op_draw_with_env().

void meta_draw_op_free ( MetaDrawOp op  ) 

void meta_draw_op_list_append ( MetaDrawOpList op_list,
MetaDrawOp op 
)

gboolean meta_draw_op_list_contains ( MetaDrawOpList op_list,
MetaDrawOpList child 
)

void meta_draw_op_list_draw ( const MetaDrawOpList op_list,
GtkWidget *  widget,
GdkDrawable *  drawable,
const GdkRectangle *  clip,
const MetaDrawInfo info,
MetaRectangle  rect 
)

MetaDrawOpList* meta_draw_op_list_new ( int  n_preallocs  ) 

void meta_draw_op_list_ref ( MetaDrawOpList op_list  ) 

void meta_draw_op_list_unref ( MetaDrawOpList op_list  ) 

gboolean meta_draw_op_list_validate ( MetaDrawOpList op_list,
GError **  error 
)

Definition at line 3961 of file theme.c.

References FALSE, NULL, and TRUE.

Referenced by end_element_handler().

MetaDrawOp* meta_draw_op_new ( MetaDrawType  type  ) 

void meta_draw_spec_free ( MetaDrawSpec spec  ) 

Definition at line 2648 of file theme.c.

References free_tokens(), _MetaDrawSpec::n_tokens, and _MetaDrawSpec::tokens.

Referenced by meta_draw_op_free(), and meta_draw_spec_new().

MetaDrawSpec* meta_draw_spec_new ( MetaTheme theme,
const char *  expr,
GError **  error 
)

MetaFrameFocus meta_frame_focus_from_string ( const char *  str  ) 

Definition at line 5749 of file theme.c.

References META_FRAME_FOCUS_LAST, META_FRAME_FOCUS_NO, and META_FRAME_FOCUS_YES.

Referenced by parse_style_set_element().

const char* meta_frame_focus_to_string ( MetaFrameFocus  focus  ) 

void meta_frame_layout_calc_geometry ( const MetaFrameLayout layout,
int  text_height,
MetaFrameFlags  flags,
int  client_width,
int  client_height,
const MetaButtonLayout button_layout,
MetaFrameGeometry fgeom,
MetaTheme theme 
)

Definition at line 586 of file theme.c.

References _MetaFrameGeometry::above_rect, ADDRESS_OF_BUTTON_RECTS, _MetaFrameGeometry::bottom_height, _MetaFrameLayout::bottom_left_corner_rounded_radius, _MetaFrameGeometry::bottom_left_corner_rounded_radius, _MetaFrameLayout::bottom_right_corner_rounded_radius, _MetaFrameGeometry::bottom_right_corner_rounded_radius, _MetaFrameGeometry::bottom_titlebar_edge, _MetaFrameLayout::button_aspect, _MetaFrameLayout::button_border, _MetaFrameLayout::button_height, _MetaFrameLayout::button_sizing, _MetaFrameLayout::button_width, _MetaButtonSpace::clickable, _MetaFrameGeometry::close_rect, FALSE, _MetaFrameGeometry::height, _MetaFrameLayout::hide_buttons, _MetaButtonLayout::left_buttons, _MetaButtonLayout::left_buttons_has_spacer, _MetaFrameGeometry::left_left_background, _MetaFrameGeometry::left_middle_backgrounds, _MetaFrameGeometry::left_right_background, _MetaFrameLayout::left_titlebar_edge, _MetaFrameGeometry::left_titlebar_edge, _MetaFrameGeometry::left_width, LENGTH_OF_BUTTON_RECTS, MAX_BUTTONS_PER_CORNER, _MetaFrameGeometry::max_rect, _MetaFrameGeometry::menu_rect, meta_bug(), META_BUTTON_FUNCTION_LAST, META_BUTTON_SIZING_ASPECT, META_BUTTON_SIZING_FIXED, META_BUTTON_SIZING_LAST, meta_frame_layout_get_borders(), META_FRAME_MAXIMIZED, META_FRAME_SHADED, _MetaFrameGeometry::min_rect, NULL, rect_for_function(), _MetaButtonLayout::right_buttons, _MetaButtonLayout::right_buttons_has_spacer, _MetaFrameGeometry::right_left_background, _MetaFrameGeometry::right_middle_backgrounds, _MetaFrameGeometry::right_right_background, _MetaFrameLayout::right_titlebar_edge, _MetaFrameGeometry::right_titlebar_edge, _MetaFrameLayout::right_width, _MetaFrameGeometry::right_width, _MetaFrameGeometry::shade_rect, _MetaFrameGeometry::stick_rect, strip_button(), _MetaFrameLayout::title_border, _MetaFrameGeometry::title_rect, _MetaFrameGeometry::top_height, _MetaFrameLayout::top_left_corner_rounded_radius, _MetaFrameGeometry::top_left_corner_rounded_radius, _MetaFrameLayout::top_right_corner_rounded_radius, _MetaFrameGeometry::top_right_corner_rounded_radius, _MetaFrameGeometry::top_titlebar_edge, _MetaButtonSpace::visible, and _MetaFrameGeometry::width.

Referenced by meta_theme_calc_geometry(), and meta_theme_draw_frame().

MetaFrameLayout* meta_frame_layout_copy ( const MetaFrameLayout src  ) 

Definition at line 367 of file theme.c.

References _MetaFrameLayout::refcount.

Referenced by parse_toplevel_element().

void meta_frame_layout_get_borders ( const MetaFrameLayout layout,
int  text_height,
MetaFrameFlags  flags,
int *  top_height,
int *  bottom_height,
int *  left_width,
int *  right_width 
)

MetaFrameLayout* meta_frame_layout_new ( void   ) 

void meta_frame_layout_ref ( MetaFrameLayout layout  ) 

Definition at line 381 of file theme.c.

References NULL, and _MetaFrameLayout::refcount.

Referenced by meta_theme_insert_layout(), and parse_toplevel_element().

void meta_frame_layout_unref ( MetaFrameLayout layout  ) 

gboolean meta_frame_layout_validate ( const MetaFrameLayout layout,
GError **  error 
)

MetaFramePiece meta_frame_piece_from_string ( const char *  str  ) 

const char* meta_frame_piece_to_string ( MetaFramePiece  piece  ) 

MetaFrameResize meta_frame_resize_from_string ( const char *  str  ) 

const char* meta_frame_resize_to_string ( MetaFrameResize  resize  ) 

MetaFrameState meta_frame_state_from_string ( const char *  str  ) 

const char* meta_frame_state_to_string ( MetaFrameState  state  ) 

void meta_frame_style_draw ( MetaFrameStyle style,
GtkWidget *  widget,
GdkDrawable *  drawable,
int  x_offset,
int  y_offset,
const GdkRectangle *  clip,
const MetaFrameGeometry fgeom,
int  client_width,
int  client_height,
PangoLayout *  title_layout,
int  text_height,
MetaButtonState  button_states[META_BUTTON_TYPE_LAST],
GdkPixbuf *  mini_icon,
GdkPixbuf *  icon 
)

MetaFrameStyle* meta_frame_style_new ( MetaFrameStyle parent  ) 

Constructor for a MetaFrameStyle.

Parameters:
parent The parent style. Data not filled in here will be looked for in the parent style, and in its parent style, and so on.
Returns:
The newly-constructed style.

Definition at line 4018 of file theme.c.

References meta_frame_style_ref(), _MetaFrameStyle::parent, _MetaFrameStyle::refcount, and _MetaFrameStyle::window_background_alpha.

Referenced by parse_toplevel_element().

void meta_frame_style_ref ( MetaFrameStyle style  ) 

Increases the reference count of a frame style.

If the style is NULL, this is a no-op.

Parameters:
style The style.

Definition at line 4043 of file theme.c.

References NULL, and _MetaFrameStyle::refcount.

Referenced by meta_frame_style_new(), meta_theme_insert_style(), and parse_style_set_element().

MetaFrameStyleSet* meta_frame_style_set_new ( MetaFrameStyleSet parent  ) 

void meta_frame_style_set_ref ( MetaFrameStyleSet style_set  ) 

void meta_frame_style_set_unref ( MetaFrameStyleSet style_set  ) 

gboolean meta_frame_style_set_validate ( MetaFrameStyleSet style_set,
GError **  error 
)

void meta_frame_style_unref ( MetaFrameStyle style  ) 

gboolean meta_frame_style_validate ( MetaFrameStyle style,
guint  current_theme_version,
GError **  error 
)

MetaFrameType meta_frame_type_from_string ( const char *  str  ) 

const char* meta_frame_type_to_string ( MetaFrameType  type  ) 

void meta_gradient_spec_free ( MetaGradientSpec desc  ) 

Definition at line 963 of file theme.c.

References _MetaGradientSpec::color_specs, DEBUG_FILL_STRUCT, free_color_spec(), and NULL.

Referenced by meta_draw_op_free().

MetaGradientSpec* meta_gradient_spec_new ( MetaGradientType  type  ) 

Definition at line 944 of file theme.c.

References _MetaGradientSpec::color_specs, NULL, and _MetaGradientSpec::type.

Referenced by parse_draw_op_element().

GdkPixbuf* meta_gradient_spec_render ( const MetaGradientSpec desc,
GtkWidget *  widget,
int  width,
int  height 
)

gboolean meta_gradient_spec_validate ( MetaGradientSpec spec,
GError **  error 
)

MetaGradientType meta_gradient_type_from_string ( const char *  str  ) 

const char* meta_gradient_type_to_string ( MetaGradientType  type  ) 

GtkArrowType meta_gtk_arrow_from_string ( const char *  str  ) 

Definition at line 5932 of file theme.c.

Referenced by parse_draw_op_element().

const char* meta_gtk_arrow_to_string ( GtkArrowType  arrow  ) 

Definition at line 5949 of file theme.c.

GtkShadowType meta_gtk_shadow_from_string ( const char *  str  ) 

Definition at line 5895 of file theme.c.

Referenced by parse_draw_op_element().

const char* meta_gtk_shadow_to_string ( GtkShadowType  shadow  ) 

Definition at line 5912 of file theme.c.

GtkStateType meta_gtk_state_from_string ( const char *  str  ) 

Definition at line 5858 of file theme.c.

Referenced by meta_color_spec_new_from_string(), and parse_draw_op_element().

const char* meta_gtk_state_to_string ( GtkStateType  state  ) 

Definition at line 5875 of file theme.c.

PangoFontDescription* meta_gtk_widget_get_font_desc ( GtkWidget *  widget,
double  scale,
const PangoFontDescription *  override 
)

Definition at line 5404 of file theme.c.

References NULL, and TRUE.

Referenced by ensure_info(), and meta_frames_ensure_layout().

MetaImageFillType meta_image_fill_type_from_string ( const char *  str  ) 

Definition at line 5969 of file theme.c.

References META_IMAGE_FILL_SCALE, and META_IMAGE_FILL_TILE.

Referenced by parse_draw_op_element().

const char* meta_image_fill_type_to_string ( MetaImageFillType  fill_type  ) 

Definition at line 5980 of file theme.c.

References META_IMAGE_FILL_SCALE, and META_IMAGE_FILL_TILE.

int meta_pango_font_desc_get_text_height ( const PangoFontDescription *  font_desc,
PangoContext *  context 
)

gboolean meta_parse_position_expression ( MetaDrawSpec spec,
const MetaPositionExprEnv env,
int *  x_return,
int *  y_return,
GError **  err 
)

gboolean meta_parse_size_expression ( MetaDrawSpec spec,
const MetaPositionExprEnv env,
int *  val_return,
GError **  err 
)

Definition at line 2512 of file theme.c.

References _MetaDrawSpec::constant, FALSE, NULL, pos_eval(), TRUE, and _MetaDrawSpec::value.

Referenced by parse_size_unchecked().

void meta_theme_calc_geometry ( MetaTheme theme,
MetaFrameType  type,
int  text_height,
MetaFrameFlags  flags,
int  client_width,
int  client_height,
const MetaButtonLayout button_layout,
MetaFrameGeometry fgeom 
)

gboolean meta_theme_define_color_constant ( MetaTheme theme,
const char *  name,
const char *  value,
GError **  error 
)

gboolean meta_theme_define_float_constant ( MetaTheme theme,
const char *  name,
double  value,
GError **  error 
)

gboolean meta_theme_define_int_constant ( MetaTheme theme,
const char *  name,
int  value,
GError **  error 
)

void meta_theme_draw_frame ( MetaTheme theme,
GtkWidget *  widget,
GdkDrawable *  drawable,
const GdkRectangle *  clip,
int  x_offset,
int  y_offset,
MetaFrameType  type,
MetaFrameFlags  flags,
int  client_width,
int  client_height,
PangoLayout *  title_layout,
int  text_height,
const MetaButtonLayout button_layout,
MetaButtonState  button_states[META_BUTTON_TYPE_LAST],
GdkPixbuf *  mini_icon,
GdkPixbuf *  icon 
)

guint meta_theme_earliest_version_with_button ( MetaButtonType  type  ) 

void meta_theme_free ( MetaTheme theme  ) 

MetaTheme* meta_theme_get_current ( void   ) 

void meta_theme_get_frame_borders ( MetaTheme theme,
MetaFrameType  type,
int  text_height,
MetaFrameFlags  flags,
int *  top_height,
int *  bottom_height,
int *  left_width,
int *  right_width 
)

MetaFrameStyle* meta_theme_get_frame_style ( MetaTheme theme,
MetaFrameType  type,
MetaFrameFlags  flags 
)

double meta_theme_get_title_scale ( MetaTheme theme,
MetaFrameType  type,
MetaFrameFlags  flags 
)

void meta_theme_insert_draw_op_list ( MetaTheme theme,
const char *  name,
MetaDrawOpList op_list 
)

Definition at line 5170 of file theme.c.

References _MetaTheme::draw_op_lists_by_name, and meta_draw_op_list_ref().

Referenced by parse_toplevel_element().

void meta_theme_insert_layout ( MetaTheme theme,
const char *  name,
MetaFrameLayout layout 
)

Definition at line 5154 of file theme.c.

References _MetaTheme::layouts_by_name, and meta_frame_layout_ref().

Referenced by parse_toplevel_element().

void meta_theme_insert_style ( MetaTheme theme,
const char *  name,
MetaFrameStyle style 
)

Definition at line 5186 of file theme.c.

References meta_frame_style_ref(), and _MetaTheme::styles_by_name.

Referenced by parse_toplevel_element().

void meta_theme_insert_style_set ( MetaTheme theme,
const char *  name,
MetaFrameStyleSet style_set 
)

Definition at line 5202 of file theme.c.

References meta_frame_style_set_ref(), and _MetaTheme::style_sets_by_name.

Referenced by parse_toplevel_element().

GdkPixbuf* meta_theme_load_image ( MetaTheme theme,
const char *  filename,
guint  size_of_theme_icons,
GError **  error 
)

gboolean meta_theme_lookup_color_constant ( MetaTheme theme,
const char *  name,
char **  value 
)

Definition at line 5378 of file theme.c.

References _MetaTheme::color_constants, FALSE, NULL, and TRUE.

Referenced by parse_color().

MetaDrawOpList* meta_theme_lookup_draw_op_list ( MetaTheme theme,
const char *  name 
)

gboolean meta_theme_lookup_float_constant ( MetaTheme theme,
const char *  name,
double *  value 
)

Definition at line 5317 of file theme.c.

References FALSE, _MetaTheme::float_constants, NULL, and TRUE.

Referenced by meta_theme_replace_constants().

gboolean meta_theme_lookup_int_constant ( MetaTheme theme,
const char *  name,
int *  value 
)

Definition at line 5253 of file theme.c.

References FALSE, _MetaTheme::integer_constants, NULL, and TRUE.

Referenced by meta_theme_replace_constants(), and parse_positive_integer().

MetaFrameLayout* meta_theme_lookup_layout ( MetaTheme theme,
const char *  name 
)

Definition at line 5147 of file theme.c.

References _MetaTheme::layouts_by_name.

Referenced by parse_toplevel_element().

MetaFrameStyle* meta_theme_lookup_style ( MetaTheme theme,
const char *  name 
)

Definition at line 5179 of file theme.c.

References _MetaTheme::styles_by_name.

Referenced by parse_style_set_element(), and parse_toplevel_element().

MetaFrameStyleSet* meta_theme_lookup_style_set ( MetaTheme theme,
const char *  name 
)

Definition at line 5195 of file theme.c.

References _MetaTheme::style_sets_by_name.

Referenced by parse_toplevel_element().

MetaTheme* meta_theme_new ( void   ) 

gboolean meta_theme_replace_constants ( MetaTheme theme,
PosToken tokens,
int  n_tokens,
GError **  err 
)

void meta_theme_set_current ( const char *  name,
gboolean  force_reload 
)

gboolean meta_theme_validate ( MetaTheme theme,
GError **  error 
)


Generated on Sat Aug 23 22:04:23 2008 for metacity by  doxygen 1.5.5