19 #ifndef MIR_GRAPHICS_ANDROID_HWC_LAYERS_H_
20 #define MIR_GRAPHICS_ANDROID_HWC_LAYERS_H_
25 #include <hardware/hwcomposer.h>
28 #include <initializer_list>
53 HWCLayer(std::shared_ptr<hwc_display_contents_1_t> list,
size_t layer_index);
55 geometry::Rectangle screen_position,
57 std::shared_ptr<hwc_display_contents_1_t> list,
size_t layer_index);
59 HWCLayer& operator=(HWCLayer && layer);
60 HWCLayer(HWCLayer && layer);
62 HWCLayer& operator=(HWCLayer
const& layer) =
delete;
63 HWCLayer(HWCLayer
const& layer) =
delete;
65 void set_layer_type(LayerType type);
66 void set_render_parameters(geometry::Rectangle screen_position,
bool alpha_enabled);
67 void set_buffer(Buffer
const& buffer);
69 void update_fence_and_release_buffer();
70 bool needs_gl_render()
const;
71 bool needs_hwc_commit()
const;
72 void prepare_for_draw();
74 hwc_layer_1_t* hwc_layer;
75 std::shared_ptr<hwc_display_contents_1_t> hwc_list;
76 hwc_rect_t visible_rect;
77 std::shared_ptr<NativeBuffer> associated_buffer;
struct MirBufferPackage NativeBuffer
Definition: native_buffer.h:35