From a6dd4eeab87d2562bd6280c594e01869e0bc4aa1 Mon Sep 17 00:00:00 2001 From: Neil Date: Wed, 4 Apr 2018 16:21:09 +1000 Subject: Move DLL entry points DllMain and Scintilla_DirectFunction into ScintillaDLL.cxx to simplify build process by eliminating the compilation of ScintillaWin.cxx into ScintillaWinS.o|obj. --- win32/ScintillaDLL.cxx | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 win32/ScintillaDLL.cxx (limited to 'win32/ScintillaDLL.cxx') diff --git a/win32/ScintillaDLL.cxx b/win32/ScintillaDLL.cxx new file mode 100644 index 000000000..1ecf1c16e --- /dev/null +++ b/win32/ScintillaDLL.cxx @@ -0,0 +1,35 @@ +// Scintilla source code edit control +/** @file ScintillaDLL.cxx + ** DLL entry point for Scintilla. + **/ +// Copyright 1998-2018 by Neil Hodgson +// The License.txt file describes the conditions under which this software may be distributed. + +#undef _WIN32_WINNT +#define _WIN32_WINNT 0x0500 +#undef WINVER +#define WINVER 0x0500 +#include + +#include "Scintilla.h" +#include "ScintillaWin.h" + +extern "C" +__declspec(dllexport) +sptr_t __stdcall Scintilla_DirectFunction( + ScintillaWin *sci, UINT iMessage, uptr_t wParam, sptr_t lParam) { + return Scintilla::DirectFunction(sci, iMessage, wParam, lParam); +} + +extern "C" int APIENTRY DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpvReserved) { + //Platform::DebugPrintf("Scintilla::DllMain %d %d\n", hInstance, dwReason); + if (dwReason == DLL_PROCESS_ATTACH) { + if (!Scintilla_RegisterClasses(hInstance)) + return FALSE; + } else if (dwReason == DLL_PROCESS_DETACH) { + if (lpvReserved == NULL) { + Scintilla::ResourcesRelease(true); + } + } + return TRUE; +} -- cgit v1.2.3