Chromium Code Reviews| Index: chromeos/display/output_configurator.h |
| diff --git a/chromeos/display/output_configurator.h b/chromeos/display/output_configurator.h |
| index c59c0765bdff9d5a0b0b7ff7667d54cc2b5609d8..bac694a5e13588ec1a1bf226ec433ae24abd1728 100644 |
| --- a/chromeos/display/output_configurator.h |
| +++ b/chromeos/display/output_configurator.h |
| @@ -177,6 +177,31 @@ class CHROMEOS_EXPORT OutputConfigurator : public MessageLoop::Dispatcher { |
| // size for the corresponding offset. |
| virtual void ConfigureCTM(int touch_device_id, |
| const CoordinateTransformation& ctm) = 0; |
| + |
| + // Sends a D-Bus message to the power manager telling it that the |
| + // machine is or is not projecting. |
| + virtual void SendProjectingStateToPowerManager(bool projecting) = 0; |
| + }; |
| + |
| + // Helper class used by tests. |
| + class TestApi { |
| + public: |
| + TestApi(OutputConfigurator* configurator, int xrandr_event_base) |
| + : configurator_(configurator), |
| + xrandr_event_base_(xrandr_event_base) {} |
| + ~TestApi() {} |
| + |
| + // Dispatches RRScreenChangeNotify and RRNotify_OutputChange events to |
| + // |configurator_| and runs ConfigureOutputs(). Returns false if |
| + // |configure_timer_| wasn't started. |
| + bool SendOutputChangeEvents(bool connected); |
| + |
| + private: |
| + OutputConfigurator* configurator_; // not owned |
| + |
| + int xrandr_event_base_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(TestApi); |
| }; |
|
oshima
2013/04/08 17:29:15
can you move testapi to chromeos/test ? I believe
Daniel Erat
2013/04/08 21:47:53
There are a lot of existing examples of TestApi cl
oshima
2013/04/08 23:21:44
Ok, I was asked to separate TestApi in the past to
|
| // Flags that can be passed to SetDisplayPower(). |
| @@ -187,6 +212,15 @@ class CHROMEOS_EXPORT OutputConfigurator : public MessageLoop::Dispatcher { |
| // only connected display is external. |
| static const int kSetDisplayPowerOnlyIfSingleInternalDisplay = 1 << 1; |
| + // Gap between screens so cursor at bottom of active display doesn't |
| + // partially appear on top of inactive display. Higher numbers guard |
| + // against larger cursors, but also waste more memory. |
| + // For simplicity, this is hard-coded to avoid the complexity of always |
| + // determining the DPI of the screen and rationalizing which screen we |
| + // need to use for the DPI calculation. |
| + // See crbug.com/130188 for initial discussion. |
| + static const int kVerticalGap = 60; |
| + |
| // Returns true if an output named |name| is an internal display. |
| static bool IsInternalOutputName(const std::string& name); |
| @@ -206,6 +240,10 @@ class CHROMEOS_EXPORT OutputConfigurator : public MessageLoop::Dispatcher { |
| state_controller_ = controller; |
| } |
| + // Replaces |delegate_| with |delegate| and sets |configure_display_| to |
| + // true. Should be called before Init(). |
| + void SetDelegateForTesting(scoped_ptr<Delegate> delegate); |
| + |
| // Initialization, must be called right after constructor. |
| // |is_panel_fitting_enabled| indicates hardware panel fitting support. |
| // If |background_color_argb| is non zero and there are multiple displays, |