• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 #ifndef FOUNDATION_ACE_FRAMEWORKS_CORE_COMPONENTS_NG_PATTERN_CANVAS_RENDERER_CANVAS_RENDERER_MODEL_NG_H
17 #define FOUNDATION_ACE_FRAMEWORKS_CORE_COMPONENTS_NG_PATTERN_CANVAS_RENDERER_CANVAS_RENDERER_MODEL_NG_H
18 
19 #include "core/components_ng/pattern/canvas_renderer/canvas_renderer_model.h"
20 #include "frameworks/base/utils/macros.h"
21 
22 namespace OHOS::Ace::NG {
23 class ACE_EXPORT CanvasRendererModelNG : public OHOS::Ace::CanvasRendererModel {
24 public:
25     void SetFillText(const BaseInfo& baseInfo, const FillTextInfo& fillTextInfo) override;
26     void SetStrokeText(const BaseInfo& baseInfo, const FillTextInfo& fillTextInfo) override;
27     void SetAntiAlias(const BaseInfo& baseInfo) override;
28     void SetFontWeight(const BaseInfo& baseInfo, const FontWeight& weight) override;
29     void SetFontStyle(const BaseInfo& baseInfo, const FontStyle& fontStyle) override;
30     void SetFontFamilies(const BaseInfo& baseInfo, const std::vector<std::string>& families) override;
31     void SetFontSize(const BaseInfo& baseInfo, const Dimension& size) override;
32     std::vector<double> GetLineDash(const BaseInfo& baseInfo) override;
33     void SetFillGradient(const BaseInfo& baseInfo, const Ace::Gradient& gradient) override;
34     void SetFillPattern(const BaseInfo& baseInfo, const std::shared_ptr<Ace::Pattern>& pattern) override;
35     void SetFillColor(const BaseInfo& baseInfo, const Color& color, bool colorFlag) override;
36     void SetStrokeGradient(const BaseInfo& baseInfo, const Ace::Gradient& gradient) override;
37     void SetStrokePattern(const BaseInfo& baseInfo, const std::shared_ptr<Ace::Pattern>& pattern) override;
38     void SetStrokeColor(const BaseInfo& baseInfo, const Color& color, bool colorFlag) override;
39     void DrawImage(const BaseInfo& baseInfo, const ImageInfo& imageInfo) override;
40     void PutImageData(const BaseInfo& baseInfo, const ImageData& imageData) override;
41     void CloseImageBitmap(const BaseInfo& baseInfo, const std::string& src) override;
42     std::unique_ptr<ImageData> GetImageData(const BaseInfo& baseInfo, const ImageSize& imageSize) override;
43     void DrawPixelMap(const BaseInfo& baseInfo, const ImageInfo& imageInfo) override;
44     void SetFilterParam(const BaseInfo& baseInfo, const std::string& src) override;
45     void SetTextDirection(const BaseInfo& baseInfo, const TextDirection& direction) override;
46     std::string GetJsonData(const BaseInfo& baseInfo, const std::string& path) override;
47     std::string ToDataURL(const BaseInfo& baseInfo, const std::string& dataUrl, double quality) override;
48     void SetLineCap(const BaseInfo& baseInfo, const LineCapStyle& lineCap) override;
49     void SetLineJoin(const BaseInfo& baseInfo, const LineJoinStyle& lineJoin) override;
50     void SetMiterLimit(const BaseInfo& baseInfo, double limit) override;
51     void SetLineWidth(const BaseInfo& baseInfo, double lineWidth) override;
52     void SetGlobalAlpha(const BaseInfo& baseInfo, double alpha) override;
53     void SetCompositeType(const BaseInfo& baseInfo, const CompositeOperation& type) override;
54     void SetLineDashOffset(const BaseInfo& baseInfo, double lineDashOffset) override;
55     void SetShadowBlur(const BaseInfo& baseInfo, double blur) override;
56     void SetShadowColor(const BaseInfo& baseInfo, const Color& color) override;
57     void SetShadowOffsetX(const BaseInfo& baseInfo, double offsetX) override;
58     void SetShadowOffsetY(const BaseInfo& baseInfo, double offsetY) override;
59     void SetSmoothingEnabled(const BaseInfo& baseInfo, bool enabled) override;
60     void SetSmoothingQuality(const BaseInfo& baseInfo, const std::string& quality) override;
61     void MoveTo(const BaseInfo& baseInfo, double x, double y) override;
62     void LineTo(const BaseInfo& baseInfo, double x, double y) override;
63     void BezierCurveTo(const BaseInfo& baseInfo, const BezierCurveParam& param) override;
64     void QuadraticCurveTo(const BaseInfo& baseInfo, const QuadraticCurveParam& param) override;
65     void ArcTo(const BaseInfo& baseInfo, const ArcToParam& param) override;
66     void Arc(const BaseInfo& baseInfo, const ArcParam& param) override;
67     void Ellipse(const BaseInfo& baseInfo, const EllipseParam& param) override;
68     void SetFillRuleForPath(const BaseInfo& baseInfo, const CanvasFillRule& fillRule) override;
69     void SetFillRuleForPath2D(const BaseInfo& baseInfo, const CanvasFillRule& fillRule,
70         const RefPtr<CanvasPath2D>& path) override;
71     void SetStrokeRuleForPath2D(const BaseInfo& baseInfo, const CanvasFillRule& fillRule,
72         const RefPtr<CanvasPath2D>& path) override;
73     void SetStrokeRuleForPath(const BaseInfo& baseInfo, const CanvasFillRule& fillRule) override;
74     void SetClipRuleForPath(const BaseInfo& baseInfo, const CanvasFillRule& fillRule) override;
75     void SetClipRuleForPath2D(const BaseInfo& baseInfo, const CanvasFillRule& fillRule,
76         const RefPtr<CanvasPath2D>& path) override;
77     void AddRect(const BaseInfo& baseInfo, const Rect& rect) override;
78     void BeginPath(const BaseInfo& baseInfo) override;
79     void ClosePath(const BaseInfo& baseInfo) override;
80     void Restore(const BaseInfo& baseInfo) override;
81     void CanvasRendererSave(const BaseInfo& baseInfo) override;
82     void CanvasRendererRotate(const BaseInfo& baseInfo, double angle) override;
83     void CanvasRendererScale(const BaseInfo& baseInfo, double x, double y) override;
84     void SetTransform(const BaseInfo& baseInfo, TransformParam& param, bool lengthFlag) override;
85     void ResetTransform(const BaseInfo& baseInfo) override;
86     void Transform(const BaseInfo& baseInfo, const TransformParam& param) override;
87     void Translate(const BaseInfo& baseInfo, double x, double y) override;
88     void SetLineDash(const BaseInfo& baseInfo, const std::vector<double>& lineDash) override;
89     void SetTextAlign(const BaseInfo& baseInfo, const TextAlign& align) override;
90     void SetTextBaseline(const BaseInfo& baseInfo, const TextBaseline& baseline) override;
91     double GetMeasureTextWidth(const BaseInfo& baseInfo, const std::string& text) override;
92     double GetMeasureTextHeight(const BaseInfo& baseInfo, const std::string& text) override;
93     void FillRect(const BaseInfo& baseInfo, const Rect& rect) override;
94     void StrokeRect(const BaseInfo& baseInfo, const Rect& rect) override;
95     void ClearRect(const BaseInfo& baseInfo, const Rect& rect) override;
96     TransformParam GetTransform(const BaseInfo& baseInfo) override;
97     RefPtr<Ace::PixelMap> GetPixelMap(const BaseInfo& baseInfo, const ImageSize& imageSize) override;
98     void GetImageDataModel(const BaseInfo& baseInfo, const ImageSize& imageSize, uint8_t* buffer) override;
99 
100 private:
101     static void GetImageData(const BaseInfo& baseInfo, const std::shared_ptr<Ace::ImageData>& imageData);
102 };
103 } // namespace OHOS::Ace::NG
104 #endif // FOUNDATION_ACE_FRAMEWORKS_CORE_COMPONENTS_NG_PATTERN_CANVAS_RENDERER_CANVAS_RENDERER_MODEL_NG_H
105