# Copyright 2015 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. require 'date' require 'google/apis/core/base_service' require 'google/apis/core/json_representation' require 'google/apis/core/hashable' require 'google/apis/errors' module Google module Apis module SlidesV1 # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] # to transform source coordinates (x,y) into destination coordinates (x', y') # according to: # x' x = shear_y scale_y translate_y # 1 [ 1 ] # After transformation, # x' = scale_x * x + shear_x * y + translate_x; # y' = scale_y * y + shear_y * x + translate_y; # This message is therefore composed of these six matrix elements. class AffineTransform include Google::Apis::Core::Hashable # The X coordinate scaling element. # Corresponds to the JSON property `scaleX` # @return [Float] attr_accessor :scale_x # The Y coordinate scaling element. # Corresponds to the JSON property `scaleY` # @return [Float] attr_accessor :scale_y # The X coordinate shearing element. # Corresponds to the JSON property `shearX` # @return [Float] attr_accessor :shear_x # The Y coordinate shearing element. # Corresponds to the JSON property `shearY` # @return [Float] attr_accessor :shear_y # The X coordinate translation element. # Corresponds to the JSON property `translateX` # @return [Float] attr_accessor :translate_x # The Y coordinate translation element. # Corresponds to the JSON property `translateY` # @return [Float] attr_accessor :translate_y # The units for translate elements. # Corresponds to the JSON property `unit` # @return [String] attr_accessor :unit def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @scale_x = args[:scale_x] if args.key?(:scale_x) @scale_y = args[:scale_y] if args.key?(:scale_y) @shear_x = args[:shear_x] if args.key?(:shear_x) @shear_y = args[:shear_y] if args.key?(:shear_y) @translate_x = args[:translate_x] if args.key?(:translate_x) @translate_y = args[:translate_y] if args.key?(:translate_y) @unit = args[:unit] if args.key?(:unit) end end # A TextElement kind that represents auto text. class AutoText include Google::Apis::Core::Hashable # The rendered content of this auto text, if available. # Corresponds to the JSON property `content` # @return [String] attr_accessor :content # Represents the styling that can be applied to a TextRun. # If this text is contained in a shape with a parent placeholder, then these # text styles may be # inherited from the parent. Which text styles are inherited depend on the # nesting level of lists: # * A text run in a paragraph that is not in a list will inherit its text style # from the the newline character in the paragraph at the 0 nesting level of # the list inside the parent placeholder. # * A text run in a paragraph that is in a list will inherit its text style # from the newline character in the paragraph at its corresponding nesting # level of the list inside the parent placeholder. # Inherited text styles are represented as unset fields in this message. If # text is contained in a shape without a parent placeholder, unsetting these # fields will revert the style to a value matching the defaults in the Slides # editor. # Corresponds to the JSON property `style` # @return [Google::Apis::SlidesV1::TextStyle] attr_accessor :style # The type of this auto text. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @content = args[:content] if args.key?(:content) @style = args[:style] if args.key?(:style) @type = args[:type] if args.key?(:type) end end # Request message for PresentationsService.BatchUpdatePresentation. class BatchUpdatePresentationRequest include Google::Apis::Core::Hashable # A list of updates to apply to the presentation. # Corresponds to the JSON property `requests` # @return [Array] attr_accessor :requests # Provides control over how write requests are executed. # Corresponds to the JSON property `writeControl` # @return [Google::Apis::SlidesV1::WriteControl] attr_accessor :write_control def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @requests = args[:requests] if args.key?(:requests) @write_control = args[:write_control] if args.key?(:write_control) end end # Response message from a batch update. class BatchUpdatePresentationResponse include Google::Apis::Core::Hashable # The presentation the updates were applied to. # Corresponds to the JSON property `presentationId` # @return [String] attr_accessor :presentation_id # The reply of the updates. This maps 1:1 with the updates, although # replies to some requests may be empty. # Corresponds to the JSON property `replies` # @return [Array] attr_accessor :replies # Provides control over how write requests are executed. # Corresponds to the JSON property `writeControl` # @return [Google::Apis::SlidesV1::WriteControl] attr_accessor :write_control def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @presentation_id = args[:presentation_id] if args.key?(:presentation_id) @replies = args[:replies] if args.key?(:replies) @write_control = args[:write_control] if args.key?(:write_control) end end # Describes the bullet of a paragraph. class Bullet include Google::Apis::Core::Hashable # Represents the styling that can be applied to a TextRun. # If this text is contained in a shape with a parent placeholder, then these # text styles may be # inherited from the parent. Which text styles are inherited depend on the # nesting level of lists: # * A text run in a paragraph that is not in a list will inherit its text style # from the the newline character in the paragraph at the 0 nesting level of # the list inside the parent placeholder. # * A text run in a paragraph that is in a list will inherit its text style # from the newline character in the paragraph at its corresponding nesting # level of the list inside the parent placeholder. # Inherited text styles are represented as unset fields in this message. If # text is contained in a shape without a parent placeholder, unsetting these # fields will revert the style to a value matching the defaults in the Slides # editor. # Corresponds to the JSON property `bulletStyle` # @return [Google::Apis::SlidesV1::TextStyle] attr_accessor :bullet_style # The rendered bullet glyph for this paragraph. # Corresponds to the JSON property `glyph` # @return [String] attr_accessor :glyph # The ID of the list this paragraph belongs to. # Corresponds to the JSON property `listId` # @return [String] attr_accessor :list_id # The nesting level of this paragraph in the list. # Corresponds to the JSON property `nestingLevel` # @return [Fixnum] attr_accessor :nesting_level def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @bullet_style = args[:bullet_style] if args.key?(:bullet_style) @glyph = args[:glyph] if args.key?(:glyph) @list_id = args[:list_id] if args.key?(:list_id) @nesting_level = args[:nesting_level] if args.key?(:nesting_level) end end # The palette of predefined colors for a page. class ColorScheme include Google::Apis::Core::Hashable # The ThemeColorType and corresponding concrete color pairs. # Corresponds to the JSON property `colors` # @return [Array] attr_accessor :colors def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @colors = args[:colors] if args.key?(:colors) end end # A color and position in a gradient band. class ColorStop include Google::Apis::Core::Hashable # The alpha value of this color in the gradient band. Defaults to 1.0, # fully opaque. # Corresponds to the JSON property `alpha` # @return [Float] attr_accessor :alpha # A themeable solid color value. # Corresponds to the JSON property `color` # @return [Google::Apis::SlidesV1::OpaqueColor] attr_accessor :color # The relative position of the color stop in the gradient band measured # in percentage. The value should be in the interval [0.0, 1.0]. # Corresponds to the JSON property `position` # @return [Float] attr_accessor :position def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @alpha = args[:alpha] if args.key?(:alpha) @color = args[:color] if args.key?(:color) @position = args[:position] if args.key?(:position) end end # Creates an image. class CreateImageRequest include Google::Apis::Core::Hashable # Common properties for a page element. # Note: When you initially create a # PageElement, the API may modify # the values of both `size` and `transform`, but the # visual size will be unchanged. # Corresponds to the JSON property `elementProperties` # @return [Google::Apis::SlidesV1::PageElementProperties] attr_accessor :element_properties # A user-supplied object ID. # If you specify an ID, it must be unique among all pages and page elements # in the presentation. The ID must start with an alphanumeric character or an # underscore (matches regex `[a-zA-Z0-9_]`); remaining characters # may include those as well as a hyphen or colon (matches regex # `[a-zA-Z0-9_-:]`). # The length of the ID must not be less than 5 or greater than 50. # If you don't specify an ID, a unique one is generated. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop # The image URL. # The image is fetched once at insertion time and a copy is stored for # display inside the presentation. Images must be less than 50MB in size, # cannot exceed 25 megapixels, and must be in one of PNG, JPEG, or GIF # format. # The provided URL can be at most 2 kB in length. The URL itself is saved # with the image, and exposed via the Image.source_url field. # Corresponds to the JSON property `url` # @return [String] attr_accessor :url def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @element_properties = args[:element_properties] if args.key?(:element_properties) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) @url = args[:url] if args.key?(:url) end end # The result of creating an image. class CreateImageResponse include Google::Apis::Core::Hashable # The object ID of the created image. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) end end # Creates a line. class CreateLineRequest include Google::Apis::Core::Hashable # The category of the line to be created. # The exact line type created is # determined based on the category and how it's routed to connect to other # page elements. # If you specify both a `category` and a `line_category`, the `category` # takes precedence. # If you do not specify a value for `category`, but specify a value for # `line_category`, then the specified `line_category` value is used. # If you do not specify either, then STRAIGHT is used. # Corresponds to the JSON property `category` # @return [String] attr_accessor :category # Common properties for a page element. # Note: When you initially create a # PageElement, the API may modify # the values of both `size` and `transform`, but the # visual size will be unchanged. # Corresponds to the JSON property `elementProperties` # @return [Google::Apis::SlidesV1::PageElementProperties] attr_accessor :element_properties # The category of the line to be created. # Deprecated: use `category` instead. # The exact line type created is # determined based on the category and how it's routed to connect to other # page elements. # If you specify both a `category` and a `line_category`, the `category` # takes precedence. # Corresponds to the JSON property `lineCategory` # @return [String] attr_accessor :line_category # A user-supplied object ID. # If you specify an ID, it must be unique among all pages and page elements # in the presentation. The ID must start with an alphanumeric character or an # underscore (matches regex `[a-zA-Z0-9_]`); remaining characters # may include those as well as a hyphen or colon (matches regex # `[a-zA-Z0-9_-:]`). # The length of the ID must not be less than 5 or greater than 50. # If you don't specify an ID, a unique one is generated. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @category = args[:category] if args.key?(:category) @element_properties = args[:element_properties] if args.key?(:element_properties) @line_category = args[:line_category] if args.key?(:line_category) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) end end # The result of creating a line. class CreateLineResponse include Google::Apis::Core::Hashable # The object ID of the created line. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) end end # Creates bullets for all of the paragraphs that overlap with the given # text index range. # The nesting level of each paragraph will be determined by counting leading # tabs in front of each paragraph. To avoid excess space between the bullet and # the corresponding paragraph, these leading tabs are removed by this request. # This may change the indices of parts of the text. # If the paragraph immediately before paragraphs being updated is in a list # with a matching preset, the paragraphs being updated are added to that # preceding list. class CreateParagraphBulletsRequest include Google::Apis::Core::Hashable # The kinds of bullet glyphs to be used. Defaults to the # `BULLET_DISC_CIRCLE_SQUARE` preset. # Corresponds to the JSON property `bulletPreset` # @return [String] attr_accessor :bullet_preset # A location of a single table cell within a table. # Corresponds to the JSON property `cellLocation` # @return [Google::Apis::SlidesV1::TableCellLocation] attr_accessor :cell_location # The object ID of the shape or table containing the text to add bullets to. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop # Specifies a contiguous range of an indexed collection, such as characters in # text. # Corresponds to the JSON property `textRange` # @return [Google::Apis::SlidesV1::Range] attr_accessor :text_range def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @bullet_preset = args[:bullet_preset] if args.key?(:bullet_preset) @cell_location = args[:cell_location] if args.key?(:cell_location) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) @text_range = args[:text_range] if args.key?(:text_range) end end # Creates a new shape. class CreateShapeRequest include Google::Apis::Core::Hashable # Common properties for a page element. # Note: When you initially create a # PageElement, the API may modify # the values of both `size` and `transform`, but the # visual size will be unchanged. # Corresponds to the JSON property `elementProperties` # @return [Google::Apis::SlidesV1::PageElementProperties] attr_accessor :element_properties # A user-supplied object ID. # If you specify an ID, it must be unique among all pages and page elements # in the presentation. The ID must start with an alphanumeric character or an # underscore (matches regex `[a-zA-Z0-9_]`); remaining characters # may include those as well as a hyphen or colon (matches regex # `[a-zA-Z0-9_-:]`). # The length of the ID must not be less than 5 or greater than 50. # If empty, a unique identifier will be generated. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop # The shape type. # Corresponds to the JSON property `shapeType` # @return [String] attr_accessor :shape_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @element_properties = args[:element_properties] if args.key?(:element_properties) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) @shape_type = args[:shape_type] if args.key?(:shape_type) end end # The result of creating a shape. class CreateShapeResponse include Google::Apis::Core::Hashable # The object ID of the created shape. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) end end # Creates an embedded Google Sheets chart. # NOTE: Chart creation requires at least one of the spreadsheets.readonly, # spreadsheets, drive.readonly, drive.file, or drive OAuth scopes. class CreateSheetsChartRequest include Google::Apis::Core::Hashable # The ID of the specific chart in the Google Sheets spreadsheet. # Corresponds to the JSON property `chartId` # @return [Fixnum] attr_accessor :chart_id # Common properties for a page element. # Note: When you initially create a # PageElement, the API may modify # the values of both `size` and `transform`, but the # visual size will be unchanged. # Corresponds to the JSON property `elementProperties` # @return [Google::Apis::SlidesV1::PageElementProperties] attr_accessor :element_properties # The mode with which the chart is linked to the source spreadsheet. When # not specified, the chart will be an image that is not linked. # Corresponds to the JSON property `linkingMode` # @return [String] attr_accessor :linking_mode # A user-supplied object ID. # If specified, the ID must be unique among all pages and page elements in # the presentation. The ID should start with a word character [a-zA-Z0-9_] # and then followed by any number of the following characters [a-zA-Z0-9_-:]. # The length of the ID should not be less than 5 or greater than 50. # If empty, a unique identifier will be generated. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop # The ID of the Google Sheets spreadsheet that contains the chart. # Corresponds to the JSON property `spreadsheetId` # @return [String] attr_accessor :spreadsheet_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @chart_id = args[:chart_id] if args.key?(:chart_id) @element_properties = args[:element_properties] if args.key?(:element_properties) @linking_mode = args[:linking_mode] if args.key?(:linking_mode) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) @spreadsheet_id = args[:spreadsheet_id] if args.key?(:spreadsheet_id) end end # The result of creating an embedded Google Sheets chart. class CreateSheetsChartResponse include Google::Apis::Core::Hashable # The object ID of the created chart. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) end end # Creates a new slide. class CreateSlideRequest include Google::Apis::Core::Hashable # The optional zero-based index indicating where to insert the slides. # If you don't specify an index, the new slide is created at the end. # Corresponds to the JSON property `insertionIndex` # @return [Fixnum] attr_accessor :insertion_index # A user-supplied object ID. # If you specify an ID, it must be unique among all pages and page elements # in the presentation. The ID must start with an alphanumeric character or an # underscore (matches regex `[a-zA-Z0-9_]`); remaining characters # may include those as well as a hyphen or colon (matches regex # `[a-zA-Z0-9_-:]`). # The length of the ID must not be less than 5 or greater than 50. # If you don't specify an ID, a unique one is generated. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop # An optional list of object ID mappings from the placeholder(s) on the layout # to the placeholder(s) # that will be created on the new slide from that specified layout. Can only # be used when `slide_layout_reference` is specified. # Corresponds to the JSON property `placeholderIdMappings` # @return [Array] attr_accessor :placeholder_id_mappings # Slide layout reference. This may reference either: # - A predefined layout # - One of the layouts in the presentation. # Corresponds to the JSON property `slideLayoutReference` # @return [Google::Apis::SlidesV1::LayoutReference] attr_accessor :slide_layout_reference def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @insertion_index = args[:insertion_index] if args.key?(:insertion_index) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) @placeholder_id_mappings = args[:placeholder_id_mappings] if args.key?(:placeholder_id_mappings) @slide_layout_reference = args[:slide_layout_reference] if args.key?(:slide_layout_reference) end end # The result of creating a slide. class CreateSlideResponse include Google::Apis::Core::Hashable # The object ID of the created slide. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) end end # Creates a new table. class CreateTableRequest include Google::Apis::Core::Hashable # Number of columns in the table. # Corresponds to the JSON property `columns` # @return [Fixnum] attr_accessor :columns # Common properties for a page element. # Note: When you initially create a # PageElement, the API may modify # the values of both `size` and `transform`, but the # visual size will be unchanged. # Corresponds to the JSON property `elementProperties` # @return [Google::Apis::SlidesV1::PageElementProperties] attr_accessor :element_properties # A user-supplied object ID. # If you specify an ID, it must be unique among all pages and page elements # in the presentation. The ID must start with an alphanumeric character or an # underscore (matches regex `[a-zA-Z0-9_]`); remaining characters # may include those as well as a hyphen or colon (matches regex # `[a-zA-Z0-9_-:]`). # The length of the ID must not be less than 5 or greater than 50. # If you don't specify an ID, a unique one is generated. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop # Number of rows in the table. # Corresponds to the JSON property `rows` # @return [Fixnum] attr_accessor :rows def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @columns = args[:columns] if args.key?(:columns) @element_properties = args[:element_properties] if args.key?(:element_properties) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) @rows = args[:rows] if args.key?(:rows) end end # The result of creating a table. class CreateTableResponse include Google::Apis::Core::Hashable # The object ID of the created table. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) end end # Creates a video. # NOTE: Creating a video from Google Drive requires that the requesting app # have at least one of the drive, drive.readonly, or drive.file OAuth scopes. class CreateVideoRequest include Google::Apis::Core::Hashable # Common properties for a page element. # Note: When you initially create a # PageElement, the API may modify # the values of both `size` and `transform`, but the # visual size will be unchanged. # Corresponds to the JSON property `elementProperties` # @return [Google::Apis::SlidesV1::PageElementProperties] attr_accessor :element_properties # The video source's unique identifier for this video. # e.g. For YouTube video https://www.youtube.com/watch?v=7U3axjORYZ0, # the ID is 7U3axjORYZ0. For a Google Drive video # https://drive.google.com/file/d/1xCgQLFTJi5_Xl8DgW_lcUYq5e-q6Hi5Q the ID # is 1xCgQLFTJi5_Xl8DgW_lcUYq5e-q6Hi5Q. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A user-supplied object ID. # If you specify an ID, it must be unique among all pages and page elements # in the presentation. The ID must start with an alphanumeric character or an # underscore (matches regex `[a-zA-Z0-9_]`); remaining characters # may include those as well as a hyphen or colon (matches regex # `[a-zA-Z0-9_-:]`). # The length of the ID must not be less than 5 or greater than 50. # If you don't specify an ID, a unique one is generated. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop # The video source. # Corresponds to the JSON property `source` # @return [String] attr_accessor :source def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @element_properties = args[:element_properties] if args.key?(:element_properties) @id = args[:id] if args.key?(:id) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) @source = args[:source] if args.key?(:source) end end # The result of creating a video. class CreateVideoResponse include Google::Apis::Core::Hashable # The object ID of the created video. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) end end # The crop properties of an object enclosed in a container. For example, an # Image. # The crop properties is represented by the offsets of four edges which define # a crop rectangle. The offsets are measured in percentage from the # corresponding edges of the object's original bounding rectangle towards # inside, relative to the object's original dimensions. # - If the offset is in the interval (0, 1), the corresponding edge of crop # rectangle is positioned inside of the object's original bounding rectangle. # - If the offset is negative or greater than 1, the corresponding edge of crop # rectangle is positioned outside of the object's original bounding rectangle. # - If the left edge of the crop rectangle is on the right side of its right # edge, the object will be flipped horizontally. # - If the top edge of the crop rectangle is below its bottom edge, the object # will be flipped vertically. # - If all offsets and rotation angle is 0, the object is not cropped. # After cropping, the content in the crop rectangle will be stretched to fit # its container. class CropProperties include Google::Apis::Core::Hashable # The rotation angle of the crop window around its center, in radians. # Rotation angle is applied after the offset. # Corresponds to the JSON property `angle` # @return [Float] attr_accessor :angle # The offset specifies the bottom edge of the crop rectangle that is located # above the original bounding rectangle bottom edge, relative to the object's # original height. # Corresponds to the JSON property `bottomOffset` # @return [Float] attr_accessor :bottom_offset # The offset specifies the left edge of the crop rectangle that is located to # the right of the original bounding rectangle left edge, relative to the # object's original width. # Corresponds to the JSON property `leftOffset` # @return [Float] attr_accessor :left_offset # The offset specifies the right edge of the crop rectangle that is located # to the left of the original bounding rectangle right edge, relative to the # object's original width. # Corresponds to the JSON property `rightOffset` # @return [Float] attr_accessor :right_offset # The offset specifies the top edge of the crop rectangle that is located # below the original bounding rectangle top edge, relative to the object's # original height. # Corresponds to the JSON property `topOffset` # @return [Float] attr_accessor :top_offset def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @angle = args[:angle] if args.key?(:angle) @bottom_offset = args[:bottom_offset] if args.key?(:bottom_offset) @left_offset = args[:left_offset] if args.key?(:left_offset) @right_offset = args[:right_offset] if args.key?(:right_offset) @top_offset = args[:top_offset] if args.key?(:top_offset) end end # Deletes an object, either pages or # page elements, from the # presentation. class DeleteObjectRequest include Google::Apis::Core::Hashable # The object ID of the page or page element to delete. # If after a delete operation a group contains # only 1 or no page elements, the group is also deleted. # If a placeholder is deleted on a layout, any empty inheriting shapes are # also deleted. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) end end # Deletes bullets from all of the paragraphs that overlap with the given text # index range. # The nesting level of each paragraph will be visually preserved by adding # indent to the start of the corresponding paragraph. class DeleteParagraphBulletsRequest include Google::Apis::Core::Hashable # A location of a single table cell within a table. # Corresponds to the JSON property `cellLocation` # @return [Google::Apis::SlidesV1::TableCellLocation] attr_accessor :cell_location # The object ID of the shape or table containing the text to delete bullets # from. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop # Specifies a contiguous range of an indexed collection, such as characters in # text. # Corresponds to the JSON property `textRange` # @return [Google::Apis::SlidesV1::Range] attr_accessor :text_range def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @cell_location = args[:cell_location] if args.key?(:cell_location) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) @text_range = args[:text_range] if args.key?(:text_range) end end # Deletes a column from a table. class DeleteTableColumnRequest include Google::Apis::Core::Hashable # A location of a single table cell within a table. # Corresponds to the JSON property `cellLocation` # @return [Google::Apis::SlidesV1::TableCellLocation] attr_accessor :cell_location # The table to delete columns from. # Corresponds to the JSON property `tableObjectId` # @return [String] attr_accessor :table_object_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @cell_location = args[:cell_location] if args.key?(:cell_location) @table_object_id = args[:table_object_id] if args.key?(:table_object_id) end end # Deletes a row from a table. class DeleteTableRowRequest include Google::Apis::Core::Hashable # A location of a single table cell within a table. # Corresponds to the JSON property `cellLocation` # @return [Google::Apis::SlidesV1::TableCellLocation] attr_accessor :cell_location # The table to delete rows from. # Corresponds to the JSON property `tableObjectId` # @return [String] attr_accessor :table_object_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @cell_location = args[:cell_location] if args.key?(:cell_location) @table_object_id = args[:table_object_id] if args.key?(:table_object_id) end end # Deletes text from a shape or a table cell. class DeleteTextRequest include Google::Apis::Core::Hashable # A location of a single table cell within a table. # Corresponds to the JSON property `cellLocation` # @return [Google::Apis::SlidesV1::TableCellLocation] attr_accessor :cell_location # The object ID of the shape or table from which the text will be deleted. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop # Specifies a contiguous range of an indexed collection, such as characters in # text. # Corresponds to the JSON property `textRange` # @return [Google::Apis::SlidesV1::Range] attr_accessor :text_range def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @cell_location = args[:cell_location] if args.key?(:cell_location) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) @text_range = args[:text_range] if args.key?(:text_range) end end # A magnitude in a single direction in the specified units. class Dimension include Google::Apis::Core::Hashable # The magnitude. # Corresponds to the JSON property `magnitude` # @return [Float] attr_accessor :magnitude # The units for magnitude. # Corresponds to the JSON property `unit` # @return [String] attr_accessor :unit def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @magnitude = args[:magnitude] if args.key?(:magnitude) @unit = args[:unit] if args.key?(:unit) end end # Duplicates a slide or page element. # When duplicating a slide, the duplicate slide will be created immediately # following the specified slide. When duplicating a page element, the duplicate # will be placed on the same page at the same position as the original. class DuplicateObjectRequest include Google::Apis::Core::Hashable # The ID of the object to duplicate. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop # The object being duplicated may contain other objects, for example when # duplicating a slide or a group page element. This map defines how the IDs # of duplicated objects are generated: the keys are the IDs of the original # objects and its values are the IDs that will be assigned to the # corresponding duplicate object. The ID of the source object's duplicate # may be specified in this map as well, using the same value of the # `object_id` field as a key and the newly desired ID as the value. # All keys must correspond to existing IDs in the presentation. All values # must be unique in the presentation and must start with an alphanumeric # character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining # characters may include those as well as a hyphen or colon (matches regex # `[a-zA-Z0-9_-:]`). The length of the new ID must not be less than 5 or # greater than 50. # If any IDs of source objects are omitted from the map, a new random ID will # be assigned. If the map is empty or unset, all duplicate objects will # receive a new random ID. # Corresponds to the JSON property `objectIds` # @return [Hash] attr_accessor :object_ids def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) @object_ids = args[:object_ids] if args.key?(:object_ids) end end # The response of duplicating an object. class DuplicateObjectResponse include Google::Apis::Core::Hashable # The ID of the new duplicate object. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) end end # A PageElement kind representing a # joined collection of PageElements. class Group include Google::Apis::Core::Hashable # The collection of elements in the group. The minimum size of a group is 2. # Corresponds to the JSON property `children` # @return [Array] attr_accessor :children def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @children = args[:children] if args.key?(:children) end end # Groups objects to create an object group. For example, groups PageElements to # create a Group on the same page as all the children. class GroupObjectsRequest include Google::Apis::Core::Hashable # The object IDs of the objects to group. # Only page elements can be grouped. There should be at least two page # elements on the same page that are not already in another group. Some page # elements, such as videos, tables and placeholder shapes cannot be grouped. # Corresponds to the JSON property `childrenObjectIds` # @return [Array] attr_accessor :children_object_ids # A user-supplied object ID for the group to be created. # If you specify an ID, it must be unique among all pages and page elements # in the presentation. The ID must start with an alphanumeric character or an # underscore (matches regex `[a-zA-Z0-9_]`); remaining characters # may include those as well as a hyphen or colon (matches regex # `[a-zA-Z0-9_-:]`). # The length of the ID must not be less than 5 or greater than 50. # If you don't specify an ID, a unique one is generated. # Corresponds to the JSON property `groupObjectId` # @return [String] attr_accessor :group_object_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @children_object_ids = args[:children_object_ids] if args.key?(:children_object_ids) @group_object_id = args[:group_object_id] if args.key?(:group_object_id) end end # The result of grouping objects. class GroupObjectsResponse include Google::Apis::Core::Hashable # The object ID of the created group. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) end end # A PageElement kind representing an # image. class Image include Google::Apis::Core::Hashable # An URL to an image with a default lifetime of 30 minutes. # This URL is tagged with the account of the requester. Anyone with the URL # effectively accesses the image as the original requester. Access to the # image may be lost if the presentation's sharing settings change. # Corresponds to the JSON property `contentUrl` # @return [String] attr_accessor :content_url # The properties of the Image. # Corresponds to the JSON property `imageProperties` # @return [Google::Apis::SlidesV1::ImageProperties] attr_accessor :image_properties # The source URL is the URL used to insert the image. The source URL can be # empty. # Corresponds to the JSON property `sourceUrl` # @return [String] attr_accessor :source_url def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @content_url = args[:content_url] if args.key?(:content_url) @image_properties = args[:image_properties] if args.key?(:image_properties) @source_url = args[:source_url] if args.key?(:source_url) end end # The properties of the Image. class ImageProperties include Google::Apis::Core::Hashable # The brightness effect of the image. The value should be in the interval # [-1.0, 1.0], where 0 means no effect. This property is read-only. # Corresponds to the JSON property `brightness` # @return [Float] attr_accessor :brightness # The contrast effect of the image. The value should be in the interval # [-1.0, 1.0], where 0 means no effect. This property is read-only. # Corresponds to the JSON property `contrast` # @return [Float] attr_accessor :contrast # The crop properties of an object enclosed in a container. For example, an # Image. # The crop properties is represented by the offsets of four edges which define # a crop rectangle. The offsets are measured in percentage from the # corresponding edges of the object's original bounding rectangle towards # inside, relative to the object's original dimensions. # - If the offset is in the interval (0, 1), the corresponding edge of crop # rectangle is positioned inside of the object's original bounding rectangle. # - If the offset is negative or greater than 1, the corresponding edge of crop # rectangle is positioned outside of the object's original bounding rectangle. # - If the left edge of the crop rectangle is on the right side of its right # edge, the object will be flipped horizontally. # - If the top edge of the crop rectangle is below its bottom edge, the object # will be flipped vertically. # - If all offsets and rotation angle is 0, the object is not cropped. # After cropping, the content in the crop rectangle will be stretched to fit # its container. # Corresponds to the JSON property `cropProperties` # @return [Google::Apis::SlidesV1::CropProperties] attr_accessor :crop_properties # A hypertext link. # Corresponds to the JSON property `link` # @return [Google::Apis::SlidesV1::Link] attr_accessor :link # The outline of a PageElement. # If these fields are unset, they may be inherited from a parent placeholder # if it exists. If there is no parent, the fields will default to the value # used for new page elements created in the Slides editor, which may depend on # the page element kind. # Corresponds to the JSON property `outline` # @return [Google::Apis::SlidesV1::Outline] attr_accessor :outline # A recolor effect applied on an image. # Corresponds to the JSON property `recolor` # @return [Google::Apis::SlidesV1::Recolor] attr_accessor :recolor # The shadow properties of a page element. # If these fields are unset, they may be inherited from a parent placeholder # if it exists. If there is no parent, the fields will default to the value # used for new page elements created in the Slides editor, which may depend on # the page element kind. # Corresponds to the JSON property `shadow` # @return [Google::Apis::SlidesV1::Shadow] attr_accessor :shadow # The transparency effect of the image. The value should be in the interval # [0.0, 1.0], where 0 means no effect and 1 means completely transparent. # This property is read-only. # Corresponds to the JSON property `transparency` # @return [Float] attr_accessor :transparency def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @brightness = args[:brightness] if args.key?(:brightness) @contrast = args[:contrast] if args.key?(:contrast) @crop_properties = args[:crop_properties] if args.key?(:crop_properties) @link = args[:link] if args.key?(:link) @outline = args[:outline] if args.key?(:outline) @recolor = args[:recolor] if args.key?(:recolor) @shadow = args[:shadow] if args.key?(:shadow) @transparency = args[:transparency] if args.key?(:transparency) end end # Inserts columns into a table. # Other columns in the table will be resized to fit the new column. class InsertTableColumnsRequest include Google::Apis::Core::Hashable # A location of a single table cell within a table. # Corresponds to the JSON property `cellLocation` # @return [Google::Apis::SlidesV1::TableCellLocation] attr_accessor :cell_location # Whether to insert new columns to the right of the reference cell location. # - `True`: insert to the right. # - `False`: insert to the left. # Corresponds to the JSON property `insertRight` # @return [Boolean] attr_accessor :insert_right alias_method :insert_right?, :insert_right # The number of columns to be inserted. Maximum 20 per request. # Corresponds to the JSON property `number` # @return [Fixnum] attr_accessor :number # The table to insert columns into. # Corresponds to the JSON property `tableObjectId` # @return [String] attr_accessor :table_object_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @cell_location = args[:cell_location] if args.key?(:cell_location) @insert_right = args[:insert_right] if args.key?(:insert_right) @number = args[:number] if args.key?(:number) @table_object_id = args[:table_object_id] if args.key?(:table_object_id) end end # Inserts rows into a table. class InsertTableRowsRequest include Google::Apis::Core::Hashable # A location of a single table cell within a table. # Corresponds to the JSON property `cellLocation` # @return [Google::Apis::SlidesV1::TableCellLocation] attr_accessor :cell_location # Whether to insert new rows below the reference cell location. # - `True`: insert below the cell. # - `False`: insert above the cell. # Corresponds to the JSON property `insertBelow` # @return [Boolean] attr_accessor :insert_below alias_method :insert_below?, :insert_below # The number of rows to be inserted. Maximum 20 per request. # Corresponds to the JSON property `number` # @return [Fixnum] attr_accessor :number # The table to insert rows into. # Corresponds to the JSON property `tableObjectId` # @return [String] attr_accessor :table_object_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @cell_location = args[:cell_location] if args.key?(:cell_location) @insert_below = args[:insert_below] if args.key?(:insert_below) @number = args[:number] if args.key?(:number) @table_object_id = args[:table_object_id] if args.key?(:table_object_id) end end # Inserts text into a shape or a table cell. class InsertTextRequest include Google::Apis::Core::Hashable # A location of a single table cell within a table. # Corresponds to the JSON property `cellLocation` # @return [Google::Apis::SlidesV1::TableCellLocation] attr_accessor :cell_location # The index where the text will be inserted, in Unicode code units, based # on TextElement indexes. # The index is zero-based and is computed from the start of the string. # The index may be adjusted to prevent insertions inside Unicode grapheme # clusters. In these cases, the text will be inserted immediately after the # grapheme cluster. # Corresponds to the JSON property `insertionIndex` # @return [Fixnum] attr_accessor :insertion_index # The object ID of the shape or table where the text will be inserted. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop # The text to be inserted. # Inserting a newline character will implicitly create a new # ParagraphMarker at that index. # The paragraph style of the new paragraph will be copied from the paragraph # at the current insertion index, including lists and bullets. # Text styles for inserted text will be determined automatically, generally # preserving the styling of neighboring text. In most cases, the text will be # added to the TextRun that exists at the # insertion index. # Some control characters (U+0000-U+0008, U+000C-U+001F) and characters # from the Unicode Basic Multilingual Plane Private Use Area (U+E000-U+F8FF) # will be stripped out of the inserted text. # Corresponds to the JSON property `text` # @return [String] attr_accessor :text def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @cell_location = args[:cell_location] if args.key?(:cell_location) @insertion_index = args[:insertion_index] if args.key?(:insertion_index) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) @text = args[:text] if args.key?(:text) end end # The user-specified ID mapping for a placeholder that will be created on a # slide from a specified layout. class LayoutPlaceholderIdMapping include Google::Apis::Core::Hashable # The placeholder information that uniquely identifies a placeholder shape. # Corresponds to the JSON property `layoutPlaceholder` # @return [Google::Apis::SlidesV1::Placeholder] attr_accessor :layout_placeholder # The object ID of the placeholder on a layout that will be applied # to a slide. # Corresponds to the JSON property `layoutPlaceholderObjectId` # @return [String] attr_accessor :layout_placeholder_object_id # A user-supplied object ID for the placeholder identified above that to be # created onto a slide. # If you specify an ID, it must be unique among all pages and page elements # in the presentation. The ID must start with an alphanumeric character or an # underscore (matches regex `[a-zA-Z0-9_]`); remaining characters # may include those as well as a hyphen or colon (matches regex # `[a-zA-Z0-9_-:]`). # The length of the ID must not be less than 5 or greater than 50. # If you don't specify an ID, a unique one is generated. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @layout_placeholder = args[:layout_placeholder] if args.key?(:layout_placeholder) @layout_placeholder_object_id = args[:layout_placeholder_object_id] if args.key?(:layout_placeholder_object_id) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) end end # The properties of Page are only # relevant for pages with page_type LAYOUT. class LayoutProperties include Google::Apis::Core::Hashable # The human-readable name of the layout. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # The object ID of the master that this layout is based on. # Corresponds to the JSON property `masterObjectId` # @return [String] attr_accessor :master_object_id # The name of the layout. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @display_name = args[:display_name] if args.key?(:display_name) @master_object_id = args[:master_object_id] if args.key?(:master_object_id) @name = args[:name] if args.key?(:name) end end # Slide layout reference. This may reference either: # - A predefined layout # - One of the layouts in the presentation. class LayoutReference include Google::Apis::Core::Hashable # Layout ID: the object ID of one of the layouts in the presentation. # Corresponds to the JSON property `layoutId` # @return [String] attr_accessor :layout_id # Predefined layout. # Corresponds to the JSON property `predefinedLayout` # @return [String] attr_accessor :predefined_layout def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @layout_id = args[:layout_id] if args.key?(:layout_id) @predefined_layout = args[:predefined_layout] if args.key?(:predefined_layout) end end # A PageElement kind representing a # non-connector line, straight connector, curved connector, or bent connector. class Line include Google::Apis::Core::Hashable # The category of the line. # It matches the `category` specified in CreateLineRequest, and can be updated # with # UpdateLineCategoryRequest. # Corresponds to the JSON property `lineCategory` # @return [String] attr_accessor :line_category # The properties of the Line. # When unset, these fields default to values that match the appearance of # new lines created in the Slides editor. # Corresponds to the JSON property `lineProperties` # @return [Google::Apis::SlidesV1::LineProperties] attr_accessor :line_properties # The type of the line. # Corresponds to the JSON property `lineType` # @return [String] attr_accessor :line_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @line_category = args[:line_category] if args.key?(:line_category) @line_properties = args[:line_properties] if args.key?(:line_properties) @line_type = args[:line_type] if args.key?(:line_type) end end # The properties for one end of a Line # connection. class LineConnection include Google::Apis::Core::Hashable # The object ID of the connected page element. # Some page elements, such as groups, tables, and lines # do not have connection sites and therefore cannot be connected to a # connector line. # Corresponds to the JSON property `connectedObjectId` # @return [String] attr_accessor :connected_object_id # The index of the connection site on the connected page element. # In most cases, it corresponds to the predefined connection site index from # the ECMA-376 standard. More information on those connection sites can be # found in the description of the "cnx" attribute in section 20.1.9.9 and # Annex H. "Predefined DrawingML Shape and Text Geometries" of "Office Open # XML File Formats-Fundamentals and Markup Language Reference", part 1 of # [ECMA-376 5th edition] # (http://www.ecma-international.org/publications/standards/Ecma-376.htm). # The position of each connection site can also be viewed from Slides editor. # Corresponds to the JSON property `connectionSiteIndex` # @return [Fixnum] attr_accessor :connection_site_index def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @connected_object_id = args[:connected_object_id] if args.key?(:connected_object_id) @connection_site_index = args[:connection_site_index] if args.key?(:connection_site_index) end end # The fill of the line. class LineFill include Google::Apis::Core::Hashable # A solid color fill. The page or page element is filled entirely with the # specified color value. # If any field is unset, its value may be inherited from a parent placeholder # if it exists. # Corresponds to the JSON property `solidFill` # @return [Google::Apis::SlidesV1::SolidFill] attr_accessor :solid_fill def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @solid_fill = args[:solid_fill] if args.key?(:solid_fill) end end # The properties of the Line. # When unset, these fields default to values that match the appearance of # new lines created in the Slides editor. class LineProperties include Google::Apis::Core::Hashable # The dash style of the line. # Corresponds to the JSON property `dashStyle` # @return [String] attr_accessor :dash_style # The style of the arrow at the end of the line. # Corresponds to the JSON property `endArrow` # @return [String] attr_accessor :end_arrow # The properties for one end of a Line # connection. # Corresponds to the JSON property `endConnection` # @return [Google::Apis::SlidesV1::LineConnection] attr_accessor :end_connection # The fill of the line. # Corresponds to the JSON property `lineFill` # @return [Google::Apis::SlidesV1::LineFill] attr_accessor :line_fill # A hypertext link. # Corresponds to the JSON property `link` # @return [Google::Apis::SlidesV1::Link] attr_accessor :link # The style of the arrow at the beginning of the line. # Corresponds to the JSON property `startArrow` # @return [String] attr_accessor :start_arrow # The properties for one end of a Line # connection. # Corresponds to the JSON property `startConnection` # @return [Google::Apis::SlidesV1::LineConnection] attr_accessor :start_connection # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `weight` # @return [Google::Apis::SlidesV1::Dimension] attr_accessor :weight def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @dash_style = args[:dash_style] if args.key?(:dash_style) @end_arrow = args[:end_arrow] if args.key?(:end_arrow) @end_connection = args[:end_connection] if args.key?(:end_connection) @line_fill = args[:line_fill] if args.key?(:line_fill) @link = args[:link] if args.key?(:link) @start_arrow = args[:start_arrow] if args.key?(:start_arrow) @start_connection = args[:start_connection] if args.key?(:start_connection) @weight = args[:weight] if args.key?(:weight) end end # A hypertext link. class Link include Google::Apis::Core::Hashable # If set, indicates this is a link to the specific page in this # presentation with this ID. A page with this ID may not exist. # Corresponds to the JSON property `pageObjectId` # @return [String] attr_accessor :page_object_id # If set, indicates this is a link to a slide in this presentation, # addressed by its position. # Corresponds to the JSON property `relativeLink` # @return [String] attr_accessor :relative_link # If set, indicates this is a link to the slide at this zero-based index # in the presentation. There may not be a slide at this index. # Corresponds to the JSON property `slideIndex` # @return [Fixnum] attr_accessor :slide_index # If set, indicates this is a link to the external web page at this URL. # Corresponds to the JSON property `url` # @return [String] attr_accessor :url def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @page_object_id = args[:page_object_id] if args.key?(:page_object_id) @relative_link = args[:relative_link] if args.key?(:relative_link) @slide_index = args[:slide_index] if args.key?(:slide_index) @url = args[:url] if args.key?(:url) end end # A List describes the look and feel of bullets belonging to paragraphs # associated with a list. A paragraph that is part of a list has an implicit # reference to that list's ID. class List include Google::Apis::Core::Hashable # The ID of the list. # Corresponds to the JSON property `listId` # @return [String] attr_accessor :list_id # A map of nesting levels to the properties of bullets at the associated # level. A list has at most nine levels of nesting, so the possible values # for the keys of this map are 0 through 8, inclusive. # Corresponds to the JSON property `nestingLevel` # @return [Hash] attr_accessor :nesting_level def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @list_id = args[:list_id] if args.key?(:list_id) @nesting_level = args[:nesting_level] if args.key?(:nesting_level) end end # The properties of Page that are only # relevant for pages with page_type MASTER. class MasterProperties include Google::Apis::Core::Hashable # The human-readable name of the master. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @display_name = args[:display_name] if args.key?(:display_name) end end # Merges cells in a Table. class MergeTableCellsRequest include Google::Apis::Core::Hashable # The object ID of the table. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop # A table range represents a reference to a subset of a table. # It's important to note that the cells specified by a table range do not # necessarily form a rectangle. For example, let's say we have a 3 x 3 table # where all the cells of the last row are merged together. The table looks # like this: # # [ ] # A table range with location = (0, 0), row span = 3 and column span = 2 # specifies the following cells: # x x # [ x x x ] # Corresponds to the JSON property `tableRange` # @return [Google::Apis::SlidesV1::TableRange] attr_accessor :table_range def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) @table_range = args[:table_range] if args.key?(:table_range) end end # Contains properties describing the look and feel of a list bullet at a given # level of nesting. class NestingLevel include Google::Apis::Core::Hashable # Represents the styling that can be applied to a TextRun. # If this text is contained in a shape with a parent placeholder, then these # text styles may be # inherited from the parent. Which text styles are inherited depend on the # nesting level of lists: # * A text run in a paragraph that is not in a list will inherit its text style # from the the newline character in the paragraph at the 0 nesting level of # the list inside the parent placeholder. # * A text run in a paragraph that is in a list will inherit its text style # from the newline character in the paragraph at its corresponding nesting # level of the list inside the parent placeholder. # Inherited text styles are represented as unset fields in this message. If # text is contained in a shape without a parent placeholder, unsetting these # fields will revert the style to a value matching the defaults in the Slides # editor. # Corresponds to the JSON property `bulletStyle` # @return [Google::Apis::SlidesV1::TextStyle] attr_accessor :bullet_style def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @bullet_style = args[:bullet_style] if args.key?(:bullet_style) end end # The properties of Page that are only # relevant for pages with page_type NOTES. class NotesProperties include Google::Apis::Core::Hashable # The object ID of the shape on this notes page that contains the speaker # notes for the corresponding slide. # The actual shape may not always exist on the notes page. Inserting text # using this object ID will automatically create the shape. In this case, the # actual shape may have different object ID. The `GetPresentation` or # `GetPage` action will always return the latest object ID. # Corresponds to the JSON property `speakerNotesObjectId` # @return [String] attr_accessor :speaker_notes_object_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @speaker_notes_object_id = args[:speaker_notes_object_id] if args.key?(:speaker_notes_object_id) end end # A themeable solid color value. class OpaqueColor include Google::Apis::Core::Hashable # An RGB color. # Corresponds to the JSON property `rgbColor` # @return [Google::Apis::SlidesV1::RgbColor] attr_accessor :rgb_color # An opaque theme color. # Corresponds to the JSON property `themeColor` # @return [String] attr_accessor :theme_color def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @rgb_color = args[:rgb_color] if args.key?(:rgb_color) @theme_color = args[:theme_color] if args.key?(:theme_color) end end # A color that can either be fully opaque or fully transparent. class OptionalColor include Google::Apis::Core::Hashable # A themeable solid color value. # Corresponds to the JSON property `opaqueColor` # @return [Google::Apis::SlidesV1::OpaqueColor] attr_accessor :opaque_color def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @opaque_color = args[:opaque_color] if args.key?(:opaque_color) end end # The outline of a PageElement. # If these fields are unset, they may be inherited from a parent placeholder # if it exists. If there is no parent, the fields will default to the value # used for new page elements created in the Slides editor, which may depend on # the page element kind. class Outline include Google::Apis::Core::Hashable # The dash style of the outline. # Corresponds to the JSON property `dashStyle` # @return [String] attr_accessor :dash_style # The fill of the outline. # Corresponds to the JSON property `outlineFill` # @return [Google::Apis::SlidesV1::OutlineFill] attr_accessor :outline_fill # The outline property state. # Updating the outline on a page element will implicitly update this field # to `RENDERED`, unless another value is specified in the same request. To # have no outline on a page element, set this field to `NOT_RENDERED`. In # this case, any other outline fields set in the same request will be # ignored. # Corresponds to the JSON property `propertyState` # @return [String] attr_accessor :property_state # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `weight` # @return [Google::Apis::SlidesV1::Dimension] attr_accessor :weight def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @dash_style = args[:dash_style] if args.key?(:dash_style) @outline_fill = args[:outline_fill] if args.key?(:outline_fill) @property_state = args[:property_state] if args.key?(:property_state) @weight = args[:weight] if args.key?(:weight) end end # The fill of the outline. class OutlineFill include Google::Apis::Core::Hashable # A solid color fill. The page or page element is filled entirely with the # specified color value. # If any field is unset, its value may be inherited from a parent placeholder # if it exists. # Corresponds to the JSON property `solidFill` # @return [Google::Apis::SlidesV1::SolidFill] attr_accessor :solid_fill def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @solid_fill = args[:solid_fill] if args.key?(:solid_fill) end end # A page in a presentation. class Page include Google::Apis::Core::Hashable # The properties of Page are only # relevant for pages with page_type LAYOUT. # Corresponds to the JSON property `layoutProperties` # @return [Google::Apis::SlidesV1::LayoutProperties] attr_accessor :layout_properties # The properties of Page that are only # relevant for pages with page_type MASTER. # Corresponds to the JSON property `masterProperties` # @return [Google::Apis::SlidesV1::MasterProperties] attr_accessor :master_properties # The properties of Page that are only # relevant for pages with page_type NOTES. # Corresponds to the JSON property `notesProperties` # @return [Google::Apis::SlidesV1::NotesProperties] attr_accessor :notes_properties # The object ID for this page. Object IDs used by # Page and # PageElement share the same namespace. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop # The page elements rendered on the page. # Corresponds to the JSON property `pageElements` # @return [Array] attr_accessor :page_elements # The properties of the Page. # The page will inherit properties from the parent page. Depending on the page # type the hierarchy is defined in either # SlideProperties or # LayoutProperties. # Corresponds to the JSON property `pageProperties` # @return [Google::Apis::SlidesV1::PageProperties] attr_accessor :page_properties # The type of the page. # Corresponds to the JSON property `pageType` # @return [String] attr_accessor :page_type # The revision ID of the presentation containing this page. Can be used in # update requests to assert that the presentation revision hasn't changed # since the last read operation. Only populated if the user has edit access # to the presentation. # The format of the revision ID may change over time, so it should be treated # opaquely. A returned revision ID is only guaranteed to be valid for 24 # hours after it has been returned and cannot be shared across users. If the # revision ID is unchanged between calls, then the presentation has not # changed. Conversely, a changed ID (for the same presentation and user) # usually means the presentation has been updated; however, a changed ID can # also be due to internal factors such as ID format changes. # Corresponds to the JSON property `revisionId` # @return [String] attr_accessor :revision_id # The properties of Page that are only # relevant for pages with page_type SLIDE. # Corresponds to the JSON property `slideProperties` # @return [Google::Apis::SlidesV1::SlideProperties] attr_accessor :slide_properties def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @layout_properties = args[:layout_properties] if args.key?(:layout_properties) @master_properties = args[:master_properties] if args.key?(:master_properties) @notes_properties = args[:notes_properties] if args.key?(:notes_properties) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) @page_elements = args[:page_elements] if args.key?(:page_elements) @page_properties = args[:page_properties] if args.key?(:page_properties) @page_type = args[:page_type] if args.key?(:page_type) @revision_id = args[:revision_id] if args.key?(:revision_id) @slide_properties = args[:slide_properties] if args.key?(:slide_properties) end end # The page background fill. class PageBackgroundFill include Google::Apis::Core::Hashable # The background fill property state. # Updating the fill on a page will implicitly update this field to # `RENDERED`, unless another value is specified in the same request. To # have no fill on a page, set this field to `NOT_RENDERED`. In this case, # any other fill fields set in the same request will be ignored. # Corresponds to the JSON property `propertyState` # @return [String] attr_accessor :property_state # A solid color fill. The page or page element is filled entirely with the # specified color value. # If any field is unset, its value may be inherited from a parent placeholder # if it exists. # Corresponds to the JSON property `solidFill` # @return [Google::Apis::SlidesV1::SolidFill] attr_accessor :solid_fill # The stretched picture fill. The page or page element is filled entirely with # the specified picture. The picture is stretched to fit its container. # Corresponds to the JSON property `stretchedPictureFill` # @return [Google::Apis::SlidesV1::StretchedPictureFill] attr_accessor :stretched_picture_fill def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @property_state = args[:property_state] if args.key?(:property_state) @solid_fill = args[:solid_fill] if args.key?(:solid_fill) @stretched_picture_fill = args[:stretched_picture_fill] if args.key?(:stretched_picture_fill) end end # A visual element rendered on a page. class PageElement include Google::Apis::Core::Hashable # The description of the page element. Combined with title to display alt # text. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # A PageElement kind representing a # joined collection of PageElements. # Corresponds to the JSON property `elementGroup` # @return [Google::Apis::SlidesV1::Group] attr_accessor :element_group # A PageElement kind representing an # image. # Corresponds to the JSON property `image` # @return [Google::Apis::SlidesV1::Image] attr_accessor :image # A PageElement kind representing a # non-connector line, straight connector, curved connector, or bent connector. # Corresponds to the JSON property `line` # @return [Google::Apis::SlidesV1::Line] attr_accessor :line # 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. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop # A PageElement kind representing a # generic shape that does not have a more specific classification. # Corresponds to the JSON property `shape` # @return [Google::Apis::SlidesV1::Shape] attr_accessor :shape # A PageElement kind representing # a linked chart embedded from Google Sheets. # Corresponds to the JSON property `sheetsChart` # @return [Google::Apis::SlidesV1::SheetsChart] attr_accessor :sheets_chart # A width and height. # Corresponds to the JSON property `size` # @return [Google::Apis::SlidesV1::Size] attr_accessor :size # A PageElement kind representing a # table. # Corresponds to the JSON property `table` # @return [Google::Apis::SlidesV1::Table] attr_accessor :table # The title of the page element. Combined with description to display alt # text. # Corresponds to the JSON property `title` # @return [String] attr_accessor :title # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] # to transform source coordinates (x,y) into destination coordinates (x', y') # according to: # x' x = shear_y scale_y translate_y # 1 [ 1 ] # After transformation, # x' = scale_x * x + shear_x * y + translate_x; # y' = scale_y * y + shear_y * x + translate_y; # This message is therefore composed of these six matrix elements. # Corresponds to the JSON property `transform` # @return [Google::Apis::SlidesV1::AffineTransform] attr_accessor :transform # A PageElement kind representing a # video. # Corresponds to the JSON property `video` # @return [Google::Apis::SlidesV1::Video] attr_accessor :video # A PageElement kind representing # word art. # Corresponds to the JSON property `wordArt` # @return [Google::Apis::SlidesV1::WordArt] attr_accessor :word_art def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @description = args[:description] if args.key?(:description) @element_group = args[:element_group] if args.key?(:element_group) @image = args[:image] if args.key?(:image) @line = args[:line] if args.key?(:line) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) @shape = args[:shape] if args.key?(:shape) @sheets_chart = args[:sheets_chart] if args.key?(:sheets_chart) @size = args[:size] if args.key?(:size) @table = args[:table] if args.key?(:table) @title = args[:title] if args.key?(:title) @transform = args[:transform] if args.key?(:transform) @video = args[:video] if args.key?(:video) @word_art = args[:word_art] if args.key?(:word_art) end end # Common properties for a page element. # Note: When you initially create a # PageElement, the API may modify # the values of both `size` and `transform`, but the # visual size will be unchanged. class PageElementProperties include Google::Apis::Core::Hashable # The object ID of the page where the element is located. # Corresponds to the JSON property `pageObjectId` # @return [String] attr_accessor :page_object_id # A width and height. # Corresponds to the JSON property `size` # @return [Google::Apis::SlidesV1::Size] attr_accessor :size # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] # to transform source coordinates (x,y) into destination coordinates (x', y') # according to: # x' x = shear_y scale_y translate_y # 1 [ 1 ] # After transformation, # x' = scale_x * x + shear_x * y + translate_x; # y' = scale_y * y + shear_y * x + translate_y; # This message is therefore composed of these six matrix elements. # Corresponds to the JSON property `transform` # @return [Google::Apis::SlidesV1::AffineTransform] attr_accessor :transform def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @page_object_id = args[:page_object_id] if args.key?(:page_object_id) @size = args[:size] if args.key?(:size) @transform = args[:transform] if args.key?(:transform) end end # The properties of the Page. # The page will inherit properties from the parent page. Depending on the page # type the hierarchy is defined in either # SlideProperties or # LayoutProperties. class PageProperties include Google::Apis::Core::Hashable # The palette of predefined colors for a page. # Corresponds to the JSON property `colorScheme` # @return [Google::Apis::SlidesV1::ColorScheme] attr_accessor :color_scheme # The page background fill. # Corresponds to the JSON property `pageBackgroundFill` # @return [Google::Apis::SlidesV1::PageBackgroundFill] attr_accessor :page_background_fill def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @color_scheme = args[:color_scheme] if args.key?(:color_scheme) @page_background_fill = args[:page_background_fill] if args.key?(:page_background_fill) end end # A TextElement kind that represents the beginning of a new paragraph. class ParagraphMarker include Google::Apis::Core::Hashable # Describes the bullet of a paragraph. # Corresponds to the JSON property `bullet` # @return [Google::Apis::SlidesV1::Bullet] attr_accessor :bullet # Styles that apply to a whole paragraph. # If this text is contained in a shape with a parent placeholder, then these # paragraph styles may be # inherited from the parent. Which paragraph styles are inherited depend on the # nesting level of lists: # * A paragraph not in a list will inherit its paragraph style from the # paragraph at the 0 nesting level of the list inside the parent placeholder. # * A paragraph in a list will inherit its paragraph style from the paragraph # at its corresponding nesting level of the list inside the parent # placeholder. # Inherited paragraph styles are represented as unset fields in this message. # Corresponds to the JSON property `style` # @return [Google::Apis::SlidesV1::ParagraphStyle] attr_accessor :style def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @bullet = args[:bullet] if args.key?(:bullet) @style = args[:style] if args.key?(:style) end end # Styles that apply to a whole paragraph. # If this text is contained in a shape with a parent placeholder, then these # paragraph styles may be # inherited from the parent. Which paragraph styles are inherited depend on the # nesting level of lists: # * A paragraph not in a list will inherit its paragraph style from the # paragraph at the 0 nesting level of the list inside the parent placeholder. # * A paragraph in a list will inherit its paragraph style from the paragraph # at its corresponding nesting level of the list inside the parent # placeholder. # Inherited paragraph styles are represented as unset fields in this message. class ParagraphStyle include Google::Apis::Core::Hashable # The text alignment for this paragraph. # Corresponds to the JSON property `alignment` # @return [String] attr_accessor :alignment # The text direction of this paragraph. If unset, the value defaults to # LEFT_TO_RIGHT since # text direction is not inherited. # Corresponds to the JSON property `direction` # @return [String] attr_accessor :direction # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `indentEnd` # @return [Google::Apis::SlidesV1::Dimension] attr_accessor :indent_end # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `indentFirstLine` # @return [Google::Apis::SlidesV1::Dimension] attr_accessor :indent_first_line # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `indentStart` # @return [Google::Apis::SlidesV1::Dimension] attr_accessor :indent_start # The amount of space between lines, as a percentage of normal, where normal # is represented as 100.0. If unset, the value is inherited from the parent. # Corresponds to the JSON property `lineSpacing` # @return [Float] attr_accessor :line_spacing # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `spaceAbove` # @return [Google::Apis::SlidesV1::Dimension] attr_accessor :space_above # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `spaceBelow` # @return [Google::Apis::SlidesV1::Dimension] attr_accessor :space_below # The spacing mode for the paragraph. # Corresponds to the JSON property `spacingMode` # @return [String] attr_accessor :spacing_mode def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @alignment = args[:alignment] if args.key?(:alignment) @direction = args[:direction] if args.key?(:direction) @indent_end = args[:indent_end] if args.key?(:indent_end) @indent_first_line = args[:indent_first_line] if args.key?(:indent_first_line) @indent_start = args[:indent_start] if args.key?(:indent_start) @line_spacing = args[:line_spacing] if args.key?(:line_spacing) @space_above = args[:space_above] if args.key?(:space_above) @space_below = args[:space_below] if args.key?(:space_below) @spacing_mode = args[:spacing_mode] if args.key?(:spacing_mode) end end # The placeholder information that uniquely identifies a placeholder shape. class Placeholder include Google::Apis::Core::Hashable # The index of the placeholder. If the same placeholder types are present in # the same page, they would have different index values. # Corresponds to the JSON property `index` # @return [Fixnum] attr_accessor :index # The object ID of this shape's parent placeholder. # If unset, the parent placeholder shape does not exist, so the shape does # not inherit properties from any other shape. # Corresponds to the JSON property `parentObjectId` # @return [String] attr_accessor :parent_object_id # The type of the placeholder. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @index = args[:index] if args.key?(:index) @parent_object_id = args[:parent_object_id] if args.key?(:parent_object_id) @type = args[:type] if args.key?(:type) end end # A Google Slides presentation. class Presentation include Google::Apis::Core::Hashable # The layouts in the presentation. A layout is a template that determines # how content is arranged and styled on the slides that inherit from that # layout. # Corresponds to the JSON property `layouts` # @return [Array] attr_accessor :layouts # The locale of the presentation, as an IETF BCP 47 language tag. # Corresponds to the JSON property `locale` # @return [String] attr_accessor :locale # The slide masters in the presentation. A slide master contains all common # page elements and the common properties for a set of layouts. They serve # three purposes: # - Placeholder shapes on a master contain the default text styles and shape # properties of all placeholder shapes on pages that use that master. # - The master page properties define the common page properties inherited by # its layouts. # - Any other shapes on the master slide will appear on all slides using that # master, regardless of their layout. # Corresponds to the JSON property `masters` # @return [Array] attr_accessor :masters # A page in a presentation. # Corresponds to the JSON property `notesMaster` # @return [Google::Apis::SlidesV1::Page] attr_accessor :notes_master # A width and height. # Corresponds to the JSON property `pageSize` # @return [Google::Apis::SlidesV1::Size] attr_accessor :page_size # The ID of the presentation. # Corresponds to the JSON property `presentationId` # @return [String] attr_accessor :presentation_id # The revision ID of the presentation. Can be used in update requests # to assert that the presentation revision hasn't changed since the last # read operation. Only populated if the user has edit access to the # presentation. # The format of the revision ID may change over time, so it should be treated # opaquely. A returned revision ID is only guaranteed to be valid for 24 # hours after it has been returned and cannot be shared across users. If the # revision ID is unchanged between calls, then the presentation has not # changed. Conversely, a changed ID (for the same presentation and user) # usually means the presentation has been updated; however, a changed ID can # also be due to internal factors such as ID format changes. # Corresponds to the JSON property `revisionId` # @return [String] attr_accessor :revision_id # The slides in the presentation. # A slide inherits properties from a slide layout. # Corresponds to the JSON property `slides` # @return [Array] attr_accessor :slides # The title of the presentation. # Corresponds to the JSON property `title` # @return [String] attr_accessor :title def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @layouts = args[:layouts] if args.key?(:layouts) @locale = args[:locale] if args.key?(:locale) @masters = args[:masters] if args.key?(:masters) @notes_master = args[:notes_master] if args.key?(:notes_master) @page_size = args[:page_size] if args.key?(:page_size) @presentation_id = args[:presentation_id] if args.key?(:presentation_id) @revision_id = args[:revision_id] if args.key?(:revision_id) @slides = args[:slides] if args.key?(:slides) @title = args[:title] if args.key?(:title) end end # Specifies a contiguous range of an indexed collection, such as characters in # text. class Range include Google::Apis::Core::Hashable # The optional zero-based index of the end of the collection. # Required for `FIXED_RANGE` ranges. # Corresponds to the JSON property `endIndex` # @return [Fixnum] attr_accessor :end_index # The optional zero-based index of the beginning of the collection. # Required for `FIXED_RANGE` and `FROM_START_INDEX` ranges. # Corresponds to the JSON property `startIndex` # @return [Fixnum] attr_accessor :start_index # The type of range. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @end_index = args[:end_index] if args.key?(:end_index) @start_index = args[:start_index] if args.key?(:start_index) @type = args[:type] if args.key?(:type) end end # A recolor effect applied on an image. class Recolor include Google::Apis::Core::Hashable # The name of the recolor effect. # The name is determined from the `recolor_stops` by matching the gradient # against the colors in the page's current color scheme. This property is # read-only. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The recolor effect is represented by a gradient, which is a list of color # stops. # The colors in the gradient will replace the corresponding colors at # the same position in the color palette and apply to the image. This # property is read-only. # Corresponds to the JSON property `recolorStops` # @return [Array] attr_accessor :recolor_stops def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @recolor_stops = args[:recolor_stops] if args.key?(:recolor_stops) end end # Refreshes an embedded Google Sheets chart by replacing it with the latest # version of the chart from Google Sheets. # NOTE: Refreshing charts requires at least one of the spreadsheets.readonly, # spreadsheets, drive.readonly, or drive OAuth scopes. class RefreshSheetsChartRequest include Google::Apis::Core::Hashable # The object ID of the chart to refresh. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) end end # Replaces all shapes that match the given criteria with the provided image. # The images replacing the shapes are rectangular after being inserted into # the presentation and do not take on the forms of the shapes. class ReplaceAllShapesWithImageRequest include Google::Apis::Core::Hashable # A criteria that matches a specific string of text in a shape or table. # Corresponds to the JSON property `containsText` # @return [Google::Apis::SlidesV1::SubstringMatchCriteria] attr_accessor :contains_text # The image replace method. # If you specify both a `replace_method` and an `image_replace_method`, the # `image_replace_method` takes precedence. # If you do not specify a value for `image_replace_method`, but specify a # value for `replace_method`, then the specified `replace_method` value is # used. # If you do not specify either, then CENTER_INSIDE is used. # Corresponds to the JSON property `imageReplaceMethod` # @return [String] attr_accessor :image_replace_method # The image URL. # The image is fetched once at insertion time and a copy is stored for # display inside the presentation. Images must be less than 50MB in size, # cannot exceed 25 megapixels, and must be in one of PNG, JPEG, or GIF # format. # The provided URL can be at most 2 kB in length. The URL itself is saved # with the image, and exposed via the Image.source_url field. # Corresponds to the JSON property `imageUrl` # @return [String] attr_accessor :image_url # If non-empty, limits the matches to page elements only on the given pages. # Returns a 400 bad request error if given the page object ID of a # notes page or a # notes master, or if a # page with that object ID doesn't exist in the presentation. # Corresponds to the JSON property `pageObjectIds` # @return [Array] attr_accessor :page_object_ids # The replace method. # Deprecated: use `image_replace_method` instead. # If you specify both a `replace_method` and an `image_replace_method`, the # `image_replace_method` takes precedence. # Corresponds to the JSON property `replaceMethod` # @return [String] attr_accessor :replace_method def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @contains_text = args[:contains_text] if args.key?(:contains_text) @image_replace_method = args[:image_replace_method] if args.key?(:image_replace_method) @image_url = args[:image_url] if args.key?(:image_url) @page_object_ids = args[:page_object_ids] if args.key?(:page_object_ids) @replace_method = args[:replace_method] if args.key?(:replace_method) end end # The result of replacing shapes with an image. class ReplaceAllShapesWithImageResponse include Google::Apis::Core::Hashable # The number of shapes replaced with images. # Corresponds to the JSON property `occurrencesChanged` # @return [Fixnum] attr_accessor :occurrences_changed def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @occurrences_changed = args[:occurrences_changed] if args.key?(:occurrences_changed) end end # Replaces all shapes that match the given criteria with the provided Google # Sheets chart. The chart will be scaled and centered to fit within the bounds # of the original shape. # NOTE: Replacing shapes with a chart requires at least one of the # spreadsheets.readonly, spreadsheets, drive.readonly, or drive OAuth scopes. class ReplaceAllShapesWithSheetsChartRequest include Google::Apis::Core::Hashable # The ID of the specific chart in the Google Sheets spreadsheet. # Corresponds to the JSON property `chartId` # @return [Fixnum] attr_accessor :chart_id # A criteria that matches a specific string of text in a shape or table. # Corresponds to the JSON property `containsText` # @return [Google::Apis::SlidesV1::SubstringMatchCriteria] attr_accessor :contains_text # The mode with which the chart is linked to the source spreadsheet. When # not specified, the chart will be an image that is not linked. # Corresponds to the JSON property `linkingMode` # @return [String] attr_accessor :linking_mode # If non-empty, limits the matches to page elements only on the given pages. # Returns a 400 bad request error if given the page object ID of a # notes page or a # notes master, or if a # page with that object ID doesn't exist in the presentation. # Corresponds to the JSON property `pageObjectIds` # @return [Array] attr_accessor :page_object_ids # The ID of the Google Sheets spreadsheet that contains the chart. # Corresponds to the JSON property `spreadsheetId` # @return [String] attr_accessor :spreadsheet_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @chart_id = args[:chart_id] if args.key?(:chart_id) @contains_text = args[:contains_text] if args.key?(:contains_text) @linking_mode = args[:linking_mode] if args.key?(:linking_mode) @page_object_ids = args[:page_object_ids] if args.key?(:page_object_ids) @spreadsheet_id = args[:spreadsheet_id] if args.key?(:spreadsheet_id) end end # The result of replacing shapes with a Google Sheets chart. class ReplaceAllShapesWithSheetsChartResponse include Google::Apis::Core::Hashable # The number of shapes replaced with charts. # Corresponds to the JSON property `occurrencesChanged` # @return [Fixnum] attr_accessor :occurrences_changed def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @occurrences_changed = args[:occurrences_changed] if args.key?(:occurrences_changed) end end # Replaces all instances of text matching a criteria with replace text. class ReplaceAllTextRequest include Google::Apis::Core::Hashable # A criteria that matches a specific string of text in a shape or table. # Corresponds to the JSON property `containsText` # @return [Google::Apis::SlidesV1::SubstringMatchCriteria] attr_accessor :contains_text # If non-empty, limits the matches to page elements only on the given pages. # Returns a 400 bad request error if given the page object ID of a # notes master, # or if a page with that object ID doesn't exist in the presentation. # Corresponds to the JSON property `pageObjectIds` # @return [Array] attr_accessor :page_object_ids # The text that will replace the matched text. # Corresponds to the JSON property `replaceText` # @return [String] attr_accessor :replace_text def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @contains_text = args[:contains_text] if args.key?(:contains_text) @page_object_ids = args[:page_object_ids] if args.key?(:page_object_ids) @replace_text = args[:replace_text] if args.key?(:replace_text) end end # The result of replacing text. class ReplaceAllTextResponse include Google::Apis::Core::Hashable # The number of occurrences changed by replacing all text. # Corresponds to the JSON property `occurrencesChanged` # @return [Fixnum] attr_accessor :occurrences_changed def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @occurrences_changed = args[:occurrences_changed] if args.key?(:occurrences_changed) end end # Replaces an existing image with a new image. # Replacing an image removes some image effects from the existing image. class ReplaceImageRequest include Google::Apis::Core::Hashable # The ID of the existing image that will be replaced. # Corresponds to the JSON property `imageObjectId` # @return [String] attr_accessor :image_object_id # The replacement method. # Corresponds to the JSON property `imageReplaceMethod` # @return [String] attr_accessor :image_replace_method # The image URL. # The image is fetched once at insertion time and a copy is stored for # display inside the presentation. Images must be less than 50MB in size, # cannot exceed 25 megapixels, and must be in one of PNG, JPEG, or GIF # format. # The provided URL can be at most 2 kB in length. The URL itself is saved # with the image, and exposed via the Image.source_url field. # Corresponds to the JSON property `url` # @return [String] attr_accessor :url def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @image_object_id = args[:image_object_id] if args.key?(:image_object_id) @image_replace_method = args[:image_replace_method] if args.key?(:image_replace_method) @url = args[:url] if args.key?(:url) end end # A single kind of update to apply to a presentation. class Request include Google::Apis::Core::Hashable # Creates an image. # Corresponds to the JSON property `createImage` # @return [Google::Apis::SlidesV1::CreateImageRequest] attr_accessor :create_image # Creates a line. # Corresponds to the JSON property `createLine` # @return [Google::Apis::SlidesV1::CreateLineRequest] attr_accessor :create_line # Creates bullets for all of the paragraphs that overlap with the given # text index range. # The nesting level of each paragraph will be determined by counting leading # tabs in front of each paragraph. To avoid excess space between the bullet and # the corresponding paragraph, these leading tabs are removed by this request. # This may change the indices of parts of the text. # If the paragraph immediately before paragraphs being updated is in a list # with a matching preset, the paragraphs being updated are added to that # preceding list. # Corresponds to the JSON property `createParagraphBullets` # @return [Google::Apis::SlidesV1::CreateParagraphBulletsRequest] attr_accessor :create_paragraph_bullets # Creates a new shape. # Corresponds to the JSON property `createShape` # @return [Google::Apis::SlidesV1::CreateShapeRequest] attr_accessor :create_shape # Creates an embedded Google Sheets chart. # NOTE: Chart creation requires at least one of the spreadsheets.readonly, # spreadsheets, drive.readonly, drive.file, or drive OAuth scopes. # Corresponds to the JSON property `createSheetsChart` # @return [Google::Apis::SlidesV1::CreateSheetsChartRequest] attr_accessor :create_sheets_chart # Creates a new slide. # Corresponds to the JSON property `createSlide` # @return [Google::Apis::SlidesV1::CreateSlideRequest] attr_accessor :create_slide # Creates a new table. # Corresponds to the JSON property `createTable` # @return [Google::Apis::SlidesV1::CreateTableRequest] attr_accessor :create_table # Creates a video. # NOTE: Creating a video from Google Drive requires that the requesting app # have at least one of the drive, drive.readonly, or drive.file OAuth scopes. # Corresponds to the JSON property `createVideo` # @return [Google::Apis::SlidesV1::CreateVideoRequest] attr_accessor :create_video # Deletes an object, either pages or # page elements, from the # presentation. # Corresponds to the JSON property `deleteObject` # @return [Google::Apis::SlidesV1::DeleteObjectRequest] attr_accessor :delete_object # Deletes bullets from all of the paragraphs that overlap with the given text # index range. # The nesting level of each paragraph will be visually preserved by adding # indent to the start of the corresponding paragraph. # Corresponds to the JSON property `deleteParagraphBullets` # @return [Google::Apis::SlidesV1::DeleteParagraphBulletsRequest] attr_accessor :delete_paragraph_bullets # Deletes a column from a table. # Corresponds to the JSON property `deleteTableColumn` # @return [Google::Apis::SlidesV1::DeleteTableColumnRequest] attr_accessor :delete_table_column # Deletes a row from a table. # Corresponds to the JSON property `deleteTableRow` # @return [Google::Apis::SlidesV1::DeleteTableRowRequest] attr_accessor :delete_table_row # Deletes text from a shape or a table cell. # Corresponds to the JSON property `deleteText` # @return [Google::Apis::SlidesV1::DeleteTextRequest] attr_accessor :delete_text # Duplicates a slide or page element. # When duplicating a slide, the duplicate slide will be created immediately # following the specified slide. When duplicating a page element, the duplicate # will be placed on the same page at the same position as the original. # Corresponds to the JSON property `duplicateObject` # @return [Google::Apis::SlidesV1::DuplicateObjectRequest] attr_accessor :duplicate_object # Groups objects to create an object group. For example, groups PageElements to # create a Group on the same page as all the children. # Corresponds to the JSON property `groupObjects` # @return [Google::Apis::SlidesV1::GroupObjectsRequest] attr_accessor :group_objects # Inserts columns into a table. # Other columns in the table will be resized to fit the new column. # Corresponds to the JSON property `insertTableColumns` # @return [Google::Apis::SlidesV1::InsertTableColumnsRequest] attr_accessor :insert_table_columns # Inserts rows into a table. # Corresponds to the JSON property `insertTableRows` # @return [Google::Apis::SlidesV1::InsertTableRowsRequest] attr_accessor :insert_table_rows # Inserts text into a shape or a table cell. # Corresponds to the JSON property `insertText` # @return [Google::Apis::SlidesV1::InsertTextRequest] attr_accessor :insert_text # Merges cells in a Table. # Corresponds to the JSON property `mergeTableCells` # @return [Google::Apis::SlidesV1::MergeTableCellsRequest] attr_accessor :merge_table_cells # Refreshes an embedded Google Sheets chart by replacing it with the latest # version of the chart from Google Sheets. # NOTE: Refreshing charts requires at least one of the spreadsheets.readonly, # spreadsheets, drive.readonly, or drive OAuth scopes. # Corresponds to the JSON property `refreshSheetsChart` # @return [Google::Apis::SlidesV1::RefreshSheetsChartRequest] attr_accessor :refresh_sheets_chart # Replaces all shapes that match the given criteria with the provided image. # The images replacing the shapes are rectangular after being inserted into # the presentation and do not take on the forms of the shapes. # Corresponds to the JSON property `replaceAllShapesWithImage` # @return [Google::Apis::SlidesV1::ReplaceAllShapesWithImageRequest] attr_accessor :replace_all_shapes_with_image # Replaces all shapes that match the given criteria with the provided Google # Sheets chart. The chart will be scaled and centered to fit within the bounds # of the original shape. # NOTE: Replacing shapes with a chart requires at least one of the # spreadsheets.readonly, spreadsheets, drive.readonly, or drive OAuth scopes. # Corresponds to the JSON property `replaceAllShapesWithSheetsChart` # @return [Google::Apis::SlidesV1::ReplaceAllShapesWithSheetsChartRequest] attr_accessor :replace_all_shapes_with_sheets_chart # Replaces all instances of text matching a criteria with replace text. # Corresponds to the JSON property `replaceAllText` # @return [Google::Apis::SlidesV1::ReplaceAllTextRequest] attr_accessor :replace_all_text # Replaces an existing image with a new image. # Replacing an image removes some image effects from the existing image. # Corresponds to the JSON property `replaceImage` # @return [Google::Apis::SlidesV1::ReplaceImageRequest] attr_accessor :replace_image # Reroutes a line such that it's connected at the # two closest connection sites on the connected page elements. # Corresponds to the JSON property `rerouteLine` # @return [Google::Apis::SlidesV1::RerouteLineRequest] attr_accessor :reroute_line # Ungroups objects, such as groups. # Corresponds to the JSON property `ungroupObjects` # @return [Google::Apis::SlidesV1::UngroupObjectsRequest] attr_accessor :ungroup_objects # Unmerges cells in a Table. # Corresponds to the JSON property `unmergeTableCells` # @return [Google::Apis::SlidesV1::UnmergeTableCellsRequest] attr_accessor :unmerge_table_cells # Update the properties of an Image. # Corresponds to the JSON property `updateImageProperties` # @return [Google::Apis::SlidesV1::UpdateImagePropertiesRequest] attr_accessor :update_image_properties # Updates the category of a line. # Corresponds to the JSON property `updateLineCategory` # @return [Google::Apis::SlidesV1::UpdateLineCategoryRequest] attr_accessor :update_line_category # Updates the properties of a Line. # Corresponds to the JSON property `updateLineProperties` # @return [Google::Apis::SlidesV1::UpdateLinePropertiesRequest] attr_accessor :update_line_properties # Updates the alt text title and/or description of a # page element. # Corresponds to the JSON property `updatePageElementAltText` # @return [Google::Apis::SlidesV1::UpdatePageElementAltTextRequest] attr_accessor :update_page_element_alt_text # Updates the transform of a page element. # Updating the transform of a group will change the absolute transform of the # page elements in that group, which can change their visual appearance. See # the documentation for PageElement.transform for more details. # Corresponds to the JSON property `updatePageElementTransform` # @return [Google::Apis::SlidesV1::UpdatePageElementTransformRequest] attr_accessor :update_page_element_transform # Updates the Z-order of page elements. Z-order is an ordering of the elements # on the page from back to front. The page element in the front may cover the # elements that are behind it. # Corresponds to the JSON property `updatePageElementsZOrder` # @return [Google::Apis::SlidesV1::UpdatePageElementsZOrderRequest] attr_accessor :update_page_elements_z_order # Updates the properties of a Page. # Corresponds to the JSON property `updatePageProperties` # @return [Google::Apis::SlidesV1::UpdatePagePropertiesRequest] attr_accessor :update_page_properties # Updates the styling for all of the paragraphs within a Shape or Table that # overlap with the given text index range. # Corresponds to the JSON property `updateParagraphStyle` # @return [Google::Apis::SlidesV1::UpdateParagraphStyleRequest] attr_accessor :update_paragraph_style # Update the properties of a Shape. # Corresponds to the JSON property `updateShapeProperties` # @return [Google::Apis::SlidesV1::UpdateShapePropertiesRequest] attr_accessor :update_shape_properties # Updates the position of slides in the presentation. # Corresponds to the JSON property `updateSlidesPosition` # @return [Google::Apis::SlidesV1::UpdateSlidesPositionRequest] attr_accessor :update_slides_position # Updates the properties of the table borders in a Table. # Corresponds to the JSON property `updateTableBorderProperties` # @return [Google::Apis::SlidesV1::UpdateTableBorderPropertiesRequest] attr_accessor :update_table_border_properties # Update the properties of a TableCell. # Corresponds to the JSON property `updateTableCellProperties` # @return [Google::Apis::SlidesV1::UpdateTableCellPropertiesRequest] attr_accessor :update_table_cell_properties # Updates the properties of a Table column. # Corresponds to the JSON property `updateTableColumnProperties` # @return [Google::Apis::SlidesV1::UpdateTableColumnPropertiesRequest] attr_accessor :update_table_column_properties # Updates the properties of a Table row. # Corresponds to the JSON property `updateTableRowProperties` # @return [Google::Apis::SlidesV1::UpdateTableRowPropertiesRequest] attr_accessor :update_table_row_properties # Update the styling of text in a Shape or # Table. # Corresponds to the JSON property `updateTextStyle` # @return [Google::Apis::SlidesV1::UpdateTextStyleRequest] attr_accessor :update_text_style # Update the properties of a Video. # Corresponds to the JSON property `updateVideoProperties` # @return [Google::Apis::SlidesV1::UpdateVideoPropertiesRequest] attr_accessor :update_video_properties def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @create_image = args[:create_image] if args.key?(:create_image) @create_line = args[:create_line] if args.key?(:create_line) @create_paragraph_bullets = args[:create_paragraph_bullets] if args.key?(:create_paragraph_bullets) @create_shape = args[:create_shape] if args.key?(:create_shape) @create_sheets_chart = args[:create_sheets_chart] if args.key?(:create_sheets_chart) @create_slide = args[:create_slide] if args.key?(:create_slide) @create_table = args[:create_table] if args.key?(:create_table) @create_video = args[:create_video] if args.key?(:create_video) @delete_object = args[:delete_object] if args.key?(:delete_object) @delete_paragraph_bullets = args[:delete_paragraph_bullets] if args.key?(:delete_paragraph_bullets) @delete_table_column = args[:delete_table_column] if args.key?(:delete_table_column) @delete_table_row = args[:delete_table_row] if args.key?(:delete_table_row) @delete_text = args[:delete_text] if args.key?(:delete_text) @duplicate_object = args[:duplicate_object] if args.key?(:duplicate_object) @group_objects = args[:group_objects] if args.key?(:group_objects) @insert_table_columns = args[:insert_table_columns] if args.key?(:insert_table_columns) @insert_table_rows = args[:insert_table_rows] if args.key?(:insert_table_rows) @insert_text = args[:insert_text] if args.key?(:insert_text) @merge_table_cells = args[:merge_table_cells] if args.key?(:merge_table_cells) @refresh_sheets_chart = args[:refresh_sheets_chart] if args.key?(:refresh_sheets_chart) @replace_all_shapes_with_image = args[:replace_all_shapes_with_image] if args.key?(:replace_all_shapes_with_image) @replace_all_shapes_with_sheets_chart = args[:replace_all_shapes_with_sheets_chart] if args.key?(:replace_all_shapes_with_sheets_chart) @replace_all_text = args[:replace_all_text] if args.key?(:replace_all_text) @replace_image = args[:replace_image] if args.key?(:replace_image) @reroute_line = args[:reroute_line] if args.key?(:reroute_line) @ungroup_objects = args[:ungroup_objects] if args.key?(:ungroup_objects) @unmerge_table_cells = args[:unmerge_table_cells] if args.key?(:unmerge_table_cells) @update_image_properties = args[:update_image_properties] if args.key?(:update_image_properties) @update_line_category = args[:update_line_category] if args.key?(:update_line_category) @update_line_properties = args[:update_line_properties] if args.key?(:update_line_properties) @update_page_element_alt_text = args[:update_page_element_alt_text] if args.key?(:update_page_element_alt_text) @update_page_element_transform = args[:update_page_element_transform] if args.key?(:update_page_element_transform) @update_page_elements_z_order = args[:update_page_elements_z_order] if args.key?(:update_page_elements_z_order) @update_page_properties = args[:update_page_properties] if args.key?(:update_page_properties) @update_paragraph_style = args[:update_paragraph_style] if args.key?(:update_paragraph_style) @update_shape_properties = args[:update_shape_properties] if args.key?(:update_shape_properties) @update_slides_position = args[:update_slides_position] if args.key?(:update_slides_position) @update_table_border_properties = args[:update_table_border_properties] if args.key?(:update_table_border_properties) @update_table_cell_properties = args[:update_table_cell_properties] if args.key?(:update_table_cell_properties) @update_table_column_properties = args[:update_table_column_properties] if args.key?(:update_table_column_properties) @update_table_row_properties = args[:update_table_row_properties] if args.key?(:update_table_row_properties) @update_text_style = args[:update_text_style] if args.key?(:update_text_style) @update_video_properties = args[:update_video_properties] if args.key?(:update_video_properties) end end # Reroutes a line such that it's connected at the # two closest connection sites on the connected page elements. class RerouteLineRequest include Google::Apis::Core::Hashable # The object ID of the line to reroute. # Only a line with a category # indicating it is a "connector" can be rerouted. The start and end # connections of the line must be on different page elements. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) end end # A single response from an update. class Response include Google::Apis::Core::Hashable # The result of creating an image. # Corresponds to the JSON property `createImage` # @return [Google::Apis::SlidesV1::CreateImageResponse] attr_accessor :create_image # The result of creating a line. # Corresponds to the JSON property `createLine` # @return [Google::Apis::SlidesV1::CreateLineResponse] attr_accessor :create_line # The result of creating a shape. # Corresponds to the JSON property `createShape` # @return [Google::Apis::SlidesV1::CreateShapeResponse] attr_accessor :create_shape # The result of creating an embedded Google Sheets chart. # Corresponds to the JSON property `createSheetsChart` # @return [Google::Apis::SlidesV1::CreateSheetsChartResponse] attr_accessor :create_sheets_chart # The result of creating a slide. # Corresponds to the JSON property `createSlide` # @return [Google::Apis::SlidesV1::CreateSlideResponse] attr_accessor :create_slide # The result of creating a table. # Corresponds to the JSON property `createTable` # @return [Google::Apis::SlidesV1::CreateTableResponse] attr_accessor :create_table # The result of creating a video. # Corresponds to the JSON property `createVideo` # @return [Google::Apis::SlidesV1::CreateVideoResponse] attr_accessor :create_video # The response of duplicating an object. # Corresponds to the JSON property `duplicateObject` # @return [Google::Apis::SlidesV1::DuplicateObjectResponse] attr_accessor :duplicate_object # The result of grouping objects. # Corresponds to the JSON property `groupObjects` # @return [Google::Apis::SlidesV1::GroupObjectsResponse] attr_accessor :group_objects # The result of replacing shapes with an image. # Corresponds to the JSON property `replaceAllShapesWithImage` # @return [Google::Apis::SlidesV1::ReplaceAllShapesWithImageResponse] attr_accessor :replace_all_shapes_with_image # The result of replacing shapes with a Google Sheets chart. # Corresponds to the JSON property `replaceAllShapesWithSheetsChart` # @return [Google::Apis::SlidesV1::ReplaceAllShapesWithSheetsChartResponse] attr_accessor :replace_all_shapes_with_sheets_chart # The result of replacing text. # Corresponds to the JSON property `replaceAllText` # @return [Google::Apis::SlidesV1::ReplaceAllTextResponse] attr_accessor :replace_all_text def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @create_image = args[:create_image] if args.key?(:create_image) @create_line = args[:create_line] if args.key?(:create_line) @create_shape = args[:create_shape] if args.key?(:create_shape) @create_sheets_chart = args[:create_sheets_chart] if args.key?(:create_sheets_chart) @create_slide = args[:create_slide] if args.key?(:create_slide) @create_table = args[:create_table] if args.key?(:create_table) @create_video = args[:create_video] if args.key?(:create_video) @duplicate_object = args[:duplicate_object] if args.key?(:duplicate_object) @group_objects = args[:group_objects] if args.key?(:group_objects) @replace_all_shapes_with_image = args[:replace_all_shapes_with_image] if args.key?(:replace_all_shapes_with_image) @replace_all_shapes_with_sheets_chart = args[:replace_all_shapes_with_sheets_chart] if args.key?(:replace_all_shapes_with_sheets_chart) @replace_all_text = args[:replace_all_text] if args.key?(:replace_all_text) end end # An RGB color. class RgbColor include Google::Apis::Core::Hashable # The blue component of the color, from 0.0 to 1.0. # Corresponds to the JSON property `blue` # @return [Float] attr_accessor :blue # The green component of the color, from 0.0 to 1.0. # Corresponds to the JSON property `green` # @return [Float] attr_accessor :green # The red component of the color, from 0.0 to 1.0. # Corresponds to the JSON property `red` # @return [Float] attr_accessor :red def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @blue = args[:blue] if args.key?(:blue) @green = args[:green] if args.key?(:green) @red = args[:red] if args.key?(:red) end end # The shadow properties of a page element. # If these fields are unset, they may be inherited from a parent placeholder # if it exists. If there is no parent, the fields will default to the value # used for new page elements created in the Slides editor, which may depend on # the page element kind. class Shadow include Google::Apis::Core::Hashable # The alignment point of the shadow, that sets the origin for translate, # scale and skew of the shadow. This property is read-only. # Corresponds to the JSON property `alignment` # @return [String] attr_accessor :alignment # The alpha of the shadow's color, from 0.0 to 1.0. # Corresponds to the JSON property `alpha` # @return [Float] attr_accessor :alpha # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `blurRadius` # @return [Google::Apis::SlidesV1::Dimension] attr_accessor :blur_radius # A themeable solid color value. # Corresponds to the JSON property `color` # @return [Google::Apis::SlidesV1::OpaqueColor] attr_accessor :color # The shadow property state. # Updating the shadow on a page element will implicitly update this field to # `RENDERED`, unless another value is specified in the same request. To have # no shadow on a page element, set this field to `NOT_RENDERED`. In this # case, any other shadow fields set in the same request will be ignored. # Corresponds to the JSON property `propertyState` # @return [String] attr_accessor :property_state # Whether the shadow should rotate with the shape. This property is # read-only. # Corresponds to the JSON property `rotateWithShape` # @return [Boolean] attr_accessor :rotate_with_shape alias_method :rotate_with_shape?, :rotate_with_shape # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] # to transform source coordinates (x,y) into destination coordinates (x', y') # according to: # x' x = shear_y scale_y translate_y # 1 [ 1 ] # After transformation, # x' = scale_x * x + shear_x * y + translate_x; # y' = scale_y * y + shear_y * x + translate_y; # This message is therefore composed of these six matrix elements. # Corresponds to the JSON property `transform` # @return [Google::Apis::SlidesV1::AffineTransform] attr_accessor :transform # The type of the shadow. This property is read-only. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @alignment = args[:alignment] if args.key?(:alignment) @alpha = args[:alpha] if args.key?(:alpha) @blur_radius = args[:blur_radius] if args.key?(:blur_radius) @color = args[:color] if args.key?(:color) @property_state = args[:property_state] if args.key?(:property_state) @rotate_with_shape = args[:rotate_with_shape] if args.key?(:rotate_with_shape) @transform = args[:transform] if args.key?(:transform) @type = args[:type] if args.key?(:type) end end # A PageElement kind representing a # generic shape that does not have a more specific classification. class Shape include Google::Apis::Core::Hashable # The placeholder information that uniquely identifies a placeholder shape. # Corresponds to the JSON property `placeholder` # @return [Google::Apis::SlidesV1::Placeholder] attr_accessor :placeholder # The properties of a Shape. # If the shape is a placeholder shape as determined by the # placeholder field, then these # properties may be inherited from a parent placeholder shape. # Determining the rendered value of the property depends on the corresponding # property_state field value. # Corresponds to the JSON property `shapeProperties` # @return [Google::Apis::SlidesV1::ShapeProperties] attr_accessor :shape_properties # The type of the shape. # Corresponds to the JSON property `shapeType` # @return [String] attr_accessor :shape_type # The general text content. The text must reside in a compatible shape (e.g. # text box or rectangle) or a table cell in a page. # Corresponds to the JSON property `text` # @return [Google::Apis::SlidesV1::TextContent] attr_accessor :text def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @placeholder = args[:placeholder] if args.key?(:placeholder) @shape_properties = args[:shape_properties] if args.key?(:shape_properties) @shape_type = args[:shape_type] if args.key?(:shape_type) @text = args[:text] if args.key?(:text) end end # The shape background fill. class ShapeBackgroundFill include Google::Apis::Core::Hashable # The background fill property state. # Updating the fill on a shape will implicitly update this field to # `RENDERED`, unless another value is specified in the same request. To # have no fill on a shape, set this field to `NOT_RENDERED`. In this case, # any other fill fields set in the same request will be ignored. # Corresponds to the JSON property `propertyState` # @return [String] attr_accessor :property_state # A solid color fill. The page or page element is filled entirely with the # specified color value. # If any field is unset, its value may be inherited from a parent placeholder # if it exists. # Corresponds to the JSON property `solidFill` # @return [Google::Apis::SlidesV1::SolidFill] attr_accessor :solid_fill def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @property_state = args[:property_state] if args.key?(:property_state) @solid_fill = args[:solid_fill] if args.key?(:solid_fill) end end # The properties of a Shape. # If the shape is a placeholder shape as determined by the # placeholder field, then these # properties may be inherited from a parent placeholder shape. # Determining the rendered value of the property depends on the corresponding # property_state field value. class ShapeProperties include Google::Apis::Core::Hashable # The alignment of the content in the shape. If unspecified, # the alignment is inherited from a parent placeholder if it exists. If the # shape has no parent, the default alignment matches the alignment for new # shapes created in the Slides editor. # Corresponds to the JSON property `contentAlignment` # @return [String] attr_accessor :content_alignment # A hypertext link. # Corresponds to the JSON property `link` # @return [Google::Apis::SlidesV1::Link] attr_accessor :link # The outline of a PageElement. # If these fields are unset, they may be inherited from a parent placeholder # if it exists. If there is no parent, the fields will default to the value # used for new page elements created in the Slides editor, which may depend on # the page element kind. # Corresponds to the JSON property `outline` # @return [Google::Apis::SlidesV1::Outline] attr_accessor :outline # The shadow properties of a page element. # If these fields are unset, they may be inherited from a parent placeholder # if it exists. If there is no parent, the fields will default to the value # used for new page elements created in the Slides editor, which may depend on # the page element kind. # Corresponds to the JSON property `shadow` # @return [Google::Apis::SlidesV1::Shadow] attr_accessor :shadow # The shape background fill. # Corresponds to the JSON property `shapeBackgroundFill` # @return [Google::Apis::SlidesV1::ShapeBackgroundFill] attr_accessor :shape_background_fill def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @content_alignment = args[:content_alignment] if args.key?(:content_alignment) @link = args[:link] if args.key?(:link) @outline = args[:outline] if args.key?(:outline) @shadow = args[:shadow] if args.key?(:shadow) @shape_background_fill = args[:shape_background_fill] if args.key?(:shape_background_fill) end end # A PageElement kind representing # a linked chart embedded from Google Sheets. class SheetsChart include Google::Apis::Core::Hashable # The ID of the specific chart in the Google Sheets spreadsheet that is # embedded. # Corresponds to the JSON property `chartId` # @return [Fixnum] attr_accessor :chart_id # The URL of an image of the embedded chart, with a default lifetime of 30 # minutes. This URL is tagged with the account of the requester. Anyone with # the URL effectively accesses the image as the original requester. Access to # the image may be lost if the presentation's sharing settings change. # Corresponds to the JSON property `contentUrl` # @return [String] attr_accessor :content_url # The properties of the SheetsChart. # Corresponds to the JSON property `sheetsChartProperties` # @return [Google::Apis::SlidesV1::SheetsChartProperties] attr_accessor :sheets_chart_properties # The ID of the Google Sheets spreadsheet that contains the source chart. # Corresponds to the JSON property `spreadsheetId` # @return [String] attr_accessor :spreadsheet_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @chart_id = args[:chart_id] if args.key?(:chart_id) @content_url = args[:content_url] if args.key?(:content_url) @sheets_chart_properties = args[:sheets_chart_properties] if args.key?(:sheets_chart_properties) @spreadsheet_id = args[:spreadsheet_id] if args.key?(:spreadsheet_id) end end # The properties of the SheetsChart. class SheetsChartProperties include Google::Apis::Core::Hashable # The properties of the Image. # Corresponds to the JSON property `chartImageProperties` # @return [Google::Apis::SlidesV1::ImageProperties] attr_accessor :chart_image_properties def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @chart_image_properties = args[:chart_image_properties] if args.key?(:chart_image_properties) end end # A width and height. class Size include Google::Apis::Core::Hashable # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `height` # @return [Google::Apis::SlidesV1::Dimension] attr_accessor :height # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `width` # @return [Google::Apis::SlidesV1::Dimension] attr_accessor :width def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @height = args[:height] if args.key?(:height) @width = args[:width] if args.key?(:width) end end # The properties of Page that are only # relevant for pages with page_type SLIDE. class SlideProperties include Google::Apis::Core::Hashable # The object ID of the layout that this slide is based on. This property is # read-only. # Corresponds to the JSON property `layoutObjectId` # @return [String] attr_accessor :layout_object_id # The object ID of the master that this slide is based on. This property is # read-only. # Corresponds to the JSON property `masterObjectId` # @return [String] attr_accessor :master_object_id # A page in a presentation. # Corresponds to the JSON property `notesPage` # @return [Google::Apis::SlidesV1::Page] attr_accessor :notes_page def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @layout_object_id = args[:layout_object_id] if args.key?(:layout_object_id) @master_object_id = args[:master_object_id] if args.key?(:master_object_id) @notes_page = args[:notes_page] if args.key?(:notes_page) end end # A solid color fill. The page or page element is filled entirely with the # specified color value. # If any field is unset, its value may be inherited from a parent placeholder # if it exists. class SolidFill include Google::Apis::Core::Hashable # The fraction of this `color` that should be applied to the pixel. # That is, the final pixel color is defined by the equation: # pixel color = alpha * (color) + (1.0 - alpha) * (background color) # This means that a value of 1.0 corresponds to a solid color, whereas # a value of 0.0 corresponds to a completely transparent color. # Corresponds to the JSON property `alpha` # @return [Float] attr_accessor :alpha # A themeable solid color value. # Corresponds to the JSON property `color` # @return [Google::Apis::SlidesV1::OpaqueColor] attr_accessor :color def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @alpha = args[:alpha] if args.key?(:alpha) @color = args[:color] if args.key?(:color) end end # The stretched picture fill. The page or page element is filled entirely with # the specified picture. The picture is stretched to fit its container. class StretchedPictureFill include Google::Apis::Core::Hashable # Reading the content_url: # An URL to a picture with a default lifetime of 30 minutes. # This URL is tagged with the account of the requester. Anyone with the URL # effectively accesses the picture as the original requester. Access to the # picture may be lost if the presentation's sharing settings change. # Writing the content_url: # The picture is fetched once at insertion time and a copy is stored for # display inside the presentation. Pictures must be less than 50MB in size, # cannot exceed 25 megapixels, and must be in one of PNG, JPEG, or GIF # format. # The provided URL can be at most 2 kB in length. # Corresponds to the JSON property `contentUrl` # @return [String] attr_accessor :content_url # A width and height. # Corresponds to the JSON property `size` # @return [Google::Apis::SlidesV1::Size] attr_accessor :size def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @content_url = args[:content_url] if args.key?(:content_url) @size = args[:size] if args.key?(:size) end end # A criteria that matches a specific string of text in a shape or table. class SubstringMatchCriteria include Google::Apis::Core::Hashable # Indicates whether the search should respect case: # - `True`: the search is case sensitive. # - `False`: the search is case insensitive. # Corresponds to the JSON property `matchCase` # @return [Boolean] attr_accessor :match_case alias_method :match_case?, :match_case # The text to search for in the shape or table. # Corresponds to the JSON property `text` # @return [String] attr_accessor :text def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @match_case = args[:match_case] if args.key?(:match_case) @text = args[:text] if args.key?(:text) end end # A PageElement kind representing a # table. class Table include Google::Apis::Core::Hashable # Number of columns in the table. # Corresponds to the JSON property `columns` # @return [Fixnum] attr_accessor :columns # Properties of horizontal cell borders. # A table's horizontal cell borders are represented as a grid. The grid has # one more row than the number of rows in the table and the same number of # columns as the table. For example, if the table is 3 x 3, its horizontal # borders will be represented as a grid with 4 rows and 3 columns. # Corresponds to the JSON property `horizontalBorderRows` # @return [Array] attr_accessor :horizontal_border_rows # Number of rows in the table. # Corresponds to the JSON property `rows` # @return [Fixnum] attr_accessor :rows # Properties of each column. # Corresponds to the JSON property `tableColumns` # @return [Array] attr_accessor :table_columns # Properties and contents of each row. # Cells that span multiple rows are contained in only one of these rows and # have a row_span greater # than 1. # Corresponds to the JSON property `tableRows` # @return [Array] attr_accessor :table_rows # Properties of vertical cell borders. # A table's vertical cell borders are represented as a grid. The grid has the # same number of rows as the table and one more column than the number of # columns in the table. For example, if the table is 3 x 3, its vertical # borders will be represented as a grid with 3 rows and 4 columns. # Corresponds to the JSON property `verticalBorderRows` # @return [Array] attr_accessor :vertical_border_rows def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @columns = args[:columns] if args.key?(:columns) @horizontal_border_rows = args[:horizontal_border_rows] if args.key?(:horizontal_border_rows) @rows = args[:rows] if args.key?(:rows) @table_columns = args[:table_columns] if args.key?(:table_columns) @table_rows = args[:table_rows] if args.key?(:table_rows) @vertical_border_rows = args[:vertical_border_rows] if args.key?(:vertical_border_rows) end end # The properties of each border cell. class TableBorderCell include Google::Apis::Core::Hashable # A location of a single table cell within a table. # Corresponds to the JSON property `location` # @return [Google::Apis::SlidesV1::TableCellLocation] attr_accessor :location # The border styling properties of the # TableBorderCell. # Corresponds to the JSON property `tableBorderProperties` # @return [Google::Apis::SlidesV1::TableBorderProperties] attr_accessor :table_border_properties def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @location = args[:location] if args.key?(:location) @table_border_properties = args[:table_border_properties] if args.key?(:table_border_properties) end end # The fill of the border. class TableBorderFill include Google::Apis::Core::Hashable # A solid color fill. The page or page element is filled entirely with the # specified color value. # If any field is unset, its value may be inherited from a parent placeholder # if it exists. # Corresponds to the JSON property `solidFill` # @return [Google::Apis::SlidesV1::SolidFill] attr_accessor :solid_fill def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @solid_fill = args[:solid_fill] if args.key?(:solid_fill) end end # The border styling properties of the # TableBorderCell. class TableBorderProperties include Google::Apis::Core::Hashable # The dash style of the border. # Corresponds to the JSON property `dashStyle` # @return [String] attr_accessor :dash_style # The fill of the border. # Corresponds to the JSON property `tableBorderFill` # @return [Google::Apis::SlidesV1::TableBorderFill] attr_accessor :table_border_fill # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `weight` # @return [Google::Apis::SlidesV1::Dimension] attr_accessor :weight def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @dash_style = args[:dash_style] if args.key?(:dash_style) @table_border_fill = args[:table_border_fill] if args.key?(:table_border_fill) @weight = args[:weight] if args.key?(:weight) end end # Contents of each border row in a table. class TableBorderRow include Google::Apis::Core::Hashable # Properties of each border cell. When a border's adjacent table cells are # merged, it is not included in the response. # Corresponds to the JSON property `tableBorderCells` # @return [Array] attr_accessor :table_border_cells def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @table_border_cells = args[:table_border_cells] if args.key?(:table_border_cells) end end # Properties and contents of each table cell. class TableCell include Google::Apis::Core::Hashable # Column span of the cell. # Corresponds to the JSON property `columnSpan` # @return [Fixnum] attr_accessor :column_span # A location of a single table cell within a table. # Corresponds to the JSON property `location` # @return [Google::Apis::SlidesV1::TableCellLocation] attr_accessor :location # Row span of the cell. # Corresponds to the JSON property `rowSpan` # @return [Fixnum] attr_accessor :row_span # The properties of the TableCell. # Corresponds to the JSON property `tableCellProperties` # @return [Google::Apis::SlidesV1::TableCellProperties] attr_accessor :table_cell_properties # The general text content. The text must reside in a compatible shape (e.g. # text box or rectangle) or a table cell in a page. # Corresponds to the JSON property `text` # @return [Google::Apis::SlidesV1::TextContent] attr_accessor :text def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @column_span = args[:column_span] if args.key?(:column_span) @location = args[:location] if args.key?(:location) @row_span = args[:row_span] if args.key?(:row_span) @table_cell_properties = args[:table_cell_properties] if args.key?(:table_cell_properties) @text = args[:text] if args.key?(:text) end end # The table cell background fill. class TableCellBackgroundFill include Google::Apis::Core::Hashable # The background fill property state. # Updating the fill on a table cell will implicitly update this field # to `RENDERED`, unless another value is specified in the same request. To # have no fill on a table cell, set this field to `NOT_RENDERED`. In this # case, any other fill fields set in the same request will be ignored. # Corresponds to the JSON property `propertyState` # @return [String] attr_accessor :property_state # A solid color fill. The page or page element is filled entirely with the # specified color value. # If any field is unset, its value may be inherited from a parent placeholder # if it exists. # Corresponds to the JSON property `solidFill` # @return [Google::Apis::SlidesV1::SolidFill] attr_accessor :solid_fill def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @property_state = args[:property_state] if args.key?(:property_state) @solid_fill = args[:solid_fill] if args.key?(:solid_fill) end end # A location of a single table cell within a table. class TableCellLocation include Google::Apis::Core::Hashable # The 0-based column index. # Corresponds to the JSON property `columnIndex` # @return [Fixnum] attr_accessor :column_index # The 0-based row index. # Corresponds to the JSON property `rowIndex` # @return [Fixnum] attr_accessor :row_index def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @column_index = args[:column_index] if args.key?(:column_index) @row_index = args[:row_index] if args.key?(:row_index) end end # The properties of the TableCell. class TableCellProperties include Google::Apis::Core::Hashable # The alignment of the content in the table cell. The default alignment # matches the alignment for newly created table cells in the Slides editor. # Corresponds to the JSON property `contentAlignment` # @return [String] attr_accessor :content_alignment # The table cell background fill. # Corresponds to the JSON property `tableCellBackgroundFill` # @return [Google::Apis::SlidesV1::TableCellBackgroundFill] attr_accessor :table_cell_background_fill def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @content_alignment = args[:content_alignment] if args.key?(:content_alignment) @table_cell_background_fill = args[:table_cell_background_fill] if args.key?(:table_cell_background_fill) end end # Properties of each column in a table. class TableColumnProperties include Google::Apis::Core::Hashable # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `columnWidth` # @return [Google::Apis::SlidesV1::Dimension] attr_accessor :column_width def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @column_width = args[:column_width] if args.key?(:column_width) end end # A table range represents a reference to a subset of a table. # It's important to note that the cells specified by a table range do not # necessarily form a rectangle. For example, let's say we have a 3 x 3 table # where all the cells of the last row are merged together. The table looks # like this: # # [ ] # A table range with location = (0, 0), row span = 3 and column span = 2 # specifies the following cells: # x x # [ x x x ] class TableRange include Google::Apis::Core::Hashable # The column span of the table range. # Corresponds to the JSON property `columnSpan` # @return [Fixnum] attr_accessor :column_span # A location of a single table cell within a table. # Corresponds to the JSON property `location` # @return [Google::Apis::SlidesV1::TableCellLocation] attr_accessor :location # The row span of the table range. # Corresponds to the JSON property `rowSpan` # @return [Fixnum] attr_accessor :row_span def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @column_span = args[:column_span] if args.key?(:column_span) @location = args[:location] if args.key?(:location) @row_span = args[:row_span] if args.key?(:row_span) end end # Properties and contents of each row in a table. class TableRow include Google::Apis::Core::Hashable # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `rowHeight` # @return [Google::Apis::SlidesV1::Dimension] attr_accessor :row_height # Properties and contents of each cell. # Cells that span multiple columns are represented only once with a # column_span greater # than 1. As a result, the length of this collection does not always match # the number of columns of the entire table. # Corresponds to the JSON property `tableCells` # @return [Array] attr_accessor :table_cells # Properties of each row in a table. # Corresponds to the JSON property `tableRowProperties` # @return [Google::Apis::SlidesV1::TableRowProperties] attr_accessor :table_row_properties def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @row_height = args[:row_height] if args.key?(:row_height) @table_cells = args[:table_cells] if args.key?(:table_cells) @table_row_properties = args[:table_row_properties] if args.key?(:table_row_properties) end end # Properties of each row in a table. class TableRowProperties include Google::Apis::Core::Hashable # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `minRowHeight` # @return [Google::Apis::SlidesV1::Dimension] attr_accessor :min_row_height def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @min_row_height = args[:min_row_height] if args.key?(:min_row_height) end end # The general text content. The text must reside in a compatible shape (e.g. # text box or rectangle) or a table cell in a page. class TextContent include Google::Apis::Core::Hashable # The bulleted lists contained in this text, keyed by list ID. # Corresponds to the JSON property `lists` # @return [Hash] attr_accessor :lists # The text contents broken down into its component parts, including styling # information. This property is read-only. # Corresponds to the JSON property `textElements` # @return [Array] attr_accessor :text_elements def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @lists = args[:lists] if args.key?(:lists) @text_elements = args[:text_elements] if args.key?(:text_elements) end end # A TextElement describes the content of a range of indices in the text content # of a Shape or TableCell. class TextElement include Google::Apis::Core::Hashable # A TextElement kind that represents auto text. # Corresponds to the JSON property `autoText` # @return [Google::Apis::SlidesV1::AutoText] attr_accessor :auto_text # The zero-based end index of this text element, exclusive, in Unicode code # units. # Corresponds to the JSON property `endIndex` # @return [Fixnum] attr_accessor :end_index # A TextElement kind that represents the beginning of a new paragraph. # Corresponds to the JSON property `paragraphMarker` # @return [Google::Apis::SlidesV1::ParagraphMarker] attr_accessor :paragraph_marker # The zero-based start index of this text element, in Unicode code units. # Corresponds to the JSON property `startIndex` # @return [Fixnum] attr_accessor :start_index # A TextElement kind that represents a run of text that all has the same # styling. # Corresponds to the JSON property `textRun` # @return [Google::Apis::SlidesV1::TextRun] attr_accessor :text_run def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @auto_text = args[:auto_text] if args.key?(:auto_text) @end_index = args[:end_index] if args.key?(:end_index) @paragraph_marker = args[:paragraph_marker] if args.key?(:paragraph_marker) @start_index = args[:start_index] if args.key?(:start_index) @text_run = args[:text_run] if args.key?(:text_run) end end # A TextElement kind that represents a run of text that all has the same # styling. class TextRun include Google::Apis::Core::Hashable # The text of this run. # Corresponds to the JSON property `content` # @return [String] attr_accessor :content # Represents the styling that can be applied to a TextRun. # If this text is contained in a shape with a parent placeholder, then these # text styles may be # inherited from the parent. Which text styles are inherited depend on the # nesting level of lists: # * A text run in a paragraph that is not in a list will inherit its text style # from the the newline character in the paragraph at the 0 nesting level of # the list inside the parent placeholder. # * A text run in a paragraph that is in a list will inherit its text style # from the newline character in the paragraph at its corresponding nesting # level of the list inside the parent placeholder. # Inherited text styles are represented as unset fields in this message. If # text is contained in a shape without a parent placeholder, unsetting these # fields will revert the style to a value matching the defaults in the Slides # editor. # Corresponds to the JSON property `style` # @return [Google::Apis::SlidesV1::TextStyle] attr_accessor :style def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @content = args[:content] if args.key?(:content) @style = args[:style] if args.key?(:style) end end # Represents the styling that can be applied to a TextRun. # If this text is contained in a shape with a parent placeholder, then these # text styles may be # inherited from the parent. Which text styles are inherited depend on the # nesting level of lists: # * A text run in a paragraph that is not in a list will inherit its text style # from the the newline character in the paragraph at the 0 nesting level of # the list inside the parent placeholder. # * A text run in a paragraph that is in a list will inherit its text style # from the newline character in the paragraph at its corresponding nesting # level of the list inside the parent placeholder. # Inherited text styles are represented as unset fields in this message. If # text is contained in a shape without a parent placeholder, unsetting these # fields will revert the style to a value matching the defaults in the Slides # editor. class TextStyle include Google::Apis::Core::Hashable # A color that can either be fully opaque or fully transparent. # Corresponds to the JSON property `backgroundColor` # @return [Google::Apis::SlidesV1::OptionalColor] attr_accessor :background_color # The text's vertical offset from its normal position. # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically # rendered in a smaller font size, computed based on the `font_size` field. # The `font_size` itself is not affected by changes in this field. # Corresponds to the JSON property `baselineOffset` # @return [String] attr_accessor :baseline_offset # Whether or not the text is rendered as bold. # Corresponds to the JSON property `bold` # @return [Boolean] attr_accessor :bold alias_method :bold?, :bold # The font family of the text. # The font family can be any font from the Font menu in Slides or from # [Google Fonts] (https://fonts.google.com/). If the font name is # unrecognized, the text is rendered in `Arial`. # Some fonts can affect the weight of the text. If an update request # specifies values for both `font_family` and `bold`, the explicitly-set # `bold` value is used. # Corresponds to the JSON property `fontFamily` # @return [String] attr_accessor :font_family # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `fontSize` # @return [Google::Apis::SlidesV1::Dimension] attr_accessor :font_size # A color that can either be fully opaque or fully transparent. # Corresponds to the JSON property `foregroundColor` # @return [Google::Apis::SlidesV1::OptionalColor] attr_accessor :foreground_color # Whether or not the text is italicized. # Corresponds to the JSON property `italic` # @return [Boolean] attr_accessor :italic alias_method :italic?, :italic # A hypertext link. # Corresponds to the JSON property `link` # @return [Google::Apis::SlidesV1::Link] attr_accessor :link # Whether or not the text is in small capital letters. # Corresponds to the JSON property `smallCaps` # @return [Boolean] attr_accessor :small_caps alias_method :small_caps?, :small_caps # Whether or not the text is struck through. # Corresponds to the JSON property `strikethrough` # @return [Boolean] attr_accessor :strikethrough alias_method :strikethrough?, :strikethrough # Whether or not the text is underlined. # Corresponds to the JSON property `underline` # @return [Boolean] attr_accessor :underline alias_method :underline?, :underline # Represents a font family and weight used to style a TextRun. # Corresponds to the JSON property `weightedFontFamily` # @return [Google::Apis::SlidesV1::WeightedFontFamily] attr_accessor :weighted_font_family def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @background_color = args[:background_color] if args.key?(:background_color) @baseline_offset = args[:baseline_offset] if args.key?(:baseline_offset) @bold = args[:bold] if args.key?(:bold) @font_family = args[:font_family] if args.key?(:font_family) @font_size = args[:font_size] if args.key?(:font_size) @foreground_color = args[:foreground_color] if args.key?(:foreground_color) @italic = args[:italic] if args.key?(:italic) @link = args[:link] if args.key?(:link) @small_caps = args[:small_caps] if args.key?(:small_caps) @strikethrough = args[:strikethrough] if args.key?(:strikethrough) @underline = args[:underline] if args.key?(:underline) @weighted_font_family = args[:weighted_font_family] if args.key?(:weighted_font_family) end end # A pair mapping a theme color type to the concrete color it represents. class ThemeColorPair include Google::Apis::Core::Hashable # An RGB color. # Corresponds to the JSON property `color` # @return [Google::Apis::SlidesV1::RgbColor] attr_accessor :color # The type of the theme color. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @color = args[:color] if args.key?(:color) @type = args[:type] if args.key?(:type) end end # The thumbnail of a page. class Thumbnail include Google::Apis::Core::Hashable # The content URL of the thumbnail image. # The URL to the image has a default lifetime of 30 minutes. # This URL is tagged with the account of the requester. Anyone with the URL # effectively accesses the image as the original requester. Access to the # image may be lost if the presentation's sharing settings change. # The mime type of the thumbnail image is the same as specified in the # `GetPageThumbnailRequest`. # Corresponds to the JSON property `contentUrl` # @return [String] attr_accessor :content_url # The positive height in pixels of the thumbnail image. # Corresponds to the JSON property `height` # @return [Fixnum] attr_accessor :height # The positive width in pixels of the thumbnail image. # Corresponds to the JSON property `width` # @return [Fixnum] attr_accessor :width def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @content_url = args[:content_url] if args.key?(:content_url) @height = args[:height] if args.key?(:height) @width = args[:width] if args.key?(:width) end end # Ungroups objects, such as groups. class UngroupObjectsRequest include Google::Apis::Core::Hashable # The object IDs of the objects to ungroup. # Only groups that are not inside other # groups can be ungrouped. All the groups # should be on the same page. The group itself is deleted. The visual sizes # and positions of all the children are preserved. # Corresponds to the JSON property `objectIds` # @return [Array] attr_accessor :object_ids def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @object_ids = args[:object_ids] if args.key?(:object_ids) end end # Unmerges cells in a Table. class UnmergeTableCellsRequest include Google::Apis::Core::Hashable # The object ID of the table. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop # A table range represents a reference to a subset of a table. # It's important to note that the cells specified by a table range do not # necessarily form a rectangle. For example, let's say we have a 3 x 3 table # where all the cells of the last row are merged together. The table looks # like this: # # [ ] # A table range with location = (0, 0), row span = 3 and column span = 2 # specifies the following cells: # x x # [ x x x ] # Corresponds to the JSON property `tableRange` # @return [Google::Apis::SlidesV1::TableRange] attr_accessor :table_range def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) @table_range = args[:table_range] if args.key?(:table_range) end end # Update the properties of an Image. class UpdateImagePropertiesRequest include Google::Apis::Core::Hashable # The fields that should be updated. # At least one field must be specified. The root `imageProperties` is # implied and should not be specified. A single `"*"` can be used as # short-hand for listing every field. # For example to update the image outline color, set `fields` to # `"outline.outlineFill.solidFill.color"`. # To reset a property to its default value, include its field name in the # field mask but leave the field itself unset. # Corresponds to the JSON property `fields` # @return [String] attr_accessor :fields # The properties of the Image. # Corresponds to the JSON property `imageProperties` # @return [Google::Apis::SlidesV1::ImageProperties] attr_accessor :image_properties # The object ID of the image the updates are applied to. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @fields = args[:fields] if args.key?(:fields) @image_properties = args[:image_properties] if args.key?(:image_properties) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) end end # Updates the category of a line. class UpdateLineCategoryRequest include Google::Apis::Core::Hashable # The line category to update to. # The exact line type is determined based # on the category to update to and how it's routed to connect to other page # elements. # Corresponds to the JSON property `lineCategory` # @return [String] attr_accessor :line_category # The object ID of the line the update is applied to. # Only a line with a category # indicating it is a "connector" can be updated. # The line may be rerouted after updating its category. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @line_category = args[:line_category] if args.key?(:line_category) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) end end # Updates the properties of a Line. class UpdateLinePropertiesRequest include Google::Apis::Core::Hashable # The fields that should be updated. # At least one field must be specified. The root `lineProperties` is # implied and should not be specified. A single `"*"` can be used as # short-hand for listing every field. # For example to update the line solid fill color, set `fields` to # `"lineFill.solidFill.color"`. # To reset a property to its default value, include its field name in the # field mask but leave the field itself unset. # Corresponds to the JSON property `fields` # @return [String] attr_accessor :fields # The properties of the Line. # When unset, these fields default to values that match the appearance of # new lines created in the Slides editor. # Corresponds to the JSON property `lineProperties` # @return [Google::Apis::SlidesV1::LineProperties] attr_accessor :line_properties # The object ID of the line the update is applied to. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @fields = args[:fields] if args.key?(:fields) @line_properties = args[:line_properties] if args.key?(:line_properties) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) end end # Updates the alt text title and/or description of a # page element. class UpdatePageElementAltTextRequest include Google::Apis::Core::Hashable # The updated alt text description of the page element. If unset the existing # value will be maintained. The description is exposed to screen readers # and other accessibility interfaces. Only use human readable values related # to the content of the page element. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # The object ID of the page element the updates are applied to. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop # The updated alt text title of the page element. If unset the # existing value will be maintained. The title is exposed to screen readers # and other accessibility interfaces. Only use human readable values related # to the content of the page element. # Corresponds to the JSON property `title` # @return [String] attr_accessor :title def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @description = args[:description] if args.key?(:description) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) @title = args[:title] if args.key?(:title) end end # Updates the transform of a page element. # Updating the transform of a group will change the absolute transform of the # page elements in that group, which can change their visual appearance. See # the documentation for PageElement.transform for more details. class UpdatePageElementTransformRequest include Google::Apis::Core::Hashable # The apply mode of the transform update. # Corresponds to the JSON property `applyMode` # @return [String] attr_accessor :apply_mode # The object ID of the page element to update. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] # to transform source coordinates (x,y) into destination coordinates (x', y') # according to: # x' x = shear_y scale_y translate_y # 1 [ 1 ] # After transformation, # x' = scale_x * x + shear_x * y + translate_x; # y' = scale_y * y + shear_y * x + translate_y; # This message is therefore composed of these six matrix elements. # Corresponds to the JSON property `transform` # @return [Google::Apis::SlidesV1::AffineTransform] attr_accessor :transform def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @apply_mode = args[:apply_mode] if args.key?(:apply_mode) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) @transform = args[:transform] if args.key?(:transform) end end # Updates the Z-order of page elements. Z-order is an ordering of the elements # on the page from back to front. The page element in the front may cover the # elements that are behind it. class UpdatePageElementsZOrderRequest include Google::Apis::Core::Hashable # The Z-order operation to apply on the page elements. # When applying the operation on multiple page elements, the relative # Z-orders within these page elements before the operation is maintained. # Corresponds to the JSON property `operation` # @return [String] attr_accessor :operation # The object IDs of the page elements to update. # All the page elements must be on the same page and must not be grouped. # Corresponds to the JSON property `pageElementObjectIds` # @return [Array] attr_accessor :page_element_object_ids def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @operation = args[:operation] if args.key?(:operation) @page_element_object_ids = args[:page_element_object_ids] if args.key?(:page_element_object_ids) end end # Updates the properties of a Page. class UpdatePagePropertiesRequest include Google::Apis::Core::Hashable # The fields that should be updated. # At least one field must be specified. The root `pageProperties` is # implied and should not be specified. A single `"*"` can be used as # short-hand for listing every field. # For example to update the page background solid fill color, set `fields` # to `"pageBackgroundFill.solidFill.color"`. # To reset a property to its default value, include its field name in the # field mask but leave the field itself unset. # Corresponds to the JSON property `fields` # @return [String] attr_accessor :fields # The object ID of the page the update is applied to. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop # The properties of the Page. # The page will inherit properties from the parent page. Depending on the page # type the hierarchy is defined in either # SlideProperties or # LayoutProperties. # Corresponds to the JSON property `pageProperties` # @return [Google::Apis::SlidesV1::PageProperties] attr_accessor :page_properties def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @fields = args[:fields] if args.key?(:fields) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) @page_properties = args[:page_properties] if args.key?(:page_properties) end end # Updates the styling for all of the paragraphs within a Shape or Table that # overlap with the given text index range. class UpdateParagraphStyleRequest include Google::Apis::Core::Hashable # A location of a single table cell within a table. # Corresponds to the JSON property `cellLocation` # @return [Google::Apis::SlidesV1::TableCellLocation] attr_accessor :cell_location # The fields that should be updated. # At least one field must be specified. The root `style` is implied and # should not be specified. A single `"*"` can be used as short-hand for # listing every field. # For example, to update the paragraph alignment, set `fields` to # `"alignment"`. # To reset a property to its default value, include its field name in the # field mask but leave the field itself unset. # Corresponds to the JSON property `fields` # @return [String] attr_accessor :fields # The object ID of the shape or table with the text to be styled. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop # Styles that apply to a whole paragraph. # If this text is contained in a shape with a parent placeholder, then these # paragraph styles may be # inherited from the parent. Which paragraph styles are inherited depend on the # nesting level of lists: # * A paragraph not in a list will inherit its paragraph style from the # paragraph at the 0 nesting level of the list inside the parent placeholder. # * A paragraph in a list will inherit its paragraph style from the paragraph # at its corresponding nesting level of the list inside the parent # placeholder. # Inherited paragraph styles are represented as unset fields in this message. # Corresponds to the JSON property `style` # @return [Google::Apis::SlidesV1::ParagraphStyle] attr_accessor :style # Specifies a contiguous range of an indexed collection, such as characters in # text. # Corresponds to the JSON property `textRange` # @return [Google::Apis::SlidesV1::Range] attr_accessor :text_range def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @cell_location = args[:cell_location] if args.key?(:cell_location) @fields = args[:fields] if args.key?(:fields) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) @style = args[:style] if args.key?(:style) @text_range = args[:text_range] if args.key?(:text_range) end end # Update the properties of a Shape. class UpdateShapePropertiesRequest include Google::Apis::Core::Hashable # The fields that should be updated. # At least one field must be specified. The root `shapeProperties` is # implied and should not be specified. A single `"*"` can be used as # short-hand for listing every field. # For example to update the shape background solid fill color, set `fields` # to `"shapeBackgroundFill.solidFill.color"`. # To reset a property to its default value, include its field name in the # field mask but leave the field itself unset. # Corresponds to the JSON property `fields` # @return [String] attr_accessor :fields # The object ID of the shape the updates are applied to. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop # The properties of a Shape. # If the shape is a placeholder shape as determined by the # placeholder field, then these # properties may be inherited from a parent placeholder shape. # Determining the rendered value of the property depends on the corresponding # property_state field value. # Corresponds to the JSON property `shapeProperties` # @return [Google::Apis::SlidesV1::ShapeProperties] attr_accessor :shape_properties def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @fields = args[:fields] if args.key?(:fields) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) @shape_properties = args[:shape_properties] if args.key?(:shape_properties) end end # Updates the position of slides in the presentation. class UpdateSlidesPositionRequest include Google::Apis::Core::Hashable # The index where the slides should be inserted, based on the slide # arrangement before the move takes place. Must be between zero and the # number of slides in the presentation, inclusive. # Corresponds to the JSON property `insertionIndex` # @return [Fixnum] attr_accessor :insertion_index # The IDs of the slides in the presentation that should be moved. # The slides in this list must be in existing presentation order, without # duplicates. # Corresponds to the JSON property `slideObjectIds` # @return [Array] attr_accessor :slide_object_ids def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @insertion_index = args[:insertion_index] if args.key?(:insertion_index) @slide_object_ids = args[:slide_object_ids] if args.key?(:slide_object_ids) end end # Updates the properties of the table borders in a Table. class UpdateTableBorderPropertiesRequest include Google::Apis::Core::Hashable # The border position in the table range the updates should apply to. If a # border position is not specified, the updates will apply to all borders in # the table range. # Corresponds to the JSON property `borderPosition` # @return [String] attr_accessor :border_position # The fields that should be updated. # At least one field must be specified. The root `tableBorderProperties` is # implied and should not be specified. A single `"*"` can be used as # short-hand for listing every field. # For example to update the table border solid fill color, set # `fields` to `"tableBorderFill.solidFill.color"`. # To reset a property to its default value, include its field name in the # field mask but leave the field itself unset. # Corresponds to the JSON property `fields` # @return [String] attr_accessor :fields # The object ID of the table. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop # The border styling properties of the # TableBorderCell. # Corresponds to the JSON property `tableBorderProperties` # @return [Google::Apis::SlidesV1::TableBorderProperties] attr_accessor :table_border_properties # A table range represents a reference to a subset of a table. # It's important to note that the cells specified by a table range do not # necessarily form a rectangle. For example, let's say we have a 3 x 3 table # where all the cells of the last row are merged together. The table looks # like this: # # [ ] # A table range with location = (0, 0), row span = 3 and column span = 2 # specifies the following cells: # x x # [ x x x ] # Corresponds to the JSON property `tableRange` # @return [Google::Apis::SlidesV1::TableRange] attr_accessor :table_range def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @border_position = args[:border_position] if args.key?(:border_position) @fields = args[:fields] if args.key?(:fields) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) @table_border_properties = args[:table_border_properties] if args.key?(:table_border_properties) @table_range = args[:table_range] if args.key?(:table_range) end end # Update the properties of a TableCell. class UpdateTableCellPropertiesRequest include Google::Apis::Core::Hashable # The fields that should be updated. # At least one field must be specified. The root `tableCellProperties` is # implied and should not be specified. A single `"*"` can be used as # short-hand for listing every field. # For example to update the table cell background solid fill color, set # `fields` to `"tableCellBackgroundFill.solidFill.color"`. # To reset a property to its default value, include its field name in the # field mask but leave the field itself unset. # Corresponds to the JSON property `fields` # @return [String] attr_accessor :fields # The object ID of the table. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop # The properties of the TableCell. # Corresponds to the JSON property `tableCellProperties` # @return [Google::Apis::SlidesV1::TableCellProperties] attr_accessor :table_cell_properties # A table range represents a reference to a subset of a table. # It's important to note that the cells specified by a table range do not # necessarily form a rectangle. For example, let's say we have a 3 x 3 table # where all the cells of the last row are merged together. The table looks # like this: # # [ ] # A table range with location = (0, 0), row span = 3 and column span = 2 # specifies the following cells: # x x # [ x x x ] # Corresponds to the JSON property `tableRange` # @return [Google::Apis::SlidesV1::TableRange] attr_accessor :table_range def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @fields = args[:fields] if args.key?(:fields) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) @table_cell_properties = args[:table_cell_properties] if args.key?(:table_cell_properties) @table_range = args[:table_range] if args.key?(:table_range) end end # Updates the properties of a Table column. class UpdateTableColumnPropertiesRequest include Google::Apis::Core::Hashable # The list of zero-based indices specifying which columns to update. If no # indices are provided, all columns in the table will be updated. # Corresponds to the JSON property `columnIndices` # @return [Array] attr_accessor :column_indices # The fields that should be updated. # At least one field must be specified. The root `tableColumnProperties` is # implied and should not be specified. A single `"*"` can be used as # short-hand for listing every field. # For example to update the column width, set `fields` to `"column_width"`. # If '"column_width"' is included in the field mask but the property is left # unset, the column width will default to 406,400 EMU (32 points). # Corresponds to the JSON property `fields` # @return [String] attr_accessor :fields # The object ID of the table. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop # Properties of each column in a table. # Corresponds to the JSON property `tableColumnProperties` # @return [Google::Apis::SlidesV1::TableColumnProperties] attr_accessor :table_column_properties def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @column_indices = args[:column_indices] if args.key?(:column_indices) @fields = args[:fields] if args.key?(:fields) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) @table_column_properties = args[:table_column_properties] if args.key?(:table_column_properties) end end # Updates the properties of a Table row. class UpdateTableRowPropertiesRequest include Google::Apis::Core::Hashable # The fields that should be updated. # At least one field must be specified. The root `tableRowProperties` is # implied and should not be specified. A single `"*"` can be used as # short-hand for listing every field. # For example to update the minimum row height, set `fields` to # `"min_row_height"`. # If '"min_row_height"' is included in the field mask but the property is # left unset, the minimum row height will default to 0. # Corresponds to the JSON property `fields` # @return [String] attr_accessor :fields # The object ID of the table. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop # The list of zero-based indices specifying which rows to update. If no # indices are provided, all rows in the table will be updated. # Corresponds to the JSON property `rowIndices` # @return [Array] attr_accessor :row_indices # Properties of each row in a table. # Corresponds to the JSON property `tableRowProperties` # @return [Google::Apis::SlidesV1::TableRowProperties] attr_accessor :table_row_properties def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @fields = args[:fields] if args.key?(:fields) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) @row_indices = args[:row_indices] if args.key?(:row_indices) @table_row_properties = args[:table_row_properties] if args.key?(:table_row_properties) end end # Update the styling of text in a Shape or # Table. class UpdateTextStyleRequest include Google::Apis::Core::Hashable # A location of a single table cell within a table. # Corresponds to the JSON property `cellLocation` # @return [Google::Apis::SlidesV1::TableCellLocation] attr_accessor :cell_location # The fields that should be updated. # At least one field must be specified. The root `style` is implied and # should not be specified. A single `"*"` can be used as short-hand for # listing every field. # For example, to update the text style to bold, set `fields` to `"bold"`. # To reset a property to its default value, include its field name in the # field mask but leave the field itself unset. # Corresponds to the JSON property `fields` # @return [String] attr_accessor :fields # The object ID of the shape or table with the text to be styled. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop # Represents the styling that can be applied to a TextRun. # If this text is contained in a shape with a parent placeholder, then these # text styles may be # inherited from the parent. Which text styles are inherited depend on the # nesting level of lists: # * A text run in a paragraph that is not in a list will inherit its text style # from the the newline character in the paragraph at the 0 nesting level of # the list inside the parent placeholder. # * A text run in a paragraph that is in a list will inherit its text style # from the newline character in the paragraph at its corresponding nesting # level of the list inside the parent placeholder. # Inherited text styles are represented as unset fields in this message. If # text is contained in a shape without a parent placeholder, unsetting these # fields will revert the style to a value matching the defaults in the Slides # editor. # Corresponds to the JSON property `style` # @return [Google::Apis::SlidesV1::TextStyle] attr_accessor :style # Specifies a contiguous range of an indexed collection, such as characters in # text. # Corresponds to the JSON property `textRange` # @return [Google::Apis::SlidesV1::Range] attr_accessor :text_range def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @cell_location = args[:cell_location] if args.key?(:cell_location) @fields = args[:fields] if args.key?(:fields) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) @style = args[:style] if args.key?(:style) @text_range = args[:text_range] if args.key?(:text_range) end end # Update the properties of a Video. class UpdateVideoPropertiesRequest include Google::Apis::Core::Hashable # The fields that should be updated. # At least one field must be specified. The root `videoProperties` is # implied and should not be specified. A single `"*"` can be used as # short-hand for listing every field. # For example to update the video outline color, set `fields` to # `"outline.outlineFill.solidFill.color"`. # To reset a property to its default value, include its field name in the # field mask but leave the field itself unset. # Corresponds to the JSON property `fields` # @return [String] attr_accessor :fields # The object ID of the video the updates are applied to. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop # The properties of the Video. # Corresponds to the JSON property `videoProperties` # @return [Google::Apis::SlidesV1::VideoProperties] attr_accessor :video_properties def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @fields = args[:fields] if args.key?(:fields) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) @video_properties = args[:video_properties] if args.key?(:video_properties) end end # A PageElement kind representing a # video. class Video include Google::Apis::Core::Hashable # The video source's unique identifier for this video. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # The video source. # Corresponds to the JSON property `source` # @return [String] attr_accessor :source # An URL to a video. The URL is valid as long as the source video exists and # sharing settings do not change. # Corresponds to the JSON property `url` # @return [String] attr_accessor :url # The properties of the Video. # Corresponds to the JSON property `videoProperties` # @return [Google::Apis::SlidesV1::VideoProperties] attr_accessor :video_properties def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @source = args[:source] if args.key?(:source) @url = args[:url] if args.key?(:url) @video_properties = args[:video_properties] if args.key?(:video_properties) end end # The properties of the Video. class VideoProperties include Google::Apis::Core::Hashable # Whether to enable video autoplay when the page is displayed in present # mode. Defaults to false. # Corresponds to the JSON property `autoPlay` # @return [Boolean] attr_accessor :auto_play alias_method :auto_play?, :auto_play # The time at which to end playback, measured in seconds from the beginning # of the video. # If set, the end time should be after the start time. # If not set or if you set this to a value that exceeds the video's length, # the video will be played until its end. # Corresponds to the JSON property `end` # @return [Fixnum] attr_accessor :end # Whether to mute the audio during video playback. Defaults to false. # Corresponds to the JSON property `mute` # @return [Boolean] attr_accessor :mute alias_method :mute?, :mute # The outline of a PageElement. # If these fields are unset, they may be inherited from a parent placeholder # if it exists. If there is no parent, the fields will default to the value # used for new page elements created in the Slides editor, which may depend on # the page element kind. # Corresponds to the JSON property `outline` # @return [Google::Apis::SlidesV1::Outline] attr_accessor :outline # The time at which to start playback, measured in seconds from the beginning # of the video. # If set, the start time should be before the end time. # If you set this to a value that exceeds the video's length in seconds, the # video will be played from the last second. # If not set, the video will be played from the beginning. # Corresponds to the JSON property `start` # @return [Fixnum] attr_accessor :start def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @auto_play = args[:auto_play] if args.key?(:auto_play) @end = args[:end] if args.key?(:end) @mute = args[:mute] if args.key?(:mute) @outline = args[:outline] if args.key?(:outline) @start = args[:start] if args.key?(:start) end end # Represents a font family and weight used to style a TextRun. class WeightedFontFamily include Google::Apis::Core::Hashable # The font family of the text. # The font family can be any font from the Font menu in Slides or from # [Google Fonts] (https://fonts.google.com/). If the font name is # unrecognized, the text is rendered in `Arial`. # Corresponds to the JSON property `fontFamily` # @return [String] attr_accessor :font_family # The rendered weight of the text. This field can have any value that is a # multiple of `100` between `100` and `900`, inclusive. This range # corresponds to the numerical values described in the CSS 2.1 # Specification, # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness), # with non-numerical values disallowed. Weights greater than or equal to # `700` are considered bold, and weights less than `700`are not bold. The # default value is `400` ("normal"). # Corresponds to the JSON property `weight` # @return [Fixnum] attr_accessor :weight def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @font_family = args[:font_family] if args.key?(:font_family) @weight = args[:weight] if args.key?(:weight) end end # A PageElement kind representing # word art. class WordArt include Google::Apis::Core::Hashable # The text rendered as word art. # Corresponds to the JSON property `renderedText` # @return [String] attr_accessor :rendered_text def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @rendered_text = args[:rendered_text] if args.key?(:rendered_text) end end # Provides control over how write requests are executed. class WriteControl include Google::Apis::Core::Hashable # The revision ID of the presentation required for the write request. If # specified and the `required_revision_id` doesn't exactly match the # presentation's current `revision_id`, the request will not be processed and # will return a 400 bad request error. # Corresponds to the JSON property `requiredRevisionId` # @return [String] attr_accessor :required_revision_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @required_revision_id = args[:required_revision_id] if args.key?(:required_revision_id) end end end end end