mirror of
https://gitee.com/openharmony/interface_sdk-js
synced 2024-11-23 07:10:52 +00:00
b62a30847a
Merge pull request !13813 from changleipeng/0905
3725 lines
144 KiB
TypeScript
3725 lines
144 KiB
TypeScript
/*
|
||
* Copyright (c) 2023-2024 Huawei Device Co., Ltd.
|
||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||
* you may not use this file except in compliance with the License.
|
||
* You may obtain a copy of the License at
|
||
*
|
||
* http://www.apache.org/licenses/LICENSE-2.0
|
||
*
|
||
* Unless required by applicable law or agreed to in writing, software
|
||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
* See the License for the specific language governing permissions and
|
||
* limitations under the License.
|
||
*/
|
||
|
||
/**
|
||
* @file
|
||
* @kit ArkGraphics2D
|
||
*/
|
||
|
||
import type image from './@ohos.multimedia.image';
|
||
import type common2D from './@ohos.graphics.common2D';
|
||
|
||
/**
|
||
* Provides functions such as 2D graphics rendering, text drawing, and image display.
|
||
*
|
||
* @namespace drawing
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
declare namespace drawing {
|
||
/**
|
||
* Enumerate blending modes for colors.
|
||
* Blend is a operation that use 4 components(red, green, blue, alpha) to generate
|
||
* a new color from two colors(source, destination).
|
||
* @enum { number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
enum BlendMode {
|
||
/**
|
||
* Disable 4 regions(red, green, blue, alpha)
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
CLEAR = 0,
|
||
/**
|
||
* Use components of the source
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
SRC = 1,
|
||
/**
|
||
* Use components of the destination
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
DST = 2,
|
||
/**
|
||
* The source is placed above the destination.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
SRC_OVER = 3,
|
||
/**
|
||
* The Destination is placed above the source.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
DST_OVER = 4,
|
||
/**
|
||
* Use source replaces the destination, and will not exceed the boundaries of the destination
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
SRC_IN = 5,
|
||
/**
|
||
* Use destination, and will not exceed the boundaries of the source
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
DST_IN = 6,
|
||
/**
|
||
* Source is use in outside of the boundaries of the destination.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
SRC_OUT = 7,
|
||
/**
|
||
* Destination is use in outside of the boundaries of the source.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
DST_OUT = 8,
|
||
/**
|
||
* Source which overlaps the destination will replaces the destination.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
SRC_ATOP = 9,
|
||
/**
|
||
* Destination which overlaps the source will replaces the source.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
DST_ATOP = 10,
|
||
/**
|
||
* Combine regions where source and destination do not overlap.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
XOR = 11,
|
||
/**
|
||
* The sum of the source and destination.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
PLUS = 12,
|
||
/**
|
||
* All components are multiplied.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
MODULATE = 13,
|
||
/**
|
||
* Multiply the complement values of the background and source color values,
|
||
* and then complement the result.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
SCREEN = 14,
|
||
/**
|
||
* Multiplies or screens the colors, depending on destination
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
OVERLAY = 15,
|
||
/**
|
||
* Choose a darker background and source color.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
DARKEN = 16,
|
||
/**
|
||
* Choose a lighter background and source color.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
LIGHTEN = 17,
|
||
/**
|
||
* Brightens destination color to reflect the source color.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
COLOR_DODGE = 18,
|
||
/**
|
||
* Darkens destination color to reflect the source color.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
COLOR_BURN = 19,
|
||
/**
|
||
* Multiplies or screens the colors, depending on source
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
HARD_LIGHT = 20,
|
||
/**
|
||
* Lightens or Darkens the colors, depending on the source.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
SOFT_LIGHT = 21,
|
||
/**
|
||
* Subtract the darker of the two colors from the brighter color.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
DIFFERENCE = 22,
|
||
/**
|
||
* Produces an effect similar to difference mode, but with lower contrast.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
EXCLUSION = 23,
|
||
/**
|
||
* Multiply the source color by the destination color and replace the destination.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
MULTIPLY = 24,
|
||
/**
|
||
* Use the hue of the source and the saturation and brightness of the destination.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
HUE = 25,
|
||
/**
|
||
* Use the saturation of the source and the hue and brightness of the destination.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
SATURATION = 26,
|
||
/**
|
||
* Use the hue and saturation of the source and the brightness of the destination.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
COLOR = 27,
|
||
/**
|
||
* Use the brightness of the source and the hue and saturation of the destination.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
LUMINOSITY = 28,
|
||
}
|
||
|
||
/**
|
||
* Enumerates direction for adding closed contours.
|
||
* @enum { number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
enum PathDirection {
|
||
/**
|
||
* Clockwise direction for adding closed contours.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
CLOCKWISE = 0,
|
||
|
||
/**
|
||
* Counter-clockwise direction for adding closed contours.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
COUNTER_CLOCKWISE = 1,
|
||
}
|
||
|
||
/**
|
||
* Enumerates fill type of path.
|
||
* @enum { number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
enum PathFillType {
|
||
/**
|
||
* Specifies that "inside" is computed by a non-zero sum of signed edge crossings.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
WINDING = 0,
|
||
|
||
/**
|
||
* Specifies that "inside" is computed by an odd number of edge crossings.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
EVEN_ODD = 1,
|
||
|
||
/**
|
||
* Same as winding, but draws outside of the path, rather than inside.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
INVERSE_WINDING = 2,
|
||
|
||
/**
|
||
* Same as evenOdd, but draws outside of the path, rather than inside.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
INVERSE_EVEN_ODD = 3,
|
||
}
|
||
|
||
/**
|
||
* Enumerate path measure flags for matrix.
|
||
* @enum { number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
enum PathMeasureMatrixFlags {
|
||
/**
|
||
* Gets position.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
GET_POSITION_MATRIX = 0,
|
||
/**
|
||
* Gets tangent.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
GET_TANGENT_MATRIX = 1,
|
||
/**
|
||
* Gets both position and tangent.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
GET_POSITION_AND_TANGENT_MATRIX = 2,
|
||
}
|
||
|
||
/**
|
||
* Provides the definition of the roundRect.
|
||
*
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
class RoundRect {
|
||
/**
|
||
* Creates a simple round rect with the same four corner radii.
|
||
* @param { common2D.Rect } rect - Indicates the Rect object.
|
||
* @param { number } xRadii - Indicates the corner radii on x-axis.
|
||
* @param { number } yRadii - Indicates the corner radii on y-axis.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
constructor(rect: common2D.Rect, xRadii: number, yRadii: number);
|
||
|
||
/**
|
||
* Sets the radiusX and radiusY for a specific corner position.
|
||
* @param { CornerPos } pos - Indicates the corner radius position.
|
||
* @param { number } x - Indicates the corner radius on x-axis.
|
||
* @param { number } y - Indicates the corner radius on y-axis.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
setCorner(pos: CornerPos, x: number, y: number): void;
|
||
|
||
/**
|
||
* Gets a point with the values of x-axis and y-axis of the selected corner radius.
|
||
* @param { CornerPos } pos - Indicates the corner radius position.
|
||
* @returns { common2D.Point } Returns a point with the values of x-axis and y-axis of the corner radius.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
getCorner(pos: CornerPos): common2D.Point;
|
||
|
||
/**
|
||
* Translates round rect by (dx, dy).
|
||
* @param { number } dx - Indicates the offsets added to rect left and rect right.
|
||
* @param { number } dy - Indicates the offsets added to rect top and rect bottom.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
offset(dx: number, dy: number): void;
|
||
}
|
||
|
||
/**
|
||
* Enumerates of operations when two paths are combined.
|
||
* @enum { number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
enum PathOp {
|
||
/**
|
||
* Difference operation.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
DIFFERENCE = 0,
|
||
|
||
/**
|
||
* Intersect operation.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
INTERSECT = 1,
|
||
|
||
/**
|
||
* Union operation.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
UNION = 2,
|
||
|
||
/**
|
||
* Xor operation.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
XOR = 3,
|
||
|
||
/**
|
||
* Reverse difference operation.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
REVERSE_DIFFERENCE = 4,
|
||
}
|
||
|
||
/**
|
||
* Describes a path object.
|
||
*
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
class Path {
|
||
/**
|
||
* Creates a Path.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
constructor();
|
||
|
||
/**
|
||
* Creates a Path from other path.
|
||
* @param { Path } path - the path to copy content from.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
constructor(path: Path);
|
||
|
||
/**
|
||
* Sets the start point of a path
|
||
* @param { number } x - Indicates the x coordinate of the start point.
|
||
* @param { number } y - Indicates the y coordinate of the start point.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
moveTo(x: number, y: number): void;
|
||
|
||
/**
|
||
* Draws a line segment from the last point of a path to the target point.
|
||
* @param { number } x - Indicates the x coordinate of the target point.
|
||
* @param { number } y - Indicates the y coordinate of the target point.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
lineTo(x: number, y: number): void;
|
||
|
||
/**
|
||
* This is done by using angle arc mode. In this mode, a rectangle that encloses an ellipse is specified first,
|
||
* and then a start angle and a sweep angle are specified.
|
||
* The arc is a portion of the ellipse defined by the start angle and the sweep angle.
|
||
* By default, a line segment from the last point of the path to the start point of the arc is also added.
|
||
* @param { number } x1 - Indicates the x coordinate of the upper left corner of the rectangle.
|
||
* @param { number } y1 - Indicates the y coordinate of the upper left corner of the rectangle.
|
||
* @param { number } x2 - Indicates the x coordinate of the lower right corner of the rectangle.
|
||
* @param { number } y2 - Indicates the y coordinate of the lower right corner of the rectangle.
|
||
* @param { number } startDeg - Indicates the start angle, in degrees.
|
||
* @param { number } sweepDeg - Indicates the angle to sweep, in degrees.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
arcTo(x1: number, y1: number, x2: number, y2: number, startDeg: number, sweepDeg: number): void;
|
||
|
||
/**
|
||
* Draws a quadratic Bezier curve from the last point of a path to the target point.
|
||
* @param { number } ctrlX - Indicates the x coordinate of the control point.
|
||
* @param { number } ctrlY - Indicates the y coordinate of the control point.
|
||
* @param { number } endX - Indicates the x coordinate of the target point.
|
||
* @param { number } endY - Indicates the y coordinate of the target point.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
quadTo(ctrlX: number, ctrlY: number, endX: number, endY: number): void;
|
||
|
||
/**
|
||
* Draws a conic from the last point of a path to the target point.
|
||
* @param { number } ctrlX - Indicates the x coordinate of the control point.
|
||
* @param { number } ctrlY - Indicates the y coordinate of the control point.
|
||
* @param { number } endX - Indicates the x coordinate of the target point.
|
||
* @param { number } endY - Indicates the y coordinate of the target point.
|
||
* @param { number } weight - Indicates the weight of added conic.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
conicTo(ctrlX: number, ctrlY: number, endX: number, endY: number, weight: number): void;
|
||
|
||
/**
|
||
* Draws a cubic Bezier curve from the last point of a path to the target point.
|
||
* @param { number } ctrlX1 - Indicates the x coordinate of the first control point.
|
||
* @param { number } ctrlY1 - Indicates the y coordinate of the first control point.
|
||
* @param { number } ctrlX2 - Indicates the x coordinate of the second control point.
|
||
* @param { number } ctrlY2 - Indicates the y coordinate of the second control point.
|
||
* @param { number } endX - Indicates the x coordinate of the target point.
|
||
* @param { number } endY - Indicates the y coordinate of the target point.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
cubicTo(ctrlX1: number, ctrlY1: number, ctrlX2: number, ctrlY2: number, endX: number, endY: number): void;
|
||
|
||
/**
|
||
* Sets the relative starting point of a path.
|
||
* @param { number } dx - Indicates the x coordinate of the relative starting point.
|
||
* @param { number } dy - Indicates the y coordinate of the relative starting point.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
rMoveTo(dx: number, dy: number): void;
|
||
|
||
/**
|
||
* Draws a line segment from the last point of a path to the relative target point.
|
||
* @param { number } dx - Indicates the x coordinate of the relative target point.
|
||
* @param { number } dy - Indicates the y coordinate of the relative target point.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
rLineTo(dx: number, dy: number): void;
|
||
|
||
/**
|
||
* Draws a quadratic bezier curve from the last point of a path to the relative target point.
|
||
* @param { number } dx1 - Indicates the x coordinate of the relative control point.
|
||
* @param { number } dy1 - Indicates the y coordinate of the relative control point.
|
||
* @param { number } dx2 - Indicates the x coordinate of the relative target point.
|
||
* @param { number } dy2 - Indicates the y coordinate of the relative target point.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
rQuadTo(dx1: number, dy1: number, dx2: number, dy2: number): void;
|
||
|
||
/**
|
||
* Draws a conic from the last point of a path to the relative target point.
|
||
* @param { number } ctrlX - Indicates the x coordinate of the relative control point.
|
||
* @param { number } ctrlY - Indicates the y coordinate of the relative control point.
|
||
* @param { number } endX - Indicates the x coordinate of the relative target point.
|
||
* @param { number } endY - Indicates the y coordinate of the relative target point.
|
||
* @param { number } weight - Indicates the weight of added conic.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
rConicTo(ctrlX: number, ctrlY: number, endX: number, endY: number, weight: number): void;
|
||
|
||
/**
|
||
* Draws a cubic bezier curve from the last point of a path to the relative target point.
|
||
* @param { number } ctrlX1 - Indicates the x coordinate of the first relative control point.
|
||
* @param { number } ctrlY1 - Indicates the y coordinate of the first relative control point.
|
||
* @param { number } ctrlX2 - Indicates the x coordinate of the second relative control point.
|
||
* @param { number } ctrlY2 - Indicates the y coordinate of the second relative control point.
|
||
* @param { number } endX - Indicates the x coordinate of the relative target point.
|
||
* @param { number } endY - Indicates the y coordinate of the relative target point.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
rCubicTo(ctrlX1: number, ctrlY1: number, ctrlX2: number, ctrlY2: number, endX: number, endY: number): void;
|
||
|
||
/**
|
||
* Adds contour created from point array, adding (count - 1) line segments.
|
||
* @param { Array<common2D.Point> } points - Indicates the point array.
|
||
* @param { boolean } close - Indicates Whether to add lines that connect the end and start.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
addPolygon(points: Array<common2D.Point>, close: boolean): void;
|
||
|
||
/**
|
||
* Combines two paths.
|
||
* @param { Path } path - Indicates the Path object.
|
||
* @param { PathOp } pathOp - Indicates the operator to apply path.
|
||
* @returns { boolean } boolean - Returns true if constructed path is not empty; returns false otherwise.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
op(path: Path, pathOp: PathOp): boolean;
|
||
|
||
/**
|
||
* Appends arc to path, as the start of new contour.
|
||
* Arc added is part of ellipse bounded by oval, from startAngle through sweepAngle.
|
||
* @param { common2D.Rect } rect - The bounds of the arc is described by a rect.
|
||
* @param { number } startAngle - Indicates the starting angle of arc in degrees.
|
||
* @param { number } sweepAngle - Indicates the sweep, in degrees. Positive is clockwise.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
addArc(rect: common2D.Rect, startAngle: number, sweepAngle: number): void;
|
||
|
||
/**
|
||
* Adds a circle to the path, and wound in the specified direction.
|
||
* @param { number } x - Indicates the x coordinate of the center of the circle.
|
||
* @param { number } y - Indicates the y coordinate of the center of the circle.
|
||
* @param { number } radius - Indicates the radius of the circle.
|
||
* @param { PathDirection } pathDirection - The default value is CLOCKWISE.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
addCircle(x: number, y: number, radius: number, pathDirection?: PathDirection): void;
|
||
|
||
/**
|
||
* Adds a oval to the path, defined by the rect, and wound in the specified direction.
|
||
* @param { common2D.Rect } rect - The bounds of the oval is described by a rect.
|
||
* @param { number } start - Indicates the index of initial point of ellipse.
|
||
* @param { PathDirection } pathDirection - The default value is CLOCKWISE.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
addOval(rect: common2D.Rect, start: number, pathDirection?: PathDirection): void;
|
||
|
||
/**
|
||
* Adds a new contour to the path, defined by the rect, and wound in the specified direction.
|
||
* @param { common2D.Rect } rect - Indicates the Rect object.
|
||
* @param { PathDirection } pathDirection - The default value is CLOCKWISE.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
addRect(rect: common2D.Rect, pathDirection?: PathDirection): void;
|
||
|
||
/**
|
||
* Adds a new contour to the path, defined by the round rect, and wound in the specified direction.
|
||
* @param { RoundRect } roundRect - Indicates the RoundRect object.
|
||
* @param { PathDirection } pathDirection - The default value is CLOCKWISE.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
addRoundRect(roundRect: RoundRect, pathDirection?: PathDirection): void;
|
||
|
||
/**
|
||
* Appends src path to path, transformed by matrix.
|
||
* @param { Path } path - Indicates the Path object.
|
||
* @param { Matrix | null } matrix - Indicates transform applied to path. The default value is null.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
addPath(path: Path, matrix?: Matrix | null): void;
|
||
|
||
/**
|
||
* Path is replaced by transformed data.
|
||
* @param { Matrix } matrix - Indicates transform applied to path.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
transform(matrix: Matrix): void;
|
||
|
||
/**
|
||
* Returns the status that point (x, y) is contained by path.
|
||
* @param { number } x - Indicates the x-axis value of containment test.
|
||
* @param { number } y - Indicates the y-axis value of containment test.
|
||
* @returns { boolean } Returns true if the point (x, y) is contained by path; returns false otherwise.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
contains(x: number, y: number): boolean;
|
||
|
||
/**
|
||
* Sets fill type, the rule used to fill path.
|
||
* @param { PathFillType } pathFillType - Indicates the enum path fill type.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
setFillType(pathFillType: PathFillType): void;
|
||
|
||
/**
|
||
* Gets the smallest bounding box that contains the path.
|
||
* @returns { common2D.Rect } Rect object.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
getBounds(): common2D.Rect;
|
||
|
||
/**
|
||
* Closes a path. A line segment from the start point to the last point of the path is added.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
close(): void;
|
||
|
||
/**
|
||
* Offsets point array by (dx, dy). Path is replaced by offset data.
|
||
* @param { number } dx - Indicates offset added to dst path x-axis coordinates.
|
||
* @param { number } dy - Indicates offset added to dst path y-axis coordinates.
|
||
* @returns { Path } Returns a new Path object.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
offset(dx: number, dy: number): Path;
|
||
|
||
/**
|
||
* Resets path data.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
reset(): void;
|
||
|
||
/**
|
||
* Get path length.
|
||
* @param { boolean } forceClosed - Whether to close the Path.
|
||
* @returns { number } Return path length.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
getLength(forceClosed: boolean): number;
|
||
|
||
/**
|
||
* Gets the position and tangent of the distance from the starting position of the path.
|
||
*
|
||
* @param { boolean } forceClosed - Whether to close the path.
|
||
* @param { number } distance - The distance from the start of the path, should be greater than 0 and less than 'GetLength()'
|
||
* @param { common2D.Point } position - Sets to the position of distance from the starting position of the path.
|
||
* @param { common2D.Point } tangent - Sets to the tangent of distance from the starting position of the path.
|
||
* @returns { boolean } - Returns true if succeeded, otherwise false.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
getPositionAndTangent(forceClosed: boolean, distance: number, position: common2D.Point, tangent: common2D.Point): boolean;
|
||
|
||
/**
|
||
* Determines whether the current contour is closed.
|
||
*
|
||
* @returns { boolean } - Returns true if the current contour is closed, otherwise false.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
isClosed(): boolean;
|
||
|
||
/**
|
||
* Computes the corresponding matrix at the specified distance.
|
||
*
|
||
* @param { boolean } forceClosed - Whether to close the path.
|
||
* @param { number } distance - The distance from the start of the path.
|
||
* @param { Matrix } matrix - Indicates the pointer to an Matrix object.
|
||
* @param { PathMeasureMatrixFlags } flags - Indicates what should be returned in the matrix.
|
||
* @returns { boolean } - Returns false if there is no path, or a zero-length path was specified, in which case matrix is unchanged.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
getMatrix(forceClosed: boolean, distance: number, matrix: Matrix, flags: PathMeasureMatrixFlags): boolean;
|
||
|
||
/**
|
||
* Parses the SVG format string that describes the drawing path, and sets the path.
|
||
*
|
||
* @param { string } str - A string in SVG format that describes the drawing path.
|
||
* @returns { boolean } true if build succeeded, otherwise false.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
buildFromSvgString(str: string): boolean;
|
||
}
|
||
|
||
/**
|
||
* Enumerates of scale to fit flags, selects if an array of points are drawn as discrete points,
|
||
* as lines, or as an open polygon.
|
||
* @enum { number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
enum PointMode {
|
||
/**
|
||
* Draws each point separately.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
POINTS = 0,
|
||
|
||
/**
|
||
* Draws each pair of points as a line segment.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
LINES = 1,
|
||
|
||
/**
|
||
* Draws the array of points as a open polygon.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
POLYGON = 2,
|
||
}
|
||
|
||
/**
|
||
* Enumerates storage filter mode.
|
||
* @enum { number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
enum FilterMode {
|
||
/**
|
||
* Single sample point (nearest neighbor).
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
FILTER_MODE_NEAREST = 0,
|
||
|
||
/**
|
||
* Interpolate between 2x2 sample points (bilinear interpolation).
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
FILTER_MODE_LINEAR = 1,
|
||
}
|
||
|
||
/**
|
||
* Enumerates of shadow flags.
|
||
* @enum { number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
enum ShadowFlag {
|
||
/**
|
||
* Use no shadow flags.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
NONE = 0,
|
||
|
||
/**
|
||
* The occluding object is transparent.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
TRANSPARENT_OCCLUDER = 1,
|
||
|
||
/**
|
||
* No need to analyze shadows.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
GEOMETRIC_ONLY = 2,
|
||
|
||
/**
|
||
* Use all shadow flags.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
ALL = 3,
|
||
}
|
||
|
||
/**
|
||
* Provides an interface to the drawing, and samplingOptions used when sampling from the image.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
class SamplingOptions {
|
||
/**
|
||
* Constructor for the samplingOptions.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
constructor();
|
||
/**
|
||
* Constructor for the samplingOptions with filter mode.
|
||
* @param { FilterMode } filterMode - Storage filter mode.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
constructor(filterMode: FilterMode);
|
||
}
|
||
|
||
/**
|
||
* Provides an interface to the drawing, and how to clip and transform the drawing.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
class Canvas {
|
||
/**
|
||
* Constructor for the Canvas.
|
||
* @param { image.PixelMap } pixelmap - PixelMap.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
constructor(pixelmap: image.PixelMap);
|
||
|
||
/**
|
||
* If rectangle is stroked, use pen to stroke width describes the line thickness,
|
||
* else use brush to fill the rectangle.
|
||
* @param { common2D.Rect } rect - Rectangle to draw.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
drawRect(rect: common2D.Rect): void;
|
||
|
||
/**
|
||
* If rectangle is stroked, use pen to stroke width describes the line thickness,
|
||
* else use brush to fill the rectangle.
|
||
* @param { number } left - Indicates the left position of the rectangle.
|
||
* @param { number } top - Indicates the top position of the rectangle.
|
||
* @param { number } right - Indicates the right position of the rectangle.
|
||
* @param { number } bottom - Indicates the bottom position of the rectangle.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
drawRect(left: number, top: number, right: number, bottom: number): void;
|
||
|
||
/**
|
||
* Draws a RoundRect.
|
||
* @param { RoundRect } roundRect - Indicates the RectRound object.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
drawRoundRect(roundRect: RoundRect): void;
|
||
|
||
/**
|
||
* Draws a nested RoundRect.
|
||
* @param { RoundRect } outer - Indicates the outer RectRound object.
|
||
* @param { RoundRect } inner - Indicates the inner RectRound object.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
drawNestedRoundRect(outer: RoundRect, inner: RoundRect): void;
|
||
|
||
/**
|
||
* Fills clipped canvas area with brush.
|
||
* @param { Brush } brush - Indicates the Brush object.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
drawBackground(brush: Brush): void;
|
||
|
||
/**
|
||
* Draws an offset spot shadow and outlining ambient shadow for the given path with circular light.
|
||
* @param { Path } path - Indicates the Path object.
|
||
* @param { common2D.Point3d } planeParams - Represents z offset of the occluder from the canvas based on x and y.
|
||
* @param { common2D.Point3d } devLightPos - Represents the position of the light relative to the canvas.
|
||
* @param { number } lightRadius - The radius of the circular light.
|
||
* @param { common2D.Color } ambientColor - Ambient shadow's color.
|
||
* @param { common2D.Color } spotColor - Spot shadow's color.
|
||
* @param { ShadowFlag } flag - Indicates the flag to control opaque occluder, shadow, and light position.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
drawShadow(path: Path, planeParams: common2D.Point3d, devLightPos: common2D.Point3d, lightRadius: number,
|
||
ambientColor: common2D.Color, spotColor: common2D.Color, flag: ShadowFlag) : void;
|
||
|
||
/**
|
||
* Draws an offset spot shadow and outlining ambient shadow for the given path with circular light.
|
||
* In this function, the input of the parameter 'ambientColor' and 'spotColor' should be number
|
||
* @param { Path } path - Indicates the Path object.
|
||
* @param { common2D.Point3d } planeParams - Represents z offset of the occluder from the canvas based on x and y.
|
||
* @param { common2D.Point3d } devLightPos - Represents the position of the light relative to the canvas.
|
||
* @param { number } lightRadius - The radius of the circular light.
|
||
* @param { number } ambientColor - Ambient shadow's color represented by ARGB color of hexadecimal format.
|
||
* @param { number } spotColor - Spot shadow's color represented by ARGB color of hexadecimal format.
|
||
* @param { ShadowFlag } flag - Indicates the flag to control opaque occluder, shadow, and light position.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 13
|
||
*/
|
||
drawShadow(path: Path, planeParams: common2D.Point3d, devLightPos: common2D.Point3d, lightRadius: number,
|
||
ambientColor: number, spotColor: number, flag: ShadowFlag) : void;
|
||
|
||
/**
|
||
* If radius is zero or less, nothing is drawn. If circle is stroked, use pen to
|
||
* stroke width describes the line thickness, else use brush to fill the circle.
|
||
* @param { number } x - X coordinate of the circle center.
|
||
* @param { number } y - Y coordinate of the circle center.
|
||
* @param { number } radius - The radius of the circle must be greater than 0.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
drawCircle(x: number, y: number, radius: number): void;
|
||
|
||
/**
|
||
* Draw a pixelmap, with the upper left corner at (left, top).
|
||
* @param { image.PixelMap } pixelmap - PixelMap.
|
||
* @param { number } left - Left side of image.
|
||
* @param { number } top - Top side of image.
|
||
* @throws { BusinessError } 401 - Parameter error.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
/**
|
||
* Draw a pixelmap, with the upper left corner at (left, top).
|
||
* @param { image.PixelMap } pixelmap - PixelMap.
|
||
* @param { number } left - Left side of image.
|
||
* @param { number } top - Top side of image.
|
||
* @param { SamplingOptions } samplingOptions - SamplingOptions used to describe the sampling mode.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
drawImage(pixelmap: image.PixelMap, left: number, top: number, samplingOptions?: SamplingOptions): void;
|
||
|
||
/**
|
||
* Draws the specified source image onto the canvas,
|
||
* scaled and translated to the destination rectangle.
|
||
* @param { image.PixelMap } pixelmap - The source image.
|
||
* @param { common2D.Rect } dstRect - The area of destination canvas.
|
||
* @param { SamplingOptions } samplingOptions - SamplingOptions used to describe the sampling mode.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
drawImageRect(pixelmap: image.PixelMap, dstRect: common2D.Rect, samplingOptions?: SamplingOptions): void;
|
||
|
||
/**
|
||
* Draws the specified source rectangle of the image onto the canvas,
|
||
* scaled and translated to the destination rectangle.
|
||
* @param { image.PixelMap } pixelmap - The source image.
|
||
* @param { common2D.Rect } srcRect - The area of source image.
|
||
* @param { common2D.Rect } dstRect - The area of destination canvas.
|
||
* @param { SamplingOptions } samplingOptions - SamplingOptions used to describe the sampling mode.
|
||
* @param { SrcRectConstraint } constraint - Constraint type. The default value is STRICT.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
drawImageRectWithSrc(pixelmap: image.PixelMap, srcRect: common2D.Rect, dstRect: common2D.Rect,
|
||
samplingOptions?: SamplingOptions, constraint?: SrcRectConstraint): void;
|
||
|
||
/**
|
||
* Fills clip with color color. Mode determines how ARGB is combined with destination.
|
||
* @param { common2D.Color } color - The range of color channels must be [0, 255].
|
||
* @param { BlendMode } blendMode - Used to combine source color and destination. The default value is SRC_OVER.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
drawColor(color: common2D.Color, blendMode?: BlendMode): void;
|
||
|
||
/**
|
||
* Fills clip with the specified ARGB color of hexadecimal format.
|
||
* @param { number } color - Number must be ARGB color of hexadecimal format.
|
||
* @param { BlendMode } blendMode - Used to combine source color and destination. The default value is SRC_OVER.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 13
|
||
*/
|
||
drawColor(color: number, blendMode?: BlendMode): void;
|
||
|
||
/**
|
||
* Fills the clipped rectangle with the specified ARGB color.
|
||
* @param { number } alpha - Alpha channel of color. The range of alpha must be [0, 255].
|
||
* @param { number } red - Red channel of color. The range of red must be [0, 255].
|
||
* @param { number } green - Green channel of color. The range of green must be [0, 255].
|
||
* @param { number } blue - Blue channel of color. The range of blue must be [0, 255].
|
||
* @param { BlendMode } blendMode - Used to combine source color and destination. The default value is SRC_OVER.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
drawColor(alpha: number, red: number, green: number, blue: number, blendMode?: BlendMode): void;
|
||
|
||
/**
|
||
* Draws an oval.
|
||
* @param { common2D.Rect } oval - The bounds of the oval is described by a rect.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
drawOval(oval: common2D.Rect): void;
|
||
|
||
/**
|
||
* Draws an arc.
|
||
* @param { common2D.Rect } arc - The bounds of the arc is described by a rect.
|
||
* @param { number } startAngle - Indicates the startAngle of the arc.
|
||
* @param { number } sweepAngle - Indicates the sweepAngle of the arc.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
drawArc(arc: common2D.Rect, startAngle: number, sweepAngle: number): void;
|
||
|
||
/**
|
||
* Draw a point.
|
||
* @param { number } x - X coordinate position of the point.
|
||
* @param { number } y - Y coordinate position of the point.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
drawPoint(x: number, y: number): void;
|
||
|
||
/**
|
||
* Draws point array as separate point, line segment or open polygon according to given point mode.
|
||
* @param { Array<common2D.Point> } points - Points array.
|
||
* @param { PointMode } mode - Draws points enum method. The default value is POINTS.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
drawPoints(points: Array<common2D.Point>, mode?: PointMode): void;
|
||
|
||
/**
|
||
* Draws a path.
|
||
* @param { Path } path - Path to draw.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
drawPath(path: Path): void;
|
||
|
||
/**
|
||
* Draws line segment from startPt to endPt.
|
||
* @param { number } x0 - X coordinate of the start point of the line segment.
|
||
* @param { number } y0 - Y coordinate of the start point of the line segment.
|
||
* @param { number } x1 - X coordinate of the end point of the line segment.
|
||
* @param { number } y1 - Y coordinate of the end point of the line segment.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
drawLine(x0: number, y0: number, x1: number, y1: number): void;
|
||
|
||
/**
|
||
* Draws a single character.
|
||
* @param { string } text - A string containing only a single character.
|
||
* @param { Font } font - Font object.
|
||
* @param { number } x - X coordinate of the single character start point.
|
||
* @param { number } y - Y coordinate of the single character start point.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
drawSingleCharacter(text: string, font: Font, x: number, y: number): void;
|
||
|
||
/**
|
||
* Draws a textBlob
|
||
* @param { TextBlob } blob - TextBlob to draw.
|
||
* @param { number } x - X coordinate of the text start point.
|
||
* @param { number } y - Y coordinate of the text start point.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
drawTextBlob(blob: TextBlob, x: number, y: number): void;
|
||
|
||
/**
|
||
* Draws the pixelmap base on the mesh which is evenly distributed across the pixelmap.
|
||
* @param { image.PixelMap } pixelmap - The pixelmap to draw using the mesh.
|
||
* @param { number } meshWidth - The number of columns in the mesh.
|
||
* @param { number } meshHeight - The number of rows in the mesh.
|
||
* @param { Array<number> } vertices - Array of vertices, specifying where the mesh should be drawn.
|
||
* @param { number } vertOffset - Number of vert elements to skip before drawing.
|
||
* @param { Array<number> } colors - Array of colors, specifying a color at each vertex.
|
||
* @param { number } colorOffset - Number of color elements to skip before drawing.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
drawPixelMapMesh(pixelmap: image.PixelMap, meshWidth: number, meshHeight: number,
|
||
vertices: Array<number>, vertOffset: number, colors: Array<number>, colorOffset: number): void;
|
||
|
||
/**
|
||
* Draws a region.
|
||
* @param { Region } region - Region object.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
drawRegion(region: Region): void;
|
||
|
||
/**
|
||
* Set pen to a canvas.
|
||
* @param { Pen } pen - object.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
attachPen(pen: Pen): void;
|
||
|
||
/**
|
||
* Set brush to a canvas.
|
||
* @param { Brush } brush - Object.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
attachBrush(brush: Brush): void;
|
||
|
||
/**
|
||
* Unset pen to a canvas.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
detachPen(): void;
|
||
|
||
/**
|
||
* Unset brush to a canvas.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
detachBrush(): void;
|
||
|
||
/**
|
||
* Saves the current canvas status (canvas matrix) to the top of the stack.
|
||
* @returns { number } Return the number of saved states.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
save(): number;
|
||
|
||
/**
|
||
* Saves matrix and clip, and allocates a bitmap for subsequent drawing.
|
||
* Calling restore discards changes to matrix and clip, and draws the bitmap.
|
||
* @param { common2D.Rect | null} rect - Optional layer size. The default value is null.
|
||
* @param { Brush | null} brush - Optional brush effect used to draw the layer. The default value is null.
|
||
* @returns { number } Return the number of saved states before this call.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
saveLayer(rect?: common2D.Rect | null, brush?: Brush | null): number;
|
||
|
||
/**
|
||
* Clears a canvas by using a specified color.
|
||
* @param { common2D.Color } color - Indicates the color, which is a 32-bit (ARGB) variable.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
clear(color: common2D.Color): void;
|
||
|
||
/**
|
||
* Clears a canvas by using a specified color represented by ARGB color of hexadecimal format.
|
||
* @param { number } color - Number must be ARGB color of hexadecimal format.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 13
|
||
*/
|
||
clear(color: number): void;
|
||
|
||
/**
|
||
* Restores the canvas status (canvas matrix) saved on the top of the stack.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
restore(): void;
|
||
|
||
/**
|
||
* Restores the specific number of the canvas status (canvas matrix) saved in the stack.
|
||
* @param { number } count - Depth of state stack to restore.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
restoreToCount(count: number): void;
|
||
|
||
/**
|
||
* Gets the number of the canvas status (canvas matrix) saved in the stack.
|
||
* @returns { number } Return represent depth of save state stack.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
getSaveCount(): number;
|
||
|
||
/**
|
||
* Gets the width of a canvas.
|
||
* @returns { number } Return the width of a canvas.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
getWidth(): number;
|
||
|
||
/**
|
||
* Gets the height of a canvas.
|
||
* @returns { number } Return the height of a canvas.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
getHeight(): number;
|
||
|
||
/**
|
||
* Gets the bounds of clip of a canvas.
|
||
* @returns { common2D.Rect } Rect object.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
getLocalClipBounds(): common2D.Rect;
|
||
|
||
/**
|
||
* Gets a 3x3 matrix of the transform from local coordinates to 'device'.
|
||
* @returns { Matrix } Matrix object.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
getTotalMatrix(): Matrix;
|
||
|
||
/**
|
||
* Scales by sx on the x-axis and sy on the y-axis.
|
||
* @param { number } sx - Indicates the amount to scale on x-axis.
|
||
* @param { number } sy - Indicates the amount to scale on y-axis.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
scale(sx: number, sy: number): void;
|
||
|
||
/**
|
||
* Skews by sx on the x-axis and sy on the y-axis.
|
||
* @param { number } sx - Indicates the value skew transformation on x-axis.
|
||
* @param { number } sy - Indicates the value skew transformation on y-axis.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
skew(sx: number, sy: number) : void;
|
||
|
||
/**
|
||
* Rotates by degrees, positive degrees rotates clockwise.
|
||
* @param { number } degrees - Indicates the amount to rotate, in degrees.
|
||
* @param { number } sx - Indicates the x-axis value of the point to rotate about.
|
||
* @param { number } sy - Indicates the y-axis value of the point to rotate about.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
rotate(degrees: number, sx: number, sy: number) : void;
|
||
|
||
/**
|
||
* Translates by dx along the x-axis and dy along the y-axis.
|
||
* @param { number } dx - Indicates the distance to translate on x-axis.
|
||
* @param { number } dy - Indicates the distance to translate on y-axis.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
translate(dx: number, dy: number): void;
|
||
|
||
/**
|
||
* Replaces the clipping area with the intersection or difference of the current clipping area and path,
|
||
* and use a clipping edge that is aliased or anti-aliased.
|
||
* @param { Path } path - To combine with clip.
|
||
* @param { ClipOp } clipOp - Indicates the operation to apply to clip. The default value is intersect.
|
||
* @param { boolean } doAntiAlias - True if clip is to be anti-aliased. The default value is false.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
clipPath(path: Path, clipOp?: ClipOp, doAntiAlias?: boolean): void;
|
||
|
||
/**
|
||
* Replaces the clipping area with the intersection or difference between the
|
||
* current clipping area and Rect, and use a clipping edge that is aliased or anti-aliased.
|
||
* @param { common2D.Rect } rect - To combine with clipping area.
|
||
* @param { ClipOp } clipOp - Indicates the operation to apply to clip. The default value is intersect.
|
||
* @param { boolean } doAntiAlias - True if clip is to be anti-aliased. The default value is false.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
clipRect(rect: common2D.Rect, clipOp?: ClipOp, doAntiAlias?: boolean): void;
|
||
|
||
/**
|
||
* Uses the passed matrix to transforming the geometry, then use existing matrix.
|
||
* @param { Matrix } matrix - Declares functions related to the matrix object in the drawing module.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
concatMatrix(matrix: Matrix): void;
|
||
|
||
/**
|
||
* Replace the clipping area with the intersection or difference of the
|
||
* current clipping area and Region, and use a clipping edge that is aliased or anti-aliased.
|
||
* @param { Region } region - Region object.
|
||
* @param { ClipOp } clipOp - Indicates the operation to apply to clip. The default value is intersect.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
clipRegion(region: Region, clipOp?: ClipOp): void;
|
||
|
||
/**
|
||
* Replaces the clipping area with the intersection or difference between the
|
||
* current clipping area and RoundRect, and use a clipping edge that is aliased or anti-aliased.
|
||
* @param { RoundRect } roundRect - To combine with clipping area.
|
||
* @param { ClipOp } clipOp - Indicates the operation to apply to clip. The default value is intersect.
|
||
* @param { boolean } doAntiAlias - True if clip is to be anti-aliased. The default value is false.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
clipRoundRect(roundRect: RoundRect, clipOp?: ClipOp, doAntiAlias?: boolean): void;
|
||
|
||
/**
|
||
* Checks whether the drawable area is empty.
|
||
* @returns { boolean } Returns true if drawable area is empty.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
isClipEmpty(): boolean;
|
||
|
||
/**
|
||
* Sets matrix of canvas.
|
||
* @param { Matrix } matrix - Declares functions related to the matrix object in the drawing module.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
setMatrix(matrix: Matrix): void;
|
||
|
||
/**
|
||
* Sets matrix of canvas to the identity matrix.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
resetMatrix(): void;
|
||
}
|
||
|
||
/**
|
||
* Enumerates clip operations.
|
||
*
|
||
* @enum { number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
enum ClipOp {
|
||
/**
|
||
* Clips with difference.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
DIFFERENCE = 0,
|
||
/**
|
||
* Clips with intersection.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
INTERSECT = 1,
|
||
}
|
||
|
||
/**
|
||
* Provide a description of the type and position of the text.
|
||
* @typedef TextBlobRunBuffer
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
interface TextBlobRunBuffer {
|
||
/**
|
||
* Text model.
|
||
* @type { number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
glyph: number;
|
||
/**
|
||
* X-coordinate of the text start point.
|
||
* @type { number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
positionX: number;
|
||
/**
|
||
* Y-coordinate of the text start point.
|
||
* @type { number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
positionY: number;
|
||
}
|
||
|
||
/**
|
||
* Encoding type of the description text.
|
||
*
|
||
* @enum { number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
enum TextEncoding {
|
||
/**
|
||
* Use 1 byte to represent UTF-8 or ASCII
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
TEXT_ENCODING_UTF8 = 0,
|
||
/**
|
||
* Use 2 bytes to represent most of unicode
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
TEXT_ENCODING_UTF16 = 1,
|
||
/**
|
||
* Use 4 bytes to represent all unicode.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
TEXT_ENCODING_UTF32 = 2,
|
||
/**
|
||
* Use 2 bytes to represent the glyph index.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
TEXT_ENCODING_GLYPH_ID = 3,
|
||
}
|
||
|
||
/**
|
||
* Provide a description of the text
|
||
*
|
||
* class TextBlob
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
class TextBlob {
|
||
/**
|
||
* Create a textblob from a string
|
||
* @param { string } text - Drawn glyph content.
|
||
* @param { Font } font - Specify text size, font, text scale, etc.
|
||
* @param { TextEncoding } encoding - The default value is TEXT_ENCODING_UTF8.
|
||
* @returns { TextBlob } TextBlob object.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @static
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
static makeFromString(text: string, font: Font, encoding?: TextEncoding): TextBlob;
|
||
|
||
/**
|
||
* Create a textblob from a string, each element of which is located at the given positions.
|
||
* @param { string } text - Drawn glyph content.
|
||
* @param { number } len - string length, value must equal to points length.
|
||
* @param { common2D.Point[] } points - Position coordinates of a textblob elements.
|
||
* @param { Font } font - Specify text size, font, text scale, etc.
|
||
* @returns { TextBlob } TextBlob object.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @static
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
static makeFromPosText(text: string, len: number, points: common2D.Point[], font: Font): TextBlob;
|
||
|
||
/**
|
||
* Creating a textblob object based on RunBuffer information
|
||
* @param { Array<TextBlobRunBuffer> } pos - The array of TextBlobRunBuffer.
|
||
* @param { Font } font - Font used for this run.
|
||
* @param { common2D.Rect } bounds - Optional run bounding box. The default value is null;
|
||
* @returns { TextBlob } TextBlob object.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @static
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
static makeFromRunBuffer(pos: Array<TextBlobRunBuffer>, font: Font, bounds?: common2D.Rect): TextBlob;
|
||
|
||
/**
|
||
* Returns the bounding rectangle shape
|
||
* @returns { common2D.Rect } Rect object.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
bounds(): common2D.Rect;
|
||
|
||
/**
|
||
* Returns an unique identifier for a textblob.
|
||
* @returns { number } Unique ID.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
uniqueID(): number;
|
||
}
|
||
|
||
/**
|
||
* The Typeface class specifies the typeface and intrinsic style of a font.
|
||
*
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
class Typeface {
|
||
/**
|
||
* Get the family name for this typeface.
|
||
* @returns { string } Family name.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
getFamilyName(): string;
|
||
|
||
/**
|
||
* Generate typeface from file.
|
||
* @param { string } filePath - file path for typeface.
|
||
* @returns { Typeface } Typeface.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
static makeFromFile(filePath: string): Typeface;
|
||
}
|
||
|
||
/**
|
||
* Enumerates text edging types.
|
||
*
|
||
* @enum { number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
enum FontEdging {
|
||
/**
|
||
* Uses anti aliasing, default value.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
ALIAS = 0,
|
||
|
||
/**
|
||
* Uses sub-pixel anti aliasing.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
ANTI_ALIAS = 1,
|
||
|
||
/**
|
||
* Uses sub-pixel anti aliasing and enable sub-pixel localization.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
SUBPIXEL_ANTI_ALIAS = 2,
|
||
}
|
||
|
||
/**
|
||
* Enumerates text hinting types.
|
||
*
|
||
* @enum { number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
enum FontHinting {
|
||
/**
|
||
* Not use text hinting.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
NONE = 0,
|
||
|
||
/**
|
||
* Uses slight text hinting.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
SLIGHT = 1,
|
||
|
||
/**
|
||
* Uses normal text hinting.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
NORMAL = 2,
|
||
|
||
/**
|
||
* Uses full text hinting.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
FULL = 3,
|
||
}
|
||
|
||
/**
|
||
* Font controls options applied when drawing and measuring text.
|
||
*
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
class Font {
|
||
/**
|
||
* Requests, but does not require, that glyphs respect sub-pixel positioning.
|
||
* @param { boolean } isSubpixel - Setting for sub-pixel positioning.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
enableSubpixel(isSubpixel: boolean): void;
|
||
|
||
/**
|
||
* Increases stroke width when creating glyph bitmaps to approximate a bold typeface.
|
||
* @param { boolean } isEmbolden - Setting for bold approximation.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
enableEmbolden(isEmbolden: boolean): void;
|
||
|
||
/**
|
||
* Requests linearly scalable font and glyph metrics.
|
||
* @param { boolean } isLinearMetrics - Setting for linearly scalable font and glyph metrics.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
enableLinearMetrics(isLinearMetrics: boolean): void;
|
||
|
||
/**
|
||
* Sets text size in points. Has no effect if textSize is not greater than or equal to zero.
|
||
* @param { number } textSize - Typographic height of text. The height of the text must be greater than 0.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
setSize(textSize: number): void;
|
||
|
||
/**
|
||
* Obtains the text size.
|
||
* @returns { number } Text size.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
getSize(): number;
|
||
|
||
/**
|
||
* Sets Typeface to font.
|
||
* @param { Typeface } typeface - Font and style used to draw text.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
setTypeface(typeface: Typeface): void;
|
||
|
||
/**
|
||
* Get Typeface to font.
|
||
* @returns { Typeface } Typeface.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
getTypeface(): Typeface;
|
||
|
||
/**
|
||
* Get fontMetrics associated with typeface.
|
||
* @returns { FontMetrics } The fontMetrics value returned to the caller.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
getMetrics(): FontMetrics;
|
||
|
||
/**
|
||
* Measure a single character.
|
||
* @param { string } text - A string containing only a single character.
|
||
* @returns { number } The width of the single character.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
measureSingleCharacter(text: string): number;
|
||
/**
|
||
* Measure the width of text.
|
||
* @param { string } text - Text Symbol Content.
|
||
* @param { TextEncoding } encoding - Encoding format.
|
||
* @returns { number } The width of text.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
measureText(text: string, encoding: TextEncoding): number;
|
||
|
||
/**
|
||
* Sets text scale on x-axis to font.
|
||
* @param { number } scaleX - Text scaleX.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
setScaleX(scaleX: number): void;
|
||
|
||
/**
|
||
* Sets text skew on x-axis to font.
|
||
* @param { number } skewX - Text skewX.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
setSkewX(skewX: number): void;
|
||
|
||
/**
|
||
* Sets the edging effect to font.
|
||
* @param { FontEdging } edging - Text edging.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
setEdging(edging: FontEdging): void;
|
||
|
||
/**
|
||
* Sets the hinting pattern to font.
|
||
* @param { FontHinting } hinting - Text hinting.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
setHinting(hinting: FontHinting): void;
|
||
|
||
/**
|
||
* Calculates number of glyphs represented by text.
|
||
* @param { string } text - Indicates the character storage encoded with text encoding.
|
||
* @returns { number } Returns the count of text.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
countText(text: string): number;
|
||
|
||
/**
|
||
* Sets whether the font baselines and pixels alignment when the transformation matrix is axis aligned.
|
||
* @param { boolean } isBaselineSnap - Indicates whether the font baselines and pixels alignment.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
setBaselineSnap(isBaselineSnap: boolean): void;
|
||
|
||
/**
|
||
* Gets whether the font baselines and pixels alignment when the transformation matrix is axis aligned.
|
||
* @returns { boolean } Returns true if the font baselines and pixels alignment; returns false otherwise.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
isBaselineSnap(): boolean;
|
||
|
||
/**
|
||
* Sets whether to use bitmaps instead of outlines in the object.
|
||
* @param { boolean } isEmbeddedBitmaps - Indicates whether to use bitmaps instead of outlines.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
setEmbeddedBitmaps(isEmbeddedBitmaps: boolean): void;
|
||
|
||
/**
|
||
* Gets whether to use bitmaps instead of outlines in the object.
|
||
* @returns { boolean } if using bitmaps instead of outlines; returns false otherwise.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
isEmbeddedBitmaps(): boolean;
|
||
|
||
/**
|
||
* Sets whether the font outline is automatically adjusted.
|
||
* @param { boolean } isForceAutoHinting - Indicates whether the font outline is automatically adjusted.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
setForceAutoHinting(isForceAutoHinting: boolean): void;
|
||
|
||
/**
|
||
* Gets whether the font outline is automatically adjusted.
|
||
* @returns { boolean } Returns true if the font outline is automatically adjusted; returns false otherwise.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
isForceAutoHinting(): boolean;
|
||
|
||
/**
|
||
* Retrieves the advance for each glyph in glyphs.
|
||
* @param { Array<number> } glyphs - Array of glyph indices to be measured.
|
||
* @returns { Array<number> } Returns the width of each character in a string.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
getWidths(glyphs: Array<number>): Array<number>;
|
||
|
||
/**
|
||
* Gets storage for glyph indexes.
|
||
* @param { string } text - Indicates the character storage encoded with text encoding.
|
||
* @param { number } glyphCount - The number of glyph. The default value is the result of calling countText.
|
||
* @returns { Array<number> } Returns the storage for glyph indices.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
textToGlyphs(text: string, glyphCount?: number): Array<number>;
|
||
|
||
/**
|
||
* Returns true if glyphs may be drawn at sub-pixel offsets.
|
||
* @returns { boolean } True if glyphs may be drawn at sub-pixel offsets.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
isSubpixel(): boolean;
|
||
/**
|
||
* Returns true if font and glyph metrics are requested to be linearly scalable.
|
||
* @returns { boolean } True if font and glyph metrics are requested to be linearly scalable.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
isLinearMetrics(): boolean;
|
||
/**
|
||
* Returns text skew on x-axis.
|
||
* @returns { number } Additional shear on x-axis relative to y-axis.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
getSkewX(): number;
|
||
/**
|
||
* Gets whether to increase the stroke width to approximate bold fonts.
|
||
* @returns { boolean } Returns true to increase the stroke width to approximate bold fonts;
|
||
* returns false otherwise.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
isEmbolden(): boolean;
|
||
/**
|
||
* Returns text scale on x-axis.
|
||
* @returns { number } Text horizontal scale.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
getScaleX(): number;
|
||
/**
|
||
* Gets font hinting pattern.
|
||
* @returns { FontHinting } Font hinting level.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
getHinting(): FontHinting;
|
||
/**
|
||
* Gets font edge pixels pattern.
|
||
* @returns { FontEdging } Edge pixels pattern.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
getEdging(): FontEdging;
|
||
/**
|
||
* Create path object of specified Glyph.
|
||
* @param { number } index - the index of Glyphs.
|
||
* @returns { Path } The path object for specified glyph, undefined if not found.
|
||
* Note: Path use y-axis-goes-down system, y axis is inverted to the y-axis-goes-up system.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 14
|
||
*/
|
||
createPathForGlyph(index: number): Path;
|
||
/**
|
||
* Retrieves the bounding rect for each glyph in glyphs.
|
||
* @param { Array<number> } glyphs - Indicates the array of glyph indices to be measured.
|
||
* @returns { Array<common2D.Rect> } Returns bounds for each glyph relative to (0, 0).
|
||
* Note: 1. Rect use y-axis-goes-down system, y axis is inverted to the y-axis-goes-up system.
|
||
* <br>2. Rect use two points(left-bottom & right-top) to describe the bound.
|
||
* <br>3. The bound rect will be snap to integral boundaries.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 14
|
||
*/
|
||
getBounds(glyphs: Array<number>): Array<common2D.Rect>;
|
||
/**
|
||
* Get path of text.
|
||
* @param { string } text - Indicates the character storage encoded with text encoding.
|
||
* @param { number } byteLength - Indicates the byte length of the text.
|
||
* @param { number } x - Indicates X coordinate for the starting position of the text within the drawing area.
|
||
* @param { number } y - Indicates Y coordinate for the starting position of the text within the drawing area.
|
||
* @returns { Path } The path object for Glyph.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 14
|
||
*/
|
||
getTextPath(text: string, byteLength: number, x: number, y: number): Path;
|
||
}
|
||
|
||
/**
|
||
* Indicate when certain metrics are valid; the underline or strikeout metrics may be valid and zero.
|
||
* Fonts with embedded bitmaps may not have valid underline or strikeout metrics.
|
||
* @enum { number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
enum FontMetricsFlags {
|
||
/**
|
||
* Set if underlineThickness of FontMetrics is valid.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
UNDERLINE_THICKNESS_VALID = 1 << 0,
|
||
|
||
/**
|
||
* Set if underlinePosition of FontMetrics is valid.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
UNDERLINE_POSITION_VALID = 1 << 1,
|
||
|
||
/**
|
||
* Set if strikethroughThickness of FontMetrics is valid.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
STRIKETHROUGH_THICKNESS_VALID = 1 << 2,
|
||
|
||
/**
|
||
* Set if strikethroughPosition of FontMetrics is valid.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
STRIKETHROUGH_POSITION_VALID = 1 << 3,
|
||
|
||
/**
|
||
* set if top, bottom, xMin, xMax of FontMetrics invalid.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
BOUNDS_INVALID = 1 << 4,
|
||
}
|
||
|
||
/**
|
||
* The metrics of an Font.
|
||
* @typedef FontMetrics
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
interface FontMetrics {
|
||
/**
|
||
* Indicating which metrics are valid.
|
||
* @type { ?FontMetricsFlags }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
flags?: FontMetricsFlags;
|
||
|
||
/**
|
||
* Maximum range above the glyph bounding box.
|
||
* @type { number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
top: number;
|
||
/**
|
||
* Distance Retained Above Baseline.
|
||
* @type { number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
ascent: number;
|
||
/**
|
||
* The distance that remains below the baseline.
|
||
* @type { number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
descent: number;
|
||
/**
|
||
* Maximum range below the glyph bounding box.
|
||
* @type { number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
bottom: number;
|
||
/**
|
||
* Line Spacing.
|
||
* @type { number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
leading: number;
|
||
/**
|
||
* Average character width, zero if unknown.
|
||
* @type { ?number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
avgCharWidth?: number;
|
||
|
||
/**
|
||
* Maximum character width, zero if unknown.
|
||
* @type { ?number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
maxCharWidth?: number;
|
||
|
||
/**
|
||
* Greatest extent to left of origin of any glyph bounding box, typically negative; deprecated with variable fonts.
|
||
* @type { ?number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
xMin?: number;
|
||
|
||
/**
|
||
* Greatest extent to right of origin of any glyph bounding box, typically positive; deprecated with variable fonts.
|
||
* @type { ?number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
xMax?: number;
|
||
|
||
/**
|
||
* Height of lower-case 'x', zero if unknown, typically negative.
|
||
* @type { ?number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
xHeight?: number;
|
||
|
||
/**
|
||
* Height of an upper-case letter, zero if unknown, typically negative.
|
||
* @type { ?number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
capHeight?: number;
|
||
|
||
/**
|
||
* Underline thickness.
|
||
* @type { ?number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
underlineThickness?: number;
|
||
|
||
/**
|
||
* Distance from baseline to top of stroke, typically positive.
|
||
* @type { ?number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
underlinePosition?: number;
|
||
|
||
/**
|
||
* Strikethrough thickness.
|
||
* @type { ?number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
strikethroughThickness?: number;
|
||
|
||
/**
|
||
* Distance from baseline to bottom of stroke, typically negative.
|
||
* @type { ?number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
strikethroughPosition?: number;
|
||
}
|
||
|
||
/**
|
||
* Lattice is the class for dividing an image into grids.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
class Lattice {
|
||
/**
|
||
* Divide an image into a rectangular grid. Grid entries on even columns and even rows are fixed;
|
||
* these entries are always drawn at their original size if the destination is large enough. If the destination
|
||
* side is too small to hold the fixed entries, all fixed entries are scaled down to fit.
|
||
* The grid entries not on even columns and rows are scaled to fit the remaining space, if any.
|
||
* @param { Array<number> } xDivs - X coordinate of values used to divide the image.
|
||
* @param { Array<number> } yDivs - Y coordinate of values used to divide the image.
|
||
* @param { number } fXCount - Number of x coordinates. Must be >= 0.
|
||
* @param { number } fYCount - Number of y coordinates. Must be >= 0.
|
||
* @param { common2D.Rect | null } fBounds - Source bounds to draw from. The default value is null.
|
||
* @param { Array<RectType> | null } fRectTypes - Array of fill types. The default value is null.
|
||
* @param { Array<common2D.Color> | null } fColors - Array of colors. The default value is null.
|
||
* @returns { Lattice } Lattice object.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @static
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
static createImageLattice(xDivs: Array<number>, yDivs: Array<number>, fXCount: number, fYCount: number,
|
||
fBounds?: common2D.Rect | null, fRectTypes?: Array<RectType> | null, fColors?: Array<common2D.Color> | null): Lattice;
|
||
|
||
/**
|
||
* Divide an image into a rectangular grid. Grid entries on even columns and even rows are fixed;
|
||
* these entries are always drawn at their original size if the destination is large enough. If the destination
|
||
* side is too small to hold the fixed entries, all fixed entries are scaled down to fit.
|
||
* The grid entries not on even columns and rows are scaled to fit the remaining space, if any.
|
||
* @param { Array<number> } xDivs - X coordinate of values used to divide the image.
|
||
* @param { Array<number> } yDivs - Y coordinate of values used to divide the image.
|
||
* @param { number } fXCount - Number of x coordinates. Must be >= 0.
|
||
* @param { number } fYCount - Number of y coordinates. Must be >= 0.
|
||
* @param { common2D.Rect | null } fBounds - Source bounds to draw from. The default value is null.
|
||
* @param { Array<RectType> | null } fRectTypes - Array of fill types. The default value is null.
|
||
* @param { Array<number> | null } fColors - Array of colors represented by ARGB color of hexadecimal format. The default value is null.
|
||
* @returns { Lattice } Lattice object.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @static
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 13
|
||
*/
|
||
static createImageLattice(xDivs: Array<number>, yDivs: Array<number>, fXCount: number, fYCount: number,
|
||
fBounds?: common2D.Rect | null, fRectTypes?: Array<RectType> | null, fColors?: Array<number> | null): Lattice;
|
||
}
|
||
|
||
/**
|
||
* Enumerate rect types. Optional setting per rectangular grid entry to make it transparent,
|
||
* or to fill the grid entry with a color. only used in Lattice.
|
||
* @enum { number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
enum RectType {
|
||
/**
|
||
* Draws image into lattice rect.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
DEFAULT = 0,
|
||
|
||
/**
|
||
* Skips lattice rect by making it transparent.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
TRANSPARENT = 1,
|
||
|
||
/**
|
||
* Draws one of fColors into lattice rect.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
FIXEDCOLOR = 2
|
||
}
|
||
|
||
/**
|
||
* MaskFilter is the class for object that perform transformations on an alpha-channel mask before drawing it.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
class MaskFilter {
|
||
/**
|
||
* Makes a MaskFilter with a blur effect.
|
||
* @param { BlurType } blurType - Indicates the blur type.
|
||
* @param { number } sigma - Indicates the standard deviation of the Gaussian blur to apply. Must be > 0.
|
||
* @returns { MaskFilter } MaskFilter object.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @static
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
static createBlurMaskFilter(blurType: BlurType, sigma: number): MaskFilter;
|
||
}
|
||
|
||
/**
|
||
* Defines a PathEffect, which is used to affects stroked paths.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
class PathEffect {
|
||
/**
|
||
* Makes a dash PathEffect.
|
||
* @param { Array<number> } intervals - Array of ON and OFF distances. Must contain an even number of entries (>=2),
|
||
* with the even indices specifying the "on" intervals, and the odd indices specifying the "off" intervals.
|
||
* @param { number } phase - Offset into the intervals array.
|
||
* @returns { PathEffect } PathEffect object.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @static
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
static createDashPathEffect(intervals: Array<number>, phase: number): PathEffect;
|
||
|
||
/**
|
||
* Makes a corner PathEffect.
|
||
* @param { number } radius - Indicates the radius of the tangent circle at the corners of the path.
|
||
* The radius must be greater than 0.
|
||
* @returns { PathEffect } PathEffect object.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @static
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
static createCornerPathEffect(radius: number): PathEffect;
|
||
}
|
||
|
||
/**
|
||
* Describes a shader effect object.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
class ShaderEffect {
|
||
/**
|
||
* Creates an ShaderEffect object that generates a shader with single color.
|
||
* @param { number } color - Indicates the color used by the shader.
|
||
* @returns { ShaderEffect } Returns the shader with single color ShaderEffect object.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
static createColorShader(color: number): ShaderEffect;
|
||
|
||
/**
|
||
* Creates an ShaderEffect object that generates a linear gradient between the two specified points.
|
||
* @param { common2D.Point } startPt - Indicates the start point for the gradient.
|
||
* @param { common2D.Point } endPt - Indicates the end point for the gradient.
|
||
* @param { Array<number> } colors - Indicates the colors to be distributed between the two points.
|
||
* @param { TileMode } mode - Indicates the tile mode.
|
||
* @param { Array<number> | null } pos - Indicates the relative position of each corresponding color
|
||
* <br> in the colors array. The default value is empty for uniform distribution.
|
||
* @param { Matrix | null } matrix - Indicates the Matrix object. The default value is null.
|
||
* @returns { ShaderEffect } Returns a linear gradient ShaderEffect object.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
static createLinearGradient(startPt: common2D.Point, endPt: common2D.Point, colors: Array<number>,
|
||
mode: TileMode, pos?: Array<number> | null, matrix?: Matrix | null): ShaderEffect;
|
||
|
||
/**
|
||
* Creates an ShaderEffect object that generates a radial gradient given the center and radius.
|
||
* @param { common2D.Point } centerPt - Indicates the center of the circle for the gradient.
|
||
* @param { number } radius - Indicates the radius of the circle for this gradient.
|
||
* @param { Array<number> } colors - Indicates the colors to be distributed between the two points.
|
||
* @param { TileMode } mode - Indicates the tile mode.
|
||
* @param { Array<number> | null } pos - Indicates the relative position of each corresponding color
|
||
* <br> in the colors array. The default value is empty for uniform distribution.
|
||
* @param { Matrix | null } matrix - Indicates the Matrix object. The default value is null.
|
||
* @returns { ShaderEffect } Returns a radial gradient ShaderEffect object.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
static createRadialGradient(centerPt: common2D.Point, radius: number, colors: Array<number>,
|
||
mode: TileMode, pos?: Array<number> | null, matrix?: Matrix | null): ShaderEffect;
|
||
|
||
/**
|
||
* Creates an ShaderEffect object that generates a sweep gradient given a center.
|
||
* @param { common2D.Point } centerPt - Indicates the center of the circle for the gradient.
|
||
* @param { Array<number> } colors - Indicates the colors to be distributed between the two points.
|
||
* @param { TileMode } mode - Indicates the tile mode.
|
||
* @param { number } startAngle - The starting angle of the gradient.
|
||
* @param { number } endAngle - The ending angle of the gradient.
|
||
* @param { Array<number> | null } pos - Indicates the relative position of each corresponding color
|
||
* <br> in the colors array. The default value is empty for uniform distribution.
|
||
* @param { Matrix | null } matrix - Indicates the Matrix object. The default value is null.
|
||
* @returns { ShaderEffect } Returns a sweep gradient ShaderEffect object.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
static createSweepGradient(centerPt: common2D.Point, colors: Array<number>,
|
||
mode: TileMode, startAngle: number, endAngle: number, pos?: Array<number> | null,
|
||
matrix?: Matrix | null): ShaderEffect;
|
||
|
||
/**
|
||
* Creates an ShaderEffect object that generates a conical gradient given two circles.
|
||
* @param { common2D.Point } startPt - Indicates the center of the start circle for the gradient.
|
||
* @param { number } startRadius - Indicates the radius of the start circle for this gradient.
|
||
* @param { common2D.Point } endPt - Indicates the center of the end circle for the gradient.
|
||
* @param { number } endRadius - Indicates the radius of the end circle for this gradient.
|
||
* @param { Array<number> } colors - Indicates the colors to be distributed between the two points.
|
||
* @param { TileMode } mode - Indicates the tile mode.
|
||
* @param { Array<number> | null } pos - Indicates the relative position of each corresponding color
|
||
* <br> in the colors array. The default value is empty for uniform distribution.
|
||
* @param { Matrix | null } matrix - Indicates the Matrix object. The default value is null.
|
||
* @returns { ShaderEffect } Returns a conical gradient ShaderEffect object.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
static createConicalGradient(startPt: common2D.Point, startRadius: number, endPt: common2D.Point,
|
||
endRadius: number, colors: Array<number>, mode: TileMode,
|
||
pos?: Array<number> | null, matrix?: Matrix | null): ShaderEffect;
|
||
}
|
||
|
||
/**
|
||
* Enumerates tile modes that describe an image or texture.
|
||
* @enum { number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
enum TileMode {
|
||
/**
|
||
* Replicate the edge color if the shader effect draws outside of its original bounds.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
CLAMP = 0,
|
||
|
||
/**
|
||
* Repeat the shader effect image horizontally and vertically.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
REPEAT = 1,
|
||
|
||
/**
|
||
* Repeat the shader effect image horizontally and vertically, alternating mirror images
|
||
* so that adjacent images always seam.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
MIRROR = 2,
|
||
|
||
/**
|
||
* Only draw within the original domain, return transparent-black everywhere else.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
DECAL = 3,
|
||
}
|
||
|
||
/**
|
||
* Defines a ShadowLayer, which is used to specify the color, blur radius, and offset of the shadow.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
class ShadowLayer {
|
||
/**
|
||
* Makes a new ShadowLayer.
|
||
*
|
||
* @param { number } blurRadius - The blur radius of the shadow. The blur radius must be greater than 0.
|
||
* @param { number } x - The offset point on x-axis.
|
||
* @param { number } y - The offset point on y-axis.
|
||
* @param { common2D.Color } color - The shadow color. The range of color channels must be [0, 255].
|
||
* @returns { ShadowLayer } ShadowLayer object.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @static
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
static create(blurRadius: number, x: number, y: number, color: common2D.Color): ShadowLayer;
|
||
|
||
/**
|
||
* Makes a new ShadowLayer with the specified ARGB color of hexadecimal format.
|
||
*
|
||
* @param { number } blurRadius - The blur radius of the shadow. The blur radius must be greater than 0.
|
||
* @param { number } x - The offset point on x-axis.
|
||
* @param { number } y - The offset point on y-axis.
|
||
* @param { number } color - The shadow color. Number must be ARGB color of hexadecimal format.
|
||
* @returns { ShadowLayer } ShadowLayer object.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @static
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 13
|
||
*/
|
||
static create(blurRadius: number, x: number, y: number, color: number): ShadowLayer;
|
||
}
|
||
|
||
/**
|
||
* ColorFilters are optional objects in the drawing pipeline.
|
||
*
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
class ColorFilter {
|
||
/**
|
||
* Makes a color filter with the given color and blend mode.
|
||
* @param { common2D.Color } color - The range of color channels must be [0, 255].
|
||
* @param { BlendMode } mode - BlendMode.
|
||
* @returns { ColorFilter } Colorfilter object.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @static
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
static createBlendModeColorFilter(color: common2D.Color, mode: BlendMode): ColorFilter;
|
||
|
||
/**
|
||
* Makes a color filter with the given ARGB color of hexadecimal format and blend mode.
|
||
* @param { number } color - Number must be ARGB color of hexadecimal format.
|
||
* @param { BlendMode } mode - BlendMode.
|
||
* @returns { ColorFilter } Colorfilter object.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @static
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 13
|
||
*/
|
||
static createBlendModeColorFilter(color: number, mode: BlendMode): ColorFilter;
|
||
|
||
/**
|
||
* Create a color filter consisting of two filters.
|
||
* @param { ColorFilter } outer - The filter is used next.
|
||
* @param { ColorFilter } inner - The filter is used first.
|
||
* @returns { ColorFilter } Colorfilter object.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @static
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
static createComposeColorFilter(outer: ColorFilter, inner: ColorFilter): ColorFilter;
|
||
/**
|
||
* Makes a color filter that converts between linear colors and sRGB colors.
|
||
* @returns { ColorFilter } Colorfilter object.
|
||
* @static
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
static createLinearToSRGBGamma(): ColorFilter;
|
||
/**
|
||
* Makes a color filter that converts between sRGB colors and linear colors.
|
||
* @returns { ColorFilter } Colorfilter object.
|
||
* @static
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
static createSRGBGammaToLinear(): ColorFilter;
|
||
/**
|
||
* Makes a color filter that multiplies the luma of its input into the alpha channel,
|
||
* and sets the red, green, and blue channels to zero.
|
||
* @returns { ColorFilter } Colorfilter.
|
||
* @static
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
static createLumaColorFilter(): ColorFilter;
|
||
/**
|
||
* Makes a color filter with a 5x4 color matrix
|
||
* @param { Array<number> } matrix - Indicates the matrix, which is represented as a number array of length 20.
|
||
* @returns { ColorFilter } Colorfilter object.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @static
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
static createMatrixColorFilter(matrix: Array<number>): ColorFilter;
|
||
}
|
||
|
||
/**
|
||
* ImageFilters are optional objects in the drawing pipeline.
|
||
*
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
class ImageFilter {
|
||
/**
|
||
* Makes an ImageFilter object that blurs its input by the separate X and Y sigmas.
|
||
* @param { number } sigmaX - Indicates the Gaussian sigma value for blurring along the X axis. Must be > 0.
|
||
* @param { number } sigmaY - Indicates the Gaussian sigma value for blurring along the Y axis. Must be > 0.
|
||
* @param { TileMode } tileMode - Indicates the tile mode applied at edges.
|
||
* @param { ImageFilter | null } imageFilter - Indicates the input filter that is blurred,
|
||
* uses source bitmap if this is null.
|
||
* @returns { ImageFilter } ImageFilter object.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @static
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
static createBlurImageFilter(sigmaX: number, sigmaY: number,
|
||
tileMode: TileMode, imageFilter?: ImageFilter | null): ImageFilter;
|
||
/**
|
||
* Makes an ImageFilter object that applies the color filter to the input.
|
||
* @param { ColorFilter } colorFilter - Indicates the color filter that transforms the input image.
|
||
* @param { ImageFilter | null } imageFilter - Indicates the input filter, or uses the source bitmap if this is null.
|
||
* @returns { ImageFilter } ImageFilter object.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @static
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
static createFromColorFilter(colorFilter: ColorFilter, imageFilter?: ImageFilter | null): ImageFilter;
|
||
}
|
||
/**
|
||
* Enumerate join styles. The join style defines the shape of the joins of a
|
||
* polyline segment drawn by the pen.
|
||
* @enum { number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
enum JoinStyle {
|
||
/**
|
||
* Miter corner. If the angle of a polyline is small, its miter length may be inappropriate.
|
||
* In this case, you need to use the miter limit to limit the miter length.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
MITER_JOIN = 0,
|
||
|
||
/**
|
||
* Round corner.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
ROUND_JOIN = 1,
|
||
|
||
/**
|
||
* Bevel corner.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
BEVEL_JOIN = 2
|
||
}
|
||
|
||
/**
|
||
* Enumerates cap styles of a pen. The cap style defines
|
||
* the style of both ends of a segment drawn by the pen.
|
||
* @enum { number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
enum CapStyle {
|
||
/**
|
||
* No cap style. Both ends of the segment are cut off square.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
FLAT_CAP = 0,
|
||
|
||
/**
|
||
* Square cap style. Both ends have a square, the height of which
|
||
* is half of the width of the segment, with the same width.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
SQUARE_CAP = 1,
|
||
|
||
/**
|
||
* Round cap style. Both ends have a semicircle centered, the diameter of which
|
||
* is the same as the width of the segment.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
ROUND_CAP = 2
|
||
}
|
||
|
||
/**
|
||
* Enumerates blur type.
|
||
* @enum { number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
enum BlurType {
|
||
/**
|
||
* Fuzzy inside and outside.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
NORMAL = 0,
|
||
|
||
/**
|
||
* Solid inside, fuzzy outside.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
SOLID = 1,
|
||
|
||
/**
|
||
* Nothing inside, fuzzy outside.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
OUTER = 2,
|
||
|
||
/**
|
||
* Fuzzy inside, nothing outside.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
INNER = 3
|
||
}
|
||
|
||
/**
|
||
* Provides settings for strokes during drawing.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
class Pen {
|
||
/**
|
||
* Constructor for the pen.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
constructor();
|
||
|
||
/**
|
||
* Constructor for the pen from an existing pen object pen.
|
||
* @param { Pen } pen - Indicates the Pen object.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
constructor(pen: Pen);
|
||
|
||
/**
|
||
* Sets the stroke miter limit for a polyline drawn by a pen.
|
||
* @param { number } miter - Indicates a variable that describes the miter limit.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
setMiterLimit(miter: number): void;
|
||
|
||
/**
|
||
* Obtains the stroke miter limit of a polyline drawn by a pen.
|
||
* @returns { number } Returns the miter limit.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
getMiterLimit(): number;
|
||
|
||
/**
|
||
* Sets the shaderEffect for a pen.
|
||
* @param { ShaderEffect } shaderEffect - Indicates the ShaderEffect object.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
setShaderEffect(shaderEffect: ShaderEffect): void;
|
||
|
||
/**
|
||
* Set the color of the pen.
|
||
* @param { common2D.Color } color - The range of color channels must be [0, 255].
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
setColor(color: common2D.Color): void;
|
||
|
||
/**
|
||
* Set the specified ARGB color of hexadecimal format to the pen.
|
||
* @param { number } color - Number must be ARGB color of hexadecimal format.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 13
|
||
*/
|
||
setColor(color: number): void;
|
||
|
||
/**
|
||
* Set the AGRB color of the pen.
|
||
* @param { number } alpha - Alpha channel of color. The range of alpha must be [0, 255].
|
||
* @param { number } red - Red channel of color. The range of red must be [0, 255].
|
||
* @param { number } green - Green channel of color. The range of green must be [0, 255].
|
||
* @param { number } blue - Blue channel of color. The range of blue must be [0, 255].
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
setColor(alpha: number, red: number, green: number, blue: number): void;
|
||
|
||
/**
|
||
* Obtains the color of a pen. The color is used by the pen to outline a shape.
|
||
* @returns { common2D.Color } Returns a 32-bit (ARGB) variable that describes the color.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
getColor(): common2D.Color;
|
||
|
||
/**
|
||
* Obtains the color of a pen. The color is used by the pen to outline a shape.
|
||
* @returns { number } Returns a 32-bit (ARGB) variable that describes the color of hexadecimal format.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 13
|
||
*/
|
||
getHexColor(): number;
|
||
|
||
/**
|
||
* Sets the thickness of the pen used by the paint to outline the shape.
|
||
*
|
||
* @param { number } width - Zero thickness for hairline; greater than zero for pen thickness.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
setStrokeWidth(width: number): void;
|
||
|
||
/**
|
||
* Obtains the thickness of a pen. This thickness determines the width of the outline of a shape.
|
||
* @returns { number } Returns the thickness.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
getWidth(): number;
|
||
|
||
/**
|
||
* Requests, but does not require, that edge pixels draw opaque or with partial transparency.
|
||
* @param { boolean } aa - Setting for antialiasing.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
setAntiAlias(aa: boolean): void;
|
||
|
||
/**
|
||
* Checks whether anti-aliasing is enabled for a pen. If anti-aliasing is enabled,
|
||
* edges will be drawn with partial transparency.
|
||
* @returns { boolean } Returns true if the anti-aliasing is enabled; returns false otherwise.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
isAntiAlias(): boolean;
|
||
|
||
/**
|
||
* Replaces alpha, leaving RGB
|
||
*
|
||
* @param { number } alpha - Alpha channel of color. The range of alpha must be [0, 255].
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
setAlpha(alpha: number): void;
|
||
|
||
/**
|
||
* Obtains the alpha of a pen. The alpha is used by the pen to outline a shape.
|
||
* @returns { number } Returns a 8-bit variable that describes the alpha.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
getAlpha(): number;
|
||
|
||
/**
|
||
* Sets ColorFilter to pen
|
||
*
|
||
* @param { ColorFilter } filter - ColorFilter to apply to subsequent draw.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
setColorFilter(filter: ColorFilter): void;
|
||
/**
|
||
* Gets ColorFilter of pen
|
||
* @returns { ColorFilter } ColorFilter.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
getColorFilter(): ColorFilter;
|
||
/**
|
||
* Sets ImageFilter to pen
|
||
* @param { ImageFilter | null } filter - ImageFilter to apply to subsequent draw.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
setImageFilter(filter: ImageFilter | null): void;
|
||
/**
|
||
* Sets MaskFilter to pen.
|
||
*
|
||
* @param { MaskFilter } filter - MaskFilter to apply to subsequent draw.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
setMaskFilter(filter: MaskFilter): void;
|
||
|
||
/**
|
||
* Sets PathEffect to pen.
|
||
*
|
||
* @param { PathEffect } effect - PathEffect to apply to subsequent draw.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
setPathEffect(effect: PathEffect): void;
|
||
|
||
/**
|
||
* Sets ShadowLayer to pen.
|
||
*
|
||
* @param { ShadowLayer } shadowLayer - ShadowLayer to apply to subsequent draw.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
setShadowLayer(shadowLayer: ShadowLayer): void;
|
||
|
||
/**
|
||
* Sets a blender that implements the specified blendmode enum.
|
||
*
|
||
* @param { BlendMode } mode - Blendmode.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
setBlendMode(mode: BlendMode): void;
|
||
|
||
/**
|
||
* Request color distribution error.
|
||
*
|
||
* @param { boolean } dither - Whether the color is distributed incorrectly.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
setDither(dither: boolean): void;
|
||
|
||
/**
|
||
* Sets the JoinStyle for a pen.
|
||
*
|
||
* @param { JoinStyle } style - The JoinStyle.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
setJoinStyle(style: JoinStyle): void;
|
||
|
||
/**
|
||
* Obtains the JoinStyle of a pen.
|
||
*
|
||
* @returns { JoinStyle } The JoinStyle.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
getJoinStyle(): JoinStyle;
|
||
|
||
/**
|
||
* Sets the CapStyle for a pen.
|
||
*
|
||
* @param { CapStyle } style - The CapStyle.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
setCapStyle(style: CapStyle): void;
|
||
|
||
/**
|
||
* Obtains the CapStyle of a pen.
|
||
*
|
||
* @returns { CapStyle } The CapStyle.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
getCapStyle(): CapStyle;
|
||
|
||
/**
|
||
* Resets all pen contents to their initial values.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
reset(): void;
|
||
/**
|
||
* Obtains the filled equivalent of the src path.
|
||
*
|
||
* @param { Path } src - The path read to create a filled version.
|
||
* @param { Path } dst - The resulting path (may be the same as src).
|
||
* @returns { boolean } true if the path should be filled, or false if it should be drawn with a hairline (width == 0)
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
getFillPath(src: Path, dst: Path): boolean;
|
||
}
|
||
|
||
/**
|
||
* Provides settings for brush fill when drawing.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
class Brush {
|
||
/**
|
||
* Constructor for the Brush.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
constructor();
|
||
|
||
/**
|
||
* Constructor for the Brush from an existing brush object brush.
|
||
* @param { Brush } brush - Indicates the Brush object.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
constructor(brush: Brush);
|
||
|
||
/**
|
||
* Set the color of the brush.
|
||
* @param { common2D.Color } color - The range of color channels must be [0, 255].
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
setColor(color: common2D.Color): void;
|
||
|
||
/**
|
||
* Set the specified ARGB color of hexadecimal format to the brush.
|
||
* @param { number } color - Number must be ARGB color of hexadecimal format.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 13
|
||
*/
|
||
setColor(color: number): void;
|
||
|
||
/**
|
||
* Set the ARGB color of the brush.
|
||
* @param { number } alpha - Alpha channel of color. The range of alpha must be [0, 255].
|
||
* @param { number } red - Red channel of color. The range of red must be [0, 255].
|
||
* @param { number } green - Green channel of color. The range of green must be [0, 255].
|
||
* @param { number } blue - Blue channel of color. The range of blue must be [0, 255].
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
setColor(alpha: number, red: number, green: number, blue: number): void;
|
||
|
||
/**
|
||
* Obtains the color of a brush. The color is used by the brush to fill in a shape.
|
||
* @returns { common2D.Color } Returns a 32-bit (ARGB) variable that describes the color.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
getColor(): common2D.Color;
|
||
|
||
/**
|
||
* Obtains the color of a brush. The color is used by the brush to fill in a shape.
|
||
* @returns { number } Returns a 32-bit (ARGB) variable that describes the color of hexadecimal format.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 13
|
||
*/
|
||
getHexColor(): number;
|
||
|
||
/**
|
||
* Requests, but does not require, that edge pixels draw opaque or with partial transparency.
|
||
* @param { boolean } aa - Setting for antialiasing.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
setAntiAlias(aa: boolean): void;
|
||
|
||
/**
|
||
* Checks whether anti-aliasing is enabled for a brush. If anti-aliasing is enabled,
|
||
* edges will be drawn with partial transparency.
|
||
* @returns { boolean } Returns true if anti-aliasing is enabled; returns false otherwise.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
isAntiAlias(): boolean;
|
||
|
||
/**
|
||
* Replaces alpha, leaving RGB
|
||
* @param { number } alpha - Alpha channel of color. The range of alpha must be [0, 255].
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
setAlpha(alpha: number): void;
|
||
|
||
/**
|
||
* Obtains the alpha of a brush. The alpha is used by the brush to fill in a shape.
|
||
* @returns { number } Returns a 8-bit variable that describes the alpha.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
getAlpha(): number;
|
||
|
||
/**
|
||
* Sets ColorFilter to brush
|
||
* @param { ColorFilter } filter - ColorFilter to apply to subsequent draw.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
setColorFilter(filter: ColorFilter): void;
|
||
|
||
/**
|
||
* Gets ColorFilter of brush
|
||
* @returns { ColorFilter } ColorFilter.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
getColorFilter(): ColorFilter;
|
||
/**
|
||
* Sets ImageFilter to brush
|
||
* @param { ImageFilter | null } filter - ImageFilter to apply to subsequent draw.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
setImageFilter(filter: ImageFilter | null): void;
|
||
/**
|
||
* Sets MaskFilter to brush.
|
||
* @param { MaskFilter } filter - MaskFilter to apply to subsequent draw.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
setMaskFilter(filter: MaskFilter): void;
|
||
|
||
/**
|
||
* Sets ShadowLayer to brush.
|
||
*
|
||
* @param { ShadowLayer } shadowLayer - ShadowLayer painting.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
setShadowLayer(shadowLayer: ShadowLayer): void;
|
||
|
||
/**
|
||
* Sets the shaderEffect for a brush.
|
||
* @param { ShaderEffect } shaderEffect - Indicates the ShaderEffect object.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
setShaderEffect(shaderEffect: ShaderEffect): void;
|
||
|
||
/**
|
||
* Sets a blender that implements the specified blendmode enum.
|
||
* @param { BlendMode } mode - Blendmode.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 11
|
||
*/
|
||
setBlendMode(mode: BlendMode): void;
|
||
|
||
/**
|
||
* Resets all brush contents to their initial values.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
reset(): void;
|
||
}
|
||
|
||
/**
|
||
* Declares functions related to the matrix object in the drawing module.
|
||
*
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
class Matrix {
|
||
/**
|
||
* Creates an identity matrix.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
constructor();
|
||
|
||
/**
|
||
* Sets matrix to rotate by degrees about a pivot point at (px, py).
|
||
* @param { number } degree - Indicates the angle of axes relative to upright axes.
|
||
* @param { number } px - Indicates the pivot on x-axis.
|
||
* @param { number } py - Indicates the pivot on y-axis.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
setRotation(degree: number, px: number, py: number): void;
|
||
|
||
/**
|
||
* Sets matrix to scale by sx and sy, about a pivot point at (px, py).
|
||
* @param { number } sx - Indicates the horizontal scale factor.
|
||
* @param { number } sy - Indicates the vertical scale factor.
|
||
* @param { number } px - Indicates the pivot on x-axis.
|
||
* @param { number } py - Indicates the pivot on y-axis.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
setScale(sx: number, sy: number, px: number, py: number): void;
|
||
|
||
/**
|
||
* Sets matrix to translate by (dx, dy).
|
||
* @param { number } dx - Indicates the horizontal translation.
|
||
* @param { number } dy - Indicates the vertical translation.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
setTranslation(dx: number, dy: number): void;
|
||
|
||
/**
|
||
* Sets the params for a matrix.
|
||
* @param { Array<number> } values - Each value in the array represents the following parameters:
|
||
* values[0] - horizontal scale factor to store.
|
||
* values[1] - horizontal skew factor to store.
|
||
* values[2] - horizontal translation to store.
|
||
* values[3] - vertical skew factor to store.
|
||
* values[4] - vertical scale factor to store.
|
||
* values[5] - vertical translation to store.
|
||
* values[6] - input x-axis values perspective factor to store.
|
||
* values[7] - input y-axis values perspective factor to store.
|
||
* values[8] - perspective scale factor to store.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
setMatrix(values: Array<number>): void;
|
||
|
||
/**
|
||
* Sets matrix total to matrix a multiplied by matrix b.
|
||
* @param { Matrix } matrix - Indicates the Matrix object.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
preConcat(matrix: Matrix): void;
|
||
|
||
/**
|
||
* Returns true if the first matrix equals the second matrix.
|
||
* @param { Matrix } matrix - Indicates the Matrix object.
|
||
* @returns { Boolean } Returns true if the two matrices are equal; returns false otherwise.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
isEqual(matrix: Matrix): Boolean;
|
||
|
||
/**
|
||
* Sets inverse to reciprocal matrix, returning true if matrix can be inverted.
|
||
* @param { Matrix } matrix - Indicates the Matrix object.
|
||
* @returns { Boolean } Returns true if matrix can be inverted; returns false otherwise.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
invert(matrix: Matrix): Boolean;
|
||
|
||
/**
|
||
* Returns true if matrix is identity.
|
||
* @returns { Boolean } Returns true if matrix is identity; returns false otherwise.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
isIdentity(): Boolean;
|
||
|
||
/**
|
||
* Get one matrix value. Index is between the range of 0-8.
|
||
* @param { number } index - one of 0-8
|
||
* @returns { number } Returns value corresponding to index.Returns 0 if out of range.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
getValue(index: number): number;
|
||
/**
|
||
* Sets matrix to matrix multiplied by matrix constructed from rotating by degrees around pivot point (px, py).
|
||
* This can be thought of as rotating around a pivot point after applying matrix.
|
||
* @param { number } degree - Indicates the angle of axes relative to upright axes.
|
||
* @param { number } px - Indicates the pivot on x-axis.
|
||
* @param { number } py - Indicates the pivot on y-axis.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
postRotate(degree: number, px: number, py: number): void;
|
||
/**
|
||
* Sets matrix to matrix multiplied by matrix constructed from scaling by (sx, sy) relative to pivot point (px, py).
|
||
* This can be thought of as scaling relative to a pivot point after applying matrix.
|
||
* @param { number } sx - Indicates the horizontal scale factor.
|
||
* @param { number } sy - Indicates the vertical scale factor.
|
||
* @param { number } px - Indicates the pivot on x-axis.
|
||
* @param { number } py - Indicates the pivot on y-axis.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
postScale(sx: number, sy: number, px: number, py: number): void;
|
||
/**
|
||
* Sets matrix to matrix multiplied by matrix constructed from translation (dx, dy).
|
||
* This can be thought of as moving the point to be mapped after applying matrix.
|
||
* @param { number } dx - Indicates the horizontal translation.
|
||
* @param { number } dy - Indicates the vertical translation.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
postTranslate(dx: number, dy: number): void;
|
||
/**
|
||
* Sets matrix to matrix multiplied by matrix constructed from rotating by degrees around pivot point (px, py).
|
||
* This can be thought of as rotating around a pivot point before applying matrix.
|
||
* @param { number } degree - Indicates the angle of axes relative to upright axes.
|
||
* @param { number } px - Indicates the pivot on x-axis.
|
||
* @param { number } py - Indicates the pivot on y-axis.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
preRotate(degree: number, px: number, py: number): void;
|
||
/**
|
||
* Sets matrix to matrix multiplied by matrix constructed from scaling by (sx, sy) relative to pivot point (px, py).
|
||
* This can be thought of as scaling relative to a pivot point before applying matrix.
|
||
* @param { number } sx - Indicates the horizontal scale factor.
|
||
* @param { number } sy - Indicates the vertical scale factor.
|
||
* @param { number } px - Indicates the pivot on x-axis.
|
||
* @param { number } py - Indicates the pivot on y-axis.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
preScale(sx: number, sy: number, px: number, py: number): void;
|
||
/**
|
||
* Sets matrix to matrix multiplied by matrix constructed from translation (dx, dy).
|
||
* This can be thought of as moving the point to be mapped before applying matrix.
|
||
* @param { number } dx - Indicates the horizontal translation.
|
||
* @param { number } dy - Indicates the vertical translation.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
preTranslate(dx: number, dy: number): void;
|
||
/**
|
||
* Reset matrix to identity.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
reset(): void;
|
||
/**
|
||
* Maps src array of length count to dst array of equal or greater length.
|
||
* This can be thought of as moving the point to be mapped before applying matrix.
|
||
* @param { Array<common2D.Point> } src - points to transform.
|
||
* @returns { Array<common2D.Point> } Return mapped points array.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
mapPoints(src: Array<common2D.Point>): Array<common2D.Point>;
|
||
/**
|
||
* Return nine scalar values contained by Matrix.
|
||
* @returns { Array<number> } nine scalar values contained by Matrix.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
getAll(): Array<number>;
|
||
/**
|
||
* Sets dst to bounds of src corners mapped by matrix transformation.
|
||
* @param { common2D.Rect } dst - Rect to map from.
|
||
* @param { common2D.Rect } src - Rect to map to.
|
||
* @returns { boolean } Returns true if the mapped src is equal to the dst; returns false is not equal.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
mapRect(dst: common2D.Rect, src: common2D.Rect): boolean;
|
||
/**
|
||
* Sets matrix to scale and translate src rect to dst rect.
|
||
* @param { common2D.Rect } src - Rect to map from.
|
||
* @param { common2D.Rect } dst - Rect to map to.
|
||
* @param { ScaleToFit } scaleToFit - Describes how matrix is constructed to map one rect to another.
|
||
* @returns { boolean } Returns true if dst is empty, and sets matrix to:
|
||
| 0 0 0 |
|
||
| 0 0 0 |
|
||
| 0 0 1 |.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types; 3. Parameter verification failed.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
setRectToRect(src: common2D.Rect, dst: common2D.Rect, scaleToFit: ScaleToFit): boolean;
|
||
/**
|
||
* Sets Matrix to map src to dst. Count must be zero or greater, and four or less.
|
||
* @param { Array<common2D.Point> } src - Point to map from
|
||
* @param { Array<common2D.Point> } dst - Point to map to
|
||
* @param { number } count - Number of Point in src and dst
|
||
* @returns { boolean } Returns true if Matrix was constructed successfully
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
setPolyToPoly(src: Array<common2D.Point>, dst: Array<common2D.Point>, count: number): boolean;
|
||
}
|
||
|
||
/**
|
||
* Describes a scale-to-fit values.
|
||
* @enum { number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
enum ScaleToFit {
|
||
/**
|
||
* Scales in x and y to fill destination Rect.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
FILL_SCALE_TO_FIT = 0,
|
||
|
||
/**
|
||
* Scales and aligns to left and top.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
START_SCALE_TO_FIT = 1,
|
||
|
||
/**
|
||
* Scales and aligns to center.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
CENTER_SCALE_TO_FIT = 2,
|
||
|
||
/**
|
||
* Scales and aligns to right and bottom.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
END_SCALE_TO_FIT = 3
|
||
}
|
||
|
||
/**
|
||
* Describes a region object.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
class Region {
|
||
/**
|
||
* Determines whether the test point is in the region.
|
||
* @param { number } x - Indicates the x coordinate of the point. The parameter must be an integer.
|
||
* @param { number } y - Indicates the y coordinate of the point. The parameter must be an integer.
|
||
* @returns { boolean } Returns true if (x, y) is inside region; returns false otherwise.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
isPointContained(x: number, y:number): boolean;
|
||
|
||
/**
|
||
* Determines whether other region is in the region.
|
||
* @param { Region } other - Other region object.
|
||
* @returns { boolean } Returns true if other region is completely inside the region object;
|
||
* <br>returns false otherwise.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
isRegionContained(other: Region): boolean;
|
||
|
||
/**
|
||
* Replaces region with the result of region op region.
|
||
* @param { Region } region - Region object.
|
||
* @param { RegionOp } regionOp - Operation type.
|
||
* @returns { boolean } Returns true if replaced region is not empty; returns false otherwise.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
op(region: Region, regionOp: RegionOp): boolean;
|
||
|
||
/**
|
||
* Determines whether rect and region does not intersect.
|
||
* @param { number } left - Left position of rectangle. The parameter must be an integer.
|
||
* @param { number } top - Top position of rectangle. The parameter must be an integer.
|
||
* @param { number } right - Right position of rectangle. The parameter must be an integer.
|
||
* @param { number } bottom - Bottom position of rectangle. The parameter must be an integer.
|
||
* @returns { boolean } Returns true if rect and region is not intersect; returns false otherwise.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
quickReject(left: number, top: number, right: number, bottom: number): boolean;
|
||
|
||
/**
|
||
* Sets the region to match outline of path within clip.
|
||
* @param { Path } path - Providing outline.
|
||
* @param { Region } clip - Region object.
|
||
* @returns { boolean } Returns true if constructed region is not empty; returns false otherwise.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
setPath(path: Path, clip: Region): boolean;
|
||
|
||
/**
|
||
* Sets a rect to region.
|
||
* @param { number } left - Left position of rectangle. The parameter must be an integer.
|
||
* @param { number } top - Top position of rectangle. The parameter must be an integer.
|
||
* @param { number } right - Right position of rectangle. The parameter must be an integer.
|
||
* @param { number } bottom - Bottom position of rectangle. The parameter must be an integer.
|
||
* @returns { boolean } Returns true if constructed region is not empty; returns false otherwise.
|
||
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
|
||
* <br>2. Incorrect parameter types.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
setRect(left: number, top: number, right: number, bottom: number): boolean;
|
||
}
|
||
|
||
/**
|
||
* Enumerates of operations when two regions are combined.
|
||
* @enum { number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
enum RegionOp {
|
||
/**
|
||
* Difference operation.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
DIFFERENCE = 0,
|
||
|
||
/**
|
||
* Intersect operation.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
INTERSECT = 1,
|
||
|
||
/**
|
||
* Union operation.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
UNION = 2,
|
||
|
||
/**
|
||
* Xor operation.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
XOR = 3,
|
||
|
||
/**
|
||
* Reverse difference operation.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
REVERSE_DIFFERENCE = 4,
|
||
|
||
/**
|
||
* Replace operation.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
REPLACE = 5
|
||
}
|
||
|
||
/**
|
||
* Enumerates of corner radius position.
|
||
*
|
||
* @enum { number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
enum CornerPos {
|
||
/**
|
||
* Index of top-left corner radius.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
TOP_LEFT_POS = 0,
|
||
|
||
/**
|
||
* Index of top-right corner radius.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
TOP_RIGHT_POS = 1,
|
||
|
||
/**
|
||
* Index of bottom-right corner radius.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
BOTTOM_RIGHT_POS = 2,
|
||
|
||
/**
|
||
* Index of bottom-left corner radius.
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
BOTTOM_LEFT_POS = 3
|
||
}
|
||
|
||
/**
|
||
* Enumeration defines the constraint type.
|
||
*
|
||
* @enum { number }
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
enum SrcRectConstraint {
|
||
|
||
/**
|
||
* Using sampling only inside bounds in a slower manner.
|
||
*
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
STRICT = 0,
|
||
|
||
/**
|
||
* Using sampling outside bounds in a faster manner.
|
||
*
|
||
* @syscap SystemCapability.Graphics.Drawing
|
||
* @since 12
|
||
*/
|
||
FAST = 1
|
||
}
|
||
}
|
||
|
||
export default drawing;
|