Kaydet (Commit) 3870b3d4 authored tarafından Caolán McNamara's avatar Caolán McNamara

hold WaterMarkLayout by reference

Change-Id: I7dc7739ee7b958319ddd4e0cf262254728ef0569
(cherry picked from commit 80509545)
üst 4d5bba46
...@@ -272,7 +272,7 @@ void LwpFrame::ApplyWrapType(XFFrameStyle *pFrameStyle) ...@@ -272,7 +272,7 @@ void LwpFrame::ApplyWrapType(XFFrameStyle *pFrameStyle)
case LwpPlacableLayout::LAY_NO_WRAP_AROUND: case LwpPlacableLayout::LAY_NO_WRAP_AROUND:
{ {
eWrap = enumXFWrapRunThrough; eWrap = enumXFWrapRunThrough;
if(!m_pLayout->GetBackColor() && !m_pLayout->GetWaterMarkLayout()) if(!m_pLayout->GetBackColor() && !m_pLayout->GetWaterMarkLayout().is())
{ {
//pFrameStyle->SetBackGround(sal_True); //pFrameStyle->SetBackGround(sal_True);
XFColor aXFColor(0xffffff); //white color XFColor aXFColor(0xffffff); //white color
...@@ -534,12 +534,13 @@ void LwpFrame::ApplyWatermark(XFFrameStyle *pFrameStyle) ...@@ -534,12 +534,13 @@ void LwpFrame::ApplyWatermark(XFFrameStyle *pFrameStyle)
{ {
pFrameStyle->SetBackImage(pBGImage); pFrameStyle->SetBackImage(pBGImage);
//set watermark transparent //set watermark transparent
LwpMiddleLayout* pLay = static_cast<LwpMiddleLayout*>(m_pLayout->GetWaterMarkLayout()); rtl::Reference<LwpVirtualLayout> xWaterMarkLayout(m_pLayout->GetWaterMarkLayout());
LwpBackgroundStuff* pBackgroundStuff = pLay->GetBackgroundStuff(); LwpMiddleLayout* pLay = dynamic_cast<LwpMiddleLayout*>(xWaterMarkLayout.get());
if(pBackgroundStuff && !pBackgroundStuff->IsTransparent()) LwpBackgroundStuff* pBackgroundStuff = pLay ? pLay->GetBackgroundStuff() : nullptr;
{ if(pBackgroundStuff && !pBackgroundStuff->IsTransparent())
pFrameStyle->SetTransparency(100); {
} pFrameStyle->SetTransparency(100);
}
} }
} }
......
...@@ -1357,18 +1357,18 @@ bool LwpMiddleLayout::IsProtected() ...@@ -1357,18 +1357,18 @@ bool LwpMiddleLayout::IsProtected()
* @descr: Get watermark layout * @descr: Get watermark layout
* *
*/ */
LwpVirtualLayout* LwpMiddleLayout::GetWaterMarkLayout() rtl::Reference<LwpVirtualLayout> LwpMiddleLayout::GetWaterMarkLayout()
{ {
LwpVirtualLayout* pLay = dynamic_cast<LwpVirtualLayout*>(GetChildHead().obj().get()); rtl::Reference<LwpVirtualLayout> xLay(dynamic_cast<LwpVirtualLayout*>(GetChildHead().obj().get()));
while(pLay) while (xLay.is())
{ {
if( pLay->IsForWaterMark()) if (xLay->IsForWaterMark())
{ {
return pLay; return xLay;
} }
pLay = dynamic_cast<LwpVirtualLayout*> (pLay->GetNext().obj().get()); xLay.set(dynamic_cast<LwpVirtualLayout*>(xLay->GetNext().obj().get()));
} }
return nullptr; return rtl::Reference<LwpVirtualLayout>();
} }
/** /**
...@@ -1377,7 +1377,8 @@ LwpVirtualLayout* LwpMiddleLayout::GetWaterMarkLayout() ...@@ -1377,7 +1377,8 @@ LwpVirtualLayout* LwpMiddleLayout::GetWaterMarkLayout()
*/ */
XFBGImage* LwpMiddleLayout::GetXFBGImage() XFBGImage* LwpMiddleLayout::GetXFBGImage()
{ {
LwpMiddleLayout* pLay = static_cast<LwpMiddleLayout*>(GetWaterMarkLayout()); rtl::Reference<LwpVirtualLayout> xWaterMarkLayout(GetWaterMarkLayout());
LwpMiddleLayout* pLay = dynamic_cast<LwpMiddleLayout*>(xWaterMarkLayout.get());
if(pLay) if(pLay)
{ {
//test BGImage //test BGImage
......
...@@ -322,7 +322,7 @@ public: ...@@ -322,7 +322,7 @@ public:
virtual sal_uInt8 GetContentOrientation() override; virtual sal_uInt8 GetContentOrientation() override;
virtual bool HonorProtection() override; virtual bool HonorProtection() override;
virtual bool IsProtected() override; virtual bool IsProtected() override;
LwpVirtualLayout* GetWaterMarkLayout(); rtl::Reference<LwpVirtualLayout> GetWaterMarkLayout();
XFBGImage* GetXFBGImage(); XFBGImage* GetXFBGImage();
bool GetUsePrinterSettings(); bool GetUsePrinterSettings();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment