Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion impeller/entity/contents/vertices_contents.cc
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ std::optional<Rect> VerticesContents::GetCoverage(const Entity& entity) const {
return geometry_->GetCoverage(entity.GetTransformation());
};

void VerticesContents::SetGeometry(std::unique_ptr<Geometry> geometry) {
void VerticesContents::SetGeometry(std::unique_ptr<VerticesGeometry> geometry) {
geometry_ = std::move(geometry);
}

Expand Down
4 changes: 2 additions & 2 deletions impeller/entity/contents/vertices_contents.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ class VerticesContents final : public Contents {

~VerticesContents() override;

void SetGeometry(std::unique_ptr<Geometry> geometry);
void SetGeometry(std::unique_ptr<VerticesGeometry> geometry);

void SetColor(Color color);

Expand All @@ -42,7 +42,7 @@ class VerticesContents final : public Contents {

public:
Color color_;
std::unique_ptr<Geometry> geometry_;
std::unique_ptr<VerticesGeometry> geometry_;
BlendMode blend_mode_ = BlendMode::kSource;

FML_DISALLOW_COPY_AND_ASSIGN(VerticesContents);
Expand Down
59 changes: 3 additions & 56 deletions impeller/entity/geometry.cc
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Geometry::Geometry() = default;
Geometry::~Geometry() = default;

// static
std::unique_ptr<Geometry> Geometry::MakeVertices(Vertices vertices) {
std::unique_ptr<VerticesGeometry> Geometry::MakeVertices(Vertices vertices) {
return std::make_unique<VerticesGeometry>(std::move(vertices));
}

Expand Down Expand Up @@ -171,7 +171,8 @@ GeometryResult VerticesGeometry::GetPositionUVBuffer(
const ContentContext& renderer,
const Entity& entity,
RenderPass& pass) {
// TODO(jonahwilliams): support texture coordinates in vertices.
// TODO(jonahwilliams): support texture coordinates in vertices
// https://github.com/flutter/flutter/issues/109956
return {};
}

Expand Down Expand Up @@ -222,24 +223,6 @@ GeometryResult FillPathGeometry::GetPositionBuffer(
};
}

GeometryResult FillPathGeometry::GetPositionColorBuffer(
const ContentContext& renderer,
const Entity& entity,
RenderPass& pass,
Color paint_color,
BlendMode blend_mode) {
// TODO(jonahwilliams): support per-color vertex in path geometry.
return {};
}

GeometryResult FillPathGeometry::GetPositionUVBuffer(
const ContentContext& renderer,
const Entity& entity,
RenderPass& pass) {
// TODO(jonahwilliams): support texture coordinates in path geometry.
return {};
}

GeometryVertexType FillPathGeometry::GetVertexType() const {
return GeometryVertexType::kPosition;
}
Expand Down Expand Up @@ -593,24 +576,6 @@ GeometryResult StrokePathGeometry::GetPositionBuffer(
};
}

GeometryResult StrokePathGeometry::GetPositionColorBuffer(
const ContentContext& renderer,
const Entity& entity,
RenderPass& pass,
Color paint_color,
BlendMode blend_mode) {
// TODO(jonahwilliams): support per-color vertex in path geometry.
return {};
}

GeometryResult StrokePathGeometry::GetPositionUVBuffer(
const ContentContext& renderer,
const Entity& entity,
RenderPass& pass) {
// TODO(jonahwilliams): support texture coordinates in path geometry.
return {};
}

GeometryVertexType StrokePathGeometry::GetVertexType() const {
return GeometryVertexType::kPosition;
}
Expand Down Expand Up @@ -669,24 +634,6 @@ GeometryResult CoverGeometry::GetPositionBuffer(const ContentContext& renderer,
};
}

GeometryResult CoverGeometry::GetPositionColorBuffer(
const ContentContext& renderer,
const Entity& entity,
RenderPass& pass,
Color paint_color,
BlendMode blend_mode) {
// TODO(jonahwilliams): support per-color vertex in cover geometry.
return {};
}

GeometryResult CoverGeometry::GetPositionUVBuffer(
const ContentContext& renderer,
const Entity& entity,
RenderPass& pass) {
// TODO(jonahwilliams): support texture coordinates in cover geometry.
return {};
}

GeometryVertexType CoverGeometry::GetVertexType() const {
return GeometryVertexType::kPosition;
}
Expand Down
70 changes: 12 additions & 58 deletions impeller/entity/geometry.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,15 @@ enum class Join {
kBevel,
};

class VerticesGeometry;

class Geometry {
public:
Geometry();

virtual ~Geometry();

static std::unique_ptr<Geometry> MakeVertices(Vertices vertices);
static std::unique_ptr<VerticesGeometry> MakeVertices(Vertices vertices);

static std::unique_ptr<Geometry> MakeFillPath(Path path);

Expand All @@ -65,16 +67,6 @@ class Geometry {
const Entity& entity,
RenderPass& pass) = 0;

virtual GeometryResult GetPositionColorBuffer(const ContentContext& renderer,
const Entity& entity,
RenderPass& pass,
Color paint_color,
BlendMode blend_mode) = 0;

virtual GeometryResult GetPositionUVBuffer(const ContentContext& renderer,
const Entity& entity,
RenderPass& pass) = 0;

virtual GeometryVertexType GetVertexType() const = 0;

virtual std::optional<Rect> GetCoverage(const Matrix& transform) const = 0;
Expand All @@ -87,30 +79,28 @@ class VerticesGeometry : public Geometry {

~VerticesGeometry();

private:
// |Geometry|
GeometryResult GetPositionBuffer(const ContentContext& renderer,
const Entity& entity,
RenderPass& pass) override;

// |Geometry|
GeometryResult GetPositionColorBuffer(const ContentContext& renderer,
const Entity& entity,
RenderPass& pass,
Color paint_color,
BlendMode blend_mode) override;
BlendMode blend_mode);

// |Geometry|
GeometryResult GetPositionUVBuffer(const ContentContext& renderer,
const Entity& entity,
RenderPass& pass) override;
RenderPass& pass);

// |Geometry|
GeometryVertexType GetVertexType() const override;
GeometryResult GetPositionBuffer(const ContentContext& renderer,
const Entity& entity,
RenderPass& pass) override;

// |Geometry|
std::optional<Rect> GetCoverage(const Matrix& transform) const override;

// |Geometry|
GeometryVertexType GetVertexType() const override;

private:
Vertices vertices_;

FML_DISALLOW_COPY_AND_ASSIGN(VerticesGeometry);
Expand All @@ -129,18 +119,6 @@ class FillPathGeometry : public Geometry {
const Entity& entity,
RenderPass& pass) override;

// |Geometry|
GeometryResult GetPositionColorBuffer(const ContentContext& renderer,
const Entity& entity,
RenderPass& pass,
Color paint_color,
BlendMode blend_mode) override;

// |Geometry|
GeometryResult GetPositionUVBuffer(const ContentContext& renderer,
const Entity& entity,
RenderPass& pass) override;

// |Geometry|
GeometryVertexType GetVertexType() const override;

Expand Down Expand Up @@ -192,18 +170,6 @@ class StrokePathGeometry : public Geometry {
const Entity& entity,
RenderPass& pass) override;

// |Geometry|
GeometryResult GetPositionColorBuffer(const ContentContext& renderer,
const Entity& entity,
RenderPass& pass,
Color paint_color,
BlendMode blend_mode) override;

// |Geometry|
GeometryResult GetPositionUVBuffer(const ContentContext& renderer,
const Entity& entity,
RenderPass& pass) override;

// |Geometry|
GeometryVertexType GetVertexType() const override;

Expand Down Expand Up @@ -251,18 +217,6 @@ class CoverGeometry : public Geometry {
const Entity& entity,
RenderPass& pass) override;

// |Geometry|
GeometryResult GetPositionColorBuffer(const ContentContext& renderer,
const Entity& entity,
RenderPass& pass,
Color paint_color,
BlendMode blend_mode) override;

// |Geometry|
GeometryResult GetPositionUVBuffer(const ContentContext& renderer,
const Entity& entity,
RenderPass& pass) override;

// |Geometry|
GeometryVertexType GetVertexType() const override;

Expand Down