diff --git a/graphic/graphic_2d/native_drawing/drawing_canvas.h b/graphic/graphic_2d/native_drawing/drawing_canvas.h
index f78e6127f9297b09d0a66a932d3fd2165787339b..83ebdc23f5166279e93f51fb6a6c3f660ce51795 100644
--- a/graphic/graphic_2d/native_drawing/drawing_canvas.h
+++ b/graphic/graphic_2d/native_drawing/drawing_canvas.h
@@ -398,6 +398,25 @@ void OH_Drawing_CanvasDrawOval(OH_Drawing_Canvas*, const OH_Drawing_Rect*);
*/
void OH_Drawing_CanvasDrawArc(OH_Drawing_Canvas*, const OH_Drawing_Rect*, float startAngle, float sweepAngle);
+/**
+ * @brief Draws an arc with use center.
+ *
+ * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
+ * @param cCanvas Indicates the pointer to an OH_Drawing_Canvas object.
+ * @param cRect Indicates the pointer to an OH_Drawing_Rect object.
+ * @param startAngle Indicates the startAngle of the arc.
+ * @param sweepAngle Indicates the sweepAngle of the arc.
+ * @param useCenter If true, include the center of the oval in the arc, and close it if it is being stroked.
+ * This will draw a wedge.
+ * @return Returns the error code.
+ * Returns {@link OH_DRAWING_SUCCESS} if the operation is successful.
+ * Returns {@link OH_DRAWING_ERROR_INVALID_PARAMETER} if cCanvas or cRect is nullptr.
+ * @since 14
+ * @version 1.0
+ */
+OH_Drawing_ErrorCode OH_Drawing_CanvasDrawArcWithCenter(OH_Drawing_Canvas* cCanvas, const OH_Drawing_Rect* cRect,
+ float startAngle, float sweepAngle, bool useCenter);
+
/**
* @brief Draws a roundrect.
*
@@ -409,6 +428,23 @@ void OH_Drawing_CanvasDrawArc(OH_Drawing_Canvas*, const OH_Drawing_Rect*, float
*/
void OH_Drawing_CanvasDrawRoundRect(OH_Drawing_Canvas*, const OH_Drawing_RoundRect*);
+/**
+ * @brief Draw two nested rounded rectangles.
+ *
+ * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
+ * @param cCanvas Indicates the pointer to an OH_Drawing_Canvas object.
+ * @param outer Rounded rectangle object, representing the outer rounded rectangle boundary.
+ * @param inner Rounded rectangle object, representing the internal rounded rectangle boundary.
+ * @return Returns the error code.
+ * Returns {@link OH_DRAWING_SUCCESS} if the operation is successful.
+ * Returns {@link OH_DRAWING_ERROR_INVALID_PARAMETER} if any of cCanvas, outer
+ * and inner is nullptr.
+ * @since 14
+ * @version 1.0
+ */
+OH_Drawing_ErrorCode OH_Drawing_CanvasDrawNestedRoundRect(OH_Drawing_Canvas* cCanvas, const OH_Drawing_RoundRect* outer,
+ const OH_Drawing_RoundRect* inner);
+
/**
* @brief Draws a single character.
*
diff --git a/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json b/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json
index 353ce3f539771d30cdac90947de31c81c38d3c4d..e3adebd6480eb9b56696f063f70ff54117854f9e 100644
--- a/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json
+++ b/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json
@@ -1721,5 +1721,13 @@
{
"first_introduced": "14",
"name":"OH_Drawing_GetRunGlyphCount"
+ },
+ {
+ "first_introduced": "14",
+ "name": "OH_Drawing_CanvasDrawNestedRoundRect"
+ },
+ {
+ "first_introduced": "14",
+ "name": "OH_Drawing_CanvasDrawArcWithCenter"
}
]
\ No newline at end of file