package AsposeCellsCloud::Object::Picture;

require 5.6.0;
use strict;
use warnings;
use utf8;
use JSON qw(decode_json);
use Data::Dumper;
use Module::Runtime qw(use_module);
use Log::Any qw($log);
use Date::Parse;
use DateTime;

use base "AsposeCellsCloud::Object::BaseObject";

#
#
#
#NOTE: This class is auto generated by the swagger code generator program. Do not edit the class manually.
#

my $swagger_types = {
    'BorderLineColor' => 'Color',
    'BorderWeight' => 'double',
    'OriginalHeight' => 'int',
    'OriginalWidth' => 'int',
    'ImageFormat' => 'string',
    'SourceFullName' => 'string',
    'Name' => 'string',
    'MsoDrawingType' => 'string',
    'AutoShapeType' => 'string',
    'Placement' => 'string',
    'UpperLeftRow' => 'int',
    'Top' => 'int',
    'UpperLeftColumn' => 'int',
    'Left' => 'int',
    'LowerRightRow' => 'int',
    'Bottom' => 'int',
    'LowerRightColumn' => 'int',
    'Right' => 'int',
    'Width' => 'int',
    'Height' => 'int',
    'X' => 'int',
    'Y' => 'int',
    'RotationAngle' => 'double',
    'HtmlText' => 'string',
    'Text' => 'string',
    'AlternativeText' => 'string',
    'TextHorizontalAlignment' => 'string',
    'TextHorizontalOverflow' => 'string',
    'TextOrientationType' => 'string',
    'TextVerticalAlignment' => 'string',
    'TextVerticalOverflow' => 'string',
    'IsGroup' => 'boolean',
    'IsHidden' => 'boolean',
    'IsLockAspectRatio' => 'boolean',
    'IsLocked' => 'boolean',
    'IsPrintable' => 'boolean',
    'IsTextWrapped' => 'boolean',
    'IsWordArt' => 'boolean',
    'LinkedCell' => 'string',
    'ZOrderPosition' => 'int',
    'link' => 'Link'
};

my $attribute_map = {
    'BorderLineColor' => 'BorderLineColor',
    'BorderWeight' => 'BorderWeight',
    'OriginalHeight' => 'OriginalHeight',
    'OriginalWidth' => 'OriginalWidth',
    'ImageFormat' => 'ImageFormat',
    'SourceFullName' => 'SourceFullName',
    'Name' => 'Name',
    'MsoDrawingType' => 'MsoDrawingType',
    'AutoShapeType' => 'AutoShapeType',
    'Placement' => 'Placement',
    'UpperLeftRow' => 'UpperLeftRow',
    'Top' => 'Top',
    'UpperLeftColumn' => 'UpperLeftColumn',
    'Left' => 'Left',
    'LowerRightRow' => 'LowerRightRow',
    'Bottom' => 'Bottom',
    'LowerRightColumn' => 'LowerRightColumn',
    'Right' => 'Right',
    'Width' => 'Width',
    'Height' => 'Height',
    'X' => 'X',
    'Y' => 'Y',
    'RotationAngle' => 'RotationAngle',
    'HtmlText' => 'HtmlText',
    'Text' => 'Text',
    'AlternativeText' => 'AlternativeText',
    'TextHorizontalAlignment' => 'TextHorizontalAlignment',
    'TextHorizontalOverflow' => 'TextHorizontalOverflow',
    'TextOrientationType' => 'TextOrientationType',
    'TextVerticalAlignment' => 'TextVerticalAlignment',
    'TextVerticalOverflow' => 'TextVerticalOverflow',
    'IsGroup' => 'IsGroup',
    'IsHidden' => 'IsHidden',
    'IsLockAspectRatio' => 'IsLockAspectRatio',
    'IsLocked' => 'IsLocked',
    'IsPrintable' => 'IsPrintable',
    'IsTextWrapped' => 'IsTextWrapped',
    'IsWordArt' => 'IsWordArt',
    'LinkedCell' => 'LinkedCell',
    'ZOrderPosition' => 'ZOrderPosition',
    'link' => 'link'
};

# new object
sub new { 
    my ($class, %args) = @_; 
    my $self = { 
        #
        'BorderLineColor' => $args{'BorderLineColor'}, 
        #
        'BorderWeight' => $args{'BorderWeight'}, 
        #
        'OriginalHeight' => $args{'OriginalHeight'}, 
        #
        'OriginalWidth' => $args{'OriginalWidth'}, 
        #
        'ImageFormat' => $args{'ImageFormat'}, 
        #
        'SourceFullName' => $args{'SourceFullName'}, 
        #
        'Name' => $args{'Name'}, 
        #
        'MsoDrawingType' => $args{'MsoDrawingType'}, 
        #
        'AutoShapeType' => $args{'AutoShapeType'}, 
        #
        'Placement' => $args{'Placement'}, 
        #
        'UpperLeftRow' => $args{'UpperLeftRow'}, 
        #
        'Top' => $args{'Top'}, 
        #
        'UpperLeftColumn' => $args{'UpperLeftColumn'}, 
        #
        'Left' => $args{'Left'}, 
        #
        'LowerRightRow' => $args{'LowerRightRow'}, 
        #
        'Bottom' => $args{'Bottom'}, 
        #
        'LowerRightColumn' => $args{'LowerRightColumn'}, 
        #
        'Right' => $args{'Right'}, 
        #
        'Width' => $args{'Width'}, 
        #
        'Height' => $args{'Height'}, 
        #
        'X' => $args{'X'}, 
        #
        'Y' => $args{'Y'}, 
        #
        'RotationAngle' => $args{'RotationAngle'}, 
        #
        'HtmlText' => $args{'HtmlText'}, 
        #
        'Text' => $args{'Text'}, 
        #
        'AlternativeText' => $args{'AlternativeText'}, 
        #
        'TextHorizontalAlignment' => $args{'TextHorizontalAlignment'}, 
        #
        'TextHorizontalOverflow' => $args{'TextHorizontalOverflow'}, 
        #
        'TextOrientationType' => $args{'TextOrientationType'}, 
        #
        'TextVerticalAlignment' => $args{'TextVerticalAlignment'}, 
        #
        'TextVerticalOverflow' => $args{'TextVerticalOverflow'}, 
        #
        'IsGroup' => $args{'IsGroup'}, 
        #
        'IsHidden' => $args{'IsHidden'}, 
        #
        'IsLockAspectRatio' => $args{'IsLockAspectRatio'}, 
        #
        'IsLocked' => $args{'IsLocked'}, 
        #
        'IsPrintable' => $args{'IsPrintable'}, 
        #
        'IsTextWrapped' => $args{'IsTextWrapped'}, 
        #
        'IsWordArt' => $args{'IsWordArt'}, 
        #
        'LinkedCell' => $args{'LinkedCell'}, 
        #
        'ZOrderPosition' => $args{'ZOrderPosition'}, 
        #
        'link' => $args{'link'}
    }; 

    return bless $self, $class; 
}  

# get swagger type of the attribute
sub get_swagger_types {
    return $swagger_types;
}

# get attribute mappping
sub get_attribute_map {
    return $attribute_map;
}

1;
