traverso-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Traverso-commit] traverso/src/traverso/songcanvas AudioClipView....


From: Remon Sijrier
Subject: [Traverso-commit] traverso/src/traverso/songcanvas AudioClipView....
Date: Tue, 08 Jan 2008 21:18:57 +0000

CVSROOT:        /sources/traverso
Module name:    traverso
Changes by:     Remon Sijrier <r_sijrier>       08/01/08 21:18:57

Modified files:
        src/traverso/songcanvas: AudioClipView.cpp AudioClipView.h 

Log message:
        * cleanup polygon based painting a little, still the 'art-deco' bug 
present :(

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/AudioClipView.cpp?cvsroot=traverso&r1=1.124&r2=1.125
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/AudioClipView.h?cvsroot=traverso&r1=1.37&r2=1.38

Patches:
Index: AudioClipView.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/AudioClipView.cpp,v
retrieving revision 1.124
retrieving revision 1.125
diff -u -b -r1.124 -r1.125
--- AudioClipView.cpp   7 Jan 2008 18:11:31 -0000       1.124
+++ AudioClipView.cpp   8 Jan 2008 21:18:56 -0000       1.125
@@ -395,8 +395,8 @@
                // Microview, paint waveform as polyline
                if (microView) {
                
-                       m_polygontop.clear();
-                       m_polygontop.reserve(pixelcount);
+                       m_polygon.clear();
+                       m_polygon.reserve(pixelcount);
                        
                        int bufferPos = 0;
                        
@@ -417,7 +417,7 @@
                        p->drawLine(xstart, 0, xstart + pixelcount, 0);
                        
                        for (int x = xstart; x < (pixelcount+xstart); x++) {
-                               m_polygontop.append( QPointF(x, -scaleFactor * 
pixeldata[chan][bufferPos++]) );
+                               m_polygon.append( QPointF(x, -scaleFactor * 
pixeldata[chan][bufferPos++]) );
                        }
                        
                        if 
(themer()->get_property("AudioClip:wavemicroview:antialiased", 0).toInt()) {
@@ -425,7 +425,7 @@
                        }
                        
                        
p->setPen(themer()->get_color("AudioClip:wavemicroview"));
-                       p->drawPolyline(m_polygontop);
+                       p->drawPolyline(m_polygon);
                
                // Macroview, paint waveform with painterpath
                } else {
@@ -468,40 +468,23 @@
                                p->setMatrix(matrix().translate(xstart, 
ytrans).scale(1, scaleFactor), true);
                                
                                if (m_paintWithOutline) {
-                                       QPainterPath pathtop;
-                                       QPainterPath pathbottom;
+                                       QPainterPath path;
                                        
-                                       m_polygonbottom.clear();
-                                       m_polygontop.clear();
-                                       m_polygonbottom.reserve(pixelcount+2);
-                                       m_polygontop.reserve(pixelcount+2);
+                                       m_polygon.clear();
+                                       m_polygon.reserve(pixelcount*2);
                                        
-                                       m_polygontop.append(QPointF(0,0));
                                        for (int x = 0; x < pixelcount; x++) {
-                                               m_polygontop.append( QPointF(x, 
- pixeldata[chan][bufferpos+=2]) );
+                                               m_polygon.append( QPointF(x, - 
pixeldata[chan][bufferpos+=2]) );
                                        }
-                                       
m_polygontop.append(QPointF(pixelcount-1, 0));
                                        
                                        bufferpos += 1;
                                        
-                                       
m_polygonbottom.append(QPointF(pixelcount-1, 0));
                                        for (int x = pixelcount - 1; x >= 0; 
x--) {
-                                               m_polygonbottom.append( 
QPointF(x, pixeldata[chan][bufferpos-=2]) );
+                                               m_polygon.append( QPointF(x, 
pixeldata[chan][bufferpos-=2]) );
                                        }
-                                       m_polygonbottom.append(QPointF(0, 0));
-                                       
-                                       pathtop.addPolygon(m_polygontop);
-                                       pathbottom.addPolygon(m_polygonbottom);
-                                               
                                                        
-                                       // Using a pen means the polygon is 
drawn twice:
-                                       // one for the outline (pen) and one 
for the brush (fill)
-/*                                     if (m_dragging) {
-                                               p->setPen(Qt::NoPen);
-                                       }*/
-                                       
-                                       p->drawPath(pathtop);
-                                       p->drawPath(pathbottom);
+                                       path.addPolygon(m_polygon);
+                                       p->drawPath(path);
 
                                } else {
                                        for (int x = 0; x < pixelcount; x++) {
@@ -529,15 +512,15 @@
                                if (m_paintWithOutline) {
                                        
                                        QPainterPath path;
-                                       m_polygontop.clear();
-                                       m_polygontop.reserve(pixelcount + 2);
+                                       m_polygon.clear();
+                                       m_polygon.reserve(pixelcount + 2);
                                        
                                        for (int x=0; x<pixelcount; x++) {
-                                               m_polygontop.append( QPointF(x, 
pixeldata[chan][bufferpos++]) );
+                                               m_polygon.append( QPointF(x, 
pixeldata[chan][bufferpos++]) );
                                        }
                                        
-                                       m_polygontop.append(QPointF(pixelcount, 
0));
-                                       path.addPolygon(m_polygontop);
+                                       m_polygon.append(QPointF(pixelcount, 
0));
+                                       path.addPolygon(m_polygon);
                                        path.lineTo(0, 0);
                                        
                                        p->drawPath(path);

Index: AudioClipView.h
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/AudioClipView.h,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -b -r1.37 -r1.38
--- AudioClipView.h     7 Jan 2008 18:11:31 -0000       1.37
+++ AudioClipView.h     8 Jan 2008 21:18:57 -0000       1.38
@@ -80,8 +80,7 @@
        Song*           m_song;
        CurveView*      curveView;
        PositionIndicator* m_posIndicator;
-       QPolygonF m_polygonbottom;
-       QPolygonF m_polygontop;
+       QPolygonF m_polygon;
        QPixmap m_background;
        
        struct PainterPathCache {




reply via email to

[Prev in Thread] Current Thread [Next in Thread]