The stick2xyz Documentation 1.14.1
pane2dgray.h
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#ifndef PANE2DGRAY_H
21#define PANE2DGRAY_H (1)
22
23#include <stick2xyz.h>
24
25/* Pane2D General Module Info Functions */
34
43
51void pane2dgray_version ( int * dest );
52
74int pane2dgray_type ( void );
75
86void pane2dgray_set_tty ( void * fildescout, void * fildescerr );
87
96
103
107void pane2dgray_getref ( pane2d_handle pane, int * refcount, int * refwaiting );
115int pane2dgray_releaseref ( pane2d_handle pane, int asyncrelease, int shutdown );
124
125#if defined(__WINDOWS__) | defined(DOXYGEN_BUILD)
130 pane2d_handle pane,
131 LPHANDLE destvar
132);
137 pane2d_handle pane,
138 struct pane2d_drawacl * dest
139);
144 pane2d_handle pane,
145 struct pane2d_drawacl * src
146);
147#endif /* defined(__WINDOWS__) | defined(DOXYGEN_BUILD) */
156#ifdef DOXYGEN_BUILD
161 pane2d_handle pane,
162 void * hthread,
163 int hthreadsize,
164 uint32_t flags
165);
166
171 pane2d_handle pane,
172 void * newthread,
173 int addref
174);
175
180#else /* not DOXYGEN_BUILD */
181#ifdef __WINDOWS__
183 pane2d_handle pane,
184 PHANDLE hthread,
185 int hthreadsize,
186 uint32_t flags
187);
188
190 pane2d_handle pane,
191 HANDLE newthread,
192 int addref
193);
194
196#else /* not __WINDOWS__ */
197#ifdef HAVE_EVENTFD
199#endif /* HAVE_EVENTFD */
200#ifdef HAVE_THREADS_H
202 pane2d_handle pane,
203 thrd_t * hthread,
204 int hthreadsize,
205 uint32_t flags
206);
207
209 pane2d_handle pane,
210 thrd_t newthread,
211 int addref
212);
213#else /* not HAVE_THREADS_H */
215 pane2d_handle pane,
216 void * hthread,
217 int hthreadsize,
218 uint32_t flags
219);
220
222 pane2d_handle pane,
223 void * newthread,
224 int addref
225);
226#endif /* not HAVE_THREADS_H */
227#endif /* not __WINDOWS__ */
228#endif /* not DOXYGEN_BUILD */
229
230#ifndef __WINDOWS__
244void pane2dgray_lang ( stick2xyz_print_ptr newval );
245#endif /* not __WINDOWS__ */
246
247/* Generic Drawing Pane (2-D) Allocation Functions */
256 int x,
257 int y,
258 size_t maxthreads,
259 uint32_t typesallowed
260);
272uint8_t ** pane2dgray_dupdata ( pane2d_handle pane, int padding );
276uint8_t ** pane2dgray_dupimage ( pane2d_handle pane, int padding );
280void pane2dgray_freeimage ( pane2d_handle pane, uint8_t ** image );
284uint16_t ** pane2dgray_dupimage16 ( pane2d_handle pane, int padding );
288void pane2dgray_freeimage16 ( pane2d_handle pane, uint16_t ** image );
292uint8_t * pane2dgray_dupdatap ( pane2d_handle pane, int padding );
296void pane2dgray_freedatap ( pane2d_handle pane, uint8_t * image );
300uint16_t * pane2dgray_dupdata16p ( pane2d_handle pane, int padding );
304void pane2dgray_freedata16p ( pane2d_handle pane, uint16_t * image );
308void pane2dgray_dupxy ( pane2d_handle pane, int * x, int * y);
313 uint32_t typerequested,
314 struct pane2d_dupgen_funcs * dest
315);
316
317
318/* Generic Drawing Pane (2-D) Debug Functions */
335void pane2dgray_print_segment ( pane2d_handle image, int use_rgb );
336
337
338/* Generic Drawing Pane (2-D) Vertex Functions */
342void pane2dgray_vertex_setopts ( pane2d_handle pane, uint32_t newopts );
351 pane2d_handle pane,
352 int elm,
353 struct pane2d_vertex_elm * dest
354);
359 pane2d_handle pane,
360 int elm,
361 struct pane2d_vertex_elm_v2 * dest
362);
363
364/* Generic Drawing Pane (2-D) Texture Functions */
369 pane2d_handle pane,
370 uint8_t gray,
371 uint8_t alpha,
373);
381 pane2d_handle pane,
382 uint16_t gray,
383 uint16_t alpha,
385);
390 pane2d_handle pane,
391 uint8_t red,
392 uint8_t green,
393 uint8_t blue,
394 uint8_t alpha,
396);
404 pane2d_handle pane,
405 uint16_t red,
406 uint16_t green,
407 uint16_t blue,
408 uint16_t alpha,
410);
415 pane2d_handle pane,
417 uint64_t number
418);
429uint32_t pane2dgray_colortype ( void );
430
431/* Generic Drawing Pane (2-D) Drawing Functions */
435void pane2dgray_drawpixel ( pane2d_handle pane, int x, int y );
440 pane2d_handle pane,
441 int d,
442 int x1,
443 int y1,
444 int x2,
445 int y2
446);
451 pane2d_handle pane,
452 int d,
453 int x,
454 int y,
455 int r
456);
461 pane2d_handle pane,
463 int x,
464 int y,
465 int r
466);
471 pane2d_handle pane,
472 int d,
473 int x,
474 int y,
475 int rx,
476 int ry
477);
482 pane2d_handle pane,
484 int x,
485 int y,
486 int rx,
487 int ry
488);
489
494 pane2d_handle pane,
495 int d,
496 int x1,
497 int y1,
498 int x2,
499 int y2
500);
505 pane2d_handle pane,
507 int x1,
508 int y1,
509 int x2,
510 int y2
511);
516 pane2d_handle pane,
517 int d,
518 int l,
519 int x1,
520 int y1
521);
526 pane2d_handle pane,
528 int l,
529 int x1,
530 int y1
531);
532
537 pane2d_handle pane,
538 int d,
539 int x1,
540 int y1,
541 int x2,
542 int y2,
543 int x3,
544 int y3
545);
550 pane2d_handle pane,
552 int x1,
553 int y1,
554 int x2,
555 int y2,
556 int x3,
557 int y3
558);
559
564 pane2d_handle pane,
565 int d,
566 int x1,
567 int y1,
568 int x2,
569 int y2,
570 int b
571);
576 pane2d_handle pane,
578 int x1,
579 int y1,
580 int x2,
581 int y2,
582 int b
583);
589 pane2d_handle pane,
590 int d,
591 int x1,
592 int y1,
593 int x2,
594 int y2
595);
596#endif /* PANE2DGRAY_H */
597
598
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)
const wchar_t * stick2xyz_pctchar
Definition: stick2xyz.h:145
void * pane2d_texture_handle
Definition: stick2xyz.h:453
void * pane2d_handle
Definition: stick2xyz.h:447

SourceForge.net Logo  stick2xyz Project Page