void
_pango_cairo_font_private_initialize (PangoCairoFontPrivate      *cf_priv,
				      PangoCairoFont             *cfont,
				      PangoGravity                gravity,
				      const cairo_font_options_t *font_options,
				      const PangoMatrix          *pango_ctm,
				      const cairo_matrix_t       *font_matrix)
{
  cairo_matrix_t gravity_matrix;

  cf_priv->cfont = cfont;
  cf_priv->gravity = gravity;

  cf_priv->data = _pango_cairo_font_private_scaled_font_data_create (); 

  /* first apply gravity rotation, then font_matrix, such that
   * vertical italic text comes out "correct".  we don't do anything
   * like baseline adjustment etc though.  should be specially
   * handled when we support italic correction. */
  cairo_matrix_init_rotate(&gravity_matrix,
			   pango_gravity_to_rotation (cf_priv->gravity));
  cairo_matrix_multiply (&cf_priv->data->font_matrix,
			 font_matrix,
			 &gravity_matrix);

  if (pango_ctm)
    cairo_matrix_init (&cf_priv->data->ctm,
		       pango_ctm->xx,
		       pango_ctm->yx,
		       pango_ctm->xy,
		       pango_ctm->yy,
		       0., 0.);
  else
    cairo_matrix_init_identity (&cf_priv->data->ctm);

  cf_priv->data->options = cairo_font_options_copy (font_options);
  cf_priv->is_hinted = cairo_font_options_get_hint_metrics (font_options) != CAIRO_HINT_METRICS_OFF;

  cf_priv->scaled_font = NULL;
  cf_priv->hbi = NULL;
  cf_priv->glyph_extents_cache = NULL;
  cf_priv->metrics_by_lang = NULL;
}
Exemple #2
0
	int lime_cairo_font_options_get_hint_metrics (value handle) {
		
		return cairo_font_options_get_hint_metrics ((cairo_font_options_t*)val_data (handle));
		
	}
Exemple #3
0
static PyObject *
font_options_get_hint_metrics (PycairoFontOptions *o)
{
    return PyInt_FromLong (cairo_font_options_get_hint_metrics
			   (o->font_options));
}
Exemple #4
0
	int lime_cairo_font_options_get_hint_metrics (double handle) {
		
		return cairo_font_options_get_hint_metrics ((cairo_font_options_t*)(intptr_t)handle);
		
	}
Exemple #5
0
int32_t FontOptions::getHintMetrics()
{
	return static_cast<int32_t>( cairo_font_options_get_hint_metrics( mCairoFontOptions ) );
}
static VALUE
cr_options_get_hint_metrics (VALUE self)
{
  return INT2NUM (cairo_font_options_get_hint_metrics (_SELF (self)));
}
Exemple #7
0
IoObject *IoCairoFontOptions_getHintMetrics(IoCairoFontOptions *self, IoObject *locals, IoMessage *m)
{
	return IONUMBER(cairo_font_options_get_hint_metrics(OPTIONS(self)));
}