summaryrefslogtreecommitdiff
path: root/src/ui/theme.h
diff options
context:
space:
mode:
authorAlberts Muktupāvels <alberts.muktupavels@gmail.com>2014-06-04 11:42:40 +0300
committerAlberts Muktupāvels <alberts.muktupavels@gmail.com>2014-06-04 11:42:40 +0300
commit881d5baf3edafe9594c9f1b932c508461dc4652c (patch)
treedce37e98439c7bd2c86f1d8cfb5e77b553406f33 /src/ui/theme.h
parent4ecd6e49164ee027cee8dfdbb51fd8389694ff43 (diff)
downloadmetacity-881d5baf3edafe9594c9f1b932c508461dc4652c.tar.gz
Add UXD shadows and borders
Author: Sam Spilsbury <smspillaz@gmail.com> Removed 'unity_' prefix.
Diffstat (limited to 'src/ui/theme.h')
-rw-r--r--src/ui/theme.h64
1 files changed, 64 insertions, 0 deletions
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);