Class: Cairo::UserFontFace

Inherits:
FontFace show all
Defined in:
ext/cairo/rb_cairo_font_face.c

Defined Under Namespace

Classes: TextToGlyphsData

Instance Method Summary collapse

Methods inherited from FontFace

freetype_supported?, quartz_supported?

Constructor Details

#initializeObject



733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
# File 'ext/cairo/rb_cairo_font_face.c', line 733

static VALUE
cr_user_font_face_initialize (VALUE self)
{
  cairo_font_face_t *face;

  face = cairo_user_font_face_create ();
  cr_font_face_check_status (face);

  cairo_font_face_set_user_data (face, &ruby_object_key, (void *)self, NULL);

  cairo_user_font_face_set_init_func
    (face, cr_user_font_face_init_func);
  cairo_user_font_face_set_render_glyph_func
    (face, cr_user_font_face_render_glyph_func);
#if CAIRO_CHECK_VERSION(1, 17, 6)
  cairo_user_font_face_set_render_color_glyph_func
    (face, cr_user_font_face_render_color_glyph_func);
#endif
  cairo_user_font_face_set_text_to_glyphs_func
    (face, cr_user_font_face_text_to_glyphs_func);
  cairo_user_font_face_set_unicode_to_glyph_func
    (face, cr_user_font_face_unicode_to_glyph_func);

  rb_ivar_set (self, cr_id_init, Qnil);
  rb_ivar_set (self, cr_id_render_glyph, Qnil);
  rb_ivar_set (self, cr_id_text_to_glyphs, Qnil);
  rb_ivar_set (self, cr_id_unicode_to_glyph, Qnil);

  RTYPEDDATA_DATA (self) = face;

  return Qnil;
}

Instance Method Details

#on_initObject



766
767
768
769
770
771
# File 'ext/cairo/rb_cairo_font_face.c', line 766

static VALUE
cr_user_font_face_on_init (VALUE self)
{
  rb_ivar_set (self, cr_id_init, rb_block_proc ());
  return self;
}

#on_render_color_glyphObject



781
782
783
784
785
786
# File 'ext/cairo/rb_cairo_font_face.c', line 781

static VALUE
cr_user_font_face_on_render_color_glyph (VALUE self)
{
  rb_ivar_set (self, cr_id_render_color_glyph, rb_block_proc ());
  return self;
}

#on_render_glyphObject



773
774
775
776
777
778
# File 'ext/cairo/rb_cairo_font_face.c', line 773

static VALUE
cr_user_font_face_on_render_glyph (VALUE self)
{
  rb_ivar_set (self, cr_id_render_glyph, rb_block_proc ());
  return self;
}

#on_text_to_glyphsObject



789
790
791
792
793
794
# File 'ext/cairo/rb_cairo_font_face.c', line 789

static VALUE
cr_user_font_face_on_text_to_glyphs (VALUE self)
{
  rb_ivar_set (self, cr_id_text_to_glyphs, rb_block_proc ());
  return self;
}

#on_unicode_to_glyphObject



796
797
798
799
800
801
# File 'ext/cairo/rb_cairo_font_face.c', line 796

static VALUE
cr_user_font_face_on_unicode_to_glyph (VALUE self)
{
  rb_ivar_set (self, cr_id_unicode_to_glyph, rb_block_proc ());
  return self;
}