<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">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"><u></u>
<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">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">http://mamot.fr/@drgeo</a></pre>
</div>
-- <br>
Cuis-dev mailing list<br>
<a href="mailto:Cuis-dev@lists.cuis.st" target="_blank">Cuis-dev@lists.cuis.st</a><br>
<a href="https://lists.cuis.st/mailman/listinfo/cuis-dev" rel="noreferrer" target="_blank">https://lists.cuis.st/mailman/listinfo/cuis-dev</a><br>
</blockquote></div>