403Webshell
Server IP : 93.86.61.54  /  Your IP : 216.73.216.156
Web Server : Apache/2.4.62 (Ubuntu)
System : Linux rasin.ddns.net 6.8.0-124-generic #124~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 21:05:19 UTC x86_64
User : www-data ( 33)
PHP Version : 8.4.22
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3/dist-packages/orca/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3/dist-packages/orca/__pycache__/mouse_review.cpython-310.pyc
o

S�bGV�@sdZdZdZdZdZdZddlZddlZddlZddl	Z	ddl
mZze�d	d
�ddl
m
Z
dZWnd
ZYddlmZddlmZddlmZddlmZddlmZddlmZddlmZe��Ze��Ze��ZGdd�d�ZGdd�d�ZGdd�d�Ze�ZdS)zMouse review mode.z$Id$z
$Revision$z$Date$z@Copyright (c) 2008 Eitan IsaacsonCopyright (c) 2016 Igalia, S.L.�LGPL�N)�Gdk�Wnckz3.0)rTF�)�debug)�
event_manager)�messages)�orca)�
orca_state)�script_manager)�settings_managerc@sBeZdZdZddd�Zdd�Zd	d
�Zdd�Zd
d�Zdd�Z	dS)�_StringContextz8The textual information associated with an _ItemContext.N�rcCsB||_||_||_||_||_d|_|r|j�|||�|_dSdS)a�Initialize the _StringContext.

        Arguments:
        - string: The human-consumable string
        - obj: The accessible object associated with this string
        - start: The start offset with respect to entire text, if one exists
        - end: The end offset with respect to the entire text, if one exists
        - script: The script associated with the accessible object
        �rrrrN)�_obj�_script�_string�_start�_end�_boundingBox�	utilities�getTextBoundingBox)�self�obj�script�string�start�end�r�3/usr/lib/python3/dist-packages/orca/mouse_review.py�__init__:s�z_StringContext.__init__cCs8|duo|j|jko|j|jko|j|jko|j|jkS�N)rrrr�r�otherrrr�__eq__Ns
�
�
�
�z_StringContext.__eq__cCs�|durdS|jr|jsdS|��}|dkrdS|��}|dkr"dS|d|dkrO|j|jkrO|j�d�}|rO|d||dkrOg|dd��|d�R}|jj�||�|kr[dS|jrf|j��|jvshdSd|j|jf}t�	tj
|d�dS)	�-Returns True if this is a substring of other.NFr��
rz'MOUSE REVIEW: '%s' is substring of '%s'T)r�getBoundingBoxr�countrr�intersection�stripr�println�
LEVEL_INFO)rr#�thisBox�otherBox�thisNewLineCount�msgrrr�
isSubstringOfUs*z_StringContext.isSubstringOfcC�|jS)z>Returns the bounding box associated with this context's range.)r�rrrrr(x�z_StringContext.getBoundingBoxcCr3�z0Returns the string associated with this context.)rr4rrr�	getString}r5z_StringContext.getStringcCs�|jsd}t�tj|d�dS|jsd}t�tj|d�dS|jjj|j|jd�}|jj�	|j�}t
�|j|j|j
t
j�|jj||dd�|j�|jd�dS)�"Presents this context to the user.z2MOUSE REVIEW: Not presenting due to lack of scriptTFz2MOUSE REVIEW: Not presenting due to lack of string)rr)�voice�	interrupt���)rrr,r-r�speechGeneratorr9rr�adjustForRepeatsr	�emitRegionChangedrr�MOUSE_REVIEW�speakMessage�displayBrailleMessage)rr1r9rrrr�present�sz_StringContext.present)Nrrr)
�__name__�
__module__�__qualname__�__doc__r r$r2r(r7rBrrrrr
7s
#r
c@sreZdZdZddd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�ZdS)�_ItemContextz;Holds all the information of the item at a specified point.rNcCsX||_||_||_||_||_||_|��|_t��|_	d|_
|r*|j�|�|_
dSdS)aInitialize the _ItemContext.

        Arguments:
        - x: The X coordinate
        - y: The Y coordinate
        - obj: The accessible object of interest at that coordinate
        - boundary: The accessible-text boundary type
        - frame: The containing accessible object (often a top-level window)
        - script: The script associated with the accessible object
        rN)
�_x�_yr�	_boundary�_framer�_getStringContextr�time�_timerrr()r�x�yr�boundary�framerrrrr �s

�z_ItemContext.__init__cCs,|duo|j|jko|j|jko|j|jkSr!)rKrrr"rrrr$�s
�
�
�z_ItemContext.__eq__cCs�|j|jks|j|jkrd}t�tj|d�dS|��r1|��r1|�|�s1d}t�tj|d�dS|j|jkrI|j|jkrId}t�tj|d�dS|j	|j	}|dkrad|}t�tj|d�dSd}t�tj|d�dS)	Nz0MOUSE REVIEW: Not a duplicate: different objectsTFz1MOUSE REVIEW: Not a duplicate: not a substring ofz6MOUSE REVIEW: Treating as duplicate: mouse didn't moveg�?z,MOUSE REVIEW: Not a duplicate: was %.2fs agoz#MOUSE REVIEW: Treating as duplicate)
rrKrr,r-r7�_isSubstringOfrHrIrN)r�priorr1�intervalrrr�_treatAsDuplicate�s(z_ItemContext._treatAsDuplicatecCs,t�|j�}d|vrdS|j��jsdSdS)N�TextTF)�pyatspi�listInterfacesr�	queryText�characterCount)r�
interfacesrrr�_treatAsSingleObject�sz!_ItemContext._treatAsSingleObjectcCs||jr|jst|j�S|��rt|j|j�S|jjj|j|j|j|jd�\}}}|r4|jj�	|j||�}t|j|j|||�S)z?Returns the _StringContext associated with the specified point.)rQ)
rrr
r]r�textAtPointrHrIrJ�
expandEOCs)rrrrrrrrL�s
�z_ItemContext._getStringContextcs:tjtjtjtjtjtjtjg��fdd�}t�|j	|�S)Ncs|o|���vSr!)�getRole�rO��rolesrr�<lambda>�sz,_ItemContext._getContainer.<locals>.<lambda>)
rX�ROLE_DIALOG�
ROLE_FRAME�ROLE_LAYERED_PANE�	ROLE_MENU�
ROLE_PAGE_TAB�
ROLE_TOOL_BAR�ROLE_WINDOW�findAncestorr)r�isContainerrrbr�
_getContainer�s�z_ItemContext._getContainercCs|j�|j�S)r%)rr2r"rrrrS�sz_ItemContext._isSubstringOfcCr3)z;Returns the accessible object associated with this context.)rr4rrr�	getObject�r5z_ItemContext.getObjectcCs,|j��\}}}}|s|s|jS||||fS)z6Returns the bounding box associated with this context.)rr(r)rrOrP�width�heightrrrr(sz_ItemContext.getBoundingBoxcCs
|j��Sr6)rr7r4rrrr7�
z_ItemContext.getStringcCr3)z.Returns the time associated with this context.)rNr4rrr�getTimer5z_ItemContext.getTimecCs�||ks	|�|�rd}t�tj|d�dS|jr|j|jkp2t�|j|jd|j|jd�dk}|r:|j	�
�|jrN|j|jkrN|j	j|jdddd�|j	j
�|j�rbd}t�tj|d�dS|jr�|j|jkr�|jpq|��}tj|jtjd�|j	j|j|dd	�|j��|jjkr�dS|j	j
�|j�s�dS|j��tjkr�|j��|j	j
�|j�kr�dS|j|jkr�|j��r�dSdS)
r8z-MOUSE REVIEW: Not presenting due to no changeTF��)�alreadyFocused�
inMouseReviewr:z<MOUSE REVIEW: Not presenting object which contains only EOCs)�mode)�priorObjrw)rVrr,r-r�math�sqrtrHrIr�presentationInterruptrK�
presentObjectr�containsOnlyEOCsrnr	r>r?rr7�name�isEditableTextArear`rX�ROLE_TABLE_CELL�
displayedTextrB)rrTr1r:ryrrrrBs:(�
z_ItemContext.present)rrNNNN)rCrDrErFr r$rVr]rLrnrSror(r7rsrBrrrrrG�s

	rGc@s�eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
d�Z	dd�Z
dd�Zd dd�Zd dd�Z
d dd�Zdd�Zdd�Zdd�ZdS)!�
MouseReviewerz(Main class for the mouse-review feature.cCs�t�d�|_t�|_d|_d|_g|_g|_i|_	d|_
ts*d}t�
tj|d�dStj��}z
tj�|�}|��|_Wn#tyPd}t�
tj|d�YdSd}t�
tj|d�YdS|jsod}t�
tj|d�dS|jstdS|��dS)N�enableMouseReviewF�)MOUSE REVIEW ERROR: Wnck is not availableTz.MOUSE REVIEW ERROR: Gtk+ 3.20 is not availablez?MOUSE REVIEW ERROR: Exception getting pointer for default seat.z0MOUSE REVIEW ERROR: No pointer for default seat.)�_settingsManager�
getSetting�_activerG�_currentMouseOver�_pointer�
_workspace�_windows�_all_windows�_handlerIds�inMouseEvent�_mouseReviewCapablerr,r-r�Display�get_default�get_default_seat�get_pointer�AttributeError�activate)rr1�display�seatrrrr @s>
zMouseReviewer.__init__cCs
d|jiS)z8Returns the accessible-event listeners for mouse review.�	mouse:abs)�	_listenerr4rrr�_get_listenersgrrzMouseReviewer._get_listenerscCs�tsd}t�tj|d�dStj}d}d}|rt�|��|�}|r'|j	�
|�}t|||d�|_t
�|���tj��}|rn|��}|rJ|��||_|��|_|jrV|��|�d|j�}||j|<|�d|j�}||j|<d|_dS)zActivates mouse review.r�TN)rrRrzwindow-stacking-changedzactive-workspace-changed)r�rr,r-r
�locusOfFocus�_scriptManager�	getScript�getApplicationr�topLevelObjectrGr��
_eventManager�registerModuleListenersr�r�Screenr��get_windows_stacked�reverser��get_active_workspacer��_update_workspace_windows�connect�_on_stacking_changedr��_on_workspace_changedr�)rr1rrrR�screen�stacked�irrrr�ls6




zMouseReviewer.activatecCsNt�|���|j��D]	\}}|�|�qi|_d|_g|_g|_d|_	dS)zDeactivates mouse review.NF)
r��deregisterModuleListenersr�r��items�
disconnectr�r�r�r�)r�key�valuerrr�
deactivate�s
zMouseReviewer.deactivatecCsRtsdS|js	dS|j��}t��|j��dkr'd|}t�tj|d�dS|S)z-Returns the accessible object being reviewed.Ng�������?z"MOUSE REVIEW: Treating %s as staleT)	r�r�r�rorMrsrr,r-)rrr1rrr�getCurrentItem�s
zMouseReviewer.getCurrentItemNcCs^tsdS|j|_t�d|j�|js|��tj}n|��tj}t	j
r-t	j
�|�dSdS)z!Toggle mouse reviewing on or off.Nr�)r�r�r��
setSettingr�r�MOUSE_REVIEW_DISABLEDr��MOUSE_REVIEW_ENABLEDr
�activeScript�presentMessage)rr�eventr1rrr�toggle�s
�zMouseReviewer.togglecs�fdd��jD��_dS)Ncsg|]
}|��j�r|�qSr)�is_on_workspacer�)�.0�wr4rr�
<listcomp>�s

�z;MouseReviewer._update_workspace_windows.<locals>.<listcomp>)r�r�r4rr4rr��sz'MouseReviewer._update_workspace_windowscCs,|��}|��||_|jr|��dSdS)z3Callback for Wnck's window-stacking-changed signal.N)r�r�r�r�r�)rr�r�rrrr��s�z"MouseReviewer._on_stacking_changedcCs|��|_|��dS)z4Callback for Wnck's active-workspace-changed signal.N)r�r�r�)rr��prev_wsrrrr��s
z#MouseReviewer._on_workspace_changedcCs0|durtj}z
|���|||�WSYdS)NF)rX�DESKTOP_COORDS�queryComponent�contains)rrrOrP�	coordTyperrr�_contains_point�szMouseReviewer._contains_pointcCs>|durtj}z	|���|�}WnYdSt|�t|�kS)z2Returns True if the bounding box of obj is bounds.NF)rXr�r��
getExtents�list)rr�boundsr��extentsrrr�_has_bounds�szMouseReviewer._has_boundscsHd}�jD]/}|��rq|��\}}}}|�kr ||kr4nq|�kr.||kr4nq|}nq|s9dSd}	|��}
|
sCdS|
��}tj�d�D]}|��|krY|}	nqM|	s^dS���fdd�|	D�}
t	|
�dkrs|
dS|�
���fdd�|
D�}t	|�dkr�|dS|�����fdd�|
D�}t	|�dkr�|dSdS)z;Returns the accessible window at the specified coordinates.Nrcsg|]}��|���r|�qSr)r��r��o)�pX�pYrrrr�sz=MouseReviewer._accessible_window_at_point.<locals>.<listcomp>rcsg|]	}|j�kr|�qSr�rr�r�rrr�scsg|]
}��|��r|�qSr)r�r�)�bboxrrrr�s)r��is_minimized�get_geometry�get_application�get_pidrX�Registry�
getDesktop�get_process_id�len�get_name�get_client_window_geometry)rr�r��windowr�rOrPrprq�app�	windowApp�pid�a�
candidates�matchesr)r�rr�r�rr�_accessible_window_at_point�sF
8��z)MouseReviewer._accessible_window_at_pointcCs�|j��\}}}|�||�}d|||f}t�tj|d�|s!dSt�|���}|s,dSdd�}|j	�
tj�r:d}	n&|tj�rCtj}	nz	t
�tj|�}	Wndtj}t�tj|d�d}	Y|j��\}}
}||f|
|fkr�d|
|f}t�tj|d�dS|j	�|	||�p�|j	�|||�}d|||f}t�tj|d�t�|��|�}|	r�|r�t
�||�s�|j	�||	�d	kr�d
||	f}t�tj|d�dS|j	�|�}
|
r�|j	��r�|j	��}||
kr�d||f}t�tj|d�dS|j��\}}
}||f|
|fk�rd|
|f}t�tj|d�dSd}|j��\}}}}||k�r*||k�r6nn
|j���r6t
j}n&||j��k�rBt
j}n|�rR|���t
j��rRt
j}n
|j	�|��r\t
j}t||||||�}|�|j��rq||_dSdS)zCallback for mouse:abs events.z&MOUSE REVIEW: Window at (%i, %i) is %sTNcSs|o|��tjkSr!)r`rXrhrarrrrd,sz/MouseReviewer._on_mouse_moved.<locals>.<lambda>z'ERROR: Exception getting ancestor of %sz+MOUSE REVIEW: Pointer moved again: (%i, %i)z&MOUSE REVIEW: Object at (%i, %i) is %srz(MOUSE REVIEW: %s believed to be under %sz-MOUSE REVIEW: %s is not in active document %s) r��get_positionr�rr,r-r�r�r�r�isDeadr
r�rXrl�descendantAtPoint�intersectingRegion�getTopLevelDocumentForObject�inDocumentContent�activeDocumentr�r(r7�TEXT_BOUNDARY_WORD_STARTro�TEXT_BOUNDARY_LINE_START�getStater��STATE_SELECTABLE�isMultiParagraphObjectrGrB)rr�r�r�r�r�r1r�isMenu�menu�nowX�nowYr�objDocument�documentrQrOrPrprq�newrrr�_on_mouse_moveds|

�
,
�zMouseReviewer._on_mouse_movedcCsvt��}d|j}t�tj|d�|j�d�r"d|_|�|�d|_dt��|}|d|j7}t�tj|d�dS)z2Generic listener, mainly to output debugging info.z$
vvvvv PROCESS OBJECT EVENT %s vvvvvFr�TzTOTAL PROCESSING TIME: %.4f
z$^^^^^ PROCESS OBJECT EVENT %s ^^^^^
N)rM�typerr,r-�
startswithr�r�)rr��	startTimer1rrrr�hs

zMouseReviewer._listener)NNr!)rCrDrErFr r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr�=s ')

	

	
.Jr�)rF�__id__�__version__�__date__�
__copyright__�__license__�girzrXrM�
gi.repositoryr�require_versionrr�rrrrr	r
rr�
getManagerr�r�r�r
rGr��reviewerrrrr�<module>sDa&
>

Youez - 2016 - github.com/yon3zu
LinuXploit