vcl/workben/vcldemo.cxx | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-)
New commits: commit b5a6d9109e2a30b344e22a6c97893bb03b71dadb Author: Michael Meeks <michael.me...@collabora.com> Date: Sat Nov 8 21:41:13 2014 +0000 vcldemo: add a virtualdevice test. Change-Id: I8ff8c74e13a128d778b487ec2818820df9d5058a diff --git a/vcl/workben/vcldemo.cxx b/vcl/workben/vcldemo.cxx index 9b314df..cae3fb0b 100644 --- a/vcl/workben/vcldemo.cxx +++ b/vcl/workben/vcldemo.cxx @@ -22,6 +22,7 @@ #include <vcl/svapp.hxx> #include <vcl/pngread.hxx> #include <vcl/wrkwin.hxx> +#include <vcl/virdev.hxx> #include <vcl/graphicfilter.hxx> #if 0 @@ -70,12 +71,12 @@ public: maIntroBW.Filter( BMP_FILTER_EMBOSS_GREY ); } - void drawToDevice(OutputDevice &r); + void drawToDevice(OutputDevice &r, bool bVdev); virtual void Paint( const Rectangle& rRect ) SAL_OVERRIDE { fprintf(stderr, "DemoWin::Paint(%ld,%ld,%ld,%ld)\n", rRect.getX(), rRect.getY(), rRect.getWidth(), rRect.getHeight()); - drawToDevice(getOutDev()); + drawToDevice(getOutDev(), false); } std::vector<Rectangle> partitionAndClear(OutputDevice &rDev, @@ -233,8 +234,19 @@ public: rDev.DrawPolyPolygon(aPolyPoly); #endif } - void fetchDrawBitmap(OutputDevice &rDev, Rectangle r) + void drawToVirtualDevice(OutputDevice &rDev, Rectangle r) + { + VirtualDevice aNested; + aNested.SetOutputSize(r.GetSize()); + Rectangle aWhole(Point(0,0), r.GetSize()); + // mini me + drawToDevice(aNested, true); + + Bitmap aBitmap(aNested.GetBitmap(Point(0,0),aWhole.GetSize())); + rDev.DrawBitmap(r.TopLeft(), aBitmap); + } + void fetchDrawBitmap(OutputDevice &rDev, Rectangle r) { // FIXME: should work ... Bitmap aBitmap(GetBitmap(Point(0,0),rDev.GetOutputSizePixel())); @@ -282,7 +294,7 @@ std::vector<Rectangle> DemoWin::partitionAndClear(OutputDevice &rDev, int nX, in return aRegions; } -void DemoWin::drawToDevice(OutputDevice &rDev) +void DemoWin::drawToDevice(OutputDevice &rDev, bool bVdev) { drawBackground(rDev); @@ -297,8 +309,10 @@ void DemoWin::drawToDevice(OutputDevice &rDev) drawBitmap(rDev, aRegions[6]); drawGradient(rDev, aRegions[7]); drawPolyPolgons(rDev, aRegions[8]); + if (!bVdev) + drawToVirtualDevice(rDev, aRegions[9]); // last - thumbnail all the above - fetchDrawBitmap(rDev, aRegions[9]); + fetchDrawBitmap(rDev, aRegions[10]); } class DemoApp : public Application _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits