OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef ASH_DISPLAY_DISPLAY_INFO_H_ | 5 #ifndef ASH_DISPLAY_DISPLAY_INFO_H_ |
6 #define ASH_DISPLAY_DISPLAY_INFO_H_ | 6 #define ASH_DISPLAY_DISPLAY_INFO_H_ |
7 | 7 |
8 #include <map> | |
9 #include <string> | 8 #include <string> |
10 #include <vector> | 9 #include <vector> |
11 | 10 |
12 #include "ash/ash_export.h" | 11 #include "ash/ash_export.h" |
13 #include "ui/display/types/display_constants.h" | 12 #include "ui/display/types/display_constants.h" |
14 #include "ui/gfx/display.h" | 13 #include "ui/gfx/display.h" |
15 #include "ui/gfx/geometry/insets.h" | 14 #include "ui/gfx/geometry/insets.h" |
16 #include "ui/gfx/geometry/rect.h" | 15 #include "ui/gfx/geometry/rect.h" |
17 | 16 |
18 namespace ash { | 17 namespace ash { |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
97 | 96 |
98 int64 id() const { return id_; } | 97 int64 id() const { return id_; } |
99 | 98 |
100 // The name of the display. | 99 // The name of the display. |
101 const std::string& name() const { return name_; } | 100 const std::string& name() const { return name_; } |
102 | 101 |
103 // True if the display EDID has the overscan flag. This does not create the | 102 // True if the display EDID has the overscan flag. This does not create the |
104 // actual overscan automatically, but used in the message. | 103 // actual overscan automatically, but used in the message. |
105 bool has_overscan() const { return has_overscan_; } | 104 bool has_overscan() const { return has_overscan_; } |
106 | 105 |
| 106 void set_rotation(gfx::Display::Rotation rotation) { rotation_ = rotation; } |
| 107 gfx::Display::Rotation rotation() const { return rotation_; } |
| 108 |
107 void set_touch_support(gfx::Display::TouchSupport support) { | 109 void set_touch_support(gfx::Display::TouchSupport support) { |
108 touch_support_ = support; | 110 touch_support_ = support; |
109 } | 111 } |
110 gfx::Display::TouchSupport touch_support() const { return touch_support_; } | 112 gfx::Display::TouchSupport touch_support() const { return touch_support_; } |
111 | 113 |
112 void set_touch_device_id(int id) { touch_device_id_ = id; } | 114 void set_touch_device_id(int id) { touch_device_id_ = id; } |
113 int touch_device_id() const { return touch_device_id_; } | 115 int touch_device_id() const { return touch_device_id_; } |
114 | 116 |
115 // Gets/Sets the device scale factor of the display. | 117 // Gets/Sets the device scale factor of the display. |
116 float device_scale_factor() const { return device_scale_factor_; } | 118 float device_scale_factor() const { return device_scale_factor_; } |
(...skipping 13 matching lines...) Expand all Loading... |
130 const gfx::Insets& overscan_insets_in_dip() const { | 132 const gfx::Insets& overscan_insets_in_dip() const { |
131 return overscan_insets_in_dip_; | 133 return overscan_insets_in_dip_; |
132 } | 134 } |
133 | 135 |
134 // Sets/gets configured ui scale. This can be different from the ui | 136 // Sets/gets configured ui scale. This can be different from the ui |
135 // scale actually used when the scale is 2.0 and DSF is 2.0. | 137 // scale actually used when the scale is 2.0 and DSF is 2.0. |
136 // (the effective ui scale is 1.0 in this case). | 138 // (the effective ui scale is 1.0 in this case). |
137 float configured_ui_scale() const { return configured_ui_scale_; } | 139 float configured_ui_scale() const { return configured_ui_scale_; } |
138 void set_configured_ui_scale(float scale) { configured_ui_scale_ = scale; } | 140 void set_configured_ui_scale(float scale) { configured_ui_scale_ = scale; } |
139 | 141 |
140 // Sets the rotation for the given |source|. Setting a new rotation will also | |
141 // have it become the active rotation. | |
142 void SetRotation(gfx::Display::Rotation rotation, | |
143 gfx::Display::RotationSource source); | |
144 | |
145 // Returns the currently active rotation for this display. | |
146 gfx::Display::Rotation GetActiveRotation() const; | |
147 | |
148 // Returns the rotation set by a given |source|. | |
149 gfx::Display::Rotation GetRotation(gfx::Display::RotationSource source) const; | |
150 | |
151 // Returns the ui scale and device scale factor actually used to create | 142 // Returns the ui scale and device scale factor actually used to create |
152 // display that chrome sees. This can be different from one obtained | 143 // display that chrome sees. This can be different from one obtained |
153 // from dispaly or one specified by a user in following situation. | 144 // from dispaly or one specified by a user in following situation. |
154 // 1) DSF is 2.0f and UI scale is 2.0f. (Returns 1.0f and 1.0f respectiely) | 145 // 1) DSF is 2.0f and UI scale is 2.0f. (Returns 1.0f and 1.0f respectiely) |
155 // 2) A user specified 0.8x on the device that has 1.25 DSF. 1.25 DSF device | 146 // 2) A user specified 0.8x on the device that has 1.25 DSF. 1.25 DSF device |
156 // uses 1.0f DFS unless 0.8x UI scaling is specified. | 147 // uses 1.0f DFS unless 0.8x UI scaling is specified. |
157 float GetEffectiveDeviceScaleFactor() const; | 148 float GetEffectiveDeviceScaleFactor() const; |
158 | 149 |
159 // Returns the ui scale used for the device scale factor. This | 150 // Returns the ui scale used for the device scale factor. This |
160 // return 1.0f if the ui scale and dsf are both set to 2.0. | 151 // return 1.0f if the ui scale and dsf are both set to 2.0. |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
233 std::string ToFullString() const; | 224 std::string ToFullString() const; |
234 | 225 |
235 private: | 226 private: |
236 // Returns true if this display should use DSF=1.25 for UI scaling; i.e. | 227 // Returns true if this display should use DSF=1.25 for UI scaling; i.e. |
237 // SetUse125DSFForUIScaling(true) is called and this is the internal display. | 228 // SetUse125DSFForUIScaling(true) is called and this is the internal display. |
238 bool Use125DSFRorUIScaling() const; | 229 bool Use125DSFRorUIScaling() const; |
239 | 230 |
240 int64 id_; | 231 int64 id_; |
241 std::string name_; | 232 std::string name_; |
242 bool has_overscan_; | 233 bool has_overscan_; |
243 std::map<gfx::Display::RotationSource, gfx::Display::Rotation> rotations_; | 234 gfx::Display::Rotation rotation_; |
244 gfx::Display::TouchSupport touch_support_; | 235 gfx::Display::TouchSupport touch_support_; |
245 | 236 |
246 // If the display is also a touch device, it will have a positive | 237 // If the display is also a touch device, it will have a positive |
247 // |touch_device_id_|. Otherwise |touch_device_id_| is 0. | 238 // |touch_device_id_|. Otherwise |touch_device_id_| is 0. |
248 int touch_device_id_; | 239 int touch_device_id_; |
249 | 240 |
250 // This specifies the device's pixel density. (For example, a | 241 // This specifies the device's pixel density. (For example, a |
251 // display whose DPI is higher than the threshold is considered to have | 242 // display whose DPI is higher than the threshold is considered to have |
252 // device_scale_factor = 2.0 on Chrome OS). This is used by the | 243 // device_scale_factor = 2.0 on Chrome OS). This is used by the |
253 // grapics layer to choose and draw appropriate images and scale | 244 // grapics layer to choose and draw appropriate images and scale |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
288 | 279 |
289 // The list of available variations for the color calibration. | 280 // The list of available variations for the color calibration. |
290 std::vector<ui::ColorCalibrationProfile> available_color_profiles_; | 281 std::vector<ui::ColorCalibrationProfile> available_color_profiles_; |
291 | 282 |
292 // If you add a new member, you need to update Copy(). | 283 // If you add a new member, you need to update Copy(). |
293 }; | 284 }; |
294 | 285 |
295 } // namespace ash | 286 } // namespace ash |
296 | 287 |
297 #endif // ASH_DISPLAY_DISPLAY_INFO_H_ | 288 #endif // ASH_DISPLAY_DISPLAY_INFO_H_ |
OLD | NEW |