[ Avaa Bypassed ]




Upload:

Command:

www-data@13.59.192.254: ~ $
#Copyright ReportLab Europe Ltd. 2000-2017
#see license.txt for license details
__version__='3.4.34'
__doc__='''Utility functions to position and resize boxes within boxes'''

def rectCorner(x, y, width, height, anchor='sw', dims=False):
    '''given rectangle controlled by x,y width and height return 
    the corner corresponding to the anchor'''
    if anchor not in ('nw','w','sw'):
        if anchor in ('n','c','s'):
            x += width/2.
        else:
            x += width
    if anchor not in ('sw','s','se'):
        if anchor in ('w','c','e'):
            y += height/2.
        else:
            y += height
    return (x,y,width,height) if dims else (x,y)

def aspectRatioFix(preserve,anchor,x,y,width,height,imWidth,imHeight,anchorAtXY=False):
    """This function helps position an image within a box.

    It first normalizes for two cases:
    - if the width is None, it assumes imWidth
    - ditto for height
    - if width or height is negative, it adjusts x or y and makes them positive

    Given
    (a) the enclosing box (defined by x,y,width,height where x,y is the \
        lower left corner) which you wish to position the image in, and
    (b) the image size (imWidth, imHeight), and
    (c) the 'anchor point' as a point of the compass - n,s,e,w,ne,se etc \
        and c for centre,

    this should return the position at which the image should be drawn,
    as well as a scale factor indicating what scaling has happened.

    It returns the parameters which would be used to draw the image
    without any adjustments:

        x,y, width, height, scale

    used in canvas.drawImage and drawInlineImage
    """
    scale = 1.0
    if width is None:
        width = imWidth
    if height is None:
        height = imHeight
    if width<0:
        width = -width
        x -= width
    if height<0:
        height = -height
        y -= height
    if preserve:
        imWidth = abs(imWidth)
        imHeight = abs(imHeight)
        scale = min(width/float(imWidth),height/float(imHeight))
        owidth = width
        oheight = height
        width = scale*imWidth-1e-8
        height = scale*imHeight-1e-8
        if not anchorAtXY:
#           if anchor not in ('nw','w','sw'):
#               dx = owidth-width
#               if anchor in ('n','c','s'):
#                   x += dx/2.
#               else:
#                   x += dx
#           if anchor not in ('sw','s','se'):
#               dy = oheight-height
#               if anchor in ('w','c','e'):
#                   y += dy/2.
#               else:
#                   y += dy
            x, y = rectCorner(x,y,owidth-width,oheight-height,anchor)
    if anchorAtXY:
        if anchor not in ('sw','s','se'):
            y -= height/2. if anchor in ('e','c','w') else height
        if anchor not in ('nw','w','sw'):
            x -= width/2. if anchor in ('n','c','s') else width
    return x,y, width, height, scale

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
PyFontify.py File 4.86 KB 0644
__init__.py File 258 B 0755
_rl_accel.cpython-38-x86_64-linux-gnu.so File 44.7 KB 0644
abag.py File 1.1 KB 0644
arciv.py File 7.43 KB 0644
attrmap.py File 5.37 KB 0644
boxstuff.py File 2.86 KB 0644
codecharts.py File 12.76 KB 0644
colors.py File 40.1 KB 0644
corp.py File 26.53 KB 0755
enums.py File 296 B 0644
extformat.py File 2.17 KB 0644
fontfinder.py File 13.24 KB 0644
fonts.py File 3.44 KB 0755
formatters.py File 3.73 KB 0755
geomutils.py File 1.14 KB 0644
hyphen.mashed File 35.6 KB 0644
logger.py File 1.71 KB 0755
normalDate.py File 21.9 KB 0755
pagesizes.py File 1.96 KB 0755
pdfencrypt.py File 30.48 KB 0644
pygments2xpre.py File 2.66 KB 0644
randomtext.py File 22.63 KB 0755
rl_accel.py File 12.72 KB 0644
rl_safe_eval.py File 42.75 KB 0644
rltempfile.py File 1.09 KB 0644
rparsexml.py File 17.4 KB 0644
sequencer.py File 9.98 KB 0644
styles.py File 16.38 KB 0644
testutils.py File 11.57 KB 0644
textsplit.py File 9.5 KB 0644
units.py File 919 B 0755
utils.py File 50.57 KB 0644
validators.py File 10.42 KB 0644
yaml.py File 5.58 KB 0644