Revision: 14414
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14414
Author:   campbellbarton
Date:     2008-04-13 21:42:39 +0200 (Sun, 13 Apr 2008)

Log Message:
-----------
UV Editing
* Changed default UV wire drawing do be a grey line with a black outline, 
highlighting aroudn selected points.
* Moved some draw options out of the View menu into the View panel.
* Changed header buttons to make Vert/Face modes less confusing.

Modified Paths:
--------------
    trunk/blender/source/blender/makesdna/DNA_space_types.h
    trunk/blender/source/blender/src/buttons_editing.c
    trunk/blender/source/blender/src/drawimage.c
    trunk/blender/source/blender/src/editsima.c
    trunk/blender/source/blender/src/header_image.c
    trunk/blender/source/blender/src/space.c

Modified: trunk/blender/source/blender/makesdna/DNA_space_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_space_types.h     2008-04-13 
18:50:16 UTC (rev 14413)
+++ trunk/blender/source/blender/makesdna/DNA_space_types.h     2008-04-13 
19:42:39 UTC (rev 14414)
@@ -483,10 +483,10 @@
 #define SI_SHOW                        1
 
 /* SpaceImage->dt_uv */
-#define SI_UVDT_DASH   0
-#define SI_UVDT_BLACK  1
-#define SI_UVDT_WHITE  2
-#define SI_UVDT_OUTLINE        3
+#define SI_UVDT_OUTLINE        0
+#define SI_UVDT_DASH   1
+#define SI_UVDT_BLACK  2
+#define SI_UVDT_WHITE  3
 
 /* SpaceImage->dt_uvstretch */
 #define SI_UVDT_STRETCH_ANGLE  0

Modified: trunk/blender/source/blender/src/buttons_editing.c
===================================================================
--- trunk/blender/source/blender/src/buttons_editing.c  2008-04-13 18:50:16 UTC 
(rev 14413)
+++ trunk/blender/source/blender/src/buttons_editing.c  2008-04-13 19:42:39 UTC 
(rev 14414)
@@ -5048,7 +5048,7 @@
        
        uiBlockBeginAlign(block);
        uiDefButBitI(block, TOG, G_DRAWFACES, REDRAWVIEW3D_IMAGE, "Draw Faces", 
        955,88,150,19, &G.f, 0, 0, 0, 0, "Displays all faces as shades in the 
3d view and UV editor");
-       uiDefButBitI(block, TOG, G_DRAWEDGES, REDRAWVIEW3D, "Draw Edges", 955, 
66,150,19, &G.f, 0, 0, 0, 0, "Displays selected edges using hilights");
+       uiDefButBitI(block, TOG, G_DRAWEDGES, REDRAWVIEW3D_IMAGE, "Draw Edges", 
955, 66,150,19, &G.f, 0, 0, 0, 0, "Displays selected edges using hilights in 
the 3d view and UV editor");
        uiDefButBitI(block, TOG, G_DRAWCREASES, REDRAWVIEW3D, "Draw Creases", 
955, 42,150,19, &G.f, 0, 0, 0, 0, "Displays creases created for subsurf 
weighting");
        uiDefButBitI(block, TOG, G_DRAWBWEIGHTS, REDRAWVIEW3D, "Draw Bevel 
Weights", 955, 20,150,19, &G.f, 0, 0, 0, 0, "Displays weights created for the 
Bevel modifier");
        uiDefButBitI(block, TOG, G_DRAWSEAMS, REDRAWVIEW3D, "Draw Seams", 955, 
-2,150,19, &G.f, 0, 0, 0, 0, "Displays UV unwrapping seams");

Modified: trunk/blender/source/blender/src/drawimage.c
===================================================================
--- trunk/blender/source/blender/src/drawimage.c        2008-04-13 18:50:16 UTC 
(rev 14413)
+++ trunk/blender/source/blender/src/drawimage.c        2008-04-13 19:42:39 UTC 
(rev 14414)
@@ -409,12 +409,20 @@
 // checks if we are selecting only faces
 int draw_uvs_face_check(void)
 {
-       if (G.sima==NULL)
+       if (G.sima==NULL) {
                return 0;
-       if (G.sima->flag & SI_SYNC_UVSEL && G.scene->selectmode == 
SCE_SELECT_FACE)
-               return 2;
-       if (G.sima->flag & SI_SELACTFACE)
-               return 1;
+       }
+       if (G.sima->flag & SI_SYNC_UVSEL) {
+               if (G.scene->selectmode == SCE_SELECT_FACE) {
+                       return 2;
+               } else if (G.scene->selectmode & SCE_SELECT_FACE) {
+                       return 1;
+               } 
+       } else {
+               if (G.sima->flag & SI_SELACTFACE) {
+                       return 1;
+               }
+       }
        return 0;
 }
 
@@ -464,6 +472,7 @@
        char col1[4], col2[4];
        float pointsize;
        int drawface;
+       int lastsel, sel;
        
        if (!G.obedit || !CustomData_has_layer(&em->fdata, CD_MTFACE))
                return;
@@ -887,22 +896,64 @@
                }
                
                glLineWidth(1);
-               cpack(0xA8A8A8);
-               for (efa= em->faces.first; efa; efa= efa->next) {
-//                     tface= CustomData_em_get(&em->fdata, efa->data, 
CD_MTFACE);
-//                     if (simaFaceDraw_Check(efa, tface)) {
+               col2[0] = col2[1] = col2[2] = 128; col2[3] = 255;
+               glColor4ubv(col2); 
+               
+               if (G.f & G_DRAWEDGES) {
+                       glShadeModel(GL_SMOOTH);
+                       BIF_GetThemeColor4ubv(TH_VERTEX_SELECT, col1);
+                       lastsel = sel = 0;
+
+                       for (efa= em->faces.first; efa; efa= efa->next) {
+       //                      tface= CustomData_em_get(&em->fdata, efa->data, 
CD_MTFACE);
+       //                      if (simaFaceDraw_Check(efa, tface)) {
+                               
+                               /*this is a shortcut to do the same as above 
but a faster for drawing */
+                               if ((tface=(MTFace *)efa->tmp.p)) {
+                                       
+                                       glBegin(GL_LINE_LOOP);
+                                       sel = (simaUVSel_Check(efa, tface, 0) ? 
1 : 0);
+                                       if (sel != lastsel) { glColor4ubv(sel ? 
(GLubyte *)col1 : (GLubyte *)col2); lastsel = sel; }
+                                       glVertex2fv(tface->uv[0]);
+                                       
+                                       sel = simaUVSel_Check(efa, tface, 1) ? 
1 : 0;
+                                       if (sel != lastsel) { glColor4ubv(sel ? 
(GLubyte *)col1 : (GLubyte *)col2); lastsel = sel; }
+                                       glVertex2fv(tface->uv[1]);
+                                       
+                                       sel = simaUVSel_Check(efa, tface, 2) ? 
1 : 0;
+                                       if (sel != lastsel) { glColor4ubv(sel ? 
(GLubyte *)col1 : (GLubyte *)col2); lastsel = sel; }
+                                       glVertex2fv(tface->uv[2]);
+                                       
+                                       if(efa->v4) {
+                                               sel = simaUVSel_Check(efa, 
tface, 3) ? 1 : 0;
+                                               if (sel != lastsel) { 
glColor4ubv(sel ? (GLubyte *)col1 : (GLubyte *)col2); lastsel = sel; }
+                                               glVertex2fv(tface->uv[3]);
+                                       }
+                                       
+                                       glEnd();
+                               }
+                       }
+                       glShadeModel(GL_FLAT);
+               } else { /* No nice edges */
                        
-                       /*this is a shortcut to do the same as above but a 
faster for drawing */
-                       if ((tface=(MTFace *)efa->tmp.p)) {
+                       for (efa= em->faces.first; efa; efa= efa->next) {
+       //                      tface= CustomData_em_get(&em->fdata, efa->data, 
CD_MTFACE);
+       //                      if (simaFaceDraw_Check(efa, tface)) {
                                
-                               glBegin(GL_LINE_LOOP);
+                               /*this is a shortcut to do the same as above 
but a faster for drawing */
+                               if ((tface=(MTFace *)efa->tmp.p)) {
+                                       
+                                       glBegin(GL_LINE_LOOP);
                                        glVertex2fv(tface->uv[0]);
                                        glVertex2fv(tface->uv[1]);
                                        glVertex2fv(tface->uv[2]);
-                                       if(efa->v4) glVertex2fv(tface->uv[3]);
-                               glEnd();
+                                       if(efa->v4)
+                                               glVertex2fv(tface->uv[3]);
+                                       glEnd();
+                               }
                        }
                }
+               
                break;
        }
 
@@ -1079,31 +1130,6 @@
        }
 }
 
-static void draw_image_view_icon(void)
-{
-       float xPos = 5.0;
-
-       glEnable(GL_BLEND);
-       glBlendFunc(GL_SRC_ALPHA,  GL_ONE_MINUS_SRC_ALPHA); 
-       
-       
-       if (G.sima->flag & SI_SYNC_UVSEL) {
-               /* take settings from the editmesh */
-               if (G.scene->selectmode == SCE_SELECT_FACE || G.sima->flag & 
SI_SELACTFACE) {
-                       BIF_icon_draw_aspect(xPos, 5.0, ICON_FACESEL_HLT, 1.0f);
-               }
-               
-       } else {
-               /* use the flags for UV mode - normal operation */
-               if(G.sima->flag & SI_SELACTFACE) {
-                       BIF_icon_draw_aspect(xPos, 5.0, ICON_FACESEL_HLT, 1.0f);
-               }
-       }
-       
-       glBlendFunc(GL_ONE,  GL_ZERO); 
-       glDisable(GL_BLEND);
-}
-
 static void draw_image_view_tool(void)
 {
        ToolSettings *settings= G.scene->toolsettings;
@@ -1396,19 +1422,6 @@
        }
 }
 
-//static void image_panel_transform_properties(short cntrl)    // 
IMAGE_HANDLER_TRANSFORM_PROPERTIES
-//{
-//     uiBlock *block;
-//
-//     block= uiNewBlock(&curarea->uiblocks, "image_transform_properties", 
UI_EMBOSS, UI_HELV, curarea->win);
-//     uiPanelControl(UI_PNL_SOLID | UI_PNL_CLOSE | cntrl);
-//     uiSetPanelHandler(IMAGE_HANDLER_TRANSFORM_PROPERTIES);  // for close 
and esc
-//     if(uiNewPanel(curarea, block, "Transform Properties", "Image", 10, 10, 
318, 204)==0)
-//             return;
-//     
-//     image_editvertex_buts(block);
-//}
-
 static void image_panel_view_properties(short cntrl)   // 
IMAGE_HANDLER_VIEW_PROPERTIES
 {
        uiBlock *block;
@@ -1434,22 +1447,30 @@
        
        
        if (EM_texFaceCheck()) {
-               uiDefBut(block, LABEL, B_NOP, "Draw Type:",             10, 
60,120,19, 0, 0, 0, 0, 0, "");
+               uiDefBut(block, LABEL, B_NOP, "Draw Type:",             10, 
80,120,19, 0, 0, 0, 0, 0, "");
                uiBlockBeginAlign(block);
-               uiDefButC(block,  ROW, B_REDR, "Dash",                  10, 
40,58,19, &G.sima->dt_uv, 0.0, SI_UVDT_DASH, 0, 0, "Dashed Wire UV drawtype");
-               uiDefButC(block,  ROW, B_REDR, "Black",                 68, 
40,58,19, &G.sima->dt_uv, 0.0, SI_UVDT_BLACK, 0, 0, "Black Wire UV drawtype");
-               uiDefButC(block,  ROW, B_REDR, "White",                 
126,40,58,19, &G.sima->dt_uv, 0.0, SI_UVDT_WHITE, 0, 0, "White Wire UV 
drawtype");
-               uiDefButC(block,  ROW, B_REDR, "Outline",               
184,40,58,19, &G.sima->dt_uv, 0.0, SI_UVDT_OUTLINE, 0, 0, "Outline Wire UV 
drawtype");
+               uiDefButC(block,  ROW, B_REDR, "Outline",               
10,60,58,19, &G.sima->dt_uv, 0.0, SI_UVDT_OUTLINE, 0, 0, "Outline Wire UV 
drawtype");
+               uiDefButC(block,  ROW, B_REDR, "Dash",                  68, 
60,58,19, &G.sima->dt_uv, 0.0, SI_UVDT_DASH, 0, 0, "Dashed Wire UV drawtype");
+               uiDefButC(block,  ROW, B_REDR, "Black",                 126, 
60,58,19, &G.sima->dt_uv, 0.0, SI_UVDT_BLACK, 0, 0, "Black Wire UV drawtype");
+               uiDefButC(block,  ROW, B_REDR, "White",                 
184,60,58,19, &G.sima->dt_uv, 0.0, SI_UVDT_WHITE, 0, 0, "White Wire UV 
drawtype");
+               
                uiBlockEndAlign(block);
-               uiDefButBitI(block, TOG, SI_SMOOTH_UV, B_REDR, "Smooth",        
250,40,60,19,  &G.sima->flag, 0, 0, 0, 0, "Display smooth lines in the UV 
view");
+               uiDefButBitI(block, TOG, SI_SMOOTH_UV, B_REDR, "Smooth",        
250,60,60,19,  &G.sima->flag, 0, 0, 0, 0, "Display smooth lines in the UV 
view");
                
+               
+               uiDefButBitI(block, TOG, G_DRAWFACES, B_REDR, "Faces",          
10,30,60,19,  &G.f, 0, 0, 0, 0, "Displays all faces as shades in the 3d view 
and UV editor");
+               uiDefButBitI(block, TOG, G_DRAWEDGES, B_REDR, "Edges", 70, 
30,60,19, &G.f, 0, 0, 0, 0, "Displays selected edges using hilights and UV 
editor");
+               
+               uiDefButBitI(block, TOG, SI_DRAWSHADOW, B_REDR, "Final Shadow", 
130, 30,110,19, &G.sima->flag, 0, 0, 0, 0, "Draw the final result from the 
objects modifiers");
+               
                uiDefButBitI(block, TOG, SI_DRAW_STRETCH, B_REDR, "UV Stretch", 
10,0,100,19,  &G.sima->flag, 0, 0, 0, 0, "Difference between UV's and the 3D 
coords (blue for low distortion, red is high)");
+               if (G.sima->flag & SI_DRAW_STRETCH) {
+                       uiBlockBeginAlign(block);
+                       uiDefButC(block,  ROW, B_REDR, "Area",                  
120,0,60,19, &G.sima->dt_uvstretch, 0.0, SI_UVDT_STRETCH_AREA, 0, 0, "Area 
distortion between UV's and 3D coords");
+                       uiDefButC(block,  ROW, B_REDR, "Angle",         
180,0,60,19, &G.sima->dt_uvstretch, 0.0, SI_UVDT_STRETCH_ANGLE, 0, 0, "Angle 
distortion between UV's and 3D coords");
+                       uiBlockEndAlign(block);
+               }
                
-               uiBlockBeginAlign(block);
-               uiDefButC(block,  ROW, B_REDR, "Area",                  
120,0,60,19, &G.sima->dt_uvstretch, 0.0, SI_UVDT_STRETCH_AREA, 0, 0, "Area 
distortion between UV's and 3D coords");
-               uiDefButC(block,  ROW, B_REDR, "Angle",         180,0,60,19, 
&G.sima->dt_uvstretch, 0.0, SI_UVDT_STRETCH_ANGLE, 0, 0, "Angle distortion 
between UV's and 3D coords");
-               uiBlockEndAlign(block);
-               
        }
        image_editcursor_buts(block);
 }
@@ -1767,10 +1788,6 @@
                case IMAGE_HANDLER_GAME_PROPERTIES:
                        image_panel_game_properties(sima->blockhandler[a+1]);
                        break;
-//             case IMAGE_HANDLER_TRANSFORM_PROPERTIES:
-//                     if (EM_texFaceCheck())
-//                             
image_panel_transform_properties(sima->blockhandler[a+1]);
-//                     break;
                case IMAGE_HANDLER_VIEW_PROPERTIES:
                        image_panel_view_properties(sima->blockhandler[a+1]);
                        break;
@@ -2321,7 +2338,6 @@
 
        if(G.rendering==0) {
                draw_image_view_tool();
-               draw_image_view_icon();
        }
        draw_area_emboss(sa);
 


@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to