ó
    xÁ.j³  ã                  ó�   • S r SSKJr  SSKJr  SSKJrJrJr  SSK	r	SSK
JrJrJr  \\\\\4   rS
S jrSSS jjr      SS	 jrg)z:Render a PDF page and draw labeled normalized boxes on it.é    )Úannotations)ÚPath)ÚListÚSequenceÚTupleN)ÚImageÚ	ImageDrawÚ	ImageFontc                ó|   •  [         R                  " SU 5      $ ! [         a    [         R                  " 5       s $ f = f)Nz4/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf)r
   ÚtruetypeÚ	ExceptionÚload_default)Úsizes    Ú4/home/mande/repo/quber/experiments/que245/overlay.pyÚ_fontr      s:   € ð(Ü×!Ò!Ð"XÐZ^Ó_Ð_øÜó (Ü×%Ò%Ó'Ò'ð(ús   ‚ ™;º;c                óö   • [         R                  " [        U 5      5      nX1S-
     R                  US9n[        R
                  " SUR                  UR                  /UR                  5      R                  S5      $ )Né   )ÚdpiÚRGB)
ÚfitzÚopenÚstrÚ
get_pixmapr   Ú	frombytesÚwidthÚheightÚsamplesÚconvert)ÚpdfÚpager   ÚdocÚpixs        r   Úrender_pager#      s]   € Ü
�)Š)”C˜“HÓ
€CØ
�Q‰h‰-×
"Ñ
" sÐ
"Ð
+€CÜ�?Š?˜5 3§9¡9¨c¯j©jÐ"9¸3¿;¹;ÓG×OÑOÐPUÓVÐVó    c                óÐ  • U R                  5       n[        R                  " U5      nUR                  u  pE[	        S5      n[        U5       H—  u  nu  p‰n
[        U	5       H  u  nu  pÍpïXÄ-  XÕ-  Xä-  Xõ-  /nUS-  nUR                  US   U-
  US   U-
  US   U-   US   U-   /U
SS9  UR                  US   S-   [        SUS   S-
  US-  -
  5      4U US-    3X¦S	9  M�     M™     U$ )
zADraw several labeled box layers. Each layer = (name, boxes, rgb).é   é   r   r   é   )Úoutliner   é   é   )ÚfillÚfont)	Úcopyr	   ÚDrawr   r   Ú	enumerateÚ	rectangleÚtextÚmax)ÚimgÚlayersÚoutÚdrÚWÚHr-   ÚliÚnameÚboxesÚrgbÚbiÚx0Úy0Úx1Úy1ÚpxÚoffs                     r   Ú
draw_boxesrE      s
  € ð
 �(‰(‹*€CÜ	�Š˜Ó	€BØ�8‰8�D€AÜ�‹9€DÜ"+¨FÖ"3ÑˆÑˆT˜#Ü$-¨eÖ$4Ñ ˆBÑ �˜Ø‘&˜"™& "¡&¨"©&Ð1ˆBà�q‘&ˆCØ�L‰L˜"˜Q™% #™+ r¨!¡u¨s¡{°B°q±E¸C±KÀÀAÁÈÁÐMÐWZÐbcˆLÑdØ�G‰G�R˜‘U˜Q‘Y¤ A r¨!¡u¨r¡z°B¸±GÑ';Ó <Ð=À$ÀÈÈ1ÉÀv¸ÐUXˆGÓdó %5ñ #4ð €Jr$   )r   Úint)é–   )r   r   r    rF   r   rF   ÚreturnúImage.Image)r4   rI   r5   z9Sequence[Tuple[str, Sequence[Box], Tuple[int, int, int]]]rH   rI   )Ú__doc__Ú
__future__r   Úpathlibr   Útypingr   r   r   r   ÚPILr   r	   r
   ÚfloatÚBoxr   r#   rE   © r$   r   Ú<module>rR      sZ   ðÙ @å "å ß (Ñ (ã ß +Ñ +àˆE�5˜% Ð&Ñ'€ô(öWðØ	ðàEðð õr$   