README.md
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 05 Apr 2016 10:00:57 +0100
changeset 77 cdf856e78998
parent 66 e2ce20f7d777
child 79 df95786f3e31
permissions -rw-r--r--
CairoGraphicsContext: Fixed paint setting Even though methods like #foreground: / #foreground:background: method are marked obsolete for quite some time, a lot of core widgets are still using them (!). Therefore CairoGraphicsContext must implement them to correctly update Cairo context. This fixes issues with EditField.
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
59
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    10
* Integration with Smalltalk/X graphics API
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    11
* Correct transformations (native GC does it wrong)
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    12
* Supports images with alpha channel such as .png icons (not supported by native GC)
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    13
* Supports arbitrary (and correct) transformations, including rotation (not supported by native GC)
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    14
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    15
## Starting Points
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    16
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    17
**For the impatient**
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    18
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
    19
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
    20
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    21
    Screen current graphicsContextClass: CairoGraphicsContext.
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
To revert back to standard rendering, evaluate: 
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    24
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    25
    Screen current graphicsContextClass: Screen current class graphicsContextClass
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
For more defailts, see:
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
* [Wiki][7]
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    30
* [Examples][8] in particular
58
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
## Supported versions of Smalltalk/X
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
59
fcd26ac49199 Minor tweaks in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 58
diff changeset
    34
**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
    35
**Windows and Linux**, 32bit and 64bit. 
58
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
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
    38
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
## Author
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
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
    42
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
## License
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
![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
    46
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
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
    48
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
In short, you are free to:
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
* **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
    52
* **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
    53
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
under the following terms: 
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
* **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
    57
* **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
    58
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
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
    60
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
[1]: http://www.cairographics.org
16a69a916e47 Added README.md and LICENSE.txt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
[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
    63
[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
    64
[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
    65
[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
    66
[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
    67
[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
    68
[8]: https://bitbucket.org/janvrany/stx-goodies-libcairo/wiki/examples/Examples