Loading services/surfaceflinger/ScreenCaptureOutput.cpp +17 −8 Original line number Diff line number Diff line Loading @@ -24,10 +24,16 @@ namespace android { std::shared_ptr<ScreenCaptureOutput> createScreenCaptureOutput(ScreenCaptureOutputArgs&& args) { std::shared_ptr<ScreenCaptureOutput> createScreenCaptureOutput(ScreenCaptureOutputArgs args) { std::shared_ptr<ScreenCaptureOutput> output = compositionengine::impl::createOutputTemplated< ScreenCaptureOutput, compositionengine::CompositionEngine, ScreenCaptureOutputArgs&&>(args.compositionEngine, std::move(args)); ScreenCaptureOutput, compositionengine::CompositionEngine, const RenderArea&, std::unordered_set<compositionengine::LayerFE*>, const compositionengine::Output::ColorProfile&, bool>(args.compositionEngine, args.renderArea, std::move( args.filterForScreenshot), args.colorProfile, args.regionSampling); output->editState().isSecure = args.renderArea.isSecure(); output->setCompositionEnabled(true); output->setLayerFilter({args.layerStack}); Loading @@ -50,11 +56,14 @@ std::shared_ptr<ScreenCaptureOutput> createScreenCaptureOutput(ScreenCaptureOutp return output; } ScreenCaptureOutput::ScreenCaptureOutput(ScreenCaptureOutputArgs&& args) : mRenderArea(args.renderArea), mFilterForScreenshot(std::move(args.filterForScreenshot)), mColorProfile(args.colorProfile), mRegionSampling(args.regionSampling) {} ScreenCaptureOutput::ScreenCaptureOutput( const RenderArea& renderArea, std::unordered_set<compositionengine::LayerFE*> filterForScreenshot, const compositionengine::Output::ColorProfile& colorProfile, bool regionSampling) : mRenderArea(renderArea), mFilterForScreenshot(std::move(filterForScreenshot)), mColorProfile(colorProfile), mRegionSampling(regionSampling) {} void ScreenCaptureOutput::updateColorProfile(const compositionengine::CompositionRefreshArgs&) { auto& outputState = editState(); Loading services/surfaceflinger/ScreenCaptureOutput.h +5 −2 Original line number Diff line number Diff line Loading @@ -43,7 +43,10 @@ struct ScreenCaptureOutputArgs { // SurfaceFlinger::captureLayers and SurfaceFlinger::captureDisplay. class ScreenCaptureOutput : public compositionengine::impl::Output { public: ScreenCaptureOutput(ScreenCaptureOutputArgs&&); ScreenCaptureOutput(const RenderArea& renderArea, std::unordered_set<compositionengine::LayerFE*> filterForScreenshot, const compositionengine::Output::ColorProfile& colorProfile, bool regionSampling); void updateColorProfile(const compositionengine::CompositionRefreshArgs&) override; Loading @@ -64,6 +67,6 @@ private: const bool mRegionSampling; }; std::shared_ptr<ScreenCaptureOutput> createScreenCaptureOutput(ScreenCaptureOutputArgs&&); std::shared_ptr<ScreenCaptureOutput> createScreenCaptureOutput(ScreenCaptureOutputArgs); } // namespace android Loading
services/surfaceflinger/ScreenCaptureOutput.cpp +17 −8 Original line number Diff line number Diff line Loading @@ -24,10 +24,16 @@ namespace android { std::shared_ptr<ScreenCaptureOutput> createScreenCaptureOutput(ScreenCaptureOutputArgs&& args) { std::shared_ptr<ScreenCaptureOutput> createScreenCaptureOutput(ScreenCaptureOutputArgs args) { std::shared_ptr<ScreenCaptureOutput> output = compositionengine::impl::createOutputTemplated< ScreenCaptureOutput, compositionengine::CompositionEngine, ScreenCaptureOutputArgs&&>(args.compositionEngine, std::move(args)); ScreenCaptureOutput, compositionengine::CompositionEngine, const RenderArea&, std::unordered_set<compositionengine::LayerFE*>, const compositionengine::Output::ColorProfile&, bool>(args.compositionEngine, args.renderArea, std::move( args.filterForScreenshot), args.colorProfile, args.regionSampling); output->editState().isSecure = args.renderArea.isSecure(); output->setCompositionEnabled(true); output->setLayerFilter({args.layerStack}); Loading @@ -50,11 +56,14 @@ std::shared_ptr<ScreenCaptureOutput> createScreenCaptureOutput(ScreenCaptureOutp return output; } ScreenCaptureOutput::ScreenCaptureOutput(ScreenCaptureOutputArgs&& args) : mRenderArea(args.renderArea), mFilterForScreenshot(std::move(args.filterForScreenshot)), mColorProfile(args.colorProfile), mRegionSampling(args.regionSampling) {} ScreenCaptureOutput::ScreenCaptureOutput( const RenderArea& renderArea, std::unordered_set<compositionengine::LayerFE*> filterForScreenshot, const compositionengine::Output::ColorProfile& colorProfile, bool regionSampling) : mRenderArea(renderArea), mFilterForScreenshot(std::move(filterForScreenshot)), mColorProfile(colorProfile), mRegionSampling(regionSampling) {} void ScreenCaptureOutput::updateColorProfile(const compositionengine::CompositionRefreshArgs&) { auto& outputState = editState(); Loading
services/surfaceflinger/ScreenCaptureOutput.h +5 −2 Original line number Diff line number Diff line Loading @@ -43,7 +43,10 @@ struct ScreenCaptureOutputArgs { // SurfaceFlinger::captureLayers and SurfaceFlinger::captureDisplay. class ScreenCaptureOutput : public compositionengine::impl::Output { public: ScreenCaptureOutput(ScreenCaptureOutputArgs&&); ScreenCaptureOutput(const RenderArea& renderArea, std::unordered_set<compositionengine::LayerFE*> filterForScreenshot, const compositionengine::Output::ColorProfile& colorProfile, bool regionSampling); void updateColorProfile(const compositionengine::CompositionRefreshArgs&) override; Loading @@ -64,6 +67,6 @@ private: const bool mRegionSampling; }; std::shared_ptr<ScreenCaptureOutput> createScreenCaptureOutput(ScreenCaptureOutputArgs&&); std::shared_ptr<ScreenCaptureOutput> createScreenCaptureOutput(ScreenCaptureOutputArgs); } // namespace android