[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [44695] trunk/blender/source/blender: Code cleanup: use typedefs for DerivedMesh drawing callbacks.
Nicholas Bishop
nicholasbishop at gmail.com
Wed Mar 7 05:41:21 CET 2012
Revision: 44695
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=44695
Author: nicholasbishop
Date: 2012-03-07 04:41:14 +0000 (Wed, 07 Mar 2012)
Log Message:
-----------
Code cleanup: use typedefs for DerivedMesh drawing callbacks.
There are still fairly bewildering set of callbacks being tossed
around, but it's at least a little less verbose now.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/BKE_DerivedMesh.h
trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c
trunk/blender/source/blender/blenkernel/intern/editderivedmesh.c
trunk/blender/source/blender/blenkernel/intern/subsurf_ccg.c
trunk/blender/source/blender/blenlib/intern/pbvh.c
trunk/blender/source/blender/gpu/GPU_buffers.h
trunk/blender/source/blender/gpu/intern/gpu_buffers.c
Modified: trunk/blender/source/blender/blenkernel/BKE_DerivedMesh.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_DerivedMesh.h 2012-03-07 04:20:30 UTC (rev 44694)
+++ trunk/blender/source/blender/blenkernel/BKE_DerivedMesh.h 2012-03-07 04:41:14 UTC (rev 44695)
@@ -124,6 +124,14 @@
DM_TYPE_CCGDM
} DerivedMeshType;
+/* Drawing callback types */
+typedef int (*DMSetMaterial)(int mat_nr, void *attribs);
+typedef int (*DMCompareDrawOptions)(void *userData, int cur_index, int next_index);
+typedef void (*DMSetDrawInterpOptions)(void *userData, int index, float t);
+typedef int (*DMSetDrawOptions)(void *userData, int index);
+typedef int (*DMSetDrawOptionsTex)(struct MTFace *tface, int has_vcol, int matnr);
+typedef int (*DMSetDrawOptionsShading)(void *userData, int index, int *drawSmooth_r);
+
typedef struct DerivedMesh DerivedMesh;
struct DerivedMesh {
/* Private DerivedMesh data, only for internal DerivedMesh use */
@@ -308,25 +316,21 @@
* Also called for *final* editmode DerivedMeshes
*/
void (*drawFacesSolid)(DerivedMesh *dm, float (*partial_redraw_planes)[4],
- int fast, int (*setMaterial)(int, void *attribs));
+ int fast, DMSetMaterial setMaterial);
/* Draw all faces using MTFace
* o Drawing options too complicated to enumerate, look at code.
*/
void (*drawFacesTex)(DerivedMesh *dm,
- int (*setDrawOptions)(struct MTFace *tface,
- int has_vcol, int matnr),
- int (*compareDrawOptions)(void *userData,
- int cur_index,
- int next_index),
- void *userData);
+ DMSetDrawOptionsTex setDrawOptions,
+ DMCompareDrawOptions compareDrawOptions,
+ void *userData);
/* Draw all faces with GLSL materials
* o setMaterial is called for every different material nr
* o Only if setMaterial returns true
*/
- void (*drawFacesGLSL)(DerivedMesh *dm,
- int (*setMaterial)(int, void *attribs));
+ void (*drawFacesGLSL)(DerivedMesh *dm, DMSetMaterial setMaterial);
/* Draw mapped faces (no color, or texture)
* o Only if !setDrawOptions or
@@ -342,23 +346,17 @@
* smooth shaded.
*/
void (*drawMappedFaces)(DerivedMesh *dm,
- int (*setDrawOptions)(void *userData, int index,
- int *drawSmooth_r),
- int (*setMaterial)(int, void *attribs),
- int (*compareDrawOptions)(void *userData,
- int cur_index,
- int next_index),
+ DMSetDrawOptionsShading setDrawOptions,
+ DMSetMaterial setMaterial,
+ DMCompareDrawOptions compareDrawOptions,
void *userData, int useColors);
/* Draw mapped faces using MTFace
* o Drawing options too complicated to enumerate, look at code.
*/
void (*drawMappedFacesTex)(DerivedMesh *dm,
- int (*setDrawOptions)(void *userData,
- int index),
- int (*compareDrawOptions)(void *userData,
- int cur_index,
- int next_index),
+ DMSetDrawOptions setDrawOptions,
+ DMCompareDrawOptions compareDrawOptions,
void *userData);
/* Draw mapped faces with GLSL materials
@@ -367,8 +365,8 @@
* o Only if setMaterial and setDrawOptions return true
*/
void (*drawMappedFacesGLSL)(DerivedMesh *dm,
- int (*setMaterial)(int, void *attribs),
- int (*setDrawOptions)(void *userData, int index),
+ DMSetMaterial setMaterial,
+ DMSetDrawOptions setDrawOptions,
void *userData);
/* Draw mapped edges as lines
@@ -376,7 +374,7 @@
* returns true
*/
void (*drawMappedEdges)(DerivedMesh *dm,
- int (*setDrawOptions)(void *userData, int index),
+ DMSetDrawOptions setDrawOptions,
void *userData);
/* Draw mapped edges as lines with interpolation values
@@ -387,11 +385,8 @@
* NOTE: This routine is optional!
*/
void (*drawMappedEdgesInterp)(DerivedMesh *dm,
- int (*setDrawOptions)(void *userData,
- int index),
- void (*setDrawInterpOptions)(void *userData,
- int index,
- float t),
+ DMSetDrawOptions setDrawOptions,
+ DMSetDrawInterpOptions setDrawInterpOptions,
void *userData);
/* Draw all faces with materials
Modified: trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c 2012-03-07 04:20:30 UTC (rev 44694)
+++ trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c 2012-03-07 04:41:14 UTC (rev 44695)
@@ -505,7 +505,7 @@
static void cdDM_drawFacesSolid(DerivedMesh *dm,
float (*partial_redraw_planes)[4],
- int UNUSED(fast), int (*setMaterial)(int, void *attribs))
+ int UNUSED(fast), DMSetMaterial setMaterial)
{
CDDerivedMesh *cddm = (CDDerivedMesh*) dm;
MVert *mvert = cddm->mvert;
@@ -600,9 +600,9 @@
}
static void cdDM_drawFacesTex_common(DerivedMesh *dm,
- int (*drawParams)(MTFace *tface, int has_mcol, int matnr),
- int (*drawParamsMapped)(void *userData, int index),
- int (*compareDrawOptions)(void *userData, int cur_index, int next_index),
+ DMSetDrawOptionsTex drawParams,
+ DMSetDrawOptions drawParamsMapped,
+ DMCompareDrawOptions compareDrawOptions,
void *userData)
{
CDDerivedMesh *cddm = (CDDerivedMesh*) dm;
@@ -788,17 +788,17 @@
}
static void cdDM_drawFacesTex(DerivedMesh *dm,
- int (*setDrawOptions)(MTFace *tface, int has_mcol, int matnr),
- int (*compareDrawOptions)(void *userData, int cur_index, int next_index),
+ DMSetDrawOptionsTex setDrawOptions,
+ DMCompareDrawOptions compareDrawOptions,
void *userData)
{
cdDM_drawFacesTex_common(dm, setDrawOptions, NULL, compareDrawOptions, userData);
}
static void cdDM_drawMappedFaces(DerivedMesh *dm,
- int (*setDrawOptions)(void *userData, int index, int *drawSmooth_r),
- int (*setMaterial)(int, void *attribs),
- int (*compareDrawOptions)(void *userData, int cur_index, int next_index),
+ DMSetDrawOptionsShading setDrawOptions,
+ DMSetMaterial setMaterial,
+ DMCompareDrawOptions compareDrawOptions,
void *userData, int useColors)
{
CDDerivedMesh *cddm = (CDDerivedMesh*) dm;
@@ -961,8 +961,8 @@
}
static void cdDM_drawMappedFacesTex(DerivedMesh *dm,
- int (*setDrawOptions)(void *userData, int index),
- int (*compareDrawOptions)(void *userData, int cur_index, int next_index),
+ DMSetDrawOptions setDrawOptions,
+ DMCompareDrawOptions compareDrawOptions,
void *userData)
{
cdDM_drawFacesTex_common(dm, NULL, setDrawOptions, compareDrawOptions, userData);
@@ -1013,8 +1013,8 @@
}
static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm,
- int (*setMaterial)(int, void *attribs),
- int (*setDrawOptions)(void *userData, int index),
+ DMSetMaterial setMaterial,
+ DMSetDrawOptions setDrawOptions,
void *userData)
{
CDDerivedMesh *cddm = (CDDerivedMesh*) dm;
@@ -1302,7 +1302,7 @@
glShadeModel(GL_FLAT);
}
-static void cdDM_drawFacesGLSL(DerivedMesh *dm,int (*setMaterial)(int, void *attribs))
+static void cdDM_drawFacesGLSL(DerivedMesh *dm, DMSetMaterial setMaterial)
{
dm->drawMappedFacesGLSL(dm, setMaterial, NULL, NULL);
}
@@ -1386,7 +1386,7 @@
glShadeModel(GL_FLAT);
}
-static void cdDM_drawMappedEdges(DerivedMesh *dm, int (*setDrawOptions)(void *userData, int index), void *userData)
+static void cdDM_drawMappedEdges(DerivedMesh *dm, DMSetDrawOptions setDrawOptions, void *userData)
{
CDDerivedMesh *cddm = (CDDerivedMesh*) dm;
MVert *vert = cddm->mvert;
Modified: trunk/blender/source/blender/blenkernel/intern/editderivedmesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/editderivedmesh.c 2012-03-07 04:20:30 UTC (rev 44694)
+++ trunk/blender/source/blender/blenkernel/intern/editderivedmesh.c 2012-03-07 04:41:14 UTC (rev 44695)
@@ -399,7 +399,7 @@
static void emDM_drawMappedEdges(
DerivedMesh *dm,
- int (*setDrawOptions)(void *userData, int index),
+ DMSetDrawOptions setDrawOptions,
void *userData)
{
EditDerivedBMesh *bmdm= (EditDerivedBMesh*) dm;
@@ -443,8 +443,8 @@
static void emDM_drawMappedEdgesInterp(
DerivedMesh *dm,
- int (*setDrawOptions)(void *userData, int index),
- void (*setDrawInterpOptions)(void *userData, int index, float t),
+ DMSetDrawOptions setDrawOptions,
+ DMSetDrawInterpOptions setDrawInterpOptions,
void *userData)
{
EditDerivedBMesh *bmdm= (EditDerivedBMesh*) dm;
@@ -579,9 +579,9 @@
static void emDM_drawMappedFaces(
DerivedMesh *dm,
- int (*setDrawOptions)(void *userData, int index, int *drawSmooth_r),
- int (*setMaterial)(int, void *attribs),
- int (*compareDrawOptions)(void *userData, int cur_index, int next_index),
+ DMSetDrawOptionsShading setDrawOptions,
+ DMSetMaterial setMaterial,
+ DMCompareDrawOptions compareDrawOptions,
void *userData, int UNUSED(useColors))
{
EditDerivedBMesh *bmdm= (EditDerivedBMesh*) dm;
@@ -777,9 +777,9 @@
static void emDM_drawFacesTex_common(
DerivedMesh *dm,
- int (*drawParams)(MTFace *tface, int has_vcol, int matnr),
- int (*drawParamsMapped)(void *userData, int index),
- int (*compareDrawOptions)(void *userData, int cur_index, int next_index),
+ DMSetDrawOptionsTex drawParams,
+ DMSetDrawOptions drawParamsMapped,
+ DMCompareDrawOptions compareDrawOptions,
void *userData)
{
EditDerivedBMesh *bmdm= (EditDerivedBMesh*) dm;
@@ -960,8 +960,8 @@
static void emDM_drawFacesTex(
DerivedMesh *dm,
- int (*setDrawOptions)(MTFace *tface, int has_vcol, int matnr),
- int (*compareDrawOptions)(void *userData, int cur_index, int next_index),
+ DMSetDrawOptionsTex setDrawOptions,
+ DMCompareDrawOptions compareDrawOptions,
void *userData)
{
emDM_drawFacesTex_common(dm, setDrawOptions, NULL, compareDrawOptions, userData);
@@ -969,8 +969,8 @@
static void emDM_drawMappedFacesTex(
DerivedMesh *dm,
- int (*setDrawOptions)(void *userData, int index),
- int (*compareDrawOptions)(void *userData, int cur_index, int next_index),
+ DMSetDrawOptions setDrawOptions,
+ DMCompareDrawOptions compareDrawOptions,
void *userData)
{
emDM_drawFacesTex_common(dm, NULL, setDrawOptions, compareDrawOptions, userData);
@@ -978,8 +978,8 @@
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list