// $Source: /usr/local/SimSoft/SoftShop/XGraph/Views/View.h,v $
// $Revision: 1.20 $
// $Author: baum $
// $Date: 2001/11/29 15:52:24 $
//
// Login name of the user who locked the revision
// $Locker:  $
// Tag name used to checkout the file
// $Name: Release-20 $
// State assigned to revision
// $State: Exp $
//
//
// $Log: View.h,v $
// Revision 1.20  2001/11/29 15:52:24  baum
// -In Kalender.cpp und Kalender.h Handsteuerung eingebaut
//

#ifndef _VIEW_H
#define _VIEW_H  1

#ifndef _SPACE_H
class Space;
#endif

#ifndef _GEOOBJECT_H
class GeoObject;
#endif

#include "Color.h"

#ifdef _VIEW_CPP
#  undef _impexp
#  define _impexp __declspec(dllexport)
#elif defined BUILD_VIEWS_DLL
#  undef _impexp
#  define _impexp __declspec(dllexport)
#else
#  undef _impexp
#  define _impexp __declspec(dllimport)
#endif

#if defined __GNUG__ || defined __hpux
#  undef _impexp
#  define _impexp
#endif

//==================================================================
//		Class-Header
//		for class View
//==================================================================

//##ModelId=4030D76D034D
class _impexp View {
  public:
    // creates the Window with Space
	//##ModelId=4030D76D035B
    virtual void pose (Space *) = 0;

    // for Space to cut connection
	//##ModelId=4030D76D035E
    virtual void dispose () = 0;

    // for Space to query connection
	//##ModelId=4030D76D036C
    bool isPosed () const;

    // information about Space
	//##ModelId=4030D76D036E
    Space *MySpace () const;

    // redrawing the View
	//##ModelId=4030D76D0370
    virtual void flush () = 0;

  protected:
    //constructor (all Koords are in ScreenPixels)
	//##ModelId=4030D76D0372
    View ();

    //destructor
	//##ModelId=4030D76D037A
    virtual ~View ();

    // copy constructor declared, but not defined
	//##ModelId=4030D76D037C
    View (const View&);

    // assignment operator declared, but not defined
	//##ModelId=4030D76D037E
    View& operator = (const View&);

    //data members
	//##ModelId=4030D76D038C
    Space    *ObjMySpace;
	//##ModelId=4030D76D0390
    bool      ObjIsPosed;

  private:


}; // class View

#endif // !_VIEW_H

