aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/viewer/Viewer.cpp
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2018-05-15 10:09:52 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-05-15 14:29:43 +0000
commit81f60ecd9cc0e7c507f9e1f05862bee6a19ee0c6 (patch)
tree6022389b6b7aa8789d8f86759ed208c24a3d3c03 /tools/viewer/Viewer.cpp
parent6bbd386a0e4bf13cd7abb887900018a56e24091b (diff)
Allow slides/gms to extend the UI
Bug: skia: Change-Id: Ia5971d827e6e05ab6cc30af3105b3b32ee691a34 Reviewed-on: https://skia-review.googlesource.com/128321 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'tools/viewer/Viewer.cpp')
-rw-r--r--tools/viewer/Viewer.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/tools/viewer/Viewer.cpp b/tools/viewer/Viewer.cpp
index cfb8c61add..c54950850c 100644
--- a/tools/viewer/Viewer.cpp
+++ b/tools/viewer/Viewer.cpp
@@ -1646,6 +1646,31 @@ void Viewer::drawImGui() {
&SkPaint::isVerticalText, &SkPaint::setVerticalText);
}
+ {
+ SkMetaData controls;
+ if (fSlides[fCurrentSlide]->onGetControls(&controls)) {
+ if (ImGui::CollapsingHeader("Current Slide")) {
+ SkMetaData::Iter iter(controls);
+ const char* name;
+ SkMetaData::Type type;
+ int count;
+ bool found = false;
+ while ((name = iter.next(&type, &count)) != nullptr && found == false) {
+ if (type == SkMetaData::kScalar_Type) {
+ float val[3];
+ SkASSERT(count == 3);
+ controls.findScalars(name, &count, val);
+ if (ImGui::SliderFloat(name, &val[0], val[1], val[2])) {
+ controls.setScalars(name, 3, val);
+ fSlides[fCurrentSlide]->onSetControls(controls);
+ found = paramsChanged = true;
+ }
+ }
+ }
+ }
+ }
+ }
+
if (fShowSlidePicker) {
ImGui::SetNextTreeNodeOpen(true);
}