Avoid to use Clutter scaling feature.
This commit is contained in:
@ -60,21 +60,28 @@ create_key (EekElement *element, gpointer user_data)
|
||||
}
|
||||
|
||||
static void
|
||||
eek_clutter_section_real_realize (ClutterActor *self)
|
||||
set_position (ClutterActor *self)
|
||||
{
|
||||
EekClutterSectionPrivate *priv = EEK_CLUTTER_SECTION_GET_PRIVATE(self);
|
||||
CreateKeyCallbackData data;
|
||||
EekBounds bounds;
|
||||
gdouble scale;
|
||||
|
||||
eek_element_get_bounds (EEK_ELEMENT(priv->section), &bounds);
|
||||
scale = eek_renderer_get_scale (EEK_RENDERER(priv->renderer));
|
||||
clutter_actor_set_position (self, bounds.x * scale, bounds.y * scale);
|
||||
}
|
||||
|
||||
static void
|
||||
eek_clutter_section_real_realize (ClutterActor *self)
|
||||
{
|
||||
EekClutterSectionPrivate *priv = EEK_CLUTTER_SECTION_GET_PRIVATE(self);
|
||||
CreateKeyCallbackData data;
|
||||
|
||||
clutter_actor_set_rotation (self,
|
||||
CLUTTER_Z_AXIS,
|
||||
eek_section_get_angle (priv->section),
|
||||
0.0f, 0.0f, 0.0f);
|
||||
|
||||
set_position (self);
|
||||
data.actor = self;
|
||||
data.renderer = priv->renderer;
|
||||
eek_container_foreach_child (EEK_CONTAINER(priv->section),
|
||||
@ -82,6 +89,14 @@ eek_clutter_section_real_realize (ClutterActor *self)
|
||||
&data);
|
||||
}
|
||||
|
||||
static void
|
||||
eek_clutter_section_real_paint (ClutterActor *self)
|
||||
{
|
||||
set_position (self);
|
||||
CLUTTER_ACTOR_CLASS (eek_clutter_section_parent_class)->
|
||||
paint (self);
|
||||
}
|
||||
|
||||
static void
|
||||
eek_clutter_section_real_get_preferred_width (ClutterActor *self,
|
||||
float for_height,
|
||||
@ -114,15 +129,6 @@ eek_clutter_section_real_get_preferred_height (ClutterActor *self,
|
||||
*natural_height_p = bounds.height * scale;
|
||||
}
|
||||
|
||||
static void
|
||||
eek_clutter_section_real_allocate (ClutterActor *self,
|
||||
const ClutterActorBox *box,
|
||||
ClutterAllocationFlags flags)
|
||||
{
|
||||
CLUTTER_ACTOR_CLASS (eek_clutter_section_parent_class)->
|
||||
allocate (self, box, flags);
|
||||
}
|
||||
|
||||
static void
|
||||
eek_clutter_section_set_property (GObject *object,
|
||||
guint prop_id,
|
||||
@ -177,11 +183,12 @@ eek_clutter_section_class_init (EekClutterSectionClass *klass)
|
||||
|
||||
actor_class->realize =
|
||||
eek_clutter_section_real_realize;
|
||||
actor_class->paint =
|
||||
eek_clutter_section_real_paint;
|
||||
actor_class->get_preferred_width =
|
||||
eek_clutter_section_real_get_preferred_width;
|
||||
actor_class->get_preferred_height =
|
||||
eek_clutter_section_real_get_preferred_height;
|
||||
actor_class->allocate = eek_clutter_section_real_allocate;
|
||||
|
||||
gobject_class->set_property = eek_clutter_section_set_property;
|
||||
gobject_class->dispose = eek_clutter_section_dispose;
|
||||
|
||||
Reference in New Issue
Block a user