1 /* 2 * Copyright (c) 2021-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 "impl_factory.h" 17 18 #include "skia_adapter/skia_impl_factory.h" 19 20 namespace OHOS { 21 namespace Rosen { 22 namespace Drawing { 23 using EngineImplFactory = SkiaImplFactory; 24 CreateCoreCanvasImpl()25std::unique_ptr<CoreCanvasImpl> ImplFactory::CreateCoreCanvasImpl() 26 { 27 return EngineImplFactory::CreateCoreCanvas(); 28 } 29 CreateCoreCanvasImpl(void * rawCanvas)30std::unique_ptr<CoreCanvasImpl> ImplFactory::CreateCoreCanvasImpl(void* rawCanvas) 31 { 32 return EngineImplFactory::CreateCoreCanvas(rawCanvas); 33 } 34 CreateCoreCanvasImpl(int32_t width,int32_t height)35std::unique_ptr<CoreCanvasImpl> ImplFactory::CreateCoreCanvasImpl(int32_t width, int32_t height) 36 { 37 return EngineImplFactory::CreateCoreCanvas(width, height); 38 } 39 CreateDataImpl()40std::unique_ptr<DataImpl> ImplFactory::CreateDataImpl() 41 { 42 return EngineImplFactory::CreateData(); 43 } 44 45 #ifdef ACE_ENABLE_GPU CreateGPUContextImpl()46std::unique_ptr<GPUContextImpl> ImplFactory::CreateGPUContextImpl() 47 { 48 return EngineImplFactory::CreateGPUContext(); 49 } 50 #endif 51 CreateBitmapImpl()52std::unique_ptr<BitmapImpl> ImplFactory::CreateBitmapImpl() 53 { 54 return EngineImplFactory::CreateBitmap(); 55 } 56 CreateImageImpl()57std::unique_ptr<ImageImpl> ImplFactory::CreateImageImpl() 58 { 59 return EngineImplFactory::CreateImage(); 60 } 61 CreateImageImpl(void * rawImage)62std::unique_ptr<ImageImpl> ImplFactory::CreateImageImpl(void* rawImage) 63 { 64 return EngineImplFactory::CreateImage(rawImage); 65 } 66 CreatePictureImpl()67std::unique_ptr<PictureImpl> ImplFactory::CreatePictureImpl() 68 { 69 return EngineImplFactory::CreatePicture(); 70 } 71 CreatePathImpl()72std::unique_ptr<PathImpl> ImplFactory::CreatePathImpl() 73 { 74 return EngineImplFactory::CreatePath(); 75 } 76 CreateColorFilterImpl()77std::unique_ptr<ColorFilterImpl> ImplFactory::CreateColorFilterImpl() 78 { 79 return EngineImplFactory::CreateColorFilter(); 80 } CreateMaskFilterImpl()81std::unique_ptr<MaskFilterImpl> ImplFactory::CreateMaskFilterImpl() 82 { 83 return EngineImplFactory::CreateMaskFilter(); 84 } 85 CreateImageFilterImpl()86std::unique_ptr<ImageFilterImpl> ImplFactory::CreateImageFilterImpl() 87 { 88 return EngineImplFactory::CreateImageFilter(); 89 } 90 CreateShaderEffectImpl()91std::unique_ptr<ShaderEffectImpl> ImplFactory::CreateShaderEffectImpl() 92 { 93 return EngineImplFactory::CreateShaderEffect(); 94 } 95 CreateSurfaceImpl()96std::unique_ptr<SurfaceImpl> ImplFactory::CreateSurfaceImpl() 97 { 98 return EngineImplFactory::CreateSurface(); 99 } 100 CreatePathEffectImpl()101std::unique_ptr<PathEffectImpl> ImplFactory::CreatePathEffectImpl() 102 { 103 return EngineImplFactory::CreatePathEffect(); 104 } 105 CreateColorSpaceImpl()106std::unique_ptr<ColorSpaceImpl> ImplFactory::CreateColorSpaceImpl() 107 { 108 return EngineImplFactory::CreateColorSpace(); 109 } 110 CreateMatrixImpl()111std::unique_ptr<MatrixImpl> ImplFactory::CreateMatrixImpl() 112 { 113 return EngineImplFactory::CreateMatrix(); 114 } 115 CreateMatrix44Impl()116std::unique_ptr<Matrix44Impl> ImplFactory::CreateMatrix44Impl() 117 { 118 return EngineImplFactory::CreateMatrix44(); 119 } 120 CreateCameraImpl()121std::unique_ptr<CameraImpl> ImplFactory::CreateCameraImpl() 122 { 123 return EngineImplFactory::CreateCamera(); 124 } 125 CreateRegionImpl()126std::unique_ptr<RegionImpl> ImplFactory::CreateRegionImpl() 127 { 128 return EngineImplFactory::CreateRegion(); 129 } 130 } // namespace Drawing 131 } // namespace Rosen 132 } // namespace OHOS