0027818: Visualization - provide an interface to define highlight presentation properties
[occt.git] / src / AIS / AIS_LocalStatus.hxx
index 8586690..9315e35 100644 (file)
 #ifndef _AIS_LocalStatus_HeaderFile
 #define _AIS_LocalStatus_HeaderFile
 
+#include <Graphic3d_HighlightStyle.hxx>
+#include <MMgt_TShared.hxx>
 #include <Standard.hxx>
 #include <Standard_Type.hxx>
-
 #include <Standard_Boolean.hxx>
 #include <Standard_Integer.hxx>
 #include <TColStd_ListOfInteger.hxx>
-#include <Quantity_NameOfColor.hxx>
-#include <MMgt_TShared.hxx>
 class Standard_Transient;
 
 
@@ -38,7 +37,13 @@ class AIS_LocalStatus : public MMgt_TShared
 public:
 
   
-  Standard_EXPORT AIS_LocalStatus(const Standard_Boolean IsTemporary = Standard_True, const Standard_Boolean Decompose = Standard_False, const Standard_Integer DisplayMode = -1, const Standard_Integer SelectionMode = -1, const Standard_Integer HilightMode = 0, const Standard_Boolean SubIntensity = 0, const Quantity_NameOfColor TheHiCol = Quantity_NOC_WHITE);
+  Standard_EXPORT AIS_LocalStatus (const Standard_Boolean theIsTemporary = Standard_True,
+                                   const Standard_Boolean theIsToDecompose = Standard_False,
+                                   const Standard_Integer theDisplayMode = -1,
+                                   const Standard_Integer theSelectionMode = -1,
+                                   const Standard_Integer theHilightMode = 0,
+                                   const Standard_Boolean theIsSubIntensity = 0,
+                                   const Handle(Graphic3d_HighlightStyle)& theStyle = NULL);
   
     Standard_Boolean Decomposed() const;
   
@@ -54,7 +59,10 @@ public:
   
     Standard_Boolean IsSubIntensityOn() const;
   
-    Quantity_NameOfColor HilightColor() const;
+  const Handle(Graphic3d_HighlightStyle)& HilightStyle() const
+  {
+    return myHiStyle;
+  }
   
     void SetDecomposition (const Standard_Boolean astatus);
   
@@ -76,7 +84,10 @@ public:
   
     void SetHilightMode (const Standard_Integer aMode);
   
-    void SetHilightColor (const Quantity_NameOfColor aHiCol);
+  void SetHilightStyle (const Handle(Graphic3d_HighlightStyle)& theStyle)
+  {
+    myHiStyle = theStyle;
+  }
   
     void SubIntensityOn();
   
@@ -91,14 +102,7 @@ public:
 
   DEFINE_STANDARD_RTTIEXT(AIS_LocalStatus,MMgt_TShared)
 
-protected:
-
-
-
-
 private:
-
-
   Standard_Boolean myDecomposition;
   Standard_Boolean myIsTemporary;
   Standard_Integer myDMode;
@@ -106,10 +110,8 @@ private:
   Standard_Integer myHMode;
   TColStd_ListOfInteger mySModes;
   Standard_Boolean mySubIntensity;
-  Quantity_NameOfColor myHiCol;
   Handle(Standard_Transient) myPreviousState;
-
-
+  Handle(Graphic3d_HighlightStyle) myHiStyle;
 };