# NOTE: This file is auto generated by OpenAPI Generator 7.12.0 (https://openapi-generator.tech).
# Do not edit this file manually.
defmodule DocuSign.Model.Draw do
@moduledoc """
A tab that allows the recipient to add a free-form drawing to the document.
"""
alias DocuSign.Deserializer
alias DocuSign.Model.ErrorDetails
alias DocuSign.Model.MergeField
alias DocuSign.Model.PropertyMetadata
alias DocuSign.Model.SmartContractInformation
@derive Jason.Encoder
defstruct [
:allowSignerUpload,
:anchorAllowWhiteSpaceInCharacters,
:anchorAllowWhiteSpaceInCharactersMetadata,
:anchorCaseSensitive,
:anchorCaseSensitiveMetadata,
:anchorHorizontalAlignment,
:anchorHorizontalAlignmentMetadata,
:anchorIgnoreIfNotPresent,
:anchorIgnoreIfNotPresentMetadata,
:anchorMatchWholeWord,
:anchorMatchWholeWordMetadata,
:anchorString,
:anchorStringMetadata,
:anchorTabProcessorVersion,
:anchorTabProcessorVersionMetadata,
:anchorUnits,
:anchorUnitsMetadata,
:anchorXOffset,
:anchorXOffsetMetadata,
:anchorYOffset,
:anchorYOffsetMetadata,
:caption,
:captionMetadata,
:conditionalParentLabel,
:conditionalParentLabelMetadata,
:conditionalParentValue,
:conditionalParentValueMetadata,
:customTabId,
:customTabIdMetadata,
:documentId,
:documentIdMetadata,
:errorDetails,
:formOrder,
:formOrderMetadata,
:formPageLabel,
:formPageLabelMetadata,
:formPageNumber,
:formPageNumberMetadata,
:height,
:heightMetadata,
:locked,
:lockedMetadata,
:mergeField,
:mergeFieldXml,
:pageNumber,
:pageNumberMetadata,
:recipientId,
:recipientIdGuid,
:recipientIdGuidMetadata,
:recipientIdMetadata,
:required,
:requiredMetadata,
:shared,
:sharedMetadata,
:smartContractInformation,
:source,
:status,
:statusMetadata,
:tabGroupLabels,
:tabGroupLabelsMetadata,
:tabId,
:tabIdMetadata,
:tabLabelMetadata,
:tabOrder,
:tabOrderMetadata,
:tabType,
:tabTypeMetadata,
:templateLocked,
:templateLockedMetadata,
:templateRequired,
:templateRequiredMetadata,
:toolTipMetadata,
:tooltip,
:useBackgroundAsCanvas,
:warningDetails,
:width,
:widthMetadata,
:xPosition,
:xPositionMetadata,
:yPosition,
:yPositionMetadata
]
@type t :: %__MODULE__{
:allowSignerUpload => String.t() | nil,
:anchorAllowWhiteSpaceInCharacters => String.t() | nil,
:anchorAllowWhiteSpaceInCharactersMetadata => PropertyMetadata.t() | nil,
:anchorCaseSensitive => String.t() | nil,
:anchorCaseSensitiveMetadata => PropertyMetadata.t() | nil,
:anchorHorizontalAlignment => String.t() | nil,
:anchorHorizontalAlignmentMetadata => PropertyMetadata.t() | nil,
:anchorIgnoreIfNotPresent => String.t() | nil,
:anchorIgnoreIfNotPresentMetadata => PropertyMetadata.t() | nil,
:anchorMatchWholeWord => String.t() | nil,
:anchorMatchWholeWordMetadata => PropertyMetadata.t() | nil,
:anchorString => String.t() | nil,
:anchorStringMetadata => PropertyMetadata.t() | nil,
:anchorTabProcessorVersion => String.t() | nil,
:anchorTabProcessorVersionMetadata => PropertyMetadata.t() | nil,
:anchorUnits => String.t() | nil,
:anchorUnitsMetadata => PropertyMetadata.t() | nil,
:anchorXOffset => String.t() | nil,
:anchorXOffsetMetadata => PropertyMetadata.t() | nil,
:anchorYOffset => String.t() | nil,
:anchorYOffsetMetadata => PropertyMetadata.t() | nil,
:caption => String.t() | nil,
:captionMetadata => PropertyMetadata.t() | nil,
:conditionalParentLabel => String.t() | nil,
:conditionalParentLabelMetadata => PropertyMetadata.t() | nil,
:conditionalParentValue => String.t() | nil,
:conditionalParentValueMetadata => PropertyMetadata.t() | nil,
:customTabId => String.t() | nil,
:customTabIdMetadata => PropertyMetadata.t() | nil,
:documentId => String.t() | nil,
:documentIdMetadata => PropertyMetadata.t() | nil,
:errorDetails => ErrorDetails.t() | nil,
:formOrder => String.t() | nil,
:formOrderMetadata => PropertyMetadata.t() | nil,
:formPageLabel => String.t() | nil,
:formPageLabelMetadata => PropertyMetadata.t() | nil,
:formPageNumber => String.t() | nil,
:formPageNumberMetadata => PropertyMetadata.t() | nil,
:height => String.t() | nil,
:heightMetadata => PropertyMetadata.t() | nil,
:locked => String.t() | nil,
:lockedMetadata => PropertyMetadata.t() | nil,
:mergeField => MergeField.t() | nil,
:mergeFieldXml => String.t() | nil,
:pageNumber => String.t() | nil,
:pageNumberMetadata => PropertyMetadata.t() | nil,
:recipientId => String.t() | nil,
:recipientIdGuid => String.t() | nil,
:recipientIdGuidMetadata => PropertyMetadata.t() | nil,
:recipientIdMetadata => PropertyMetadata.t() | nil,
:required => String.t() | nil,
:requiredMetadata => PropertyMetadata.t() | nil,
:shared => String.t() | nil,
:sharedMetadata => PropertyMetadata.t() | nil,
:smartContractInformation => SmartContractInformation.t() | nil,
:source => String.t() | nil,
:status => String.t() | nil,
:statusMetadata => PropertyMetadata.t() | nil,
:tabGroupLabels => [String.t()] | nil,
:tabGroupLabelsMetadata => PropertyMetadata.t() | nil,
:tabId => String.t() | nil,
:tabIdMetadata => PropertyMetadata.t() | nil,
:tabLabelMetadata => PropertyMetadata.t() | nil,
:tabOrder => String.t() | nil,
:tabOrderMetadata => PropertyMetadata.t() | nil,
:tabType => String.t() | nil,
:tabTypeMetadata => PropertyMetadata.t() | nil,
:templateLocked => String.t() | nil,
:templateLockedMetadata => PropertyMetadata.t() | nil,
:templateRequired => String.t() | nil,
:templateRequiredMetadata => PropertyMetadata.t() | nil,
:toolTipMetadata => PropertyMetadata.t() | nil,
:tooltip => String.t() | nil,
:useBackgroundAsCanvas => String.t() | nil,
:warningDetails => ErrorDetails.t() | nil,
:width => String.t() | nil,
:widthMetadata => PropertyMetadata.t() | nil,
:xPosition => String.t() | nil,
:xPositionMetadata => PropertyMetadata.t() | nil,
:yPosition => String.t() | nil,
:yPositionMetadata => PropertyMetadata.t() | nil
}
def decode(value) do
value
|> Deserializer.deserialize(
:anchorAllowWhiteSpaceInCharactersMetadata,
:struct,
PropertyMetadata
)
|> Deserializer.deserialize(
:anchorCaseSensitiveMetadata,
:struct,
PropertyMetadata
)
|> Deserializer.deserialize(
:anchorHorizontalAlignmentMetadata,
:struct,
PropertyMetadata
)
|> Deserializer.deserialize(
:anchorIgnoreIfNotPresentMetadata,
:struct,
PropertyMetadata
)
|> Deserializer.deserialize(
:anchorMatchWholeWordMetadata,
:struct,
PropertyMetadata
)
|> Deserializer.deserialize(:anchorStringMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(
:anchorTabProcessorVersionMetadata,
:struct,
PropertyMetadata
)
|> Deserializer.deserialize(:anchorUnitsMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(:anchorXOffsetMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(:anchorYOffsetMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(:captionMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(
:conditionalParentLabelMetadata,
:struct,
PropertyMetadata
)
|> Deserializer.deserialize(
:conditionalParentValueMetadata,
:struct,
PropertyMetadata
)
|> Deserializer.deserialize(:customTabIdMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(:documentIdMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(:errorDetails, :struct, ErrorDetails)
|> Deserializer.deserialize(:formOrderMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(:formPageLabelMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(:formPageNumberMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(:heightMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(:lockedMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(:mergeField, :struct, MergeField)
|> Deserializer.deserialize(:pageNumberMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(
:recipientIdGuidMetadata,
:struct,
PropertyMetadata
)
|> Deserializer.deserialize(:recipientIdMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(:requiredMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(:sharedMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(
:smartContractInformation,
:struct,
SmartContractInformation
)
|> Deserializer.deserialize(:statusMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(:tabGroupLabelsMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(:tabIdMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(:tabLabelMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(:tabOrderMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(:tabTypeMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(:templateLockedMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(
:templateRequiredMetadata,
:struct,
PropertyMetadata
)
|> Deserializer.deserialize(:toolTipMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(:warningDetails, :struct, ErrorDetails)
|> Deserializer.deserialize(:widthMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(:xPositionMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(:yPositionMetadata, :struct, PropertyMetadata)
end
end