1 |
|
2 | import { Component } from 'react';
|
3 | import { ViewProperties } from 'react-native';
|
4 | export interface PropsDefine extends ViewProperties {
|
5 | |
6 |
|
7 |
|
8 | onClick?: () => void;
|
9 | |
10 |
|
11 |
|
12 | cropWidth: number;
|
13 | |
14 |
|
15 |
|
16 | cropHeight: number;
|
17 | |
18 |
|
19 |
|
20 | imageWidth: number;
|
21 | |
22 |
|
23 |
|
24 | imageHeight: number;
|
25 | |
26 |
|
27 |
|
28 | panToMove?: boolean;
|
29 | |
30 |
|
31 |
|
32 | pinchToZoom?: boolean;
|
33 | |
34 |
|
35 |
|
36 | leaveStayTime?: number;
|
37 | |
38 |
|
39 |
|
40 | leaveDistance?: number;
|
41 | |
42 |
|
43 |
|
44 |
|
45 | horizontalOuterRangeOffset?: (offsetX?: number) => void;
|
46 | |
47 |
|
48 |
|
49 | onDragLeft?: () => void;
|
50 | |
51 |
|
52 |
|
53 | responderRelease?: (vx?: number, scale?: number) => void;
|
54 | |
55 |
|
56 |
|
57 | maxOverflow?: number;
|
58 | |
59 |
|
60 |
|
61 | longPressTime?: number;
|
62 | |
63 |
|
64 |
|
65 | onLongPress?: () => void;
|
66 | |
67 |
|
68 |
|
69 | onDoubleClick?: () => void;
|
70 | |
71 |
|
72 |
|
73 | others?: any;
|
74 | }
|
75 | export declare class PropsGaea {
|
76 | gaeaName: string;
|
77 | gaeaIcon: string;
|
78 | gaeaUniqueKey: string;
|
79 | }
|
80 | export declare class Props extends PropsGaea implements PropsDefine {
|
81 | onClick: () => void;
|
82 | onLongPress: () => void;
|
83 | panToMove: boolean;
|
84 | pinchToZoom: boolean;
|
85 | cropWidth: number;
|
86 | cropHeight: number;
|
87 | imageWidth: number;
|
88 | imageHeight: number;
|
89 | source: string;
|
90 | longPressTime: number;
|
91 | leaveStayTime: number;
|
92 | leaveDistance: number;
|
93 | maxOverflow: number;
|
94 | horizontalOuterRangeOffset: () => void;
|
95 | responderRelease: () => void;
|
96 | onDoubleClick: () => void;
|
97 | }
|
98 | export interface StateDefine {
|
99 | |
100 |
|
101 |
|
102 | centerX?: number;
|
103 | |
104 |
|
105 |
|
106 | centerY?: number;
|
107 | }
|
108 | export declare class State implements StateDefine {
|
109 | centerX: number;
|
110 | centerY: number;
|
111 | }
|
112 | export default class ImageViewer extends Component<PropsDefine, StateDefine> {
|
113 | static defaultProps: PropsDefine;
|
114 | state: StateDefine;
|
115 | private lastPositionX;
|
116 | private positionX;
|
117 | private animatedPositionX;
|
118 | private lastPositionY;
|
119 | private positionY;
|
120 | private animatedPositionY;
|
121 | private scale;
|
122 | private animatedScale;
|
123 | private zoomLastDistance;
|
124 | private zoomCurrentDistance;
|
125 | private imagePanResponder;
|
126 | private lastTouchStartTime;
|
127 | private horizontalWholeOuterCounter;
|
128 | private horizontalWholeCounter;
|
129 | private verticalWholeCounter;
|
130 | private centerDiffX;
|
131 | private centerDiffY;
|
132 | private longPressTimeout;
|
133 | private lastClickTime;
|
134 | private doubleClickX;
|
135 | private doubleClickY;
|
136 | private isDoubleClickScale;
|
137 | componentWillMount(): void;
|
138 | |
139 |
|
140 |
|
141 |
|
142 | handleLayout: () => {};
|
143 | |
144 |
|
145 |
|
146 | reset(): void;
|
147 | render(): JSX.Element;
|
148 | }
|