Support for the macOS platform
[platform/core/uifw/dali-adaptor.git] / dali / internal / window-system / macos / render-surface-factory-mac.h
1 #pragma once
2
3 /*
4  * Copyright (c) 2020 Samsung Electronics Co., Ltd.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  *
18  */
19
20 #include <dali/internal/window-system/common/render-surface-factory.h>
21
22 namespace Dali::Internal::Adaptor
23 {
24
25 class RenderSurfaceFactoryCocoa : public RenderSurfaceFactory
26 {
27 public:
28   std::unique_ptr< WindowRenderSurface > CreateWindowRenderSurface(
29     Dali::PositionSize positionSize,
30     Any surface,
31     bool isTransparent = false
32   ) override;
33
34   std::unique_ptr< PixmapRenderSurface > CreatePixmapRenderSurface(
35     Dali::PositionSize positionSize,
36     Any surface,
37     bool isTransparent = false
38   ) override;
39
40   std::unique_ptr< NativeRenderSurface > CreateNativeRenderSurface(
41     SurfaceSize surfaceSize,
42     Any surface,
43     bool isTransparent = false
44   ) override;
45 };
46
47 } // namespace Dali::Internal::Adaptor