<div dir="ltr">Hi HPI Folks, Hi David,<div class="gmail_extra"><br><div class="gmail_quote">On Fri, Mar 16, 2018 at 7:17 AM, <span dir="ltr"><<a href="mailto:commits@source.squeak.org" target="_blank">commits@source.squeak.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">David T. Lewis uploaded a new version of Balloon to project The Trunk:<br>
<a href="http://source.squeak.org/trunk/Balloon-dtl.32.mcz" rel="noreferrer" target="_blank">http://source.squeak.org/<wbr>trunk/Balloon-dtl.32.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: Balloon-dtl.32<br>
Author: dtl<br>
Time: 16 March 2018, 10:16:40.975411 am<br>
UUID: 555cd6b2-1e3e-47ba-b48f-<wbr>32f3534e16f0<br>
Ancestors: Balloon-nice.31, Balloon-tfel.26<br>
<br>
Merge from inbox. Note, original Balloon-tfel.26 is moved to treated inbox to avoid file name conflict in trunk.<br>
<br>
Name: Balloon-tfel.26<br>
Author: tfel<br>
Time: 12 February 2015, 3:28:04.366 pm<br>
UUID: 94ab88a7-1f0f-0048-b15f-<wbr>1a604dc5601a<br>
Ancestors: Balloon-tfel.22, Balloon-bf.25<br>
<br>
Instead of failing hard, return default values from Balloon primitive methods, for VMs without plugin (i.e., RSqueakVM)<br>
<br>
=============== Diff against Balloon-nice.31 ===============<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>><wbr>primAddActiveEdgeTableEntryFro<wbr>m: (in category 'primitives-incremental') -----<br>
primAddActiveEdgeTableEntryFro<wbr>m: edgeEntry<br>
"Add edge entry to the AET."<br>
<primitive: 'primitiveAddActiveEdgeEntry' module: 'B2DPlugin' error: errorCode><br>
(self canProceedAfter: self primGetFailureReason) ifTrue:[<br>
^self primAddActiveEdgeTableEntryFro<wbr>m: edgeEntry<br>
].<br>
+ ^ 0!<br>
- ^self primitiveFailed!<br></blockquote><div><br></div><div><br></div><div>as regards these changes can someone reassure me by explaining how these don't obscure, for example, the plugin not being present? Aren't they obscuring real potential errors?</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Item was changed:<br>
----- Method: BalloonEngine>><wbr>primAddBezierFrom:to:via:<wbr>leftFillIndex:rightFillIndex: (in category 'primitives-adding') -----<br>
primAddBezierFrom: start to: end via: via leftFillIndex: leftFillIndex rightFillIndex: rightFillIndex<br>
<primitive: 'primitiveAddBezier' module: 'B2DPlugin' error: errorCode><br>
(self canProceedAfter: self primGetFailureReason) ifTrue:[<br>
^self primAddBezierFrom: start to: end via: via leftFillIndex: leftFillIndex rightFillIndex: rightFillIndex<br>
].<br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>><wbr>primAddBezierShape:segments:<wbr>fill:lineWidth:lineFill: (in category 'primitives-adding') -----<br>
primAddBezierShape: points segments: nSegments fill: fillStyle lineWidth: lineWidth lineFill: lineFill<br>
<primitive: 'primitiveAddBezierShape' module: 'B2DPlugin' error: errorCode><br>
(self canProceedAfter: self primGetFailureReason) ifTrue:[<br>
^self primAddBezierShape: points segments: nSegments fill: fillStyle lineWidth: lineWidth lineFill: lineFill<br>
].<br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>><wbr>primAddBitmapFill:colormap:<wbr>tile:from:along:normal:xIndex: (in category 'primitives-adding') -----<br>
primAddBitmapFill: form colormap: cmap tile: tileFlag from: origin along: direction normal: normal xIndex: xIndex<br>
<primitive: 'primitiveAddBitmapFill' module: 'B2DPlugin' error: errorCode><br>
(self canProceedAfter: self primGetFailureReason) ifTrue:[<br>
^self primAddBitmapFill: form colormap: cmap tile: tileFlag from: origin along: direction normal: normal xIndex: xIndex<br>
].<br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>><wbr>primAddCompressedShape:<wbr>segments:leftFills:rightFills:<wbr>lineWidths:lineFills:<wbr>fillIndexList: (in category 'primitives-adding') -----<br>
primAddCompressedShape: points segments: nSegments leftFills: leftFills rightFills: rightFills lineWidths: lineWidths lineFills: lineFills fillIndexList: fillIndexList<br>
<primitive: 'primitiveAddCompressedShape' module: 'B2DPlugin' error: errorCode><br>
(self canProceedAfter: self primGetFailureReason) ifTrue:[<br>
^self primAddCompressedShape: points segments: nSegments leftFills: leftFills rightFills: rightFills lineWidths: lineWidths lineFills: lineFills fillIndexList: fillIndexList<br>
].<br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>><wbr>primAddExternalEdge:initialX:<wbr>initialY:initialZ:<wbr>leftFillIndex:rightFillIndex: (in category 'primitives-adding') -----<br>
primAddExternalEdge: index initialX: initialX initialY: initialY initialZ: initialZ leftFillIndex: leftFillIndex rightFillIndex: rightFillIndex<br>
<primitive: '<wbr>primitiveRegisterExternalEdge' module: 'B2DPlugin' error: errorCode><br>
(self canProceedAfter: self primGetFailureReason) ifTrue:[<br>
^self primAddExternalEdge: index initialX: initialX initialY: initialY initialZ: initialZ leftFillIndex: leftFillIndex rightFillIndex: rightFillIndex<br>
].<br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>><wbr>primAddExternalFill: (in category 'primitives-adding') -----<br>
primAddExternalFill: index<br>
<primitive: '<wbr>primitiveRegisterExternalFill' module: 'B2DPlugin' error: errorCode><br>
(self canProceedAfter: self primGetFailureReason) ifTrue:[<br>
^self primAddExternalFill: index<br>
].<br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>><wbr>primAddGradientFill:from:<wbr>along:normal:radial: (in category 'primitives-adding') -----<br>
primAddGradientFill: colorRamp from: origin along: direction normal: normal radial: isRadial<br>
<primitive: 'primitiveAddGradientFill' module: 'B2DPlugin' error: errorCode><br>
(self canProceedAfter: self primGetFailureReason) ifTrue:[<br>
^self primAddGradientFill: colorRamp<br>
from: origin<br>
along: direction<br>
normal: normal<br>
radial: isRadial<br>
].<br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>><wbr>primAddLineFrom:to:<wbr>leftFillIndex:rightFillIndex: (in category 'primitives-adding') -----<br>
primAddLineFrom: start to: end leftFillIndex: leftFillIndex rightFillIndex: rightFillIndex<br>
<primitive: 'primitiveAddLine' module: 'B2DPlugin' error: errorCode><br>
(self canProceedAfter: self primGetFailureReason) ifTrue:[<br>
^self primAddLineFrom: start to: end leftFillIndex: leftFillIndex rightFillIndex: rightFillIndex<br>
].<br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>><wbr>primAddOvalFrom:to:fillIndex:<wbr>borderWidth:borderColor: (in category 'primitives-adding') -----<br>
primAddOvalFrom: start to: end fillIndex: fillIndex borderWidth: width borderColor: pixelValue32<br>
<primitive: 'primitiveAddOval' module: 'B2DPlugin' error: errorCode><br>
(self canProceedAfter: self primGetFailureReason) ifTrue:[<br>
^self primAddOvalFrom: start to: end fillIndex: fillIndex borderWidth: width borderColor: pixelValue32<br>
].<br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>>primAddPolygon:<wbr>segments:fill:lineWidth:<wbr>lineFill: (in category 'primitives-adding') -----<br>
primAddPolygon: points segments: nSegments fill: fillStyle lineWidth: lineWidth lineFill: lineFill<br>
<primitive: 'primitiveAddPolygon' module: 'B2DPlugin' error: errorCode><br>
(self canProceedAfter: self primGetFailureReason) ifTrue:[<br>
^self primAddPolygon: points segments: nSegments fill: fillStyle lineWidth: lineWidth lineFill: lineFill<br>
].<br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>><wbr>primAddRectFrom:to:fillIndex:<wbr>borderWidth:borderColor: (in category 'primitives-adding') -----<br>
primAddRectFrom: start to: end fillIndex: fillIndex borderWidth: width borderColor: pixelValue32<br>
<primitive: 'primitiveAddRect' module: 'B2DPlugin' error: errorCode><br>
(self canProceedAfter: self primGetFailureReason) ifTrue:[<br>
^self primAddRectFrom: start to: end fillIndex: fillIndex borderWidth: width borderColor: pixelValue32<br>
].<br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>><wbr>primChangeActiveEdgeTableEntry<wbr>From: (in category 'primitives-incremental') -----<br>
primChangeActiveEdgeTableEntry<wbr>From: edgeEntry<br>
"Change the entry in the active edge table from edgeEntry"<br>
<primitive: '<wbr>primitiveChangedActiveEdgeEntr<wbr>y' module: 'B2DPlugin' error: errorCode><br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>><wbr>primClipRectInto: (in category 'primitives-access') -----<br>
primClipRectInto: rect<br>
<primitive: 'primitiveGetClipRect' module: 'B2DPlugin' error: errorCode><br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>><wbr>primCopyBufferFrom:to: (in category 'primitives-misc') -----<br>
primCopyBufferFrom: oldBuffer to: newBuffer<br>
"Copy the contents of oldBuffer into the (larger) newBuffer"<br>
<primitive: 'primitiveCopyBuffer' module: 'B2DPlugin' error: errorCode><br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>><wbr>primDisplaySpanBuffer (in category 'primitives-incremental') -----<br>
primDisplaySpanBuffer<br>
"Display the current scan line if necessary"<br>
<primitive: 'primitiveDisplaySpanBuffer' module: 'B2DPlugin' error: errorCode><br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>><wbr>primFinishedProcessing (in category 'primitives-incremental') -----<br>
primFinishedProcessing<br>
"Return true if there are no more entries in AET and GET and the last scan line has been displayed"<br>
<primitive: 'primitiveFinishedProcessing' module: 'B2DPlugin' error: errorCode><br>
+ ^ true!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>>primFlushNeeded (in category 'primitives-access') -----<br>
primFlushNeeded<br>
<primitive: 'primitiveNeedsFlush' module: 'B2DPlugin' error: errorCode><br>
+ ^ false!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>><wbr>primFlushNeeded: (in category 'primitives-access') -----<br>
primFlushNeeded: aBoolean<br>
<primitive: 'primitiveNeedsFlushPut' module: 'B2DPlugin' error: errorCode><br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>>primGetAALevel (in category 'primitives-access') -----<br>
primGetAALevel<br>
"Set the AA level"<br>
<primitive: 'primitiveGetAALevel' module: 'B2DPlugin' error: errorCode><br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>><wbr>primGetBezierStats: (in category 'primitives-access') -----<br>
primGetBezierStats: statsArray<br>
<primitive: 'primitiveGetBezierStats' module: 'B2DPlugin' error: errorCode><br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>><wbr>primGetClipRect: (in category 'primitives-access') -----<br>
primGetClipRect: rect<br>
<primitive: 'primitiveGetClipRect' module: 'B2DPlugin' error: errorCode><br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>>primGetCounts: (in category 'primitives-access') -----<br>
primGetCounts: statsArray<br>
<primitive: 'primitiveGetCounts' module: 'B2DPlugin' error: errorCode><br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>>primGetDepth (in category 'primitives-access') -----<br>
primGetDepth<br>
<primitive: 'primitiveGetDepth' module: 'B2DPlugin' error: errorCode><br>
+ ^ 32!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>>primGetOffset (in category 'primitives-access') -----<br>
primGetOffset<br>
<primitive: 'primitiveGetOffset' module: 'B2DPlugin' error: errorCode><br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>>primGetTimes: (in category 'primitives-access') -----<br>
primGetTimes: statsArray<br>
<primitive: 'primitiveGetTimes' module: 'B2DPlugin' error: errorCode><br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>><wbr>primInitializeBuffer: (in category 'primitives-misc') -----<br>
primInitializeBuffer: buffer<br>
<primitive: 'primitiveInitializeBuffer' module: 'B2DPlugin' error: errorCode><br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>><wbr>primInitializeProcessing (in category 'primitives-incremental') -----<br>
primInitializeProcessing<br>
"Initialize processing in the GE.<br>
Create the active edge table and sort it."<br>
<primitive: '<wbr>primitiveInitializeProcessing' module: 'B2DPlugin' error: errorCode><br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>>primMergeFill:<wbr>from: (in category 'primitives-incremental') -----<br>
primMergeFill: fillBitmap from: fill<br>
"Merge the filled bitmap into the current output buffer."<br>
<primitive: 'primitiveMergeFillFrom' module: 'B2DPlugin' error: errorCode><br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>><wbr>primNextActiveEdgeEntryInto: (in category 'primitives-incremental') -----<br>
primNextActiveEdgeEntryInto: edgeEntry<br>
"Store the next entry of the AET at the current y-value in edgeEntry.<br>
Return false if there is no entry, true otherwise."<br>
<primitive: 'primitiveNextActiveEdgeEntry' module: 'B2DPlugin' error: errorCode><br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>><wbr>primNextFillEntryInto: (in category 'primitives-incremental') -----<br>
primNextFillEntryInto: fillEntry<br>
"Store the next fill entry of the active edge table in fillEntry.<br>
Return false if there is no such entry, true otherwise"<br>
<primitive: 'primitiveNextFillEntry' module: 'B2DPlugin' error: errorCode><br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>><wbr>primNextGlobalEdgeEntryInto: (in category 'primitives-incremental') -----<br>
primNextGlobalEdgeEntryInto: edgeEntry<br>
"Store the next entry of the GET at the current y-value in edgeEntry.<br>
Return false if there is no entry, true otherwise."<br>
<primitive: 'primitiveNextGlobalEdgeEntry' module: 'B2DPlugin' error: errorCode><br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>><wbr>primRenderImage:with: (in category 'primitives-incremental') -----<br>
primRenderImage: edge with: fill<br>
"Start/Proceed rendering the current scan line"<br>
<primitive: 'primitiveRenderImage' module: 'B2DPlugin' error: errorCode><br>
+ ^0 !<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>><wbr>primRenderScanline:with: (in category 'primitives-incremental') -----<br>
primRenderScanline: edge with: fill<br>
"Start/Proceed rendering the current scan line"<br>
<primitive: 'primitiveRenderScanline' module: 'B2DPlugin' error: errorCode><br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>>primSetAALevel: (in category 'primitives-access') -----<br>
primSetAALevel: level<br>
"Set the AA level"<br>
<primitive: 'primitiveSetAALevel' module: 'B2DPlugin' error: errorCode><br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>><wbr>primSetClipRect: (in category 'primitives-access') -----<br>
primSetClipRect: rect<br>
<primitive: 'primitiveSetClipRect' module: 'B2DPlugin' error: errorCode><br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>><wbr>primSetColorTransform: (in category 'primitives-access') -----<br>
primSetColorTransform: transform<br>
<primitive: 'primitiveSetColorTransform' module: 'B2DPlugin' error: errorCode><br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>>primSetDepth: (in category 'primitives-access') -----<br>
primSetDepth: depth<br>
<primitive: 'primitiveSetDepth' module: 'B2DPlugin' error: errorCode><br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>><wbr>primSetEdgeTransform: (in category 'primitives-access') -----<br>
primSetEdgeTransform: transform<br>
<primitive: 'primitiveSetEdgeTransform' module: 'B2DPlugin' error: errorCode><br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
Item was changed:<br>
----- Method: BalloonEngine>>primSetOffset: (in category 'primitives-access') -----<br>
primSetOffset: point<br>
<primitive: 'primitiveSetOffset' module: 'B2DPlugin' error: errorCode><br>
+ ^ 0!<br>
- ^self primitiveFailed!<br>
<br>
<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</div></div>