
    kfd!                        d dl mZ d dlmZmZ d dlmZmZmZm	Z	m
Z
 d dlmZ d dlT d dlT d dlmZ d dlmZ d dlmZ  G d	 d
e          Zedk    r4 e            Ze                                                    d           dS dS )    )colors)blackwhite)PolygonStringDrawingGroupRect)Widget)*)cm)getFont)
ShadedRectc            	       N   e Zd ZdZ ed?i d eed          d eed          d eed          d	 eed
          d ee	d          d ee	d          d ee
d          d ee
d          d eed          d eed          d ee	d          d eed          d eed          d eed          d eed          d  eed!          d" eed#          d$ eed%          d& eed'          d( eed)          d* eed+          d, eed-          d. eed/          d0 eed1          d2 eed-          d3 eed4          d5 eed6          d7 eed8          Zd9 Zd: Zd; Zd@d=Zd> Zd<S )ASlideBoxzReturns a slidebox widgetlabelFontNamez Name of font used for the labels)desclabelFontSizez Size of font used for the labelslabelStrokeColorzColour for for number outlineslabelFillColorzColour for number insides
startColorzColor of first boxendColorzColor of last boxnumberOfBoxeszHow many boxes there aretrianglePositionz)Which box is highlighted by the trianglestriangleHeightzHeight of indicator trianglestriangleWidthzWidth of indicator trianglestriangleFillColorzColour of indicator trianglestriangleStrokeColorz$Colour of indicator triangle outlinetriangleStrokeWidth	boxHeightzHeight of the boxesboxWidthzWidth of the boxes
boxSpacingzSpace between the boxesboxOutlineColorz)Colour used to outline the boxes (if any)boxOutlineWidthz!Width of the box outline (if any)leftPaddingzPadding on left of drawingrightPaddingzPadding on right of drawing
topPaddingzPadding at top of drawingbottomPaddingzPadding at bottom of drawing
backgroundz0Colour of the background to the drawing (if any)sourceLabelTextz/Text used for the 'source' label (can be empty)sourceLabelOffsetsourceLabelFontNamez(Name of font used for the 'source' labelsourceLabelFontSizez Font size for the 'source' labelsourceLabelFillColorz0Colour ink for the 'source' label (bottom right)c                 z   d| _         d| _        t          | _        t          | _        t          j        ddd          | _        t          j        ddd          | _	        d	| _
        d	| _        d
t          z  | _        dt          z  | _        t          | _        t          | _        d| _        dt          z  | _        dt          z  | _        dt          z  | _        t          | _        d| _        d| _        d| _        d| _        d| _        d | _        d| _        dt          z  | _        d| _        d| _        t          | _         d S )NzHelvetica-Bold
   g?g?g?g?gSSSSSS?g?   gQ?gRQ?g(\?g?g\(\?g333333?   zSource: ReportLabg?zHelvetica-Oblique   )!r   r   r   r   r   r   r   Colorr   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   )selfs    b/var/www/html/nettyfy-visnx/env/lib/python3.11/site-packages/reportlab/graphics/charts/slidebox.py__init__zSlideBox.__init__,   s   - %# ,y9EEXhyAA !"2g!"W!&#( #' bR($#2!$R#6 #$ $)!!!    c                     | j         | j        z  }| j         dk    r|| j         dz
  | j        z  z   }|| j        z   | j        z   }| j        | j        z   }|| j        z   | j        z   | j	        z   | j
        z   }||fS )N   )r   r!   r"   r%   r&   r    r   r'   r(   r+   r-   )r5   txtys      r6   _getDrawingDimensionszSlideBox._getDrawingDimensionsJ   s    t},aB);A)=t(N$Odt00>$--dod001GGH``2wr8   c           
          | j         dz   }| j        }| j        }g }t          d|          D ]0}|                    t          j        ||d|dz
  |                     1|S )Nr:   r   )r   r   r   rangeappendr   linearlyInterpolatedColor)r5   	numShadesfillColorStartfillColorEnd
colorsListis         r6   
_getColorszSlideBox._getColorsR   sv    &q(	}
q## 	q 	qAf>~|]^`ijk`kmnooppppr8   Nc                     |s'|                                  \  }}t          ||          }|                    |                                            |S N)r=   r   adddraw)r5   drawingr;   r<   s       r6   demozSlideBox.demo]   sK     	%,,..EBrbnnGDIIKK   r8   c                    t                      }| j        | j        dz  z   | j        z   | j        z   }| j        rL|                                 \  }}|                    t          | j	         | ||d d| j                             t          | j                  j        j        dz  }|dk    rd}|| j        z  }|                                 }d}t!          d| j                  D ]8}t%                      }||_        d|_        | j        |_        | j        |_        d|_        d|_        ||         |_        ||dz            |_        d |_        d|_        |                    |           |                    t          |d| j        | j        | j        | j         d                      |                    tC          || j        d	z  z   | j        |z
  d	z  tE          |dz             | j#        | j$        d
| j        | j                             || j        z   | j%        z   }:| j&        | j        z  }	| j&        dk    r|	| j&        dz
  | j%        z  z   }	|	| j        dz  z
  }	|                    tO          | j(        | j)        | j*        |	| j        | j        dz  z
  |	| j+        dz  z
  | j        | j        dz  z   |	| j+        dz  z   | j        | j        dz  z   |	| j        | j        dz  z
  g                     |                    tO          | j(        | j)        | j*        |	d| j        dz  z   |	| j+        dz  z
  d| j        dz  z
  |	| j+        dz  z   d| j        dz  z
  |	d| j        dz  z   g                     | j,        d k    r`|                    tC          || j%        z
  d| j        dz  z
  | j        z
  | j        z
  | j,        | j-        d| j.        | j                             |/                    | j	        |           |S )N   r   )strokeColorstrokeWidth	fillColorg     @@g`"?vertical   r:   g       @middle)textrR   rP   
textAnchorfontNamefontSize)rP   rQ   rR   pointsend)rV   rR   rW   rX   rY   )0r	   r(   r   r+   r-   r)   r=   rJ   r
   r%   r   r   faceascentr   rG   r?   r   r   xyr!   widthr    heightorientationrB   rC   rD   rP   rQ   r#   r$   r   strr   r   r"   r   r   r   r   r   r   r*   r.   r,   shift)
r5   gysr^   r_   r]   rE   fsrxts
             r6   rK   zSlideBox.drawd   sb   GG!4Q!678NNtOgg? 	3,,..CAaEE$(("Qq#'#$!%2 2 2 3 3 3
 t)**/6u<199Ufd((__&&
 $,-- 	. 	.A||BBDBD]BHnBI'BNBL *1B(1oBO!BNBNEE"IIIEE$q4=#3#3!# # # $ $ $
 EE&4=++T^F-BB,Fac((#2#4 ("0"02 2 2 3 3 3 odo-AA #DM1 ""T*1,do==Bq!	g22.t~t':1'<=*1,-dnd>QRS>S.T*1,-dnd>QRS>S.T4>4+>q+@AC	D D D 	E 	E 	E 	
g22.q$-a/0*1,-a1DQ1F.G*1,-a1DQ1F.Gq$-a/02	3 3 3 	4 	4 	4 4''EE&4?*1d.A!.C+DTE[+[]a]u+v"2#'#<$)"&":"&":< < < = = = 	
 "%%%r8    rI   )__name__
__module____qualname____doc__AttrMapAttrMapValueisStringisNumberisColorOrNoneisColorisIntisNumberOrNoneisNoneOrString_attrMapr7   r=   rG   rM   rK   rj   r8   r6   r   r      s       ##w 
 
 
$X4VWWWW
$X4VWWWW
 (<<\]]]]
 &m:UVVVV	

 "\'0DEEEE
  <.ABBBB
 %U1KLLLL
 (<4_````
 &h5TUUUU
 %X4RSSSS
 )L7VWWWW
 +l=?effff
 +l8:`aaaa
 !L0EFFFF
  </CDDDD
  "\(1JKKKK!
" ',};fgggg#
$ ',~<_````%
& #l82NOOOO'
( $|H3PQQQQ)
* "\(1LMMMM+
, %X4RSSSS-
. "\-6hiiii/
0 ',~<mnnnn1
2 )L8VWWWW3
4 +l8:deeee5
6 +l8:\]]]]7
8  ,|M@rssss9
H>* * *<  	 	 	   P P P P Pr8   r   __main__slidebox)fnRootN)reportlab.libr   reportlab.lib.colorsr   r   reportlab.graphics.shapesr   r   r   r	   r
   reportlab.graphics.widgetbaser   reportlab.lib.attrmapreportlab.lib.validatorsreportlab.lib.unitsr   reportlab.pdfbase.pdfmetricsr    reportlab.graphics.widgets.gridsr   r   rk   drM   saverj   r8   r6   <module>r      s.               - - - - - - - - K K K K K K K K K K K K K K 0 0 0 0 0 0 # # # # & & & & " " " " " " 0 0 0 0 0 0 7 7 7 7 7 7i i i i iv i i iX z

AFFHHMMM$$$$$ r8   