-/* Constants used for tgi_textstyle */
+/* Color constants */
+#define TGI_COLOR_BLACK 0
+#define TGI_COLOR_WHITE 1
+
+/* Font constants for use with tgi_textstyle */
+#define TGI_FONT_BITMAP 0
+#define TGI_FONT_VECTOR 1
+
+/* Direction constants for use with tgi_textstyle */
#define TGI_TEXT_HORIZONTAL 0
#define TGI_TEXT_VERTICAL 1
/* The default tgi mode for a platform */
extern const unsigned char tgi_stdmode;
+/* A vector font definition */
+typedef struct tgi_vectorfont tgi_vectorfont;
+
/*****************************************************************************/
* the driver!
*/
+const tgi_vectorfont* __fastcall__ tgi_load_vectorfont (const char* name);
+/* Load a vector font into memory and return it. In case of errors, NULL is
+ * returned and an error is set, which can be retrieved using tgi_geterror.
+ */
+
+void __fastcall__ tgi_register_vectorfont (const tgi_vectorfont* font);
+/* Register a vector font for use. More than one vector font can be loaded,
+ * but only one can be active. This function is used to tell which one. Call
+ * with a NULL pointer to unregister the currently registered font.
+ */
+
+void tgi_free_vectorfont (const tgi_vectorfont* font);
+/* Free a vector font that was previously loaded. */
+
unsigned char __fastcall__ tgi_geterror (void);
/* Return the error code for the last operation. This will also clear the
* error.
--- /dev/null
+/*****************************************************************************/
+/* */
+/* tgi-vectorfont.h */
+/* */
+/* TGI vector font definitions */
+/* */
+/* */
+/* */
+/* (C) 2009, Ullrich von Bassewitz */
+/* Roemerstrasse 52 */
+/* D-70794 Filderstadt */
+/* EMail: uz@cc65.org */
+/* */
+/* */
+/* This software is provided 'as-is', without any expressed or implied */
+/* warranty. In no event will the authors be held liable for any damages */
+/* arising from the use of this software. */
+/* */
+/* Permission is granted to anyone to use this software for any purpose, */
+/* including commercial applications, and to alter it and redistribute it */
+/* freely, subject to the following restrictions: */
+/* */
+/* 1. The origin of this software must not be misrepresented; you must not */
+/* claim that you wrote the original software. If you use this software */
+/* in a product, an acknowledgment in the product documentation would be */
+/* appreciated but is not required. */
+/* 2. Altered source versions must be plainly marked as such, and must not */
+/* be misrepresented as being the original software. */
+/* 3. This notice may not be removed or altered from any source */
+/* distribution. */
+/* */
+/*****************************************************************************/
+
+
+
+#ifndef _TGI_VECTORFONT_H
+#define _TGI_VECTORFONT_H
+
+
+
+/*****************************************************************************/
+/* Data */
+/*****************************************************************************/
+
+
+
+#define TGI_VF_FIRSTCHAR 0x20 /* First char in file */
+#define TGI_VF_LASTCHAR 0x7E /* Last char in file */
+#define TGI_VF_CCOUNT (TGI_VF_LASTCHAR - TGI_VF_FIRSTCHAR + 1)
+
+#define TGI_VF_VERSION 0x00 /* File version number */
+
+/* TCH file header */
+struct tgi_vectorfont_header {
+ unsigned char magic[3]; /* "TCH" */
+ unsigned char version; /* Version number */
+ unsigned size; /* Font data size */
+};
+
+/* Font data loaded directly from file */
+struct tgi_vectorfont {
+ unsigned char top; /* Height of char */
+ unsigned char baseline; /* Character baseline */
+ unsigned char bottom; /* Descender */
+ unsigned char widths[TGI_VF_CCOUNT]; /* Char widths */
+ unsigned char* chars[TGI_VF_CCOUNT]; /* Pointer to character defs */
+ unsigned char vec_ops[1]; /* Actually dynamic */
+};
+
+
+
+/* End of tgi-vectorfont.h */
+#endif
+
+
+