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

Side by Side Diff: ash/display/display_info.h

Issue 1107383002: Merge Prevent DisplayPreferences from saving incorrect rotations. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2357
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ash/display/display_controller_unittest.cc ('k') | ash/display/display_info.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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>
8 #include <string> 9 #include <string>
9 #include <vector> 10 #include <vector>
10 11
11 #include "ash/ash_export.h" 12 #include "ash/ash_export.h"
12 #include "ui/display/types/display_constants.h" 13 #include "ui/display/types/display_constants.h"
13 #include "ui/gfx/display.h" 14 #include "ui/gfx/display.h"
14 #include "ui/gfx/geometry/insets.h" 15 #include "ui/gfx/geometry/insets.h"
15 #include "ui/gfx/geometry/rect.h" 16 #include "ui/gfx/geometry/rect.h"
16 17
17 namespace ash { 18 namespace ash {
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 97
97 int64 id() const { return id_; } 98 int64 id() const { return id_; }
98 99
99 // The name of the display. 100 // The name of the display.
100 const std::string& name() const { return name_; } 101 const std::string& name() const { return name_; }
101 102
102 // True if the display EDID has the overscan flag. This does not create the 103 // True if the display EDID has the overscan flag. This does not create the
103 // actual overscan automatically, but used in the message. 104 // actual overscan automatically, but used in the message.
104 bool has_overscan() const { return has_overscan_; } 105 bool has_overscan() const { return has_overscan_; }
105 106
106 void set_rotation(gfx::Display::Rotation rotation) { rotation_ = rotation; }
107 gfx::Display::Rotation rotation() const { return rotation_; }
108
109 void set_touch_support(gfx::Display::TouchSupport support) { 107 void set_touch_support(gfx::Display::TouchSupport support) {
110 touch_support_ = support; 108 touch_support_ = support;
111 } 109 }
112 gfx::Display::TouchSupport touch_support() const { return touch_support_; } 110 gfx::Display::TouchSupport touch_support() const { return touch_support_; }
113 111
114 void set_touch_device_id(int id) { touch_device_id_ = id; } 112 void set_touch_device_id(int id) { touch_device_id_ = id; }
115 int touch_device_id() const { return touch_device_id_; } 113 int touch_device_id() const { return touch_device_id_; }
116 114
117 // Gets/Sets the device scale factor of the display. 115 // Gets/Sets the device scale factor of the display.
118 float device_scale_factor() const { return device_scale_factor_; } 116 float device_scale_factor() const { return device_scale_factor_; }
(...skipping 13 matching lines...) Expand all
132 const gfx::Insets& overscan_insets_in_dip() const { 130 const gfx::Insets& overscan_insets_in_dip() const {
133 return overscan_insets_in_dip_; 131 return overscan_insets_in_dip_;
134 } 132 }
135 133
136 // Sets/gets configured ui scale. This can be different from the ui 134 // Sets/gets configured ui scale. This can be different from the ui
137 // scale actually used when the scale is 2.0 and DSF is 2.0. 135 // scale actually used when the scale is 2.0 and DSF is 2.0.
138 // (the effective ui scale is 1.0 in this case). 136 // (the effective ui scale is 1.0 in this case).
139 float configured_ui_scale() const { return configured_ui_scale_; } 137 float configured_ui_scale() const { return configured_ui_scale_; }
140 void set_configured_ui_scale(float scale) { configured_ui_scale_ = scale; } 138 void set_configured_ui_scale(float scale) { configured_ui_scale_ = scale; }
141 139
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
142 // Returns the ui scale and device scale factor actually used to create 151 // Returns the ui scale and device scale factor actually used to create
143 // display that chrome sees. This can be different from one obtained 152 // display that chrome sees. This can be different from one obtained
144 // from dispaly or one specified by a user in following situation. 153 // from dispaly or one specified by a user in following situation.
145 // 1) DSF is 2.0f and UI scale is 2.0f. (Returns 1.0f and 1.0f respectiely) 154 // 1) DSF is 2.0f and UI scale is 2.0f. (Returns 1.0f and 1.0f respectiely)
146 // 2) A user specified 0.8x on the device that has 1.25 DSF. 1.25 DSF device 155 // 2) A user specified 0.8x on the device that has 1.25 DSF. 1.25 DSF device
147 // uses 1.0f DFS unless 0.8x UI scaling is specified. 156 // uses 1.0f DFS unless 0.8x UI scaling is specified.
148 float GetEffectiveDeviceScaleFactor() const; 157 float GetEffectiveDeviceScaleFactor() const;
149 158
150 // Returns the ui scale used for the device scale factor. This 159 // Returns the ui scale used for the device scale factor. This
151 // return 1.0f if the ui scale and dsf are both set to 2.0. 160 // 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
224 std::string ToFullString() const; 233 std::string ToFullString() const;
225 234
226 private: 235 private:
227 // Returns true if this display should use DSF=1.25 for UI scaling; i.e. 236 // Returns true if this display should use DSF=1.25 for UI scaling; i.e.
228 // SetUse125DSFForUIScaling(true) is called and this is the internal display. 237 // SetUse125DSFForUIScaling(true) is called and this is the internal display.
229 bool Use125DSFRorUIScaling() const; 238 bool Use125DSFRorUIScaling() const;
230 239
231 int64 id_; 240 int64 id_;
232 std::string name_; 241 std::string name_;
233 bool has_overscan_; 242 bool has_overscan_;
234 gfx::Display::Rotation rotation_; 243 std::map<gfx::Display::RotationSource, gfx::Display::Rotation> rotations_;
235 gfx::Display::TouchSupport touch_support_; 244 gfx::Display::TouchSupport touch_support_;
236 245
237 // If the display is also a touch device, it will have a positive 246 // If the display is also a touch device, it will have a positive
238 // |touch_device_id_|. Otherwise |touch_device_id_| is 0. 247 // |touch_device_id_|. Otherwise |touch_device_id_| is 0.
239 int touch_device_id_; 248 int touch_device_id_;
240 249
241 // This specifies the device's pixel density. (For example, a 250 // This specifies the device's pixel density. (For example, a
242 // display whose DPI is higher than the threshold is considered to have 251 // display whose DPI is higher than the threshold is considered to have
243 // device_scale_factor = 2.0 on Chrome OS). This is used by the 252 // device_scale_factor = 2.0 on Chrome OS). This is used by the
244 // grapics layer to choose and draw appropriate images and scale 253 // grapics layer to choose and draw appropriate images and scale
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
279 288
280 // The list of available variations for the color calibration. 289 // The list of available variations for the color calibration.
281 std::vector<ui::ColorCalibrationProfile> available_color_profiles_; 290 std::vector<ui::ColorCalibrationProfile> available_color_profiles_;
282 291
283 // If you add a new member, you need to update Copy(). 292 // If you add a new member, you need to update Copy().
284 }; 293 };
285 294
286 } // namespace ash 295 } // namespace ash
287 296
288 #endif // ASH_DISPLAY_DISPLAY_INFO_H_ 297 #endif // ASH_DISPLAY_DISPLAY_INFO_H_
OLDNEW
« no previous file with comments | « ash/display/display_controller_unittest.cc ('k') | ash/display/display_info.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698