OLD | NEW |
---|---|
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "cc/layers/heads_up_display_layer_impl.h" | 5 #include "cc/layers/heads_up_display_layer_impl.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/strings/stringprintf.h" | 10 #include "base/strings/stringprintf.h" |
(...skipping 594 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
605 SkCanvas* canvas, | 605 SkCanvas* canvas, |
606 const PaintTimeCounter* paint_time_counter, | 606 const PaintTimeCounter* paint_time_counter, |
607 int right, | 607 int right, |
608 int top) const { | 608 int top) const { |
609 const int kPadding = 4; | 609 const int kPadding = 4; |
610 const int kFontHeight = 14; | 610 const int kFontHeight = 14; |
611 | 611 |
612 const int kGraphWidth = paint_time_counter->HistorySize(); | 612 const int kGraphWidth = paint_time_counter->HistorySize(); |
613 const int kGraphHeight = 40; | 613 const int kGraphHeight = 40; |
614 | 614 |
615 const int width = kGraphWidth + 2 * kPadding; | 615 SkPaint paint = CreatePaint(); |
616 paint.setTextSize(kFontHeight); | |
danakj
2015/03/26 22:53:20
Can you add a MeasureText that sits beside DrawTex
| |
617 paint.setTypeface(typeface_.get()); | |
618 | |
619 const std::string title = "Compositor frame time (ms)"; | |
620 int title_text_width = | |
621 SkScalarCeilToInt(paint.measureText(title.c_str(), title.length())); | |
622 int contentsWidth = std::max(title_text_width, kGraphWidth); | |
danakj
2015/03/26 22:53:20
contents_width
| |
623 | |
624 const int width = contentsWidth + 2 * kPadding; | |
616 const int height = | 625 const int height = |
617 kFontHeight + kGraphHeight + 4 * kPadding + 2 + kFontHeight + kPadding; | 626 kFontHeight + kGraphHeight + 4 * kPadding + 2 + kFontHeight + kPadding; |
618 const int left = bounds().width() - width - right; | 627 const int left = bounds().width() - width - right; |
619 | 628 |
620 const SkRect area = SkRect::MakeXYWH(left, top, width, height); | 629 const SkRect area = SkRect::MakeXYWH(left, top, width, height); |
621 | 630 |
622 SkPaint paint = CreatePaint(); | |
623 DrawGraphBackground(canvas, &paint, area); | 631 DrawGraphBackground(canvas, &paint, area); |
624 | 632 |
625 SkRect text_bounds = SkRect::MakeXYWH( | 633 SkRect text_bounds = SkRect::MakeXYWH(left + kPadding, top + kPadding, |
626 left + kPadding, top + kPadding, kGraphWidth, kFontHeight); | 634 contentsWidth, kFontHeight); |
627 SkRect text_bounds2 = SkRect::MakeXYWH(left + kPadding, | 635 SkRect text_bounds2 = |
628 text_bounds.bottom() + kPadding, | 636 SkRect::MakeXYWH(left + kPadding, text_bounds.bottom() + kPadding, |
629 kGraphWidth, | 637 contentsWidth, kFontHeight); |
630 kFontHeight); | 638 SkRect graph_bounds = SkRect::MakeXYWH(left + (width - kGraphWidth) / 2, |
631 SkRect graph_bounds = SkRect::MakeXYWH(left + kPadding, | |
632 text_bounds2.bottom() + 2 * kPadding, | 639 text_bounds2.bottom() + 2 * kPadding, |
633 kGraphWidth, | 640 kGraphWidth, kGraphHeight); |
634 kGraphHeight); | |
635 | 641 |
636 const std::string value_text = | 642 const std::string value_text = |
637 base::StringPrintf("%.1f", paint_time_graph_.value); | 643 base::StringPrintf("%.1f", paint_time_graph_.value); |
638 const std::string min_max_text = base::StringPrintf( | 644 const std::string min_max_text = base::StringPrintf( |
639 "%.1f-%.1f", paint_time_graph_.min, paint_time_graph_.max); | 645 "%.1f-%.1f", paint_time_graph_.min, paint_time_graph_.max); |
640 | 646 |
641 paint.setColor(DebugColors::PaintTimeDisplayTextAndGraphColor()); | 647 paint.setColor(DebugColors::PaintTimeDisplayTextAndGraphColor()); |
642 DrawText(canvas, &paint, "Compositor frame time(ms)", SkPaint::kLeft_Align, | 648 DrawText(canvas, &paint, title, SkPaint::kLeft_Align, kFontHeight, |
643 kFontHeight, text_bounds.left(), text_bounds.bottom()); | 649 text_bounds.left(), text_bounds.bottom()); |
644 DrawText(canvas, | 650 DrawText(canvas, |
645 &paint, | 651 &paint, |
646 value_text, | 652 value_text, |
647 SkPaint::kLeft_Align, | 653 SkPaint::kLeft_Align, |
648 kFontHeight, | 654 kFontHeight, |
649 text_bounds2.left(), | 655 text_bounds2.left(), |
650 text_bounds2.bottom()); | 656 text_bounds2.bottom()); |
651 DrawText(canvas, | 657 DrawText(canvas, |
652 &paint, | 658 &paint, |
653 min_max_text, | 659 min_max_text, |
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
842 return "cc::HeadsUpDisplayLayerImpl"; | 848 return "cc::HeadsUpDisplayLayerImpl"; |
843 } | 849 } |
844 | 850 |
845 void HeadsUpDisplayLayerImpl::AsValueInto( | 851 void HeadsUpDisplayLayerImpl::AsValueInto( |
846 base::trace_event::TracedValue* dict) const { | 852 base::trace_event::TracedValue* dict) const { |
847 LayerImpl::AsValueInto(dict); | 853 LayerImpl::AsValueInto(dict); |
848 dict->SetString("layer_name", "Heads Up Display Layer"); | 854 dict->SetString("layer_name", "Heads Up Display Layer"); |
849 } | 855 } |
850 | 856 |
851 } // namespace cc | 857 } // namespace cc |
OLD | NEW |