Пример #1
0
static gboolean
clutter_units_progress (const GValue *a,
                        const GValue *b,
                        gdouble       progress,
                        GValue       *retval)
{
  ClutterUnits *a_units = (ClutterUnits *) clutter_value_get_units (a);
  ClutterUnits *b_units = (ClutterUnits *) clutter_value_get_units (b);
  ClutterUnits  res;
  gfloat a_px, b_px, value;

  a_px = clutter_units_to_pixels (a_units);
  b_px = clutter_units_to_pixels (b_units);
  value = progress * (b_px - a_px) + a_px;

  clutter_units_from_pixels (&res, value);
  clutter_value_set_units (retval, &res);

  return TRUE;
}
Пример #2
0
static void
dax_element_video_set_property (GObject      *object,
                                guint         property_id,
                                const GValue *value,
                                GParamSpec   *pspec)
{
    DaxElementVideo *video = (DaxElementVideo *) object;
    DaxElementVideoPrivate *priv = video->priv;

    switch (property_id)
    {
    case PROP_X:
        dax_element_video_set_x (video, clutter_value_get_units (value));
        break;
    case PROP_Y:
        dax_element_video_set_y (video, clutter_value_get_units (value));
        break;
    case PROP_WIDTH:
        dax_element_video_set_width (video, clutter_value_get_units (value));
        break;
    case PROP_HEIGHT:
        dax_element_video_set_height (video, clutter_value_get_units (value));
        break;
    case PROP_PAR:
        dax_element_video_set_par (video, g_value_get_boxed (value));
        break;
    case PROP_HREF:
        g_free (priv->href);
        priv->href = g_value_dup_string (value);
        break;
    case PROP_TYPE:
        g_free (priv->type);
        priv->type = g_value_dup_string (value);
        break;

    default:
        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
    }
}