
6b)Lc           @   s  d  d k  Z  d  d k Z d  d k Z d  d k Z e Z d   Z d   Z d   Z d   Z	 d e
 f d     YZ e d  Z d	 d
  Z d   Z d   Z d   Z d   Z d e i f d     YZ d   Z d e f d     YZ d e i e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e e f d     YZ d    Z d! e f d"     YZ d S(#   iNc         C   sH   xA |  d | j  o/ |  | d } | |  o
 | }  q | } q W|  S(   Ni   i   (    (   t   leftt   rightt   testt
   test_index(    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyt	   do_bisect   s     
c         C   s#   |  t  i d d } t | d  S(   Ni   g     @g      ?(   t   gt   screen_sizet   int(   t   sizet   raw_size(    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyt   convert_font_size(   s    c         C   sm   t  |  d  o- g  } |  i |  D] } | | d q$ ~ Sg  } | D] } | |  i |  d qH ~ Sd  S(   Nt   metricsi   i    (   t   hasattrR   R   (   t   fontt   textt   _[1]t   mt   _[2]t   c(    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyt
   get_widths.   s    -c         C   sV   |  p |  S|  d d j o d |  d }  n |  d d j o |  d  d }  n |  S(   Ni    t    u   ﻿i   i(    (   t   a_string(    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyt   strip_to_null4   s    t	   WrapErrorc           B   s   e  Z RS(    (   t   __name__t
   __module__(    (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyR   =   s    c         C   s  |  i  d  } g  } x| D]} | i |  d | j p | d j o | i | d  q | i  d  } d } d }	 x | D]}
 |
 d 7}
 | i |
  d } | | | j o |	 |
 7}	 | | 7} q | | j  o# | i t |	   |
 }	 | } q | p d } t | |
  n t | |
  } xl t |
  D]^ \ } } | | } | | | j o |	 | 7}	 | | 7} q6| i t |	   | }	 | } q6Wq W|	 o$ |	 d j o | i t |	   q q W| S(   Ns   
i    u   ﻿R   t    s$   '%s' is too wide and can't be broken(   t   splitR   t   appendR   R   R   t	   enumerate(   R   R   t   wrap_att   break_wordst	   raw_linest   linest   raw_linet   wordst   post   linet   wordt	   word_sizet   messaget   widthst   indext   chart   width(    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyt
   split_wrap@   sH     ' 


 

i    c   	      C   sg   t  |  | |  } d } d } x< | D]4 } | i |  \ } } t | |  } | | 7} q% W| | f S(   Ni    (   R-   R   t   max(	   R   R   R,   R!   t   total_heightt	   max_widthR%   t
   line_widtht   line_height(    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyt   size_of_blockg   s     c         C   sH   | i  |  d d j o d  S| i | t |  } |  i | |  d  S(   Ni    (   R   t   rendert   Truet   blit(   t   surfaceR   t   xyR   t   colort   rendered_text(    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyt	   _do_printu   s    c	         C   sx  t  |  }	 | d d }
 | d d } | o t | | |
  } n t | | d  } | t i j om t |  | i   } | | j oF | | } | t i j o |	 d c | d 7<q |	 d c | 7<q n | i d  \ } } } } d } x|| D]t} | d |	 d <| t i j oY | i	 |  d } |
 | } | t i
 j o |	 d c | d 7<qy|	 d c | 7<n | g } | | | f g } x | d j o | | t | d  j  op | | } | | 7} | i   } | i | |  | | g  | i d  \ } } } } | i | | | f  qW| t | d  7} t |  |	 | | |  |	 d c | i   7<q Wd  S(   Ni    i   i   i   i(   t   listR-   t	   constantst   TOPt   lent   get_linesizet   MIDt   popt   LEFTR   t   CENTERt   extendR   t
   print_line(   R7   t   string_to_printt   xy_origR   t   stylest   alignt   valignt
   dimensionst   wrapR8   R,   t   heightR!   t   vsizet   excess_spaceR9   t   bgcolort	   underlinet   switch_chart   offsetR%   t   hsizet   chunkst	   my_stylest   real_switcht   piece(    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyt   print_string{   sJ    
 
	 (

c   
      C   s   x t  | |  D] \ } \ } } } | i |  }	 | d  j	 o |  i | | |	  n | i |  t |  | | | |  | i t  | d c |	 d 7<q Wd  S(   Ni    (   t   zipR   t   Nonet   fillt   set_underlineR;   t   False(
   R7   R8   R   RV   RI   t   chunkR9   RQ   RR   R   (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyRF      s     c         C   s   t  |  _ t  |  _ d  S(   N(   R5   t   needs_resizet   needs_redraw(   t   self(    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyt   resize_redraw   s    	t   Textc           B   sC  e  Z e i d  e  Z e i d e  Z e i d e  Z e i d e  Z e i d e  Z	 e i d e  Z
 e i d  Z e i d  Z e i d  Z d e i d d d d e i e i d e e d d  Z e d    Z e d    Z d   Z d   Z e d  Z d	 d  Z d   Z d   Z d   Z  d   Z! RS(   t   _textt
   _base_fontt   _shrink_factort
   _underlinet   _wrapt   _boldt   _colort   _alignt   _valigni    g?i   ii$   c         K   s   t  t |   i | | | | |  | |  _ | p t i d |  _ | p t i d |  _ | |  _	 | |  _
 |	 |  _ |
 |  _ | |  _ | |  _ | |  _ d  S(   Ni    t   white(   t   superRe   t   __init__R   R   R   t	   base_fontt   colorsR9   t   shrink_factorRR   RJ   RK   RM   t   boldt	   text_size(   Rc   t   parentR$   R   t   anchorR   Rr   Rt   R9   RJ   RK   RR   RM   Ru   Rv   t   kwargs(    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyRq      s    "							c         C   s   t  |  i  S(    (   R
   Rv   (   Rc   (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyt   <lambda>   s    c         C   s   |  i  S(    (   t   _font(   Rc   (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyRz      s    c         C   sS   |  i  | t  } |  i  |  } | | t d  j o
 | } n | } |  i | S(   Ni   (   t   pick_font_sizeR_   R
   Rr   (   Rc   RL   t	   nice_sizet	   mean_sizeR   (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyt	   pick_font   s    
c            sW   d } t    i  }   i o t |   i  } n    f d   } t | | |  S(   Ni    c            s:     i  |  } | i   i   |  } | i t  | S(   N(   Rr   t   set_boldRu   R_   (   R   R   t   result(   Rc   t	   test_font(    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyt	   test_size   s
    (   R?   Rr   t   max_sizet   minR   (   Rc   R   R    R   R   (    (   Rc   R   sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyt   font_bisect   s    
	c            s   | d o t  | d d   i   n d   t  | d d   i     i i d  d        f d   }   i |  S(   Ni    i   i   s   
c            s   t  }  o  i oB y t  i |     } Wq t j
 o g  } t } q XnL t  i |  d  } x3 | D]+ } |  i |  d  j o t } Pqu qu Wt |  } n  } |  i   |   j } | p | S(   Ni    (	   R_   RM   R-   R   R   R5   R   R?   R@   (   R   t   too_wideR!   R%   t
   line_countt   too_tall(   RN   Rc   R,   R   t   basic_line_count(    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyR     s&    
 	(   R   Rt   R\   R   t   countR   (   Rc   RL   R   R   (    (   Rc   RN   R,   R   R   sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyR|      s    c         C   sS   t  |  i | |  \ } } t | |  i  d } t | |  i  d } | | f S(   Ni   (   R3   R   R   Rt   (   Rc   R   R,   t	   raw_widtht
   raw_heightRN   (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyt   size_using_font   s    c   	         s    d o   d pb i  p t d   n  i  i  }   d   d j o
 d j n o&  i |  \ } } | | f | f S  d pK t   d d  i  }  i | d | \ } }   d | f | f S i |  \ } } |   d j o |   d f | f S   f d   }  i |  }  i | }  i |  \ } } |   d f | f Sn    i    f Sd  S(   Ni    i   s)   No font size given, but a dimension is 0.i   R,   c            sR    i  |   \ } } t  i |   \ } } t |  i  d } |   d j S(   Ni   i   (   R   R3   R   R   Rt   (   R   R,   RN   R   (   t   initial_dimensionsRc   (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyR   C  s    (   R   t
   ValueErrorRr   R   R   Rt   R   R   (	   Rc   R   t   max_fontR,   RN   t
   text_widthR   t	   font_sizeR   (    (   R   Rc   sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyt   calc_text_size*  s*    
&c         C   sb   t  t t |   i    } |  i d  j o t |  S|  i |  \ } } | |  _ t |  Sd  S(   N(	   R<   Rp   Re   t
   _calc_sizeR   R\   t   tupleR   R{   (   Rc   t	   base_sizeRv   R   (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyR   R  s    	c         C   s5   t  t |   i   |  i d  j o |  i   n d  S(   N(   Rp   Re   t   redrawR   R\   t
   print_text(   Rc   (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyR   ]  s    c      
   C   s  |  i  d  t g } |  i  d  t g } | d g g } d |  i j o t |  i  j  n oP | i d | |  i d g  |  i d j o | i d | |  i g  q n |  i i	 |  i
  t |  i |  i d |  i | |  i |  i |  i |  i 	 |  i i	 t  d  S(   Ni    i   i   i   (   i   i   (   R9   R\   R_   R5   RR   R?   R   t   insertR   R   Ru   RZ   R7   RJ   RK   t	   real_sizeRM   (   Rc   t   no_underlineRR   RI   (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyR   c  s    *"(   i    g?N("   R   R   t   widgett   call_on_changeRd   R   Rr   Rt   RR   RM   Ru   t   causes_redrawR9   RJ   RK   R=   t   TOP_LEFTR\   RD   RA   R5   R_   Rq   t   propertyR   R   R   R   R|   R   R   R   R   R   (    (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyRe      s.   				#
	(		c         C   s\   |  i  d  j o
 d } n t |  i   } | |  i j o | |  _ t |  _ n t |  _ d  S(   Ni    (   R   R\   R?   t   old_lenR5   Ra   Rb   (   Rc   t   new_len(    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyt   text_changeds  s    
	t   FastTextc           B   s,   e  Z d  Z e i d e  Z d Z e Z	 RS(   sU   
       Reduces font searches by assuming a monospace font and single-line text.
    Rf   i    (
   R   R   t   __doc__R   R   R   R   R   R_   t   maybe_needs_refont(    (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyR   }  s   t   EditableTextc           B   s_   e  Z e i d   Z d   Z d   Z d   Z d   Z d d d d g Z	 d   Z
 d   Z RS(   t   _cursor_posc         O   sO   t  t |   i | | |  |  i d  j o d |  _ n t |  i  |  _ d  S(   NR   (   Rp   R   Rq   R   R\   R?   t
   cursor_pos(   Rc   Rw   t   argsRy   (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyRq     s    c         C   sL   t  t |   i   |  i i t i |  i d  |  i i t i |  i	  d  S(   Ni   (
   Rp   R   t	   add_hooksRw   t   add_handlerR=   t   KEYDOWNt
   handle_keyt   CLICKt   handle_click(   Rc   (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyR     s    c         C   sI   t  t |   i   |  i i t i |  i  |  i i t i |  i	  d  S(   N(
   Rp   R   t   remove_hooksRw   t   remove_handlerR=   R   R   R   R   (   Rc   (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyR     s    c         C   s  |  i  p d  S| i t i j p t  | i t i j oL |  i d j o8 |  i |  i d  |  i |  i |  _ |  i d 8_ qnx| i t i	 j oF |  i t
 |  i  j  o) |  i |  i  |  i |  i d |  _ qn| i t i j o t d |  i d  |  _ n | i t i j o& t t
 |  i  |  i d  |  _ n | i t i j o d |  _ n | i t i j o t
 |  i  |  _ nm | i o^ | i } | d j o
 d } n |  i |  i  | |  i |  i |  _ |  i t
 |  7_ n d  St i  d  S(   Ni    i   s   s   
(   t	   has_focust   typet   pygameR   t   AssertionErrort   keyt   K_BACKSPACER   R   t   K_DELETER?   t   K_LEFTR.   t   K_RIGHTR   t   K_UPt   K_DOWNt   unicodeR=   t   Handled(   Rc   t   eventR+   (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyR     s8    
 &
	
%i    c         C   s  t  |  d d   d  j o d  S|  i i | i  p d  St |  _ |  i |   |  i i	 |  i
  | i d |  i d } | i d |  i d } |  i o' t |  i |  i |  i d d  } n t |  i |  i d  } |  i i   } | |  i d <| t |  } d } |  i t i j oR | |  i i d j o; |  i i | } |  i t i j o | d } qr| } n d }	 x: | D]2 }
 | | 7} |	 t |
  7}	 | | j o PqqW|	 t |
  8}	 | | |  i d <d } |  i t i j oQ |  i i |
  d } |  i i | } |  i t i j o | d } q@| } n d } t |  i |
  } xT t |  D]6 \ } } | | d | j  o | | 7} | } qePqeW| d 7} d } | | d |  i d <| | d | d |  i d <|	 | |  _ |  i i	 t  d  S(   Nt   collision_recti    i   i   i   i   i N  (    t   getattrR\   R   t   collidepointR$   R5   R   t
   took_focusR   R   Ru   RM   R-   R   R   R@   t   hitboxR?   RK   R=   R>   RN   RA   RJ   RC   R   R,   RD   R   R   R   R_   (   Rc   R   t   click_xt   click_yR!   t	   line_sizet   real_text_heightt   line_yRP   t   char_offsetR%   t   line_xR1   t
   prev_widthR)   R*   R,   (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyR     sh    	
'
 
	
 


c      	   C   sM  t  t |   i   |  i o' t |  i |  i |  i d d  } n t |  i |  i d  } |  i p d  S|  i i	   } | t
 |  } d } |  i t i j oT | |  i d d j o< |  i d | } |  i t i j o | d } q | } n d } xG | D]? } | t
 |  |  i j  o | t
 |  7} | | 7} qPqW|  i | } d }	 |  i t i j oR |  i i |  d }
 |  i d |
 } |  i t i j o | d }	 q| }	 n |	 |  i i | |   d 7}	 |  i i |  i |	 | d | f  t oC t i |  i d  i   } | i d  |  i i | |  i  n d  S(	   Ni    i   i   i   i   i   id   (   i   i    i   id   (   Rp   R   R   RM   R-   R   R   R   R   R@   R?   RK   R=   R>   RA   R   RJ   RC   R   RD   R7   R]   R9   t   DEBUGR   t   SurfaceR   t   convert_alphaR6   (   Rc   R!   R   R   R   RP   R   R%   t
   after_charR   R1   t   s(    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyR      sH    
'

 
"(   R   R   R   R   R   Rq   R   R   R   R   R   R   (    (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyR     s   				!	Dt   SelectableTextc           B   sP   e  Z e i d   Z e i d  Z e i d  Z d d d d  Z d   Z	 RS(   t	   _selectedt   _selected_colort   _unselected_colorc         K   sq   t  t |   i | | | |  | p t i d |  _ | p t i d |  _ | p t i d |  _ t |  _	 d  S(   NRo   t
   light_bluet	   dark_blue(
   Rp   R   Rq   R   Rs   t   border_colort   selected_colort   unselected_colorR_   t   selected(   Rc   Rw   R$   R   R   R   R   Ry   (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyRq   9  s
    c         C   s=   |  i  o |  i |  _ n |  i |  _ t t |   i   d  S(   N(   R   R   t   background_colorR   Rp   R   R   (   Rc   (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyR   C  s    
N(
   R   R   R   R   R   R   R   R\   Rq   R   (    (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyR   4  s   	t   ProgressTextc           B   s8   e  Z e i d   Z e i d  Z d   Z d   Z RS(   t	   _progresst   _progress_colorc         O   s]   | |  _  | i d d  |  _ | i d t i d  |  _ t t |   i | t	 t
 |  d  S(   Nt   progressi    t   blue(   Rw   RB   R   R   Rs   t   progress_colorRp   R   Rq   R$   R   (   Rc   Rw   R   Ry   (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyRq   N  s    	c         C   sY   t  t |   i   |  i \ } } |  i i |  i d d | |  i | f  |  i   d  S(   Ni    (	   Rp   R   R   R   R7   R]   R   R   t   draw_borders(   Rc   R,   RN   (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyR   T  s
    (   R   R   R   R   R   R   Rq   R   (    (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyR   K  s   	t   ChunkedTextc           B   s,   e  Z d    Z e i d e  Z d   Z RS(   c         C   s   d i  |  i  |  _ d  S(   NR   (   t   joinRV   R   (   Rc   (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyt   update_text]  s    t   _chunksc         O   s8   | i  d d  } t t |   i | |   | |  _ d  S(   NRV   (    (   RB   Rp   R   Rq   RV   (   Rc   R   Ry   RV   (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyRq   b  s    (   R   R   R   R   R   RV   Rq   (    (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyR   \  s   	t
   StyledTextc           B   s)   e  Z e i d   Z d   Z d   Z RS(   t   _stylesc         O   s8   | i  d d  } t t |   i | |   | |  _ d  S(   NRI   (    (   RB   Rp   R   Rq   RI   (   Rc   R   Ry   RI   (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyRq   k  s    c         C   s   |  i  o d } g  } xM t |  i |  i   D]6 \ } } | t |  7} | i t |  | g  q, Wd | d d <t |  i |  i d |  i	 | |  i
 |  i |  i |  i 	 n t t |   i   d  S(   Ni    ii   i   (   i   i   (   RI   R[   RV   R?   R   R<   RZ   R7   R   R   RJ   RK   R   RM   Rp   R   R   (   Rc   RT   RI   R`   t   style(    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyR   q  s    
  (   R   R   R   R   RI   Rq   R   (    (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyR   h  s   	t   FastStyledTextc           B   s   e  Z RS(    (   R   R   (    (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyR     s   c            s     f d   } | S(   Nc   
         s
  |  i  d j o- |  i  d j o t i i   t i @o d  Sd d g } g  }   i D] } | | d f qW ~ } x | o | i   \ } } g  } | i D] } | | | d f q ~ } | | 7} d }	 | o | d | d | d }	 n |	 t |  GHqv Wd  S(   Ni   i   s   |-s   | i    R   (   t   buttonR   R   t   get_modst   KMOD_ALTt   childrenRB   t   str(
   R   t   prefixesR   t   childt   kidst   kidt   depthR   t   further_kidst   prefix(   Rw   (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyt   print_on_click  s     * .
(    (   Rw   R   (    (   Rw   sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyt   _make_prototype_handler  s    t   ProtoWidgetc           B   sJ   e  Z d  Z d Z d   Z d   Z d   Z d   Z d   Z d   Z	 RS(   si  Prototyping widget, for creating quick mockups.

       Usage:
       Type to name.
       Drag to move.
       Shift+Drag to resize.
       Control+Drag to duplicate. (children will not duplicate)
       Shift+Control+Drag to create a child.

       Right-click to delete.
       Middle-click or Alt+Click to write out location and size of each widget.
       ic         O   s`   | i  d d  | i  d d  | i  d t i  | i  d d	  t t |   i | |   d  S(
   NR9   i    R   t   bordersR   i   (   i    i    i    (   i    i    i    (   i   i   i   (   t
   setdefaultR=   t   ALLRp   R   Rq   (   Rc   R   Ry   (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyRq     s
    c         C   s   t  t |   i   |  i i t i |  i  |  i i t i |  i	  t
 |  i t  oF t |  i d t  o/ t |  i _ |  i i t i t |  i   n d  S(   Nt	   demo_mode(   Rp   R   R   Rw   R   R=   t   DRAGt   handle_dragR   R   t
   isinstanceR   R_   R5   R   R   (   Rc   (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyR     s    c         C   sI   |  i  i t i |  i  |  i  i t i |  i  t t |   i	   d  S(   N(
   Rw   R   R=   R  R  R   R   Rp   R   R   (   Rc   (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyR     s    c            s   i  d j ot  f d   t d  D    i   ox/  i D]$ } | i   o d  _  d  SqL W i d  
 t  
 f d   t d  D   _ t i i	   } | t i
 @} | t i @} | oi | ob d  _  t d    i D    t  d    i d  i d  i d	  i } d | _  q| o d  _  q| o^ d  _  t  i  i  i  i d  i d  i d	  i } d
 | _   i | _ qd
  _  qd  _  n  i  d j o d  S i o  i i  n t i d t i    i  d
 j o t i i   	 t  	 f d   t d  D   t   f d   t d  D   t  f d   t d  D   t  f d   t d  D   t  f d   t d  D   _ t i  n  i  d j o t i i   	 t  	 f d   t d  D    t   f d   t d  D   t  f d   t d  D   t  f d   t d  D   _ t i  n d  S(   Nic         3   s+   x$ |  ] }   i  |   i | Vq Wd  S(   N(   R$   t   rel(   t   .0t   i(   R   (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pys	   <genexpr>  s   	 i   i    c         3   s%   x |  ] }  |   | Vq Wd  S(   N(    (   R  R  (   t	   start_post   real_pos(    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pys	   <genexpr>  s   	c         s   s   x |  ] } | d  Vq Wd S(   i   N(    (   R  t   d(    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pys	   <genexpr>  s   	 R   R   R   i   c         3   s(   x! |  ] }   i  |  | Vq Wd  S(   N(   t	   mouse_rel(   R  R  (   Rc   t	   mouse_pos(    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pys	   <genexpr>  s   	 c         3   s%   x |  ] }   |  | Vq Wd  S(   N(    (   R  R  (   t   new_real_post   parent_rect(    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pys	   <genexpr>  s   	 c         3   s7   x0 |  ]) } t  d    | t t i |   Vq Wd S(   i    N(   R.   t   floatR   R   (   R  R  (   t   new_rel_pos(    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pys	   <genexpr>  s   	c         3   s+   x$ |  ] } t    | d  d  Vq Wd S(   id   g      ?N(   R   (   R  R  (   t   new_unit_pos(    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pys	   <genexpr>  s   	c         3   s!   x |  ] }   | d  Vq Wd S(   g      Y@N(    (   R  R  (   t   new_pct_pos(    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pys	   <genexpr>  s   	 c         3   s(   x! |  ] }  |   i  | Vq Wd  S(   N(   R   (   R  R  (   Rc   R  (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pys	   <genexpr>  s   	 c         3   s7   x0 |  ]) } t  d    | t t i |   Vq Wd S(   i    N(   R.   R  R   R   (   R  R  (   t   new_size(    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pys	   <genexpr>  s   	c         3   s+   x$ |  ] } t    | d  d  Vq Wd S(   id   g      ?N(   R   (   R  R  (   t	   unit_size(    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pys	   <genexpr>   s   	c         3   s!   x |  ] }   | d  Vq Wd S(   g      Y@N(    (   R  R  (   t   pct_size(    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pys	   <genexpr>  s   	 (   i    i    (   i    i    (   t
   drag_stateR   t   ranget   is_overR   R   R
  R   R   R   t
   KMOD_SHIFTt	   KMOD_CTRLR   R   Rx   R   R   R   Rw   R$   t   RectR   R   t   mouset   get_posR=   R   (   Rc   R   R   t   mod_keyst   shiftt   controlt   pw(    (   R  R  R   Rc   R  R  R  R  R  R  R  R  R  sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyR    sv    "
 										
%%%%%c         C   s   | i  d j op |  i | i  o] t } x/ |  i D]$ } | i | i  o t } Pq3 q3 W| o |  i   t |  i _ q n |  i	 d j o d |  _	 n
 d |  _	 d  S(   Ni   i    i(
   R   R  R$   R5   R   R_   R   Rw   Rb   R  (   Rc   R   t   mineR   (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyR     s    #
 	
c         C   s   d |  i  f |  i |  i S(   Ns(   %s pos: (%.2f, %.2f), size: (%.2f, %.2f)(   R   R$   R   (   Rc   (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyt   __str__  s    (
   R   R   R   R  Rq   R   R   R  R   R"  (    (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyR     s   		
		L	(    R   R   R=   R   R_   R   R   R
   R   R   t	   ExceptionR   R5   R-   R3   R;   RZ   RF   Rd   t   BorderedWidgetRe   R   R   t   FocusWidgetR   R   R   R   R   R   R   R   (    (    (    sK   /home/trcarlson/Desktop/python/endg-singularity/trunk/code/graphics/text.pyt   <module>   s4   					'		1			
	