+
    Qi,  c                  s&   R t ^ RIHt RtRtRtRtRt^ RIH	t	H
t
 ^ RIt]P                  ! R	R
4       ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ]
'       d   ^RIHt  ! R R]P<                  4      tR# )5Produces braille presentation for accessible objects.)annotationsz$Id$z
$Revision$z$Date$zrCopyright (c) 2005-2009 Sun Microsystems Inc.Copyright (c) 2010-2011 Orca TeamCopyright (c) 2011-2015 Igalia, S.L.ZLGPL)AnyTYPE_CHECKINGNAtspiz2.0)r   )braille)braille_generator)debug)focus_manager)messages)object_properties)AXObject)AXTable)AXUtilities)scriptc                  s  a  ] tR t^:t$ RtR]R&   ]R 4       tR V 3R llt]R V 3R ll4       t	]R	 V 3R
 ll4       t
]R V 3R ll4       t]R V 3R ll4       t]R V 3R ll4       t]R V 3R ll4       tR V 3R lltR R ltRtV ;t# )BrailleGeneratorr    zscript.Script_scriptc                s   a  V 3R lpV# )zDecorator for logging.c                 s   < S! V / VB pR SP                    R2V.p\        P                  ! \        P                  VR4       V# )zWEB BRAILLE GENERATOR: Z:T)__name__r   print_tokens
LEVEL_INFO)argsZkwargsresulttokensfuncs   *,  G/usr/lib/python3.14/site-packages/orca/scripts/web/braille_generator.pywrapperZ6BrailleGenerator.log_generator_output.<locals>.wrapperD   sF    4*6*F/a@&IFu//>M     )r   r   s   f r   log_generator_outputZ%BrailleGenerator.log_generator_output@   s    	
 r   c                    V ^8  d   QhRRRR/# )   objAtspi.AccessiblereturnZstrr   Zformat   "r   __annotate__BrailleGenerator.__annotate__K   s     < <+; < <r   c                	s   < V P                   P                  P                  V4      '       g   \        SV `  ! V3/ VB # \
        P                  ! VR 4      pV'       d   V# \        SV `  ! V3/ VB # )T)r   	utilitiesin_document_contentsuperget_localized_role_namer   get_role_description)selfr   r   role_description	__class__   &&, r   r)   Z(BrailleGenerator.get_localized_role_nameK   sd    ||%%99#>>723?$??#88dC##w.s;d;;r   c               r   r   r   r    r!   z	list[Any]r   r"   r#   r   r$   r%   V   s     8 8-= 8) 8r   c                sb  < V P                   P                  P                  V4      '       g   \        S
V `  ! V3/ VB # \
        P                  ! VR4      pV'       d   V.# \        P                  P                  \        P                  P                  \        P                  P                  \        P                  P                  \        P                  P                  \        P                  P                  .p\        P                   ! V4      '       g   VP#                  \        P                  P$                  \        P                  P&                  \        P                  P(                  \        P                  P*                  \        P                  P,                  \        P                  P.                  .4       VP1                  R4      e=   VP1                  R4      e*   VP3                  \        P                  P4                  4       . pVP1                  R\
        P6                  ! V4      4      p\        P8                  ! V4      pV'       d)   VP3                  \:        P<                  V,          4       V# V P                   P                  P?                  V4      '       dy   V\@        PB                  ! 4       PE                  4       8X  dQ   \        PF                  ! \
        PH                  ! V4      4      '       d    VP3                  \J        PL                  4       MGWd9  dB   \N        PP                  ! V4      pV'       d   VP3                  V4       M\        S
V `  ! V3/ VB pVP1                  R^ 4      VP1                  R^4      ^,
          8X  d   \        PF                  ! WP1                  R4      4      '       g,   V P                   P                  PS                  V4      '       dJ   \
        PT                  ! V\        PV                  4      p	V	e!   VP#                  V P	                  V	4      4       V# )z)Prevents some roles from being displayed.TstartOffset	endOffsetroleindextotal),r   r&   r'   r(   _generate_accessible_roler   r*   r   RoleZFORMZ	PARAGRAPHSTATICSECTIONZREDUNDANT_OBJECTZUNKNOWNr   Zis_focusableextendZLISTZ	LIST_ITEMZCOLUMN_HEADERZ
ROW_HEADERZ
TABLE_CELLZPANELgetappendZALERTget_roleZget_heading_levelr
   ZROLE_HEADING_LEVEL_BRAILLEis_linkr   Zget_managerZget_locus_of_focusZis_imageZ
get_parentr	   ZIMAGE_MAP_LINKr   Zget_label_for_cell_coordinatesZtreat_as_text_objectfind_ancestorZ
is_heading)r+   r   r   r,   Zdo_not_displayr   r2   ZlevellabelZheadingr-   s   &&,       r   r5   Z*BrailleGenerator._generate_accessible_roleU   s    ||%%99#>>74SADAA#88dC$%%  **//**..**++**,,**55**,,. '',,!!5::??#(::#7#7#(::#;#;#(::#8#8#(::#8#8#(::#3#3#5 6 88M".488K3H3T!!%**"2"23xx 1 1# 67--c2MM+FFNOM<<!!))#..m//1DDFF##H$7$7$<==h556'::3?Ee$:3G$G88GQ488GQ#7!#;;$$S((6*:;;,,((==cBB,,S+2H2HIG"d<<WEFr   c               r   r/   r   r"   r#   r   r$   r%      s     ? ?.> ?9 ?r   c                	s  < V P                   P                  P                  V4      '       g   \        SV `  ! V3/ VB # V P                   P                  P                  V4      w  r4V'       d   V.# \        SV `  ! V3/ VB # N)r   r&   r'   r(   _generate_accessible_labelZinfer_label_for)r+   r   r   r?   Z_objectsr-   s   &&,  r   rA   Z+BrailleGenerator._generate_accessible_label   sn    ||%%99#>>75cBTBB,,00@@E7Nw1#>>>r   c               r   r/   r   r"   r#   r   r$   r%      s      H H7G HT] Hr   c                	sP  < V P                   P                  P                  V4      '       g   \        SV `  ! V3/ VB # V P                   P                  P                  V4      '       d   . # \        P                  ! V4      '       d.   \        P                  ! V\        P                  4      '       d   . # VP                  R \        P                  ! V4      4      pV\        P                  P                  8X  d   \        P                   ! V4      '       d   . # \        SV `  ! V3/ VB # )r2   )r   r&   r'   r(   #_generate_accessible_label_and_nameZis_text_block_elementr   Zis_editabler   r>   Zis_coder:   r<   r   r6   ZLABELZsupports_text)r+   r   r   r2   r-   r.   r   rB   Z4BrailleGenerator._generate_accessible_label_and_name   s    ||%%99#>>7>sKdKK<<!!77<<I""3''H,B,B3H[H[,\,\Ixx 1 1# 675::###(>(>s(C(CIw:3G$GGr   c               r   r/   r   r"   r#   r   r$   r%      s      E E4D EQZ Er   c                	s   < V P                   P                  P                  V4      '       g   \        SV `  ! V3/ VB # V P                  V4      '       d   . # \        SV `  ! V3/ VB # r@   )r   r&   r'   r(    _generate_accessible_description_prefer_description_over_name)r+   r   r   r-   s   &&,r   rC   Z1BrailleGenerator._generate_accessible_description   s`    ||%%99#>>7;CH4HH --c22Iw7DtDDr   c               r   r/   r   r"   r#   r   r$   r%      s      -= ) r   c                	sR  < V P                   P                  P                  V4      '       g   \        SV `  ! V3/ VB # \
        P                  ! V4      P                  R 4      pV'       d   V.# V P                  V4      '       d   \
        P                  ! V4      .# \
        P                  ! V4      '       d.   V P                   P                  P                  V4      '       g   . # \        SV `  ! V3/ VB pV'       dH   V^ ,          '       d9   \        P                  ! V4      '       g   V^ ,          P                  4       V^ &   V# V'       g[   \        P                  ! V4      '       d?   \
        P                   ! V\        P"                  4      pV'       d   \        SV `  ! V3/ VB # V# )Zbraillelabel)r   r&   r'   r(   _generate_accessible_namer   Zget_attributes_dictr:   rD   Zget_descriptionZget_nameZhas_valid_namer   Zhas_explicit_nameZstripZis_check_boxr>   Zis_grid_cell)r+   r   r   Zbraille_labelr   Z	grid_cellr-      &&,   r   rE   Z*BrailleGenerator._generate_accessible_name   sE   ||%%99#>>74SADAA 44S9==nM!?" --c22,,S122S!!$,,*@*@*O*OPS*T*TI23?$?fQii(E(Ec(J(Jq	)F1I  K44S99 ..sK4L4LMIw8KdKKr   c               r   r/   r   r"   r#   r   r$   r%      s     	8 	8	8 
		8r   c                	s   < V P                   P                  P                  V4      '       g   \        SV `  ! V3/ VB # V P                   P                  P                  V4      pV P                  ! V3/ VB # r@   )r   r&   r'   r(   /_generate_real_active_descendant_displayed_textZactive_descendantZ_generate_text_content)r+   r   r   Zradr-   r.   r   rG   Z@BrailleGenerator._generate_real_active_descendant_displayed_text   sf     ||%%99#>>7J3WRVWWll$$66s;**37$77r   c               r   r/   r   r"   r#   r   r$   r%      s      $4  r   c                	sZ  < V P                   P                  P                  V4      '       g=   R VR.p\        P                  ! \        P
                  VR4       \        SV `  ! V3/ VB # RW.p\        P                  ! \        P
                  VRR4       . pV P                   P                  P                  V4      '       * VR&   V P                   P                  P                  V4      '       g,   V P                   P                  P                  V4      '       d   \        P                  P                  VR&   MV P                   P                  P                  V4      '       d   \        P                  P                  VR&   MV P                   P                  P                  V4      '       d   \        P                  P                   VR&   MXV P                   P                  P#                  WP%                  R4      R7      '       d   \        P                  P&                  VR&   \(        P*                  ! V4      '       dL   \,        P.                  ! V\(        P0                  4      pV'       d   \(        P2                  ! V4      '       g   TpVP5                  \        SV `  ! V3/ VB 4       VR V# )zWEB:z>is not in document content. Calling default braille generator.Tz+WEB: Generating braille for document objectZincludeContextr2   r0   )offset)r   r&   r'   r   r   r   r(   generate_brailleZis_clickable_elementr=   r   r6   ZLINKZis_custom_imageZIMAGEZ	is_anchorr7   Ztreat_as_divr:   r8   r   Zis_menu_itemr   r>   Zis_combo_boxZis_expandedr9   )r+   r   r   r   r   Z	combo_boxr-   rF   r   rI   Z!BrailleGenerator.generate_braille   s   ||%%99#>>c#cdFu//>7+C8488?K5++VT4@%)\\%;%;%O%OPS%T!T<<!!66s;;t||?U?U?]?]^a?b?b ::??DL\\##33C88 ::++DL\\##--c22 ::,,DL\\##00XXm=T0UU ::--DL##C(( ..sK4L4LMI!8!8!C!Ceg.s;d;<!"r   c               r   )r   contentsz,list[tuple[Atspi.Accessible, int, int, str]]r!   z/tuple[list[list[Any]], Atspi.Accessible | None]r   r"   r#   r   r$   r%      s     (& (&>(& 
9	(&r   c                	s\   V'       g   . R 3# . pV P                   P                  P                  VR4      pVP                  R4      pV P                   P                  P	                  VR7      w  rVV P                   P                  P                  WVV4      pR pR p	\        V4       EF  w  rVw  rrV P                  WWVV
\        V4      R7      w  ppV'       g   K7  W8X  d   Tp	V'       d   V'       d   R;ppVP                  '       d   VP                  R,          pV^ ,          P                  '       d   V^ ,          P                  ^ ,          pV P                  VV4      '       d'   VP                  ^ \        P                  ! R4      4       VR,          pVP                  V4       EK  	  W93# )NTZdocumentFrame)document)r0   r1   ZcaretOffsetstringr3   r4    Z i)r   r&   Z filter_contents_for_presentationr:   Zget_caret_contextZfind_object_in_contentsZ	enumeraterI   ZlenrL   Z_needs_separatorZinsertr   ZRegionr;   )r+   rJ   r   r   rK   r   rH   r3   Zlast_regionZfocused_regionZiZcontentZaccZstartZendrL   ZregionsZf_regionZ	last_charZ	next_chars   &&,                 r   generate_contentsZ"BrailleGenerator.generate_contents   sv   
 t8O<<))JJ8UYZ88O,ll,,>>>Q&&>>sHU#H-JA&-#C $ 5 5#RXs8} !6 !.GX z!)w(**	I%%% + 2 22 6I1:$$$ '
 1 1! 4I((I>>NN1gnnS&9:!"+KMM'"+ .. %%r   r   )r   Z
__module__Z__qualname__Z__firstlineno____doc__Z__annotations__Zstaticmethodr   r)   r5   rA   rB   rC   rE   rG   rI   rN   Z__static_attributes__Z__classcell__)r-   s   @r   r   r   :   s    ?  < < 8 8t ? ? H H  E E  2 	8 	8 :(& (&r   r   )rO   Z
__future__r   Z__id__Z__version__Z__date__Z__copyright__Z__license__Ztypingr   r   ZgiZrequire_versionZgi.repositoryr   Zorcar   r   r   r   r	   r
   Zorca.ax_objectr   Zorca.ax_tabler   Zorca.ax_utilitiesr   rM   r   r   r   r   r   <module>rP      s{   2 < #7  % 	   7E "   "    " # ! )h&(99 h&r   