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

Last change on this file since 38 was 34, checked in by umoeller, 25 years ago

Various changes in the headers.

  • Property svn:eol-style set to CRLF
  • Property svn:keywords set to Author Date Id Revision
File size: 9.5 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 * Device helpers
37 *
38 ********************************************************************/
39
40 ULONG gpihQueryDisplayCaps(ULONG ulIndex);
41
42 /* ******************************************************************
43 *
44 * Color helpers
45 *
46 ********************************************************************/
47
48 // common RGB colors
49 #define RGBCOL_BLACK 0x00000000
50 #define RGBCOL_WHITE 0x00FFFFFF
51
52 #define RGBCOL_RED 0x00FF0000
53 #define RGBCOL_PINK 0x00FF00FF
54 #define RGBCOL_BLUE 0x000000FF
55 #define RGBCOL_CYAN 0x0000FFFF
56 #define RGBCOL_GREEN 0x0000FF00
57 #define RGBCOL_YELLOW 0x00FFFF00
58 #define RGBCOL_GRAY 0x00CCCCCC
59
60 #define RGBCOL_DARKRED 0x00800000
61 #define RGBCOL_DARKPINK 0x00800080
62 #define RGBCOL_DARKBLUE 0x00000080
63 #define RGBCOL_DARKCYAN 0x00008080
64 #define RGBCOL_DARKGREEN 0x00008000
65 #define RGBCOL_DARKYELLOW 0x00808000
66 #define RGBCOL_DARKGRAY 0x00808080
67
68 VOID XWPENTRY gpihManipulateRGB(PLONG plColor, BYTE bMultiplier, BYTE bDivisor);
69 typedef VOID XWPENTRY GPIHMANIPULATERGB(PLONG plColor, BYTE bMultiplier, BYTE bDivisor);
70 typedef GPIHMANIPULATERGB *PGPIHMANIPULATERGB;
71
72 BOOL XWPENTRY gpihSwitchToRGB(HPS hps);
73 typedef BOOL XWPENTRY GPIHSWITCHTORGB(HPS hps);
74 typedef GPIHSWITCHTORGB *PGPIHSWITCHTORGB;
75
76 /* ******************************************************************
77 *
78 * Drawing primitives helpers
79 *
80 ********************************************************************/
81
82 VOID XWPENTRY gpihDrawRect(HPS hps, PRECTL prcl);
83 typedef VOID XWPENTRY GPIHDRAWRECT(HPS hps, PRECTL prcl);
84 typedef GPIHDRAWRECT *PGPIHDRAWRECT;
85
86 VOID XWPENTRY gpihBox(HPS hps, LONG lControl, PRECTL prcl);
87 typedef VOID XWPENTRY GPIHBOX(HPS hps, LONG lControl, PRECTL prcl);
88 typedef GPIHBOX *PGPIHBOX;
89
90 VOID XWPENTRY gpihMarker(HPS hps, LONG x, LONG y, ULONG ulWidth);
91 typedef VOID XWPENTRY GPIHMARKER(HPS hps, LONG x, LONG y, ULONG ulWidth);
92 typedef GPIHMARKER *PGPIHMARKER;
93
94 VOID XWPENTRY gpihDrawThickFrame(HPS hps, PRECTL prcl, ULONG ulWidth);
95 typedef VOID XWPENTRY GPIHDRAWTHICKFRAME(HPS hps, PRECTL prcl, ULONG ulWidth);
96 typedef GPIHDRAWTHICKFRAME *PGPIHDRAWTHICKFRAME;
97
98 VOID XWPENTRY gpihDraw3DFrame(HPS hps,
99 PRECTL prcl,
100 USHORT usWidth,
101 LONG lColorLeft,
102 LONG lColorRight);
103 typedef VOID XWPENTRY GPIHDRAW3DFRAME(HPS hps,
104 PRECTL prcl,
105 USHORT usWidth,
106 LONG lColorLeft,
107 LONG lColorRight);
108 typedef GPIHDRAW3DFRAME *PGPIHDRAW3DFRAME;
109
110 LONG XWPENTRY gpihCharStringPosAt(HPS hps,
111 PPOINTL pptlStart,
112 PRECTL prclRect,
113 ULONG flOptions,
114 LONG lCount,
115 PCH pchString);
116 typedef LONG XWPENTRY GPIHCHARSTRINGPOSAT(HPS hps,
117 PPOINTL pptlStart,
118 PRECTL prclRect,
119 ULONG flOptions,
120 LONG lCount,
121 PCH pchString);
122 typedef GPIHCHARSTRINGPOSAT *PGPIHCHARSTRINGPOSAT;
123
124 /* ******************************************************************
125 *
126 * Font helpers
127 *
128 ********************************************************************/
129
130 BOOL XWPENTRY gpihSplitPresFont(PSZ pszFontNameSize,
131 PULONG pulSize,
132 PSZ *ppszFaceName);
133 typedef BOOL XWPENTRY GPIHSPLITPRESFONT(PSZ pszFontNameSize,
134 PULONG pulSize,
135 PSZ *ppszFaceName);
136 typedef GPIHSPLITPRESFONT *PGPIHSPLITPRESFONT;
137
138 LONG XWPENTRY gpihFindFont(HPS hps,
139 LONG lSize,
140 BOOL fFamily,
141 PSZ pszName,
142 USHORT usFormat,
143 PFONTMETRICS pFontMetrics);
144 typedef LONG XWPENTRY GPIHFINDFONT(HPS hps,
145 LONG lSize,
146 BOOL fFamily,
147 PSZ pszName,
148 USHORT usFormat,
149 PFONTMETRICS pFontMetrics);
150 typedef GPIHFINDFONT *PGPIHFINDFONT;
151
152 LONG XWPENTRY gpihFindPresFont(HWND hwnd,
153 BOOL fInherit,
154 HPS hps,
155 PSZ pszDefaultFont,
156 PFONTMETRICS pFontMetrics,
157 PLONG plSize);
158 typedef LONG XWPENTRY GPIHFINDPRESFONT(HWND hwnd,
159 BOOL fInherit,
160 HPS hps,
161 PSZ pszDefaultFont,
162 PFONTMETRICS pFontMetrics,
163 PLONG plSize);
164 typedef GPIHFINDPRESFONT *PGPIHFINDPRESFONT;
165
166 BOOL XWPENTRY gpihSetPointSize(HPS hps, LONG lPointSize);
167 typedef BOOL XWPENTRY GPIHSETPOINTSIZE(HPS hps, LONG lPointSize);
168 typedef GPIHSETPOINTSIZE *PGPIHSETPOINTSIZE;
169
170 LONG XWPENTRY gpihQueryLineSpacing(HPS hps);
171 typedef LONG XWPENTRY GPIHQUERYLINESPACING(HPS hps);
172 typedef GPIHQUERYLINESPACING *PGPIHQUERYLINESPACING;
173
174 /* ******************************************************************
175 *
176 * Bitmap helpers
177 *
178 ********************************************************************/
179
180 BOOL XWPENTRY gpihCreateMemPS(HAB hab, PSIZEL psizlPage, HDC *hdcMem, HPS *hpsMem);
181 typedef BOOL XWPENTRY GPIHCREATEMEMPS(HAB hab, PSIZEL psizlPage, HDC *hdcMem, HPS *hpsMem);
182 typedef GPIHCREATEMEMPS *PGPIHCREATEMEMPS;
183
184 HBITMAP XWPENTRY gpihCreateBitmap(HPS hpsMem, ULONG cx, ULONG cy);
185 typedef HBITMAP XWPENTRY GPIHCREATEBITMAP(HPS hpsMem, ULONG cx, ULONG cy);
186 typedef GPIHCREATEBITMAP *PGPIHCREATEBITMAP;
187
188 HBITMAP XWPENTRY gpihCreateBmpFromPS(HAB hab, HPS hpsScreen, PRECTL prcl);
189 typedef HBITMAP XWPENTRY GPIHCREATEBMPFROMPS(HAB hab, HPS hpsScreen, PRECTL prcl);
190 typedef GPIHCREATEBMPFROMPS *PGPIHCREATEBMPFROMPS;
191
192 HBITMAP XWPENTRY gpihCreateHalftonedBitmap(HAB hab, HBITMAP hbmSource, LONG lColorGray);
193 typedef HBITMAP XWPENTRY GPIHCREATEHALFTONEDBITMAP(HAB hab, HBITMAP hbmSource, LONG lColorGray);
194 typedef GPIHCREATEHALFTONEDBITMAP *PGPIHCREATEHALFTONEDBITMAP;
195
196 HBITMAP XWPENTRY gpihLoadBitmapFile(HPS hps, PSZ pszBmpFile, PULONG pulError);
197 typedef HBITMAP XWPENTRY GPIHLOADBITMAPFILE(HPS hps, PSZ pszBmpFile, PULONG pulError);
198 typedef GPIHLOADBITMAPFILE *PGPIHLOADBITMAPFILE;
199
200 LONG XWPENTRY gpihStretchBitmap(HPS hpsTarget,
201 HBITMAP hbmSource,
202 PRECTL prclSource,
203 PRECTL prclTarget,
204 BOOL fProportional);
205 typedef LONG XWPENTRY GPIHSTRETCHBITMAP(HPS hpsTarget,
206 HBITMAP hbmSource,
207 PRECTL prclSource,
208 PRECTL prclTarget,
209 BOOL fProportional);
210 typedef GPIHSTRETCHBITMAP *PGPIHSTRETCHBITMAP;
211
212 BOOL XWPENTRY gpihIcon2Bitmap(HPS hpsMem, HPOINTER hptr, LONG lBkgndColor, ULONG ulIconSize);
213 typedef BOOL XWPENTRY GPIHICON2BITMAP(HPS hpsMem, HPOINTER hptr, LONG lBkgndColor, ULONG ulIconSize);
214 typedef GPIHICON2BITMAP *PGPIHICON2BITMAP;
215
216#endif
217
218#if __cplusplus
219}
220#endif
221
Note: See TracBrowser for help on using the repository browser.