U
    ÍZjšQ  ã                   @   sº   d Z ddlZddlZddlZddlmZ ddlmZ g Zg Ze	ƒ Z
i Zdd„ Zdd„ Zd"d
d„Zd#dd„Zdd„ Zdd„ Zd$dd„Zdd„ Zdd„ Zd%dd„Zdd„ Zdd„ Zd d!„ ZdS )&a–  
PyGTK compatibility layer.

This modules goes a little bit longer to maintain PyGTK compatibility than
the normal overrides system.

It is recommended to not depend on this layer, but only use it as an
intermediate step when porting your application to PyGI.

Compatibility might never be 100%, but the aim is to make it possible to run
a well behaved PyGTK application mostly unmodified on top of PyGI.

é    N©ÚGObject)Ú_compatc                 C   s,   t | |tƒ}t| ||ƒ t | ||f¡ d S ©N)ÚgetattrÚ_unsetÚsetattrÚ_patchesÚappend)ÚobjÚnameÚ	new_valueÚ	old_value© r   úZ/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/site-packages/pygtkcompat/pygtkcompat.pyÚ_patch1   s    r   c                 C   s*   t j | t¡}|t j| < t | |f¡ d S r   )ÚsysÚmodulesÚgetr   Ú_module_patchesr
   )r   r   r   r   r   r   Ú_patch_module7   s    
r   Ú c           
   
   C   sZ  |d kr| }|j  dd¡d  ¡ }t| ƒD �](}zt| |d ƒ}W n   Y q*Y nX zdt|tjƒr´|j 	¡ D ]H\}}|j
}| |d d¡}|r¦| |¡r¦|t|ƒd … }t|||ƒ qjW n tk
rÎ   Y q*Y nX zht|tjƒ�r6|j 	¡ D ]J\}}	z|	jd  |d d¡}W n tk
�r&   Y qêY nX t|||	ƒ qêW q* tk
�rR   Y q*Y q*X q*d S )NÚ.é   Ú_r   éÿÿÿÿ)Ú__name__ÚrsplitÚupperÚdirr   Ú
issubclassr   ZGEnumZ__enum_values__ÚitemsZ
value_nameÚreplaceÚ
startswithÚlenr   Ú	TypeErrorZGFlagsZ__flags_values__Zvalue_namesÚ
IndexError)
ÚmoduleÚdestÚstripÚmodnameÚattrr   ÚvalueÚenumr   Úflagr   r   r   Ú_install_enums=   s8    


r/   c                 C   s<   | t kr,t |  }||kr(td| |f ƒ‚dS |t | < dS dS )z*Returns True in case it is already enabledz.%r already enabled with different version (%r)TFN)Ú_enabled_registryÚ
ValueError)r   ÚversionZenabled_versionr   r   r   Ú_check_enabled^   s     ÿÿr3   c                  C   sh   t dƒrd S ddlm}  td| ƒ ddlm} td|ƒ ddlm} td|ƒ dd	lm} td
|ƒ d S )Nr   r   )ÚGLibZglibr   Zgobject)Ú_propertyhelperzgobject.propertyhelper)ÚGioZgio)r3   Úgi.repositoryr4   r   r   Úgir5   r6   )r4   r   r5   r6   r   r   r   Úenablem   s    


r9   c                  C   s¶   t  ¡  ttƒD ]D\} }}|tkr.t| |ƒ qt| |ƒ t| |tƒ|k	rt| ||ƒ qtdd…= ttƒD ]$\}}|tkr‚t	j
|= qh|t	j
|< qhtdd…= t t	¡ tjr²t	 d¡ dS )zfReverse all effects of the enable_xxx() calls except for
    require_version() calls and imports.
    NÚascii)r0   ÚclearÚreversedr	   r   Údelattrr   r   r   r   r   r   ÚreloadÚPY2Úsetdefaultencoding)r   r   r   r   r   r   Ú_disable_all€   s     




rA   ú3.0c           #         s’  t d| ƒrd S | dkrtdƒ‚t t¡ tjr8t d¡ t dd¡ ddl	m
} td	|ƒ t|ƒ t d
d¡ ddl	m} td|ƒ t|ƒ t dd¡ ddl	m} td|ƒ t d| ¡ t dd¡ ddl	m‰ ddl	m} tdˆƒ tˆƒ t|ˆd� tˆddƒ tˆddƒ tˆdˆjjƒ tˆd|jƒ tˆd|jjƒ tˆd|jjƒ tˆd|jjƒ tˆd |jjƒ tˆd!|jjƒ tˆd"|jjƒ tˆd#|jjƒ tˆd$|jjƒ tˆd%|jjƒ tˆd&|jjƒ |jj ‰‡fd'd(„}tˆd)|ƒ ˆj!j"‰‡fd*d+„}tˆj!d,|ƒ tˆd-ˆjj#ƒ tˆd.ˆjj$ƒ ˆj!j%‰
‡
fd/d0„}tˆj!d1|ƒ t d2| ¡ dd3l	m&‰ tdˆƒ tˆd4ˆƒ tˆd5d6ƒ tˆd7ˆj'ˆj(ˆj)fƒ tˆƒ d8d9„ }tˆj*d:t+|ƒƒ ˆj,‰G ‡fd;d<„d<ˆƒ}	tˆd<|	ƒ ˆj-j.‰dž‡fd>d?„	}
tˆj-d@|
ƒ ˆj-j/‰dŸ‡fdAdB„	}tˆj-dC|ƒ ˆj0j.‰d ‡fdDdE„	}tˆj0d@|ƒ ˆj0j/‰d¡‡fdFdG„	}tˆj0dC|ƒ ˆj1j.‰d¢‡fdHdI„	}tˆj1d@|ƒ ˆj1j/‰d£‡fdJdK„	}tˆj1dC|ƒ ˆj1j2‰t3f‡fdLdM„	}tˆj1dN|ƒ G dOdP„ dPˆj4ƒ}tˆdP|ƒ ˆj5j6‰	t3f‡	fdQdR„	}tˆj5dS|ƒ G ‡fdTdU„dUˆj5ƒ}tˆdU|ƒ ‡fdVdW„}tˆdX|ƒ ‡fdYdZ„}tˆd[|ƒ d\d]„ }tˆj7d^t+|ƒƒ ‡fd_d`„}tˆda|ƒ dbdc„ }tˆj5dd|ƒ tˆdeˆj8j9ƒ tˆdfˆj:jƒ tˆdgˆj;j<ƒ tˆdhˆj;j=ƒ tˆdiˆj;j>ƒ tˆdjˆj;j?ƒ tˆdkˆj;jƒ tˆdlˆj@jƒ tˆdmˆj!jAƒ tˆdnˆjBjCƒ tˆjDdoˆjDjEƒ tˆdpˆjFjGƒ tˆjFdqˆjFjHƒ ˆjI‰ˆjJ‰G ‡fdrds„dsˆƒ}tˆds|ƒ G ‡fdtdu„duˆƒ}tˆdu|ƒ tˆdvdwdx„ ƒ tˆjKdytLˆjKjMdz�ƒ tˆd{ˆjKjNƒ ˆjKjO‰‡fd|d}„}tˆjKd~|ƒ tˆjKdˆjKjPƒ G ‡fd€d�„d�tQƒ‰ G ‡ ‡fd‚dƒ„dƒtQƒ‰G ‡fd„d…„d…tQƒ}tˆjKd†|ƒ ƒ ˆjRjS‰d¤‡fd‰dŠ„	}tˆjRd‹|ƒ ˆj!jT‰d¥‡‡fdŽd�„	}tˆj!d�|ƒ tˆd‘ˆj!jUƒ tˆd’ˆj!jVƒ G d“d”„ d”tQƒ}|ƒ } td•| ƒ tW X¡ �  tWjYd–tZd—� dd˜l[m\}! W 5 Q R X td™|!ƒ tˆdš|!ƒ d›dœl]m^}" tˆd�|"j_ƒ d S )¦NZgtkz4.0zversion 4.0 not supportedzutf-8ÚAtkú1.0r   )rC   ZatkÚPango)rE   ZpangoÚ
PangoCairo)rF   Z
pangocairoÚGdkÚ	GdkPixbufú2.0©rG   )rH   zgtk.gdk©r(   Z_2BUTTON_PRESSé   ZBUTTON_PRESSé   Zscreen_get_defaultÚPixbufÚPixbufLoaderZpixbuf_new_from_dataZpixbuf_new_from_fileZpixbuf_new_from_file_at_scaleZpixbuf_new_from_file_at_sizeZpixbuf_new_from_inlineZpixbuf_new_from_streamZpixbuf_new_from_stream_at_scaleZpixbuf_new_from_xpm_dataZpixbuf_get_file_infoc                     s.   ˆ ƒ } g }dd„ }| D ]}|  ||ƒ¡ q|S )Nc                 S   s8   i }|   ¡ |d< |  ¡ |d< |  ¡ |d< |  ¡ |d< |S )NÚdescriptionr   Z
mime_typesÚ
extensions)Úget_descriptionÚget_nameZget_mime_typesZget_extensions)Úformat_Úresultr   r   r   Ú	make_dictØ   s    z2enable_gtk.<locals>.get_formats.<locals>.make_dict)r
   )ÚformatsrU   rV   rT   )Úorig_get_formatsr   r   Úget_formatsÔ   s    zenable_gtk.<locals>.get_formatsZpixbuf_get_formatsc                    s   ˆ | ƒdd … S )Nr   r   ©Úself)Úorig_get_originr   r   Ú
get_originè   s    zenable_gtk.<locals>.get_originr]   Zscreen_widthZscreen_heightc                    s   ˆ | ƒ|   ¡  ¡ f S r   )Z
get_visualZget_best_depth)Úwindow)Úorig_gdk_window_get_geometryr   r   Úgdk_window_get_geometryñ   s    z+enable_gtk.<locals>.gdk_window_get_geometryÚget_geometryÚGtk©rb   ZgdkZpygtk_version)é   éc   r   Zgtk_versionc                 S   s   t jdtjdd� d S )Nz%set_tool_item_type() is not supportedrd   ©Ú
stacklevel©ÚwarningsÚwarnr8   ZPyGIDeprecationWarning)Z
menuactionÚgtyper   r   r   Úset_tool_item_type  s     ÿz&enable_gtk.<locals>.set_tool_item_typerl   c                       s   e Zd Zd‡ fdd„	ZdS )zenable_gtk.<locals>.Alignmentç        c                    s.   ˆ   | ¡ || j_|| j_|| j_|| j_d S r   )Ú__init__ÚpropsÚxalignÚyalignÚxscaleÚyscale)r[   rp   rq   rr   rs   ©Úorig_Alignmentr   r   rn     s
    
z&enable_gtk.<locals>.Alignment.__init__N)rm   rm   rm   rm   ©r   Ú
__module__Ú__qualname__rn   r   rt   r   r   Ú	Alignment  s   ry   Tc                    s   ˆ | ||||ƒ d S r   r   ©r[   ÚchildÚexpandÚfillÚpadding)Úorig_pack_endr   r   Úpack_end  s    zenable_gtk.<locals>.pack_endr€   c                    s   ˆ | ||||ƒ d S r   r   rz   )Úorig_pack_startr   r   Ú
pack_start!  s    zenable_gtk.<locals>.pack_startr‚   c                    s   ˆ | ||ƒ d S r   r   ©r[   Úcellr|   )Úorig_tree_view_column_pack_endr   r   Útree_view_column_pack_end)  s    z-enable_gtk.<locals>.tree_view_column_pack_endc                    s   ˆ | ||ƒ d S r   r   rƒ   )Ú orig_tree_view_column_pack_startr   r   Útree_view_column_pack_start/  s    z/enable_gtk.<locals>.tree_view_column_pack_startc                    s   ˆ | ||ƒ d S r   r   rƒ   )Úorig_cell_pack_endr   r   Úcell_pack_end7  s    z!enable_gtk.<locals>.cell_pack_endc                    s   ˆ | ||ƒ d S r   r   rƒ   )Úorig_cell_pack_startr   r   Úcell_pack_start=  s    z#enable_gtk.<locals>.cell_pack_startc                    s   ‡ fdd„}ˆ| |||ƒ d S )Nc                     s    | d t kr| d d… } ˆ | Ž S ©Nr   ©r   ©Úargs©Úfuncr   r   ÚcallbackD  s    z8enable_gtk.<locals>.set_cell_data_func.<locals>.callbackr   )r[   r„   r’   Ú	user_datar“   )Úorig_set_cell_data_funcr‘   r   Úset_cell_data_funcC  s    z&enable_gtk.<locals>.set_cell_data_funcr–   c                   @   s   e Zd ZdS )z'enable_gtk.<locals>.GenericCellRendererN©r   rw   rx   r   r   r   r   ÚGenericCellRendererM  s   r˜   c                    s   ‡ fdd„}ˆ| ||ƒ d S )Nc                     s    | d t kr| d d… } ˆ | Ž S r�   rŽ   r�   r‘   r   r   r“   V  s    z>enable_gtk.<locals>.combo_row_separator_func.<locals>.callbackr   )r[   r’   r”   r“   )Úorig_combo_row_separator_funcr‘   r   Úcombo_row_separator_funcU  s    z,enable_gtk.<locals>.combo_row_separator_funcÚset_row_separator_funcc                       s(   e Zd Z‡ fdd„Zdd„ Zdd„ ZdS )z!enable_gtk.<locals>.ComboBoxEntryc                    s   ˆ j j| fddi|—Ž d S )NZ	has_entryT)ÚComboBoxrn   )r[   Úkwdsrc   r   r   rn   `  s    z*enable_gtk.<locals>.ComboBoxEntry.__init__c                 S   s   |   |¡ d S r   )Úset_entry_text_column)r[   Ztext_columnr   r   r   Úset_text_columnc  s    z1enable_gtk.<locals>.ComboBoxEntry.set_text_columnc                 S   s   |   ¡ S r   )Zget_entry_text_columnrZ   r   r   r   Úget_text_columnf  s    z1enable_gtk.<locals>.ComboBoxEntry.get_text_columnN)r   rw   rx   rn   rŸ   r    r   rc   r   r   ÚComboBoxEntry_  s   r¡   c                      s   ˆ   ¡ S r   ©r¡   r   rc   r   r   Úcombo_box_entry_newj  s    z'enable_gtk.<locals>.combo_box_entry_newr£   c                    s   ˆ j | d�S )N©Úmodelr¢   r¤   rc   r   r   Úcombo_box_entry_new_with_modeln  s    z2enable_gtk.<locals>.combo_box_entry_new_with_modelr¦   c                 S   s   t jdtjdd� d S )Nz)install_child_property() is not supportedrd   rf   rh   )Ú	containerr.   Zpspecr   r   r   Úinstall_child_propertyt  s     ÿz*enable_gtk.<locals>.install_child_propertyr¨   c                     s*   ˆ   ¡ } ˆ  t¡}|  |¡ |  d¡ | S )Nr   )rœ   Z	ListStoreÚstrZ	set_modelrž   )Zcombor¥   rc   r   r   Únew_texty  s
    


zenable_gtk.<locals>.new_textZcombo_box_new_textc                 S   s   |   ¡ }| |g¡ d S r   )Z	get_modelr
   )r[   Útextr¥   r   r   r   Úappend_text�  s    zenable_gtk.<locals>.append_textr¬   Zexpander_new_with_mnemonicZicon_theme_get_defaultZimage_new_from_pixbufZimage_new_from_stockZimage_new_from_animationZimage_new_from_icon_setZimage_new_from_fileZsettings_get_defaultZwindow_set_default_iconZclipboard_getZconnect_groupZstatus_icon_position_menuZset_tooltipc                       s   e Zd Zd‡ fdd„	ZdS )zenable_gtk.<locals>.HScaleNc                    s   ˆ j | |d� d S ©N)Ú
adjustment©rn   ©r[   r®   ©Úorig_HScaler   r   rn   �  s    z#enable_gtk.<locals>.HScale.__init__)Nrv   r   r±   r   r   ÚHScaleœ  s   r³   c                       s   e Zd Zd‡ fdd„	ZdS )zenable_gtk.<locals>.VScaleNc                    s   ˆ j | |d� d S r­   r¯   r°   ©Úorig_VScaler   r   rn   ¢  s    z#enable_gtk.<locals>.VScale.__init__)Nrv   r   r´   r   r   ÚVScale¡  s   r¶   Z	stock_addc                 S   s   d S r   r   )r!   r   r   r   Ú<lambda>¦  ó    zenable_gtk.<locals>.<lambda>r^   )ÚfgetZwidget_get_default_directionc                    s   G dd„ dt jƒ}|ˆ | ƒƒS )Nc                   @   s   e Zd Zdd„ ZdS )z5enable_gtk.<locals>.size_request.<locals>.SizeRequestc                 S   s*   |j | _ |j| _tj | | j| j g¡ d S r   )ÚheightÚwidthr   ÚUserListrn   )r[   Úreqr   r   r   rn   ±  s    z>enable_gtk.<locals>.size_request.<locals>.SizeRequest.__init__Nrv   r   r   r   r   ÚSizeRequest°  s   r¾   )r   r¼   )Úwidgetr¾   )Úorig_size_requestr   r   Úsize_request¯  s    z enable_gtk.<locals>.size_requestrÁ   Zhide_allc                       s    e Zd Zdd„ Z‡ fdd„ZdS )zenable_gtk.<locals>.BaseGetterc                 S   s
   || _ d S r   )Úcontext)r[   rÂ   r   r   r   rn   º  s    z'enable_gtk.<locals>.BaseGetter.__init__c                    s:   | j  |¡}ˆ jt|jd ƒt|jd ƒt|jd ƒd�S )Niÿÿ  ©ÚredÚgreenÚblue)rÂ   Zget_background_colorÚColorÚintrÄ   rÅ   rÆ   )r[   ÚstateÚcolorrJ   r   r   Ú__getitem__½  s
    þz*enable_gtk.<locals>.BaseGetter.__getitem__N)r   rw   rx   rn   rË   r   rJ   r   r   Ú
BaseGetter¹  s   rÌ   c                       s   e Zd Z‡ ‡fdd„ZdS )zenable_gtk.<locals>.Stylesc                    s(   |  ¡ }ˆ |ƒ| _ˆjdddd�| _d S )Nr   rÃ   )Zget_style_contextÚbaserÇ   Úblack)r[   r¿   rÂ   ©rÌ   rG   r   r   rn   Ä  s    
z#enable_gtk.<locals>.Styles.__init__Nrv   r   rÏ   r   r   ÚStylesÃ  s   rÐ   c                       s   e Zd Z‡ fdd„ZdS )z#enable_gtk.<locals>.StyleDescriptorc                    s   ˆ |ƒS r   r   )r[   ÚinstanceÚclass_©rÐ   r   r   Ú__get__Ê  s    z+enable_gtk.<locals>.StyleDescriptor.__get__N)r   rw   rx   rÔ   r   rÓ   r   r   ÚStyleDescriptorÉ  s   rÕ   ÚstyleFç      à?c                    s   ˆ | |||||ƒS r   r   )r[   ÚmarkZwithin_marginZ	use_alignrp   rq   )Úorig_text_view_scroll_to_markr   r   Útext_view_scroll_to_markÒ  s
      ÿz,enable_gtk.<locals>.text_view_scroll_to_markÚscroll_to_markr   ç      ð¿c                    s6  ˆ   ¡ }ˆ  d¡}|dks"|dkrFt|dƒ|_t|dƒ|_|ˆ jjO }|dksV|dkrzt|dƒ|_t|dƒ|_|ˆ jjO }|dksŠ|dkr®t|dƒ|_	t|dƒ|_
|ˆ jjO }|dks¾|	dkrât|dƒ|_t|	dƒ|_|ˆ jjO }|
dksô|dk�r(|
dk�s|dk�rtdƒ‚|
|_||_|ˆ jjO }ˆ| |||ƒS )Nr   rm   zaspect ratios must be positive)ZGeometryZWindowHintsÚmaxÚ	min_widthÚ
min_heightZMIN_SIZEÚ	max_widthÚ
max_heightZMAX_SIZEÚ
base_widthÚbase_heightZ	BASE_SIZEÚ	width_incÚ
height_incZ
RESIZE_INCr%   Ú
min_aspectÚ
max_aspectZASPECT)r[   Zgeometry_widgetrÞ   rß   rà   rá   râ   rã   rä   rå   ræ   rç   ZgeometryZ	geom_mask)rG   Úorig_set_geometry_hintsr   r   Úset_geometry_hintsÜ  s2    
z&enable_gtk.<locals>.set_geometry_hintsré   Zwindow_list_toplevelsZwindow_set_default_icon_namec                   @   s   e Zd ZdS )zenable_gtk.<locals>.UnixPrintNr—   r   r   r   r   Ú	UnixPrint  s   rê   ZgtkunixprintÚignore)Úcategory)Úkeysymszgtk.keysymsrí   r   )ÚgenerictreemodelÚGenericTreeModel)TTr   )TTr   )T)T)T)T)Fr×   r×   )Nr   r   r   r   r   r   r   r   rÜ   rÜ   )`r3   r1   r   r>   r   r?   r@   r8   Úrequire_versionr7   rC   r   r/   rE   rF   rG   rH   r   ÚScreenÚget_defaultrN   rO   Znew_with_typeZnew_from_dataZnew_from_fileZnew_from_file_at_scaleZnew_from_file_at_sizeZnew_from_inlineZnew_from_streamZnew_from_stream_at_scaleZnew_from_xpm_dataZget_file_inforY   ZWindowr]   r»   rº   ra   rb   ZMAJOR_VERSIONZMINOR_VERSIONZMICRO_VERSIONÚActionÚclassmethodry   ÚBoxr€   r‚   ZTreeViewColumnZ
CellLayoutr–   r   ZCellRendererrœ   r›   Ú	ContainerZExpanderZnew_with_mnemonicZ	IconThemeÚImageZnew_from_pixbufZnew_from_stockZnew_from_animationZnew_from_icon_setZSettingsZset_default_iconZ	Clipboardr   Z
AccelGroupÚconnectZ
StatusIconZposition_menuZset_tooltip_textr³   r¶   ZWidgetÚpropertyZ
get_windowZget_default_directionrÁ   ZhideÚobjectZTextViewrÛ   ré   Zlist_toplevelsZset_default_icon_nameri   Úcatch_warningsÚsimplefilterÚRuntimeWarningZgi.overridesrí   r   rî   rï   )#r2   rC   rE   rF   rH   rY   r]   r`   rl   ry   r€   r‚   r†   rˆ   rŠ   rŒ   r–   r˜   rš   r¡   r£   r¦   r¨   rª   r¬   r³   r¶   rÁ   rÕ   rÚ   ré   rê   Z	unixprintrí   rî   r   )rÌ   rG   rb   rÐ   ru   r²   rµ   r‰   r‹   r™   r_   rX   r\   r   r�   r•   rè   rÀ   rÙ   r…   r‡   r   Ú
enable_gtk�   sJ   








þ	
     ÿ                  ý&


rþ   c                  C   s2   t dƒrd S t dd¡ ddlm}  td| ƒ d S )NZvteÚVtez0.0r   ©rÿ   )r3   r8   rð   r7   rÿ   r   r   r   r   r   Ú
enable_vte  s
    r  c                  C   s>   t dƒrd S t dd¡ ddlm}  td| ƒ t| ddƒ d S )NZpopplerÚPopplerz0.18r   ©r  Zpypoppler_version)r   r   r   )r3   r8   rð   r7   r  r   r   r  r   r   r   Úenable_poppler#  s    
r  rD   c                 C   sF   t d| ƒrd S t d| ¡ ddlm} td|ƒ t|jd|jjƒ d S )NZwebkitÚWebKitr   )r  Zget_web_inspector)	r3   r8   rð   r7   r  r   r   ZWebViewZget_inspector)r2   r  r   r   r   Úenable_webkit.  s    

r  c                  C   s2   t dƒrd S t dd¡ ddlm}  td| ƒ d S )NZgudevÚGUdevrD   r   ©r  )r3   r8   rð   r7   r  r   r  r   r   r   Úenable_gudev9  s
    r	  c                  C   sn  t dƒrd S t dd¡ ddlm}  td| ƒ t| ƒ t| d| jj	ƒ t| d| j
jƒ t| d| jjƒ t| d	| jjƒ t| d
dd„ ƒ t| ddd„ ƒ ddlm} td|ƒ t|ƒ ddlm} td|ƒ t|ƒ ddlm} td|ƒ t|ƒ ddlm} td|ƒ t|ƒ t| d|jƒ t| d|jƒ ddlm} td|ƒ t|| d� ddlm} td|ƒ t|ƒ d S )NÚgstÚGstz0.10r   )r  Zregistry_get_defaultZelement_registerZelement_factory_makeZcaps_new_anyZget_pygst_versionc                   S   s   dS )N)r   é
   é   r   r   r   r   r   r·   O  r¸   zenable_gst.<locals>.<lambda>Zget_gst_versionc                   S   s   dS )N)r   r  é(   r   r   r   r   r   r·   P  r¸   )ÚGstInterfaceszgst.interfaces)ÚGstAudioz	gst.audio)ÚGstVideoz	gst.video)ÚGstBasezgst.baseÚBaseTransformÚBaseSink)ÚGstControllerzgst.controllerrK   )Ú
GstPbutilszgst.pbutils)r3   r8   rð   r7   r  r   r/   r   ZRegistryrò   ZElementÚregisterZElementFactoryÚmakeZCapsZnew_anyr  r  r  r  r  r  r  r  )r  r  r  r  r  r  r  r   r   r   Ú
enable_gstB  s@    






r  c                  C   s„   t dƒrd S t dd¡ ddlm}  td| ƒ t| dd� t| d| jƒ t| d	| j	ƒ t| d
| j
ƒ t| d| jƒ t| d| jƒ d S )NZ	goocanvasÚ	GooCanvasrI   r   ©r  ZGOO_CANVAS_)r)   Z
ItemSimpleZItemr÷   ÚGroupZRect)r3   r8   rð   r7   r  r   r/   r   ZCanvasItemSimpleZ
CanvasItemZCanvasImageZCanvasGroupZ
CanvasRectr  r   r   r   Úenable_goocanvasn  s    
r  )Nr   )N)rB   )rD   )Ú__doc__r   ri   r8   r7   r   r   r	   r   rú   r   r0   r   r   r/   r3   r9   rA   rþ   r  r  r  r	  r  r  r   r   r   r   Ú<module>   s2   
!

    	
	,