source: trunk/include/helpers/gpih.h@ 56

Last change on this file since 56 was 56, checked in by umoeller, 24 years ago

misc changes

  • Property svn:eol-style set to CRLF
  • Property svn:keywords set to Author Date Id Revision
File size: 10.1 KB
Line 
1
2/*
3 *@@sourcefile gpih.h:
4 * header file for gpih.c (GPI helper functions). See remarks there.
5 *
6 * Note: Version numbering in this file relates to XWorkplace version
7 * numbering.
8 *
9 *@@include #define INCL_GPILOGCOLORTABLE // for some funcs
10 *@@include #include <os2.h>
11 *@@include #include "gpih.h"
12 */
13
14/*
15 * Copyright (C) 1997-2000 Ulrich M”ller.
16 * This file is part of the "XWorkplace helpers" source package.
17 * This is free software; you can redistribute it and/or modify
18 * it under the terms of the GNU General Public License as published
19 * by the Free Software Foundation, in version 2 as it comes in the
20 * "COPYING" file of the XWorkplace main distribution.
21 * This program is distributed in the hope that it will be useful,
22 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 * GNU General Public License for more details.
25 */
26
27#if __cplusplus
28extern "C" {
29#endif
30
31#ifndef GPIH_HEADER_INCLUDED
32 #define GPIH_HEADER_INCLUDED
33
34 /* ******************************************************************
35 *
36 * Rectangle helpers
37 *
38 ********************************************************************/
39
40 BOOL gpihIsPointInRect(PRECTL prcl,
41 LONG x,
42 LONG y);
43
44 VOID gpihInflateRect(PRECTL prcl,
45 LONG l);
46
47 /* ******************************************************************
48 *
49 * Device helpers
50 *
51 ********************************************************************/
52
53 ULONG gpihQueryDisplayCaps(ULONG ulIndex);
54
55 /* ******************************************************************
56 *
57 * Color helpers
58 *
59 ********************************************************************/
60
61 // common RGB colors
62 #define RGBCOL_BLACK 0x00000000
63 #define RGBCOL_WHITE 0x00FFFFFF
64
65 #define RGBCOL_RED 0x00FF0000
66 #define RGBCOL_PINK 0x00FF00FF
67 #define RGBCOL_BLUE 0x000000FF
68 #define RGBCOL_CYAN 0x0000FFFF
69 #define RGBCOL_GREEN 0x0000FF00
70 #define RGBCOL_YELLOW 0x00FFFF00
71 #define RGBCOL_GRAY 0x00CCCCCC
72
73 #define RGBCOL_DARKRED 0x00800000
74 #define RGBCOL_DARKPINK 0x00800080
75 #define RGBCOL_DARKBLUE 0x00000080
76 #define RGBCOL_DARKCYAN 0x00008080
77 #define RGBCOL_DARKGREEN 0x00008000
78 #define RGBCOL_DARKYELLOW 0x00808000
79 #define RGBCOL_DARKGRAY 0x00808080
80
81 VOID XWPENTRY gpihManipulateRGB(PLONG plColor, BYTE bMultiplier, BYTE bDivisor);
82 typedef VOID XWPENTRY GPIHMANIPULATERGB(PLONG plColor, BYTE bMultiplier, BYTE bDivisor);
83 typedef GPIHMANIPULATERGB *PGPIHMANIPULATERGB;
84
85 BOOL XWPENTRY gpihSwitchToRGB(HPS hps);
86 typedef BOOL XWPENTRY GPIHSWITCHTORGB(HPS hps);
87 typedef GPIHSWITCHTORGB *PGPIHSWITCHTORGB;
88
89 /* ******************************************************************
90 *
91 * Drawing primitives helpers
92 *
93 ********************************************************************/
94
95 VOID XWPENTRY gpihDrawRect(HPS hps, PRECTL prcl);
96 typedef VOID XWPENTRY GPIHDRAWRECT(HPS hps, PRECTL prcl);
97 typedef GPIHDRAWRECT *PGPIHDRAWRECT;
98
99 VOID XWPENTRY gpihBox(HPS hps, LONG lControl, PRECTL prcl);
100 typedef VOID XWPENTRY GPIHBOX(HPS hps, LONG lControl, PRECTL prcl);
101 typedef GPIHBOX *PGPIHBOX;
102
103 VOID XWPENTRY gpihMarker(HPS hps, LONG x, LONG y, ULONG ulWidth);
104 typedef VOID XWPENTRY GPIHMARKER(HPS hps, LONG x, LONG y, ULONG ulWidth);
105 typedef GPIHMARKER *PGPIHMARKER;
106
107 VOID XWPENTRY gpihDrawThickFrame(HPS hps, PRECTL prcl, ULONG ulWidth);
108 typedef VOID XWPENTRY GPIHDRAWTHICKFRAME(HPS hps, PRECTL prcl, ULONG ulWidth);
109 typedef GPIHDRAWTHICKFRAME *PGPIHDRAWTHICKFRAME;
110
111 VOID XWPENTRY gpihDraw3DFrame(HPS hps,
112 PRECTL prcl,
113 USHORT usWidth,
114 LONG lColorLeft,
115 LONG lColorRight);
116 typedef VOID XWPENTRY GPIHDRAW3DFRAME(HPS hps,
117 PRECTL prcl,
118 USHORT usWidth,
119 LONG lColorLeft,
120 LONG lColorRight);
121 typedef GPIHDRAW3DFRAME *PGPIHDRAW3DFRAME;
122
123 LONG XWPENTRY gpihCharStringPosAt(HPS hps,
124 PPOINTL pptlStart,
125 PRECTL prclRect,
126 ULONG flOptions,
127 LONG lCount,
128 PCH pchString);
129 typedef LONG XWPENTRY GPIHCHARSTRINGPOSAT(HPS hps,
130 PPOINTL pptlStart,
131 PRECTL prclRect,
132 ULONG flOptions,
133 LONG lCount,
134 PCH pchString);
135 typedef GPIHCHARSTRINGPOSAT *PGPIHCHARSTRINGPOSAT;
136
137 /* ******************************************************************
138 *
139 * Font helpers
140 *
141 ********************************************************************/
142
143 BOOL XWPENTRY gpihSplitPresFont(PSZ pszFontNameSize,
144 PULONG pulSize,
145 PSZ *ppszFaceName);
146 typedef BOOL XWPENTRY GPIHSPLITPRESFONT(PSZ pszFontNameSize,
147 PULONG pulSize,
148 PSZ *ppszFaceName);
149 typedef GPIHSPLITPRESFONT *PGPIHSPLITPRESFONT;
150
151 BOOL XWPENTRY gpihLockLCIDs(VOID);
152 typedef BOOL XWPENTRY GPIHLOCKLCIDS(VOID);
153 typedef GPIHLOCKLCIDS *PGPIHLOCKLCIDS;
154
155 VOID XWPENTRY gpihUnlockLCIDs(VOID);
156 typedef VOID XWPENTRY GPIHUNLOCKLCIDS(VOID);
157 typedef GPIHUNLOCKLCIDS *PGPIHUNLOCKLCIDS;
158
159 LONG XWPENTRY gpihFindFont(HPS hps,
160 LONG lSize,
161 BOOL fFamily,
162 PSZ pszName,
163 USHORT usFormat,
164 PFONTMETRICS pFontMetrics);
165 typedef LONG XWPENTRY GPIHFINDFONT(HPS hps,
166 LONG lSize,
167 BOOL fFamily,
168 PSZ pszName,
169 USHORT usFormat,
170 PFONTMETRICS pFontMetrics);
171 typedef GPIHFINDFONT *PGPIHFINDFONT;
172
173 LONG XWPENTRY gpihFindPresFont(HWND hwnd,
174 BOOL fInherit,
175 HPS hps,
176 const char *pcszDefaultFont,
177 PFONTMETRICS pFontMetrics,
178 PLONG plSize);
179 typedef LONG XWPENTRY GPIHFINDPRESFONT(HWND hwnd,
180 BOOL fInherit,
181 HPS hps,
182 const char *pcszDefaultFont,
183 PFONTMETRICS pFontMetrics,
184 PLONG plSize);
185 typedef GPIHFINDPRESFONT *PGPIHFINDPRESFONT;
186
187 BOOL XWPENTRY gpihSetPointSize(HPS hps, LONG lPointSize);
188 typedef BOOL XWPENTRY GPIHSETPOINTSIZE(HPS hps, LONG lPointSize);
189 typedef GPIHSETPOINTSIZE *PGPIHSETPOINTSIZE;
190
191 LONG XWPENTRY gpihQueryLineSpacing(HPS hps);
192 typedef LONG XWPENTRY GPIHQUERYLINESPACING(HPS hps);
193 typedef GPIHQUERYLINESPACING *PGPIHQUERYLINESPACING;
194
195 /* ******************************************************************
196 *
197 * Bitmap helpers
198 *
199 ********************************************************************/
200
201 BOOL XWPENTRY gpihCreateMemPS(HAB hab, PSIZEL psizlPage, HDC *hdcMem, HPS *hpsMem);
202 typedef BOOL XWPENTRY GPIHCREATEMEMPS(HAB hab, PSIZEL psizlPage, HDC *hdcMem, HPS *hpsMem);
203 typedef GPIHCREATEMEMPS *PGPIHCREATEMEMPS;
204
205 HBITMAP XWPENTRY gpihCreateBitmap(HPS hpsMem, ULONG cx, ULONG cy);
206 typedef HBITMAP XWPENTRY GPIHCREATEBITMAP(HPS hpsMem, ULONG cx, ULONG cy);
207 typedef GPIHCREATEBITMAP *PGPIHCREATEBITMAP;
208
209 HBITMAP XWPENTRY gpihCreateBmpFromPS(HAB hab, HPS hpsScreen, PRECTL prcl);
210 typedef HBITMAP XWPENTRY GPIHCREATEBMPFROMPS(HAB hab, HPS hpsScreen, PRECTL prcl);
211 typedef GPIHCREATEBMPFROMPS *PGPIHCREATEBMPFROMPS;
212
213 HBITMAP XWPENTRY gpihCreateHalftonedBitmap(HAB hab, HBITMAP hbmSource, LONG lColorGray);
214 typedef HBITMAP XWPENTRY GPIHCREATEHALFTONEDBITMAP(HAB hab, HBITMAP hbmSource, LONG lColorGray);
215 typedef GPIHCREATEHALFTONEDBITMAP *PGPIHCREATEHALFTONEDBITMAP;
216
217 HBITMAP XWPENTRY gpihLoadBitmapFile(HPS hps, PSZ pszBmpFile, PULONG pulError);
218 typedef HBITMAP XWPENTRY GPIHLOADBITMAPFILE(HPS hps, PSZ pszBmpFile, PULONG pulError);
219 typedef GPIHLOADBITMAPFILE *PGPIHLOADBITMAPFILE;
220
221 LONG XWPENTRY gpihStretchBitmap(HPS hpsTarget,
222 HBITMAP hbmSource,
223 PRECTL prclSource,
224 PRECTL prclTarget,
225 BOOL fProportional);
226 typedef LONG XWPENTRY GPIHSTRETCHBITMAP(HPS hpsTarget,
227 HBITMAP hbmSource,
228 PRECTL prclSource,
229 PRECTL prclTarget,
230 BOOL fProportional);
231 typedef GPIHSTRETCHBITMAP *PGPIHSTRETCHBITMAP;
232
233 BOOL XWPENTRY gpihIcon2Bitmap(HPS hpsMem, HPOINTER hptr, LONG lBkgndColor, ULONG ulIconSize);
234 typedef BOOL XWPENTRY GPIHICON2BITMAP(HPS hpsMem, HPOINTER hptr, LONG lBkgndColor, ULONG ulIconSize);
235 typedef GPIHICON2BITMAP *PGPIHICON2BITMAP;
236
237#endif
238
239#if __cplusplus
240}
241#endif
242
Note: See TracBrowser for help on using the repository browser.