blob: 8f3dc69bab0433da1822fe801f788e7da5be56f7
1 | /* |
2 | // Copyright(c) 2016 Amlogic Corporation |
3 | */ |
4 | |
5 | #ifndef COMPOSERS_H |
6 | #define COMPOSERS_H |
7 | |
8 | #include <IComposer.h> |
9 | |
10 | namespace android { |
11 | namespace amlogic { |
12 | |
13 | // class IComposer; |
14 | class IDisplayDevice; |
15 | |
16 | class Composers :public IComposer { |
17 | public: |
18 | Composers(IDisplayDevice& disp); |
19 | virtual ~Composers(); |
20 | |
21 | public: |
22 | |
23 | virtual bool initialize(framebuffer_info_t* fbInfo); |
24 | virtual void deinitialize(); |
25 | virtual int32_t startCompose(Vector< hwc2_layer_t > hwcLayers, int32_t *offset = 0, int32_t frameCount = 0) = 0; |
26 | virtual const char* getName() const = 0; |
27 | // virtual void setCurGlesFbSlot(uint32_t slot) = 0; |
28 | virtual const buffer_handle_t getBufHnd() = 0; |
29 | virtual void mergeRetireFence(int32_t slot, int32_t retireFence) = 0; |
30 | virtual void removeRetireFence(int32_t slot) = 0; |
31 | virtual void setVideoOverlayLayerId(hwc2_layer_t layerId) = 0; |
32 | virtual void fillRectangle(hwc_rect_t clipRect, uint32_t color, uint32_t offset, int shared_fd) = 0; |
33 | |
34 | private: |
35 | IDisplayDevice& mDisplayDevice; |
36 | |
37 | bool mInitialized; |
38 | }; |
39 | |
40 | } // namespace amlogic |
41 | } // namespace android |
42 | |
43 | |
44 | #endif /* COMPOSERS_H */ |
45 | |
46 |