MetaShadowFactory

MetaShadowFactory — Create and cache shadow textures for arbitrary window shapes

Synopsis

struct              MetaShadowParams;
MetaShadowFactory * meta_shadow_factory_get_default     (void);
void                meta_shadow_factory_set_params      (MetaShadowFactory *factory,
                                                         const char *class_name,
                                                         gboolean focused,
                                                         MetaShadowParams *params);
void                meta_shadow_factory_get_params      (MetaShadowFactory *factory,
                                                         const char *class_name,
                                                         gboolean focused,
                                                         MetaShadowParams *params);
                    MetaShadowFactory;
                    MetaShadowFactoryClass;

Object Hierarchy

  GObject
   +----MetaShadowFactory

Signals

  "changed"                                        : Run Last

Description

Details

struct MetaShadowParams

struct MetaShadowParams {
  int radius;
  int top_fade;
  int x_offset;
  int y_offset;
  guint8 opacity;
};

int radius;

the radius (gaussian standard deviation) of the shadow

int top_fade;

if >= 0, the shadow doesn't extend above the top of the shape, and fades out over the given number of pixels

int x_offset;

horizontal offset of the shadow with respect to the shape being shadowed, in pixels

int y_offset;

vertical offset of the shadow with respect to the shape being shadowed, in pixels

guint8 opacity;

opacity of the shadow, from 0 to 255

meta_shadow_factory_get_default ()

MetaShadowFactory * meta_shadow_factory_get_default     (void);

Returns :

the global singleton shadow factory. [transfer none]

meta_shadow_factory_set_params ()

void                meta_shadow_factory_set_params      (MetaShadowFactory *factory,
                                                         const char *class_name,
                                                         gboolean focused,
                                                         MetaShadowParams *params);

Updates the shadow parameters for a particular class of shadows for either the focused or unfocused state. If the class name does not name an existing class, a new class will be created (the other focus state for that class will have default values assigned to it.)

factory :

a MetaShadowFactory

class_name :

name of the class of shadow to set the params for. the default shadow classes are the names of the different theme frame types (normal, dialog, modal_dialog, utility, border, menu, attached) and in addition, popup-menu and dropdown-menu.

focused :

whether the shadow is for a focused window

params :

new parameter values

meta_shadow_factory_get_params ()

void                meta_shadow_factory_get_params      (MetaShadowFactory *factory,
                                                         const char *class_name,
                                                         gboolean focused,
                                                         MetaShadowParams *params);

Gets the shadow parameters for a particular class of shadows for either the focused or unfocused state. If the class name does not name an existing class, default values will be returned without printing an error.

factory :

a MetaShadowFactory

class_name :

name of the class of shadow to get the params for

focused :

whether the shadow is for a focused window

params :

location to store the current parameter values. [out caller-allocates]

MetaShadowFactory

typedef struct _MetaShadowFactory MetaShadowFactory;

MetaShadowFactoryClass

typedef struct _MetaShadowFactoryClass MetaShadowFactoryClass;

Signal Details

The "changed" signal

void                user_function                      (MetaShadowFactory *metashadowfactory,
                                                        gpointer           user_data)              : Run Last