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

Side by Side 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 unified diff | 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 »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // This is a generated file (see the discoveryapis_generator project).
2
3 library googleapis.slides.v1;
4
5 import 'dart:core' as core;
6 import 'dart:async' as async;
7 import 'dart:convert' as convert;
8
9 import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons;
10 import 'package:http/http.dart' as http;
11
12 export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' show
13 ApiRequestError, DetailedApiRequestError;
14
15 const core.String USER_AGENT = 'dart-api-client slides/v1';
16
17 /** An API for creating and editing Google Slides presentations. */
18 class SlidesApi {
19 /** View and manage the files in your Google Drive */
20 static const DriveScope = "https://www.googleapis.com/auth/drive";
21
22 /** View the files in your Google Drive */
23 static const DriveReadonlyScope = "https://www.googleapis.com/auth/drive.reado nly";
24
25 /** View and manage your Google Slides presentations */
26 static const PresentationsScope = "https://www.googleapis.com/auth/presentatio ns";
27
28 /** View your Google Slides presentations */
29 static const PresentationsReadonlyScope = "https://www.googleapis.com/auth/pre sentations.readonly";
30
31 /** View and manage your spreadsheets in Google Drive */
32 static const SpreadsheetsScope = "https://www.googleapis.com/auth/spreadsheets ";
33
34 /** View your Google Spreadsheets */
35 static const SpreadsheetsReadonlyScope = "https://www.googleapis.com/auth/spre adsheets.readonly";
36
37
38 final commons.ApiRequester _requester;
39
40 PresentationsResourceApi get presentations => new PresentationsResourceApi(_re quester);
41
42 SlidesApi(http.Client client, {core.String rootUrl: "https://slides.googleapis .com/", core.String servicePath: ""}) :
43 _requester = new commons.ApiRequester(client, rootUrl, servicePath, USER_A GENT);
44 }
45
46
47 class PresentationsResourceApi {
48 final commons.ApiRequester _requester;
49
50 PresentationsPagesResourceApi get pages => new PresentationsPagesResourceApi(_ requester);
51
52 PresentationsResourceApi(commons.ApiRequester client) :
53 _requester = client;
54
55 /**
56 * Applies one or more updates to the presentation.
57 *
58 * Each request is validated before
59 * being applied. If any request is not valid, then the entire request will
60 * fail and nothing will be applied.
61 *
62 * Some requests have replies to
63 * give you some information about how they are applied. Other requests do
64 * not need to return information; these each return an empty reply.
65 * The order of replies matches that of the requests.
66 *
67 * For example, suppose you call batchUpdate with four updates, and only the
68 * third one returns information. The response would have two empty replies:
69 * the reply to the third request, and another empty reply, in that order.
70 *
71 * Because other users may be editing the presentation, the presentation
72 * might not exactly reflect your changes: your changes may
73 * be altered with respect to collaborator changes. If there are no
74 * collaborators, the presentation should reflect your changes. In any case,
75 * the updates in your request are guaranteed to be applied together
76 * atomically.
77 *
78 * [request] - The metadata request object.
79 *
80 * Request parameters:
81 *
82 * [presentationId] - The presentation to apply the updates to.
83 *
84 * Completes with a [BatchUpdatePresentationResponse].
85 *
86 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
87 * error.
88 *
89 * If the used [http.Client] completes with an error when making a REST call,
90 * this method will complete with the same error.
91 */
92 async.Future<BatchUpdatePresentationResponse> batchUpdate(BatchUpdatePresentat ionRequest request, core.String presentationId) {
93 var _url = null;
94 var _queryParams = new core.Map();
95 var _uploadMedia = null;
96 var _uploadOptions = null;
97 var _downloadOptions = commons.DownloadOptions.Metadata;
98 var _body = null;
99
100 if (request != null) {
101 _body = convert.JSON.encode((request).toJson());
102 }
103 if (presentationId == null) {
104 throw new core.ArgumentError("Parameter presentationId is required.");
105 }
106
107 _url = 'v1/presentations/' + commons.Escaper.ecapeVariable('$presentationId' ) + ':batchUpdate';
108
109 var _response = _requester.request(_url,
110 "POST",
111 body: _body,
112 queryParams: _queryParams,
113 uploadOptions: _uploadOptions,
114 uploadMedia: _uploadMedia,
115 downloadOptions: _downloadOptions);
116 return _response.then((data) => new BatchUpdatePresentationResponse.fromJson (data));
117 }
118
119 /**
120 * Creates a new presentation using the title given in the request. Other
121 * fields in the request are ignored.
122 * Returns the created presentation.
123 *
124 * [request] - The metadata request object.
125 *
126 * Request parameters:
127 *
128 * Completes with a [Presentation].
129 *
130 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
131 * error.
132 *
133 * If the used [http.Client] completes with an error when making a REST call,
134 * this method will complete with the same error.
135 */
136 async.Future<Presentation> create(Presentation request) {
137 var _url = null;
138 var _queryParams = new core.Map();
139 var _uploadMedia = null;
140 var _uploadOptions = null;
141 var _downloadOptions = commons.DownloadOptions.Metadata;
142 var _body = null;
143
144 if (request != null) {
145 _body = convert.JSON.encode((request).toJson());
146 }
147
148 _url = 'v1/presentations';
149
150 var _response = _requester.request(_url,
151 "POST",
152 body: _body,
153 queryParams: _queryParams,
154 uploadOptions: _uploadOptions,
155 uploadMedia: _uploadMedia,
156 downloadOptions: _downloadOptions);
157 return _response.then((data) => new Presentation.fromJson(data));
158 }
159
160 /**
161 * Gets the latest version of the specified presentation.
162 *
163 * Request parameters:
164 *
165 * [presentationId] - The ID of the presentation to retrieve.
166 * Value must have pattern "^[^/]+$".
167 *
168 * Completes with a [Presentation].
169 *
170 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
171 * error.
172 *
173 * If the used [http.Client] completes with an error when making a REST call,
174 * this method will complete with the same error.
175 */
176 async.Future<Presentation> get(core.String presentationId) {
177 var _url = null;
178 var _queryParams = new core.Map();
179 var _uploadMedia = null;
180 var _uploadOptions = null;
181 var _downloadOptions = commons.DownloadOptions.Metadata;
182 var _body = null;
183
184 if (presentationId == null) {
185 throw new core.ArgumentError("Parameter presentationId is required.");
186 }
187
188 _url = 'v1/presentations/' + commons.Escaper.ecapeVariableReserved('$present ationId');
189
190 var _response = _requester.request(_url,
191 "GET",
192 body: _body,
193 queryParams: _queryParams,
194 uploadOptions: _uploadOptions,
195 uploadMedia: _uploadMedia,
196 downloadOptions: _downloadOptions);
197 return _response.then((data) => new Presentation.fromJson(data));
198 }
199
200 }
201
202
203 class PresentationsPagesResourceApi {
204 final commons.ApiRequester _requester;
205
206 PresentationsPagesResourceApi(commons.ApiRequester client) :
207 _requester = client;
208
209 /**
210 * Gets the latest version of the specified page in the presentation.
211 *
212 * Request parameters:
213 *
214 * [presentationId] - The ID of the presentation to retrieve.
215 *
216 * [pageObjectId] - The object ID of the page to retrieve.
217 *
218 * Completes with a [Page].
219 *
220 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
221 * error.
222 *
223 * If the used [http.Client] completes with an error when making a REST call,
224 * this method will complete with the same error.
225 */
226 async.Future<Page> get(core.String presentationId, core.String pageObjectId) {
227 var _url = null;
228 var _queryParams = new core.Map();
229 var _uploadMedia = null;
230 var _uploadOptions = null;
231 var _downloadOptions = commons.DownloadOptions.Metadata;
232 var _body = null;
233
234 if (presentationId == null) {
235 throw new core.ArgumentError("Parameter presentationId is required.");
236 }
237 if (pageObjectId == null) {
238 throw new core.ArgumentError("Parameter pageObjectId is required.");
239 }
240
241 _url = 'v1/presentations/' + commons.Escaper.ecapeVariable('$presentationId' ) + '/pages/' + commons.Escaper.ecapeVariable('$pageObjectId');
242
243 var _response = _requester.request(_url,
244 "GET",
245 body: _body,
246 queryParams: _queryParams,
247 uploadOptions: _uploadOptions,
248 uploadMedia: _uploadMedia,
249 downloadOptions: _downloadOptions);
250 return _response.then((data) => new Page.fromJson(data));
251 }
252
253 }
254
255
256
257 /**
258 * AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ]
259 * to transform source coordinates (x,y) into destination coordinates (x', y')
260 * according to:
261 *
262 * x' x = shear_y scale_y translate_y
263 * 1 [ 1 ]
264 *
265 * After transformation,
266 *
267 * x' = scale_x * x + shear_x * y + translate_x;
268 * y' = scale_y * y + shear_y * x + translate_y;
269 *
270 * This message is therefore composed of these six matrix elements.
271 */
272 class AffineTransform {
273 /** The X coordinate scaling element. */
274 core.double scaleX;
275 /** The Y coordinate scaling element. */
276 core.double scaleY;
277 /** The X coordinate shearing element. */
278 core.double shearX;
279 /** The Y coordinate shearing element. */
280 core.double shearY;
281 /** The X coordinate translation element. */
282 core.double translateX;
283 /** The Y coordinate translation element. */
284 core.double translateY;
285 /**
286 * The units for translate elements.
287 * Possible string values are:
288 * - "UNIT_UNSPECIFIED" : The units are unknown.
289 * - "EMU" : An English Metric Unit (EMU) is defined as 1/360,000 of a
290 * centimeter
291 * and thus there are 914,400 EMUs per inch, and 12,700 EMUs per point.
292 * - "PT" : A point, 1/72 of an inch.
293 */
294 core.String unit;
295
296 AffineTransform();
297
298 AffineTransform.fromJson(core.Map _json) {
299 if (_json.containsKey("scaleX")) {
300 scaleX = _json["scaleX"];
301 }
302 if (_json.containsKey("scaleY")) {
303 scaleY = _json["scaleY"];
304 }
305 if (_json.containsKey("shearX")) {
306 shearX = _json["shearX"];
307 }
308 if (_json.containsKey("shearY")) {
309 shearY = _json["shearY"];
310 }
311 if (_json.containsKey("translateX")) {
312 translateX = _json["translateX"];
313 }
314 if (_json.containsKey("translateY")) {
315 translateY = _json["translateY"];
316 }
317 if (_json.containsKey("unit")) {
318 unit = _json["unit"];
319 }
320 }
321
322 core.Map toJson() {
323 var _json = new core.Map();
324 if (scaleX != null) {
325 _json["scaleX"] = scaleX;
326 }
327 if (scaleY != null) {
328 _json["scaleY"] = scaleY;
329 }
330 if (shearX != null) {
331 _json["shearX"] = shearX;
332 }
333 if (shearY != null) {
334 _json["shearY"] = shearY;
335 }
336 if (translateX != null) {
337 _json["translateX"] = translateX;
338 }
339 if (translateY != null) {
340 _json["translateY"] = translateY;
341 }
342 if (unit != null) {
343 _json["unit"] = unit;
344 }
345 return _json;
346 }
347 }
348
349 /** A TextElement kind that represents auto text. */
350 class AutoText {
351 /** The rendered content of this auto text, if available. */
352 core.String content;
353 /** The styling applied to this auto text. */
354 TextStyle style;
355 /**
356 * The type of this auto text.
357 * Possible string values are:
358 * - "TYPE_UNSPECIFIED" : An unspecified autotext type.
359 * - "SLIDE_NUMBER" : Type for autotext that represents the current slide
360 * number.
361 */
362 core.String type;
363
364 AutoText();
365
366 AutoText.fromJson(core.Map _json) {
367 if (_json.containsKey("content")) {
368 content = _json["content"];
369 }
370 if (_json.containsKey("style")) {
371 style = new TextStyle.fromJson(_json["style"]);
372 }
373 if (_json.containsKey("type")) {
374 type = _json["type"];
375 }
376 }
377
378 core.Map toJson() {
379 var _json = new core.Map();
380 if (content != null) {
381 _json["content"] = content;
382 }
383 if (style != null) {
384 _json["style"] = (style).toJson();
385 }
386 if (type != null) {
387 _json["type"] = type;
388 }
389 return _json;
390 }
391 }
392
393 /** Request message for PresentationsService.BatchUpdatePresentation. */
394 class BatchUpdatePresentationRequest {
395 /** A list of updates to apply to the presentation. */
396 core.List<Request> requests;
397
398 BatchUpdatePresentationRequest();
399
400 BatchUpdatePresentationRequest.fromJson(core.Map _json) {
401 if (_json.containsKey("requests")) {
402 requests = _json["requests"].map((value) => new Request.fromJson(value)).t oList();
403 }
404 }
405
406 core.Map toJson() {
407 var _json = new core.Map();
408 if (requests != null) {
409 _json["requests"] = requests.map((value) => (value).toJson()).toList();
410 }
411 return _json;
412 }
413 }
414
415 /** Response message from a batch update. */
416 class BatchUpdatePresentationResponse {
417 /** The presentation the updates were applied to. */
418 core.String presentationId;
419 /**
420 * The reply of the updates. This maps 1:1 with the updates, although
421 * replies to some requests may be empty.
422 */
423 core.List<Response> replies;
424
425 BatchUpdatePresentationResponse();
426
427 BatchUpdatePresentationResponse.fromJson(core.Map _json) {
428 if (_json.containsKey("presentationId")) {
429 presentationId = _json["presentationId"];
430 }
431 if (_json.containsKey("replies")) {
432 replies = _json["replies"].map((value) => new Response.fromJson(value)).to List();
433 }
434 }
435
436 core.Map toJson() {
437 var _json = new core.Map();
438 if (presentationId != null) {
439 _json["presentationId"] = presentationId;
440 }
441 if (replies != null) {
442 _json["replies"] = replies.map((value) => (value).toJson()).toList();
443 }
444 return _json;
445 }
446 }
447
448 /** Describes the bullet of a paragraph. */
449 class Bullet {
450 /** The paragraph specific text style applied to this bullet. */
451 TextStyle bulletStyle;
452 /** The rendered bullet glyph for this paragraph. */
453 core.String glyph;
454 /** The ID of the list this paragraph belongs to. */
455 core.String listId;
456 /** The nesting level of this paragraph in the list. */
457 core.int nestingLevel;
458
459 Bullet();
460
461 Bullet.fromJson(core.Map _json) {
462 if (_json.containsKey("bulletStyle")) {
463 bulletStyle = new TextStyle.fromJson(_json["bulletStyle"]);
464 }
465 if (_json.containsKey("glyph")) {
466 glyph = _json["glyph"];
467 }
468 if (_json.containsKey("listId")) {
469 listId = _json["listId"];
470 }
471 if (_json.containsKey("nestingLevel")) {
472 nestingLevel = _json["nestingLevel"];
473 }
474 }
475
476 core.Map toJson() {
477 var _json = new core.Map();
478 if (bulletStyle != null) {
479 _json["bulletStyle"] = (bulletStyle).toJson();
480 }
481 if (glyph != null) {
482 _json["glyph"] = glyph;
483 }
484 if (listId != null) {
485 _json["listId"] = listId;
486 }
487 if (nestingLevel != null) {
488 _json["nestingLevel"] = nestingLevel;
489 }
490 return _json;
491 }
492 }
493
494 /** The palette of predefined colors for a page. */
495 class ColorScheme {
496 /** The ThemeColorType and corresponding concrete color pairs. */
497 core.List<ThemeColorPair> colors;
498
499 ColorScheme();
500
501 ColorScheme.fromJson(core.Map _json) {
502 if (_json.containsKey("colors")) {
503 colors = _json["colors"].map((value) => new ThemeColorPair.fromJson(value) ).toList();
504 }
505 }
506
507 core.Map toJson() {
508 var _json = new core.Map();
509 if (colors != null) {
510 _json["colors"] = colors.map((value) => (value).toJson()).toList();
511 }
512 return _json;
513 }
514 }
515
516 /** A color and position in a gradient band. */
517 class ColorStop {
518 /**
519 * The alpha value of this color in the gradient band. Defaults to 1.0,
520 * fully opaque.
521 */
522 core.double alpha;
523 /** The color of the gradient stop. */
524 OpaqueColor color;
525 /**
526 * The relative position of the color stop in the gradient band measured
527 * in percentage. The value should be in the interval [0.0, 1.0].
528 */
529 core.double position;
530
531 ColorStop();
532
533 ColorStop.fromJson(core.Map _json) {
534 if (_json.containsKey("alpha")) {
535 alpha = _json["alpha"];
536 }
537 if (_json.containsKey("color")) {
538 color = new OpaqueColor.fromJson(_json["color"]);
539 }
540 if (_json.containsKey("position")) {
541 position = _json["position"];
542 }
543 }
544
545 core.Map toJson() {
546 var _json = new core.Map();
547 if (alpha != null) {
548 _json["alpha"] = alpha;
549 }
550 if (color != null) {
551 _json["color"] = (color).toJson();
552 }
553 if (position != null) {
554 _json["position"] = position;
555 }
556 return _json;
557 }
558 }
559
560 /** Creates an image. */
561 class CreateImageRequest {
562 /**
563 * The element properties for the image.
564 *
565 * When the aspect ratio of the provided size does not match the image aspect
566 * ratio, the image is scaled and centered with respect to the size in order
567 * to maintain aspect ratio. The provided transform is applied after this
568 * operation.
569 */
570 PageElementProperties elementProperties;
571 /**
572 * A user-supplied object ID.
573 *
574 * If you specify an ID, it must be unique among all pages and page elements
575 * in the presentation. The ID must start with an alphanumeric character or an
576 * underscore (matches regex `[a-zA-Z0-9_]`); remaining characters
577 * may include those as well as a hyphen or colon (matches regex
578 * `[a-zA-Z0-9_-:]`).
579 * The length of the ID must not be less than 5 or greater than 50.
580 *
581 * If you don't specify an ID, a unique one is generated.
582 */
583 core.String objectId;
584 /**
585 * The image URL.
586 *
587 * The image is fetched once at insertion time and a copy is stored for
588 * display inside the presentation. Images must be less than 50MB in size,
589 * cannot exceed 25 megapixels, and must be in either in PNG, JPEG, or GIF
590 * format.
591 */
592 core.String url;
593
594 CreateImageRequest();
595
596 CreateImageRequest.fromJson(core.Map _json) {
597 if (_json.containsKey("elementProperties")) {
598 elementProperties = new PageElementProperties.fromJson(_json["elementPrope rties"]);
599 }
600 if (_json.containsKey("objectId")) {
601 objectId = _json["objectId"];
602 }
603 if (_json.containsKey("url")) {
604 url = _json["url"];
605 }
606 }
607
608 core.Map toJson() {
609 var _json = new core.Map();
610 if (elementProperties != null) {
611 _json["elementProperties"] = (elementProperties).toJson();
612 }
613 if (objectId != null) {
614 _json["objectId"] = objectId;
615 }
616 if (url != null) {
617 _json["url"] = url;
618 }
619 return _json;
620 }
621 }
622
623 /** The result of creating an image. */
624 class CreateImageResponse {
625 /** The object ID of the created image. */
626 core.String objectId;
627
628 CreateImageResponse();
629
630 CreateImageResponse.fromJson(core.Map _json) {
631 if (_json.containsKey("objectId")) {
632 objectId = _json["objectId"];
633 }
634 }
635
636 core.Map toJson() {
637 var _json = new core.Map();
638 if (objectId != null) {
639 _json["objectId"] = objectId;
640 }
641 return _json;
642 }
643 }
644
645 /** Creates a line. */
646 class CreateLineRequest {
647 /** The element properties for the line. */
648 PageElementProperties elementProperties;
649 /**
650 * The category of line to be created.
651 * Possible string values are:
652 * - "STRAIGHT" : Straight connectors, including straight connector 1. The is
653 * the default
654 * category when one is not specified.
655 * - "BENT" : Bent connectors, including bent connector 2 to 5.
656 * - "CURVED" : Curved connectors, including curved connector 2 to 5.
657 */
658 core.String lineCategory;
659 /**
660 * A user-supplied object ID.
661 *
662 * If you specify an ID, it must be unique among all pages and page elements
663 * in the presentation. The ID must start with an alphanumeric character or an
664 * underscore (matches regex `[a-zA-Z0-9_]`); remaining characters
665 * may include those as well as a hyphen or colon (matches regex
666 * `[a-zA-Z0-9_-:]`).
667 * The length of the ID must not be less than 5 or greater than 50.
668 *
669 * If you don't specify an ID, a unique one is generated.
670 */
671 core.String objectId;
672
673 CreateLineRequest();
674
675 CreateLineRequest.fromJson(core.Map _json) {
676 if (_json.containsKey("elementProperties")) {
677 elementProperties = new PageElementProperties.fromJson(_json["elementPrope rties"]);
678 }
679 if (_json.containsKey("lineCategory")) {
680 lineCategory = _json["lineCategory"];
681 }
682 if (_json.containsKey("objectId")) {
683 objectId = _json["objectId"];
684 }
685 }
686
687 core.Map toJson() {
688 var _json = new core.Map();
689 if (elementProperties != null) {
690 _json["elementProperties"] = (elementProperties).toJson();
691 }
692 if (lineCategory != null) {
693 _json["lineCategory"] = lineCategory;
694 }
695 if (objectId != null) {
696 _json["objectId"] = objectId;
697 }
698 return _json;
699 }
700 }
701
702 /** The result of creating a line. */
703 class CreateLineResponse {
704 /** The object ID of the created line. */
705 core.String objectId;
706
707 CreateLineResponse();
708
709 CreateLineResponse.fromJson(core.Map _json) {
710 if (_json.containsKey("objectId")) {
711 objectId = _json["objectId"];
712 }
713 }
714
715 core.Map toJson() {
716 var _json = new core.Map();
717 if (objectId != null) {
718 _json["objectId"] = objectId;
719 }
720 return _json;
721 }
722 }
723
724 /**
725 * Creates bullets for all of the paragraphs that overlap with the given
726 * text index range.
727 *
728 * The nesting level of each paragraph will be determined by counting leading
729 * tabs in front of each paragraph. To avoid excess space between the bullet and
730 * the corresponding paragraph, these leading tabs are removed by this request.
731 * This may change the indices of parts of the text.
732 *
733 * If the paragraph immediately before paragraphs being updated is in a list
734 * with a matching preset, the paragraphs being updated are added to that
735 * preceding list.
736 */
737 class CreateParagraphBulletsRequest {
738 /**
739 * The kinds of bullet glyphs to be used. Defaults to the
740 * `BULLET_DISC_CIRCLE_SQUARE` preset.
741 * Possible string values are:
742 * - "BULLET_DISC_CIRCLE_SQUARE" : A bulleted list with a `DISC`, `CIRCLE` and
743 * `SQUARE` bullet glyph for the
744 * first 3 list nesting levels.
745 * - "BULLET_DIAMONDX_ARROW3D_SQUARE" : A bulleted list with a `DIAMONDX`,
746 * `ARROW3D` and `SQUARE` bullet glyph for
747 * the first 3 list nesting levels.
748 * - "BULLET_CHECKBOX" : A bulleted list with `CHECKBOX` bullet glyphs for all
749 * list nesting levels.
750 * - "BULLET_ARROW_DIAMOND_DISC" : A bulleted list with a `ARROW`, `DIAMOND`
751 * and `DISC` bullet glyph for
752 * the first 3 list nesting levels.
753 * - "BULLET_STAR_CIRCLE_SQUARE" : A bulleted list with a `STAR`, `CIRCLE` and
754 * `DISC` bullet glyph for
755 * the first 3 list nesting levels.
756 * - "BULLET_ARROW3D_CIRCLE_SQUARE" : A bulleted list with a `ARROW3D`,
757 * `CIRCLE` and `SQUARE` bullet glyph for
758 * the first 3 list nesting levels.
759 * - "BULLET_LEFTTRIANGLE_DIAMOND_DISC" : A bulleted list with a
760 * `LEFTTRIANGLE`, `DIAMOND` and `DISC` bullet glyph
761 * for the first 3 list nesting levels.
762 * - "BULLET_DIAMONDX_HOLLOWDIAMOND_SQUARE" : A bulleted list with a
763 * `DIAMONDX`, `HOLLOWDIAMOND` and `SQUARE` bullet
764 * glyph for the first 3 list nesting levels.
765 * - "BULLET_DIAMOND_CIRCLE_SQUARE" : A bulleted list with a `DIAMOND`,
766 * `CIRCLE` and `SQUARE` bullet glyph
767 * for the first 3 list nesting levels.
768 * - "NUMBERED_DIGIT_ALPHA_ROMAN" : A numbered list with `DIGIT`, `ALPHA` and
769 * `ROMAN` numeric glyphs for
770 * the first 3 list nesting levels, followed by periods.
771 * - "NUMBERED_DIGIT_ALPHA_ROMAN_PARENS" : A numbered list with `DIGIT`,
772 * `ALPHA` and `ROMAN` numeric glyphs for
773 * the first 3 list nesting levels, followed by parenthesis.
774 * - "NUMBERED_DIGIT_NESTED" : A numbered list with `DIGIT` numeric glyphs
775 * separated by periods, where
776 * each nesting level uses the previous nesting level's glyph as a prefix.
777 * For example: '1.', '1.1.', '2.', '2.2.'.
778 * - "NUMBERED_UPPERALPHA_ALPHA_ROMAN" : A numbered list with `UPPERALPHA`,
779 * `ALPHA` and `ROMAN` numeric glyphs for
780 * the first 3 list nesting levels, followed by periods.
781 * - "NUMBERED_UPPERROMAN_UPPERALPHA_DIGIT" : A numbered list with
782 * `UPPERROMAN`, `UPPERALPHA` and `DIGIT` numeric glyphs
783 * for the first 3 list nesting levels, followed by periods.
784 * - "NUMBERED_ZERODIGIT_ALPHA_ROMAN" : A numbered list with `ZERODIGIT`,
785 * `ALPHA` and `ROMAN` numeric glyphs for
786 * the first 3 list nesting levels, followed by periods.
787 */
788 core.String bulletPreset;
789 /**
790 * The optional table cell location if the text to be modified is in a table
791 * cell. If present, the object_id must refer to a table.
792 */
793 TableCellLocation cellLocation;
794 /**
795 * The object ID of the shape or table containing the text to add bullets to.
796 */
797 core.String objectId;
798 /**
799 * The range of text to apply the bullet presets to, based on TextElement
800 * indexes.
801 */
802 Range textRange;
803
804 CreateParagraphBulletsRequest();
805
806 CreateParagraphBulletsRequest.fromJson(core.Map _json) {
807 if (_json.containsKey("bulletPreset")) {
808 bulletPreset = _json["bulletPreset"];
809 }
810 if (_json.containsKey("cellLocation")) {
811 cellLocation = new TableCellLocation.fromJson(_json["cellLocation"]);
812 }
813 if (_json.containsKey("objectId")) {
814 objectId = _json["objectId"];
815 }
816 if (_json.containsKey("textRange")) {
817 textRange = new Range.fromJson(_json["textRange"]);
818 }
819 }
820
821 core.Map toJson() {
822 var _json = new core.Map();
823 if (bulletPreset != null) {
824 _json["bulletPreset"] = bulletPreset;
825 }
826 if (cellLocation != null) {
827 _json["cellLocation"] = (cellLocation).toJson();
828 }
829 if (objectId != null) {
830 _json["objectId"] = objectId;
831 }
832 if (textRange != null) {
833 _json["textRange"] = (textRange).toJson();
834 }
835 return _json;
836 }
837 }
838
839 /** Creates a new shape. */
840 class CreateShapeRequest {
841 /** The element properties for the shape. */
842 PageElementProperties elementProperties;
843 /**
844 * A user-supplied object ID.
845 *
846 * If you specify an ID, it must be unique among all pages and page elements
847 * in the presentation. The ID must start with an alphanumeric character or an
848 * underscore (matches regex `[a-zA-Z0-9_]`); remaining characters
849 * may include those as well as a hyphen or colon (matches regex
850 * `[a-zA-Z0-9_-:]`).
851 * The length of the ID must not be less than 5 or greater than 50.
852 * If empty, a unique identifier will be generated.
853 */
854 core.String objectId;
855 /**
856 * The shape type.
857 * Possible string values are:
858 * - "TYPE_UNSPECIFIED" : The shape type that is not predefined.
859 * - "TEXT_BOX" : Text box shape.
860 * - "RECTANGLE" : Rectangle shape. Corresponds to ECMA-376 ST_ShapeType
861 * 'rect'.
862 * - "ROUND_RECTANGLE" : Round corner rectangle shape. Corresponds to ECMA-376
863 * ST_ShapeType
864 * 'roundRect'
865 * - "ELLIPSE" : Ellipse shape. Corresponds to ECMA-376 ST_ShapeType 'ellipse'
866 * - "ARC" : Curved arc shape. Corresponds to ECMA-376 ST_ShapeType 'arc'
867 * - "BENT_ARROW" : Bent arrow shape. Corresponds to ECMA-376 ST_ShapeType
868 * 'bentArrow'
869 * - "BENT_UP_ARROW" : Bent up arrow shape. Corresponds to ECMA-376
870 * ST_ShapeType 'bentUpArrow'
871 * - "BEVEL" : Bevel shape. Corresponds to ECMA-376 ST_ShapeType 'bevel'
872 * - "BLOCK_ARC" : Block arc shape. Corresponds to ECMA-376 ST_ShapeType
873 * 'blockArc'
874 * - "BRACE_PAIR" : Brace pair shape. Corresponds to ECMA-376 ST_ShapeType
875 * 'bracePair'
876 * - "BRACKET_PAIR" : Bracket pair shape. Corresponds to ECMA-376 ST_ShapeType
877 * 'bracketPair'
878 * - "CAN" : Can shape. Corresponds to ECMA-376 ST_ShapeType 'can'
879 * - "CHEVRON" : Chevron shape. Corresponds to ECMA-376 ST_ShapeType 'chevron'
880 * - "CHORD" : Chord shape. Corresponds to ECMA-376 ST_ShapeType 'chord'
881 * - "CLOUD" : Cloud shape. Corresponds to ECMA-376 ST_ShapeType 'cloud'
882 * - "CORNER" : Corner shape. Corresponds to ECMA-376 ST_ShapeType 'corner'
883 * - "CUBE" : Cube shape. Corresponds to ECMA-376 ST_ShapeType 'cube'
884 * - "CURVED_DOWN_ARROW" : Curved down arrow shape. Corresponds to ECMA-376
885 * ST_ShapeType
886 * 'curvedDownArrow'
887 * - "CURVED_LEFT_ARROW" : Curved left arrow shape. Corresponds to ECMA-376
888 * ST_ShapeType
889 * 'curvedLeftArrow'
890 * - "CURVED_RIGHT_ARROW" : Curved right arrow shape. Corresponds to ECMA-376
891 * ST_ShapeType
892 * 'curvedRightArrow'
893 * - "CURVED_UP_ARROW" : Curved up arrow shape. Corresponds to ECMA-376
894 * ST_ShapeType
895 * 'curvedUpArrow'
896 * - "DECAGON" : Decagon shape. Corresponds to ECMA-376 ST_ShapeType 'decagon'
897 * - "DIAGONAL_STRIPE" : Diagonal stripe shape. Corresponds to ECMA-376
898 * ST_ShapeType 'diagStripe'
899 * - "DIAMOND" : Diamond shape. Corresponds to ECMA-376 ST_ShapeType 'diamond'
900 * - "DODECAGON" : Dodecagon shape. Corresponds to ECMA-376 ST_ShapeType
901 * 'dodecagon'
902 * - "DONUT" : Donut shape. Corresponds to ECMA-376 ST_ShapeType 'donut'
903 * - "DOUBLE_WAVE" : Double wave shape. Corresponds to ECMA-376 ST_ShapeType
904 * 'doubleWave'
905 * - "DOWN_ARROW" : Down arrow shape. Corresponds to ECMA-376 ST_ShapeType
906 * 'downArrow'
907 * - "DOWN_ARROW_CALLOUT" : Callout down arrow shape. Corresponds to ECMA-376
908 * ST_ShapeType
909 * 'downArrowCallout'
910 * - "FOLDED_CORNER" : Folded corner shape. Corresponds to ECMA-376
911 * ST_ShapeType 'foldedCorner'
912 * - "FRAME" : Frame shape. Corresponds to ECMA-376 ST_ShapeType 'frame'
913 * - "HALF_FRAME" : Half frame shape. Corresponds to ECMA-376 ST_ShapeType
914 * 'halfFrame'
915 * - "HEART" : Heart shape. Corresponds to ECMA-376 ST_ShapeType 'heart'
916 * - "HEPTAGON" : Heptagon shape. Corresponds to ECMA-376 ST_ShapeType
917 * 'heptagon'
918 * - "HEXAGON" : Hexagon shape. Corresponds to ECMA-376 ST_ShapeType 'hexagon'
919 * - "HOME_PLATE" : Home plate shape. Corresponds to ECMA-376 ST_ShapeType
920 * 'homePlate'
921 * - "HORIZONTAL_SCROLL" : Horizontal scroll shape. Corresponds to ECMA-376
922 * ST_ShapeType
923 * 'horizontalScroll'
924 * - "IRREGULAR_SEAL_1" : Irregular seal 1 shape. Corresponds to ECMA-376
925 * ST_ShapeType
926 * 'irregularSeal1'
927 * - "IRREGULAR_SEAL_2" : Irregular seal 2 shape. Corresponds to ECMA-376
928 * ST_ShapeType
929 * 'irregularSeal2'
930 * - "LEFT_ARROW" : Left arrow shape. Corresponds to ECMA-376 ST_ShapeType
931 * 'leftArrow'
932 * - "LEFT_ARROW_CALLOUT" : Callout left arrow shape. Corresponds to ECMA-376
933 * ST_ShapeType
934 * 'leftArrowCallout'
935 * - "LEFT_BRACE" : Left brace shape. Corresponds to ECMA-376 ST_ShapeType
936 * 'leftBrace'
937 * - "LEFT_BRACKET" : Left bracket shape. Corresponds to ECMA-376 ST_ShapeType
938 * 'leftBracket'
939 * - "LEFT_RIGHT_ARROW" : Left right arrow shape. Corresponds to ECMA-376
940 * ST_ShapeType
941 * 'leftRightArrow'
942 * - "LEFT_RIGHT_ARROW_CALLOUT" : Callout left right arrow shape. Corresponds
943 * to ECMA-376 ST_ShapeType
944 * 'leftRightArrowCallout'
945 * - "LEFT_RIGHT_UP_ARROW" : Left right up arrow shape. Corresponds to
946 * ECMA-376 ST_ShapeType
947 * 'leftRightUpArrow'
948 * - "LEFT_UP_ARROW" : Left up arrow shape. Corresponds to ECMA-376
949 * ST_ShapeType 'leftUpArrow'
950 * - "LIGHTNING_BOLT" : Lightning bolt shape. Corresponds to ECMA-376
951 * ST_ShapeType
952 * 'lightningBolt'
953 * - "MATH_DIVIDE" : Divide math shape. Corresponds to ECMA-376 ST_ShapeType
954 * 'mathDivide'
955 * - "MATH_EQUAL" : Equal math shape. Corresponds to ECMA-376 ST_ShapeType
956 * 'mathEqual'
957 * - "MATH_MINUS" : Minus math shape. Corresponds to ECMA-376 ST_ShapeType
958 * 'mathMinus'
959 * - "MATH_MULTIPLY" : Multiply math shape. Corresponds to ECMA-376
960 * ST_ShapeType 'mathMultiply'
961 * - "MATH_NOT_EQUAL" : Not equal math shape. Corresponds to ECMA-376
962 * ST_ShapeType 'mathNotEqual'
963 * - "MATH_PLUS" : Plus math shape. Corresponds to ECMA-376 ST_ShapeType
964 * 'mathPlus'
965 * - "MOON" : Moon shape. Corresponds to ECMA-376 ST_ShapeType 'moon'
966 * - "NO_SMOKING" : No smoking shape. Corresponds to ECMA-376 ST_ShapeType
967 * 'noSmoking'
968 * - "NOTCHED_RIGHT_ARROW" : Notched right arrow shape. Corresponds to
969 * ECMA-376 ST_ShapeType
970 * 'notchedRightArrow'
971 * - "OCTAGON" : Octagon shape. Corresponds to ECMA-376 ST_ShapeType 'octagon'
972 * - "PARALLELOGRAM" : Parallelogram shape. Corresponds to ECMA-376
973 * ST_ShapeType 'parallelogram'
974 * - "PENTAGON" : Pentagon shape. Corresponds to ECMA-376 ST_ShapeType
975 * 'pentagon'
976 * - "PIE" : Pie shape. Corresponds to ECMA-376 ST_ShapeType 'pie'
977 * - "PLAQUE" : Plaque shape. Corresponds to ECMA-376 ST_ShapeType 'plaque'
978 * - "PLUS" : Plus shape. Corresponds to ECMA-376 ST_ShapeType 'plus'
979 * - "QUAD_ARROW" : Quad-arrow shape. Corresponds to ECMA-376 ST_ShapeType
980 * 'quadArrow'
981 * - "QUAD_ARROW_CALLOUT" : Callout quad-arrow shape. Corresponds to ECMA-376
982 * ST_ShapeType
983 * 'quadArrowCallout'
984 * - "RIBBON" : Ribbon shape. Corresponds to ECMA-376 ST_ShapeType 'ribbon'
985 * - "RIBBON_2" : Ribbon 2 shape. Corresponds to ECMA-376 ST_ShapeType
986 * 'ribbon2'
987 * - "RIGHT_ARROW" : Right arrow shape. Corresponds to ECMA-376 ST_ShapeType
988 * 'rightArrow'
989 * - "RIGHT_ARROW_CALLOUT" : Callout right arrow shape. Corresponds to
990 * ECMA-376 ST_ShapeType
991 * 'rightArrowCallout'
992 * - "RIGHT_BRACE" : Right brace shape. Corresponds to ECMA-376 ST_ShapeType
993 * 'rightBrace'
994 * - "RIGHT_BRACKET" : Right bracket shape. Corresponds to ECMA-376
995 * ST_ShapeType 'rightBracket'
996 * - "ROUND_1_RECTANGLE" : One round corner rectangle shape. Corresponds to
997 * ECMA-376 ST_ShapeType
998 * 'round1Rect'
999 * - "ROUND_2_DIAGONAL_RECTANGLE" : Two diagonal round corner rectangle shape.
1000 * Corresponds to ECMA-376
1001 * ST_ShapeType 'round2DiagRect'
1002 * - "ROUND_2_SAME_RECTANGLE" : Two same-side round corner rectangle shape.
1003 * Corresponds to ECMA-376
1004 * ST_ShapeType 'round2SameRect'
1005 * - "RIGHT_TRIANGLE" : Right triangle shape. Corresponds to ECMA-376
1006 * ST_ShapeType 'rtTriangle'
1007 * - "SMILEY_FACE" : Smiley face shape. Corresponds to ECMA-376 ST_ShapeType
1008 * 'smileyFace'
1009 * - "SNIP_1_RECTANGLE" : One snip corner rectangle shape. Corresponds to
1010 * ECMA-376 ST_ShapeType
1011 * 'snip1Rect'
1012 * - "SNIP_2_DIAGONAL_RECTANGLE" : Two diagonal snip corner rectangle shape.
1013 * Corresponds to ECMA-376
1014 * ST_ShapeType 'snip2DiagRect'
1015 * - "SNIP_2_SAME_RECTANGLE" : Two same-side snip corner rectangle shape.
1016 * Corresponds to ECMA-376
1017 * ST_ShapeType 'snip2SameRect'
1018 * - "SNIP_ROUND_RECTANGLE" : One snip one round corner rectangle shape.
1019 * Corresponds to ECMA-376
1020 * ST_ShapeType 'snipRoundRect'
1021 * - "STAR_10" : Ten pointed star shape. Corresponds to ECMA-376 ST_ShapeType
1022 * 'star10'
1023 * - "STAR_12" : Twelve pointed star shape. Corresponds to ECMA-376
1024 * ST_ShapeType 'star12'
1025 * - "STAR_16" : Sixteen pointed star shape. Corresponds to ECMA-376
1026 * ST_ShapeType 'star16'
1027 * - "STAR_24" : Twenty four pointed star shape. Corresponds to ECMA-376
1028 * ST_ShapeType
1029 * 'star24'
1030 * - "STAR_32" : Thirty two pointed star shape. Corresponds to ECMA-376
1031 * ST_ShapeType
1032 * 'star32'
1033 * - "STAR_4" : Four pointed star shape. Corresponds to ECMA-376 ST_ShapeType
1034 * 'star4'
1035 * - "STAR_5" : Five pointed star shape. Corresponds to ECMA-376 ST_ShapeType
1036 * 'star5'
1037 * - "STAR_6" : Six pointed star shape. Corresponds to ECMA-376 ST_ShapeType
1038 * 'star6'
1039 * - "STAR_7" : Seven pointed star shape. Corresponds to ECMA-376 ST_ShapeType
1040 * 'star7'
1041 * - "STAR_8" : Eight pointed star shape. Corresponds to ECMA-376 ST_ShapeType
1042 * 'star8'
1043 * - "STRIPED_RIGHT_ARROW" : Striped right arrow shape. Corresponds to
1044 * ECMA-376 ST_ShapeType
1045 * 'stripedRightArrow'
1046 * - "SUN" : Sun shape. Corresponds to ECMA-376 ST_ShapeType 'sun'
1047 * - "TRAPEZOID" : Trapezoid shape. Corresponds to ECMA-376 ST_ShapeType
1048 * 'trapezoid'
1049 * - "TRIANGLE" : Triangle shape. Corresponds to ECMA-376 ST_ShapeType
1050 * 'triangle'
1051 * - "UP_ARROW" : Up arrow shape. Corresponds to ECMA-376 ST_ShapeType
1052 * 'upArrow'
1053 * - "UP_ARROW_CALLOUT" : Callout up arrow shape. Corresponds to ECMA-376
1054 * ST_ShapeType
1055 * 'upArrowCallout'
1056 * - "UP_DOWN_ARROW" : Up down arrow shape. Corresponds to ECMA-376
1057 * ST_ShapeType 'upDownArrow'
1058 * - "UTURN_ARROW" : U-turn arrow shape. Corresponds to ECMA-376 ST_ShapeType
1059 * 'uturnArrow'
1060 * - "VERTICAL_SCROLL" : Vertical scroll shape. Corresponds to ECMA-376
1061 * ST_ShapeType
1062 * 'verticalScroll'
1063 * - "WAVE" : Wave shape. Corresponds to ECMA-376 ST_ShapeType 'wave'
1064 * - "WEDGE_ELLIPSE_CALLOUT" : Callout wedge ellipse shape. Corresponds to
1065 * ECMA-376 ST_ShapeType
1066 * 'wedgeEllipseCallout'
1067 * - "WEDGE_RECTANGLE_CALLOUT" : Callout wedge rectangle shape. Corresponds to
1068 * ECMA-376 ST_ShapeType
1069 * 'wedgeRectCallout'
1070 * - "WEDGE_ROUND_RECTANGLE_CALLOUT" : Callout wedge round rectangle shape.
1071 * Corresponds to ECMA-376 ST_ShapeType
1072 * 'wedgeRoundRectCallout'
1073 * - "FLOW_CHART_ALTERNATE_PROCESS" : Alternate process flow shape.
1074 * Corresponds to ECMA-376 ST_ShapeType
1075 * 'flowChartAlternateProcess'
1076 * - "FLOW_CHART_COLLATE" : Collate flow shape. Corresponds to ECMA-376
1077 * ST_ShapeType
1078 * 'flowChartCollate'
1079 * - "FLOW_CHART_CONNECTOR" : Connector flow shape. Corresponds to ECMA-376
1080 * ST_ShapeType
1081 * 'flowChartConnector'
1082 * - "FLOW_CHART_DECISION" : Decision flow shape. Corresponds to ECMA-376
1083 * ST_ShapeType
1084 * 'flowChartDecision'
1085 * - "FLOW_CHART_DELAY" : Delay flow shape. Corresponds to ECMA-376
1086 * ST_ShapeType 'flowChartDelay'
1087 * - "FLOW_CHART_DISPLAY" : Display flow shape. Corresponds to ECMA-376
1088 * ST_ShapeType
1089 * 'flowChartDisplay'
1090 * - "FLOW_CHART_DOCUMENT" : Document flow shape. Corresponds to ECMA-376
1091 * ST_ShapeType
1092 * 'flowChartDocument'
1093 * - "FLOW_CHART_EXTRACT" : Extract flow shape. Corresponds to ECMA-376
1094 * ST_ShapeType
1095 * 'flowChartExtract'
1096 * - "FLOW_CHART_INPUT_OUTPUT" : Input output flow shape. Corresponds to
1097 * ECMA-376 ST_ShapeType
1098 * 'flowChartInputOutput'
1099 * - "FLOW_CHART_INTERNAL_STORAGE" : Internal storage flow shape. Corresponds
1100 * to ECMA-376 ST_ShapeType
1101 * 'flowChartInternalStorage'
1102 * - "FLOW_CHART_MAGNETIC_DISK" : Magnetic disk flow shape. Corresponds to
1103 * ECMA-376 ST_ShapeType
1104 * 'flowChartMagneticDisk'
1105 * - "FLOW_CHART_MAGNETIC_DRUM" : Magnetic drum flow shape. Corresponds to
1106 * ECMA-376 ST_ShapeType
1107 * 'flowChartMagneticDrum'
1108 * - "FLOW_CHART_MAGNETIC_TAPE" : Magnetic tape flow shape. Corresponds to
1109 * ECMA-376 ST_ShapeType
1110 * 'flowChartMagneticTape'
1111 * - "FLOW_CHART_MANUAL_INPUT" : Manual input flow shape. Corresponds to
1112 * ECMA-376 ST_ShapeType
1113 * 'flowChartManualInput'
1114 * - "FLOW_CHART_MANUAL_OPERATION" : Manual operation flow shape. Corresponds
1115 * to ECMA-376 ST_ShapeType
1116 * 'flowChartManualOperation'
1117 * - "FLOW_CHART_MERGE" : Merge flow shape. Corresponds to ECMA-376
1118 * ST_ShapeType 'flowChartMerge'
1119 * - "FLOW_CHART_MULTIDOCUMENT" : Multi-document flow shape. Corresponds to
1120 * ECMA-376 ST_ShapeType
1121 * 'flowChartMultidocument'
1122 * - "FLOW_CHART_OFFLINE_STORAGE" : Offline storage flow shape. Corresponds to
1123 * ECMA-376 ST_ShapeType
1124 * 'flowChartOfflineStorage'
1125 * - "FLOW_CHART_OFFPAGE_CONNECTOR" : Off-page connector flow shape.
1126 * Corresponds to ECMA-376 ST_ShapeType
1127 * 'flowChartOffpageConnector'
1128 * - "FLOW_CHART_ONLINE_STORAGE" : Online storage flow shape. Corresponds to
1129 * ECMA-376 ST_ShapeType
1130 * 'flowChartOnlineStorage'
1131 * - "FLOW_CHART_OR" : Or flow shape. Corresponds to ECMA-376 ST_ShapeType
1132 * 'flowChartOr'
1133 * - "FLOW_CHART_PREDEFINED_PROCESS" : Predefined process flow shape.
1134 * Corresponds to ECMA-376 ST_ShapeType
1135 * 'flowChartPredefinedProcess'
1136 * - "FLOW_CHART_PREPARATION" : Preparation flow shape. Corresponds to
1137 * ECMA-376 ST_ShapeType
1138 * 'flowChartPreparation'
1139 * - "FLOW_CHART_PROCESS" : Process flow shape. Corresponds to ECMA-376
1140 * ST_ShapeType
1141 * 'flowChartProcess'
1142 * - "FLOW_CHART_PUNCHED_CARD" : Punched card flow shape. Corresponds to
1143 * ECMA-376 ST_ShapeType
1144 * 'flowChartPunchedCard'
1145 * - "FLOW_CHART_PUNCHED_TAPE" : Punched tape flow shape. Corresponds to
1146 * ECMA-376 ST_ShapeType
1147 * 'flowChartPunchedTape'
1148 * - "FLOW_CHART_SORT" : Sort flow shape. Corresponds to ECMA-376 ST_ShapeType
1149 * 'flowChartSort'
1150 * - "FLOW_CHART_SUMMING_JUNCTION" : Summing junction flow shape. Corresponds
1151 * to ECMA-376 ST_ShapeType
1152 * 'flowChartSummingJunction'
1153 * - "FLOW_CHART_TERMINATOR" : Terminator flow shape. Corresponds to ECMA-376
1154 * ST_ShapeType
1155 * 'flowChartTerminator'
1156 * - "ARROW_EAST" : East arrow shape.
1157 * - "ARROW_NORTH_EAST" : Northeast arrow shape.
1158 * - "ARROW_NORTH" : North arrow shape.
1159 * - "SPEECH" : Speech shape.
1160 * - "STARBURST" : Star burst shape.
1161 * - "TEARDROP" : Teardrop shape. Corresponds to ECMA-376 ST_ShapeType
1162 * 'teardrop'
1163 * - "ELLIPSE_RIBBON" : Ellipse ribbon shape. Corresponds to ECMA-376
1164 * ST_ShapeType
1165 * 'ellipseRibbon'
1166 * - "ELLIPSE_RIBBON_2" : Ellipse ribbon 2 shape. Corresponds to ECMA-376
1167 * ST_ShapeType
1168 * 'ellipseRibbon2'
1169 * - "CLOUD_CALLOUT" : Callout cloud shape. Corresponds to ECMA-376
1170 * ST_ShapeType 'cloudCallout'
1171 * - "CUSTOM" : Custom shape.
1172 */
1173 core.String shapeType;
1174
1175 CreateShapeRequest();
1176
1177 CreateShapeRequest.fromJson(core.Map _json) {
1178 if (_json.containsKey("elementProperties")) {
1179 elementProperties = new PageElementProperties.fromJson(_json["elementPrope rties"]);
1180 }
1181 if (_json.containsKey("objectId")) {
1182 objectId = _json["objectId"];
1183 }
1184 if (_json.containsKey("shapeType")) {
1185 shapeType = _json["shapeType"];
1186 }
1187 }
1188
1189 core.Map toJson() {
1190 var _json = new core.Map();
1191 if (elementProperties != null) {
1192 _json["elementProperties"] = (elementProperties).toJson();
1193 }
1194 if (objectId != null) {
1195 _json["objectId"] = objectId;
1196 }
1197 if (shapeType != null) {
1198 _json["shapeType"] = shapeType;
1199 }
1200 return _json;
1201 }
1202 }
1203
1204 /** The result of creating a shape. */
1205 class CreateShapeResponse {
1206 /** The object ID of the created shape. */
1207 core.String objectId;
1208
1209 CreateShapeResponse();
1210
1211 CreateShapeResponse.fromJson(core.Map _json) {
1212 if (_json.containsKey("objectId")) {
1213 objectId = _json["objectId"];
1214 }
1215 }
1216
1217 core.Map toJson() {
1218 var _json = new core.Map();
1219 if (objectId != null) {
1220 _json["objectId"] = objectId;
1221 }
1222 return _json;
1223 }
1224 }
1225
1226 /**
1227 * Creates an embedded Google Sheets chart.
1228 *
1229 * NOTE: Chart creation requires at least one of the spreadsheets.readonly,
1230 * spreadsheets, drive.readonly, or drive OAuth scopes.
1231 */
1232 class CreateSheetsChartRequest {
1233 /** The ID of the specific chart in the Google Sheets spreadsheet. */
1234 core.int chartId;
1235 /**
1236 * The element properties for the chart.
1237 *
1238 * When the aspect ratio of the provided size does not match the chart aspect
1239 * ratio, the chart is scaled and centered with respect to the size in order
1240 * to maintain aspect ratio. The provided transform is applied after this
1241 * operation.
1242 */
1243 PageElementProperties elementProperties;
1244 /**
1245 * The mode with which the chart is linked to the source spreadsheet. When
1246 * not specified, the chart will be an image that is not linked.
1247 * Possible string values are:
1248 * - "NOT_LINKED_IMAGE" : The chart is not associated with the source
1249 * spreadsheet and cannot be
1250 * updated. A chart that is not linked will be inserted as an image.
1251 * - "LINKED" : Linking the chart allows it to be updated, and other
1252 * collaborators will
1253 * see a link to the spreadsheet.
1254 */
1255 core.String linkingMode;
1256 /**
1257 * A user-supplied object ID.
1258 *
1259 * If specified, the ID must be unique among all pages and page elements in
1260 * the presentation. The ID should start with a word character [a-zA-Z0-9_]
1261 * and then followed by any number of the following characters [a-zA-Z0-9_-:].
1262 * The length of the ID should not be less than 5 or greater than 50.
1263 * If empty, a unique identifier will be generated.
1264 */
1265 core.String objectId;
1266 /** The ID of the Google Sheets spreadsheet that contains the chart. */
1267 core.String spreadsheetId;
1268
1269 CreateSheetsChartRequest();
1270
1271 CreateSheetsChartRequest.fromJson(core.Map _json) {
1272 if (_json.containsKey("chartId")) {
1273 chartId = _json["chartId"];
1274 }
1275 if (_json.containsKey("elementProperties")) {
1276 elementProperties = new PageElementProperties.fromJson(_json["elementPrope rties"]);
1277 }
1278 if (_json.containsKey("linkingMode")) {
1279 linkingMode = _json["linkingMode"];
1280 }
1281 if (_json.containsKey("objectId")) {
1282 objectId = _json["objectId"];
1283 }
1284 if (_json.containsKey("spreadsheetId")) {
1285 spreadsheetId = _json["spreadsheetId"];
1286 }
1287 }
1288
1289 core.Map toJson() {
1290 var _json = new core.Map();
1291 if (chartId != null) {
1292 _json["chartId"] = chartId;
1293 }
1294 if (elementProperties != null) {
1295 _json["elementProperties"] = (elementProperties).toJson();
1296 }
1297 if (linkingMode != null) {
1298 _json["linkingMode"] = linkingMode;
1299 }
1300 if (objectId != null) {
1301 _json["objectId"] = objectId;
1302 }
1303 if (spreadsheetId != null) {
1304 _json["spreadsheetId"] = spreadsheetId;
1305 }
1306 return _json;
1307 }
1308 }
1309
1310 /** The result of creating an embedded Google Sheets chart. */
1311 class CreateSheetsChartResponse {
1312 /** The object ID of the created chart. */
1313 core.String objectId;
1314
1315 CreateSheetsChartResponse();
1316
1317 CreateSheetsChartResponse.fromJson(core.Map _json) {
1318 if (_json.containsKey("objectId")) {
1319 objectId = _json["objectId"];
1320 }
1321 }
1322
1323 core.Map toJson() {
1324 var _json = new core.Map();
1325 if (objectId != null) {
1326 _json["objectId"] = objectId;
1327 }
1328 return _json;
1329 }
1330 }
1331
1332 /** Creates a new slide. */
1333 class CreateSlideRequest {
1334 /**
1335 * The optional zero-based index indicating where to insert the slides.
1336 *
1337 * If you don't specify an index, the new slide is created at the end.
1338 */
1339 core.int insertionIndex;
1340 /**
1341 * A user-supplied object ID.
1342 *
1343 * If you specify an ID, it must be unique among all pages and page elements
1344 * in the presentation. The ID must start with an alphanumeric character or an
1345 * underscore (matches regex `[a-zA-Z0-9_]`); remaining characters
1346 * may include those as well as a hyphen or colon (matches regex
1347 * `[a-zA-Z0-9_-:]`).
1348 * The length of the ID must not be less than 5 or greater than 50.
1349 *
1350 * If you don't specify an ID, a unique one is generated.
1351 */
1352 core.String objectId;
1353 /**
1354 * Layout reference of the slide to be inserted, based on the *current
1355 * master*, which is one of the following:
1356 *
1357 * - The master of the previous slide index.
1358 * - The master of the first slide, if the insertion_index is zero.
1359 * - The first master in the presentation, if there are no slides.
1360 *
1361 * If the LayoutReference is not found in the current master, a 400 bad
1362 * request error is returned.
1363 *
1364 * If you don't specify a layout reference, then the new slide will use the
1365 * predefined layout `BLANK`.
1366 */
1367 LayoutReference slideLayoutReference;
1368
1369 CreateSlideRequest();
1370
1371 CreateSlideRequest.fromJson(core.Map _json) {
1372 if (_json.containsKey("insertionIndex")) {
1373 insertionIndex = _json["insertionIndex"];
1374 }
1375 if (_json.containsKey("objectId")) {
1376 objectId = _json["objectId"];
1377 }
1378 if (_json.containsKey("slideLayoutReference")) {
1379 slideLayoutReference = new LayoutReference.fromJson(_json["slideLayoutRefe rence"]);
1380 }
1381 }
1382
1383 core.Map toJson() {
1384 var _json = new core.Map();
1385 if (insertionIndex != null) {
1386 _json["insertionIndex"] = insertionIndex;
1387 }
1388 if (objectId != null) {
1389 _json["objectId"] = objectId;
1390 }
1391 if (slideLayoutReference != null) {
1392 _json["slideLayoutReference"] = (slideLayoutReference).toJson();
1393 }
1394 return _json;
1395 }
1396 }
1397
1398 /** The result of creating a slide. */
1399 class CreateSlideResponse {
1400 /** The object ID of the created slide. */
1401 core.String objectId;
1402
1403 CreateSlideResponse();
1404
1405 CreateSlideResponse.fromJson(core.Map _json) {
1406 if (_json.containsKey("objectId")) {
1407 objectId = _json["objectId"];
1408 }
1409 }
1410
1411 core.Map toJson() {
1412 var _json = new core.Map();
1413 if (objectId != null) {
1414 _json["objectId"] = objectId;
1415 }
1416 return _json;
1417 }
1418 }
1419
1420 /** Creates a new table. */
1421 class CreateTableRequest {
1422 /** Number of columns in the table. */
1423 core.int columns;
1424 /**
1425 * The element properties for the table.
1426 *
1427 * The table will be created at the provided size, subject to a minimum size.
1428 * If no size is provided, the table will be automatically sized.
1429 *
1430 * Table transforms must have a scale of 1 and no shear components. If no
1431 * transform is provided, the table will be centered on the page.
1432 */
1433 PageElementProperties elementProperties;
1434 /**
1435 * A user-supplied object ID.
1436 *
1437 * If you specify an ID, it must be unique among all pages and page elements
1438 * in the presentation. The ID must start with an alphanumeric character or an
1439 * underscore (matches regex `[a-zA-Z0-9_]`); remaining characters
1440 * may include those as well as a hyphen or colon (matches regex
1441 * `[a-zA-Z0-9_-:]`).
1442 * The length of the ID must not be less than 5 or greater than 50.
1443 *
1444 * If you don't specify an ID, a unique one is generated.
1445 */
1446 core.String objectId;
1447 /** Number of rows in the table. */
1448 core.int rows;
1449
1450 CreateTableRequest();
1451
1452 CreateTableRequest.fromJson(core.Map _json) {
1453 if (_json.containsKey("columns")) {
1454 columns = _json["columns"];
1455 }
1456 if (_json.containsKey("elementProperties")) {
1457 elementProperties = new PageElementProperties.fromJson(_json["elementPrope rties"]);
1458 }
1459 if (_json.containsKey("objectId")) {
1460 objectId = _json["objectId"];
1461 }
1462 if (_json.containsKey("rows")) {
1463 rows = _json["rows"];
1464 }
1465 }
1466
1467 core.Map toJson() {
1468 var _json = new core.Map();
1469 if (columns != null) {
1470 _json["columns"] = columns;
1471 }
1472 if (elementProperties != null) {
1473 _json["elementProperties"] = (elementProperties).toJson();
1474 }
1475 if (objectId != null) {
1476 _json["objectId"] = objectId;
1477 }
1478 if (rows != null) {
1479 _json["rows"] = rows;
1480 }
1481 return _json;
1482 }
1483 }
1484
1485 /** The result of creating a table. */
1486 class CreateTableResponse {
1487 /** The object ID of the created table. */
1488 core.String objectId;
1489
1490 CreateTableResponse();
1491
1492 CreateTableResponse.fromJson(core.Map _json) {
1493 if (_json.containsKey("objectId")) {
1494 objectId = _json["objectId"];
1495 }
1496 }
1497
1498 core.Map toJson() {
1499 var _json = new core.Map();
1500 if (objectId != null) {
1501 _json["objectId"] = objectId;
1502 }
1503 return _json;
1504 }
1505 }
1506
1507 /** Creates a video. */
1508 class CreateVideoRequest {
1509 /** The element properties for the video. */
1510 PageElementProperties elementProperties;
1511 /**
1512 * The video source's unique identifier for this video.
1513 *
1514 * e.g. For YouTube video https://www.youtube.com/watch?v=7U3axjORYZ0,
1515 * the ID is 7U3axjORYZ0.
1516 */
1517 core.String id;
1518 /**
1519 * A user-supplied object ID.
1520 *
1521 * If you specify an ID, it must be unique among all pages and page elements
1522 * in the presentation. The ID must start with an alphanumeric character or an
1523 * underscore (matches regex `[a-zA-Z0-9_]`); remaining characters
1524 * may include those as well as a hyphen or colon (matches regex
1525 * `[a-zA-Z0-9_-:]`).
1526 * The length of the ID must not be less than 5 or greater than 50.
1527 *
1528 * If you don't specify an ID, a unique one is generated.
1529 */
1530 core.String objectId;
1531 /**
1532 * The video source.
1533 * Possible string values are:
1534 * - "SOURCE_UNSPECIFIED" : The video source is unspecified.
1535 * - "YOUTUBE" : The video source is YouTube.
1536 */
1537 core.String source;
1538
1539 CreateVideoRequest();
1540
1541 CreateVideoRequest.fromJson(core.Map _json) {
1542 if (_json.containsKey("elementProperties")) {
1543 elementProperties = new PageElementProperties.fromJson(_json["elementPrope rties"]);
1544 }
1545 if (_json.containsKey("id")) {
1546 id = _json["id"];
1547 }
1548 if (_json.containsKey("objectId")) {
1549 objectId = _json["objectId"];
1550 }
1551 if (_json.containsKey("source")) {
1552 source = _json["source"];
1553 }
1554 }
1555
1556 core.Map toJson() {
1557 var _json = new core.Map();
1558 if (elementProperties != null) {
1559 _json["elementProperties"] = (elementProperties).toJson();
1560 }
1561 if (id != null) {
1562 _json["id"] = id;
1563 }
1564 if (objectId != null) {
1565 _json["objectId"] = objectId;
1566 }
1567 if (source != null) {
1568 _json["source"] = source;
1569 }
1570 return _json;
1571 }
1572 }
1573
1574 /** The result of creating a video. */
1575 class CreateVideoResponse {
1576 /** The object ID of the created video. */
1577 core.String objectId;
1578
1579 CreateVideoResponse();
1580
1581 CreateVideoResponse.fromJson(core.Map _json) {
1582 if (_json.containsKey("objectId")) {
1583 objectId = _json["objectId"];
1584 }
1585 }
1586
1587 core.Map toJson() {
1588 var _json = new core.Map();
1589 if (objectId != null) {
1590 _json["objectId"] = objectId;
1591 }
1592 return _json;
1593 }
1594 }
1595
1596 /**
1597 * The crop properties of an object enclosed in a container. For example, an
1598 * Image.
1599 *
1600 * The crop properties is represented by the offsets of four edges which define
1601 * a crop rectangle. The offsets are measured in percentage from the
1602 * corresponding edges of the object's original bounding rectangle towards
1603 * inside, relative to the object's original dimensions.
1604 *
1605 * - If the offset is in the interval (0, 1), the corresponding edge of crop
1606 * rectangle is positioned inside of the object's original bounding rectangle.
1607 * - If the offset is negative or greater than 1, the corresponding edge of crop
1608 * rectangle is positioned outside of the object's original bounding rectangle.
1609 * - If the left edge of the crop rectangle is on the right side of its right
1610 * edge, the object will be flipped horizontally.
1611 * - If the top edge of the crop rectangle is below its bottom edge, the object
1612 * will be flipped vertically.
1613 * - If all offsets and rotation angle is 0, the object is not cropped.
1614 *
1615 * After cropping, the content in the crop rectangle will be stretched to fit
1616 * its container.
1617 */
1618 class CropProperties {
1619 /**
1620 * The rotation angle of the crop window around its center, in radians.
1621 * Rotation angle is applied after the offset.
1622 */
1623 core.double angle;
1624 /**
1625 * The offset specifies the bottom edge of the crop rectangle that is located
1626 * above the original bounding rectangle bottom edge, relative to the object's
1627 * original height.
1628 */
1629 core.double bottomOffset;
1630 /**
1631 * The offset specifies the left edge of the crop rectangle that is located to
1632 * the right of the original bounding rectangle left edge, relative to the
1633 * object's original width.
1634 */
1635 core.double leftOffset;
1636 /**
1637 * The offset specifies the right edge of the crop rectangle that is located
1638 * to the left of the original bounding rectangle right edge, relative to the
1639 * object's original width.
1640 */
1641 core.double rightOffset;
1642 /**
1643 * The offset specifies the top edge of the crop rectangle that is located
1644 * below the original bounding rectangle top edge, relative to the object's
1645 * original height.
1646 */
1647 core.double topOffset;
1648
1649 CropProperties();
1650
1651 CropProperties.fromJson(core.Map _json) {
1652 if (_json.containsKey("angle")) {
1653 angle = _json["angle"];
1654 }
1655 if (_json.containsKey("bottomOffset")) {
1656 bottomOffset = _json["bottomOffset"];
1657 }
1658 if (_json.containsKey("leftOffset")) {
1659 leftOffset = _json["leftOffset"];
1660 }
1661 if (_json.containsKey("rightOffset")) {
1662 rightOffset = _json["rightOffset"];
1663 }
1664 if (_json.containsKey("topOffset")) {
1665 topOffset = _json["topOffset"];
1666 }
1667 }
1668
1669 core.Map toJson() {
1670 var _json = new core.Map();
1671 if (angle != null) {
1672 _json["angle"] = angle;
1673 }
1674 if (bottomOffset != null) {
1675 _json["bottomOffset"] = bottomOffset;
1676 }
1677 if (leftOffset != null) {
1678 _json["leftOffset"] = leftOffset;
1679 }
1680 if (rightOffset != null) {
1681 _json["rightOffset"] = rightOffset;
1682 }
1683 if (topOffset != null) {
1684 _json["topOffset"] = topOffset;
1685 }
1686 return _json;
1687 }
1688 }
1689
1690 /**
1691 * Deletes an object, either pages or
1692 * page elements, from the
1693 * presentation.
1694 */
1695 class DeleteObjectRequest {
1696 /**
1697 * The object ID of the page or page element to delete.
1698 *
1699 * If after a delete operation a group contains
1700 * only 1 or no page elements, the group is also deleted.
1701 *
1702 * If a placeholder is deleted on a layout, any empty inheriting shapes are
1703 * also deleted.
1704 */
1705 core.String objectId;
1706
1707 DeleteObjectRequest();
1708
1709 DeleteObjectRequest.fromJson(core.Map _json) {
1710 if (_json.containsKey("objectId")) {
1711 objectId = _json["objectId"];
1712 }
1713 }
1714
1715 core.Map toJson() {
1716 var _json = new core.Map();
1717 if (objectId != null) {
1718 _json["objectId"] = objectId;
1719 }
1720 return _json;
1721 }
1722 }
1723
1724 /** Deletes a column from a table. */
1725 class DeleteTableColumnRequest {
1726 /**
1727 * The reference table cell location from which a column will be deleted.
1728 *
1729 * The column this cell spans will be deleted. If this is a merged cell,
1730 * multiple columns will be deleted. If no columns remain in the table after
1731 * this deletion, the whole table is deleted.
1732 */
1733 TableCellLocation cellLocation;
1734 /** The table to delete columns from. */
1735 core.String tableObjectId;
1736
1737 DeleteTableColumnRequest();
1738
1739 DeleteTableColumnRequest.fromJson(core.Map _json) {
1740 if (_json.containsKey("cellLocation")) {
1741 cellLocation = new TableCellLocation.fromJson(_json["cellLocation"]);
1742 }
1743 if (_json.containsKey("tableObjectId")) {
1744 tableObjectId = _json["tableObjectId"];
1745 }
1746 }
1747
1748 core.Map toJson() {
1749 var _json = new core.Map();
1750 if (cellLocation != null) {
1751 _json["cellLocation"] = (cellLocation).toJson();
1752 }
1753 if (tableObjectId != null) {
1754 _json["tableObjectId"] = tableObjectId;
1755 }
1756 return _json;
1757 }
1758 }
1759
1760 /** Deletes a row from a table. */
1761 class DeleteTableRowRequest {
1762 /**
1763 * The reference table cell location from which a row will be deleted.
1764 *
1765 * The row this cell spans will be deleted. If this is a merged cell, multiple
1766 * rows will be deleted. If no rows remain in the table after this deletion,
1767 * the whole table is deleted.
1768 */
1769 TableCellLocation cellLocation;
1770 /** The table to delete rows from. */
1771 core.String tableObjectId;
1772
1773 DeleteTableRowRequest();
1774
1775 DeleteTableRowRequest.fromJson(core.Map _json) {
1776 if (_json.containsKey("cellLocation")) {
1777 cellLocation = new TableCellLocation.fromJson(_json["cellLocation"]);
1778 }
1779 if (_json.containsKey("tableObjectId")) {
1780 tableObjectId = _json["tableObjectId"];
1781 }
1782 }
1783
1784 core.Map toJson() {
1785 var _json = new core.Map();
1786 if (cellLocation != null) {
1787 _json["cellLocation"] = (cellLocation).toJson();
1788 }
1789 if (tableObjectId != null) {
1790 _json["tableObjectId"] = tableObjectId;
1791 }
1792 return _json;
1793 }
1794 }
1795
1796 /** Deletes text from a shape or a table cell. */
1797 class DeleteTextRequest {
1798 /**
1799 * The optional table cell location if the text is to be deleted from a table
1800 * cell. If present, the object_id must refer to a table.
1801 */
1802 TableCellLocation cellLocation;
1803 /**
1804 * The object ID of the shape or table from which the text will be deleted.
1805 */
1806 core.String objectId;
1807 /**
1808 * The range of text to delete, based on TextElement indexes.
1809 *
1810 * There is always an implicit newline character at the end of a shape's or
1811 * table cell's text that cannot be deleted. `Range.Type.ALL` will use the
1812 * correct bounds, but care must be taken when specifying explicit bounds for
1813 * range types `FROM_START_INDEX` and `FIXED_RANGE`. For example, if the text
1814 * is "ABC", followed by an implicit newline, then the maximum value is 2 for
1815 * `text_range.start_index` and 3 for `text_range.end_index`.
1816 *
1817 * Deleting text that crosses a paragraph boundary may result in changes
1818 * to paragraph styles and lists as the two paragraphs are merged.
1819 *
1820 * Ranges that include only one code unit of a surrogate pair are expanded to
1821 * include both code units.
1822 */
1823 Range textRange;
1824
1825 DeleteTextRequest();
1826
1827 DeleteTextRequest.fromJson(core.Map _json) {
1828 if (_json.containsKey("cellLocation")) {
1829 cellLocation = new TableCellLocation.fromJson(_json["cellLocation"]);
1830 }
1831 if (_json.containsKey("objectId")) {
1832 objectId = _json["objectId"];
1833 }
1834 if (_json.containsKey("textRange")) {
1835 textRange = new Range.fromJson(_json["textRange"]);
1836 }
1837 }
1838
1839 core.Map toJson() {
1840 var _json = new core.Map();
1841 if (cellLocation != null) {
1842 _json["cellLocation"] = (cellLocation).toJson();
1843 }
1844 if (objectId != null) {
1845 _json["objectId"] = objectId;
1846 }
1847 if (textRange != null) {
1848 _json["textRange"] = (textRange).toJson();
1849 }
1850 return _json;
1851 }
1852 }
1853
1854 /** A magnitude in a single direction in the specified units. */
1855 class Dimension {
1856 /** The magnitude. */
1857 core.double magnitude;
1858 /**
1859 * The units for magnitude.
1860 * Possible string values are:
1861 * - "UNIT_UNSPECIFIED" : The units are unknown.
1862 * - "EMU" : An English Metric Unit (EMU) is defined as 1/360,000 of a
1863 * centimeter
1864 * and thus there are 914,400 EMUs per inch, and 12,700 EMUs per point.
1865 * - "PT" : A point, 1/72 of an inch.
1866 */
1867 core.String unit;
1868
1869 Dimension();
1870
1871 Dimension.fromJson(core.Map _json) {
1872 if (_json.containsKey("magnitude")) {
1873 magnitude = _json["magnitude"];
1874 }
1875 if (_json.containsKey("unit")) {
1876 unit = _json["unit"];
1877 }
1878 }
1879
1880 core.Map toJson() {
1881 var _json = new core.Map();
1882 if (magnitude != null) {
1883 _json["magnitude"] = magnitude;
1884 }
1885 if (unit != null) {
1886 _json["unit"] = unit;
1887 }
1888 return _json;
1889 }
1890 }
1891
1892 /**
1893 * Duplicates a slide or page element.
1894 *
1895 * When duplicating a slide, the duplicate slide will be created immediately
1896 * following the specified slide. When duplicating a page element, the duplicate
1897 * will be placed on the same page at the same position as the original.
1898 */
1899 class DuplicateObjectRequest {
1900 /** The ID of the object to duplicate. */
1901 core.String objectId;
1902 /**
1903 * The object being duplicated may contain other objects, for example when
1904 * duplicating a slide or a group page element. This map defines how the IDs
1905 * of duplicated objects are generated: the keys are the IDs of the original
1906 * objects and its values are the IDs that will be assigned to the
1907 * corresponding duplicate object. The ID of the source object's duplicate
1908 * may be specified in this map as well, using the same value of the
1909 * `object_id` field as a key and the newly desired ID as the value.
1910 *
1911 * All keys must correspond to existing IDs in the presentation. All values
1912 * must be unique in the presentation and must start with an alphanumeric
1913 * character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining
1914 * characters may include those as well as a hyphen or colon (matches regex
1915 * `[a-zA-Z0-9_-:]`). The length of the new ID must not be less than 5 or
1916 * greater than 50.
1917 *
1918 * If any IDs of source objects are omitted from the map, a new random ID will
1919 * be assigned. If the map is empty or unset, all duplicate objects will
1920 * receive a new random ID.
1921 */
1922 core.Map<core.String, core.String> objectIds;
1923
1924 DuplicateObjectRequest();
1925
1926 DuplicateObjectRequest.fromJson(core.Map _json) {
1927 if (_json.containsKey("objectId")) {
1928 objectId = _json["objectId"];
1929 }
1930 if (_json.containsKey("objectIds")) {
1931 objectIds = _json["objectIds"];
1932 }
1933 }
1934
1935 core.Map toJson() {
1936 var _json = new core.Map();
1937 if (objectId != null) {
1938 _json["objectId"] = objectId;
1939 }
1940 if (objectIds != null) {
1941 _json["objectIds"] = objectIds;
1942 }
1943 return _json;
1944 }
1945 }
1946
1947 /** The response of duplicating an object. */
1948 class DuplicateObjectResponse {
1949 /** The ID of the new duplicate object. */
1950 core.String objectId;
1951
1952 DuplicateObjectResponse();
1953
1954 DuplicateObjectResponse.fromJson(core.Map _json) {
1955 if (_json.containsKey("objectId")) {
1956 objectId = _json["objectId"];
1957 }
1958 }
1959
1960 core.Map toJson() {
1961 var _json = new core.Map();
1962 if (objectId != null) {
1963 _json["objectId"] = objectId;
1964 }
1965 return _json;
1966 }
1967 }
1968
1969 /**
1970 * A PageElement kind representing a
1971 * joined collection of PageElements.
1972 */
1973 class Group {
1974 /**
1975 * The collection of elements in the group. The minimum size of a group is 2.
1976 */
1977 core.List<PageElement> children;
1978
1979 Group();
1980
1981 Group.fromJson(core.Map _json) {
1982 if (_json.containsKey("children")) {
1983 children = _json["children"].map((value) => new PageElement.fromJson(value )).toList();
1984 }
1985 }
1986
1987 core.Map toJson() {
1988 var _json = new core.Map();
1989 if (children != null) {
1990 _json["children"] = children.map((value) => (value).toJson()).toList();
1991 }
1992 return _json;
1993 }
1994 }
1995
1996 /**
1997 * A PageElement kind representing an
1998 * image.
1999 */
2000 class Image {
2001 /**
2002 * An URL to an image with a default lifetime of 30 minutes.
2003 * This URL is tagged with the account of the requester. Anyone with the URL
2004 * effectively accesses the image as the original requester. Access to the
2005 * image may be lost if the presentation's sharing settings change.
2006 */
2007 core.String contentUrl;
2008 /** The properties of the image. */
2009 ImageProperties imageProperties;
2010
2011 Image();
2012
2013 Image.fromJson(core.Map _json) {
2014 if (_json.containsKey("contentUrl")) {
2015 contentUrl = _json["contentUrl"];
2016 }
2017 if (_json.containsKey("imageProperties")) {
2018 imageProperties = new ImageProperties.fromJson(_json["imageProperties"]);
2019 }
2020 }
2021
2022 core.Map toJson() {
2023 var _json = new core.Map();
2024 if (contentUrl != null) {
2025 _json["contentUrl"] = contentUrl;
2026 }
2027 if (imageProperties != null) {
2028 _json["imageProperties"] = (imageProperties).toJson();
2029 }
2030 return _json;
2031 }
2032 }
2033
2034 /** The properties of the Image. */
2035 class ImageProperties {
2036 /**
2037 * The brightness effect of the image. The value should be in the interval
2038 * [-1.0, 1.0], where 0 means no effect. This property is read-only.
2039 */
2040 core.double brightness;
2041 /**
2042 * The contrast effect of the image. The value should be in the interval
2043 * [-1.0, 1.0], where 0 means no effect. This property is read-only.
2044 */
2045 core.double contrast;
2046 /**
2047 * The crop properties of the image. If not set, the image is not cropped.
2048 * This property is read-only.
2049 */
2050 CropProperties cropProperties;
2051 /** The hyperlink destination of the image. If unset, there is no link. */
2052 Link link;
2053 /** The outline of the image. If not set, the the image has no outline. */
2054 Outline outline;
2055 /**
2056 * The recolor effect of the image. If not set, the image is not recolored.
2057 * This property is read-only.
2058 */
2059 Recolor recolor;
2060 /**
2061 * The shadow of the image. If not set, the image has no shadow. This property
2062 * is read-only.
2063 */
2064 Shadow shadow;
2065 /**
2066 * The transparency effect of the image. The value should be in the interval
2067 * [0.0, 1.0], where 0 means no effect and 1 means completely transparent.
2068 * This property is read-only.
2069 */
2070 core.double transparency;
2071
2072 ImageProperties();
2073
2074 ImageProperties.fromJson(core.Map _json) {
2075 if (_json.containsKey("brightness")) {
2076 brightness = _json["brightness"];
2077 }
2078 if (_json.containsKey("contrast")) {
2079 contrast = _json["contrast"];
2080 }
2081 if (_json.containsKey("cropProperties")) {
2082 cropProperties = new CropProperties.fromJson(_json["cropProperties"]);
2083 }
2084 if (_json.containsKey("link")) {
2085 link = new Link.fromJson(_json["link"]);
2086 }
2087 if (_json.containsKey("outline")) {
2088 outline = new Outline.fromJson(_json["outline"]);
2089 }
2090 if (_json.containsKey("recolor")) {
2091 recolor = new Recolor.fromJson(_json["recolor"]);
2092 }
2093 if (_json.containsKey("shadow")) {
2094 shadow = new Shadow.fromJson(_json["shadow"]);
2095 }
2096 if (_json.containsKey("transparency")) {
2097 transparency = _json["transparency"];
2098 }
2099 }
2100
2101 core.Map toJson() {
2102 var _json = new core.Map();
2103 if (brightness != null) {
2104 _json["brightness"] = brightness;
2105 }
2106 if (contrast != null) {
2107 _json["contrast"] = contrast;
2108 }
2109 if (cropProperties != null) {
2110 _json["cropProperties"] = (cropProperties).toJson();
2111 }
2112 if (link != null) {
2113 _json["link"] = (link).toJson();
2114 }
2115 if (outline != null) {
2116 _json["outline"] = (outline).toJson();
2117 }
2118 if (recolor != null) {
2119 _json["recolor"] = (recolor).toJson();
2120 }
2121 if (shadow != null) {
2122 _json["shadow"] = (shadow).toJson();
2123 }
2124 if (transparency != null) {
2125 _json["transparency"] = transparency;
2126 }
2127 return _json;
2128 }
2129 }
2130
2131 /**
2132 * Inserts columns into a table.
2133 *
2134 * Other columns in the table will be resized to fit the new column.
2135 */
2136 class InsertTableColumnsRequest {
2137 /**
2138 * The reference table cell location from which columns will be inserted.
2139 *
2140 * A new column will be inserted to the left (or right) of the column where
2141 * the reference cell is. If the reference cell is a merged cell, a new
2142 * column will be inserted to the left (or right) of the merged cell.
2143 */
2144 TableCellLocation cellLocation;
2145 /**
2146 * Whether to insert new columns to the right of the reference cell location.
2147 *
2148 * - `True`: insert to the right.
2149 * - `False`: insert to the left.
2150 */
2151 core.bool insertRight;
2152 /** The number of columns to be inserted. Maximum 20 per request. */
2153 core.int number;
2154 /** The table to insert columns into. */
2155 core.String tableObjectId;
2156
2157 InsertTableColumnsRequest();
2158
2159 InsertTableColumnsRequest.fromJson(core.Map _json) {
2160 if (_json.containsKey("cellLocation")) {
2161 cellLocation = new TableCellLocation.fromJson(_json["cellLocation"]);
2162 }
2163 if (_json.containsKey("insertRight")) {
2164 insertRight = _json["insertRight"];
2165 }
2166 if (_json.containsKey("number")) {
2167 number = _json["number"];
2168 }
2169 if (_json.containsKey("tableObjectId")) {
2170 tableObjectId = _json["tableObjectId"];
2171 }
2172 }
2173
2174 core.Map toJson() {
2175 var _json = new core.Map();
2176 if (cellLocation != null) {
2177 _json["cellLocation"] = (cellLocation).toJson();
2178 }
2179 if (insertRight != null) {
2180 _json["insertRight"] = insertRight;
2181 }
2182 if (number != null) {
2183 _json["number"] = number;
2184 }
2185 if (tableObjectId != null) {
2186 _json["tableObjectId"] = tableObjectId;
2187 }
2188 return _json;
2189 }
2190 }
2191
2192 /** Inserts rows into a table. */
2193 class InsertTableRowsRequest {
2194 /**
2195 * The reference table cell location from which rows will be inserted.
2196 *
2197 * A new row will be inserted above (or below) the row where the reference
2198 * cell is. If the reference cell is a merged cell, a new row will be
2199 * inserted above (or below) the merged cell.
2200 */
2201 TableCellLocation cellLocation;
2202 /**
2203 * Whether to insert new rows below the reference cell location.
2204 *
2205 * - `True`: insert below the cell.
2206 * - `False`: insert above the cell.
2207 */
2208 core.bool insertBelow;
2209 /** The number of rows to be inserted. Maximum 20 per request. */
2210 core.int number;
2211 /** The table to insert rows into. */
2212 core.String tableObjectId;
2213
2214 InsertTableRowsRequest();
2215
2216 InsertTableRowsRequest.fromJson(core.Map _json) {
2217 if (_json.containsKey("cellLocation")) {
2218 cellLocation = new TableCellLocation.fromJson(_json["cellLocation"]);
2219 }
2220 if (_json.containsKey("insertBelow")) {
2221 insertBelow = _json["insertBelow"];
2222 }
2223 if (_json.containsKey("number")) {
2224 number = _json["number"];
2225 }
2226 if (_json.containsKey("tableObjectId")) {
2227 tableObjectId = _json["tableObjectId"];
2228 }
2229 }
2230
2231 core.Map toJson() {
2232 var _json = new core.Map();
2233 if (cellLocation != null) {
2234 _json["cellLocation"] = (cellLocation).toJson();
2235 }
2236 if (insertBelow != null) {
2237 _json["insertBelow"] = insertBelow;
2238 }
2239 if (number != null) {
2240 _json["number"] = number;
2241 }
2242 if (tableObjectId != null) {
2243 _json["tableObjectId"] = tableObjectId;
2244 }
2245 return _json;
2246 }
2247 }
2248
2249 /** Inserts text into a shape or a table cell. */
2250 class InsertTextRequest {
2251 /**
2252 * The optional table cell location if the text is to be inserted into a table
2253 * cell. If present, the object_id must refer to a table.
2254 */
2255 TableCellLocation cellLocation;
2256 /**
2257 * The index where the text will be inserted, in Unicode code units, based
2258 * on TextElement indexes.
2259 *
2260 * The index is zero-based and is computed from the start of the string.
2261 * The index may be adjusted to prevent insertions inside Unicode grapheme
2262 * clusters. In these cases, the text will be inserted immediately after the
2263 * grapheme cluster.
2264 */
2265 core.int insertionIndex;
2266 /** The object ID of the shape or table where the text will be inserted. */
2267 core.String objectId;
2268 /**
2269 * The text to be inserted.
2270 *
2271 * Inserting a newline character will implicitly create a new
2272 * ParagraphMarker at that index.
2273 * The paragraph style of the new paragraph will be copied from the paragraph
2274 * at the current insertion index, including lists and bullets.
2275 *
2276 * Text styles for inserted text will be determined automatically, generally
2277 * preserving the styling of neighboring text. In most cases, the text will be
2278 * added to the TextRun that exists at the
2279 * insertion index.
2280 *
2281 * Some control characters (U+0000-U+0008, U+000C-U+001F) and characters
2282 * from the Unicode Basic Multilingual Plane Private Use Area (U+E000-U+F8FF)
2283 * will be stripped out of the inserted text.
2284 */
2285 core.String text;
2286
2287 InsertTextRequest();
2288
2289 InsertTextRequest.fromJson(core.Map _json) {
2290 if (_json.containsKey("cellLocation")) {
2291 cellLocation = new TableCellLocation.fromJson(_json["cellLocation"]);
2292 }
2293 if (_json.containsKey("insertionIndex")) {
2294 insertionIndex = _json["insertionIndex"];
2295 }
2296 if (_json.containsKey("objectId")) {
2297 objectId = _json["objectId"];
2298 }
2299 if (_json.containsKey("text")) {
2300 text = _json["text"];
2301 }
2302 }
2303
2304 core.Map toJson() {
2305 var _json = new core.Map();
2306 if (cellLocation != null) {
2307 _json["cellLocation"] = (cellLocation).toJson();
2308 }
2309 if (insertionIndex != null) {
2310 _json["insertionIndex"] = insertionIndex;
2311 }
2312 if (objectId != null) {
2313 _json["objectId"] = objectId;
2314 }
2315 if (text != null) {
2316 _json["text"] = text;
2317 }
2318 return _json;
2319 }
2320 }
2321
2322 /**
2323 * The properties of Page are only
2324 * relevant for pages with page_type LAYOUT.
2325 */
2326 class LayoutProperties {
2327 /** The human readable name of the layout in the presentation's locale. */
2328 core.String displayName;
2329 /** The object ID of the master that this layout is based on. */
2330 core.String masterObjectId;
2331 /** The name of the layout. */
2332 core.String name;
2333
2334 LayoutProperties();
2335
2336 LayoutProperties.fromJson(core.Map _json) {
2337 if (_json.containsKey("displayName")) {
2338 displayName = _json["displayName"];
2339 }
2340 if (_json.containsKey("masterObjectId")) {
2341 masterObjectId = _json["masterObjectId"];
2342 }
2343 if (_json.containsKey("name")) {
2344 name = _json["name"];
2345 }
2346 }
2347
2348 core.Map toJson() {
2349 var _json = new core.Map();
2350 if (displayName != null) {
2351 _json["displayName"] = displayName;
2352 }
2353 if (masterObjectId != null) {
2354 _json["masterObjectId"] = masterObjectId;
2355 }
2356 if (name != null) {
2357 _json["name"] = name;
2358 }
2359 return _json;
2360 }
2361 }
2362
2363 /**
2364 * Slide layout reference. This may reference either:
2365 *
2366 * - A predefined layout
2367 * - One of the layouts in the presentation.
2368 */
2369 class LayoutReference {
2370 /** Layout ID: the object ID of one of the layouts in the presentation. */
2371 core.String layoutId;
2372 /**
2373 * Predefined layout.
2374 * Possible string values are:
2375 * - "PREDEFINED_LAYOUT_UNSPECIFIED" : Unspecified layout.
2376 * - "BLANK" : Blank layout, with no placeholders.
2377 * - "CAPTION_ONLY" : Layout with a caption at the bottom.
2378 * - "TITLE" : Layout with a title and a subtitle.
2379 * - "TITLE_AND_BODY" : Layout with a title and body.
2380 * - "TITLE_AND_TWO_COLUMNS" : Layout with a title and two columns.
2381 * - "TITLE_ONLY" : Layout with only a title.
2382 * - "SECTION_HEADER" : Layout with a section title.
2383 * - "SECTION_TITLE_AND_DESCRIPTION" : Layout with a title and subtitle on one
2384 * side and description on the other.
2385 * - "ONE_COLUMN_TEXT" : Layout with one title and one body, arranged in a
2386 * single column.
2387 * - "MAIN_POINT" : Layout with a main point.
2388 * - "BIG_NUMBER" : Layout with a big number heading.
2389 */
2390 core.String predefinedLayout;
2391
2392 LayoutReference();
2393
2394 LayoutReference.fromJson(core.Map _json) {
2395 if (_json.containsKey("layoutId")) {
2396 layoutId = _json["layoutId"];
2397 }
2398 if (_json.containsKey("predefinedLayout")) {
2399 predefinedLayout = _json["predefinedLayout"];
2400 }
2401 }
2402
2403 core.Map toJson() {
2404 var _json = new core.Map();
2405 if (layoutId != null) {
2406 _json["layoutId"] = layoutId;
2407 }
2408 if (predefinedLayout != null) {
2409 _json["predefinedLayout"] = predefinedLayout;
2410 }
2411 return _json;
2412 }
2413 }
2414
2415 /**
2416 * A PageElement kind representing a
2417 * line, curved connector, or bent connector.
2418 */
2419 class Line {
2420 /** The properties of the line. */
2421 LineProperties lineProperties;
2422 /**
2423 * The type of the line.
2424 * Possible string values are:
2425 * - "TYPE_UNSPECIFIED" : An unspecified line type.
2426 * - "STRAIGHT_CONNECTOR_1" : Straight connector 1 form. Corresponds to
2427 * ECMA-376 ST_ShapeType
2428 * 'straightConnector1'.
2429 * - "BENT_CONNECTOR_2" : Bent connector 2 form. Corresponds to ECMA-376
2430 * ST_ShapeType
2431 * 'bentConnector2'.
2432 * - "BENT_CONNECTOR_3" : Bent connector 3 form. Corresponds to ECMA-376
2433 * ST_ShapeType
2434 * 'bentConnector3'.
2435 * - "BENT_CONNECTOR_4" : Bent connector 4 form. Corresponds to ECMA-376
2436 * ST_ShapeType
2437 * 'bentConnector4'.
2438 * - "BENT_CONNECTOR_5" : Bent connector 5 form. Corresponds to ECMA-376
2439 * ST_ShapeType
2440 * 'bentConnector5'.
2441 * - "CURVED_CONNECTOR_2" : Curved connector 2 form. Corresponds to ECMA-376
2442 * ST_ShapeType
2443 * 'curvedConnector2'.
2444 * - "CURVED_CONNECTOR_3" : Curved connector 3 form. Corresponds to ECMA-376
2445 * ST_ShapeType
2446 * 'curvedConnector3'.
2447 * - "CURVED_CONNECTOR_4" : Curved connector 4 form. Corresponds to ECMA-376
2448 * ST_ShapeType
2449 * 'curvedConnector4'.
2450 * - "CURVED_CONNECTOR_5" : Curved connector 5 form. Corresponds to ECMA-376
2451 * ST_ShapeType
2452 * 'curvedConnector5'.
2453 */
2454 core.String lineType;
2455
2456 Line();
2457
2458 Line.fromJson(core.Map _json) {
2459 if (_json.containsKey("lineProperties")) {
2460 lineProperties = new LineProperties.fromJson(_json["lineProperties"]);
2461 }
2462 if (_json.containsKey("lineType")) {
2463 lineType = _json["lineType"];
2464 }
2465 }
2466
2467 core.Map toJson() {
2468 var _json = new core.Map();
2469 if (lineProperties != null) {
2470 _json["lineProperties"] = (lineProperties).toJson();
2471 }
2472 if (lineType != null) {
2473 _json["lineType"] = lineType;
2474 }
2475 return _json;
2476 }
2477 }
2478
2479 /** The fill of the line. */
2480 class LineFill {
2481 /** Solid color fill. */
2482 SolidFill solidFill;
2483
2484 LineFill();
2485
2486 LineFill.fromJson(core.Map _json) {
2487 if (_json.containsKey("solidFill")) {
2488 solidFill = new SolidFill.fromJson(_json["solidFill"]);
2489 }
2490 }
2491
2492 core.Map toJson() {
2493 var _json = new core.Map();
2494 if (solidFill != null) {
2495 _json["solidFill"] = (solidFill).toJson();
2496 }
2497 return _json;
2498 }
2499 }
2500
2501 /**
2502 * The properties of the Line.
2503 *
2504 * When unset, these fields default to values that match the appearance of
2505 * new lines created in the Slides editor.
2506 */
2507 class LineProperties {
2508 /**
2509 * The dash style of the line.
2510 * Possible string values are:
2511 * - "DASH_STYLE_UNSPECIFIED" : Unspecified dash style.
2512 * - "SOLID" : Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal value
2513 * 'solid'.
2514 * This is the default dash style.
2515 * - "DOT" : Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal value
2516 * 'dot'.
2517 * - "DASH" : Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal value
2518 * 'dash'.
2519 * - "DASH_DOT" : Alternating dashes and dots. Corresponds to ECMA-376
2520 * ST_PresetLineDashVal
2521 * value 'dashDot'.
2522 * - "LONG_DASH" : Line with large dashes. Corresponds to ECMA-376
2523 * ST_PresetLineDashVal
2524 * value 'lgDash'.
2525 * - "LONG_DASH_DOT" : Alternating large dashes and dots. Corresponds to
2526 * ECMA-376
2527 * ST_PresetLineDashVal value 'lgDashDot'.
2528 */
2529 core.String dashStyle;
2530 /**
2531 * The style of the arrow at the end of the line.
2532 * Possible string values are:
2533 * - "ARROW_STYLE_UNSPECIFIED" : An unspecified arrow style.
2534 * - "NONE" : No arrow.
2535 * - "STEALTH_ARROW" : Arrow with notched back. Corresponds to ECMA-376
2536 * ST_LineEndType value
2537 * 'stealth'.
2538 * - "FILL_ARROW" : Filled arrow. Corresponds to ECMA-376 ST_LineEndType value
2539 * 'triangle'.
2540 * - "FILL_CIRCLE" : Filled circle. Corresponds to ECMA-376 ST_LineEndType
2541 * value 'oval'.
2542 * - "FILL_SQUARE" : Filled square.
2543 * - "FILL_DIAMOND" : Filled diamond. Corresponds to ECMA-376 ST_LineEndType
2544 * value 'diamond'.
2545 * - "OPEN_ARROW" : Hollow arrow.
2546 * - "OPEN_CIRCLE" : Hollow circle.
2547 * - "OPEN_SQUARE" : Hollow square.
2548 * - "OPEN_DIAMOND" : Hollow diamond.
2549 */
2550 core.String endArrow;
2551 /**
2552 * The fill of the line. The default line fill matches the defaults for new
2553 * lines created in the Slides editor.
2554 */
2555 LineFill lineFill;
2556 /** The hyperlink destination of the line. If unset, there is no link. */
2557 Link link;
2558 /**
2559 * The style of the arrow at the beginning of the line.
2560 * Possible string values are:
2561 * - "ARROW_STYLE_UNSPECIFIED" : An unspecified arrow style.
2562 * - "NONE" : No arrow.
2563 * - "STEALTH_ARROW" : Arrow with notched back. Corresponds to ECMA-376
2564 * ST_LineEndType value
2565 * 'stealth'.
2566 * - "FILL_ARROW" : Filled arrow. Corresponds to ECMA-376 ST_LineEndType value
2567 * 'triangle'.
2568 * - "FILL_CIRCLE" : Filled circle. Corresponds to ECMA-376 ST_LineEndType
2569 * value 'oval'.
2570 * - "FILL_SQUARE" : Filled square.
2571 * - "FILL_DIAMOND" : Filled diamond. Corresponds to ECMA-376 ST_LineEndType
2572 * value 'diamond'.
2573 * - "OPEN_ARROW" : Hollow arrow.
2574 * - "OPEN_CIRCLE" : Hollow circle.
2575 * - "OPEN_SQUARE" : Hollow square.
2576 * - "OPEN_DIAMOND" : Hollow diamond.
2577 */
2578 core.String startArrow;
2579 /** The thickness of the line. */
2580 Dimension weight;
2581
2582 LineProperties();
2583
2584 LineProperties.fromJson(core.Map _json) {
2585 if (_json.containsKey("dashStyle")) {
2586 dashStyle = _json["dashStyle"];
2587 }
2588 if (_json.containsKey("endArrow")) {
2589 endArrow = _json["endArrow"];
2590 }
2591 if (_json.containsKey("lineFill")) {
2592 lineFill = new LineFill.fromJson(_json["lineFill"]);
2593 }
2594 if (_json.containsKey("link")) {
2595 link = new Link.fromJson(_json["link"]);
2596 }
2597 if (_json.containsKey("startArrow")) {
2598 startArrow = _json["startArrow"];
2599 }
2600 if (_json.containsKey("weight")) {
2601 weight = new Dimension.fromJson(_json["weight"]);
2602 }
2603 }
2604
2605 core.Map toJson() {
2606 var _json = new core.Map();
2607 if (dashStyle != null) {
2608 _json["dashStyle"] = dashStyle;
2609 }
2610 if (endArrow != null) {
2611 _json["endArrow"] = endArrow;
2612 }
2613 if (lineFill != null) {
2614 _json["lineFill"] = (lineFill).toJson();
2615 }
2616 if (link != null) {
2617 _json["link"] = (link).toJson();
2618 }
2619 if (startArrow != null) {
2620 _json["startArrow"] = startArrow;
2621 }
2622 if (weight != null) {
2623 _json["weight"] = (weight).toJson();
2624 }
2625 return _json;
2626 }
2627 }
2628
2629 /** A hypertext link. */
2630 class Link {
2631 /**
2632 * If set, indicates this is a link to the specific page in this
2633 * presentation with this ID. A page with this ID may not exist.
2634 */
2635 core.String pageObjectId;
2636 /**
2637 * If set, indicates this is a link to a slide in this presentation,
2638 * addressed by its position.
2639 * Possible string values are:
2640 * - "RELATIVE_SLIDE_LINK_UNSPECIFIED" : An unspecified relative slide link.
2641 * - "NEXT_SLIDE" : A link to the next slide.
2642 * - "PREVIOUS_SLIDE" : A link to the previous slide.
2643 * - "FIRST_SLIDE" : A link to the first slide in the presentation.
2644 * - "LAST_SLIDE" : A link to the last slide in the presentation.
2645 */
2646 core.String relativeLink;
2647 /**
2648 * If set, indicates this is a link to the slide at this zero-based index
2649 * in the presentation. There may not be a slide at this index.
2650 */
2651 core.int slideIndex;
2652 /** If set, indicates this is a link to the external web page at this URL. */
2653 core.String url;
2654
2655 Link();
2656
2657 Link.fromJson(core.Map _json) {
2658 if (_json.containsKey("pageObjectId")) {
2659 pageObjectId = _json["pageObjectId"];
2660 }
2661 if (_json.containsKey("relativeLink")) {
2662 relativeLink = _json["relativeLink"];
2663 }
2664 if (_json.containsKey("slideIndex")) {
2665 slideIndex = _json["slideIndex"];
2666 }
2667 if (_json.containsKey("url")) {
2668 url = _json["url"];
2669 }
2670 }
2671
2672 core.Map toJson() {
2673 var _json = new core.Map();
2674 if (pageObjectId != null) {
2675 _json["pageObjectId"] = pageObjectId;
2676 }
2677 if (relativeLink != null) {
2678 _json["relativeLink"] = relativeLink;
2679 }
2680 if (slideIndex != null) {
2681 _json["slideIndex"] = slideIndex;
2682 }
2683 if (url != null) {
2684 _json["url"] = url;
2685 }
2686 return _json;
2687 }
2688 }
2689
2690 /**
2691 * A List describes the look and feel of bullets belonging to paragraphs
2692 * associated with a list. A paragraph that is part of a list has an implicit
2693 * reference to that list's ID.
2694 */
2695 class List {
2696 /** The ID of the list. */
2697 core.String listId;
2698 /**
2699 * A map of nesting levels to the properties of bullets at the associated
2700 * level. A list has at most nine levels of nesting, so the possible values
2701 * for the keys of this map are 0 through 8, inclusive.
2702 */
2703 core.Map<core.String, NestingLevel> nestingLevel;
2704
2705 List();
2706
2707 List.fromJson(core.Map _json) {
2708 if (_json.containsKey("listId")) {
2709 listId = _json["listId"];
2710 }
2711 if (_json.containsKey("nestingLevel")) {
2712 nestingLevel = commons.mapMap(_json["nestingLevel"], (item) => new Nesting Level.fromJson(item));
2713 }
2714 }
2715
2716 core.Map toJson() {
2717 var _json = new core.Map();
2718 if (listId != null) {
2719 _json["listId"] = listId;
2720 }
2721 if (nestingLevel != null) {
2722 _json["nestingLevel"] = commons.mapMap(nestingLevel, (item) => (item).toJs on());
2723 }
2724 return _json;
2725 }
2726 }
2727
2728 /**
2729 * Contains properties describing the look and feel of a list bullet at a given
2730 * level of nesting.
2731 */
2732 class NestingLevel {
2733 /** The style of a bullet at this level of nesting. */
2734 TextStyle bulletStyle;
2735
2736 NestingLevel();
2737
2738 NestingLevel.fromJson(core.Map _json) {
2739 if (_json.containsKey("bulletStyle")) {
2740 bulletStyle = new TextStyle.fromJson(_json["bulletStyle"]);
2741 }
2742 }
2743
2744 core.Map toJson() {
2745 var _json = new core.Map();
2746 if (bulletStyle != null) {
2747 _json["bulletStyle"] = (bulletStyle).toJson();
2748 }
2749 return _json;
2750 }
2751 }
2752
2753 /** A themeable solid color value. */
2754 class OpaqueColor {
2755 /** An opaque RGB color. */
2756 RgbColor rgbColor;
2757 /**
2758 * An opaque theme color.
2759 * Possible string values are:
2760 * - "THEME_COLOR_TYPE_UNSPECIFIED" : Unspecified theme color. This value
2761 * should not be used.
2762 * - "DARK1" : Represents the first dark color.
2763 * - "LIGHT1" : Represents the first light color.
2764 * - "DARK2" : Represents the second dark color.
2765 * - "LIGHT2" : Represents the second light color.
2766 * - "ACCENT1" : Represents the first accent color.
2767 * - "ACCENT2" : Represents the second accent color.
2768 * - "ACCENT3" : Represents the third accent color.
2769 * - "ACCENT4" : Represents the fourth accent color.
2770 * - "ACCENT5" : Represents the fifth accent color.
2771 * - "ACCENT6" : Represents the sixth accent color.
2772 * - "HYPERLINK" : Represents the color to use for hyperlinks.
2773 * - "FOLLOWED_HYPERLINK" : Represents the color to use for visited
2774 * hyperlinks.
2775 * - "TEXT1" : Represents the first text color.
2776 * - "BACKGROUND1" : Represents the first background color.
2777 * - "TEXT2" : Represents the second text color.
2778 * - "BACKGROUND2" : Represents the second background color.
2779 */
2780 core.String themeColor;
2781
2782 OpaqueColor();
2783
2784 OpaqueColor.fromJson(core.Map _json) {
2785 if (_json.containsKey("rgbColor")) {
2786 rgbColor = new RgbColor.fromJson(_json["rgbColor"]);
2787 }
2788 if (_json.containsKey("themeColor")) {
2789 themeColor = _json["themeColor"];
2790 }
2791 }
2792
2793 core.Map toJson() {
2794 var _json = new core.Map();
2795 if (rgbColor != null) {
2796 _json["rgbColor"] = (rgbColor).toJson();
2797 }
2798 if (themeColor != null) {
2799 _json["themeColor"] = themeColor;
2800 }
2801 return _json;
2802 }
2803 }
2804
2805 /** A color that can either be fully opaque or fully transparent. */
2806 class OptionalColor {
2807 /**
2808 * If set, this will be used as an opaque color. If unset, this represents
2809 * a transparent color.
2810 */
2811 OpaqueColor opaqueColor;
2812
2813 OptionalColor();
2814
2815 OptionalColor.fromJson(core.Map _json) {
2816 if (_json.containsKey("opaqueColor")) {
2817 opaqueColor = new OpaqueColor.fromJson(_json["opaqueColor"]);
2818 }
2819 }
2820
2821 core.Map toJson() {
2822 var _json = new core.Map();
2823 if (opaqueColor != null) {
2824 _json["opaqueColor"] = (opaqueColor).toJson();
2825 }
2826 return _json;
2827 }
2828 }
2829
2830 /**
2831 * The outline of a PageElement.
2832 *
2833 * If these fields are unset, they may be inherited from a parent placeholder
2834 * if it exists. If there is no parent, the fields will default to the value
2835 * used for new page elements created in the Slides editor, which may depend on
2836 * the page element kind.
2837 */
2838 class Outline {
2839 /**
2840 * The dash style of the outline.
2841 * Possible string values are:
2842 * - "DASH_STYLE_UNSPECIFIED" : Unspecified dash style.
2843 * - "SOLID" : Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal value
2844 * 'solid'.
2845 * This is the default dash style.
2846 * - "DOT" : Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal value
2847 * 'dot'.
2848 * - "DASH" : Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal value
2849 * 'dash'.
2850 * - "DASH_DOT" : Alternating dashes and dots. Corresponds to ECMA-376
2851 * ST_PresetLineDashVal
2852 * value 'dashDot'.
2853 * - "LONG_DASH" : Line with large dashes. Corresponds to ECMA-376
2854 * ST_PresetLineDashVal
2855 * value 'lgDash'.
2856 * - "LONG_DASH_DOT" : Alternating large dashes and dots. Corresponds to
2857 * ECMA-376
2858 * ST_PresetLineDashVal value 'lgDashDot'.
2859 */
2860 core.String dashStyle;
2861 /** The fill of the outline. */
2862 OutlineFill outlineFill;
2863 /**
2864 * The outline property state.
2865 *
2866 * Updating the the outline on a page element will implicitly update this
2867 * field to`RENDERED`, unless another value is specified in the same request.
2868 * To have no outline on a page element, set this field to `NOT_RENDERED`. In
2869 * this case, any other outline fields set in the same request will be
2870 * ignored.
2871 * Possible string values are:
2872 * - "RENDERED" : If a property's state is RENDERED, then the element has the
2873 * corresponding
2874 * property when rendered on a page. If the element is a placeholder shape as
2875 * determined by the placeholder
2876 * field, and it inherits from a placeholder shape, the corresponding field
2877 * may be unset, meaning that the property value is inherited from a parent
2878 * placeholder. If the element does not inherit, then the field will contain
2879 * the rendered value. This is the default value.
2880 * - "NOT_RENDERED" : If a property's state is NOT_RENDERED, then the element
2881 * does not have the
2882 * corresponding property when rendered on a page. However, the field may
2883 * still be set so it can be inherited by child shapes. To remove a property
2884 * from a rendered element, set its property_state to NOT_RENDERED.
2885 * - "INHERIT" : If a property's state is INHERIT, then the property state
2886 * uses the value of
2887 * corresponding `property_state` field on the parent shape. Elements that do
2888 * not inherit will never have an INHERIT property state.
2889 */
2890 core.String propertyState;
2891 /** The thickness of the outline. */
2892 Dimension weight;
2893
2894 Outline();
2895
2896 Outline.fromJson(core.Map _json) {
2897 if (_json.containsKey("dashStyle")) {
2898 dashStyle = _json["dashStyle"];
2899 }
2900 if (_json.containsKey("outlineFill")) {
2901 outlineFill = new OutlineFill.fromJson(_json["outlineFill"]);
2902 }
2903 if (_json.containsKey("propertyState")) {
2904 propertyState = _json["propertyState"];
2905 }
2906 if (_json.containsKey("weight")) {
2907 weight = new Dimension.fromJson(_json["weight"]);
2908 }
2909 }
2910
2911 core.Map toJson() {
2912 var _json = new core.Map();
2913 if (dashStyle != null) {
2914 _json["dashStyle"] = dashStyle;
2915 }
2916 if (outlineFill != null) {
2917 _json["outlineFill"] = (outlineFill).toJson();
2918 }
2919 if (propertyState != null) {
2920 _json["propertyState"] = propertyState;
2921 }
2922 if (weight != null) {
2923 _json["weight"] = (weight).toJson();
2924 }
2925 return _json;
2926 }
2927 }
2928
2929 /** The fill of the outline. */
2930 class OutlineFill {
2931 /** Solid color fill. */
2932 SolidFill solidFill;
2933
2934 OutlineFill();
2935
2936 OutlineFill.fromJson(core.Map _json) {
2937 if (_json.containsKey("solidFill")) {
2938 solidFill = new SolidFill.fromJson(_json["solidFill"]);
2939 }
2940 }
2941
2942 core.Map toJson() {
2943 var _json = new core.Map();
2944 if (solidFill != null) {
2945 _json["solidFill"] = (solidFill).toJson();
2946 }
2947 return _json;
2948 }
2949 }
2950
2951 /** A page in a presentation. */
2952 class Page {
2953 /** Layout specific properties. Only set if page_type = LAYOUT. */
2954 LayoutProperties layoutProperties;
2955 /**
2956 * The object ID for this page. Object IDs used by
2957 * Page and
2958 * PageElement share the same namespace.
2959 */
2960 core.String objectId;
2961 /** The page elements rendered on the page. */
2962 core.List<PageElement> pageElements;
2963 /** The properties of the page. */
2964 PageProperties pageProperties;
2965 /**
2966 * The type of the page.
2967 * Possible string values are:
2968 * - "SLIDE" : A slide page.
2969 * - "MASTER" : A master slide page.
2970 * - "LAYOUT" : A layout page.
2971 */
2972 core.String pageType;
2973 /** Slide specific properties. Only set if page_type = SLIDE. */
2974 SlideProperties slideProperties;
2975
2976 Page();
2977
2978 Page.fromJson(core.Map _json) {
2979 if (_json.containsKey("layoutProperties")) {
2980 layoutProperties = new LayoutProperties.fromJson(_json["layoutProperties"] );
2981 }
2982 if (_json.containsKey("objectId")) {
2983 objectId = _json["objectId"];
2984 }
2985 if (_json.containsKey("pageElements")) {
2986 pageElements = _json["pageElements"].map((value) => new PageElement.fromJs on(value)).toList();
2987 }
2988 if (_json.containsKey("pageProperties")) {
2989 pageProperties = new PageProperties.fromJson(_json["pageProperties"]);
2990 }
2991 if (_json.containsKey("pageType")) {
2992 pageType = _json["pageType"];
2993 }
2994 if (_json.containsKey("slideProperties")) {
2995 slideProperties = new SlideProperties.fromJson(_json["slideProperties"]);
2996 }
2997 }
2998
2999 core.Map toJson() {
3000 var _json = new core.Map();
3001 if (layoutProperties != null) {
3002 _json["layoutProperties"] = (layoutProperties).toJson();
3003 }
3004 if (objectId != null) {
3005 _json["objectId"] = objectId;
3006 }
3007 if (pageElements != null) {
3008 _json["pageElements"] = pageElements.map((value) => (value).toJson()).toLi st();
3009 }
3010 if (pageProperties != null) {
3011 _json["pageProperties"] = (pageProperties).toJson();
3012 }
3013 if (pageType != null) {
3014 _json["pageType"] = pageType;
3015 }
3016 if (slideProperties != null) {
3017 _json["slideProperties"] = (slideProperties).toJson();
3018 }
3019 return _json;
3020 }
3021 }
3022
3023 /** The page background fill. */
3024 class PageBackgroundFill {
3025 /**
3026 * The background fill property state.
3027 *
3028 * Updating the the fill on a page will implicitly update this field to
3029 * `RENDERED`, unless another value is specified in the same request. To
3030 * have no fill on a page, set this field to `NOT_RENDERED`. In this case,
3031 * any other fill fields set in the same request will be ignored.
3032 * Possible string values are:
3033 * - "RENDERED" : If a property's state is RENDERED, then the element has the
3034 * corresponding
3035 * property when rendered on a page. If the element is a placeholder shape as
3036 * determined by the placeholder
3037 * field, and it inherits from a placeholder shape, the corresponding field
3038 * may be unset, meaning that the property value is inherited from a parent
3039 * placeholder. If the element does not inherit, then the field will contain
3040 * the rendered value. This is the default value.
3041 * - "NOT_RENDERED" : If a property's state is NOT_RENDERED, then the element
3042 * does not have the
3043 * corresponding property when rendered on a page. However, the field may
3044 * still be set so it can be inherited by child shapes. To remove a property
3045 * from a rendered element, set its property_state to NOT_RENDERED.
3046 * - "INHERIT" : If a property's state is INHERIT, then the property state
3047 * uses the value of
3048 * corresponding `property_state` field on the parent shape. Elements that do
3049 * not inherit will never have an INHERIT property state.
3050 */
3051 core.String propertyState;
3052 /** Solid color fill. */
3053 SolidFill solidFill;
3054 /** Stretched picture fill. */
3055 StretchedPictureFill stretchedPictureFill;
3056
3057 PageBackgroundFill();
3058
3059 PageBackgroundFill.fromJson(core.Map _json) {
3060 if (_json.containsKey("propertyState")) {
3061 propertyState = _json["propertyState"];
3062 }
3063 if (_json.containsKey("solidFill")) {
3064 solidFill = new SolidFill.fromJson(_json["solidFill"]);
3065 }
3066 if (_json.containsKey("stretchedPictureFill")) {
3067 stretchedPictureFill = new StretchedPictureFill.fromJson(_json["stretchedP ictureFill"]);
3068 }
3069 }
3070
3071 core.Map toJson() {
3072 var _json = new core.Map();
3073 if (propertyState != null) {
3074 _json["propertyState"] = propertyState;
3075 }
3076 if (solidFill != null) {
3077 _json["solidFill"] = (solidFill).toJson();
3078 }
3079 if (stretchedPictureFill != null) {
3080 _json["stretchedPictureFill"] = (stretchedPictureFill).toJson();
3081 }
3082 return _json;
3083 }
3084 }
3085
3086 /** A visual element rendered on a page. */
3087 class PageElement {
3088 /**
3089 * The description of the page element. Combined with title to display alt
3090 * text.
3091 */
3092 core.String description;
3093 /** A collection of page elements joined as a single unit. */
3094 Group elementGroup;
3095 /** An image page element. */
3096 Image image;
3097 /** A line page element. */
3098 Line line;
3099 /**
3100 * The object ID for this page element. Object IDs used by
3101 * google.apps.slides.v1.Page and
3102 * google.apps.slides.v1.PageElement share the same namespace.
3103 */
3104 core.String objectId;
3105 /** A generic shape. */
3106 Shape shape;
3107 /**
3108 * A linked chart embedded from Google Sheets. Unlinked charts are
3109 * represented as images.
3110 */
3111 SheetsChart sheetsChart;
3112 /** The size of the page element. */
3113 Size size;
3114 /** A table page element. */
3115 Table table;
3116 /**
3117 * The title of the page element. Combined with description to display alt
3118 * text.
3119 */
3120 core.String title;
3121 /** The transform of the page element. */
3122 AffineTransform transform;
3123 /** A video page element. */
3124 Video video;
3125 /** A word art page element. */
3126 WordArt wordArt;
3127
3128 PageElement();
3129
3130 PageElement.fromJson(core.Map _json) {
3131 if (_json.containsKey("description")) {
3132 description = _json["description"];
3133 }
3134 if (_json.containsKey("elementGroup")) {
3135 elementGroup = new Group.fromJson(_json["elementGroup"]);
3136 }
3137 if (_json.containsKey("image")) {
3138 image = new Image.fromJson(_json["image"]);
3139 }
3140 if (_json.containsKey("line")) {
3141 line = new Line.fromJson(_json["line"]);
3142 }
3143 if (_json.containsKey("objectId")) {
3144 objectId = _json["objectId"];
3145 }
3146 if (_json.containsKey("shape")) {
3147 shape = new Shape.fromJson(_json["shape"]);
3148 }
3149 if (_json.containsKey("sheetsChart")) {
3150 sheetsChart = new SheetsChart.fromJson(_json["sheetsChart"]);
3151 }
3152 if (_json.containsKey("size")) {
3153 size = new Size.fromJson(_json["size"]);
3154 }
3155 if (_json.containsKey("table")) {
3156 table = new Table.fromJson(_json["table"]);
3157 }
3158 if (_json.containsKey("title")) {
3159 title = _json["title"];
3160 }
3161 if (_json.containsKey("transform")) {
3162 transform = new AffineTransform.fromJson(_json["transform"]);
3163 }
3164 if (_json.containsKey("video")) {
3165 video = new Video.fromJson(_json["video"]);
3166 }
3167 if (_json.containsKey("wordArt")) {
3168 wordArt = new WordArt.fromJson(_json["wordArt"]);
3169 }
3170 }
3171
3172 core.Map toJson() {
3173 var _json = new core.Map();
3174 if (description != null) {
3175 _json["description"] = description;
3176 }
3177 if (elementGroup != null) {
3178 _json["elementGroup"] = (elementGroup).toJson();
3179 }
3180 if (image != null) {
3181 _json["image"] = (image).toJson();
3182 }
3183 if (line != null) {
3184 _json["line"] = (line).toJson();
3185 }
3186 if (objectId != null) {
3187 _json["objectId"] = objectId;
3188 }
3189 if (shape != null) {
3190 _json["shape"] = (shape).toJson();
3191 }
3192 if (sheetsChart != null) {
3193 _json["sheetsChart"] = (sheetsChart).toJson();
3194 }
3195 if (size != null) {
3196 _json["size"] = (size).toJson();
3197 }
3198 if (table != null) {
3199 _json["table"] = (table).toJson();
3200 }
3201 if (title != null) {
3202 _json["title"] = title;
3203 }
3204 if (transform != null) {
3205 _json["transform"] = (transform).toJson();
3206 }
3207 if (video != null) {
3208 _json["video"] = (video).toJson();
3209 }
3210 if (wordArt != null) {
3211 _json["wordArt"] = (wordArt).toJson();
3212 }
3213 return _json;
3214 }
3215 }
3216
3217 /**
3218 * Common properties for a page element.
3219 *
3220 * Note: When you initially create a
3221 * PageElement, the API may modify
3222 * the values of both `size` and `transform`, but the
3223 * visual size will be unchanged.
3224 */
3225 class PageElementProperties {
3226 /** The object ID of the page where the element is located. */
3227 core.String pageObjectId;
3228 /** The size of the element. */
3229 Size size;
3230 /** The transform for the element. */
3231 AffineTransform transform;
3232
3233 PageElementProperties();
3234
3235 PageElementProperties.fromJson(core.Map _json) {
3236 if (_json.containsKey("pageObjectId")) {
3237 pageObjectId = _json["pageObjectId"];
3238 }
3239 if (_json.containsKey("size")) {
3240 size = new Size.fromJson(_json["size"]);
3241 }
3242 if (_json.containsKey("transform")) {
3243 transform = new AffineTransform.fromJson(_json["transform"]);
3244 }
3245 }
3246
3247 core.Map toJson() {
3248 var _json = new core.Map();
3249 if (pageObjectId != null) {
3250 _json["pageObjectId"] = pageObjectId;
3251 }
3252 if (size != null) {
3253 _json["size"] = (size).toJson();
3254 }
3255 if (transform != null) {
3256 _json["transform"] = (transform).toJson();
3257 }
3258 return _json;
3259 }
3260 }
3261
3262 /**
3263 * The properties of the Page.
3264 *
3265 * The page will inherit properties from the parent page. Depending on the page
3266 * type the hierarchy is defined in either
3267 * SlideProperties or
3268 * LayoutProperties.
3269 */
3270 class PageProperties {
3271 /**
3272 * The color scheme of the page. If unset, the color scheme is inherited from
3273 * a parent page. If the page has no parent, the color scheme uses a default
3274 * Slides color scheme. This field is read-only.
3275 */
3276 ColorScheme colorScheme;
3277 /**
3278 * The background fill of the page. If unset, the background fill is inherited
3279 * from a parent page if it exists. If the page has no parent, then the
3280 * background fill defaults to the corresponding fill in the Slides editor.
3281 */
3282 PageBackgroundFill pageBackgroundFill;
3283
3284 PageProperties();
3285
3286 PageProperties.fromJson(core.Map _json) {
3287 if (_json.containsKey("colorScheme")) {
3288 colorScheme = new ColorScheme.fromJson(_json["colorScheme"]);
3289 }
3290 if (_json.containsKey("pageBackgroundFill")) {
3291 pageBackgroundFill = new PageBackgroundFill.fromJson(_json["pageBackground Fill"]);
3292 }
3293 }
3294
3295 core.Map toJson() {
3296 var _json = new core.Map();
3297 if (colorScheme != null) {
3298 _json["colorScheme"] = (colorScheme).toJson();
3299 }
3300 if (pageBackgroundFill != null) {
3301 _json["pageBackgroundFill"] = (pageBackgroundFill).toJson();
3302 }
3303 return _json;
3304 }
3305 }
3306
3307 /** A TextElement kind that represents the beginning of a new paragraph. */
3308 class ParagraphMarker {
3309 /**
3310 * The bullet for this paragraph. If not present, the paragraph does not
3311 * belong to a list.
3312 */
3313 Bullet bullet;
3314 /** The paragraph's style */
3315 ParagraphStyle style;
3316
3317 ParagraphMarker();
3318
3319 ParagraphMarker.fromJson(core.Map _json) {
3320 if (_json.containsKey("bullet")) {
3321 bullet = new Bullet.fromJson(_json["bullet"]);
3322 }
3323 if (_json.containsKey("style")) {
3324 style = new ParagraphStyle.fromJson(_json["style"]);
3325 }
3326 }
3327
3328 core.Map toJson() {
3329 var _json = new core.Map();
3330 if (bullet != null) {
3331 _json["bullet"] = (bullet).toJson();
3332 }
3333 if (style != null) {
3334 _json["style"] = (style).toJson();
3335 }
3336 return _json;
3337 }
3338 }
3339
3340 /**
3341 * Styles that apply to a whole paragraph.
3342 *
3343 * If this text is contained in a shape with a parent placeholder, then these
3344 * paragraph styles may be
3345 * inherited from the parent. Which paragraph styles are inherited depend on the
3346 * nesting level of lists:
3347 *
3348 * * A paragraph not in a list will inherit its paragraph style from the
3349 * paragraph at the 0 nesting level of the list inside the parent placeholder.
3350 * * A paragraph in a list will inherit its paragraph style from the paragraph
3351 * at its corresponding nesting level of the list inside the parent
3352 * placeholder.
3353 *
3354 * Inherited paragraph styles are represented as unset fields in this message.
3355 */
3356 class ParagraphStyle {
3357 /**
3358 * The text alignment for this paragraph. This property is read-only.
3359 * Possible string values are:
3360 * - "ALIGNMENT_UNSPECIFIED" : The paragraph alignment is inherited from the
3361 * parent.
3362 * - "START" : The paragraph is aligned to the start of the line. Left-aligned
3363 * for
3364 * LTR text, right-aligned otherwise.
3365 * - "CENTER" : The paragraph is centered.
3366 * - "END" : The paragraph is aligned to the end of the line. Right-aligned
3367 * for
3368 * LTR text, left-aligned otherwise.
3369 * - "JUSTIFIED" : The paragraph is justified.
3370 */
3371 core.String alignment;
3372 /**
3373 * The text direction of this paragraph. This property is read-only.
3374 * Possible string values are:
3375 * - "TEXT_DIRECTION_UNSPECIFIED" : The text direction is inherited from the
3376 * parent.
3377 * - "LEFT_TO_RIGHT" : The text goes from left to right.
3378 * - "RIGHT_TO_LEFT" : The text goes from right to left.
3379 */
3380 core.String direction;
3381 /**
3382 * The amount indentation for the paragraph on the side that corresponds to
3383 * the end of the text, based on the current text direction. If unset, the
3384 * value is inherited from the parent. This property is read-only.
3385 */
3386 Dimension indentEnd;
3387 /**
3388 * The amount of indentation for the start of the first line of the paragraph.
3389 * If unset, the value is inherited from the parent. This property is
3390 * read-only.
3391 */
3392 Dimension indentFirstLine;
3393 /**
3394 * The amount indentation for the paragraph on the side that corresponds to
3395 * the start of the text, based on the current text direction. If unset, the
3396 * value is inherited from the parent. This property is read-only.
3397 */
3398 Dimension indentStart;
3399 /**
3400 * The amount of space between lines, as a percentage of normal, where normal
3401 * is represented as 100.0. If unset, the value is inherited from the parent.
3402 * This property is read-only.
3403 */
3404 core.double lineSpacing;
3405 /**
3406 * The amount of extra space above the paragraph. If unset, the value is
3407 * inherited from the parent. This property is read-only.
3408 */
3409 Dimension spaceAbove;
3410 /**
3411 * The amount of extra space above the paragraph. If unset, the value is
3412 * inherited from the parent. This property is read-only.
3413 */
3414 Dimension spaceBelow;
3415 /**
3416 * The spacing mode for the paragraph. This property is read-only.
3417 * Possible string values are:
3418 * - "SPACING_MODE_UNSPECIFIED" : The spacing mode is inherited from the
3419 * parent.
3420 * - "NEVER_COLLAPSE" : Paragraph spacing is always rendered.
3421 * - "COLLAPSE_LISTS" : Paragraph spacing is skipped between list elements.
3422 */
3423 core.String spacingMode;
3424
3425 ParagraphStyle();
3426
3427 ParagraphStyle.fromJson(core.Map _json) {
3428 if (_json.containsKey("alignment")) {
3429 alignment = _json["alignment"];
3430 }
3431 if (_json.containsKey("direction")) {
3432 direction = _json["direction"];
3433 }
3434 if (_json.containsKey("indentEnd")) {
3435 indentEnd = new Dimension.fromJson(_json["indentEnd"]);
3436 }
3437 if (_json.containsKey("indentFirstLine")) {
3438 indentFirstLine = new Dimension.fromJson(_json["indentFirstLine"]);
3439 }
3440 if (_json.containsKey("indentStart")) {
3441 indentStart = new Dimension.fromJson(_json["indentStart"]);
3442 }
3443 if (_json.containsKey("lineSpacing")) {
3444 lineSpacing = _json["lineSpacing"];
3445 }
3446 if (_json.containsKey("spaceAbove")) {
3447 spaceAbove = new Dimension.fromJson(_json["spaceAbove"]);
3448 }
3449 if (_json.containsKey("spaceBelow")) {
3450 spaceBelow = new Dimension.fromJson(_json["spaceBelow"]);
3451 }
3452 if (_json.containsKey("spacingMode")) {
3453 spacingMode = _json["spacingMode"];
3454 }
3455 }
3456
3457 core.Map toJson() {
3458 var _json = new core.Map();
3459 if (alignment != null) {
3460 _json["alignment"] = alignment;
3461 }
3462 if (direction != null) {
3463 _json["direction"] = direction;
3464 }
3465 if (indentEnd != null) {
3466 _json["indentEnd"] = (indentEnd).toJson();
3467 }
3468 if (indentFirstLine != null) {
3469 _json["indentFirstLine"] = (indentFirstLine).toJson();
3470 }
3471 if (indentStart != null) {
3472 _json["indentStart"] = (indentStart).toJson();
3473 }
3474 if (lineSpacing != null) {
3475 _json["lineSpacing"] = lineSpacing;
3476 }
3477 if (spaceAbove != null) {
3478 _json["spaceAbove"] = (spaceAbove).toJson();
3479 }
3480 if (spaceBelow != null) {
3481 _json["spaceBelow"] = (spaceBelow).toJson();
3482 }
3483 if (spacingMode != null) {
3484 _json["spacingMode"] = spacingMode;
3485 }
3486 return _json;
3487 }
3488 }
3489
3490 /**
3491 * The placeholder information that uniquely identifies a placeholder shape.
3492 */
3493 class Placeholder {
3494 /**
3495 * The index of the placeholder. If the same placeholder types are the present
3496 * in the same page, they would have different index values.
3497 */
3498 core.int index;
3499 /**
3500 * The object ID of this shape's parent placeholder.
3501 * If unset, the parent placeholder shape does not exist, so the shape does
3502 * not inherit properties from any other shape.
3503 */
3504 core.String parentObjectId;
3505 /**
3506 * The type of the placeholder.
3507 * Possible string values are:
3508 * - "NONE" : Default value, signifies it is not a placeholder.
3509 * - "BODY" : Body text.
3510 * - "CHART" : Chart or graph.
3511 * - "CLIP_ART" : Clip art image.
3512 * - "CENTERED_TITLE" : Title centered.
3513 * - "DIAGRAM" : Diagram.
3514 * - "DATE_AND_TIME" : Date and time.
3515 * - "FOOTER" : Footer text.
3516 * - "HEADER" : Header text.
3517 * - "MEDIA" : Multimedia.
3518 * - "OBJECT" : Any content type.
3519 * - "PICTURE" : Picture.
3520 * - "SLIDE_NUMBER" : Number of a slide.
3521 * - "SUBTITLE" : Subtitle.
3522 * - "TABLE" : Table.
3523 * - "TITLE" : Slide title.
3524 * - "SLIDE_IMAGE" : Slide image.
3525 */
3526 core.String type;
3527
3528 Placeholder();
3529
3530 Placeholder.fromJson(core.Map _json) {
3531 if (_json.containsKey("index")) {
3532 index = _json["index"];
3533 }
3534 if (_json.containsKey("parentObjectId")) {
3535 parentObjectId = _json["parentObjectId"];
3536 }
3537 if (_json.containsKey("type")) {
3538 type = _json["type"];
3539 }
3540 }
3541
3542 core.Map toJson() {
3543 var _json = new core.Map();
3544 if (index != null) {
3545 _json["index"] = index;
3546 }
3547 if (parentObjectId != null) {
3548 _json["parentObjectId"] = parentObjectId;
3549 }
3550 if (type != null) {
3551 _json["type"] = type;
3552 }
3553 return _json;
3554 }
3555 }
3556
3557 /** A Google Slides presentation. */
3558 class Presentation {
3559 /**
3560 * The layouts in the presentation. A layout is a template that determines
3561 * how content is arranged and styled on the slides that inherit from that
3562 * layout.
3563 */
3564 core.List<Page> layouts;
3565 /** The locale of the presentation, as an IETF BCP 47 language tag. */
3566 core.String locale;
3567 /**
3568 * The slide masters in the presentation. A slide master contains all common
3569 * page elements and the common properties for a set of layouts. They serve
3570 * three purposes:
3571 *
3572 * - Placeholder shapes on a master contain the default text styles and shape
3573 * properties of all placeholder shapes on pages that use that master.
3574 * - The master page properties define the common page properties inherited by
3575 * its layouts.
3576 * - Any other shapes on the master slide will appear on all slides using that
3577 * master, regardless of their layout.
3578 */
3579 core.List<Page> masters;
3580 /** The size of pages in the presentation. */
3581 Size pageSize;
3582 /** The ID of the presentation. */
3583 core.String presentationId;
3584 /**
3585 * The slides in the presentation.
3586 * A slide inherits properties from a slide layout.
3587 */
3588 core.List<Page> slides;
3589 /** The title of the presentation. */
3590 core.String title;
3591
3592 Presentation();
3593
3594 Presentation.fromJson(core.Map _json) {
3595 if (_json.containsKey("layouts")) {
3596 layouts = _json["layouts"].map((value) => new Page.fromJson(value)).toList ();
3597 }
3598 if (_json.containsKey("locale")) {
3599 locale = _json["locale"];
3600 }
3601 if (_json.containsKey("masters")) {
3602 masters = _json["masters"].map((value) => new Page.fromJson(value)).toList ();
3603 }
3604 if (_json.containsKey("pageSize")) {
3605 pageSize = new Size.fromJson(_json["pageSize"]);
3606 }
3607 if (_json.containsKey("presentationId")) {
3608 presentationId = _json["presentationId"];
3609 }
3610 if (_json.containsKey("slides")) {
3611 slides = _json["slides"].map((value) => new Page.fromJson(value)).toList() ;
3612 }
3613 if (_json.containsKey("title")) {
3614 title = _json["title"];
3615 }
3616 }
3617
3618 core.Map toJson() {
3619 var _json = new core.Map();
3620 if (layouts != null) {
3621 _json["layouts"] = layouts.map((value) => (value).toJson()).toList();
3622 }
3623 if (locale != null) {
3624 _json["locale"] = locale;
3625 }
3626 if (masters != null) {
3627 _json["masters"] = masters.map((value) => (value).toJson()).toList();
3628 }
3629 if (pageSize != null) {
3630 _json["pageSize"] = (pageSize).toJson();
3631 }
3632 if (presentationId != null) {
3633 _json["presentationId"] = presentationId;
3634 }
3635 if (slides != null) {
3636 _json["slides"] = slides.map((value) => (value).toJson()).toList();
3637 }
3638 if (title != null) {
3639 _json["title"] = title;
3640 }
3641 return _json;
3642 }
3643 }
3644
3645 /**
3646 * Specifies a contiguous range of an indexed collection, such as characters in
3647 * text.
3648 */
3649 class Range {
3650 /**
3651 * The optional zero-based index of the end of the collection.
3652 * Required for `SPECIFIC_RANGE` delete mode.
3653 */
3654 core.int endIndex;
3655 /**
3656 * The optional zero-based index of the beginning of the collection.
3657 * Required for `SPECIFIC_RANGE` and `FROM_START_INDEX` ranges.
3658 */
3659 core.int startIndex;
3660 /**
3661 * The type of range.
3662 * Possible string values are:
3663 * - "RANGE_TYPE_UNSPECIFIED" : Unspecified range type. This value must not be
3664 * used.
3665 * - "FIXED_RANGE" : A fixed range. Both the `start_index` and
3666 * `end_index` must be specified.
3667 * - "FROM_START_INDEX" : Starts the range at `start_index` and continues
3668 * until the
3669 * end of the collection. The `end_index` must not be specified.
3670 * - "ALL" : Sets the range to be the whole length of the collection. Both the
3671 * `start_index` and the `end_index` must not be
3672 * specified.
3673 */
3674 core.String type;
3675
3676 Range();
3677
3678 Range.fromJson(core.Map _json) {
3679 if (_json.containsKey("endIndex")) {
3680 endIndex = _json["endIndex"];
3681 }
3682 if (_json.containsKey("startIndex")) {
3683 startIndex = _json["startIndex"];
3684 }
3685 if (_json.containsKey("type")) {
3686 type = _json["type"];
3687 }
3688 }
3689
3690 core.Map toJson() {
3691 var _json = new core.Map();
3692 if (endIndex != null) {
3693 _json["endIndex"] = endIndex;
3694 }
3695 if (startIndex != null) {
3696 _json["startIndex"] = startIndex;
3697 }
3698 if (type != null) {
3699 _json["type"] = type;
3700 }
3701 return _json;
3702 }
3703 }
3704
3705 /** A recolor effect applied on an image. */
3706 class Recolor {
3707 /**
3708 * The recolor effect is represented by a gradient, which is a list of color
3709 * stops. This property is read-only.
3710 */
3711 core.List<ColorStop> recolorStops;
3712
3713 Recolor();
3714
3715 Recolor.fromJson(core.Map _json) {
3716 if (_json.containsKey("recolorStops")) {
3717 recolorStops = _json["recolorStops"].map((value) => new ColorStop.fromJson (value)).toList();
3718 }
3719 }
3720
3721 core.Map toJson() {
3722 var _json = new core.Map();
3723 if (recolorStops != null) {
3724 _json["recolorStops"] = recolorStops.map((value) => (value).toJson()).toLi st();
3725 }
3726 return _json;
3727 }
3728 }
3729
3730 /**
3731 * Refreshes an embedded Google Sheets chart by replacing it with the latest
3732 * version of the chart from Google Sheets.
3733 *
3734 * NOTE: Refreshing charts requires at least one of the spreadsheets.readonly,
3735 * spreadsheets, drive.readonly, or drive OAuth scopes.
3736 */
3737 class RefreshSheetsChartRequest {
3738 /** The object ID of the chart to refresh. */
3739 core.String objectId;
3740
3741 RefreshSheetsChartRequest();
3742
3743 RefreshSheetsChartRequest.fromJson(core.Map _json) {
3744 if (_json.containsKey("objectId")) {
3745 objectId = _json["objectId"];
3746 }
3747 }
3748
3749 core.Map toJson() {
3750 var _json = new core.Map();
3751 if (objectId != null) {
3752 _json["objectId"] = objectId;
3753 }
3754 return _json;
3755 }
3756 }
3757
3758 /**
3759 * Replaces all shapes that match the given criteria with the provided image.
3760 */
3761 class ReplaceAllShapesWithImageRequest {
3762 /**
3763 * If set, this request will replace all of the shapes that contain the
3764 * given text.
3765 */
3766 SubstringMatchCriteria containsText;
3767 /**
3768 * The image URL.
3769 *
3770 * The image is fetched once at insertion time and a copy is stored for
3771 * display inside the presentation. Images must be less than 50MB in size,
3772 * cannot exceed 25 megapixels, and must be in either in PNG, JPEG, or GIF
3773 * format.
3774 */
3775 core.String imageUrl;
3776 /**
3777 * The replace method.
3778 * Possible string values are:
3779 * - "CENTER_INSIDE" : Scales and centers the image to fit within the bounds
3780 * of the original
3781 * shape and maintains the image's aspect ratio. The rendered size of the
3782 * image may be smaller than the size of the shape. This is the default
3783 * method when one is not specified.
3784 * - "CENTER_CROP" : Scales and centers the image to fill the bounds of the
3785 * original shape.
3786 * The image may be cropped in order to fill the shape. The rendered size of
3787 * the image will be the same as that of the original shape.
3788 */
3789 core.String replaceMethod;
3790
3791 ReplaceAllShapesWithImageRequest();
3792
3793 ReplaceAllShapesWithImageRequest.fromJson(core.Map _json) {
3794 if (_json.containsKey("containsText")) {
3795 containsText = new SubstringMatchCriteria.fromJson(_json["containsText"]);
3796 }
3797 if (_json.containsKey("imageUrl")) {
3798 imageUrl = _json["imageUrl"];
3799 }
3800 if (_json.containsKey("replaceMethod")) {
3801 replaceMethod = _json["replaceMethod"];
3802 }
3803 }
3804
3805 core.Map toJson() {
3806 var _json = new core.Map();
3807 if (containsText != null) {
3808 _json["containsText"] = (containsText).toJson();
3809 }
3810 if (imageUrl != null) {
3811 _json["imageUrl"] = imageUrl;
3812 }
3813 if (replaceMethod != null) {
3814 _json["replaceMethod"] = replaceMethod;
3815 }
3816 return _json;
3817 }
3818 }
3819
3820 /** The result of replacing shapes with an image. */
3821 class ReplaceAllShapesWithImageResponse {
3822 /** The number of shapes replaced with images. */
3823 core.int occurrencesChanged;
3824
3825 ReplaceAllShapesWithImageResponse();
3826
3827 ReplaceAllShapesWithImageResponse.fromJson(core.Map _json) {
3828 if (_json.containsKey("occurrencesChanged")) {
3829 occurrencesChanged = _json["occurrencesChanged"];
3830 }
3831 }
3832
3833 core.Map toJson() {
3834 var _json = new core.Map();
3835 if (occurrencesChanged != null) {
3836 _json["occurrencesChanged"] = occurrencesChanged;
3837 }
3838 return _json;
3839 }
3840 }
3841
3842 /** Replaces all instances of text matching a criteria with replace text. */
3843 class ReplaceAllTextRequest {
3844 /** Finds text in a shape matching this substring. */
3845 SubstringMatchCriteria containsText;
3846 /** The text that will replace the matched text. */
3847 core.String replaceText;
3848
3849 ReplaceAllTextRequest();
3850
3851 ReplaceAllTextRequest.fromJson(core.Map _json) {
3852 if (_json.containsKey("containsText")) {
3853 containsText = new SubstringMatchCriteria.fromJson(_json["containsText"]);
3854 }
3855 if (_json.containsKey("replaceText")) {
3856 replaceText = _json["replaceText"];
3857 }
3858 }
3859
3860 core.Map toJson() {
3861 var _json = new core.Map();
3862 if (containsText != null) {
3863 _json["containsText"] = (containsText).toJson();
3864 }
3865 if (replaceText != null) {
3866 _json["replaceText"] = replaceText;
3867 }
3868 return _json;
3869 }
3870 }
3871
3872 /** The result of replacing text. */
3873 class ReplaceAllTextResponse {
3874 /** The number of occurrences changed by replacing all text. */
3875 core.int occurrencesChanged;
3876
3877 ReplaceAllTextResponse();
3878
3879 ReplaceAllTextResponse.fromJson(core.Map _json) {
3880 if (_json.containsKey("occurrencesChanged")) {
3881 occurrencesChanged = _json["occurrencesChanged"];
3882 }
3883 }
3884
3885 core.Map toJson() {
3886 var _json = new core.Map();
3887 if (occurrencesChanged != null) {
3888 _json["occurrencesChanged"] = occurrencesChanged;
3889 }
3890 return _json;
3891 }
3892 }
3893
3894 /** A single kind of update to apply to a presentation. */
3895 class Request {
3896 /** Creates an image. */
3897 CreateImageRequest createImage;
3898 /** Creates a line. */
3899 CreateLineRequest createLine;
3900 /** Creates bullets for paragraphs. */
3901 CreateParagraphBulletsRequest createParagraphBullets;
3902 /** Creates a new shape. */
3903 CreateShapeRequest createShape;
3904 /** Creates an embedded Google Sheets chart. */
3905 CreateSheetsChartRequest createSheetsChart;
3906 /** Creates a new slide. */
3907 CreateSlideRequest createSlide;
3908 /** Creates a new table. */
3909 CreateTableRequest createTable;
3910 /** Creates a video. */
3911 CreateVideoRequest createVideo;
3912 /** Deletes a page or page element from the presentation. */
3913 DeleteObjectRequest deleteObject;
3914 /** Deletes a column from a table. */
3915 DeleteTableColumnRequest deleteTableColumn;
3916 /** Deletes a row from a table. */
3917 DeleteTableRowRequest deleteTableRow;
3918 /** Deletes text from a shape or a table cell. */
3919 DeleteTextRequest deleteText;
3920 /** Duplicates a slide or page element. */
3921 DuplicateObjectRequest duplicateObject;
3922 /** Inserts columns into a table. */
3923 InsertTableColumnsRequest insertTableColumns;
3924 /** Inserts rows into a table. */
3925 InsertTableRowsRequest insertTableRows;
3926 /** Inserts text into a shape or table cell. */
3927 InsertTextRequest insertText;
3928 /** Refreshes a Google Sheets chart. */
3929 RefreshSheetsChartRequest refreshSheetsChart;
3930 /** Replaces all shapes matching some criteria with an image. */
3931 ReplaceAllShapesWithImageRequest replaceAllShapesWithImage;
3932 /** Replaces all instances of specified text. */
3933 ReplaceAllTextRequest replaceAllText;
3934 /** Updates the properties of an Image. */
3935 UpdateImagePropertiesRequest updateImageProperties;
3936 /** Updates the properties of a Line. */
3937 UpdateLinePropertiesRequest updateLineProperties;
3938 /** Updates the transform of a page element. */
3939 UpdatePageElementTransformRequest updatePageElementTransform;
3940 /** Updates the properties of a Page. */
3941 UpdatePagePropertiesRequest updatePageProperties;
3942 /** Updates the properties of a Shape. */
3943 UpdateShapePropertiesRequest updateShapeProperties;
3944 /** Updates the position of a set of slides in the presentation. */
3945 UpdateSlidesPositionRequest updateSlidesPosition;
3946 /** Updates the properties of a TableCell. */
3947 UpdateTableCellPropertiesRequest updateTableCellProperties;
3948 /** Updates the styling of text within a Shape or Table. */
3949 UpdateTextStyleRequest updateTextStyle;
3950 /** Updates the properties of a Video. */
3951 UpdateVideoPropertiesRequest updateVideoProperties;
3952
3953 Request();
3954
3955 Request.fromJson(core.Map _json) {
3956 if (_json.containsKey("createImage")) {
3957 createImage = new CreateImageRequest.fromJson(_json["createImage"]);
3958 }
3959 if (_json.containsKey("createLine")) {
3960 createLine = new CreateLineRequest.fromJson(_json["createLine"]);
3961 }
3962 if (_json.containsKey("createParagraphBullets")) {
3963 createParagraphBullets = new CreateParagraphBulletsRequest.fromJson(_json[ "createParagraphBullets"]);
3964 }
3965 if (_json.containsKey("createShape")) {
3966 createShape = new CreateShapeRequest.fromJson(_json["createShape"]);
3967 }
3968 if (_json.containsKey("createSheetsChart")) {
3969 createSheetsChart = new CreateSheetsChartRequest.fromJson(_json["createShe etsChart"]);
3970 }
3971 if (_json.containsKey("createSlide")) {
3972 createSlide = new CreateSlideRequest.fromJson(_json["createSlide"]);
3973 }
3974 if (_json.containsKey("createTable")) {
3975 createTable = new CreateTableRequest.fromJson(_json["createTable"]);
3976 }
3977 if (_json.containsKey("createVideo")) {
3978 createVideo = new CreateVideoRequest.fromJson(_json["createVideo"]);
3979 }
3980 if (_json.containsKey("deleteObject")) {
3981 deleteObject = new DeleteObjectRequest.fromJson(_json["deleteObject"]);
3982 }
3983 if (_json.containsKey("deleteTableColumn")) {
3984 deleteTableColumn = new DeleteTableColumnRequest.fromJson(_json["deleteTab leColumn"]);
3985 }
3986 if (_json.containsKey("deleteTableRow")) {
3987 deleteTableRow = new DeleteTableRowRequest.fromJson(_json["deleteTableRow" ]);
3988 }
3989 if (_json.containsKey("deleteText")) {
3990 deleteText = new DeleteTextRequest.fromJson(_json["deleteText"]);
3991 }
3992 if (_json.containsKey("duplicateObject")) {
3993 duplicateObject = new DuplicateObjectRequest.fromJson(_json["duplicateObje ct"]);
3994 }
3995 if (_json.containsKey("insertTableColumns")) {
3996 insertTableColumns = new InsertTableColumnsRequest.fromJson(_json["insertT ableColumns"]);
3997 }
3998 if (_json.containsKey("insertTableRows")) {
3999 insertTableRows = new InsertTableRowsRequest.fromJson(_json["insertTableRo ws"]);
4000 }
4001 if (_json.containsKey("insertText")) {
4002 insertText = new InsertTextRequest.fromJson(_json["insertText"]);
4003 }
4004 if (_json.containsKey("refreshSheetsChart")) {
4005 refreshSheetsChart = new RefreshSheetsChartRequest.fromJson(_json["refresh SheetsChart"]);
4006 }
4007 if (_json.containsKey("replaceAllShapesWithImage")) {
4008 replaceAllShapesWithImage = new ReplaceAllShapesWithImageRequest.fromJson( _json["replaceAllShapesWithImage"]);
4009 }
4010 if (_json.containsKey("replaceAllText")) {
4011 replaceAllText = new ReplaceAllTextRequest.fromJson(_json["replaceAllText" ]);
4012 }
4013 if (_json.containsKey("updateImageProperties")) {
4014 updateImageProperties = new UpdateImagePropertiesRequest.fromJson(_json["u pdateImageProperties"]);
4015 }
4016 if (_json.containsKey("updateLineProperties")) {
4017 updateLineProperties = new UpdateLinePropertiesRequest.fromJson(_json["upd ateLineProperties"]);
4018 }
4019 if (_json.containsKey("updatePageElementTransform")) {
4020 updatePageElementTransform = new UpdatePageElementTransformRequest.fromJso n(_json["updatePageElementTransform"]);
4021 }
4022 if (_json.containsKey("updatePageProperties")) {
4023 updatePageProperties = new UpdatePagePropertiesRequest.fromJson(_json["upd atePageProperties"]);
4024 }
4025 if (_json.containsKey("updateShapeProperties")) {
4026 updateShapeProperties = new UpdateShapePropertiesRequest.fromJson(_json["u pdateShapeProperties"]);
4027 }
4028 if (_json.containsKey("updateSlidesPosition")) {
4029 updateSlidesPosition = new UpdateSlidesPositionRequest.fromJson(_json["upd ateSlidesPosition"]);
4030 }
4031 if (_json.containsKey("updateTableCellProperties")) {
4032 updateTableCellProperties = new UpdateTableCellPropertiesRequest.fromJson( _json["updateTableCellProperties"]);
4033 }
4034 if (_json.containsKey("updateTextStyle")) {
4035 updateTextStyle = new UpdateTextStyleRequest.fromJson(_json["updateTextSty le"]);
4036 }
4037 if (_json.containsKey("updateVideoProperties")) {
4038 updateVideoProperties = new UpdateVideoPropertiesRequest.fromJson(_json["u pdateVideoProperties"]);
4039 }
4040 }
4041
4042 core.Map toJson() {
4043 var _json = new core.Map();
4044 if (createImage != null) {
4045 _json["createImage"] = (createImage).toJson();
4046 }
4047 if (createLine != null) {
4048 _json["createLine"] = (createLine).toJson();
4049 }
4050 if (createParagraphBullets != null) {
4051 _json["createParagraphBullets"] = (createParagraphBullets).toJson();
4052 }
4053 if (createShape != null) {
4054 _json["createShape"] = (createShape).toJson();
4055 }
4056 if (createSheetsChart != null) {
4057 _json["createSheetsChart"] = (createSheetsChart).toJson();
4058 }
4059 if (createSlide != null) {
4060 _json["createSlide"] = (createSlide).toJson();
4061 }
4062 if (createTable != null) {
4063 _json["createTable"] = (createTable).toJson();
4064 }
4065 if (createVideo != null) {
4066 _json["createVideo"] = (createVideo).toJson();
4067 }
4068 if (deleteObject != null) {
4069 _json["deleteObject"] = (deleteObject).toJson();
4070 }
4071 if (deleteTableColumn != null) {
4072 _json["deleteTableColumn"] = (deleteTableColumn).toJson();
4073 }
4074 if (deleteTableRow != null) {
4075 _json["deleteTableRow"] = (deleteTableRow).toJson();
4076 }
4077 if (deleteText != null) {
4078 _json["deleteText"] = (deleteText).toJson();
4079 }
4080 if (duplicateObject != null) {
4081 _json["duplicateObject"] = (duplicateObject).toJson();
4082 }
4083 if (insertTableColumns != null) {
4084 _json["insertTableColumns"] = (insertTableColumns).toJson();
4085 }
4086 if (insertTableRows != null) {
4087 _json["insertTableRows"] = (insertTableRows).toJson();
4088 }
4089 if (insertText != null) {
4090 _json["insertText"] = (insertText).toJson();
4091 }
4092 if (refreshSheetsChart != null) {
4093 _json["refreshSheetsChart"] = (refreshSheetsChart).toJson();
4094 }
4095 if (replaceAllShapesWithImage != null) {
4096 _json["replaceAllShapesWithImage"] = (replaceAllShapesWithImage).toJson();
4097 }
4098 if (replaceAllText != null) {
4099 _json["replaceAllText"] = (replaceAllText).toJson();
4100 }
4101 if (updateImageProperties != null) {
4102 _json["updateImageProperties"] = (updateImageProperties).toJson();
4103 }
4104 if (updateLineProperties != null) {
4105 _json["updateLineProperties"] = (updateLineProperties).toJson();
4106 }
4107 if (updatePageElementTransform != null) {
4108 _json["updatePageElementTransform"] = (updatePageElementTransform).toJson( );
4109 }
4110 if (updatePageProperties != null) {
4111 _json["updatePageProperties"] = (updatePageProperties).toJson();
4112 }
4113 if (updateShapeProperties != null) {
4114 _json["updateShapeProperties"] = (updateShapeProperties).toJson();
4115 }
4116 if (updateSlidesPosition != null) {
4117 _json["updateSlidesPosition"] = (updateSlidesPosition).toJson();
4118 }
4119 if (updateTableCellProperties != null) {
4120 _json["updateTableCellProperties"] = (updateTableCellProperties).toJson();
4121 }
4122 if (updateTextStyle != null) {
4123 _json["updateTextStyle"] = (updateTextStyle).toJson();
4124 }
4125 if (updateVideoProperties != null) {
4126 _json["updateVideoProperties"] = (updateVideoProperties).toJson();
4127 }
4128 return _json;
4129 }
4130 }
4131
4132 /** A single response from an update. */
4133 class Response {
4134 /** The result of creating an image. */
4135 CreateImageResponse createImage;
4136 /** The result of creating a line. */
4137 CreateLineResponse createLine;
4138 /** The result of creating a shape. */
4139 CreateShapeResponse createShape;
4140 /** The result of creating a Google Sheets chart. */
4141 CreateSheetsChartResponse createSheetsChart;
4142 /** The result of creating a slide. */
4143 CreateSlideResponse createSlide;
4144 /** The result of creating a table. */
4145 CreateTableResponse createTable;
4146 /** The result of creating a video. */
4147 CreateVideoResponse createVideo;
4148 /** The result of duplicating an object. */
4149 DuplicateObjectResponse duplicateObject;
4150 /**
4151 * The result of replacing all shapes containing the specified text with
4152 * an image.
4153 */
4154 ReplaceAllShapesWithImageResponse replaceAllShapesWithImage;
4155 /** The result of replacing text. */
4156 ReplaceAllTextResponse replaceAllText;
4157
4158 Response();
4159
4160 Response.fromJson(core.Map _json) {
4161 if (_json.containsKey("createImage")) {
4162 createImage = new CreateImageResponse.fromJson(_json["createImage"]);
4163 }
4164 if (_json.containsKey("createLine")) {
4165 createLine = new CreateLineResponse.fromJson(_json["createLine"]);
4166 }
4167 if (_json.containsKey("createShape")) {
4168 createShape = new CreateShapeResponse.fromJson(_json["createShape"]);
4169 }
4170 if (_json.containsKey("createSheetsChart")) {
4171 createSheetsChart = new CreateSheetsChartResponse.fromJson(_json["createSh eetsChart"]);
4172 }
4173 if (_json.containsKey("createSlide")) {
4174 createSlide = new CreateSlideResponse.fromJson(_json["createSlide"]);
4175 }
4176 if (_json.containsKey("createTable")) {
4177 createTable = new CreateTableResponse.fromJson(_json["createTable"]);
4178 }
4179 if (_json.containsKey("createVideo")) {
4180 createVideo = new CreateVideoResponse.fromJson(_json["createVideo"]);
4181 }
4182 if (_json.containsKey("duplicateObject")) {
4183 duplicateObject = new DuplicateObjectResponse.fromJson(_json["duplicateObj ect"]);
4184 }
4185 if (_json.containsKey("replaceAllShapesWithImage")) {
4186 replaceAllShapesWithImage = new ReplaceAllShapesWithImageResponse.fromJson (_json["replaceAllShapesWithImage"]);
4187 }
4188 if (_json.containsKey("replaceAllText")) {
4189 replaceAllText = new ReplaceAllTextResponse.fromJson(_json["replaceAllText "]);
4190 }
4191 }
4192
4193 core.Map toJson() {
4194 var _json = new core.Map();
4195 if (createImage != null) {
4196 _json["createImage"] = (createImage).toJson();
4197 }
4198 if (createLine != null) {
4199 _json["createLine"] = (createLine).toJson();
4200 }
4201 if (createShape != null) {
4202 _json["createShape"] = (createShape).toJson();
4203 }
4204 if (createSheetsChart != null) {
4205 _json["createSheetsChart"] = (createSheetsChart).toJson();
4206 }
4207 if (createSlide != null) {
4208 _json["createSlide"] = (createSlide).toJson();
4209 }
4210 if (createTable != null) {
4211 _json["createTable"] = (createTable).toJson();
4212 }
4213 if (createVideo != null) {
4214 _json["createVideo"] = (createVideo).toJson();
4215 }
4216 if (duplicateObject != null) {
4217 _json["duplicateObject"] = (duplicateObject).toJson();
4218 }
4219 if (replaceAllShapesWithImage != null) {
4220 _json["replaceAllShapesWithImage"] = (replaceAllShapesWithImage).toJson();
4221 }
4222 if (replaceAllText != null) {
4223 _json["replaceAllText"] = (replaceAllText).toJson();
4224 }
4225 return _json;
4226 }
4227 }
4228
4229 /** An RGB color. */
4230 class RgbColor {
4231 /** The blue component of the color, from 0.0 to 1.0. */
4232 core.double blue;
4233 /** The green component of the color, from 0.0 to 1.0. */
4234 core.double green;
4235 /** The red component of the color, from 0.0 to 1.0. */
4236 core.double red;
4237
4238 RgbColor();
4239
4240 RgbColor.fromJson(core.Map _json) {
4241 if (_json.containsKey("blue")) {
4242 blue = _json["blue"];
4243 }
4244 if (_json.containsKey("green")) {
4245 green = _json["green"];
4246 }
4247 if (_json.containsKey("red")) {
4248 red = _json["red"];
4249 }
4250 }
4251
4252 core.Map toJson() {
4253 var _json = new core.Map();
4254 if (blue != null) {
4255 _json["blue"] = blue;
4256 }
4257 if (green != null) {
4258 _json["green"] = green;
4259 }
4260 if (red != null) {
4261 _json["red"] = red;
4262 }
4263 return _json;
4264 }
4265 }
4266
4267 /**
4268 * The shadow properties of a page element.
4269 *
4270 * If these fields are unset, they may be inherited from a parent placeholder
4271 * if it exists. If there is no parent, the fields will default to the value
4272 * used for new page elements created in the Slides editor, which may depend on
4273 * the page element kind.
4274 */
4275 class Shadow {
4276 /**
4277 * The alignment point of the shadow, that sets the origin for translate,
4278 * scale and skew of the shadow.
4279 * Possible string values are:
4280 * - "RECTANGLE_POSITION_UNSPECIFIED" : Unspecified.
4281 * - "TOP_LEFT" : Top left.
4282 * - "TOP_CENTER" : Top center.
4283 * - "TOP_RIGHT" : Top right.
4284 * - "LEFT_CENTER" : Left center.
4285 * - "CENTER" : Center.
4286 * - "RIGHT_CENTER" : Right center.
4287 * - "BOTTOM_LEFT" : Bottom left.
4288 * - "BOTTOM_CENTER" : Bottom center.
4289 * - "BOTTOM_RIGHT" : Bottom right.
4290 */
4291 core.String alignment;
4292 /** The alpha of the shadow's color, from 0.0 to 1.0. */
4293 core.double alpha;
4294 /**
4295 * The radius of the shadow blur. The larger the radius, the more diffuse the
4296 * shadow becomes.
4297 */
4298 Dimension blurRadius;
4299 /** The shadow color value. */
4300 OpaqueColor color;
4301 /**
4302 * The shadow property state.
4303 *
4304 * Updating the the shadow on a page element will implicitly update this field
4305 * to `RENDERED`, unless another value is specified in the same request. To
4306 * have no shadow on a page element, set this field to `NOT_RENDERED`. In this
4307 * case, any other shadow fields set in the same request will be ignored.
4308 * Possible string values are:
4309 * - "RENDERED" : If a property's state is RENDERED, then the element has the
4310 * corresponding
4311 * property when rendered on a page. If the element is a placeholder shape as
4312 * determined by the placeholder
4313 * field, and it inherits from a placeholder shape, the corresponding field
4314 * may be unset, meaning that the property value is inherited from a parent
4315 * placeholder. If the element does not inherit, then the field will contain
4316 * the rendered value. This is the default value.
4317 * - "NOT_RENDERED" : If a property's state is NOT_RENDERED, then the element
4318 * does not have the
4319 * corresponding property when rendered on a page. However, the field may
4320 * still be set so it can be inherited by child shapes. To remove a property
4321 * from a rendered element, set its property_state to NOT_RENDERED.
4322 * - "INHERIT" : If a property's state is INHERIT, then the property state
4323 * uses the value of
4324 * corresponding `property_state` field on the parent shape. Elements that do
4325 * not inherit will never have an INHERIT property state.
4326 */
4327 core.String propertyState;
4328 /** Whether the shadow should rotate with the shape. */
4329 core.bool rotateWithShape;
4330 /**
4331 * Transform that encodes the translate, scale, and skew of the shadow,
4332 * relative to the alignment position.
4333 */
4334 AffineTransform transform;
4335 /**
4336 * The type of the shadow.
4337 * Possible string values are:
4338 * - "SHADOW_TYPE_UNSPECIFIED" : Unspecified shadow type.
4339 * - "OUTER" : Outer shadow.
4340 */
4341 core.String type;
4342
4343 Shadow();
4344
4345 Shadow.fromJson(core.Map _json) {
4346 if (_json.containsKey("alignment")) {
4347 alignment = _json["alignment"];
4348 }
4349 if (_json.containsKey("alpha")) {
4350 alpha = _json["alpha"];
4351 }
4352 if (_json.containsKey("blurRadius")) {
4353 blurRadius = new Dimension.fromJson(_json["blurRadius"]);
4354 }
4355 if (_json.containsKey("color")) {
4356 color = new OpaqueColor.fromJson(_json["color"]);
4357 }
4358 if (_json.containsKey("propertyState")) {
4359 propertyState = _json["propertyState"];
4360 }
4361 if (_json.containsKey("rotateWithShape")) {
4362 rotateWithShape = _json["rotateWithShape"];
4363 }
4364 if (_json.containsKey("transform")) {
4365 transform = new AffineTransform.fromJson(_json["transform"]);
4366 }
4367 if (_json.containsKey("type")) {
4368 type = _json["type"];
4369 }
4370 }
4371
4372 core.Map toJson() {
4373 var _json = new core.Map();
4374 if (alignment != null) {
4375 _json["alignment"] = alignment;
4376 }
4377 if (alpha != null) {
4378 _json["alpha"] = alpha;
4379 }
4380 if (blurRadius != null) {
4381 _json["blurRadius"] = (blurRadius).toJson();
4382 }
4383 if (color != null) {
4384 _json["color"] = (color).toJson();
4385 }
4386 if (propertyState != null) {
4387 _json["propertyState"] = propertyState;
4388 }
4389 if (rotateWithShape != null) {
4390 _json["rotateWithShape"] = rotateWithShape;
4391 }
4392 if (transform != null) {
4393 _json["transform"] = (transform).toJson();
4394 }
4395 if (type != null) {
4396 _json["type"] = type;
4397 }
4398 return _json;
4399 }
4400 }
4401
4402 /**
4403 * A PageElement kind representing a
4404 * generic shape that does not have a more specific classification.
4405 */
4406 class Shape {
4407 /**
4408 * Placeholders are shapes that are inherit from corresponding placeholders on
4409 * layouts and masters.
4410 *
4411 * If set, the shape is a placeholder shape and any inherited properties
4412 * can be resolved by looking at the parent placeholder identified by the
4413 * Placeholder.parent_object_id field.
4414 */
4415 Placeholder placeholder;
4416 /** The properties of the shape. */
4417 ShapeProperties shapeProperties;
4418 /**
4419 * The type of the shape.
4420 * Possible string values are:
4421 * - "TYPE_UNSPECIFIED" : The shape type that is not predefined.
4422 * - "TEXT_BOX" : Text box shape.
4423 * - "RECTANGLE" : Rectangle shape. Corresponds to ECMA-376 ST_ShapeType
4424 * 'rect'.
4425 * - "ROUND_RECTANGLE" : Round corner rectangle shape. Corresponds to ECMA-376
4426 * ST_ShapeType
4427 * 'roundRect'
4428 * - "ELLIPSE" : Ellipse shape. Corresponds to ECMA-376 ST_ShapeType 'ellipse'
4429 * - "ARC" : Curved arc shape. Corresponds to ECMA-376 ST_ShapeType 'arc'
4430 * - "BENT_ARROW" : Bent arrow shape. Corresponds to ECMA-376 ST_ShapeType
4431 * 'bentArrow'
4432 * - "BENT_UP_ARROW" : Bent up arrow shape. Corresponds to ECMA-376
4433 * ST_ShapeType 'bentUpArrow'
4434 * - "BEVEL" : Bevel shape. Corresponds to ECMA-376 ST_ShapeType 'bevel'
4435 * - "BLOCK_ARC" : Block arc shape. Corresponds to ECMA-376 ST_ShapeType
4436 * 'blockArc'
4437 * - "BRACE_PAIR" : Brace pair shape. Corresponds to ECMA-376 ST_ShapeType
4438 * 'bracePair'
4439 * - "BRACKET_PAIR" : Bracket pair shape. Corresponds to ECMA-376 ST_ShapeType
4440 * 'bracketPair'
4441 * - "CAN" : Can shape. Corresponds to ECMA-376 ST_ShapeType 'can'
4442 * - "CHEVRON" : Chevron shape. Corresponds to ECMA-376 ST_ShapeType 'chevron'
4443 * - "CHORD" : Chord shape. Corresponds to ECMA-376 ST_ShapeType 'chord'
4444 * - "CLOUD" : Cloud shape. Corresponds to ECMA-376 ST_ShapeType 'cloud'
4445 * - "CORNER" : Corner shape. Corresponds to ECMA-376 ST_ShapeType 'corner'
4446 * - "CUBE" : Cube shape. Corresponds to ECMA-376 ST_ShapeType 'cube'
4447 * - "CURVED_DOWN_ARROW" : Curved down arrow shape. Corresponds to ECMA-376
4448 * ST_ShapeType
4449 * 'curvedDownArrow'
4450 * - "CURVED_LEFT_ARROW" : Curved left arrow shape. Corresponds to ECMA-376
4451 * ST_ShapeType
4452 * 'curvedLeftArrow'
4453 * - "CURVED_RIGHT_ARROW" : Curved right arrow shape. Corresponds to ECMA-376
4454 * ST_ShapeType
4455 * 'curvedRightArrow'
4456 * - "CURVED_UP_ARROW" : Curved up arrow shape. Corresponds to ECMA-376
4457 * ST_ShapeType
4458 * 'curvedUpArrow'
4459 * - "DECAGON" : Decagon shape. Corresponds to ECMA-376 ST_ShapeType 'decagon'
4460 * - "DIAGONAL_STRIPE" : Diagonal stripe shape. Corresponds to ECMA-376
4461 * ST_ShapeType 'diagStripe'
4462 * - "DIAMOND" : Diamond shape. Corresponds to ECMA-376 ST_ShapeType 'diamond'
4463 * - "DODECAGON" : Dodecagon shape. Corresponds to ECMA-376 ST_ShapeType
4464 * 'dodecagon'
4465 * - "DONUT" : Donut shape. Corresponds to ECMA-376 ST_ShapeType 'donut'
4466 * - "DOUBLE_WAVE" : Double wave shape. Corresponds to ECMA-376 ST_ShapeType
4467 * 'doubleWave'
4468 * - "DOWN_ARROW" : Down arrow shape. Corresponds to ECMA-376 ST_ShapeType
4469 * 'downArrow'
4470 * - "DOWN_ARROW_CALLOUT" : Callout down arrow shape. Corresponds to ECMA-376
4471 * ST_ShapeType
4472 * 'downArrowCallout'
4473 * - "FOLDED_CORNER" : Folded corner shape. Corresponds to ECMA-376
4474 * ST_ShapeType 'foldedCorner'
4475 * - "FRAME" : Frame shape. Corresponds to ECMA-376 ST_ShapeType 'frame'
4476 * - "HALF_FRAME" : Half frame shape. Corresponds to ECMA-376 ST_ShapeType
4477 * 'halfFrame'
4478 * - "HEART" : Heart shape. Corresponds to ECMA-376 ST_ShapeType 'heart'
4479 * - "HEPTAGON" : Heptagon shape. Corresponds to ECMA-376 ST_ShapeType
4480 * 'heptagon'
4481 * - "HEXAGON" : Hexagon shape. Corresponds to ECMA-376 ST_ShapeType 'hexagon'
4482 * - "HOME_PLATE" : Home plate shape. Corresponds to ECMA-376 ST_ShapeType
4483 * 'homePlate'
4484 * - "HORIZONTAL_SCROLL" : Horizontal scroll shape. Corresponds to ECMA-376
4485 * ST_ShapeType
4486 * 'horizontalScroll'
4487 * - "IRREGULAR_SEAL_1" : Irregular seal 1 shape. Corresponds to ECMA-376
4488 * ST_ShapeType
4489 * 'irregularSeal1'
4490 * - "IRREGULAR_SEAL_2" : Irregular seal 2 shape. Corresponds to ECMA-376
4491 * ST_ShapeType
4492 * 'irregularSeal2'
4493 * - "LEFT_ARROW" : Left arrow shape. Corresponds to ECMA-376 ST_ShapeType
4494 * 'leftArrow'
4495 * - "LEFT_ARROW_CALLOUT" : Callout left arrow shape. Corresponds to ECMA-376
4496 * ST_ShapeType
4497 * 'leftArrowCallout'
4498 * - "LEFT_BRACE" : Left brace shape. Corresponds to ECMA-376 ST_ShapeType
4499 * 'leftBrace'
4500 * - "LEFT_BRACKET" : Left bracket shape. Corresponds to ECMA-376 ST_ShapeType
4501 * 'leftBracket'
4502 * - "LEFT_RIGHT_ARROW" : Left right arrow shape. Corresponds to ECMA-376
4503 * ST_ShapeType
4504 * 'leftRightArrow'
4505 * - "LEFT_RIGHT_ARROW_CALLOUT" : Callout left right arrow shape. Corresponds
4506 * to ECMA-376 ST_ShapeType
4507 * 'leftRightArrowCallout'
4508 * - "LEFT_RIGHT_UP_ARROW" : Left right up arrow shape. Corresponds to
4509 * ECMA-376 ST_ShapeType
4510 * 'leftRightUpArrow'
4511 * - "LEFT_UP_ARROW" : Left up arrow shape. Corresponds to ECMA-376
4512 * ST_ShapeType 'leftUpArrow'
4513 * - "LIGHTNING_BOLT" : Lightning bolt shape. Corresponds to ECMA-376
4514 * ST_ShapeType
4515 * 'lightningBolt'
4516 * - "MATH_DIVIDE" : Divide math shape. Corresponds to ECMA-376 ST_ShapeType
4517 * 'mathDivide'
4518 * - "MATH_EQUAL" : Equal math shape. Corresponds to ECMA-376 ST_ShapeType
4519 * 'mathEqual'
4520 * - "MATH_MINUS" : Minus math shape. Corresponds to ECMA-376 ST_ShapeType
4521 * 'mathMinus'
4522 * - "MATH_MULTIPLY" : Multiply math shape. Corresponds to ECMA-376
4523 * ST_ShapeType 'mathMultiply'
4524 * - "MATH_NOT_EQUAL" : Not equal math shape. Corresponds to ECMA-376
4525 * ST_ShapeType 'mathNotEqual'
4526 * - "MATH_PLUS" : Plus math shape. Corresponds to ECMA-376 ST_ShapeType
4527 * 'mathPlus'
4528 * - "MOON" : Moon shape. Corresponds to ECMA-376 ST_ShapeType 'moon'
4529 * - "NO_SMOKING" : No smoking shape. Corresponds to ECMA-376 ST_ShapeType
4530 * 'noSmoking'
4531 * - "NOTCHED_RIGHT_ARROW" : Notched right arrow shape. Corresponds to
4532 * ECMA-376 ST_ShapeType
4533 * 'notchedRightArrow'
4534 * - "OCTAGON" : Octagon shape. Corresponds to ECMA-376 ST_ShapeType 'octagon'
4535 * - "PARALLELOGRAM" : Parallelogram shape. Corresponds to ECMA-376
4536 * ST_ShapeType 'parallelogram'
4537 * - "PENTAGON" : Pentagon shape. Corresponds to ECMA-376 ST_ShapeType
4538 * 'pentagon'
4539 * - "PIE" : Pie shape. Corresponds to ECMA-376 ST_ShapeType 'pie'
4540 * - "PLAQUE" : Plaque shape. Corresponds to ECMA-376 ST_ShapeType 'plaque'
4541 * - "PLUS" : Plus shape. Corresponds to ECMA-376 ST_ShapeType 'plus'
4542 * - "QUAD_ARROW" : Quad-arrow shape. Corresponds to ECMA-376 ST_ShapeType
4543 * 'quadArrow'
4544 * - "QUAD_ARROW_CALLOUT" : Callout quad-arrow shape. Corresponds to ECMA-376
4545 * ST_ShapeType
4546 * 'quadArrowCallout'
4547 * - "RIBBON" : Ribbon shape. Corresponds to ECMA-376 ST_ShapeType 'ribbon'
4548 * - "RIBBON_2" : Ribbon 2 shape. Corresponds to ECMA-376 ST_ShapeType
4549 * 'ribbon2'
4550 * - "RIGHT_ARROW" : Right arrow shape. Corresponds to ECMA-376 ST_ShapeType
4551 * 'rightArrow'
4552 * - "RIGHT_ARROW_CALLOUT" : Callout right arrow shape. Corresponds to
4553 * ECMA-376 ST_ShapeType
4554 * 'rightArrowCallout'
4555 * - "RIGHT_BRACE" : Right brace shape. Corresponds to ECMA-376 ST_ShapeType
4556 * 'rightBrace'
4557 * - "RIGHT_BRACKET" : Right bracket shape. Corresponds to ECMA-376
4558 * ST_ShapeType 'rightBracket'
4559 * - "ROUND_1_RECTANGLE" : One round corner rectangle shape. Corresponds to
4560 * ECMA-376 ST_ShapeType
4561 * 'round1Rect'
4562 * - "ROUND_2_DIAGONAL_RECTANGLE" : Two diagonal round corner rectangle shape.
4563 * Corresponds to ECMA-376
4564 * ST_ShapeType 'round2DiagRect'
4565 * - "ROUND_2_SAME_RECTANGLE" : Two same-side round corner rectangle shape.
4566 * Corresponds to ECMA-376
4567 * ST_ShapeType 'round2SameRect'
4568 * - "RIGHT_TRIANGLE" : Right triangle shape. Corresponds to ECMA-376
4569 * ST_ShapeType 'rtTriangle'
4570 * - "SMILEY_FACE" : Smiley face shape. Corresponds to ECMA-376 ST_ShapeType
4571 * 'smileyFace'
4572 * - "SNIP_1_RECTANGLE" : One snip corner rectangle shape. Corresponds to
4573 * ECMA-376 ST_ShapeType
4574 * 'snip1Rect'
4575 * - "SNIP_2_DIAGONAL_RECTANGLE" : Two diagonal snip corner rectangle shape.
4576 * Corresponds to ECMA-376
4577 * ST_ShapeType 'snip2DiagRect'
4578 * - "SNIP_2_SAME_RECTANGLE" : Two same-side snip corner rectangle shape.
4579 * Corresponds to ECMA-376
4580 * ST_ShapeType 'snip2SameRect'
4581 * - "SNIP_ROUND_RECTANGLE" : One snip one round corner rectangle shape.
4582 * Corresponds to ECMA-376
4583 * ST_ShapeType 'snipRoundRect'
4584 * - "STAR_10" : Ten pointed star shape. Corresponds to ECMA-376 ST_ShapeType
4585 * 'star10'
4586 * - "STAR_12" : Twelve pointed star shape. Corresponds to ECMA-376
4587 * ST_ShapeType 'star12'
4588 * - "STAR_16" : Sixteen pointed star shape. Corresponds to ECMA-376
4589 * ST_ShapeType 'star16'
4590 * - "STAR_24" : Twenty four pointed star shape. Corresponds to ECMA-376
4591 * ST_ShapeType
4592 * 'star24'
4593 * - "STAR_32" : Thirty two pointed star shape. Corresponds to ECMA-376
4594 * ST_ShapeType
4595 * 'star32'
4596 * - "STAR_4" : Four pointed star shape. Corresponds to ECMA-376 ST_ShapeType
4597 * 'star4'
4598 * - "STAR_5" : Five pointed star shape. Corresponds to ECMA-376 ST_ShapeType
4599 * 'star5'
4600 * - "STAR_6" : Six pointed star shape. Corresponds to ECMA-376 ST_ShapeType
4601 * 'star6'
4602 * - "STAR_7" : Seven pointed star shape. Corresponds to ECMA-376 ST_ShapeType
4603 * 'star7'
4604 * - "STAR_8" : Eight pointed star shape. Corresponds to ECMA-376 ST_ShapeType
4605 * 'star8'
4606 * - "STRIPED_RIGHT_ARROW" : Striped right arrow shape. Corresponds to
4607 * ECMA-376 ST_ShapeType
4608 * 'stripedRightArrow'
4609 * - "SUN" : Sun shape. Corresponds to ECMA-376 ST_ShapeType 'sun'
4610 * - "TRAPEZOID" : Trapezoid shape. Corresponds to ECMA-376 ST_ShapeType
4611 * 'trapezoid'
4612 * - "TRIANGLE" : Triangle shape. Corresponds to ECMA-376 ST_ShapeType
4613 * 'triangle'
4614 * - "UP_ARROW" : Up arrow shape. Corresponds to ECMA-376 ST_ShapeType
4615 * 'upArrow'
4616 * - "UP_ARROW_CALLOUT" : Callout up arrow shape. Corresponds to ECMA-376
4617 * ST_ShapeType
4618 * 'upArrowCallout'
4619 * - "UP_DOWN_ARROW" : Up down arrow shape. Corresponds to ECMA-376
4620 * ST_ShapeType 'upDownArrow'
4621 * - "UTURN_ARROW" : U-turn arrow shape. Corresponds to ECMA-376 ST_ShapeType
4622 * 'uturnArrow'
4623 * - "VERTICAL_SCROLL" : Vertical scroll shape. Corresponds to ECMA-376
4624 * ST_ShapeType
4625 * 'verticalScroll'
4626 * - "WAVE" : Wave shape. Corresponds to ECMA-376 ST_ShapeType 'wave'
4627 * - "WEDGE_ELLIPSE_CALLOUT" : Callout wedge ellipse shape. Corresponds to
4628 * ECMA-376 ST_ShapeType
4629 * 'wedgeEllipseCallout'
4630 * - "WEDGE_RECTANGLE_CALLOUT" : Callout wedge rectangle shape. Corresponds to
4631 * ECMA-376 ST_ShapeType
4632 * 'wedgeRectCallout'
4633 * - "WEDGE_ROUND_RECTANGLE_CALLOUT" : Callout wedge round rectangle shape.
4634 * Corresponds to ECMA-376 ST_ShapeType
4635 * 'wedgeRoundRectCallout'
4636 * - "FLOW_CHART_ALTERNATE_PROCESS" : Alternate process flow shape.
4637 * Corresponds to ECMA-376 ST_ShapeType
4638 * 'flowChartAlternateProcess'
4639 * - "FLOW_CHART_COLLATE" : Collate flow shape. Corresponds to ECMA-376
4640 * ST_ShapeType
4641 * 'flowChartCollate'
4642 * - "FLOW_CHART_CONNECTOR" : Connector flow shape. Corresponds to ECMA-376
4643 * ST_ShapeType
4644 * 'flowChartConnector'
4645 * - "FLOW_CHART_DECISION" : Decision flow shape. Corresponds to ECMA-376
4646 * ST_ShapeType
4647 * 'flowChartDecision'
4648 * - "FLOW_CHART_DELAY" : Delay flow shape. Corresponds to ECMA-376
4649 * ST_ShapeType 'flowChartDelay'
4650 * - "FLOW_CHART_DISPLAY" : Display flow shape. Corresponds to ECMA-376
4651 * ST_ShapeType
4652 * 'flowChartDisplay'
4653 * - "FLOW_CHART_DOCUMENT" : Document flow shape. Corresponds to ECMA-376
4654 * ST_ShapeType
4655 * 'flowChartDocument'
4656 * - "FLOW_CHART_EXTRACT" : Extract flow shape. Corresponds to ECMA-376
4657 * ST_ShapeType
4658 * 'flowChartExtract'
4659 * - "FLOW_CHART_INPUT_OUTPUT" : Input output flow shape. Corresponds to
4660 * ECMA-376 ST_ShapeType
4661 * 'flowChartInputOutput'
4662 * - "FLOW_CHART_INTERNAL_STORAGE" : Internal storage flow shape. Corresponds
4663 * to ECMA-376 ST_ShapeType
4664 * 'flowChartInternalStorage'
4665 * - "FLOW_CHART_MAGNETIC_DISK" : Magnetic disk flow shape. Corresponds to
4666 * ECMA-376 ST_ShapeType
4667 * 'flowChartMagneticDisk'
4668 * - "FLOW_CHART_MAGNETIC_DRUM" : Magnetic drum flow shape. Corresponds to
4669 * ECMA-376 ST_ShapeType
4670 * 'flowChartMagneticDrum'
4671 * - "FLOW_CHART_MAGNETIC_TAPE" : Magnetic tape flow shape. Corresponds to
4672 * ECMA-376 ST_ShapeType
4673 * 'flowChartMagneticTape'
4674 * - "FLOW_CHART_MANUAL_INPUT" : Manual input flow shape. Corresponds to
4675 * ECMA-376 ST_ShapeType
4676 * 'flowChartManualInput'
4677 * - "FLOW_CHART_MANUAL_OPERATION" : Manual operation flow shape. Corresponds
4678 * to ECMA-376 ST_ShapeType
4679 * 'flowChartManualOperation'
4680 * - "FLOW_CHART_MERGE" : Merge flow shape. Corresponds to ECMA-376
4681 * ST_ShapeType 'flowChartMerge'
4682 * - "FLOW_CHART_MULTIDOCUMENT" : Multi-document flow shape. Corresponds to
4683 * ECMA-376 ST_ShapeType
4684 * 'flowChartMultidocument'
4685 * - "FLOW_CHART_OFFLINE_STORAGE" : Offline storage flow shape. Corresponds to
4686 * ECMA-376 ST_ShapeType
4687 * 'flowChartOfflineStorage'
4688 * - "FLOW_CHART_OFFPAGE_CONNECTOR" : Off-page connector flow shape.
4689 * Corresponds to ECMA-376 ST_ShapeType
4690 * 'flowChartOffpageConnector'
4691 * - "FLOW_CHART_ONLINE_STORAGE" : Online storage flow shape. Corresponds to
4692 * ECMA-376 ST_ShapeType
4693 * 'flowChartOnlineStorage'
4694 * - "FLOW_CHART_OR" : Or flow shape. Corresponds to ECMA-376 ST_ShapeType
4695 * 'flowChartOr'
4696 * - "FLOW_CHART_PREDEFINED_PROCESS" : Predefined process flow shape.
4697 * Corresponds to ECMA-376 ST_ShapeType
4698 * 'flowChartPredefinedProcess'
4699 * - "FLOW_CHART_PREPARATION" : Preparation flow shape. Corresponds to
4700 * ECMA-376 ST_ShapeType
4701 * 'flowChartPreparation'
4702 * - "FLOW_CHART_PROCESS" : Process flow shape. Corresponds to ECMA-376
4703 * ST_ShapeType
4704 * 'flowChartProcess'
4705 * - "FLOW_CHART_PUNCHED_CARD" : Punched card flow shape. Corresponds to
4706 * ECMA-376 ST_ShapeType
4707 * 'flowChartPunchedCard'
4708 * - "FLOW_CHART_PUNCHED_TAPE" : Punched tape flow shape. Corresponds to
4709 * ECMA-376 ST_ShapeType
4710 * 'flowChartPunchedTape'
4711 * - "FLOW_CHART_SORT" : Sort flow shape. Corresponds to ECMA-376 ST_ShapeType
4712 * 'flowChartSort'
4713 * - "FLOW_CHART_SUMMING_JUNCTION" : Summing junction flow shape. Corresponds
4714 * to ECMA-376 ST_ShapeType
4715 * 'flowChartSummingJunction'
4716 * - "FLOW_CHART_TERMINATOR" : Terminator flow shape. Corresponds to ECMA-376
4717 * ST_ShapeType
4718 * 'flowChartTerminator'
4719 * - "ARROW_EAST" : East arrow shape.
4720 * - "ARROW_NORTH_EAST" : Northeast arrow shape.
4721 * - "ARROW_NORTH" : North arrow shape.
4722 * - "SPEECH" : Speech shape.
4723 * - "STARBURST" : Star burst shape.
4724 * - "TEARDROP" : Teardrop shape. Corresponds to ECMA-376 ST_ShapeType
4725 * 'teardrop'
4726 * - "ELLIPSE_RIBBON" : Ellipse ribbon shape. Corresponds to ECMA-376
4727 * ST_ShapeType
4728 * 'ellipseRibbon'
4729 * - "ELLIPSE_RIBBON_2" : Ellipse ribbon 2 shape. Corresponds to ECMA-376
4730 * ST_ShapeType
4731 * 'ellipseRibbon2'
4732 * - "CLOUD_CALLOUT" : Callout cloud shape. Corresponds to ECMA-376
4733 * ST_ShapeType 'cloudCallout'
4734 * - "CUSTOM" : Custom shape.
4735 */
4736 core.String shapeType;
4737 /** The text content of the shape. */
4738 TextContent text;
4739
4740 Shape();
4741
4742 Shape.fromJson(core.Map _json) {
4743 if (_json.containsKey("placeholder")) {
4744 placeholder = new Placeholder.fromJson(_json["placeholder"]);
4745 }
4746 if (_json.containsKey("shapeProperties")) {
4747 shapeProperties = new ShapeProperties.fromJson(_json["shapeProperties"]);
4748 }
4749 if (_json.containsKey("shapeType")) {
4750 shapeType = _json["shapeType"];
4751 }
4752 if (_json.containsKey("text")) {
4753 text = new TextContent.fromJson(_json["text"]);
4754 }
4755 }
4756
4757 core.Map toJson() {
4758 var _json = new core.Map();
4759 if (placeholder != null) {
4760 _json["placeholder"] = (placeholder).toJson();
4761 }
4762 if (shapeProperties != null) {
4763 _json["shapeProperties"] = (shapeProperties).toJson();
4764 }
4765 if (shapeType != null) {
4766 _json["shapeType"] = shapeType;
4767 }
4768 if (text != null) {
4769 _json["text"] = (text).toJson();
4770 }
4771 return _json;
4772 }
4773 }
4774
4775 /** The shape background fill. */
4776 class ShapeBackgroundFill {
4777 /**
4778 * The background fill property state.
4779 *
4780 * Updating the the fill on a shape will implicitly update this field to
4781 * `RENDERED`, unless another value is specified in the same request. To
4782 * have no fill on a shape, set this field to `NOT_RENDERED`. In this case,
4783 * any other fill fields set in the same request will be ignored.
4784 * Possible string values are:
4785 * - "RENDERED" : If a property's state is RENDERED, then the element has the
4786 * corresponding
4787 * property when rendered on a page. If the element is a placeholder shape as
4788 * determined by the placeholder
4789 * field, and it inherits from a placeholder shape, the corresponding field
4790 * may be unset, meaning that the property value is inherited from a parent
4791 * placeholder. If the element does not inherit, then the field will contain
4792 * the rendered value. This is the default value.
4793 * - "NOT_RENDERED" : If a property's state is NOT_RENDERED, then the element
4794 * does not have the
4795 * corresponding property when rendered on a page. However, the field may
4796 * still be set so it can be inherited by child shapes. To remove a property
4797 * from a rendered element, set its property_state to NOT_RENDERED.
4798 * - "INHERIT" : If a property's state is INHERIT, then the property state
4799 * uses the value of
4800 * corresponding `property_state` field on the parent shape. Elements that do
4801 * not inherit will never have an INHERIT property state.
4802 */
4803 core.String propertyState;
4804 /** Solid color fill. */
4805 SolidFill solidFill;
4806
4807 ShapeBackgroundFill();
4808
4809 ShapeBackgroundFill.fromJson(core.Map _json) {
4810 if (_json.containsKey("propertyState")) {
4811 propertyState = _json["propertyState"];
4812 }
4813 if (_json.containsKey("solidFill")) {
4814 solidFill = new SolidFill.fromJson(_json["solidFill"]);
4815 }
4816 }
4817
4818 core.Map toJson() {
4819 var _json = new core.Map();
4820 if (propertyState != null) {
4821 _json["propertyState"] = propertyState;
4822 }
4823 if (solidFill != null) {
4824 _json["solidFill"] = (solidFill).toJson();
4825 }
4826 return _json;
4827 }
4828 }
4829
4830 /**
4831 * The properties of a Shape.
4832 *
4833 * If the shape is a placeholder shape as determined by the
4834 * placeholder field, then these
4835 * properties may be inherited from a parent placeholder shape.
4836 * Determining the rendered value of the property depends on the corresponding
4837 * property_state field value.
4838 */
4839 class ShapeProperties {
4840 /**
4841 * The hyperlink destination of the shape. If unset, there is no link. Links
4842 * are not inherited from parent placeholders.
4843 */
4844 Link link;
4845 /**
4846 * The outline of the shape. If unset, the outline is inherited from a
4847 * parent placeholder if it exists. If the shape has no parent, then the
4848 * default outline depends on the shape type, matching the defaults for
4849 * new shapes created in the Slides editor.
4850 */
4851 Outline outline;
4852 /**
4853 * The shadow properties of the shape. If unset, the shadow is inherited from
4854 * a parent placeholder if it exists. If the shape has no parent, then the
4855 * default shadow matches the defaults for new shapes created in the Slides
4856 * editor. This property is read-only.
4857 */
4858 Shadow shadow;
4859 /**
4860 * The background fill of the shape. If unset, the background fill is
4861 * inherited from a parent placeholder if it exists. If the shape has no
4862 * parent, then the default background fill depends on the shape type,
4863 * matching the defaults for new shapes created in the Slides editor.
4864 */
4865 ShapeBackgroundFill shapeBackgroundFill;
4866
4867 ShapeProperties();
4868
4869 ShapeProperties.fromJson(core.Map _json) {
4870 if (_json.containsKey("link")) {
4871 link = new Link.fromJson(_json["link"]);
4872 }
4873 if (_json.containsKey("outline")) {
4874 outline = new Outline.fromJson(_json["outline"]);
4875 }
4876 if (_json.containsKey("shadow")) {
4877 shadow = new Shadow.fromJson(_json["shadow"]);
4878 }
4879 if (_json.containsKey("shapeBackgroundFill")) {
4880 shapeBackgroundFill = new ShapeBackgroundFill.fromJson(_json["shapeBackgro undFill"]);
4881 }
4882 }
4883
4884 core.Map toJson() {
4885 var _json = new core.Map();
4886 if (link != null) {
4887 _json["link"] = (link).toJson();
4888 }
4889 if (outline != null) {
4890 _json["outline"] = (outline).toJson();
4891 }
4892 if (shadow != null) {
4893 _json["shadow"] = (shadow).toJson();
4894 }
4895 if (shapeBackgroundFill != null) {
4896 _json["shapeBackgroundFill"] = (shapeBackgroundFill).toJson();
4897 }
4898 return _json;
4899 }
4900 }
4901
4902 /**
4903 * A PageElement kind representing
4904 * a linked chart embedded from Google Sheets.
4905 */
4906 class SheetsChart {
4907 /**
4908 * The ID of the specific chart in the Google Sheets spreadsheet that is
4909 * embedded.
4910 */
4911 core.int chartId;
4912 /**
4913 * The URL of an image of the embedded chart, with a default lifetime of 30
4914 * minutes. This URL is tagged with the account of the requester. Anyone with
4915 * the URL effectively accesses the image as the original requester. Access to
4916 * the image may be lost if the presentation's sharing settings change.
4917 */
4918 core.String contentUrl;
4919 /** The properties of the Sheets chart. */
4920 SheetsChartProperties sheetsChartProperties;
4921 /**
4922 * The ID of the Google Sheets spreadsheet that contains the source chart.
4923 */
4924 core.String spreadsheetId;
4925
4926 SheetsChart();
4927
4928 SheetsChart.fromJson(core.Map _json) {
4929 if (_json.containsKey("chartId")) {
4930 chartId = _json["chartId"];
4931 }
4932 if (_json.containsKey("contentUrl")) {
4933 contentUrl = _json["contentUrl"];
4934 }
4935 if (_json.containsKey("sheetsChartProperties")) {
4936 sheetsChartProperties = new SheetsChartProperties.fromJson(_json["sheetsCh artProperties"]);
4937 }
4938 if (_json.containsKey("spreadsheetId")) {
4939 spreadsheetId = _json["spreadsheetId"];
4940 }
4941 }
4942
4943 core.Map toJson() {
4944 var _json = new core.Map();
4945 if (chartId != null) {
4946 _json["chartId"] = chartId;
4947 }
4948 if (contentUrl != null) {
4949 _json["contentUrl"] = contentUrl;
4950 }
4951 if (sheetsChartProperties != null) {
4952 _json["sheetsChartProperties"] = (sheetsChartProperties).toJson();
4953 }
4954 if (spreadsheetId != null) {
4955 _json["spreadsheetId"] = spreadsheetId;
4956 }
4957 return _json;
4958 }
4959 }
4960
4961 /** The properties of the SheetsChart. */
4962 class SheetsChartProperties {
4963 /** The properties of the embedded chart image. */
4964 ImageProperties chartImageProperties;
4965
4966 SheetsChartProperties();
4967
4968 SheetsChartProperties.fromJson(core.Map _json) {
4969 if (_json.containsKey("chartImageProperties")) {
4970 chartImageProperties = new ImageProperties.fromJson(_json["chartImagePrope rties"]);
4971 }
4972 }
4973
4974 core.Map toJson() {
4975 var _json = new core.Map();
4976 if (chartImageProperties != null) {
4977 _json["chartImageProperties"] = (chartImageProperties).toJson();
4978 }
4979 return _json;
4980 }
4981 }
4982
4983 /** A width and height. */
4984 class Size {
4985 /** The height of the object. */
4986 Dimension height;
4987 /** The width of the object. */
4988 Dimension width;
4989
4990 Size();
4991
4992 Size.fromJson(core.Map _json) {
4993 if (_json.containsKey("height")) {
4994 height = new Dimension.fromJson(_json["height"]);
4995 }
4996 if (_json.containsKey("width")) {
4997 width = new Dimension.fromJson(_json["width"]);
4998 }
4999 }
5000
5001 core.Map toJson() {
5002 var _json = new core.Map();
5003 if (height != null) {
5004 _json["height"] = (height).toJson();
5005 }
5006 if (width != null) {
5007 _json["width"] = (width).toJson();
5008 }
5009 return _json;
5010 }
5011 }
5012
5013 /**
5014 * The properties of Page that are only
5015 * relevant for pages with page_type SLIDE.
5016 */
5017 class SlideProperties {
5018 /** The object ID of the layout that this slide is based on. */
5019 core.String layoutObjectId;
5020 /** The object ID of the master that this slide is based on. */
5021 core.String masterObjectId;
5022
5023 SlideProperties();
5024
5025 SlideProperties.fromJson(core.Map _json) {
5026 if (_json.containsKey("layoutObjectId")) {
5027 layoutObjectId = _json["layoutObjectId"];
5028 }
5029 if (_json.containsKey("masterObjectId")) {
5030 masterObjectId = _json["masterObjectId"];
5031 }
5032 }
5033
5034 core.Map toJson() {
5035 var _json = new core.Map();
5036 if (layoutObjectId != null) {
5037 _json["layoutObjectId"] = layoutObjectId;
5038 }
5039 if (masterObjectId != null) {
5040 _json["masterObjectId"] = masterObjectId;
5041 }
5042 return _json;
5043 }
5044 }
5045
5046 /**
5047 * A solid color fill. The page or page element is filled entirely with the
5048 * specified color value.
5049 *
5050 * If any field is unset, its value may be inherited from a parent placeholder
5051 * if it exists.
5052 */
5053 class SolidFill {
5054 /**
5055 * The fraction of this `color` that should be applied to the pixel.
5056 * That is, the final pixel color is defined by the equation:
5057 *
5058 * pixel color = alpha * (color) + (1.0 - alpha) * (background color)
5059 *
5060 * This means that a value of 1.0 corresponds to a solid color, whereas
5061 * a value of 0.0 corresponds to a completely transparent color.
5062 */
5063 core.double alpha;
5064 /** The color value of the solid fill. */
5065 OpaqueColor color;
5066
5067 SolidFill();
5068
5069 SolidFill.fromJson(core.Map _json) {
5070 if (_json.containsKey("alpha")) {
5071 alpha = _json["alpha"];
5072 }
5073 if (_json.containsKey("color")) {
5074 color = new OpaqueColor.fromJson(_json["color"]);
5075 }
5076 }
5077
5078 core.Map toJson() {
5079 var _json = new core.Map();
5080 if (alpha != null) {
5081 _json["alpha"] = alpha;
5082 }
5083 if (color != null) {
5084 _json["color"] = (color).toJson();
5085 }
5086 return _json;
5087 }
5088 }
5089
5090 /**
5091 * The stretched picture fill. The page or page element is filled entirely with
5092 * the specified picture. The picture is stretched to fit its container.
5093 */
5094 class StretchedPictureFill {
5095 /**
5096 * Reading the content_url:
5097 *
5098 * An URL to a picture with a default lifetime of 30 minutes.
5099 * This URL is tagged with the account of the requester. Anyone with the URL
5100 * effectively accesses the picture as the original requester. Access to the
5101 * picture may be lost if the presentation's sharing settings change.
5102 *
5103 * Writing the content_url:
5104 *
5105 * The picture is fetched once at insertion time and a copy is stored for
5106 * display inside the presentation. Pictures must be less than 50MB in size,
5107 * cannot exceed 25 megapixels, and must be in either in PNG, JPEG, or GIF
5108 * format.
5109 */
5110 core.String contentUrl;
5111 /** The original size of the picture fill. This field is read-only. */
5112 Size size;
5113
5114 StretchedPictureFill();
5115
5116 StretchedPictureFill.fromJson(core.Map _json) {
5117 if (_json.containsKey("contentUrl")) {
5118 contentUrl = _json["contentUrl"];
5119 }
5120 if (_json.containsKey("size")) {
5121 size = new Size.fromJson(_json["size"]);
5122 }
5123 }
5124
5125 core.Map toJson() {
5126 var _json = new core.Map();
5127 if (contentUrl != null) {
5128 _json["contentUrl"] = contentUrl;
5129 }
5130 if (size != null) {
5131 _json["size"] = (size).toJson();
5132 }
5133 return _json;
5134 }
5135 }
5136
5137 /** A criteria that matches a specific string of text in a shape or table. */
5138 class SubstringMatchCriteria {
5139 /**
5140 * Indicates whether the search should respect case:
5141 *
5142 * - `True`: the search is case sensitive.
5143 * - `False`: the search is case insensitive.
5144 */
5145 core.bool matchCase;
5146 /** The text to search for in the shape or table. */
5147 core.String text;
5148
5149 SubstringMatchCriteria();
5150
5151 SubstringMatchCriteria.fromJson(core.Map _json) {
5152 if (_json.containsKey("matchCase")) {
5153 matchCase = _json["matchCase"];
5154 }
5155 if (_json.containsKey("text")) {
5156 text = _json["text"];
5157 }
5158 }
5159
5160 core.Map toJson() {
5161 var _json = new core.Map();
5162 if (matchCase != null) {
5163 _json["matchCase"] = matchCase;
5164 }
5165 if (text != null) {
5166 _json["text"] = text;
5167 }
5168 return _json;
5169 }
5170 }
5171
5172 /**
5173 * A PageElement kind representing a
5174 * table.
5175 */
5176 class Table {
5177 /** Number of columns in the table. */
5178 core.int columns;
5179 /** Number of rows in the table. */
5180 core.int rows;
5181 /** Properties of each column. */
5182 core.List<TableColumnProperties> tableColumns;
5183 /**
5184 * Properties and contents of each row.
5185 *
5186 * Cells that span multiple rows are contained in only one of these rows and
5187 * have a row_span greater
5188 * than 1.
5189 */
5190 core.List<TableRow> tableRows;
5191
5192 Table();
5193
5194 Table.fromJson(core.Map _json) {
5195 if (_json.containsKey("columns")) {
5196 columns = _json["columns"];
5197 }
5198 if (_json.containsKey("rows")) {
5199 rows = _json["rows"];
5200 }
5201 if (_json.containsKey("tableColumns")) {
5202 tableColumns = _json["tableColumns"].map((value) => new TableColumnPropert ies.fromJson(value)).toList();
5203 }
5204 if (_json.containsKey("tableRows")) {
5205 tableRows = _json["tableRows"].map((value) => new TableRow.fromJson(value) ).toList();
5206 }
5207 }
5208
5209 core.Map toJson() {
5210 var _json = new core.Map();
5211 if (columns != null) {
5212 _json["columns"] = columns;
5213 }
5214 if (rows != null) {
5215 _json["rows"] = rows;
5216 }
5217 if (tableColumns != null) {
5218 _json["tableColumns"] = tableColumns.map((value) => (value).toJson()).toLi st();
5219 }
5220 if (tableRows != null) {
5221 _json["tableRows"] = tableRows.map((value) => (value).toJson()).toList();
5222 }
5223 return _json;
5224 }
5225 }
5226
5227 /** Properties and contents of each table cell. */
5228 class TableCell {
5229 /** Column span of the cell. */
5230 core.int columnSpan;
5231 /** The location of the cell within the table. */
5232 TableCellLocation location;
5233 /** Row span of the cell. */
5234 core.int rowSpan;
5235 /** The properties of the table cell. */
5236 TableCellProperties tableCellProperties;
5237 /** The text content of the cell. */
5238 TextContent text;
5239
5240 TableCell();
5241
5242 TableCell.fromJson(core.Map _json) {
5243 if (_json.containsKey("columnSpan")) {
5244 columnSpan = _json["columnSpan"];
5245 }
5246 if (_json.containsKey("location")) {
5247 location = new TableCellLocation.fromJson(_json["location"]);
5248 }
5249 if (_json.containsKey("rowSpan")) {
5250 rowSpan = _json["rowSpan"];
5251 }
5252 if (_json.containsKey("tableCellProperties")) {
5253 tableCellProperties = new TableCellProperties.fromJson(_json["tableCellPro perties"]);
5254 }
5255 if (_json.containsKey("text")) {
5256 text = new TextContent.fromJson(_json["text"]);
5257 }
5258 }
5259
5260 core.Map toJson() {
5261 var _json = new core.Map();
5262 if (columnSpan != null) {
5263 _json["columnSpan"] = columnSpan;
5264 }
5265 if (location != null) {
5266 _json["location"] = (location).toJson();
5267 }
5268 if (rowSpan != null) {
5269 _json["rowSpan"] = rowSpan;
5270 }
5271 if (tableCellProperties != null) {
5272 _json["tableCellProperties"] = (tableCellProperties).toJson();
5273 }
5274 if (text != null) {
5275 _json["text"] = (text).toJson();
5276 }
5277 return _json;
5278 }
5279 }
5280
5281 /** The table cell background fill. */
5282 class TableCellBackgroundFill {
5283 /**
5284 * The background fill property state.
5285 *
5286 * Updating the the fill on a table cell will implicitly update this field
5287 * to `RENDERED`, unless another value is specified in the same request. To
5288 * have no fill on a table cell, set this field to `NOT_RENDERED`. In this
5289 * case, any other fill fields set in the same request will be ignored.
5290 * Possible string values are:
5291 * - "RENDERED" : If a property's state is RENDERED, then the element has the
5292 * corresponding
5293 * property when rendered on a page. If the element is a placeholder shape as
5294 * determined by the placeholder
5295 * field, and it inherits from a placeholder shape, the corresponding field
5296 * may be unset, meaning that the property value is inherited from a parent
5297 * placeholder. If the element does not inherit, then the field will contain
5298 * the rendered value. This is the default value.
5299 * - "NOT_RENDERED" : If a property's state is NOT_RENDERED, then the element
5300 * does not have the
5301 * corresponding property when rendered on a page. However, the field may
5302 * still be set so it can be inherited by child shapes. To remove a property
5303 * from a rendered element, set its property_state to NOT_RENDERED.
5304 * - "INHERIT" : If a property's state is INHERIT, then the property state
5305 * uses the value of
5306 * corresponding `property_state` field on the parent shape. Elements that do
5307 * not inherit will never have an INHERIT property state.
5308 */
5309 core.String propertyState;
5310 /** Solid color fill. */
5311 SolidFill solidFill;
5312
5313 TableCellBackgroundFill();
5314
5315 TableCellBackgroundFill.fromJson(core.Map _json) {
5316 if (_json.containsKey("propertyState")) {
5317 propertyState = _json["propertyState"];
5318 }
5319 if (_json.containsKey("solidFill")) {
5320 solidFill = new SolidFill.fromJson(_json["solidFill"]);
5321 }
5322 }
5323
5324 core.Map toJson() {
5325 var _json = new core.Map();
5326 if (propertyState != null) {
5327 _json["propertyState"] = propertyState;
5328 }
5329 if (solidFill != null) {
5330 _json["solidFill"] = (solidFill).toJson();
5331 }
5332 return _json;
5333 }
5334 }
5335
5336 /** A location of a single table cell within a table. */
5337 class TableCellLocation {
5338 /** The 0-based column index. */
5339 core.int columnIndex;
5340 /** The 0-based row index. */
5341 core.int rowIndex;
5342
5343 TableCellLocation();
5344
5345 TableCellLocation.fromJson(core.Map _json) {
5346 if (_json.containsKey("columnIndex")) {
5347 columnIndex = _json["columnIndex"];
5348 }
5349 if (_json.containsKey("rowIndex")) {
5350 rowIndex = _json["rowIndex"];
5351 }
5352 }
5353
5354 core.Map toJson() {
5355 var _json = new core.Map();
5356 if (columnIndex != null) {
5357 _json["columnIndex"] = columnIndex;
5358 }
5359 if (rowIndex != null) {
5360 _json["rowIndex"] = rowIndex;
5361 }
5362 return _json;
5363 }
5364 }
5365
5366 /** The properties of the TableCell. */
5367 class TableCellProperties {
5368 /**
5369 * The background fill of the table cell. The default fill matches the fill
5370 * for newly created table cells in the Slides editor.
5371 */
5372 TableCellBackgroundFill tableCellBackgroundFill;
5373
5374 TableCellProperties();
5375
5376 TableCellProperties.fromJson(core.Map _json) {
5377 if (_json.containsKey("tableCellBackgroundFill")) {
5378 tableCellBackgroundFill = new TableCellBackgroundFill.fromJson(_json["tabl eCellBackgroundFill"]);
5379 }
5380 }
5381
5382 core.Map toJson() {
5383 var _json = new core.Map();
5384 if (tableCellBackgroundFill != null) {
5385 _json["tableCellBackgroundFill"] = (tableCellBackgroundFill).toJson();
5386 }
5387 return _json;
5388 }
5389 }
5390
5391 /** Properties of each column in a table. */
5392 class TableColumnProperties {
5393 /** Width of a column. */
5394 Dimension columnWidth;
5395
5396 TableColumnProperties();
5397
5398 TableColumnProperties.fromJson(core.Map _json) {
5399 if (_json.containsKey("columnWidth")) {
5400 columnWidth = new Dimension.fromJson(_json["columnWidth"]);
5401 }
5402 }
5403
5404 core.Map toJson() {
5405 var _json = new core.Map();
5406 if (columnWidth != null) {
5407 _json["columnWidth"] = (columnWidth).toJson();
5408 }
5409 return _json;
5410 }
5411 }
5412
5413 /**
5414 * A table range represents a reference to a subset of a table.
5415 *
5416 * It's important to note that the cells specified by a table range do not
5417 * necessarily form a rectangle. For example, let's say we have a 3 x 3 table
5418 * where all the cells of the last row are merged together. The table looks
5419 * like this:
5420 *
5421 *
5422 * [ ]
5423 *
5424 * A table range with location = (0, 0), row span = 3 and column span = 2
5425 * specifies the following cells:
5426 *
5427 * x x
5428 * [ x ]
5429 */
5430 class TableRange {
5431 /** The column span of the table range. */
5432 core.int columnSpan;
5433 /** The starting location of the table range. */
5434 TableCellLocation location;
5435 /** The row span of the table range. */
5436 core.int rowSpan;
5437
5438 TableRange();
5439
5440 TableRange.fromJson(core.Map _json) {
5441 if (_json.containsKey("columnSpan")) {
5442 columnSpan = _json["columnSpan"];
5443 }
5444 if (_json.containsKey("location")) {
5445 location = new TableCellLocation.fromJson(_json["location"]);
5446 }
5447 if (_json.containsKey("rowSpan")) {
5448 rowSpan = _json["rowSpan"];
5449 }
5450 }
5451
5452 core.Map toJson() {
5453 var _json = new core.Map();
5454 if (columnSpan != null) {
5455 _json["columnSpan"] = columnSpan;
5456 }
5457 if (location != null) {
5458 _json["location"] = (location).toJson();
5459 }
5460 if (rowSpan != null) {
5461 _json["rowSpan"] = rowSpan;
5462 }
5463 return _json;
5464 }
5465 }
5466
5467 /** Properties and contents of each row in a table. */
5468 class TableRow {
5469 /** Height of a row. */
5470 Dimension rowHeight;
5471 /**
5472 * Properties and contents of each cell.
5473 *
5474 * Cells that span multiple columns are represented only once with a
5475 * column_span greater
5476 * than 1. As a result, the length of this collection does not always match
5477 * the number of columns of the entire table.
5478 */
5479 core.List<TableCell> tableCells;
5480
5481 TableRow();
5482
5483 TableRow.fromJson(core.Map _json) {
5484 if (_json.containsKey("rowHeight")) {
5485 rowHeight = new Dimension.fromJson(_json["rowHeight"]);
5486 }
5487 if (_json.containsKey("tableCells")) {
5488 tableCells = _json["tableCells"].map((value) => new TableCell.fromJson(val ue)).toList();
5489 }
5490 }
5491
5492 core.Map toJson() {
5493 var _json = new core.Map();
5494 if (rowHeight != null) {
5495 _json["rowHeight"] = (rowHeight).toJson();
5496 }
5497 if (tableCells != null) {
5498 _json["tableCells"] = tableCells.map((value) => (value).toJson()).toList() ;
5499 }
5500 return _json;
5501 }
5502 }
5503
5504 /**
5505 * The general text content. The text must reside in a compatible shape (e.g.
5506 * text box or rectangle) or a table cell in a page.
5507 */
5508 class TextContent {
5509 /** The bulleted lists contained in this text, keyed by list ID. */
5510 core.Map<core.String, List> lists;
5511 /**
5512 * The text contents broken down into its component parts, including styling
5513 * information. This property is read-only.
5514 */
5515 core.List<TextElement> textElements;
5516
5517 TextContent();
5518
5519 TextContent.fromJson(core.Map _json) {
5520 if (_json.containsKey("lists")) {
5521 lists = commons.mapMap(_json["lists"], (item) => new List.fromJson(item));
5522 }
5523 if (_json.containsKey("textElements")) {
5524 textElements = _json["textElements"].map((value) => new TextElement.fromJs on(value)).toList();
5525 }
5526 }
5527
5528 core.Map toJson() {
5529 var _json = new core.Map();
5530 if (lists != null) {
5531 _json["lists"] = commons.mapMap(lists, (item) => (item).toJson());
5532 }
5533 if (textElements != null) {
5534 _json["textElements"] = textElements.map((value) => (value).toJson()).toLi st();
5535 }
5536 return _json;
5537 }
5538 }
5539
5540 /**
5541 * A TextElement describes the content of a range of indices in the text content
5542 * of a Shape or TableCell.
5543 */
5544 class TextElement {
5545 /**
5546 * A TextElement representing a spot in the text that is dynamically
5547 * replaced with content that can change over time.
5548 */
5549 AutoText autoText;
5550 /**
5551 * The zero-based end index of this text element, exclusive, in Unicode code
5552 * units.
5553 */
5554 core.int endIndex;
5555 /**
5556 * A marker representing the beginning of a new paragraph.
5557 *
5558 * The `start_index` and `end_index` of this TextElement represent the
5559 * range of the paragraph. Other TextElements with an index range contained
5560 * inside this paragraph's range are considered to be part of this
5561 * paragraph. The range of indices of two separate paragraphs will never
5562 * overlap.
5563 */
5564 ParagraphMarker paragraphMarker;
5565 /**
5566 * The zero-based start index of this text element, in Unicode code units.
5567 */
5568 core.int startIndex;
5569 /**
5570 * A TextElement representing a run of text where all of the characters
5571 * in the run have the same TextStyle.
5572 *
5573 * The `start_index` and `end_index` of TextRuns will always be fully
5574 * contained in the index range of a single `paragraph_marker` TextElement.
5575 * In other words, a TextRun will never span multiple paragraphs.
5576 */
5577 TextRun textRun;
5578
5579 TextElement();
5580
5581 TextElement.fromJson(core.Map _json) {
5582 if (_json.containsKey("autoText")) {
5583 autoText = new AutoText.fromJson(_json["autoText"]);
5584 }
5585 if (_json.containsKey("endIndex")) {
5586 endIndex = _json["endIndex"];
5587 }
5588 if (_json.containsKey("paragraphMarker")) {
5589 paragraphMarker = new ParagraphMarker.fromJson(_json["paragraphMarker"]);
5590 }
5591 if (_json.containsKey("startIndex")) {
5592 startIndex = _json["startIndex"];
5593 }
5594 if (_json.containsKey("textRun")) {
5595 textRun = new TextRun.fromJson(_json["textRun"]);
5596 }
5597 }
5598
5599 core.Map toJson() {
5600 var _json = new core.Map();
5601 if (autoText != null) {
5602 _json["autoText"] = (autoText).toJson();
5603 }
5604 if (endIndex != null) {
5605 _json["endIndex"] = endIndex;
5606 }
5607 if (paragraphMarker != null) {
5608 _json["paragraphMarker"] = (paragraphMarker).toJson();
5609 }
5610 if (startIndex != null) {
5611 _json["startIndex"] = startIndex;
5612 }
5613 if (textRun != null) {
5614 _json["textRun"] = (textRun).toJson();
5615 }
5616 return _json;
5617 }
5618 }
5619
5620 /**
5621 * A TextElement kind that represents a run of text that all has the same
5622 * styling.
5623 */
5624 class TextRun {
5625 /** The text of this run. */
5626 core.String content;
5627 /** The styling applied to this run. */
5628 TextStyle style;
5629
5630 TextRun();
5631
5632 TextRun.fromJson(core.Map _json) {
5633 if (_json.containsKey("content")) {
5634 content = _json["content"];
5635 }
5636 if (_json.containsKey("style")) {
5637 style = new TextStyle.fromJson(_json["style"]);
5638 }
5639 }
5640
5641 core.Map toJson() {
5642 var _json = new core.Map();
5643 if (content != null) {
5644 _json["content"] = content;
5645 }
5646 if (style != null) {
5647 _json["style"] = (style).toJson();
5648 }
5649 return _json;
5650 }
5651 }
5652
5653 /**
5654 * Represents the styling that can be applied to a TextRun.
5655 *
5656 * If this text is contained in a shape with a parent placeholder, then these
5657 * text styles may be
5658 * inherited from the parent. Which text styles are inherited depend on the
5659 * nesting level of lists:
5660 *
5661 * * A text run in a paragraph that is not in a list will inherit its text style
5662 * from the the newline character in the paragraph at the 0 nesting level of
5663 * the list inside the parent placeholder.
5664 * * A text run in a paragraph that is in a list will inherit its text style
5665 * from the newline character in the paragraph at its corresponding nesting
5666 * level of the list inside the parent placeholder.
5667 *
5668 * Inherited text styles are represented as unset fields in this message. If
5669 * text is contained in a shape without a parent placeholder, unsetting these
5670 * fields will revert the style to a value matching the defaults in the Slides
5671 * editor.
5672 */
5673 class TextStyle {
5674 /**
5675 * The background color of the text. If set, the color is either opaque or
5676 * transparent, depending on if the `opaque_color` field in it is set.
5677 */
5678 OptionalColor backgroundColor;
5679 /**
5680 * The text's vertical offset from its normal position.
5681 *
5682 * Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
5683 * rendered in a smaller font size, computed based on the `font_size` field.
5684 * The `font_size` itself is not affected by changes in this field.
5685 * Possible string values are:
5686 * - "BASELINE_OFFSET_UNSPECIFIED" : The text's baseline offset is inherited
5687 * from the parent.
5688 * - "NONE" : The text is not vertically offset.
5689 * - "SUPERSCRIPT" : The text is vertically offset upwards (superscript).
5690 * - "SUBSCRIPT" : The text is vertically offset downwards (subscript).
5691 */
5692 core.String baselineOffset;
5693 /** Whether or not the text is bold. */
5694 core.bool bold;
5695 /**
5696 * The font family of the text.
5697 *
5698 * The font family can be any font from the Font menu in Slides or from
5699 * [Google Fonts] (https://fonts.google.com/). If the font name is
5700 * unrecognized, the text is rendered in `Arial`.
5701 *
5702 * Some fonts can affect the weight of the text. If an update request
5703 * specifies values for both `font_family` and `bold`, the explicitly-set
5704 * `bold` value is used.
5705 */
5706 core.String fontFamily;
5707 /**
5708 * The size of the text's font. When read, the `font_size` will specified in
5709 * points.
5710 */
5711 Dimension fontSize;
5712 /**
5713 * The color of the text itself. If set, the color is either opaque or
5714 * transparent, depending on if the `opaque_color` field in it is set.
5715 */
5716 OptionalColor foregroundColor;
5717 /** Whether or not the text is italicized. */
5718 core.bool italic;
5719 /**
5720 * The hyperlink destination of the text. If unset, there is no link. Links
5721 * are not inherited from parent text.
5722 *
5723 * Changing the link in an update request causes some other changes to the
5724 * text style of the range:
5725 *
5726 * * When setting a link, the text foreground color will be set to
5727 * ThemeColorType.HYPERLINK and the text will
5728 * be underlined. If these fields are modified in the same
5729 * request, those values will be used instead of the link defaults.
5730 * * Setting a link on a text range that overlaps with an existing link will
5731 * also update the existing link to point to the new URL.
5732 * * Links are not settable on newline characters. As a result, setting a link
5733 * on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
5734 * will separate the newline character(s) into their own text runs. The
5735 * link will be applied separately to the runs before and after the newline.
5736 * * Removing a link will update the text style of the range to match the
5737 * style of the preceding text (or the default text styles if the preceding
5738 * text is another link) unless different styles are being set in the same
5739 * request.
5740 */
5741 Link link;
5742 /** Whether or not the text is in small capital letters. */
5743 core.bool smallCaps;
5744 /** Whether or not the text is struck through. */
5745 core.bool strikethrough;
5746 /** Whether or not the text is underlined. */
5747 core.bool underline;
5748
5749 TextStyle();
5750
5751 TextStyle.fromJson(core.Map _json) {
5752 if (_json.containsKey("backgroundColor")) {
5753 backgroundColor = new OptionalColor.fromJson(_json["backgroundColor"]);
5754 }
5755 if (_json.containsKey("baselineOffset")) {
5756 baselineOffset = _json["baselineOffset"];
5757 }
5758 if (_json.containsKey("bold")) {
5759 bold = _json["bold"];
5760 }
5761 if (_json.containsKey("fontFamily")) {
5762 fontFamily = _json["fontFamily"];
5763 }
5764 if (_json.containsKey("fontSize")) {
5765 fontSize = new Dimension.fromJson(_json["fontSize"]);
5766 }
5767 if (_json.containsKey("foregroundColor")) {
5768 foregroundColor = new OptionalColor.fromJson(_json["foregroundColor"]);
5769 }
5770 if (_json.containsKey("italic")) {
5771 italic = _json["italic"];
5772 }
5773 if (_json.containsKey("link")) {
5774 link = new Link.fromJson(_json["link"]);
5775 }
5776 if (_json.containsKey("smallCaps")) {
5777 smallCaps = _json["smallCaps"];
5778 }
5779 if (_json.containsKey("strikethrough")) {
5780 strikethrough = _json["strikethrough"];
5781 }
5782 if (_json.containsKey("underline")) {
5783 underline = _json["underline"];
5784 }
5785 }
5786
5787 core.Map toJson() {
5788 var _json = new core.Map();
5789 if (backgroundColor != null) {
5790 _json["backgroundColor"] = (backgroundColor).toJson();
5791 }
5792 if (baselineOffset != null) {
5793 _json["baselineOffset"] = baselineOffset;
5794 }
5795 if (bold != null) {
5796 _json["bold"] = bold;
5797 }
5798 if (fontFamily != null) {
5799 _json["fontFamily"] = fontFamily;
5800 }
5801 if (fontSize != null) {
5802 _json["fontSize"] = (fontSize).toJson();
5803 }
5804 if (foregroundColor != null) {
5805 _json["foregroundColor"] = (foregroundColor).toJson();
5806 }
5807 if (italic != null) {
5808 _json["italic"] = italic;
5809 }
5810 if (link != null) {
5811 _json["link"] = (link).toJson();
5812 }
5813 if (smallCaps != null) {
5814 _json["smallCaps"] = smallCaps;
5815 }
5816 if (strikethrough != null) {
5817 _json["strikethrough"] = strikethrough;
5818 }
5819 if (underline != null) {
5820 _json["underline"] = underline;
5821 }
5822 return _json;
5823 }
5824 }
5825
5826 /** A pair mapping a theme color type to the concrete color it represents. */
5827 class ThemeColorPair {
5828 /** The concrete color corresponding to the theme color type above. */
5829 RgbColor color;
5830 /**
5831 * The type of the theme color.
5832 * Possible string values are:
5833 * - "THEME_COLOR_TYPE_UNSPECIFIED" : Unspecified theme color. This value
5834 * should not be used.
5835 * - "DARK1" : Represents the first dark color.
5836 * - "LIGHT1" : Represents the first light color.
5837 * - "DARK2" : Represents the second dark color.
5838 * - "LIGHT2" : Represents the second light color.
5839 * - "ACCENT1" : Represents the first accent color.
5840 * - "ACCENT2" : Represents the second accent color.
5841 * - "ACCENT3" : Represents the third accent color.
5842 * - "ACCENT4" : Represents the fourth accent color.
5843 * - "ACCENT5" : Represents the fifth accent color.
5844 * - "ACCENT6" : Represents the sixth accent color.
5845 * - "HYPERLINK" : Represents the color to use for hyperlinks.
5846 * - "FOLLOWED_HYPERLINK" : Represents the color to use for visited
5847 * hyperlinks.
5848 * - "TEXT1" : Represents the first text color.
5849 * - "BACKGROUND1" : Represents the first background color.
5850 * - "TEXT2" : Represents the second text color.
5851 * - "BACKGROUND2" : Represents the second background color.
5852 */
5853 core.String type;
5854
5855 ThemeColorPair();
5856
5857 ThemeColorPair.fromJson(core.Map _json) {
5858 if (_json.containsKey("color")) {
5859 color = new RgbColor.fromJson(_json["color"]);
5860 }
5861 if (_json.containsKey("type")) {
5862 type = _json["type"];
5863 }
5864 }
5865
5866 core.Map toJson() {
5867 var _json = new core.Map();
5868 if (color != null) {
5869 _json["color"] = (color).toJson();
5870 }
5871 if (type != null) {
5872 _json["type"] = type;
5873 }
5874 return _json;
5875 }
5876 }
5877
5878 /** Update the properties of an Image. */
5879 class UpdateImagePropertiesRequest {
5880 /**
5881 * The fields that should be updated.
5882 *
5883 * At least one field must be specified. The root `imageProperties` is
5884 * implied and should not be specified. A single `"*"` can be used as
5885 * short-hand for listing every field.
5886 *
5887 * For example to update the image outline color, set `fields` to
5888 * `"outline.outlineFill.solidFill.color"`.
5889 *
5890 * To reset a property to its default value, include its field name in the
5891 * field mask but leave the field itself unset.
5892 */
5893 core.String fields;
5894 /** The image properties to update. */
5895 ImageProperties imageProperties;
5896 /** The object ID of the image the updates are applied to. */
5897 core.String objectId;
5898
5899 UpdateImagePropertiesRequest();
5900
5901 UpdateImagePropertiesRequest.fromJson(core.Map _json) {
5902 if (_json.containsKey("fields")) {
5903 fields = _json["fields"];
5904 }
5905 if (_json.containsKey("imageProperties")) {
5906 imageProperties = new ImageProperties.fromJson(_json["imageProperties"]);
5907 }
5908 if (_json.containsKey("objectId")) {
5909 objectId = _json["objectId"];
5910 }
5911 }
5912
5913 core.Map toJson() {
5914 var _json = new core.Map();
5915 if (fields != null) {
5916 _json["fields"] = fields;
5917 }
5918 if (imageProperties != null) {
5919 _json["imageProperties"] = (imageProperties).toJson();
5920 }
5921 if (objectId != null) {
5922 _json["objectId"] = objectId;
5923 }
5924 return _json;
5925 }
5926 }
5927
5928 /** Updates the properties of a Line. */
5929 class UpdateLinePropertiesRequest {
5930 /**
5931 * The fields that should be updated.
5932 *
5933 * At least one field must be specified. The root `lineProperties` is
5934 * implied and should not be specified. A single `"*"` can be used as
5935 * short-hand for listing every field.
5936 *
5937 * For example to update the line solid fill color, set `fields` to
5938 * `"lineFill.solidFill.color"`.
5939 *
5940 * To reset a property to its default value, include its field name in the
5941 * field mask but leave the field itself unset.
5942 */
5943 core.String fields;
5944 /** The line properties to update. */
5945 LineProperties lineProperties;
5946 /** The object ID of the line the update is applied to. */
5947 core.String objectId;
5948
5949 UpdateLinePropertiesRequest();
5950
5951 UpdateLinePropertiesRequest.fromJson(core.Map _json) {
5952 if (_json.containsKey("fields")) {
5953 fields = _json["fields"];
5954 }
5955 if (_json.containsKey("lineProperties")) {
5956 lineProperties = new LineProperties.fromJson(_json["lineProperties"]);
5957 }
5958 if (_json.containsKey("objectId")) {
5959 objectId = _json["objectId"];
5960 }
5961 }
5962
5963 core.Map toJson() {
5964 var _json = new core.Map();
5965 if (fields != null) {
5966 _json["fields"] = fields;
5967 }
5968 if (lineProperties != null) {
5969 _json["lineProperties"] = (lineProperties).toJson();
5970 }
5971 if (objectId != null) {
5972 _json["objectId"] = objectId;
5973 }
5974 return _json;
5975 }
5976 }
5977
5978 /** Updates the transform of a page element. */
5979 class UpdatePageElementTransformRequest {
5980 /**
5981 * The apply mode of the transform update.
5982 * Possible string values are:
5983 * - "APPLY_MODE_UNSPECIFIED" : Unspecified mode.
5984 * - "RELATIVE" : Applies the new AffineTransform matrix to the existing one,
5985 * and
5986 * replaces the existing one with the resulting concatenation.
5987 * - "ABSOLUTE" : Replaces the existing AffineTransform matrix with the new
5988 * one.
5989 */
5990 core.String applyMode;
5991 /** The object ID of the page element to update. */
5992 core.String objectId;
5993 /** The input transform matrix used to update the page element. */
5994 AffineTransform transform;
5995
5996 UpdatePageElementTransformRequest();
5997
5998 UpdatePageElementTransformRequest.fromJson(core.Map _json) {
5999 if (_json.containsKey("applyMode")) {
6000 applyMode = _json["applyMode"];
6001 }
6002 if (_json.containsKey("objectId")) {
6003 objectId = _json["objectId"];
6004 }
6005 if (_json.containsKey("transform")) {
6006 transform = new AffineTransform.fromJson(_json["transform"]);
6007 }
6008 }
6009
6010 core.Map toJson() {
6011 var _json = new core.Map();
6012 if (applyMode != null) {
6013 _json["applyMode"] = applyMode;
6014 }
6015 if (objectId != null) {
6016 _json["objectId"] = objectId;
6017 }
6018 if (transform != null) {
6019 _json["transform"] = (transform).toJson();
6020 }
6021 return _json;
6022 }
6023 }
6024
6025 /** Updates the properties of a Page. */
6026 class UpdatePagePropertiesRequest {
6027 /**
6028 * The fields that should be updated.
6029 *
6030 * At least one field must be specified. The root `pageProperties` is
6031 * implied and should not be specified. A single `"*"` can be used as
6032 * short-hand for listing every field.
6033 *
6034 * For example to update the page background solid fill color, set `fields`
6035 * to `"pageBackgroundFill.solidFill.color"`.
6036 *
6037 * To reset a property to its default value, include its field name in the
6038 * field mask but leave the field itself unset.
6039 */
6040 core.String fields;
6041 /** The object ID of the page the update is applied to. */
6042 core.String objectId;
6043 /** The page properties to update. */
6044 PageProperties pageProperties;
6045
6046 UpdatePagePropertiesRequest();
6047
6048 UpdatePagePropertiesRequest.fromJson(core.Map _json) {
6049 if (_json.containsKey("fields")) {
6050 fields = _json["fields"];
6051 }
6052 if (_json.containsKey("objectId")) {
6053 objectId = _json["objectId"];
6054 }
6055 if (_json.containsKey("pageProperties")) {
6056 pageProperties = new PageProperties.fromJson(_json["pageProperties"]);
6057 }
6058 }
6059
6060 core.Map toJson() {
6061 var _json = new core.Map();
6062 if (fields != null) {
6063 _json["fields"] = fields;
6064 }
6065 if (objectId != null) {
6066 _json["objectId"] = objectId;
6067 }
6068 if (pageProperties != null) {
6069 _json["pageProperties"] = (pageProperties).toJson();
6070 }
6071 return _json;
6072 }
6073 }
6074
6075 /** Update the properties of a Shape. */
6076 class UpdateShapePropertiesRequest {
6077 /**
6078 * The fields that should be updated.
6079 *
6080 * At least one field must be specified. The root `shapeProperties` is
6081 * implied and should not be specified. A single `"*"` can be used as
6082 * short-hand for listing every field.
6083 *
6084 * For example to update the shape background solid fill color, set `fields`
6085 * to `"shapeBackgroundFill.solidFill.color"`.
6086 *
6087 * To reset a property to its default value, include its field name in the
6088 * field mask but leave the field itself unset.
6089 */
6090 core.String fields;
6091 /** The object ID of the shape the updates are applied to. */
6092 core.String objectId;
6093 /** The shape properties to update. */
6094 ShapeProperties shapeProperties;
6095
6096 UpdateShapePropertiesRequest();
6097
6098 UpdateShapePropertiesRequest.fromJson(core.Map _json) {
6099 if (_json.containsKey("fields")) {
6100 fields = _json["fields"];
6101 }
6102 if (_json.containsKey("objectId")) {
6103 objectId = _json["objectId"];
6104 }
6105 if (_json.containsKey("shapeProperties")) {
6106 shapeProperties = new ShapeProperties.fromJson(_json["shapeProperties"]);
6107 }
6108 }
6109
6110 core.Map toJson() {
6111 var _json = new core.Map();
6112 if (fields != null) {
6113 _json["fields"] = fields;
6114 }
6115 if (objectId != null) {
6116 _json["objectId"] = objectId;
6117 }
6118 if (shapeProperties != null) {
6119 _json["shapeProperties"] = (shapeProperties).toJson();
6120 }
6121 return _json;
6122 }
6123 }
6124
6125 /** Updates the position of slides in the presentation. */
6126 class UpdateSlidesPositionRequest {
6127 /**
6128 * The index where the slides should be inserted, based on the slide
6129 * arrangement before the move takes place. Must be between zero and the
6130 * number of slides in the presentation, inclusive.
6131 */
6132 core.int insertionIndex;
6133 /**
6134 * The IDs of the slides in the presentation that should be moved.
6135 * The slides in this list must be in existing presentation order, without
6136 * duplicates.
6137 */
6138 core.List<core.String> slideObjectIds;
6139
6140 UpdateSlidesPositionRequest();
6141
6142 UpdateSlidesPositionRequest.fromJson(core.Map _json) {
6143 if (_json.containsKey("insertionIndex")) {
6144 insertionIndex = _json["insertionIndex"];
6145 }
6146 if (_json.containsKey("slideObjectIds")) {
6147 slideObjectIds = _json["slideObjectIds"];
6148 }
6149 }
6150
6151 core.Map toJson() {
6152 var _json = new core.Map();
6153 if (insertionIndex != null) {
6154 _json["insertionIndex"] = insertionIndex;
6155 }
6156 if (slideObjectIds != null) {
6157 _json["slideObjectIds"] = slideObjectIds;
6158 }
6159 return _json;
6160 }
6161 }
6162
6163 /** Update the properties of a TableCell. */
6164 class UpdateTableCellPropertiesRequest {
6165 /**
6166 * The fields that should be updated.
6167 *
6168 * At least one field must be specified. The root `tableCellProperties` is
6169 * implied and should not be specified. A single `"*"` can be used as
6170 * short-hand for listing every field.
6171 *
6172 * For example to update the table cell background solid fill color, set
6173 * `fields` to `"tableCellBackgroundFill.solidFill.color"`.
6174 *
6175 * To reset a property to its default value, include its field name in the
6176 * field mask but leave the field itself unset.
6177 */
6178 core.String fields;
6179 /** The object ID of the table. */
6180 core.String objectId;
6181 /** The table cell properties to update. */
6182 TableCellProperties tableCellProperties;
6183 /**
6184 * The table range representing the subset of the table to which the updates
6185 * are applied. If a table range is not specified, the updates will apply to
6186 * the entire table.
6187 */
6188 TableRange tableRange;
6189
6190 UpdateTableCellPropertiesRequest();
6191
6192 UpdateTableCellPropertiesRequest.fromJson(core.Map _json) {
6193 if (_json.containsKey("fields")) {
6194 fields = _json["fields"];
6195 }
6196 if (_json.containsKey("objectId")) {
6197 objectId = _json["objectId"];
6198 }
6199 if (_json.containsKey("tableCellProperties")) {
6200 tableCellProperties = new TableCellProperties.fromJson(_json["tableCellPro perties"]);
6201 }
6202 if (_json.containsKey("tableRange")) {
6203 tableRange = new TableRange.fromJson(_json["tableRange"]);
6204 }
6205 }
6206
6207 core.Map toJson() {
6208 var _json = new core.Map();
6209 if (fields != null) {
6210 _json["fields"] = fields;
6211 }
6212 if (objectId != null) {
6213 _json["objectId"] = objectId;
6214 }
6215 if (tableCellProperties != null) {
6216 _json["tableCellProperties"] = (tableCellProperties).toJson();
6217 }
6218 if (tableRange != null) {
6219 _json["tableRange"] = (tableRange).toJson();
6220 }
6221 return _json;
6222 }
6223 }
6224
6225 /**
6226 * Update the styling of text in a Shape or
6227 * Table.
6228 */
6229 class UpdateTextStyleRequest {
6230 /**
6231 * The optional table cell location if the text to be styled is in a table
6232 * cell. If present, the object_id must refer to a table.
6233 */
6234 TableCellLocation cellLocation;
6235 /**
6236 * The fields that should be updated.
6237 *
6238 * At least one field must be specified. The root `style` is implied and
6239 * should not be specified. A single `"*"` can be used as short-hand for
6240 * listing every field.
6241 *
6242 * For example to update the text style to bold, set `fields` to `"bold"`.
6243 *
6244 * To reset a property to its default value,
6245 * include its field name in the field mask but leave the field itself unset.
6246 */
6247 core.String fields;
6248 /** The object ID of the shape or table with the text to be styled. */
6249 core.String objectId;
6250 /**
6251 * The style(s) to set on the text.
6252 *
6253 * If the value for a particular style matches that of the parent, that style
6254 * will be set to inherit.
6255 *
6256 * Certain text style changes may cause other changes meant to mirror the
6257 * behavior of the Slides editor. See the documentation of
6258 * TextStyle for more information.
6259 */
6260 TextStyle style;
6261 /**
6262 * The range of text to style.
6263 *
6264 * The range may be extended to include adjacent newlines.
6265 *
6266 * If the range fully contains a paragraph belonging to a list, the
6267 * paragraph's bullet is also updated with the matching text style.
6268 */
6269 Range textRange;
6270
6271 UpdateTextStyleRequest();
6272
6273 UpdateTextStyleRequest.fromJson(core.Map _json) {
6274 if (_json.containsKey("cellLocation")) {
6275 cellLocation = new TableCellLocation.fromJson(_json["cellLocation"]);
6276 }
6277 if (_json.containsKey("fields")) {
6278 fields = _json["fields"];
6279 }
6280 if (_json.containsKey("objectId")) {
6281 objectId = _json["objectId"];
6282 }
6283 if (_json.containsKey("style")) {
6284 style = new TextStyle.fromJson(_json["style"]);
6285 }
6286 if (_json.containsKey("textRange")) {
6287 textRange = new Range.fromJson(_json["textRange"]);
6288 }
6289 }
6290
6291 core.Map toJson() {
6292 var _json = new core.Map();
6293 if (cellLocation != null) {
6294 _json["cellLocation"] = (cellLocation).toJson();
6295 }
6296 if (fields != null) {
6297 _json["fields"] = fields;
6298 }
6299 if (objectId != null) {
6300 _json["objectId"] = objectId;
6301 }
6302 if (style != null) {
6303 _json["style"] = (style).toJson();
6304 }
6305 if (textRange != null) {
6306 _json["textRange"] = (textRange).toJson();
6307 }
6308 return _json;
6309 }
6310 }
6311
6312 /** Update the properties of a Video. */
6313 class UpdateVideoPropertiesRequest {
6314 /**
6315 * The fields that should be updated.
6316 *
6317 * At least one field must be specified. The root `videoProperties` is
6318 * implied and should not be specified. A single `"*"` can be used as
6319 * short-hand for listing every field.
6320 *
6321 * For example to update the video outline color, set `fields` to
6322 * `"outline.outlineFill.solidFill.color"`.
6323 *
6324 * To reset a property to its default value, include its field name in the
6325 * field mask but leave the field itself unset.
6326 */
6327 core.String fields;
6328 /** The object ID of the video the updates are applied to. */
6329 core.String objectId;
6330 /** The video properties to update. */
6331 VideoProperties videoProperties;
6332
6333 UpdateVideoPropertiesRequest();
6334
6335 UpdateVideoPropertiesRequest.fromJson(core.Map _json) {
6336 if (_json.containsKey("fields")) {
6337 fields = _json["fields"];
6338 }
6339 if (_json.containsKey("objectId")) {
6340 objectId = _json["objectId"];
6341 }
6342 if (_json.containsKey("videoProperties")) {
6343 videoProperties = new VideoProperties.fromJson(_json["videoProperties"]);
6344 }
6345 }
6346
6347 core.Map toJson() {
6348 var _json = new core.Map();
6349 if (fields != null) {
6350 _json["fields"] = fields;
6351 }
6352 if (objectId != null) {
6353 _json["objectId"] = objectId;
6354 }
6355 if (videoProperties != null) {
6356 _json["videoProperties"] = (videoProperties).toJson();
6357 }
6358 return _json;
6359 }
6360 }
6361
6362 /**
6363 * A PageElement kind representing a
6364 * video.
6365 */
6366 class Video {
6367 /** The video source's unique identifier for this video. */
6368 core.String id;
6369 /**
6370 * The video source.
6371 * Possible string values are:
6372 * - "SOURCE_UNSPECIFIED" : The video source is unspecified.
6373 * - "YOUTUBE" : The video source is YouTube.
6374 */
6375 core.String source;
6376 /**
6377 * An URL to a video. The URL is valid as long as the source video
6378 * exists and sharing settings do not change.
6379 */
6380 core.String url;
6381 /** The properties of the video. */
6382 VideoProperties videoProperties;
6383
6384 Video();
6385
6386 Video.fromJson(core.Map _json) {
6387 if (_json.containsKey("id")) {
6388 id = _json["id"];
6389 }
6390 if (_json.containsKey("source")) {
6391 source = _json["source"];
6392 }
6393 if (_json.containsKey("url")) {
6394 url = _json["url"];
6395 }
6396 if (_json.containsKey("videoProperties")) {
6397 videoProperties = new VideoProperties.fromJson(_json["videoProperties"]);
6398 }
6399 }
6400
6401 core.Map toJson() {
6402 var _json = new core.Map();
6403 if (id != null) {
6404 _json["id"] = id;
6405 }
6406 if (source != null) {
6407 _json["source"] = source;
6408 }
6409 if (url != null) {
6410 _json["url"] = url;
6411 }
6412 if (videoProperties != null) {
6413 _json["videoProperties"] = (videoProperties).toJson();
6414 }
6415 return _json;
6416 }
6417 }
6418
6419 /** The properties of the Video. */
6420 class VideoProperties {
6421 /**
6422 * The outline of the video. The default outline matches the defaults for new
6423 * videos created in the Slides editor.
6424 */
6425 Outline outline;
6426
6427 VideoProperties();
6428
6429 VideoProperties.fromJson(core.Map _json) {
6430 if (_json.containsKey("outline")) {
6431 outline = new Outline.fromJson(_json["outline"]);
6432 }
6433 }
6434
6435 core.Map toJson() {
6436 var _json = new core.Map();
6437 if (outline != null) {
6438 _json["outline"] = (outline).toJson();
6439 }
6440 return _json;
6441 }
6442 }
6443
6444 /**
6445 * A PageElement kind representing
6446 * word art.
6447 */
6448 class WordArt {
6449 /** The text rendered as word art. */
6450 core.String renderedText;
6451
6452 WordArt();
6453
6454 WordArt.fromJson(core.Map _json) {
6455 if (_json.containsKey("renderedText")) {
6456 renderedText = _json["renderedText"];
6457 }
6458 }
6459
6460 core.Map toJson() {
6461 var _json = new core.Map();
6462 if (renderedText != null) {
6463 _json["renderedText"] = renderedText;
6464 }
6465 return _json;
6466 }
6467 }
OLDNEW
« 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