1 /* 2 * Copyright (c) 2021-2023 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 16 #ifndef FOUNDATION_ACE_INTERFACE_INNERKITS_ACE_UI_CONTENT_H 17 #define FOUNDATION_ACE_INTERFACE_INNERKITS_ACE_UI_CONTENT_H 18 19 #include <functional> 20 #include <map> 21 #include <memory> 22 #include <refbase.h> 23 #include <string> 24 #include <vector> 25 #include <list> 26 27 #include "arkui_rect.h" 28 #include "macros.h" 29 #include "modal_ui_extension_config.h" 30 #include "popup_ui_extension_config.h" 31 #include "serialized_gesture.h" 32 #include "serializeable_object.h" 33 #include "viewport_config.h" 34 #include "constants.h" 35 namespace OHOS { 36 37 namespace AbilityRuntime { 38 class Context; 39 } // namespace AbilityRuntime 40 41 namespace AppExecFwk { 42 class Configuration; 43 class Ability; 44 class FormAshmem; 45 } // namespace AppExecFwk 46 47 namespace Accessibility { 48 class AccessibilityElementInfo; 49 } 50 namespace Rosen { 51 class Window; 52 struct Rect; 53 enum class WindowSizeChangeReason : uint32_t; 54 enum class WindowMode : uint32_t; 55 enum class MaximizeMode : uint32_t; 56 class RSNode; 57 class RSSurfaceNode; 58 class RSTransaction; 59 class Transform; 60 enum class AvoidAreaType : uint32_t; 61 class AvoidArea; 62 struct SingleHandTransform; 63 } // namespace Rosen 64 65 namespace AAFwk { 66 class Want; 67 } // namespace AAFwk 68 69 namespace MMI { 70 class PointerEvent; 71 class KeyEvent; 72 class AxisEvent; 73 } // namespace MMI 74 75 namespace Media { 76 class PixelMap; 77 } // namespace Media 78 79 namespace AbilityBase { 80 struct ViewData; 81 enum class AutoFillType; 82 } // namespace AbilityBase 83 84 class RefBase; 85 class Parcelable; 86 class IRemoteObject; 87 88 } // namespace OHOS 89 90 namespace OHOS::Ace { 91 struct AccessibilityParentRectInfo; 92 } // namespace OHOS::Ace 93 94 class NativeEngine; 95 typedef struct napi_value__* napi_value; 96 97 namespace OHOS::Ace { 98 class ACE_FORCE_EXPORT UIContent { 99 public: 100 static std::unique_ptr<UIContent> Create( 101 OHOS::AbilityRuntime::Context* context, NativeEngine* runtime, bool isFormRender); 102 static std::unique_ptr<UIContent> Create(OHOS::AbilityRuntime::Context* context, NativeEngine* runtime); 103 static std::unique_ptr<UIContent> Create(OHOS::AppExecFwk::Ability* ability); 104 static void ShowDumpHelp(std::vector<std::string>& info); 105 static UIContent* GetUIContent(int32_t instanceId); 106 static std::string GetCurrentUIStackInfo(); 107 108 virtual ~UIContent() = default; 109 110 // UI content life-cycles 111 virtual UIContentErrorCode Initialize(OHOS::Rosen::Window* window, const std::string& url, napi_value storage) = 0; 112 virtual UIContentErrorCode Initialize( 113 OHOS::Rosen::Window* window, const std::shared_ptr<std::vector<uint8_t>>& content, napi_value storage) = 0; Initialize(OHOS::Rosen::Window * window,const std::shared_ptr<std::vector<uint8_t>> & content,napi_value storage,const std::string & contentName)114 virtual UIContentErrorCode Initialize(OHOS::Rosen::Window* window, 115 const std::shared_ptr<std::vector<uint8_t>>& content, napi_value storage, const std::string& contentName) 116 { 117 return UIContentErrorCode::NO_ERRORS; 118 } 119 virtual UIContentErrorCode InitializeByName(OHOS::Rosen::Window *window, const std::string &name, 120 napi_value storage) = 0; InitializeDynamic(const std::string & hapPath,const std::string & abcPath,const std::string & entryPoint,const std::vector<std::string> & registerComponents)121 virtual void InitializeDynamic(const std::string& hapPath, const std::string& abcPath, 122 const std::string& entryPoint, const std::vector<std::string>& registerComponents) {}; 123 124 // UIExtensionAbility initialize for focusWindow ID 125 virtual void Initialize( 126 OHOS::Rosen::Window* window, const std::string& url, napi_value storage, uint32_t focusWindowID) = 0; 127 virtual void Foreground() = 0; 128 virtual void Background() = 0; 129 virtual void Focus() = 0; 130 virtual void UnFocus() = 0; 131 virtual void Destroy() = 0; 132 virtual void OnNewWant(const OHOS::AAFwk::Want& want) = 0; 133 134 // restore 135 virtual UIContentErrorCode Restore( 136 OHOS::Rosen::Window* window, const std::string& contentInfo, napi_value storage, 137 ContentInfoType type = ContentInfoType::CONTINUATION) = 0; 138 virtual std::string GetContentInfo(ContentInfoType type = ContentInfoType::CONTINUATION) const = 0; 139 virtual void DestroyUIDirector() = 0; 140 141 // UI content event process 142 virtual bool ProcessBackPressed() = 0; 143 virtual bool ProcessPointerEvent(const std::shared_ptr<OHOS::MMI::PointerEvent>& pointerEvent) = 0; 144 virtual bool ProcessKeyEvent(const std::shared_ptr<OHOS::MMI::KeyEvent>& keyEvent, bool isPreIme = false) = 0; 145 virtual bool ProcessAxisEvent(const std::shared_ptr<OHOS::MMI::AxisEvent>& axisEvent) = 0; 146 virtual bool ProcessVsyncEvent(uint64_t timeStampNanos) = 0; 147 virtual void SetIsFocusActive(bool isFocusActive) = 0; 148 virtual void UpdateConfiguration(const std::shared_ptr<OHOS::AppExecFwk::Configuration>& config) = 0; 149 virtual void UpdateViewportConfig(const ViewportConfig& config, OHOS::Rosen::WindowSizeChangeReason reason, 150 const std::shared_ptr<OHOS::Rosen::RSTransaction>& rsTransaction = nullptr, 151 const std::map<OHOS::Rosen::AvoidAreaType, OHOS::Rosen::AvoidArea>& avoidAreas = {}) {}; 152 virtual void UpdateWindowMode(OHOS::Rosen::WindowMode mode, bool hasDeco = true) = 0; 153 virtual void HideWindowTitleButton(bool hideSplit, bool hideMaximize, bool hideMinimize, bool hideClose) = 0; 154 virtual void SetIgnoreViewSafeArea(bool ignoreViewSafeArea) = 0; UpdateMaximizeMode(OHOS::Rosen::MaximizeMode mode)155 virtual void UpdateMaximizeMode(OHOS::Rosen::MaximizeMode mode) {}; ProcessFormVisibleChange(bool isVisible)156 virtual void ProcessFormVisibleChange(bool isVisible) {}; NotifyRotationAnimationEnd()157 virtual void NotifyRotationAnimationEnd() {}; 158 159 // only vaild in ContainerModalPatternEnhance 160 virtual void UpdateTitleInTargetPos(bool isShow, int32_t height) = 0; 161 162 // Window color 163 virtual uint32_t GetBackgroundColor() = 0; 164 virtual void SetBackgroundColor(uint32_t color) = 0; SetUIContentType(UIContentType uIContentType)165 virtual void SetUIContentType(UIContentType uIContentType) {}; 166 167 // Judge whether window need soft keyboard or not NeedSoftKeyboard()168 virtual bool NeedSoftKeyboard() 169 { 170 return false; 171 } 172 ChangeSensitiveNodes(bool isSensitive)173 virtual void ChangeSensitiveNodes(bool isSensitive) {} 174 SetOnWindowFocused(const std::function<void ()> & callback)175 virtual void SetOnWindowFocused(const std::function<void()>& callback) {}; 176 177 virtual void DumpInfo(const std::vector<std::string>& params, std::vector<std::string>& info) = 0; 178 179 // Set UIContent callback for custom window animation 180 virtual void SetNextFrameLayoutCallback(std::function<void()>&& callback) = 0; 181 182 // Receive memory level notification 183 virtual void NotifyMemoryLevel(int32_t level) = 0; 184 185 virtual void SetAppWindowTitle(const std::string& title) = 0; 186 virtual void SetAppWindowIcon(const std::shared_ptr<Media::PixelMap>& pixelMap) = 0; 187 188 // ArkTS Form 189 virtual void PreInitializeForm(OHOS::Rosen::Window* window, const std::string& url, napi_value storage) = 0; 190 virtual void RunFormPage() = 0; 191 virtual std::shared_ptr<Rosen::RSSurfaceNode> GetFormRootNode() = 0; 192 193 virtual void UpdateFormData(const std::string& data) = 0; UpdateFormSharedImage(const std::map<std::string,sptr<OHOS::AppExecFwk::FormAshmem>> & imageDataMap)194 virtual void UpdateFormSharedImage(const std::map<std::string, sptr<OHOS::AppExecFwk::FormAshmem>>& imageDataMap) {} 195 196 virtual void SetFormWidth(const float width) = 0; 197 virtual void SetFormHeight(const float height) = 0; 198 virtual float GetFormWidth() = 0; 199 virtual float GetFormHeight() = 0; ReloadForm(const std::string & url)200 virtual void ReloadForm(const std::string& url) {}; 201 virtual void OnFormSurfaceChange(float width, float height, 202 OHOS::Rosen::WindowSizeChangeReason type = static_cast<OHOS::Rosen::WindowSizeChangeReason>(0), 203 const std::shared_ptr<Rosen::RSTransaction>& rsTransaction = nullptr) {} 204 SetFormBackgroundColor(const std::string & color)205 virtual void SetFormBackgroundColor(const std::string& color) {}; SetFontScaleFollowSystem(const bool fontScaleFollowSystem)206 virtual void SetFontScaleFollowSystem(const bool fontScaleFollowSystem) {}; SetFormRenderingMode(int8_t renderMode)207 virtual void SetFormRenderingMode(int8_t renderMode) {}; 208 SetActionEventHandler(std::function<void (const std::string &)> && actionCallback)209 virtual void SetActionEventHandler(std::function<void(const std::string&)>&& actionCallback) {}; SetErrorEventHandler(std::function<void (const std::string &,const std::string &)> && errorCallback)210 virtual void SetErrorEventHandler(std::function<void(const std::string&, const std::string&)>&& errorCallback) {}; SetFormLinkInfoUpdateHandler(std::function<void (const std::vector<std::string> &)> && callback)211 virtual void SetFormLinkInfoUpdateHandler(std::function<void(const std::vector<std::string>&)>&& callback) {}; RegisterAccessibilityChildTree(uint32_t parentWindowId,int32_t parentTreeId,int64_t parentElementId)212 virtual void RegisterAccessibilityChildTree( 213 uint32_t parentWindowId, int32_t parentTreeId, int64_t parentElementId) {}; SetAccessibilityGetParentRectHandler(std::function<void (int32_t &,int32_t &)> && callback)214 virtual void SetAccessibilityGetParentRectHandler(std::function<void(int32_t&, int32_t&)>&& callback) {}; SetAccessibilityGetParentRectHandler(std::function<void (AccessibilityParentRectInfo &)> && callback)215 virtual void SetAccessibilityGetParentRectHandler(std::function<void(AccessibilityParentRectInfo&)>&& callback) {}; DeregisterAccessibilityChildTree()216 virtual void DeregisterAccessibilityChildTree() {}; AccessibilityDumpChildInfo(const std::vector<std::string> & params,std::vector<std::string> & info)217 virtual void AccessibilityDumpChildInfo(const std::vector<std::string>& params, std::vector<std::string>& info) {}; 218 219 // for distribute UI source DumpUITree()220 virtual SerializeableObjectArray DumpUITree() 221 { 222 return SerializeableObjectArray(); 223 }; SubscribeUpdate(const std::function<void (int32_t,SerializeableObjectArray &)> & onUpdate)224 virtual void SubscribeUpdate(const std::function<void(int32_t, SerializeableObjectArray&)>& onUpdate) {} UnSubscribeUpdate()225 virtual void UnSubscribeUpdate() {} ProcessSerializeableInputEvent(const SerializeableObjectArray & array)226 virtual void ProcessSerializeableInputEvent(const SerializeableObjectArray& array) {} 227 // for distribute UI sink RestoreUITree(const SerializeableObjectArray & array)228 virtual void RestoreUITree(const SerializeableObjectArray& array) {} UpdateUITree(const SerializeableObjectArray & array)229 virtual void UpdateUITree(const SerializeableObjectArray& array) {} SubscribeInputEventProcess(const std::function<void (SerializeableObjectArray &)> & onEvent)230 virtual void SubscribeInputEventProcess(const std::function<void(SerializeableObjectArray&)>& onEvent) {} UnSubscribeInputEventProcess()231 virtual void UnSubscribeInputEventProcess() {} 232 GetResourcePaths(std::vector<std::string> & resourcesPaths,std::string & assetRootPath,std::vector<std::string> & assetBasePaths,std::string & resFolderName)233 virtual void GetResourcePaths(std::vector<std::string>& resourcesPaths, std::string& assetRootPath, 234 std::vector<std::string>& assetBasePaths, std::string& resFolderName) {}; SetResourcePaths(const std::vector<std::string> & resourcesPaths,const std::string & assetRootPath,const std::vector<std::string> & assetBasePaths)235 virtual void SetResourcePaths(const std::vector<std::string>& resourcesPaths, const std::string& assetRootPath, 236 const std::vector<std::string>& assetBasePaths) {}; 237 UpdateResource()238 virtual void UpdateResource() {} 239 GetUINapiContext()240 virtual napi_value GetUINapiContext() 241 { 242 napi_value result = nullptr; 243 return result; 244 } 245 246 /** 247 * @description: Create a full-window modal UIExtensionComponent. 248 * @param want Indicates the want of UIExtensionAbility. 249 * @param callbacks Indicates the UIExtensionComponent callbacks. 250 * @param config Indicates the Modal page configs. 251 * @return The return value is the ID of the session held by the UIExtensionComponent 252 * if creation is not successful, it returns 0 by default. 253 */ 254 virtual int32_t CreateModalUIExtension( 255 const AAFwk::Want& want, const ModalUIExtensionCallbacks& callbacks, const ModalUIExtensionConfig& config) = 0; 256 257 /** 258 * @description: Close the full-window modal. 259 * @param sessionId Indicates the sessionId of UIExtensionAbility. 260 * If the sessionId is 0, refuse to close 261 */ 262 virtual void CloseModalUIExtension(int32_t sessionId) = 0; 263 UpdateModalUIExtensionConfig(int32_t sessionId,const ModalUIExtensionAllowedUpdateConfig & config)264 virtual void UpdateModalUIExtensionConfig( 265 int32_t sessionId, const ModalUIExtensionAllowedUpdateConfig& config) {}; 266 267 /** 268 * @description: Set parent ability token. 269 * @param token ability token. 270 */ 271 virtual void SetParentToken(sptr<IRemoteObject> token); 272 273 /** 274 * @description: Get parent ability token. 275 * @return return parent ability token. 276 */ 277 virtual sptr<IRemoteObject> GetParentToken(); 278 DumpViewData(AbilityBase::ViewData & viewData,AbilityBase::AutoFillType & type)279 virtual bool DumpViewData(AbilityBase::ViewData& viewData, AbilityBase::AutoFillType& type) 280 { 281 return false; 282 } 283 CheckNeedAutoSave()284 virtual bool CheckNeedAutoSave() 285 { 286 return false; 287 } 288 GetInstanceId()289 virtual int32_t GetInstanceId() 290 { 291 return -1; 292 } 293 294 /** 295 * @description: Recycle form. 296 * @return return Json string of status data of ArkTS form. 297 */ RecycleForm()298 virtual std::string RecycleForm() 299 { 300 return ""; 301 } 302 303 /** 304 * @description: Recover form. 305 * @param statusData Indicates json string of status data of ArkTS form. 306 */ RecoverForm(const std::string & statusData)307 virtual void RecoverForm(const std::string &statusData) {} 308 SetContainerModalTitleVisible(bool customTitleSettedShow,bool floatingTitleSettedShow)309 virtual void SetContainerModalTitleVisible(bool customTitleSettedShow, bool floatingTitleSettedShow) {} 310 SetContainerModalTitleHeight(int height)311 virtual void SetContainerModalTitleHeight(int height) {} 312 GetContainerModalTitleHeight()313 virtual int32_t GetContainerModalTitleHeight() 314 { 315 return -1; 316 } 317 GetContainerModalButtonsRect(Rosen::Rect & containerModal,Rosen::Rect & buttons)318 virtual bool GetContainerModalButtonsRect(Rosen::Rect& containerModal, Rosen::Rect& buttons) 319 { 320 return false; 321 } 322 SubscribeContainerModalButtonsRectChange(std::function<void (Rosen::Rect & containerModal,Rosen::Rect & buttons)> && callback)323 virtual void SubscribeContainerModalButtonsRectChange( 324 std::function<void(Rosen::Rect& containerModal, Rosen::Rect& buttons)>&& callback) {} 325 SetUIExtensionSubWindow(bool isUIExtensionSubWindow)326 virtual void SetUIExtensionSubWindow(bool isUIExtensionSubWindow) {} 327 IsUIExtensionSubWindow()328 virtual bool IsUIExtensionSubWindow() 329 { 330 return false; 331 } 332 SetUIExtensionAbilityProcess(bool isUIExtensionAbilityProcess)333 virtual void SetUIExtensionAbilityProcess(bool isUIExtensionAbilityProcess) {} 334 IsUIExtensionAbilityProcess()335 virtual bool IsUIExtensionAbilityProcess() 336 { 337 return false; 338 } 339 SetUIExtensionAbilityHost(bool isUIExtensionAbilityHost)340 virtual void SetUIExtensionAbilityHost(bool isUIExtensionAbilityHost) {} 341 IsUIExtensionAbilityHost()342 virtual bool IsUIExtensionAbilityHost() 343 { 344 return false; 345 } 346 347 #ifndef PREVIEW SearchElementInfoByAccessibilityId(int64_t elementId,int32_t mode,int64_t baseParent,std::list<Accessibility::AccessibilityElementInfo> & output)348 virtual void SearchElementInfoByAccessibilityId( 349 int64_t elementId, int32_t mode, 350 int64_t baseParent, std::list<Accessibility::AccessibilityElementInfo>& output) {}; 351 SearchElementInfosByText(int64_t elementId,const std::string & text,int64_t baseParent,std::list<Accessibility::AccessibilityElementInfo> & output)352 virtual void SearchElementInfosByText( 353 int64_t elementId, const std::string& text, int64_t baseParent, 354 std::list<Accessibility::AccessibilityElementInfo>& output) {}; 355 FindFocusedElementInfo(int64_t elementId,int32_t focusType,int64_t baseParent,Accessibility::AccessibilityElementInfo & output)356 virtual void FindFocusedElementInfo( 357 int64_t elementId, int32_t focusType, 358 int64_t baseParent, Accessibility::AccessibilityElementInfo& output) {}; 359 FocusMoveSearch(int64_t elementId,int32_t direction,int64_t baseParent,Accessibility::AccessibilityElementInfo & output)360 virtual void FocusMoveSearch( 361 int64_t elementId, int32_t direction, 362 int64_t baseParent, Accessibility::AccessibilityElementInfo& output) {}; 363 NotifyExecuteAction(int64_t elementId,const std::map<std::string,std::string> & actionArguments,int32_t action,int64_t offset)364 virtual bool NotifyExecuteAction(int64_t elementId, const std::map<std::string, std::string>& actionArguments, 365 int32_t action, int64_t offset) 366 { 367 return false; 368 } 369 HandleAccessibilityHoverEvent(float pointX,float pointY,int32_t sourceType,int32_t eventType,int64_t timeMs)370 virtual void HandleAccessibilityHoverEvent(float pointX, float pointY, int32_t sourceType, 371 int32_t eventType, int64_t timeMs) {} 372 #endif 373 374 /** 375 * @description: Set UIContent callback after layout finish. 376 * @param callback callback func. 377 */ SetFrameLayoutFinishCallback(std::function<void ()> && callback)378 virtual void SetFrameLayoutFinishCallback(std::function<void()>&& callback) {}; 379 380 // Current paintSize of window GetAppPaintSize(OHOS::Rosen::Rect & paintrect)381 virtual void GetAppPaintSize(OHOS::Rosen::Rect& paintrect) {}; 382 383 // Get paintSize of window by calculating GetWindowPaintSize(OHOS::Rosen::Rect & paintrect)384 virtual void GetWindowPaintSize(OHOS::Rosen::Rect& paintrect) {}; 385 386 /** 387 * @description: Create a custom popup with UIExtensionComponent. 388 * @param want Indicates the want of UIExtensionAbility. 389 * @param callbacks Indicates the UIExtensionComponent callbacks. 390 * @param config Indicates the custom popup configs. 391 * @return The return value is the ID of the UI node which bind the pupop 392 * if creation is not successful, it returns 0 by default. 393 */ CreateCustomPopupUIExtension(const AAFwk::Want & want,const ModalUIExtensionCallbacks & callbacks,const CustomPopupUIExtensionConfig & config)394 virtual int32_t CreateCustomPopupUIExtension( 395 const AAFwk::Want& want, const ModalUIExtensionCallbacks& callbacks, const CustomPopupUIExtensionConfig& config) 396 { 397 return 0; 398 } 399 400 /** 401 * @description: Destroy the custom popup. 402 * @param config Indicates the ID of the UI node which bind the pupop 403 */ DestroyCustomPopupUIExtension(int32_t nodeId)404 virtual void DestroyCustomPopupUIExtension(int32_t nodeId) {} 405 406 /** 407 * @description: Update the custom popup. 408 * @param config Indicates the custom popup configs. 409 */ UpdateCustomPopupUIExtension(const CustomPopupUIExtensionConfig & config)410 virtual void UpdateCustomPopupUIExtension(const CustomPopupUIExtensionConfig& config) {} 411 GetFormSerializedGesture()412 virtual SerializedGesture GetFormSerializedGesture() 413 { 414 return SerializedGesture(); 415 } 416 ProcessPointerEventWithCallback(const std::shared_ptr<OHOS::MMI::PointerEvent> & pointerEvent,const std::function<void ()> & callback)417 virtual bool ProcessPointerEventWithCallback( 418 const std::shared_ptr<OHOS::MMI::PointerEvent>& pointerEvent, const std::function<void()>& callback) 419 { 420 return true; 421 }; 422 UpdateTransform(const OHOS::Rosen::Transform & transform)423 virtual void UpdateTransform(const OHOS::Rosen::Transform& transform) {}; 424 425 virtual void UpdateDecorVisible(bool visible, bool hasDeco = true) {}; 426 GetOverlayNodePositions()427 virtual std::vector<Ace::RectF> GetOverlayNodePositions() const 428 { 429 return {}; 430 }; 431 RegisterOverlayNodePositionsUpdateCallback(const std::function<void (std::vector<Ace::RectF>)> & callback)432 virtual void RegisterOverlayNodePositionsUpdateCallback( 433 const std::function<void(std::vector<Ace::RectF>)>& callback) const {}; 434 SetContentNodeGrayScale(float grayscale)435 virtual void SetContentNodeGrayScale(float grayscale) {}; 436 SetStatusBarItemColor(uint32_t color)437 virtual void SetStatusBarItemColor(uint32_t color) {}; 438 PreLayout()439 virtual void PreLayout() {}; 440 SetForceSplitEnable(bool isForceSplit,const std::string & homePage)441 virtual void SetForceSplitEnable(bool isForceSplit, const std::string& homePage) {}; 442 GetRemoteObj()443 virtual sptr<IRemoteObject> GetRemoteObj() 444 { 445 return {}; 446 } 447 EnableContainerModalGesture(bool isEnable)448 virtual void EnableContainerModalGesture(bool isEnable) {}; 449 UpdateSingleHandTransform(const OHOS::Rosen::SingleHandTransform & transform)450 virtual void UpdateSingleHandTransform(const OHOS::Rosen::SingleHandTransform& transform) {}; 451 GetContainerFloatingTitleVisible()452 virtual bool GetContainerFloatingTitleVisible() 453 { 454 return false; 455 } 456 GetContainerCustomTitleVisible()457 virtual bool GetContainerCustomTitleVisible() 458 { 459 return false; 460 } 461 GetContainerControlButtonVisible()462 virtual bool GetContainerControlButtonVisible() 463 { 464 return false; 465 } 466 UpdateConfigurationSyncForAll(const std::shared_ptr<OHOS::AppExecFwk::Configuration> & config)467 virtual void UpdateConfigurationSyncForAll(const std::shared_ptr<OHOS::AppExecFwk::Configuration>& config) {} 468 GetRSNodeByStringID(const std::string & stringId)469 virtual std::shared_ptr<Rosen::RSNode> GetRSNodeByStringID(const std::string& stringId) 470 { 471 return nullptr; 472 } 473 SetTopWindowBoundaryByID(const std::string & stringId)474 virtual void SetTopWindowBoundaryByID(const std::string& stringId) {}; 475 }; 476 477 } // namespace OHOS::Ace 478 479 #endif // FOUNDATION_ACE_INTERFACE_INNERKITS_ACE_UI_CONTENT_H 480