clip bars to viewport.
This commit is contained in:
@@ -533,7 +533,9 @@ void _drawCurveVertBars(AQDG_OBJECT *o, AQDG_DRAW_CONTEXT *dc, const AQDG_GRAPH_
|
|||||||
valueMinDist, barWidth, baseLineValueY, baseLinePosY);
|
valueMinDist, barWidth, baseLineValueY, baseLinePosY);
|
||||||
#endif
|
#endif
|
||||||
while(dp) {
|
while(dp) {
|
||||||
int xPos;
|
int pos;
|
||||||
|
int xPos1;
|
||||||
|
int xPos2;
|
||||||
int yPos;
|
int yPos;
|
||||||
int h;
|
int h;
|
||||||
double xValue;
|
double xValue;
|
||||||
@@ -542,14 +544,18 @@ void _drawCurveVertBars(AQDG_OBJECT *o, AQDG_DRAW_CONTEXT *dc, const AQDG_GRAPH_
|
|||||||
xValue=AQDG_Graph_DataPair_GetValueX(dp);
|
xValue=AQDG_Graph_DataPair_GetValueX(dp);
|
||||||
yValue=AQDG_Graph_DataPair_GetValueY(dp);
|
yValue=AQDG_Graph_DataPair_GetValueY(dp);
|
||||||
|
|
||||||
xPos=_calcHorizontalPos(xValue, width, minValueX, maxValueX)-barWidth/2;
|
pos=_calcHorizontalPos(xValue, width, minValueX, maxValueX);
|
||||||
|
xPos1=pos-barWidth/2;
|
||||||
|
xPos2=pos+barWidth/2;
|
||||||
|
xPos1=(xPos1<0)?0:xPos1;
|
||||||
|
xPos2=(width>xPos2)?xPos2:(width-1);
|
||||||
yPos=_calcVerticalPos(yValue, height, minValueY, maxValueY);
|
yPos=_calcVerticalPos(yValue, height, minValueY, maxValueY);
|
||||||
h=baseLinePosY-yPos;
|
h=baseLinePosY-yPos;
|
||||||
if (h<0) {
|
if (h<0) {
|
||||||
yPos+=h;
|
yPos+=h;
|
||||||
h=-h;
|
h=-h;
|
||||||
}
|
}
|
||||||
AQDG_Draw_Context_DrawFilledRect(dc, pen, absX+xPos, absY+yPos, barWidth, h);
|
AQDG_Draw_Context_DrawFilledRect(dc, pen, absX+xPos1, absY+yPos, (xPos2-xPos1)+1, h);
|
||||||
dp=AQDG_Graph_DataPair_List_Next(dp);
|
dp=AQDG_Graph_DataPair_List_Next(dp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user