/* ** Interface definition for Pikchr. */ /* The main interface. Invoke this routine to translate PIKCHR source ** text into SVG. The SVG is returned in a buffer obtained from malloc(). ** The caller is responsible for freeing the buffer. ** ** If an error occurs, *pnWidth is filled with a negative number and ** the return buffer contains error message text instead of SVG. By ** default, the error message is HTML encoded. However, error messages ** come out as plaintext if the PIKCHR_PLAINTEXT_ERRORS flag is included ** as one of the bits in the mFlags parameter. */ char *pikchr( const char *zText, /* Input PIKCHR source text. zero-terminated */ const char *zClass, /* Add class="%s" to markup */ const char *zCss, /* Add optional inline style sheet to SVG */ unsigned int mFlags, /* Flags used to influence rendering behavior */ int *pnWidth, /* OUT: Write width of here, if not NULL */ int *pnHeight /* OUT: Write height here, if not NULL */ ); /* Include PIKCHR_PLAINTEXT_ERRORS among the bits of mFlags on the 3rd ** argument to pikchr() in order to cause error message text to come out ** as text/plain instead of as text/html */ #define PIKCHR_PLAINTEXT_ERRORS 0x0001 /* Include PIKCHR_DARK_MODE among the bits of mFlags on the 3rd ** argument to pikchr() to render the image in dark mode. */ #define PIKCHR_DARK_MODE 0x0002