From 0fc90da27d6840513f5f75a68a8d485c0d7d678d Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Fri, 14 Aug 2015 23:06:48 +0200 Subject: This is a hack, but for the moment forcing setting pen position fixes text positioning issues. Also removing commented code --- ospicture.icl | 27 +++++++++------------------ pictCCall_12.icl | 12 ++++++------ 2 files changed, 15 insertions(+), 24 deletions(-) diff --git a/ospicture.icl b/ospicture.icl index e76aa6c..3635805 100644 --- a/ospicture.icl +++ b/ospicture.icl @@ -192,12 +192,9 @@ setpictpen {penSize,penForeColour,penBackColour,penPos,penFont} picture // Change the pen position: setpictpenpos :: !Point2 !*Picture -> *Picture setpictpenpos newpos=:{x=x`,y=y`} picture=:{pictToolbox,pictOrigin,pictPen=pen=:{penPos={x,y}},pictContext} - | x==x` && y==y` - = picture - | otherwise - # (context,tb) = winMovePenTo (toTuple (newpos-pictOrigin)) (pictContext,pictToolbox) - pen = {pen & penPos={x=x`,y=y`}} - = {picture & pictToolbox=tb,pictContext=context,pictPen=pen} + # (context,tb) = winMovePenTo (toTuple (newpos-pictOrigin)) (pictContext,pictToolbox) + pen = {pen & penPos={x=x`,y=y`}} + = {picture & pictToolbox=tb,pictContext=context,pictPen=pen} getpictpenpos :: !*Picture -> (!Point2,!*Picture) getpictpenpos picture=:{pictPen={penPos={x,y}}} @@ -229,12 +226,9 @@ getpictpensize picture=:{pictPen={penSize}} // Change the PenColour: setpictpencolour :: !Colour !*Picture -> *Picture setpictpencolour colour picture=:{pictToolbox,pictPen,pictContext} - //| reqRGB==curRGB - // = picture - //| otherwise - # (context,tb) = winSetPenColor reqRGB (pictContext,pictToolbox) - pen = {pictPen & penForeColour=colour} - = {picture & pictPen=pen,pictToolbox=tb,pictContext=context} + # (context,tb) = winSetPenColor reqRGB (pictContext,pictToolbox) + pen = {pictPen & penForeColour=colour} + = {picture & pictPen=pen,pictToolbox=tb,pictContext=context} where reqRGB = toRGBtriple colour curRGB = toRGBtriple pictPen.penForeColour @@ -242,12 +236,9 @@ where from StdMisc import abort setpictbackcolour :: !Colour !*Picture -> *Picture setpictbackcolour colour picture=:{pictToolbox,pictPen,pictContext} - //| reqRGB==curRGB - // = picture - //| otherwise - # (context,tb) = winSetBackColor (toRGBtriple colour) (pictContext,pictToolbox) - pen = {pictPen & penBackColour=colour} - = {picture & pictPen=pen,pictToolbox=tb,pictContext=context} + # (context,tb) = winSetBackColor (toRGBtriple colour) (pictContext,pictToolbox) + pen = {pictPen & penBackColour=colour} + = {picture & pictPen=pen,pictToolbox=tb,pictContext=context} where reqRGB = toRGBtriple colour curRGB = toRGBtriple pictPen.penBackColour diff --git a/pictCCall_12.icl b/pictCCall_12.icl index e7c7b55..193664d 100644 --- a/pictCCall_12.icl +++ b/pictCCall_12.icl @@ -604,7 +604,7 @@ winDrawPoint _ _ = code { .inline WinDrawPoint - ccall WinDrawPoint "IIII-II" + ccall WinDrawPoint "IIpI-pI" .end } @@ -614,7 +614,7 @@ winLinePen _ _ = code { .inline WinLinePen - ccall WinLinePen "IIII-II" + ccall WinLinePen "IIpI-pI" .end } @@ -623,7 +623,7 @@ winLinePenTo _ _ = code { .inline WinLinePenTo - ccall WinLinePenTo "IIII-II" + ccall WinLinePenTo "IIpI-pI" .end } @@ -632,7 +632,7 @@ winMovePen _ _ = code { .inline WinMovePen - ccall WinMovePen "IIII-II" + ccall WinMovePen "IIpI-pI" .end } @@ -641,7 +641,7 @@ winMovePenTo _ _ = code { .inline WinMovePenTo - ccall WinMovePenTo "IIII-II" + ccall WinMovePenTo "IIpI-pI" .end } @@ -650,7 +650,7 @@ winGetPenPos _ = code { .inline WinGetPenPos - ccall WinGetPenPos "II-IIII" + ccall WinGetPenPos "Ip-IIII" .end } -- cgit v1.2.3