static void
clutter_rectangle_get_property (GObject    *object,
				guint       prop_id,
				GValue     *value,
				GParamSpec *pspec)
{
  ClutterRectangle *rectangle = CLUTTER_RECTANGLE(object);
  ClutterColor      color;

  switch (prop_id)
    {
    case PROP_COLOR:
      clutter_rectangle_get_color (rectangle, &color);
      g_value_set_boxed (value, &color);
      break;
    case PROP_BORDER_COLOR:
      clutter_rectangle_get_border_color (rectangle, &color);
      g_value_set_boxed (value, &color);
      break;
    case PROP_BORDER_WIDTH:
      g_value_set_uint (value, rectangle->priv->border_width);
      break;
    case PROP_HAS_BORDER:
      g_value_set_boolean (value, rectangle->priv->has_border);
      break;
    default:
      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
      break;
    }
}
Пример #2
0
static gboolean button_press_color_cb(ClutterActor *actor, ClutterEvent *event, gpointer user_data)
{
    App *app = (App *) user_data;
    ClutterColor color;
    clutter_rectangle_get_color(CLUTTER_RECTANGLE(actor), &color);
    int r = color.red;
    int g = color.green;
    int b = color.blue;
    app->setColor(r, g, b);
    app->setSelectionPosition(clutter_actor_get_x(actor), clutter_actor_get_y(actor));
    return TRUE; // handled. Do not propagate to stage
}