no bug - Bumping Firefox l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
[gecko.git] / accessible / mac / MOXTextMarkerDelegate.h
blobf1d40f6ffa053be7b8d424cdbc719d546a202553
1 /* clang-format off */
2 /* -*- Mode: Objective-C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
3 /* clang-format on */
4 /* This Source Code Form is subject to the terms of the Mozilla Public
5 * License, v. 2.0. If a copy of the MPL was not distributed with this
6 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
8 #import <Cocoa/Cocoa.h>
10 #import "MOXAccessibleProtocol.h"
11 #import "GeckoTextMarker.h"
13 @interface MOXTextMarkerDelegate : NSObject <MOXTextMarkerSupport> {
14 mozilla::a11y::Accessible* mGeckoDocAccessible;
15 AXTextMarkerRangeRef mSelection;
16 AXTextMarkerRef mCaret;
17 AXTextMarkerRef mPrevCaret;
18 int32_t mCaretMoveGranularity;
21 + (id)getOrCreateForDoc:(mozilla::a11y::Accessible*)aDoc;
23 + (void)destroyForDoc:(mozilla::a11y::Accessible*)aDoc;
25 - (id)initWithDoc:(mozilla::a11y::Accessible*)aDoc;
27 - (void)dealloc;
29 - (void)setSelectionFrom:(mozilla::a11y::Accessible*)startContainer
30 at:(int32_t)startOffset
31 to:(mozilla::a11y::Accessible*)endContainer
32 at:(int32_t)endOffset;
34 - (void)setCaretOffset:(mozilla::a11y::Accessible*)container
35 at:(int32_t)offset
36 moveGranularity:(int32_t)granularity;
38 - (NSDictionary*)selectionChangeInfo;
40 - (void)invalidateSelection;
42 - (mozilla::a11y::GeckoTextMarkerRange)selection;
44 // override
45 - (AXTextMarkerRef)moxStartTextMarker;
47 // override
48 - (AXTextMarkerRef)moxEndTextMarker;
50 // override
51 - (AXTextMarkerRangeRef)moxSelectedTextMarkerRange;
53 // override
54 - (NSNumber*)moxLengthForTextMarkerRange:(AXTextMarkerRangeRef)textMarkerRange;
56 // override
57 - (NSString*)moxStringForTextMarkerRange:(AXTextMarkerRangeRef)textMarkerRange;
59 // override
60 - (AXTextMarkerRangeRef)moxTextMarkerRangeForUnorderedTextMarkers:
61 (NSArray*)textMarkers;
63 // override
64 - (AXTextMarkerRef)moxStartTextMarkerForTextMarkerRange:
65 (AXTextMarkerRangeRef)textMarkerRange;
67 // override
68 - (AXTextMarkerRef)moxEndTextMarkerForTextMarkerRange:
69 (AXTextMarkerRangeRef)textMarkerRange;
71 // override
72 - (AXTextMarkerRangeRef)moxLeftWordTextMarkerRangeForTextMarker:
73 (AXTextMarkerRef)textMarker;
75 // override
76 - (AXTextMarkerRangeRef)moxRightWordTextMarkerRangeForTextMarker:
77 (AXTextMarkerRef)textMarker;
79 // override
80 - (AXTextMarkerRangeRef)moxLineTextMarkerRangeForTextMarker:
81 (AXTextMarkerRef)textMarker;
83 // override
84 - (AXTextMarkerRangeRef)moxLeftLineTextMarkerRangeForTextMarker:
85 (AXTextMarkerRef)textMarker;
87 // override
88 - (AXTextMarkerRangeRef)moxRightLineTextMarkerRangeForTextMarker:
89 (AXTextMarkerRef)textMarker;
91 // override
92 - (AXTextMarkerRangeRef)moxParagraphTextMarkerRangeForTextMarker:
93 (AXTextMarkerRef)textMarker;
95 // override
96 - (AXTextMarkerRangeRef)moxStyleTextMarkerRangeForTextMarker:
97 (AXTextMarkerRef)textMarker;
99 // override
100 - (AXTextMarkerRef)moxNextTextMarkerForTextMarker:(AXTextMarkerRef)textMarker;
102 // override
103 - (AXTextMarkerRef)moxPreviousTextMarkerForTextMarker:
104 (AXTextMarkerRef)textMarker;
106 // override
107 - (NSAttributedString*)moxAttributedStringForTextMarkerRange:
108 (AXTextMarkerRangeRef)textMarkerRange;
110 // override
111 - (NSValue*)moxBoundsForTextMarkerRange:(AXTextMarkerRangeRef)textMarkerRange;
113 // override
114 - (id)moxUIElementForTextMarker:(AXTextMarkerRef)textMarker;
116 // override
117 - (AXTextMarkerRangeRef)moxTextMarkerRangeForUIElement:(id)element;
119 // override
120 - (NSString*)moxMozDebugDescriptionForTextMarker:(AXTextMarkerRef)textMarker;
122 // override
123 - (void)moxSetSelectedTextMarkerRange:(AXTextMarkerRangeRef)textMarkerRange;
125 @end
127 namespace mozilla {
128 namespace a11y {
130 enum AXTextEditType {
131 AXTextEditTypeUnknown,
132 AXTextEditTypeDelete,
133 AXTextEditTypeInsert,
134 AXTextEditTypeTyping,
135 AXTextEditTypeDictation,
136 AXTextEditTypeCut,
137 AXTextEditTypePaste,
138 AXTextEditTypeAttributesChange
141 enum AXTextStateChangeType {
142 AXTextStateChangeTypeUnknown,
143 AXTextStateChangeTypeEdit,
144 AXTextStateChangeTypeSelectionMove,
145 AXTextStateChangeTypeSelectionExtend
148 enum AXTextSelectionDirection {
149 AXTextSelectionDirectionUnknown,
150 AXTextSelectionDirectionBeginning,
151 AXTextSelectionDirectionEnd,
152 AXTextSelectionDirectionPrevious,
153 AXTextSelectionDirectionNext,
154 AXTextSelectionDirectionDiscontiguous
157 enum AXTextSelectionGranularity {
158 AXTextSelectionGranularityUnknown,
159 AXTextSelectionGranularityCharacter,
160 AXTextSelectionGranularityWord,
161 AXTextSelectionGranularityLine,
162 AXTextSelectionGranularitySentence,
163 AXTextSelectionGranularityParagraph,
164 AXTextSelectionGranularityPage,
165 AXTextSelectionGranularityDocument,
166 AXTextSelectionGranularityAll
168 } // namespace a11y
169 } // namespace mozilla