1191
|
1 #====================================================================
|
|
2 #
|
|
3 # Winim - Windows API, COM, and CLR Module for Nim
|
|
4 # Copyright (c) Chen Kai-Hung, Ward
|
|
5 #
|
|
6 #====================================================================
|
|
7
|
|
8 ## This module contains Windows API, struct, and constant definitions.
|
|
9 ## The definitions are translated from MinGW's Windows headers.
|
|
10 ##
|
|
11 ## The module also include some windows string type utilities and COM support.
|
|
12 ## See utils.nim, winstr.nim, and com.nim for details.
|
|
13 ##
|
|
14 ## Usage:
|
|
15 ## .. code-block:: Nim
|
|
16 ## import winim # impore all modules, except COM support
|
|
17 ## import winim/lean # for core SDK only
|
|
18 ## import winim/mean # for core SDK + Shell + OLE
|
|
19 ## import winim/com # for core SDK + Shell + OLE + COM support
|
|
20 ##
|
|
21 ## To compile:
|
|
22 ## .. code-block:: Nim
|
|
23 ## nim c source.nim
|
|
24 ## add -d:winansi or -d:useWinAnsi for Ansi version (Unicode by default).
|
|
25 ## add -d:noDiscardableApi if not like discardable windows API.
|
|
26 ## add -d:noRes to disable the visual styles (not to link winim32.res or winim64.res).
|
|
27 ## add -d:lean same as import winim/lean.
|
|
28 ## add -d:mean or -d:win32_lean_and_mean same as import winim/mean.
|
|
29 ## add -d:notrace disable COM objects trace. See com.nim for details.
|
|
30
|
|
31 when defined(lean):
|
|
32 import winim/[core]
|
|
33 export core
|
|
34 elif defined(mean) or defined(win32_lean_and_mean):
|
|
35 import winim/[core, shell, ole]
|
|
36 export core, shell, ole
|
|
37 else:
|
|
38 import winim/[core, shell, net, ole, extra]
|
|
39 export core, shell, net, ole, extra
|
|
40
|
|
41 import winim/[utils, winstr]
|
|
42 export utils, winstr
|