Diffstat (limited to 'noncore/multimedia/opieplayer2/xinevideowidget.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/multimedia/opieplayer2/xinevideowidget.cpp | 35 |
1 files changed, 22 insertions, 13 deletions
diff --git a/noncore/multimedia/opieplayer2/xinevideowidget.cpp b/noncore/multimedia/opieplayer2/xinevideowidget.cpp index 9b26d41..1d88cea 100644 --- a/noncore/multimedia/opieplayer2/xinevideowidget.cpp +++ b/noncore/multimedia/opieplayer2/xinevideowidget.cpp @@ -44,6 +44,7 @@ #include "xinevideowidget.h" + // 0 deg rot: copy a line from src to dst (use libc memcpy) // 180 deg rot: copy a line from src to dst reversed @@ -59,25 +60,25 @@ static inline void memcpy_rev ( void *dst, void *src, size_t len ) // 90 deg rot: copy a column from src to dst -static inline void memcpy_step ( void *dst, void *src, size_t len, size_t linestep ) +static inline void memcpy_step ( void *dst, void *src, size_t len, size_t step ) { len >>= 1; while ( len-- ) { *((short int *) dst) ++ = *((short int *) src); - ((char * ) src) += linestep; + ((char *) src ) += step; } } // 270 deg rot: copy a column from src to dst reversed -static inline void memcpy_step_rev ( void *dst, void *src, size_t len, size_t linestep ) +static inline void memcpy_step_rev ( void *dst, void *src, size_t len, size_t step ) { len >>= 1; - ((char *) src) += ( len * linestep ); + ((char *) src ) += ( len * step ); while ( len-- ) { - ((char *) src) -= linestep; + ((char *) src ) -= step; *((short int *) dst) ++ = *((short int *) src); } } @@ -182,6 +183,7 @@ void XineVideoWidget::paintEvent ( QPaintEvent * ) case 3: memcpy_step_rev ( dst + leftfill, src, framefill, m_bytes_per_line_frame ); break; default: break; } + } if ( rightfill ) memset ( dst + leftfill + framefill, 0, rightfill ); // "right" border -> black } @@ -198,6 +200,7 @@ void XineVideoWidget::paintEvent ( QPaintEvent * ) } } } + } { // QVFB hack by Martin Jones @@ -212,16 +215,21 @@ void XineVideoWidget::paintEvent ( QPaintEvent * ) } } - QImage *XineVideoWidget::logo ( ) const { + +QImage *XineVideoWidget::logo ( ) const +{ return m_logo; } - void XineVideoWidget::setLogo ( QImage * image ) { + +void XineVideoWidget::setLogo ( QImage* logo ) +{ delete m_logo; - m_logo = image; + m_logo = logo; } - void XineVideoWidget::setVideoFrame ( uchar * img, int w, int h, int bpl ) { +void XineVideoWidget::setVideoFrame ( uchar* img, int w, int h, int bpl ) +{ bool rot90 = (( -m_rotation ) & 1 ); if ( rot90 ) { // if the rotation is 90 or 270 we have to swap width / height @@ -238,16 +246,16 @@ void XineVideoWidget::paintEvent ( QPaintEvent * ) // only repaint the area that *really* needs to be repainted - repaint (( + repaint ((( m_thisframe & m_lastframe ) != m_lastframe ) ? m_lastframe : m_thisframe, false ); } - void XineVideoWidget::resizeEvent ( QResizeEvent * ) { +void XineVideoWidget::resizeEvent ( QResizeEvent * ) +{ QSize s = size ( ); bool fs = ( s == qApp-> desktop ( ) -> size ( )); // if we are in fullscreen mode, do not rotate the video // (!! the paint routine uses m_rotation + qt_screen-> transformOrientation() !!) - m_rotation = fs ? -qt_screen-> transformOrientation ( ) : 0; if ( fs && qt_screen-> isTransformed ( )) @@ -257,7 +265,8 @@ void XineVideoWidget::paintEvent ( QPaintEvent * ) } - void XineVideoWidget::mouseReleaseEvent ( QMouseEvent * ) { +void XineVideoWidget::mouseReleaseEvent ( QMouseEvent * /*me*/ ) +{ emit clicked ( ); } |