LibreOffice Module svx (master)
1
include
svx
svdopage.hxx
Go to the documentation of this file.
1
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
/*
3
* This file is part of the LibreOffice project.
4
*
5
* This Source Code Form is subject to the terms of the Mozilla Public
6
* License, v. 2.0. If a copy of the MPL was not distributed with this
7
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
8
*
9
* This file incorporates work covered by the following license notice:
10
*
11
* Licensed to the Apache Software Foundation (ASF) under one or more
12
* contributor license agreements. See the NOTICE file distributed
13
* with this work for additional information regarding copyright
14
* ownership. The ASF licenses this file to you under the Apache
15
* License, Version 2.0 (the "License"); you may not use this file
16
* except in compliance with the License. You may obtain a copy of
17
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
18
*/
19
20
#pragma once
21
22
#include <
svx/svdobj.hxx
>
23
#include <
svx/sdrpageuser.hxx
>
24
#include <
svx/svxdllapi.h
>
25
26
class
SVXCORE_DLLPUBLIC
SdrPageObj
final :
public
SdrObject
,
public
sdr::PageUser
27
{
28
public
:
29
// this method is called from the destructor of the referenced page.
30
// do all necessary action to forget the page. It is not necessary to call
31
// RemovePageUser(), that is done from the destructor.
32
virtual
void
PageInDestruction
(
const
SdrPage
& rPage)
override
;
33
34
private
:
35
// To make things more safe, remember the page, not a number
36
SdrPage
*
mpShownPage
;
37
38
virtual
std::unique_ptr<sdr::contact::ViewContact>
CreateObjectSpecificViewContact
()
override
;
39
virtual
std::unique_ptr<sdr::properties::BaseProperties>
CreateObjectSpecificProperties
()
override
;
40
41
// protected destructor
42
virtual
~SdrPageObj
()
override
;
43
44
public
:
45
SdrPageObj
(
46
SdrModel
& rSdrModel,
47
SdrPage
* pNewPage =
nullptr
);
48
// Copy constructor
49
SdrPageObj
(
SdrModel
& rSdrModel,
SdrPageObj
const
& rSource);
50
SdrPageObj
(
51
SdrModel
& rSdrModel,
52
const
tools::Rectangle
& rRect,
53
SdrPage
* pNewPage =
nullptr
);
54
55
SdrPage
*
GetReferencedPage
()
const
{
return
mpShownPage;}
56
void
SetReferencedPage(
SdrPage
* pNewPage);
57
58
// #i96598#
59
virtual
void
SetBoundRectDirty
()
override
;
60
61
virtual
SdrObjKind
GetObjIdentifier
()
const override
;
62
virtual
void
TakeObjInfo
(
SdrObjTransformInfoRec
& rInfo)
const override
;
63
virtual
rtl::Reference<SdrObject>
CloneSdrObject
(
SdrModel
& rTargetModel)
const override
;
64
65
virtual
OUString
TakeObjNameSingul
()
const override
;
66
virtual
OUString
TakeObjNamePlural
()
const override
;
67
68
void
NbcRotate
(
const
Point
& rRef,
Degree100
nAngle,
double
sinAngle,
double
cosAngle)
override
;
69
};
70
71
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Point
SdrModel
Definition:
svdmodel.hxx:149
SdrObjTransformInfoRec
Provides information about various ZObject properties.
Definition:
svdobj.hxx:196
SdrObject
Abstract DrawObject.
Definition:
svdobj.hxx:260
SdrObject::CreateObjectSpecificProperties
virtual std::unique_ptr< sdr::properties::BaseProperties > CreateObjectSpecificProperties()
Definition:
svdobj.cxx:215
SdrObject::TakeObjNamePlural
virtual OUString TakeObjNamePlural() const
Definition:
svdobj.cxx:1097
SdrObject::CreateObjectSpecificViewContact
virtual std::unique_ptr< sdr::contact::ViewContact > CreateObjectSpecificViewContact()
Definition:
svdobj.cxx:256
SdrObject::GetObjIdentifier
virtual SdrObjKind GetObjIdentifier() const
Definition:
svdobj.cxx:626
SdrObject::CloneSdrObject
virtual rtl::Reference< SdrObject > CloneSdrObject(SdrModel &rTargetModel) const =0
SdrObject::TakeObjNameSingul
virtual OUString TakeObjNameSingul() const
Definition:
svdobj.cxx:1087
SdrObject::SetBoundRectDirty
virtual void SetBoundRectDirty()
Definition:
svdobj.cxx:329
SdrObject::TakeObjInfo
virtual void TakeObjInfo(SdrObjTransformInfoRec &rInfo) const
Definition:
svdobj.cxx:631
SdrObject::NbcRotate
virtual void NbcRotate(const Point &rRef, Degree100 nAngle, double sn, double cs)=0
SdrPageObj
Definition:
svdopage.hxx:27
SdrPageObj::mpShownPage
SdrPage * mpShownPage
Definition:
svdopage.hxx:36
SdrPageObj::GetReferencedPage
SdrPage * GetReferencedPage() const
Definition:
svdopage.hxx:55
SdrPage
A SdrPage contains exactly one SdrObjList and a description of the physical page dimensions (size / m...
Definition:
svdpage.hxx:379
rtl::Reference< SdrObject >
sdr::PageUser
Definition:
sdrpageuser.hxx:34
sdr::PageUser::PageInDestruction
virtual void PageInDestruction(const SdrPage &rPage)=0
tools::Rectangle
sdrpageuser.hxx
o3tl::strong_int
svdobj.hxx
SdrObjKind
SdrObjKind
Definition:
svdobjkind.hxx:25
svxdllapi.h
SVXCORE_DLLPUBLIC
#define SVXCORE_DLLPUBLIC
Definition:
svxdllapi.h:35
Generated on Sun Jul 30 2023 04:27:38 for LibreOffice Module svx (master) by
1.9.3