Files
whatsapp/assets/js/SigWebTablet.js
Lizandro GuarnizoandClaude Sonnet 4.6 c6d2caef55 add: SigWebTablet.js de Topaz en assets/js
Copiado de C:\Users\ZAIDA\AppData\Local\TopazSigWeb\SigWebTablet.js
en SOPORTE-3 (39 KB, versión instalada localmente).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-22 21:21:03 -05:00

2077 lines
38 KiB
JavaScript

//SigWebTablet JavaScript File for SigWeb
//
//Version - 1.0.4.0
//
//Last updated by Topaz Systems Inc. - 1/5/2021
//
var getBlobURL = (window.URL && URL.createObjectURL.bind(URL)) || (window.webkitURL && webkitURL.createObjectURL.bind(webkitURL)) || window.createObjectURL;
var revokeBlobURL = (window.URL && URL.revokeObjectURL.bind(URL)) || (window.webkitURL && webkitURL.revokeObjectURL.bind(webkitURL)) || window.revokeObjectURL;
var baseUri = makeUri();
var ctx;
function IsSigWebInstalled(){
var xhr = new XMLHttpRequest();
try{
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 0) {
console.log("Unknown Error Occured. SigWeb Service response not received.");
return false;
}
};
xhr.open("GET", baseUri+"TabletState"+"?noCache="+generateUUID(), false);
xhr.send();
}catch(e){
console.log('catch', e);
}
return (xhr.status != 404 && xhr.status != 0);
}
function isIE() {
return ((navigator.appName == 'Microsoft Internet Explorer') || ((navigator.appName == 'Netscape') && (new RegExp("Trident/.*rv:([0-9]{1,}[\.0-9]{0,})").exec
(navigator.userAgent) != null)));
}
function isChrome() {
var ua = navigator.userAgent;
var chrome = false;
//Javascript Browser Detection - Chrome
if (ua.lastIndexOf('Chrome/') > 0) {
//var version = ua.substr(ua.lastIndexOf('Chrome/') + 7, 2);
return true;
}
else {
return false;
}
}
function makeUri() {
var prot = location.protocol;
if(prot == "file:")
{
prot = 'http:';
}
if (isIE()) {
if (prot == 'https:') {
return (prot + "//tablet.sigwebtablet.com:47290/SigWeb/");
}
else {
return (prot + "//tablet.sigwebtablet.com:47289/SigWeb/");
}
}
if (isChrome()) {
if (prot == 'https:') {
return (prot + "//tablet.sigwebtablet.com:47290/SigWeb/");
}
else {
return (prot + "//tablet.sigwebtablet.com:47289/SigWeb/");
}
}
else {
//FIREFOX
if (prot == 'https:') {
return (prot + "//tablet.sigwebtablet.com:47290/SigWeb/");
}
else {
return (prot + "//tablet.sigwebtablet.com:47289/SigWeb/");
}
}
}
function SigWebcreateXHR() {
try { return new XMLHttpRequest(); } catch (e) { }
try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); } catch (e) { }
try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); } catch (e) { }
try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { }
try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { }
alert("XMLHttpRequest not supported");
return null;
}
var Count = false;
function SigWebSetProperty(prop) {
var xhr = SigWebcreateXHR();
if (xhr) {
xhr.open("POST", baseUri + prop, true);
xhr.send(null);
if (xhr.readyState == 4 && xhr.status == 200) {
return xhr.responseText;
}
}
return "";
}
function SigWebSetPropertySync(prop) {
var xhr = SigWebcreateXHR();
if (xhr) {
xhr.open("POST", baseUri + prop, false);
xhr.send();
if (xhr.readyState == 4 && xhr.status == 200) {
return xhr.responseText;
}
}
return "";
}
function SigWebSetStreamProperty(prop, strm) {
var xhr = SigWebcreateXHR();
if (xhr) {
xhr.open("POST", baseUri + prop );
xhr.setRequestHeader("Content-Type", "text/plain");
xhr.send(strm);
// if (xhr.readyState == 4 && xhr.status == 200) {
// return xhr.responseText;
// }
}
return "";
}
function SigWebSyncSetStreamProperty(prop, strm) {
var xhr = SigWebcreateXHR();
if (xhr) {
xhr.open("POST", baseUri + prop , false);
xhr.setRequestHeader("Content-Type", "text/plain");
xhr.send(strm);
if (xhr.readyState == 4 && xhr.status == 200) {
return xhr.responseText;
}
}
return "";
}
function SigWebSetImageStreamProperty(prop, strm) {
var xhr = SigWebcreateXHR();
if (xhr) {
xhr.open("POST", baseUri + prop, false);
xhr.setRequestHeader("Content-Type", "image/png");
xhr.send(strm);
if (xhr.readyState == 4 && xhr.status == 200) {
return xhr.responseText;
}
}
return "";
}
function SigWebSetImageBlobProperty(prop, strm) {
var xhr = SigWebcreateXHR();
// var bb = new BlobBuilder();
// bb.append( strm );
// bb.append( "\0" );
// var blob = bb.getBlob( );
if (xhr) {
xhr.open("POST", baseUri + prop, false);
xhr.setRequestHeader("Content-Type", "blob");
xhr.send(strm);
if (xhr.readyState == 4 && xhr.status == 200) {
return xhr.responseText;
}
}
return "";
}
function SigWebGetProperty(prop) {
var xhr = SigWebcreateXHR();
if (xhr) {
xhr.open("GET", baseUri + prop + "?noCache=" + generateUUID(), false );
xhr.send(null);
if (xhr.readyState == 4 && xhr.status == 200) {
return xhr.responseText;
}
}
return "";
}
var SigImageB64;
// function GetSigImageB64(callback)
// {
// var cvs = document.createElement('canvas');
// cvs.width = GetImageXSize();
// cvs.height = GetImageYSize();
//
// var xhr2 = new XMLHttpRequest();
// xhr2.open("GET", baseUri + "SigImage/1", false);
// xhr2.responseType = "blob";
// xhr2.send(null);
// if (xhr2.readyState == 4 && xhr.status == 200)
// {
// var cntx = cvs.getContext('2d');
// var img = new Image();
// img.src = window.URL.createObjectURL(xhr2.response);
// img.onload = function ()
// {
// cntx.drawImage(img, 0, 0);
// var b64String = cvs.toDataURL("image/png");
// var loc = b64String.search("base64,");
// var retstring = b64String.slice(loc + 7, b64String.length);
// if (callback)
// {
// callback(retstring);
// }
// }
// }
// }
function GetSigImageB64(callback )
{
var cvs = document.createElement('canvas');
cvs.width = GetImageXSize();
cvs.height = GetImageYSize();
var xhr2 = new XMLHttpRequest();
xhr2.open("GET", baseUri + "SigImage/1" + "?noCache=" + generateUUID(), true);
xhr2.responseType = "blob";
xhr2.send(null);
xhr2.onload = function ()
{
var cntx = cvs.getContext('2d');
var img = new Image();
// img.src = window.URL.createObjectURL(xhr2.response);
img.src = getBlobURL(xhr2.response);
img.onload = function ()
{
cntx.drawImage(img, 0, 0);
var b64String = cvs.toDataURL("image/png");
var loc = b64String.search("base64,");
var retstring = b64String.slice(loc + 7, b64String.length);
if (callback)
{
callback(retstring);
}
}
}
}
function SigWebWaitForPenDown(callback) {
var xhr = SigWebcreateXHR();
if (xhr) {
xhr.open("GET", baseUri + "WaitForPenDown" + "?noCache=" + generateUUID());
xhr.timeout = 10000;
xhr.onreadystatechange = function () {
if (xhr.readyState != 4)
return;
if (xhr.status == 200)
callback();
}
xhr.send(null);
}
}
function GetSigImage(ctx) {
var xhr2 = new XMLHttpRequest();
xhr2.open("GET", baseUri + "SigImage/1" + "?noCache=" + generateUUID(), true);
xhr2.responseType = "blob";
xhr2.send(null);
xhr2.onload = function () {
var img = new Image();
img.src = getBlobURL(xhr2.response);
img.onload = function () {
ctx.drawImage(img, 0, 0);
revokeBlobURL(this.src);
img = null;
}
}
}
var EvStatus;
var onSigPenDown;
var onSigPenUp;
function SigWebSetDisplayTarget(obj) {
ctx = obj;
}
var NumPointsLastTime = 0;
function SigWebRefresh() {
var NumPoints = NumberOfTabletPoints();
if ( NumPoints == NumPointsLastTime )
{
return;
}
NumPointsLastTime = NumPoints;
var xhr2 = new XMLHttpRequest();
xhr2.open("GET", baseUri + "SigImage/0" + "?noCache=" + generateUUID(), true);
xhr2.responseType = "blob"
xhr2.onload = function () {
var img = new Image();
img.src = getBlobURL(xhr2.response);
// img.src = window.URL.createObjectURL(xhr2.response);
img.onload = function () {
ctx.drawImage(img, 0, 0);
revokeBlobURL(this.src);
img = null;
}
}
xhr2.send(null);
}
function SigWebEvent() {
var OldEvStatus = EvStatus;
var xhr = SigWebcreateXHR();
if (xhr) {
xhr.open("GET", baseUri + "EventStatus" + "?noCache=" + generateUUID(), true);
xhr.onload = function () {
EvStatus = xhr.responseText
if ((OldEvStatus & 0x01) && (EvStatus & 0x02)) {
if (onSigPenDown) {
onSigPenDown();
}
}
if ((OldEvStatus & 0x02) && (EvStatus & 0x01)) {
if (onSigPenUp) {
onSigPenUp();
}
}
}
xhr.send(null);
}
}
function generateUUID() {
var d = new Date().getTime();
if (typeof performance !== 'undefined' && typeof performance.now === 'function'){
d += performance.now(); //use high-precision timer if available
}
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
var r = (d + Math.random() * 16) % 16 | 0;
d = Math.floor(d / 16);
return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);
});
}
var SigWebFontThreshold = 155;
function setSigWebFontThreshold(v) {
SigWebFontThreshold = v;
}
function createLcdBitmapFromCanvas(ourCanvas, xp, yp, width, height) {
var canvasCtx = ourCanvas.getContext('2d');
var imgData = canvasCtx.getImageData(0, 0, width, height);
var j = 0;
var sVal = 0;
var outData = "";
var outIdx = 0;
var data = imgData.data;
for (var y = 0; y < height; y++)
for (var x = 0; x < width; x++) {
var tmp1 = data[j];
var tmp2 = data[j + 1];
var tmp3 = data[j + 2];
var tmp4 = data[j + 3];
// sVal = tmp1 + (tmp2 << 8 ) + ( tmp3 << 16 ) + (tmp4 << 24 );
j = j + 4;
if (tmp1 < SigWebFontThreshold) {
outData += "B";
}
else {
outData += "W";
}
}
return outData;
}
function toHex(NibVal) {
switch (NibVal) {
case 0:
return "0";
case 1:
return "1";
case 2:
return "2";
case 3:
return "3";
case 4:
return "4";
case 5:
return "5";
case 6:
return "6";
case 7:
return "7";
case 8:
return "8";
case 9:
return "9";
case 10:
return "A";
case 11:
return "B";
case 12:
return "C";
case 13:
return "D";
case 14:
return "E";
case 15:
return "F";
}
}
function ToHexString(ByteVal) {
var Str = "";
Str += toHex((ByteVal >> 4) & 0x0f);
Str += toHex(ByteVal & 0x0F);
return Str
}
function textToTablet(x, y, height, str, fnt) {
var c = document.createElement('canvas');
var cntx = c.getContext('2d');
cntx.font = fnt;
var txt = str;
var xs = Math.round(cntx.measureText(txt).width);
var ys = height;
c.width = xs;
c.height = ys;
cntx.font = fnt;
cntx.fillStyle = '#FFFFFF'
cntx.rect(0, 0, xs, ys);
cntx.fill();
cntx.fillStyle = '#000000'
cntx.textBaseline = "top";
cntx.fillText(txt, 0, 0);
cntx.drawImage(cntx.canvas, 0, 0, xs, ys);
var Gstr = createLcdBitmapFromCanvas(c, 0, 0, xs, ys)
LcdWriteImageStream(0, 2, x, y, xs, ys, Gstr);
}
function LcdWriteImage(Dst, Mode, Xp, Yp, Url) {
var Prop = "LcdWriteImage/";
var NewUrl = Url.replace(/\//g, "_");
Prop = Prop + Dst + "," + Mode + "," + Xp + "," + Yp + "," + NewUrl;
SigWebSetPropertySync(Prop);
}
function LcdWriteLocalImage(Dst, Mode, Xp, Yp, Url) {
var Prop = "LcdWriteImage/";
Prop = Prop + Dst + "," + Mode + "," + Xp + "," + Yp + "," + Url;
SigWebSetProperty(Prop);
}
function LcdWriteImageStream(Dst, Mode, Xp, Yp, Xs, Ys, Url) {
var Prop1 = "LcdWriteImageStreamParams/" + Dst + "," + Mode + "," + Xp + "," + Yp + "," + Xs + "," + Ys;
var Prop2 = "LcdWriteImageStream/";
SigWebSetPropertySync(Prop1);
SigWebSetImageStreamProperty(Prop2, Url);
}
function LcdWriteImageBlob(Dst, Mode, Xp, Yp, Xs, Ys, Url) {
var Prop = "LcdWriteImageStream/";
Prop = Prop + Dst + "," + Mode + "," + Xp + "," + Yp + "," + Xs + "," + Ys;
SigWebSetImageBlobProperty(Prop, Url);
}
function measureText(pText, pFontSize, pStyle) {
var lDiv = document.createElement('lDiv');
document.body.appendChild(lDiv);
if (pStyle != null) {
lDiv.style = pStyle;
}
lDiv.style.fontSize = "" + pFontSize + "px";
lDiv.style.position = "absolute";
lDiv.style.left = -1000;
lDiv.style.top = -1000;
lDiv.innerHTML = pText;
var lResult =
{
width: lDiv.clientWidth,
height: lDiv.clientHeight
};
document.body.removeChild(lDiv);
lDiv = null;
return lResult;
}
function GetSigWebVersion(){
var prop = "SigWebVersion";
var xhr = SigWebcreateXHR();
if (xhr) {
xhr.open("GET", baseUri + prop + "?noCache=" + generateUUID(), false );
xhr.send(null);
if (xhr.readyState == 4 && xhr.status == 200) {
return xhr.responseText.slice(1, xhr.responseText.length - 1);
} else{
return "1.5"; //the currentversion of the SigWeb service is not installed
}
}
return "";
}
//
//
//
//
//
//
// Start of dll method wrappers
//
//
// SigPlusNET.cs
//
function GetVersionString() {
var Prop = "Version";
Prop = Prop;
var Str = SigWebGetProperty(Prop);
var trimStr = Str.slice(1, Str.length - 2);
return trimStr;
}
function IsPenDown() {
return EvStatus & 0x01;
}
function GetDaysUntilCertificateExpires() {
var Prop = "DaysUntilCertificateExpires";
Prop = Prop;
return SigWebGetProperty(Prop);
}
//
// SigPlusNETSig.cs
//
function ClearTablet() {
var Prop = "ClearSignature";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function NumberOfTabletPoints() {
var Prop = "TotalPoints";
Prop = Prop;
return SigWebGetProperty(Prop);
}
// function ExportSigFile( FileName ) {}
// function ImportSigFile( FileName ) {}
function SetSigString(sigStr, ctx)
{
var Prop = "SigString";
Prop = Prop;
var xhr = SigWebcreateXHR();
if (xhr)
{
xhr.open("POST", baseUri + Prop );
xhr.setRequestHeader("Content-Type", "text/plain");
xhr.send(sigStr);
xhr.onload = function ()
{
if (ctx)
{
var can = ctx.canvas;
SetImageXSize( can.width );
SetImageYSize( can.height );
GetSigImage(ctx);
}
}
}
return "";
}
function GetSigString() {
var Prop = "SigString";
Prop = Prop;
var Str = SigWebGetProperty(Prop);
return Str.slice(1, Str.length - 1);
}
function SetSigCompressionMode(v) {
var Prop = "CompressionMode/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetSigCompressionMode() {
var Prop = "CompressionMode";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetEncryptionMode(v) {
var Prop = "EncryptionMode/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetEncryptionMode() {
var Prop = "EncryptionMode";
Prop = Prop;
return SigWebGetProperty(Prop);
}
// function SetKey( Keydata ) {}
// function GetKey( ) {}
function SetKeyString(keyString) {
var Prop = "KeyString";
Prop = Prop;
SigWebSetStreamProperty(Prop, keyString);
}
function GetKeyString() {
var Prop = "KeyString";
Prop = Prop;
var Str = SigWebGetProperty(Prop);
return Str.slice(1, Str.length - 1);
}
function AutoKeyStart() {
var Prop = "AutoKeyStart";
Prop = Prop;
SigWebSetPropertySync(Prop);
}
function AutoKeyFinish() {
var Prop = "AutoKeyFinish";
Prop = Prop;
SigWebSetPropertySync(Prop);
}
function SetAutoKeyData(keyData) {
var Prop = "SetAutoKeyData";
Prop = Prop;
SigWebSetStreamProperty(Prop, keyData);
}
function AutoKeyAddData(keyData) {
var Prop = "AutoKeyAddData";
Prop = Prop;
SigWebSetStreamProperty(Prop, keyData);
return GetKeyString();
}
function AutoKeyAddANSIData(keyData) {
var Prop = "AutoKeyAddANSIData";
Prop = Prop;
var isASCII = SigWebSyncSetStreamProperty(Prop, keyData);
return isASCII;
}
// function GetKeyReceipt( ) {}
function GetKeyReceiptAscii() {
var Prop = "KeyReceiptAscii";
Prop = Prop;
var Str = SigWebGetProperty(Prop);
return Str.slice(1, Str.length - 1);
}
// function GetSigReceipt( ) {}
function GetSigReceiptAscii() {
var Prop = "SigReceiptAscii";
Prop = Prop;
var Str = SigWebGetProperty(Prop);
return Str.slice(1, Str.length - 1);
}
function SetTimeStamp(timeStamp) {
var Prop = "TimeStamp";
Prop = Prop;
SigWebSetStreamProperty(Prop, timeStamp);
}
function GetTimeStamp() {
var Prop = "TimeStamp";
Prop = Prop;
var Str = SigWebGetProperty(Prop);
return Str.slice(1, Str.length - 1);
}
function SetAnnotate(annotate) {
var Prop = "Annotate";
Prop = Prop;
SigWebSetStreamProperty(Prop, annotate);
}
function GetAnnotate() {
var Prop = "Annotate";
Prop = Prop;
var Str = SigWebGetProperty(Prop);
return Str.slice(1, Str.length - 1);
}
function SetSaveSigInfo(v) {
var Prop = "SaveSigInfo/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetSaveSigInfo() {
var Prop = "SaveSigInfo";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetSavePressureData(v) {
var Prop = "SavePressureData/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetSavePressureData() {
var Prop = "SavePressureData";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetSaveTimeData(v) {
var Prop = "SaveTimeData/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetSaveTimeData() {
var Prop = "SaveTimeData";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetAntiAliasSpotSize(v) {
var Prop = "AntiAliasSpotSize/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetAntiAliasSpotSize() {
var Prop = "AntiAliasSpotSize";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetAntiAliasLineScale(v) {
var Prop = "AntiAliasLineScale/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetAntiAliasLineScale() {
var Prop = "AntiAliasLineScale";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function GetNumberOfStrokes() {
var Prop = "NumberOfStrokes";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function GetNumPointsForStroke(v) {
var Prop = "NumberOfPointsInStroke/";
Prop = Prop + v;
return SigWebGetProperty(Prop);
}
function GetPointXValue(v1, v2) {
var Prop = "PointXValue/";
Prop = Prop + v1 + "/" + v2;
return SigWebGetProperty(Prop);
}
function GetPointYValue(v1, v2) {
var Prop = "PointYValue/";
Prop = Prop + v1 + "/" + v2;
return SigWebGetProperty(Prop);
}
function SetAntiAliasEnable(v) {
var Prop = "AntiAliasEnable/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetAntiAliasEnable() {
var Prop = "AntiAliasEnable";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetUseAmbientColors(v) {
var Prop = "UseAmbientColors/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
//
// SigPlusNETDisplay.cs
//
function SetDisplayXSize(v) {
var Prop = "DisplayXSize/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetDisplayXSize() {
var Prop = "DisplayXSize";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetDisplayYSize(v) {
var Prop = "DisplayYSize/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetDisplayYSize() {
var Prop = "DisplayYSize";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetDisplayPenWidth(v) {
var Prop = "DisplayPenWidth/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetDisplayPenWidth() {
var Prop = "DisplayPenWidth";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetDisplayTimeStamp(v) {
var Prop = "DisplayTimeStamp/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetDisplayTimeStamp() {
var Prop = "DisplayTimeStamp";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetDisplayTimeStampPosX(v) {
var Prop = "DisplayTimeStampPosX/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetDisplayTimeStampPosX() {
var Prop = "DisplayTimeStampPosX";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetDisplayTimeStampPosY(v) {
var Prop = "DisplayTimeStampPosY/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetDisplayTimeStampPosY() {
var Prop = "DisplayTimeStampPosY";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetDisplayTimeStampSize(v) {
var Prop = "DisplayTimeStampSize/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetDisplayTimeStampSize() {
var Prop = "DisplayTimeStampSize";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetDisplayAnnotate(v) {
var Prop = "DisplayAnnotate/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetDisplayAnnotate() {
var Prop = "DisplayAnnotate";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetDisplayAnnotatePosX(v) {
var Prop = "DisplayAnnotatePosX/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetDisplayAnnotatePosX() {
var Prop = "DisplayAnnotatePosX";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetDisplayAnnotatePosY(v) {
var Prop = "DisplayAnnotatePosY/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetDisplayAnnotatePosY() {
var Prop = "DisplayAnnotatePosY";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetDisplayAnnotateSize(v) {
var Prop = "DisplayAnnotateSize/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetDisplayAnnotateSize() {
var Prop = "DisplayAnnotateSize";
Prop = Prop;
return SigWebGetProperty(Prop);
}
//
// SigPlusNETImage.cs
//
// function GetSigImageB64( )
// {
// var xhr2 = new XMLHttpRequest();
// xhr2.open("GET", baseUri + "SigImage/1", false );
// xhr2.responseType = "blob"
// xhr2.send(null);
// if (xhr2.readyState == 4 && xhr.status == 200)
// {
// return window.URL.createObjectURL(xhr2.response);
// }
// return null;
// }
function SetImageXSize(v) {
var Prop = "ImageXSize/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetImageXSize() {
var Prop = "ImageXSize";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetImageYSize(v) {
var Prop = "ImageYSize/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetImageYSize() {
var Prop = "ImageYSize";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetImagePenWidth(v) {
var Prop = "ImagePenWidth/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetImagePenWidth() {
var Prop = "ImagePenWidth";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetImageTimeStamp(v) {
var Prop = "ImageTimeStamp/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetImageTimeStamp() {
var Prop = "ImageTimeStamp";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetImageTimeStampPosX(v) {
var Prop = "ImageTimeStampPosX/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetImageTimeStampPosX() {
var Prop = "ImageTimeStampPosX";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetImageTimeStampPosY(v) {
var Prop = "ImageTimeStampPosY/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetImageTimeStampPosY() {
var Prop = "ImageTimeStampPosY";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetImageTimeStampSize(v) {
var Prop = "ImageTimeStampSize/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetImageTimeStampSize() {
var Prop = "ImageTimeStampSize";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetImageAnnotate(v) {
var Prop = "ImageAnnotate/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetImageAnnotate() {
var Prop = "ImageAnnotate";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetImageAnnotatePosX(v) {
var Prop = "ImageAnnotatePosX/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetImageAnnotatePosX() {
var Prop = "ImageAnnotatePosX";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetImageAnnotatePosY(v) {
var Prop = "ImageAnnotatePosY/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetImageAnnotatePosY() {
var Prop = "ImageAnnotatePosY";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetImageAnnotateSize(v) {
var Prop = "ImageAnnotateSize/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetImageAnnotateSize() {
var Prop = "ImageAnnotateSize";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetJustifyX(v) {
var Prop = "JustifyX/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetJustifyX() {
var Prop = "JustifyX";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetJustifyY(v) {
var Prop = "JustifyY/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetJustifyY() {
var Prop = "JustifyY";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetJustifyMode(v) {
var Prop = "JustifyMode/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetJustifyMode() {
var Prop = "JustifyMode";
Prop = Prop;
return SigWebGetProperty(Prop);
}
//
// SigPlusNETKeyPad.cs
//
function KeyPadAddHotSpot(key, coord, xp, yp, xs, ys) {
var Prop = "KeyPadAddHotSpot/";
Prop = Prop + key + "," + coord + "," + xp + "," + yp + "," + xs + "," + ys;
SigWebSetPropertySync(Prop);
}
function KeyPadMarkHotSpot(key, coord, xp, yp, xs, ys) {
LCDWriteString(0, 2, xp, yp, "16pt sans-serif", 32, "+")
LCDWriteString(0, 2, xp + xs, yp, "16pt sans-serif", 32, "+")
LCDWriteString(0, 2, xp, yp + ys, "16pt sans-serif", 32, "+")
LCDWriteString(0, 2, xp + xs, yp + ys, "16pt sans-serif", 32, "+")
}
function KeyPadQueryHotSpot(key) {
var Prop = "KeyPadQueryHotSpot/";
Prop = Prop + key;
return SigWebGetProperty(Prop);
}
function KeyPadClearHotSpotList() {
var Prop = "KeyPadClearHotSpotList";
SigWebSetPropertySync(Prop);
}
function SetSigWindow(coords, xp, yp, xs, ys) {
var Prop = "SigWindow/";
Prop = Prop + coords + "," + xp + "," + yp + "," + xs + "," + ys;
SigWebSetPropertySync(Prop);
}
function ClearSigWindow(inside) {
var Prop = "ClearSigWindow/";
Prop = Prop + inside;
SigWebSetPropertySync(Prop);
}
//
// SigPlusNETLCD.cs
//
function SetLCDCaptureMode(v) {
var Prop = "CaptureMode/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetLCDCaptureMode() {
var Prop = "CaptureMode";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function LCDSetWindow(xP, yP, xS, yS) {
var Prop = "LCDSetWindow/";
Prop = Prop + xP + "," + yP + "," + xS + "," + yS;
SigWebSetPropertySync(Prop);
}
function LCDWriteString(dest, mode, x, y, fnt, size, str) {
var c = document.createElement('canvas');
var cntx = c.getContext('2d');
cntx.font = fnt;
var txt = str;
var xs = Math.round(cntx.measureText(txt).width);
var ys = size;
c.width = xs;
c.height = ys;
if ( xs == 0 )
{
return;
}
cntx.font = fnt;
cntx.fillStyle = '#FFFFFF'
cntx.rect(0, 0, xs, ys);
cntx.fill();
cntx.fillStyle = '#000000'
cntx.textBaseline = "top";
cntx.fillText(txt, 0, 0);
cntx.drawImage(cntx.canvas, 0, 0, xs, ys);
var Gstr = createLcdBitmapFromCanvas(c, x, y, xs, ys);
LcdWriteImageStream(dest, mode, x, y, xs, ys, Gstr);
}
function LCDDrawRectangle(dest, mode, x, y, xs, ys, fill) {
var c = document.createElement('canvas');
var cntx = c.getContext('2d');
c.width = xs;
c.height = ys;
cntx.fillStyle = fill
cntx.rect(0, 0, xs, ys);
cntx.fill();
cntx.drawImage(cntx.canvas, 0, 0, xs, ys);
var Gstr = createLcdBitmapFromCanvas(c, x, y, xs, ys);
LcdWriteImageBlob(dest, mode, x, y, xs, ys, Gstr);
}
function LCDDrawButton(dest, mode, x, y, xs, ys, strys, fill, fnt, str) {
var c = document.createElement('canvas');
var cntx = c.getContext('2d');
cntx.font = fnt;
var txt = str;
var sxs = Math.round(cntx.measureText(txt).width);
var sys = strys;
c.width = xs;
c.height = ys;
cntx.font = fnt;
cntx.fillStyle = fill
cntx.rect(0, 0, xs, ys);
cntx.fill();
cntx.fillStyle = '#FFFFFF'
cntx.textBaseline = "top";
cntx.fillText(txt, ((xs - sxs) / 2), ((ys - sys) / 2));
cntx.drawImage(cntx.canvas, 0, 0, xs, ys);
var Gstr = createLcdBitmapFromCanvas(c, x, y, xs, ys);
LcdWriteImageBlob(dest, mode, x, y, xs, ys, Gstr);
}
function LCDWriteStringWindow(dest, mode, x, y, fnt, xsize, ysize, str) {
var c = document.createElement('canvas');
var cntx = c.getContext('2d');
cntx.font = fnt;
var txt = str;
var xs = xsize;
var ys = ysize;
c.width = xs;
c.height = ys;
cntx.font = fnt;
cntx.fillStyle = '#FFFFFF'
cntx.rect(0, 0, xs, ys);
cntx.fill();
cntx.fillStyle = '#000000'
cntx.textBaseline = "top";
cntx.fillText(txt, 0, 0);
cntx.drawImage(cntx.canvas, 0, 0, xs, ys);
var Gstr = createLcdBitmapFromCanvas(c, x, y, xs, ys);
LcdWriteImageBlob(dest, mode, x, y, xs, ys, Gstr);
}
function LCDStringWidth(fnt, str) {
var c = document.createElement('canvas');
var cntx = c.getContext('2d');
cntx.font = fnt;
var txt = str;
var xs = Math.round(cntx.measureText(txt).width);
return xs;
}
function LCDStringHeight(fnt, str) {
return 16;
}
function LcdRefresh(Mode, Xp, Yp, Xs, Ys) {
var Prop = "LcdRefresh/";
Prop = Prop + Mode + "," + Xp + "," + Yp + "," + Xs + "," + Ys;
SigWebSetPropertySync(Prop);
}
function LCDSendCmdString(CmdStr, ReturnCount, Result, TimeOut) {
var Prop = "LcdSendCmdString/";
Prop = Prop + ReturnCount + "," + TimeOut;
Result = SigWebSetStreamProperty(Prop, CmdStr);
}
function LCDSendCmdData(CmdStr, ReturnCount, Result, TimeOut) {
var Prop = "LcdSendCmdData/";
Prop = Prop + ReturnCount + "," + TimeOut;
Result = SigWebSetStreamProperty(Prop, CmdStr);
}
function LCDSendGraphicCanvas(dest, mode, x, y, canvas) {
var Gstr = createLcdBitmapFromCanvas(canvas, 0, 0, xs, ys)
LcdWriteImageStream(dest, mode, x, y, canvas.width, canvas.height, Gstr);
}
// function LCDSendWindowedGraphicCanvas( dest, mode, x, y, canvas )
// {
// }
// function LCDSendWindowedGraphicCanvas( dest, mode, x, y, xs, ys, canvas )
// {
// var Gstr = createLcdBitmapFromCanvas( canvas, 0, 0, xs, ys)
// LcdWriteImageStream( dest, mode, x, y, xs, ys, Gstr );
// }
function LCDSendWindowedGraphicCanvas(dest, mode, x, y, xs, ys, c, xps, yps) {
var Gstr = createLcdBitmapFromCanvas(canvas, xps, yps, xs, ys)
LcdWriteImageStream(dest, mode, x, y, xs, ys, Gstr);
}
function LCDSendGraphicUrl(dest, mode, x, y, url) {
LcdWriteImage(dest, mode, x, y, url)
}
// function LCDSendWindowedGraphicUrl( dest, mode, X, Y, url )
// {
// }
// function LCDSendWindowedGraphicUrl( dest, mode, x, y, xs, ys, url )
// {
// LcdWriteImageStream(dest, mode, x, y, xs, ys, url);
// }
function LCDSendWindowedGraphicUrl(dest, mode, x, y, xse, yse, url, xps, yps) {
LcdWriteImageStream(dest, mode, x, y, xs, ys, url);
}
// function LCDSendGraphic( Dest, Mode, XPos, YPos, ImageFileName ) {}
// function LCDSendGraphicURL( Dest, Mode, XPos, YPos, URL ) {}
function LCDClear() {
var Prop = "LcdClear";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function LCDSetTabletMap(LCDType, LCDXSize, LCDYSize, LCDXStart, LCDYStart, LCDXStop, LCDYStop) {
}
function LCDSetPixelDepth(v) {
var Prop = "LcdSetPixelDepth/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function LCDGetLCDSize() {
var Prop = "LcdGetLcdSize";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function LCDSetCompressionMode(NewMode) {
var Prop = "LcdCompressionMode/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function LCDGetCompressionMode() {
var Prop = "LcdCompressionMode";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function LCDSetZCompressionMode(NewMode) {
var Prop = "LcdZCompressionMode/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function LCDGetZCompressionMode() {
var Prop = "LcdZCompressionMode";
Prop = Prop;
return SigWebGetProperty(Prop);
}
//
// SigPlusNETLCD.cs
//
function SetRealTabletState(v) {
var Prop = "TabletState/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetTabletState() {
var Prop = "TabletState";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetTabletLogicalXSize(v) {
var Prop = "TabletLogicalXSize/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetTabletLogicalXSize() {
var Prop = "TabletLogicalXSize";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function GetTabletLogicalYSize() {
var Prop = "TabletLogicalYSize";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetTabletLogicalYSize(v) {
var Prop = "TabletLogicalYSize/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function SetTabletXStart(v) {
var Prop = "TabletXStart/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetTabletXStart() {
var Prop = "TabletXStart";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetTabletYStart(v) {
var Prop = "TabletYStart/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetTabletYStart() {
var Prop = "TabletYStart";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetTabletXStop(v) {
var Prop = "TabletXStop/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetTabletXStop() {
var Prop = "TabletXStop";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetTabletYStop(v) {
var Prop = "TabletYStop/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetTabletYStop() {
var Prop = "TabletYStop";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetTabletFilterPoints(v) {
var Prop = "TabletFilterPoints/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetTabletFilterPoints() {
var Prop = "TabletFilterPoints";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetTabletTimingAdvance(v) {
var Prop = "TabletTimingAdvance/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetTabletTimingAdvance() {
var Prop = "TabletTimingAdvance";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetTabletComPort(v) {
var Prop = "TabletComPort/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetTabletComPort() {
var Prop = "TabletComPort";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetTabletBaudRate(v) {
var Prop = "TabletBaudRate/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetTabletBaudRate() {
var Prop = "TabletBaudRate";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetTabletRotation(v) {
var Prop = "TabletRotation/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetTabletRotation() {
var Prop = "TabletRotation";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetTabletType(v) {
var Prop = "TabletType/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetTabletType() {
var Prop = "TabletType";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetServerTabletType(v) {
var Prop = "ServerTabletType/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetServerTabletType() {
var Prop = "ServerTabletType";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetTabletComTest(v) {
var Prop = "TabletComTest/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetTabletComTest() {
var Prop = "TabletComTest";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetTabletResolution(v) {
var Prop = "TabletResolution/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetTabletResolution() {
var Prop = "TabletResolution";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function TabletConnectQuery() {
var Prop = "TabletConnectQuery";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function TabletModelNumber() {
var Prop = "TabletModelNumber";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function TabletSerialNumber() {
var Prop = "TabletSerialNumber";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetTabletPortPath(v) {
var Prop = "TabletPortPath/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function SetTabletLocalIniFilePath(v) {
var Prop = "TabletLocalIniFilePath/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function SetTabletModel(v) {
var Prop = "TabletModel/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function SetSerialPortCloseDelay(v) {
var Prop = "SerialPortCloseDelay/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetSerialPortCloseDelay() {
var Prop = "SerialPortCloseDelay";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function EnableTabletEncryption() {
var Prop = "EnableTabletEncryption";
Prop = Prop;
SigWebSetPropertySync(Prop);
}
function SetTabletEncryptionMode(hmode, tmode) {
var Prop = "TabletEncryptionMode/";
Prop = Prop + hmode + "," + tmode;
SigWebSetPropertySync(Prop);
}
function SetMaxLogFileSize(v) {
var Prop = "MaxLogFileSize/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetSigSockServerPath() {
var Prop = "SigSockServerPath";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function GetSigSockClientName() {
var Prop = "SigSockClientName";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function GetSigSockPortNumber() {
var Prop = "SigSockPortNumber";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetSigSockServerPath(v) {
var Prop = "SigSockServerPath/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function SetSigSockClientName(v) {
var Prop = "SigSockClientName/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function SetPortNumber(v) {
var Prop = "PortNumber/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function SetSigSockPortNumber(v) {
var Prop = "SigSockPortNumber/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function GetFirmwareRevision() {
var Prop = "FirmwareRevision";
Prop = Prop;
return SigWebGetProperty(Prop);
}
function SetTabletData(sigStr) {
var Prop = "TabletData";
Prop = Prop;
SigWebSetStreamProperty(Prop, sigStr);
}
function GetTabletData() {
var Prop = "TabletData";
Prop = Prop;
var Str = SigWebGetProperty(Prop);
return Str.slice(1, Str.length - 1);
}
function OpenTablet(v) {
var Prop = "OpenTablet/";
Prop = Prop + v;
SigWebSetPropertySync(Prop);
}
function CloseTablet() {
var Prop = "CloseTablet";
Prop = Prop;
SigWebSetProperty(Prop);
}
function ResetParameters() {
var Prop = "ResetParameters";
Prop = Prop;
SigWebSetPropertySync(Prop);
}
function testRawData() {
OpenTablet(1);
var Str1 = GetTabletData();
CloseTablet();
}
function Reset() {
var Prop = "Reset";
SigWebSetProperty(Prop);
}
function SetTabletState(v, ctx, tv)
{
var delay;
if (tv)
{
delay = tv;
}
else
{
delay = 100;
}
if (GetTabletState() != v)
{
if (v == 1)
{
if (ctx)
{
var can = ctx.canvas;
SetDisplayXSize( can.width );
SetDisplayYSize( can.height );
SigWebSetDisplayTarget(ctx);
}
SetRealTabletState(v);
if ( ctx && (GetTabletState() != 0) )
{
var tmr = setInterval(SigWebRefresh, delay);
}
else
{
var tmr = null;
}
return tmr;
}
else
{
if (ctx)
{
clearInterval(ctx);
}
SigWebSetDisplayTarget(null);
SetRealTabletState(v);
}
}
return null;
}