mirror of
https://gitee.com/openharmony/arkui_ace_engine
synced 2024-11-27 01:03:08 +00:00
NDK c-api ets node fix
Signed-off-by: liyi0309<liyi58@huawei.com> Change-Id: I02b4ca3d2426b9eb1feda27b41bf79b6da1f3fe3
This commit is contained in:
parent
80e3453fc5
commit
62db2226e0
@ -16,6 +16,7 @@
|
|||||||
#ifndef ARKUI_NATIVE_DIALOG_H
|
#ifndef ARKUI_NATIVE_DIALOG_H
|
||||||
#define ARKUI_NATIVE_DIALOG_H
|
#define ARKUI_NATIVE_DIALOG_H
|
||||||
|
|
||||||
|
#include <stdbool.h>
|
||||||
#include "native_type.h"
|
#include "native_type.h"
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
@ -853,7 +853,7 @@ typedef enum {
|
|||||||
*/
|
*/
|
||||||
ARKUI_SCROLL_NESTED_MODE_SELF_ONLY = 0,
|
ARKUI_SCROLL_NESTED_MODE_SELF_ONLY = 0,
|
||||||
/** The component scrolls first, and when it hits the boundary, the parent component scrolls.
|
/** The component scrolls first, and when it hits the boundary, the parent component scrolls.
|
||||||
* When the parent component hits the boundary, its edge effect is displayed. If no edge effect is specified for
|
* When the parent component hits the boundary, its edge effect is displayed. If no edge effect is specified for
|
||||||
* the parent component, the edge effect of the child component is displayed instead.
|
* the parent component, the edge effect of the child component is displayed instead.
|
||||||
*/
|
*/
|
||||||
ARKUI_SCROLL_NESTED_MODE_SELF_FIRST,
|
ARKUI_SCROLL_NESTED_MODE_SELF_FIRST,
|
||||||
|
@ -36,6 +36,7 @@ int32_t OH_ArkUI_GetNodeHandleFromNapiValue(napi_env env, napi_value value, ArkU
|
|||||||
{
|
{
|
||||||
bool hasProperty = false;
|
bool hasProperty = false;
|
||||||
auto result = napi_has_named_property(env, value, "nodePtr_", &hasProperty);
|
auto result = napi_has_named_property(env, value, "nodePtr_", &hasProperty);
|
||||||
|
auto* impl = OHOS::Ace::NodeModel::GetFullImpl();
|
||||||
if (result == napi_ok && hasProperty) {
|
if (result == napi_ok && hasProperty) {
|
||||||
napi_value frameNodePtr = nullptr;
|
napi_value frameNodePtr = nullptr;
|
||||||
auto result = napi_get_named_property(env, value, "nodePtr_", &frameNodePtr);
|
auto result = napi_get_named_property(env, value, "nodePtr_", &frameNodePtr);
|
||||||
@ -53,6 +54,9 @@ int32_t OH_ArkUI_GetNodeHandleFromNapiValue(napi_env env, napi_value value, ArkU
|
|||||||
auto* uiNodePtr = reinterpret_cast<OHOS::Ace::NG::UINode*>(nativePtr);
|
auto* uiNodePtr = reinterpret_cast<OHOS::Ace::NG::UINode*>(nativePtr);
|
||||||
uiNodePtr->IncRefCount();
|
uiNodePtr->IncRefCount();
|
||||||
*handle = new ArkUI_Node({ .type = -1, .uiNodeHandle = reinterpret_cast<ArkUINodeHandle>(nativePtr) });
|
*handle = new ArkUI_Node({ .type = -1, .uiNodeHandle = reinterpret_cast<ArkUINodeHandle>(nativePtr) });
|
||||||
|
if (impl) {
|
||||||
|
impl->getExtendedAPI()->setAttachNodePtr((*handle)->uiNodeHandle, reinterpret_cast<void*>(*handle));
|
||||||
|
}
|
||||||
return OHOS::Ace::ERROR_CODE_NO_ERROR;
|
return OHOS::Ace::ERROR_CODE_NO_ERROR;
|
||||||
}
|
}
|
||||||
result = napi_has_named_property(env, value, "builderNode_", &hasProperty);
|
result = napi_has_named_property(env, value, "builderNode_", &hasProperty);
|
||||||
@ -84,7 +88,6 @@ int32_t OH_ArkUI_GetNodeHandleFromNapiValue(napi_env env, napi_value value, ArkU
|
|||||||
}
|
}
|
||||||
if (frameNode->GetTag() == "BuilderProxyNode") {
|
if (frameNode->GetTag() == "BuilderProxyNode") {
|
||||||
// need to get the really frameNode.
|
// need to get the really frameNode.
|
||||||
auto* impl = OHOS::Ace::NodeModel::GetFullImpl();
|
|
||||||
if (!impl) {
|
if (!impl) {
|
||||||
return OHOS::Ace::ERROR_CODE_NATIVE_IMPL_LIBRARY_NOT_FOUND;
|
return OHOS::Ace::ERROR_CODE_NATIVE_IMPL_LIBRARY_NOT_FOUND;
|
||||||
}
|
}
|
||||||
@ -98,6 +101,9 @@ int32_t OH_ArkUI_GetNodeHandleFromNapiValue(napi_env env, napi_value value, ArkU
|
|||||||
}
|
}
|
||||||
frameNode->IncRefCount();
|
frameNode->IncRefCount();
|
||||||
*handle = new ArkUI_Node({ .type = -1, .uiNodeHandle = reinterpret_cast<ArkUINodeHandle>(frameNode) });
|
*handle = new ArkUI_Node({ .type = -1, .uiNodeHandle = reinterpret_cast<ArkUINodeHandle>(frameNode) });
|
||||||
|
if (impl) {
|
||||||
|
impl->getExtendedAPI()->setAttachNodePtr((*handle)->uiNodeHandle, reinterpret_cast<void*>(*handle));
|
||||||
|
}
|
||||||
return OHOS::Ace::ERROR_CODE_NO_ERROR;
|
return OHOS::Ace::ERROR_CODE_NO_ERROR;
|
||||||
}
|
}
|
||||||
return OHOS::Ace::ERROR_CODE_PARAM_INVALID;
|
return OHOS::Ace::ERROR_CODE_PARAM_INVALID;
|
||||||
|
Loading…
Reference in New Issue
Block a user