aboutsummaryrefslogtreecommitdiffhomepage
path: root/win32
diff options
context:
space:
mode:
Diffstat (limited to 'win32')
-rw-r--r--win32/ScintillaWin.cxx13
1 files changed, 13 insertions, 0 deletions
diff --git a/win32/ScintillaWin.cxx b/win32/ScintillaWin.cxx
index bd4254830..8d4d8f8cf 100644
--- a/win32/ScintillaWin.cxx
+++ b/win32/ScintillaWin.cxx
@@ -114,6 +114,8 @@ class ScintillaWin :
virtual void Initialise();
virtual void Finalise();
+ static LRESULT DirectFunction(
+ ScintillaWin *sci, UINT iMessage, WPARAM wParam, LPARAM lParam);
static LRESULT PASCAL SWndProc(
HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam);
static LRESULT PASCAL CTWndProc(
@@ -556,6 +558,12 @@ LRESULT ScintillaWin::WndProc(unsigned int iMessage, unsigned long wParam, long
case WM_WINDOWPOSCHANGED:
return ::DefWindowProc(wMain.GetID(), iMessage, wParam, lParam);
+ case SCI_GETDIRECTFUNCTION:
+ return reinterpret_cast<LRESULT>(DirectFunction);
+
+ case SCI_GETDIRECTPOINTER:
+ return reinterpret_cast<LRESULT>(this);
+
default:
return ScintillaBase::WndProc(iMessage, wParam, lParam);
}
@@ -1528,6 +1536,11 @@ LRESULT PASCAL ScintillaWin::CTWndProc(
}
}
+LRESULT ScintillaWin::DirectFunction(
+ ScintillaWin *sci, UINT iMessage, WPARAM wParam, LPARAM lParam) {
+ return sci->WndProc(iMessage, wParam, lParam);
+}
+
LRESULT PASCAL ScintillaWin::SWndProc(
HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam) {
//Platform::DebugPrintf("S W:%x M:%x WP:%x L:%x\n", hWnd, iMessage, wParam, lParam);