Skip to content

Commit

Permalink
adding pathseglist shim
Browse files Browse the repository at this point in the history
  • Loading branch information
Mark MacKay committed Dec 7, 2015
1 parent 3694a96 commit 8531c6f
Show file tree
Hide file tree
Showing 11 changed files with 3,091 additions and 767 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ YUICOMPRESSOR=build/tools/yuicompressor-2.4.7.jar
# All files that will be compiled by the Closure compiler.

JS_FILES=\
lib/pathseg.js \
lib/touch.js \
lib/js-hotkeys/jquery.hotkeys.min.js \
lib/jquerybbq/jquery.bbq.min.js \
Expand Down Expand Up @@ -84,7 +85,6 @@ $(COMPILED_JS):
--compilation_level SIMPLE_OPTIMIZATIONS \
$(CLOSURE_JS_ARGS) \
--js_output_file $(COMPILED_JS)
rm editor/method-draw.compiled.js

compile: $(COMPILED_JS) $(COMPILED_CSS)

Expand Down
1 change: 1 addition & 0 deletions editor/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
<!--{if svg_edit_release}>
<script type="text/javascript" src="method-draw.compiled.js"></script>
<!{else}-->
<script type="text/javascript" src="lib/pathseg.js"></script>
<script type="text/javascript" src="lib/touch.js"></script>
<script type="text/javascript" src="lib/js-hotkeys/jquery.hotkeys.min.js"></script>
<script type="text/javascript" src="lib/jquerybbq/jquery.bbq.min.js"></script>
Expand Down
811 changes: 811 additions & 0 deletions editor/lib/pathseg.js

Large diffs are not rendered by default.

761 changes: 761 additions & 0 deletions editor/method-draw.compiled.js

Large diffs are not rendered by default.

27 changes: 0 additions & 27 deletions editor/src/browser.js
Original file line number Diff line number Diff line change
Expand Up @@ -48,31 +48,6 @@ var supportsXpath_ = (function() {
return !!document.evaluate;
})();

// segList functions (for FF1.5 and 2.0)
var supportsPathReplaceItem_ = (function() {
var path = document.createElementNS(svgns, 'path');
path.setAttribute('d','M0,0 10,10');
var seglist = path.pathSegList;
var seg = path.createSVGPathSegLinetoAbs(5,5);
try {
seglist.replaceItem(seg, 0);
return true;
} catch(err) {}
return false;
})();

var supportsPathInsertItemBefore_ = (function() {
var path = document.createElementNS(svgns,'path');
path.setAttribute('d','M0,0 10,10');
var seglist = path.pathSegList;
var seg = path.createSVGPathSegLinetoAbs(5,5);
try {
seglist.insertItemBefore(seg, 0);
return true;
} catch(err) {}
return false;
})();

// text character positioning (for IE9)
var supportsGoodTextCharPos_ = (function() {
var retValue = false;
Expand Down Expand Up @@ -166,8 +141,6 @@ svgedit.browser.isTouch = function() { return isTouch_; }
svgedit.browser.supportsSelectors = function() { return supportsSelectors_; }
svgedit.browser.supportsXpath = function() { return supportsXpath_; }

svgedit.browser.supportsPathReplaceItem = function() { return supportsPathReplaceItem_; }
svgedit.browser.supportsPathInsertItemBefore = function() { return supportsPathInsertItemBefore_; }
svgedit.browser.supportsPathBBox = function() { return supportsPathBBox_; }
svgedit.browser.supportsHVLineContainerBBox = function() { return supportsHVLineContainerBBox_; }
svgedit.browser.supportsGoodTextCharPos = function() { return supportsGoodTextCharPos_; }
Expand Down
42 changes: 2 additions & 40 deletions editor/src/path.js
Original file line number Diff line number Diff line change
Expand Up @@ -69,27 +69,8 @@ svgedit.path.init = function(editorContext) {
};

svgedit.path.insertItemBefore = function(elem, newseg, index) {
// Support insertItemBefore on paths for FF2
var list = elem.pathSegList;

if(svgedit.browser.supportsPathInsertItemBefore()) {
list.insertItemBefore(newseg, index);
return;
}
//TODO!!!
var len = list.numberOfItems;
var arr = [];
for(var i=0; i<len; i++) {
var cur_seg = list.getItem(i);
arr.push(cur_seg)
}
list.clear();
for(var i=0; i<len; i++) {
if(i == index) { //index+1
list.appendItem(newseg);
}
list.appendItem(arr[i]);
}
list.insertItemBefore(newseg, index);
};

// TODO: See if this should just live in replacePathSeg
Expand Down Expand Up @@ -284,26 +265,7 @@ svgedit.path.replacePathSeg = function(type, index, pts, elem) {
var path = elem || svgedit.path.path.elem;
var func = 'createSVGPathSeg' + pathFuncs[type];
var seg = path[func].apply(path, pts);

if(svgedit.browser.supportsPathReplaceItem()) {
path.pathSegList.replaceItem(seg, index);
} else {
var segList = path.pathSegList;
var len = segList.numberOfItems;
var arr = [];
for(var i=0; i<len; i++) {
var cur_seg = segList.getItem(i);
arr.push(cur_seg)
}
segList.clear();
for(var i=0; i<len; i++) {
if(i == index) {
segList.appendItem(seg);
} else {
segList.appendItem(arr[i]);
}
}
}
path.pathSegList.replaceItem(seg, index);
};

svgedit.path.getSegSelector = function(seg, update) {
Expand Down
1 change: 1 addition & 0 deletions method-draw/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
<!--{if svg_edit_release}-->
<script type="text/javascript" src="method-draw.compiled.js"></script>
<!--{else}>
<script type="text/javascript" src="lib/pathseg.js"></script>
<script type="text/javascript" src="lib/touch.js"></script>
<script type="text/javascript" src="lib/js-hotkeys/jquery.hotkeys.min.js"></script>
<script type="text/javascript" src="lib/jquerybbq/jquery.bbq.min.js"></script>
Expand Down

0 comments on commit 8531c6f

Please sign in to comment.