mirror of
https://github.com/RGBCube/serenity
synced 2025-05-18 10:55:07 +00:00

This requires an implementation of the "text preparation algorithm" as specified here: html.spec.whatwg.org/multipage/canvas.html#text-preparation-algorithm However, we're missing a lot of things such as the CanvasTextDrawingStyles interface, so most of the algorithm was not implemented. Additionally, we also are not able to use a LineBox like the algorithm suggests, because our layouting infra is not up to the task yet. The prepare_text function does nothing other than figuring out the width of the given text and return glyphs with offsets at the moment.
42 lines
1.6 KiB
Text
42 lines
1.6 KiB
Text
interface CanvasRenderingContext2D {
|
|
|
|
undefined fillRect(double x, double y, double w, double h);
|
|
undefined strokeRect(double x, double y, double w, double h);
|
|
undefined clearRect(double x, double y, double w, double h);
|
|
|
|
undefined scale(double x, double y);
|
|
undefined translate(double x, double y);
|
|
undefined rotate(double radians);
|
|
|
|
undefined beginPath();
|
|
undefined closePath();
|
|
undefined fill(optional DOMString fillRule = "nonzero");
|
|
undefined stroke();
|
|
undefined moveTo(double x, double y);
|
|
undefined lineTo(double x, double y);
|
|
undefined quadraticCurveTo(double cpx, double cpy, double x, double y);
|
|
|
|
undefined arc(double x, double y, double radius, double startAngle, double endAngle, optional boolean counterclockwise = false);
|
|
undefined ellipse(double x, double y, double radiusX, double radiusY, double rotation, double startAngle, double endAngle, optional boolean counterclockwise = false);
|
|
undefined rect(double x, double y, double width, double height);
|
|
|
|
undefined fillText(DOMString text, double x, double y, optional double maxWidth);
|
|
|
|
undefined drawImage(HTMLImageElement image, double dx, double dy);
|
|
|
|
attribute DOMString fillStyle;
|
|
attribute DOMString strokeStyle;
|
|
attribute double lineWidth;
|
|
|
|
ImageData createImageData(double sw, double sh);
|
|
undefined putImageData(ImageData imagedata, double dx, double dy);
|
|
|
|
undefined save();
|
|
undefined restore();
|
|
undefined reset();
|
|
boolean isContextLost();
|
|
|
|
readonly attribute HTMLCanvasElement canvas;
|
|
|
|
TextMetrics measureText(DOMString text);
|
|
};
|