1 |
Ühel kenal päeval, N, 21.04.2016 kell 06:53, kirjutas Kent Fredric: |
2 |
> On 21 April 2016 at 06:38, Ian Stakenvicius <axs@g.o> wrote: |
3 |
> > Well so far the only needs I have run into for the win32 flag has |
4 |
> > been in relation to choosing UI toolkit support for cairo and gtk+ |
5 |
> > (and possibly others in the future), which is why I saw the |
6 |
> > parallel. |
7 |
> |
8 |
> |
9 |
> Given you're not using the flag to indicate "works on win32" as such, |
10 |
> but instead "compile using Win32 Widgets instead of something else", |
11 |
> wouldn't a better name indicate that somehow? |
12 |
> |
13 |
> The simplest thing I can think of that clears this confusion is a few |
14 |
> extra characters: |
15 |
> |
16 |
> "win32gui", "win32ui" |
17 |
> |
18 |
> Or something along those lines. |
19 |
> |
20 |
> It doesn't require us to know what the exact binding keywords in |
21 |
> microsoft terminology is used, and it clearly communicates "This is |
22 |
> something to do with User Interfaces" as opposed to "Just |
23 |
> linking/compiling slightly differently". |
24 |
|
25 |
win32 is what the base API seems to be called all over in the wild. |
26 |
The GTK+ configure flag is also --enable-win32-backend in gtk3 and |
27 |
--with-backend=win32 in gtk2 (didn't personally check the latter). |
28 |
Note that gtk configure actually also tracks platform_win32 and |
29 |
os_win32 in there, which are different things (and just configure.ac |
30 |
internal names). Former is true when host contains mingw, latter when |
31 |
host contains mingw or cygwin. |
32 |
When win32 gdk backend is enabled (which the propose USE flag would |
33 |
do), then it will depend on a matching cairo backend of that, to be |
34 |
able to do its own drawing on Windows. There's actually some stuff |
35 |
about pangowin32 as well, not sure Ian has noticed that yet. |
36 |
|
37 |
The GDK win32 backend uses what is called the win32 API. See e.g |
38 |
https://en.wikipedia.org/wiki/Windows_API#Versions |
39 |
For example a GdkWindow is created via CreateWindowExW, root of that |
40 |
documentation is apparently at |
41 |
https://msdn.microsoft.com/en-us/library/windows/desktop/ff818516(v=vs.85).aspx |
42 |
|
43 |
It doesn't use the Windows API higher level UI stuff, like wxWidgets |
44 |
does, but only the low-level stuff, and then emulating the themeing as |
45 |
best as it can right now, like Qt does. So in that way win32gui might |
46 |
be misleading. win32 or win32api or winapi or I dunno. |
47 |
|
48 |
Theoretically you can also build this stuff for consumption with wine. |
49 |
Or maybe ReactOS? |
50 |
Basically the only real point I have is that anything kernel_* to |
51 |
control this probably doesn't make sense. |
52 |
|
53 |
|
54 |
Mart |