[Libreoffice-commits] core.git: include/vcl
Szymon KÅos (via logerrit)
logerrit at kemper.freedesktop.org
Wed Jun 24 09:39:14 UTC 2020
include/vcl/layout.hxx | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
New commits:
commit 3dcf7a3d221290b290aca4a7f4cb691322873fb6
Author: Szymon Kłos <szymon.klos at collabora.com>
AuthorDate: Tue Jun 16 08:07:04 2020 +0200
Commit: Szymon Kłos <szymon.klos at collabora.com>
CommitDate: Wed Jun 24 11:38:38 2020 +0200
jsdialog: generate JSON for drawing area
Change-Id: Ic9402f0f7c891868790b657cd7e9860e46f3e8e8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96852
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
Reviewed-by: Szymon Kłos <szymon.klos at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96985
Tested-by: Jenkins
diff --git a/include/vcl/layout.hxx b/include/vcl/layout.hxx
index 67e856fabdca..1081415fc4cf 100644
--- a/include/vcl/layout.hxx
+++ b/include/vcl/layout.hxx
@@ -22,7 +22,12 @@
#include <vcl/vclptr.hxx>
#include <vcl/IContext.hxx>
#include <vcl/commandevent.hxx>
+#include <tools/stream.hxx>
+#include <vcl/cvtgrf.hxx>
+#include <comphelper/base64.hxx>
+#include <vcl/virdev.hxx>
#include <set>
+#include <boost/property_tree/json_parser.hpp>
class ScrollBar;
class ScrollBar;
@@ -802,6 +807,26 @@ public:
m_xTransferHelper = rHelper;
m_nDragAction = eDNDConstants;
}
+ boost::property_tree::ptree DumpAsPropertyTree() override
+ {
+ boost::property_tree::ptree aTree(Control::DumpAsPropertyTree());
+ aTree.put("type", "drawingarea");
+ ScopedVclPtrInstance<VirtualDevice> pDevice;
+ pDevice->SetOutputSize( GetSizePixel() );
+ tools::Rectangle aRect(Point(0,0), GetSizePixel());
+ Paint(*pDevice, aRect);
+ BitmapEx aImage = pDevice->GetBitmapEx( Point(0,0), GetSizePixel() );
+ SvMemoryStream aOStm(65535, 65535);
+
+ if(GraphicConverter::Export(aOStm, aImage, ConvertDataFormat::PNG) == ERRCODE_NONE)
+ {
+ css::uno::Sequence<sal_Int8> aSeq( static_cast<sal_Int8 const *>(aOStm.GetData()), aOStm.Tell());
+ OUStringBuffer aBuffer("data:image/png;base64,");
+ ::comphelper::Base64::encode(aBuffer, aSeq);
+ aTree.put("image", aBuffer.makeStringAndClear());
+ }
+ return aTree;
+ }
};
//Get first window of a pTopLevel window as
More information about the Libreoffice-commits
mailing list