2012-11-27 18:48:20 UTC
I have removed the old Draw class and replaced it with a new Draw class
implemented in Gambas inside the gb.gui.base component, that emulates
the old Draw class by using the Paint class.
I'm starting to remove as much X11 specific code as possible in the
Gambas source code, and the Draw class was completely based on the old
deprecated X11 drawing API of GTK+, so...
Many new methods were added to the Paint class to help the
implementation of the Draw emulation class.
Of course (!) expect some quirks:
- The emulation is not perfect yet, and it won't be 100% compatible
pixel to pixel.
- Expect some performance loss, even if I try to avoid them as much as
- Drawing lines with Cairo is a lot slower that drawing lines with X11,
even if antialiasing is disabled.
- There is a bug at the moment if you imbricate calls to Paint.Begin()
on the same device. It should work, but apparently it does not...
- Source code clean-up is not finished.
But there is one good news: if you have old printing code from Gambas 2
based on the Draw class, you can now use it directly in Gambas 3 without
having anything to change (theoritically).
All that is an investment to the future, when Wayland will replace X11.