summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorArmin Le Grand <Armin.Le.Grand@cib.de>2016-06-15 17:53:52 +0200
committerThorsten Behrens <Thorsten.Behrens@CIB.de>2016-08-18 02:39:07 +0200
commit3fb0839da320bb2256b7a2dcf46363fc25bbfbc9 (patch)
tree8f31da02adb34e2cc99d49607b956e0b16ee8a96 /include
parenteab85ed43846c7304980c098522f51de7ff11da8 (diff)
screenshots: extend default paths where stuff gets written
Change-Id: I1886d832bb9474371ea27d4d36f0446b221246d0
Diffstat (limited to 'include')
-rw-r--r--include/sfx2/tabdlg.hxx3
-rw-r--r--include/vcl/abstdlg.hxx7
-rw-r--r--include/vcl/dialog.hxx12
-rw-r--r--include/vcl/window.hxx2
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);