Changeset 8703:b0c6a64e804f in orange


Ignore:
Timestamp:
08/14/11 14:41:32 (3 years ago)
Author:
Noughmad <Noughmad@…>
Branch:
default
Convert:
534ee5e3c718ffb671a7f2553c9f55d54a74261b
Message:

Use a gradient to differentiate between normal, marked and selected points.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • source/orangeqt/point.cpp

    r8695 r8703  
    9494        if (m_display_mode == DisplayPath) 
    9595        { 
    96             QColor brush_color = m_color; 
    97  
     96            QBrush brush(m_color); 
    9897            QPixmap pixmap(ps, ps); 
    9998            pixmap.fill(Qt::transparent); 
    10099            QPainter p; 
     100             
     101            QPen pen(m_color); 
     102            pen.setWidth(qMin(2, m_size/8)); 
     103             
    101104            p.begin(&pixmap); 
    102             p.setRenderHints(painter->renderHints()); 
    103             p.setRenderHint(QPainter::Antialiasing, true); 
     105            p.setRenderHints(painter->renderHints() | QPainter::Antialiasing); 
    104106            if (m_state & Selected) 
    105107            { 
    106                 p.setPen(Qt::yellow); 
     108                brush.setColor(m_color); 
     109                pen.setStyle(Qt::NoPen); 
    107110            } 
    108111            else if (m_state & Marked) 
    109112            { 
    110                 //p.setBrush(m_color); 
     113                QRadialGradient g(0.5*ps, 0.5*ps, 0.5*m_size); 
     114                g.setColorAt(0, m_color); 
     115                g.setColorAt(0.5, Qt::transparent); 
     116                g.setColorAt(1, m_color); 
     117                brush = QBrush(g); 
     118                pen.setStyle(Qt::NoPen); 
    111119            } 
    112120            else 
    113121            { 
    114                 brush_color.setAlpha(m_color.alpha()/8); 
    115                 p.setPen(m_color); 
     122                QColor c = brush.color(); 
     123                c.setAlpha(m_color.alpha()/8); 
     124                brush.setColor(c); 
    116125            } 
    117             const QPainterPath path = path_for_symbol(m_symbol, m_size); 
     126            const QPainterPath path = path_for_symbol(m_symbol, m_size).translated(0.5*ps, 0.5*ps); 
    118127 
    119128            if (!m_transparent) 
    120129            { 
    121130                p.setBrush(Qt::white); 
    122                 p.drawPath(path.translated(0.5*ps, 0.5*ps)); 
     131                p.drawPath(path); 
    123132            } 
    124133 
    125             p.setBrush(brush_color); 
    126             p.drawPath(path.translated(0.5*ps, 0.5*ps)); 
     134            p.setBrush(brush); 
     135            p.setPen(pen); 
     136            p.drawPath(path); 
    127137            pixmap_cache.insert(key, pixmap); 
    128138        }  
Note: See TracChangeset for help on using the changeset viewer.