| OLD | NEW |
| (Empty) |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 // Use the <code>system.display</code> API to query display metadata. | |
| 6 namespace system.display { | |
| 7 | |
| 8 dictionary Bounds { | |
| 9 // The x-coordinate of the upper-left corner. | |
| 10 long left; | |
| 11 | |
| 12 // The y-coordinate of the upper-left corner. | |
| 13 long top; | |
| 14 | |
| 15 // The width of the display in pixels. | |
| 16 long width; | |
| 17 | |
| 18 // The height of the display in pixels. | |
| 19 long height; | |
| 20 }; | |
| 21 | |
| 22 dictionary Insets { | |
| 23 // The x-axis distance from the left bound. | |
| 24 long left; | |
| 25 | |
| 26 // The y-axis distance from the top bound. | |
| 27 long top; | |
| 28 | |
| 29 // The x-axis distance from the right bound. | |
| 30 long right; | |
| 31 | |
| 32 // The y-axis distance from the bottom bound. | |
| 33 long bottom; | |
| 34 }; | |
| 35 | |
| 36 dictionary DisplayUnitInfo { | |
| 37 // The unique identifier of the display. | |
| 38 DOMString id; | |
| 39 | |
| 40 // The user-friendly name (e.g. "HP LCD monitor"). | |
| 41 DOMString name; | |
| 42 | |
| 43 // Identifier of the display that is being mirrored on the display unit. | |
| 44 // If mirroring is not in progress, set to an empty string. | |
| 45 // Currently exposed only on ChromeOS. Will be empty string on other | |
| 46 // platforms. | |
| 47 DOMString mirroringSourceId; | |
| 48 | |
| 49 // True if this is the primary display. | |
| 50 boolean isPrimary; | |
| 51 | |
| 52 // True if this is an internal display. | |
| 53 boolean isInternal; | |
| 54 | |
| 55 // True if this display is enabled. | |
| 56 boolean isEnabled; | |
| 57 | |
| 58 // The number of pixels per inch along the x-axis. | |
| 59 double dpiX; | |
| 60 | |
| 61 // The number of pixels per inch along the y-axis. | |
| 62 double dpiY; | |
| 63 | |
| 64 // The display's clockwise rotation in degrees relative to the vertical | |
| 65 // position. | |
| 66 // Currently exposed only on ChromeOS. Will be set to 0 on other platforms. | |
| 67 long rotation; | |
| 68 | |
| 69 // The display's logical bounds. | |
| 70 Bounds bounds; | |
| 71 | |
| 72 // The display's insets within its screen's bounds. | |
| 73 // Currently exposed only on ChromeOS. Will be set to empty insets on | |
| 74 // other platforms. | |
| 75 Insets overscan; | |
| 76 | |
| 77 // The usable work area of the display within the display bounds. The work | |
| 78 // area excludes areas of the display reserved for OS, for example taskbar | |
| 79 // and launcher. | |
| 80 Bounds workArea; | |
| 81 }; | |
| 82 | |
| 83 dictionary DisplayProperties { | |
| 84 // If set and not empty, starts mirroring between this and the display with | |
| 85 // the provided id (the system will determine which of the displays is | |
| 86 // actually mirrored). | |
| 87 // If set and not empty, stops mirroring between this and the display with | |
| 88 // the specified id (if mirroring is in progress). | |
| 89 // If set, no other parameter may be set. | |
| 90 DOMString? mirroringSourceId; | |
| 91 | |
| 92 // If set to true, makes the display primary. No-op if set to false. | |
| 93 boolean? isPrimary; | |
| 94 | |
| 95 // If set, sets the display's overscan insets to the provided values. Note | |
| 96 // that overscan values may not be negative or larger than a half of the | |
| 97 // screen's size. Overscan cannot be changed on the internal monitor. | |
| 98 // It's applied after <code>isPrimary</code> parameter. | |
| 99 Insets? overscan; | |
| 100 | |
| 101 // If set, updates the display's rotation. | |
| 102 // Legal values are [0, 90, 180, 270]. The rotation is set clockwise, | |
| 103 // relative to the display's vertical position. | |
| 104 // It's applied after <code>overscan</code> paramter. | |
| 105 long? rotation; | |
| 106 | |
| 107 // If set, updates the display's logical bounds origin along x-axis. Applied | |
| 108 // together with <code>boundsOriginY</code>, if <code>boundsOriginY</code> | |
| 109 // is set. Note that, when updating the display origin, some constraints | |
| 110 // will be applied, so the final bounds origin may be different than the one | |
| 111 // set. The final bounds can be retrieved using $(ref:getInfo). | |
| 112 // The bounds origin is applied after <code>rotation</code>. | |
| 113 // The bounds origin cannot be changed on the primary display. Note that is | |
| 114 // also invalid to set bounds origin values if <code>isPrimary</code> is | |
| 115 // also set (as <code>isPrimary</code> parameter is applied first). | |
| 116 long? boundsOriginX; | |
| 117 | |
| 118 // If set, updates the display's logical bounds origin along y-axis. | |
| 119 // See documentation for <code>boundsOriginX</code> parameter. | |
| 120 long? boundsOriginY; | |
| 121 }; | |
| 122 | |
| 123 callback DisplayInfoCallback = void (DisplayUnitInfo[] displayInfo); | |
| 124 callback SetDisplayUnitInfoCallback = void(); | |
| 125 | |
| 126 interface Functions { | |
| 127 // Get the information of all attached display devices. | |
| 128 static void getInfo(DisplayInfoCallback callback); | |
| 129 | |
| 130 // Updates the properties for the display specified by |id|, according to | |
| 131 // the information provided in |info|. On failure, $(ref:runtime.lastError) | |
| 132 // will be set. | |
| 133 // |id|: The display's unique identifier. | |
| 134 // |info|: The information about display properties that should be changed. | |
| 135 // A property will be changed only if a new value for it is specified in | |
| 136 // |info|. | |
| 137 // |callback|: Empty function called when the function finishes. To find out | |
| 138 // whether the function succeeded, $(ref:runtime.lastError) should be | |
| 139 // queried. | |
| 140 static void setDisplayProperties( | |
| 141 DOMString id, | |
| 142 DisplayProperties info, | |
| 143 optional SetDisplayUnitInfoCallback callback); | |
| 144 }; | |
| 145 | |
| 146 interface Events { | |
| 147 // Fired when anything changes to the display configuration. | |
| 148 static void onDisplayChanged(); | |
| 149 }; | |
| 150 }; | |
| OLD | NEW |