Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Bishop <nicholasbishop@gmail.com>2009-08-16 00:36:15 +0400
committerNicholas Bishop <nicholasbishop@gmail.com>2009-08-16 00:36:15 +0400
commite182d653709a9abd664deaa874f0727ebba83832 (patch)
treea91df79e87cc7d7d919a7f4bc8d0e4fc6d78c24d /source/blender/editors/sculpt_paint
parent2b3d2b72ea157a218e1a6e49759e64de77f99850 (diff)
2.5/Vertex paint:
* Made vertex paint local to object, like sculpt mode. * New test for vertex paint is (ob->mode & OB_MODE_VERTEX_PAINT)
Diffstat (limited to 'source/blender/editors/sculpt_paint')
-rw-r--r--source/blender/editors/sculpt_paint/paint_vertex.c22
1 files changed, 12 insertions, 10 deletions
diff --git a/source/blender/editors/sculpt_paint/paint_vertex.c b/source/blender/editors/sculpt_paint/paint_vertex.c
index 812c41f430e..b8ee2710152 100644
--- a/source/blender/editors/sculpt_paint/paint_vertex.c
+++ b/source/blender/editors/sculpt_paint/paint_vertex.c
@@ -108,7 +108,9 @@ static void error() {}
static int vp_poll(bContext *C)
{
- if(G.f & G_VERTEXPAINT) {
+ Object *ob = CTX_data_active_object(C);
+
+ if(ob && ob->mode & OB_MODE_VERTEX_PAINT) {
ScrArea *sa= CTX_wm_area(C);
if(sa->spacetype==SPACE_VIEW3D) {
ARegion *ar= CTX_wm_region(C);
@@ -369,12 +371,12 @@ void clear_vpaint(Scene *scene)
unsigned int *to, paintcol;
int a;
- if((G.f & G_VERTEXPAINT)==0) return;
-
ob= OBACT;
me= get_mesh(ob);
if(!ob || ob->id.lib) return;
+ if(!(ob->mode & OB_MODE_VERTEX_PAINT)) return;
+
if(me==0 || me->mcol==0 || me->totface==0) return;
paintcol= vpaint_get_current_col(scene->toolsettings->vpaint);
@@ -540,10 +542,10 @@ void vpaint_dogamma(Scene *scene)
int a, temp;
unsigned char *cp, gamtab[256];
- if((G.f & G_VERTEXPAINT)==0) return;
-
ob= OBACT;
me= get_mesh(ob);
+
+ if(!(ob->mode & OB_MODE_VERTEX_PAINT)) return;
if(me==0 || me->mcol==0 || me->totface==0) return;
igam= 1.0/vp->gamma;
@@ -1584,22 +1586,22 @@ static int set_vpaint(bContext *C, wmOperator *op) /* toggle */
me= get_mesh(ob);
if(me==NULL || object_data_is_libdata(ob)) {
- G.f &= ~G_VERTEXPAINT;
+ ob->mode &= ~OB_MODE_VERTEX_PAINT;
return OPERATOR_PASS_THROUGH;
}
if(me && me->totface>=MAXINDEX) {
error("Maximum number of faces: %d", MAXINDEX-1);
- G.f &= ~G_VERTEXPAINT;
+ ob->mode &= ~OB_MODE_VERTEX_PAINT;
return OPERATOR_FINISHED;
}
if(me && me->mcol==NULL) make_vertexcol(scene, 0);
/* toggle: end vpaint */
- if(G.f & G_VERTEXPAINT) {
+ if(ob->mode & OB_MODE_VERTEX_PAINT) {
- G.f &= ~G_VERTEXPAINT;
+ ob->mode &= ~OB_MODE_VERTEX_PAINT;
if(vp) {
toggle_paint_cursor(C, 0);
@@ -1608,7 +1610,7 @@ static int set_vpaint(bContext *C, wmOperator *op) /* toggle */
}
else {
- G.f |= G_VERTEXPAINT;
+ ob->mode |= OB_MODE_VERTEX_PAINT;
/* Turn off weight painting */
if (G.f & G_WEIGHTPAINT)
set_wpaint(C, op);