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 @@
#ifndef 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/svdtypes.hxx>
#include <svx/sdrpagewindow.hxx>
#include <svx/svxdllapi.h>
#include <rtl/ref.hxx>
#include <vector>
#include <com/sun/star/awt/XControlContainer.hpp>
// predeclarations
namespace
vcl
{
class
Region
;
}
class
SdrUnoObj
;
class
SdrPageView
;
// #110094#
namespace
sdr
{
namespace
contact
{
class
ObjectContact
;
class
ViewObjectContactRedirector
;
}
// end of namespace contact
}
}
namespace
overlay
{
class
OverlayManager
;
}
// end of namespace overlay
}
// end of namespace sdr
namespace
basegfx
{
class
B2DRange
;
}
// end of namespace basegfx
namespace
basegfx
{
class
B2DRange
;
}
class
SdrPaintWindow
;
class
Link
;
class
SdrPageView
;
class
SVX_DLLPUBLIC
SdrPageWindow
{
// #110094# ObjectContact section
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
;
struct
Impl
;
// UNO stuff for xControls
::
com
::
sun
::
star
::
uno
::
Reference
<
::
com
::
sun
::
star
::
awt
::
XControlContainer
>
mxControlContainer
;
Impl
*
mpImpl
;
sdr
::
contact
::
ObjectContact
*
CreateViewSpecificObjectContact
();
SdrPageWindow
(
const
SdrPageWindow
&
);
// disabled
SdrPageWindow
&
operator
=
(
const
SdrPageWindow
&
);
// disabled
public
:
SdrPageWindow
(
SdrPageView
&
rNewPageView
,
SdrPaintWindow
&
rPaintWindow
);
~
SdrPageWindow
();
// data read accesses
SdrPageView
&
GetPageView
()
const
{
return
mrPageView
;
}
SdrPaintWindow
&
GetPaintWindow
()
const
{
return
*
mpPaintWindow
;
}
const
SdrPaintWindow
*
GetOriginalPaintWindow
()
const
{
return
mpOriginalPaintWindow
;
}
::
com
::
sun
::
star
::
uno
::
Reference
<
::
com
::
sun
::
star
::
awt
::
XControlContainer
>
GetControlContainer
(
bool
_bCreateIfNecessary
=
true
)
const
;
SdrPageView
&
GetPageView
()
const
;
SdrPaintWindow
&
GetPaintWindow
()
const
;
const
SdrPaintWindow
*
GetOriginalPaintWindow
()
const
;
css
::
uno
::
Reference
<
css
::
awt
::
XControlContainer
>
GetControlContainer
(
bool
_bCreateIfNecessary
=
true
)
const
;
// OVERLAYMANAGER
rtl
::
Reference
<
::
sdr
::
overlay
::
OverlayManager
>
GetOverlayManager
()
const
;
...
...
@@ -102,14 +76,15 @@ public:
// the repaint method. For migration from pPaintProc, use one more parameter
void
PrePaint
();
void
PrepareRedraw
(
const
vcl
::
Region
&
rReg
);
void
RedrawAll
(
sdr
::
contact
::
ViewObjectContactRedirector
*
pRedirector
)
const
;
void
RedrawLayer
(
const
SdrLayerID
*
pId
,
sdr
::
contact
::
ViewObjectContactRedirector
*
pRedirector
)
const
;
void
RedrawAll
(
sdr
::
contact
::
ViewObjectContactRedirector
*
pRedirector
)
;
void
RedrawLayer
(
const
SdrLayerID
*
pId
,
sdr
::
contact
::
ViewObjectContactRedirector
*
pRedirector
)
;
// Invalidate call, used from ObjectContact(OfPageView) in InvalidatePartOfView(...)
void
InvalidatePageWindow
(
const
basegfx
::
B2DRange
&
rRange
);
// #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
bool
HasObjectContact
()
const
;
...
...
@@ -121,11 +96,6 @@ public:
void
SetDesignMode
(
bool
_bDesignMode
)
const
;
};
// typedefs for a list of SdrPageWindow
typedef
::
std
::
vector
<
SdrPageWindow
*
>
SdrPageWindowVector
;
#endif // INCLUDED_SVX_SDRPAGEWINDOW_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
include/svx/svdpagv.hxx
Dosyayı görüntüle @
709784cf
...
...
@@ -166,13 +166,13 @@ public:
void
PrePaint
();
// 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
void
setPreparedPageWindow
(
SdrPageWindow
*
pKnownTarget
);
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
)
);
Rectangle
GetPageRect
()
const
;
...
...
include/svx/svdpntv.hxx
Dosyayı görüntüle @
709784cf
...
...
@@ -391,7 +391,7 @@ public:
protected
:
// 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
);
...
...
include/svx/svdtypes.hxx
Dosyayı görüntüle @
709784cf
...
...
@@ -20,6 +20,8 @@
#ifndef INCLUDED_SVX_SVDTYPES_HXX
#define INCLUDED_SVX_SVDTYPES_HXX
#include <sal/types.h>
/*
* SdrObject
*/
...
...
svx/source/sdr/contact/objectcontactofpageview.cxx
Dosyayı görüntüle @
709784cf
...
...
@@ -41,6 +41,48 @@
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
contact
...
...
@@ -95,6 +137,7 @@ namespace sdr
// From baseclass Timer, the timeout call triggered by the LazyInvalidate mechanism
void
ObjectContactOfPageView
::
Timeout
()
{
stack_printer
__stack_printer__
(
"sdr/contact/ObjectContactOfPageView::Timeout"
);
// stop the timer
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
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!"
);
if
(
!
pPageWindow
)
continue
;
...
...
svx/source/svdraw/svdpagv.cxx
Dosyayı görüntüle @
709784cf
...
...
@@ -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
())
{
...
...
@@ -317,13 +318,13 @@ void SdrPageView::setPreparedPageWindow(SdrPageWindow* 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
(
pGivenTarget
)
{
const
SdrPageWindow
*
pKnownTarget
=
FindPageWindow
(
*
pGivenTarget
);
SdrPageWindow
*
pKnownTarget
=
FindPageWindow
(
*
pGivenTarget
);
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
void
SdrPaintView
::
ImpFormLayerDrawing
(
SdrPaintWindow
&
rPaintWindow
)
const
void
SdrPaintView
::
ImpFormLayerDrawing
(
SdrPaintWindow
&
rPaintWindow
)
{
if
(
mpPageView
)
{
...
...
@@ -1201,7 +1201,7 @@ void SdrPaintView::SetAnimationPause( bool bSet )
{
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
::
animation
::
primitiveAnimator
&
rAnimator
=
rObjectContact
.
getPrimitiveAnimator
();
...
...
@@ -1321,7 +1321,7 @@ void SdrPaintView::SetAnimationTimer(sal_uInt32 nTime)
// first, reset all timers at all windows to 0L
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
::
animation
::
primitiveAnimator
&
rAnimator
=
rObjectContact
.
getPrimitiveAnimator
();
rAnimator
.
SetTime
(
nTime
);
...
...
sw/source/core/inc/viewimp.hxx
Dosyayı görüntüle @
709784cf
...
...
@@ -175,7 +175,7 @@ public:
const
SwRect
&
_rRect
,
const
Color
*
_pPageBackgrdColor
=
0
,
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
...
...
sw/source/core/view/vdraw.cxx
Dosyayı görüntüle @
709784cf
...
...
@@ -87,7 +87,7 @@ void SwViewImp::PaintLayer( const SdrLayerID _nLayerID,
const
SwRect
&
aPaintRect
,
const
Color
*
_pPageBackgrdColor
,
const
bool
_bIsPageRightToLeft
,
sdr
::
contact
::
ViewObjectContactRedirector
*
pRedirector
)
const
sdr
::
contact
::
ViewObjectContactRedirector
*
pRedirector
)
{
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