
    Q?h                         S SK Jr  S SKJr  S SKJrJrJrJrJ	r	J
r
  S SKJr  S SK7  S SK7  S SKJr  S SKJr  S SKJr   " S	 S
\5      r\S:X  a%  \" 5       r\R1                  5       R3                  SS9  gg)    )_PCMYK_black)Label)CircleDrawingGroupLineRectString)Widget)*)cm)getFont)	_maxWidthc                       \ rS rSrSr\" \" \SS9\" \SS9\" \SS9\" \	SS9\" \	SS9\" \	S	S9\" \	S
S9\" \
SS9\" \	SS9\" \
SS9\" \	SS9\" \	SS9\" \	SS9\" \	SS9S9rS rS rSS jrS rSrg)DotBox   zReturns a dotbox widget.z/List of text labels for boxes on left hand side)descz+Text label for second box on left hand sidez Name of font used for the labelsz Size of font used for the labelsz&Space between label text and grid edgez!Width of the grid and dot outlinezWidth of each 'box'zColour for the box and griddingz)Diameter of the circle used for the 'dot'zColour of the circle on the boxzX Position of the circlezX Position of dotboxzY Position of dotbox)xlabelsylabelslabelFontNamelabelFontSizelabelOffsetstrokeWidthgridDivWidth	gridColordotDiameterdotColordotXPositiondotYPositionxyc                 @   / SQU l         / SQU l        SU l        SU l        SU l        SU l        S[        -  U l        [        R                  SSS	5      U l
        S
[        -  U l        [        R                  SSS5      U l        SU l        SU l        SU l        SU l        g )N)ValueBlendGrowth)SmallMediumLarge	Helvetica      g      ?g?gSSSSSS?g?g?g?g?g?      )r   r   r   r   r   r   r   r   colorsColorr   r   r   r   r   r    r!   )selfs    R/var/www/html/env/lib/python3.13/site-packages/reportlab/graphics/charts/dotbox.py__init__DotBox.__init__.   s    11(b&||HXi@Rll9YyA    c                    S=n=n=p4[        U R                  5      U R                  -  nXQ-   U-   U R                  -   nU[	        U R                  U R
                  U R                  5      -   n[        U R                  5      U R                  -  nXc-   U-   U R                  -   nU[	        U R                  U R
                  U R                  5      -   nXV4$ )Nr+   )lenr   r   r   r   r   r   r   )r0   leftPaddingrightPadding
topPaddingbottomPaddingtxtys          r1   _getDrawingDimensionsDotBox._getDrawingDimensions?   s    :;;;L;t||T...>,&t'7'77id&8&8$:L:LMMt||T...=&t'7'77id&8&8$:L:LMMwr4   Nc                     U(       d  U R                  5       u  p#[        X#5      nUR                  U R                  5       5        U$ N)r=   r   adddraw)r0   drawingr;   r<   s       r1   demoDotBox.demoP   s5    ,,.EBbnGDIIK r4   c                 
   [        5       nUR                  [        U R                  U R                  [        U R                  5      U R                  -  [        U R                  5      U R                  -  U R                  U R                  S S95        [        S[        U R                  5      5       H  nUR                  [        U R                  U R                  U R                  U R                  X R                  -  -   U R                  [        U R                  5      U R                  -  -   U R                  X R                  -  -   S95        M     [        S[        U R                  5      5       H  nUR                  [        U R                  U R                  U R                  X R                  -  -   U R                  U R                  X R                  -  -   U R                  [        U R                  5      U R                  -  -   S95        M     UR                  [        U R                  U R                  U R                  U R                  U R                  U R                  -  -   U R                  U R                   U R                  -  -   U R"                  S-  S95        [%        U R&                  5      R(                  R*                  nUS:X  a  SnX0R,                  -  nU R                  S :w  a  [        [        U R                  5      S-
  SS5       H  nU R                  U   S :w  d  M  UR                  [/        U R                  U R                  U   U R&                  U R,                  [0        U R                  U R2                  -
  U R                  X R                  -  U R                  U-
  S-  -   -   S	S
95        M     U R                  S :w  Ga<  [        S[        U R                  5      5       GH  nU R                  U   S :w  d  M  [5        5       nU R                  X R                  -  -   U R                  U-   S-  -   Ul        U R                  [        U R                  5      U R                  -  -   U R2                  -   Ul        SUl        SUl        U R&                  Ul        U R,                  Ul        [0        Ul        URA                  U R                  U   5        SUl!        URE                  5         UR                  U5        GM     U$ )N)strokeColorr   	fillColorr,   )rG   r   x1y1x2y2g       @)rG   r   rH   cxcyrr   g`"?end)rG   textfontNamefontSizerH   r    r!   
textAnchorZ   startsw)#r   rA   r	   r    r!   r6   r   r   r   r   r   ranger   r   r   r   r   r   r   r   faceascentr   r
   r   r   r   anglerU   rS   rT   rH   setText	boxAnchorrB   )r0   gfr[   ls        r1   rB   DotBox.drawW   s   G 	
d466$&&T\\!243D3D!DSEVW[WhWhEh#~~#//!# 	$ #dll+,AEE$4>>#'#3#3 FF FF1%6%6#66 FF3t||#4T5F5F#FF FF1%6%6#668 9 - #dll+,AEE$4>>#'#3#3 FF1%6%6#66 FF FF1%6%6#66 FF3t||#4T5F5F#FFH I - 	
f!%!1!1#}}&&$"3"3D4E4E"EF&&$"3"3D4E4E"EF))#-/ 	0 t))*//6619F((( <<4C-a/26<<?T)EE&T^^$(LLO(,(:(:(,(:(:'3!%(8(8!8!%+<+<)<d>O>OPV>VX[=[)[!\*/1 2 7 <<4Ac$,,/0<<?T)gA"3"3 34d6G6G6NPS5SSACDLL 1$2C2C CDTEUEUUACAG!(AL!%!3!3AJ!%!3!3AJ".AKIIdll1o."&AKFFHEE!H 1 r4   )r   r   r   r   r   r   r   r   r   r   r    r   r!   r   r@   )__name__
__module____qualname____firstlineno____doc__AttrMapAttrMapValueisNoneOrListOfNoneOrStringsisStringisNumberisColor_attrMapr2   r=   rD   rB   __static_attributes__ r4   r1   r   r      s    " :BD:>@$X35$X35"89;"846#H&( 24"8<>24#H+-#H+-')')7
H>""Gr4   r   __main__dotbox)fnRootN)reportlab.lib.colorsr   $reportlab.graphics.charts.textlabelsr   reportlab.graphics.shapesr   r   r   r   r	   r
   reportlab.graphics.widgetbaser   reportlab.lib.attrmapreportlab.lib.validatorsreportlab.lib.unitsr   reportlab.pdfbase.pdfmetricsr   #reportlab.graphics.charts.lineplotsr   r   rc   drD   saverp   r4   r1   <module>r      s\    - 6 P P 0 # & " 0 9SV Sp zAFFHMMM" r4   