[enhancement] Set custom cursors
Bug #1380463 reported by
Robert Ancell
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mir |
Fix Released
|
High
|
Robert Carr | ||
mir (Ubuntu) |
Fix Released
|
High
|
Unassigned |
Bug Description
We can now set cursors from a fixed set of named cursors. Toolkits expect to be able to create their own cursors - will Mir support this?
Related branches
lp:~mir-team/mir/animated-cursors
- Daniel van Vugt: Abstain
- PS Jenkins bot (community): Approve (continuous-integration)
- Andreas Pokorny (community): Approve
- Alan Griffiths: Abstain
- Chris Halse Rogers: Approve
- Kevin DuBois (community): Needs Information
-
Diff: 3326 lines (+1541/-197)71 files modifiedexamples/CMakeLists.txt (+7/-0)
examples/animated_cursor_demo_client.c (+90/-0)
include/client/mir_toolkit/mir_buffer_stream.h (+89/-9)
include/client/mir_toolkit/mir_cursor_configuration.h (+14/-0)
include/common/mir/frontend/buffer_stream_id.h (+33/-0)
include/platform/mir/graphics/buffer.h (+2/-0)
include/server/mir/frontend/buffer_stream.h (+66/-0)
include/server/mir/frontend/session.h (+7/-0)
include/server/mir/frontend/surface.h (+6/-1)
include/server/mir/scene/session.h (+5/-0)
include/server/mir/scene/surface.h (+2/-2)
src/client/buffer_stream.cpp (+85/-1)
src/client/buffer_stream.h (+19/-0)
src/client/client_buffer_stream.h (+12/-1)
src/client/client_buffer_stream_factory.h (+8/-0)
src/client/cursor_configuration.h (+12/-0)
src/client/default_client_buffer_stream_factory.cpp (+7/-0)
src/client/default_client_buffer_stream_factory.h (+4/-0)
src/client/mir_buffer_stream_api.cpp (+91/-10)
src/client/mir_cursor_api.cpp (+24/-2)
src/client/mir_surface.cpp (+14/-2)
src/client/rpc/mir_protobuf_rpc_channel.cpp (+6/-0)
src/client/symbols.map (+5/-0)
src/platforms/android/server/buffer.cpp (+23/-0)
src/platforms/android/server/buffer.h (+1/-0)
src/platforms/mesa/server/gbm_buffer.cpp (+5/-0)
src/platforms/mesa/server/gbm_buffer.h (+1/-0)
src/platforms/mesa/server/shm_buffer.cpp (+5/-0)
src/platforms/mesa/server/shm_buffer.h (+1/-0)
src/protobuf/mir_protobuf.proto (+15/-1)
src/server/compositor/temporary_buffers.cpp (+5/-0)
src/server/compositor/temporary_buffers.h (+1/-0)
src/server/frontend/CMakeLists.txt (+1/-1)
src/server/frontend/buffer_stream_tracker.cpp (+16/-12)
src/server/frontend/buffer_stream_tracker.h (+19/-18)
src/server/frontend/protobuf_message_processor.cpp (+14/-0)
src/server/frontend/protobuf_message_processor.h (+1/-0)
src/server/frontend/session_mediator.cpp (+117/-15)
src/server/frontend/session_mediator.h (+15/-4)
src/server/scene/CMakeLists.txt (+1/-0)
src/server/scene/application_session.cpp (+47/-8)
src/server/scene/application_session.h (+10/-1)
src/server/scene/basic_surface.cpp (+128/-2)
src/server/scene/basic_surface.h (+8/-0)
src/server/scene/default_configuration.cpp (+1/-0)
src/server/scene/session_manager.cpp (+3/-1)
src/server/scene/session_manager.h (+3/-1)
src/server/scene/surfaceless_buffer_stream.cpp (+84/-0)
src/server/scene/surfaceless_buffer_stream.h (+59/-0)
tests/acceptance-tests/throwback/test_client_cursor_api.cpp (+51/-1)
tests/include/mir_test_doubles/mock_buffer.h (+1/-0)
tests/include/mir_test_doubles/mock_client_buffer_stream.h (+5/-0)
tests/include/mir_test_doubles/mock_client_buffer_stream_factory.h (+3/-0)
tests/include/mir_test_doubles/mock_frontend_surface.h (+6/-0)
tests/include/mir_test_doubles/mock_scene_session.h (+5/-0)
tests/include/mir_test_doubles/stub_buffer.h (+11/-0)
tests/include/mir_test_doubles/stub_buffer_stream_factory.h (+39/-0)
tests/include/mir_test_doubles/stub_client_buffer_stream_factory.h (+10/-2)
tests/include/mir_test_doubles/stub_scene_session.h (+13/-0)
tests/include/mir_test_doubles/stub_scene_surface.h (+2/-0)
tests/include/mir_test_doubles/stub_session.h (+12/-0)
tests/integration-tests/frontend/test_session_mediator_report.cpp (+1/-1)
tests/integration-tests/test_default_window_manager.cpp (+3/-0)
tests/integration-tests/test_session.cpp (+2/-0)
tests/unit-tests/frontend/stress_protobuf_communicator.cpp (+1/-1)
tests/unit-tests/frontend/test_client_buffer_tracker.cpp (+85/-85)
tests/unit-tests/frontend/test_session_mediator.cpp (+13/-9)
tests/unit-tests/scene/test_abstract_shell.cpp (+2/-0)
tests/unit-tests/scene/test_application_session.cpp (+77/-6)
tests/unit-tests/scene/test_session_manager.cpp (+5/-0)
tests/unit-tests/shell/test_default_window_manager.cpp (+2/-0)
tags: | added: gtk-mir |
tags: | added: next |
Changed in mir: | |
importance: | Medium → High |
Changed in mir: | |
milestone: | none → 0.13.0 |
summary: |
- Can't create custom cursors + [enhancement] Create custom cursors |
summary: |
- [enhancement] Create custom cursors + [enhancement] Set custom cursors |
Changed in mir (Ubuntu): | |
importance: | Undecided → High |
status: | New → Triaged |
Changed in mir: | |
status: | Fix Committed → Fix Released |
Changed in xmir: | |
status: | Confirmed → Fix Released |
To post a comment you must log in.
Confirmed. We still seem to be missing an API to allow clients/toolkits to provide their own cursors.