21 files changed, 138 insertions, 22 deletions
diff --git a/hwc2/Hwc2Display.cpp b/hwc2/Hwc2Display.cpp index bbaa9b3..154d807 100755 --- a/hwc2/Hwc2Display.cpp +++ b/hwc2/Hwc2Display.cpp @@ -10,6 +10,7 @@ #include <inttypes.h> #include "Hwc2Display.h" +#include "Hwc2Layer.h" #include "Hwc2Base.h" #include <DrmTypes.h> @@ -23,6 +24,10 @@ #include <EventThread.h> #include <systemcontrol.h> +#include "am_gralloc_ext.h" + +#include "CopyProcessor.h" + Hwc2Display::Hwc2Display(std::shared_ptr<Hwc2DisplayObserver> observer) { mObserver = observer; mForceClientComposer = false; @@ -1136,3 +1141,16 @@ void Hwc2Display::dump(String8 & dumpstr) { dumpHwDisplayPlane(dumpstr); } +int32_t Hwc2Display::captureDisplayScreen(buffer_handle_t hnd) { + int ret = -1; + std::shared_ptr<DrmFramebuffer> capBuffer; + + ALOGD("hwc2Display:: captureDisplayScreen"); + if (mPostProcessor && hnd) { + capBuffer = std::make_shared<DrmFramebuffer>(hnd, -1); + //ret = mPostProcessor->getScreencapFb(capBuffer); + capBuffer.reset(); + } + + return ret; +} |