;ò
¸0sDc           @   sµ  d  Z  d Z d k Z d k Z d k l Z d k l Z l Z l	 Z	 l
 Z
 l Z l Z l Z l Z l Z l Z l Z l Z l Z l Z d k Td k l Z l Z d k l Z l Z l Z d k l Z l Z l  Z  l! Z! l" Z" l# Z# d	 k$ l% Z% d
 k& l' Z' l( Z( d k) l* Z* d „  Z+ d „  Z, d „  Z- d d „ Z. d e f d „  ƒ  YZ/ d f  d „  ƒ  YZ0 d e f d „  ƒ  YZ1 d e/ f d „  ƒ  YZ2 d „  Z3 d „  Z4 d „  Z5 d „  Z6 d S(   s=   This will be a collection of legends to be used with charts.
s6    $Id: legends.py 2604 2005-06-08 10:12:46Z rgbecker $ N(   s   colors(   s   isNumbers   OneOfs   isStrings   isColorOrNones   isNumberOrNones   isListOfNumbersOrNones   isStringOrNones	   isBooleans   NoneOrs   AutoOrs   isAutos   Autos   isBoxAnchors
   SequenceOf(   s   *(   s   stringWidths   getFont(   s   Widgets   TypedPropertyCollections
   PropHolder(   s   Drawings   Groups   Strings   Rects   Lines   STATE_DEFAULTS(   s   PlotArea(   s   uSymbol2Symbols   isSymbol(   s	   isSeqTypec         C   s,   t  |  ƒ o t t |  ƒ Sn t |  ƒ Sd  S(   N(   s	   isSeqTypes   ss   maps   str(   s   s(    (    s   ./legends.pys   _getStr   s    c         C   sd   t  |  ƒ o? t g  i } |  D]  } | | p d i d ƒ ƒ q ~ ƒ Sn |  p d i d ƒ Sd  S(   Ns    s   
(   s	   isSeqTypes   ss   tuples   appends   _[1]s   xs   split(   s   ss   _[1]s   x(    (    s   ./legends.pys	   _getLines   s    ?c         C   s\   t  |  ƒ } t |  ƒ o5 t g  i } | D] } | t | ƒ ƒ q* ~ ƒ Sn t | ƒ Sd  S(   N(	   s	   _getLiness   ss   Ts	   isSeqTypes   maxs   appends   _[1]s   xs   len(   s   ss   _[1]s   Ts   x(    (    s   ./legends.pys   _getLineCount#   s    5i    c   	      C   sö   t  |  ƒ o‘ d } xh |  D]` } g  i } | i d ƒ D] } | t | | | ƒ ƒ q7 ~ } | | o
 t | ƒ p d 7} q W| t |  ƒ d | 7} | Sn g  i } |  i d ƒ D] } | t | | | ƒ ƒ qµ ~ } | o
 t | ƒ p d Sd  S(   Ni    s   
i   (   s	   isSeqTypes   ss   sums   ts   appends   _[1]s   splits   xs   stringWidths   fontNames   fontSizes   ms   maxs   lens   sepSpace(	   s   ss   fontNames   fontSizes   sepSpaces   ms   sums   _[1]s   ts   x(    (    s   ./legends.pys	   _getWidth*   s     <"<s   Legendc        @   B   sÃ  t  Z d  Z e d e e d d ƒd e e d d ƒd e e d d ƒd e e d d	 ƒd
 e e d d ƒd e e d d ƒd e e d d ƒd e e d d ƒd e e d d ƒd e e d d ƒd e e d d ƒd e e d d ƒ d d ƒd e e d d ƒd e e	 d d ƒd  e e d d! ƒd" e e
 d d# ƒd$ e e
 d d% ƒd& e e d d' ƒd( e e e e ƒ ƒ d d) ƒd* e e d d+ ƒd, e e d- ƒ d. e e d/ ƒ d0 e e d1 d2 d3 d4 d5 d6 d7 d8 ƒ d9 ƒ d: e e d d; ƒd< e e
 d d= ƒd> e e d d? ƒd@ e e e dA d1 dB d3 dC d3 ƒd dD ƒdE e e d dF ƒdG e e d dH ƒdI e e d dJ ƒƒ Z dK „  Z dL „  Z dM „  Z dN „  Z dO „  Z dP „  Z dQ „  Z dR „  Z dS „  Z RS(T   s%  A simple legend containing rectangular swatches and strings.

    The swatches are filled rectangles whenever the respective
    color object in 'colorNamePairs' is a subclass of Color in
    reportlab.lib.colors. Otherwise the object passed instead is
    assumed to have 'x', 'y', 'width' and 'height' attributes.
    A legend then tries to set them or catches any error. This
    lets you plug-in any widget you like as a replacement for
    the default rectangular swatches.

    Strings can be nicely aligned left or right to the swatches.
    s   xs   descs*   x-coordinate of upper-left reference points   ys*   y-coordinate of upper-left reference points   deltaxs(   x-distance between neighbouring swatchess   deltays(   y-distance between neighbouring swatchess   dxTextSpaces*   Distance between swatch rectangle and texts   autoXPaddings(   x Padding between columns if deltax=Nones   autoYPaddings%   y Padding between rows if deltay=Nones   yGaps   Additional gap between rowss   dxs   Width of swatch rectangles   dys   Height of swatch rectangles   columnMaximums   Max. number of items per columns	   alignments   lefts   rights*   Alignment of text with respect to swatchess   colorNamePairss4   List of color/name tuples (color can also be widget)s   fontNames   Font name of the stringss   fontSizes   Font size of the stringss	   fillColors    s   strokeColors   Border color of the swatchess   strokeWidths)   Width of the border color of the swatchess   swatchMarkers)   None, Auto() or makeMarker('Diamond') ...s   callouts'   a user callout(self,g,x,y,(color,text))s	   boxAnchors    Anchor point for the legend areas
   variColumns1   If true column widths may vary (default is false)s   dividerLinesi    i   i   i   i   i   i   i   sG   If 1 we have dividers between the rows | 2 for extra top | 4 for bottoms   dividerWidths   dividerLines widths   dividerColors   dividerLines colors   dividerDashArrays   Dash array for dividerLines.s   dividerOffsXs   emptyOKs   los   his   divider lines X offsetss   dividerOffsYs   dividerLines Y offsets   sepSpaces   separator spacings   colEndCallouts.   a user callout(self,g, x, xt, y,width, lWidth)c         C   sb  d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _	 d |  _
 d |  _ t i d	 f t i d
 f t i d f t i d f t i d f g |  _ t d |  _ t d |  _ t d |  _ t d |  _ t d |  _ t |  _ d |  _ d |  _ d |  _ d |  _ d |  _ t |  _  t i! |  _" d d f |  _# d |  _$ d |  _% t |  _& d  S(   Ni    s   leftiK   i   i   i   i
   i   s   reds   blues   greens   pinks   yellows   fontNames   fontSizes	   fillColors   strokeColors   strokeWidths   nwf0.5('   s   selfs   xs   ys	   alignments   deltaxs   deltays   autoXPaddings   autoYPaddings   dxs   dys   dxTextSpaces   columnMaximums   colorss   reds   blues   greens   pinks   yellows   colorNamePairss   STATE_DEFAULTSs   fontNames   fontSizes	   fillColors   strokeColors   strokeWidths   Nones   swatchMarkers	   boxAnchors   yGaps
   variColumns   dividerLiness   dividerWidths   dividerDashArrays   blacks   dividerColors   dividerOffsXs   dividerOffsYs   sepSpaces   colEndCallout(   s   self(    (    s   ./legends.pys   __init__d   s:    											E									c         C   s=   x2 d d d d f D] } t | | ƒ o | Sq q Wt Sd  S(   Ns   liness   barss   slicess   strands(   s   as   hasattrs   charts   None(   s   selfs   charts   a(    (    s   ./legends.pys   _getChartStyleName–   s
      c         C   s   t  | |  i | ƒ t ƒ Sd  S(   N(   s   getattrs   charts   selfs   _getChartStyleNames   None(   s   selfs   chart(    (    s   ./legends.pys   _getChartStyle›   s    c         C   sš   t  | ƒ o5 g  i } | D] } | t | d ƒ ƒ q ~ } nP | i } g  i } t | i	 ƒ D]& } | t | i | d | ƒ ƒ ƒ qc ~ } | Sd  S(   Ni   s	   series %d(   s   isAutos   colorNamePairss   appends   _[1]s   ps   _getStrs   textss   charts   xranges   _seriesCounts   is   strs   getSeriesName(   s   selfs   colorNamePairss   ps   is   charts   _[1]s   texts(    (    s   ./legends.pys	   _getTextsž   s
    5	Fc         C   sÎ   g  } | i } x< |  i | ƒ D]+ } | i t | |  i |  i	 |  i
 ƒ ƒ q W| o d Sn |  i oX |  i } g  i } t d t | ƒ |  i ƒ D]! } | t | | | | !ƒ ƒ q” ~ Sn t | ƒ Sd S(   s2   Calculate the maximum width of some given strings.i    N(   s   Ms   appends   as   selfs	   _getTextss   colorNamePairss   ts	   _getWidths   fontNames   fontSizes   sepSpaces
   variColumns   columnMaximums   _[1]s   ranges   lens   rs   max(   s   selfs   colorNamePairss   as   Ms   _[1]s   rs   ts   columnMaximum(    (    s   ./legends.pys   _calculateMaxWidth¦   s     	 ) 
	Oc         C   s{  |  i } |  i } |  i | }	 } |  i } t |  i ƒ i	 i
 d } | d j o
 d } n | | 9} | d } |  i } | o t | | ƒ |  i } n d } d } | } |  i d } x² |  i |  i ƒ D]ž } |	 | | d } | t | ƒ | } d | | |	 } |	 t | | ƒ | }
 t | |
 | ƒ } | | j o d } | }	 | d } qÍ |
 }	 | d } qÍ W| | Sd  S(   Nf1000.0i    f0.71799999999999997f1.2i   f0.5i   (   s   selfs   dys   yGaps   ys   thisys
   upperleftys   fontSizes   getFonts   fontNames   faces   ascents   leadings   deltays   maxs   autoYPaddings   columnCounts   counts   lowys   columnMaximums   lims	   _getTextss   colorNamePairss   names   y0s   _getLineCounts   leadingMoves   newys   min(   s   selfs   columnCounts   deltays   y0s   ascents
   upperleftys   leadingMoves   leadings   fontSizes   thisys   newys   dys   yGaps   lowys   counts   names   lims   y(    (    s   ./legends.pys   _calcHeight³   s<    			 


	  c         C   s)   t  | | | | d | d | d | ƒSd  S(   Ns	   fillColors   strokeColors   strokeWidth(   s   Rects   xs   thisys   dxs   dys	   fillColors   strokeColors   strokeWidth(   s   selfs   xs   thisys   dxs   dys	   fillColors   strokeWidths   strokeColor(    (    s   ./legends.pys   _defaultSwatchÑ   s    c   :      C   s®
  |  i } t | ƒ }7 |7 oO t | d t | d t ƒ ƒ } t } t d | ƒ }7 | i	 }0 |  i | ƒ }3 n] t |  d t ƒ } t | ƒ o1 t | d t | d t ƒ ƒ } t d | ƒ } n t | ƒ }0 |  i }" |  i }# |  i } |  i }$ |  i } |  i } |  i }, |  i } |  i } |  i } |  i } |  i }% | d }4 |  i }& | o t |# |4 ƒ |  i } n |  i } | d d d d f j }) |  i! | ƒ } t# |0 |$ d	 |$ ƒ }+ |" |, |  i% } |  i' }/ |/ o! t( t) i* | d
 ƒ | |+ } n+ t | | | ƒ } |+ | } |+ | g } |  i, } |  i. |  i } | d d d d f j oB |  i0 ƒ  } | d d d f j o | | d 7} q| | 7} n |) o6 | d d d f j o | | d 8} qÍ| | 8} n | } t3 ƒ  } | | | | d „ }. t6 | ƒ i7 i8 d } | d
 j o
 d } n | | 9} |$ d	 }1 t |  d t ƒ } |  i; }  |  o1 |  i< }( |  i= }	 |  i> } |  i? }8 |  i@ }' n xtA |0 ƒ D]}- |7 o |7 }9 |- |9 _D |3 |- } np | |- \ }9 } t | ƒ o | }9 |- |9 _D n t | ƒ o2 t | d t | d t ƒ ƒ iF |- d |- ƒ } n tG | ƒ }! g  } t# |- |$ ƒ } | |# | d }5 }
 | o  | |  | | |5 |9 | f ƒ n | d j o>tL | ƒ oÇ xM |! d
 D]A }2 | iN tO | |5 |2 d | d | d | d d ƒƒ |5 |4 8}5 q¯W|5 } |
 }5 xU |! d	 D]I }2 | iN tO | | | |5 |2 d | d | d | d d ƒƒ |5 |4 8}5 qWtQ | |5 ƒ }5 nU xQ |! D]I }2 | iN tO | | | |5 |2 d | d | d | d d ƒƒ |5 |4 8}5 qrW| | | |, }6 n_| d  j oHtL | ƒ oÝ |5 }
 xU |! d
 D]I }2 | iN tO | |" |, |5 |2 d | d | d | d d ƒƒ |5 |4 8}5 q W|5 } |
 }5 x] |! d	 D]Q }2 | iN tO | |" |, | | |5 |2 d | d | d | d d ƒƒ |5 |4 8}5 qdWtQ | |5 ƒ }5 nU xQ |! D]I }2 | iN tO | |" |, |5 |2 d | d | d | d d ƒƒ |5 |4 8}5 qÓW| }6 n
 tR d! ‚ d |
 |5 | } |  o| |" |, | | |8 d	 } | |# d |' } |  d	 @o |- |$ p |  d @o	 |- |$ o: | i* tU | |8 d
 | | | d" |	 d# |( d$ | ƒƒ n |  d% @o |- |$ |1 j p |- |0 d	 j oQ | t | | ƒ |& 8} | i* tU | |8 d
 | | | d" |	 d# |( d$ | ƒƒ qen t |9 ƒ oP t |9 d t |9 d t ƒ ƒ } | i* | iV t |9 d& |- ƒ |6 | |" |# ƒ ƒ nÔ tW |9 tX iY ƒ or tZ | ƒ o0 | i* t[ | |6 |" d | |# d |9 ƒ ƒ q•	| i* |  i\ |6 | |" |# d |9 d# | d" |% ƒƒ nO yD t] i^ |9 ƒ }* |6 |* _, | |* _. |" |* _+ |# |* _1 | i* |* ƒ Wn n Xt` |. | ƒ |  ia o |- |$ |1 j p |- |0 d	 j o{ | d j o
 | } n | |" |, } | |# d |' t | | ƒ |& } |  ia |  | | | | | | | | |" |, ƒ n |- |$ |1 j o1 |/ o | | | | 7} n | | } | } q’| t | | ƒ |& } q’W| Sd  S('   Ns   charts   objs   swatchMarkerf1.2s   nws   ws   sws   autoxi   i    s   nes   ns   autoys   es   cf2.0s   si   c         C   s,   | |  _  | |  _ | |  _ | i |  ƒ Sd  S(   N(   s   fontNames   ts   fontSizes	   fillColors   gs   add(   s   ts   gs   fontNames   fontSizes	   fillColor(    (    s   ./legends.pys   gAdd  s    			f1000.0f0.71799999999999997s   callouts	   series %df0.5s   lefts   fontNames   fontSizes	   fillColors
   textAnchors   starts   ends   rights   bad alignments   strokeColors   strokeWidths   strokeDashArrayi   s   index(c   s   selfs   colorNamePairss   isAutos   autoCPs   getattrs   Nones   charts   swatchMarkers   Autos   _seriesCounts   ns	   _getTextss
   chartTextss   lens   dxs   dys	   alignments   columnMaximums   deltaxs   deltays   dxTextSpaces   fontNames   fontSizes	   fillColors   strokeWidths   strokeColors   leadings   yGaps   maxs   autoYPaddings	   boxAnchors   bas   baws   _calculateMaxWidths   maxWidths   ints   nColss   autoXPaddings   xWs
   variColumns   reduces   operators   adds   widths   xs   thisxs   ys   thisys   _calcHeights   heights
   upperleftys   Groups   gs   gAdds   getFonts   faces   ascents   lims   callouts   dividerLiness   dividerWidths   dividerColors   dividerDashArrays   dividerOffsXs   dividerOffsYs   xranges   is   cols   indexs   names   getSeriesNames	   _getLiness   Ts   Ss   js   y0s	   isSeqTypes   ts   appends   Strings   yds   mins
   ValueErrors   leadingMoves   xds   Lines   makeSwatchSamples
   isinstances   colorss   Colors   isSymbols   uSymbol2Symbols   _defaultSwatchs   copys   deepcopys   cs   maps   colEndCallouts   xt(:   s   selfs   fontNames   colorNamePairss   maxWidths   deltaxs   deltays   js   xds   heights   dividerColors   y0s
   upperleftys   ascents	   alignments   leadingMoves   swatchMarkers   widths   callouts   names   xts   fontSizes	   fillColors   dividerDashArrays   thisys   thisxs   xWs   strokeWidths   bas   charts   yds   gs   Ss   dividerLiness   Ts   dxs   dys   columnMaximums   strokeColors   yGaps   dividerOffsYs   dividerWidths   baws   cs   nColss   dxTextSpaces   is   gAdds
   variColumns   ns   lims   ts
   chartTextss   leadings   ys   xs   autoCPs   dividerOffsXs   col(    (    s   ./legends.pys   drawØ   sT   														
			!
		 


					 	2   $ , , , 4 ,
	--!205				,
#3

c         C   s{   t  d d ƒ } t ƒ  } d | _ d | _ d | _ d | _ d i ƒ  } t
 d „  | ƒ } | | _ | i | d ƒ | Sd	 S(
   s   Make sample legend.iÈ   id   s   lefti    i   s&   red green blue yellow pink black whitec         C   s   t  t |  ƒ |  f S(   N(   s   getattrs   colorss   i(   s   i(    (    s   ./legends.pys   <lambda>¨  s    s   legendN(   s   Drawings   ds   Legends   legends	   alignments   xs   ys   dxTextSpaces   splits   itemss   maps   colorNamePairss   add(   s   selfs   ds   itemss   legend(    (    s   ./legends.pys   demo  s     						(   s   __name__s
   __module__s   __doc__s   AttrMaps   AttrMapValues   isNumbers   isNumberOrNones   OneOfs   Nones   isStrings   isColorOrNones   NoneOrs   AutoOrs   isSymbols   isBoxAnchors	   isBooleans   isListOfNumbersOrNones
   SequenceOfs   _attrMaps   __init__s   _getChartStyleNames   _getChartStyles	   _getTextss   _calculateMaxWidths   _calcHeights   _defaultSwatchs   draws   demo(    (    (    s   ./legends.pys   Legend5   sP    **	2							Ås   TotalAnnotatorc           B   sJ   t  Z d d d d e i d e i e d d d d d f d „ Z d „  Z RS(	   Ns   Totals   0.0s   Times-Romani
   f0.5i    c         C   sp   | |  _  | |  _ | |  _ | |  _ | |  _ |
 |  _ |	 |  _ | |  _ | |  _	 | |  _
 | |  _ | |  _ d  S(   N(   s   lTexts   selfs   rTexts   fontNames   fontSizes	   fillColors   dys   dxs   dlys   dlxs   strokeWidths   strokeColors   strokeDashArray(   s   selfs   lTexts   rTexts   fontNames   fontSizes	   fillColors   strokeWidths   strokeColors   strokeDashArrays   dxs   dys   dlys   dlx(    (    s   ./legends.pys   __init__°  s    											c         C   s—  d k  l } l } |  i } |  i }	 |  i } |  i } |  i }
 t	 |	 ƒ i
 i d } | d j o
 d } n | | 9} | d } | |  i | d } |  i o | o8 | i | | | |  i d |	 d | d	 | d
 d ƒƒ n |  i o< | i | | | | |  i d |	 d | d	 | d
 d ƒƒ n |
 o | o` | |  i | } | i | | |  i d | | |  i d | | d | d |
 d |  i ƒƒ n d  S(   N(   s   Strings   Linef1000.0i    f0.71799999999999997f1.2f1.3s   fontNames   fontSizes	   fillColors
   textAnchors   starts   endi   s   strokeColors   strokeWidths   strokeDashArray(   s   reportlab.graphics.shapess   Strings   Lines   selfs   fontSizes   fontNames	   fillColors   strokeColors   strokeWidths   getFonts   faces   ascents   leadings   ys   dys   yts   lTexts   gs   adds   xts   rTexts   widths   dlys   yLs   xs   dlxs   lWidths   strokeDashArray(   s   selfs   legends   gs   xs   xts   ys   widths   lWidths   strokeColors   fontNames   strokeWidths   Strings   leadings   yts   fontSizes	   fillColors   Lines   ascents   yL(    (    s   ./legends.pys   __call__À  s:    					 



/(   s   __name__s
   __module__s   colorss   blacks   Nones   __init__s   __call__(    (    (    s   ./legends.pys   TotalAnnotator¯  s   9s
   LineSwatchc           B   s•   t  Z d  Z e d e e d d ƒd e e d d ƒd e e d d ƒd e e d d	 ƒd
 e e d d ƒd e e d d ƒƒ Z d „  Z	 d „  Z
 RS(   sH   basically a Line with properties added so it can be used in a LineLegends   xs   descs(   x-coordinate for swatch line start points   ys(   y-coordinate for swatch line start points   widths   length of swatch lines   heights   used for line strokeWidths   strokeColors   color of swatch lines   strokeDashArrays   dash array for swatch linec         C   sT   d k  l } d k l } d |  _ d |  _ d |  _ d |  _ | |  _	 t
 |  _ d  S(   N(   s   red(   s   Linei    i   i   (   s   reportlab.lib.colorss   reds   reportlab.graphics.shapess   Lines   selfs   xs   ys   widths   heights   strokeColors   Nones   strokeDashArray(   s   selfs   Lines   red(    (    s   ./legends.pys   __init__é  s    					c         C   sT   t  |  i |  i |  i |  i |  i ƒ } |  i | _ |  i | _ |  i | _	 | Sd  S(   N(
   s   Lines   selfs   xs   ys   widths   ls   strokeColors   strokeDashArrays   heights   strokeWidth(   s   selfs   l(    (    s   ./legends.pys   drawó  s
    ((   s   __name__s
   __module__s   __doc__s   AttrMaps   AttrMapValues   isNumbers   isColorOrNones   isListOfNumbersOrNones   _attrMaps   __init__s   draw(    (    (    s   ./legends.pys
   LineSwatchÞ  s    	
s
   LineLegendc           B   s    t  Z d  Z d „  Z d „  Z RS(   sÔ   A subclass of Legend for drawing legends with lines as the
    swatches rather than rectangles. Useful for lineCharts and
    linePlots. Should be similar in all other ways the the standard
    Legend class.
    c         C   s#   t  i |  ƒ d |  _ d |  _ d  S(   Ni
   i   (   s   Legends   __init__s   selfs   dxs   dy(   s   self(    (    s   ./legends.pys   __init__  s    	c   	      C   s>   t  ƒ  } | | _ | | _ | | _ | | _ | | _
 | Sd  S(   N(   s
   LineSwatchs   ls   xs   thisys   ys   dxs   widths   dys   heights	   fillColors   strokeColor(	   s   selfs   xs   thisys   dxs   dys	   fillColors   strokeWidths   strokeColors   l(    (    s   ./legends.pys   _defaultSwatch  s    						(   s   __name__s
   __module__s   __doc__s   __init__s   _defaultSwatch(    (    (    s   ./legends.pys
   LineLegendú  s    	c          C   s{   t  d d ƒ }  t ƒ  } d | _ d | _ d | _ d | _ d i ƒ  } t
 d „  | ƒ } | | _ |  i | d ƒ |  Sd	 S(
   s   Make sample legend.iÈ   id   s   righti    i   s&   red green blue yellow pink black whitec         C   s   t  t |  ƒ |  f S(   N(   s   getattrs   colorss   i(   s   i(    (    s   ./legends.pys   <lambda>  s    s   legendN(   s   Drawings   ds   Legends   legends	   alignments   xs   ys   dxTextSpaces   splits   itemss   maps   colorNamePairss   add(   s   ds   itemss   legend(    (    s   ./legends.pys   sample1c  s     						c          C   s   t  d d ƒ }  t ƒ  } d | _ d | _ d | _ d | _ d | _ d | _	 d	 i
 ƒ  } t d
 „  | ƒ } | | _ |  i | d ƒ |  Sd S(   s   Make sample legend.iÈ   id   s   righti   iZ   i<   i
   i   s&   red green blue yellow pink black whitec         C   s   t  t |  ƒ |  f S(   N(   s   getattrs   colorss   i(   s   i(    (    s   ./legends.pys   <lambda>1  s    s   legendN(   s   Drawings   ds   Legends   legends	   alignments   xs   ys   deltaxs   dxTextSpaces   columnMaximums   splits   itemss   maps   colorNamePairss   add(   s   ds   itemss   legend(    (    s   ./legends.pys   sample2c$  s     								c          C   s   t  d d ƒ }  t ƒ  } d | _ d | _ d | _ d | _ d | _ d | _	 d	 i
 ƒ  } t d
 „  | ƒ } | | _ |  i | d ƒ |  Sd S(   s&   Make sample legend with line swatches.iÈ   id   s   righti   iZ   i<   i
   i   s&   red green blue yellow pink black whitec         C   s   t  t |  ƒ |  f S(   N(   s   getattrs   colorss   i(   s   i(    (    s   ./legends.pys   <lambda>E  s    s   legendN(   s   Drawings   ds
   LineLegends   legends	   alignments   xs   ys   deltaxs   dxTextSpaces   columnMaximums   splits   itemss   maps   colorNamePairss   add(   s   ds   itemss   legend(    (    s   ./legends.pys   sample38  s     								c          C   sD  t  d d ƒ }  t ƒ  } d | _ d | _ d | _ d | _ d | _ d | _	 d	 i
 ƒ  } d
 d g d
 d g d
 d
 d d g d d
 d d g d d
 d d g d d
 d d d d g d g f } g  } x` t d t | ƒ ƒ D]I } t ƒ  } t t | | ƒ | _ | | | _ | i | | | f ƒ qÖ W| | _ |  i | d ƒ |  Sd S(   sB   Make sample legend with line swatches and dasharrays on the lines.iÈ   id   s   righti   iZ   i<   i
   i   s&   red green blue yellow pink black whitei   i   i   i   i   i    s   legendN(   s   Drawings   ds
   LineLegends   legends	   alignments   xs   ys   deltaxs   dxTextSpaces   columnMaximums   splits   itemss   darrayss   cnps   ranges   lens   is
   LineSwatchs   ls   getattrs   colorss   strokeColors   strokeDashArrays   appends   colorNamePairss   add(   s   ds   cnps   is   itemss   ls   darrayss   legend(    (    s   ./legends.pys   sample3aL  s*     							` 		(7   s   __doc__s   __version__s   copys   operators   reportlab.libs   colorss   reportlab.lib.validatorss   isNumbers   OneOfs   isStrings   isColorOrNones   isNumberOrNones   isListOfNumbersOrNones   isStringOrNones	   isBooleans   NoneOrs   AutoOrs   isAutos   Autos   isBoxAnchors
   SequenceOfs   reportlab.lib.attrmaps   reportlab.pdfbase.pdfmetricss   stringWidths   getFonts   reportlab.graphics.widgetbases   Widgets   TypedPropertyCollections
   PropHolders   reportlab.graphics.shapess   Drawings   Groups   Strings   Rects   Lines   STATE_DEFAULTSs   reportlab.graphics.charts.areass   PlotAreas"   reportlab.graphics.widgets.markerss   uSymbol2Symbols   isSymbols   reportlab.lib.utilss	   isSeqTypes   _getStrs	   _getLiness   _getLineCounts	   _getWidths   Legends   TotalAnnotators
   LineSwatchs
   LineLegends   sample1cs   sample2cs   sample3s   sample3a(-   s   OneOfs   isAutos   Groups   isColorOrNones   isBoxAnchors   operators   colorss
   LineSwatchs   isNumberOrNones   uSymbol2Symbols   isStringOrNones   Widgets   isNumbers	   isBooleans	   _getLiness   Autos
   SequenceOfs	   _getWidths   Lines   __version__s   TypedPropertyCollections   Legends   Rects   sample2cs   getFonts   _getLineCounts
   LineLegends   isListOfNumbersOrNones   isStrings   TotalAnnotators   copys   Drawings   STATE_DEFAULTSs   Strings   NoneOrs   _getStrs   stringWidths   AutoOrs   PlotAreas   sample1cs
   PropHolders   sample3s   sample3as   isSymbols	   isSeqType(    (    s   ./legends.pys   ?   s0   [+			ÿ {/			