1 #ifndef GUI_OPENGL___GL_RENDER_COMMON__HPP
2 #define GUI_OPENGL___GL_RENDER_COMMON__HPP
83 virtual void Vertex3f(GLfloat x, GLfloat y, GLfloat z);
86 virtual void Rectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);
144 virtual void Viewport(GLint x, GLint y, GLsizei width, GLsizei height);
162 virtual void x_RenderBuffer(
CGlVboNode* node);
164 void x_SyncAttribs(vector<CRgbaColor>&
colors);
CGlModel2D Base class for a model set up for rendering purposes.
CGlVboNode A rendering node that holds a vertex buffer object.
virtual void EndClippingRect()
CGlVboNode m_RenderNode
vertex buffer node for rendering all Begin()/End() renders
CRef< CGlState > m_State
state used by all nodes
CRgbaColor m_TextColor
color and alpha for text only (other GL options do not apply to text)
GLenum m_CurrentMode
rendering mode from Begin()
virtual void SetIsGreyscale(bool)
const CGlTextureFont * m_CurrentFont
text parameters
virtual void BeginClippingRect(GLint x, GLint y, GLsizei width, GLsizei height)
virtual bool IsSimplified() const
vector< CVect2< float > > m_TexCoord2DBuffer1
void SetTextColor(const CRgbaColor &color)
Update text color and alpha.
virtual CRef< CGlState > GetState()
Allow caller to access state directly.
CRgbaColor GetTextColor() const
vector< CRgbaColor > m_ColorBuffer
GLenum m_MatrixMode
current modelview matrix and matrix mode
virtual void ResetState()
virtual ERenderTarget GetApi()
Overridden in subclasses to return the supported rendering target.
vector< CVect3< float > > m_VertexBuffer
virtual bool IsPrinterFriendly() const
class CRgbaColor provides a simple abstraction for managing colors.
static const Colors colors
virtual void Clear()=0
Clear/delete any graphics/OpenGL memory.
virtual void Viewport(GLint x, GLint y, GLsizei width, GLsizei height)=0
virtual void TexCoord2f(GLfloat s, GLfloat t)=0
Colors (also defined in IGlState since they can be set either before or inside of Begin()/End().
virtual void Begin(GLenum mode)=0
Start rendering.
virtual void Render(CGlPane &pane, CGlModel2D *model)=0
virtual TModelUnit TextHeight(const CGlTextureFont *font) const =0
virtual void BeginText(const CGlTextureFont *font, const CRgbaColor &color)=0
Text is drawn is pixel coordinates.
virtual TModelUnit TextWidth(const CGlTextureFont *font, const char *text) const =0
virtual void EndText()=0
Pops matrices and attributes after writing text.
virtual TModelUnit GetMaxWidth(const CGlTextureFont *font, int max_num) const =0
ERenderTarget
Different api levels based on information from OpenGL driver.
virtual void End()=0
Finish rendering (create buffer and send to renderer)
virtual void WriteText(TModelUnit x, TModelUnit y, const char *text, TModelUnit rotate_degrees=0.0)=0
Write text at specified model coords.
virtual TModelUnit GetMetric(const CGlTextureFont *font, IGlFont::EMetric metric, const char *text=NULL, int len=-1) const =0
Calls the standard font metric functions except for pdf in which case it first replaces any bitmap fo...
virtual void Vertex3f(GLfloat x, GLfloat y, GLfloat z)=0
Explicit support not currently available for: GLbyte, GlShort and GLint calls, e.g.
virtual void Rectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2)=0
Rect() functions also do Begin() and End() (as in OpenGL)
virtual void ColorC(const CRgbaColor &c)=0
Set current color (glColor{3,4}{f,d}{v,})
virtual void GetViewport(GLint *params)=0
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define NCBI_GUIOPENGL_EXPORT
static void text(MDB_val *v)
Standard mechanism to include OpenGL headers for all platforms.