diff --git a/src/gui/components/cc_base.h b/src/gui/components/cc_base.h index b697deda6..d6420f0c0 100644 --- a/src/gui/components/cc_base.h +++ b/src/gui/components/cc_base.h @@ -26,7 +26,6 @@ #define __CC_BASE__ #include "cc_types.h" -#include "cc_signals.h" #include "cc_draw.h" /// Basic component class. @@ -34,7 +33,7 @@ Basic attributes and member functions for component sub classes */ -class CComponents : public CComponentsSignals, public CCDraw +class CComponents : public CCDraw { protected: diff --git a/src/gui/components/cc_draw.cpp b/src/gui/components/cc_draw.cpp index 63f53f0a9..f5c283c72 100644 --- a/src/gui/components/cc_draw.cpp +++ b/src/gui/components/cc_draw.cpp @@ -465,6 +465,9 @@ void CCDraw::enablePaintCache(bool enable) //paint framebuffer layers void CCDraw::paintFbItems(bool do_save_bg) { + //pick up signal if filled + OnBeforePaintLayers(); + //first modify background handling enableSaveBg(do_save_bg); @@ -609,6 +612,8 @@ void CCDraw::paintFbItems(bool do_save_bg) } } } + //pick up signal if filled + OnAfterPaintLayers(); } diff --git a/src/gui/components/cc_draw.h b/src/gui/components/cc_draw.h index 989a2ee5f..1381b0f31 100644 --- a/src/gui/components/cc_draw.h +++ b/src/gui/components/cc_draw.h @@ -26,6 +26,7 @@ #define __CC_DRAW__ #include "cc_types.h" +#include "cc_signals.h" #include #include #include @@ -35,7 +36,7 @@ Basic paint attributes and member functions for component classes */ -class CCDraw : public COSDFader +class CCDraw : public COSDFader, public CComponentsSignals { protected: ///pixel buffer handling, returns pixel buffer depends of given parameters @@ -294,6 +295,11 @@ class CCDraw : public COSDFader ///paint item, same like paint(CC_SAVE_SCREEN_NO) but without any argument virtual void paint0(){paint(CC_SAVE_SCREEN_NO);} + ///signal on before paint fb layers, called inside paintFbItems() + sigc::signal OnBeforePaintLayers; + ///signal on after paint fb layers, called inside paintFbItems() + sigc::signal OnAfterPaintLayers; + /*! Removes current item from screen and restore last displayed background before item was painted and