本文整理汇总了C++中GraphicsContext::drawConvexPolygon方法的典型用法代码示例。如果您正苦于以下问题:C++ GraphicsContext::drawConvexPolygon方法的具体用法?C++ GraphicsContext::drawConvexPolygon怎么用?C++ GraphicsContext::drawConvexPolygon使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GraphicsContext
的用法示例。
在下文中一共展示了GraphicsContext::drawConvexPolygon方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: draw
void HUDSlider::draw(GraphicsContext& context)
{
// Draw gutter
IntSize radius(m_rect.height() / 2, m_rect.height() / 2);
context.fillRoundedRect(FloatRoundedRect(m_rect, radius, radius, radius, radius), Color(sliderGutterColor), ColorSpaceDeviceRGB);
// Draw button
context.setStrokeColor(Color(sliderButtonColor), ColorSpaceDeviceRGB);
context.setFillColor(Color(sliderButtonColor), ColorSpaceDeviceRGB);
if (m_buttonShape == RoundButton) {
context.drawEllipse(IntRect(m_rect.location().x() + m_buttonPosition, m_rect.location().y() - (m_buttonSize - m_rect.height()) / 2, m_buttonSize, m_buttonSize));
return;
}
// Draw a diamond
FloatPoint points[4];
float half = static_cast<float>(m_buttonSize) / 2;
points[0].setX(m_rect.location().x() + m_buttonPosition + half);
points[0].setY(m_rect.location().y());
points[1].setX(m_rect.location().x() + m_buttonPosition + m_buttonSize);
points[1].setY(m_rect.location().y() + half);
points[2].setX(m_rect.location().x() + m_buttonPosition + half);
points[2].setY(m_rect.location().y() + m_buttonSize);
points[3].setX(m_rect.location().x() + m_buttonPosition);
points[3].setY(m_rect.location().y() + half);
context.drawConvexPolygon(4, points, true);
}