gml_GRItem_Text_GL.h

00001 // gml_GRItem_Text_GL.h --
00002 //
00003 //    OpenGL rendering of a Text item (see "gml/ui/gml_GRItem_Text.h").
00004 //
00005 //  Copyright (c) 2004 CLIPS-IMAG
00006 //
00007 //  See the file "gml_LicenseTerms.txt" for information on usage and redistribution
00008 //  of this file, and for a DISCLAIMER OF ALL WARRANTIES.
00009 //
00010 //  Created on February 12, 2004 (FB).
00011 
00012 #ifndef __GML_GRITEM_TEXT_GL__
00013 #define __GML_GRITEM_TEXT_GL__
00014 
00015 #include "gml/ui/gml_GRItem_Text.h"
00016 #include "gml/ui/gml_GRItem_GL.h"
00017 
00018 #include "gml/gl/gml_GL_Base.h"
00019 #include "gml/gl/gml_GL_Texture.h"
00020 
00021 struct Tcl_Interp;
00022 
00023 
00024 // gml_TGRItem_Text_GL --
00025 
00026 class gml_TGRItem_Text_GL: public gml_TGRItem_Text, public gml_TGRItem_GL
00027 {
00028 public:
00029 
00030   // Init --
00031   //
00032   //  See "gml_TGRItem::Init".
00033   virtual
00034   gml_TError        Init (gml_TGRItem_Scene_GL* scene       = (gml_TGRItem_Scene_GL*)NULL,
00035                           gml_TGRItem*          parentItem  = (gml_TGRItem*)NULL,
00036                           gml_TGRItemTransfo*   transfo     = (gml_TGRItemTransfo*)NULL,
00037                           gml_TPointer          clientData  = (gml_TPointer)NULL,
00038                           Tcl_Interp*           tcl_interp  = (Tcl_Interp*)NULL);
00039   
00040   // Dispose --
00041   //
00042   //  See "gml_TGRItem::Dispose".
00043 
00044   void              Dispose ();
00045 
00046 
00047   // Dispose --
00048   //
00049   //  See "gml_TGRItem::Suicide".
00050 
00051   void              Suicide ()
00052                       { delete this; }
00053 
00054 
00055   // Configure --
00056   //
00057   //  See "gml_TGRItem_Text::Configure".
00058 
00059   virtual
00060   gml_TError        Configure  (char*               text          = (char*)NULL,
00061                                 char*               font          = (char*)NULL,
00062                                 gml_TRGBColor*      color         = (gml_TRGBColor*)NULL,
00063                                 gml_TGRItemParam*   alpha         = (gml_TGRItemParam*)NULL,
00064                                 gml_TGRItemAnchor*        anchor  = (gml_TGRItemAnchor*)NULL,
00065                                 int*                      width   = (int*)NULL,
00066                                 gml_TTextRender_Justify*  justify = (gml_TTextRender_Justify*)NULL);
00067 
00068   // DrawGL --
00069   //
00070   //  See "gml_TGRItem_GL::DrawGL".
00071 
00072   void              DrawGL ();
00073 
00074   // IsOverItem --
00075 
00076   virtual
00077   gml_TBoolean      IsOverItem (gml_TGRItemParam* pt);
00078 
00079 
00080 
00081   // PointToItem --
00082   //
00083   //  deprecated.
00084 
00085   gml_TGRItemParam  PointToItem (gml_TGRItemParam* pt);
00086 
00087 protected:
00088 
00089   gml_TBoolean      fGLBranchInitialized;   /* True if gml_TGRItem_GL::Init () has been called */
00090   GLfloat           fGLColor[4];
00091 
00092   gml_TBitmap*      fAlphaBitmap;           ///< Luminance bitmap.
00093   gmlGL_TTexture*   fTexture;               ///< Text alpha texture
00094   gml_TBoolean      fTextureDirty;          ///< True if the texture must be updated.
00095 };
00096 
00097 
00098 
00099 #endif
Generated on Tue Jun 12 14:03:27 2007 for gml by Doxygen 1.5.2.