diff options
author | nyamatongwe <devnull@localhost> | 2001-12-19 07:26:34 +0000 |
---|---|---|
committer | nyamatongwe <devnull@localhost> | 2001-12-19 07:26:34 +0000 |
commit | 5e836dc08fda6ed21bc8855e89a41ae6d87f8ee1 (patch) | |
tree | 693b6b24b4df4b7ca2a188f33767efe1c4192d40 | |
parent | ee5c8a4d1d308df0d28a48a19ad60a9f9ebe4a28 (diff) | |
download | scintilla-mirror-5e836dc08fda6ed21bc8855e89a41ae6d87f8ee1.tar.gz |
Support Unicode in calltips.
-rw-r--r-- | src/CallTip.cxx | 6 | ||||
-rw-r--r-- | src/CallTip.h | 3 | ||||
-rw-r--r-- | src/ScintillaBase.cxx | 3 | ||||
-rw-r--r-- | win32/ScintillaWin.cxx | 2 |
4 files changed, 9 insertions, 5 deletions
diff --git a/src/CallTip.cxx b/src/CallTip.cxx index 8f85e1b5c..4b4ae0c7c 100644 --- a/src/CallTip.cxx +++ b/src/CallTip.cxx @@ -117,17 +117,19 @@ void CallTip::PaintCT(Surface *surfaceWindow) { } PRectangle CallTip::CallTipStart(int pos, Point pt, const char *defn, - const char *faceName, int size) { + const char *faceName, int size, bool unicodeMode_) { if (val) delete []val; val = new char[strlen(defn) + 1]; if (!val) return PRectangle(); strcpy(val, defn); - Surface *surfaceMeasure=Surface::Allocate(); + unicodeMode = unicodeMode_; + Surface *surfaceMeasure = Surface::Allocate(); if (!surfaceMeasure) return PRectangle(); surfaceMeasure->Init(); + surfaceMeasure->SetUnicodeMode(unicodeMode); startHighlight = 0; endHighlight = 0; inCallTipMode = true; diff --git a/src/CallTip.h b/src/CallTip.h index b38a4840a..9f5025f63 100644 --- a/src/CallTip.h +++ b/src/CallTip.h @@ -29,6 +29,7 @@ public: ColourPair colourSel; ColourPair colourShade; ColourPair colourLight; + bool unicodeMode; CallTip(); ~CallTip(); @@ -40,7 +41,7 @@ public: /// Setup the calltip and return a rectangle of the area required. PRectangle CallTipStart(int pos, Point pt, const char *defn, - const char *faceName, int size); + const char *faceName, int size, bool unicodeMode_); void CallTipCancel(); diff --git a/src/ScintillaBase.cxx b/src/ScintillaBase.cxx index eb882cfad..fe732cabd 100644 --- a/src/ScintillaBase.cxx +++ b/src/ScintillaBase.cxx @@ -491,7 +491,8 @@ sptr_t ScintillaBase::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lPara PRectangle rc = ct.CallTipStart(currentPos, pt, reinterpret_cast<char *>(lParam), vs.styles[STYLE_DEFAULT].fontName, - vs.styles[STYLE_DEFAULT].sizeZoomed); + vs.styles[STYLE_DEFAULT].sizeZoomed, + IsUnicodeMode()); // If the call-tip window would be out of the client // space, adjust so it displays above the text. PRectangle rcClient = GetClientRectangle(); diff --git a/win32/ScintillaWin.cxx b/win32/ScintillaWin.cxx index 20d349dbd..8089fce92 100644 --- a/win32/ScintillaWin.cxx +++ b/win32/ScintillaWin.cxx @@ -1834,7 +1834,7 @@ sptr_t PASCAL ScintillaWin::CTWndProc( } else if (iMessage == WM_PAINT) { PAINTSTRUCT ps; ::BeginPaint(hWnd, &ps); - AutoSurface surfaceWindow(ps.hdc); + AutoSurface surfaceWindow(ps.hdc, ctp->unicodeMode); if (surfaceWindow) { ctp->PaintCT(surfaceWindow); surfaceWindow->Release(); |