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];
531 L"%ls%ls%ls", szResStr,
L" - ", pchFileTitle);
559 StringCbCopyW(szSearchPath,
sizeof(szSearchPath), szFirstFile);
566 DPRINT1(
"malloc() failed in pLoadFileList()\n");
575 DPRINT1(
"malloc() failed in pLoadFileList()\n");
584 StringCbCopyW(szFileTypes,
sizeof(szFileTypes), codecInfo[
j].FilenameExtension);
586 extension =
wcstok(szFileTypes,
L";");
587 while (extension !=
NULL)
602 currentNode = conductor;
608 if (!conductor->
Next)
610 DPRINT1(
"malloc() failed in pLoadFileList()\n");
613 root->Prev = conductor;
620 conductor->
Next->Prev = conductor;
621 conductor = conductor->
Next;
634 if (currentNode ==
NULL)
637 currentNode = conductor;
641 conductor = conductor->
Prev;
647 root->Prev = conductor;
648 conductor = currentNode;
684 "\x28\x00\x00\x00\x10\x00\x00\x00\x10\x00\x00\x00\x01\x00\x04\x00\x00\x00"
685 "\x00\x00\x80\x00\x00\x00\x23\x2E\x00\x00\x23\x2E\x00\x00\x10\x00\x00\x00"
686 "\x00\x00\x00\x00\x99\x99\x99\x00\xCC\xCC\xCC\x00\x00\x00\x00\x00\x00\x00"
687 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
688 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
689 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x11\x11\x11"
690 "\x00\x00\x00\x00\x11\x11\x11\x11\x00\x00\x00\x00\x11\x11\x11\x11\x00\x00"
691 "\x00\x00\x11\x11\x11\x11\x00\x00\x00\x00\x11\x11\x11\x11\x00\x00\x00\x00"
692 "\x11\x11\x11\x11\x00\x00\x00\x00\x11\x11\x11\x11\x00\x00\x00\x00\x11\x11"
693 "\x11\x11\x00\x00\x00\x00\x00\x00\x00\x00\x11\x11\x11\x11\x00\x00\x00\x00"
694 "\x11\x11\x11\x11\x00\x00\x00\x00\x11\x11\x11\x11\x00\x00\x00\x00\x11\x11"
695 "\x11\x11\x00\x00\x00\x00\x11\x11\x11\x11\x00\x00\x00\x00\x11\x11\x11\x11"
696 "\x00\x00\x00\x00\x11\x11\x11\x11\x00\x00\x00\x00\x11\x11\x11\x11";
705 UINT ImageWidth, ImageHeight;
706 INT ZoomedWidth, ZoomedHeight,
x,
y;
719 DPRINT1(
"BeginPaint() failed\n");
726 DPRINT1(
"GdipCreateFromHDC() failed\n");
755 x = (
rect.right - ZoomedWidth) / 2;
756 y = (
rect.bottom - ZoomedHeight) / 2;
763 margin.
top =
y + ZoomedHeight + 1;
768 margin.
bottom =
y + ZoomedHeight + 1;
772 margin.
left =
x + ZoomedWidth + 1;
776 DPRINT(
"x = %d, y = %d, ImageWidth = %u, ImageHeight = %u\n");
777 DPRINT(
"rect.right = %ld, rect.bottom = %ld\n",
rect.right,
rect.bottom);
778 DPRINT(
"ZoomPercents = %d, ZoomedWidth = %d, ZoomedHeight = %d\n",
981 DPRINT1(
"ImageView_Delete: unimplemented.\n");
994 DPRINT1(
"ImageView_Modify: failed to get full path name.\n");
999 if (pszPathName ==
NULL)
1001 DPRINT1(
"HeapAlloc() failed in ImageView_Modify()\n");
1007 sei.
cbSize =
sizeof(sei);
1011 sei.
lpFile = pszPathName;
1019 DPRINT1(
"ImageView_Modify: ShellExecuteExW() failed with code %08X\n", (
int)
GetLastError());
1053 DPRINT1(
"IDC_BEST_FIT unimplemented\n");
1061 DPRINT1(
"IDC_SLIDE_SHOW unimplemented\n");
1115 switch (pnmhdr->
code)
1176 DPRINT1(
"Warning, CoInitializeEx failed with code=%08X\n", (
int)hComRes);
1198 WndClass.lpszClassName =
L"shimgvw_window";
1215 StringCbCopyW(szInitialFile,
sizeof(szInitialFile), szFileName);
1292 DPRINT(
"ImageView_PrintTo() not implemented\n");
1298 DPRINT(
"ImageView_PrintToA() not implemented\n");
1304 DPRINT(
"ImageView_PrintToW() not implemented\n");
static ULONG_PTR gdiplusToken
#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
HANDLE WINAPI LoadImageW(_In_opt_ HINSTANCE, _In_ LPCWSTR, _In_ UINT, _In_ int, _In_ int, _In_ UINT)
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 *)
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)
HICON WINAPI LoadIconW(_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
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)