| Index: ui/display/fake_display_snapshot.h
|
| diff --git a/ui/display/fake_display_snapshot.h b/ui/display/fake_display_snapshot.h
|
| index f1ed1d6daa43ba1c0be3dda070543a4d1a60629f..1f17bf85e91cd60e01030853588bfccdc4052124 100644
|
| --- a/ui/display/fake_display_snapshot.h
|
| +++ b/ui/display/fake_display_snapshot.h
|
| @@ -9,25 +9,88 @@
|
|
|
| #include <memory>
|
| #include <string>
|
| +#include <vector>
|
|
|
| #include "base/macros.h"
|
| +#include "ui/display/display.h"
|
| #include "ui/display/display_export.h"
|
| #include "ui/display/types/display_mode.h"
|
| #include "ui/display/types/display_snapshot.h"
|
| +#include "ui/gfx/geometry/point.h"
|
| #include "ui/gfx/geometry/size.h"
|
|
|
| namespace display {
|
|
|
| // A display snapshot that doesn't correspond to a physical display, used when
|
| // running off device.
|
| -class FakeDisplaySnapshot : public ui::DisplaySnapshot {
|
| +class DISPLAY_EXPORT FakeDisplaySnapshot : public ui::DisplaySnapshot {
|
| public:
|
| - // TODO(kylechar): Add a builder.
|
| + class Builder {
|
| + public:
|
| + Builder();
|
| + ~Builder();
|
| +
|
| + // Builds new FakeDisplaySnapshot. At the very minimum you must set id and
|
| + // native display mode before building or it will fail.
|
| + std::unique_ptr<FakeDisplaySnapshot> Build();
|
| +
|
| + Builder& SetId(int64_t id);
|
| + // Adds display mode with |size| and set as native mode. If a display mode
|
| + // with |size| already exists then it will be reused.
|
| + Builder& SetNativeMode(const gfx::Size& size);
|
| + // Adds display mode with |size| and set as current mode. If a display mode
|
| + // with |size| already exists then it will be reused.
|
| + Builder& SetCurrentMode(const gfx::Size& size);
|
| + // Adds display mode with |size| if it doesn't exist.
|
| + Builder& AddMode(const gfx::Size& size);
|
| + Builder& SetOrigin(const gfx::Point& origin);
|
| + Builder& SetType(ui::DisplayConnectionType type);
|
| + Builder& SetIsAspectPerservingScaling(bool is_aspect_preserving_scaling);
|
| + Builder& SetHasOverscan(bool has_overscan);
|
| + Builder& SetHasColorCorrectionMatrix(bool val);
|
| + Builder& SetName(const std::string& name);
|
| + Builder& SetProductId(int64_t product_id);
|
| + // Sets physical_size so that the screen has the specified DPI using the
|
| + // native resolution.
|
| + Builder& SetDPI(int dpi);
|
| + // Sets physical_size for low DPI display.
|
| + Builder& SetLowDPI();
|
| + // Sets physical_size for high DPI display.
|
| + Builder& SetHighDPI();
|
| +
|
| + private:
|
| + // Returns a display mode with |size|. If there is no existing mode, insert
|
| + // a display mode with |size|.
|
| + const ui::DisplayMode* AddOrFindDisplayMode(const gfx::Size& size);
|
| +
|
| + int64_t id_ = Display::kInvalidDisplayID;
|
| + gfx::Point origin_;
|
| + float dpi_ = 96.0;
|
| + ui::DisplayConnectionType type_ = ui::DISPLAY_CONNECTION_TYPE_UNKNOWN;
|
| + bool is_aspect_preserving_scaling_ = false;
|
| + bool has_overscan_ = false;
|
| + bool has_color_correction_matrix_ = false;
|
| + std::string name_ = "Fake Display";
|
| + int64_t product_id_ = DisplaySnapshot::kInvalidProductID;
|
| + std::vector<std::unique_ptr<const ui::DisplayMode>> modes_;
|
| + const ui::DisplayMode* current_mode_ = nullptr;
|
| + const ui::DisplayMode* native_mode_ = nullptr;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(Builder);
|
| + };
|
|
|
| FakeDisplaySnapshot(int64_t display_id,
|
| - const gfx::Size& display_size,
|
| + const gfx::Point& origin,
|
| + const gfx::Size& physical_size,
|
| ui::DisplayConnectionType type,
|
| - std::string name);
|
| + bool is_aspect_preserving_scaling,
|
| + bool has_overscan,
|
| + bool has_color_correction_matrix,
|
| + std::string display_name,
|
| + int64_t product_id,
|
| + std::vector<std::unique_ptr<const ui::DisplayMode>> modes,
|
| + const ui::DisplayMode* current_mode,
|
| + const ui::DisplayMode* native_mode);
|
| ~FakeDisplaySnapshot() override;
|
|
|
| // DisplaySnapshot:
|
|
|