cscg24-guacamole

CSCG 2024 Challenge 'Guacamole Mashup'
git clone https://git.sinitax.com/sinitax/cscg24-guacamole
Log | Files | Refs | sfeed.txt

user.h (5931B)


      1/**
      2 * WinPR: Windows Portable Runtime
      3 * User Environment
      4 *
      5 * Copyright 2014 Marc-Andre Moreau <marcandre.moreau@gmail.com>
      6 * Copyright 2015 DI (FH) Martin Haimberger <martin.haimberger@thincast.com>
      7 *
      8 * Licensed under the Apache License, Version 2.0 (the "License");
      9 * you may not use this file except in compliance with the License.
     10 * You may obtain a copy of the License at
     11 *
     12 *     http://www.apache.org/licenses/LICENSE-2.0
     13 *
     14 * Unless required by applicable law or agreed to in writing, software
     15 * distributed under the License is distributed on an "AS IS" BASIS,
     16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     17 * See the License for the specific language governing permissions and
     18 * limitations under the License.
     19 */
     20
     21#ifndef WINPR_USER_H
     22#define WINPR_USER_H
     23
     24#include <winpr/wtypes.h>
     25
     26/**
     27 * Standard Clipboard Formats
     28 */
     29
     30#ifndef _WIN32
     31
     32#define MB_OK 0x00000000L
     33#define MB_OKCANCEL 0x00000001L
     34#define MB_ABORTRETRYIGNORE 0x00000002L
     35#define MB_YESNOCANCEL 0x00000003L
     36#define MB_YESNO 0x00000004L
     37#define MB_RETRYCANCEL 0x00000005L
     38#define MB_CANCELTRYCONTINUE 0x00000006L
     39
     40#define IDOK 1
     41#define IDCANCEL 2
     42#define IDABORT 3
     43#define IDRETRY 4
     44#define IDIGNORE 5
     45#define IDYES 6
     46#define IDNO 7
     47#define IDTRYAGAIN 10
     48#define IDCONTINUE 11
     49#define IDTIMEOUT 32000
     50#define IDASYNC 32001
     51
     52#define CF_RAW 0
     53#define CF_TEXT 1
     54#define CF_BITMAP 2
     55#define CF_METAFILEPICT 3
     56#define CF_SYLK 4
     57#define CF_DIF 5
     58#define CF_TIFF 6
     59#define CF_OEMTEXT 7
     60#define CF_DIB 8
     61#define CF_PALETTE 9
     62#define CF_PENDATA 10
     63#define CF_RIFF 11
     64#define CF_WAVE 12
     65#define CF_UNICODETEXT 13
     66#define CF_ENHMETAFILE 14
     67#define CF_HDROP 15
     68#define CF_LOCALE 16
     69#define CF_DIBV5 17
     70#define CF_MAX 18
     71
     72#define CF_OWNERDISPLAY 0x0080
     73#define CF_DSPTEXT 0x0081
     74#define CF_DSPBITMAP 0x0082
     75#define CF_DSPMETAFILEPICT 0x0083
     76#define CF_DSPENHMETAFILE 0x008E
     77
     78#define CF_PRIVATEFIRST 0x0200
     79#define CF_PRIVATELAST 0x02FF
     80
     81#define CF_GDIOBJFIRST 0x0300
     82#define CF_GDIOBJLAST 0x03FF
     83
     84/* Windows Metafile Picture Format */
     85
     86#define MM_TEXT 1
     87#define MM_LOMETRIC 2
     88#define MM_HIMETRIC 3
     89#define MM_LOENGLISH 4
     90#define MM_HIENGLISH 5
     91#define MM_TWIPS 6
     92#define MM_ISOTROPIC 7
     93#define MM_ANISOTROPIC 8
     94
     95#define MM_MIN MM_TEXT
     96#define MM_MAX MM_ANISOTROPIC
     97#define MM_MAX_FIXEDSCALE MM_TWIPS
     98
     99#endif
    100
    101/**
    102 * Bitmap Definitions
    103 */
    104
    105#if !defined(_WIN32)
    106
    107#pragma pack(push, 1)
    108
    109typedef LONG FXPT16DOT16, FAR *LPFXPT16DOT16;
    110typedef LONG FXPT2DOT30, FAR *LPFXPT2DOT30;
    111
    112typedef struct tagCIEXYZ
    113{
    114	FXPT2DOT30 ciexyzX;
    115	FXPT2DOT30 ciexyzY;
    116	FXPT2DOT30 ciexyzZ;
    117} CIEXYZ;
    118
    119typedef CIEXYZ FAR* LPCIEXYZ;
    120
    121typedef struct tagICEXYZTRIPLE
    122{
    123	CIEXYZ ciexyzRed;
    124	CIEXYZ ciexyzGreen;
    125	CIEXYZ ciexyzBlue;
    126} CIEXYZTRIPLE;
    127
    128typedef CIEXYZTRIPLE FAR* LPCIEXYZTRIPLE;
    129
    130typedef struct tagBITMAP
    131{
    132	LONG bmType;
    133	LONG bmWidth;
    134	LONG bmHeight;
    135	LONG bmWidthBytes;
    136	WORD bmPlanes;
    137	WORD bmBitsPixel;
    138	LPVOID bmBits;
    139} BITMAP, *PBITMAP, NEAR *NPBITMAP, FAR *LPBITMAP;
    140
    141typedef struct tagRGBTRIPLE
    142{
    143	BYTE rgbtBlue;
    144	BYTE rgbtGreen;
    145	BYTE rgbtRed;
    146} RGBTRIPLE, *PRGBTRIPLE, NEAR *NPRGBTRIPLE, FAR *LPRGBTRIPLE;
    147
    148typedef struct tagRGBQUAD
    149{
    150	BYTE rgbBlue;
    151	BYTE rgbGreen;
    152	BYTE rgbRed;
    153	BYTE rgbReserved;
    154} RGBQUAD;
    155
    156typedef RGBQUAD FAR* LPRGBQUAD;
    157
    158#define BI_RGB 0
    159#define BI_RLE8 1
    160#define BI_RLE4 2
    161#define BI_BITFIELDS 3
    162#define BI_JPEG 4
    163#define BI_PNG 5
    164
    165#define PROFILE_LINKED 'LINK'
    166#define PROFILE_EMBEDDED 'MBED'
    167
    168typedef struct tagBITMAPINFOHEADER
    169{
    170	DWORD biSize;
    171	LONG biWidth;
    172	LONG biHeight;
    173	WORD biPlanes;
    174	WORD biBitCount;
    175	DWORD biCompression;
    176	DWORD biSizeImage;
    177	LONG biXPelsPerMeter;
    178	LONG biYPelsPerMeter;
    179	DWORD biClrUsed;
    180	DWORD biClrImportant;
    181} BITMAPINFOHEADER, FAR *LPBITMAPINFOHEADER, *PBITMAPINFOHEADER;
    182
    183typedef struct tagBITMAPINFO
    184{
    185	BITMAPINFOHEADER bmiHeader;
    186	RGBQUAD bmiColors[1];
    187} BITMAPINFO, FAR *LPBITMAPINFO, *PBITMAPINFO;
    188
    189typedef enum _ORIENTATION_PREFERENCE
    190{
    191	ORIENTATION_PREFERENCE_NONE = 0x0,
    192	ORIENTATION_PREFERENCE_LANDSCAPE = 0x1,
    193
    194	ORIENTATION_PREFERENCE_PORTRAIT = 0x2,
    195	ORIENTATION_PREFERENCE_LANDSCAPE_FLIPPED = 0x4,
    196	ORIENTATION_PREFERENCE_PORTRAIT_FLIPPED = 0x8
    197} ORIENTATION_PREFERENCE;
    198
    199#pragma pack(pop)
    200
    201#endif
    202
    203#if !defined(_WIN32) || defined(_UWP)
    204
    205#pragma pack(push, 1)
    206
    207typedef struct tagBITMAPCOREHEADER
    208{
    209	DWORD bcSize;
    210	WORD bcWidth;
    211	WORD bcHeight;
    212	WORD bcPlanes;
    213	WORD bcBitCount;
    214} BITMAPCOREHEADER, FAR *LPBITMAPCOREHEADER, *PBITMAPCOREHEADER;
    215
    216typedef struct
    217{
    218	DWORD bV4Size;
    219	LONG bV4Width;
    220	LONG bV4Height;
    221	WORD bV4Planes;
    222	WORD bV4BitCount;
    223	DWORD bV4V4Compression;
    224	DWORD bV4SizeImage;
    225	LONG bV4XPelsPerMeter;
    226	LONG bV4YPelsPerMeter;
    227	DWORD bV4ClrUsed;
    228	DWORD bV4ClrImportant;
    229	DWORD bV4RedMask;
    230	DWORD bV4GreenMask;
    231	DWORD bV4BlueMask;
    232	DWORD bV4AlphaMask;
    233	DWORD bV4CSType;
    234	CIEXYZTRIPLE bV4Endpoints;
    235	DWORD bV4GammaRed;
    236	DWORD bV4GammaGreen;
    237	DWORD bV4GammaBlue;
    238} BITMAPV4HEADER, FAR *LPBITMAPV4HEADER, *PBITMAPV4HEADER;
    239
    240typedef struct
    241{
    242	DWORD bV5Size;
    243	LONG bV5Width;
    244	LONG bV5Height;
    245	WORD bV5Planes;
    246	WORD bV5BitCount;
    247	DWORD bV5Compression;
    248	DWORD bV5SizeImage;
    249	LONG bV5XPelsPerMeter;
    250	LONG bV5YPelsPerMeter;
    251	DWORD bV5ClrUsed;
    252	DWORD bV5ClrImportant;
    253	DWORD bV5RedMask;
    254	DWORD bV5GreenMask;
    255	DWORD bV5BlueMask;
    256	DWORD bV5AlphaMask;
    257	DWORD bV5CSType;
    258	CIEXYZTRIPLE bV5Endpoints;
    259	DWORD bV5GammaRed;
    260	DWORD bV5GammaGreen;
    261	DWORD bV5GammaBlue;
    262	DWORD bV5Intent;
    263	DWORD bV5ProfileData;
    264	DWORD bV5ProfileSize;
    265	DWORD bV5Reserved;
    266} BITMAPV5HEADER, FAR *LPBITMAPV5HEADER, *PBITMAPV5HEADER;
    267
    268typedef struct tagBITMAPCOREINFO
    269{
    270	BITMAPCOREHEADER bmciHeader;
    271	RGBTRIPLE bmciColors[1];
    272} BITMAPCOREINFO, FAR *LPBITMAPCOREINFO, *PBITMAPCOREINFO;
    273
    274typedef struct tagBITMAPFILEHEADER
    275{
    276	WORD bfType;
    277	DWORD bfSize;
    278	WORD bfReserved1;
    279	WORD bfReserved2;
    280	DWORD bfOffBits;
    281} BITMAPFILEHEADER, FAR *LPBITMAPFILEHEADER, *PBITMAPFILEHEADER;
    282
    283#pragma pack(pop)
    284
    285#endif
    286
    287#ifdef __cplusplus
    288extern "C"
    289{
    290#endif
    291
    292#ifdef __cplusplus
    293}
    294#endif
    295
    296#endif /* WINPR_USER_H */