Commit 3d087e98 authored by Peng Huang's avatar Peng Huang Committed by Commit Bot

Reland "Using PaintCanvas for HUD"


Original change's description:
> Revert "Using PaintCanvas for HUD"
> 
> This reverts commit 25718190.
> 
> Reason for revert: It breaks FPS counter on Mac
> https://bugs.chromium.org/p/chromium/issues/detail?id=906570
> 
> Original change's description:
> > Using PaintCanvas for HUD
> >
> > To support OOPR, we need switch from SkCanvas to PaintCanvas which is for
> > OOPR.
> >
> > Bug: 895568
> > Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel
> > Change-Id: I94b5430c7ee8ed2f5140d352214ec43f2ff0f8ad
> > Reviewed-on: https://chromium-review.googlesource.com/c/1286950
> > Commit-Queue: Peng Huang <penghuang@chromium.org>
> > Reviewed-by: enne <enne@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#609033}
> 
> TBR=penghuang@chromium.org,enne@chromium.org
> 
> # Not skipping CQ checks because original CL landed > 1 day ago.
> 
> Bug: 895568, 906570
> Change-Id: I935de60977c0374139ae1eb22670d234f85e0df6
> Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel
> Reviewed-on: https://chromium-review.googlesource.com/c/1342049
> Commit-Queue: Peng Huang <penghuang@chromium.org>
> Reviewed-by: Peng Huang <penghuang@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#609333}

TBR=penghuang@chromium.org,enne@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 895568, 906570
Change-Id: I65448fa5e72d1aa9bf79aa8513944f2ce953b91f
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel
Reviewed-on: https://chromium-review.googlesource.com/c/1348864
Commit-Queue: Peng Huang <penghuang@chromium.org>
Reviewed-by: default avatarPeng Huang <penghuang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#610501}
parent cf5aed7e
This diff is collapsed.
......@@ -14,13 +14,12 @@
#include "base/time/time.h"
#include "cc/cc_export.h"
#include "cc/layers/layer_impl.h"
#include "cc/paint/color_space_transfer_cache_entry.h"
#include "cc/resources/memory_history.h"
#include "cc/resources/resource_pool.h"
#include "cc/trees/debug_rect_history.h"
#include "third_party/skia/include/core/SkRefCnt.h"
class SkCanvas;
class SkPaint;
class SkTypeface;
struct SkRect;
......@@ -31,6 +30,8 @@ class ClientResourceProvider;
namespace cc {
class FrameRateCounter;
class LayerTreeFrameSink;
class PaintCanvas;
class PaintFlags;
enum class TextAlign { kLeft, kCenter, kRight };
......@@ -95,50 +96,49 @@ class CC_EXPORT HeadsUpDisplayLayerImpl : public LayerImpl {
void AsValueInto(base::trace_event::TracedValue* dict) const override;
void UpdateHudContents();
void DrawHudContents(SkCanvas* canvas);
int MeasureText(SkPaint* paint, const std::string& text, int size) const;
void DrawText(SkCanvas* canvas,
SkPaint* paint,
void DrawHudContents(PaintCanvas* canvas);
void DrawText(PaintCanvas* canvas,
PaintFlags* flags,
const std::string& text,
TextAlign align,
int size,
int x,
int y) const;
void DrawText(SkCanvas* canvas,
SkPaint* paint,
void DrawText(PaintCanvas* canvas,
PaintFlags* flags,
const std::string& text,
TextAlign align,
int size,
const SkPoint& pos) const;
void DrawGraphBackground(SkCanvas* canvas,
SkPaint* paint,
void DrawGraphBackground(PaintCanvas* canvas,
PaintFlags* flags,
const SkRect& bounds) const;
void DrawGraphLines(SkCanvas* canvas,
SkPaint* paint,
void DrawGraphLines(PaintCanvas* canvas,
PaintFlags* flags,
const SkRect& bounds,
const Graph& graph) const;
SkRect DrawFPSDisplay(SkCanvas* canvas,
SkRect DrawFPSDisplay(PaintCanvas* canvas,
const FrameRateCounter* fps_counter,
int right,
int top) const;
SkRect DrawMemoryDisplay(SkCanvas* canvas,
SkRect DrawMemoryDisplay(PaintCanvas* canvas,
int top,
int right,
int width) const;
SkRect DrawGpuRasterizationStatus(SkCanvas* canvas,
SkRect DrawGpuRasterizationStatus(PaintCanvas* canvas,
int right,
int top,
int width) const;
void DrawDebugRect(SkCanvas* canvas,
SkPaint* paint,
void DrawDebugRect(PaintCanvas* canvas,
PaintFlags* flags,
const DebugRect& rect,
SkColor stroke_color,
SkColor fill_color,
float stroke_width,
const std::string& label_text) const;
void DrawDebugRects(SkCanvas* canvas, DebugRectHistory* debug_rect_history);
void DrawDebugRects(PaintCanvas* canvas,
DebugRectHistory* debug_rect_history);
ResourcePool::InUsePoolResource in_flight_resource_;
std::unique_ptr<ResourcePool> pool_;
......@@ -159,6 +159,9 @@ class CC_EXPORT HeadsUpDisplayLayerImpl : public LayerImpl {
base::TimeTicks time_of_last_graph_update_;
// color space for OOPR
const RasterColorSpace raster_color_space_;
DISALLOW_COPY_AND_ASSIGN(HeadsUpDisplayLayerImpl);
};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment