0030748: Visualization - Marker displayed in immediate layer ruins QT Quick view...
[occt.git] / src / OpenGl / OpenGl_PointSprite.hxx
index 1f13903..8573f76 100755 (executable)
 #define _OpenGl_PointSprite_H__
 
 #include <OpenGl_Texture.hxx>
-#include <Handle_OpenGl_PointSprite.hxx>
+
+class OpenGl_PointSprite;
+DEFINE_STANDARD_HANDLE(OpenGl_PointSprite, OpenGl_Texture)
 
 //! Point sprite resource. On modern hardware it will be texture with extra parameters.
 //! On ancient hardware sprites will be drawn using bitmaps.
 class OpenGl_PointSprite : public OpenGl_Texture
 {
-
+  DEFINE_STANDARD_RTTIEXT(OpenGl_PointSprite, OpenGl_Texture)
 public:
 
   //! Create uninitialized resource.
-  Standard_EXPORT OpenGl_PointSprite();
+  Standard_EXPORT OpenGl_PointSprite (const TCollection_AsciiString& theResourceId);
 
   //! Destroy object.
   Standard_EXPORT virtual ~OpenGl_PointSprite();
 
   //! Destroy object - will release GPU memory if any.
-  Standard_EXPORT virtual void Release (const OpenGl_Context* theCtx);
+  Standard_EXPORT virtual void Release (OpenGl_Context* theCtx) Standard_OVERRIDE;
+
+  //! Returns TRUE for point sprite texture.
+  virtual bool IsPointSprite() const Standard_OVERRIDE { return true; }
 
   //! @return true if this is display list bitmap
   inline Standard_Boolean IsDisplayList() const
@@ -52,10 +57,6 @@ protected:
 
   GLuint myBitmapList; //!< if of display list to draw sprite using glBitmap (for backward compatibility)
 
-public:
-
-  DEFINE_STANDARD_RTTI(OpenGl_PointSprite) // Type definition
-
 };
 
 #endif // _OpenGl_PointSprite_H__