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

Side by Side Diff: chrome/browser/resources/file_manager/js/image_editor/image_editor.js

Issue 7828044: [filebrowser] First step to image editor. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 3 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 /** 5 /**
6 * ImageEditor is the top level object that holds together and connects 6 * ImageEditor is the top level object that holds together and connects
7 * everything needed for image editing. 7 * everything needed for image editing.
8 * @param {HTMLElement} container 8 * @param {HTMLElement} container
9 * @param {function(Blob)} saveCallback 9 * @param {function(Blob)} saveCallback
10 * @param {function()} closeCallback 10 * @param {function()} closeCallback
11 * @param {HTMLElement} toolbarContainer
11 */ 12 */
12 function ImageEditor(container, saveCallback, closeCallback) { 13 function ImageEditor(container, saveCallback, closeCallback, toolbarContainer) {
13 this.container_ = container; 14 this.container_ = container;
14 this.saveCallback_ = saveCallback; 15 this.saveCallback_ = saveCallback;
15 this.closeCallback_ = closeCallback; 16 this.closeCallback_ = closeCallback;
16 17
17 this.container_.innerHTML = ''; 18 this.container_.innerHTML = '';
18 19
19 var document = this.container_.ownerDocument; 20 var document = this.container_.ownerDocument;
20 21
21 this.canvasWrapper_ = document.createElement('div'); 22 this.canvasWrapper_ = document.createElement('div');
22 this.canvasWrapper_.className = 'canvas-wrapper'; 23 this.canvasWrapper_.className = 'canvas-wrapper';
23 container.appendChild(this.canvasWrapper_); 24 container.appendChild(this.canvasWrapper_);
24 25
25 var canvas = document.createElement('canvas'); 26 var canvas = document.createElement('canvas');
26 this.canvasWrapper_.appendChild(canvas); 27 this.canvasWrapper_.appendChild(canvas);
27 canvas.width = this.canvasWrapper_.clientWidth; 28 canvas.width = this.canvasWrapper_.clientWidth;
28 canvas.height = this.canvasWrapper_.clientHeight; 29 canvas.height = this.canvasWrapper_.clientHeight;
29 30
30 this.buffer_ = new ImageBuffer(canvas); 31 this.buffer_ = new ImageBuffer(canvas);
31 32
32 this.scaleControl_ = new ImageEditor.ScaleControl( 33 // We don't need this for now.
zel 2011/09/02 17:11:58 then remove it if it's not needed
dgozman 2011/09/06 14:18:47 Done.
33 this.canvasWrapper_, this.getBuffer().getViewport()); 34 // this.scaleControl_ = new ImageEditor.ScaleControl(
35 // this.canvasWrapper_, this.getBuffer().getViewport());
34 36
35 this.panControl_ = new ImageEditor.MouseControl(canvas, this.getBuffer()); 37 this.panControl_ = new ImageEditor.MouseControl(canvas, this.getBuffer());
36 38
37 this.toolbar_ = 39 this.toolbar_ = new ImageEditor.Toolbar(toolbarContainer,
38 new ImageEditor.Toolbar(container, this.onOptionsChange.bind(this)); 40 this.onOptionsChange.bind(this));
39 this.initToolbar(); 41 this.initToolbar();
40 } 42 }
41 43
42 /** 44 /**
43 * Create an ImageEditor instance bound to a current web page, load the content. 45 * Create an ImageEditor instance bound to a current web page, load the content.
44 * 46 *
45 * Use this method when image_editor.html is loaded into an iframe. 47 * Use this method when image_editor.html is loaded into an iframe.
46 * 48 *
47 * @param {function(Blob)} saveCallback 49 * @param {function(Blob)} saveCallback
48 * @param {function()} closeCallback 50 * @param {function()} closeCallback
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 if (this.currentMode_) 107 if (this.currentMode_)
106 this.currentMode_.update(options); 108 this.currentMode_.update(options);
107 ImageUtil.trace.reportTimer('update'); 109 ImageUtil.trace.reportTimer('update');
108 }; 110 };
109 111
110 ImageEditor.prototype.initToolbar = function() { 112 ImageEditor.prototype.initToolbar = function() {
111 this.toolbar_.clear(); 113 this.toolbar_.clear();
112 114
113 this.createModeButtons(); 115 this.createModeButtons();
114 this.toolbar_.addButton('Save', this.save.bind(this, true)); 116 this.toolbar_.addButton('Save', this.save.bind(this, true));
115 this.toolbar_.addButton('Close', this.close.bind(this, false)); 117 // this.toolbar_.addButton('Close', this.close.bind(this, false));
zel 2011/09/02 17:11:58 if this button is removed, please remove this line
dgozman 2011/09/06 14:18:47 Done.
116 }; 118 };
117 119
118 /** 120 /**
119 * ImageEditor.Mode represents a modal state dedicated to a specific operation. 121 * ImageEditor.Mode represents a modal state dedicated to a specific operation.
120 * Inherits from ImageBuffer.Overlay to simplify the drawing of 122 * Inherits from ImageBuffer.Overlay to simplify the drawing of
121 * mode-specific tools. 123 * mode-specific tools.
122 */ 124 */
123 125
124 ImageEditor.Mode = function(displayName) { 126 ImageEditor.Mode = function(displayName) {
125 this.displayName = displayName; 127 this.displayName = displayName;
(...skipping 418 matching lines...) Expand 10 before | Expand all | Expand 10 after
544 values[child.name] = child.getValue(); 546 values[child.name] = child.getValue();
545 } 547 }
546 return values; 548 return values;
547 }; 549 };
548 550
549 ImageEditor.Toolbar.prototype.reset = function() { 551 ImageEditor.Toolbar.prototype.reset = function() {
550 for (var child = this.wrapper_.firstChild; child; child = child.nextSibling) { 552 for (var child = this.wrapper_.firstChild; child; child = child.nextSibling) {
551 if (child.reset) child.reset(); 553 if (child.reset) child.reset();
552 } 554 }
553 }; 555 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698