summaryrefslogtreecommitdiff
path: root/arm64/include/frameworks/native/libs/gui/include
diff options
context:
space:
mode:
Diffstat (limited to 'arm64/include/frameworks/native/libs/gui/include')
-rw-r--r--arm64/include/frameworks/native/libs/gui/include/gui/LayerState.h14
-rw-r--r--arm64/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h4
2 files changed, 17 insertions, 1 deletions
diff --git a/arm64/include/frameworks/native/libs/gui/include/gui/LayerState.h b/arm64/include/frameworks/native/libs/gui/include/gui/LayerState.h
index e60f677..39dbe9e 100644
--- a/arm64/include/frameworks/native/libs/gui/include/gui/LayerState.h
+++ b/arm64/include/frameworks/native/libs/gui/include/gui/LayerState.h
@@ -25,6 +25,7 @@
#include <gui/ITransactionCompletedListener.h>
#include <math/mat4.h>
+#include <android/gui/DropInputMode.h>
#ifndef NO_INPUT
#include <input/InputWindow.h>
#endif
@@ -105,6 +106,8 @@ struct layer_state_t {
eBackgroundBlurRadiusChanged = 0x80'00000000,
eProducerDisconnect = 0x100'00000000,
eFixedTransformHintChanged = 0x200'00000000,
+ eTrustedOverlayChanged = 0x400'00000000,
+ eDropInputModeChanged = 0x8000'00000000,
};
layer_state_t()
@@ -139,7 +142,9 @@ struct layer_state_t {
frameRateSelectionPriority(-1),
frameRate(0.0f),
frameRateCompatibility(ANATIVEWINDOW_FRAME_RATE_COMPATIBILITY_DEFAULT),
- fixedTransformHint(ui::Transform::ROT_INVALID) {
+ fixedTransformHint(ui::Transform::ROT_INVALID),
+ isTrustedOverlay(false),
+ dropInputMode(gui::DropInputMode::NONE) {
matrix.dsdx = matrix.dtdy = 1.0f;
matrix.dsdy = matrix.dtdx = 0.0f;
hdrMetadata.validTypes = 0;
@@ -237,6 +242,13 @@ struct layer_state_t {
// a buffer of a different size. -1 means the transform hint is not set,
// otherwise the value will be a valid ui::Rotation.
ui::Transform::RotationFlags fixedTransformHint;
+
+ // An inherited state that indicates that this surface control and its children
+ // should be trusted for input occlusion detection purposes
+ bool isTrustedOverlay;
+
+ // Force inputflinger to drop all input events for the layer and its children.
+ gui::DropInputMode dropInputMode;
};
struct ComposerState {
diff --git a/arm64/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h b/arm64/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h
index adcb898..2e189e5 100644
--- a/arm64/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h
+++ b/arm64/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h
@@ -529,6 +529,10 @@ public:
// a buffer of a different size.
Transaction& setFixedTransformHint(const sp<SurfaceControl>& sc, int32_t transformHint);
+ // Sets that this surface control and its children are trusted overlays for input
+ Transaction& setTrustedOverlay(const sp<SurfaceControl>& sc, bool isTrustedOverlay);
+
+ Transaction& setDropInputMode(const sp<SurfaceControl>& sc, gui::DropInputMode mode);
status_t setDisplaySurface(const sp<IBinder>& token,
const sp<IGraphicBufferProducer>& bufferProducer);