Skip to content

Commit

Permalink
Updated images. Updated docs.
Browse files Browse the repository at this point in the history
  • Loading branch information
jvuletich committed Sep 21, 2021
1 parent c6fcc7d commit 1c415d2
Show file tree
Hide file tree
Showing 11 changed files with 9,284 additions and 20 deletions.
Binary file removed Cuis5.0-4834-32.image
Binary file not shown.
Binary file removed Cuis5.0-4834.image
Binary file not shown.
3,090 changes: 3,089 additions & 1 deletion Cuis5.0-4834-32.changes → Cuis5.0-4871-32.changes

Large diffs are not rendered by default.

Binary file added Cuis5.0-4871-32.image
Binary file not shown.
3,090 changes: 3,089 additions & 1 deletion Cuis5.0-4834-v3.changes → Cuis5.0-4871-v3.changes

Large diffs are not rendered by default.

Binary file renamed Cuis5.0-4834-v3.image → Cuis5.0-4871-v3.image
Binary file not shown.
3,090 changes: 3,089 additions & 1 deletion Cuis5.0-4834.changes → Cuis5.0-4871.changes

Large diffs are not rendered by default.

Binary file added Cuis5.0-4871.image
Binary file not shown.
6 changes: 3 additions & 3 deletions Documentation/GettingStarted-NoCommandLine.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ What follows are instructions for setting up Cuis on Windows or Mac OS X without
* extract the contents of the zip file right there ("extract here")
* download [`squeak.cog.spur_win32x86_202003021730.zip`](https://github.com/OpenSmalltalk/opensmalltalk-vm/releases/download/202003021730/squeak.cog.spur_win32x86_202003021730.zip), saving it to yourFolder\Cuis-Smalltalk-Dev-master\ (the folder that was just created while extracting the first zip file).
* extract the contents of the zip file right there ("extract here")
* drop the Cuis5.0-4834-32.image over the Squeak.exe file. Alternatively, double click on the Squeak.exe file, and when prompted to select an image file, select Cuis5.0-4834-32.image.
* drop the Cuis5.0-4871-32.image over the Squeak.exe file. Alternatively, double click on the Squeak.exe file, and when prompted to select an image file, select Cuis5.0-4871-32.image.
* If you get a message like "This publisher could not be verified. Are you sure you want to run this software?", then untag "Always ask before opening this file" (if present) and click [Run].
* If you get a message like "Windows protected your PC", then click on "More info", and click [Run anyway].

Expand All @@ -19,10 +19,10 @@ What follows are instructions for setting up Cuis on Windows or Mac OS X without
* download [`squeak.cog.spur_macos64x64_202003021730.dmg`](https://github.com/OpenSmalltalk/opensmalltalk-vm/releases/download/202003021730/squeak.cog.spur_macos64x64_202003021730.dmg), saving it to your folder
* double click on the dmg file
* Drag Squeak to your folder
* drop the Cuis5.0-4834.image over the Squeak.app file
* drop the Cuis5.0-4871.image over the Squeak.app file
* If you get "Squeak is an app downloaded from the Internet. Are you sure you want to open it?", click on [Open]

## Troubleshooting ##
* If you can't find Cuis5.0-4834.image, then this document is outdated. Use the Cuis image with the latest update number available.
* If you can't find Cuis5.0-4871.image, then this document is outdated. Use the Cuis image with the latest update number available.
* If you can't find the Squeak Cog Spur VM specified, then this document is outdated. Use the the Squeak Cog Spur VM for your platform with the latest Date and Time available from https://github.com/OpenSmalltalk/opensmalltalk-vm/releases/latest or http://opensmalltalk.org/
* If you can't get Cuis to run on your system after trying the above instructions, send mail to the Cuis-Dev mail list. Please give enough detail of your system, what you tried, and any error messages you got.
16 changes: 8 additions & 8 deletions Documentation/GettingStarted.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ mv ./sqcogspur64linuxht ./cogspur

### Starting Cuis Smalltalk ###
```
cogspur/squeak Cuis-Smalltalk-Dev/Cuis5.0-4834.image
cogspur/squeak Cuis-Smalltalk-Dev/Cuis5.0-4871.image
```
If you get this error message (you won't get it if you run Cuis as root or sudo):
```
Expand All @@ -68,11 +68,11 @@ Drag Squeak.app to your folder
```

### Starting Cuis Smalltalk ###
* drop the Cuis5.0-4834.image over the Squeak.app file
* drop the Cuis5.0-4871.image over the Squeak.app file
* If you get "Squeak is an app downloaded from the Internet. Are you sure you want to open it?", click on [Open]
* Alternatively, you might:
```
./Squeak.app/Contents/MacOS/Squeak Cuis-Smalltalk-Dev-master/Cuis5.0-4834.image
./Squeak.app/Contents/MacOS/Squeak Cuis-Smalltalk-Dev-master/Cuis5.0-4871.image
```

## For 64 bits Windows (Git Bash) ##
Expand All @@ -89,7 +89,7 @@ unzip cogspur.zip -d cogspur

### Starting Cuis Smalltalk ###
```
cogspur/Squeak.exe Cuis-Smalltalk-Dev/Cuis5.0-4834.image
cogspur/Squeak.exe Cuis-Smalltalk-Dev/Cuis5.0-4871.image
```

## For Raspberry Pi Raspian ##
Expand All @@ -105,7 +105,7 @@ mv ./sqcogspurlinuxhtRPi ./cogspur

### Starting Cuis Smalltalk ###
```
cogspur/squeak Cuis-Smalltalk-Dev/Cuis5.0-4834-32.image
cogspur/squeak Cuis-Smalltalk-Dev/Cuis5.0-4871-32.image
```

## For Chromebooks ##
Expand Down Expand Up @@ -136,14 +136,14 @@ mv ./sqstkspurlinuxhtRPi ./stkspur

### Starting Cuis Smalltalk ###
```
cogspur/squeak Cuis-Smalltalk-Dev/Cuis5.0-4834-32.image
stkspur/squeak Cuis-Smalltalk-Dev/Cuis5.0-4834-32.image
cogspur/squeak Cuis-Smalltalk-Dev/Cuis5.0-4871-32.image
stkspur/squeak Cuis-Smalltalk-Dev/Cuis5.0-4871-32.image
```

## Troubleshooting ##
* If when starting the image you get error messages like "This interpreter (vers. 6505) cannot read image file (vers. 68021).", (68021 or some other reasonable number) it means you image and VM are mismatched. For example, one of them is Spur and the other is pre-Spur, or one of them is 32 bits and the other is 64 bits.
* If when starting the image you get error messages like "This interpreter (vers. 6505) cannot read image file (vers. 1007290890).", (1007290890 or some other absurd number) it means your git installation is breaking the files. It is usually best to configure git not to do any conversion on files.
* If you can't find Cuis5.0-4834-32.image, then this document is outdated. Use the Cuis spur image with the latest update number available.
* If you can't find Cuis5.0-4871-32.image, then this document is outdated. Use the Cuis spur image with the latest update number available.
* If you can't find the Squeak Cog Spur VM specified, then this document is outdated. Use the the Squeak Cog Spur VM for your platform with the latest Date and Time available from http://opensmalltalk.org/
* If you can't get Cuis to run on your system after trying the above instructions, send mail to the Cuis-Dev mail list. Please give enough detail of your system, what you tried, and any error messages you got.
* To get the contents of this repository without using Git, you can do
Expand Down
12 changes: 6 additions & 6 deletions Documentation/VectorGraphicsAndMorphic3.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,16 @@ In addition to MorphicTranslation, VectorCanvas and VectorEngine can handle more

There are several example morphs using Vector Graphics, and showing some of the things that can be done.
```
World / New morph... / From Alphabetica List... / M3Exp02Morph
World / New morph... / From Alphabetica List... / Sample01Star
```
M3Exp02Morph and friends show how simple a Morph can be, and how the programmer is relieved from the complexity in detecting the mouse cursor touching arbitrary geometric shapes, clipping, occlusion, collision detection, scaling, rotation, and lower level problems as bounds detection, area invalidation, etc. Please play with all these examples with the Halos. Embed them one in another. Understand the code. Modify the code to try new things. See the drawing services provided by VectorCanvas, especially the 'stroke & fill' and 'paths' categories. Open an inspector on your morph, and see how the instance variable 'location' is modified as you move / scale / rotate it. See what happens if you embed your morph in another, and only move the outer morph.
Sample01Star and friends show how simple a Morph can be, and how the programmer is relieved from the complexity in detecting the mouse cursor touching arbitrary geometric shapes, clipping, occlusion, collision detection, scaling, rotation, and lower level problems as bounds detection, area invalidation, etc. Please play with all these examples with the Halos. Read the class comments. Embed them one in another. Understand the code. Modify the code to try new things. See the drawing services provided by VectorCanvas, especially the 'stroke & fill' and 'paths' categories. Open an inspector on your morph, and see how the instance variable 'location' is modified as you move / scale / rotate it. See what happens if you embed your morph in another, and only move the outer morph.

You can also do:
```
Feature require: 'SVG'.
SVGElementMorph examplesMagician.
SVGMainMorph exampleWizard openInWorld.
```
There are several other examples included. SVG support is quite complete, so you can also try other SVG files. Note that drawing complex SVG without the VectorEngine VM Plugin will slow down Cuis significantly. The Virtual Machine Plugin to enable fast drawing of vector graphics is in the process of getting integrated in the official OpenSmalltalk VMs. In the meantime, you might run one of the VMs built by members of our community, that include the plugin: https://www.dropbox.com/sh/rhkt4ayq24t2xbf/AACDb3mrjMUDB8Mptd-Bi6Zsa?dl=0
There are several other examples included, chosen to show the capabilities of the VectorGraphics engine and SVG support. Browse the class side of SVGMainMorph, category 'examples'. SVG support is quite complete, so you can also try other SVG files as well. Note that drawing complex SVG without the VectorEngine VM Plugin will slow down Cuis significantly. The Virtual Machine Plugin to enable fast drawing of vector graphics is integrated in the OpenSmalltalk Virtual Machine GitHub repository, but not yet in the official builds. In the meantime, you might run one of the VMs built by members of our community, that include the plugin: https://www.dropbox.com/sh/rhkt4ayq24t2xbf/AACDb3mrjMUDB8Mptd-Bi6Zsa?dl=0

If you run Cuis with one of these VMs, and have selected a TrueType font as the system default, you'll see that the Morphic Halos include two new handles: "Change Scale" (center right) and "Rotate" (bottom left). Try them on any Morph!

Expand All @@ -40,8 +40,8 @@ Vector Graphics is actually what got the Cuis project started. In 2003, ten year

You can see more about the early development of the projects at: [The Morphic 3 Project](http://www.jvuletich.org/Morphic3/Morphic3-200911.html), [Morphic 3 in action](http://www.jvuletich.org/Morphic3/Morphic3-201006.html), [First public presentation of the project (video)](http://www.jvuletich.org/Morphic3/Smalltalks2007/Smalltalks2007.html) and [A short history of Cuis](CuisHistory.md).

A more recent landmark was in 2013, when a defensive publication on the techniques used in the project was made: [Prefiltering Antialiasing for General Vector Graphics](https://www.researchgate.net/publication/267152327_Prefiltering_Antialiasing_for_General_Vector_Graphics), [(also here)](https://priorart.ip.com/IPCOM/000232657). This meant the code could now be open-sourced without worries that someone might try to get a patent on it.
A more recent landmark was in 2013, when a defensive disclosure on the techniques used in the project was published: [Prefiltering Antialiasing for General Vector Graphics](https://www.researchgate.net/publication/267152327_Prefiltering_Antialiasing_for_General_Vector_Graphics), [(also here)](https://priorart.ip.com/IPCOM/000232657). This meant the code could now be open-sourced without worries of someone else trying to get a patent on it.

The following years, progress has been steady. The refactoring of Morphic is essentially complete. The most important feature is that in Cuis, each morph defines its own coordinate system, via the #morphLocalBounds method. Transformation to owner coordinates is an instance of the GeometryTransformation hierarchy, stored in the 'location' instance variable. This coordinate system is used by the Morph for its own drawing and also for positioning its submorphs.
The following years, progress has been steady. The refactoring of Morphic is essentially complete. The most important feature is that in Cuis, each morph defines its own coordinate system. Transformation to owner coordinates is an instance of the GeometryTransformation hierarchy, stored in the 'location' instance variable. This coordinate system is used by the Morph for its own drawing and also for positioning its submorphs.

In 2019, support was added to read and use TrueType fonts. In 2020 I made it possible to include VectorGraphics based morphs (including morphs built from SVG files) to a regular World. In 2021, I wrote a VM plugin for the VectorEngine, gaining enough performance to use VectorGraphics for all morphs, including browsers and other dev tools.

0 comments on commit 1c415d2

Please sign in to comment.