SplitNormals UI tweaks: add own color for normals drawing, and own 'face corner'...
authorBastien Montagne <montagne29@wanadoo.fr>
Mon, 25 Aug 2014 10:45:49 +0000 (12:45 +0200)
committerBastien Montagne <montagne29@wanadoo.fr>
Mon, 25 Aug 2014 10:54:35 +0000 (12:54 +0200)
13 files changed:
release/datafiles/blender_icons.svg
release/datafiles/blender_icons16/icon16_ipo_bounce.dat
release/datafiles/blender_icons16/icon16_ipo_elastic.dat
release/datafiles/blender_icons16/icon16_loopsel.dat [new file with mode: 0644]
release/datafiles/blender_icons32/icon32_loopsel.dat [new file with mode: 0644]
release/datafiles/blender_icons32/icon32_nla_pushdown.dat
release/scripts/startup/bl_ui/space_view3d.py
source/blender/editors/include/UI_icons.h
source/blender/editors/include/UI_resources.h
source/blender/editors/interface/resources.c
source/blender/editors/space_view3d/drawobject.c
source/blender/makesdna/DNA_userdef_types.h
source/blender/makesrna/intern/rna_userdef.c

index 7557b81c8049defb40bb60a400b6a0afa66aa586..4a1e2cd1d9a662f9e21dfbf53a7f8803f21c1124 100644 (file)
@@ -14,7 +14,7 @@
    height="640"
    id="svg2"
    sodipodi:version="0.32"
-   inkscape:version="0.48.4 r"
+   inkscape:version="0.48.5 r10040"
    version="1.0"
    sodipodi:docname="blender_icons.svg"
    inkscape:output_extension="org.inkscape.output.svg.inkscape"
      id="title49470">Blender icons v. 2.5.08</title>
   <defs
      id="defs4">
+    <linearGradient
+       id="linearGradient17265">
+      <stop
+         style="stop-color:#ffb769;stop-opacity:1;"
+         offset="0"
+         id="stop17267" />
+      <stop
+         style="stop-color:#ffeeaa;stop-opacity:0;"
+         offset="1"
+         id="stop17269" />
+    </linearGradient>
     <linearGradient
        id="linearGradient17073">
       <stop
        id="linearGradient16728"
        xlink:href="#linearGradient44939-8-53-7"
        inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient319-0"
+       id="linearGradient36725-1"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.8167109,0,0,0.8433415,239.34332,-149.78578)"
+       x1="104.90227"
+       y1="53.227627"
+       x2="117.12428"
+       y2="61.720783" />
+    <linearGradient
+       id="linearGradient319-0">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop320-22" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop321-19" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient319-0"
+       id="linearGradient36727-5"
+       gradientUnits="userSpaceOnUse"
+       x1="-56.5"
+       y1="340.32199"
+       x2="-56.5"
+       y2="348" />
+    <linearGradient
+       id="linearGradient16404-5">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop16406" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop16408" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient319-0"
+       id="linearGradient36729-0"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.7972867,61.99991,2.2419)"
+       x1="260.67468"
+       y1="108.02418"
+       x2="273.9993"
+       y2="126.37626" />
+    <linearGradient
+       id="linearGradient16411">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop16413" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop16415" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient17265"
+       id="radialGradient17275"
+       cx="1130.7738"
+       cy="440.25275"
+       fx="1130.7738"
+       fy="440.25275"
+       r="3.5"
+       gradientTransform="matrix(1.4878857,2.6976762,-1.4698319,0.81067624,95.409128,-2969.0604)"
+       gradientUnits="userSpaceOnUse" />
   </defs>
   <sodipodi:namedview
      id="base"
            inkscape:connector-curvature="0" />
       </g>
     </g>
+    <g
+       transform="translate(21,0)"
+       style="display:inline;enable-background:new"
+       id="g106643-9">
+      <g
+         transform="translate(111,-158)"
+         id="g35778-7"
+         style="opacity:0.55;display:inline">
+        <rect
+           y="336"
+           x="-64"
+           height="16"
+           width="16"
+           id="rect35780-2"
+           style="opacity:0;fill:#b3b3b3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+        <g
+           id="g35782-9"
+           transform="translate(1,0)">
+          <g
+             id="g35785-7"
+             transform="translate(-386,446.5)">
+            <path
+               inkscape:connector-curvature="0"
+               sodipodi:nodetypes="ccccccc"
+               style="fill:#552200;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+               d="m 329.5,-108.25 -5.5,2 0,6.75 5.5,3 5.5,-3 0,-6.75 -5.5,-2 z"
+               id="path35787-2" />
+            <path
+               inkscape:connector-curvature="0"
+               inkscape:export-ydpi="90"
+               inkscape:export-xdpi="90"
+               inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\4.png"
+               id="path35789-6"
+               d="m 324,-99.5 0,-7 6,-1.75 0,11.5 -0.5,0.25 -5.5,-3 z"
+               style="fill:#c9c9c9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06898749px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+               sodipodi:nodetypes="cccccc" />
+            <g
+               id="g35791-0"
+               transform="translate(179,-179)">
+              <path
+                 inkscape:connector-curvature="0"
+                 sodipodi:nodetypes="ccccc"
+                 id="path35793-5"
+                 d="m 156,79.5 0,-7 -5,-1.75 0,11.5 5,-2.75 z"
+                 style="fill:#666666;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.89401144px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+                 inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\4.png"
+                 inkscape:export-xdpi="90"
+                 inkscape:export-ydpi="90" />
+              <path
+                 inkscape:connector-curvature="0"
+                 id="path35795-5"
+                 d="m 145,72.5 5.5,-2 5.5,2 -5.5,2.5 -5.5,-2.5 z"
+                 style="fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:none"
+                 sodipodi:nodetypes="ccccc"
+                 inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\4.png"
+                 inkscape:export-xdpi="90"
+                 inkscape:export-ydpi="90" />
+            </g>
+            <path
+               inkscape:connector-curvature="0"
+               sodipodi:nodetypes="ccccc"
+               id="path35797-0"
+               d="m 334.5,-106.5 0,6.75 -5,2.75 -5,-2.75 0,-6.75"
+               style="fill:none;stroke:url(#linearGradient36725-1);stroke-width:0.99999982px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+          </g>
+          <rect
+             y="342"
+             x="-57"
+             height="7.75"
+             width="1"
+             id="rect35799-0"
+             style="fill:url(#linearGradient36727-5);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06666696px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+          <path
+             inkscape:connector-curvature="0"
+             sodipodi:nodetypes="ccc"
+             id="path35801-8"
+             d="m -61,340.65468 c 0,0 4.5,2 4.5,2 l 4.5,-2"
+             style="fill:none;stroke:url(#linearGradient36729-0);stroke-width:1.10000002;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+        </g>
+      </g>
+      <rect
+         style="opacity:0.07999998;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="rect37868-0-4-8-7"
+         width="3.0000007"
+         height="7.25"
+         x="54"
+         y="185" />
+      <g
+         id="g35818-3"
+         style="fill:url(#radialGradient17275);display:inline;fill-opacity:1"
+         transform="translate(-1080.9861,-256)">
+        <path
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="ccccc"
+           style="fill:url(#radialGradient17275);fill-opacity:1;fill-rule:nonzero;stroke:#542b00;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:0.86274510000000004;stroke-dasharray:none;stroke-dashoffset:7.40000265000000024;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+           d="m 1130.4859,445.25 0,-7.5 6,2.75 0,8 -6,-3.25 z"
+           id="path35820-8"
+           inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\BLENDER ICONSET\blender-cvs-windows\.blender\.blender\icons\jendrzych's iconset.png"
+           inkscape:export-xdpi="90"
+           inkscape:export-ydpi="90" />
+        <path
+           inkscape:connector-curvature="0"
+           inkscape:export-ydpi="90"
+           inkscape:export-xdpi="90"
+           inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\BLENDER ICONSET\blender-cvs-windows\.blender\.blender\icons\jendrzych's iconset.png"
+           id="path35822-7"
+           d="m 1136.4859,448.5 -6,-3.25 0,-7.5"
+           style="fill:url(#radialGradient17275);stroke:#462400;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:7.40000265000000024;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;fill-opacity:1"
+           sodipodi:nodetypes="ccc" />
+      </g>
+      <g
+         transform="translate(41.999513,2.6999762e-4)"
+         style="display:inline;enable-background:new"
+         id="g35803-8">
+        <path
+           style="fill:none;stroke:#542b00;stroke-width:1.495;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:7.40000265;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+           d="m 8.0048608,180.50566 0.036785,0 c 0.8181814,0 1.476865,0.66665 1.476865,1.49473 l 0,1.2e-4 c 0,0.82808 -0.6586836,1.49472 -1.476865,1.49472 l -0.036785,0 c -0.8181897,0 -1.4768733,-0.66664 -1.4768733,-1.49472 l 0,-1.2e-4 c 0,-0.82808 0.6586836,-1.49473 1.4768733,-1.49473 z"
+           id="path35805-7"
+           inkscape:connector-curvature="0" />
+        <path
+           style="fill:#ffc17d;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline"
+           d="m 9.0203881,181.00394 c -0.6673195,0 -1.334639,1e-5 -2.0019585,1e-5 0,0.66706 0,1.33411 0,2.00119 0.6673195,0 1.334639,-1e-5 2.0019585,-1e-5 0,-0.66707 0,-1.33413 0,-2.00119 z"
+           id="path35807-6"
+           inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\BLENDER ICONSET\blender-cvs-windows\.blender\.blender\icons\jendrzych's iconset.png"
+           inkscape:export-xdpi="90"
+           inkscape:export-ydpi="90"
+           inkscape:connector-curvature="0" />
+      </g>
+    </g>
   </g>
   <g
      inkscape:groupmode="layer"
index bede5e12e574e435a25a28fb83753449b59030b1..7a3984a3a135f26f6d7347427f5a218f751dcc6b 100644 (file)
Binary files a/release/datafiles/blender_icons16/icon16_ipo_bounce.dat and b/release/datafiles/blender_icons16/icon16_ipo_bounce.dat differ
index 5db0f97491224516a74ea797ef9f71217a747d7f..221b0a2223608d8b914a4db9c43e947d270f4179 100644 (file)
Binary files a/release/datafiles/blender_icons16/icon16_ipo_elastic.dat and b/release/datafiles/blender_icons16/icon16_ipo_elastic.dat differ
diff --git a/release/datafiles/blender_icons16/icon16_loopsel.dat b/release/datafiles/blender_icons16/icon16_loopsel.dat
new file mode 100644 (file)
index 0000000..78f9bbe
Binary files /dev/null and b/release/datafiles/blender_icons16/icon16_loopsel.dat differ
diff --git a/release/datafiles/blender_icons32/icon32_loopsel.dat b/release/datafiles/blender_icons32/icon32_loopsel.dat
new file mode 100644 (file)
index 0000000..11d3e9d
Binary files /dev/null and b/release/datafiles/blender_icons32/icon32_loopsel.dat differ
index 83216ac536716605dd7bd52b0e4ec0b9f38da92e..3a0e1c73a5211a388c8da60fa32dfe0b8bb69db2 100644 (file)
Binary files a/release/datafiles/blender_icons32/icon32_nla_pushdown.dat and b/release/datafiles/blender_icons32/icon32_nla_pushdown.dat differ
index b7486990f74563463406011555ff34a5135a0e74..0a90034e9b9c243527109fe29d52fad0e5c8b639 100644 (file)
@@ -2946,7 +2946,7 @@ class VIEW3D_PT_view3d_meshdisplay(Panel):
         row = col.row(align=True)
 
         row.prop(mesh, "show_normal_vertex", text="", icon='VERTEXSEL')
-        row.prop(mesh, "show_normal_loop", text="", icon='VERTEXSEL')
+        row.prop(mesh, "show_normal_loop", text="", icon='LOOPSEL')
         row.prop(mesh, "show_normal_face", text="", icon='FACESEL')
 
         sub = row.row(align=True)
index e06b8e62f277448665ab3a5102a3008e51670627..1d79cf749f9b0cc7f8a22d9bcdfc46ca3ae83b27 100644 (file)
@@ -668,8 +668,8 @@ DEF_ICON(IPO_EASE_IN_OUT)
 DEF_ICON(VERTEXSEL)
 DEF_ICON(EDGESEL)
 DEF_ICON(FACESEL)
+DEF_ICON(LOOPSEL)
 #ifndef DEF_ICON_BLANK_SKIP
-       DEF_ICON(BLANK209)
        DEF_ICON(BLANK210)
 #endif
 DEF_ICON(ROTATE)
index da365355e9581c712585ff720ced6ba916f89c39..872bd32b75b30564046099f3b80183af95661d01 100644 (file)
@@ -106,6 +106,7 @@ enum {
        TH_FACE_SELECT,
        TH_NORMAL,
        TH_VNORMAL,
+       TH_LNORMAL,
        TH_FACE_DOT,
        TH_FACEDOT_SIZE,
        TH_CFRAME,
index 822fa41e69d2ef4c63ba7f7576011e0f4f7f03ec..c2b234df3bf1d32133480da30597d2a2016c4470 100644 (file)
@@ -335,6 +335,8 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo
                                        cp = ts->normal; break;
                                case TH_VNORMAL:
                                        cp = ts->vertex_normal; break;
+                               case TH_LNORMAL:
+                                       cp = ts->loop_normal; break;
                                case TH_BONE_SOLID:
                                        cp = ts->bone_solid; break;
                                case TH_BONE_POSE:
@@ -866,6 +868,7 @@ void ui_theme_init_default(void)
        rgba_char_args_set(btheme->tv3d.face_select, 255, 133, 0, 60);
        rgba_char_args_set(btheme->tv3d.normal, 0x22, 0xDD, 0xDD, 255);
        rgba_char_args_set(btheme->tv3d.vertex_normal, 0x23, 0x61, 0xDD, 255);
+       rgba_char_args_set(btheme->tv3d.loop_normal, 0xDD, 0x23, 0xDD, 255);
        rgba_char_args_set(btheme->tv3d.face_dot, 255, 133, 0, 255);
        rgba_char_args_set(btheme->tv3d.editmesh_active, 255, 255, 255, 128);
        rgba_char_args_set_fl(btheme->tv3d.edge_crease, 0.8, 0, 0.6, 1.0);
@@ -2479,6 +2482,16 @@ void init_userdef_do_versions(void)
                }
        }
 
+       {
+               bTheme *btheme;
+               for (btheme = U.themes.first; btheme; btheme = btheme->next) {
+                       /* check for (alpha == 0) is safe, then color was never set */
+                       if (btheme->tv3d.loop_normal[3] == 0) {
+                               rgba_char_args_set(btheme->tv3d.loop_normal, 0xDD, 0x23, 0xDD, 255);
+                       }
+               }
+       }
+
        if (U.pixelsize == 0.0f)
                U.pixelsize = 1.0f;
        
index 135aeb95c928121a061f731f2e8e2fff170f05f0..1f05d3566b519bcec80a39652c1b4b7bbf4961d8 100644 (file)
@@ -3611,7 +3611,7 @@ static void draw_em_fancy(Scene *scene, ARegion *ar, View3D *v3d,
                        draw_dm_vert_normals(em, scene, ob, cageDM);
                }
                if (me->drawflag & ME_DRAW_LNORMALS) {
-                       UI_ThemeColor(TH_VNORMAL);
+                       UI_ThemeColor(TH_LNORMAL);
                        draw_dm_loop_normals(em, scene, ob, cageDM);
                }
 
index d1f5cc1eadd95b5da468977de1d8cbaefaa28923..ed59014cf755d76edf6a58678224bc1e6f870e44 100644 (file)
@@ -245,6 +245,7 @@ typedef struct ThemeSpace {
        char extra_edge_len[4], extra_edge_angle[4], extra_face_angle[4], extra_face_area[4];
        char normal[4];
        char vertex_normal[4];
+       char loop_normal[4];
        char bone_solid[4], bone_pose[4], bone_pose_active[4];
        char strip[4], strip_select[4];
        char cframe[4];
@@ -262,7 +263,7 @@ typedef struct ThemeSpace {
        char keyborder[4], keyborder_select[4];
        
        char console_output[4], console_input[4], console_info[4], console_error[4];
-       char console_cursor[4], console_select[4], pad1[4];
+       char console_cursor[4], console_select[4];
        
        char vertex_size, outline_width, facedot_size;
        char noodle_curving;
index f11780768fdb8eb006e1211b2aa41e37369fa9ed..aa378955fb06a85ead4c7a8caf88d77fc5180d87 100644 (file)
@@ -1570,6 +1570,12 @@ static void rna_def_userdef_theme_space_view3d(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Vertex Normal", "");
        RNA_def_property_update(prop, 0, "rna_userdef_update");
 
+       prop = RNA_def_property(srna, "split_normal", PROP_FLOAT, PROP_COLOR_GAMMA);
+       RNA_def_property_float_sdna(prop, NULL, "loop_normal");
+       RNA_def_property_array(prop, 3);
+       RNA_def_property_ui_text(prop, "Split Normal", "");
+       RNA_def_property_update(prop, 0, "rna_userdef_update");
+
        prop = RNA_def_property(srna, "bone_solid", PROP_FLOAT, PROP_COLOR_GAMMA);
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Bone Solid", "");