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

Unified Diff: ui/file_manager/gallery/js/image_editor/image_editor_mode.js

Issue 2727353004: Compile Image Editor in gyp v2 (Closed)
Patch Set: . Created 3 years, 9 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
Index: ui/file_manager/gallery/js/image_editor/image_editor_mode.js
diff --git a/ui/file_manager/gallery/js/image_editor/image_editor_mode.js b/ui/file_manager/gallery/js/image_editor/image_editor_mode.js
new file mode 100644
index 0000000000000000000000000000000000000000..64b02d62ad827edde51f86debb04ec3a85b16df4
--- /dev/null
+++ b/ui/file_manager/gallery/js/image_editor/image_editor_mode.js
@@ -0,0 +1,214 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+/**
+ * ImageEditorMode represents a modal state dedicated to a specific operation.
+ * Inherits from ImageBuffer. Overlay to simplify the drawing of mode-specific
+ * tools.
+ *
+ * @param {string} name The mode name.
+ * @param {string} title The mode title.
+ * @constructor
+ * @struct
+ * @extends {ImageBuffer.Overlay}
+ */
+function ImageEditorMode(name, title) {
+ this.name = name;
+ this.title = title;
+ this.message_ = 'GALLERY_ENTER_WHEN_DONE';
+
+ /**
+ * @type {boolean}
+ */
+ this.implicitCommit = false;
+
+ /**
+ * @type {boolean}
+ */
+ this.instant = false;
+
+ /**
+ * @type {number}
+ */
+ this.paddingTop = 0;
+
+ /**
+ * @type {number}
+ */
+ this.paddingBottom = 0;
+
+ /**
+ * @type {Viewport}
+ * @private
+ */
+ this.viewport_ = null;
+
+ /**
+ * @type {HTMLElement}
+ * @private
+ */
+ this.button_ = null;
+
+ /**
+ * @type {ImageBuffer}
+ * @private
+ */
+ this.buffer_ = null;
+
+ /**
+ * @type {boolean}
+ * @private
+ */
+ this.updated_ = false;
+
+ /**
+ * @type {ImageView}
+ * @private
+ */
+ this.imageView_ = null;
+};
+
+ImageEditorMode.prototype = {
+ __proto__: ImageBuffer.Overlay.prototype
+};
+
+/**
+ * @return {Viewport} Viewport instance.
+ */
+ImageEditorMode.prototype.getViewport = function() {
+ return this.viewport_;
+};
+
+/**
+ * @return {ImageView} ImageView instance.
+ */
+ImageEditorMode.prototype.getImageView = function() {
+ return this.imageView_;
+};
+
+/**
+ * @return {string} The mode-specific message to be displayed when entering.
+ */
+ImageEditorMode.prototype.getMessage = function() {
+ return this.message_;
+};
+
+/**
+ * @return {boolean} True if the mode is applicable in the current context.
+ */
+ImageEditorMode.prototype.isApplicable = function() {
+ return true;
+};
+
+/**
+ * Called once after creating the mode button.
+ *
+ * @param {!HTMLElement} button The mode button.
+ * @param {!ImageBuffer} buffer
+ * @param {!Viewport} viewport
+ * @param {!ImageView} imageView
+ */
+
+ImageEditorMode.prototype.bind = function(button, buffer, viewport, imageView) {
+ this.button_ = button;
+ this.buffer_ = buffer;
+ this.viewport_ = viewport;
+ this.imageView_ = imageView;
+};
+
+/**
+ * Called before entering the mode.
+ */
+ImageEditorMode.prototype.setUp = function() {
+ this.buffer_.addOverlay(this);
+ this.updated_ = false;
+};
+
+/**
+ * Create mode-specific controls here.
+ * @param {!ImageEditorToolbar} toolbar The toolbar to populate.
+ */
+ImageEditorMode.prototype.createTools = function(toolbar) {};
+
+/**
+ * Called before exiting the mode.
+ */
+ImageEditorMode.prototype.cleanUpUI = function() {
+ this.buffer_.removeOverlay(this);
+};
+
+/**
+ * Called after exiting the mode.
+ */
+ImageEditorMode.prototype.cleanUpCaches = function() {};
+
+/**
+ * Called when any of the controls changed its value.
+ * @param {Object} options A map of options.
+ */
+ImageEditorMode.prototype.update = function(options) {
+ this.markUpdated();
+};
+
+/**
+ * Mark the editor mode as updated.
+ */
+ImageEditorMode.prototype.markUpdated = function() {
+ this.updated_ = true;
+};
+
+/**
+ * @return {boolean} True if the mode controls changed.
+ */
+ImageEditorMode.prototype.isUpdated = function() {
+ return this.updated_;
+};
+
+/**
+ * @return {boolean} True if a key event should be consumed by the mode.
+ */
+ImageEditorMode.prototype.isConsumingKeyEvents = function() {
+ return false;
+};
+
+/**
+ * Resets the mode to a clean state.
+ */
+ImageEditorMode.prototype.reset = function() {
+ this.updated_ = false;
+};
+
+/**
+ * @return {Command} Command.
+ */
+ImageEditorMode.prototype.getCommand = function() {
+ return null;
+};
+
+/**
+ * One-click editor tool, requires no interaction, just executes the command.
+ *
+ * @param {string} name The mode name.
+ * @param {string} title The mode title.
+ * @param {!Command} command The command to execute on click.
+ * @constructor
+ * @extends {ImageEditorMode}
+ * @struct
+ */
+ImageEditorMode.OneClick = function(name, title, command) {
+ ImageEditorMode.call(this, name, title);
+ this.instant = true;
+ this.command_ = command;
+};
+
+ImageEditorMode.OneClick.prototype = {
+ __proto__: ImageEditorMode.prototype
+};
+
+/**
+ * @override
+ */
+ImageEditorMode.OneClick.prototype.getCommand = function() {
+ return this.command_;
+};

Powered by Google App Engine
This is Rietveld 408576698