summaryrefslogtreecommitdiff
path: root/src/Fl_Text_Display.cxx
diff options
context:
space:
mode:
authorMatthias Melcher <fltk@matthiasm.com>2009-04-15 08:35:28 +0000
committerMatthias Melcher <fltk@matthiasm.com>2009-04-15 08:35:28 +0000
commitd3206f01ec18e61e8cd9c7e88b02a6313ab227fa (patch)
treeada81f236fbf8b967f5de8d45b39ad23cbd75d7f /src/Fl_Text_Display.cxx
parentb214cef3a8d2d9ecf0df7bef7d10dcdfbca4d9d3 (diff)
More Fl_Input keyboard fixes / OS X transparency for RGBA data / some utf8 reorganisation
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6765 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/Fl_Text_Display.cxx')
-rw-r--r--src/Fl_Text_Display.cxx35
1 files changed, 7 insertions, 28 deletions
diff --git a/src/Fl_Text_Display.cxx b/src/Fl_Text_Display.cxx
index ea00b0ac8..cb63b8f66 100644
--- a/src/Fl_Text_Display.cxx
+++ b/src/Fl_Text_Display.cxx
@@ -77,27 +77,6 @@ static int scroll_x = 0;
// CET - FIXME
#define TMPFONTWIDTH 6
-static int utf_len(char c)
-{
- if (!(c & 0x80)) return 1;
- if (c & 0x40) {
- if (c & 0x20) {
- if (c & 0x10) {
- if (c & 0x08) {
- if (c & 0x04) {
- return 6;
- }
- return 5;
- }
- return 4;
- }
- return 3;
- }
- return 2;
- }
- return 0;
-}
-
/** Creates a new text display widget.*/
Fl_Text_Display::Fl_Text_Display(int X, int Y, int W, int H, const char* l)
: Fl_Group(X, Y, W, H, l) {
@@ -872,7 +851,7 @@ int Fl_Text_Display::position_to_xy( int pos, int* X, int* Y ) {
mBuffer->tab_distance(), mBuffer->null_substitution_character() );
if (charLen > 1 && (lineStr[ charIndex ] & 0x80)) {
int i, ii = 0;;
- i = utf_len(lineStr[ charIndex ]);
+ i = fl_utf8len(lineStr[ charIndex ]);
while (i > 1) {
i--;
ii++;
@@ -1626,7 +1605,7 @@ void Fl_Text_Display::draw_vline(int visLineNum, int leftClip, int rightClip,
expandedChar, buf->tab_distance(), buf->null_substitution_character() );
if (charIndex < lineLen && charLen > 1 && (lineStr[ charIndex ] & 0x80)) {
int i, ii = 0;;
- i = utf_len(lineStr[ charIndex ]);
+ i = fl_utf8len(lineStr[ charIndex ]);
while (i > 1) {
i--;
ii++;
@@ -1664,7 +1643,7 @@ void Fl_Text_Display::draw_vline(int visLineNum, int leftClip, int rightClip,
buf->tab_distance(), buf->null_substitution_character() );
if (charIndex < lineLen && charLen > 1 && (lineStr[ charIndex ] & 0x80)) {
int i, ii = 0;;
- i = utf_len(lineStr[ charIndex ]);
+ i = fl_utf8len(lineStr[ charIndex ]);
while (i > 1) {
i--;
ii++;
@@ -1687,7 +1666,7 @@ void Fl_Text_Display::draw_vline(int visLineNum, int leftClip, int rightClip,
*outPtr = expandedChar[ i ];
int l = 1;
if (*outPtr & 0x80) {
- l = utf_len(*outPtr);
+ l = fl_utf8len(*outPtr);
}
charWidth = string_width( &expandedChar[ i ], l, charStyle );
} else
@@ -1711,7 +1690,7 @@ void Fl_Text_Display::draw_vline(int visLineNum, int leftClip, int rightClip,
buf->tab_distance(), buf->null_substitution_character() );
if (charIndex < lineLen && charLen > 1 && (lineStr[ charIndex ] & 0x80)) {
int i, ii = 0;;
- i = utf_len(lineStr[ charIndex ]);
+ i = fl_utf8len(lineStr[ charIndex ]);
while (i > 1) {
i--;
ii++;
@@ -1734,7 +1713,7 @@ void Fl_Text_Display::draw_vline(int visLineNum, int leftClip, int rightClip,
*outPtr = expandedChar[ i ];
int l = 1;
if (*outPtr & 0x80) {
- l = utf_len(*outPtr);
+ l = fl_utf8len(*outPtr);
}
charWidth = string_width( &expandedChar[ i ], l, charStyle );
} else
@@ -2071,7 +2050,7 @@ int Fl_Text_Display::xy_to_position( int X, int Y, int posType ) {
mBuffer->tab_distance(), mBuffer->null_substitution_character() );
if (charLen > 1 && (lineStr[ charIndex ] & 0x80)) {
int i, ii = 0;;
- i = utf_len(lineStr[ charIndex ]);
+ i = fl_utf8len(lineStr[ charIndex ]);
while (i > 1) {
i--;
ii++;