11#define COM_NO_WINDOWS_H
51 10, 25, 50, 100, 200, 400, 800, 1600
54#define MIN_ZOOM ZoomSteps[0]
55#define MAX_ZOOM ZoomSteps[_countof(ZoomSteps)-1]
64#define DEFINE_BTN_INFO(_name) \
65 { TBICON_##_name, IDC_##_name, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0 }
67#define DEFINE_BTN_SEPARATOR \
68 { 15, 0, TBSTATE_ENABLED, BTNS_SEP, {0}, 0, 0 }
94#define DEFINE_BTN_CONFIG(_name) { IDB_##_name, IDS_TOOLTIP_##_name }
121#define ANIME_TIMER_ID 9999
203 guid = FrameDimensionPage;
247 BOOL bEnableZoomIn, bEnableZoomOut;
256 bEnableZoomIn = bEnableZoomOut =
TRUE;
260 bEnableZoomIn =
FALSE;
264 bEnableZoomOut =
FALSE;
317 UINT ImageWidth, ImageHeight, NewZoom;
329 if (ImageHeight *
Rect.right <
Rect.bottom * ImageWidth)
331 if (
Rect.right < ImageWidth)
334 NewZoom = (
Rect.right * 100) / ImageWidth;
344 if (
Rect.bottom < ImageHeight)
347 NewZoom = (
Rect.bottom * 100) / ImageHeight;
364 DPRINT1(
"File %s not found!\n", szOpenFileName);
372 DPRINT1(
"GdipLoadImageFromFile() failed\n");
377 if (szOpenFileName && szOpenFileName[0])
404 DPRINT1(
"malloc() failed in pSaveImageAs()\n");
416 sizeRemain = sizeRemain + (((
wcslen(codecInfo[
j].FormatDescription) + (
wcslen(codecInfo[
j].FilenameExtension) * 2) + 5) *
sizeof(
WCHAR)));
420 sizeRemain = sizeRemain + (
sizeof(
WCHAR) * 2);
422 szFilterMask =
malloc(sizeRemain);
425 DPRINT1(
"cannot allocate memory for filter mask in pSaveImageAs()");
430 ZeroMemory(szSaveFileName,
sizeof(szSaveFileName));
445 StringCbPrintfExW(
c, sizeRemain, &
c, &sizeRemain, 0,
L"%ls (%ls)", codecInfo[
j].FormatDescription, codecInfo[
j].FilenameExtension);
449 sizeRemain -=
sizeof(*c);
455 sizeRemain -=
sizeof(*c);
470 DPRINT1(
"FIXME: save animation\n");
473 DPRINT1(
"GdipSaveImageToFile() failed\n");
483 DPRINT1(
"GdipSaveImageToFile() failed\n");
508 WCHAR szTitleBuf[800];
529 if (pchFileTitle && *pchFileTitle)
532 L"%ls%ls%ls", szResStr,
L" - ", pchFileTitle);
563 StringCbCopyW(szSearchPath,
sizeof(szSearchPath), szFirstFile);
570 DPRINT1(
"malloc() failed in pLoadFileList()\n");
579 DPRINT1(
"malloc() failed in pLoadFileList()\n");
588 StringCbCopyW(szFileTypes,
sizeof(szFileTypes), codecInfo[
j].FilenameExtension);
590 extension =
wcstok(szFileTypes,
L";");
591 while (extension !=
NULL)
606 currentNode = conductor;
612 if (!conductor->
Next)
614 DPRINT1(
"malloc() failed in pLoadFileList()\n");
617 root->Prev = conductor;
624 conductor->
Next->Prev = conductor;
625 conductor = conductor->
Next;
638 if (currentNode ==
NULL)
641 currentNode = conductor;
645 conductor = conductor->
Prev;
651 root->Prev = conductor;
652 conductor = currentNode;
688 "\x28\x00\x00\x00\x10\x00\x00\x00\x10\x00\x00\x00\x01\x00\x04\x00\x00\x00"
689 "\x00\x00\x80\x00\x00\x00\x23\x2E\x00\x00\x23\x2E\x00\x00\x10\x00\x00\x00"
690 "\x00\x00\x00\x00\x99\x99\x99\x00\xCC\xCC\xCC\x00\x00\x00\x00\x00\x00\x00"
691 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
692 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
693 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x11\x11\x11"
694 "\x00\x00\x00\x00\x11\x11\x11\x11\x00\x00\x00\x00\x11\x11\x11\x11\x00\x00"
695 "\x00\x00\x11\x11\x11\x11\x00\x00\x00\x00\x11\x11\x11\x11\x00\x00\x00\x00"
696 "\x11\x11\x11\x11\x00\x00\x00\x00\x11\x11\x11\x11\x00\x00\x00\x00\x11\x11"
697 "\x11\x11\x00\x00\x00\x00\x00\x00\x00\x00\x11\x11\x11\x11\x00\x00\x00\x00"
698 "\x11\x11\x11\x11\x00\x00\x00\x00\x11\x11\x11\x11\x00\x00\x00\x00\x11\x11"
699 "\x11\x11\x00\x00\x00\x00\x11\x11\x11\x11\x00\x00\x00\x00\x11\x11\x11\x11"
700 "\x00\x00\x00\x00\x11\x11\x11\x11\x00\x00\x00\x00\x11\x11\x11\x11";
709 UINT ImageWidth, ImageHeight;
710 INT ZoomedWidth, ZoomedHeight,
x,
y;
723 DPRINT1(
"BeginPaint() failed\n");
730 DPRINT1(
"GdipCreateFromHDC() failed\n");
759 x = (
rect.right - ZoomedWidth) / 2;
760 y = (
rect.bottom - ZoomedHeight) / 2;
767 margin.
top =
y + ZoomedHeight + 1;
772 margin.
bottom =
y + ZoomedHeight + 1;
776 margin.
left =
x + ZoomedWidth + 1;
780 DPRINT(
"x = %d, y = %d, ImageWidth = %u, ImageHeight = %u\n");
781 DPRINT(
"rect.right = %ld, rect.bottom = %ld\n",
rect.right,
rect.bottom);
782 DPRINT(
"ZoomPercents = %d, ZoomedWidth = %d, ZoomedHeight = %d\n",
985 DPRINT1(
"ImageView_Delete: unimplemented.\n");
998 DPRINT1(
"ImageView_Modify: failed to get full path name.\n");
1003 if (pszPathName ==
NULL)
1005 DPRINT1(
"HeapAlloc() failed in ImageView_Modify()\n");
1011 sei.
cbSize =
sizeof(sei);
1015 sei.
lpFile = pszPathName;
1023 DPRINT1(
"ImageView_Modify: ShellExecuteExW() failed with code %08X\n", (
int)
GetLastError());
1057 DPRINT1(
"IDC_BEST_FIT unimplemented\n");
1065 DPRINT1(
"IDC_SLIDE_SHOW unimplemented\n");
1119 switch (pnmhdr->
code)
1180 DPRINT1(
"Warning, CoInitializeEx failed with code=%08X\n", (
int)hComRes);
1202 WndClass.lpszClassName =
L"shimgvw_window";
1219 StringCbCopyW(szInitialFile,
sizeof(szInitialFile), szFileName);
1296 DPRINT(
"ImageView_PrintTo() not implemented\n");
1302 DPRINT(
"ImageView_PrintToA() not implemented\n");
1308 DPRINT(
"ImageView_PrintToW() not implemented\n");
#define RegCloseKey(hKey)
BOOL WINAPI InitCommonControlsEx(const INITCOMMONCONTROLSEX *lpInitCtrls)
#define OFN_OVERWRITEPROMPT
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
BOOL WINAPI ImageList_Destroy(HIMAGELIST himl)
INT WINAPI ImageList_AddMasked(HIMAGELIST himl, HBITMAP hBitmap, COLORREF clrMask)
HIMAGELIST WINAPI ImageList_Create(INT cx, INT cy, UINT flags, INT cInitial, INT cGrow)
BOOL WINAPI GetSaveFileNameW(LPOPENFILENAMEW ofn)
#define DLL_PROCESS_ATTACH
#define INVALID_HANDLE_VALUE
#define HeapFree(x, y, z)
#define DLL_THREAD_ATTACH
#define MultiByteToWideChar
GpStatus WINGDIPAPI GdipCreateFromHDC(HDC hdc, GpGraphics **graphics)
GpStatus WINGDIPAPI GdipDrawImageRectI(GpGraphics *graphics, GpImage *image, INT x, INT y, INT width, INT height)
GpStatus WINGDIPAPI GdipDeleteGraphics(GpGraphics *graphics)
GpStatus WINGDIPAPI GdipSetInterpolationMode(GpGraphics *graphics, InterpolationMode mode)
GpStatus WINGDIPAPI GdipSetSmoothingMode(GpGraphics *graphics, SmoothingMode mode)
GpStatus WINGDIPAPI GdipGetImageRawFormat(GpImage *image, GUID *format)
GpStatus WINGDIPAPI GdipGetImageEncodersSize(UINT *numEncoders, UINT *size)
GpStatus WINGDIPAPI GdipGetImageFlags(GpImage *image, UINT *flags)
GpStatus WINGDIPAPI GdipGetImageWidth(GpImage *image, UINT *width)
GpStatus WINGDIPAPI GdipGetImageHeight(GpImage *image, UINT *height)
GpStatus WINGDIPAPI GdipGetImageDecodersSize(UINT *numDecoders, UINT *size)
GpStatus WINGDIPAPI GdipImageGetFrameCount(GpImage *image, GDIPCONST GUID *dimensionID, UINT *count)
GpStatus WINGDIPAPI GdipSaveImageToFile(GpImage *image, GDIPCONST WCHAR *filename, GDIPCONST CLSID *clsidEncoder, GDIPCONST EncoderParameters *encoderParams)
GpStatus WINGDIPAPI GdipImageGetFrameDimensionsCount(GpImage *image, UINT *count)
GpStatus WINGDIPAPI GdipDisposeImage(GpImage *image)
GpStatus WINGDIPAPI GdipLoadImageFromFile(GDIPCONST WCHAR *filename, GpImage **image)
GpStatus WINGDIPAPI GdipImageSelectActiveFrame(GpImage *image, GDIPCONST GUID *dimensionID, UINT frame)
GpStatus WINGDIPAPI GdipImageRotateFlip(GpImage *image, RotateFlipType type)
GpStatus WINGDIPAPI GdipGetImageEncoders(UINT numEncoders, UINT size, ImageCodecInfo *encoders)
GpStatus WINGDIPAPI GdipGetPropertyItem(GpImage *image, PROPID propid, UINT size, PropertyItem *buffer)
GpStatus WINGDIPAPI GdipGetImageDecoders(UINT numDecoders, UINT size, ImageCodecInfo *decoders)
GpStatus WINGDIPAPI GdipGetPropertyItemSize(GpImage *image, PROPID propid, UINT *size)
GpStatus WINGDIPAPI GdipImageGetFrameDimensionsList(GpImage *image, GUID *dimensionIDs, UINT count)
DWORD WINAPI GetFileAttributesW(LPCWSTR lpFileName)
HANDLE WINAPI FindFirstFileW(IN LPCWSTR lpFileName, OUT LPWIN32_FIND_DATAW lpFindFileData)
BOOL WINAPI FindClose(HANDLE hFindFile)
BOOL WINAPI FindNextFileW(IN HANDLE hFindFile, OUT LPWIN32_FIND_DATAW lpFindFileData)
DWORD WINAPI GetFullPathNameW(IN LPCWSTR lpFileName, IN DWORD nBufferLength, OUT LPWSTR lpBuffer, OUT LPWSTR *lpFilePart)
HRESULT WINAPI DECLSPEC_HOTPATCH CoInitializeEx(LPVOID lpReserved, DWORD dwCoInit)
void WINAPI DECLSPEC_HOTPATCH CoUninitialize(void)
BOOL WINAPI PathRemoveFileSpecW(LPWSTR lpszPath)
LPWSTR WINAPI PathFindFileNameW(LPCWSTR lpszPath)
VOID WINAPI PathUnquoteSpacesW(LPWSTR lpszPath)
LPWSTR WINAPI PathCombineW(LPWSTR lpszDest, LPCWSTR lpszDir, LPCWSTR lpszFile)
static const WCHAR Message[]
Status WINAPI GdiplusStartup(ULONG_PTR *token, const struct GdiplusStartupInput *input, struct GdiplusStartupOutput *output)
@ SmoothingModeHighQuality
@ ImageFlagsHasTranslucent
@ InterpolationModeHighQualityBilinear
@ InterpolationModeNearestNeighbor
#define PropertyTagFrameDelay
#define PropertyTagLoopCount
void WINAPI GdiplusShutdown(ULONG_PTR)
GLint GLint GLint GLint GLint x
GLint GLint GLint GLint GLint GLint y
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
static IN DWORD IN LPVOID lpvReserved
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
#define REG_OPTION_NON_VOLATILE
INT WINAPI DrawTextW(HDC hdc, LPCWSTR str, INT count, LPRECT rect, UINT flags)
@ COINIT_APARTMENTTHREADED
#define WS_OVERLAPPEDWINDOW
_Out_opt_ int _Out_opt_ int * cy
#define TB_SETEXTENDEDSTYLE
#define TB_BUTTONSTRUCTSIZE
#define TBSTYLE_EX_HIDECLIPPEDBUTTONS
#define ICC_WIN95_CLASSES
#define IsEqualGUID(rguid1, rguid2)
_Check_return_ _CRTIMP int __cdecl wcscmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
_Check_return_ _CRTIMP wchar_t *__cdecl wcstok(_Inout_opt_z_ wchar_t *_Str, _In_z_ const wchar_t *_Delim)
void WINAPI SHAddToRecentDocs(UINT uFlags, LPCVOID pv)
BOOL Anime_Step(DWORD *pdwDelay)
VOID WINAPI ImageView_PrintToW(HWND hwnd, HINSTANCE hInst, LPCWSTR path, int nShow)
static const TBBUTTON Buttons[]
SHIMGVW_SETTINGS shiSettings
static VOID ImageView_InitControls(HWND hwnd)
static LRESULT ImageView_Modify(HWND hwnd)
static VOID ImageView_SaveSettings(HWND hwnd)
static const UINT ZoomSteps[]
LRESULT CALLBACK ImageView_WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
static VOID EnableToolBarButtons(BOOL bEnable)
static void ZoomInOrOut(BOOL bZoomIn)
static VOID ImageView_OnSize(HWND hwnd, UINT state, INT cx, INT cy)
BOOL WINAPI DllMain(IN HINSTANCE hinstDLL, IN DWORD dwReason, IN LPVOID lpvReserved)
static void Anime_SetFrameIndex(UINT nFrameIndex)
static BOOL ImageView_CreateToolBar(HWND hwnd)
static VOID ImageView_DrawImage(HWND hwnd)
#define DEFINE_BTN_SEPARATOR
static void pSaveImageAs(HWND hwnd)
static void Anime_FreeInfo(void)
static BOOL ImageView_LoadSettings(VOID)
static SHIMGVW_FILENODE * pBuildFileList(LPWSTR szFirstFile)
static LRESULT ImageView_Delete(HWND hwnd)
SHIMGVW_FILENODE * currentFile
LONG WINAPI ImageView_CreateWindow(HWND hwnd, LPCWSTR szFileName)
LRESULT CALLBACK ImageView_DispWndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
#define DEFINE_BTN_CONFIG(_name)
PropertyItem * m_pDelayItem
static void ResetZoom(void)
DWORD Anime_GetFrameDelay(UINT nFrameIndex)
static VOID ImageView_UpdateWindow(HWND hwnd)
VOID WINAPI ImageView_Fullscreen(HWND hwnd, HINSTANCE hInst, LPCWSTR path, int nShow)
static VOID ImageView_OnMouseWheel(HWND hwnd, INT x, INT y, INT zDelta, UINT fwKeys)
VOID WINAPI ImageView_FullscreenA(HWND hwnd, HINSTANCE hInst, LPCSTR path, int nShow)
static void UpdateZoom(UINT NewZoom)
static void ImageView_OnTimer(HWND hwnd)
VOID WINAPI ImageView_PrintToA(HWND hwnd, HINSTANCE hInst, LPCSTR path, int nShow)
VOID WINAPI ImageView_FullscreenW(HWND hwnd, HINSTANCE hInst, LPCWSTR path, int nShow)
static HBRUSH CreateCheckerBoardBrush(HDC hdc)
static VOID pPrintImage(HWND hwnd)
static BOOL Anime_LoadInfo(void)
static const TB_BUTTON_CONFIG BtnConfig[]
#define DEFINE_BTN_INFO(_name)
VOID WINAPI ImageView_PrintTo(HWND hwnd, HINSTANCE hInst, LPCWSTR path, int nShow)
static void pLoadImage(LPCWSTR szOpenFileName)
static VOID pLoadImageFromNode(SHIMGVW_FILENODE *node, HWND hwnd)
static VOID pFreeFileList(SHIMGVW_FILENODE *root)
BOOL WINAPI DECLSPEC_HOTPATCH ShellExecuteExW(LPSHELLEXECUTEINFOW sei)
STRSAFEAPI StringCbCopyW(STRSAFE_LPWSTR pszDest, size_t cbDest, STRSAFE_LPCWSTR pszSrc)
STRSAFEAPI StringCbPrintfExW(STRSAFE_LPWSTR pszDest, size_t cbDest, STRSAFE_LPWSTR *ppszDestEnd, size_t *pcbRemaining, STRSAFE_DWORD dwFlags, STRSAFE_LPCWSTR pszFormat,...)
STRSAFEAPI StringCchCopyW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc)
STRSAFEAPI StringCbPrintfW(STRSAFE_LPWSTR pszDest, size_t cbDest, STRSAFE_LPCWSTR pszFormat,...)
struct SHIMGVW_FILENODE_INTERNAL * Prev
struct SHIMGVW_FILENODE_INTERNAL * Next
TW_UINT32 TW_UINT16 TW_UINT16 MSG
DWORD WINAPI GetLastError(void)
HGDIOBJ WINAPI GetStockObject(_In_ int)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
int WINAPI FillRect(HDC, LPCRECT, HBRUSH)
BOOL WINAPI Rectangle(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int)
int WINAPI SetBkMode(_In_ HDC, _In_ int)
COLORREF WINAPI SetTextColor(_In_ HDC, _In_ COLORREF)
HBRUSH WINAPI CreateDIBPatternBrushPt(_In_ const VOID *pvPackedDIB, _In_ UINT uUsage)
#define HKEY_CURRENT_USER
BOOL WINAPI TranslateMessage(_In_ const MSG *)
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI GetMessageW(_Out_ LPMSG, _In_opt_ HWND, _In_ UINT, _In_ UINT)
BOOL WINAPI GetWindowPlacement(_In_ HWND, _Inout_ WINDOWPLACEMENT *)
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
__analysis_noreturn void WINAPI PostQuitMessage(_In_ int)
ATOM WINAPI RegisterClassW(_In_ CONST WNDCLASSW *)
HANDLE WINAPI LoadImageW(_In_opt_ HINSTANCE hInst, _In_ LPCWSTR name, _In_ UINT type, _In_ int cx, _In_ int cy, _In_ UINT fuLoad)
UINT_PTR WINAPI SetTimer(_In_opt_ HWND, _In_ UINT_PTR, _In_ UINT, _In_opt_ TIMERPROC)
BOOL WINAPI SetWindowTextW(_In_ HWND, _In_opt_ LPCWSTR)
BOOL WINAPI IsZoomed(_In_ HWND)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
HWND WINAPI CreateWindowExW(_In_ DWORD dwExStyle, _In_opt_ LPCWSTR lpClassName, _In_opt_ LPCWSTR lpWindowName, _In_ DWORD dwStyle, _In_ int X, _In_ int Y, _In_ int nWidth, _In_ int nHeight, _In_opt_ HWND hWndParent, _In_opt_ HMENU hMenu, _In_opt_ HINSTANCE hInstance, _In_opt_ LPVOID lpParam)
BOOL WINAPI EndPaint(_In_ HWND, _In_ const PAINTSTRUCT *)
BOOL WINAPI UpdateWindow(_In_ HWND)
struct tagNMHDR * LPNMHDR
HACCEL WINAPI LoadAcceleratorsW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
LRESULT WINAPI DispatchMessageW(_In_ const MSG *)
#define WPF_RESTORETOMAXIMIZED
int WINAPI TranslateAcceleratorW(_In_ HWND, _In_ HACCEL, _In_ LPMSG)
BOOL WINAPI InvalidateRect(_In_opt_ HWND, _In_opt_ LPCRECT, _In_ BOOL)
#define MAKEINTRESOURCEW(i)
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
BOOL WINAPI DestroyAcceleratorTable(_In_ HACCEL)
HDC WINAPI BeginPaint(_In_ HWND, _Out_ LPPAINTSTRUCT)
BOOL WINAPI KillTimer(_In_opt_ HWND, _In_ UINT_PTR)
LRESULT WINAPI CallWindowProcW(_In_ WNDPROC, _In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
struct _WINDOWPLACEMENT WINDOWPLACEMENT
HICON WINAPI LoadIconW(_In_opt_ HINSTANCE hInstance, _In_ LPCWSTR lpIconName)
BOOL WINAPI MoveWindow(_In_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ BOOL)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)