diff options
author | 2024-04-24 15:54:46 +0000 | |
---|---|---|
committer | 2024-04-24 15:54:46 +0000 | |
commit | 1824134a9de5411bdf99d8c66194071ff41e1afc (patch) | |
tree | d6a19a8bbb0bb0804063e45d7e5e22f9d4793ee3 /libs/hostgraphics/HostBufferQueue.cpp | |
parent | bc4eac821265b126d16bbf61805a1ba02b832bf1 (diff) | |
parent | 52f95ffc2257015c04f0310c428e66b3cf79dfbf (diff) |
Merge "Add missing methods in host version of Surface" into main
Diffstat (limited to 'libs/hostgraphics/HostBufferQueue.cpp')
-rw-r--r-- | libs/hostgraphics/HostBufferQueue.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/libs/hostgraphics/HostBufferQueue.cpp b/libs/hostgraphics/HostBufferQueue.cpp index ec304378c6c4..b4fd5d9aab3d 100644 --- a/libs/hostgraphics/HostBufferQueue.cpp +++ b/libs/hostgraphics/HostBufferQueue.cpp @@ -16,12 +16,15 @@ #include <gui/BufferQueue.h> +#include <system/window.h> + namespace android { class HostBufferQueue : public IGraphicBufferProducer, public IGraphicBufferConsumer { public: HostBufferQueue() : mWidth(0), mHeight(0) { } +// Consumer virtual status_t setConsumerIsProtected(bool isProtected) { return OK; } virtual status_t detachBuffer(int slot) { return OK; } @@ -51,6 +54,28 @@ public: virtual status_t setMaxAcquiredBufferCount(int maxAcquiredBuffers) { return OK; } virtual status_t setConsumerUsageBits(uint64_t usage) { return OK; } + +// Producer + virtual int query(int what, int* value) { + switch(what) { + case NATIVE_WINDOW_WIDTH: + *value = mWidth; + break; + case NATIVE_WINDOW_HEIGHT: + *value = mHeight; + break; + default: + *value = 0; + break; + } + return OK; + } + + virtual status_t requestBuffer(int slot, sp<GraphicBuffer>* buf) { + *buf = mBuffer; + return OK; + } + private: sp<GraphicBuffer> mBuffer; uint32_t mWidth; |