summaryrefslogtreecommitdiff
path: root/hwc2/common/composers/Composers.h (plain)
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
10namespace android {
11namespace amlogic {
12
13// class IComposer;
14class IDisplayDevice;
15
16class Composers :public IComposer {
17public:
18 Composers(IDisplayDevice& disp);
19 virtual ~Composers();
20
21public:
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
34private:
35 IDisplayDevice& mDisplayDevice;
36
37 bool mInitialized;
38};
39
40} // namespace amlogic
41} // namespace android
42
43
44#endif /* COMPOSERS_H */
45
46