fix [#34825] Transparent background of Empty Images clips objects behind them away when Empty is not selected

allow 'Transparency' option to be used on empty-images.
This commit is contained in:
Campbell Barton
2013-04-03 05:16:15 +00:00
parent 6ee5b2d40c
commit fc3c13c309
2 changed files with 27 additions and 15 deletions

View File

@@ -204,36 +204,40 @@ class OBJECT_PT_display(ObjectButtonsPanel, Panel):
def draw(self, context): def draw(self, context):
layout = self.layout layout = self.layout
ob = context.object obj = context.object
split = layout.split() split = layout.split()
col = split.column() col = split.column()
col.prop(ob, "draw_type", text="Type") col.prop(obj, "draw_type", text="Type")
col = split.column() col = split.column()
row = col.row() row = col.row()
row.prop(ob, "show_bounds", text="Bounds") row.prop(obj, "show_bounds", text="Bounds")
sub = row.row() sub = row.row()
sub.active = ob.show_bounds sub.active = obj.show_bounds
sub.prop(ob, "draw_bounds_type", text="") sub.prop(obj, "draw_bounds_type", text="")
split = layout.split() split = layout.split()
col = split.column() col = split.column()
col.prop(ob, "show_name", text="Name") col.prop(obj, "show_name", text="Name")
col.prop(ob, "show_axis", text="Axis") col.prop(obj, "show_axis", text="Axis")
if ob.type in {'MESH', 'CURVE', 'SURFACE', 'META', 'FONT'}:
obj_type = obj.type
if obj_type in {'MESH', 'CURVE', 'SURFACE', 'META', 'FONT'}:
# Makes no sense for cameras, armtures, etc.! # Makes no sense for cameras, armtures, etc.!
col.prop(ob, "show_wire", text="Wire") col.prop(obj, "show_wire", text="Wire")
# Only useful with object having faces/materials... # Only useful with object having faces/materials...
col.prop(ob, "color", text="Object Color") col.prop(obj, "color", text="Object Color")
col = split.column() col = split.column()
col.prop(ob, "show_texture_space", text="Texture Space") col.prop(obj, "show_texture_space", text="Texture Space")
col.prop(ob, "show_x_ray", text="X-Ray") col.prop(obj, "show_x_ray", text="X-Ray")
if ob.type == 'MESH': if obj_type == 'MESH' or (obj_type == 'EMPTY' and obj.empty_draw_type == 'IMAGE'):
col.prop(ob, "show_transparent", text="Transparency") col.prop(obj, "show_transparent", text="Transparency")
col.prop(ob, "show_all_edges") if obj_type == 'MESH':
col.prop(obj, "show_all_edges")
class OBJECT_PT_duplication(ObjectButtonsPanel, Panel): class OBJECT_PT_duplication(ObjectButtonsPanel, Panel):

View File

@@ -6363,6 +6363,14 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, const short
ED_view3d_after_add(&v3d->afterdraw_xray, base, dflag); ED_view3d_after_add(&v3d->afterdraw_xray, base, dflag);
return; return;
} }
/* allow transp option for empty images */
if (ob->type == OB_EMPTY && ob->empty_drawtype == OB_EMPTY_IMAGE) {
if (!v3d->xray && !v3d->transp && !(ob->dtx & OB_DRAWXRAY) && (ob->dtx & OB_DRAWTRANSP)) {
ED_view3d_after_add(&v3d->afterdraw_transp, base, dflag);
return;
}
}
} }
} }