
    b^P                         d Z ddlZddlZddlmZ ddlZddlmZ g Zg Z	 e
            Zi Zd Zd ZddZdd	Zd
 Zd ZddZd Zd ZddZd Zd Z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UserListGObjectc                     t          | |t                    }t          | ||           t                              | ||f           d S N)getattr_unsetsetattr_patchesappend)objname	new_value	old_values       9/usr/lib/python3/dist-packages/pygtkcompat/pygtkcompat.py_patchr   1   sD    T6**ICy!!!OOS$	*+++++    c                     t           j                            | t                    }|t           j        | <   t                              | |f           d S r   )sysmodulesgetr
   _module_patchesr   )r   r   r   s      r   _patch_moduler   7   sB    f--I!CKD),-----r    c                 H   || }|j                             dd          d                                         }t          |           D ]Y}	 t	          | |d           }n#  Y xY w	 t          |t          j                  r~|j        	                                D ]d\  }}|j
        }|                    |dz   d          }|r,|                    |          r|t          |          d          }t          |||           en# t          $ r Y w xY w	 t          |t          j                  rf|j        	                                D ]L\  }}		 |	j        d                             |dz   d          }n# t&          $ r Y 7w xY wt          |||	           MJ# t          $ r Y Ww xY wd S )N.   _r   )__name__rsplitupperdirr	   
issubclassr   GEnum__enum_values__items
value_namereplace
startswithlenr   	TypeErrorGFlags__flags_values__value_names
IndexError)
moduledeststripmodnameattrr   valueenumr   flags
             r   _install_enumsr:   =   s   |m""3**1-3355GF  	&$--CC	H		#w}-- -#&#6#<#<#>#> - -KE4?D<<#r::D 1!7!7 1#CJJKK04t,,,, 	 	 	H		#w~.. -#&#7#=#=#?#? - -KE4!#/3;;GcM2NN% ! ! ! !! 4t,,,, 	 	 	H	3 sU   AA!%BC>>
D
D8F$E-,F-
E:7F9E::F
FFc                     | t           v r*t           |          }||k    rt          | d|d          dS |t           | <   dS )z*Returns True in case it is already enabledz) already enabled with different version ()TF)_enabled_registry
ValueError)r   versionenabled_versions      r   _check_enabledrA   ^   s`        +D1g%%DD///+, , , t")$ur   c                      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   )GLibglibr   gobject)_propertyhelperzgobject.propertyhelper)Giogio)rA   gi.repositoryrC   r   r   girF   rG   )rC   r   rF   rG   s       r   enablerK   m   s    b  #"""""&$ &%%%%%)W%%%""""""*O<<< "!!!!!%r   c                     t                                            t          t                    D ]Y\  } }}|t          u rt          | |            t          | |           t          | |t                    |urt          | ||           Zt          dd= t          t                    D ]+\  }}|t          u rt          j
        |= |t          j
        |<   ,t          dd= dS )zfReverse all effects of the enable_xxx() calls except for
    require_version() calls and imports.
    N)r=   clearreversedr   r
   delattrr	   r   r   r   r   )r   r   r   s      r   _disable_allrP      s    
  ( 2 2 . .T9C CsD&))::T9---#O44 * *iD!! )CKr   3.0c                 T  #$%&'()*+,-./01234567 t          d|           rd S | dk    rt          d          t          j        dd           ddlm} t          d|           t          |           t          j        d	d           dd
lm} t          d|           t          |           t          j        dd           ddlm	} t          d|           t          j        d|            t          j        dd           ddlm
$ ddlm} t          d$           t          $           t          |$           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&}t          $d'|           $j        j        //fd(}t          $j        d)|           t          $d*$j        j                   t          $d+$j        j                   $j        j         --fd,}t          $j        d-|           t          j        d.|            dd/lm!% t          d%           t          %d0$           t          %d1d2           t          %d3%j"        %j#        %j$        f           t          %           d4 }t          %j%        d5tM          |                     %j'        ' G 'fd6d7'          }	t          %d7|	           %j(        j)        0d0fd9	}
t          %j(        d:|
           %j(        j*        1d1fd;	}t          %j(        d<|           %j+        j)        6d6fd=	}t          %j+        d:|           %j+        j*        7d7fd>	}t          %j+        d<|           %j,        j)        *d*fd?	}t          %j,        d:|           %j,        j*        +d+fd@	}t          %j,        d<|           %j,        j-        2t\          f2fdA	}t          %j,        dB|            G dC dD%j/                  }t          %dD|           %j0        j1        ,t\          f,fdE	}t          %j0        dF|            G %fdGdH%j0                  }t          %dH|           %fdI}t          %dJ|           %fdK}t          %dL|           dM }t          %j2        dNtM          |                     %fdO}t          %dP|           dQ }t          %j0        dR|           t          %dS%j3        j4                   t          %dT%j5        j                   t          %dU%j6        j7                   t          %dV%j6        j8                   t          %dW%j6        j9                   t          %dX%j6        j:                   t          %dY%j6        j                   t          %dZ%j;        j                   t          %d[%j        j<                   t          %d\%j=        j>                   t          %j?        d]%j?        j@                   t          %d^%jA        jB                   t          %jA        d_%jA        jC                   %jD        (%jE        ) G (fd`da(          }t          %da|            G )fdbdc)          }t          %dc|           t          %ddde            t          %jF        dft          %jF        jH        g                     t          %dh%jF        jI                   %jF        jJ        44fdi}t          %jF        dj|           t          %jF        dk%jF        jK                    G $fdldmt                    # G #$fdndot                    & G &fdpdqt                    }t          %jF        dr |                       %jM        jN        5	 d5fdu	}t          %jM        dv|           %j        jO        3	 	 	 	 d$3fdy	}t          %j        dz|           t          %d{%j        jP                   t          %d|%j        jQ                    G d} d~t                    } |            } t          d|            t          jS                    5  t          jT        dt                     ddlVmW}! d d d            n# 1 swxY w Y   t          d|!           t          %d|!           ddlXmY}" t          %d|"jZ                   d S )Ngtkz4.0zversion 4.0 not supportedAtk1.0r   )rT   atkPango)rW   pango
PangoCairo)rY   
pangocairoGdk	GdkPixbuf2.0r[   )r\   zgtk.gdkr3   _2BUTTON_PRESS   BUTTON_PRESS   screen_get_defaultPixbufPixbufLoaderpixbuf_new_from_datapixbuf_new_from_filepixbuf_new_from_file_at_scalepixbuf_new_from_file_at_sizepixbuf_new_from_inlinepixbuf_new_from_streampixbuf_new_from_stream_at_scalepixbuf_new_from_xpm_datapixbuf_get_file_infoc                  l                 } g }d }| D ] }|                      ||                     !|S )Nc                     i }|                                  |d<   |                                 |d<   |                                 |d<   |                                 |d<   |S )Ndescriptionr   
mime_types
extensions)get_descriptionget_nameget_mime_typesget_extensions)format_results     r   	make_dictz2enable_gtk.<locals>.get_formats.<locals>.make_dict   sc    F$+$;$;$=$=F=!$--//F6N#*#9#9#;#;F< #*#9#9#;#;F< Mr   )r   )formatsrz   r{   ry   orig_get_formatss       r   get_formatszenable_gtk.<locals>.get_formats   sZ    ""$$	 	 	  	. 	.GMM))G,,----r   pixbuf_get_formatsc                 *     |           dd          S )Nr    )selforig_get_origins    r   
get_originzenable_gtk.<locals>.get_origin   s    t$$QRR((r   r   screen_widthscreen_heightc                 j     |           |                                                                  fz   S r   )
get_visualget_best_depth)windoworig_gdk_window_get_geometrys    r   gdk_window_get_geometryz+enable_gtk.<locals>.gdk_window_get_geometry   s4    ++F33v7H7H7J7J7Y7Y7[7[6]]]r   get_geometryGtkr   gdkpygtk_version)   c   r   gtk_versionc                 H    t          j        dt          j        d           d S )Nz%set_tool_item_type() is not supportedr   
stacklevelwarningswarnrJ   PyGIDeprecationWarning)
menuactiongtypes     r   set_tool_item_typez&enable_gtk.<locals>.set_tool_item_type   s0    =/A	? 	? 	? 	? 	? 	?r   r   c                       e Zd Zd fd	ZdS )enable_gtk.<locals>.Alignment        c                                          |            || j        _        || j        _        || j        _        || j        _        d S r   )__init__propsxalignyalignxscaleyscale)r   r   r   r   r   orig_Alignments        r   r   z&enable_gtk.<locals>.Alignment.__init__  sE    ##D))) &DJ &DJ &DJ &DJr   N)r   r   r   r   r!   
__module____qualname__r   )r   s   r   	Alignmentr     s3        	' 	' 	' 	' 	' 	' 	' 	'r   r   Tc                 &     | ||||           d S r   r   )r   childexpandfillpaddingorig_pack_ends        r   pack_endzenable_gtk.<locals>.pack_end  s!    dE6499999r   r   c                 &     | ||||           d S r   r   )r   r   r   r   r   orig_pack_starts        r   
pack_startzenable_gtk.<locals>.pack_start  s!    eVT7;;;;;r   r   c                 "     | ||           d S r   r   )r   cellr   orig_tree_view_column_pack_ends      r   tree_view_column_pack_endz-enable_gtk.<locals>.tree_view_column_pack_end   s    &&tT6:::::r   c                 "     | ||           d S r   r   )r   r   r    orig_tree_view_column_pack_starts      r   tree_view_column_pack_startz/enable_gtk.<locals>.tree_view_column_pack_start&  s    ((tV<<<<<r   c                 "     | ||           d S r   r   )r   r   r   orig_cell_pack_ends      r   cell_pack_endz!enable_gtk.<locals>.cell_pack_end.  s    4v.....r   c                 "     | ||           d S r   r   )r   r   r   orig_cell_pack_starts      r   cell_pack_startz#enable_gtk.<locals>.cell_pack_start4  s    T400000r   c                 0    fd} | |||           d S )Nc                  D    | d         t           k    r
| d d         }  |  S Nr    r
   argsfuncs    r   callbackz8enable_gtk.<locals>.set_cell_data_func.<locals>.callback;  +    Bx6!!CRCy4;r   r   )r   r   r   	user_datar   orig_set_cell_data_funcs     `  r   set_cell_data_funcz&enable_gtk.<locals>.set_cell_data_func:  s<    	 	 	 	 	 	 dHi@@@@@r   r   c                       e Zd ZdS )'enable_gtk.<locals>.GenericCellRendererNr!   r   r   r   r   r   GenericCellRendererr   D          r   r   c                 .    fd} | ||           d S )Nc                  D    | d         t           k    r
| d d         }  |  S r   r   r   s    r   r   z>enable_gtk.<locals>.combo_row_separator_func.<locals>.callbackM  r   r   r   )r   r   r   r   orig_combo_row_separator_funcs    `  r   combo_row_separator_funcz,enable_gtk.<locals>.combo_row_separator_funcL  s:    	 	 	 	 	 	&%dHi@@@@@r   set_row_separator_funcc                   &    e Zd Z fdZd Zd ZdS )!enable_gtk.<locals>.ComboBoxEntryc                 2     j         j        | fddi| d S )N	has_entryT)ComboBoxr   )r   kwdsr   s     r   r   z*enable_gtk.<locals>.ComboBoxEntry.__init__W  s+    !CL!$??$?$?????r   c                 0    |                      |           d S r   )set_entry_text_column)r   text_columns     r   set_text_columnz1enable_gtk.<locals>.ComboBoxEntry.set_text_columnZ  s    &&{33333r   c                 *    |                                  S r   )get_entry_text_column)r   s    r   get_text_columnz1enable_gtk.<locals>.ComboBoxEntry.get_text_column]  s    --///r   N)r!   r   r   r   r   r   r   s   r   ComboBoxEntryr   V  sQ        	@ 	@ 	@ 	@ 	@	4 	4 	4	0 	0 	0 	0 	0r   r   c                  ,                                      S r   r   r   s   r   combo_box_entry_newz'enable_gtk.<locals>.combo_box_entry_newa  s      """r   r   c                 0                         |           S )N)modelr   )r   r   s    r   combo_box_entry_new_with_modelz2enable_gtk.<locals>.combo_box_entry_new_with_modele  s      u ---r   r   c                 H    t          j        dt          j        d           d S )Nz)install_child_property() is not supportedr   r   r   )	containerr9   pspecs      r   install_child_propertyz*enable_gtk.<locals>.install_child_propertyk  s0    A/A	? 	? 	? 	? 	? 	?r   r   c                                                       }                     t                    }|                     |           |                     d           | S )Nr   )r   	ListStorestr	set_modelr   )combor   r   s     r   new_textzenable_gtk.<locals>.new_textp  sL    c""##A&&&r   combo_box_new_textc                 Z    |                                  }|                    |g           d S r   )	get_modelr   )r   textr   s      r   append_textzenable_gtk.<locals>.append_textx  s+      dVr   r   expander_new_with_mnemonicicon_theme_get_defaultimage_new_from_pixbufimage_new_from_stockimage_new_from_animationimage_new_from_icon_setimage_new_from_filesettings_get_defaultwindow_set_default_iconclipboard_getconnect_groupstatus_icon_position_menuset_tooltipc                       e Zd Zd fd	ZdS )enable_gtk.<locals>.HScaleNc                 6                         | |           d S N)
adjustmentr   )r   r  orig_HScales     r   r   z#enable_gtk.<locals>.HScale.__init__  "      * =====r   r   r   )r  s   r   HScaler    3        	> 	> 	> 	> 	> 	> 	> 	>r   r  c                       e Zd Zd fd	ZdS )enable_gtk.<locals>.VScaleNc                 6                         | |           d S r  r  )r   r  orig_VScales     r   r   z#enable_gtk.<locals>.VScale.__init__  r  r   r   r   )r  s   r   VScaler    r  r   r  	stock_addc                     d S r   r   )r(   s    r   <lambda>zenable_gtk.<locals>.<lambda>  s    4 r   r   )fgetwidget_get_default_directionc                 R     G d dt                     } | |                     S )Nc                       e Zd Zd ZdS )5enable_gtk.<locals>.size_request.<locals>.SizeRequestc                 x    |j         | _         |j        | _        t          j        | | j        | j         g           d S r   )heightwidthr   r   )r   reqs     r   r   z>enable_gtk.<locals>.size_request.<locals>.SizeRequest.__init__  s6    !j Y
!$T[(ABBBBBr   Nr   r   r   r   SizeRequestr!    s(        C C C C Cr   r&  r   )widgetr&  orig_size_requests     r   size_requestz enable_gtk.<locals>.size_request  sS    	C 	C 	C 	C 	C( 	C 	C 	C
 {,,V44555r   r)  hide_allc                        e Zd Zd Z fdZdS )enable_gtk.<locals>.BaseGetterc                     || _         d S r   )context)r   r.  s     r   r   z'enable_gtk.<locals>.BaseGetter.__init__  s    "DLLLr   c                     | j                             |          }                    t          |j        dz            t          |j        dz            t          |j        dz                      S )Ni  redgreenblue)r.  get_background_colorColorintr1  r2  r3  )r   statecolorr[   s      r   __getitem__z*enable_gtk.<locals>.BaseGetter.__getitem__  sh    L55e<<E99UY%6!7!7#&u{U':#;#;"%ej5&8"9"9  ; ; ;r   N)r!   r   r   r   r9  r^   s   r   
BaseGetterr,    s=        	# 	# 	#	; 	; 	; 	; 	; 	; 	;r   r:  c                       e Zd Z fdZdS )enable_gtk.<locals>.Stylesc                     |                                 } |          | _                            ddd          | _        d S )Nr   r0  )get_style_contextbaser5  black)r   r'  r.  r:  r[   s      r   r   z#enable_gtk.<locals>.Styles.__init__  sB    ..00G"
7++DIq::DJJJr   Nr   )r:  r[   s   r   Stylesr<    s3        	; 	; 	; 	; 	; 	; 	; 	;r   rA  c                       e Zd Z fdZdS )#enable_gtk.<locals>.StyleDescriptorc                      |          S r   r   )r   instanceclass_rA  s      r   __get__z+enable_gtk.<locals>.StyleDescriptor.__get__  s    6(###r   N)r!   r   r   rG  )rA  s   r   StyleDescriptorrC    s.        	$ 	$ 	$ 	$ 	$ 	$ 	$r   rH  styleF      ?c                 $     | |||||          S r   r   )r   markwithin_margin	use_alignr   r   orig_text_view_scroll_to_marks         r   text_view_scroll_to_markz,enable_gtk.<locals>.text_view_scroll_to_mark  s(    ,,T4-6H H 	Hr   scroll_to_markr          c                 "                                    }                    d          }|dk    s|dk    r9t          |d          |_        t          |d          |_        |j        j        z  }|dk    s|dk    r9t          |d          |_        t          |d          |_        |j        j        z  }|dk    s|dk    r9t          |d          |_	        t          |d          |_
        |j        j        z  }|dk    s|	dk    r9t          |d          |_        t          |	d          |_        |j        j        z  }|
dk    s|dk    r8|
dk    s|dk    rt          d          |
|_        ||_        |j        j        z  } | |||          S )Nr   r   zaspect ratios must be positive)GeometryWindowHintsmax	min_width
min_heightMIN_SIZE	max_width
max_heightMAX_SIZE
base_widthbase_height	BASE_SIZE	width_inc
height_inc
RESIZE_INCr-   
min_aspect
max_aspectASPECT)r   geometry_widgetrW  rX  rZ  r[  r]  r^  r`  ra  rc  rd  geometry	geom_maskr[   orig_set_geometry_hintss                 r   set_geometry_hintsz&enable_gtk.<locals>.set_geometry_hints  s   
 <<>>OOA&&	>>Z1__!$Y!2!2H"%j!"4"4H11I>>Z1__!$Y!2!2H"%j!"4"4H11I??kQ.."%j!"4"4H#&{A#6#6H 22I>>Z1__!$Y!2!2H"%j!"4"4H33I
c 1 1S  J#$5$5 @AAA",H",H//I&&t_h	RRRr   rj  window_list_toplevelswindow_set_default_icon_namec                       e Zd ZdS )enable_gtk.<locals>.UnixPrintNr   r   r   r   	UnixPrintrn    r   r   ro  gtkunixprintignore)category)keysymszgtk.keysymsrs  r   )generictreemodelGenericTreeModel)TTr   )T)FrJ  rJ  )Nr    r    r    r    r    r    r    r    rR  rR  )[rA   r>   rJ   require_versionrI   rT   r   r:   rW   rY   r[   r\   r   Screenget_defaultre   rf   new_with_typenew_from_datanew_from_filenew_from_file_at_scalenew_from_file_at_sizenew_from_inlinenew_from_streamnew_from_stream_at_scalenew_from_xpm_dataget_file_infor~   Windowr   r$  r#  r   r   MAJOR_VERSIONMINOR_VERSIONMICRO_VERSIONActionclassmethodr   Boxr   r   TreeViewColumn
CellLayoutr   r
   CellRendererr   r   	ContainerExpandernew_with_mnemonic	IconThemeImagenew_from_pixbufnew_from_stocknew_from_animationnew_from_icon_setSettingsset_default_icon	Clipboardr   
AccelGroupconnect
StatusIconposition_menuset_tooltip_textr  r  Widgetproperty
get_windowget_default_directionr)  hideobjectTextViewrQ  rj  list_toplevelsset_default_icon_namer   catch_warningssimplefilterRuntimeWarninggi.overridesrs  r   rt  ru  )8r?   rT   rW   rY   r\   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r)  rH  rP  rj  ro  	unixprintrs  rt  r:  r[   r   rA  r   r  r  r   r   r   r   r}   r   r   r   r   ri  r(  rO  r   r   s8                                      @@@@@@@@@@@@@@@@@@@@@r   
enable_gtkr     s~   eW%% %4555 ue$$$!!!!!!%3 w&&&######'5!!!5 |U+++((((((,
+++ ug&&&{E***!!!!!!'''''')S!!!393''''
3 !$$$
3"""
3$cj&<===
3)*+++
3	 6 DEEE
3&	(8(FGGG
3&	(8(FGGG
3/1A1XYYY
3.	0@0VWWW
3()*:*JKKK
3()*:*JKKK
3193C3\]]]
3*I,<,NOOO
3&	(8(FGGG '3      3$k222j+O) ) ) ) )
3:|Z000
3
 0111
3!2333#&:#: ^ ^ ^ ^ ^
3:~'>??? ug&&&!!!!!!%
3s
3,,,
3 1 # 1 # 1 3 4 4 4 3? ? ? 3:+[9K-L-LMMM ]N' ' ' ' ' ' 'N ' ' ' 3Y''' G$M: : : : : :
37J)))g(O< < < < < <
37L*--- &)%7%@"; ; ; ; ; ;
3z+DEEE'*'9'D$= = = = = =
3|-HIII 0/ / / / / /
3>:}555>41 1 1 1 1 1
3><999!n?7= A A A A A A 3>/1CDDD    c.   
3%':;;; %(L$G!7= A A A A A A 3<13KLLL0 0 0 0 0 0 0 0 0 0 3///# # # # #
3%':;;;. . . . .
302PQQQ? ? ? 3=2K@V4W4WXXX     3$h///   3<444
3,cl.LMMM
3(#-*CDDD
3')BCCC
3&	(@AAA
3*CI,HIII
3)39+FGGG
3%sy'>???
3&(@AAA
3)3:+FGGG
3!2333 3>?CN,BCCC 3+S^-IJJJ
3>=#.*IJJJ *K*K> > > > > > > > > > 3&!!!> > > > > > > > > > 3&!!!
3//000 3:xsz/D!E!E!EFFF
3.
0PQQQ
/6 6 6 6 6 3:~|444
3:z3:?333; ; ; ; ; ; ;V ; ; ;; ; ; ; ; ; ; ; ; ; ;$ $ $ $ $ $ $& $ $ $ 3:w 1 1222 %(L$?! FIH H H H H H 3<)+CDDD "j;15QSSU7;$S $S $S $S $S $S $SL 3:+-?@@@
3')BCCC
3.
0PQQQ    F   	I.),,, 
	 	"	" ) )h@@@@(((((() ) ) ) ) ) ) ) ) ) ) ) ) ) ) -)))
3	7###""""""
3"$4$EFFFFFs   2"g  g$'g$c                  ~    t          d          rd S t          j        dd           ddlm}  t          d|            d S )NvteVtez0.0r   r  )rA   rJ   rv  rI   r  r   r  s    r   
enable_vter    sR    e ue$$$!!!!!!%r   c                      t          d          rd S t          j        dd           ddlm}  t          d|            t          | dd           d S )NpopplerPopplerz0.18r   r  pypoppler_version)r   r   r   )rA   rJ   rv  rI   r  r   r   r  s    r   enable_popplerr    se    i   y&)))%%%%%%)W%%%
7'33333r   rU   c                     t          d|           rd S t          j        d|            ddlm} t          d|           t          |j        d|j        j                   d S )NwebkitWebKitr   )r  get_web_inspector)	rA   rJ   rv  rI   r  r   r   WebViewget_inspector)r?   r  s     r   enable_webkitr  %  sn    h(( x)))$$$$$$(F###
6>.0LMMMMMr   c                  ~    t          d          rd S t          j        dd           ddlm}  t          d|            d S )NgudevGUdevrU   r   r  )rA   rJ   rv  rI   r  r   r  s    r   enable_gudevr  0  sR    g w&&&######'5!!!!!r   c                     t          d          rd S t          j        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            t          | 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lm} t          d|           t          |           d S )NgstGstz0.10r   )r  registry_get_defaultelement_registerelement_factory_makecaps_new_anyget_pygst_versionc                      dS )N)r   
      r   r   r   r   r  zenable_gst.<locals>.<lambda>F  s    [ r   get_gst_versionc                      dS )N)r   r  (   r   r   r   r   r  zenable_gst.<locals>.<lambda>G  s    ; r   )GstInterfaceszgst.interfaces)GstAudioz	gst.audio)GstVideoz	gst.video)GstBasezgst.baseBaseTransformBaseSink)GstControllerzgst.controllerr_   )
GstPbutilszgst.pbutils)rA   rJ   rv  rI   r  r   r:   r   Registryrx  ElementregisterElementFactorymakeCapsnew_anyr  r  r  r  r  r  r  r  )r  r  r  r  r  r  r  s          r   
enable_gstr  9  s?   e uf%%%!!!!!!%3
3&(@AAA
3"CK$8999
3&(:(?@@@
3 0111
3#%8%8999
3!#6#6777++++++"M222=!!!&&&&&&+x(((8&&&&&&+x(((8%%%%%%*g&&&7
3!6777
3
G,---++++++"M222=s++++((((((-,,,:r   c                  |   t          d          rd S t          j        dd           ddlm}  t          d|            t          | d           t          | d| j                   t          | d	| j	                   t          | d
| j
                   t          | d| j                   t          | d| j                   d S )N	goocanvas	GooCanvasr]   r   r  GOO_CANVAS_)r4   
ItemSimpleItemr  GroupRect)rA   rJ   rv  rI   r  r   r:   r   CanvasItemSimple
CanvasItemCanvasImageCanvasGroup
CanvasRectr  s    r   enable_goocanvasr  e  s    k"" {E***''''''+y)))9M2222
9lI$>???
9fi2333
9gy4555
9gy4555
9fi233333r   )Nr   r   )rQ   )rU   )__doc__r   r   collectionsr   rJ   rI   r   r   r   r  r
   r=   r   r   r:   rA   rK   rP   r  r  r  r  r  r  r  r   r   r   <module>r     s]  *  


              				 ! ! ! ! ! ! 	 , , ,. . .   B     &  2uG uG uG uGp  4 4 4N N N N" " ") ) )X4 4 4 4 4r   