michael@0: /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* vim: set ts=2 et sw=2 tw=80: */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #ifndef __MAI_HYPERLINK_H__ michael@0: #define __MAI_HYPERLINK_H__ michael@0: michael@0: #include "nsMai.h" michael@0: #include "Accessible.h" michael@0: michael@0: struct _AtkHyperlink; michael@0: typedef struct _AtkHyperlink AtkHyperlink; michael@0: michael@0: namespace mozilla { michael@0: namespace a11y { michael@0: michael@0: /* michael@0: * MaiHyperlink is a auxiliary class for MaiInterfaceHyperText. michael@0: */ michael@0: michael@0: class MaiHyperlink michael@0: { michael@0: public: michael@0: MaiHyperlink(Accessible* aHyperLink); michael@0: ~MaiHyperlink(); michael@0: michael@0: public: michael@0: AtkHyperlink *GetAtkHyperlink(void); michael@0: Accessible* GetAccHyperlink() michael@0: { return mHyperlink && mHyperlink->IsLink() ? mHyperlink : nullptr; } michael@0: michael@0: protected: michael@0: Accessible* mHyperlink; michael@0: AtkHyperlink* mMaiAtkHyperlink; michael@0: public: michael@0: static nsresult Initialize(AtkHyperlink *aObj, MaiHyperlink *aClass); michael@0: }; michael@0: michael@0: } // namespace a11y michael@0: } // namespace mozilla michael@0: michael@0: #endif /* __MAI_HYPERLINK_H__ */