[Bf-blender-cvs] [3b36295] master: Cleanup: move defines inside bgl C source

Campbell Barton noreply at git.blender.org
Fri Jul 24 01:44:06 CEST 2015


Commit: 3b362950e9329fdc086728d7b150eff16a7e8c53
Author: Campbell Barton
Date:   Fri Jul 24 09:24:44 2015 +1000
Branches: master
https://developer.blender.org/rB3b362950e9329fdc086728d7b150eff16a7e8c53

Cleanup: move defines inside bgl C source

- remove number-of-args arg from BGL_Wrap.
- use doxy groups.

===================================================================

M	source/blender/python/generic/bgl.c
M	source/blender/python/generic/bgl.h

===================================================================

diff --git a/source/blender/python/generic/bgl.c b/source/blender/python/generic/bgl.c
index c599ce2..b24a29a 100644
--- a/source/blender/python/generic/bgl.c
+++ b/source/blender/python/generic/bgl.c
@@ -32,11 +32,420 @@
 
 #include <Python.h>
 
-#include "bgl.h" /*This must come first */
+#include "BLI_utildefines.h"
+
 #include "GPU_glew.h"
 #include "MEM_guardedalloc.h"
 
-#include "BLI_utildefines.h"
+#include "bgl.h"
+
+
+/* -------------------------------------------------------------------- */
+
+/** \name Local utility defines for wrapping OpenGL
+ * \{ */
+
+/*@ By golly George! It looks like fancy pants macro time!!! */
+
+
+/* TYPE_str is the string to pass to Py_ArgParse (for the format) */
+/* TYPE_var is the name to pass to the GL function */
+/* TYPE_ref is the pointer to pass to Py_ArgParse (to store in) */
+/* TYPE_def is the C initialization of the variable */
+
+#define void_str      ""
+#define void_var(num)
+#define void_ref(num)   &bgl_var##num
+#define void_def(num)   char bgl_var##num
+
+#if 0
+#define buffer_str "O!"
+#define buffer_var(number)  (bgl_buffer##number)->buf.asvoid
+#define buffer_ref(number)  &BGL_bufferType, &bgl_buffer##number
+#define buffer_def(number)  Buffer *bgl_buffer##number
+#endif
+
+/* GL Pointer fields, handled by buffer type */
+/* GLdoubleP, GLfloatP, GLintP, GLuintP, GLshortP, GLsizeiP, GLcharP */
+
+#define GLbooleanP_str      "O!"
+#define GLbooleanP_var(number)  (bgl_buffer##number)->buf.asvoid
+#define GLbooleanP_ref(number)  &BGL_bufferType, &bgl_buffer##number
+#define GLbooleanP_def(number)  Buffer *bgl_buffer##number
+
+#define GLbyteP_str     "O!"
+#define GLbyteP_var(number) (bgl_buffer##number)->buf.asvoid
+#define GLbyteP_ref(number) &BGL_bufferType, &bgl_buffer##number
+#define GLbyteP_def(number) Buffer *bgl_buffer##number
+
+#define GLubyteP_str      "O!"
+#define GLubyteP_var(number)  (bgl_buffer##number)->buf.asvoid
+#define GLubyteP_ref(number)  &BGL_bufferType, &bgl_buffer##number
+#define GLubyteP_def(number)  Buffer *bgl_buffer##number
+
+#define GLintP_str      "O!"
+#define GLintP_var(number)  (bgl_buffer##number)->buf.asvoid
+#define GLintP_ref(number)  &BGL_bufferType, &bgl_buffer##number
+#define GLintP_def(number)  Buffer *bgl_buffer##number
+
+#if 0
+#define GLint64P_str      "O!"
+#define GLint64P_var(number)  (bgl_buffer##number)->buf.asvoid
+#define GLint64P_ref(number)  &BGL_bufferType, &bgl_buffer##number
+#define GLint64P_def(number)  Buffer *bgl_buffer##number
+#endif
+
+#if 0
+#define GLenumP_str      "O!"
+#define GLenumP_var(number)  (bgl_buffer##number)->buf.asvoid
+#define GLenumP_ref(number)  &BGL_bufferType, &bgl_buffer##number
+#define GLenumP_def(number)  Buffer *bgl_buffer##number
+#endif
+
+#define GLuintP_str     "O!"
+#define GLuintP_var(number) (bgl_buffer##number)->buf.asvoid
+#define GLuintP_ref(number) &BGL_bufferType, &bgl_buffer##number
+#define GLuintP_def(number) Buffer *bgl_buffer##number
+
+#if 0
+#define GLuint64P_str     "O!"
+#define GLuint64P_var(number) (bgl_buffer##number)->buf.asvoid
+#define GLuint64P_ref(number) &BGL_bufferType, &bgl_buffer##number
+#define GLuint64P_def(number) Buffer *bgl_buffer##number
+#endif
+
+#define GLshortP_str      "O!"
+#define GLshortP_var(number)  (bgl_buffer##number)->buf.asvoid
+#define GLshortP_ref(number)  &BGL_bufferType, &bgl_buffer##number
+#define GLshortP_def(number)  Buffer *bgl_buffer##number
+
+#define GLushortP_str     "O!"
+#define GLushortP_var(number) (bgl_buffer##number)->buf.asvoid
+#define GLushortP_ref(number) &BGL_bufferType, &bgl_buffer##number
+#define GLushortP_def(number) Buffer *bgl_buffer##number
+
+#define GLfloatP_str      "O!"
+#define GLfloatP_var(number)  (bgl_buffer##number)->buf.asvoid
+#define GLfloatP_ref(number)  &BGL_bufferType, &bgl_buffer##number
+#define GLfloatP_def(number)  Buffer *bgl_buffer##number
+
+#define GLdoubleP_str     "O!"
+#define GLdoubleP_var(number) (bgl_buffer##number)->buf.asvoid
+#define GLdoubleP_ref(number) &BGL_bufferType, &bgl_buffer##number
+#define GLdoubleP_def(number) Buffer *bgl_buffer##number
+
+#define GLclampfP_str     "O!"
+#define GLclampfP_var(number) (bgl_buffer##number)->buf.asvoid
+#define GLclampfP_ref(number) &BGL_bufferType, &bgl_buffer##number
+#define GLclampfP_def(number) Buffer *bgl_buffer##number
+
+#define GLvoidP_str     "O!"
+#define GLvoidP_var(number) (bgl_buffer##number)->buf.asvoid
+#define GLvoidP_ref(number) &BGL_bufferType, &bgl_buffer##number
+#define GLvoidP_def(number) Buffer *bgl_buffer##number
+
+#define GLsizeiP_str     "O!"
+#define GLsizeiP_var(number) (bgl_buffer##number)->buf.asvoid
+#define GLsizeiP_ref(number) &BGL_bufferType, &bgl_buffer##number
+#define GLsizeiP_def(number) Buffer *bgl_buffer##number
+
+#define GLcharP_str     "O!"
+#define GLcharP_var(number) (bgl_buffer##number)->buf.asvoid
+#define GLcharP_ref(number) &BGL_bufferType, &bgl_buffer##number
+#define GLcharP_def(number) Buffer *bgl_buffer##number
+
+#if 0
+#define buffer_str      "O!"
+#define buffer_var(number)  (bgl_buffer##number)->buf.asvoid
+#define buffer_ref(number)  &BGL_bufferType, &bgl_buffer##number
+#define buffer_def(number)  Buffer *bgl_buffer##number
+#endif
+
+/*@The standard GL typedefs are used as prototypes, we can't
+ * use the GL type directly because Py_ArgParse expects normal
+ * C types.
+ *
+ * Py_ArgParse doesn't grok writing into unsigned variables,
+ * so we use signed everything (even stuff that should be unsigned.
+ */
+
+/* typedef unsigned int GLenum; */
+#define GLenum_str      "i"
+#define GLenum_var(num)   bgl_var##num
+#define GLenum_ref(num)   &bgl_var##num
+#define GLenum_def(num)   /* unsigned */ int GLenum_var(num)
+
+/* typedef unsigned int GLboolean; */
+#define GLboolean_str     "b"
+#define GLboolean_var(num)    bgl_var##num
+#define GLboolean_ref(num)    &bgl_var##num
+#define GLboolean_def(num)    /* unsigned */ char GLboolean_var(num)
+
+/* typedef unsigned int GLbitfield; */
+#define GLbitfield_str      "i"
+#define GLbitfield_var(num)   bgl_var##num
+#define GLbitfield_ref(num)   &bgl_var##num
+#define GLbitfield_def(num)   /* unsigned */ int GLbitfield_var(num)
+
+/* typedef signed char GLbyte; */
+#define GLbyte_str        "b"
+#define GLbyte_var(num)     bgl_var##num
+#define GLbyte_ref(num)     &bgl_var##num
+#define GLbyte_def(num)     signed char GLbyte_var(num)
+
+/* typedef short GLshort; */
+#define GLshort_str       "h"
+#define GLshort_var(num)    bgl_var##num
+#define GLshort_ref(num)    &bgl_var##num
+#define GLshort_def(num)    short GLshort_var(num)
+
+/* typedef int GLint; */
+#define GLint_str       "i"
+#define GLint_var(num)      bgl_var##num
+#define GLint_ref(num)      &bgl_var##num
+#define GLint_def(num)      int GLint_var(num)
+
+/* typedef int GLsizei; */
+#define GLsizei_str       "n"
+#define GLsizei_var(num)    bgl_var##num
+#define GLsizei_ref(num)    &bgl_var##num
+#define GLsizei_def(num)    size_t GLsizei_var(num)
+
+/* typedef int GLsizeiptr; */
+#if 0
+#define GLsizeiptr_str       "n"
+#define GLsizeiptr_var(num)    bgl_var##num
+#define GLsizeiptr_ref(num)    &bgl_var##num
+#define GLsizeiptr_def(num)    size_t GLsizeiptr_var(num)
+#endif
+
+/* typedef int GLintptr; */
+#if 0
+#define GLintptr_str       "n"
+#define GLintptr_var(num)    bgl_var##num
+#define GLintptr_ref(num)    &bgl_var##num
+#define GLintptr_def(num)    size_t GLintptr_var(num)
+#endif
+
+/* typedef unsigned char GLubyte; */
+#define GLubyte_str       "B"
+#define GLubyte_var(num)    bgl_var##num
+#define GLubyte_ref(num)    &bgl_var##num
+#define GLubyte_def(num)    /* unsigned */ char GLubyte_var(num)
+
+/* typedef unsigned short GLushort; */
+#define GLushort_str      "H"
+#define GLushort_var(num)   bgl_var##num
+#define GLushort_ref(num)   &bgl_var##num
+#define GLushort_def(num)   /* unsigned */ short GLushort_var(num)
+
+/* typedef unsigned int GLuint; */
+#define GLuint_str        "I"
+#define GLuint_var(num)     bgl_var##num
+#define GLuint_ref(num)     &bgl_var##num
+#define GLuint_def(num)     /* unsigned */ int GLuint_var(num)
+
+/* typedef unsigned int GLuint64; */
+#if 0
+#define GLuint64_str        "Q"
+#define GLuint64_var(num)     bgl_var##num
+#define GLuint64_ref(num)     &bgl_var##num
+#define GLuint64_def(num)     /* unsigned */ int GLuint64_var(num)
+#endif
+
+/* typedef unsigned int GLsync; */
+#if 0
+#define GLsync_str        "I"
+#define GLsync_var(num)     bgl_var##num
+#define GLsync_ref(num)     &bgl_var##num
+#define GLsync_def(num)     /* unsigned */ int GLsync_var(num)
+#endif
+
+/* typedef float GLfloat; */
+#define GLfloat_str       "f"
+#define GLfloat_var(num)    bgl_var##num
+#define GLfloat_ref(num)    &bgl_var##num
+#define GLfloat_def(num)    float GLfloat_var(num)
+
+/* typedef char *GLstring; */
+#define GLstring_str     "s"
+#define GLstring_var(number) bgl_var##number
+#define GLstring_ref(number) &bgl_var##number
+#define GLstring_def(number) char *GLstring_var(number)
+
+/* typedef float GLclampf; */
+#define GLclampf_str      "f"
+#define GLclampf_var(num)   bgl_var##num
+#define GLclampf_ref(num)   &bgl_var##num
+#define GLclampf_def(num)   float GLclampf_var(num)
+
+/* typedef double GLdouble; */
+#define GLdouble_str      "d"
+#define GLdouble_var(num)   bgl_var##num
+#define GLdouble_ref(num)   &bgl_var##num
+#define GLdouble_def(num)   double GLdouble_var(num)
+
+/* typedef double GLclampd; */
+#define GLclampd_str      "d"
+#define GLclampd_var(num)   bgl_var##num
+#define GLclampd_ref(num)   &bgl_var##num
+#define GLclampd_def(num)   double GLclampd_var(num)
+
+#define _arg_def1(a1) \
+                   a1##_def(1)
+#define _arg_def2(a1, a2) \
+        _arg_def1(a1); a2##_def(2)
+#define _arg_def3(a1, a2, a3) \
+        _arg_def2(a1, a2); a3##_def(3)
+#define _arg_def4(a1, a2, a3, a4) \
+        _arg_def3(a1, a2, a3); a4##_def(4)
+#define _arg_def5(a1, a2, a3, a4, a5) \
+        _arg_def4(a1, a2, a3, a4); a5##_def(5)
+#define _arg_def6(a1, a2, a3, a4, a5, a6) \
+        _arg_def5(a1, a2, a3, a4, a5); a6##_def(6)
+#define _arg_def7(a1, a2, a3, a4, a5, a6, a7) \
+        _arg_def6(a1, a2, a3, a4, a5, a6); a7##_def(7)
+#define _arg_def8(a1, a2, a3, a4, a5, a6, a7, a8) \
+        _arg_def7(a1, a2, a3, a4, a5, a6, a7); a

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list