Author: matt
Date: 2010-05-06 13:33:55 -0700 (Thu, 06 May 2010)
New Revision: 7594
Log:
Fixed the cursor position when scrolling horizontally
Modified:
branches/branch-1.3-STR2158-matt/src/Fl_Text_Display.cxx
Modified: branches/branch-1.3-STR2158-matt/src/Fl_Text_Display.cxx
===================================================================
--- branches/branch-1.3-STR2158-matt/src/Fl_Text_Display.cxx 2010-05-06
07:13:33 UTC (rev 7593)
+++ branches/branch-1.3-STR2158-matt/src/Fl_Text_Display.cxx 2010-05-06
20:33:55 UTC (rev 7594)
@@ -706,7 +706,7 @@
return 1;
}
lineLen = vline_length( visLineNum );
- *X = handle_vline(GET_WIDTH, lineStartPos, pos-lineStartPos, 0, 0, 0, 0, 0,
0);
+ *X = text_area.x + handle_vline(GET_WIDTH, lineStartPos, pos-lineStartPos,
0, 0, 0, 0, 0, 0) - mHorizOffset;
return 1;
}
@@ -1401,6 +1401,7 @@
X = 0;
else
X = text_area.x - mHorizOffset;
+
startX = X;
startIndex = 0;
if (!lineStr) {
@@ -1409,7 +1410,9 @@
style = position_style(lineStartPos, lineLen, -1);
draw_string( style|BG_ONLY_MASK, text_area.x, Y,
text_area.x+text_area.w, lineStr, lineLen );
}
- return lineStartPos;
+ if (mode==FIND_INDEX)
+ return lineStartPos;
+ return 0;
}
// draw the line
@@ -1446,6 +1449,7 @@
return lineStartPos + startIndex + di;
}
if (mode==GET_WIDTH) {
+ free(lineStr);
return startX+w;
}
@@ -1460,7 +1464,7 @@
}
int Fl_Text_Display::find_x(const char *s, int len, int style, int x) const {
- // FIXME: use banary search which is much quicker!
+ // FIXME: use binary search which is much quicker!
int i = 0;
while (i<len) {
int cl = fl_utf8len(s[i]);
_______________________________________________
fltk-commit mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-commit