• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2023-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 OHOS_PICTURE_IN_PICTURE_INTERFACE_H
17 #define OHOS_PICTURE_IN_PICTURE_INTERFACE_H
18 
19 #include "napi/native_api.h"
20 #include "wm_common.h"
21 
22 namespace OHOS {
23 namespace Rosen {
24 /**
25  * @class IPiPLifeCycle
26  *
27  * @brief Pip lifecycle listener.
28  */
29 class IPiPLifeCycle : virtual public RefBase {
30 public:
OnPreparePictureInPictureStart()31     virtual void OnPreparePictureInPictureStart() {}
OnPictureInPictureStart()32     virtual void OnPictureInPictureStart() {}
OnPreparePictureInPictureStop()33     virtual void OnPreparePictureInPictureStop() {}
OnPictureInPictureStop()34     virtual void OnPictureInPictureStop() {}
OnPictureInPictureOperationError(int32_t errorCode)35     virtual void OnPictureInPictureOperationError(int32_t errorCode) {}
OnRestoreUserInterface()36     virtual void OnRestoreUserInterface() {}
37 
38     // native callback
OnPreparePictureInPictureStart(uint32_t controllerId)39     virtual void OnPreparePictureInPictureStart(uint32_t controllerId) {}
OnPictureInPictureStart(uint32_t controllerId)40     virtual void OnPictureInPictureStart(uint32_t controllerId) {}
OnPreparePictureInPictureStop(uint32_t controllerId)41     virtual void OnPreparePictureInPictureStop(uint32_t controllerId) {}
OnPictureInPictureStop(uint32_t controllerId)42     virtual void OnPictureInPictureStop(uint32_t controllerId) {}
OnPictureInPictureOperationError(uint32_t controllerId,int32_t errorCode)43     virtual void OnPictureInPictureOperationError(uint32_t controllerId, int32_t errorCode) {}
OnRestoreUserInterface(uint32_t controllerId)44     virtual void OnRestoreUserInterface(uint32_t controllerId) {}
45 };
46 
47 /**
48  * @class IPiPActionObserver
49  *
50  * @brief Pip action observer.
51  */
52 class IPiPActionObserver : virtual public RefBase {
53 public:
OnActionEvent(const std::string & name,int32_t status)54     virtual void OnActionEvent(const std::string& name, int32_t status) {}
55 };
56 
57 /**
58  * @class IPiPControlObserver
59  *
60  * @brief Pip control observer.
61  */
62 class IPiPControlObserver : virtual public RefBase {
63 public:
OnControlEvent(PiPControlType controlType,PiPControlStatus status)64     virtual void OnControlEvent(PiPControlType controlType, PiPControlStatus status) {}
65 
66     // native callback
OnControlEvent(uint32_t controllerId,PiPControlType controlType,PiPControlStatus status)67     virtual void OnControlEvent(uint32_t controllerId, PiPControlType controlType, PiPControlStatus status) {}
68 };
69 
70 /**
71  * @class IPiPControlObserver
72  *
73  * @brief Pip control observer.
74  */
75 class IPiPWindowSize : virtual public RefBase {
76 public:
OnPipSizeChange(const PiPWindowSize & size)77     virtual void OnPipSizeChange(const PiPWindowSize& size) {}
78 
79     // native callback
OnPipSizeChange(uint32_t controllerId,const PiPWindowSize & size)80     virtual void OnPipSizeChange(uint32_t controllerId, const PiPWindowSize& size) {}
81 };
82 
83 /**
84  * @class IPiPTypeNodeObserver
85  *
86  * @brief Pip typeNode observer.
87  */
88 class IPiPTypeNodeObserver : virtual public RefBase {
89 public:
OnPipTypeNodeChange(const napi_ref nodeRef)90     virtual void OnPipTypeNodeChange(const napi_ref nodeRef) {}
91 };
92 
93 class IPiPStartObserver : virtual public RefBase {
94 public:
95     // native callback
OnPipStart(uint32_t controllerId,uint8_t requestId,uint64_t surfaceId)96     virtual void OnPipStart(uint32_t controllerId, uint8_t requestId, uint64_t surfaceId) {}
97 };
98 } // namespace Rosen
99 } // namespace OHOS
100 #endif //OHOS_PICTURE_IN_PICTURE_INTERFACE_H
101