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
path: root/source
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2019-01-11 06:22:40 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-01-11 07:02:52 +0300
commit932701379692866394e196acd12a7157b5beba0d (patch)
tree82a5b787989ebeb116b7dd9ee354bc60b6557e39 /source
parentee6e02ccf38dd88204fed0adc573466a77924321 (diff)
3D View: use faded wire for set-scene objects
Matches 2.7x behavior.
Diffstat (limited to 'source')
-rw-r--r--source/blender/draw/intern/draw_common.c5
-rw-r--r--source/blender/draw/modes/object_mode.c10
-rw-r--r--source/blender/draw/modes/overlay_mode.c6
3 files changed, 17 insertions, 4 deletions
diff --git a/source/blender/draw/intern/draw_common.c b/source/blender/draw/intern/draw_common.c
index 113149b0e60..ce7667f3ef0 100644
--- a/source/blender/draw/intern/draw_common.c
+++ b/source/blender/draw/intern/draw_common.c
@@ -905,7 +905,10 @@ int DRW_object_wire_theme_get(Object *ob, ViewLayer *view_layer, float **r_color
}
if (r_color != NULL) {
- if (UNLIKELY(ob->base_flag & BASE_FROMDUPLI)) {
+ if (UNLIKELY(ob->base_flag & BASE_FROM_SET)) {
+ *r_color = ts.colorDupli;
+ }
+ else if (UNLIKELY(ob->base_flag & BASE_FROMDUPLI)) {
switch (theme_id) {
case TH_ACTIVE:
case TH_SELECT: *r_color = ts.colorDupliSelect; break;
diff --git a/source/blender/draw/modes/object_mode.c b/source/blender/draw/modes/object_mode.c
index fef34300a76..69de0d72fb9 100644
--- a/source/blender/draw/modes/object_mode.c
+++ b/source/blender/draw/modes/object_mode.c
@@ -828,7 +828,10 @@ static DRWShadingGroup *shgroup_theme_id_to_outline_or_null(
static DRWShadingGroup *shgroup_theme_id_to_wire(
OBJECT_ShadingGroupList *sgl, int theme_id, const short base_flag)
{
- if (UNLIKELY(base_flag & BASE_FROMDUPLI)) {
+ if (UNLIKELY(base_flag & BASE_FROM_SET)) {
+ return sgl->wire_dupli;
+ }
+ else if (UNLIKELY(base_flag & BASE_FROMDUPLI)) {
switch (theme_id) {
case TH_ACTIVE:
case TH_SELECT:
@@ -855,7 +858,10 @@ static DRWShadingGroup *shgroup_theme_id_to_wire(
static DRWShadingGroup *shgroup_theme_id_to_point(
OBJECT_ShadingGroupList *sgl, int theme_id, const short base_flag)
{
- if (UNLIKELY(base_flag & BASE_FROMDUPLI)) {
+ if (UNLIKELY(base_flag & BASE_FROM_SET)) {
+ return sgl->points_dupli;
+ }
+ else if (UNLIKELY(base_flag & BASE_FROMDUPLI)) {
switch (theme_id) {
case TH_ACTIVE:
case TH_SELECT:
diff --git a/source/blender/draw/modes/overlay_mode.c b/source/blender/draw/modes/overlay_mode.c
index 0c3497121c2..dd8f580a8c3 100644
--- a/source/blender/draw/modes/overlay_mode.c
+++ b/source/blender/draw/modes/overlay_mode.c
@@ -248,7 +248,11 @@ static void overlay_cache_populate(void *vedata, Object *ob)
const float *rim_col = NULL;
const float *wire_col = NULL;
- if (UNLIKELY(ob->base_flag & BASE_FROMDUPLI)) {
+ if (UNLIKELY(ob->base_flag & BASE_FROM_SET)) {
+ rim_col = ts.colorDupli;
+ wire_col = ts.colorDupli;
+ }
+ else if (UNLIKELY(ob->base_flag & BASE_FROMDUPLI)) {
if (ob->base_flag & BASE_SELECTED) {
if (G.moving & G_TRANSFORM_OBJ) {
rim_col = ts.colorTransform;