summaryrefslogtreecommitdiffstats
path: root/accessible/mac/MOXTextMarkerDelegate.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--accessible/mac/MOXTextMarkerDelegate.h158
1 files changed, 158 insertions, 0 deletions
diff --git a/accessible/mac/MOXTextMarkerDelegate.h b/accessible/mac/MOXTextMarkerDelegate.h
new file mode 100644
index 0000000000..cd5c78cb9a
--- /dev/null
+++ b/accessible/mac/MOXTextMarkerDelegate.h
@@ -0,0 +1,158 @@
+/* clang-format off */
+/* -*- Mode: Objective-C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* clang-format on */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#import <Cocoa/Cocoa.h>
+
+#import "MOXAccessibleProtocol.h"
+#import "GeckoTextMarker.h"
+
+#include "AccessibleOrProxy.h"
+
+@interface MOXTextMarkerDelegate : NSObject <MOXTextMarkerSupport> {
+ mozilla::a11y::AccessibleOrProxy mGeckoDocAccessible;
+ id mSelection;
+ id mCaret;
+ id mPrevCaret;
+}
+
++ (id)getOrCreateForDoc:(mozilla::a11y::AccessibleOrProxy)aDoc;
+
++ (void)destroyForDoc:(mozilla::a11y::AccessibleOrProxy)aDoc;
+
+- (id)initWithDoc:(mozilla::a11y::AccessibleOrProxy)aDoc;
+
+- (void)dealloc;
+
+- (void)setSelectionFrom:(mozilla::a11y::AccessibleOrProxy)startContainer
+ at:(int32_t)startOffset
+ to:(mozilla::a11y::AccessibleOrProxy)endContainer
+ at:(int32_t)endOffset;
+
+- (void)setCaretOffset:(mozilla::a11y::AccessibleOrProxy)container
+ at:(int32_t)offset;
+
+- (NSDictionary*)selectionChangeInfo;
+
+- (void)invalidateSelection;
+
+- (mozilla::a11y::GeckoTextMarkerRange)selection;
+
+// override
+- (id)moxStartTextMarker;
+
+// override
+- (id)moxEndTextMarker;
+
+// override
+- (id)moxSelectedTextMarkerRange;
+
+// override
+- (NSNumber*)moxLengthForTextMarkerRange:(id)textMarkerRange;
+
+// override
+- (NSString*)moxStringForTextMarkerRange:(id)textMarkerRange;
+
+// override
+- (id)moxTextMarkerRangeForUnorderedTextMarkers:(NSArray*)textMarkers;
+
+// override
+- (id)moxStartTextMarkerForTextMarkerRange:(id)textMarkerRange;
+
+// override
+- (id)moxEndTextMarkerForTextMarkerRange:(id)textMarkerRange;
+
+// override
+- (id)moxLeftWordTextMarkerRangeForTextMarker:(id)textMarker;
+
+// override
+- (id)moxRightWordTextMarkerRangeForTextMarker:(id)textMarker;
+
+// override
+- (id)moxLineTextMarkerRangeForTextMarker:(id)textMarker;
+
+// override
+- (id)moxLeftLineTextMarkerRangeForTextMarker:(id)textMarker;
+
+// override
+- (id)moxRightLineTextMarkerRangeForTextMarker:(id)textMarker;
+
+// override
+- (id)moxParagraphTextMarkerRangeForTextMarker:(id)textMarker;
+
+// override
+- (id)moxStyleTextMarkerRangeForTextMarker:(id)textMarker;
+
+// override
+- (id)moxNextTextMarkerForTextMarker:(id)textMarker;
+
+// override
+- (id)moxPreviousTextMarkerForTextMarker:(id)textMarker;
+
+// override
+- (NSAttributedString*)moxAttributedStringForTextMarkerRange:
+ (id)textMarkerRange;
+
+// override
+- (NSValue*)moxBoundsForTextMarkerRange:(id)textMarkerRange;
+
+// override
+- (id)moxUIElementForTextMarker:(id)textMarker;
+
+// override
+- (id)moxTextMarkerRangeForUIElement:(id)element;
+
+// override
+- (NSString*)moxMozDebugDescriptionForTextMarker:(id)textMarker;
+
+// override
+- (void)moxSetSelectedTextMarkerRange:(id)textMarkerRange;
+
+@end
+
+namespace mozilla {
+namespace a11y {
+
+enum AXTextEditType {
+ AXTextEditTypeUnknown,
+ AXTextEditTypeDelete,
+ AXTextEditTypeInsert,
+ AXTextEditTypeTyping,
+ AXTextEditTypeDictation,
+ AXTextEditTypeCut,
+ AXTextEditTypePaste,
+ AXTextEditTypeAttributesChange
+};
+
+enum AXTextStateChangeType {
+ AXTextStateChangeTypeUnknown,
+ AXTextStateChangeTypeEdit,
+ AXTextStateChangeTypeSelectionMove,
+ AXTextStateChangeTypeSelectionExtend
+};
+
+enum AXTextSelectionDirection {
+ AXTextSelectionDirectionUnknown,
+ AXTextSelectionDirectionBeginning,
+ AXTextSelectionDirectionEnd,
+ AXTextSelectionDirectionPrevious,
+ AXTextSelectionDirectionNext,
+ AXTextSelectionDirectionDiscontiguous
+};
+
+enum AXTextSelectionGranularity {
+ AXTextSelectionGranularityUnknown,
+ AXTextSelectionGranularityCharacter,
+ AXTextSelectionGranularityWord,
+ AXTextSelectionGranularityLine,
+ AXTextSelectionGranularitySentence,
+ AXTextSelectionGranularityParagraph,
+ AXTextSelectionGranularityPage,
+ AXTextSelectionGranularityDocument,
+ AXTextSelectionGranularityAll
+};
+}
+}