summaryrefslogtreecommitdiff
path: root/slideshow/source/inc/screenupdater.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'slideshow/source/inc/screenupdater.hxx')
-rw-r--r--slideshow/source/inc/screenupdater.hxx21
1 files changed, 21 insertions, 0 deletions
diff --git a/slideshow/source/inc/screenupdater.hxx b/slideshow/source/inc/screenupdater.hxx
index 07837d6bfc4c..33d6c5d7263f 100644
--- a/slideshow/source/inc/screenupdater.hxx
+++ b/slideshow/source/inc/screenupdater.hxx
@@ -111,9 +111,30 @@ namespace slideshow
*/
void requestImmediateUpdate();
+ class UpdateLock {public: virtual void Activate (void) = 0; };
+
+ /** Call this method to create a lock instead of calling
+ lockUpdates() and unlockUpdates() directly.
+ @param bStartLocked
+ When <TRUE/> then the UpdateLock is created already
+ locked. When <FALSE/> then Activate() has to be called in order
+ to lock the lock.
+ */
+ ::boost::shared_ptr<UpdateLock> createLock (const bool bStartLocked);
+
+ /** Lock updates to prevent intermediate repaints.
+ */
+ void lockUpdates (void);
+
+ /** When called as often as lockUpdates() then commitUpdates()
+ is called.
+ */
+ void unlockUpdates (void);
+
private:
struct ImplScreenUpdater;
boost::scoped_ptr<ImplScreenUpdater> mpImpl;
+
};
}
}