]> git.sesse.net Git - vlc/commit
skins2: improve refresh of layouts
authorErwan Tulou <erwan10@videolan.org>
Thu, 29 Jul 2010 22:13:02 +0000 (00:13 +0200)
committerErwan Tulou <erwan10@videolan.org>
Sat, 31 Jul 2010 20:48:33 +0000 (22:48 +0200)
commita1921136e0dcdc037994d34a0c12be7401f59d00
treeee828044c97a30a7ef730473f803f795775a084c
parent6fad8bffb1cdfe90c495eb19cc680f4120ecc657
skins2: improve refresh of layouts

Up to now, notification of invalidated subareas was available for controls
but yet, the layout always ended up being totally rebuilt. For instance,
 a small animated image meant a total rebuild of everything. For simple skins,
 this could go unnoticed, but old computers had much difficulty with more
 complex skins (e.g wmp11), that were mostly busy rebuilding layouts
 over and over.

This patch ensures that only what needs to be rebuilt is rebuilt. Some skins
 like wmp11 on Linux do show dramatic improvement with this one patch.
28 files changed:
modules/gui/skins2/controls/ctrl_button.cpp
modules/gui/skins2/controls/ctrl_button.hpp
modules/gui/skins2/controls/ctrl_checkbox.cpp
modules/gui/skins2/controls/ctrl_checkbox.hpp
modules/gui/skins2/controls/ctrl_generic.cpp
modules/gui/skins2/controls/ctrl_generic.hpp
modules/gui/skins2/controls/ctrl_image.cpp
modules/gui/skins2/controls/ctrl_image.hpp
modules/gui/skins2/controls/ctrl_list.cpp
modules/gui/skins2/controls/ctrl_list.hpp
modules/gui/skins2/controls/ctrl_move.cpp
modules/gui/skins2/controls/ctrl_move.hpp
modules/gui/skins2/controls/ctrl_radialslider.cpp
modules/gui/skins2/controls/ctrl_radialslider.hpp
modules/gui/skins2/controls/ctrl_resize.cpp
modules/gui/skins2/controls/ctrl_resize.hpp
modules/gui/skins2/controls/ctrl_slider.cpp
modules/gui/skins2/controls/ctrl_slider.hpp
modules/gui/skins2/controls/ctrl_text.cpp
modules/gui/skins2/controls/ctrl_text.hpp
modules/gui/skins2/controls/ctrl_tree.cpp
modules/gui/skins2/controls/ctrl_tree.hpp
modules/gui/skins2/controls/ctrl_video.cpp
modules/gui/skins2/controls/ctrl_video.hpp
modules/gui/skins2/src/anim_bitmap.cpp
modules/gui/skins2/src/anim_bitmap.hpp
modules/gui/skins2/src/generic_layout.cpp
modules/gui/skins2/utils/pointer.hpp