/* ==================== Color::averageValues Averages the provided colors and returns the result ==================== */ Color Color::averageValues(Color* colors, int numValues) { Color result = ColorBlack(); for(int i = 0; i < numValues; i++) { result = result + colors[i]; } double divNum = 1.f/numValues; result = result * divNum; return result; }
void acCustomGraphicsScene::drawBackground(QPainter *painter, const QRectF &rect) { // color Black QColor ColorBlack(0, 0, 0); // color White QColor ColorWhite(255, 255, 255); // Draw a line grid if (m_gridenabled != eCustomGraphicsScene_Grids::None) { painter->setPen(Qt::white); // Start point for Horizonal steps qreal startH = 0; //Start point for Virtical steps qreal startV = 0; switch (m_gridenabled) { case eCustomGraphicsScene_Grids::Block: { QImage image(":/CompressonatorGUI/Images/GridSolid.png"); QBrush brush(image); painter->fillRect(rect, brush); break; } case eCustomGraphicsScene_Grids::Lines: { // First fill the BackGround as black painter->fillRect(rect, ColorBlack); // draw horizontal grid lines painter->setPen(QPen(ColorWhite)); for (qreal y = startH; y < rect.bottom();) { y += m_gridStep; painter->drawLine(rect.left(), y, rect.right(), y); } // draw virtical grid lines for (qreal x = startV; x < rect.right();) { x += m_gridStep; painter->drawLine(x, rect.top(), x, rect.bottom()); } break; } case eCustomGraphicsScene_Grids::Dots: { // First fill the BackGround as black painter->fillRect(rect, ColorBlack); // draw points painter->setPen(QPen(ColorWhite)); for (qreal y = startH; y < rect.bottom();) { y += m_gridStep; // draw virtical grid lines for (qreal x = startV; x < rect.right();) { x += m_gridStep; painter->drawPoint(x, y); } } break; } default: { painter->fillRect(rect, ColorBlack); break; } } } else painter->fillRect(rect, ColorBlack); }