<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hi Folks,</p>
    <p>Just one comment Hilaire on performance. I agree with Luciano
      here.</p>
    <p>If I remember correctly, you did you Circular Toolbar before we
      had the VectorEnginePlugin in the official VMs. At that time,
      running the Smalltalk version would be quite slower. You can try
      again without any caching. Especially if you use the literal
      FloatArray format it should be really fast.</p>
    <p>Cheers,</p>
    <div class="moz-cite-prefix">On 2026-06-25 5:40 AM, Luciano
      Notarfrancesco via Cuis-dev wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAL5GDyoKiGOjqZSeGCdCad7=o1wkwtu==mjix3HoPnmdbfzm=w@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">Hi Hilaire,
        <div><br>
        </div>
        <div>Yes, I'll share my widgets, I should make a new package
          independent from my app. Anyway, feel free to extract and
          use/change anything from my packages.</div>
        <div><br>
        </div>
        <div>Regarding your experience of slow drawing of vectorized
          icons vs fast drawing of bitmap icons, I think that's not the
          case any more. Vector graphics works really fast for me. For
          example, in the tracker I have this big grid of text, and all
          the empty cells are the same, something like '-- --- -- ---
          ---'. Typically you might have 100-300 empty cells that need
          to be redrawn several times per second, and I thought calling
          drawString: for each empty cell was going to be slow, so I
          made a Form for this and I called image:at: instead. But later
          on I realized it was slower than actually drawing the string.
          Perhaps I made some mistake, but anyways drawing all
          the strings is super fast and I removed the form cache.</div>
        <div><br>
        </div>
        <div>About the dictionary iconName -> icon, at this time I
          think I prefer to just specify the icon with the path data
          string and avoid the global registry of icons, it's
          simpler, keeps everything local. But I have very few, perhaps
          it's different for a project like yours with lots of icons. I
          recommend you to add support for path data strings, tho, I
          love it, it makes it super easy to browse icons on the web and
          copy and paste to Cuis.</div>
        <div><br>
        </div>
        <div><br>
        </div>
        <div><br>
        </div>
        <div><br>
        </div>
        <div><br>
        </div>
      </div>
      <br>
      <div class="gmail_quote gmail_quote_container">
        <div dir="ltr" class="gmail_attr">On Thu, Jun 25, 2026 at
          4:33 AM Hilaire Fernandes via Cuis-dev <<a
            href="mailto:cuis-dev@lists.cuis.st" moz-do-not-send="true"
            class="moz-txt-link-freetext">cuis-dev@lists.cuis.st</a>>
          wrote:<br>
        </div>
        <blockquote class="gmail_quote"
style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
          <div bgcolor="#FFFFFF">
            <div>Hi Luciano,</div>
            <div><br>
            </div>
            <div>Le 24/06/2026 à 09:27, Luciano Notarfrancesco via
              Cuis-dev a écrit :<br>
            </div>
            <blockquote type="cite">I've been making my own buttons,
              knobs, pulldown lists, etc... all sorts of widgets. Some
              of them draw text, like the label on a </blockquote>
            <p>Please share your widgets on Cuis-Smalltalk-UI for re
              usability within the cuis community.</p>
            <p>In this repo, there is a simple icon importer for both
              png and SVG. The icons are rendered on Form and cached on
              a dictionary to improve speed. When you have a lot of
              vectorial icons on a GUI, you may have slowdown if they
              are repeatedly rendered from the vectorial forms. I
              noticed that with the DrGeo circular toolbar.</p>
            <p>The icon importer could be extend to support this compact
              format</p>
            <p>Hilaire</p>
            <blockquote type="cite">button, and I'd like to add optional
              monochromatic icons. For the sake of simplicity, I'd like
              to just set the icon as path data, something like this:
              <div>    M784-120 532-372q-30 24-69 38t-83 14q-109
                0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0
                184.5 75.5T640-580q0 44-14 83t-38 69l252 252-56
                56ZM380-400q75 0
                127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5
                52.5T200-580q0 75 52.5 127.5T380-400Z<br>
              </div>
              <div><br>
              </div>
              <div>
                <div>I got this from <a
                    href="https://fonts.google.com/icons"
                    target="_blank" moz-do-not-send="true"
                    class="moz-txt-link-freetext">https://fonts.google.com/icons</a>
                  , there you can search the icons you like and click on
                  the image of the icon to copy this path data to the
                  clipboard.</div>
                <br>
              </div>
              <div>Then, say it is the icon for a button, the button
                morph can draw it scaled depending on the morph height,
                or on the line spacing of the font used for the label.
                Seems the simplest solution to me, and it would be just
                one or two lines of path data when creating the button.</div>
              <div><br>
              </div>
              <div>My question is, how do I represent this in Cuis?
                There is PathCommand and subclasses, but it's not used
                anywhere in the base image or packages, I didn't find
                any examples. There's also
                VectorCanvas>>pathSequence: in a different format,
                more limited (only supports commands M L C Q, I think).</div>
              <div><br>
              </div>
              <div>What's the correct path for this? What do you
                suggest?</div>
            </blockquote>
            <pre cols="72">-- 
<a href="http://mamot.fr/@drgeo" target="_blank" moz-do-not-send="true"
            class="moz-txt-link-freetext">http://mamot.fr/@drgeo</a></pre>
          </div>
          -- <br>
          Cuis-dev mailing list<br>
          <a href="mailto:Cuis-dev@lists.cuis.st" target="_blank"
            moz-do-not-send="true" class="moz-txt-link-freetext">Cuis-dev@lists.cuis.st</a><br>
          <a href="https://lists.cuis.st/mailman/listinfo/cuis-dev"
            rel="noreferrer" target="_blank" moz-do-not-send="true"
            class="moz-txt-link-freetext">https://lists.cuis.st/mailman/listinfo/cuis-dev</a><br>
        </blockquote>
      </div>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
    </blockquote>
    <pre class="moz-signature" cols="72">-- 
Juan Vuletich
<a class="moz-txt-link-abbreviated" href="http://www.cuis.st">www.cuis.st</a>
github.com/jvuletich
researchgate.net/profile/Juan-Vuletich
independent.academia.edu/JuanVuletich
patents.justia.com/inventor/juan-manuel-vuletich</pre>
  </body>
</html>