]> git.sesse.net Git - kdenlive/blobdiff - src/videoglwidget.cpp
fix coverity 1134134 1134135 (div by 0)
[kdenlive] / src / videoglwidget.cpp
index eff90f6ea97f53e1397fb9ab1fa443752ead13ac..3da19948159ba2cb78ab9f571bfdb7e814c67f95 100644 (file)
 
 VideoGLWidget::VideoGLWidget(QWidget *parent)
     : QGLWidget(parent)
+    , x(0)
+    , y(0)
+    , w(width())
+    , h(height())
     , m_image_width(0)
     , m_image_height(0)
     , m_texture(0)
@@ -41,6 +45,12 @@ QSize VideoGLWidget::sizeHint() const
     return QSize(400, 300);
 }
 
+void VideoGLWidget::setImageAspectRatio(double ratio)
+{
+    m_display_ratio = ratio;
+    resizeGL(width(), height());
+}
+
 void VideoGLWidget::initializeGL()
 {
     qglClearColor(m_backgroundColor);
@@ -57,6 +67,7 @@ void VideoGLWidget::resizeEvent(QResizeEvent* event)
 {
     resizeGL(event->size().width(),event->size().height());
 }
+
 void VideoGLWidget::resizeGL(int width, int height)
 {
     double this_aspect = (double) width / height;
@@ -118,7 +129,7 @@ void VideoGLWidget::paintGL()
     }
 }
 
-void VideoGLWidget::showImage(QImage image)
+void VideoGLWidget::showImage(const QImage &image)
 {
     m_image_width = image.width();
     m_image_height = image.height();
@@ -131,7 +142,7 @@ void VideoGLWidget::showImage(QImage image)
     glBindTexture(GL_TEXTURE_RECTANGLE_EXT, m_texture);
     glTexParameteri(GL_TEXTURE_RECTANGLE_EXT, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
     glTexParameterf(GL_TEXTURE_RECTANGLE_EXT, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-    glTexImage2D(GL_TEXTURE_RECTANGLE_EXT, 0, GL_RGBA8, m_image_width, m_image_height, 0, GL_RGBA,
+    glTexImage2D(GL_TEXTURE_RECTANGLE_EXT, 0, GL_RGBA8, m_image_width, m_image_height, 0, GL_RGB,
                  GL_UNSIGNED_BYTE, image.bits());
     updateGL();
 }
@@ -183,3 +194,5 @@ void VideoGLWidget::mouseDoubleClickEvent(QMouseEvent * event)
     event->accept();
 }
 
+
+#include "videoglwidget.moc"