diff options
author | Neil <nyamatongwe@gmail.com> | 2018-04-04 16:21:09 +1000 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2018-04-04 16:21:09 +1000 |
commit | a6dd4eeab87d2562bd6280c594e01869e0bc4aa1 (patch) | |
tree | 8e54c0ee625433c6b081d784a4fcba19bbd3f30e /win32/ScintillaDLL.cxx | |
parent | c1886dc599e9d985abef06d8779cfc90478c9ebd (diff) | |
download | scintilla-mirror-a6dd4eeab87d2562bd6280c594e01869e0bc4aa1.tar.gz |
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.
Diffstat (limited to 'win32/ScintillaDLL.cxx')
-rw-r--r-- | win32/ScintillaDLL.cxx | 35 |
1 files changed, 35 insertions, 0 deletions
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 <neilh@scintilla.org> +// 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 <windows.h> + +#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; +} |