<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
On 7/27/2020 7:55 PM, Juan Vuletich via Cuis-dev wrote:
<blockquote cite="mid:5F1F5B51.7040300@jvuletich.org" type="cite">
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
<title></title>
On 7/27/2020 7:25 AM, Hilaire Fernandes via Cuis-dev wrote:
<blockquote
cite="mid:9dc2f959-54e6-300f-e26d-d76c1de46719@drgeo.eu"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<p><font size="+1">I understood what happened, when the image is
saved, the benefit of this execution is lost and should be
executed again before operating anythings:</font></p>
<blockquote>
<pre><font size="+1" color="#cc0000">self runningWorld setCanvas: (HybridCanvas onForm: Display). </font></pre>
<pre><font size="+1" color="#cc0000">self runningWorld canvas class.
</font></pre>
</blockquote>
<font size="+1" color="#cc0000"> </font>
<p><font size="+1"> Hilaire</font><br>
</p>
<div class="moz-cite-prefix">Le 23/07/2020 à 19:00, Hilaire
Fernandes a écrit :<br>
</div>
<blockquote type="cite"
cite="mid:31c7abc1-d884-de95-81f8-6003a35401ff@drgeo.eu">
<p><font size="+1">Whne I save the image (I think with the
Ellipse morph destroyed) then start the image again I have
this DNU on EllipseMorph2>>morphContainsPoint: <br>
</font></p>
<p>Btw, why can't I find the error log file?</p>
</blockquote>
<pre class="moz-signature" cols="72">--
GNU Dr. Geo
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://drgeo.eu">http://drgeo.eu</a></pre>
</blockquote>
<br>
Hi Hilaire, Folks,<br>
<br>
I've been working on a new implementation. It starts to work
reasonably well.<br>
<br>
The HybridCanvas will choose automatically between BitBlt and
VectorCanvas depending on the morpt to be drawn. The
RectangleLikeMorph hierarchy will be drawn using BitBlt, unless
rotated or scaled. Other Morph classes will use VectorCanvas.
Play, for example, with EllipseMorph2 and EllipseMorph3.<br>
<br>
The code is in 77 changesets. To make it easier for you to play
with all this, I prepared a couple of images.<br>
<br>
Check <br>
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="https://www.dropbox.com/s/lppb9a3k7q3t9qs/VectorGraphicsCoreUpdates.zip?dl=0">https://www.dropbox.com/s/lppb9a3k7q3t9qs/VectorGraphicsCoreUpdates.zip?dl=0</a><br>
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="https://www.dropbox.com/s/cptwrfsu2bm36nn/VGExperimentsImage.zip?dl=0">https://www.dropbox.com/s/cptwrfsu2bm36nn/VGExperimentsImage.zip?dl=0</a><br>
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="https://www.dropbox.com/s/08fq770i6wi3eds/VGExperiments32Image.zip?dl=0">https://www.dropbox.com/s/08fq770i6wi3eds/VGExperiments32Image.zip?dl=0</a><br>
<br>
If you want to load the changesets, in a Cuis updated to #4253 do:<br>
- Feature require: 'VectorGraphics'<br>
- Load the changesets in order. Copying them to an CoreUpdates
folder and installing new updates should work.<br>
- MorphicCanvas activeSubclass: HybridCanvas <br>
- Set system font: DejaVu Sans<br>
- World / New Morph… / EllipseMorph3, for example.<br>
Try the "new" rotate / zoom handle (yes, I know. They should be 2
separate handles!). Browse the code. Check how simple a VG morph
can be! Check that you can grab the ellipse from any inner pixel,
and no outside pixel, even if the EllipseMorph3 class doesn't
implement #morphContainsPoint: or any other similar method. It
also doesn't include any method to tell the area it occupies on
the Display, and still updates and redraws work correctly. See
what happens if you change the code to make it bigger, for
example, and the in an ispector do 'self redrawNeeded', or just
World / restore display. Check EllipseMorph2 that includes
stepping. In the class comment of one of those there are several
lines of code, that if evaluated together in a Workspace, will
stitch a few ellipses together and makes them step. Try it!<br>
<br>
As usual, all this is experimental. It could break in unexpected
ways, etc.<br>
<br>
Feedback is most welcome.<br>
<br>
Cheeers,<br>
<pre class="moz-signature" cols="72">--
Juan Vuletich
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="http://www.cuis-smalltalk.org">www.cuis-smalltalk.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev">https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://github.com/jvuletich">https://github.com/jvuletich</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://www.linkedin.com/in/juan-vuletich-75611b3">https://www.linkedin.com/in/juan-vuletich-75611b3</a>
@JuanVuletich</pre>
</blockquote>
<br>
The attach includes additional changesets I wrote after those zip
files. You can load them on top of those images. The change set
numbers don't match, but don't worry. It is because I had to
renumber all of them, to make room for recent updates.<br>
<br>
Please try all this and give any feedback. I'd like to push this to
the repo if no problems are found.<br>
<br>
Thanks,<br>
<pre class="moz-signature" cols="72">--
Juan Vuletich
<a class="moz-txt-link-abbreviated" href="http://www.cuis-smalltalk.org">www.cuis-smalltalk.org</a>
<a class="moz-txt-link-freetext" href="https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev">https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev</a>
<a class="moz-txt-link-freetext" href="https://github.com/jvuletich">https://github.com/jvuletich</a>
<a class="moz-txt-link-freetext" href="https://www.linkedin.com/in/juan-vuletich-75611b3">https://www.linkedin.com/in/juan-vuletich-75611b3</a>
@JuanVuletich</pre>
</body>
</html>