Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3
0øªjQ" ã @ s„ d Z ddlmZ ddlmZ ddlmZmZ ddlm Z ddl
mZ ddlm
Z
ed d
„ ƒZdd„ Zd
d„ Zddd„Zddd„ZdS )zL
weasyprint.float
----------------
Layout for floating boxes.
é )Úboxesé )Úhandle_min_max_width)Úresolve_percentagesÚresolve_position_percentages)Ú
shrink_to_fit)Ú inline_replaced_box_width_height)Útable_wrapper_widthc C s | j dkrt|| |j ƒ| _ d S )NÚauto)Úwidthr )ÚboxÚcontextÚcontaining_block© r ú=/tmp/pip-build-_d5lkt3n/weasyprint/weasyprint/layout/float.pyÚfloat_width s
r c C sª ddl m} ddlm} |j|j } }
t|| |
fƒ |
dkrJ|j|jƒ }
t || |
fƒ |j
dkrhd|_
|jdkrxd|_|jdkrˆd|_|j
dkr˜d|_
t| |ƒ}|dk r¸| j|7 _t|tjƒrÐt||ƒ n|jdkræt|| |ƒ |jrüt| || |
fƒ t|tjƒ�rB| jƒ || |||d||ddd � \}}}
}
}
| j|ƒ nHt|tjƒ�rt|| ||||d||d
�\}}}
}
}
nt|tjƒ�s†t‚d}t| ||ƒ}| jj|ƒ ||fS )z/Set the width and position of floating ``box``.r )Úblock_container_layout)Úflex_layoutr
é NTF)Úbottom_spaceÚ
skip_stackÚ
page_is_emptyÚabsolute_boxesÚfixed_boxesZadjoining_marginsÚdiscard)r r r r r r )Úblockr Zflexr r Úheightr Ú
position_yZ
content_box_yr Úmargin_leftÚmargin_rightÚ
margin_topZ
margin_bottomÚ
get_clearanceÚ
isinstancer ÚBlockReplacedBoxr r Úis_table_wrapperr ZBlockContainerBoxZcreate_block_formatting_contextZfinish_block_formatting_contextZFlexContainerBoxÚAssertionErrorÚfind_float_positionÚexcluded_shapesÚappend)r
r r r r r r r r Zcb_widthZ cb_heightÚ clearanceZ resume_atÚ_r r r Úfloat_layout sV
r+ c C sz | j r.| j d j}|j|k r.|jd||j ƒ t| ||ƒ\}}}|jd dkr^|||jƒ 7 }|j||j ||j ƒ |S )z,Get the right position of the float ``box``.r r ÚfloatÚrightéÿÿÿÿ)r' r Ú translateÚavoid_collisionsÚstyleÚmargin_widthÚ
position_x)r
r r Z highest_yr3 r Úavailable_widthr r r r&