# Copyright 2017 Google Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # NOTE: This class is auto generated by the swagger code generator program. # https://github.com/swagger-api/swagger-codegen.git # Do not edit the class manually. defmodule GoogleApi.Slides.V1.Model.PageElement do @moduledoc """ A visual element rendered on a page. ## Attributes - description (String): The description of the page element. Combined with title to display alt text. Defaults to: `null`. - elementGroup (Group): A collection of page elements joined as a single unit. Defaults to: `null`. - image (Image): An image page element. Defaults to: `null`. - line (Line): A line page element. Defaults to: `null`. - objectId (String): The object ID for this page element. Object IDs used by google.apps.slides.v1.Page and google.apps.slides.v1.PageElement share the same namespace. Defaults to: `null`. - shape (Shape): A generic shape. Defaults to: `null`. - sheetsChart (SheetsChart): A linked chart embedded from Google Sheets. Unlinked charts are represented as images. Defaults to: `null`. - size (Size): The size of the page element. Defaults to: `null`. - table (Table): A table page element. Defaults to: `null`. - title (String): The title of the page element. Combined with description to display alt text. Defaults to: `null`. - transform (AffineTransform): The transform of the page element. The visual appearance of the page element is determined by its absolute transform. To compute the absolute transform, preconcatenate a page element's transform with the transforms of all of its parent groups. If the page element is not in a group, its absolute transform is the same as the value in this field. The initial transform for the newly created Group is always the identity transform. Defaults to: `null`. - video (Video): A video page element. Defaults to: `null`. - wordArt (WordArt): A word art page element. Defaults to: `null`. """ defstruct [ :"description", :"elementGroup", :"image", :"line", :"objectId", :"shape", :"sheetsChart", :"size", :"table", :"title", :"transform", :"video", :"wordArt" ] end defimpl Poison.Decoder, for: GoogleApi.Slides.V1.Model.PageElement do import GoogleApi.Slides.V1.Deserializer def decode(value, options) do value |> deserialize(:"elementGroup", :struct, GoogleApi.Slides.V1.Model.Group, options) |> deserialize(:"image", :struct, GoogleApi.Slides.V1.Model.Image, options) |> deserialize(:"line", :struct, GoogleApi.Slides.V1.Model.Line, options) |> deserialize(:"shape", :struct, GoogleApi.Slides.V1.Model.Shape, options) |> deserialize(:"sheetsChart", :struct, GoogleApi.Slides.V1.Model.SheetsChart, options) |> deserialize(:"size", :struct, GoogleApi.Slides.V1.Model.Size, options) |> deserialize(:"table", :struct, GoogleApi.Slides.V1.Model.Table, options) |> deserialize(:"transform", :struct, GoogleApi.Slides.V1.Model.AffineTransform, options) |> deserialize(:"video", :struct, GoogleApi.Slides.V1.Model.Video, options) |> deserialize(:"wordArt", :struct, GoogleApi.Slides.V1.Model.WordArt, options) end end defimpl Poison.Encoder, for: GoogleApi.Slides.V1.Model.PageElement do def encode(value, options) do GoogleApi.Slides.V1.Deserializer.serialize_non_nil(value, options) end end