GalImage *egal_image_new_from_pixbuf(GalPixbuf *pixbuf) { GalImage *image; image = egal_image_new(pixbuf->w, pixbuf->h, pixbuf->alpha); egal_image_copy_from_pixbuf(image, 0, 0, pixbuf, 0, 0, pixbuf->w, pixbuf->h); return image; }
GalImage *egal_image_new_from_file(const echar *filename) { GalPixbuf *pixbuf; GalImage *image; pixbuf = egal_pixbuf_new_from_file(filename, 1.0, 1.0); if (pixbuf == NULL) return NULL; image = egal_image_new(pixbuf->w, pixbuf->h, pixbuf->alpha); egal_image_copy_from_pixbuf(image, 0, 0, pixbuf, 0, 0, pixbuf->w, pixbuf->h); egal_pixbuf_free(pixbuf); return image; }
static eint ft2_init(GalFont obj, eValist vp) { Ft2Font *ft2font = FT2_FONT_DATA(obj); GalPattern *pattern = e_va_arg(vp, GalPattern *); FT_Face face; ft2font->fname = egal_pattern_get_file(pattern); ft2font->pattern = pattern; ft2font->metrics.size = pattern->size / 10; if (!(face = ft2_get_face(ft2font))) return -1; ft2font->metrics.height = face->size->metrics.height / 64; ft2font->metrics.ascent = face->size->metrics.ascender / 64; ft2font->metrics.descent = face->size->metrics.descender / 64; ft2font->image = egal_image_new(1000, ft2font->metrics.height, true); return 0; }