mirror of
https://projects.vdr-developer.org/git/vdr-plugin-tvguide.git
synced 2023-10-05 15:01:48 +02:00
Workaround for HWAccelerated OSD
This commit is contained in:
parent
89e9086943
commit
7300fdf91c
@ -130,9 +130,11 @@ int cChannelEpg::getY() {
|
||||
return geoManager.statusHeaderHeight + geoManager.timeLineHeight + num*geoManager.rowHeight;
|
||||
}
|
||||
|
||||
cGridElement *cChannelEpg::getActive() {
|
||||
cGridElement *cChannelEpg::getActive(bool last) {
|
||||
cTimeManager t;
|
||||
t.Now();
|
||||
if (last)
|
||||
return grids.Last();
|
||||
for (cGridElement *grid = grids.First(); grid; grid = grids.Next(grid)) {
|
||||
if (grid->Match(t.Get()))
|
||||
return grid;
|
||||
|
@ -42,7 +42,7 @@ public:
|
||||
int Stop() { return timeManager->GetEnd(); };
|
||||
const char* Name() { return channel->Name(); };
|
||||
const cChannel *getChannel() {return channel;}
|
||||
cGridElement *getActive();
|
||||
cGridElement *getActive(bool last = false);
|
||||
cGridElement *getNext(cGridElement *activeGrid);
|
||||
cGridElement *getPrev(cGridElement *activeGrid);
|
||||
cGridElement *getNeighbor(cGridElement *activeGrid);
|
||||
|
2
config.c
2
config.c
@ -2,6 +2,7 @@
|
||||
#include "config.h"
|
||||
|
||||
cTVGuideConfig::cTVGuideConfig() {
|
||||
useHWAccel = false;
|
||||
debugImageLoading = 0;
|
||||
showMainMenuEntry = 1;
|
||||
replaceOriginalSchedule = 0;
|
||||
@ -243,6 +244,7 @@ cString cTVGuideConfig::checkSlashAtEnd(std::string path) {
|
||||
bool cTVGuideConfig::SetupParse(const char *Name, const char *Value) {
|
||||
if (strcmp(Name, "timeFormat") == 0) timeFormat = atoi(Value);
|
||||
else if (strcmp(Name, "debugImageLoading") == 0) debugImageLoading = atoi(Value);
|
||||
else if (strcmp(Name, "useHWAccel") == 0) useHWAccel = atoi(Value);
|
||||
else if (strcmp(Name, "showMainMenuEntry") == 0) showMainMenuEntry = atoi(Value);
|
||||
else if (strcmp(Name, "replaceOriginalSchedule") == 0) replaceOriginalSchedule = atoi(Value);
|
||||
else if (strcmp(Name, "useNopacityTheme") == 0) useNopacityTheme = atoi(Value);
|
||||
|
1
config.h
1
config.h
@ -49,6 +49,7 @@ class cTVGuideConfig {
|
||||
public:
|
||||
cTVGuideConfig();
|
||||
~cTVGuideConfig();
|
||||
int useHWAccel;
|
||||
int debugImageLoading;
|
||||
int showMainMenuEntry;
|
||||
int replaceOriginalSchedule;
|
||||
|
17
po/ca_ES.po
17
po/ca_ES.po
@ -3,7 +3,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: vdr-tvguide 0.0.1\n"
|
||||
"Report-Msgid-Bugs-To: <see README>\n"
|
||||
"POT-Creation-Date: 2019-04-22 14:34+0200\n"
|
||||
"POT-Creation-Date: 2019-11-03 12:37+0100\n"
|
||||
"PO-Revision-Date: 2013-09-21 17:49+0200\n"
|
||||
"Last-Translator: My friend <Sampep> Thanks David <Gabychan> <gbonich@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
@ -99,12 +99,6 @@ msgstr ""
|
||||
msgid "recordings done"
|
||||
msgstr ""
|
||||
|
||||
msgid "What's on now"
|
||||
msgstr ""
|
||||
|
||||
msgid "What's on next"
|
||||
msgstr ""
|
||||
|
||||
msgid "Instant Record"
|
||||
msgstr "Enregistra a l'instant"
|
||||
|
||||
@ -567,6 +561,12 @@ msgstr "No s'han trobat gravacions per"
|
||||
msgid "No Favorites available"
|
||||
msgstr ""
|
||||
|
||||
msgid "What's on now"
|
||||
msgstr ""
|
||||
|
||||
msgid "What's on next"
|
||||
msgstr ""
|
||||
|
||||
msgid "whole term must appear"
|
||||
msgstr "expressió completa"
|
||||
|
||||
@ -675,6 +675,9 @@ msgstr "si existeix"
|
||||
msgid "always"
|
||||
msgstr "sempre"
|
||||
|
||||
msgid "Use workaround for HWAccelerated OSD"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show Main Menu Entry"
|
||||
msgstr "Mostra entrada del menú principal"
|
||||
|
||||
|
17
po/de_DE.po
17
po/de_DE.po
@ -3,7 +3,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: vdr-tvguide 0.0.1\n"
|
||||
"Report-Msgid-Bugs-To: <see README>\n"
|
||||
"POT-Creation-Date: 2019-04-22 14:34+0200\n"
|
||||
"POT-Creation-Date: 2019-11-03 12:37+0100\n"
|
||||
"PO-Revision-Date: 2012-08-25 17:49+0200\n"
|
||||
"Last-Translator: Horst\n"
|
||||
"Language-Team: \n"
|
||||
@ -96,12 +96,6 @@ msgstr "aktive Timer"
|
||||
msgid "recordings done"
|
||||
msgstr "erledigte Aufnahmen"
|
||||
|
||||
msgid "What's on now"
|
||||
msgstr "Was läuft jetzt?"
|
||||
|
||||
msgid "What's on next"
|
||||
msgstr "Was läuft als nächstes?"
|
||||
|
||||
msgid "Instant Record"
|
||||
msgstr "Aufnahme"
|
||||
|
||||
@ -564,6 +558,12 @@ msgstr "Keine Aufnahmen gefunden für"
|
||||
msgid "No Favorites available"
|
||||
msgstr "Keine Favoriten verfügbar"
|
||||
|
||||
msgid "What's on now"
|
||||
msgstr "Was läuft jetzt?"
|
||||
|
||||
msgid "What's on next"
|
||||
msgstr "Was läuft als nächstes?"
|
||||
|
||||
msgid "whole term must appear"
|
||||
msgstr "vollständiger Ausdruck"
|
||||
|
||||
@ -672,6 +672,9 @@ msgstr "falls vorhanden"
|
||||
msgid "always"
|
||||
msgstr "immer"
|
||||
|
||||
msgid "Use workaround for HWAccelerated OSD"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show Main Menu Entry"
|
||||
msgstr "Hauptmenüeintrag anzeigen"
|
||||
|
||||
|
17
po/it_IT.po
17
po/it_IT.po
@ -3,7 +3,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: vdr-tvguide 0.0.1\n"
|
||||
"Report-Msgid-Bugs-To: <see README>\n"
|
||||
"POT-Creation-Date: 2019-04-22 14:34+0200\n"
|
||||
"POT-Creation-Date: 2019-11-03 12:37+0100\n"
|
||||
"PO-Revision-Date: 2012-08-25 17:49+0200\n"
|
||||
"Last-Translator: fiveten_59\n"
|
||||
"Language-Team: \n"
|
||||
@ -96,12 +96,6 @@ msgstr "Timers attivi"
|
||||
msgid "recordings done"
|
||||
msgstr "registrazione eseguita"
|
||||
|
||||
msgid "What's on now"
|
||||
msgstr "Was läuft jetzt?"
|
||||
|
||||
msgid "What's on next"
|
||||
msgstr "Was läuft als nächstes?"
|
||||
|
||||
msgid "Instant Record"
|
||||
msgstr "Registrazione immediata"
|
||||
|
||||
@ -564,6 +558,12 @@ msgstr "Nessuna registrazione trovata per"
|
||||
msgid "No Favorites available"
|
||||
msgstr "Nessun Favoriti disponibile"
|
||||
|
||||
msgid "What's on now"
|
||||
msgstr "Was läuft jetzt?"
|
||||
|
||||
msgid "What's on next"
|
||||
msgstr "Was läuft als nächstes?"
|
||||
|
||||
msgid "whole term must appear"
|
||||
msgstr "vollständiger Ausdruck"
|
||||
|
||||
@ -672,6 +672,9 @@ msgstr "se esiste"
|
||||
msgid "always"
|
||||
msgstr "sempre"
|
||||
|
||||
msgid "Use workaround for HWAccelerated OSD"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show Main Menu Entry"
|
||||
msgstr "Hauptmenüeintrag anzeigen"
|
||||
|
||||
|
17
po/ru_RU.po
17
po/ru_RU.po
@ -3,7 +3,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: vdr-tvguide 1.0.0\n"
|
||||
"Report-Msgid-Bugs-To: <see README>\n"
|
||||
"POT-Creation-Date: 2019-04-22 14:34+0200\n"
|
||||
"POT-Creation-Date: 2019-11-03 12:37+0100\n"
|
||||
"PO-Revision-Date: 2013-09-25 17:49+0400\n"
|
||||
"Last-Translator: AmiD, ilya\n"
|
||||
"Language-Team: Russia-Cherepovets(wm.amid@gmail.com)\n"
|
||||
@ -96,12 +96,6 @@ msgstr ""
|
||||
msgid "recordings done"
|
||||
msgstr ""
|
||||
|
||||
msgid "What's on now"
|
||||
msgstr ""
|
||||
|
||||
msgid "What's on next"
|
||||
msgstr ""
|
||||
|
||||
msgid "Instant Record"
|
||||
msgstr "Записать"
|
||||
|
||||
@ -564,6 +558,12 @@ msgstr "Не найдено записей:"
|
||||
msgid "No Favorites available"
|
||||
msgstr ""
|
||||
|
||||
msgid "What's on now"
|
||||
msgstr ""
|
||||
|
||||
msgid "What's on next"
|
||||
msgstr ""
|
||||
|
||||
msgid "whole term must appear"
|
||||
msgstr "фраза"
|
||||
|
||||
@ -672,6 +672,9 @@ msgstr "если существует"
|
||||
msgid "always"
|
||||
msgstr "всегда"
|
||||
|
||||
msgid "Use workaround for HWAccelerated OSD"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show Main Menu Entry"
|
||||
msgstr "Показывать пункт в главном меню"
|
||||
|
||||
|
17
po/sk_SK.po
17
po/sk_SK.po
@ -3,7 +3,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: vdr-tvguide 1.1.0\n"
|
||||
"Report-Msgid-Bugs-To: <see README>\n"
|
||||
"POT-Creation-Date: 2019-04-22 14:34+0200\n"
|
||||
"POT-Creation-Date: 2019-11-03 12:37+0100\n"
|
||||
"PO-Revision-Date: 2013-09-15 00:12+0100\n"
|
||||
"Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
@ -96,12 +96,6 @@ msgstr ""
|
||||
msgid "recordings done"
|
||||
msgstr ""
|
||||
|
||||
msgid "What's on now"
|
||||
msgstr ""
|
||||
|
||||
msgid "What's on next"
|
||||
msgstr ""
|
||||
|
||||
msgid "Instant Record"
|
||||
msgstr "Okam¾ite nahra»"
|
||||
|
||||
@ -564,6 +558,12 @@ msgstr "Nena
|
||||
msgid "No Favorites available"
|
||||
msgstr ""
|
||||
|
||||
msgid "What's on now"
|
||||
msgstr ""
|
||||
|
||||
msgid "What's on next"
|
||||
msgstr ""
|
||||
|
||||
msgid "whole term must appear"
|
||||
msgstr "kompletný výraz"
|
||||
|
||||
@ -672,6 +672,9 @@ msgstr "ak s
|
||||
msgid "always"
|
||||
msgstr "v¾dy"
|
||||
|
||||
msgid "Use workaround for HWAccelerated OSD"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show Main Menu Entry"
|
||||
msgstr "Zobrazi» v hlavnom menu"
|
||||
|
||||
|
2
setup.c
2
setup.c
@ -60,6 +60,7 @@ void cTvguideSetup::Store(void) {
|
||||
SetupStore("debugImageLoading", config.debugImageLoading);
|
||||
SetupStore("useNopacityTheme", config.useNopacityTheme);
|
||||
SetupStore("themeIndex", config.themeIndex);
|
||||
SetupStore("useHWAccel", config.useHWAccel);
|
||||
SetupStore("showMainMenuEntry", config.showMainMenuEntry);
|
||||
SetupStore("replaceOriginalSchedule", config.replaceOriginalSchedule);
|
||||
SetupStore("displayMode", config.displayMode);
|
||||
@ -203,6 +204,7 @@ cMenuSetupGeneral::cMenuSetupGeneral(cTVGuideConfig* data) : cMenuSetupSubMenu(
|
||||
void cMenuSetupGeneral::Set(void) {
|
||||
int currentItem = Current();
|
||||
Clear();
|
||||
Add(new cMenuEditBoolItem(tr("Use workaround for HWAccelerated OSD"), &tmpConfig->useHWAccel));
|
||||
Add(new cMenuEditBoolItem(tr("Show Main Menu Entry"), &tmpConfig->showMainMenuEntry));
|
||||
Add(new cMenuEditBoolItem(tr("Replace VDR Schedules Menu"), &tmpConfig->replaceOriginalSchedule));
|
||||
Add(new cMenuEditBoolItem(tr("Use appropriate nOpacity Theme"), &tmpConfig->useNopacityTheme));
|
||||
|
18
tvguideosd.c
18
tvguideosd.c
@ -195,7 +195,7 @@ void cTvGuideOsd::drawGridsChannelJump(int offset) {
|
||||
}
|
||||
}
|
||||
|
||||
void cTvGuideOsd::drawGridsTimeJump() {
|
||||
void cTvGuideOsd::drawGridsTimeJump(bool last) {
|
||||
if (columns.Count() == 0)
|
||||
return;
|
||||
cChannelEpg *colActive = NULL;
|
||||
@ -209,7 +209,7 @@ void cTvGuideOsd::drawGridsTimeJump() {
|
||||
column->readGrids();
|
||||
column->drawGrids();
|
||||
}
|
||||
activeGrid = colActive->getActive();
|
||||
activeGrid = colActive->getActive(last);
|
||||
if (activeGrid) {
|
||||
activeGrid->SetActive();
|
||||
activeGrid->Draw();
|
||||
@ -372,6 +372,12 @@ void cTvGuideOsd::timeForward() {
|
||||
|
||||
void cTvGuideOsd::ScrollForward() {
|
||||
timeManager->AddStep(config.stepMinutes);
|
||||
if (config.useHWAccel) {
|
||||
drawGridsTimeJump(true);
|
||||
timeLine->drawDateViewer();
|
||||
timeLine->drawClock();
|
||||
timeLine->setTimeline();
|
||||
} else {
|
||||
timeLine->drawDateViewer();
|
||||
timeLine->setTimeline();
|
||||
for (cChannelEpg *column = columns.First(); column; column = columns.Next(column)) {
|
||||
@ -380,6 +386,7 @@ void cTvGuideOsd::ScrollForward() {
|
||||
column->drawGrids();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void cTvGuideOsd::timeBack() {
|
||||
bool actionDone = false;
|
||||
@ -406,6 +413,12 @@ void cTvGuideOsd::ScrollBack() {
|
||||
bool tooFarInPast = timeManager->DelStep(config.stepMinutes);
|
||||
if (tooFarInPast)
|
||||
return;
|
||||
if (config.useHWAccel) {
|
||||
drawGridsTimeJump();
|
||||
timeLine->drawDateViewer();
|
||||
timeLine->drawClock();
|
||||
timeLine->setTimeline();
|
||||
} else {
|
||||
timeLine->drawDateViewer();
|
||||
timeLine->setTimeline();
|
||||
for (cChannelEpg *column = columns.First(); column; column = columns.Next(column)) {
|
||||
@ -414,6 +427,7 @@ void cTvGuideOsd::ScrollBack() {
|
||||
column->drawGrids();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void cTvGuideOsd::processKeyUp() {
|
||||
if (!activeGrid) {
|
||||
|
@ -31,7 +31,7 @@ private:
|
||||
void drawOsd();
|
||||
void readChannels(const cChannel *channelStart);
|
||||
void drawGridsChannelJump(int offset = 0);
|
||||
void drawGridsTimeJump();
|
||||
void drawGridsTimeJump(bool last = false);
|
||||
void processKeyUp();
|
||||
void processKeyDown();
|
||||
void processKeyLeft();
|
||||
|
Loading…
Reference in New Issue
Block a user