23#if defined(WIN32) | defined(WIN64) | defined(_WIN32) | defined(_WIN64)
25#define __WINDOWS__ (1)
34#define STICK2XYZ_LANGPACK_UTF8_16(d, v) \
37d = (wchar_t *)alloca((strlen(v) + 1) * sizeof(wchar_t)); \
38mbstowcs(d, v, strlen(v) + 1); \
45#define STICK2XYZ_LANGPACK_UTF8_16(d, v) \
62#ifdef STICK2XYZ_NO_MODULARIZATION
63#ifndef STICK2XYZ_NO_MODLANGPACKS
64#error You can not modularize language packs on static builds.
70#error Windows builds of stick2xyz program and modules must be compiled in Unicode.
74#error __WINDOWS__ and HAVE_EVENTFD are not compatible with each other.
97#define alloca __builtin_alloca
100#define alloca __alloca
101#elif defined _MSC_VER
103#define alloca _alloca
113#ifdef STICK2XYZ_NO_MODULARIZATION
114#define STICK2XYZ_STATIC (1)
131#include <sys/eventfd.h>
137#if !defined(Z_NO_COMPRESSION) & defined(HAVE_ZLIB_H)
150#define stick2xyz_strlen wcslen
151#define stick2xyz_strcat wcscat
152#define stick2xyz_strcpy wcscpy
153#define stick2xyz_strncpy wcsncpy
154#define stick2xyz_strcmp wcscmp
155#define stick2xyz_strncmp wcsncmp
156#define stick2xyz_strcasecmp wcscasecmp
158#define stick2xyz_fprintf fwprintf
159#define stick2xyz_fputs fputws
160#define stick2xyz_fputc fputwc
162#define stick2xyz_snprintf swprintf
170#define stick2xyz_strlen strlen
171#define stick2xyz_strcat strcat
172#define stick2xyz_strcpy strcpy
173#define stick2xyz_strncpy strncpy
174#define stick2xyz_strcmp strcmp
175#define stick2xyz_strncmp strncmp
176#define stick2xyz_strcasecmp strcasecmp
178#define stick2xyz_fprintf fprintf
179#define stick2xyz_fputs fputs
180#define stick2xyz_fputc fputc
183#define stick2xyz_snprintf snprintf
185#define stick2xyz_snprintf(s,l,f,d) snprintf(s,f,d)
191#define stick2xyz_set_errno(err) _set_errno(err)
192#define stick2xyz_get_errno(retval) _get_errno(retval)
198static inline errno_t stick2xyz_set_errno (
int errcode )
206static inline errno_t stick2xyz_get_errno (
int * errcode )
209 if ( errcode == NULL )
219#ifndef STICK2XYZ_HUMAN_LANGUAGE
222#define STICK2XYZ_MODTYPE_NONE 0x00000000
223#define STICK2XYZ_MODTYPE_PANE2D 0x00000001
224#define STICK2XYZ_MODTYPE_PANE2D_DEBUG 0x00000002
225#define STICK2XYZ_MODTYPE_PANE2D_UNICODE 0x00000004
226#define STICK2XYZ_MODTYPE_PANE2D_UNICODE_DEBUG 0x00000008
227#define STICK2XYZ_MODTYPE_OUTPUT2D 0x00000010
228#define STICK2XYZ_MODTYPE_OUTPUT2D_DEBUG 0x00000020
229#define STICK2XYZ_MODTYPE_OUTPUT2D_UNICODE 0x00000040
230#define STICK2XYZ_MODTYPE_OUTPUT2D_UNICODE_DEBUG 0x00000080
231#define STICK2XYZ_MODTYPE_INPUT 0x00000100
232#define STICK2XYZ_MODTYPE_INPUT_DEBUG 0x00000200
233#define STICK2XYZ_MODTYPE_INPUT_UNICODE 0x00000400
234#define STICK2XYZ_MODTYPE_INPUT_UNICODE_DEBUG 0x00000800
238#ifndef STICK2XYZ_COMPRESSION
239#define STICK2XYZ_COMPRESSION Z_NO_COMPRESSION
244#define STICK2XYZ_MAXBUFLEN 64
245#define STICK2XYZ_MAXBUFPARAMS 16
247#define STICK2XYZ_INPUTTYPE_UNKNOWN 0x00000000
248#define STICK2XYZ_INPUTTYPE_IS_PANE2D 0x00000001
249#define STICK2XYZ_INPUTTYPE_IS_PANE3D 0x00000002
251#define STICK2XYZ_INPUTTYPE_OUTPUTPANE 0x00000004
252#define STICK2XYZ_INPUTTYPE_CLEARPANE 0x00000008
254#define STICK2XYZ_INPUTTYPE_DRAWPIXEL 0x00000010
255#define STICK2XYZ_INPUTTYPE_DRAWLINE 0x00000020
257#define STICK2XYZ_INPUTTYPE_DRAWCIRCLE 0x00000100
258#define STICK2XYZ_INPUTTYPE_FILLCIRCLE 0x00000200
259#define STICK2XYZ_INPUTTYPE_DRAWELLIPSE 0x00000400
260#define STICK2XYZ_INPUTTYPE_FILLELLIPSE 0x00000800
262#define STICK2XYZ_INPUTTYPE_DRAWRECT 0x00001000
263#define STICK2XYZ_INPUTTYPE_DRAWRECTANGLE 0x00001000
264#define STICK2XYZ_INPUTTYPE_FILLRECT 0x00002000
265#define STICK2XYZ_INPUTTYPE_FILLRECTANGLE 0x00002000
266#define STICK2XYZ_INPUTTYPE_DRAWSQUARE 0x00004000
267#define STICK2XYZ_INPUTTYPE_FILLSQUARE 0x00008000
269#define STICK2XYZ_INPUTTYPE_DRAWTRIANGLE 0x00010000
270#define STICK2XYZ_INPUTTYPE_FILLTRIANGLE 0x00020000
271#define STICK2XYZ_INPUTTYPE_DRAW90TRIANGLE 0x00040000
272#define STICK2XYZ_INPUTTYPE_FILL90TRIANGLE 0x00080000
274#define STICK2XYZ_INPUTTYPE_TEXTUREGRAY 0x00100000
275#define STICK2XYZ_INPUTTYPE_TEXTUREGRAY16 0x02100000
276#define STICK2XYZ_INPUTTYPE_TEXTUREGRAYIMAGE 0x00200000
277#define STICK2XYZ_INPUTTYPE_TEXTUREGRAYIMAGE16 0x02200000
278#define STICK2XYZ_INPUTTYPE_TEXTURERGB 0x00400000
279#define STICK2XYZ_INPUTTYPE_TEXTURERGB16 0x02400000
280#define STICK2XYZ_INPUTTYPE_TEXTURERGBIMAGE 0x00800000
281#define STICK2XYZ_INPUTTYPE_TEXTURERGBIMAGE16 0x02800000
283#define STICK2XYZ_INPUTTYPE_CLEARTEXTURES 0x01000000
284#define STICK2XYZ_INPUTTYPE_TEXTURE16BIT 0x02000000
287#define STICK2XYZ_PANE2D_VERTEX_DRAW 0x00000001
288#define STICK2XYZ_PANE2D_VERTEX_STRUCT 0x00000002
289#define STICK2XYZ_PANE2D_VERTEX_NODRAW 0x00000004
290#define STICK2XYZ_PANE2D_VERTEX_DRAWSTRUCT \
291 ( STICK2XYZ_PANE2D_VERTEX_DRAW | STICK2XYZ_PANE2D_VERTEX_STRUCT )
293#define STICK2XYZ_PANE2D_PIXEL STICK2XYZ_INPUTTYPE_DRAWPIXEL
294#define STICK2XYZ_PANE2D_LINE STICK2XYZ_INPUTTYPE_DRAWLINE
295#define STICK2XYZ_PANE2D_CIRCLE STICK2XYZ_INPUTTYPE_DRAWCIRCLE
296#define STICK2XYZ_PANE2D_CIRCLE_WT STICK2XYZ_INPUTTYPE_FILLCIRCLE
297#define STICK2XYZ_PANE2D_ELLIPSE STICK2XYZ_INPUTTYPE_DRAWELLIPSE
298#define STICK2XYZ_PANE2D_ELLIPSE_WT STICK2XYZ_INPUTTYPE_FILLELLIPSE
299#define STICK2XYZ_PANE2D_RECTANGLE STICK2XYZ_INPUTTYPE_DRAWRECTANGLE
300#define STICK2XYZ_PANE2D_RECTANGLE_WT STICK2XYZ_INPUTTYPE_FILLRECTANGLE
301#define STICK2XYZ_PANE2D_SQUARE STICK2XYZ_INPUTTYPE_DRAWSQUARE
302#define STICK2XYZ_PANE2D_SQUARE_WT STICK2XYZ_INPUTTYPE_FILLSQUARE
303#define STICK2XYZ_PANE2D_TRIANGLE STICK2XYZ_INPUTTYPE_DRAWTRIANGLE
304#define STICK2XYZ_PANE2D_TRIANGLE_WT STICK2XYZ_INPUTTYPE_FILLTRIANGLE
305#define STICK2XYZ_PANE2D_90TRIANGLE STICK2XYZ_INPUTTYPE_DRAW90TRIANGLE
306#define STICK2XYZ_PANE2D_90TRIANGLE_WT STICK2XYZ_INPUTTYPE_FILL90TRIANGLE
314static inline int stick2xyz_event_occured ( HANDLE src )
318 if ( ( src != NULL ) && ( src != INVALID_HANDLE_VALUE ) )
319 if ( WaitForSingleObject(src, 0) == WAIT_OBJECT_0 )
329static inline int stick2xyz_event_occured (
int src )
341 if ( poll(&pfd, 1, 0) > 0 )
349static inline int stick2xyz_event_occured (
int src )
383typedef void * (*stick2xyz_print_ptr)(
unsigned int,
const void **);
384typedef const char * (*stick2xyz_lang_ptr)(void);
385typedef unsigned int (*stick2xyz_lang_type)(void);
387struct langpack_funcptrs
389 stick2xyz_print_ptr langpack_funcptrs_print;
390 unsigned int langpack_funcptrs_type;
391 const char * langpack_funcptrs_lang;
400#define STICK2XYZ_PANE2D_ALLOC_NONE 0x00000000
401#define STICK2XYZ_PANE2D_ALLOC_GRAY 0x00000001
402#define STICK2XYZ_PANE2D_ALLOC_GRAY16 0x00000002
403#define STICK2XYZ_PANE2D_ALLOC_RGB 0x00000004
404#define STICK2XYZ_PANE2D_ALLOC_RGB16 0x00000008
405#define STICK2XYZ_PANE2D_ALLOC_ALL 0x0000000F
409#define STICK2XYZ_PANE2D_ACCESSCTRL_NONE 0x00000000
410#define STICK2XYZ_PANE2D_ACCESSCTRL_ADDREF 0x00000001
411#define STICK2XYZ_PANE2D_ACCESSCTRL_NONBLOCK 0x00000002
412#define STICK2XYZ_PANE2D_ACCESSCTRL_CHANGEOWNER 0x00000004
413#define STICK2XYZ_PANE2D_ACCESSCTRL_ACLDRAWSET 0x00000010
415#define STICK2XYZ_PANE2D_ACCESSCTRL_READONLY 0
416#define STICK2XYZ_PANE2D_ACCESSCTRL_EVERYONE -1
420#define STICK2XYZ_PANE2D_REQUEST_UNKNOWN 0x0000
421#define STICK2XYZ_PANE2D_REQUEST_UINT8PP 0x0001
422#define STICK2XYZ_PANE2D_REQUEST_UINT8P 0x0002
423#define STICK2XYZ_PANE2D_REQUEST_UINT16PP 0x0004
424#define STICK2XYZ_PANE2D_REQUEST_UINT16P 0x0008
428#define STICK2XYZ_PANE2D_TEXTURE_INVALID 0x0000
429#define STICK2XYZ_PANE2D_TEXTURE_GRAY 0x0001
430#define STICK2XYZ_PANE2D_TEXTURE_GRAYIMAGE 0x0002
431#define STICK2XYZ_PANE2D_TEXTURE_RGB 0x0004
432#define STICK2XYZ_PANE2D_TEXTURE_RGBIMAGE 0x0008
436#define STICK2XYZ_PANE2D_COLORTYPE_GRAY 0x00000001
437#define STICK2XYZ_PANE2D_COLORTYPE_RGB 0x00000002
438#define STICK2XYZ_PANE2D_COLORTYPE_ALPHA 0x00000010
439#define STICK2XYZ_PANE2D_COLORTYPE_16BIT 0x00000020
750#if defined(DOXYGEN_BUILD) | defined(__WINDOWS__)
852typedef const wchar_t * (*pane2d_modid_name)(void);
856typedef const wchar_t * (*pane2d_modid_desc)(void);
858typedef const char * (*pane2d_modid_name)(void);
859typedef const char * (*pane2d_modid_desc)(void);
887#if !defined(__WINDOWS__) | defined(DOXYGEN_BUILD)
951#if defined(__WINDOWS__) | defined(DOXYGEN_BUILD)
1323#if !defined(__WINDOWS__) | defined(DOXYGEN_BUILD)
1335#if defined(__WINDOWS__) | defined(DOXYGEN_BUILD)
1620#define STICK2XYZ_OUTPUT2D_QUALITY_VALID 0x00
1621#define STICK2XYZ_OUTPUT2D_QUALITY_INVALID 0x01
1622#define STICK2XYZ_OUTPUT2D_QUALITY_TOOLOW 0x03
1623#define STICK2XYZ_OUTPUT2D_QUALITY_TOOHIGH 0x05
1678typedef const wchar_t * (*output2d_modid_name)(void);
1682typedef const wchar_t * (*output2d_modid_desc)(void);
1684typedef const char * (*output2d_modid_name)(void);
1685typedef const char * (*output2d_modid_desc)(void);
1718#if !defined(__WINDOWS__) | defined(DOXYGEN_BUILD)
1852#if !defined(__WINDOWS__) | defined(DOXYGEN_BUILD)
1898#define STICK2XYZ_INPUT_OPEN_INVALID (input_handle)-1
1907#define STICK2XYZ_INPUT_OPEN_ENOENT (input_handle)-2
1915#define STICK2XYZ_INPUT_OPEN_ERROR (input_handle)-2
1921#define STICK2XYZ_INPUT_OPEN_MEMORY NULL
1927#define STICK2XYZ_INPUT_TYPE_AUTO 0x00000000
1935#define STICK2XYZ_INPUT_TYPE_NOTSUPP 0x00000001
1941#define STICK2XYZ_INPUT_TYPE_PLAIN 0x00000010
1948#define STICK2XYZ_INPUT_TYPE_BINARY 0x00000020
1953#define STICK2XYZ_INPUT_TYPE_GZIP 0x00000100
1958#define STICK2XYZ_INPUT_TYPE_BZIP2 0x00000200
1969#define STICK2XYZ_INPUT_TYPE_LZMA2 0x00000400
1974#define STICK2XYZ_INPUT_TYPE_IS_UTF8(v) \
1975 ( ! ( v & 0x0000F000 ) )
1983#define STICK2XYZ_INPUT_TYPE_UTF8 0x00000000
1993#define STICK2XYZ_INPUT_TYPE_UTF16BE 0x00001000
2003#define STICK2XYZ_INPUT_TYPE_UTF16LE 0x00002000
2013#define STICK2XYZ_INPUT_TYPE_UTF32BE 0x00004000
2023#define STICK2XYZ_INPUT_TYPE_UTF32LE 0x00008000
2038#define STICK2XYZ_INPUT_TYPE_SMALL 0x10000000
2081typedef const wchar_t * (*input_modid_name)(void);
2085typedef const wchar_t * (*input_modid_desc)(void);
2087typedef const char * (*input_modid_name)(void);
2088typedef const char * (*input_modid_desc)(void);
2119#if !defined(__WINDOWS__) | defined(DOXYGEN_BUILD)
2213#if !defined(__WINDOWS__) | defined(DOXYGEN_BUILD)
2243#ifdef STICK2XYZ_STATIC
uint64_t(* pane2d_texture_add_gray)(pane2d_handle, uint8_t, uint8_t, pane2d_texture_handle *)
int(* pane2d_waituntilowner)(pane2d_handle, int)
uint32_t(* input_get_utftype)(input_handle)
void(* pane2d_fillellipse)(pane2d_handle, pane2d_texture_handle, int, int, int, int)
const wchar_t *(* input_modid_name)(void)
void(* pane2d_freeimage)(pane2d_handle, uint8_t **)
input_handle(* input_fwopen)(const wchar_t *)
int(* pane2d_changeowningthread)(pane2d_handle, HANDLE, int)
input_handle(* input_fopen)(const char *)
int(* pane2d_termwaituntilowner)(pane2d_handle)
pane2d_handle(* pane2d_alloc)(int, int)
void(* input_modid_version)(int *)
int(* output2d_write_w)(output2d_handle, const wchar_t *, unsigned int, int)
void(* input_modid_lang)(void *)
uint32_t(* output2d_quality_valid)(const int)
int(* output2d_bpp_default)(void)
uint32_t(* pane2d_colortype)(void)
void(* output2d_sigterm_ready)(int)
const wchar_t *(* pane2d_modid_desc)(void)
int(* output2d_quality_range)(struct output2d_qualityinfo *)
void(* pane2d_drawsquare)(pane2d_handle, int, int, int, int)
void(* pane2d_texture_clear)(pane2d_handle)
void(* output2d_modid_version)(int *)
const wchar_t *(* input_modid_desc)(void)
input_handle(* input_fwopen_bt)(const wchar_t *, uint32_t *)
void(* pane2d_drawcircle)(pane2d_handle, int, int, int, int)
int(* pane2d_dupfunc_getlist)(uint32_t, struct pane2d_dupgen_funcs *)
int(* pane2d_vertex_get)(pane2d_handle, int, struct pane2d_vertex_elm *)
void(* pane2d_print_segment)(pane2d_handle, int)
int(* pane2d_releaseref)(pane2d_handle, int, int)
input_handle(* input_open)(void *)
int(* input_type_supported)(uint32_t)
int(* pane2d_is_multithreaded)(pane2d_handle)
void(* pane2d_getref)(pane2d_handle, int *, int *)
void(* input_close)(input_handle)
uint8_t **(* pane2d_dupimage)(pane2d_handle, int)
uint8_t *(* pane2d_dupdatap)(pane2d_handle, int)
uint64_t(* pane2d_texture_add_rgb)(pane2d_handle, uint8_t, uint8_t, uint8_t, uint8_t, pane2d_texture_handle *)
void(* modid_lang)(void *)
uint32_t(* pane2d_vertex_getopts)(pane2d_handle)
void(* pane2d_set_tty)(void *, void *)
int(* output2d_multithread_safe)(void)
void(* pane2d_freedatap)(pane2d_handle, uint8_t *)
const wchar_t stick2xyz_ctchar
const wchar_t *(* output2d_modid_desc)(void)
int(* output2d_write)(output2d_handle, const char *, unsigned int, int)
int(* input_release)(void)
int(* output2d_sigterm)(output2d_sigterm_ready, int)
output2d_handle(* paneimage_to_output2d)(pane2d_handle, pane2d_dupimage, pane2d_freeimage, pane2d_dupxy, int)
int(* pane2d_candraw)(pane2d_handle)
input_handle(* input_fdopen_bt)(int, uint32_t *)
void(* pane2d_fillrighttriangle)(pane2d_handle, pane2d_texture_handle, int, int, int, int, int)
void(* pane2d_drawellipse)(pane2d_handle, int, int, int, int, int)
void(* pane2d_vertex_setopts)(pane2d_handle, uint32_t)
output2d_handle(* pane_to_output2d)(pane2d_handle, pane2d_dupdata, pane2d_dupxy, int)
void(* output2d_read)(const char *)
void(* pane2d_freedata16p)(pane2d_handle, uint16_t *)
output2d_handle(* pane_to_output2d_bytype)(pane2d_handle, pane2d_dupfunc_getlist, int, unsigned int)
HANDLE(* pane2d_eventreleased)(pane2d_handle)
void(* pane2d_fillsquare)(pane2d_handle, pane2d_texture_handle, int, int, int)
void(* pane2d_drawtriangle)(pane2d_handle, int, int, int, int, int, int, int)
void(* pane2d_modid_lang)(void *)
void(* output2d_free_handle)(output2d_handle)
int(* pane2d_texture_enum)(pane2d_handle, pane2d_texture_handle *, uint64_t)
const wchar_t *(* pane2d_modid_name)(void)
BOOL(* pane2d_freedrawaclinfo_windows)(pane2d_handle, struct pane2d_drawacl *)
int(* pane2d_vertex_get_v2)(pane2d_handle, int, struct pane2d_vertex_elm_v2 *)
int(* pane2d_get_bpp)(void)
uint32_t(* input_get_supportedalgorithm)(void)
void(* pane2d_drawrighttriangle)(pane2d_handle, int, int, int, int, int, int)
uint64_t(* pane2d_texture_add_rgb16)(pane2d_handle, uint16_t, uint16_t, uint16_t, uint16_t, pane2d_texture_handle *)
void(* output2d_modid_lang)(void *)
#define STICK2XYZ_MAXBUFPARAMS
int(* pane2d_sigterm)(pane2d_sigterm_ready, int)
int(* pane2d_isowner)(pane2d_handle)
int(* input_read)(input_handle, struct input_buf *, size_t, size_t)
void(* pane2d_drawtworighttriangles)(pane2d_handle, int, int, int, int, int, int)
void(* pane2d_sigterm_ready)(int)
size_t(* output2d_bpp_list)(int *)
const wchar_t * stick2xyz_pctchar
void(* pane2d_drawline)(pane2d_handle, int, int, int, int, int)
uint8_t **(* pane2d_dupdata)(pane2d_handle, int)
const wchar_t *(* output2d_modid_name)(void)
BOOL(* pane2d_getdrawaclinfo_windows)(pane2d_handle, struct pane2d_drawacl *)
int(* pane2d_changeaccesscontrol)(pane2d_handle, PHANDLE, int, uint32_t)
uint64_t(* pane2d_texture_add_gray16)(pane2d_handle, uint16_t, uint16_t, pane2d_texture_handle *)
void(* input_sigterm_ready)(int)
int stick2xyz_eventhandle
uint32_t(* input_get_algorithm)(input_handle)
void(* output2d_set_tty)(void *, void *)
void * pane2d_texture_handle
void(* pane2d_modid_version)(int *)
output2d_handle(* pane16_to_output2d_bytype)(pane2d_handle, pane2d_dupfunc_getlist, int, unsigned int)
void(* pane2d_clear)(pane2d_handle)
void(* pane2d_freeimage16)(pane2d_handle, uint16_t **)
pane2d_handle(* pane2d_alloc_multithread)(int, int, size_t, uint32_t)
void(* pane2d_filltriangle)(pane2d_handle, pane2d_texture_handle, int, int, int, int, int, int)
int(* pane2d_addref)(pane2d_handle)
void(* pane2d_dupxy)(pane2d_handle, int *, int *)
int(* output2d_bpp_supported)(const int)
input_handle(* input_fopen_bt)(const char *, uint32_t *)
int(* pane2d_modid_type)(void)
int(* output2d_getnewdata)(output2d_handle, unsigned int)
void(* pane2d_free)(pane2d_handle)
int(* output2d_init)(int)
wchar_t * stick2xyz_ptchar
input_handle(* input_open_bt)(void *, uint32_t *)
void(* input_set_tty)(void *, void *)
int(* output2d_modid_type)(void)
void(* pane2d_fillrect)(pane2d_handle, pane2d_texture_handle, int, int, int, int)
void(* pane2d_drawrect)(pane2d_handle, int, int, int, int, int)
void(* pane2d_drawpixel)(pane2d_handle, int, int)
int(* pane2d_can_multithread)(void)
int(* output2d_release)(void)
int(* pane2d_release)(void)
uint16_t **(* pane2d_dupimage16)(pane2d_handle, int)
DWORD(* pane2d_getownerinfo_windows)(pane2d_handle, LPHANDLE)
int(* input_modid_type)(void)
uint64_t(* input_get_lineno)(input_handle)
void(* pane2d_fillcircle)(pane2d_handle, pane2d_texture_handle, int, int, int)
input_handle(* input_fdopen)(int)
int(* input_sigterm)(input_sigterm_ready, int)
uint16_t *(* pane2d_dupdata16p)(pane2d_handle, int)
output2d_modid_name output2d_funcptrs_name
output2d_bpp_supported output2d_funcptrs_bpp_supported
paneimage_to_output2d output2d_funcptrs_paneimage_to_output2d
output2d_modid_desc output2d_funcptrs_desc
output2d_release output2d_funcptrs_release
output2d_init output2d_funcptrs_init
output2d_free_handle output2d_funcptrs_free_handle
output2d_modid_lang output2d_funcptrs_lang
output2d_sigterm output2d_funcptrs_sigterm
output2d_write_w output2d_funcptrs_write_w
output2d_bpp_list output2d_funcptrs_bpp_list
output2d_modid_version output2d_funcptrs_version
output2d_quality_valid output2d_funcptrs_quality_valid
output2d_read output2d_funcptrs_read
output2d_bpp_default output2d_funcptrs_bpp_default
output2d_modid_type output2d_funcptrs_type
output2d_quality_range output2d_funcptrs_quality_range
output2d_set_tty output2d_funcptrs_set_tty
output2d_getnewdata output2d_funcptrs_getnewdata
pane16_to_output2d_bytype output2d_funcptrs_pane16_to_output2d_bytype
pane_to_output2d output2d_funcptrs_pane_to_output2d
pane_to_output2d_bytype output2d_funcptrs_pane_to_output2d_bytype
output2d_multithread_safe output2d_funcptrs_multithread_safe
output2d_write output2d_funcptrs_write
pane2d_dupdata16p dupimage
pane2d_is_multithreaded multithreading
pane2d_colortype colorinfo
pane2d_freedata16p freeimage
pane2d_eventreleased eventreleased
pane2d_is_multithreaded multithreading
pane2d_colortype colorinfo
pane2d_freedatap freeimage
pane2d_eventreleased eventreleased
pane2d_drawtworighttriangles pane2d_funcptrs_drawtworighttriangles
pane2d_modid_lang pane2d_funcptrs_lang
pane2d_get_bpp pane2d_funcptrs_get_bpp
pane2d_dupdata pane2d_funcptrs_dupdata
pane2d_drawtriangle pane2d_funcptrs_drawtriangle
pane2d_drawcircle pane2d_funcptrs_drawcircle
pane2d_freedatap pane2d_funcptrs_freedatap
pane2d_set_tty pane2d_funcptrs_set_tty
pane2d_drawpixel pane2d_funcptrs_drawpixel
pane2d_fillrect pane2d_funcptrs_fillrect
pane2d_free pane2d_funcptrs_free
pane2d_vertex_get pane2d_funcptrs_vertex_get
pane2d_sigterm pane2d_funcptrs_sigterm
pane2d_vertex_setopts pane2d_funcptrs_setopts
pane2d_dupxy pane2d_funcptrs_dupxy
pane2d_freeimage pane2d_funcptrs_freeimage
pane2d_drawellipse pane2d_funcptrs_drawellipse
pane2d_fillellipse pane2d_funcptrs_fillellipse
pane2d_dupdatap pane2d_funcptrs_dupdatap
pane2d_candraw pane2d_funcptrs_candraw
pane2d_colortype pane2d_funcptrs_colortype
pane2d_drawline pane2d_funcptrs_drawline
pane2d_texture_enum pane2d_funcptrs_texture_enum
pane2d_getownerinfo_windows pane2d_funcptrs_getownerinfo_windows
pane2d_changeaccesscontrol pane2d_funcptrs_changeaccesscontrol
pane2d_alloc pane2d_funcptrs_alloc
pane2d_fillrighttriangle pane2d_funcptrs_fillrighttriangle
pane2d_texture_add_gray pane2d_funcptrs_texture_add_gray
pane2d_eventreleased pane2d_funcptrs_eventreleased
pane2d_getref pane2d_funcptrs_getref
pane2d_fillcircle pane2d_funcptrs_fillcircle
pane2d_clear pane2d_funcptrs_clear
pane2d_waituntilowner pane2d_funcptrs_waituntilowner
pane2d_can_multithread pane2d_funcptrs_can_multithread
pane2d_release pane2d_funcptrs_release
pane2d_dupfunc_getlist pane2d_funcptrs_dupfunc_getlist
pane2d_freedrawaclinfo_windows pane2d_funcptrs_freedrawaclinfo_windows
pane2d_vertex_getopts pane2d_funcptrs_getopts
pane2d_drawrect pane2d_funcptrs_drawrect
pane2d_filltriangle pane2d_funcptrs_filltriangle
pane2d_vertex_get_v2 pane2d_funcptrs_vertex_get_v2
pane2d_changeowningthread pane2d_funcptrs_changeowningthread
pane2d_freedata16p pane2d_funcptrs_freedata16p
pane2d_dupimage pane2d_funcptrs_dupimage
pane2d_texture_add_rgb16 pane2d_funcptrs_texture_add_rgb16
pane2d_getdrawaclinfo_windows pane2d_funcptrs_getdrawaclinfo_windows
pane2d_freeimage16 pane2d_funcptrs_freeimage16
pane2d_alloc_multithread pane2d_funcptrs_alloc_multithread
pane2d_modid_name pane2d_funcptrs_name
pane2d_isowner pane2d_funcptrs_isowner
pane2d_fillsquare pane2d_funcptrs_fillsquare
pane2d_drawsquare pane2d_funcptrs_drawsquare
pane2d_modid_desc pane2d_funcptrs_desc
pane2d_init pane2d_funcptrs_init
pane2d_dupimage16 pane2d_funcptrs_dupimage16
pane2d_releaseref pane2d_funcptrs_releaseref
pane2d_drawrighttriangle pane2d_funcptrs_drawrighttriangle
pane2d_print_segment pane2d_funcptrs_print_segment
pane2d_dupdata16p pane2d_funcptrs_dupdata16p
pane2d_addref pane2d_funcptrs_addref
pane2d_texture_add_gray16 pane2d_funcptrs_texture_add_gray16
pane2d_texture_clear pane2d_funcptrs_texture_clear
pane2d_termwaituntilowner pane2d_funcptrs_termwaituntilowner
pane2d_modid_version pane2d_funcptrs_version
pane2d_is_multithreaded pane2d_funcptrs_is_multithreaded
pane2d_modid_type pane2d_funcptrs_type
pane2d_texture_add_rgb pane2d_funcptrs_texture_add_rgb
pane2d_is_multithreaded multithreading
pane2d_dupimage16 dupimage
pane2d_freeimage16 freeimage
pane2d_colortype colorinfo
pane2d_eventreleased eventreleased
pane2d_is_multithreaded multithreading
pane2d_colortype colorinfo
pane2d_freeimage freeimage
pane2d_eventreleased eventreleased
uint64_t vertex_texture_no
pane2d_texture_handle vertex_texture
stick2xyz_ptchar vertex_str
int vertex_params[STICK2XYZ_MAXBUFPARAMS]
stick2xyz_ptchar vertex_str
int vertex_params[STICK2XYZ_MAXBUFPARAMS]