tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

MOXTextMarkerDelegate.h (4646B)


      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/. */
      7 
      8 #import <Cocoa/Cocoa.h>
      9 
     10 #import "MOXAccessibleProtocol.h"
     11 #import "GeckoTextMarker.h"
     12 
     13 @interface MOXTextMarkerDelegate : NSObject <MOXTextMarkerSupport> {
     14  mozilla::a11y::Accessible* mGeckoDocAccessible;
     15  AXTextMarkerRangeRef mSelection;
     16  AXTextMarkerRef mCaret;
     17  AXTextMarkerRef mPrevCaret;
     18  int32_t mCaretMoveGranularity;
     19 }
     20 
     21 + (id)getOrCreateForDoc:(mozilla::a11y::Accessible*)aDoc;
     22 
     23 + (void)destroyForDoc:(mozilla::a11y::Accessible*)aDoc;
     24 
     25 - (id)initWithDoc:(mozilla::a11y::Accessible*)aDoc;
     26 
     27 - (void)dealloc;
     28 
     29 - (void)setSelectionFrom:(mozilla::a11y::Accessible*)startContainer
     30                      at:(int32_t)startOffset
     31                      to:(mozilla::a11y::Accessible*)endContainer
     32                      at:(int32_t)endOffset;
     33 
     34 - (void)setCaretOffset:(mozilla::a11y::Accessible*)container
     35                    at:(int32_t)offset
     36       moveGranularity:(int32_t)granularity;
     37 
     38 - (NSDictionary*)selectionChangeInfo;
     39 
     40 - (void)invalidateSelection;
     41 
     42 - (mozilla::a11y::GeckoTextMarkerRange)selection;
     43 
     44 // override
     45 - (AXTextMarkerRef)moxStartTextMarker;
     46 
     47 // override
     48 - (AXTextMarkerRef)moxEndTextMarker;
     49 
     50 // override
     51 - (AXTextMarkerRangeRef)moxSelectedTextMarkerRange;
     52 
     53 // override
     54 - (NSNumber*)moxLengthForTextMarkerRange:(AXTextMarkerRangeRef)textMarkerRange;
     55 
     56 // override
     57 - (NSString*)moxStringForTextMarkerRange:(AXTextMarkerRangeRef)textMarkerRange;
     58 
     59 // override
     60 - (AXTextMarkerRangeRef)moxTextMarkerRangeForUnorderedTextMarkers:
     61    (NSArray*)textMarkers;
     62 
     63 // override
     64 - (AXTextMarkerRef)moxStartTextMarkerForTextMarkerRange:
     65    (AXTextMarkerRangeRef)textMarkerRange;
     66 
     67 // override
     68 - (AXTextMarkerRef)moxEndTextMarkerForTextMarkerRange:
     69    (AXTextMarkerRangeRef)textMarkerRange;
     70 
     71 // override
     72 - (AXTextMarkerRangeRef)moxLeftWordTextMarkerRangeForTextMarker:
     73    (AXTextMarkerRef)textMarker;
     74 
     75 // override
     76 - (AXTextMarkerRangeRef)moxRightWordTextMarkerRangeForTextMarker:
     77    (AXTextMarkerRef)textMarker;
     78 
     79 // override
     80 - (AXTextMarkerRangeRef)moxLineTextMarkerRangeForTextMarker:
     81    (AXTextMarkerRef)textMarker;
     82 
     83 // override
     84 - (AXTextMarkerRangeRef)moxLeftLineTextMarkerRangeForTextMarker:
     85    (AXTextMarkerRef)textMarker;
     86 
     87 // override
     88 - (AXTextMarkerRangeRef)moxRightLineTextMarkerRangeForTextMarker:
     89    (AXTextMarkerRef)textMarker;
     90 
     91 // override
     92 - (AXTextMarkerRangeRef)moxParagraphTextMarkerRangeForTextMarker:
     93    (AXTextMarkerRef)textMarker;
     94 
     95 // override
     96 - (AXTextMarkerRangeRef)moxStyleTextMarkerRangeForTextMarker:
     97    (AXTextMarkerRef)textMarker;
     98 
     99 // override
    100 - (AXTextMarkerRef)moxNextTextMarkerForTextMarker:(AXTextMarkerRef)textMarker;
    101 
    102 // override
    103 - (AXTextMarkerRef)moxPreviousTextMarkerForTextMarker:
    104    (AXTextMarkerRef)textMarker;
    105 
    106 // override
    107 - (NSAttributedString*)moxAttributedStringForTextMarkerRange:
    108    (AXTextMarkerRangeRef)textMarkerRange;
    109 
    110 // override
    111 - (NSValue*)moxBoundsForTextMarkerRange:(AXTextMarkerRangeRef)textMarkerRange;
    112 
    113 // override
    114 - (id)moxUIElementForTextMarker:(AXTextMarkerRef)textMarker;
    115 
    116 // override
    117 - (AXTextMarkerRangeRef)moxTextMarkerRangeForUIElement:(id)element;
    118 
    119 // override
    120 - (NSString*)moxMozDebugDescriptionForTextMarker:(AXTextMarkerRef)textMarker;
    121 
    122 // override
    123 - (void)moxSetSelectedTextMarkerRange:(AXTextMarkerRangeRef)textMarkerRange;
    124 
    125 @end
    126 
    127 namespace mozilla {
    128 namespace a11y {
    129 
    130 enum AXTextEditType {
    131  AXTextEditTypeUnknown,
    132  AXTextEditTypeDelete,
    133  AXTextEditTypeInsert,
    134  AXTextEditTypeTyping,
    135  AXTextEditTypeDictation,
    136  AXTextEditTypeCut,
    137  AXTextEditTypePaste,
    138  AXTextEditTypeAttributesChange
    139 };
    140 
    141 enum AXTextStateChangeType {
    142  AXTextStateChangeTypeUnknown,
    143  AXTextStateChangeTypeEdit,
    144  AXTextStateChangeTypeSelectionMove,
    145  AXTextStateChangeTypeSelectionExtend
    146 };
    147 
    148 enum AXTextSelectionDirection {
    149  AXTextSelectionDirectionUnknown,
    150  AXTextSelectionDirectionBeginning,
    151  AXTextSelectionDirectionEnd,
    152  AXTextSelectionDirectionPrevious,
    153  AXTextSelectionDirectionNext,
    154  AXTextSelectionDirectionDiscontiguous
    155 };
    156 
    157 enum AXTextSelectionGranularity {
    158  AXTextSelectionGranularityUnknown,
    159  AXTextSelectionGranularityCharacter,
    160  AXTextSelectionGranularityWord,
    161  AXTextSelectionGranularityLine,
    162  AXTextSelectionGranularitySentence,
    163  AXTextSelectionGranularityParagraph,
    164  AXTextSelectionGranularityPage,
    165  AXTextSelectionGranularityDocument,
    166  AXTextSelectionGranularityAll
    167 };
    168 }  // namespace a11y
    169 }  // namespace mozilla