<!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: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 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 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 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 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>