static void clutter_colorize_effect_class_init (ClutterColorizeEffectClass *klass) { ClutterEffectClass *effect_class = CLUTTER_EFFECT_CLASS (klass); GObjectClass *gobject_class = G_OBJECT_CLASS (klass); ClutterOffscreenEffectClass *offscreen_class; offscreen_class = CLUTTER_OFFSCREEN_EFFECT_CLASS (klass); offscreen_class->paint_target = clutter_colorize_effect_paint_target; effect_class->pre_paint = clutter_colorize_effect_pre_paint; gobject_class->set_property = clutter_colorize_effect_set_property; gobject_class->get_property = clutter_colorize_effect_get_property; gobject_class->dispose = clutter_colorize_effect_dispose; /** * ClutterColorizeEffect:tint: * * The tint to apply to the actor * * Since: 1.4 */ obj_props[PROP_TINT] = clutter_param_spec_color ("tint", P_("Tint"), P_("The tint to apply"), &default_tint, CLUTTER_PARAM_READWRITE); g_object_class_install_properties (gobject_class, PROP_LAST, obj_props); }
static void mash_light_class_init (MashLightClass *klass) { GObjectClass *gobject_class = (GObjectClass *) klass; GParamSpec *pspec; gobject_class->get_property = mash_light_get_property; gobject_class->set_property = mash_light_set_property; klass->generate_shader = mash_light_real_generate_shader; klass->update_uniforms = mash_light_real_update_uniforms; pspec = clutter_param_spec_color ("ambient", "Ambient", "The ambient color emitted by the light", &mash_light_default_color, G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB); g_object_class_install_property (gobject_class, PROP_AMBIENT, pspec); pspec = clutter_param_spec_color ("diffuse", "Diffuse", "The diffuse color emitted by the light", &mash_light_default_color, G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB); g_object_class_install_property (gobject_class, PROP_DIFFUSE, pspec); pspec = clutter_param_spec_color ("specular", "Specular", "The specular color emitted by the light", &mash_light_default_color, G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB); g_object_class_install_property (gobject_class, PROP_SPECULAR, pspec); g_type_class_add_private (klass, sizeof (MashLightPrivate)); }
/* Class initialization * Override functions in parent classes and define properties * and signals */ static void xfdashboard_stage_interface_class_init(XfdashboardStageInterfaceClass *klass) { XfdashboardActorClass *actorClass=XFDASHBOARD_ACTOR_CLASS(klass); ClutterActorClass *clutterActorClass=CLUTTER_ACTOR_CLASS(klass); GObjectClass *gobjectClass=G_OBJECT_CLASS(klass); /* Override functions */ clutterActorClass->parent_set=xfdashboard_stage_interface_parent_set; clutterActorClass->get_preferred_width=_xfdashboard_stage_interface_get_preferred_width; clutterActorClass->get_preferred_height=_xfdashboard_stage_interface_get_preferred_height; gobjectClass->dispose=_xfdashboard_stage_interface_dispose; gobjectClass->set_property=_xfdashboard_stage_interface_set_property; gobjectClass->get_property=_xfdashboard_stage_interface_get_property; /* Set up private structure */ g_type_class_add_private(klass, sizeof(XfdashboardStageInterfacePrivate)); /* Define properties */ XfdashboardStageInterfaceProperties[PROP_MONITOR]= g_param_spec_object("monitor", _("Monitor"), _("The monitor where this stage interface is connected to"), XFDASHBOARD_TYPE_WINDOW_TRACKER_MONITOR, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); XfdashboardStageInterfaceProperties[PROP_BACKGROUND_IMAGE_TYPE]= g_param_spec_enum("background-image-type", _("Background image type"), _("Background image type"), XFDASHBOARD_TYPE_STAGE_BACKGROUND_IMAGE_TYPE, XFDASHBOARD_STAGE_BACKGROUND_IMAGE_TYPE_NONE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); XfdashboardStageInterfaceProperties[PROP_BACKGROUND_COLOR]= clutter_param_spec_color("background-color", _("Background color"), _("Color of stage's background"), NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); g_object_class_install_properties(gobjectClass, PROP_LAST, XfdashboardStageInterfaceProperties); /* Define stylable properties */ xfdashboard_actor_install_stylable_property(actorClass, XfdashboardStageInterfaceProperties[PROP_BACKGROUND_IMAGE_TYPE]); xfdashboard_actor_install_stylable_property(actorClass, XfdashboardStageInterfaceProperties[PROP_BACKGROUND_COLOR]); }
static void mx_stylable_iface_init (MxStylableIface *iface) { static gboolean is_initialized = FALSE; if (G_UNLIKELY (!is_initialized)) { ClutterColor bg_color = { 0xcc, 0xcc, 0xcc, 0x00 }; GParamSpec *pspec; is_initialized = TRUE; pspec = clutter_param_spec_color ("background-color", "Background Color", "The background color of an actor", &bg_color, G_PARAM_READWRITE); mx_stylable_iface_install_property (iface, MX_TYPE_BUTTON, pspec); pspec = g_param_spec_boxed ("x-mx-content-image", "Content Image", "Image used as the button", MX_TYPE_BORDER_IMAGE, G_PARAM_READWRITE); mx_stylable_iface_install_property (iface, MX_TYPE_BUTTON, pspec); pspec = g_param_spec_string ("x-mx-icon-name", "Icon name", "Named icon to place inside the button", NULL, G_PARAM_READWRITE); mx_stylable_iface_install_property (iface, MX_TYPE_BUTTON, pspec); pspec = g_param_spec_uint ("x-mx-icon-size", "Icon size", "Size to use for icon", 1, G_MAXINT, 48, G_PARAM_READWRITE); mx_stylable_iface_install_property (iface, MX_TYPE_BUTTON, pspec); } }
static void champlain_point_class_init (ChamplainPointClass *klass) { ClutterActorClass *actor_class = CLUTTER_ACTOR_CLASS (klass); GObjectClass *object_class = G_OBJECT_CLASS (klass); g_type_class_add_private (klass, sizeof (ChamplainPointPrivate)); object_class->finalize = champlain_point_finalize; object_class->dispose = champlain_point_dispose; object_class->get_property = champlain_point_get_property; object_class->set_property = champlain_point_set_property; actor_class->pick = pick; g_object_class_install_property (object_class, PROP_COLOR, clutter_param_spec_color ("color", "Color", "The point's color", &DEFAULT_COLOR, CHAMPLAIN_PARAM_READWRITE)); g_object_class_install_property (object_class, PROP_SIZE, g_param_spec_double ("size", "Size", "The point size", 0, G_MAXDOUBLE, 12, CHAMPLAIN_PARAM_READWRITE)); g_object_class_override_property (object_class, PROP_SURFACE, "surface"); }
static void champlain_path_layer_class_init (ChamplainPathLayerClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); ChamplainLayerClass *layer_class = CHAMPLAIN_LAYER_CLASS (klass); g_type_class_add_private (klass, sizeof (ChamplainPathLayerPrivate)); object_class->finalize = champlain_path_layer_finalize; object_class->dispose = champlain_path_layer_dispose; object_class->get_property = champlain_path_layer_get_property; object_class->set_property = champlain_path_layer_set_property; layer_class->set_view = set_view; layer_class->get_bounding_box = get_bounding_box; /** * ChamplainPathLayer:closed: * * The shape is a closed path * * Since: 0.10 */ g_object_class_install_property (object_class, PROP_CLOSED_PATH, g_param_spec_boolean ("closed", "Closed Path", "The Path is Closed", FALSE, CHAMPLAIN_PARAM_READWRITE)); /** * ChamplainPathLayer:fill: * * The shape should be filled * * Since: 0.10 */ g_object_class_install_property (object_class, PROP_FILL, g_param_spec_boolean ("fill", "Fill", "The shape is filled", FALSE, CHAMPLAIN_PARAM_READWRITE)); /** * ChamplainPathLayer:stroke: * * The shape should be stroked * * Since: 0.10 */ g_object_class_install_property (object_class, PROP_STROKE, g_param_spec_boolean ("stroke", "Stroke", "The shape is stroked", TRUE, CHAMPLAIN_PARAM_READWRITE)); /** * ChamplainPathLayer:stroke-color: * * The path's stroke color * * Since: 0.10 */ g_object_class_install_property (object_class, PROP_STROKE_COLOR, clutter_param_spec_color ("stroke-color", "Stroke Color", "The path's stroke color", &DEFAULT_STROKE_COLOR, CHAMPLAIN_PARAM_READWRITE)); /** * ChamplainPathLayer:fill-color: * * The path's fill color * * Since: 0.10 */ g_object_class_install_property (object_class, PROP_FILL_COLOR, clutter_param_spec_color ("fill-color", "Fill Color", "The path's fill color", &DEFAULT_FILL_COLOR, CHAMPLAIN_PARAM_READWRITE)); /** * ChamplainPathLayer:stroke-width: * * The path's stroke width (in pixels) * * Since: 0.10 */ g_object_class_install_property (object_class, PROP_STROKE_WIDTH, g_param_spec_double ("stroke-width", "Stroke Width", "The path's stroke width", 0, 100.0, 2.0, CHAMPLAIN_PARAM_READWRITE)); /** * ChamplainPathLayer:visible: * * Wether the path is visible * * Since: 0.10 */ g_object_class_install_property (object_class, PROP_VISIBLE, g_param_spec_boolean ("visible", "Visible", "The path's visibility", TRUE, CHAMPLAIN_PARAM_READWRITE)); g_object_class_override_property (object_class, PROP_SURFACE, "surface"); }
/* Class initialization * Override functions in parent classes and define properties * and signals */ static void xfdashboard_text_box_class_init(XfdashboardTextBoxClass *klass) { XfdashboardActorClass *actorClass=XFDASHBOARD_ACTOR_CLASS(klass); ClutterActorClass *clutterActorClass=CLUTTER_ACTOR_CLASS(klass); GObjectClass *gobjectClass=G_OBJECT_CLASS(klass); /* Override functions */ gobjectClass->dispose=_xfdashboard_text_box_dispose; gobjectClass->set_property=_xfdashboard_text_box_set_property; gobjectClass->get_property=_xfdashboard_text_box_get_property; clutterActorClass->show_all=_xfdashboard_text_box_show; clutterActorClass->get_preferred_width=_xfdashboard_text_box_get_preferred_width; clutterActorClass->get_preferred_height=_xfdashboard_text_box_get_preferred_height; clutterActorClass->allocate=_xfdashboard_text_box_allocate; clutterActorClass->destroy=_xfdashboard_text_box_destroy; clutterActorClass->key_focus_in=_xfdashboard_text_box_key_focus_in; /* Set up private structure */ g_type_class_add_private(klass, sizeof(XfdashboardTextBoxPrivate)); /* Define properties */ XfdashboardTextBoxProperties[PROP_PADDING]= g_param_spec_float("padding", _("Padding"), _("Padding between background and elements"), 0.0f, G_MAXFLOAT, 0.0f, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); XfdashboardTextBoxProperties[PROP_SPACING]= g_param_spec_float("spacing", _("Spacing"), _("Spacing between text and icon"), 0.0f, G_MAXFLOAT, 0.0f, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); XfdashboardTextBoxProperties[PROP_EDITABLE]= g_param_spec_boolean("editable", _("Editable"), _("Flag to set if text is editable"), FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); XfdashboardTextBoxProperties[PROP_PRIMARY_ICON_NAME]= g_param_spec_string("primary-icon-name", _("Primary icon name"), _("Themed icon name or file name of primary icon shown left of text box"), NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); XfdashboardTextBoxProperties[PROP_SECONDARY_ICON_NAME]= g_param_spec_string("secondary-icon-name", _("Secondary icon name"), _("Themed icon name or file name of secondary icon shown right of text box"), NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); XfdashboardTextBoxProperties[PROP_TEXT]= g_param_spec_string("text", _("Text"), _("Text of editable text box"), N_(""), G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); XfdashboardTextBoxProperties[PROP_TEXT_FONT]= g_param_spec_string("text-font", _("Text font"), _("Font of editable text box"), NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); XfdashboardTextBoxProperties[PROP_TEXT_COLOR]= clutter_param_spec_color("text-color", _("Text color"), _("Color of text in editable text box"), NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); XfdashboardTextBoxProperties[PROP_SELECTION_TEXT_COLOR]= clutter_param_spec_color("selection-text-color", _("Selection text color"), _("Color of text of selected text"), NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); XfdashboardTextBoxProperties[PROP_SELECTION_BACKGROUND_COLOR]= clutter_param_spec_color("selection-background-color", _("Selection background color"), _("Color of background of selected text"), NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); XfdashboardTextBoxProperties[PROP_HINT_TEXT]= g_param_spec_string("hint-text", _("Hint text"), _("Hint text shown if editable text box is empty"), NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); XfdashboardTextBoxProperties[PROP_HINT_TEXT_FONT]= g_param_spec_string("hint-text-font", _("Hint text font"), _("Font of hint text shown if editable text box is empty"), NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); XfdashboardTextBoxProperties[PROP_HINT_TEXT_COLOR]= clutter_param_spec_color("hint-text-color", _("Hint text color"), _("Color of hint text shown if editable text box is empty"), NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); XfdashboardTextBoxProperties[PROP_HINT_TEXT_SET]= g_param_spec_boolean("hint-text-set", _("Hint text set"), _("Flag indicating if a hint text was set"), FALSE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); g_object_class_install_properties(gobjectClass, PROP_LAST, XfdashboardTextBoxProperties); /* Define stylable properties */ xfdashboard_actor_install_stylable_property(actorClass, XfdashboardTextBoxProperties[PROP_PADDING]); xfdashboard_actor_install_stylable_property(actorClass, XfdashboardTextBoxProperties[PROP_SPACING]); xfdashboard_actor_install_stylable_property(actorClass, XfdashboardTextBoxProperties[PROP_PRIMARY_ICON_NAME]); xfdashboard_actor_install_stylable_property(actorClass, XfdashboardTextBoxProperties[PROP_SECONDARY_ICON_NAME]); xfdashboard_actor_install_stylable_property(actorClass, XfdashboardTextBoxProperties[PROP_TEXT_FONT]); xfdashboard_actor_install_stylable_property(actorClass, XfdashboardTextBoxProperties[PROP_TEXT_COLOR]); xfdashboard_actor_install_stylable_property(actorClass, XfdashboardTextBoxProperties[PROP_SELECTION_BACKGROUND_COLOR]); xfdashboard_actor_install_stylable_property(actorClass, XfdashboardTextBoxProperties[PROP_HINT_TEXT_FONT]); xfdashboard_actor_install_stylable_property(actorClass, XfdashboardTextBoxProperties[PROP_HINT_TEXT_COLOR]); /* Define signals */ XfdashboardTextBoxSignals[SIGNAL_TEXT_CHANGED]= g_signal_new("text-changed", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(XfdashboardTextBoxClass, text_changed), NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING); XfdashboardTextBoxSignals[SIGNAL_PRIMARY_ICON_CLICKED]= g_signal_new("primary-icon-clicked", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(XfdashboardTextBoxClass, primary_icon_clicked), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); XfdashboardTextBoxSignals[SIGNAL_SECONDARY_ICON_CLICKED]= g_signal_new("secondary-icon-clicked", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(XfdashboardTextBoxClass, secondary_icon_clicked), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); }
static void clutter_box_class_init (ClutterBoxClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); ClutterActorClass *actor_class = CLUTTER_ACTOR_CLASS (klass); GParamSpec *pspec; g_type_class_add_private (klass, sizeof (ClutterBoxPrivate)); actor_class->get_preferred_width = clutter_box_real_get_preferred_width; actor_class->get_preferred_height = clutter_box_real_get_preferred_height; actor_class->allocate = clutter_box_real_allocate; actor_class->paint = clutter_box_real_paint; actor_class->pick = clutter_box_real_pick; actor_class->destroy = clutter_box_destroy; gobject_class->set_property = clutter_box_set_property; gobject_class->get_property = clutter_box_get_property; gobject_class->dispose = clutter_box_dispose; /** * ClutterBox:layout-manager: * * The #ClutterLayoutManager used by the #ClutterBox * * Since: 1.2 */ pspec = g_param_spec_object ("layout-manager", P_("Layout Manager"), P_("The layout manager used by the box"), CLUTTER_TYPE_LAYOUT_MANAGER, CLUTTER_PARAM_READWRITE | G_PARAM_CONSTRUCT); obj_props[PROP_LAYOUT_MANAGER] = pspec; g_object_class_install_property (gobject_class, PROP_LAYOUT_MANAGER, pspec); /** * ClutterBox:color: * * The color to be used to paint the background of the * #ClutterBox. Setting this property will set the * #ClutterBox:color-set property as a side effect * * Since: 1.2 */ pspec = clutter_param_spec_color ("color", P_("Color"), P_("The background color of the box"), &default_box_color, CLUTTER_PARAM_READWRITE); obj_props[PROP_COLOR] = pspec; g_object_class_install_property (gobject_class, PROP_COLOR, pspec); /** * ClutterBox:color-set: * * Whether the #ClutterBox:color property has been set * * Since: 1.2 */ pspec = g_param_spec_boolean ("color-set", P_("Color Set"), P_("Whether the background color is set"), FALSE, CLUTTER_PARAM_READWRITE); obj_props[PROP_COLOR_SET] = pspec; g_object_class_install_property (gobject_class, PROP_COLOR_SET, pspec); }
static void clutter_rectangle_class_init (ClutterRectangleClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); ClutterActorClass *actor_class = CLUTTER_ACTOR_CLASS (klass); GParamSpec *pspec; actor_class->paint = clutter_rectangle_paint; actor_class->get_paint_volume = clutter_rectangle_get_paint_volume; actor_class->has_overlaps = clutter_rectangle_has_overlaps; gobject_class->finalize = clutter_rectangle_finalize; gobject_class->dispose = clutter_rectangle_dispose; gobject_class->set_property = clutter_rectangle_set_property; gobject_class->get_property = clutter_rectangle_get_property; /** * ClutterRectangle:color: * * The color of the rectangle. */ pspec = clutter_param_spec_color ("color", P_("Color"), P_("The color of the rectangle"), &default_color, CLUTTER_PARAM_READWRITE); g_object_class_install_property (gobject_class, PROP_COLOR, pspec); /** * ClutterRectangle:border-color: * * The color of the border of the rectangle. * * Since: 0.2 */ pspec = clutter_param_spec_color ("border-color", P_("Border Color"), P_("The color of the border of the rectangle"), &default_border_color, CLUTTER_PARAM_READWRITE); g_object_class_install_property (gobject_class, PROP_BORDER_COLOR, pspec); /** * ClutterRectangle:border-width: * * The width of the border of the rectangle, in pixels. * * Since: 0.2 */ g_object_class_install_property (gobject_class, PROP_BORDER_WIDTH, g_param_spec_uint ("border-width", P_("Border Width"), P_("The width of the border of the rectangle"), 0, G_MAXUINT, 0, CLUTTER_PARAM_READWRITE)); /** * ClutterRectangle:has-border: * * Whether the #ClutterRectangle should be displayed with a border. * * Since: 0.2 */ g_object_class_install_property (gobject_class, PROP_HAS_BORDER, g_param_spec_boolean ("has-border", P_("Has Border"), P_("Whether the rectangle should have a border"), FALSE, CLUTTER_PARAM_READWRITE)); }
static void mx_fade_effect_class_init (MxFadeEffectClass *klass) { GParamSpec *pspec; ClutterColor transparent = { 0, }; GObjectClass *object_class = G_OBJECT_CLASS (klass); ClutterEffectClass *effect_class = CLUTTER_EFFECT_CLASS (klass); ClutterOffscreenEffectClass *offscreen_class = CLUTTER_OFFSCREEN_EFFECT_CLASS (klass); g_type_class_add_private (klass, sizeof (MxFadeEffectPrivate)); object_class->get_property = mx_fade_effect_get_property; object_class->set_property = mx_fade_effect_set_property; object_class->dispose = mx_fade_effect_dispose; object_class->finalize = mx_fade_effect_finalize; effect_class->pre_paint = mx_fade_effect_pre_paint; effect_class->post_paint = mx_fade_effect_post_paint; offscreen_class->create_texture = mx_fade_effect_create_texture; offscreen_class->paint_target = mx_fade_effect_paint_target; pspec = g_param_spec_int ("bounds-x", "Bounds X", "X-coordinate of the texture bounding box", -G_MAXINT, G_MAXINT, 0, MX_PARAM_READWRITE | MX_PARAM_TRANSLATEABLE); g_object_class_install_property (object_class, PROP_BOUNDS_X, pspec); pspec = g_param_spec_int ("bounds-y", "Bounds Y", "Y-coordinate of the texture bounding boy", -G_MAXINT, G_MAXINT, 0, MX_PARAM_READWRITE | MX_PARAM_TRANSLATEABLE); g_object_class_install_property (object_class, PROP_BOUNDS_Y, pspec); pspec = g_param_spec_uint ("bounds-width", "Bounds width", "Width of the texture bounding box", 0, G_MAXUINT, 0, MX_PARAM_READWRITE | MX_PARAM_TRANSLATEABLE); g_object_class_install_property (object_class, PROP_BOUNDS_WIDTH, pspec); pspec = g_param_spec_uint ("bounds-height", "Bounds height", "Height of the texture bounding box", 0, G_MAXUINT, 0, MX_PARAM_READWRITE | MX_PARAM_TRANSLATEABLE); g_object_class_install_property (object_class, PROP_BOUNDS_HEIGHT, pspec); pspec = g_param_spec_uint ("border-top", "Border top", "Border at the top of the effect", 0, G_MAXUINT, 0, MX_PARAM_READWRITE | MX_PARAM_TRANSLATEABLE); g_object_class_install_property (object_class, PROP_BORDER_TOP, pspec); pspec = g_param_spec_uint ("border-right", "Border right", "Border at the right of the effect", 0, G_MAXUINT, 0, MX_PARAM_READWRITE | MX_PARAM_TRANSLATEABLE); g_object_class_install_property (object_class, PROP_BORDER_RIGHT, pspec); pspec = g_param_spec_uint ("border-bottom", "Border bottom", "Border at the bottom of the effect", 0, G_MAXUINT, 0, MX_PARAM_READWRITE | MX_PARAM_TRANSLATEABLE); g_object_class_install_property (object_class, PROP_BORDER_BOTTOM, pspec); pspec = g_param_spec_uint ("border-left", "Border left", "Border at the left of the effect", 0, G_MAXUINT, 0, MX_PARAM_READWRITE | MX_PARAM_TRANSLATEABLE); g_object_class_install_property (object_class, PROP_BORDER_LEFT, pspec); pspec = clutter_param_spec_color ("color", "Color", "Color of the faded border", &transparent, MX_PARAM_READWRITE | MX_PARAM_TRANSLATEABLE); g_object_class_install_property (object_class, PROP_COLOR, pspec); pspec = g_param_spec_boolean ("freeze-update", "Freeze update", "Stop updating the offscreen buffer", FALSE, MX_PARAM_READWRITE | MX_PARAM_TRANSLATEABLE); g_object_class_install_property (object_class, PROP_FREEZE_UPDATE, pspec); }