void GuideSortOrder_CreateGradients( void ){
	word rgn;
	GuideSortOrder_MemFree();
	if( Settings_GradientFactor > 0 ){
		rgn	= TAP_Osd_Create(0, 0, GuideSortOrder_Option_W, GuideSortOrder_Option_H, 0, OSD_Flag_MemRgn);
		// Main default item
		createGradient(rgn, GuideSortOrder_Option_W, GuideSortOrder_Option_H, Settings_GradientFactor, DISPLAY_ITEM);
		GuideSortOrder_ItemBase = TAP_Osd_SaveBox(rgn, 0, 0, GuideSortOrder_Option_W, GuideSortOrder_Option_H);
		createGradient(rgn, GuideSortOrder_Option_W, GuideSortOrder_Option_H, Settings_GradientFactor, DISPLAY_ITEMSELECTED);
		GuideSortOrder_ItemHigh = TAP_Osd_SaveBox(rgn, 0, 0, GuideSortOrder_Option_W, GuideSortOrder_Option_H);
		TAP_Osd_Delete(rgn);
	}
}
void TupGradientSelector::init()
{
    setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
    
    setMaximumWidth(100);
    setMinimumWidth(100);
    
    setStops(m_gradient.stops());
    
    createGradient();
    emit gradientChanged(m_gradient.stops());;
}
void TupGradientSelector::setCurrentColor(const QColor& color)
{
    if (m_arrows.count() > 0) {
        TupGradientArrow *arrow  = m_arrows[m_currentArrowIndex];
        if (arrow)
            m_arrows[m_currentArrowIndex]->setColor(color);
    }
    
    createGradient();
    emit gradientChanged(m_gradient.stops());
    repaint();
    m_currentColor = color;
}
Image* CSSGradientValue::image(RenderObject* renderer, const IntSize& size)
{
    ASSERT(m_clients.contains(renderer));
    
    // Need to look up our size.  Create a string of width*height to use as a hash key.
    Image* result = getImage(renderer, size);
    if (result)
        return result;
    
    if (size.isEmpty())
        return 0;
    
    // We need to create an image.
    result = new GeneratedImage(createGradient(renderer, size), size);
    putImage(size, result);

    return result;
}
HoverPoints::HoverPoints(QWidget *widget, PointShape shape)
    : QObject(widget)
{
    m_widget = widget;
    widget->installEventFilter(this);
    widget->setAttribute(Qt::WA_AcceptTouchEvents);

    m_connectionType = CurveConnection;
    m_sortType = NoSort;
    m_shape = shape;
    m_pointPen = QPen(QColor(255, 255, 255, 191), 1);
    m_connectionPen = QPen(QColor(255, 255, 255, 127), 2);
    m_pointBrush = QBrush(QColor(191, 191, 191, 127));
    m_pointSize = QSize(11, 11);
    m_currentIndex = -1;
    m_editable = true;
    m_enabled = true;
    m_minCountPoints = 2;
    
    createGradient();
    
    connect(this, SIGNAL(pointsChanged(QPolygonF)),
            m_widget, SLOT(update()));
}
void TupGradientSelector::drawContents(QPainter *painter)
{
    createGradient();
    painter->setBrush(m_gradient);
    painter->drawRect(contentsRect());
}