summaryrefslogtreecommitdiff
path: root/vcl/inc/salgeom.hxx
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@collabora.com>2014-11-29 22:14:36 +0000
committerMarkus Mohrhard <markus.mohrhard@collabora.co.uk>2014-12-02 08:34:52 +0100
commitc31ed7004dfb3e8e37ddeb9fddf0f015b661dd12 (patch)
tree48d3069604bc35122347b6d346649c84f84ef67c /vcl/inc/salgeom.hxx
parentc22d5338fad383800b35efa458561bb89b604922 (diff)
vcl: create a GeometryProvider interface.
Implemented by both SalFrame and SalVirtualDevice, to help us to un-tangle code that needs to operate on resources associated with both of these without special cases. Change-Id: If681a002647e20c57186577fe039d4ac85bba872
Diffstat (limited to 'vcl/inc/salgeom.hxx')
-rw-r--r--vcl/inc/salgeom.hxx12
1 files changed, 12 insertions, 0 deletions
diff --git a/vcl/inc/salgeom.hxx b/vcl/inc/salgeom.hxx
index 138a6d96acdf..d54c58a0ee98 100644
--- a/vcl/inc/salgeom.hxx
+++ b/vcl/inc/salgeom.hxx
@@ -20,6 +20,8 @@
#ifndef INCLUDED_VCL_INC_SALGEOM_HXX
#define INCLUDED_VCL_INC_SALGEOM_HXX
+#include <vcl/dllapi.h>
+
typedef struct _SalFrameGeometry {
// screen position of upper left corner of drawable area in pixel
long nX, nY;
@@ -40,6 +42,16 @@ typedef struct _SalFrameGeometry {
{}
} SalFrameGeometry;
+/// Interface used to share logic on sizing between
+/// SalVirtualDevices and SalFrames
+class VCL_PLUGIN_PUBLIC SalGeometryProvider {
+public:
+ virtual ~SalGeometryProvider() {}
+ virtual long GetWidth() const = 0;
+ virtual long GetHeight() const = 0;
+ virtual bool IsOffScreen() const = 0;
+};
+
#endif // INCLUDED_VCL_INC_SALGEOM_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */