<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<meta content="text/html; charset=UTF-8">
<style type="text/css" style="">
<!--
p
        {margin-top:0;
        margin-bottom:0}
-->
</style>
<div dir="ltr">
<div id="x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:#000000; font-family:Calibri,Helvetica,sans-serif">
<p>> <span style="font-size:12pt">Original snippet to reproduce (provided by Marcel, mt):</span></p>
<div>> </div>
<div>>         morph := Morph new.</div>
<div>>         morph</div>
<div>>                 extent: 500@500;</div>
<div>>                 borderWidth: 50;</div>
<div>>                 borderColor: Color red;</div>
<div>>                 cornerStyle: #rounded;</div>
<div>>                 cornerRadius: 20;</div>
<div>>                 yourself.</div>
<div>>         morph openInHand.</div>
<p></p>
<p><br>
</p>
<p>Before:</p>
<p><br>
</p>
<p><img size="32965" id="x_img724323" tabindex="0" height="180" style="" src="cid:500b569a-552b-4c5b-a194-e777c4b6170c"><br>
</p>
<p><br>
</p>
<p>After:</p>
<p><br>
</p>
<p><img size="31298" id="x_img67143" tabindex="0" height="180" style="" src="cid:befc4681-cf79-4410-beb2-9a94ab9e9c19"><br>
</p>
<p><br>
</p>
<p>:-)</p>
<p><br>
</p>
<p>Best,</p>
<p>Christoph</p>
<div id="x_Signature">
<div id="x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:rgb(0,0,0); font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<div name="x_divtagdefaultwrapper" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:; margin:0">
<div>
<div class="x__rp_T4" id="x_Item.MessagePartBody">
<div class="x__rp_U4 x_ms-font-weight-regular x_ms-font-color-neutralDark x_rpHighlightAllClass x_rpHighlightBodyClass" id="x_Item.MessageUniqueBody" style="font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif,serif,EmojiFont">
<div dir="ltr">
<div id="x_divtagdefaultwrapper"><font face="Calibri,Helvetica,sans-serif,EmojiFont,Apple Color Emoji,Segoe UI Emoji,NotoColorEmoji,Segoe UI Symbol,Android Emoji,EmojiSymbols">
<div id="x_Signature">
<div style="margin:0px"><font style="font-family:Calibri,Arial,Helvetica,sans-serif,serif,EmojiFont">
<div><font size="3" color="black"><span style="font-size:12pt"><a href="http://www.hpi.de/" target="_blank" rel="noopener noreferrer" id="LPNoLP"><font size="2"><span id="LPlnk909538"><font color="#757B80"></font></span></font></a></span></font></div>
</font></div>
</div>
</font></div>
</div>
</div>
</div>
</div>
<div><font size="2" color="#808080"></font></div>
</div>
</div>
</div>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>Von:</b> Squeak-dev <squeak-dev-bounces@lists.squeakfoundation.org> im Auftrag von commits@source.squeak.org <commits@source.squeak.org><br>
<b>Gesendet:</b> Freitag, 30. April 2021 20:02:32<br>
<b>An:</b> squeak-dev@lists.squeakfoundation.org<br>
<b>Betreff:</b> [squeak-dev] The Inbox: Morphic-ct.1768.mcz</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">A new version of Morphic was added to project The Inbox:<br>
<a href="http://source.squeak.org/inbox/Morphic-ct.1768.mcz">http://source.squeak.org/inbox/Morphic-ct.1768.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: Morphic-ct.1768<br>
Author: ct<br>
Time: 30 April 2021, 8:02:20.035293 pm<br>
UUID: 2c143938-6557-0b42-973c-6453d49680cf<br>
Ancestors: Morphic-mt.1767<br>
<br>
Fixes a GrafPort bug when drawing round rectangle frames. In the past, the horizontal segments were too wide.<br>
<br>
Original snippet to reproduce (provided by Marcel, mt):<br>
<br>
        morph := Morph new.<br>
        morph<br>
                extent: 500@500;<br>
                borderWidth: 50;<br>
                borderColor: Color red;<br>
                cornerStyle: #rounded;<br>
                cornerRadius: 20;<br>
                yourself.<br>
        morph openInHand.<br>
<br>
=============== Diff against Morphic-mt.1767 ===============<br>
<br>
Item was changed:<br>
  ----- Method: GrafPort>>frameRoundRect:radius:borderWidth: (in category 'drawing support') -----<br>
  frameRoundRect: aRectangle radius: radius borderWidth: borderWidth<br>
         | nextY outer nextOuterX ovalDiameter rectExtent rectOffset rectX rectY rectWidth rectHeight ovalRadius ovalRect innerRadius innerDiameter innerRect inner nextInnerX wp |<br>
         aRectangle area <= 0 ifTrue: [^ self].<br>
         ovalDiameter := (radius * 2) asPoint min: aRectangle extent.<br>
         (ovalDiameter x <= 0 or:[ovalDiameter y <= 0]) ifTrue:[<br>
                 ^self fillRect: aRectangle offset: 0@0.<br>
         ].<br>
         "force diameter to be even - this simplifies lots of stuff"<br>
         ovalRadius := (ovalDiameter x // 2) @ (ovalDiameter y // 2).<br>
         (ovalRadius x <= 0 or:[ovalRadius y <= 0]) ifTrue:[<br>
                 ^self fillRect: aRectangle offset: 0@0.<br>
         ].<br>
         wp := borderWidth asPoint.<br>
         ovalDiameter := ovalRadius * 2.<br>
         innerRadius := ovalRadius - borderWidth max: 0@0.<br>
         innerDiameter := innerRadius * 2.<br>
  <br>
         rectExtent := aRectangle extent - ovalDiameter.<br>
         rectWidth := rectExtent x.<br>
         rectHeight := rectExtent y.<br>
  <br>
         rectOffset := aRectangle origin + ovalRadius.<br>
         rectX := rectOffset x.<br>
         rectY := rectOffset y.<br>
  <br>
         ovalRect := 0@0 extent: ovalDiameter.<br>
         innerRect := 0@0 extent: innerDiameter.<br>
  <br>
         height := 1.<br>
         outer := EllipseMidpointTracer new on: ovalRect.<br>
         inner := EllipseMidpointTracer new on: innerRect.<br>
  <br>
         nextY := ovalRadius y.<br>
  <br>
         1 to: (wp y min: nextY) do:[:i|<br>
                 nextOuterX := outer stepInY.<br>
                 width := nextOuterX * 2 + rectWidth.<br>
                 destX := rectX - nextOuterX.<br>
                 destY := rectY - nextY.<br>
                 self copyBits.<br>
                 destY := rectY + nextY + rectHeight - 1.<br>
                 self copyBits.<br>
                 nextY := nextY - 1.<br>
         ].<br>
         [nextY > 0] whileTrue:[<br>
                 nextOuterX := outer stepInY.<br>
                 nextInnerX := inner stepInY.<br>
                 destX := rectX - nextOuterX.<br>
                 destY := rectY - nextY.<br>
                 width := nextOuterX - nextInnerX.<br>
                 self copyBits.<br>
                 destX := rectX + nextInnerX + rectWidth.<br>
                 self copyBits.<br>
                 destX := rectX - nextOuterX.<br>
                 destY := rectY + nextY + rectHeight-1.<br>
                 self copyBits.<br>
                 destX := rectX + nextInnerX + rectWidth.<br>
                 self copyBits.<br>
                 nextY := nextY - 1.<br>
         ].<br>
  <br>
         destX := aRectangle left.<br>
         destY := rectOffset y.<br>
         height := rectHeight.<br>
         width := wp x.<br>
         self copyBits.<br>
         destX := aRectangle right - width.<br>
         self copyBits.<br>
         innerRadius y = 0 ifTrue:[<br>
                 destX := aRectangle left + wp x.<br>
                 destY := rectY.<br>
+                width := aRectangle width - (wp x * 2).<br>
-                width := rectWidth.<br>
                 height := wp y - ovalRadius y.<br>
                 self copyBits.<br>
                 destY := aRectangle bottom - wp y.<br>
                 self copyBits.<br>
         ].!<br>
<br>
<br>
</div>
</span></font>
</body>
</html>