diff --git a/src/gui/components/cc_draw.cpp b/src/gui/components/cc_draw.cpp index df8d36e45..238676e93 100644 --- a/src/gui/components/cc_draw.cpp +++ b/src/gui/components/cc_draw.cpp @@ -754,6 +754,7 @@ void CCDraw::hide() //erase or paint over rendered objects void CCDraw::kill(const fb_pixel_t& bg_color, const int& corner_radius, const int& fblayer_type /*fbdata_type*/) { + OnBeforeKill(); int layers = fblayer_type; if (fblayer_type & ~CC_FBDATA_TYPES) @@ -800,6 +801,8 @@ void CCDraw::kill(const fb_pixel_t& bg_color, const int& corner_radius, const in firstPaint = true; is_painted = false; + + OnAfterKill(); } void CCDraw::killShadow(const fb_pixel_t& bg_color, const int& corner_radius) diff --git a/src/gui/components/cc_signals.h b/src/gui/components/cc_signals.h index 35a854e8b..450132c26 100644 --- a/src/gui/components/cc_signals.h +++ b/src/gui/components/cc_signals.h @@ -126,6 +126,11 @@ class CComponentsSignals : public sigc::trackable ///signal on after execute hide() sigc::signal OnAfterHide; + ///signal on before execute kill() + sigc::signal OnBeforeKill; + ///signal on after execute kill() + sigc::signal OnAfterKill; + ///signal on CComponentsForm::setSelectedItem() is completed sigc::signal OnSelect; };