diff --git a/graphic/graphic_2d/native_drawing/drawing_matrix.h b/graphic/graphic_2d/native_drawing/drawing_matrix.h index bbf6645dfaf5910f121f92fbe67eac5150aa0eb0..5b6fc1f66dc98f683d0ce91fed765bd3a885aeaf 100644 --- a/graphic/graphic_2d/native_drawing/drawing_matrix.h +++ b/graphic/graphic_2d/native_drawing/drawing_matrix.h @@ -57,6 +57,17 @@ extern "C" { */ OH_Drawing_Matrix* OH_Drawing_MatrixCreate(void); +/** + * @brief Creates an OH_Drawing_Matrix copy object. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param matrix Indicates the pointer to an OH_Drawing_Matrix object. + * @return Returns the pointer to the OH_Drawing_Matrix object created. + * @since 20 + * @version 1.0 + */ +OH_Drawing_Matrix* OH_Drawing_MatrixCopy(const OH_Drawing_Matrix* matrix); + /** * @brief Creates an OH_Drawing_Matrix object with rotation. Sets matrix to * rotate by degrees about a pivot point at (px, py). diff --git a/graphic/graphic_2d/native_drawing/drawing_path.h b/graphic/graphic_2d/native_drawing/drawing_path.h index a198ec8551f97e32d57896bbe297bccc946e894c..713456d67c7d1256b241f24c6ec811b4841129ae 100644 --- a/graphic/graphic_2d/native_drawing/drawing_path.h +++ b/graphic/graphic_2d/native_drawing/drawing_path.h @@ -171,6 +171,49 @@ OH_Drawing_Path* OH_Drawing_PathCopy(OH_Drawing_Path* path); */ void OH_Drawing_PathDestroy(OH_Drawing_Path* path); +/** + * @brief Sets OH_Drawing_Path object with the same content of another. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param path Indicates the pointer to an OH_Drawing_Path object. + * @param other Indicates the pointer to an OH_Drawing_Path object to copy content from. + * @return Returns the error code. + * Returns {@link OH_DRAWING_SUCCESS} if the operation is successful. + * Returns {@link OH_DRAWING_ERROR_INVALID_PARAMETER} if path or other is nullptr. + * @since 20 + * @version 1.0 + */ +OH_Drawing_ErrorCode OH_Drawing_PathSetPath(OH_Drawing_Path* path, OH_Drawing_Path* other); + +/** + * @brief Checks if OH_Drawing_Path object is empty. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param path Indicates the pointer to an OH_Drawing_Path object. + * @param isEmpty Indicates the return value. + * @return Returns the error code. + * Returns {@link OH_DRAWING_SUCCESS} if the operation is successful. + * Returns {@link OH_DRAWING_ERROR_INVALID_PARAMETER} if path or isEmpty is nullptr. + * @since 20 + * @version 1.0 + */ +OH_Drawing_ErrorCode OH_Drawing_PathIsEmpty(OH_Drawing_Path* path, bool* isEmpty); + +/** + * @brief Checks if OH_Drawing_Path represents a rectangle. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param path Indicates the pointer to an OH_Drawing_Path object. + * @param rect Indicates the Pointer to an OH_Drawing_Rect object. + * @param isRect Indicates the return value. + * @return Returns the error code. + * Returns {@link OH_DRAWING_SUCCESS} if the operation is successful. + * Returns {@link OH_DRAWING_ERROR_INVALID_PARAMETER} if path or isRect is nullptr. + * @since 20 + * @version 1.0 + */ +OH_Drawing_ErrorCode OH_Drawing_PathIsRect(OH_Drawing_Path* path, OH_Drawing_Rect* rect, bool* isRect); + /** * @brief Sets the start point of a path. * @@ -569,6 +612,20 @@ void OH_Drawing_PathTransformWithPerspectiveClip(OH_Drawing_Path* src, const OH_ */ void OH_Drawing_PathSetFillType(OH_Drawing_Path* path, OH_Drawing_PathFillType pathFillType); +/** + * @brief Gets FillType, the rule used to fill path. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param path Indicates the pointer to an OH_Drawing_Path object. + * @param pathFillType Indicates the FillType apply to path. + * @return Returns the error code. + * Returns {@link OH_DRAWING_SUCCESS} if the operation is successful. + * Returns {@link OH_DRAWING_ERROR_INVALID_PARAMETER} if path or pathFillType is nullptr. + * @since 20 + * @version 1.0 + */ +OH_Drawing_ErrorCode OH_Drawing_PathGetFillType(OH_Drawing_Path* path, OH_Drawing_PathFillType* pathFillType); + /** * @brief Gets the length of the current path object. * diff --git a/graphic/graphic_2d/native_drawing/drawing_region.h b/graphic/graphic_2d/native_drawing/drawing_region.h index ea27f3bcef0a16ec05c722ade28d511fed68fdbf..a73a71fe8d04b5387dca3c82a9aef3192a8ac194 100644 --- a/graphic/graphic_2d/native_drawing/drawing_region.h +++ b/graphic/graphic_2d/native_drawing/drawing_region.h @@ -89,6 +89,17 @@ typedef enum { */ OH_Drawing_Region* OH_Drawing_RegionCreate(void); +/** + * @brief Creates an OH_Drawing_Region copy object. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param region Indicates the pointer to an OH_Drawing_Region object to copy. + * @return Returns the pointer to the OH_Drawing_Region object created. + * @since 20 + * @version 1.0 + */ +OH_Drawing_Region* OH_Drawing_RegionCopy(const OH_Drawing_Region* region); + /** * @brief Determines whether the region contains the specified coordinates. * diff --git a/graphic/graphic_2d/native_drawing/drawing_round_rect.h b/graphic/graphic_2d/native_drawing/drawing_round_rect.h index e3dec061fcde5f4d778ac639aa799bb147bde934..f675f1ab510266ca7d82e10854aef746d19c1b2a 100644 --- a/graphic/graphic_2d/native_drawing/drawing_round_rect.h +++ b/graphic/graphic_2d/native_drawing/drawing_round_rect.h @@ -85,6 +85,17 @@ typedef enum { */ OH_Drawing_RoundRect* OH_Drawing_RoundRectCreate(const OH_Drawing_Rect* rect, float xRad, float yRad); +/** + * @brief Creates an OH_Drawing_RoundRect copy object. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param roundRect Indicates the pointer to an OH_Drawing_RoundRect object to copy. + * @return Returns the pointer to the OH_Drawing_RoundRect object created. + * @since 20 + * @version 1.0 + */ +OH_Drawing_RoundRect* OH_Drawing_RoundRectCopy(const OH_Drawing_RoundRect* roundRect); + /** * @brief Sets the radiusX and radiusY for a specific corner position. * diff --git a/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json b/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json index def91bc0d0672966294bb12d94d1bb1aa20a9c3f..463cdb3163861449bafa9fd42bd94e51e7d5416f 100644 --- a/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json +++ b/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json @@ -344,6 +344,10 @@ }, { "name": "OH_Drawing_MaskFilterCreateBlur" }, { "name": "OH_Drawing_MaskFilterDestroy" }, + { + "first_introduced": "20", + "name": "OH_Drawing_MatrixCopy" + }, { "name": "OH_Drawing_MatrixCreate" }, { "name": "OH_Drawing_MatrixCreateRotation" }, { "name": "OH_Drawing_MatrixCreateScale" }, @@ -515,6 +519,22 @@ "first_introduced": "12", "name": "OH_Drawing_PathGetMatrix" }, + { + "first_introduced": "20", + "name": "OH_Drawing_PathGetFillType" + }, + { + "first_introduced": "20", + "name": "OH_Drawing_PathIsEmpty" + }, + { + "first_introduced": "20", + "name": "OH_Drawing_PathIsRect" + }, + { + "first_introduced": "20", + "name": "OH_Drawing_PathSetPath" + }, { "first_introduced": "12", "name": "OH_Drawing_PenCopy" @@ -653,6 +673,10 @@ "first_introduced": "12", "name": "OH_Drawing_RoundRectGetCorner" }, + { + "first_introduced": "20", + "name": "OH_Drawing_RoundRectCopy" + }, { "first_introduced": "12", "name": "OH_Drawing_RoundRectSetCorner" @@ -1182,6 +1206,10 @@ "first_introduced": "12", "name": "OH_Drawing_RegionCreate" }, + { + "first_introduced": "20", + "name": "OH_Drawing_RegionCopy" + }, { "first_introduced": "12", "name": "OH_Drawing_RegionContains"