Reduce memory allocations in Cairo renderer
This refactoring MR eliminates many memory allocations in the CairoRenderer code and introduces more stack semantics. There is no more pointer madness and calls to new
or delete
.
Utility functions for retrieving the current time (previously defined in a header file) are moved to their own cpp file in the util/
directory.
Additionally, the interface is cleaned up by moving some member functions to where they naturally belong and eliminating deep member access.
Edited by Rafał Siejakowski