[Gambas-user] Big change in revision #5382

Benoît Minisini gambas at ...1...
Tue Nov 27 19:48:20 CET 2012


Hi,

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 
possible.

- 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.

Regards,

-- 
Benoît Minisini




More information about the User mailing list