ó
±éRc           @   sè   d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l m Z d  d l	 m
 Z
 e j d d k r‹ e j d ƒ n  d e j e j f d „  ƒ  YZ d	 e j f d
 „  ƒ  YZ d „  Z d „  Z e Z e j Z d S(   iÿÿÿÿN(   t   Figure(   t
   transformsi    i   s7   The Gtk3Agg backend is not known to work on Python 3.x.t   FigureCanvasGTK3Aggc           B   sA   e  Z d  „  Z d „  Z d „  Z d „  Z d d „ Z d „  Z RS(   c         C   s    t  j j |  | ƒ g  |  _ d  S(   N(   t   backend_gtk3t   FigureCanvasGTK3t   __init__t   _bbox_queue(   t   selft   figure(    (    s]   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3agg.pyR      s    c         C   s   d  S(   N(    (   R   (    (    s]   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3agg.pyt   _renderer_init   s    c         C   s   t  j j |  ƒ d  S(   N(   t   backend_aggt   FigureCanvasAggt   draw(   R   t   widtht   height(    (    s]   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3agg.pyt   _render_figure   s    c         C   sm  |  j  ƒ  } | j | j } } t |  j ƒ su |  j rn |  j | | ƒ t j d d g | | g g ƒ g } q~ d Sn	 |  j } xÍ | D]Å } |  j	 | ƒ } t
 j | j ƒ  d d ƒ}	 t | j ƒ }
 | t | j ƒ } t | j ƒ t | j ƒ } t | j ƒ t | j ƒ } t j j |	 t j | | ƒ } | j | |
 | ƒ | j ƒ  q… Wt |  j ƒ rig  |  _ n  t S(   s>    GtkDrawable draw event, like expose_event in GTK 2.X
        i    Nt   dtypet   uint8(   t   get_allocationR   R   t   lenR   t   _need_redrawR   R   t   Bboxt   copy_from_bboxt   npt
   fromstringt   to_string_argbt   intt   x0t   y1t   x1t   y0t   cairot   ImageSurfacet   create_for_datat   FORMAT_ARGB32t   set_source_surfacet   paintt   False(   R   t   widgett   ctxt
   allocationt   wt   ht
   bbox_queuet   bboxt   areat   buft   xt   yR   R   t   image(    (    s]   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3agg.pyt   on_draw_event   s,    	'		c   	      C   s¾   | d  k r |  j j } n  |  j ƒ  } | j | j } } t | j ƒ } | t | j ƒ } t | j	 ƒ t | j ƒ } t | j ƒ t | j
 ƒ } |  j j | ƒ |  j | | | | ƒ d  S(   N(   t   NoneR   R,   R   R   R   R   R   R   R   R   R   t   appendt   queue_draw_area(	   R   R,   R(   R)   R*   R/   R0   R   R   (    (    s]   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3agg.pyt   blit=   s    c         O   s%   |  j  t j ƒ } | j | | | Ž S(   N(   t   switch_backendsR
   R   t	   print_png(   R   t   filenamet   argst   kwargst   agg(    (    s]   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3agg.pyR8   M   s    N(	   t   __name__t
   __module__R   R	   R   R2   R3   R6   R8   (    (    (    s]   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3agg.pyR      s   				"t   FigureManagerGTK3Aggc           B   s   e  Z RS(    (   R=   R>   (    (    (    s]   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3agg.pyR?   S   s   c         O   s.   | j  d t ƒ } | | | Ž  } t |  | ƒ S(   s.   
    Create a new figure manager instance
    t   FigureClass(   t   popR    t   new_figure_manager_given_figure(   t   numR:   R;   R@   t   thisFig(    (    s]   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3agg.pyt   new_figure_managerW   s    c         C   s   t  | ƒ } t | |  ƒ } | S(   sD   
    Create a new figure manager instance for the given figure.
    (   R   R?   (   RC   R   t   canvast   manager(    (    s]   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3agg.pyRB   `   s    (   R   t   numpyR   t   syst   warningsR
   R   t   matplotlib.figureR    t
   matplotlibR   t   version_infot   warnR   R   R   t   FigureManagerGTK3R?   RE   RB   t   FigureManagert   show(    (    (    s]   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3agg.pyt   <module>   s    	C				