diff options
author | Zufu Liu <unknown> | 2019-07-17 15:32:16 +1000 |
---|---|---|
committer | Zufu Liu <unknown> | 2019-07-17 15:32:16 +1000 |
commit | c4db23f76c9814fbdba304f4ad3fcc7ddd4f30ec (patch) | |
tree | c225913f2491bc4e329cbf5274b494cf241001ce | |
parent | 071af976dafcf59d64de91989607ba1fb58592c9 (diff) | |
download | scintilla-mirror-c4db23f76c9814fbdba304f4ad3fcc7ddd4f30ec.tar.gz |
Feature [feature-requests:#1300] part 2. Position candidate window closer to
composition text.
-rw-r--r-- | doc/ScintillaHistory.html | 1 | ||||
-rw-r--r-- | win32/ScintillaWin.cxx | 6 |
2 files changed, 6 insertions, 1 deletions
diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html index bde4d4408..18d6dfe01 100644 --- a/doc/ScintillaHistory.html +++ b/doc/ScintillaHistory.html @@ -569,6 +569,7 @@ <li> On Win32, stop the IME candidate window moving unnecessarily and position it better.<br /> Stop candidate window overlapping composition text and taskbar.<br /> + Position candidate window closer to composition text.<br /> <a href="https://sourceforge.net/p/scintilla/bugs/2120/">Bug #2120</a>. <a href="https://sourceforge.net/p/scintilla/feature-requests/1300/">Feature #1300</a>. </li> diff --git a/win32/ScintillaWin.cxx b/win32/ScintillaWin.cxx index 459d926b1..55606fe07 100644 --- a/win32/ScintillaWin.cxx +++ b/win32/ScintillaWin.cxx @@ -23,6 +23,10 @@ #include <memory> #include <chrono> +// Want to use std::min and std::max so don't want Windows.h version of min and max +#if !defined(NOMINMAX) +#define NOMINMAX +#endif #undef _WIN32_WINNT #define _WIN32_WINNT 0x0500 #undef WINVER @@ -945,7 +949,7 @@ void ScintillaWin::SetCandidateWindowPos() { CandForm.dwIndex = 0; CandForm.dwStyle = CFS_EXCLUDE; CandForm.ptCurrentPos.x = static_cast<int>(pos.x); - CandForm.ptCurrentPos.y = static_cast<int>(pos.y + vs.lineHeight); + CandForm.ptCurrentPos.y = static_cast<int>(pos.y + std::max(4, vs.lineHeight/4)); // Exclude the area of the whole caret line CandForm.rcArea.top = static_cast<int>(pos.y); CandForm.rcArea.bottom = static_cast<int>(pos.y + vs.lineHeight); |