| OLD | NEW |
| (Empty) |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #include "ui/display/chromeos/test/action_logger_util.h" | |
| 6 | |
| 7 #include <stddef.h> | |
| 8 | |
| 9 #include "base/format_macros.h" | |
| 10 #include "base/logging.h" | |
| 11 #include "base/strings/stringprintf.h" | |
| 12 #include "ui/display/types/display_mode.h" | |
| 13 #include "ui/display/types/display_snapshot.h" | |
| 14 #include "ui/display/types/gamma_ramp_rgb_entry.h" | |
| 15 #include "ui/display/types/native_display_delegate.h" | |
| 16 #include "ui/gfx/geometry/point.h" | |
| 17 #include "ui/gfx/geometry/size.h" | |
| 18 | |
| 19 namespace ui { | |
| 20 namespace test { | |
| 21 | |
| 22 std::string DisplaySnapshotToString(const DisplaySnapshot& output) { | |
| 23 return base::StringPrintf("id=%" PRId64, output.display_id()); | |
| 24 } | |
| 25 | |
| 26 std::string GetBackgroundAction(uint32_t color_argb) { | |
| 27 return base::StringPrintf("background(0x%x)", color_argb); | |
| 28 } | |
| 29 | |
| 30 std::string GetAddOutputModeAction(const DisplaySnapshot& output, | |
| 31 const DisplayMode* mode) { | |
| 32 return base::StringPrintf("add_mode(output=%" PRId64 ",mode=%s)", | |
| 33 output.display_id(), mode->ToString().c_str()); | |
| 34 } | |
| 35 | |
| 36 std::string GetCrtcAction(const DisplaySnapshot& output, | |
| 37 const DisplayMode* mode, | |
| 38 const gfx::Point& origin) { | |
| 39 return base::StringPrintf("crtc(display=[%s],x=%d,y=%d,mode=[%s])", | |
| 40 DisplaySnapshotToString(output).c_str(), origin.x(), | |
| 41 origin.y(), | |
| 42 mode ? mode->ToString().c_str() : "NULL"); | |
| 43 } | |
| 44 | |
| 45 std::string GetFramebufferAction(const gfx::Size& size, | |
| 46 const DisplaySnapshot* out1, | |
| 47 const DisplaySnapshot* out2) { | |
| 48 return base::StringPrintf( | |
| 49 "framebuffer(width=%d,height=%d,display1=%s,display2=%s)", size.width(), | |
| 50 size.height(), out1 ? DisplaySnapshotToString(*out1).c_str() : "NULL", | |
| 51 out2 ? DisplaySnapshotToString(*out2).c_str() : "NULL"); | |
| 52 } | |
| 53 | |
| 54 std::string GetSetHDCPStateAction(const DisplaySnapshot& output, | |
| 55 HDCPState state) { | |
| 56 return base::StringPrintf("set_hdcp(id=%" PRId64 ",state=%d)", | |
| 57 output.display_id(), state); | |
| 58 } | |
| 59 | |
| 60 std::string SetColorCorrectionAction( | |
| 61 const ui::DisplaySnapshot& output, | |
| 62 const std::vector<GammaRampRGBEntry>& degamma_lut, | |
| 63 const std::vector<GammaRampRGBEntry>& gamma_lut, | |
| 64 const std::vector<float>& correction_matrix) { | |
| 65 std::string degamma_table; | |
| 66 for (size_t i = 0; i < degamma_lut.size(); ++i) { | |
| 67 degamma_table += base::StringPrintf(",degamma[%" PRIuS "]=%04x%04x%04x", i, | |
| 68 degamma_lut[i].r, degamma_lut[i].g, | |
| 69 degamma_lut[i].b); | |
| 70 } | |
| 71 std::string gamma_table; | |
| 72 for (size_t i = 0; i < gamma_lut.size(); ++i) { | |
| 73 gamma_table += | |
| 74 base::StringPrintf(",gamma[%" PRIuS "]=%04x%04x%04x", i, gamma_lut[i].r, | |
| 75 gamma_lut[i].g, gamma_lut[i].b); | |
| 76 } | |
| 77 | |
| 78 std::string ctm; | |
| 79 for (size_t i = 0; i < correction_matrix.size(); ++i) { | |
| 80 ctm += base::StringPrintf(",ctm[%" PRIuS "]=%f", i, correction_matrix[i]); | |
| 81 } | |
| 82 | |
| 83 return base::StringPrintf("set_color_correction(id=%" PRId64 "%s%s%s)", | |
| 84 output.display_id(), degamma_table.c_str(), | |
| 85 gamma_table.c_str(), ctm.c_str()); | |
| 86 } | |
| 87 | |
| 88 std::string JoinActions(const char* action, ...) { | |
| 89 std::string actions; | |
| 90 | |
| 91 va_list arg_list; | |
| 92 va_start(arg_list, action); | |
| 93 while (action) { | |
| 94 if (!actions.empty()) | |
| 95 actions += ","; | |
| 96 actions += action; | |
| 97 action = va_arg(arg_list, const char*); | |
| 98 } | |
| 99 va_end(arg_list); | |
| 100 return actions; | |
| 101 } | |
| 102 | |
| 103 } // namespace test | |
| 104 } // namespace ui | |
| OLD | NEW |