// 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 _V3d_ColorScale_HeaderFile
#define _V3d_ColorScale_HeaderFile

#include <Standard.hxx>
#include <Standard_DefineHandle.hxx>
#include <Handle_V3d_ColorScale.hxx>

#include <V3d_LayerMgrPointer.hxx>
#include <Standard_Boolean.hxx>
#include <Aspect_ColorScale.hxx>
#include <Handle_V3d_LayerMgr.hxx>
#include <Standard_Integer.hxx>
class V3d_LayerMgr;
class Quantity_Color;
class TCollection_ExtendedString;


//! A colorscale class
class V3d_ColorScale : public Aspect_ColorScale
{

public:

  
  //! Returns returns ColorScale from V3d.
  //! Returns View from V3d.
  Standard_EXPORT V3d_ColorScale(const Handle(V3d_LayerMgr)& theMgr);
  
  Standard_EXPORT   void Display() ;
  
  Standard_EXPORT   void Erase() ;
  
  Standard_EXPORT   Standard_Boolean IsDisplayed()  const;
  
  Standard_EXPORT virtual   void PaintRect (const Standard_Integer theX, const Standard_Integer theY, const Standard_Integer theWidth, const Standard_Integer theHeight, const Quantity_Color& theColor, const Standard_Boolean theFilled = Standard_False) ;
  
  Standard_EXPORT virtual   void PaintText (const TCollection_ExtendedString& theText, const Standard_Integer theX, const Standard_Integer theY, const Quantity_Color& theColor) ;
  
  Standard_EXPORT virtual   Standard_Integer TextWidth (const TCollection_ExtendedString& theText)  const;
  
  Standard_EXPORT virtual   Standard_Integer TextHeight (const TCollection_ExtendedString& theText)  const;
  
  Standard_EXPORT   void TextSize (const TCollection_ExtendedString& theText, const Standard_Integer theHeight, Standard_Integer& theWidth, Standard_Integer& theAscent, Standard_Integer& theDescent)  const;
  
  Standard_EXPORT   void DrawScale() ;




  DEFINE_STANDARD_RTTI(V3d_ColorScale)

protected:

  
  Standard_EXPORT virtual   void UpdateColorScale() ;



private: 


  V3d_LayerMgrPointer myLayerMgr;
  Standard_Boolean myDisplay;


};







#endif // _V3d_ColorScale_HeaderFile
