OLD | NEW |
| (Empty) |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_GTK_H_ | |
6 #define CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_GTK_H_ | |
7 #pragma once | |
8 | |
9 #include "base/compiler_specific.h" | |
10 #include "content/browser/accessibility/browser_accessibility.h" | |
11 #include "webkit/glue/webaccessibility.h" | |
12 | |
13 #include <atk/atk.h> | |
14 | |
15 using webkit_glue::WebAccessibility; | |
16 | |
17 class BrowserAccessibilityGtk; | |
18 class BrowserAccessibilityManagerGtk; | |
19 | |
20 G_BEGIN_DECLS | |
21 | |
22 #define BROWSER_ACCESSIBILITY_TYPE (browser_accessibility_get_type()) | |
23 #define BROWSER_ACCESSIBILITY(obj) \ | |
24 (G_TYPE_CHECK_INSTANCE_CAST( \ | |
25 (obj), BROWSER_ACCESSIBILITY_TYPE, BrowserAccessibilityAtk)) | |
26 #define BROWSER_ACCESSIBILITY_CLASS(klass) \ | |
27 (G_TYPE_CHECK_CLASS_CAST( \ | |
28 (klass), BROWSER_ACCESSIBILITY_TYPE, BrowserAccessibilityAtkClass)) | |
29 #define IS_BROWSER_ACCESSIBILITY(obj) \ | |
30 (G_TYPE_CHECK_INSTANCE_TYPE((obj), BROWSER_ACCESSIBILITY_TYPE)) | |
31 #define IS_BROWSER_ACCESSIBILITY_CLASS(klass) \ | |
32 (G_TYPE_CHECK_CLASS_TYPE((klass), BROWSER_ACCESSIBILITY_TYPE)) | |
33 #define BROWSER_ACCESSIBILITY_GET_CLASS(obj) \ | |
34 (G_TYPE_INSTANCE_GET_CLASS( \ | |
35 (obj), BROWSER_ACCESSIBILITY_TYPE, BrowserAccessibilityAtkClass)) | |
36 | |
37 typedef struct _BrowserAccessibilityAtk BrowserAccessibilityAtk; | |
38 typedef struct _BrowserAccessibilityAtkClass BrowserAccessibilityAtkClass; | |
39 | |
40 struct _BrowserAccessibilityAtk { | |
41 AtkObject parent; | |
42 BrowserAccessibilityGtk* m_object; | |
43 }; | |
44 | |
45 struct _BrowserAccessibilityAtkClass { | |
46 AtkObjectClass parent_class; | |
47 }; | |
48 | |
49 GType browser_accessibility_get_type (void) G_GNUC_CONST; | |
50 | |
51 BrowserAccessibilityAtk* browser_accessibility_new( | |
52 BrowserAccessibilityGtk* object); | |
53 | |
54 BrowserAccessibilityGtk* browser_accessibility_get_object( | |
55 BrowserAccessibilityAtk* atk_object); | |
56 | |
57 void browser_accessibility_detach (BrowserAccessibilityAtk* atk_object); | |
58 | |
59 AtkObject* browser_accessibility_get_focused_element( | |
60 BrowserAccessibilityAtk* atk_object); | |
61 | |
62 G_END_DECLS | |
63 | |
64 class BrowserAccessibilityGtk : public BrowserAccessibility { | |
65 public: | |
66 BrowserAccessibilityGtk(); | |
67 | |
68 virtual ~BrowserAccessibilityGtk(); | |
69 | |
70 AtkObject* GetAtkObject() const; | |
71 | |
72 AtkRole atk_role() { return atk_role_; } | |
73 const std::string& atk_acc_name() { return atk_acc_name_; } | |
74 | |
75 // BrowserAccessibility methods. | |
76 virtual void PreInitialize() OVERRIDE; | |
77 | |
78 private: | |
79 virtual void InitRoleAndState(); | |
80 | |
81 // Give BrowserAccessibility::Create access to our constructor. | |
82 friend class BrowserAccessibility; | |
83 | |
84 AtkObject* atk_object_; | |
85 AtkRole atk_role_; | |
86 std::string atk_acc_name_; | |
87 | |
88 private: | |
89 DISALLOW_COPY_AND_ASSIGN(BrowserAccessibilityGtk); | |
90 }; | |
91 | |
92 #endif // CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_GTK_H_ | |
OLD | NEW |