kwin/autotests/integration
Vlad Zagorodniy 7637cfc22b [scenes/opengl] Fix overlapping shadow tiles
Summary:
This problem appears if shadow corner tiles are too big and
some window has size smaller than 2 * shadowTileSize.

This change tries to address the problem above by exclusing
overlapping tile parts. If there are any two overlapping corners
then tile between them(top/right/bottom/left) is not rendered.

Also, because some corner tile parts can be excluded, corner tiles
are expected to be symmetrical(i.e. if we remove right half from
the top-left tile and left half from the top-right tile and
stick them together, they still look fine, there are no misalignments, etc).
Most shadows(e.g. shadows from Breeze) have such behaviour.

No tiles are overlapping

{F5728514, layout=center, size=full}

Overlapping tiles

{F5728516, layout=center, size=full}

And this is how it supposed to be

{F5728517, layout=center, size=full}

Test Plan:
* apply D11069 to Breeze
* in System Settings/Application Style/Window Decorations, choose "Very Large" shadow size
* open Konsole
* resize it to a minimum possible size

Reviewers: #kwin, graesslin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: davidedmundson, ngraham, anemeth, abetts, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D10811
2018-06-07 12:07:57 +03:00
..
data Add support for desktopFileName provided by NETWinInfo 2016-10-31 13:19:46 +01:00
effects Sanity check WindowQuad before trying to create a grid out of it 2018-03-05 19:31:51 +01:00
fakes [scenes/opengl] Fix overlapping shadow tiles 2018-06-07 12:07:57 +03:00
helper XdgV6 - Kwin side 2017-09-25 16:47:30 +01:00
scripting [autotests] Fix touch screen edge test after setting a default 2017-05-02 21:17:41 +02:00
activities_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
CMakeLists.txt [scenes/opengl] Fix overlapping shadow tiles 2018-06-07 12:07:57 +03:00
colorcorrect_nightcolor_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
debug_console_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
decoration_input_test.cpp Ensure the QToolTip on the deocration does not steal key events 2018-05-19 09:01:11 +02:00
desktop_window_x11_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
dont_crash_aurorae_destroy_deco.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
dont_crash_cancel_animation.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
dont_crash_cursor_physical_size_empty.cpp Don't crash if the cursor theme fails to create 2018-03-04 09:42:27 +01:00
dont_crash_empty_deco.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
dont_crash_glxgears.cpp Handle situation of no XDG_RUNTIME_DIR gracefully 2016-07-13 10:00:46 +02:00
dont_crash_no_border.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
dont_crash_useractions_menu.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
generic_scene_opengl_test.cpp [autotests] Drop cast to SceneOpenGL GenericSceneOpenGLTest 2017-09-08 16:06:33 +02:00
generic_scene_opengl_test.h [autotests] Test creating core context profile 2017-06-25 09:48:46 +02:00
globalshortcuts_test.cpp Don't try to filter null key combinations 2018-04-24 16:35:23 +02:00
idle_inhibition_test.cpp Add support for new IdleInhibition protocol 2017-11-30 21:51:36 +01:00
input_stacking_order.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
internal_window.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
keyboard_layout_test.cpp Add support for keyboard layout switching policy "winclass" 2017-04-22 08:15:59 +02:00
keymap_creation_failure_test.cpp Better handle cases when the xkb keymap fails to be created 2017-06-18 21:04:58 +02:00
kwin_wayland_test.cpp [autotests] Set breeze icon theme name in integration tests 2018-02-27 18:17:53 +01:00
kwin_wayland_test.h Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
kwinbindings_test.cpp [autotests] Try making KWinBindingsTest::testSwitchWindowScript more robust 2017-08-13 17:08:49 +02:00
lockscreen.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
maximize_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
modifier_only_shortcut_test.cpp [autotests] Force XKB_DEFAULT_RULES to evdev in ModifierOnlyShortcutsTest 2017-09-17 20:54:32 +02:00
move_resize_window_test.cpp XdgV6 - Kwin side 2017-09-25 16:47:30 +01:00
no_xdg_runtime_dir_test.cpp Handle situation of no XDG_RUNTIME_DIR gracefully 2016-07-13 10:00:46 +02:00
plasma_surface_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
plasmawindow_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
platformcursor.cpp Handle situation of no XDG_RUNTIME_DIR gracefully 2016-07-13 10:00:46 +02:00
pointer_constraints_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
pointer_input.cpp Merge branch 'Plasma/5.12' into Plasma/5.13 2018-05-19 09:00:43 +02:00
quick_tiling_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
scene_opengl_es_test.cpp [autotests] Introduce a SceneOpenGL ES test 2017-06-24 21:05:49 +02:00
scene_opengl_shadow_test.cpp [scenes/opengl] Fix overlapping shadow tiles 2018-06-07 12:07:57 +03:00
scene_opengl_test.cpp [autotests] Introduce a SceneOpenGL ES test 2017-06-24 21:05:49 +02:00
scene_qpainter_test.cpp Do not unset cursor image when cursor enters a surface 2018-05-19 08:58:42 +02:00
screen_changes_test.cpp Add XDG Output support 2018-05-18 14:16:13 +01:00
screenedge_client_show_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
shade_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
shell_client_rules_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
shell_client_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
showing_desktop_test.cpp Restore active client after ending showing desktop 2017-07-01 08:20:01 +02:00
start_test.cpp [autotests] Try making StartTest more robust on FreeBSD 2017-09-23 15:17:19 +02:00
struts_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
tabbox_test.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
test_helpers.cpp Port to new AppMenu iface 2017-12-22 14:38:31 +00:00
touch_input_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
transient_no_input_test.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
transient_placement.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
virtual_desktop_test.cpp Ensure _NET_CURRENT_DESKTOP is set on startup 2018-03-29 17:50:07 +02:00
window_rules_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
window_selection_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
x11_client_test.cpp Keep fullscreen windows in active layer based on transients not the group 2018-01-10 17:44:00 +01:00
xclipboardsync_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
xwayland_input_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00