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 __NS_MAI_H__ michael@0: #define __NS_MAI_H__ michael@0: michael@0: #include michael@0: #include michael@0: #include michael@0: michael@0: #include "AccessibleWrap.h" michael@0: michael@0: #define MAI_TYPE_ATK_OBJECT (mai_atk_object_get_type ()) michael@0: #define MAI_ATK_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), \ michael@0: MAI_TYPE_ATK_OBJECT, MaiAtkObject)) michael@0: #define MAI_ATK_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), \ michael@0: MAI_TYPE_ATK_OBJECT, \ michael@0: MaiAtkObjectClass)) michael@0: #define IS_MAI_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \ michael@0: MAI_TYPE_ATK_OBJECT)) michael@0: #define IS_MAI_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), \ michael@0: MAI_TYPE_ATK_OBJECT)) michael@0: #define MAI_ATK_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), \ michael@0: MAI_TYPE_ATK_OBJECT, \ michael@0: MaiAtkObjectClass)) michael@0: GType mai_atk_object_get_type(void); michael@0: GType mai_util_get_type(); michael@0: mozilla::a11y::AccessibleWrap* GetAccessibleWrap(AtkObject* aAtkObj); michael@0: michael@0: extern int atkMajorVersion, atkMinorVersion; michael@0: michael@0: /** michael@0: * Return true if the loaded version of libatk-1.0.so is at least michael@0: * aMajor.aMinor.0. michael@0: */ michael@0: static inline bool michael@0: IsAtkVersionAtLeast(int aMajor, int aMinor) michael@0: { michael@0: return aMajor < atkMajorVersion || michael@0: (aMajor == atkMajorVersion && aMinor <= atkMinorVersion); michael@0: } michael@0: michael@0: #endif /* __NS_MAI_H__ */