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

hold WaterMarkLayout by reference

Change-Id: I7dc7739ee7b958319ddd4e0cf262254728ef0569
üst 64cfe976
......@@ -272,7 +272,7 @@ void LwpFrame::ApplyWrapType(XFFrameStyle *pFrameStyle)
case LwpPlacableLayout::LAY_NO_WRAP_AROUND:
{
eWrap = enumXFWrapRunThrough;
if(!m_pLayout->GetBackColor() && !m_pLayout->GetWaterMarkLayout())
if(!m_pLayout->GetBackColor() && !m_pLayout->GetWaterMarkLayout().is())
{
//pFrameStyle->SetBackGround(sal_True);
XFColor aXFColor(0xffffff); //white color
......@@ -534,12 +534,13 @@ void LwpFrame::ApplyWatermark(XFFrameStyle *pFrameStyle)
{
pFrameStyle->SetBackImage(pBGImage);
//set watermark transparent
LwpMiddleLayout* pLay = static_cast<LwpMiddleLayout*>(m_pLayout->GetWaterMarkLayout());
LwpBackgroundStuff* pBackgroundStuff = pLay->GetBackgroundStuff();
if(pBackgroundStuff && !pBackgroundStuff->IsTransparent())
{
pFrameStyle->SetTransparency(100);
}
rtl::Reference<LwpVirtualLayout> xWaterMarkLayout(m_pLayout->GetWaterMarkLayout());
LwpMiddleLayout* pLay = dynamic_cast<LwpMiddleLayout*>(xWaterMarkLayout.get());
LwpBackgroundStuff* pBackgroundStuff = pLay ? pLay->GetBackgroundStuff() : nullptr;
if(pBackgroundStuff && !pBackgroundStuff->IsTransparent())
{
pFrameStyle->SetTransparency(100);
}
}
}
......
......@@ -1357,18 +1357,18 @@ bool LwpMiddleLayout::IsProtected()
* @descr: Get watermark layout
*
*/
LwpVirtualLayout* LwpMiddleLayout::GetWaterMarkLayout()
rtl::Reference<LwpVirtualLayout> LwpMiddleLayout::GetWaterMarkLayout()
{
LwpVirtualLayout* pLay = dynamic_cast<LwpVirtualLayout*>(GetChildHead().obj().get());
while(pLay)
rtl::Reference<LwpVirtualLayout> xLay(dynamic_cast<LwpVirtualLayout*>(GetChildHead().obj().get()));
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()
*/
XFBGImage* LwpMiddleLayout::GetXFBGImage()
{
LwpMiddleLayout* pLay = static_cast<LwpMiddleLayout*>(GetWaterMarkLayout());
rtl::Reference<LwpVirtualLayout> xWaterMarkLayout(GetWaterMarkLayout());
LwpMiddleLayout* pLay = dynamic_cast<LwpMiddleLayout*>(xWaterMarkLayout.get());
if(pLay)
{
//test BGImage
......
......@@ -322,7 +322,7 @@ public:
virtual sal_uInt8 GetContentOrientation() override;
virtual bool HonorProtection() override;
virtual bool IsProtected() override;
LwpVirtualLayout* GetWaterMarkLayout();
rtl::Reference<LwpVirtualLayout> GetWaterMarkLayout();
XFBGImage* GetXFBGImage();
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