/* *@@sourcefile shapewin.h: * header file for shapewin.h. See remarks there. * * Note: Version numbering in this file relates to XWorkplace version * numbering. * *@@include #define INCL_GPIBITMAPS *@@include #include *@@include #include "helpers\shapewin.h" */ /* Copyright (C) 1998-2000 * Ulrich M”ller, * Akira Hatakeyama, * Takayuki Suwa. * This file is part of the "XWorkplace helpers" source package. * This is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published * by the Free Software Foundation, in version 2 as it comes in the * "COPYING" file of the XWorkplace main distribution. * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ #if __cplusplus extern "C" { #endif #ifndef SHAPEWIN_HEADER_INCLUDED #define SHAPEWIN_HEADER_INCLUDED /* * Name of Control */ #define WC_SHAPE_WINDOW "ShapeWin" #define WC_SHAPE_REGION "ShapeWinRegion" /* *@@ SHPCTLDATA: * shape window control data for use with * pCtlData of WinCreateWindow. This _must_ * be initialized. */ typedef struct _SHPCTLDATA { SHORT cx, cy ; // size of bitmap HPS hpsMask; // HPS with bitmap selected into HPS hpsDraw; // HPS used for drawing the bitmap; } SHPCTLDATA, *PSHPCTLDATA; /* * Window Messages Specific for Shape Window */ #define SHAPEWIN_MSG_UPDATE (WM_USER + 1) /* SHAPEWIN_MSG_UPDATE Update Drawing Image */ /* MP1 PRECTL Update Region, NULL for entire region */ /* MP2 NULL not used */ /* *@@ SHAPEFRAME: * common input/output structure for shape frame * windows below. */ typedef struct _SHAPEFRAME { HDC hdc; HPS hps; HBITMAP hbm; HAB hab; HWND hwndShapeFrame; HWND hwndShape; PFNWP pfnFrame; BITMAPINFOHEADER2 bmi; SHPCTLDATA shpctrl; POINTL ptlLowerLeft; // added (V1.0) } SHAPEFRAME, *PSHAPEFRAME; BOOL shpLoadBitmap(HAB hab, PSZ pszBitmapFile, HMODULE hmodResource, ULONG idResource, PSHAPEFRAME psb); VOID shpFreeBitmap(PSHAPEFRAME psb); BOOL shp2RegisterClasses(HAB hab); BOOL shpCreateWindows(PSHAPEFRAME psb); #endif #if __cplusplus } #endif