CCDraw: add overloaded version of paint Blink()

It's useful to have synchronized timer for more than one item.


Origin commit data
------------------
Commit: f7ad79c371
Author: Thilo Graf <dbt@novatux.de>
Date: 2016-12-17 (Sat, 17 Dec 2016)
This commit is contained in:
2016-12-17 22:34:38 +01:00
parent d58e22b4ed
commit c98374ff73
2 changed files with 22 additions and 8 deletions

View File

@@ -738,18 +738,21 @@ void CCDraw::paintTrigger()
hide();
}
bool CCDraw::paintBlink(CComponentsTimer* Timer)
{
if (Timer){
Timer->OnTimer.connect(cc_draw_trigger_slot);
return Timer->isRun();
}
return false;
}
bool CCDraw::paintBlink(const int& interval, bool is_nano)
{
if (cc_draw_timer == NULL){
if (cc_draw_timer == NULL)
cc_draw_timer = new CComponentsTimer(interval, is_nano);
if (cc_draw_timer->OnTimer.empty()){
cc_draw_timer->OnTimer.connect(cc_draw_trigger_slot);
}
}
if (cc_draw_timer)
return cc_draw_timer->isRun();
return false;
return paintBlink(cc_draw_timer);
}
bool CCDraw::cancelBlink(bool keep_on_screen)

View File

@@ -312,6 +312,17 @@ class CCDraw : public COSDFader, public CComponentsSignals
///paint item, same like paint(CC_SAVE_SCREEN_YES) but without any argument
virtual void paint1(){paint(CC_SAVE_SCREEN_YES);}
/**paint item with blink effect
* This should work with all cc item types.
*
* @return bool returns true if effect is successful started
*
* @param[in] CComponentsTimer* pointer to timer object, Note: This object must be created and distroy outside
* of this methode.
* @see overloaded version of paintBlink()
*/
virtual bool paintBlink(CComponentsTimer* Timer);
/**paint item with blink effect
* This should work with all cc item types.
*