Bumping manifests a=b2g-bump
[gecko.git] / accessible / base / Platform.h
blob544a1a6b9f64dc9541bad64a25f240a564846569
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set ts=2 et sw=2 tw=80: */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #include <stdint.h>
9 namespace mozilla {
10 namespace a11y {
12 class ProxyAccessible;
14 enum EPlatformDisabledState {
15 ePlatformIsForceEnabled = -1,
16 ePlatformIsEnabled = 0,
17 ePlatformIsDisabled = 1
20 /**
21 * Return the platform disabled state.
23 EPlatformDisabledState PlatformDisabledState();
25 #ifdef MOZ_ACCESSIBILITY_ATK
26 /**
27 * Perform initialization that should be done as soon as possible, in order
28 * to minimize startup time.
29 * XXX: this function and the next defined in ApplicationAccessibleWrap.cpp
31 void PreInit();
32 #endif
34 #if defined(MOZ_ACCESSIBILITY_ATK) || defined(XP_MACOSX)
35 /**
36 * Is platform accessibility enabled.
37 * Only used on linux with atk and MacOS for now.
39 bool ShouldA11yBeEnabled();
40 #endif
42 /**
43 * Called to initialize platform specific accessibility support.
44 * Note this is called after internal accessibility support is initialized.
46 void PlatformInit();
48 /**
49 * Shutdown platform accessibility.
50 * Note this is called before internal accessibility support is shutdown.
52 void PlatformShutdown();
54 /**
55 * called when a new ProxyAccessible is created, so the platform may setup a
56 * wrapper for it, or take other action.
58 void ProxyCreated(ProxyAccessible*);
60 /**
61 * Called just before a ProxyAccessible is destroyed so its wrapper can be
62 * disposed of and other action taken.
64 void ProxyDestroyed(ProxyAccessible*);
66 /**
67 * Callied when an event is fired on a proxied accessible.
69 void ProxyEvent(ProxyAccessible* aTarget, uint32_t aEventType);
70 } // namespace a11y
71 } // namespace mozilla