summaryrefslogtreecommitdiffstats
path: root/services/surfaceflinger/SurfaceFlinger.h
diff options
context:
space:
mode:
authorRaj Kamal <rkamal@codeaurora.org>2015-06-23 12:55:15 -0700
committerLinux Build Service Account <lnxbuild@localhost>2015-10-06 03:22:25 -0600
commit20f9ced88123b0daca067ca55f1dc96c8b7b02e3 (patch)
tree774e7b179ead74ef6b9fb8f7566c75c02c466b60 /services/surfaceflinger/SurfaceFlinger.h
parent8eaa19460dcaaead5987332580ac338e20af456b (diff)
downloadframeworks_native-20f9ced88123b0daca067ca55f1dc96c8b7b02e3.zip
frameworks_native-20f9ced88123b0daca067ca55f1dc96c8b7b02e3.tar.gz
frameworks_native-20f9ced88123b0daca067ca55f1dc96c8b7b02e3.tar.bz2
SurfaceFlinger: Add support for DisplayUtils
Add DisplayUtils class which uses the custom implementations of ExLayer, ExSurfaceFlinger, ExHWComposer, and ExVirtualDisplaySurface classes if needed Change-Id: Ibdd8da5d3d0d602f42b76a15d0994c6aa98bee3f
Diffstat (limited to 'services/surfaceflinger/SurfaceFlinger.h')
-rw-r--r--services/surfaceflinger/SurfaceFlinger.h36
1 files changed, 35 insertions, 1 deletions
diff --git a/services/surfaceflinger/SurfaceFlinger.h b/services/surfaceflinger/SurfaceFlinger.h
index 3759a92..bb0bfc4 100644
--- a/services/surfaceflinger/SurfaceFlinger.h
+++ b/services/surfaceflinger/SurfaceFlinger.h
@@ -84,6 +84,8 @@ class SurfaceFlinger : public BnSurfaceComposer,
private HWComposer::EventHandler
{
public:
+ friend class ExSurfaceFlinger;
+
static char const* getServiceName() ANDROID_API {
return "SurfaceFlinger";
}
@@ -235,6 +237,38 @@ private:
virtual void onHotplugReceived(int disp, bool connected);
/* ------------------------------------------------------------------------
+ * Extensions
+ */
+ virtual void updateExtendedMode() { }
+
+ virtual void getIndexLOI(size_t /*dpy*/,
+ const LayerVector& /*currentLayers*/,
+ bool& /*bIgnoreLayers*/,
+ int& /*indexLOI*/) { }
+
+ virtual bool updateLayerVisibleNonTransparentRegion(
+ const int& dpy, const sp<Layer>& layer,
+ bool& bIgnoreLayers, int& indexLOI,
+ uint32_t layerStack, const int& i);
+
+ virtual void delayDPTransactionIfNeeded(
+ const Vector<DisplayState>& /*displays*/) { }
+
+ virtual bool canDrawLayerinScreenShot(
+ const sp<const DisplayDevice>& hw,
+ const sp<Layer>& layer);
+
+ virtual void isfreezeSurfacePresent(
+ bool& freezeSurfacePresent,
+ const sp<const DisplayDevice>& /*hw*/,
+ const int32_t& /*id*/) { freezeSurfacePresent = false; }
+
+ virtual void setOrientationEventControl(
+ bool& /*freezeSurfacePresent*/,
+ const int32_t& /*id*/) { }
+
+ virtual void updateVisibleRegionsDirty() { }
+ /* ------------------------------------------------------------------------
* Message handling
*/
void waitForEvent();
@@ -373,7 +407,7 @@ private:
* Compositing
*/
void invalidateHwcGeometry();
- static void computeVisibleRegions(
+ void computeVisibleRegions(size_t dpy,
const LayerVector& currentLayers, uint32_t layerStack,
Region& dirtyRegion, Region& opaqueRegion);