U
    \$dsD                     @   s,  d dl mZ d dlmZmZ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 d dlmZ d dlmZ G d	d
 d
eZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZ G dd deZ!G dd  d eZ"G d!d" d"eZ#G d#d$ d$eZ$G d%d& d&eZ%G d'd( d(eZ&G d)d* d*eZ'G d+d, d,eZ(G d-d. d.eZ)G d/d0 d0eZ*G d1d2 d2eZ+G d3d4 d4eZ,G d5d6 d6eZ-G d7d8 d8eZ.G d9d: d:eZ/G d;d< d<eZ0G d=d> d>eZ1d?S )@    )Serialisable)	TypedFloatIntegerBoolMinMaxSetNoneSetStringAlias)
Coordinate
Percentage)ExtensionList   )LineProperties)Color)
DRAWING_NSc                   @   s*   e Zd ZdZeZe Ze ZdddZ	dS )Point2DoffNc                 C   s   || _ || _d S Nxyselfr   r    r   =/tmp/pip-unpacked-wheel-dtxbr_v9/openpyxl/drawing/geometry.py__init__   s    zPoint2D.__init__)NN)
__name__
__module____qualname__tagnamer   	namespacer   r   r   r   r   r   r   r   r      s     r   c                   @   s:   e Zd ZdZeZe ZedZ	e Z
edZdddZdS )PositiveSize2DextcxcyNc                 C   s   || _ || _d S r   )r%   r&   )r   r%   r&   r   r   r   r   5   s    zPositiveSize2D.__init__)NN)r   r   r    r!   r   r"   r   r%   r   widthr&   heightr   r   r   r   r   r#   '   s     r#   c                   @   sp   e Zd ZdZeZeddZeddZ	eddZ
eeddZeeddZeeddZeeddZdZd	ddZdS )
Transform2DxfrmT
allow_noneexpected_typer,   r   r$   chOffchExtNc                 C   s.   || _ || _|| _|| _|| _|| _|| _d S r   rotflipHflipVr   r$   r0   r1   r   r3   r4   r5   r   r$   r0   r1   r   r   r   r   L   s    	zTransform2D.__init__)NNNNNNNr   r   r    r!   r   r"   r   r3   r   r4   r5   r   r   r   r#   r$   r0   r1   Z__elements__r   r   r   r   r   r)   =   s$   


       r)   c                   @   sp   e Zd ZdZeZeddZeddZ	eddZ
eeddZeeddZeeddZeeddZdZd
dd	ZdS )GroupTransform2Dr*   Tr+   r-   r/   r   Nc                 C   s.   || _ || _|| _|| _|| _|| _|| _d S r   r2   r6   r   r   r   r   m   s    	zGroupTransform2D.__init__)r   NNNNNNr7   r   r   r   r   r8   ^   s$   


       r8   c                   @   s,   e Zd ZdZe Ze Ze ZdddZdS )SphereCoordsZsphereCoordsNc                 C   s   || _ || _|| _d S r   )latlonrev)r   r:   r;   r<   r   r   r   r      s    zSphereCoords.__init__)NNN)	r   r   r    r!   r   r:   r;   r<   r   r   r   r   r   r9      s      r9   c                ?   @   s   e Zd ZdZedddddddd	d
dddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?g>d@ZedAdBZee	dAdCZ
eedAdCZdGdEdFZdDS )HCameracameraZlegacyObliqueTopLeftZlegacyObliqueTopZlegacyObliqueTopRightZlegacyObliqueLeftZlegacyObliqueFrontZlegacyObliqueRightZlegacyObliqueBottomLeftZlegacyObliqueBottomZlegacyObliqueBottomRightZlegacyPerspectiveTopLeftZlegacyPerspectiveTopZlegacyPerspectiveTopRightZlegacyPerspectiveLeftZlegacyPerspectiveFrontZlegacyPerspectiveRightZlegacyPerspectiveBottomLeftZlegacyPerspectiveBottomZlegacyPerspectiveBottomRightZorthographicFrontZisometricTopUpZisometricTopDownZisometricBottomUpZisometricBottomDownZisometricLeftUpZisometricLeftDownZisometricRightUpZisometricRightDownZisometricOffAxis1LeftZisometricOffAxis1RightZisometricOffAxis1TopZisometricOffAxis2LeftZisometricOffAxis2RightZisometricOffAxis2TopZisometricOffAxis3LeftZisometricOffAxis3RightZisometricOffAxis3BottomZisometricOffAxis4LeftZisometricOffAxis4RightZisometricOffAxis4BottomZobliqueTopLeftZ
obliqueTopZobliqueTopRightZobliqueLeftZobliqueRightZobliqueBottomLeftZobliqueBottomZobliqueBottomRightZperspectiveFrontZperspectiveLeftZperspectiveRightZperspectiveAboveZperspectiveBelowZperspectiveAboveLeftFacingZperspectiveAboveRightFacingZ perspectiveContrastingLeftFacingZ!perspectiveContrastingRightFacingZperspectiveHeroicLeftFacingZperspectiveHeroicRightFacingZ"perspectiveHeroicExtremeLeftFacingZ#perspectiveHeroicExtremeRightFacingZperspectiveRelaxedZperspectiveRelaxedModeratelyvaluesTr+   r-   Nc                 C   s   || _ || _|| _|| _d S r   )prstfovzoomr3   )r   rA   rB   rC   r3   r   r   r   r      s    zCamera.__init__)NNNN)r   r   r    r!   r   rA   r   rB   r   r   rC   r9   r3   r   r   r   r   r   r=      s                                             
    r=   c                   @   s   e Zd ZdZedddddddd	d
ddddddddddddddddddgdZeddd d!d"d#d$d%gdZeed&d'Z	d+d)d*Z
d(S ),LightRiglightRigZlegacyFlat1ZlegacyFlat2ZlegacyFlat3ZlegacyFlat4ZlegacyNormal1ZlegacyNormal2ZlegacyNormal3ZlegacyNormal4ZlegacyHarsh1ZlegacyHarsh2ZlegacyHarsh3ZlegacyHarsh4ZthreePtZbalancedZsoftZharshZfloodZcontrastingZmorningZsunriseZsunsetZchillyZfreezingflatZtwoPtZglowZ
brightRoomr?   tlttrlrblbbrTr-   Nc                 C   s   || _ || _|| _d S r   )rigdirr3   )r   rO   rP   r3   r   r   r   r      s    zLightRig.__init__)NNN)r   r   r    r!   r   rO   rP   r   r9   r3   r   r   r   r   r   rD      s>                        rD   c                   @   s,   e Zd ZdZe Ze Ze ZdddZdS )Vector3DZvectorNc                 C   s   || _ || _|| _d S r   )dxdydz)r   rR   rS   rT   r   r   r   r      s    zVector3D.__init__)NNN)	r   r   r    r!   r   rR   rS   rT   r   r   r   r   r   rQ      s      rQ   c                   @   s,   e Zd ZdZe Ze Ze ZdddZdS )Point3DanchorNc                 C   s   || _ || _|| _d S r   )r   r   z)r   r   r   rW   r   r   r   r      s    zPoint3D.__init__)NNN)	r   r   r    r!   r   r   r   rW   r   r   r   r   r   rU      s      rU   c                   @   s@   e Zd ZeedZeedZeedZee	ddZ
dddZdS )Backdropr.   Tr-   Nc                 C   s   || _ || _|| _|| _d S r   )rV   normupextLst)r   rV   rZ   r[   r\   r   r   r   r      s    zBackdrop.__init__)NNNN)r   r   r    r   rU   rV   rQ   rZ   r[   OfficeArtExtensionListr\   r   r   r   r   r   rX      s   


    rX   c                   @   sB   e Zd ZeedZeedZeeddZ	ee
ddZdddZdS )Scene3DrY   Tr-   Nc                 C   s   || _ || _|| _|| _d S r   )r>   rE   backdropr\   )r   r>   rE   r_   r\   r   r   r   r     s    zScene3D.__init__)NNNN)r   r   r    r   r=   r>   rD   rE   rX   r_   r]   r\   r   r   r   r   r   r^   	  s   

    r^   c                   @   sH   e Zd ZdZe Ze Zedddddddd	d
dddgdZdddZ	dS )BevelbevelZrelaxedInsetZcircleZslopeZcrossZangleZ	softRoundZconvexZ	coolSlantZdivotZribletZhardEdgeZartDecor?   Nc                 C   s   || _ || _|| _d S r   )whrA   )r   rb   rc   rA   r   r   r   r   (  s    zBevel.__init__)NNN)
r   r   r    r!   r   rb   rc   r	   rA   r   r   r   r   r   r`     s$   
        r`   c                   @   s   e Zd ZeZeeddZeddZ	eddZ
edddddd	d
ddddddddgdZeeddZeeddZeeddZeeddZeeddZdddZdS )Shape3DTr-   r+   ZlegacyMatteZlegacyPlasticZlegacyMetalZlegacyWireframeZmatteZplasticZmetalZ	warmMatteZtranslucentPowderZpowderZdkEdgeZsoftEdgeclearrF   Z	softmetalr?   Nc
           
      C   s:   || _ || _|| _|| _|| _|| _|| _|| _|	| _d S r   )	rW   
extrusionHcontourWprstMaterialbevelTbevelBextrusionClr
contourClrr\   )
r   rW   rf   rg   rh   ri   rj   rk   rl   r\   r   r   r   r   D  s    zShape3D.__init__)	NNNNNNNNN)r   r   r    r   r"   r   r   rW   r   rf   rg   r	   rh   r`   ri   rj   r   rk   rl   r]   r\   r   r   r   r   r   rd   2  sH   

                     rd   c                   @   sJ   e Zd Ze Ze ZedddddgdZeddZ	eddZ
dd
dZd	S )Path2DrZ   ZlightenZlightenLessZdarkenZ
darkenLessr?   Tr+   Nc                 C   s"   || _ || _|| _|| _|| _d S r   )rb   rc   fillstrokeextrusionOk)r   rb   rc   rn   ro   rp   r   r   r   r   b  s
    zPath2D.__init__)NNNNN)r   r   r    r   rb   rc   r	   rn   r   ro   rp   r   r   r   r   r   rm   Z  s   

     rm   c                   @   s"   e Zd ZeeddZdddZdS )
Path2DListTr-   Nc                 C   s
   || _ d S r   )path)r   rr   r   r   r   r   t  s    zPath2DList.__init__)N)r   r   r    r   rm   rr   r   r   r   r   r   rq   p  s    rq   c                   @   s.   e Zd Ze Ze Ze Ze ZdddZdS )GeomRectNc                 C   s   || _ || _|| _|| _d S r   )rJ   rH   rK   rM   )r   rJ   rH   rK   rM   r   r   r   r     s    zGeomRect.__init__)NNNN)	r   r   r    r   rJ   rH   rK   rM   r   r   r   r   r   rs   z  s       rs   c                   @   s"   e Zd Ze Ze ZdddZdS )
AdjPoint2DNc                 C   s   || _ || _d S r   r   r   r   r   r   r     s    zAdjPoint2D.__init__)NN)r   r   r    r   r   r   r   r   r   r   r   rt     s
     rt   c                   @   s,   e Zd ZedddZeedZdddZdS )	ConnectionSiter   ih  )minmaxrY   Nc                 C   s   || _ || _d S r   )angpos)r   rx   ry   r   r   r   r     s    zConnectionSite.__init__)NN)	r   r   r    r   rx   r   rt   ry   r   r   r   r   r   ru     s
   
  ru   c                   @   s"   e Zd ZeeddZdddZdS )ConnectionSiteListTr-   Nc                 C   s
   || _ d S r   )cxn)r   r{   r   r   r   r     s    zConnectionSiteList.__init__)N)r   r   r    r   ru   r{   r   r   r   r   r   rz     s    rz   c                   @   s   e Zd ZdS )AdjustHandleListN)r   r   r    r   r   r   r   r|     s   r|   c                   @   s"   e Zd Ze Ze ZdddZdS )	GeomGuideNc                 C   s   || _ || _d S r   )namefmla)r   r~   r   r   r   r   r     s    zGeomGuide.__init__)NN)r   r   r    r
   r~   r   r   r   r   r   r   r}     s
     r}   c                   @   s"   e Zd ZeeddZdddZdS )GeomGuideListTr-   Nc                 C   s
   || _ d S r   )gd)r   r   r   r   r   r     s    zGeomGuideList.__init__)N)r   r   r    r   r}   r   r   r   r   r   r   r     s    r   c                   @   sP   e Zd ZeeddZeeddZeeddZee	ddZ
eedZdddZdS )CustomGeometry2DTr-   rY   Nc                 C   s(   || _ || _|| _|| _d | _|| _d S r   )avLstgdLstahLstcxnLstrectpathLst)r   r   r   r   r   r   r   r   r   r   r     s    zCustomGeometry2D.__init__)NNNNNN)r   r   r    r   r   r   r   r|   r   rz   r   rq   r   r   r   r   r   r   r     s   
      r   c                   @   s  e Zd ZeZeddddddddd	d
dddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddgdZeeddZ	dddZ
dS )PresetGeometry2DlineZlineInvZtriangleZ
rtTriangler   ZdiamondZparallelogramZ	trapezoidZnonIsoscelesTrapezoidZpentagonZhexagonZheptagonZoctagonZdecagonZ	dodecagonZstar4Zstar5Zstar6Zstar7Zstar8Zstar10Zstar12Zstar16Zstar24Zstar32Z	roundRectZ
round1RectZround2SameRectZround2DiagRectZsnipRoundRectZ	snip1RectZsnip2SameRectZsnip2DiagRectZplaqueZellipseZteardropZ	homePlateZchevronZpieWedgeZpieZblockArcZdonutZ	noSmokingZ
rightArrowZ	leftArrowZupArrowZ	downArrowZstripedRightArrowZnotchedRightArrowZbentUpArrowZleftRightArrowZupDownArrowZleftUpArrowZleftRightUpArrowZ	quadArrowZleftArrowCalloutZrightArrowCalloutZupArrowCalloutZdownArrowCalloutZleftRightArrowCalloutZupDownArrowCalloutZquadArrowCalloutZ	bentArrowZ
uturnArrowZcircularArrowZleftCircularArrowZleftRightCircularArrowZcurvedRightArrowZcurvedLeftArrowZcurvedUpArrowZcurvedDownArrowZswooshArrowZcubeZcanZlightningBoltZheartsunZmoonZ
smileyFaceZirregularSeal1ZirregularSeal2ZfoldedCornerra   frameZ	halfFrameZcornerZ
diagStripeZchordZarcZleftBracketZrightBracketZ	leftBraceZ
rightBraceZbracketPairZ	bracePairZstraightConnector1ZbentConnector2ZbentConnector3ZbentConnector4ZbentConnector5ZcurvedConnector2ZcurvedConnector3ZcurvedConnector4ZcurvedConnector5Zcallout1Zcallout2Zcallout3ZaccentCallout1ZaccentCallout2ZaccentCallout3ZborderCallout1ZborderCallout2ZborderCallout3ZaccentBorderCallout1ZaccentBorderCallout2ZaccentBorderCallout3ZwedgeRectCalloutZwedgeRoundRectCalloutZwedgeEllipseCalloutZcloudCalloutZcloudZribbonZribbon2ZellipseRibbonZellipseRibbon2ZleftRightRibbonZverticalScrollZhorizontalScrollZwaveZ
doubleWaveplusZflowChartProcessZflowChartDecisionZflowChartInputOutputZflowChartPredefinedProcessZflowChartInternalStorageZflowChartDocumentZflowChartMultidocumentZflowChartTerminatorZflowChartPreparationZflowChartManualInputZflowChartManualOperationZflowChartConnectorZflowChartPunchedCardZflowChartPunchedTapeZflowChartSummingJunctionZflowChartOrZflowChartCollateZflowChartSortZflowChartExtractZflowChartMergeZflowChartOfflineStorageZflowChartOnlineStorageZflowChartMagneticTapeZflowChartMagneticDiskZflowChartMagneticDrumZflowChartDisplayZflowChartDelayZflowChartAlternateProcessZflowChartOffpageConnectorZactionButtonBlankZactionButtonHomeZactionButtonHelpZactionButtonInformationZactionButtonForwardNextZactionButtonBackPreviousZactionButtonEndZactionButtonBeginningZactionButtonReturnZactionButtonDocumentZactionButtonSoundZactionButtonMovieZgear6Zgear9ZfunnelZmathPlusZ	mathMinusZmathMultiplyZ
mathDivideZ	mathEqualZmathNotEqualZ
cornerTabsZ
squareTabsZ
plaqueTabsZchartXZ	chartStarZ	chartPlusr?   Tr-   Nc                 C   s   || _ || _d S r   )rA   r   )r   rA   r   r   r   r   r     s    zPresetGeometry2D.__init__)NN)r   r   r    r   r"   r   rA   r   r   r   r   r   r   r   r   r     s~  
                                                                                                                                       1  r   c                   @   s$   e Zd ZeddgdZdddZdS )FontReferencemajorminorr?   Nc                 C   s
   || _ d S r   idxr   r   r   r   r   r   (  s    zFontReference.__init__)N)r   r   r    r	   r   r   r   r   r   r   r   $  s    r   c                   @   s   e Zd Ze ZdddZdS )StyleMatrixReferenceNc                 C   s
   || _ d S r   r   r   r   r   r   r   2  s    zStyleMatrixReference.__init__)N)r   r   r    r   r   r   r   r   r   r   r   .  s    r   c                   @   s>   e Zd ZeedZeedZeedZeedZ	dddZ
dS )
ShapeStylerY   Nc                 C   s   || _ || _|| _|| _d S r   )lnReffillRef	effectReffontRef)r   r   r   r   r   r   r   r   r   ?  s    zShapeStyle.__init__)NNNN)r   r   r    r   r   r   r   r   r   r   r   r   r   r   r   r   8  s   



    r   N)2Z!openpyxl.descriptors.serialisabler   Zopenpyxl.descriptorsr   r   r   r   r   r   r	   r
   r   Zopenpyxl.descriptors.excelr   r   r   r]   r   r   Zopenpyxl.styles.colorsr   Zopenpyxl.xml.constantsr   r   r#   r)   r8   r9   r=   rD   rQ   rU   rX   r^   r`   rd   rm   rq   rs   rt   ru   rz   r|   r}   r   r   r   r   r   r   r   r   r   r   <module>   sB   ,!!*(


?

