1 // =================================
  2 // Copyright (c) 2021 Seppo Laakko
  3 // Distributed under the MIT license
  4 // =================================
  5 
  6 public extern cdecl void WinSetInstance();
  7 public extern cdecl nothrow ulong WinGetLastError();
  8 public extern cdecl nothrow void WinFormatMessage(ulong errorCodewchar* buffer);
  9 public extern cdecl nothrow void* WinCreateEvent();
 10 public extern cdecl nothrow bool WinSetEvent(void* eventHandle);
 11 public extern cdecl nothrow bool WinResetEvent(void* eventHandle);
 12 public extern cdecl nothrow bool WinWaitEvent(void* eventHandle);
 13 public extern cdecl nothrow bool WinCloseHandle(void* handle);
 14 public extern cdecl nothrow int WinWaitForMultipleObjects(uint countvoid** handles);
 15 public extern cdecl nothrow void* WinFindFirstChangeNotification(const char* directoryPath);
 16 public extern cdecl nothrow bool WinFindNextChangeNotification(void* handle);
 17 public extern cdecl nothrow bool WinFindCloseChangeNotification(void* handle);
 18 public extern cdecl nothrow bool WinShellExecute(const char* filePathlong& errorCode);
 19 public extern cdecl nothrow int WinInit(void* messageProcessorFunctionAddressvoid* keyPreviewFunctionAddress);
 20 public extern cdecl nothrow int WinRun();
 21 public extern cdecl nothrow void WinDone();
 22 public extern cdecl nothrow int WinApplicationMessageLoop();
 23 public extern cdecl nothrow void WinRunModal();
 24 public extern cdecl nothrow void* WinGetForegroundWindow();
 25 public extern cdecl nothrow bool WinEnableWindow(void* windowHandlebool enable);
 26 public extern cdecl nothrow int WinDialogWindowMessageLoop(void* windowHandlevoid* parentWindowHandlevoid* getDialogResultFuncvoid* keyPreviewFuncvoid* dialogWindowPtr);
 27 public extern cdecl nothrow ushort WinRegisterWindowClass(const char* windowClassNameuint styleint backgroundColor);
 28 public extern cdecl nothrow void* WinCreateWindowByClassAtom(ushort windowClassconst char* windowNamelong stylelong exStyleint xint yint wint hvoid* parentHandle);
 29 public extern cdecl nothrow void* WinCreateWindowByClassName(const char* windowClassconst char* windowNamelong stylelong exStyleint xint yint wint hvoid* parentHandle);
 30 public extern cdecl nothrow void WinDestroyWindow(void* windowHandle);
 31 public extern cdecl nothrow void* WinSubClassCommandWndProc(void* windowHandle);
 32 public extern cdecl nothrow void WinRestoreOriginalWndProc(void* windowHandlevoid* originalWndProc);
 33 public extern cdecl nothrow int WinShowMessageBox(const char* textconst char* caption);
 34 public extern cdecl nothrow int WinShowMessageBoxWithType(const char* textconst char* captionvoid* ownerWindowHandleuint type);
 35 public extern cdecl nothrow bool WinMessageBeep(uint beepType);
 36 public extern cdecl nothrow void WinPostQuitMessage(int exitCode);
 37 public extern cdecl nothrow bool WinPostMessage(void* windowHandleuint msguint wparamlong lparam);
 38 public extern cdecl nothrow long WinSendMessage(void* windowHandleuint msguint wparamlong lparam);
 39 public extern cdecl nothrow bool WinShowWindow(void* windowHandleint commandShow);
 40 public extern cdecl nothrow bool WinUpdateWindow(void* windowHandle);
 41 public extern cdecl nothrow bool WinMoveWindow(void* windowHandleint xint yint wint hbool repaint);
 42 public extern cdecl nothrow bool WinGetClientRect(void* windowHandlevoid* rect);
 43 public extern cdecl nothrow bool WinGetWindowRect(void* windowHandlevoid* rect);
 44 public extern cdecl nothrow bool WinClientToScreen(void* windowHandlevoid* point);
 45 public extern cdecl nothrow bool WinScreenToClient(void* windowHandlevoid* point);
 46 public extern cdecl nothrow bool WinPtInRect(void* rectvoid* point);
 47 public extern cdecl nothrow bool WinSetWindowText(void* windowHandleconst char* text);
 48 public extern cdecl nothrow int WinGetWindowTextLength(void* windowHandle);
 49 public extern cdecl nothrow int WinGetWindowText(void* windowHandleconst wchar* textBufferint maxCount);
 50 public extern cdecl nothrow void* WinGetDC(void* windowHandle);
 51 public extern cdecl nothrow int WinReleaseHDC(void* windowHandlevoid* hdc);
 52 public extern cdecl nothrow bool WinTrackMouseEvent(void* windowHandleuint flagsuint hoverTimeMs);
 53 public extern cdecl nothrow void* WinSetParent(void* childWindowHandlevoid* parentWindowHandle);
 54 public extern cdecl nothrow void* WinBeginPaint(void* windowHandlevoid*& paintStruct);
 55 public extern cdecl nothrow void WinEndPaint(void* windowHandlevoid* paintStruct);
 56 public extern cdecl nothrow void WinGetClipRect(void* paintStructint& xint& yint& wint& h);
 57 public extern cdecl nothrow bool WinInvalidateRect(void* windowHandlevoid* rectbool eraseBackground);
 58 public extern cdecl nothrow void* WinCreateGraphics(void* hdc);
 59 public extern cdecl nothrow void WinDeleteGraphics(void* nativeGraphics);
 60 public extern cdecl nothrow void* WinCreateGraphicsFromWindowHandle(void* windowHandle);
 61 public extern cdecl nothrow void* WinCreateGraphicsFromImage(void* image);
 62 public extern cdecl nothrow int WinGraphicsGetLastStatus(void* graphics);
 63 public extern cdecl nothrow void* WinGraphicsGetHDC(void* graphics);
 64 public extern cdecl nothrow void* WinGraphicsCreatePen(byte alphabyte redbyte greenbyte bluefloat width);
 65 public extern cdecl nothrow void* WinGraphicsClonePen(void* pen);
 66 public extern cdecl nothrow void WinGraphicsDeletePen(void* pen);
 67 public extern cdecl nothrow int WinGraphicsPenGetLastStatus(void* pen);
 68 public extern cdecl nothrow int WinGraphicsPenGetAlignment(void* pen);
 69 public extern cdecl nothrow int WinGraphicsPenSetAlignment(void* penint alignment);
 70 public extern cdecl nothrow void* WinGraphicsPenGetBrush(void* pen);
 71 public extern cdecl nothrow int WinGraphicsPenSetBrush(void* penvoid* brush);
 72 public extern cdecl nothrow int WinGraphicsPenGetColor(void* penbyte& alphabyte& redbyte& greenbyte& blue);
 73 public extern cdecl nothrow int WinGraphicsPenSetColor(void* penbyte alphabyte redbyte greenbyte blue);
 74 public extern cdecl nothrow int WinGraphicsPenGetStartCap(void* pen);
 75 public extern cdecl nothrow int WinGraphicsPenSetStartCap(void* penint startCap);
 76 public extern cdecl nothrow int WinGraphicsPenGetEndCap(void* pen);
 77 public extern cdecl nothrow int WinGraphicsPenSetEndCap(void* penint endCap);
 78 public extern cdecl nothrow int WinGraphicsPenGetDashCap(void* pen);
 79 public extern cdecl nothrow int WinGraphicsPenSetDashCap(void* penint dashCap);
 80 public extern cdecl nothrow float WinGraphicsPenGetDashOffset(void* pen);
 81 public extern cdecl nothrow int WinGraphicsPenSetDashOffset(void* penfloat dashOffset);
 82 public extern cdecl nothrow int WinGraphicsPenGetDashStyle(void* pen);
 83 public extern cdecl nothrow int WinGraphicsPenSetDashStyle(void* penint dashStyle);
 84 public extern cdecl nothrow int WinGraphicsPenGetLineJoin(void* pen);
 85 public extern cdecl nothrow int WinGraphicsPenSetLineJoin(void* penint lineJoin);
 86 public extern cdecl nothrow void* WinGraphicsCreateSolidBrush(byte alphabyte redbyte greenbyte blue);
 87 public extern cdecl nothrow void* WinGraphicsCloneSolidBrush(void* solidBrush);
 88 public extern cdecl nothrow void WinGraphicsDeleteSolidBrush(void* solidBrush);
 89 public extern cdecl nothrow int WinGraphicsBrushGetLastStatus(void* brush);
 90 public extern cdecl nothrow void* WinGraphicsCreateEmptyFontFamily();
 91 public extern cdecl nothrow void* WinGraphicsCreateFontFamily(const char* familyName);
 92 public extern cdecl nothrow void* WinGraphicsCloneFontFamily(void* fontFamily);
 93 public extern cdecl nothrow void WinGraphicsDeleteFontFamily(void* fontFamily);
 94 public extern cdecl nothrow int WinGraphicsGetFontFamilyName(void* fontFamilywchar*& str);
 95 public extern cdecl nothrow const void* WinGraphicsGetGenericMonospaceFontFamily();
 96 public extern cdecl nothrow const void* WinGraphicsGetGenericSansSerifFontFamily();
 97 public extern cdecl nothrow const void* WinGraphicsGetGenericSerifFontFamily();
 98 public extern cdecl nothrow int WinGraphicsFontFamilyGetLastStatus(void* fontFamily);
 99 public extern cdecl nothrow void* WinGraphicsCreateFont(const void* fontFamilyfloat emSizeint styleint unit);
100 public extern cdecl nothrow void* WinGraphicsCreateFontFromHFont(void* hdcvoid* hfont);
101 public extern cdecl nothrow void* WinGraphicsCloneFont(void* font);
102 public extern cdecl nothrow void WinGraphicsDeleteFont(void* font);
103 public extern cdecl nothrow int WinGraphicsGetFontFamily(void* fontvoid* fontFamily);
104 public extern cdecl nothrow float WinGraphicsGetFontSize(void* font);
105 public extern cdecl nothrow float WinGraphicsGetFontHeight(void* fontconst void* graphics);
106 public extern cdecl nothrow int WinGraphicsGetFontStyle(void* font);
107 public extern cdecl nothrow int WinGraphicsFontGetLastStatus(void* font);
108 public extern cdecl nothrow int WinGraphicsFontToHFont(void* fontvoid* graphicsvoid*& hfont);
109 public extern cdecl nothrow void* WinGraphicsCreateDefaultStringFormat();
110 public extern cdecl nothrow const void* WinGraphicsGetGenericDefaultStringFormat();
111 public extern cdecl nothrow const void* WinGraphicsGetGenericTypographicStringFormat();
112 public extern cdecl nothrow void* WinGraphicsCreateStringFormat(int formatFlagsushort languageId);
113 public extern cdecl nothrow void* WinGraphicsCloneStringFormat(void* stringFormat);
114 public extern cdecl nothrow void WinGraphicsDeleteStringFormat(void* stringFormat);
115 public extern cdecl nothrow int WinGraphicsStringFormatGetLastStatus(void* stringFormat);
116 public extern cdecl nothrow int WinGraphicsStringFormatSetAlignment(void* stringFormatint alignment);
117 public extern cdecl nothrow int WinGraphicsStringFormatSetLineAlignment(void* stringFormatint alignment);
118 public extern cdecl nothrow int WinGraphicsStringFormatSetHotKeyPrefix(void* stringFormatint hotKeyPrefix);
119 public extern cdecl nothrow int WinGraphicsDrawLine(void* graphicsvoid* penint startXint startYint endXint endY);
120 public extern cdecl nothrow int WinGraphicsDrawLineF(void* graphicsvoid* penfloat startXfloat startYfloat endXfloat endY);
121 public extern cdecl nothrow int WinGraphicsDrawLines(void* graphicsvoid* penint countvoid* points);
122 public extern cdecl nothrow int WinGraphicsDrawLinesF(void* graphicsvoid* penint countvoid* points);
123 public extern cdecl nothrow int WinGraphicsDrawString(void* graphicsconst char* strvoid* fontfloat xfloat yvoid* brush);
124 public extern cdecl nothrow int WinGraphicsDrawStringFormatPoint(void* graphicsconst char* strvoid* fontfloat xfloat yvoid* formatvoid* brush);
125 public extern cdecl nothrow int WinGraphicsDrawStringFormatRect(void* graphicsconst char* strvoid* fontfloat xfloat yfloat wfloat hvoid* formatvoid* brush);
126 public extern cdecl nothrow int WinGraphicsMeasureStringFormatSize(void* graphicsconst char* strvoid* fontfloat wfloat hvoid* format
127     float& outSizeWfloat& outSizeHint* codePointsFittedint* linesFilled);
128 public extern cdecl nothrow int WinGraphicsMeasureStringFormatRect(void* graphicsconst char* strvoid* fontfloat xfloat yfloat wfloat hvoid* format
129     float& outXfloat& outYfloat& outWfloat& outHint* codePointsFittedint* linesFilled);
130 public extern cdecl nothrow int WinGraphicsMeasureStringFormatPoint(void* graphicsconst char* strvoid* fontfloat xfloat yvoid* format
131     float& outXfloat& outYfloat& outWfloat& outH);
132 public extern cdecl nothrow int WinGraphicsGetTextRenderingHint(void* graphics);
133 public extern cdecl nothrow int WinGraphicsSetTextRenderingHint(void* graphicsint textRenderingHint);
134 public extern cdecl nothrow int WinGraphicsClear(void* graphicsbyte alphabyte redbyte greenbyte blue);
135 public extern cdecl nothrow int WinGraphicsDrawRectangle(void* graphicsvoid* penint xint yint wint h);
136 public extern cdecl nothrow int WinGraphicsDrawRectangleF(void* graphicsvoid* penfloat xfloat yfloat wfloat h);
137 public extern cdecl nothrow int WinGraphicsFillRectangle(void* graphicsvoid* brushint xint yint wint h);
138 public extern cdecl nothrow int WinGraphicsFillRectangleF(void* graphicsvoid* brushfloat xfloat yfloat wfloat h);
139 public extern cdecl nothrow int WinGraphicsFillPolygon(void* graphicsvoid* brushint countvoid* points);
140 public extern cdecl nothrow int WinGraphicsFillPolygonF(void* graphicsvoid* brushint countvoid* points);
141 public extern cdecl nothrow int WinGraphicsDrawArc(void* graphicsvoid* penfloat xfloat yfloat wfloat hfloat startAnglefloat sweepAngle);
142 public extern cdecl nothrow int WinGraphicsDrawEllipse(void* graphicsvoid* penfloat xfloat yfloat wfloat h);
143 public extern cdecl nothrow int WinGraphicsFillEllipse(void* graphicsvoid* brushfloat xfloat yfloat wfloat h);
144 public extern cdecl nothrow void WinGetSysColor(int indexbyte& redbyte& greenbyte& blue);
145 public extern cdecl nothrow void* WinGraphicsCreateRegion();
146 public extern cdecl nothrow void* WinGraphicsCloneRegion(void* region);
147 public extern cdecl nothrow void WinGraphicsDeleteRegion(void* region);
148 public extern cdecl nothrow int WinGraphicsRegionGetLastStatus(void* region);
149 public extern cdecl nothrow int WinGraphicsGetClip(void* graphicsvoid* region);
150 public extern cdecl nothrow int WinGraphicsSetClipRect(void* graphicsint xint yint wint hint combineMode);
151 public extern cdecl nothrow int WinGraphicsSetClipRegion(void* graphicsvoid* region);
152 public extern cdecl nothrow void* WinGraphicsCreateImage(const char* fileNamebool useEmbeddedColorManagement);
153 public extern cdecl nothrow int WinGraphicsImageGetLastStatus(void* image);
154 public extern cdecl nothrow void* WinGraphicsCloneImage(void* image);
155 public extern cdecl nothrow void WinGraphicsDeleteImage(void* image);
156 public extern cdecl nothrow uint WinGraphicsImageGetHeight(void* image);
157 public extern cdecl nothrow uint WinGraphicsImageGetWidth(void* image);
158 public extern cdecl nothrow void* WinGraphicsCreateBitmap(const char* fileNamebool useEmbeddedColorManagement);
159 public extern cdecl nothrow void* WinGraphicsCreateBitmapWidthHeight(int wint hvoid* graphics);
160 public extern cdecl nothrow void* WinGraphicsCreateBitmapWinBitmap(void* winBitmapvoid* palette);
161 public extern cdecl nothrow void* WinGraphicsCreateBitmapIcon(void* icon);
162 public extern cdecl nothrow void* WinGraphicsCreateBitmapResource(const char* resourceName);
163 public extern cdecl nothrow void* WinGraphicsCloneBitmap(void* nativeBitmapint xint yint wint hint pixelFormat);
164 public extern cdecl nothrow int WinGraphicsBitmapGetPixel(void* nativeBitmapint xint ybyte& alphabyte& redbyte& greenbyte& blue);
165 public extern cdecl nothrow int WinGraphicsBitmapSetPixel(void* nativeBitmapint xint ybyte alphabyte redbyte greenbyte blue);
166 public extern cdecl nothrow uint WinGraphicsSave(void* graphics);
167 public extern cdecl nothrow int WinGraphicsRestore(void* graphicsuint graphicsState);
168 public extern cdecl nothrow void* WinGraphicsCreateDefaultImageAttributes();
169 public extern cdecl nothrow int WinGraphicsImageAttributesGetLastStatus(void* imageAttributes);
170 public extern cdecl nothrow void* WinGraphicsCloneImageAttributes(void* imageAttributes);
171 public extern cdecl nothrow void WinGraphicsDeleteImageAttributes(void* imageAttributes);
172 public extern cdecl nothrow int WinGraphicsImageAttributesSetColorKey(void* imageAttributesbyte colorLowAlphabyte colorLowRedbyte colorLowGreenbyte colorLowBlue
173     byte colorHighAlphabyte colorHighRedbyte colorHighGreenbyte colorHighBlueint colorAdjustType);
174 public extern cdecl nothrow int WinGraphicsDrawImageWithAttributes(void* graphicsvoid* imageint destRectXint destRectYint destRectWint destRectHint srcXint srcYint srcWint srcH
175     int srcUnitvoid* imageAttributes);
176 public extern cdecl nothrow int WinGraphicsDrawImageWithAttributesF(void* graphicsvoid* imagefloat destRectXfloat destRectYfloat destRectWfloat destRectHfloat srcXfloat srcYfloat srcWfloat srcH
177     int srcUnitvoid* imageAttributes);
178 public extern cdecl nothrow int WinGraphicsDrawImagePoint(void* graphicsvoid* image float xfloat y);
179 public extern cdecl nothrow int WinGraphicsDrawImageRect(void* graphicsvoid* image float xfloat yfloat wfloat h);
180 public extern cdecl nothrow int WinGraphicsGetTransform(void* graphicsvoid* matrix);
181 public extern cdecl nothrow int WinGraphicsSetTransform(void* graphicsvoid* matrix);
182 public extern cdecl nothrow int WinGraphicsMultiplyTransform(void* graphicsvoid* matrixint order);
183 public extern cdecl nothrow int WinGraphicsResetTransform(void* graphics);
184 public extern cdecl nothrow int WinGraphicsRotateTransform(void* graphicsfloat angleint order);
185 public extern cdecl nothrow int WinGraphicsScaleTransform(void* graphicsfloat scaleXfloat scaleYint order);
186 public extern cdecl nothrow int WinGraphicsTranslateTransform(void* graphicsfloat offsetXfloat offsetYint order);
187 public extern cdecl nothrow void* WinGraphicsCreateMatrix();
188 public extern cdecl nothrow void* WinGraphicsCreateMatrixFromElements(float m11float m12float m21float m22float dxfloat dy);
189 public extern cdecl nothrow void* WinGraphicsCreateMatrixRectPoint(int rectXint rectYint rectWint rectHint ptXint ptY);
190 public extern cdecl nothrow void* WinGraphicsCreateMatrixRectFPointF(float rectXfloat rectYfloat rectWfloat rectHfloat ptXfloat ptY);
191 public extern cdecl nothrow int WinGraphicsMatrixGetLastStatus(void* matrix);
192 public extern cdecl nothrow void* WinGraphicsCloneMatrix(void* matrix);
193 public extern cdecl nothrow void WinGraphicsDeleteMatrix(void* matrix);
194 public extern cdecl nothrow int WinGraphicsMultiplyMatrix(void* matrixvoid* factorMatrixint order);
195 public extern cdecl nothrow int WinGraphicsResetMatrix(void* matrix);
196 public extern cdecl nothrow int WinGraphicsInvertMatrix(void* matrix);
197 public extern cdecl nothrow float WinGraphicsMatrixOffsetX(void* matrix);
198 public extern cdecl nothrow float WinGraphicsMatrixOffsetY(void* matrix);
199 public extern cdecl nothrow int WinGraphicsMatrixRotate(void* matrixfloat angleint order);
200 public extern cdecl nothrow int WinGraphicsMatrixRotateAt(void* matrixfloat anglefloat centerXfloat centerYint order);
201 public extern cdecl nothrow int WinGraphicsMatrixScale(void* matrixfloat scaleXfloat scaleYint order);
202 public extern cdecl nothrow int WinGraphicsMatrixShear(void* matrixfloat shearXfloat shearYint order);
203 public extern cdecl nothrow int WinGraphicsMatrixTranslate(void* matrixfloat offsetXfloat offsetYint order);
204 public extern cdecl nothrow int WinGraphicsMatrixTransformPoints(void* matrixvoid* pointsint numPoints);
205 public extern cdecl nothrow int WinGraphicsMatrixTransformPointsF(void* matrixvoid* pointsint numPoints);
206 public extern cdecl nothrow int WinGraphicsMatrixSetElements(void* matrixfloat m11float m12float m21float m22float dxfloat dy);
207 public extern cdecl nothrow int WinGraphicsGetPageUnit(void* graphics);
208 public extern cdecl nothrow int WinGraphicsSetPageUnit(void* graphicsint unit);
209 public extern cdecl nothrow float WinGraphicsGetPageScale(void* graphics);
210 public extern cdecl nothrow int WinGraphicsSetPageScale(void* graphicsfloat scale);
211 public extern cdecl nothrow float WinGraphicsGetDpiX(void* graphics);
212 public extern cdecl nothrow float WinGraphicsGetDpiY(void* graphics);
213 public extern cdecl nothrow int WinGraphicsGetSmoothingMode(void* graphics);
214 public extern cdecl nothrow int WinGraphicsSetSmoothingMode(void* graphicsint smoothingMode);
215 public extern cdecl nothrow int WinGraphicsGetEncoderClsId(const char* imageFormatvoid* clsid);
216 public extern cdecl nothrow int WinGraphicsImageSave(void* imageconst char* fileNameconst void* encoderClsId);
217 public extern cdecl nothrow void WinGetMessagePos(int& xint& y);
218 public extern cdecl nothrow bool WinSetBkColor(void* hdcbyte redbyte greenbyte blue);
219 public extern cdecl nothrow void* WinGetFocus();
220 public extern cdecl nothrow void* WinSetFocus(void* windowHandle);
221 public extern cdecl nothrow void* WinGetTopWindow(void* windowHandle);
222 public extern cdecl nothrow bool WinSetWindowPos(void* windowHandlevoid* insertAfterWindowHandleint xint yint cxint cyuint flags);
223 public extern cdecl nothrow bool WinBringWindowToTop(void* windowHandle);
224 public extern cdecl nothrow bool WinGetOpenFileName(void* windowHandleconst wchar* filterconst wchar* initialDirectorywchar* fileNameBufferuint fileNameBufferSizeuint flagsconst wchar* defaultExtension);
225 public extern cdecl nothrow bool WinGetSaveFileName(void* windowHandleconst wchar* filterconst wchar* initialDirectorywchar* fileNameBufferuint fileNameBufferSizeuint flagsconst wchar* defaultExtension);
226 public extern cdecl nothrow uint WinCommDlgExtendedError();
227 public extern cdecl nothrow void* WinLoadImage(const char* nameuint typeint cxint cy);
228 public extern cdecl nothrow void* WinLoadStandardCursor(int cursorId);
229 public extern cdecl nothrow void* WinLoadCursor(const char* cursorName);
230 public extern cdecl nothrow void* WinGetCursor();
231 public extern cdecl nothrow void* WinSetCursor(void* cursorHandle);
232 public extern cdecl nothrow bool WinDestroyCursor(void* cursorHandle);
233 public extern cdecl nothrow void* WinLoadStandardIcon(int iconId);
234 public extern cdecl nothrow void* WinLoadIcon(const char* iconName);
235 public extern cdecl nothrow bool WinDestroyIcon(void* iconHandle);
236 public extern cdecl nothrow void* WinLoadStandardBitmap(int bitmapId);
237 public extern cdecl nothrow void* WinLoadBitmap(const char* bitmapName);
238 public extern cdecl nothrow bool WinDestroyBitmap(void* bitmapHandle);
239 public extern cdecl nothrow bool WinDeleteObject(void* handle);
240 public extern cdecl nothrow int WinGetSystemMetrics(int index);
241 public extern cdecl nothrow void* WinSetCapture(void* windowHandle);
242 public extern cdecl nothrow bool WinReleaseCapture();
243 public extern cdecl nothrow long WinGetClassLong(void* windowHandleint index);
244 public extern cdecl nothrow long WinSetClassLong(void* windowHandleint indexlong value);
245 public extern cdecl nothrow long WinGetWindowLong(void* windowHandleint index);
246 public extern cdecl nothrow bool WinSetWindowLong(void* windowHandleint indexlong newValue);
247 public extern cdecl nothrow bool WinScrollWindow(void* windowHandleint xAmountint yAmount
248     int clientLocXint clientLocYint clientSizeWint clientSizeHint clipLocXint clipLocYint clipSizeWint clipSizeH);
249 public extern cdecl nothrow bool WinScrollWindowEx(void* windowHandleint dxint dy
250     int clientLocXint clientLocYint clientSizeWint clientSizeHint clipLocXint clipLocYint clipSizeWint clipSizeH
251     int x1int y1int x2int y2);
252 public extern cdecl nothrow bool WinGetScrollInfo(void* windowHandleint nBaruint& nPageint& nPosint& nMinint& nMaxint& nTrackPos);
253 public extern cdecl nothrow int WinSetScrollInfo(void* windowHandleint nBaruint fMaskbool redrawuint nPageint nPosint nMinint nMax);
254 public extern cdecl nothrow bool WinShowScrollBar(void* windowHandleint nBarbool show);
255 public extern cdecl nothrow bool WinCreateCaret(void* windowHandlevoid* bitmapHandleint widthint height);
256 public extern cdecl nothrow bool WinDestroyCaret();
257 public extern cdecl nothrow bool WinShowCaret(void* windowHandle);
258 public extern cdecl nothrow bool WinHideCaret(void* windowHandle);
259 public extern cdecl nothrow bool WinGetCaretPos(int& xint& y);
260 public extern cdecl nothrow bool WinSetCaretPos(int xint y);
261 public extern cdecl nothrow bool WinSetTimer(void* windowHandleuint timerIduint elapseMs);
262 public extern cdecl nothrow bool WinKillTimer(void* windowHandleuint timerId);
263 public extern cdecl nothrow bool WinRegOpenCurrentUser(void** result);
264 public extern cdecl nothrow bool WinRegCloseKey(void* key);
265 public extern cdecl nothrow bool WinRegGetDWordValue(void* keyconst char* subKeyconst char* valueNameuint& value);
266 public extern cdecl nothrow uint WinRegisterClipboardFormat(const char* formatName);
267 public extern cdecl nothrow bool WinOpenClipboard(void* windowHandle);
268 public extern cdecl nothrow bool WinCloseClipboard();
269 public extern cdecl nothrow bool WinEmptyClipboard();
270 public extern cdecl nothrow void* WinSetClipboardData(uint formatvoid* mem);
271 public extern cdecl nothrow void* WinGetClipboardData(uint format);
272 public extern cdecl nothrow bool WinIsClipboardFormatAvailable(uint format);
273 public extern cdecl nothrow bool WinAddClipboardFormatListener(void* windowHandle);
274 public extern cdecl nothrow bool WinRemoveClipboardFormatListener(void* windowHandle);
275 public extern cdecl nothrow void* WinGlobalAlloc(uint flagsulong size);
276 public extern cdecl nothrow void* WinGlobalLock(void* memHandle);
277 public extern cdecl nothrow bool WinGlobalUnlock(void* memHandle);
278 public extern cdecl nothrow void* WinGlobalFree(void* memHandle);
279 public extern cdecl nothrow ulong WinGlobalSize(void* memHandle);
280 public extern cdecl nothrow bool WinGetCursorPos(int& xint& y);
281 public extern cdecl nothrow bool WinGetFolder(void* windowHandleconst wchar* defaultDirectorywchar* folderNameBufferuint folderNameBufferSize);
282 public extern cdecl nothrow bool WinKeyPressed(int keyCode);
283 public extern cdecl nothrow int WinGetCurrentProcessId();
284 public extern cdecl nothrow void WinBeginTest();
285 public extern cdecl nothrow void WinEndTest();
286 public extern cdecl nothrow int WinGetLogicalDrives();
287