001package Torello.Browser; 002 003import java.util.*; 004import javax.json.*; 005import javax.json.stream.*; 006import java.io.*; 007 008import java.lang.reflect.Method; 009import java.lang.reflect.Parameter; 010import java.util.function.Function; 011 012import Torello.Java.Additional.*; 013import Torello.Java.JSON.*; 014 015import static Torello.Java.JSON.JFlag.*; 016 017import Torello.Java.StrCmpr; 018import Torello.JavaDoc.StaticFunctional; 019import Torello.JavaDoc.JDHeaderBackgroundImg; 020import Torello.JavaDoc.Excuse; 021 022/** 023 * <SPAN CLASS=COPIEDJDK><B>This domain provides various functionality related to drawing atop the inspected page.</B></SPAN> 024 * 025 * <EMBED CLASS='external-html' DATA-FILE-ID=CODE_GEN_NOTE> 026 */ 027@StaticFunctional(Excused={"counter"}, Excuses={Excuse.CONFIGURATION}) 028@JDHeaderBackgroundImg(EmbedTagFileID="WOOD_PLANK_NOTE") 029public class Overlay 030{ 031 // ******************************************************************************************** 032 // ******************************************************************************************** 033 // Class Header Stuff 034 // ******************************************************************************************** 035 // ******************************************************************************************** 036 037 038 // No Pubic Constructors 039 private Overlay () { } 040 041 // These two Vector's are used by all the "Methods" exported by this class. java.lang.reflect 042 // is used to generate the JSON String's. It saves thousands of lines of Auto-Generated Code. 043 private static final Map<String, Vector<String>> parameterNames = new HashMap<>(); 044 private static final Map<String, Vector<Class<?>>> parameterTypes = new HashMap<>(); 045 046 // Some Methods do not take any parameters - for instance all the "enable()" and "disable()" 047 // I simply could not get ride of RAW-TYPES and UNCHECKED warnings... so there are now, 048 // offically, two empty-vectors. One for String's, and the other for Classes. 049 050 private static final Vector<String> EMPTY_VEC_STR = new Vector<>(); 051 private static final Vector<Class<?>> EMPTY_VEC_CLASS = new Vector<>(); 052 053 static 054 { 055 for (Method m : Overlay.class.getMethods()) 056 { 057 // This doesn't work! The parameter names are all "arg0" ... "argN" 058 // It works for java.lang.reflect.Field, BUT NOT java.lang.reflect.Parameter! 059 // 060 // Vector<String> parameterNamesList = new Vector<>(); -- NOPE! 061 062 Vector<Class<?>> parameterTypesList = new Vector<>(); 063 064 for (Parameter p : m.getParameters()) parameterTypesList.add(p.getType()); 065 066 parameterTypes.put( 067 m.getName(), 068 (parameterTypesList.size() > 0) ? parameterTypesList : EMPTY_VEC_CLASS 069 ); 070 } 071 } 072 073 static 074 { 075 Vector<String> v = null; 076 077 parameterNames.put("disable", EMPTY_VEC_STR); 078 079 parameterNames.put("enable", EMPTY_VEC_STR); 080 081 v = new Vector<String>(5); 082 parameterNames.put("getHighlightObjectForTest", v); 083 Collections.addAll(v, new String[] 084 { "nodeId", "includeDistance", "includeStyle", "colorFormat", "showAccessibilityInfo", }); 085 086 v = new Vector<String>(1); 087 parameterNames.put("getGridHighlightObjectsForTest", v); 088 Collections.addAll(v, new String[] 089 { "nodeIds", }); 090 091 v = new Vector<String>(1); 092 parameterNames.put("getSourceOrderHighlightObjectForTest", v); 093 Collections.addAll(v, new String[] 094 { "nodeId", }); 095 096 parameterNames.put("hideHighlight", EMPTY_VEC_STR); 097 098 v = new Vector<String>(3); 099 parameterNames.put("highlightFrame", v); 100 Collections.addAll(v, new String[] 101 { "frameId", "contentColor", "contentOutlineColor", }); 102 103 v = new Vector<String>(5); 104 parameterNames.put("highlightNode", v); 105 Collections.addAll(v, new String[] 106 { "highlightConfig", "nodeId", "backendNodeId", "objectId", "selector", }); 107 108 v = new Vector<String>(3); 109 parameterNames.put("highlightQuad", v); 110 Collections.addAll(v, new String[] 111 { "quad", "color", "outlineColor", }); 112 113 v = new Vector<String>(6); 114 parameterNames.put("highlightRect", v); 115 Collections.addAll(v, new String[] 116 { "x", "y", "width", "height", "color", "outlineColor", }); 117 118 v = new Vector<String>(4); 119 parameterNames.put("highlightSourceOrder", v); 120 Collections.addAll(v, new String[] 121 { "sourceOrderConfig", "nodeId", "backendNodeId", "objectId", }); 122 123 v = new Vector<String>(2); 124 parameterNames.put("setInspectMode", v); 125 Collections.addAll(v, new String[] 126 { "mode", "highlightConfig", }); 127 128 v = new Vector<String>(1); 129 parameterNames.put("setShowAdHighlights", v); 130 Collections.addAll(v, new String[] 131 { "show", }); 132 133 v = new Vector<String>(1); 134 parameterNames.put("setPausedInDebuggerMessage", v); 135 Collections.addAll(v, new String[] 136 { "message", }); 137 138 v = new Vector<String>(1); 139 parameterNames.put("setShowDebugBorders", v); 140 Collections.addAll(v, new String[] 141 { "show", }); 142 143 v = new Vector<String>(1); 144 parameterNames.put("setShowFPSCounter", v); 145 Collections.addAll(v, new String[] 146 { "show", }); 147 148 v = new Vector<String>(1); 149 parameterNames.put("setShowGridOverlays", v); 150 Collections.addAll(v, new String[] 151 { "gridNodeHighlightConfigs", }); 152 153 v = new Vector<String>(1); 154 parameterNames.put("setShowFlexOverlays", v); 155 Collections.addAll(v, new String[] 156 { "flexNodeHighlightConfigs", }); 157 158 v = new Vector<String>(1); 159 parameterNames.put("setShowScrollSnapOverlays", v); 160 Collections.addAll(v, new String[] 161 { "scrollSnapHighlightConfigs", }); 162 163 v = new Vector<String>(1); 164 parameterNames.put("setShowContainerQueryOverlays", v); 165 Collections.addAll(v, new String[] 166 { "containerQueryHighlightConfigs", }); 167 168 v = new Vector<String>(1); 169 parameterNames.put("setShowPaintRects", v); 170 Collections.addAll(v, new String[] 171 { "result", }); 172 173 v = new Vector<String>(1); 174 parameterNames.put("setShowLayoutShiftRegions", v); 175 Collections.addAll(v, new String[] 176 { "result", }); 177 178 v = new Vector<String>(1); 179 parameterNames.put("setShowScrollBottleneckRects", v); 180 Collections.addAll(v, new String[] 181 { "show", }); 182 183 v = new Vector<String>(1); 184 parameterNames.put("setShowHitTestBorders", v); 185 Collections.addAll(v, new String[] 186 { "show", }); 187 188 v = new Vector<String>(1); 189 parameterNames.put("setShowWebVitals", v); 190 Collections.addAll(v, new String[] 191 { "show", }); 192 193 v = new Vector<String>(1); 194 parameterNames.put("setShowViewportSizeOnResize", v); 195 Collections.addAll(v, new String[] 196 { "show", }); 197 198 v = new Vector<String>(1); 199 parameterNames.put("setShowHinge", v); 200 Collections.addAll(v, new String[] 201 { "hingeConfig", }); 202 203 v = new Vector<String>(1); 204 parameterNames.put("setShowIsolatedElements", v); 205 Collections.addAll(v, new String[] 206 { "isolatedElementHighlightConfigs", }); 207 } 208 209 210 // ******************************************************************************************** 211 // ******************************************************************************************** 212 // Types - Static Inner Classes 213 // ******************************************************************************************** 214 // ******************************************************************************************** 215 216 /** <CODE>[No Description Provided by Google]</CODE> */ 217 public static final String[] ContrastAlgorithm = 218 { "aa", "aaa", "apca", }; 219 220 /** <CODE>[No Description Provided by Google]</CODE> */ 221 public static final String[] ColorFormat = 222 { "rgb", "hsl", "hex", }; 223 224 /** <CODE>[No Description Provided by Google]</CODE> */ 225 public static final String[] InspectMode = 226 { 227 "searchForNode", "searchForUAShadowDOM", "captureAreaScreenshot", "showDistances", "none", 228 }; 229 230 /** Configuration data for drawing the source order of an elements children. */ 231 public static class SourceOrderConfig 232 extends BaseType 233 implements java.io.Serializable 234 { 235 /** For Object Serialization. java.io.Serializable */ 236 protected static final long serialVersionUID = 1; 237 238 public boolean[] optionals() 239 { return new boolean[] { false, false, }; } 240 241 /** the color to outline the givent element in. */ 242 public final DOM.RGBA parentOutlineColor; 243 244 /** the color to outline the child elements in. */ 245 public final DOM.RGBA childOutlineColor; 246 247 /** 248 * Constructor 249 * 250 * @param parentOutlineColor the color to outline the givent element in. 251 * 252 * @param childOutlineColor the color to outline the child elements in. 253 */ 254 public SourceOrderConfig(DOM.RGBA parentOutlineColor, DOM.RGBA childOutlineColor) 255 { 256 // Exception-Check(s) to ensure that if any parameters which are not declared as 257 // 'Optional', but have a 'null' value anyway, that a NullPointerException shall throw. 258 259 if (parentOutlineColor == null) THROWS.throwNPE("parentOutlineColor"); 260 if (childOutlineColor == null) THROWS.throwNPE("childOutlineColor"); 261 262 this.parentOutlineColor = parentOutlineColor; 263 this.childOutlineColor = childOutlineColor; 264 } 265 266 /** 267 * JSON Object Constructor 268 * @param jo A Json-Object having data about an instance of {@code 'SourceOrderConfig'}. 269 */ 270 public SourceOrderConfig (JsonObject jo) 271 { 272 this.parentOutlineColor = ReadJSON.getObject(jo, "parentOutlineColor", DOM.RGBA.class, false, true); 273 this.childOutlineColor = ReadJSON.getObject(jo, "childOutlineColor", DOM.RGBA.class, false, true); 274 } 275 276 277 /** Checks whether {@code 'this'} equals an input Java-{@code Object} */ 278 public boolean equals(Object other) 279 { 280 if (this == other) return true; 281 if (other == null) return false; 282 if (other.getClass() != this.getClass()) return false; 283 284 SourceOrderConfig o = (SourceOrderConfig) other; 285 286 return 287 Objects.equals(this.parentOutlineColor, o.parentOutlineColor) 288 && Objects.equals(this.childOutlineColor, o.childOutlineColor); 289 } 290 291 /** Generates a Hash-Code for {@code 'this'} instance */ 292 public int hashCode() 293 { 294 return 295 this.parentOutlineColor.hashCode() 296 + this.childOutlineColor.hashCode(); 297 } 298 } 299 300 /** Configuration data for the highlighting of Grid elements. */ 301 public static class GridHighlightConfig 302 extends BaseType 303 implements java.io.Serializable 304 { 305 /** For Object Serialization. java.io.Serializable */ 306 protected static final long serialVersionUID = 1; 307 308 public boolean[] optionals() 309 { return new boolean[] { true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, }; } 310 311 /** 312 * Whether the extension lines from grid cells to the rulers should be shown (default: false). 313 * <BR /> 314 * <BR /><B>OPTIONAL</B> 315 */ 316 public final Boolean showGridExtensionLines; 317 318 /** 319 * Show Positive line number labels (default: false). 320 * <BR /> 321 * <BR /><B>OPTIONAL</B> 322 */ 323 public final Boolean showPositiveLineNumbers; 324 325 /** 326 * Show Negative line number labels (default: false). 327 * <BR /> 328 * <BR /><B>OPTIONAL</B> 329 */ 330 public final Boolean showNegativeLineNumbers; 331 332 /** 333 * Show area name labels (default: false). 334 * <BR /> 335 * <BR /><B>OPTIONAL</B> 336 */ 337 public final Boolean showAreaNames; 338 339 /** 340 * Show line name labels (default: false). 341 * <BR /> 342 * <BR /><B>OPTIONAL</B> 343 */ 344 public final Boolean showLineNames; 345 346 /** 347 * Show track size labels (default: false). 348 * <BR /> 349 * <BR /><B>OPTIONAL</B> 350 */ 351 public final Boolean showTrackSizes; 352 353 /** 354 * The grid container border highlight color (default: transparent). 355 * <BR /> 356 * <BR /><B>OPTIONAL</B> 357 */ 358 public final DOM.RGBA gridBorderColor; 359 360 /** 361 * The cell border color (default: transparent). Deprecated, please use rowLineColor and columnLineColor instead. 362 * <BR /> 363 * <BR /><B>OPTIONAL</B> 364 * <BR /><B>DEPRECATED</B> 365 */ 366 public final DOM.RGBA cellBorderColor; 367 368 /** 369 * The row line color (default: transparent). 370 * <BR /> 371 * <BR /><B>OPTIONAL</B> 372 */ 373 public final DOM.RGBA rowLineColor; 374 375 /** 376 * The column line color (default: transparent). 377 * <BR /> 378 * <BR /><B>OPTIONAL</B> 379 */ 380 public final DOM.RGBA columnLineColor; 381 382 /** 383 * Whether the grid border is dashed (default: false). 384 * <BR /> 385 * <BR /><B>OPTIONAL</B> 386 */ 387 public final Boolean gridBorderDash; 388 389 /** 390 * Whether the cell border is dashed (default: false). Deprecated, please us rowLineDash and columnLineDash instead. 391 * <BR /> 392 * <BR /><B>OPTIONAL</B> 393 * <BR /><B>DEPRECATED</B> 394 */ 395 public final Boolean cellBorderDash; 396 397 /** 398 * Whether row lines are dashed (default: false). 399 * <BR /> 400 * <BR /><B>OPTIONAL</B> 401 */ 402 public final Boolean rowLineDash; 403 404 /** 405 * Whether column lines are dashed (default: false). 406 * <BR /> 407 * <BR /><B>OPTIONAL</B> 408 */ 409 public final Boolean columnLineDash; 410 411 /** 412 * The row gap highlight fill color (default: transparent). 413 * <BR /> 414 * <BR /><B>OPTIONAL</B> 415 */ 416 public final DOM.RGBA rowGapColor; 417 418 /** 419 * The row gap hatching fill color (default: transparent). 420 * <BR /> 421 * <BR /><B>OPTIONAL</B> 422 */ 423 public final DOM.RGBA rowHatchColor; 424 425 /** 426 * The column gap highlight fill color (default: transparent). 427 * <BR /> 428 * <BR /><B>OPTIONAL</B> 429 */ 430 public final DOM.RGBA columnGapColor; 431 432 /** 433 * The column gap hatching fill color (default: transparent). 434 * <BR /> 435 * <BR /><B>OPTIONAL</B> 436 */ 437 public final DOM.RGBA columnHatchColor; 438 439 /** 440 * The named grid areas border color (Default: transparent). 441 * <BR /> 442 * <BR /><B>OPTIONAL</B> 443 */ 444 public final DOM.RGBA areaBorderColor; 445 446 /** 447 * The grid container background color (Default: transparent). 448 * <BR /> 449 * <BR /><B>OPTIONAL</B> 450 */ 451 public final DOM.RGBA gridBackgroundColor; 452 453 /** 454 * Constructor 455 * 456 * @param showGridExtensionLines Whether the extension lines from grid cells to the rulers should be shown (default: false). 457 * <BR /><B>OPTIONAL</B> 458 * 459 * @param showPositiveLineNumbers Show Positive line number labels (default: false). 460 * <BR /><B>OPTIONAL</B> 461 * 462 * @param showNegativeLineNumbers Show Negative line number labels (default: false). 463 * <BR /><B>OPTIONAL</B> 464 * 465 * @param showAreaNames Show area name labels (default: false). 466 * <BR /><B>OPTIONAL</B> 467 * 468 * @param showLineNames Show line name labels (default: false). 469 * <BR /><B>OPTIONAL</B> 470 * 471 * @param showTrackSizes Show track size labels (default: false). 472 * <BR /><B>OPTIONAL</B> 473 * 474 * @param gridBorderColor The grid container border highlight color (default: transparent). 475 * <BR /><B>OPTIONAL</B> 476 * 477 * @param cellBorderColor The cell border color (default: transparent). Deprecated, please use rowLineColor and columnLineColor instead. 478 * <BR /><B>OPTIONAL</B> 479 * <BR /><B>DEPRECATED</B> 480 * 481 * @param rowLineColor The row line color (default: transparent). 482 * <BR /><B>OPTIONAL</B> 483 * 484 * @param columnLineColor The column line color (default: transparent). 485 * <BR /><B>OPTIONAL</B> 486 * 487 * @param gridBorderDash Whether the grid border is dashed (default: false). 488 * <BR /><B>OPTIONAL</B> 489 * 490 * @param cellBorderDash Whether the cell border is dashed (default: false). Deprecated, please us rowLineDash and columnLineDash instead. 491 * <BR /><B>OPTIONAL</B> 492 * <BR /><B>DEPRECATED</B> 493 * 494 * @param rowLineDash Whether row lines are dashed (default: false). 495 * <BR /><B>OPTIONAL</B> 496 * 497 * @param columnLineDash Whether column lines are dashed (default: false). 498 * <BR /><B>OPTIONAL</B> 499 * 500 * @param rowGapColor The row gap highlight fill color (default: transparent). 501 * <BR /><B>OPTIONAL</B> 502 * 503 * @param rowHatchColor The row gap hatching fill color (default: transparent). 504 * <BR /><B>OPTIONAL</B> 505 * 506 * @param columnGapColor The column gap highlight fill color (default: transparent). 507 * <BR /><B>OPTIONAL</B> 508 * 509 * @param columnHatchColor The column gap hatching fill color (default: transparent). 510 * <BR /><B>OPTIONAL</B> 511 * 512 * @param areaBorderColor The named grid areas border color (Default: transparent). 513 * <BR /><B>OPTIONAL</B> 514 * 515 * @param gridBackgroundColor The grid container background color (Default: transparent). 516 * <BR /><B>OPTIONAL</B> 517 */ 518 public GridHighlightConfig( 519 Boolean showGridExtensionLines, Boolean showPositiveLineNumbers, 520 Boolean showNegativeLineNumbers, Boolean showAreaNames, Boolean showLineNames, 521 Boolean showTrackSizes, DOM.RGBA gridBorderColor, DOM.RGBA cellBorderColor, 522 DOM.RGBA rowLineColor, DOM.RGBA columnLineColor, Boolean gridBorderDash, 523 Boolean cellBorderDash, Boolean rowLineDash, Boolean columnLineDash, 524 DOM.RGBA rowGapColor, DOM.RGBA rowHatchColor, DOM.RGBA columnGapColor, 525 DOM.RGBA columnHatchColor, DOM.RGBA areaBorderColor, DOM.RGBA gridBackgroundColor 526 ) 527 { 528 this.showGridExtensionLines = showGridExtensionLines; 529 this.showPositiveLineNumbers = showPositiveLineNumbers; 530 this.showNegativeLineNumbers = showNegativeLineNumbers; 531 this.showAreaNames = showAreaNames; 532 this.showLineNames = showLineNames; 533 this.showTrackSizes = showTrackSizes; 534 this.gridBorderColor = gridBorderColor; 535 this.cellBorderColor = cellBorderColor; 536 this.rowLineColor = rowLineColor; 537 this.columnLineColor = columnLineColor; 538 this.gridBorderDash = gridBorderDash; 539 this.cellBorderDash = cellBorderDash; 540 this.rowLineDash = rowLineDash; 541 this.columnLineDash = columnLineDash; 542 this.rowGapColor = rowGapColor; 543 this.rowHatchColor = rowHatchColor; 544 this.columnGapColor = columnGapColor; 545 this.columnHatchColor = columnHatchColor; 546 this.areaBorderColor = areaBorderColor; 547 this.gridBackgroundColor = gridBackgroundColor; 548 } 549 550 /** 551 * JSON Object Constructor 552 * @param jo A Json-Object having data about an instance of {@code 'GridHighlightConfig'}. 553 */ 554 public GridHighlightConfig (JsonObject jo) 555 { 556 this.showGridExtensionLines = ReadBoxedJSON.getBoolean(jo, "showGridExtensionLines", true); 557 this.showPositiveLineNumbers = ReadBoxedJSON.getBoolean(jo, "showPositiveLineNumbers", true); 558 this.showNegativeLineNumbers = ReadBoxedJSON.getBoolean(jo, "showNegativeLineNumbers", true); 559 this.showAreaNames = ReadBoxedJSON.getBoolean(jo, "showAreaNames", true); 560 this.showLineNames = ReadBoxedJSON.getBoolean(jo, "showLineNames", true); 561 this.showTrackSizes = ReadBoxedJSON.getBoolean(jo, "showTrackSizes", true); 562 this.gridBorderColor = ReadJSON.getObject(jo, "gridBorderColor", DOM.RGBA.class, true, false); 563 this.cellBorderColor = ReadJSON.getObject(jo, "cellBorderColor", DOM.RGBA.class, true, false); 564 this.rowLineColor = ReadJSON.getObject(jo, "rowLineColor", DOM.RGBA.class, true, false); 565 this.columnLineColor = ReadJSON.getObject(jo, "columnLineColor", DOM.RGBA.class, true, false); 566 this.gridBorderDash = ReadBoxedJSON.getBoolean(jo, "gridBorderDash", true); 567 this.cellBorderDash = ReadBoxedJSON.getBoolean(jo, "cellBorderDash", true); 568 this.rowLineDash = ReadBoxedJSON.getBoolean(jo, "rowLineDash", true); 569 this.columnLineDash = ReadBoxedJSON.getBoolean(jo, "columnLineDash", true); 570 this.rowGapColor = ReadJSON.getObject(jo, "rowGapColor", DOM.RGBA.class, true, false); 571 this.rowHatchColor = ReadJSON.getObject(jo, "rowHatchColor", DOM.RGBA.class, true, false); 572 this.columnGapColor = ReadJSON.getObject(jo, "columnGapColor", DOM.RGBA.class, true, false); 573 this.columnHatchColor = ReadJSON.getObject(jo, "columnHatchColor", DOM.RGBA.class, true, false); 574 this.areaBorderColor = ReadJSON.getObject(jo, "areaBorderColor", DOM.RGBA.class, true, false); 575 this.gridBackgroundColor = ReadJSON.getObject(jo, "gridBackgroundColor", DOM.RGBA.class, true, false); 576 } 577 578 579 /** Checks whether {@code 'this'} equals an input Java-{@code Object} */ 580 public boolean equals(Object other) 581 { 582 if (this == other) return true; 583 if (other == null) return false; 584 if (other.getClass() != this.getClass()) return false; 585 586 GridHighlightConfig o = (GridHighlightConfig) other; 587 588 return 589 Objects.equals(this.showGridExtensionLines, o.showGridExtensionLines) 590 && Objects.equals(this.showPositiveLineNumbers, o.showPositiveLineNumbers) 591 && Objects.equals(this.showNegativeLineNumbers, o.showNegativeLineNumbers) 592 && Objects.equals(this.showAreaNames, o.showAreaNames) 593 && Objects.equals(this.showLineNames, o.showLineNames) 594 && Objects.equals(this.showTrackSizes, o.showTrackSizes) 595 && Objects.equals(this.gridBorderColor, o.gridBorderColor) 596 && Objects.equals(this.cellBorderColor, o.cellBorderColor) 597 && Objects.equals(this.rowLineColor, o.rowLineColor) 598 && Objects.equals(this.columnLineColor, o.columnLineColor) 599 && Objects.equals(this.gridBorderDash, o.gridBorderDash) 600 && Objects.equals(this.cellBorderDash, o.cellBorderDash) 601 && Objects.equals(this.rowLineDash, o.rowLineDash) 602 && Objects.equals(this.columnLineDash, o.columnLineDash) 603 && Objects.equals(this.rowGapColor, o.rowGapColor) 604 && Objects.equals(this.rowHatchColor, o.rowHatchColor) 605 && Objects.equals(this.columnGapColor, o.columnGapColor) 606 && Objects.equals(this.columnHatchColor, o.columnHatchColor) 607 && Objects.equals(this.areaBorderColor, o.areaBorderColor) 608 && Objects.equals(this.gridBackgroundColor, o.gridBackgroundColor); 609 } 610 611 /** Generates a Hash-Code for {@code 'this'} instance */ 612 public int hashCode() 613 { 614 return 615 Objects.hashCode(this.showGridExtensionLines) 616 + Objects.hashCode(this.showPositiveLineNumbers) 617 + Objects.hashCode(this.showNegativeLineNumbers) 618 + Objects.hashCode(this.showAreaNames) 619 + Objects.hashCode(this.showLineNames) 620 + Objects.hashCode(this.showTrackSizes) 621 + this.gridBorderColor.hashCode() 622 + this.cellBorderColor.hashCode() 623 + this.rowLineColor.hashCode() 624 + this.columnLineColor.hashCode() 625 + Objects.hashCode(this.gridBorderDash) 626 + Objects.hashCode(this.cellBorderDash) 627 + Objects.hashCode(this.rowLineDash) 628 + Objects.hashCode(this.columnLineDash) 629 + this.rowGapColor.hashCode() 630 + this.rowHatchColor.hashCode() 631 + this.columnGapColor.hashCode() 632 + this.columnHatchColor.hashCode() 633 + this.areaBorderColor.hashCode() 634 + this.gridBackgroundColor.hashCode(); 635 } 636 } 637 638 /** Configuration data for the highlighting of Flex container elements. */ 639 public static class FlexContainerHighlightConfig 640 extends BaseType 641 implements java.io.Serializable 642 { 643 /** For Object Serialization. java.io.Serializable */ 644 protected static final long serialVersionUID = 1; 645 646 public boolean[] optionals() 647 { return new boolean[] { true, true, true, true, true, true, true, true, }; } 648 649 /** 650 * The style of the container border 651 * <BR /> 652 * <BR /><B>OPTIONAL</B> 653 */ 654 public final Overlay.LineStyle containerBorder; 655 656 /** 657 * The style of the separator between lines 658 * <BR /> 659 * <BR /><B>OPTIONAL</B> 660 */ 661 public final Overlay.LineStyle lineSeparator; 662 663 /** 664 * The style of the separator between items 665 * <BR /> 666 * <BR /><B>OPTIONAL</B> 667 */ 668 public final Overlay.LineStyle itemSeparator; 669 670 /** 671 * Style of content-distribution space on the main axis (justify-content). 672 * <BR /> 673 * <BR /><B>OPTIONAL</B> 674 */ 675 public final Overlay.BoxStyle mainDistributedSpace; 676 677 /** 678 * Style of content-distribution space on the cross axis (align-content). 679 * <BR /> 680 * <BR /><B>OPTIONAL</B> 681 */ 682 public final Overlay.BoxStyle crossDistributedSpace; 683 684 /** 685 * Style of empty space caused by row gaps (gap/row-gap). 686 * <BR /> 687 * <BR /><B>OPTIONAL</B> 688 */ 689 public final Overlay.BoxStyle rowGapSpace; 690 691 /** 692 * Style of empty space caused by columns gaps (gap/column-gap). 693 * <BR /> 694 * <BR /><B>OPTIONAL</B> 695 */ 696 public final Overlay.BoxStyle columnGapSpace; 697 698 /** 699 * Style of the self-alignment line (align-items). 700 * <BR /> 701 * <BR /><B>OPTIONAL</B> 702 */ 703 public final Overlay.LineStyle crossAlignment; 704 705 /** 706 * Constructor 707 * 708 * @param containerBorder The style of the container border 709 * <BR /><B>OPTIONAL</B> 710 * 711 * @param lineSeparator The style of the separator between lines 712 * <BR /><B>OPTIONAL</B> 713 * 714 * @param itemSeparator The style of the separator between items 715 * <BR /><B>OPTIONAL</B> 716 * 717 * @param mainDistributedSpace Style of content-distribution space on the main axis (justify-content). 718 * <BR /><B>OPTIONAL</B> 719 * 720 * @param crossDistributedSpace Style of content-distribution space on the cross axis (align-content). 721 * <BR /><B>OPTIONAL</B> 722 * 723 * @param rowGapSpace Style of empty space caused by row gaps (gap/row-gap). 724 * <BR /><B>OPTIONAL</B> 725 * 726 * @param columnGapSpace Style of empty space caused by columns gaps (gap/column-gap). 727 * <BR /><B>OPTIONAL</B> 728 * 729 * @param crossAlignment Style of the self-alignment line (align-items). 730 * <BR /><B>OPTIONAL</B> 731 */ 732 public FlexContainerHighlightConfig( 733 Overlay.LineStyle containerBorder, Overlay.LineStyle lineSeparator, 734 Overlay.LineStyle itemSeparator, Overlay.BoxStyle mainDistributedSpace, 735 Overlay.BoxStyle crossDistributedSpace, Overlay.BoxStyle rowGapSpace, 736 Overlay.BoxStyle columnGapSpace, Overlay.LineStyle crossAlignment 737 ) 738 { 739 this.containerBorder = containerBorder; 740 this.lineSeparator = lineSeparator; 741 this.itemSeparator = itemSeparator; 742 this.mainDistributedSpace = mainDistributedSpace; 743 this.crossDistributedSpace = crossDistributedSpace; 744 this.rowGapSpace = rowGapSpace; 745 this.columnGapSpace = columnGapSpace; 746 this.crossAlignment = crossAlignment; 747 } 748 749 /** 750 * JSON Object Constructor 751 * @param jo A Json-Object having data about an instance of {@code 'FlexContainerHighlightConfig'}. 752 */ 753 public FlexContainerHighlightConfig (JsonObject jo) 754 { 755 this.containerBorder = ReadJSON.getObject(jo, "containerBorder", Overlay.LineStyle.class, true, false); 756 this.lineSeparator = ReadJSON.getObject(jo, "lineSeparator", Overlay.LineStyle.class, true, false); 757 this.itemSeparator = ReadJSON.getObject(jo, "itemSeparator", Overlay.LineStyle.class, true, false); 758 this.mainDistributedSpace = ReadJSON.getObject(jo, "mainDistributedSpace", Overlay.BoxStyle.class, true, false); 759 this.crossDistributedSpace = ReadJSON.getObject(jo, "crossDistributedSpace", Overlay.BoxStyle.class, true, false); 760 this.rowGapSpace = ReadJSON.getObject(jo, "rowGapSpace", Overlay.BoxStyle.class, true, false); 761 this.columnGapSpace = ReadJSON.getObject(jo, "columnGapSpace", Overlay.BoxStyle.class, true, false); 762 this.crossAlignment = ReadJSON.getObject(jo, "crossAlignment", Overlay.LineStyle.class, true, false); 763 } 764 765 766 /** Checks whether {@code 'this'} equals an input Java-{@code Object} */ 767 public boolean equals(Object other) 768 { 769 if (this == other) return true; 770 if (other == null) return false; 771 if (other.getClass() != this.getClass()) return false; 772 773 FlexContainerHighlightConfig o = (FlexContainerHighlightConfig) other; 774 775 return 776 Objects.equals(this.containerBorder, o.containerBorder) 777 && Objects.equals(this.lineSeparator, o.lineSeparator) 778 && Objects.equals(this.itemSeparator, o.itemSeparator) 779 && Objects.equals(this.mainDistributedSpace, o.mainDistributedSpace) 780 && Objects.equals(this.crossDistributedSpace, o.crossDistributedSpace) 781 && Objects.equals(this.rowGapSpace, o.rowGapSpace) 782 && Objects.equals(this.columnGapSpace, o.columnGapSpace) 783 && Objects.equals(this.crossAlignment, o.crossAlignment); 784 } 785 786 /** Generates a Hash-Code for {@code 'this'} instance */ 787 public int hashCode() 788 { 789 return 790 this.containerBorder.hashCode() 791 + this.lineSeparator.hashCode() 792 + this.itemSeparator.hashCode() 793 + this.mainDistributedSpace.hashCode() 794 + this.crossDistributedSpace.hashCode() 795 + this.rowGapSpace.hashCode() 796 + this.columnGapSpace.hashCode() 797 + this.crossAlignment.hashCode(); 798 } 799 } 800 801 /** Configuration data for the highlighting of Flex item elements. */ 802 public static class FlexItemHighlightConfig 803 extends BaseType 804 implements java.io.Serializable 805 { 806 /** For Object Serialization. java.io.Serializable */ 807 protected static final long serialVersionUID = 1; 808 809 public boolean[] optionals() 810 { return new boolean[] { true, true, true, }; } 811 812 /** 813 * Style of the box representing the item's base size 814 * <BR /> 815 * <BR /><B>OPTIONAL</B> 816 */ 817 public final Overlay.BoxStyle baseSizeBox; 818 819 /** 820 * Style of the border around the box representing the item's base size 821 * <BR /> 822 * <BR /><B>OPTIONAL</B> 823 */ 824 public final Overlay.LineStyle baseSizeBorder; 825 826 /** 827 * Style of the arrow representing if the item grew or shrank 828 * <BR /> 829 * <BR /><B>OPTIONAL</B> 830 */ 831 public final Overlay.LineStyle flexibilityArrow; 832 833 /** 834 * Constructor 835 * 836 * @param baseSizeBox Style of the box representing the item's base size 837 * <BR /><B>OPTIONAL</B> 838 * 839 * @param baseSizeBorder Style of the border around the box representing the item's base size 840 * <BR /><B>OPTIONAL</B> 841 * 842 * @param flexibilityArrow Style of the arrow representing if the item grew or shrank 843 * <BR /><B>OPTIONAL</B> 844 */ 845 public FlexItemHighlightConfig( 846 Overlay.BoxStyle baseSizeBox, Overlay.LineStyle baseSizeBorder, 847 Overlay.LineStyle flexibilityArrow 848 ) 849 { 850 this.baseSizeBox = baseSizeBox; 851 this.baseSizeBorder = baseSizeBorder; 852 this.flexibilityArrow = flexibilityArrow; 853 } 854 855 /** 856 * JSON Object Constructor 857 * @param jo A Json-Object having data about an instance of {@code 'FlexItemHighlightConfig'}. 858 */ 859 public FlexItemHighlightConfig (JsonObject jo) 860 { 861 this.baseSizeBox = ReadJSON.getObject(jo, "baseSizeBox", Overlay.BoxStyle.class, true, false); 862 this.baseSizeBorder = ReadJSON.getObject(jo, "baseSizeBorder", Overlay.LineStyle.class, true, false); 863 this.flexibilityArrow = ReadJSON.getObject(jo, "flexibilityArrow", Overlay.LineStyle.class, true, false); 864 } 865 866 867 /** Checks whether {@code 'this'} equals an input Java-{@code Object} */ 868 public boolean equals(Object other) 869 { 870 if (this == other) return true; 871 if (other == null) return false; 872 if (other.getClass() != this.getClass()) return false; 873 874 FlexItemHighlightConfig o = (FlexItemHighlightConfig) other; 875 876 return 877 Objects.equals(this.baseSizeBox, o.baseSizeBox) 878 && Objects.equals(this.baseSizeBorder, o.baseSizeBorder) 879 && Objects.equals(this.flexibilityArrow, o.flexibilityArrow); 880 } 881 882 /** Generates a Hash-Code for {@code 'this'} instance */ 883 public int hashCode() 884 { 885 return 886 this.baseSizeBox.hashCode() 887 + this.baseSizeBorder.hashCode() 888 + this.flexibilityArrow.hashCode(); 889 } 890 } 891 892 /** Style information for drawing a line. */ 893 public static class LineStyle 894 extends BaseType 895 implements java.io.Serializable 896 { 897 /** For Object Serialization. java.io.Serializable */ 898 protected static final long serialVersionUID = 1; 899 900 public boolean[] optionals() 901 { return new boolean[] { true, true, }; } 902 903 /** 904 * The color of the line (default: transparent) 905 * <BR /> 906 * <BR /><B>OPTIONAL</B> 907 */ 908 public final DOM.RGBA color; 909 910 /** 911 * The line pattern (default: solid) 912 * <BR /> 913 * <BR /><B>OPTIONAL</B> 914 */ 915 public final String pattern; 916 917 /** 918 * Constructor 919 * 920 * @param color The color of the line (default: transparent) 921 * <BR /><B>OPTIONAL</B> 922 * 923 * @param pattern The line pattern (default: solid) 924 * <BR />Acceptable Values: ["dashed", "dotted"] 925 * <BR /><B>OPTIONAL</B> 926 */ 927 public LineStyle(DOM.RGBA color, String pattern) 928 { 929 // Exception-Check(s) to ensure that if any parameters which must adhere to a 930 // provided List of Enumerated Values, fails, then IllegalArgumentException shall throw. 931 932 THROWS.checkIAE( 933 "pattern", pattern, 934 "dashed", "dotted" 935 ); 936 937 this.color = color; 938 this.pattern = pattern; 939 } 940 941 /** 942 * JSON Object Constructor 943 * @param jo A Json-Object having data about an instance of {@code 'LineStyle'}. 944 */ 945 public LineStyle (JsonObject jo) 946 { 947 this.color = ReadJSON.getObject(jo, "color", DOM.RGBA.class, true, false); 948 this.pattern = ReadJSON.getString(jo, "pattern", true, false); 949 } 950 951 952 /** Checks whether {@code 'this'} equals an input Java-{@code Object} */ 953 public boolean equals(Object other) 954 { 955 if (this == other) return true; 956 if (other == null) return false; 957 if (other.getClass() != this.getClass()) return false; 958 959 LineStyle o = (LineStyle) other; 960 961 return 962 Objects.equals(this.color, o.color) 963 && Objects.equals(this.pattern, o.pattern); 964 } 965 966 /** Generates a Hash-Code for {@code 'this'} instance */ 967 public int hashCode() 968 { 969 return 970 this.color.hashCode() 971 + Objects.hashCode(this.pattern); 972 } 973 } 974 975 /** Style information for drawing a box. */ 976 public static class BoxStyle 977 extends BaseType 978 implements java.io.Serializable 979 { 980 /** For Object Serialization. java.io.Serializable */ 981 protected static final long serialVersionUID = 1; 982 983 public boolean[] optionals() 984 { return new boolean[] { true, true, }; } 985 986 /** 987 * The background color for the box (default: transparent) 988 * <BR /> 989 * <BR /><B>OPTIONAL</B> 990 */ 991 public final DOM.RGBA fillColor; 992 993 /** 994 * The hatching color for the box (default: transparent) 995 * <BR /> 996 * <BR /><B>OPTIONAL</B> 997 */ 998 public final DOM.RGBA hatchColor; 999 1000 /** 1001 * Constructor 1002 * 1003 * @param fillColor The background color for the box (default: transparent) 1004 * <BR /><B>OPTIONAL</B> 1005 * 1006 * @param hatchColor The hatching color for the box (default: transparent) 1007 * <BR /><B>OPTIONAL</B> 1008 */ 1009 public BoxStyle(DOM.RGBA fillColor, DOM.RGBA hatchColor) 1010 { 1011 this.fillColor = fillColor; 1012 this.hatchColor = hatchColor; 1013 } 1014 1015 /** 1016 * JSON Object Constructor 1017 * @param jo A Json-Object having data about an instance of {@code 'BoxStyle'}. 1018 */ 1019 public BoxStyle (JsonObject jo) 1020 { 1021 this.fillColor = ReadJSON.getObject(jo, "fillColor", DOM.RGBA.class, true, false); 1022 this.hatchColor = ReadJSON.getObject(jo, "hatchColor", DOM.RGBA.class, true, false); 1023 } 1024 1025 1026 /** Checks whether {@code 'this'} equals an input Java-{@code Object} */ 1027 public boolean equals(Object other) 1028 { 1029 if (this == other) return true; 1030 if (other == null) return false; 1031 if (other.getClass() != this.getClass()) return false; 1032 1033 BoxStyle o = (BoxStyle) other; 1034 1035 return 1036 Objects.equals(this.fillColor, o.fillColor) 1037 && Objects.equals(this.hatchColor, o.hatchColor); 1038 } 1039 1040 /** Generates a Hash-Code for {@code 'this'} instance */ 1041 public int hashCode() 1042 { 1043 return 1044 this.fillColor.hashCode() 1045 + this.hatchColor.hashCode(); 1046 } 1047 } 1048 1049 /** Configuration data for the highlighting of page elements. */ 1050 public static class HighlightConfig 1051 extends BaseType 1052 implements java.io.Serializable 1053 { 1054 /** For Object Serialization. java.io.Serializable */ 1055 protected static final long serialVersionUID = 1; 1056 1057 public boolean[] optionals() 1058 { return new boolean[] { true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, }; } 1059 1060 /** 1061 * Whether the node info tooltip should be shown (default: false). 1062 * <BR /> 1063 * <BR /><B>OPTIONAL</B> 1064 */ 1065 public final Boolean showInfo; 1066 1067 /** 1068 * Whether the node styles in the tooltip (default: false). 1069 * <BR /> 1070 * <BR /><B>OPTIONAL</B> 1071 */ 1072 public final Boolean showStyles; 1073 1074 /** 1075 * Whether the rulers should be shown (default: false). 1076 * <BR /> 1077 * <BR /><B>OPTIONAL</B> 1078 */ 1079 public final Boolean showRulers; 1080 1081 /** 1082 * Whether the a11y info should be shown (default: true). 1083 * <BR /> 1084 * <BR /><B>OPTIONAL</B> 1085 */ 1086 public final Boolean showAccessibilityInfo; 1087 1088 /** 1089 * Whether the extension lines from node to the rulers should be shown (default: false). 1090 * <BR /> 1091 * <BR /><B>OPTIONAL</B> 1092 */ 1093 public final Boolean showExtensionLines; 1094 1095 /** 1096 * The content box highlight fill color (default: transparent). 1097 * <BR /> 1098 * <BR /><B>OPTIONAL</B> 1099 */ 1100 public final DOM.RGBA contentColor; 1101 1102 /** 1103 * The padding highlight fill color (default: transparent). 1104 * <BR /> 1105 * <BR /><B>OPTIONAL</B> 1106 */ 1107 public final DOM.RGBA paddingColor; 1108 1109 /** 1110 * The border highlight fill color (default: transparent). 1111 * <BR /> 1112 * <BR /><B>OPTIONAL</B> 1113 */ 1114 public final DOM.RGBA borderColor; 1115 1116 /** 1117 * The margin highlight fill color (default: transparent). 1118 * <BR /> 1119 * <BR /><B>OPTIONAL</B> 1120 */ 1121 public final DOM.RGBA marginColor; 1122 1123 /** 1124 * The event target element highlight fill color (default: transparent). 1125 * <BR /> 1126 * <BR /><B>OPTIONAL</B> 1127 */ 1128 public final DOM.RGBA eventTargetColor; 1129 1130 /** 1131 * The shape outside fill color (default: transparent). 1132 * <BR /> 1133 * <BR /><B>OPTIONAL</B> 1134 */ 1135 public final DOM.RGBA shapeColor; 1136 1137 /** 1138 * The shape margin fill color (default: transparent). 1139 * <BR /> 1140 * <BR /><B>OPTIONAL</B> 1141 */ 1142 public final DOM.RGBA shapeMarginColor; 1143 1144 /** 1145 * The grid layout color (default: transparent). 1146 * <BR /> 1147 * <BR /><B>OPTIONAL</B> 1148 */ 1149 public final DOM.RGBA cssGridColor; 1150 1151 /** 1152 * The color format used to format color styles (default: hex). 1153 * <BR /> 1154 * <BR /><B>OPTIONAL</B> 1155 */ 1156 public final String colorFormat; 1157 1158 /** 1159 * The grid layout highlight configuration (default: all transparent). 1160 * <BR /> 1161 * <BR /><B>OPTIONAL</B> 1162 */ 1163 public final Overlay.GridHighlightConfig gridHighlightConfig; 1164 1165 /** 1166 * The flex container highlight configuration (default: all transparent). 1167 * <BR /> 1168 * <BR /><B>OPTIONAL</B> 1169 */ 1170 public final Overlay.FlexContainerHighlightConfig flexContainerHighlightConfig; 1171 1172 /** 1173 * The flex item highlight configuration (default: all transparent). 1174 * <BR /> 1175 * <BR /><B>OPTIONAL</B> 1176 */ 1177 public final Overlay.FlexItemHighlightConfig flexItemHighlightConfig; 1178 1179 /** 1180 * The contrast algorithm to use for the contrast ratio (default: aa). 1181 * <BR /> 1182 * <BR /><B>OPTIONAL</B> 1183 */ 1184 public final String contrastAlgorithm; 1185 1186 /** 1187 * The container query container highlight configuration (default: all transparent). 1188 * <BR /> 1189 * <BR /><B>OPTIONAL</B> 1190 */ 1191 public final Overlay.ContainerQueryContainerHighlightConfig containerQueryContainerHighlightConfig; 1192 1193 /** 1194 * Constructor 1195 * 1196 * @param showInfo Whether the node info tooltip should be shown (default: false). 1197 * <BR /><B>OPTIONAL</B> 1198 * 1199 * @param showStyles Whether the node styles in the tooltip (default: false). 1200 * <BR /><B>OPTIONAL</B> 1201 * 1202 * @param showRulers Whether the rulers should be shown (default: false). 1203 * <BR /><B>OPTIONAL</B> 1204 * 1205 * @param showAccessibilityInfo Whether the a11y info should be shown (default: true). 1206 * <BR /><B>OPTIONAL</B> 1207 * 1208 * @param showExtensionLines Whether the extension lines from node to the rulers should be shown (default: false). 1209 * <BR /><B>OPTIONAL</B> 1210 * 1211 * @param contentColor The content box highlight fill color (default: transparent). 1212 * <BR /><B>OPTIONAL</B> 1213 * 1214 * @param paddingColor The padding highlight fill color (default: transparent). 1215 * <BR /><B>OPTIONAL</B> 1216 * 1217 * @param borderColor The border highlight fill color (default: transparent). 1218 * <BR /><B>OPTIONAL</B> 1219 * 1220 * @param marginColor The margin highlight fill color (default: transparent). 1221 * <BR /><B>OPTIONAL</B> 1222 * 1223 * @param eventTargetColor The event target element highlight fill color (default: transparent). 1224 * <BR /><B>OPTIONAL</B> 1225 * 1226 * @param shapeColor The shape outside fill color (default: transparent). 1227 * <BR /><B>OPTIONAL</B> 1228 * 1229 * @param shapeMarginColor The shape margin fill color (default: transparent). 1230 * <BR /><B>OPTIONAL</B> 1231 * 1232 * @param cssGridColor The grid layout color (default: transparent). 1233 * <BR /><B>OPTIONAL</B> 1234 * 1235 * @param colorFormat The color format used to format color styles (default: hex). 1236 * <BR /><B>OPTIONAL</B> 1237 * 1238 * @param gridHighlightConfig The grid layout highlight configuration (default: all transparent). 1239 * <BR /><B>OPTIONAL</B> 1240 * 1241 * @param flexContainerHighlightConfig The flex container highlight configuration (default: all transparent). 1242 * <BR /><B>OPTIONAL</B> 1243 * 1244 * @param flexItemHighlightConfig The flex item highlight configuration (default: all transparent). 1245 * <BR /><B>OPTIONAL</B> 1246 * 1247 * @param contrastAlgorithm The contrast algorithm to use for the contrast ratio (default: aa). 1248 * <BR /><B>OPTIONAL</B> 1249 * 1250 * @param containerQueryContainerHighlightConfig The container query container highlight configuration (default: all transparent). 1251 * <BR /><B>OPTIONAL</B> 1252 */ 1253 public HighlightConfig( 1254 Boolean showInfo, Boolean showStyles, Boolean showRulers, 1255 Boolean showAccessibilityInfo, Boolean showExtensionLines, DOM.RGBA contentColor, 1256 DOM.RGBA paddingColor, DOM.RGBA borderColor, DOM.RGBA marginColor, 1257 DOM.RGBA eventTargetColor, DOM.RGBA shapeColor, DOM.RGBA shapeMarginColor, 1258 DOM.RGBA cssGridColor, String colorFormat, 1259 Overlay.GridHighlightConfig gridHighlightConfig, 1260 Overlay.FlexContainerHighlightConfig flexContainerHighlightConfig, 1261 Overlay.FlexItemHighlightConfig flexItemHighlightConfig, String contrastAlgorithm, 1262 Overlay.ContainerQueryContainerHighlightConfig containerQueryContainerHighlightConfig 1263 ) 1264 { 1265 // Exception-Check(s) to ensure that if any parameters which must adhere to a 1266 // provided List of Enumerated Values, fails, then IllegalArgumentException shall throw. 1267 1268 THROWS.checkIAE("colorFormat", colorFormat, "Overlay.ColorFormat", Overlay.ColorFormat); 1269 THROWS.checkIAE("contrastAlgorithm", contrastAlgorithm, "Overlay.ContrastAlgorithm", Overlay.ContrastAlgorithm); 1270 1271 this.showInfo = showInfo; 1272 this.showStyles = showStyles; 1273 this.showRulers = showRulers; 1274 this.showAccessibilityInfo = showAccessibilityInfo; 1275 this.showExtensionLines = showExtensionLines; 1276 this.contentColor = contentColor; 1277 this.paddingColor = paddingColor; 1278 this.borderColor = borderColor; 1279 this.marginColor = marginColor; 1280 this.eventTargetColor = eventTargetColor; 1281 this.shapeColor = shapeColor; 1282 this.shapeMarginColor = shapeMarginColor; 1283 this.cssGridColor = cssGridColor; 1284 this.colorFormat = colorFormat; 1285 this.gridHighlightConfig = gridHighlightConfig; 1286 this.flexContainerHighlightConfig = flexContainerHighlightConfig; 1287 this.flexItemHighlightConfig = flexItemHighlightConfig; 1288 this.contrastAlgorithm = contrastAlgorithm; 1289 this.containerQueryContainerHighlightConfig = containerQueryContainerHighlightConfig; 1290 } 1291 1292 /** 1293 * JSON Object Constructor 1294 * @param jo A Json-Object having data about an instance of {@code 'HighlightConfig'}. 1295 */ 1296 public HighlightConfig (JsonObject jo) 1297 { 1298 this.showInfo = ReadBoxedJSON.getBoolean(jo, "showInfo", true); 1299 this.showStyles = ReadBoxedJSON.getBoolean(jo, "showStyles", true); 1300 this.showRulers = ReadBoxedJSON.getBoolean(jo, "showRulers", true); 1301 this.showAccessibilityInfo = ReadBoxedJSON.getBoolean(jo, "showAccessibilityInfo", true); 1302 this.showExtensionLines = ReadBoxedJSON.getBoolean(jo, "showExtensionLines", true); 1303 this.contentColor = ReadJSON.getObject(jo, "contentColor", DOM.RGBA.class, true, false); 1304 this.paddingColor = ReadJSON.getObject(jo, "paddingColor", DOM.RGBA.class, true, false); 1305 this.borderColor = ReadJSON.getObject(jo, "borderColor", DOM.RGBA.class, true, false); 1306 this.marginColor = ReadJSON.getObject(jo, "marginColor", DOM.RGBA.class, true, false); 1307 this.eventTargetColor = ReadJSON.getObject(jo, "eventTargetColor", DOM.RGBA.class, true, false); 1308 this.shapeColor = ReadJSON.getObject(jo, "shapeColor", DOM.RGBA.class, true, false); 1309 this.shapeMarginColor = ReadJSON.getObject(jo, "shapeMarginColor", DOM.RGBA.class, true, false); 1310 this.cssGridColor = ReadJSON.getObject(jo, "cssGridColor", DOM.RGBA.class, true, false); 1311 this.colorFormat = ReadJSON.getString(jo, "colorFormat", true, false); 1312 this.gridHighlightConfig = ReadJSON.getObject(jo, "gridHighlightConfig", Overlay.GridHighlightConfig.class, true, false); 1313 this.flexContainerHighlightConfig = ReadJSON.getObject(jo, "flexContainerHighlightConfig", Overlay.FlexContainerHighlightConfig.class, true, false); 1314 this.flexItemHighlightConfig = ReadJSON.getObject(jo, "flexItemHighlightConfig", Overlay.FlexItemHighlightConfig.class, true, false); 1315 this.contrastAlgorithm = ReadJSON.getString(jo, "contrastAlgorithm", true, false); 1316 this.containerQueryContainerHighlightConfig = ReadJSON.getObject(jo, "containerQueryContainerHighlightConfig", Overlay.ContainerQueryContainerHighlightConfig.class, true, false); 1317 } 1318 1319 1320 /** Checks whether {@code 'this'} equals an input Java-{@code Object} */ 1321 public boolean equals(Object other) 1322 { 1323 if (this == other) return true; 1324 if (other == null) return false; 1325 if (other.getClass() != this.getClass()) return false; 1326 1327 HighlightConfig o = (HighlightConfig) other; 1328 1329 return 1330 Objects.equals(this.showInfo, o.showInfo) 1331 && Objects.equals(this.showStyles, o.showStyles) 1332 && Objects.equals(this.showRulers, o.showRulers) 1333 && Objects.equals(this.showAccessibilityInfo, o.showAccessibilityInfo) 1334 && Objects.equals(this.showExtensionLines, o.showExtensionLines) 1335 && Objects.equals(this.contentColor, o.contentColor) 1336 && Objects.equals(this.paddingColor, o.paddingColor) 1337 && Objects.equals(this.borderColor, o.borderColor) 1338 && Objects.equals(this.marginColor, o.marginColor) 1339 && Objects.equals(this.eventTargetColor, o.eventTargetColor) 1340 && Objects.equals(this.shapeColor, o.shapeColor) 1341 && Objects.equals(this.shapeMarginColor, o.shapeMarginColor) 1342 && Objects.equals(this.cssGridColor, o.cssGridColor) 1343 && Objects.equals(this.colorFormat, o.colorFormat) 1344 && Objects.equals(this.gridHighlightConfig, o.gridHighlightConfig) 1345 && Objects.equals(this.flexContainerHighlightConfig, o.flexContainerHighlightConfig) 1346 && Objects.equals(this.flexItemHighlightConfig, o.flexItemHighlightConfig) 1347 && Objects.equals(this.contrastAlgorithm, o.contrastAlgorithm) 1348 && Objects.equals(this.containerQueryContainerHighlightConfig, o.containerQueryContainerHighlightConfig); 1349 } 1350 1351 /** Generates a Hash-Code for {@code 'this'} instance */ 1352 public int hashCode() 1353 { 1354 return 1355 Objects.hashCode(this.showInfo) 1356 + Objects.hashCode(this.showStyles) 1357 + Objects.hashCode(this.showRulers) 1358 + Objects.hashCode(this.showAccessibilityInfo) 1359 + Objects.hashCode(this.showExtensionLines) 1360 + this.contentColor.hashCode() 1361 + this.paddingColor.hashCode() 1362 + this.borderColor.hashCode() 1363 + this.marginColor.hashCode() 1364 + this.eventTargetColor.hashCode() 1365 + this.shapeColor.hashCode() 1366 + this.shapeMarginColor.hashCode() 1367 + this.cssGridColor.hashCode() 1368 + Objects.hashCode(this.colorFormat) 1369 + this.gridHighlightConfig.hashCode() 1370 + this.flexContainerHighlightConfig.hashCode() 1371 + this.flexItemHighlightConfig.hashCode() 1372 + Objects.hashCode(this.contrastAlgorithm) 1373 + this.containerQueryContainerHighlightConfig.hashCode(); 1374 } 1375 } 1376 1377 /** Configurations for Persistent Grid Highlight */ 1378 public static class GridNodeHighlightConfig 1379 extends BaseType 1380 implements java.io.Serializable 1381 { 1382 /** For Object Serialization. java.io.Serializable */ 1383 protected static final long serialVersionUID = 1; 1384 1385 public boolean[] optionals() 1386 { return new boolean[] { false, false, }; } 1387 1388 /** A descriptor for the highlight appearance. */ 1389 public final Overlay.GridHighlightConfig gridHighlightConfig; 1390 1391 /** Identifier of the node to highlight. */ 1392 public final int nodeId; 1393 1394 /** 1395 * Constructor 1396 * 1397 * @param gridHighlightConfig A descriptor for the highlight appearance. 1398 * 1399 * @param nodeId Identifier of the node to highlight. 1400 */ 1401 public GridNodeHighlightConfig 1402 (Overlay.GridHighlightConfig gridHighlightConfig, int nodeId) 1403 { 1404 // Exception-Check(s) to ensure that if any parameters which are not declared as 1405 // 'Optional', but have a 'null' value anyway, that a NullPointerException shall throw. 1406 1407 if (gridHighlightConfig == null) THROWS.throwNPE("gridHighlightConfig"); 1408 1409 this.gridHighlightConfig = gridHighlightConfig; 1410 this.nodeId = nodeId; 1411 } 1412 1413 /** 1414 * JSON Object Constructor 1415 * @param jo A Json-Object having data about an instance of {@code 'GridNodeHighlightConfig'}. 1416 */ 1417 public GridNodeHighlightConfig (JsonObject jo) 1418 { 1419 this.gridHighlightConfig = ReadJSON.getObject(jo, "gridHighlightConfig", Overlay.GridHighlightConfig.class, false, true); 1420 this.nodeId = ReadPrimJSON.getInt(jo, "nodeId"); 1421 } 1422 1423 1424 /** Checks whether {@code 'this'} equals an input Java-{@code Object} */ 1425 public boolean equals(Object other) 1426 { 1427 if (this == other) return true; 1428 if (other == null) return false; 1429 if (other.getClass() != this.getClass()) return false; 1430 1431 GridNodeHighlightConfig o = (GridNodeHighlightConfig) other; 1432 1433 return 1434 Objects.equals(this.gridHighlightConfig, o.gridHighlightConfig) 1435 && Objects.equals(this.nodeId, o.nodeId); 1436 } 1437 1438 /** Generates a Hash-Code for {@code 'this'} instance */ 1439 public int hashCode() 1440 { 1441 return 1442 this.gridHighlightConfig.hashCode() 1443 + this.nodeId; 1444 } 1445 } 1446 1447 /** <CODE>[No Description Provided by Google]</CODE> */ 1448 public static class FlexNodeHighlightConfig 1449 extends BaseType 1450 implements java.io.Serializable 1451 { 1452 /** For Object Serialization. java.io.Serializable */ 1453 protected static final long serialVersionUID = 1; 1454 1455 public boolean[] optionals() 1456 { return new boolean[] { false, false, }; } 1457 1458 /** A descriptor for the highlight appearance of flex containers. */ 1459 public final Overlay.FlexContainerHighlightConfig flexContainerHighlightConfig; 1460 1461 /** Identifier of the node to highlight. */ 1462 public final int nodeId; 1463 1464 /** 1465 * Constructor 1466 * 1467 * @param flexContainerHighlightConfig A descriptor for the highlight appearance of flex containers. 1468 * 1469 * @param nodeId Identifier of the node to highlight. 1470 */ 1471 public FlexNodeHighlightConfig 1472 (Overlay.FlexContainerHighlightConfig flexContainerHighlightConfig, int nodeId) 1473 { 1474 // Exception-Check(s) to ensure that if any parameters which are not declared as 1475 // 'Optional', but have a 'null' value anyway, that a NullPointerException shall throw. 1476 1477 if (flexContainerHighlightConfig == null) THROWS.throwNPE("flexContainerHighlightConfig"); 1478 1479 this.flexContainerHighlightConfig = flexContainerHighlightConfig; 1480 this.nodeId = nodeId; 1481 } 1482 1483 /** 1484 * JSON Object Constructor 1485 * @param jo A Json-Object having data about an instance of {@code 'FlexNodeHighlightConfig'}. 1486 */ 1487 public FlexNodeHighlightConfig (JsonObject jo) 1488 { 1489 this.flexContainerHighlightConfig = ReadJSON.getObject(jo, "flexContainerHighlightConfig", Overlay.FlexContainerHighlightConfig.class, false, true); 1490 this.nodeId = ReadPrimJSON.getInt(jo, "nodeId"); 1491 } 1492 1493 1494 /** Checks whether {@code 'this'} equals an input Java-{@code Object} */ 1495 public boolean equals(Object other) 1496 { 1497 if (this == other) return true; 1498 if (other == null) return false; 1499 if (other.getClass() != this.getClass()) return false; 1500 1501 FlexNodeHighlightConfig o = (FlexNodeHighlightConfig) other; 1502 1503 return 1504 Objects.equals(this.flexContainerHighlightConfig, o.flexContainerHighlightConfig) 1505 && Objects.equals(this.nodeId, o.nodeId); 1506 } 1507 1508 /** Generates a Hash-Code for {@code 'this'} instance */ 1509 public int hashCode() 1510 { 1511 return 1512 this.flexContainerHighlightConfig.hashCode() 1513 + this.nodeId; 1514 } 1515 } 1516 1517 /** <CODE>[No Description Provided by Google]</CODE> */ 1518 public static class ScrollSnapContainerHighlightConfig 1519 extends BaseType 1520 implements java.io.Serializable 1521 { 1522 /** For Object Serialization. java.io.Serializable */ 1523 protected static final long serialVersionUID = 1; 1524 1525 public boolean[] optionals() 1526 { return new boolean[] { true, true, true, true, }; } 1527 1528 /** 1529 * The style of the snapport border (default: transparent) 1530 * <BR /> 1531 * <BR /><B>OPTIONAL</B> 1532 */ 1533 public final Overlay.LineStyle snapportBorder; 1534 1535 /** 1536 * The style of the snap area border (default: transparent) 1537 * <BR /> 1538 * <BR /><B>OPTIONAL</B> 1539 */ 1540 public final Overlay.LineStyle snapAreaBorder; 1541 1542 /** 1543 * The margin highlight fill color (default: transparent). 1544 * <BR /> 1545 * <BR /><B>OPTIONAL</B> 1546 */ 1547 public final DOM.RGBA scrollMarginColor; 1548 1549 /** 1550 * The padding highlight fill color (default: transparent). 1551 * <BR /> 1552 * <BR /><B>OPTIONAL</B> 1553 */ 1554 public final DOM.RGBA scrollPaddingColor; 1555 1556 /** 1557 * Constructor 1558 * 1559 * @param snapportBorder The style of the snapport border (default: transparent) 1560 * <BR /><B>OPTIONAL</B> 1561 * 1562 * @param snapAreaBorder The style of the snap area border (default: transparent) 1563 * <BR /><B>OPTIONAL</B> 1564 * 1565 * @param scrollMarginColor The margin highlight fill color (default: transparent). 1566 * <BR /><B>OPTIONAL</B> 1567 * 1568 * @param scrollPaddingColor The padding highlight fill color (default: transparent). 1569 * <BR /><B>OPTIONAL</B> 1570 */ 1571 public ScrollSnapContainerHighlightConfig( 1572 Overlay.LineStyle snapportBorder, Overlay.LineStyle snapAreaBorder, 1573 DOM.RGBA scrollMarginColor, DOM.RGBA scrollPaddingColor 1574 ) 1575 { 1576 this.snapportBorder = snapportBorder; 1577 this.snapAreaBorder = snapAreaBorder; 1578 this.scrollMarginColor = scrollMarginColor; 1579 this.scrollPaddingColor = scrollPaddingColor; 1580 } 1581 1582 /** 1583 * JSON Object Constructor 1584 * @param jo A Json-Object having data about an instance of {@code 'ScrollSnapContainerHighlightConfig'}. 1585 */ 1586 public ScrollSnapContainerHighlightConfig (JsonObject jo) 1587 { 1588 this.snapportBorder = ReadJSON.getObject(jo, "snapportBorder", Overlay.LineStyle.class, true, false); 1589 this.snapAreaBorder = ReadJSON.getObject(jo, "snapAreaBorder", Overlay.LineStyle.class, true, false); 1590 this.scrollMarginColor = ReadJSON.getObject(jo, "scrollMarginColor", DOM.RGBA.class, true, false); 1591 this.scrollPaddingColor = ReadJSON.getObject(jo, "scrollPaddingColor", DOM.RGBA.class, true, false); 1592 } 1593 1594 1595 /** Checks whether {@code 'this'} equals an input Java-{@code Object} */ 1596 public boolean equals(Object other) 1597 { 1598 if (this == other) return true; 1599 if (other == null) return false; 1600 if (other.getClass() != this.getClass()) return false; 1601 1602 ScrollSnapContainerHighlightConfig o = (ScrollSnapContainerHighlightConfig) other; 1603 1604 return 1605 Objects.equals(this.snapportBorder, o.snapportBorder) 1606 && Objects.equals(this.snapAreaBorder, o.snapAreaBorder) 1607 && Objects.equals(this.scrollMarginColor, o.scrollMarginColor) 1608 && Objects.equals(this.scrollPaddingColor, o.scrollPaddingColor); 1609 } 1610 1611 /** Generates a Hash-Code for {@code 'this'} instance */ 1612 public int hashCode() 1613 { 1614 return 1615 this.snapportBorder.hashCode() 1616 + this.snapAreaBorder.hashCode() 1617 + this.scrollMarginColor.hashCode() 1618 + this.scrollPaddingColor.hashCode(); 1619 } 1620 } 1621 1622 /** <CODE>[No Description Provided by Google]</CODE> */ 1623 public static class ScrollSnapHighlightConfig 1624 extends BaseType 1625 implements java.io.Serializable 1626 { 1627 /** For Object Serialization. java.io.Serializable */ 1628 protected static final long serialVersionUID = 1; 1629 1630 public boolean[] optionals() 1631 { return new boolean[] { false, false, }; } 1632 1633 /** A descriptor for the highlight appearance of scroll snap containers. */ 1634 public final Overlay.ScrollSnapContainerHighlightConfig scrollSnapContainerHighlightConfig; 1635 1636 /** Identifier of the node to highlight. */ 1637 public final int nodeId; 1638 1639 /** 1640 * Constructor 1641 * 1642 * @param scrollSnapContainerHighlightConfig A descriptor for the highlight appearance of scroll snap containers. 1643 * 1644 * @param nodeId Identifier of the node to highlight. 1645 */ 1646 public ScrollSnapHighlightConfig( 1647 Overlay.ScrollSnapContainerHighlightConfig scrollSnapContainerHighlightConfig, 1648 int nodeId 1649 ) 1650 { 1651 // Exception-Check(s) to ensure that if any parameters which are not declared as 1652 // 'Optional', but have a 'null' value anyway, that a NullPointerException shall throw. 1653 1654 if (scrollSnapContainerHighlightConfig == null) THROWS.throwNPE("scrollSnapContainerHighlightConfig"); 1655 1656 this.scrollSnapContainerHighlightConfig = scrollSnapContainerHighlightConfig; 1657 this.nodeId = nodeId; 1658 } 1659 1660 /** 1661 * JSON Object Constructor 1662 * @param jo A Json-Object having data about an instance of {@code 'ScrollSnapHighlightConfig'}. 1663 */ 1664 public ScrollSnapHighlightConfig (JsonObject jo) 1665 { 1666 this.scrollSnapContainerHighlightConfig = ReadJSON.getObject(jo, "scrollSnapContainerHighlightConfig", Overlay.ScrollSnapContainerHighlightConfig.class, false, true); 1667 this.nodeId = ReadPrimJSON.getInt(jo, "nodeId"); 1668 } 1669 1670 1671 /** Checks whether {@code 'this'} equals an input Java-{@code Object} */ 1672 public boolean equals(Object other) 1673 { 1674 if (this == other) return true; 1675 if (other == null) return false; 1676 if (other.getClass() != this.getClass()) return false; 1677 1678 ScrollSnapHighlightConfig o = (ScrollSnapHighlightConfig) other; 1679 1680 return 1681 Objects.equals(this.scrollSnapContainerHighlightConfig, o.scrollSnapContainerHighlightConfig) 1682 && Objects.equals(this.nodeId, o.nodeId); 1683 } 1684 1685 /** Generates a Hash-Code for {@code 'this'} instance */ 1686 public int hashCode() 1687 { 1688 return 1689 this.scrollSnapContainerHighlightConfig.hashCode() 1690 + this.nodeId; 1691 } 1692 } 1693 1694 /** Configuration for dual screen hinge */ 1695 public static class HingeConfig 1696 extends BaseType 1697 implements java.io.Serializable 1698 { 1699 /** For Object Serialization. java.io.Serializable */ 1700 protected static final long serialVersionUID = 1; 1701 1702 public boolean[] optionals() 1703 { return new boolean[] { false, true, true, }; } 1704 1705 /** A rectangle represent hinge */ 1706 public final DOM.Rect rect; 1707 1708 /** 1709 * The content box highlight fill color (default: a dark color). 1710 * <BR /> 1711 * <BR /><B>OPTIONAL</B> 1712 */ 1713 public final DOM.RGBA contentColor; 1714 1715 /** 1716 * The content box highlight outline color (default: transparent). 1717 * <BR /> 1718 * <BR /><B>OPTIONAL</B> 1719 */ 1720 public final DOM.RGBA outlineColor; 1721 1722 /** 1723 * Constructor 1724 * 1725 * @param rect A rectangle represent hinge 1726 * 1727 * @param contentColor The content box highlight fill color (default: a dark color). 1728 * <BR /><B>OPTIONAL</B> 1729 * 1730 * @param outlineColor The content box highlight outline color (default: transparent). 1731 * <BR /><B>OPTIONAL</B> 1732 */ 1733 public HingeConfig(DOM.Rect rect, DOM.RGBA contentColor, DOM.RGBA outlineColor) 1734 { 1735 // Exception-Check(s) to ensure that if any parameters which are not declared as 1736 // 'Optional', but have a 'null' value anyway, that a NullPointerException shall throw. 1737 1738 if (rect == null) THROWS.throwNPE("rect"); 1739 1740 this.rect = rect; 1741 this.contentColor = contentColor; 1742 this.outlineColor = outlineColor; 1743 } 1744 1745 /** 1746 * JSON Object Constructor 1747 * @param jo A Json-Object having data about an instance of {@code 'HingeConfig'}. 1748 */ 1749 public HingeConfig (JsonObject jo) 1750 { 1751 this.rect = ReadJSON.getObject(jo, "rect", DOM.Rect.class, false, true); 1752 this.contentColor = ReadJSON.getObject(jo, "contentColor", DOM.RGBA.class, true, false); 1753 this.outlineColor = ReadJSON.getObject(jo, "outlineColor", DOM.RGBA.class, true, false); 1754 } 1755 1756 1757 /** Checks whether {@code 'this'} equals an input Java-{@code Object} */ 1758 public boolean equals(Object other) 1759 { 1760 if (this == other) return true; 1761 if (other == null) return false; 1762 if (other.getClass() != this.getClass()) return false; 1763 1764 HingeConfig o = (HingeConfig) other; 1765 1766 return 1767 Objects.equals(this.rect, o.rect) 1768 && Objects.equals(this.contentColor, o.contentColor) 1769 && Objects.equals(this.outlineColor, o.outlineColor); 1770 } 1771 1772 /** Generates a Hash-Code for {@code 'this'} instance */ 1773 public int hashCode() 1774 { 1775 return 1776 this.rect.hashCode() 1777 + this.contentColor.hashCode() 1778 + this.outlineColor.hashCode(); 1779 } 1780 } 1781 1782 /** <CODE>[No Description Provided by Google]</CODE> */ 1783 public static class ContainerQueryHighlightConfig 1784 extends BaseType 1785 implements java.io.Serializable 1786 { 1787 /** For Object Serialization. java.io.Serializable */ 1788 protected static final long serialVersionUID = 1; 1789 1790 public boolean[] optionals() 1791 { return new boolean[] { false, false, }; } 1792 1793 /** A descriptor for the highlight appearance of container query containers. */ 1794 public final Overlay.ContainerQueryContainerHighlightConfig containerQueryContainerHighlightConfig; 1795 1796 /** Identifier of the container node to highlight. */ 1797 public final int nodeId; 1798 1799 /** 1800 * Constructor 1801 * 1802 * @param containerQueryContainerHighlightConfig A descriptor for the highlight appearance of container query containers. 1803 * 1804 * @param nodeId Identifier of the container node to highlight. 1805 */ 1806 public ContainerQueryHighlightConfig( 1807 1808 Overlay.ContainerQueryContainerHighlightConfig containerQueryContainerHighlightConfig, 1809 int nodeId 1810 ) 1811 { 1812 // Exception-Check(s) to ensure that if any parameters which are not declared as 1813 // 'Optional', but have a 'null' value anyway, that a NullPointerException shall throw. 1814 1815 if (containerQueryContainerHighlightConfig == null) THROWS.throwNPE("containerQueryContainerHighlightConfig"); 1816 1817 this.containerQueryContainerHighlightConfig = containerQueryContainerHighlightConfig; 1818 this.nodeId = nodeId; 1819 } 1820 1821 /** 1822 * JSON Object Constructor 1823 * @param jo A Json-Object having data about an instance of {@code 'ContainerQueryHighlightConfig'}. 1824 */ 1825 public ContainerQueryHighlightConfig (JsonObject jo) 1826 { 1827 this.containerQueryContainerHighlightConfig = ReadJSON.getObject(jo, "containerQueryContainerHighlightConfig", Overlay.ContainerQueryContainerHighlightConfig.class, false, true); 1828 this.nodeId = ReadPrimJSON.getInt(jo, "nodeId"); 1829 } 1830 1831 1832 /** Checks whether {@code 'this'} equals an input Java-{@code Object} */ 1833 public boolean equals(Object other) 1834 { 1835 if (this == other) return true; 1836 if (other == null) return false; 1837 if (other.getClass() != this.getClass()) return false; 1838 1839 ContainerQueryHighlightConfig o = (ContainerQueryHighlightConfig) other; 1840 1841 return 1842 Objects.equals(this.containerQueryContainerHighlightConfig, o.containerQueryContainerHighlightConfig) 1843 && Objects.equals(this.nodeId, o.nodeId); 1844 } 1845 1846 /** Generates a Hash-Code for {@code 'this'} instance */ 1847 public int hashCode() 1848 { 1849 return 1850 this.containerQueryContainerHighlightConfig.hashCode() 1851 + this.nodeId; 1852 } 1853 } 1854 1855 /** <CODE>[No Description Provided by Google]</CODE> */ 1856 public static class ContainerQueryContainerHighlightConfig 1857 extends BaseType 1858 implements java.io.Serializable 1859 { 1860 /** For Object Serialization. java.io.Serializable */ 1861 protected static final long serialVersionUID = 1; 1862 1863 public boolean[] optionals() 1864 { return new boolean[] { true, true, }; } 1865 1866 /** 1867 * The style of the container border. 1868 * <BR /> 1869 * <BR /><B>OPTIONAL</B> 1870 */ 1871 public final Overlay.LineStyle containerBorder; 1872 1873 /** 1874 * The style of the descendants' borders. 1875 * <BR /> 1876 * <BR /><B>OPTIONAL</B> 1877 */ 1878 public final Overlay.LineStyle descendantBorder; 1879 1880 /** 1881 * Constructor 1882 * 1883 * @param containerBorder The style of the container border. 1884 * <BR /><B>OPTIONAL</B> 1885 * 1886 * @param descendantBorder The style of the descendants' borders. 1887 * <BR /><B>OPTIONAL</B> 1888 */ 1889 public ContainerQueryContainerHighlightConfig 1890 (Overlay.LineStyle containerBorder, Overlay.LineStyle descendantBorder) 1891 { 1892 this.containerBorder = containerBorder; 1893 this.descendantBorder = descendantBorder; 1894 } 1895 1896 /** 1897 * JSON Object Constructor 1898 * @param jo A Json-Object having data about an instance of {@code 'ContainerQueryContainerHighlightConfig'}. 1899 */ 1900 public ContainerQueryContainerHighlightConfig (JsonObject jo) 1901 { 1902 this.containerBorder = ReadJSON.getObject(jo, "containerBorder", Overlay.LineStyle.class, true, false); 1903 this.descendantBorder = ReadJSON.getObject(jo, "descendantBorder", Overlay.LineStyle.class, true, false); 1904 } 1905 1906 1907 /** Checks whether {@code 'this'} equals an input Java-{@code Object} */ 1908 public boolean equals(Object other) 1909 { 1910 if (this == other) return true; 1911 if (other == null) return false; 1912 if (other.getClass() != this.getClass()) return false; 1913 1914 ContainerQueryContainerHighlightConfig o = (ContainerQueryContainerHighlightConfig) other; 1915 1916 return 1917 Objects.equals(this.containerBorder, o.containerBorder) 1918 && Objects.equals(this.descendantBorder, o.descendantBorder); 1919 } 1920 1921 /** Generates a Hash-Code for {@code 'this'} instance */ 1922 public int hashCode() 1923 { 1924 return 1925 this.containerBorder.hashCode() 1926 + this.descendantBorder.hashCode(); 1927 } 1928 } 1929 1930 /** <CODE>[No Description Provided by Google]</CODE> */ 1931 public static class IsolatedElementHighlightConfig 1932 extends BaseType 1933 implements java.io.Serializable 1934 { 1935 /** For Object Serialization. java.io.Serializable */ 1936 protected static final long serialVersionUID = 1; 1937 1938 public boolean[] optionals() 1939 { return new boolean[] { false, false, }; } 1940 1941 /** A descriptor for the highlight appearance of an element in isolation mode. */ 1942 public final Overlay.IsolationModeHighlightConfig isolationModeHighlightConfig; 1943 1944 /** Identifier of the isolated element to highlight. */ 1945 public final int nodeId; 1946 1947 /** 1948 * Constructor 1949 * 1950 * @param isolationModeHighlightConfig A descriptor for the highlight appearance of an element in isolation mode. 1951 * 1952 * @param nodeId Identifier of the isolated element to highlight. 1953 */ 1954 public IsolatedElementHighlightConfig 1955 (Overlay.IsolationModeHighlightConfig isolationModeHighlightConfig, int nodeId) 1956 { 1957 // Exception-Check(s) to ensure that if any parameters which are not declared as 1958 // 'Optional', but have a 'null' value anyway, that a NullPointerException shall throw. 1959 1960 if (isolationModeHighlightConfig == null) THROWS.throwNPE("isolationModeHighlightConfig"); 1961 1962 this.isolationModeHighlightConfig = isolationModeHighlightConfig; 1963 this.nodeId = nodeId; 1964 } 1965 1966 /** 1967 * JSON Object Constructor 1968 * @param jo A Json-Object having data about an instance of {@code 'IsolatedElementHighlightConfig'}. 1969 */ 1970 public IsolatedElementHighlightConfig (JsonObject jo) 1971 { 1972 this.isolationModeHighlightConfig = ReadJSON.getObject(jo, "isolationModeHighlightConfig", Overlay.IsolationModeHighlightConfig.class, false, true); 1973 this.nodeId = ReadPrimJSON.getInt(jo, "nodeId"); 1974 } 1975 1976 1977 /** Checks whether {@code 'this'} equals an input Java-{@code Object} */ 1978 public boolean equals(Object other) 1979 { 1980 if (this == other) return true; 1981 if (other == null) return false; 1982 if (other.getClass() != this.getClass()) return false; 1983 1984 IsolatedElementHighlightConfig o = (IsolatedElementHighlightConfig) other; 1985 1986 return 1987 Objects.equals(this.isolationModeHighlightConfig, o.isolationModeHighlightConfig) 1988 && Objects.equals(this.nodeId, o.nodeId); 1989 } 1990 1991 /** Generates a Hash-Code for {@code 'this'} instance */ 1992 public int hashCode() 1993 { 1994 return 1995 this.isolationModeHighlightConfig.hashCode() 1996 + this.nodeId; 1997 } 1998 } 1999 2000 /** <CODE>[No Description Provided by Google]</CODE> */ 2001 public static class IsolationModeHighlightConfig 2002 extends BaseType 2003 implements java.io.Serializable 2004 { 2005 /** For Object Serialization. java.io.Serializable */ 2006 protected static final long serialVersionUID = 1; 2007 2008 public boolean[] optionals() 2009 { return new boolean[] { true, true, true, }; } 2010 2011 /** 2012 * The fill color of the resizers (default: transparent). 2013 * <BR /> 2014 * <BR /><B>OPTIONAL</B> 2015 */ 2016 public final DOM.RGBA resizerColor; 2017 2018 /** 2019 * The fill color for resizer handles (default: transparent). 2020 * <BR /> 2021 * <BR /><B>OPTIONAL</B> 2022 */ 2023 public final DOM.RGBA resizerHandleColor; 2024 2025 /** 2026 * The fill color for the mask covering non-isolated elements (default: transparent). 2027 * <BR /> 2028 * <BR /><B>OPTIONAL</B> 2029 */ 2030 public final DOM.RGBA maskColor; 2031 2032 /** 2033 * Constructor 2034 * 2035 * @param resizerColor The fill color of the resizers (default: transparent). 2036 * <BR /><B>OPTIONAL</B> 2037 * 2038 * @param resizerHandleColor The fill color for resizer handles (default: transparent). 2039 * <BR /><B>OPTIONAL</B> 2040 * 2041 * @param maskColor The fill color for the mask covering non-isolated elements (default: transparent). 2042 * <BR /><B>OPTIONAL</B> 2043 */ 2044 public IsolationModeHighlightConfig 2045 (DOM.RGBA resizerColor, DOM.RGBA resizerHandleColor, DOM.RGBA maskColor) 2046 { 2047 this.resizerColor = resizerColor; 2048 this.resizerHandleColor = resizerHandleColor; 2049 this.maskColor = maskColor; 2050 } 2051 2052 /** 2053 * JSON Object Constructor 2054 * @param jo A Json-Object having data about an instance of {@code 'IsolationModeHighlightConfig'}. 2055 */ 2056 public IsolationModeHighlightConfig (JsonObject jo) 2057 { 2058 this.resizerColor = ReadJSON.getObject(jo, "resizerColor", DOM.RGBA.class, true, false); 2059 this.resizerHandleColor = ReadJSON.getObject(jo, "resizerHandleColor", DOM.RGBA.class, true, false); 2060 this.maskColor = ReadJSON.getObject(jo, "maskColor", DOM.RGBA.class, true, false); 2061 } 2062 2063 2064 /** Checks whether {@code 'this'} equals an input Java-{@code Object} */ 2065 public boolean equals(Object other) 2066 { 2067 if (this == other) return true; 2068 if (other == null) return false; 2069 if (other.getClass() != this.getClass()) return false; 2070 2071 IsolationModeHighlightConfig o = (IsolationModeHighlightConfig) other; 2072 2073 return 2074 Objects.equals(this.resizerColor, o.resizerColor) 2075 && Objects.equals(this.resizerHandleColor, o.resizerHandleColor) 2076 && Objects.equals(this.maskColor, o.maskColor); 2077 } 2078 2079 /** Generates a Hash-Code for {@code 'this'} instance */ 2080 public int hashCode() 2081 { 2082 return 2083 this.resizerColor.hashCode() 2084 + this.resizerHandleColor.hashCode() 2085 + this.maskColor.hashCode(); 2086 } 2087 } 2088 2089 /** 2090 * Fired when user cancels the inspect mode. 2091 * 2092 * <BR /><BR />This is Marker-Event. Marker-Event's are Events that do not posses 2093 * any data, fields or state. When they are fired, only the event name is supplied. 2094 */ 2095 public static class inspectModeCanceled 2096 extends BrowserEvent 2097 implements java.io.Serializable 2098 { 2099 /** For Object Serialization. java.io.Serializable */ 2100 protected static final long serialVersionUID = 1; 2101 2102 public boolean[] optionals() { return new boolean[0]; } 2103 2104 /** JSON Object Constructor */ 2105 public inspectModeCanceled(JsonObject jo) 2106 { super("Overlay", "inspectModeCanceled", 0); } 2107 2108 @Override 2109 public String toString() { return "Overlay.inspectModeCanceled Marker Event\n"; } 2110 } 2111 2112 /** 2113 * Fired when the node should be inspected. This happens after call to <CODE>setInspectMode</CODE> or when 2114 * user manually inspects an element. 2115 */ 2116 public static class inspectNodeRequested 2117 extends BrowserEvent 2118 implements java.io.Serializable 2119 { 2120 /** For Object Serialization. java.io.Serializable */ 2121 protected static final long serialVersionUID = 1; 2122 2123 public boolean[] optionals() 2124 { return new boolean[] { false, }; } 2125 2126 /** Id of the node to inspect. */ 2127 public final int backendNodeId; 2128 2129 /** 2130 * Constructor 2131 * 2132 * @param backendNodeId Id of the node to inspect. 2133 */ 2134 public inspectNodeRequested(int backendNodeId) 2135 { 2136 super("Overlay", "inspectNodeRequested", 1); 2137 2138 this.backendNodeId = backendNodeId; 2139 } 2140 2141 /** 2142 * JSON Object Constructor 2143 * @param jo A Json-Object having data about an instance of {@code 'inspectNodeRequested'}. 2144 */ 2145 public inspectNodeRequested (JsonObject jo) 2146 { 2147 super("Overlay", "inspectNodeRequested", 1); 2148 2149 this.backendNodeId = ReadPrimJSON.getInt(jo, "backendNodeId"); 2150 } 2151 2152 2153 /** Checks whether {@code 'this'} equals an input Java-{@code Object} */ 2154 public boolean equals(Object other) 2155 { 2156 if (this == other) return true; 2157 if (other == null) return false; 2158 if (other.getClass() != this.getClass()) return false; 2159 2160 inspectNodeRequested o = (inspectNodeRequested) other; 2161 2162 return 2163 Objects.equals(this.backendNodeId, o.backendNodeId); 2164 } 2165 2166 /** Generates a Hash-Code for {@code 'this'} instance */ 2167 public int hashCode() 2168 { 2169 return 2170 this.backendNodeId; 2171 } 2172 } 2173 2174 /** Fired when the node should be highlighted. This happens after call to <CODE>setInspectMode</CODE>. */ 2175 public static class nodeHighlightRequested 2176 extends BrowserEvent 2177 implements java.io.Serializable 2178 { 2179 /** For Object Serialization. java.io.Serializable */ 2180 protected static final long serialVersionUID = 1; 2181 2182 public boolean[] optionals() 2183 { return new boolean[] { false, }; } 2184 2185 /** <CODE>[No Description Provided by Google]</CODE> */ 2186 public final int nodeId; 2187 2188 /** 2189 * Constructor 2190 * 2191 * @param nodeId - 2192 */ 2193 public nodeHighlightRequested(int nodeId) 2194 { 2195 super("Overlay", "nodeHighlightRequested", 1); 2196 2197 this.nodeId = nodeId; 2198 } 2199 2200 /** 2201 * JSON Object Constructor 2202 * @param jo A Json-Object having data about an instance of {@code 'nodeHighlightRequested'}. 2203 */ 2204 public nodeHighlightRequested (JsonObject jo) 2205 { 2206 super("Overlay", "nodeHighlightRequested", 1); 2207 2208 this.nodeId = ReadPrimJSON.getInt(jo, "nodeId"); 2209 } 2210 2211 2212 /** Checks whether {@code 'this'} equals an input Java-{@code Object} */ 2213 public boolean equals(Object other) 2214 { 2215 if (this == other) return true; 2216 if (other == null) return false; 2217 if (other.getClass() != this.getClass()) return false; 2218 2219 nodeHighlightRequested o = (nodeHighlightRequested) other; 2220 2221 return 2222 Objects.equals(this.nodeId, o.nodeId); 2223 } 2224 2225 /** Generates a Hash-Code for {@code 'this'} instance */ 2226 public int hashCode() 2227 { 2228 return 2229 this.nodeId; 2230 } 2231 } 2232 2233 /** Fired when user asks to capture screenshot of some area on the page. */ 2234 public static class screenshotRequested 2235 extends BrowserEvent 2236 implements java.io.Serializable 2237 { 2238 /** For Object Serialization. java.io.Serializable */ 2239 protected static final long serialVersionUID = 1; 2240 2241 public boolean[] optionals() 2242 { return new boolean[] { false, }; } 2243 2244 /** Viewport to capture, in device independent pixels (dip). */ 2245 public final Page.Viewport viewport; 2246 2247 /** 2248 * Constructor 2249 * 2250 * @param viewport Viewport to capture, in device independent pixels (dip). 2251 */ 2252 public screenshotRequested(Page.Viewport viewport) 2253 { 2254 super("Overlay", "screenshotRequested", 1); 2255 2256 // Exception-Check(s) to ensure that if any parameters which are not declared as 2257 // 'Optional', but have a 'null' value anyway, that a NullPointerException shall throw. 2258 2259 if (viewport == null) THROWS.throwNPE("viewport"); 2260 2261 this.viewport = viewport; 2262 } 2263 2264 /** 2265 * JSON Object Constructor 2266 * @param jo A Json-Object having data about an instance of {@code 'screenshotRequested'}. 2267 */ 2268 public screenshotRequested (JsonObject jo) 2269 { 2270 super("Overlay", "screenshotRequested", 1); 2271 2272 this.viewport = ReadJSON.getObject(jo, "viewport", Page.Viewport.class, false, true); 2273 } 2274 2275 2276 /** Checks whether {@code 'this'} equals an input Java-{@code Object} */ 2277 public boolean equals(Object other) 2278 { 2279 if (this == other) return true; 2280 if (other == null) return false; 2281 if (other.getClass() != this.getClass()) return false; 2282 2283 screenshotRequested o = (screenshotRequested) other; 2284 2285 return 2286 Objects.equals(this.viewport, o.viewport); 2287 } 2288 2289 /** Generates a Hash-Code for {@code 'this'} instance */ 2290 public int hashCode() 2291 { 2292 return 2293 this.viewport.hashCode(); 2294 } 2295 } 2296 2297 2298 // Counter for keeping the WebSocket Request ID's distinct. 2299 private static int counter = 1; 2300 2301 /** 2302 * Disables domain notifications. 2303 * 2304 * @return An instance of <CODE>{@link Script}<String, {@link JsonObject}, 2305 * {@link Ret0}></CODE> 2306 * 2307 * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the 2308 * browser receives the invocation-request. 2309 * 2310 * <BR /><BR />This Browser-Function <I>does not have</I> a return-value. You may choose to 2311 * <B STYLE='color: red'>await</B> the {@link Promise}{@code <JsonObject,} {@link Ret0} 2312 * {@code >} to ensure the Browser Function has run to completion. 2313 */ 2314 public static Script<String, JsonObject, Ret0> disable() 2315 { 2316 final int webSocketID = 31000000 + counter++; 2317 final boolean[] optionals = new boolean[0]; 2318 2319 // Convert Method Parameters into JSON. Build the JSON Request-Object (as a String) 2320 String requestJSON = WriteJSON.get( 2321 parameterTypes.get("disable"), 2322 parameterNames.get("disable"), 2323 optionals, webSocketID, 2324 "Overlay.disable" 2325 ); 2326 2327 // This Remote Command does not have a Return-Value. 2328 return new Script<> 2329 (webSocketID, requestJSON, VOID_RETURN.NoReturnValues); 2330 } 2331 2332 /** 2333 * Enables domain notifications. 2334 * 2335 * @return An instance of <CODE>{@link Script}<String, {@link JsonObject}, 2336 * {@link Ret0}></CODE> 2337 * 2338 * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the 2339 * browser receives the invocation-request. 2340 * 2341 * <BR /><BR />This Browser-Function <I>does not have</I> a return-value. You may choose to 2342 * <B STYLE='color: red'>await</B> the {@link Promise}{@code <JsonObject,} {@link Ret0} 2343 * {@code >} to ensure the Browser Function has run to completion. 2344 */ 2345 public static Script<String, JsonObject, Ret0> enable() 2346 { 2347 final int webSocketID = 31001000 + counter++; 2348 final boolean[] optionals = new boolean[0]; 2349 2350 // Convert Method Parameters into JSON. Build the JSON Request-Object (as a String) 2351 String requestJSON = WriteJSON.get( 2352 parameterTypes.get("enable"), 2353 parameterNames.get("enable"), 2354 optionals, webSocketID, 2355 "Overlay.enable" 2356 ); 2357 2358 // This Remote Command does not have a Return-Value. 2359 return new Script<> 2360 (webSocketID, requestJSON, VOID_RETURN.NoReturnValues); 2361 } 2362 2363 /** 2364 * For testing. 2365 * 2366 * @param nodeId Id of the node to get highlight object for. 2367 * 2368 * @param includeDistance Whether to include distance info. 2369 * <BR /><B>OPTIONAL</B> 2370 * 2371 * @param includeStyle Whether to include style info. 2372 * <BR /><B>OPTIONAL</B> 2373 * 2374 * @param colorFormat The color format to get config with (default: hex). 2375 * <BR /><B>OPTIONAL</B> 2376 * 2377 * @param showAccessibilityInfo Whether to show accessibility info (default: true). 2378 * <BR /><B>OPTIONAL</B> 2379 * 2380 * @return An instance of <CODE>{@link Script}<String, {@link JsonObject}, 2381 * JsonObject></CODE> 2382 * 2383 * <BR /><BR />This <B>script</B> may be <B STYLE='color: red'>executed</B>, using 2384 * {@link Script#exec()}, and afterwards, a {@link Promise}<CODE><JsonObject, 2385 * JsonObject></CODE> will be returned. 2386 * 2387 * <BR /><BR />Finally, the <B>{@code Promise}</B> may be <B STYLE='color: red'>awaited</B>, 2388 * using {@link Promise#await()}, <I>and the returned result of this Browser Function may 2389 * may be retrieved.</I> 2390 * 2391 * <BR /><BR />This Browser Function <B STYLE='color: red'>returns</B> 2392 * <BR /><BR /><UL CLASS=JDUL> 2393 * <LI><CODE>JsonObject (<B>highlight</B></CODE>) 2394 * <BR />Highlight data for the node. 2395 * </LI> 2396 * </UL> */ 2397 public static Script<String, JsonObject, JsonObject> getHighlightObjectForTest( 2398 int nodeId, Boolean includeDistance, Boolean includeStyle, String colorFormat, 2399 Boolean showAccessibilityInfo 2400 ) 2401 { 2402 // Exception-Check(s) to ensure that if any parameters which must adhere to a 2403 // provided List of Enumerated Values, fails, then IllegalArgumentException shall throw. 2404 2405 THROWS.checkIAE("colorFormat", colorFormat, "Overlay.ColorFormat", Overlay.ColorFormat); 2406 2407 final int webSocketID = 31002000 + counter++; 2408 final boolean[] optionals = { false, true, true, true, true, }; 2409 2410 // Convert Method Parameters into JSON. Build the JSON Request-Object (as a String) 2411 String requestJSON = WriteJSON.get( 2412 parameterTypes.get("getHighlightObjectForTest"), 2413 parameterNames.get("getHighlightObjectForTest"), 2414 optionals, webSocketID, 2415 "Overlay.getHighlightObjectForTest", 2416 nodeId, includeDistance, includeStyle, colorFormat, showAccessibilityInfo 2417 ); 2418 2419 // 'JSON Binding' ... Converts Browser Response-JSON to 'JsonObject' 2420 Function<JsonObject, JsonObject> responseProcessor = (JsonObject jo) -> 2421 jo.getJsonObject("highlight"); 2422 2423 return new Script<>(webSocketID, requestJSON, responseProcessor); 2424 } 2425 2426 /** 2427 * For Persistent Grid testing. 2428 * 2429 * @param nodeIds Ids of the node to get highlight object for. 2430 * 2431 * @return An instance of <CODE>{@link Script}<String, {@link JsonObject}, 2432 * JsonObject></CODE> 2433 * 2434 * <BR /><BR />This <B>script</B> may be <B STYLE='color: red'>executed</B>, using 2435 * {@link Script#exec()}, and afterwards, a {@link Promise}<CODE><JsonObject, 2436 * JsonObject></CODE> will be returned. 2437 * 2438 * <BR /><BR />Finally, the <B>{@code Promise}</B> may be <B STYLE='color: red'>awaited</B>, 2439 * using {@link Promise#await()}, <I>and the returned result of this Browser Function may 2440 * may be retrieved.</I> 2441 * 2442 * <BR /><BR />This Browser Function <B STYLE='color: red'>returns</B> 2443 * <BR /><BR /><UL CLASS=JDUL> 2444 * <LI><CODE>JsonObject (<B>highlights</B></CODE>) 2445 * <BR />Grid Highlight data for the node ids provided. 2446 * </LI> 2447 * </UL> */ 2448 public static Script<String, JsonObject, JsonObject> getGridHighlightObjectsForTest 2449 (int[] nodeIds) 2450 { 2451 // Exception-Check(s) to ensure that if any parameters which are not declared as 2452 // 'Optional', but have a 'null' value anyway, that a NullPointerException shall throw. 2453 2454 if (nodeIds == null) THROWS.throwNPE("nodeIds"); 2455 2456 final int webSocketID = 31003000 + counter++; 2457 final boolean[] optionals = { false, }; 2458 2459 // Convert Method Parameters into JSON. Build the JSON Request-Object (as a String) 2460 String requestJSON = WriteJSON.get( 2461 parameterTypes.get("getGridHighlightObjectsForTest"), 2462 parameterNames.get("getGridHighlightObjectsForTest"), 2463 optionals, webSocketID, 2464 "Overlay.getGridHighlightObjectsForTest", 2465 (Object) nodeIds 2466 ); 2467 2468 // 'JSON Binding' ... Converts Browser Response-JSON to 'JsonObject' 2469 Function<JsonObject, JsonObject> responseProcessor = (JsonObject jo) -> 2470 jo.getJsonObject("highlights"); 2471 2472 return new Script<>(webSocketID, requestJSON, responseProcessor); 2473 } 2474 2475 /** 2476 * For Source Order Viewer testing. 2477 * 2478 * @param nodeId Id of the node to highlight. 2479 * 2480 * @return An instance of <CODE>{@link Script}<String, {@link JsonObject}, 2481 * JsonObject></CODE> 2482 * 2483 * <BR /><BR />This <B>script</B> may be <B STYLE='color: red'>executed</B>, using 2484 * {@link Script#exec()}, and afterwards, a {@link Promise}<CODE><JsonObject, 2485 * JsonObject></CODE> will be returned. 2486 * 2487 * <BR /><BR />Finally, the <B>{@code Promise}</B> may be <B STYLE='color: red'>awaited</B>, 2488 * using {@link Promise#await()}, <I>and the returned result of this Browser Function may 2489 * may be retrieved.</I> 2490 * 2491 * <BR /><BR />This Browser Function <B STYLE='color: red'>returns</B> 2492 * <BR /><BR /><UL CLASS=JDUL> 2493 * <LI><CODE>JsonObject (<B>highlight</B></CODE>) 2494 * <BR />Source order highlight data for the node id provided. 2495 * </LI> 2496 * </UL> */ 2497 public static Script<String, JsonObject, JsonObject> getSourceOrderHighlightObjectForTest 2498 (int nodeId) 2499 { 2500 final int webSocketID = 31004000 + counter++; 2501 final boolean[] optionals = { false, }; 2502 2503 // Convert Method Parameters into JSON. Build the JSON Request-Object (as a String) 2504 String requestJSON = WriteJSON.get( 2505 parameterTypes.get("getSourceOrderHighlightObjectForTest"), 2506 parameterNames.get("getSourceOrderHighlightObjectForTest"), 2507 optionals, webSocketID, 2508 "Overlay.getSourceOrderHighlightObjectForTest", 2509 nodeId 2510 ); 2511 2512 // 'JSON Binding' ... Converts Browser Response-JSON to 'JsonObject' 2513 Function<JsonObject, JsonObject> responseProcessor = (JsonObject jo) -> 2514 jo.getJsonObject("highlight"); 2515 2516 return new Script<>(webSocketID, requestJSON, responseProcessor); 2517 } 2518 2519 /** 2520 * Hides any highlight. 2521 * 2522 * @return An instance of <CODE>{@link Script}<String, {@link JsonObject}, 2523 * {@link Ret0}></CODE> 2524 * 2525 * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the 2526 * browser receives the invocation-request. 2527 * 2528 * <BR /><BR />This Browser-Function <I>does not have</I> a return-value. You may choose to 2529 * <B STYLE='color: red'>await</B> the {@link Promise}{@code <JsonObject,} {@link Ret0} 2530 * {@code >} to ensure the Browser Function has run to completion. 2531 */ 2532 public static Script<String, JsonObject, Ret0> hideHighlight() 2533 { 2534 final int webSocketID = 31005000 + counter++; 2535 final boolean[] optionals = new boolean[0]; 2536 2537 // Convert Method Parameters into JSON. Build the JSON Request-Object (as a String) 2538 String requestJSON = WriteJSON.get( 2539 parameterTypes.get("hideHighlight"), 2540 parameterNames.get("hideHighlight"), 2541 optionals, webSocketID, 2542 "Overlay.hideHighlight" 2543 ); 2544 2545 // This Remote Command does not have a Return-Value. 2546 return new Script<> 2547 (webSocketID, requestJSON, VOID_RETURN.NoReturnValues); 2548 } 2549 2550 /** 2551 * Highlights owner element of the frame with given id. 2552 * Deprecated: Doesn't work reliablity and cannot be fixed due to process 2553 * separatation (the owner node might be in a different process). Determine 2554 * the owner node in the client and use highlightNode. 2555 * <BR /><B>DEPRECATED</B> 2556 * 2557 * @param frameId Identifier of the frame to highlight. 2558 * 2559 * @param contentColor The content box highlight fill color (default: transparent). 2560 * <BR /><B>OPTIONAL</B> 2561 * 2562 * @param contentOutlineColor The content box highlight outline color (default: transparent). 2563 * <BR /><B>OPTIONAL</B> 2564 * 2565 * @return An instance of <CODE>{@link Script}<String, {@link JsonObject}, 2566 * {@link Ret0}></CODE> 2567 * 2568 * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the 2569 * browser receives the invocation-request. 2570 * 2571 * <BR /><BR />This Browser-Function <I>does not have</I> a return-value. You may choose to 2572 * <B STYLE='color: red'>await</B> the {@link Promise}{@code <JsonObject,} {@link Ret0} 2573 * {@code >} to ensure the Browser Function has run to completion. 2574 */ 2575 public static Script<String, JsonObject, Ret0> highlightFrame 2576 (String frameId, DOM.RGBA contentColor, DOM.RGBA contentOutlineColor) 2577 { 2578 // Exception-Check(s) to ensure that if any parameters which are not declared as 2579 // 'Optional', but have a 'null' value anyway, that a NullPointerException shall throw. 2580 2581 if (frameId == null) THROWS.throwNPE("frameId"); 2582 2583 final int webSocketID = 31006000 + counter++; 2584 final boolean[] optionals = { false, true, true, }; 2585 2586 // Convert Method Parameters into JSON. Build the JSON Request-Object (as a String) 2587 String requestJSON = WriteJSON.get( 2588 parameterTypes.get("highlightFrame"), 2589 parameterNames.get("highlightFrame"), 2590 optionals, webSocketID, 2591 "Overlay.highlightFrame", 2592 frameId, contentColor, contentOutlineColor 2593 ); 2594 2595 // This Remote Command does not have a Return-Value. 2596 return new Script<> 2597 (webSocketID, requestJSON, VOID_RETURN.NoReturnValues); 2598 } 2599 2600 /** 2601 * Highlights DOM node with given id or with the given JavaScript object wrapper. Either nodeId or 2602 * objectId must be specified. 2603 * 2604 * @param highlightConfig A descriptor for the highlight appearance. 2605 * 2606 * @param nodeId Identifier of the node to highlight. 2607 * <BR /><B>OPTIONAL</B> 2608 * 2609 * @param backendNodeId Identifier of the backend node to highlight. 2610 * <BR /><B>OPTIONAL</B> 2611 * 2612 * @param objectId JavaScript object id of the node to be highlighted. 2613 * <BR /><B>OPTIONAL</B> 2614 * 2615 * @param selector Selectors to highlight relevant nodes. 2616 * <BR /><B>OPTIONAL</B> 2617 * 2618 * @return An instance of <CODE>{@link Script}<String, {@link JsonObject}, 2619 * {@link Ret0}></CODE> 2620 * 2621 * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the 2622 * browser receives the invocation-request. 2623 * 2624 * <BR /><BR />This Browser-Function <I>does not have</I> a return-value. You may choose to 2625 * <B STYLE='color: red'>await</B> the {@link Promise}{@code <JsonObject,} {@link Ret0} 2626 * {@code >} to ensure the Browser Function has run to completion. 2627 */ 2628 public static Script<String, JsonObject, Ret0> highlightNode( 2629 Overlay.HighlightConfig highlightConfig, Integer nodeId, Integer backendNodeId, 2630 String objectId, String selector 2631 ) 2632 { 2633 // Exception-Check(s) to ensure that if any parameters which are not declared as 2634 // 'Optional', but have a 'null' value anyway, that a NullPointerException shall throw. 2635 2636 if (highlightConfig == null) THROWS.throwNPE("highlightConfig"); 2637 2638 final int webSocketID = 31007000 + counter++; 2639 final boolean[] optionals = { false, true, true, true, true, }; 2640 2641 // Convert Method Parameters into JSON. Build the JSON Request-Object (as a String) 2642 String requestJSON = WriteJSON.get( 2643 parameterTypes.get("highlightNode"), 2644 parameterNames.get("highlightNode"), 2645 optionals, webSocketID, 2646 "Overlay.highlightNode", 2647 highlightConfig, nodeId, backendNodeId, objectId, selector 2648 ); 2649 2650 // This Remote Command does not have a Return-Value. 2651 return new Script<> 2652 (webSocketID, requestJSON, VOID_RETURN.NoReturnValues); 2653 } 2654 2655 /** 2656 * Highlights given quad. Coordinates are absolute with respect to the main frame viewport. 2657 * 2658 * @param quad Quad to highlight 2659 * 2660 * @param color The highlight fill color (default: transparent). 2661 * <BR /><B>OPTIONAL</B> 2662 * 2663 * @param outlineColor The highlight outline color (default: transparent). 2664 * <BR /><B>OPTIONAL</B> 2665 * 2666 * @return An instance of <CODE>{@link Script}<String, {@link JsonObject}, 2667 * {@link Ret0}></CODE> 2668 * 2669 * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the 2670 * browser receives the invocation-request. 2671 * 2672 * <BR /><BR />This Browser-Function <I>does not have</I> a return-value. You may choose to 2673 * <B STYLE='color: red'>await</B> the {@link Promise}{@code <JsonObject,} {@link Ret0} 2674 * {@code >} to ensure the Browser Function has run to completion. 2675 */ 2676 public static Script<String, JsonObject, Ret0> highlightQuad 2677 (Number[] quad, DOM.RGBA color, DOM.RGBA outlineColor) 2678 { 2679 // Exception-Check(s) to ensure that if any parameters which are not declared as 2680 // 'Optional', but have a 'null' value anyway, that a NullPointerException shall throw. 2681 2682 if (quad == null) THROWS.throwNPE("quad"); 2683 2684 final int webSocketID = 31008000 + counter++; 2685 final boolean[] optionals = { false, true, true, }; 2686 2687 // Convert Method Parameters into JSON. Build the JSON Request-Object (as a String) 2688 String requestJSON = WriteJSON.get( 2689 parameterTypes.get("highlightQuad"), 2690 parameterNames.get("highlightQuad"), 2691 optionals, webSocketID, 2692 "Overlay.highlightQuad", 2693 quad, color, outlineColor 2694 ); 2695 2696 // This Remote Command does not have a Return-Value. 2697 return new Script<> 2698 (webSocketID, requestJSON, VOID_RETURN.NoReturnValues); 2699 } 2700 2701 /** 2702 * Highlights given rectangle. Coordinates are absolute with respect to the main frame viewport. 2703 * 2704 * @param x X coordinate 2705 * 2706 * @param y Y coordinate 2707 * 2708 * @param width Rectangle width 2709 * 2710 * @param height Rectangle height 2711 * 2712 * @param color The highlight fill color (default: transparent). 2713 * <BR /><B>OPTIONAL</B> 2714 * 2715 * @param outlineColor The highlight outline color (default: transparent). 2716 * <BR /><B>OPTIONAL</B> 2717 * 2718 * @return An instance of <CODE>{@link Script}<String, {@link JsonObject}, 2719 * {@link Ret0}></CODE> 2720 * 2721 * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the 2722 * browser receives the invocation-request. 2723 * 2724 * <BR /><BR />This Browser-Function <I>does not have</I> a return-value. You may choose to 2725 * <B STYLE='color: red'>await</B> the {@link Promise}{@code <JsonObject,} {@link Ret0} 2726 * {@code >} to ensure the Browser Function has run to completion. 2727 */ 2728 public static Script<String, JsonObject, Ret0> highlightRect 2729 (int x, int y, int width, int height, DOM.RGBA color, DOM.RGBA outlineColor) 2730 { 2731 final int webSocketID = 31009000 + counter++; 2732 final boolean[] optionals = { false, false, false, false, true, true, }; 2733 2734 // Convert Method Parameters into JSON. Build the JSON Request-Object (as a String) 2735 String requestJSON = WriteJSON.get( 2736 parameterTypes.get("highlightRect"), 2737 parameterNames.get("highlightRect"), 2738 optionals, webSocketID, 2739 "Overlay.highlightRect", 2740 x, y, width, height, color, outlineColor 2741 ); 2742 2743 // This Remote Command does not have a Return-Value. 2744 return new Script<> 2745 (webSocketID, requestJSON, VOID_RETURN.NoReturnValues); 2746 } 2747 2748 /** 2749 * Highlights the source order of the children of the DOM node with given id or with the given 2750 * JavaScript object wrapper. Either nodeId or objectId must be specified. 2751 * 2752 * @param sourceOrderConfig A descriptor for the appearance of the overlay drawing. 2753 * 2754 * @param nodeId Identifier of the node to highlight. 2755 * <BR /><B>OPTIONAL</B> 2756 * 2757 * @param backendNodeId Identifier of the backend node to highlight. 2758 * <BR /><B>OPTIONAL</B> 2759 * 2760 * @param objectId JavaScript object id of the node to be highlighted. 2761 * <BR /><B>OPTIONAL</B> 2762 * 2763 * @return An instance of <CODE>{@link Script}<String, {@link JsonObject}, 2764 * {@link Ret0}></CODE> 2765 * 2766 * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the 2767 * browser receives the invocation-request. 2768 * 2769 * <BR /><BR />This Browser-Function <I>does not have</I> a return-value. You may choose to 2770 * <B STYLE='color: red'>await</B> the {@link Promise}{@code <JsonObject,} {@link Ret0} 2771 * {@code >} to ensure the Browser Function has run to completion. 2772 */ 2773 public static Script<String, JsonObject, Ret0> highlightSourceOrder( 2774 Overlay.SourceOrderConfig sourceOrderConfig, Integer nodeId, Integer backendNodeId, 2775 String objectId 2776 ) 2777 { 2778 // Exception-Check(s) to ensure that if any parameters which are not declared as 2779 // 'Optional', but have a 'null' value anyway, that a NullPointerException shall throw. 2780 2781 if (sourceOrderConfig == null) THROWS.throwNPE("sourceOrderConfig"); 2782 2783 final int webSocketID = 31010000 + counter++; 2784 final boolean[] optionals = { false, true, true, true, }; 2785 2786 // Convert Method Parameters into JSON. Build the JSON Request-Object (as a String) 2787 String requestJSON = WriteJSON.get( 2788 parameterTypes.get("highlightSourceOrder"), 2789 parameterNames.get("highlightSourceOrder"), 2790 optionals, webSocketID, 2791 "Overlay.highlightSourceOrder", 2792 sourceOrderConfig, nodeId, backendNodeId, objectId 2793 ); 2794 2795 // This Remote Command does not have a Return-Value. 2796 return new Script<> 2797 (webSocketID, requestJSON, VOID_RETURN.NoReturnValues); 2798 } 2799 2800 /** 2801 * Enters the 'inspect' mode. In this mode, elements that user is hovering over are highlighted. 2802 * Backend then generates 'inspectNodeRequested' event upon element selection. 2803 * 2804 * @param mode Set an inspection mode. 2805 * 2806 * @param highlightConfig 2807 * A descriptor for the highlight appearance of hovered-over nodes. May be omitted if <CODE>enabled 2808 * == false</CODE>. 2809 * <BR /><B>OPTIONAL</B> 2810 * 2811 * @return An instance of <CODE>{@link Script}<String, {@link JsonObject}, 2812 * {@link Ret0}></CODE> 2813 * 2814 * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the 2815 * browser receives the invocation-request. 2816 * 2817 * <BR /><BR />This Browser-Function <I>does not have</I> a return-value. You may choose to 2818 * <B STYLE='color: red'>await</B> the {@link Promise}{@code <JsonObject,} {@link Ret0} 2819 * {@code >} to ensure the Browser Function has run to completion. 2820 */ 2821 public static Script<String, JsonObject, Ret0> setInspectMode 2822 (String mode, Overlay.HighlightConfig highlightConfig) 2823 { 2824 // Exception-Check(s) to ensure that if any parameters which are not declared as 2825 // 'Optional', but have a 'null' value anyway, that a NullPointerException shall throw. 2826 2827 if (mode == null) THROWS.throwNPE("mode"); 2828 2829 // Exception-Check(s) to ensure that if any parameters which must adhere to a 2830 // provided List of Enumerated Values, fails, then IllegalArgumentException shall throw. 2831 2832 THROWS.checkIAE("mode", mode, "Overlay.InspectMode", Overlay.InspectMode); 2833 2834 final int webSocketID = 31011000 + counter++; 2835 final boolean[] optionals = { false, true, }; 2836 2837 // Convert Method Parameters into JSON. Build the JSON Request-Object (as a String) 2838 String requestJSON = WriteJSON.get( 2839 parameterTypes.get("setInspectMode"), 2840 parameterNames.get("setInspectMode"), 2841 optionals, webSocketID, 2842 "Overlay.setInspectMode", 2843 mode, highlightConfig 2844 ); 2845 2846 // This Remote Command does not have a Return-Value. 2847 return new Script<> 2848 (webSocketID, requestJSON, VOID_RETURN.NoReturnValues); 2849 } 2850 2851 /** 2852 * Highlights owner element of all frames detected to be ads. 2853 * 2854 * @param show True for showing ad highlights 2855 * 2856 * @return An instance of <CODE>{@link Script}<String, {@link JsonObject}, 2857 * {@link Ret0}></CODE> 2858 * 2859 * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the 2860 * browser receives the invocation-request. 2861 * 2862 * <BR /><BR />This Browser-Function <I>does not have</I> a return-value. You may choose to 2863 * <B STYLE='color: red'>await</B> the {@link Promise}{@code <JsonObject,} {@link Ret0} 2864 * {@code >} to ensure the Browser Function has run to completion. 2865 */ 2866 public static Script<String, JsonObject, Ret0> setShowAdHighlights(boolean show) 2867 { 2868 final int webSocketID = 31012000 + counter++; 2869 final boolean[] optionals = { false, }; 2870 2871 // Convert Method Parameters into JSON. Build the JSON Request-Object (as a String) 2872 String requestJSON = WriteJSON.get( 2873 parameterTypes.get("setShowAdHighlights"), 2874 parameterNames.get("setShowAdHighlights"), 2875 optionals, webSocketID, 2876 "Overlay.setShowAdHighlights", 2877 show 2878 ); 2879 2880 // This Remote Command does not have a Return-Value. 2881 return new Script<> 2882 (webSocketID, requestJSON, VOID_RETURN.NoReturnValues); 2883 } 2884 2885 /** 2886 * <CODE>[No Description Provided by Google]</CODE> 2887 * 2888 * @param message The message to display, also triggers resume and step over controls. 2889 * <BR /><B>OPTIONAL</B> 2890 * 2891 * @return An instance of <CODE>{@link Script}<String, {@link JsonObject}, 2892 * {@link Ret0}></CODE> 2893 * 2894 * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the 2895 * browser receives the invocation-request. 2896 * 2897 * <BR /><BR />This Browser-Function <I>does not have</I> a return-value. You may choose to 2898 * <B STYLE='color: red'>await</B> the {@link Promise}{@code <JsonObject,} {@link Ret0} 2899 * {@code >} to ensure the Browser Function has run to completion. 2900 */ 2901 public static Script<String, JsonObject, Ret0> setPausedInDebuggerMessage(String message) 2902 { 2903 final int webSocketID = 31013000 + counter++; 2904 final boolean[] optionals = { true, }; 2905 2906 // Convert Method Parameters into JSON. Build the JSON Request-Object (as a String) 2907 String requestJSON = WriteJSON.get( 2908 parameterTypes.get("setPausedInDebuggerMessage"), 2909 parameterNames.get("setPausedInDebuggerMessage"), 2910 optionals, webSocketID, 2911 "Overlay.setPausedInDebuggerMessage", 2912 message 2913 ); 2914 2915 // This Remote Command does not have a Return-Value. 2916 return new Script<> 2917 (webSocketID, requestJSON, VOID_RETURN.NoReturnValues); 2918 } 2919 2920 /** 2921 * Requests that backend shows debug borders on layers 2922 * 2923 * @param show True for showing debug borders 2924 * 2925 * @return An instance of <CODE>{@link Script}<String, {@link JsonObject}, 2926 * {@link Ret0}></CODE> 2927 * 2928 * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the 2929 * browser receives the invocation-request. 2930 * 2931 * <BR /><BR />This Browser-Function <I>does not have</I> a return-value. You may choose to 2932 * <B STYLE='color: red'>await</B> the {@link Promise}{@code <JsonObject,} {@link Ret0} 2933 * {@code >} to ensure the Browser Function has run to completion. 2934 */ 2935 public static Script<String, JsonObject, Ret0> setShowDebugBorders(boolean show) 2936 { 2937 final int webSocketID = 31014000 + counter++; 2938 final boolean[] optionals = { false, }; 2939 2940 // Convert Method Parameters into JSON. Build the JSON Request-Object (as a String) 2941 String requestJSON = WriteJSON.get( 2942 parameterTypes.get("setShowDebugBorders"), 2943 parameterNames.get("setShowDebugBorders"), 2944 optionals, webSocketID, 2945 "Overlay.setShowDebugBorders", 2946 show 2947 ); 2948 2949 // This Remote Command does not have a Return-Value. 2950 return new Script<> 2951 (webSocketID, requestJSON, VOID_RETURN.NoReturnValues); 2952 } 2953 2954 /** 2955 * Requests that backend shows the FPS counter 2956 * 2957 * @param show True for showing the FPS counter 2958 * 2959 * @return An instance of <CODE>{@link Script}<String, {@link JsonObject}, 2960 * {@link Ret0}></CODE> 2961 * 2962 * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the 2963 * browser receives the invocation-request. 2964 * 2965 * <BR /><BR />This Browser-Function <I>does not have</I> a return-value. You may choose to 2966 * <B STYLE='color: red'>await</B> the {@link Promise}{@code <JsonObject,} {@link Ret0} 2967 * {@code >} to ensure the Browser Function has run to completion. 2968 */ 2969 public static Script<String, JsonObject, Ret0> setShowFPSCounter(boolean show) 2970 { 2971 final int webSocketID = 31015000 + counter++; 2972 final boolean[] optionals = { false, }; 2973 2974 // Convert Method Parameters into JSON. Build the JSON Request-Object (as a String) 2975 String requestJSON = WriteJSON.get( 2976 parameterTypes.get("setShowFPSCounter"), 2977 parameterNames.get("setShowFPSCounter"), 2978 optionals, webSocketID, 2979 "Overlay.setShowFPSCounter", 2980 show 2981 ); 2982 2983 // This Remote Command does not have a Return-Value. 2984 return new Script<> 2985 (webSocketID, requestJSON, VOID_RETURN.NoReturnValues); 2986 } 2987 2988 /** 2989 * Highlight multiple elements with the CSS Grid overlay. 2990 * 2991 * @param gridNodeHighlightConfigs An array of node identifiers and descriptors for the highlight appearance. 2992 * 2993 * @return An instance of <CODE>{@link Script}<String, {@link JsonObject}, 2994 * {@link Ret0}></CODE> 2995 * 2996 * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the 2997 * browser receives the invocation-request. 2998 * 2999 * <BR /><BR />This Browser-Function <I>does not have</I> a return-value. You may choose to 3000 * <B STYLE='color: red'>await</B> the {@link Promise}{@code <JsonObject,} {@link Ret0} 3001 * {@code >} to ensure the Browser Function has run to completion. 3002 */ 3003 public static Script<String, JsonObject, Ret0> setShowGridOverlays 3004 (Overlay.GridNodeHighlightConfig[] gridNodeHighlightConfigs) 3005 { 3006 // Exception-Check(s) to ensure that if any parameters which are not declared as 3007 // 'Optional', but have a 'null' value anyway, that a NullPointerException shall throw. 3008 3009 if (gridNodeHighlightConfigs == null) THROWS.throwNPE("gridNodeHighlightConfigs"); 3010 3011 final int webSocketID = 31016000 + counter++; 3012 final boolean[] optionals = { false, }; 3013 3014 // Convert Method Parameters into JSON. Build the JSON Request-Object (as a String) 3015 String requestJSON = WriteJSON.get( 3016 parameterTypes.get("setShowGridOverlays"), 3017 parameterNames.get("setShowGridOverlays"), 3018 optionals, webSocketID, 3019 "Overlay.setShowGridOverlays", 3020 (Object) gridNodeHighlightConfigs 3021 ); 3022 3023 // This Remote Command does not have a Return-Value. 3024 return new Script<> 3025 (webSocketID, requestJSON, VOID_RETURN.NoReturnValues); 3026 } 3027 3028 /** 3029 * <CODE>[No Description Provided by Google]</CODE> 3030 * 3031 * @param flexNodeHighlightConfigs An array of node identifiers and descriptors for the highlight appearance. 3032 * 3033 * @return An instance of <CODE>{@link Script}<String, {@link JsonObject}, 3034 * {@link Ret0}></CODE> 3035 * 3036 * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the 3037 * browser receives the invocation-request. 3038 * 3039 * <BR /><BR />This Browser-Function <I>does not have</I> a return-value. You may choose to 3040 * <B STYLE='color: red'>await</B> the {@link Promise}{@code <JsonObject,} {@link Ret0} 3041 * {@code >} to ensure the Browser Function has run to completion. 3042 */ 3043 public static Script<String, JsonObject, Ret0> setShowFlexOverlays 3044 (Overlay.FlexNodeHighlightConfig[] flexNodeHighlightConfigs) 3045 { 3046 // Exception-Check(s) to ensure that if any parameters which are not declared as 3047 // 'Optional', but have a 'null' value anyway, that a NullPointerException shall throw. 3048 3049 if (flexNodeHighlightConfigs == null) THROWS.throwNPE("flexNodeHighlightConfigs"); 3050 3051 final int webSocketID = 31017000 + counter++; 3052 final boolean[] optionals = { false, }; 3053 3054 // Convert Method Parameters into JSON. Build the JSON Request-Object (as a String) 3055 String requestJSON = WriteJSON.get( 3056 parameterTypes.get("setShowFlexOverlays"), 3057 parameterNames.get("setShowFlexOverlays"), 3058 optionals, webSocketID, 3059 "Overlay.setShowFlexOverlays", 3060 (Object) flexNodeHighlightConfigs 3061 ); 3062 3063 // This Remote Command does not have a Return-Value. 3064 return new Script<> 3065 (webSocketID, requestJSON, VOID_RETURN.NoReturnValues); 3066 } 3067 3068 /** 3069 * <CODE>[No Description Provided by Google]</CODE> 3070 * 3071 * @param scrollSnapHighlightConfigs An array of node identifiers and descriptors for the highlight appearance. 3072 * 3073 * @return An instance of <CODE>{@link Script}<String, {@link JsonObject}, 3074 * {@link Ret0}></CODE> 3075 * 3076 * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the 3077 * browser receives the invocation-request. 3078 * 3079 * <BR /><BR />This Browser-Function <I>does not have</I> a return-value. You may choose to 3080 * <B STYLE='color: red'>await</B> the {@link Promise}{@code <JsonObject,} {@link Ret0} 3081 * {@code >} to ensure the Browser Function has run to completion. 3082 */ 3083 public static Script<String, JsonObject, Ret0> setShowScrollSnapOverlays 3084 (Overlay.ScrollSnapHighlightConfig[] scrollSnapHighlightConfigs) 3085 { 3086 // Exception-Check(s) to ensure that if any parameters which are not declared as 3087 // 'Optional', but have a 'null' value anyway, that a NullPointerException shall throw. 3088 3089 if (scrollSnapHighlightConfigs == null) THROWS.throwNPE("scrollSnapHighlightConfigs"); 3090 3091 final int webSocketID = 31018000 + counter++; 3092 final boolean[] optionals = { false, }; 3093 3094 // Convert Method Parameters into JSON. Build the JSON Request-Object (as a String) 3095 String requestJSON = WriteJSON.get( 3096 parameterTypes.get("setShowScrollSnapOverlays"), 3097 parameterNames.get("setShowScrollSnapOverlays"), 3098 optionals, webSocketID, 3099 "Overlay.setShowScrollSnapOverlays", 3100 (Object) scrollSnapHighlightConfigs 3101 ); 3102 3103 // This Remote Command does not have a Return-Value. 3104 return new Script<> 3105 (webSocketID, requestJSON, VOID_RETURN.NoReturnValues); 3106 } 3107 3108 /** 3109 * <CODE>[No Description Provided by Google]</CODE> 3110 * 3111 * @param containerQueryHighlightConfigs An array of node identifiers and descriptors for the highlight appearance. 3112 * 3113 * @return An instance of <CODE>{@link Script}<String, {@link JsonObject}, 3114 * {@link Ret0}></CODE> 3115 * 3116 * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the 3117 * browser receives the invocation-request. 3118 * 3119 * <BR /><BR />This Browser-Function <I>does not have</I> a return-value. You may choose to 3120 * <B STYLE='color: red'>await</B> the {@link Promise}{@code <JsonObject,} {@link Ret0} 3121 * {@code >} to ensure the Browser Function has run to completion. 3122 */ 3123 public static Script<String, JsonObject, Ret0> setShowContainerQueryOverlays 3124 (Overlay.ContainerQueryHighlightConfig[] containerQueryHighlightConfigs) 3125 { 3126 // Exception-Check(s) to ensure that if any parameters which are not declared as 3127 // 'Optional', but have a 'null' value anyway, that a NullPointerException shall throw. 3128 3129 if (containerQueryHighlightConfigs == null) THROWS.throwNPE("containerQueryHighlightConfigs"); 3130 3131 final int webSocketID = 31019000 + counter++; 3132 final boolean[] optionals = { false, }; 3133 3134 // Convert Method Parameters into JSON. Build the JSON Request-Object (as a String) 3135 String requestJSON = WriteJSON.get( 3136 parameterTypes.get("setShowContainerQueryOverlays"), 3137 parameterNames.get("setShowContainerQueryOverlays"), 3138 optionals, webSocketID, 3139 "Overlay.setShowContainerQueryOverlays", 3140 (Object) containerQueryHighlightConfigs 3141 ); 3142 3143 // This Remote Command does not have a Return-Value. 3144 return new Script<> 3145 (webSocketID, requestJSON, VOID_RETURN.NoReturnValues); 3146 } 3147 3148 /** 3149 * Requests that backend shows paint rectangles 3150 * 3151 * @param result True for showing paint rectangles 3152 * 3153 * @return An instance of <CODE>{@link Script}<String, {@link JsonObject}, 3154 * {@link Ret0}></CODE> 3155 * 3156 * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the 3157 * browser receives the invocation-request. 3158 * 3159 * <BR /><BR />This Browser-Function <I>does not have</I> a return-value. You may choose to 3160 * <B STYLE='color: red'>await</B> the {@link Promise}{@code <JsonObject,} {@link Ret0} 3161 * {@code >} to ensure the Browser Function has run to completion. 3162 */ 3163 public static Script<String, JsonObject, Ret0> setShowPaintRects(boolean result) 3164 { 3165 final int webSocketID = 31020000 + counter++; 3166 final boolean[] optionals = { false, }; 3167 3168 // Convert Method Parameters into JSON. Build the JSON Request-Object (as a String) 3169 String requestJSON = WriteJSON.get( 3170 parameterTypes.get("setShowPaintRects"), 3171 parameterNames.get("setShowPaintRects"), 3172 optionals, webSocketID, 3173 "Overlay.setShowPaintRects", 3174 result 3175 ); 3176 3177 // This Remote Command does not have a Return-Value. 3178 return new Script<> 3179 (webSocketID, requestJSON, VOID_RETURN.NoReturnValues); 3180 } 3181 3182 /** 3183 * Requests that backend shows layout shift regions 3184 * 3185 * @param result True for showing layout shift regions 3186 * 3187 * @return An instance of <CODE>{@link Script}<String, {@link JsonObject}, 3188 * {@link Ret0}></CODE> 3189 * 3190 * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the 3191 * browser receives the invocation-request. 3192 * 3193 * <BR /><BR />This Browser-Function <I>does not have</I> a return-value. You may choose to 3194 * <B STYLE='color: red'>await</B> the {@link Promise}{@code <JsonObject,} {@link Ret0} 3195 * {@code >} to ensure the Browser Function has run to completion. 3196 */ 3197 public static Script<String, JsonObject, Ret0> setShowLayoutShiftRegions(boolean result) 3198 { 3199 final int webSocketID = 31021000 + counter++; 3200 final boolean[] optionals = { false, }; 3201 3202 // Convert Method Parameters into JSON. Build the JSON Request-Object (as a String) 3203 String requestJSON = WriteJSON.get( 3204 parameterTypes.get("setShowLayoutShiftRegions"), 3205 parameterNames.get("setShowLayoutShiftRegions"), 3206 optionals, webSocketID, 3207 "Overlay.setShowLayoutShiftRegions", 3208 result 3209 ); 3210 3211 // This Remote Command does not have a Return-Value. 3212 return new Script<> 3213 (webSocketID, requestJSON, VOID_RETURN.NoReturnValues); 3214 } 3215 3216 /** 3217 * Requests that backend shows scroll bottleneck rects 3218 * 3219 * @param show True for showing scroll bottleneck rects 3220 * 3221 * @return An instance of <CODE>{@link Script}<String, {@link JsonObject}, 3222 * {@link Ret0}></CODE> 3223 * 3224 * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the 3225 * browser receives the invocation-request. 3226 * 3227 * <BR /><BR />This Browser-Function <I>does not have</I> a return-value. You may choose to 3228 * <B STYLE='color: red'>await</B> the {@link Promise}{@code <JsonObject,} {@link Ret0} 3229 * {@code >} to ensure the Browser Function has run to completion. 3230 */ 3231 public static Script<String, JsonObject, Ret0> setShowScrollBottleneckRects(boolean show) 3232 { 3233 final int webSocketID = 31022000 + counter++; 3234 final boolean[] optionals = { false, }; 3235 3236 // Convert Method Parameters into JSON. Build the JSON Request-Object (as a String) 3237 String requestJSON = WriteJSON.get( 3238 parameterTypes.get("setShowScrollBottleneckRects"), 3239 parameterNames.get("setShowScrollBottleneckRects"), 3240 optionals, webSocketID, 3241 "Overlay.setShowScrollBottleneckRects", 3242 show 3243 ); 3244 3245 // This Remote Command does not have a Return-Value. 3246 return new Script<> 3247 (webSocketID, requestJSON, VOID_RETURN.NoReturnValues); 3248 } 3249 3250 /** 3251 * Requests that backend shows hit-test borders on layers 3252 * 3253 * @param show True for showing hit-test borders 3254 * 3255 * @return An instance of <CODE>{@link Script}<String, {@link JsonObject}, 3256 * {@link Ret0}></CODE> 3257 * 3258 * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the 3259 * browser receives the invocation-request. 3260 * 3261 * <BR /><BR />This Browser-Function <I>does not have</I> a return-value. You may choose to 3262 * <B STYLE='color: red'>await</B> the {@link Promise}{@code <JsonObject,} {@link Ret0} 3263 * {@code >} to ensure the Browser Function has run to completion. 3264 */ 3265 public static Script<String, JsonObject, Ret0> setShowHitTestBorders(boolean show) 3266 { 3267 final int webSocketID = 31023000 + counter++; 3268 final boolean[] optionals = { false, }; 3269 3270 // Convert Method Parameters into JSON. Build the JSON Request-Object (as a String) 3271 String requestJSON = WriteJSON.get( 3272 parameterTypes.get("setShowHitTestBorders"), 3273 parameterNames.get("setShowHitTestBorders"), 3274 optionals, webSocketID, 3275 "Overlay.setShowHitTestBorders", 3276 show 3277 ); 3278 3279 // This Remote Command does not have a Return-Value. 3280 return new Script<> 3281 (webSocketID, requestJSON, VOID_RETURN.NoReturnValues); 3282 } 3283 3284 /** 3285 * Request that backend shows an overlay with web vital metrics. 3286 * 3287 * @param show - 3288 * 3289 * @return An instance of <CODE>{@link Script}<String, {@link JsonObject}, 3290 * {@link Ret0}></CODE> 3291 * 3292 * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the 3293 * browser receives the invocation-request. 3294 * 3295 * <BR /><BR />This Browser-Function <I>does not have</I> a return-value. You may choose to 3296 * <B STYLE='color: red'>await</B> the {@link Promise}{@code <JsonObject,} {@link Ret0} 3297 * {@code >} to ensure the Browser Function has run to completion. 3298 */ 3299 public static Script<String, JsonObject, Ret0> setShowWebVitals(boolean show) 3300 { 3301 final int webSocketID = 31024000 + counter++; 3302 final boolean[] optionals = { false, }; 3303 3304 // Convert Method Parameters into JSON. Build the JSON Request-Object (as a String) 3305 String requestJSON = WriteJSON.get( 3306 parameterTypes.get("setShowWebVitals"), 3307 parameterNames.get("setShowWebVitals"), 3308 optionals, webSocketID, 3309 "Overlay.setShowWebVitals", 3310 show 3311 ); 3312 3313 // This Remote Command does not have a Return-Value. 3314 return new Script<> 3315 (webSocketID, requestJSON, VOID_RETURN.NoReturnValues); 3316 } 3317 3318 /** 3319 * Paints viewport size upon main frame resize. 3320 * 3321 * @param show Whether to paint size or not. 3322 * 3323 * @return An instance of <CODE>{@link Script}<String, {@link JsonObject}, 3324 * {@link Ret0}></CODE> 3325 * 3326 * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the 3327 * browser receives the invocation-request. 3328 * 3329 * <BR /><BR />This Browser-Function <I>does not have</I> a return-value. You may choose to 3330 * <B STYLE='color: red'>await</B> the {@link Promise}{@code <JsonObject,} {@link Ret0} 3331 * {@code >} to ensure the Browser Function has run to completion. 3332 */ 3333 public static Script<String, JsonObject, Ret0> setShowViewportSizeOnResize(boolean show) 3334 { 3335 final int webSocketID = 31025000 + counter++; 3336 final boolean[] optionals = { false, }; 3337 3338 // Convert Method Parameters into JSON. Build the JSON Request-Object (as a String) 3339 String requestJSON = WriteJSON.get( 3340 parameterTypes.get("setShowViewportSizeOnResize"), 3341 parameterNames.get("setShowViewportSizeOnResize"), 3342 optionals, webSocketID, 3343 "Overlay.setShowViewportSizeOnResize", 3344 show 3345 ); 3346 3347 // This Remote Command does not have a Return-Value. 3348 return new Script<> 3349 (webSocketID, requestJSON, VOID_RETURN.NoReturnValues); 3350 } 3351 3352 /** 3353 * Add a dual screen device hinge 3354 * 3355 * @param hingeConfig hinge data, null means hideHinge 3356 * <BR /><B>OPTIONAL</B> 3357 * 3358 * @return An instance of <CODE>{@link Script}<String, {@link JsonObject}, 3359 * {@link Ret0}></CODE> 3360 * 3361 * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the 3362 * browser receives the invocation-request. 3363 * 3364 * <BR /><BR />This Browser-Function <I>does not have</I> a return-value. You may choose to 3365 * <B STYLE='color: red'>await</B> the {@link Promise}{@code <JsonObject,} {@link Ret0} 3366 * {@code >} to ensure the Browser Function has run to completion. 3367 */ 3368 public static Script<String, JsonObject, Ret0> setShowHinge(Overlay.HingeConfig hingeConfig) 3369 { 3370 final int webSocketID = 31026000 + counter++; 3371 final boolean[] optionals = { true, }; 3372 3373 // Convert Method Parameters into JSON. Build the JSON Request-Object (as a String) 3374 String requestJSON = WriteJSON.get( 3375 parameterTypes.get("setShowHinge"), 3376 parameterNames.get("setShowHinge"), 3377 optionals, webSocketID, 3378 "Overlay.setShowHinge", 3379 hingeConfig 3380 ); 3381 3382 // This Remote Command does not have a Return-Value. 3383 return new Script<> 3384 (webSocketID, requestJSON, VOID_RETURN.NoReturnValues); 3385 } 3386 3387 /** 3388 * Show elements in isolation mode with overlays. 3389 * 3390 * @param isolatedElementHighlightConfigs An array of node identifiers and descriptors for the highlight appearance. 3391 * 3392 * @return An instance of <CODE>{@link Script}<String, {@link JsonObject}, 3393 * {@link Ret0}></CODE> 3394 * 3395 * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the 3396 * browser receives the invocation-request. 3397 * 3398 * <BR /><BR />This Browser-Function <I>does not have</I> a return-value. You may choose to 3399 * <B STYLE='color: red'>await</B> the {@link Promise}{@code <JsonObject,} {@link Ret0} 3400 * {@code >} to ensure the Browser Function has run to completion. 3401 */ 3402 public static Script<String, JsonObject, Ret0> setShowIsolatedElements 3403 (Overlay.IsolatedElementHighlightConfig[] isolatedElementHighlightConfigs) 3404 { 3405 // Exception-Check(s) to ensure that if any parameters which are not declared as 3406 // 'Optional', but have a 'null' value anyway, that a NullPointerException shall throw. 3407 3408 if (isolatedElementHighlightConfigs == null) THROWS.throwNPE("isolatedElementHighlightConfigs"); 3409 3410 final int webSocketID = 31027000 + counter++; 3411 final boolean[] optionals = { false, }; 3412 3413 // Convert Method Parameters into JSON. Build the JSON Request-Object (as a String) 3414 String requestJSON = WriteJSON.get( 3415 parameterTypes.get("setShowIsolatedElements"), 3416 parameterNames.get("setShowIsolatedElements"), 3417 optionals, webSocketID, 3418 "Overlay.setShowIsolatedElements", 3419 (Object) isolatedElementHighlightConfigs 3420 ); 3421 3422 // This Remote Command does not have a Return-Value. 3423 return new Script<> 3424 (webSocketID, requestJSON, VOID_RETURN.NoReturnValues); 3425 } 3426 3427}