0027670: Visualization - avoid duplication of structures defining primitive array...
[occt.git] / src / OpenGl / OpenGl_LineAttributes.hxx
1 // Created on: 2011-09-20
2 // Created by: Sergey ZERCHANINOV
3 // Copyright (c) 2011-2014 OPEN CASCADE SAS
4 //
5 // This file is part of Open CASCADE Technology software library.
6 //
7 // This library is free software; you can redistribute it and/or modify it under
8 // the terms of the GNU Lesser General Public License version 2.1 as published
9 // by the Free Software Foundation, with special exception defined in the file
10 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11 // distribution for complete text of the license and disclaimer of any warranty.
12 //
13 // Alternatively, this file may be used under the terms of Open CASCADE
14 // commercial license or contractual agreement.
15
16 #ifndef _OpenGl_LineAttributes_Header
17 #define _OpenGl_LineAttributes_Header
18
19 #include <OpenGl_Resource.hxx>
20
21 #include <Aspect_TypeOfLine.hxx>
22 #include <Aspect_TypeOfMarker.hxx>
23 #include <Font_FontAspect.hxx>
24
25 class OpenGl_Context;
26
27 #define TEL_HS_USER_DEF_START 15
28
29 class OpenGl_LineAttributes : public OpenGl_Resource
30 {
31 public:
32
33   OpenGl_LineAttributes();
34   virtual ~OpenGl_LineAttributes();
35
36   void Init (const Handle(OpenGl_Context)& theGlCtx);
37   virtual void Release (OpenGl_Context* theGlCtx) Standard_OVERRIDE;
38
39   void SetTypeOfHatch (const int theType) const;
40
41 protected:
42
43   unsigned int myPatternBase;
44
45 public:
46
47   DEFINE_STANDARD_RTTIEXT(OpenGl_LineAttributes,OpenGl_Resource)
48
49 };
50
51 DEFINE_STANDARD_HANDLE(OpenGl_LineAttributes, OpenGl_Resource)
52
53 #endif // _OpenGl_LineAttributes_Header