summaryrefslogtreecommitdiffstats
path: root/cui/source/inc/cuigrfflt.hxx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2014-01-31 09:57:37 +0000
committerCaolán McNamara <caolanm@redhat.com>2014-01-31 21:21:37 +0000
commit344a1abd2f28f4556746f72a06358a08dd23abbe (patch)
tree299581c3fe10457dbb9809e74a0f1f491e0be40a /cui/source/inc/cuigrfflt.hxx
parentGraphicFilterDialog->oldGraphicFilterDialog (diff)
downloadcore-344a1abd2f28f4556746f72a06358a08dd23abbe.tar.gz
core-344a1abd2f28f4556746f72a06358a08dd23abbe.zip
introduce a layout aware GraphicFilterDialog
Change-Id: I932e4be6b7f4a2717748de561c424302ef429d63
Diffstat (limited to 'cui/source/inc/cuigrfflt.hxx')
-rw-r--r--cui/source/inc/cuigrfflt.hxx62
1 files changed, 58 insertions, 4 deletions
diff --git a/cui/source/inc/cuigrfflt.hxx b/cui/source/inc/cuigrfflt.hxx
index b4fcfac12fa1..04d8da269bd7 100644
--- a/cui/source/inc/cuigrfflt.hxx
+++ b/cui/source/inc/cuigrfflt.hxx
@@ -32,10 +32,6 @@
#include <svx/dlgctrl.hxx>
#include <svx/rectenum.hxx>
-// -----------------------
-// - oldGraphicFilterDialog -
-// -----------------------
-
class oldGraphicFilterDialog : public ModalDialog
{
private:
@@ -84,6 +80,64 @@ public:
virtual Graphic GetFilteredGraphic( const Graphic& rGraphic, double fScaleX, double fScaleY ) = 0;
};
+class GraphicFilterDialog : public ModalDialog
+{
+private:
+
+ class PreviewWindow : public Control
+ {
+ private:
+ const Graphic* mpOrigGraphic;
+ Graphic maScaledOrig;
+ Graphic maPreview;
+ double mfScaleX;
+ double mfScaleY;
+
+ virtual void Paint(const Rectangle& rRect);
+ virtual void Resize();
+ virtual Size GetOptimalSize() const;
+
+ void ScaleImageToFit();
+
+ public:
+
+ PreviewWindow(Window* pParent, WinBits nStyle);
+ void init(const Graphic *pOrigGraphic)
+ {
+ mpOrigGraphic = pOrigGraphic;
+ ScaleImageToFit();
+ }
+
+ void SetPreview(const Graphic& rGraphic);
+ const Graphic& GetScaledOriginal() const { return maScaledOrig; }
+ double GetScaleX() const { return mfScaleX; }
+ double GetScaleY() const { return mfScaleY; }
+ };
+
+private:
+
+ Timer maTimer;
+ Link maModifyHdl;
+ Size maSizePixel;
+ bool bIsBitmap;
+
+ DECL_LINK(ImplPreviewTimeoutHdl, void *);
+ DECL_LINK( ImplModifyHdl, void* p );
+
+protected:
+ PreviewWindow* mpPreview;
+
+ const Link& GetModifyHdl() const { return maModifyHdl; }
+ const Size& GetGraphicSizePixel() const { return maSizePixel; }
+
+public:
+
+ GraphicFilterDialog(Window* pParent, const OString& rID, const OUString& rUIXMLDescription, const Graphic& rGraphic);
+
+ virtual Graphic GetFilteredGraphic( const Graphic& rGraphic, double fScaleX, double fScaleY ) = 0;
+};
+
+
// -------------------------
// - GraphicFilterSmooth -
// -------------------------