diff options
author | Mike Reed <reed@google.com> | 2018-05-15 10:09:52 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-05-15 14:29:43 +0000 |
commit | 81f60ecd9cc0e7c507f9e1f05862bee6a19ee0c6 (patch) | |
tree | 6022389b6b7aa8789d8f86759ed208c24a3d3c03 /tools/viewer/Viewer.cpp | |
parent | 6bbd386a0e4bf13cd7abb887900018a56e24091b (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.cpp | 25 |
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); } |