Loading services/surfaceflinger/CompositionEngine/include/compositionengine/Output.h +5 −0 Original line number Diff line number Diff line Loading @@ -167,6 +167,11 @@ public: const Rect& orientedDisplaySpaceRect) = 0; // Sets the bounds to use virtual void setDisplaySize(const ui::Size&) = 0; // Gets the transform hint used in layers that belong to this output. Used to guide // composition orientation so that HW overlay can be used when display isn't in its natural // orientation on some devices. Therefore usually we only use transform hint from display // output. virtual ui::Transform::RotationFlags getTransformHint() const = 0; // Sets the layer stack filtering settings for this output. See // belongsInOutput for full details. Loading services/surfaceflinger/CompositionEngine/include/compositionengine/impl/Output.h +1 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ public: const Rect& orientedDisplaySpaceRect) override; void setDisplaySize(const ui::Size&) override; void setLayerStackFilter(uint32_t layerStackId, bool isInternal) override; ui::Transform::RotationFlags getTransformHint() const override; void setColorTransform(const compositionengine::CompositionRefreshArgs&) override; void setColorProfile(const ColorProfile&) override; Loading services/surfaceflinger/CompositionEngine/include/compositionengine/mock/Output.h +1 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ public: MOCK_METHOD3(setProjection, void(ui::Rotation, const Rect&, const Rect&)); MOCK_METHOD1(setDisplaySize, void(const ui::Size&)); MOCK_METHOD2(setLayerStackFilter, void(uint32_t, bool)); MOCK_CONST_METHOD0(getTransformHint, ui::Transform::RotationFlags()); MOCK_METHOD1(setColorTransform, void(const compositionengine::CompositionRefreshArgs&)); MOCK_METHOD1(setColorProfile, void(const ColorProfile&)); Loading services/surfaceflinger/CompositionEngine/src/Output.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -192,6 +192,10 @@ void Output::setDisplaySize(const ui::Size& size) { dirtyEntireOutput(); } ui::Transform::RotationFlags Output::getTransformHint() const { return static_cast<ui::Transform::RotationFlags>(getState().transform.getOrientation()); } void Output::setLayerStackFilter(uint32_t layerStackId, bool isInternal) { auto& outputState = editState(); outputState.layerStackId = layerStackId; Loading services/surfaceflinger/CompositionEngine/tests/OutputTest.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -268,6 +268,8 @@ TEST_F(OutputTest, setProjectionWorks) { EXPECT_EQ(orientation, state.framebufferSpace.orientation); EXPECT_EQ(state.displaySpace.content, state.transform.transform(state.layerStackSpace.content)); EXPECT_EQ(ui::Transform::ROT_90, mOutput->getTransformHint()); } TEST_F(OutputTest, setProjectionWithSmallFramebufferWorks) { Loading Loading
services/surfaceflinger/CompositionEngine/include/compositionengine/Output.h +5 −0 Original line number Diff line number Diff line Loading @@ -167,6 +167,11 @@ public: const Rect& orientedDisplaySpaceRect) = 0; // Sets the bounds to use virtual void setDisplaySize(const ui::Size&) = 0; // Gets the transform hint used in layers that belong to this output. Used to guide // composition orientation so that HW overlay can be used when display isn't in its natural // orientation on some devices. Therefore usually we only use transform hint from display // output. virtual ui::Transform::RotationFlags getTransformHint() const = 0; // Sets the layer stack filtering settings for this output. See // belongsInOutput for full details. Loading
services/surfaceflinger/CompositionEngine/include/compositionengine/impl/Output.h +1 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ public: const Rect& orientedDisplaySpaceRect) override; void setDisplaySize(const ui::Size&) override; void setLayerStackFilter(uint32_t layerStackId, bool isInternal) override; ui::Transform::RotationFlags getTransformHint() const override; void setColorTransform(const compositionengine::CompositionRefreshArgs&) override; void setColorProfile(const ColorProfile&) override; Loading
services/surfaceflinger/CompositionEngine/include/compositionengine/mock/Output.h +1 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ public: MOCK_METHOD3(setProjection, void(ui::Rotation, const Rect&, const Rect&)); MOCK_METHOD1(setDisplaySize, void(const ui::Size&)); MOCK_METHOD2(setLayerStackFilter, void(uint32_t, bool)); MOCK_CONST_METHOD0(getTransformHint, ui::Transform::RotationFlags()); MOCK_METHOD1(setColorTransform, void(const compositionengine::CompositionRefreshArgs&)); MOCK_METHOD1(setColorProfile, void(const ColorProfile&)); Loading
services/surfaceflinger/CompositionEngine/src/Output.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -192,6 +192,10 @@ void Output::setDisplaySize(const ui::Size& size) { dirtyEntireOutput(); } ui::Transform::RotationFlags Output::getTransformHint() const { return static_cast<ui::Transform::RotationFlags>(getState().transform.getOrientation()); } void Output::setLayerStackFilter(uint32_t layerStackId, bool isInternal) { auto& outputState = editState(); outputState.layerStackId = layerStackId; Loading
services/surfaceflinger/CompositionEngine/tests/OutputTest.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -268,6 +268,8 @@ TEST_F(OutputTest, setProjectionWorks) { EXPECT_EQ(orientation, state.framebufferSpace.orientation); EXPECT_EQ(state.displaySpace.content, state.transform.transform(state.layerStackSpace.content)); EXPECT_EQ(ui::Transform::ROT_90, mOutput->getTransformHint()); } TEST_F(OutputTest, setProjectionWithSmallFramebufferWorks) { Loading