• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/**
2 * Copyright (c) 2023-2024 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@Entry
17@Component
18struct ScreenExample {
19  @State  myScale: number = 1;
20  @State  myScaleOut: number = 1;
21  build() {
22    Column() {
23      Text(this.myScale.toString())
24      Image($r('app.media.icon'))
25        .objectFit(ImageFit.Auto)
26        .height(200)
27        .width(200)
28        .id("pinch_ima")
29        .scale({ x: this.myScale, y: this.myScale, z: this.myScale })
30        .gesture(
31        PinchGesture()
32          .onActionStart((event: GestureEvent) => {
33            console.info('Pinch start');
34          })
35          .onActionUpdate((event: GestureEvent) => {
36            this.myScale = event.scale;
37          })
38          .onActionEnd(() => {
39            console.info('Pinch end');
40          })
41        )
42      Image($r('app.media.icon'))
43        .objectFit(ImageFit.Auto)
44        .height(200)
45        .width(200)
46        .margin({top: 100})
47        .id("pinch_ima_out")
48        .scale({ x: this.myScaleOut, y: this.myScaleOut, z: this.myScaleOut })
49        .gesture(
50          PinchGesture()
51            .onActionStart((event: GestureEvent) => {
52              console.info('Pinch start');
53            })
54            .onActionUpdate((event: GestureEvent) => {
55              this.myScaleOut = event.scale;
56            })
57            .onActionEnd(() => {
58              console.info('Pinch end');
59            })
60        )
61    }
62    .width('100%')
63    .height('100%')
64  }
65}