Changes to Makefile so things build better. Start on a python script for releasing the HTML file
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@1929 eee81c28-f429-11dd-99c0-75d572ba1dddmaster
parent
97071abd0e
commit
af0599d632
62
Makefile
62
Makefile
|
@ -3,48 +3,57 @@ VERSION=2.6
|
||||||
PACKAGE=$(NAME)-$(VERSION)
|
PACKAGE=$(NAME)-$(VERSION)
|
||||||
MAKEDOCS=naturaldocs/NaturalDocs
|
MAKEDOCS=naturaldocs/NaturalDocs
|
||||||
CLOSURE=build/tools/closure-compiler.jar
|
CLOSURE=build/tools/closure-compiler.jar
|
||||||
YUICOMPRESS=build/tools/yuicompressor.jar
|
|
||||||
ZIP=zip
|
ZIP=zip
|
||||||
|
|
||||||
|
# All files that will be compiled by the Closure compiler.
|
||||||
|
JS_FILES=\
|
||||||
|
browser.js \
|
||||||
|
svgtransformlist.js \
|
||||||
|
math.js \
|
||||||
|
units.js \
|
||||||
|
svgutils.js \
|
||||||
|
sanitize.js \
|
||||||
|
history.js \
|
||||||
|
select.js \
|
||||||
|
draw.js \
|
||||||
|
svgcanvas.js \
|
||||||
|
svg-editor.js \
|
||||||
|
locale/locale.js
|
||||||
|
|
||||||
|
JS_INPUT_FILES=$(addprefix editor/, $(JS_FILES))
|
||||||
|
JS_BUILD_FILES=$(addprefix build/$(PACKAGE)/, $(JS_FILES))
|
||||||
|
CLOSURE_JS_ARGS=$(addprefix --js , $(JS_INPUT_FILES))
|
||||||
|
COMPILED_JS=editor/svgedit.compiled.js
|
||||||
|
|
||||||
all: release firefox opera
|
all: release firefox opera
|
||||||
|
|
||||||
build/$(PACKAGE):
|
# The build directory relies on the JS being compiled.
|
||||||
|
build/$(PACKAGE): $(COMPILED_JS)
|
||||||
rm -rf config
|
rm -rf config
|
||||||
mkdir config
|
mkdir config
|
||||||
if [ -x $(MAKEDOCS) ] ; then $(MAKEDOCS) -i editor/ -o html docs/ -p config/ -oft -r ; fi
|
if [ -x $(MAKEDOCS) ] ; then $(MAKEDOCS) -i editor/ -o html docs/ -p config/ -oft -r ; fi
|
||||||
|
|
||||||
|
# Make build directory and copy all editor contents into it
|
||||||
mkdir -p build/$(PACKAGE)
|
mkdir -p build/$(PACKAGE)
|
||||||
cp -r editor/* build/$(PACKAGE)
|
cp -r editor/* build/$(PACKAGE)
|
||||||
-find build/$(PACKAGE) -name .svn -type d -exec rm -rf {} \;
|
|
||||||
# minify spin button
|
# Remove all hidden .svn directories
|
||||||
java -jar $(YUICOMPRESS) build/$(PACKAGE)/spinbtn/JQuerySpinBtn.js > build/$(PACKAGE)/spinbtn/JQuerySpinBtn.min.js
|
-find build/$(PACKAGE) -name .svn -type d | xargs rm -rf {} \;
|
||||||
# minify SVG-edit files
|
|
||||||
java -jar $(YUICOMPRESS) build/$(PACKAGE)/svg-editor.js > build/$(PACKAGE)/svg-editor.min.js
|
# Remove all JS files that were compiled
|
||||||
java -jar $(YUICOMPRESS) build/$(PACKAGE)/svgcanvas.js > build/$(PACKAGE)/svgcanvas.min.js
|
rm $(JS_BUILD_FILES)
|
||||||
|
|
||||||
# codedread: NOTE: Some files are not ready for the Closure compiler: (jquery)
|
# codedread: NOTE: Some files are not ready for the Closure compiler: (jquery)
|
||||||
|
$(COMPILED_JS):
|
||||||
java -jar $(CLOSURE) \
|
java -jar $(CLOSURE) \
|
||||||
--js browser.js \
|
--compilation_level WHITESPACE_ONLY \
|
||||||
--js svgtransformlist.js \
|
$(CLOSURE_JS_ARGS) \
|
||||||
--js math.js \
|
--js_output_file $(COMPILED_JS)
|
||||||
--js units.js \
|
|
||||||
--js svgutils.js \
|
|
||||||
--js sanitize.js \
|
|
||||||
--js history.js \
|
|
||||||
--js select.js \
|
|
||||||
--js draw.js \
|
|
||||||
--js svgcanvas.js \
|
|
||||||
--js svg-editor.js \
|
|
||||||
--js locale/locale.js \
|
|
||||||
--js_output_file svgedit.compiled.js
|
|
||||||
|
|
||||||
# CSS files do not work remotely
|
|
||||||
# java -jar $(YUICOMPRESS) build/$(PACKAGE)/spinbtn/JQuerySpinBtn.css > build/$(PACKAGE)/spinbtn/JQuerySpinBtn.min.css
|
|
||||||
# java -jar $(YUICOMPRESS) build/$(PACKAGE)/svg-editor.css > build/$(PACKAGE)/svg-editor.min.css
|
|
||||||
|
|
||||||
release: build/$(PACKAGE)
|
release: build/$(PACKAGE)
|
||||||
cd build ; $(ZIP) $(PACKAGE).zip -r $(PACKAGE) ; cd ..
|
cd build ; $(ZIP) $(PACKAGE).zip -r $(PACKAGE) ; cd ..
|
||||||
tar -z -c -f build/$(PACKAGE)-src.tar.gz \
|
tar -z -c -f build/$(PACKAGE)-src.tar.gz \
|
||||||
--exclude-vcs \
|
--exclude='\.svn' \
|
||||||
--exclude='build/*' \
|
--exclude='build/*' \
|
||||||
.
|
.
|
||||||
|
|
||||||
|
@ -66,3 +75,4 @@ clean:
|
||||||
rm -rf build/$(PACKAGE)
|
rm -rf build/$(PACKAGE)
|
||||||
rm -rf build/firefox
|
rm -rf build/firefox
|
||||||
rm -rf build/opera
|
rm -rf build/opera
|
||||||
|
rm -rf $(COMPILED_JS)
|
||||||
|
|
|
@ -0,0 +1,62 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
# ship.py
|
||||||
|
#
|
||||||
|
# Licensed under the Apache 2 License as is the rest of the project
|
||||||
|
#
|
||||||
|
# Copyright (c) 2011 Jeff Schiller
|
||||||
|
#
|
||||||
|
# This script takes the following inputs:
|
||||||
|
#
|
||||||
|
# * a HTML file
|
||||||
|
# * a series of flag names
|
||||||
|
#
|
||||||
|
# It parses, the HTML file, enables/disables sections of the makrup based
|
||||||
|
# on conditional comments and flag values, then outputs a new HTML file.
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
#
|
||||||
|
# in.html:
|
||||||
|
# <!--{if foo}>
|
||||||
|
# FOO!
|
||||||
|
# <!{else}-->
|
||||||
|
# BAR!
|
||||||
|
# <!--{endif}-->
|
||||||
|
#
|
||||||
|
# $ ship.py --i in.html --o test-out.html --enable foo
|
||||||
|
#
|
||||||
|
# out.html:
|
||||||
|
# <!--{if foo}-->
|
||||||
|
# FOO!
|
||||||
|
# <!--{else}>
|
||||||
|
# BAR!
|
||||||
|
# <!{endif}-->
|
||||||
|
#
|
||||||
|
# Only if-else-endif are currently supported. All conditional comment expressions must
|
||||||
|
# be on one line with no other non-whitespace characters.
|
||||||
|
|
||||||
|
import optparse
|
||||||
|
|
||||||
|
_options_parser = optparse.OptionParser(
|
||||||
|
usage="%prog --i input.svg --o output.svg [--enable flag1]",
|
||||||
|
description=("Hello world!"))
|
||||||
|
_options_parser.add_option("--i",
|
||||||
|
action="store", dest="input_html_file", help="Input HTML filename")
|
||||||
|
_options_parser.add_option("--o",
|
||||||
|
action="store", dest="output_html_file", help="Output HTML filename")
|
||||||
|
_options_parser.add_option("--on",
|
||||||
|
action="append", type="string", dest="enabled_flags",
|
||||||
|
help="name of flag to enable")
|
||||||
|
|
||||||
|
def parse_args(args=None):
|
||||||
|
options, rargs = _options_parser.parse_args(args)
|
||||||
|
print options
|
||||||
|
|
||||||
|
if rargs:
|
||||||
|
_options_parser.error("Additional arguments not handled: %r, see --help" % rargs)
|
||||||
|
|
||||||
|
return options, (None, None)
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
options, (input, output) = parse_args()
|
|
@ -8,6 +8,11 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// Dependencies
|
||||||
|
// 1) jQuery
|
||||||
|
// 2) svgcanvas.js
|
||||||
|
// 3) svg-editor.js
|
||||||
|
|
||||||
var svgEditor = (function($, Editor) {
|
var svgEditor = (function($, Editor) {
|
||||||
|
|
||||||
var lang_param;
|
var lang_param;
|
||||||
|
@ -47,7 +52,6 @@ var svgEditor = (function($, Editor) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Editor.readLang = function(langData) {
|
Editor.readLang = function(langData) {
|
||||||
var more = Editor.canvas.runExtensions("addlangData", lang_param, true);
|
var more = Editor.canvas.runExtensions("addlangData", lang_param, true);
|
||||||
$.each(more, function(i, m) {
|
$.each(more, function(i, m) {
|
||||||
|
@ -133,9 +137,7 @@ var svgEditor = (function($, Editor) {
|
||||||
|
|
||||||
svginfo_grid_settings: config.grid,
|
svginfo_grid_settings: config.grid,
|
||||||
svginfo_snap_onoff: config.snapping_onoff,
|
svginfo_snap_onoff: config.snapping_onoff,
|
||||||
svginfo_snap_step: config.snapping_stepsize,
|
svginfo_snap_step: config.snapping_stepsize
|
||||||
|
|
||||||
|
|
||||||
}, true);
|
}, true);
|
||||||
|
|
||||||
// Shape categories
|
// Shape categories
|
||||||
|
|
|
@ -9,38 +9,39 @@
|
||||||
<link rel="stylesheet" href="jgraduate/css/jgraduate.css" type="text/css"/>
|
<link rel="stylesheet" href="jgraduate/css/jgraduate.css" type="text/css"/>
|
||||||
<link rel="stylesheet" href="svg-editor.css" type="text/css"/>
|
<link rel="stylesheet" href="svg-editor.css" type="text/css"/>
|
||||||
<link rel="stylesheet" href="spinbtn/JQuerySpinBtn.css" type="text/css"/>
|
<link rel="stylesheet" href="spinbtn/JQuerySpinBtn.css" type="text/css"/>
|
||||||
<!-- Development version of script tags: -->
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<!--script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.js"></script-->
|
|
||||||
<script type="text/javascript" src="js-hotkeys/jquery.hotkeys.min.js"></script>
|
|
||||||
<script type="text/javascript" src="jgraduate/jquery.jgraduate.js"></script>
|
|
||||||
<script type="text/javascript" src="svgicons/jquery.svgicons.js"></script>
|
|
||||||
<script type="text/javascript" src="jquerybbq/jquery.bbq.min.js"></script>
|
|
||||||
<script type="text/javascript" src="spinbtn/JQuerySpinBtn.js"></script>
|
|
||||||
<script type="text/javascript" src="contextmenu/jquery.contextMenu.js"></script>
|
|
||||||
<script type="text/javascript" src="browser.js"></script>
|
|
||||||
<script type="text/javascript" src="svgtransformlist.js"></script>
|
|
||||||
<script type="text/javascript" src="math.js"></script>
|
|
||||||
<script type="text/javascript" src="units.js"></script>
|
|
||||||
<script type="text/javascript" src="svgutils.js"></script>
|
|
||||||
<script type="text/javascript" src="sanitize.js"></script>
|
|
||||||
<script type="text/javascript" src="history.js"></script>
|
|
||||||
<script type="text/javascript" src="select.js"></script>
|
|
||||||
<script type="text/javascript" src="draw.js"></script>
|
|
||||||
<script type="text/javascript" src="svgcanvas.js"></script>
|
|
||||||
<script type="text/javascript" src="svg-editor.js"></script>
|
|
||||||
<script type="text/javascript" src="locale/locale.js"></script>
|
|
||||||
<!-- you can load extensions here -->
|
|
||||||
<!-- <script type="text/javascript" src="extensions/ext-helloworld.js"></script> -->
|
|
||||||
|
|
||||||
<!-- Release version of script tags: >
|
<!--{if jquery_release}>
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
<script type="text/javascript" src="js-hotkeys/jquery.hotkeys-0.7.9.js"></script>
|
<!{else}-->
|
||||||
|
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.js"></script>
|
||||||
|
<!--{endif}-->
|
||||||
|
|
||||||
|
<script type="text/javascript" src="js-hotkeys/jquery.hotkeys.min.js"></script>
|
||||||
<script type="text/javascript" src="jquerybbq/jquery.bbq.min.js"></script>
|
<script type="text/javascript" src="jquerybbq/jquery.bbq.min.js"></script>
|
||||||
|
<script type="text/javascript" src="svgicons/jquery.svgicons.js"></script>
|
||||||
<script type="text/javascript" src="jgraduate/jquery.jgraduate.min.js"></script>
|
<script type="text/javascript" src="jgraduate/jquery.jgraduate.min.js"></script>
|
||||||
<script type="text/javascript" src="spinbtn/JQuerySpinBtn.min.js"></script>
|
<script type="text/javascript" src="spinbtn/JQuerySpinBtn.min.js"></script>
|
||||||
<script type="text/javascript" src="svgedit.compiled.js"></script>
|
<script type="text/javascript" src="contextmenu/jquery.contextMenu.min.js"></script>
|
||||||
-->
|
|
||||||
|
<!--{if svg_edit_release}>
|
||||||
|
<script type="text/javascript" src="svgedit.compiled.js"></script>
|
||||||
|
<{else}-->
|
||||||
|
<script type="text/javascript" src="browser.js"></script>
|
||||||
|
<script type="text/javascript" src="svgtransformlist.js"></script>
|
||||||
|
<script type="text/javascript" src="math.js"></script>
|
||||||
|
<script type="text/javascript" src="units.js"></script>
|
||||||
|
<script type="text/javascript" src="svgutils.js"></script>
|
||||||
|
<script type="text/javascript" src="sanitize.js"></script>
|
||||||
|
<script type="text/javascript" src="history.js"></script>
|
||||||
|
<script type="text/javascript" src="select.js"></script>
|
||||||
|
<script type="text/javascript" src="draw.js"></script>
|
||||||
|
<script type="text/javascript" src="svgcanvas.js"></script>
|
||||||
|
<script type="text/javascript" src="svg-editor.js"></script>
|
||||||
|
<script type="text/javascript" src="locale/locale.js"></script>
|
||||||
|
<!--{endif}-->
|
||||||
|
|
||||||
|
<!-- you can load extensions here -->
|
||||||
|
<!-- <script type="text/javascript" src="extensions/ext-helloworld.js"></script> -->
|
||||||
|
|
||||||
<!-- always minified scripts -->
|
<!-- always minified scripts -->
|
||||||
<script type="text/javascript" src="jquery-ui/jquery-ui-1.8.custom.min.js"></script>
|
<script type="text/javascript" src="jquery-ui/jquery-ui-1.8.custom.min.js"></script>
|
||||||
|
|
|
@ -2827,9 +2827,6 @@ var getMouseTarget = this.getMouseTarget = function(evt) {
|
||||||
|
|
||||||
// in this function we do not record any state changes yet (but we do update
|
// in this function we do not record any state changes yet (but we do update
|
||||||
// any elements that are still being created, moved or resized on the canvas)
|
// any elements that are still being created, moved or resized on the canvas)
|
||||||
// TODO: svgcanvas should just retain a reference to the image being dragged instead
|
|
||||||
// of the getId() and getElementById() funkiness - this will help us customize the ids
|
|
||||||
// a little bit for squares and paths
|
|
||||||
var mouseMove = function(evt)
|
var mouseMove = function(evt)
|
||||||
{
|
{
|
||||||
if (!started) return;
|
if (!started) return;
|
||||||
|
@ -2839,7 +2836,6 @@ var getMouseTarget = this.getMouseTarget = function(evt) {
|
||||||
mouse_x = pt.x * current_zoom,
|
mouse_x = pt.x * current_zoom,
|
||||||
mouse_y = pt.y * current_zoom,
|
mouse_y = pt.y * current_zoom,
|
||||||
shape = getElem(getId());
|
shape = getElem(getId());
|
||||||
|
|
||||||
// IE9 gives the wrong root_sctm
|
// IE9 gives the wrong root_sctm
|
||||||
// TODO: Use non-browser sniffing way to make this work
|
// TODO: Use non-browser sniffing way to make this work
|
||||||
if($.browser.msie) {
|
if($.browser.msie) {
|
||||||
|
@ -3567,8 +3563,10 @@ var getMouseTarget = this.getMouseTarget = function(evt) {
|
||||||
return false;
|
return false;
|
||||||
};
|
};
|
||||||
|
|
||||||
$(container).mousedown(mouseDown).mousemove(mouseMove).click(handleLinkInCanvas).dblclick(dblClick);
|
// Added mouseup to the container here.
|
||||||
$(window).mouseup(mouseUp);
|
// TODO(codedread): Figure out why after the Closure compiler, the window mouseup is ignored.
|
||||||
|
$(container).mousedown(mouseDown).mousemove(mouseMove).click(handleLinkInCanvas).dblclick(dblClick).mouseup(mouseUp);
|
||||||
|
// $(window).mouseup(mouseUp);
|
||||||
|
|
||||||
$(container).bind("mousewheel DOMMouseScroll", function(e){
|
$(container).bind("mousewheel DOMMouseScroll", function(e){
|
||||||
if(!e.shiftKey) return;
|
if(!e.shiftKey) return;
|
||||||
|
@ -7016,7 +7014,7 @@ this.cloneLayer = function(name) {
|
||||||
// Deletes the current layer from the drawing and then clears the selection. This function
|
// Deletes the current layer from the drawing and then clears the selection. This function
|
||||||
// then calls the 'changed' handler. This is an undoable action.
|
// then calls the 'changed' handler. This is an undoable action.
|
||||||
this.deleteCurrentLayer = function() {
|
this.deleteCurrentLayer = function() {
|
||||||
if (current_layer && current_drawing.all_layers.length > 1) {
|
if (current_layer && current_drawing.getNumLayers() > 1) {
|
||||||
var batchCmd = new BatchCommand("Delete Layer");
|
var batchCmd = new BatchCommand("Delete Layer");
|
||||||
// actually delete from the DOM and store in our Undo History
|
// actually delete from the DOM and store in our Undo History
|
||||||
var parent = current_layer.parentNode;
|
var parent = current_layer.parentNode;
|
||||||
|
@ -7026,7 +7024,7 @@ this.deleteCurrentLayer = function() {
|
||||||
addCommandToHistory(batchCmd);
|
addCommandToHistory(batchCmd);
|
||||||
clearSelection();
|
clearSelection();
|
||||||
identifyLayers();
|
identifyLayers();
|
||||||
canvas.setCurrentLayer(current_drawing.all_layers[current_drawing.all_layers.length-1][0]);
|
canvas.setCurrentLayer(current_drawing.getLayer(current_drawing.getNumLayers()));
|
||||||
call("changed", [svgcontent]);
|
call("changed", [svgcontent]);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -7042,7 +7040,7 @@ this.deleteCurrentLayer = function() {
|
||||||
this.getCurrentLayer = function() {
|
this.getCurrentLayer = function() {
|
||||||
for (var i = 0; i < current_drawing.getNumLayers(); ++i) {
|
for (var i = 0; i < current_drawing.getNumLayers(); ++i) {
|
||||||
if (current_drawing.all_layers[i][1] == current_layer) {
|
if (current_drawing.all_layers[i][1] == current_layer) {
|
||||||
return current_drawing.all_layers[i][0];
|
return current_drawing.getLayer(i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return "";
|
return "";
|
||||||
|
@ -7059,8 +7057,8 @@ this.getCurrentLayer = function() {
|
||||||
// true if the current layer was switched, otherwise false
|
// true if the current layer was switched, otherwise false
|
||||||
this.setCurrentLayer = function(name) {
|
this.setCurrentLayer = function(name) {
|
||||||
name = svgedit.utilities.toXml(name);
|
name = svgedit.utilities.toXml(name);
|
||||||
for (var i = 0; i < current_drawing.all_layers.length; ++i) {
|
for (var i = 0; i < current_drawing.getNumLayers(); ++i) {
|
||||||
if (name == current_drawing.all_layers[i][0]) {
|
if (name == current_drawing.getLayer(i)) {
|
||||||
if (current_layer != current_drawing.all_layers[i][1]) {
|
if (current_layer != current_drawing.all_layers[i][1]) {
|
||||||
clearSelection();
|
clearSelection();
|
||||||
current_layer.setAttribute("style", "pointer-events:none");
|
current_layer.setAttribute("style", "pointer-events:none");
|
||||||
|
@ -7090,10 +7088,10 @@ this.renameCurrentLayer = function(newname) {
|
||||||
if (!canvas.setCurrentLayer(newname)) {
|
if (!canvas.setCurrentLayer(newname)) {
|
||||||
var batchCmd = new BatchCommand("Rename Layer");
|
var batchCmd = new BatchCommand("Rename Layer");
|
||||||
// find the index of the layer
|
// find the index of the layer
|
||||||
for (var i = 0; i < current_drawing.all_layers.length; ++i) {
|
for (var i = 0; i < current_drawing.getNumLayers(); ++i) {
|
||||||
if (current_drawing.all_layers[i][1] == oldLayer) break;
|
if (current_drawing.all_layers[i][1] == oldLayer) break;
|
||||||
}
|
}
|
||||||
var oldname = current_drawing.all_layers[i][0];
|
var oldname = current_drawing.getLayer(i);
|
||||||
current_drawing.all_layers[i][0] = svgedit.utilities.toXml(newname);
|
current_drawing.all_layers[i][0] = svgedit.utilities.toXml(newname);
|
||||||
|
|
||||||
// now change the underlying title element contents
|
// now change the underlying title element contents
|
||||||
|
@ -7130,19 +7128,19 @@ this.renameCurrentLayer = function(newname) {
|
||||||
// Returns:
|
// Returns:
|
||||||
// true if the current layer position was changed, false otherwise.
|
// true if the current layer position was changed, false otherwise.
|
||||||
this.setCurrentLayerPosition = function(newpos) {
|
this.setCurrentLayerPosition = function(newpos) {
|
||||||
if (current_layer && newpos >= 0 && newpos < current_drawing.all_layers.length) {
|
if (current_layer && newpos >= 0 && newpos < current_drawing.getNumLayers()) {
|
||||||
for (var oldpos = 0; oldpos < current_drawing.all_layers.length; ++oldpos) {
|
for (var oldpos = 0; oldpos < current_drawing.getNumLayers(); ++oldpos) {
|
||||||
if (current_drawing.all_layers[oldpos][1] == current_layer) break;
|
if (current_drawing.all_layers[oldpos][1] == current_layer) break;
|
||||||
}
|
}
|
||||||
// some unknown error condition (current_layer not in all_layers)
|
// some unknown error condition (current_layer not in all_layers)
|
||||||
if (oldpos == current_drawing.all_layers.length) { return false; }
|
if (oldpos == current_drawing.getNumLayers()) { return false; }
|
||||||
|
|
||||||
if (oldpos != newpos) {
|
if (oldpos != newpos) {
|
||||||
// if our new position is below us, we need to insert before the node after newpos
|
// if our new position is below us, we need to insert before the node after newpos
|
||||||
var refLayer = null;
|
var refLayer = null;
|
||||||
var oldNextSibling = current_layer.nextSibling;
|
var oldNextSibling = current_layer.nextSibling;
|
||||||
if (newpos > oldpos ) {
|
if (newpos > oldpos ) {
|
||||||
if (newpos < current_drawing.all_layers.length-1) {
|
if (newpos < current_drawing.getNumLayers()-1) {
|
||||||
refLayer = current_drawing.all_layers[newpos+1][1];
|
refLayer = current_drawing.all_layers[newpos+1][1];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7154,7 +7152,7 @@ this.setCurrentLayerPosition = function(newpos) {
|
||||||
addCommandToHistory(new MoveElementCommand(current_layer, oldNextSibling, svgcontent));
|
addCommandToHistory(new MoveElementCommand(current_layer, oldNextSibling, svgcontent));
|
||||||
|
|
||||||
identifyLayers();
|
identifyLayers();
|
||||||
canvas.setCurrentLayer(current_drawing.all_layers[newpos][0]);
|
canvas.setCurrentLayer(current_drawing.getLayer(newpos));
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -7175,8 +7173,8 @@ this.setCurrentLayerPosition = function(newpos) {
|
||||||
this.getLayerVisibility = function(layername) {
|
this.getLayerVisibility = function(layername) {
|
||||||
// find the layer
|
// find the layer
|
||||||
var layer = null;
|
var layer = null;
|
||||||
for (var i = 0; i < current_drawing.all_layers.length; ++i) {
|
for (var i = 0; i < current_drawing.getNumLayers(); ++i) {
|
||||||
if (current_drawing.all_layers[i][0] == layername) {
|
if (current_drawing.getLayer(i) == layername) {
|
||||||
layer = current_drawing.all_layers[i][1];
|
layer = current_drawing.all_layers[i][1];
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -7198,8 +7196,8 @@ this.getLayerVisibility = function(layername) {
|
||||||
this.setLayerVisibility = function(layername, bVisible) {
|
this.setLayerVisibility = function(layername, bVisible) {
|
||||||
// find the layer
|
// find the layer
|
||||||
var layer = null;
|
var layer = null;
|
||||||
for (var i = 0; i < current_drawing.all_layers.length; ++i) {
|
for (var i = 0; i < current_drawing.getNumLayers(); ++i) {
|
||||||
if (current_drawing.all_layers[i][0] == layername) {
|
if (current_drawing.getLayer(i) == layername) {
|
||||||
layer = current_drawing.all_layers[i][1];
|
layer = current_drawing.all_layers[i][1];
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -7232,8 +7230,8 @@ this.setLayerVisibility = function(layername, bVisible) {
|
||||||
this.moveSelectedToLayer = function(layername) {
|
this.moveSelectedToLayer = function(layername) {
|
||||||
// find the layer
|
// find the layer
|
||||||
var layer = null;
|
var layer = null;
|
||||||
for (var i = 0; i < current_drawing.all_layers.length; ++i) {
|
for (var i = 0; i < current_drawing.getNumLayers(); ++i) {
|
||||||
if (current_drawing.all_layers[i][0] == layername) {
|
if (current_drawing.getLayer(i) == layername) {
|
||||||
layer = current_drawing.all_layers[i][1];
|
layer = current_drawing.all_layers[i][1];
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -7300,7 +7298,7 @@ this.mergeLayer = function(skipHistory) {
|
||||||
|
|
||||||
this.mergeAllLayers = function() {
|
this.mergeAllLayers = function() {
|
||||||
var batchCmd = new BatchCommand("Merge all Layers");
|
var batchCmd = new BatchCommand("Merge all Layers");
|
||||||
current_layer = current_drawing.all_layers[current_drawing.all_layers.length-1][1];
|
current_layer = current_drawing.all_layers[current_drawing.getNumLayers()-1][1];
|
||||||
while($(svgcontent).children('g').length > 1) {
|
while($(svgcontent).children('g').length > 1) {
|
||||||
batchCmd.addSubCommand(canvas.mergeLayer(true));
|
batchCmd.addSubCommand(canvas.mergeLayer(true));
|
||||||
}
|
}
|
||||||
|
@ -7321,8 +7319,8 @@ this.mergeAllLayers = function() {
|
||||||
// The opacity value of the given layer. This will be a value between 0.0 and 1.0, or null
|
// The opacity value of the given layer. This will be a value between 0.0 and 1.0, or null
|
||||||
// if layername is not a valid layer
|
// if layername is not a valid layer
|
||||||
this.getLayerOpacity = function(layername) {
|
this.getLayerOpacity = function(layername) {
|
||||||
for (var i = 0; i < current_drawing.all_layers.length; ++i) {
|
for (var i = 0; i < current_drawing.getNumLayers(); ++i) {
|
||||||
if (current_drawing.all_layers[i][0] == layername) {
|
if (current_drawing.getLayer(i) == layername) {
|
||||||
var g = current_drawing.all_layers[i][1];
|
var g = current_drawing.all_layers[i][1];
|
||||||
var opacity = g.getAttribute("opacity");
|
var opacity = g.getAttribute("opacity");
|
||||||
if (!opacity) {
|
if (!opacity) {
|
||||||
|
@ -7347,8 +7345,8 @@ this.getLayerOpacity = function(layername) {
|
||||||
// opacity - a float value in the range 0.0-1.0
|
// opacity - a float value in the range 0.0-1.0
|
||||||
this.setLayerOpacity = function(layername, opacity) {
|
this.setLayerOpacity = function(layername, opacity) {
|
||||||
if (opacity < 0.0 || opacity > 1.0) return;
|
if (opacity < 0.0 || opacity > 1.0) return;
|
||||||
for (var i = 0; i < current_drawing.all_layers.length; ++i) {
|
for (var i = 0; i < current_drawing.getNumLayers(); ++i) {
|
||||||
if (current_drawing.all_layers[i][0] == layername) {
|
if (current_drawing.getLayer(i) == layername) {
|
||||||
var g = current_drawing.all_layers[i][1];
|
var g = current_drawing.all_layers[i][1];
|
||||||
g.setAttribute("opacity", opacity);
|
g.setAttribute("opacity", opacity);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue