• Armin Le Grand's avatar
    Support buffering SystemDependent GraphicData (II) · 7034311d
    Armin Le Grand yazdı
    In this step I have changed all calls that use a
    B2DPolyPolygon and do filled graphics, added support for
    providing needed transformation which will -if supported-
    be used. Added buffering of SystemDependentData at
    B2DPolyPolygon for that purpose, see comments describing
    the current possibilities in the Gdiplus implementation.
    Moved lifetime creation/cleanup of SystemDependentDataManager
    to ImplSVData due to cleanup problems in the clang build
    Tried to use a std::unique_ptr to hold the instance
    of a SystemDependentDataBuffer at ImplSVData and cleanup
    inside DeInitVCL() right before ::ImplDeInitScheduler. This
    works in principle, but scheduler shutdown triggers
    ProcessEventsToIdle which leads to repaints and re-creates
    the buffer. Will now do exactly as was done with GdiPlusBuffer
    before, a simple local static incarnation and a call to
    SetStatic() in constructor
    Splitted SystemDependentDataBuffer and Timer due to
    different LifeTimes. Timer needs to be destructed
    earlier than SystemDependentDataBuffer, before
    Scheduler::ImplDeInitScheduler() is called from
    Change-Id: I2134e4346a183a4cee1be3428c51541cc8867c11
    Reviewed-on: https://gerrit.libreoffice.org/60102
    Tested-by: Jenkins
    Reviewed-by: 's avatarArmin Le Grand <Armin.Le.Grand@cib.de>
b2dpolypolygon.hxx 5.74 KB