| Index: tools/skpdiff/diff_viewer.js
|
| diff --git a/tools/skpdiff/diff_viewer.js b/tools/skpdiff/diff_viewer.js
|
| index 06a864edf4e219ade95c0c322cc14d935e3141b5..6be434b4db17be05f0e85866b5cbd6d17e16e02c 100644
|
| --- a/tools/skpdiff/diff_viewer.js
|
| +++ b/tools/skpdiff/diff_viewer.js
|
| @@ -20,12 +20,14 @@ directive('imgCompare', function() {
|
| var ctx = canvas.getContext('2d');
|
|
|
| var magnifyContent = false;
|
| + var maskCanvas = false;
|
|
|
| // When the type attribute changes, load the image and then render
|
| attrs.$observe('type', function(value) {
|
| switch(value) {
|
| case "alphaMask":
|
| image.src = scope.record.differencePath;
|
| + maskCanvas = true;
|
| break;
|
| case "baseline":
|
| image.src = scope.record.baselinePath;
|
| @@ -55,11 +57,29 @@ directive('imgCompare', function() {
|
| canvas.width = image.width * scope.imgScaleFactor;
|
| canvas.height = image.height * scope.imgScaleFactor;
|
|
|
| + // update the size for non-alphaMask canvas when loading baseline image
|
| + if (!scope.maskSizeUpdated) {
|
| + if (!maskCanvas) {
|
| + scope.updateMaskCanvasSize({width: canvas.width, height: canvas.height});
|
| + }
|
| + scope.maskCanvasSizeUpdated(true);
|
| + }
|
| +
|
| // render the image onto the canvas
|
| scope.renderImage();
|
| }
|
| });
|
|
|
| + // when updatedMaskSize changes, update mask canvas size.
|
| + scope.$watch('updatedMaskSize', function(updatedSize) {
|
| + if (!maskCanvas) {
|
| + return;
|
| + }
|
| +
|
| + canvas.width = updatedSize.width;
|
| + canvas.height = updatedSize.height;
|
| + });
|
| +
|
| // When the magnify attribute changes, render the magnified rect at
|
| // the default zoom level.
|
| scope.$watch('magnifyCenter', function(magCenter) {
|
| @@ -166,6 +186,8 @@ function ImageController($scope, $http, $location, $timeout, $parse) {
|
| $scope.imgScaleFactor = 1.0;
|
| $scope.magnifierOn = false;
|
| $scope.magnifyCenter = undefined;
|
| + $scope.updatedMaskSize = undefined;
|
| + $scope.maskSizeUpdated = false;
|
|
|
| $scope.setImgScaleFactor = function(scaleFactor) {
|
| $scope.imgScaleFactor = scaleFactor;
|
| @@ -178,6 +200,14 @@ function ImageController($scope, $http, $location, $timeout, $parse) {
|
| $scope.setMagnifyCenter = function(magnifyCenter) {
|
| $scope.magnifyCenter = magnifyCenter;
|
| }
|
| +
|
| + $scope.updateMaskCanvasSize = function(updatedSize) {
|
| + $scope.updatedMaskSize = updatedSize;
|
| + }
|
| +
|
| + $scope.maskCanvasSizeUpdated = function(flag) {
|
| + $scope.maskSizeUpdated = flag;
|
| + }
|
| }
|
|
|
| function DiffListController($scope, $http, $location, $timeout, $parse) {
|
|
|