Diffstat (limited to 'noncore/multimedia/opieplayer2/xinevideowidget.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/multimedia/opieplayer2/xinevideowidget.cpp | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/noncore/multimedia/opieplayer2/xinevideowidget.cpp b/noncore/multimedia/opieplayer2/xinevideowidget.cpp index b27b8e1..7c98ce5 100644 --- a/noncore/multimedia/opieplayer2/xinevideowidget.cpp +++ b/noncore/multimedia/opieplayer2/xinevideowidget.cpp @@ -118,3 +118,3 @@ static inline void memcpy_step_rev ( void *_dst, void *_src, size_t len, size_t XineVideoWidget::XineVideoWidget ( QWidget* parent, const char* name ) - : QWidget ( parent, name, WRepaintNoErase | WResizeNoErase ) + : QWidget ( parent, name, WRepaintNoErase | WResizeNoErase ),old_framerect(0,0,0,0),old_size(0,0) { @@ -133,3 +133,3 @@ XineVideoWidget::~XineVideoWidget ( ) { - ThreadUtil::AutoLock a(m_bufmutex); +#if 0 if (m_buff) { @@ -139,2 +139,3 @@ XineVideoWidget::~XineVideoWidget ( ) } +#endif if (m_logo) { @@ -146,2 +147,3 @@ void XineVideoWidget::clear ( ) { +#if 0 ThreadUtil::AutoLock a(m_bufmutex); @@ -152,2 +154,3 @@ void XineVideoWidget::clear ( ) } +#endif repaint ( false ); @@ -212,2 +215,14 @@ void XineVideoWidget::paintEvent2 ( QPaintEvent * ) + /* clean up the fb screen when shrinking the image only! */ + if (old_framerect.isValid() && old_size.width()==width()&&old_size.height()==height() && + (old_framerect.width()>framerect.width() || old_framerect.height()>framerect.height())) { + uchar*_dst = fb+old_framerect.y()*m_bytes_per_line_fb+old_framerect.x()*m_bytes_per_pixel; + for (int z=0;z<old_framerect.height();++z) { + memset(_dst,0,m_bytes_per_line_fb); + _dst+=m_bytes_per_line_fb; + } + } + old_framerect=framerect; + old_size = size(); + if (framerect.height()!=m_framesize.height()) { @@ -267,2 +282,3 @@ void XineVideoWidget::setVideoFrame ( uchar* img, int w, int h, int bpl ) int l = h*bpl; +#if 0 if (l!=m_lastsize) { @@ -279,4 +295,6 @@ void XineVideoWidget::setVideoFrame ( uchar* img, int w, int h, int bpl ) } +#endif m_lastsize = l; m_framesize = QSize(w,h); +#if 0 if (m_buff && m_lastsize) { @@ -284,2 +302,4 @@ void XineVideoWidget::setVideoFrame ( uchar* img, int w, int h, int bpl ) } +#endif + m_buff = img; m_bytes_per_line_frame = bpl; |