[Top][All Lists]
[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 {
- [Traverso-commit] traverso/src/traverso/songcanvas AudioClipView....,
Remon Sijrier <=