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:
authorCampbell Barton <ideasman42@gmail.com>2007-09-15 22:12:16 +0400
committerCampbell Barton <ideasman42@gmail.com>2007-09-15 22:12:16 +0400
commit3a90f211d2cff5aa93bf0d52688685f9b7e92299 (patch)
treea873505ddc9cdd3891812c3f17b30147ab5f8f11 /source/blender/src
parentb2a8199d4ba545631a992af6a540dc2f2da186eb (diff)
new view option, SolidTex, to draw textures in solid mode.
In the view panel as well as the shortcut Shift+T this works in editmode as well as object mode giving results like this http://members.optusnet.com.au/cjbarton/temp1.jpg where before you could only see textures in textured draw type like this http://members.optusnet.com.au/cjbarton/temp2.jpg
Diffstat (limited to 'source/blender/src')
-rw-r--r--source/blender/src/buttons_object.c1
-rw-r--r--source/blender/src/drawmesh.c2
-rw-r--r--source/blender/src/drawobject.c13
-rw-r--r--source/blender/src/drawview.c1
-rw-r--r--source/blender/src/header_image.c2
-rw-r--r--source/blender/src/space.c5
6 files changed, 15 insertions, 9 deletions
diff --git a/source/blender/src/buttons_object.c b/source/blender/src/buttons_object.c
index 14f7e0c3f97..a998c568619 100644
--- a/source/blender/src/buttons_object.c
+++ b/source/blender/src/buttons_object.c
@@ -2424,7 +2424,6 @@ static void object_panel_draw(Object *ob)
uiDefButBitC(block, TOG, OB_DRAWTRANSP, REDRAWVIEW3D, "Transp", 120, 40, 90, 20, &ob->dtx, 0, 0, 0, 0, "Enables transparent materials for the active object (Mesh only)");
uiDefButBitC(block, TOG, OB_DRAWXRAY, REDRAWVIEW3D, "X-ray", 210, 40, 90, 20, &ob->dtx, 0, 0, 0, 0, "Makes the active object draw in front of others");
-
}
void object_panel_constraint(char *context)
diff --git a/source/blender/src/drawmesh.c b/source/blender/src/drawmesh.c
index 99d35f834dc..f974e85293a 100644
--- a/source/blender/src/drawmesh.c
+++ b/source/blender/src/drawmesh.c
@@ -1201,7 +1201,7 @@ void draw_mesh_textured(Object *ob, DerivedMesh *dm, int faceselect)
#endif
/* draw game engine text hack - but not if we are editing the mesh */
- if (get_property(ob, "Text") && me->mtface) {
+ if (me->mtface && get_property(ob, "Text")) {
if(ob==G.obedit)
editing= 1;
else if(ob==OBACT)
diff --git a/source/blender/src/drawobject.c b/source/blender/src/drawobject.c
index 23c7506dcb1..b61505901c8 100644
--- a/source/blender/src/drawobject.c
+++ b/source/blender/src/drawobject.c
@@ -1947,9 +1947,9 @@ static void draw_em_fancy(Object *ob, EditMesh *em, DerivedMesh *cageDM, Derived
EM_init_index_arrays(1, 1, 1);
if(dt>OB_WIRE) {
- if(G.vd->drawtype==OB_TEXTURE && dt>OB_SOLID) {
- draw_mesh_textured(ob, finalDM, 0);
- } else if(G.vd->drawtype==OB_SHADED && dt>OB_SOLID) {
+ if( (G.vd->drawtype==OB_TEXTURE && dt>OB_SOLID) ||
+ (G.vd->drawtype==OB_SOLID && G.vd->flag2 & V3D_SOLID_TEX)
+ ) {
draw_mesh_textured(ob, finalDM, 0);
} else {
glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, me->flag & ME_TWOSIDED);
@@ -2257,7 +2257,10 @@ static void draw_mesh_fancy(Base *base, int dt, int flag)
else if(dt==OB_WIRE || totface==0) {
draw_wire = 1;
}
- else if( (ob==OBACT && (G.f & G_TEXTUREPAINT || FACESEL_PAINT_TEST)) || (G.vd->drawtype==OB_TEXTURE && dt>OB_SOLID)) {
+ else if( (ob==OBACT && (G.f & G_TEXTUREPAINT || FACESEL_PAINT_TEST)) ||
+ (G.vd->drawtype==OB_TEXTURE && dt>OB_SOLID) ||
+ (G.vd->drawtype==OB_SOLID && G.vd->flag2 & V3D_SOLID_TEX))
+ {
int faceselect= (ob==OBACT && FACESEL_PAINT_TEST);
if ((G.vd->flag&V3D_SELECT_OUTLINE) && (base->flag&SELECT) && !(G.f&G_PICKSEL || FACESEL_PAINT_TEST) && !draw_wire) {
@@ -4239,7 +4242,7 @@ void draw_object(Base *base, int flag)
BMF_DrawString(G.font, ob->id.name+2);
}
}
- if(dtx & OB_DRAWIMAGE) drawDispListwire(&ob->disp);
+ /*if(dtx & OB_DRAWIMAGE) drawDispListwire(&ob->disp);*/
if((dtx & OB_DRAWWIRE) && dt>=OB_SOLID) drawWireExtra(ob);
}
diff --git a/source/blender/src/drawview.c b/source/blender/src/drawview.c
index efef8dbcac8..de4a81abb95 100644
--- a/source/blender/src/drawview.c
+++ b/source/blender/src/drawview.c
@@ -2474,6 +2474,7 @@ static void view3d_panel_properties(short cntrl) // VIEW3D_HANDLER_SETTINGS
uiDefButBitS(block, TOG, V3D_SELECT_OUTLINE, REDRAWVIEW3D, "Outline Selected", 10, 30, 140, 19, &vd->flag, 0, 0, 0, 0, "Highlight selected objects with an outline, in Solid, Shaded or Textured viewport shading modes");
uiDefButBitS(block, TOG, V3D_DRAW_CENTERS, REDRAWVIEW3D, "All Object Centers", 10, 10, 140, 19, &vd->flag, 0, 0, 0, 0, "Draw the center points on all objects");
uiDefButBitS(block, TOGN, V3D_HIDE_HELPLINES, REDRAWVIEW3D, "Relationship Lines", 10, -10, 140, 19, &vd->flag, 0, 0, 0, 0, "Draw dashed lines indicating Parent, Constraint, or Hook relationships");
+ uiDefButBitS(block, TOG, V3D_SOLID_TEX, REDRAWVIEW3D, "Solid Tex", 10, -30, 140, 19, &vd->flag2, 0, 0, 0, 0, "Display textures in Solid draw type (Shift T)");
uiBlockEndAlign(block);
uiDefBut(block, LABEL, 1, "View Locking:", 160, 50, 150, 19, NULL, 0.0, 0.0, 0, 0, "");
diff --git a/source/blender/src/header_image.c b/source/blender/src/header_image.c
index 129759138a5..9b20e77dd1a 100644
--- a/source/blender/src/header_image.c
+++ b/source/blender/src/header_image.c
@@ -1240,7 +1240,7 @@ void image_buttons(void)
/* draw LOCK */
uiDefIconButS(block, ICONTOG, 0, ICON_UNLOCKED, xco,0,XIC,YIC, &(G.sima->lock), 0, 0, 0, 0, "Updates other affected window spaces automatically to reflect changes in real time");
-
+
/* Always do this last */
curarea->headbutlen= xco+2*XIC;
diff --git a/source/blender/src/space.c b/source/blender/src/space.c
index 8997081919f..0bdd54615fb 100644
--- a/source/blender/src/space.c
+++ b/source/blender/src/space.c
@@ -2327,7 +2327,10 @@ static void winqreadview3dspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
}
break;
case TKEY:
- if(G.obedit){
+ if(G.qual == LR_SHIFTKEY) { /* toggle texture in solid draw mode */
+ G.vd->flag2 ^= V3D_SOLID_TEX;
+ allqueue(REDRAWVIEW3D, 0);
+ } else if(G.obedit){
if((G.qual & LR_CTRLKEY) && G.obedit->type==OB_MESH) {
convert_to_triface(G.qual & LR_SHIFTKEY);
allqueue(REDRAWVIEW3D, 0);