зеркало из https://github.com/mozilla/gecko-dev.git
156 строки
3.8 KiB
Objective-C
156 строки
3.8 KiB
Objective-C
/* 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"
|
|
|
|
@interface MOXTextMarkerDelegate : NSObject <MOXTextMarkerSupport> {
|
|
mozilla::a11y::Accessible* mGeckoDocAccessible;
|
|
id mSelection;
|
|
id mCaret;
|
|
id mPrevCaret;
|
|
}
|
|
|
|
+ (id)getOrCreateForDoc:(mozilla::a11y::Accessible*)aDoc;
|
|
|
|
+ (void)destroyForDoc:(mozilla::a11y::Accessible*)aDoc;
|
|
|
|
- (id)initWithDoc:(mozilla::a11y::Accessible*)aDoc;
|
|
|
|
- (void)dealloc;
|
|
|
|
- (void)setSelectionFrom:(mozilla::a11y::Accessible*)startContainer
|
|
at:(int32_t)startOffset
|
|
to:(mozilla::a11y::Accessible*)endContainer
|
|
at:(int32_t)endOffset;
|
|
|
|
- (void)setCaretOffset:(mozilla::a11y::Accessible*)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
|
|
};
|
|
}
|
|
}
|