* Copyright (c) 2025 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "NapiInitPart1Test.cpp"
#include "NapiInitPart2Test.cpp"
#include "NapiInitPart3Test.cpp"
#include "NapiInitPart4Test.cpp"
#define DRAWING_NUMBER_1 1
inline napi_property_descriptor MakeNapiDesc(const char* name, napi_callback cb)
{
return { name, nullptr, cb, nullptr, nullptr, nullptr, napi_default, nullptr };
}
#define DECL_NAPI_DESC(fn) MakeNapiDesc(#fn, fn)
static const napi_property_descriptor g_drawingNativeDescriptors[] = {
DECL_NAPI_DESC(DrawingCanvasDrawRecordCmd),
DECL_NAPI_DESC(DrawingRecordCmdDestroy),
DECL_NAPI_DESC(DrawingRecordCmdUtilsBeginRecording),
DECL_NAPI_DESC(DrawingRecordCmdUtilsDestroy),
DECL_NAPI_DESC(DrawingRecordCmdUtilsFinishRecording),
DECL_NAPI_DESC(DrawingCanvasDrawSingleChaWithFeatures),
DECL_NAPI_DESC(DrawingMemoryStream),
DECL_NAPI_DESC(DrawingPointCreate),
DECL_NAPI_DESC(DrawingPointDestroy),
DECL_NAPI_DESC(DrawingPointGetSet),
DECL_NAPI_DESC(DrawingPointNegateOffset),
DECL_NAPI_DESC(DrawingRegionBasicOperations),
DECL_NAPI_DESC(DrawingRegionQueryOperations),
DECL_NAPI_DESC(DrawingPathEffect),
DECL_NAPI_DESC(DrawingPathBasic),
DECL_NAPI_DESC(DrawingPathRelative),
DECL_NAPI_DESC(DrawingPathAddShape),
DECL_NAPI_DESC(DrawingPathPart2Add),
DECL_NAPI_DESC(DrawingPathPart2Transform),
DECL_NAPI_DESC(DrawingPathPart2GetSet),
DECL_NAPI_DESC(DrawingPathPart3Query),
DECL_NAPI_DESC(DrawingPathPart3Transform),
DECL_NAPI_DESC(DrawingPathPart3Advanced),
DECL_NAPI_DESC(DrawingCanvasDestroy),
DECL_NAPI_DESC(DrawingCanvasBind),
DECL_NAPI_DESC(DrawingCanvasSave),
DECL_NAPI_DESC(DrawingCanvasSaveLayer),
DECL_NAPI_DESC(DrawingCanvasRestore),
DECL_NAPI_DESC(DrawingCanvasRestoreToCount),
DECL_NAPI_DESC(DrawingCanvasDrawLine),
DECL_NAPI_DESC(DrawingCanvasDrawPath),
DECL_NAPI_DESC(DrawingCanvasAttach),
DECL_NAPI_DESC(DrawingCanvasDetach),
DECL_NAPI_DESC(DrawingCanvasDrawPixelMapRect),
DECL_NAPI_DESC(DrawingCanvasDrawBackground),
DECL_NAPI_DESC(DrawingCanvasDrawRegion),
DECL_NAPI_DESC(DrawingCanvasDrawPoints),
DECL_NAPI_DESC(DrawingCanvasDrawBitmap),
DECL_NAPI_DESC(DrawingCanvasDrawBitmapRect),
DECL_NAPI_DESC(DrawingCanvasDrawRect),
DECL_NAPI_DESC(DrawingCanvasDrawCircle),
DECL_NAPI_DESC(DrawingCanvasDrawOval),
DECL_NAPI_DESC(DrawingCanvasDrawArc),
DECL_NAPI_DESC(DrawingCanvasDrawRoundRect),
DECL_NAPI_DESC(DrawingCanvasDrawTextBlob),
DECL_NAPI_DESC(DrawingCanvasClipRect),
DECL_NAPI_DESC(DrawingCanvasClipRoundRect),
DECL_NAPI_DESC(DrawingCanvasClipPath),
DECL_NAPI_DESC(DrawingCanvasRotate),
DECL_NAPI_DESC(DrawingCanvasTranslate),
DECL_NAPI_DESC(DrawingCanvasScale),
DECL_NAPI_DESC(DrawingCanvasSkew),
DECL_NAPI_DESC(DrawingCanvasGetWidthHeight),
DECL_NAPI_DESC(DrawingCanvasGetLocalClipBounds),
DECL_NAPI_DESC(DrawingCanvasConcatMatrix),
DECL_NAPI_DESC(DrawingCanvasDrawShadow),
DECL_NAPI_DESC(DrawingCanvasClear),
DECL_NAPI_DESC(DrawingCanvasSetMatrix),
DECL_NAPI_DESC(DrawingCanvasResetMatrix),
DECL_NAPI_DESC(DrawingCanvasDrawImageRect),
DECL_NAPI_DESC(DrawingCanvasDrawVertices),
DECL_NAPI_DESC(DrawingCanvasReadPixels),
DECL_NAPI_DESC(DrawingCanvasReadPixelsToBitmap),
DECL_NAPI_DESC(DrawingCanvasDrawSingleCharacter),
DECL_NAPI_DESC(DrawingCanvasDrawPoint),
DECL_NAPI_DESC(DrawingCanvasDrawColor),
DECL_NAPI_DESC(DrawingCanvasIsClipEmpty),
DECL_NAPI_DESC(DrawingCanvasGetImageInfo),
DECL_NAPI_DESC(DrawingCanvasClipRegion),
DECL_NAPI_DESC(DrawingCanvasQuickRejectPath),
DECL_NAPI_DESC(DrawingCanvasQuickRejectRect),
DECL_NAPI_DESC(DrawingCanvasDrawArcWithCenter),
DECL_NAPI_DESC(DrawingCanvasDrawNestedRoundRect),
DECL_NAPI_DESC(DrawingCanvasDrawPixelMapNine),
DECL_NAPI_DESC(DrawingCanvasCreateWithPixelMap),
DECL_NAPI_DESC(DrawingCanvasDrawPixelMapRectConstraint),
DECL_NAPI_DESC(DrawingCanvasDrawGlyphs),
DECL_NAPI_DESC(DrawingCanvasIsOpaque),
DECL_NAPI_DESC(DrawingColorFilterCreateBlendMode),
DECL_NAPI_DESC(DrawingColorFilterCreateCompose),
DECL_NAPI_DESC(DrawingColorFilterCreateMatrix),
DECL_NAPI_DESC(DrawingColorFilterCreateLinearToSrgbGamma),
DECL_NAPI_DESC(DrawingColorFilterCreateSrgbGammaToLinear),
DECL_NAPI_DESC(DrawingColorFilterCreateLuma),
DECL_NAPI_DESC(DrawingColorFilterDestroy),
DECL_NAPI_DESC(DrawingColorFilterCreateLighting),
DECL_NAPI_DESC(DrawingColorSpaceCreateSrgb),
DECL_NAPI_DESC(DrawingColorSpaceDestroy),
DECL_NAPI_DESC(DrawingColorSpaceCreateSrgbLinear),
DECL_NAPI_DESC(DrawingColorSetArgb),
DECL_NAPI_DESC(DrawingFilterCreateDestroy),
DECL_NAPI_DESC(DrawingFilterSetImageFilter),
DECL_NAPI_DESC(DrawingFilterSetMaskFilter),
DECL_NAPI_DESC(DrawingFilterSetColorFilter),
DECL_NAPI_DESC(DrawingFontCreateDestroy),
DECL_NAPI_DESC(DrawingFontSetBaselineSnap),
DECL_NAPI_DESC(DrawingFontSetSubpixel),
DECL_NAPI_DESC(DrawingFontSetForceAutoHinting),
DECL_NAPI_DESC(DrawingFontSetTypeface),
DECL_NAPI_DESC(DrawingFontSetTextSize),
DECL_NAPI_DESC(DrawingFontCountText),
DECL_NAPI_DESC(DrawingFontTextToGlyphs),
DECL_NAPI_DESC(DrawingFontGetWidths),
DECL_NAPI_DESC(DrawingFontGetTextPathWithFallback),
DECL_NAPI_DESC(DrawingFontSetLinearText),
DECL_NAPI_DESC(DrawingFontSetTextSkewX),
DECL_NAPI_DESC(DrawingFontSetFakeBoldText),
DECL_NAPI_DESC(DrawingFontSetScaleX),
DECL_NAPI_DESC(DrawingFontSetHinting),
DECL_NAPI_DESC(DrawingFontSetEmbeddedBitmaps),
DECL_NAPI_DESC(DrawingFontSetEdging),
DECL_NAPI_DESC(DrawingFontMeasureSingleCharacter),
DECL_NAPI_DESC(DrawingFontMeasuretext),
DECL_NAPI_DESC(DrawingFontArgumentsCreate),
DECL_NAPI_DESC(DrawingFontArgumentsAddVariation),
DECL_NAPI_DESC(DrawingFontArgumentsDestroy),
DECL_NAPI_DESC(DrawingFontSetThemeFontFollowed),
DECL_NAPI_DESC(DrawingFontIsThemeFontFollowed),
DECL_NAPI_DESC(DrawingFontGetMetrics),
DECL_NAPI_DESC(DrawingFontMeasureTextWithBrushOrPen),
DECL_NAPI_DESC(DrawingFontGetWidthsBounds),
DECL_NAPI_DESC(DrawingFontGetPos),
DECL_NAPI_DESC(DrawingFontGetSpacing),
DECL_NAPI_DESC(DrawingFontMeasureSingleChaWithFeatures),
DECL_NAPI_DESC(DrawingFontFeatures),
DECL_NAPI_DESC(DrawingGpuContext),
DECL_NAPI_DESC(DrawingImageFilter),
DECL_NAPI_DESC(DrawingImage),
DECL_NAPI_DESC(DrawingMaskFilter),
DECL_NAPI_DESC(DrawingMatrixCreate),
DECL_NAPI_DESC(DrawingMatrixTransform),
DECL_NAPI_DESC(DrawingMatrixOperation),
DECL_NAPI_DESC(DrawingMatrixPart2Transform),
DECL_NAPI_DESC(DrawingMatrixPart2MapQuery),
DECL_NAPI_DESC(DrawingMatrixPart2Set),
DECL_NAPI_DESC(DrawingBitmap),
DECL_NAPI_DESC(DrawingBrushCreateDestroy),
DECL_NAPI_DESC(DrawingBrushAntiAlias),
DECL_NAPI_DESC(DrawingBrushColor),
DECL_NAPI_DESC(DrawingBrushAlpha),
DECL_NAPI_DESC(DrawingBrushShaderEffect),
DECL_NAPI_DESC(DrawingBrushShadowLayer),
DECL_NAPI_DESC(DrawingBrushFilter),
DECL_NAPI_DESC(DrawingBrushBlendMode),
DECL_NAPI_DESC(DrawingBrushReset),
DECL_NAPI_DESC(DrawingBrushGetFloat),
DECL_NAPI_DESC(DrawingBrushSetColor4f),
DECL_NAPI_DESC(DrawingPenCreateDestroy),
DECL_NAPI_DESC(DrawingPenAntiAlias),
DECL_NAPI_DESC(DrawingPenColor),
DECL_NAPI_DESC(DrawingPenAlpha),
DECL_NAPI_DESC(DrawingPenWidth),
DECL_NAPI_DESC(DrawingPenMiterLimit),
DECL_NAPI_DESC(DrawingPenCap),
DECL_NAPI_DESC(DrawingPenJoin),
DECL_NAPI_DESC(DrawingPenEffects),
DECL_NAPI_DESC(DrawingPenFilter),
DECL_NAPI_DESC(DrawingPenBlendMode),
DECL_NAPI_DESC(DrawingPenGetFillPath),
DECL_NAPI_DESC(DrawingPenReset),
DECL_NAPI_DESC(DrawingPenGetFloat),
DECL_NAPI_DESC(DrawingPenSetColor4f),
DECL_NAPI_DESC(DrawingPixelMap),
DECL_NAPI_DESC(DrawingRectCreateDestroyIntersectJoin),
DECL_NAPI_DESC(DrawingRectSetGetLeftTopRightBottom),
DECL_NAPI_DESC(DrawingRectOtherOperations),
DECL_NAPI_DESC(DrawingRoundRect),
DECL_NAPI_DESC(DrawingSamplingOptions),
DECL_NAPI_DESC(DrawingShadowLayer),
DECL_NAPI_DESC(DrawingShaderEffectCreateGradient),
DECL_NAPI_DESC(DrawingShaderEffectCreateSpecial),
DECL_NAPI_DESC(DrawingShaderEffectDestroy),
DECL_NAPI_DESC(DrawingSurface),
DECL_NAPI_DESC(DrawingTextBlobBuilder),
DECL_NAPI_DESC(DrawingTextBlobCreate),
DECL_NAPI_DESC(DrawingTextBlobOther),
DECL_NAPI_DESC(DrawingTypefaceCreate),
DECL_NAPI_DESC(DrawingRegionAdvancedOperations),
DECL_NAPI_DESC(DrawingRegionPart2QueryOperations),
DECL_NAPI_DESC(DrawingPathIterator),
DECL_NAPI_DESC(DrawingPathPart4InverseFillType),
DECL_NAPI_DESC(DrawingPathPart4GetData),
DECL_NAPI_DESC(DrawingCanvasDrawPixelMapMesh),
DECL_NAPI_DESC(DrawingCanvasResetClip),
DECL_NAPI_DESC(DrawingLattice),
DECL_NAPI_DESC(DrawingRectPart2OtherOperations),
DECL_NAPI_DESC(DrawingTypefaceIsBoldItalic),
DECL_NAPI_DESC(DrawingMatrixPart3),
};
EXTERN_C_START static napi_value Init(napi_env env, napi_value exports)
{
napi_define_properties(env,
exports,
sizeof(g_drawingNativeDescriptors) / sizeof(g_drawingNativeDescriptors[CASE_NUM_0]),
g_drawingNativeDescriptors);
return exports;
}
EXTERN_C_END
static napi_module drawingNativeModule = {
.nm_version = DRAWING_NUMBER_1,
.nm_flags = 0,
.nm_filename = nullptr,
.nm_register_func = Init,
.nm_modname = "drawingnative",
.nm_priv = ((void*)0),
.reserved = { 0 },
};
extern "C" __attribute__((constructor)) void RegisterEntryModule(void)
{
napi_module_register(&drawingNativeModule);
}