17777dab0Sopenharmony_ci/* 27777dab0Sopenharmony_ci * Copyright (c) 2021-2024 Huawei Device Co., Ltd. 37777dab0Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 47777dab0Sopenharmony_ci * you may not use this file except in compliance with the License. 57777dab0Sopenharmony_ci * You may obtain a copy of the License at 67777dab0Sopenharmony_ci * 77777dab0Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 87777dab0Sopenharmony_ci * 97777dab0Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 107777dab0Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 117777dab0Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 127777dab0Sopenharmony_ci * See the License for the specific language governing permissions and 137777dab0Sopenharmony_ci * limitations under the License. 147777dab0Sopenharmony_ci */ 157777dab0Sopenharmony_ci 167777dab0Sopenharmony_ci#ifndef C_INCLUDE_DRAWING_PEN_H 177777dab0Sopenharmony_ci#define C_INCLUDE_DRAWING_PEN_H 187777dab0Sopenharmony_ci 197777dab0Sopenharmony_ci/** 207777dab0Sopenharmony_ci * @addtogroup Drawing 217777dab0Sopenharmony_ci * @{ 227777dab0Sopenharmony_ci * 237777dab0Sopenharmony_ci * @brief Provides functions such as 2D graphics rendering, text drawing, and image display. 247777dab0Sopenharmony_ci * 257777dab0Sopenharmony_ci * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing 267777dab0Sopenharmony_ci * 277777dab0Sopenharmony_ci * @since 8 287777dab0Sopenharmony_ci * @version 1.0 297777dab0Sopenharmony_ci */ 307777dab0Sopenharmony_ci 317777dab0Sopenharmony_ci/** 327777dab0Sopenharmony_ci * @file drawing_pen.h 337777dab0Sopenharmony_ci * 347777dab0Sopenharmony_ci * @brief Declares functions related to the <b>pen</b> object in the drawing module. 357777dab0Sopenharmony_ci * 367777dab0Sopenharmony_ci * @kit ArkGraphics2D 377777dab0Sopenharmony_ci * @library libnative_drawing.so 387777dab0Sopenharmony_ci * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing 397777dab0Sopenharmony_ci * @since 8 407777dab0Sopenharmony_ci * @version 1.0 417777dab0Sopenharmony_ci */ 427777dab0Sopenharmony_ci 437777dab0Sopenharmony_ci#include "drawing_types.h" 447777dab0Sopenharmony_ci 457777dab0Sopenharmony_ci#ifdef __cplusplus 467777dab0Sopenharmony_ciextern "C" { 477777dab0Sopenharmony_ci#endif 487777dab0Sopenharmony_ci 497777dab0Sopenharmony_ci/** 507777dab0Sopenharmony_ci * @brief Creates an <b>OH_Drawing_Pen</b> object. 517777dab0Sopenharmony_ci * 527777dab0Sopenharmony_ci * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing 537777dab0Sopenharmony_ci * @return Returns the pointer to the <b>OH_Drawing_Pen</b> object created. 547777dab0Sopenharmony_ci * @since 8 557777dab0Sopenharmony_ci * @version 1.0 567777dab0Sopenharmony_ci */ 577777dab0Sopenharmony_ciOH_Drawing_Pen* OH_Drawing_PenCreate(void); 587777dab0Sopenharmony_ci 597777dab0Sopenharmony_ci/** 607777dab0Sopenharmony_ci * @brief Creates an <b>OH_Drawing_Pen</b> copy object. 617777dab0Sopenharmony_ci * 627777dab0Sopenharmony_ci * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing 637777dab0Sopenharmony_ci * @param OH_Drawing_Pen Indicates the pointer to an <b>OH_Drawing_Pen</b> object. 647777dab0Sopenharmony_ci * @return Returns the pointer to the <b>OH_Drawing_Pen</b> object created. 657777dab0Sopenharmony_ci * If nullptr is returned, the creation fails. 667777dab0Sopenharmony_ci * The possible cause of the failure is that the available memory is empty or a nullptr is passed. 677777dab0Sopenharmony_ci * @since 12 687777dab0Sopenharmony_ci * @version 1.0 697777dab0Sopenharmony_ci */ 707777dab0Sopenharmony_ciOH_Drawing_Pen* OH_Drawing_PenCopy(OH_Drawing_Pen*); 717777dab0Sopenharmony_ci 727777dab0Sopenharmony_ci/** 737777dab0Sopenharmony_ci * @brief Destroys an <b>OH_Drawing_Pen</b> object and reclaims the memory occupied by the object. 747777dab0Sopenharmony_ci * 757777dab0Sopenharmony_ci * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing 767777dab0Sopenharmony_ci * @param OH_Drawing_Pen Indicates the pointer to an <b>OH_Drawing_Pen</b> object. 777777dab0Sopenharmony_ci * @since 8 787777dab0Sopenharmony_ci * @version 1.0 797777dab0Sopenharmony_ci */ 807777dab0Sopenharmony_civoid OH_Drawing_PenDestroy(OH_Drawing_Pen*); 817777dab0Sopenharmony_ci 827777dab0Sopenharmony_ci/** 837777dab0Sopenharmony_ci * @brief Checks whether anti-aliasing is enabled for a pen. If anti-aliasing is enabled, 847777dab0Sopenharmony_ci * edges will be drawn with partial transparency. 857777dab0Sopenharmony_ci * 867777dab0Sopenharmony_ci * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing 877777dab0Sopenharmony_ci * @param OH_Drawing_Pen Indicates the pointer to an <b>OH_Drawing_Pen</b> object. 887777dab0Sopenharmony_ci * @return Returns <b>true</b> if anti-aliasing is enabled; returns <b>false</b> otherwise. 897777dab0Sopenharmony_ci * @since 8 907777dab0Sopenharmony_ci * @version 1.0 917777dab0Sopenharmony_ci */ 927777dab0Sopenharmony_cibool OH_Drawing_PenIsAntiAlias(const OH_Drawing_Pen*); 937777dab0Sopenharmony_ci 947777dab0Sopenharmony_ci/** 957777dab0Sopenharmony_ci * @brief Enables or disables anti-aliasing for a pen. If anti-aliasing is enabled, 967777dab0Sopenharmony_ci * edges will be drawn with partial transparency. 977777dab0Sopenharmony_ci * 987777dab0Sopenharmony_ci * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing 997777dab0Sopenharmony_ci * @param OH_Drawing_Pen Indicates the pointer to an <b>OH_Drawing_Pen</b> object. 1007777dab0Sopenharmony_ci * @param bool Specifies whether to enable anti-aliasing. The value <b>true</b> means 1017777dab0Sopenharmony_ci * to enable anti-aliasing, and <b>false</b> means the opposite. 1027777dab0Sopenharmony_ci * @since 8 1037777dab0Sopenharmony_ci * @version 1.0 1047777dab0Sopenharmony_ci */ 1057777dab0Sopenharmony_civoid OH_Drawing_PenSetAntiAlias(OH_Drawing_Pen*, bool); 1067777dab0Sopenharmony_ci 1077777dab0Sopenharmony_ci/** 1087777dab0Sopenharmony_ci * @brief Obtains the color of a pen. The color is used by the pen to outline a shape. 1097777dab0Sopenharmony_ci * 1107777dab0Sopenharmony_ci * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing 1117777dab0Sopenharmony_ci * @param OH_Drawing_Pen Indicates the pointer to an <b>OH_Drawing_Pen</b> object. 1127777dab0Sopenharmony_ci * @return Returns a 32-bit (ARGB) variable that describes the color. 1137777dab0Sopenharmony_ci * @since 8 1147777dab0Sopenharmony_ci * @version 1.0 1157777dab0Sopenharmony_ci */ 1167777dab0Sopenharmony_ciuint32_t OH_Drawing_PenGetColor(const OH_Drawing_Pen*); 1177777dab0Sopenharmony_ci 1187777dab0Sopenharmony_ci/** 1197777dab0Sopenharmony_ci * @brief Sets the color for a pen. The color is used by the pen to outline a shape. 1207777dab0Sopenharmony_ci * 1217777dab0Sopenharmony_ci * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing 1227777dab0Sopenharmony_ci * @param OH_Drawing_Pen Indicates the pointer to an <b>OH_Drawing_Pen</b> object. 1237777dab0Sopenharmony_ci * @param color Indicates the color to set, which is a 32-bit (ARGB) variable. 1247777dab0Sopenharmony_ci * @since 8 1257777dab0Sopenharmony_ci * @version 1.0 1267777dab0Sopenharmony_ci */ 1277777dab0Sopenharmony_civoid OH_Drawing_PenSetColor(OH_Drawing_Pen*, uint32_t color); 1287777dab0Sopenharmony_ci 1297777dab0Sopenharmony_ci/** 1307777dab0Sopenharmony_ci * @brief Obtains the alpha of a pen. The alpha is used by the pen to outline a shape. 1317777dab0Sopenharmony_ci * 1327777dab0Sopenharmony_ci * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing 1337777dab0Sopenharmony_ci * @param OH_Drawing_Pen Indicates the pointer to an <b>OH_Drawing_Pen</b> object. 1347777dab0Sopenharmony_ci * @return Returns a 8-bit variable that describes the alpha. 1357777dab0Sopenharmony_ci * @since 11 1367777dab0Sopenharmony_ci * @version 1.0 1377777dab0Sopenharmony_ci */ 1387777dab0Sopenharmony_ciuint8_t OH_Drawing_PenGetAlpha(const OH_Drawing_Pen*); 1397777dab0Sopenharmony_ci 1407777dab0Sopenharmony_ci/** 1417777dab0Sopenharmony_ci * @brief Sets the alpha for a pen. The alpha is used by the pen to outline a shape. 1427777dab0Sopenharmony_ci * 1437777dab0Sopenharmony_ci * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing 1447777dab0Sopenharmony_ci * @param OH_Drawing_Pen Indicates the pointer to an <b>OH_Drawing_Pen</b> object. 1457777dab0Sopenharmony_ci * @param alpha Indicates the alpha to set, which is a 8-bit variable. 1467777dab0Sopenharmony_ci * @since 11 1477777dab0Sopenharmony_ci * @version 1.0 1487777dab0Sopenharmony_ci */ 1497777dab0Sopenharmony_civoid OH_Drawing_PenSetAlpha(OH_Drawing_Pen*, uint8_t alpha); 1507777dab0Sopenharmony_ci 1517777dab0Sopenharmony_ci/** 1527777dab0Sopenharmony_ci * @brief Obtains the thickness of a pen. This thickness determines the width of the outline of a shape. 1537777dab0Sopenharmony_ci * 1547777dab0Sopenharmony_ci * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing 1557777dab0Sopenharmony_ci * @param OH_Drawing_Pen Indicates the pointer to an <b>OH_Drawing_Pen</b> object. 1567777dab0Sopenharmony_ci * @return Returns the thickness. 1577777dab0Sopenharmony_ci * @since 8 1587777dab0Sopenharmony_ci * @version 1.0 1597777dab0Sopenharmony_ci */ 1607777dab0Sopenharmony_cifloat OH_Drawing_PenGetWidth(const OH_Drawing_Pen*); 1617777dab0Sopenharmony_ci 1627777dab0Sopenharmony_ci/** 1637777dab0Sopenharmony_ci * @brief Sets the thickness for a pen. This thickness determines the width of the outline of a shape. 1647777dab0Sopenharmony_ci * 1657777dab0Sopenharmony_ci * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing 1667777dab0Sopenharmony_ci * @param OH_Drawing_Pen Indicates the pointer to an <b>OH_Drawing_Pen</b> object. 1677777dab0Sopenharmony_ci * @param width Indicates the thickness to set, which is a variable. 1687777dab0Sopenharmony_ci * @since 8 1697777dab0Sopenharmony_ci * @version 1.0 1707777dab0Sopenharmony_ci */ 1717777dab0Sopenharmony_civoid OH_Drawing_PenSetWidth(OH_Drawing_Pen*, float width); 1727777dab0Sopenharmony_ci 1737777dab0Sopenharmony_ci/** 1747777dab0Sopenharmony_ci * @brief Obtains the stroke miter limit of a polyline drawn by a pen. 1757777dab0Sopenharmony_ci * 1767777dab0Sopenharmony_ci * When the corner type is bevel, a beveled corner is displayed if the miter limit is exceeded, 1777777dab0Sopenharmony_ci * and a mitered corner is displayed if the miter limit is not exceeded. 1787777dab0Sopenharmony_ci * 1797777dab0Sopenharmony_ci * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing 1807777dab0Sopenharmony_ci * @param OH_Drawing_Pen Indicates the pointer to an <b>OH_Drawing_Pen</b> object. 1817777dab0Sopenharmony_ci * @return Returns the miter limit. 1827777dab0Sopenharmony_ci * @since 8 1837777dab0Sopenharmony_ci * @version 1.0 1847777dab0Sopenharmony_ci */ 1857777dab0Sopenharmony_cifloat OH_Drawing_PenGetMiterLimit(const OH_Drawing_Pen*); 1867777dab0Sopenharmony_ci 1877777dab0Sopenharmony_ci/** 1887777dab0Sopenharmony_ci * @brief Sets the stroke miter limit for a polyline drawn by a pen. 1897777dab0Sopenharmony_ci * 1907777dab0Sopenharmony_ci * When the corner type is bevel, a beveled corner is displayed if the miter limit is exceeded, 1917777dab0Sopenharmony_ci * and a mitered corner is displayed if the miter limit is not exceeded. 1927777dab0Sopenharmony_ci * 1937777dab0Sopenharmony_ci * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing 1947777dab0Sopenharmony_ci * @param OH_Drawing_Pen Indicates the pointer to an <b>OH_Drawing_Pen</b> object. 1957777dab0Sopenharmony_ci * @param miter Indicates a variable that describes the miter limit. 1967777dab0Sopenharmony_ci * @since 8 1977777dab0Sopenharmony_ci * @version 1.0 1987777dab0Sopenharmony_ci */ 1997777dab0Sopenharmony_civoid OH_Drawing_PenSetMiterLimit(OH_Drawing_Pen*, float miter); 2007777dab0Sopenharmony_ci 2017777dab0Sopenharmony_ci/** 2027777dab0Sopenharmony_ci * @brief Enumerates line cap styles of a pen. The line cap style defines 2037777dab0Sopenharmony_ci * the style of both ends of a line segment drawn by the pen. 2047777dab0Sopenharmony_ci * 2057777dab0Sopenharmony_ci * @since 8 2067777dab0Sopenharmony_ci * @version 1.0 2077777dab0Sopenharmony_ci */ 2087777dab0Sopenharmony_citypedef enum { 2097777dab0Sopenharmony_ci /** 2107777dab0Sopenharmony_ci * There is no cap style. Both ends of the line segment are cut off square. 2117777dab0Sopenharmony_ci */ 2127777dab0Sopenharmony_ci LINE_FLAT_CAP, 2137777dab0Sopenharmony_ci /** 2147777dab0Sopenharmony_ci * Square cap style. Both ends have a square, the height of which 2157777dab0Sopenharmony_ci * is half of the width of the line segment, with the same width. 2167777dab0Sopenharmony_ci */ 2177777dab0Sopenharmony_ci LINE_SQUARE_CAP, 2187777dab0Sopenharmony_ci /** 2197777dab0Sopenharmony_ci * Round cap style. Both ends have a semicircle centered, the diameter of which 2207777dab0Sopenharmony_ci * is the same as the width of the line segment. 2217777dab0Sopenharmony_ci */ 2227777dab0Sopenharmony_ci LINE_ROUND_CAP 2237777dab0Sopenharmony_ci} OH_Drawing_PenLineCapStyle; 2247777dab0Sopenharmony_ci 2257777dab0Sopenharmony_ci/** 2267777dab0Sopenharmony_ci * @brief Obtains the line cap style of a pen. 2277777dab0Sopenharmony_ci * 2287777dab0Sopenharmony_ci * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing 2297777dab0Sopenharmony_ci * @param OH_Drawing_Pen Indicates the pointer to an <b>OH_Drawing_Pen</b> object. 2307777dab0Sopenharmony_ci * @return Returns the line cap style. 2317777dab0Sopenharmony_ci * @since 8 2327777dab0Sopenharmony_ci * @version 1.0 2337777dab0Sopenharmony_ci */ 2347777dab0Sopenharmony_ciOH_Drawing_PenLineCapStyle OH_Drawing_PenGetCap(const OH_Drawing_Pen*); 2357777dab0Sopenharmony_ci 2367777dab0Sopenharmony_ci/** 2377777dab0Sopenharmony_ci * @brief Sets the line cap style for a pen. 2387777dab0Sopenharmony_ci * 2397777dab0Sopenharmony_ci * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing 2407777dab0Sopenharmony_ci * @param OH_Drawing_Pen Indicates the pointer to an <b>OH_Drawing_Pen</b> object. 2417777dab0Sopenharmony_ci * @param OH_Drawing_PenLineCapStyle Indicates a variable that describes the line cap style. 2427777dab0Sopenharmony_ci * @since 8 2437777dab0Sopenharmony_ci * @version 1.0 2447777dab0Sopenharmony_ci */ 2457777dab0Sopenharmony_civoid OH_Drawing_PenSetCap(OH_Drawing_Pen*, OH_Drawing_PenLineCapStyle); 2467777dab0Sopenharmony_ci 2477777dab0Sopenharmony_ci/** 2487777dab0Sopenharmony_ci * @brief Enumerates pen line join styles. The line join style defines 2497777dab0Sopenharmony_ci * the shape of the joints of a polyline segment drawn by the pen. 2507777dab0Sopenharmony_ci * 2517777dab0Sopenharmony_ci * @since 8 2527777dab0Sopenharmony_ci * @version 1.0 2537777dab0Sopenharmony_ci */ 2547777dab0Sopenharmony_citypedef enum { 2557777dab0Sopenharmony_ci /** 2567777dab0Sopenharmony_ci * Mitered corner. If the angle of a polyline is small, its miter length may be inappropriate. 2577777dab0Sopenharmony_ci * In this case, you need to use the miter limit to limit the miter length. 2587777dab0Sopenharmony_ci */ 2597777dab0Sopenharmony_ci LINE_MITER_JOIN, 2607777dab0Sopenharmony_ci /** Round corner. */ 2617777dab0Sopenharmony_ci LINE_ROUND_JOIN, 2627777dab0Sopenharmony_ci /** Beveled corner. */ 2637777dab0Sopenharmony_ci LINE_BEVEL_JOIN 2647777dab0Sopenharmony_ci} OH_Drawing_PenLineJoinStyle; 2657777dab0Sopenharmony_ci 2667777dab0Sopenharmony_ci/** 2677777dab0Sopenharmony_ci * @brief Obtains the line join style of a pen. 2687777dab0Sopenharmony_ci * 2697777dab0Sopenharmony_ci * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing 2707777dab0Sopenharmony_ci * @param OH_Drawing_Pen Indicates the pointer to an <b>OH_Drawing_Pen</b> object. 2717777dab0Sopenharmony_ci * @return Returns the line join style. 2727777dab0Sopenharmony_ci * @since 8 2737777dab0Sopenharmony_ci * @version 1.0 2747777dab0Sopenharmony_ci */ 2757777dab0Sopenharmony_ciOH_Drawing_PenLineJoinStyle OH_Drawing_PenGetJoin(const OH_Drawing_Pen*); 2767777dab0Sopenharmony_ci 2777777dab0Sopenharmony_ci/** 2787777dab0Sopenharmony_ci * @brief Sets the line join style for a pen. 2797777dab0Sopenharmony_ci * 2807777dab0Sopenharmony_ci * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing 2817777dab0Sopenharmony_ci * @param OH_Drawing_Pen Indicates the pointer to an <b>OH_Drawing_Pen</b> object. 2827777dab0Sopenharmony_ci * @param OH_Drawing_PenLineJoinStyle Indicates a variable that describes the line join style. 2837777dab0Sopenharmony_ci * @since 8 2847777dab0Sopenharmony_ci * @version 1.0 2857777dab0Sopenharmony_ci */ 2867777dab0Sopenharmony_civoid OH_Drawing_PenSetJoin(OH_Drawing_Pen*, OH_Drawing_PenLineJoinStyle); 2877777dab0Sopenharmony_ci 2887777dab0Sopenharmony_ci/** 2897777dab0Sopenharmony_ci * @brief Sets the shaderEffect for a pen. 2907777dab0Sopenharmony_ci * 2917777dab0Sopenharmony_ci * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing 2927777dab0Sopenharmony_ci * @param OH_Drawing_Pen Indicates the pointer to an <b>OH_Drawing_Pen</b> object. 2937777dab0Sopenharmony_ci * @param OH_Drawing_ShaderEffect Indicates the pointer to an <b>OH_Drawing_ShaderEffect</b> object. 2947777dab0Sopenharmony_ci * @since 11 2957777dab0Sopenharmony_ci * @version 1.0 2967777dab0Sopenharmony_ci */ 2977777dab0Sopenharmony_civoid OH_Drawing_PenSetShaderEffect(OH_Drawing_Pen*, OH_Drawing_ShaderEffect*); 2987777dab0Sopenharmony_ci 2997777dab0Sopenharmony_ci/** 3007777dab0Sopenharmony_ci * @brief Sets the shadowLayer for a pen. 3017777dab0Sopenharmony_ci * 3027777dab0Sopenharmony_ci * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing 3037777dab0Sopenharmony_ci * @param OH_Drawing_Pen Indicates the pointer to an <b>OH_Drawing_Pen</b> object. 3047777dab0Sopenharmony_ci * @param OH_Drawing_ShadowLayer Indicates the pointer to an <b>OH_Drawing_ShadowLayer</b> object. 3057777dab0Sopenharmony_ci * @since 12 3067777dab0Sopenharmony_ci * @version 1.0 3077777dab0Sopenharmony_ci */ 3087777dab0Sopenharmony_civoid OH_Drawing_PenSetShadowLayer(OH_Drawing_Pen*, OH_Drawing_ShadowLayer*); 3097777dab0Sopenharmony_ci 3107777dab0Sopenharmony_ci/** 3117777dab0Sopenharmony_ci * @brief Sets the pathEffect for a pen. 3127777dab0Sopenharmony_ci * 3137777dab0Sopenharmony_ci * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing 3147777dab0Sopenharmony_ci * @param OH_Drawing_Pen Indicates the pointer to an <b>OH_Drawing_Pen</b> object. 3157777dab0Sopenharmony_ci * @param OH_Drawing_PathEffect Indicates the pointer to an <b>OH_Drawing_PathEffect</b> object. 3167777dab0Sopenharmony_ci * @since 12 3177777dab0Sopenharmony_ci * @version 1.0 3187777dab0Sopenharmony_ci */ 3197777dab0Sopenharmony_civoid OH_Drawing_PenSetPathEffect(OH_Drawing_Pen*, OH_Drawing_PathEffect*); 3207777dab0Sopenharmony_ci 3217777dab0Sopenharmony_ci/** 3227777dab0Sopenharmony_ci * @brief Sets the filter for a pen. 3237777dab0Sopenharmony_ci * 3247777dab0Sopenharmony_ci * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing 3257777dab0Sopenharmony_ci * @param OH_Drawing_Pen Indicates the pointer to an <b>OH_Drawing_Pen</b> object. 3267777dab0Sopenharmony_ci * @param OH_Drawing_Filter Indicates the pointer to an <b>OH_Drawing_Filter</b> object. 3277777dab0Sopenharmony_ci * @since 11 3287777dab0Sopenharmony_ci * @version 1.0 3297777dab0Sopenharmony_ci */ 3307777dab0Sopenharmony_civoid OH_Drawing_PenSetFilter(OH_Drawing_Pen*, OH_Drawing_Filter*); 3317777dab0Sopenharmony_ci 3327777dab0Sopenharmony_ci/** 3337777dab0Sopenharmony_ci * @brief Gets the filter from a pen. 3347777dab0Sopenharmony_ci * 3357777dab0Sopenharmony_ci * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing 3367777dab0Sopenharmony_ci * @param OH_Drawing_Pen Indicates the pointer to an <b>OH_Drawing_Pen</b> object. 3377777dab0Sopenharmony_ci * @param OH_Drawing_Filter Indicates the pointer to an <b>OH_Drawing_Filter</b> object. 3387777dab0Sopenharmony_ci * @since 12 3397777dab0Sopenharmony_ci * @version 1.0 3407777dab0Sopenharmony_ci */ 3417777dab0Sopenharmony_civoid OH_Drawing_PenGetFilter(OH_Drawing_Pen*, OH_Drawing_Filter*); 3427777dab0Sopenharmony_ci 3437777dab0Sopenharmony_ci/** 3447777dab0Sopenharmony_ci * @brief Sets a blender that implements the specified blendmode enum for a pen. 3457777dab0Sopenharmony_ci * 3467777dab0Sopenharmony_ci * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing 3477777dab0Sopenharmony_ci * @param OH_Drawing_Pen Indicates the pointer to an <b>OH_Drawing_Pen</b> object. 3487777dab0Sopenharmony_ci * @param OH_Drawing_BlendMode Indicates the blend mode. 3497777dab0Sopenharmony_ci * @since 12 3507777dab0Sopenharmony_ci * @version 1.0 3517777dab0Sopenharmony_ci */ 3527777dab0Sopenharmony_civoid OH_Drawing_PenSetBlendMode(OH_Drawing_Pen*, OH_Drawing_BlendMode); 3537777dab0Sopenharmony_ci 3547777dab0Sopenharmony_ci/** 3557777dab0Sopenharmony_ci * @brief Gets the filled equivalent of the src path. 3567777dab0Sopenharmony_ci * 3577777dab0Sopenharmony_ci * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing 3587777dab0Sopenharmony_ci * @param OH_Drawing_Pen Indicates the pointer to an <b>OH_Drawing_Pen</b> object. 3597777dab0Sopenharmony_ci * @param src Indicates the Path read to create a filled version. 3607777dab0Sopenharmony_ci * @param dst Indicates the resulting Path. 3617777dab0Sopenharmony_ci * @param OH_Drawing_Rect Indicates the pointer to an <b>OH_Drawing_Rect</b> object that limits the PathEffect area if 3627777dab0Sopenharmony_ci Pen has PathEffect. 3637777dab0Sopenharmony_ci * @param OH_Drawing_Matrix Indicates the pointer to an <b>OH_Drawing_Matrix</b> object that tranfomation applied to 3647777dab0Sopenharmony_ci PathEffect if Pen has PathEffect. 3657777dab0Sopenharmony_ci * @return Returns true if get successes; false if get fails. 3667777dab0Sopenharmony_ci * @since 12 3677777dab0Sopenharmony_ci * @version 1.0 3687777dab0Sopenharmony_ci */ 3697777dab0Sopenharmony_cibool OH_Drawing_PenGetFillPath(OH_Drawing_Pen*, const OH_Drawing_Path* src, OH_Drawing_Path* dst, 3707777dab0Sopenharmony_ci const OH_Drawing_Rect*, const OH_Drawing_Matrix*); 3717777dab0Sopenharmony_ci 3727777dab0Sopenharmony_ci/** 3737777dab0Sopenharmony_ci * @brief Resets all pen contents to their initial values. 3747777dab0Sopenharmony_ci * 3757777dab0Sopenharmony_ci * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing 3767777dab0Sopenharmony_ci * @param OH_Drawing_Pen Indicates the pointer to an <b>OH_Drawing_Pen</b> object. 3777777dab0Sopenharmony_ci * @since 12 3787777dab0Sopenharmony_ci * @version 1.0 3797777dab0Sopenharmony_ci */ 3807777dab0Sopenharmony_civoid OH_Drawing_PenReset(OH_Drawing_Pen*); 3817777dab0Sopenharmony_ci 3827777dab0Sopenharmony_ci#ifdef __cplusplus 3837777dab0Sopenharmony_ci} 3847777dab0Sopenharmony_ci#endif 3857777dab0Sopenharmony_ci/** @} */ 3867777dab0Sopenharmony_ci#endif 387