Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3515)

Unified Diff: chrome/browser/resources/file_manager/js/image_editor/viewport.js

Issue 7552035: Adding simple filters to ChromeOS Image Editor. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed comments Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/resources/file_manager/js/image_editor/standalone_test.html ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/resources/file_manager/js/image_editor/viewport.js
diff --git a/chrome/browser/resources/file_manager/js/image_editor/viewport.js b/chrome/browser/resources/file_manager/js/image_editor/viewport.js
index 0c1f9c07009de8b352f1d617d9e0148fb9fd3680..d7282dba8b76e25a129de6faa8a9f3479dcae974 100644
--- a/chrome/browser/resources/file_manager/js/image_editor/viewport.js
+++ b/chrome/browser/resources/file_manager/js/image_editor/viewport.js
@@ -89,12 +89,13 @@ Viewport.prototype.setCenter = function(x, y, ignoreClipping) {
/**
* Return a closure that can be called to pan the image.
* Useful for implementing non-trivial variants of panning (overview etc).
- * @param {Number} originalX The x coordinate on the screen canvas that
+ * @param {number} originalX The x coordinate on the screen canvas that
* corresponds to zero change to offsetX.
- * @param {Number} originalY The y coordinate on the screen canvas that
+ * @param {number} originalY The y coordinate on the screen canvas that
* corresponds to zero change to offsetY.
- * @param {Function} scaleFunc returns the current image to screen scale.
- * @param {Function} hitFunc returns true if (x,y) is in the valid region.
+ * @param {function():number} scaleFunc returns the image to screen scale.
+ * @param {function(number,number):boolean} hitFunc returns true if (x,y) is
+ * in the valid region.
*/
Viewport.prototype.createOffsetSetter = function (
originalX, originalY, scaleFunc, hitFunc) {
@@ -213,7 +214,7 @@ Viewport.prototype.isClipped = function () {
* Horizontal margin. Negative if the image is clipped horizontally.
*/
Viewport.prototype.getMarginX_ = function() {
- return Math.floor(
+ return Math.round(
(this.screenBounds_.width - this.imageBounds_.width * this.scale_) / 2);
};
@@ -221,17 +222,17 @@ Viewport.prototype.getMarginX_ = function() {
* Vertical margin. Negative if the image is clipped vertically.
*/
Viewport.prototype.getMarginY_ = function() {
- return Math.floor(
+ return Math.round(
(this.screenBounds_.height - this.imageBounds_.height * this.scale_) / 2);
};
Viewport.prototype.clampOffsetX_ = function(x) {
- var limit = Math.max(0, -this.getMarginX_() / this.getScale());
+ var limit = Math.round(Math.max(0, -this.getMarginX_() / this.getScale()));
return ImageUtil.clamp(-limit, x, limit);
};
Viewport.prototype.clampOffsetY_ = function(y) {
- var limit = Math.max(0, -this.getMarginY_() / this.getScale());
+ var limit = Math.round(Math.max(0, -this.getMarginY_() / this.getScale()));
return ImageUtil.clamp(-limit, y, limit);
};
@@ -245,8 +246,8 @@ Viewport.prototype.update = function() {
this.imageOnScreen_ = new Rect(
this.getMarginX_(),
this.getMarginY_(),
- Math.floor(this.imageBounds_.width * scale),
- Math.floor(this.imageBounds_.height * scale));
+ Math.round(this.imageBounds_.width * scale),
+ Math.round(this.imageBounds_.height * scale));
// A visible part of the image in image coordinates.
this.imageClipped_ = new Rect(this.imageBounds_);
@@ -256,18 +257,20 @@ Viewport.prototype.update = function() {
// Adjust for the offset.
if (this.imageOnScreen_.left < 0) {
- this.imageOnScreen_.left += this.clampOffsetX_(this.offsetX_) * scale;
- this.imageClipped_.left = -this.imageOnScreen_.left / scale;
- this.imageClipped_.width = this.screenBounds_.width / scale;
+ this.imageOnScreen_.left +=
+ Math.round(this.clampOffsetX_(this.offsetX_) * scale);
+ this.imageClipped_.left = Math.round(-this.imageOnScreen_.left / scale);
+ this.imageClipped_.width = Math.round(this.screenBounds_.width / scale);
} else {
this.screenClipped_.left = this.imageOnScreen_.left;
this.screenClipped_.width = this.imageOnScreen_.width;
}
if (this.imageOnScreen_.top < 0) {
- this.imageOnScreen_.top += this.clampOffsetY_(this.offsetY_) * scale;
- this.imageClipped_.top = -this.imageOnScreen_.top / scale;
- this.imageClipped_.height = this.screenBounds_.height / scale;
+ this.imageOnScreen_.top +=
+ Math.round(this.clampOffsetY_(this.offsetY_) * scale);
+ this.imageClipped_.top = Math.round(-this.imageOnScreen_.top / scale);
+ this.imageClipped_.height = Math.round(this.screenBounds_.height / scale);
} else {
this.screenClipped_.top = this.imageOnScreen_.top;
this.screenClipped_.height = this.imageOnScreen_.height;
« no previous file with comments | « chrome/browser/resources/file_manager/js/image_editor/standalone_test.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698