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 "frameworks/bridge/declarative_frontend/jsview/models/offscreen_context_model_impl.h"
17
18 #include "frameworks/core/common/container.h"
19 #include "frameworks/core/components/custom_paint/offscreen_canvas.h"
20 #include "frameworks/core/pipeline/pipeline_context.h"
21
22 namespace OHOS::Ace::Framework {
CreateOffscreenPattern(int width,int height)23 RefPtr<AceType> OffscreenContextModelImpl::CreateOffscreenPattern(int width, int height)
24 {
25 auto container = Ace::Container::Current();
26 CHECK_NULL_RETURN(container, nullptr);
27 auto context = AceType::DynamicCast<Ace::PipelineContext>(container->GetPipelineContext());
28 CHECK_NULL_RETURN(context, nullptr);
29 auto offscreenPattern = context->CreateOffscreenCanvas(width, height);
30 return offscreenPattern;
31 }
32 } // namespace OHOS::Ace::NG