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);
85 enum ForceCursorState { UpdateState, ForceState };
87 void place_cursor_at(
geometry::Point position, ForceCursorState force_state);
88 void place_cursor_at_locked(std::lock_guard<std::mutex>
const&,
geometry::Point position, ForceCursorState force_state);
89 void write_buffer_data_locked(std::lock_guard<std::mutex>
const&,
void const* data,
size_t count);
90 void pad_and_write_image_data_locked(std::lock_guard<std::mutex>
const&,
CursorImage const& image);
102 GBMBOWrapper(gbm_device* gbm);
107 GBMBOWrapper(GBMBOWrapper
const&) =
delete;
108 GBMBOWrapper&
operator=(GBMBOWrapper
const&) =
delete;
111 uint32_t buffer_width;
112 uint32_t buffer_height;
114 std::shared_ptr<CurrentConfiguration>
const current_configuration;
All things Mir.
Definition: buffer_stream.h:37
Definition: kms_output_container.h:34
void hide() override
Definition: cursor.cpp:208
void show(CursorImage const &cursor_image) override
Definition: cursor.cpp:164
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: cursor.cpp:190
Definition: kms_display_configuration.h:33
Definition: displacement.h:32
Definition: rectangle.h:33
~Cursor() noexcept
Definition: cursor.cpp:116
void resume()
Definition: cursor.cpp:203
void suspend()
Definition: cursor.cpp:195
virtual ~CurrentConfiguration()=default