summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/qntan/Qntan.h69
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)(