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