2 /* -*- Mode: Objective-C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
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
;
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
36 moveGranularity
:(int32_t)granularity
;
38 - (NSDictionary
*)selectionChangeInfo
;
40 - (void)invalidateSelection
;
42 - (mozilla::a11y::GeckoTextMarkerRange
)selection
;
45 - (AXTextMarkerRef
)moxStartTextMarker
;
48 - (AXTextMarkerRef
)moxEndTextMarker
;
51 - (AXTextMarkerRangeRef
)moxSelectedTextMarkerRange
;
54 - (NSNumber
*)moxLengthForTextMarkerRange
:(AXTextMarkerRangeRef
)textMarkerRange
;
57 - (NSString
*)moxStringForTextMarkerRange
:(AXTextMarkerRangeRef
)textMarkerRange
;
60 - (AXTextMarkerRangeRef
)moxTextMarkerRangeForUnorderedTextMarkers
:
61 (NSArray
*)textMarkers
;
64 - (AXTextMarkerRef
)moxStartTextMarkerForTextMarkerRange
:
65 (AXTextMarkerRangeRef
)textMarkerRange
;
68 - (AXTextMarkerRef
)moxEndTextMarkerForTextMarkerRange
:
69 (AXTextMarkerRangeRef
)textMarkerRange
;
72 - (AXTextMarkerRangeRef
)moxLeftWordTextMarkerRangeForTextMarker
:
73 (AXTextMarkerRef
)textMarker
;
76 - (AXTextMarkerRangeRef
)moxRightWordTextMarkerRangeForTextMarker
:
77 (AXTextMarkerRef
)textMarker
;
80 - (AXTextMarkerRangeRef
)moxLineTextMarkerRangeForTextMarker
:
81 (AXTextMarkerRef
)textMarker
;
84 - (AXTextMarkerRangeRef
)moxLeftLineTextMarkerRangeForTextMarker
:
85 (AXTextMarkerRef
)textMarker
;
88 - (AXTextMarkerRangeRef
)moxRightLineTextMarkerRangeForTextMarker
:
89 (AXTextMarkerRef
)textMarker
;
92 - (AXTextMarkerRangeRef
)moxParagraphTextMarkerRangeForTextMarker
:
93 (AXTextMarkerRef
)textMarker
;
96 - (AXTextMarkerRangeRef
)moxStyleTextMarkerRangeForTextMarker
:
97 (AXTextMarkerRef
)textMarker
;
100 - (AXTextMarkerRef
)moxNextTextMarkerForTextMarker
:(AXTextMarkerRef
)textMarker
;
103 - (AXTextMarkerRef
)moxPreviousTextMarkerForTextMarker
:
104 (AXTextMarkerRef
)textMarker
;
107 - (NSAttributedString
*)moxAttributedStringForTextMarkerRange
:
108 (AXTextMarkerRangeRef
)textMarkerRange
;
111 - (NSValue
*)moxBoundsForTextMarkerRange
:(AXTextMarkerRangeRef
)textMarkerRange
;
114 - (id
)moxUIElementForTextMarker
:(AXTextMarkerRef
)textMarker
;
117 - (AXTextMarkerRangeRef
)moxTextMarkerRangeForUIElement
:(id
)element
;
120 - (NSString
*)moxMozDebugDescriptionForTextMarker
:(AXTextMarkerRef
)textMarker
;
123 - (void)moxSetSelectedTextMarkerRange
:(AXTextMarkerRangeRef
)textMarkerRange
;
130 enum AXTextEditType
{
131 AXTextEditTypeUnknown
,
132 AXTextEditTypeDelete
,
133 AXTextEditTypeInsert
,
134 AXTextEditTypeTyping
,
135 AXTextEditTypeDictation
,
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
169 } // namespace mozilla