eventlist: use footer object as class member

Allows to handle paint interval only on changed button count and
avoids related possible flicker effects on unnecessary paint events.


Origin commit data
------------------
Branch: ni/coolstream
Commit: 79d3fc7a52
Author: Thilo Graf <dbt@novatux.de>
Date: 2022-02-15 (Tue, 15 Feb 2022)



------------------
This commit was generated by Migit
This commit is contained in:
2022-02-15 13:05:00 +01:00
committed by vanhofen
parent 7fa669c3fe
commit 593f0dfe04
2 changed files with 5 additions and 3 deletions

View File

@@ -121,6 +121,7 @@ CEventList::CEventList()
header = NULL;
pb = NULL;
navibar = NULL;
footer.enableShadow(CC_SHADOW_ON, -1, true);
}
CEventList::~CEventList()
@@ -705,6 +706,7 @@ int CEventList::exec(const t_channel_id channel_id, const std::string& channelna
void CEventList::hide()
{
ResetModules();
footer.kill();
frameBuffer->paintBackgroundBoxRel(x, y, full_width + OFFSET_SHADOW, height + OFFSET_SHADOW);
}
@@ -1070,9 +1072,8 @@ void CEventList::paintFoot(t_channel_id channel_id)
buttons[btn_cnt].locale = LOCALE_TIMERLIST_NAME;
btn_cnt++;
CComponentsFooter footer;
footer.enableShadow(CC_SHADOW_ON, -1, true);
footer.paintButtons(x, y + height - OFFSET_SHADOW - footer_height, full_width, footer_height, btn_cnt, buttons);
if (!footer.isPainted() || btn_cnt != (int)footer.getButtonChainObject()->size())
footer.paintButtons(x, y + height - OFFSET_SHADOW - footer_height, full_width, footer_height, btn_cnt, buttons);
}
// -- Eventlist Menu Handler Class

View File

@@ -79,6 +79,7 @@ class CEventList : public CListHelpers
CFrameBuffer *frameBuffer;
CChannelEventList evtlist;
CTimerd::TimerList timerlist;
CComponentsFooter footer;
void readEvents(const t_channel_id channel_id);
unsigned int selected;
unsigned int current_event;