void drawVerticalSegment(int midx, int midy, int width, int height) { if (height <= 0) drawFilledBox(midx-width/2, midy-2, midx+width/2, midy+2); else { drawFilledBox(midx-width/2, (int)(midy-height*1.5), midx+width/2, (int)(midy+height*1.5)); drawFilledTriangle(midx, midy+height*2, midx-width/2, (int)(midy+height*1.5), midx+width/2, (int)(midy+height*1.5)); drawFilledTriangle(midx, midy-height*2, midx-width/2, (int)(midy-height*1.5), midx+width/2, (int)(midy-height*1.5)); } }
void drawHorizontalSegment(int midx, int midy, int width, int height) { if (width <= 0) drawFilledBox(midx-2, midy-height/2, midx+2, midy+width/2); else { drawFilledBox((int)(midx-width*1.5), (int)(midy-height/2), (int)(midx+width*1.5), (int)(midy+height/2)); drawFilledTriangle((int)(midx-width*2), midy, (int)(midx-width*1.5), midy-height/2, (int)(midx-width*1.5), midy+height/2); drawFilledTriangle((int)(midx+width*2), midy, (int)(midx+width*1.5), midy-height/2, (int)(midx+width*1.5), midy+height/2); } }
void H2CanvasDelegate::drawStraightFilledH2Triangle(const H2Triangle &triangle, bool back) { H2Point A, B, C; (mobius*triangle).getPoints(A, B, C); Complex zA = A.getDiskCoordinate(); Complex zB = B.getDiskCoordinate(); Complex zC = C.getDiskCoordinate(); drawFilledTriangle(zA, zB, zC, back); }
void H2CanvasDelegate::highlightStraightH2Triangle(const H2Triangle &triangle, const QColor &color) { H2Point A, B, C; (mobius*triangle).getVertices(A, B, C); QBrush brush; brush.setColor(color); brush.setStyle(Qt::SolidPattern); painterTop->setBrush(brush); penTop->setWidth(1); penTop->setColor(color); painterTop->setPen(*penTop); drawFilledTriangle(A.getDiskCoordinate(), B.getDiskCoordinate(), C.getDiskCoordinate(), false); }