[Bf-blender-cvs] [9ba3889] wiggly-widgets: Face Maps: Change widget colors, remove hardcoded colors on low-level

Julian Eisel noreply at git.blender.org
Sun Nov 15 22:29:29 CET 2015


Commit: 9ba38890f49e09f8824a5d174df7d9da45da7e70
Author: Julian Eisel
Date:   Sun Nov 15 22:11:12 2015 +0100
Branches: wiggly-widgets
https://developer.blender.org/rB9ba38890f49e09f8824a5d174df7d9da45da7e70

Face Maps: Change widget colors, remove hardcoded colors on low-level

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

M	source/blender/editors/include/ED_view3d.h
M	source/blender/editors/space_view3d/drawobject.c
M	source/blender/editors/space_view3d/view3d_widgets.c
M	source/blender/windowmanager/intern/wm_generic_widgets.c

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

diff --git a/source/blender/editors/include/ED_view3d.h b/source/blender/editors/include/ED_view3d.h
index 6b50b3a..453da49 100644
--- a/source/blender/editors/include/ED_view3d.h
+++ b/source/blender/editors/include/ED_view3d.h
@@ -325,7 +325,7 @@ int ED_view3d_scene_layer_set(int lay, const int *values, int *active);
 
 void *ED_view3d_mats_rv3d_backup(struct RegionView3D *rv3d);
 void  ED_view3d_mats_rv3d_restore(struct RegionView3D *rv3d, void *rv3dmat_pt);
-void ED_draw_object_facemap(struct Scene *scene, struct Object *ob, int facemap);
+void ED_draw_object_facemap(struct Scene *scene, struct Object *ob, float col[4], int facemap);
 
 bool ED_view3d_context_activate(struct bContext *C);
 void ED_view3d_draw_offscreen_init(struct Scene *scene, struct View3D *v3d);
diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c
index 1920840..bfb3dd7 100644
--- a/source/blender/editors/space_view3d/drawobject.c
+++ b/source/blender/editors/space_view3d/drawobject.c
@@ -8699,7 +8699,7 @@ static void draw_object_mesh_instance(Scene *scene, View3D *v3d, RegionView3D *r
 	if (dm) dm->release(dm);
 }
 
-void ED_draw_object_facemap(Scene *scene, struct Object *ob, int facemap)
+void ED_draw_object_facemap(Scene *scene, struct Object *ob, float col[4], int facemap)
 {
 	DerivedMesh *dm = NULL;
 
@@ -8719,11 +8719,11 @@ void ED_draw_object_facemap(Scene *scene, struct Object *ob, int facemap)
 	glPolygonOffset(1.0, 1.0);
 
 	dm->totfmaps = BLI_listbase_count(&ob->fmaps);
-	
+
 	GPU_facemap_setup(dm);
 
-	glColor4f(0.7, 1.0, 1.0, 0.5);
-	
+	glColor4fv(col);
+
 	glPushAttrib(GL_ENABLE_BIT);
 	glEnable(GL_BLEND);
 	glDisable(GL_LIGHTING);
diff --git a/source/blender/editors/space_view3d/view3d_widgets.c b/source/blender/editors/space_view3d/view3d_widgets.c
index e2bfefc..1ace45d 100644
--- a/source/blender/editors/space_view3d/view3d_widgets.c
+++ b/source/blender/editors/space_view3d/view3d_widgets.c
@@ -287,8 +287,8 @@ void WIDGETGROUP_armature_facemaps_create(const bContext *C, wmWidgetGroup *wgro
 	wmWidget *widget;
 	PointerRNA famapptr;
 	PropertyRNA *prop;
-
-	const float color_shape[4] = {1.0f, 0.3f, 0.0f, 1.0f};
+	const float col[4] = {0.8f, 0.8f, 0.45f, 0.2f};
+	const float col_hi[4] = {0.8f, 0.8f, 0.45f, 0.4f};
 
 
 #ifdef USE_FACEMAP_FROM_BONE
@@ -304,7 +304,7 @@ void WIDGETGROUP_armature_facemaps_create(const bContext *C, wmWidgetGroup *wgro
 
 			RNA_pointer_create(&fmap_ob->id, &RNA_FaceMap, fmap, &famapptr);
 			WM_widget_set_operator(widget, "TRANSFORM_OT_translate");
-			WM_widget_set_colors(widget, color_shape, color_shape);
+			WM_widget_set_colors(widget, col, col_hi);
 			WM_widget_set_flag(widget, WM_WIDGET_DRAW_HOVER, true);
 			WM_widget_set_func_select(widget, WIDGET_armature_facemaps_select);
 			opptr = WM_widget_set_operator(widget, "TRANSFORM_OT_translate");
diff --git a/source/blender/windowmanager/intern/wm_generic_widgets.c b/source/blender/windowmanager/intern/wm_generic_widgets.c
index b138d08..7699098 100644
--- a/source/blender/windowmanager/intern/wm_generic_widgets.c
+++ b/source/blender/windowmanager/intern/wm_generic_widgets.c
@@ -1563,11 +1563,13 @@ typedef struct FacemapWidget {
 static void widget_facemap_draw(const bContext *C, wmWidget *widget)
 {
 	FacemapWidget *fmap_widget = (FacemapWidget *)widget;
+	float *col = (widget->flag & WM_WIDGET_SELECTED) ? widget->col_hi : widget->col;
+
 	glPushMatrix();
 	glMultMatrixf(fmap_widget->ob->obmat);
 	glTranslate3fv(widget->offset);
 	glEnable(GL_MULTISAMPLE_ARB);
-	ED_draw_object_facemap(CTX_data_scene(C), fmap_widget->ob, fmap_widget->facemap);
+	ED_draw_object_facemap(CTX_data_scene(C), fmap_widget->ob, col, fmap_widget->facemap);
 	glDisable(GL_MULTISAMPLE_ARB);
 	glPopMatrix();
 }




More information about the Bf-blender-cvs mailing list