The stick2xyz Documentation 1.14.1
pane2drgb.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 PANE2DRGB_H
21#define PANE2DRGB_H (1)
22
23#include <stick2xyz.h>
24
25/* Pane2D General Module Info Functions */
34
43
51void pane2drgb_version ( int * dest );
52
74int pane2drgb_type ( void );
75
86void pane2drgb_set_tty ( void * fildescout, void * fildescerr );
87
96
102int pane2drgb_get_bpp ( void );
103
107void pane2drgb_getref ( pane2d_handle pane, int * refcount, int * refwaiting );
115int pane2drgb_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 thrd_t * 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_THREADS_H
199 pane2d_handle pane,
200 thrd_t * hthread,
201 int hthreadsize,
202 uint32_t flags
203);
204
206 pane2d_handle pane,
207 thrd_t newthread,
208 int addref
209);
210#else /* not HAVE_THREADS_H */
212 pane2d_handle pane,
213 void * hthread,
214 int hthreadsize,
215 uint32_t flags
216);
217
219 pane2d_handle pane,
220 void * newthread,
221 int addref
222);
223#endif /* not HAVE_THREADS_H */
224#endif /* not __WINDOWS__ */
225#endif /* not DOXYGEN_BUILD */
226
227#ifndef __WINDOWS__
241void pane2drgb_lang ( stick2xyz_print_ptr newval );
242#endif /* not __WINDOWS__ */
243
244/* Generic Drawing Pane (2-D) Allocation Functions */
253 int x,
254 int y,
255 size_t maxthreads,
256 uint32_t typesallowed
257);
271uint8_t ** pane2drgb_dupdata ( pane2d_handle pane, int padding );
275uint8_t ** pane2drgb_dupimage ( pane2d_handle pane, int padding );
279void pane2drgb_freeimage ( pane2d_handle pane, uint8_t ** image );
283uint16_t ** pane2drgb_dupimage16 ( pane2d_handle pane, int padding );
287void pane2drgb_freeimage16 ( pane2d_handle pane, uint16_t ** image );
291uint8_t * pane2drgb_dupdatap ( pane2d_handle pane, int padding );
295void pane2drgb_freedatap ( pane2d_handle pane, uint8_t * image );
299uint16_t * pane2drgb_dupdata16p ( pane2d_handle pane, int padding );
303void pane2drgb_freedata16p ( pane2d_handle pane, uint16_t * image );
307void pane2drgb_dupxy ( pane2d_handle pane, int * x, int * y);
312 uint32_t typerequested,
313 struct pane2d_dupgen_funcs * dest
314);
315
316
317/* Generic Drawing Pane (2-D) Debug Functions */
334void pane2drgb_print_segment ( pane2d_handle image, int use_rgb );
335
336
337/* Generic Drawing Pane (2-D) Vertex Functions */
341void pane2drgb_vertex_setopts ( pane2d_handle pane, uint32_t newopts );
350 pane2d_handle pane,
351 int elm,
352 struct pane2d_vertex_elm * dest
353);
358 pane2d_handle pane,
359 int elm,
360 struct pane2d_vertex_elm_v2 * dest
361);
362
363/* Generic Drawing Pane (2-D) Texture Functions */
368 pane2d_handle pane,
369 uint8_t gray,
370 uint8_t alpha,
372);
380 pane2d_handle pane,
381 uint16_t gray,
382 uint16_t alpha,
384);
389 pane2d_handle pane,
390 uint8_t red,
391 uint8_t green,
392 uint8_t blue,
393 uint8_t alpha,
395);
403 pane2d_handle pane,
404 uint16_t red,
405 uint16_t green,
406 uint16_t blue,
407 uint16_t alpha,
409);
414 pane2d_handle pane,
416 uint64_t number
417);
428uint32_t pane2drgb_colortype ( void );
429
430/* Generic Drawing Pane (2-D) Drawing Functions */
434void pane2drgb_drawpixel ( pane2d_handle pane, int x, int y );
439 pane2d_handle pane,
440 int d,
441 int x1,
442 int y1,
443 int x2,
444 int y2
445);
450 pane2d_handle pane,
451 int d,
452 int x,
453 int y,
454 int r
455);
460 pane2d_handle pane,
462 int x,
463 int y,
464 int r
465);
470 pane2d_handle pane,
471 int d,
472 int x,
473 int y,
474 int rx,
475 int ry
476);
481 pane2d_handle pane,
483 int x,
484 int y,
485 int rx,
486 int ry
487);
488
493 pane2d_handle pane,
494 int d,
495 int x1,
496 int y1,
497 int x2,
498 int y2
499);
504 pane2d_handle pane,
506 int x1,
507 int y1,
508 int x2,
509 int y2
510);
515 pane2d_handle pane,
516 int d,
517 int l,
518 int x1,
519 int y1
520);
525 pane2d_handle pane,
527 int l,
528 int x1,
529 int y1
530);
531
536 pane2d_handle pane,
537 int d,
538 int x1,
539 int y1,
540 int x2,
541 int y2,
542 int x3,
543 int y3
544);
549 pane2d_handle pane,
551 int x1,
552 int y1,
553 int x2,
554 int y2,
555 int x3,
556 int y3
557);
558
563 pane2d_handle pane,
564 int d,
565 int x1,
566 int y1,
567 int x2,
568 int y2,
569 int b
570);
575 pane2d_handle pane,
577 int x1,
578 int y1,
579 int x2,
580 int y2,
581 int b
582);
588 pane2d_handle pane,
589 int d,
590 int x1,
591 int y1,
592 int x2,
593 int y2
594);
595#endif /* PANE2DRGB_H */
596
597
int pane2dgray_changeaccesscontrol(pane2d_handle pane, void *hthread, int hthreadsize, uint32_t flags)
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)
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