blob: 011faa6c8fba4ecba008deb755e5f3bf696cd8b4
1 | /* |
2 | // Copyright(c) 2016 Amlogic Corporation |
3 | */ |
4 | #ifndef ICOMPOSER_H |
5 | #define ICOMPOSER_H |
6 | |
7 | #include <HwcLayer.h> |
8 | |
9 | namespace android { |
10 | namespace amlogic { |
11 | |
12 | // aml composer interface |
13 | class IComposer { |
14 | public: |
15 | IComposer() {} |
16 | virtual ~IComposer() {} |
17 | public: |
18 | virtual bool initialize(framebuffer_info_t* fbInfo) = 0; |
19 | virtual void deinitialize() = 0; |
20 | virtual int32_t startCompose(Vector< hwc2_layer_t > hwcLayers, int32_t *offset = 0, int32_t frameCount = 0) = 0; |
21 | virtual const char* getName() const = 0; |
22 | // virtual void setCurGlesFbSlot(uint32_t slot) = 0; |
23 | virtual const buffer_handle_t getBufHnd() = 0; |
24 | virtual void mergeRetireFence(int32_t slot, int32_t retireFence) = 0; |
25 | virtual void removeRetireFence(int32_t slot) = 0; |
26 | virtual void setVideoOverlayLayerId(hwc2_layer_t layerId) = 0; |
27 | virtual void fillRectangle(hwc_rect_t clipRect, uint32_t color, uint32_t offset, int shared_fd) = 0; |
28 | }; |
29 | |
30 | } |
31 | } |
32 | |
33 | #endif /* IDISPLAY_DEVICE_H */ |
34 |