1*8af74909SZhong Yang // Scintilla source code edit control
2*8af74909SZhong Yang /** @file ScintillaDLL.cxx
3*8af74909SZhong Yang ** DLL entry point for Scintilla.
4*8af74909SZhong Yang **/
5*8af74909SZhong Yang // Copyright 1998-2018 by Neil Hodgson <[email protected]>
6*8af74909SZhong Yang // The License.txt file describes the conditions under which this software may be distributed.
7*8af74909SZhong Yang
8*8af74909SZhong Yang #undef _WIN32_WINNT
9*8af74909SZhong Yang #define _WIN32_WINNT 0x0500
10*8af74909SZhong Yang #undef WINVER
11*8af74909SZhong Yang #define WINVER 0x0500
12*8af74909SZhong Yang #include <windows.h>
13*8af74909SZhong Yang
14*8af74909SZhong Yang #include "Scintilla.h"
15*8af74909SZhong Yang #include "ScintillaWin.h"
16*8af74909SZhong Yang
17*8af74909SZhong Yang extern "C"
18*8af74909SZhong Yang __declspec(dllexport)
Scintilla_DirectFunction(ScintillaWin * sci,UINT iMessage,uptr_t wParam,sptr_t lParam)19*8af74909SZhong Yang sptr_t __stdcall Scintilla_DirectFunction(
20*8af74909SZhong Yang ScintillaWin *sci, UINT iMessage, uptr_t wParam, sptr_t lParam) {
21*8af74909SZhong Yang return Scintilla::DirectFunction(sci, iMessage, wParam, lParam);
22*8af74909SZhong Yang }
23*8af74909SZhong Yang
DllMain(HINSTANCE hInstance,DWORD dwReason,LPVOID lpvReserved)24*8af74909SZhong Yang extern "C" int APIENTRY DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpvReserved) {
25*8af74909SZhong Yang //Platform::DebugPrintf("Scintilla::DllMain %d %d\n", hInstance, dwReason);
26*8af74909SZhong Yang if (dwReason == DLL_PROCESS_ATTACH) {
27*8af74909SZhong Yang if (!Scintilla_RegisterClasses(hInstance))
28*8af74909SZhong Yang return FALSE;
29*8af74909SZhong Yang } else if (dwReason == DLL_PROCESS_DETACH) {
30*8af74909SZhong Yang if (lpvReserved == NULL) {
31*8af74909SZhong Yang Scintilla::ResourcesRelease(true);
32*8af74909SZhong Yang }
33*8af74909SZhong Yang }
34*8af74909SZhong Yang return TRUE;
35*8af74909SZhong Yang }
36