[Libreoffice-commits] core.git: include/svx svx/inc svx/source
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Tue Jul 31 11:15:14 UTC 2018
include/svx/svdograf.hxx | 1
svx/inc/sdr/contact/viewobjectcontactofgraphic.hxx | 18 -
svx/source/sdr/contact/viewobjectcontactofgraphic.cxx | 230 ------------------
svx/source/svdraw/svdograf.cxx | 6
4 files changed, 1 insertion(+), 254 deletions(-)
New commits:
commit c760d61bad637bf178566884039dd07d81ab17ed
Author: Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Fri Jul 27 15:28:44 2018 +0200
Commit: Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Tue Jul 31 13:14:48 2018 +0200
remove SdrGrafObj::IsSwappedOut
and consequently a whole bunch of related code
leftover from
commit e4eb416c3ef81d098ed61caabd2077cbbb2418bc
remove swapping and link from GraphicObject and Graphic
Change-Id: I2f8a631441e06aa52db6d9ad247e8ae6be1004ed
Reviewed-on: https://gerrit.libreoffice.org/58195
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
diff --git a/include/svx/svdograf.hxx b/include/svx/svdograf.hxx
index 6f59b3659bda..bdcb24d32b83 100644
--- a/include/svx/svdograf.hxx
+++ b/include/svx/svdograf.hxx
@@ -153,7 +153,6 @@ public:
// Keep ATM for SD.
bool IsAnimated() const;
bool IsEPS() const;
- bool IsSwappedOut() const;
MapMode GetGrafPrefMapMode() const;
Size GetGrafPrefSize() const;
diff --git a/svx/inc/sdr/contact/viewobjectcontactofgraphic.hxx b/svx/inc/sdr/contact/viewobjectcontactofgraphic.hxx
index 40c57cb0eacd..360009e58f92 100644
--- a/svx/inc/sdr/contact/viewobjectcontactofgraphic.hxx
+++ b/svx/inc/sdr/contact/viewobjectcontactofgraphic.hxx
@@ -25,30 +25,12 @@
class SdrGrafObj;
-namespace sdr { namespace event {
- class AsynchGraphicLoadingEvent;
-}}
-
namespace sdr
{
namespace contact
{
class ViewObjectContactOfGraphic final : public ViewObjectContactOfSdrObj
{
- // allow async loading event helper to call tooling methods
- friend class sdr::event::AsynchGraphicLoadingEvent;
-
- // Member which takes care for the asynch loading events which may be necessary
- // for asynch graphics loading.
- std::unique_ptr<sdr::event::AsynchGraphicLoadingEvent> mpAsynchLoadEvent;
-
- // async graphics loading helpers. Only to be used internally or from the
- // event helper class (in .cxx file)
- void impPrepareGraphicWithAsynchroniousLoading();
- void impPrepareGraphicWithSynchroniousLoading();
- void doAsynchGraphicLoading();
- void forgetAsynchGraphicLoadingEvent(sdr::event::AsynchGraphicLoadingEvent const * pEvent);
-
const SdrGrafObj& getSdrGrafObj() const;
SdrGrafObj& getSdrGrafObj();
diff --git a/svx/source/sdr/contact/viewobjectcontactofgraphic.cxx b/svx/source/sdr/contact/viewobjectcontactofgraphic.cxx
index 8f2902bf5ac5..59c32e6e4006 100644
--- a/svx/source/sdr/contact/viewobjectcontactofgraphic.cxx
+++ b/svx/source/sdr/contact/viewobjectcontactofgraphic.cxx
@@ -28,206 +28,8 @@
namespace sdr
{
- namespace event
- {
- class AsynchGraphicLoadingEvent : public BaseEvent
- {
- // the ViewContactOfGraphic to work with
- sdr::contact::ViewObjectContactOfGraphic& mrVOCOfGraphic;
-
- public:
- // basic constructor.
- AsynchGraphicLoadingEvent(TimerEventHandler& rEventHandler, sdr::contact::ViewObjectContactOfGraphic& rVOCOfGraphic);
-
- // destructor
- virtual ~AsynchGraphicLoadingEvent() override;
-
- // the called method if the event is triggered
- virtual void ExecuteEvent() override;
- };
-
- AsynchGraphicLoadingEvent::AsynchGraphicLoadingEvent(
- TimerEventHandler& rEventHandler, sdr::contact::ViewObjectContactOfGraphic& rVOCOfGraphic)
- : BaseEvent(rEventHandler),
- mrVOCOfGraphic(rVOCOfGraphic)
- {
- }
-
- AsynchGraphicLoadingEvent::~AsynchGraphicLoadingEvent()
- {
- mrVOCOfGraphic.forgetAsynchGraphicLoadingEvent(this);
- }
-
- void AsynchGraphicLoadingEvent::ExecuteEvent()
- {
- mrVOCOfGraphic.doAsynchGraphicLoading();
- }
- } // end of namespace event
-} // end of namespace sdr
-
-
-namespace sdr
-{
namespace contact
{
- // Test graphics state and eventually trigger a SwapIn event or an Asynchronous
- // load event. Return value gives info if SwapIn was triggered or not
- void ViewObjectContactOfGraphic::impPrepareGraphicWithAsynchroniousLoading()
- {
- SdrGrafObj& rGrafObj = getSdrGrafObj();
-
- if(rGrafObj.IsSwappedOut())
- {
- if(rGrafObj.IsLinkedGraphic())
- {
- // update graphic link
- rGrafObj.ImpUpdateGraphicLink();
- }
- else
- {
- // SwapIn needs to be done. Decide if it can be done asynchronious.
- bool bSwapInAsynchronious(false);
- ObjectContact& rObjectContact = GetObjectContact();
-
- // only when allowed from configuration
- if(rObjectContact.IsAsynchronGraphicsLoadingAllowed())
- {
- // direct output or vdev output (PageView buffering)
- if(rObjectContact.isOutputToWindow() || rObjectContact.isOutputToVirtualDevice())
- {
- // only when no metafile recording
- if(!rObjectContact.isOutputToRecordingMetaFile())
- {
- // allow asynchronious loading
- bSwapInAsynchronious = true;
- }
- }
- }
-
- if(bSwapInAsynchronious)
- {
- // maybe it's on the way, then do nothing
- if(!mpAsynchLoadEvent)
- {
- // Trigger asynchronious SwapIn.
- sdr::event::TimerEventHandler& rEventHandler = rObjectContact.GetEventHandler();
-
- mpAsynchLoadEvent.reset( new sdr::event::AsynchGraphicLoadingEvent(rEventHandler, *this) );
- }
- }
- else
- {
- if(rObjectContact.isOutputToPrinter() || rObjectContact.isOutputToPDFFile())
- {
- // #i76395# preview mechanism is only active if
- // swapin is called from inside paint preparation, so mbInsidePaint
- // has to be false to be able to print with high resolution
- rGrafObj.ForceSwapIn();
- }
- else
- {
- // SwapIn direct
- rGrafObj.mbInsidePaint = true;
- rGrafObj.ForceSwapIn();
- rGrafObj.mbInsidePaint = false;
- }
- }
- }
- }
- else
- {
- // it is not swapped out, somehow[1] it was loaded. In that case, forget
- // about an existing triggered event
- if (mpAsynchLoadEvent)
- {
- // just delete it, this will remove it from the EventHandler and
- // will trigger forgetAsynchGraphicLoadingEvent from the destructor
- mpAsynchLoadEvent.reset();
-
- // Invalidate paint areas.
- // [1] If a calc document with graphics is loaded then OnLoad will
- // be emitted before the graphic are due to be swapped in asynchronously
- // In sfx2 we generate a preview on receiving onload, which forces
- // the graphics to be swapped in to generate the preview. When
- // the timer triggers it find the graphics already swapped in. So
- // we should still invalidate the paint area on finding the graphic
- // swapped in seeing as we're still waiting in calc to draw the
- // graphics on receipt of their contents.
- GetViewContact().ActionChanged();
- }
- }
- }
-
- // Test graphics state and eventually trigger a SwapIn event. Return value
- // gives info if SwapIn was triggered or not
- void ViewObjectContactOfGraphic::impPrepareGraphicWithSynchroniousLoading()
- {
- SdrGrafObj& rGrafObj = getSdrGrafObj();
-
- if(rGrafObj.IsSwappedOut())
- {
- if(rGrafObj.IsLinkedGraphic())
- {
- // update graphic link
- rGrafObj.ImpUpdateGraphicLink( false );
- }
- else
- {
- ObjectContact& rObjectContact = GetObjectContact();
-
- if(rObjectContact.isOutputToPrinter() || rObjectContact.isOutputToPDFFile())
- {
- // #i76395# preview mechanism is only active if
- // swapin is called from inside paint preparation, so mbInsidePaint
- // has to be false to be able to print with high resolution
- rGrafObj.ForceSwapIn();
- }
- else
- {
- // SwapIn direct
- rGrafObj.mbInsidePaint = true;
- rGrafObj.ForceSwapIn();
- rGrafObj.mbInsidePaint = false;
- }
- }
- }
- }
-
- // This is the call from the asynch graphic loading. This may only be called from
- // AsynchGraphicLoadingEvent::ExecuteEvent(). Do load the graphics. The event will
- // be deleted (consumed) and forgetAsynchGraphicLoadingEvent will be called.
- void ViewObjectContactOfGraphic::doAsynchGraphicLoading()
- {
- DBG_ASSERT(mpAsynchLoadEvent, "ViewObjectContactOfGraphic::doAsynchGraphicLoading: I did not trigger a event, why am i called (?)");
-
- // swap it in
- SdrGrafObj& rGrafObj = getSdrGrafObj();
- rGrafObj.ForceSwapIn();
-
- // #i103720# forget event to avoid possible deletion by the following ActionChanged call
- // which may use createPrimitive2DSequence/impPrepareGraphicWithAsynchroniousLoading again.
- // Deletion is actually done by the scheduler who led to coming here
- mpAsynchLoadEvent.release();
-
- // Invalidate all paint areas and check existing animation (which may have changed).
- GetViewContact().ActionChanged();
- }
-
- // This is the call from the destructor of the asynch graphic loading event.
- // No one else has to call this. It is needed to let this object forget about
- // the event. The parameter allows checking for the correct event.
- void ViewObjectContactOfGraphic::forgetAsynchGraphicLoadingEvent(sdr::event::AsynchGraphicLoadingEvent const * pEvent)
- {
- if(mpAsynchLoadEvent)
- {
- OSL_ENSURE(!pEvent || mpAsynchLoadEvent.get() == pEvent,
- "ViewObjectContactOfGraphic::forgetAsynchGraphicLoadingEvent: Forced to forget another event then I have scheduled (?)");
-
- // forget event
- mpAsynchLoadEvent.release();
- }
- }
-
const SdrGrafObj& ViewObjectContactOfGraphic::getSdrGrafObj() const
{
return static_cast<const ViewContactOfGraphic& >(GetViewContact()).GetGrafObject();
@@ -240,35 +42,6 @@ namespace sdr
drawinglayer::primitive2d::Primitive2DContainer ViewObjectContactOfGraphic::createPrimitive2DSequence(const DisplayInfo& rDisplayInfo) const
{
- // prepare primitive generation with evtl. loading the graphic when it's swapped out
- SdrGrafObj& rGrafObj = const_cast< ViewObjectContactOfGraphic* >(this)->getSdrGrafObj();
- bool bDoAsynchronGraphicLoading(rGrafObj.getSdrModelFromSdrObject().IsSwapGraphics());
-
- if( bDoAsynchronGraphicLoading && rGrafObj.IsSwappedOut() )
- {
- // sometimes it is needed that each graphic is completely available and swapped in
- // for these cases a ForceSwapIn is called later at the graphic object
- if ( rGrafObj.getSdrPageFromSdrObject() && rGrafObj.getSdrPageFromSdrObject()->IsMasterPage() )
- {
- // #i102380# force Swap-In for GraphicObjects on MasterPage to have a nicer visualisation
- bDoAsynchronGraphicLoading = false;
- }
- else if ( GetObjectContact().isOutputToPrinter()
- || GetObjectContact().isOutputToRecordingMetaFile()
- || GetObjectContact().isOutputToPDFFile() )
- {
- bDoAsynchronGraphicLoading = false;
- }
- }
- if( bDoAsynchronGraphicLoading )
- {
- const_cast< ViewObjectContactOfGraphic* >(this)->impPrepareGraphicWithAsynchroniousLoading();
- }
- else
- {
- const_cast< ViewObjectContactOfGraphic* >(this)->impPrepareGraphicWithSynchroniousLoading();
- }
-
// get return value by calling parent
drawinglayer::primitive2d::Primitive2DContainer xRetval = ViewObjectContactOfSdrObj::createPrimitive2DSequence(rDisplayInfo);
@@ -293,8 +66,7 @@ namespace sdr
}
ViewObjectContactOfGraphic::ViewObjectContactOfGraphic(ObjectContact& rObjectContact, ViewContact& rViewContact)
- : ViewObjectContactOfSdrObj(rObjectContact, rViewContact),
- mpAsynchLoadEvent(nullptr)
+ : ViewObjectContactOfSdrObj(rObjectContact, rViewContact)
{
}
diff --git a/svx/source/svdraw/svdograf.cxx b/svx/source/svdraw/svdograf.cxx
index 025206cbccde..2e5f955b0165 100644
--- a/svx/source/svdraw/svdograf.cxx
+++ b/svx/source/svdraw/svdograf.cxx
@@ -548,12 +548,6 @@ bool SdrGrafObj::IsEPS() const
return mpGraphicObject->IsEPS();
}
-// TODO Remove
-bool SdrGrafObj::IsSwappedOut() const
-{
- return false;
-}
-
MapMode SdrGrafObj::GetGrafPrefMapMode() const
{
return mpGraphicObject->GetPrefMapMode();
More information about the Libreoffice-commits
mailing list