[Libreoffice-commits] core.git: Branch 'feature/chart-opengl' - chart2/source

2014-02-24 Thread Markus Mohrhard
 chart2/source/view/main/OpenglShapeFactory.cxx |   16 ++--
 1 file changed, 14 insertions(+), 2 deletions(-)

New commits:
commit 3126e49a45408e09048428584686e03b14dd1902
Author: Markus Mohrhard markus.mohrh...@collabora.co.uk
Date:   Tue Feb 25 04:49:05 2014 +0100

fix text rendering for titles

Change-Id: I1072c8af6d822422943dc2d29bbaee351c735349

diff --git a/chart2/source/view/main/OpenglShapeFactory.cxx 
b/chart2/source/view/main/OpenglShapeFactory.cxx
index 5b19a5b..9fc4241 100644
--- a/chart2/source/view/main/OpenglShapeFactory.cxx
+++ b/chart2/source/view/main/OpenglShapeFactory.cxx
@@ -51,6 +51,8 @@
 #include basegfx/point/b2dpoint.hxx
 #include basegfx/matrix/b3dhommatrix.hxx
 
+#include RelativeSizeHelper.hxx
+
 #include algorithm
 #include iostream
 using namespace std;
@@ -411,12 +413,22 @@ uno::Reference drawing::XShape 
 OpenglShapeFactory::createText( const uno::Reference drawing::XShapes 
 xTarget,
 const awt::Size rSize, const awt::Point rPos,
 uno::Sequence uno::Reference chart2::XFormattedString   
rFormattedString,
-const uno::Reference beans::XPropertySet  ,
+const uno::Reference beans::XPropertySet   xTextProperties,
 double, const OUString rName)
 {
 dummy::DummyFormattedText* pText = new dummy::DummyFormattedText( 
rFormattedString );
+uno::Reference drawing::XShape  xShape(pText);
+uno::Reference beans::XPropertySet  xTargetProps(xShape, 
uno::UNO_QUERY_THROW);
+awt::Size aOldRefSize;
+bool bHasRefPageSize =
+( xTextProperties-getPropertyValue( ReferencePageSize) = 
aOldRefSize );
+// adapt font size according to page size
+if( bHasRefPageSize )
+{
+RelativeSizeHelper::adaptFontSizes( xTargetProps, aOldRefSize, rSize );
+}
 pText-setPosition(rPos);
-pText-setSize(rSize);
+pText-setSize(awt::Size(0,0));
 pText-setName(rName);
 xTarget-add(pText);
 return pText;
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'feature/chart-opengl' - chart2/source

2013-12-22 Thread YangZhang
 chart2/source/view/main/OpenGLRender.cxx |   57 +++
 1 file changed, 29 insertions(+), 28 deletions(-)

New commits:
commit 18f3de78e6bd8583de4de8911c027489f8dfbf11
Author: YangZhang yangzh...@multicorewareinc.com
Date:   Fri Dec 20 17:41:24 2013 +0800

Fix warning of OpenGL

Change-Id: Iceb26e5245470fe9a23c41f0b448481aa7a1a1eb

diff --git a/chart2/source/view/main/OpenGLRender.cxx 
b/chart2/source/view/main/OpenGLRender.cxx
index ffe7293..92489c3 100644
--- a/chart2/source/view/main/OpenGLRender.cxx
+++ b/chart2/source/view/main/OpenGLRender.cxx
@@ -197,7 +197,7 @@ static const GLfloat g_color_buffer_data[] = {
 0.982f,  0.099f,  0.879f
 };
 #endif
-int static checkGLError(char *file, int line)
+int static checkGLError(const char *file, int line)
 {
 GLenum glErr;
 intretCode = 0;
@@ -220,6 +220,13 @@ int static checkGLError(char *file, int line)
 
 #define CHECK_GL_ERROR() checkGLError(__FILE__, __LINE__)
 
+#define CHECK_GL_FRAME_BUFFER_STATUS() \
+status = glCheckFramebufferStatus(GL_FRAMEBUFFER);\
+if( status != GL_FRAMEBUFFER_COMPLETE ) {\
+printf( error at line(%d) '%d'\n, __LINE__, status );\
+return -1;\
+}
+
 GLint OpenGLRender::LoadShaders(const char *vertexShader,const char 
*fragmentShader)
 {
 // Create the shaders
@@ -439,7 +446,8 @@ int OpenGLRender::RenderModelf2FBO(float *vertexArray, 
unsigned int vertexArrayS
 //create render buffer object
 CreateRenderObj(m_iWidth, m_iHeight);
 //create fbo
-CreateFrameBufferObj();
+if ( CreateFrameBufferObj() !=0 )
+return -1;
 //fill vertex buffer
 glBindBuffer(GL_ARRAY_BUFFER, m_VertexBuffer);
 glBufferData(GL_ARRAY_BUFFER, vertexArraySize, vertexArray, 
GL_STATIC_DRAW);
@@ -487,12 +495,8 @@ int OpenGLRender::RenderModelf2FBO(float *vertexArray, 
unsigned int vertexArrayS
 glDisableVertexAttribArray(m_VertexID);
 glDisableVertexAttribArray(m_ColorID);
 glUseProgram(0);
-int result = 0;
-GLenum fbResult = glCheckFramebufferStatus(GL_FRAMEBUFFER);
-if( fbResult != GL_FRAMEBUFFER_COMPLETE )
-{
-result = -1;
-}
+GLenum status;
+CHECK_GL_FRAME_BUFFER_STATUS();
 #if 0
 sal_uInt8 *buf = (sal_uInt8 *)malloc(m_iWidth * m_iHeight * 3 + 
BMP_HEADER_LEN);
 CreateBMPHeader(buf, m_iWidth, -m_iHeight);
@@ -515,12 +519,12 @@ int OpenGLRender::RenderModelf2FBO(float *vertexArray, 
unsigned int vertexArrayS
 Bitmap::ScopedWriteAccess pAlphaWriteAccess( aAlpha );
 
 size_t nCurPos = 0;
-for( size_t y = 0; y  m_iHeight; ++y)
+for( int y = 0; y  m_iHeight; ++y)
 {
 Scanline pScan = pWriteAccess-GetScanline(y);
 Scanline pAlphaScan = pAlphaWriteAccess-GetScanline(y);
 
-for( size_t x = 0; x  m_iWidth; ++x )
+for( int x = 0; x  m_iWidth; ++x )
 {
 *pScan++ = buf[nCurPos];
 *pScan++ = buf[nCurPos+1];
@@ -588,7 +592,8 @@ int OpenGLRender::RenderLine2FBO(int wholeFlag)
 //create render buffer object
 CreateRenderObj(m_iWidth, m_iHeight);
 //create fbo
-CreateFrameBufferObj();
+if ( CreateFrameBufferObj() !=0 )
+return -1;
 }
 //bind fbo
 glBindFramebuffer(GL_FRAMEBUFFER, m_FboID[m_iFboIdx % 2]);
@@ -633,12 +638,8 @@ int OpenGLRender::RenderLine2FBO(int wholeFlag)
 free(pointList.pointBuf);
 }
 m_iPointNum = 0;
-int result = 0;
-GLenum fbResult = glCheckFramebufferStatus(GL_FRAMEBUFFER);
-if( fbResult != GL_FRAMEBUFFER_COMPLETE )
-{
-result = -1;
-}
+GLenum status;
+CHECK_GL_FRAME_BUFFER_STATUS();
 #if 0
 sal_uInt8 *buf = (sal_uInt8 *)malloc(m_iWidth * m_iHeight * 3 + 
BMP_HEADER_LEN);
 CreateBMPHeader(buf, m_iWidth, m_iHeight);
@@ -651,21 +652,21 @@ int OpenGLRender::RenderLine2FBO(int wholeFlag)
 boost::scoped_arraysal_uInt8 buf(new sal_uInt8[m_iWidth * m_iHeight * 
4]);
 glReadPixels(0, 0, m_iWidth, m_iHeight, GL_BGR, GL_UNSIGNED_BYTE, 
buf.get());
 BitmapEx aBmp;
-aBmp.Expand(m_iWidth, m_iHeight);
+aBmp.SetSizePixel(Size(m_iWidth, m_iHeight));
 
-Bitmap aBitmap( Size( m_iWidth, m_iHeight ), 24 );
-Bitmap aAlpha( Size( m_iWidth, m_iHeight ), 24 );
+Bitmap aBitmap( aBmp.GetBitmap() );
+Bitmap aAlpha( aBmp.GetAlpha().GetBitmap() );
 
 Bitmap::ScopedWriteAccess pWriteAccess( aBitmap );
 Bitmap::ScopedWriteAccess pAlphaWriteAccess( aAlpha );
 
 size_t nCurPos = 0;
-for( size_t y = 0; y  m_iHeight; ++y)
+for( int y = 0; y  m_iHeight; ++y)
 {
 Scanline pScan = pWriteAccess-GetScanline(y);
 Scanline pAlphaScan = pAlphaWriteAccess-GetScanline(y);
 
-for( size_t x = 0; x  m_iWidth; ++x )
+for( int x = 0; x  m_iWidth; ++x )
 {
 *pScan++ = buf[nCurPos];
 *pScan++ = buf[nCurPos+1];
@@ -847,32 +848,32 @@ int OpenGLRender::CreateFrameBufferObj()
 GLenum status;
 // create a 

[Libreoffice-commits] core.git: Branch 'feature/chart-opengl' - chart2/source

2013-12-18 Thread Markus Mohrhard
 chart2/source/view/main/OpenGLRender.cxx |6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

New commits:
commit 1a799cbf6075dd4bf6b75751619c2c21b784f5cf
Author: Markus Mohrhard markus.mohrh...@googlemail.com
Date:   Wed Dec 18 20:04:34 2013 +0100

fix crash when creating bitmaps

Change-Id: I72982abcfcb0edff35a7000944146e8d924c120f

diff --git a/chart2/source/view/main/OpenGLRender.cxx 
b/chart2/source/view/main/OpenGLRender.cxx
index 7ae8fd3..ffe7293 100644
--- a/chart2/source/view/main/OpenGLRender.cxx
+++ b/chart2/source/view/main/OpenGLRender.cxx
@@ -651,10 +651,10 @@ int OpenGLRender::RenderLine2FBO(int wholeFlag)
 boost::scoped_arraysal_uInt8 buf(new sal_uInt8[m_iWidth * m_iHeight * 
4]);
 glReadPixels(0, 0, m_iWidth, m_iHeight, GL_BGR, GL_UNSIGNED_BYTE, 
buf.get());
 BitmapEx aBmp;
-aBmp.SetSizePixel(Size(m_iWidth, m_iHeight));
+aBmp.Expand(m_iWidth, m_iHeight);
 
-Bitmap aBitmap( aBmp.GetBitmap() );
-Bitmap aAlpha( aBmp.GetAlpha().GetBitmap() );
+Bitmap aBitmap( Size( m_iWidth, m_iHeight ), 24 );
+Bitmap aAlpha( Size( m_iWidth, m_iHeight ), 24 );
 
 Bitmap::ScopedWriteAccess pWriteAccess( aBitmap );
 Bitmap::ScopedWriteAccess pAlphaWriteAccess( aAlpha );
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'feature/chart-opengl' - chart2/source

2013-12-17 Thread Markus Mohrhard
 chart2/source/view/main/OpenglShapeFactory.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 68424f8994f4fa19920322d7f3f0a8f0313b0998
Author: Markus Mohrhard markus.mohrh...@googlemail.com
Date:   Wed Dec 18 01:38:28 2013 +0100

fix weird issue on windows with OPTIONAL being defined somewhere

WTF! Who had the glorious idea to provide a define for OPTIONAL 
when we use it internally as well

Change-Id: I257f82b62978c73c84faa34c8b341d77c017425e

diff --git a/chart2/source/view/main/OpenglShapeFactory.cxx 
b/chart2/source/view/main/OpenglShapeFactory.cxx
index dc0f776..70bc1b5 100644
--- a/chart2/source/view/main/OpenglShapeFactory.cxx
+++ b/chart2/source/view/main/OpenglShapeFactory.cxx
@@ -17,6 +17,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include svx/unoshape.hxx
 #include OpenglShapeFactory.hxx
 #include DummyXShape.hxx
 #include ViewDefines.hxx
@@ -46,7 +47,6 @@
 #include rtl/math.hxx
 #include svx/svdocirc.hxx
 #include svx/svdopath.hxx
-#include svx/unoshape.hxx
 
 #include basegfx/point/b2dpoint.hxx
 #include basegfx/matrix/b3dhommatrix.hxx
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'feature/chart-opengl' - chart2/source

2013-12-09 Thread Markus Mohrhard
 chart2/source/view/inc/DummyXShape.hxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit fb8706084e0061ab42f039db11ff0574b4338b39
Author: Markus Mohrhard markus.mohrh...@googlemail.com
Date:   Mon Dec 9 09:20:44 2013 +0100

still editing the wrong copy of the file

Change-Id: I34933f312700f7ce6fca6f2e5f6c2bd3d118898e

diff --git a/chart2/source/view/inc/DummyXShape.hxx 
b/chart2/source/view/inc/DummyXShape.hxx
index b41f925..e68c5b8 100644
--- a/chart2/source/view/inc/DummyXShape.hxx
+++ b/chart2/source/view/inc/DummyXShape.hxx
@@ -401,7 +401,7 @@ private:
 class DummyChart : public DummyXShapes
 {
 public:
-DummyChart(com::sun::star::uno::Reference 
com::sun::star::drawing::XDrawPage  xDrawPage);
+DummyChart(com::sun::star::uno::Reference com::sun::star::drawing::XShape 
 xDrawPage);
 ~DummyChart();
 virtual DummyChart* getRootShape();
 
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'feature/chart-opengl' - chart2/source

2013-12-08 Thread Markus Mohrhard
 chart2/source/view/inc/DummyXShape.hxx|   42 +++---
 chart2/source/view/inc/OpenglShapeFactory.hxx |9 +
 chart2/source/view/main/DummyXShape.cxx   |2 -
 chart2/source/view/main/OpenGLRender.cxx  |4 +-
 4 files changed, 24 insertions(+), 33 deletions(-)

New commits:
commit 2d649a0cc0d647d273241bb1621ea1c7726f92b2
Author: Markus Mohrhard markus.mohrh...@googlemail.com
Date:   Mon Dec 9 06:58:39 2013 +0100

adding all files would prevent compile errors

Change-Id: I351e0ac179445e45a5cbc767b20159f647ec30cc

diff --git a/chart2/source/view/inc/DummyXShape.hxx 
b/chart2/source/view/inc/DummyXShape.hxx
index aed200c..b41f925 100644
--- a/chart2/source/view/inc/DummyXShape.hxx
+++ b/chart2/source/view/inc/DummyXShape.hxx
@@ -92,12 +92,19 @@
 #include GL/glxext.h
 }
 #endif
+//[mod] by gaowei
+
+#include OpenGLRender.hxx
+
+//[mod] by gaowei end
+
 
 class SystemWindow;
 class SystemChildWindow;
 
 using namespace com::sun::star;
 
+
 namespace chart {
 
 namespace dummy {
@@ -394,7 +401,8 @@ private:
 class DummyChart : public DummyXShapes
 {
 public:
-DummyChart();
+DummyChart(com::sun::star::uno::Reference 
com::sun::star::drawing::XDrawPage  xDrawPage);
+~DummyChart();
 virtual DummyChart* getRootShape();
 
 virtual void SAL_CALL setPosition( const ::com::sun::star::awt::Point 
aPosition ) throw(::com::sun::star::uno::RuntimeException);
@@ -402,42 +410,16 @@ public:
 
 private:
 
-/// Holds the information of our new child window
-struct GLWindow
-{
-#if defined( _WIN32 )
-HWNDhWnd;
-HDC hDC;
-HGLRC   hRC;
-#elif defined( MACOSX )
-#elif defined( UNX )
-unx::Display*   dpy;
-int screen;
-unx::Window win;
-#if defined( GLX_VERSION_1_3 )  defined( GLX_EXT_texture_from_pixmap )
-unx::GLXFBConfigfbc;
-#endif
-unx::XVisualInfo*   vi;
-unx::GLXContext ctx;
-
-bool HasGLXExtension( const char* name ) { return gluCheckExtension( 
(const GLubyte*) name, (const GLubyte*) GLXExtensions ); }
-const char* GLXExtensions;
-#endif
-unsigned intbpp;
-unsigned intWidth;
-unsigned intHeight;
-const GLubyte*  GLExtensions;
-
-bool HasGLExtension( const char* name ) { return gluCheckExtension( 
(const GLubyte*) name, GLExtensions ); }
-} GLWin;/// Holds the information of our new child window
+GLWindow GLWin;/// Holds the information of our new child window
 
 void createGLContext();
 
 bool initWindow();
 bool initOpengl();
-
 boost::scoped_ptrWindow mpWindow;
 boost::scoped_ptrSystemChildWindow pWindow;
+public:
+OpenGLRender m_GLRender;
 };
 
 class DummyGroup2D : public DummyXShapes
diff --git a/chart2/source/view/inc/OpenglShapeFactory.hxx 
b/chart2/source/view/inc/OpenglShapeFactory.hxx
index 7d8ebdc..8952eea 100644
--- a/chart2/source/view/inc/OpenglShapeFactory.hxx
+++ b/chart2/source/view/inc/OpenglShapeFactory.hxx
@@ -19,6 +19,10 @@ namespace opengl {
 class OpenglShapeFactory : public chart::AbstractShapeFactory
 {
 public:
+OpenglShapeFactory();
+OpenglShapeFactory(::com::sun::star::uno::Reference 
::com::sun::star::lang::XMultiServiceFactory xFactory)
+{m_xShapeFactory = xFactory;}
+
 virtual ::com::sun::star::uno::Reference 
::com::sun::star::drawing::XShapes 
 createGroup2D(
 const ::com::sun::star::uno::Reference
@@ -189,6 +193,11 @@ public:
 ::com::sun::star::drawing::XDrawPage xPage );
 
 virtual void setPageSize( com::sun::star::uno::Reference  
com::sun::star::drawing::XShapes  xChartShapes, const 
com::sun::star::awt::Size rSize );
+private:
+void *m_pChart;
+//member:
+::com::sun::star::uno::Reference 
::com::sun::star::lang::XMultiServiceFactory
+m_xShapeFactory;
 
 };
 
diff --git a/chart2/source/view/main/DummyXShape.cxx 
b/chart2/source/view/main/DummyXShape.cxx
index cc2f871..ecf3c59 100644
--- a/chart2/source/view/main/DummyXShape.cxx
+++ b/chart2/source/view/main/DummyXShape.cxx
@@ -765,7 +765,7 @@ bool DummyChart::initOpengl()
 GLWin.hRC  = wglCreateContext(GLWin.hDC);
 wglMakeCurrent(GLWin.hDC,GLWin.hRC);
 //[Mod] GaoWei
-m_GLRender.InitOpenGL(GLWin.hWnd, GLWin.hDC, GLWin.hRC);
+m_GLRender.InitOpenGL(GLWin);
 //[Mod] GaoWei end
 
 #elif defined( UNX )
diff --git a/chart2/source/view/main/OpenGLRender.cxx 
b/chart2/source/view/main/OpenGLRender.cxx
index 0ce94d5..82c6ac6 100644
--- a/chart2/source/view/main/OpenGLRender.cxx
+++ b/chart2/source/view/main/OpenGLRender.cxx
@@ -825,9 +825,9 @@ void OpenGLRender::Release()
 #if defined( WNT )
 wglMakeCurrent(NULL, NULL);
 if (!m_iExternRC)
-wglDeleteContext(m_hRC);
+wglDeleteContext(glWin.m_hRC);
 

[Libreoffice-commits] core.git: Branch 'feature/chart-opengl' - chart2/source

2013-12-08 Thread Markus Mohrhard
 chart2/source/view/inc/AbstractShapeFactory.hxx  |7 +
 chart2/source/view/inc/OpenglShapeFactory.hxx|6 -
 chart2/source/view/inc/ShapeFactory.hxx  |4 -
 chart2/source/view/main/AbstractShapeFactory.cxx |1 
 chart2/source/view/main/DummyXShape.cxx  |5 -
 chart2/source/view/main/OpenGLRender.cxx |   92 ---
 chart2/source/view/main/OpenGLRender.hxx |7 +
 chart2/source/view/main/OpenglShapeFactory.cxx   |   14 +--
 8 files changed, 106 insertions(+), 30 deletions(-)

New commits:
commit 1690b769722a3357e3bea18c86f12175c67a6b1b
Author: Markus Mohrhard markus.mohrh...@googlemail.com
Date:   Mon Dec 9 07:40:23 2013 +0100

initial work on showing the bitmap in Libreoffice

Change-Id: Id6543889509982bdb7487de484cf3d7f79c15f1e

diff --git a/chart2/source/view/inc/AbstractShapeFactory.hxx 
b/chart2/source/view/inc/AbstractShapeFactory.hxx
index 36b2554..e9726c2 100644
--- a/chart2/source/view/inc/AbstractShapeFactory.hxx
+++ b/chart2/source/view/inc/AbstractShapeFactory.hxx
@@ -58,8 +58,15 @@ class Stripe;
 
 class AbstractShapeFactory
 {
+protected:
+
+::com::sun::star::uno::Reference 
::com::sun::star::lang::XMultiServiceFactory
+m_xShapeFactory;
 public:
 
+void setShapeFactory(com::sun::star::uno::Reference 
::com::sun::star::lang::XMultiServiceFactory xFactory)
+{ m_xShapeFactory = xFactory; }
+
 static AbstractShapeFactory* 
getOrCreateShapeFactory(::com::sun::star::uno::Reference 
::com::sun::star::lang::XMultiServiceFactory xFactory);
 
 virtual ~AbstractShapeFactory() {};
diff --git a/chart2/source/view/inc/OpenglShapeFactory.hxx 
b/chart2/source/view/inc/OpenglShapeFactory.hxx
index 8952eea..be4d01d 100644
--- a/chart2/source/view/inc/OpenglShapeFactory.hxx
+++ b/chart2/source/view/inc/OpenglShapeFactory.hxx
@@ -19,9 +19,6 @@ namespace opengl {
 class OpenglShapeFactory : public chart::AbstractShapeFactory
 {
 public:
-OpenglShapeFactory();
-OpenglShapeFactory(::com::sun::star::uno::Reference 
::com::sun::star::lang::XMultiServiceFactory xFactory)
-{m_xShapeFactory = xFactory;}
 
 virtual ::com::sun::star::uno::Reference 
::com::sun::star::drawing::XShapes 
 createGroup2D(
@@ -195,9 +192,6 @@ public:
 virtual void setPageSize( com::sun::star::uno::Reference  
com::sun::star::drawing::XShapes  xChartShapes, const 
com::sun::star::awt::Size rSize );
 private:
 void *m_pChart;
-//member:
-::com::sun::star::uno::Reference 
::com::sun::star::lang::XMultiServiceFactory
-m_xShapeFactory;
 
 };
 
diff --git a/chart2/source/view/inc/ShapeFactory.hxx 
b/chart2/source/view/inc/ShapeFactory.hxx
index 10cd541..cb2b1bf 100644
--- a/chart2/source/view/inc/ShapeFactory.hxx
+++ b/chart2/source/view/inc/ShapeFactory.hxx
@@ -220,10 +220,6 @@ private:
 , const ::com::sun::star::drawing::Direction3D rSize
 , double fTopHeight, sal_Int32 nRotateZAngleHundredthDegree
 , bool bCylinder = false);
-
-//member:
-::com::sun::star::uno::Reference 
::com::sun::star::lang::XMultiServiceFactory
-m_xShapeFactory;
 };
 
 } //namespace chart
diff --git a/chart2/source/view/main/AbstractShapeFactory.cxx 
b/chart2/source/view/main/AbstractShapeFactory.cxx
index 96a919c..d6d6b2e 100644
--- a/chart2/source/view/main/AbstractShapeFactory.cxx
+++ b/chart2/source/view/main/AbstractShapeFactory.cxx
@@ -88,6 +88,7 @@ AbstractShapeFactory* 
AbstractShapeFactory::getOrCreateShapeFactory(uno::Referen
 {
 
 pShapeFactory = 
reinterpret_cast__getOpenglShapeFactory(fn)();
+pShapeFactory-setShapeFactory(xFactory);
 }
 }
 }
diff --git a/chart2/source/view/main/DummyXShape.cxx 
b/chart2/source/view/main/DummyXShape.cxx
index ecf3c59..7372a44 100644
--- a/chart2/source/view/main/DummyXShape.cxx
+++ b/chart2/source/view/main/DummyXShape.cxx
@@ -845,8 +845,9 @@ bool DummyChart::initOpengl()
 }
 
 
-DummyChart::DummyChart():
-mpWindow(new Window(0, WB_NOBORDER|WB_NODIALOGCONTROL))
+DummyChart::DummyChart(uno::Reference drawing::XShape  xTarget):
+mpWindow(new Window(0, WB_NOBORDER|WB_NODIALOGCONTROL)),
+m_GLRender(xTarget)
 {
 SAL_WARN(chart2.opengl, DummyXShape::DummyChart()-test: );
 setName(com.sun.star.chart2.shapes);
diff --git a/chart2/source/view/main/OpenGLRender.cxx 
b/chart2/source/view/main/OpenGLRender.cxx
index 82c6ac6..a52430d 100644
--- a/chart2/source/view/main/OpenGLRender.cxx
+++ b/chart2/source/view/main/OpenGLRender.cxx
@@ -11,6 +11,16 @@
 #include vector
 #include iostream
 #include OpenGLRender.hxx
+#include vcl/bitmapex.hxx
+#include vcl/bmpacc.hxx
+#include vcl/graph.hxx
+#include com/sun/star/awt/XBitmap.hpp
+#include com/sun/star/beans/XPropertySet.hpp
+#include com/sun/star/graphic/XGraphic.hpp
+
+using namespace com::sun::star;
+
+#include boost/scoped_array.hpp
 
 using namespace std;
 
@@