• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2025 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 #include "ColorSpaceNameTest.h"
16 #include "native_color_space_manager/native_color_space_manager.h"
17 #include <js_native_api_types.h>
18 #include <napi/native_api.h>
addColorSpaceNameTest1(std::vector<napi_property_descriptor> & descData)19 void addColorSpaceNameTest1(std::vector<napi_property_descriptor>& descData)
20 {
21     descData.push_back({"OHCreateColorSpaceFromNameDCIP3", nullptr, OHCreateColorSpaceFromNameDCIP3,
22             nullptr, nullptr, nullptr, napi_default, nullptr});
23     descData.push_back({"OHCreateColorSpaceFromNameDISPLAYP3", nullptr, OHCreateColorSpaceFromNameDISPLAYP3,
24             nullptr, nullptr, nullptr, napi_default, nullptr});
25     descData.push_back({"OHCreateColorSpaceFromNameBT709", nullptr, OHCreateColorSpaceFromNameBT709,
26              nullptr, nullptr, nullptr, napi_default, nullptr});
27     descData.push_back({"OHCreateColorSpaceFromNameBT601EBU", nullptr, OHCreateColorSpaceFromNameBT601EBU,
28             nullptr, nullptr, nullptr, napi_default, nullptr});
29     descData.push_back({"OHCreateColorSpaceFromNameBT601SMPTEC", nullptr, OHCreateColorSpaceFromNameBT601SMPTEC,
30             nullptr, nullptr, nullptr, napi_default, nullptr});
31     descData.push_back({"OHCreateColorSpaceFromNameBT2020HLG", nullptr, OHCreateColorSpaceFromNameBT2020HLG,
32             nullptr, nullptr, nullptr, napi_default, nullptr});
33     descData.push_back({"OHCreateColorSpaceFromNameBT2020PQ", nullptr, OHCreateColorSpaceFromNameBT2020PQ,
34             nullptr, nullptr, nullptr, napi_default, nullptr});
35     descData.push_back({"OHCreateColorSpaceFromNameP3HLG", nullptr, OHCreateColorSpaceFromNameP3HLG,
36             nullptr, nullptr, nullptr, napi_default, nullptr});
37     descData.push_back({"OHCreateColorSpaceFromNameP3PQ", nullptr, OHCreateColorSpaceFromNameP3PQ,
38             nullptr, nullptr, nullptr, napi_default, nullptr});
39     descData.push_back({"OHCreateColorSpaceFromNameADOBERGBLIMIT", nullptr, OHCreateColorSpaceFromNameADOBERGBLIMIT,
40             nullptr, nullptr, nullptr, napi_default, nullptr});
41     descData.push_back({"OHCreateColorSpaceFromNameDISPLAYP3LIMIT", nullptr, OHCreateColorSpaceFromNameDISPLAYP3LIMIT,
42             nullptr, nullptr, nullptr, napi_default, nullptr});
43     descData.push_back({"OHCreateColorSpaceFromNameSRGBLIMIT", nullptr, OHCreateColorSpaceFromNameSRGBLIMIT,
44             nullptr, nullptr, nullptr, napi_default, nullptr});
45     descData.push_back({"OHCreateColorSpaceFromNameBT709LIMIT", nullptr, OHCreateColorSpaceFromNameBT709LIMIT,
46             nullptr, nullptr, nullptr, napi_default, nullptr});
47     descData.push_back({"OHCreateColorSpaceFromNameBT601EBULIMIT", nullptr, OHCreateColorSpaceFromNameBT601EBULIMIT,
48             nullptr, nullptr, nullptr, napi_default, nullptr});
49     descData.push_back({"OHCreateColorSpaceFromNameBT601SMPTECLIMIT", nullptr,
50                         OHCreateColorSpaceFromNameBT601SMPTECLIMIT, nullptr, nullptr, nullptr, napi_default, nullptr});
51 }
addColorSpaceNameTest(std::vector<napi_property_descriptor> & descData)52 void addColorSpaceNameTest(std::vector<napi_property_descriptor>& descData)
53 {
54     addColorSpaceNameTest1(descData);
55     descData.push_back({"OHCreateColorSpaceFromNameBT2020HLGLIMIT", nullptr, OHCreateColorSpaceFromNameBT2020HLGLIMIT,
56             nullptr, nullptr, nullptr, napi_default, nullptr});
57     descData.push_back({"OHCreateColorSpaceFromNameBT2020PQLIMIT", nullptr, OHCreateColorSpaceFromNameBT2020PQLIMIT,
58             nullptr, nullptr, nullptr, napi_default, nullptr});
59     descData.push_back({"OHCreateColorSpaceFromNameP3HLGLIMIT", nullptr, OHCreateColorSpaceFromNameP3HLGLIMIT,
60             nullptr, nullptr, nullptr, napi_default, nullptr});
61     descData.push_back({"OHCreateColorSpaceFromNameP3PQLIMIT", nullptr, OHCreateColorSpaceFromNameP3PQLIMIT,
62             nullptr, nullptr, nullptr, napi_default, nullptr});
63     descData.push_back({"OHCreateColorSpaceFromNameLINEARP3", nullptr, OHCreateColorSpaceFromNameLINEARP3,
64             nullptr, nullptr, nullptr, napi_default, nullptr});
65     descData.push_back({"OHCreateColorSpaceFromNameLINEARSRGB", nullptr, OHCreateColorSpaceFromNameLINEARSRGB,
66         nullptr, nullptr, nullptr, napi_default, nullptr});
67     descData.push_back({"OHCreateColorSpaceFromNameLINEARBT709", nullptr, OHCreateColorSpaceFromNameLINEARBT709,
68         nullptr, nullptr, nullptr, napi_default, nullptr});
69     descData.push_back({"OHCreateColorSpaceFromNameLINEARBT2020", nullptr, OHCreateColorSpaceFromNameLINEARBT2020,
70         nullptr, nullptr, nullptr, napi_default, nullptr});
71     descData.push_back({"OHCreateColorSpaceFromNameDISPLAYSRGB", nullptr, OHCreateColorSpaceFromNameDISPLAYSRGB,
72         nullptr, nullptr, nullptr, napi_default, nullptr});
73     descData.push_back({"OHCreateColorSpaceFromNameDISPLAYP3SRGB", nullptr, OHCreateColorSpaceFromNameDISPLAYP3SRGB,
74         nullptr, nullptr, nullptr, napi_default, nullptr});
75     descData.push_back({"OHCreateColorSpaceFromNameDISPLAYP3HLG", nullptr, OHCreateColorSpaceFromNameDISPLAYP3HLG,
76         nullptr, nullptr, nullptr, napi_default, nullptr});
77     descData.push_back({"OHCreateColorSpaceFromNameDISPLAYP3PQ", nullptr, OHCreateColorSpaceFromNameDISPLAYP3PQ,
78         nullptr, nullptr, nullptr, napi_default, nullptr});
79     descData.push_back({"OHCreateColorSpaceFromNameCUSTOM", nullptr, OHCreateColorSpaceFromNameCUSTOM,
80         nullptr, nullptr, nullptr, napi_default, nullptr});
81 }
OHCreateColorSpaceFromNameDCIP3(napi_env env,napi_callback_info info)82 napi_value OHCreateColorSpaceFromNameDCIP3(napi_env env, napi_callback_info info)
83 {
84     napi_value result = nullptr;
85     OH_NativeColorSpaceManager *nativeColorSpace = nullptr;
86     ColorSpaceName colorSpaceName = ColorSpaceName::DCI_P3;
87     nativeColorSpace = OH_NativeColorSpaceManager_CreateFromName(colorSpaceName);
88     colorSpaceName = static_cast<ColorSpaceName>(OH_NativeColorSpaceManager_GetColorSpaceName(nativeColorSpace));
89     OH_NativeColorSpaceManager_Destroy(nativeColorSpace);
90     napi_create_int32(env, colorSpaceName, &result);
91     return result;
92 }
93 
OHCreateColorSpaceFromNameDISPLAYP3(napi_env env,napi_callback_info info)94 napi_value OHCreateColorSpaceFromNameDISPLAYP3(napi_env env, napi_callback_info info)
95 {
96     napi_value result = nullptr;
97     OH_NativeColorSpaceManager *nativeColorSpace = nullptr;
98     ColorSpaceName colorSpaceName = ColorSpaceName::DISPLAY_P3;
99     nativeColorSpace = OH_NativeColorSpaceManager_CreateFromName(colorSpaceName);
100     colorSpaceName = static_cast<ColorSpaceName>(OH_NativeColorSpaceManager_GetColorSpaceName(nativeColorSpace));
101     OH_NativeColorSpaceManager_Destroy(nativeColorSpace);
102     napi_create_int32(env, colorSpaceName, &result);
103     return result;
104 }
105 
OHCreateColorSpaceFromNameBT709(napi_env env,napi_callback_info info)106 napi_value OHCreateColorSpaceFromNameBT709(napi_env env, napi_callback_info info)
107 {
108     napi_value result = nullptr;
109     OH_NativeColorSpaceManager *nativeColorSpace = nullptr;
110     ColorSpaceName colorSpaceName = ColorSpaceName::BT709;
111     nativeColorSpace = OH_NativeColorSpaceManager_CreateFromName(colorSpaceName);
112     colorSpaceName = static_cast<ColorSpaceName>(OH_NativeColorSpaceManager_GetColorSpaceName(nativeColorSpace));
113     OH_NativeColorSpaceManager_Destroy(nativeColorSpace);
114     napi_create_int32(env, colorSpaceName, &result);
115     return result;
116 }
117 
OHCreateColorSpaceFromNameBT601EBU(napi_env env,napi_callback_info info)118 napi_value OHCreateColorSpaceFromNameBT601EBU(napi_env env, napi_callback_info info)
119 {
120     napi_value result = nullptr;
121     OH_NativeColorSpaceManager *nativeColorSpace = nullptr;
122     ColorSpaceName colorSpaceName = ColorSpaceName::BT601_EBU;
123     nativeColorSpace = OH_NativeColorSpaceManager_CreateFromName(colorSpaceName);
124     colorSpaceName = static_cast<ColorSpaceName>(OH_NativeColorSpaceManager_GetColorSpaceName(nativeColorSpace));
125     OH_NativeColorSpaceManager_Destroy(nativeColorSpace);
126     napi_create_int32(env, colorSpaceName, &result);
127     return result;
128 }
129 
OHCreateColorSpaceFromNameBT601SMPTEC(napi_env env,napi_callback_info info)130 napi_value OHCreateColorSpaceFromNameBT601SMPTEC(napi_env env, napi_callback_info info)
131 {
132     napi_value result = nullptr;
133     OH_NativeColorSpaceManager *nativeColorSpace = nullptr;
134     ColorSpaceName colorSpaceName = ColorSpaceName::BT601_SMPTE_C;
135     nativeColorSpace = OH_NativeColorSpaceManager_CreateFromName(colorSpaceName);
136     colorSpaceName = static_cast<ColorSpaceName>(OH_NativeColorSpaceManager_GetColorSpaceName(nativeColorSpace));
137     OH_NativeColorSpaceManager_Destroy(nativeColorSpace);
138     napi_create_int32(env, colorSpaceName, &result);
139     return result;
140 }
141 
OHCreateColorSpaceFromNameBT2020HLG(napi_env env,napi_callback_info info)142 napi_value OHCreateColorSpaceFromNameBT2020HLG(napi_env env, napi_callback_info info)
143 {
144     napi_value result = nullptr;
145     OH_NativeColorSpaceManager *nativeColorSpace = nullptr;
146     ColorSpaceName colorSpaceName = ColorSpaceName::BT2020_HLG;
147     nativeColorSpace = OH_NativeColorSpaceManager_CreateFromName(colorSpaceName);
148     colorSpaceName = static_cast<ColorSpaceName>(OH_NativeColorSpaceManager_GetColorSpaceName(nativeColorSpace));
149     OH_NativeColorSpaceManager_Destroy(nativeColorSpace);
150     napi_create_int32(env, colorSpaceName, &result);
151     return result;
152 }
153 
OHCreateColorSpaceFromNameBT2020PQ(napi_env env,napi_callback_info info)154 napi_value OHCreateColorSpaceFromNameBT2020PQ(napi_env env, napi_callback_info info)
155 {
156     napi_value result = nullptr;
157     OH_NativeColorSpaceManager *nativeColorSpace = nullptr;
158     ColorSpaceName colorSpaceName = ColorSpaceName::BT2020_PQ;
159     nativeColorSpace = OH_NativeColorSpaceManager_CreateFromName(colorSpaceName);
160     colorSpaceName = static_cast<ColorSpaceName>(OH_NativeColorSpaceManager_GetColorSpaceName(nativeColorSpace));
161     OH_NativeColorSpaceManager_Destroy(nativeColorSpace);
162     napi_create_int32(env, colorSpaceName, &result);
163     return result;
164 }
165 
OHCreateColorSpaceFromNameP3HLG(napi_env env,napi_callback_info info)166 napi_value OHCreateColorSpaceFromNameP3HLG(napi_env env, napi_callback_info info)
167 {
168     napi_value result = nullptr;
169     OH_NativeColorSpaceManager *nativeColorSpace = nullptr;
170     ColorSpaceName colorSpaceName = ColorSpaceName::P3_HLG;
171     nativeColorSpace = OH_NativeColorSpaceManager_CreateFromName(colorSpaceName);
172     colorSpaceName = static_cast<ColorSpaceName>(OH_NativeColorSpaceManager_GetColorSpaceName(nativeColorSpace));
173     OH_NativeColorSpaceManager_Destroy(nativeColorSpace);
174     napi_create_int32(env, colorSpaceName, &result);
175     return result;
176 }
177 
OHCreateColorSpaceFromNameP3PQ(napi_env env,napi_callback_info info)178 napi_value OHCreateColorSpaceFromNameP3PQ(napi_env env, napi_callback_info info)
179 {
180     napi_value result = nullptr;
181     OH_NativeColorSpaceManager *nativeColorSpace = nullptr;
182     ColorSpaceName colorSpaceName = ColorSpaceName::P3_PQ;
183     nativeColorSpace = OH_NativeColorSpaceManager_CreateFromName(colorSpaceName);
184     colorSpaceName = static_cast<ColorSpaceName>(OH_NativeColorSpaceManager_GetColorSpaceName(nativeColorSpace));
185     OH_NativeColorSpaceManager_Destroy(nativeColorSpace);
186     napi_create_int32(env, colorSpaceName, &result);
187     return result;
188 }
189 
OHCreateColorSpaceFromNameADOBERGBLIMIT(napi_env env,napi_callback_info info)190 napi_value OHCreateColorSpaceFromNameADOBERGBLIMIT(napi_env env, napi_callback_info info)
191 {
192     napi_value result = nullptr;
193     OH_NativeColorSpaceManager *nativeColorSpace = nullptr;
194     ColorSpaceName colorSpaceName = ColorSpaceName::ADOBE_RGB_LIMIT;
195     nativeColorSpace = OH_NativeColorSpaceManager_CreateFromName(colorSpaceName);
196     colorSpaceName = static_cast<ColorSpaceName>(OH_NativeColorSpaceManager_GetColorSpaceName(nativeColorSpace));
197     OH_NativeColorSpaceManager_Destroy(nativeColorSpace);
198     napi_create_int32(env, colorSpaceName, &result);
199     return result;
200 }
OHCreateColorSpaceFromNameDISPLAYP3LIMIT(napi_env env,napi_callback_info info)201 napi_value OHCreateColorSpaceFromNameDISPLAYP3LIMIT(napi_env env, napi_callback_info info)
202 {
203     napi_value result = nullptr;
204     OH_NativeColorSpaceManager *nativeColorSpace = nullptr;
205     ColorSpaceName colorSpaceName = ColorSpaceName::DISPLAY_P3_LIMIT;
206     nativeColorSpace = OH_NativeColorSpaceManager_CreateFromName(colorSpaceName);
207     colorSpaceName = static_cast<ColorSpaceName>(OH_NativeColorSpaceManager_GetColorSpaceName(nativeColorSpace));
208     OH_NativeColorSpaceManager_Destroy(nativeColorSpace);
209     napi_create_int32(env, colorSpaceName, &result);
210     return result;
211 }
212 
OHCreateColorSpaceFromNameSRGBLIMIT(napi_env env,napi_callback_info info)213 napi_value OHCreateColorSpaceFromNameSRGBLIMIT(napi_env env, napi_callback_info info)
214 {
215     napi_value result = nullptr;
216     OH_NativeColorSpaceManager *nativeColorSpace = nullptr;
217     ColorSpaceName colorSpaceName = ColorSpaceName::SRGB_LIMIT;
218     nativeColorSpace = OH_NativeColorSpaceManager_CreateFromName(colorSpaceName);
219     colorSpaceName = static_cast<ColorSpaceName>(OH_NativeColorSpaceManager_GetColorSpaceName(nativeColorSpace));
220     OH_NativeColorSpaceManager_Destroy(nativeColorSpace);
221     napi_create_int32(env, colorSpaceName, &result);
222     return result;
223 }
224 
225 
OHCreateColorSpaceFromNameBT709LIMIT(napi_env env,napi_callback_info info)226 napi_value OHCreateColorSpaceFromNameBT709LIMIT(napi_env env, napi_callback_info info)
227 {
228     napi_value result = nullptr;
229     OH_NativeColorSpaceManager *nativeColorSpace = nullptr;
230     ColorSpaceName colorSpaceName = ColorSpaceName::BT709_LIMIT;
231     nativeColorSpace = OH_NativeColorSpaceManager_CreateFromName(colorSpaceName);
232     colorSpaceName = static_cast<ColorSpaceName>(OH_NativeColorSpaceManager_GetColorSpaceName(nativeColorSpace));
233     OH_NativeColorSpaceManager_Destroy(nativeColorSpace);
234     napi_create_int32(env, colorSpaceName, &result);
235     return result;
236 }
237 
OHCreateColorSpaceFromNameBT601EBULIMIT(napi_env env,napi_callback_info info)238 napi_value OHCreateColorSpaceFromNameBT601EBULIMIT(napi_env env, napi_callback_info info)
239 {
240     napi_value result = nullptr;
241     OH_NativeColorSpaceManager *nativeColorSpace = nullptr;
242     ColorSpaceName colorSpaceName = ColorSpaceName::BT601_EBU_LIMIT;
243     nativeColorSpace = OH_NativeColorSpaceManager_CreateFromName(colorSpaceName);
244     colorSpaceName = static_cast<ColorSpaceName>(OH_NativeColorSpaceManager_GetColorSpaceName(nativeColorSpace));
245     OH_NativeColorSpaceManager_Destroy(nativeColorSpace);
246     napi_create_int32(env, colorSpaceName, &result);
247     return result;
248 }
249 
OHCreateColorSpaceFromNameBT601SMPTECLIMIT(napi_env env,napi_callback_info info)250 napi_value OHCreateColorSpaceFromNameBT601SMPTECLIMIT(napi_env env, napi_callback_info info)
251 {
252     napi_value result = nullptr;
253     OH_NativeColorSpaceManager *nativeColorSpace = nullptr;
254     ColorSpaceName colorSpaceName = ColorSpaceName::BT601_SMPTE_C_LIMIT;
255     nativeColorSpace = OH_NativeColorSpaceManager_CreateFromName(colorSpaceName);
256     colorSpaceName = static_cast<ColorSpaceName>(OH_NativeColorSpaceManager_GetColorSpaceName(nativeColorSpace));
257     OH_NativeColorSpaceManager_Destroy(nativeColorSpace);
258     napi_create_int32(env, colorSpaceName, &result);
259     return result;
260 }
261 
OHCreateColorSpaceFromNameBT2020HLGLIMIT(napi_env env,napi_callback_info info)262 napi_value OHCreateColorSpaceFromNameBT2020HLGLIMIT(napi_env env, napi_callback_info info)
263 {
264     napi_value result = nullptr;
265     OH_NativeColorSpaceManager *nativeColorSpace = nullptr;
266     ColorSpaceName colorSpaceName = ColorSpaceName::BT2020_HLG_LIMIT;
267     nativeColorSpace = OH_NativeColorSpaceManager_CreateFromName(colorSpaceName);
268     colorSpaceName = static_cast<ColorSpaceName>(OH_NativeColorSpaceManager_GetColorSpaceName(nativeColorSpace));
269     OH_NativeColorSpaceManager_Destroy(nativeColorSpace);
270     napi_create_int32(env, colorSpaceName, &result);
271     return result;
272 }
273 
OHCreateColorSpaceFromNameBT2020PQLIMIT(napi_env env,napi_callback_info info)274 napi_value OHCreateColorSpaceFromNameBT2020PQLIMIT(napi_env env, napi_callback_info info)
275 {
276     napi_value result = nullptr;
277     OH_NativeColorSpaceManager *nativeColorSpace = nullptr;
278     ColorSpaceName colorSpaceName = ColorSpaceName::BT2020_PQ_LIMIT;
279     nativeColorSpace = OH_NativeColorSpaceManager_CreateFromName(colorSpaceName);
280     colorSpaceName = static_cast<ColorSpaceName>(OH_NativeColorSpaceManager_GetColorSpaceName(nativeColorSpace));
281     OH_NativeColorSpaceManager_Destroy(nativeColorSpace);
282     napi_create_int32(env, colorSpaceName, &result);
283     return result;
284 }
285 
OHCreateColorSpaceFromNameP3HLGLIMIT(napi_env env,napi_callback_info info)286 napi_value OHCreateColorSpaceFromNameP3HLGLIMIT(napi_env env, napi_callback_info info)
287 {
288     napi_value result = nullptr;
289     OH_NativeColorSpaceManager *nativeColorSpace = nullptr;
290     ColorSpaceName colorSpaceName = ColorSpaceName::P3_HLG_LIMIT;
291     nativeColorSpace = OH_NativeColorSpaceManager_CreateFromName(colorSpaceName);
292     colorSpaceName = static_cast<ColorSpaceName>(OH_NativeColorSpaceManager_GetColorSpaceName(nativeColorSpace));
293     OH_NativeColorSpaceManager_Destroy(nativeColorSpace);
294     napi_create_int32(env, colorSpaceName, &result);
295     return result;
296 }
297 
OHCreateColorSpaceFromNameP3PQLIMIT(napi_env env,napi_callback_info info)298 napi_value OHCreateColorSpaceFromNameP3PQLIMIT(napi_env env, napi_callback_info info)
299 {
300     napi_value result = nullptr;
301     OH_NativeColorSpaceManager *nativeColorSpace = nullptr;
302     ColorSpaceName colorSpaceName = ColorSpaceName::P3_PQ_LIMIT;
303     nativeColorSpace = OH_NativeColorSpaceManager_CreateFromName(colorSpaceName);
304     colorSpaceName = static_cast<ColorSpaceName>(OH_NativeColorSpaceManager_GetColorSpaceName(nativeColorSpace));
305     OH_NativeColorSpaceManager_Destroy(nativeColorSpace);
306     napi_create_int32(env, colorSpaceName, &result);
307     return result;
308 }
309 
OHCreateColorSpaceFromNameLINEARP3(napi_env env,napi_callback_info info)310 napi_value OHCreateColorSpaceFromNameLINEARP3(napi_env env, napi_callback_info info)
311 {
312     napi_value result = nullptr;
313     OH_NativeColorSpaceManager *nativeColorSpace = nullptr;
314     ColorSpaceName colorSpaceName = ColorSpaceName::LINEAR_P3;
315     nativeColorSpace = OH_NativeColorSpaceManager_CreateFromName(colorSpaceName);
316     colorSpaceName = static_cast<ColorSpaceName>(OH_NativeColorSpaceManager_GetColorSpaceName(nativeColorSpace));
317     OH_NativeColorSpaceManager_Destroy(nativeColorSpace);
318     napi_create_int32(env, colorSpaceName, &result);
319     return result;
320 }
321 
OHCreateColorSpaceFromNameLINEARSRGB(napi_env env,napi_callback_info info)322 napi_value OHCreateColorSpaceFromNameLINEARSRGB(napi_env env, napi_callback_info info)
323 {
324     napi_value result = nullptr;
325     OH_NativeColorSpaceManager *nativeColorSpace = nullptr;
326     ColorSpaceName colorSpaceName = ColorSpaceName::LINEAR_SRGB;
327     nativeColorSpace = OH_NativeColorSpaceManager_CreateFromName(colorSpaceName);
328     colorSpaceName = static_cast<ColorSpaceName>(OH_NativeColorSpaceManager_GetColorSpaceName(nativeColorSpace));
329     OH_NativeColorSpaceManager_Destroy(nativeColorSpace);
330     napi_create_int32(env, colorSpaceName, &result);
331     return result;
332 }
333 
OHCreateColorSpaceFromNameLINEARBT709(napi_env env,napi_callback_info info)334 napi_value OHCreateColorSpaceFromNameLINEARBT709(napi_env env, napi_callback_info info)
335 {
336     napi_value result = nullptr;
337     OH_NativeColorSpaceManager *nativeColorSpace = nullptr;
338     ColorSpaceName colorSpaceName = ColorSpaceName::LINEAR_BT709;
339     nativeColorSpace = OH_NativeColorSpaceManager_CreateFromName(colorSpaceName);
340     colorSpaceName = static_cast<ColorSpaceName>(OH_NativeColorSpaceManager_GetColorSpaceName(nativeColorSpace));
341     OH_NativeColorSpaceManager_Destroy(nativeColorSpace);
342     napi_create_int32(env, colorSpaceName, &result);
343     return result;
344 }
345 
OHCreateColorSpaceFromNameLINEARBT2020(napi_env env,napi_callback_info info)346 napi_value OHCreateColorSpaceFromNameLINEARBT2020(napi_env env, napi_callback_info info)
347 {
348     napi_value result = nullptr;
349     OH_NativeColorSpaceManager *nativeColorSpace = nullptr;
350     ColorSpaceName colorSpaceName = ColorSpaceName::LINEAR_BT2020;
351     nativeColorSpace = OH_NativeColorSpaceManager_CreateFromName(colorSpaceName);
352     colorSpaceName = static_cast<ColorSpaceName>(OH_NativeColorSpaceManager_GetColorSpaceName(nativeColorSpace));
353     OH_NativeColorSpaceManager_Destroy(nativeColorSpace);
354     napi_create_int32(env, colorSpaceName, &result);
355     return result;
356 }
357 
OHCreateColorSpaceFromNameDISPLAYSRGB(napi_env env,napi_callback_info info)358 napi_value OHCreateColorSpaceFromNameDISPLAYSRGB(napi_env env, napi_callback_info info)
359 {
360     napi_value result = nullptr;
361     OH_NativeColorSpaceManager *nativeColorSpace = nullptr;
362     ColorSpaceName colorSpaceName = ColorSpaceName::DISPLAY_SRGB;
363     nativeColorSpace = OH_NativeColorSpaceManager_CreateFromName(colorSpaceName);
364     colorSpaceName = static_cast<ColorSpaceName>(OH_NativeColorSpaceManager_GetColorSpaceName(nativeColorSpace));
365     OH_NativeColorSpaceManager_Destroy(nativeColorSpace);
366     napi_create_int32(env, colorSpaceName, &result);
367     return result;
368 }
369 
OHCreateColorSpaceFromNameDISPLAYP3SRGB(napi_env env,napi_callback_info info)370 napi_value OHCreateColorSpaceFromNameDISPLAYP3SRGB(napi_env env, napi_callback_info info)
371 {
372     napi_value result = nullptr;
373     OH_NativeColorSpaceManager *nativeColorSpace = nullptr;
374     ColorSpaceName colorSpaceName = ColorSpaceName::DISPLAY_P3_SRGB;
375     nativeColorSpace = OH_NativeColorSpaceManager_CreateFromName(colorSpaceName);
376     colorSpaceName = static_cast<ColorSpaceName>(OH_NativeColorSpaceManager_GetColorSpaceName(nativeColorSpace));
377     OH_NativeColorSpaceManager_Destroy(nativeColorSpace);
378     napi_create_int32(env, colorSpaceName, &result);
379     return result;
380 }
381 
OHCreateColorSpaceFromNameDISPLAYP3HLG(napi_env env,napi_callback_info info)382 napi_value OHCreateColorSpaceFromNameDISPLAYP3HLG(napi_env env, napi_callback_info info)
383 {
384     napi_value result = nullptr;
385     OH_NativeColorSpaceManager *nativeColorSpace = nullptr;
386     ColorSpaceName colorSpaceName = ColorSpaceName::DISPLAY_P3_HLG;
387     nativeColorSpace = OH_NativeColorSpaceManager_CreateFromName(colorSpaceName);
388     colorSpaceName = static_cast<ColorSpaceName>(OH_NativeColorSpaceManager_GetColorSpaceName(nativeColorSpace));
389     OH_NativeColorSpaceManager_Destroy(nativeColorSpace);
390     napi_create_int32(env, colorSpaceName, &result);
391     return result;
392 }
393 
OHCreateColorSpaceFromNameDISPLAYP3PQ(napi_env env,napi_callback_info info)394 napi_value OHCreateColorSpaceFromNameDISPLAYP3PQ(napi_env env, napi_callback_info info)
395 {
396     napi_value result = nullptr;
397     OH_NativeColorSpaceManager *nativeColorSpace = nullptr;
398     ColorSpaceName colorSpaceName = ColorSpaceName::DISPLAY_P3_PQ;
399     nativeColorSpace = OH_NativeColorSpaceManager_CreateFromName(colorSpaceName);
400     colorSpaceName = static_cast<ColorSpaceName>(OH_NativeColorSpaceManager_GetColorSpaceName(nativeColorSpace));
401     OH_NativeColorSpaceManager_Destroy(nativeColorSpace);
402     napi_create_int32(env, colorSpaceName, &result);
403     return result;
404 }
405 
OHCreateColorSpaceFromNameCUSTOM(napi_env env,napi_callback_info info)406 napi_value OHCreateColorSpaceFromNameCUSTOM(napi_env env, napi_callback_info info)
407 {
408     napi_value result = nullptr;
409     OH_NativeColorSpaceManager *nativeColorSpace = nullptr;
410     ColorSpaceName colorSpaceName = ColorSpaceName::CUSTOM;
411     nativeColorSpace = OH_NativeColorSpaceManager_CreateFromName(colorSpaceName);
412     colorSpaceName = static_cast<ColorSpaceName>(OH_NativeColorSpaceManager_GetColorSpaceName(nativeColorSpace));
413     OH_NativeColorSpaceManager_Destroy(nativeColorSpace);
414     napi_create_int32(env, colorSpaceName, &result);
415     return result;
416 }
417