├── docs ├── img │ ├── glyphicons-halflings.png │ └── glyphicons-halflings-white.png ├── scripts │ ├── toc.js │ └── bootstrap-dropdown.js ├── classes.list.html ├── styles │ └── sunlight.dark.css ├── index.html └── Matrix.html ├── bower.json ├── Change.log ├── demos ├── reflect.html └── demo.html ├── matrix.min.js ├── readme.md └── src └── matrix.js /docs/img/glyphicons-halflings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deoxxa/transformation-matrix-js/HEAD/docs/img/glyphicons-halflings.png -------------------------------------------------------------------------------- /docs/img/glyphicons-halflings-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deoxxa/transformation-matrix-js/HEAD/docs/img/glyphicons-halflings-white.png -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "transformation-matrix-js", 3 | "version": "2.0.0", 4 | "homepage": "https://github.com/epistemex/transformation-matrix-js", 5 | "authors": [ 6 | "epistemex " 7 | ], 8 | "description": "Powerful transformation matrix that can be used to apply transformations to points, canvas etc.", 9 | "main": "matrix.min.js", 10 | "keywords": [ 11 | "matrix", 12 | "transformation", 13 | "javascript", 14 | "canvas" 15 | ], 16 | "license": "MIT", 17 | "ignore": [ 18 | "**/.*", 19 | ".*", 20 | "bower_components", 21 | "docsmd", 22 | "tests", 23 | "tuts" 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /docs/scripts/toc.js: -------------------------------------------------------------------------------- 1 | (function($) { 2 | $.fn.toc = function(options) { 3 | var self = this; 4 | var opts = $.extend({}, jQuery.fn.toc.defaults, options); 5 | 6 | var container = $(opts.container); 7 | var headings = $(opts.selectors, container); 8 | var headingOffsets = []; 9 | var activeClassName = opts.prefix+'-active'; 10 | var navbarHeight = $('.navbar').height(); 11 | 12 | var scrollTo = function(e) { 13 | if (opts.smoothScrolling) { 14 | e.preventDefault(); 15 | var elScrollTo = $(e.target).attr('href'); 16 | var $el = $(elScrollTo); 17 | var offsetTop = $el.offset().top - navbarHeight; 18 | 19 | $('body,html').animate({ scrollTop: offsetTop }, 400, 'swing', function() { 20 | location.hash = elScrollTo; 21 | }); 22 | } 23 | $('li', self).removeClass(activeClassName); 24 | $(e.target).parent().addClass(activeClassName); 25 | }; 26 | 27 | //highlight on scroll 28 | var timeout; 29 | var highlightOnScroll = function(e) { 30 | if (timeout) { 31 | clearTimeout(timeout); 32 | } 33 | timeout = setTimeout(function() { 34 | var top = $(window).scrollTop(), 35 | highlighted; 36 | for (var i = 0, c = headingOffsets.length; i < c; i++) { 37 | if (headingOffsets[i] >= top) { 38 | $('li', self).removeClass(activeClassName); 39 | if (i > 0) { 40 | highlighted = $('li:eq('+(i-1)+')', self).addClass(activeClassName); 41 | opts.onHighlight(highlighted); 42 | } 43 | break; 44 | } 45 | } 46 | }, 50); 47 | }; 48 | if (opts.highlightOnScroll) { 49 | $(window).bind('scroll', highlightOnScroll); 50 | highlightOnScroll(); 51 | } 52 | 53 | return this.each(function() { 54 | //build TOC 55 | var el = $(this); 56 | var ul = $('