#include <libgen.h>
#include <cairo.h>
#include <cairo-ft.h>
-#include <cgic.h>
#ifndef CAIRO_HAS_PNG_FUNCTIONS
#error This program requires cairo with PNG support
#define TRUE (1==1)
#define FALSE (!TRUE)
+#if USE_CGIC
static cairo_status_t
stdio_write (void *closure, const unsigned char *data, unsigned int length);
+#endif
double
get_max_width (cairo_t *cr, char *characters);
get_max_height (cairo_t *cr, char *characters);
int
-cgiMain ()
+main (void)
{
char outputJson = FALSE;
int i;
/* QueryString */
- char fontname[20];
int fontsize;
char format[5];
char fillcolor[20];
+
+#if USE_CGIG
+ char fontname[20];
cgiFormStringNoNewlines("fontname", fontname, 20);
cgiFormInteger("fontsize", &fontsize, 50);
cgiFormStringNoNewlines("format", format, 5);
cgiFormStringNoNewlines("fillcolor", fillcolor, 20);
+#endif
int fillcolor_red;
int fillcolor_green;
if ( format[0] == 'j' && format[1] == 's' && format[2] == 'o' && format[3] == 'n' )
outputJson = TRUE;
+#if USE_CGIC
if (outputJson)
{
cgiHeaderContentType("application/json");
} else {
cgiHeaderContentType("image/png");
}
+#endif
int error;
FT_Library library;
cairo_pattern_destroy (gradient);
*/
+
+#if USE_CGIC
if (outputJson)
{
printf("}");
} else {
cairo_surface_write_to_png_stream (surface, stdio_write, cgiOut);
}
+#endif
cairo_destroy (cr);
return 0;
}
+#if USE_CGIC
static cairo_status_t
stdio_write (void *closure, const unsigned char *data, unsigned int length)
{
else
return CAIRO_STATUS_WRITE_ERROR;
}
+#endif
double
get_max_width(cairo_t *cr, char *characters)