mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 06:17:35 +00:00
LibWeb: Implement the CanvasRenderingContext2D::rect path method
This method adds a rectangle to the current 2D path.
This commit is contained in:
parent
4c0937225e
commit
aab99d5945
5 changed files with 46 additions and 0 deletions
|
@ -188,6 +188,17 @@ void CanvasRenderingContext2D::quadratic_curve_to(float cx, float cy, float x, f
|
|||
m_path.quadratic_bezier_curve_to({ cx, cy }, { x, y });
|
||||
}
|
||||
|
||||
void CanvasRenderingContext2D::rect(float x, float y, float width, float height)
|
||||
{
|
||||
m_path.move_to({ x, y });
|
||||
if (width == 0 || height == 0)
|
||||
return;
|
||||
m_path.line_to({ x + width, y });
|
||||
m_path.line_to({ x + width, y + height });
|
||||
m_path.line_to({ x, y + height });
|
||||
m_path.close();
|
||||
}
|
||||
|
||||
void CanvasRenderingContext2D::stroke()
|
||||
{
|
||||
auto painter = this->painter();
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
#include <LibGfx/Painter.h>
|
||||
#include <LibGfx/Path.h>
|
||||
#include <LibWeb/Bindings/Wrappable.h>
|
||||
#include <LibWeb/DOM/ExceptionOr.h>
|
||||
|
||||
namespace Web::HTML {
|
||||
|
||||
|
@ -73,6 +74,7 @@ public:
|
|||
void move_to(float x, float y);
|
||||
void line_to(float x, float y);
|
||||
void quadratic_curve_to(float cx, float cy, float x, float y);
|
||||
void rect(float x, float y, float width, float height);
|
||||
void stroke();
|
||||
|
||||
// FIXME: We should only have one fill(), really. Fix the wrapper generator!
|
||||
|
|
|
@ -15,6 +15,7 @@ interface CanvasRenderingContext2D {
|
|||
undefined moveTo(double x, double y);
|
||||
undefined lineTo(double x, double y);
|
||||
undefined quadraticCurveTo(double cpx, double cpy, double x, double y);
|
||||
undefined rect(double x, double y, double width, double height);
|
||||
|
||||
undefined drawImage(HTMLImageElement image, double dx, double dy);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue