Open pivanov opened 6 years ago
Hello,
I'm happy to hear 😄
Yes it is, scale and translate can be constrained already from before, and now I've added double tap and initial{Top,Left,Zoom} support:
class SvgRoot extends Component {
render() {
const { transform, width, height } = this.props;
return (
<Svg width={width} height={height}>
<G transform={transform}>
<Rect
y="0"
x="0"
width="100"
height="100"
fill="none"
strokeWidth="1"
stroke="red"
/>
<Rect
y="5"
x="5"
width="90"
height="90"
fill="blue"
strokeWidth="3"
stroke="black"
/>
</G>
</Svg>
);
}
}
export default class SimpleConstrained extends Component {
render() {
const { width, height } = this.props;
return (
<ZoomableSvg
align="mid"
vbWidth={100}
vbHeight={100}
width={width}
height={height}
meetOrSlice="meet"
svgRoot={SvgRoot}
initialTop={-20}
initialLeft={-50}
initialZoom={0.5}
doubleTapThreshold={300}
childProps={{ width, height }}
constrain={{
combine: 'dynamic',
scaleExtent: [1 / 5, 5],
translateExtent: [[-10, -10], [110, 110]],
}}
/>
);
}
}
Hey,
First of all great component 👍
I had some questions:
Hope you will understand what I mean :) if not please let me know and I will try to explain more.
Thanks in advance :)