55#include <com/sun/star/animations/XAnimationNode.hpp>
56#include <com/sun/star/animations/XTimeContainer.hpp>
57#include <com/sun/star/container/XEnumerationAccess.hpp>
58#include <com/sun/star/embed/XEmbeddedObject.hpp>
59#include <com/sun/star/xml/dom/XNode.hpp>
60#include <com/sun/star/xml/dom/XNodeList.hpp>
61#include <com/sun/star/xml/dom/XNamedNodeMap.hpp>
62#include <rtl/ustring.hxx>
76#include <stlsheet.hxx>
79#include <bitmaps.hlst>
94using ::com::sun::star::uno::Reference;
117, mbScaleObjects(true)
118, meCharSet(osl_getThreadTextEncoding())
122, mnTransitionSubtype(0)
123, mbTransitionDirection(true)
125, mfTransitionDuration(2.0)
127, mnPageId(mnLastPageId++)
140 void clearChildNodes(css::uno::Reference<css::animations::XAnimationNode>
const & rAnimationNode)
142 css::uno::Reference<css::container::XEnumerationAccess > xEnumerationAccess(rAnimationNode, UNO_QUERY);
143 if (!xEnumerationAccess.is())
145 css::uno::Reference<css::container::XEnumeration> xEnumeration = xEnumerationAccess->createEnumeration();
146 if (!xEnumeration.is())
148 while (xEnumeration->hasMoreElements())
150 css::uno::Reference<css::animations::XAnimationNode> xChildNode(xEnumeration->nextElement(), UNO_QUERY);
151 if (!xChildNode.is())
153 clearChildNodes(xChildNode);
154 css::uno::Reference<css::animations::XTimeContainer> xAnimationNode(rAnimationNode, UNO_QUERY);
155 if (!xAnimationNode.is())
157 SAL_WARN(
"sd.core",
"can't remove node child, possible leak");
160 xAnimationNode->removeChild(xChildNode);
206 std::vector< SdrObject* > aMatches;
240 aMatches.push_back( pObj );
250 if( aMatches.size() > 1 )
251 std::nth_element( aMatches.begin(), aMatches.begin() +
nIndex, aMatches.end(),
277 OSL_FAIL(
"No Style for MasterPageBackground fill found (!)");
291 bool bForceText =
false;
292 bool bEmptyPresObj =
true;
302 pSdrObj->SetNotVisibleAsMaster(
true);
313 pSdrObj->SetNotVisibleAsMaster(
true);
324 pSdrObj->SetNotVisibleAsMaster(
true);
337 BitmapEx aBmpEx(BMP_PRESOBJ_GRAPHIC);
358 BitmapEx aBmpEx(BMP_PRESOBJ_OBJECT);
360 static_cast<SdrOle2Obj*
>(pSdrObj.get())->SetGraphic(aGraphic);
367 static_cast<SdrOle2Obj*
>(pSdrObj.get())->SetProgName(
"StarChart" );
370 static_cast<SdrOle2Obj*
>(pSdrObj.get())->SetGraphic(aGraphic);
377 static_cast<SdrOle2Obj*
>(pSdrObj.get())->SetProgName(
"StarOrg" );
378 BitmapEx aBmpEx(BMP_PRESOBJ_ORGCHART);
380 static_cast<SdrOle2Obj*
>(pSdrObj.get())->SetGraphic(aGraphic);
388 static_cast<SdrOle2Obj*
>(pSdrObj.get())->SetProgName(
"StarCalc" );
391 static_cast<SdrOle2Obj*
>(pSdrObj.get())->SetGraphic(aGraphic);
424 pSdrObj->SetResizeProtect(
true);
434 bEmptyPresObj =
false;
444 pSdrObj->SetEmptyPresObj(bEmptyPresObj);
445 pSdrObj->SetLogicRect(rRect);
454 pTextObj->SetVerticalWriting(
true);
490 pSdrObj->SetMergedItemSet(aTempAttr);
492 pSdrObj->SetLogicRect(rRect);
496 if(!aString.isEmpty() || bForceText)
502 pOutliner->Init( OutlinerMode::TextObject );
503 pOutliner->SetStyleSheet( 0,
nullptr );
504 pOutliner->SetVertical( bVertical );
506 SetObjText( pTextObj, pOutliner, eObjKind, aString );
508 pOutliner->Init( nOutlMode );
509 pOutliner->SetStyleSheet( 0,
nullptr );
523 eH = SvxAdjust::Right;
527 eH = SvxAdjust::Center;
531 eH = SvxAdjust::Right;
534 if( eH != SvxAdjust::Left )
537 pSdrObj->SetMergedItemSet(aTempAttr);
554 pSdrObj->SetStyleSheet(pSheetForPresObj,
false);
559 for (sal_uInt16 nLevel = 1; nLevel < 10; nLevel++)
563 DBG_ASSERT(pSheet,
"StyleSheet for outline object not found");
565 pSdrObj->StartListening(*pSheet, DuplicateHandling::Allow);
579 pSdrObj->SetMergedItemSet(aSet);
586 pUndoManager->
AddUndoAction( std::make_unique<UndoObjectPresentationKind>( *pSdrObj ) );
587 pUndoManager->
AddUndoAction( std::make_unique<UndoObjectUserCall>(*pSdrObj) );
591 pSdrObj->SetUserCall(
this);
593 pSdrObj->RecalcBoundRect();
596 return pSdrObj.get();
678 sal_Int32
nIndex = aStyleName.indexOf(aSep);
680 aStyleName = aStyleName.copy(0,
nIndex + aSep.getLength());
683 bool bOutline =
false;
688 case HID_PSEUDOSHEET_OUTLINE1:
689 case HID_PSEUDOSHEET_OUTLINE2:
690 case HID_PSEUDOSHEET_OUTLINE3:
691 case HID_PSEUDOSHEET_OUTLINE4:
692 case HID_PSEUDOSHEET_OUTLINE5:
693 case HID_PSEUDOSHEET_OUTLINE6:
694 case HID_PSEUDOSHEET_OUTLINE7:
695 case HID_PSEUDOSHEET_OUTLINE8:
702 OSL_FAIL(
"SdPage::getPresentationStyle(), illegal argument!" );
705 aStyleName += pNameId;
709 OUString::number( sal_Int32( nHelpId - HID_PSEUDOSHEET_OUTLINE ));
732 case SdrUserCallType::MoveOnly:
733 case SdrUserCallType::Resize:
751 std::make_unique<UndoObjectUserCall>(_rObj));
764 for (sal_uInt16
i = 0;
i < nPageCount;
i++)
780 case SdrUserCallType::Delete:
781 case SdrUserCallType::Removed:
798 SdPage* pMasterPage =
this;
838 std::vector< ::tools::Rectangle > aAreas;
842 std::vector< ::tools::Rectangle >::iterator iter( aAreas.begin() );
844 while( iter != aAreas.end() )
851 if( bSkip && iter != aAreas.end() )
859 if( pMasterTitle ==
nullptr )
863 if( pMasterOutline ==
nullptr )
875 if( pHeader ==
nullptr )
880 if( pDate ==
nullptr )
884 if( pFooter ==
nullptr )
888 if( pNumber ==
nullptr )
895 "PageKind::Standard",
"PageKind::Notes",
"PageKind::Handout"
899 "PRESOBJ_NONE",
"PRESOBJ_TITLE",
"PRESOBJ_OUTLINE",
900 "PRESOBJ_TEXT" ,
"PRESOBJ_GRAPHIC" ,
"PRESOBJ_OBJECT",
901 "PRESOBJ_CHART",
"PRESOBJ_ORGCHART",
"PRESOBJ_TABLE",
902 "PRESOBJ_PAGE",
"PRESOBJ_HANDOUT",
903 "PRESOBJ_NOTES",
"PRESOBJ_HEADER",
"PRESOBJ_FOOTER",
904 "PRESOBJ_DATETIME",
"PRESOBJ_SLIDENUMBER",
"PRESOBJ_CALC",
908void getPresObjProp(
const SdPage& rPage,
const char* sObjKind,
const char* sPageKind,
double presObjPropValue[] )
910 bool bNoObjectFound =
true;
913 for(
const Reference<XNode>& objectNode : objectInfo )
917 Reference<XNamedNodeMap> objectattrlist = objectNode->getAttributes();
918 Reference<XNode> objectattr = objectattrlist->getNamedItem(
"type");
919 OUString sObjType = objectattr->getNodeValue();
921 if (sObjType.equalsAscii(sObjKind))
923 Reference<XNodeList> objectChildren = objectNode->getChildNodes();
924 const int objSize = objectChildren->getLength();
926 for(
int j=0; j< objSize; j++)
928 Reference<XNode> obj = objectChildren->item(j);
929 OUString nodename = obj->getNodeName();
932 if(nodename ==
"object-prop")
934 Reference<XNamedNodeMap> ObjAttributes = obj->getAttributes();
935 Reference<XNode> ObjPageKind = ObjAttributes->getNamedItem(
"pagekind");
936 OUString sObjPageKind = ObjPageKind->getNodeValue();
938 if (sObjPageKind.equalsAscii(sPageKind))
940 Reference<XNode> ObjSizeHeight = ObjAttributes->getNamedItem(
"relative-height");
941 OUString sValue = ObjSizeHeight->getNodeValue();
942 presObjPropValue[0] = sValue.toDouble();
944 Reference<XNode> ObjSizeWidth = ObjAttributes->getNamedItem(
"relative-width");
945 sValue = ObjSizeWidth->getNodeValue();
946 presObjPropValue[1] = sValue.toDouble();
948 Reference<XNode> ObjPosX = ObjAttributes->getNamedItem(
"relative-posX");
949 sValue = ObjPosX->getNodeValue();
950 presObjPropValue[2] = sValue.toDouble();
952 Reference<XNode> ObjPosY = ObjAttributes->getNamedItem(
"relative-posY");
953 sValue = ObjPosY->getNodeValue();
954 presObjPropValue[3] = sValue.toDouble();
956 bNoObjectFound =
false;
989 double propvalue[] = {0,0,0,0};
990 const char* sObjKind = PresObjKindVector[eObjKind];
991 const char* sPageKind = PageKindVector[
mePageKind];
998 Point aPos ( nLftBorder, nUppBorder );
1004 getPresObjProp( *
this, sObjKind, sPageKind, propvalue);
1012 OSL_FAIL(
"SdPage::CreateDefaultPresObj() - can't create a header placeholder for a master slide" );
1030 getPresObjProp( *
this, sObjKind, sPageKind, propvalue);
1033 Size aSize( NOTES_HEADER_FOOTER_WIDTH, NOTES_HEADER_FOOTER_HEIGHT );
1034 Point aPos ( 0 ,0 );
1035 if( propvalue[2] == 0 )
1036 aPos.
setX( aPosition.
X() );
1039 if( propvalue[3] == 0 )
1040 aPos.
setY( aPosition.
Y() );
1050 OSL_FAIL(
"SdPage::CreateDefaultPresObj() - unknown PRESOBJ kind" );
1082 double propvalue[] = {0,0,0,0};
1091 const char* sPageKind = PageKindVector[
mePageKind];
1095 getPresObjProp( *
this ,
"PRESOBJ_TITLE" ,sPageKind, propvalue);
1103 Point aPos = aTitlePos;
1104 getPresObjProp( *
this,
"PRESOBJ_TITLE" ,sPageKind, propvalue);
1112 Size aPartArea = aTitleSize;
1131 double fH = pRefPage->
GetWidth() == 0
1132 ? 0 :
static_cast<double>(aPartArea.
Width()) / pRefPage->
GetWidth();
1134 ? 0 :
static_cast<double>(aPartArea.
Height()) / pRefPage->
GetHeight();
1149 aTitleRect.
SetPos(aTitlePos);
1150 aTitleRect.
SetSize(aTitleSize);
1168 double propvalue[] = {0,0,0,0};
1174 const char* sPageKind = PageKindVector[
mePageKind];
1178 getPresObjProp( *
this ,
"PRESOBJ_OUTLINE", sPageKind, propvalue);
1183 aLayoutRect.
SetPos(aLayoutPos);
1184 aLayoutRect.
SetSize(aLayoutSize);
1188 getPresObjProp( *
this,
"PRESOBJ_NOTES", sPageKind, propvalue);
1193 aLayoutRect.
SetPos(aLayoutPos);
1194 aLayoutRect.
SetSize(aLayoutSize);
1212 return static_cast<PresObjKind>(
static_cast<int>(e) |
x);
1217struct LayoutDescriptor
1231 meKind[0] = removeVertical(k0); mbVertical[0] = isVertical(k0);
1232 meKind[1] = removeVertical(k1); mbVertical[1] = isVertical(k1);
1233 meKind[2] = removeVertical(k2); mbVertical[2] = isVertical(k2);
1234 meKind[3] = removeVertical(k3); mbVertical[3] = isVertical(k3);
1235 meKind[4] = removeVertical(k4); mbVertical[4] = isVertical(k4);
1236 meKind[5] = removeVertical(k5); mbVertical[5] = isVertical(k5);
1237 meKind[6] = removeVertical(k6); mbVertical[6] = isVertical(k6);
1267 LayoutDescriptor( ),
1268 LayoutDescriptor( ),
1269 LayoutDescriptor( ),
1270 LayoutDescriptor( ),
1271 LayoutDescriptor( ),
1276 LayoutDescriptor( ),
1296 retstr=
"AUTOLAYOUT_TITLE_CONTENT";
1299 retstr=
"AUTOLAYOUT_TITLE_CONTENT_OVER_CONTENT";
1302 retstr=
"AUTOLAYOUT_TITLE_CONTENT_2CONTENT";
1305 retstr=
"AUTOLAYOUT_TITLE_4CONTENT";
1308 retstr=
"AUTOLAYOUT_ONLY_TEXT";
1311 retstr=
"AUTOLAYOUT_TITLE_ONLY";
1314 retstr=
"AUTOLAYOUT_TITLE_6CONTENT";
1317 retstr=
"AUTOLAYOUT_START";
1320 retstr=
"AUTOLAYOUT_TITLE_2CONTENT_CONTENT";
1323 retstr=
"AUTOLAYOUT_TITLE_2CONTENT_OVER_CONTENT";
1326 retstr=
"AUTOLAYOUT_TITLE_2CONTENT";
1329 retstr=
"AUTOLAYOUT_VTITLE_VCONTENT";
1332 retstr=
"AUTOLAYOUT_VTITLE_VCONTENT_OVER_VCONTENT";
1335 retstr=
"AUTOLAYOUT_TITLE_VCONTENT";
1338 retstr=
"AUTOLAYOUT_TITLE_2VTEXT";
1365 if( pMasterSubTitle )
1367 else if( pMasterOutline )
1374 rRectangle[0] = aTitleRect;
1376 rRectangle[
i] = aLayoutRect;
1381 double propvalue[] = {0,0,0,0};
1384 auto aIter = std::find_if(layoutInfo.begin(), layoutInfo.end(),
1385 [&sLayoutType](
const Reference<XNode>& layoutNode) {
1386 Reference<XNamedNodeMap> layoutAttrList = layoutNode->getAttributes();
1389 OUString sLayoutAttName = layoutAttrList->getNamedItem(
"type")->getNodeValue();
1390 return sLayoutAttName == sLayoutType;
1392 if (aIter == layoutInfo.end())
1396 Reference<XNode> layoutNode = *aIter;
1397 Reference<XNodeList> layoutChildren = layoutNode->getChildNodes();
1398 const int presobjsize = layoutChildren->getLength();
1399 for(
int j=0; j< presobjsize ; j++)
1402 Reference<XNode> presobj = layoutChildren->item(j);
1403 nodename=presobj->getNodeName();
1406 if(nodename ==
"presobj")
1411 Reference<XNamedNodeMap> presObjAttributes = presobj->getAttributes();
1413 Reference<XNode> presObjSizeHeight = presObjAttributes->getNamedItem(
"relative-height");
1414 OUString sValue = presObjSizeHeight->getNodeValue();
1415 propvalue[0] = sValue.toDouble();
1417 Reference<XNode> presObjSizeWidth = presObjAttributes->getNamedItem(
"relative-width");
1418 sValue = presObjSizeWidth->getNodeValue();
1419 propvalue[1] = sValue.toDouble();
1421 Reference<XNode> presObjPosX = presObjAttributes->getNamedItem(
"relative-posX");
1422 sValue = presObjPosX->getNodeValue();
1423 propvalue[2] = sValue.toDouble();
1425 Reference<XNode> presObjPosY = presObjAttributes->getNamedItem(
"relative-posY");
1426 sValue = presObjPosY->getNodeValue();
1427 propvalue[3] = sValue.toDouble();
1452static void findAutoLayoutShapesImpl(
SdPage& rPage,
const LayoutDescriptor& rDescriptor, std::array<SdrObject*, MAX_PRESOBJS>& rShapes,
bool bInit,
bool bSwitchLayout )
1457 PresObjIndex.
fill(1);
1459 bool bMissing =
false;
1466 while( (pObj = rPage.
GetPresObj( eKind, PresObjIndex[eKind],
true )) != nullptr )
1468 PresObjIndex[eKind]++;
1481 if( !(bMissing && bInit) )
1493 bool bFound =
false;
1496 for(
size_t nShapeIndex = 0; nShapeIndex < nShapeCount && !bFound; ++nShapeIndex )
1498 pObj = rPage.
GetObj(nShapeIndex);
1507 if( std::find( rShapes.begin(), rShapes.end(), pObj ) != rShapes.end() )
1516 bFound = eSdrObjKind == SdrObjKind::TitleText;
1519 bFound = eSdrObjKind == SdrObjKind::Table;
1522 bFound = eSdrObjKind == SdrObjKind::Media;
1525 bFound = (eSdrObjKind == SdrObjKind::OutlineText) ||
1526 ((eSdrObjKind == SdrObjKind::Text) && bPresStyle) ||
1527 (eSdrObjKind == SdrObjKind::Table) || (eSdrObjKind == SdrObjKind::Media) || (eSdrObjKind == SdrObjKind::Graphic) || (eSdrObjKind == SdrObjKind::OLE2);
1530 bFound = eSdrObjKind == SdrObjKind::Graphic;
1533 if( eSdrObjKind == SdrObjKind::OLE2 )
1558 if( aPluginClassId != aClassId && aAppletClassId != aClassId && aIFrameClassId != aClassId )
1570 if( eSdrObjKind == SdrObjKind::OLE2 )
1587 else if( eSdrObjKind == SdrObjKind::Table )
1594 bFound = eSdrObjKind == SdrObjKind::Page;
1598 bFound = (bPresStyle && (eSdrObjKind == SdrObjKind::Text)) || (eSdrObjKind == SdrObjKind::OutlineText);
1637 std::array<SdrObject*, MAX_PRESOBJS > aLayoutShapes;
1638 aLayoutShapes.fill(
nullptr);
1647 aUsedPresentationObjects.
insert(pObj);
1659 if( aUsedPresentationObjects.
count(pObj.get()) == 0 )
1662 if( pObj->IsEmptyPresObj() )
1750 if (aSize != aOldSize)
1813 Point aRefPnt(0, 0);
1814 Size aNewPageSize(rNewPageSize);
1815 sal_Int32 nLeft = rNewBorderRect.Left();
1816 sal_Int32 nRight = rNewBorderRect.Right();
1817 sal_Int32 nUpper = rNewBorderRect.Top();
1818 sal_Int32 nLower = rNewBorderRect.Bottom();
1822 if (aNewPageSize.
Width() < 0)
1826 if (aNewPageSize.
Height() < 0)
1847 Size aBackgroundSize(aNewPageSize);
1853 aNewPageSize = aBackgroundSize;
1864 for (
size_t nObj = 0; nObj < nObjCnt; ++nObj)
1866 bool bIsPresObjOnMaster =
false;
1874 bIsPresObjOnMaster =
true;
1893 pObj->
Resize(aRefPnt, aFractX, aFractY);
1899 if (bIsPresObjOnMaster)
1915 nFontHeight =
::tools::Long(nFontHeight *
static_cast<double>(aFractY));
1922 nFontHeight =
::tools::Long(nFontHeight *
static_cast<double>(aFractY));
1930 nFontHeight =
::tools::Long(nFontHeight *
static_cast<double>(aFractY));
1941 for (sal_Int32
i=1;
i<=9;
i++)
1943 OUString sLayoutName(
aName + OUString::number(
i ) );
1953 nFontHeight =
::tools::Long(nFontHeight *
static_cast<double>(aFractY));
1960 nFontHeight =
::tools::Long(nFontHeight *
static_cast<double>(aFractY));
1968 nFontHeight =
::tools::Long(nFontHeight *
static_cast<double>(aFractY));
1973 static_cast<SdStyleSheet*
>(pOutlineSheet)->AdjustToFontHeight(aTempSet,
false);
1989 aTempSet.
Put(aOldBulItem);
2013 else if ( eObjKind != SdrObjKind::TitleText &&
2014 eObjKind != SdrObjKind::OutlineText &&
2023 if ( nScriptType == SvtScriptType::ASIAN )
2025 else if ( nScriptType == SvtScriptType::COMPLEX )
2030 sal_uInt32 nNewFontHeight = sal_uInt32(
static_cast<double>(nFontHeight) *
static_cast<double>(aFractY));
2049 Size aVec(aNewPos.
X() - aTopLeft.
X(), aNewPos.
Y() - aTopLeft.
Y());
2085 pOutl->SetText( *pOutlParaObj );
2086 pNewObj->SetOutlinerParaObject( pOutl->CreateParaObject() );
2087 pOutlParaObj = pNewObj->GetOutlinerParaObject();
2089 pNewObj->SetEmptyPresObj(
false);
2091 for (sal_uInt16 nLevel = 1; nLevel < 10; nLevel++)
2097 if (pSheet && nLevel == 1)
2109 aSet.
Put(pNewObj->GetMergedItemSet());
2113 pNewObj->SetMergedItemSet(aSet);
2135 pOutl->SetText( *pOutlParaObj );
2136 pNewObj->SetOutlinerParaObject( pOutl->CreateParaObject() );
2138 pNewObj->SetEmptyPresObj(
false);
2143 aSet.
Put(pNewObj->GetMergedItemSet());
2148 aSet.
Put(aNewLRItem);
2150 pNewObj->SetMergedItemSet(aSet);
2154 pNewObj->SetStyleSheet(pSheet,
true);
2204 else if ( pObj && (pObj->GetUserCall() || bInit) )
2214 pUndoManager->
AddUndoAction( std::make_unique<UndoObjectUserCall>( *pObj ) );
2217 pObj->AdjustToMaxRect(rRect);
2219 pObj->SetUserCall(
this);
2241 aTempAttr.
Put( aMinHeight );
2258 aTempAttr.
Put( aMinWidth );
2277 pUndoManager->
AddUndoAction( std::make_unique<UndoObjectPresentationKind>( *pObj ) );
2285 SfxItemSet aNewSet(pObj->GetMergedItemSet());
2293 pObj->SetMergedItemSet(aNewSet);
2297 if ( pObj && (pObj->GetUserCall() || bInit) && ( pObj->IsEmptyPresObj() ||
dynamic_cast< const SdrGrafObj *
>( pObj.get() ) ==
nullptr ) )
2298 pObj->AdjustToMaxRect(rRect);
2340 DBG_ASSERT( pObj,
"sd::SdPage::InsertPresObj(), invalid presentation object inserted!" );
2341 DBG_ASSERT( !
IsPresObj(pObj),
"sd::SdPage::InsertPresObj(), presentation object inserted twice!" );
2393 pOutl->
Init( OutlinerMode::OutlineObject );
2395 aString += OUString::Concat(
"\t") + rString;
2400 aString +=
"\n\t\t" +
2401 SdResId(STR_PRESOBJ_MPOUTLLAYER2) +
2403 SdResId(STR_PRESOBJ_MPOUTLLAYER3) +
2405 SdResId(STR_PRESOBJ_MPOUTLLAYER4) +
2407 SdResId(STR_PRESOBJ_MPOUTLLAYER5) +
2409 SdResId(STR_PRESOBJ_MPOUTLLAYER6) +
2410 "\n\t\t\t\t\t\t\t" +
2411 SdResId(STR_PRESOBJ_MPOUTLLAYER7);
2419 pOutl->
Init( OutlinerMode::TitleObject );
2426 pOutl->
Init( OutlinerMode::TextObject );
2430 std::unique_ptr<SvxFieldData>
pData;
2462 if( !aString.isEmpty() )
2475 pOutl->
Init( nOutlMode );
2515 aCreatedPageName =
SdResId(STR_PAGE) +
" ";
2517 aCreatedPageName =
SdResId(STR_PAGE_NAME) +
" ";
2524 aCreatedPageName += OUString::number(
static_cast<sal_Int32
>(nNum) );
2536 aCreatedPageName =
SdResId(STR_LAYOUT_DEFAULT_NAME);
2546 aCreatedPageName +=
" " +
SdResId(STR_NOTES);
2550 aCreatedPageName +=
" (" +
SdResId(STR_HANDOUT) +
")";
2567 return Orientation::Landscape;
2571 return Orientation::Portrait;
2585#if defined(IOS) || defined(ANDROID)
2586 bool isMobileDevice =
true;
2588 bool isMobileDevice =
false;
2590 isMobileDevice = pCurrentViewShell->isLOKMobilePhone() || pCurrentViewShell->isLOKTablet();
2600 aString =
SdResId(STR_PRESOBJ_MPTITLE_MOBILE);
2602 aString =
SdResId(STR_PRESOBJ_MPTITLE);
2607 aString =
SdResId(STR_PRESOBJ_MPNOTESTITLE_MOBILE);
2609 aString =
SdResId(STR_PRESOBJ_MPNOTESTITLE);
2612 else if (isMobileDevice)
2613 aString =
SdResId(STR_PRESOBJ_TITLE_MOBILE);
2615 aString =
SdResId(STR_PRESOBJ_TITLE);
2622 aString =
SdResId(STR_PRESOBJ_MPOUTLINE_MOBILE);
2624 aString =
SdResId(STR_PRESOBJ_MPOUTLINE);
2626 else if (isMobileDevice)
2627 aString =
SdResId(STR_PRESOBJ_OUTLINE_MOBILE);
2629 aString =
SdResId(STR_PRESOBJ_OUTLINE);
2636 aString =
SdResId(STR_PRESOBJ_MPNOTESTEXT_MOBILE);
2638 aString =
SdResId(STR_PRESOBJ_MPNOTESTEXT);
2640 else if (isMobileDevice)
2641 aString =
SdResId(STR_PRESOBJ_NOTESTEXT_MOBILE);
2643 aString =
SdResId(STR_PRESOBJ_NOTESTEXT);
2648 aString =
SdResId(STR_PRESOBJ_TEXT_MOBILE);
2650 aString =
SdResId(STR_PRESOBJ_TEXT);
2654 aString =
SdResId( STR_PRESOBJ_GRAPHIC );
2658 aString =
SdResId( STR_PRESOBJ_OBJECT );
2662 aString =
SdResId( STR_PRESOBJ_CHART );
2666 aString =
SdResId( STR_PRESOBJ_ORGCHART );
2670 aString =
SdResId( STR_PRESOBJ_TABLE );
2686 auto pUnoPage = comphelper::getFromUnoTunnel<SvxDrawPage>(xPage);
2688 return static_cast< SdPage*
>( pUnoPage->GetSdrPage() );
2690 catch( css::uno::Exception& )
2700 return sal::static_int_cast<sal_Int64>(
reinterpret_cast<sal_IntPtr
>(
this));
2705 OUString aOldName(
GetName() );
2795 if( pObj ==
nullptr )
2801 const bool bIsInsidePageObj(pPageView && pPageView->
GetPage() != pVisualizedPage);
2804 if( (bIsPrinting || !bEdit || bIsInsidePageObj ) && pObj->
IsEmptyPresObj() )
2825 const SdPage* pVisualizedSdPage =
dynamic_cast< const SdPage*
>(pVisualizedPage);
2827 if( pVisualizedSdPage )
2883 if (!aString.isEmpty())
2885 bool bVertical =
false;
2890 SetObjText( pTextObj,
nullptr, ePresObjKind, aString );
2921 static const sal_uInt16 aOffsets[5][9] =
2923 { 0, 1, 2, 3, 4, 5, 6, 7, 8 },
2924 { 0, 2, 4, 1, 3, 5, 0, 0, 0 },
2925 { 0, 2, 1, 3, 0, 0, 0, 0, 0 },
2926 { 0, 3, 1, 4, 2, 5, 0, 0, 0 },
2927 { 0, 3, 6, 1, 4, 7, 2, 5, 8 },
2930 const sal_uInt16* pOffsets = aOffsets[0];
2933 const bool bLandscape = aArea.
Width() > aArea.
Height();
2940 std::vector< ::tools::Rectangle > vSlidesAreas;
2941 while ( aShapeIter.
IsMore() )
2949 if ( !bHorizontal || vSlidesAreas.size() < 4 )
2951 rAreas.swap( vSlidesAreas );
2955 switch ( vSlidesAreas.size() )
2958 pOffsets = aOffsets[2];
2964 pOffsets = aOffsets[ bLandscape ? 3 : 1 ];
2968 pOffsets = aOffsets[4];
2972 rAreas.resize(
static_cast<size_t>(vSlidesAreas.size()) );
2974 for( const ::tools::Rectangle& rRect : vSlidesAreas )
2976 rAreas[*pOffsets++] = rRect;
2982 const ::tools::Long nGapW = 1000;
2983 const ::tools::Long nGapH = 1000;
2990 const ::tools::Long nHeaderFooterHeight =
static_cast< ::
tools::Long >( (aArea.
Height() - nTopBorder - nLeftBorder) * 0.05 );
2992 nTopBorder += nHeaderFooterHeight;
2993 nBottomBorder += nHeaderFooterHeight;
2998 aArea.
AdjustWidth( -(nGapW * 2 + nLeftBorder + nRightBorder) );
2999 aArea.
AdjustHeight( -(nGapH * 2 + nTopBorder + nBottomBorder) );
3001 sal_uInt16 nColCnt = 0, nRowCnt = 0;
3005 nColCnt = 1; nRowCnt = 1;
3011 nColCnt = 2; nRowCnt = 1;
3015 nColCnt = 1; nRowCnt = 2;
3022 nColCnt = 3; nRowCnt = 2;
3026 nColCnt = 2; nRowCnt = 3;
3028 pOffsets = aOffsets[ bLandscape ? 1 : 0 ];
3032 nColCnt = 2; nRowCnt = 2;
3033 pOffsets = aOffsets[ bHorizontal ? 0 : 2 ];
3039 nColCnt = 3; nRowCnt = 2;
3043 nColCnt = 2; nRowCnt = 3;
3046 pOffsets = aOffsets[ bLandscape ? 1 : 3 ];
3051 nColCnt = 3; nRowCnt = 3;
3054 pOffsets = aOffsets[4];
3058 rAreas.resize(
static_cast<size_t>(nColCnt) * nRowCnt);
3060 Size aPartArea, aSize;
3061 aPartArea.
setWidth( (aArea.
Width() - ((nColCnt-1) * nGapW) ) / nColCnt );
3062 aPartArea.
setHeight( (aArea.
Height() - ((nRowCnt-1) * nGapH) ) / nRowCnt );
3068 double fScale =
static_cast<double>(aPartArea.
Width()) /
static_cast<double>(pFirstPage->
GetWidth());
3073 fScale =
static_cast<double>(aPartArea.
Height()) /
static_cast<double>(pFirstPage->
GetHeight());
3082 nX += (aPartArea.
Width() - aSize.
Width()) / 2;
3090 Point aPos( nX, nY );
3094 const ::tools::Long nOffsetX = (aPartArea.
Width() + nGapW) * (bRTL ? -1 : 1);
3095 const ::tools::Long nOffsetY = aPartArea.
Height() + nGapH;
3096 const ::tools::Long nStartX = bRTL ? nOffsetX*(1 - nColCnt) + nX : nX;
3098 for(sal_uInt16 nRow = 0; nRow < nRowCnt; nRow++)
3100 aPos.
setX( nStartX );
3101 for(sal_uInt16 nCol = 0; nCol < nColCnt; nCol++)
3117HeaderFooterSettings::HeaderFooterSettings()
3119 mbHeaderVisible =
true;
3120 mbFooterVisible =
true;
3121 mbSlideNumberVisible =
false;
3122 mbDateTimeVisible =
true;
3123 mbDateTimeIsFixed =
true;
3124 meDateFormat = SvxDateFormat::A;
3125 meTimeFormat = SvxTimeFormat::AppDefault;
AUTOLAYOUT_TITLE_2CONTENT_OVER_CONTENT
AUTOLAYOUT_TITLE_CONTENT_OVER_CONTENT
AUTOLAYOUT_VTITLE_VCONTENT_OVER_VCONTENT
AUTOLAYOUT_VTITLE_VCONTENT
AUTOLAYOUT_TITLE_2CONTENT
AUTOLAYOUT_TITLE_6CONTENT
AUTOLAYOUT_TITLE_2CONTENT_CONTENT
AUTOLAYOUT_TITLE_CONTENT_2CONTENT
AUTOLAYOUT_TITLE_VCONTENT
AUTOLAYOUT_TITLE_4CONTENT
static OutputDevice * GetDefaultDevice()
virtual SvtScriptType GetScriptType() const=0
void SetName(const OUString &rName)
virtual void InsertObject(SdrObject *pObj, size_t nPos=SAL_MAX_SIZE) override
virtual rtl::Reference< SdrObject > RemoveObject(size_t nObjNum) override
MapMode GetPrefMapMode() const
const EditTextObject & GetTextObject() const
void SetVertical(bool bNew)
void ChangeStyleSheetName(SfxStyleFamily eFamily, std::u16string_view rOldName, const OUString &rNewName)
bool IsEffectivelyVertical() const
void SetText(const OutlinerParaObject &)
const Size & GetPaperSize() const
OutlinerMode GetOutlinerMode() const
const SfxItemSet & GetEmptyItemSet() const
Paragraph * GetParagraph(sal_Int32 nAbsPos) const
void QuickInsertField(const SvxFieldItem &rFld, const ESelection &rSel)
std::optional< OutlinerParaObject > CreateParaObject(sal_Int32 nStartPara=0, sal_Int32 nParaCount=EE_PARA_ALL) const
void SetPaperSize(const Size &rSize)
void SetStyleSheet(sal_Int32 nPara, SfxStyleSheet *pStyle)
bool SetUpdateLayout(bool bUpdate)
void SetEditTextObjectPool(SfxItemPool *pPool)
void SetParaAttribs(sal_Int32 nPara, const SfxItemSet &)
void SetStyleSheetPool(SfxStyleSheetPool *pSPool)
void SetRefDevice(OutputDevice *pRefDev)
void Init(OutlinerMode nMode)
void EnableUndo(bool bEnable)
SAL_WARN_UNUSED_RESULT Point PixelToLogic(const Point &rDevicePt) const
SAL_WARN_UNUSED_RESULT Point LogicToPixel(const Point &rLogicPt) const
void Push(vcl::PushFlags nFlags=vcl::PushFlags::ALL)
constexpr tools::Long Y() const
void setX(tools::Long nX)
void setY(tools::Long nY)
tools::Long AdjustY(tools::Long nVertMove)
tools::Long AdjustX(tools::Long nHorzMove)
constexpr tools::Long X() const
PresObjKind mePresObjKind
static SdAnimationInfo * GetShapeUserData(SdrObject &rObject, bool bCreate=false)
sd::UndoManager * GetUndoManager() const
SAL_DLLPRIVATE SfxItemPool & GetPool()
SdOutliner * GetInternalOutliner(bool bCreateOutliner=true)
SdPage * GetMasterSdPage(sal_uInt16 nPgNum, PageKind ePgKind)
css::text::WritingMode GetDefaultWritingMode() const
The main purpose of this class is searching and replacing as well as spelling of impress documents.
SdrObject * GetPresObj(PresObjKind eObjKind, int nIndex=1, bool bFuzzySearch=false)
returns the nIndex'th object from the given PresObjKind, index starts with 1
virtual void SetOrientation(Orientation eOrient) override
AutoLayout meAutoLayout
AutoLayout.
virtual Orientation GetOrientation() const override
SdrObject * CreatePresObj(PresObjKind eObjKind, bool bVertical, const ::tools::Rectangle &rRect)
creates a presentation object with the given PresObjKind on this page.
virtual rtl::Reference< SdrObject > RemoveObject(size_t nObjNum) override
bool IsPresObj(const SdrObject *pObj)
SdStyleSheet * getPresentationStyle(sal_uInt32 nHelpId) const
returns the presentation style with the given helpid from this masterpage or this slides masterpage
bool mbScaleObjects
Objects should be scaled.
void RemovePresObj(const SdrObject *pObj)
removes the given SdrObject from the presentation object list
PageKind GetPageKind() const
SfxStyleSheet * GetStyleSheetForMasterPageBackground() const
void SetObjText(SdrTextObj *pObj, SdrOutliner *pOutliner, PresObjKind eObjKind, std::u16string_view rStr)
virtual rtl::Reference< SdrObject > NbcRemoveObject(size_t nObjNum) override
OUString maLayoutName
Name of the layout.
static sal_uInt16 mnLastPageId
void CreateTitleAndLayout(bool bInit=false, bool bCreate=false)
virtual rtl::Reference< SdrObject > ReplaceObject(SdrObject *pNewObj, size_t nObjNum) override
Also override ReplaceObject methods to realize when objects are removed with this mechanism instead o...
virtual void SetBorder(sal_Int32 nLft, sal_Int32 nUpp, sal_Int32 nRgt, sal_Int32 Lwr) override
rtl::Reference< SdrObject > CreateDefaultPresObj(PresObjKind eObjKind)
sd::ScopeLock maLockAutoLayoutArrangement
void DestroyDefaultPresObj(PresObjKind eObjKind)
OUString GetPresObjText(PresObjKind eObjKind) const
OUString const & GetRealName() const
virtual css::uno::Reference< css::uno::XInterface > createUnoPage() override
const sd::HeaderFooterSettings & getHeaderFooterSettings() const
void onRemoveObject(SdrObject *pObject)
called before a shape is removed or replaced from this slide
SfxStyleSheet * GetStyleSheetForPresObj(PresObjKind eObjKind) const
PageKind mePageKind
page type
OUString maCreatedPageName
generated page name by GetPageName.
static void CalculateHandoutAreas(SdDrawDocument &rModel, AutoLayout eLayout, bool bHorizontal, std::vector< ::tools::Rectangle > &rAreas)
virtual void SetUpperBorder(sal_Int32 nBorder) override
static SdPage * getImplementation(const css::uno::Reference< css::drawing::XDrawPage > &xPage)
returns the SdPage implementation for the given XDrawPage or 0 if not available
sd::HeaderFooterSettings maHeaderFooterSettings
::tools::Rectangle GetLayoutRect() const
PresObjKind GetPresObjKind(SdrObject *pObj) const
virtual ~SdPage() override
css::uno::Reference< css::animations::XAnimationNode > mxAnimationNode
holds the smil animation sequences for this page
void SetLayoutName(const OUString &aName)
void EndListenOutlineText()
void SetAutoLayout(AutoLayout eLayout, bool bInit=false, bool bCreate=false)
void ScaleObjects(const Size &rNewPageSize, const ::tools::Rectangle &rNewBorderRect, bool bScaleAllObj)
virtual bool checkVisibility(const sdr::contact::ViewObjectContact &rOriginal, const sdr::contact::DisplayInfo &rDisplayInfo, bool bEdit) override
SdPage(const SdPage &)=delete
void InsertPresObj(SdrObject *pObj, PresObjKind eKind)
inserts the given SdrObject into the presentation object list
virtual OUString GetLayoutName() const override
SdrObject * InsertAutoLayoutShape(SdrObject *pObj, PresObjKind eObjKind, bool bVertical, const ::tools::Rectangle &rRect, bool bInit)
reuses or creates a presentation shape for an auto layout that fits the given parameter
void removeAnimations(const SdrObject *pObj)
removes all custom animations for the given shape
const OUString & GetName() const
virtual void SetRightBorder(sal_Int32 nBorder) override
virtual void SetLowerBorder(sal_Int32 nBorder) override
virtual void SetLeftBorder(sal_Int32 nBorder) override
virtual void NbcInsertObject(SdrObject *pObj, size_t nPos=SAL_MAX_SIZE) override
void setHeaderFooterSettings(const sd::HeaderFooterSettings &rNewSettings)
void EnsureMasterPageDefaultBackground()
create background properties
void SetPrecious(const bool bIsPrecious)
Set the "precious" flag to the given value.
void SetName(const OUString &rName)
Set the name of the page and broadcast a model change.
::tools::Rectangle GetTitleRect() const
virtual void Changed(const SdrObject &rObj, SdrUserCallType eType, const ::tools::Rectangle &rOldBoundRect) override
AutoLayout GetAutoLayout() const
sal_Int64 GetHashCode() const
bool RestoreDefaultText(SdrObject *pObj)
virtual void SetSize(const Size &aSize) override
sd::ShapeList maPresentationShapeList
presentation objects
virtual const tools::Rectangle & GetSnapRect() const override
SdrLayerID GetLayerID(const OUString &rName) const
::comphelper::IEmbeddedHelper * GetPersist() const
void AddUndo(std::unique_ptr< SdrUndoAction > pUndo)
SfxStyleSheetBasePool * GetStyleSheetPool() const
SdrUndoFactory & GetSdrUndoFactory() const
bool IsUndoEnabled() const
const SdrPage * GetPage(sal_uInt16 nPgNum) const
virtual rtl::Reference< SdrObject > ReplaceObject(SdrObject *pNewObj, size_t nObjNum)
SdrObject * GetObj(size_t nNum) const
size_t GetObjCount() const
virtual void NbcInsertObject(SdrObject *pObj, size_t nPos=SAL_MAX_SIZE)
virtual rtl::Reference< SdrObject > NbcRemoveObject(size_t nObjNum)
virtual rtl::Reference< SdrObject > RemoveObject(size_t nObjNum)
const SfxPoolItem & GetMergedItem(const sal_uInt16 nWhich) const
SdrObjUserCall * GetUserCall() const
virtual void NbcSetLayer(SdrLayerID nLayer)
void SetOutlinerParaObject(std::optional< OutlinerParaObject > pTextObject)
void BroadcastObjectChange() const
void SetUserCall(SdrObjUserCall *pUser)
void SetEmptyPresObj(bool bEpt)
virtual SdrInventor GetObjInventor() const
virtual OutlinerParaObject * GetOutlinerParaObject() const
sal_uInt32 GetOrdNum() const
bool IsEmptyPresObj() const
void SetMergedItemSet(const SfxItemSet &rSet, bool bClearAllItems=false)
void NbcSetStyleSheet(SfxStyleSheet *pNewStyleSheet, bool bDontRemoveHardAttr)
virtual const tools::Rectangle & GetCurrentBoundRect() const
virtual void SetLogicRect(const tools::Rectangle &rRect)
SfxStyleSheet * GetStyleSheet() const
sdr::contact::ViewContact & GetViewContact() const
virtual void SetChanged()
virtual SdrObjKind GetObjIdentifier() const
SdrPage * getSdrPageFromSdrObject() const
virtual void SetSnapRect(const tools::Rectangle &rRect)
virtual SdrLayerID GetLayer() const
void SetMergedItem(const SfxPoolItem &rItem)
virtual void NbcMove(const Size &rSiz)
virtual const tools::Rectangle & GetLogicRect() const
virtual void Resize(const Point &rRef, const Fraction &xFact, const Fraction &yFact, bool bUnsetRelative=true)
const OUString & GetProgName() const
const OUString & GetPersistName() const
void SetReferencedPage(SdrPage *pNewPage)
void SetStyleSheet(SfxStyleSheet *pStyleSheet)
void PutItem(const SfxPoolItem &rItem)
void ClearItem(const sal_uInt16 nWhich=0)
SdrPage * GetPage() const
virtual void SetLeftBorder(sal_Int32 nBorder)
SdrPage & TRG_GetMasterPage() const
sal_uInt16 GetPageNum() const
virtual void SetBorder(sal_Int32 nLft, sal_Int32 nUpp, sal_Int32 nRgt, sal_Int32 Lwr)
virtual void SetLowerBorder(sal_Int32 nBorder)
const SdrLayerAdmin & GetLayerAdmin() const
bool IsMasterPage() const
sal_Int32 GetUpperBorder() const
virtual void SetRightBorder(sal_Int32 nBorder)
virtual void SetUpperBorder(sal_Int32 nBorder)
virtual bool checkVisibility(const sdr::contact::ViewObjectContact &rOriginal, const sdr::contact::DisplayInfo &rDisplayInfo, bool bEdit)
sal_Int32 GetRightBorder() const
sal_Int32 GetLeftBorder() const
sdr::contact::ViewContact & TRG_GetMasterPageDescriptorViewContact() const
bool TRG_HasMasterPage() const
SdrPageProperties & getSdrPageProperties()
SdrModel & getSdrModelFromSdrPage() const
sal_Int32 GetLowerBorder() const
tools::Long GetHeight() const
virtual void SetSize(const Size &aSiz)
tools::Long GetWidth() const
void SetTextEditOutliner(SdrOutliner *pOutl)
virtual bool IsAutoGrowWidth() const
virtual OutlinerParaObject * GetOutlinerParaObject() const override
virtual bool IsAutoGrowHeight() const
virtual const tools::Rectangle & GetLogicRect() const override
virtual void SetVerticalWriting(bool bVertical)
virtual SdrObjKind GetObjIdentifier() const override
virtual bool IsVerticalWriting() const
virtual std::unique_ptr< SdrUndoAction > CreateUndoDeleteObject(SdrObject &rObject, bool bOrdNumDirect=false)
void Broadcast(const SfxHint &rHint)
sal_uInt16 ClearItem(sal_uInt16 nWhich=0)
SfxItemState GetItemState(sal_uInt16 nWhich, bool bSrchInParent=true, const SfxPoolItem **ppItem=nullptr) const
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
const SfxPoolItem & Get(sal_uInt16 nWhich, bool bSrchInParent=true) const
virtual SfxStyleSheetBase * Find(const OUString &, SfxStyleFamily eFam, SfxStyleSearchBits n=SfxStyleSearchBits::All)
const OUString & GetName() const
SfxStyleFamily GetFamily() const
virtual SfxItemSet & GetItemSet()
bool IsInListAction() const
virtual void AddUndoAction(std::unique_ptr< SfxUndoAction > pAction, bool bTryMerg=false)
static SAL_WARN_UNUSED_RESULT SfxViewShell * Current()
constexpr tools::Long getHeight() const
constexpr tools::Long Height() const
tools::Long AdjustHeight(tools::Long n)
constexpr tools::Long getWidth() const
void setWidth(tools::Long nWidth)
tools::Long AdjustWidth(tools::Long n)
void setHeight(tools::Long nHeight)
constexpr tools::Long Width() const
void CopyValidProperties(const SvxBulletItem &rCopyFrom)
sal_uInt32 GetHeight() const
void SetTextLeft(const tools::Long nL, const sal_uInt16 nProp=100)
virtual EmbeddedObjectContainer & getEmbeddedObjectContainer() const=0
#define SO3_PLUGIN_CLASSID
#define SO3_IFRAME_CLASSID
#define SO3_APPLET_CLASSID
size_type count(const Value &v) const
std::pair< const_iterator, bool > insert(Value &&x)
void addShape(SdrObject &rObject)
adds the given shape to this list
void removeShape(SdrObject &rObject)
removes the shape from this list
bool isEmpty() const
returns true if this list is empty
bool hasShape(SdrObject &rObject) const
returns true if given shape is part of this list
SdrObject * getNextShape()
returns the shape the internal iterator points to, or 0 if the list end is reached.
void seekShape(sal_uInt32 nIndex)
Sets the internal iterator to the shape at given index.
#define DBG_ASSERT(sCon, aError)
#define TOOLS_WARN_EXCEPTION(area, stream)
constexpr TypedWhichId< SvxFieldItem > EE_FEATURE_FIELD(EE_FEATURE_NOTCONV+1)
constexpr TypedWhichId< SvxAdjustItem > EE_PARA_JUST(EE_PARA_START+16)
constexpr TypedWhichId< SvxFontHeightItem > EE_CHAR_FONTHEIGHT(EE_CHAR_START+2)
constexpr TypedWhichId< SvxLRSpaceItem > EE_PARA_LRSPACE(EE_PARA_START+13)
constexpr TypedWhichId< SvxBulletItem > EE_PARA_BULLET(EE_PARA_START+12)
constexpr TypedWhichId< SvxFontHeightItem > EE_CHAR_FONTHEIGHT_CTL(EE_CHAR_START+20)
constexpr TypedWhichId< SvxFontHeightItem > EE_CHAR_FONTHEIGHT_CJK(EE_CHAR_START+19)
EmbeddedObjectRef * pObject
constexpr OUStringLiteral SD_LT_SEPARATOR
#define SAL_WARN(area, stream)
std::unique_ptr< sal_Int32[]> pData
tools::Long const nBorder
B2IRange fround(const B2DRange &rRange)
constexpr std::enable_if_t< std::is_signed_v< T >, std::make_unsigned_t< T > > make_unsigned(T value)
#define PAPERBIN_PRINTER_SETTINGS
OUString SdResId(TranslateId aId)
static void findAutoLayoutShapesImpl(SdPage &rPage, const LayoutDescriptor &rDescriptor, std::array< SdrObject *, MAX_PRESOBJS > &rShapes, bool bInit, bool bSwitchLayout)
static void CalcAutoLayoutRectangles(SdPage const &rPage,::tools::Rectangle *rRectangle, const OUString &sLayoutType)
static OUString enumtoString(AutoLayout aut)
static constexpr PresObjKind operator|(PresObjKind e, int x)
static rtl::Reference< SdrObject > convertPresentationObjectImpl(SdPage &rPage, SdrObject *pSourceObj, PresObjKind &eObjKind, bool bVertical, const ::tools::Rectangle &rRect)
static const LayoutDescriptor & GetLayoutDescriptor(AutoLayout eLayout)
SdrOnOffItem makeSdrTextAutoGrowHeightItem(bool bAuto)
SdrOnOffItem makeSdrTextAutoGrowWidthItem(bool bAuto)
SdrOnOffItem makeSdrTextContourFrameItem(bool bOn)
SdrMetricItem makeSdrTextMinFrameHeightItem(tools::Long mnHeight)
SdrMetricItem makeSdrTextMinFrameWidthItem(tools::Long mnWidth)
sal_Int16 mnTransitionType
RGBColor mnTransitionFadeColor
constexpr OUStringLiteral STR_LAYOUT_TITLE
constexpr OUStringLiteral STR_LAYOUT_OUTLINE
constexpr OUStringLiteral STR_LAYOUT_SUBTITLE
constexpr OUStringLiteral STR_LAYOUT_BACKGROUNDOBJECTS
constexpr OUStringLiteral STR_LAYOUT_NOTES
constexpr OUStringLiteral STR_LAYOUT_BACKGROUND
SVXCORE_DLLPUBLIC SdrTextObj * DynCastSdrTextObj(SdrObject *)
SVXCORE_DLLPUBLIC SdrPage * GetSdrPageFromXDrawPage(const css::uno::Reference< css::drawing::XDrawPage > &xDrawPage) noexcept
constexpr OUStringLiteral sUNO_LayerName_background_objects
Reference< uno::XInterface > createUnoPageImpl(SdPage *pPage)