[Cuis-dev] Updates to VectorEngine and VectorEnginePlugin

Hernan Wilkinson hernan.wilkinson at 10pines.com
Tue Mar 30 08:02:54 PDT 2021


Amazing!!!
The rotation and zooming of the windows works great!

Congratulations Juan, it is completely usable at least in my machine. Great
work!!

Cheers!
Hernan.

On Fri, Mar 26, 2021 at 2:05 PM Juan Vuletich via Cuis-dev <
cuis-dev at lists.cuis.st> wrote:

> Hi Folks,
>
> I added some new features to the VectorEnginePlugin. Unicode text (UTF-8
> and UTF-32) can now be rendered by the plugin, with excellent
> performance, quality and multilingual support. SVG examples also work
> great. Take a look!
>
> I hope you like it.
>
> To explore this stuff:
>
> A -To see it running. Experimental. I only buit it for MacOS.
> 1) Grab VM including the plugin from
> https://www.dropbox.com/sh/rhkt4ayq24t2xbf/AACDb3mrjMUDB8Mptd-Bi6Zsa?dl=0
> 2) Pull Cuis repo.
> 3) Start Cuis with the VM above
> 4) Evaluate:
>      ChangeSet installNewUpdates.
> 5) Evaluate:
>      Feature require: 'VectorGraphics'.
> 6) Set a TT Font, like DejaVu.../DejaVuSans (Stuff will break with
> StrikeFonts and you'll need to kill the image)
> 7) Evaluate:
>      M3Exp01Morph new openInWorld.
>      Answer yes.
>      Play with the halo. Very slow! Still running the Smalltalk code for
> VectorEngine
> 8) Evaluate:
>      (self runningWorld canvas instVarNamed: 'vectorCanvas') usePlugin.
>      Play with the halo. Rotate (bottom left handle) and Zool (bottom
> right handle) Now it is very fast! The plugin is working.
> 9) For the following, it is advisable to download the GPL licensed
> "HanWangMingMedium" chinese font, and make it accessible to Cuis. Evaluate:
>      VectorCanvas demoUTF8Unicode.
>      VectorCanvas demoUTF32Unicode.
> 10) Evaluate
>      Feature require: 'SVG'.
>      SVGElementMorph examplesLion
>      SVGElementMorph examplesMagician
>      SVGElementMorph examplesTiger
>      SVGElementMorph phoneExample
>      Note that loading some of these files takes a bit of time. These
> are complex SVG files! Still, note that they are drawn quickly by the
> plugin, even when doing high-quality subpixel antialiasing. To compare
> quality, you might try opening these SVG files with a web browser. You
> can rotate and zoom, of course. You can also use the halo to extract or
> duplicate parts of the SVG composites, like you would do in Inkscape.
> 12) Hide the taskbar
> 13) redefine WidgetMorph>>requiresVectorCanvas to answer true,
> 14) refresh the display. Now every window and window element, including
> all the text, is drawn by VectorEngine. You might notice that all the
> appareances of any glyph, for example $a are no longer identical. Text
> layout and Glyph placement is done with Float arithmetic, using subpixel
> locations!
> 15) redefine WidgetMorph>>hasVariableExtent to answer false.
> 16) Open the halo on any window. Use the rotate and zoom handles.
>
> B - You want to look at the generated C code for the plugin, or build it
> for another platform. You need a working setup to build the
> OpenSmalltalk VM. The dropbox opensmalltalk-vm includes the files needed
> to build the VM with the plugin.
>
> C - You want to experiment with the Slang plugin source code. I have
> only done this in Cuis, not yet in the official Squeak VMMaker image.
> 1) Clone / pull VMMaker repo
> 2) Start Cuis
> 3) Evaluate:
>      ChangeSet installNewUpdates.
>      Feature require: 'VMMaker'.
>      Feature require: 'VectorEnginePlugin'
>      VectorEnginePlugin translateInDirectory: DirectoryEntry
> currentDirectory doInlining: true
>
> Cheers,
>
> --
> Juan Vuletich
> www.cuis-smalltalk.org
> https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev
> https://github.com/jvuletich
> https://www.linkedin.com/in/juan-vuletich-75611b3
> @JuanVuletich
>
> --
> Cuis-dev mailing list
> Cuis-dev at lists.cuis.st
> https://lists.cuis.st/mailman/listinfo/cuis-dev
>


-- 
<https://10pines.com/>Hernán WilkinsonSoftware Developer, Teacher & Coach

Alem 896, Floor 6, Buenos Aires, Argentina

+54 11 6091 3125

@HernanWilkinson
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20210330/ae29ba8f/attachment-0001.htm>


More information about the Cuis-dev mailing list