Hi, prior to DirectFB 1.1.0 release, the .dgiff fonts format was disabled in the makefiles -- from the look of it (http://tinyurl.com/5cq6ov), it was because it didn't compile anymore after surface_core branch changes.
Attached patch updates the code to compile and work with latest sources and re-enables it in the makefiles. Regards, Vaclav
diff --git a/interfaces/IDirectFBFont/Makefile.am b/interfaces/IDirectFBFont/Makefile.am
index 9bb6cd9..6927f7b 100644
--- a/interfaces/IDirectFBFont/Makefile.am
+++ b/interfaces/IDirectFBFont/Makefile.am
@@ -19,8 +19,8 @@ AM_CFLAGS = $(FREETYPE_CFLAGS)
idirectfbfont_LTLIBRARIES = \
libidirectfbfont_default.la \
- $(FREETYPE_PROVIDER_LTLIB)
-# libidirectfbfont_dgiff.la
+ $(FREETYPE_PROVIDER_LTLIB) \
+ libidirectfbfont_dgiff.la
if BUILD_STATIC
idirectfbfont_DATA = $(idirectfbfont_LTLIBRARIES:.la=.o)
@@ -36,13 +36,13 @@ libidirectfbfont_default_la_LIBADD = \
$(top_builddir)/src/libdirectfb.la
-#libidirectfbfont_dgiff_la_SOURCES = idirectfbfont_dgiff.c
+libidirectfbfont_dgiff_la_SOURCES = idirectfbfont_dgiff.c
-#libidirectfbfont_dgiff_la_LDFLAGS = -avoid-version -module
+libidirectfbfont_dgiff_la_LDFLAGS = -avoid-version -module
-#libidirectfbfont_dgiff_la_LIBADD = \
-# $(top_builddir)/lib/direct/libdirect.la \
-# $(top_builddir)/src/libdirectfb.la
+libidirectfbfont_dgiff_la_LIBADD = \
+ $(top_builddir)/lib/direct/libdirect.la \
+ $(top_builddir)/src/libdirectfb.la
libidirectfbfont_ft2_la_SOURCES = idirectfbfont_ft2.c
diff --git a/interfaces/IDirectFBFont/idirectfbfont_dgiff.c b/interfaces/IDirectFBFont/idirectfbfont_dgiff.c
index 71c66ae..5483633 100644
--- a/interfaces/IDirectFBFont/idirectfbfont_dgiff.c
+++ b/interfaces/IDirectFBFont/idirectfbfont_dgiff.c
@@ -161,6 +161,7 @@ Construct( IDirectFBFont *thiz,
DGIFFGlyphInfo *glyphs;
DGIFFGlyphRow *row;
DGIFFImplData *data;
+ CoreSurfaceConfig config;
// if (desc->flags & (DFDESC_WIDTH | DFDESC_ATTRIBUTES | DFDESC_FIXEDADVANCE))
// return DFB_UNSUPPORTED;
@@ -234,6 +235,12 @@ Construct( IDirectFBFont *thiz,
}
/* Build glyph cache rows. */
+
+ config.flags = CSCONF_SIZE | CSCONF_FORMAT | CSCONF_PREALLOCATED;
+ config.format = face->pixelformat;
+ config.preallocated[1].addr = NULL;
+ config.preallocated[1].pitch = 0;
+
for (i=0; i<face->num_rows; i++) {
font->rows[i] = D_CALLOC( 1, sizeof(CoreFontCacheRow) );
if (!font->rows[i]) {
@@ -241,9 +248,14 @@ Construct( IDirectFBFont *thiz,
goto error;
}
- ret = dfb_surface_create_preallocated( core, row->width, row->height, face->pixelformat,
- CSP_VIDEOHIGH, DSCAPS_NONE, NULL, (void*)(row+1),
- NULL, row->pitch, 0, &font->rows[i]->surface );
+ config.size.w = row->width;
+ config.size.h = row->height;
+ config.preallocated[0].addr = (void*)(row+1);
+ config.preallocated[0].pitch = row->pitch;
+
+ ret = dfb_surface_create( core, &config, CSTF_PREALLOCATED, 0, NULL,
+ &font->rows[i]->surface );
+
if (ret) {
D_DERROR( ret, "DGIFF/Font: Could not create preallocated %s %dx%d glyph row surface!\n",
dfb_pixelformat_name(face->pixelformat), row->width, row->height );
signature.asc
Description: This is a digitally signed message part
_______________________________________________ directfb-dev mailing list [email protected] http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev
