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 RectDrawing { 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.DrawingRectBasic')) 39 .onClick((): void => { 40 if (this.xComponentContext) { 41 this.xComponentContext.draw('CanvasGet', 'RectBasic'); 42 } 43 }) 44 .margin({ top: 10, bottom: 10, left: 10, right: 10 }) 45 Button($r('app.string.DrawingIntersect')) 46 .onClick((): void => { 47 if (this.xComponentContext) { 48 this.xComponentContext.draw('CanvasGet', 'RectIntersect'); 49 } 50 }) 51 .margin({ top: 10, bottom: 10, left: 10, right: 10 }) 52 Button($r('app.string.DrawingJoin')) 53 .onClick((): void => { 54 if (this.xComponentContext) { 55 this.xComponentContext.draw('CanvasGet', 'RectJoin'); 56 } 57 }) 58 .margin({ top: 10, bottom: 10, left: 10, right: 10 }) 59 Button($r('app.string.DrawingRoundRect')) 60 .onClick((): void => { 61 if (this.xComponentContext) { 62 this.xComponentContext.draw('CanvasGet', 'RoundRect'); 63 } 64 }) 65 .margin({ top: 10, bottom: 10, left: 10, right: 10 }) 66 } 67 .width('100%') 68 .height('30%') 69 } 70 } 71}