• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2025 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
16import XComponentContext from '../../interface/XComponentContext';
17
18@Entry
19@Component
20struct PathDrawing {
21  private xComponentContext: XComponentContext | undefined = undefined;
22
23  build() {
24    Column() {
25      XComponent({ id: 'basicEffectXComponent', type: XComponentType.SURFACE, libraryname: 'entry' })
26        .onLoad((xComponentContext) => {
27          this.xComponentContext = xComponentContext as XComponentContext;
28        })
29        .backgroundColor(Color.White)
30        .width('100%')
31        .height('70%')
32      Flex({
33        direction: FlexDirection.Row,
34        wrap: FlexWrap.Wrap,
35        justifyContent: FlexAlign.Start,
36        alignItems: ItemAlign.Start
37      }) {
38        Button($r('app.string.DrawingPathBasic'))
39          .onClick((): void => {
40            if (this.xComponentContext) {
41              this.xComponentContext.draw('CanvasGet', 'PathBasic');
42            }
43          })
44          .margin({ top: 10, bottom: 10, left: 10, right: 10 })
45        Button($r('app.string.DrawingPathAdd'))
46          .onClick((): void => {
47            if (this.xComponentContext) {
48              this.xComponentContext.draw('CanvasGet', 'PathAdd');
49            }
50          })
51          .margin({ top: 10, bottom: 10, left: 10, right: 10 })
52        Button($r('app.string.DrawingPathTo'))
53          .onClick((): void => {
54            if (this.xComponentContext) {
55              this.xComponentContext.draw('CanvasGet', 'PathTo');
56            }
57          })
58          .margin({ top: 10, bottom: 10, left: 10, right: 10 })
59        Button($r('app.string.DrawingPathStar'))
60          .onClick((): void => {
61            if (this.xComponentContext) {
62              this.xComponentContext.draw('CanvasGet', 'PathStar');
63            }
64          })
65          .margin({ top: 10, bottom: 10, left: 10, right: 10 })
66        Button($r('app.string.DrawingBuildFromSvgString'))
67          .onClick((): void => {
68            if (this.xComponentContext) {
69              this.xComponentContext.draw('CanvasGet', 'BuildFromSvgString');
70            }
71          })
72          .margin({ top: 10, bottom: 10, left: 10, right: 10 })
73      }
74      .width('100%')
75      .height('30%')
76    }
77  }
78}