
    -e                       d dl mZ d dlZ ej        e          ZddlmZmZm	Z	m
Z
mZmZmZ ddlmZmZ ddlmZ ddlmZmZ dd	lmZmZ d
Z G d de          Z G d de          ZedddZedddZedddZedddZdS )    )annotationsN   )EitherEnumInstanceInstanceDefaultIntRequiredString)Optional	Undefined)Model   )DataRange1dRange)LinearScaleScale)CoordinateMappingNodec                      e Zd ZdZd fdZ ee ee          d          Z	 ee ee          d          Z
 ee ee          d          Z ee ee          d	          Z eed
          Z eed          Z xZS )r   z+ A mapping between two coordinate systems. returnNonec                :     t                      j        |i | d S Nsuper__init__selfargskwargs	__class__s      8lib/python3.11/site-packages/bokeh/models/coordinates.pyr   zCoordinateMapping.__init__4   %    $)&)))))    zS
    The source range of the horizontal dimension of the new coordinate space.
    defaulthelpzQ
    The source range of the vertical dimension of the new coordinate space.
    z
    What kind of scale to use to convert x-coordinates from the source (data)
    space into x-coordinates in the target (possibly screen) coordinate space.
    z
    What kind of scale to use to convert y-coordinates from the source (data)
    space into y-coordinates in the target (possibly screen) coordinate space.
    zS
    The horizontal range to map x-coordinates in the target coordinate space.
    r(   zQ
    The vertical range to map y-coordinates in the target coordinate space.
    r   r   )__name__
__module____qualname____doc__r   r   r   r   r   x_sourcey_sourcer   r   x_scaley_scalex_targety_target__classcell__r"   s   @r#   r   r   0   s%       55* * * * * * x{'C'C K 	 	 	H x{'C'C K 	 	 	H huook&B&B J 	 	 	G
 huook&B&B J 	 	 	G
 x % 	 	 	H x % 	 	 	HHHHHr%   r   c                       e Zd ZdZd fdZ e e ee           e	dddd                    d	
          Z
 eed
          Z edd          Z xZS )r   z
    Represents a symbolic coordinate (by name).

    .. note::
        This model is experimental and may change at any point.
    r   r   c                :     t                      j        |i | d S r   r   r   s      r#   r   zNode.__init__Z   r$   r%   canvasplotframeparenta  
    The provider of coordinates for this node.

    This can be either a concrete model that can provide its coordinates (e.g.
    a renderer, a frame or a canvas) or an implicit target defined by the
    enum, which is resolved as the nearest parent of the given type. If the
    provider cannot be determined or it isn't able to provide coordinates,
    then the node resolved to an invalid coordinate (with x and y components
    being ``NaN``).
    r)   z
    A symbolic name of a coordinate to provide.

    The allowed terms are dependent on the target of this node. For example,
    for box-like targets this will comprise of box anchors (e.g. center, top
    left) and box edges (e.g. top, left).
    r   z<
    Optional pixel offset for the computed coordinate.
    r&   r*   )r+   r,   r-   r.   r   r
   r   r   r   r   targetr   symbolr	   offsetr5   r6   s   @r#   r   r   Q   s         * * * * * * XffXXe__dd8VWh.W.WXX 	` 		 		 		F Xf $ 	 	 	F S " 	 	 	FFFFFr%   r   r?   r?   Optional[int]r   c                &    t          dd|           S )Nr;   leftr=   r>   r?   r   r@   s    r#   	FrameLeftrF   x   s    wvf====r%   c                &    t          dd|           S )Nr;   rightrD   rE   r@   s    r#   
FrameRightrI   {   s    wwv>>>>r%   c                &    t          dd|           S )Nr;   toprD   rE   r@   s    r#   FrameToprL   ~   s    wuV<<<<r%   c                &    t          dd|           S )Nr;   bottomrD   rE   r@   s    r#   FrameBottomrO      s    wx????r%   )r?   rA   r   r   ) 
__future__r   logging	getLoggerr+   logcore.propertiesr   r   r   r   r	   r
   r   core.property.singletonsr   r   modelr   rangesr   r   scalesr   r   __all__r   r   rF   rI   rL   rO    r%   r#   <module>r[      s   # " " " " " g!!                  ; : : : : : : :       & & & & & & & & & & & & & & & &	 	 	 	 	 	 	 	B!	 !	 !	 !	 !	5 !	 !	 !	N *3 > > > > > > +4 ? ? ? ? ? ? )2 = = = = = = ,5 @ @ @ @ @ @ @ @r%   