From f24ef09b62340748201085e69aa3ffbaf41d89bf Mon Sep 17 00:00:00 2001 From: cxl Date: Wed, 15 Dec 2010 14:02:42 +0000 Subject: [PATCH] .upptst git-svn-id: svn://ultimatepp.org/upp/trunk@2909 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- upptst/ScreenShotter/ScreenShotter.upp | 12 ---- upptst/ScreenShotter/init | 8 --- upptst/ScreenShotter/main.cpp | 83 -------------------------- 3 files changed, 103 deletions(-) delete mode 100644 upptst/ScreenShotter/ScreenShotter.upp delete mode 100644 upptst/ScreenShotter/init delete mode 100644 upptst/ScreenShotter/main.cpp diff --git a/upptst/ScreenShotter/ScreenShotter.upp b/upptst/ScreenShotter/ScreenShotter.upp deleted file mode 100644 index a22f22e44..000000000 --- a/upptst/ScreenShotter/ScreenShotter.upp +++ /dev/null @@ -1,12 +0,0 @@ -uses - CtrlLib, - plugin\jpg, - plugin\gif, - plugin\tif; - -file - main.cpp; - -mainconfig - "" = "GUI DLL"; - diff --git a/upptst/ScreenShotter/init b/upptst/ScreenShotter/init deleted file mode 100644 index 336830065..000000000 --- a/upptst/ScreenShotter/init +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef _ScreenShotter_icpp_init_stub -#define _ScreenShotter_icpp_init_stub -#include "CtrlLib/init" -#include "plugin\jpg/init" -#include "plugin\gif/init" -#include "plugin\tif/init" -#include "plugin\pcx/init" -#endif diff --git a/upptst/ScreenShotter/main.cpp b/upptst/ScreenShotter/main.cpp deleted file mode 100644 index 9edea5765..000000000 --- a/upptst/ScreenShotter/main.cpp +++ /dev/null @@ -1,83 +0,0 @@ -#include -#include -#include -#include -#include - -using namespace Upp; - -Image ScreenShot(int x, int y, int cx, int cy) -{ - HDC dcScreen = CreateDC("DISPLAY", NULL, NULL, NULL); - - RGBA *pixels; - - Buffer data; - data.Alloc(sizeof(BITMAPINFOHEADER) + sizeof(RGBQUAD)*256); - BITMAPINFOHEADER *hi = (BITMAPINFOHEADER *) ~data;; - memset(hi, 0, sizeof(BITMAPINFOHEADER)); - hi->biSize = sizeof(BITMAPINFOHEADER); - hi->biPlanes = 1; - hi->biBitCount = 32; - hi->biCompression = BI_RGB; - hi->biSizeImage = 0; - hi->biClrUsed = 0; - hi->biClrImportant = 0; - hi->biWidth = cx; - hi->biHeight = -cy; - - HBITMAP hbmp = CreateDIBSection(dcScreen, (BITMAPINFO *)hi, DIB_RGB_COLORS, (void **)&pixels, NULL, 0); - HDC dcMem = ::CreateCompatibleDC(dcScreen); - HBITMAP hbmpOld = (HBITMAP) ::SelectObject(dcMem, hbmp); - HDC hdcCompatible = CreateCompatibleDC(dcScreen); - ::BitBlt(dcMem, 0, 0, cx, cy, dcScreen, x, y, SRCCOPY); - - ImageBuffer ib(cx, cy); - memcpy(~ib, pixels, cx * cy * sizeof(RGBA)); - - ::DeleteObject(::SelectObject(dcMem, hbmpOld)); - ::DeleteDC(dcMem); - ::DeleteDC(dcScreen); - - return ib; -}; - - -extern "C" __declspec(dllexport) int capture_screen(int x, int y, int cx, int cy, char *filename) { - Image m = ScreenShot(x, y, cx, cy); - String ext = ToLower(GetFileExt(filename)); - if(ext == ".png") - PNGEncoder().SaveFile(filename, m); - if(ext == ".bmp") - BMPEncoder().Bpp(32).SaveFile(filename, m); - if(ext == ".jpg") - JPGEncoder().SaveFile(filename, m); - if(ext == ".gif") - GIFEncoder().SaveFile(filename, m); - if(ext == ".tif" || ext == ".tiff") - TIFEncoder().SaveFile(filename, m); - return 0; -} - - -#define DLL_APP_MAIN \ -void _DllMainAppInit(); \ -\ -BOOL WINAPI DllMain(HINSTANCE hinstDll, DWORD fdwReason, LPVOID lpReserved) \ -{ \ - if(fdwReason == DLL_PROCESS_ATTACH) { \ - Ctrl::InitWin32(AppGetHandle()); \ - AppInitEnvironment__(); \ - _DllMainAppInit(); \ - } \ - else \ - if(fdwReason == DLL_PROCESS_DETACH) { \ - Ctrl::ExitWin32(); \ - } \ - return true; \ -} \ -\ -void _DllMainAppInit() - -DLL_APP_MAIN { -}