Release 970215
[wine] / resources / sysres.c
1 /*
2  * System resources loading
3  *
4  * Copyright 1995 Alexandre Julliard
5  */
6
7 #include "windows.h"
8 #include "global.h"
9 #include "options.h"
10 #include "resource.h"
11
12 #include "sysres_En.h"
13 #include "sysres_Es.h"
14 #include "sysres_De.h"
15 #include "sysres_No.h"
16 #include "sysres_Fr.h"
17 #include "sysres_Fi.h"
18 #include "sysres_Da.h"
19 #include "sysres_Cz.h"
20 #include "sysres_Eo.h"
21 #include "sysres_It.h"
22 #include "sysres_Ko.h"
23 #include "sysres_Hu.h"
24
25 static const struct resource * const * SYSRES_Resources[] =
26 {
27     sysres_En_Table,  /* LANG_En */
28     sysres_Es_Table,  /* LANG_Es */
29     sysres_De_Table,  /* LANG_De */
30     sysres_No_Table,  /* LANG_No */
31     sysres_Fr_Table,  /* LANG_Fr */
32     sysres_Fi_Table,  /* LANG_Fi */
33     sysres_Da_Table,  /* LANG_Da */
34     sysres_Cz_Table,  /* LANG_Cz */
35     sysres_Eo_Table,  /* LANG_Eo */
36     sysres_It_Table,  /* LANG_It */
37     sysres_Ko_Table,  /* LANG_Ko */
38     sysres_Hu_Table   /* LANG_Hu */
39 };
40
41
42 /***********************************************************************
43  *           SYSRES_GetResourcePtr
44  *
45  * Return a pointer to a system resource.
46  */
47 LPCVOID SYSRES_GetResPtr( SYSTEM_RESOURCE id )
48 {
49     return SYSRES_Resources[Options.language][id]->bytes;
50 }
51
52
53 /***********************************************************************
54  *           SYSRES_LoadResource
55  *
56  * Create a global memory block for a system resource.
57  */
58 HGLOBAL16 SYSRES_LoadResource( SYSTEM_RESOURCE id )
59 {
60     const struct resource *resPtr;
61
62     resPtr = SYSRES_Resources[Options.language][id];
63     return GLOBAL_CreateBlock( GMEM_FIXED, resPtr->bytes, resPtr->size,
64                                GetCurrentPDB(), FALSE, FALSE, TRUE, NULL );
65 }
66
67
68 /***********************************************************************
69  *           SYSRES_FreeResource
70  *
71  * Free a global memory block for a system resource.
72  */
73 void SYSRES_FreeResource( HGLOBAL16 handle )
74 {
75     GLOBAL_FreeBlock( handle );
76 }