[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [28265] trunk/blender/source/blender/ editors/interface/interface_handlers.c: Bugfix: text buttons in zoomed in or out views, didn't get the cursor on the

Ton Roosendaal ton at blender.org
Sun Apr 18 19:05:56 CEST 2010


Revision: 28265
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28265
Author:   ton
Date:     2010-04-18 19:05:55 +0200 (Sun, 18 Apr 2010)

Log Message:
-----------
Bugfix: text buttons in zoomed in or out views, didn't get the cursor on the
right location for mouseclicks.

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

Modified: trunk/blender/source/blender/editors/interface/interface_handlers.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_handlers.c	2010-04-18 16:30:46 UTC (rev 28264)
+++ trunk/blender/source/blender/editors/interface/interface_handlers.c	2010-04-18 17:05:55 UTC (rev 28265)
@@ -1150,6 +1150,7 @@
 	return change;
 }
 
+/* note, but->block->aspect is used here, when drawing button style is getting scaled too */
 static void ui_textedit_set_cursor_pos(uiBut *but, uiHandleButtonData *data, short x)
 {
 	uiStyle *style= U.uistyles.first;	// XXX pass on as arg
@@ -1190,10 +1191,12 @@
 	}
 	/* mouse inside the widget */
 	else if (x >= startx) {
+		float aspect= sqrt(but->block->aspect);
+		
 		but->pos= strlen(origstr)-but->ofs;
 		
 		/* XXX does not take zoom level into account */
-		while (startx + BLF_width(origstr+but->ofs) > x) {
+		while (aspect*startx + aspect*BLF_width(origstr+but->ofs) > x) {
 			if (but->pos <= 0) break;
 			but->pos--;
 			origstr[but->pos+but->ofs] = 0;





More information about the Bf-blender-cvs mailing list