51 m_TextAlignType(eLeftText),
53 m_TickStyle(eBothSides), m_TickSize(kDefTickSize),
54 m_Color(0.0f, 0.0f, 0.2f),
55 m_TextColor(0.5f, 0.5f, 0.5f),
153 double vpBottom = rcGraphVP.
Bottom();
154 double vpTop = rcGraphVP.
Top();
156 glVertex2d(vpX, vpBottom);
157 glVertex2d(vpX, vpTop);
164 if(vpY >= vpBottom && vpY <= vpTop)
166 glVertex2d(vpX + dTickMin, vpY);
167 glVertex2d(vpX + dTickMax, vpY);
178 if (itL->m_bVisible) {
183 case eRightText: tX -= 10 + itL->m_Width;
break;
186 int tY = itL->m_Pos -
H/2;
213 glVertex2d(vpLeft, vpY);
214 glVertex2d(vpRight, vpY);
221 if(vpX >= vpLeft && vpX <= vpRight)
223 glVertex2d(vpX, vpY + dTickMin);
224 glVertex2d(vpX, vpY + dTickMax);
235 if (itL->m_bVisible) {
251 int vpZ, vpStart, vpFinish;
263 if(vpZ >= vpStart && vpZ <= vpFinish)
276 #define LABEL_SPACE_X 8
277 #define LABEL_SPACE_Y 1
287 int Size =
m_bHorz ? it->m_Width :
H;
288 int LabelMin = it->m_Pos - Size / 2;
289 int LabelMax = LabelMin + Size + Space;
291 if (LabelMin < Min || LabelMax > Max)
292 it->m_bVisible =
false;
294 it->m_bVisible =
true;
329 : m_BoundsColor(0.5f, 0.5f, 0.5f)
341 static const int kDefTickSize = 4;
class CRgbaColor provides a simple abstraction for managing colors.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define NON_CONST_ITERATE(Type, Var, Cont)
Non constant version of ITERATE macro.
void SetColor(CRgbaColor Color)
void SetTextColor(CRgbaColor Color)
void SetTextAlign(ETextAlign Type)
void SetTickSize(int SizePix)
TModelUnit m_FixedPosValue
virtual TModelUnit x_GetLabelValue(TModelUnit Value)
CAxisRenderer(bool bHorz=true)
vector< SLabelDescr > m_vLabels
virtual void x_LayoutLabels(int Start, int Finish)
virtual void x_GenerateLabels(CGlPane *pAreaPane, CGlPane *pGraphPane, CRegularGridGen *pGen)
ETextAlign m_TextAlignType
void SetFixedPosition(TModelUnit Value)
void Render(CGlPane *pAreaPane, CGlPane *pGraphPane, CRegularGridGen *pGen)
void SetScaleType(EScaleType TypeX, EScaleType TypeY)
static const int kDefTickSize
class CAxisRenderer
CAxisArea()
class CAxisArea
virtual void x_DrawHorzLabels(CGlPane *pAreaPane, CGlPane *pGraphPane, CRegularGridGen *pGen, int dTickMin, int dTickMax)
void GenerateGrid(CGlPane *pPane, bool bHorz)
iteration interface.
virtual string x_FormatLabel(TModelUnit Value)
void SetPositionType(EPosition Type)
void SetTickStyle(ETickStyle Style)
void SetHorizontal(bool bHorz=true)
void SetFormattingTemplate(const string &sTempl)
virtual void Render(CGlPane *pAreaPane, CGlPane *pGraphPane, CRegularGridGen *pGen)
void SetScaleType(EScaleType Type)
virtual void TextOut(const char *text) const
TVPUnit ProjectX(TModelUnit m_x) const
TVPRect & GetViewport(void)
TVPUnit ProjectY(TModelUnit m_y) const
virtual TModelUnit TextHeight(void) const
compute the height of a string
virtual TModelUnit TextWidth(const char *text) const
compute the length of a null-terminated string
void glColorC(const CRgbaColor &color)
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
unsigned int
A callback function used to compare two keys in a database.
GenericValue< UTF8<> > Value
GenericValue with UTF8 encoding.