[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Traverso-commit] traverso/src/traverso/songcanvas AudioClipView.cpp
From: |
Remon Sijrier |
Subject: |
[Traverso-commit] traverso/src/traverso/songcanvas AudioClipView.cpp |
Date: |
Thu, 19 Apr 2007 12:50:31 +0000 |
CVSROOT: /sources/traverso
Module name: traverso
Changes by: Remon Sijrier <r_sijrier> 07/04/19 12:50:31
Modified files:
src/traverso/songcanvas: AudioClipView.cpp
Log message:
small improvement on 2 pixel at a time painting, still not really as it
was..
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/AudioClipView.cpp?cvsroot=traverso&r1=1.43&r2=1.44
Patches:
Index: AudioClipView.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/AudioClipView.cpp,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -b -r1.43 -r1.44
--- AudioClipView.cpp 18 Apr 2007 12:52:53 -0000 1.43
+++ AudioClipView.cpp 19 Apr 2007 12:50:31 -0000 1.44
@@ -55,8 +55,7 @@
m_sv = sv;
m_tv->scene()->addItem(this);
- clipNamePixmapActive = QPixmap();
- clipNamePixmapInActive = QPixmap();
+ m_clipnamePixmap = QPixmap();
load_theme_data();
@@ -126,7 +125,7 @@
clipRect.setHeight(clipRect.height());
painter->setClipRect(clipRect);
- if (m_drawbackground) {
+ if (false) {
bool mousehover = (option->state & QStyle::State_MouseOver);
if (m_clip->recording_state() == AudioClip::RECORDING) {
@@ -221,12 +220,22 @@
// which looks ugly when only parts of the clip is repainted
// when using a different color for the brush then the outline.
// Painting one more pixel makes it getting clipped away.....
- pixelcount += 1;
+ pixelcount += 2;
// Seems like we need one pixel more to the left as well, to
// make the outline painting painted correctly...
- xstart = xstart - 1;
- if (xstart < 0)
+ xstart -= 1;
+ // When painting skips one pixel at a time, we always have to start
+ // at an even position with an even amount of pixels to paint
+ if (xstart % 2) {
+ xstart -= 1;
+ pixelcount++;
+ }
+ if (xstart < 0) {
xstart = 0;
+ }
+ if (pixelcount % 2) {
+ pixelcount += 1;
+ }
int channels = m_clip->get_channels();
bool microView = m_song->get_hzoom() > Peak::MAX_ZOOM_USING_SOURCEFILE
? 0 : 1;
@@ -416,17 +425,16 @@
if (m_classicView) {
QPolygonF polygonbottom(pixelcount);
- for (int x = xstart; x < (pixelcount+xstart);
x+=2) {
- if ( (x + 2) < (pixelcount+xstart)) {
+ int range = pixelcount+xstart;
+ for (int x = xstart; x < range; x+=2) {
float ytop =
f_max(pixeldata[chan][bufferpos], pixeldata[chan][bufferpos + 2]);
float ybotom =
f_max(pixeldata[chan][bufferpos + 1], pixeldata[chan][bufferpos + 3]);
polygontop.append( QPointF(x,
ytop) );
polygonbottom.append(
QPointF(x, - ybotom) );
bufferpos += 4;
- } else {
- polygontop.append( QPointF(x,
pixeldata[chan][bufferpos++]) );
- polygonbottom.append(
QPointF(x, - pixeldata[chan][bufferpos++]) );
- }
+
+/* polygontop.append( QPointF(x,
pixeldata[chan][bufferpos++]) );
+ polygonbottom.append( QPointF(x, -
pixeldata[chan][bufferpos++]) );*/
}
path.addPolygon(polygontop);
@@ -479,7 +487,7 @@
p->fillRect(xstart, 0, pixelcount, m_infoAreaHeight,
themer()->get_color("AudioClip:clipinfobackground:inactive"));
// Draw Clip Info Area
- p->drawPixmap(0, 0, clipNamePixmapInActive, 0, 0, 600,
m_infoAreaHeight);
+ p->drawPixmap(0, 0, m_clipnamePixmap, 0, 0, 600, m_infoAreaHeight);
}
@@ -508,27 +516,18 @@
QString clipInfo = clipName + " " + sclipGain + " " +
sclipNormGain + " " + sRate + " Hz";
int clipInfoAreaWidth = 700;
- clipNamePixmapActive = QPixmap(clipInfoAreaWidth, m_infoAreaHeight);
- clipNamePixmapInActive = QPixmap(clipInfoAreaWidth, m_infoAreaHeight);
+ m_clipnamePixmap = QPixmap(clipInfoAreaWidth, m_infoAreaHeight);
-
clipNamePixmapActive.fill(themer()->get_color("AudioClip:clipinfobackground"));
-
clipNamePixmapInActive.fill(themer()->get_color("AudioClip:clipinfobackground:inactive"));
+ m_clipnamePixmap.fill(Qt::transparent);
- QPainter paint(&clipNamePixmapActive);
+ QPainter paint(&m_clipnamePixmap);
paint.setRenderHint(QPainter::TextAntialiasing );
paint.setPen(themer()->get_color("Text:dark"));
paint.setFont(themer()->get_font("AudioClip:title"));
QRect r = QRect(5, 0, clipInfoAreaWidth, m_infoAreaHeight);
paint.drawText( r, Qt::AlignVCenter, clipInfo);
-
-
- QPainter painter(&clipNamePixmapInActive);
- painter.setRenderHint(QPainter::TextAntialiasing );
- painter.setPen(themer()->get_color("Text:dark"));
- painter.setFont(themer()->get_font("AudioClip:title"));
- painter.drawText( r, Qt::AlignVCenter, clipInfo);
}
void AudioClipView::update_progress_info( int progress )
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Traverso-commit] traverso/src/traverso/songcanvas AudioClipView.cpp,
Remon Sijrier <=