aboutsummaryrefslogtreecommitdiffhomepage
path: root/win32/ScintillaDLL.cxx
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2018-04-04 16:21:09 +1000
committerNeil <nyamatongwe@gmail.com>2018-04-04 16:21:09 +1000
commita6dd4eeab87d2562bd6280c594e01869e0bc4aa1 (patch)
tree8e54c0ee625433c6b081d784a4fcba19bbd3f30e /win32/ScintillaDLL.cxx
parentc1886dc599e9d985abef06d8779cfc90478c9ebd (diff)
downloadscintilla-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.cxx35
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;
+}