summaryrefslogtreecommitdiff
path: root/vcl/inc
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@suse.com>2012-02-25 14:13:08 +0000
committerMichael Meeks <michael.meeks@suse.com>2012-02-25 14:17:57 +0000
commit9ab611a652334a98ba7922ee6a53b61bbcc4892f (patch)
treeb12763802820f501f85148b19748538e54227e84 /vcl/inc
parent7e454a3e3dc7f7f85a623ab6a7afab6f40bccaa6 (diff)
android: move DamageTracker concept into SvpSalFrame and try to use it
Diffstat (limited to 'vcl/inc')
-rw-r--r--vcl/inc/android/androidinst.hxx5
-rw-r--r--vcl/inc/headless/svpframe.hxx11
-rw-r--r--vcl/inc/unx/gtk/gtkframe.hxx2
3 files changed, 16 insertions, 2 deletions
diff --git a/vcl/inc/android/androidinst.hxx b/vcl/inc/android/androidinst.hxx
index 10d17c53b8b5..9f8d22f98645 100644
--- a/vcl/inc/android/androidinst.hxx
+++ b/vcl/inc/android/androidinst.hxx
@@ -38,6 +38,7 @@
#include <headless/svpinst.hxx>
#include <headless/svpframe.hxx>
+class AndroidSalFrame;
class AndroidSalInstance : public SvpSalInstance
{
void BlitFrameToWindow(ANativeWindow_Buffer *pOutBuffer,
@@ -64,10 +65,12 @@ public:
void RedrawWindows(ANativeWindow *pWindow);
SalFrame *getFocusFrame() const;
+ void damaged(AndroidSalFrame *frame, const Rectangle &rRect);
protected:
virtual void DoReleaseYield( int nTimeoutMS );
struct android_app *mpApp;
- bool mbQueueReDraw;
+ Region maRedrawRegion;
+ bool mbQueueReDraw;
private:
EGLDisplay mxDisplay;
diff --git a/vcl/inc/headless/svpframe.hxx b/vcl/inc/headless/svpframe.hxx
index 3dd896165b6e..ac8683fcf502 100644
--- a/vcl/inc/headless/svpframe.hxx
+++ b/vcl/inc/headless/svpframe.hxx
@@ -29,6 +29,7 @@
#ifndef _SVP_SVPFRAME_HXX
#include <vcl/sysdata.hxx>
+#include <basegfx/range/b2ibox.hxx>
#include <salframe.hxx>
#include "svpelement.hxx"
@@ -45,6 +46,9 @@ class SvpSalFrame : public SalFrame, public SvpElement
std::list< SvpSalFrame* > m_aChildren; // List of child frames
sal_uLong m_nStyle;
bool m_bVisible;
+ bool m_bDamageTracking;
+ bool m_bTopDown;
+ sal_Int32 m_nScanlineFormat;
long m_nMinWidth;
long m_nMinHeight;
long m_nMaxWidth;
@@ -60,12 +64,15 @@ public:
SvpSalFrame( SvpSalInstance* pInstance,
SalFrame* pParent,
sal_uLong nSalFrameStyle,
+ bool bTopDown,
+ sal_Int32 nScanlineFormat,
SystemParentData* pSystemParent = NULL );
virtual ~SvpSalFrame();
void GetFocus();
void LoseFocus();
void PostPaint(bool bImmediate) const;
+ void AllocateFrame();
// SvpElement
virtual const basebmp::BitmapDeviceSharedPtr& getDevice() const { return m_aFrame; }
@@ -121,6 +128,10 @@ public:
virtual void UnionClipRegion( long nX, long nY, long nWidth, long nHeight );
virtual void EndSetClipRegion();
+ // If enabled we can get damage notifications for regions immediately rendered to ...
+ virtual void enableDamageTracker( bool bOn = true );
+ virtual void damaged( const basegfx::B2IBox& /* rDamageRect */) {}
+
/*TODO: functional implementation */
virtual void SetScreenNumber( unsigned int nScreen ) { (void)nScreen; }
virtual void SetApplicationID(const rtl::OUString &rApplicationID) { (void) rApplicationID; }
diff --git a/vcl/inc/unx/gtk/gtkframe.hxx b/vcl/inc/unx/gtk/gtkframe.hxx
index e5fd0cf5660a..50258e0b42ec 100644
--- a/vcl/inc/unx/gtk/gtkframe.hxx
+++ b/vcl/inc/unx/gtk/gtkframe.hxx
@@ -432,7 +432,7 @@ public:
static GtkSalFrame *getFromWindow( GtkWindow *pWindow );
- virtual void damaged (const basegfx::B2IBox& rDamageRect);
+ virtual void damaged (const basegfx::B2IBox& rDamageRect);
};
#define OOO_TYPE_FIXED ooo_fixed_get_type()