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
7470c93a
Kaydet (Commit)
7470c93a
authored
Nis 03, 2013
tarafından
Thomas Arnhold
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
fdo#62525: use cow_wrapper for Sdr3DObjectAttribute
Change-Id: I80e378f6a88068f5d3b36c6187b41ab8d968a0c3
üst
d3dff92c
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
32 additions
and
69 deletions
+32
-69
sdrobjectattribute3d.hxx
...layer/inc/drawinglayer/attribute/sdrobjectattribute3d.hxx
+5
-1
sdrobjectattribute3d.cxx
drawinglayer/source/attribute/sdrobjectattribute3d.cxx
+27
-68
No files found.
drawinglayer/inc/drawinglayer/attribute/sdrobjectattribute3d.hxx
Dosyayı görüntüle @
7470c93a
...
@@ -26,6 +26,7 @@
...
@@ -26,6 +26,7 @@
#include <com/sun/star/drawing/TextureProjectionMode.hpp>
#include <com/sun/star/drawing/TextureProjectionMode.hpp>
#include <com/sun/star/drawing/TextureKind2.hpp>
#include <com/sun/star/drawing/TextureKind2.hpp>
#include <com/sun/star/drawing/TextureMode.hpp>
#include <com/sun/star/drawing/TextureMode.hpp>
#include <o3tl/cow_wrapper.hxx>
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
// predefines
// predefines
...
@@ -43,8 +44,11 @@ namespace drawinglayer
...
@@ -43,8 +44,11 @@ namespace drawinglayer
{
{
class
DRAWINGLAYER_DLLPUBLIC
Sdr3DObjectAttribute
class
DRAWINGLAYER_DLLPUBLIC
Sdr3DObjectAttribute
{
{
public
:
typedef
o3tl
::
cow_wrapper
<
ImpSdr3DObjectAttribute
>
ImplType
;
private
:
private
:
Imp
Sdr3DObjectAttribute
*
mpSdr3DObjectAttribute
;
Imp
lType
mpSdr3DObjectAttribute
;
public
:
public
:
// constructors/destructor
// constructors/destructor
...
...
drawinglayer/source/attribute/sdrobjectattribute3d.cxx
Dosyayı görüntüle @
7470c93a
...
@@ -19,6 +19,7 @@
...
@@ -19,6 +19,7 @@
#include <drawinglayer/attribute/sdrobjectattribute3d.hxx>
#include <drawinglayer/attribute/sdrobjectattribute3d.hxx>
#include <drawinglayer/attribute/materialattribute3d.hxx>
#include <drawinglayer/attribute/materialattribute3d.hxx>
#include <rtl/instance.hxx>
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
...
@@ -29,9 +30,6 @@ namespace drawinglayer
...
@@ -29,9 +30,6 @@ namespace drawinglayer
class
ImpSdr3DObjectAttribute
class
ImpSdr3DObjectAttribute
{
{
public
:
public
:
// refcounter
sal_uInt32
mnRefCount
;
// 3D object attribute definitions
// 3D object attribute definitions
::
com
::
sun
::
star
::
drawing
::
NormalsKind
maNormalsKind
;
// normals type (0..2)
::
com
::
sun
::
star
::
drawing
::
NormalsKind
maNormalsKind
;
// normals type (0..2)
::
com
::
sun
::
star
::
drawing
::
TextureProjectionMode
maTextureProjectionX
;
// texture projection type X (0..2)
::
com
::
sun
::
star
::
drawing
::
TextureProjectionMode
maTextureProjectionX
;
// texture projection type X (0..2)
...
@@ -59,8 +57,7 @@ namespace drawinglayer
...
@@ -59,8 +57,7 @@ namespace drawinglayer
bool
bShadow3D
,
bool
bShadow3D
,
bool
bTextureFilter
,
bool
bTextureFilter
,
bool
bReducedLineGeometry
)
bool
bReducedLineGeometry
)
:
mnRefCount
(
0
),
:
maNormalsKind
(
aNormalsKind
),
maNormalsKind
(
aNormalsKind
),
maTextureProjectionX
(
aTextureProjectionX
),
maTextureProjectionX
(
aTextureProjectionX
),
maTextureProjectionY
(
aTextureProjectionY
),
maTextureProjectionY
(
aTextureProjectionY
),
maTextureKind
(
aTextureKind
),
maTextureKind
(
aTextureKind
),
...
@@ -74,6 +71,21 @@ namespace drawinglayer
...
@@ -74,6 +71,21 @@ namespace drawinglayer
{
{
}
}
ImpSdr3DObjectAttribute
()
:
maNormalsKind
(
::
com
::
sun
::
star
::
drawing
::
NormalsKind_SPECIFIC
),
maTextureProjectionX
(
::
com
::
sun
::
star
::
drawing
::
TextureProjectionMode_OBJECTSPECIFIC
),
maTextureProjectionY
(
::
com
::
sun
::
star
::
drawing
::
TextureProjectionMode_OBJECTSPECIFIC
),
maTextureKind
(
::
com
::
sun
::
star
::
drawing
::
TextureKind2_LUMINANCE
),
maTextureMode
(
::
com
::
sun
::
star
::
drawing
::
TextureMode_REPLACE
),
maMaterial
(
MaterialAttribute3D
()),
mbNormalsInvert
(
false
),
mbDoubleSided
(
false
),
mbShadow3D
(
false
),
mbTextureFilter
(
false
),
mbReducedLineGeometry
(
false
)
{
}
// data read access
// data read access
::
com
::
sun
::
star
::
drawing
::
NormalsKind
getNormalsKind
()
const
{
return
maNormalsKind
;
}
::
com
::
sun
::
star
::
drawing
::
NormalsKind
getNormalsKind
()
const
{
return
maNormalsKind
;
}
::
com
::
sun
::
star
::
drawing
::
TextureProjectionMode
getTextureProjectionX
()
const
{
return
maTextureProjectionX
;
}
::
com
::
sun
::
star
::
drawing
::
TextureProjectionMode
getTextureProjectionX
()
const
{
return
maTextureProjectionX
;
}
...
@@ -101,34 +113,14 @@ namespace drawinglayer
...
@@ -101,34 +113,14 @@ namespace drawinglayer
&&
getTextureFilter
()
==
rCandidate
.
getTextureFilter
()
&&
getTextureFilter
()
==
rCandidate
.
getTextureFilter
()
&&
getReducedLineGeometry
()
==
rCandidate
.
getReducedLineGeometry
());
&&
getReducedLineGeometry
()
==
rCandidate
.
getReducedLineGeometry
());
}
}
static
ImpSdr3DObjectAttribute
*
get_global_default
()
{
static
ImpSdr3DObjectAttribute
*
pDefault
=
0
;
if
(
!
pDefault
)
{
pDefault
=
new
ImpSdr3DObjectAttribute
(
::
com
::
sun
::
star
::
drawing
::
NormalsKind_SPECIFIC
,
::
com
::
sun
::
star
::
drawing
::
TextureProjectionMode_OBJECTSPECIFIC
,
::
com
::
sun
::
star
::
drawing
::
TextureProjectionMode_OBJECTSPECIFIC
,
::
com
::
sun
::
star
::
drawing
::
TextureKind2_LUMINANCE
,
::
com
::
sun
::
star
::
drawing
::
TextureMode_REPLACE
,
MaterialAttribute3D
(),
false
,
false
,
false
,
false
,
false
);
// never delete; start with RefCount 1, not 0
pDefault
->
mnRefCount
++
;
}
return
pDefault
;
}
};
};
namespace
{
struct
theGlobalDefault
:
public
rtl
::
Static
<
Sdr3DObjectAttribute
::
ImplType
,
theGlobalDefault
>
{};
}
Sdr3DObjectAttribute
::
Sdr3DObjectAttribute
(
Sdr3DObjectAttribute
::
Sdr3DObjectAttribute
(
::
com
::
sun
::
star
::
drawing
::
NormalsKind
aNormalsKind
,
::
com
::
sun
::
star
::
drawing
::
NormalsKind
aNormalsKind
,
::
com
::
sun
::
star
::
drawing
::
TextureProjectionMode
aTextureProjectionX
,
::
com
::
sun
::
star
::
drawing
::
TextureProjectionMode
aTextureProjectionX
,
...
@@ -141,7 +133,7 @@ namespace drawinglayer
...
@@ -141,7 +133,7 @@ namespace drawinglayer
bool
bShadow3D
,
bool
bShadow3D
,
bool
bTextureFilter
,
bool
bTextureFilter
,
bool
bReducedLineGeometry
)
bool
bReducedLineGeometry
)
:
mpSdr3DObjectAttribute
(
new
ImpSdr3DObjectAttribute
(
:
mpSdr3DObjectAttribute
(
ImpSdr3DObjectAttribute
(
aNormalsKind
,
aTextureProjectionX
,
aTextureProjectionY
,
aTextureKind
,
aTextureMode
,
aNormalsKind
,
aTextureProjectionX
,
aTextureProjectionY
,
aTextureKind
,
aTextureMode
,
rMaterial
,
bNormalsInvert
,
bDoubleSided
,
bShadow3D
,
bTextureFilter
,
bReducedLineGeometry
))
rMaterial
,
bNormalsInvert
,
bDoubleSided
,
bShadow3D
,
bTextureFilter
,
bReducedLineGeometry
))
{
{
...
@@ -150,59 +142,26 @@ namespace drawinglayer
...
@@ -150,59 +142,26 @@ namespace drawinglayer
Sdr3DObjectAttribute
::
Sdr3DObjectAttribute
(
const
Sdr3DObjectAttribute
&
rCandidate
)
Sdr3DObjectAttribute
::
Sdr3DObjectAttribute
(
const
Sdr3DObjectAttribute
&
rCandidate
)
:
mpSdr3DObjectAttribute
(
rCandidate
.
mpSdr3DObjectAttribute
)
:
mpSdr3DObjectAttribute
(
rCandidate
.
mpSdr3DObjectAttribute
)
{
{
mpSdr3DObjectAttribute
->
mnRefCount
++
;
}
}
Sdr3DObjectAttribute
::~
Sdr3DObjectAttribute
()
Sdr3DObjectAttribute
::~
Sdr3DObjectAttribute
()
{
{
if
(
mpSdr3DObjectAttribute
->
mnRefCount
)
{
mpSdr3DObjectAttribute
->
mnRefCount
--
;
}
else
{
delete
mpSdr3DObjectAttribute
;
}
}
}
bool
Sdr3DObjectAttribute
::
isDefault
()
const
bool
Sdr3DObjectAttribute
::
isDefault
()
const
{
{
return
mpSdr3DObjectAttribute
==
ImpSdr3DObjectAttribute
::
get_global_default
(
);
return
mpSdr3DObjectAttribute
.
same_object
(
theGlobalDefault
::
get
()
);
}
}
Sdr3DObjectAttribute
&
Sdr3DObjectAttribute
::
operator
=
(
const
Sdr3DObjectAttribute
&
rCandidate
)
Sdr3DObjectAttribute
&
Sdr3DObjectAttribute
::
operator
=
(
const
Sdr3DObjectAttribute
&
rCandidate
)
{
{
if
(
rCandidate
.
mpSdr3DObjectAttribute
!=
mpSdr3DObjectAttribute
)
mpSdr3DObjectAttribute
=
rCandidate
.
mpSdr3DObjectAttribute
;
{
if
(
mpSdr3DObjectAttribute
->
mnRefCount
)
{
mpSdr3DObjectAttribute
->
mnRefCount
--
;
}
else
{
delete
mpSdr3DObjectAttribute
;
}
mpSdr3DObjectAttribute
=
rCandidate
.
mpSdr3DObjectAttribute
;
mpSdr3DObjectAttribute
->
mnRefCount
++
;
}
return
*
this
;
return
*
this
;
}
}
bool
Sdr3DObjectAttribute
::
operator
==
(
const
Sdr3DObjectAttribute
&
rCandidate
)
const
bool
Sdr3DObjectAttribute
::
operator
==
(
const
Sdr3DObjectAttribute
&
rCandidate
)
const
{
{
if
(
rCandidate
.
mpSdr3DObjectAttribute
==
mpSdr3DObjectAttribute
)
return
rCandidate
.
mpSdr3DObjectAttribute
==
mpSdr3DObjectAttribute
;
{
return
true
;
}
if
(
rCandidate
.
isDefault
()
!=
isDefault
())
{
return
false
;
}
return
(
*
rCandidate
.
mpSdr3DObjectAttribute
==
*
mpSdr3DObjectAttribute
);
}
}
::
com
::
sun
::
star
::
drawing
::
NormalsKind
Sdr3DObjectAttribute
::
getNormalsKind
()
const
::
com
::
sun
::
star
::
drawing
::
NormalsKind
Sdr3DObjectAttribute
::
getNormalsKind
()
const
...
...
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