From 10c67ccb3538f9c6f5138e82d308bed662c704d8 Mon Sep 17 00:00:00 2001 From: mkwiser Date: Wed, 6 Jan 2016 00:17:51 +0800 Subject: [PATCH] Delete glyfeditor.js --- src/fonteditor/widget/glyfeditor.js | 311 ---------------------------- 1 file changed, 311 deletions(-) delete mode 100644 src/fonteditor/widget/glyfeditor.js diff --git a/src/fonteditor/widget/glyfeditor.js b/src/fonteditor/widget/glyfeditor.js deleted file mode 100644 index 6ecf3b1..0000000 --- a/src/fonteditor/widget/glyfeditor.js +++ /dev/null @@ -1,311 +0,0 @@ -/** - * @file 字形编辑器 - * @author mengke01(kekee000@gmail.com) - */ - - -define( - function (require) { - - var editorFactory = require('editor/main'); - var editorOptions = require('editor/options'); - var settingSupport = require('../dialog/support'); - var program = require('./program'); - var lang = require('common/lang'); - - - // 支持的命令列表 - var COMMAND_SUPPORT = { - // 形状组 - shapes: [ - 'copyshapes', 'removeshapes', 'reversepoints', - 'horizontalalignshapes', 'verticalalignshapes', - 'rotateleft', 'rotateright', 'flipshapes', 'mirrorshapes' - ], - shapes2: [ - 'joinshapes', 'intersectshapes', 'tangencyshapes' - ], - // 单个形状 - shape: ['pointmode', 'upshape', 'downshape'] - }; - - - /** - * 绑定editor编辑器 - */ - function bindEditor() { - - // 设置字形信息 - var me = this; - var editor = this.editor; - var delayFocus = lang.debounce(function () { - me.focus(); - }, 20); - - editor.on('setting:font', function (e) { - var SettingGlyf = settingSupport.glyf; - !new SettingGlyf({ - onChange: function (setting) { - editor.adjustFont(setting); - // 此处需要等待点击完成后设置focus状态 - delayFocus(); - } - }).show(e.setting); - }); - - editor.on('setting:editor', function (e) { - var SettingEditor = settingSupport.editor; - var dlg = new SettingEditor({ - onChange: function (setting) { - setTimeout(function () { - program.viewer.setSetting(setting.viewer); - me.setSetting(setting.editor); - }, 20); - } - }); - dlg.show({ - viewer: program.viewer.getSetting(), - editor: e.setting - }); - }); - - var commandMenu = this.commandMenu; - if (commandMenu) { - - editor.on('selection:change', lang.debounce(function (e) { - var length = e.shapes ? e.shapes.length : 0; - if (!length) { - commandMenu.disableCommands(COMMAND_SUPPORT.shapes); - commandMenu.disableCommands(COMMAND_SUPPORT.shapes2); - commandMenu.disableCommands(COMMAND_SUPPORT.shape); - } - else { - commandMenu.enableCommands(COMMAND_SUPPORT.shapes); - commandMenu[length >= 2 ? 'enableCommands' : 'disableCommands'](COMMAND_SUPPORT.shapes2); - commandMenu[length === 1 ? 'enableCommands' : 'disableCommands'](COMMAND_SUPPORT.shape); - } - }), 100); - - commandMenu.on('command', function (e) { - - // 这里延时进行focus - delayFocus(); - - var command = e.command; - var args = e.args; - var shapes; - - if (command === 'save') { - program.fire('save', { - saveType: 'editor' - }); - return; - } - - if (command === 'splitshapes') { - editor.setMode('split'); - return; - } - - if (command === 'pasteshapes') { - shapes = editor.getClipBoard(); - } - else { - shapes = editor.getSelected(); - } - - if (shapes && shapes.length) { - switch (command) { - case 'pointmode': - editor.setMode('point', shapes[0]); - break; - case 'topshape': - case 'bottomshape': - case 'upshape': - case 'downshape': - editor.execCommand(command, shapes[0]); - break; - - case 'copyshapes': - case 'pasteshapes': - case 'removeshapes': - case 'joinshapes': - case 'intersectshapes': - case 'tangencyshapes': - case 'rotateleft': - case 'rotateright': - case 'flipshapes': - case 'mirrorshapes': - case 'cutshapes': - case 'copyshapes': - case 'removeshapes': - case 'reversepoints': - case 'joinshapes': - case 'intersectshapes': - case 'tangencyshapes': - editor.execCommand(command, shapes); - break; - - case 'alignshapes': - case 'verticalalignshapes': - case 'horizontalalignshapes': - editor.execCommand(command, shapes, args.align); - break; - } - } - else if (command === 'rangemode') { - editor.setMode('bound'); - } - }); - } - } - - /** - * 执行指定命令 - * - * @param {string} command 命令名 - */ - function execCommand() { - if (this.editor) { - this.editor.execCommand.apply(this.editor, arguments); - } - } - - /** - * font查看器 - * - * @constructor - * @param {HTMLElement} main 主元素 - * @param {Object} options 参数 - * @param {CommandMenu} options.commandMenu 命令菜单对象 - */ - function GLYFEditor(main, options) { - - this.main = $(main); - this.options = lang.extend({}, options); - - if (this.options.commandMenu) { - this.commandMenu = this.options.commandMenu; - delete this.options.commandMenu; - } - } - - /** - * 显示 - */ - GLYFEditor.prototype.show = function () { - // 这里注意显示顺序,否则editor创建的时候计算宽度会错误 - this.main.show(); - - if (!this.editor) { - this.editor = editorFactory.create(this.main.get(0)); - bindEditor.call(this); - } - - this.editing = true; - }; - - /** - * 隐藏 - */ - GLYFEditor.prototype.hide = function () { - this.editor && this.editor.blur(); - this.main.hide(); - this.editing = false; - }; - - /** - * 是否编辑中 - * @return {boolean} 是否 - */ - GLYFEditor.prototype.isEditing = function () { - return this.editing; - }; - - /** - * 是否可见 - * @return {boolean} 是否 - */ - GLYFEditor.prototype.isVisible = function () { - return this.editor && this.main.get(0).style.display !== 'none'; - }; - - /** - * 获取焦点 - */ - GLYFEditor.prototype.focus = function () { - this.editing = true; - this.editor && this.editor.focus(); - }; - - /** - * 失去焦点 - */ - GLYFEditor.prototype.blur = function () { - this.editing = false; - this.editor && this.editor.blur(); - }; - - /** - * 撤销 - */ - GLYFEditor.prototype.undo = function () { - execCommand.call(this, 'undo'); - }; - - /** - * 重做 - */ - GLYFEditor.prototype.redo = function () { - execCommand.call(this, 'redo'); - }; - - /** - * 设置项目 - * @param {Object} options 参数集合 - */ - GLYFEditor.prototype.setSetting = function (options) { - if (this.editor) { - this.editor.setOptions(options); - } - else { - lang.overwrite(editorOptions.editor, options); - } - }; - - /** - * 获取设置项目 - * @return {Object} 设置项目 - */ - GLYFEditor.prototype.getSetting = function () { - return this.editor ? this.editor.options : editorOptions.editor; - }; - - - /** - * 获取设置项目 - * @return {Object} 设置项目 - */ - GLYFEditor.prototype.execCommand = execCommand; - - /** - * 注销 - */ - GLYFEditor.prototype.dispose = function () { - this.editor.dispose(); - this.main = this.options = this.editor = null; - }; - - // 导出editor的函数 - [ - 'reset', 'setFont', 'getFont', - 'isChanged', 'setChanged', 'setAxis', 'adjustFont' - ].forEach(function (fn) { - GLYFEditor.prototype[fn] = function () { - return this.editor ? this.editor[fn].apply(this.editor, arguments) : undefined; - }; - }); - - return GLYFEditor; - } -);