README.md
author Jan Vrany <jan.vrany@labware.com>
Mon, 15 Jun 2020 15:01:43 +0100
changeset 88 9d51db2ba641
parent 79 df95786f3e31
permissions -rw-r--r--
Add copyright notice
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
58
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
# Cairo for Smalltalk/X
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
**stx:goodies/libcairo** is a Smalltalk/X package providing integration of [Cairo graphics library][1]. 
59
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
     4
It contains a drop-in replacement for native GC ([DeviceGraphicsContext][5]) to switch 
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
     5
rendering of some or all windows to Cairo. 
58
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
## Features
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
* Full access to Cairo API
79
df95786f3e31 README: Addedc screenshot to readme.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 66
diff changeset
    10
* Full support for icons with alpha channel
df95786f3e31 README: Addedc screenshot to readme.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 66
diff changeset
    11
* Full support for transparency (alpha) for all drawing operations (lines, rectangles)
df95786f3e31 README: Addedc screenshot to readme.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 66
diff changeset
    12
* Full and correct support for arbitrary transformation
df95786f3e31 README: Addedc screenshot to readme.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 66
diff changeset
    13
* Almost-pixel identical results on Windows and Linux (X11)
df95786f3e31 README: Addedc screenshot to readme.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 66
diff changeset
    14
* Ready for Quartz (Mac OS X) and Wayland (X11 seems to be phasing out)
df95786f3e31 README: Addedc screenshot to readme.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 66
diff changeset
    15
* **Integrates with Smalltalk/X so complete application can be rendered using Cairo**
df95786f3e31 README: Addedc screenshot to readme.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 66
diff changeset
    16
df95786f3e31 README: Addedc screenshot to readme.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 66
diff changeset
    17
## Screenshot
df95786f3e31 README: Addedc screenshot to readme.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 66
diff changeset
    18
df95786f3e31 README: Addedc screenshot to readme.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 66
diff changeset
    19
![Launcher](https://bitbucket.org/janvrany/stx-goodies-libcairo/wiki/screenshot_013.png)
59
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    20
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    21
## Starting Points
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    22
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    23
**For the impatient**
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    24
Following code will install [CairoGraphicsContext][6] as graphics 
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    25
device's default graphics context so new windows will be rendered using Cairo:
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    26
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    27
    Screen current graphicsContextClass: CairoGraphicsContext.
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    28
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    29
To revert back to standard rendering, evaluate: 
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    30
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    31
    Screen current graphicsContextClass: Screen current class graphicsContextClass
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    32
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    33
For more defailts, see:
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    34
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    35
* [Wiki][7]
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    36
* [Examples][8] in particular
58
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
## Supported versions of Smalltalk/X
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
59
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    40
**stx:goodies/libcairo** is available for [Smalltalk/X "jv branch"][2], both
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    41
**Windows and Linux**, 32bit and 64bit. 
58
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
Should you need Cairo on any other version of Smalltalk/X, please contact the author by email. 
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
## Author
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
Jan Vrany `<jan.vrany [at] fit.cvut.cz>`
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
## License
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
![CC-BY-NC](https://i.creativecommons.org/l/by-nc/4.0/88x31.png)
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
This software is licensed under [Creative Commons Attribution-NonCommercial 4.0 International License][3]. You may find a full license text in `LICENSE.txt`.
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
In short, you are free to:
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
* **Share** — copy and redistribute the material in any medium or format,
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
* **Adapt** — remix, transform, and build upon the material,
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
under the following terms: 
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
* **Attribution** — You must give appropriate credit, provide a link to the license, and indicate if changes were made, 
59
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    63
* **NonCommercial** — You may not use the software for commercial purposes.
58
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
For permissions beyond the scope of this license see [Licensing][4].
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
[1]: http://www.cairographics.org
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
[2]: https://swing.fit.cvut.cz/projects/stx-jv/
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
[3]: http://creativecommons.org/licenses/by-nc/4.0/
59
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    70
[4]: https://bitbucket.org/janvrany/stx-goodies-libcairo/wiki/Licensing
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    71
[5]: http://swing.fit.cvut.cz/hg/stx.libview/file/jv/DeviceGraphicsContext.st
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    72
[6]: https://bitbucket.org/janvrany/stx-goodies-libcairo/src/default/CairoGraphicsContext.st
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    73
[7]: https://bitbucket.org/janvrany/stx-goodies-libcairo/wiki/Home
66
e2ce20f7d777 README: Fixed link to examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 59
diff changeset
    74
[8]: https://bitbucket.org/janvrany/stx-goodies-libcairo/wiki/examples/Examples