Moved everything out of windows.h.
[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 #include "wrc_rsc.h"
12
13 extern const wrc_resource32_t * const sysres_En_ResTable[];
14 extern const wrc_resource32_t * const sysres_Es_ResTable[];
15 extern const wrc_resource32_t * const sysres_De_ResTable[];
16 extern const wrc_resource32_t * const sysres_No_ResTable[];
17 extern const wrc_resource32_t * const sysres_Fr_ResTable[];
18 extern const wrc_resource32_t * const sysres_Fi_ResTable[];
19 extern const wrc_resource32_t * const sysres_Da_ResTable[];
20 extern const wrc_resource32_t * const sysres_Cz_ResTable[];
21 extern const wrc_resource32_t * const sysres_Eo_ResTable[];
22 extern const wrc_resource32_t * const sysres_It_ResTable[];
23 extern const wrc_resource32_t * const sysres_Ko_ResTable[];
24 extern const wrc_resource32_t * const sysres_Hu_ResTable[];
25 extern const wrc_resource32_t * const sysres_Pl_ResTable[];
26 extern const wrc_resource32_t * const sysres_Po_ResTable[];
27 extern const wrc_resource32_t * const sysres_Sw_ResTable[];
28 extern const wrc_resource32_t * const sysres_Ca_ResTable[];
29
30 static const wrc_resource32_t * const * SYSRES_Resources[] =
31 {
32     sysres_En_ResTable,  /* LANG_En */
33     sysres_Es_ResTable,  /* LANG_Es */
34     sysres_De_ResTable,  /* LANG_De */
35     sysres_No_ResTable,  /* LANG_No */
36     sysres_Fr_ResTable,  /* LANG_Fr */
37     sysres_Fi_ResTable,  /* LANG_Fi */
38     sysres_Da_ResTable,  /* LANG_Da */
39     sysres_Cz_ResTable,  /* LANG_Cz */
40     sysres_Eo_ResTable,  /* LANG_Eo */
41     sysres_It_ResTable,  /* LANG_It */
42     sysres_Ko_ResTable,  /* LANG_Ko */
43     sysres_Hu_ResTable,  /* LANG_Hu */
44     sysres_Pl_ResTable,  /* LANG_Pl */
45     sysres_Po_ResTable,  /* LANG_Po */
46     sysres_Sw_ResTable,  /* LANG_Sw */
47     sysres_Ca_ResTable   /* LANG_Ca */
48 };
49
50
51 /***********************************************************************
52  *           SYSRES_GetResourcePtr
53  *
54  * Return a pointer to a system resource.
55  */
56 LPCVOID SYSRES_GetResPtr( SYSTEM_RESOURCE id )
57 {
58     return SYSRES_Resources[Options.language][id]->data;
59 }
60
61
62 /***********************************************************************
63  *           SYSRES_LoadResource
64  *
65  * Create a global memory block for a system resource.
66  */
67 HGLOBAL16 SYSRES_LoadResource( SYSTEM_RESOURCE id )
68 {
69     const wrc_resource32_t *resPtr;
70
71     resPtr = SYSRES_Resources[Options.language][id];
72     return GLOBAL_CreateBlock( GMEM_FIXED, resPtr->data, resPtr->datasize,
73                                GetCurrentPDB(), FALSE, FALSE, TRUE, NULL );
74 }
75
76
77 /***********************************************************************
78  *           SYSRES_FreeResource
79  *
80  * Free a global memory block for a system resource.
81  */
82 void SYSRES_FreeResource( HGLOBAL16 handle )
83 {
84     GLOBAL_FreeBlock( handle );
85 }