diff --git a/examples/signature/App.js b/examples/signature/App.js index d748985..cf9f077 100755 --- a/examples/signature/App.js +++ b/examples/signature/App.js @@ -50,6 +50,7 @@ export default class App extends Component { (this.sketch = ref)} style={styles.sketch} + maxWeight={1} strokeColor={'blue'} strokeAlpha={1} onReady={this.onReady} diff --git a/lib/components/Signature.js b/lib/components/Signature.js index eec55d9..80b0ec8 100644 --- a/lib/components/Signature.js +++ b/lib/components/Signature.js @@ -13,6 +13,7 @@ global.__ExpoSignatureId = global.__ExpoSignatureId || 0; type Props = { strokeColor: number | string, strokeAlpha: number, + maxWeight: number, onChange: () => PIXI.Renderer, onReady: () => WebGLRenderingContext, }; @@ -36,8 +37,7 @@ export default class Signature extends React.Component { constructor(props, context) { super(props, context); - - this.provider = new BezierProvider(); + this.provider = new BezierProvider(this.props.maxWeight); this._setupPanResponder(); } diff --git a/lib/core/signature/SignatureBezierProvider.js b/lib/core/signature/SignatureBezierProvider.js index a605b8c..fea07fc 100644 --- a/lib/core/signature/SignatureBezierProvider.js +++ b/lib/core/signature/SignatureBezierProvider.js @@ -3,6 +3,11 @@ import { EventEmitter } from 'fbemitter'; import { vec2 } from 'gl-matrix'; class SignatureBezierProvider extends EventEmitter { + constructor(maxWeight) { + super() + SignatureBezierProvider.maxWeight = maxWeight || SignatureBezierProvider.maxWeight + } + static dotWeight = 3; static pointsPerLine = 4; static touchDistanceThreshold = 2;