diff --git a/graphic/graphic_2d/native_drawing/drawing_bitmap.h b/graphic/graphic_2d/native_drawing/drawing_bitmap.h
index 52b0834123fda7b06909c9f715918b50611ea658..89f5fcdca540ef1bc34de4f9b60375f14d863e63 100644
--- a/graphic/graphic_2d/native_drawing/drawing_bitmap.h
+++ b/graphic/graphic_2d/native_drawing/drawing_bitmap.h
@@ -76,6 +76,20 @@ OH_Drawing_Bitmap* OH_Drawing_BitmapCreate(void);
*/
void OH_Drawing_BitmapDestroy(OH_Drawing_Bitmap*);
+/**
+ * @brief Creates an OH_Drawing_Bitmap object with OH_Drawing_Image_Info object
+ * and sets the mem address or pixel storage.
+ *
+ * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
+ * @param OH_Drawing_Image_Info Indicates the pointer to an OH_Drawing_Image_Info object.
+ * @param pixels the pointer to memory address or pixel storage.
+ * @param rowBytes size of pixel row or larger.
+ * @return Returns the pointer to the OH_Drawing_Bitmap object created.
+ * @since 12
+ * @version 1.0
+ */
+OH_Drawing_Bitmap* OH_Drawing_BitmapCreateFromPixels(OH_Drawing_Image_Info*, void* pixels, uint32_t rowBytes);
+
/**
* @brief Initializes the width and height of an OH_Drawing_Bitmap object
* and sets the pixel format for the bitmap.
diff --git a/graphic/graphic_2d/native_drawing/drawing_canvas.h b/graphic/graphic_2d/native_drawing/drawing_canvas.h
index 8d882ecc4a4b6f1fcb6ebf0cb4e21214109c36bb..c65f1a8130485d159e57cc6419cdb826cc0b0b91 100644
--- a/graphic/graphic_2d/native_drawing/drawing_canvas.h
+++ b/graphic/graphic_2d/native_drawing/drawing_canvas.h
@@ -212,6 +212,21 @@ void OH_Drawing_CanvasDrawPath(OH_Drawing_Canvas*, const OH_Drawing_Path*);
*/
void OH_Drawing_CanvasDrawBitmap(OH_Drawing_Canvas*, const OH_Drawing_Bitmap*, float left, float top);
+/**
+ * @brief Draw the specified area of the bitmap to the specified area of the canvas.
+ *
+ * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
+ * @param OH_Drawing_Canvas Indicates the pointer to an OH_Drawing_Canvas object.
+ * @param OH_Drawing_Bitmap Indicates the pointer to an OH_Drawing_Bitmap object.
+ * @param src the area of source bitmap, can be nullptr.
+ * @param dst the area of destination canvas.
+ * @param OH_Drawing_SamplingOptions the sampling mode.
+ * @since 12
+ * @version 1.0
+ */
+void OH_Drawing_CanvasDrawBitmapRect(OH_Drawing_Canvas*, const OH_Drawing_Bitmap*, const OH_Drawing_Rect* src,
+ const OH_Drawing_Rect* dst, const OH_Drawing_SamplingOptions*);
+
/**
* @brief Draws a rect.
*
@@ -390,23 +405,22 @@ int32_t OH_Drawing_CanvasGetHeight(OH_Drawing_Canvas*);
*
* @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
* @param OH_Drawing_Canvas Indicates the pointer to an OH_Drawing_Canvas object.
- * @return The pointer to an OH_Drawing_Rect object, represents the boundar of clip,
- * transformed by inverse of matrix.
+ * @param OH_Drawing_Rect Indicates the pointer to an OH_Drawing_Rect object.
* @since 12
* @version 1.0
*/
-OH_Drawing_Rect* OH_Drawing_CanvasGetLocalClipBounds(OH_Drawing_Canvas*);
+void OH_Drawing_CanvasGetLocalClipBounds(OH_Drawing_Canvas*, OH_Drawing_Rect*);
/**
- * @brief Get a 3x3 matrix of the transform from local coordinates to 'device'
+ * @brief Get a 3x3 matrix of the transform from local coordinates to 'device'.
*
* @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
* @param OH_Drawing_Canvas Indicates the pointer to an OH_Drawing_Canvas object.
- * @return The pointer to an OH_Drawing_Matrix object.
+ * @param OH_Drawing_Matrix Indicates the pointer to an OH_Drawing_Matrix object.
* @since 12
* @version 1.0
*/
-OH_Drawing_Matrix* OH_Drawing_CanvasGetLocalToDevice(OH_Drawing_Canvas*);
+void OH_Drawing_CanvasGetTotalMatrix(OH_Drawing_Canvas*, OH_Drawing_Matrix*);
/**
* @brief Use the passed matrix to transforming the geometry, then use existing matrix.
@@ -451,10 +465,9 @@ typedef enum {
* @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
* @param OH_Drawing_Canvas Indicates the pointer to an OH_Drawing_Canvas object.
* @param OH_Drawing_Path Indicates the pointer to an OH_Drawing_Path object, use to generate shadows.
- * @param OH_Drawing_Point3 Indicates the pointer to an OH_Drawing_Point3 object.
- * represents the value of the function which returns Z offset of the occluder from the canvas based on x and y.
- * @param OH_Drawing_Point3 Indicates the pointer to an OH_Drawing_Point3 object.
- * represents the position of the light relative to the canvas.
+ * @param planeParams Represents the value of the function which returns Z offset of the occluder from the
+ * canvas based on x and y.
+ * @param devLightPos Represents the position of the light relative to the canvas.
* @param lightRadius The radius of the circular light.
* @param ambientColor Ambient shadow's color.
* @param spotColor Spot shadow's color.
@@ -462,8 +475,8 @@ typedef enum {
* @since 12
* @version 1.0
*/
-void OH_Drawing_CanvasDrawShadow(OH_Drawing_Canvas*, OH_Drawing_Path*, OH_Drawing_Point3*,
- OH_Drawing_Point3*, float lightRadius, uint32_t ambientColor, uint32_t spotColor,
+void OH_Drawing_CanvasDrawShadow(OH_Drawing_Canvas*, OH_Drawing_Path*, OH_Drawing_Point3D planeParams,
+ OH_Drawing_Point3D devLightPos, float lightRadius, uint32_t ambientColor, uint32_t spotColor,
OH_Drawing_CanvasShadowFlags flag);
/**
@@ -482,7 +495,7 @@ void OH_Drawing_CanvasClear(OH_Drawing_Canvas*, uint32_t color);
*
* @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
* @param OH_Drawing_Canvas Indicates the pointer to an OH_Drawing_Canvas object.
- * @param OH_Drawing_Matrix Indicates the pointer to an OH_Drawing_Canvas object.
+ * @param OH_Drawing_Matrix Indicates the pointer to an OH_Drawing_Matrix object.
* @since 12
* @version 1.0
*/
@@ -494,13 +507,31 @@ void OH_Drawing_CanvasSetMatrix(OH_Drawing_Canvas*, OH_Drawing_Matrix*);
*
* @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
* @param OH_Drawing_Canvas Indicates the pointer to an OH_Drawing_Canvas object.
- * @param OH_Drawing_Matrix Indicates the pointer to an OH_Drawing_Image object.
+ * @param OH_Drawing_Image Indicates the pointer to an OH_Drawing_Image object.
* @param OH_Drawing_Rect Indicates the pointer to an OH_Drawing_Rect object.
* @param OH_Drawing_SamplingOptions Indicates the pointer to an OH_Drawing_SamplingOptions object.
* @since 12
* @version 1.0
*/
-void OH_Drawing_CanvasDrawImageRect(OH_Drawing_Canvas*, OH_Drawing_Image*, OH_Drawing_Rect* dst, OH_Drawing_SamplingOptions*);
+void OH_Drawing_CanvasDrawImageRect(OH_Drawing_Canvas*, OH_Drawing_Image*,
+ OH_Drawing_Rect* dst, OH_Drawing_SamplingOptions*);
+
+/**
+ * @brief Read pixels data from canvas.
+ *
+ * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
+ * @param OH_Drawing_Canvas Indicates the pointer to an OH_Drawing_Canvas object.
+ * @param OH_Drawing_Image_Info width, height, colorType, and alphaType of dstPixels.
+ * @param dstPixels destination pixel storage.
+ * @param dstRowBytes size of one row of pixels.
+ * @param srcX offset into canvas writable pixels on x-axis.
+ * @param srcY offset into canvas writable pixels on y-axis.
+ * @return true if pixels are copied to dstPixels.
+ * @since 12
+ * @version 1.0
+ */
+bool OH_Drawing_CanvasReadPixels(OH_Drawing_Canvas*, OH_Drawing_Image_Info*,
+ void* dstPixels, uint32_t dstRowBytes, int32_t srcX, int32_t srcY);
/**
* @brief Read pixels data to a bitmap from canvas.
@@ -508,8 +539,8 @@ void OH_Drawing_CanvasDrawImageRect(OH_Drawing_Canvas*, OH_Drawing_Image*, OH_Dr
* @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
* @param OH_Drawing_Canvas Indicates the pointer to an OH_Drawing_Canvas object.
* @param OH_Drawing_Bitmap Indicates the pointer to an OH_Drawing_Bitmap object.
- * @param srcX offset into SkCanvas writable pixels on x-axis.
- * @param srcY offset into SkCanvas writable pixels on y-axis.
+ * @param srcX offset into canvas writable pixels on x-axis.
+ * @param srcY offset into canvas writable pixels on y-axis.
* @return true if pixels are copied to dstBitmap.
* @since 12
* @version 1.0
diff --git a/graphic/graphic_2d/native_drawing/drawing_font.h b/graphic/graphic_2d/native_drawing/drawing_font.h
index 437326df78421a7daa60b1e4148a4fa6e2162008..06aa4323bd7e9e20543bc18bf5605a9bacc2a282 100644
--- a/graphic/graphic_2d/native_drawing/drawing_font.h
+++ b/graphic/graphic_2d/native_drawing/drawing_font.h
@@ -76,26 +76,29 @@ void OH_Drawing_FontSetTypeface(OH_Drawing_Font*, OH_Drawing_Typeface*);
OH_Drawing_Typeface* OH_Drawing_FontGetTypeface(OH_Drawing_Font*);
/**
- * @brief Set Font and glyph metrics should ignore hinting and rounding.
+ * @brief Sets text size for an OH_Drawing_Font object.
*
* @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
* @param OH_Drawing_Font Indicates the pointer to an OH_Drawing_Font object.
- * @param bool Should ignore hinting and rounding.
- * @since 12
+ * @param textSize Indicates the text size.
+ * @since 11
* @version 1.0
*/
-void OH_Drawing_FontSetLinearMetrics(OH_Drawing_Font*, bool);
+void OH_Drawing_FontSetTextSize(OH_Drawing_Font*, float textSize);
/**
- * @brief Sets text size for an OH_Drawing_Font object.
+ * @brief Calculate number of glyphs represented by text.
*
* @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
* @param OH_Drawing_Font Indicates the pointer to an OH_Drawing_Font object.
- * @param textSize Indicates the text size.
- * @since 11
+ * @param text Indicates the character storage encoded with text encoding.
+ * @param byteLength Indicates the text length in bytes.
+ * @param encoding Indicates the text encoding.
+ * @since 12
* @version 1.0
*/
-void OH_Drawing_FontSetTextSize(OH_Drawing_Font*, float textSize);
+int OH_Drawing_FontCountText(OH_Drawing_Font*, const void* text, size_t byteLength,
+ OH_Drawing_TextEncoding encoding);
/**
* @brief Enables or disables linearly scalable font for an OH_Drawing_Font object.
diff --git a/graphic/graphic_2d/native_drawing/drawing_image.h b/graphic/graphic_2d/native_drawing/drawing_image.h
index bf96b7b34b1ba1192e9f595252a5bb15e27f160b..ed2f1f4914cc0deb31957b99d3f4697ab851c061 100644
--- a/graphic/graphic_2d/native_drawing/drawing_image.h
+++ b/graphic/graphic_2d/native_drawing/drawing_image.h
@@ -97,6 +97,17 @@ int32_t OH_Drawing_ImageGetWidth(OH_Drawing_Image*);
*/
int32_t OH_Drawing_ImageGetHeight(OH_Drawing_Image*);
+/**
+ * @brief Gets the image info.
+ *
+ * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
+ * @param OH_Drawing_Image Indicates the pointer to an OH_Drawing_Image object.
+ * @param OH_Drawing_Image_Info Indicates the pointer to an OH_Drawing_Image_Info object.
+ * @since 12
+ * @version 1.0
+ */
+void OH_Drawing_ImageGetImageInfo(OH_Drawing_Image*, OH_Drawing_Image_Info*);
+
#ifdef __cplusplus
}
#endif
diff --git a/graphic/graphic_2d/native_drawing/drawing_matrix.h b/graphic/graphic_2d/native_drawing/drawing_matrix.h
index 1aa849bcd2a019aec8a742a61d9747be379f04d8..89548745b1c9551a2dd74abe0d24edc579cd039e 100644
--- a/graphic/graphic_2d/native_drawing/drawing_matrix.h
+++ b/graphic/graphic_2d/native_drawing/drawing_matrix.h
@@ -117,23 +117,35 @@ void OH_Drawing_MatrixSetMatrix(OH_Drawing_Matrix*, float scaleX, float skewX, f
float skewY, float scaleY, float transY, float persp0, float persp1, float persp2);
/**
- * @brief Sets matrix to matrix multiplied by matrix other.
+ * @brief Sets matrix total to matrix a multiplied by matrix b.
* Given:
* | A B C | | J K L |
- * Matrix = | D E F |, other = | M N O |
+ * a = | D E F |, b = | M N O |
* | G H I | | P Q R |
- * sets Matrix to:
- *
+ * sets Matrix total to:
* | A B C | | J K L | | AJ+BM+CP AK+BN+CQ AL+BO+CR |
- * Matrix * other = | D E F | * | M N O | = | DJ+EM+FP DK+EN+FQ DL+EO+FR |
+ * total = a * b = | D E F | * | M N O | = | DJ+EM+FP DK+EN+FQ DL+EO+FR |
* | G H I | | P Q R | | GJ+HM+IP GK+HN+IQ GL+HO+IR |
* @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
+ * @param total Indicates the pointer to an OH_Drawing_Matrix object that a * b.
+ * @param a Indicates the pointer to an OH_Drawing_Matrix object.
+ * @param b Indicates the pointer to an OH_Drawing_Matrix object.
+ * @since 12
+ * @version 1.0
+ */
+void OH_Drawing_MatrixConcat(OH_Drawing_Matrix* total, const OH_Drawing_Matrix* a,
+ const OH_Drawing_Matrix* b);
+
+/**
+ * @brief Get one matrix value. Index is between the range of 0-8.
+ * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
* @param OH_Drawing_Matrix Indicates the pointer to an OH_Drawing_Matrix object.
- * @param other Indicates the pointer to an OH_Drawing_Matrix object.
+ * @param index one of 0-8.
+ * @return Returns value corresponding to index.Returns 0 if out of range.
* @since 12
* @version 1.0
*/
-void OH_Drawing_MatrixPreConcat(OH_Drawing_Matrix*, OH_Drawing_Matrix* other);
+float OH_Drawing_MatrixGetValue(OH_Drawing_Matrix*, int index);
/**
* @brief Sets matrix to rotate by degrees about a pivot point at (px, py). The pivot point is unchanged
diff --git a/graphic/graphic_2d/native_drawing/drawing_path.h b/graphic/graphic_2d/native_drawing/drawing_path.h
index 104ecbb9f4ecf1fde0498181c0e75574f0d04fda..968f65c17060c9c76579411f62587ec5d5e7c3f5 100644
--- a/graphic/graphic_2d/native_drawing/drawing_path.h
+++ b/graphic/graphic_2d/native_drawing/drawing_path.h
@@ -46,7 +46,7 @@ extern "C" {
/**
* @brief Direction for adding closed contours.
*
- * @since 11
+ * @since 12
* @version 1.0
*/
typedef enum {
@@ -59,7 +59,7 @@ typedef enum {
/**
* @brief FillType of path
*
- * @since 11
+ * @since 12
* @version 1.0
*/
typedef enum {
@@ -271,7 +271,7 @@ void OH_Drawing_PathTransform(OH_Drawing_Path*, const OH_Drawing_Matrix*);
* @since 12
* @version 1.0
*/
-void OH_Drawing_SetFillStyle(OH_Drawing_Path*, OH_Drawing_PathFillType);
+void OH_Drawing_PathSetFillType(OH_Drawing_Path*, OH_Drawing_PathFillType);
/**
* @brief Closes a path. A line segment from the start point to the last point of the path is added.
diff --git a/graphic/graphic_2d/native_drawing/drawing_point.h b/graphic/graphic_2d/native_drawing/drawing_point.h
index 53c828604da8cbc73a8966afd3e1121c33a6fc03..f63faf78d885ee6a432dfb677b524e3f1934fdb1 100644
--- a/graphic/graphic_2d/native_drawing/drawing_point.h
+++ b/graphic/graphic_2d/native_drawing/drawing_point.h
@@ -65,29 +65,6 @@ OH_Drawing_Point* OH_Drawing_PointCreate(float x, float y);
*/
void OH_Drawing_PointDestroy(OH_Drawing_Point*);
-/**
- * @brief Creates an OH_Drawing_Point3 object.
- *
- * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
- * @param x Indicates the x-axis coordinates of the point.
- * @param y Indicates the y-axis coordinates of the point.
- * @param z Indicates the z-axis coordinates of the point.
- * @return Returns the pointer to the OH_Drawing_Point3 object created.
- * @since 12
- * @version 1.0
- */
-OH_Drawing_Point3* OH_Drawing_Point3Create(float x, float y, float z);
-
-/**
- * @brief Destroys an OH_Drawing_Point3 object and reclaims the memory occupied by the object.
- *
- * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
- * @param OH_Drawing_Point3 Indicates the pointer to an OH_Drawing_Point3 object.
- * @since 12
- * @version 1.0
- */
-void OH_Drawing_Point3Destroy(OH_Drawing_Point3*);
-
#ifdef __cplusplus
}
#endif
diff --git a/graphic/graphic_2d/native_drawing/drawing_text_blob.h b/graphic/graphic_2d/native_drawing/drawing_text_blob.h
index 5993b89eb220b932b8d13a8a070d9ead4d594122..1ba92f61ba77ad10c8966634265d1f6f57303db8 100644
--- a/graphic/graphic_2d/native_drawing/drawing_text_blob.h
+++ b/graphic/graphic_2d/native_drawing/drawing_text_blob.h
@@ -43,22 +43,6 @@
extern "C" {
#endif
-/**
- * @brief Enumerates text encoding.
- * @since 12
- * @version 1.0
- */
-typedef enum {
- /** uses bytes to represent UTF-8 or ASCII */
- TEXT_ENCODING_UTF8,
- /** uses two byte words to represent most of Unicode */
- TEXT_ENCODING_UTF16,
- /** uses four byte words to represent all of Unicode */
- TEXT_ENCODING_UTF32,
- /** uses two byte words to represent glyph indices */
- TEXT_ENCODING_GLYPH_ID,
-} OH_Drawing_TextEncoding;
-
/**
* @brief Creates an OH_Drawing_TextBlobBuilder object.
*
@@ -90,7 +74,7 @@ OH_Drawing_TextBlob* OH_Drawing_TextBlobCreateFromText(const void* text, size_t
* @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
* @param text Indicates the the pointer to text.
* @param byteLength Indicates the text length.
- * @param OH_Drawing_Point Indicates the points.
+ * @param OH_Drawing_Point2D Indicates the pointer to an OH_Drawing_Point2D array object.
* @param OH_Drawing_Font Indicates the pointer to an OH_Drawing_Font object.
* @param OH_Drawing_TextEncoding Indicates the pointer to an OH_Drawing_TextEncoding object.
* @return Returns the pointer to the OH_Drawing_TextBlob object created.
@@ -98,7 +82,7 @@ OH_Drawing_TextBlob* OH_Drawing_TextBlobCreateFromText(const void* text, size_t
* @version 1.0
*/
OH_Drawing_TextBlob* OH_Drawing_TextBlobCreateFromPosText(const void* text, size_t byteLength,
- OH_Drawing_Point* points, const OH_Drawing_Font*, OH_Drawing_TextEncoding);
+ OH_Drawing_Point2D*, const OH_Drawing_Font*, OH_Drawing_TextEncoding);
/**
* @brief Creates an OH_Drawing_TextBlob object from pos text.
diff --git a/graphic/graphic_2d/native_drawing/drawing_types.h b/graphic/graphic_2d/native_drawing/drawing_types.h
index f3d927d4eb1a2a1ca9ad39ffbabbf852b5d0062b..23e50f38dc3175744df726236a0011a5715abcec 100644
--- a/graphic/graphic_2d/native_drawing/drawing_types.h
+++ b/graphic/graphic_2d/native_drawing/drawing_types.h
@@ -94,12 +94,27 @@ typedef struct OH_Drawing_Bitmap OH_Drawing_Bitmap;
typedef struct OH_Drawing_Point OH_Drawing_Point;
/**
- * @brief Defines a point of 3x3, which is used to describe the coordinate point.
+ * @brief Defines a point of 2d.
*
* @since 12
* @version 1.0
*/
-typedef struct OH_Drawing_Point3 OH_Drawing_Point3;
+typedef struct {
+ float x;
+ float y;
+} OH_Drawing_Point2D;
+
+/**
+ * @brief Defines a point of 3d, which is used to describe the coordinate point.
+ *
+ * @since 12
+ * @version 1.0
+ */
+typedef struct {
+ float x;
+ float y;
+ float z;
+} OH_Drawing_Point3D;
/**
* @brief Defines a pathEffect, which is used to affects stroked paths.
@@ -201,15 +216,15 @@ typedef struct OH_Drawing_TextBlob OH_Drawing_TextBlob;
/**
* @brief Defines a image, which is used to describe a two dimensional array of pixels to draw.
*
- * @since 11
+ * @since 12
* @version 1.0
*/
typedef struct OH_Drawing_Image OH_Drawing_Image;
/**
- * @brief Defines a matrix, which is used to describe the transforming coordinates.
+ * @brief Defines a sampling options, which is used to describe the sampling mode.
*
- * @since 11
+ * @since 12
* @version 1.0
*/
typedef struct OH_Drawing_SamplingOptions OH_Drawing_SamplingOptions;
@@ -273,7 +288,7 @@ typedef enum {
} OH_Drawing_AlphaFormat;
/**
- * @brief The blending operation generates a new color for the two colors (source, target).
+ * @brief The blending operation generates a new color for the two colors (source, destination).
* These operations are the same on the 4 color channels: red, green, blue, alpha.
* For these, we use alpha channel as an example, rather than naming each channel individually.
*
@@ -352,6 +367,39 @@ typedef enum {
BLEND_MODE_LUMINOSITY,
} OH_Drawing_BlendMode;
+/**
+ * @brief Defines image info struct.
+ *
+ * @since 12
+ * @version 1.0
+ */
+typedef struct {
+ /** storage for width of image */
+ int32_t width;
+ /** storage for height of image */
+ int32_t height;
+ /** storage for color formats */
+ OH_Drawing_ColorFormat colorType;
+ /** storage for alpha formats */
+ OH_Drawing_AlphaFormat alphaType;
+} OH_Drawing_Image_Info;
+
+/**
+ * @brief Enumerates text encoding types.
+ * @since 12
+ * @version 1.0
+ */
+typedef enum {
+ /** uses bytes to represent UTF-8 or ASCII */
+ TEXT_ENCODING_UTF8,
+ /** uses two byte words to represent most of Unicode */
+ TEXT_ENCODING_UTF16,
+ /** uses four byte words to represent all of Unicode */
+ TEXT_ENCODING_UTF32,
+ /** uses two byte words to represent glyph indices */
+ TEXT_ENCODING_GLYPH_ID,
+} OH_Drawing_TextEncoding;
+
#ifdef __cplusplus
}
#endif
diff --git a/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json b/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json
index 64d2dd988911ce65797d9989b54193e03838308d..ef1d22e729e11f5c35f85277e20e86c6598b3514 100644
--- a/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json
+++ b/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json
@@ -2,6 +2,7 @@
{ "name": "OH_Drawing_BitmapCreate" },
{ "name": "OH_Drawing_BitmapDestroy" },
{ "name": "OH_Drawing_BitmapBuild" },
+ { "name": "OH_Drawing_BitmapCreateFromPixels" },
{ "name": "OH_Drawing_BitmapGetWidth" },
{ "name": "OH_Drawing_BitmapGetHeight" },
{ "name": "OH_Drawing_BitmapGetPixels" },
@@ -30,6 +31,7 @@
{ "name": "OH_Drawing_CanvasRestoreToCount" },
{ "name": "OH_Drawing_CanvasDrawArc" },
{ "name": "OH_Drawing_CanvasDrawBitmap" },
+ { "name": "OH_Drawing_CanvasDrawBitmapRect" },
{ "name": "OH_Drawing_CanvasDrawCircle" },
{ "name": "OH_Drawing_CanvasDrawLine" },
{ "name": "OH_Drawing_CanvasDrawOval" },
@@ -45,11 +47,12 @@
{ "name": "OH_Drawing_CanvasClear" },
{ "name": "OH_Drawing_CanvasSetMatrix" },
{ "name": "OH_Drawing_CanvasDrawImageRect" },
+ { "name": "OH_Drawing_CanvasReadPixels" },
{ "name": "OH_Drawing_CanvasReadPixelsToBitmap" },
{ "name": "OH_Drawing_CanvasGetWidth" },
{ "name": "OH_Drawing_CanvasGetHeight" },
{ "name": "OH_Drawing_CanvasGetLocalClipBounds" },
- { "name": "OH_Drawing_CanvasGetLocalToDevice" },
+ { "name": "OH_Drawing_CanvasGetTotalMatrix" },
{ "name": "OH_Drawing_CanvasConcatMatrix" },
{ "name": "OH_Drawing_CanvasDrawShadow" },
{ "name": "OH_Drawing_CreateDashPathEffect" },
@@ -70,11 +73,11 @@
{ "name": "OH_Drawing_FontSetFakeBoldText" },
{ "name": "OH_Drawing_FontSetLinearText" },
{ "name": "OH_Drawing_FontSetTextSize" },
+ { "name": "OH_Drawing_FontCountText" },
{ "name": "OH_Drawing_FontSetTextSkewX" },
{ "name": "OH_Drawing_FontSetTypeface" },
{ "name": "OH_Drawing_FontGetMetrics" },
{ "name": "OH_Drawing_FontGetTypeface" },
- { "name": "OH_Drawing_FontSetLinearMetrics" },
{ "name": "OH_Drawing_MaskFilterCreateBlur" },
{ "name": "OH_Drawing_MaskFilterDestroy" },
{ "name": "OH_Drawing_MatrixCreate" },
@@ -82,7 +85,8 @@
{ "name": "OH_Drawing_MatrixCreateScale" },
{ "name": "OH_Drawing_MatrixCreateTranslation" },
{ "name": "OH_Drawing_MatrixSetMatrix" },
- { "name": "OH_Drawing_MatrixPreConcat" },
+ { "name": "OH_Drawing_MatrixConcat" },
+ { "name": "OH_Drawing_MatrixGetValue" },
{ "name": "OH_Drawing_MatrixRotate" },
{ "name": "OH_Drawing_MatrixTranslate" },
{ "name": "OH_Drawing_MatrixScale" },
@@ -104,7 +108,7 @@
{ "name": "OH_Drawing_PathAddPath" },
{ "name": "OH_Drawing_PathContains" },
{ "name": "OH_Drawing_PathTransform" },
- { "name": "OH_Drawing_SetFillStyle" },
+ { "name": "OH_Drawing_PathSetFillType" },
{ "name": "OH_Drawing_PathClose" },
{ "name": "OH_Drawing_PathReset" },
{ "name": "OH_Drawing_PenCreate" },
@@ -128,8 +132,6 @@
{ "name": "OH_Drawing_PenSetShaderEffect" },
{ "name": "OH_Drawing_PointCreate" },
{ "name": "OH_Drawing_PointDestroy" },
- { "name": "OH_Drawing_Point3Create" },
- { "name": "OH_Drawing_Point3Destroy" },
{ "name": "OH_Drawing_ColorSetArgb" },
{ "name": "OH_Drawing_CreateFontCollection" },
{ "name": "OH_Drawing_DestroyFontCollection" },
@@ -194,6 +196,10 @@
{ "name": "OH_Drawing_ImageBuildFromBitmap" },
{ "name": "OH_Drawing_ImageGetWidth" },
{ "name": "OH_Drawing_ImageGetHeight" },
+ {
+ "first_introduced": "12",
+ "name": "OH_Drawing_ImageGetImageInfo"
+ },
{ "name": "OH_Drawing_SamplingOptionsCreate" },
{ "name": "OH_Drawing_SamplingOptionsDestroy" },
{