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