Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
3bd173af
Kaydet (Commit)
3bd173af
authored
Nis 14, 2014
tarafından
Markus Mohrhard
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
only render through OpenGL after successful context creation
Change-Id: I60ebceee2bf0eca1c7022e14fc43128347d682b5
üst
d321709f
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
69 additions
and
14 deletions
+69
-14
AbstractShapeFactory.hxx
chart2/source/view/inc/AbstractShapeFactory.hxx
+2
-2
OpenglShapeFactory.hxx
chart2/source/view/inc/OpenglShapeFactory.hxx
+2
-2
ShapeFactory.hxx
chart2/source/view/inc/ShapeFactory.hxx
+2
-2
ChartView.cxx
chart2/source/view/main/ChartView.cxx
+2
-2
OpenglShapeFactory.cxx
chart2/source/view/main/OpenglShapeFactory.cxx
+21
-3
svdoopengl.hxx
include/svx/svdoopengl.hxx
+3
-1
IOpenGLRenderer.hxx
include/vcl/IOpenGLRenderer.hxx
+26
-2
OpenGLContext.hxx
include/vcl/OpenGLContext.hxx
+5
-0
svdoopengl.cxx
svx/source/svdraw/svdoopengl.cxx
+6
-0
No files found.
chart2/source/view/inc/AbstractShapeFactory.hxx
Dosyayı görüntüle @
3bd173af
...
...
@@ -239,9 +239,9 @@ public:
/**
* Only necessary for stateless implementations
*/
virtual
void
render
(
com
::
sun
::
star
::
uno
::
Reference
<
com
::
sun
::
star
::
drawing
::
X
Shapes
>
xRootShap
e
)
=
0
;
virtual
void
render
(
com
::
sun
::
star
::
uno
::
Reference
<
com
::
sun
::
star
::
drawing
::
X
DrawPage
>
xDrawPag
e
)
=
0
;
virtual
void
clearPage
(
com
::
sun
::
star
::
uno
::
Reference
<
com
::
sun
::
star
::
drawing
::
X
Shapes
>
xRootShap
e
)
=
0
;
virtual
void
clearPage
(
com
::
sun
::
star
::
uno
::
Reference
<
com
::
sun
::
star
::
drawing
::
X
DrawPage
>
xDrawPag
e
)
=
0
;
static
::
com
::
sun
::
star
::
uno
::
Reference
<
::
com
::
sun
::
star
::
drawing
::
XShapes
>
getChartRootShape
(
const
::
com
::
sun
::
star
::
uno
::
Reference
<
...
...
chart2/source/view/inc/OpenglShapeFactory.hxx
Dosyayı görüntüle @
3bd173af
...
...
@@ -184,9 +184,9 @@ public:
virtual
void
setPageSize
(
com
::
sun
::
star
::
uno
::
Reference
<
com
::
sun
::
star
::
drawing
::
XShapes
>
xChartShapes
,
const
com
::
sun
::
star
::
awt
::
Size
&
rSize
)
SAL_OVERRIDE
;
virtual
void
render
(
com
::
sun
::
star
::
uno
::
Reference
<
com
::
sun
::
star
::
drawing
::
X
Shapes
>
xRootShap
e
)
SAL_OVERRIDE
;
virtual
void
render
(
com
::
sun
::
star
::
uno
::
Reference
<
com
::
sun
::
star
::
drawing
::
X
DrawPage
>
xDrawPag
e
)
SAL_OVERRIDE
;
virtual
void
clearPage
(
com
::
sun
::
star
::
uno
::
Reference
<
com
::
sun
::
star
::
drawing
::
X
Shapes
>
xRootShap
e
)
SAL_OVERRIDE
;
virtual
void
clearPage
(
com
::
sun
::
star
::
uno
::
Reference
<
com
::
sun
::
star
::
drawing
::
X
DrawPage
>
xDrawPag
e
)
SAL_OVERRIDE
;
};
}
...
...
chart2/source/view/inc/ShapeFactory.hxx
Dosyayı görüntüle @
3bd173af
...
...
@@ -197,9 +197,9 @@ public:
/**
* not necessary right now
*/
virtual
void
render
(
com
::
sun
::
star
::
uno
::
Reference
<
com
::
sun
::
star
::
drawing
::
X
Shapes
>
)
SAL_OVERRIDE
{}
virtual
void
render
(
com
::
sun
::
star
::
uno
::
Reference
<
com
::
sun
::
star
::
drawing
::
X
DrawPage
>
)
SAL_OVERRIDE
{}
virtual
void
clearPage
(
com
::
sun
::
star
::
uno
::
Reference
<
com
::
sun
::
star
::
drawing
::
X
Shapes
>
)
SAL_OVERRIDE
{}
virtual
void
clearPage
(
com
::
sun
::
star
::
uno
::
Reference
<
com
::
sun
::
star
::
drawing
::
X
DrawPage
>
)
SAL_OVERRIDE
{}
private
:
ShapeFactory
();
...
...
chart2/source/view/main/ChartView.cxx
Dosyayı görüntüle @
3bd173af
...
...
@@ -2453,7 +2453,7 @@ void ChartView::createShapes()
OSL_FAIL
(
"could not set page size correctly"
);
}
pShapeFactory
->
setPageSize
(
mxRootShape
,
aPageSize
);
pShapeFactory
->
clearPage
(
m
xRootShap
e
);
pShapeFactory
->
clearPage
(
m
_xDrawPag
e
);
if
(
isReal3DChart
())
{
...
...
@@ -2606,7 +2606,7 @@ void ChartView::createShapes()
//cleanup: remove all empty group shapes to avoid grey border lines:
lcl_removeEmptyGroupShapes
(
mxRootShape
);
pShapeFactory
->
render
(
m
xRootShap
e
);
pShapeFactory
->
render
(
m
_xDrawPag
e
);
if
(
maTimeBased
.
bTimeBased
&&
maTimeBased
.
nFrame
%
60
==
0
)
{
...
...
chart2/source/view/main/OpenglShapeFactory.cxx
Dosyayı görüntüle @
3bd173af
...
...
@@ -71,7 +71,6 @@ public:
mxShapes
(
xShapes
)
{}
virtual
~
OpenGLChartAdapter
()
{}
virtual
void
operator
()()
{}
uno
::
Reference
<
drawing
::
XShapes
>
getShapes
()
{
...
...
@@ -483,15 +482,34 @@ uno::Reference< drawing::XShape >
return
pText
;
}
void
OpenglShapeFactory
::
render
(
uno
::
Reference
<
drawing
::
X
Shapes
>
xRootShap
e
)
void
OpenglShapeFactory
::
render
(
uno
::
Reference
<
drawing
::
X
DrawPage
>
xDrawPag
e
)
{
IOpenGLRenderer
*
pRenderer
=
getRenderer
(
xDrawPage
);
if
(
!
pRenderer
)
return
;
if
(
!
pRenderer
->
isOpenGLInitialized
())
return
;
OpenGLChartAdapter
*
pAdapter
=
dynamic_cast
<
OpenGLChartAdapter
*>
(
pRenderer
);
if
(
!
pAdapter
)
return
;
uno
::
Reference
<
drawing
::
XShapes
>
xRootShape
=
pAdapter
->
getShapes
();
dummy
::
DummyChart
*
pChart
=
dynamic_cast
<
dummy
::
DummyChart
*>
(
xRootShape
.
get
());
assert
(
pChart
);
pChart
->
render
();
}
void
OpenglShapeFactory
::
clearPage
(
uno
::
Reference
<
drawing
::
X
Shapes
>
xRootShap
e
)
void
OpenglShapeFactory
::
clearPage
(
uno
::
Reference
<
drawing
::
X
DrawPage
>
xDrawPag
e
)
{
IOpenGLRenderer
*
pRenderer
=
getRenderer
(
xDrawPage
);
OpenGLChartAdapter
*
pAdapter
=
dynamic_cast
<
OpenGLChartAdapter
*>
(
pRenderer
);
if
(
!
pAdapter
)
return
;
uno
::
Reference
<
drawing
::
XShapes
>
xRootShape
=
pAdapter
->
getShapes
();
dummy
::
DummyChart
*
pChart
=
dynamic_cast
<
dummy
::
DummyChart
*>
(
xRootShape
.
get
());
assert
(
pChart
);
pChart
->
clear
();
...
...
include/svx/svdoopengl.hxx
Dosyayı görüntüle @
3bd173af
...
...
@@ -23,7 +23,7 @@ namespace sdr { namespace contact {
class
IOpenGLRenderer
;
class
SVX_DLLPUBLIC
SdrOpenGLObj
:
public
SdrObject
class
SVX_DLLPUBLIC
SdrOpenGLObj
:
public
SdrObject
,
public
IOpenGLInfoProvider
{
public
:
virtual
~
SdrOpenGLObj
();
...
...
@@ -36,6 +36,8 @@ public:
void
setRenderer
(
IOpenGLRenderer
*
pRenderer
);
IOpenGLRenderer
*
getRenderer
();
virtual
bool
isOpenGLInitialized
();
private
:
OpenGLContext
maContext
;
...
...
include/vcl/IOpenGLRenderer.hxx
Dosyayı görüntüle @
3bd173af
...
...
@@ -10,12 +10,36 @@
#ifndef VCL_IOPENGLRENDER_HXX
#define VCL_IOPENGLRENDER_HXX
class
IOpenGLInfoProvider
{
public
:
virtual
~
IOpenGLInfoProvider
()
{}
virtual
bool
isOpenGLInitialized
()
=
0
;
};
class
IOpenGLRenderer
{
public
:
virtual
~
IOpenGLRenderer
()
{};
virtual
void
operator
()()
=
0
;
IOpenGLRenderer
()
:
mpInfoProvider
(
NULL
)
{}
virtual
~
IOpenGLRenderer
()
{}
bool
isOpenGLInitialized
()
{
if
(
mpInfoProvider
)
return
mpInfoProvider
->
isOpenGLInitialized
();
return
false
;
}
void
setInfoProvider
(
IOpenGLInfoProvider
*
pInfo
)
{
mpInfoProvider
=
pInfo
;
}
private
:
IOpenGLInfoProvider
*
mpInfoProvider
;
};
#endif
...
...
include/vcl/OpenGLContext.hxx
Dosyayı görüntüle @
3bd173af
...
...
@@ -152,6 +152,11 @@ public:
void
renderToFile
();
bool
isInitialized
()
{
return
mbInitialized
;
}
private
:
SAL_DLLPRIVATE
bool
initWindow
();
...
...
svx/source/svdraw/svdoopengl.cxx
Dosyayı görüntüle @
3bd173af
...
...
@@ -38,6 +38,7 @@ void SdrOpenGLObj::NbcResize(const Point& rRef, const Fraction& xFact, const Fra
void
SdrOpenGLObj
::
setRenderer
(
IOpenGLRenderer
*
pRenderer
)
{
mpRenderer
.
reset
(
pRenderer
);
mpRenderer
->
setInfoProvider
(
this
);
}
IOpenGLRenderer
*
SdrOpenGLObj
::
getRenderer
()
...
...
@@ -45,4 +46,9 @@ IOpenGLRenderer* SdrOpenGLObj::getRenderer()
return
mpRenderer
.
get
();
}
bool
SdrOpenGLObj
::
isOpenGLInitialized
()
{
return
maContext
.
isInitialized
();
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment