/*
 * Music plugin to VDR (C++)
 *
 * (C) 2006 Morone
 *
 * This code is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This code is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 * Or, point your browser to http://www.gnu.org/copyleft/gpl.html
 */

#ifndef ___SKIN_H
#define ___SKIN_H

#include <string> 

class cMP3Skin {
private:
//  int isMpeg;
//  char *localbackground, *streambackground;
public:
  cMP3Skin(void);
  virtual ~cMP3Skin();
  int ParseSkin(const char *SkinName, bool ReloadMpeg);
  int StoreSkin(const char *ThemeName);
  int clrBG;
  int clrTopBG;
  int clrTopFG;
  int clrCoverBG;
  int clrCoverBar;
  int clrArtistBG;
  int clrArtistFG;
  int clrRatingFG;
  int clrPlayStatusBG;
  int clrPlayStatusFG;
  int clrInfoBG;
  int clrInfoFG;
  int clrProgressbarBG;
  int clrProgressbarFG;
  int clrListTitle;
  int clrListBG;
  int clrListFG;
  int clrListRating;
  int clrSymbolBG;
  int clrSymbolFG;
  int clrSymbolActive;
  int clrRecordingActive;
  int clrVolumeActive;
  int clrVolumeProgressbarBG;
  int clrVolumeProgressbarFG;
  int clrStatusBG;
  int clrStatusFG1;
  int clrStatusFG2;
  int clrStatusFG3;
  int clrStatusFG4;
  int clrStatusRed;
  int clrStatusGreen;
  int clrStatusYellow;
  int clrStatusBlue;
  int imgalpha;
//General -------------------------------------------
  int rows;
  int osdwidth;
  int osdheight;
  int osdtop;
  int osdleft;
// Options for mpegs only
  int isMpeg;
  int symrect;
  std::string localbackground;
  std::string streambackground;
  std::string visbackground;
  std::string localcover;
  std::string streamcover;
  bool reloadmpeg;
  bool saonly;
 // P O S I T I O N S
 //:cover-----------------------------------  
  int coverx;
  int covery;
  int coverw;
  int coverh;
  int coverdepth;
//:coveronly-----------------------------  
  int bigpicturex;
  int bigpicturey;
  int bigpicturew;
  int bigpictureh;
  int bigpicturedepth;
//::artistfield -----------------------------------
  int artistx;
  int artisty;
  int artistw;
  int albumx;
  int albumy;
  int albumw;
  int genrex;
  int genrey;
  int genrew;
  int yearx;
  int yeary;
  int yearw;
  int ratingx;
  int ratingy;
  int ratingw;
//::status -----------------------------------
  int statusx;
  int statusy;
  int statusw;
//::infofield -----------------------------------
  int modex;
  int modey;
  int modew;
  int numberx;
  int numbery;
  int numberw;
  int timex;
  int timey;
  int timew;
  int progressx;
  int progressy;
  int progressw;
  int progressh;
  int totalx;
  int totaly;
  int totalw;
//::tracklist -----------------------------------
  int titlex;
  int titley;
  int titlew;
  int tracksx;
  int tracksy;
  int tracksw;
  int ratesmx;
  int ratesmy;
  int ratesmw;
// ::symbols -----------------------------------
  int shufflex;
  int shuffley;
  int loopx;
  int loopy;
  int recordx;
  int recordy;
  int lyricsx;
  int lyricsy;
  int copyx;
  int copyy;
  int shutdownx;
  int shutdowny;
  int timerx;
  int timery;
  int mutex;
  int mutey;
  int volbarx;
  int volbary;
  int volbarw;
  int volbarh;  
// buttons -----------------------------------
  int buttonalign;
  int buttontext1posx;
  int buttontext2posx;
  int buttontext3posx;
  int buttontext4posx;
  int buttontext1posy;
  int buttontext2posy;
  int buttontext3posy;
  int buttontext4posy;
  int button1w;
  int button2w;
  int button3w;
  int button4w;
// elipse --------------------------------------
  int elipseredx;
  int elipseredy;
  int elipseyellowx;
  int elipseyellowy;
  int elipsegreenx;
  int elipsegreeny;
  int elipsebluex;
  int elipsebluey;
  int elipseh;
};

extern cMP3Skin MP3Skin;

#endif //___SKIN_H
