Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2517)

Unified Diff: generated/googleapis/lib/slides/v1.dart

Issue 2571553005: Api-roll 43: 2016-12-13 (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « generated/googleapis/lib/sheets/v4.dart ('k') | generated/googleapis/lib/storage/v1.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: generated/googleapis/lib/slides/v1.dart
diff --git a/generated/googleapis/lib/slides/v1.dart b/generated/googleapis/lib/slides/v1.dart
new file mode 100644
index 0000000000000000000000000000000000000000..157dfd26520917fd985c3a8c12862844f244207a
--- /dev/null
+++ b/generated/googleapis/lib/slides/v1.dart
@@ -0,0 +1,6467 @@
+// This is a generated file (see the discoveryapis_generator project).
+
+library googleapis.slides.v1;
+
+import 'dart:core' as core;
+import 'dart:async' as async;
+import 'dart:convert' as convert;
+
+import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons;
+import 'package:http/http.dart' as http;
+
+export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' show
+ ApiRequestError, DetailedApiRequestError;
+
+const core.String USER_AGENT = 'dart-api-client slides/v1';
+
+/** An API for creating and editing Google Slides presentations. */
+class SlidesApi {
+ /** View and manage the files in your Google Drive */
+ static const DriveScope = "https://www.googleapis.com/auth/drive";
+
+ /** View the files in your Google Drive */
+ static const DriveReadonlyScope = "https://www.googleapis.com/auth/drive.readonly";
+
+ /** View and manage your Google Slides presentations */
+ static const PresentationsScope = "https://www.googleapis.com/auth/presentations";
+
+ /** View your Google Slides presentations */
+ static const PresentationsReadonlyScope = "https://www.googleapis.com/auth/presentations.readonly";
+
+ /** View and manage your spreadsheets in Google Drive */
+ static const SpreadsheetsScope = "https://www.googleapis.com/auth/spreadsheets";
+
+ /** View your Google Spreadsheets */
+ static const SpreadsheetsReadonlyScope = "https://www.googleapis.com/auth/spreadsheets.readonly";
+
+
+ final commons.ApiRequester _requester;
+
+ PresentationsResourceApi get presentations => new PresentationsResourceApi(_requester);
+
+ SlidesApi(http.Client client, {core.String rootUrl: "https://slides.googleapis.com/", core.String servicePath: ""}) :
+ _requester = new commons.ApiRequester(client, rootUrl, servicePath, USER_AGENT);
+}
+
+
+class PresentationsResourceApi {
+ final commons.ApiRequester _requester;
+
+ PresentationsPagesResourceApi get pages => new PresentationsPagesResourceApi(_requester);
+
+ PresentationsResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
+ /**
+ * Applies one or more updates to the presentation.
+ *
+ * Each request is validated before
+ * being applied. If any request is not valid, then the entire request will
+ * fail and nothing will be applied.
+ *
+ * Some requests have replies to
+ * give you some information about how they are applied. Other requests do
+ * not need to return information; these each return an empty reply.
+ * The order of replies matches that of the requests.
+ *
+ * For example, suppose you call batchUpdate with four updates, and only the
+ * third one returns information. The response would have two empty replies:
+ * the reply to the third request, and another empty reply, in that order.
+ *
+ * Because other users may be editing the presentation, the presentation
+ * might not exactly reflect your changes: your changes may
+ * be altered with respect to collaborator changes. If there are no
+ * collaborators, the presentation should reflect your changes. In any case,
+ * the updates in your request are guaranteed to be applied together
+ * atomically.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [presentationId] - The presentation to apply the updates to.
+ *
+ * Completes with a [BatchUpdatePresentationResponse].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<BatchUpdatePresentationResponse> batchUpdate(BatchUpdatePresentationRequest request, core.String presentationId) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (presentationId == null) {
+ throw new core.ArgumentError("Parameter presentationId is required.");
+ }
+
+ _url = 'v1/presentations/' + commons.Escaper.ecapeVariable('$presentationId') + ':batchUpdate';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new BatchUpdatePresentationResponse.fromJson(data));
+ }
+
+ /**
+ * Creates a new presentation using the title given in the request. Other
+ * fields in the request are ignored.
+ * Returns the created presentation.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * Completes with a [Presentation].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<Presentation> create(Presentation request) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+
+ _url = 'v1/presentations';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Presentation.fromJson(data));
+ }
+
+ /**
+ * Gets the latest version of the specified presentation.
+ *
+ * Request parameters:
+ *
+ * [presentationId] - The ID of the presentation to retrieve.
+ * Value must have pattern "^[^/]+$".
+ *
+ * Completes with a [Presentation].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<Presentation> get(core.String presentationId) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (presentationId == null) {
+ throw new core.ArgumentError("Parameter presentationId is required.");
+ }
+
+ _url = 'v1/presentations/' + commons.Escaper.ecapeVariableReserved('$presentationId');
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Presentation.fromJson(data));
+ }
+
+}
+
+
+class PresentationsPagesResourceApi {
+ final commons.ApiRequester _requester;
+
+ PresentationsPagesResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
+ /**
+ * Gets the latest version of the specified page in the presentation.
+ *
+ * Request parameters:
+ *
+ * [presentationId] - The ID of the presentation to retrieve.
+ *
+ * [pageObjectId] - The object ID of the page to retrieve.
+ *
+ * Completes with a [Page].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<Page> get(core.String presentationId, core.String pageObjectId) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (presentationId == null) {
+ throw new core.ArgumentError("Parameter presentationId is required.");
+ }
+ if (pageObjectId == null) {
+ throw new core.ArgumentError("Parameter pageObjectId is required.");
+ }
+
+ _url = 'v1/presentations/' + commons.Escaper.ecapeVariable('$presentationId') + '/pages/' + commons.Escaper.ecapeVariable('$pageObjectId');
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Page.fromJson(data));
+ }
+
+}
+
+
+
+/**
+ * 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 {
+ /** The X coordinate scaling element. */
+ core.double scaleX;
+ /** The Y coordinate scaling element. */
+ core.double scaleY;
+ /** The X coordinate shearing element. */
+ core.double shearX;
+ /** The Y coordinate shearing element. */
+ core.double shearY;
+ /** The X coordinate translation element. */
+ core.double translateX;
+ /** The Y coordinate translation element. */
+ core.double translateY;
+ /**
+ * The units for translate elements.
+ * Possible string values are:
+ * - "UNIT_UNSPECIFIED" : The units are unknown.
+ * - "EMU" : An English Metric Unit (EMU) is defined as 1/360,000 of a
+ * centimeter
+ * and thus there are 914,400 EMUs per inch, and 12,700 EMUs per point.
+ * - "PT" : A point, 1/72 of an inch.
+ */
+ core.String unit;
+
+ AffineTransform();
+
+ AffineTransform.fromJson(core.Map _json) {
+ if (_json.containsKey("scaleX")) {
+ scaleX = _json["scaleX"];
+ }
+ if (_json.containsKey("scaleY")) {
+ scaleY = _json["scaleY"];
+ }
+ if (_json.containsKey("shearX")) {
+ shearX = _json["shearX"];
+ }
+ if (_json.containsKey("shearY")) {
+ shearY = _json["shearY"];
+ }
+ if (_json.containsKey("translateX")) {
+ translateX = _json["translateX"];
+ }
+ if (_json.containsKey("translateY")) {
+ translateY = _json["translateY"];
+ }
+ if (_json.containsKey("unit")) {
+ unit = _json["unit"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (scaleX != null) {
+ _json["scaleX"] = scaleX;
+ }
+ if (scaleY != null) {
+ _json["scaleY"] = scaleY;
+ }
+ if (shearX != null) {
+ _json["shearX"] = shearX;
+ }
+ if (shearY != null) {
+ _json["shearY"] = shearY;
+ }
+ if (translateX != null) {
+ _json["translateX"] = translateX;
+ }
+ if (translateY != null) {
+ _json["translateY"] = translateY;
+ }
+ if (unit != null) {
+ _json["unit"] = unit;
+ }
+ return _json;
+ }
+}
+
+/** A TextElement kind that represents auto text. */
+class AutoText {
+ /** The rendered content of this auto text, if available. */
+ core.String content;
+ /** The styling applied to this auto text. */
+ TextStyle style;
+ /**
+ * The type of this auto text.
+ * Possible string values are:
+ * - "TYPE_UNSPECIFIED" : An unspecified autotext type.
+ * - "SLIDE_NUMBER" : Type for autotext that represents the current slide
+ * number.
+ */
+ core.String type;
+
+ AutoText();
+
+ AutoText.fromJson(core.Map _json) {
+ if (_json.containsKey("content")) {
+ content = _json["content"];
+ }
+ if (_json.containsKey("style")) {
+ style = new TextStyle.fromJson(_json["style"]);
+ }
+ if (_json.containsKey("type")) {
+ type = _json["type"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (content != null) {
+ _json["content"] = content;
+ }
+ if (style != null) {
+ _json["style"] = (style).toJson();
+ }
+ if (type != null) {
+ _json["type"] = type;
+ }
+ return _json;
+ }
+}
+
+/** Request message for PresentationsService.BatchUpdatePresentation. */
+class BatchUpdatePresentationRequest {
+ /** A list of updates to apply to the presentation. */
+ core.List<Request> requests;
+
+ BatchUpdatePresentationRequest();
+
+ BatchUpdatePresentationRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("requests")) {
+ requests = _json["requests"].map((value) => new Request.fromJson(value)).toList();
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (requests != null) {
+ _json["requests"] = requests.map((value) => (value).toJson()).toList();
+ }
+ return _json;
+ }
+}
+
+/** Response message from a batch update. */
+class BatchUpdatePresentationResponse {
+ /** The presentation the updates were applied to. */
+ core.String presentationId;
+ /**
+ * The reply of the updates. This maps 1:1 with the updates, although
+ * replies to some requests may be empty.
+ */
+ core.List<Response> replies;
+
+ BatchUpdatePresentationResponse();
+
+ BatchUpdatePresentationResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("presentationId")) {
+ presentationId = _json["presentationId"];
+ }
+ if (_json.containsKey("replies")) {
+ replies = _json["replies"].map((value) => new Response.fromJson(value)).toList();
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (presentationId != null) {
+ _json["presentationId"] = presentationId;
+ }
+ if (replies != null) {
+ _json["replies"] = replies.map((value) => (value).toJson()).toList();
+ }
+ return _json;
+ }
+}
+
+/** Describes the bullet of a paragraph. */
+class Bullet {
+ /** The paragraph specific text style applied to this bullet. */
+ TextStyle bulletStyle;
+ /** The rendered bullet glyph for this paragraph. */
+ core.String glyph;
+ /** The ID of the list this paragraph belongs to. */
+ core.String listId;
+ /** The nesting level of this paragraph in the list. */
+ core.int nestingLevel;
+
+ Bullet();
+
+ Bullet.fromJson(core.Map _json) {
+ if (_json.containsKey("bulletStyle")) {
+ bulletStyle = new TextStyle.fromJson(_json["bulletStyle"]);
+ }
+ if (_json.containsKey("glyph")) {
+ glyph = _json["glyph"];
+ }
+ if (_json.containsKey("listId")) {
+ listId = _json["listId"];
+ }
+ if (_json.containsKey("nestingLevel")) {
+ nestingLevel = _json["nestingLevel"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (bulletStyle != null) {
+ _json["bulletStyle"] = (bulletStyle).toJson();
+ }
+ if (glyph != null) {
+ _json["glyph"] = glyph;
+ }
+ if (listId != null) {
+ _json["listId"] = listId;
+ }
+ if (nestingLevel != null) {
+ _json["nestingLevel"] = nestingLevel;
+ }
+ return _json;
+ }
+}
+
+/** The palette of predefined colors for a page. */
+class ColorScheme {
+ /** The ThemeColorType and corresponding concrete color pairs. */
+ core.List<ThemeColorPair> colors;
+
+ ColorScheme();
+
+ ColorScheme.fromJson(core.Map _json) {
+ if (_json.containsKey("colors")) {
+ colors = _json["colors"].map((value) => new ThemeColorPair.fromJson(value)).toList();
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (colors != null) {
+ _json["colors"] = colors.map((value) => (value).toJson()).toList();
+ }
+ return _json;
+ }
+}
+
+/** A color and position in a gradient band. */
+class ColorStop {
+ /**
+ * The alpha value of this color in the gradient band. Defaults to 1.0,
+ * fully opaque.
+ */
+ core.double alpha;
+ /** The color of the gradient stop. */
+ OpaqueColor 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].
+ */
+ core.double position;
+
+ ColorStop();
+
+ ColorStop.fromJson(core.Map _json) {
+ if (_json.containsKey("alpha")) {
+ alpha = _json["alpha"];
+ }
+ if (_json.containsKey("color")) {
+ color = new OpaqueColor.fromJson(_json["color"]);
+ }
+ if (_json.containsKey("position")) {
+ position = _json["position"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (alpha != null) {
+ _json["alpha"] = alpha;
+ }
+ if (color != null) {
+ _json["color"] = (color).toJson();
+ }
+ if (position != null) {
+ _json["position"] = position;
+ }
+ return _json;
+ }
+}
+
+/** Creates an image. */
+class CreateImageRequest {
+ /**
+ * The element properties for the image.
+ *
+ * When the aspect ratio of the provided size does not match the image aspect
+ * ratio, the image is scaled and centered with respect to the size in order
+ * to maintain aspect ratio. The provided transform is applied after this
+ * operation.
+ */
+ PageElementProperties elementProperties;
+ /**
+ * 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.
+ */
+ core.String objectId;
+ /**
+ * 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 either in PNG, JPEG, or GIF
+ * format.
+ */
+ core.String url;
+
+ CreateImageRequest();
+
+ CreateImageRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("elementProperties")) {
+ elementProperties = new PageElementProperties.fromJson(_json["elementProperties"]);
+ }
+ if (_json.containsKey("objectId")) {
+ objectId = _json["objectId"];
+ }
+ if (_json.containsKey("url")) {
+ url = _json["url"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (elementProperties != null) {
+ _json["elementProperties"] = (elementProperties).toJson();
+ }
+ if (objectId != null) {
+ _json["objectId"] = objectId;
+ }
+ if (url != null) {
+ _json["url"] = url;
+ }
+ return _json;
+ }
+}
+
+/** The result of creating an image. */
+class CreateImageResponse {
+ /** The object ID of the created image. */
+ core.String objectId;
+
+ CreateImageResponse();
+
+ CreateImageResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("objectId")) {
+ objectId = _json["objectId"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (objectId != null) {
+ _json["objectId"] = objectId;
+ }
+ return _json;
+ }
+}
+
+/** Creates a line. */
+class CreateLineRequest {
+ /** The element properties for the line. */
+ PageElementProperties elementProperties;
+ /**
+ * The category of line to be created.
+ * Possible string values are:
+ * - "STRAIGHT" : Straight connectors, including straight connector 1. The is
+ * the default
+ * category when one is not specified.
+ * - "BENT" : Bent connectors, including bent connector 2 to 5.
+ * - "CURVED" : Curved connectors, including curved connector 2 to 5.
+ */
+ core.String lineCategory;
+ /**
+ * 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.
+ */
+ core.String objectId;
+
+ CreateLineRequest();
+
+ CreateLineRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("elementProperties")) {
+ elementProperties = new PageElementProperties.fromJson(_json["elementProperties"]);
+ }
+ if (_json.containsKey("lineCategory")) {
+ lineCategory = _json["lineCategory"];
+ }
+ if (_json.containsKey("objectId")) {
+ objectId = _json["objectId"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (elementProperties != null) {
+ _json["elementProperties"] = (elementProperties).toJson();
+ }
+ if (lineCategory != null) {
+ _json["lineCategory"] = lineCategory;
+ }
+ if (objectId != null) {
+ _json["objectId"] = objectId;
+ }
+ return _json;
+ }
+}
+
+/** The result of creating a line. */
+class CreateLineResponse {
+ /** The object ID of the created line. */
+ core.String objectId;
+
+ CreateLineResponse();
+
+ CreateLineResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("objectId")) {
+ objectId = _json["objectId"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (objectId != null) {
+ _json["objectId"] = objectId;
+ }
+ return _json;
+ }
+}
+
+/**
+ * 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 {
+ /**
+ * The kinds of bullet glyphs to be used. Defaults to the
+ * `BULLET_DISC_CIRCLE_SQUARE` preset.
+ * Possible string values are:
+ * - "BULLET_DISC_CIRCLE_SQUARE" : A bulleted list with a `DISC`, `CIRCLE` and
+ * `SQUARE` bullet glyph for the
+ * first 3 list nesting levels.
+ * - "BULLET_DIAMONDX_ARROW3D_SQUARE" : A bulleted list with a `DIAMONDX`,
+ * `ARROW3D` and `SQUARE` bullet glyph for
+ * the first 3 list nesting levels.
+ * - "BULLET_CHECKBOX" : A bulleted list with `CHECKBOX` bullet glyphs for all
+ * list nesting levels.
+ * - "BULLET_ARROW_DIAMOND_DISC" : A bulleted list with a `ARROW`, `DIAMOND`
+ * and `DISC` bullet glyph for
+ * the first 3 list nesting levels.
+ * - "BULLET_STAR_CIRCLE_SQUARE" : A bulleted list with a `STAR`, `CIRCLE` and
+ * `DISC` bullet glyph for
+ * the first 3 list nesting levels.
+ * - "BULLET_ARROW3D_CIRCLE_SQUARE" : A bulleted list with a `ARROW3D`,
+ * `CIRCLE` and `SQUARE` bullet glyph for
+ * the first 3 list nesting levels.
+ * - "BULLET_LEFTTRIANGLE_DIAMOND_DISC" : A bulleted list with a
+ * `LEFTTRIANGLE`, `DIAMOND` and `DISC` bullet glyph
+ * for the first 3 list nesting levels.
+ * - "BULLET_DIAMONDX_HOLLOWDIAMOND_SQUARE" : A bulleted list with a
+ * `DIAMONDX`, `HOLLOWDIAMOND` and `SQUARE` bullet
+ * glyph for the first 3 list nesting levels.
+ * - "BULLET_DIAMOND_CIRCLE_SQUARE" : A bulleted list with a `DIAMOND`,
+ * `CIRCLE` and `SQUARE` bullet glyph
+ * for the first 3 list nesting levels.
+ * - "NUMBERED_DIGIT_ALPHA_ROMAN" : A numbered list with `DIGIT`, `ALPHA` and
+ * `ROMAN` numeric glyphs for
+ * the first 3 list nesting levels, followed by periods.
+ * - "NUMBERED_DIGIT_ALPHA_ROMAN_PARENS" : A numbered list with `DIGIT`,
+ * `ALPHA` and `ROMAN` numeric glyphs for
+ * the first 3 list nesting levels, followed by parenthesis.
+ * - "NUMBERED_DIGIT_NESTED" : A numbered list with `DIGIT` numeric glyphs
+ * separated by periods, where
+ * each nesting level uses the previous nesting level's glyph as a prefix.
+ * For example: '1.', '1.1.', '2.', '2.2.'.
+ * - "NUMBERED_UPPERALPHA_ALPHA_ROMAN" : A numbered list with `UPPERALPHA`,
+ * `ALPHA` and `ROMAN` numeric glyphs for
+ * the first 3 list nesting levels, followed by periods.
+ * - "NUMBERED_UPPERROMAN_UPPERALPHA_DIGIT" : A numbered list with
+ * `UPPERROMAN`, `UPPERALPHA` and `DIGIT` numeric glyphs
+ * for the first 3 list nesting levels, followed by periods.
+ * - "NUMBERED_ZERODIGIT_ALPHA_ROMAN" : A numbered list with `ZERODIGIT`,
+ * `ALPHA` and `ROMAN` numeric glyphs for
+ * the first 3 list nesting levels, followed by periods.
+ */
+ core.String bulletPreset;
+ /**
+ * The optional table cell location if the text to be modified is in a table
+ * cell. If present, the object_id must refer to a table.
+ */
+ TableCellLocation cellLocation;
+ /**
+ * The object ID of the shape or table containing the text to add bullets to.
+ */
+ core.String objectId;
+ /**
+ * The range of text to apply the bullet presets to, based on TextElement
+ * indexes.
+ */
+ Range textRange;
+
+ CreateParagraphBulletsRequest();
+
+ CreateParagraphBulletsRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("bulletPreset")) {
+ bulletPreset = _json["bulletPreset"];
+ }
+ if (_json.containsKey("cellLocation")) {
+ cellLocation = new TableCellLocation.fromJson(_json["cellLocation"]);
+ }
+ if (_json.containsKey("objectId")) {
+ objectId = _json["objectId"];
+ }
+ if (_json.containsKey("textRange")) {
+ textRange = new Range.fromJson(_json["textRange"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (bulletPreset != null) {
+ _json["bulletPreset"] = bulletPreset;
+ }
+ if (cellLocation != null) {
+ _json["cellLocation"] = (cellLocation).toJson();
+ }
+ if (objectId != null) {
+ _json["objectId"] = objectId;
+ }
+ if (textRange != null) {
+ _json["textRange"] = (textRange).toJson();
+ }
+ return _json;
+ }
+}
+
+/** Creates a new shape. */
+class CreateShapeRequest {
+ /** The element properties for the shape. */
+ PageElementProperties elementProperties;
+ /**
+ * 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.
+ */
+ core.String objectId;
+ /**
+ * The shape type.
+ * Possible string values are:
+ * - "TYPE_UNSPECIFIED" : The shape type that is not predefined.
+ * - "TEXT_BOX" : Text box shape.
+ * - "RECTANGLE" : Rectangle shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'rect'.
+ * - "ROUND_RECTANGLE" : Round corner rectangle shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'roundRect'
+ * - "ELLIPSE" : Ellipse shape. Corresponds to ECMA-376 ST_ShapeType 'ellipse'
+ * - "ARC" : Curved arc shape. Corresponds to ECMA-376 ST_ShapeType 'arc'
+ * - "BENT_ARROW" : Bent arrow shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'bentArrow'
+ * - "BENT_UP_ARROW" : Bent up arrow shape. Corresponds to ECMA-376
+ * ST_ShapeType 'bentUpArrow'
+ * - "BEVEL" : Bevel shape. Corresponds to ECMA-376 ST_ShapeType 'bevel'
+ * - "BLOCK_ARC" : Block arc shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'blockArc'
+ * - "BRACE_PAIR" : Brace pair shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'bracePair'
+ * - "BRACKET_PAIR" : Bracket pair shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'bracketPair'
+ * - "CAN" : Can shape. Corresponds to ECMA-376 ST_ShapeType 'can'
+ * - "CHEVRON" : Chevron shape. Corresponds to ECMA-376 ST_ShapeType 'chevron'
+ * - "CHORD" : Chord shape. Corresponds to ECMA-376 ST_ShapeType 'chord'
+ * - "CLOUD" : Cloud shape. Corresponds to ECMA-376 ST_ShapeType 'cloud'
+ * - "CORNER" : Corner shape. Corresponds to ECMA-376 ST_ShapeType 'corner'
+ * - "CUBE" : Cube shape. Corresponds to ECMA-376 ST_ShapeType 'cube'
+ * - "CURVED_DOWN_ARROW" : Curved down arrow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'curvedDownArrow'
+ * - "CURVED_LEFT_ARROW" : Curved left arrow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'curvedLeftArrow'
+ * - "CURVED_RIGHT_ARROW" : Curved right arrow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'curvedRightArrow'
+ * - "CURVED_UP_ARROW" : Curved up arrow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'curvedUpArrow'
+ * - "DECAGON" : Decagon shape. Corresponds to ECMA-376 ST_ShapeType 'decagon'
+ * - "DIAGONAL_STRIPE" : Diagonal stripe shape. Corresponds to ECMA-376
+ * ST_ShapeType 'diagStripe'
+ * - "DIAMOND" : Diamond shape. Corresponds to ECMA-376 ST_ShapeType 'diamond'
+ * - "DODECAGON" : Dodecagon shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'dodecagon'
+ * - "DONUT" : Donut shape. Corresponds to ECMA-376 ST_ShapeType 'donut'
+ * - "DOUBLE_WAVE" : Double wave shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'doubleWave'
+ * - "DOWN_ARROW" : Down arrow shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'downArrow'
+ * - "DOWN_ARROW_CALLOUT" : Callout down arrow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'downArrowCallout'
+ * - "FOLDED_CORNER" : Folded corner shape. Corresponds to ECMA-376
+ * ST_ShapeType 'foldedCorner'
+ * - "FRAME" : Frame shape. Corresponds to ECMA-376 ST_ShapeType 'frame'
+ * - "HALF_FRAME" : Half frame shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'halfFrame'
+ * - "HEART" : Heart shape. Corresponds to ECMA-376 ST_ShapeType 'heart'
+ * - "HEPTAGON" : Heptagon shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'heptagon'
+ * - "HEXAGON" : Hexagon shape. Corresponds to ECMA-376 ST_ShapeType 'hexagon'
+ * - "HOME_PLATE" : Home plate shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'homePlate'
+ * - "HORIZONTAL_SCROLL" : Horizontal scroll shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'horizontalScroll'
+ * - "IRREGULAR_SEAL_1" : Irregular seal 1 shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'irregularSeal1'
+ * - "IRREGULAR_SEAL_2" : Irregular seal 2 shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'irregularSeal2'
+ * - "LEFT_ARROW" : Left arrow shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'leftArrow'
+ * - "LEFT_ARROW_CALLOUT" : Callout left arrow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'leftArrowCallout'
+ * - "LEFT_BRACE" : Left brace shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'leftBrace'
+ * - "LEFT_BRACKET" : Left bracket shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'leftBracket'
+ * - "LEFT_RIGHT_ARROW" : Left right arrow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'leftRightArrow'
+ * - "LEFT_RIGHT_ARROW_CALLOUT" : Callout left right arrow shape. Corresponds
+ * to ECMA-376 ST_ShapeType
+ * 'leftRightArrowCallout'
+ * - "LEFT_RIGHT_UP_ARROW" : Left right up arrow shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'leftRightUpArrow'
+ * - "LEFT_UP_ARROW" : Left up arrow shape. Corresponds to ECMA-376
+ * ST_ShapeType 'leftUpArrow'
+ * - "LIGHTNING_BOLT" : Lightning bolt shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'lightningBolt'
+ * - "MATH_DIVIDE" : Divide math shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'mathDivide'
+ * - "MATH_EQUAL" : Equal math shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'mathEqual'
+ * - "MATH_MINUS" : Minus math shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'mathMinus'
+ * - "MATH_MULTIPLY" : Multiply math shape. Corresponds to ECMA-376
+ * ST_ShapeType 'mathMultiply'
+ * - "MATH_NOT_EQUAL" : Not equal math shape. Corresponds to ECMA-376
+ * ST_ShapeType 'mathNotEqual'
+ * - "MATH_PLUS" : Plus math shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'mathPlus'
+ * - "MOON" : Moon shape. Corresponds to ECMA-376 ST_ShapeType 'moon'
+ * - "NO_SMOKING" : No smoking shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'noSmoking'
+ * - "NOTCHED_RIGHT_ARROW" : Notched right arrow shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'notchedRightArrow'
+ * - "OCTAGON" : Octagon shape. Corresponds to ECMA-376 ST_ShapeType 'octagon'
+ * - "PARALLELOGRAM" : Parallelogram shape. Corresponds to ECMA-376
+ * ST_ShapeType 'parallelogram'
+ * - "PENTAGON" : Pentagon shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'pentagon'
+ * - "PIE" : Pie shape. Corresponds to ECMA-376 ST_ShapeType 'pie'
+ * - "PLAQUE" : Plaque shape. Corresponds to ECMA-376 ST_ShapeType 'plaque'
+ * - "PLUS" : Plus shape. Corresponds to ECMA-376 ST_ShapeType 'plus'
+ * - "QUAD_ARROW" : Quad-arrow shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'quadArrow'
+ * - "QUAD_ARROW_CALLOUT" : Callout quad-arrow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'quadArrowCallout'
+ * - "RIBBON" : Ribbon shape. Corresponds to ECMA-376 ST_ShapeType 'ribbon'
+ * - "RIBBON_2" : Ribbon 2 shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'ribbon2'
+ * - "RIGHT_ARROW" : Right arrow shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'rightArrow'
+ * - "RIGHT_ARROW_CALLOUT" : Callout right arrow shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'rightArrowCallout'
+ * - "RIGHT_BRACE" : Right brace shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'rightBrace'
+ * - "RIGHT_BRACKET" : Right bracket shape. Corresponds to ECMA-376
+ * ST_ShapeType 'rightBracket'
+ * - "ROUND_1_RECTANGLE" : One round corner rectangle shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'round1Rect'
+ * - "ROUND_2_DIAGONAL_RECTANGLE" : Two diagonal round corner rectangle shape.
+ * Corresponds to ECMA-376
+ * ST_ShapeType 'round2DiagRect'
+ * - "ROUND_2_SAME_RECTANGLE" : Two same-side round corner rectangle shape.
+ * Corresponds to ECMA-376
+ * ST_ShapeType 'round2SameRect'
+ * - "RIGHT_TRIANGLE" : Right triangle shape. Corresponds to ECMA-376
+ * ST_ShapeType 'rtTriangle'
+ * - "SMILEY_FACE" : Smiley face shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'smileyFace'
+ * - "SNIP_1_RECTANGLE" : One snip corner rectangle shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'snip1Rect'
+ * - "SNIP_2_DIAGONAL_RECTANGLE" : Two diagonal snip corner rectangle shape.
+ * Corresponds to ECMA-376
+ * ST_ShapeType 'snip2DiagRect'
+ * - "SNIP_2_SAME_RECTANGLE" : Two same-side snip corner rectangle shape.
+ * Corresponds to ECMA-376
+ * ST_ShapeType 'snip2SameRect'
+ * - "SNIP_ROUND_RECTANGLE" : One snip one round corner rectangle shape.
+ * Corresponds to ECMA-376
+ * ST_ShapeType 'snipRoundRect'
+ * - "STAR_10" : Ten pointed star shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'star10'
+ * - "STAR_12" : Twelve pointed star shape. Corresponds to ECMA-376
+ * ST_ShapeType 'star12'
+ * - "STAR_16" : Sixteen pointed star shape. Corresponds to ECMA-376
+ * ST_ShapeType 'star16'
+ * - "STAR_24" : Twenty four pointed star shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'star24'
+ * - "STAR_32" : Thirty two pointed star shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'star32'
+ * - "STAR_4" : Four pointed star shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'star4'
+ * - "STAR_5" : Five pointed star shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'star5'
+ * - "STAR_6" : Six pointed star shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'star6'
+ * - "STAR_7" : Seven pointed star shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'star7'
+ * - "STAR_8" : Eight pointed star shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'star8'
+ * - "STRIPED_RIGHT_ARROW" : Striped right arrow shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'stripedRightArrow'
+ * - "SUN" : Sun shape. Corresponds to ECMA-376 ST_ShapeType 'sun'
+ * - "TRAPEZOID" : Trapezoid shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'trapezoid'
+ * - "TRIANGLE" : Triangle shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'triangle'
+ * - "UP_ARROW" : Up arrow shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'upArrow'
+ * - "UP_ARROW_CALLOUT" : Callout up arrow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'upArrowCallout'
+ * - "UP_DOWN_ARROW" : Up down arrow shape. Corresponds to ECMA-376
+ * ST_ShapeType 'upDownArrow'
+ * - "UTURN_ARROW" : U-turn arrow shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'uturnArrow'
+ * - "VERTICAL_SCROLL" : Vertical scroll shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'verticalScroll'
+ * - "WAVE" : Wave shape. Corresponds to ECMA-376 ST_ShapeType 'wave'
+ * - "WEDGE_ELLIPSE_CALLOUT" : Callout wedge ellipse shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'wedgeEllipseCallout'
+ * - "WEDGE_RECTANGLE_CALLOUT" : Callout wedge rectangle shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'wedgeRectCallout'
+ * - "WEDGE_ROUND_RECTANGLE_CALLOUT" : Callout wedge round rectangle shape.
+ * Corresponds to ECMA-376 ST_ShapeType
+ * 'wedgeRoundRectCallout'
+ * - "FLOW_CHART_ALTERNATE_PROCESS" : Alternate process flow shape.
+ * Corresponds to ECMA-376 ST_ShapeType
+ * 'flowChartAlternateProcess'
+ * - "FLOW_CHART_COLLATE" : Collate flow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'flowChartCollate'
+ * - "FLOW_CHART_CONNECTOR" : Connector flow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'flowChartConnector'
+ * - "FLOW_CHART_DECISION" : Decision flow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'flowChartDecision'
+ * - "FLOW_CHART_DELAY" : Delay flow shape. Corresponds to ECMA-376
+ * ST_ShapeType 'flowChartDelay'
+ * - "FLOW_CHART_DISPLAY" : Display flow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'flowChartDisplay'
+ * - "FLOW_CHART_DOCUMENT" : Document flow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'flowChartDocument'
+ * - "FLOW_CHART_EXTRACT" : Extract flow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'flowChartExtract'
+ * - "FLOW_CHART_INPUT_OUTPUT" : Input output flow shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'flowChartInputOutput'
+ * - "FLOW_CHART_INTERNAL_STORAGE" : Internal storage flow shape. Corresponds
+ * to ECMA-376 ST_ShapeType
+ * 'flowChartInternalStorage'
+ * - "FLOW_CHART_MAGNETIC_DISK" : Magnetic disk flow shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'flowChartMagneticDisk'
+ * - "FLOW_CHART_MAGNETIC_DRUM" : Magnetic drum flow shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'flowChartMagneticDrum'
+ * - "FLOW_CHART_MAGNETIC_TAPE" : Magnetic tape flow shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'flowChartMagneticTape'
+ * - "FLOW_CHART_MANUAL_INPUT" : Manual input flow shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'flowChartManualInput'
+ * - "FLOW_CHART_MANUAL_OPERATION" : Manual operation flow shape. Corresponds
+ * to ECMA-376 ST_ShapeType
+ * 'flowChartManualOperation'
+ * - "FLOW_CHART_MERGE" : Merge flow shape. Corresponds to ECMA-376
+ * ST_ShapeType 'flowChartMerge'
+ * - "FLOW_CHART_MULTIDOCUMENT" : Multi-document flow shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'flowChartMultidocument'
+ * - "FLOW_CHART_OFFLINE_STORAGE" : Offline storage flow shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'flowChartOfflineStorage'
+ * - "FLOW_CHART_OFFPAGE_CONNECTOR" : Off-page connector flow shape.
+ * Corresponds to ECMA-376 ST_ShapeType
+ * 'flowChartOffpageConnector'
+ * - "FLOW_CHART_ONLINE_STORAGE" : Online storage flow shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'flowChartOnlineStorage'
+ * - "FLOW_CHART_OR" : Or flow shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'flowChartOr'
+ * - "FLOW_CHART_PREDEFINED_PROCESS" : Predefined process flow shape.
+ * Corresponds to ECMA-376 ST_ShapeType
+ * 'flowChartPredefinedProcess'
+ * - "FLOW_CHART_PREPARATION" : Preparation flow shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'flowChartPreparation'
+ * - "FLOW_CHART_PROCESS" : Process flow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'flowChartProcess'
+ * - "FLOW_CHART_PUNCHED_CARD" : Punched card flow shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'flowChartPunchedCard'
+ * - "FLOW_CHART_PUNCHED_TAPE" : Punched tape flow shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'flowChartPunchedTape'
+ * - "FLOW_CHART_SORT" : Sort flow shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'flowChartSort'
+ * - "FLOW_CHART_SUMMING_JUNCTION" : Summing junction flow shape. Corresponds
+ * to ECMA-376 ST_ShapeType
+ * 'flowChartSummingJunction'
+ * - "FLOW_CHART_TERMINATOR" : Terminator flow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'flowChartTerminator'
+ * - "ARROW_EAST" : East arrow shape.
+ * - "ARROW_NORTH_EAST" : Northeast arrow shape.
+ * - "ARROW_NORTH" : North arrow shape.
+ * - "SPEECH" : Speech shape.
+ * - "STARBURST" : Star burst shape.
+ * - "TEARDROP" : Teardrop shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'teardrop'
+ * - "ELLIPSE_RIBBON" : Ellipse ribbon shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'ellipseRibbon'
+ * - "ELLIPSE_RIBBON_2" : Ellipse ribbon 2 shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'ellipseRibbon2'
+ * - "CLOUD_CALLOUT" : Callout cloud shape. Corresponds to ECMA-376
+ * ST_ShapeType 'cloudCallout'
+ * - "CUSTOM" : Custom shape.
+ */
+ core.String shapeType;
+
+ CreateShapeRequest();
+
+ CreateShapeRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("elementProperties")) {
+ elementProperties = new PageElementProperties.fromJson(_json["elementProperties"]);
+ }
+ if (_json.containsKey("objectId")) {
+ objectId = _json["objectId"];
+ }
+ if (_json.containsKey("shapeType")) {
+ shapeType = _json["shapeType"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (elementProperties != null) {
+ _json["elementProperties"] = (elementProperties).toJson();
+ }
+ if (objectId != null) {
+ _json["objectId"] = objectId;
+ }
+ if (shapeType != null) {
+ _json["shapeType"] = shapeType;
+ }
+ return _json;
+ }
+}
+
+/** The result of creating a shape. */
+class CreateShapeResponse {
+ /** The object ID of the created shape. */
+ core.String objectId;
+
+ CreateShapeResponse();
+
+ CreateShapeResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("objectId")) {
+ objectId = _json["objectId"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (objectId != null) {
+ _json["objectId"] = objectId;
+ }
+ return _json;
+ }
+}
+
+/**
+ * Creates an embedded Google Sheets chart.
+ *
+ * NOTE: Chart creation requires at least one of the spreadsheets.readonly,
+ * spreadsheets, drive.readonly, or drive OAuth scopes.
+ */
+class CreateSheetsChartRequest {
+ /** The ID of the specific chart in the Google Sheets spreadsheet. */
+ core.int chartId;
+ /**
+ * The element properties for the chart.
+ *
+ * When the aspect ratio of the provided size does not match the chart aspect
+ * ratio, the chart is scaled and centered with respect to the size in order
+ * to maintain aspect ratio. The provided transform is applied after this
+ * operation.
+ */
+ PageElementProperties elementProperties;
+ /**
+ * 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.
+ * Possible string values are:
+ * - "NOT_LINKED_IMAGE" : The chart is not associated with the source
+ * spreadsheet and cannot be
+ * updated. A chart that is not linked will be inserted as an image.
+ * - "LINKED" : Linking the chart allows it to be updated, and other
+ * collaborators will
+ * see a link to the spreadsheet.
+ */
+ core.String linkingMode;
+ /**
+ * 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.
+ */
+ core.String objectId;
+ /** The ID of the Google Sheets spreadsheet that contains the chart. */
+ core.String spreadsheetId;
+
+ CreateSheetsChartRequest();
+
+ CreateSheetsChartRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("chartId")) {
+ chartId = _json["chartId"];
+ }
+ if (_json.containsKey("elementProperties")) {
+ elementProperties = new PageElementProperties.fromJson(_json["elementProperties"]);
+ }
+ if (_json.containsKey("linkingMode")) {
+ linkingMode = _json["linkingMode"];
+ }
+ if (_json.containsKey("objectId")) {
+ objectId = _json["objectId"];
+ }
+ if (_json.containsKey("spreadsheetId")) {
+ spreadsheetId = _json["spreadsheetId"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (chartId != null) {
+ _json["chartId"] = chartId;
+ }
+ if (elementProperties != null) {
+ _json["elementProperties"] = (elementProperties).toJson();
+ }
+ if (linkingMode != null) {
+ _json["linkingMode"] = linkingMode;
+ }
+ if (objectId != null) {
+ _json["objectId"] = objectId;
+ }
+ if (spreadsheetId != null) {
+ _json["spreadsheetId"] = spreadsheetId;
+ }
+ return _json;
+ }
+}
+
+/** The result of creating an embedded Google Sheets chart. */
+class CreateSheetsChartResponse {
+ /** The object ID of the created chart. */
+ core.String objectId;
+
+ CreateSheetsChartResponse();
+
+ CreateSheetsChartResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("objectId")) {
+ objectId = _json["objectId"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (objectId != null) {
+ _json["objectId"] = objectId;
+ }
+ return _json;
+ }
+}
+
+/** Creates a new slide. */
+class CreateSlideRequest {
+ /**
+ * 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.
+ */
+ core.int insertionIndex;
+ /**
+ * 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.
+ */
+ core.String objectId;
+ /**
+ * Layout reference of the slide to be inserted, based on the *current
+ * master*, which is one of the following:
+ *
+ * - The master of the previous slide index.
+ * - The master of the first slide, if the insertion_index is zero.
+ * - The first master in the presentation, if there are no slides.
+ *
+ * If the LayoutReference is not found in the current master, a 400 bad
+ * request error is returned.
+ *
+ * If you don't specify a layout reference, then the new slide will use the
+ * predefined layout `BLANK`.
+ */
+ LayoutReference slideLayoutReference;
+
+ CreateSlideRequest();
+
+ CreateSlideRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("insertionIndex")) {
+ insertionIndex = _json["insertionIndex"];
+ }
+ if (_json.containsKey("objectId")) {
+ objectId = _json["objectId"];
+ }
+ if (_json.containsKey("slideLayoutReference")) {
+ slideLayoutReference = new LayoutReference.fromJson(_json["slideLayoutReference"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (insertionIndex != null) {
+ _json["insertionIndex"] = insertionIndex;
+ }
+ if (objectId != null) {
+ _json["objectId"] = objectId;
+ }
+ if (slideLayoutReference != null) {
+ _json["slideLayoutReference"] = (slideLayoutReference).toJson();
+ }
+ return _json;
+ }
+}
+
+/** The result of creating a slide. */
+class CreateSlideResponse {
+ /** The object ID of the created slide. */
+ core.String objectId;
+
+ CreateSlideResponse();
+
+ CreateSlideResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("objectId")) {
+ objectId = _json["objectId"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (objectId != null) {
+ _json["objectId"] = objectId;
+ }
+ return _json;
+ }
+}
+
+/** Creates a new table. */
+class CreateTableRequest {
+ /** Number of columns in the table. */
+ core.int columns;
+ /**
+ * The element properties for the table.
+ *
+ * The table will be created at the provided size, subject to a minimum size.
+ * If no size is provided, the table will be automatically sized.
+ *
+ * Table transforms must have a scale of 1 and no shear components. If no
+ * transform is provided, the table will be centered on the page.
+ */
+ PageElementProperties elementProperties;
+ /**
+ * 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.
+ */
+ core.String objectId;
+ /** Number of rows in the table. */
+ core.int rows;
+
+ CreateTableRequest();
+
+ CreateTableRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("columns")) {
+ columns = _json["columns"];
+ }
+ if (_json.containsKey("elementProperties")) {
+ elementProperties = new PageElementProperties.fromJson(_json["elementProperties"]);
+ }
+ if (_json.containsKey("objectId")) {
+ objectId = _json["objectId"];
+ }
+ if (_json.containsKey("rows")) {
+ rows = _json["rows"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (columns != null) {
+ _json["columns"] = columns;
+ }
+ if (elementProperties != null) {
+ _json["elementProperties"] = (elementProperties).toJson();
+ }
+ if (objectId != null) {
+ _json["objectId"] = objectId;
+ }
+ if (rows != null) {
+ _json["rows"] = rows;
+ }
+ return _json;
+ }
+}
+
+/** The result of creating a table. */
+class CreateTableResponse {
+ /** The object ID of the created table. */
+ core.String objectId;
+
+ CreateTableResponse();
+
+ CreateTableResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("objectId")) {
+ objectId = _json["objectId"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (objectId != null) {
+ _json["objectId"] = objectId;
+ }
+ return _json;
+ }
+}
+
+/** Creates a video. */
+class CreateVideoRequest {
+ /** The element properties for the video. */
+ PageElementProperties elementProperties;
+ /**
+ * 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.
+ */
+ core.String 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.
+ */
+ core.String objectId;
+ /**
+ * The video source.
+ * Possible string values are:
+ * - "SOURCE_UNSPECIFIED" : The video source is unspecified.
+ * - "YOUTUBE" : The video source is YouTube.
+ */
+ core.String source;
+
+ CreateVideoRequest();
+
+ CreateVideoRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("elementProperties")) {
+ elementProperties = new PageElementProperties.fromJson(_json["elementProperties"]);
+ }
+ if (_json.containsKey("id")) {
+ id = _json["id"];
+ }
+ if (_json.containsKey("objectId")) {
+ objectId = _json["objectId"];
+ }
+ if (_json.containsKey("source")) {
+ source = _json["source"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (elementProperties != null) {
+ _json["elementProperties"] = (elementProperties).toJson();
+ }
+ if (id != null) {
+ _json["id"] = id;
+ }
+ if (objectId != null) {
+ _json["objectId"] = objectId;
+ }
+ if (source != null) {
+ _json["source"] = source;
+ }
+ return _json;
+ }
+}
+
+/** The result of creating a video. */
+class CreateVideoResponse {
+ /** The object ID of the created video. */
+ core.String objectId;
+
+ CreateVideoResponse();
+
+ CreateVideoResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("objectId")) {
+ objectId = _json["objectId"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (objectId != null) {
+ _json["objectId"] = objectId;
+ }
+ return _json;
+ }
+}
+
+/**
+ * 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 {
+ /**
+ * The rotation angle of the crop window around its center, in radians.
+ * Rotation angle is applied after the offset.
+ */
+ core.double 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.
+ */
+ core.double bottomOffset;
+ /**
+ * 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.
+ */
+ core.double leftOffset;
+ /**
+ * 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.
+ */
+ core.double rightOffset;
+ /**
+ * 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.
+ */
+ core.double topOffset;
+
+ CropProperties();
+
+ CropProperties.fromJson(core.Map _json) {
+ if (_json.containsKey("angle")) {
+ angle = _json["angle"];
+ }
+ if (_json.containsKey("bottomOffset")) {
+ bottomOffset = _json["bottomOffset"];
+ }
+ if (_json.containsKey("leftOffset")) {
+ leftOffset = _json["leftOffset"];
+ }
+ if (_json.containsKey("rightOffset")) {
+ rightOffset = _json["rightOffset"];
+ }
+ if (_json.containsKey("topOffset")) {
+ topOffset = _json["topOffset"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (angle != null) {
+ _json["angle"] = angle;
+ }
+ if (bottomOffset != null) {
+ _json["bottomOffset"] = bottomOffset;
+ }
+ if (leftOffset != null) {
+ _json["leftOffset"] = leftOffset;
+ }
+ if (rightOffset != null) {
+ _json["rightOffset"] = rightOffset;
+ }
+ if (topOffset != null) {
+ _json["topOffset"] = topOffset;
+ }
+ return _json;
+ }
+}
+
+/**
+ * Deletes an object, either pages or
+ * page elements, from the
+ * presentation.
+ */
+class DeleteObjectRequest {
+ /**
+ * 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.
+ */
+ core.String objectId;
+
+ DeleteObjectRequest();
+
+ DeleteObjectRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("objectId")) {
+ objectId = _json["objectId"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (objectId != null) {
+ _json["objectId"] = objectId;
+ }
+ return _json;
+ }
+}
+
+/** Deletes a column from a table. */
+class DeleteTableColumnRequest {
+ /**
+ * The reference table cell location from which a column will be deleted.
+ *
+ * The column this cell spans will be deleted. If this is a merged cell,
+ * multiple columns will be deleted. If no columns remain in the table after
+ * this deletion, the whole table is deleted.
+ */
+ TableCellLocation cellLocation;
+ /** The table to delete columns from. */
+ core.String tableObjectId;
+
+ DeleteTableColumnRequest();
+
+ DeleteTableColumnRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("cellLocation")) {
+ cellLocation = new TableCellLocation.fromJson(_json["cellLocation"]);
+ }
+ if (_json.containsKey("tableObjectId")) {
+ tableObjectId = _json["tableObjectId"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (cellLocation != null) {
+ _json["cellLocation"] = (cellLocation).toJson();
+ }
+ if (tableObjectId != null) {
+ _json["tableObjectId"] = tableObjectId;
+ }
+ return _json;
+ }
+}
+
+/** Deletes a row from a table. */
+class DeleteTableRowRequest {
+ /**
+ * The reference table cell location from which a row will be deleted.
+ *
+ * The row this cell spans will be deleted. If this is a merged cell, multiple
+ * rows will be deleted. If no rows remain in the table after this deletion,
+ * the whole table is deleted.
+ */
+ TableCellLocation cellLocation;
+ /** The table to delete rows from. */
+ core.String tableObjectId;
+
+ DeleteTableRowRequest();
+
+ DeleteTableRowRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("cellLocation")) {
+ cellLocation = new TableCellLocation.fromJson(_json["cellLocation"]);
+ }
+ if (_json.containsKey("tableObjectId")) {
+ tableObjectId = _json["tableObjectId"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (cellLocation != null) {
+ _json["cellLocation"] = (cellLocation).toJson();
+ }
+ if (tableObjectId != null) {
+ _json["tableObjectId"] = tableObjectId;
+ }
+ return _json;
+ }
+}
+
+/** Deletes text from a shape or a table cell. */
+class DeleteTextRequest {
+ /**
+ * The optional table cell location if the text is to be deleted from a table
+ * cell. If present, the object_id must refer to a table.
+ */
+ TableCellLocation cellLocation;
+ /**
+ * The object ID of the shape or table from which the text will be deleted.
+ */
+ core.String objectId;
+ /**
+ * The range of text to delete, based on TextElement indexes.
+ *
+ * There is always an implicit newline character at the end of a shape's or
+ * table cell's text that cannot be deleted. `Range.Type.ALL` will use the
+ * correct bounds, but care must be taken when specifying explicit bounds for
+ * range types `FROM_START_INDEX` and `FIXED_RANGE`. For example, if the text
+ * is "ABC", followed by an implicit newline, then the maximum value is 2 for
+ * `text_range.start_index` and 3 for `text_range.end_index`.
+ *
+ * Deleting text that crosses a paragraph boundary may result in changes
+ * to paragraph styles and lists as the two paragraphs are merged.
+ *
+ * Ranges that include only one code unit of a surrogate pair are expanded to
+ * include both code units.
+ */
+ Range textRange;
+
+ DeleteTextRequest();
+
+ DeleteTextRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("cellLocation")) {
+ cellLocation = new TableCellLocation.fromJson(_json["cellLocation"]);
+ }
+ if (_json.containsKey("objectId")) {
+ objectId = _json["objectId"];
+ }
+ if (_json.containsKey("textRange")) {
+ textRange = new Range.fromJson(_json["textRange"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (cellLocation != null) {
+ _json["cellLocation"] = (cellLocation).toJson();
+ }
+ if (objectId != null) {
+ _json["objectId"] = objectId;
+ }
+ if (textRange != null) {
+ _json["textRange"] = (textRange).toJson();
+ }
+ return _json;
+ }
+}
+
+/** A magnitude in a single direction in the specified units. */
+class Dimension {
+ /** The magnitude. */
+ core.double magnitude;
+ /**
+ * The units for magnitude.
+ * Possible string values are:
+ * - "UNIT_UNSPECIFIED" : The units are unknown.
+ * - "EMU" : An English Metric Unit (EMU) is defined as 1/360,000 of a
+ * centimeter
+ * and thus there are 914,400 EMUs per inch, and 12,700 EMUs per point.
+ * - "PT" : A point, 1/72 of an inch.
+ */
+ core.String unit;
+
+ Dimension();
+
+ Dimension.fromJson(core.Map _json) {
+ if (_json.containsKey("magnitude")) {
+ magnitude = _json["magnitude"];
+ }
+ if (_json.containsKey("unit")) {
+ unit = _json["unit"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (magnitude != null) {
+ _json["magnitude"] = magnitude;
+ }
+ if (unit != null) {
+ _json["unit"] = unit;
+ }
+ return _json;
+ }
+}
+
+/**
+ * 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 {
+ /** The ID of the object to duplicate. */
+ core.String objectId;
+ /**
+ * 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.
+ */
+ core.Map<core.String, core.String> objectIds;
+
+ DuplicateObjectRequest();
+
+ DuplicateObjectRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("objectId")) {
+ objectId = _json["objectId"];
+ }
+ if (_json.containsKey("objectIds")) {
+ objectIds = _json["objectIds"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (objectId != null) {
+ _json["objectId"] = objectId;
+ }
+ if (objectIds != null) {
+ _json["objectIds"] = objectIds;
+ }
+ return _json;
+ }
+}
+
+/** The response of duplicating an object. */
+class DuplicateObjectResponse {
+ /** The ID of the new duplicate object. */
+ core.String objectId;
+
+ DuplicateObjectResponse();
+
+ DuplicateObjectResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("objectId")) {
+ objectId = _json["objectId"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (objectId != null) {
+ _json["objectId"] = objectId;
+ }
+ return _json;
+ }
+}
+
+/**
+ * A PageElement kind representing a
+ * joined collection of PageElements.
+ */
+class Group {
+ /**
+ * The collection of elements in the group. The minimum size of a group is 2.
+ */
+ core.List<PageElement> children;
+
+ Group();
+
+ Group.fromJson(core.Map _json) {
+ if (_json.containsKey("children")) {
+ children = _json["children"].map((value) => new PageElement.fromJson(value)).toList();
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (children != null) {
+ _json["children"] = children.map((value) => (value).toJson()).toList();
+ }
+ return _json;
+ }
+}
+
+/**
+ * A PageElement kind representing an
+ * image.
+ */
+class Image {
+ /**
+ * 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.
+ */
+ core.String contentUrl;
+ /** The properties of the image. */
+ ImageProperties imageProperties;
+
+ Image();
+
+ Image.fromJson(core.Map _json) {
+ if (_json.containsKey("contentUrl")) {
+ contentUrl = _json["contentUrl"];
+ }
+ if (_json.containsKey("imageProperties")) {
+ imageProperties = new ImageProperties.fromJson(_json["imageProperties"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (contentUrl != null) {
+ _json["contentUrl"] = contentUrl;
+ }
+ if (imageProperties != null) {
+ _json["imageProperties"] = (imageProperties).toJson();
+ }
+ return _json;
+ }
+}
+
+/** The properties of the Image. */
+class ImageProperties {
+ /**
+ * 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.
+ */
+ core.double 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.
+ */
+ core.double contrast;
+ /**
+ * The crop properties of the image. If not set, the image is not cropped.
+ * This property is read-only.
+ */
+ CropProperties cropProperties;
+ /** The hyperlink destination of the image. If unset, there is no link. */
+ Link link;
+ /** The outline of the image. If not set, the the image has no outline. */
+ Outline outline;
+ /**
+ * The recolor effect of the image. If not set, the image is not recolored.
+ * This property is read-only.
+ */
+ Recolor recolor;
+ /**
+ * The shadow of the image. If not set, the image has no shadow. This property
+ * is read-only.
+ */
+ Shadow 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.
+ */
+ core.double transparency;
+
+ ImageProperties();
+
+ ImageProperties.fromJson(core.Map _json) {
+ if (_json.containsKey("brightness")) {
+ brightness = _json["brightness"];
+ }
+ if (_json.containsKey("contrast")) {
+ contrast = _json["contrast"];
+ }
+ if (_json.containsKey("cropProperties")) {
+ cropProperties = new CropProperties.fromJson(_json["cropProperties"]);
+ }
+ if (_json.containsKey("link")) {
+ link = new Link.fromJson(_json["link"]);
+ }
+ if (_json.containsKey("outline")) {
+ outline = new Outline.fromJson(_json["outline"]);
+ }
+ if (_json.containsKey("recolor")) {
+ recolor = new Recolor.fromJson(_json["recolor"]);
+ }
+ if (_json.containsKey("shadow")) {
+ shadow = new Shadow.fromJson(_json["shadow"]);
+ }
+ if (_json.containsKey("transparency")) {
+ transparency = _json["transparency"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (brightness != null) {
+ _json["brightness"] = brightness;
+ }
+ if (contrast != null) {
+ _json["contrast"] = contrast;
+ }
+ if (cropProperties != null) {
+ _json["cropProperties"] = (cropProperties).toJson();
+ }
+ if (link != null) {
+ _json["link"] = (link).toJson();
+ }
+ if (outline != null) {
+ _json["outline"] = (outline).toJson();
+ }
+ if (recolor != null) {
+ _json["recolor"] = (recolor).toJson();
+ }
+ if (shadow != null) {
+ _json["shadow"] = (shadow).toJson();
+ }
+ if (transparency != null) {
+ _json["transparency"] = transparency;
+ }
+ return _json;
+ }
+}
+
+/**
+ * Inserts columns into a table.
+ *
+ * Other columns in the table will be resized to fit the new column.
+ */
+class InsertTableColumnsRequest {
+ /**
+ * The reference table cell location from which columns will be inserted.
+ *
+ * A new column will be inserted to the left (or right) of the column where
+ * the reference cell is. If the reference cell is a merged cell, a new
+ * column will be inserted to the left (or right) of the merged cell.
+ */
+ TableCellLocation cellLocation;
+ /**
+ * Whether to insert new columns to the right of the reference cell location.
+ *
+ * - `True`: insert to the right.
+ * - `False`: insert to the left.
+ */
+ core.bool insertRight;
+ /** The number of columns to be inserted. Maximum 20 per request. */
+ core.int number;
+ /** The table to insert columns into. */
+ core.String tableObjectId;
+
+ InsertTableColumnsRequest();
+
+ InsertTableColumnsRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("cellLocation")) {
+ cellLocation = new TableCellLocation.fromJson(_json["cellLocation"]);
+ }
+ if (_json.containsKey("insertRight")) {
+ insertRight = _json["insertRight"];
+ }
+ if (_json.containsKey("number")) {
+ number = _json["number"];
+ }
+ if (_json.containsKey("tableObjectId")) {
+ tableObjectId = _json["tableObjectId"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (cellLocation != null) {
+ _json["cellLocation"] = (cellLocation).toJson();
+ }
+ if (insertRight != null) {
+ _json["insertRight"] = insertRight;
+ }
+ if (number != null) {
+ _json["number"] = number;
+ }
+ if (tableObjectId != null) {
+ _json["tableObjectId"] = tableObjectId;
+ }
+ return _json;
+ }
+}
+
+/** Inserts rows into a table. */
+class InsertTableRowsRequest {
+ /**
+ * The reference table cell location from which rows will be inserted.
+ *
+ * A new row will be inserted above (or below) the row where the reference
+ * cell is. If the reference cell is a merged cell, a new row will be
+ * inserted above (or below) the merged cell.
+ */
+ TableCellLocation cellLocation;
+ /**
+ * Whether to insert new rows below the reference cell location.
+ *
+ * - `True`: insert below the cell.
+ * - `False`: insert above the cell.
+ */
+ core.bool insertBelow;
+ /** The number of rows to be inserted. Maximum 20 per request. */
+ core.int number;
+ /** The table to insert rows into. */
+ core.String tableObjectId;
+
+ InsertTableRowsRequest();
+
+ InsertTableRowsRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("cellLocation")) {
+ cellLocation = new TableCellLocation.fromJson(_json["cellLocation"]);
+ }
+ if (_json.containsKey("insertBelow")) {
+ insertBelow = _json["insertBelow"];
+ }
+ if (_json.containsKey("number")) {
+ number = _json["number"];
+ }
+ if (_json.containsKey("tableObjectId")) {
+ tableObjectId = _json["tableObjectId"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (cellLocation != null) {
+ _json["cellLocation"] = (cellLocation).toJson();
+ }
+ if (insertBelow != null) {
+ _json["insertBelow"] = insertBelow;
+ }
+ if (number != null) {
+ _json["number"] = number;
+ }
+ if (tableObjectId != null) {
+ _json["tableObjectId"] = tableObjectId;
+ }
+ return _json;
+ }
+}
+
+/** Inserts text into a shape or a table cell. */
+class InsertTextRequest {
+ /**
+ * The optional table cell location if the text is to be inserted into a table
+ * cell. If present, the object_id must refer to a table.
+ */
+ TableCellLocation cellLocation;
+ /**
+ * 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.
+ */
+ core.int insertionIndex;
+ /** The object ID of the shape or table where the text will be inserted. */
+ core.String objectId;
+ /**
+ * 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.
+ */
+ core.String text;
+
+ InsertTextRequest();
+
+ InsertTextRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("cellLocation")) {
+ cellLocation = new TableCellLocation.fromJson(_json["cellLocation"]);
+ }
+ if (_json.containsKey("insertionIndex")) {
+ insertionIndex = _json["insertionIndex"];
+ }
+ if (_json.containsKey("objectId")) {
+ objectId = _json["objectId"];
+ }
+ if (_json.containsKey("text")) {
+ text = _json["text"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (cellLocation != null) {
+ _json["cellLocation"] = (cellLocation).toJson();
+ }
+ if (insertionIndex != null) {
+ _json["insertionIndex"] = insertionIndex;
+ }
+ if (objectId != null) {
+ _json["objectId"] = objectId;
+ }
+ if (text != null) {
+ _json["text"] = text;
+ }
+ return _json;
+ }
+}
+
+/**
+ * The properties of Page are only
+ * relevant for pages with page_type LAYOUT.
+ */
+class LayoutProperties {
+ /** The human readable name of the layout in the presentation's locale. */
+ core.String displayName;
+ /** The object ID of the master that this layout is based on. */
+ core.String masterObjectId;
+ /** The name of the layout. */
+ core.String name;
+
+ LayoutProperties();
+
+ LayoutProperties.fromJson(core.Map _json) {
+ if (_json.containsKey("displayName")) {
+ displayName = _json["displayName"];
+ }
+ if (_json.containsKey("masterObjectId")) {
+ masterObjectId = _json["masterObjectId"];
+ }
+ if (_json.containsKey("name")) {
+ name = _json["name"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (displayName != null) {
+ _json["displayName"] = displayName;
+ }
+ if (masterObjectId != null) {
+ _json["masterObjectId"] = masterObjectId;
+ }
+ if (name != null) {
+ _json["name"] = name;
+ }
+ return _json;
+ }
+}
+
+/**
+ * Slide layout reference. This may reference either:
+ *
+ * - A predefined layout
+ * - One of the layouts in the presentation.
+ */
+class LayoutReference {
+ /** Layout ID: the object ID of one of the layouts in the presentation. */
+ core.String layoutId;
+ /**
+ * Predefined layout.
+ * Possible string values are:
+ * - "PREDEFINED_LAYOUT_UNSPECIFIED" : Unspecified layout.
+ * - "BLANK" : Blank layout, with no placeholders.
+ * - "CAPTION_ONLY" : Layout with a caption at the bottom.
+ * - "TITLE" : Layout with a title and a subtitle.
+ * - "TITLE_AND_BODY" : Layout with a title and body.
+ * - "TITLE_AND_TWO_COLUMNS" : Layout with a title and two columns.
+ * - "TITLE_ONLY" : Layout with only a title.
+ * - "SECTION_HEADER" : Layout with a section title.
+ * - "SECTION_TITLE_AND_DESCRIPTION" : Layout with a title and subtitle on one
+ * side and description on the other.
+ * - "ONE_COLUMN_TEXT" : Layout with one title and one body, arranged in a
+ * single column.
+ * - "MAIN_POINT" : Layout with a main point.
+ * - "BIG_NUMBER" : Layout with a big number heading.
+ */
+ core.String predefinedLayout;
+
+ LayoutReference();
+
+ LayoutReference.fromJson(core.Map _json) {
+ if (_json.containsKey("layoutId")) {
+ layoutId = _json["layoutId"];
+ }
+ if (_json.containsKey("predefinedLayout")) {
+ predefinedLayout = _json["predefinedLayout"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (layoutId != null) {
+ _json["layoutId"] = layoutId;
+ }
+ if (predefinedLayout != null) {
+ _json["predefinedLayout"] = predefinedLayout;
+ }
+ return _json;
+ }
+}
+
+/**
+ * A PageElement kind representing a
+ * line, curved connector, or bent connector.
+ */
+class Line {
+ /** The properties of the line. */
+ LineProperties lineProperties;
+ /**
+ * The type of the line.
+ * Possible string values are:
+ * - "TYPE_UNSPECIFIED" : An unspecified line type.
+ * - "STRAIGHT_CONNECTOR_1" : Straight connector 1 form. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'straightConnector1'.
+ * - "BENT_CONNECTOR_2" : Bent connector 2 form. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'bentConnector2'.
+ * - "BENT_CONNECTOR_3" : Bent connector 3 form. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'bentConnector3'.
+ * - "BENT_CONNECTOR_4" : Bent connector 4 form. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'bentConnector4'.
+ * - "BENT_CONNECTOR_5" : Bent connector 5 form. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'bentConnector5'.
+ * - "CURVED_CONNECTOR_2" : Curved connector 2 form. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'curvedConnector2'.
+ * - "CURVED_CONNECTOR_3" : Curved connector 3 form. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'curvedConnector3'.
+ * - "CURVED_CONNECTOR_4" : Curved connector 4 form. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'curvedConnector4'.
+ * - "CURVED_CONNECTOR_5" : Curved connector 5 form. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'curvedConnector5'.
+ */
+ core.String lineType;
+
+ Line();
+
+ Line.fromJson(core.Map _json) {
+ if (_json.containsKey("lineProperties")) {
+ lineProperties = new LineProperties.fromJson(_json["lineProperties"]);
+ }
+ if (_json.containsKey("lineType")) {
+ lineType = _json["lineType"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (lineProperties != null) {
+ _json["lineProperties"] = (lineProperties).toJson();
+ }
+ if (lineType != null) {
+ _json["lineType"] = lineType;
+ }
+ return _json;
+ }
+}
+
+/** The fill of the line. */
+class LineFill {
+ /** Solid color fill. */
+ SolidFill solidFill;
+
+ LineFill();
+
+ LineFill.fromJson(core.Map _json) {
+ if (_json.containsKey("solidFill")) {
+ solidFill = new SolidFill.fromJson(_json["solidFill"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (solidFill != null) {
+ _json["solidFill"] = (solidFill).toJson();
+ }
+ return _json;
+ }
+}
+
+/**
+ * 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 {
+ /**
+ * The dash style of the line.
+ * Possible string values are:
+ * - "DASH_STYLE_UNSPECIFIED" : Unspecified dash style.
+ * - "SOLID" : Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal value
+ * 'solid'.
+ * This is the default dash style.
+ * - "DOT" : Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal value
+ * 'dot'.
+ * - "DASH" : Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal value
+ * 'dash'.
+ * - "DASH_DOT" : Alternating dashes and dots. Corresponds to ECMA-376
+ * ST_PresetLineDashVal
+ * value 'dashDot'.
+ * - "LONG_DASH" : Line with large dashes. Corresponds to ECMA-376
+ * ST_PresetLineDashVal
+ * value 'lgDash'.
+ * - "LONG_DASH_DOT" : Alternating large dashes and dots. Corresponds to
+ * ECMA-376
+ * ST_PresetLineDashVal value 'lgDashDot'.
+ */
+ core.String dashStyle;
+ /**
+ * The style of the arrow at the end of the line.
+ * Possible string values are:
+ * - "ARROW_STYLE_UNSPECIFIED" : An unspecified arrow style.
+ * - "NONE" : No arrow.
+ * - "STEALTH_ARROW" : Arrow with notched back. Corresponds to ECMA-376
+ * ST_LineEndType value
+ * 'stealth'.
+ * - "FILL_ARROW" : Filled arrow. Corresponds to ECMA-376 ST_LineEndType value
+ * 'triangle'.
+ * - "FILL_CIRCLE" : Filled circle. Corresponds to ECMA-376 ST_LineEndType
+ * value 'oval'.
+ * - "FILL_SQUARE" : Filled square.
+ * - "FILL_DIAMOND" : Filled diamond. Corresponds to ECMA-376 ST_LineEndType
+ * value 'diamond'.
+ * - "OPEN_ARROW" : Hollow arrow.
+ * - "OPEN_CIRCLE" : Hollow circle.
+ * - "OPEN_SQUARE" : Hollow square.
+ * - "OPEN_DIAMOND" : Hollow diamond.
+ */
+ core.String endArrow;
+ /**
+ * The fill of the line. The default line fill matches the defaults for new
+ * lines created in the Slides editor.
+ */
+ LineFill lineFill;
+ /** The hyperlink destination of the line. If unset, there is no link. */
+ Link link;
+ /**
+ * The style of the arrow at the beginning of the line.
+ * Possible string values are:
+ * - "ARROW_STYLE_UNSPECIFIED" : An unspecified arrow style.
+ * - "NONE" : No arrow.
+ * - "STEALTH_ARROW" : Arrow with notched back. Corresponds to ECMA-376
+ * ST_LineEndType value
+ * 'stealth'.
+ * - "FILL_ARROW" : Filled arrow. Corresponds to ECMA-376 ST_LineEndType value
+ * 'triangle'.
+ * - "FILL_CIRCLE" : Filled circle. Corresponds to ECMA-376 ST_LineEndType
+ * value 'oval'.
+ * - "FILL_SQUARE" : Filled square.
+ * - "FILL_DIAMOND" : Filled diamond. Corresponds to ECMA-376 ST_LineEndType
+ * value 'diamond'.
+ * - "OPEN_ARROW" : Hollow arrow.
+ * - "OPEN_CIRCLE" : Hollow circle.
+ * - "OPEN_SQUARE" : Hollow square.
+ * - "OPEN_DIAMOND" : Hollow diamond.
+ */
+ core.String startArrow;
+ /** The thickness of the line. */
+ Dimension weight;
+
+ LineProperties();
+
+ LineProperties.fromJson(core.Map _json) {
+ if (_json.containsKey("dashStyle")) {
+ dashStyle = _json["dashStyle"];
+ }
+ if (_json.containsKey("endArrow")) {
+ endArrow = _json["endArrow"];
+ }
+ if (_json.containsKey("lineFill")) {
+ lineFill = new LineFill.fromJson(_json["lineFill"]);
+ }
+ if (_json.containsKey("link")) {
+ link = new Link.fromJson(_json["link"]);
+ }
+ if (_json.containsKey("startArrow")) {
+ startArrow = _json["startArrow"];
+ }
+ if (_json.containsKey("weight")) {
+ weight = new Dimension.fromJson(_json["weight"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (dashStyle != null) {
+ _json["dashStyle"] = dashStyle;
+ }
+ if (endArrow != null) {
+ _json["endArrow"] = endArrow;
+ }
+ if (lineFill != null) {
+ _json["lineFill"] = (lineFill).toJson();
+ }
+ if (link != null) {
+ _json["link"] = (link).toJson();
+ }
+ if (startArrow != null) {
+ _json["startArrow"] = startArrow;
+ }
+ if (weight != null) {
+ _json["weight"] = (weight).toJson();
+ }
+ return _json;
+ }
+}
+
+/** A hypertext link. */
+class Link {
+ /**
+ * 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.
+ */
+ core.String pageObjectId;
+ /**
+ * If set, indicates this is a link to a slide in this presentation,
+ * addressed by its position.
+ * Possible string values are:
+ * - "RELATIVE_SLIDE_LINK_UNSPECIFIED" : An unspecified relative slide link.
+ * - "NEXT_SLIDE" : A link to the next slide.
+ * - "PREVIOUS_SLIDE" : A link to the previous slide.
+ * - "FIRST_SLIDE" : A link to the first slide in the presentation.
+ * - "LAST_SLIDE" : A link to the last slide in the presentation.
+ */
+ core.String relativeLink;
+ /**
+ * 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.
+ */
+ core.int slideIndex;
+ /** If set, indicates this is a link to the external web page at this URL. */
+ core.String url;
+
+ Link();
+
+ Link.fromJson(core.Map _json) {
+ if (_json.containsKey("pageObjectId")) {
+ pageObjectId = _json["pageObjectId"];
+ }
+ if (_json.containsKey("relativeLink")) {
+ relativeLink = _json["relativeLink"];
+ }
+ if (_json.containsKey("slideIndex")) {
+ slideIndex = _json["slideIndex"];
+ }
+ if (_json.containsKey("url")) {
+ url = _json["url"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (pageObjectId != null) {
+ _json["pageObjectId"] = pageObjectId;
+ }
+ if (relativeLink != null) {
+ _json["relativeLink"] = relativeLink;
+ }
+ if (slideIndex != null) {
+ _json["slideIndex"] = slideIndex;
+ }
+ if (url != null) {
+ _json["url"] = url;
+ }
+ return _json;
+ }
+}
+
+/**
+ * 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 {
+ /** The ID of the list. */
+ core.String listId;
+ /**
+ * 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.
+ */
+ core.Map<core.String, NestingLevel> nestingLevel;
+
+ List();
+
+ List.fromJson(core.Map _json) {
+ if (_json.containsKey("listId")) {
+ listId = _json["listId"];
+ }
+ if (_json.containsKey("nestingLevel")) {
+ nestingLevel = commons.mapMap(_json["nestingLevel"], (item) => new NestingLevel.fromJson(item));
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (listId != null) {
+ _json["listId"] = listId;
+ }
+ if (nestingLevel != null) {
+ _json["nestingLevel"] = commons.mapMap(nestingLevel, (item) => (item).toJson());
+ }
+ return _json;
+ }
+}
+
+/**
+ * Contains properties describing the look and feel of a list bullet at a given
+ * level of nesting.
+ */
+class NestingLevel {
+ /** The style of a bullet at this level of nesting. */
+ TextStyle bulletStyle;
+
+ NestingLevel();
+
+ NestingLevel.fromJson(core.Map _json) {
+ if (_json.containsKey("bulletStyle")) {
+ bulletStyle = new TextStyle.fromJson(_json["bulletStyle"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (bulletStyle != null) {
+ _json["bulletStyle"] = (bulletStyle).toJson();
+ }
+ return _json;
+ }
+}
+
+/** A themeable solid color value. */
+class OpaqueColor {
+ /** An opaque RGB color. */
+ RgbColor rgbColor;
+ /**
+ * An opaque theme color.
+ * Possible string values are:
+ * - "THEME_COLOR_TYPE_UNSPECIFIED" : Unspecified theme color. This value
+ * should not be used.
+ * - "DARK1" : Represents the first dark color.
+ * - "LIGHT1" : Represents the first light color.
+ * - "DARK2" : Represents the second dark color.
+ * - "LIGHT2" : Represents the second light color.
+ * - "ACCENT1" : Represents the first accent color.
+ * - "ACCENT2" : Represents the second accent color.
+ * - "ACCENT3" : Represents the third accent color.
+ * - "ACCENT4" : Represents the fourth accent color.
+ * - "ACCENT5" : Represents the fifth accent color.
+ * - "ACCENT6" : Represents the sixth accent color.
+ * - "HYPERLINK" : Represents the color to use for hyperlinks.
+ * - "FOLLOWED_HYPERLINK" : Represents the color to use for visited
+ * hyperlinks.
+ * - "TEXT1" : Represents the first text color.
+ * - "BACKGROUND1" : Represents the first background color.
+ * - "TEXT2" : Represents the second text color.
+ * - "BACKGROUND2" : Represents the second background color.
+ */
+ core.String themeColor;
+
+ OpaqueColor();
+
+ OpaqueColor.fromJson(core.Map _json) {
+ if (_json.containsKey("rgbColor")) {
+ rgbColor = new RgbColor.fromJson(_json["rgbColor"]);
+ }
+ if (_json.containsKey("themeColor")) {
+ themeColor = _json["themeColor"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (rgbColor != null) {
+ _json["rgbColor"] = (rgbColor).toJson();
+ }
+ if (themeColor != null) {
+ _json["themeColor"] = themeColor;
+ }
+ return _json;
+ }
+}
+
+/** A color that can either be fully opaque or fully transparent. */
+class OptionalColor {
+ /**
+ * If set, this will be used as an opaque color. If unset, this represents
+ * a transparent color.
+ */
+ OpaqueColor opaqueColor;
+
+ OptionalColor();
+
+ OptionalColor.fromJson(core.Map _json) {
+ if (_json.containsKey("opaqueColor")) {
+ opaqueColor = new OpaqueColor.fromJson(_json["opaqueColor"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (opaqueColor != null) {
+ _json["opaqueColor"] = (opaqueColor).toJson();
+ }
+ return _json;
+ }
+}
+
+/**
+ * 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 {
+ /**
+ * The dash style of the outline.
+ * Possible string values are:
+ * - "DASH_STYLE_UNSPECIFIED" : Unspecified dash style.
+ * - "SOLID" : Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal value
+ * 'solid'.
+ * This is the default dash style.
+ * - "DOT" : Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal value
+ * 'dot'.
+ * - "DASH" : Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal value
+ * 'dash'.
+ * - "DASH_DOT" : Alternating dashes and dots. Corresponds to ECMA-376
+ * ST_PresetLineDashVal
+ * value 'dashDot'.
+ * - "LONG_DASH" : Line with large dashes. Corresponds to ECMA-376
+ * ST_PresetLineDashVal
+ * value 'lgDash'.
+ * - "LONG_DASH_DOT" : Alternating large dashes and dots. Corresponds to
+ * ECMA-376
+ * ST_PresetLineDashVal value 'lgDashDot'.
+ */
+ core.String dashStyle;
+ /** The fill of the outline. */
+ OutlineFill outlineFill;
+ /**
+ * The outline property state.
+ *
+ * Updating the 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.
+ * Possible string values are:
+ * - "RENDERED" : If a property's state is RENDERED, then the element has the
+ * corresponding
+ * property when rendered on a page. If the element is a placeholder shape as
+ * determined by the placeholder
+ * field, and it inherits from a placeholder shape, the corresponding field
+ * may be unset, meaning that the property value is inherited from a parent
+ * placeholder. If the element does not inherit, then the field will contain
+ * the rendered value. This is the default value.
+ * - "NOT_RENDERED" : If a property's state is NOT_RENDERED, then the element
+ * does not have the
+ * corresponding property when rendered on a page. However, the field may
+ * still be set so it can be inherited by child shapes. To remove a property
+ * from a rendered element, set its property_state to NOT_RENDERED.
+ * - "INHERIT" : If a property's state is INHERIT, then the property state
+ * uses the value of
+ * corresponding `property_state` field on the parent shape. Elements that do
+ * not inherit will never have an INHERIT property state.
+ */
+ core.String propertyState;
+ /** The thickness of the outline. */
+ Dimension weight;
+
+ Outline();
+
+ Outline.fromJson(core.Map _json) {
+ if (_json.containsKey("dashStyle")) {
+ dashStyle = _json["dashStyle"];
+ }
+ if (_json.containsKey("outlineFill")) {
+ outlineFill = new OutlineFill.fromJson(_json["outlineFill"]);
+ }
+ if (_json.containsKey("propertyState")) {
+ propertyState = _json["propertyState"];
+ }
+ if (_json.containsKey("weight")) {
+ weight = new Dimension.fromJson(_json["weight"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (dashStyle != null) {
+ _json["dashStyle"] = dashStyle;
+ }
+ if (outlineFill != null) {
+ _json["outlineFill"] = (outlineFill).toJson();
+ }
+ if (propertyState != null) {
+ _json["propertyState"] = propertyState;
+ }
+ if (weight != null) {
+ _json["weight"] = (weight).toJson();
+ }
+ return _json;
+ }
+}
+
+/** The fill of the outline. */
+class OutlineFill {
+ /** Solid color fill. */
+ SolidFill solidFill;
+
+ OutlineFill();
+
+ OutlineFill.fromJson(core.Map _json) {
+ if (_json.containsKey("solidFill")) {
+ solidFill = new SolidFill.fromJson(_json["solidFill"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (solidFill != null) {
+ _json["solidFill"] = (solidFill).toJson();
+ }
+ return _json;
+ }
+}
+
+/** A page in a presentation. */
+class Page {
+ /** Layout specific properties. Only set if page_type = LAYOUT. */
+ LayoutProperties layoutProperties;
+ /**
+ * The object ID for this page. Object IDs used by
+ * Page and
+ * PageElement share the same namespace.
+ */
+ core.String objectId;
+ /** The page elements rendered on the page. */
+ core.List<PageElement> pageElements;
+ /** The properties of the page. */
+ PageProperties pageProperties;
+ /**
+ * The type of the page.
+ * Possible string values are:
+ * - "SLIDE" : A slide page.
+ * - "MASTER" : A master slide page.
+ * - "LAYOUT" : A layout page.
+ */
+ core.String pageType;
+ /** Slide specific properties. Only set if page_type = SLIDE. */
+ SlideProperties slideProperties;
+
+ Page();
+
+ Page.fromJson(core.Map _json) {
+ if (_json.containsKey("layoutProperties")) {
+ layoutProperties = new LayoutProperties.fromJson(_json["layoutProperties"]);
+ }
+ if (_json.containsKey("objectId")) {
+ objectId = _json["objectId"];
+ }
+ if (_json.containsKey("pageElements")) {
+ pageElements = _json["pageElements"].map((value) => new PageElement.fromJson(value)).toList();
+ }
+ if (_json.containsKey("pageProperties")) {
+ pageProperties = new PageProperties.fromJson(_json["pageProperties"]);
+ }
+ if (_json.containsKey("pageType")) {
+ pageType = _json["pageType"];
+ }
+ if (_json.containsKey("slideProperties")) {
+ slideProperties = new SlideProperties.fromJson(_json["slideProperties"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (layoutProperties != null) {
+ _json["layoutProperties"] = (layoutProperties).toJson();
+ }
+ if (objectId != null) {
+ _json["objectId"] = objectId;
+ }
+ if (pageElements != null) {
+ _json["pageElements"] = pageElements.map((value) => (value).toJson()).toList();
+ }
+ if (pageProperties != null) {
+ _json["pageProperties"] = (pageProperties).toJson();
+ }
+ if (pageType != null) {
+ _json["pageType"] = pageType;
+ }
+ if (slideProperties != null) {
+ _json["slideProperties"] = (slideProperties).toJson();
+ }
+ return _json;
+ }
+}
+
+/** The page background fill. */
+class PageBackgroundFill {
+ /**
+ * The background fill property state.
+ *
+ * Updating the 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.
+ * Possible string values are:
+ * - "RENDERED" : If a property's state is RENDERED, then the element has the
+ * corresponding
+ * property when rendered on a page. If the element is a placeholder shape as
+ * determined by the placeholder
+ * field, and it inherits from a placeholder shape, the corresponding field
+ * may be unset, meaning that the property value is inherited from a parent
+ * placeholder. If the element does not inherit, then the field will contain
+ * the rendered value. This is the default value.
+ * - "NOT_RENDERED" : If a property's state is NOT_RENDERED, then the element
+ * does not have the
+ * corresponding property when rendered on a page. However, the field may
+ * still be set so it can be inherited by child shapes. To remove a property
+ * from a rendered element, set its property_state to NOT_RENDERED.
+ * - "INHERIT" : If a property's state is INHERIT, then the property state
+ * uses the value of
+ * corresponding `property_state` field on the parent shape. Elements that do
+ * not inherit will never have an INHERIT property state.
+ */
+ core.String propertyState;
+ /** Solid color fill. */
+ SolidFill solidFill;
+ /** Stretched picture fill. */
+ StretchedPictureFill stretchedPictureFill;
+
+ PageBackgroundFill();
+
+ PageBackgroundFill.fromJson(core.Map _json) {
+ if (_json.containsKey("propertyState")) {
+ propertyState = _json["propertyState"];
+ }
+ if (_json.containsKey("solidFill")) {
+ solidFill = new SolidFill.fromJson(_json["solidFill"]);
+ }
+ if (_json.containsKey("stretchedPictureFill")) {
+ stretchedPictureFill = new StretchedPictureFill.fromJson(_json["stretchedPictureFill"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (propertyState != null) {
+ _json["propertyState"] = propertyState;
+ }
+ if (solidFill != null) {
+ _json["solidFill"] = (solidFill).toJson();
+ }
+ if (stretchedPictureFill != null) {
+ _json["stretchedPictureFill"] = (stretchedPictureFill).toJson();
+ }
+ return _json;
+ }
+}
+
+/** A visual element rendered on a page. */
+class PageElement {
+ /**
+ * The description of the page element. Combined with title to display alt
+ * text.
+ */
+ core.String description;
+ /** A collection of page elements joined as a single unit. */
+ Group elementGroup;
+ /** An image page element. */
+ Image image;
+ /** A line page element. */
+ Line 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.
+ */
+ core.String objectId;
+ /** A generic shape. */
+ Shape shape;
+ /**
+ * A linked chart embedded from Google Sheets. Unlinked charts are
+ * represented as images.
+ */
+ SheetsChart sheetsChart;
+ /** The size of the page element. */
+ Size size;
+ /** A table page element. */
+ Table table;
+ /**
+ * The title of the page element. Combined with description to display alt
+ * text.
+ */
+ core.String title;
+ /** The transform of the page element. */
+ AffineTransform transform;
+ /** A video page element. */
+ Video video;
+ /** A word art page element. */
+ WordArt wordArt;
+
+ PageElement();
+
+ PageElement.fromJson(core.Map _json) {
+ if (_json.containsKey("description")) {
+ description = _json["description"];
+ }
+ if (_json.containsKey("elementGroup")) {
+ elementGroup = new Group.fromJson(_json["elementGroup"]);
+ }
+ if (_json.containsKey("image")) {
+ image = new Image.fromJson(_json["image"]);
+ }
+ if (_json.containsKey("line")) {
+ line = new Line.fromJson(_json["line"]);
+ }
+ if (_json.containsKey("objectId")) {
+ objectId = _json["objectId"];
+ }
+ if (_json.containsKey("shape")) {
+ shape = new Shape.fromJson(_json["shape"]);
+ }
+ if (_json.containsKey("sheetsChart")) {
+ sheetsChart = new SheetsChart.fromJson(_json["sheetsChart"]);
+ }
+ if (_json.containsKey("size")) {
+ size = new Size.fromJson(_json["size"]);
+ }
+ if (_json.containsKey("table")) {
+ table = new Table.fromJson(_json["table"]);
+ }
+ if (_json.containsKey("title")) {
+ title = _json["title"];
+ }
+ if (_json.containsKey("transform")) {
+ transform = new AffineTransform.fromJson(_json["transform"]);
+ }
+ if (_json.containsKey("video")) {
+ video = new Video.fromJson(_json["video"]);
+ }
+ if (_json.containsKey("wordArt")) {
+ wordArt = new WordArt.fromJson(_json["wordArt"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (description != null) {
+ _json["description"] = description;
+ }
+ if (elementGroup != null) {
+ _json["elementGroup"] = (elementGroup).toJson();
+ }
+ if (image != null) {
+ _json["image"] = (image).toJson();
+ }
+ if (line != null) {
+ _json["line"] = (line).toJson();
+ }
+ if (objectId != null) {
+ _json["objectId"] = objectId;
+ }
+ if (shape != null) {
+ _json["shape"] = (shape).toJson();
+ }
+ if (sheetsChart != null) {
+ _json["sheetsChart"] = (sheetsChart).toJson();
+ }
+ if (size != null) {
+ _json["size"] = (size).toJson();
+ }
+ if (table != null) {
+ _json["table"] = (table).toJson();
+ }
+ if (title != null) {
+ _json["title"] = title;
+ }
+ if (transform != null) {
+ _json["transform"] = (transform).toJson();
+ }
+ if (video != null) {
+ _json["video"] = (video).toJson();
+ }
+ if (wordArt != null) {
+ _json["wordArt"] = (wordArt).toJson();
+ }
+ return _json;
+ }
+}
+
+/**
+ * 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 {
+ /** The object ID of the page where the element is located. */
+ core.String pageObjectId;
+ /** The size of the element. */
+ Size size;
+ /** The transform for the element. */
+ AffineTransform transform;
+
+ PageElementProperties();
+
+ PageElementProperties.fromJson(core.Map _json) {
+ if (_json.containsKey("pageObjectId")) {
+ pageObjectId = _json["pageObjectId"];
+ }
+ if (_json.containsKey("size")) {
+ size = new Size.fromJson(_json["size"]);
+ }
+ if (_json.containsKey("transform")) {
+ transform = new AffineTransform.fromJson(_json["transform"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (pageObjectId != null) {
+ _json["pageObjectId"] = pageObjectId;
+ }
+ if (size != null) {
+ _json["size"] = (size).toJson();
+ }
+ if (transform != null) {
+ _json["transform"] = (transform).toJson();
+ }
+ return _json;
+ }
+}
+
+/**
+ * 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 {
+ /**
+ * The color scheme of the page. If unset, the color scheme is inherited from
+ * a parent page. If the page has no parent, the color scheme uses a default
+ * Slides color scheme. This field is read-only.
+ */
+ ColorScheme colorScheme;
+ /**
+ * The background fill of the page. If unset, the background fill is inherited
+ * from a parent page if it exists. If the page has no parent, then the
+ * background fill defaults to the corresponding fill in the Slides editor.
+ */
+ PageBackgroundFill pageBackgroundFill;
+
+ PageProperties();
+
+ PageProperties.fromJson(core.Map _json) {
+ if (_json.containsKey("colorScheme")) {
+ colorScheme = new ColorScheme.fromJson(_json["colorScheme"]);
+ }
+ if (_json.containsKey("pageBackgroundFill")) {
+ pageBackgroundFill = new PageBackgroundFill.fromJson(_json["pageBackgroundFill"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (colorScheme != null) {
+ _json["colorScheme"] = (colorScheme).toJson();
+ }
+ if (pageBackgroundFill != null) {
+ _json["pageBackgroundFill"] = (pageBackgroundFill).toJson();
+ }
+ return _json;
+ }
+}
+
+/** A TextElement kind that represents the beginning of a new paragraph. */
+class ParagraphMarker {
+ /**
+ * The bullet for this paragraph. If not present, the paragraph does not
+ * belong to a list.
+ */
+ Bullet bullet;
+ /** The paragraph's style */
+ ParagraphStyle style;
+
+ ParagraphMarker();
+
+ ParagraphMarker.fromJson(core.Map _json) {
+ if (_json.containsKey("bullet")) {
+ bullet = new Bullet.fromJson(_json["bullet"]);
+ }
+ if (_json.containsKey("style")) {
+ style = new ParagraphStyle.fromJson(_json["style"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (bullet != null) {
+ _json["bullet"] = (bullet).toJson();
+ }
+ if (style != null) {
+ _json["style"] = (style).toJson();
+ }
+ return _json;
+ }
+}
+
+/**
+ * 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 {
+ /**
+ * The text alignment for this paragraph. This property is read-only.
+ * Possible string values are:
+ * - "ALIGNMENT_UNSPECIFIED" : The paragraph alignment is inherited from the
+ * parent.
+ * - "START" : The paragraph is aligned to the start of the line. Left-aligned
+ * for
+ * LTR text, right-aligned otherwise.
+ * - "CENTER" : The paragraph is centered.
+ * - "END" : The paragraph is aligned to the end of the line. Right-aligned
+ * for
+ * LTR text, left-aligned otherwise.
+ * - "JUSTIFIED" : The paragraph is justified.
+ */
+ core.String alignment;
+ /**
+ * The text direction of this paragraph. This property is read-only.
+ * Possible string values are:
+ * - "TEXT_DIRECTION_UNSPECIFIED" : The text direction is inherited from the
+ * parent.
+ * - "LEFT_TO_RIGHT" : The text goes from left to right.
+ * - "RIGHT_TO_LEFT" : The text goes from right to left.
+ */
+ core.String direction;
+ /**
+ * The amount indentation for the paragraph on the side that corresponds to
+ * the end of the text, based on the current text direction. If unset, the
+ * value is inherited from the parent. This property is read-only.
+ */
+ Dimension indentEnd;
+ /**
+ * The amount of indentation for the start of the first line of the paragraph.
+ * If unset, the value is inherited from the parent. This property is
+ * read-only.
+ */
+ Dimension indentFirstLine;
+ /**
+ * The amount indentation for the paragraph on the side that corresponds to
+ * the start of the text, based on the current text direction. If unset, the
+ * value is inherited from the parent. This property is read-only.
+ */
+ Dimension indentStart;
+ /**
+ * 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.
+ * This property is read-only.
+ */
+ core.double lineSpacing;
+ /**
+ * The amount of extra space above the paragraph. If unset, the value is
+ * inherited from the parent. This property is read-only.
+ */
+ Dimension spaceAbove;
+ /**
+ * The amount of extra space above the paragraph. If unset, the value is
+ * inherited from the parent. This property is read-only.
+ */
+ Dimension spaceBelow;
+ /**
+ * The spacing mode for the paragraph. This property is read-only.
+ * Possible string values are:
+ * - "SPACING_MODE_UNSPECIFIED" : The spacing mode is inherited from the
+ * parent.
+ * - "NEVER_COLLAPSE" : Paragraph spacing is always rendered.
+ * - "COLLAPSE_LISTS" : Paragraph spacing is skipped between list elements.
+ */
+ core.String spacingMode;
+
+ ParagraphStyle();
+
+ ParagraphStyle.fromJson(core.Map _json) {
+ if (_json.containsKey("alignment")) {
+ alignment = _json["alignment"];
+ }
+ if (_json.containsKey("direction")) {
+ direction = _json["direction"];
+ }
+ if (_json.containsKey("indentEnd")) {
+ indentEnd = new Dimension.fromJson(_json["indentEnd"]);
+ }
+ if (_json.containsKey("indentFirstLine")) {
+ indentFirstLine = new Dimension.fromJson(_json["indentFirstLine"]);
+ }
+ if (_json.containsKey("indentStart")) {
+ indentStart = new Dimension.fromJson(_json["indentStart"]);
+ }
+ if (_json.containsKey("lineSpacing")) {
+ lineSpacing = _json["lineSpacing"];
+ }
+ if (_json.containsKey("spaceAbove")) {
+ spaceAbove = new Dimension.fromJson(_json["spaceAbove"]);
+ }
+ if (_json.containsKey("spaceBelow")) {
+ spaceBelow = new Dimension.fromJson(_json["spaceBelow"]);
+ }
+ if (_json.containsKey("spacingMode")) {
+ spacingMode = _json["spacingMode"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (alignment != null) {
+ _json["alignment"] = alignment;
+ }
+ if (direction != null) {
+ _json["direction"] = direction;
+ }
+ if (indentEnd != null) {
+ _json["indentEnd"] = (indentEnd).toJson();
+ }
+ if (indentFirstLine != null) {
+ _json["indentFirstLine"] = (indentFirstLine).toJson();
+ }
+ if (indentStart != null) {
+ _json["indentStart"] = (indentStart).toJson();
+ }
+ if (lineSpacing != null) {
+ _json["lineSpacing"] = lineSpacing;
+ }
+ if (spaceAbove != null) {
+ _json["spaceAbove"] = (spaceAbove).toJson();
+ }
+ if (spaceBelow != null) {
+ _json["spaceBelow"] = (spaceBelow).toJson();
+ }
+ if (spacingMode != null) {
+ _json["spacingMode"] = spacingMode;
+ }
+ return _json;
+ }
+}
+
+/**
+ * The placeholder information that uniquely identifies a placeholder shape.
+ */
+class Placeholder {
+ /**
+ * The index of the placeholder. If the same placeholder types are the present
+ * in the same page, they would have different index values.
+ */
+ core.int 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.
+ */
+ core.String parentObjectId;
+ /**
+ * The type of the placeholder.
+ * Possible string values are:
+ * - "NONE" : Default value, signifies it is not a placeholder.
+ * - "BODY" : Body text.
+ * - "CHART" : Chart or graph.
+ * - "CLIP_ART" : Clip art image.
+ * - "CENTERED_TITLE" : Title centered.
+ * - "DIAGRAM" : Diagram.
+ * - "DATE_AND_TIME" : Date and time.
+ * - "FOOTER" : Footer text.
+ * - "HEADER" : Header text.
+ * - "MEDIA" : Multimedia.
+ * - "OBJECT" : Any content type.
+ * - "PICTURE" : Picture.
+ * - "SLIDE_NUMBER" : Number of a slide.
+ * - "SUBTITLE" : Subtitle.
+ * - "TABLE" : Table.
+ * - "TITLE" : Slide title.
+ * - "SLIDE_IMAGE" : Slide image.
+ */
+ core.String type;
+
+ Placeholder();
+
+ Placeholder.fromJson(core.Map _json) {
+ if (_json.containsKey("index")) {
+ index = _json["index"];
+ }
+ if (_json.containsKey("parentObjectId")) {
+ parentObjectId = _json["parentObjectId"];
+ }
+ if (_json.containsKey("type")) {
+ type = _json["type"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (index != null) {
+ _json["index"] = index;
+ }
+ if (parentObjectId != null) {
+ _json["parentObjectId"] = parentObjectId;
+ }
+ if (type != null) {
+ _json["type"] = type;
+ }
+ return _json;
+ }
+}
+
+/** A Google Slides presentation. */
+class Presentation {
+ /**
+ * 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.
+ */
+ core.List<Page> layouts;
+ /** The locale of the presentation, as an IETF BCP 47 language tag. */
+ core.String 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.
+ */
+ core.List<Page> masters;
+ /** The size of pages in the presentation. */
+ Size pageSize;
+ /** The ID of the presentation. */
+ core.String presentationId;
+ /**
+ * The slides in the presentation.
+ * A slide inherits properties from a slide layout.
+ */
+ core.List<Page> slides;
+ /** The title of the presentation. */
+ core.String title;
+
+ Presentation();
+
+ Presentation.fromJson(core.Map _json) {
+ if (_json.containsKey("layouts")) {
+ layouts = _json["layouts"].map((value) => new Page.fromJson(value)).toList();
+ }
+ if (_json.containsKey("locale")) {
+ locale = _json["locale"];
+ }
+ if (_json.containsKey("masters")) {
+ masters = _json["masters"].map((value) => new Page.fromJson(value)).toList();
+ }
+ if (_json.containsKey("pageSize")) {
+ pageSize = new Size.fromJson(_json["pageSize"]);
+ }
+ if (_json.containsKey("presentationId")) {
+ presentationId = _json["presentationId"];
+ }
+ if (_json.containsKey("slides")) {
+ slides = _json["slides"].map((value) => new Page.fromJson(value)).toList();
+ }
+ if (_json.containsKey("title")) {
+ title = _json["title"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (layouts != null) {
+ _json["layouts"] = layouts.map((value) => (value).toJson()).toList();
+ }
+ if (locale != null) {
+ _json["locale"] = locale;
+ }
+ if (masters != null) {
+ _json["masters"] = masters.map((value) => (value).toJson()).toList();
+ }
+ if (pageSize != null) {
+ _json["pageSize"] = (pageSize).toJson();
+ }
+ if (presentationId != null) {
+ _json["presentationId"] = presentationId;
+ }
+ if (slides != null) {
+ _json["slides"] = slides.map((value) => (value).toJson()).toList();
+ }
+ if (title != null) {
+ _json["title"] = title;
+ }
+ return _json;
+ }
+}
+
+/**
+ * Specifies a contiguous range of an indexed collection, such as characters in
+ * text.
+ */
+class Range {
+ /**
+ * The optional zero-based index of the end of the collection.
+ * Required for `SPECIFIC_RANGE` delete mode.
+ */
+ core.int endIndex;
+ /**
+ * The optional zero-based index of the beginning of the collection.
+ * Required for `SPECIFIC_RANGE` and `FROM_START_INDEX` ranges.
+ */
+ core.int startIndex;
+ /**
+ * The type of range.
+ * Possible string values are:
+ * - "RANGE_TYPE_UNSPECIFIED" : Unspecified range type. This value must not be
+ * used.
+ * - "FIXED_RANGE" : A fixed range. Both the `start_index` and
+ * `end_index` must be specified.
+ * - "FROM_START_INDEX" : Starts the range at `start_index` and continues
+ * until the
+ * end of the collection. The `end_index` must not be specified.
+ * - "ALL" : Sets the range to be the whole length of the collection. Both the
+ * `start_index` and the `end_index` must not be
+ * specified.
+ */
+ core.String type;
+
+ Range();
+
+ Range.fromJson(core.Map _json) {
+ if (_json.containsKey("endIndex")) {
+ endIndex = _json["endIndex"];
+ }
+ if (_json.containsKey("startIndex")) {
+ startIndex = _json["startIndex"];
+ }
+ if (_json.containsKey("type")) {
+ type = _json["type"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (endIndex != null) {
+ _json["endIndex"] = endIndex;
+ }
+ if (startIndex != null) {
+ _json["startIndex"] = startIndex;
+ }
+ if (type != null) {
+ _json["type"] = type;
+ }
+ return _json;
+ }
+}
+
+/** A recolor effect applied on an image. */
+class Recolor {
+ /**
+ * The recolor effect is represented by a gradient, which is a list of color
+ * stops. This property is read-only.
+ */
+ core.List<ColorStop> recolorStops;
+
+ Recolor();
+
+ Recolor.fromJson(core.Map _json) {
+ if (_json.containsKey("recolorStops")) {
+ recolorStops = _json["recolorStops"].map((value) => new ColorStop.fromJson(value)).toList();
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (recolorStops != null) {
+ _json["recolorStops"] = recolorStops.map((value) => (value).toJson()).toList();
+ }
+ return _json;
+ }
+}
+
+/**
+ * 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 {
+ /** The object ID of the chart to refresh. */
+ core.String objectId;
+
+ RefreshSheetsChartRequest();
+
+ RefreshSheetsChartRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("objectId")) {
+ objectId = _json["objectId"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (objectId != null) {
+ _json["objectId"] = objectId;
+ }
+ return _json;
+ }
+}
+
+/**
+ * Replaces all shapes that match the given criteria with the provided image.
+ */
+class ReplaceAllShapesWithImageRequest {
+ /**
+ * If set, this request will replace all of the shapes that contain the
+ * given text.
+ */
+ SubstringMatchCriteria containsText;
+ /**
+ * 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 either in PNG, JPEG, or GIF
+ * format.
+ */
+ core.String imageUrl;
+ /**
+ * The replace method.
+ * Possible string values are:
+ * - "CENTER_INSIDE" : Scales and centers the image to fit within the bounds
+ * of the original
+ * shape and maintains the image's aspect ratio. The rendered size of the
+ * image may be smaller than the size of the shape. This is the default
+ * method when one is not specified.
+ * - "CENTER_CROP" : Scales and centers the image to fill the bounds of the
+ * original shape.
+ * The image may be cropped in order to fill the shape. The rendered size of
+ * the image will be the same as that of the original shape.
+ */
+ core.String replaceMethod;
+
+ ReplaceAllShapesWithImageRequest();
+
+ ReplaceAllShapesWithImageRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("containsText")) {
+ containsText = new SubstringMatchCriteria.fromJson(_json["containsText"]);
+ }
+ if (_json.containsKey("imageUrl")) {
+ imageUrl = _json["imageUrl"];
+ }
+ if (_json.containsKey("replaceMethod")) {
+ replaceMethod = _json["replaceMethod"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (containsText != null) {
+ _json["containsText"] = (containsText).toJson();
+ }
+ if (imageUrl != null) {
+ _json["imageUrl"] = imageUrl;
+ }
+ if (replaceMethod != null) {
+ _json["replaceMethod"] = replaceMethod;
+ }
+ return _json;
+ }
+}
+
+/** The result of replacing shapes with an image. */
+class ReplaceAllShapesWithImageResponse {
+ /** The number of shapes replaced with images. */
+ core.int occurrencesChanged;
+
+ ReplaceAllShapesWithImageResponse();
+
+ ReplaceAllShapesWithImageResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("occurrencesChanged")) {
+ occurrencesChanged = _json["occurrencesChanged"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (occurrencesChanged != null) {
+ _json["occurrencesChanged"] = occurrencesChanged;
+ }
+ return _json;
+ }
+}
+
+/** Replaces all instances of text matching a criteria with replace text. */
+class ReplaceAllTextRequest {
+ /** Finds text in a shape matching this substring. */
+ SubstringMatchCriteria containsText;
+ /** The text that will replace the matched text. */
+ core.String replaceText;
+
+ ReplaceAllTextRequest();
+
+ ReplaceAllTextRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("containsText")) {
+ containsText = new SubstringMatchCriteria.fromJson(_json["containsText"]);
+ }
+ if (_json.containsKey("replaceText")) {
+ replaceText = _json["replaceText"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (containsText != null) {
+ _json["containsText"] = (containsText).toJson();
+ }
+ if (replaceText != null) {
+ _json["replaceText"] = replaceText;
+ }
+ return _json;
+ }
+}
+
+/** The result of replacing text. */
+class ReplaceAllTextResponse {
+ /** The number of occurrences changed by replacing all text. */
+ core.int occurrencesChanged;
+
+ ReplaceAllTextResponse();
+
+ ReplaceAllTextResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("occurrencesChanged")) {
+ occurrencesChanged = _json["occurrencesChanged"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (occurrencesChanged != null) {
+ _json["occurrencesChanged"] = occurrencesChanged;
+ }
+ return _json;
+ }
+}
+
+/** A single kind of update to apply to a presentation. */
+class Request {
+ /** Creates an image. */
+ CreateImageRequest createImage;
+ /** Creates a line. */
+ CreateLineRequest createLine;
+ /** Creates bullets for paragraphs. */
+ CreateParagraphBulletsRequest createParagraphBullets;
+ /** Creates a new shape. */
+ CreateShapeRequest createShape;
+ /** Creates an embedded Google Sheets chart. */
+ CreateSheetsChartRequest createSheetsChart;
+ /** Creates a new slide. */
+ CreateSlideRequest createSlide;
+ /** Creates a new table. */
+ CreateTableRequest createTable;
+ /** Creates a video. */
+ CreateVideoRequest createVideo;
+ /** Deletes a page or page element from the presentation. */
+ DeleteObjectRequest deleteObject;
+ /** Deletes a column from a table. */
+ DeleteTableColumnRequest deleteTableColumn;
+ /** Deletes a row from a table. */
+ DeleteTableRowRequest deleteTableRow;
+ /** Deletes text from a shape or a table cell. */
+ DeleteTextRequest deleteText;
+ /** Duplicates a slide or page element. */
+ DuplicateObjectRequest duplicateObject;
+ /** Inserts columns into a table. */
+ InsertTableColumnsRequest insertTableColumns;
+ /** Inserts rows into a table. */
+ InsertTableRowsRequest insertTableRows;
+ /** Inserts text into a shape or table cell. */
+ InsertTextRequest insertText;
+ /** Refreshes a Google Sheets chart. */
+ RefreshSheetsChartRequest refreshSheetsChart;
+ /** Replaces all shapes matching some criteria with an image. */
+ ReplaceAllShapesWithImageRequest replaceAllShapesWithImage;
+ /** Replaces all instances of specified text. */
+ ReplaceAllTextRequest replaceAllText;
+ /** Updates the properties of an Image. */
+ UpdateImagePropertiesRequest updateImageProperties;
+ /** Updates the properties of a Line. */
+ UpdateLinePropertiesRequest updateLineProperties;
+ /** Updates the transform of a page element. */
+ UpdatePageElementTransformRequest updatePageElementTransform;
+ /** Updates the properties of a Page. */
+ UpdatePagePropertiesRequest updatePageProperties;
+ /** Updates the properties of a Shape. */
+ UpdateShapePropertiesRequest updateShapeProperties;
+ /** Updates the position of a set of slides in the presentation. */
+ UpdateSlidesPositionRequest updateSlidesPosition;
+ /** Updates the properties of a TableCell. */
+ UpdateTableCellPropertiesRequest updateTableCellProperties;
+ /** Updates the styling of text within a Shape or Table. */
+ UpdateTextStyleRequest updateTextStyle;
+ /** Updates the properties of a Video. */
+ UpdateVideoPropertiesRequest updateVideoProperties;
+
+ Request();
+
+ Request.fromJson(core.Map _json) {
+ if (_json.containsKey("createImage")) {
+ createImage = new CreateImageRequest.fromJson(_json["createImage"]);
+ }
+ if (_json.containsKey("createLine")) {
+ createLine = new CreateLineRequest.fromJson(_json["createLine"]);
+ }
+ if (_json.containsKey("createParagraphBullets")) {
+ createParagraphBullets = new CreateParagraphBulletsRequest.fromJson(_json["createParagraphBullets"]);
+ }
+ if (_json.containsKey("createShape")) {
+ createShape = new CreateShapeRequest.fromJson(_json["createShape"]);
+ }
+ if (_json.containsKey("createSheetsChart")) {
+ createSheetsChart = new CreateSheetsChartRequest.fromJson(_json["createSheetsChart"]);
+ }
+ if (_json.containsKey("createSlide")) {
+ createSlide = new CreateSlideRequest.fromJson(_json["createSlide"]);
+ }
+ if (_json.containsKey("createTable")) {
+ createTable = new CreateTableRequest.fromJson(_json["createTable"]);
+ }
+ if (_json.containsKey("createVideo")) {
+ createVideo = new CreateVideoRequest.fromJson(_json["createVideo"]);
+ }
+ if (_json.containsKey("deleteObject")) {
+ deleteObject = new DeleteObjectRequest.fromJson(_json["deleteObject"]);
+ }
+ if (_json.containsKey("deleteTableColumn")) {
+ deleteTableColumn = new DeleteTableColumnRequest.fromJson(_json["deleteTableColumn"]);
+ }
+ if (_json.containsKey("deleteTableRow")) {
+ deleteTableRow = new DeleteTableRowRequest.fromJson(_json["deleteTableRow"]);
+ }
+ if (_json.containsKey("deleteText")) {
+ deleteText = new DeleteTextRequest.fromJson(_json["deleteText"]);
+ }
+ if (_json.containsKey("duplicateObject")) {
+ duplicateObject = new DuplicateObjectRequest.fromJson(_json["duplicateObject"]);
+ }
+ if (_json.containsKey("insertTableColumns")) {
+ insertTableColumns = new InsertTableColumnsRequest.fromJson(_json["insertTableColumns"]);
+ }
+ if (_json.containsKey("insertTableRows")) {
+ insertTableRows = new InsertTableRowsRequest.fromJson(_json["insertTableRows"]);
+ }
+ if (_json.containsKey("insertText")) {
+ insertText = new InsertTextRequest.fromJson(_json["insertText"]);
+ }
+ if (_json.containsKey("refreshSheetsChart")) {
+ refreshSheetsChart = new RefreshSheetsChartRequest.fromJson(_json["refreshSheetsChart"]);
+ }
+ if (_json.containsKey("replaceAllShapesWithImage")) {
+ replaceAllShapesWithImage = new ReplaceAllShapesWithImageRequest.fromJson(_json["replaceAllShapesWithImage"]);
+ }
+ if (_json.containsKey("replaceAllText")) {
+ replaceAllText = new ReplaceAllTextRequest.fromJson(_json["replaceAllText"]);
+ }
+ if (_json.containsKey("updateImageProperties")) {
+ updateImageProperties = new UpdateImagePropertiesRequest.fromJson(_json["updateImageProperties"]);
+ }
+ if (_json.containsKey("updateLineProperties")) {
+ updateLineProperties = new UpdateLinePropertiesRequest.fromJson(_json["updateLineProperties"]);
+ }
+ if (_json.containsKey("updatePageElementTransform")) {
+ updatePageElementTransform = new UpdatePageElementTransformRequest.fromJson(_json["updatePageElementTransform"]);
+ }
+ if (_json.containsKey("updatePageProperties")) {
+ updatePageProperties = new UpdatePagePropertiesRequest.fromJson(_json["updatePageProperties"]);
+ }
+ if (_json.containsKey("updateShapeProperties")) {
+ updateShapeProperties = new UpdateShapePropertiesRequest.fromJson(_json["updateShapeProperties"]);
+ }
+ if (_json.containsKey("updateSlidesPosition")) {
+ updateSlidesPosition = new UpdateSlidesPositionRequest.fromJson(_json["updateSlidesPosition"]);
+ }
+ if (_json.containsKey("updateTableCellProperties")) {
+ updateTableCellProperties = new UpdateTableCellPropertiesRequest.fromJson(_json["updateTableCellProperties"]);
+ }
+ if (_json.containsKey("updateTextStyle")) {
+ updateTextStyle = new UpdateTextStyleRequest.fromJson(_json["updateTextStyle"]);
+ }
+ if (_json.containsKey("updateVideoProperties")) {
+ updateVideoProperties = new UpdateVideoPropertiesRequest.fromJson(_json["updateVideoProperties"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (createImage != null) {
+ _json["createImage"] = (createImage).toJson();
+ }
+ if (createLine != null) {
+ _json["createLine"] = (createLine).toJson();
+ }
+ if (createParagraphBullets != null) {
+ _json["createParagraphBullets"] = (createParagraphBullets).toJson();
+ }
+ if (createShape != null) {
+ _json["createShape"] = (createShape).toJson();
+ }
+ if (createSheetsChart != null) {
+ _json["createSheetsChart"] = (createSheetsChart).toJson();
+ }
+ if (createSlide != null) {
+ _json["createSlide"] = (createSlide).toJson();
+ }
+ if (createTable != null) {
+ _json["createTable"] = (createTable).toJson();
+ }
+ if (createVideo != null) {
+ _json["createVideo"] = (createVideo).toJson();
+ }
+ if (deleteObject != null) {
+ _json["deleteObject"] = (deleteObject).toJson();
+ }
+ if (deleteTableColumn != null) {
+ _json["deleteTableColumn"] = (deleteTableColumn).toJson();
+ }
+ if (deleteTableRow != null) {
+ _json["deleteTableRow"] = (deleteTableRow).toJson();
+ }
+ if (deleteText != null) {
+ _json["deleteText"] = (deleteText).toJson();
+ }
+ if (duplicateObject != null) {
+ _json["duplicateObject"] = (duplicateObject).toJson();
+ }
+ if (insertTableColumns != null) {
+ _json["insertTableColumns"] = (insertTableColumns).toJson();
+ }
+ if (insertTableRows != null) {
+ _json["insertTableRows"] = (insertTableRows).toJson();
+ }
+ if (insertText != null) {
+ _json["insertText"] = (insertText).toJson();
+ }
+ if (refreshSheetsChart != null) {
+ _json["refreshSheetsChart"] = (refreshSheetsChart).toJson();
+ }
+ if (replaceAllShapesWithImage != null) {
+ _json["replaceAllShapesWithImage"] = (replaceAllShapesWithImage).toJson();
+ }
+ if (replaceAllText != null) {
+ _json["replaceAllText"] = (replaceAllText).toJson();
+ }
+ if (updateImageProperties != null) {
+ _json["updateImageProperties"] = (updateImageProperties).toJson();
+ }
+ if (updateLineProperties != null) {
+ _json["updateLineProperties"] = (updateLineProperties).toJson();
+ }
+ if (updatePageElementTransform != null) {
+ _json["updatePageElementTransform"] = (updatePageElementTransform).toJson();
+ }
+ if (updatePageProperties != null) {
+ _json["updatePageProperties"] = (updatePageProperties).toJson();
+ }
+ if (updateShapeProperties != null) {
+ _json["updateShapeProperties"] = (updateShapeProperties).toJson();
+ }
+ if (updateSlidesPosition != null) {
+ _json["updateSlidesPosition"] = (updateSlidesPosition).toJson();
+ }
+ if (updateTableCellProperties != null) {
+ _json["updateTableCellProperties"] = (updateTableCellProperties).toJson();
+ }
+ if (updateTextStyle != null) {
+ _json["updateTextStyle"] = (updateTextStyle).toJson();
+ }
+ if (updateVideoProperties != null) {
+ _json["updateVideoProperties"] = (updateVideoProperties).toJson();
+ }
+ return _json;
+ }
+}
+
+/** A single response from an update. */
+class Response {
+ /** The result of creating an image. */
+ CreateImageResponse createImage;
+ /** The result of creating a line. */
+ CreateLineResponse createLine;
+ /** The result of creating a shape. */
+ CreateShapeResponse createShape;
+ /** The result of creating a Google Sheets chart. */
+ CreateSheetsChartResponse createSheetsChart;
+ /** The result of creating a slide. */
+ CreateSlideResponse createSlide;
+ /** The result of creating a table. */
+ CreateTableResponse createTable;
+ /** The result of creating a video. */
+ CreateVideoResponse createVideo;
+ /** The result of duplicating an object. */
+ DuplicateObjectResponse duplicateObject;
+ /**
+ * The result of replacing all shapes containing the specified text with
+ * an image.
+ */
+ ReplaceAllShapesWithImageResponse replaceAllShapesWithImage;
+ /** The result of replacing text. */
+ ReplaceAllTextResponse replaceAllText;
+
+ Response();
+
+ Response.fromJson(core.Map _json) {
+ if (_json.containsKey("createImage")) {
+ createImage = new CreateImageResponse.fromJson(_json["createImage"]);
+ }
+ if (_json.containsKey("createLine")) {
+ createLine = new CreateLineResponse.fromJson(_json["createLine"]);
+ }
+ if (_json.containsKey("createShape")) {
+ createShape = new CreateShapeResponse.fromJson(_json["createShape"]);
+ }
+ if (_json.containsKey("createSheetsChart")) {
+ createSheetsChart = new CreateSheetsChartResponse.fromJson(_json["createSheetsChart"]);
+ }
+ if (_json.containsKey("createSlide")) {
+ createSlide = new CreateSlideResponse.fromJson(_json["createSlide"]);
+ }
+ if (_json.containsKey("createTable")) {
+ createTable = new CreateTableResponse.fromJson(_json["createTable"]);
+ }
+ if (_json.containsKey("createVideo")) {
+ createVideo = new CreateVideoResponse.fromJson(_json["createVideo"]);
+ }
+ if (_json.containsKey("duplicateObject")) {
+ duplicateObject = new DuplicateObjectResponse.fromJson(_json["duplicateObject"]);
+ }
+ if (_json.containsKey("replaceAllShapesWithImage")) {
+ replaceAllShapesWithImage = new ReplaceAllShapesWithImageResponse.fromJson(_json["replaceAllShapesWithImage"]);
+ }
+ if (_json.containsKey("replaceAllText")) {
+ replaceAllText = new ReplaceAllTextResponse.fromJson(_json["replaceAllText"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (createImage != null) {
+ _json["createImage"] = (createImage).toJson();
+ }
+ if (createLine != null) {
+ _json["createLine"] = (createLine).toJson();
+ }
+ if (createShape != null) {
+ _json["createShape"] = (createShape).toJson();
+ }
+ if (createSheetsChart != null) {
+ _json["createSheetsChart"] = (createSheetsChart).toJson();
+ }
+ if (createSlide != null) {
+ _json["createSlide"] = (createSlide).toJson();
+ }
+ if (createTable != null) {
+ _json["createTable"] = (createTable).toJson();
+ }
+ if (createVideo != null) {
+ _json["createVideo"] = (createVideo).toJson();
+ }
+ if (duplicateObject != null) {
+ _json["duplicateObject"] = (duplicateObject).toJson();
+ }
+ if (replaceAllShapesWithImage != null) {
+ _json["replaceAllShapesWithImage"] = (replaceAllShapesWithImage).toJson();
+ }
+ if (replaceAllText != null) {
+ _json["replaceAllText"] = (replaceAllText).toJson();
+ }
+ return _json;
+ }
+}
+
+/** An RGB color. */
+class RgbColor {
+ /** The blue component of the color, from 0.0 to 1.0. */
+ core.double blue;
+ /** The green component of the color, from 0.0 to 1.0. */
+ core.double green;
+ /** The red component of the color, from 0.0 to 1.0. */
+ core.double red;
+
+ RgbColor();
+
+ RgbColor.fromJson(core.Map _json) {
+ if (_json.containsKey("blue")) {
+ blue = _json["blue"];
+ }
+ if (_json.containsKey("green")) {
+ green = _json["green"];
+ }
+ if (_json.containsKey("red")) {
+ red = _json["red"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (blue != null) {
+ _json["blue"] = blue;
+ }
+ if (green != null) {
+ _json["green"] = green;
+ }
+ if (red != null) {
+ _json["red"] = red;
+ }
+ return _json;
+ }
+}
+
+/**
+ * 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 {
+ /**
+ * The alignment point of the shadow, that sets the origin for translate,
+ * scale and skew of the shadow.
+ * Possible string values are:
+ * - "RECTANGLE_POSITION_UNSPECIFIED" : Unspecified.
+ * - "TOP_LEFT" : Top left.
+ * - "TOP_CENTER" : Top center.
+ * - "TOP_RIGHT" : Top right.
+ * - "LEFT_CENTER" : Left center.
+ * - "CENTER" : Center.
+ * - "RIGHT_CENTER" : Right center.
+ * - "BOTTOM_LEFT" : Bottom left.
+ * - "BOTTOM_CENTER" : Bottom center.
+ * - "BOTTOM_RIGHT" : Bottom right.
+ */
+ core.String alignment;
+ /** The alpha of the shadow's color, from 0.0 to 1.0. */
+ core.double alpha;
+ /**
+ * The radius of the shadow blur. The larger the radius, the more diffuse the
+ * shadow becomes.
+ */
+ Dimension blurRadius;
+ /** The shadow color value. */
+ OpaqueColor color;
+ /**
+ * The shadow property state.
+ *
+ * Updating the 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.
+ * Possible string values are:
+ * - "RENDERED" : If a property's state is RENDERED, then the element has the
+ * corresponding
+ * property when rendered on a page. If the element is a placeholder shape as
+ * determined by the placeholder
+ * field, and it inherits from a placeholder shape, the corresponding field
+ * may be unset, meaning that the property value is inherited from a parent
+ * placeholder. If the element does not inherit, then the field will contain
+ * the rendered value. This is the default value.
+ * - "NOT_RENDERED" : If a property's state is NOT_RENDERED, then the element
+ * does not have the
+ * corresponding property when rendered on a page. However, the field may
+ * still be set so it can be inherited by child shapes. To remove a property
+ * from a rendered element, set its property_state to NOT_RENDERED.
+ * - "INHERIT" : If a property's state is INHERIT, then the property state
+ * uses the value of
+ * corresponding `property_state` field on the parent shape. Elements that do
+ * not inherit will never have an INHERIT property state.
+ */
+ core.String propertyState;
+ /** Whether the shadow should rotate with the shape. */
+ core.bool rotateWithShape;
+ /**
+ * Transform that encodes the translate, scale, and skew of the shadow,
+ * relative to the alignment position.
+ */
+ AffineTransform transform;
+ /**
+ * The type of the shadow.
+ * Possible string values are:
+ * - "SHADOW_TYPE_UNSPECIFIED" : Unspecified shadow type.
+ * - "OUTER" : Outer shadow.
+ */
+ core.String type;
+
+ Shadow();
+
+ Shadow.fromJson(core.Map _json) {
+ if (_json.containsKey("alignment")) {
+ alignment = _json["alignment"];
+ }
+ if (_json.containsKey("alpha")) {
+ alpha = _json["alpha"];
+ }
+ if (_json.containsKey("blurRadius")) {
+ blurRadius = new Dimension.fromJson(_json["blurRadius"]);
+ }
+ if (_json.containsKey("color")) {
+ color = new OpaqueColor.fromJson(_json["color"]);
+ }
+ if (_json.containsKey("propertyState")) {
+ propertyState = _json["propertyState"];
+ }
+ if (_json.containsKey("rotateWithShape")) {
+ rotateWithShape = _json["rotateWithShape"];
+ }
+ if (_json.containsKey("transform")) {
+ transform = new AffineTransform.fromJson(_json["transform"]);
+ }
+ if (_json.containsKey("type")) {
+ type = _json["type"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (alignment != null) {
+ _json["alignment"] = alignment;
+ }
+ if (alpha != null) {
+ _json["alpha"] = alpha;
+ }
+ if (blurRadius != null) {
+ _json["blurRadius"] = (blurRadius).toJson();
+ }
+ if (color != null) {
+ _json["color"] = (color).toJson();
+ }
+ if (propertyState != null) {
+ _json["propertyState"] = propertyState;
+ }
+ if (rotateWithShape != null) {
+ _json["rotateWithShape"] = rotateWithShape;
+ }
+ if (transform != null) {
+ _json["transform"] = (transform).toJson();
+ }
+ if (type != null) {
+ _json["type"] = type;
+ }
+ return _json;
+ }
+}
+
+/**
+ * A PageElement kind representing a
+ * generic shape that does not have a more specific classification.
+ */
+class Shape {
+ /**
+ * Placeholders are shapes that are inherit from corresponding placeholders on
+ * layouts and masters.
+ *
+ * If set, the shape is a placeholder shape and any inherited properties
+ * can be resolved by looking at the parent placeholder identified by the
+ * Placeholder.parent_object_id field.
+ */
+ Placeholder placeholder;
+ /** The properties of the shape. */
+ ShapeProperties shapeProperties;
+ /**
+ * The type of the shape.
+ * Possible string values are:
+ * - "TYPE_UNSPECIFIED" : The shape type that is not predefined.
+ * - "TEXT_BOX" : Text box shape.
+ * - "RECTANGLE" : Rectangle shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'rect'.
+ * - "ROUND_RECTANGLE" : Round corner rectangle shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'roundRect'
+ * - "ELLIPSE" : Ellipse shape. Corresponds to ECMA-376 ST_ShapeType 'ellipse'
+ * - "ARC" : Curved arc shape. Corresponds to ECMA-376 ST_ShapeType 'arc'
+ * - "BENT_ARROW" : Bent arrow shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'bentArrow'
+ * - "BENT_UP_ARROW" : Bent up arrow shape. Corresponds to ECMA-376
+ * ST_ShapeType 'bentUpArrow'
+ * - "BEVEL" : Bevel shape. Corresponds to ECMA-376 ST_ShapeType 'bevel'
+ * - "BLOCK_ARC" : Block arc shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'blockArc'
+ * - "BRACE_PAIR" : Brace pair shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'bracePair'
+ * - "BRACKET_PAIR" : Bracket pair shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'bracketPair'
+ * - "CAN" : Can shape. Corresponds to ECMA-376 ST_ShapeType 'can'
+ * - "CHEVRON" : Chevron shape. Corresponds to ECMA-376 ST_ShapeType 'chevron'
+ * - "CHORD" : Chord shape. Corresponds to ECMA-376 ST_ShapeType 'chord'
+ * - "CLOUD" : Cloud shape. Corresponds to ECMA-376 ST_ShapeType 'cloud'
+ * - "CORNER" : Corner shape. Corresponds to ECMA-376 ST_ShapeType 'corner'
+ * - "CUBE" : Cube shape. Corresponds to ECMA-376 ST_ShapeType 'cube'
+ * - "CURVED_DOWN_ARROW" : Curved down arrow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'curvedDownArrow'
+ * - "CURVED_LEFT_ARROW" : Curved left arrow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'curvedLeftArrow'
+ * - "CURVED_RIGHT_ARROW" : Curved right arrow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'curvedRightArrow'
+ * - "CURVED_UP_ARROW" : Curved up arrow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'curvedUpArrow'
+ * - "DECAGON" : Decagon shape. Corresponds to ECMA-376 ST_ShapeType 'decagon'
+ * - "DIAGONAL_STRIPE" : Diagonal stripe shape. Corresponds to ECMA-376
+ * ST_ShapeType 'diagStripe'
+ * - "DIAMOND" : Diamond shape. Corresponds to ECMA-376 ST_ShapeType 'diamond'
+ * - "DODECAGON" : Dodecagon shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'dodecagon'
+ * - "DONUT" : Donut shape. Corresponds to ECMA-376 ST_ShapeType 'donut'
+ * - "DOUBLE_WAVE" : Double wave shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'doubleWave'
+ * - "DOWN_ARROW" : Down arrow shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'downArrow'
+ * - "DOWN_ARROW_CALLOUT" : Callout down arrow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'downArrowCallout'
+ * - "FOLDED_CORNER" : Folded corner shape. Corresponds to ECMA-376
+ * ST_ShapeType 'foldedCorner'
+ * - "FRAME" : Frame shape. Corresponds to ECMA-376 ST_ShapeType 'frame'
+ * - "HALF_FRAME" : Half frame shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'halfFrame'
+ * - "HEART" : Heart shape. Corresponds to ECMA-376 ST_ShapeType 'heart'
+ * - "HEPTAGON" : Heptagon shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'heptagon'
+ * - "HEXAGON" : Hexagon shape. Corresponds to ECMA-376 ST_ShapeType 'hexagon'
+ * - "HOME_PLATE" : Home plate shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'homePlate'
+ * - "HORIZONTAL_SCROLL" : Horizontal scroll shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'horizontalScroll'
+ * - "IRREGULAR_SEAL_1" : Irregular seal 1 shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'irregularSeal1'
+ * - "IRREGULAR_SEAL_2" : Irregular seal 2 shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'irregularSeal2'
+ * - "LEFT_ARROW" : Left arrow shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'leftArrow'
+ * - "LEFT_ARROW_CALLOUT" : Callout left arrow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'leftArrowCallout'
+ * - "LEFT_BRACE" : Left brace shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'leftBrace'
+ * - "LEFT_BRACKET" : Left bracket shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'leftBracket'
+ * - "LEFT_RIGHT_ARROW" : Left right arrow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'leftRightArrow'
+ * - "LEFT_RIGHT_ARROW_CALLOUT" : Callout left right arrow shape. Corresponds
+ * to ECMA-376 ST_ShapeType
+ * 'leftRightArrowCallout'
+ * - "LEFT_RIGHT_UP_ARROW" : Left right up arrow shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'leftRightUpArrow'
+ * - "LEFT_UP_ARROW" : Left up arrow shape. Corresponds to ECMA-376
+ * ST_ShapeType 'leftUpArrow'
+ * - "LIGHTNING_BOLT" : Lightning bolt shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'lightningBolt'
+ * - "MATH_DIVIDE" : Divide math shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'mathDivide'
+ * - "MATH_EQUAL" : Equal math shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'mathEqual'
+ * - "MATH_MINUS" : Minus math shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'mathMinus'
+ * - "MATH_MULTIPLY" : Multiply math shape. Corresponds to ECMA-376
+ * ST_ShapeType 'mathMultiply'
+ * - "MATH_NOT_EQUAL" : Not equal math shape. Corresponds to ECMA-376
+ * ST_ShapeType 'mathNotEqual'
+ * - "MATH_PLUS" : Plus math shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'mathPlus'
+ * - "MOON" : Moon shape. Corresponds to ECMA-376 ST_ShapeType 'moon'
+ * - "NO_SMOKING" : No smoking shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'noSmoking'
+ * - "NOTCHED_RIGHT_ARROW" : Notched right arrow shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'notchedRightArrow'
+ * - "OCTAGON" : Octagon shape. Corresponds to ECMA-376 ST_ShapeType 'octagon'
+ * - "PARALLELOGRAM" : Parallelogram shape. Corresponds to ECMA-376
+ * ST_ShapeType 'parallelogram'
+ * - "PENTAGON" : Pentagon shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'pentagon'
+ * - "PIE" : Pie shape. Corresponds to ECMA-376 ST_ShapeType 'pie'
+ * - "PLAQUE" : Plaque shape. Corresponds to ECMA-376 ST_ShapeType 'plaque'
+ * - "PLUS" : Plus shape. Corresponds to ECMA-376 ST_ShapeType 'plus'
+ * - "QUAD_ARROW" : Quad-arrow shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'quadArrow'
+ * - "QUAD_ARROW_CALLOUT" : Callout quad-arrow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'quadArrowCallout'
+ * - "RIBBON" : Ribbon shape. Corresponds to ECMA-376 ST_ShapeType 'ribbon'
+ * - "RIBBON_2" : Ribbon 2 shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'ribbon2'
+ * - "RIGHT_ARROW" : Right arrow shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'rightArrow'
+ * - "RIGHT_ARROW_CALLOUT" : Callout right arrow shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'rightArrowCallout'
+ * - "RIGHT_BRACE" : Right brace shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'rightBrace'
+ * - "RIGHT_BRACKET" : Right bracket shape. Corresponds to ECMA-376
+ * ST_ShapeType 'rightBracket'
+ * - "ROUND_1_RECTANGLE" : One round corner rectangle shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'round1Rect'
+ * - "ROUND_2_DIAGONAL_RECTANGLE" : Two diagonal round corner rectangle shape.
+ * Corresponds to ECMA-376
+ * ST_ShapeType 'round2DiagRect'
+ * - "ROUND_2_SAME_RECTANGLE" : Two same-side round corner rectangle shape.
+ * Corresponds to ECMA-376
+ * ST_ShapeType 'round2SameRect'
+ * - "RIGHT_TRIANGLE" : Right triangle shape. Corresponds to ECMA-376
+ * ST_ShapeType 'rtTriangle'
+ * - "SMILEY_FACE" : Smiley face shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'smileyFace'
+ * - "SNIP_1_RECTANGLE" : One snip corner rectangle shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'snip1Rect'
+ * - "SNIP_2_DIAGONAL_RECTANGLE" : Two diagonal snip corner rectangle shape.
+ * Corresponds to ECMA-376
+ * ST_ShapeType 'snip2DiagRect'
+ * - "SNIP_2_SAME_RECTANGLE" : Two same-side snip corner rectangle shape.
+ * Corresponds to ECMA-376
+ * ST_ShapeType 'snip2SameRect'
+ * - "SNIP_ROUND_RECTANGLE" : One snip one round corner rectangle shape.
+ * Corresponds to ECMA-376
+ * ST_ShapeType 'snipRoundRect'
+ * - "STAR_10" : Ten pointed star shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'star10'
+ * - "STAR_12" : Twelve pointed star shape. Corresponds to ECMA-376
+ * ST_ShapeType 'star12'
+ * - "STAR_16" : Sixteen pointed star shape. Corresponds to ECMA-376
+ * ST_ShapeType 'star16'
+ * - "STAR_24" : Twenty four pointed star shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'star24'
+ * - "STAR_32" : Thirty two pointed star shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'star32'
+ * - "STAR_4" : Four pointed star shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'star4'
+ * - "STAR_5" : Five pointed star shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'star5'
+ * - "STAR_6" : Six pointed star shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'star6'
+ * - "STAR_7" : Seven pointed star shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'star7'
+ * - "STAR_8" : Eight pointed star shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'star8'
+ * - "STRIPED_RIGHT_ARROW" : Striped right arrow shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'stripedRightArrow'
+ * - "SUN" : Sun shape. Corresponds to ECMA-376 ST_ShapeType 'sun'
+ * - "TRAPEZOID" : Trapezoid shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'trapezoid'
+ * - "TRIANGLE" : Triangle shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'triangle'
+ * - "UP_ARROW" : Up arrow shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'upArrow'
+ * - "UP_ARROW_CALLOUT" : Callout up arrow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'upArrowCallout'
+ * - "UP_DOWN_ARROW" : Up down arrow shape. Corresponds to ECMA-376
+ * ST_ShapeType 'upDownArrow'
+ * - "UTURN_ARROW" : U-turn arrow shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'uturnArrow'
+ * - "VERTICAL_SCROLL" : Vertical scroll shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'verticalScroll'
+ * - "WAVE" : Wave shape. Corresponds to ECMA-376 ST_ShapeType 'wave'
+ * - "WEDGE_ELLIPSE_CALLOUT" : Callout wedge ellipse shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'wedgeEllipseCallout'
+ * - "WEDGE_RECTANGLE_CALLOUT" : Callout wedge rectangle shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'wedgeRectCallout'
+ * - "WEDGE_ROUND_RECTANGLE_CALLOUT" : Callout wedge round rectangle shape.
+ * Corresponds to ECMA-376 ST_ShapeType
+ * 'wedgeRoundRectCallout'
+ * - "FLOW_CHART_ALTERNATE_PROCESS" : Alternate process flow shape.
+ * Corresponds to ECMA-376 ST_ShapeType
+ * 'flowChartAlternateProcess'
+ * - "FLOW_CHART_COLLATE" : Collate flow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'flowChartCollate'
+ * - "FLOW_CHART_CONNECTOR" : Connector flow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'flowChartConnector'
+ * - "FLOW_CHART_DECISION" : Decision flow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'flowChartDecision'
+ * - "FLOW_CHART_DELAY" : Delay flow shape. Corresponds to ECMA-376
+ * ST_ShapeType 'flowChartDelay'
+ * - "FLOW_CHART_DISPLAY" : Display flow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'flowChartDisplay'
+ * - "FLOW_CHART_DOCUMENT" : Document flow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'flowChartDocument'
+ * - "FLOW_CHART_EXTRACT" : Extract flow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'flowChartExtract'
+ * - "FLOW_CHART_INPUT_OUTPUT" : Input output flow shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'flowChartInputOutput'
+ * - "FLOW_CHART_INTERNAL_STORAGE" : Internal storage flow shape. Corresponds
+ * to ECMA-376 ST_ShapeType
+ * 'flowChartInternalStorage'
+ * - "FLOW_CHART_MAGNETIC_DISK" : Magnetic disk flow shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'flowChartMagneticDisk'
+ * - "FLOW_CHART_MAGNETIC_DRUM" : Magnetic drum flow shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'flowChartMagneticDrum'
+ * - "FLOW_CHART_MAGNETIC_TAPE" : Magnetic tape flow shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'flowChartMagneticTape'
+ * - "FLOW_CHART_MANUAL_INPUT" : Manual input flow shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'flowChartManualInput'
+ * - "FLOW_CHART_MANUAL_OPERATION" : Manual operation flow shape. Corresponds
+ * to ECMA-376 ST_ShapeType
+ * 'flowChartManualOperation'
+ * - "FLOW_CHART_MERGE" : Merge flow shape. Corresponds to ECMA-376
+ * ST_ShapeType 'flowChartMerge'
+ * - "FLOW_CHART_MULTIDOCUMENT" : Multi-document flow shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'flowChartMultidocument'
+ * - "FLOW_CHART_OFFLINE_STORAGE" : Offline storage flow shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'flowChartOfflineStorage'
+ * - "FLOW_CHART_OFFPAGE_CONNECTOR" : Off-page connector flow shape.
+ * Corresponds to ECMA-376 ST_ShapeType
+ * 'flowChartOffpageConnector'
+ * - "FLOW_CHART_ONLINE_STORAGE" : Online storage flow shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'flowChartOnlineStorage'
+ * - "FLOW_CHART_OR" : Or flow shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'flowChartOr'
+ * - "FLOW_CHART_PREDEFINED_PROCESS" : Predefined process flow shape.
+ * Corresponds to ECMA-376 ST_ShapeType
+ * 'flowChartPredefinedProcess'
+ * - "FLOW_CHART_PREPARATION" : Preparation flow shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'flowChartPreparation'
+ * - "FLOW_CHART_PROCESS" : Process flow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'flowChartProcess'
+ * - "FLOW_CHART_PUNCHED_CARD" : Punched card flow shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'flowChartPunchedCard'
+ * - "FLOW_CHART_PUNCHED_TAPE" : Punched tape flow shape. Corresponds to
+ * ECMA-376 ST_ShapeType
+ * 'flowChartPunchedTape'
+ * - "FLOW_CHART_SORT" : Sort flow shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'flowChartSort'
+ * - "FLOW_CHART_SUMMING_JUNCTION" : Summing junction flow shape. Corresponds
+ * to ECMA-376 ST_ShapeType
+ * 'flowChartSummingJunction'
+ * - "FLOW_CHART_TERMINATOR" : Terminator flow shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'flowChartTerminator'
+ * - "ARROW_EAST" : East arrow shape.
+ * - "ARROW_NORTH_EAST" : Northeast arrow shape.
+ * - "ARROW_NORTH" : North arrow shape.
+ * - "SPEECH" : Speech shape.
+ * - "STARBURST" : Star burst shape.
+ * - "TEARDROP" : Teardrop shape. Corresponds to ECMA-376 ST_ShapeType
+ * 'teardrop'
+ * - "ELLIPSE_RIBBON" : Ellipse ribbon shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'ellipseRibbon'
+ * - "ELLIPSE_RIBBON_2" : Ellipse ribbon 2 shape. Corresponds to ECMA-376
+ * ST_ShapeType
+ * 'ellipseRibbon2'
+ * - "CLOUD_CALLOUT" : Callout cloud shape. Corresponds to ECMA-376
+ * ST_ShapeType 'cloudCallout'
+ * - "CUSTOM" : Custom shape.
+ */
+ core.String shapeType;
+ /** The text content of the shape. */
+ TextContent text;
+
+ Shape();
+
+ Shape.fromJson(core.Map _json) {
+ if (_json.containsKey("placeholder")) {
+ placeholder = new Placeholder.fromJson(_json["placeholder"]);
+ }
+ if (_json.containsKey("shapeProperties")) {
+ shapeProperties = new ShapeProperties.fromJson(_json["shapeProperties"]);
+ }
+ if (_json.containsKey("shapeType")) {
+ shapeType = _json["shapeType"];
+ }
+ if (_json.containsKey("text")) {
+ text = new TextContent.fromJson(_json["text"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (placeholder != null) {
+ _json["placeholder"] = (placeholder).toJson();
+ }
+ if (shapeProperties != null) {
+ _json["shapeProperties"] = (shapeProperties).toJson();
+ }
+ if (shapeType != null) {
+ _json["shapeType"] = shapeType;
+ }
+ if (text != null) {
+ _json["text"] = (text).toJson();
+ }
+ return _json;
+ }
+}
+
+/** The shape background fill. */
+class ShapeBackgroundFill {
+ /**
+ * The background fill property state.
+ *
+ * Updating the 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.
+ * Possible string values are:
+ * - "RENDERED" : If a property's state is RENDERED, then the element has the
+ * corresponding
+ * property when rendered on a page. If the element is a placeholder shape as
+ * determined by the placeholder
+ * field, and it inherits from a placeholder shape, the corresponding field
+ * may be unset, meaning that the property value is inherited from a parent
+ * placeholder. If the element does not inherit, then the field will contain
+ * the rendered value. This is the default value.
+ * - "NOT_RENDERED" : If a property's state is NOT_RENDERED, then the element
+ * does not have the
+ * corresponding property when rendered on a page. However, the field may
+ * still be set so it can be inherited by child shapes. To remove a property
+ * from a rendered element, set its property_state to NOT_RENDERED.
+ * - "INHERIT" : If a property's state is INHERIT, then the property state
+ * uses the value of
+ * corresponding `property_state` field on the parent shape. Elements that do
+ * not inherit will never have an INHERIT property state.
+ */
+ core.String propertyState;
+ /** Solid color fill. */
+ SolidFill solidFill;
+
+ ShapeBackgroundFill();
+
+ ShapeBackgroundFill.fromJson(core.Map _json) {
+ if (_json.containsKey("propertyState")) {
+ propertyState = _json["propertyState"];
+ }
+ if (_json.containsKey("solidFill")) {
+ solidFill = new SolidFill.fromJson(_json["solidFill"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (propertyState != null) {
+ _json["propertyState"] = propertyState;
+ }
+ if (solidFill != null) {
+ _json["solidFill"] = (solidFill).toJson();
+ }
+ return _json;
+ }
+}
+
+/**
+ * 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 {
+ /**
+ * The hyperlink destination of the shape. If unset, there is no link. Links
+ * are not inherited from parent placeholders.
+ */
+ Link link;
+ /**
+ * The outline of the shape. If unset, the outline is inherited from a
+ * parent placeholder if it exists. If the shape has no parent, then the
+ * default outline depends on the shape type, matching the defaults for
+ * new shapes created in the Slides editor.
+ */
+ Outline outline;
+ /**
+ * The shadow properties of the shape. If unset, the shadow is inherited from
+ * a parent placeholder if it exists. If the shape has no parent, then the
+ * default shadow matches the defaults for new shapes created in the Slides
+ * editor. This property is read-only.
+ */
+ Shadow shadow;
+ /**
+ * The background fill of the shape. If unset, the background fill is
+ * inherited from a parent placeholder if it exists. If the shape has no
+ * parent, then the default background fill depends on the shape type,
+ * matching the defaults for new shapes created in the Slides editor.
+ */
+ ShapeBackgroundFill shapeBackgroundFill;
+
+ ShapeProperties();
+
+ ShapeProperties.fromJson(core.Map _json) {
+ if (_json.containsKey("link")) {
+ link = new Link.fromJson(_json["link"]);
+ }
+ if (_json.containsKey("outline")) {
+ outline = new Outline.fromJson(_json["outline"]);
+ }
+ if (_json.containsKey("shadow")) {
+ shadow = new Shadow.fromJson(_json["shadow"]);
+ }
+ if (_json.containsKey("shapeBackgroundFill")) {
+ shapeBackgroundFill = new ShapeBackgroundFill.fromJson(_json["shapeBackgroundFill"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (link != null) {
+ _json["link"] = (link).toJson();
+ }
+ if (outline != null) {
+ _json["outline"] = (outline).toJson();
+ }
+ if (shadow != null) {
+ _json["shadow"] = (shadow).toJson();
+ }
+ if (shapeBackgroundFill != null) {
+ _json["shapeBackgroundFill"] = (shapeBackgroundFill).toJson();
+ }
+ return _json;
+ }
+}
+
+/**
+ * A PageElement kind representing
+ * a linked chart embedded from Google Sheets.
+ */
+class SheetsChart {
+ /**
+ * The ID of the specific chart in the Google Sheets spreadsheet that is
+ * embedded.
+ */
+ core.int chartId;
+ /**
+ * 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.
+ */
+ core.String contentUrl;
+ /** The properties of the Sheets chart. */
+ SheetsChartProperties sheetsChartProperties;
+ /**
+ * The ID of the Google Sheets spreadsheet that contains the source chart.
+ */
+ core.String spreadsheetId;
+
+ SheetsChart();
+
+ SheetsChart.fromJson(core.Map _json) {
+ if (_json.containsKey("chartId")) {
+ chartId = _json["chartId"];
+ }
+ if (_json.containsKey("contentUrl")) {
+ contentUrl = _json["contentUrl"];
+ }
+ if (_json.containsKey("sheetsChartProperties")) {
+ sheetsChartProperties = new SheetsChartProperties.fromJson(_json["sheetsChartProperties"]);
+ }
+ if (_json.containsKey("spreadsheetId")) {
+ spreadsheetId = _json["spreadsheetId"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (chartId != null) {
+ _json["chartId"] = chartId;
+ }
+ if (contentUrl != null) {
+ _json["contentUrl"] = contentUrl;
+ }
+ if (sheetsChartProperties != null) {
+ _json["sheetsChartProperties"] = (sheetsChartProperties).toJson();
+ }
+ if (spreadsheetId != null) {
+ _json["spreadsheetId"] = spreadsheetId;
+ }
+ return _json;
+ }
+}
+
+/** The properties of the SheetsChart. */
+class SheetsChartProperties {
+ /** The properties of the embedded chart image. */
+ ImageProperties chartImageProperties;
+
+ SheetsChartProperties();
+
+ SheetsChartProperties.fromJson(core.Map _json) {
+ if (_json.containsKey("chartImageProperties")) {
+ chartImageProperties = new ImageProperties.fromJson(_json["chartImageProperties"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (chartImageProperties != null) {
+ _json["chartImageProperties"] = (chartImageProperties).toJson();
+ }
+ return _json;
+ }
+}
+
+/** A width and height. */
+class Size {
+ /** The height of the object. */
+ Dimension height;
+ /** The width of the object. */
+ Dimension width;
+
+ Size();
+
+ Size.fromJson(core.Map _json) {
+ if (_json.containsKey("height")) {
+ height = new Dimension.fromJson(_json["height"]);
+ }
+ if (_json.containsKey("width")) {
+ width = new Dimension.fromJson(_json["width"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (height != null) {
+ _json["height"] = (height).toJson();
+ }
+ if (width != null) {
+ _json["width"] = (width).toJson();
+ }
+ return _json;
+ }
+}
+
+/**
+ * The properties of Page that are only
+ * relevant for pages with page_type SLIDE.
+ */
+class SlideProperties {
+ /** The object ID of the layout that this slide is based on. */
+ core.String layoutObjectId;
+ /** The object ID of the master that this slide is based on. */
+ core.String masterObjectId;
+
+ SlideProperties();
+
+ SlideProperties.fromJson(core.Map _json) {
+ if (_json.containsKey("layoutObjectId")) {
+ layoutObjectId = _json["layoutObjectId"];
+ }
+ if (_json.containsKey("masterObjectId")) {
+ masterObjectId = _json["masterObjectId"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (layoutObjectId != null) {
+ _json["layoutObjectId"] = layoutObjectId;
+ }
+ if (masterObjectId != null) {
+ _json["masterObjectId"] = masterObjectId;
+ }
+ return _json;
+ }
+}
+
+/**
+ * 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 {
+ /**
+ * 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.
+ */
+ core.double alpha;
+ /** The color value of the solid fill. */
+ OpaqueColor color;
+
+ SolidFill();
+
+ SolidFill.fromJson(core.Map _json) {
+ if (_json.containsKey("alpha")) {
+ alpha = _json["alpha"];
+ }
+ if (_json.containsKey("color")) {
+ color = new OpaqueColor.fromJson(_json["color"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (alpha != null) {
+ _json["alpha"] = alpha;
+ }
+ if (color != null) {
+ _json["color"] = (color).toJson();
+ }
+ return _json;
+ }
+}
+
+/**
+ * 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 {
+ /**
+ * 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 either in PNG, JPEG, or GIF
+ * format.
+ */
+ core.String contentUrl;
+ /** The original size of the picture fill. This field is read-only. */
+ Size size;
+
+ StretchedPictureFill();
+
+ StretchedPictureFill.fromJson(core.Map _json) {
+ if (_json.containsKey("contentUrl")) {
+ contentUrl = _json["contentUrl"];
+ }
+ if (_json.containsKey("size")) {
+ size = new Size.fromJson(_json["size"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (contentUrl != null) {
+ _json["contentUrl"] = contentUrl;
+ }
+ if (size != null) {
+ _json["size"] = (size).toJson();
+ }
+ return _json;
+ }
+}
+
+/** A criteria that matches a specific string of text in a shape or table. */
+class SubstringMatchCriteria {
+ /**
+ * Indicates whether the search should respect case:
+ *
+ * - `True`: the search is case sensitive.
+ * - `False`: the search is case insensitive.
+ */
+ core.bool matchCase;
+ /** The text to search for in the shape or table. */
+ core.String text;
+
+ SubstringMatchCriteria();
+
+ SubstringMatchCriteria.fromJson(core.Map _json) {
+ if (_json.containsKey("matchCase")) {
+ matchCase = _json["matchCase"];
+ }
+ if (_json.containsKey("text")) {
+ text = _json["text"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (matchCase != null) {
+ _json["matchCase"] = matchCase;
+ }
+ if (text != null) {
+ _json["text"] = text;
+ }
+ return _json;
+ }
+}
+
+/**
+ * A PageElement kind representing a
+ * table.
+ */
+class Table {
+ /** Number of columns in the table. */
+ core.int columns;
+ /** Number of rows in the table. */
+ core.int rows;
+ /** Properties of each column. */
+ core.List<TableColumnProperties> tableColumns;
+ /**
+ * 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.
+ */
+ core.List<TableRow> tableRows;
+
+ Table();
+
+ Table.fromJson(core.Map _json) {
+ if (_json.containsKey("columns")) {
+ columns = _json["columns"];
+ }
+ if (_json.containsKey("rows")) {
+ rows = _json["rows"];
+ }
+ if (_json.containsKey("tableColumns")) {
+ tableColumns = _json["tableColumns"].map((value) => new TableColumnProperties.fromJson(value)).toList();
+ }
+ if (_json.containsKey("tableRows")) {
+ tableRows = _json["tableRows"].map((value) => new TableRow.fromJson(value)).toList();
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (columns != null) {
+ _json["columns"] = columns;
+ }
+ if (rows != null) {
+ _json["rows"] = rows;
+ }
+ if (tableColumns != null) {
+ _json["tableColumns"] = tableColumns.map((value) => (value).toJson()).toList();
+ }
+ if (tableRows != null) {
+ _json["tableRows"] = tableRows.map((value) => (value).toJson()).toList();
+ }
+ return _json;
+ }
+}
+
+/** Properties and contents of each table cell. */
+class TableCell {
+ /** Column span of the cell. */
+ core.int columnSpan;
+ /** The location of the cell within the table. */
+ TableCellLocation location;
+ /** Row span of the cell. */
+ core.int rowSpan;
+ /** The properties of the table cell. */
+ TableCellProperties tableCellProperties;
+ /** The text content of the cell. */
+ TextContent text;
+
+ TableCell();
+
+ TableCell.fromJson(core.Map _json) {
+ if (_json.containsKey("columnSpan")) {
+ columnSpan = _json["columnSpan"];
+ }
+ if (_json.containsKey("location")) {
+ location = new TableCellLocation.fromJson(_json["location"]);
+ }
+ if (_json.containsKey("rowSpan")) {
+ rowSpan = _json["rowSpan"];
+ }
+ if (_json.containsKey("tableCellProperties")) {
+ tableCellProperties = new TableCellProperties.fromJson(_json["tableCellProperties"]);
+ }
+ if (_json.containsKey("text")) {
+ text = new TextContent.fromJson(_json["text"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (columnSpan != null) {
+ _json["columnSpan"] = columnSpan;
+ }
+ if (location != null) {
+ _json["location"] = (location).toJson();
+ }
+ if (rowSpan != null) {
+ _json["rowSpan"] = rowSpan;
+ }
+ if (tableCellProperties != null) {
+ _json["tableCellProperties"] = (tableCellProperties).toJson();
+ }
+ if (text != null) {
+ _json["text"] = (text).toJson();
+ }
+ return _json;
+ }
+}
+
+/** The table cell background fill. */
+class TableCellBackgroundFill {
+ /**
+ * The background fill property state.
+ *
+ * Updating the 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.
+ * Possible string values are:
+ * - "RENDERED" : If a property's state is RENDERED, then the element has the
+ * corresponding
+ * property when rendered on a page. If the element is a placeholder shape as
+ * determined by the placeholder
+ * field, and it inherits from a placeholder shape, the corresponding field
+ * may be unset, meaning that the property value is inherited from a parent
+ * placeholder. If the element does not inherit, then the field will contain
+ * the rendered value. This is the default value.
+ * - "NOT_RENDERED" : If a property's state is NOT_RENDERED, then the element
+ * does not have the
+ * corresponding property when rendered on a page. However, the field may
+ * still be set so it can be inherited by child shapes. To remove a property
+ * from a rendered element, set its property_state to NOT_RENDERED.
+ * - "INHERIT" : If a property's state is INHERIT, then the property state
+ * uses the value of
+ * corresponding `property_state` field on the parent shape. Elements that do
+ * not inherit will never have an INHERIT property state.
+ */
+ core.String propertyState;
+ /** Solid color fill. */
+ SolidFill solidFill;
+
+ TableCellBackgroundFill();
+
+ TableCellBackgroundFill.fromJson(core.Map _json) {
+ if (_json.containsKey("propertyState")) {
+ propertyState = _json["propertyState"];
+ }
+ if (_json.containsKey("solidFill")) {
+ solidFill = new SolidFill.fromJson(_json["solidFill"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (propertyState != null) {
+ _json["propertyState"] = propertyState;
+ }
+ if (solidFill != null) {
+ _json["solidFill"] = (solidFill).toJson();
+ }
+ return _json;
+ }
+}
+
+/** A location of a single table cell within a table. */
+class TableCellLocation {
+ /** The 0-based column index. */
+ core.int columnIndex;
+ /** The 0-based row index. */
+ core.int rowIndex;
+
+ TableCellLocation();
+
+ TableCellLocation.fromJson(core.Map _json) {
+ if (_json.containsKey("columnIndex")) {
+ columnIndex = _json["columnIndex"];
+ }
+ if (_json.containsKey("rowIndex")) {
+ rowIndex = _json["rowIndex"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (columnIndex != null) {
+ _json["columnIndex"] = columnIndex;
+ }
+ if (rowIndex != null) {
+ _json["rowIndex"] = rowIndex;
+ }
+ return _json;
+ }
+}
+
+/** The properties of the TableCell. */
+class TableCellProperties {
+ /**
+ * The background fill of the table cell. The default fill matches the fill
+ * for newly created table cells in the Slides editor.
+ */
+ TableCellBackgroundFill tableCellBackgroundFill;
+
+ TableCellProperties();
+
+ TableCellProperties.fromJson(core.Map _json) {
+ if (_json.containsKey("tableCellBackgroundFill")) {
+ tableCellBackgroundFill = new TableCellBackgroundFill.fromJson(_json["tableCellBackgroundFill"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (tableCellBackgroundFill != null) {
+ _json["tableCellBackgroundFill"] = (tableCellBackgroundFill).toJson();
+ }
+ return _json;
+ }
+}
+
+/** Properties of each column in a table. */
+class TableColumnProperties {
+ /** Width of a column. */
+ Dimension columnWidth;
+
+ TableColumnProperties();
+
+ TableColumnProperties.fromJson(core.Map _json) {
+ if (_json.containsKey("columnWidth")) {
+ columnWidth = new Dimension.fromJson(_json["columnWidth"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (columnWidth != null) {
+ _json["columnWidth"] = (columnWidth).toJson();
+ }
+ return _json;
+ }
+}
+
+/**
+ * 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 ]
+ */
+class TableRange {
+ /** The column span of the table range. */
+ core.int columnSpan;
+ /** The starting location of the table range. */
+ TableCellLocation location;
+ /** The row span of the table range. */
+ core.int rowSpan;
+
+ TableRange();
+
+ TableRange.fromJson(core.Map _json) {
+ if (_json.containsKey("columnSpan")) {
+ columnSpan = _json["columnSpan"];
+ }
+ if (_json.containsKey("location")) {
+ location = new TableCellLocation.fromJson(_json["location"]);
+ }
+ if (_json.containsKey("rowSpan")) {
+ rowSpan = _json["rowSpan"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (columnSpan != null) {
+ _json["columnSpan"] = columnSpan;
+ }
+ if (location != null) {
+ _json["location"] = (location).toJson();
+ }
+ if (rowSpan != null) {
+ _json["rowSpan"] = rowSpan;
+ }
+ return _json;
+ }
+}
+
+/** Properties and contents of each row in a table. */
+class TableRow {
+ /** Height of a row. */
+ Dimension rowHeight;
+ /**
+ * 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.
+ */
+ core.List<TableCell> tableCells;
+
+ TableRow();
+
+ TableRow.fromJson(core.Map _json) {
+ if (_json.containsKey("rowHeight")) {
+ rowHeight = new Dimension.fromJson(_json["rowHeight"]);
+ }
+ if (_json.containsKey("tableCells")) {
+ tableCells = _json["tableCells"].map((value) => new TableCell.fromJson(value)).toList();
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (rowHeight != null) {
+ _json["rowHeight"] = (rowHeight).toJson();
+ }
+ if (tableCells != null) {
+ _json["tableCells"] = tableCells.map((value) => (value).toJson()).toList();
+ }
+ return _json;
+ }
+}
+
+/**
+ * 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 {
+ /** The bulleted lists contained in this text, keyed by list ID. */
+ core.Map<core.String, List> lists;
+ /**
+ * The text contents broken down into its component parts, including styling
+ * information. This property is read-only.
+ */
+ core.List<TextElement> textElements;
+
+ TextContent();
+
+ TextContent.fromJson(core.Map _json) {
+ if (_json.containsKey("lists")) {
+ lists = commons.mapMap(_json["lists"], (item) => new List.fromJson(item));
+ }
+ if (_json.containsKey("textElements")) {
+ textElements = _json["textElements"].map((value) => new TextElement.fromJson(value)).toList();
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (lists != null) {
+ _json["lists"] = commons.mapMap(lists, (item) => (item).toJson());
+ }
+ if (textElements != null) {
+ _json["textElements"] = textElements.map((value) => (value).toJson()).toList();
+ }
+ return _json;
+ }
+}
+
+/**
+ * A TextElement describes the content of a range of indices in the text content
+ * of a Shape or TableCell.
+ */
+class TextElement {
+ /**
+ * A TextElement representing a spot in the text that is dynamically
+ * replaced with content that can change over time.
+ */
+ AutoText autoText;
+ /**
+ * The zero-based end index of this text element, exclusive, in Unicode code
+ * units.
+ */
+ core.int endIndex;
+ /**
+ * A marker representing the beginning of a new paragraph.
+ *
+ * The `start_index` and `end_index` of this TextElement represent the
+ * range of the paragraph. Other TextElements with an index range contained
+ * inside this paragraph's range are considered to be part of this
+ * paragraph. The range of indices of two separate paragraphs will never
+ * overlap.
+ */
+ ParagraphMarker paragraphMarker;
+ /**
+ * The zero-based start index of this text element, in Unicode code units.
+ */
+ core.int startIndex;
+ /**
+ * A TextElement representing a run of text where all of the characters
+ * in the run have the same TextStyle.
+ *
+ * The `start_index` and `end_index` of TextRuns will always be fully
+ * contained in the index range of a single `paragraph_marker` TextElement.
+ * In other words, a TextRun will never span multiple paragraphs.
+ */
+ TextRun textRun;
+
+ TextElement();
+
+ TextElement.fromJson(core.Map _json) {
+ if (_json.containsKey("autoText")) {
+ autoText = new AutoText.fromJson(_json["autoText"]);
+ }
+ if (_json.containsKey("endIndex")) {
+ endIndex = _json["endIndex"];
+ }
+ if (_json.containsKey("paragraphMarker")) {
+ paragraphMarker = new ParagraphMarker.fromJson(_json["paragraphMarker"]);
+ }
+ if (_json.containsKey("startIndex")) {
+ startIndex = _json["startIndex"];
+ }
+ if (_json.containsKey("textRun")) {
+ textRun = new TextRun.fromJson(_json["textRun"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (autoText != null) {
+ _json["autoText"] = (autoText).toJson();
+ }
+ if (endIndex != null) {
+ _json["endIndex"] = endIndex;
+ }
+ if (paragraphMarker != null) {
+ _json["paragraphMarker"] = (paragraphMarker).toJson();
+ }
+ if (startIndex != null) {
+ _json["startIndex"] = startIndex;
+ }
+ if (textRun != null) {
+ _json["textRun"] = (textRun).toJson();
+ }
+ return _json;
+ }
+}
+
+/**
+ * A TextElement kind that represents a run of text that all has the same
+ * styling.
+ */
+class TextRun {
+ /** The text of this run. */
+ core.String content;
+ /** The styling applied to this run. */
+ TextStyle style;
+
+ TextRun();
+
+ TextRun.fromJson(core.Map _json) {
+ if (_json.containsKey("content")) {
+ content = _json["content"];
+ }
+ if (_json.containsKey("style")) {
+ style = new TextStyle.fromJson(_json["style"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (content != null) {
+ _json["content"] = content;
+ }
+ if (style != null) {
+ _json["style"] = (style).toJson();
+ }
+ return _json;
+ }
+}
+
+/**
+ * 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 {
+ /**
+ * The background color of the text. If set, the color is either opaque or
+ * transparent, depending on if the `opaque_color` field in it is set.
+ */
+ OptionalColor backgroundColor;
+ /**
+ * 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.
+ * Possible string values are:
+ * - "BASELINE_OFFSET_UNSPECIFIED" : The text's baseline offset is inherited
+ * from the parent.
+ * - "NONE" : The text is not vertically offset.
+ * - "SUPERSCRIPT" : The text is vertically offset upwards (superscript).
+ * - "SUBSCRIPT" : The text is vertically offset downwards (subscript).
+ */
+ core.String baselineOffset;
+ /** Whether or not the text is bold. */
+ core.bool 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.
+ */
+ core.String fontFamily;
+ /**
+ * The size of the text's font. When read, the `font_size` will specified in
+ * points.
+ */
+ Dimension fontSize;
+ /**
+ * The color of the text itself. If set, the color is either opaque or
+ * transparent, depending on if the `opaque_color` field in it is set.
+ */
+ OptionalColor foregroundColor;
+ /** Whether or not the text is italicized. */
+ core.bool italic;
+ /**
+ * The hyperlink destination of the text. If unset, there is no link. Links
+ * are not inherited from parent text.
+ *
+ * Changing the link in an update request causes some other changes to the
+ * text style of the range:
+ *
+ * * When setting a link, the text foreground color will be set to
+ * ThemeColorType.HYPERLINK and the text will
+ * be underlined. If these fields are modified in the same
+ * request, those values will be used instead of the link defaults.
+ * * Setting a link on a text range that overlaps with an existing link will
+ * also update the existing link to point to the new URL.
+ * * Links are not settable on newline characters. As a result, setting a link
+ * on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
+ * will separate the newline character(s) into their own text runs. The
+ * link will be applied separately to the runs before and after the newline.
+ * * Removing a link will update the text style of the range to match the
+ * style of the preceding text (or the default text styles if the preceding
+ * text is another link) unless different styles are being set in the same
+ * request.
+ */
+ Link link;
+ /** Whether or not the text is in small capital letters. */
+ core.bool smallCaps;
+ /** Whether or not the text is struck through. */
+ core.bool strikethrough;
+ /** Whether or not the text is underlined. */
+ core.bool underline;
+
+ TextStyle();
+
+ TextStyle.fromJson(core.Map _json) {
+ if (_json.containsKey("backgroundColor")) {
+ backgroundColor = new OptionalColor.fromJson(_json["backgroundColor"]);
+ }
+ if (_json.containsKey("baselineOffset")) {
+ baselineOffset = _json["baselineOffset"];
+ }
+ if (_json.containsKey("bold")) {
+ bold = _json["bold"];
+ }
+ if (_json.containsKey("fontFamily")) {
+ fontFamily = _json["fontFamily"];
+ }
+ if (_json.containsKey("fontSize")) {
+ fontSize = new Dimension.fromJson(_json["fontSize"]);
+ }
+ if (_json.containsKey("foregroundColor")) {
+ foregroundColor = new OptionalColor.fromJson(_json["foregroundColor"]);
+ }
+ if (_json.containsKey("italic")) {
+ italic = _json["italic"];
+ }
+ if (_json.containsKey("link")) {
+ link = new Link.fromJson(_json["link"]);
+ }
+ if (_json.containsKey("smallCaps")) {
+ smallCaps = _json["smallCaps"];
+ }
+ if (_json.containsKey("strikethrough")) {
+ strikethrough = _json["strikethrough"];
+ }
+ if (_json.containsKey("underline")) {
+ underline = _json["underline"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (backgroundColor != null) {
+ _json["backgroundColor"] = (backgroundColor).toJson();
+ }
+ if (baselineOffset != null) {
+ _json["baselineOffset"] = baselineOffset;
+ }
+ if (bold != null) {
+ _json["bold"] = bold;
+ }
+ if (fontFamily != null) {
+ _json["fontFamily"] = fontFamily;
+ }
+ if (fontSize != null) {
+ _json["fontSize"] = (fontSize).toJson();
+ }
+ if (foregroundColor != null) {
+ _json["foregroundColor"] = (foregroundColor).toJson();
+ }
+ if (italic != null) {
+ _json["italic"] = italic;
+ }
+ if (link != null) {
+ _json["link"] = (link).toJson();
+ }
+ if (smallCaps != null) {
+ _json["smallCaps"] = smallCaps;
+ }
+ if (strikethrough != null) {
+ _json["strikethrough"] = strikethrough;
+ }
+ if (underline != null) {
+ _json["underline"] = underline;
+ }
+ return _json;
+ }
+}
+
+/** A pair mapping a theme color type to the concrete color it represents. */
+class ThemeColorPair {
+ /** The concrete color corresponding to the theme color type above. */
+ RgbColor color;
+ /**
+ * The type of the theme color.
+ * Possible string values are:
+ * - "THEME_COLOR_TYPE_UNSPECIFIED" : Unspecified theme color. This value
+ * should not be used.
+ * - "DARK1" : Represents the first dark color.
+ * - "LIGHT1" : Represents the first light color.
+ * - "DARK2" : Represents the second dark color.
+ * - "LIGHT2" : Represents the second light color.
+ * - "ACCENT1" : Represents the first accent color.
+ * - "ACCENT2" : Represents the second accent color.
+ * - "ACCENT3" : Represents the third accent color.
+ * - "ACCENT4" : Represents the fourth accent color.
+ * - "ACCENT5" : Represents the fifth accent color.
+ * - "ACCENT6" : Represents the sixth accent color.
+ * - "HYPERLINK" : Represents the color to use for hyperlinks.
+ * - "FOLLOWED_HYPERLINK" : Represents the color to use for visited
+ * hyperlinks.
+ * - "TEXT1" : Represents the first text color.
+ * - "BACKGROUND1" : Represents the first background color.
+ * - "TEXT2" : Represents the second text color.
+ * - "BACKGROUND2" : Represents the second background color.
+ */
+ core.String type;
+
+ ThemeColorPair();
+
+ ThemeColorPair.fromJson(core.Map _json) {
+ if (_json.containsKey("color")) {
+ color = new RgbColor.fromJson(_json["color"]);
+ }
+ if (_json.containsKey("type")) {
+ type = _json["type"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (color != null) {
+ _json["color"] = (color).toJson();
+ }
+ if (type != null) {
+ _json["type"] = type;
+ }
+ return _json;
+ }
+}
+
+/** Update the properties of an Image. */
+class UpdateImagePropertiesRequest {
+ /**
+ * 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.
+ */
+ core.String fields;
+ /** The image properties to update. */
+ ImageProperties imageProperties;
+ /** The object ID of the image the updates are applied to. */
+ core.String objectId;
+
+ UpdateImagePropertiesRequest();
+
+ UpdateImagePropertiesRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("fields")) {
+ fields = _json["fields"];
+ }
+ if (_json.containsKey("imageProperties")) {
+ imageProperties = new ImageProperties.fromJson(_json["imageProperties"]);
+ }
+ if (_json.containsKey("objectId")) {
+ objectId = _json["objectId"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (fields != null) {
+ _json["fields"] = fields;
+ }
+ if (imageProperties != null) {
+ _json["imageProperties"] = (imageProperties).toJson();
+ }
+ if (objectId != null) {
+ _json["objectId"] = objectId;
+ }
+ return _json;
+ }
+}
+
+/** Updates the properties of a Line. */
+class UpdateLinePropertiesRequest {
+ /**
+ * 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.
+ */
+ core.String fields;
+ /** The line properties to update. */
+ LineProperties lineProperties;
+ /** The object ID of the line the update is applied to. */
+ core.String objectId;
+
+ UpdateLinePropertiesRequest();
+
+ UpdateLinePropertiesRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("fields")) {
+ fields = _json["fields"];
+ }
+ if (_json.containsKey("lineProperties")) {
+ lineProperties = new LineProperties.fromJson(_json["lineProperties"]);
+ }
+ if (_json.containsKey("objectId")) {
+ objectId = _json["objectId"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (fields != null) {
+ _json["fields"] = fields;
+ }
+ if (lineProperties != null) {
+ _json["lineProperties"] = (lineProperties).toJson();
+ }
+ if (objectId != null) {
+ _json["objectId"] = objectId;
+ }
+ return _json;
+ }
+}
+
+/** Updates the transform of a page element. */
+class UpdatePageElementTransformRequest {
+ /**
+ * The apply mode of the transform update.
+ * Possible string values are:
+ * - "APPLY_MODE_UNSPECIFIED" : Unspecified mode.
+ * - "RELATIVE" : Applies the new AffineTransform matrix to the existing one,
+ * and
+ * replaces the existing one with the resulting concatenation.
+ * - "ABSOLUTE" : Replaces the existing AffineTransform matrix with the new
+ * one.
+ */
+ core.String applyMode;
+ /** The object ID of the page element to update. */
+ core.String objectId;
+ /** The input transform matrix used to update the page element. */
+ AffineTransform transform;
+
+ UpdatePageElementTransformRequest();
+
+ UpdatePageElementTransformRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("applyMode")) {
+ applyMode = _json["applyMode"];
+ }
+ if (_json.containsKey("objectId")) {
+ objectId = _json["objectId"];
+ }
+ if (_json.containsKey("transform")) {
+ transform = new AffineTransform.fromJson(_json["transform"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (applyMode != null) {
+ _json["applyMode"] = applyMode;
+ }
+ if (objectId != null) {
+ _json["objectId"] = objectId;
+ }
+ if (transform != null) {
+ _json["transform"] = (transform).toJson();
+ }
+ return _json;
+ }
+}
+
+/** Updates the properties of a Page. */
+class UpdatePagePropertiesRequest {
+ /**
+ * 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.
+ */
+ core.String fields;
+ /** The object ID of the page the update is applied to. */
+ core.String objectId;
+ /** The page properties to update. */
+ PageProperties pageProperties;
+
+ UpdatePagePropertiesRequest();
+
+ UpdatePagePropertiesRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("fields")) {
+ fields = _json["fields"];
+ }
+ if (_json.containsKey("objectId")) {
+ objectId = _json["objectId"];
+ }
+ if (_json.containsKey("pageProperties")) {
+ pageProperties = new PageProperties.fromJson(_json["pageProperties"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (fields != null) {
+ _json["fields"] = fields;
+ }
+ if (objectId != null) {
+ _json["objectId"] = objectId;
+ }
+ if (pageProperties != null) {
+ _json["pageProperties"] = (pageProperties).toJson();
+ }
+ return _json;
+ }
+}
+
+/** Update the properties of a Shape. */
+class UpdateShapePropertiesRequest {
+ /**
+ * 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.
+ */
+ core.String fields;
+ /** The object ID of the shape the updates are applied to. */
+ core.String objectId;
+ /** The shape properties to update. */
+ ShapeProperties shapeProperties;
+
+ UpdateShapePropertiesRequest();
+
+ UpdateShapePropertiesRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("fields")) {
+ fields = _json["fields"];
+ }
+ if (_json.containsKey("objectId")) {
+ objectId = _json["objectId"];
+ }
+ if (_json.containsKey("shapeProperties")) {
+ shapeProperties = new ShapeProperties.fromJson(_json["shapeProperties"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (fields != null) {
+ _json["fields"] = fields;
+ }
+ if (objectId != null) {
+ _json["objectId"] = objectId;
+ }
+ if (shapeProperties != null) {
+ _json["shapeProperties"] = (shapeProperties).toJson();
+ }
+ return _json;
+ }
+}
+
+/** Updates the position of slides in the presentation. */
+class UpdateSlidesPositionRequest {
+ /**
+ * 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.
+ */
+ core.int insertionIndex;
+ /**
+ * 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.
+ */
+ core.List<core.String> slideObjectIds;
+
+ UpdateSlidesPositionRequest();
+
+ UpdateSlidesPositionRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("insertionIndex")) {
+ insertionIndex = _json["insertionIndex"];
+ }
+ if (_json.containsKey("slideObjectIds")) {
+ slideObjectIds = _json["slideObjectIds"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (insertionIndex != null) {
+ _json["insertionIndex"] = insertionIndex;
+ }
+ if (slideObjectIds != null) {
+ _json["slideObjectIds"] = slideObjectIds;
+ }
+ return _json;
+ }
+}
+
+/** Update the properties of a TableCell. */
+class UpdateTableCellPropertiesRequest {
+ /**
+ * 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.
+ */
+ core.String fields;
+ /** The object ID of the table. */
+ core.String objectId;
+ /** The table cell properties to update. */
+ TableCellProperties tableCellProperties;
+ /**
+ * The table range representing the subset of the table to which the updates
+ * are applied. If a table range is not specified, the updates will apply to
+ * the entire table.
+ */
+ TableRange tableRange;
+
+ UpdateTableCellPropertiesRequest();
+
+ UpdateTableCellPropertiesRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("fields")) {
+ fields = _json["fields"];
+ }
+ if (_json.containsKey("objectId")) {
+ objectId = _json["objectId"];
+ }
+ if (_json.containsKey("tableCellProperties")) {
+ tableCellProperties = new TableCellProperties.fromJson(_json["tableCellProperties"]);
+ }
+ if (_json.containsKey("tableRange")) {
+ tableRange = new TableRange.fromJson(_json["tableRange"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (fields != null) {
+ _json["fields"] = fields;
+ }
+ if (objectId != null) {
+ _json["objectId"] = objectId;
+ }
+ if (tableCellProperties != null) {
+ _json["tableCellProperties"] = (tableCellProperties).toJson();
+ }
+ if (tableRange != null) {
+ _json["tableRange"] = (tableRange).toJson();
+ }
+ return _json;
+ }
+}
+
+/**
+ * Update the styling of text in a Shape or
+ * Table.
+ */
+class UpdateTextStyleRequest {
+ /**
+ * The optional table cell location if the text to be styled is in a table
+ * cell. If present, the object_id must refer to a table.
+ */
+ TableCellLocation cellLocation;
+ /**
+ * 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.
+ */
+ core.String fields;
+ /** The object ID of the shape or table with the text to be styled. */
+ core.String objectId;
+ /**
+ * The style(s) to set on the text.
+ *
+ * If the value for a particular style matches that of the parent, that style
+ * will be set to inherit.
+ *
+ * Certain text style changes may cause other changes meant to mirror the
+ * behavior of the Slides editor. See the documentation of
+ * TextStyle for more information.
+ */
+ TextStyle style;
+ /**
+ * The range of text to style.
+ *
+ * The range may be extended to include adjacent newlines.
+ *
+ * If the range fully contains a paragraph belonging to a list, the
+ * paragraph's bullet is also updated with the matching text style.
+ */
+ Range textRange;
+
+ UpdateTextStyleRequest();
+
+ UpdateTextStyleRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("cellLocation")) {
+ cellLocation = new TableCellLocation.fromJson(_json["cellLocation"]);
+ }
+ if (_json.containsKey("fields")) {
+ fields = _json["fields"];
+ }
+ if (_json.containsKey("objectId")) {
+ objectId = _json["objectId"];
+ }
+ if (_json.containsKey("style")) {
+ style = new TextStyle.fromJson(_json["style"]);
+ }
+ if (_json.containsKey("textRange")) {
+ textRange = new Range.fromJson(_json["textRange"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (cellLocation != null) {
+ _json["cellLocation"] = (cellLocation).toJson();
+ }
+ if (fields != null) {
+ _json["fields"] = fields;
+ }
+ if (objectId != null) {
+ _json["objectId"] = objectId;
+ }
+ if (style != null) {
+ _json["style"] = (style).toJson();
+ }
+ if (textRange != null) {
+ _json["textRange"] = (textRange).toJson();
+ }
+ return _json;
+ }
+}
+
+/** Update the properties of a Video. */
+class UpdateVideoPropertiesRequest {
+ /**
+ * 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.
+ */
+ core.String fields;
+ /** The object ID of the video the updates are applied to. */
+ core.String objectId;
+ /** The video properties to update. */
+ VideoProperties videoProperties;
+
+ UpdateVideoPropertiesRequest();
+
+ UpdateVideoPropertiesRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("fields")) {
+ fields = _json["fields"];
+ }
+ if (_json.containsKey("objectId")) {
+ objectId = _json["objectId"];
+ }
+ if (_json.containsKey("videoProperties")) {
+ videoProperties = new VideoProperties.fromJson(_json["videoProperties"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (fields != null) {
+ _json["fields"] = fields;
+ }
+ if (objectId != null) {
+ _json["objectId"] = objectId;
+ }
+ if (videoProperties != null) {
+ _json["videoProperties"] = (videoProperties).toJson();
+ }
+ return _json;
+ }
+}
+
+/**
+ * A PageElement kind representing a
+ * video.
+ */
+class Video {
+ /** The video source's unique identifier for this video. */
+ core.String id;
+ /**
+ * The video source.
+ * Possible string values are:
+ * - "SOURCE_UNSPECIFIED" : The video source is unspecified.
+ * - "YOUTUBE" : The video source is YouTube.
+ */
+ core.String source;
+ /**
+ * An URL to a video. The URL is valid as long as the source video
+ * exists and sharing settings do not change.
+ */
+ core.String url;
+ /** The properties of the video. */
+ VideoProperties videoProperties;
+
+ Video();
+
+ Video.fromJson(core.Map _json) {
+ if (_json.containsKey("id")) {
+ id = _json["id"];
+ }
+ if (_json.containsKey("source")) {
+ source = _json["source"];
+ }
+ if (_json.containsKey("url")) {
+ url = _json["url"];
+ }
+ if (_json.containsKey("videoProperties")) {
+ videoProperties = new VideoProperties.fromJson(_json["videoProperties"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (id != null) {
+ _json["id"] = id;
+ }
+ if (source != null) {
+ _json["source"] = source;
+ }
+ if (url != null) {
+ _json["url"] = url;
+ }
+ if (videoProperties != null) {
+ _json["videoProperties"] = (videoProperties).toJson();
+ }
+ return _json;
+ }
+}
+
+/** The properties of the Video. */
+class VideoProperties {
+ /**
+ * The outline of the video. The default outline matches the defaults for new
+ * videos created in the Slides editor.
+ */
+ Outline outline;
+
+ VideoProperties();
+
+ VideoProperties.fromJson(core.Map _json) {
+ if (_json.containsKey("outline")) {
+ outline = new Outline.fromJson(_json["outline"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (outline != null) {
+ _json["outline"] = (outline).toJson();
+ }
+ return _json;
+ }
+}
+
+/**
+ * A PageElement kind representing
+ * word art.
+ */
+class WordArt {
+ /** The text rendered as word art. */
+ core.String renderedText;
+
+ WordArt();
+
+ WordArt.fromJson(core.Map _json) {
+ if (_json.containsKey("renderedText")) {
+ renderedText = _json["renderedText"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (renderedText != null) {
+ _json["renderedText"] = renderedText;
+ }
+ return _json;
+ }
+}
« no previous file with comments | « generated/googleapis/lib/sheets/v4.dart ('k') | generated/googleapis/lib/storage/v1.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698