/**
 *  GraphTFT plugin for the Video Disk Recorder 
 * 
 *  setup.h - A plugin for the Video Disk Recorder
 *
 *  (c) 2004-2006 Lars Tegeler, Sascha Volkenandt, Jörg Wendel
 *
 * This code is distributed under the terms and conditions of the
 * GNU GENERAL PUBLIC LICENSE. See the file COPYING for details.
 *
 * $Id: setup.h,v 1.8 2007/11/10 17:45:09 root Exp $
 *
 **/

#ifndef __GTFT_SETUP_H
#define __GTFT_SETUP_H

#include <vdr/menuitems.h>

#include "display.h"
#include "theme.h"

#if APIVERSNUM < 10507
#  include "i18n.h"
#endif

//***************************************************************************
// Class Graph TFT Setup 
//***************************************************************************

class cGraphTFTSetup 
{
   public:

      cGraphTFTSetup();
      ~cGraphTFTSetup() {}

      string Theme;           // name of the actual theme
      int HideMainMenu;
      int UseStillPicture;
      int DvbRefresh;
      int xBorder;
      int yBorder;
      int xOffset;
      int yOffset;
      int DumpImage;
      int DumpImageX;
      int DumpImageY;
      int DumpRefresh;
      int Level;
      int LogDevice;
      const char* PluginConfPath;
      int Iso2Utf;

      int enableSpectrumAnalyzer;
      int index;
      int JpegQuality;
      int flipOSD;
      int width;
      int height;
      string normalMode;
      int snapshotWidth;
      int snapshotHeight;
      int snapshotQuality;
      char snapshotPath[255+TB];

      bool SetupParse(const char* Name, const char* Value);
};

//***************************************************************************
// Class Menu Setup GraphTFT
//***************************************************************************

class cMenuSetupGraphTFT : public cMenuSetupPage
{
   public:

      cMenuSetupGraphTFT(cGraphTFTDisplay* graphTFTdisplay);
      virtual ~cMenuSetupGraphTFT();

      virtual eOSState ProcessKey(eKeys Key);
      void Store();

   protected:

      cGraphTFTSetup _data;
      cGraphTFTDisplay* _graphTFTdisplay;

      // data

      char* themeNames[100];
};

//***************************************************************************

extern cGraphTFTSetup GraphTFTSetup;

//***************************************************************************
#endif // __GTFT_SETUP_H
