From 881d5baf3edafe9594c9f1b932c508461dc4652c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alberts=20Muktup=C4=81vels?= Date: Wed, 4 Jun 2014 11:42:40 +0300 Subject: Add UXD shadows and borders Author: Sam Spilsbury Removed 'unity_' prefix. --- src/ui/theme.h | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) (limited to 'src/ui/theme.h') diff --git a/src/ui/theme.h b/src/ui/theme.h index af50e812..f1b290ed 100644 --- a/src/ui/theme.h +++ b/src/ui/theme.h @@ -40,6 +40,54 @@ typedef struct _MetaFrameGeometry MetaFrameGeometry; typedef struct _MetaTheme MetaTheme; typedef struct _MetaPositionExprEnv MetaPositionExprEnv; typedef struct _MetaDrawInfo MetaDrawInfo; +typedef struct _MetaShadowProperties MetaShadowProperties; +typedef struct _MetaInvisibleGrabAreaProperties MetaInvisibleGrabAreaProperties; + +struct _MetaShadowProperties +{ + /** + * Radius of the shadow + */ + double shadow_radius; + + /** + * Opacity of the shadow + */ + double shadow_opacity; + + /** + * Color of the shadow + */ + MetaColorSpec *shadow_color; + /** + * Shadow X Offset + */ + guint8 shadow_x_offset; + /** + * Shadow Y Offset + */ + guint8 shadow_y_offset; +}; + +struct _MetaInvisibleGrabAreaProperties +{ + /** + * Left padding + */ + guint8 left; + /** + * Right padding + */ + guint8 right; + /** + * Bottom padding + */ + guint8 bottom; + /** + * Top padding + */ + guint8 top; +}; #define META_THEME_ERROR (g_quark_from_static_string ("meta-theme-error")) @@ -694,6 +742,14 @@ struct _MetaFrameStyle * Transparency of the window background. 0=transparent; 255=opaque. */ guint8 window_background_alpha; + /** + * Shadow + */ + MetaShadowProperties *shadow_properties; + /** + * Padding (eg invisible grab area) + */ + MetaInvisibleGrabAreaProperties *invisible_grab_area_properties; }; /* Kinds of frame... @@ -915,11 +971,19 @@ MetaAlphaGradientSpec* meta_alpha_gradient_spec_new (MetaGradientType typ int n_alphas); void meta_alpha_gradient_spec_free (MetaAlphaGradientSpec *spec); +MetaShadowProperties* meta_shadow_properties_new (void); +void meta_shadow_properties_free (MetaShadowProperties *); + +MetaInvisibleGrabAreaProperties* meta_invisible_grab_area_properties_new (void); +void meta_invisible_grab_area_properties_free (MetaInvisibleGrabAreaProperties *); MetaFrameStyle* meta_frame_style_new (MetaFrameStyle *parent); void meta_frame_style_ref (MetaFrameStyle *style); void meta_frame_style_unref (MetaFrameStyle *style); +MetaShadowProperties* meta_frame_style_get_shadow_properties (MetaFrameStyle *style); +MetaInvisibleGrabAreaProperties* meta_frame_style_get_invisible_grab_area_properties (MetaFrameStyle *style); + gboolean meta_frame_style_validate (MetaFrameStyle *style, guint current_theme_version, GError **error); -- cgit v1.2.1