[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [16190] trunk/blender/source/blender: Ipo Handle vertex have own color and size (Venom request).

Diego Borghetti bdiego at gmail.com
Tue Aug 19 16:39:11 CEST 2008


Revision: 16190
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16190
Author:   bdiego
Date:     2008-08-19 16:39:11 +0200 (Tue, 19 Aug 2008)

Log Message:
-----------
Ipo Handle vertex have own color and size (Venom request).

Now the vertex of the ipo handle have own color and
size, can be change from Theme -> Ipo Curve Editor:
	Handle Vertex		-	(Default Color)
	Handle Vertex Select	-	(Selected Color)
	Handle Size		-	(Point size, for vertex)

Add subverion so by default the handler have the same
settings that the ipo vertex options.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_blender.h
    trunk/blender/source/blender/include/BIF_resources.h
    trunk/blender/source/blender/makesdna/DNA_userdef_types.h
    trunk/blender/source/blender/src/drawipo.c
    trunk/blender/source/blender/src/resources.c
    trunk/blender/source/blender/src/space.c
    trunk/blender/source/blender/src/usiblender.c

Modified: trunk/blender/source/blender/blenkernel/BKE_blender.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_blender.h	2008-08-19 12:19:38 UTC (rev 16189)
+++ trunk/blender/source/blender/blenkernel/BKE_blender.h	2008-08-19 14:39:11 UTC (rev 16190)
@@ -41,7 +41,7 @@
 struct MemFile;
 
 #define BLENDER_VERSION			247
-#define BLENDER_SUBVERSION		0
+#define BLENDER_SUBVERSION		1
 
 #define BLENDER_MINVERSION		245
 #define BLENDER_MINSUBVERSION	15

Modified: trunk/blender/source/blender/include/BIF_resources.h
===================================================================
--- trunk/blender/source/blender/include/BIF_resources.h	2008-08-19 12:19:38 UTC (rev 16189)
+++ trunk/blender/source/blender/include/BIF_resources.h	2008-08-19 14:39:11 UTC (rev 16190)
@@ -524,6 +524,10 @@
 	
 	TH_EDGE_SHARP,
 	TH_EDITMESH_ACTIVE,
+
+	TH_HANDLE_VERTEX,
+	TH_HANDLE_VERTEX_SELECT,
+	TH_HANDLE_VERTEX_SIZE,
 };
 /* XXX WARNING: previous is saved in file, so do not change order! */
 

Modified: trunk/blender/source/blender/makesdna/DNA_userdef_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_userdef_types.h	2008-08-19 12:19:38 UTC (rev 16189)
+++ trunk/blender/source/blender/makesdna/DNA_userdef_types.h	2008-08-19 14:39:11 UTC (rev 16190)
@@ -101,6 +101,11 @@
 	char movie[4], image[4], scene[4], audio[4];		// for sequence editor
 	char effect[4], plugin[4], transition[4], meta[4];
 	char editmesh_active[4]; 
+
+	char handle_vertex[4];
+	char handle_vertex_select[4];
+	char handle_vertex_size;
+	char hpad[7];
 } ThemeSpace;
 
 

Modified: trunk/blender/source/blender/src/drawipo.c
===================================================================
--- trunk/blender/source/blender/src/drawipo.c	2008-08-19 12:19:38 UTC (rev 16189)
+++ trunk/blender/source/blender/src/drawipo.c	2008-08-19 14:39:11 UTC (rev 16190)
@@ -1212,16 +1212,9 @@
 					/*}*/
 				} else { /* normal non bit curves */
 					if(ei->flag & IPO_EDIT) {
-						if(ei->icu->ipo==IPO_BEZ) {
-							/* Draw the editmode hendels for a bezier curve */
-							if( (bezt->f1 & SELECT) == sel)/* && G.v2d->cur.xmin < bezt->vec[0][0] < G.v2d->cur.xmax)*/
-								bglVertex3fv(bezt->vec[0]);
-							
-							if( (bezt->f3 & SELECT) == sel)/* && G.v2d->cur.xmin < bezt->vec[2][0] < G.v2d->cur.xmax)*/
-								bglVertex3fv(bezt->vec[2]);
-							
-						}
-						
+						/* Only the vertex of the line, the
+						 * handler are draw below.
+						 */
 						if( (bezt->f2 & SELECT) == sel) /* && G.v2d->cur.xmin < bezt->vec[1][0] < G.v2d->cur.xmax)*/
 							bglVertex3fv(bezt->vec[1]);
 						
@@ -1237,6 +1230,45 @@
 				bezt++;
 			}
 			bglEnd();
+
+			if (ei->flag & IPO_EDIT) {
+				/* Now draw the two vertex of the handler,
+				 * need split it because we can't call glPointSize
+				 * in the middle of a glBegin/glEnd also the
+				 * bug comment before.
+				 */
+				a= ei->icu->totvert;
+				bezt= ei->icu->bezt;
+
+				glPointSize(BIF_GetThemeValuef(TH_HANDLE_VERTEX_SIZE));
+
+				if(sel) BIF_ThemeColor(TH_HANDLE_VERTEX_SELECT);
+				else BIF_ThemeColor(TH_HANDLE_VERTEX);
+
+				bglBegin(GL_POINTS);
+
+				while(a--) {
+					if (ei->disptype!=IPO_DISPBITS) {
+						if(ei->flag & IPO_EDIT) {
+							if(ei->icu->ipo==IPO_BEZ) {
+								/* Draw the editmode hendels for a bezier curve */
+								if( (bezt->f1 & SELECT) == sel)/* && G.v2d->cur.xmin < bezt->vec[0][0] < G.v2d->cur.xmax)*/
+									bglVertex3fv(bezt->vec[0]);
+							
+								if( (bezt->f3 & SELECT) == sel)/* && G.v2d->cur.xmin < bezt->vec[2][0] < G.v2d->cur.xmax)*/
+									bglVertex3fv(bezt->vec[2]);
+							}
+						}
+					}
+					bezt++;
+				}
+				bglEnd();
+
+				/* The color are always reset (see the while)
+				 * but the point size not so we reset now.
+				 */
+				glPointSize(BIF_GetThemeValuef(TH_VERTEX_SIZE));
+			}
 		}
 	}
 	

Modified: trunk/blender/source/blender/src/resources.c
===================================================================
--- trunk/blender/source/blender/src/resources.c	2008-08-19 12:19:38 UTC (rev 16189)
+++ trunk/blender/source/blender/src/resources.c	2008-08-19 14:39:11 UTC (rev 16190)
@@ -313,7 +313,15 @@
 				cp= ts->transition; break;
 			case TH_SEQ_META:
 				cp= ts->meta; break;
-				
+			case TH_HANDLE_VERTEX:
+				cp= ts->handle_vertex;
+				break;
+			case TH_HANDLE_VERTEX_SELECT:
+				cp= ts->handle_vertex_select;
+				break;
+			case TH_HANDLE_VERTEX_SIZE:
+				cp= &ts->handle_vertex_size;
+				break;
 			}
 
 		}
@@ -493,6 +501,10 @@
 	SETCOL(btheme->tipo.hilite, 0x60, 0xc0, 0x40, 255); 
 	btheme->tipo.vertex_size= 3;
 
+	SETCOL(btheme->tipo.handle_vertex, 0xff, 0x70, 0xff, 255);
+	SETCOL(btheme->tipo.handle_vertex_select, 0xff, 0xff, 0x70, 255);
+	btheme->tipo.handle_vertex_size= 3;
+
 	/* space file */
 	/* to have something initialized */
 	btheme->tfile= btheme->tv3d;
@@ -684,7 +696,10 @@
 			str += sprintf(str, "Vertex %%x%d|", TH_VERTEX);
 			str += sprintf(str, "Vertex Selected %%x%d|", TH_VERTEX_SELECT);
 			str += sprintf(str, "Vertex Size %%x%d|", TH_VERTEX_SIZE);
-			str += sprintf(str, "Current Frame %%x%d", TH_CFRAME);
+			str += sprintf(str, "Current Frame %%x%d|", TH_CFRAME);
+			str += sprintf(str, "Handle Vertex %%x%d|", TH_HANDLE_VERTEX);
+			str += sprintf(str, "Handle Vertex Selected %%x%d|", TH_HANDLE_VERTEX_SELECT);
+			str += sprintf(str, "Handle Vertex Size %%x%d", TH_HANDLE_VERTEX_SIZE);
 			break;
 		case SPACE_FILE:
 			str += sprintf(str, "Selected file %%x%d", TH_HILITE);

Modified: trunk/blender/source/blender/src/space.c
===================================================================
--- trunk/blender/source/blender/src/space.c	2008-08-19 12:19:38 UTC (rev 16189)
+++ trunk/blender/source/blender/src/space.c	2008-08-19 14:39:11 UTC (rev 16190)
@@ -3492,6 +3492,9 @@
 		uiButSetFunc(but, set_userdef_iconfile_cb, &iconfileindex, NULL);
 									
 	}
+	else if(th_curcol==TH_HANDLE_VERTEX_SIZE) {
+		uiDefButC(block, NUMSLI, B_UPDATE_THEME,"Handle size ", 465,y3,200,20, col, 1.0, 10.0, 0, 0, "");
+	}
 	else {
 		uiBlockBeginAlign(block);
 		if ELEM9(th_curcol, TH_PANEL, TH_LAMP, TH_FACE, TH_FACE_SELECT, TH_EDITMESH_ACTIVE, TH_MENU_BACK, TH_MENU_HILITE, TH_MENU_ITEM, TH_NODE) {

Modified: trunk/blender/source/blender/src/usiblender.c
===================================================================
--- trunk/blender/source/blender/src/usiblender.c	2008-08-19 12:19:38 UTC (rev 16189)
+++ trunk/blender/source/blender/src/usiblender.c	2008-08-19 14:39:11 UTC (rev 16190)
@@ -477,7 +477,15 @@
 	if ((G.main->versionfile < 245) || (G.main->versionfile == 245 && G.main->subversionfile < 16)) {
 		U.flag |= USER_ADD_VIEWALIGNED|USER_ADD_EDITMODE;
 	}
-	
+	if ((G.main->versionfile < 247) || (G.main->versionfile == 247 && G.main->subversionfile < 1)) {
+		bTheme *btheme;
+		for(btheme= U.themes.first; btheme; btheme= btheme->next) {
+			SETCOL(btheme->tipo.handle_vertex, 0xff, 0x70, 0xff, 255);
+			SETCOL(btheme->tipo.handle_vertex_select, 0xff, 0xff, 0x70, 255);
+			btheme->tipo.handle_vertex_size= 3;
+		}
+	}
+
 	/* GL Texture Garbage Collection (variable abused above!) */
 	if (U.textimeout == 0) {
 		U.texcollectrate = 60;





More information about the Bf-blender-cvs mailing list