summaryrefslogtreecommitdiff
path: root/inc/Xw_TypeMap.hxx
blob: 007761653eef29d0e7ab09a56cba9a85cf2a3971 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _Xw_TypeMap_HeaderFile
#define _Xw_TypeMap_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_Xw_TypeMap_HeaderFile
#include <Handle_Xw_TypeMap.hxx>
#endif

#ifndef _Standard_Address_HeaderFile
#include <Standard_Address.hxx>
#endif
#ifndef _Standard_Transient_HeaderFile
#include <Standard_Transient.hxx>
#endif
#ifndef _Standard_CString_HeaderFile
#include <Standard_CString.hxx>
#endif
#ifndef _Handle_Aspect_TypeMap_HeaderFile
#include <Handle_Aspect_TypeMap.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
class Aspect_TypeMapDefinitionError;
class Aspect_BadAccess;
class Xw_GraphicDevice;
class Aspect_TypeMapEntry;
class Aspect_TypeMap;


//! This class defines a TypeMap object. <br>
class Xw_TypeMap : public Standard_Transient {

public:

  //! Creates a TypeMap with unallocated TypeMapEntry. <br>
//!  Warning: Raises if TypeMap creation failed according <br>
//!	    to the supported hardware <br>
  Standard_EXPORT   Xw_TypeMap(const Standard_CString Connexion);
  //! Modifies an entry already defined or Add the Entry <br>
//!	    in the type map <me> if it don't exist. <br>
//!  Warning: Raises if TypeMap size is exceeded, <br>
//!	    or TypeMap is not defined properly, <br>
//!	    or TypeMapEntry Index is out of range according <br>
//!	    to the supported hardware <br>
  Standard_EXPORT   virtual  void SetEntry(const Aspect_TypeMapEntry& Entry) ;
  //! Modifies all entries from a new Typemap <br>
//!  Warning: Raises if TypeMap size is exceeded, <br>
//!	    or TypeMap is not defined properly, <br>
//!	    or One of new TypeMapEntry Index is out of range according <br>
//!	    to the supported hardware <br>
  Standard_EXPORT   virtual  void SetEntries(const Handle(Aspect_TypeMap)& Typemap) ;
  //! Destroies the Typemap <br>
  Standard_EXPORT   virtual  void Destroy() ;
~Xw_TypeMap()
{
  Destroy();
}
  //! Returns the Number of Free Types in the Typemap <br>
//!	    depending of the HardWare <br>
//!  Warning: Raises if TypeMap is not defined properly <br>
  Standard_EXPORT     Standard_Integer FreeTypes() const;

friend class Xw_GraphicDevice;


  DEFINE_STANDARD_RTTI(Xw_TypeMap)

protected:

  
  Standard_EXPORT   Xw_TypeMap();
  //! Returns extended data typemap structure pointer. <br>
  Standard_EXPORT     Standard_Address ExtendedTypeMap() const;



private: 


Standard_Address MyExtendedDisplay;
Standard_Address MyExtendedTypeMap;


};





// other Inline functions and methods (like "C++: function call" methods)


#endif