annotate semiconginev2/thirdparty/winim/winim.nim @ 1250:9ceb509af5ea

add: loading of most kinds of data from gltf
author sam <sam@basx.dev>
date Thu, 25 Jul 2024 23:15:05 +0700
parents 56781cc0fc7c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1191
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
1 #====================================================================
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
2 #
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
3 # Winim - Windows API, COM, and CLR Module for Nim
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
4 # Copyright (c) Chen Kai-Hung, Ward
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
5 #
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
6 #====================================================================
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
7
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
8 ## This module contains Windows API, struct, and constant definitions.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
9 ## The definitions are translated from MinGW's Windows headers.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
10 ##
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
11 ## The module also include some windows string type utilities and COM support.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
12 ## See utils.nim, winstr.nim, and com.nim for details.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
13 ##
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
14 ## Usage:
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
15 ## .. code-block:: Nim
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
16 ## import winim # impore all modules, except COM support
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
17 ## import winim/lean # for core SDK only
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
18 ## import winim/mean # for core SDK + Shell + OLE
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
19 ## import winim/com # for core SDK + Shell + OLE + COM support
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
20 ##
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
21 ## To compile:
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
22 ## .. code-block:: Nim
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
23 ## nim c source.nim
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
24 ## add -d:winansi or -d:useWinAnsi for Ansi version (Unicode by default).
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
25 ## add -d:noDiscardableApi if not like discardable windows API.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
26 ## add -d:noRes to disable the visual styles (not to link winim32.res or winim64.res).
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
27 ## add -d:lean same as import winim/lean.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
28 ## add -d:mean or -d:win32_lean_and_mean same as import winim/mean.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
29 ## add -d:notrace disable COM objects trace. See com.nim for details.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
30
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
31 when defined(lean):
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
32 import winim/[core]
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
33 export core
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
34 elif defined(mean) or defined(win32_lean_and_mean):
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
35 import winim/[core, shell, ole]
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
36 export core, shell, ole
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
37 else:
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
38 import winim/[core, shell, net, ole, extra]
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
39 export core, shell, net, ole, extra
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
40
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
41 import winim/[utils, winstr]
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
42 export utils, winstr