The stick2xyz Documentation 1.14.1
pane2dgray.c
Go to the documentation of this file.
1/***************************************************************************
2 * stick2xyz - Can create and convert stick figure animations for CG. *
3 * Copyright (C) 2021 by Kevin McBride <dolphindddd@aol.com> *
4 * *
5 * This program is free software: you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation, either version 3 of the License, or *
8 * (at your option) any later version. *
9 * *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
14 * *
15 * You should have received a copy of the GNU General Public License *
16 * along with this program. If not, see <http://www.gnu.org/licenses/>. *
17 ***************************************************************************/
18
19
20#include "pane2dgraypriv.h"
21
22
23#ifdef DOXYGEN_BUILD
24#include "pane2dgray.h"
25#include "pane2dgray16.h"
26#include "pane2drgb.h"
27#include "pane2drgb16.h"
28#else /* not DOXYGEN_BUILD */
29
30static int modversion[] =
31 {STICK2XYZ_VER_MAJOR, STICK2XYZ_VER_MINOR, STICK2XYZ_VER_REVISION};
32
33stick2xyz_print_ptr stick2xyz_lang_lib_pane2dgray = NULL;
34
35/* The file descriptors we are outputting tty information to. */
36static FILE * modttyout = NULL;
37static FILE * modttyerr = NULL;
38
39
40/* Pane2D General Module Info Functions */
42{
43 return stick2xyz_pane2dgray_modname();
44}
45
47{
48 return stick2xyz_pane2dgray_moddesc();
49}
50
51void pane2dgray_version ( int * dest )
52{
53 dest[0] = modversion[0];
54 dest[1] = modversion[1];
55 dest[2] = modversion[2];
56}
57
58int pane2dgray_type ( void )
59{
60#ifdef UNICODE
61#ifdef DEBUG
63#else /* not DEBUG */
65#endif /* not DEBUG */
66#else /* not UNICODE */
67#ifdef DEBUG
69#else /* not DEBUG */
71#endif /* not DEBUG */
72#endif /* not UNICODE */
73}
74
75void pane2dgray_set_tty ( void * fildescout, void * fildescerr )
76{
77 modttyout = (FILE *)fildescout;
78 modttyerr = (FILE *)fildescerr;
79}
80
81int pane2dgray_get_bpp ( void )
82{
83 return 8;
84}
85
86FILE * pane2dgray_get_ttyout ( void )
87{
88 if ( modttyout == NULL )
89 return stdout;
90 else
91 return modttyout;
92}
93
94FILE * pane2dgray_get_ttyerr ( void )
95{
96 if ( modttyerr == NULL )
97 return stderr;
98 else
99 return modttyerr;
100}
101#endif /* not DOXYGEN_BUILD */
102
103
104#ifndef STICK2XYZ_STATIC
105/* Pane2D General Module Info Functions */
112{
113#ifdef DOXYGEN_BUILD
117#endif /* DOXYGEN_BUILD */
119}
120
127{
128#ifdef DOXYGEN_BUILD
132#endif /* DOXYGEN_BUILD */
134}
135
141void mod_pane2d_version ( int * dest )
142{
143#ifdef DOXYGEN_BUILD
145 pane2drgb_version(dest);
147#endif /* DOXYGEN_BUILD */
148 pane2dgray_version(dest);
149}
150
170int mod_pane2d_type ( void )
171{
172#ifdef DOXYGEN_BUILD
176#endif /* DOXYGEN_BUILD */
177 return pane2dgray_type();
178}
179
190void mod_pane2d_set_tty ( void * fildescout, void * fildescerr )
191{
192#ifdef DOXYGEN_BUILD
193 pane2dgray16_set_tty(fildescout, fildescerr);
194 pane2drgb_set_tty(fildescout, fildescerr);
195 pane2drgb16_set_tty(fildescout, fildescerr);
196#endif /* DOXYGEN_BUILD */
197 pane2dgray_set_tty(fildescout, fildescerr);
198}
199
200
210{
211#ifdef DOXYGEN_BUILD
215#endif /* DOXYGEN_BUILD */
217}
218
231{
232#ifdef DOXYGEN_BUILD
236#endif /* DOXYGEN_BUILD */
237 return pane2dgray_is_multithreaded(pane);
238}
239
240
251{
252#ifdef DOXYGEN_BUILD
256#endif /* DOXYGEN_BUILD */
257 return pane2dgray_get_bpp();
258}
259
260
276void mod_pane2d_getref ( pane2d_handle pane, int * refcount, int * refwaiting )
277{
278#ifdef DOXYGEN_BUILD
279 pane2dgray16_getref(pane, refcount, refwaiting);
280 pane2drgb_getref(pane, refcount, refwaiting);
281 pane2drgb16_getref(pane, refcount, refwaiting);
282#endif /* DOXYGEN_BUILD */
283 pane2dgray_getref(pane, refcount, refwaiting);
284}
285
297{
298#ifdef DOXYGEN_BUILD
300 pane2drgb_addref(pane);
301 pane2drgb16_addref(pane);
302#endif /* DOXYGEN_BUILD */
303 return pane2dgray_addref(pane);
304}
305
340int mod_pane2d_releaseref ( pane2d_handle pane, int asyncrelease, int shutdown )
341{
342#ifdef DOXYGEN_BUILD
343 pane2dgray16_releaseref(pane, asyncrelease, shutdown);
344 pane2drgb_releaseref(pane, asyncrelease, shutdown);
345 pane2drgb16_releaseref(pane, asyncrelease, shutdown);
346#endif /* DOXYGEN_BUILD */
347 return pane2dgray_releaseref(pane, asyncrelease, shutdown);
348}
349
362{
363#ifdef DOXYGEN_BUILD
365 pane2drgb_isowner(pane);
367#endif /* DOXYGEN_BUILD */
368
369 return pane2dgray_isowner(pane);
370}
371
385{
386#ifdef DOXYGEN_BUILD
388 pane2drgb_candraw(pane);
390#endif /* DOXYGEN_BUILD */
391
392 return pane2dgray_candraw(pane);
393}
394
395#if defined(__WINDOWS__) | defined(DOXYGEN_BUILD)
416 pane2d_handle pane,
417 LPHANDLE destvar
418)
419{
420#ifdef DOXYGEN_BUILD
422 pane2drgb_getownerinfo_windows(pane, destvar);
424#endif /* DOXYGEN_BUILD */
425
426 return pane2dgray_getownerinfo_windows(pane, destvar);
427}
428
429
442 pane2d_handle pane,
443 struct pane2d_drawacl * dest
444)
445{
446#ifdef DOXYGEN_BUILD
450#endif /* DOXYGEN_BUILD */
451
452 return pane2dgray_getdrawaclinfo_windows(pane, dest);
453}
454
466 pane2d_handle pane,
467 struct pane2d_drawacl * src
468)
469{
470#ifdef DOXYGEN_BUILD
474#endif /* DOXYGEN_BUILD */
475
476 return pane2dgray_freedrawaclinfo_windows(pane, src);
477}
478#endif /* defined(__WINDOWS__) | defined(DOXYGEN_BUILD) */
479
506{
507#ifdef DOXYGEN_BUILD
508 pane2dgray16_waituntilowner(pane,addref);
509 pane2drgb_waituntilowner(pane,addref);
510 pane2drgb16_waituntilowner(pane,addref);
511#endif /* DOXYGEN_BUILD */
512 return pane2dgray_waituntilowner(pane,addref);
513}
514
532{
533#ifdef DOXYGEN_BUILD
537#endif /* DOXYGEN_BUILD */
539}
540
541#ifdef DOXYGEN_BUILD
588 pane2d_handle pane,
589 void * hthread,
590 int hthreadsize,
591 uint32_t flags
592)
593{
594#ifdef DOXYGEN_BUILD
596 pane, hthread, hthreadsize, flags
597 );
599 pane, hthread, hthreadsize, flags
600 );
602 pane, hthread, hthreadsize, flags
603 );
604#endif /* DOXYGEN_BUILD */
605
607 pane, hthread, hthreadsize, flags
608 );
609}
610
643 pane2d_handle pane,
644 void * newthread,
645 int addref
646)
647{
648#ifdef DOXYGEN_BUILD
649 pane2dgray16_changeowningthread(pane, newthread, addref);
650 pane2drgb_changeowningthread(pane, newthread, addref);
651 pane2drgb16_changeowningthread(pane, newthread, addref);
652#endif /* DOXYGEN_BUILD */
653 return pane2dgray_changeowningthread(pane, newthread, addref);
654}
655
681{
682#ifdef DOXYGEN_BUILD
686#endif /* DOXYGEN_BUILD */
687
688 return pane2dgray_eventreleased(pane);
689}
690#else /* not DOXYGEN_BUILD */
691#ifdef __WINDOWS__
693 pane2d_handle pane,
694 PHANDLE hthread,
695 int hthreadsize,
696 uint32_t flags
697)
698{
700 pane, hthread, hthreadsize, flags
701 );
702}
703
705 pane2d_handle pane,
706 HANDLE newthread,
707 int addref
708)
709{
710 return pane2dgray_changeowningthread(pane, newthread, addref);
711}
712
714{
715 return pane2dgray_eventreleased(pane);
716}
717#else /* not __WINDOWS__ */
718#ifdef HAVE_THREADS_H
720 pane2d_handle pane,
721 thrd_t * hthread,
722 int hthreadsize,
723 uint32_t flags
724)
725{
727 pane, hthread, hthreadsize, flags
728 );
729}
730
732 pane2d_handle pane,
733 thrd_t newthread,
734 int addref
735)
736{
737 return pane2dgray_changeowningthread(pane, newthread, addref);
738}
739#else /* not HAVE_THREADS_H */
741 pane2d_handle pane,
742 void * hthread,
743 int hthreadsize,
744 uint32_t flags
745)
746{
748 pane, hthread, hthreadsize, flags
749 );
750}
751
753 pane2d_handle pane,
754 void * newthread,
755 int addref
756)
757{
758 return pane2dgray_changeowningthread(pane, newthread, addref);
759}
760#endif /* not HAVE_THREADS_H */
761
762#ifdef HAVE_EVENTFD
764{
765 return pane2dgray_eventreleased(pane);
766}
767#endif /* HAVE_EVENTFD */
768#endif /* not __WINDOWS__ */
769#endif /* not DOXYGEN_BUILD */
770
771
786{
787#ifdef DOXYGEN_BUILD
788 pane2dgray16_alloc(x, y);
789 pane2drgb_alloc(x, y);
790 pane2drgb16_alloc(x, y);
791#endif /* DOXYGEN_BUILD */
792 return pane2dgray_alloc(x, y);
793}
794
820 int x,
821 int y,
822 size_t maxthreads,
823 uint32_t typesallowed
824)
825{
826#ifdef DOXYGEN_BUILD
827 pane2dgray16_alloc_multithread(x, y, maxthreads, typesallowed);
828 pane2drgb_alloc_multithread(x, y, maxthreads, typesallowed);
829 pane2drgb16_alloc_multithread(x, y, maxthreads, typesallowed);
830#endif /* DOXYGEN_BUILD */
831 return pane2dgray_alloc_multithread(x, y, maxthreads, typesallowed);
832}
833
840{
841#ifdef DOXYGEN_BUILD
842 pane2dgray16_clear(pane);
843 pane2drgb_clear(pane);
844 pane2drgb16_clear(pane);
845#endif /* DOXYGEN_BUILD */
846 pane2dgray_clear(pane);
847}
848
858{
859#ifdef DOXYGEN_BUILD
860 pane2dgray16_free(pane);
861 pane2drgb_free(pane);
862 pane2drgb16_free(pane);
863#endif /* DOXYGEN_BUILD */
864 pane2dgray_free(pane);
865}
866
867
876{
877#ifdef DOXYGEN_BUILD
881#endif /* DOXYGEN_BUILD */
882 return pane2dgray_vertex_getopts(pane);
883}
884
896void mod_pane2d_vertex_setopts ( pane2d_handle pane, uint32_t newopts )
897{
898#ifdef DOXYGEN_BUILD
899 pane2dgray16_vertex_setopts(pane, newopts);
900 pane2drgb_vertex_setopts(pane, newopts);
901 pane2drgb16_vertex_setopts(pane, newopts);
902#endif /* DOXYGEN_BUILD */
903 pane2dgray_vertex_setopts(pane, newopts);
904}
905
926 pane2d_handle pane,
927 int elm,
928 struct pane2d_vertex_elm * dest
929)
930{
931#ifdef DOXYGEN_BUILD
932 pane2dgray16_vertex_get(pane, elm, dest);
933 pane2drgb_vertex_get(pane, elm, dest);
934 pane2drgb16_vertex_get(pane, elm, dest);
935#endif /* DOXYGEN_BUILD */
936 return pane2dgray_vertex_get(pane, elm, dest);
937}
938
939
961 pane2d_handle pane,
962 int elm,
963 struct pane2d_vertex_elm_v2 * dest
964)
965{
966#ifdef DOXYGEN_BUILD
967 pane2dgray16_vertex_get_v2(pane, elm, dest);
968 pane2drgb_vertex_get_v2(pane, elm, dest);
969 pane2drgb16_vertex_get_v2(pane, elm, dest);
970#endif /* DOXYGEN_BUILD */
971 return pane2dgray_vertex_get_v2(pane, elm, dest);
972}
973
974
996 pane2d_handle pane,
997 uint8_t gray,
998 uint8_t alpha,
1000)
1001{
1002#ifdef DOXYGEN_BUILD
1003 pane2dgray16_texture_add_gray(pane, gray, alpha, dest);
1004 pane2drgb_texture_add_gray(pane, gray, alpha, dest);
1005 pane2drgb16_texture_add_gray(pane, gray, alpha, dest);
1006#endif /* DOXYGEN_BUILD */
1007 return pane2dgray_texture_add_gray(pane, gray, alpha, dest);
1008}
1009
1031 pane2d_handle pane,
1032 uint16_t gray,
1033 uint16_t alpha,
1035)
1036{
1037#ifdef DOXYGEN_BUILD
1038 pane2dgray16_texture_add_gray16(pane, gray, alpha, dest);
1039 pane2drgb_texture_add_gray16(pane, gray, alpha, dest);
1040 pane2drgb16_texture_add_gray16(pane, gray, alpha, dest);
1041#endif /* DOXYGEN_BUILD */
1042 return pane2dgray_texture_add_gray16(pane, gray, alpha, dest);
1043}
1044
1074 pane2d_handle pane,
1075 uint8_t red,
1076 uint8_t green,
1077 uint8_t blue,
1078 uint8_t alpha,
1080)
1081{
1082#ifdef DOXYGEN_BUILD
1084 pane, red, green, blue, alpha, dest
1085 );
1087 pane, red, green, blue, alpha, dest
1088 );
1090 pane, red, green, blue, alpha, dest
1091 );
1092#endif /* DOXYGEN_BUILD */
1094 pane, red, green, blue, alpha, dest
1095 );
1096}
1097
1127 pane2d_handle pane,
1128 uint16_t red,
1129 uint16_t green,
1130 uint16_t blue,
1131 uint16_t alpha,
1133)
1134{
1135#ifdef DOXYGEN_BUILD
1137 pane, red, green, blue, alpha, dest
1138 );
1140 pane, red, green, blue, alpha, dest
1141 );
1143 pane, red, green, blue, alpha, dest
1144 );
1145#endif /* DOXYGEN_BUILD */
1147 pane, red, green, blue, alpha, dest
1148 );
1149}
1150
1170 pane2d_handle pane,
1171 pane2d_texture_handle * dest,
1172 uint64_t number
1173)
1174{
1175#ifdef DOXYGEN_BUILD
1176 pane2dgray16_texture_enum(pane, dest, number);
1177 pane2drgb_texture_enum(pane, dest, number);
1178 pane2drgb16_texture_enum(pane, dest, number);
1179#endif /* DOXYGEN_BUILD */
1180 return pane2dgray_texture_enum(pane, dest, number);
1181}
1182
1193{
1194#ifdef DOXYGEN_BUILD
1198#endif /* DOXYGEN_BUILD */
1200}
1201
1227uint32_t mod_pane2d_colortype ( void )
1228{
1229#ifdef DOXYGEN_BUILD
1233#endif /* DOXYGEN_BUILD */
1234 return pane2dgray_colortype();
1235}
1236
1237
1253uint8_t ** mod_pane2d_dupdata ( pane2d_handle pane, int padding )
1254{
1255#ifdef DOXYGEN_BUILD
1256 pane2dgray16_dupdata(pane, padding);
1257 pane2drgb_dupdata(pane, padding);
1258 pane2drgb16_dupdata(pane, padding);
1259#endif /* DOXYGEN_BUILD */
1260 return pane2dgray_dupdata(pane, padding);
1261}
1262
1277uint8_t ** mod_pane2d_dupimage ( pane2d_handle pane, int padding )
1278{
1279#ifdef DOXYGEN_BUILD
1280 pane2dgray16_dupimage(pane, padding);
1281 pane2drgb_dupimage(pane, padding);
1282 pane2drgb16_dupimage(pane, padding);
1283#endif /* DOXYGEN_BUILD */
1284 return pane2dgray_dupimage(pane, padding);
1285}
1286
1294void mod_pane2d_freeimage ( pane2d_handle pane, uint8_t ** image )
1295{
1296#ifdef DOXYGEN_BUILD
1297 pane2dgray16_freeimage(pane, image);
1298 pane2drgb_freeimage(pane, image);
1299 pane2drgb16_freeimage(pane, image);
1300#endif /* DOXYGEN_BUILD */
1301 pane2dgray_freeimage(pane, image);
1302}
1303
1318uint16_t ** mod_pane2d_dupimage16 ( pane2d_handle pane, int padding )
1319{
1320#ifdef DOXYGEN_BUILD
1321 pane2dgray16_dupimage16(pane, padding);
1322 pane2drgb_dupimage16(pane, padding);
1323 pane2drgb16_dupimage16(pane, padding);
1324#endif /* DOXYGEN_BUILD */
1325 return pane2dgray_dupimage16(pane, padding);
1326}
1327
1335void mod_pane2d_freeimage16 ( pane2d_handle pane, uint16_t ** image )
1336{
1337#ifdef DOXYGEN_BUILD
1338 pane2dgray16_freeimage16(pane, image);
1339 pane2drgb_freeimage16(pane, image);
1340 pane2drgb16_freeimage16(pane, image);
1341#endif /* DOXYGEN_BUILD */
1342 pane2dgray_freeimage16(pane, image);
1343}
1344
1359uint8_t * mod_pane2d_dupdatap ( pane2d_handle pane, int padding )
1360{
1361#ifdef DOXYGEN_BUILD
1362 pane2dgray16_dupdatap(pane, padding);
1363 pane2drgb_dupdatap(pane, padding);
1364 pane2drgb16_dupdatap(pane, padding);
1365#endif /* DOXYGEN_BUILD */
1366 return pane2dgray_dupdatap(pane, padding);
1367}
1368
1376void mod_pane2d_freedatap ( pane2d_handle pane, uint8_t * image )
1377{
1378#ifdef DOXYGEN_BUILD
1379 pane2dgray16_freedatap(pane, image);
1380 pane2drgb_freedatap(pane, image);
1381 pane2drgb16_freedatap(pane, image);
1382#endif /* DOXYGEN_BUILD */
1383 pane2dgray_freedatap(pane, image);
1384}
1385
1400uint16_t * mod_pane2d_dupdata16p ( pane2d_handle pane, int padding )
1401{
1402#ifdef DOXYGEN_BUILD
1403 pane2dgray16_dupdata16p(pane, padding);
1404 pane2drgb_dupdata16p(pane, padding);
1405 pane2drgb16_dupdata16p(pane, padding);
1406#endif /* DOXYGEN_BUILD */
1407 return pane2dgray_dupdata16p(pane, padding);
1408}
1409
1417void mod_pane2d_freedata16p ( pane2d_handle pane, uint16_t * image )
1418{
1419#ifdef DOXYGEN_BUILD
1420 pane2dgray16_freedata16p(pane, image);
1421 pane2drgb_freedata16p(pane, image);
1422 pane2drgb16_freedata16p(pane, image);
1423#endif /* DOXYGEN_BUILD */
1424 pane2dgray_freedata16p(pane, image);
1425}
1426
1436void mod_pane2d_dupxy ( pane2d_handle pane, int * x, int * y )
1437{
1438#ifdef DOXYGEN_BUILD
1439 pane2dgray16_dupxy(pane, x, y);
1440 pane2drgb_dupxy(pane, x, y);
1441 pane2drgb16_dupxy(pane, x, y);
1442#endif /* DOXYGEN_BUILD */
1443 pane2dgray_dupxy(pane, x, y);
1444}
1445
1460 uint32_t typerequested,
1461 struct pane2d_dupgen_funcs * dest
1462)
1463{
1464#ifdef DOXYGEN_BUILD
1465 pane2dgray16_dupfunc_getlist(typerequested, dest);
1466 pane2drgb_dupfunc_getlist(typerequested, dest);
1467 pane2drgb16_dupfunc_getlist(typerequested, dest);
1468#endif /* DOXYGEN_BUILD */
1469 return pane2dgray_dupfunc_getlist(typerequested, dest);
1470}
1471
1472
1482void mod_pane2d_drawpixel ( pane2d_handle pane, int x, int y )
1483{
1484#ifdef DOXYGEN_BUILD
1485 pane2dgray16_drawpixel(pane, x, y);
1486 pane2drgb_drawpixel(pane, x, y);
1487 pane2drgb16_drawpixel(pane, x, y);
1488#endif /* DOXYGEN_BUILD */
1489 pane2dgray_drawpixel(pane, x, y);
1490}
1491
1508 pane2d_handle pane,
1509 int d,
1510 int x1,
1511 int y1,
1512 int x2,
1513 int y2
1514)
1515{
1516#ifdef DOXYGEN_BUILD
1517 pane2dgray16_drawline(pane, d, x1, y1, x2, y2);
1518 pane2drgb_drawline(pane, d, x1, y1, x2, y2);
1519 pane2drgb16_drawline(pane, d, x1, y1, x2, y2);
1520#endif /* DOXYGEN_BUILD */
1521 pane2dgray_drawline(pane, d, x1, y1, x2, y2);
1522}
1523
1538 pane2d_handle pane,
1539 int d,
1540 int x,
1541 int y,
1542 int r
1543)
1544{
1545#ifdef DOXYGEN_BUILD
1546 pane2dgray16_drawcircle(pane, d, x, y, r);
1547 pane2drgb_drawcircle(pane, d, x, y, r);
1548 pane2drgb16_drawcircle(pane, d, x, y, r);
1549#endif /* DOXYGEN_BUILD */
1550 pane2dgray_drawcircle(pane, d, x, y, r);
1551}
1552
1568 pane2d_handle pane,
1570 int x,
1571 int y,
1572 int r
1573)
1574{
1575#ifdef DOXYGEN_BUILD
1576 pane2dgray16_fillcircle(pane, src, x, y, r);
1577 pane2drgb_fillcircle(pane, src, x, y, r);
1578 pane2drgb16_fillcircle(pane, src, x, y, r);
1579#endif /* DOXYGEN_BUILD */
1580 pane2dgray_fillcircle(pane, src, x, y, r);
1581}
1582
1599 pane2d_handle pane,
1600 int d,
1601 int x,
1602 int y,
1603 int rx,
1604 int ry
1605)
1606{
1607#ifdef DOXYGEN_BUILD
1608 pane2dgray16_drawellipse(pane, d, x, y, rx, ry);
1609 pane2drgb_drawellipse(pane, d, x, y, rx, ry);
1610 pane2drgb16_drawellipse(pane, d, x, y, rx, ry);
1611#endif /* DOXYGEN_BUILD */
1612 pane2dgray_drawellipse(pane, d, x, y, rx, ry);
1613}
1614
1632 pane2d_handle pane,
1634 int x,
1635 int y,
1636 int rx,
1637 int ry
1638)
1639{
1640#ifdef DOXYGEN_BUILD
1641 pane2dgray16_fillellipse(pane, src, x, y, rx, ry);
1642 pane2drgb_fillellipse(pane, src, x, y, rx, ry);
1643 pane2drgb16_fillellipse(pane, src, x, y, rx, ry);
1644#endif /* DOXYGEN_BUILD */
1645 pane2dgray_fillellipse(pane, src, x, y, rx, ry);
1646}
1647
1664 pane2d_handle pane,
1665 int d,
1666 int x1,
1667 int y1,
1668 int x2,
1669 int y2
1670)
1671{
1672#ifdef DOXYGEN_BUILD
1673 pane2dgray16_drawrect(pane, d, x1, y1, x2, y2);
1674 pane2drgb_drawrect(pane, d, x1, y1, x2, y2);
1675 pane2drgb16_drawrect(pane, d, x1, y1, x2, y2);
1676#endif /* DOXYGEN_BUILD */
1677 pane2dgray_drawrect(pane, d, x1, y1, x2, y2);
1678}
1679
1697 pane2d_handle pane,
1699 int x1,
1700 int y1,
1701 int x2,
1702 int y2
1703)
1704{
1705#ifdef DOXYGEN_BUILD
1706 pane2dgray16_fillrect(pane, src, x1, y1, x2, y2);
1707 pane2drgb_fillrect(pane, src, x1, y1, x2, y2);
1708 pane2drgb16_fillrect(pane, src, x1, y1, x2, y2);
1709#endif /* DOXYGEN_BUILD */
1710 pane2dgray_fillrect(pane, src, x1, y1, x2, y2);
1711}
1712
1727 pane2d_handle pane,
1728 int d,
1729 int l,
1730 int x1,
1731 int y1
1732)
1733{
1734#ifdef DOXYGEN_BUILD
1735 pane2dgray16_drawsquare(pane, d, l, x1, y1);
1736 pane2drgb_drawsquare(pane, d, l, x1, y1);
1737 pane2drgb16_drawsquare(pane, d, l, x1, y1);
1738#endif /* DOXYGEN_BUILD */
1739 pane2dgray_drawsquare(pane, d, l, x1, y1);
1740}
1741
1757 pane2d_handle pane,
1759 int l,
1760 int x1,
1761 int y1
1762)
1763{
1764#ifdef DOXYGEN_BUILD
1765 pane2dgray16_fillsquare(pane, src, l, x1, y1);
1766 pane2drgb_fillsquare(pane, src, l, x1, y1);
1767 pane2drgb16_fillsquare(pane, src, l, x1, y1);
1768#endif /* DOXYGEN_BUILD */
1769 pane2dgray_fillsquare(pane, src, l, x1, y1);
1770}
1771
1793 pane2d_handle pane,
1794 int d,
1795 int x1,
1796 int y1,
1797 int x2,
1798 int y2,
1799 int x3,
1800 int y3
1801)
1802{
1803#ifdef DOXYGEN_BUILD
1804 pane2dgray16_drawtriangle(pane, d, x1, y1, x2, y2, x3, y3);
1805 pane2drgb_drawtriangle(pane, d, x1, y1, x2, y2, x3, y3);
1806 pane2drgb16_drawtriangle(pane, d, x1, y1, x2, y2, x3, y3);
1807#endif /* DOXYGEN_BUILD */
1808 pane2dgray_drawtriangle(pane, d, x1, y1, x2, y2, x3, y3);
1809}
1810
1835 pane2d_handle pane,
1837 int x1,
1838 int y1,
1839 int x2,
1840 int y2,
1841 int x3,
1842 int y3
1843)
1844{
1845#ifdef DOXYGEN_BUILD
1846 pane2dgray16_filltriangle(pane, src,
1847 x1, y1, x2, y2, x3, y3);
1848 pane2drgb_filltriangle(pane, src,
1849 x1, y1, x2, y2, x3, y3);
1850 pane2drgb16_filltriangle(pane, src,
1851 x1, y1, x2, y2, x3, y3);
1852#endif /* DOXYGEN_BUILD */
1853 pane2dgray_filltriangle(pane, src,
1854 x1, y1, x2, y2, x3, y3);
1855}
1856
1875 pane2d_handle pane,
1876 int d,
1877 int x1,
1878 int y1,
1879 int x2,
1880 int y2,
1881 int b
1882)
1883{
1884#ifdef DOXYGEN_BUILD
1885 pane2dgray16_drawrighttriangle(pane, d, x1, y1, x2, y2, b);
1886 pane2drgb_drawrighttriangle(pane, d, x1, y1, x2, y2, b);
1887 pane2drgb16_drawrighttriangle(pane, d, x1, y1, x2, y2, b);
1888#endif /* DOXYGEN_BUILD */
1889 pane2dgray_drawrighttriangle(pane, d, x1, y1, x2, y2, b);
1890}
1891
1912 pane2d_handle pane,
1914 int x1,
1915 int y1,
1916 int x2,
1917 int y2,
1918 int b
1919)
1920{
1921#ifdef DOXYGEN_BUILD
1922 pane2dgray16_fillrighttriangle(pane, src, x1, y1, x2, y2, b);
1923 pane2drgb_fillrighttriangle(pane, src, x1, y1, x2, y2, b);
1924 pane2drgb16_fillrighttriangle(pane, src, x1, y1, x2, y2, b);
1925#endif /* DOXYGEN_BUILD */
1926 pane2dgray_fillrighttriangle(pane, src, x1, y1, x2, y2, b);
1927}
1928
1945 pane2d_handle pane,
1946 int d,
1947 int x1,
1948 int y1,
1949 int x2,
1950 int y2
1951)
1952{
1953#ifdef DOXYGEN_BUILD
1954 pane2dgray16_drawtworighttriangles(pane, d, x1, y1, x2, y2);
1955 pane2drgb_drawtworighttriangles(pane, d, x1, y1, x2, y2);
1956 pane2drgb16_drawtworighttriangles(pane, d, x1, y1, x2, y2);
1957#endif /* DOXYGEN_BUILD */
1958 pane2dgray_drawtworighttriangles(pane, d, x1, y1, x2, y2);
1959}
1960
1961#ifdef DEBUG
1970void mod_pane2d_print_segment ( pane2d_handle pane, int use_rgb )
1971{
1972#ifdef DOXYGEN_BUILD
1973 pane2dgray16_print_segment(pane, use_rgb);
1974 pane2drgb_print_segment(pane, use_rgb);
1975 pane2drgb16_print_segment(pane, use_rgb);
1976#endif /* DOXYGEN_BUILD */
1977 pane2dgray_print_segment(pane, use_rgb);
1978}
1979#endif /* DEBUG */
1980
1981#ifndef STICK2XYZ_NO_MODLANGPACKS
1982#ifndef DOXYGEN_BUILD
1983void pane2dgray_lang ( stick2xyz_print_ptr newval )
1984{
1985 stick2xyz_lang_lib_pane2dgray = newval;
1986}
1987#endif /* not DOXYGEN_BUILD */
1988
1996void mod_pane2d_lang ( stick2xyz_print_ptr newval )
1997{
1998#ifdef DOXYGEN_BUILD
1999 pane2dgray16_lang(newval);
2000 pane2drgb_lang(newval);
2001 pane2drgb16_lang(newval);
2002#endif /* DOXYGEN_BUILD */
2003 pane2dgray_lang(newval);
2004}
2005#endif /* not STICK2XYZ_NO_MODLANGPACKS */
2006
2007
2008#ifdef DOXYGEN_BUILD
2021int mod_pane2d_init ( int multithread )
2022{
2023 return 1;
2024}
2025
2037{
2038 return 0;
2039}
2040
2068int mod_pane2d_sigterm ( pane2d_sigterm_ready func, int modnumber )
2069{
2070 return 1;
2071}
2072#endif /* DOXYGEN_BUILD */
2073
2074
2075#else /* STICK2XYZ_STATIC */
2076void pane2dgray_funcptrs_setup ( struct pane2d_funcptrs * ptr )
2077{
2083
2084 ptr->pane2d_funcptrs_init = NULL;
2085 ptr->pane2d_funcptrs_release = NULL;
2086 ptr->pane2d_funcptrs_sigterm = NULL;
2087
2090
2092
2102#ifdef HAVE_EVENTFD
2104#else /* not HAVE_EVENTFD */
2106#endif /* not HAVE_EVENTFD */
2107
2112
2117
2129
2141
2144
2149
2154
2161
2162#ifdef DEBUG
2165#else /* not DEBUG */
2167#endif /* not DEBUG */
2168}
2169#endif /* STICK2XYZ_STATIC */
2170
int pane2dgray16_changeowningthread(pane2d_handle pane, void *newthread, int addref)
void pane2dgray16_texture_clear(pane2d_handle pane)
uint64_t pane2dgray16_texture_add_rgb(pane2d_handle pane, uint8_t red, uint8_t green, uint8_t blue, uint8_t alpha, pane2d_texture_handle *dest)
int pane2dgray16_type(void)
void pane2dgray16_set_tty(void *fildescout, void *fildescerr)
DWORD pane2dgray16_getownerinfo_windows(pane2d_handle pane, LPHANDLE destvar)
void pane2dgray16_getref(pane2d_handle pane, int *refcount, int *refwaiting)
void pane2dgray16_freeimage(pane2d_handle pane, uint8_t **image)
int pane2dgray16_is_multithreaded(pane2d_handle pane)
uint8_t ** pane2dgray16_dupimage(pane2d_handle pane, int padding)
int pane2dgray16_can_multithread(void)
int pane2dgray16_waituntilowner(pane2d_handle pane, int addref)
int pane2dgray16_addref(pane2d_handle pane)
void pane2dgray16_drawsquare(pane2d_handle pane, int d, int l, int x1, int y1)
void pane2dgray16_lang(stick2xyz_print_ptr newval)
int pane2dgray16_get_bpp(void)
pane2d_handle pane2dgray16_alloc_multithread(int x, int y, size_t maxthreads, uint32_t typesallowed)
pane2d_handle pane2dgray16_alloc(int x, int y)
void pane2dgray16_drawrect(pane2d_handle pane, int d, int x1, int y1, int x2, int y2)
uint16_t * pane2dgray16_dupdata16p(pane2d_handle pane, int padding)
void pane2dgray16_drawcircle(pane2d_handle pane, int d, int x, int y, int r)
int pane2dgray16_termwaituntilowner(pane2d_handle pane)
void pane2dgray16_print_segment(pane2d_handle image, int use_rgb)
void pane2dgray16_vertex_setopts(pane2d_handle pane, uint32_t newopts)
void pane2dgray16_freeimage16(pane2d_handle pane, uint16_t **image)
stick2xyz_pctchar pane2dgray16_desc(void)
void pane2dgray16_fillrighttriangle(pane2d_handle pane, pane2d_texture_handle src, int x1, int y1, int x2, int y2, int b)
BOOL pane2dgray16_freedrawaclinfo_windows(pane2d_handle pane, struct pane2d_drawacl *src)
void pane2dgray16_drawtriangle(pane2d_handle pane, int d, int x1, int y1, int x2, int y2, int x3, int y3)
stick2xyz_pctchar pane2dgray16_name(void)
void pane2dgray16_freedata16p(pane2d_handle pane, uint16_t *image)
int pane2dgray16_candraw(pane2d_handle pane)
void pane2dgray16_fillcircle(pane2d_handle pane, pane2d_texture_handle src, int x, int y, int r)
void * pane2dgray16_eventreleased(pane2d_handle pane)
BOOL pane2dgray16_getdrawaclinfo_windows(pane2d_handle pane, struct pane2d_drawacl *dest)
int pane2dgray16_texture_enum(pane2d_handle pane, pane2d_texture_handle *dest, uint64_t number)
int pane2dgray16_vertex_get(pane2d_handle pane, int elm, struct pane2d_vertex_elm *dest)
uint32_t pane2dgray16_vertex_getopts(pane2d_handle pane)
void pane2dgray16_fillellipse(pane2d_handle pane, pane2d_texture_handle src, int x, int y, int rx, int ry)
int pane2dgray16_changeaccesscontrol(pane2d_handle pane, void *hthread, int hthreadsize, uint32_t flags)
int pane2dgray16_dupfunc_getlist(uint32_t typerequested, struct pane2d_dupgen_funcs *dest)
void pane2dgray16_filltriangle(pane2d_handle pane, pane2d_texture_handle src, int x1, int y1, int x2, int y2, int x3, int y3)
uint64_t pane2dgray16_texture_add_gray(pane2d_handle pane, uint8_t gray, uint8_t alpha, pane2d_texture_handle *dest)
void pane2dgray16_drawpixel(pane2d_handle pane, int x, int y)
void pane2dgray16_freedatap(pane2d_handle pane, uint8_t *image)
void pane2dgray16_fillrect(pane2d_handle pane, pane2d_texture_handle src, int x1, int y1, int x2, int y2)
void pane2dgray16_drawline(pane2d_handle pane, int d, int x1, int y1, int x2, int y2)
void pane2dgray16_fillsquare(pane2d_handle pane, pane2d_texture_handle src, int l, int x1, int y1)
void pane2dgray16_drawtworighttriangles(pane2d_handle pane, int d, int x1, int y1, int x2, int y2)
void pane2dgray16_dupxy(pane2d_handle pane, int *x, int *y)
int pane2dgray16_vertex_get_v2(pane2d_handle pane, int elm, struct pane2d_vertex_elm_v2 *dest)
uint8_t ** pane2dgray16_dupdata(pane2d_handle pane, int padding)
void pane2dgray16_clear(pane2d_handle pane)
uint32_t pane2dgray16_colortype(void)
int pane2dgray16_releaseref(pane2d_handle pane, int asyncrelease, int shutdown)
void pane2dgray16_drawellipse(pane2d_handle pane, int d, int x, int y, int rx, int ry)
uint64_t pane2dgray16_texture_add_rgb16(pane2d_handle pane, uint16_t red, uint16_t green, uint16_t blue, uint16_t alpha, pane2d_texture_handle *dest)
void pane2dgray16_drawrighttriangle(pane2d_handle pane, int d, int x1, int y1, int x2, int y2, int b)
void pane2dgray16_version(int *dest)
uint64_t pane2dgray16_texture_add_gray16(pane2d_handle pane, uint16_t gray, uint16_t alpha, pane2d_texture_handle *dest)
uint16_t ** pane2dgray16_dupimage16(pane2d_handle pane, int padding)
uint8_t * pane2dgray16_dupdatap(pane2d_handle pane, int padding)
int pane2dgray16_isowner(pane2d_handle pane)
void pane2dgray16_free(pane2d_handle pane)
void * mod_pane2d_eventreleased(pane2d_handle pane)
Definition: pane2dgray.c:680
void mod_pane2d_getref(pane2d_handle pane, int *refcount, int *refwaiting)
Definition: pane2dgray.c:276
uint32_t mod_pane2d_vertex_getopts(pane2d_handle pane)
Definition: pane2dgray.c:875
void mod_pane2d_filltriangle(pane2d_handle pane, pane2d_texture_handle src, int x1, int y1, int x2, int y2, int x3, int y3)
Definition: pane2dgray.c:1834
uint64_t mod_pane2d_texture_add_gray(pane2d_handle pane, uint8_t gray, uint8_t alpha, pane2d_texture_handle *dest)
Definition: pane2dgray.c:995
void mod_pane2d_freedatap(pane2d_handle pane, uint8_t *image)
Definition: pane2dgray.c:1376
void mod_pane2d_texture_clear(pane2d_handle pane)
Definition: pane2dgray.c:1192
int mod_pane2d_sigterm(pane2d_sigterm_ready func, int modnumber)
Definition: pane2dgray.c:2068
int mod_pane2d_vertex_get(pane2d_handle pane, int elm, struct pane2d_vertex_elm *dest)
Definition: pane2dgray.c:925
void mod_pane2d_fillrighttriangle(pane2d_handle pane, pane2d_texture_handle src, int x1, int y1, int x2, int y2, int b)
Definition: pane2dgray.c:1911
void mod_pane2d_drawrect(pane2d_handle pane, int d, int x1, int y1, int x2, int y2)
Definition: pane2dgray.c:1663
void mod_pane2d_fillellipse(pane2d_handle pane, pane2d_texture_handle src, int x, int y, int rx, int ry)
Definition: pane2dgray.c:1631
stick2xyz_pctchar mod_pane2d_desc(void)
Definition: pane2dgray.c:126
int mod_pane2d_type(void)
Definition: pane2dgray.c:170
void mod_pane2d_freedata16p(pane2d_handle pane, uint16_t *image)
Definition: pane2dgray.c:1417
uint64_t mod_pane2d_texture_add_gray16(pane2d_handle pane, uint16_t gray, uint16_t alpha, pane2d_texture_handle *dest)
Definition: pane2dgray.c:1030
uint8_t ** mod_pane2d_dupimage(pane2d_handle pane, int padding)
Definition: pane2dgray.c:1277
uint8_t ** mod_pane2d_dupdata(pane2d_handle pane, int padding)
Definition: pane2dgray.c:1253
int mod_pane2d_init(int multithread)
Definition: pane2dgray.c:2021
int mod_pane2d_release(void)
Definition: pane2dgray.c:2036
void mod_pane2d_freeimage(pane2d_handle pane, uint8_t **image)
Definition: pane2dgray.c:1294
int mod_pane2d_texture_enum(pane2d_handle pane, pane2d_texture_handle *dest, uint64_t number)
Definition: pane2dgray.c:1169
BOOL mod_pane2d_getdrawaclinfo_windows(pane2d_handle pane, struct pane2d_drawacl *dest)
Definition: pane2dgray.c:441
void mod_pane2d_drawellipse(pane2d_handle pane, int d, int x, int y, int rx, int ry)
Definition: pane2dgray.c:1598
void mod_pane2d_drawpixel(pane2d_handle pane, int x, int y)
Definition: pane2dgray.c:1482
uint8_t * mod_pane2d_dupdatap(pane2d_handle pane, int padding)
Definition: pane2dgray.c:1359
int mod_pane2d_isowner(pane2d_handle pane)
Definition: pane2dgray.c:361
DWORD mod_pane2d_getownerinfo_windows(pane2d_handle pane, LPHANDLE destvar)
Definition: pane2dgray.c:415
void mod_pane2d_fillsquare(pane2d_handle pane, pane2d_texture_handle src, int l, int x1, int y1)
Definition: pane2dgray.c:1756
uint64_t mod_pane2d_texture_add_rgb(pane2d_handle pane, uint8_t red, uint8_t green, uint8_t blue, uint8_t alpha, pane2d_texture_handle *dest)
Definition: pane2dgray.c:1073
uint16_t ** mod_pane2d_dupimage16(pane2d_handle pane, int padding)
Definition: pane2dgray.c:1318
void mod_pane2d_dupxy(pane2d_handle pane, int *x, int *y)
Definition: pane2dgray.c:1436
void mod_pane2d_clear(pane2d_handle pane)
Definition: pane2dgray.c:839
void mod_pane2d_free(pane2d_handle pane)
Definition: pane2dgray.c:857
int mod_pane2d_changeaccesscontrol(pane2d_handle pane, void *hthread, int hthreadsize, uint32_t flags)
Definition: pane2dgray.c:587
void mod_pane2d_drawrighttriangle(pane2d_handle pane, int d, int x1, int y1, int x2, int y2, int b)
Definition: pane2dgray.c:1874
pane2d_handle mod_pane2d_alloc_multithread(int x, int y, size_t maxthreads, uint32_t typesallowed)
Definition: pane2dgray.c:819
int mod_pane2d_can_multithread(void)
Definition: pane2dgray.c:209
int mod_pane2d_vertex_get_v2(pane2d_handle pane, int elm, struct pane2d_vertex_elm_v2 *dest)
Definition: pane2dgray.c:960
int mod_pane2d_addref(pane2d_handle pane)
Definition: pane2dgray.c:296
int mod_pane2d_waituntilowner(pane2d_handle pane, int addref)
Definition: pane2dgray.c:505
void mod_pane2d_drawline(pane2d_handle pane, int d, int x1, int y1, int x2, int y2)
Definition: pane2dgray.c:1507
void mod_pane2d_lang(stick2xyz_print_ptr newval)
Definition: pane2dgray.c:1996
int mod_pane2d_get_bpp(void)
Definition: pane2dgray.c:250
pane2d_handle mod_pane2d_alloc(int x, int y)
Definition: pane2dgray.c:785
uint16_t * mod_pane2d_dupdata16p(pane2d_handle pane, int padding)
Definition: pane2dgray.c:1400
void mod_pane2d_vertex_setopts(pane2d_handle pane, uint32_t newopts)
Definition: pane2dgray.c:896
BOOL mod_pane2d_freedrawaclinfo_windows(pane2d_handle pane, struct pane2d_drawacl *src)
Definition: pane2dgray.c:465
int mod_pane2d_termwaituntilowner(pane2d_handle pane)
Definition: pane2dgray.c:531
void mod_pane2d_drawtworighttriangles(pane2d_handle pane, int d, int x1, int y1, int x2, int y2)
Definition: pane2dgray.c:1944
int mod_pane2d_dupfunc_getlist(uint32_t typerequested, struct pane2d_dupgen_funcs *dest)
Definition: pane2dgray.c:1459
uint32_t mod_pane2d_colortype(void)
Definition: pane2dgray.c:1227
void mod_pane2d_version(int *dest)
Definition: pane2dgray.c:141
void mod_pane2d_print_segment(pane2d_handle pane, int use_rgb)
Definition: pane2dgray.c:1970
stick2xyz_pctchar mod_pane2d_name(void)
Definition: pane2dgray.c:111
void mod_pane2d_freeimage16(pane2d_handle pane, uint16_t **image)
Definition: pane2dgray.c:1335
void mod_pane2d_set_tty(void *fildescout, void *fildescerr)
Definition: pane2dgray.c:190
int mod_pane2d_releaseref(pane2d_handle pane, int asyncrelease, int shutdown)
Definition: pane2dgray.c:340
uint64_t mod_pane2d_texture_add_rgb16(pane2d_handle pane, uint16_t red, uint16_t green, uint16_t blue, uint16_t alpha, pane2d_texture_handle *dest)
Definition: pane2dgray.c:1126
void mod_pane2d_fillrect(pane2d_handle pane, pane2d_texture_handle src, int x1, int y1, int x2, int y2)
Definition: pane2dgray.c:1696
void mod_pane2d_fillcircle(pane2d_handle pane, pane2d_texture_handle src, int x, int y, int r)
Definition: pane2dgray.c:1567
void mod_pane2d_drawtriangle(pane2d_handle pane, int d, int x1, int y1, int x2, int y2, int x3, int y3)
Definition: pane2dgray.c:1792
void mod_pane2d_drawsquare(pane2d_handle pane, int d, int l, int x1, int y1)
Definition: pane2dgray.c:1726
int mod_pane2d_is_multithreaded(pane2d_handle pane)
Definition: pane2dgray.c:230
void mod_pane2d_drawcircle(pane2d_handle pane, int d, int x, int y, int r)
Definition: pane2dgray.c:1537
int mod_pane2d_changeowningthread(pane2d_handle pane, void *newthread, int addref)
Definition: pane2dgray.c:642
int mod_pane2d_candraw(pane2d_handle pane)
Definition: pane2dgray.c:384
int pane2dgray_type(void)
void pane2dgray_drawrect(pane2d_handle pane, int d, int x1, int y1, int x2, int y2)
void pane2dgray_freeimage16(pane2d_handle pane, uint16_t **image)
int pane2dgray_texture_enum(pane2d_handle pane, pane2d_texture_handle *dest, uint64_t number)
void pane2dgray_fillcircle(pane2d_handle pane, pane2d_texture_handle src, int x, int y, int r)
void pane2dgray_freedatap(pane2d_handle pane, uint8_t *image)
void pane2dgray_drawcircle(pane2d_handle pane, int d, int x, int y, int r)
int pane2dgray_is_multithreaded(pane2d_handle pane)
uint64_t pane2dgray_texture_add_gray16(pane2d_handle pane, uint16_t gray, uint16_t alpha, pane2d_texture_handle *dest)
int pane2dgray_changeaccesscontrol(pane2d_handle pane, void *hthread, int hthreadsize, uint32_t flags)
uint32_t pane2dgray_vertex_getopts(pane2d_handle pane)
void pane2dgray_freeimage(pane2d_handle pane, uint8_t **image)
BOOL pane2dgray_freedrawaclinfo_windows(pane2d_handle pane, struct pane2d_drawacl *src)
DWORD pane2dgray_getownerinfo_windows(pane2d_handle pane, LPHANDLE destvar)
int pane2dgray_releaseref(pane2d_handle pane, int asyncrelease, int shutdown)
BOOL pane2dgray_getdrawaclinfo_windows(pane2d_handle pane, struct pane2d_drawacl *dest)
stick2xyz_pctchar pane2dgray_name(void)
void pane2dgray_drawsquare(pane2d_handle pane, int d, int l, int x1, int y1)
uint64_t pane2dgray_texture_add_gray(pane2d_handle pane, uint8_t gray, uint8_t alpha, pane2d_texture_handle *dest)
uint16_t * pane2dgray_dupdata16p(pane2d_handle pane, int padding)
void pane2dgray_getref(pane2d_handle pane, int *refcount, int *refwaiting)
void pane2dgray_drawpixel(pane2d_handle pane, int x, int y)
void pane2dgray_vertex_setopts(pane2d_handle pane, uint32_t newopts)
pane2d_handle pane2dgray_alloc_multithread(int x, int y, size_t maxthreads, uint32_t typesallowed)
uint64_t pane2dgray_texture_add_rgb(pane2d_handle pane, uint8_t red, uint8_t green, uint8_t blue, uint8_t alpha, pane2d_texture_handle *dest)
int pane2dgray_addref(pane2d_handle pane)
int pane2dgray_changeowningthread(pane2d_handle pane, void *newthread, int addref)
void pane2dgray_drawline(pane2d_handle pane, int d, int x1, int y1, int x2, int y2)
void pane2dgray_free(pane2d_handle pane)
uint8_t ** pane2dgray_dupimage(pane2d_handle pane, int padding)
void pane2dgray_lang(stick2xyz_print_ptr newval)
void pane2dgray_print_segment(pane2d_handle image, int use_rgb)
uint64_t pane2dgray_texture_add_rgb16(pane2d_handle pane, uint16_t red, uint16_t green, uint16_t blue, uint16_t alpha, pane2d_texture_handle *dest)
int pane2dgray_vertex_get(pane2d_handle pane, int elm, struct pane2d_vertex_elm *dest)
void pane2dgray_texture_clear(pane2d_handle pane)
int pane2dgray_dupfunc_getlist(uint32_t typerequested, struct pane2d_dupgen_funcs *dest)
void pane2dgray_version(int *dest)
void * pane2dgray_eventreleased(pane2d_handle pane)
void pane2dgray_drawtworighttriangles(pane2d_handle pane, int d, int x1, int y1, int x2, int y2)
int pane2dgray_candraw(pane2d_handle pane)
void pane2dgray_freedata16p(pane2d_handle pane, uint16_t *image)
int pane2dgray_waituntilowner(pane2d_handle pane, int addref)
int pane2dgray_isowner(pane2d_handle pane)
void pane2dgray_drawellipse(pane2d_handle pane, int d, int x, int y, int rx, int ry)
void pane2dgray_dupxy(pane2d_handle pane, int *x, int *y)
void pane2dgray_fillellipse(pane2d_handle pane, pane2d_texture_handle src, int x, int y, int rx, int ry)
void pane2dgray_fillrighttriangle(pane2d_handle pane, pane2d_texture_handle src, int x1, int y1, int x2, int y2, int b)
pane2d_handle pane2dgray_alloc(int x, int y)
int pane2dgray_termwaituntilowner(pane2d_handle pane)
void pane2dgray_fillrect(pane2d_handle pane, pane2d_texture_handle src, int x1, int y1, int x2, int y2)
void pane2dgray_drawrighttriangle(pane2d_handle pane, int d, int x1, int y1, int x2, int y2, int b)
stick2xyz_pctchar pane2dgray_desc(void)
int pane2dgray_vertex_get_v2(pane2d_handle pane, int elm, struct pane2d_vertex_elm_v2 *dest)
void pane2dgray_fillsquare(pane2d_handle pane, pane2d_texture_handle src, int l, int x1, int y1)
void pane2dgray_drawtriangle(pane2d_handle pane, int d, int x1, int y1, int x2, int y2, int x3, int y3)
int pane2dgray_get_bpp(void)
uint8_t ** pane2dgray_dupdata(pane2d_handle pane, int padding)
uint32_t pane2dgray_colortype(void)
uint8_t * pane2dgray_dupdatap(pane2d_handle pane, int padding)
void pane2dgray_clear(pane2d_handle pane)
int pane2dgray_can_multithread(void)
void pane2dgray_set_tty(void *fildescout, void *fildescerr)
void pane2dgray_filltriangle(pane2d_handle pane, pane2d_texture_handle src, int x1, int y1, int x2, int y2, int x3, int y3)
uint16_t ** pane2dgray_dupimage16(pane2d_handle pane, int padding)
void pane2drgb16_freeimage16(pane2d_handle pane, uint16_t **image)
int pane2drgb16_addref(pane2d_handle pane)
uint64_t pane2drgb16_texture_add_rgb(pane2d_handle pane, uint8_t red, uint8_t green, uint8_t blue, uint8_t alpha, pane2d_texture_handle *dest)
void pane2drgb16_freedata16p(pane2d_handle pane, uint16_t *image)
uint16_t ** pane2drgb16_dupimage16(pane2d_handle pane, int padding)
int pane2drgb16_candraw(pane2d_handle pane)
void pane2drgb16_fillrighttriangle(pane2d_handle pane, pane2d_texture_handle src, int x1, int y1, int x2, int y2, int b)
int pane2drgb16_texture_enum(pane2d_handle pane, pane2d_texture_handle *dest, uint64_t number)
int pane2drgb16_vertex_get_v2(pane2d_handle pane, int elm, struct pane2d_vertex_elm_v2 *dest)
uint16_t * pane2drgb16_dupdata16p(pane2d_handle pane, int padding)
void * pane2drgb16_eventreleased(pane2d_handle pane)
uint64_t pane2drgb16_texture_add_gray16(pane2d_handle pane, uint16_t gray, uint16_t alpha, pane2d_texture_handle *dest)
void pane2drgb16_drawsquare(pane2d_handle pane, int d, int l, int x1, int y1)
void pane2drgb16_drawpixel(pane2d_handle pane, int x, int y)
uint32_t pane2drgb16_colortype(void)
int pane2drgb16_isowner(pane2d_handle pane)
void pane2drgb16_dupxy(pane2d_handle pane, int *x, int *y)
int pane2drgb16_changeowningthread(pane2d_handle pane, void *newthread, int addref)
void pane2drgb16_fillellipse(pane2d_handle pane, pane2d_texture_handle src, int x, int y, int rx, int ry)
stick2xyz_pctchar pane2drgb16_desc(void)
void pane2drgb16_version(int *dest)
void pane2drgb16_filltriangle(pane2d_handle pane, pane2d_texture_handle src, int x1, int y1, int x2, int y2, int x3, int y3)
uint8_t * pane2drgb16_dupdatap(pane2d_handle pane, int padding)
pane2d_handle pane2drgb16_alloc_multithread(int x, int y, size_t maxthreads, uint32_t typesallowed)
int pane2drgb16_get_bpp(void)
int pane2drgb16_termwaituntilowner(pane2d_handle pane)
void pane2drgb16_freedatap(pane2d_handle pane, uint8_t *image)
void pane2drgb16_drawellipse(pane2d_handle pane, int d, int x, int y, int rx, int ry)
void pane2drgb16_getref(pane2d_handle pane, int *refcount, int *refwaiting)
void pane2drgb16_drawtworighttriangles(pane2d_handle pane, int d, int x1, int y1, int x2, int y2)
int pane2drgb16_changeaccesscontrol(pane2d_handle pane, void *hthread, int hthreadsize, uint32_t flags)
int pane2drgb16_dupfunc_getlist(uint32_t typerequested, struct pane2d_dupgen_funcs *dest)
void pane2drgb16_drawrighttriangle(pane2d_handle pane, int d, int x1, int y1, int x2, int y2, int b)
pane2d_handle pane2drgb16_alloc(int x, int y)
DWORD pane2drgb16_getownerinfo_windows(pane2d_handle pane, LPHANDLE destvar)
void pane2drgb16_drawrect(pane2d_handle pane, int d, int x1, int y1, int x2, int y2)
uint8_t ** pane2drgb16_dupimage(pane2d_handle pane, int padding)
uint64_t pane2drgb16_texture_add_rgb16(pane2d_handle pane, uint16_t red, uint16_t green, uint16_t blue, uint16_t alpha, pane2d_texture_handle *dest)
int pane2drgb16_type(void)
void pane2drgb16_fillrect(pane2d_handle pane, pane2d_texture_handle src, int x1, int y1, int x2, int y2)
void pane2drgb16_drawcircle(pane2d_handle pane, int d, int x, int y, int r)
void pane2drgb16_lang(stick2xyz_print_ptr newval)
BOOL pane2drgb16_freedrawaclinfo_windows(pane2d_handle pane, struct pane2d_drawacl *src)
BOOL pane2drgb16_getdrawaclinfo_windows(pane2d_handle pane, struct pane2d_drawacl *dest)
int pane2drgb16_is_multithreaded(pane2d_handle pane)
int pane2drgb16_waituntilowner(pane2d_handle pane, int addref)
void pane2drgb16_texture_clear(pane2d_handle pane)
stick2xyz_pctchar pane2drgb16_name(void)
void pane2drgb16_drawtriangle(pane2d_handle pane, int d, int x1, int y1, int x2, int y2, int x3, int y3)
uint32_t pane2drgb16_vertex_getopts(pane2d_handle pane)
int pane2drgb16_can_multithread(void)
void pane2drgb16_fillsquare(pane2d_handle pane, pane2d_texture_handle src, int l, int x1, int y1)
void pane2drgb16_fillcircle(pane2d_handle pane, pane2d_texture_handle src, int x, int y, int r)
void pane2drgb16_free(pane2d_handle pane)
void pane2drgb16_drawline(pane2d_handle pane, int d, int x1, int y1, int x2, int y2)
uint8_t ** pane2drgb16_dupdata(pane2d_handle pane, int padding)
uint64_t pane2drgb16_texture_add_gray(pane2d_handle pane, uint8_t gray, uint8_t alpha, pane2d_texture_handle *dest)
int pane2drgb16_releaseref(pane2d_handle pane, int asyncrelease, int shutdown)
void pane2drgb16_vertex_setopts(pane2d_handle pane, uint32_t newopts)
void pane2drgb16_clear(pane2d_handle pane)
int pane2drgb16_vertex_get(pane2d_handle pane, int elm, struct pane2d_vertex_elm *dest)
void pane2drgb16_print_segment(pane2d_handle image, int use_rgb)
void pane2drgb16_freeimage(pane2d_handle pane, uint8_t **image)
void pane2drgb16_set_tty(void *fildescout, void *fildescerr)
uint16_t ** pane2drgb_dupimage16(pane2d_handle pane, int padding)
uint64_t pane2drgb_texture_add_rgb16(pane2d_handle pane, uint16_t red, uint16_t green, uint16_t blue, uint16_t alpha, pane2d_texture_handle *dest)
uint8_t ** pane2drgb_dupdata(pane2d_handle pane, int padding)
void pane2drgb_freeimage16(pane2d_handle pane, uint16_t **image)
uint8_t ** pane2drgb_dupimage(pane2d_handle pane, int padding)
void pane2drgb_freedata16p(pane2d_handle pane, uint16_t *image)
stick2xyz_pctchar pane2drgb_name(void)
void pane2drgb_free(pane2d_handle pane)
int pane2drgb_is_multithreaded(pane2d_handle pane)
int pane2drgb_vertex_get_v2(pane2d_handle pane, int elm, struct pane2d_vertex_elm_v2 *dest)
void pane2drgb_drawtriangle(pane2d_handle pane, int d, int x1, int y1, int x2, int y2, int x3, int y3)
uint8_t * pane2drgb_dupdatap(pane2d_handle pane, int padding)
int pane2drgb_texture_enum(pane2d_handle pane, pane2d_texture_handle *dest, uint64_t number)
int pane2drgb_candraw(pane2d_handle pane)
int pane2drgb_releaseref(pane2d_handle pane, int asyncrelease, int shutdown)
pane2d_handle pane2drgb_alloc_multithread(int x, int y, size_t maxthreads, uint32_t typesallowed)
int pane2drgb_isowner(pane2d_handle pane)
void * pane2drgb_eventreleased(pane2d_handle pane)
int pane2drgb_can_multithread(void)
void pane2drgb_drawrighttriangle(pane2d_handle pane, int d, int x1, int y1, int x2, int y2, int b)
int pane2drgb_changeowningthread(pane2d_handle pane, void *newthread, int addref)
uint64_t pane2drgb_texture_add_rgb(pane2d_handle pane, uint8_t red, uint8_t green, uint8_t blue, uint8_t alpha, pane2d_texture_handle *dest)
void pane2drgb_fillellipse(pane2d_handle pane, pane2d_texture_handle src, int x, int y, int rx, int ry)
int pane2drgb_addref(pane2d_handle pane)
void pane2drgb_drawrect(pane2d_handle pane, int d, int x1, int y1, int x2, int y2)
void pane2drgb_drawtworighttriangles(pane2d_handle pane, int d, int x1, int y1, int x2, int y2)
int pane2drgb_vertex_get(pane2d_handle pane, int elm, struct pane2d_vertex_elm *dest)
uint64_t pane2drgb_texture_add_gray(pane2d_handle pane, uint8_t gray, uint8_t alpha, pane2d_texture_handle *dest)
pane2d_handle pane2drgb_alloc(int x, int y)
void pane2drgb_version(int *dest)
void pane2drgb_freeimage(pane2d_handle pane, uint8_t **image)
int pane2drgb_changeaccesscontrol(pane2d_handle pane, thrd_t *hthread, int hthreadsize, uint32_t flags)
void pane2drgb_freedatap(pane2d_handle pane, uint8_t *image)
int pane2drgb_type(void)
void pane2drgb_set_tty(void *fildescout, void *fildescerr)
void pane2drgb_drawline(pane2d_handle pane, int d, int x1, int y1, int x2, int y2)
BOOL pane2drgb_freedrawaclinfo_windows(pane2d_handle pane, struct pane2d_drawacl *src)
void pane2drgb_clear(pane2d_handle pane)
uint32_t pane2drgb_colortype(void)
int pane2drgb_waituntilowner(pane2d_handle pane, int addref)
void pane2drgb_fillrect(pane2d_handle pane, pane2d_texture_handle src, int x1, int y1, int x2, int y2)
void pane2drgb_lang(stick2xyz_print_ptr newval)
int pane2drgb_dupfunc_getlist(uint32_t typerequested, struct pane2d_dupgen_funcs *dest)
stick2xyz_pctchar pane2drgb_desc(void)
void pane2drgb_vertex_setopts(pane2d_handle pane, uint32_t newopts)
void pane2drgb_fillcircle(pane2d_handle pane, pane2d_texture_handle src, int x, int y, int r)
int pane2drgb_termwaituntilowner(pane2d_handle pane)
void pane2drgb_filltriangle(pane2d_handle pane, pane2d_texture_handle src, int x1, int y1, int x2, int y2, int x3, int y3)
uint64_t pane2drgb_texture_add_gray16(pane2d_handle pane, uint16_t gray, uint16_t alpha, pane2d_texture_handle *dest)
int pane2drgb_get_bpp(void)
void pane2drgb_drawellipse(pane2d_handle pane, int d, int x, int y, int rx, int ry)
void pane2drgb_texture_clear(pane2d_handle pane)
DWORD pane2drgb_getownerinfo_windows(pane2d_handle pane, LPHANDLE destvar)
void pane2drgb_fillrighttriangle(pane2d_handle pane, pane2d_texture_handle src, int x1, int y1, int x2, int y2, int b)
void pane2drgb_drawsquare(pane2d_handle pane, int d, int l, int x1, int y1)
uint32_t pane2drgb_vertex_getopts(pane2d_handle pane)
void pane2drgb_drawpixel(pane2d_handle pane, int x, int y)
void pane2drgb_getref(pane2d_handle pane, int *refcount, int *refwaiting)
uint16_t * pane2drgb_dupdata16p(pane2d_handle pane, int padding)
void pane2drgb_print_segment(pane2d_handle image, int use_rgb)
void pane2drgb_fillsquare(pane2d_handle pane, pane2d_texture_handle src, int l, int x1, int y1)
void pane2drgb_dupxy(pane2d_handle pane, int *x, int *y)
BOOL pane2drgb_getdrawaclinfo_windows(pane2d_handle pane, struct pane2d_drawacl *dest)
void pane2drgb_drawcircle(pane2d_handle pane, int d, int x, int y, int r)
#define STICK2XYZ_MODTYPE_PANE2D
Definition: stick2xyz.h:223
#define STICK2XYZ_MODTYPE_PANE2D_DEBUG
Definition: stick2xyz.h:224
#define STICK2XYZ_MODTYPE_PANE2D_UNICODE_DEBUG
Definition: stick2xyz.h:226
void(* pane2d_sigterm_ready)(int)
Definition: stick2xyz.h:893
const wchar_t * stick2xyz_pctchar
Definition: stick2xyz.h:145
#define STICK2XYZ_MODTYPE_PANE2D_UNICODE
Definition: stick2xyz.h:225
void * pane2d_texture_handle
Definition: stick2xyz.h:453
void * pane2d_handle
Definition: stick2xyz.h:447
pane2d_get_bpp pane2d_funcptrs_get_bpp
Definition: stick2xyz.h:1329
pane2d_dupdata pane2d_funcptrs_dupdata
Definition: stick2xyz.h:1364
pane2d_drawtriangle pane2d_funcptrs_drawtriangle
Definition: stick2xyz.h:1389
pane2d_drawcircle pane2d_funcptrs_drawcircle
Definition: stick2xyz.h:1379
pane2d_freedatap pane2d_funcptrs_freedatap
Definition: stick2xyz.h:1370
pane2d_set_tty pane2d_funcptrs_set_tty
Definition: stick2xyz.h:1319
pane2d_drawpixel pane2d_funcptrs_drawpixel
Definition: stick2xyz.h:1376
pane2d_fillrect pane2d_funcptrs_fillrect
Definition: stick2xyz.h:1385
pane2d_free pane2d_funcptrs_free
Definition: stick2xyz.h:1349
pane2d_vertex_get pane2d_funcptrs_vertex_get
Definition: stick2xyz.h:1353
pane2d_sigterm pane2d_funcptrs_sigterm
Definition: stick2xyz.h:1324
pane2d_vertex_setopts pane2d_funcptrs_setopts
Definition: stick2xyz.h:1352
pane2d_dupxy pane2d_funcptrs_dupxy
Definition: stick2xyz.h:1373
pane2d_freeimage pane2d_funcptrs_freeimage
Definition: stick2xyz.h:1366
pane2d_drawellipse pane2d_funcptrs_drawellipse
Definition: stick2xyz.h:1381
pane2d_fillellipse pane2d_funcptrs_fillellipse
Definition: stick2xyz.h:1382
pane2d_dupdatap pane2d_funcptrs_dupdatap
Definition: stick2xyz.h:1369
pane2d_candraw pane2d_funcptrs_candraw
Definition: stick2xyz.h:1334
pane2d_colortype pane2d_funcptrs_colortype
Definition: stick2xyz.h:1362
pane2d_drawline pane2d_funcptrs_drawline
Definition: stick2xyz.h:1377
pane2d_texture_enum pane2d_funcptrs_texture_enum
Definition: stick2xyz.h:1360
pane2d_changeaccesscontrol pane2d_funcptrs_changeaccesscontrol
Definition: stick2xyz.h:1342
pane2d_alloc pane2d_funcptrs_alloc
Definition: stick2xyz.h:1346
pane2d_fillrighttriangle pane2d_funcptrs_fillrighttriangle
Definition: stick2xyz.h:1392
pane2d_texture_add_gray pane2d_funcptrs_texture_add_gray
Definition: stick2xyz.h:1356
pane2d_eventreleased pane2d_funcptrs_eventreleased
Definition: stick2xyz.h:1344
pane2d_getref pane2d_funcptrs_getref
Definition: stick2xyz.h:1330
pane2d_fillcircle pane2d_funcptrs_fillcircle
Definition: stick2xyz.h:1380
pane2d_clear pane2d_funcptrs_clear
Definition: stick2xyz.h:1348
pane2d_waituntilowner pane2d_funcptrs_waituntilowner
Definition: stick2xyz.h:1340
pane2d_can_multithread pane2d_funcptrs_can_multithread
Definition: stick2xyz.h:1327
pane2d_release pane2d_funcptrs_release
Definition: stick2xyz.h:1322
pane2d_dupfunc_getlist pane2d_funcptrs_dupfunc_getlist
Definition: stick2xyz.h:1374
pane2d_vertex_getopts pane2d_funcptrs_getopts
Definition: stick2xyz.h:1351
pane2d_drawrect pane2d_funcptrs_drawrect
Definition: stick2xyz.h:1384
pane2d_filltriangle pane2d_funcptrs_filltriangle
Definition: stick2xyz.h:1390
pane2d_vertex_get_v2 pane2d_funcptrs_vertex_get_v2
Definition: stick2xyz.h:1354
pane2d_changeowningthread pane2d_funcptrs_changeowningthread
Definition: stick2xyz.h:1343
pane2d_freedata16p pane2d_funcptrs_freedata16p
Definition: stick2xyz.h:1372
pane2d_dupimage pane2d_funcptrs_dupimage
Definition: stick2xyz.h:1365
pane2d_texture_add_rgb16 pane2d_funcptrs_texture_add_rgb16
Definition: stick2xyz.h:1359
pane2d_freeimage16 pane2d_funcptrs_freeimage16
Definition: stick2xyz.h:1368
pane2d_alloc_multithread pane2d_funcptrs_alloc_multithread
Definition: stick2xyz.h:1347
pane2d_modid_name pane2d_funcptrs_name
Definition: stick2xyz.h:1314
pane2d_isowner pane2d_funcptrs_isowner
Definition: stick2xyz.h:1333
pane2d_fillsquare pane2d_funcptrs_fillsquare
Definition: stick2xyz.h:1387
pane2d_drawsquare pane2d_funcptrs_drawsquare
Definition: stick2xyz.h:1386
pane2d_modid_desc pane2d_funcptrs_desc
Definition: stick2xyz.h:1315
pane2d_init pane2d_funcptrs_init
Definition: stick2xyz.h:1321
pane2d_dupimage16 pane2d_funcptrs_dupimage16
Definition: stick2xyz.h:1367
pane2d_releaseref pane2d_funcptrs_releaseref
Definition: stick2xyz.h:1332
pane2d_drawrighttriangle pane2d_funcptrs_drawrighttriangle
Definition: stick2xyz.h:1391
pane2d_print_segment pane2d_funcptrs_print_segment
Definition: stick2xyz.h:1395
pane2d_dupdata16p pane2d_funcptrs_dupdata16p
Definition: stick2xyz.h:1371
pane2d_addref pane2d_funcptrs_addref
Definition: stick2xyz.h:1331
pane2d_texture_add_gray16 pane2d_funcptrs_texture_add_gray16
Definition: stick2xyz.h:1357
pane2d_texture_clear pane2d_funcptrs_texture_clear
Definition: stick2xyz.h:1361
pane2d_termwaituntilowner pane2d_funcptrs_termwaituntilowner
Definition: stick2xyz.h:1341
pane2d_modid_version pane2d_funcptrs_version
Definition: stick2xyz.h:1316
pane2d_is_multithreaded pane2d_funcptrs_is_multithreaded
Definition: stick2xyz.h:1328
pane2d_modid_type pane2d_funcptrs_type
Definition: stick2xyz.h:1317
pane2d_texture_add_rgb pane2d_funcptrs_texture_add_rgb
Definition: stick2xyz.h:1358

SourceForge.net Logo  stick2xyz Project Page