[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [33576] trunk/blender/source/blender/ editors/interface: Two nice usability fixes:

Ton Roosendaal ton at blender.org
Thu Dec 9 19:08:59 CET 2010


Revision: 33576
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=33576
Author:   ton
Date:     2010-12-09 19:08:58 +0100 (Thu, 09 Dec 2010)

Log Message:
-----------
Two nice usability fixes:

- On inserting keyframes in buttons, no redraw happened
- Keyframe in icon-only buttons now draw color in background.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/interface/interface_handlers.c
    trunk/blender/source/blender/editors/interface/interface_widgets.c

Modified: trunk/blender/source/blender/editors/interface/interface_handlers.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_handlers.c	2010-12-09 17:36:44 UTC (rev 33575)
+++ trunk/blender/source/blender/editors/interface/interface_handlers.c	2010-12-09 18:08:58 UTC (rev 33576)
@@ -5002,7 +5002,8 @@
 		for(block=ar->uiblocks.first; block; block=block->next) {
 			for(but=block->buttons.first; but; but= but->next) {
 				ui_but_anim_flag(but, (scene)? scene->r.cfra: 0.0f);
-
+				ED_region_tag_redraw(ar);
+				
 				if(but->active)
 					activebut= but;
 				else if(!activebut && (but->flag & UI_BUT_LAST_ACTIVE))

Modified: trunk/blender/source/blender/editors/interface/interface_widgets.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_widgets.c	2010-12-09 17:36:44 UTC (rev 33575)
+++ trunk/blender/source/blender/editors/interface/interface_widgets.c	2010-12-09 18:08:58 UTC (rev 33576)
@@ -2350,7 +2350,21 @@
 	
 }
 
+static void widget_icon_has_anim(uiBut *but, uiWidgetColors *wcol, rcti *rect, int state, int roundboxalign)
+{
+	if(state & (UI_BUT_ANIMATED|UI_BUT_ANIMATED_KEY|UI_BUT_DRIVEN|UI_BUT_REDALERT)) {
+		uiWidgetBase wtb;
+	
+		widget_init(&wtb);
+		wtb.outline= 0;
+		
+		/* rounded */
+		round_box_edges(&wtb, 15, rect, 10.0f);
+		widgetbase_draw(&wtb, wcol);
+	}	
+}
 
+
 static void widget_textbut(uiWidgetColors *wcol, rcti *rect, int state, int roundboxalign)
 {
 	uiWidgetBase wtb;
@@ -2693,7 +2707,7 @@
 			
 			/* specials */
 		case UI_WTYPE_ICON:
-			wt.draw= NULL;
+			wt.custom= widget_icon_has_anim;
 			break;
 			
 		case UI_WTYPE_SWATCH:





More information about the Bf-blender-cvs mailing list