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 <jlacvdr@xxxxxxxxx>: > 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 vdr@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr