LMPX.COM |
Home | Linux | Mysql | PHP | XML | ||
|
|
|||
From: Takeshi Abe Date: Mon Jun 23 19:43:20 2008 Subject: cvs: gd /gd-pango gd_pango.c gd_pango.h /gd-pango/tests/pango units.c
tabe Tue Jun 24 01:43:20 2008 UTC
Modified files:
/gd/gd-pango gd_pango.c gd_pango.h
/gd/gd-pango/tests/pango units.c
Log:
modified gdPangoSetPangoFontDescriptionFromFile()'s signature; error code as its last argument.
http://cvs.php.net/viewvc.cgi/gd/gd-pango/gd_pango.c?r1=1.6&r2=1.7&diff_format=u
Index: gd/gd-pango/gd_pango.c
diff -u gd/gd-pango/gd_pango.c:1.6 gd/gd-pango/gd_pango.c:1.7
--- gd/gd-pango/gd_pango.c:1.6 Sat Jun 21 15:11:48 2008
+++ gd/gd-pango/gd_pango.c Tue Jun 24 01:43:19 2008
@@ -15,7 +15,7 @@
| Authors: Pierre-A. Joye <pierre@php.net> |
+----------------------------------------------------------------------+
*/
-/* $Id: gd_pango.c,v 1.6 2008/06/21 15:11:48 tabe Exp $ */
+/* $Id: gd_pango.c,v 1.7 2008/06/24 01:43:19 tabe Exp $ */
/**
* @file
* @brief Pango support for GD
@@ -24,7 +24,7 @@
*
* @author Pierre-Alain Joye
* @date 2006/12/19
- * $Id: gd_pango.c,v 1.6 2008/06/21 15:11:48 tabe Exp $
+ * $Id: gd_pango.c,v 1.7 2008/06/24 01:43:19 tabe Exp $
*/
/**
* \mainpage
@@ -795,10 +795,11 @@
*
* @param *context Context
* @param *fontlist path to ttf file
- * @return A null char* on success, or an error string on failure
+ * @param *error output of error code on failure; simply ignored if error = NULL
+ * @return GD_SUCCESS on success, otherwise GD_FAILURE.
*/
-char *gdPangoSetPangoFontDescriptionFromFile(gdPangoContext *context, const char
- *fontlist, double ptsize)
+int gdPangoSetPangoFontDescriptionFromFile(gdPangoContext *context, const char
+ *fontlist, double ptsize, int *error)
{
FcPattern *fcPattern;
FcBlanks *fcBlanks;
@@ -806,17 +807,19 @@
FcResult fcResult;
int numFonts;
char *font_desc;
- char *r = (char *)NULL;
+ int r;
fcBlanks = FcBlanksCreate();
fcPattern = FcFreeTypeQuery(fontlist, 0, fcBlanks, &numFonts);
if (!fcPattern) {
- r = "font not found";
+ if (error) *error = GD_PANGO_ERROR_FC_FT;
+ r = GD_FAILURE;
goto fail0;
}
fcResult = FcPatternGet(fcPattern, FC_FAMILY, 0, &fcFamilyName);
if (fcResult != FcResultMatch) {
- r = "could not get font family";
+ if (error) *error = GD_PANGO_ERROR_FC_PAT;
+ r = GD_FAILURE;
goto fail1;
}
@@ -824,6 +827,7 @@
context->font_desc = pango_font_description_from_string(font_desc);
g_free(font_desc);
gdPangoSetDpi(context, ptsize, ptsize);
+ r = GD_SUCCESS;
fail1:
FcPatternDestroy(fcPattern);
fail0:
@@ -885,7 +889,7 @@
double ptsize, double angle, int x, int y, char *string)
{
int w, h;
- char *r;
+ int r;
gdPangoContext *context;
gdPangoColors default_colors;
PangoContext *pangocontext;
@@ -900,10 +904,10 @@
angle *= 180 / G_PI;
context = gdPangoCreateContext();
- r = gdPangoSetPangoFontDescriptionFromFile(context, fontlist, ptsize);
- if (r) {
+ r = gdPangoSetPangoFontDescriptionFromFile(context, fontlist, ptsize, NULL);
+ if (r != GD_SUCCESS) {
gdPangoFreeContext(context);
- return r;
+ return "font description not found";
}
gdPangoSetDefaultColor(context, &default_colors);
gdPangoSetMarkup(context, string, -1);
http://cvs.php.net/viewvc.cgi/gd/gd-pango/gd_pango.h?r1=1.7&r2=1.8&diff_format=u
Index: gd/gd-pango/gd_pango.h
diff -u gd/gd-pango/gd_pango.h:1.7 gd/gd-pango/gd_pango.h:1.8
--- gd/gd-pango/gd_pango.h:1.7 Sat Jun 21 15:11:48 2008
+++ gd/gd-pango/gd_pango.h Tue Jun 24 01:43:19 2008
@@ -15,14 +15,14 @@
| Authors: Pierre-A. Joye <pierre@php.net> |
+----------------------------------------------------------------------+
*/
-/* $Id: gd_pango.h,v 1.7 2008/06/21 15:11:48 tabe Exp $ */
+/* $Id: gd_pango.h,v 1.8 2008/06/24 01:43:19 tabe Exp $ */
/**
* @file
* @brief Header file of gd-pango
*
* @author Pierre-Alain Joye
* @date 2006/12/19
- * $Id: gd_pango.h,v 1.7 2008/06/21 15:11:48 tabe Exp $
+ * $Id: gd_pango.h,v 1.8 2008/06/24 01:43:19 tabe Exp $
*/
#ifndef GD_PANGO_H
@@ -49,6 +49,11 @@
pc.blue >> 8, \
0)
+enum {
+ GD_PANGO_ERROR_FC_FT,
+ GD_PANGO_ERROR_FC_PAT,
+};
+
/**
* Defines a colors set. The foreground and background can be
* defined using a integer value returned by gdTrueColor(r,g,b).
@@ -122,8 +127,8 @@
extern void gdPangoSetBaseDirection(
gdPangoContext *context, PangoDirection pango_dir);
-extern char *gdPangoSetPangoFontDescriptionFromFile(
- gdPangoContext *context, const char *fontlist, double ptsize);
+extern int gdPangoSetPangoFontDescriptionFromFile(
+ gdPangoContext *context, const char *fontlist, double ptsize, int *error);
#ifdef __FT2_BUILD_UNIX_H__
http://cvs.php.net/viewvc.cgi/gd/gd-pango/tests/pango/units.c?r1=1.1&r2=1.2&diff_format=u
Index: gd/gd-pango/tests/pango/units.c
diff -u gd/gd-pango/tests/pango/units.c:1.1 gd/gd-pango/tests/pango/units.c:1.2
--- gd/gd-pango/tests/pango/units.c:1.1 Sat Jun 21 15:13:32 2008
+++ gd/gd-pango/tests/pango/units.c Tue Jun 24 01:43:19 2008
@@ -1,5 +1,5 @@
/*
- * NOTE: prefer "gdtest.h" to <assert.h>, so
+ * NOTE: prefer "gdtest.h" to <assert.h>, and
* fix it as soon as possible.
*/
#include <assert.h>
@@ -158,17 +158,16 @@
"/usr/share/fonts/truetype/ttf-bitstream-vera/Vera.ttf",
NULL,
};
- int i;
- char *r;
+ int i, r, error;
context = gdPangoCreateContext();
for (i=0; paths[i]; i++) {
- r = gdPangoSetPangoFontDescriptionFromFile(context, paths[i], 12);
- if (r == NULL) {
+ r = gdPangoSetPangoFontDescriptionFromFile(context, paths[i], 12, NULL);
+ if (r == GD_SUCCESS) {
gdTestAssert(context->font_desc);
}
}
- r = gdPangoSetPangoFontDescriptionFromFile(context, "you have no file of such a name", 10);
- gdTestAssert(strcmp(r, "font not found") == 0);
+ r = gdPangoSetPangoFontDescriptionFromFile(context, "you have no file of such a name", 10, &error);
+ gdTestAssert(r == GD_FAILURE && error == GD_PANGO_ERROR_FC_FT);
gdPangoFreeContext(context);
}
| Navigate in group php.gd.cvs at sever news.php.net | |
| Previous | Next |
| © No Copyright You are free to use Anything |
Site Maintained by PHP Developer
Powered By PHP Consultants |