From 1e00d4f26ac7e2a7ac67195c0a3516f832edf34c Mon Sep 17 00:00:00 2001 From: nyamatongwe Date: Fri, 21 Jul 2000 14:08:48 +0000 Subject: Added SCI_GETDIRECTFUNCTION and SCI_GETDIRECTPOINTER to remove Windows SendMessage intermediary code between client and Scintilla. --- win32/ScintillaWin.cxx | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'win32') 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(DirectFunction); + + case SCI_GETDIRECTPOINTER: + return reinterpret_cast(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); -- cgit v1.2.3