diff options
author | Armin Le Grand <Armin.Le.Grand@cib.de> | 2016-06-15 17:53:52 +0200 |
---|---|---|
committer | Thorsten Behrens <Thorsten.Behrens@CIB.de> | 2016-08-18 02:39:07 +0200 |
commit | 3fb0839da320bb2256b7a2dcf46363fc25bbfbc9 (patch) | |
tree | 8f31da02adb34e2cc99d49607b956e0b16ee8a96 /include | |
parent | eab85ed43846c7304980c098522f51de7ff11da8 (diff) |
screenshots: extend default paths where stuff gets written
Change-Id: I1886d832bb9474371ea27d4d36f0446b221246d0
Diffstat (limited to 'include')
-rw-r--r-- | include/sfx2/tabdlg.hxx | 3 | ||||
-rw-r--r-- | include/vcl/abstdlg.hxx | 7 | ||||
-rw-r--r-- | include/vcl/dialog.hxx | 12 | ||||
-rw-r--r-- | include/vcl/window.hxx | 2 |
4 files changed, 23 insertions, 1 deletions
diff --git a/include/sfx2/tabdlg.hxx b/include/sfx2/tabdlg.hxx index b374cddb2fb0..85429068d0a8 100644 --- a/include/sfx2/tabdlg.hxx +++ b/include/sfx2/tabdlg.hxx @@ -203,6 +203,9 @@ public: bool Apply(); virtual FactoryFunction GetUITestFactory() const override; + // Screenshot interface + virtual std::vector<OUString> getAllPageUIXMLDescriptions() const override; + virtual void selectPageByUIXMLDescription(const OUString& rUIXMLDescription) override; }; namespace sfx { class ItemConnectionBase; } diff --git a/include/vcl/abstdlg.hxx b/include/vcl/abstdlg.hxx index 25b28c7d5510..da45dbe2f13a 100644 --- a/include/vcl/abstdlg.hxx +++ b/include/vcl/abstdlg.hxx @@ -26,13 +26,18 @@ namespace vcl { class Window; } class ResId; class Dialog; +class Bitmap; class VCL_DLLPUBLIC VclAbstractDialog { public: virtual ~VclAbstractDialog(); - virtual short Execute() = 0; + + // Screenshot interface + virtual std::vector<OUString> getAllPageUIXMLDescriptions() const; + virtual void selectPageByUIXMLDescription(const OUString& rUIXMLDescription); + virtual Bitmap createScreenshot() const; }; class VCL_DLLPUBLIC VclAbstractDialog2 diff --git a/include/vcl/dialog.hxx b/include/vcl/dialog.hxx index 466b3e36d8d8..a1ec41f9825d 100644 --- a/include/vcl/dialog.hxx +++ b/include/vcl/dialog.hxx @@ -42,6 +42,7 @@ private: bool mbInExecute; bool mbInClose; bool mbModalMode; + bool mbPaintComplete; InitFlag mnInitFlag; // used for deferred init VclPtr<VclButtonBox> mpActionArea; @@ -93,6 +94,17 @@ public: virtual bool Close() override; + // try to extract content and return as Bitmap. To do that reliably, a Yield-loop + // like in Execute() has to be executed and it is necessary to detect when the + // paint is finished + virtual void PrePaint(vcl::RenderContext& rRenderContext) override; + virtual void PostPaint(vcl::RenderContext& rRenderContext) override; + + // Screenshot interface + virtual std::vector<OUString> getAllPageUIXMLDescriptions() const; + virtual void selectPageByUIXMLDescription(const OUString& rUIXMLDescription); + Bitmap createScreenshot(); + virtual short Execute(); bool IsInExecute() const { return mbInExecute; } diff --git a/include/vcl/window.hxx b/include/vcl/window.hxx index ef5135bd1be1..b8211dec0a32 100644 --- a/include/vcl/window.hxx +++ b/include/vcl/window.hxx @@ -804,6 +804,8 @@ public: virtual void KeyUp( const KeyEvent& rKEvt ); virtual void PrePaint(vcl::RenderContext& rRenderContext); virtual void Paint(vcl::RenderContext& rRenderContext, const Rectangle& rRect); + virtual void PostPaint(vcl::RenderContext& rRenderContext); + using OutputDevice::Erase; void Erase(vcl::RenderContext& rRenderContext); |