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
709784cf
Kaydet (Commit)
709784cf
authored
Eki 30, 2014
tarafından
Kohei Yoshida
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Apply pimpl to SdrPageWindow.
Change-Id: I54554a229c03ff87096782344a728a49636c1de1
üst
2ebf98e8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
77 additions
and
61 deletions
+77
-61
sdrpagewindow.hxx
include/svx/sdrpagewindow.hxx
+19
-49
svdpagv.hxx
include/svx/svdpagv.hxx
+2
-2
svdpntv.hxx
include/svx/svdpntv.hxx
+1
-1
svdtypes.hxx
include/svx/svdtypes.hxx
+2
-0
objectcontactofpageview.cxx
svx/source/sdr/contact/objectcontactofpageview.cxx
+43
-0
sdrpagewindow.cxx
svx/source/svdraw/sdrpagewindow.cxx
+0
-0
svdouno.cxx
svx/source/svdraw/svdouno.cxx
+1
-1
svdpagv.cxx
svx/source/svdraw/svdpagv.cxx
+4
-3
svdpntv.cxx
svx/source/svdraw/svdpntv.cxx
+3
-3
viewimp.hxx
sw/source/core/inc/viewimp.hxx
+1
-1
vdraw.cxx
sw/source/core/view/vdraw.cxx
+1
-1
No files found.
include/svx/sdrpagewindow.hxx
Dosyayı görüntüle @
709784cf
...
@@ -20,77 +20,51 @@
...
@@ -20,77 +20,51 @@
#ifndef INCLUDED_SVX_SDRPAGEWINDOW_HXX
#ifndef INCLUDED_SVX_SDRPAGEWINDOW_HXX
#define INCLUDED_SVX_SDRPAGEWINDOW_HXX
#define INCLUDED_SVX_SDRPAGEWINDOW_HXX
#include <com/sun/star/awt/XWindowListener.hpp>
#include <com/sun/star/beans/XPropertyChangeListener.hpp>
#include <com/sun/star/awt/XControlContainer.hpp>
#include <com/sun/star/util/XModeChangeListener.hpp>
#include <cppuhelper/implbase4.hxx>
#include <svx/sdr/overlay/overlaymanager.hxx>
#include <svx/sdr/overlay/overlaymanager.hxx>
#include <svx/svdtypes.hxx>
#include <svx/svdtypes.hxx>
#include <svx/sdrpagewindow.hxx>
#include <svx/svxdllapi.h>
#include <svx/svxdllapi.h>
#include <rtl/ref.hxx>
#include <vector>
#include <com/sun/star/awt/XControlContainer.hpp>
// predeclarations
// predeclarations
namespace
vcl
{
class
Region
;
}
namespace
vcl
{
class
Region
;
}
class
SdrUnoObj
;
class
SdrPageView
;
// #110094#
namespace
sdr
namespace
sdr
{
{
namespace
contact
namespace
contact
{
{
class
ObjectContact
;
class
ObjectContact
;
class
ViewObjectContactRedirector
;
class
ViewObjectContactRedirector
;
}
// end of namespace contact
}
}
namespace
overlay
namespace
basegfx
{
class
B2DRange
;
}
{
class
OverlayManager
;
}
// end of namespace overlay
}
// end of namespace sdr
namespace
basegfx
{
class
B2DRange
;
}
// end of namespace basegfx
class
SdrPaintWindow
;
class
SdrPaintWindow
;
class
Link
;
class
SdrPageView
;
class
SVX_DLLPUBLIC
SdrPageWindow
class
SVX_DLLPUBLIC
SdrPageWindow
{
{
// #110094# ObjectContact section
struct
Impl
;
sdr
::
contact
::
ObjectContact
*
mpObjectContact
;
// the SdrPageView this window belongs to
SdrPageView
&
mrPageView
;
// the PaintWindow to paint on. Here is access to OutDev etc.
// #i72752# change to pointer to allow patcing it in DrawLayer() if necessary
SdrPaintWindow
*
mpPaintWindow
;
SdrPaintWindow
*
mpOriginalPaintWindow
;
// UNO stuff for xControls
Impl
*
mpImpl
;
::
com
::
sun
::
star
::
uno
::
Reference
<
::
com
::
sun
::
star
::
awt
::
XControlContainer
>
mxControlContainer
;
sdr
::
contact
::
ObjectContact
*
CreateViewSpecificObjectContact
();
sdr
::
contact
::
ObjectContact
*
CreateViewSpecificObjectContact
();
SdrPageWindow
(
const
SdrPageWindow
&
);
// disabled
SdrPageWindow
&
operator
=
(
const
SdrPageWindow
&
);
// disabled
public
:
public
:
SdrPageWindow
(
SdrPageView
&
rNewPageView
,
SdrPaintWindow
&
rPaintWindow
);
SdrPageWindow
(
SdrPageView
&
rNewPageView
,
SdrPaintWindow
&
rPaintWindow
);
~
SdrPageWindow
();
~
SdrPageWindow
();
// data read accesses
// data read accesses
SdrPageView
&
GetPageView
()
const
{
return
mrPageView
;
}
SdrPageView
&
GetPageView
()
const
;
SdrPaintWindow
&
GetPaintWindow
()
const
{
return
*
mpPaintWindow
;
}
SdrPaintWindow
&
GetPaintWindow
()
const
;
const
SdrPaintWindow
*
GetOriginalPaintWindow
()
const
{
return
mpOriginalPaintWindow
;
}
const
SdrPaintWindow
*
GetOriginalPaintWindow
()
const
;
::
com
::
sun
::
star
::
uno
::
Reference
<
::
com
::
sun
::
star
::
awt
::
XControlContainer
>
GetControlContainer
(
bool
_bCreateIfNecessary
=
true
)
const
;
css
::
uno
::
Reference
<
css
::
awt
::
XControlContainer
>
GetControlContainer
(
bool
_bCreateIfNecessary
=
true
)
const
;
// OVERLAYMANAGER
// OVERLAYMANAGER
rtl
::
Reference
<
::
sdr
::
overlay
::
OverlayManager
>
GetOverlayManager
()
const
;
rtl
::
Reference
<
::
sdr
::
overlay
::
OverlayManager
>
GetOverlayManager
()
const
;
...
@@ -102,14 +76,15 @@ public:
...
@@ -102,14 +76,15 @@ public:
// the repaint method. For migration from pPaintProc, use one more parameter
// the repaint method. For migration from pPaintProc, use one more parameter
void
PrePaint
();
void
PrePaint
();
void
PrepareRedraw
(
const
vcl
::
Region
&
rReg
);
void
PrepareRedraw
(
const
vcl
::
Region
&
rReg
);
void
RedrawAll
(
sdr
::
contact
::
ViewObjectContactRedirector
*
pRedirector
)
const
;
void
RedrawAll
(
sdr
::
contact
::
ViewObjectContactRedirector
*
pRedirector
)
;
void
RedrawLayer
(
const
SdrLayerID
*
pId
,
sdr
::
contact
::
ViewObjectContactRedirector
*
pRedirector
)
const
;
void
RedrawLayer
(
const
SdrLayerID
*
pId
,
sdr
::
contact
::
ViewObjectContactRedirector
*
pRedirector
)
;
// Invalidate call, used from ObjectContact(OfPageView) in InvalidatePartOfView(...)
// Invalidate call, used from ObjectContact(OfPageView) in InvalidatePartOfView(...)
void
InvalidatePageWindow
(
const
basegfx
::
B2DRange
&
rRange
);
void
InvalidatePageWindow
(
const
basegfx
::
B2DRange
&
rRange
);
// #110094# ObjectContact section
// #110094# ObjectContact section
sdr
::
contact
::
ObjectContact
&
GetObjectContact
()
const
;
const
sdr
::
contact
::
ObjectContact
&
GetObjectContact
()
const
;
sdr
::
contact
::
ObjectContact
&
GetObjectContact
();
/// determines whether there already exists an ObjectContact
/// determines whether there already exists an ObjectContact
bool
HasObjectContact
()
const
;
bool
HasObjectContact
()
const
;
...
@@ -121,11 +96,6 @@ public:
...
@@ -121,11 +96,6 @@ public:
void
SetDesignMode
(
bool
_bDesignMode
)
const
;
void
SetDesignMode
(
bool
_bDesignMode
)
const
;
};
};
// typedefs for a list of SdrPageWindow
typedef
::
std
::
vector
<
SdrPageWindow
*
>
SdrPageWindowVector
;
#endif // INCLUDED_SVX_SDRPAGEWINDOW_HXX
#endif // INCLUDED_SVX_SDRPAGEWINDOW_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
include/svx/svdpagv.hxx
Dosyayı görüntüle @
709784cf
...
@@ -166,13 +166,13 @@ public:
...
@@ -166,13 +166,13 @@ public:
void
PrePaint
();
void
PrePaint
();
// rReg bezieht sich auf's OutDev, nicht auf die Page
// rReg bezieht sich auf's OutDev, nicht auf die Page
void
CompleteRedraw
(
SdrPaintWindow
&
rPaintWindow
,
const
vcl
::
Region
&
rReg
,
sdr
::
contact
::
ViewObjectContactRedirector
*
pRedirector
=
0L
)
const
;
void
CompleteRedraw
(
SdrPaintWindow
&
rPaintWindow
,
const
vcl
::
Region
&
rReg
,
sdr
::
contact
::
ViewObjectContactRedirector
*
pRedirector
=
NULL
)
;
// write access to mpPreparedPageWindow
// write access to mpPreparedPageWindow
void
setPreparedPageWindow
(
SdrPageWindow
*
pKnownTarget
);
void
setPreparedPageWindow
(
SdrPageWindow
*
pKnownTarget
);
void
DrawLayer
(
SdrLayerID
nID
,
OutputDevice
*
pGivenTarget
=
0
,
sdr
::
contact
::
ViewObjectContactRedirector
*
pRedirector
=
0L
,
void
DrawLayer
(
SdrLayerID
nID
,
OutputDevice
*
pGivenTarget
=
0
,
sdr
::
contact
::
ViewObjectContactRedirector
*
pRedirector
=
0L
,
const
Rectangle
&
rRect
=
Rectangle
())
const
;
const
Rectangle
&
rRect
=
Rectangle
());
void
DrawPageViewGrid
(
OutputDevice
&
rOut
,
const
Rectangle
&
rRect
,
Color
aColor
=
Color
(
COL_BLACK
)
);
void
DrawPageViewGrid
(
OutputDevice
&
rOut
,
const
Rectangle
&
rRect
,
Color
aColor
=
Color
(
COL_BLACK
)
);
Rectangle
GetPageRect
()
const
;
Rectangle
GetPageRect
()
const
;
...
...
include/svx/svdpntv.hxx
Dosyayı görüntüle @
709784cf
...
@@ -391,7 +391,7 @@ public:
...
@@ -391,7 +391,7 @@ public:
protected
:
protected
:
// used to paint the form layer after the PreRender device is flushed (painted) to the window.
// used to paint the form layer after the PreRender device is flushed (painted) to the window.
void
ImpFormLayerDrawing
(
SdrPaintWindow
&
rPaintWindow
)
const
;
void
ImpFormLayerDrawing
(
SdrPaintWindow
&
rPaintWindow
)
;
vcl
::
Region
OptimizeDrawLayersRegion
(
OutputDevice
*
pOut
,
const
vcl
::
Region
&
rReg
,
bool
bDisableIntersect
);
vcl
::
Region
OptimizeDrawLayersRegion
(
OutputDevice
*
pOut
,
const
vcl
::
Region
&
rReg
,
bool
bDisableIntersect
);
...
...
include/svx/svdtypes.hxx
Dosyayı görüntüle @
709784cf
...
@@ -20,6 +20,8 @@
...
@@ -20,6 +20,8 @@
#ifndef INCLUDED_SVX_SVDTYPES_HXX
#ifndef INCLUDED_SVX_SVDTYPES_HXX
#define INCLUDED_SVX_SVDTYPES_HXX
#define INCLUDED_SVX_SVDTYPES_HXX
#include <sal/types.h>
/*
/*
* SdrObject
* SdrObject
*/
*/
...
...
svx/source/sdr/contact/objectcontactofpageview.cxx
Dosyayı görüntüle @
709784cf
...
@@ -41,6 +41,48 @@
...
@@ -41,6 +41,48 @@
using
namespace
com
::
sun
::
star
;
using
namespace
com
::
sun
::
star
;
#include <stdio.h>
#include <string>
#include <sys/time.h>
namespace
{
class
stack_printer
{
public
:
explicit
stack_printer
(
const
char
*
msg
)
:
msMsg
(
msg
)
{
fprintf
(
stdout
,
"%s: --begin
\n
"
,
msMsg
.
c_str
());
mfStartTime
=
getTime
();
}
~
stack_printer
()
{
double
fEndTime
=
getTime
();
fprintf
(
stdout
,
"%s: --end (duration: %g sec)
\n
"
,
msMsg
.
c_str
(),
(
fEndTime
-
mfStartTime
));
}
void
printTime
(
int
line
)
const
{
double
fEndTime
=
getTime
();
fprintf
(
stdout
,
"%s: --(%d) (duration: %g sec)
\n
"
,
msMsg
.
c_str
(),
line
,
(
fEndTime
-
mfStartTime
));
}
private
:
double
getTime
()
const
{
timeval
tv
;
gettimeofday
(
&
tv
,
NULL
);
return
tv
.
tv_sec
+
tv
.
tv_usec
/
1000000.0
;
}
::
std
::
string
msMsg
;
double
mfStartTime
;
};
}
namespace
sdr
namespace
sdr
{
{
namespace
contact
namespace
contact
...
@@ -95,6 +137,7 @@ namespace sdr
...
@@ -95,6 +137,7 @@ namespace sdr
// From baseclass Timer, the timeout call triggered by the LazyInvalidate mechanism
// From baseclass Timer, the timeout call triggered by the LazyInvalidate mechanism
void
ObjectContactOfPageView
::
Timeout
()
void
ObjectContactOfPageView
::
Timeout
()
{
{
stack_printer
__stack_printer__
(
"sdr/contact/ObjectContactOfPageView::Timeout"
);
// stop the timer
// stop the timer
Stop
();
Stop
();
...
...
svx/source/svdraw/sdrpagewindow.cxx
Dosyayı görüntüle @
709784cf
This diff is collapsed.
Click to expand it.
svx/source/svdraw/svdouno.cxx
Dosyayı görüntüle @
709784cf
...
@@ -127,7 +127,7 @@ namespace
...
@@ -127,7 +127,7 @@ namespace
for
(
sal_uInt32
i
=
0
;
i
<
pPageView
->
PageWindowCount
();
++
i
)
for
(
sal_uInt32
i
=
0
;
i
<
pPageView
->
PageWindowCount
();
++
i
)
{
{
const
SdrPageWindow
*
pPageWindow
=
pPageView
->
GetPageWindow
(
i
);
SdrPageWindow
*
pPageWindow
=
pPageView
->
GetPageWindow
(
i
);
DBG_ASSERT
(
pPageWindow
,
"lcl_ensureControlVisibility: invalid PageViewWindow!"
);
DBG_ASSERT
(
pPageWindow
,
"lcl_ensureControlVisibility: invalid PageViewWindow!"
);
if
(
!
pPageWindow
)
if
(
!
pPageWindow
)
continue
;
continue
;
...
...
svx/source/svdraw/svdpagv.cxx
Dosyayı görüntüle @
709784cf
...
@@ -281,7 +281,8 @@ void SdrPageView::PrePaint()
...
@@ -281,7 +281,8 @@ void SdrPageView::PrePaint()
}
}
}
}
void
SdrPageView
::
CompleteRedraw
(
SdrPaintWindow
&
rPaintWindow
,
const
vcl
::
Region
&
rReg
,
sdr
::
contact
::
ViewObjectContactRedirector
*
pRedirector
)
const
void
SdrPageView
::
CompleteRedraw
(
SdrPaintWindow
&
rPaintWindow
,
const
vcl
::
Region
&
rReg
,
sdr
::
contact
::
ViewObjectContactRedirector
*
pRedirector
)
{
{
if
(
GetPage
())
if
(
GetPage
())
{
{
...
@@ -317,13 +318,13 @@ void SdrPageView::setPreparedPageWindow(SdrPageWindow* pKnownTarget)
...
@@ -317,13 +318,13 @@ void SdrPageView::setPreparedPageWindow(SdrPageWindow* pKnownTarget)
mpPreparedPageWindow
=
pKnownTarget
;
mpPreparedPageWindow
=
pKnownTarget
;
}
}
void
SdrPageView
::
DrawLayer
(
SdrLayerID
nID
,
OutputDevice
*
pGivenTarget
,
sdr
::
contact
::
ViewObjectContactRedirector
*
pRedirector
,
const
Rectangle
&
rRect
)
const
void
SdrPageView
::
DrawLayer
(
SdrLayerID
nID
,
OutputDevice
*
pGivenTarget
,
sdr
::
contact
::
ViewObjectContactRedirector
*
pRedirector
,
const
Rectangle
&
rRect
)
{
{
if
(
GetPage
())
if
(
GetPage
())
{
{
if
(
pGivenTarget
)
if
(
pGivenTarget
)
{
{
const
SdrPageWindow
*
pKnownTarget
=
FindPageWindow
(
*
pGivenTarget
);
SdrPageWindow
*
pKnownTarget
=
FindPageWindow
(
*
pGivenTarget
);
if
(
pKnownTarget
)
if
(
pKnownTarget
)
{
{
...
...
svx/source/svdraw/svdpntv.cxx
Dosyayı görüntüle @
709784cf
...
@@ -850,7 +850,7 @@ vcl::Region SdrPaintView::OptimizeDrawLayersRegion(OutputDevice* pOut, const vcl
...
@@ -850,7 +850,7 @@ vcl::Region SdrPaintView::OptimizeDrawLayersRegion(OutputDevice* pOut, const vcl
void
SdrPaintView
::
ImpFormLayerDrawing
(
SdrPaintWindow
&
rPaintWindow
)
const
void
SdrPaintView
::
ImpFormLayerDrawing
(
SdrPaintWindow
&
rPaintWindow
)
{
{
if
(
mpPageView
)
if
(
mpPageView
)
{
{
...
@@ -1201,7 +1201,7 @@ void SdrPaintView::SetAnimationPause( bool bSet )
...
@@ -1201,7 +1201,7 @@ void SdrPaintView::SetAnimationPause( bool bSet )
{
{
for
(
sal_uInt32
b
(
0L
);
b
<
mpPageView
->
PageWindowCount
();
b
++
)
for
(
sal_uInt32
b
(
0L
);
b
<
mpPageView
->
PageWindowCount
();
b
++
)
{
{
const
SdrPageWindow
&
rPageWindow
=
*
(
mpPageView
->
GetPageWindow
(
b
));
SdrPageWindow
&
rPageWindow
=
*
(
mpPageView
->
GetPageWindow
(
b
));
sdr
::
contact
::
ObjectContact
&
rObjectContact
=
rPageWindow
.
GetObjectContact
();
sdr
::
contact
::
ObjectContact
&
rObjectContact
=
rPageWindow
.
GetObjectContact
();
sdr
::
animation
::
primitiveAnimator
&
rAnimator
=
rObjectContact
.
getPrimitiveAnimator
();
sdr
::
animation
::
primitiveAnimator
&
rAnimator
=
rObjectContact
.
getPrimitiveAnimator
();
...
@@ -1321,7 +1321,7 @@ void SdrPaintView::SetAnimationTimer(sal_uInt32 nTime)
...
@@ -1321,7 +1321,7 @@ void SdrPaintView::SetAnimationTimer(sal_uInt32 nTime)
// first, reset all timers at all windows to 0L
// first, reset all timers at all windows to 0L
for
(
sal_uInt32
a
(
0L
);
a
<
mpPageView
->
PageWindowCount
();
a
++
)
for
(
sal_uInt32
a
(
0L
);
a
<
mpPageView
->
PageWindowCount
();
a
++
)
{
{
const
SdrPageWindow
&
rPageWindow
=
*
mpPageView
->
GetPageWindow
(
a
);
SdrPageWindow
&
rPageWindow
=
*
mpPageView
->
GetPageWindow
(
a
);
sdr
::
contact
::
ObjectContact
&
rObjectContact
=
rPageWindow
.
GetObjectContact
();
sdr
::
contact
::
ObjectContact
&
rObjectContact
=
rPageWindow
.
GetObjectContact
();
sdr
::
animation
::
primitiveAnimator
&
rAnimator
=
rObjectContact
.
getPrimitiveAnimator
();
sdr
::
animation
::
primitiveAnimator
&
rAnimator
=
rObjectContact
.
getPrimitiveAnimator
();
rAnimator
.
SetTime
(
nTime
);
rAnimator
.
SetTime
(
nTime
);
...
...
sw/source/core/inc/viewimp.hxx
Dosyayı görüntüle @
709784cf
...
@@ -175,7 +175,7 @@ public:
...
@@ -175,7 +175,7 @@ public:
const
SwRect
&
_rRect
,
const
SwRect
&
_rRect
,
const
Color
*
_pPageBackgrdColor
=
0
,
const
Color
*
_pPageBackgrdColor
=
0
,
const
bool
_bIsPageRightToLeft
=
false
,
const
bool
_bIsPageRightToLeft
=
false
,
sdr
::
contact
::
ViewObjectContactRedirector
*
pRedirector
=
0
)
const
;
sdr
::
contact
::
ViewObjectContactRedirector
*
pRedirector
=
0
);
/**
/**
* Is passed to the DrawEngine as a Link and decides what is painted
* Is passed to the DrawEngine as a Link and decides what is painted
...
...
sw/source/core/view/vdraw.cxx
Dosyayı görüntüle @
709784cf
...
@@ -87,7 +87,7 @@ void SwViewImp::PaintLayer( const SdrLayerID _nLayerID,
...
@@ -87,7 +87,7 @@ void SwViewImp::PaintLayer( const SdrLayerID _nLayerID,
const
SwRect
&
aPaintRect
,
const
SwRect
&
aPaintRect
,
const
Color
*
_pPageBackgrdColor
,
const
Color
*
_pPageBackgrdColor
,
const
bool
_bIsPageRightToLeft
,
const
bool
_bIsPageRightToLeft
,
sdr
::
contact
::
ViewObjectContactRedirector
*
pRedirector
)
const
sdr
::
contact
::
ViewObjectContactRedirector
*
pRedirector
)
{
{
if
(
HasDrawView
()
)
if
(
HasDrawView
()
)
{
{
...
...
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