react-native-signature-pad
Version:
React Native wrapper around szimek's Canvas based Signature Pad
56 lines (45 loc) • 1.81 kB
JavaScript
var content = (penColor, backgroundColor, dataURL) => `
var showSignaturePad = function (signaturePadCanvas, bodyWidth, bodyHeight) {
/*We're rotating by 90% -> Flip X and Y*/
/*var width = bodyHeight;
var height = bodyWidth;*/
var width = bodyWidth;
var height = bodyHeight;
var sizeSignaturePad = function () {
var devicePixelRatio = 1; /*window.devicePixelRatio || 1;*/
var canvasWidth = width * devicePixelRatio;
var canvasHeight = height * devicePixelRatio;
signaturePadCanvas.width = canvasWidth;
signaturePadCanvas.height = canvasHeight;
signaturePadCanvas.getContext('2d').scale(devicePixelRatio, devicePixelRatio);
};
var finishedStroke = function(base64DataUrl) {
executeNativeFunction('finishedStroke', {base64DataUrl: base64DataUrl});
};
var enableSignaturePadFunctionality = function () {
var signaturePad = new SignaturePad(signaturePadCanvas, {
penColor: '${penColor || 'black'}',
backgroundColor: '${backgroundColor || 'white'}',
onEnd: function() { finishedStroke(signaturePad.toDataURL()); }
});
/* signaturePad.translateMouseCoordinates = function (point) {
var translatedY = point.x;
var translatedX = width - point.y;
point.x = translatedX;
point.y = translatedY;
}; */
signaturePad.minWidth = 1;
signaturePad.maxWidth = 4;
if ('${dataURL}') {
signaturePad.fromDataURL('${dataURL}');
}
};
sizeSignaturePad();
enableSignaturePadFunctionality();
};
var bodyWidth = window.innerWidth;
var bodyHeight = window.innerHeight;
var canvasElement = document.querySelector('canvas');
showSignaturePad(canvasElement, bodyWidth, bodyHeight);
`;
export default content;