1 /*
2  * Copyright (C) 2024 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 #include "picture_native_impl.h"
16 #include "picture.h"
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
OH_PictureNative(std::shared_ptr<OHOS::Media::Picture> picture)22 OH_PictureNative::OH_PictureNative(std::shared_ptr<OHOS::Media::Picture> picture)
23 {
24     picture_ = picture;
25 }
26 
OH_PictureNative(std::shared_ptr<OHOS::Media::PixelMap> pixelmap)27 OH_PictureNative::OH_PictureNative(std::shared_ptr<OHOS::Media::PixelMap> pixelmap)
28 {
29     if (pixelmap == nullptr) {
30         picture_ = nullptr;
31         return;
32     }
33     auto pictureTmp = OHOS::Media::Picture::Create(pixelmap);
34     picture_ = std::move(pictureTmp);
35 }
36 
GetInnerPicture()37 std::shared_ptr<OHOS::Media::Picture> OH_PictureNative::GetInnerPicture()
38 {
39     return picture_;
40 }
41 
~OH_PictureNative()42 OH_PictureNative::~OH_PictureNative() {}
43 
OH_AuxiliaryPictureNative(std::shared_ptr<OHOS::Media::AuxiliaryPicture> auxiliaryPicture)44 OH_AuxiliaryPictureNative::OH_AuxiliaryPictureNative(std::shared_ptr<OHOS::Media::AuxiliaryPicture> auxiliaryPicture)
45 {
46     auxiliaryPicture_ = auxiliaryPicture;
47 }
48 
OH_AuxiliaryPictureNative(std::shared_ptr<OHOS::Media::PixelMap> & content,OHOS::Media::AuxiliaryPictureType type,OHOS::Media::Size size)49 OH_AuxiliaryPictureNative::OH_AuxiliaryPictureNative(std::shared_ptr<OHOS::Media::PixelMap> &content,
50     OHOS::Media::AuxiliaryPictureType type, OHOS::Media::Size size)
51 {
52     auto auxiliaryPictureTmp = OHOS::Media::AuxiliaryPicture::Create(content, type, size);
53     auxiliaryPicture_ = std::move(auxiliaryPictureTmp);
54 }
55 
GetInnerAuxiliaryPicture()56 std::shared_ptr<OHOS::Media::AuxiliaryPicture> OH_AuxiliaryPictureNative::GetInnerAuxiliaryPicture()
57 {
58     return auxiliaryPicture_;
59 }
60 
~OH_AuxiliaryPictureNative()61 OH_AuxiliaryPictureNative::~OH_AuxiliaryPictureNative() {}
62 
OH_AuxiliaryPictureInfo()63 OH_AuxiliaryPictureInfo::OH_AuxiliaryPictureInfo()
64 {
65     auxiliaryPictureInfo_ = std::make_shared<OHOS::Media::AuxiliaryPictureInfo>();
66 }
67 
OH_AuxiliaryPictureInfo(OHOS::Media::AuxiliaryPictureInfo const & auxiliaryPictureInfo)68 OH_AuxiliaryPictureInfo::OH_AuxiliaryPictureInfo(OHOS::Media::AuxiliaryPictureInfo const &auxiliaryPictureInfo)
69 {
70     auxiliaryPictureInfo_ = std::make_shared<OHOS::Media::AuxiliaryPictureInfo>(auxiliaryPictureInfo);
71 }
72 
GetInnerAuxiliaryPictureInfo()73 std::shared_ptr<OHOS::Media::AuxiliaryPictureInfo> OH_AuxiliaryPictureInfo::GetInnerAuxiliaryPictureInfo()
74 {
75     return auxiliaryPictureInfo_;
76 }
77 
~OH_AuxiliaryPictureInfo()78 OH_AuxiliaryPictureInfo::~OH_AuxiliaryPictureInfo() {}
79 
80 #ifdef __cplusplus
81 };
82 #endif