20 #ifndef MIR_GRAPHICS_MESA_CURSOR_H_
21 #define MIR_GRAPHICS_MESA_CURSOR_H_
46 class KMSOutputContainer;
48 class KMSDisplayConfiguration;
71 std::shared_ptr<CurrentConfiguration>
const& current_configuration,
72 std::shared_ptr<CursorImage>
const& cursor_image);
86 enum ForceCursorState { UpdateState, ForceState };
88 void place_cursor_at(
geometry::Point position, ForceCursorState force_state);
89 void place_cursor_at_locked(std::lock_guard<std::mutex>
const&,
geometry::Point position, ForceCursorState force_state);
90 void write_buffer_data_locked(std::lock_guard<std::mutex>
const&,
void const* data,
size_t count);
91 void pad_and_write_image_data_locked(std::lock_guard<std::mutex>
const&,
CursorImage const& image);
103 GBMBOWrapper(gbm_device* gbm);
108 GBMBOWrapper(GBMBOWrapper
const&) =
delete;
109 GBMBOWrapper&
operator=(GBMBOWrapper
const&) =
delete;
112 uint32_t buffer_width;
113 uint32_t buffer_height;
115 std::shared_ptr<CurrentConfiguration>
const current_configuration;
All things Mir.
Definition: atomic_callback.h:25
Definition: kms_output_container.h:34
Definition: kms_output.h:37
CurrentConfiguration & operator=(CurrentConfiguration const &)=delete
Definition: cursor_image.h:30
virtual void with_current_configuration_do(std::function< void(KMSDisplayConfiguration const &)> const &exec)=0
Cursor & operator=(Cursor const &)=delete
CurrentConfiguration()=default
void move_to(geometry::Point position) override
Definition: kms_display_configuration.h:33
Definition: displacement.h:32
Definition: rectangle.h:33
void suspend()
Definition: cursor.cpp:205
virtual ~CurrentConfiguration()=default