1
2
3
4
5
6 public extern cdecl void RtmInit();
7 public extern cdecl void RtmDone();
8 public extern cdecl void RtmEnqueueDestruction(void*, void*);
9 public extern cdecl void RtmBeginStaticInitCriticalSection();
10 public extern cdecl void RtmEndtaticInitCriticalSection();
11 public extern cdecl const char* RtmClassName(void* typeId);
12 public extern cdecl bool RtmIs(void* typeId, void* baseTypeId);
13 public extern cdecl void RtmPushFunction(void* traceInfo);
14 public extern cdecl void RtmPopFunction(void* traceInfo);
15 public extern cdecl void* RtmMemAlloc(long size);
16 public extern cdecl void RtmMemFree(void* ptr);
17 public extern cdecl void RtmPrintInteger(long x);
18 public extern cdecl void RtmPrintFloat(float x);
19 public extern cdecl void RtmPrintDouble(double x);
20 public extern cdecl void RtmPrintString(const char* s);
21 public extern cdecl void RtmBeginUnitTest(int numAssertions, const char* unitTestFilePath);
22 public extern cdecl void RtmEndUnitTest(const char* testName, int exitCode);
23 public extern cdecl void RtmSetUnitTestAssertionResult(int assertionIndex, bool assertionResult, int line);
24 public extern cdecl long RtmEvaluateUnaryOp(long operand, int type, int operation);
25 public extern cdecl long RtmEvaluateBinOp(long left, long right, int type, int operation);
26 public extern cdecl float RtmEvaluateFloatUnaryOp(float operand, int operation);
27 public extern cdecl float RtmEvaluateFloatBinaryOp(float left, float right, int operation);
28 public extern cdecl double RtmEvaluateDoubleUnaryOp(double operand, int operation);
29 public extern cdecl double RtmEvaluateDoubleBinaryOp(double left, double right, int operation);
30 public extern cdecl void RtmPanic(const char* message);
31 public extern cdecl void RtmFailAssertion(const char* assertion, const char* function, const char* sourceFilePath, int lineNumber);
32 public extern cdecl int RtmAllocateError(const char* errorMessage);
33 public extern cdecl const char* RtmGetErrorMessage(int errorId);
34 public extern cdecl const char* RtmGetErrorMessageWithoutStackTrace(int errorId);
35 public extern cdecl int RtmGetErrno();
36 public extern cdecl void RtmDisposeError(int errorId);
37 public extern cdecl void RtmInitRand(uint seed);
38 public extern cdecl uint RtmRandom();
39 public extern cdecl ulong RtmRandom64();
40 public extern cdecl void* RtmOpenFile(const char* filePath, byte openMode, int& errorId);
41 public extern cdecl void* RtmOpenStdFile(int handle, int& errorId);
42 public extern cdecl bool RtmClose(void* fileHandle, int& errorId);
43 public extern cdecl bool RtmDisposeFile(void* fileHandle, int& errorId);
44 public extern cdecl long RtmWrite(void* fileHandle, const byte* buffer, long count, int& errorId);
45 public extern cdecl bool RtmWriteByte(void* fileHandle, byte x, int& errorId);
46 public extern cdecl long RtmRead(void* fileHandle, byte* buffer, long bufferSize, int& errorId);
47 public extern cdecl int RtmReadByte(void* fileHandle, int& errorId);
48 public extern cdecl bool RtmEof(void* fileHandle);
49 public extern cdecl bool RtmGetFileError(void* fileHandle, int& errorId);
50 public extern cdecl bool RtmSeek(void* fileHandle, long pos, byte origin, int& errorId);
51 public extern cdecl long RtmTell(void* fileHandle, int& errorId);
52 public extern cdecl bool RtmFlush(void* fileHandle, int& errorId);
53 public extern cdecl bool RtmFileExists(const char* filePath, int& errorId);
54 public extern cdecl bool RtmLastWriteTimeLess(const char* filePath1, const char* filePath2, int& errorId);
55 public extern cdecl long RtmGetFileSize(const char* filePath, int& errorId);
56 public extern cdecl bool RtmRemoveFile(const char* filePath, int& errorId);
57 public extern cdecl bool RtmCopyFile(const char* sourceFilePath, const char* targetFilePath, int& errorId);
58 public extern cdecl bool RtmMoveFile(const char* sourceFilePath, const char* targetFilePath, int& errorId);
59 public extern cdecl bool RtmIsConsoleHandle(int handle);
60 public extern cdecl long RtmNow();
61 public extern cdecl void RtmSleep(long nanoSeconds);
62 public extern cdecl bool RtmGetCurrentDate(short* year, sbyte* month, sbyte* day);
63 public extern cdecl bool RtmGetCurrentDateTime(short* year, sbyte* month, sbyte* day, int* secs);
64 public extern cdecl double RtmPow(double x, int exponent);
65 public extern cdecl double Pow(double x, double y);
66 public extern cdecl double RtmSqrt(double x);
67 public extern cdecl double RtmPi();
68 public extern cdecl double RtmCos(double angleRad);
69 public extern cdecl double RtmSin(double angleRad);
70 public extern cdecl double RtmArcCos(double x);
71 public extern cdecl double RtmArcSin(double x);
72 public extern cdecl double RtmAtan2(double y, double x);
73 public extern cdecl double RtmEpsilon();
74 public extern cdecl double RtmRemainder(double x, double y);
75 public extern cdecl int RtmGetCurrentWorkingDirectoryHandle(int& errorId);
76 public extern cdecl const char* RtmGetCurrentWorkingDirectory(int handle);
77 public extern cdecl void RtmFreeCurrentWorkingDirectoryHandle(int handle);
78 public extern cdecl int RtmAllocateString(const char* s);
79 public extern cdecl void RtmFreeString(int stringHandle);
80 public extern cdecl const char* RtmGetString(int stringHandle);
81 public extern cdecl char RtmAsciiToUpper(char c);
82 public extern cdecl char RtmAsciiToLower(char c);
83 public extern cdecl int RtmBeginGetPathToExecutable();
84 public extern cdecl const char* RtmGetPathToExecutable(int pathHandle);
85 public extern cdecl void RtmEndGetPathToExecutable(int pathHandle);
86 public extern cdecl int RtmGetEnvironmentVariable(const char* envVarName);
87 public extern cdecl void* RtmAllocateMutex();
88 public extern cdecl void RtmFreeMutex(void* mutexHandle);
89 public extern cdecl void* RtmAllocateRecursiveMutex();
90 public extern cdecl void RtmFreeRecursiveMutex(void* recursiveMutexHandle);
91 public extern cdecl void RtmLockMutex(void* mutexHandle);
92 public extern cdecl void RtmUnlockMutex(void* mutexHandle);
93 public extern cdecl void RtmLockRecursiveMutex(void* recursiveMutexHandle);
94 public extern cdecl void RtmUnlockRecursiveMutex(void* recursiveMutexHandle);
95 public extern cdecl void* RtmAllocateConditionVariable();
96 public extern cdecl void RtmFreeConditionVariable(void* nativeHandle);
97 public extern cdecl bool RtmNotifyOne(void* nativeHandle, int& errorId);
98 public extern cdecl bool RtmNotifyAll(void* nativeHandle, int& errorId);
99 public extern cdecl bool RtmWaitConditionVariable(void* nativeHandle, void* recursiveMutexHandle, int& errorId);
100 public extern cdecl int RtmWaitConditionVariableDuration(void* nativeHandle, void* recursiveMutexHandle, long nanoseconds, int& errorId);
101 public extern cdecl bool RtmDirectoryExists(const char* directoryPath);
102 public extern cdecl void RtmCreateDirectories(const char* directoryPath);
103 public extern cdecl int RtmBeginIterateDirectory(const char* directoryPath);
104 public extern cdecl const char* RtmGetNextFilePath(int directoryIterationHandle);
105 public extern cdecl const char* RtmGetNextDirectoryPath(int directoryIterationHandle);
106 public extern cdecl void RtmEndIterateDirectory(int directoryIterationHandle);
107 public extern cdecl int RtmExecute(const char* command);
108 public extern cdecl int RtmBeginExec(const char* command);
109 public extern cdecl void RtmAddRedirection(int execHandle, int handle, const char* file);
110 public extern cdecl int RtmEndExec(int execHandle);
111 public extern cdecl void* RtmConvertThreadToFiber(void* param);
112 public extern cdecl void* RtmCreateFiber(ulong stackSize, void* startAddress, void* param);
113 public extern cdecl void RtmSwitchToFiber(void* fiber);
114 public extern cdecl void* RtmGetFiberData();
115 public extern cdecl void RtmDeleteFiber(void* fiber);
116 public extern cdecl void* RtmCreateProcess(const char* command, int redirections, int& errorId);
117 public extern cdecl void RtmDeleteProcess(void* process);
118 public extern cdecl bool RtmProcessRunning(void* process, int& errorId);
119 public extern cdecl bool RtmProcessWaitForExit(void* process, int& errorId);
120 public extern cdecl int RtmProcessExitCode(void* process, int& errorId);
121 public extern cdecl bool RtmProcessTerminate(void* process, int& errorId);
122 public extern cdecl bool RtmProcessEof(void* process, int handle, int& errorId);
123 public extern cdecl int RtmProcessReadLine(void* process, int handle, int& errorId);
124 public extern cdecl int RtmProcessReadToEnd(void* process, int handle, int& errorId);
125 public extern cdecl bool RtmProcessWriteLine(void* process, const char* line, int& errorId);
126 public extern cdecl int* RtmGetClassMap(const char* classMapName, int& errorId);
127 public extern cdecl void RtmInitZlib(int mode, int level, void** handle, int& errorId);
128 public extern cdecl void RtmDoneZlib(int mode, void* handle);
129 public extern cdecl void RtmSetInputZlib(void* inChunk, uint inAvail, void* handle);
130 public extern cdecl int RtmInflateZlib(void* outChunk, uint outChunkSize, uint* have, uint* outAvail, uint* inAvail, void* handle, int& errorId);
131 public extern cdecl int RtmDeflateZlib(void* outChunk, uint outChunkSize, uint* have, uint* outAvail, void* handle, int flush, int& errorId);
132 public extern cdecl void* RtmCreateSocket(int& errorId);
133 public extern cdecl void RtmBindSocket(void* socketHandle, int port, int& errorId);
134 public extern cdecl void RtmListenSocket(void* socketHandle, int backlog, int& errorId);
135 public extern cdecl void* RtmAcceptSocket(void* socketHandle, int& errorId);
136 public extern cdecl void RtmCloseSocket(void* socketHandle, int& errorId);
137 public extern cdecl void RtmShutdownSocket(void* socketHandle, int mode, int& errorId);
138 public extern cdecl void* RtmConnectSocket(const char* node, const char* service, int& errorId);
139 public extern cdecl int RtmSendSocket(void* socketHandle, byte* buf, int len, int flags, int& errorId);
140 public extern cdecl int RtmReceiveSocket(void* socketHandle, byte* buf, int len, int flags, int& errorId);
141 public extern cdecl void RtmDestroySocket(void* socketHandle);
142 public extern cdecl void WinSetInstance();
143 public extern cdecl int WinInit(void* messageProcessorFunctionAddress, void* keyPreviewFunctionAddress);
144 public extern cdecl int WinRun();
145 public extern cdecl int WinApplicationMessageLoop();
146 public extern cdecl void WinRunModal();
147 public extern cdecl void* WinGetForegroundWindow();
148 public extern cdecl bool WinEnableWindow(void* windowHandle, bool enable);
149 public extern cdecl int WinDialogWindowMessageLoop(void* windowHandle, void* parentWindowHandle, void* getDialogResultFunc, void* keyPreviewFunc, void* dialogWindowPtr);
150 public extern cdecl void* WinSubClassCommandWndProc(void* windowHandle);
151 public extern cdecl void WinRestoreOriginalWndProc(void* windowHandle, void* originalWndProc);
152 public extern cdecl void WinDone();
153 public extern cdecl int WinShowMessageBox(const char* text, const char* caption);
154 public extern cdecl int WinShowMessageBoxWithType(const char* text, const char* caption, void* ownerWindowHandle, uint type);
155 public extern cdecl ulong WinGetLastError();
156 public extern cdecl int WinAllocateWindowsError(const char* errorMessage, ulong errorCode);
157 public extern cdecl int WinAllocateGdiPlusError(const char* errorMessage, int gdiplusStatus);
158 public extern cdecl void WinFormatMessage(ulong errorCode, wchar* buffer);
159 public extern cdecl void WinFatalWindowsError(ulong errorCode);
160 public extern cdecl void WinFatalError(const char* errorMessage);
161 public extern cdecl void WinFatalGdiplusError(int gdiplusStatus);
162 public extern cdecl void* WinCreateEvent();
163 public extern cdecl bool WinSetEvent(void* eventHandle);
164 public extern cdecl bool WinResetEvent(void* eventHandle);
165 public extern cdecl bool WinWaitEvent(void* eventHandle);
166 public extern cdecl bool WinCloseHandle(void* handle);
167 public extern cdecl bool WinKeyPressed(int keyCode);
168 public extern cdecl int WinWaitForMultipleObjects(uint count, void** handles);
169 public extern cdecl void* WinFindFirstChangeNotification(const char* directoryPath);
170 public extern cdecl bool WinFindNextChangeNotification(void* handle);
171 public extern cdecl bool WinFindCloseChangeNotification(void* handle);
172 public extern cdecl bool WinShellExecute(const char* filePath, long& errorCode);
173 public extern cdecl ushort WinRegisterWindowClass(const char* windowClassName, uint style, int backgroundColor);
174 public extern cdecl bool WinMessageBeep(uint messageBeepType);
175 public extern cdecl void* WinCreateWindowByClassAtom(ushort windowClass, const char* windowName, long style, long exStyle, int x, int y, int w, int h, void* parentHandle);
176 public extern cdecl void* WinCreateWindowByClassName(const char* windowClass, const char* windowName, long style, long exStyle, int x, int y, int w, int h, void* parentHandle);
177 public extern cdecl void WinDestroyWindow(void* windowHandle);
178 public extern cdecl void WinPostQuitMessage(int exitCode);
179 public extern cdecl bool WinPostMessage(void* windowHandle, uint msg, ulong wparam, long lparam);
180 public extern cdecl long WinSendMessage(void* windowHandle, uint msg, ulong wparam, long lparam);
181 public extern cdecl bool WinShowWindow(void* windowHandle, int commandShow);
182 public extern cdecl bool WinUpdateWindow(void* windowHandle);
183 public extern cdecl bool WinMoveWindow(void* windowHandle, int x, int y, int w, int h, bool repaint);
184 public extern cdecl bool WinGetClientRect(void* windowHandle, void* rect);
185 public extern cdecl bool WinGetWindowRect(void* windowHandle, void* rect);
186 public extern cdecl bool WinClientToScreen(void* windowHandle, void* point);
187 public extern cdecl bool WinScreenToClient(void* windowHandle, void* point);
188 public extern cdecl bool WinPtInRect(void* rect, void* point);
189 public extern cdecl bool WinSetWindowText(void* windowHandle, const char* text);
190 public extern cdecl int WinGetWindowTextLength(void* windowHandle);
191 public extern cdecl int WinGetWindowText(void* windowHandle, wchar* textBuffer, int maxCount);
192 public extern cdecl void* WinGetDC(void* windowHandle);
193 public extern cdecl int WinReleaseHDC(void* windowHandle, void* hdc);
194 public extern cdecl bool WinTrackMouseEvent(void* windowHandle, uint flags, uint hoverTimeMs);
195 public extern cdecl void* WinSetParent(void* childWindowHandle, void* parentWindowHandle);
196 public extern cdecl bool WinInvalidateRect(void* windowHandle, void* rect, bool eraseBackground);
197 public extern cdecl void* WinBeginPaint(void* windowHandle, void*& paintStruct);
198 public extern cdecl void WinEndPaint(void* windowHandle, void* paintStruct);
199 public extern cdecl void WinGetClipRect(void* paintStruct, int& x, int& y, int& w, int& h);
200 public extern cdecl void WinGetSysColor(int index, byte& red, byte& green, byte& blue);
201 public extern cdecl bool WinSetBkColor(void* hdc, byte red, byte green, byte blue);
202 public extern cdecl void WinGetMessagePos(int& x, int& y);
203 public extern cdecl void* WinGetFocus();
204 public extern cdecl void* WinSetFocus(void* windowHandle);
205 public extern cdecl void* WinGetTopWindow(void* windowHandle);
206 public extern cdecl bool WinBringWindowToTop(void* windowHandle);
207 public extern cdecl bool WinSetWindowPos(void* windowHandle, void* insertAfterWindowHandle, int x, int y, int cx, int cy, uint flags);
208 public extern cdecl bool WinGetOpenFileName(void* windowHandle, const wchar* filter, const wchar* initialDirectory, wchar* fileNameBuffer, uint fileNameBufferSize,
209 uint flags, const wchar* defaultExtension);
210 public extern cdecl bool WinGetSaveFileName(void* windowHandle, const wchar* filter, const wchar* initialDirectory, wchar* fileNameBuffer, uint fileNameBufferSize,
211 uint flags, const wchar* defaultExtension);
212 public extern cdecl uint WinCommDlgExtendedError();
213 public extern cdecl void* WinLoadImage(const char* name, uint type, int cx, int cy);
214 public extern cdecl void* WinLoadStandardCursor(int cursorId);
215 public extern cdecl void* WinLoadCursor(const char* cursorName);
216 public extern cdecl void* WinGetCursor();
217 public extern cdecl void* WinSetCursor(void* cursorHandle);
218 public extern cdecl bool WinDestroyCursor(void* cursorHandle);
219 public extern cdecl void* WinLoadStandardIcon(int iconId);
220 public extern cdecl void* WinLoadIcon(const char* iconName);
221 public extern cdecl bool WinDestroyIcon(void* iconHandle);
222 public extern cdecl void* WinLoadStandardBitmap(int bitmapId);
223 public extern cdecl void* WinLoadBitmap(const char* bitmapName);
224 public extern cdecl bool WinDestroyBitmap(void* bitmapHandle);
225 public extern cdecl bool WinDeleteObject(void* handle);
226 public extern cdecl int WinGetSystemMetrics(int index);
227 public extern cdecl void* WinSetCapture(void* windowHandle);
228 public extern cdecl bool WinReleaseCapture();
229 public extern cdecl long WinGetClassLong(void* windowHandle, int index);
230 public extern cdecl long WinSetClassLong(void* windowHandle, int index, long value);
231 public extern cdecl long WinGetWindowLong(void* windowHandle, int index);
232 public extern cdecl bool WinSetWindowLong(void* windowHandle, int index, long newValue);
233 public extern cdecl bool WinScrollWindow(void* windowHandle, int xAmount, int yAmount, int clientLocX, int clientLocY, int clientSizeW, int clientSizeH,
234 int clipLocX, int clipLocY, int clipSizeW, int clipSizeH);
235 public extern cdecl bool WinScrollWindowEx(void* windowHandle, int dx, int dy, int clientLocX, int clientLocY, int clientSizeW, int clientSizeH,
236 int clipLocX, int clipLocY, int clipSizeW, int clipSizeH, int x1, int y1, int x2, int y2);
237 public extern cdecl bool WinGetScrollInfo(void* windowHandle, int nBar, uint& nPage, int& nPos, int& nMin, int& nMax, int& nTrackPos);
238 public extern cdecl int WinSetScrollInfo(void* windowHandle, int nBar, uint fMask, bool redraw, uint nPage, int nPos, int nMin, int nMax);
239 public extern cdecl int WinGetScrollPos(void* windowHandle, int nBar);
240 public extern cdecl bool WinShowScrollBar(void* windowHandle, int nBar, bool show);
241 public extern cdecl bool WinCreateCaret(void* windowHandle, void* bitmapHandle, int width, int height);
242 public extern cdecl bool WinDestroyCaret();
243 public extern cdecl bool WinShowCaret(void* windowHandle);
244 public extern cdecl bool WinHideCaret(void* windowHandle);
245 public extern cdecl bool WinGetCaretPos(int& x, int& y);
246 public extern cdecl bool WinSetCaretPos(int x, int y);
247 public extern cdecl bool WinSetTimer(void* windowHandle, uint timerId, uint elapse);
248 public extern cdecl bool WinKillTimer(void* windowHandle, uint timerId);
249 public extern cdecl bool WinRegOpenCurrentUser(void** result);
250 public extern cdecl bool WinRegCloseKey(void* key);
251 public extern cdecl bool WinRegGetDWordValue(void* key, const char* subKey, const char* valueName, uint& value);
252 public extern cdecl uint WinRegisterClipboardFormat(const char* formatName);
253 public extern cdecl bool WinOpenClipboard(void* windowHandle);
254 public extern cdecl bool WinCloseClipboard();
255 public extern cdecl bool WinEmptyClipboard();
256 public extern cdecl void* WinSetClipboardData(uint format, void* mem);
257 public extern cdecl void* WinGetClipboardData(uint format);
258 public extern cdecl bool WinIsClipboardFormatAvailable(uint format);
259 public extern cdecl bool WinAddClipboardFormatListener(void* windowHandle);
260 public extern cdecl bool WinRemoveClipboardFormatListener(void* windowHandle);
261 public extern cdecl void* WinGlobalAlloc(uint flags, ulong size);
262 public extern cdecl void* WinGlobalLock(void* memHandle);
263 public extern cdecl bool WinGlobalUnlock(void* memHandle);
264 public extern cdecl void* WinGlobalFree(void* memHandle);
265 public extern cdecl ulong WinGlobalSize(void* memHandle);
266 public extern cdecl bool WinGetCursorPos(int& x, int& y);
267 public extern cdecl bool WinGetFolder(void* windowHandle, const wchar* defaultDirectory, wchar* folderNameBuffer, uint folderNameBufferSize);
268 public extern cdecl int WinGetLogicalDrives();
269 public extern cdecl void* WinCreateGraphics(void* hdc);
270 public extern cdecl void WinDeleteGraphics(void* nativeGraphics);
271 public extern cdecl void* WinCreateGraphicsFromWindowHandle(void* hwnd);
272 public extern cdecl void* WinCreateGraphicsFromImage(void* image);
273 public extern cdecl int WinGraphicsGetLastStatus(void* graphics);
274 public extern cdecl int WinGraphicsFontGetLastStatus(void* font);
275 public extern cdecl void* WinGraphicsGetHDC(void* nativeGraphics);
276 public extern cdecl void* WinGraphicsCreatePen(byte alpha, byte red, byte green, byte blue, float width);
277 public extern cdecl void WinGraphicsDeletePen(void* pen);
278 public extern cdecl void* WinGraphicsClonePen(void* pen);
279 public extern cdecl int WinGraphicsPenGetLastStatus(void* pen);
280 public extern cdecl int WinGraphicsPenGetAlignment(void* pen);
281 public extern cdecl int WinGraphicsPenSetAlignment(void* pen, int alignment);
282 public extern cdecl void* WinGraphicsPenGetBrush(void* pen);
283 public extern cdecl int WinGraphicsPenSetBrush(void* pen, void* brush);
284 public extern cdecl int WinGraphicsPenGetColor(void* pen, byte& alpha, byte& red, byte& green, byte& blue);
285 public extern cdecl int WinGraphicsPenSetColor(void* pen, byte alpha, byte red, byte green, byte blue);
286 public extern cdecl int WinGraphicsPenGetStartCap(void* pen);
287 public extern cdecl int WinGraphicsPenSetStartCap(void* pen, int startCap);
288 public extern cdecl int WinGraphicsPenGetEndCap(void* pen);
289 public extern cdecl int WinGraphicsPenSetEndCap(void* pen, int endCap);
290 public extern cdecl int WinGraphicsPenGetDashCap(void* pen);
291 public extern cdecl int WinGraphicsPenSetDashCap(void* pen, int dashCap);
292 public extern cdecl float WinGraphicsPenGetDashOffset(void* pen);
293 public extern cdecl int WinGraphicsPenSetDashOffset(void* pen, float dashOffset);
294 public extern cdecl int WinGraphicsPenGetDashStyle(void* pen);
295 public extern cdecl int WinGraphicsPenSetDashStyle(void* pen, int dashStyle);
296 public extern cdecl int WinGraphicsPenGetLineJoin(void* pen);
297 public extern cdecl int WinGraphicsPenSetLineJoin(void* pen, int lineJoin);
298 public extern cdecl void* WinGraphicsCreateSolidBrush(byte alpha, byte red, byte green, byte blue);
299 public extern cdecl void* WinGraphicsCloneSolidBrush(void* solidBrush);
300 public extern cdecl void WinGraphicsDeleteSolidBrush(void* solidBrush);
301 public extern cdecl int WinGraphicsBrushGetLastStatus(void* brush);
302 public extern cdecl void* WinGraphicsCreateEmptyFontFamily();
303 public extern cdecl void* WinGraphicsCreateFontFamily(const char* familyName);
304 public extern cdecl void* WinGraphicsCloneFontFamily(void* fontFamily);
305 public extern cdecl void WinGraphicsDeleteFontFamily(void* fontFamily);
306 public extern cdecl int WinGraphicsGetFontFamilyName(void* fontFamily, void*& str);
307 public extern cdecl const void* WinGraphicsGetGenericMonospaceFontFamily();
308 public extern cdecl const void* WinGraphicsGetGenericSansSerifFontFamily();
309 public extern cdecl const void* WinGraphicsGetGenericSerifFontFamily();
310 public extern cdecl int WinGraphicsFontFamilyGetLastStatus(void* fontFamily);
311 public extern cdecl void* WinGraphicsCreateFont(const void* fontFamily, float emSize, int style, int unit);
312 public extern cdecl void* WinGraphicsCreateFontFromHFont(void* hdc, void* hfont);
313 public extern cdecl void* WinGraphicsCloneFont(void* font);
314 public extern cdecl void WinGraphicsDeleteFont(void* font);
315 public extern cdecl int WinGraphicsGetFontFamily(void* font, void* fontFamily);
316 public extern cdecl float WinGraphicsGetFontSize(void* font);
317 public extern cdecl float WinGraphicsGetFontHeight(void* font, const void* graphics);
318 public extern cdecl int WinGraphicsGetFontStyle(void* font);
319 public extern cdecl int WinGraphicsFontToHFont(void* font, void* graphics, void*& hfont);
320 public extern cdecl void* WinGraphicsCreateDefaultStringFormat();
321 public extern cdecl const void* WinGraphicsGetGenericDefaultStringFormat();
322 public extern cdecl const void* WinGraphicsGetGenericTypographicStringFormat();
323 public extern cdecl void* WinGraphicsCreateStringFormat(int formatFlags, ushort languageId);
324 public extern cdecl void* WinGraphicsCloneStringFormat(void* stringFormat);
325 public extern cdecl void WinGraphicsDeleteStringFormat(void* stringFormat);
326 public extern cdecl int WinGraphicsStringFormatGetLastStatus(void* stringFormat);
327 public extern cdecl int WinGraphicsStringFormatSetAlignment(void* stringFormat, int alignment);
328 public extern cdecl int WinGraphicsStringFormatSetLineAlignment(void* stringFormat, int alignment);
329 public extern cdecl int WinGraphicsStringFormatSetHotKeyPrefix(void* stringFormat, int hotKeyPrefix);
330 public extern cdecl int WinGraphicsDrawLine(void* graphics, void* pen, int startX, int startY, int endX, int endY);
331 public extern cdecl int WinGraphicsDrawLineF(void* graphics, void* pen, float startX, float startY, float endX, float endY);
332 public extern cdecl int WinGraphicsDrawLines(void* graphics, void* pen, int count, void* points);
333 public extern cdecl int WinGraphicsDrawLinesF(void* graphics, void* pen, int count, void* points);
334 public extern cdecl int WinGraphicsDrawString(void* graphics, const char* str, void* font, float x, float y, void* brush);
335 public extern cdecl int WinGraphicsDrawStringFormatPoint(void* graphics, const char* str, void* font, float x, float y, void* format, void* brush);
336 public extern cdecl int WinGraphicsDrawStringFormatRect(void* graphics, const char* str, void* font, float x, float y, float w, float h, void* format, void* brush);
337 public extern cdecl int WinGraphicsMeasureStringFormatSize(void* graphics, const char* str, void* font, float w, float h, void* format,
338 float& outSizeW, float& outSizeH, int* codePointsFitted, int* linesFilled);
339 public extern cdecl int WinGraphicsMeasureStringFormatRect(void* graphics, const char* str, void* font, float x, float y, float w, float h, void* format,
340 float& outX, float& outY, float& outW, float& outH, int* codePointsFitted, int* linesFilled);
341 public extern cdecl int WinGraphicsMeasureStringFormatPoint(void* graphics, const char* str, void* font, float x, float y, void* format,
342 float& outX, float& outY, float& outW, float& outH);
343 public extern cdecl int WinGraphicsGetTextRenderingHint(void* graphics);
344 public extern cdecl int WinGraphicsSetTextRenderingHint(void* graphics, int textRenderingHint);
345 public extern cdecl int WinGraphicsClear(void* graphics, byte alpha, byte red, byte green, byte blue);
346 public extern cdecl int WinGraphicsDrawRectangle(void* graphics, void* pen, int x, int y, int w, int h);
347 public extern cdecl int WinGraphicsDrawRectangleF(void* graphics, void* pen, float x, float y, float w, float h);
348 public extern cdecl int WinGraphicsFillRectangle(void* graphics, void* brush, int x, int y, int w, int h);
349 public extern cdecl int WinGraphicsFillRectangleF(void* graphics, void* brush, float x, float y, float w, float h);
350 public extern cdecl int WinGraphicsFillPolygon(void* graphics, void* brush, int count, void* points);
351 public extern cdecl int WinGraphicsFillPolygonF(void* graphics, void* brush, int count, void* points);
352 public extern cdecl int WinGraphicsDrawArc(void* graphics, void* pen, float x, float y, float w, float h, float startAngle, float sweepAngle);
353 public extern cdecl int WinGraphicsDrawEllipse(void* graphics, void* pen, float x, float y, float w, float h);
354 public extern cdecl int WinGraphicsFillEllipse(void* graphics, void* brush, float x, float y, float w, float h);
355 public extern cdecl void* WinGraphicsCreateRegion();
356 public extern cdecl void* WinGraphicsCloneRegion(void* region);
357 public extern cdecl void WinGraphicsDeleteRegion(void* region);
358 public extern cdecl int WinGraphicsRegionGetLastStatus(void* region);
359 public extern cdecl int WinGraphicsGetClip(void* graphics, void* region);
360 public extern cdecl int WinGraphicsSetClipRect(void* graphics, int x, int y, int w, int h, int combineMode);
361 public extern cdecl int WinGraphicsSetClipRegion(void* graphics, void* region);
362 public extern cdecl void* WinGraphicsCreateImage(const char* fileName, bool useEmbeddedColorManagement);
363 public extern cdecl int WinGraphicsImageGetLastStatus(void* image);
364 public extern cdecl void* WinGraphicsCloneImage(void* image);
365 public extern cdecl void WinGraphicsDeleteImage(void* image);
366 public extern cdecl int WinGraphicsImageGetHeight(void* image);
367 public extern cdecl int WinGraphicsImageGetWidth(void* image);
368 public extern cdecl void* WinGraphicsCreateBitmap(const char* fileName, bool useEmbeddedColorManagement);
369 public extern cdecl void* WinGraphicsCreateBitmapWidthHeight(int w, int h, void* graphics);
370 public extern cdecl void* WinGraphicsCreateBitmapWinBitmap(void* winBitmap, void* palette);
371 public extern cdecl void* WinGraphicsCreateBitmapIcon(void* icon);
372 public extern cdecl void* WinGraphicsCreateBitmapResource(const char* resourceName);
373 public extern cdecl void* WinGraphicsCloneBitmap(void* nativeBitmap, int x, int y, int w, int h, int pixelFormat);
374 public extern cdecl int WinGraphicsBitmapGetPixel(void* nativeBitmap, int x, int y, byte& alpha, byte& red, byte& green, byte& blue);
375 public extern cdecl int WinGraphicsBitmapSetPixel(void* nativeBitmap, int x, int y, byte alpha, byte red, byte green, byte blue);
376 public extern cdecl uint WinGraphicsSave(void* graphics);
377 public extern cdecl int WinGraphicsRestore(void* graphics, uint graphicsState);
378 public extern cdecl void* WinGraphicsCreateDefaultImageAttributes();
379 public extern cdecl int WinGraphicsImageAttributesGetLastStatus(void* imageAttributes);
380 public extern cdecl void* WinGraphicsCloneImageAttributes(void* imageAttributes);
381 public extern cdecl void WinGraphicsDeleteImageAttributes(void* imageAttributes);
382 public extern cdecl int WinGraphicsImageAttributesSetColorKey(void* imageAttributes, byte colorLowAlpha, byte colorLowRed, byte colorLowGreen, byte colorLowBlue,
383 byte colorHighAlpha, byte colorHighRed, byte colorHighGreen, byte colorHighBlue, int colorAdjustType);
384 public extern cdecl int WinGraphicsDrawImagePoint(void* graphics, void* image, float x, float y);
385 public extern cdecl int WinGraphicsDrawImageRect(void* graphics, void* image, float x, float y, float w, float h);
386 public extern cdecl int WinGraphicsDrawImageWithAttributes(void* graphics, void* image, int destRectX, int destRectY, int destRectW, int destRectH, int srcX, int srcY, int srcW, int srcH,
387 int srcUnit, void* imageAttributes);
388 public extern cdecl int WinGraphicsDrawImageWithAttributesF(void* graphics, void* image, float destRectX, float destRectY, float destRectW, float destRectH,
389 float srcX, float srcY, float srcW, float srcH, int srcUnit, void* imageAttributes);
390 public extern cdecl int WinGraphicsGetTransform(void* graphics, void* matrix);
391 public extern cdecl int WinGraphicsSetTransform(void* graphics, void* matrix);
392 public extern cdecl int WinGraphicsMultiplyTransform(void* graphics, void* matrix, int order);
393 public extern cdecl int WinGraphicsResetTransform(void* graphics);
394 public extern cdecl int WinGraphicsRotateTransform(void* graphics, float angle, int order);
395 public extern cdecl int WinGraphicsScaleTransform(void* graphics, float scaleX, float scaleY, int order);
396 public extern cdecl int WinGraphicsTranslateTransform(void* graphics, float offsetX, float offsetY, int order);
397 public extern cdecl void* WinGraphicsCreateMatrixFromElements(float m11, float m12, float m21, float m22, float dx, float dy);
398 public extern cdecl void* WinGraphicsCreateMatrix();
399 public extern cdecl void* WinGraphicsCreateMatrixRectFPointF(float rectX, float rectY, float rectW, float rectH, float ptX, float ptY);
400 public extern cdecl void* WinGraphicsCreateMatrixRectPoint(int rectX, int rectY, int rectW, int rectH, int ptX, int ptY);
401 public extern cdecl int WinGraphicsMatrixGetLastStatus(void* matrix);
402 public extern cdecl void* WinGraphicsCloneMatrix(void* matrix);
403 public extern cdecl void WinGraphicsDeleteMatrix(void* matrix);
404 public extern cdecl int WinGraphicsMultiplyMatrix(void* matrix, void* factorMatrix, int order);
405 public extern cdecl int WinGraphicsResetMatrix(void* matrix);
406 public extern cdecl int WinGraphicsInvertMatrix(void* matrix);
407 public extern cdecl float WinGraphicsMatrixOffsetX(void* matrix);
408 public extern cdecl float WinGraphicsMatrixOffsetY(void* matrix);
409 public extern cdecl int WinGraphicsMatrixRotate(void* matrix, float angle, int order);
410 public extern cdecl int WinGraphicsMatrixRotateAt(void* matrix, float angle, float centerX, float centerY, int order);
411 public extern cdecl int WinGraphicsMatrixScale(void* matrix, float scaleX, float scaleY, int order);
412 public extern cdecl int WinGraphicsMatrixSetElements(void* matrix, float m11, float m12, float m21, float m22, float dx, float dy);
413 public extern cdecl int WinGraphicsMatrixShear(void* matrix, float shearX, float shearY, int order);
414 public extern cdecl int WinGraphicsMatrixTranslate(void* matrix, float offsetX, float offsetY, int order);
415 public extern cdecl int WinGraphicsMatrixTransformPoints(void* matrix, void* points, int numPoints);
416 public extern cdecl int WinGraphicsMatrixTransformPointsF(void* matrix, void* points, int numPoints);
417 public extern cdecl int WinGraphicsGetPageUnit(void* graphics);
418 public extern cdecl int WinGraphicsSetPageUnit(void* graphics, int unit);
419 public extern cdecl float WinGraphicsGetPageScale(void* graphics);
420 public extern cdecl int WinGraphicsSetPageScale(void* graphics, float scale);
421 public extern cdecl float WinGraphicsGetDpiX(void* graphics);
422 public extern cdecl float WinGraphicsGetDpiY(void* graphics);
423 public extern cdecl int WinGraphicsGetSmoothingMode(void* graphics);
424 public extern cdecl int WinGraphicsSetSmoothingMode(void* graphics, int smoothingMode);
425 public extern cdecl int WinGraphicsGetEncoderClsId(const char* imageFormat, void* clsid);
426 public extern cdecl int WinGraphicsImageSave(void* image, const char* fileName, const void* encoderClsId);