[Libreoffice-commits] core.git: include/vcl
Chris Sherlock
chris.sherlock79 at gmail.com
Mon Mar 10 04:55:04 PDT 2014
include/vcl/outdev.hxx | 15 +++++++++++++++
1 file changed, 15 insertions(+)
New commits:
commit 11ca83d180aa37f927f341cdc1726ff1491fcc49
Author: Chris Sherlock <chris.sherlock79 at gmail.com>
Date: Fri Feb 14 01:36:30 2014 +1100
Update the documentation for ImplInitGraphics()
Better explain the whys and wherefores of the graphics LRU and
how it is used.
Change-Id: I345cd91044bc533c9650e2d17bf53d2879af3e39
Reviewed-on: https://gerrit.libreoffice.org/8030
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/include/vcl/outdev.hxx b/include/vcl/outdev.hxx
index 9b012cc..8595400 100644
--- a/include/vcl/outdev.hxx
+++ b/include/vcl/outdev.hxx
@@ -368,6 +368,21 @@ public:
/** Initialize the graphics device that the output device uses to draw on.
+ There is an LRU of OutputDevices that is used to get the graphics. The
+ actual creation of a SalGraphics instance is done via the SalFrame
+ implementation.
+
+ However, the SalFrame instance will only return a valid SalGraphics
+ instance if it is not in use or there wasn't one in the first place. When
+ this happens, ImplInitGraphics finds the least recently used OutputDevice
+ in a different frame and "steals" it (releases it then starts using it).
+
+ If there are no frames to steal an OutputDevice's SalGraphics instance from
+ then it blocks until the graphics is released.
+
+ Once it has acquired a graphics instance, then we add the OutputDevice to
+ the LRU.
+
@returns true if was able to initialize the graphics device, false otherwise.
*/
SAL_DLLPRIVATE bool ImplInitGraphics() const;
More information about the Libreoffice-commits
mailing list