diff options
| author | Andreas Fankhauser hiddenalpha.ch | 2025-11-23 15:27:27 +0100 |
|---|---|---|
| committer | Andreas Fankhauser hiddenalpha.ch | 2025-11-23 15:27:27 +0100 |
| commit | 579bfa5a27aaab03410ec219c441d238263e5a19 (patch) | |
| tree | 33b0fd9419c9ba96caa91cc285ba34867457807e /include/qntan | |
| parent | e88cc98fe041ab5a4bd1c47c724cf6a4b485e1c8 (diff) | |
| download | Qntan-579bfa5a27aaab03410ec219c441d238263e5a19.tar.gz Qntan-579bfa5a27aaab03410ec219c441d238263e5a19.zip | |
Add some experimental rendering stuff.
Diffstat (limited to 'include/qntan')
| -rw-r--r-- | include/qntan/Qntan.h | 69 |
1 files changed, 67 insertions, 2 deletions
diff --git a/include/qntan/Qntan.h b/include/qntan/Qntan.h index 2a44cdf..1b28790 100644 --- a/include/qntan/Qntan.h +++ b/include/qntan/Qntan.h @@ -2,7 +2,6 @@ #define INCGUARD_aM91R0ljMWoqtn7F #if 0 - Qntan - A C module separations framework http://git.hiddenalpha.ch/qntan.git/tree/README.txt @@ -18,7 +17,6 @@ */ }; - #endif #include <stddef.h> /* size_t */ @@ -83,6 +81,7 @@ struct Qntan_XmlDec_Mentor; struct Qntan_HttpClient; struct Qntan_HttpClient_Exchg; struct Qntan_HttpClient_Exchg_Opts; +struct Qntan_GfxRenderer; struct Qntan_JavaBytecodeParser; struct Qntan_JavaBytecodeParser_Mentor; struct Qntan_CamtAccount; @@ -1127,6 +1126,72 @@ struct Qntan_HttpClient { +#ifndef Qntan_GfxRenderer_setScissor +# define Qntan_GfxRenderer_setScissor(A, B, C, D, E) (*A)->setScissor(A, B, C, D, E) +#endif +#ifndef Qntan_GfxRenderer_triangleStrip2d +# define Qntan_GfxRenderer_triangleStrip2d(A, B, C) (*A)->triangleStrip2d(A, B, C) +#endif +#ifndef Qntan_GfxRenderer_triangleStrip2dOneColor +# define Qntan_GfxRenderer_triangleStrip2dOneColor(A, B, C, D) (*A)->triangleStrip2dOneColor(A, B, C, D) +#endif +#ifndef Qntan_GfxRenderer_circle2dOneColor +# define Qntan_GfxRenderer_circle2dOneColor(A, B, C, D, E, F) (*A)->circle2dOneColor(A, B, C, D, E, F) +#endif +#ifndef Qntan_GfxRenderer_lineStrip2dOneColor +# define Qntan_GfxRenderer_lineStrip2dOneColor(A, B, C, D, E) (*A)->lineStrip2dOneColor(A, B, C, D, E) +#endif + +struct Qntan_GfxRenderer_Vtx2d { + float x, y; +}; + +struct Qntan_GfxRenderer_Vtx2dColor { + float x, y; + uint32_t rgba8888; +}; + +struct Qntan_GfxRenderer_Mtx4d { + float m00, m01, m02, m03; + float m10, m11, m12, m13; + float m20, m21, m22, m23; + float m30, m31, m32, m33; +}; + +struct Qntan_GfxRenderer { + /* WARN: All around graphics rendering is heavily experimental! Make + * sure you're ready to handle all kind of changes here. + */ + void (*setScissor)( struct Garbage_Renderer**, int x, int y, int w, int h ); + /**/ + void (*triangleStrip2d)( struct Qntan_GfxRenderer**, + struct Qntan_GfxRenderer_Vtx2dColor const*vertices, int vertices_cnt ); + /**/ + void (*triangleStrip2dOneColor)( struct Qntan_GfxRenderer**, + struct Qntan_GfxRenderer_Vtx2d const*vertices, int vertices_cnt, uint32_t rgba8888 ); + /**/ + void (*circle2dOneColor)( struct Qntan_GfxRenderer**, + int x, int y, int w, int h, uint32_t colorRGBA8888 ); + /* @param x NOT center. + * @param y NOT center. + * @param w horizontal diameter. + * @param h vertical diameter. + */ + void (*lineStrip2dOneColor)( struct Qntan_GfxRenderer**, + struct Qntan_GfxRenderer_Vtx2d const*vertices, int vertices_cnt, + float lineWidth, uint32_t rgba8888 ); + /**/ +}; + + + + + + + + + + struct Qntan_JavaBytecodeParser { /**/ void (*write)( |
