From 67e13dd228065eac67f127fa1439490ff7405797 Mon Sep 17 00:00:00 2001 From: Thomas Bluemel Date: Sat, 15 Nov 2003 14:05:30 +0000 Subject: [PATCH] added test app for enhanced meta files svn path=/trunk/; revision=6649 --- reactos/apps/tests/Makefile | 2 +- reactos/apps/tests/enhmetafile/.cvsignore | 6 ++ reactos/apps/tests/enhmetafile/enhmetafile.c | 108 +++++++++++++++++++ reactos/apps/tests/enhmetafile/makefile | 23 ++++ reactos/apps/tests/enhmetafile/test.emf | Bin 0 -> 120908 bytes 5 files changed, 138 insertions(+), 1 deletion(-) create mode 100644 reactos/apps/tests/enhmetafile/.cvsignore create mode 100644 reactos/apps/tests/enhmetafile/enhmetafile.c create mode 100644 reactos/apps/tests/enhmetafile/makefile create mode 100644 reactos/apps/tests/enhmetafile/test.emf diff --git a/reactos/apps/tests/Makefile b/reactos/apps/tests/Makefile index 8c9436745e5..e30b632cf22 100644 --- a/reactos/apps/tests/Makefile +++ b/reactos/apps/tests/Makefile @@ -15,7 +15,7 @@ mktime mstest multiwin mutex nptest patblt pipe primitives pteb regtest \ sectest sertest shaptest shm statst statst2 stretchblt suspend \ tcpsvr terminate txtscale thread thread_msg tokentest vmtest \ winhello winhello2 wm_erasebkgnd wm_paint eventpair threadwait \ -map_dup_inherit p_dup_handle apc2 +map_dup_inherit p_dup_handle apc2 enhmetafile TEST_MISC = diff --git a/reactos/apps/tests/enhmetafile/.cvsignore b/reactos/apps/tests/enhmetafile/.cvsignore new file mode 100644 index 00000000000..d63774a7353 --- /dev/null +++ b/reactos/apps/tests/enhmetafile/.cvsignore @@ -0,0 +1,6 @@ +*.o +*.d +*.exe +*.coff +*.sym +*.map diff --git a/reactos/apps/tests/enhmetafile/enhmetafile.c b/reactos/apps/tests/enhmetafile/enhmetafile.c new file mode 100644 index 00000000000..d59d3ec992f --- /dev/null +++ b/reactos/apps/tests/enhmetafile/enhmetafile.c @@ -0,0 +1,108 @@ +#include +#include +#include + +//HFONT tf; +HENHMETAFILE EnhMetafile; +LRESULT WINAPI MainWndProc(HWND, UINT, WPARAM, LPARAM); + +int WINAPI +WinMain(HINSTANCE hInstance, + HINSTANCE hPrevInstance, + LPSTR lpszCmdLine, + int nCmdShow) +{ + WNDCLASS wc; + MSG msg; + HWND hWnd; + + EnhMetafile = GetEnhMetaFile("test.emf"); + if(!EnhMetafile) + { + fprintf(stderr, "GetEnhMetaFile failed (last error 0x%lX)\n", + GetLastError()); + return(1); + } + + wc.lpszClassName = "EnhMetaFileClass"; + wc.lpfnWndProc = MainWndProc; + wc.style = CS_VREDRAW | CS_HREDRAW; + wc.hInstance = hInstance; + wc.hIcon = LoadIcon(NULL, (LPCTSTR)IDI_APPLICATION); + wc.hCursor = LoadCursor(NULL, (LPCTSTR)IDC_ARROW); + wc.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1); + wc.lpszMenuName = NULL; + wc.cbClsExtra = 0; + wc.cbWndExtra = 0; + if (RegisterClass(&wc) == 0) + { + DeleteEnhMetaFile(EnhMetafile); + fprintf(stderr, "RegisterClass failed (last error 0x%lX)\n", + GetLastError()); + return(1); + } + + hWnd = CreateWindow("EnhMetaFileClass", + "Enhanced Metafile test", + WS_OVERLAPPEDWINDOW, + 0, + 0, + 250, + 200, + NULL, + NULL, + hInstance, + NULL); + if (hWnd == NULL) + { + DeleteEnhMetaFile(EnhMetafile); + fprintf(stderr, "CreateWindow failed (last error 0x%lX)\n", + GetLastError()); + return(1); + } + + //tf = CreateFontA(14, 0, 0, TA_BASELINE, FW_NORMAL, FALSE, FALSE, FALSE, + // ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, + // DEFAULT_QUALITY, FIXED_PITCH|FF_DONTCARE, "Timmons"); + + ShowWindow(hWnd, nCmdShow); + + while(GetMessage(&msg, NULL, 0, 0)) + { + TranslateMessage(&msg); + DispatchMessage(&msg); + } + + DeleteEnhMetaFile(EnhMetafile); + + //DeleteObject(tf); + UnregisterClass("EnhMetaFileClass", hInstance); + + return msg.wParam; +} + +LRESULT CALLBACK MainWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) +{ + PAINTSTRUCT ps; + RECT rc; + HDC hDC; + + switch(msg) + { + + case WM_PAINT: + GetClientRect(hWnd, &rc); + hDC = BeginPaint(hWnd, &ps); + PlayEnhMetaFile(hDC, EnhMetafile, &rc); + EndPaint(hWnd, &ps); + break; + + case WM_DESTROY: + PostQuitMessage(0); + break; + + default: + return DefWindowProc(hWnd, msg, wParam, lParam); + } + return 0; +} diff --git a/reactos/apps/tests/enhmetafile/makefile b/reactos/apps/tests/enhmetafile/makefile new file mode 100644 index 00000000000..508694d8480 --- /dev/null +++ b/reactos/apps/tests/enhmetafile/makefile @@ -0,0 +1,23 @@ +# $Id: makefile,v 1.1 2003/11/15 14:05:30 weiden Exp $ + +PATH_TO_TOP = ../../.. + +TARGET_NORC = yes + +TARGET_TYPE = program + +TARGET_APPTYPE = windows + +TARGET_NAME = enhmetafile + +TARGET_SDKLIBS = kernel32.a gdi32.a + +TARGET_OBJECTS = $(TARGET_NAME).o + +TARGET_CFLAGS = -Wall -Werror + +include $(PATH_TO_TOP)/rules.mak + +include $(TOOLS_PATH)/helper.mk + +# EOF diff --git a/reactos/apps/tests/enhmetafile/test.emf b/reactos/apps/tests/enhmetafile/test.emf new file mode 100644 index 0000000000000000000000000000000000000000..d056e2070df42f2bc1dba9539d22e13042c74239 GIT binary patch literal 120908 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