summaryrefslogtreecommitdiff
path: root/avmedia
diff options
context:
space:
mode:
authorZolnai Tamás <tamas.zolnai@collabora.com>2014-09-17 08:04:36 +0200
committerZolnai Tamás <tamas.zolnai@collabora.com>2014-09-17 09:59:50 +0200
commit079c861f08d27aa8b6368aebc37f235979049286 (patch)
tree835917e048fe884135f8fbea373579c20e7ac81d /avmedia
parentb3d50feaa87b670baf68288974005ac26ad31736 (diff)
fdo#81237: 2D OpenGL charts was upside-down
The problem is that LO drawinglayer uses a coordinate system with an origin at the top-left corner of the screen, while OpenGL uses a complete coordinate system (with all four quarters, e.g.: allows negative values). The points in LO are always positive values which means they are drawn in the first quarter of the OpenGL coordinate system which also means that the origin is at the bottom-left corner of the scene. This difference causes the flipped scene. * To solve that problem scale the projection matrix with -1.0f along the y axis. * glDisable(GL_CULL_FACE) is necessary to avoid dropping primitives after scaling with -1.0. * Since projection matrix mirrors also the textures we don't need to do that inside the ConvertBitmapExToRGBATextureBuffer() method. Change-Id: Ieba642f3e665778a12368fe50a20865ec8f73514
Diffstat (limited to 'avmedia')
-rw-r--r--avmedia/source/opengl/oglplayer.cxx2
1 files changed, 1 insertions, 1 deletions
diff --git a/avmedia/source/opengl/oglplayer.cxx b/avmedia/source/opengl/oglplayer.cxx
index a21d5db403d1..c7f0c05f0703 100644
--- a/avmedia/source/opengl/oglplayer.cxx
+++ b/avmedia/source/opengl/oglplayer.cxx
@@ -103,7 +103,7 @@ bool OGLPlayer::create( const OUString& rURL )
}
BitmapEx aBitmapEx = aGraphic.GetBitmapEx();
rFile.buffer = new char[4 * aBitmapEx.GetSizePixel().Width() * aBitmapEx.GetSizePixel().Height()];
- OpenGLHelper::ConvertBitmapExToRGBATextureBuffer(aBitmapEx, reinterpret_cast<sal_uInt8*>(rFile.buffer));
+ OpenGLHelper::ConvertBitmapExToRGBATextureBuffer(aBitmapEx, reinterpret_cast<sal_uInt8*>(rFile.buffer), true);
rFile.imagewidth = aBitmapEx.GetSizePixel().Width();
rFile.imageheight = aBitmapEx.GetSizePixel().Height();
}