- added Font object to have outlines on Solid draw + selection

- Font object didn't support draw xtra wire yet
- removed drawing the circles from MBall object, except in editmode
- little cleanup in draw_object() call, it had a weird exception for
  mball drawing
This commit is contained in:
Ton Roosendaal 2004-06-19 09:35:23 +00:00
parent a31dec3712
commit 8617ce5141

@ -3100,11 +3100,6 @@ static void drawmball(Object *ob, int dt)
BIF_ThemeColor(TH_WIRE);
if((G.f & G_PICKSEL)==0 ) drawDispList(ob, dt);
ml= editelems.first;
}
else {
drawDispList(ob, dt);
ml= mb->elems.first;
}
mygetmatrix(tmat);
Mat4Invert(imat, tmat);
@ -3126,7 +3121,10 @@ static void drawmball(Object *ob, int dt)
ml= ml->next;
}
}
else {
drawDispList(ob, dt);
}
}
static void draw_bb_box(BoundBox *bb)
@ -3367,6 +3365,7 @@ static void draw_solid_select(Object *ob)
case OB_MESH:
drawSolidSelect(ob, NULL);
break;
case OB_FONT:
case OB_CURVE:
case OB_SURF:
cu= ob->data;
@ -3419,6 +3418,7 @@ static void draw_extra_wire(Object *ob)
case OB_MESH:
drawWireExtra(ob, NULL);
break;
case OB_FONT:
case OB_CURVE:
case OB_SURF:
cu= ob->data;
@ -3602,16 +3602,6 @@ void draw_object(Base *base)
}
}
if( (G.f & G_DRAW_EXT) && dt>OB_WIRE) {
switch( ob->type) {
case OB_MBALL:
drawmball(ob, dt);
break;
}
}
else {
/* draw outline for selected solid objects */
if(dt>OB_WIRE && ob!=G.obedit && (G.f & G_BACKBUFSEL)==0) draw_solid_select(ob);
@ -3622,7 +3612,6 @@ void draw_object(Base *base)
#if 0
/* this is a source of great slowness */
#ifdef __NLA
/* Force a refresh of the display list if the parent is an armature */
if (ob->parent && ob->parent->type==OB_ARMATURE && ob->partype==PARSKEL){
#if 0 /* Turn this on if there are problems with deformation lag */
@ -3631,7 +3620,6 @@ void draw_object(Base *base)
if (ob != G.obedit)
makeDispList (ob);
}
#endif
#endif
if(base->flag & OB_RADIO);
else if(ob==G.obedit || (G.obedit && ob->data==G.obedit->data)) {
@ -3725,7 +3713,7 @@ void draw_object(Base *base)
default:
drawaxes(1.0);
}
}
/* draw extra: after normal draw because of makeDispList */
if(dtx) {