| Index: services/gfx/compositor/graph/scene_content.cc
|
| diff --git a/services/gfx/compositor/graph/scene_content.cc b/services/gfx/compositor/graph/scene_content.cc
|
| index ad4fcf464993442315a64794ab623efba44e0a56..77c3a8cc770c1e1e3cab822161d53be199060389 100644
|
| --- a/services/gfx/compositor/graph/scene_content.cc
|
| +++ b/services/gfx/compositor/graph/scene_content.cc
|
| @@ -22,6 +22,39 @@ SceneContent::SceneContent(const SceneLabel& label,
|
|
|
| SceneContent::~SceneContent() {}
|
|
|
| +void SceneContent::RecordPicture(const Snapshot* snapshot,
|
| + SkCanvas* canvas) const {
|
| + const NodeDef* root = GetRootNodeIfExists();
|
| + if (root)
|
| + root->RecordPicture(this, snapshot, canvas);
|
| +}
|
| +
|
| +bool SceneContent::HitTest(
|
| + const Snapshot* snapshot,
|
| + const SkPoint& scene_point,
|
| + const SkMatrix& global_to_scene_transform,
|
| + mojo::gfx::composition::SceneHitPtr* out_scene_hit) const {
|
| + DCHECK(snapshot);
|
| + DCHECK(out_scene_hit);
|
| +
|
| + const NodeDef* root = GetRootNodeIfExists();
|
| + if (!root)
|
| + return false;
|
| +
|
| + mojo::Array<mojo::gfx::composition::HitPtr> hits;
|
| + bool opaque = root->HitTest(this, snapshot, scene_point,
|
| + global_to_scene_transform, &hits);
|
| + if (hits.size()) {
|
| + auto scene_hit = mojo::gfx::composition::SceneHit::New();
|
| + scene_hit->scene_token = mojo::gfx::composition::SceneToken::New();
|
| + scene_hit->scene_token->value = label_.token();
|
| + scene_hit->scene_version = version_;
|
| + scene_hit->hits = hits.Pass();
|
| + *out_scene_hit = scene_hit.Pass();
|
| + }
|
| + return opaque;
|
| +}
|
| +
|
| const ResourceDef* SceneContent::GetResource(
|
| uint32_t resource_id,
|
| ResourceDef::Type resource_type) const {
|
|
|