mirror of
git://source.winehq.org/git/wine.git
synced 2024-08-31 14:16:05 +00:00
|
||
---|---|---|
.. | ||
.cvsignore | ||
Makefile.in | ||
parser.h | ||
parser.l | ||
parser.y | ||
README | ||
README.sysres | ||
systest.c | ||
TODO | ||
winelogo.bmp | ||
winerc.c |
This is winerc, the resource compiler for the Wine project. It takes the same input as rc.exe, but generates C files as output. These C files can be linked together with the application, which can access the resource data directly instead of using FindResource/LoadResource/LockResource. The generated C code contains arrays, which represent the resource as if it was obtained from LoadResource. A table to map resource names to pointers is also available. Primary applications are the resources of sysres.dll and a future commdlg.dll, but the use in the library version is possible as well. The expected advantage of using winerc over sysres.dll is a speed improvement, however, actual data to support that claim are not available. The use of winerc might also simplify the source code. For example, the system menu is managed in the function CopySysMenu (controls/menu.c). A winerc-based implementation would just call return LoadMenuIndirect(_Sysres_SYSMENU); As the resources are already in the Wine image, they are loaded on demand as any other part of a Unix executable image. Current State This is the first release of winerc. It is alpha software, as the rest of Wine is. If you use it for replacing sysres.dll, or if you write other parts of Wine which require resource (like commdlg), you will probably notice a loss in stability. This is especially true for cursor and icon resources, as they are unlikely to work at all. See the TODO file for details. Copying The license for Wine applies for winerc as well. Read the files LICENSE and WARRANTY in the current or any future distribution for details. You can change any source files, and you can add your own copyright notice, as long as you leave the existing copyrights intact. Bug Reports and Fixes If you find a bug in winerc, you can report it to me, martin@cs.csufresno.edu (Martin von Loewis) or to comp.emulators.ms-windows.wine. If you can fix the bug, send the diffs and ChangeLog entry to julliard@lrc.epfl.ch (Alexandre Julliard).