diff --git a/interfaces/kits/napi/window_runtime/window_manager_napi/js_window_manager.cpp b/interfaces/kits/napi/window_runtime/window_manager_napi/js_window_manager.cpp index e0e4e4c6..b4feccc0 100644 --- a/interfaces/kits/napi/window_runtime/window_manager_napi/js_window_manager.cpp +++ b/interfaces/kits/napi/window_runtime/window_manager_napi/js_window_manager.cpp @@ -586,6 +586,7 @@ NativeValue* JsWindowManagerInit(NativeEngine* engine, NativeValue* exportObj) object->SetProperty("ColorSpace", ColorSpaceInit(engine)); object->SetProperty("WindowStageEventType", WindowStageEventTypeInit(engine)); object->SetProperty("WindowLayoutMode", WindowLayoutModeInit(engine)); + object->SetProperty("Orientation", OrientationInit(engine)); BindNativeFunction(*engine, *object, "create", JsWindowManager::CreateWindow); BindNativeFunction(*engine, *object, "find", JsWindowManager::FindWindow); BindNativeFunction(*engine, *object, "on", JsWindowManager::RegisterWindowManagerCallback); diff --git a/interfaces/kits/napi/window_runtime/window_napi/js_window_utils.cpp b/interfaces/kits/napi/window_runtime/window_napi/js_window_utils.cpp index 7baa240e..00dd8614 100644 --- a/interfaces/kits/napi/window_runtime/window_napi/js_window_utils.cpp +++ b/interfaces/kits/napi/window_runtime/window_napi/js_window_utils.cpp @@ -158,6 +158,49 @@ NativeValue* ColorSpaceInit(NativeEngine* engine) return objValue; } +NativeValue* OrientationInit(NativeEngine* engine) +{ + WLOGFI("[NAPI]OrientationInit"); + + if (engine == nullptr) { + WLOGFE("[NAPI]Engine is nullptr"); + return nullptr; + } + + NativeValue *objValue = engine->CreateObject(); + NativeObject *object = ConvertNativeValueTo(objValue); + if (object == nullptr) { + WLOGFE("[NAPI]Failed to get object"); + return nullptr; + } + + object->SetProperty("UNSPECIFIED", CreateJsValue(*engine, + static_cast(Orientation::UNSPECIFIED))); + object->SetProperty("PORTRAIT", CreateJsValue(*engine, + static_cast(Orientation::VERTICAL))); + object->SetProperty("LANDSCAPE", CreateJsValue(*engine, + static_cast(Orientation::HORIZONTAL))); + object->SetProperty("PORTRAIT_INVERTED", CreateJsValue(*engine, + static_cast(Orientation::REVERSE_VERTICAL))); + object->SetProperty("LANDSCAPE_INVERTED", CreateJsValue(*engine, + static_cast(Orientation::REVERSE_HORIZONTAL))); + object->SetProperty("AUTO_ROTATION", CreateJsValue(*engine, + static_cast(Orientation::SENSOR))); + object->SetProperty("AUTO_ROTATION_PORTRAIT", CreateJsValue(*engine, + static_cast(Orientation::SENSOR_VERTICAL))); + object->SetProperty("AUTO_ROTATION_LANDSCAPE", CreateJsValue(*engine, + static_cast(Orientation::SENSOR_HORIZONTAL))); + object->SetProperty("AUTO_ROTATION_RESTRICTED", CreateJsValue(*engine, + static_cast(Orientation::AUTO_ROTATION_RESTRICTED))); + object->SetProperty("AUTO_ROTATION_PORTRAIT_RESTRICTED", CreateJsValue(*engine, + static_cast(Orientation::AUTO_ROTATION_PORTRAIT_RESTRICTED))); + object->SetProperty("AUTO_ROTATION_LANDSCAPE_RESTRICTED", CreateJsValue(*engine, + static_cast(Orientation::AUTO_ROTATION_LANDSCAPE_RESTRICTED))); + object->SetProperty("LOCKED", CreateJsValue(*engine, + static_cast(Orientation::LOCKED))); + return objValue; +} + NativeValue* WindowStageEventTypeInit(NativeEngine* engine) { WLOGFI("[NAPI]WindowStageEventTypeInit"); diff --git a/interfaces/kits/napi/window_runtime/window_napi/js_window_utils.h b/interfaces/kits/napi/window_runtime/window_napi/js_window_utils.h index b8c5c77a..b8ba7106 100644 --- a/interfaces/kits/napi/window_runtime/window_napi/js_window_utils.h +++ b/interfaces/kits/napi/window_runtime/window_napi/js_window_utils.h @@ -162,6 +162,7 @@ const std::map JS_TO_NATIVE_ORIENTATION_MAP { NativeValue* AvoidAreaTypeInit(NativeEngine* engine); NativeValue* WindowModeInit(NativeEngine* engine); NativeValue* ColorSpaceInit(NativeEngine* engine); + NativeValue* OrientationInit(NativeEngine* engine); NativeValue* WindowStageEventTypeInit(NativeEngine* engine); NativeValue* WindowLayoutModeInit(NativeEngine* engine); bool GetAPI7Ability(NativeEngine& engine, AppExecFwk::Ability* &ability);