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