mirror of
https://projects.vdr-developer.org/git/vdr-plugin-skindesigner.git
synced 2023-10-19 17:58:31 +02:00
fixed clearing of background areas
This commit is contained in:
parent
85d260d292
commit
c9be985391
@ -246,8 +246,8 @@ void cArea::Close(void) {
|
||||
init = true;
|
||||
}
|
||||
|
||||
void cArea::Clear(void) {
|
||||
if (!init && isBackgroundArea) {
|
||||
void cArea::Clear(bool forceClearBackground) {
|
||||
if (!init && isBackgroundArea && !forceClearBackground) {
|
||||
return;
|
||||
}
|
||||
StopBlinkers();
|
||||
@ -685,9 +685,9 @@ void cAreaContainer::Close(void) {
|
||||
}
|
||||
}
|
||||
|
||||
void cAreaContainer::Clear(void) {
|
||||
void cAreaContainer::Clear(bool forceClearBackground) {
|
||||
for (cArea *area = areas.First(); area; area = areas.Next(area)) {
|
||||
area->Clear();
|
||||
area->Clear(forceClearBackground);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -44,7 +44,7 @@ public:
|
||||
virtual void Cache(void) {};
|
||||
virtual void Close(void) {};
|
||||
virtual void StopBlinkers(void) {};
|
||||
virtual void Clear(void) {};
|
||||
virtual void Clear(bool forceClearBackground = false) {};
|
||||
virtual void Hide(void) {};
|
||||
virtual void Show(void) {};
|
||||
virtual void Render(void) {};
|
||||
@ -104,7 +104,7 @@ public:
|
||||
void Cache(void);
|
||||
int GetWidth(void) { return attribs->Width(); };
|
||||
void Close(void);
|
||||
void Clear(void);
|
||||
void Clear(bool forceClearBackground = false);
|
||||
void Hide(void);
|
||||
void Show(void);
|
||||
void Render(void);
|
||||
@ -162,7 +162,7 @@ public:
|
||||
void SetHeight(int height);
|
||||
void Cache(void);
|
||||
void Close(void);
|
||||
void Clear(void);
|
||||
void Clear(bool forceClearBackground = false);
|
||||
void Hide(void);
|
||||
void Show(void);
|
||||
void Render(void);
|
||||
|
@ -39,11 +39,11 @@ void cListElement::Close(void) {
|
||||
dirty = false;
|
||||
}
|
||||
|
||||
void cListElement::Clear(void) {
|
||||
void cListElement::Clear(bool forceClearBackground) {
|
||||
if (current && currentElement) {
|
||||
currentElement->Close();
|
||||
}
|
||||
cViewElement::Clear();
|
||||
cViewElement::Clear(forceClearBackground);
|
||||
dirty = false;
|
||||
}
|
||||
|
||||
@ -318,7 +318,7 @@ void cLeMenuDefault::CheckProgressBar(const char *text, int tab) {
|
||||
tokenContainer->AddIntToken(32 + tab, len);
|
||||
}
|
||||
|
||||
void cLeMenuDefault::Clear(void) {
|
||||
void cLeMenuDefault::Clear(bool forceClearBackground) {
|
||||
if (current && currentElement) {
|
||||
currentElement->Close();
|
||||
}
|
||||
|
@ -30,7 +30,7 @@ public:
|
||||
bool DoScroll(void) { return current; };
|
||||
virtual void RenderCurrent(void) { };
|
||||
void Close(void);
|
||||
virtual void Clear(void);
|
||||
virtual void Clear(bool forceClearBackground = false);
|
||||
};
|
||||
|
||||
/******************************************************************
|
||||
@ -70,7 +70,7 @@ public:
|
||||
void SetPlugin(const char *plugName) { this->plugName = plugName; };
|
||||
void SetTokenContainer(void);
|
||||
bool Parse(bool forced = true);
|
||||
void Clear(void);
|
||||
void Clear(bool forceClearBackground = false);
|
||||
};
|
||||
|
||||
/******************************************************************
|
||||
|
@ -201,10 +201,10 @@ bool cView::Init(void) {
|
||||
return sdOsd.CreateOsd(osdX, osdY, osdWidth, osdHeight);
|
||||
}
|
||||
|
||||
void cView::Clear(int ve) {
|
||||
void cView::Clear(int ve, bool forceClearBackground) {
|
||||
if (!viewElements[ve])
|
||||
return;
|
||||
viewElements[ve]->Clear();
|
||||
viewElements[ve]->Clear(forceClearBackground);
|
||||
}
|
||||
|
||||
void cView::Render(int ve, bool force) {
|
||||
|
@ -74,7 +74,7 @@ public:
|
||||
virtual int GetListWidth(void) { return 0; };
|
||||
//View API
|
||||
virtual bool Init(void);
|
||||
void Clear(int ve);
|
||||
void Clear(int ve, bool forceClearBackground = false);
|
||||
void Render(int ve, bool force = false);
|
||||
virtual void Close(void);
|
||||
virtual void Flush(void);
|
||||
|
@ -37,7 +37,7 @@ void cViewDetail::ResetTabs(void) {
|
||||
activeTabIndex = -1;
|
||||
}
|
||||
|
||||
void cViewDetail::Clear(void) {
|
||||
void cViewDetail::Clear(bool forceClearBackground) {
|
||||
cViewElement::Close();
|
||||
}
|
||||
|
||||
|
@ -22,7 +22,7 @@ public:
|
||||
void SetPlugMenuId(int id) { plugMenuId = id; };
|
||||
int GetWidth(void);
|
||||
void ResetTabs(void);
|
||||
void Clear(void);
|
||||
void Clear(bool forceClearBackground = false);
|
||||
void Close(void);
|
||||
void Render(void);
|
||||
void Scrollbar(int &barheight, int &offset, bool &end);
|
||||
|
@ -123,16 +123,16 @@ void cViewChannel::SetChannel(const cChannel *channel, int number) {
|
||||
veEcmInfo->Set(channel);
|
||||
} else {
|
||||
displayChannelGroups = true;
|
||||
Clear((int)eVeDisplayChannel::channelinfo);
|
||||
Clear((int)eVeDisplayChannel::epginfo);
|
||||
Clear((int)eVeDisplayChannel::statusinfo);
|
||||
Clear((int)eVeDisplayChannel::progressbar);
|
||||
Clear((int)eVeDisplayChannel::screenresolution);
|
||||
Clear((int)eVeDisplayChannel::signalquality);
|
||||
Clear((int)eVeDisplayChannel::audioinfo);
|
||||
Clear((int)eVeDisplayChannel::ecminfo);
|
||||
Clear((int)eVeDisplayChannel::devices);
|
||||
Clear((int)eVeDisplayChannel::customtokens);
|
||||
Clear((int)eVeDisplayChannel::channelinfo, true);
|
||||
Clear((int)eVeDisplayChannel::epginfo, true);
|
||||
Clear((int)eVeDisplayChannel::statusinfo, true);
|
||||
Clear((int)eVeDisplayChannel::progressbar, true);
|
||||
Clear((int)eVeDisplayChannel::screenresolution, true);
|
||||
Clear((int)eVeDisplayChannel::signalquality, true);
|
||||
Clear((int)eVeDisplayChannel::audioinfo, true);
|
||||
Clear((int)eVeDisplayChannel::ecminfo, true);
|
||||
Clear((int)eVeDisplayChannel::devices, true);
|
||||
Clear((int)eVeDisplayChannel::customtokens, true);
|
||||
if (veChannelGroup)
|
||||
veChannelGroup->Set(channel);
|
||||
}
|
||||
@ -169,7 +169,6 @@ void cViewChannel::Flush(void) {
|
||||
if (init) {
|
||||
sdOsd.LockFlush();
|
||||
Render((int)eVeDisplayChannel::background);
|
||||
Render((int)eVeDisplayChannel::progressbar);
|
||||
Render((int)eVeDisplayChannel::currentweather);
|
||||
}
|
||||
|
||||
|
@ -265,12 +265,12 @@ bool cViewElement::Execute(void) {
|
||||
return attribs->DoExecute();
|
||||
}
|
||||
|
||||
void cViewElement::Clear(void) {
|
||||
void cViewElement::Clear(bool forceClearBackground) {
|
||||
tokenContainer->Clear();
|
||||
for (cAreaNode *node = areaNodes.First(); node; node = areaNodes.Next(node)) {
|
||||
node->StopBlinkers();
|
||||
sdOsd->Lock();
|
||||
node->Clear();
|
||||
node->Clear(forceClearBackground);
|
||||
sdOsd->Unlock();
|
||||
}
|
||||
dirty = false;
|
||||
|
@ -62,7 +62,7 @@ public:
|
||||
void Cache(void);
|
||||
virtual void Close(void);
|
||||
void StopBlinking(void);
|
||||
virtual void Clear(void);
|
||||
virtual void Clear(bool forceClearBackground = false);
|
||||
void Hide(void);
|
||||
void Show(void);
|
||||
void WakeUp(void);
|
||||
|
Loading…
Reference in New Issue
Block a user