Summary: This change fixes the hotspot calculation by introducing a dedicated matrix to map the hotspot. To better test the hotspot a small test application is added. The app renders a red point at the cursor position and uses a cross for cursor with the hotspot position being transparent. So if KWin renders the cursor at the correct position a red point is visible in the center of the cross. The test app supports several cursor hotspot positions: * center (default) * top left * top right * bottom right * bottom left To switch between the variants press the space key. Test Plan: Rotated screen, used test app to verify the hotspot is correct. Also scaled display, still correct Reviewers: #kwin, #plasma Subscribers: plasma-devel, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D8668
45 lines
1.9 KiB
CMake
45 lines
1.9 KiB
CMake
if (XCB_ICCCM_FOUND)
|
|
set(normalhintsbasesizetest_SRCS normalhintsbasesizetest.cpp)
|
|
add_executable(normalhintsbasesizetest ${normalhintsbasesizetest_SRCS})
|
|
target_link_libraries(normalhintsbasesizetest XCB::XCB XCB::ICCCM KF5::WindowSystem)
|
|
endif()
|
|
|
|
# next target
|
|
set(screenedgeshowtest_SRCS screenedgeshowtest.cpp)
|
|
add_executable(screenedgeshowtest ${screenedgeshowtest_SRCS})
|
|
target_link_libraries(screenedgeshowtest Qt5::Widgets Qt5::X11Extras KF5::ConfigCore KF5::WindowSystem KF5::WaylandClient ${XCB_XCB_LIBRARY})
|
|
|
|
if (KF5Wayland_FOUND)
|
|
add_definitions(-DSOURCE_DIR="${KWIN_SOURCE_DIR}")
|
|
set(waylandclienttest_SRCS
|
|
waylandclienttest.cpp
|
|
)
|
|
add_executable(waylandclienttest ${waylandclienttest_SRCS})
|
|
target_link_libraries(waylandclienttest Qt5::Core Qt5::Gui KF5::WaylandClient)
|
|
endif()
|
|
|
|
if (HAVE_INPUT)
|
|
set(libinputtest_SRCS
|
|
libinputtest.cpp
|
|
${KWIN_SOURCE_DIR}/libinput/context.cpp
|
|
${KWIN_SOURCE_DIR}/libinput/connection.cpp
|
|
${KWIN_SOURCE_DIR}/libinput/device.cpp
|
|
${KWIN_SOURCE_DIR}/libinput/events.cpp
|
|
${KWIN_SOURCE_DIR}/libinput/libinput_logging.cpp
|
|
${KWIN_SOURCE_DIR}/logind.cpp
|
|
${KWIN_SOURCE_DIR}/udev.cpp
|
|
)
|
|
add_executable(libinputtest ${libinputtest_SRCS})
|
|
add_definitions(-DKWIN_BUILD_TESTING)
|
|
target_link_libraries(libinputtest Qt5::Core Qt5::DBus Libinput::Libinput ${UDEV_LIBS} KF5::ConfigCore KF5::GlobalAccel KF5::WindowSystem)
|
|
endif()
|
|
|
|
add_executable(x11shadowreader x11shadowreader.cpp)
|
|
target_link_libraries(x11shadowreader XCB::XCB Qt5::Widgets Qt5::X11Extras KF5::ConfigCore KF5::WindowSystem)
|
|
|
|
add_executable(pointergestures pointergesturestest.cpp)
|
|
add_definitions(-DDIR="${CMAKE_CURRENT_SOURCE_DIR}")
|
|
target_link_libraries(pointergestures Qt5::Gui Qt5::Quick KF5::WaylandClient)
|
|
|
|
add_executable(cursorhotspottest cursorhotspottest.cpp)
|
|
target_link_libraries(cursorhotspottest Qt5::Widgets)
|