Hi,
This is an additional patch for huge osd (hd device) :
skinenigmang-0.1.0-jlac-hdosd-090826.diff
- change the logo size, now proportional to the osd font height.
- change the symbol line height, now proportional to the osd font height.
Regards,
JLac
2009/5/2 jlacvdr <[email protected]>:
> Hi,
>
> attached file: skinenigmang-0.1.0-jlac-corners-090502.diff
> - change rounds corners to squares corners.
>
> attached file: skinenigmang-0.1.0-jlac-logos-090502.diff
> - replace xpm format by logos in 256colors and jpeg
> - simplify the logo filenames on disk: at runtine make it lower case,
> without space, without underscore.... so avoid many times the same
> logo file (or symbolic link) on the disk
> - add a svdr command to check the name logos
> - theme added (grey/white/black)
>
> Regards,
>
> JLac
>
diff -bBurN skinenigmang-0.1.0/enigma.c skinenigmang-0.1.0-hdosd/enigma.c
--- skinenigmang-0.1.0/enigma.c 2009-08-25 21:10:00.000000000 +0200
+++ skinenigmang-0.1.0-hdosd/enigma.c 2009-08-25 21:18:00.000000000 +0200
@@ -794,11 +794,14 @@
osd->DrawRectangle(0, 0, osd->Width(), osd->Height(), clrTransparent);
if (fShowLogo) {
+ int logoWidth = (xLogoRight - xLogoLeft);
+ int logoHeight = (yLogoBottom - yLogoTop);
+
// draw logo area
osd->DrawRectangle(xLogoLeft, yLogoTop, xLogoRight - 1, yLogoBottom - 1, Theme.Color(clrLogoBg));
osd->DrawRectangle(xLogoDecoLeft, yLogoTop, xLogoDecoRight - 1, yLogoBottom - 1, Theme.Color(clrLogoBg));
- if (EnigmaLogoCache.LoadChannelLogo(Channel)) {
+ if (EnigmaLogoCache.LoadChannelLogo(Channel,logoWidth,logoHeight)) {
int lw = EnigmaLogoCache.Get().Width();
int lh = EnigmaLogoCache.Get().Height();
osd->DrawBitmap(xLogoLeft + (xLogoRight - xLogoLeft - lw) / 2,
diff -bBurN skinenigmang-0.1.0/logo.c skinenigmang-0.1.0-hdosd/logo.c
--- skinenigmang-0.1.0/logo.c 2009-08-25 21:10:00.000000000 +0200
+++ skinenigmang-0.1.0-hdosd/logo.c 2009-08-25 21:18:00.000000000 +0200
@@ -110,7 +110,7 @@
*name = 0;
}
-bool cEnigmaLogoCache::LoadChannelLogo(const cChannel *Channel)
+bool cEnigmaLogoCache::LoadChannelLogo(const cChannel *Channel, int w, int h)
{
if (Channel == NULL)
return false;
@@ -128,12 +128,12 @@
if (filename != NULL) {
strcpy(filename, "hqlogos/");
strcat(filename, logoname);
- if (!(fFoundLogo = Load(filename, ChannelLogoWidth, ChannelLogoHeight, false))) {
+ if (!(fFoundLogo = Load(filename, w, h, false))) {
strcpy(filename, "logos/");
strcat(filename, logoname);
- if (!(fFoundLogo = Load(filename, ChannelLogoWidth, ChannelLogoHeight, false))) {
+ if (!(fFoundLogo = Load(filename, w, h, false))) {
error("cPluginSkinEnigma::LoadChannelLogo: LOGO \"%s.jpg\" NOT FOUND in %s/[hq]logos", logoname, EnigmaConfig.GetLogoDir());
- fFoundLogo = Load("hqlogos/no_logo", ChannelLogoWidth, ChannelLogoHeight); //TODO? different default logo for channel/group?
+ fFoundLogo = Load("hqlogos/no_logo", w, h); //TODO? different default logo for channel/group?
}
}
free(filename);
@@ -226,14 +226,14 @@
return false;
struct stat stbuf;
- cBitmap *bmp = new cBitmap(1, 1, 8);
+ cBitmap *bmp = new cBitmap(w, h, 8);
// create absolute filename
debug("cPluginSkinEnigma::LoadJpg(%s)", fileNameP);
// check validity
if(lstat(fileNameP, &stbuf) == 0)
{
- DrawImage(fileNameP,0,0,80,80,230,bmp);
+ DrawImage(fileNameP,0,0,w,h,230,bmp);
if ((bmp->Width() <= w) && (bmp->Height() <= h)) {
int numColors;
diff -bBurN skinenigmang-0.1.0/logo.h skinenigmang-0.1.0-hdosd/logo.h
--- skinenigmang-0.1.0/logo.h 2009-08-25 21:10:00.000000000 +0200
+++ skinenigmang-0.1.0-hdosd/logo.h 2009-08-25 21:18:00.000000000 +0200
@@ -50,7 +50,7 @@
bool Resize(unsigned int cacheSizeP);
bool DrawEventImage(const cEvent *Event, int x, int y, int w, int h, int c, cBitmap *bmp);
bool DrawRecordingImage(const cRecording *Recording, int x, int y, int w, int h, int c, cBitmap *bmp);
- bool LoadChannelLogo(const cChannel *Channel);
+ bool LoadChannelLogo(const cChannel *Channel, int w, int h);
bool LoadSymbol(const char *fileNameP);
bool LoadIcon(const char *fileNameP);
cBitmap& Get(void);
_______________________________________________
vdr mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr