示例#1
0
static GtkCssValue *
gtk_css_value_image_compute (GtkCssValue             *value,
                             guint                    property_id,
                             GtkStyleProviderPrivate *provider,
                             GtkCssComputedValues    *values,
                             GtkCssComputedValues    *parent_values,
                             GtkCssDependencies      *dependencies)
{
  GtkCssImage *image, *computed;
  
  image = _gtk_css_image_value_get_image (value);

  if (image == NULL)
    return _gtk_css_value_ref (value);

  computed = _gtk_css_image_compute (image, property_id, provider, values, parent_values, dependencies);

  if (computed == image)
    {
      g_object_unref (computed);
      return _gtk_css_value_ref (value);
    }

  return _gtk_css_image_value_new (computed);
}
示例#2
0
static GtkCssValue *
gtk_css_value_image_transition (GtkCssValue *start,
                                GtkCssValue *end,
                                double       progress)
{
  GtkCssImage *fade;

  fade = _gtk_css_image_cross_fade_new (_gtk_css_image_value_get_image (start),
                                        _gtk_css_image_value_get_image (end),
                                        progress);
      
  return _gtk_css_image_value_new (fade);
}
示例#3
0
static GtkCssValue *
gtk_css_value_image_transition (GtkCssValue *start,
                                GtkCssValue *end,
                                guint        property_id,
                                double       progress)
{
  GtkCssImage *transition;

  transition = _gtk_css_image_transition (_gtk_css_image_value_get_image (start),
                                          _gtk_css_image_value_get_image (end),
                                          property_id,
                                          progress);
      
  return _gtk_css_image_value_new (transition);
}
示例#4
0
static GtkCssValue *
gtk_css_value_image_get_dynamic_value (GtkCssValue *value,
                                       gint64       monotonic_time)
{
  GtkCssImage *image, *dynamic;
  
  image = _gtk_css_image_value_get_image (value);
  if (image == NULL)
    return gtk_css_value_ref (value);

  dynamic = gtk_css_image_get_dynamic_image (image, monotonic_time);
  if (dynamic == image)
    {
      g_object_unref (dynamic);
      return gtk_css_value_ref (value);
    }

  return _gtk_css_image_value_new (dynamic);
}
示例#5
0
static GtkCssValue *
gtk_css_value_image_compute (GtkCssValue      *value,
                             guint             property_id,
                             GtkStyleProvider *provider,
                             GtkCssStyle      *style,
                             GtkCssStyle      *parent_style)
{
  GtkCssImage *image, *computed;
  
  image = _gtk_css_image_value_get_image (value);

  if (image == NULL)
    return _gtk_css_value_ref (value);

  computed = _gtk_css_image_compute (image, property_id, provider, style, parent_style);

  if (computed == image)
    {
      g_object_unref (computed);
      return _gtk_css_value_ref (value);
    }

  return _gtk_css_image_value_new (computed);
}