Chromium Code Reviews| Index: tools/skpdiff/diff_viewer.js |
| diff --git a/tools/skpdiff/diff_viewer.js b/tools/skpdiff/diff_viewer.js |
| index 06a864edf4e219ade95c0c322cc14d935e3141b5..6083c2a19b5e55ce881845527eca984b57c2d61c 100644 |
| --- a/tools/skpdiff/diff_viewer.js |
| +++ b/tools/skpdiff/diff_viewer.js |
| @@ -3,7 +3,6 @@ var MAGNIFIER_WIDTH = 200; |
| var MAGNIFIER_HEIGHT = 200; |
| var MAGNIFIER_HALF_WIDTH = MAGNIFIER_WIDTH * 0.5; |
| var MAGNIFIER_HALF_HEIGHT = MAGNIFIER_HEIGHT * 0.5; |
| -// TODO add support for a magnified scale factor |
|
djsollen
2013/12/10 14:18:15
this TODO was to track making the strength of the
|
| var MAGNIFIER_SCALE_FACTOR = 2.0; |
| angular.module('diff_viewer', []). |
| @@ -20,12 +19,18 @@ 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; |
| + // need to change size for non-alphaMask canvas |
| + if (image.name == "") { |
|
djsollen
2013/12/10 14:18:15
This if check is unnecessary. I don't think the a
yunchao
2013/12/10 14:35:00
Hey derek, how to depart a non-alphaMask element f
djsollen
2013/12/10 14:44:21
You need to run the skpdiff tool with the --alphaD
yunchao
2013/12/11 03:02:21
Yes. Then I found this CL is a corner case, becaus
|
| + scope.setNeedChangeMaskCanvasSize(true); |
| + } |
| break; |
| case "baseline": |
| image.src = scope.record.baselinePath; |
| @@ -55,11 +60,27 @@ directive('imgCompare', function() { |
| canvas.width = image.width * scope.imgScaleFactor; |
| canvas.height = image.height * scope.imgScaleFactor; |
| + // resize non-alphaMask canvas according to baseline canvas |
| + if (scope.needChangeMaskCanvasSize) { |
| + scope.resizeMaskCanvas({width: canvas.width, height: canvas.height}); |
| + scope.setNeedChangeMaskCanvasSize(false); |
|
djsollen
2013/12/10 14:18:15
you should be passing true if you really only want
yunchao
2013/12/10 14:35:00
I suppose line 31-33 can pass true. And update can
djsollen
2013/12/10 14:44:21
I don't think 31-33 needs to exist as the scope ob
yunchao
2013/12/11 03:02:21
Yes, the original patch line 31-33 is unnecessary.
|
| + } |
| + |
| // render the image onto the canvas |
| scope.renderImage(); |
| } |
| }); |
| + // when newMaskCanvas changes, resize mask canvas size. |
| + scope.$watch('newMaskCanvas', function(newCanvas) { |
| + if (!maskCanvas) { |
| + return; |
| + } |
| + |
| + canvas.width = newCanvas.width; |
| + canvas.height = newCanvas.height; |
| + }) |
|
djsollen
2013/12/10 14:18:15
this should be });
yunchao
2013/12/11 03:02:21
Done.
|
| + |
| // When the magnify attribute changes, render the magnified rect at |
| // the default zoom level. |
| scope.$watch('magnifyCenter', function(magCenter) { |
| @@ -166,6 +187,8 @@ function ImageController($scope, $http, $location, $timeout, $parse) { |
| $scope.imgScaleFactor = 1.0; |
| $scope.magnifierOn = false; |
| $scope.magnifyCenter = undefined; |
| + $scope.newMaskCanvas = undefined; |
| + $scope.needChangeMaskCanvasSize = false; |
|
djsollen
2013/12/10 14:18:15
I think it may be more clear to use names like
$s
yunchao
2013/12/11 03:02:21
Agree, the original variable names are not good. T
|
| $scope.setImgScaleFactor = function(scaleFactor) { |
| $scope.imgScaleFactor = scaleFactor; |
| @@ -178,6 +201,14 @@ function ImageController($scope, $http, $location, $timeout, $parse) { |
| $scope.setMagnifyCenter = function(magnifyCenter) { |
| $scope.magnifyCenter = magnifyCenter; |
| } |
| + |
| + $scope.resizeMaskCanvas = function(newMaskCanvas) { |
|
djsollen
2013/12/10 14:18:15
function(updatedSize)
|
| + $scope.newMaskCanvas = newMaskCanvas; |
| + } |
| + |
| + $scope.setNeedChangeMaskCanvasSize = function(flag) { |
| + $scope.needChangeMaskCanvasSize = flag; |
| + } |
| } |
| function DiffListController($scope, $http, $location, $timeout, $parse) { |