2008-06-13 Emmanuele Bassi <ebassi@openedhand.com>
Bug #960 - PangoContext creation code should not be duplicated * clutter/clutter-private.h: * clutter/clutter-main.c: (_clutter_context_create_pango_context): Abstract the creation of the PangoContext inside its own function, to avoid code and bugs duplication. (Tommi Komulainen) * clutter/clutter-entry.c (clutter_entry_init): Use the newly added PangoContext creation function. * clutter/clutter-label.c (clutter_label_init): Ditto as above.
This commit is contained in:
parent
d1006ca506
commit
be0711b88b
15
ChangeLog
15
ChangeLog
@ -1,3 +1,18 @@
|
|||||||
|
2008-06-13 Emmanuele Bassi <ebassi@openedhand.com>
|
||||||
|
|
||||||
|
Bug #960 - PangoContext creation code should not be duplicated
|
||||||
|
|
||||||
|
* clutter/clutter-private.h:
|
||||||
|
* clutter/clutter-main.c:
|
||||||
|
(_clutter_context_create_pango_context): Abstract the creation
|
||||||
|
of the PangoContext inside its own function, to avoid code and
|
||||||
|
bugs duplication. (Tommi Komulainen)
|
||||||
|
|
||||||
|
* clutter/clutter-entry.c (clutter_entry_init): Use the newly
|
||||||
|
added PangoContext creation function.
|
||||||
|
|
||||||
|
* clutter/clutter-label.c (clutter_label_init): Ditto as above.
|
||||||
|
|
||||||
2008-06-12 Emmanuele Bassi <ebassi@openedhand.com>
|
2008-06-12 Emmanuele Bassi <ebassi@openedhand.com>
|
||||||
|
|
||||||
Bug #964 - "unrealized" signal of ClutterActor wrongly named
|
Bug #964 - "unrealized" signal of ClutterActor wrongly named
|
||||||
|
@ -866,23 +866,10 @@ clutter_entry_init (ClutterEntry *self)
|
|||||||
|
|
||||||
self->priv = priv = CLUTTER_ENTRY_GET_PRIVATE (self);
|
self->priv = priv = CLUTTER_ENTRY_GET_PRIVATE (self);
|
||||||
|
|
||||||
resolution = clutter_backend_get_resolution (clutter_get_default_backend ());
|
|
||||||
if (resolution < 0)
|
|
||||||
resolution = 96.0; /* fall back */
|
|
||||||
|
|
||||||
if (G_UNLIKELY (_context == NULL))
|
if (G_UNLIKELY (_context == NULL))
|
||||||
{
|
_context = _clutter_context_create_pango_context (CLUTTER_CONTEXT ());
|
||||||
ClutterBackend *backend = clutter_get_default_backend ();
|
|
||||||
PangoClutterFontMap *font_map = CLUTTER_CONTEXT ()->font_map;
|
|
||||||
cairo_font_options_t *font_options;
|
|
||||||
|
|
||||||
_context = pango_clutter_font_map_create_context (font_map);
|
resolution = pango_cairo_context_get_resolution (_context);
|
||||||
|
|
||||||
pango_cairo_context_set_resolution (_context, resolution);
|
|
||||||
|
|
||||||
font_options = clutter_backend_get_font_options (backend);
|
|
||||||
pango_cairo_context_set_font_options (_context, font_options);
|
|
||||||
}
|
|
||||||
|
|
||||||
priv->alignment = PANGO_ALIGN_LEFT;
|
priv->alignment = PANGO_ALIGN_LEFT;
|
||||||
priv->wrap = FALSE;
|
priv->wrap = FALSE;
|
||||||
|
@ -561,22 +561,7 @@ clutter_label_init (ClutterLabel *self)
|
|||||||
self->priv = priv = CLUTTER_LABEL_GET_PRIVATE (self);
|
self->priv = priv = CLUTTER_LABEL_GET_PRIVATE (self);
|
||||||
|
|
||||||
if (G_UNLIKELY (_context == NULL))
|
if (G_UNLIKELY (_context == NULL))
|
||||||
{
|
_context = _clutter_context_create_pango_context (CLUTTER_CONTEXT ());
|
||||||
ClutterBackend *backend = clutter_get_default_backend ();
|
|
||||||
PangoClutterFontMap *font_map = CLUTTER_CONTEXT ()->font_map;
|
|
||||||
gdouble resolution;
|
|
||||||
cairo_font_options_t *font_options;
|
|
||||||
|
|
||||||
_context = pango_clutter_font_map_create_context (font_map);
|
|
||||||
|
|
||||||
resolution = clutter_backend_get_resolution (backend);
|
|
||||||
if (resolution < 0)
|
|
||||||
resolution = 96.0;
|
|
||||||
pango_cairo_context_set_resolution (_context, resolution);
|
|
||||||
|
|
||||||
font_options = clutter_backend_get_font_options (backend);
|
|
||||||
pango_cairo_context_set_font_options (_context, font_options);
|
|
||||||
}
|
|
||||||
|
|
||||||
priv->alignment = PANGO_ALIGN_LEFT;
|
priv->alignment = PANGO_ALIGN_LEFT;
|
||||||
priv->wrap = FALSE;
|
priv->wrap = FALSE;
|
||||||
|
@ -414,6 +414,27 @@ clutter_context_free (ClutterMainContext *context)
|
|||||||
g_free (context);
|
g_free (context);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PangoContext *
|
||||||
|
_clutter_context_create_pango_context (ClutterMainContext *self)
|
||||||
|
{
|
||||||
|
PangoContext *context;
|
||||||
|
gdouble resolution;
|
||||||
|
cairo_font_options_t *font_options;
|
||||||
|
|
||||||
|
resolution = clutter_backend_get_resolution (self->backend);
|
||||||
|
if (resolution < 0)
|
||||||
|
resolution = 96.0; /* fall back */
|
||||||
|
|
||||||
|
context = pango_clutter_font_map_create_context (self->font_map);
|
||||||
|
|
||||||
|
pango_cairo_context_set_resolution (context, resolution);
|
||||||
|
|
||||||
|
font_options = clutter_backend_get_font_options (self->backend);
|
||||||
|
pango_cairo_context_set_font_options (context, font_options);
|
||||||
|
|
||||||
|
return context;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* clutter_main_quit:
|
* clutter_main_quit:
|
||||||
*
|
*
|
||||||
|
@ -114,6 +114,7 @@ or enter/leave events */
|
|||||||
|
|
||||||
#define CLUTTER_CONTEXT() (clutter_context_get_default ())
|
#define CLUTTER_CONTEXT() (clutter_context_get_default ())
|
||||||
ClutterMainContext *clutter_context_get_default (void);
|
ClutterMainContext *clutter_context_get_default (void);
|
||||||
|
PangoContext *_clutter_context_create_pango_context (ClutterMainContext *self);
|
||||||
|
|
||||||
#define CLUTTER_PRIVATE_FLAGS(a) (((ClutterActor *) (a))->private_flags)
|
#define CLUTTER_PRIVATE_FLAGS(a) (((ClutterActor *) (a))->private_flags)
|
||||||
#define CLUTTER_SET_PRIVATE_FLAGS(a,f) (CLUTTER_PRIVATE_FLAGS (a) |= (f))
|
#define CLUTTER_SET_PRIVATE_FLAGS(a,f) (CLUTTER_PRIVATE_FLAGS (a) |= (f))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user