//*************************************************************************//
// Filename:    VisualInfo.h
// Autor:       Christian Taulien of Strange Intelligence
// Purpose:     definition of used classes
// Creation:    24. März 1998
//*************************************************************************//
#ifndef VISUALINFO_H
#define VISUALINFO_H

#include <exec/types.h>
#include <intuition/intuition.h>

//*************************************************************************//
//.klasse
//KLASSENNAME   : VisualInfoC
//VERSION       : 28. März 1998
//AUTOR         : Taulien
//AUFGABE       : Eine Hilfsklasse-Klasse für die Verwaltung von VisualInfos
//DOKUMENTATION : -
//BEMERKUNGEN   : -
//AENDERUNGEN   : -
//*************************************************************************//
class VisualInfoC
{
private:
  // ## private Datamembers ##
  APTR  m_iVisualInfo;

  // ## private Methods ##
  void initVisualInfo(struct Screen *arg_poScreen);

public:
  // ## public Methods ##
  VisualInfoC(struct Window *arg_poWindow)
    { initVisualInfo(arg_poWindow->WScreen); };
  VisualInfoC(struct Screen *arg_poScreen)
    { initVisualInfo(arg_poScreen); };
  virtual ~VisualInfoC();

  BOOL isOk(void)   { return m_iVisualInfo ? TRUE : FALSE; };

  // # operator overriding
  operator APTR()   { return m_iVisualInfo; };
  BOOL operator !() { return !isOk(); };
};

#endif // VISUALINFO_H
