diff options
author | Camil Staps | 2015-07-01 17:36:37 +0200 |
---|---|---|
committer | Camil Staps | 2015-07-01 17:36:37 +0200 |
commit | 7553b7f9d4dddc2235c137d41de8ce22547bebe3 (patch) | |
tree | 34f8fb4b36640317d728a60586424f67f9befbe7 /pictCCall_12.icl | |
parent | gitignore (diff) |
Initial commit
Diffstat (limited to 'pictCCall_12.icl')
-rw-r--r-- | pictCCall_12.icl | 769 |
1 files changed, 769 insertions, 0 deletions
diff --git a/pictCCall_12.icl b/pictCCall_12.icl new file mode 100644 index 0000000..b235b70 --- /dev/null +++ b/pictCCall_12.icl @@ -0,0 +1,769 @@ +implementation module pictCCall_12
+
+
+from ostypes import :: OSRect{..}, :: HDC
+import rgnCCall_12
+
+
+:: *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.
+
+
+// PA: 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
+winCreateScreenHDC _
+ = code
+ {
+ .inline WinCreateScreenHDC
+ ccall WinCreateScreenHDC "I-II"
+ .end
+ }
+
+winDestroyScreenHDC :: !PIC -> *OSToolbox
+winDestroyScreenHDC _
+ = code
+ {
+ .inline WinDestroyScreenHDC
+ ccall WinDestroyScreenHDC "II-I"
+ .end
+ }
+
+// MW: this is never used in the object IO
+winGetPicStringWidth :: !{#Char} !PIC -> ( !Int, !PIC)
+winGetPicStringWidth _ _
+ = code
+ {
+ .inline WinGetPicStringWidth
+ ccall WinGetPicStringWidth "SII-III"
+ .end
+ }
+
+winGetPicCharWidth :: !Char !PIC -> ( !Int, !PIC)
+winGetPicCharWidth _ _
+ = code
+ {
+ .inline WinGetPicCharWidth
+ ccall WinGetPicCharWidth "III-III"
+ .end
+ }
+// END MW
+
+winGetStringWidth :: !{#Char} !Fnt !Int !HDC !*OSToolbox -> ( !Int, !*OSToolbox)
+winGetStringWidth _ _ _ _ _
+ = code
+ {
+ .inline WinGetStringWidth
+ ccall WinGetStringWidth "SSIIIII-II"
+ .end
+ }
+
+winGetCharWidth :: !Char !Fnt !Int !HDC !*OSToolbox -> ( !Int, !*OSToolbox)
+winGetCharWidth _ _ _ _ _
+ = code
+ {
+ .inline WinGetCharWidth
+ ccall WinGetCharWidth "ISIIIII-II"
+ .end
+ }
+
+winGetPicFontInfo :: !PIC -> ( !Int, !Int, !Int, !Int, !PIC)
+winGetPicFontInfo _
+ = code
+ {
+ .inline WinGetPicFontInfo
+ ccall WinGetPicFontInfo "II-IIIIII"
+ .end
+ }
+
+winGetFontInfo :: !Fnt !Int !HDC !*OSToolbox -> ( !Int, !Int, !Int, !Int, !*OSToolbox)
+winGetFontInfo _ _ _ _
+ = code
+ {
+ .inline WinGetFontInfo
+ ccall WinGetFontInfo "SIIIII-IIIII"
+ .end
+ }
+
+winSetFontStyle :: !Int !PIC -> PIC
+winSetFontStyle _ _
+ = code
+ {
+ .inline WinSetFontStyle
+ ccall WinSetFontStyle "III-II"
+ .end
+ }
+
+winSetFontSize :: !Int !PIC -> PIC
+winSetFontSize _ _
+ = code
+ {
+ .inline WinSetFontSize
+ ccall WinSetFontSize "III-II"
+ .end
+ }
+
+winSetFontName :: !{#Char} !PIC -> PIC
+winSetFontName _ _
+ = code
+ {
+ .inline WinSetFontName
+ ccall WinSetFontName "SII-II"
+ .end
+ }
+
+winSetFont :: !Fnt !PIC -> PIC
+winSetFont _ _
+ = code
+ {
+ .inline WinSetFont
+ ccall WinSetFont "SIIII-II"
+ .end
+ }
+
+
+winPrintResizedBitmap :: !(!Int,!Int) !(!Int,!Int) !(!Int,!Int) !{#Char} !PIC -> PIC
+winPrintResizedBitmap _ _ _ _ _
+ = code
+ {
+ .inline WinPrintResizedBitmap
+ ccall WinPrintResizedBitmap "IIIIIISII-II"
+ .end
+ }
+
+// PA: Routines to DRAW bitmaps.
+winDrawBitmap :: !(!Int,!Int) !(!Int,!Int) !Int !PIC -> PIC
+winDrawBitmap _ _ _ _
+ = code
+ {
+ .inline WinDrawBitmap
+ ccall WinDrawBitmap "IIIIIII-II"
+ .end
+ }
+
+winDrawResizedBitmap :: !(!Int,!Int) !(!Int,!Int) !(!Int,!Int) !Int !PIC -> PIC
+winDrawResizedBitmap _ _ _ _ _
+ = code
+ {
+ .inline WinDrawResizedBitmap
+ ccall WinDrawResizedBitmap "IIIIIIIII-II"
+ .end
+ }
+
+winCreateBitmap :: !Int !{#Char} !HDC !*OSToolbox -> (!Int,!*OSToolbox)
+winCreateBitmap _ _ _ _
+ = code
+ {
+ .inline WinCreateBitmap
+ ccall WinCreateBitmap "ISII-II"
+ .end
+ }
+
+winInvertPolygon :: !PIC -> PIC
+winInvertPolygon _
+ = code
+ {
+ .inline WinInvertPolygon
+ ccall WinInvertPolygon "II-II"
+ .end
+ }
+
+winErasePolygon :: !PIC -> PIC
+winErasePolygon _
+ = code
+ {
+ .inline WinErasePolygon
+ ccall WinErasePolygon "II-II"
+ .end
+ }
+
+winFillPolygon :: !PIC -> PIC
+winFillPolygon _
+ = code
+ {
+ .inline WinFillPolygon
+ ccall WinFillPolygon "II-II"
+ .end
+ }
+
+winDrawPolygon :: !PIC -> PIC
+winDrawPolygon _
+ = code
+ {
+ .inline WinDrawPolygon
+ ccall WinDrawPolygon "II-II"
+ .end
+ }
+
+winAddPolygonPoint :: !Pt !*OSToolbox -> *OSToolbox
+winAddPolygonPoint _ _
+ = code
+ {
+ .inline WinAddPolygonPoint
+ ccall WinAddPolygonPoint "III-I"
+ .end
+ }
+
+winStartPolygon :: !Int !*OSToolbox -> *OSToolbox
+winStartPolygon _ _
+ = code
+ {
+ .inline WinStartPolygon
+ ccall WinStartPolygon "II-I"
+ .end
+ }
+
+winEndPolygon :: !*OSToolbox -> *OSToolbox
+winEndPolygon _
+ = code
+ {
+ .inline WinEndPolygon
+ ccall WinEndPolygon "I-I"
+ .end
+ }
+
+/* Operations to create, modify, and destroy polygon shapes.
+*/
+winAllocPolyShape :: !Int !*OSToolbox -> (!Int,!*OSToolbox)
+winAllocPolyShape _ _
+ = code
+ {
+ .inline WinAllocPolyShape
+ ccall WinAllocPolyShape "II-II"
+ .end
+ }
+
+winSetPolyPoint :: !Int !Int !Int !Int !*OSToolbox -> *OSToolbox
+winSetPolyPoint _ _ _ _ _
+ = code
+ {
+ .inline WinSetPolyPoint
+ ccall WinSetPolyPoint "IIIII-I"
+ .end
+ }
+
+winFreePolyShape :: !Int !*OSToolbox -> *OSToolbox
+winFreePolyShape _ _
+ = code
+ {
+ .inline WinFreePolyShape
+ ccall WinFreePolyShape "II-I"
+ .end
+ }
+
+
+winInvertWedge :: !OSRect !Pt !Pt !PIC -> PIC
+winInvertWedge _ _ _ _
+ = code
+ {
+ .inline WinInvertWedge
+ ccall WinInvertWedge "IIIIIIIIII-II"
+ .end
+ }
+
+winEraseWedge :: !OSRect !Pt !Pt !PIC -> PIC
+winEraseWedge _ _ _ _
+ = code
+ {
+ .inline WinEraseWedge
+ ccall WinEraseWedge "IIIIIIIIII-II"
+ .end
+ }
+
+winFillWedge :: !OSRect !Pt !Pt !PIC -> PIC
+winFillWedge _ _ _ _
+ = code
+ {
+ .inline WinFillWedge
+ ccall WinFillWedge "IIIIIIIIII-II"
+ .end
+ }
+
+winDrawWedge :: !OSRect !Pt !Pt !PIC -> PIC
+winDrawWedge _ _ _ _
+ = code
+ {
+ .inline WinDrawWedge
+ ccall WinDrawWedge "IIIIIIIIII-II"
+ .end
+ }
+
+
+winInvertCircle :: !Pt !Int !PIC -> PIC
+winInvertCircle _ _ _
+ = code
+ {
+ .inline WinInvertCircle
+ ccall WinInvertCircle "IIIII-II"
+ .end
+ }
+
+winEraseCircle :: !Pt !Int !PIC -> PIC
+winEraseCircle _ _ _
+ = code
+ {
+ .inline WinEraseCircle
+ ccall WinEraseCircle "IIIII-II"
+ .end
+ }
+
+winFillCircle :: !Pt !Int !PIC -> PIC
+winFillCircle _ _ _
+ = code
+ {
+ .inline WinFillCircle
+ ccall WinFillCircle "IIIII-II"
+ .end
+ }
+
+winDrawCircle :: !Pt !Int !PIC -> PIC
+winDrawCircle _ _ _
+ = code
+ {
+ .inline WinDrawCircle
+ ccall WinDrawCircle "IIIII-II"
+ .end
+ }
+
+
+winInvertOval :: !OSRect !PIC -> PIC
+winInvertOval _ _
+ = code
+ {
+ .inline WinInvertOval
+ ccall WinInvertOval "IIIIII-II"
+ .end
+ }
+
+winEraseOval :: !OSRect !PIC -> PIC
+winEraseOval _ _
+ = code
+ {
+ .inline WinEraseOval
+ ccall WinEraseOval "IIIIII-II"
+ .end
+ }
+
+winFillOval :: !OSRect !PIC -> PIC
+winFillOval _ _
+ = code
+ {
+ .inline WinFillOval
+ ccall WinFillOval "IIIIII-II"
+ .end
+ }
+
+winDrawOval :: !OSRect !PIC -> PIC
+winDrawOval _ _
+ = code
+ {
+ .inline WinDrawOval
+ ccall WinDrawOval "IIIIII-II"
+ .end
+ }
+
+
+winInvertRoundRectangle :: !OSRect !Int !Int !PIC -> PIC
+winInvertRoundRectangle _ _ _ _
+ = code
+ {
+ .inline WinInvertRoundRectangle
+ ccall WinInvertRoundRectangle "IIIIIIII-II"
+ .end
+ }
+
+winEraseRoundRectangle :: !OSRect !Int !Int !PIC -> PIC
+winEraseRoundRectangle _ _ _ _
+ = code
+ {
+ .inline WinEraseRoundRectangle
+ ccall WinEraseRoundRectangle "IIIIIIII-II"
+ .end
+ }
+
+winFillRoundRectangle :: !OSRect !Int !Int !PIC -> PIC
+winFillRoundRectangle _ _ _ _
+ = code
+ {
+ .inline WinFillRoundRectangle
+ ccall WinFillRoundRectangle "IIIIIIII-II"
+ .end
+ }
+
+winDrawRoundRectangle :: !OSRect !Int !Int !PIC -> PIC
+winDrawRoundRectangle _ _ _ _
+ = code
+ {
+ .inline WinDrawRoundRectangle
+ ccall WinDrawRoundRectangle "IIIIIIII-II"
+ .end
+ }
+
+
+winScrollRectangle :: !OSRect !Pt !PIC -> (!OSRect,!PIC)
+winScrollRectangle _ _ _
+ = code
+ {
+ .inline WinScrollRectangle
+ ccall WinScrollRectangle "IIIIIIII-IIIIII"
+ .end
+ }
+
+winScrollRectangle2 :: !OSRect !Pt !PIC -> (!OSRect,!PIC)
+winScrollRectangle2 _ _ _
+ = code
+ {
+ .inline WinScrollRectangle2
+ ccall WinScrollRectangle2 "IIIIIIII-IIIIII"
+ .end
+ }
+
+winCopyRectangle :: !OSRect !Pt !PIC -> PIC
+winCopyRectangle _ _ _
+ = code
+ {
+ .inline WinCopyRectangle
+ ccall WinCopyRectangle "IIIIIIII-II"
+ .end
+ }
+
+winCopyRectangleTo :: !OSRect !Pt !PIC -> PIC
+winCopyRectangleTo _ _ _
+ = code
+ {
+ .inline WinCopyRectangleTo
+ ccall WinCopyRectangleTo "IIIIIIII-II"
+ .end
+ }
+
+winMoveRectangle :: !OSRect !Pt !PIC -> PIC
+winMoveRectangle _ _ _
+ = code
+ {
+ .inline WinMoveRectangle
+ ccall WinMoveRectangle "IIIIIIII-II"
+ .end
+ }
+
+winMoveRectangleTo :: !OSRect !Pt !PIC -> PIC
+winMoveRectangleTo _ _ _
+ = code
+ {
+ .inline WinMoveRectangleTo
+ ccall WinMoveRectangleTo "IIIIIIII-II"
+ .end
+ }
+
+
+winInvertRectangle :: !OSRect !PIC -> PIC
+winInvertRectangle _ _
+ = code
+ {
+ .inline WinInvertRectangle
+ ccall WinInvertRectangle "IIIIII-II"
+ .end
+ }
+
+winEraseRectangle :: !OSRect !PIC -> PIC
+winEraseRectangle _ _
+ = code
+ {
+ .inline WinEraseRectangle
+ ccall WinEraseRectangle "IIIIII-II"
+ .end
+ }
+
+winFillRectangle :: !OSRect !PIC -> PIC
+winFillRectangle _ _
+ = code
+ {
+ .inline WinFillRectangle
+ ccall WinFillRectangle "IIIIII-II"
+ .end
+ }
+
+winDrawRectangle :: !OSRect !PIC -> PIC
+winDrawRectangle _ _
+ = code
+ {
+ .inline WinDrawRectangle
+ ccall WinDrawRectangle "IIIIII-II"
+ .end
+ }
+
+
+winDrawChar :: !Int !PIC -> PIC
+winDrawChar _ _
+ = code
+ {
+ .inline WinDrawChar
+ ccall WinDrawChar "III-II"
+ .end
+ }
+
+winDrawString :: !{#Char} !PIC -> PIC
+winDrawString _ _
+ = code
+ {
+ .inline WinDrawString
+ ccall WinDrawString "SII-II"
+ .end
+ }
+
+
+winDrawCCurve :: !OSRect !Pt !Pt !RGBcolor !PIC -> PIC
+winDrawCCurve _ _ _ _ _
+ = code
+ {
+ .inline WinDrawCCurve
+ ccall WinDrawCCurve "IIIIIIIIIIIII-II"
+ .end
+ }
+
+winDrawCLine :: !Pt !Pt !RGBcolor !PIC -> PIC
+winDrawCLine _ _ _ _
+ = code
+ {
+ .inline WinDrawCLine
+ ccall WinDrawCLine "IIIIIIIII-II"
+ .end
+ }
+
+winDrawCPoint :: !Pt !RGBcolor !PIC -> PIC
+winDrawCPoint _ _ _
+ = code
+ {
+ .inline WinDrawCPoint
+ ccall WinDrawCPoint "IIIIIII-II"
+ .end
+ }
+
+winDrawCurve :: !OSRect !Pt !Pt !PIC -> PIC
+winDrawCurve _ _ _ _
+ = code
+ {
+ .inline WinDrawCurve
+ ccall WinDrawCurve "IIIIIIIIII-II"
+ .end
+ }
+
+winDrawLine :: !Pt !Pt !PIC -> PIC
+winDrawLine _ _ _
+ = code
+ {
+ .inline WinDrawLine
+ ccall WinDrawLine "IIIIII-II"
+ .end
+ }
+
+winDrawPoint :: !Pt !PIC -> PIC
+winDrawPoint _ _
+ = code
+ {
+ .inline WinDrawPoint
+ ccall WinDrawPoint "IIII-II"
+ .end
+ }
+
+
+winLinePen :: !Pt !PIC -> PIC
+winLinePen _ _
+ = code
+ {
+ .inline WinLinePen
+ ccall WinLinePen "IIII-II"
+ .end
+ }
+
+winLinePenTo :: !Pt !PIC -> PIC
+winLinePenTo _ _
+ = code
+ {
+ .inline WinLinePenTo
+ ccall WinLinePenTo "IIII-II"
+ .end
+ }
+
+winMovePen :: !Pt !PIC -> PIC
+winMovePen _ _
+ = code
+ {
+ .inline WinMovePen
+ ccall WinMovePen "IIII-II"
+ .end
+ }
+
+winMovePenTo :: !Pt !PIC -> PIC
+winMovePenTo _ _
+ = code
+ {
+ .inline WinMovePenTo
+ ccall WinMovePenTo "IIII-II"
+ .end
+ }
+
+winGetPenPos :: !PIC -> (!Int,!Int,!HDC,!*OSToolbox)
+winGetPenPos _
+ = code
+ {
+ .inline WinGetPenPos
+ ccall WinGetPenPos "II-IIII"
+ .end
+ }
+
+
+winSetPenSize :: !Int !PIC -> PIC
+winSetPenSize _ _
+ = code
+ {
+ .inline WinSetPenSize
+ ccall WinSetPenSize "III-II"
+ .end
+ }
+
+winSetPattern :: !Int !PIC -> PIC
+winSetPattern _ _
+ = code
+ {
+ .inline WinSetPattern
+ ccall WinSetPattern "III-II"
+ .end
+ }
+
+winSetMode :: !Int !PIC -> PIC
+winSetMode _ _
+ = code
+ {
+ .inline WinSetMode
+ ccall WinSetMode "III-II"
+ .end
+ }
+
+winSetBackColor :: !RGBcolor !PIC -> PIC
+winSetBackColor _ _
+ = code
+ {
+ .inline WinSetBackColor
+ ccall WinSetBackColor "IIIII-II"
+ .end
+ }
+
+winSetPenColor :: !RGBcolor !PIC -> PIC
+winSetPenColor _ _
+ = code
+ {
+ .inline WinSetPenColor
+ ccall WinSetPenColor "IIIII-II"
+ .end
+ }
+
+
+winClipPicture :: !OSRect !PIC -> PIC
+winClipPicture _ _
+ = code
+ {
+ .inline WinClipPicture
+ ccall WinClipPicture "IIIIII-II"
+ .end
+ }
+
+// PA: operation to set the clipping region.
+winClipRgnPicture :: !HRGN !PIC -> PIC
+winClipRgnPicture _ _
+ = code
+ {
+ .inline WinClipRgnPicture
+ ccall WinClipRgnPicture "III-II"
+ .end
+ }
+
+// PA+++: new operation to set the complete clipping region.
+winSetClipRgnPicture :: !HRGN !PIC -> PIC
+winSetClipRgnPicture _ _
+ = code
+ {
+ .inline WinSetClipRgnPicture
+ ccall WinSetClipRgnPicture "III-II"
+ .end
+ }
+
+// PA+++: new operation to retrieve the current clipping region.
+winGetClipRgnPicture :: !PIC -> (!HRGN,!PIC)
+winGetClipRgnPicture _
+ = code
+ {
+ .inline WinGetClipRgnPicture
+ ccall WinGetClipRgnPicture "II-III"
+ .end
+ }
+
+winDeleteObject :: !Int !*OSToolbox -> *OSToolbox
+winDeleteObject _ _
+ = code
+ {
+ .inline WinDeleteObject
+ ccall WinDeleteObject "II-I"
+ .end
+ }
+
+
+winDonePicture :: !PIC -> (!Int,!Int,!RGBcolor,!RGBcolor,!Pt,!Fnt,!PIC)
+winDonePicture _
+ = code
+ {
+ .inline WinDonePicture
+ ccall WinDonePicture "II-IIIIIIIIIISIIII"
+ .end
+ }
+
+winInitPicture :: !Int !Int !RGBcolor !RGBcolor !Pt !Fnt !Pt !PIC -> PIC
+winInitPicture _ _ _ _ _ _ _ _
+ = code
+ {
+ .inline WinInitPicture
+ ccall WinInitPicture "IIIIIIIIIISIIIIII-II"
+ .end
+ }
|