LMMS
Loading...
Searching...
No Matches
swell-types.h
Go to the documentation of this file.
1/* Cockos SWELL (Simple/Small Win32 Emulation Layer for Linux/OSX)
2 Copyright (C) 2006 and later, Cockos, Inc.
3
4 This software is provided 'as-is', without any express or implied
5 warranty. In no event will the authors be held liable for any damages
6 arising from the use of this software.
7
8 Permission is granted to anyone to use this software for any purpose,
9 including commercial applications, and to alter it and redistribute it
10 freely, subject to the following restrictions:
11
12 1. The origin of this software must not be misrepresented; you must not
13 claim that you wrote the original software. If you use this software
14 in a product, an acknowledgment in the product documentation would be
15 appreciated but is not required.
16 2. Altered source versions must be plainly marked as such, and must not be
17 misrepresented as being the original software.
18 3. This notice may not be removed or altered from any source distribution.
19
20
21 SWELL provides _EXTREMELY BASIC_ win32 wrapping for OS X and maybe other platforms.
22
23 */
24
25#ifndef _WDL_SWELL_H_TYPES_DEFINED_
26#define _WDL_SWELL_H_TYPES_DEFINED_
27
28#include <stdlib.h>
29#include <stdio.h>
30#include <string.h>
31#include <unistd.h>
32#include <sys/types.h>
33#include <sys/stat.h>
34#include <dlfcn.h>
35#include <ctype.h>
36
37#if defined(__cplusplus)
38#include <cstddef>
39#endif
40
41#include <stdint.h>
42typedef intptr_t INT_PTR, *PINT_PTR, LONG_PTR, *PLONG_PTR;
44
45#ifndef FALSE
46#define FALSE 0
47#endif
48#ifndef TRUE
49#define TRUE 1
50#endif
51
52#ifndef S_OK
53#define S_OK 0
54#endif
55#ifndef E_FAIL
56#define E_FAIL (-1)
57#endif
58
59
60// the byte ordering of RGB() etc is different than on win32
61#define RGB(r,g,b) (((r)<<16)|((g)<<8)|(b))
62#define GetRValue(x) (((x)>>16)&0xff)
63#define GetGValue(x) (((x)>>8)&0xff)
64#define GetBValue(x) ((x)&0xff)
65
66// basic platform compat defines
67#ifndef stricmp
68#define stricmp(x,y) strcasecmp(x,y)
69#endif
70#ifndef strnicmp
71#define strnicmp(x,y,z) strncasecmp(x,y,z)
72#endif
73
74#define DeleteFile(x) (!unlink(x))
75#define MoveFile(x,y) (!rename(x,y))
76#define GetCurrentDirectory(sz,buf) (!getcwd(buf,sz))
77#define SetCurrentDirectory(buf) (!chdir(buf))
78#define CreateDirectory(x,y) (!mkdir((x),0755))
79
80#ifndef wsprintf
81#define wsprintf sprintf
82#endif
83
84#ifndef LOWORD
85#define MAKEWORD(a, b) ((unsigned short)(((BYTE)(a)) | ((WORD)((BYTE)(b))) << 8))
86#define MAKELONG(a, b) ((int)(((unsigned short)(a)) | ((DWORD)((unsigned short)(b))) << 16))
87#define MAKEWPARAM(l, h) (WPARAM)MAKELONG(l, h)
88#define MAKELPARAM(l, h) (LPARAM)MAKELONG(l, h)
89#define MAKELRESULT(l, h) (LRESULT)MAKELONG(l, h)
90#define LOWORD(l) ((unsigned short)(l))
91#define HIWORD(l) ((unsigned short)(((unsigned int)(l) >> 16) & 0xFFFF))
92#define LOBYTE(w) ((BYTE)(w))
93#define HIBYTE(w) ((BYTE)(((unsigned short)(w) >> 8) & 0xFF))
94#endif
95
96#define GET_X_LPARAM(lp) ((int)(short)LOWORD(lp))
97#define GET_Y_LPARAM(lp) ((int)(short)HIWORD(lp))
98
99#define UNREFERENCED_PARAMETER(P) (P)
100#define _T(T) T
101
102#define CallWindowProc(A,B,C,D,E) ((WNDPROC)A)(B,C,D,E)
103#define OffsetRect WinOffsetRect //to avoid OSX's OffsetRect function
104#define SetRect WinSetRect //to avoid OSX's SetRect function
105#define UnionRect WinUnionRect
106#define IntersectRect WinIntersectRect
107
108
109#define MAX_PATH 1024
110
111
112#if !defined(max) && !defined(WDL_NO_DEFINE_MINMAX) && !defined(NOMINMAX)
113#define max(x,y) ((x)<(y)?(y):(x))
114#define min(x,y) ((x)<(y)?(x):(y))
115#endif
116
117// SWELLAPP stuff (swellappmain.mm)
118#ifdef __cplusplus
119extern "C" {
120#endif
121INT_PTR SWELLAppMain(int msg, INT_PTR parm1, INT_PTR parm2); // to be implemented by app (if using swellappmain.mm)
122#ifdef __cplusplus
123};
124#endif
125
126#define SWELLAPP_ONLOAD 0x0001 // initialization of app vars etc
127#define SWELLAPP_LOADED 0x0002 // create dialogs etc
128#define SWELLAPP_DESTROY 0x0003 // about to destroy (cleanup etc)
129#define SWELLAPP_SHOULDDESTROY 0x0004 // return 0 to allow app to terminate, >0 to prevent
130
131#define SWELLAPP_OPENFILE 0x0050 // parm1= (const char *)string, return >0 if allowed
132#define SWELLAPP_NEWFILE 0x0051 // new file, return >0 if allowed
133#define SWELLAPP_SHOULDOPENNEWFILE 0x0052 // allow opening new file? >0 if allowed
134
135#define SWELLAPP_ONCOMMAND 0x0099 // parm1 = (int) command ID, parm2 = (id) sender
136#define SWELLAPP_PROCESSMESSAGE 0x0100 // parm1=(MSG *)msg (loosely), parm2= (NSEvent *) the event . return >0 to eat
137
138#define SWELLAPP_ACTIVATE 0x1000 // parm1 = (bool) isactive. return nonzero to prevent WM_ACTIVATEAPP from being broadcasted
139//
140
141
142#if defined(__APPLE__) && !defined(SWELL_USE_OBJC_BOOL)
143 #include <AvailabilityMacros.h>
144 // this may be safe to always use, but for now only use when using a very very modern SDK
145 #ifdef MAC_OS_X_VERSION_10_16
146 #define SWELL_USE_OBJC_BOOL
147 #endif
148#endif
149
150// basic types
151#ifdef SWELL_USE_OBJC_BOOL
152 #include <objc/objc.h>
153 #ifndef __OBJC__
154 #undef NO
155 #undef YES
156 #undef Nil
157 #undef nil
158 #endif
159#else
160 typedef signed char BOOL;
161#endif
162typedef unsigned char BYTE;
163typedef unsigned short WORD;
164typedef unsigned int DWORD;
166typedef unsigned int UINT;
167typedef int INT;
168
172
173
174typedef void *LPVOID, *PVOID;
175
176#if defined(__APPLE__) && !defined(__LP64__)
177typedef signed long HRESULT;
178typedef signed long LONG;
179typedef unsigned long ULONG;
180#else
181typedef signed int HRESULT;
182typedef signed int LONG;
183typedef unsigned int ULONG;
184#endif
185
186typedef short SHORT;
187typedef int *LPINT;
188typedef char CHAR;
189typedef char *LPSTR, *LPTSTR;
190typedef const char *LPCSTR, *LPCTSTR;
191
192#define __int64 long long // define rather than typedef, for unsigned __int64 support
193
194typedef unsigned __int64 ULONGLONG;
195
196typedef union {
197 unsigned long long QuadPart;
198 struct {
199 #ifdef __ppc__
202 #else
205 #endif
206 };
208
209
210typedef struct HWND__ *HWND;
211typedef struct HMENU__ *HMENU;
212typedef void *HANDLE, *HINSTANCE, *HDROP;
213typedef void *HGLOBAL;
214
215typedef void (*TIMERPROC)(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime);
216
217typedef struct
218{
221
222
223typedef struct
224{
227} POINTS;
228
229
230typedef struct
231{
234
235
236typedef struct {
237 unsigned char fVirt;
238 unsigned short key,cmd;
240
241
246
247typedef struct _GUID {
248 unsigned int Data1;
249 unsigned short Data2;
250 unsigned short Data3;
251 unsigned char Data4[8];
253
262
263typedef struct HDC__ *HDC;
264typedef struct HCURSOR__ *HCURSOR;
265typedef struct HRGN__ *HRGN;
266
267typedef struct HGDIOBJ__ *HBITMAP;
268typedef struct HGDIOBJ__ *HICON;
269typedef struct HGDIOBJ__ *HGDIOBJ;
270typedef struct HGDIOBJ__ *HBRUSH;
271typedef struct HGDIOBJ__ *HPEN;
272typedef struct HGDIOBJ__ *HFONT;
273
274
281
282
292
293typedef struct
294{
295 int mask, fmt,cx;
296 char *pszText;
298} LVCOLUMN;
306
308
309typedef struct HIMAGELIST__ *HIMAGELIST;
310
311typedef struct
312{
315 int iItem;
316 int iSubItem; // this is was NOT in win95. valid only for LVM_SUBITEMHITTEST
318
319
331
337
353
365
377
386#define ODT_MENU 1
387#define ODT_LISTBOX 2
388#define ODT_COMBOBOX 3
389#define ODT_BUTTON 4
390
391#define ODS_SELECTED 0x0001
392
393
394
395
406
407
408#define NIM_ADD 0x00000000
409#define NIM_MODIFY 0x00000001
410#define NIM_DELETE 0x00000002
411
412#define NIF_MESSAGE 0x00000001
413#define NIF_ICON 0x00000002
414#define NIF_TIP 0x00000004
415
416
417
418typedef struct HTREEITEM__ *HTREEITEM;
419
420#define TVIF_TEXT 0x0001
421#define TVIF_IMAGE 0x0002
422#define TVIF_PARAM 0x0004
423#define TVIF_STATE 0x0008
424#define TVIF_HANDLE 0x0010
425#define TVIF_SELECTEDIMAGE 0x0020
426#define TVIF_CHILDREN 0x0040
427
428#define TVIS_SELECTED 0x0002
429#define TVIS_DROPHILITED 0x0008
430#define TVIS_BOLD 0x0010
431#define TVIS_EXPANDED 0x0020
432
433#define TVE_COLLAPSE 0x0001
434#define TVE_EXPAND 0x0002
435#define TVE_TOGGLE 0x0003
436
437#define TVN_FIRST (0U-400U) // treeview
438#define TVN_SELCHANGED (TVN_FIRST-2)
439#define TVN_ITEMEXPANDING (TVN_FIRST-5)
440
441// swell-extension: WM_MOUSEMOVE set via capture in TVN_BEGINDRAG can return:
442// -1 = drag not possible
443// -2 = destination at end of list
444// (HTREEITEM) = will end up before this item
445#define TVN_BEGINDRAG (TVN_FIRST-7)
446
447#define TVI_ROOT ((HTREEITEM)0xFFFF0000)
448#define TVI_FIRST ((HTREEITEM)0xFFFF0001)
449#define TVI_LAST ((HTREEITEM)0xFFFF0002)
450#define TVI_SORT ((HTREEITEM)0xFFFF0003)
451
452#define TVHT_NOWHERE 0x0001
453#define TVHT_ONITEMICON 0x0002
454#define TVHT_ONITEMLABEL 0x0004
455#define TVHT_ONITEM (TVHT_ONITEMICON | TVHT_ONITEMLABEL | TVHT_ONITEMSTATEICON)
456#define TVHT_ONITEMINDENT 0x0008
457#define TVHT_ONITEMBUTTON 0x0010
458#define TVHT_ONITEMRIGHT 0x0020
459#define TVHT_ONITEMSTATEICON 0x0040
460
461#define TVHT_ABOVE 0x0100
462#define TVHT_BELOW 0x0200
463#define TVHT_TORIGHT 0x0400
464#define TVHT_TOLEFT 0x0800
465
478
484
490
498
499
510
511#define SetMenuDefaultItem(a,b,c) do { if ((a)||(b)||(c)) { } } while(0)
512
516
517
534
540
551
557
558typedef struct _DROPFILES {
559 DWORD pFiles; // offset of file list
560 POINT pt; // drop point (client coords)
561 BOOL fNC; // is it on NonClient area
562 // and pt is in screen coords
563 BOOL fWide; // WIDE character switch
565
566
577
583
584
585
588
589
590
591#define GF_BEGIN 1
592#define GF_INERTIA 2
593#define GF_END 4
594
595#define GID_BEGIN 1
596#define GID_END 2
597#define GID_ZOOM 3
598#define GID_PAN 4
599#define GID_ROTATE 5
600#define GID_TWOFINGERTAP 6
601#define GID_ROLLOVER 7
602
615
616// not using this stuff yet
617#define GC_PAN 1
618#define GC_PAN_WITH_SINGLE_FINGER_VERTICALLY 2
619#define GC_PAN_WITH_SINGLE_FINGER_HORIZONTALLY 4
620
627
628
629
630#ifndef WINAPI
631#define WINAPI
632#endif
633
634#ifndef CALLBACK
635#define CALLBACK
636#endif
637
638
639typedef BOOL (*PROPENUMPROCEX)(HWND hwnd, const char *lpszString, HANDLE hData, LPARAM lParam);
640
641// swell specific type
642typedef HWND (*SWELL_ControlCreatorProc)(HWND parent, const char *cname, int idx, const char *classname, int style, int x, int y, int w, int h);
643
644#define DLL_PROCESS_DETACH 0
645#define DLL_PROCESS_ATTACH 1
646
647// if the user implements this (and links with swell-modstub[-generic], this will get called for DLL_PROCESS_[AT|DE]TACH
648#ifdef __cplusplus
649extern "C" {
650#endif
652#ifdef __cplusplus
653};
654#endif
655
656/*
657 ** win32 specific constants
658 */
659#define MB_OK 0
660#define MB_OKCANCEL 1
661#define MB_ABORTRETRYIGNORE 2
662#define MB_YESNOCANCEL 3
663#define MB_YESNO 4
664#define MB_RETRYCANCEL 5
665
666#define MB_DEFBUTTON1 0
667#define MB_DEFBUTTON2 0x00000100
668#define MB_DEFBUTTON3 0x00000200
669
670#define MB_ICONERROR 0
671#define MB_ICONSTOP 0
672#define MB_ICONINFORMATION 0
673#define MB_ICONWARNING 0
674#define MB_ICONQUESTION 0
675#define MB_TOPMOST 0
676#define MB_ICONEXCLAMATION 0
677
678#define IDOK 1
679#define IDCANCEL 2
680#define IDABORT 3
681#define IDRETRY 4
682#define IDIGNORE 5
683#define IDYES 6
684#define IDNO 7
685
686#define GW_HWNDFIRST 0
687#define GW_HWNDLAST 1
688#define GW_HWNDNEXT 2
689#define GW_HWNDPREV 3
690#define GW_OWNER 4
691#define GW_CHILD 5
692
693#define GWL_HWNDPARENT (-25)
694#define GWL_USERDATA (-21)
695#define GWL_ID (-12)
696#define GWL_STYLE (-16) // only supported for BS_ for now I think
697#define GWL_EXSTYLE (-20)
698#define GWL_WNDPROC (-4)
699#define DWL_DLGPROC (-8)
700
701#define SWELL_NOT_WS_VISIBLE ((int)0x80000000)
702// oops these don't match real windows
703#define WS_CHILDWINDOW (WS_CHILD)
704#define WS_CHILD 0x40000000L
705#define WS_DISABLED 0x08000000L
706#define WS_CLIPSIBLINGS 0x04000000L
707#define WS_VISIBLE 0x02000000L // only used by GetWindowLong(GWL_STYLE) -- not settable
708#define WS_CAPTION 0x00C00000L
709#define WS_VSCROLL 0x00200000L
710#define WS_HSCROLL 0x00100000L
711#define WS_SYSMENU 0x00080000L
712#define WS_THICKFRAME 0x00040000L
713#define WS_GROUP 0x00020000L
714#define WS_TABSTOP 0x00010000L
715
716#define TVS_DISABLEDRAGDROP 0x10
717
718#define WS_BORDER 0 // ignored for now
719
720#define WM_CTLCOLORMSGBOX 0x0132
721#define WM_CTLCOLOREDIT 0x0133
722#define WM_CTLCOLORLISTBOX 0x0134
723#define WM_CTLCOLORBTN 0x0135
724#define WM_CTLCOLORDLG 0x0136
725#define WM_CTLCOLORSCROLLBAR 0x0137
726#define WM_CTLCOLORSTATIC 0x0138
727
728#define CB_ADDSTRING 0x0143
729#define CB_DELETESTRING 0x0144
730#define CB_GETCOUNT 0x0146
731#define CB_GETCURSEL 0x0147
732#define CB_GETLBTEXT 0x0148
733#define CB_GETLBTEXTLEN 0x0149
734#define CB_INSERTSTRING 0x014A
735#define CB_RESETCONTENT 0x014B
736#define CB_FINDSTRING 0x014C
737#define CB_SETCURSEL 0x014E
738#define CB_GETITEMDATA 0x0150
739#define CB_SETITEMDATA 0x0151
740#define CB_FINDSTRINGEXACT 0x0158
741#define CB_INITSTORAGE 0x0161
742
743#define LB_ADDSTRING 0x0180 // oops these don't all match real windows, todo fix (maybe)
744#define LB_INSERTSTRING 0x0181
745#define LB_DELETESTRING 0x0182
746#define LB_GETTEXT 0x0183
747#define LB_RESETCONTENT 0x0184
748#define LB_SETSEL 0x0185
749#define LB_SETCURSEL 0x0186
750#define LB_GETSEL 0x0187
751#define LB_GETCURSEL 0x0188
752#define LB_GETTEXTLEN 0x018A
753#define LB_GETCOUNT 0x018B
754#define LB_GETSELCOUNT 0x0190
755#define LB_GETITEMDATA 0x0199
756#define LB_SETITEMDATA 0x019A
757#define LB_FINDSTRINGEXACT 0x01A2
758
759#define TBM_GETPOS (WM_USER)
760#define TBM_SETTIC (WM_USER+4)
761#define TBM_SETPOS (WM_USER+5)
762#define TBM_SETRANGE (WM_USER+6)
763#define TBM_SETSEL (WM_USER+10)
764
765#define PBM_SETRANGE (WM_USER+1)
766#define PBM_SETPOS (WM_USER+2)
767#define PBM_DELTAPOS (WM_USER+3)
768
769#define BM_GETCHECK 0x00F0
770#define BM_SETCHECK 0x00F1
771#define BM_GETIMAGE 0x00F6
772#define BM_SETIMAGE 0x00F7
773#define IMAGE_BITMAP 0
774#define IMAGE_ICON 1
775
776#define NM_FIRST (0U- 0U) // generic to all controls
777#define NM_LAST (0U- 99U)
778#define NM_CLICK (NM_FIRST-2) // uses NMCLICK struct
779#define NM_DBLCLK (NM_FIRST-3)
780#define NM_RCLICK (NM_FIRST-5) // uses NMCLICK struct
781#define NM_CUSTOMDRAW (NM_FIRST-12)
782
783
784#define LVSIL_STATE 1
785#define LVSIL_SMALL 2
786
787#define LVIR_BOUNDS 0
788#define LVIR_ICON 1
789#define LVIR_LABEL 2
790#define LVIR_SELECTBOUNDS 3
791
792
793#define LVHT_NOWHERE 0x0001
794#define LVHT_ONITEMICON 0x0002
795#define LVHT_ONITEMLABEL 0x0004
796#define LVHT_ONITEMSTATEICON 0x0008
797#define LVHT_ONITEM (LVHT_ONITEMICON | LVHT_ONITEMLABEL | LVHT_ONITEMSTATEICON)
798
799#define LVHT_ABOVE 0x0010
800#define LVHT_BELOW 0x0020
801#define LVHT_TORIGHT 0x0040
802#define LVHT_TOLEFT 0x0080
803
804#define LVCF_FMT 1
805#define LVCF_WIDTH 2
806#define LVCF_TEXT 4
807
808#define LVCFMT_LEFT 0
809#define LVCFMT_RIGHT 1
810#define LVCFMT_CENTER 2
811
812#define LVIF_TEXT 1
813#define LVIF_IMAGE 2
814#define LVIF_PARAM 4
815#define LVIF_STATE 8
816
817#define LVIS_SELECTED 1
818#define LVIS_FOCUSED 2
819#define LVNI_SELECTED 1
820#define LVNI_FOCUSED 2
821#define INDEXTOSTATEIMAGEMASK(x) ((x)<<16)
822#define LVIS_STATEIMAGEMASK (255<<16)
823
824#define LVN_FIRST (0U-100U) // listview
825#define LVN_LAST (0U-199U)
826#define LVN_BEGINDRAG (LVN_FIRST-9)
827#define LVN_COLUMNCLICK (LVN_FIRST-8)
828#define LVN_ITEMCHANGED (LVN_FIRST-1)
829#define LVN_ODFINDITEM (LVN_FIRST-52)
830#define LVN_GETDISPINFO (LVN_FIRST-50)
831
832#define LVS_EX_GRIDLINES 0x01
833#define LVS_EX_HEADERDRAGDROP 0x10
834#define LVS_EX_FULLROWSELECT 0x20 // ignored for now (enabled by default on OSX)
835
836#define HDI_FORMAT 0x4
837#define HDF_SORTUP 0x0400
838#define HDF_SORTDOWN 0x0200
839
840#define TCIF_TEXT 0x0001
841#define TCIF_IMAGE 0x0002
842#define TCIF_PARAM 0x0008
843//#define TCIF_STATE 0x0010
844
845
846
847#define TCN_FIRST (0U-550U) // tab control
848#define TCN_LAST (0U-580U)
849#define TCN_SELCHANGE (TCN_FIRST - 1)
850
851
852#define BS_AUTOCHECKBOX 0x00000003L
853#define BS_AUTO3STATE 0x00000006L
854#define BS_AUTORADIOBUTTON 0x00000009L
855#define BS_OWNERDRAW 0x0000000BL
856#define BS_BITMAP 0x00000080L
857
858
859
860#define BST_CHECKED 1
861#define BST_UNCHECKED 0
862#define BST_INDETERMINATE 2
863
864// note: these differ in values from their win32 counterparts, because we got them
865// wrong to begin with, and we'd like to keep backwards compatability for things compiled
866// against an old swell.h (and using the SWELL API via an exported mechanism, i.e. third party
867// plug-ins).
868#define SW_HIDE 0
869#define SW_SHOWNA 1 // 8 on win32
870#define SW_SHOW 2 // 1 on win32
871#define SW_SHOWMINIMIZED 3 // 2 on win32
872
873// aliases (todo implement these as needed)
874#define SW_SHOWNOACTIVATE SW_SHOWNA
875#define SW_NORMAL SW_SHOW
876#define SW_SHOWNORMAL SW_SHOW
877#define SW_SHOWMAXIMIZED SW_SHOW
878#define SW_SHOWDEFAULT SW_SHOWNORMAL
879#define SW_RESTORE SW_SHOWNA
880
881#define SWP_NOMOVE 1
882#define SWP_NOSIZE 2
883#define SWP_NOZORDER 4
884#define SWP_NOACTIVATE 8
885#define SWP_SHOWWINDOW 16
886#define SWP_FRAMECHANGED 32
887#define SWP_NOCOPYBITS 0
888#define HWND_TOP ((HWND)0)
889#define HWND_BOTTOM ((HWND)1)
890#define HWND_TOPMOST ((HWND)-1)
891#define HWND_NOTOPMOST ((HWND)-2)
892
893// most of these are ignored, actually, but TPM_NONOTIFY and TPM_RETURNCMD are now used
894#define TPM_LEFTBUTTON 0x0000L
895#define TPM_RIGHTBUTTON 0x0002L
896#define TPM_LEFTALIGN 0x0000L
897#define TPM_CENTERALIGN 0x0004L
898#define TPM_RIGHTALIGN 0x0008L
899#define TPM_TOPALIGN 0x0000L
900#define TPM_VCENTERALIGN 0x0010L
901#define TPM_BOTTOMALIGN 0x0020L
902#define TPM_HORIZONTAL 0x0000L /* Horz alignment matters more */
903#define TPM_VERTICAL 0x0040L /* Vert alignment matters more */
904#define TPM_NONOTIFY 0x0080L /* Don't send any notification msgs */
905#define TPM_RETURNCMD 0x0100L
906
907#define MIIM_ID 1
908#define MIIM_STATE 2
909#define MIIM_TYPE 4
910#define MIIM_SUBMENU 8
911#define MIIM_DATA 16
912#define MIIM_BITMAP 0x80
913
914#define MF_ENABLED 0
915#define MF_GRAYED 1
916#define MF_DISABLED 2
917#define MF_STRING 0
918#define MF_BITMAP 4
919#define MF_UNCHECKED 0
920#define MF_CHECKED 8
921#define MF_POPUP 0x10
922#define MF_BYCOMMAND 0
923#define MF_BYPOSITION 0x400
924#define MF_SEPARATOR 0x800
925
926#define MFT_STRING MF_STRING
927#define MFT_BITMAP MF_BITMAP
928#define MFT_SEPARATOR MF_SEPARATOR
929#define MFT_RADIOCHECK 0x200
930
931#define MFS_GRAYED (MF_GRAYED|MF_DISABLED)
932#define MFS_DISABLED MFS_GRAYED
933#define MFS_CHECKED MF_CHECKED
934#define MFS_ENABLED MF_ENABLED
935#define MFS_UNCHECKED MF_UNCHECKED
936
937#define EN_SETFOCUS 0x0100
938#define EN_KILLFOCUS 0x0200
939#define EN_CHANGE 0x0300
940#define STN_CLICKED 0
941#define STN_DBLCLK 1
942#define WM_CREATE 0x0001
943#define WM_DESTROY 0x0002
944#define WM_MOVE 0x0003
945#define WM_SIZE 0x0005
946#define WM_ACTIVATE 0x0006
947#define WM_SETFOCUS 0x0007
948#define WM_KILLFOCUS 0x0008
949#define WM_SETREDRAW 0x000B // implemented on macOS NSTableViews, maybe elsewhere?
950#define WM_SETTEXT 0x000C // not implemented on OSX, used internally on Linux
951#define WM_PAINT 0x000F
952#define WM_CLOSE 0x0010
953#define WM_ERASEBKGND 0x0014
954#define WM_SHOWWINDOW 0x0018
955#define WM_ACTIVATEAPP 0x001C
956#define WM_SETCURSOR 0x0020
957#define WM_MOUSEACTIVATE 0x0021
958#define WM_GETMINMAXINFO 0x0024
959#define WM_DRAWITEM 0x002B
960#define WM_SETFONT 0x0030
961#define WM_GETFONT 0x0031
962#define WM_GETOBJECT 0x003D // implemented differently than win32 -- see virtwnd/virtwnd-nsaccessibility.mm
963#define WM_COPYDATA 0x004A
964#define WM_NOTIFY 0x004E
965#define WM_CONTEXTMENU 0x007B
966#define WM_STYLECHANGED 0x007D
967#define WM_DISPLAYCHANGE 0x007E
968#define WM_NCDESTROY 0x0082
969#define WM_NCCALCSIZE 0x0083
970#define WM_NCHITTEST 0x0084
971#define WM_NCPAINT 0x0085
972#define WM_NCMOUSEMOVE 0x00A0
973#define WM_NCLBUTTONDOWN 0x00A1
974#define WM_NCLBUTTONUP 0x00A2
975#define WM_NCLBUTTONDBLCLK 0x00A3
976#define WM_NCRBUTTONDOWN 0x00A4
977#define WM_NCRBUTTONUP 0x00A5
978#define WM_NCRBUTTONDBLCLK 0x00A6
979#define WM_NCMBUTTONDOWN 0x00A7
980#define WM_NCMBUTTONUP 0x00A8
981#define WM_NCMBUTTONDBLCLK 0x00A9
982#define WM_KEYFIRST 0x0100
983#define WM_KEYDOWN 0x0100
984#define WM_KEYUP 0x0101
985#define WM_CHAR 0x0102
986#define WM_DEADCHAR 0x0103
987#define WM_SYSKEYDOWN 0x0104
988#define WM_SYSKEYUP 0x0105
989#define WM_SYSCHAR 0x0106
990#define WM_SYSDEADCHAR 0x0107
991#define WM_KEYLAST 0x0108
992#define WM_INITDIALOG 0x0110
993#define WM_COMMAND 0x0111
994#define WM_SYSCOMMAND 0x0112
995#define WM_TIMER 0x0113
996#define WM_HSCROLL 0x0114
997#define WM_VSCROLL 0x0115
998#define WM_INITMENUPOPUP 0x0117
999#define WM_GESTURE 0x0119
1000#define WM_MOUSEFIRST 0x0200
1001#define WM_MOUSEMOVE 0x0200
1002#define WM_LBUTTONDOWN 0x0201
1003#define WM_LBUTTONUP 0x0202
1004#define WM_LBUTTONDBLCLK 0x0203
1005#define WM_RBUTTONDOWN 0x0204
1006#define WM_RBUTTONUP 0x0205
1007#define WM_RBUTTONDBLCLK 0x0206
1008#define WM_MBUTTONDOWN 0x0207
1009#define WM_MBUTTONUP 0x0208
1010#define WM_MBUTTONDBLCLK 0x0209
1011#define WM_MOUSEWHEEL 0x020A
1012#define WM_MOUSEHWHEEL 0x020E
1013#define WM_MOUSELAST 0x020A
1014#define WM_CAPTURECHANGED 0x0215
1015#define WM_DROPFILES 0x0233
1016#define WM_SWELL_EXTENDED 0x0399 /* wParam = message specific type */
1017#define WM_USER 0x0400
1018
1019#define SC_CLOSE 0xF060
1020
1021#define HTCAPTION 2
1022#define HTBOTTOMRIGHT 17
1023
1024#define WA_INACTIVE 0
1025#define WA_ACTIVE 1
1026#define WA_CLICKACTIVE 2
1027
1028#define BN_CLICKED 0
1029
1030#define LBN_SELCHANGE 1
1031#define LBN_DBLCLK 2
1032#define LB_ERR (-1)
1033
1034#define CBN_SELCHANGE 1
1035#define CBN_EDITCHANGE 5
1036#define CBN_DROPDOWN 7
1037#define CBN_CLOSEUP 8
1038#define CB_ERR (-1)
1039
1040#define EM_GETSEL 0xF0B0
1041#define EM_SETSEL 0xF0B1
1042#define EM_SCROLL 0xF0B5
1043#define EM_REPLACESEL 0xF0C2
1044#define EM_SETPASSWORDCHAR 0xF0CC
1045
1046#define SB_HORZ 0
1047#define SB_VERT 1
1048#define SB_CTL 2
1049#define SB_BOTH 3
1050
1051#define SB_LINEUP 0
1052#define SB_LINELEFT 0
1053#define SB_LINEDOWN 1
1054#define SB_LINERIGHT 1
1055#define SB_PAGEUP 2
1056#define SB_PAGELEFT 2
1057#define SB_PAGEDOWN 3
1058#define SB_PAGERIGHT 3
1059#define SB_THUMBPOSITION 4
1060#define SB_THUMBTRACK 5
1061#define SB_TOP 6
1062#define SB_LEFT 6
1063#define SB_BOTTOM 7
1064#define SB_RIGHT 7
1065#define SB_ENDSCROLL 8
1066
1067#define DFCS_SCROLLUP 0x0000
1068#define DFCS_SCROLLDOWN 0x0001
1069#define DFCS_SCROLLLEFT 0x0002
1070#define DFCS_SCROLLRIGHT 0x0003
1071#define DFCS_SCROLLCOMBOBOX 0x0005
1072#define DFCS_SCROLLSIZEGRIP 0x0008
1073#define DFCS_SCROLLSIZEGRIPRIGHT 0x0010
1074
1075#define DFCS_INACTIVE 0x0100
1076#define DFCS_PUSHED 0x0200
1077#define DFCS_CHECKED 0x0400
1078#define DFCS_FLAT 0x4000
1079
1080#define DFCS_BUTTONPUSH 0x0010
1081
1082#define DFC_SCROLL 3
1083#define DFC_BUTTON 4
1084
1085#define ESB_ENABLE_BOTH 0x0000
1086#define ESB_DISABLE_BOTH 0x0003
1087
1088#define ESB_DISABLE_LEFT 0x0001
1089#define ESB_DISABLE_RIGHT 0x0002
1090
1091#define ESB_DISABLE_UP 0x0001
1092#define ESB_DISABLE_DOWN 0x0002
1093
1094#define BDR_RAISEDOUTER 0x0001
1095#define BDR_SUNKENOUTER 0x0002
1096#define BDR_RAISEDINNER 0x0004
1097#define BDR_SUNKENINNER 0x0008
1098
1099#define BDR_OUTER 0x0003
1100#define BDR_INNER 0x000c
1101
1102#define EDGE_RAISED (BDR_RAISEDOUTER | BDR_RAISEDINNER)
1103#define EDGE_SUNKEN (BDR_SUNKENOUTER | BDR_SUNKENINNER)
1104#define EDGE_ETCHED (BDR_SUNKENOUTER | BDR_RAISEDINNER)
1105#define EDGE_BUMP (BDR_RAISEDOUTER | BDR_SUNKENINNER)
1106
1107#define BF_ADJUST 0x2000
1108#define BF_FLAT 0x4000
1109#define BF_LEFT 0x0001
1110#define BF_TOP 0x0002
1111#define BF_RIGHT 0x0004
1112#define BF_BOTTOM 0x0008
1113#define BF_RECT (BF_LEFT | BF_TOP | BF_RIGHT | BF_BOTTOM)
1114
1115#define PATCOPY (DWORD)0x00F00021
1116
1117#define HTHSCROLL 6
1118#define HTVSCROLL 7
1119
1120#define WS_EX_LEFTSCROLLBAR 0x00004000L
1121#define WS_EX_ACCEPTFILES 0x00000010L
1122
1123#define SIF_RANGE 0x0001
1124#define SIF_PAGE 0x0002
1125#define SIF_POS 0x0004
1126#define SIF_DISABLENOSCROLL 0x0008
1127#define SIF_TRACKPOS 0x0010
1128#define SIF_ALL (SIF_RANGE | SIF_PAGE | SIF_POS | SIF_TRACKPOS)
1129
1130#define SIZE_RESTORED 0
1131#define SIZE_MINIMIZED 1
1132#define SIZE_MAXIMIZED 2
1133#define SIZE_MAXSHOW 3
1134#define SIZE_MAXHIDE 4
1135
1136typedef struct tagNMLVCUSTOMDRAW
1137{
1138 struct {
1141 HDC hdc; // not implemented
1142 RECT rc; // not implemented
1144 UINT uItemState; // not implemented
1145 LPARAM lItemlParam; // not implemented
1147
1151// only currently used by listviews for color override
1152#define CDDS_PREPAINT (0x00001)
1153#define CDDS_ITEM (0x10000)
1154#define CDDS_ITEMPREPAINT (CDDS_ITEM | CDDS_PREPAINT)
1155
1156#ifndef MAKEINTRESOURCE
1157#define MAKEINTRESOURCE(x) ((const char *)(UINT_PTR)(x))
1158#endif
1159
1160#ifdef FSHIFT
1161#undef FSHIFT
1162#endif
1163
1164#define FVIRTKEY 1
1165#define FSHIFT 0x04
1166#define FCONTROL 0x08
1167#define FALT 0x10
1168#define FLWIN 0x20
1169
1170
1171#define VK_LBUTTON 0x01
1172#define VK_RBUTTON 0x02
1173#define VK_MBUTTON 0x04
1174
1175#define VK_BACK 0x08
1176#define VK_TAB 0x09
1177
1178#define VK_CLEAR 0x0C
1179#define VK_RETURN 0x0D
1180
1181#define VK_SHIFT 0x10
1182#define VK_CONTROL 0x11
1183#define VK_MENU 0x12
1184#define VK_PAUSE 0x13
1185#define VK_CAPITAL 0x14
1186
1187#define VK_ESCAPE 0x1B
1188
1189#define VK_SPACE 0x20
1190#define VK_PRIOR 0x21
1191#define VK_NEXT 0x22
1192#define VK_END 0x23
1193#define VK_HOME 0x24
1194#define VK_LEFT 0x25
1195#define VK_UP 0x26
1196#define VK_RIGHT 0x27
1197#define VK_DOWN 0x28
1198#define VK_SELECT 0x29
1199#define VK_PRINT 0x2A
1200#define VK_SNAPSHOT 0x2C
1201#define VK_INSERT 0x2D
1202#define VK_DELETE 0x2E
1203#define VK_HELP 0x2F
1204
1205#define VK_LWIN 0x5B
1206
1207#define VK_NUMPAD0 0x60
1208#define VK_NUMPAD1 0x61
1209#define VK_NUMPAD2 0x62
1210#define VK_NUMPAD3 0x63
1211#define VK_NUMPAD4 0x64
1212#define VK_NUMPAD5 0x65
1213#define VK_NUMPAD6 0x66
1214#define VK_NUMPAD7 0x67
1215#define VK_NUMPAD8 0x68
1216#define VK_NUMPAD9 0x69
1217#define VK_MULTIPLY 0x6A
1218#define VK_ADD 0x6B
1219#define VK_SEPARATOR 0x6C
1220#define VK_SUBTRACT 0x6D
1221#define VK_DECIMAL 0x6E
1222#define VK_DIVIDE 0x6F
1223#define VK_F1 0x70
1224#define VK_F2 0x71
1225#define VK_F3 0x72
1226#define VK_F4 0x73
1227#define VK_F5 0x74
1228#define VK_F6 0x75
1229#define VK_F7 0x76
1230#define VK_F8 0x77
1231#define VK_F9 0x78
1232#define VK_F10 0x79
1233#define VK_F11 0x7A
1234#define VK_F12 0x7B
1235#define VK_F13 0x7C
1236#define VK_F14 0x7D
1237#define VK_F15 0x7E
1238#define VK_F16 0x7F
1239#define VK_F17 0x80
1240#define VK_F18 0x81
1241#define VK_F19 0x82
1242#define VK_F20 0x83
1243#define VK_F21 0x84
1244#define VK_F22 0x85
1245#define VK_F23 0x86
1246#define VK_F24 0x87
1247
1248#define VK_NUMLOCK 0x90
1249#define VK_SCROLL 0x91
1250
1251// these should probably not be used (wParam is not set in WM_LBUTTONDOWN/WM_MOUSEMOVE etc)
1252#define MK_LBUTTON 0x01
1253#define MK_RBUTTON 0x02
1254#define MK_MBUTTON 0x10
1255
1256#define IDC_SIZENESW MAKEINTRESOURCE(32643)
1257#define IDC_SIZENWSE MAKEINTRESOURCE(32642)
1258#define IDC_IBEAM MAKEINTRESOURCE(32513)
1259#define IDC_UPARROW MAKEINTRESOURCE(32516)
1260#define IDC_NO MAKEINTRESOURCE(32648)
1261#define IDC_SIZEALL MAKEINTRESOURCE(32646)
1262#define IDC_SIZENS MAKEINTRESOURCE(32645)
1263#define IDC_SIZEWE MAKEINTRESOURCE(32644)
1264#define IDC_ARROW MAKEINTRESOURCE(32512)
1265#define IDC_HAND MAKEINTRESOURCE(32649)
1266
1267
1268
1269#define COLOR_3DSHADOW 0
1270#define COLOR_3DHILIGHT 1
1271#define COLOR_3DFACE 2
1272#define COLOR_BTNTEXT 3
1273#define COLOR_WINDOW 4
1274#define COLOR_SCROLLBAR 5
1275#define COLOR_3DDKSHADOW 6
1276#define COLOR_BTNFACE 7
1277#define COLOR_INFOBK 8
1278#define COLOR_INFOTEXT 9
1279
1280#define SRCCOPY 0
1281#define SRCCOPY_USEALPHACHAN 0xdeadbeef
1282#define PS_SOLID 0
1283
1284#define DT_TOP 0
1285#define DT_LEFT 0
1286#define DT_CENTER 1
1287#define DT_RIGHT 2
1288#define DT_VCENTER 4
1289#define DT_BOTTOM 8
1290#define DT_WORDBREAK 0x10
1291#define DT_SINGLELINE 0x20
1292#define DT_NOCLIP 0x100
1293#define DT_CALCRECT 0x400
1294#define DT_NOPREFIX 0x800
1295#define DT_END_ELLIPSIS 0x8000
1296
1297#define FW_DONTCARE 0
1298#define FW_THIN 100
1299#define FW_EXTRALIGHT 200
1300#define FW_LIGHT 300
1301#define FW_NORMAL 400
1302#define FW_MEDIUM 500
1303#define FW_SEMIBOLD 600
1304#define FW_BOLD 700
1305#define FW_EXTRABOLD 800
1306#define FW_HEAVY 900
1307
1308#define FW_ULTRALIGHT FW_EXTRALIGHT
1309#define FW_REGULAR FW_NORMAL
1310#define FW_DEMIBOLD FW_SEMIBOLD
1311#define FW_ULTRABOLD FW_EXTRABOLD
1312#define FW_BLACK FW_HEAVY
1313
1314#define OUT_DEFAULT_PRECIS 0
1315#define CLIP_DEFAULT_PRECIS 0
1316#define DEFAULT_QUALITY 0
1317#define DRAFT_QUALITY 1
1318#define PROOF_QUALITY 2
1319#define NONANTIALIASED_QUALITY 3
1320#define ANTIALIASED_QUALITY 4
1321#define DEFAULT_PITCH 0
1322#define DEFAULT_CHARSET 0
1323#define ANSI_CHARSET 0
1324#define TRANSPARENT 0
1325#define OPAQUE 1
1326
1327#define NULL_PEN 1
1328#define NULL_BRUSH 2
1329
1330#define GGI_MARK_NONEXISTING_GLYPHS 1
1331
1332#define GMEM_ZEROINIT 1
1333#define GMEM_FIXED 0
1334#define GMEM_MOVEABLE 0
1335#define GMEM_DDESHARE 0
1336#define GMEM_DISCARDABLE 0
1337#define GMEM_SHARE 0
1338#define GMEM_LOWER 0
1339#define GHND (GMEM_MOVEABLE|GM_ZEROINIT)
1340#define GPTR (GMEM_FIXED|GMEM_ZEROINIT)
1341
1342#define CF_TEXT (1)
1343#define CF_HDROP (2)
1344
1345#define _MCW_RC 0x00000300 /* Rounding Control */
1346#define _RC_NEAR 0x00000000 /* near */
1347#define _RC_DOWN 0x00000100 /* down */
1348#define _RC_UP 0x00000200 /* up */
1349#define _RC_CHOP 0x00000300 /* chop */
1350
1351
1354
1355#define HTNOWHERE 0
1356#define HTCLIENT 1
1357#define HTMENU 5
1358#define HTHSCROLL 6
1359#define HTVSCROLL 7
1360
1361#define SM_CXSCREEN 0
1362#define SM_CYSCREEN 1
1363#define SM_CXVSCROLL 2
1364#define SM_CYHSCROLL 3
1365#define SM_CYMENU 15
1366#define SM_CYVSCROLL 20
1367#define SM_CXHSCROLL 21
1368
1369
1370#if 0 // these are disabled until implemented
1371
1372#define SM_CYCAPTION 4
1373#define SM_CXBORDER 5
1374#define SM_CYBORDER 6
1375#define SM_CXDLGFRAME 7
1376#define SM_CYDLGFRAME 8
1377#define SM_CYVTHUMB 9
1378#define SM_CXHTHUMB 10
1379#define SM_CXICON 11
1380#define SM_CYICON 12
1381#define SM_CXCURSOR 13
1382#define SM_CYCURSOR 14
1383#define SM_CXFULLSCREEN 16
1384#define SM_CYFULLSCREEN 17
1385#define SM_CYKANJIWINDOW 18
1386#define SM_MOUSEPRESENT 19
1387#define SM_DEBUG 22
1388#define SM_SWAPBUTTON 23
1389#define SM_CXMIN 28
1390#define SM_CYMIN 29
1391#define SM_CXSIZE 30
1392#define SM_CYSIZE 31
1393#define SM_CXFRAME 32
1394#define SM_CYFRAME 33
1395#define SM_CXMINTRACK 34
1396#define SM_CYMINTRACK 35
1397#define SM_CXDOUBLECLK 36
1398#define SM_CYDOUBLECLK 37
1399#define SM_CXICONSPACING 38
1400#define SM_CYICONSPACING 39
1401
1402#endif // unimplemented system metrics
1403
1404
1405#define THREAD_BASE_PRIORITY_LOWRT 15
1406#define THREAD_BASE_PRIORITY_MAX 2
1407#define THREAD_BASE_PRIORITY_MIN -2
1408#define THREAD_BASE_PRIORITY_IDLE -15
1409#define THREAD_PRIORITY_LOWEST THREAD_BASE_PRIORITY_MIN
1410#define THREAD_PRIORITY_BELOW_NORMAL (THREAD_PRIORITY_LOWEST+1)
1411#define THREAD_PRIORITY_NORMAL 0
1412#define THREAD_PRIORITY_HIGHEST THREAD_BASE_PRIORITY_MAX
1413#define THREAD_PRIORITY_ABOVE_NORMAL (THREAD_PRIORITY_HIGHEST-1)
1414#define THREAD_PRIORITY_TIME_CRITICAL THREAD_BASE_PRIORITY_LOWRT
1415#define THREAD_PRIORITY_IDLE THREAD_BASE_PRIORITY_IDLE
1416
1417
1418
1419#define WAIT_OBJECT_0 (0 )
1420#define WAIT_TIMEOUT (0x00000102L)
1421#define WAIT_FAILED (DWORD)0xFFFFFFFF
1422#define INFINITE 0xFFFFFFFF
1423
1424
1425#define FR_PRIVATE 1 // AddFontResourceEx()
1426
1435
1442
1443typedef void *HMONITOR;
1444
1450
1451
1458
1460
1461#endif //_WDL_SWELL_H_TYPES_DEFINED_
CARLA_PLUGIN_EXPORT BOOL WINAPI DllMain(HINSTANCE hInst, DWORD reason, LPVOID)
Definition carla-vst-export-bridged.cpp:44
UINT_D64 w
Definition inflate.c:942
int y
Definition inflate.c:1588
unsigned x[BMAX+1]
Definition inflate.c:1586
static uintptr_t parent
Definition pugl.h:1644
static const SerdStyle style
Definition sratom.c:36
const char * msg
Definition missing_descriptor.c:20
Definition swell-types.h:1437
ULONG_PTR dwData
Definition swell-types.h:1438
PVOID lpData
Definition swell-types.h:1440
DWORD cbData
Definition swell-types.h:1439
Definition swell-types.h:558
BOOL fNC
Definition swell-types.h:561
DWORD pFiles
Definition swell-types.h:559
BOOL fWide
Definition swell-types.h:563
POINT pt
Definition swell-types.h:560
Definition swell-types.h:247
unsigned int Data1
Definition swell-types.h:248
unsigned short Data2
Definition swell-types.h:249
unsigned char Data4[8]
Definition swell-types.h:251
unsigned short Data3
Definition swell-types.h:250
Definition swell-types.h:1428
DWORD yHotspot
Definition swell-types.h:1431
BOOL fIcon
Definition swell-types.h:1429
DWORD xHotspot
Definition swell-types.h:1430
HBITMAP hbmColor
Definition swell-types.h:1433
HBITMAP hbmMask
Definition swell-types.h:1432
Definition swell-types.h:1452
RECT rcMonitor
Definition swell-types.h:1454
DWORD cbSize
Definition swell-types.h:1453
DWORD dwFlags
Definition swell-types.h:1455
RECT rcWork
Definition swell-types.h:1454
char szDevice[256]
Definition swell-types.h:1456
Definition swell-types.h:1445
DWORD cbSize
Definition swell-types.h:1446
RECT rcWork
Definition swell-types.h:1447
RECT rcMonitor
Definition swell-types.h:1447
DWORD dwFlags
Definition swell-types.h:1448
Definition swell-types.h:236
unsigned char fVirt
Definition swell-types.h:237
unsigned short cmd
Definition swell-types.h:238
unsigned short key
Definition swell-types.h:238
Definition swell-types.h:242
DWORD dwHighDateTime
Definition swell-types.h:244
DWORD dwLowDateTime
Definition swell-types.h:243
Definition swell-internal.h:908
Definition swell-types.h:339
int iOrder
Definition swell-types.h:348
UINT mask
Definition swell-types.h:340
int cchTextMax
Definition swell-types.h:344
int iImage
Definition swell-types.h:347
void * pvFilter
Definition swell-types.h:350
HBITMAP hbm
Definition swell-types.h:343
int fmt
Definition swell-types.h:345
LPARAM lParam
Definition swell-types.h:346
UINT type
Definition swell-types.h:349
UINT state
Definition swell-types.h:351
char * pszText
Definition swell-types.h:342
int cxy
Definition swell-types.h:341
Definition swell-internal.h:893
Definition swell-internal.h:874
Definition swell-internal.h:782
Definition swell-internal.h:819
Definition swell-types.h:519
char lfPitchAndFamily
Definition swell-types.h:522
char lfQuality
Definition swell-types.h:522
int lfHeight
Definition swell-types.h:520
char lfOutPrecision
Definition swell-types.h:521
int lfWidth
Definition swell-types.h:520
char lfStrikeOut
Definition swell-types.h:521
int lfOrientation
Definition swell-types.h:520
char lfClipPrecision
Definition swell-types.h:521
int lfEscapement
Definition swell-types.h:520
int lfWeight
Definition swell-types.h:520
char lfItalic
Definition swell-types.h:521
char lfFaceName[32]
Definition swell-types.h:523
char lfUnderline
Definition swell-types.h:521
char lfCharSet
Definition swell-types.h:521
Definition swell-types.h:294
char * pszText
Definition swell-types.h:296
int fmt
Definition swell-types.h:295
int cx
Definition swell-types.h:295
int cchTextMax
Definition swell-types.h:297
int mask
Definition swell-types.h:295
int iSubItem
Definition swell-types.h:297
Definition swell-types.h:312
UINT flags
Definition swell-types.h:314
int iSubItem
Definition swell-types.h:316
POINT pt
Definition swell-types.h:313
int iItem
Definition swell-types.h:315
Definition swell-types.h:300
int mask
Definition swell-types.h:301
int iSubItem
Definition swell-types.h:301
int iItem
Definition swell-types.h:301
char * pszText
Definition swell-types.h:302
LPARAM lParam
Definition swell-types.h:304
int stateMask
Definition swell-types.h:301
int cchTextMax
Definition swell-types.h:303
int state
Definition swell-types.h:301
int iImage
Definition swell-types.h:303
Definition swell-types.h:501
unsigned int wID
Definition swell-types.h:502
HICON hbmpChecked
Definition swell-types.h:504
unsigned int fMask
Definition swell-types.h:502
HICON hbmpUnchecked
Definition swell-types.h:504
unsigned int cbSize
Definition swell-types.h:502
int cch
Definition swell-types.h:507
unsigned int fState
Definition swell-types.h:502
unsigned int fType
Definition swell-types.h:502
DWORD_PTR dwItemData
Definition swell-types.h:505
HBITMAP hbmpItem
Definition swell-types.h:508
HMENU hSubMenu
Definition swell-types.h:503
char * dwTypeData
Definition swell-types.h:506
Definition swell-types.h:513
POINT ptReserved
Definition swell-types.h:514
POINT ptMinTrackSize
Definition swell-types.h:514
POINT ptMaxSize
Definition swell-types.h:514
POINT ptMaxTrackSize
Definition swell-types.h:514
POINT ptMaxPosition
Definition swell-types.h:514
Definition swell-types.h:254
POINT pt
Definition swell-types.h:260
LPARAM lParam
Definition swell-types.h:258
WPARAM wParam
Definition swell-types.h:257
UINT message
Definition swell-types.h:256
DWORD time
Definition swell-types.h:259
HWND hwnd
Definition swell-types.h:255
Definition swell-types.h:579
PWINDOWPOS lppos
Definition swell-types.h:581
RECT rgrc[3]
Definition swell-types.h:580
Definition swell-types.h:276
UINT code
Definition swell-types.h:279
UINT_PTR idFrom
Definition swell-types.h:278
HWND hwndFrom
Definition swell-types.h:277
Definition swell-types.h:321
UINT uNewState
Definition swell-types.h:325
int iSubItem
Definition swell-types.h:324
NMHDR hdr
Definition swell-types.h:322
UINT uOldState
Definition swell-types.h:326
POINT ptAction
Definition swell-types.h:328
UINT uChanged
Definition swell-types.h:327
int iItem
Definition swell-types.h:323
LPARAM lParam
Definition swell-types.h:329
Definition swell-types.h:333
NMHDR hdr
Definition swell-types.h:334
LVITEM item
Definition swell-types.h:335
Definition swell-types.h:283
NMHDR hdr
Definition swell-types.h:284
DWORD_PTR dwItemData
Definition swell-types.h:286
DWORD dwHitInfo
Definition swell-types.h:288
POINT pt
Definition swell-types.h:287
DWORD_PTR dwItemSpec
Definition swell-types.h:285
Definition swell-types.h:491
TVITEM itemOld
Definition swell-types.h:494
NMHDR hdr
Definition swell-types.h:492
POINT ptDrag
Definition swell-types.h:496
TVITEM itemNew
Definition swell-types.h:495
UINT action
Definition swell-types.h:493
Definition swell-types.h:397
HICON hIcon
Definition swell-types.h:403
UINT uID
Definition swell-types.h:400
UINT uCallbackMessage
Definition swell-types.h:402
UINT uFlags
Definition swell-types.h:401
CHAR szTip[64]
Definition swell-types.h:404
HWND hWnd
Definition swell-types.h:399
DWORD cbSize
Definition swell-types.h:398
Definition swell-types.h:535
BOOL fErase
Definition swell-types.h:537
RECT rcPaint
Definition swell-types.h:538
HDC hdc
Definition swell-types.h:536
Definition swell-types.h:218
LONG x
Definition swell-types.h:219
LONG y
Definition swell-types.h:219
Definition swell-types.h:224
SHORT x
Definition swell-types.h:225
SHORT y
Definition swell-types.h:226
Definition swell-types.h:231
LONG bottom
Definition swell-types.h:232
LONG left
Definition swell-types.h:232
LONG top
Definition swell-types.h:232
LONG right
Definition swell-types.h:232
Definition swell-types.h:542
int nMax
Definition swell-types.h:546
int nMin
Definition swell-types.h:545
UINT fMask
Definition swell-types.h:544
int nTrackPos
Definition swell-types.h:549
UINT cbSize
Definition swell-types.h:543
int nPos
Definition swell-types.h:548
UINT nPage
Definition swell-types.h:547
Definition swell-types.h:553
DWORD styleOld
Definition swell-types.h:554
DWORD styleNew
Definition swell-types.h:555
Definition swell-dlggen.h:193
Definition swell-menugen.h:46
Definition swell-types.h:355
UINT mask
Definition swell-types.h:356
LPARAM lParam
Definition swell-types.h:363
int iImage
Definition swell-types.h:361
DWORD dwStateMask
Definition swell-types.h:358
char * pszText
Definition swell-types.h:359
int cchTextMax
Definition swell-types.h:360
DWORD dwState
Definition swell-types.h:357
Definition swell-types.h:526
LONG tmDescent
Definition swell-types.h:529
LONG tmAscent
Definition swell-types.h:528
LONG tmAveCharWidth
Definition swell-types.h:531
LONG tmInternalLeading
Definition swell-types.h:530
LONG tmHeight
Definition swell-types.h:527
Definition swell-types.h:485
UINT flags
Definition swell-types.h:487
POINT pt
Definition swell-types.h:486
HTREEITEM hItem
Definition swell-types.h:488
Definition swell-types.h:479
HTREEITEM hParent
Definition swell-types.h:480
TVITEM item
Definition swell-types.h:482
HTREEITEM hInsertAfter
Definition swell-types.h:481
Definition swell-types.h:466
int iImage
Definition swell-types.h:473
UINT state
Definition swell-types.h:469
char * pszText
Definition swell-types.h:471
UINT mask
Definition swell-types.h:467
int cchTextMax
Definition swell-types.h:472
int cChildren
Definition swell-types.h:475
LPARAM lParam
Definition swell-types.h:476
UINT stateMask
Definition swell-types.h:470
HTREEITEM hItem
Definition swell-types.h:468
int iSelectedImage
Definition swell-types.h:474
Definition swell-types.h:568
int cx
Definition swell-types.h:573
HWND hwnd
Definition swell-types.h:569
HWND hwndInsertAfter
Definition swell-types.h:570
int x
Definition swell-types.h:571
UINT flags
Definition swell-types.h:575
int y
Definition swell-types.h:572
int cy
Definition swell-types.h:574
Definition swell-types.h:378
LONG bmHeight
Definition swell-types.h:380
LONG bmWidth
Definition swell-types.h:379
LONG bmWidthBytes
Definition swell-types.h:381
LPVOID bmBits
Definition swell-types.h:384
WORD bmPlanes
Definition swell-types.h:382
WORD bmBitsPixel
Definition swell-types.h:383
Definition swell-types.h:366
UINT itemState
Definition swell-types.h:371
UINT CtlID
Definition swell-types.h:368
UINT itemID
Definition swell-types.h:369
DWORD_PTR itemData
Definition swell-types.h:375
UINT CtlType
Definition swell-types.h:367
HWND hwndItem
Definition swell-types.h:372
UINT itemAction
Definition swell-types.h:370
RECT rcItem
Definition swell-types.h:374
HDC hDC
Definition swell-types.h:373
Definition swell-types.h:622
DWORD dwID
Definition swell-types.h:623
DWORD dwWant
Definition swell-types.h:624
DWORD dwBlock
Definition swell-types.h:625
Definition swell-types.h:604
ULONGLONG ullArguments
Definition swell-types.h:612
UINT cbSize
Definition swell-types.h:605
DWORD dwSequenceID
Definition swell-types.h:611
UINT cbExtraArgs
Definition swell-types.h:613
HWND hwndTarget
Definition swell-types.h:608
DWORD dwInstanceID
Definition swell-types.h:610
POINTS ptsLocation
Definition swell-types.h:609
DWORD dwID
Definition swell-types.h:607
DWORD dwFlags
Definition swell-types.h:606
Definition swell-types.h:1137
RECT rc
Definition swell-types.h:1142
DWORD dwItemSpec
Definition swell-types.h:1143
COLORREF clrTextBk
Definition swell-types.h:1148
DWORD dwDrawStage
Definition swell-types.h:1140
int iSubItem
Definition swell-types.h:1149
LPARAM lItemlParam
Definition swell-types.h:1145
UINT uItemState
Definition swell-types.h:1144
NMHDR hdr
Definition swell-types.h:1139
struct tagNMLVCUSTOMDRAW::@367014357360052342231276137162360045000316346275 nmcd
COLORREF clrText
Definition swell-types.h:1148
HDC hdc
Definition swell-types.h:1141
#define __int64
SWELL_DialogResourceIndex * SWELL_curmodule_dialogresource_head
Definition swell-dlg-generic.cpp:376
RECT const char void HWND hwnd
Definition swell-functions.h:1066
SWELL_MenuResourceIndex * SWELL_curmodule_menuresource_head
Definition swell-menu-generic.cpp:1293
struct _MONITORINFOEX MONITORINFOEX
struct HGDIOBJ__ * HPEN
Definition swell-types.h:271
void * HINSTANCE
Definition swell-types.h:212
struct _MONITORINFOEX * LPMONITORINFOEX
char * LPSTR
Definition swell-types.h:189
signed int HRESULT
Definition swell-types.h:181
struct _ICONINFO * PICONINFO
intptr_t * PLONG_PTR
Definition swell-types.h:42
unsigned short WORD
Definition swell-types.h:163
HWND(* SWELL_ControlCreatorProc)(HWND parent, const char *cname, int idx, const char *classname, int style, int x, int y, int w, int h)
Definition swell-types.h:642
struct MSG * LPMSG
uintptr_t * PDWORD_PTR
Definition swell-types.h:43
struct SCROLLINFO * LPSCROLLINFO
struct RECT * LPRECT
struct TVHITTESTINFO * LPTVHITTESTINFO
uintptr_t UINT_PTR
Definition swell-types.h:43
struct TVINSERTSTRUCT * LPTV_INSERTSTRUCT
LONG_PTR LRESULT
Definition swell-types.h:171
struct HDITEM * LPHDITEM
void * PVOID
Definition swell-types.h:174
struct NMLISTVIEW * LPNMLISTVIEW
BOOL(* MONITORENUMPROC)(HMONITOR, HDC, LPRECT, LPARAM)
Definition swell-types.h:1459
unsigned int UINT
Definition swell-types.h:166
struct _DROPFILES DROPFILES
struct TVITEM * LPTVITEM
int INT
Definition swell-types.h:167
NMMOUSE NMCLICK
Definition swell-types.h:290
LONG_PTR LPARAM
Definition swell-types.h:170
struct WINDOWPOS * LPWINDOWPOS
signed char BOOL
Definition swell-types.h:160
void * HMONITOR
Definition swell-types.h:1443
struct NOTIFYICONDATA * LPNOTIFYICONDATA
intptr_t INT_PTR
Definition swell-types.h:42
struct POINT * LPPOINT
unsigned char BYTE
Definition swell-types.h:162
struct MINMAXINFO * LPMINMAXINFO
struct LVHITTESTINFO * LPLVHITTESTINFO
struct _COPYDATASTRUCT COPYDATASTRUCT
uintptr_t ULONG_PTR
Definition swell-types.h:43
struct _MONITORINFO MONITORINFO
intptr_t LONG_PTR
Definition swell-types.h:42
struct tagBITMAP BITMAP
struct NMMOUSE * LPNMMOUSE
struct TVINSERTSTRUCT TV_INSERTSTRUCT
struct tagDRAWITEMSTRUCT DRAWITEMSTRUCT
struct tagDRAWITEMSTRUCT * LPDRAWITEMSTRUCT
struct STYLESTRUCT * LPSTYLESTRUCT
struct HIMAGELIST__ * HIMAGELIST
Definition swell-types.h:309
struct NMHDR * LPNMHDR
struct TVINSERTSTRUCT * LPTVINSERTSTRUCT
struct HGDIOBJ__ * HBRUSH
Definition swell-types.h:270
unsigned int DWORD
Definition swell-types.h:164
void * HDROP
Definition swell-types.h:212
uintptr_t DWORD_PTR
Definition swell-types.h:43
int(* PFNLVCOMPARE)(LPARAM, LPARAM, LPARAM)
Definition swell-types.h:307
ULONG_PTR WPARAM
Definition swell-types.h:169
struct tagBITMAP * PBITMAP
LRESULT(* WNDPROC)(HWND, UINT, WPARAM, LPARAM)
Definition swell-types.h:587
struct HGDIOBJ__ * HFONT
Definition swell-types.h:272
struct HTREEITEM__ * HTREEITEM
Definition swell-types.h:418
struct tagNMLVCUSTOMDRAW * LPNMLVCUSTOMDRAW
struct HRGN__ * HRGN
Definition swell-types.h:265
__attribute__((visibility("default"))) BOOL WINAPI DllMain(HINSTANCE hInstDLL
struct HMENU__ * HMENU
Definition swell-types.h:211
INT_PTR SWELLAppMain(int msg, INT_PTR parm1, INT_PTR parm2)
int * LPINT
Definition swell-types.h:187
short SHORT
Definition swell-types.h:186
#define WINAPI
Definition swell-types.h:631
struct tagBITMAP * LPBITMAP
void(* TIMERPROC)(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime)
Definition swell-types.h:215
struct TVITEM TV_ITEM
struct _MONITORINFO * LPMONITORINFO
signed int LONG
Definition swell-types.h:182
struct NOTIFYICONDATA * PNOTIFYICONDATA
struct NMTREEVIEW * LPNMTREEVIEW
BOOL(* PROPENUMPROCEX)(HWND hwnd, const char *lpszString, HANDLE hData, LPARAM lParam)
Definition swell-types.h:639
void * HANDLE
Definition swell-types.h:212
struct NMLVDISPINFO * LPNMLVDISPINFO
struct HGDIOBJ__ * HGDIOBJ
Definition swell-types.h:269
void * LPVOID
Definition swell-types.h:174
struct WINDOWPOS * PWINDOWPOS
struct tagGESTUREINFO GESTUREINFO
uintptr_t * PUINT_PTR
Definition swell-types.h:43
DWORD LPVOID lpvReserved
Definition swell-types.h:651
struct HGDIOBJ__ * HBITMAP
Definition swell-types.h:267
struct HCURSOR__ * HCURSOR
Definition swell-types.h:264
unsigned int ULONG
Definition swell-types.h:183
struct HWND__ * HWND
Definition swell-types.h:210
struct HGDIOBJ__ * HICON
Definition swell-types.h:268
struct ACCEL * LPACCEL
DWORD COLORREF
Definition swell-types.h:165
struct tagNMLVCUSTOMDRAW NMLVCUSTOMDRAW
char * LPTSTR
Definition swell-types.h:189
unsigned __int64 ULONGLONG
Definition swell-types.h:194
uintptr_t * PULONG_PTR
Definition swell-types.h:43
struct tagDRAWITEMSTRUCT * PDRAWITEMSTRUCT
struct NCCALCSIZE_PARAMS * LPNCCALCSIZE_PARAMS
LPNMMOUSE LPNMCLICK
Definition swell-types.h:291
const char * LPCSTR
Definition swell-types.h:190
struct HDC__ * HDC
Definition swell-types.h:263
intptr_t * PINT_PTR
Definition swell-types.h:42
struct _GUID GUID
INT_PTR(* DLGPROC)(HWND, UINT, WPARAM, LPARAM)
Definition swell-types.h:586
struct _COPYDATASTRUCT * PCOPYDATASTRUCT
DWORD fdwReason
Definition swell-types.h:651
char CHAR
Definition swell-types.h:188
struct _DROPFILES * LPDROPFILES
struct _ICONINFO ICONINFO
const char * LPCTSTR
Definition swell-types.h:190
struct TCITEM * LPTCITEM
void * HGLOBAL
Definition swell-types.h:213
struct TVITEM * LPTV_ITEM
struct tagGESTURECONFIG GESTURECONFIG
Definition swell-types.h:196
DWORD HighPart
Definition swell-types.h:204
DWORD LowPart
Definition swell-types.h:203
unsigned long long QuadPart
Definition swell-types.h:197
uch h[RAND_HEAD_LEN]
Definition crypt.c:459
typedef int(UZ_EXP MsgFn)()
#define void
Definition unzip.h:396