• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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