1 #ifndef DALI_INTERNAL_OFFSCREEN_WINDOW_IMPL_TIZEN_H
2 #define DALI_INTERNAL_OFFSCREEN_WINDOW_IMPL_TIZEN_H
5 * Copyright (c) 2020 Samsung Electronics Co., Ltd.
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
22 #include <dali/internal/offscreen/common/offscreen-window-impl.h>
28 class NativeRenderSurface;
29 class TriggerEventInterface;
34 class OffscreenWindowTizen : public Dali::Internal::OffscreenWindow
38 static OffscreenWindowTizen* New( uint16_t width, uint16_t height, Dali::Any surface, bool isTranslucent );
43 * @copydoc Dali::OffscreenWindow::GetLayerCount
45 uint32_t GetLayerCount() const;
48 * @copydoc Dali::OffscreenWindow::GetLayer
50 Dali::Layer GetLayer( uint32_t depth ) const;
53 * @copydoc Dali::OffscreenWindow::GetSize
55 WindowSize GetSize() const;
58 * @copydoc Dali::OffscreenWindow::GetNativeHandle
60 Dali::Any GetNativeHandle() const override;
63 * @brief Initialize the OffscreenWindow
64 * @param[in] isDefaultWindow Whether the OffscreenWindow is a default one or not
66 void Initialize( bool isDefaultWindow );
71 * @copydoc Dali::OffscreenWindow::PostRenderSignal
73 OffscreenWindow::PostRenderSignalType& PostRenderSignal();
77 * This function is called after drawing by dali.
82 * @brief Get the native render surface
83 * @return The render surface
85 NativeRenderSurface* GetNativeRenderSurface() const;
92 * @param[in] width The initial width of the OffscreenWindow
93 * @param[in] height The initial height of the OffscreenWindow
94 * @param[in] surface The tbm surface queue handle
95 * @param[in] isTranslucent Whether the OffscreenWindow is translucent or not
97 OffscreenWindowTizen( uint16_t width, uint16_t height, Dali::Any surface, bool isTranslucent );
102 virtual ~OffscreenWindowTizen();
105 OffscreenWindowTizen( const OffscreenWindowTizen& );
106 OffscreenWindowTizen& operator=( OffscreenWindowTizen& );
109 * @brief Initialize the OffscreenWindow (for internal use)
115 std::unique_ptr< TriggerEventInterface > mRenderNotification;
116 PostRenderSignalType mPostRenderSignal;
120 } // namespace Internal
124 #endif // DALI_INTERNAL_OFFSCREEN_WINDOW_IMPL_TIZEN_H