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

Side by Side Diff: chromeos/display/output_configurator.h

Issue 15067012: Move chromeos specific utility functions for display to chromeos/display (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: added test Created 7 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 | Annotate | Revision Log
« no previous file with comments | « chromeos/chromeos.gyp ('k') | chromeos/display/output_configurator.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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 CHROMEOS_DISPLAY_OUTPUT_CONFIGURATOR_H_ 5 #ifndef CHROMEOS_DISPLAY_OUTPUT_CONFIGURATOR_H_
6 #define CHROMEOS_DISPLAY_OUTPUT_CONFIGURATOR_H_ 6 #define CHROMEOS_DISPLAY_OUTPUT_CONFIGURATOR_H_
7 7
8 #include <map> 8 #include <map>
9 #include <string>
9 #include <vector> 10 #include <vector>
10 11
11 #include "base/basictypes.h" 12 #include "base/basictypes.h"
12 #include "base/event_types.h" 13 #include "base/event_types.h"
13 #include "base/observer_list.h" 14 #include "base/observer_list.h"
14 #include "base/memory/scoped_ptr.h" 15 #include "base/memory/scoped_ptr.h"
15 #include "base/message_loop.h" 16 #include "base/message_loop.h"
16 #include "base/timer.h" 17 #include "base/timer.h"
17 #include "chromeos/chromeos_export.h" 18 #include "chromeos/chromeos_export.h"
18 #include "third_party/cros_system_api/dbus/service_constants.h" 19 #include "third_party/cros_system_api/dbus/service_constants.h"
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 56
56 int y; 57 int y;
57 int height; 58 int height;
58 59
59 bool is_internal; 60 bool is_internal;
60 bool is_aspect_preserving_scaling; 61 bool is_aspect_preserving_scaling;
61 62
62 // XInput device ID or 0 if this output isn't a touchscreen. 63 // XInput device ID or 0 if this output isn't a touchscreen.
63 int touch_device_id; 64 int touch_device_id;
64 65
65 // TODO(oshima): Move xrandr related functions to here 66 // Display id for this output.
66 // from ui/base/x and replace this with display id. 67 int64 display_id;
67 int index; 68
69 bool has_display_id;
68 }; 70 };
69 71
70 struct CoordinateTransformation { 72 struct CoordinateTransformation {
71 // Initialized to the identity transformation. 73 // Initialized to the identity transformation.
72 CoordinateTransformation(); 74 CoordinateTransformation();
73 75
74 float x_scale; 76 float x_scale;
75 float x_offset; 77 float x_offset;
76 float y_scale; 78 float y_scale;
77 float y_offset; 79 float y_offset;
(...skipping 23 matching lines...) Expand all
101 virtual void OnDisplayModeChangeFailed(OutputState failed_new_state) {} 103 virtual void OnDisplayModeChangeFailed(OutputState failed_new_state) {}
102 }; 104 };
103 105
104 // Interface for classes that make decisions about which output state 106 // Interface for classes that make decisions about which output state
105 // should be used. 107 // should be used.
106 class StateController { 108 class StateController {
107 public: 109 public:
108 virtual ~StateController() {} 110 virtual ~StateController() {}
109 111
110 // Called when displays are detected. 112 // Called when displays are detected.
111 virtual OutputState GetStateForOutputs( 113 virtual OutputState GetStateForDisplayIds(
112 const std::vector<OutputSnapshot>& outputs) const = 0; 114 const std::vector<int64>& display_ids) const = 0;
113 }; 115 };
114 116
115 // Interface for classes that perform actions on behalf of OutputController. 117 // Interface for classes that perform actions on behalf of OutputController.
116 class Delegate { 118 class Delegate {
117 public: 119 public:
118 virtual ~Delegate() {} 120 virtual ~Delegate() {}
119 121
120 virtual void SetPanelFittingEnabled(bool enabled) = 0; 122 virtual void SetPanelFittingEnabled(bool enabled) = 0;
121 123
122 // Initializes the XRandR extension, saving the base event ID to 124 // Initializes the XRandR extension, saving the base event ID to
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
209 211
210 // Gap between screens so cursor at bottom of active display doesn't 212 // Gap between screens so cursor at bottom of active display doesn't
211 // partially appear on top of inactive display. Higher numbers guard 213 // partially appear on top of inactive display. Higher numbers guard
212 // against larger cursors, but also waste more memory. 214 // against larger cursors, but also waste more memory.
213 // For simplicity, this is hard-coded to avoid the complexity of always 215 // For simplicity, this is hard-coded to avoid the complexity of always
214 // determining the DPI of the screen and rationalizing which screen we 216 // determining the DPI of the screen and rationalizing which screen we
215 // need to use for the DPI calculation. 217 // need to use for the DPI calculation.
216 // See crbug.com/130188 for initial discussion. 218 // See crbug.com/130188 for initial discussion.
217 static const int kVerticalGap = 60; 219 static const int kVerticalGap = 60;
218 220
219 // Returns true if an output named |name| is an internal display.
220 static bool IsInternalOutputName(const std::string& name);
221
222 OutputConfigurator(); 221 OutputConfigurator();
223 virtual ~OutputConfigurator(); 222 virtual ~OutputConfigurator();
224 223
225 OutputState output_state() const { return output_state_; } 224 OutputState output_state() const { return output_state_; }
226 DisplayPowerState power_state() const { return power_state_; } 225 DisplayPowerState power_state() const { return power_state_; }
227 226
228 void set_state_controller(StateController* controller) { 227 void set_state_controller(StateController* controller) {
229 state_controller_ = controller; 228 state_controller_ = controller;
230 } 229 }
231 230
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
347 scoped_ptr<base::OneShotTimer<OutputConfigurator> > configure_timer_; 346 scoped_ptr<base::OneShotTimer<OutputConfigurator> > configure_timer_;
348 347
349 DISALLOW_COPY_AND_ASSIGN(OutputConfigurator); 348 DISALLOW_COPY_AND_ASSIGN(OutputConfigurator);
350 }; 349 };
351 350
352 typedef std::vector<OutputConfigurator::OutputSnapshot> OutputSnapshotList; 351 typedef std::vector<OutputConfigurator::OutputSnapshot> OutputSnapshotList;
353 352
354 } // namespace chromeos 353 } // namespace chromeos
355 354
356 #endif // CHROMEOS_DISPLAY_OUTPUT_CONFIGURATOR_H_ 355 #endif // CHROMEOS_DISPLAY_OUTPUT_CONFIGURATOR_H_
OLDNEW
« no previous file with comments | « chromeos/chromeos.gyp ('k') | chromeos/display/output_configurator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698