Release 970329
[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 #include "sysres_Pl.h"
25 #include "sysres_Po.h"
26
27 static const struct resource * const * SYSRES_Resources[] =
28 {
29     sysres_En_Table,  /* LANG_En */
30     sysres_Es_Table,  /* LANG_Es */
31     sysres_De_Table,  /* LANG_De */
32     sysres_No_Table,  /* LANG_No */
33     sysres_Fr_Table,  /* LANG_Fr */
34     sysres_Fi_Table,  /* LANG_Fi */
35     sysres_Da_Table,  /* LANG_Da */
36     sysres_Cz_Table,  /* LANG_Cz */
37     sysres_Eo_Table,  /* LANG_Eo */
38     sysres_It_Table,  /* LANG_It */
39     sysres_Ko_Table,  /* LANG_Ko */
40     sysres_Hu_Table,  /* LANG_Hu */
41     sysres_Pl_Table,  /* LANG_Pl */
42     sysres_Po_Table   /* LANG_Po */
43 };
44
45
46 /***********************************************************************
47  *           SYSRES_GetResourcePtr
48  *
49  * Return a pointer to a system resource.
50  */
51 LPCVOID SYSRES_GetResPtr( SYSTEM_RESOURCE id )
52 {
53     return SYSRES_Resources[Options.language][id]->bytes;
54 }
55
56
57 /***********************************************************************
58  *           SYSRES_LoadResource
59  *
60  * Create a global memory block for a system resource.
61  */
62 HGLOBAL16 SYSRES_LoadResource( SYSTEM_RESOURCE id )
63 {
64     const struct resource *resPtr;
65
66     resPtr = SYSRES_Resources[Options.language][id];
67     return GLOBAL_CreateBlock( GMEM_FIXED, resPtr->bytes, resPtr->size,
68                                GetCurrentPDB(), FALSE, FALSE, TRUE, NULL );
69 }
70
71
72 /***********************************************************************
73  *           SYSRES_FreeResource
74  *
75  * Free a global memory block for a system resource.
76  */
77 void SYSRES_FreeResource( HGLOBAL16 handle )
78 {
79     GLOBAL_FreeBlock( handle );
80 }