1 /*
2  * Copyright (c) 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 #include "window_model.h"
17 
18 #include "viewport_config.h"
19 
20 namespace OHOS {
21 namespace Previewer {
22 
PreviewerWindow()23 PreviewerWindow::PreviewerWindow()
24 {
25 }
26 
GetInstance()27 PreviewerWindow& PreviewerWindow::GetInstance()
28 {
29     static PreviewerWindow instance;
30     return instance;
31 }
32 
TransOrientation(Previewer::Orientation orientation)33 Rosen::Orientation PreviewerWindow::TransOrientation(Previewer::Orientation orientation)
34 {
35     if (orientation == Previewer::Orientation::PORTRAIT) {
36         return Rosen::Orientation::VERTICAL;
37     } else if (orientation == Previewer::Orientation::LANDSCAPE) {
38         return Rosen::Orientation::HORIZONTAL;
39     }
40 
41     return Rosen::Orientation::UNSPECIFIED;
42 }
43 
SetWindowParams(const PreviewerWindowModel & windowModel)44 void PreviewerWindow::SetWindowParams(const PreviewerWindowModel& windowModel)
45 {
46     windowModel_ = windowModel;
47 }
48 
GetWindowParams()49 PreviewerWindowModel& PreviewerWindow::GetWindowParams()
50 {
51     return windowModel_;
52 }
53 
SetWindowObject(const Rosen::Window * window)54 void PreviewerWindow::SetWindowObject(const Rosen::Window* window)
55 {
56     window_ = const_cast<Rosen::Window*>(window);
57 }
58 
GetWindowObject()59 Rosen::Window* PreviewerWindow::GetWindowObject()
60 {
61     return window_;
62 }
63 
64 } // namespace Previewer
65 } // namespace OHOS