1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
|
definition module pictCCall_12
from rgnCCall_12 import :: HRGN
from ostoolbox import :: OSToolbox
from ostypes import :: OSRect, :: HDC
:: *PIC
:== ( !HDC
, !*OSToolbox
)
:: Pt
:== ( !Int
, !Int
)
:: RGBcolor
:== ( !Int
, !Int
, !Int
)
:: Fnt
:== ( !{#Char}
, !Int
, !Int
)
iWhitePattern :== 4
iLtGreyPattern :== 3
iGreyPattern :== 2
iDkGreyPattern :== 1
iBlackPattern :== 0
iModeNotBic :== 7
iModeNotXor :== 6
iModeNotOr :== 5
iModeNotCopy :== 4
iModeBic :== 3
iModeXor :== 2
iModeOr :== 1
iModeCopy :== 0
iStrikeOut :== 8
iUnderline :== 4
iItalic :== 2
iBold :== 1
// PA: constants for drawing polygons.
ALTERNATE :== 1
WINDING :== 2
// PA: end of addition.
/* win(Create/Destroy)ScreenHDC added to temporarily create a HDC of a screen.
Never use these values for a window or control.
*/
winCreateScreenHDC :: !*OSToolbox -> PIC
winDestroyScreenHDC :: !PIC -> *OSToolbox
winGetPicStringWidth :: !{#Char} !PIC -> ( !Int, !PIC)
winGetPicCharWidth :: !Char !PIC -> ( !Int, !PIC)
winGetStringWidth :: !{#Char} !Fnt !Int !HDC !*OSToolbox -> ( !Int, !*OSToolbox)
winGetCharWidth :: !Char !Fnt !Int !HDC !*OSToolbox -> ( !Int, !*OSToolbox)
winGetPicFontInfo :: !PIC -> ( !Int, !Int, !Int, !Int, !PIC)
winGetFontInfo :: !Fnt !Int !HDC !*OSToolbox -> ( !Int, !Int, !Int, !Int, !*OSToolbox)
winSetFontStyle :: !Int !PIC -> PIC
winSetFontSize :: !Int !PIC -> PIC
winSetFontName :: !{#Char} !PIC -> PIC
winSetFont :: !Fnt !PIC -> PIC
/* Routines to PRINT bitmaps (winPrint(Resized)Bitmap).
Routines to DRAW bitmaps (winDraw(Resized)Bitmap).
Create a bitmap (winCreateBitmap).
*/
// MW11 winPrintBitmap :: !(!Int,!Int) !(!Int,!Int) !{#Char} !PIC -> PIC
winPrintResizedBitmap :: !(!Int,!Int) !(!Int,!Int) !(!Int,!Int) !{#Char} !PIC -> PIC
winDrawBitmap :: !(!Int,!Int) !(!Int,!Int) !Int !PIC -> PIC
winDrawResizedBitmap :: !(!Int,!Int) !(!Int,!Int) !(!Int,!Int) !Int !PIC -> PIC
winCreateBitmap :: !{#Char} !HDC !*OSToolbox -> (!Int,!*OSToolbox)
winInvertPolygon :: !PIC -> PIC
winErasePolygon :: !PIC -> PIC
winFillPolygon :: !PIC -> PIC
winDrawPolygon :: !PIC -> PIC
winAddPolygonPoint :: !Pt !*OSToolbox -> *OSToolbox
winStartPolygon :: !Int !*OSToolbox -> *OSToolbox
winEndPolygon :: !*OSToolbox -> *OSToolbox
winAllocPolyShape :: !Int !*OSToolbox -> (!Int,!*OSToolbox)
winSetPolyPoint :: !Int !Int !Int !Int !*OSToolbox -> *OSToolbox
winFreePolyShape :: !Int !*OSToolbox -> *OSToolbox
winInvertWedge :: !OSRect !Pt !Pt !PIC -> PIC
winEraseWedge :: !OSRect !Pt !Pt !PIC -> PIC
winFillWedge :: !OSRect !Pt !Pt !PIC -> PIC
winDrawWedge :: !OSRect !Pt !Pt !PIC -> PIC
winInvertCircle :: !Pt !Int !PIC -> PIC
winEraseCircle :: !Pt !Int !PIC -> PIC
winFillCircle :: !Pt !Int !PIC -> PIC
winDrawCircle :: !Pt !Int !PIC -> PIC
winInvertOval :: !OSRect !PIC -> PIC
winEraseOval :: !OSRect !PIC -> PIC
winFillOval :: !OSRect !PIC -> PIC
winDrawOval :: !OSRect !PIC -> PIC
winInvertRoundRectangle :: !OSRect !Int !Int !PIC -> PIC
winEraseRoundRectangle :: !OSRect !Int !Int !PIC -> PIC
winFillRoundRectangle :: !OSRect !Int !Int !PIC -> PIC
winDrawRoundRectangle :: !OSRect !Int !Int !PIC -> PIC
winScrollRectangle :: !OSRect !Pt !PIC -> (!OSRect,!PIC)
winScrollRectangle2 :: !OSRect !Pt !PIC -> (!OSRect,!PIC)
winCopyRectangle :: !OSRect !Pt !PIC -> PIC
winCopyRectangleTo :: !OSRect !Pt !PIC -> PIC
winMoveRectangle :: !OSRect !Pt !PIC -> PIC
winMoveRectangleTo :: !OSRect !Pt !PIC -> PIC
winInvertRectangle :: !OSRect !PIC -> PIC
winEraseRectangle :: !OSRect !PIC -> PIC
winFillRectangle :: !OSRect !PIC -> PIC
winDrawRectangle :: !OSRect !PIC -> PIC
winDrawChar :: !Int !PIC -> PIC
winDrawString :: !{#Char} !PIC -> PIC
winDrawCCurve :: !OSRect !Pt !Pt !RGBcolor !PIC -> PIC
winDrawCLine :: !Pt !Pt !RGBcolor !PIC -> PIC
winDrawCPoint :: !Pt !RGBcolor !PIC -> PIC
winDrawCurve :: !OSRect !Pt !Pt !PIC -> PIC
winDrawLine :: !Pt !Pt !PIC -> PIC
winDrawPoint :: !Pt !PIC -> PIC
winLinePen :: !Pt !PIC -> PIC
winLinePenTo :: !Pt !PIC -> PIC
winMovePen :: !Pt !PIC -> PIC
winMovePenTo :: !Pt !PIC -> PIC
winGetPenPos :: !PIC -> (!Int,!Int,!HDC,!*OSToolbox)
winSetPenSize :: !Int !PIC -> PIC
winSetPattern :: !Int !PIC -> PIC
winSetMode :: !Int !PIC -> PIC
winSetBackColor :: !RGBcolor !PIC -> PIC
winSetPenColor :: !RGBcolor !PIC -> PIC
winClipPicture :: !OSRect !PIC -> PIC
winClipRgnPicture :: !HRGN !PIC -> PIC // Operation to set the clipping region
winSetClipRgnPicture :: !HRGN !PIC -> PIC // Operation to completely set the clipping region
winGetClipRgnPicture :: !PIC -> (!HRGN,!PIC) // Operation to retrieve the current clipping region
winDeleteObject :: !Int !*OSToolbox -> *OSToolbox
winDonePicture :: !PIC -> !PIC
winInitPicture :: !Int !Int !RGBcolor !RGBcolor !Pt !Fnt !Pt !PIC -> PIC
|