LibreOffice Module svx (master)
1
include
svx
svdviter.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/svxdllapi.h
>
23
24
/*
25
26
Using this class, you can find out:
27
- SdrView* First/NextView()
28
- All Views in which a model is displayed
29
- All Views in which a certain page is visible (also as MasterPage)
30
- All Views in which a certain object is visible (also as MasterPage)
31
- SdrPageView* First/NextPageView()
32
- All PageViews in which a model is displayed
33
- All PageViews in which a certain page is visible (also as MasterPage)
34
- All PageViews in which a certain object is visible (also as MasterPage)
35
- vcl::Window* First/NextWindow()
36
- All Windows in which a model is displayed
37
- All Windows in which a certain page is visible (also as MasterPage)
38
- All Windows in which a certain object is visible (also as MasterPage)
39
You can specify if the selection is restricted to a certain page/object by
40
choosing the corresponding constructor.
41
42
Among others, the following are considered:
43
- Visibility state of the layer
44
- Visible Layer of MasterPages
45
- Multiple layer for group objects
46
47
Not considered are:
48
- Whether the pages/objects were already painted or if an Invalidate is still pending
49
- Whether the pages/objects in a Window are in a visible region
50
51
*/
52
53
class
OutputDevice
;
54
class
SdrView
;
55
class
SdrPageView
;
56
class
SdrModel
;
57
class
SdrPage
;
58
class
SdrObject
;
59
class
SdrLayerIDSet
;
60
61
class
SVXCORE_DLLPUBLIC
SdrViewIter
62
{
63
const
SdrModel
*
mpModel
;
64
const
SdrPage
*
mpPage
;
65
const
SdrObject
*
mpObject
;
66
SdrView
*
mpCurrentView
;
67
68
size_t
mnListenerNum
;
69
70
private
:
71
SVX_DLLPRIVATE
void
ImpInitVars();
72
SVX_DLLPRIVATE
SdrView
* ImpFindView();
73
SVX_DLLPRIVATE
bool
ImpCheckPageView(
SdrPageView
const
* pPV)
const
;
74
75
public
:
76
SdrViewIter
(
const
SdrPage
* pPage);
77
SdrViewIter
(
const
SdrObject
* pObject);
78
79
SdrView
* FirstView();
80
SdrView
* NextView();
81
};
82
83
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
SdrLayerIDSet
Definition:
svdsob.hxx:32
SdrModel
Definition:
svdmodel.hxx:149
SdrObject
Abstract DrawObject.
Definition:
svdobj.hxx:260
SdrPageView
Definition:
svdpagv.hxx:56
SdrPage
A SdrPage contains exactly one SdrObjList and a description of the physical page dimensions (size / m...
Definition:
svdpage.hxx:377
SdrViewIter
Definition:
svdviter.hxx:62
SdrViewIter::mpModel
const SdrModel * mpModel
Definition:
svdviter.hxx:63
SdrViewIter::mpPage
const SdrPage * mpPage
Definition:
svdviter.hxx:64
SdrViewIter::mpObject
const SdrObject * mpObject
Definition:
svdviter.hxx:65
SdrViewIter::mnListenerNum
size_t mnListenerNum
Definition:
svdviter.hxx:68
SdrViewIter::mpCurrentView
SdrView * mpCurrentView
Definition:
svdviter.hxx:66
SdrView
Definition:
svdview.hxx:147
OutputDevice
svxdllapi.h
SVX_DLLPRIVATE
#define SVX_DLLPRIVATE
Definition:
svxdllapi.h:30
SVXCORE_DLLPUBLIC
#define SVXCORE_DLLPUBLIC
Definition:
svxdllapi.h:35
Generated on Fri Mar 24 2023 12:10:55 for LibreOffice Module svx (master) by
1.9.3