11d2dbeb0SAndrew Rist /************************************************************** 21d2dbeb0SAndrew Rist * 31d2dbeb0SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 41d2dbeb0SAndrew Rist * or more contributor license agreements. See the NOTICE file 51d2dbeb0SAndrew Rist * distributed with this work for additional information 61d2dbeb0SAndrew Rist * regarding copyright ownership. The ASF licenses this file 71d2dbeb0SAndrew Rist * to you under the Apache License, Version 2.0 (the 81d2dbeb0SAndrew Rist * "License"); you may not use this file except in compliance 91d2dbeb0SAndrew Rist * with the License. You may obtain a copy of the License at 101d2dbeb0SAndrew Rist * 111d2dbeb0SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 121d2dbeb0SAndrew Rist * 131d2dbeb0SAndrew Rist * Unless required by applicable law or agreed to in writing, 141d2dbeb0SAndrew Rist * software distributed under the License is distributed on an 151d2dbeb0SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 161d2dbeb0SAndrew Rist * KIND, either express or implied. See the License for the 171d2dbeb0SAndrew Rist * specific language governing permissions and limitations 181d2dbeb0SAndrew Rist * under the License. 191d2dbeb0SAndrew Rist * 201d2dbeb0SAndrew Rist *************************************************************/ 211d2dbeb0SAndrew Rist 221d2dbeb0SAndrew Rist 23cdf0e10cSrcweir #ifndef _ACCFRMOBJ_HXX 24cdf0e10cSrcweir #define _ACCFRMOBJ_HXX 25cdf0e10cSrcweir 26cdf0e10cSrcweir #include <sal/types.h> 27cdf0e10cSrcweir 28cdf0e10cSrcweir class SwAccessibleMap; 29cdf0e10cSrcweir class SwFrm; 30cdf0e10cSrcweir class SdrObject; 31cdf0e10cSrcweir class Window; 32cdf0e10cSrcweir class SwRect; 33cdf0e10cSrcweir 34cdf0e10cSrcweir namespace sw { namespace access { 35cdf0e10cSrcweir 36cdf0e10cSrcweir class SwAccessibleChild 37cdf0e10cSrcweir { 38cdf0e10cSrcweir public: 39cdf0e10cSrcweir SwAccessibleChild(); 40cdf0e10cSrcweir explicit SwAccessibleChild( const SdrObject* pDrawObj ); 41cdf0e10cSrcweir explicit SwAccessibleChild( const SwFrm* pFrm ); 42cdf0e10cSrcweir explicit SwAccessibleChild( Window* pWindow ); 43cdf0e10cSrcweir SwAccessibleChild( const SwFrm* pFrm, 44cdf0e10cSrcweir const SdrObject* pDrawObj, 45cdf0e10cSrcweir Window* pWindow ); 46cdf0e10cSrcweir 47cdf0e10cSrcweir SwAccessibleChild( const SwAccessibleChild& r ); 48cdf0e10cSrcweir SwAccessibleChild& operator=( const SwAccessibleChild& r ); 49cdf0e10cSrcweir 50cdf0e10cSrcweir SwAccessibleChild& operator=( const SdrObject* pDrawObj ); 51cdf0e10cSrcweir SwAccessibleChild& operator=( const SwFrm* pFrm ); 52cdf0e10cSrcweir SwAccessibleChild& operator=( Window* pWindow ); 53cdf0e10cSrcweir 54cdf0e10cSrcweir bool operator==( const SwAccessibleChild& r ) const; 55cdf0e10cSrcweir 56cdf0e10cSrcweir bool IsValid() const; 57cdf0e10cSrcweir 58cdf0e10cSrcweir const SwFrm* GetSwFrm() const; 59cdf0e10cSrcweir const SdrObject* GetDrawObject() const; 60cdf0e10cSrcweir Window* GetWindow() const; 61cdf0e10cSrcweir 62cdf0e10cSrcweir const SwFrm* GetParent( const sal_Bool bInPagePreview ) const; 63cdf0e10cSrcweir 64cdf0e10cSrcweir bool IsAccessible( sal_Bool bPagePreview ) const; 65cdf0e10cSrcweir bool IsBoundAsChar() const; 66*ca62e2c2SSteve Yin 67*ca62e2c2SSteve Yin sal_uInt32 GetAnchorPosition() const; 68cdf0e10cSrcweir 69cdf0e10cSrcweir bool IsVisibleChildrenOnly() const; 70cdf0e10cSrcweir SwRect GetBox( const SwAccessibleMap& rAccMap ) const; 71cdf0e10cSrcweir SwRect GetBounds( const SwAccessibleMap& rAccMap ) const; 72cdf0e10cSrcweir 73cdf0e10cSrcweir /** indicating, if accessible child is included even, if the corresponding 74cdf0e10cSrcweir object is not visible. 75cdf0e10cSrcweir 76cdf0e10cSrcweir @author OD 77cdf0e10cSrcweir */ 78cdf0e10cSrcweir bool AlwaysIncludeAsChild() const; 79cdf0e10cSrcweir 80cdf0e10cSrcweir private: 81cdf0e10cSrcweir const SwFrm* mpFrm; 82cdf0e10cSrcweir const SdrObject* mpDrawObj; 83cdf0e10cSrcweir Window* mpWindow; 84cdf0e10cSrcweir 85cdf0e10cSrcweir void Init( const SdrObject* pDrawObj ); 86cdf0e10cSrcweir void Init( const SwFrm* pFrm ); 87cdf0e10cSrcweir void Init( Window* pWindow ); 88cdf0e10cSrcweir }; 89cdf0e10cSrcweir 90cdf0e10cSrcweir 91cdf0e10cSrcweir } } // eof of namespace sw::access 92cdf0e10cSrcweir 93cdf0e10cSrcweir #endif 94