aboutsummaryrefslogtreecommitdiff
path: root/pictCCall_12.dcl
blob: 1f5aae2f5aa7d41af2cbe2668dbc72c2e5749759 (plain) (blame)
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			:: !Int !{#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