LibreOffice Module sw (master) 1
accfrmobj.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#ifndef INCLUDED_SW_SOURCE_CORE_ACCESS_ACCFRMOBJ_HXX
21#define INCLUDED_SW_SOURCE_CORE_ACCESS_ACCFRMOBJ_HXX
22
23#include <vcl/vclptr.hxx>
24
25class SwAccessibleMap;
26class SwFrame;
27class SdrObject;
28namespace vcl { class Window; }
29class SwRect;
30
31namespace sw::access {
32
34{
35 public:
38 explicit SwAccessibleChild( const SdrObject* pDrawObj );
39 explicit SwAccessibleChild( const SwFrame* pFrame );
40 explicit SwAccessibleChild( vcl::Window* pWindow );
41 SwAccessibleChild( const SwFrame* pFrame,
42 const SdrObject* pDrawObj,
43 vcl::Window* pWindow );
44
49
50 SwAccessibleChild& operator=( const SdrObject* pDrawObj );
51 SwAccessibleChild& operator=( const SwFrame* pFrame );
53
54 bool operator==( const SwAccessibleChild& r ) const
55 {
56 return mpFrame == r.mpFrame &&
57 mpDrawObj == r.mpDrawObj &&
58 mpWindow == r.mpWindow;
59 }
60
61 bool IsValid() const;
62
63 const SwFrame* GetSwFrame() const { return mpFrame; }
64 const SdrObject* GetDrawObject() const { return mpDrawObj; }
65 vcl::Window* GetWindow() const { return mpWindow; }
66
67 const SwFrame* GetParent( const bool bInPagePreview ) const;
68
69 bool IsAccessible( bool bPagePreview ) const;
70 bool IsBoundAsChar() const;
71
72 bool IsVisibleChildrenOnly() const;
73 SwRect GetBox( const SwAccessibleMap& rAccMap ) const;
74 SwRect GetBounds( const SwAccessibleMap& rAccMap ) const;
75
78 bool AlwaysIncludeAsChild() const;
79
80 private:
84
85 void Init( const SdrObject* pDrawObj );
86 void Init( const SwFrame* pFrame );
87 void Init( vcl::Window* pWindow );
88};
89
90} // eof of namespace sw::access
91
92#endif
93
94/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Base class of the Writer layout elements.
Definition: frame.hxx:315
Of course Writer needs its own rectangles.
Definition: swrect.hxx:35
void Init(const SdrObject *pDrawObj)
Definition: accfrmobj.cxx:98
SwAccessibleChild(SwAccessibleChild &&)=default
bool IsAccessible(bool bPagePreview) const
Definition: accfrmobj.cxx:120
SwRect GetBox(const SwAccessibleMap &rAccMap) const
Definition: accfrmobj.cxx:213
SwAccessibleChild(SwAccessibleChild const &)=default
const SwFrame * GetSwFrame() const
Definition: accfrmobj.hxx:63
bool AlwaysIncludeAsChild() const
indicating, if accessible child is included even, if the corresponding object is not visible.
Definition: accfrmobj.cxx:290
const SdrObject * mpDrawObj
Definition: accfrmobj.hxx:82
const SwFrame * GetParent(const bool bInPagePreview) const
Definition: accfrmobj.cxx:302
SwAccessibleChild & operator=(SwAccessibleChild const &)=default
SwRect GetBounds(const SwAccessibleMap &rAccMap) const
Definition: accfrmobj.cxx:264
bool IsVisibleChildrenOnly() const
Definition: accfrmobj.cxx:193
VclPtr< vcl::Window > mpWindow
Definition: accfrmobj.hxx:83
const SdrObject * GetDrawObject() const
Definition: accfrmobj.hxx:64
bool operator==(const SwAccessibleChild &r) const
Definition: accfrmobj.hxx:54
vcl::Window * GetWindow() const
Definition: accfrmobj.hxx:65