diff --git a/400-SOURCECODE/AIAHTML5.Web/app/controllers/DAController.js b/400-SOURCECODE/AIAHTML5.Web/app/controllers/DAController.js index ac8d3ca..12a49f0 100644 --- a/400-SOURCECODE/AIAHTML5.Web/app/controllers/DAController.js +++ b/400-SOURCECODE/AIAHTML5.Web/app/controllers/DAController.js @@ -4176,12 +4176,9 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo oldCanvas = document.getElementById('transparencyTempCanvas_MR_' + bodyRegionId) } else { - //if ($rootScope.isModestyOn == true && (bodyRegionId.match('modestyImg'))) { - // oldCanvas = document.getElementById('modestyTransparencyTempCanvas_' + bodyRegionId); - //} - //else { + oldCanvas = document.getElementById('transparencyTempCanvas_' + bodyRegionId) - //} + } if (oldCanvas != null) { @@ -4190,8 +4187,14 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo //remove tempmask canvas var oldtempTransCanvasMask; + var oldtempTransCanvasMaskMR; if (IsMirror == 'Yes') { - oldtempTransCanvasMask = document.getElementById('transparencyTempCanvasMask_MR_' + bodyRegionId + '_mci'); + oldtempTransCanvasMaskMR = document.getElementById('transparencyTempCanvasMask_MR' + bodyRegionId + '_mci'); + oldtempTransCanvasMask = document.getElementById('transparencyTempCanvasMask_' + bodyRegionId + '_mci'); + + if (oldtempTransCanvasMaskMR != null) { + document.getElementById('canvasDiv').removeChild(oldtempTransCanvasMaskMR); + } } else { oldtempTransCanvasMask = document.getElementById('transparencyTempCanvasMask_' + bodyRegionId + '_mci'); @@ -4287,7 +4290,9 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo canvasModesty.style.top = Y + 'px'; //canvasModesty.style.backgroundColor = "transparent"; canvasModesty.style.visibility = 'visible'; - canvasModesty.style.zIndex = '2000' + canvasModesty.style.zIndex = '2000'; + canvasModesty.addEventListener('click', OnClickModestyTransCanvas); + // tempcanvasModestyCanvasModesty.style.border = "black 1px solid"; document.getElementById('canvasDiv').appendChild(canvasModesty); } @@ -4797,10 +4802,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo var maskCanvasId = 'transparencyTempCanvasMask_' + clickedBodyRegion + '_mci'; var maskCanvas = document.getElementById(maskCanvasId); - - //if (oldMirrorMask != null) { - // document.getElementById('canvasDiv').removeChild(oldMirrorMask); - //} + if (maskCanvas != null) { x = maskCanvas.style.left; y = maskCanvas.style.top; @@ -4913,6 +4915,87 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo } + function OnClickModestyTransCanvas(evt) { + + var mousePos = $scope.getMousePos(evt); + var canvasDiv = document.getElementById('canvasDiv'); + var verticalScrollPosition = canvasDiv.scrollTop; + var horizontlScrollPosition = canvasDiv.scrollLeft; + + var actulalX = mousePos.x + horizontlScrollPosition; + var actualY = mousePos.y + verticalScrollPosition; + + var canavsX = evt.currentTarget.offsetLeft; + var canvasY = evt.currentTarget.offsetTop; + + var canvasId = evt.currentTarget.id; + var canavsContext = document.getElementById(canvasId).getContext('2d'); + var RGBColor = $scope.GetRGBColor(canavsContext, actulalX, actualY, canavsX, canvasY); + + var annotationText; + + //Modesty ON + if (canvasId.match('modestyImg') && RGBColor != '000000') { + RGBColor = DA[0].figLeafTermId; + annotationText = $scope.GetAnnotationBasedOnActualTermNo(RGBColor); + $scope.annotationTextArrayT1 = []; + $scope.annotationTextArrayT2 = []; + $scope.annotationTextArrayT1.push(annotationText); + $scope.annotationTextArrayT2.push(annotationText); + } + //Modesty On but clicked somewhre else, we did modesty check because the modesty image covers whole body region so if user will click to + //see the annotation apart from leaf then the actual click will be on modesty canvas, but for annotation er + // + else if (canvasId.match('modestyImg') && RGBColor == '000000') { + + var bodyRegionId = canvasId.slice(-1); + + var maskCanvasId = 'imageCanvas' + bodyRegionId + '_mci'; + var maskCanvas = document.getElementById(maskCanvasId); + var maskCanvasContext = maskCanvas.getContext("2d"); + //RGBColor = $scope.GetRGBColor(maskCanvasContext, actulalX, actualY, xcanavsX, canvasY); + //annotationText = $scope.GetAnnotationText(parseInt(RGBColor)); + + //transparecncy canvas + var maskCanvasTransId = 'transparencyTempCanvasMask_' + bodyRegionId + '_mci'; + var maskCanvastrans = document.getElementById(maskCanvasTransId); + var maskCanvasContexttrans = maskCanvastrans.getContext("2d"); + + var pixelData = maskCanvasContext.getImageData(Math.round(actulalX - canavsX), Math.round(actualY - canvasY), 1, 1); + + var pixelDataTrans = maskCanvasContexttrans.getImageData(Math.round(actulalX - canavsX), Math.round(actualY - canvasY), 1, 1); + + var annotations = $scope.getAnnotationForTransparencyBox(pixelData, pixelDataTrans, $scope); + + + // var maskCanvasId = 'imageCanvas' + bodyRegionId + '_mci'; + // var maskCanvas = document.getElementById(maskCanvasId); + // var maskCanvasContext = maskCanvas.getContext("2d"); + // RGBColor = $scope.GetRGBColor(maskCanvasContext, actulalX, actualY, xcanavsX, canvasY); + // annotationText = $scope.GetAnnotationText(parseInt(RGBColor)); + + + // createSpeechBubbleOnTransparencyBox(evt, annotations.annotationT1, annotations.annotationT2, evt.pageX + horizontlScrollPosition - $('#canvasDiv').offset().left + 5, evt.pageY + verticalScrollPosition - $('#canvasDiv').offset().top - 50) + + $scope.annotationTextArrayT1 = []; + $scope.annotationTextArrayT2 = []; + $scope.annotationTextArrayT1.push(annotations.annotationT1); + $scope.annotationTextArrayT2.push(annotations.annotationT2); + + } + + if ($('#speechBubble').length > 0) + $('#speechBubble').remove(); + + + if ($('#speechBubbleTrns').length > 0) { + $('#speechBubbleTrns').remove(); + } + $scope.createDynamicSpeechBubble(evt, evt.pageX + horizontlScrollPosition - $('#canvasDiv').offset().left, evt.pageY + verticalScrollPosition - $('#canvasDiv').offset().top, false); + + + } + function getAnnotationAndCraeteSpeechBubble(mirrorCanvasX, mirrorCanvasWidth, mousePos, maskCanvasContexttrans, clickedBodyRegion, x, y, evt) { var canvasDiv = document.getElementById('canvasDiv'); @@ -4958,17 +5041,15 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo $scope.createDynamicSpeechBubble(evt, evt.pageX + horizontlScrollPosition - $('#canvasDiv').offset().left, evt.pageY + verticalScrollPosition - $('#canvasDiv').offset().top, false); } else - { + { $scope.annotationTextArrayT1 = []; - $scope.annotationTextArrayT2 = []; - $scope.annotationTextArrayT1.push(annotations.annotationT1); - $scope.annotationTextArrayT2.push(annotations.annotationT2); - - $scope.createDynamicSpeechBubble(evt, evt.pageX + horizontlScrollPosition - $('#canvasDiv').offset().left, evt.pageY + verticalScrollPosition - $('#canvasDiv').offset().top, false); - + $scope.annotationTextArrayT2 = []; + $scope.annotationTextArrayT1.push(annotations.annotationT1); + $scope.annotationTextArrayT2.push(annotations.annotationT2); - } -} + $scope.createDynamicSpeechBubble(evt, evt.pageX + horizontlScrollPosition - $('#canvasDiv').offset().left, evt.pageY + verticalScrollPosition - $('#canvasDiv').offset().top, false); + } + } function clearTransCanvas() {