1 /* 2 * Copyright (c) 2024 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 #ifndef WINDOW_FFI_H 16 #define WINDOW_FFI_H 17 18 #include "cj_ffi/cj_common_ffi.h" 19 #include "singleton_container.h" 20 #include "window_impl.h" 21 #include "window_manager.h" 22 #include "window_manager_impl.h" 23 #include "window_stage_impl.h" 24 25 extern "C" { 26 // window maneger 27 FFI_EXPORT RetDataI64 FfiOHOSCreateWindow(char* name, uint32_t windowType, OHOS::AbilityRuntime::Context* context, 28 int64_t displayId, int64_t parentId); 29 FFI_EXPORT int32_t FfiOHOSWindowSetWindowLayoutMode(uint32_t mode); 30 FFI_EXPORT int32_t FfiOHOSWindowMinimizeAll(int64_t displayId); 31 FFI_EXPORT RetDataI64 FfiOHOSGetLastWindow(OHOS::AbilityRuntime::Context* ctx); 32 33 // window 34 FFI_EXPORT int32_t FfiOHOSWindowHide(int64_t id); 35 FFI_EXPORT int32_t FfiOHOSWindowHideWithAnimation(int64_t id); 36 FFI_EXPORT int32_t FfiOHOSWindowShowWindow(int64_t id); 37 FFI_EXPORT int32_t FfiOHOSWindowShowWithAnimation(int64_t id); 38 FFI_EXPORT int32_t FfiOHOSWindowDestroyWindow(int64_t id); 39 FFI_EXPORT int32_t FfiOHOSWindowMoveWindowTo(int64_t id, int32_t x, int32_t y); 40 FFI_EXPORT int32_t FfiOHOSWindowResize(int64_t id, uint32_t width, uint32_t height); 41 FFI_EXPORT int32_t FfiOHOSWindowSetWindowMode(int64_t id, uint32_t mode); 42 FFI_EXPORT CWindowProperties FfiOHOSWindowGetWindowProperties(int64_t id, int32_t* errCode); 43 FFI_EXPORT int32_t FfiOHOSWindowSetWindowLayoutFullScreen(int64_t id, bool isLayoutFullScreen); 44 FFI_EXPORT int32_t FfiOHOSSetWindowBackgroundColor(int64_t id, const char* color); 45 FFI_EXPORT int32_t FfiOHOSWindowSetWindowBrightness(int64_t id, float brightness); 46 FFI_EXPORT int32_t FfiOHOSWindowSetWindowFocusable(int64_t id, bool focusable); 47 FFI_EXPORT int32_t FfiOHOSWindowSetWindowKeepScreenOn(int64_t id, bool keepScreenOn); 48 FFI_EXPORT int32_t FfiOHOSWindowSetWindowPrivacyMode(int64_t id, bool isPrivacyMode); 49 FFI_EXPORT int32_t FfiOHOSWindowSetWindowTouchable(int64_t id, bool touchable); 50 FFI_EXPORT int32_t FfiOHOSWindowSetForbidSplitMove(int64_t id, bool isForbidSplitMove); 51 FFI_EXPORT bool FfiOHOSWindowIsWindowSupportWideGamut(int64_t id, int32_t* errCode); 52 FFI_EXPORT bool FfiOHOSWindowIsWindowShowing(int64_t id, int32_t* errCode); 53 FFI_EXPORT RetDataI64 FFiOHOSWindowFindWindow(char* name); 54 FFI_EXPORT int32_t FFiOHOSWindowToggleShownStateForAllAppWindows(); 55 FFI_EXPORT int32_t FFiOHOSWindowSetGestureNavigationEnabled(bool enable); 56 FFI_EXPORT int32_t FFiOHOSWindowSetWaterMarkImage(int64_t pixelMapId, bool enable); 57 FFI_EXPORT int32_t FFiOHOSWindowSetBackdropBlurStyle(int64_t id, uint32_t blurStyle); 58 FFI_EXPORT int32_t FFiOHOSWindowSetPreferredOrientation(int64_t id, uint32_t orientation); 59 FFI_EXPORT int32_t FFiOHOSWindowGetWindowAvoidArea(int64_t id, uint32_t areaType, OHOS::Rosen::CAvoidArea* retPtr); 60 FFI_EXPORT int32_t FFiOHOSWindowSetShadowRadius(int64_t id, double radius); 61 FFI_EXPORT int32_t FFiOHOSWindowSetShadowColor(int64_t id, char* color); 62 FFI_EXPORT int32_t FFiOHOSWindowSetShadowOffsetX(int64_t id, double offsetX); 63 FFI_EXPORT int32_t FFiOHOSWindowSetShadowOffsetY(int64_t id, double offsetY); 64 FFI_EXPORT int32_t FFiOHOSWindowSetBackdropBlur(int64_t id, double radius); 65 FFI_EXPORT int32_t FFiOHOSWindowSetBlur(int64_t id, double radius); 66 FFI_EXPORT int32_t FFiOHOSWindowSetWaterMarkFlag(int64_t id, bool enable); 67 FFI_EXPORT int32_t FFiOHOSWindowSetAspectRatio(int64_t id, double ratio); 68 FFI_EXPORT int32_t FFiOHOSWindowResetAspectRatio(int64_t id); 69 FFI_EXPORT int32_t FFiOHOSWindowMinimize(int64_t id); 70 FFI_EXPORT int32_t FFiOHOSWindowSetWindowColorSpace(int64_t id, uint32_t colorSpace); 71 FFI_EXPORT int32_t FFiOHOSWindowSetCornerRadius(int64_t id, float radius); 72 FFI_EXPORT int32_t FFiOHOSWindowSetResizeByDragEnabled(int64_t id, bool enable); 73 FFI_EXPORT int32_t FFiOHOSWindowRaiseToAppTop(int64_t id); 74 FFI_EXPORT int32_t FFiOHOSWindowSetSnapshotSkip(int64_t id, bool isSkip); 75 FFI_EXPORT int32_t FFiOHOSWindowSetWakeUpScreen(int64_t id, bool wakeUp); 76 FFI_EXPORT int32_t FFiOHOSWindowSetRaiseByClickEnabled(int64_t id, bool enable); 77 FFI_EXPORT int32_t FFiOHOSWindowGetWindowColorSpace(int64_t id, int32_t* errCode); 78 FFI_EXPORT int32_t FFiOHOSWindowRaiseAboveTarget(int64_t id, int32_t windowId); 79 FFI_EXPORT int32_t FFiOHOSWindowTranslate(int64_t id, double x, double y, double z); 80 FFI_EXPORT int32_t FFiOHOSWindowRotate(int64_t id, WindowRotate window); 81 FFI_EXPORT int32_t FFiOHOSWindowScale(int64_t id, double x, double y, double pivotX, double pivotY); 82 FFI_EXPORT int32_t FFiOHOSWindowOpacity(int64_t id, double opacity); 83 FFI_EXPORT int64_t FFiOHOSWindowSnapshot(int64_t id, int32_t* errCode); 84 FFI_EXPORT int32_t FFiOHOSWindowSetWindowSystemBarEnable(int64_t id, CArrString arr); 85 FFI_EXPORT int32_t FFiOHOSWindowSetWindowSystemBarProperties(int64_t id, CJBarProperties properties); 86 FFI_EXPORT int32_t FFiOHOSMinimize(int64_t id); 87 FFI_EXPORT int32_t FFiOHOSSetWindowColorSpace(int64_t id, uint32_t colorSpace); 88 FFI_EXPORT int32_t FfiOHOSOnKeyboardHeightChange(int64_t id, int64_t callbackId); 89 FFI_EXPORT int32_t FfiOHOSOffKeyboardHeightChange(int64_t id); 90 91 // WindowStage 92 FFI_EXPORT RetDataI64 FfiOHOSBindWindowStage(int64_t windowStageImplPtr); 93 FFI_EXPORT RetDataI64 FfiOHOSGetMainWindow(int64_t id); 94 FFI_EXPORT RetDataI64 FfiOHOSCreateSubWindow(int64_t id, char* name); 95 FFI_EXPORT RetStruct FfiOHOSGetSubWindow(int64_t id); 96 FFI_EXPORT int32_t FfiOHOSLoadContent(int64_t id, char* path); 97 FFI_EXPORT int32_t FfiOHOSLoadContentByName(int64_t id, char* name); 98 FFI_EXPORT int32_t FfiOHOSDisableWindowDecor(int64_t id); 99 FFI_EXPORT int32_t FfiOHOSSetShowOnLockScreen(int64_t id, bool showOnLockScreen); 100 } 101 102 #endif 103