DIB Engine: introduction of bitmaplist structure
[wine/hacks.git] / dlls / winedib.drv / dibdrv_main.c
blob119a2942d7290b9ff116033f9e4f037faf53db5f
1 /*
2 * DIBDRV initialization code
4 * Copyright 2009 Massimo Del Fedele
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
21 #include "config.h"
22 #include "wine/port.h"
24 #include "dibdrv.h"
26 WINE_DEFAULT_DEBUG_CHANNEL(dibdrv);
28 /***********************************************************************
29 * DIBDRV initialization routine
31 BOOL WINAPI DllMain( HINSTANCE hinst, DWORD reason, LPVOID reserved )
33 BOOL ret = TRUE;
35 switch(reason)
37 case DLL_PROCESS_ATTACH:
39 /* Loads display driver */
40 _DIBDRV_LoadDisplayDriver();
42 /* initializes freetype library */
43 if(!_DIBDRV_FreeType_Init())
44 ERR("Couldn't initialize freetype library.\n");
46 /* initializes internal bitmap list */
47 _BITMAPLIST_Init();
49 break;
50 case DLL_THREAD_DETACH:
51 /* do thread detach */
52 break;
53 case DLL_PROCESS_DETACH:
55 /* terminates freetype library */
56 _DIBDRV_FreeType_Terminate();
58 /* unloads display driver */
59 _DIBDRV_FreeDisplayDriver();
61 /* terminates internal bitmap list */
62 _BITMAPLIST_Terminate();
64 break;
66 return ret;