diff --git a/scintilla/include/SciLexer.h b/scintilla/include/SciLexer.h index 0950a72f8..a030d65a4 100644 --- a/scintilla/include/SciLexer.h +++ b/scintilla/include/SciLexer.h @@ -1541,27 +1541,6 @@ #define SCE_TXT2TAGS_OPTION 23 #define SCE_TXT2TAGS_PREPROC 24 #define SCE_TXT2TAGS_POSTPROC 25 -#define SCE_AHK_DEFAULT 0 -#define SCE_AHK_COMMENTLINE 1 -#define SCE_AHK_COMMENTBLOCK 2 -#define SCE_AHK_ESCAPE 3 -#define SCE_AHK_SYNOPERATOR 4 -#define SCE_AHK_EXPOPERATOR 5 -#define SCE_AHK_STRING 6 -#define SCE_AHK_NUMBER 7 -#define SCE_AHK_IDENTIFIER 8 -#define SCE_AHK_VARREF 9 -#define SCE_AHK_LABEL 10 -#define SCE_AHK_WORD_CF 11 -#define SCE_AHK_WORD_CMD 12 -#define SCE_AHK_WORD_FN 13 -#define SCE_AHK_WORD_DIR 14 -#define SCE_AHK_WORD_KB 15 -#define SCE_AHK_WORD_VAR 16 -#define SCE_AHK_WORD_SP 17 -#define SCE_AHK_WORD_UD 18 -#define SCE_AHK_VARREFKW 19 -#define SCE_AHK_ERROR 20 #define SCE_A68K_DEFAULT 0 #define SCE_A68K_COMMENT 1 #define SCE_A68K_NUMBER_DEC 2 diff --git a/scintilla/include/Scintilla.h b/scintilla/include/Scintilla.h index fd8a9b947..9b452c70a 100644 --- a/scintilla/include/Scintilla.h +++ b/scintilla/include/Scintilla.h @@ -103,6 +103,8 @@ typedef sptr_t (*SciFnDirect)(sptr_t ptr, unsigned int iMessage, uptr_t wParam, #define SC_IME_INLINE 1 #define SCI_GETIMEINTERACTION 2678 #define SCI_SETIMEINTERACTION 2679 +#define SCI_ISIMEOPEN 2717 +#define SCI_ISIMEMODECJK 2718 #define MARKER_MAX 31 #define SC_MARK_CIRCLE 0 #define SC_MARK_ROUNDRECT 1 @@ -399,9 +401,7 @@ typedef sptr_t (*SciFnDirect)(sptr_t ptr, unsigned int iMessage, uptr_t wParam, #define SCI_GETPRINTCOLOURMODE 2149 #define SCFIND_WHOLEWORD 0x2 #define SCFIND_MATCHCASE 0x4 -// >>>>>>>>>>>>>>> BEG NON STD SCI PATCH >>>>>>>>>>>>>>> #define SCFIND_DOT_MATCH_ALL 0x1000 -// <<<<<<<<<<<<<<< END NON STD SCI PATCH <<<<<<<<<<<<<<< #define SCFIND_WORDSTART 0x00100000 #define SCFIND_REGEXP 0x00200000 #define SCFIND_POSIX 0x00400000 @@ -691,10 +691,8 @@ typedef sptr_t (*SciFnDirect)(sptr_t ptr, unsigned int iMessage, uptr_t wParam, #define SC_POPUP_TEXT 2 #define SCI_USEPOPUP 2371 #define SCI_SELECTIONISRECTANGLE 2372 -// >>>>>>>>>>>>>>> BEG NON STD SCI PATCH >>>>>>>>>>>>>>> #define SC_MIN_ZOOM_LEVEL 10 #define SC_MAX_ZOOM_LEVEL 500 -// <<<<<<<<<<<<<<< END NON STD SCI PATCH <<<<<<<<<<<<<<< #define SCI_SETZOOM 2373 #define SCI_GETZOOM 2374 #define SC_DOCUMENTOPTION_DEFAULT 0 @@ -1046,14 +1044,6 @@ typedef sptr_t (*SciFnDirect)(sptr_t ptr, unsigned int iMessage, uptr_t wParam, #define SC_MOD_INSERTCHECK 0x100000 #define SC_MOD_CHANGETABSTOPS 0x200000 #define SC_MODEVENTMASKALL 0x3FFFFF -// >>>>>>>>>>>>>>> BEG NON STD SCI PATCH >>>>>>>>>>>>>>> -#define SC_IME_CLOSE 0 -#define SC_IME_OPEN 1 -#define SCI_GETIMEOPEN 3860 // to Neil: I do not know how to allocate number. Change it. -#define SC_IME_MODE_NATIVE 0 // = IME_CMODE_ALPHANUMERIC -#define SC_IME_MODE_CJK 1 // Other than IME_CMODE_ALPHANUMERIC -#define SCI_GETIMEMODEACTIVE 3861 // to Neil: I do not know how to allocate number. Change it. -// <<<<<<<<<<<<<<< END NON STD SCI PATCH <<<<<<<<<<<<<<< #define SC_UPDATE_CONTENT 0x1 #define SC_UPDATE_SELECTION 0x2 #define SC_UPDATE_V_SCROLL 0x4 diff --git a/scintilla/include/Scintilla.iface b/scintilla/include/Scintilla.iface index fdaff201f..e96e5a6a6 100644 --- a/scintilla/include/Scintilla.iface +++ b/scintilla/include/Scintilla.iface @@ -266,6 +266,11 @@ get int GetIMEInteraction=2678(,) # Choose to display the the IME in a winow or inline. set void SetIMEInteraction=2679(int imeInteraction,) +# >>>>>>>>>>>>>>> BEG NON STD SCI PATCH >>>>>>>>>>>>>>> +get bool IsIMEOpen=2717(,) +get bool IsIMEModeCJK=2718(,) +# <<<<<<<<<<<<<<< END NON STD SCI PATCH <<<<<<<<<<<<<<< + enu MarkerSymbol=SC_MARK_ val MARKER_MAX=31 val SC_MARK_CIRCLE=0 @@ -949,6 +954,9 @@ get int GetPrintColourMode=2149(,) enu FindOption=SCFIND_ val SCFIND_WHOLEWORD=0x2 val SCFIND_MATCHCASE=0x4 +# >>>>>>>>>>>>>>> BEG NON STD SCI PATCH >>>>>>>>>>>>>>> +val SCFIND_DOT_MATCH_ALL=0x1000 +# <<<<<<<<<<<<<<< END NON STD SCI PATCH <<<<<<<<<<<<<<< val SCFIND_WORDSTART=0x00100000 val SCFIND_REGEXP=0x00200000 val SCFIND_POSIX=0x00400000 @@ -2766,14 +2774,6 @@ val SC_MOD_INSERTCHECK=0x100000 val SC_MOD_CHANGETABSTOPS=0x200000 val SC_MODEVENTMASKALL=0x3FFFFF -// >>>>>>>>>>>>>>> BEG NON STD SCI PATCH >>>>>>>>>>>>>>> -# modifiers for SCN_CHARADDED: normal input, inline IME tentative, IME full composited -val SC_IME_CLOSE=0 -val SC_IME_OPEN=1 -val SC_IME_MODE_NATIVE=0 -val SC_IME_MODE_CJK=1 -// <<<<<<<<<<<<<<< END NON STD SCI PATCH <<<<<<<<<<<<<<< - enu Update=SC_UPDATE_ val SC_UPDATE_CONTENT=0x1 val SC_UPDATE_SELECTION=0x2 @@ -4910,29 +4910,6 @@ val SCE_SAS_MACRO_KEYWORD=12 val SCE_SAS_BLOCK_KEYWORD=13 val SCE_SAS_MACRO_FUNCTION=14 val SCE_SAS_STATEMENT=15 -# Lexical states for SCLEX_AHK -lex AHK=SCLEX_AHK SCE_AHK_ -val SCE_AHK_DEFAULT=0 -val SCE_AHK_COMMENTLINE=1 -val SCE_AHK_COMMENTBLOCK=2 -val SCE_AHK_ESCAPE=3 -val SCE_AHK_SYNOPERATOR=4 -val SCE_AHK_EXPOPERATOR=5 -val SCE_AHK_STRING=6 -val SCE_AHK_NUMBER=7 -val SCE_AHK_IDENTIFIER=8 -val SCE_AHK_VARREF=9 -val SCE_AHK_LABEL=10 -val SCE_AHK_WORD_CF=11 -val SCE_AHK_WORD_CMD=12 -val SCE_AHK_WORD_FN=13 -val SCE_AHK_WORD_DIR=14 -val SCE_AHK_WORD_KB=15 -val SCE_AHK_WORD_VAR=16 -val SCE_AHK_WORD_SP=17 -val SCE_AHK_WORD_UD=18 -val SCE_AHK_VARREFKW=19 -val SCE_AHK_ERROR=20 # Events diff --git a/scintilla/src/EditModel.cxx b/scintilla/src/EditModel.cxx index d6308778e..70704e63d 100644 --- a/scintilla/src/EditModel.cxx +++ b/scintilla/src/EditModel.cxx @@ -63,8 +63,8 @@ EditModel::EditModel() : braces{} { primarySelection = true; imeInteraction = imeWindowed; // >>>>>>>>>>>>>>> BEG NON STD SCI PATCH >>>>>>>>>>>>>>> - isIMEOpen = SC_IME_CLOSE; - isIMEModeCJK = 0; + imeIsOpen = false; + imeIsInModeCJK = false; // <<<<<<<<<<<<<<< END NON STD SCI PATCH <<<<<<<<<<<<<<< bidirectional = Bidirectional::bidiDisabled; foldFlags = 0; diff --git a/scintilla/src/EditModel.h b/scintilla/src/EditModel.h index 55b615494..7230cbfd3 100644 --- a/scintilla/src/EditModel.h +++ b/scintilla/src/EditModel.h @@ -38,8 +38,8 @@ public: enum IMEInteraction { imeWindowed, imeInline } imeInteraction; // >>>>>>>>>>>>>>> BEG NON STD SCI PATCH >>>>>>>>>>>>>>> - bool isIMEOpen; - bool isIMEModeCJK; + bool imeIsOpen; + bool imeIsInModeCJK; // <<<<<<<<<<<<<<< END NON STD SCI PATCH <<<<<<<<<<<<<<< enum class Bidirectional { bidiDisabled, bidiL2R, bidiR2L } bidirectional; diff --git a/scintilla/src/Editor.cxx b/scintilla/src/Editor.cxx index 164dbe0c0..60b51ba68 100644 --- a/scintilla/src/Editor.cxx +++ b/scintilla/src/Editor.cxx @@ -6789,11 +6789,11 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { return imeInteraction; // >>>>>>>>>>>>>>> BEG NON STD SCI PATCH >>>>>>>>>>>>>>> - case SCI_GETIMEOPEN: - return isIMEOpen; + case SCI_ISIMEOPEN: + return imeIsOpen; - case SCI_GETIMEMODEACTIVE: - return isIMEModeCJK; + case SCI_ISIMEMODECJK: + return imeIsInModeCJK; // <<<<<<<<<<<<<<< END NON STD SCI PATCH <<<<<<<<<<<<<<< case SCI_SETBIDIRECTIONAL: diff --git a/scintilla/win32/ScintillaWin.cxx b/scintilla/win32/ScintillaWin.cxx index 50e87674b..08bfdddf9 100644 --- a/scintilla/win32/ScintillaWin.cxx +++ b/scintilla/win32/ScintillaWin.cxx @@ -1029,26 +1029,30 @@ bool ScintillaWin::KoreanIME() noexcept { const int codePage = InputCodePage(); return codePage == 949 || codePage == 1361; } + // >>>>>>>>>>>>>>> BEG NON STD SCI PATCH >>>>>>>>>>>>>>> bool ScintillaWin::IsIMEOpen() { IMContext imc(MainHWND()); if (imc.hIMC) { - if (ImmGetOpenStatus(imc.hIMC)) - return true; + if (ImmGetOpenStatus(imc.hIMC)) { + return true; + } } return false; } DWORD ScintillaWin::GetIMEInputMode() { - DWORD dwConversion, dwSentence; IMContext imc(MainHWND()); if (imc.hIMC && ImmGetOpenStatus(imc.hIMC)) { - if (ImmGetConversionStatus(imc.hIMC, &dwConversion, &dwSentence)) + DWORD dwConversion = IME_CMODE_ALPHANUMERIC, dwSentence = IME_SMODE_NONE; + if (ImmGetConversionStatus(imc.hIMC, &dwConversion, &dwSentence)) { return dwConversion; + } } return 0; } // <<<<<<<<<<<<<<< END NON STD SCI PATCH <<<<<<<<<<<<<<< + void ScintillaWin::MoveImeCarets(Sci::Position offset) { // Move carets relatively by bytes. for (size_t r = 0; r < sel.Count(); r++) { @@ -1749,17 +1753,14 @@ sptr_t ScintillaWin::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam return ::DefWindowProc(MainHWND(), iMessage, wParam, lParam); // >>>>>>>>>>>>>>> BEG NON STD SCI PATCH >>>>>>>>>>>>>>> - case WM_IME_NOTIFY: { + case WM_IME_NOTIFY: if (wParam == IMN_SETOPENSTATUS) { - isIMEOpen = (IsIMEOpen() ? SC_IME_OPEN : SC_IME_CLOSE); + imeIsOpen = IsIMEOpen(); } if (wParam == IMN_SETOPENSTATUS || wParam == IMN_SETCONVERSIONMODE) { - DWORD dwIMEInputMode = GetIMEInputMode(); - isIMEModeCJK = (dwIMEInputMode != IME_CMODE_ALPHANUMERIC ? - SC_IME_MODE_CJK : SC_IME_MODE_NATIVE); + imeIsInModeCJK = (GetIMEInputMode() != IME_CMODE_ALPHANUMERIC); } return ::DefWindowProc(MainHWND(), iMessage, wParam, lParam); - } // <<<<<<<<<<<<<<< END NON STD SCI PATCH <<<<<<<<<<<<<<< // These are not handled in Scintilla and its faster to dispatch them here. diff --git a/src/Edit.c b/src/Edit.c index a839015db..3c1f11249 100644 --- a/src/Edit.c +++ b/src/Edit.c @@ -8353,142 +8353,4 @@ void EditShowZeroLengthCallTip(HWND hwnd, DocPos iPosition) g_CallTipType = CT_ZEROLEN_MATCH; } - -//============================================================================= -// -// SciInitThemes() -// -//WNDPROC pfnSciWndProc = NULL; -// -//FARPROC pfnOpenThemeData = NULL; -//FARPROC pfnCloseThemeData = NULL; -//FARPROC pfnDrawThemeBackground = NULL; -//FARPROC pfnGetThemeBackgroundContentRect = NULL; -//FARPROC pfnIsThemeActive = NULL; -//FARPROC pfnDrawThemeParentBackground = NULL; -//FARPROC pfnIsThemeBackgroundPartiallyTransparent = NULL; -// -//bool bThemesPresent = false; -//extern bool bIsAppThemed; -//extern HMODULE hModUxTheme; -// -//void SciInitThemes(HWND hwnd) -//{ -// if (hModUxTheme) { -// -// pfnOpenThemeData = GetProcAddress(hModUxTheme,"OpenThemeData"); -// pfnCloseThemeData = GetProcAddress(hModUxTheme,"CloseThemeData"); -// pfnDrawThemeBackground = GetProcAddress(hModUxTheme,"DrawThemeBackground"); -// pfnGetThemeBackgroundContentRect = GetProcAddress(hModUxTheme,"GetThemeBackgroundContentRect"); -// pfnIsThemeActive = GetProcAddress(hModUxTheme,"IsThemeActive"); -// pfnDrawThemeParentBackground = GetProcAddress(hModUxTheme,"DrawThemeParentBackground"); -// pfnIsThemeBackgroundPartiallyTransparent = GetProcAddress(hModUxTheme,"IsThemeBackgroundPartiallyTransparent"); -// -// pfnSciWndProc = (WNDPROC)SetWindowLongPtrW(hwnd,GWLP_WNDPROC,(LONG_PTR)&SciThemedWndProc); -// bThemesPresent = true; -// } -//} -// -// -////============================================================================= -//// -//// SciThemedWndProc() -//// -//LRESULT CALLBACK SciThemedWndProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam) -//{ -// static RECT rcContent; -// -// if (umsg == WM_NCCALCSIZE) { -// if (wParam) { -// LRESULT lresult = CallWindowProcW(pfnSciWndProc,hwnd,WM_NCCALCSIZE,wParam,lParam); -// NCCALCSIZE_PARAMS *csp = (NCCALCSIZE_PARAMS*)lParam; -// -// if (bThemesPresent && bIsAppThemed) { -// HANDLE hTheme = (HANDLE)pfnOpenThemeData(hwnd,L"edit"); -// if(hTheme) { -// bool bSuccess = false; -// RECT rcClient; -// -// if(pfnGetThemeBackgroundContentRect( -// hTheme,NULL,/*EP_EDITTEXT*/1,/*ETS_NORMAL*/1,&csp->rgrc[0],&rcClient) == S_OK) { -// InflateRect(&rcClient,-1,-1); -// -// rcContent.left = rcClient.left-csp->rgrc[0].left; -// rcContent.top = rcClient.top-csp->rgrc[0].top; -// rcContent.right = csp->rgrc[0].right-rcClient.right; -// rcContent.bottom = csp->rgrc[0].bottom-rcClient.bottom; -// -// CopyRect(&csp->rgrc[0],&rcClient); -// bSuccess = true; -// } -// pfnCloseThemeData(hTheme); -// -// if (bSuccess) -// return WVR_REDRAW; -// } -// } -// return lresult; -// } -// } -// -// else if (umsg == WM_NCPAINT) { -// LRESULT lresult = CallWindowProcW(pfnSciWndProc,hwnd,WM_NCPAINT,wParam,lParam); -// if(bThemesPresent && bIsAppThemed) { -// -// HANDLE hTheme = (HANDLE)pfnOpenThemeData(hwnd,L"edit"); -// if(hTheme) { -// RECT rcBorder; -// RECT rcClient; -// int nState; -// -// HDC hdc = GetWindowDC(hwnd); -// -// GetWindowRect(hwnd,&rcBorder); -// OffsetRect(&rcBorder,-rcBorder.left,-rcBorder.top); -// -// CopyRect(&rcClient,&rcBorder); -// rcClient.left += rcContent.left; -// rcClient.top += rcContent.top; -// rcClient.right -= rcContent.right; -// rcClient.bottom -= rcContent.bottom; -// -// ExcludeClipRect(hdc,rcClient.left,rcClient.top,rcClient.right,rcClient.bottom); -// -// if(pfnIsThemeBackgroundPartiallyTransparent(hTheme,/*EP_EDITTEXT*/1,/*ETS_NORMAL*/1)) -// pfnDrawThemeParentBackground(hwnd,hdc,&rcBorder); -// -// /* -// ETS_NORMAL = 1 -// ETS_HOT = 2 -// ETS_SELECTED = 3 -// ETS_DISABLED = 4 -// ETS_FOCUSED = 5 -// ETS_READONLY = 6 -// ETS_ASSIST = 7 -// */ -// -// if(!IsWindowEnabled(hwnd)) -// nState = /*ETS_DISABLED*/4; -// else if (GetFocus() == hwnd) -// nState = /*ETS_FOCUSED*/5; -// else if(SendMessage(hwnd,SCI_GETREADONLY,0,0)) -// nState = /*ETS_READONLY*/6; -// else -// nState = /*ETS_NORMAL*/1; -// -// pfnDrawThemeBackground(hTheme,hdc,/*EP_EDITTEXT*/1,nState,&rcBorder,NULL); -// pfnCloseThemeData(hTheme); -// -// ReleaseDC(hwnd,hdc); -// return 0; -// } -// } -// return lresult; -// } -// -// return CallWindowProcW(pfnSciWndProc,hwnd,umsg,wParam,lParam); -//} - - - /// End of Edit.c \\\ diff --git a/src/Helpers.c b/src/Helpers.c index eb89defb4..01bba1159 100644 --- a/src/Helpers.c +++ b/src/Helpers.c @@ -426,29 +426,6 @@ HBITMAP ResizeImageForCurrentDPI(HBITMAP hbmp) } - -//============================================================================= -// -// PrivateIsAppThemed() -// -extern HMODULE hModUxTheme; - -bool PrivateIsAppThemed() -{ - bool bIsAppThemed = IsWin8() ? true : false; - - if (hModUxTheme && !bIsAppThemed) - { - FARPROC pfnIsAppThemed = GetProcAddress(hModUxTheme,"IsAppThemed"); - - if (pfnIsAppThemed) { - bIsAppThemed = (bool)pfnIsAppThemed(); - } - } - return bIsAppThemed; -} - - //============================================================================= // // PrivateSetCurrentProcessExplicitAppUserModelID() diff --git a/src/Helpers.h b/src/Helpers.h index 9a417e817..241574479 100644 --- a/src/Helpers.h +++ b/src/Helpers.h @@ -211,7 +211,6 @@ inline int ScaleToCurrentDPI(float fVal) { return float2int((fVal * g_uCurrentDP inline int ScaleFontSize(float fSize) { return float2int((fSize * g_uCurrentDPI) / (float)g_uCurrentPPI); } inline int ScaleFractionalFontSize(float fSize) { return float2int((fSize * 10.0f * g_uCurrentDPI) / (float)g_uCurrentPPI) * 10; } -bool PrivateIsAppThemed(); HRESULT PrivateSetCurrentProcessExplicitAppUserModelID(PCWSTR); bool IsElevated(); bool IsUserAdmin(); diff --git a/src/Notepad3.c b/src/Notepad3.c index c72e2c9f3..c5d6878ed 100644 --- a/src/Notepad3.c +++ b/src/Notepad3.c @@ -27,6 +27,7 @@ #define NOMINMAX 1 #include #include +#include #include #include #include @@ -343,7 +344,6 @@ WIN32_FIND_DATA fdCurFile; UINT msgTaskbarCreated = 0; -HMODULE hModUxTheme = NULL; HMODULE hRichEdit = NULL; static bool g_bRunningWatch = false; @@ -718,8 +718,6 @@ int WINAPI wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInst, _In_ msgTaskbarCreated = RegisterWindowMessage(L"TaskbarCreated"); - if (!IsWin8()) { hModUxTheme = LoadLibrary(L"uxtheme.dll"); } - hRichEdit = LoadLibrary(L"RICHED20.DLL"); // Use "RichEdit20W" for control in .rc //hRichEdit = LoadLibrary(L"MSFTEDIT.DLL"); // Use "RichEdit50W" for control in .rc @@ -790,8 +788,6 @@ int WINAPI wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInst, _In_ Scintilla_ReleaseResources(); UnregisterClass(wchWndClass, g_hInstance); - if (hModUxTheme) { FreeLibrary(hModUxTheme); } - OleUninitialize(); if (g_hLngResContainer != g_hInstance) { FreeMUILibrary(g_hLngResContainer); } @@ -1799,7 +1795,7 @@ LRESULT MsgCreate(HWND hwnd, WPARAM wParam,LPARAM lParam) hInstance, NULL); - if (PrivateIsAppThemed()) { + if (IsAppThemed()) { RECT rc, rc2; @@ -2051,13 +2047,12 @@ void CreateBars(HWND hwnd, HINSTANCE hInstance) REBARBANDINFO rbBand; - bool const bIsPrivAppThemed = PrivateIsAppThemed(); rbBand.cbSize = sizeof(REBARBANDINFO); rbBand.fMask = /*RBBIM_COLORS | RBBIM_TEXT | RBBIM_BACKGROUND | */ RBBIM_STYLE | RBBIM_CHILD | RBBIM_CHILDSIZE /*| RBBIM_SIZE*/; //rbBand.fStyle = /*RBBS_CHILDEDGE |*//* RBBS_BREAK |*/ RBBS_FIXEDSIZE /*| RBBS_GRIPPERALWAYS*/; - rbBand.fStyle = bIsPrivAppThemed ? (RBBS_FIXEDSIZE | RBBS_CHILDEDGE) : RBBS_FIXEDSIZE; + rbBand.fStyle = bIsAppThemed ? (RBBS_FIXEDSIZE | RBBS_CHILDEDGE) : RBBS_FIXEDSIZE; rbBand.hbmBack = NULL; rbBand.lpText = L"Toolbar"; rbBand.hwndChild = g_hwndToolbar; @@ -2070,7 +2065,7 @@ void CreateBars(HWND hwnd, HINSTANCE hInstance) GetWindowRect(g_hwndReBar,&rc); cyReBar = rc.bottom - rc.top; - cyReBarFrame = bIsPrivAppThemed ? 0 : 2; + cyReBarFrame = bIsAppThemed ? 0 : 2; } @@ -2215,7 +2210,7 @@ LRESULT MsgThemeChanged(HWND hwnd, WPARAM wParam ,LPARAM lParam) // reinitialize edit frame - if (PrivateIsAppThemed()) { + if (IsAppThemed()) { bIsAppThemed = true; SetWindowLongPtr(g_hwndEdit,GWL_EXSTYLE,GetWindowLongPtr(g_hwndEdit,GWL_EXSTYLE) & ~WS_EX_CLIENTEDGE); @@ -6366,13 +6361,10 @@ LRESULT MsgNotify(HWND hwnd, WPARAM wParam, LPARAM lParam) if ((g_bAutoCompleteWords || g_bAutoCLexerKeyWords)) { //if (g_bAutoCinASCIIModeOnly && (ich > 0x7F) ) { - bool isIMEModeActive, - bIMEOpen = (bool)SendMessage(g_hwndEdit, SCI_GETIMEOPEN, 0, 0); - if (bIMEOpen) { // || (scn->modifiers != SC_CHARADDED_NORMAL) - isIMEModeActive = (bool)SendMessage(g_hwndEdit, SCI_GETIMEMODEACTIVE, 0, 0); - if (isIMEModeActive ) { + if (SciCall_IsIMEOpen()) { + if (SciCall_IsIMEModeCJK()) { SciCall_AutoCCancel(); - return 0LL; + return 0; } } //} //g_bAutoCinASCIIModeOnly section diff --git a/src/SciCall.h b/src/SciCall.h index 3bd2a6f7c..2578610e2 100644 --- a/src/SciCall.h +++ b/src/SciCall.h @@ -439,7 +439,16 @@ DeclareSciCallV1(SetUndoCollection, SETUNDOCOLLECTION, bool, bCollectUndo) DeclareSciCallV1(SetBufferedDraw, SETBUFFEREDDRAW, bool, value) DeclareSciCallV1(SetTechnology, SETTECHNOLOGY, int, technology) DeclareSciCallV1(SetBidirectional, SETBIDIRECTIONAL, int, direction) + + +//============================================================================= +// +// IME +// DeclareSciCallV1(SetIMEInteraction, SETIMEINTERACTION, int, interact) +DeclareSciCallR0(IsIMEOpen, ISIMEOPEN, bool) +DeclareSciCallR0(IsIMEModeCJK, ISIMEMODECJK, bool) + //============================================================================= //