//***************************************************************************
// Group VDR/GraphTFT
// File service.h
// Date 21.11.06 - Jörg Wendel
// This code is distributed under the terms and conditions of the
// GNU GENERAL PUBLIC LICENSE. See the file COPYING for details.
//--------------------------------------------------------------------------
// Class cGraphTftService
//***************************************************************************

#ifndef __GTFT_SERVICE_HPP__
#define __GTFT_SERVICE_HPP__

#define GRAPHTFT_TOUCH_EVENT_ID "GraphTftTouchEvent-v1.0"
#define GRAPHTFT_CALIBRATION_ID "GraphTftCalibration-v1.0"

//***************************************************************************
// cGraphTftService
//***************************************************************************

class cGraphTftComService
{
   public:

      enum Command
      {
         cmdUnknown = na,
         cmdWelcome,
         cmdData,
         cmdMouseEvent,
         cmdLogout,
         cmdStartCalibration,
         cmdStopCalibration
      };

      enum MouseButton
      {
         mbLeft   = 1,
         mbMiddle,
         mbRight,
         mbWheelUp,
         mbWheelDown
      };

      enum EventFlags
      {
         efNone        = 0x00,
         efDoubleClick = 0x01,
         efShift       = 0x02,
         efAlt         = 0x04,
         efStrg        = 0x08,
         efKeyboard    = 0x10
      };

      struct GraphTftTouchEvent
      {
         int x;
         int y;
         int button;
         int flag;
      };

      struct GraphTftCalibration
      {
         int activate;
      };
};

//***************************************************************************
#endif //  __GTFT_SERVICE_HPP__
