mirror of
https://github.com/photonstorm/phaser
synced 2024-11-22 20:53:39 +00:00
Preparing more documentation.
This commit is contained in:
parent
7c7cd8b01d
commit
e5b1faace6
163 changed files with 214647 additions and 24495 deletions
|
@ -3,21 +3,38 @@
|
|||
"allowUnknownTags": true
|
||||
},
|
||||
"source": {
|
||||
"Xinclude": [ "../src/Phaser.js", "../src/animation/", "../src/core/Camera.js", "../src/core/Game.js", "../src/core/Group.js", "../src/core/LinkedList.js", "../src/core/Plugin.js", "../src/core/PluginManager.js" ],
|
||||
"include": [ "../src/Phaser.js", "../src/animation/", "../src/core/Camera.js", "../src/core/Game.js", "../src/core/Group.js" ],
|
||||
"exclude": [],
|
||||
"includePattern": ".+\\.js(doc)?$",
|
||||
"excludePattern": "(^|\\/|\\\\)_"
|
||||
},
|
||||
"plugins": [],
|
||||
"plugins" : ["plugins/markdown"],
|
||||
"templates": {
|
||||
"cleverLinks": false,
|
||||
"monospaceLinks": false
|
||||
"cleverLinks" : false,
|
||||
"monospaceLinks" : false,
|
||||
"default" : {
|
||||
"outputSourceFiles" : true
|
||||
},
|
||||
"systemName" : "Phaser",
|
||||
"footer" : "",
|
||||
"copyright" : "Phaser Copyright © 2012-2013 Photon Storm Ltd.",
|
||||
"navType" : "vertical",
|
||||
"theme" : "cerulean",
|
||||
"linenums" : true,
|
||||
"collapseSymbols" : false,
|
||||
"inverseNav" : true
|
||||
},
|
||||
"markdown" : {
|
||||
"parser" : "gfm",
|
||||
"hardwrap" : true
|
||||
},
|
||||
"opts": {
|
||||
"template": "docstrap-master/template/",
|
||||
"encoding": "utf8",
|
||||
"destination": "./out/",
|
||||
"recurse": true,
|
||||
"private": false,
|
||||
"lenient": true,
|
||||
"lenient": true
|
||||
}
|
||||
}
|
11
Docs/docstrap-master/.gitignore
vendored
Normal file
11
Docs/docstrap-master/.gitignore
vendored
Normal file
|
@ -0,0 +1,11 @@
|
|||
node_modules*
|
||||
components*
|
||||
*.map
|
||||
.idea*
|
||||
ringojs-0.9*
|
||||
dox*
|
||||
testdocs*
|
||||
themes*
|
||||
|
||||
|
||||
|
6
Docs/docstrap-master/.npmignore
Normal file
6
Docs/docstrap-master/.npmignore
Normal file
|
@ -0,0 +1,6 @@
|
|||
node_modules*
|
||||
components*
|
||||
*.map
|
||||
.idea*
|
||||
npm-debug.log
|
||||
|
364
Docs/docstrap-master/Gruntfile.js
Normal file
364
Docs/docstrap-master/Gruntfile.js
Normal file
|
@ -0,0 +1,364 @@
|
|||
"use strict";
|
||||
/**
|
||||
* @fileOverview Gruntfile tasks. These tasks are intended to help you when modifying the template. If you are
|
||||
* just using the template, don't sweat this stuff. To use these tasks, you must install grunt, if you haven't already,
|
||||
* and install the dependencies. All of this requires node.js, of course.
|
||||
*
|
||||
* Install grunt:
|
||||
*
|
||||
* npm install -g grunt-cli
|
||||
*
|
||||
* Then in the directory where you found this file:
|
||||
*
|
||||
* npm install
|
||||
*
|
||||
* And you are all set. See the individual tasks for details.
|
||||
*
|
||||
* @module Gruntfile
|
||||
* @requires path
|
||||
* @requires lodash
|
||||
* @requires http
|
||||
* @requires async
|
||||
* @requires fs
|
||||
*/
|
||||
var path = require( "path" );
|
||||
var sys = require( "lodash" );
|
||||
var http = require( "http" );
|
||||
var async = require( "async" );
|
||||
var fs = require( "fs" );
|
||||
|
||||
// this rather odd arrangement of composing tasks like this to make sure this works on both
|
||||
// windows and linux correctly. We can't depend on Grunt or Node to normalize
|
||||
// paths for us because we shell out to make this work. So we gather up
|
||||
// our relative paths here, normalize them later and then pass them into
|
||||
// the shell to be run by JSDoc3.
|
||||
|
||||
/**
|
||||
* The definition to run the development test files. This runs the files in `fixtures` with the
|
||||
* project's `conf.json` file.
|
||||
* @private
|
||||
*/
|
||||
var jsdocTestPages = {
|
||||
src : ["./fixtures/*.js", "./README.md"],
|
||||
dest : "./testdocs",
|
||||
tutorials : "./fixtures/tutorials",
|
||||
template : "./template",
|
||||
config : "./template/jsdoc.conf.json",
|
||||
options : " --lenient --verbose"
|
||||
};
|
||||
/**
|
||||
* The definition to run the sample files. This runs the files in `fixtures` with the
|
||||
* sample's `conf.json` file. No task directly exposes this configuration. The `fixtures` task
|
||||
* modifies this for each swatch it finds and then run the docs command against it.
|
||||
* @private
|
||||
*/
|
||||
var jsdocExamplePages = {
|
||||
src : ["./fixtures/*.js", "./README.md"],
|
||||
dest : "./themes",
|
||||
tutorials : "",
|
||||
template : "./template",
|
||||
config : "./fixtures/example.conf.json",
|
||||
options : " --lenient --verbose --recurse"
|
||||
};
|
||||
|
||||
/**
|
||||
* This definition provides the project's main, published documentation.
|
||||
* @private
|
||||
*/
|
||||
var projectDocs = {
|
||||
src : ["./Gruntfile*.js", "./README.md", "./template/publish.js"],
|
||||
dest : "./dox",
|
||||
tutorials : "",
|
||||
template : "./template",
|
||||
config : "./template/jsdoc.conf.json",
|
||||
options : " --lenient --verbose --recurse --private"
|
||||
};
|
||||
|
||||
/**
|
||||
* Normalizes all paths from a JSDoc task definition and and returns an executable string that can be passed to the shell.
|
||||
* @param {object} jsdoc A JSDoc definition
|
||||
* @returns {string}
|
||||
*/
|
||||
function jsdocCommand( jsdoc ) {
|
||||
var cmd = [];
|
||||
cmd.unshift( jsdoc.options );
|
||||
if ( jsdoc.tutorials.length > 0 ) {
|
||||
cmd.push( "-u " + path.resolve( jsdoc.tutorials ) );
|
||||
}
|
||||
cmd.push( "-d " + path.resolve( jsdoc.dest ) );
|
||||
cmd.push( "-t " + path.resolve( jsdoc.template ) );
|
||||
cmd.push( "-c " + path.resolve( jsdoc.config ) );
|
||||
sys.each( jsdoc.src, function ( src ) {
|
||||
cmd.push( path.resolve( src ) );
|
||||
} );
|
||||
cmd.unshift( path.resolve( "./node_modules/jsdoc/jsdoc" ) );
|
||||
return cmd.join( " " );
|
||||
}
|
||||
|
||||
var tasks = {
|
||||
shell : {
|
||||
options : {
|
||||
stdout : true,
|
||||
stderr : true
|
||||
},
|
||||
/**
|
||||
* TASK: Create the a documentation set for testing changes to the template
|
||||
* @name shell:testdocs
|
||||
* @memberOf module:Gruntfile
|
||||
*/
|
||||
testdocs : {
|
||||
command : jsdocCommand( jsdocTestPages )
|
||||
},
|
||||
/**
|
||||
* TASK: Create project documentation
|
||||
* @name shell:dox
|
||||
* @memberOf module:Gruntfile
|
||||
*/
|
||||
dox : {
|
||||
command : jsdocCommand( projectDocs )
|
||||
}
|
||||
},
|
||||
/**
|
||||
* TASK: The less task creates the themed css file from main.less. The file is written to the template styles
|
||||
* directory as site.[name of theme].css. Later the .conf file will look for the theme to apply based
|
||||
* on this naming convention.
|
||||
* @name less
|
||||
* @memberOf module:Gruntfile
|
||||
*/
|
||||
less : {
|
||||
dev : {
|
||||
files : {
|
||||
"template/static/styles/site.<%= jsdocConf.templates.theme %>.css" : "styles/main.less"
|
||||
}
|
||||
}
|
||||
},
|
||||
copy : {
|
||||
docs : {
|
||||
files : [
|
||||
{expand : true, cwd : "dox/", src : ['**'], dest : '../docstrap-dox/'},
|
||||
{expand : true, cwd : "themes/", src : ['**'], dest : '../docstrap-dox/themes'}
|
||||
]
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = function ( grunt ) {
|
||||
tasks.jsdocConf = grunt.file.readJSON( 'template/jsdoc.conf.json' );
|
||||
grunt.initConfig( tasks );
|
||||
|
||||
grunt.loadNpmTasks( 'grunt-contrib-less' );
|
||||
grunt.loadNpmTasks( 'grunt-shell' );
|
||||
grunt.loadNpmTasks( 'grunt-contrib-copy' );
|
||||
|
||||
grunt.registerTask( "default", ["docs"] );
|
||||
|
||||
/**
|
||||
* Builds the project's documentation
|
||||
* @name docs
|
||||
* @memberof module:Gruntfile
|
||||
*/
|
||||
grunt.registerTask( "docs", "Create the project documentation", ["shell:dox"] );
|
||||
/**
|
||||
* Compile the CSS and create the project documentation
|
||||
* @name dev
|
||||
* @memberof module:Gruntfile
|
||||
*/
|
||||
grunt.registerTask( "dev", "Compile the CSS and create the project documentation", ["less","shell:dox"] );
|
||||
/**
|
||||
* TASK: Builds the main less file and then generates the test documents
|
||||
* @name testdocs
|
||||
* @memberof module:Gruntfile
|
||||
*/
|
||||
grunt.registerTask( "testdocs", "Builds the main less file and then generates the test documents", ["less:dev", "shell:testdocs"] );
|
||||
/**
|
||||
* TASK: Builds the whole shebang. Which means creating testdocs, the bootswatch fixtures and then resetting the
|
||||
* styles directory.
|
||||
* @name build
|
||||
* @memberof module:Gruntfile
|
||||
*/
|
||||
grunt.registerTask( "build", "Builds the whole shebang. Which means creating testdocs, the bootswatch samples and then resetting the styles directory", ["testdocs", "shell:dox", "bootswatch", "examples", "apply", "copy"] );
|
||||
/**
|
||||
* TASK: Applies the theme in the conf file and applies it to the styles directory.
|
||||
* @name apply
|
||||
* @memberof module:Gruntfile
|
||||
*/
|
||||
grunt.registerTask( "apply", "Applies the theme in the conf file and applies it to the styles directory", function () {
|
||||
var def = {
|
||||
less : "http://bootswatch.com/" + tasks.jsdocConf.templates.theme + "/bootswatch.less",
|
||||
lessVariables : "http://bootswatch.com/" + tasks.jsdocConf.templates.theme + "/variables.less"
|
||||
};
|
||||
grunt.registerTask( "swatch-apply", sys.partial( applyTheme, grunt, def ) );
|
||||
grunt.task.run( ["swatch-apply"] );
|
||||
} );
|
||||
/**
|
||||
* TASK: Grab all Bootswatch themes and create css from each one based on the main.less in the styles directory. NOTE that this will
|
||||
* leave the last swatch downloaded in the styles directory, you will want to call "apply" afterwards
|
||||
* @name bootswatch
|
||||
* @memberof module:Gruntfile
|
||||
*/
|
||||
grunt.registerTask( "bootswatch", "Grab all Bootswatch themes and create css from each one based on the main.less in the styles directory", function () {
|
||||
var toRun = [];
|
||||
|
||||
var done = this.async();
|
||||
getBootSwatchList( function ( err, list ) {
|
||||
if ( err ) {return done( err );}
|
||||
|
||||
sys.each( list.themes, function ( entry ) {
|
||||
|
||||
toRun.push( "swatch" + entry.name );
|
||||
grunt.registerTask( "swatch" + entry.name, sys.partial( applyTheme, grunt, entry ) );
|
||||
|
||||
var key = "template/static/styles/site." + entry.name.toLowerCase() + ".css";
|
||||
var def = {};
|
||||
def[key] = "styles/main.less";
|
||||
tasks.less["swatch" + entry.name] = {
|
||||
files : def
|
||||
};
|
||||
toRun.push( "less:swatch" + entry.name );
|
||||
} );
|
||||
grunt.task.run( toRun );
|
||||
done();
|
||||
} );
|
||||
|
||||
} );
|
||||
/**
|
||||
* TASK:Create fixtures from the themes. The files must have been built first from the bootswatch task.
|
||||
* @name examples
|
||||
* @memberof module:Gruntfile
|
||||
*/
|
||||
grunt.registerTask( "examples", "Create samples from the themes", function () {
|
||||
var toRun = [];
|
||||
var done = this.async();
|
||||
getBootSwatchList( function ( err, list ) {
|
||||
if ( err ) {return done( err );}
|
||||
|
||||
sys.each( list.themes, function ( entry ) {
|
||||
var conf = grunt.file.readJSON( './fixtures/example.conf.json' );
|
||||
conf.templates.theme = entry.name.toLowerCase();
|
||||
grunt.file.write( "tmp/example.conf." + conf.templates.theme + ".json", JSON.stringify( conf, null, 4 ) );
|
||||
|
||||
var jsdenv = sys.cloneDeep( jsdocExamplePages );
|
||||
jsdenv.config = "./tmp/example.conf." + conf.templates.theme + ".json";
|
||||
jsdenv.dest = "./themes/" + conf.templates.theme;
|
||||
tasks.shell["example" + conf.templates.theme] = {
|
||||
command : jsdocCommand( jsdenv )
|
||||
};
|
||||
toRun.push( "shell:example" + conf.templates.theme );
|
||||
} );
|
||||
|
||||
grunt.registerTask( "cleanup", "", function () {
|
||||
grunt.file["delete"]( "tmp/" );
|
||||
} );
|
||||
toRun.push( "cleanup" );
|
||||
grunt.task.run( toRun );
|
||||
done();
|
||||
} );
|
||||
|
||||
} );
|
||||
};
|
||||
|
||||
/**
|
||||
* Applies one of the Bootswatch themes to the working `styles` directory. When you want to modify a particular theme, this where you
|
||||
* get the basis for it. The files are written to `./styles/variables.less` and `./styles/bootswatch.less`. The `./styles/main.less`
|
||||
* file includes them directly, so after you apply the theme, modify `main.less` to your heart's content and then run the `less` task
|
||||
* as in
|
||||
*
|
||||
* grunt less
|
||||
*
|
||||
* @param {object} grunt The grunt object reference
|
||||
* @param {object} definition The swatch definition files
|
||||
* @param {string} definition.less The url to the `bootswatch.less` file
|
||||
* @param {string} definition.lessVariables The url to the `variables.less` file
|
||||
* @private
|
||||
*/
|
||||
function applyTheme( grunt, definition ) {
|
||||
//noinspection JSHint
|
||||
var done = this.async();
|
||||
async.waterfall( [
|
||||
function ( cb ) {
|
||||
getBootSwatchComponent( definition.less, function ( err, swatch ) {
|
||||
if ( err ) {return cb( err );}
|
||||
var fullPath = path.join( __dirname, "styles/bootswatch.less" );
|
||||
fs.writeFile( fullPath, swatch.replace("http://", "//"), cb );
|
||||
} );
|
||||
},
|
||||
function ( cb ) {
|
||||
getBootSwatchComponent( definition.lessVariables, function ( err, swatch ) {
|
||||
if ( err ) {return cb( err );}
|
||||
var fullPath = path.join( __dirname, "styles/variables.less" );
|
||||
fs.writeFile( fullPath, swatch.replace("http://", "//"), cb );
|
||||
} );
|
||||
}
|
||||
], done );
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the list of available Bootswatches from, well, Bootswatch.
|
||||
*
|
||||
* @see http://news.bootswatch.com/post/22193315172/bootswatch-api
|
||||
* @param {function(err, responseBody)} done The callback when complete
|
||||
* @param {?object} done.err If an error occurred, you will find it here.
|
||||
* @param {object} done.responseBody This is a parsed edition of the bootswatch server's response. It's format it defined
|
||||
* by the return message from [here](http://api.bootswatch.com/)
|
||||
* @private
|
||||
*/
|
||||
function getBootSwatchList( done ) {
|
||||
var options = {
|
||||
hostname : 'api.bootswatch.com',
|
||||
port : 80,
|
||||
path : '/',
|
||||
method : 'GET'
|
||||
};
|
||||
var body = "";
|
||||
var req = http.request( options, function ( res ) {
|
||||
res.setEncoding( 'utf8' );
|
||||
res.on( 'data', function ( chunk ) {
|
||||
body += chunk;
|
||||
} );
|
||||
|
||||
res.on( 'end', function () {
|
||||
done( null, JSON.parse( body ) );
|
||||
} );
|
||||
res.on( 'error', function ( e ) {
|
||||
done( 'problem with response: ' + e.message );
|
||||
} );
|
||||
} );
|
||||
|
||||
req.on( 'error', function ( e ) {
|
||||
done( 'problem with request: ' + e.message );
|
||||
} );
|
||||
req.end();
|
||||
}
|
||||
|
||||
/**
|
||||
* This method will get one of the components from Bootswatch, which is generally a `less` file or a `lessVariables` file.
|
||||
*
|
||||
* @see http://news.bootswatch.com/post/22193315172/bootswatch-api
|
||||
* @param {string} url The url to retreive from
|
||||
* @param {function(err, responseText)} done The callback when complete
|
||||
* @param {?object} done.err If an error occurred, you will find it here.
|
||||
* @param {string} done.responseText The body of whatever was returned
|
||||
* @private
|
||||
*/
|
||||
function getBootSwatchComponent( url, done ) {
|
||||
var body = "";
|
||||
var req = http.request( url, function ( res ) {
|
||||
res.setEncoding( 'utf8' );
|
||||
res.on( 'data', function ( chunk ) {
|
||||
body += chunk;
|
||||
} );
|
||||
|
||||
res.on( 'end', function () {
|
||||
done( null, body );
|
||||
} );
|
||||
res.on( 'error', function ( e ) {
|
||||
done( 'problem with response: ' + e.message );
|
||||
} );
|
||||
} );
|
||||
|
||||
req.on( 'error', function ( e ) {
|
||||
done( 'problem with request: ' + e.message );
|
||||
} );
|
||||
req.end();
|
||||
}
|
||||
|
22
Docs/docstrap-master/LICENSE.md
Normal file
22
Docs/docstrap-master/LICENSE.md
Normal file
|
@ -0,0 +1,22 @@
|
|||
Copyright (c) 2012-13 Terry Weiss. All rights reserved.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person
|
||||
obtaining a copy of this software and associated documentation
|
||||
files (the "Software"), to deal in the Software without
|
||||
restriction, including without limitation the rights to use,
|
||||
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following
|
||||
conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
OTHER DEALINGS IN THE SOFTWARE.
|
200
Docs/docstrap-master/README.md
Normal file
200
Docs/docstrap-master/README.md
Normal file
|
@ -0,0 +1,200 @@
|
|||
# DocStrap #
|
||||
|
||||
DocStrap is [Bootstrap](http://twitter.github.io/bootstrap/index.html) based template for [JSDoc3](http://usejsdoc.org/).
|
||||
In addition, it includes all of the themes from [Bootswatch](http://bootswatch.com/) giving you a great deal of look
|
||||
and feel options for your documentation. Additionally, it adds some options to the conf.json file that gives
|
||||
you even more flexibility to tweak the template to your needs. It will also make your teeth whiter.
|
||||
|
||||
## Features ##
|
||||
* Fixed navigation at page top
|
||||
* Right side TOC for navigation in pages
|
||||
* Themed
|
||||
* Customizable
|
||||
|
||||
### What It Looks Like ###
|
||||
Here are examples of this template with the different Bootswatch themes:
|
||||
|
||||
+ [Amelia](http://terryweiss.github.io/docstrap/themes/amelia)
|
||||
+ [Cerulean](http://terryweiss.github.io/docstrap/themes/cerulean)
|
||||
+ [Cosmo](http://terryweiss.github.io/docstrap/themes/cosmo)
|
||||
+ [Cyborg](http://terryweiss.github.io/docstrap/themes/cyborg)
|
||||
+ [Flatly](http://terryweiss.github.io/docstrap/themes/flatly)
|
||||
+ [Journal](http://terryweiss.github.io/docstrap/themes/journal)
|
||||
+ [Readable](http://terryweiss.github.io/docstrap/themes/readable)
|
||||
+ [Simplex](http://terryweiss.github.io/docstrap/themes/simplex)
|
||||
+ [Slate](http://terryweiss.github.io/docstrap/themes/slate)
|
||||
+ [Spacelab](http://terryweiss.github.io/docstrap/themes/spacelab)
|
||||
+ [Spruce](http://terryweiss.github.io/docstrap/themes/spruce)
|
||||
+ [Superhero](http://terryweiss.github.io/docstrap/themes/superhero)
|
||||
+ [United](http://terryweiss.github.io/docstrap/themes/united)
|
||||
|
||||
To change your theme, just change it in the `conf.json` file. See below for details.
|
||||
## Ooooh, I want it! How do I get it?##
|
||||
First grab the [zip file from github.](https://github.com/terryweiss/docstrap/archive/master.zip) Unzip it
|
||||
to your favorite hard drive and ask JSDoc to use it. Like so:
|
||||
|
||||
<path/to/jsdoc>/jsoc mysourcefiles/* -t <path.to.unzipped>/template -c <path.to.unzipped>/conf.json -d <path.to.output>/
|
||||
|
||||
Also take a gander at [JSDoc's command line options](http://usejsdoc.org/about-commandline.html).
|
||||
|
||||
## Configuring the template ##
|
||||
|
||||
DocStrap ships with a `conf.json` file in the template/ directory. It is just a regular old
|
||||
[JSDoc configuration file](http://usejsdoc.org/about-configuring-jsdoc.html), but with the following new options:
|
||||
```
|
||||
"templates": {
|
||||
"systemName" : "{string}",
|
||||
"footer" : "{string}",
|
||||
"copyright" : "{string}",
|
||||
"navType" : "{vertical|inline}",
|
||||
"theme" : "{theme}",
|
||||
"linenums" : {boolean},
|
||||
"collapseSymbols" : {boolean},
|
||||
"inverseNav" : {boolean}
|
||||
}
|
||||
```
|
||||
### Options ###
|
||||
|
||||
* __systemName__
|
||||
The name of the system being documented. This will appear in the page title for each page
|
||||
* __footer__
|
||||
Any markup want to appear in the footer of each page. This is not processed at all, just printed exactly as you enter it
|
||||
* __copyright__
|
||||
You can add a copyright message below the _footer_ and above the JSDoc timestamp at the bottom of the page
|
||||
* __navType__
|
||||
The template uses top level navigation with dropdowns for the contents of each category. On large systems these dropdowns
|
||||
can get large enough to expand beyond the page. To make the dropdowns render wider and stack the entries vertically, set this
|
||||
option to `"inline"`. Otherwise set it to `"vertical"` to make them regular stacked dropdowns.
|
||||
* __theme__
|
||||
This is the name of the them you want to use **in all lowercase**. The valid options are
|
||||
+ `amelia`
|
||||
+ `cerulean`
|
||||
+ `cosmo`
|
||||
+ `cyborg`
|
||||
+ `flatly`
|
||||
+ `journal`
|
||||
+ `readable`
|
||||
+ `simplex`
|
||||
+ `slate`
|
||||
+ `spacelab`
|
||||
+ `spruce`
|
||||
+ `superhero`
|
||||
+ `united`
|
||||
* __linenums__
|
||||
When true, line numbers will appear in the source code listing. If you have
|
||||
[also turned that on](http://usejsdoc.org/about-configuring-jsdoc.html).
|
||||
* __collapseSymbols__
|
||||
If your pages have a large number of symbols, it can be easy to get lost in all the text. If you turn this to `true`
|
||||
all of the symbols in the page will roll their contents up so that you just get a list of symbols that can be expanded
|
||||
and collapsed.
|
||||
* __inverseNav__
|
||||
Bootstrap navbars come in two flavors, regular and inverse where inverse is generally higher contrast. Set this to `true` to
|
||||
use the inverse header.
|
||||
|
||||
## Customizing DocStrap ##
|
||||
No template can meet every need and customizing templates is a favorite pastime of....well, no-one, but you may need to anyway.
|
||||
First make sure you have [bower](https://github.com/bower/bower) and [grunt-cli](https://github.com/gruntjs/grunt-cli) installed.
|
||||
Fetch the source using `git` or grab the [zip file from github.](https://github.com/terryweiss/docstrap/archive/master.zip) and unzip
|
||||
it somewhere. Everything that follows happens in the unzip directory.
|
||||
|
||||
Next, prepare the environment:
|
||||
|
||||
bower install
|
||||
|
||||
and
|
||||
|
||||
grunt install
|
||||
|
||||
When that is done, you have all of the tools to start modifying the template. The template, like Bootstrap, used [less](http://lesscss.org/).
|
||||
The way it works is that `./styles/main.less` pulls in the bootstrap files uncompiled so that you have access to all of bootstraps mixins, colors,
|
||||
etc, that you would want. There are two more files in that directory, `variables.less`, `bootswatch.less`. These are the
|
||||
theme files and you can modify them, but keep in mind that if you apply a new theme (see below) those files will be overwritten. It is best
|
||||
to keep your changes to the `main.less` file.
|
||||
|
||||
To compile your changes to `main.less` and any other files it loads up,
|
||||
|
||||
grunt less
|
||||
|
||||
The output is will be put in `./template/static/styles/site.<theme-name>.css`. The next time you create your documentation, it
|
||||
will have the new css file included.
|
||||
|
||||
To apply a different template to the `styles` directory to modify, open up the `conf.json` in the template directory and
|
||||
change the `theme` option to the theme you want. Then
|
||||
|
||||
grunt apply
|
||||
|
||||
And the new theme will be in `variables.less`, `bootswatch.less`. Don't forget to compile your changes using `grunt apply` to
|
||||
get that change into the template.
|
||||
|
||||
**NOTE** that these steps are not necessary to just change the theme, this is only to modify the theme. If all you want to do is
|
||||
change the theme, just update conf.json with the new theme and build your docs!
|
||||
|
||||
## Contributing ##
|
||||
Yes! Contribute! Test! Share your ideas! Report Bugs!
|
||||
|
||||
## Roadmap ##
|
||||
|
||||
* Integrate Darkstrap
|
||||
* Make plain old bootstrap an option (doh!)
|
||||
* ~~Jump to source line numbers~~
|
||||
* Document publish.js
|
||||
|
||||
|
||||
## History ##
|
||||
|
||||
### v0.2.0 ###
|
||||
|
||||
* Added jump to source linenumers - still a problem scrolling with fixed header
|
||||
* changed syntax highlighter to [sunlight](http://sunlightjs.com/)
|
||||
* Modify incoming bootswatch files to make font calls without protocol.
|
||||
|
||||
### v0.1.0 ###
|
||||
Initial release
|
||||
|
||||
|
||||
## Notices ##
|
||||
If you like DocStrap, be sure and check out these excellent projects and support them!
|
||||
|
||||
[JSDoc3 is licensed under the Apache License](https://github.com/jsdoc3/jsdoc/blob/master/LICENSE.md)
|
||||
|
||||
[So is Bootstrap](https://github.com/twitter/bootstrap/blob/master/LICENSE)
|
||||
|
||||
[And Bootswatch](https://github.com/thomaspark/bootswatch/blob/gh-pages/LICENSE)
|
||||
|
||||
[TOC is licensed under MIT](https://github.com/jgallen23/toc/blob/master/LICENSE)
|
||||
|
||||
[Grunt is also MIT](https://github.com/gruntjs/grunt-cli/blob/master/LICENSE-MIT)
|
||||
|
||||
DocStrap [is licensed under the MIT license.](https://github.com/terryweiss/docstrap/blob/master/LICENSE.md)
|
||||
|
||||
[Sunlight uses the WTFPL](http://sunlightjs.com/)
|
||||
|
||||
## License ##
|
||||
DocStrap Copyright (c) 2012-2013Terry Weiss. All rights reserved.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person
|
||||
obtaining a copy of this software and associated documentation
|
||||
files (the "Software"), to deal in the Software without
|
||||
restriction, including without limitation the rights to use,
|
||||
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following
|
||||
conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
12
Docs/docstrap-master/bower.json
Normal file
12
Docs/docstrap-master/bower.json
Normal file
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"name": "ink-docstrap",
|
||||
"version": "0.1.0",
|
||||
"dependencies": {
|
||||
"bootstrap": "~2.3.1",
|
||||
"jquery": "~2.0.0",
|
||||
"darkstrap": "git://github.com/danneu/darkstrap.git#~0.9.2",
|
||||
"toc": "~0.1.2",
|
||||
"sunlight": "https://github.com/tmont/sunlight.git",
|
||||
"jquery.localScroll": "~1.2.8"
|
||||
}
|
||||
}
|
10
Docs/docstrap-master/component.json
Normal file
10
Docs/docstrap-master/component.json
Normal file
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"name": "ink-docstrap",
|
||||
"version": "0.1.0",
|
||||
"dependencies": {
|
||||
"bootstrap": "~2.3.1",
|
||||
"jquery": "~2.0.0",
|
||||
"darkstrap": "git://github.com/danneu/darkstrap.git#~0.9.2",
|
||||
"toc": "~0.1.2"
|
||||
}
|
||||
}
|
45
Docs/docstrap-master/fixtures/car.js
Normal file
45
Docs/docstrap-master/fixtures/car.js
Normal file
|
@ -0,0 +1,45 @@
|
|||
"use strict"
|
||||
/**
|
||||
@fileOverview Donec sed sapien enim. Duis elementum arcu id velit mattis sed tincidunt dolor posuere. Cras dapibus varius metus et sollicitudin. Quisque egestas placerat lacus, at lobortis mauris volutpat in. Morbi eleifend, sapien ut lobortis malesuada, nulla arcu blandit risus, quis fringilla nunc leo ac turpis. Donec vitae gravida dolor. Pellentesque accumsan, erat ac rutrum sodales, neque odio pellentesque est, vitae rutrum lorem mauris vitae justo. Sed blandit egestas mi at fringilla. Morbi at metus feugiat magna tempor vulputate. Duis dictum sagittis neque quis tempor. Morbi id est ac orci dictum porta. Phasellus tempus adipiscing convallis.
|
||||
@module docstrap/car
|
||||
@author Gloria Swanson
|
||||
@requires lodash
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* Integer quis ante ut nulla cursus vehicula id eu dolor. Phasellus ut facilisis felis. Praesent eget metus id massa pretium lobortis a et metus. Aliquam erat volutpat. Nulla ac tortor odio, quis facilisis augue. In hendrerit, lectus mollis elementum vestibulum, velit nisi aliquet orci, vitae luctus risus dui sed nisi. Donec aliquam pretium leo sed ultrices. Duis porttitor pharetra vulputate. Aenean sed neque sit amet arcu auctor placerat eget ac tellus. Proin porttitor fringilla eros quis scelerisque. Aliquam erat volutpat.
|
||||
* @constructor
|
||||
* @param {Boolean} hybrid Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
|
||||
* @example
|
||||
* // Duis elementum arcu id velit mattis sed tincidunt dolor posuere.
|
||||
* if (!(key in this.visited)) {
|
||||
this.visited[key] = true;
|
||||
|
||||
if (this.dependencies[key]) {
|
||||
Object.keys(this.dependencies[key]).forEach(function(path) {
|
||||
self.visit(path);
|
||||
});
|
||||
}
|
||||
|
||||
this.sorted.push(key);
|
||||
}
|
||||
*/
|
||||
exports.Car = function (hybrid) {
|
||||
|
||||
/**
|
||||
* Aenean commodo lorem nec sapien suscipit quis hendrerit dui feugiat. Curabitur pretium congue sollicitudin. Nam eleifend ultricies libero vel iaculis. Maecenas vel elit vel lorem lacinia pellentesque. Vestibulum posuere suscipit lacus, sit amet volutpat erat sagittis vitae. Ut eleifend pretium nulla vitae tempor.
|
||||
* @type {string}
|
||||
*/
|
||||
this.color = null;
|
||||
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi congue viverra placerat. Mauris mi nibh, pulvinar ut placerat sit amet, aliquam a diam. Maecenas vitae suscipit nulla. Sed at justo nec ante lobortis fermentum. Quisque sodales libero suscipit mi malesuada pretium. Cras a lectus vitae risus semper sagittis. Sed ultrices aliquet tempus. Nulla id nisi metus, sit amet elementum tortor. Nunc tempor sem quis augue tempor sed posuere nulla volutpat. Phasellus fringilla pulvinar lorem quis venenatis.
|
||||
* @param {integer} speed Phasellus ut facilisis felis.
|
||||
*/
|
||||
exports.Car.prototype.drive = function ( speed ) {
|
||||
|
||||
};
|
22
Docs/docstrap-master/fixtures/example.conf.json
Normal file
22
Docs/docstrap-master/fixtures/example.conf.json
Normal file
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"tags": {
|
||||
"allowUnknownTags": true
|
||||
},
|
||||
"plugins": ["plugins/markdown"],
|
||||
"templates": {
|
||||
"cleverLinks": false,
|
||||
"monospaceLinks": false,
|
||||
"default": {
|
||||
"outputSourceFiles": true
|
||||
},
|
||||
"systemName": "DocStrap",
|
||||
"footer": "",
|
||||
"copyright": "Copyright © 2012-2103 Terry Weiss, Eery Wrists. All rights reserved.",
|
||||
"navType": "vertical",
|
||||
"theme": "cerulean"
|
||||
} ,
|
||||
"markdown": {
|
||||
"parser": "gfm",
|
||||
"hardwrap": true
|
||||
}
|
||||
}
|
50
Docs/docstrap-master/fixtures/other.js
Normal file
50
Docs/docstrap-master/fixtures/other.js
Normal file
|
@ -0,0 +1,50 @@
|
|||
/**
|
||||
* Suspendisse orci massa, hendrerit sagittis lacinia consectetur, sagittis vitae purus. Aliquam id eros diam, eget elementum turpis. Nullam tellus magna, mollis in molestie id, venenatis rhoncus est. Proin id diam justo. Nunc tempus gravida justo at lobortis. Nam vitae venenatis nisi. Donec vel odio massa. Quisque interdum metus sit amet est iaculis tincidunt. Donec bibendum blandit purus, id semper orci aliquam quis. Nam tincidunt dolor eu felis ultricies tempor. Nulla non consectetur erat.
|
||||
*/
|
||||
function drift() {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Suspendisse orci massa, hendrerit sagittis lacinia consectetur, sagittis vitae purus. Aliquam id eros diam, eget elementum turpis. Nullam tellus magna, mollis in molestie id, venenatis rhoncus est. Proin id diam justo. Nunc tempus gravida justo at lobortis. Nam vitae venenatis nisi. Donec vel odio massa. Quisque interdum metus sit amet est iaculis tincidunt. Donec bibendum blandit purus, id semper orci aliquam quis. Nam tincidunt dolor eu felis ultricies tempor. Nulla non consectetur erat.
|
||||
*/
|
||||
function trailBrake() {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Suspendisse orci massa, hendrerit sagittis lacinia consectetur, sagittis vitae purus. Aliquam id eros diam, eget elementum turpis. Nullam tellus magna, mollis in molestie id, venenatis rhoncus est. Proin id diam justo. Nunc tempus gravida justo at lobortis. Nam vitae venenatis nisi. Donec vel odio massa. Quisque interdum metus sit amet est iaculis tincidunt. Donec bibendum blandit purus, id semper orci aliquam quis. Nam tincidunt dolor eu felis ultricies tempor. Nulla non consectetur erat.
|
||||
* @param {integer} bias Nulla ultricies justo ac nisi consectetur posuere. Donec ornare pharetra erat, nec facilisis dui cursus quis. Quisque porttitor porttitor orci, sed facilisis urna facilisis sed. Sed tincidunt adipiscing turpis et hendrerit. Cras posuere orci ut mauris ullamcorper vitae laoreet nisi luctus. In rutrum tristique augue. Nam eleifend dignissim dui.
|
||||
*/
|
||||
function brakeBias( bias ) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Suspendisse orci massa, hendrerit sagittis lacinia consectetur, sagittis vitae purus. Aliquam id eros diam, eget elementum turpis. Nullam tellus magna, mollis in molestie id, venenatis rhoncus est. Proin id diam justo. Nunc tempus gravida justo at lobortis. Nam vitae venenatis nisi. Donec vel odio massa. Quisque interdum metus sit amet est iaculis tincidunt. Donec bibendum blandit purus, id semper orci aliquam quis. Nam tincidunt dolor eu felis ultricies tempor. Nulla non consectetur erat.
|
||||
* @param {module:docstrap/car.Car} car Nulla ultricies justo ac nisi consectetur posuere. Donec ornare pharetra erat, nec facilisis dui cursus quis. Quisque porttitor porttitor orci, sed facilisis urna facilisis sed. Sed tincidunt adipiscing turpis et hendrerit. Cras posuere orci ut mauris ullamcorper vitae laoreet nisi luctus. In rutrum tristique augue. Nam eleifend dignissim dui.
|
||||
* @param {string} tires Donec viverra egestas tellus non viverra. Aenean est ante, egestas sed scelerisque quis, aliquet sed lacus. Praesent non mauris neque, et adipiscing ante. Vestibulum quis quam vitae ipsum aliquet blandit. Vivamus condimentum euismod orci, in tincidunt justo rutrum faucibus. Phasellus nec lorem arcu. Donec tortor dui, facilisis in rutrum sit amet, pulvinar vitae lacus.
|
||||
* @param {number} fuel Proin sodales, mi at tincidunt ornare, mi dui sagittis velit, sed dictum risus orci eu erat. Sed nunc leo, congue sed rutrum eget, lobortis ac lectus. Etiam non arcu nulla.
|
||||
*/
|
||||
function start( car, tires, fuel ) {}
|
||||
|
||||
/**
|
||||
* Sed id tristique lorem. Ut sodales turpis nec mauris gravida interdum. Cras pellentesque, purus at suscipit euismod, elit nunc cursus nisi, ut venenatis metus sapien id velit. Sed lectus orci, pharetra non pulvinar vel, ullamcorper id lorem. Donec vulputate tincidunt ipsum, ut lacinia tortor sollicitudin id. Nunc nec nibh ut felis venenatis egestas. Proin risus mauris, eleifend eget interdum in, venenatis sed velit. Praesent sodales elit ut odio viverra posuere. Donec sapien lorem, molestie in egestas eget, vulputate sed orci. Aenean elit sapien, pellentesque vitae tempor sit amet, sagittis et ligula. Mauris aliquam sapien sit amet lacus ultrices rutrum. Curabitur nec dolor sed elit varius dignissim a a lacus. Aliquam ac convallis enim.
|
||||
* @namespace
|
||||
*/
|
||||
var teams = {};
|
||||
|
||||
/**
|
||||
* Nunc faucibus lacus eget odio ultricies nec ullamcorper risus pharetra.
|
||||
* @mixin
|
||||
*/
|
||||
var insanity = {
|
||||
/**
|
||||
* ras ac justo dui, at faucibus urna. Nunc tristique, velit id feugiat fermentum, dolor enim egestas erat, at vestibulum ante ipsum vel orci. Duis quis ante id justo vehicula eleifend sed et urna. Sed sapien tortor, rutrum id ultrices eu, tincidunt tincidunt mi
|
||||
*/
|
||||
goCrazy : function () {},
|
||||
/**
|
||||
* Donec viverra egestas tellus non viverra. Aenean est ante, egestas sed scelerisque quis, aliquet sed lacus. Praesent non mauris neque, et adipiscing ante. Vestibulum quis quam vitae ipsum aliquet blandit.
|
||||
*/
|
||||
goSane : function () {}
|
||||
};
|
74
Docs/docstrap-master/fixtures/person.js
Normal file
74
Docs/docstrap-master/fixtures/person.js
Normal file
|
@ -0,0 +1,74 @@
|
|||
"use strict"
|
||||
/**
|
||||
@fileOverview Donec sed sapien enim. Duis elementum arcu id velit mattis sed tincidunt dolor posuere. Cras dapibus varius metus et sollicitudin. Quisque egestas placerat lacus, at lobortis mauris volutpat in. Morbi eleifend, sapien ut lobortis malesuada, nulla arcu blandit risus, quis fringilla nunc leo ac turpis. Donec vitae gravida dolor. Pellentesque accumsan, erat ac rutrum sodales, neque odio pellentesque est, vitae rutrum lorem mauris vitae justo. Sed blandit egestas mi at fringilla. Morbi at metus feugiat magna tempor vulputate. Duis dictum sagittis neque quis tempor. Morbi id est ac orci dictum porta. Phasellus tempus adipiscing convallis.
|
||||
@module docstrap/person
|
||||
@author Fred Flinstone
|
||||
@requires lodash
|
||||
@requires docstrap/person
|
||||
*/
|
||||
|
||||
/**
|
||||
* Integer quis ante ut nulla cursus vehicula id eu dolor. Phasellus ut facilisis felis. Praesent eget metus id massa pretium lobortis a et metus. Aliquam erat volutpat. Nulla ac tortor odio, quis facilisis augue. In hendrerit, lectus mollis elementum vestibulum, velit nisi aliquet orci, vitae luctus risus dui sed nisi. Donec aliquam pretium leo sed ultrices. Duis porttitor pharetra vulputate. Aenean sed neque sit amet arcu auctor placerat eget ac tellus. Proin porttitor fringilla eros quis scelerisque. Aliquam erat volutpat.
|
||||
* @constructor
|
||||
*/
|
||||
exports.Person = function () {
|
||||
|
||||
/**
|
||||
* Aenean commodo lorem nec sapien suscipit quis hendrerit dui feugiat. Curabitur pretium congue sollicitudin. Nam eleifend ultricies libero vel iaculis. Maecenas vel elit vel lorem lacinia pellentesque. Vestibulum posuere suscipit lacus, sit amet volutpat erat sagittis vitae. Ut eleifend pretium nulla vitae tempor.
|
||||
* @type {number}
|
||||
*/
|
||||
this.eyes = 2;
|
||||
/**
|
||||
* Donec tempus vestibulum nunc. Fusce at eleifend nisi. Proin nisl odio, ultrices fermentum eleifend nec, pellentesque in massa. Cras id turpis diam, vitae fringilla turpis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Aliquam tempus urna in lacus semper sodales. Etiam a erat in augue rhoncus porta. Aenean nec odio lorem, a tristique dui.
|
||||
* @type {number}
|
||||
*/
|
||||
this.nose = 1;
|
||||
/**
|
||||
* Vestibulum viverra magna nec lectus imperdiet in lacinia ante iaculis. Cras nec urna tellus, eget convallis mauris. Fusce volutpat elementum enim, vel fringilla orci elementum vehicula. Nunc in ultrices sem. Sed augue tortor, pellentesque sed suscipit sed, vehicula eu enim.
|
||||
* @type {number}
|
||||
*/
|
||||
this.mouth = 1;
|
||||
};
|
||||
|
||||
/**
|
||||
* Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi congue viverra placerat. Mauris mi nibh, pulvinar ut placerat sit amet, aliquam a diam. Maecenas vitae suscipit nulla. Sed at justo nec ante lobortis fermentum. Quisque sodales libero suscipit mi malesuada pretium. Cras a lectus vitae risus semper sagittis. Sed ultrices aliquet tempus. Nulla id nisi metus, sit amet elementum tortor. Nunc tempor sem quis augue tempor sed posuere nulla volutpat. Phasellus fringilla pulvinar lorem quis venenatis.
|
||||
* @param {boolean} speed Phasellus ut facilisis felis.
|
||||
*/
|
||||
exports.Person.prototype.walk = function ( speed ) {
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* Aliquam interdum lectus ac diam tincidunt vitae fringilla justo faucibus.
|
||||
* @param {Boolean} well Morbi sit amet tellus at justo tempus tristique.
|
||||
* @param {function(err)} done Curabitur id nulla mauris, id hendrerit magna.
|
||||
* @param {object=} done.err Sed pulvinar mollis arcu, at tempus dui egestas cursus.
|
||||
*/
|
||||
exports.Person.prototype.think = function ( well, done ) {
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi congue viverra placerat. Mauris mi nibh, pulvinar ut placerat sit amet, aliquam a diam. Maecenas vitae suscipit nulla. Sed at justo nec ante lobortis fermentum. Quisque sodales libero suscipit mi malesuada pretium. Cras a lectus vitae risus semper sagittis. Sed ultrices aliquet tempus. Nulla id nisi metus, sit amet elementum tortor. Nunc tempor sem quis augue tempor sed posuere nulla volutpat. Phasellus fringilla pulvinar lorem quis venenatis.
|
||||
* @returns {boolean} Sed id erat ut ipsum scelerisque venenatis at nec mauris.
|
||||
* @fires module:docstrap/person.Person#sneeze
|
||||
*/
|
||||
exports.Person.prototype.tickle = function () {
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit.
|
||||
*
|
||||
* @event module:docstrap/person.Person#sneeze
|
||||
* @type {object}
|
||||
* @property {boolean} tissue Phasellus non justo a neque pharetra sagittis.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Nulla ultricies justo ac nisi consectetur posuere. Donec ornare pharetra erat, nec facilisis dui cursus quis. Quisque porttitor porttitor orci, sed facilisis urna facilisis sed. Sed tincidunt adipiscing turpis et hendrerit. Cras posuere orci ut mauris ullamcorper vitae laoreet nisi luctus. In rutrum tristique augue. Nam eleifend dignissim dui.
|
||||
* @returns {exports.Person}
|
||||
*/
|
||||
exports.create = function(){
|
||||
|
||||
};
|
21
Docs/docstrap-master/fixtures/tutorials/Brush Teeth.md
Normal file
21
Docs/docstrap-master/fixtures/tutorials/Brush Teeth.md
Normal file
|
@ -0,0 +1,21 @@
|
|||
#Lorem ipsum dolor sit amet
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec viverra, tellus et fermentum tincidunt, massa ligula dignissim augue, ut aliquam tortor odio in odio. In faucibus metus metus. Curabitur est mi, fermentum lacinia tincidunt vitae, mattis sit amet neque. Quisque diam nisl, accumsan ac porta tincidunt, iaculis facilisis ipsum. Nulla facilisi. Aenean a metus tortor. Pellentesque congue, mauris vitae viverra varius, elit nunc dictum nisl, rhoncus ultrices nulla sapien at leo. Duis ultricies porttitor diam. Nulla facilisi. Nullam elementum, lorem eu imperdiet laoreet, est turpis sollicitudin velit, in porttitor justo dolor vel urna. Mauris in ante magna. Curabitur vitae lacus in magna mollis commodo.
|
||||
|
||||
Fusce lacinia, mauris ac aliquam consequat, lacus urna feugiat erat, id viverra mi mi sit amet tortor. Etiam ac ornare erat. Pellentesque et neque lacus, quis posuere orci. Fusce molestie blandit velit, sit amet dictum eros pharetra vitae. In erat urna, condimentum ac feugiat id, rutrum et nisi. Cras ac velit lorem. Nulla facilisi. Maecenas dignissim nulla in turpis tempus sed rhoncus augue dapibus. Nulla feugiat, urna non sagittis laoreet, dolor metus rhoncus justo, sed semper ante lacus eget quam. Sed ac ligula magna. Sed tincidunt pulvinar neque in porta. Nullam quis lacus orci. Pellentesque ornare viverra lacus, id aliquam magna venenatis a.
|
||||
|
||||
Sed id tristique lorem. Ut sodales turpis nec mauris gravida interdum. Cras pellentesque, purus at suscipit euismod, elit nunc cursus nisi, ut venenatis metus sapien id velit. Sed lectus orci, pharetra non pulvinar vel, ullamcorper id lorem. Donec vulputate tincidunt ipsum, ut lacinia tortor sollicitudin id. Nunc nec nibh ut felis venenatis egestas. Proin risus mauris, eleifend eget interdum in, venenatis sed velit. Praesent sodales elit ut odio viverra posuere. Donec sapien lorem, molestie in egestas eget, vulputate sed orci. Aenean elit sapien, pellentesque vitae tempor sit amet, sagittis et ligula. Mauris aliquam sapien sit amet lacus ultrices rutrum. Curabitur nec dolor sed elit varius dignissim a a lacus. Aliquam ac convallis enim.
|
||||
|
||||
Suspendisse orci massa, hendrerit sagittis lacinia consectetur, sagittis vitae purus. Aliquam id eros diam, eget elementum turpis. Nullam tellus magna, mollis in molestie id, venenatis rhoncus est. Proin id diam justo. Nunc tempus gravida justo at lobortis. Nam vitae venenatis nisi. Donec vel odio massa. Quisque interdum metus sit amet est iaculis tincidunt. Donec bibendum blandit purus, id semper orci aliquam quis. Nam tincidunt dolor eu felis ultricies tempor. Nulla non consectetur erat.
|
||||
|
||||
Nunc faucibus lacus eget odio ultricies nec ullamcorper risus pharetra. Nunc nec consequat urna. Curabitur condimentum ante vitae erat tristique vitae gravida quam dapibus. Cras ac justo dui, at faucibus urna. Nunc tristique, velit id feugiat fermentum, dolor enim egestas erat, at vestibulum ante ipsum vel orci. Duis quis ante id justo vehicula eleifend sed et urna. Sed sapien tortor, rutrum id ultrices eu, tincidunt tincidunt mi. Etiam blandit, neque eget interdum dignissim, lacus ante facilisis dolor, non viverra dui lorem vitae nibh. Morbi volutpat augue eget nulla luctus eu aliquam sem facilisis. Pellentesque sollicitudin commodo dolor sit amet vestibulum. Nam dictum posuere quam, in tincidunt erat rutrum eu.
|
||||
|
||||
Etiam nec turpis purus, at lacinia sem. In commodo lacinia euismod. Curabitur tincidunt congue leo, eget iaculis orci volutpat pharetra. Fusce dignissim lacus lacus. Integer consectetur lacus rutrum risus malesuada at consectetur erat rutrum. Sed magna ipsum, fringilla eget auctor non, fringilla nec massa. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vestibulum nec tortor id nisi luctus aliquam. Maecenas cursus tincidunt ornare. Nulla a vestibulum odio. Mauris malesuada commodo justo quis mattis. Suspendisse mauris ligula, placerat at egestas in, tincidunt quis nibh. Aliquam ullamcorper elit at augue cursus quis pellentesque purus viverra.
|
||||
|
||||
Nulla ultricies justo ac nisi consectetur posuere. Donec ornare pharetra erat, nec facilisis dui cursus quis. Quisque porttitor porttitor orci, sed facilisis urna facilisis sed. Sed tincidunt adipiscing turpis et hendrerit. Cras posuere orci ut mauris ullamcorper vitae laoreet nisi luctus. In rutrum tristique augue. Nam eleifend dignissim dui.
|
||||
|
||||
Donec viverra egestas tellus non viverra. Aenean est ante, egestas sed scelerisque quis, aliquet sed lacus. Praesent non mauris neque, et adipiscing ante. Vestibulum quis quam vitae ipsum aliquet blandit. Vivamus condimentum euismod orci, in tincidunt justo rutrum faucibus. Phasellus nec lorem arcu. Donec tortor dui, facilisis in rutrum sit amet, pulvinar vitae lacus. Nam sodales sem eu nunc scelerisque vitae ullamcorper dolor facilisis. Duis imperdiet nisi in magna tempor convallis. Fusce at metus augue. Quisque dictum tempus mauris, in mattis ligula dignissim ut.
|
||||
|
||||
Proin sodales, mi at tincidunt ornare, mi dui sagittis velit, sed dictum risus orci eu erat. Sed nunc leo, congue sed rutrum eget, lobortis ac lectus. Etiam non arcu nulla. Vestibulum rutrum dolor pulvinar lorem posuere blandit. Sed quis sapien dui. Nunc sagittis erat commodo quam porta cursus in non erat. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin a molestie neque. Aliquam iaculis lacus sed neque hendrerit at dignissim ligula imperdiet. Suspendisse venenatis, lorem at luctus scelerisque, sem purus pellentesque sapien, vitae ornare ipsum quam nec dui. Mauris neque est, interdum nec pulvinar eget, dapibus eleifend tellus. Fusce non lorem tortor. Nullam eget nunc quis felis aliquam consectetur. Aliquam tristique, turpis in feugiat blandit, lectus erat condimentum tortor, non egestas nisl sapien eget nibh.
|
||||
|
||||
Aliquam elit turpis, faucibus et porta et, egestas nec nibh. Sed nisl est, pharetra a eleifend a, pretium ac eros. Sed leo eros, pulvinar vel faucibus dictum, aliquet ut quam. Maecenas et felis non ligula fringilla pretium fringilla sit amet ante. Nam varius imperdiet interdum. Ut non metus mauris, vel volutpat lorem. Nullam sagittis est quis lacus feugiat fringilla. Quisque orci lorem, semper ac accumsan vitae, blandit quis velit. Proin luctus sodales ultrices. Fusce mauris erat, facilisis ut consectetur at, fringilla feugiat orci. Aliquam a nisi a neque interdum suscipit id eget purus. Pellentesque tincidunt justo ut urna posuere non molestie quam auctor.
|
10
Docs/docstrap-master/fixtures/tutorials/Drive Car.md
Normal file
10
Docs/docstrap-master/fixtures/tutorials/Drive Car.md
Normal file
|
@ -0,0 +1,10 @@
|
|||
#Lorem ipsum dolor sit amet
|
||||
|
||||
Curabitur est mi, fermentum lacinia tincidunt vitae, mattis sit amet neque. Quisque diam nisl, accumsan ac porta tincidunt, iaculis facilisis ipsum. Nulla facilisi. Aenean a metus tortor. Pellentesque congue, mauris vitae viverra varius, elit nunc dictum nisl, rhoncus ultrices nulla sapien at leo. Duis ultricies porttitor diam. Nulla facilisi. Nullam elementum, lorem eu imperdiet laoreet, est turpis sollicitudin velit, in porttitor justo dolor vel urna. Mauris in ante magna. Curabitur vitae lacus in magna mollis commodo.
|
||||
|
||||
##Fusce lacinia, mauris ac aliquam consequat
|
||||
Fusce molestie blandit velit, sit amet dictum eros pharetra vitae. In erat urna, condimentum ac feugiat id, rutrum et nisi. Cras ac velit lorem. Nulla facilisi. Maecenas dignissim nulla in turpis tempus sed rhoncus augue dapibus. Nulla feugiat, urna non sagittis laoreet, dolor metus rhoncus justo, sed semper ante lacus eget quam. Sed ac ligula magna. Sed tincidunt pulvinar neque in porta. Nullam quis lacus orci. Pellentesque ornare viverra lacus, id aliquam magna venenatis a.
|
||||
|
||||
Sed id tristique lorem. Ut sodales turpis nec mauris gravida interdum. Cras pellentesque, purus at suscipit euismod, elit nunc cursus nisi, ut venenatis metus sapien id velit. Sed lectus orci, pharetra non pulvinar vel, ullamcorper id lorem. Donec vulputate tincidunt ipsum, ut lacinia tortor sollicitudin id. Nunc nec nibh ut felis venenatis egestas. Proin risus mauris, eleifend eget interdum in, venenatis sed velit. Praesent sodales elit ut odio viverra posuere. Donec sapien lorem, molestie in egestas eget, vulputate sed orci. Aenean elit sapien, pellentesque vitae tempor sit amet, sagittis et ligula. Mauris aliquam sapien sit amet lacus ultrices rutrum. Curabitur nec dolor sed elit varius dignissim a a lacus. Aliquam ac convallis enim.
|
||||
|
||||
Suspendisse orci massa, hendrerit sagittis lacinia consectetur, sagittis vitae purus. Aliquam id eros diam, eget elementum turpis. Nullam tellus magna, mollis in molestie id, venenatis rhoncus est. Proin id diam justo. Nunc tempus gravida justo at lobortis. Nam vitae venenatis nisi. Donec vel odio massa. Quisque interdum metus sit amet est iaculis tincidunt. Donec bibendum blandit purus, id semper orci aliquam quis. Nam tincidunt dolor eu felis ultricies tempor. Nulla non consectetur erat.
|
36
Docs/docstrap-master/package.json
Normal file
36
Docs/docstrap-master/package.json
Normal file
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"name": "ink-docstrap",
|
||||
"version": "0.2.0-0",
|
||||
"decription": "A template for JSDoc3 based on Bootstrap and Bootswatch",
|
||||
"devDependencies": {
|
||||
"grunt": "~0.4.1",
|
||||
"grunt-contrib-less": "~0.5.1",
|
||||
"jsdoc": "git://github.com/jsdoc3/jsdoc.git",
|
||||
"grunt-shell": "~0.2.2",
|
||||
"async": "~0.2.8",
|
||||
"lodash": "~1.2.1",
|
||||
"grunt-contrib-copy": "~0.4.1"
|
||||
},
|
||||
"license": "MIT",
|
||||
"keywords": [
|
||||
"docstrap",
|
||||
"jsdoc3",
|
||||
"bootstrap",
|
||||
"bootswatch",
|
||||
"theme",
|
||||
"documentation",
|
||||
"jsdoc"
|
||||
],
|
||||
"author": {
|
||||
"name": "Terry Weiss",
|
||||
"email": "me@terryweiss.net"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/terryweiss/docstrap/issues"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/terryweiss/docstrap.git"
|
||||
},
|
||||
"main": "./template/publish.js"
|
||||
}
|
180
Docs/docstrap-master/styles/bootswatch.less
Normal file
180
Docs/docstrap-master/styles/bootswatch.less
Normal file
|
@ -0,0 +1,180 @@
|
|||
// Cerulean 2.3.2
|
||||
// Bootswatch
|
||||
// -----------------------------------------------------
|
||||
|
||||
|
||||
// TYPOGRAPHY
|
||||
// -----------------------------------------------------
|
||||
|
||||
@import url(//fonts.googleapis.com/css?family=Telex);
|
||||
|
||||
// SCAFFOLDING
|
||||
// -----------------------------------------------------
|
||||
|
||||
// NAVBAR
|
||||
// -----------------------------------------------------
|
||||
|
||||
.navbar {
|
||||
|
||||
.brand {
|
||||
padding: 14px 20px 16px;
|
||||
font-family: @headingsFontFamily;
|
||||
text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
li {
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
.nav > li > a {
|
||||
padding: 16px 10px 14px;
|
||||
font-family: @headingsFontFamily;
|
||||
text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
.search-query {
|
||||
border: 1px solid darken(@linkColor, 10%);
|
||||
line-height: normal;
|
||||
}
|
||||
|
||||
.navbar-text {
|
||||
padding: 19px 10px 18px;
|
||||
line-height: 13px;
|
||||
color: rgba(0, 0, 0, 0.5);
|
||||
text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.3);
|
||||
}
|
||||
|
||||
&-inverse {
|
||||
|
||||
.navbar-search .search-query {
|
||||
color: @textColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: @navbarCollapseWidth) {
|
||||
|
||||
.navbar .nav-collapse {
|
||||
|
||||
.nav li > a {
|
||||
|
||||
font-family: @headingsFontFamily;
|
||||
font-weight: normal;
|
||||
color: @white;
|
||||
text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2);
|
||||
|
||||
&:hover {
|
||||
background-color: #2B7CAC;
|
||||
}
|
||||
}
|
||||
|
||||
.nav .active > a {
|
||||
.box-shadow(none);
|
||||
background-color: #2B7CAC;
|
||||
}
|
||||
|
||||
.dropdown-menu li > a:hover,
|
||||
.dropdown-menu li > a:focus,
|
||||
.dropdown-submenu:hover > a {
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
.navbar-form,
|
||||
.navbar-search {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.nav-header {
|
||||
color: #2B7CAC;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-inverse .nav-collapse {
|
||||
|
||||
.nav li > a {
|
||||
color: @navbarInverseLinkColor;
|
||||
|
||||
&:hover {
|
||||
background-color: rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
}
|
||||
|
||||
.nav .active > a,
|
||||
.nav > li > a:hover,
|
||||
.dropdown-menu a:hover {
|
||||
background-color: rgba(0, 0, 0, 0.1) !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
div.subnav {
|
||||
|
||||
font-family: @headingsFontFamily;
|
||||
text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.2);
|
||||
|
||||
&-fixed {
|
||||
top: @navbarHeight + 1;
|
||||
}
|
||||
}
|
||||
|
||||
// NAV
|
||||
// -----------------------------------------------------
|
||||
|
||||
// BUTTONS
|
||||
// -----------------------------------------------------
|
||||
|
||||
.btn {
|
||||
#gradient > .vertical-three-colors(@white, @white, 5%, darken(@white, 0%));
|
||||
@shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
|
||||
.box-shadow(@shadow);
|
||||
|
||||
&:hover {
|
||||
background-position: 0 0;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
.buttonBackground(lighten(@btnPrimaryBackground, 5%), @btnPrimaryBackground);
|
||||
}
|
||||
|
||||
.btn-info {
|
||||
.buttonBackground(lighten(@btnInfoBackground, 5%), @btnInfoBackground);
|
||||
}
|
||||
|
||||
.btn-success {
|
||||
.buttonBackground(lighten(@btnSuccessBackground, 5%), @btnSuccessBackground);
|
||||
}
|
||||
|
||||
.btn-warning {
|
||||
.buttonBackground(lighten(@btnWarningBackground, 5%), @btnWarningBackground);
|
||||
}
|
||||
|
||||
.btn-danger {
|
||||
.buttonBackground(lighten(@btnDangerBackground, 5%), @btnDangerBackground);
|
||||
}
|
||||
|
||||
.btn-inverse {
|
||||
.buttonBackground(lighten(@btnInverseBackground, 5%), @btnInverseBackground);
|
||||
}
|
||||
|
||||
// TABLES
|
||||
// -----------------------------------------------------
|
||||
|
||||
// FORMS
|
||||
// -----------------------------------------------------
|
||||
|
||||
// DROPDOWNS
|
||||
// -----------------------------------------------------
|
||||
|
||||
// ALERTS, LABELS, BADGES
|
||||
// -----------------------------------------------------
|
||||
|
||||
// MISC
|
||||
// -----------------------------------------------------
|
||||
|
||||
i[class^="icon-"]{
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
// MEDIA QUERIES
|
||||
// -----------------------------------------------------
|
152
Docs/docstrap-master/styles/main.less
Normal file
152
Docs/docstrap-master/styles/main.less
Normal file
|
@ -0,0 +1,152 @@
|
|||
@import "../components/bootstrap/less/bootstrap.less";
|
||||
@import "variables.less";
|
||||
@import "bootswatch.less";
|
||||
|
||||
@headerHeight: 56px;
|
||||
|
||||
#main {
|
||||
margin-top : @headerHeight;
|
||||
}
|
||||
|
||||
.navbar-fixed-top {
|
||||
.navbar-inner {
|
||||
padding-left : 20px;
|
||||
padding-right : 20px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.navbar {
|
||||
.dropdown-menu {
|
||||
padding : 20px;
|
||||
max-height : 300px;
|
||||
overflow : auto;
|
||||
width : 300px;
|
||||
background-color : @navbarInverseBackground;
|
||||
a, a:visited {
|
||||
color : @navbarInverseLinkColor;
|
||||
}
|
||||
a:hover {
|
||||
color : @navbarInverseLinkColorHover;
|
||||
background-color : @navbarInverseLinkBackgroundHover;
|
||||
}
|
||||
a:active {
|
||||
color : @navbarInverseLinkColorActive;
|
||||
background-color : @navbarInverseLinkBackgroundActive;
|
||||
}
|
||||
a {
|
||||
padding-left : 0;
|
||||
padding-right : 5px;
|
||||
font-weight : 500;
|
||||
font-size : 115%;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#toc {
|
||||
position : fixed;
|
||||
top : @headerHeight;
|
||||
width : 29%;
|
||||
max-height : 90%;
|
||||
overflow : auto;
|
||||
.border-radius(5px);
|
||||
border : 1px @navbarBackground solid;
|
||||
padding : 5px;
|
||||
|
||||
.toc-active {
|
||||
background-color : @navbarLinkBackgroundActive;
|
||||
color : @navbarLinkColorActive;
|
||||
.border-radius(3px);
|
||||
a, a:hover, a:active, a:visited {
|
||||
background-color : @navbarLinkBackgroundActive;
|
||||
color : @navbarLinkColorActive;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.toc-shim {
|
||||
padding-top : @headerHeight;
|
||||
margin-top : -@headerHeight;
|
||||
display : block;
|
||||
}
|
||||
|
||||
.toc-h1 {
|
||||
margin-left : 2px;
|
||||
margin-right : 2px;
|
||||
}
|
||||
|
||||
.toc-h2 {
|
||||
margin-left : 7px;
|
||||
margin-right : 7px;
|
||||
}
|
||||
|
||||
.toc-h3 {
|
||||
margin-left : 14px;
|
||||
margin-right : 7px;
|
||||
}
|
||||
|
||||
.toc-h4 {
|
||||
margin-left : 21px;
|
||||
margin-right : 7px;
|
||||
}
|
||||
|
||||
.copyright {
|
||||
font-size : 90%;
|
||||
text-align : center;
|
||||
color : @navbarInverseBackground;
|
||||
width : 100%;
|
||||
display : block;
|
||||
}
|
||||
|
||||
.jsdoc-message {
|
||||
font-size : 90%;
|
||||
text-align : center;
|
||||
color : @navbarInverseBackground;
|
||||
width : 100%;
|
||||
display : block;
|
||||
}
|
||||
|
||||
.page-title {
|
||||
font-size : 220%;
|
||||
color : @navbarInverseBackground;
|
||||
font-weight : 700;
|
||||
padding-top : 10px;
|
||||
display : block;
|
||||
}
|
||||
|
||||
footer {
|
||||
border-top : 1px solid @navbarInverseBackgroundHighlight;
|
||||
padding-top : 15px;
|
||||
}
|
||||
|
||||
code {
|
||||
background-color : none;
|
||||
border : none;
|
||||
color : @orange;
|
||||
}
|
||||
|
||||
.buffered-name {
|
||||
padding-top : @headerHeight;
|
||||
margin-top : -@headerHeight;
|
||||
}
|
||||
|
||||
|
||||
.member-collapsed {
|
||||
background-color : @navbarInverseBackground;
|
||||
color : @navbarInverseText;
|
||||
}
|
||||
|
||||
.member-open {
|
||||
background-color : inherit;
|
||||
color : inherit;
|
||||
}
|
||||
|
||||
.member {
|
||||
.transition(background-color 0.5s linear);
|
||||
.transition(color 0.5s linear);
|
||||
.border-radius(5px);
|
||||
padding : 10px;
|
||||
}
|
||||
|
||||
|
301
Docs/docstrap-master/styles/variables.less
Normal file
301
Docs/docstrap-master/styles/variables.less
Normal file
|
@ -0,0 +1,301 @@
|
|||
// Cerulean 2.3.2
|
||||
// Variables
|
||||
// --------------------------------------------------
|
||||
|
||||
|
||||
// GLOBAL VALUES
|
||||
// --------------------------------------------------
|
||||
|
||||
|
||||
// Grays
|
||||
// -------------------------
|
||||
@black: #000;
|
||||
@grayDarker: #222;
|
||||
@grayDark: #333;
|
||||
@gray: #555;
|
||||
@grayLight: #999;
|
||||
@grayLighter: #F5F5F5;
|
||||
@white: #fff;
|
||||
|
||||
|
||||
// Accent colors
|
||||
// -------------------------
|
||||
@blue: #2FA4E7;
|
||||
@blueDark: #033C73;
|
||||
@green: #73A839;
|
||||
@red: #C71C22;
|
||||
@yellow: #F7B42C;
|
||||
@orange: #DD5600;
|
||||
@pink: #F49AC1;
|
||||
@purple: #9760B3;
|
||||
|
||||
|
||||
// Scaffolding
|
||||
// -------------------------
|
||||
@bodyBackground: @white;
|
||||
@textColor: @gray;
|
||||
|
||||
|
||||
// Links
|
||||
// -------------------------
|
||||
@linkColor: @blue;
|
||||
@linkColorHover: darken(@linkColor, 15%);
|
||||
|
||||
|
||||
// Typography
|
||||
// -------------------------
|
||||
@sansFontFamily: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
@serifFontFamily: Georgia, "Times New Roman", Times, serif;
|
||||
@monoFontFamily: Menlo, Monaco, Consolas, "Courier New", monospace;
|
||||
|
||||
@baseFontSize: 14px;
|
||||
@baseFontFamily: @sansFontFamily;
|
||||
@baseLineHeight: 20px;
|
||||
@altFontFamily: @monoFontFamily;
|
||||
|
||||
@headingsFontFamily: 'Telex', sans-serif; // empty to use BS default, @baseFontFamily
|
||||
@headingsFontWeight: bold; // instead of browser default, bold
|
||||
@headingsColor: #317EAC; // empty to use BS default, @textColor
|
||||
|
||||
|
||||
// Component sizing
|
||||
// -------------------------
|
||||
// Based on 14px font-size and 20px line-height
|
||||
|
||||
@fontSizeLarge: @baseFontSize * 1.25; // ~18px
|
||||
@fontSizeSmall: @baseFontSize * 0.85; // ~12px
|
||||
@fontSizeMini: @baseFontSize * 0.75; // ~11px
|
||||
|
||||
@paddingLarge: 11px 19px; // 44px
|
||||
@paddingSmall: 2px 10px; // 26px
|
||||
@paddingMini: 0px 6px; // 22px
|
||||
|
||||
@baseBorderRadius: 4px;
|
||||
@borderRadiusLarge: 6px;
|
||||
@borderRadiusSmall: 3px;
|
||||
|
||||
|
||||
// Tables
|
||||
// -------------------------
|
||||
@tableBackground: transparent; // overall background-color
|
||||
@tableBackgroundAccent: #f9f9f9; // for striping
|
||||
@tableBackgroundHover: #f5f5f5; // for hover
|
||||
@tableBorder: #ddd; // table and cell border
|
||||
|
||||
// Buttons
|
||||
// -------------------------
|
||||
@btnBackground: @white;
|
||||
@btnBackgroundHighlight: darken(@white, 10%);
|
||||
@btnBorder: darken(@white, 20%);
|
||||
|
||||
@btnPrimaryBackground: @linkColor;
|
||||
@btnPrimaryBackgroundHighlight: spin(@btnPrimaryBackground, 15%);
|
||||
|
||||
@btnInfoBackground: @purple;
|
||||
@btnInfoBackgroundHighlight: #2f96b4;
|
||||
|
||||
@btnSuccessBackground: @green;
|
||||
@btnSuccessBackgroundHighlight: #51a351;
|
||||
|
||||
@btnWarningBackground: @orange;
|
||||
@btnWarningBackgroundHighlight: @orange;
|
||||
|
||||
@btnDangerBackground: @red;
|
||||
@btnDangerBackgroundHighlight: #bd362f;
|
||||
|
||||
@btnInverseBackground: @blueDark;
|
||||
@btnInverseBackgroundHighlight: @grayDarker;
|
||||
|
||||
|
||||
// Forms
|
||||
// -------------------------
|
||||
@inputBackground: @white;
|
||||
@inputBorder: #ccc;
|
||||
@inputBorderRadius: @baseBorderRadius;
|
||||
@inputDisabledBackground: @grayLighter;
|
||||
@formActionsBackground: #f5f5f5;
|
||||
@inputHeight: @baseLineHeight + 10px; // base line-height + 8px vertical padding + 2px top/bottom border
|
||||
|
||||
|
||||
// Dropdowns
|
||||
// -------------------------
|
||||
@dropdownBackground: @white;
|
||||
@dropdownBorder: rgba(0,0,0,.2);
|
||||
@dropdownDividerTop: #e5e5e5;
|
||||
@dropdownDividerBottom: @white;
|
||||
|
||||
@dropdownLinkColor: @grayDark;
|
||||
@dropdownLinkColorHover: @white;
|
||||
@dropdownLinkColorActive: @white;
|
||||
|
||||
@dropdownLinkBackgroundActive: @linkColor;
|
||||
@dropdownLinkBackgroundHover: @dropdownLinkBackgroundActive;
|
||||
|
||||
|
||||
|
||||
// COMPONENT VARIABLES
|
||||
// --------------------------------------------------
|
||||
|
||||
|
||||
// Z-index master list
|
||||
// -------------------------
|
||||
// Used for a bird's eye view of components dependent on the z-axis
|
||||
// Try to avoid customizing these :)
|
||||
@zindexDropdown: 1000;
|
||||
@zindexPopover: 1010;
|
||||
@zindexTooltip: 1020;
|
||||
@zindexFixedNavbar: 1030;
|
||||
@zindexModalBackdrop: 1040;
|
||||
@zindexModal: 1050;
|
||||
|
||||
|
||||
// Sprite icons path
|
||||
// -------------------------
|
||||
@iconSpritePath: "../img/glyphicons-halflings.png";
|
||||
@iconWhiteSpritePath: "../img/glyphicons-halflings-white.png";
|
||||
|
||||
|
||||
// Input placeholder text color
|
||||
// -------------------------
|
||||
@placeholderText: @grayLight;
|
||||
|
||||
|
||||
// Hr border color
|
||||
// -------------------------
|
||||
@hrBorder: @grayLighter;
|
||||
|
||||
|
||||
// Horizontal forms & lists
|
||||
// -------------------------
|
||||
@horizontalComponentOffset: 180px;
|
||||
|
||||
|
||||
// Wells
|
||||
// -------------------------
|
||||
@wellBackground: #f5f5f5;
|
||||
|
||||
|
||||
// Navbar
|
||||
// -------------------------
|
||||
@navbarCollapseWidth: 979px;
|
||||
@navbarCollapseDesktopWidth: @navbarCollapseWidth + 1;
|
||||
|
||||
@navbarHeight: 50px;
|
||||
@navbarBackgroundHighlight: lighten(@navbarBackground, 8%);
|
||||
@navbarBackground: @blue;
|
||||
@navbarBorder: darken(@navbarBackground, 8%);
|
||||
|
||||
@navbarText: @grayLighter;
|
||||
@navbarLinkColor: @white;
|
||||
@navbarLinkColorHover: @white;
|
||||
@navbarLinkColorActive: @navbarLinkColorHover;
|
||||
@navbarLinkBackgroundHover: darken(@navbarBackground, 12%);
|
||||
@navbarLinkBackgroundActive: darken(@navbarBackground, 12%);
|
||||
|
||||
@navbarBrandColor: @navbarLinkColor;
|
||||
|
||||
// Inverted navbar
|
||||
@navbarInverseBackground: @blueDark;
|
||||
@navbarInverseBackgroundHighlight: lighten(@navbarInverseBackground, 5%);
|
||||
@navbarInverseBorder: darken(@navbarInverseBackground, 3%);
|
||||
|
||||
@navbarInverseText: @white;
|
||||
@navbarInverseLinkColor: @white;
|
||||
@navbarInverseLinkColorHover: @white;
|
||||
@navbarInverseLinkColorActive: @white;
|
||||
@navbarInverseLinkBackgroundHover: darken(@navbarInverseBackground, 6%);
|
||||
@navbarInverseLinkBackgroundActive: darken(@navbarInverseBackground, 6%);
|
||||
|
||||
@navbarInverseSearchBackground: @white;
|
||||
@navbarInverseSearchBackgroundFocus: @white;
|
||||
@navbarInverseSearchBorder: @navbarInverseBackground;
|
||||
@navbarInverseSearchPlaceholderColor: @grayLight;
|
||||
|
||||
@navbarInverseBrandColor: @navbarInverseLinkColor;
|
||||
|
||||
|
||||
// Pagination
|
||||
// -------------------------
|
||||
@paginationBackground: #fff;
|
||||
@paginationBorder: #ddd;
|
||||
@paginationActiveBackground: #f5f5f5;
|
||||
|
||||
|
||||
// Hero unit
|
||||
// -------------------------
|
||||
@heroUnitBackground: @grayLighter;
|
||||
@heroUnitHeadingColor: inherit;
|
||||
@heroUnitLeadColor: inherit;
|
||||
|
||||
|
||||
// Form states and alerts
|
||||
// -------------------------
|
||||
@warningText: @orange;
|
||||
@warningBackground: #F1CEAB;
|
||||
@warningBorder: darken(spin(@warningBackground, -10), 3%);
|
||||
|
||||
@errorText: darken(#C45559, 5%);
|
||||
@errorBackground: #F2BDB1;
|
||||
@errorBorder: darken(spin(@errorBackground, -10), 3%);
|
||||
|
||||
@successText: darken(@green, 5%);
|
||||
@successBackground: #D5ECBF;
|
||||
@successBorder: darken(spin(@successBackground, -10), 5%);
|
||||
|
||||
@infoText: darken(@blue, 10%);
|
||||
@infoBackground: #A7DFF1;
|
||||
@infoBorder: darken(spin(@infoBackground, -10), 7%);
|
||||
|
||||
|
||||
// Tooltips and popovers
|
||||
// -------------------------
|
||||
@tooltipColor: #fff;
|
||||
@tooltipBackground: #000;
|
||||
@tooltipArrowWidth: 5px;
|
||||
@tooltipArrowColor: @tooltipBackground;
|
||||
|
||||
@popoverBackground: #fff;
|
||||
@popoverArrowWidth: 10px;
|
||||
@popoverArrowColor: #fff;
|
||||
@popoverTitleBackground: darken(@popoverBackground, 3%);
|
||||
|
||||
// Special enhancement for popovers
|
||||
@popoverArrowOuterWidth: @popoverArrowWidth + 1;
|
||||
@popoverArrowOuterColor: rgba(0,0,0,.25);
|
||||
|
||||
|
||||
|
||||
// GRID
|
||||
// --------------------------------------------------
|
||||
|
||||
|
||||
// Default 940px grid
|
||||
// -------------------------
|
||||
@gridColumns: 12;
|
||||
@gridColumnWidth: 60px;
|
||||
@gridGutterWidth: 20px;
|
||||
@gridRowWidth: (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
|
||||
|
||||
// 1200px min
|
||||
@gridColumnWidth1200: 70px;
|
||||
@gridGutterWidth1200: 30px;
|
||||
@gridRowWidth1200: (@gridColumns * @gridColumnWidth1200) + (@gridGutterWidth1200 * (@gridColumns - 1));
|
||||
|
||||
// 768px-979px
|
||||
@gridColumnWidth768: 42px;
|
||||
@gridGutterWidth768: 20px;
|
||||
@gridRowWidth768: (@gridColumns * @gridColumnWidth768) + (@gridGutterWidth768 * (@gridColumns - 1));
|
||||
|
||||
|
||||
// Fluid grid
|
||||
// -------------------------
|
||||
@fluidGridColumnWidth: percentage(@gridColumnWidth/@gridRowWidth);
|
||||
@fluidGridGutterWidth: percentage(@gridGutterWidth/@gridRowWidth);
|
||||
|
||||
// 1200px min
|
||||
@fluidGridColumnWidth1200: percentage(@gridColumnWidth1200/@gridRowWidth1200);
|
||||
@fluidGridGutterWidth1200: percentage(@gridGutterWidth1200/@gridRowWidth1200);
|
||||
|
||||
// 768px-979px
|
||||
@fluidGridColumnWidth768: percentage(@gridColumnWidth768/@gridRowWidth768);
|
||||
@fluidGridGutterWidth768: percentage(@gridGutterWidth768/@gridRowWidth768);
|
25
Docs/docstrap-master/template/jsdoc.conf.json
Normal file
25
Docs/docstrap-master/template/jsdoc.conf.json
Normal file
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"tags" : {
|
||||
"allowUnknownTags" : true
|
||||
},
|
||||
"plugins" : ["plugins/markdown"],
|
||||
"templates" : {
|
||||
"cleverLinks" : false,
|
||||
"monospaceLinks" : false,
|
||||
"default" : {
|
||||
"outputSourceFiles" : true
|
||||
},
|
||||
"systemName" : "DocStrap",
|
||||
"footer" : "",
|
||||
"copyright" : "DocStrap Copyright © 2012-2013 The contributors to the JSDoc3 and DocStrap projects.",
|
||||
"navType" : "vertical",
|
||||
"theme" : "cerulean",
|
||||
"linenums" : true,
|
||||
"collapseSymbols" : false,
|
||||
"inverseNav" : true
|
||||
},
|
||||
"markdown" : {
|
||||
"parser" : "gfm",
|
||||
"hardwrap" : true
|
||||
}
|
||||
}
|
651
Docs/docstrap-master/template/publish.js
Normal file
651
Docs/docstrap-master/template/publish.js
Normal file
|
@ -0,0 +1,651 @@
|
|||
"use strict";
|
||||
/**
|
||||
* @module template/publish
|
||||
* @type {*}
|
||||
*/
|
||||
/*global env: true */
|
||||
var template = require( 'jsdoc/template' ),
|
||||
fs = require( 'jsdoc/fs' ),
|
||||
_ = require( 'underscore' ),
|
||||
path = require( 'jsdoc/path' ),
|
||||
taffy = require( 'taffydb' ).taffy,
|
||||
handle = require( 'jsdoc/util/error' ).handle,
|
||||
helper = require( 'jsdoc/util/templateHelper' ),
|
||||
htmlsafe = helper.htmlsafe,
|
||||
linkto = helper.linkto,
|
||||
resolveAuthorLinks = helper.resolveAuthorLinks,
|
||||
scopeToPunc = helper.scopeToPunc,
|
||||
hasOwnProp = Object.prototype.hasOwnProperty,
|
||||
conf = env.conf.templates || {},
|
||||
data,
|
||||
view,
|
||||
outdir = env.opts.destination;
|
||||
|
||||
var globalUrl = helper.getUniqueFilename( 'global' );
|
||||
var indexUrl = helper.getUniqueFilename( 'index' );
|
||||
|
||||
var navOptions = {
|
||||
systemName : conf.systemName || "Documentation",
|
||||
navType : conf.navType || "vertical",
|
||||
footer : conf.footer || "",
|
||||
copyright : conf.copyright || "",
|
||||
theme : conf.theme || "simplex",
|
||||
linenums : conf.linenums,
|
||||
collapseSymbols : conf.collapseSymbols || false,
|
||||
inverseNav : conf.inverseNav
|
||||
};
|
||||
|
||||
var navigationMaster = {
|
||||
index : {
|
||||
title : navOptions.systemName,
|
||||
link : indexUrl,
|
||||
members : []
|
||||
},
|
||||
namespace : {
|
||||
title : "Namespaces",
|
||||
link : helper.getUniqueFilename( "namespaces.list" ),
|
||||
members : []
|
||||
},
|
||||
module : {
|
||||
title : "Modules",
|
||||
link : helper.getUniqueFilename( "modules.list" ),
|
||||
members : []
|
||||
},
|
||||
class : {
|
||||
title : "Classes",
|
||||
link : helper.getUniqueFilename( 'classes.list' ),
|
||||
members : []
|
||||
},
|
||||
|
||||
mixin : {
|
||||
title : "Mixins",
|
||||
link : helper.getUniqueFilename( "mixins.list" ),
|
||||
members : []
|
||||
},
|
||||
event : {
|
||||
title : "Events",
|
||||
link : helper.getUniqueFilename( "events.list" ),
|
||||
members : []
|
||||
},
|
||||
tutorial : {
|
||||
title : "Tutorials",
|
||||
link : helper.getUniqueFilename( "tutorials.list" ),
|
||||
members : []
|
||||
},
|
||||
global : {
|
||||
title : "Global",
|
||||
link : globalUrl,
|
||||
members : []
|
||||
|
||||
},
|
||||
external : {
|
||||
title : "Externals",
|
||||
link : helper.getUniqueFilename( "externals.list" ),
|
||||
members : []
|
||||
}
|
||||
};
|
||||
|
||||
function find( spec ) {
|
||||
return helper.find( data, spec );
|
||||
}
|
||||
|
||||
function tutoriallink( tutorial ) {
|
||||
return helper.toTutorial( tutorial, null, { tag : 'em', classname : 'disabled', prefix : 'Tutorial: ' } );
|
||||
}
|
||||
|
||||
function getAncestorLinks( doclet ) {
|
||||
return helper.getAncestorLinks( data, doclet );
|
||||
}
|
||||
|
||||
function hashToLink( doclet, hash ) {
|
||||
if ( !/^(#.+)/.test( hash ) ) { return hash; }
|
||||
|
||||
var url = helper.createLink( doclet );
|
||||
|
||||
url = url.replace( /(#.+|$)/, hash );
|
||||
return '<a href="' + url + '">' + hash + '</a>';
|
||||
}
|
||||
|
||||
function needsSignature( doclet ) {
|
||||
var needsSig = false;
|
||||
|
||||
// function and class definitions always get a signature
|
||||
if ( doclet.kind === 'function' || doclet.kind === 'class' ) {
|
||||
needsSig = true;
|
||||
}
|
||||
// typedefs that contain functions get a signature, too
|
||||
else if ( doclet.kind === 'typedef' && doclet.type && doclet.type.names &&
|
||||
doclet.type.names.length ) {
|
||||
for ( var i = 0, l = doclet.type.names.length; i < l; i++ ) {
|
||||
if ( doclet.type.names[i].toLowerCase() === 'function' ) {
|
||||
needsSig = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return needsSig;
|
||||
}
|
||||
|
||||
function addSignatureParams( f ) {
|
||||
var params = helper.getSignatureParams( f, 'optional' );
|
||||
|
||||
f.signature = (f.signature || '') + '(' + params.join( ', ' ) + ')';
|
||||
}
|
||||
|
||||
function addSignatureReturns( f ) {
|
||||
var returnTypes = helper.getSignatureReturns( f );
|
||||
|
||||
f.signature = '<span class="signature">' + (f.signature || '') + '</span>' + '<span class="type-signature">' + (returnTypes.length ? ' → {' + returnTypes.join( '|' ) + '}' : '') + '</span>';
|
||||
}
|
||||
|
||||
function addSignatureTypes( f ) {
|
||||
var types = helper.getSignatureTypes( f );
|
||||
|
||||
f.signature = (f.signature || '') + '<span class="type-signature">' + (types.length ? ' :' + types.join( '|' ) : '') + '</span>';
|
||||
}
|
||||
|
||||
function addAttribs( f ) {
|
||||
var attribs = helper.getAttribs( f );
|
||||
|
||||
f.attribs = '<span class="type-signature">' + htmlsafe( attribs.length ? '<' + attribs.join( ', ' ) + '> ' : '' ) + '</span>';
|
||||
}
|
||||
|
||||
function shortenPaths( files, commonPrefix ) {
|
||||
// always use forward slashes
|
||||
var regexp = new RegExp( '\\\\', 'g' );
|
||||
|
||||
Object.keys( files ).forEach( function ( file ) {
|
||||
files[file].shortened = files[file].resolved.replace( commonPrefix, '' )
|
||||
.replace( regexp, '/' );
|
||||
} );
|
||||
|
||||
return files;
|
||||
}
|
||||
|
||||
function resolveSourcePath( filepath ) {
|
||||
return path.resolve( process.cwd(), filepath );
|
||||
}
|
||||
|
||||
function getPathFromDoclet( doclet ) {
|
||||
if ( !doclet.meta ) {
|
||||
return;
|
||||
}
|
||||
|
||||
var filepath = doclet.meta.path && doclet.meta.path !== 'null' ?
|
||||
doclet.meta.path + '/' + doclet.meta.filename :
|
||||
doclet.meta.filename;
|
||||
|
||||
return filepath;
|
||||
}
|
||||
|
||||
function generate( docType, title, docs, filename, resolveLinks ) {
|
||||
resolveLinks = resolveLinks === false ? false : true;
|
||||
|
||||
var docData = {
|
||||
title : title,
|
||||
docs : docs,
|
||||
docType : docType
|
||||
};
|
||||
|
||||
var outpath = path.join( outdir, filename ),
|
||||
html = view.render( 'container.tmpl', docData );
|
||||
|
||||
if ( resolveLinks ) {
|
||||
html = helper.resolveLinks( html ); // turn {@link foo} into <a href="foodoc.html">foo</a>
|
||||
}
|
||||
|
||||
fs.writeFileSync( outpath, html, 'utf8' );
|
||||
}
|
||||
|
||||
function generateSourceFiles( sourceFiles ) {
|
||||
Object.keys( sourceFiles ).forEach( function ( file ) {
|
||||
var source;
|
||||
// links are keyed to the shortened path in each doclet's `meta.filename` property
|
||||
var sourceOutfile = helper.getUniqueFilename( sourceFiles[file].shortened );
|
||||
helper.registerLink( sourceFiles[file].shortened, sourceOutfile );
|
||||
|
||||
try {
|
||||
source = {
|
||||
kind : 'source',
|
||||
code : helper.htmlsafe( fs.readFileSync( sourceFiles[file].resolved, 'utf8' ) )
|
||||
};
|
||||
}
|
||||
catch ( e ) {
|
||||
handle( e );
|
||||
}
|
||||
|
||||
generate( 'source', 'Source: ' + sourceFiles[file].shortened, [source], sourceOutfile,
|
||||
false );
|
||||
} );
|
||||
}
|
||||
|
||||
/**
|
||||
* Look for classes or functions with the same name as modules (which indicates that the module
|
||||
* exports only that class or function), then attach the classes or functions to the `module`
|
||||
* property of the appropriate module doclets. The name of each class or function is also updated
|
||||
* for display purposes. This function mutates the original arrays.
|
||||
*
|
||||
* @private
|
||||
* @param {Array.<module:jsdoc/doclet.Doclet>} doclets - The array of classes and functions to
|
||||
* check.
|
||||
* @param {Array.<module:jsdoc/doclet.Doclet>} modules - The array of module doclets to search.
|
||||
*/
|
||||
function attachModuleSymbols( doclets, modules ) {
|
||||
var symbols = {};
|
||||
|
||||
// build a lookup table
|
||||
doclets.forEach( function ( symbol ) {
|
||||
symbols[symbol.longname] = symbol;
|
||||
} );
|
||||
|
||||
return modules.map( function ( module ) {
|
||||
if ( symbols[module.longname] ) {
|
||||
module.module = symbols[module.longname];
|
||||
module.module.name = module.module.name.replace( 'module:', 'require("' ) + '")';
|
||||
}
|
||||
} );
|
||||
}
|
||||
|
||||
/**
|
||||
* Create the navigation sidebar.
|
||||
* @param {object} members The members that will be used to create the sidebar.
|
||||
* @param {array<object>} members.classes
|
||||
* @param {array<object>} members.externals
|
||||
* @param {array<object>} members.globals
|
||||
* @param {array<object>} members.mixins
|
||||
* @param {array<object>} members.modules
|
||||
* @param {array<object>} members.namespaces
|
||||
* @param {array<object>} members.tutorials
|
||||
* @param {array<object>} members.events
|
||||
* @return {string} The HTML for the navigation sidebar.
|
||||
*/
|
||||
function buildNav( members ) {
|
||||
|
||||
var seen = {};
|
||||
var nav = navigationMaster;
|
||||
if ( members.modules.length ) {
|
||||
|
||||
members.modules.forEach( function ( m ) {
|
||||
if ( !hasOwnProp.call( seen, m.longname ) ) {
|
||||
|
||||
nav.module.members.push( linkto( m.longname, m.name ) );
|
||||
}
|
||||
seen[m.longname] = true;
|
||||
} );
|
||||
}
|
||||
|
||||
if ( members.externals.length ) {
|
||||
|
||||
members.externals.forEach( function ( e ) {
|
||||
if ( !hasOwnProp.call( seen, e.longname ) ) {
|
||||
|
||||
nav.external.members.push( linkto( e.longname, e.name.replace( /(^"|"$)/g, '' ) ) );
|
||||
}
|
||||
seen[e.longname] = true;
|
||||
} );
|
||||
}
|
||||
|
||||
if ( members.classes.length ) {
|
||||
|
||||
members.classes.forEach( function ( c ) {
|
||||
if ( !hasOwnProp.call( seen, c.longname ) ) {
|
||||
|
||||
nav.class.members.push( linkto( c.longname, c.name ) );
|
||||
}
|
||||
seen[c.longname] = true;
|
||||
} );
|
||||
|
||||
}
|
||||
|
||||
if ( members.events.length ) {
|
||||
|
||||
members.events.forEach( function ( e ) {
|
||||
if ( !hasOwnProp.call( seen, e.longname ) ) {
|
||||
|
||||
nav.event.members.push( linkto( e.longname, e.name ) );
|
||||
}
|
||||
seen[e.longname] = true;
|
||||
} );
|
||||
|
||||
}
|
||||
|
||||
if ( members.namespaces.length ) {
|
||||
|
||||
members.namespaces.forEach( function ( n ) {
|
||||
if ( !hasOwnProp.call( seen, n.longname ) ) {
|
||||
|
||||
nav.namespace.members.push( linkto( n.longname, n.name ) );
|
||||
}
|
||||
seen[n.longname] = true;
|
||||
} );
|
||||
|
||||
}
|
||||
|
||||
if ( members.mixins.length ) {
|
||||
|
||||
members.mixins.forEach( function ( m ) {
|
||||
if ( !hasOwnProp.call( seen, m.longname ) ) {
|
||||
|
||||
nav.mixin.members.push( linkto( m.longname, m.name ) );
|
||||
}
|
||||
seen[m.longname] = true;
|
||||
} );
|
||||
|
||||
}
|
||||
|
||||
if ( members.tutorials.length ) {
|
||||
|
||||
members.tutorials.forEach( function ( t ) {
|
||||
|
||||
nav.tutorial.members.push( tutoriallink( t.name ) );
|
||||
} );
|
||||
|
||||
}
|
||||
|
||||
if ( members.globals.length ) {
|
||||
members.globals.forEach( function ( g ) {
|
||||
if ( g.kind !== 'typedef' && !hasOwnProp.call( seen, g.longname ) ) {
|
||||
|
||||
nav.global.members.push( linkto( g.longname, g.name ) );
|
||||
}
|
||||
seen[g.longname] = true;
|
||||
} );
|
||||
}
|
||||
|
||||
var topLevelNav = [];
|
||||
_.each( nav, function ( entry, name ) {
|
||||
if ( entry.members.length > 0 && name !== "index" ) {
|
||||
topLevelNav.push( {
|
||||
title : entry.title,
|
||||
link : entry.link,
|
||||
members : entry.members
|
||||
} );
|
||||
}
|
||||
} );
|
||||
nav.topLevelNav = topLevelNav;
|
||||
}
|
||||
|
||||
/**
|
||||
@param {TAFFY} taffyData See <http://taffydb.com/>.
|
||||
@param {object} opts
|
||||
@param {Tutorial} tutorials
|
||||
*/
|
||||
exports.publish = function ( taffyData, opts, tutorials ) {
|
||||
data = taffyData;
|
||||
|
||||
conf['default'] = conf['default'] || {};
|
||||
|
||||
var templatePath = opts.template;
|
||||
view = new template.Template( templatePath + '/tmpl' );
|
||||
|
||||
// claim some special filenames in advance, so the All-Powerful Overseer of Filename Uniqueness
|
||||
// doesn't try to hand them out later
|
||||
// var indexUrl = helper.getUniqueFilename( 'index' );
|
||||
// don't call registerLink() on this one! 'index' is also a valid longname
|
||||
|
||||
// var globalUrl = helper.getUniqueFilename( 'global' );
|
||||
helper.registerLink( 'global', globalUrl );
|
||||
|
||||
// set up templating
|
||||
view.layout = 'layout.tmpl';
|
||||
|
||||
// set up tutorials for helper
|
||||
helper.setTutorials( tutorials );
|
||||
|
||||
data = helper.prune( data );
|
||||
data.sort( 'longname, version, since' );
|
||||
helper.addEventListeners( data );
|
||||
|
||||
var sourceFiles = {};
|
||||
var sourceFilePaths = [];
|
||||
data().each( function ( doclet ) {
|
||||
doclet.attribs = '';
|
||||
|
||||
if ( doclet.examples ) {
|
||||
doclet.examples = doclet.examples.map( function ( example ) {
|
||||
var caption, code;
|
||||
|
||||
if ( example.match( /^\s*<caption>([\s\S]+?)<\/caption>(\s*[\n\r])([\s\S]+)$/i ) ) {
|
||||
caption = RegExp.$1;
|
||||
code = RegExp.$3;
|
||||
}
|
||||
|
||||
return {
|
||||
caption : caption || '',
|
||||
code : code || example
|
||||
};
|
||||
} );
|
||||
}
|
||||
if ( doclet.see ) {
|
||||
doclet.see.forEach( function ( seeItem, i ) {
|
||||
doclet.see[i] = hashToLink( doclet, seeItem );
|
||||
} );
|
||||
}
|
||||
|
||||
// build a list of source files
|
||||
var sourcePath;
|
||||
var resolvedSourcePath;
|
||||
if ( doclet.meta ) {
|
||||
sourcePath = getPathFromDoclet( doclet );
|
||||
resolvedSourcePath = resolveSourcePath( sourcePath );
|
||||
sourceFiles[sourcePath] = {
|
||||
resolved : resolvedSourcePath,
|
||||
shortened : null
|
||||
};
|
||||
|
||||
sourceFilePaths.push( resolvedSourcePath );
|
||||
}
|
||||
} );
|
||||
|
||||
// update outdir if necessary, then create outdir
|
||||
var packageInfo = ( find( {kind : 'package'} ) || [] ) [0];
|
||||
if ( packageInfo && packageInfo.name ) {
|
||||
outdir = path.join( outdir, packageInfo.name, packageInfo.version );
|
||||
}
|
||||
fs.mkPath( outdir );
|
||||
|
||||
// copy static files to outdir
|
||||
var fromDir = path.join( templatePath, 'static' ),
|
||||
staticFiles = fs.ls( fromDir, 3 );
|
||||
|
||||
staticFiles.forEach( function ( fileName ) {
|
||||
var toDir = fs.toDir( fileName.replace( fromDir, outdir ) );
|
||||
fs.mkPath( toDir );
|
||||
fs.copyFileSync( fileName, toDir );
|
||||
} );
|
||||
|
||||
if ( sourceFilePaths.length ) {
|
||||
sourceFiles = shortenPaths( sourceFiles, path.commonPrefix( sourceFilePaths ) );
|
||||
}
|
||||
data().each( function ( doclet ) {
|
||||
var url = helper.createLink( doclet );
|
||||
helper.registerLink( doclet.longname, url );
|
||||
|
||||
// replace the filename with a shortened version of the full path
|
||||
var docletPath;
|
||||
if ( doclet.meta ) {
|
||||
docletPath = getPathFromDoclet( doclet );
|
||||
docletPath = sourceFiles[docletPath].shortened;
|
||||
if ( docletPath ) {
|
||||
doclet.meta.filename = docletPath;
|
||||
}
|
||||
}
|
||||
} );
|
||||
|
||||
data().each( function ( doclet ) {
|
||||
var url = helper.longnameToUrl[doclet.longname];
|
||||
|
||||
if ( url.indexOf( '#' ) > -1 ) {
|
||||
doclet.id = helper.longnameToUrl[doclet.longname].split( /#/ ).pop();
|
||||
}
|
||||
else {
|
||||
doclet.id = doclet.name;
|
||||
}
|
||||
|
||||
if ( needsSignature( doclet ) ) {
|
||||
addSignatureParams( doclet );
|
||||
addSignatureReturns( doclet );
|
||||
addAttribs( doclet );
|
||||
}
|
||||
} );
|
||||
|
||||
// do this after the urls have all been generated
|
||||
data().each( function ( doclet ) {
|
||||
doclet.ancestors = getAncestorLinks( doclet );
|
||||
|
||||
if ( doclet.kind === 'member' ) {
|
||||
addSignatureTypes( doclet );
|
||||
addAttribs( doclet );
|
||||
}
|
||||
|
||||
if ( doclet.kind === 'constant' ) {
|
||||
addSignatureTypes( doclet );
|
||||
addAttribs( doclet );
|
||||
doclet.kind = 'member';
|
||||
}
|
||||
} );
|
||||
|
||||
var members = helper.getMembers( data );
|
||||
members.tutorials = tutorials.children;
|
||||
|
||||
// add template helpers
|
||||
view.find = find;
|
||||
view.linkto = linkto;
|
||||
view.resolveAuthorLinks = resolveAuthorLinks;
|
||||
view.tutoriallink = tutoriallink;
|
||||
view.htmlsafe = htmlsafe;
|
||||
|
||||
// once for all
|
||||
buildNav( members );
|
||||
view.nav = navigationMaster;
|
||||
view.navOptions = navOptions;
|
||||
attachModuleSymbols( find( { kind : ['class', 'function'], longname : {left : 'module:'} } ),
|
||||
members.modules );
|
||||
|
||||
// only output pretty-printed source files if requested; do this before generating any other
|
||||
// pages, so the other pages can link to the source files
|
||||
if ( conf['default'].outputSourceFiles ) {
|
||||
generateSourceFiles( sourceFiles );
|
||||
}
|
||||
|
||||
if ( members.globals.length ) {
|
||||
generate( 'global', 'Global', [
|
||||
{kind : 'globalobj'}
|
||||
], globalUrl );
|
||||
}
|
||||
|
||||
// some browsers can't make the dropdown work
|
||||
if ( view.nav.module && view.nav.module.members.length ) {
|
||||
generate( 'module', view.nav.module.title, [
|
||||
{kind : 'sectionIndex', contents : view.nav.module}
|
||||
], navigationMaster.module.link );
|
||||
}
|
||||
|
||||
if ( view.nav.class && view.nav.class.members.length ) {
|
||||
generate( 'class', view.nav.class.title, [
|
||||
{kind : 'sectionIndex', contents : view.nav.class}
|
||||
], navigationMaster.class.link );
|
||||
}
|
||||
|
||||
if ( view.nav.namespace && view.nav.namespace.members.length ) {
|
||||
generate( 'namespace', view.nav.namespace.title, [
|
||||
{kind : 'sectionIndex', contents : view.nav.namespace}
|
||||
], navigationMaster.namespace.link );
|
||||
}
|
||||
|
||||
if ( view.nav.mixin && view.nav.mixin.members.length ) {
|
||||
generate( 'mixin', view.nav.mixin.title, [
|
||||
{kind : 'sectionIndex', contents : view.nav.mixin}
|
||||
], navigationMaster.mixin.link );
|
||||
}
|
||||
|
||||
if ( view.nav.external && view.nav.external.members.length ) {
|
||||
generate( 'external', view.nav.external.title, [
|
||||
{kind : 'sectionIndex', contents : view.nav.external}
|
||||
], navigationMaster.external.link );
|
||||
}
|
||||
|
||||
if ( view.nav.tutorial && view.nav.tutorial.members.length ) {
|
||||
generate( 'tutorial', view.nav.tutorial.title, [
|
||||
{kind : 'sectionIndex', contents : view.nav.tutorial}
|
||||
], navigationMaster.tutorial.link );
|
||||
}
|
||||
|
||||
// index page displays information from package.json and lists files
|
||||
var files = find( {kind : 'file'} ),
|
||||
packages = find( {kind : 'package'} );
|
||||
|
||||
generate( 'index', 'Index',
|
||||
packages.concat(
|
||||
[
|
||||
{kind : 'mainpage', readme : opts.readme, longname : (opts.mainpagetitle) ? opts.mainpagetitle : 'Main Page'}
|
||||
]
|
||||
).concat( files ),
|
||||
indexUrl );
|
||||
|
||||
// set up the lists that we'll use to generate pages
|
||||
var classes = taffy( members.classes );
|
||||
var modules = taffy( members.modules );
|
||||
var namespaces = taffy( members.namespaces );
|
||||
var mixins = taffy( members.mixins );
|
||||
var externals = taffy( members.externals );
|
||||
|
||||
for ( var longname in helper.longnameToUrl ) {
|
||||
if ( hasOwnProp.call( helper.longnameToUrl, longname ) ) {
|
||||
var myClasses = helper.find( classes, {longname : longname} );
|
||||
if ( myClasses.length ) {
|
||||
generate( 'class', 'Class: ' + myClasses[0].name, myClasses, helper.longnameToUrl[longname] );
|
||||
}
|
||||
|
||||
var myModules = helper.find( modules, {longname : longname} );
|
||||
if ( myModules.length ) {
|
||||
generate( 'module', 'Module: ' + myModules[0].name, myModules, helper.longnameToUrl[longname] );
|
||||
}
|
||||
|
||||
var myNamespaces = helper.find( namespaces, {longname : longname} );
|
||||
if ( myNamespaces.length ) {
|
||||
generate( 'namespace', 'Namespace: ' + myNamespaces[0].name, myNamespaces, helper.longnameToUrl[longname] );
|
||||
}
|
||||
|
||||
var myMixins = helper.find( mixins, {longname : longname} );
|
||||
if ( myMixins.length ) {
|
||||
generate( 'mixin', 'Mixin: ' + myMixins[0].name, myMixins, helper.longnameToUrl[longname] );
|
||||
}
|
||||
|
||||
var myExternals = helper.find( externals, {longname : longname} );
|
||||
if ( myExternals.length ) {
|
||||
generate( 'external', 'External: ' + myExternals[0].name, myExternals, helper.longnameToUrl[longname] );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: move the tutorial functions to templateHelper.js
|
||||
function generateTutorial( title, tutorial, filename ) {
|
||||
var tutorialData = {
|
||||
title : title,
|
||||
header : tutorial.title,
|
||||
content : tutorial.parse(),
|
||||
children : tutorial.children,
|
||||
docs : null
|
||||
};
|
||||
|
||||
var tutorialPath = path.join( outdir, filename ),
|
||||
html = view.render( 'tutorial.tmpl', tutorialData );
|
||||
|
||||
// yes, you can use {@link} in tutorials too!
|
||||
html = helper.resolveLinks( html ); // turn {@link foo} into <a href="foodoc.html">foo</a>
|
||||
|
||||
fs.writeFileSync( tutorialPath, html, 'utf8' );
|
||||
}
|
||||
|
||||
// tutorials can have only one parent so there is no risk for loops
|
||||
function saveChildren( node ) {
|
||||
node.children.forEach( function ( child ) {
|
||||
generateTutorial( 'tutorial' + child.title, child, helper.tutorialToUrl( child.name ) );
|
||||
saveChildren( child );
|
||||
} );
|
||||
}
|
||||
|
||||
saveChildren( tutorials );
|
||||
};
|
Binary file not shown.
After Width: | Height: | Size: 8.6 KiB |
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
1429
Docs/docstrap-master/template/static/scripts/URI.js
Normal file
1429
Docs/docstrap-master/template/static/scripts/URI.js
Normal file
File diff suppressed because it is too large
Load diff
165
Docs/docstrap-master/template/static/scripts/bootstrap-dropdown.js
vendored
Normal file
165
Docs/docstrap-master/template/static/scripts/bootstrap-dropdown.js
vendored
Normal file
|
@ -0,0 +1,165 @@
|
|||
/* ============================================================
|
||||
* bootstrap-dropdown.js v2.3.1
|
||||
* http://twitter.github.com/bootstrap/javascript.html#dropdowns
|
||||
* ============================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* ============================================================ */
|
||||
|
||||
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
|
||||
/* DROPDOWN CLASS DEFINITION
|
||||
* ========================= */
|
||||
|
||||
var toggle = '[data-toggle=dropdown]'
|
||||
, Dropdown = function (element) {
|
||||
var $el = $(element).on('click.dropdown.data-api', this.toggle)
|
||||
$('html').on('click.dropdown.data-api', function () {
|
||||
$el.parent().removeClass('open')
|
||||
})
|
||||
}
|
||||
|
||||
Dropdown.prototype = {
|
||||
|
||||
constructor: Dropdown
|
||||
|
||||
, toggle: function (e) {
|
||||
var $this = $(this)
|
||||
, $parent
|
||||
, isActive
|
||||
|
||||
if ($this.is('.disabled, :disabled')) return
|
||||
|
||||
$parent = getParent($this)
|
||||
|
||||
isActive = $parent.hasClass('open')
|
||||
|
||||
clearMenus()
|
||||
|
||||
if (!isActive) {
|
||||
$parent.toggleClass('open')
|
||||
}
|
||||
|
||||
$this.focus()
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
, keydown: function (e) {
|
||||
var $this
|
||||
, $items
|
||||
, $active
|
||||
, $parent
|
||||
, isActive
|
||||
, index
|
||||
|
||||
if (!/(38|40|27)/.test(e.keyCode)) return
|
||||
|
||||
$this = $(this)
|
||||
|
||||
e.preventDefault()
|
||||
e.stopPropagation()
|
||||
|
||||
if ($this.is('.disabled, :disabled')) return
|
||||
|
||||
$parent = getParent($this)
|
||||
|
||||
isActive = $parent.hasClass('open')
|
||||
|
||||
if (!isActive || (isActive && e.keyCode == 27)) {
|
||||
if (e.which == 27) $parent.find(toggle).focus()
|
||||
return $this.click()
|
||||
}
|
||||
|
||||
$items = $('[role=menu] li:not(.divider):visible a', $parent)
|
||||
|
||||
if (!$items.length) return
|
||||
|
||||
index = $items.index($items.filter(':focus'))
|
||||
|
||||
if (e.keyCode == 38 && index > 0) index-- // up
|
||||
if (e.keyCode == 40 && index < $items.length - 1) index++ // down
|
||||
if (!~index) index = 0
|
||||
|
||||
$items
|
||||
.eq(index)
|
||||
.focus()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function clearMenus() {
|
||||
$(toggle).each(function () {
|
||||
getParent($(this)).removeClass('open')
|
||||
})
|
||||
}
|
||||
|
||||
function getParent($this) {
|
||||
var selector = $this.attr('data-target')
|
||||
, $parent
|
||||
|
||||
if (!selector) {
|
||||
selector = $this.attr('href')
|
||||
selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
|
||||
}
|
||||
|
||||
$parent = selector && $(selector)
|
||||
|
||||
if (!$parent || !$parent.length) $parent = $this.parent()
|
||||
|
||||
return $parent
|
||||
}
|
||||
|
||||
|
||||
/* DROPDOWN PLUGIN DEFINITION
|
||||
* ========================== */
|
||||
|
||||
var old = $.fn.dropdown
|
||||
|
||||
$.fn.dropdown = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('dropdown')
|
||||
if (!data) $this.data('dropdown', (data = new Dropdown(this)))
|
||||
if (typeof option == 'string') data[option].call($this)
|
||||
})
|
||||
}
|
||||
|
||||
$.fn.dropdown.Constructor = Dropdown
|
||||
|
||||
|
||||
/* DROPDOWN NO CONFLICT
|
||||
* ==================== */
|
||||
|
||||
$.fn.dropdown.noConflict = function () {
|
||||
$.fn.dropdown = old
|
||||
return this
|
||||
}
|
||||
|
||||
|
||||
/* APPLY TO STANDARD DROPDOWN ELEMENTS
|
||||
* =================================== */
|
||||
|
||||
$(document)
|
||||
.on('click.dropdown.data-api', clearMenus)
|
||||
.on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
|
||||
.on('click.dropdown-menu', function (e) { e.stopPropagation() })
|
||||
.on('click.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
|
||||
.on('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
|
||||
|
||||
}(window.jQuery);
|
144
Docs/docstrap-master/template/static/scripts/bootstrap-tab.js
vendored
Normal file
144
Docs/docstrap-master/template/static/scripts/bootstrap-tab.js
vendored
Normal file
|
@ -0,0 +1,144 @@
|
|||
/* ========================================================
|
||||
* bootstrap-tab.js v2.3.0
|
||||
* http://twitter.github.com/bootstrap/javascript.html#tabs
|
||||
* ========================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* ======================================================== */
|
||||
|
||||
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
|
||||
/* TAB CLASS DEFINITION
|
||||
* ==================== */
|
||||
|
||||
var Tab = function (element) {
|
||||
this.element = $(element)
|
||||
}
|
||||
|
||||
Tab.prototype = {
|
||||
|
||||
constructor: Tab
|
||||
|
||||
, show: function () {
|
||||
var $this = this.element
|
||||
, $ul = $this.closest('ul:not(.dropdown-menu)')
|
||||
, selector = $this.attr('data-target')
|
||||
, previous
|
||||
, $target
|
||||
, e
|
||||
|
||||
if (!selector) {
|
||||
selector = $this.attr('href')
|
||||
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
|
||||
}
|
||||
|
||||
if ( $this.parent('li').hasClass('active') ) return
|
||||
|
||||
previous = $ul.find('.active:last a')[0]
|
||||
|
||||
e = $.Event('show', {
|
||||
relatedTarget: previous
|
||||
})
|
||||
|
||||
$this.trigger(e)
|
||||
|
||||
if (e.isDefaultPrevented()) return
|
||||
|
||||
$target = $(selector)
|
||||
|
||||
this.activate($this.parent('li'), $ul)
|
||||
this.activate($target, $target.parent(), function () {
|
||||
$this.trigger({
|
||||
type: 'shown'
|
||||
, relatedTarget: previous
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
, activate: function ( element, container, callback) {
|
||||
var $active = container.find('> .active')
|
||||
, transition = callback
|
||||
&& $.support.transition
|
||||
&& $active.hasClass('fade')
|
||||
|
||||
function next() {
|
||||
$active
|
||||
.removeClass('active')
|
||||
.find('> .dropdown-menu > .active')
|
||||
.removeClass('active')
|
||||
|
||||
element.addClass('active')
|
||||
|
||||
if (transition) {
|
||||
element[0].offsetWidth // reflow for transition
|
||||
element.addClass('in')
|
||||
} else {
|
||||
element.removeClass('fade')
|
||||
}
|
||||
|
||||
if ( element.parent('.dropdown-menu') ) {
|
||||
element.closest('li.dropdown').addClass('active')
|
||||
}
|
||||
|
||||
callback && callback()
|
||||
}
|
||||
|
||||
transition ?
|
||||
$active.one($.support.transition.end, next) :
|
||||
next()
|
||||
|
||||
$active.removeClass('in')
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* TAB PLUGIN DEFINITION
|
||||
* ===================== */
|
||||
|
||||
var old = $.fn.tab
|
||||
|
||||
$.fn.tab = function ( option ) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('tab')
|
||||
if (!data) $this.data('tab', (data = new Tab(this)))
|
||||
if (typeof option == 'string') data[option]()
|
||||
})
|
||||
}
|
||||
|
||||
$.fn.tab.Constructor = Tab
|
||||
|
||||
|
||||
/* TAB NO CONFLICT
|
||||
* =============== */
|
||||
|
||||
$.fn.tab.noConflict = function () {
|
||||
$.fn.tab = old
|
||||
return this
|
||||
}
|
||||
|
||||
|
||||
/* TAB DATA-API
|
||||
* ============ */
|
||||
|
||||
$(document).on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
|
||||
e.preventDefault()
|
||||
$(this).tab('show')
|
||||
})
|
||||
|
||||
}(window.jQuery);
|
|
@ -0,0 +1,130 @@
|
|||
/*!
|
||||
* jQuery.LocalScroll
|
||||
* Copyright (c) 2007-2013 Ariel Flesler - aflesler<a>gmail<d>com | http://flesler.blogspot.com
|
||||
* Dual licensed under MIT and GPL.
|
||||
* http://flesler.blogspot.com/2007/10/jquerylocalscroll-10.html
|
||||
* @author Ariel Flesler
|
||||
* @version 1.2.8
|
||||
*
|
||||
* @id jQuery.fn.localScroll
|
||||
* @param {Object} settings Hash of settings, it is passed in to jQuery.ScrollTo, none is required.
|
||||
* @return {jQuery} Returns the same jQuery object, for chaining.
|
||||
*
|
||||
* @example $('ul.links').localScroll();
|
||||
*
|
||||
* @example $('ul.links').localScroll({ filter:'.animated', duration:400, axis:'x' });
|
||||
*
|
||||
* @example $.localScroll({ target:'#pane', axis:'xy', queue:true, event:'mouseover' });
|
||||
*
|
||||
* Notes:
|
||||
* - The plugin requires jQuery.ScrollTo.
|
||||
* - The hash of settings, is passed to jQuery.ScrollTo, so the settings are valid for that plugin as well.
|
||||
* - jQuery.localScroll can be used if the desired links, are all over the document, it accepts the same settings.
|
||||
* - If the setting 'lazy' is set to true, then the binding will still work for later added anchors.
|
||||
* - If onBefore returns false, the event is ignored.
|
||||
*/
|
||||
;(function( $ ){
|
||||
var URI = location.href.replace(/#.*/,''); // local url without hash
|
||||
|
||||
var $localScroll = $.localScroll = function( settings ){
|
||||
$('body').localScroll( settings );
|
||||
};
|
||||
|
||||
// Many of these defaults, belong to jQuery.ScrollTo, check it's demo for an example of each option.
|
||||
// @see http://flesler.demos.com/jquery/scrollTo/
|
||||
// The defaults are public and can be overriden.
|
||||
$localScroll.defaults = {
|
||||
duration:1000, // How long to animate.
|
||||
axis:'y', // Which of top and left should be modified.
|
||||
event:'click', // On which event to react.
|
||||
stop:true, // Avoid queuing animations
|
||||
target: window, // What to scroll (selector or element). The whole window by default.
|
||||
reset: true // Used by $.localScroll.hash. If true, elements' scroll is resetted before actual scrolling
|
||||
/*
|
||||
lock:false, // ignore events if already animating
|
||||
lazy:false, // if true, links can be added later, and will still work.
|
||||
filter:null, // filter some anchors out of the matched elements.
|
||||
hash: false // if true, the hash of the selected link, will appear on the address bar.
|
||||
*/
|
||||
};
|
||||
|
||||
// If the URL contains a hash, it will scroll to the pointed element
|
||||
$localScroll.hash = function( settings ){
|
||||
if( location.hash ){
|
||||
settings = $.extend( {}, $localScroll.defaults, settings );
|
||||
settings.hash = false; // can't be true
|
||||
|
||||
if( settings.reset ){
|
||||
var d = settings.duration;
|
||||
delete settings.duration;
|
||||
$(settings.target).scrollTo( 0, settings );
|
||||
settings.duration = d;
|
||||
}
|
||||
scroll( 0, location, settings );
|
||||
}
|
||||
};
|
||||
|
||||
$.fn.localScroll = function( settings ){
|
||||
settings = $.extend( {}, $localScroll.defaults, settings );
|
||||
|
||||
return settings.lazy ?
|
||||
// use event delegation, more links can be added later.
|
||||
this.bind( settings.event, function( e ){
|
||||
// Could use closest(), but that would leave out jQuery -1.3.x
|
||||
var a = $([e.target, e.target.parentNode]).filter(filter)[0];
|
||||
// if a valid link was clicked
|
||||
if( a )
|
||||
scroll( e, a, settings ); // do scroll.
|
||||
}) :
|
||||
// bind concretely, to each matching link
|
||||
this.find('a,area')
|
||||
.filter( filter ).bind( settings.event, function(e){
|
||||
scroll( e, this, settings );
|
||||
}).end()
|
||||
.end();
|
||||
|
||||
function filter(){// is this a link that points to an anchor and passes a possible filter ? href is checked to avoid a bug in FF.
|
||||
return !!this.href && !!this.hash && this.href.replace(this.hash,'') == URI && (!settings.filter || $(this).is( settings.filter ));
|
||||
};
|
||||
};
|
||||
|
||||
function scroll( e, link, settings ){
|
||||
var id = link.hash.slice(1),
|
||||
elem = document.getElementById(id) || document.getElementsByName(id)[0];
|
||||
|
||||
if ( !elem )
|
||||
return;
|
||||
|
||||
if( e )
|
||||
e.preventDefault();
|
||||
|
||||
var $target = $( settings.target );
|
||||
|
||||
if( settings.lock && $target.is(':animated') ||
|
||||
settings.onBefore && settings.onBefore(e, elem, $target) === false )
|
||||
return;
|
||||
|
||||
if( settings.stop )
|
||||
$target._scrollable().stop(true); // remove all its animations
|
||||
|
||||
if( settings.hash ){
|
||||
var attr = elem.id == id ? 'id' : 'name',
|
||||
$a = $('<a> </a>').attr(attr, id).css({
|
||||
position:'absolute',
|
||||
top: $(window).scrollTop(),
|
||||
left: $(window).scrollLeft()
|
||||
});
|
||||
|
||||
elem[attr] = '';
|
||||
$('body').prepend($a);
|
||||
location = link.hash;
|
||||
$a.remove();
|
||||
elem[attr] = id;
|
||||
}
|
||||
|
||||
$target
|
||||
.scrollTo( elem, settings ) // do scroll
|
||||
.trigger('notify.serialScroll',[elem]); // notify serialScroll about this change
|
||||
};
|
||||
|
||||
})( jQuery );
|
3522
Docs/docstrap-master/template/static/scripts/jquery.min.js
vendored
Normal file
3522
Docs/docstrap-master/template/static/scripts/jquery.min.js
vendored
Normal file
File diff suppressed because it is too large
Load diff
217
Docs/docstrap-master/template/static/scripts/jquery.scrollTo.js
Normal file
217
Docs/docstrap-master/template/static/scripts/jquery.scrollTo.js
Normal file
|
@ -0,0 +1,217 @@
|
|||
/*!
|
||||
* jQuery.ScrollTo
|
||||
* Copyright (c) 2007-2013 Ariel Flesler - aflesler<a>gmail<d>com | http://flesler.blogspot.com
|
||||
* Dual licensed under MIT and GPL.
|
||||
*
|
||||
* @projectDescription Easy element scrolling using jQuery.
|
||||
* http://flesler.blogspot.com/2007/10/jqueryscrollto.html
|
||||
* @author Ariel Flesler
|
||||
* @version 1.4.5
|
||||
*
|
||||
* @id jQuery.scrollTo
|
||||
* @id jQuery.fn.scrollTo
|
||||
* @param {String, Number, DOMElement, jQuery, Object} target Where to scroll the matched elements.
|
||||
* The different options for target are:
|
||||
* - A number position (will be applied to all axes).
|
||||
* - A string position ('44', '100px', '+=90', etc ) will be applied to all axes
|
||||
* - A jQuery/DOM element ( logically, child of the element to scroll )
|
||||
* - A string selector, that will be relative to the element to scroll ( 'li:eq(2)', etc )
|
||||
* - A hash { top:x, left:y }, x and y can be any kind of number/string like above.
|
||||
* - A percentage of the container's dimension/s, for example: 50% to go to the middle.
|
||||
* - The string 'max' for go-to-end.
|
||||
* @param {Number, Function} duration The OVERALL length of the animation, this argument can be the settings object instead.
|
||||
* @param {Object,Function} settings Optional set of settings or the onAfter callback.
|
||||
* @option {String} axis Which axis must be scrolled, use 'x', 'y', 'xy' or 'yx'.
|
||||
* @option {Number, Function} duration The OVERALL length of the animation.
|
||||
* @option {String} easing The easing method for the animation.
|
||||
* @option {Boolean} margin If true, the margin of the target element will be deducted from the final position.
|
||||
* @option {Object, Number} offset Add/deduct from the end position. One number for both axes or { top:x, left:y }.
|
||||
* @option {Object, Number} over Add/deduct the height/width multiplied by 'over', can be { top:x, left:y } when using both axes.
|
||||
* @option {Boolean} queue If true, and both axis are given, the 2nd axis will only be animated after the first one ends.
|
||||
* @option {Function} onAfter Function to be called after the scrolling ends.
|
||||
* @option {Function} onAfterFirst If queuing is activated, this function will be called after the first scrolling ends.
|
||||
* @return {jQuery} Returns the same jQuery object, for chaining.
|
||||
*
|
||||
* @desc Scroll to a fixed position
|
||||
* @example $('div').scrollTo( 340 );
|
||||
*
|
||||
* @desc Scroll relatively to the actual position
|
||||
* @example $('div').scrollTo( '+=340px', { axis:'y' } );
|
||||
*
|
||||
* @desc Scroll using a selector (relative to the scrolled element)
|
||||
* @example $('div').scrollTo( 'p.paragraph:eq(2)', 500, { easing:'swing', queue:true, axis:'xy' } );
|
||||
*
|
||||
* @desc Scroll to a DOM element (same for jQuery object)
|
||||
* @example var second_child = document.getElementById('container').firstChild.nextSibling;
|
||||
* $('#container').scrollTo( second_child, { duration:500, axis:'x', onAfter:function(){
|
||||
* alert('scrolled!!');
|
||||
* }});
|
||||
*
|
||||
* @desc Scroll on both axes, to different values
|
||||
* @example $('div').scrollTo( { top: 300, left:'+=200' }, { axis:'xy', offset:-20 } );
|
||||
*/
|
||||
|
||||
;(function( $ ){
|
||||
|
||||
var $scrollTo = $.scrollTo = function( target, duration, settings ){
|
||||
$(window).scrollTo( target, duration, settings );
|
||||
};
|
||||
|
||||
$scrollTo.defaults = {
|
||||
axis:'xy',
|
||||
duration: parseFloat($.fn.jquery) >= 1.3 ? 0 : 1,
|
||||
limit:true
|
||||
};
|
||||
|
||||
// Returns the element that needs to be animated to scroll the window.
|
||||
// Kept for backwards compatibility (specially for localScroll & serialScroll)
|
||||
$scrollTo.window = function( scope ){
|
||||
return $(window)._scrollable();
|
||||
};
|
||||
|
||||
// Hack, hack, hack :)
|
||||
// Returns the real elements to scroll (supports window/iframes, documents and regular nodes)
|
||||
$.fn._scrollable = function(){
|
||||
return this.map(function(){
|
||||
var elem = this,
|
||||
isWin = !elem.nodeName || $.inArray( elem.nodeName.toLowerCase(), ['iframe','#document','html','body'] ) != -1;
|
||||
|
||||
if( !isWin )
|
||||
return elem;
|
||||
|
||||
var doc = (elem.contentWindow || elem).document || elem.ownerDocument || elem;
|
||||
|
||||
return /webkit/i.test(navigator.userAgent) || doc.compatMode == 'BackCompat' ?
|
||||
doc.body :
|
||||
doc.documentElement;
|
||||
});
|
||||
};
|
||||
|
||||
$.fn.scrollTo = function( target, duration, settings ){
|
||||
if( typeof duration == 'object' ){
|
||||
settings = duration;
|
||||
duration = 0;
|
||||
}
|
||||
if( typeof settings == 'function' )
|
||||
settings = { onAfter:settings };
|
||||
|
||||
if( target == 'max' )
|
||||
target = 9e9;
|
||||
|
||||
settings = $.extend( {}, $scrollTo.defaults, settings );
|
||||
// Speed is still recognized for backwards compatibility
|
||||
duration = duration || settings.duration;
|
||||
// Make sure the settings are given right
|
||||
settings.queue = settings.queue && settings.axis.length > 1;
|
||||
|
||||
if( settings.queue )
|
||||
// Let's keep the overall duration
|
||||
duration /= 2;
|
||||
settings.offset = both( settings.offset );
|
||||
settings.over = both( settings.over );
|
||||
|
||||
return this._scrollable().each(function(){
|
||||
// Null target yields nothing, just like jQuery does
|
||||
if (target == null) return;
|
||||
|
||||
var elem = this,
|
||||
$elem = $(elem),
|
||||
targ = target, toff, attr = {},
|
||||
win = $elem.is('html,body');
|
||||
|
||||
switch( typeof targ ){
|
||||
// A number will pass the regex
|
||||
case 'number':
|
||||
case 'string':
|
||||
if( /^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(targ) ){
|
||||
targ = both( targ );
|
||||
// We are done
|
||||
break;
|
||||
}
|
||||
// Relative selector, no break!
|
||||
targ = $(targ,this);
|
||||
if (!targ.length) return;
|
||||
case 'object':
|
||||
// DOMElement / jQuery
|
||||
if( targ.is || targ.style )
|
||||
// Get the real position of the target
|
||||
toff = (targ = $(targ)).offset();
|
||||
}
|
||||
$.each( settings.axis.split(''), function( i, axis ){
|
||||
var Pos = axis == 'x' ? 'Left' : 'Top',
|
||||
pos = Pos.toLowerCase(),
|
||||
key = 'scroll' + Pos,
|
||||
old = elem[key],
|
||||
max = $scrollTo.max(elem, axis);
|
||||
|
||||
if( toff ){// jQuery / DOMElement
|
||||
attr[key] = toff[pos] + ( win ? 0 : old - $elem.offset()[pos] );
|
||||
|
||||
// If it's a dom element, reduce the margin
|
||||
if( settings.margin ){
|
||||
attr[key] -= parseInt(targ.css('margin'+Pos)) || 0;
|
||||
attr[key] -= parseInt(targ.css('border'+Pos+'Width')) || 0;
|
||||
}
|
||||
|
||||
attr[key] += settings.offset[pos] || 0;
|
||||
|
||||
if( settings.over[pos] )
|
||||
// Scroll to a fraction of its width/height
|
||||
attr[key] += targ[axis=='x'?'width':'height']() * settings.over[pos];
|
||||
}else{
|
||||
var val = targ[pos];
|
||||
// Handle percentage values
|
||||
attr[key] = val.slice && val.slice(-1) == '%' ?
|
||||
parseFloat(val) / 100 * max
|
||||
: val;
|
||||
}
|
||||
|
||||
// Number or 'number'
|
||||
if( settings.limit && /^\d+$/.test(attr[key]) )
|
||||
// Check the limits
|
||||
attr[key] = attr[key] <= 0 ? 0 : Math.min( attr[key], max );
|
||||
|
||||
// Queueing axes
|
||||
if( !i && settings.queue ){
|
||||
// Don't waste time animating, if there's no need.
|
||||
if( old != attr[key] )
|
||||
// Intermediate animation
|
||||
animate( settings.onAfterFirst );
|
||||
// Don't animate this axis again in the next iteration.
|
||||
delete attr[key];
|
||||
}
|
||||
});
|
||||
|
||||
animate( settings.onAfter );
|
||||
|
||||
function animate( callback ){
|
||||
$elem.animate( attr, duration, settings.easing, callback && function(){
|
||||
callback.call(this, target, settings);
|
||||
});
|
||||
};
|
||||
|
||||
}).end();
|
||||
};
|
||||
|
||||
// Max scrolling position, works on quirks mode
|
||||
// It only fails (not too badly) on IE, quirks mode.
|
||||
$scrollTo.max = function( elem, axis ){
|
||||
var Dim = axis == 'x' ? 'Width' : 'Height',
|
||||
scroll = 'scroll'+Dim;
|
||||
|
||||
if( !$(elem).is('html,body') )
|
||||
return elem[scroll] - $(elem)[Dim.toLowerCase()]();
|
||||
|
||||
var size = 'client' + Dim,
|
||||
html = elem.ownerDocument.documentElement,
|
||||
body = elem.ownerDocument.body;
|
||||
|
||||
return Math.max( html[scroll], body[scroll] )
|
||||
- Math.min( html[size] , body[size] );
|
||||
};
|
||||
|
||||
function both( val ){
|
||||
return typeof val == 'object' ? val : { top:val, left:val };
|
||||
};
|
||||
|
||||
})( jQuery );
|
|
@ -0,0 +1,18 @@
|
|||
/**
|
||||
* jQuery plugin for Sunlight http://sunlightjs.com/
|
||||
*
|
||||
* by Tommy Montgomery http://tmont.com/
|
||||
* licensed under WTFPL http://sam.zoy.org/wtfpl/
|
||||
*/
|
||||
(function($, window){
|
||||
|
||||
$.fn.sunlight = function(options) {
|
||||
var highlighter = new window.Sunlight.Highlighter(options);
|
||||
this.each(function() {
|
||||
highlighter.highlightNode(this);
|
||||
});
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
}(jQuery, this));
|
|
@ -0,0 +1,202 @@
|
|||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
6
Docs/docstrap-master/template/static/scripts/prettify/jquery.min.js
vendored
Normal file
6
Docs/docstrap-master/template/static/scripts/prettify/jquery.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,21 @@
|
|||
PR.registerLangHandler(PR.createSimpleLexer([
|
||||
["pln", /^[\t\n\f\r ]+/, null, " \t\r\n"]
|
||||
], [
|
||||
["str", /^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/, null],
|
||||
["str", /^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/, null],
|
||||
["lang-css-str", /^url\(([^"')]*)\)/i],
|
||||
["kwd", /^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i, null],
|
||||
["lang-css-kw", /^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i],
|
||||
["com", /^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//],
|
||||
["com", /^(?:<\!--|--\>)/],
|
||||
["lit", /^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],
|
||||
["lit", /^#[\da-f]{3,6}/i],
|
||||
["pln", /^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i],
|
||||
["pun", /^[^\s\w"']+/]
|
||||
]), ["css"]);
|
||||
PR.registerLangHandler(PR.createSimpleLexer([], [
|
||||
["kwd", /^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i]
|
||||
]), ["css-kw"]);
|
||||
PR.registerLangHandler(PR.createSimpleLexer([], [
|
||||
["str", /^[^"')]+/]
|
||||
]), ["css-str"]);
|
|
@ -0,0 +1,496 @@
|
|||
var q = null;
|
||||
window.PR_SHOULD_USE_CONTINUATION = !0;
|
||||
(function() {
|
||||
function L(a) {
|
||||
function m(a) {
|
||||
var f = a.charCodeAt(0);
|
||||
if (f !== 92) return f;
|
||||
var b = a.charAt(1);
|
||||
return (f = r[b]) ? f : "0" <= b && b <= "7" ? parseInt(a.substring(1), 8) : b === "u" || b === "x" ? parseInt(a.substring(2), 16) : a.charCodeAt(1)
|
||||
}
|
||||
|
||||
function e(a) {
|
||||
if (a < 32) return (a < 16 ? "\\x0" : "\\x") + a.toString(16);
|
||||
a = String.fromCharCode(a);
|
||||
if (a === "\\" || a === "-" || a === "[" || a === "]") a = "\\" + a;
|
||||
return a
|
||||
}
|
||||
|
||||
function h(a) {
|
||||
for (var f = a.substring(1, a.length - 1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g), a = [], b = [], o = f[0] === "^", c = o ? 1 : 0, i = f.length; c < i; ++c) {
|
||||
var j = f[c];
|
||||
if (/\\[bdsw]/i.test(j)) a.push(j);
|
||||
else {
|
||||
var j = m(j),
|
||||
d;
|
||||
c + 2 < i && "-" === f[c + 1] ? (d = m(f[c + 2]), c += 2) : d = j;
|
||||
b.push([j, d]);
|
||||
d < 65 || j > 122 || (d < 65 || j > 90 || b.push([Math.max(65, j) | 32, Math.min(d, 90) | 32]), d < 97 || j > 122 || b.push([Math.max(97, j) & -33, Math.min(d, 122) & -33]))
|
||||
}
|
||||
}
|
||||
b.sort(function(a, f) {
|
||||
return a[0] - f[0] || f[1] - a[1]
|
||||
});
|
||||
f = [];
|
||||
j = [NaN, NaN];
|
||||
for (c = 0; c < b.length; ++c) i = b[c], i[0] <= j[1] + 1 ? j[1] = Math.max(j[1], i[1]) : f.push(j = i);
|
||||
b = ["["];
|
||||
o && b.push("^");
|
||||
b.push.apply(b, a);
|
||||
for (c = 0; c < f.length; ++c) i = f[c], b.push(e(i[0])), i[1] > i[0] && (i[1] + 1 > i[0] && b.push("-"), b.push(e(i[1])));
|
||||
b.push("]");
|
||||
return b.join("")
|
||||
}
|
||||
|
||||
function y(a) {
|
||||
for (var f = a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g), b = f.length, d = [], c = 0, i = 0; c < b; ++c) {
|
||||
var j = f[c];
|
||||
j === "(" ? ++i : "\\" === j.charAt(0) && (j = +j.substring(1)) && j <= i && (d[j] = -1)
|
||||
}
|
||||
for (c = 1; c < d.length; ++c) - 1 === d[c] && (d[c] = ++t);
|
||||
for (i = c = 0; c < b; ++c) j = f[c], j === "(" ? (++i, d[i] === void 0 && (f[c] = "(?:")) : "\\" === j.charAt(0) && (j = +j.substring(1)) && j <= i && (f[c] = "\\" + d[i]);
|
||||
for (i = c = 0; c < b; ++c)"^" === f[c] && "^" !== f[c + 1] && (f[c] = "");
|
||||
if (a.ignoreCase && s) for (c = 0; c < b; ++c) j = f[c], a = j.charAt(0), j.length >= 2 && a === "[" ? f[c] = h(j) : a !== "\\" && (f[c] = j.replace(/[A-Za-z]/g, function(a) {
|
||||
a = a.charCodeAt(0);
|
||||
return "[" + String.fromCharCode(a & -33, a | 32) + "]"
|
||||
}));
|
||||
return f.join("")
|
||||
}
|
||||
for (var t = 0, s = !1, l = !1, p = 0, d = a.length; p < d; ++p) {
|
||||
var g = a[p];
|
||||
if (g.ignoreCase) l = !0;
|
||||
else if (/[a-z]/i.test(g.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi, ""))) {
|
||||
s = !0;
|
||||
l = !1;
|
||||
break
|
||||
}
|
||||
}
|
||||
for (var r = {
|
||||
b: 8,
|
||||
t: 9,
|
||||
n: 10,
|
||||
v: 11,
|
||||
f: 12,
|
||||
r: 13
|
||||
}, n = [], p = 0, d = a.length; p < d; ++p) {
|
||||
g = a[p];
|
||||
if (g.global || g.multiline) throw Error("" + g);
|
||||
n.push("(?:" + y(g) + ")")
|
||||
}
|
||||
return RegExp(n.join("|"), l ? "gi" : "g")
|
||||
}
|
||||
|
||||
function M(a) {
|
||||
function m(a) {
|
||||
switch (a.nodeType) {
|
||||
case 1:
|
||||
if (e.test(a.className)) break;
|
||||
for (var g = a.firstChild; g; g = g.nextSibling) m(g);
|
||||
g = a.nodeName;
|
||||
if ("BR" === g || "LI" === g) h[s] = "\n", t[s << 1] = y++, t[s++ << 1 | 1] = a;
|
||||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
g = a.nodeValue, g.length && (g = p ? g.replace(/\r\n?/g, "\n") : g.replace(/[\t\n\r ]+/g, " "), h[s] = g, t[s << 1] = y, y += g.length, t[s++ << 1 | 1] = a)
|
||||
}
|
||||
}
|
||||
var e = /(?:^|\s)nocode(?:\s|$)/,
|
||||
h = [],
|
||||
y = 0,
|
||||
t = [],
|
||||
s = 0,
|
||||
l;
|
||||
a.currentStyle ? l = a.currentStyle.whiteSpace : window.getComputedStyle && (l = document.defaultView.getComputedStyle(a, q).getPropertyValue("white-space"));
|
||||
var p = l && "pre" === l.substring(0, 3);
|
||||
m(a);
|
||||
return {
|
||||
a: h.join("").replace(/\n$/, ""),
|
||||
c: t
|
||||
}
|
||||
}
|
||||
|
||||
function B(a, m, e, h) {
|
||||
m && (a = {
|
||||
a: m,
|
||||
d: a
|
||||
}, e(a), h.push.apply(h, a.e))
|
||||
}
|
||||
|
||||
function x(a, m) {
|
||||
function e(a) {
|
||||
for (var l = a.d, p = [l, "pln"], d = 0, g = a.a.match(y) || [], r = {}, n = 0, z = g.length; n < z; ++n) {
|
||||
var f = g[n],
|
||||
b = r[f],
|
||||
o = void 0,
|
||||
c;
|
||||
if (typeof b === "string") c = !1;
|
||||
else {
|
||||
var i = h[f.charAt(0)];
|
||||
if (i) o = f.match(i[1]), b = i[0];
|
||||
else {
|
||||
for (c = 0; c < t; ++c) if (i = m[c], o = f.match(i[1])) {
|
||||
b = i[0];
|
||||
break
|
||||
}
|
||||
o || (b = "pln")
|
||||
}
|
||||
if ((c = b.length >= 5 && "lang-" === b.substring(0, 5)) && !(o && typeof o[1] === "string")) c = !1, b = "src";
|
||||
c || (r[f] = b)
|
||||
}
|
||||
i = d;
|
||||
d += f.length;
|
||||
if (c) {
|
||||
c = o[1];
|
||||
var j = f.indexOf(c),
|
||||
k = j + c.length;
|
||||
o[2] && (k = f.length - o[2].length, j = k - c.length);
|
||||
b = b.substring(5);
|
||||
B(l + i, f.substring(0, j), e, p);
|
||||
B(l + i + j, c, C(b, c), p);
|
||||
B(l + i + k, f.substring(k), e, p)
|
||||
} else p.push(l + i, b)
|
||||
}
|
||||
a.e = p
|
||||
}
|
||||
var h = {},
|
||||
y;
|
||||
(function() {
|
||||
for (var e = a.concat(m), l = [], p = {}, d = 0, g = e.length; d < g; ++d) {
|
||||
var r = e[d],
|
||||
n = r[3];
|
||||
if (n) for (var k = n.length; --k >= 0;) h[n.charAt(k)] = r;
|
||||
r = r[1];
|
||||
n = "" + r;
|
||||
p.hasOwnProperty(n) || (l.push(r), p[n] = q)
|
||||
}
|
||||
l.push(/[\S\s]/);
|
||||
y = L(l)
|
||||
})();
|
||||
var t = m.length;
|
||||
return e
|
||||
}
|
||||
|
||||
function u(a) {
|
||||
var m = [],
|
||||
e = [];
|
||||
a.tripleQuotedStrings ? m.push(["str", /^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/, q, "'\""]) : a.multiLineStrings ? m.push(["str", /^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/, q, "'\"`"]) : m.push(["str", /^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/, q, "\"'"]);
|
||||
a.verbatimStrings && e.push(["str", /^@"(?:[^"]|"")*(?:"|$)/, q]);
|
||||
var h = a.hashComments;
|
||||
h && (a.cStyleComments ? (h > 1 ? m.push(["com", /^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/, q, "#"]) : m.push(["com", /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/, q, "#"]), e.push(["str", /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/, q])) : m.push(["com", /^#[^\n\r]*/, q, "#"]));
|
||||
a.cStyleComments && (e.push(["com", /^\/\/[^\n\r]*/, q]), e.push(["com", /^\/\*[\S\s]*?(?:\*\/|$)/, q]));
|
||||
a.regexLiterals && e.push(["lang-regex", /^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);
|
||||
(h = a.types) && e.push(["typ", h]);
|
||||
a = ("" + a.keywords).replace(/^ | $/g, "");
|
||||
a.length && e.push(["kwd", RegExp("^(?:" + a.replace(/[\s,]+/g, "|") + ")\\b"), q]);
|
||||
m.push(["pln", /^\s+/, q, " \r\n\t\xa0"]);
|
||||
e.push(["lit", /^@[$_a-z][\w$@]*/i, q], ["typ", /^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/, q], ["pln", /^[$_a-z][\w$@]*/i, q], ["lit", /^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i, q, "0123456789"], ["pln", /^\\[\S\s]?/, q], ["pun", /^.[^\s\w"-$'./@\\`]*/, q]);
|
||||
return x(m, e)
|
||||
}
|
||||
|
||||
function D(a, m) {
|
||||
function e(a) {
|
||||
switch (a.nodeType) {
|
||||
case 1:
|
||||
if (k.test(a.className)) break;
|
||||
if ("BR" === a.nodeName) h(a), a.parentNode && a.parentNode.removeChild(a);
|
||||
else for (a = a.firstChild; a; a = a.nextSibling) e(a);
|
||||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
if (p) {
|
||||
var b = a.nodeValue,
|
||||
d = b.match(t);
|
||||
if (d) {
|
||||
var c = b.substring(0, d.index);
|
||||
a.nodeValue = c;
|
||||
(b = b.substring(d.index + d[0].length)) && a.parentNode.insertBefore(s.createTextNode(b), a.nextSibling);
|
||||
h(a);
|
||||
c || a.parentNode.removeChild(a)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function h(a) {
|
||||
function b(a, d) {
|
||||
var e = d ? a.cloneNode(!1) : a,
|
||||
f = a.parentNode;
|
||||
if (f) {
|
||||
var f = b(f, 1),
|
||||
g = a.nextSibling;
|
||||
f.appendChild(e);
|
||||
for (var h = g; h; h = g) g = h.nextSibling, f.appendChild(h)
|
||||
}
|
||||
return e
|
||||
}
|
||||
for (; !a.nextSibling;) if (a = a.parentNode, !a) return;
|
||||
for (var a = b(a.nextSibling, 0), e;
|
||||
(e = a.parentNode) && e.nodeType === 1;) a = e;
|
||||
d.push(a)
|
||||
}
|
||||
var k = /(?:^|\s)nocode(?:\s|$)/,
|
||||
t = /\r\n?|\n/,
|
||||
s = a.ownerDocument,
|
||||
l;
|
||||
a.currentStyle ? l = a.currentStyle.whiteSpace : window.getComputedStyle && (l = s.defaultView.getComputedStyle(a, q).getPropertyValue("white-space"));
|
||||
var p = l && "pre" === l.substring(0, 3);
|
||||
for (l = s.createElement("LI"); a.firstChild;) l.appendChild(a.firstChild);
|
||||
for (var d = [l], g = 0; g < d.length; ++g) e(d[g]);
|
||||
m === (m | 0) && d[0].setAttribute("value", m);
|
||||
var r = s.createElement("OL");
|
||||
r.className = "linenums";
|
||||
for (var n = Math.max(0, m - 1 | 0) || 0, g = 0, z = d.length; g < z; ++g) l = d[g], l.className = "L" + (g + n) % 10, l.firstChild || l.appendChild(s.createTextNode("\xa0")), r.appendChild(l);
|
||||
a.appendChild(r)
|
||||
}
|
||||
|
||||
function k(a, m) {
|
||||
for (var e = m.length; --e >= 0;) {
|
||||
var h = m[e];
|
||||
A.hasOwnProperty(h) ? window.console && console.warn("cannot override language handler %s", h) : A[h] = a
|
||||
}
|
||||
}
|
||||
|
||||
function C(a, m) {
|
||||
if (!a || !A.hasOwnProperty(a)) a = /^\s*</.test(m) ? "default-markup" : "default-code";
|
||||
return A[a]
|
||||
}
|
||||
|
||||
function E(a) {
|
||||
var m =
|
||||
a.g;
|
||||
try {
|
||||
var e = M(a.h),
|
||||
h = e.a;
|
||||
a.a = h;
|
||||
a.c = e.c;
|
||||
a.d = 0;
|
||||
C(m, h)(a);
|
||||
var k = /\bMSIE\b/.test(navigator.userAgent),
|
||||
m = /\n/g,
|
||||
t = a.a,
|
||||
s = t.length,
|
||||
e = 0,
|
||||
l = a.c,
|
||||
p = l.length,
|
||||
h = 0,
|
||||
d = a.e,
|
||||
g = d.length,
|
||||
a = 0;
|
||||
d[g] = s;
|
||||
var r, n;
|
||||
for (n = r = 0; n < g;) d[n] !== d[n + 2] ? (d[r++] = d[n++], d[r++] = d[n++]) : n += 2;
|
||||
g = r;
|
||||
for (n = r = 0; n < g;) {
|
||||
for (var z = d[n], f = d[n + 1], b = n + 2; b + 2 <= g && d[b + 1] === f;) b += 2;
|
||||
d[r++] = z;
|
||||
d[r++] = f;
|
||||
n = b
|
||||
}
|
||||
for (d.length = r; h < p;) {
|
||||
var o = l[h + 2] || s,
|
||||
c = d[a + 2] || s,
|
||||
b = Math.min(o, c),
|
||||
i = l[h + 1],
|
||||
j;
|
||||
if (i.nodeType !== 1 && (j = t.substring(e, b))) {
|
||||
k && (j = j.replace(m, "\r"));
|
||||
i.nodeValue =
|
||||
j;
|
||||
var u = i.ownerDocument,
|
||||
v = u.createElement("SPAN");
|
||||
v.className = d[a + 1];
|
||||
var x = i.parentNode;
|
||||
x.replaceChild(v, i);
|
||||
v.appendChild(i);
|
||||
e < o && (l[h + 1] = i = u.createTextNode(t.substring(b, o)), x.insertBefore(i, v.nextSibling))
|
||||
}
|
||||
e = b;
|
||||
e >= o && (h += 2);
|
||||
e >= c && (a += 2)
|
||||
}
|
||||
} catch (w) {
|
||||
"console" in window && console.log(w && w.stack ? w.stack : w)
|
||||
}
|
||||
}
|
||||
var v = ["break,continue,do,else,for,if,return,while"],
|
||||
w = [
|
||||
[v, "auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"], "catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],
|
||||
F = [w, "alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],
|
||||
G = [w, "abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],
|
||||
H = [G, "as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],
|
||||
w = [w, "debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],
|
||||
I = [v, "and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],
|
||||
J = [v, "alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],
|
||||
v = [v, "case,done,elif,esac,eval,fi,function,in,local,set,then,until"],
|
||||
K = /^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,
|
||||
N = /\S/,
|
||||
O = u({
|
||||
keywords: [F, H, w, "caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END" + I, J, v],
|
||||
hashComments: !0,
|
||||
cStyleComments: !0,
|
||||
multiLineStrings: !0,
|
||||
regexLiterals: !0
|
||||
}),
|
||||
A = {};
|
||||
k(O, ["default-code"]);
|
||||
k(x([], [
|
||||
["pln", /^[^<?]+/],
|
||||
["dec", /^<!\w[^>]*(?:>|$)/],
|
||||
["com", /^<\!--[\S\s]*?(?:--\>|$)/],
|
||||
["lang-", /^<\?([\S\s]+?)(?:\?>|$)/],
|
||||
["lang-", /^<%([\S\s]+?)(?:%>|$)/],
|
||||
["pun", /^(?:<[%?]|[%?]>)/],
|
||||
["lang-", /^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i],
|
||||
["lang-js", /^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i],
|
||||
["lang-css", /^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i],
|
||||
["lang-in.tag", /^(<\/?[a-z][^<>]*>)/i]
|
||||
]), ["default-markup", "htm", "html", "mxml", "xhtml", "xml", "xsl"]);
|
||||
k(x([
|
||||
["pln", /^\s+/, q, " \t\r\n"],
|
||||
["atv", /^(?:"[^"]*"?|'[^']*'?)/, q, "\"'"]
|
||||
], [
|
||||
["tag", /^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],
|
||||
["atn", /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],
|
||||
["lang-uq.val", /^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],
|
||||
["pun", /^[/<->]+/],
|
||||
["lang-js", /^on\w+\s*=\s*"([^"]+)"/i],
|
||||
["lang-js", /^on\w+\s*=\s*'([^']+)'/i],
|
||||
["lang-js", /^on\w+\s*=\s*([^\s"'>]+)/i],
|
||||
["lang-css", /^style\s*=\s*"([^"]+)"/i],
|
||||
["lang-css", /^style\s*=\s*'([^']+)'/i],
|
||||
["lang-css", /^style\s*=\s*([^\s"'>]+)/i]
|
||||
]), ["in.tag"]);
|
||||
k(x([], [
|
||||
["atv", /^[\S\s]+/]
|
||||
]), ["uq.val"]);
|
||||
k(u({
|
||||
keywords: F,
|
||||
hashComments: !0,
|
||||
cStyleComments: !0,
|
||||
types: K
|
||||
}), ["c", "cc", "cpp", "cxx", "cyc", "m"]);
|
||||
k(u({
|
||||
keywords: "null,true,false"
|
||||
}), ["json"]);
|
||||
k(u({
|
||||
keywords: H,
|
||||
hashComments: !0,
|
||||
cStyleComments: !0,
|
||||
verbatimStrings: !0,
|
||||
types: K
|
||||
}), ["cs"]);
|
||||
k(u({
|
||||
keywords: G,
|
||||
cStyleComments: !0
|
||||
}), ["java"]);
|
||||
k(u({
|
||||
keywords: v,
|
||||
hashComments: !0,
|
||||
multiLineStrings: !0
|
||||
}), ["bsh", "csh", "sh"]);
|
||||
k(u({
|
||||
keywords: I,
|
||||
hashComments: !0,
|
||||
multiLineStrings: !0,
|
||||
tripleQuotedStrings: !0
|
||||
}), ["cv", "py"]);
|
||||
k(u({
|
||||
keywords: "caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",
|
||||
hashComments: !0,
|
||||
multiLineStrings: !0,
|
||||
regexLiterals: !0
|
||||
}), ["perl", "pl", "pm"]);
|
||||
k(u({
|
||||
keywords: J,
|
||||
hashComments: !0,
|
||||
multiLineStrings: !0,
|
||||
regexLiterals: !0
|
||||
}), ["rb"]);
|
||||
k(u({
|
||||
keywords: w,
|
||||
cStyleComments: !0,
|
||||
regexLiterals: !0
|
||||
}), ["js"]);
|
||||
k(u({
|
||||
keywords: "all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes",
|
||||
hashComments: 3,
|
||||
cStyleComments: !0,
|
||||
multilineStrings: !0,
|
||||
tripleQuotedStrings: !0,
|
||||
regexLiterals: !0
|
||||
}), ["coffee"]);
|
||||
k(x([], [
|
||||
["str", /^[\S\s]+/]
|
||||
]), ["regex"]);
|
||||
window.prettyPrintOne = function(a, m, e) {
|
||||
var h = document.createElement("PRE");
|
||||
h.innerHTML = a;
|
||||
e && D(h, e);
|
||||
E({
|
||||
g: m,
|
||||
i: e,
|
||||
h: h
|
||||
});
|
||||
return h.innerHTML
|
||||
};
|
||||
window.prettyPrint = function(a) {
|
||||
function m() {
|
||||
for (var e = window.PR_SHOULD_USE_CONTINUATION ? l.now() + 250 : Infinity; p < h.length && l.now() < e; p++) {
|
||||
var n = h[p],
|
||||
k = n.className;
|
||||
if (k.indexOf("prettyprint") >= 0) {
|
||||
var k = k.match(g),
|
||||
f, b;
|
||||
if (b = !k) {
|
||||
b = n;
|
||||
for (var o = void 0, c = b.firstChild; c; c = c.nextSibling) var i = c.nodeType,
|
||||
o = i === 1 ? o ? b : c : i === 3 ? N.test(c.nodeValue) ? b : o : o;
|
||||
b = (f = o === b ? void 0 : o) && "CODE" === f.tagName
|
||||
}
|
||||
b && (k = f.className.match(g));
|
||||
k && (k = k[1]);
|
||||
b = !1;
|
||||
for (o = n.parentNode; o; o = o.parentNode) if ((o.tagName === "pre" || o.tagName === "code" || o.tagName === "xmp") && o.className && o.className.indexOf("prettyprint") >= 0) {
|
||||
b = !0;
|
||||
break
|
||||
}
|
||||
b || ((b = (b = n.className.match(/\blinenums\b(?::(\d+))?/)) ? b[1] && b[1].length ? +b[1] : !0 : !1) && D(n, b), d = {
|
||||
g: k,
|
||||
h: n,
|
||||
i: b
|
||||
}, E(d))
|
||||
}
|
||||
}
|
||||
p < h.length ? setTimeout(m, 250) : a && a()
|
||||
}
|
||||
for (var e = [document.getElementsByTagName("pre"), document.getElementsByTagName("code"), document.getElementsByTagName("xmp")], h = [], k = 0; k < e.length; ++k) for (var t = 0, s = e[k].length; t < s; ++t) h.push(e[k][t]);
|
||||
var e = q,
|
||||
l = Date;
|
||||
l.now || (l = {
|
||||
now: function() {
|
||||
return +new Date
|
||||
}
|
||||
});
|
||||
var p = 0,
|
||||
d, g = /\blang(?:uage)?-([\w.]+)(?!\S)/;
|
||||
m()
|
||||
};
|
||||
window.PR = {
|
||||
createSimpleLexer: x,
|
||||
registerLangHandler: k,
|
||||
sourceDecorator: u,
|
||||
PR_ATTRIB_NAME: "atn",
|
||||
PR_ATTRIB_VALUE: "atv",
|
||||
PR_COMMENT: "com",
|
||||
PR_DECLARATION: "dec",
|
||||
PR_KEYWORD: "kwd",
|
||||
PR_LITERAL: "lit",
|
||||
PR_NOCODE: "nocode",
|
||||
PR_PLAIN: "pln",
|
||||
PR_PUNCTUATION: "pun",
|
||||
PR_SOURCE: "src",
|
||||
PR_STRING: "str",
|
||||
PR_TAG: "tag",
|
||||
PR_TYPE: "typ"
|
||||
}
|
||||
})();
|
|
@ -0,0 +1,91 @@
|
|||
/**
|
||||
* Sunlight documentation link plugin
|
||||
*
|
||||
* This plugin generates hyperlinks to language documentation for certain tokens
|
||||
* (e.g. links to php.net for functions).
|
||||
*
|
||||
* Supported languages:
|
||||
* - PHP (functions and language constructs)
|
||||
* - Ruby (functions)
|
||||
* - Python (functions)
|
||||
* - Perl (functions)
|
||||
* - Lua (functions)
|
||||
*
|
||||
* Options:
|
||||
* - enableDocLinks: true/false (default is false)
|
||||
*/
|
||||
(function(sunlight, document, undefined){
|
||||
if (sunlight === undefined) {
|
||||
throw "Include sunlight.js before including plugin files";
|
||||
}
|
||||
|
||||
var supportedLanguages = {
|
||||
php: {
|
||||
"function": function(word) { return "http://php.net/" + word; },
|
||||
languageConstruct: function(word) { return "http://php.net/" + word; }
|
||||
},
|
||||
|
||||
ruby: {
|
||||
"function": function(word) {
|
||||
return "http://www.ruby-doc.org/docs/ruby-doc-bundle/Manual/man-1.4/function.html#"
|
||||
+ word.replace(/!/g, "_bang").replace(/\?/g, "_p");
|
||||
}
|
||||
},
|
||||
|
||||
python: {
|
||||
"function": function(word) {
|
||||
return "http://docs.python.org/py3k/library/functions.html#" + word;
|
||||
}
|
||||
},
|
||||
|
||||
perl: {
|
||||
"function": function(word) { return "http://perldoc.perl.org/functions/" + word + ".html"; }
|
||||
},
|
||||
|
||||
lua: {
|
||||
"function": function(word) { return "http://www.lua.org/manual/5.1/manual.html#pdf-" + word; }
|
||||
}
|
||||
};
|
||||
|
||||
function createLink(transformUrl) {
|
||||
return function(context) {
|
||||
var link = document.createElement("a");
|
||||
link.className = context.options.classPrefix + context.tokens[context.index].name;
|
||||
link.setAttribute("href", transformUrl(context.tokens[context.index].value));
|
||||
link.appendChild(context.createTextNode(context.tokens[context.index]));
|
||||
context.addNode(link);
|
||||
};
|
||||
}
|
||||
|
||||
sunlight.bind("beforeAnalyze", function(context) {
|
||||
if (!this.options.enableDocLinks) {
|
||||
return;
|
||||
}
|
||||
|
||||
context.analyzerContext.getAnalyzer = function() {
|
||||
var language = supportedLanguages[this.language.name],
|
||||
analyzer,
|
||||
tokenName;
|
||||
|
||||
if (!language) {
|
||||
return;
|
||||
}
|
||||
|
||||
analyzer = sunlight.util.clone(context.analyzerContext.language.analyzer);
|
||||
|
||||
for (tokenName in language) {
|
||||
if (!language.hasOwnProperty(tokenName)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
analyzer["handle_" + tokenName] = createLink(language[tokenName]);
|
||||
}
|
||||
|
||||
return analyzer;
|
||||
};
|
||||
|
||||
});
|
||||
|
||||
sunlight.globalOptions.enableDocLinks = false;
|
||||
|
||||
}(this["Sunlight"], document));
|
|
@ -0,0 +1,104 @@
|
|||
/**
|
||||
* Sunlight line number/line highlighting plugin
|
||||
*
|
||||
* This creates the line number gutter in addition to creating the line highlighting
|
||||
* overlay (if applicable). It is bundled in sunlight-min.js.
|
||||
*
|
||||
* Options:
|
||||
* - lineNumbers: true/false/"automatic" (default is "automatic")
|
||||
* - lineNumberStart: <number> (line number to start from, default is 1)
|
||||
* - lineHighlight: <array> (array of line numbers to highlight)
|
||||
*/
|
||||
(function(sunlight, document, undefined){
|
||||
if (sunlight === undefined) {
|
||||
throw "Include sunlight.js before including plugin files";
|
||||
}
|
||||
|
||||
function getLineCount(node) {
|
||||
//browsers don't render the last trailing newline, so we make sure that the line numbers reflect that
|
||||
//by disregarding the last trailing newline
|
||||
|
||||
//get the last text node
|
||||
var lastTextNode = function getLastNode(node) {
|
||||
if (!node.lastChild) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (node.lastChild.nodeType === 3) {
|
||||
return node.lastChild;
|
||||
}
|
||||
|
||||
return getLastNode(node.lastChild);
|
||||
}(node) || { lastChild: "" };
|
||||
|
||||
return node.innerHTML.replace(/[^\n]/g, "").length - /\n$/.test(lastTextNode.nodeValue);
|
||||
}
|
||||
|
||||
sunlight.bind("afterHighlightNode", function(context) {
|
||||
var lineContainer,
|
||||
lineCount,
|
||||
lineHighlightOverlay,
|
||||
currentLineOverlay,
|
||||
lineHighlightingEnabled,
|
||||
i,
|
||||
eol,
|
||||
link,
|
||||
name;
|
||||
|
||||
if (!this.options.lineNumbers) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.options.lineNumbers === "automatic" && sunlight.util.getComputedStyle(context.node, "display") !== "block") {
|
||||
//if it's not a block level element or the lineNumbers option is not set to "automatic"
|
||||
return;
|
||||
}
|
||||
|
||||
lineContainer = document.createElement("pre");
|
||||
lineCount = getLineCount(context.node);
|
||||
|
||||
lineHighlightingEnabled = this.options.lineHighlight.length > 0;
|
||||
if (lineHighlightingEnabled) {
|
||||
lineHighlightOverlay = document.createElement("div");
|
||||
lineHighlightOverlay.className = this.options.classPrefix + "line-highlight-overlay";
|
||||
}
|
||||
|
||||
lineContainer.className = this.options.classPrefix + "line-number-margin";
|
||||
|
||||
eol = document.createTextNode(sunlight.util.eol)
|
||||
for (i = this.options.lineNumberStart; i <= this.options.lineNumberStart + lineCount; i++) {
|
||||
link = document.createElement("a");
|
||||
name = (context.node.id ? context.node.id : this.options.classPrefix + context.count) + "-line-" + i;
|
||||
|
||||
link.setAttribute("name", name);
|
||||
link.setAttribute("href", "#" + name);
|
||||
|
||||
link.appendChild(document.createTextNode(i));
|
||||
lineContainer.appendChild(link);
|
||||
lineContainer.appendChild(eol.cloneNode(false));
|
||||
|
||||
if (lineHighlightingEnabled) {
|
||||
currentLineOverlay = document.createElement("div");
|
||||
if (sunlight.util.contains(this.options.lineHighlight, i)) {
|
||||
currentLineOverlay.className = this.options.classPrefix + "line-highlight-active";
|
||||
}
|
||||
lineHighlightOverlay.appendChild(currentLineOverlay);
|
||||
}
|
||||
}
|
||||
|
||||
context.codeContainer.insertBefore(lineContainer, context.codeContainer.firstChild);
|
||||
|
||||
if (lineHighlightingEnabled) {
|
||||
context.codeContainer.appendChild(lineHighlightOverlay);
|
||||
}
|
||||
|
||||
//enable the border on the code container
|
||||
context.codeContainer.style.borderWidth = "1px";
|
||||
context.codeContainer.style.borderStyle = "solid";
|
||||
});
|
||||
|
||||
sunlight.globalOptions.lineNumbers = "automatic";
|
||||
sunlight.globalOptions.lineNumberStart = 1;
|
||||
sunlight.globalOptions.lineHighlight = [];
|
||||
|
||||
}(this["Sunlight"], document));
|
|
@ -0,0 +1,159 @@
|
|||
/**
|
||||
* Sunlight menu plugin
|
||||
*
|
||||
* This creates the menu in the upper right corner for block-level elements.
|
||||
* This plugin is not supported for IE6.
|
||||
*
|
||||
* Options:
|
||||
* - showMenu: true/false (default is false)
|
||||
* - autoCollapse: true/false (default is false)
|
||||
*/
|
||||
(function(sunlight, document, undefined){
|
||||
if (sunlight === undefined) {
|
||||
throw "Include sunlight.js before including plugin files";
|
||||
}
|
||||
|
||||
//http://dean.edwards.name/weblog/2007/03/sniff/#comment83695
|
||||
//eval()'d so that it compresses correctly
|
||||
var ieVersion = eval("0 /*@cc_on+ScriptEngineMajorVersion()@*/");
|
||||
|
||||
function createLink(href, title, text) {
|
||||
var link = document.createElement("a");
|
||||
link.setAttribute("href", href);
|
||||
link.setAttribute("title", title);
|
||||
if (text) {
|
||||
link.appendChild(document.createTextNode(text));
|
||||
}
|
||||
return link;
|
||||
}
|
||||
|
||||
function getTextRecursive(node) {
|
||||
var text = "",
|
||||
i = 0;
|
||||
|
||||
if (node.nodeType === 3) {
|
||||
return node.nodeValue;
|
||||
}
|
||||
|
||||
text = "";
|
||||
for (i = 0; i < node.childNodes.length; i++) {
|
||||
text += getTextRecursive(node.childNodes[i]);
|
||||
}
|
||||
|
||||
return text;
|
||||
}
|
||||
|
||||
sunlight.bind("afterHighlightNode", function(context) {
|
||||
var menu,
|
||||
sunlightIcon,
|
||||
ul,
|
||||
collapse,
|
||||
mDash,
|
||||
collapseLink,
|
||||
viewRaw,
|
||||
viewRawLink,
|
||||
about,
|
||||
aboutLink,
|
||||
icon;
|
||||
|
||||
if ((ieVersion && ieVersion < 7) || !this.options.showMenu || sunlight.util.getComputedStyle(context.node, "display") !== "block") {
|
||||
return;
|
||||
}
|
||||
|
||||
menu = document.createElement("div");
|
||||
menu.className = this.options.classPrefix + "menu";
|
||||
|
||||
sunlightIcon =
|
||||
"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAJ" +
|
||||
"cEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41Ljg3O4BdAAAAl0lEQVQ4jWP4" +
|
||||
"P9n9PyWYgTYGzAr+///Q9P//Ty/HjhfEETDg1oH/YPDgNKbm4wsIuGBO+H84WJJKhhd2dkA0v3tEZhjcPQox4MVN" +
|
||||
"7P7fUEHAgM112DX++Qkx+PEFMqPxwSmIAQenkWHAvCicAUucAbCAfX2PQCCCEtDGKkz86RXEgL39BAwAKcAFbh/6" +
|
||||
"/39GIL3yAj0NAAB+LQeDCZ9tvgAAAABJRU5ErkJggg==";
|
||||
|
||||
ul = document.createElement("ul");
|
||||
|
||||
collapse = document.createElement("li");
|
||||
mDash = String.fromCharCode(0x2014);
|
||||
collapseLink = createLink("#", "collapse code block", mDash);
|
||||
|
||||
collapseLink.onclick = function() {
|
||||
var originalHeight = sunlight.util.getComputedStyle(context.codeContainer, "height"),
|
||||
originalOverflow = sunlight.util.getComputedStyle(context.codeContainer, "overflowY");
|
||||
|
||||
return function() {
|
||||
var needsToExpand = sunlight.util.getComputedStyle(context.codeContainer, "height") !== originalHeight;
|
||||
|
||||
this.replaceChild(document.createTextNode(needsToExpand ? mDash : "+"), this.firstChild);
|
||||
this.setAttribute("title", (needsToExpand ? "collapse" : "expand") + " clode block");
|
||||
context.codeContainer.style.height = needsToExpand ? originalHeight : "0px";
|
||||
context.codeContainer.style.overflowY = needsToExpand ? originalOverflow : "hidden";
|
||||
|
||||
return false;
|
||||
}
|
||||
}();
|
||||
|
||||
collapse.appendChild(collapseLink);
|
||||
|
||||
viewRaw = document.createElement("li");
|
||||
viewRawLink = createLink("#", "view raw code", "raw");
|
||||
viewRawLink.onclick = function() {
|
||||
var textarea;
|
||||
return function() {
|
||||
var rawCode;
|
||||
|
||||
if (textarea) {
|
||||
textarea.parentNode.removeChild(textarea);
|
||||
textarea = null;
|
||||
context.node.style.display = "block";
|
||||
this.replaceChild(document.createTextNode("raw"), this.firstChild);
|
||||
this.setAttribute("title", "view raw code");
|
||||
} else {
|
||||
//hide the codeContainer, flatten all text nodes, create a <textarea>, append it
|
||||
rawCode = getTextRecursive(context.node);
|
||||
textarea = document.createElement("textarea");
|
||||
textarea.value = rawCode;
|
||||
textarea.setAttribute("readonly", "readonly");
|
||||
textarea.style.width = (parseInt(sunlight.util.getComputedStyle(context.node, "width")) - 5) + "px"; //IE, Safari and Chrome can't handle the actual width
|
||||
textarea.style.height = sunlight.util.getComputedStyle(context.node, "height");
|
||||
textarea.style.border = "none";
|
||||
textarea.style.overflowX = "hidden"; //IE requires this
|
||||
textarea.setAttribute("wrap", "off"); //prevent line wrapping lol
|
||||
context.codeContainer.insertBefore(textarea, context.node);
|
||||
context.node.style.display = "none";
|
||||
|
||||
this.replaceChild(document.createTextNode("highlighted"), this.firstChild);
|
||||
this.setAttribute("title", "view highlighted code");
|
||||
textarea.select(); //highlight everything
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}();
|
||||
|
||||
viewRaw.appendChild(viewRawLink);
|
||||
|
||||
about = document.createElement("li");
|
||||
aboutLink = createLink("http://sunlightjs.com/", "Sunlight: JavaScript syntax highlighter by Tommy Montgomery");
|
||||
|
||||
icon = document.createElement("img");
|
||||
icon.setAttribute("src", "data:image/png;base64," + sunlightIcon);
|
||||
icon.setAttribute("alt", "about");
|
||||
aboutLink.appendChild(icon);
|
||||
about.appendChild(aboutLink);
|
||||
|
||||
ul.appendChild(about);
|
||||
ul.appendChild(viewRaw);
|
||||
ul.appendChild(collapse);
|
||||
|
||||
menu.appendChild(ul);
|
||||
context.container.insertBefore(menu, context.container.firstChild);
|
||||
|
||||
if (this.options.autoCollapse) {
|
||||
collapseLink.onclick.call(collapseLink);
|
||||
}
|
||||
});
|
||||
|
||||
sunlight.globalOptions.showMenu = false;
|
||||
sunlight.globalOptions.autoCollapse = false;
|
||||
|
||||
}(this["Sunlight"], document));
|
|
@ -0,0 +1,183 @@
|
|||
(function(sunlight, undefined){
|
||||
|
||||
if (sunlight === undefined || sunlight["registerLanguage"] === undefined) {
|
||||
throw "Include sunlight.js before including language files";
|
||||
}
|
||||
|
||||
sunlight.registerLanguage("javascript", {
|
||||
keywords: [
|
||||
//keywords
|
||||
"break", "case", "catch", "continue", "default", "delete", "do",
|
||||
"else", "finally", "for", "function", "if", "in", "instanceof",
|
||||
"new", "return", "switch", "this", "throw", "try", "typeof",
|
||||
"var", "void", "while", "with",
|
||||
|
||||
//literals
|
||||
"true", "false", "null"
|
||||
],
|
||||
|
||||
customTokens: {
|
||||
reservedWord: {
|
||||
values: [
|
||||
"abstract", "boolean", "byte", "char", "class", "const", "debugger", "double",
|
||||
"enum", "export", "extends", "final", "float", "goto", "implements", "import",
|
||||
"int", "interface", "long", "native", "package", "private", "protected", "public",
|
||||
"short", "static", "super", "synchronized", "throws", "transient", "volatile"
|
||||
],
|
||||
boundary: "\\b"
|
||||
},
|
||||
|
||||
globalVariable: {
|
||||
values: ["NaN", "Infinity", "undefined"],
|
||||
boundary: "\\b"
|
||||
},
|
||||
|
||||
globalFunction: {
|
||||
values: ["encodeURI", "encodeURIComponent", "decodeURI", "decodeURIComponent", "parseInt", "parseFloat", "isNaN", "isFinite", "eval"],
|
||||
boundary: "\\b"
|
||||
},
|
||||
|
||||
globalObject: {
|
||||
values: [
|
||||
"Math", "JSON",
|
||||
"XMLHttpRequest", "XDomainRequest", "ActiveXObject",
|
||||
"Boolean", "Date", "Array", "Image", "Function", "Object", "Number", "RegExp", "String"
|
||||
],
|
||||
boundary: "\\b"
|
||||
}
|
||||
},
|
||||
|
||||
scopes: {
|
||||
string: [ ["\"", "\"", sunlight.util.escapeSequences.concat(["\\\""])], ["'", "'", sunlight.util.escapeSequences.concat(["\\\'", "\\\\"])] ],
|
||||
comment: [ ["//", "\n", null, true], ["/*", "*/"] ]
|
||||
},
|
||||
|
||||
customParseRules: [
|
||||
//regex literal
|
||||
function(context) {
|
||||
var peek = context.reader.peek(),
|
||||
isValid,
|
||||
regexLiteral = "/",
|
||||
line = context.reader.getLine(),
|
||||
column = context.reader.getColumn(),
|
||||
charClass = false,
|
||||
peek2,
|
||||
next;
|
||||
|
||||
if (context.reader.current() !== "/" || peek === "/" || peek === "*") {
|
||||
//doesn't start with a / or starts with // (comment) or /* (multi line comment)
|
||||
return null;
|
||||
}
|
||||
|
||||
isValid = function() {
|
||||
var previousNonWsToken = context.token(context.count() - 1),
|
||||
previousToken = null;
|
||||
if (context.defaultData.text !== "") {
|
||||
previousToken = context.createToken("default", context.defaultData.text);
|
||||
}
|
||||
|
||||
if (!previousToken) {
|
||||
previousToken = previousNonWsToken;
|
||||
}
|
||||
|
||||
//first token of the string
|
||||
if (previousToken === undefined) {
|
||||
return true;
|
||||
}
|
||||
|
||||
//since JavaScript doesn't require statement terminators, if the previous token was whitespace and contained a newline, then we're good
|
||||
if (previousToken.name === "default" && previousToken.value.indexOf("\n") > -1) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (sunlight.util.contains(["keyword", "ident", "number"], previousNonWsToken.name)) {
|
||||
return false;
|
||||
}
|
||||
if (previousNonWsToken.name === "punctuation" && !sunlight.util.contains(["(", "{", "[", ",", ";"], previousNonWsToken.value)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}();
|
||||
|
||||
if (!isValid) {
|
||||
return null;
|
||||
}
|
||||
|
||||
//read the regex literal
|
||||
while (context.reader.peek() !== context.reader.EOF) {
|
||||
peek2 = context.reader.peek(2);
|
||||
if (peek2 === "\\/" || peek2 === "\\\\") {
|
||||
//escaped backslash or escaped forward slash
|
||||
regexLiteral += context.reader.read(2);
|
||||
continue;
|
||||
}
|
||||
if (peek2 === "\\[" || peek2 === "\\]") {
|
||||
regexLiteral += context.reader.read(2);
|
||||
continue;
|
||||
} else if (next === "[") {
|
||||
charClass = true;
|
||||
} else if (next === "]") {
|
||||
charClass = false;
|
||||
}
|
||||
|
||||
regexLiteral += (next = context.reader.read());
|
||||
if (next === "/" && !charClass) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//read the regex modifiers
|
||||
//only "g", "i" and "m" are allowed, but for the sake of simplicity we'll just say any alphabetical character is valid
|
||||
while (context.reader.peek() !== context.reader.EOF) {
|
||||
if (!/[A-Za-z]/.test(context.reader.peek())) {
|
||||
break;
|
||||
}
|
||||
|
||||
regexLiteral += context.reader.read();
|
||||
}
|
||||
|
||||
return context.createToken("regexLiteral", regexLiteral, line, column);
|
||||
}
|
||||
],
|
||||
|
||||
identFirstLetter: /[$A-Za-z_]/,
|
||||
identAfterFirstLetter: /[\w\$]/,
|
||||
|
||||
namedIdentRules: {
|
||||
follows: [
|
||||
[{ token: "keyword", values: ["function"] }, sunlight.util.whitespace]
|
||||
]
|
||||
},
|
||||
|
||||
operators: [
|
||||
//arithmetic
|
||||
"++", "+=", "+",
|
||||
"--", "-=", "-",
|
||||
"*=", "*",
|
||||
"/=", "/",
|
||||
"%=", "%",
|
||||
|
||||
//boolean
|
||||
"&&", "||",
|
||||
|
||||
//bitwise
|
||||
"|=", "|",
|
||||
"&=", "&",
|
||||
"^=", "^",
|
||||
">>>=", ">>>", ">>=", ">>",
|
||||
"<<=", "<<",
|
||||
|
||||
//inequality
|
||||
"<=", "<",
|
||||
">=", ">",
|
||||
"===", "==", "!==", "!=",
|
||||
|
||||
//unary
|
||||
"!", "~",
|
||||
|
||||
//other
|
||||
"?", ":", ".", "="
|
||||
]
|
||||
});
|
||||
}(this["Sunlight"]));
|
1157
Docs/docstrap-master/template/static/scripts/sunlight.js
Normal file
1157
Docs/docstrap-master/template/static/scripts/sunlight.js
Normal file
File diff suppressed because it is too large
Load diff
100
Docs/docstrap-master/template/static/scripts/toc.js
Normal file
100
Docs/docstrap-master/template/static/scripts/toc.js
Normal file
|
@ -0,0 +1,100 @@
|
|||
(function($) {
|
||||
$.fn.toc = function(options) {
|
||||
var self = this;
|
||||
var opts = $.extend({}, jQuery.fn.toc.defaults, options);
|
||||
|
||||
var container = $(opts.container);
|
||||
var headings = $(opts.selectors, container);
|
||||
var headingOffsets = [];
|
||||
var activeClassName = opts.prefix+'-active';
|
||||
|
||||
var scrollTo = function(e) {
|
||||
if (opts.smoothScrolling) {
|
||||
e.preventDefault();
|
||||
var elScrollTo = $(e.target).attr('href');
|
||||
var $el = $(elScrollTo);
|
||||
|
||||
$('body,html').animate({ scrollTop: $el.offset().top }, 400, 'swing', function() {
|
||||
location.hash = elScrollTo;
|
||||
});
|
||||
}
|
||||
$('li', self).removeClass(activeClassName);
|
||||
$(e.target).parent().addClass(activeClassName);
|
||||
};
|
||||
|
||||
//highlight on scroll
|
||||
var timeout;
|
||||
var highlightOnScroll = function(e) {
|
||||
if (timeout) {
|
||||
clearTimeout(timeout);
|
||||
}
|
||||
timeout = setTimeout(function() {
|
||||
var top = $(window).scrollTop(),
|
||||
highlighted;
|
||||
for (var i = 0, c = headingOffsets.length; i < c; i++) {
|
||||
if (headingOffsets[i] >= top) {
|
||||
$('li', self).removeClass(activeClassName);
|
||||
highlighted = $('li:eq('+(i-1)+')', self).addClass(activeClassName);
|
||||
opts.onHighlight(highlighted);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}, 50);
|
||||
};
|
||||
if (opts.highlightOnScroll) {
|
||||
$(window).bind('scroll', highlightOnScroll);
|
||||
highlightOnScroll();
|
||||
}
|
||||
|
||||
return this.each(function() {
|
||||
//build TOC
|
||||
var el = $(this);
|
||||
var ul = $('<ul/>');
|
||||
headings.each(function(i, heading) {
|
||||
var $h = $(heading);
|
||||
headingOffsets.push($h.offset().top - opts.highlightOffset);
|
||||
|
||||
//add anchor
|
||||
var anchor = $('<span/>').attr('id', opts.anchorName(i, heading, opts.prefix)).insertBefore($h);
|
||||
|
||||
//build TOC item
|
||||
var a = $('<a/>')
|
||||
.text(opts.headerText(i, heading, $h))
|
||||
.attr('href', '#' + opts.anchorName(i, heading, opts.prefix))
|
||||
.bind('click', function(e) {
|
||||
scrollTo(e);
|
||||
el.trigger('selected', $(this).attr('href'));
|
||||
});
|
||||
|
||||
var li = $('<li/>')
|
||||
.addClass(opts.itemClass(i, heading, $h, opts.prefix))
|
||||
.append(a);
|
||||
|
||||
ul.append(li);
|
||||
});
|
||||
el.html(ul);
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
jQuery.fn.toc.defaults = {
|
||||
container: 'body',
|
||||
selectors: 'h1,h2,h3',
|
||||
smoothScrolling: true,
|
||||
prefix: 'toc',
|
||||
onHighlight: function() {},
|
||||
highlightOnScroll: true,
|
||||
highlightOffset: 100,
|
||||
anchorName: function(i, heading, prefix) {
|
||||
return prefix+i;
|
||||
},
|
||||
headerText: function(i, heading, $heading) {
|
||||
return $heading.text();
|
||||
},
|
||||
itemClass: function(i, heading, $heading, prefix) {
|
||||
return prefix + '-' + $heading[0].tagName.toLowerCase();
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
})(jQuery);
|
960
Docs/docstrap-master/template/static/styles/darkstrap.css
Normal file
960
Docs/docstrap-master/template/static/styles/darkstrap.css
Normal file
|
@ -0,0 +1,960 @@
|
|||
/*
|
||||
* Darkstrap v0.9.2
|
||||
* By danneu (http://github.com/danneu/darkstrap)
|
||||
* Based off Twitter Bootstrap v2.2.2
|
||||
*/
|
||||
|
||||
tr.warning,
|
||||
tr.success,
|
||||
tr.error,
|
||||
tr.info {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
body {
|
||||
color: #c6c6c6;
|
||||
background-color: #2f2f2f;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #1ab2ff;
|
||||
}
|
||||
|
||||
textarea,
|
||||
input[type="text"],
|
||||
input[type="password"],
|
||||
input[type="datetime"],
|
||||
input[type="datetime-local"],
|
||||
input[type="date"],
|
||||
input[type="month"],
|
||||
input[type="time"],
|
||||
input[type="week"],
|
||||
input[type="number"],
|
||||
input[type="email"],
|
||||
input[type="url"],
|
||||
input[type="search"],
|
||||
input[type="tel"],
|
||||
input[type="color"],
|
||||
.uneditable-input {
|
||||
background-color: #cccccc;
|
||||
}
|
||||
select {
|
||||
background-color: #cccccc;
|
||||
}
|
||||
|
||||
.uneditable-input,
|
||||
.uneditable-textarea {
|
||||
background-color: #c9c9c9;
|
||||
}
|
||||
|
||||
input:-moz-placeholder,
|
||||
textarea:-moz-placeholder {
|
||||
color: #666666;
|
||||
}
|
||||
input:-ms-input-placeholder,
|
||||
textarea:-ms-input-placeholder {
|
||||
color: #666666;
|
||||
}
|
||||
input::-webkit-input-placeholder,
|
||||
textarea::-webkit-input-placeholder {
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
.control-group.warning .input-prepend .add-on,
|
||||
.control-group.warning .input-append .add-on {
|
||||
background-color: #faa732;
|
||||
}
|
||||
|
||||
.control-group.error .input-prepend .add-on,
|
||||
.control-group.error .input-append .add-on {
|
||||
background-color: #fc5b5e;
|
||||
}
|
||||
|
||||
.control-group.success .input-prepend .add-on,
|
||||
.control-group.success .input-append .add-on {
|
||||
background-color: #5bb75b;
|
||||
}
|
||||
|
||||
.control-group.info .input-prepend .add-on,
|
||||
.control-group.info .input-append .add-on {
|
||||
background-color: #3a87ad;
|
||||
}
|
||||
|
||||
.form-actions {
|
||||
background-color: #444444;
|
||||
}
|
||||
.help-block,
|
||||
.help-inline {
|
||||
color: #ececec;
|
||||
}
|
||||
|
||||
.table th,
|
||||
.table td {
|
||||
border-top: 1px solid #666666;
|
||||
}
|
||||
.table tbody + tbody {
|
||||
border-top: 2px solid #666666;
|
||||
}
|
||||
.table .table {
|
||||
background-color: #2f2f2f;
|
||||
}
|
||||
|
||||
.table-bordered {
|
||||
border: 1px solid #666666;
|
||||
}
|
||||
.table-bordered th,
|
||||
.table-bordered td {
|
||||
border-left: 1px solid #666666;
|
||||
}
|
||||
.table-striped tbody > tr:nth-child(odd) > td,
|
||||
.table-striped tbody > tr:nth-child(odd) > th {
|
||||
background-color: #444444;
|
||||
}
|
||||
|
||||
.table-hover tbody tr:hover td,
|
||||
.table-hover tbody tr:hover th {
|
||||
background-color: #666666;
|
||||
}
|
||||
|
||||
|
||||
.table tbody tr.success td {
|
||||
background-color: #5bb75b;
|
||||
}
|
||||
.table tbody tr.error td {
|
||||
background-color: #fc5b5e;
|
||||
}
|
||||
.table tbody tr.warning td {
|
||||
background-color: #faa732;
|
||||
}
|
||||
.table tbody tr.info td {
|
||||
background-color: #3a87ad;
|
||||
}
|
||||
|
||||
.table-hover tbody tr.success:hover td {
|
||||
background-color: #4cad4c;
|
||||
}
|
||||
.table-hover tbody tr.error:hover td {
|
||||
background-color: #fc4245;
|
||||
}
|
||||
.table-hover tbody tr.warning:hover td {
|
||||
background-color: #f99c19;
|
||||
}
|
||||
.table-hover tbody tr.info:hover td {
|
||||
background-color: #34789a;
|
||||
}
|
||||
|
||||
[class^="icon-"],
|
||||
[class*=" icon-"] {
|
||||
background-image: url("../img/glyphicons-halflings.png");
|
||||
}
|
||||
|
||||
.icon-white,
|
||||
.nav-pills > .active > a > [class^="icon-"],
|
||||
.nav-pills > .active > a > [class*=" icon-"],
|
||||
.nav-list > .active > a > [class^="icon-"],
|
||||
.nav-list > .active > a > [class*=" icon-"],
|
||||
.navbar-inverse .nav > .active > a > [class^="icon-"],
|
||||
.navbar-inverse .nav > .active > a > [class*=" icon-"],
|
||||
.dropdown-menu > li > a:hover > [class^="icon-"],
|
||||
.dropdown-menu > li > a:hover > [class*=" icon-"],
|
||||
.dropdown-menu > .active > a > [class^="icon-"],
|
||||
.dropdown-menu > .active > a > [class*=" icon-"],
|
||||
.dropdown-submenu:hover > a > [class^="icon-"],
|
||||
.dropdown-submenu:hover > a > [class*=" icon-"] {
|
||||
background-image: url("../img/glyphicons-halflings-white.png");
|
||||
}
|
||||
|
||||
|
||||
.btn-link:hover {
|
||||
color: #1ab2ff;
|
||||
}
|
||||
|
||||
.alert {
|
||||
background-color: #faa732;
|
||||
border: 1px solid #fa7d23;
|
||||
}
|
||||
|
||||
|
||||
.alert-success {
|
||||
background-color: #5bb75b;
|
||||
border-color: #5cad4c;
|
||||
}
|
||||
|
||||
|
||||
.alert-danger,
|
||||
.alert-error {
|
||||
background-color: #fc5b5e;
|
||||
border-color: #fc4c6d;
|
||||
}
|
||||
|
||||
.alert-info {
|
||||
background-color: #3a87ad;
|
||||
border-color: #318292;
|
||||
}
|
||||
|
||||
.nav-tabs > .active > a,
|
||||
.nav-tabs > .active > a:hover {
|
||||
background-color: #2f2f2f;
|
||||
}
|
||||
|
||||
.nav .dropdown-toggle:hover .caret {
|
||||
border-top-color: #1ab2ff;
|
||||
border-bottom-color: #1ab2ff;
|
||||
}
|
||||
|
||||
.navbar-inner {
|
||||
background-color: #363636;
|
||||
background-image: -moz-linear-gradient(top, #444444, #222222);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222));
|
||||
background-image: -webkit-linear-gradient(top, #444444, #222222);
|
||||
background-image: -o-linear-gradient(top, #444444, #222222);
|
||||
background-image: linear-gradient(to bottom, #444444, #222222);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF444444', endColorstr='#FF222222', GradientType=0);
|
||||
border: 1px solid #030303;
|
||||
}
|
||||
.navbar .brand {
|
||||
color: #c6c6c6;
|
||||
text-shadow: 0 1px 0 #444444;
|
||||
}
|
||||
.navbar-text {
|
||||
color: #c6c6c6;
|
||||
}
|
||||
|
||||
.navbar-link {
|
||||
color: #c6c6c6;
|
||||
}
|
||||
.navbar-link:hover {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.navbar .divider-vertical {
|
||||
border-left: 1px solid #222222;
|
||||
border-right: 1px solid #444444;
|
||||
}
|
||||
|
||||
|
||||
.navbar .nav > li > a {
|
||||
color: #c6c6c6;
|
||||
text-shadow: 0 1px 0 #444444;
|
||||
}
|
||||
|
||||
.navbar .nav > li > a:focus,
|
||||
.navbar .nav > li > a:hover {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.navbar .nav > .active > a,
|
||||
.navbar .nav > .active > a:hover,
|
||||
.navbar .nav > .active > a:focus {
|
||||
color: white;
|
||||
background-color: #151515;
|
||||
}
|
||||
|
||||
.navbar .btn-navbar {
|
||||
background-color: #292929;
|
||||
background-image: -moz-linear-gradient(top, #373737, #151515);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#373737), to(#151515));
|
||||
background-image: -webkit-linear-gradient(top, #373737, #151515);
|
||||
background-image: -o-linear-gradient(top, #373737, #151515);
|
||||
background-image: linear-gradient(to bottom, #373737, #151515);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF373737', endColorstr='#FF151515', GradientType=0);
|
||||
border-color: #151515 #151515 black;
|
||||
*background-color: #151515;
|
||||
}
|
||||
.navbar .btn-navbar:hover, .navbar .btn-navbar:active, .navbar .btn-navbar.active, .navbar .btn-navbar.disabled, .navbar .btn-navbar[disabled] {
|
||||
background-color: #151515;
|
||||
*background-color: #090909;
|
||||
}
|
||||
.navbar .btn-navbar:active, .navbar .btn-navbar.active {
|
||||
background-color: black \9;
|
||||
}
|
||||
|
||||
.navbar .nav li.dropdown > a:hover .caret {
|
||||
border-top-color: white;
|
||||
border-bottom-color: white;
|
||||
}
|
||||
|
||||
.navbar .nav li.dropdown.open > .dropdown-toggle,
|
||||
.navbar .nav li.dropdown.active > .dropdown-toggle,
|
||||
.navbar .nav li.dropdown.open.active > .dropdown-toggle {
|
||||
background-color: #151515;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.navbar .nav li.dropdown > .dropdown-toggle .caret {
|
||||
border-top-color: #c6c6c6;
|
||||
border-bottom-color: #c6c6c6;
|
||||
}
|
||||
|
||||
.navbar .nav li.dropdown.open > .dropdown-toggle .caret,
|
||||
.navbar .nav li.dropdown.active > .dropdown-toggle .caret,
|
||||
.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret {
|
||||
border-top-color: white;
|
||||
border-bottom-color: white;
|
||||
}
|
||||
|
||||
.well {
|
||||
-webkit-box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
-moz-box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
background: #202020;
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.darkwell, .breadcrumb, code, pre, select,
|
||||
input[type="text"],
|
||||
input[type="password"],
|
||||
input[type="datetime"],
|
||||
input[type="datetime-local"],
|
||||
input[type="date"],
|
||||
input[type="month"],
|
||||
input[type="time"],
|
||||
input[type="week"],
|
||||
input[type="number"],
|
||||
input[type="email"],
|
||||
input[type="url"],
|
||||
input[type="search"],
|
||||
input[type="tel"],
|
||||
input[type="color"],
|
||||
.uneditable-input, textarea, .hero-unit, .progress {
|
||||
-webkit-box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
-moz-box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
background: #202020;
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.breadcrumb {
|
||||
border: 0;
|
||||
}
|
||||
.breadcrumb li {
|
||||
text-shadow: 0 1px 0 black;
|
||||
}
|
||||
|
||||
.page-header {
|
||||
-webkit-box-shadow: rgba(255, 255, 255, 0.07) 0 1px 0;
|
||||
-moz-box-shadow: rgba(255, 255, 255, 0.07) 0 1px 0;
|
||||
box-shadow: rgba(255, 255, 255, 0.07) 0 1px 0;
|
||||
border-bottom: 1px solid #121212;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
color: white;
|
||||
}
|
||||
|
||||
h6 {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
border-left-color: #111;
|
||||
}
|
||||
blockquote.pull-right {
|
||||
border-right-color: #111;
|
||||
}
|
||||
|
||||
hr {
|
||||
-webkit-box-shadow: rgba(255, 255, 255, 0.07) 0 1px 0;
|
||||
-moz-box-shadow: rgba(255, 255, 255, 0.07) 0 1px 0;
|
||||
box-shadow: rgba(255, 255, 255, 0.07) 0 1px 0;
|
||||
border-bottom: 1px solid #121212;
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
code {
|
||||
border: none;
|
||||
padding: 2px 4px;
|
||||
}
|
||||
|
||||
pre {
|
||||
border: none;
|
||||
color: #c6c6c6;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
legend {
|
||||
-webkit-box-shadow: rgba(255, 255, 255, 0.07) 0 1px 0;
|
||||
-moz-box-shadow: rgba(255, 255, 255, 0.07) 0 1px 0;
|
||||
box-shadow: rgba(255, 255, 255, 0.07) 0 1px 0;
|
||||
border-bottom: 1px solid #121212;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
select,
|
||||
input[type="text"],
|
||||
input[type="password"],
|
||||
input[type="datetime"],
|
||||
input[type="datetime-local"],
|
||||
input[type="date"],
|
||||
input[type="month"],
|
||||
input[type="time"],
|
||||
input[type="week"],
|
||||
input[type="number"],
|
||||
input[type="email"],
|
||||
input[type="url"],
|
||||
input[type="search"],
|
||||
input[type="tel"],
|
||||
input[type="color"],
|
||||
.uneditable-input {
|
||||
color: white;
|
||||
height: 21px;
|
||||
}
|
||||
select:-moz-placeholder,
|
||||
input[type="text"]:-moz-placeholder,
|
||||
input[type="password"]:-moz-placeholder,
|
||||
input[type="datetime"]:-moz-placeholder,
|
||||
input[type="datetime-local"]:-moz-placeholder,
|
||||
input[type="date"]:-moz-placeholder,
|
||||
input[type="month"]:-moz-placeholder,
|
||||
input[type="time"]:-moz-placeholder,
|
||||
input[type="week"]:-moz-placeholder,
|
||||
input[type="number"]:-moz-placeholder,
|
||||
input[type="email"]:-moz-placeholder,
|
||||
input[type="url"]:-moz-placeholder,
|
||||
input[type="search"]:-moz-placeholder,
|
||||
input[type="tel"]:-moz-placeholder,
|
||||
input[type="color"]:-moz-placeholder,
|
||||
.uneditable-input:-moz-placeholder {
|
||||
color: #666666;
|
||||
}
|
||||
select:-ms-input-placeholder,
|
||||
input[type="text"]:-ms-input-placeholder,
|
||||
input[type="password"]:-ms-input-placeholder,
|
||||
input[type="datetime"]:-ms-input-placeholder,
|
||||
input[type="datetime-local"]:-ms-input-placeholder,
|
||||
input[type="date"]:-ms-input-placeholder,
|
||||
input[type="month"]:-ms-input-placeholder,
|
||||
input[type="time"]:-ms-input-placeholder,
|
||||
input[type="week"]:-ms-input-placeholder,
|
||||
input[type="number"]:-ms-input-placeholder,
|
||||
input[type="email"]:-ms-input-placeholder,
|
||||
input[type="url"]:-ms-input-placeholder,
|
||||
input[type="search"]:-ms-input-placeholder,
|
||||
input[type="tel"]:-ms-input-placeholder,
|
||||
input[type="color"]:-ms-input-placeholder,
|
||||
.uneditable-input:-ms-input-placeholder {
|
||||
color: #666666;
|
||||
}
|
||||
select::-webkit-input-placeholder,
|
||||
input[type="text"]::-webkit-input-placeholder,
|
||||
input[type="password"]::-webkit-input-placeholder,
|
||||
input[type="datetime"]::-webkit-input-placeholder,
|
||||
input[type="datetime-local"]::-webkit-input-placeholder,
|
||||
input[type="date"]::-webkit-input-placeholder,
|
||||
input[type="month"]::-webkit-input-placeholder,
|
||||
input[type="time"]::-webkit-input-placeholder,
|
||||
input[type="week"]::-webkit-input-placeholder,
|
||||
input[type="number"]::-webkit-input-placeholder,
|
||||
input[type="email"]::-webkit-input-placeholder,
|
||||
input[type="url"]::-webkit-input-placeholder,
|
||||
input[type="search"]::-webkit-input-placeholder,
|
||||
input[type="tel"]::-webkit-input-placeholder,
|
||||
input[type="color"]::-webkit-input-placeholder,
|
||||
.uneditable-input::-webkit-input-placeholder {
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
textarea {
|
||||
color: white;
|
||||
}
|
||||
textarea:-moz-placeholder {
|
||||
color: #666666;
|
||||
}
|
||||
textarea:-ms-input-placeholder {
|
||||
color: #666666;
|
||||
}
|
||||
textarea::-webkit-input-placeholder {
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
select {
|
||||
height: 29px;
|
||||
}
|
||||
|
||||
.input-prepend .add-on,
|
||||
.input-append .add-on {
|
||||
background: #444;
|
||||
color: #c6c6c6;
|
||||
border-color: #111;
|
||||
text-shadow: 0 1px 0 black;
|
||||
}
|
||||
|
||||
.form-actions {
|
||||
border-top-color: #222;
|
||||
}
|
||||
|
||||
.well .form-actions {
|
||||
border-top-color: #000;
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
margin-left: -17px;
|
||||
margin-right: -17px;
|
||||
margin-bottom: -17px;
|
||||
}
|
||||
|
||||
.help-inline,
|
||||
.help-block {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.control-group.warning input, .control-group.warning select, .control-group.warning textarea {
|
||||
color: #faa732;
|
||||
border-color: #faa732;
|
||||
-webkit-box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
-moz-box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
background: #202020;
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
.control-group.warning input:focus,
|
||||
.control-group.warning select:focus,
|
||||
.control-group.warning textarea:focus {
|
||||
border-color: #faa732;
|
||||
-webkit-box-shadow: 0 0 6px #faa732;
|
||||
-moz-box-shadow: 0 0 6px #faa732;
|
||||
box-shadow: 0 0 6px #faa732;
|
||||
}
|
||||
.control-group.warning .control-label,
|
||||
.control-group.warning .help-block,
|
||||
.control-group.warning .help-inline {
|
||||
color: #faa732;
|
||||
}
|
||||
.control-group.success input, .control-group.success select, .control-group.success textarea {
|
||||
color: #5bb75b;
|
||||
border-color: #5bb75b;
|
||||
-webkit-box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
-moz-box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
background: #202020;
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
.control-group.success input:focus,
|
||||
.control-group.success select:focus,
|
||||
.control-group.success textarea:focus {
|
||||
border-color: #5bb75b;
|
||||
-webkit-box-shadow: 0 0 6px #5bb75b;
|
||||
-moz-box-shadow: 0 0 6px #5bb75b;
|
||||
box-shadow: 0 0 6px #5bb75b;
|
||||
}
|
||||
.control-group.success .control-label,
|
||||
.control-group.success .help-block,
|
||||
.control-group.success .help-inline {
|
||||
color: #5bb75b;
|
||||
}
|
||||
.control-group.error input, .control-group.error select, .control-group.error textarea {
|
||||
color: #fc5b5e;
|
||||
border-color: #fc5b5e;
|
||||
-webkit-box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
-moz-box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
background: #202020;
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
.control-group.error input:focus,
|
||||
.control-group.error select:focus,
|
||||
.control-group.error textarea:focus {
|
||||
border-color: #fc5b5e;
|
||||
-webkit-box-shadow: 0 0 6px #fc5b5e;
|
||||
-moz-box-shadow: 0 0 6px #fc5b5e;
|
||||
box-shadow: 0 0 6px #fc5b5e;
|
||||
}
|
||||
.control-group.error .control-label,
|
||||
.control-group.error .help-block,
|
||||
.control-group.error .help-inline {
|
||||
color: #fc5b5e;
|
||||
}
|
||||
.control-group.info input, .control-group.info select, .control-group.info textarea {
|
||||
color: #3a87ad;
|
||||
border-color: #3a87ad;
|
||||
-webkit-box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
-moz-box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
background: #202020;
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
.control-group.info input:focus,
|
||||
.control-group.info select:focus,
|
||||
.control-group.info textarea:focus {
|
||||
border-color: #3a87ad;
|
||||
-webkit-box-shadow: 0 0 6px #3a87ad;
|
||||
-moz-box-shadow: 0 0 6px #3a87ad;
|
||||
box-shadow: 0 0 6px #3a87ad;
|
||||
}
|
||||
.control-group.info .control-label,
|
||||
.control-group.info .help-block,
|
||||
.control-group.info .help-inline {
|
||||
color: #3a87ad;
|
||||
}
|
||||
|
||||
input:focus:invalid,
|
||||
textarea:focus:invalid,
|
||||
select:focus:invalid {
|
||||
border-color: #fc5b5e;
|
||||
}
|
||||
|
||||
input:focus:invalid:focus,
|
||||
textarea:focus:invalid:focus,
|
||||
select:focus:invalid:focus {
|
||||
border-color: #fc5b5e;
|
||||
box-shadow: 0 0 6px #fc5b5e;
|
||||
}
|
||||
|
||||
.btn-link {
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
.img-polaroid {
|
||||
background-color: #111;
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
.nav-tabs .open .dropdown-toggle,
|
||||
.nav-pills .open .dropdown-toggle,
|
||||
.nav > .open.active > a:hover {
|
||||
background-color: rgba(0, 0, 0, 0.25);
|
||||
border-color: transparent transparent #666666 transparent;
|
||||
}
|
||||
|
||||
.nav > .dropdown.active > a:hover {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.nav-tabs .active .dropdown-toggle .caret,
|
||||
.nav-pills .active .dropdown-toggle .caret {
|
||||
border-top-color: #fff;
|
||||
}
|
||||
|
||||
.nav-tabs {
|
||||
border-bottom: 1px solid #666666;
|
||||
}
|
||||
.nav-tabs > .active > a, .nav-tabs > .active > a:hover {
|
||||
background-color: #2f2f2f;
|
||||
color: #fff;
|
||||
border-color: #666666 #666666 transparent #666666;
|
||||
}
|
||||
.nav-tabs > li > a:hover {
|
||||
border-color: #2f2f2f #2f2f2f #666666 #2f2f2f;
|
||||
background-color: rgba(0, 0, 0, 0.25);
|
||||
color: #00aaff;
|
||||
}
|
||||
.nav-tabs.nav-stacked > li > a, .nav-tabs.nav-stacked > li > a:hover {
|
||||
border-color: #666;
|
||||
}
|
||||
|
||||
.well > .nav-tabs > .active > a, .well > .nav-tabs > .active > a:hover {
|
||||
background-color: #202020;
|
||||
}
|
||||
|
||||
.nav-pills > li > a:hover {
|
||||
background-color: rgba(0, 0, 0, 0.25);
|
||||
color: #00aaff;
|
||||
}
|
||||
|
||||
.nav-list > li > a,
|
||||
.nav-list .nav-header {
|
||||
text-shadow: 0 1px 0 black;
|
||||
}
|
||||
|
||||
.nav-list > li > a:hover {
|
||||
background-color: rgba(0, 0, 0, 0.25);
|
||||
color: #00aaff;
|
||||
}
|
||||
|
||||
.nav-list .active > a:hover {
|
||||
background-color: #0088cc;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.tabs-below .nav-tabs {
|
||||
border-top: 1px solid #666666;
|
||||
}
|
||||
|
||||
.tabs-left .nav-tabs {
|
||||
border-right: 1px solid #666666;
|
||||
}
|
||||
|
||||
.tabs-right .nav-tabs {
|
||||
border-left: 1px solid #666666;
|
||||
}
|
||||
|
||||
.tabs-below .nav-tabs > li > a:hover {
|
||||
border-top: 1px solid #666666;
|
||||
}
|
||||
|
||||
.tabs-left .nav-tabs > li > a:hover {
|
||||
border-color: transparent #666666 transparent transparent;
|
||||
}
|
||||
|
||||
.tabs-right .nav-tabs > li > a:hover {
|
||||
border-color: transparent transparent transparent #666666;
|
||||
}
|
||||
|
||||
.tabs-below .nav-tabs .active > a,
|
||||
.tabs-below .nav-tabs .active > a:hover {
|
||||
border-color: transparent #666666 #666666 #666666;
|
||||
}
|
||||
|
||||
.tabs-left .nav-tabs .active > a,
|
||||
.tabs-left .nav-tabs .active > a:hover {
|
||||
border-color: #666666 transparent #666666 #666666;
|
||||
}
|
||||
|
||||
.tabs-right .nav-tabs .active > a,
|
||||
.tabs-right .nav-tabs .active > a:hover {
|
||||
border-color: #666666 #666666 #666666 transparent;
|
||||
}
|
||||
|
||||
.nav-list > li > a,
|
||||
.nav-list .nav-header {
|
||||
text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
.nav-tabs > li > a:hover {
|
||||
border-color: transparent transparent #666666 transparent;
|
||||
}
|
||||
|
||||
.nav > .disabled > a:hover {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.nav-list .divider {
|
||||
background-color: transparent;
|
||||
-webkit-box-shadow: rgba(255, 255, 255, 0.07) 0 1px 0;
|
||||
-moz-box-shadow: rgba(255, 255, 255, 0.07) 0 1px 0;
|
||||
box-shadow: rgba(255, 255, 255, 0.07) 0 1px 0;
|
||||
border-bottom: 1px solid #121212;
|
||||
}
|
||||
|
||||
.navbar .brand {
|
||||
text-shadow: 0 1px 0 black;
|
||||
}
|
||||
|
||||
.navbar .divider-vertical {
|
||||
border: transparent;
|
||||
-webkit-box-shadow: rgba(255, 255, 255, 0.07) 1px 0 0;
|
||||
-moz-box-shadow: rgba(255, 255, 255, 0.07) 1px 0 0;
|
||||
box-shadow: rgba(255, 255, 255, 0.07) 1px 0 0;
|
||||
border-right: 1px solid #121212;
|
||||
}
|
||||
|
||||
.navbar-inverse .brand {
|
||||
color: #555;
|
||||
text-shadow: 0 1px 0 white;
|
||||
}
|
||||
.navbar-inverse .brand:hover {
|
||||
color: #555;
|
||||
}
|
||||
.navbar-inverse .navbar-inner {
|
||||
background: #fafafa;
|
||||
border: 1px solid #030303;
|
||||
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
|
||||
background: -moz-linear-gradient(top, white 0%, #999999 100%);
|
||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #999999));
|
||||
background: -webkit-linear-gradient(top, white 0%, #999999 100%);
|
||||
background: -o-linear-gradient(top, white 0%, #999999 100%);
|
||||
background: -ms-linear-gradient(top, white 0%, #999999 100%);
|
||||
background: linear-gradient(to bottom, #ffffff 0%, #999999 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#999999',GradientType=0 );
|
||||
}
|
||||
.navbar-inverse .nav > li > a {
|
||||
color: #555;
|
||||
}
|
||||
.navbar-inverse .nav > li > a:hover {
|
||||
color: #333;
|
||||
}
|
||||
.navbar-inverse .nav > .active > a,
|
||||
.navbar-inverse .nav > .active > a:hover {
|
||||
background-color: #e5e5e5;
|
||||
box-shadow: 0 3px 8px rgba(0, 0, 0, 0.125) inset;
|
||||
color: #555555;
|
||||
}
|
||||
.navbar-inverse .nav li.dropdown.open > .dropdown-toggle,
|
||||
.navbar-inverse .nav li.dropdown.active > .dropdown-toggle,
|
||||
.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle {
|
||||
background-color: #e5e5e5;
|
||||
color: #555;
|
||||
}
|
||||
.navbar-inverse .nav li.dropdown > a:hover .caret {
|
||||
border-top-color: #555;
|
||||
color: #555;
|
||||
}
|
||||
.navbar-inverse .nav > li > a:focus,
|
||||
.navbar-inverse .nav > li > a:hover {
|
||||
background-color: transparent;
|
||||
color: #333;
|
||||
}
|
||||
.navbar-inverse .nav li.dropdown.open > .dropdown-toggle,
|
||||
.navbar-inverse .nav li.dropdown.active > .dropdown-toggle,
|
||||
.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle {
|
||||
background-color: #e5e5e5;
|
||||
color: #555;
|
||||
}
|
||||
.navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret,
|
||||
.navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret,
|
||||
.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret {
|
||||
border-bottom-color: #555;
|
||||
border-top-color: #555;
|
||||
color: #555;
|
||||
}
|
||||
.navbar-inverse .navbar-search .search-query {
|
||||
box-shadow: 0 3px 8px rgba(0, 0, 0, 0.6) inset;
|
||||
background-color: white;
|
||||
color: #333;
|
||||
}
|
||||
.navbar-inverse .navbar-search input.search-query:focus {
|
||||
box-shadow: 0 3px 8px rgba(0, 0, 0, 0.6) inset, 0 0 8px rgba(82, 168, 236, 0.6);
|
||||
box-shadow: 0 3px 8px rgba(0, 0, 0, 0.6) inset, 0 0 8px rgba(82, 168, 236, 0.9);
|
||||
padding: 4px 14px;
|
||||
outline: 0 none;
|
||||
}
|
||||
.navbar-inverse .nav li.dropdown > .dropdown-toggle .caret {
|
||||
border-bottom-color: #555;
|
||||
border-top-color: #555;
|
||||
}
|
||||
.navbar-inverse .nav li.dropdown > a:hover .caret {
|
||||
border-bottom-color: #333;
|
||||
border-top-color: #333;
|
||||
}
|
||||
.navbar-inverse .navbar-search .search-query:-moz-placeholder {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.pagination ul > li > a,
|
||||
.pagination ul > li > span {
|
||||
background: transparent;
|
||||
border-color: #666;
|
||||
}
|
||||
|
||||
.pagination ul > li > a:hover,
|
||||
.pagination ul > .active > a,
|
||||
.pagination ul > .active > span {
|
||||
background-color: rgba(0, 0, 0, 0.25);
|
||||
}
|
||||
|
||||
.pager li > a, .pager li > span {
|
||||
background-color: transparent;
|
||||
border-color: #666;
|
||||
}
|
||||
|
||||
.pager li > a:hover {
|
||||
background-color: rgba(0, 0, 0, 0.25);
|
||||
}
|
||||
|
||||
.pager .disabled > a,
|
||||
.pager .disabled > a:hover,
|
||||
.pager .disabled > span {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.label,
|
||||
.badge {
|
||||
text-shadow: 1px 1px 0 black;
|
||||
box-shadow: 1px 1px 0 black;
|
||||
}
|
||||
|
||||
.label-inverse,
|
||||
.badge-inverse {
|
||||
background-color: #111;
|
||||
}
|
||||
|
||||
.hero-unit {
|
||||
background: #111;
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.thumbnail {
|
||||
border-color: #666;
|
||||
box-shadow: 0 1px 3px black;
|
||||
}
|
||||
.thumbnail .caption {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.alert {
|
||||
color: white;
|
||||
border-color: #a86404;
|
||||
text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
|
||||
}
|
||||
.alert h1, .alert h2, .alert h3, .alert h4, .alert h5, .alert h6 {
|
||||
color: #c17305;
|
||||
}
|
||||
|
||||
.alert-error {
|
||||
border-color: #d40408;
|
||||
}
|
||||
.alert-error h1, .alert-error h2, .alert-error h3, .alert-error h4, .alert-error h5, .alert-error h6 {
|
||||
color: #ed0409;
|
||||
}
|
||||
|
||||
.alert-success {
|
||||
border-color: #2d662d;
|
||||
}
|
||||
.alert-success h1, .alert-success h2, .alert-success h3, .alert-success h4, .alert-success h5, .alert-success h6 {
|
||||
color: #347834;
|
||||
}
|
||||
|
||||
.alert-info {
|
||||
border-color: #1a3c4e;
|
||||
}
|
||||
.alert-info h1, .alert-info h2, .alert-info h3, .alert-info h4, .alert-info h5, .alert-info h6 {
|
||||
color: #204B61;
|
||||
}
|
||||
|
||||
select::-webkit-scrollbar {
|
||||
-webkit-appearance: none;
|
||||
width: 11px;
|
||||
}
|
||||
select::-webkit-scrollbar-thumb {
|
||||
border-radius: 8px;
|
||||
border: 2px solid #202020;
|
||||
background-color: rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
.modal {
|
||||
background-color: #444;
|
||||
}
|
||||
|
||||
.modal-header {
|
||||
border-bottom: 1px solid #222222;
|
||||
}
|
||||
|
||||
.modal-body p {
|
||||
color: #c6c6c6;
|
||||
}
|
||||
|
||||
.modal-footer {
|
||||
background-color: #373737;
|
||||
border-top: 1px solid #222222;
|
||||
-moz-box-shadow: 0 1px 0 #333333 inset;
|
||||
-webkit-box-shadow: 0 1px 0 #333333 inset;
|
||||
-o-box-shadow: 0 1px 0 #333333 inset;
|
||||
box-shadow: 0 1px 0 #333333 inset;
|
||||
}
|
||||
|
||||
.popover {
|
||||
background: #444;
|
||||
border: 1px solid rgba(0, 0, 0, 0.5);
|
||||
border: 1px solid black;
|
||||
}
|
||||
|
||||
.popover-title {
|
||||
background: #373737;
|
||||
border-bottom-color: #222;
|
||||
}
|
||||
|
||||
.popover.top .arrow:after {
|
||||
border-top-color: #444;
|
||||
}
|
||||
|
||||
.popover.right .arrow:after {
|
||||
border-right-color: #444;
|
||||
}
|
||||
|
||||
.popover.bottom .arrow:after {
|
||||
border-bottom-color: #444;
|
||||
}
|
||||
|
||||
.popover.left .arrow:after {
|
||||
border-left-color: #444;
|
||||
}
|
|
@ -0,0 +1,132 @@
|
|||
/* Tomorrow Theme */
|
||||
/* Original theme - https://github.com/chriskempson/tomorrow-theme */
|
||||
/* Pretty printing styles. Used with prettify.js. */
|
||||
/* SPAN elements with the classes below are added by prettyprint. */
|
||||
/* plain text */
|
||||
.pln {
|
||||
color: #4d4d4c; }
|
||||
|
||||
@media screen {
|
||||
/* string content */
|
||||
.str {
|
||||
color: #718c00; }
|
||||
|
||||
/* a keyword */
|
||||
.kwd {
|
||||
color: #8959a8; }
|
||||
|
||||
/* a comment */
|
||||
.com {
|
||||
color: #8e908c; }
|
||||
|
||||
/* a type name */
|
||||
.typ {
|
||||
color: #4271ae; }
|
||||
|
||||
/* a literal value */
|
||||
.lit {
|
||||
color: #f5871f; }
|
||||
|
||||
/* punctuation */
|
||||
.pun {
|
||||
color: #4d4d4c; }
|
||||
|
||||
/* lisp open bracket */
|
||||
.opn {
|
||||
color: #4d4d4c; }
|
||||
|
||||
/* lisp close bracket */
|
||||
.clo {
|
||||
color: #4d4d4c; }
|
||||
|
||||
/* a markup tag name */
|
||||
.tag {
|
||||
color: #c82829; }
|
||||
|
||||
/* a markup attribute name */
|
||||
.atn {
|
||||
color: #f5871f; }
|
||||
|
||||
/* a markup attribute value */
|
||||
.atv {
|
||||
color: #3e999f; }
|
||||
|
||||
/* a declaration */
|
||||
.dec {
|
||||
color: #f5871f; }
|
||||
|
||||
/* a variable name */
|
||||
.var {
|
||||
color: #c82829; }
|
||||
|
||||
/* a function name */
|
||||
.fun {
|
||||
color: #4271ae; } }
|
||||
/* Use higher contrast and text-weight for printable form. */
|
||||
@media print, projection {
|
||||
.str {
|
||||
color: #060; }
|
||||
|
||||
.kwd {
|
||||
color: #006;
|
||||
font-weight: bold; }
|
||||
|
||||
.com {
|
||||
color: #600;
|
||||
font-style: italic; }
|
||||
|
||||
.typ {
|
||||
color: #404;
|
||||
font-weight: bold; }
|
||||
|
||||
.lit {
|
||||
color: #044; }
|
||||
|
||||
.pun, .opn, .clo {
|
||||
color: #440; }
|
||||
|
||||
.tag {
|
||||
color: #006;
|
||||
font-weight: bold; }
|
||||
|
||||
.atn {
|
||||
color: #404; }
|
||||
|
||||
.atv {
|
||||
color: #060; } }
|
||||
/* Style */
|
||||
/*
|
||||
pre.prettyprint {
|
||||
background: white;
|
||||
font-family: Menlo, Monaco, Consolas, monospace;
|
||||
font-size: 12px;
|
||||
line-height: 1.5;
|
||||
border: 1px solid #ccc;
|
||||
padding: 10px; }
|
||||
*/
|
||||
|
||||
/* Specify class=linenums on a pre to get line numbering */
|
||||
ol.linenums {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0; }
|
||||
|
||||
/* IE indents via margin-left */
|
||||
li.L0,
|
||||
li.L1,
|
||||
li.L2,
|
||||
li.L3,
|
||||
li.L4,
|
||||
li.L5,
|
||||
li.L6,
|
||||
li.L7,
|
||||
li.L8,
|
||||
li.L9 {
|
||||
/* */ }
|
||||
|
||||
/* Alternate shading for lines */
|
||||
li.L1,
|
||||
li.L3,
|
||||
li.L5,
|
||||
li.L7,
|
||||
li.L9 {
|
||||
/* */ }
|
6349
Docs/docstrap-master/template/static/styles/site.amelia.css
Normal file
6349
Docs/docstrap-master/template/static/styles/site.amelia.css
Normal file
File diff suppressed because it is too large
Load diff
5675
Docs/docstrap-master/template/static/styles/site.cerulean.css
Normal file
5675
Docs/docstrap-master/template/static/styles/site.cerulean.css
Normal file
File diff suppressed because it is too large
Load diff
5910
Docs/docstrap-master/template/static/styles/site.cosmo.css
Normal file
5910
Docs/docstrap-master/template/static/styles/site.cosmo.css
Normal file
File diff suppressed because it is too large
Load diff
6104
Docs/docstrap-master/template/static/styles/site.cyborg.css
Normal file
6104
Docs/docstrap-master/template/static/styles/site.cyborg.css
Normal file
File diff suppressed because it is too large
Load diff
5638
Docs/docstrap-master/template/static/styles/site.darkstrap.css
Normal file
5638
Docs/docstrap-master/template/static/styles/site.darkstrap.css
Normal file
File diff suppressed because it is too large
Load diff
5949
Docs/docstrap-master/template/static/styles/site.flatly.css
Normal file
5949
Docs/docstrap-master/template/static/styles/site.flatly.css
Normal file
File diff suppressed because it is too large
Load diff
5719
Docs/docstrap-master/template/static/styles/site.journal.css
Normal file
5719
Docs/docstrap-master/template/static/styles/site.journal.css
Normal file
File diff suppressed because it is too large
Load diff
5407
Docs/docstrap-master/template/static/styles/site.readable.css
Normal file
5407
Docs/docstrap-master/template/static/styles/site.readable.css
Normal file
File diff suppressed because it is too large
Load diff
5732
Docs/docstrap-master/template/static/styles/site.simplex.css
Normal file
5732
Docs/docstrap-master/template/static/styles/site.simplex.css
Normal file
File diff suppressed because it is too large
Load diff
6178
Docs/docstrap-master/template/static/styles/site.slate.css
Normal file
6178
Docs/docstrap-master/template/static/styles/site.slate.css
Normal file
File diff suppressed because it is too large
Load diff
5734
Docs/docstrap-master/template/static/styles/site.spacelab.css
Normal file
5734
Docs/docstrap-master/template/static/styles/site.spacelab.css
Normal file
File diff suppressed because it is too large
Load diff
5889
Docs/docstrap-master/template/static/styles/site.spruce.css
Normal file
5889
Docs/docstrap-master/template/static/styles/site.spruce.css
Normal file
File diff suppressed because it is too large
Load diff
6074
Docs/docstrap-master/template/static/styles/site.superhero.css
Normal file
6074
Docs/docstrap-master/template/static/styles/site.superhero.css
Normal file
File diff suppressed because it is too large
Load diff
5519
Docs/docstrap-master/template/static/styles/site.united.css
Normal file
5519
Docs/docstrap-master/template/static/styles/site.united.css
Normal file
File diff suppressed because it is too large
Load diff
345
Docs/docstrap-master/template/static/styles/sunlight.dark.css
Normal file
345
Docs/docstrap-master/template/static/styles/sunlight.dark.css
Normal file
|
@ -0,0 +1,345 @@
|
|||
/* global styles */
|
||||
.sunlight-container {
|
||||
clear: both !important;
|
||||
position: relative !important;
|
||||
margin: 10px 0 !important;
|
||||
}
|
||||
.sunlight-code-container {
|
||||
clear: both !important;
|
||||
position: relative !important;
|
||||
border: none;
|
||||
border-color: #626262 !important;
|
||||
background-color: #262626 !important;
|
||||
}
|
||||
.sunlight-highlighted, .sunlight-container, .sunlight-container textarea {
|
||||
font-family: Consolas, Inconsolata, Monaco, "Courier New" !important;
|
||||
font-size: 12px !important;
|
||||
line-height: 15px !important;
|
||||
}
|
||||
.sunlight-highlighted, .sunlight-container textarea {
|
||||
color: #FFFFFF !important;
|
||||
margin: 0 !important;
|
||||
}
|
||||
.sunlight-container textarea {
|
||||
padding-left: 0 !important;
|
||||
margin-left: 0 !important;
|
||||
margin-right: 0 !important;
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
.sunlight-code-container > .sunlight-highlighted {
|
||||
white-space: pre;
|
||||
overflow-x: auto;
|
||||
overflow-y: hidden; /* ie requires this wtf? */
|
||||
}
|
||||
.sunlight-highlighted {
|
||||
z-index: 1;
|
||||
position: relative;
|
||||
}
|
||||
.sunlight-highlighted * {
|
||||
background: transparent;
|
||||
}
|
||||
.sunlight-line-number-margin {
|
||||
float: left !important;
|
||||
margin-right: 5px !important;
|
||||
margin-top: 0 !important;
|
||||
margin-bottom: 0 !important;
|
||||
padding: 0 !important;
|
||||
padding-right: 4px !important;
|
||||
padding-left: 4px !important;
|
||||
border-right: 1px solid #9A9A9A !important;
|
||||
background-color: #3E3E3E !important;
|
||||
color: #9A9A9A !important;
|
||||
text-align: right !important;
|
||||
position: relative;
|
||||
z-index: 3;
|
||||
}
|
||||
.sunlight-highlighted a, .sunlight-line-number-margin a {
|
||||
border: none !important;
|
||||
text-decoration: none !important;
|
||||
font-style: normal !important;
|
||||
padding: 0 !important;
|
||||
}
|
||||
.sunlight-line-number-margin a {
|
||||
color: inherit !important;
|
||||
}
|
||||
.sunlight-line-highlight-overlay {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
z-index: 0;
|
||||
}
|
||||
.sunlight-line-highlight-overlay div {
|
||||
height: 15px;
|
||||
width: 100%;
|
||||
}
|
||||
.sunlight-line-highlight-overlay .sunlight-line-highlight-active {
|
||||
background-color: #4B4B4B;
|
||||
}
|
||||
|
||||
/* menu */
|
||||
.sunlight-menu {
|
||||
background-color: #FFFFCC;
|
||||
color: #000000;
|
||||
}
|
||||
.sunlight-menu ul {
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
list-style-type: none !important;
|
||||
}
|
||||
.sunlight-menu li {
|
||||
float: right !important;
|
||||
margin-left: 5px !important;
|
||||
}
|
||||
.sunlight-menu a, .sunlight-menu img {
|
||||
color: #000099 !important;
|
||||
text-decoration: none !important;
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.sunlight-string,
|
||||
.sunlight-char,
|
||||
.sunlight-heredoc,
|
||||
.sunlight-heredocDeclaration,
|
||||
.sunlight-nowdoc,
|
||||
.sunlight-longString,
|
||||
.sunlight-rawString,
|
||||
.sunlight-binaryString,
|
||||
.sunlight-verbatimString,
|
||||
.sunlight-rawLongString,
|
||||
.sunlight-binaryLongString,
|
||||
.sunlight-diff .sunlight-added {
|
||||
color: #55EB54 !important;
|
||||
}
|
||||
.sunlight-operator,
|
||||
.sunlight-punctuation,
|
||||
.sunlight-delimiter {
|
||||
color: #B1EDEC !important;
|
||||
}
|
||||
.sunlight-ident,
|
||||
.sunlight-diff .sunlight-unchanged {
|
||||
color: #E0E0E0 !important;
|
||||
font-weight: bold !important;
|
||||
}
|
||||
.sunlight-comment,
|
||||
.sunlight-xmlDocCommentContent,
|
||||
.sunlight-nginx .sunlight-ssiCommand,
|
||||
.sunlight-sln .sunlight-formatDeclaration,
|
||||
.sunlight-diff .sunlight-mergeHeader,
|
||||
.sunlight-diff .sunlight-noNewLine {
|
||||
color: #787D31 !important;
|
||||
}
|
||||
.sunlight-number,
|
||||
.sunlight-cdata,
|
||||
.sunlight-guid,
|
||||
.sunlight-diff .sunlight-modified {
|
||||
color: #F7BA7E !important;
|
||||
font-weight: bold !important;
|
||||
}
|
||||
.sunlight-named-ident,
|
||||
.sunlight-xml .sunlight-attribute,
|
||||
.sunlight-constant,
|
||||
.sunlight-javascript .sunlight-globalVariable,
|
||||
.sunlight-globalObject,
|
||||
.sunlight-css .sunlight-id,
|
||||
.sunlight-python .sunlight-attribute,
|
||||
.sunlight-nginx .sunlight-context,
|
||||
.sunlight-httpd .sunlight-context,
|
||||
.sunlight-lisp .sunlight-declarationSpecifier,
|
||||
.sunlight-erlang .sunlight-userDefinedFunction,
|
||||
.sunlight-diff .sunlight-removed {
|
||||
color: #FBBDEE !important;
|
||||
font-weight: bold !important;
|
||||
}
|
||||
.sunlight-keyword,
|
||||
.sunlight-languageConstruct,
|
||||
.sunlight-specialOperator,
|
||||
.sunlight-xml .sunlight-tagName,
|
||||
.sunlight-xml .sunlight-operator,
|
||||
.sunlight-bash .sunlight-command,
|
||||
.sunlight-erlang .sunlight-moduleAttribute {
|
||||
color: #A3CCF7 !important;
|
||||
font-weight: bold !important;
|
||||
}
|
||||
.sunlight-shortOpenTag,
|
||||
.sunlight-openTag,
|
||||
.sunlight-closeTag,
|
||||
.sunlight-xmlOpenTag,
|
||||
.sunlight-xmlCloseTag,
|
||||
.sunlight-aspOpenTag,
|
||||
.sunlight-aspCloseTag,
|
||||
.sunlight-label,
|
||||
.sunlight-css .sunlight-importantFlag {
|
||||
background-color: #7373C1 !important;
|
||||
}
|
||||
.sunlight-content {
|
||||
color: #FFFFFF !important;
|
||||
font-weight: bold !important;
|
||||
}
|
||||
.sunlight-function,
|
||||
.sunlight-globalFunction,
|
||||
.sunlight-objective-c .sunlight-messageDestination,
|
||||
.sunlight-ruby .sunlight-specialFunction,
|
||||
.sunlight-6502asm .sunlight-illegalOpcode,
|
||||
.sunlight-powershell .sunlight-switch,
|
||||
.sunlight-lisp .sunlight-macro,
|
||||
.sunlight-lisp .sunlight-specialForm,
|
||||
.sunlight-lisp .sunlight-type,
|
||||
.sunlight-sln .sunlight-sectionName,
|
||||
.sunlight-diff .sunlight-header {
|
||||
color: #C8BBF1 !important;
|
||||
font-weight: bold !important;
|
||||
}
|
||||
.sunlight-variable,
|
||||
.sunlight-environmentVariable,
|
||||
.sunlight-specialVariable,
|
||||
.sunlight-objective-c .sunlight-messageArgumentName,
|
||||
.sunlight-lisp .sunlight-globalVariable,
|
||||
.sunlight-ruby .sunlight-globalVariable,
|
||||
.sunlight-ruby .sunlight-instanceVariable {
|
||||
color: #F5E5B0 !important;
|
||||
font-weight: bold !important;
|
||||
}
|
||||
.sunlight-regexLiteral,
|
||||
.sunlight-lisp .sunlight-operator,
|
||||
.sunlight-6502asm .sunlight-pseudoOp,
|
||||
.sunlight-erlang .sunlight-macro,
|
||||
.sunlight-diff .sunlight-rangeInfo {
|
||||
color: #E0F16A !important;
|
||||
}
|
||||
.sunlight-specialVariable {
|
||||
font-style: italic !important;
|
||||
font-weight: bold !important;
|
||||
}
|
||||
.sunlight-csharp .sunlight-pragma,
|
||||
.sunlight-preprocessorDirective,
|
||||
.sunlight-vb .sunlight-compilerDirective {
|
||||
color: #666363 !important;
|
||||
font-style: italic !important;
|
||||
}
|
||||
.sunlight-xmlDocCommentMeta,
|
||||
.sunlight-java .sunlight-annotation,
|
||||
.sunlight-scala .sunlight-annotation,
|
||||
.sunlight-docComment {
|
||||
color: #666363 !important;
|
||||
}
|
||||
.sunlight-quotedIdent,
|
||||
.sunlight-ruby .sunlight-subshellCommand,
|
||||
.sunlight-lisp .sunlight-keywordArgument,
|
||||
.sunlight-haskell .sunlight-infixOperator,
|
||||
.sunlight-erlang .sunlight-quotedAtom {
|
||||
color: #F8CA16 !important;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* html/xml */
|
||||
.sunlight-xml .sunlight-tagName,
|
||||
.sunlight-xml .sunlight-operator,
|
||||
.sunlight-xml .sunlight-attribute {
|
||||
font-weight: normal !important;
|
||||
}
|
||||
.sunlight-doctype {
|
||||
color: #DEB9B2 !important;
|
||||
font-style: italic !important;
|
||||
}
|
||||
.sunlight-xml .sunlight-entity {
|
||||
background-color: #E6E585 !important;
|
||||
color: #000000 !important;
|
||||
}
|
||||
|
||||
/* javascript */
|
||||
.sunlight-javascript .sunlight-reservedWord {
|
||||
font-style: italic !important;
|
||||
}
|
||||
|
||||
/* css */
|
||||
.sunlight-css .sunlight-element {
|
||||
color: #E9EE97 !important;
|
||||
}
|
||||
.sunlight-css .sunlight-microsoftFilterPrefix {
|
||||
color: #C9FF9F !important;
|
||||
}
|
||||
.sunlight-css .sunlight-rule {
|
||||
color: #0099FF !important;
|
||||
}
|
||||
.sunlight-css .sunlight-class {
|
||||
color: #E78282 !important;
|
||||
}
|
||||
.sunlight-css .sunlight-pseudoClass, .sunlight-css .sunlight-pseudoElement {
|
||||
color: #73D693 !important;
|
||||
}
|
||||
|
||||
/* bash */
|
||||
.sunlight-bash .sunlight-hashBang {
|
||||
color: #FFFF00 !important;
|
||||
}
|
||||
|
||||
.sunlight-bash .sunlight-verbatimCommand {
|
||||
color: #BBA4EE !important;
|
||||
}
|
||||
.sunlight-bash .sunlight-variable,
|
||||
.sunlight-bash .sunlight-specialVariable {
|
||||
color: #ED8585 !important;
|
||||
}
|
||||
|
||||
/* python */
|
||||
.sunlight-python .sunlight-specialMethod {
|
||||
font-weight: bold !important;
|
||||
color: #B0A3C2;
|
||||
}
|
||||
|
||||
/* ruby */
|
||||
.sunlight-ruby .sunlight-symbol {
|
||||
font-weight: bold !important;
|
||||
color: #90EEA2 !important;
|
||||
}
|
||||
|
||||
/* brainfuck */
|
||||
.sunlight-brainfuck {
|
||||
font-weight: bold !important;
|
||||
color: #000000 !important;
|
||||
}
|
||||
.sunlight-brainfuck .sunlight-increment {
|
||||
background-color: #FF9900 !important;
|
||||
}
|
||||
.sunlight-brainfuck .sunlight-decrement {
|
||||
background-color: #FF99FF !important;
|
||||
}
|
||||
.sunlight-brainfuck .sunlight-incrementPointer {
|
||||
background-color: #FFFF99 !important;
|
||||
}
|
||||
.sunlight-brainfuck .sunlight-decrementPointer {
|
||||
background-color: #66CCFF !important;
|
||||
}
|
||||
.sunlight-brainfuck .sunlight-read {
|
||||
background-color: #FFFFFF !important;
|
||||
}
|
||||
.sunlight-brainfuck .sunlight-write {
|
||||
background-color: #99FF99 !important;
|
||||
}
|
||||
.sunlight-brainfuck .sunlight-openLoop, .sunlight-brainfuck .sunlight-closeLoop {
|
||||
background-color: #FFFFFF !important;
|
||||
}
|
||||
|
||||
/* 6502 asm */
|
||||
.sunlight-6502asm .sunlight-label {
|
||||
background: none !important;
|
||||
color: #FFFFFF !important;
|
||||
text-decoration: underline !important;
|
||||
}
|
||||
|
||||
/* lisp */
|
||||
.sunlight-lisp .sunlight-macro {
|
||||
font-style: italic !important;
|
||||
}
|
||||
|
||||
/* erlang */
|
||||
.sunlight-erlang .sunlight-atom {
|
||||
color: #FFFFFF !important;
|
||||
font-weight: bold !important;
|
||||
}
|
344
Docs/docstrap-master/template/static/styles/sunlight.default.css
Normal file
344
Docs/docstrap-master/template/static/styles/sunlight.default.css
Normal file
|
@ -0,0 +1,344 @@
|
|||
/* global styles */
|
||||
.sunlight-container {
|
||||
clear: both !important;
|
||||
position: relative !important;
|
||||
margin: 10px 0 !important;
|
||||
}
|
||||
.sunlight-code-container {
|
||||
clear: both !important;
|
||||
position: relative !important;
|
||||
border: none;
|
||||
border-color: #969696 !important;
|
||||
background-color: #FFFFFF !important;
|
||||
}
|
||||
.sunlight-highlighted, .sunlight-container, .sunlight-container textarea {
|
||||
font-family: Consolas, Inconsolata, Monaco, "Courier New" !important;
|
||||
font-size: 12px !important;
|
||||
line-height: 15px !important;
|
||||
}
|
||||
.sunlight-highlighted, .sunlight-container textarea {
|
||||
color: #000000 !important;
|
||||
margin: 0 !important;
|
||||
}
|
||||
.sunlight-container textarea {
|
||||
padding-left: 0 !important;
|
||||
margin-left: 0 !important;
|
||||
margin-right: 0 !important;
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
.sunlight-code-container > .sunlight-highlighted {
|
||||
white-space: pre;
|
||||
overflow-x: auto;
|
||||
overflow-y: hidden; /* ie requires this wtf? */
|
||||
}
|
||||
.sunlight-highlighted {
|
||||
z-index: 1;
|
||||
position: relative;
|
||||
}
|
||||
.sunlight-highlighted * {
|
||||
background: transparent;
|
||||
}
|
||||
.sunlight-line-number-margin {
|
||||
float: left !important;
|
||||
margin-right: 5px !important;
|
||||
margin-top: 0 !important;
|
||||
margin-bottom: 0 !important;
|
||||
padding: 0 !important;
|
||||
padding-right: 4px !important;
|
||||
padding-left: 4px !important;
|
||||
border-right: 1px solid #CCCCCC !important;
|
||||
background-color: #EEEEEE !important;
|
||||
color: #848484 !important;
|
||||
text-align: right !important;
|
||||
position: relative;
|
||||
z-index: 3;
|
||||
}
|
||||
.sunlight-highlighted a, .sunlight-line-number-margin a {
|
||||
border: none !important;
|
||||
text-decoration: none !important;
|
||||
font-weight: normal !important;
|
||||
font-style: normal !important;
|
||||
padding: 0 !important;
|
||||
}
|
||||
.sunlight-line-number-margin a {
|
||||
color: inherit !important;
|
||||
}
|
||||
.sunlight-line-highlight-overlay {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
z-index: 0;
|
||||
}
|
||||
.sunlight-line-highlight-overlay div {
|
||||
height: 15px;
|
||||
width: 100%;
|
||||
}
|
||||
.sunlight-line-highlight-overlay .sunlight-line-highlight-active {
|
||||
background-color: #E7FCFA;
|
||||
}
|
||||
|
||||
/* menu */
|
||||
.sunlight-menu {
|
||||
background-color: #FFFFCC;
|
||||
color: #000000;
|
||||
}
|
||||
.sunlight-menu ul {
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
list-style-type: none !important;
|
||||
}
|
||||
.sunlight-menu li {
|
||||
float: right !important;
|
||||
margin-left: 5px !important;
|
||||
}
|
||||
.sunlight-menu a, .sunlight-menu img {
|
||||
color: #000099 !important;
|
||||
text-decoration: none !important;
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.sunlight-string,
|
||||
.sunlight-char,
|
||||
.sunlight-heredoc,
|
||||
.sunlight-heredocDeclaration,
|
||||
.sunlight-nowdoc,
|
||||
.sunlight-longString,
|
||||
.sunlight-rawString,
|
||||
.sunlight-binaryString,
|
||||
.sunlight-rawLongString,
|
||||
.sunlight-binaryLongString,
|
||||
.sunlight-verbatimString,
|
||||
.sunlight-diff .sunlight-removed {
|
||||
color: #990000 !important;
|
||||
}
|
||||
|
||||
.sunlight-ident,
|
||||
.sunlight-operator,
|
||||
.sunlight-punctuation,
|
||||
.sunlight-delimiter,
|
||||
.sunlight-diff .sunlight-unchanged {
|
||||
color: #000000 !important;
|
||||
}
|
||||
|
||||
.sunlight-comment,
|
||||
.sunlight-xmlDocCommentContent,
|
||||
.sunlight-nginx .sunlight-ssiCommand,
|
||||
.sunlight-sln .sunlight-formatDeclaration,
|
||||
.sunlight-diff .sunlight-added {
|
||||
color: #009900 !important;
|
||||
}
|
||||
.sunlight-number,
|
||||
.sunlight-guid,
|
||||
.sunlight-cdata {
|
||||
color: #CC6600 !important;
|
||||
}
|
||||
|
||||
.sunlight-named-ident,
|
||||
.sunlight-constant,
|
||||
.sunlight-javascript .sunlight-globalVariable,
|
||||
.sunlight-globalObject,
|
||||
.sunlight-python .sunlight-attribute,
|
||||
.sunlight-nginx .sunlight-context,
|
||||
.sunlight-httpd .sunlight-context,
|
||||
.sunlight-haskell .sunlight-class,
|
||||
.sunlight-haskell .sunlight-type,
|
||||
.sunlight-lisp .sunlight-declarationSpecifier,
|
||||
.sunlight-erlang .sunlight-userDefinedFunction,
|
||||
.sunlight-diff .sunlight-header {
|
||||
color: #2B91AF !important;
|
||||
}
|
||||
.sunlight-keyword,
|
||||
.sunlight-languageConstruct,
|
||||
.sunlight-css
|
||||
.sunlight-element,
|
||||
.sunlight-bash .sunlight-command,
|
||||
.sunlight-specialOperator,
|
||||
.sunlight-erlang .sunlight-moduleAttribute,
|
||||
.sunlight-xml .sunlight-tagName,
|
||||
.sunlight-xml .sunlight-operator,
|
||||
.sunlight-diff .sunlight-modified {
|
||||
color: #0000FF !important;
|
||||
}
|
||||
.sunlight-shortOpenTag,
|
||||
.sunlight-openTag,
|
||||
.sunlight-closeTag,
|
||||
.sunlight-xmlOpenTag,
|
||||
.sunlight-xmlCloseTag,
|
||||
.sunlight-aspOpenTag,
|
||||
.sunlight-aspCloseTag,
|
||||
.sunlight-label,
|
||||
.sunlight-css .sunlight-importantFlag {
|
||||
background-color: #FFFF99 !important;
|
||||
color: #000000 !important;
|
||||
}
|
||||
.sunlight-function,
|
||||
.sunlight-globalFunction,
|
||||
.sunlight-ruby .sunlight-specialFunction,
|
||||
.sunlight-objective-c .sunlight-messageDestination,
|
||||
.sunlight-6502asm .sunlight-illegalOpcode,
|
||||
.sunlight-powershell .sunlight-switch,
|
||||
.sunlight-lisp .sunlight-macro,
|
||||
.sunlight-lisp .sunlight-specialForm,
|
||||
.sunlight-lisp .sunlight-type,
|
||||
.sunlight-sln .sunlight-sectionName,
|
||||
.sunlight-diff .sunlight-rangeInfo {
|
||||
color: #B069AF !important;
|
||||
}
|
||||
|
||||
.sunlight-variable,
|
||||
.sunlight-specialVariable,
|
||||
.sunlight-environmentVariable,
|
||||
.sunlight-objective-c .sunlight-messageArgumentName,
|
||||
.sunlight-lisp .sunlight-globalVariable,
|
||||
.sunlight-ruby .sunlight-globalVariable,
|
||||
.sunlight-ruby .sunlight-instanceVariable,
|
||||
.sunlight-sln .sunlight-operator {
|
||||
color: #325484 !important;
|
||||
}
|
||||
.sunlight-regexLiteral,
|
||||
.sunlight-lisp .sunlight-operator,
|
||||
.sunlight-6502asm .sunlight-pseudoOp,
|
||||
.sunlight-erlang .sunlight-macro {
|
||||
color: #FF00B2 !important;
|
||||
}
|
||||
.sunlight-specialVariable {
|
||||
font-style: italic !important;
|
||||
font-weight: bold !important;
|
||||
}
|
||||
.sunlight-csharp .sunlight-pragma,
|
||||
.sunlight-preprocessorDirective,
|
||||
.sunlight-vb .sunlight-compilerDirective,
|
||||
.sunlight-diff .sunlight-mergeHeader,
|
||||
.sunlight-diff .sunlight-noNewLine {
|
||||
color: #999999 !important;
|
||||
font-style: italic !important;
|
||||
}
|
||||
.sunlight-xmlDocCommentMeta,
|
||||
.sunlight-java .sunlight-annotation,
|
||||
.sunlight-scala .sunlight-annotation,
|
||||
.sunlight-docComment {
|
||||
color: #808080 !important;
|
||||
}
|
||||
.sunlight-quotedIdent,
|
||||
.sunlight-ruby .sunlight-subshellCommand,
|
||||
.sunlight-lisp .sunlight-keywordArgument,
|
||||
.sunlight-haskell .sunlight-infixOperator,
|
||||
.sunlight-erlang .sunlight-quotedAtom {
|
||||
color: #999900 !important;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* xml */
|
||||
.sunlight-xml .sunlight-string {
|
||||
color: #990099 !important;
|
||||
}
|
||||
.sunlight-xml .sunlight-attribute {
|
||||
color: #FF0000 !important;
|
||||
}
|
||||
.sunlight-xml .sunlight-entity {
|
||||
background-color: #EEEEEE !important;
|
||||
color: #000000 !important;
|
||||
border: 1px solid #000000 !important;
|
||||
}
|
||||
.sunlight-xml .sunlight-doctype {
|
||||
color: #2B91AF !important;
|
||||
}
|
||||
|
||||
/* javascript */
|
||||
.sunlight-javascript .sunlight-reservedWord {
|
||||
font-style: italic !important;
|
||||
}
|
||||
|
||||
/* css */
|
||||
.sunlight-css .sunlight-microsoftFilterPrefix {
|
||||
color: #FF00FF !important;
|
||||
}
|
||||
.sunlight-css .sunlight-rule {
|
||||
color: #0099FF !important;
|
||||
}
|
||||
.sunlight-css .sunlight-keyword {
|
||||
color: #4E65B8 !important;
|
||||
}
|
||||
.sunlight-css .sunlight-class {
|
||||
color: #FF0000 !important;
|
||||
}
|
||||
.sunlight-css .sunlight-id {
|
||||
color: #8A8E13 !important;
|
||||
}
|
||||
.sunlight-css .sunlight-pseudoClass,
|
||||
.sunlight-css .sunlight-pseudoElement {
|
||||
color: #368B87 !important;
|
||||
}
|
||||
|
||||
/* bash */
|
||||
.sunlight-bash .sunlight-hashBang {
|
||||
color: #3D97F5 !important;
|
||||
}
|
||||
.sunlight-bash .sunlight-verbatimCommand {
|
||||
color: #999900 !important;
|
||||
}
|
||||
.sunlight-bash .sunlight-variable,
|
||||
.sunlight-bash .sunlight-specialVariable {
|
||||
color: #FF0000 !important;
|
||||
}
|
||||
|
||||
/* python */
|
||||
.sunlight-python .sunlight-specialMethod {
|
||||
font-weight: bold !important;
|
||||
color: #A07DD3;
|
||||
}
|
||||
|
||||
/* ruby */
|
||||
.sunlight-ruby .sunlight-symbol {
|
||||
font-weight: bold !important;
|
||||
color: #ED7272 !important;
|
||||
}
|
||||
|
||||
/* brainfuck */
|
||||
.sunlight-brainfuck {
|
||||
font-weight: bold !important;
|
||||
color: #000000 !important;
|
||||
}
|
||||
.sunlight-brainfuck .sunlight-increment {
|
||||
background-color: #FF9900 !important;
|
||||
}
|
||||
.sunlight-brainfuck .sunlight-decrement {
|
||||
background-color: #FF99FF !important;
|
||||
}
|
||||
.sunlight-brainfuck .sunlight-incrementPointer {
|
||||
background-color: #FFFF99 !important;
|
||||
}
|
||||
.sunlight-brainfuck .sunlight-decrementPointer {
|
||||
background-color: #66CCFF !important;
|
||||
}
|
||||
.sunlight-brainfuck .sunlight-read {
|
||||
background-color: #FFFFFF !important;
|
||||
}
|
||||
.sunlight-brainfuck .sunlight-write {
|
||||
background-color: #99FF99 !important;
|
||||
}
|
||||
.sunlight-brainfuck .sunlight-openLoop, .sunlight-brainfuck .sunlight-closeLoop {
|
||||
background-color: #FFFFFF !important;
|
||||
}
|
||||
|
||||
/* 6502 asm */
|
||||
.sunlight-6502asm .sunlight-label {
|
||||
font-weight: bold !important;
|
||||
color: #000000 !important;
|
||||
background: none !important;
|
||||
}
|
||||
|
||||
/* lisp */
|
||||
.sunlight-lisp .sunlight-macro {
|
||||
font-style: italic !important;
|
||||
}
|
||||
|
||||
/* erlang */
|
||||
.sunlight-erlang .sunlight-atom {
|
||||
font-weight: bold !important;
|
||||
}
|
159
Docs/docstrap-master/template/tmpl/container.tmpl
Normal file
159
Docs/docstrap-master/template/tmpl/container.tmpl
Normal file
|
@ -0,0 +1,159 @@
|
|||
<?js
|
||||
var self = this;
|
||||
docs.forEach(function(doc, i) {
|
||||
?>
|
||||
|
||||
<?js if (doc.kind === 'mainpage' || (doc.kind === 'package')) { ?>
|
||||
<?js if (i === 0){ ?>
|
||||
<span class="page-title"><?js= title ?></span>
|
||||
<?js } ?>
|
||||
<?js= self.partial('mainpage.tmpl', doc) ?>
|
||||
|
||||
<?js } else if (doc.kind === 'source') { ?>
|
||||
<h1 class="page-title"><?js= title ?></h1>
|
||||
<?js= self.partial('source.tmpl', doc) ?>
|
||||
<?js } else { ?>
|
||||
<h1 class="page-title"><?js= title ?></h1>
|
||||
<section>
|
||||
|
||||
<header>
|
||||
<h2><?js if (doc.ancestors && doc.ancestors.length) { ?>
|
||||
<span class="ancestors"><?js= doc.ancestors.join('') ?></span>
|
||||
<?js } ?>
|
||||
<?js= doc.name ?>
|
||||
<?js if (doc.variation) { ?>
|
||||
<sup class="variation"><?js= doc.variation ?></sup>
|
||||
<?js } ?></h2>
|
||||
<?js if (doc.classdesc) { ?>
|
||||
<div class="class-description"><?js= doc.classdesc ?></div>
|
||||
<?js } ?>
|
||||
</header>
|
||||
|
||||
<article>
|
||||
<div class="container-overview">
|
||||
<?js if (doc.kind === 'module' && doc.module) { ?>
|
||||
<?js= self.partial('method.tmpl', doc.module) ?>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (doc.kind === 'class') { ?>
|
||||
<?js= self.partial('method.tmpl', doc) ?>
|
||||
<?js } else { ?>
|
||||
<?js if (doc.description) { ?>
|
||||
<div class="description"><?js= doc.description ?></div>
|
||||
<?js } ?>
|
||||
|
||||
<?js= self.partial('details.tmpl', doc) ?>
|
||||
|
||||
<?js if (doc.examples && doc.examples.length) { ?>
|
||||
<h3>Example<?js= doc.examples.length > 1? 's':'' ?></h3>
|
||||
<?js= self.partial('examples.tmpl', doc.examples) ?>
|
||||
<?js } ?>
|
||||
<?js } ?>
|
||||
</div>
|
||||
|
||||
<?js if (doc.augments && doc.augments.length) { ?>
|
||||
<h3 class="subsection-title">Extends</h3>
|
||||
|
||||
<ul><?js doc.augments.forEach(function(a) { ?>
|
||||
<li><?js= self.linkto(a, a) ?></li>
|
||||
<?js }); ?></ul>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (doc.mixes && doc.mixes.length) { ?>
|
||||
<h3 class="subsection-title">Mixes In</h3>
|
||||
|
||||
<ul><?js doc.mixes.forEach(function(a) { ?>
|
||||
<li><?js= self.linkto(a, a) ?></li>
|
||||
<?js }); ?></ul>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (doc.requires && doc.requires.length) { ?>
|
||||
<h3 class="subsection-title">Requires</h3>
|
||||
|
||||
<ul><?js doc.requires.forEach(function(r) { ?>
|
||||
<li><?js= self.linkto(r, r) ?></li>
|
||||
<?js }); ?></ul>
|
||||
<?js } ?>
|
||||
|
||||
<?js
|
||||
var classes = self.find({kind: 'class', memberof: doc.longname});
|
||||
if (doc.kind !== 'globalobj' && classes && classes.length) {
|
||||
?>
|
||||
<h3 class="subsection-title">Classes</h3>
|
||||
|
||||
<dl><?js classes.forEach(function(c) { ?>
|
||||
<dt><?js= self.linkto(c.longname, c.name) ?></dt>
|
||||
<dd><?js if (c.summary) { ?><?js= c.summary ?><?js } ?></dd>
|
||||
<?js }); ?></dl>
|
||||
<?js } ?>
|
||||
|
||||
<?js
|
||||
var namespaces = self.find({kind: 'namespace', memberof: doc.longname});
|
||||
if (doc.kind !== 'globalobj' && namespaces && namespaces.length) {
|
||||
?>
|
||||
<h3 class="subsection-title">Namespaces</h3>
|
||||
|
||||
<dl><?js namespaces.forEach(function(n) { ?>
|
||||
<dt><a href="namespaces.html#<?js= n.longname ?>"><?js= self.linkto(n.longname, n.name) ?></a></dt>
|
||||
<dd><?js if (n.summary) { ?><?js= n.summary ?><?js } ?></dd>
|
||||
<?js }); ?></dl>
|
||||
<?js } ?>
|
||||
|
||||
<?js
|
||||
var members = self.find({kind: 'member', memberof: title === 'Global' ? {isUndefined: true} : doc.longname});
|
||||
if (members && members.length && members.forEach) {
|
||||
?>
|
||||
<h3 class="subsection-title">Members</h3>
|
||||
|
||||
<dl><?js members.forEach(function(p) { ?>
|
||||
<?js= self.partial('members.tmpl', p) ?>
|
||||
<?js }); ?></dl>
|
||||
<?js } ?>
|
||||
|
||||
<?js
|
||||
var methods = self.find({kind: 'function', memberof: title === 'Global' ? {isUndefined: true} : doc.longname});
|
||||
if (methods && methods.length && methods.forEach) {
|
||||
?>
|
||||
<h3 class="subsection-title">Methods</h3>
|
||||
|
||||
<dl><?js methods.forEach(function(m) { ?>
|
||||
<?js= self.partial('method.tmpl', m) ?>
|
||||
<?js }); ?></dl>
|
||||
<?js } ?>
|
||||
|
||||
<?js
|
||||
var typedefs = self.find({kind: 'typedef', memberof: title === 'Global' ? {isUndefined: true} : doc.longname});
|
||||
if (typedefs && typedefs.length && typedefs.forEach) {
|
||||
?>
|
||||
<h3 class="subsection-title">Type Definitions</h3>
|
||||
|
||||
<dl><?js typedefs.forEach(function(e) {
|
||||
if (e.signature) {
|
||||
?>
|
||||
<?js= self.partial('method.tmpl', e) ?>
|
||||
<?js
|
||||
}
|
||||
else {
|
||||
?>
|
||||
<?js= self.partial('members.tmpl', e) ?>
|
||||
<?js
|
||||
}
|
||||
}); ?></dl>
|
||||
<?js } ?>
|
||||
|
||||
<?js
|
||||
var events = self.find({kind: 'event', memberof: title === 'Global' ? {isUndefined: true} : doc.longname});
|
||||
if (events && events.length && events.forEach) {
|
||||
?>
|
||||
<h3 class="subsection-title">Events</h3>
|
||||
|
||||
<dl><?js events.forEach(function(e) { ?>
|
||||
<?js= self.partial('method.tmpl', e) ?>
|
||||
<?js }); ?></dl>
|
||||
<?js } ?>
|
||||
</article>
|
||||
|
||||
</section>
|
||||
<?js } ?>
|
||||
|
||||
<?js }); ?>
|
98
Docs/docstrap-master/template/tmpl/details.tmpl
Normal file
98
Docs/docstrap-master/template/tmpl/details.tmpl
Normal file
|
@ -0,0 +1,98 @@
|
|||
<?js
|
||||
var data = obj;
|
||||
var self = this;
|
||||
?>
|
||||
<dl class="details">
|
||||
<?js
|
||||
var properties = data.properties;
|
||||
if (properties && properties.length && properties.forEach) {
|
||||
?>
|
||||
|
||||
<h5 class="subsection-title">Properties:</h5>
|
||||
|
||||
<dl><?js= this.partial('properties.tmpl', properties) ?></dl>
|
||||
|
||||
<?js } ?>
|
||||
|
||||
<?js if (data.version) {?>
|
||||
<dt class="tag-version">Version:</dt>
|
||||
<dd class="tag-version"><ul class="dummy"><li><?js= version ?></li></ul></dd>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (data.since) {?>
|
||||
<dt class="tag-since">Since:</dt>
|
||||
<dd class="tag-since"><ul class="dummy"><li><?js= since ?></dd>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (data.inherited && data.inherits) { ?>
|
||||
<dt class="inherited-from">Inherited From:</dt>
|
||||
<dd class="inherited-from"><ul class="dummy"><li>
|
||||
<?js= this.linkto(data.inherits, this.htmlsafe(data.inherits)) ?>
|
||||
</li></dd>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (data.deprecated) { ?>
|
||||
<dt class="important tag-deprecated">Deprecated:</dt><?js
|
||||
if (data.deprecated === true) { ?><dd class="yes-def tag-deprecated"><ul class="dummy"><li>Yes</li></ul></dd><?js }
|
||||
else { ?><dd><ul class="dummy"><li><?js= data.deprecated ?></li><ul></dd><?js }
|
||||
?>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (data.author && author.length) {?>
|
||||
<dt class="tag-author">Author:</dt>
|
||||
<dd class="tag-author">
|
||||
<ul><?js author.forEach(function(a) { ?>
|
||||
<li><?js= self.resolveAuthorLinks(a) ?></li>
|
||||
<?js }); ?></ul>
|
||||
</dd>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (data.copyright) {?>
|
||||
<dt class="tag-copyright">Copyright:</dt>
|
||||
<dd class="tag-copyright"><ul class="dummy"><li><?js= copyright ?></li></ul></dd>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (data.license) {?>
|
||||
<dt class="tag-license">License:</dt>
|
||||
<dd class="tag-license"><ul class="dummy"><li><?js= license ?></li></ul></dd>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (data.defaultvalue) {?>
|
||||
<dt class="tag-default">Default Value:</dt>
|
||||
<dd class="tag-default"><ul class="dummy"><li><?js= data.defaultvalue ?></li></ul></dd>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (data.meta) {?>
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<?js= self.linkto(meta.filename) ?><?js if (this.navOptions.linenums) {?>, <?js= self.linkto(meta.filename, 'line ' + meta.lineno, null, 'sunlight-1-line-' + meta.lineno) ?><?js } ?>
|
||||
</li></ul></dd>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (data.tutorials && tutorials.length) {?>
|
||||
<dt class="tag-tutorial">Tutorials:</dt>
|
||||
<dd class="tag-tutorial">
|
||||
<ul><?js tutorials.forEach(function(t) { ?>
|
||||
<li><?js= self.tutoriallink(t) ?></li>
|
||||
<?js }); ?></ul>
|
||||
</dd>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (data.see && see.length) {?>
|
||||
<dt class="tag-see">See:</dt>
|
||||
<dd class="tag-see">
|
||||
<ul><?js see.forEach(function(s) { ?>
|
||||
<li><?js= self.linkto(s) ?></li>
|
||||
<?js }); ?></ul>
|
||||
</dd>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (data.todo && todo.length) {?>
|
||||
<dt class="tag-todo">To Do:</dt>
|
||||
<dd class="tag-todo">
|
||||
<ul><?js todo.forEach(function(t) { ?>
|
||||
<li><?js= t ?></li>
|
||||
<?js }); ?></ul>
|
||||
</dd>
|
||||
<?js } ?>
|
||||
</dl>
|
2
Docs/docstrap-master/template/tmpl/example.tmpl
Normal file
2
Docs/docstrap-master/template/tmpl/example.tmpl
Normal file
|
@ -0,0 +1,2 @@
|
|||
<?js var data = obj; ?>
|
||||
<pre class="sunlight-highlight-javascript"><?js= data ?></pre>
|
11
Docs/docstrap-master/template/tmpl/examples.tmpl
Normal file
11
Docs/docstrap-master/template/tmpl/examples.tmpl
Normal file
|
@ -0,0 +1,11 @@
|
|||
<?js
|
||||
var data = obj;
|
||||
data.forEach(function(example) {
|
||||
if (example.caption) {
|
||||
?>
|
||||
<p class="code-caption"><?js= example.caption ?></p>
|
||||
<?js } ?>
|
||||
<pre class="sunlight-highlight-javascript"><?js= example.code ?></pre>
|
||||
<?js
|
||||
});
|
||||
?>
|
30
Docs/docstrap-master/template/tmpl/exceptions.tmpl
Normal file
30
Docs/docstrap-master/template/tmpl/exceptions.tmpl
Normal file
|
@ -0,0 +1,30 @@
|
|||
<?js
|
||||
var data = obj;
|
||||
?>
|
||||
<?js if (data.description && data.type && data.type.names) { ?>
|
||||
<dl>
|
||||
<dt>
|
||||
<div class="param-desc">
|
||||
<?js= data.description ?>
|
||||
</div>
|
||||
</dt>
|
||||
<dt>
|
||||
<dl>
|
||||
<dt>
|
||||
Type
|
||||
</dt>
|
||||
<dd>
|
||||
<?js= this.partial('type.tmpl', data.type.names) ?>
|
||||
</dd>
|
||||
</dl>
|
||||
</dt>
|
||||
</dl>
|
||||
<?js } else { ?>
|
||||
<div class="param-desc">
|
||||
<?js if (data.description) { ?>
|
||||
<?js= data.description ?>
|
||||
<?js } else if (data.type && data.type.names) { ?>
|
||||
<?js= this.partial('type.tmpl', data.type.names) ?>
|
||||
<?js } ?>
|
||||
</div>
|
||||
<?js } ?>
|
4
Docs/docstrap-master/template/tmpl/fires.tmpl
Normal file
4
Docs/docstrap-master/template/tmpl/fires.tmpl
Normal file
|
@ -0,0 +1,4 @@
|
|||
<?js var data = obj; ?>
|
||||
<li>
|
||||
<?js= data ?>
|
||||
</li>
|
143
Docs/docstrap-master/template/tmpl/layout.tmpl
Normal file
143
Docs/docstrap-master/template/tmpl/layout.tmpl
Normal file
|
@ -0,0 +1,143 @@
|
|||
<!DOCTYPE html>
|
||||
<?js var that = this; ?>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title><?js= this.navOptions.systemName ?> <?js= title ?></title>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
||||
|
||||
<?js if (this.navOptions.theme === "darkstrap"){ ?>
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.cyborg.css">
|
||||
<link type="text/css" rel="stylesheet" href="styles/darkstrap.css">
|
||||
<?js } else { ?>
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.<?js= this.navOptions.theme ?>.css">
|
||||
<?js } ?>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="navbar navbar-fixed-top <?js= this.navOptions.inverseNav ? 'navbar-inverse' : '' ?>">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="<?js= this.nav.index.link ?>"><?js= this.nav.index.title ?></a>
|
||||
<ul class="nav">
|
||||
<?js this.nav.topLevelNav.forEach(function(entry){ ?>
|
||||
<li class="dropdown">
|
||||
<a href="<?js= entry.link ?>" class="dropdown-toggle" data-toggle="dropdown"><?js= entry.title ?><b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu <?js= that.navOptions.navType ==='inline' ? 'inline' : '' ?>">
|
||||
<?js entry.members.forEach(function(member){ ?>
|
||||
<li>
|
||||
<?js= member ?>
|
||||
</li>
|
||||
<?js }); ?>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<?js }); ?>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
<?js if(docs && docs[0].kind !== "source"){ ?>
|
||||
<div class="span8">
|
||||
<?js }else{ ?>
|
||||
<div class="span12">
|
||||
<?js } ?>
|
||||
<div id="main">
|
||||
<?js= content ?>
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<footer>
|
||||
<?js if (that.navOptions.footer.length > 0){ ?>
|
||||
<?js= that.navOptions.footer ?>
|
||||
<br />
|
||||
<?js } ?>
|
||||
<?js if (that.navOptions.copyright.length > 0){ ?>
|
||||
<span class="copyright">
|
||||
<?js= that.navOptions.copyright ?>
|
||||
</span>
|
||||
<br />
|
||||
<?js } ?>
|
||||
<span class="jsdoc-message">
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc <?js= env.version.number ?></a>
|
||||
on <?js= (new Date()) ?> using the <a href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<?js if(docs && docs[0].kind !== "source"){ ?>
|
||||
<div class="span3">
|
||||
<div id="toc"></div>
|
||||
</div>
|
||||
<?js } ?>
|
||||
<br clear="both">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script src="scripts/sunlight.js"></script>
|
||||
<script src="scripts/sunlight.javascript.js"></script>
|
||||
<script src="scripts/sunlight-plugin.doclinks.js"></script>
|
||||
<script src="scripts/sunlight-plugin.linenumbers.js"></script>
|
||||
<script src="scripts/sunlight-plugin.menu.js"></script>
|
||||
<script src="scripts/jquery.min.js"></script>
|
||||
<script src="scripts/jquery.scrollTo.js"></script>
|
||||
<script src="scripts/jquery.localScroll.js"></script>
|
||||
<script src="scripts/bootstrap-dropdown.js"></script>
|
||||
<script src="scripts/toc.js"></script>
|
||||
|
||||
|
||||
<script> Sunlight.highlightAll({lineNumbers:<?js= this.navOptions.linenums ?>, showMenu: true, enableDoclinks :true}); </script>
|
||||
|
||||
<script>
|
||||
$( function () {
|
||||
$( "#toc" ).toc( {
|
||||
selectors : "h1,h2,h3,h4",
|
||||
showAndHide : false,
|
||||
scrollTo : 60
|
||||
} );
|
||||
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
||||
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
||||
|
||||
} );
|
||||
</script>
|
||||
|
||||
<?js if (this.navOptions.collapseSymbols) { ?>
|
||||
<script>
|
||||
$( function () {
|
||||
$('#main').localScroll({
|
||||
offset: { top: 56 } //offset by the height of your header (give or take a few px, see what works for you)
|
||||
});
|
||||
$( "dt h4.name" ).each( function () {
|
||||
var $this = $( this );
|
||||
var icon = $( "<i/>" ).addClass( "icon-plus-sign" ).addClass( "pull-right" ).addClass( "icon-white" );
|
||||
var dt = $this.parents( "dt" );
|
||||
var children = dt.next( "dd" );
|
||||
|
||||
$this.append( icon ).css( {cursor : "pointer"} );
|
||||
$this.addClass( "member-collapsed" ).addClass( "member" );
|
||||
|
||||
children.hide();
|
||||
$this.toggle( function () {
|
||||
icon.addClass( "icon-minus-sign" ).removeClass( "icon-plus-sign" ).removeClass( "icon-white" );
|
||||
$this.addClass( "member-open" ).removeClass( "member-collapsed" );
|
||||
children.slideDown();
|
||||
}, function () {
|
||||
icon.addClass( "icon-plus-sign" ).removeClass( "icon-minus-sign" ).addClass( "icon-white" );
|
||||
$this.addClass( "member-collapsed" ).removeClass( "member-open" );
|
||||
children.slideUp();
|
||||
} );
|
||||
} );
|
||||
} );
|
||||
</script>
|
||||
<?js } ?>
|
||||
|
||||
</body>
|
||||
</html>
|
15
Docs/docstrap-master/template/tmpl/mainpage.tmpl
Normal file
15
Docs/docstrap-master/template/tmpl/mainpage.tmpl
Normal file
|
@ -0,0 +1,15 @@
|
|||
<?js
|
||||
var data = obj;
|
||||
var self = this;
|
||||
?>
|
||||
|
||||
|
||||
<?js if (data.kind === 'package' && (data.name ||data.version)) { ?>
|
||||
<h3><?js= data.name ?> <?js= data.version ?></h3>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (data.readme) { ?>
|
||||
<section>
|
||||
<article><?js= data.readme ?></article>
|
||||
</section>
|
||||
<?js } ?>
|
34
Docs/docstrap-master/template/tmpl/members.tmpl
Normal file
34
Docs/docstrap-master/template/tmpl/members.tmpl
Normal file
|
@ -0,0 +1,34 @@
|
|||
<?js
|
||||
var data = obj;
|
||||
var self = this;
|
||||
?>
|
||||
<dt>
|
||||
<h4 class="name" id="<?js= id ?>"><?js= data.attribs + name + (data.signature ? data.signature : '') ?></h4>
|
||||
|
||||
<?js if (data.summary) { ?>
|
||||
<p class="summary"><?js= summary ?></p>
|
||||
<?js } ?>
|
||||
</dt>
|
||||
<dd>
|
||||
<?js if (data.description) { ?>
|
||||
<div class="description">
|
||||
<?js= data.description ?>
|
||||
</div>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (data.type && data.type.names) {?>
|
||||
<h5>Type:</h5>
|
||||
<ul>
|
||||
<li>
|
||||
<?js= self.partial('type.tmpl', data.type.names) ?>
|
||||
</li>
|
||||
</ul>
|
||||
<?js } ?>
|
||||
|
||||
<?js= this.partial('details.tmpl', data) ?>
|
||||
|
||||
<?js if (data.examples && examples.length) { ?>
|
||||
<h5>Example<?js= examples.length > 1? 's':'' ?></h5>
|
||||
<?js= this.partial('examples.tmpl', examples) ?>
|
||||
<?js } ?>
|
||||
</dd>
|
90
Docs/docstrap-master/template/tmpl/method.tmpl
Normal file
90
Docs/docstrap-master/template/tmpl/method.tmpl
Normal file
|
@ -0,0 +1,90 @@
|
|||
<?js
|
||||
var data = obj;
|
||||
var self = this;
|
||||
?>
|
||||
<dt>
|
||||
<h4 class="name" id="<?js= id ?>"><?js= data.attribs + (kind === 'class' ? 'new ' : '') + name + (kind !== 'event' ? data.signature : '') ?></h4>
|
||||
|
||||
<?js if (data.summary) { ?>
|
||||
<p class="summary"><?js= summary ?></p>
|
||||
<?js } ?>
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
<?js if (data.description) { ?>
|
||||
<div class="description">
|
||||
<?js= data.description ?>
|
||||
</div>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (kind === 'event' && data.type && data.type.names) {?>
|
||||
<h5>Type:</h5>
|
||||
<ul>
|
||||
<li>
|
||||
<?js= self.partial('type.tmpl', data.type.names) ?>
|
||||
</li>
|
||||
</ul>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (data['this']) { ?>
|
||||
<h5>This:</h5>
|
||||
<ul><li><?js= this.linkto(data['this'], data['this']) ?></li></ul>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (data.params && params.length) { ?>
|
||||
<h5>Parameters:</h5>
|
||||
<?js= this.partial('params.tmpl', params) ?>
|
||||
<?js } ?>
|
||||
|
||||
<?js= this.partial('details.tmpl', data) ?>
|
||||
|
||||
<?js if (data.fires && fires.length) { ?>
|
||||
<h5>Fires:</h5>
|
||||
<ul><?js fires.forEach(function(f) { ?>
|
||||
<li><?js= self.linkto(f) ?></li>
|
||||
<?js }); ?></ul>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (data.listens && listens.length) { ?>
|
||||
<h5>Listens to Events:</h5>
|
||||
<ul><?js listens.forEach(function(f) { ?>
|
||||
<li><?js= self.linkto(f) ?></li>
|
||||
<?js }); ?></ul>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (data.listeners && listeners.length) { ?>
|
||||
<h5>Listeners of This Event:</h5>
|
||||
<ul><?js listeners.forEach(function(f) { ?>
|
||||
<li><?js= self.linkto(f) ?></li>
|
||||
<?js }); ?></ul>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (data.exceptions && exceptions.length) { ?>
|
||||
<h5>Throws:</h5>
|
||||
<?js if (exceptions.length > 1) { ?><ul><?js
|
||||
exceptions.forEach(function(r) { ?>
|
||||
<li><?js= self.partial('exceptions.tmpl', r) ?></li>
|
||||
<?js });
|
||||
?></ul><?js } else {
|
||||
exceptions.forEach(function(r) { ?>
|
||||
<?js= self.partial('exceptions.tmpl', r) ?>
|
||||
<?js });
|
||||
} } ?>
|
||||
|
||||
<?js if (data.returns && returns.length) { ?>
|
||||
<h5>Returns:</h5>
|
||||
<?js if (returns.length > 1) { ?><ul><?js
|
||||
returns.forEach(function(r) { ?>
|
||||
<li><?js= self.partial('returns.tmpl', r) ?></li>
|
||||
<?js });
|
||||
?></ul><?js } else {
|
||||
returns.forEach(function(r) { ?>
|
||||
<?js= self.partial('returns.tmpl', r) ?>
|
||||
<?js });
|
||||
} } ?>
|
||||
|
||||
<?js if (data.examples && examples.length) { ?>
|
||||
<h5>Example<?js= examples.length > 1? 's':'' ?></h5>
|
||||
<?js= this.partial('examples.tmpl', examples) ?>
|
||||
<?js } ?>
|
||||
</dd>
|
112
Docs/docstrap-master/template/tmpl/params.tmpl
Normal file
112
Docs/docstrap-master/template/tmpl/params.tmpl
Normal file
|
@ -0,0 +1,112 @@
|
|||
<?js
|
||||
var params = obj;
|
||||
|
||||
/* sort subparams under their parent params (like opts.classname) */
|
||||
var parentParam = null;
|
||||
params.forEach(function(param, i) {
|
||||
if (!param) { return; }
|
||||
if ( parentParam && param.name && param.name.indexOf(parentParam.name + '.') === 0 ) {
|
||||
param.name = param.name.substr(parentParam.name.length+1);
|
||||
parentParam.subparams = parentParam.subparams || [];
|
||||
parentParam.subparams.push(param);
|
||||
params[i] = null;
|
||||
}
|
||||
else {
|
||||
parentParam = param;
|
||||
}
|
||||
});
|
||||
|
||||
/* determine if we need extra columns, "attributes" and "default" */
|
||||
params.hasAttributes = false;
|
||||
params.hasDefault = false;
|
||||
params.hasName = false;
|
||||
|
||||
params.forEach(function(param) {
|
||||
if (!param) { return; }
|
||||
|
||||
if (param.optional || param.nullable || param.variable) {
|
||||
params.hasAttributes = true;
|
||||
}
|
||||
|
||||
if (param.name) {
|
||||
params.hasName = true;
|
||||
}
|
||||
|
||||
if (typeof param.defaultvalue !== 'undefined') {
|
||||
params.hasDefault = true;
|
||||
}
|
||||
});
|
||||
?>
|
||||
|
||||
<table class="params table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<?js if (params.hasName) {?>
|
||||
<th>Name</th>
|
||||
<?js } ?>
|
||||
|
||||
<th>Type</th>
|
||||
|
||||
<?js if (params.hasAttributes) {?>
|
||||
<th>Argument</th>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (params.hasDefault) {?>
|
||||
<th>Default</th>
|
||||
<?js } ?>
|
||||
|
||||
<th class="last">Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<?js
|
||||
var self = this;
|
||||
params.forEach(function(param) {
|
||||
if (!param) { return; }
|
||||
?>
|
||||
|
||||
<tr>
|
||||
<?js if (params.hasName) {?>
|
||||
<td class="name"><code><?js= param.name ?></code></td>
|
||||
<?js } ?>
|
||||
|
||||
<td class="type">
|
||||
<?js if (param.type && param.type.names) {?>
|
||||
<?js= self.partial('type.tmpl', param.type.names) ?>
|
||||
<?js } ?>
|
||||
</td>
|
||||
|
||||
<?js if (params.hasAttributes) {?>
|
||||
<td class="attributes">
|
||||
<?js if (param.optional) { ?>
|
||||
<optional><br>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (param.nullable) { ?>
|
||||
<nullable><br>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (param.variable) { ?>
|
||||
<repeatable><br>
|
||||
<?js } ?>
|
||||
</td>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (params.hasDefault) {?>
|
||||
<td class="default">
|
||||
<?js if (typeof param.defaultvalue !== 'undefined') { ?>
|
||||
<?js= self.htmlsafe(param.defaultvalue) ?>
|
||||
<?js } ?>
|
||||
</td>
|
||||
<?js } ?>
|
||||
|
||||
<td class="description last"><?js= param.description ?><?js if (param.subparams) { ?>
|
||||
<h6>Properties</h6>
|
||||
<?js= self.partial('params.tmpl', param.subparams) ?>
|
||||
<?js } ?></td>
|
||||
</tr>
|
||||
|
||||
<?js }); ?>
|
||||
</tbody>
|
||||
</table>
|
107
Docs/docstrap-master/template/tmpl/properties.tmpl
Normal file
107
Docs/docstrap-master/template/tmpl/properties.tmpl
Normal file
|
@ -0,0 +1,107 @@
|
|||
<?js
|
||||
var props = obj;
|
||||
|
||||
/* sort subprops under their parent props (like opts.classname) */
|
||||
var parentProp = null;
|
||||
props.forEach(function(prop, i) {
|
||||
if (!prop) { return; }
|
||||
if ( parentProp && prop.name && prop.name.indexOf(parentProp.name + '.') === 0 ) {
|
||||
prop.name = prop.name.substr(parentProp.name.length+1);
|
||||
parentProp.subprops = parentProp.subprops || [];
|
||||
parentProp.subprops.push(prop);
|
||||
props[i] = null;
|
||||
}
|
||||
else {
|
||||
parentProp = prop;
|
||||
}
|
||||
});
|
||||
|
||||
/* determine if we need extra columns, "attributes" and "default" */
|
||||
props.hasAttributes = false;
|
||||
props.hasDefault = false;
|
||||
props.hasName = false;
|
||||
|
||||
props.forEach(function(prop) {
|
||||
if (!prop) { return; }
|
||||
|
||||
if (prop.optional || prop.nullable) {
|
||||
props.hasAttributes = true;
|
||||
}
|
||||
|
||||
if (prop.name) {
|
||||
props.hasName = true;
|
||||
}
|
||||
|
||||
if (typeof prop.defaultvalue !== 'undefined') {
|
||||
props.hasDefault = true;
|
||||
}
|
||||
});
|
||||
?>
|
||||
|
||||
<table class="props table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<?js if (props.hasName) {?>
|
||||
<th>Name</th>
|
||||
<?js } ?>
|
||||
|
||||
<th>Type</th>
|
||||
|
||||
<?js if (props.hasAttributes) {?>
|
||||
<th>Argument</th>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (props.hasDefault) {?>
|
||||
<th>Default</th>
|
||||
<?js } ?>
|
||||
|
||||
<th class="last">Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<?js
|
||||
var self = this;
|
||||
props.forEach(function(prop) {
|
||||
if (!prop) { return; }
|
||||
?>
|
||||
|
||||
<tr>
|
||||
<?js if (props.hasName) {?>
|
||||
<td class="name"><code><?js= prop.name ?></code></td>
|
||||
<?js } ?>
|
||||
|
||||
<td class="type">
|
||||
<?js if (prop.type && prop.type.names) {?>
|
||||
<?js= self.partial('type.tmpl', prop.type.names) ?>
|
||||
<?js } ?>
|
||||
</td>
|
||||
|
||||
<?js if (props.hasAttributes) {?>
|
||||
<td class="attributes">
|
||||
<?js if (prop.optional) { ?>
|
||||
<optional><br>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (prop.nullable) { ?>
|
||||
<nullable><br>
|
||||
<?js } ?>
|
||||
</td>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (props.hasDefault) {?>
|
||||
<td class="default">
|
||||
<?js if (typeof prop.defaultvalue !== 'undefined') { ?>
|
||||
<?js= self.htmlsafe(prop.defaultvalue) ?>
|
||||
<?js } ?>
|
||||
</td>
|
||||
<?js } ?>
|
||||
|
||||
<td class="description last"><?js= prop.description ?><?js if (prop.subprops) { ?>
|
||||
<h6>Properties</h6><?js= self.partial('properties.tmpl', prop.subprops) ?>
|
||||
<?js } ?></td>
|
||||
</tr>
|
||||
|
||||
<?js }); ?>
|
||||
</tbody>
|
||||
</table>
|
19
Docs/docstrap-master/template/tmpl/returns.tmpl
Normal file
19
Docs/docstrap-master/template/tmpl/returns.tmpl
Normal file
|
@ -0,0 +1,19 @@
|
|||
<?js
|
||||
var data = obj;
|
||||
if (data.description) {
|
||||
?>
|
||||
<div class="param-desc">
|
||||
<?js= description ?>
|
||||
</div>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (data.type && data.type.names) {?>
|
||||
<dl>
|
||||
<dt>
|
||||
Type
|
||||
</dt>
|
||||
<dd>
|
||||
<?js= this.partial('type.tmpl', data.type.names) ?>
|
||||
</dd>
|
||||
</dl>
|
||||
<?js } ?>
|
5
Docs/docstrap-master/template/tmpl/sections.tmpl
Normal file
5
Docs/docstrap-master/template/tmpl/sections.tmpl
Normal file
|
@ -0,0 +1,5 @@
|
|||
<div class="hero-unit">
|
||||
<ul class="nav nav-pills nav-stacked">
|
||||
|
||||
</ul>
|
||||
</div>
|
8
Docs/docstrap-master/template/tmpl/source.tmpl
Normal file
8
Docs/docstrap-master/template/tmpl/source.tmpl
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?js
|
||||
var data = obj;
|
||||
?>
|
||||
<section>
|
||||
<article>
|
||||
<pre class="sunlight-highlight-javascript <?js= this.navOptions.linenums ? 'linenums' : '' ?>"><?js= data.code ?></pre>
|
||||
</article>
|
||||
</section>
|
19
Docs/docstrap-master/template/tmpl/tutorial.tmpl
Normal file
19
Docs/docstrap-master/template/tmpl/tutorial.tmpl
Normal file
|
@ -0,0 +1,19 @@
|
|||
<section>
|
||||
|
||||
<header>
|
||||
<?js if (children.length > 0) { ?>
|
||||
<ul><?js
|
||||
var self = this;
|
||||
children.forEach(function(t) { ?>
|
||||
<li><?js= self.tutoriallink(t.name) ?></li>
|
||||
<?js }); ?></ul>
|
||||
<?js } ?>
|
||||
|
||||
<h2><?js= header ?></h2>
|
||||
</header>
|
||||
|
||||
<article>
|
||||
<?js= content ?>
|
||||
</article>
|
||||
|
||||
</section>
|
7
Docs/docstrap-master/template/tmpl/type.tmpl
Normal file
7
Docs/docstrap-master/template/tmpl/type.tmpl
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?js
|
||||
var data = obj;
|
||||
var self = this;
|
||||
data.forEach(function(name, i) { ?>
|
||||
<span class="param-type"><?js= self.linkto(name, self.htmlsafe(name)) ?></span>
|
||||
<?js if (i < data.length-1) { ?>|<?js } ?>
|
||||
<?js }); ?>
|
File diff suppressed because it is too large
Load diff
|
@ -1,154 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>JSDoc: Class: FrameData</title>
|
||||
|
||||
<script src="scripts/prettify/prettify.js"> </script>
|
||||
<script src="scripts/prettify/lang-css.js"> </script>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
|
||||
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div id="main">
|
||||
|
||||
<h1 class="page-title">Class: FrameData</h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<section>
|
||||
|
||||
<header>
|
||||
<h2>
|
||||
<span class="ancestors"><a href="Animation-Phaser.Animation.html">.Animation</a>.</span>
|
||||
|
||||
FrameData
|
||||
</h2>
|
||||
|
||||
<div class="class-description">Phaser.Animation.FrameData</div>
|
||||
|
||||
</header>
|
||||
|
||||
<article>
|
||||
<div class="container-overview">
|
||||
|
||||
|
||||
|
||||
|
||||
<dt>
|
||||
<h4 class="name" id="FrameData"><span class="type-signature"></span>new FrameData<span class="signature">()</span><span class="type-signature"></span></h4>
|
||||
|
||||
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<div class="description">
|
||||
FrameData is a container for Frame objects, which are the internal representation of animation data in Phaser.
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
animation/FrameData.js, line 14
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Modules</h3><ul><li><a href="Animation.html">Animation</a></li><li><a href="AnimationManager.html">AnimationManager</a></li></ul><h3>Classes</h3><ul><li><a href="Phaser.Animation.Parser.html">Parser</a></li><li><a href="AnimationManager-Phaser.AnimationManager.html">AnimationManager</a></li><li><a href="Animation-Phaser.Animation.html">Animation</a></li><li><a href="Animation-Phaser.Animation.Frame.html">Frame</a></li><li><a href="Animation-Phaser.Animation.FrameData.html">FrameData</a></li></ul><h3>Namespaces</h3><ul><li><a href="Phaser.html">Phaser</a></li></ul><h3>Global</h3><ul><li><a href="global.html#add">add</a></li><li><a href="global.html#addFrame">addFrame</a></li><li><a href="global.html#checkFrameName">checkFrameName</a></li><li><a href="global.html#destroy">destroy</a></li><li><a href="global.html#generateFrameNames">generateFrameNames</a></li><li><a href="global.html#getFrame">getFrame</a></li><li><a href="global.html#getFrameByName">getFrameByName</a></li><li><a href="global.html#getFrameIndexes">getFrameIndexes</a></li><li><a href="global.html#getFrameRange">getFrameRange</a></li><li><a href="global.html#getFrames">getFrames</a></li><li><a href="global.html#JSONData">JSONData</a></li><li><a href="global.html#JSONDataHash">JSONDataHash</a></li><li><a href="global.html#onComplete">onComplete</a></li><li><a href="global.html#play">play</a></li><li><a href="global.html#restart">restart</a></li><li><a href="global.html#setTrim">setTrim</a></li><li><a href="global.html#spriteSheet">spriteSheet</a></li><li><a href="global.html#stop">stop</a></li><li><a href="global.html#total">total</a></li><li><a href="global.html#update">update</a></li><li><a href="global.html#validateFrames">validateFrames</a></li><li><a href="global.html#XMLData">XMLData</a></li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.0-dev</a> on Tue Oct 01 2013 16:00:44 GMT+0100 (BST)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
<script src="scripts/linenumber.js"> </script>
|
||||
</body>
|
||||
</html>
|
File diff suppressed because it is too large
Load diff
|
@ -1,135 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>JSDoc: Module: Animation</title>
|
||||
|
||||
<script src="scripts/prettify/prettify.js"> </script>
|
||||
<script src="scripts/prettify/lang-css.js"> </script>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
|
||||
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div id="main">
|
||||
|
||||
<h1 class="page-title">Module: Animation</h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<section>
|
||||
|
||||
<header>
|
||||
<h2>
|
||||
<span class="ancestors"><a href="Phaser.html">Phaser</a>.</span>
|
||||
|
||||
Animation
|
||||
</h2>
|
||||
|
||||
</header>
|
||||
|
||||
<article>
|
||||
<div class="container-overview">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-author">Author:</dt>
|
||||
<dd class="tag-author">
|
||||
<ul>
|
||||
<li><a href="mailto:rich@photonstorm.com">Richard Davey</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
<dt class="tag-copyright">Copyright:</dt>
|
||||
<dd class="tag-copyright"><ul class="dummy"><li>2013 Photon Storm Ltd.</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
<dt class="tag-license">License:</dt>
|
||||
<dd class="tag-license"><ul class="dummy"><li><a href="https://github.com/photonstorm/phaser/blob/master/license.txt">MIT License</a></li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
animation/Animation.js, line 1
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Modules</h3><ul><li><a href="module-Phaser.html">Phaser</a></li><li><a href="Animation.html">Animation</a></li><li><a href="Camera.html">Camera</a></li><li><a href="Game.html">Game</a></li></ul><h3>Classes</h3><ul><li><a href="Phaser.Animation.Frame.html">Frame</a></li><li><a href="Phaser.Animation.FrameData.html">FrameData</a></li><li><a href="Phaser.Animation.Parser.html">Parser</a></li><li><a href="Phaser.AnimationManager.html">AnimationManager</a></li><li><a href="Phaser.Group.html">Group</a></li><li><a href="Animation-Phaser.Animation.html">Animation</a></li><li><a href="Camera-Phaser.Camera.html">Camera</a></li><li><a href="Game-Phaser.Game.html">Game</a></li></ul><h3>Namespaces</h3><ul><li><a href="Phaser.html">Phaser</a></li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.0-dev</a> on Tue Oct 01 2013 16:44:22 GMT+0100 (BST)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
<script src="scripts/linenumber.js"> </script>
|
||||
</body>
|
||||
</html>
|
581
Docs/out/Animation.js.html
Normal file
581
Docs/out/Animation.js.html
Normal file
|
@ -0,0 +1,581 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Phaser Source: animation/Animation.js</title>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
||||
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.cerulean.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="navbar navbar-fixed-top navbar-inverse">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="index.html">Phaser</a>
|
||||
<ul class="nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="module-Phaser.html">Phaser</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="classes.list.html" class="dropdown-toggle" data-toggle="dropdown">Classes<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Animation.html">Animation</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Animation.Frame.html">Frame</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Animation.FrameData.html">FrameData</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Animation.Parser.html">Parser</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.AnimationManager.html">AnimationManager</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Camera.html">Camera</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Game.html">Game</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Group.html">Group</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
|
||||
<div class="span12">
|
||||
|
||||
<div id="main">
|
||||
|
||||
|
||||
|
||||
<h1 class="page-title">Source: animation/Animation.js</h1>
|
||||
|
||||
<section>
|
||||
<article>
|
||||
<pre class="sunlight-highlight-javascript linenums">/**
|
||||
* @author Richard Davey <rich@photonstorm.com>
|
||||
* @copyright 2013 Photon Storm Ltd.
|
||||
* @license {@link https://github.com/photonstorm/phaser/blob/master/license.txt|MIT License}
|
||||
*/
|
||||
|
||||
/**
|
||||
* An Animation instance contains a single animation and the controls to play it.
|
||||
* It is created by the AnimationManager, consists of Animation.Frame objects and belongs to a single Game Object such as a Sprite.
|
||||
*
|
||||
* @class Phaser.Animation
|
||||
* @constructor
|
||||
* @param {Phaser.Game} game - A reference to the currently running game.
|
||||
* @param {Phaser.Sprite} parent - A reference to the owner of this Animation.
|
||||
* @param {string} name - The unique name for this animation, used in playback commands.
|
||||
* @param {Phaser.Animation.FrameData} frameData - The FrameData object that contains all frames used by this Animation.
|
||||
* @param {(Array.<number>|Array.<string>)} frames - An array of numbers or strings indicating which frames to play in which order.
|
||||
* @param {number} delay - The time between each frame of the animation, given in ms.
|
||||
* @param {boolean} looped - Should this animation loop or play through once.
|
||||
*/
|
||||
Phaser.Animation = function (game, parent, name, frameData, frames, delay, looped) {
|
||||
|
||||
/**
|
||||
* @property {Phaser.Game} game - A reference to the currently running Game.
|
||||
*/
|
||||
this.game = game;
|
||||
|
||||
/**
|
||||
* @property {Phaser.Sprite} _parent - A reference to the parent Sprite that owns this Animation.
|
||||
* @private
|
||||
*/
|
||||
this._parent = parent;
|
||||
|
||||
/**
|
||||
* @property {Phaser.FrameData} _frameData - The FrameData the Animation uses.
|
||||
* @private
|
||||
*/
|
||||
this._frameData = frameData;
|
||||
|
||||
/**
|
||||
* @property {string} name - The user defined name given to this Animation.
|
||||
*/
|
||||
this.name = name;
|
||||
|
||||
/**
|
||||
* @property {object} _frames
|
||||
* @private
|
||||
*/
|
||||
this._frames = [];
|
||||
this._frames = this._frames.concat(frames);
|
||||
|
||||
/**
|
||||
* @property {number} delay - The delay in ms between each frame of the Animation.
|
||||
*/
|
||||
this.delay = 1000 / delay;
|
||||
|
||||
/**
|
||||
* @property {boolean} looped - The loop state of the Animation.
|
||||
*/
|
||||
this.looped = looped;
|
||||
|
||||
/**
|
||||
* @property {boolean} isFinished - The finished state of the Animation. Set to true once playback completes, false during playback.
|
||||
* @default
|
||||
*/
|
||||
this.isFinished = false;
|
||||
|
||||
/**
|
||||
* @property {boolean} isPlaying - The playing state of the Animation. Set to false once playback completes, true during playback.
|
||||
* @default
|
||||
*/
|
||||
this.isPlaying = false;
|
||||
|
||||
/**
|
||||
* @property {boolean} isPaused - The paused state of the Animation.
|
||||
* @default
|
||||
*/
|
||||
this.isPaused = false;
|
||||
|
||||
/**
|
||||
* @property {boolean} _pauseStartTime - The time the animation paused.
|
||||
* @private
|
||||
* @default
|
||||
*/
|
||||
this._pauseStartTime = 0;
|
||||
|
||||
/**
|
||||
* @property {number} _frameIndex
|
||||
* @private
|
||||
* @default
|
||||
*/
|
||||
this._frameIndex = 0;
|
||||
|
||||
/**
|
||||
* @property {number} _frameDiff
|
||||
* @private
|
||||
* @default
|
||||
*/
|
||||
this._frameDiff = 0;
|
||||
|
||||
/**
|
||||
* @property {number} _frameSkip
|
||||
* @private
|
||||
* @default
|
||||
*/
|
||||
this._frameSkip = 1;
|
||||
|
||||
/**
|
||||
* @property {Phaser.Animation.Frame} currentFrame - The currently displayed frame of the Animation.
|
||||
*/
|
||||
this.currentFrame = this._frameData.getFrame(this._frames[this._frameIndex]);
|
||||
|
||||
};
|
||||
|
||||
Phaser.Animation.prototype = {
|
||||
|
||||
/**
|
||||
* Plays this animation.
|
||||
*
|
||||
* @method Phaser.Animation#play
|
||||
* @memberof Phaser.Animation
|
||||
* @param {number} [frameRate=null] - The framerate to play the animation at. The speed is given in frames per second. If not provided the previously set frameRate of the Animation is used.
|
||||
* @param {boolean} [loop=null] - Should the animation be looped after playback. If not provided the previously set loop value of the Animation is used.
|
||||
* @return {Phaser.Animation} - A reference to this Animation instance.
|
||||
*/
|
||||
play: function (frameRate, loop) {
|
||||
|
||||
if (typeof frameRate === 'number')
|
||||
{
|
||||
// If they set a new frame rate then use it, otherwise use the one set on creation
|
||||
this.delay = 1000 / frameRate;
|
||||
}
|
||||
|
||||
if (typeof loop === 'boolean')
|
||||
{
|
||||
// If they set a new loop value then use it, otherwise use the one set on creation
|
||||
this.looped = loop;
|
||||
}
|
||||
|
||||
this.isPlaying = true;
|
||||
this.isFinished = false;
|
||||
|
||||
this._timeLastFrame = this.game.time.now;
|
||||
this._timeNextFrame = this.game.time.now + this.delay;
|
||||
|
||||
this._frameIndex = 0;
|
||||
|
||||
this.currentFrame = this._frameData.getFrame(this._frames[this._frameIndex]);
|
||||
this._parent.setTexture(PIXI.TextureCache[this.currentFrame.uuid]);
|
||||
|
||||
if (this._parent.events)
|
||||
{
|
||||
this._parent.events.onAnimationStart.dispatch(this._parent, this);
|
||||
}
|
||||
|
||||
return this;
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Sets this animation back to the first frame and restarts the animation.
|
||||
*
|
||||
* @method Phaser.Animation#restart
|
||||
* @memberof Phaser.Animation
|
||||
*/
|
||||
restart: function () {
|
||||
|
||||
this.isPlaying = true;
|
||||
this.isFinished = false;
|
||||
|
||||
this._timeLastFrame = this.game.time.now;
|
||||
this._timeNextFrame = this.game.time.now + this.delay;
|
||||
|
||||
this._frameIndex = 0;
|
||||
|
||||
this.currentFrame = this._frameData.getFrame(this._frames[this._frameIndex]);
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Stops playback of this animation and set it to a finished state. If a resetFrame is provided it will stop playback and set frame to the first in the animation.
|
||||
*
|
||||
* @method Phaser.Animation#stop
|
||||
* @memberof Phaser.Animation
|
||||
* @param {boolean} [resetFrame=false] - If true after the animation stops the currentFrame value will be set to the first frame in this animation.
|
||||
*/
|
||||
stop: function (resetFrame) {
|
||||
|
||||
if (typeof resetFrame === 'undefined') { resetFrame = false; }
|
||||
|
||||
this.isPlaying = false;
|
||||
this.isFinished = true;
|
||||
|
||||
if (resetFrame)
|
||||
{
|
||||
this.currentFrame = this._frameData.getFrame(this._frames[0]);
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Updates this animation. Called automatically by the AnimationManager.
|
||||
*
|
||||
* @method Phaser.Animation#update
|
||||
* @memberof Phaser.Animation
|
||||
*/
|
||||
update: function () {
|
||||
|
||||
if (this.isPaused)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (this.isPlaying == true && this.game.time.now >= this._timeNextFrame)
|
||||
{
|
||||
this._frameSkip = 1;
|
||||
|
||||
// Lagging?
|
||||
this._frameDiff = this.game.time.now - this._timeNextFrame;
|
||||
|
||||
this._timeLastFrame = this.game.time.now;
|
||||
|
||||
if (this._frameDiff > this.delay)
|
||||
{
|
||||
// We need to skip a frame, work out how many
|
||||
this._frameSkip = Math.floor(this._frameDiff / this.delay);
|
||||
|
||||
this._frameDiff -= (this._frameSkip * this.delay);
|
||||
}
|
||||
|
||||
// And what's left now?
|
||||
this._timeNextFrame = this.game.time.now + (this.delay - this._frameDiff);
|
||||
|
||||
this._frameIndex += this._frameSkip;
|
||||
|
||||
if (this._frameIndex >= this._frames.length)
|
||||
{
|
||||
if (this.looped)
|
||||
{
|
||||
this._frameIndex %= this._frames.length;
|
||||
this.currentFrame = this._frameData.getFrame(this._frames[this._frameIndex]);
|
||||
|
||||
if (this.currentFrame)
|
||||
{
|
||||
this._parent.setTexture(PIXI.TextureCache[this.currentFrame.uuid]);
|
||||
}
|
||||
|
||||
this._parent.events.onAnimationLoop.dispatch(this._parent, this);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.onComplete();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this.currentFrame = this._frameData.getFrame(this._frames[this._frameIndex]);
|
||||
this._parent.setTexture(PIXI.TextureCache[this.currentFrame.uuid]);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Cleans up this animation ready for deletion. Nulls all values and references.
|
||||
*
|
||||
* @method Phaser.Animation#destroy
|
||||
* @memberof Phaser.Animation
|
||||
*/
|
||||
destroy: function () {
|
||||
|
||||
this.game = null;
|
||||
this._parent = null;
|
||||
this._frames = null;
|
||||
this._frameData = null;
|
||||
this.currentFrame = null;
|
||||
this.isPlaying = false;
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Called internally when the animation finishes playback. Sets the isPlaying and isFinished states and dispatches the onAnimationComplete event if it exists on the parent.
|
||||
*
|
||||
* @method Phaser.Animation#onComplete
|
||||
* @memberof Phaser.Animation
|
||||
*/
|
||||
onComplete: function () {
|
||||
|
||||
this.isPlaying = false;
|
||||
this.isFinished = true;
|
||||
|
||||
if (this._parent.events)
|
||||
{
|
||||
this._parent.events.onAnimationComplete.dispatch(this._parent, this);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* @name Phaser.Animation#paused
|
||||
* @property {boolean} paused - Gets and sets the paused state of this Animation.
|
||||
*/
|
||||
Object.defineProperty(Phaser.Animation.prototype, "paused", {
|
||||
|
||||
get: function () {
|
||||
|
||||
return this.isPaused;
|
||||
|
||||
},
|
||||
|
||||
set: function (value) {
|
||||
|
||||
this.isPaused = value;
|
||||
|
||||
if (value)
|
||||
{
|
||||
// Paused
|
||||
this._pauseStartTime = this.game.time.now;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Un-paused
|
||||
if (this.isPlaying)
|
||||
{
|
||||
this._timeNextFrame = this.game.time.now + this.delay;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
/**
|
||||
* @name Phaser.Animation#frameTotal
|
||||
* @property {number} frameTotal - The total number of frames in the currently loaded FrameData, or -1 if no FrameData is loaded.
|
||||
*/
|
||||
Object.defineProperty(Phaser.Animation.prototype, "frameTotal", {
|
||||
|
||||
get: function () {
|
||||
return this._frames.length;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
/**
|
||||
* @name Phaser.Animation#frame
|
||||
* @property {number} frame - Gets or sets the current frame index and updates the Texture Cache for display.
|
||||
*/
|
||||
Object.defineProperty(Phaser.Animation.prototype, "frame", {
|
||||
|
||||
get: function () {
|
||||
|
||||
if (this.currentFrame !== null)
|
||||
{
|
||||
return this.currentFrame.index;
|
||||
}
|
||||
else
|
||||
{
|
||||
return this._frameIndex;
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
set: function (value) {
|
||||
|
||||
this.currentFrame = this._frameData.getFrame(value);
|
||||
|
||||
if (this.currentFrame !== null)
|
||||
{
|
||||
this._frameIndex = value;
|
||||
this._parent.setTexture(PIXI.TextureCache[this.currentFrame.uuid]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
/**
|
||||
* Really handy function for when you are creating arrays of animation data but it's using frame names and not numbers.
|
||||
* For example imagine you've got 30 frames named: 'explosion_0001-large' to 'explosion_0030-large'
|
||||
* You could use this function to generate those by doing: Phaser.Animation.generateFrameNames('explosion_', 1, 30, '-large', 4);
|
||||
*
|
||||
* @method Phaser.Animation.generateFrameNames
|
||||
* @param {string} prefix - The start of the filename. If the filename was 'explosion_0001-large' the prefix would be 'explosion_'.
|
||||
* @param {number} min - The number to start sequentially counting from. If your frames are named 'explosion_0001' to 'explosion_0034' the min is 1.
|
||||
* @param {number} max - The number to count up to. If your frames are named 'explosion_0001' to 'explosion_0034' the max is 34.
|
||||
* @param {string} [suffix=''] - The end of the filename. If the filename was 'explosion_0001-large' the prefix would be '-large'.
|
||||
* @param {number} [zeroPad=0] - The number of zeroes to pad the min and max values with. If your frames are named 'explosion_0001' to 'explosion_0034' then the zeroPad is 4.
|
||||
*/
|
||||
Phaser.Animation.generateFrameNames = function (prefix, min, max, suffix, zeroPad) {
|
||||
|
||||
if (typeof suffix == 'undefined') { suffix = ''; }
|
||||
|
||||
var output = [];
|
||||
var frame = '';
|
||||
|
||||
for (var i = min; i <= max; i++)
|
||||
{
|
||||
if (typeof zeroPad == 'number')
|
||||
{
|
||||
// str, len, pad, dir
|
||||
frame = Phaser.Utils.pad(i.toString(), zeroPad, '0', 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
frame = i.toString();
|
||||
}
|
||||
|
||||
frame = prefix + frame + suffix;
|
||||
|
||||
output.push(frame);
|
||||
}
|
||||
|
||||
return output;
|
||||
|
||||
}
|
||||
</pre>
|
||||
</article>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<footer>
|
||||
|
||||
|
||||
<span class="copyright">
|
||||
Phaser Copyright © 2012-2013 Photon Storm Ltd.
|
||||
</span>
|
||||
<br />
|
||||
|
||||
<span class="jsdoc-message">
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.0-dev</a>
|
||||
on Wed Oct 02 2013 01:12:17 GMT+0100 (BST) using the <a href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<br clear="both">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script src="scripts/sunlight.js"></script>
|
||||
<script src="scripts/sunlight.javascript.js"></script>
|
||||
<script src="scripts/sunlight-plugin.doclinks.js"></script>
|
||||
<script src="scripts/sunlight-plugin.linenumbers.js"></script>
|
||||
<script src="scripts/sunlight-plugin.menu.js"></script>
|
||||
<script src="scripts/jquery.min.js"></script>
|
||||
<script src="scripts/jquery.scrollTo.js"></script>
|
||||
<script src="scripts/jquery.localScroll.js"></script>
|
||||
<script src="scripts/bootstrap-dropdown.js"></script>
|
||||
<script src="scripts/toc.js"></script>
|
||||
|
||||
|
||||
<script> Sunlight.highlightAll({lineNumbers:true, showMenu: true, enableDoclinks :true}); </script>
|
||||
|
||||
<script>
|
||||
$( function () {
|
||||
$( "#toc" ).toc( {
|
||||
selectors : "h1,h2,h3,h4",
|
||||
showAndHide : false,
|
||||
scrollTo : 60
|
||||
} );
|
||||
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
||||
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
||||
|
||||
} );
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
File diff suppressed because it is too large
Load diff
|
@ -1,58 +1,101 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>JSDoc: Module: AnimationManager</title>
|
||||
|
||||
<script src="scripts/prettify/prettify.js"> </script>
|
||||
<script src="scripts/prettify/lang-css.js"> </script>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
|
||||
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
|
||||
<meta charset="utf-8">
|
||||
<title>Phaser Module: AnimationManager</title>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
||||
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.cerulean.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="navbar navbar-fixed-top navbar-inverse">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="index.html">Phaser</a>
|
||||
<ul class="nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<div id="main">
|
||||
|
||||
<h1 class="page-title">Module: AnimationManager</h1>
|
||||
|
||||
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="module-Phaser.html">Phaser</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="AnimationManager.html">AnimationManager</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="classes.list.html" class="dropdown-toggle" data-toggle="dropdown">Classes<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="AnimationManager-Phaser.AnimationManager.html">AnimationManager</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
|
||||
<div class="span8">
|
||||
|
||||
<div id="main">
|
||||
|
||||
|
||||
|
||||
<h1 class="page-title">Module: AnimationManager</h1>
|
||||
<section>
|
||||
|
||||
|
||||
<header>
|
||||
<h2>
|
||||
<span class="ancestors"><a href="Phaser.html">Phaser</a>.</span>
|
||||
|
||||
AnimationManager
|
||||
</h2>
|
||||
|
||||
</header>
|
||||
</header>
|
||||
|
||||
<article>
|
||||
<div class="container-overview">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-author">Author:</dt>
|
||||
<dd class="tag-author">
|
||||
|
@ -61,75 +104,117 @@
|
|||
</ul>
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-copyright">Copyright:</dt>
|
||||
<dd class="tag-copyright"><ul class="dummy"><li>2013 Photon Storm Ltd.</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-license">License:</dt>
|
||||
<dd class="tag-license"><ul class="dummy"><li><a href="https://github.com/photonstorm/phaser/blob/master/license.txt">MIT License</a></li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
animation/AnimationManager.js, line 1
|
||||
<a href="AnimationManager.js.html">animation/AnimationManager.js</a>, <a href="AnimationManager.js.html#sunlight-1-line-1">line 1</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Modules</h3><ul><li><a href="Animation.html">Animation</a></li><li><a href="AnimationManager.html">AnimationManager</a></li></ul><h3>Classes</h3><ul><li><a href="Phaser.Animation.Parser.html">Parser</a></li><li><a href="AnimationManager-Phaser.AnimationManager.html">AnimationManager</a></li><li><a href="Animation-Phaser.Animation.html">Animation</a></li><li><a href="Animation-Phaser.Animation.Frame.html">Frame</a></li><li><a href="Animation-Phaser.Animation.FrameData.html">FrameData</a></li></ul><h3>Namespaces</h3><ul><li><a href="Phaser.html">Phaser</a></li></ul><h3>Global</h3><ul><li><a href="global.html#add">add</a></li><li><a href="global.html#addFrame">addFrame</a></li><li><a href="global.html#checkFrameName">checkFrameName</a></li><li><a href="global.html#destroy">destroy</a></li><li><a href="global.html#generateFrameNames">generateFrameNames</a></li><li><a href="global.html#getFrame">getFrame</a></li><li><a href="global.html#getFrameByName">getFrameByName</a></li><li><a href="global.html#getFrameIndexes">getFrameIndexes</a></li><li><a href="global.html#getFrameRange">getFrameRange</a></li><li><a href="global.html#getFrames">getFrames</a></li><li><a href="global.html#JSONData">JSONData</a></li><li><a href="global.html#JSONDataHash">JSONDataHash</a></li><li><a href="global.html#onComplete">onComplete</a></li><li><a href="global.html#play">play</a></li><li><a href="global.html#restart">restart</a></li><li><a href="global.html#setTrim">setTrim</a></li><li><a href="global.html#spriteSheet">spriteSheet</a></li><li><a href="global.html#stop">stop</a></li><li><a href="global.html#total">total</a></li><li><a href="global.html#update">update</a></li><li><a href="global.html#validateFrames">validateFrames</a></li><li><a href="global.html#XMLData">XMLData</a></li></ul>
|
||||
</nav>
|
||||
<div class="clearfix"></div>
|
||||
<footer>
|
||||
|
||||
|
||||
<span class="copyright">
|
||||
Phaser Copyright © 2012-2013 Photon Storm Ltd.
|
||||
</span>
|
||||
<br />
|
||||
|
||||
<span class="jsdoc-message">
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.0-dev</a>
|
||||
on Tue Oct 01 2013 23:59:05 GMT+0100 (BST) using the <a href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<div class="span3">
|
||||
<div id="toc"></div>
|
||||
</div>
|
||||
|
||||
<br clear="both">
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.0-dev</a> on Tue Oct 01 2013 16:00:44 GMT+0100 (BST)
|
||||
</footer>
|
||||
</div>
|
||||
<script src="scripts/sunlight.js"></script>
|
||||
<script src="scripts/sunlight.javascript.js"></script>
|
||||
<script src="scripts/sunlight-plugin.doclinks.js"></script>
|
||||
<script src="scripts/sunlight-plugin.linenumbers.js"></script>
|
||||
<script src="scripts/sunlight-plugin.menu.js"></script>
|
||||
<script src="scripts/jquery.min.js"></script>
|
||||
<script src="scripts/jquery.scrollTo.js"></script>
|
||||
<script src="scripts/jquery.localScroll.js"></script>
|
||||
<script src="scripts/bootstrap-dropdown.js"></script>
|
||||
<script src="scripts/toc.js"></script>
|
||||
|
||||
|
||||
<script> Sunlight.highlightAll({lineNumbers:true, showMenu: true, enableDoclinks :true}); </script>
|
||||
|
||||
<script>
|
||||
$( function () {
|
||||
$( "#toc" ).toc( {
|
||||
selectors : "h1,h2,h3,h4",
|
||||
showAndHide : false,
|
||||
scrollTo : 60
|
||||
} );
|
||||
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
||||
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
||||
|
||||
} );
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
<script src="scripts/linenumber.js"> </script>
|
||||
</body>
|
||||
</html>
|
529
Docs/out/AnimationManager.js.html
Normal file
529
Docs/out/AnimationManager.js.html
Normal file
|
@ -0,0 +1,529 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Phaser Source: animation/AnimationManager.js</title>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
||||
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.cerulean.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="navbar navbar-fixed-top navbar-inverse">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="index.html">Phaser</a>
|
||||
<ul class="nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="module-Phaser.html">Phaser</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="classes.list.html" class="dropdown-toggle" data-toggle="dropdown">Classes<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Animation.html">Animation</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Animation.Frame.html">Frame</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Animation.FrameData.html">FrameData</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Animation.Parser.html">Parser</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.AnimationManager.html">AnimationManager</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Camera.html">Camera</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Game.html">Game</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Group.html">Group</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
|
||||
<div class="span12">
|
||||
|
||||
<div id="main">
|
||||
|
||||
|
||||
|
||||
<h1 class="page-title">Source: animation/AnimationManager.js</h1>
|
||||
|
||||
<section>
|
||||
<article>
|
||||
<pre class="sunlight-highlight-javascript linenums">/**
|
||||
* @author Richard Davey <rich@photonstorm.com>
|
||||
* @copyright 2013 Photon Storm Ltd.
|
||||
* @license {@link https://github.com/photonstorm/phaser/blob/master/license.txt|MIT License}
|
||||
*/
|
||||
|
||||
/**
|
||||
* The Animation Manager is used to add, play and update Phaser Animations.
|
||||
* Any Game Object such as Phaser.Sprite that supports animation contains a single AnimationManager instance.
|
||||
*
|
||||
* @class Phaser.AnimationManager
|
||||
* @constructor
|
||||
* @param {Phaser.Sprite} sprite - A reference to the Game Object that owns this AnimationManager.
|
||||
*/
|
||||
Phaser.AnimationManager = function (sprite) {
|
||||
|
||||
/**
|
||||
* @property {Phaser.Sprite} sprite - A reference to the parent Sprite that owns this AnimationManager.
|
||||
*/
|
||||
this.sprite = sprite;
|
||||
|
||||
/**
|
||||
* @property {Phaser.Game} game - A reference to the currently running Game.
|
||||
*/
|
||||
this.game = sprite.game;
|
||||
|
||||
/**
|
||||
* @property {Phaser.Animation.Frame} currentFrame - The currently displayed Frame of animation, if any.
|
||||
* @default
|
||||
*/
|
||||
this.currentFrame = null;
|
||||
|
||||
/**
|
||||
* @property {boolean} updateIfVisible - Should the animation data continue to update even if the Sprite.visible is set to false.
|
||||
* @default
|
||||
*/
|
||||
this.updateIfVisible = true;
|
||||
|
||||
/**
|
||||
* @property {Phaser.Animation.FrameData} _frameData - A temp. var for holding the currently playing Animations FrameData.
|
||||
* @private
|
||||
* @default
|
||||
*/
|
||||
this._frameData = null;
|
||||
|
||||
/**
|
||||
* @property {object} _anims - An internal object that stores all of the Animation instances.
|
||||
* @private
|
||||
*/
|
||||
this._anims = {};
|
||||
|
||||
/**
|
||||
* @property {object} _outputFrames - An internal object to help avoid gc.
|
||||
* @private
|
||||
*/
|
||||
this._outputFrames = [];
|
||||
|
||||
};
|
||||
|
||||
Phaser.AnimationManager.prototype = {
|
||||
|
||||
/**
|
||||
* Loads FrameData into the internal temporary vars and resets the frame index to zero.
|
||||
* This is called automatically when a new Sprite is created.
|
||||
*
|
||||
* @method Phaser.AnimationManager#loadFrameData
|
||||
* @private
|
||||
* @param {Phaser.Animation.FrameData} frameData - The FrameData set to load.
|
||||
*/
|
||||
loadFrameData: function (frameData) {
|
||||
|
||||
this._frameData = frameData;
|
||||
this.frame = 0;
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Adds a new animation under the given key. Optionally set the frames, frame rate and loop.
|
||||
* Animations added in this way are played back with the play function.
|
||||
*
|
||||
* @method Phaser.AnimationManager#add
|
||||
* @param {string} name - The unique (within this Sprite) name for the animation, i.e. "run", "fire", "walk".
|
||||
* @param {Array} [frames=null] - An array of numbers/strings that correspond to the frames to add to this animation and in which order. e.g. [1, 2, 3] or ['run0', 'run1', run2]). If null then all frames will be used.
|
||||
* @param {number} [frameRate=60] - The speed at which the animation should play. The speed is given in frames per second.
|
||||
* @param {boolean} [loop=false] - Whether or not the animation is looped or just plays once.
|
||||
* @param {boolean} [useNumericIndex=true] - Are the given frames using numeric indexes (default) or strings?
|
||||
* @return {Phaser.Animation} The Animation object that was created.
|
||||
*/
|
||||
add: function (name, frames, frameRate, loop, useNumericIndex) {
|
||||
|
||||
if (this._frameData == null)
|
||||
{
|
||||
console.warn('No FrameData available for Phaser.Animation ' + name);
|
||||
return;
|
||||
}
|
||||
|
||||
frameRate = frameRate || 60;
|
||||
|
||||
if (typeof loop === 'undefined') { loop = false; }
|
||||
if (typeof useNumericIndex === 'undefined') { useNumericIndex = true; }
|
||||
|
||||
// Create the signals the AnimationManager will emit
|
||||
if (this.sprite.events.onAnimationStart == null)
|
||||
{
|
||||
this.sprite.events.onAnimationStart = new Phaser.Signal();
|
||||
this.sprite.events.onAnimationComplete = new Phaser.Signal();
|
||||
this.sprite.events.onAnimationLoop = new Phaser.Signal();
|
||||
}
|
||||
|
||||
this._outputFrames.length = 0;
|
||||
|
||||
this._frameData.getFrameIndexes(frames, useNumericIndex, this._outputFrames);
|
||||
|
||||
this._anims[name] = new Phaser.Animation(this.game, this.sprite, name, this._frameData, this._outputFrames, frameRate, loop);
|
||||
this.currentAnim = this._anims[name];
|
||||
this.currentFrame = this.currentAnim.currentFrame;
|
||||
this.sprite.setTexture(PIXI.TextureCache[this.currentFrame.uuid]);
|
||||
|
||||
return this._anims[name];
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Check whether the frames in the given array are valid and exist.
|
||||
*
|
||||
* @method Phaser.AnimationManager#validateFrames
|
||||
* @param {Array} frames - An array of frames to be validated.
|
||||
* @param {boolean} [useNumericIndex=true] - Validate the frames based on their numeric index (true) or string index (false)
|
||||
* @return {boolean} True if all given Frames are valid, otherwise false.
|
||||
*/
|
||||
validateFrames: function (frames, useNumericIndex) {
|
||||
|
||||
if (typeof useNumericIndex == 'undefined') { useNumericIndex = true; }
|
||||
|
||||
for (var i = 0; i < frames.length; i++)
|
||||
{
|
||||
if (useNumericIndex == true)
|
||||
{
|
||||
if (frames[i] > this._frameData.total)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (this._frameData.checkFrameName(frames[i]) == false)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Play an animation based on the given key. The animation should previously have been added via sprite.animations.add()
|
||||
* If the requested animation is already playing this request will be ignored. If you need to reset an already running animation do so directly on the Animation object itself.
|
||||
*
|
||||
* @method Phaser.AnimationManager#play
|
||||
* @param {string} name - The name of the animation to be played, e.g. "fire", "walk", "jump".
|
||||
* @param {number} [frameRate=null] - The framerate to play the animation at. The speed is given in frames per second. If not provided the previously set frameRate of the Animation is used.
|
||||
* @param {boolean} [loop=null] - Should the animation be looped after playback. If not provided the previously set loop value of the Animation is used.
|
||||
* @return {Phaser.Animation} A reference to playing Animation instance.
|
||||
*/
|
||||
play: function (name, frameRate, loop) {
|
||||
|
||||
if (this._anims[name])
|
||||
{
|
||||
if (this.currentAnim == this._anims[name])
|
||||
{
|
||||
if (this.currentAnim.isPlaying == false)
|
||||
{
|
||||
return this.currentAnim.play(frameRate, loop);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this.currentAnim = this._anims[name];
|
||||
return this.currentAnim.play(frameRate, loop);
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Stop playback of an animation. If a name is given that specific animation is stopped, otherwise the current animation is stopped.
|
||||
* The currentAnim property of the AnimationManager is automatically set to the animation given.
|
||||
*
|
||||
* @method Phaser.AnimationManager#stop
|
||||
* @param {string} [name=null] - The name of the animation to be stopped, e.g. "fire". If none is given the currently running animation is stopped.
|
||||
* @param {boolean} [resetFrame=false] - When the animation is stopped should the currentFrame be set to the first frame of the animation (true) or paused on the last frame displayed (false)
|
||||
*/
|
||||
stop: function (name, resetFrame) {
|
||||
|
||||
if (typeof resetFrame == 'undefined') { resetFrame = false; }
|
||||
|
||||
if (typeof name == 'string')
|
||||
{
|
||||
if (this._anims[name])
|
||||
{
|
||||
this.currentAnim = this._anims[name];
|
||||
this.currentAnim.stop(resetFrame);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (this.currentAnim)
|
||||
{
|
||||
this.currentAnim.stop(resetFrame);
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* The main update function is called by the Sprites update loop. It's responsible for updating animation frames and firing related events.
|
||||
*
|
||||
* @method Phaser.AnimationManager#update
|
||||
* @protected
|
||||
* @return {boolean} True if a new animation frame has been set, otherwise false.
|
||||
*/
|
||||
update: function () {
|
||||
|
||||
if (this.updateIfVisible && this.sprite.visible == false)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (this.currentAnim && this.currentAnim.update() == true)
|
||||
{
|
||||
this.currentFrame = this.currentAnim.currentFrame;
|
||||
this.sprite.currentFrame = this.currentFrame;
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Destroys all references this AnimationManager contains. Sets the _anims to a new object and nulls the current animation.
|
||||
*
|
||||
* @method Phaser.AnimationManager#destroy
|
||||
*/
|
||||
destroy: function () {
|
||||
|
||||
this._anims = {};
|
||||
this._frameData = null;
|
||||
this._frameIndex = 0;
|
||||
this.currentAnim = null;
|
||||
this.currentFrame = null;
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* @name Phaser.AnimationManager#frameData
|
||||
* @property {Phaser.Animation.FrameData} frameData - The current animations FrameData.
|
||||
*/
|
||||
Object.defineProperty(Phaser.AnimationManager.prototype, "frameData", {
|
||||
|
||||
get: function () {
|
||||
return this._frameData;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
/**
|
||||
* @name Phaser.AnimationManager#frameTotal
|
||||
* @property {number} frameTotal - The total number of frames in the currently loaded FrameData, or -1 if no FrameData is loaded.
|
||||
*/
|
||||
Object.defineProperty(Phaser.AnimationManager.prototype, "frameTotal", {
|
||||
|
||||
get: function () {
|
||||
|
||||
if (this._frameData)
|
||||
{
|
||||
return this._frameData.total;
|
||||
}
|
||||
else
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
/**
|
||||
* @name Phaser.AnimationManager#paused
|
||||
* @property {boolean} paused - Gets and sets the paused state of the current animation.
|
||||
*/
|
||||
Object.defineProperty(Phaser.AnimationManager.prototype, "paused", {
|
||||
|
||||
get: function () {
|
||||
|
||||
return this.currentAnim.isPaused;
|
||||
|
||||
},
|
||||
|
||||
set: function (value) {
|
||||
|
||||
this.currentAnim.paused = value;
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
/**
|
||||
* @name Phaser.AnimationManager#frame
|
||||
* @property {number} frame - Gets or sets the current frame index and updates the Texture Cache for display.
|
||||
*/
|
||||
Object.defineProperty(Phaser.AnimationManager.prototype, "frame", {
|
||||
|
||||
get: function () {
|
||||
|
||||
if (this.currentFrame)
|
||||
{
|
||||
return this._frameIndex;
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
set: function (value) {
|
||||
|
||||
if (this._frameData && this._frameData.getFrame(value) !== null)
|
||||
{
|
||||
this.currentFrame = this._frameData.getFrame(value);
|
||||
this._frameIndex = value;
|
||||
this.sprite.currentFrame = this.currentFrame;
|
||||
this.sprite.setTexture(PIXI.TextureCache[this.currentFrame.uuid]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
/**
|
||||
* @name Phaser.AnimationManager#frameName
|
||||
* @property {string} frameName - Gets or sets the current frame name and updates the Texture Cache for display.
|
||||
*/
|
||||
Object.defineProperty(Phaser.AnimationManager.prototype, "frameName", {
|
||||
|
||||
get: function () {
|
||||
|
||||
if (this.currentFrame)
|
||||
{
|
||||
return this.currentFrame.name;
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
set: function (value) {
|
||||
|
||||
if (this._frameData && this._frameData.getFrameByName(value) !== null)
|
||||
{
|
||||
this.currentFrame = this._frameData.getFrameByName(value);
|
||||
this._frameIndex = this.currentFrame.index;
|
||||
this.sprite.currentFrame = this.currentFrame;
|
||||
this.sprite.setTexture(PIXI.TextureCache[this.currentFrame.uuid]);
|
||||
}
|
||||
else
|
||||
{
|
||||
console.warn("Cannot set frameName: " + value);
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
</pre>
|
||||
</article>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<footer>
|
||||
|
||||
|
||||
<span class="copyright">
|
||||
Phaser Copyright © 2012-2013 Photon Storm Ltd.
|
||||
</span>
|
||||
<br />
|
||||
|
||||
<span class="jsdoc-message">
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.0-dev</a>
|
||||
on Wed Oct 02 2013 01:12:17 GMT+0100 (BST) using the <a href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<br clear="both">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script src="scripts/sunlight.js"></script>
|
||||
<script src="scripts/sunlight.javascript.js"></script>
|
||||
<script src="scripts/sunlight-plugin.doclinks.js"></script>
|
||||
<script src="scripts/sunlight-plugin.linenumbers.js"></script>
|
||||
<script src="scripts/sunlight-plugin.menu.js"></script>
|
||||
<script src="scripts/jquery.min.js"></script>
|
||||
<script src="scripts/jquery.scrollTo.js"></script>
|
||||
<script src="scripts/jquery.localScroll.js"></script>
|
||||
<script src="scripts/bootstrap-dropdown.js"></script>
|
||||
<script src="scripts/toc.js"></script>
|
||||
|
||||
|
||||
<script> Sunlight.highlightAll({lineNumbers:true, showMenu: true, enableDoclinks :true}); </script>
|
||||
|
||||
<script>
|
||||
$( function () {
|
||||
$( "#toc" ).toc( {
|
||||
selectors : "h1,h2,h3,h4",
|
||||
showAndHide : false,
|
||||
scrollTo : 60
|
||||
} );
|
||||
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
||||
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
||||
|
||||
} );
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
File diff suppressed because it is too large
Load diff
|
@ -1,135 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>JSDoc: Module: Camera</title>
|
||||
|
||||
<script src="scripts/prettify/prettify.js"> </script>
|
||||
<script src="scripts/prettify/lang-css.js"> </script>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
|
||||
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div id="main">
|
||||
|
||||
<h1 class="page-title">Module: Camera</h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<section>
|
||||
|
||||
<header>
|
||||
<h2>
|
||||
<span class="ancestors"><a href="Phaser.html">Phaser</a>.</span>
|
||||
|
||||
Camera
|
||||
</h2>
|
||||
|
||||
</header>
|
||||
|
||||
<article>
|
||||
<div class="container-overview">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-author">Author:</dt>
|
||||
<dd class="tag-author">
|
||||
<ul>
|
||||
<li><a href="mailto:rich@photonstorm.com">Richard Davey</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
<dt class="tag-copyright">Copyright:</dt>
|
||||
<dd class="tag-copyright"><ul class="dummy"><li>2013 Photon Storm Ltd.</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
<dt class="tag-license">License:</dt>
|
||||
<dd class="tag-license"><ul class="dummy"><li><a href="https://github.com/photonstorm/phaser/blob/master/license.txt">MIT License</a></li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
core/Camera.js, line 1
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Modules</h3><ul><li><a href="module-Phaser.html">Phaser</a></li><li><a href="Animation.html">Animation</a></li><li><a href="Camera.html">Camera</a></li><li><a href="Game.html">Game</a></li></ul><h3>Classes</h3><ul><li><a href="Phaser.Animation.Frame.html">Frame</a></li><li><a href="Phaser.Animation.FrameData.html">FrameData</a></li><li><a href="Phaser.Animation.Parser.html">Parser</a></li><li><a href="Phaser.AnimationManager.html">AnimationManager</a></li><li><a href="Phaser.Group.html">Group</a></li><li><a href="Animation-Phaser.Animation.html">Animation</a></li><li><a href="Camera-Phaser.Camera.html">Camera</a></li><li><a href="Game-Phaser.Game.html">Game</a></li></ul><h3>Namespaces</h3><ul><li><a href="Phaser.html">Phaser</a></li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.0-dev</a> on Tue Oct 01 2013 16:44:22 GMT+0100 (BST)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
<script src="scripts/linenumber.js"> </script>
|
||||
</body>
|
||||
</html>
|
511
Docs/out/Camera.js.html
Normal file
511
Docs/out/Camera.js.html
Normal file
|
@ -0,0 +1,511 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Phaser Source: core/Camera.js</title>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
||||
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.cerulean.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="navbar navbar-fixed-top navbar-inverse">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="index.html">Phaser</a>
|
||||
<ul class="nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="module-Phaser.html">Phaser</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="classes.list.html" class="dropdown-toggle" data-toggle="dropdown">Classes<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Animation.html">Animation</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Animation.Frame.html">Frame</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Animation.FrameData.html">FrameData</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Animation.Parser.html">Parser</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.AnimationManager.html">AnimationManager</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Camera.html">Camera</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Game.html">Game</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Group.html">Group</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
|
||||
<div class="span12">
|
||||
|
||||
<div id="main">
|
||||
|
||||
|
||||
|
||||
<h1 class="page-title">Source: core/Camera.js</h1>
|
||||
|
||||
<section>
|
||||
<article>
|
||||
<pre class="sunlight-highlight-javascript linenums">/**
|
||||
* @author Richard Davey <rich@photonstorm.com>
|
||||
* @copyright 2013 Photon Storm Ltd.
|
||||
* @license {@link https://github.com/photonstorm/phaser/blob/master/license.txt|MIT License}
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
* A Camera is your view into the game world. It has a position and size and renders only those objects within its field of view.
|
||||
* The game automatically creates a single Stage sized camera on boot. Move the camera around the world with Phaser.Camera.x/y
|
||||
*
|
||||
* @class Phaser.Camera
|
||||
* @constructor
|
||||
* @param {Phaser.Game} game - Game reference to the currently running game.
|
||||
* @param {number} id - Not being used at the moment, will be when Phaser supports multiple camera
|
||||
* @param {number} x - Position of the camera on the X axis
|
||||
* @param {number} y - Position of the camera on the Y axis
|
||||
* @param {number} width - The width of the view rectangle
|
||||
* @param {number} height - The height of the view rectangle
|
||||
*/
|
||||
|
||||
Phaser.Camera = function (game, id, x, y, width, height) {
|
||||
|
||||
/**
|
||||
* @property {Phaser.Game} game - A reference to the currently running Game.
|
||||
*/
|
||||
this.game = game;
|
||||
|
||||
/**
|
||||
* @property {Phaser.World} world - A reference to the game world.
|
||||
*/
|
||||
this.world = game.world;
|
||||
|
||||
/**
|
||||
* @property {number} id - Reserved for future multiple camera set-ups.
|
||||
* @default
|
||||
*/
|
||||
this.id = 0;
|
||||
|
||||
/**
|
||||
* Camera view.
|
||||
* The view into the world we wish to render (by default the game dimensions).
|
||||
* The x/y values are in world coordinates, not screen coordinates, the width/height is how many pixels to render.
|
||||
* Objects outside of this view are not rendered (unless set to ignore the Camera, i.e. UI?).
|
||||
* @property {Phaser.Rectangle} view
|
||||
*/
|
||||
this.view = new Phaser.Rectangle(x, y, width, height);
|
||||
|
||||
/**
|
||||
* @property {Phaser.Rectangle} screenView - Used by Sprites to work out Camera culling.
|
||||
*/
|
||||
this.screenView = new Phaser.Rectangle(x, y, width, height);
|
||||
|
||||
/**
|
||||
* @property {Phaser.Rectangle} deadzone - Moving inside this Rectangle will not cause camera moving.
|
||||
*/
|
||||
this.deadzone = null;
|
||||
|
||||
/**
|
||||
* @property {boolean} visible - Whether this camera is visible or not.
|
||||
* @default
|
||||
*/
|
||||
this.visible = true;
|
||||
|
||||
/**
|
||||
* @property {boolean} atLimit - Whether this camera is flush with the World Bounds or not.
|
||||
*/
|
||||
this.atLimit = { x: false, y: false };
|
||||
|
||||
/**
|
||||
* @property {Phaser.Sprite} target - If the camera is tracking a Sprite, this is a reference to it, otherwise null.
|
||||
* @default
|
||||
*/
|
||||
this.target = null;
|
||||
|
||||
/**
|
||||
* @property {number} edge - Edge property.
|
||||
* @private
|
||||
* @default
|
||||
*/
|
||||
this._edge = 0;
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* @constant
|
||||
* @type {number}
|
||||
*/
|
||||
Phaser.Camera.FOLLOW_LOCKON = 0;
|
||||
|
||||
/**
|
||||
* @constant
|
||||
* @type {number}
|
||||
*/
|
||||
Phaser.Camera.FOLLOW_PLATFORMER = 1;
|
||||
|
||||
/**
|
||||
* @constant
|
||||
* @type {number}
|
||||
*/
|
||||
Phaser.Camera.FOLLOW_TOPDOWN = 2;
|
||||
|
||||
/**
|
||||
* @constant
|
||||
* @type {number}
|
||||
*/
|
||||
Phaser.Camera.FOLLOW_TOPDOWN_TIGHT = 3;
|
||||
|
||||
Phaser.Camera.prototype = {
|
||||
|
||||
/**
|
||||
* Tells this camera which sprite to follow.
|
||||
* @method Phaser.Camera#follow
|
||||
* @param {Phaser.Sprite} target - The object you want the camera to track. Set to null to not follow anything.
|
||||
* @param {number} [style] Leverage one of the existing "deadzone" presets. If you use a custom deadzone, ignore this parameter and manually specify the deadzone after calling follow().
|
||||
*/
|
||||
follow: function (target, style) {
|
||||
|
||||
if (typeof style === "undefined") { style = Phaser.Camera.FOLLOW_LOCKON; }
|
||||
|
||||
this.target = target;
|
||||
|
||||
var helper;
|
||||
|
||||
switch (style) {
|
||||
|
||||
case Phaser.Camera.FOLLOW_PLATFORMER:
|
||||
var w = this.width / 8;
|
||||
var h = this.height / 3;
|
||||
this.deadzone = new Phaser.Rectangle((this.width - w) / 2, (this.height - h) / 2 - h * 0.25, w, h);
|
||||
break;
|
||||
|
||||
case Phaser.Camera.FOLLOW_TOPDOWN:
|
||||
helper = Math.max(this.width, this.height) / 4;
|
||||
this.deadzone = new Phaser.Rectangle((this.width - helper) / 2, (this.height - helper) / 2, helper, helper);
|
||||
break;
|
||||
|
||||
case Phaser.Camera.FOLLOW_TOPDOWN_TIGHT:
|
||||
helper = Math.max(this.width, this.height) / 8;
|
||||
this.deadzone = new Phaser.Rectangle((this.width - helper) / 2, (this.height - helper) / 2, helper, helper);
|
||||
break;
|
||||
|
||||
case Phaser.Camera.FOLLOW_LOCKON:
|
||||
default:
|
||||
this.deadzone = null;
|
||||
break;
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Move the camera focus to a location instantly.
|
||||
* @method Phaser.Camera#focusOnXY
|
||||
* @param {number} x - X position.
|
||||
* @param {number} y - Y position.
|
||||
*/
|
||||
focusOnXY: function (x, y) {
|
||||
|
||||
this.view.x = Math.round(x - this.view.halfWidth);
|
||||
this.view.y = Math.round(y - this.view.halfHeight);
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Update focusing and scrolling.
|
||||
* @method Phaser.Camera#update
|
||||
*/
|
||||
update: function () {
|
||||
|
||||
// Add dirty flag
|
||||
|
||||
if (this.target !== null)
|
||||
{
|
||||
if (this.deadzone)
|
||||
{
|
||||
this._edge = this.target.x - this.deadzone.x;
|
||||
|
||||
if (this.view.x > this._edge)
|
||||
{
|
||||
this.view.x = this._edge;
|
||||
}
|
||||
|
||||
this._edge = this.target.x + this.target.width - this.deadzone.x - this.deadzone.width;
|
||||
|
||||
if (this.view.x < this._edge)
|
||||
{
|
||||
this.view.x = this._edge;
|
||||
}
|
||||
|
||||
this._edge = this.target.y - this.deadzone.y;
|
||||
|
||||
if (this.view.y > this._edge)
|
||||
{
|
||||
this.view.y = this._edge;
|
||||
}
|
||||
|
||||
this._edge = this.target.y + this.target.height - this.deadzone.y - this.deadzone.height;
|
||||
|
||||
if (this.view.y < this._edge)
|
||||
{
|
||||
this.view.y = this._edge;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this.focusOnXY(this.target.x, this.target.y);
|
||||
}
|
||||
}
|
||||
|
||||
this.checkWorldBounds();
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Method called to ensure the camera doesn't venture outside of the game world.
|
||||
* @method Phaser.Camera#checkWorldBounds
|
||||
*/
|
||||
checkWorldBounds: function () {
|
||||
|
||||
this.atLimit.x = false;
|
||||
this.atLimit.y = false;
|
||||
|
||||
// Make sure we didn't go outside the cameras worldBounds
|
||||
if (this.view.x < this.world.bounds.left)
|
||||
{
|
||||
this.atLimit.x = true;
|
||||
this.view.x = this.world.bounds.left;
|
||||
}
|
||||
|
||||
if (this.view.x > this.world.bounds.right - this.width)
|
||||
{
|
||||
this.atLimit.x = true;
|
||||
this.view.x = (this.world.bounds.right - this.width) + 1;
|
||||
}
|
||||
|
||||
if (this.view.y < this.world.bounds.top)
|
||||
{
|
||||
this.atLimit.y = true;
|
||||
this.view.y = this.world.bounds.top;
|
||||
}
|
||||
|
||||
if (this.view.y > this.world.bounds.bottom - this.height)
|
||||
{
|
||||
this.atLimit.y = true;
|
||||
this.view.y = (this.world.bounds.bottom - this.height) + 1;
|
||||
}
|
||||
|
||||
this.view.floor();
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* A helper function to set both the X and Y properties of the camera at once
|
||||
* without having to use game.camera.x and game.camera.y.
|
||||
*
|
||||
* @method Phaser.Camera#setPosition
|
||||
* @param {number} x - X position.
|
||||
* @param {number} y - Y position.
|
||||
*/
|
||||
setPosition: function (x, y) {
|
||||
|
||||
this.view.x = x;
|
||||
this.view.y = y;
|
||||
this.checkWorldBounds();
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Sets the size of the view rectangle given the width and height in parameters.
|
||||
*
|
||||
* @method Phaser.Camera#setSize
|
||||
* @param {number} width - The desired width.
|
||||
* @param {number} height - The desired height.
|
||||
*/
|
||||
setSize: function (width, height) {
|
||||
|
||||
this.view.width = width;
|
||||
this.view.height = height;
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* The Cameras x coordinate. This value is automatically clamped if it falls outside of the World bounds.
|
||||
* @name Phaser.Camera#x
|
||||
* @property {number} x - Gets or sets the cameras x position.
|
||||
*/
|
||||
Object.defineProperty(Phaser.Camera.prototype, "x", {
|
||||
|
||||
get: function () {
|
||||
return this.view.x;
|
||||
},
|
||||
|
||||
set: function (value) {
|
||||
this.view.x = value;
|
||||
this.checkWorldBounds();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
/**
|
||||
* The Cameras y coordinate. This value is automatically clamped if it falls outside of the World bounds.
|
||||
* @name Phaser.Camera#y
|
||||
* @property {number} y - Gets or sets the cameras y position.
|
||||
*/
|
||||
Object.defineProperty(Phaser.Camera.prototype, "y", {
|
||||
|
||||
get: function () {
|
||||
return this.view.y;
|
||||
},
|
||||
|
||||
set: function (value) {
|
||||
this.view.y = value;
|
||||
this.checkWorldBounds();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
/**
|
||||
* The Cameras width. By default this is the same as the Game size and should not be adjusted for now.
|
||||
* @name Phaser.Camera#width
|
||||
* @property {number} width - Gets or sets the cameras width.
|
||||
*/
|
||||
Object.defineProperty(Phaser.Camera.prototype, "width", {
|
||||
|
||||
get: function () {
|
||||
return this.view.width;
|
||||
},
|
||||
|
||||
set: function (value) {
|
||||
this.view.width = value;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
/**
|
||||
* The Cameras height. By default this is the same as the Game size and should not be adjusted for now.
|
||||
* @name Phaser.Camera#height
|
||||
* @property {number} height - Gets or sets the cameras height.
|
||||
*/
|
||||
Object.defineProperty(Phaser.Camera.prototype, "height", {
|
||||
|
||||
get: function () {
|
||||
return this.view.height;
|
||||
},
|
||||
|
||||
set: function (value) {
|
||||
this.view.height = value;
|
||||
}
|
||||
|
||||
});
|
||||
</pre>
|
||||
</article>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<footer>
|
||||
|
||||
|
||||
<span class="copyright">
|
||||
Phaser Copyright © 2012-2013 Photon Storm Ltd.
|
||||
</span>
|
||||
<br />
|
||||
|
||||
<span class="jsdoc-message">
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.0-dev</a>
|
||||
on Wed Oct 02 2013 01:12:17 GMT+0100 (BST) using the <a href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<br clear="both">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script src="scripts/sunlight.js"></script>
|
||||
<script src="scripts/sunlight.javascript.js"></script>
|
||||
<script src="scripts/sunlight-plugin.doclinks.js"></script>
|
||||
<script src="scripts/sunlight-plugin.linenumbers.js"></script>
|
||||
<script src="scripts/sunlight-plugin.menu.js"></script>
|
||||
<script src="scripts/jquery.min.js"></script>
|
||||
<script src="scripts/jquery.scrollTo.js"></script>
|
||||
<script src="scripts/jquery.localScroll.js"></script>
|
||||
<script src="scripts/bootstrap-dropdown.js"></script>
|
||||
<script src="scripts/toc.js"></script>
|
||||
|
||||
|
||||
<script> Sunlight.highlightAll({lineNumbers:true, showMenu: true, enableDoclinks :true}); </script>
|
||||
|
||||
<script>
|
||||
$( function () {
|
||||
$( "#toc" ).toc( {
|
||||
selectors : "h1,h2,h3,h4",
|
||||
showAndHide : false,
|
||||
scrollTo : 60
|
||||
} );
|
||||
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
||||
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
||||
|
||||
} );
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
File diff suppressed because it is too large
Load diff
|
@ -1,133 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>JSDoc: Module: Frame</title>
|
||||
|
||||
<script src="scripts/prettify/prettify.js"> </script>
|
||||
<script src="scripts/prettify/lang-css.js"> </script>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
|
||||
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div id="main">
|
||||
|
||||
<h1 class="page-title">Module: Frame</h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<section>
|
||||
|
||||
<header>
|
||||
<h2>
|
||||
Frame
|
||||
</h2>
|
||||
|
||||
</header>
|
||||
|
||||
<article>
|
||||
<div class="container-overview">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-author">Author:</dt>
|
||||
<dd class="tag-author">
|
||||
<ul>
|
||||
<li><a href="mailto:rich@photonstorm.com">Richard Davey</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
<dt class="tag-copyright">Copyright:</dt>
|
||||
<dd class="tag-copyright"><ul class="dummy"><li>2013 Photon Storm Ltd.</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
<dt class="tag-license">License:</dt>
|
||||
<dd class="tag-license"><ul class="dummy"><li><a href="https://github.com/photonstorm/phaser/blob/master/license.txt">MIT License</a></li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
animation/Frame.js, line 1
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Modules</h3><ul><li><a href="Frame.html">Frame</a></li><li><a href="FrameData.html">FrameData</a></li><li><a href="Parser.html">Parser</a></li><li><a href="Animation.html">Animation</a></li><li><a href="AnimationManager.html">AnimationManager</a></li></ul><h3>Classes</h3><ul><li><a href="FrameData-Phaser.Animation.FrameData.html">FrameData</a></li><li><a href="Frame-Phaser.Animation.Frame.html">Frame</a></li><li><a href="Phaser.Animation.Parser.html">Parser</a></li><li><a href="AnimationManager-Phaser.AnimationManager.html">AnimationManager</a></li><li><a href="Animation-Phaser.Animation.html">Animation</a></li></ul><h3>Namespaces</h3><ul><li><a href="Phaser.html">Phaser</a></li></ul><h3>Global</h3><ul><li><a href="global.html#add">add</a></li><li><a href="global.html#addFrame">addFrame</a></li><li><a href="global.html#checkFrameName">checkFrameName</a></li><li><a href="global.html#destroy">destroy</a></li><li><a href="global.html#generateFrameNames">generateFrameNames</a></li><li><a href="global.html#getFrame">getFrame</a></li><li><a href="global.html#getFrameByName">getFrameByName</a></li><li><a href="global.html#getFrameIndexes">getFrameIndexes</a></li><li><a href="global.html#getFrameRange">getFrameRange</a></li><li><a href="global.html#getFrames">getFrames</a></li><li><a href="global.html#JSONData">JSONData</a></li><li><a href="global.html#JSONDataHash">JSONDataHash</a></li><li><a href="global.html#onComplete">onComplete</a></li><li><a href="global.html#play">play</a></li><li><a href="global.html#restart">restart</a></li><li><a href="global.html#setTrim">setTrim</a></li><li><a href="global.html#spriteSheet">spriteSheet</a></li><li><a href="global.html#stop">stop</a></li><li><a href="global.html#total">total</a></li><li><a href="global.html#update">update</a></li><li><a href="global.html#validateFrames">validateFrames</a></li><li><a href="global.html#XMLData">XMLData</a></li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.0-dev</a> on Tue Oct 01 2013 15:59:15 GMT+0100 (BST)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
<script src="scripts/linenumber.js"> </script>
|
||||
</body>
|
||||
</html>
|
319
Docs/out/Frame.js.html
Normal file
319
Docs/out/Frame.js.html
Normal file
|
@ -0,0 +1,319 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Phaser Source: animation/Frame.js</title>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
||||
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.cerulean.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="navbar navbar-fixed-top navbar-inverse">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="index.html">Phaser</a>
|
||||
<ul class="nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="module-Phaser.html">Phaser</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="classes.list.html" class="dropdown-toggle" data-toggle="dropdown">Classes<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Animation.html">Animation</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Animation.Frame.html">Frame</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Animation.FrameData.html">FrameData</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Animation.Parser.html">Parser</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.AnimationManager.html">AnimationManager</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Camera.html">Camera</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Game.html">Game</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Group.html">Group</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
|
||||
<div class="span12">
|
||||
|
||||
<div id="main">
|
||||
|
||||
|
||||
|
||||
<h1 class="page-title">Source: animation/Frame.js</h1>
|
||||
|
||||
<section>
|
||||
<article>
|
||||
<pre class="sunlight-highlight-javascript linenums">/**
|
||||
* @author Richard Davey <rich@photonstorm.com>
|
||||
* @copyright 2013 Photon Storm Ltd.
|
||||
* @license {@link https://github.com/photonstorm/phaser/blob/master/license.txt|MIT License}
|
||||
*/
|
||||
|
||||
/**
|
||||
* A Frame is a single frame of an animation and is part of a FrameData collection.
|
||||
*
|
||||
* @class Phaser.Animation.Frame
|
||||
* @constructor
|
||||
* @param {number} index - The index of this Frame within the FrameData set it is being added to.
|
||||
* @param {number} x - X position of the frame within the texture image.
|
||||
* @param {number} y - Y position of the frame within the texture image.
|
||||
* @param {number} width - Width of the frame within the texture image.
|
||||
* @param {number} height - Height of the frame within the texture image.
|
||||
* @param {string} name - The name of the frame. In Texture Atlas data this is usually set to the filename.
|
||||
* @param {string} uuid - Internal UUID key.
|
||||
*/
|
||||
Phaser.Animation.Frame = function (index, x, y, width, height, name, uuid) {
|
||||
|
||||
/**
|
||||
* @property {number} index - The index of this Frame within the FrameData set it is being added to.
|
||||
*/
|
||||
this.index = index;
|
||||
|
||||
/**
|
||||
* @property {number} x - X position within the image to cut from.
|
||||
*/
|
||||
this.x = x;
|
||||
|
||||
/**
|
||||
* @property {number} y - Y position within the image to cut from.
|
||||
*/
|
||||
this.y = y;
|
||||
|
||||
/**
|
||||
* @property {number} width - Width of the frame.
|
||||
*/
|
||||
this.width = width;
|
||||
|
||||
/**
|
||||
* @property {number} height - Height of the frame.
|
||||
*/
|
||||
this.height = height;
|
||||
|
||||
/**
|
||||
* @property {string} name - Useful for Texture Atlas files (is set to the filename value).
|
||||
*/
|
||||
this.name = name;
|
||||
|
||||
/**
|
||||
* @property {string} uuid - A link to the PIXI.TextureCache entry.
|
||||
*/
|
||||
this.uuid = uuid;
|
||||
|
||||
/**
|
||||
* @property {number} centerX - Center X position within the image to cut from.
|
||||
*/
|
||||
this.centerX = Math.floor(width / 2);
|
||||
|
||||
/**
|
||||
* @property {number} centerY - Center Y position within the image to cut from.
|
||||
*/
|
||||
this.centerY = Math.floor(height / 2);
|
||||
|
||||
/**
|
||||
* @property {number} distance - The distance from the top left to the bottom-right of this Frame.
|
||||
*/
|
||||
this.distance = Phaser.Math.distance(0, 0, width, height);
|
||||
|
||||
/**
|
||||
* @property {boolean} rotated - Rotated? (not yet implemented)
|
||||
* @default
|
||||
*/
|
||||
this.rotated = false;
|
||||
|
||||
/**
|
||||
* @property {string} rotationDirection - Either 'cw' or 'ccw', rotation is always 90 degrees.
|
||||
* @default 'cw'
|
||||
*/
|
||||
this.rotationDirection = 'cw';
|
||||
|
||||
/**
|
||||
* @property {boolean} trimmed - Was it trimmed when packed?
|
||||
* @default
|
||||
*/
|
||||
this.trimmed = false;
|
||||
|
||||
/**
|
||||
* @property {number} sourceSizeW - Width of the original sprite.
|
||||
*/
|
||||
this.sourceSizeW = width;
|
||||
|
||||
/**
|
||||
* @property {number} sourceSizeH - Height of the original sprite.
|
||||
*/
|
||||
this.sourceSizeH = height;
|
||||
|
||||
/**
|
||||
* @property {number} spriteSourceSizeX - X position of the trimmed sprite inside original sprite.
|
||||
* @default
|
||||
*/
|
||||
this.spriteSourceSizeX = 0;
|
||||
|
||||
/**
|
||||
* @property {number} spriteSourceSizeY - Y position of the trimmed sprite inside original sprite.
|
||||
* @default
|
||||
*/
|
||||
this.spriteSourceSizeY = 0;
|
||||
|
||||
/**
|
||||
* @property {number} spriteSourceSizeW - Width of the trimmed sprite.
|
||||
* @default
|
||||
*/
|
||||
this.spriteSourceSizeW = 0;
|
||||
|
||||
/**
|
||||
* @property {number} spriteSourceSizeH - Height of the trimmed sprite.
|
||||
* @default
|
||||
*/
|
||||
this.spriteSourceSizeH = 0;
|
||||
|
||||
};
|
||||
|
||||
Phaser.Animation.Frame.prototype = {
|
||||
|
||||
/**
|
||||
* If the frame was trimmed when added to the Texture Atlas this records the trim and source data.
|
||||
*
|
||||
* @method Phaser.Animation.Frame#setTrim
|
||||
* @param {boolean} trimmed - If this frame was trimmed or not.
|
||||
* @param {number} actualWidth - The width of the frame before being trimmed.
|
||||
* @param {number} actualHeight - The height of the frame before being trimmed.
|
||||
* @param {number} destX - The destination X position of the trimmed frame for display.
|
||||
* @param {number} destY - The destination Y position of the trimmed frame for display.
|
||||
* @param {number} destWidth - The destination width of the trimmed frame for display.
|
||||
* @param {number} destHeight - The destination height of the trimmed frame for display.
|
||||
*/
|
||||
setTrim: function (trimmed, actualWidth, actualHeight, destX, destY, destWidth, destHeight) {
|
||||
|
||||
this.trimmed = trimmed;
|
||||
|
||||
if (trimmed)
|
||||
{
|
||||
this.width = actualWidth;
|
||||
this.height = actualHeight;
|
||||
this.sourceSizeW = actualWidth;
|
||||
this.sourceSizeH = actualHeight;
|
||||
this.centerX = Math.floor(actualWidth / 2);
|
||||
this.centerY = Math.floor(actualHeight / 2);
|
||||
this.spriteSourceSizeX = destX;
|
||||
this.spriteSourceSizeY = destY;
|
||||
this.spriteSourceSizeW = destWidth;
|
||||
this.spriteSourceSizeH = destHeight;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
</pre>
|
||||
</article>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<footer>
|
||||
|
||||
|
||||
<span class="copyright">
|
||||
Phaser Copyright © 2012-2013 Photon Storm Ltd.
|
||||
</span>
|
||||
<br />
|
||||
|
||||
<span class="jsdoc-message">
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.0-dev</a>
|
||||
on Wed Oct 02 2013 01:12:17 GMT+0100 (BST) using the <a href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<br clear="both">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script src="scripts/sunlight.js"></script>
|
||||
<script src="scripts/sunlight.javascript.js"></script>
|
||||
<script src="scripts/sunlight-plugin.doclinks.js"></script>
|
||||
<script src="scripts/sunlight-plugin.linenumbers.js"></script>
|
||||
<script src="scripts/sunlight-plugin.menu.js"></script>
|
||||
<script src="scripts/jquery.min.js"></script>
|
||||
<script src="scripts/jquery.scrollTo.js"></script>
|
||||
<script src="scripts/jquery.localScroll.js"></script>
|
||||
<script src="scripts/bootstrap-dropdown.js"></script>
|
||||
<script src="scripts/toc.js"></script>
|
||||
|
||||
|
||||
<script> Sunlight.highlightAll({lineNumbers:true, showMenu: true, enableDoclinks :true}); </script>
|
||||
|
||||
<script>
|
||||
$( function () {
|
||||
$( "#toc" ).toc( {
|
||||
selectors : "h1,h2,h3,h4",
|
||||
showAndHide : false,
|
||||
scrollTo : 60
|
||||
} );
|
||||
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
||||
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
||||
|
||||
} );
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -1,152 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>JSDoc: Class: FrameData</title>
|
||||
|
||||
<script src="scripts/prettify/prettify.js"> </script>
|
||||
<script src="scripts/prettify/lang-css.js"> </script>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
|
||||
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div id="main">
|
||||
|
||||
<h1 class="page-title">Class: FrameData</h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<section>
|
||||
|
||||
<header>
|
||||
<h2>
|
||||
FrameData
|
||||
</h2>
|
||||
|
||||
<div class="class-description">Phaser.Animation.FrameData</div>
|
||||
|
||||
</header>
|
||||
|
||||
<article>
|
||||
<div class="container-overview">
|
||||
|
||||
|
||||
|
||||
|
||||
<dt>
|
||||
<h4 class="name" id="FrameData"><span class="type-signature"></span>new FrameData<span class="signature">()</span><span class="type-signature"></span></h4>
|
||||
|
||||
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<div class="description">
|
||||
FrameData is a container for Frame objects, which are the internal representation of animation data in Phaser.
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
animation/FrameData.js, line 14
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Modules</h3><ul><li><a href="Frame.html">Frame</a></li><li><a href="FrameData.html">FrameData</a></li><li><a href="Parser.html">Parser</a></li><li><a href="Animation.html">Animation</a></li><li><a href="AnimationManager.html">AnimationManager</a></li></ul><h3>Classes</h3><ul><li><a href="FrameData-Phaser.Animation.FrameData.html">FrameData</a></li><li><a href="Frame-Phaser.Animation.Frame.html">Frame</a></li><li><a href="Phaser.Animation.Parser.html">Parser</a></li><li><a href="AnimationManager-Phaser.AnimationManager.html">AnimationManager</a></li><li><a href="Animation-Phaser.Animation.html">Animation</a></li></ul><h3>Namespaces</h3><ul><li><a href="Phaser.html">Phaser</a></li></ul><h3>Global</h3><ul><li><a href="global.html#add">add</a></li><li><a href="global.html#addFrame">addFrame</a></li><li><a href="global.html#checkFrameName">checkFrameName</a></li><li><a href="global.html#destroy">destroy</a></li><li><a href="global.html#generateFrameNames">generateFrameNames</a></li><li><a href="global.html#getFrame">getFrame</a></li><li><a href="global.html#getFrameByName">getFrameByName</a></li><li><a href="global.html#getFrameIndexes">getFrameIndexes</a></li><li><a href="global.html#getFrameRange">getFrameRange</a></li><li><a href="global.html#getFrames">getFrames</a></li><li><a href="global.html#JSONData">JSONData</a></li><li><a href="global.html#JSONDataHash">JSONDataHash</a></li><li><a href="global.html#onComplete">onComplete</a></li><li><a href="global.html#play">play</a></li><li><a href="global.html#restart">restart</a></li><li><a href="global.html#setTrim">setTrim</a></li><li><a href="global.html#spriteSheet">spriteSheet</a></li><li><a href="global.html#stop">stop</a></li><li><a href="global.html#total">total</a></li><li><a href="global.html#update">update</a></li><li><a href="global.html#validateFrames">validateFrames</a></li><li><a href="global.html#XMLData">XMLData</a></li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.0-dev</a> on Tue Oct 01 2013 15:59:15 GMT+0100 (BST)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
<script src="scripts/linenumber.js"> </script>
|
||||
</body>
|
||||
</html>
|
|
@ -1,133 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>JSDoc: Module: FrameData</title>
|
||||
|
||||
<script src="scripts/prettify/prettify.js"> </script>
|
||||
<script src="scripts/prettify/lang-css.js"> </script>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
|
||||
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div id="main">
|
||||
|
||||
<h1 class="page-title">Module: FrameData</h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<section>
|
||||
|
||||
<header>
|
||||
<h2>
|
||||
FrameData
|
||||
</h2>
|
||||
|
||||
</header>
|
||||
|
||||
<article>
|
||||
<div class="container-overview">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-author">Author:</dt>
|
||||
<dd class="tag-author">
|
||||
<ul>
|
||||
<li><a href="mailto:rich@photonstorm.com">Richard Davey</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
<dt class="tag-copyright">Copyright:</dt>
|
||||
<dd class="tag-copyright"><ul class="dummy"><li>2013 Photon Storm Ltd.</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
<dt class="tag-license">License:</dt>
|
||||
<dd class="tag-license"><ul class="dummy"><li><a href="https://github.com/photonstorm/phaser/blob/master/license.txt">MIT License</a></li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
animation/FrameData.js, line 1
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Modules</h3><ul><li><a href="Frame.html">Frame</a></li><li><a href="FrameData.html">FrameData</a></li><li><a href="Parser.html">Parser</a></li><li><a href="Animation.html">Animation</a></li><li><a href="AnimationManager.html">AnimationManager</a></li></ul><h3>Classes</h3><ul><li><a href="FrameData-Phaser.Animation.FrameData.html">FrameData</a></li><li><a href="Frame-Phaser.Animation.Frame.html">Frame</a></li><li><a href="Phaser.Animation.Parser.html">Parser</a></li><li><a href="AnimationManager-Phaser.AnimationManager.html">AnimationManager</a></li><li><a href="Animation-Phaser.Animation.html">Animation</a></li></ul><h3>Namespaces</h3><ul><li><a href="Phaser.html">Phaser</a></li></ul><h3>Global</h3><ul><li><a href="global.html#add">add</a></li><li><a href="global.html#addFrame">addFrame</a></li><li><a href="global.html#checkFrameName">checkFrameName</a></li><li><a href="global.html#destroy">destroy</a></li><li><a href="global.html#generateFrameNames">generateFrameNames</a></li><li><a href="global.html#getFrame">getFrame</a></li><li><a href="global.html#getFrameByName">getFrameByName</a></li><li><a href="global.html#getFrameIndexes">getFrameIndexes</a></li><li><a href="global.html#getFrameRange">getFrameRange</a></li><li><a href="global.html#getFrames">getFrames</a></li><li><a href="global.html#JSONData">JSONData</a></li><li><a href="global.html#JSONDataHash">JSONDataHash</a></li><li><a href="global.html#onComplete">onComplete</a></li><li><a href="global.html#play">play</a></li><li><a href="global.html#restart">restart</a></li><li><a href="global.html#setTrim">setTrim</a></li><li><a href="global.html#spriteSheet">spriteSheet</a></li><li><a href="global.html#stop">stop</a></li><li><a href="global.html#total">total</a></li><li><a href="global.html#update">update</a></li><li><a href="global.html#validateFrames">validateFrames</a></li><li><a href="global.html#XMLData">XMLData</a></li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.0-dev</a> on Tue Oct 01 2013 15:59:15 GMT+0100 (BST)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
<script src="scripts/linenumber.js"> </script>
|
||||
</body>
|
||||
</html>
|
392
Docs/out/FrameData.js.html
Normal file
392
Docs/out/FrameData.js.html
Normal file
|
@ -0,0 +1,392 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Phaser Source: animation/FrameData.js</title>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
||||
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.cerulean.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="navbar navbar-fixed-top navbar-inverse">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="index.html">Phaser</a>
|
||||
<ul class="nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="module-Phaser.html">Phaser</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="classes.list.html" class="dropdown-toggle" data-toggle="dropdown">Classes<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Animation.html">Animation</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Animation.Frame.html">Frame</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Animation.FrameData.html">FrameData</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Animation.Parser.html">Parser</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.AnimationManager.html">AnimationManager</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Camera.html">Camera</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Game.html">Game</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Group.html">Group</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
|
||||
<div class="span12">
|
||||
|
||||
<div id="main">
|
||||
|
||||
|
||||
|
||||
<h1 class="page-title">Source: animation/FrameData.js</h1>
|
||||
|
||||
<section>
|
||||
<article>
|
||||
<pre class="sunlight-highlight-javascript linenums">/**
|
||||
* @author Richard Davey <rich@photonstorm.com>
|
||||
* @copyright 2013 Photon Storm Ltd.
|
||||
* @license {@link https://github.com/photonstorm/phaser/blob/master/license.txt|MIT License}
|
||||
*/
|
||||
|
||||
/**
|
||||
* FrameData is a container for Frame objects, which are the internal representation of animation data in Phaser.
|
||||
*
|
||||
* @class Phaser.Animation.FrameData
|
||||
* @constructor
|
||||
*/
|
||||
Phaser.Animation.FrameData = function () {
|
||||
|
||||
/**
|
||||
* @property {Array} _frames - Local array of frames.
|
||||
* @private
|
||||
*/
|
||||
this._frames = [];
|
||||
|
||||
|
||||
/**
|
||||
* @property {Array} _frameNames - Local array of frame names for name to index conversions.
|
||||
* @private
|
||||
*/
|
||||
this._frameNames = [];
|
||||
|
||||
};
|
||||
|
||||
Phaser.Animation.FrameData.prototype = {
|
||||
|
||||
/**
|
||||
* Adds a new Frame to this FrameData collection. Typically called by the Animation.Parser and not directly.
|
||||
*
|
||||
* @method Phaser.Animation.FrameData#addFrame
|
||||
* @param {Phaser.Animation.Frame} frame - The frame to add to this FrameData set.
|
||||
* @return {Phaser.Animation.Frame} The frame that was just added.
|
||||
*/
|
||||
addFrame: function (frame) {
|
||||
|
||||
frame.index = this._frames.length;
|
||||
|
||||
this._frames.push(frame);
|
||||
|
||||
if (frame.name !== '')
|
||||
{
|
||||
this._frameNames[frame.name] = frame.index;
|
||||
}
|
||||
|
||||
return frame;
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Get a Frame by its numerical index.
|
||||
*
|
||||
* @method Phaser.Animation.FrameData#getFrame
|
||||
* @param {number} index - The index of the frame you want to get.
|
||||
* @return {Phaser.Animation.Frame} The frame, if found.
|
||||
*/
|
||||
getFrame: function (index) {
|
||||
|
||||
if (this._frames[index])
|
||||
{
|
||||
return this._frames[index];
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Get a Frame by its frame name.
|
||||
*
|
||||
* @method Phaser.Animation.FrameData#getFrameByName
|
||||
* @param {string} name - The name of the frame you want to get.
|
||||
* @return {Phaser.Animation.Frame} The frame, if found.
|
||||
*/
|
||||
getFrameByName: function (name) {
|
||||
|
||||
if (typeof this._frameNames[name] === 'number')
|
||||
{
|
||||
return this._frames[this._frameNames[name]];
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Check if there is a Frame with the given name.
|
||||
*
|
||||
* @method Phaser.Animation.FrameData#checkFrameName
|
||||
* @param {string} name - The name of the frame you want to check.
|
||||
* @return {boolean} True if the frame is found, otherwise false.
|
||||
*/
|
||||
checkFrameName: function (name) {
|
||||
|
||||
if (this._frameNames[name] == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Returns a range of frames based on the given start and end frame indexes and returns them in an Array.
|
||||
*
|
||||
* @method Phaser.Animation.FrameData#getFrameRange
|
||||
* @param {number} start - The starting frame index.
|
||||
* @param {number} end - The ending frame index.
|
||||
* @param {Array} [output] - If given the results will be appended to the end of this array otherwise a new array will be created.
|
||||
* @return {Array} An array of Frames between the start and end index values, or an empty array if none were found.
|
||||
*/
|
||||
getFrameRange: function (start, end, output) {
|
||||
|
||||
if (typeof output === "undefined") { output = []; }
|
||||
|
||||
for (var i = start; i <= end; i++)
|
||||
{
|
||||
output.push(this._frames[i]);
|
||||
}
|
||||
|
||||
return output;
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Returns all of the Frames in this FrameData set where the frame index is found in the input array.
|
||||
* The frames are returned in the output array, or if none is provided in a new Array object.
|
||||
*
|
||||
* @method Phaser.Animation.FrameData#getFrames
|
||||
* @param {Array} frames - An Array containing the indexes of the frames to retrieve. If the array is empty then all frames in the FrameData are returned.
|
||||
* @param {boolean} [useNumericIndex=true] - Are the given frames using numeric indexes (default) or strings? (false)
|
||||
* @param {Array} [output] - If given the results will be appended to the end of this array otherwise a new array will be created.
|
||||
* @return {Array} An array of all Frames in this FrameData set matching the given names or IDs.
|
||||
*/
|
||||
getFrames: function (frames, useNumericIndex, output) {
|
||||
|
||||
if (typeof useNumericIndex === "undefined") { useNumericIndex = true; }
|
||||
if (typeof output === "undefined") { output = []; }
|
||||
|
||||
if (typeof frames === "undefined" || frames.length == 0)
|
||||
{
|
||||
// No input array, so we loop through all frames
|
||||
for (var i = 0; i < this._frames.length; i++)
|
||||
{
|
||||
// We only need the indexes
|
||||
output.push(this._frames[i]);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Input array given, loop through that instead
|
||||
for (var i = 0, len = frames.length; i < len; i++)
|
||||
{
|
||||
// Does the input array contain names or indexes?
|
||||
if (useNumericIndex)
|
||||
{
|
||||
// The actual frame
|
||||
output.push(this.getFrame(frames[i]));
|
||||
}
|
||||
else
|
||||
{
|
||||
// The actual frame
|
||||
output.push(this.getFrameByName(frames[i]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return output;
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Returns all of the Frame indexes in this FrameData set.
|
||||
* The frames indexes are returned in the output array, or if none is provided in a new Array object.
|
||||
*
|
||||
* @method Phaser.Animation.FrameData#getFrameIndexes
|
||||
* @param {Array} frames - An Array containing the indexes of the frames to retrieve. If the array is empty then all frames in the FrameData are returned.
|
||||
* @param {boolean} [useNumericIndex=true] - Are the given frames using numeric indexes (default) or strings? (false)
|
||||
* @param {Array} [output] - If given the results will be appended to the end of this array otherwise a new array will be created.
|
||||
* @return {Array} An array of all Frame indexes matching the given names or IDs.
|
||||
*/
|
||||
getFrameIndexes: function (frames, useNumericIndex, output) {
|
||||
|
||||
if (typeof useNumericIndex === "undefined") { useNumericIndex = true; }
|
||||
if (typeof output === "undefined") { output = []; }
|
||||
|
||||
if (typeof frames === "undefined" || frames.length == 0)
|
||||
{
|
||||
// No frames array, so we loop through all frames
|
||||
for (var i = 0, len = this._frames.length; i < len; i++)
|
||||
{
|
||||
output.push(this._frames[i].index);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Input array given, loop through that instead
|
||||
for (var i = 0, len = frames.length; i < len; i++)
|
||||
{
|
||||
// Does the frames array contain names or indexes?
|
||||
if (useNumericIndex)
|
||||
{
|
||||
output.push(frames[i]);
|
||||
}
|
||||
else
|
||||
{
|
||||
output.push(this.getFrameByName(frames[i]).index);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return output;
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* @name Phaser.Animation.FrameData#total
|
||||
* @property {number} total - The total number of frames in this FrameData set.
|
||||
*/
|
||||
Object.defineProperty(Phaser.Animation.FrameData.prototype, "total", {
|
||||
|
||||
get: function () {
|
||||
return this._frames.length;
|
||||
}
|
||||
|
||||
});
|
||||
</pre>
|
||||
</article>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<footer>
|
||||
|
||||
|
||||
<span class="copyright">
|
||||
Phaser Copyright © 2012-2013 Photon Storm Ltd.
|
||||
</span>
|
||||
<br />
|
||||
|
||||
<span class="jsdoc-message">
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.0-dev</a>
|
||||
on Wed Oct 02 2013 01:12:17 GMT+0100 (BST) using the <a href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<br clear="both">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script src="scripts/sunlight.js"></script>
|
||||
<script src="scripts/sunlight.javascript.js"></script>
|
||||
<script src="scripts/sunlight-plugin.doclinks.js"></script>
|
||||
<script src="scripts/sunlight-plugin.linenumbers.js"></script>
|
||||
<script src="scripts/sunlight-plugin.menu.js"></script>
|
||||
<script src="scripts/jquery.min.js"></script>
|
||||
<script src="scripts/jquery.scrollTo.js"></script>
|
||||
<script src="scripts/jquery.localScroll.js"></script>
|
||||
<script src="scripts/bootstrap-dropdown.js"></script>
|
||||
<script src="scripts/toc.js"></script>
|
||||
|
||||
|
||||
<script> Sunlight.highlightAll({lineNumbers:true, showMenu: true, enableDoclinks :true}); </script>
|
||||
|
||||
<script>
|
||||
$( function () {
|
||||
$( "#toc" ).toc( {
|
||||
selectors : "h1,h2,h3,h4",
|
||||
showAndHide : false,
|
||||
scrollTo : 60
|
||||
} );
|
||||
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
||||
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
||||
|
||||
} );
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -1,135 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>JSDoc: Module: Game</title>
|
||||
|
||||
<script src="scripts/prettify/prettify.js"> </script>
|
||||
<script src="scripts/prettify/lang-css.js"> </script>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
|
||||
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div id="main">
|
||||
|
||||
<h1 class="page-title">Module: Game</h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<section>
|
||||
|
||||
<header>
|
||||
<h2>
|
||||
<span class="ancestors"><a href="Phaser.html">Phaser</a>.</span>
|
||||
|
||||
Game
|
||||
</h2>
|
||||
|
||||
</header>
|
||||
|
||||
<article>
|
||||
<div class="container-overview">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-author">Author:</dt>
|
||||
<dd class="tag-author">
|
||||
<ul>
|
||||
<li><a href="mailto:rich@photonstorm.com">Richard Davey</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
<dt class="tag-copyright">Copyright:</dt>
|
||||
<dd class="tag-copyright"><ul class="dummy"><li>2013 Photon Storm Ltd.</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
<dt class="tag-license">License:</dt>
|
||||
<dd class="tag-license"><ul class="dummy"><li><a href="https://github.com/photonstorm/phaser/blob/master/license.txt">MIT License</a></li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
core/Game.js, line 1
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Modules</h3><ul><li><a href="module-Phaser.html">Phaser</a></li><li><a href="Animation.html">Animation</a></li><li><a href="Camera.html">Camera</a></li><li><a href="Game.html">Game</a></li></ul><h3>Classes</h3><ul><li><a href="Phaser.Animation.Frame.html">Frame</a></li><li><a href="Phaser.Animation.FrameData.html">FrameData</a></li><li><a href="Phaser.Animation.Parser.html">Parser</a></li><li><a href="Phaser.AnimationManager.html">AnimationManager</a></li><li><a href="Phaser.Group.html">Group</a></li><li><a href="Animation-Phaser.Animation.html">Animation</a></li><li><a href="Camera-Phaser.Camera.html">Camera</a></li><li><a href="Game-Phaser.Game.html">Game</a></li></ul><h3>Namespaces</h3><ul><li><a href="Phaser.html">Phaser</a></li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.0-dev</a> on Tue Oct 01 2013 16:44:22 GMT+0100 (BST)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
<script src="scripts/linenumber.js"> </script>
|
||||
</body>
|
||||
</html>
|
634
Docs/out/Game.js.html
Normal file
634
Docs/out/Game.js.html
Normal file
|
@ -0,0 +1,634 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Phaser Source: core/Game.js</title>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
||||
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.cerulean.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="navbar navbar-fixed-top navbar-inverse">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="index.html">Phaser</a>
|
||||
<ul class="nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="module-Phaser.html">Phaser</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="classes.list.html" class="dropdown-toggle" data-toggle="dropdown">Classes<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Animation.html">Animation</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Animation.Frame.html">Frame</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Animation.FrameData.html">FrameData</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Animation.Parser.html">Parser</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.AnimationManager.html">AnimationManager</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Camera.html">Camera</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Game.html">Game</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Group.html">Group</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
|
||||
<div class="span12">
|
||||
|
||||
<div id="main">
|
||||
|
||||
|
||||
|
||||
<h1 class="page-title">Source: core/Game.js</h1>
|
||||
|
||||
<section>
|
||||
<article>
|
||||
<pre class="sunlight-highlight-javascript linenums">/**
|
||||
* @author Richard Davey <rich@photonstorm.com>
|
||||
* @copyright 2013 Photon Storm Ltd.
|
||||
* @license {@link https://github.com/photonstorm/phaser/blob/master/license.txt|MIT License}
|
||||
*/
|
||||
|
||||
/**
|
||||
* Game constructor
|
||||
*
|
||||
* Instantiate a new <code>Phaser.Game</code> object.
|
||||
* @class Phaser.Game
|
||||
* @classdesc This is where the magic happens. The Game object is the heart of your game,
|
||||
* providing quick access to common functions and handling the boot process.
|
||||
* <p>"Hell, there are no rules here - we're trying to accomplish something."</p><br>
|
||||
* Thomas A. Edison
|
||||
* @constructor
|
||||
* @param {number} width - The width of your game in game pixels.
|
||||
* @param {number} height - The height of your game in game pixels.
|
||||
* @param {number} renderer -Which renderer to use (canvas or webgl)
|
||||
* @param {HTMLElement} parent -The Games DOM parent.
|
||||
* @param {Description} state - Description.
|
||||
* @param {boolean} transparent - Use a transparent canvas background or not.
|
||||
* @param {boolean} antialias - Anti-alias graphics.
|
||||
*/
|
||||
Phaser.Game = function (width, height, renderer, parent, state, transparent, antialias) {
|
||||
|
||||
width = width || 800;
|
||||
height = height || 600;
|
||||
renderer = renderer || Phaser.AUTO;
|
||||
parent = parent || '';
|
||||
state = state || null;
|
||||
if (typeof transparent == 'undefined') { transparent = false; }
|
||||
if (typeof antialias == 'undefined') { antialias = false; }
|
||||
|
||||
/**
|
||||
* @property {number} id - Phaser Game ID (for when Pixi supports multiple instances).
|
||||
*/
|
||||
this.id = Phaser.GAMES.push(this) - 1;
|
||||
|
||||
/**
|
||||
* @property {HTMLElement} parent - The Games DOM parent.
|
||||
*/
|
||||
this.parent = parent;
|
||||
|
||||
// Do some more intelligent size parsing here, so they can set "100%" for example, maybe pass the scale mode in here too?
|
||||
|
||||
/**
|
||||
* @property {number} width - The Game width (in pixels).
|
||||
*/
|
||||
this.width = width;
|
||||
|
||||
/**
|
||||
* @property {number} height - The Game height (in pixels).
|
||||
*/
|
||||
this.height = height;
|
||||
|
||||
/**
|
||||
* @property {boolean} transparent - Use a transparent canvas background or not.
|
||||
*/
|
||||
this.transparent = transparent;
|
||||
|
||||
/**
|
||||
* @property {boolean} antialias - Anti-alias graphics (in WebGL this helps with edges, in Canvas2D it retains pixel-art quality).
|
||||
*/
|
||||
this.antialias = antialias;
|
||||
|
||||
/**
|
||||
* @property {number} renderer - The Pixi Renderer
|
||||
* @default
|
||||
*/
|
||||
this.renderer = null;
|
||||
|
||||
/**
|
||||
* @property {number} state - The StateManager.
|
||||
*/
|
||||
this.state = new Phaser.StateManager(this, state);
|
||||
|
||||
/**
|
||||
* @property {boolean} _paused - Is game paused?
|
||||
* @private
|
||||
* @default
|
||||
*/
|
||||
this._paused = false;
|
||||
|
||||
/**
|
||||
* @property {number} renderType - The Renderer this Phaser.Game will use. Either Phaser.RENDERER_AUTO, Phaser.RENDERER_CANVAS or Phaser.RENDERER_WEBGL.
|
||||
*/
|
||||
this.renderType = renderer;
|
||||
|
||||
/**
|
||||
* @property {boolean} _loadComplete - Whether load complete loading or not.
|
||||
* @private
|
||||
* @default
|
||||
*/
|
||||
this._loadComplete = false;
|
||||
|
||||
/**
|
||||
* @property {boolean} isBooted - Whether the game engine is booted, aka available.
|
||||
* @default
|
||||
*/
|
||||
this.isBooted = false;
|
||||
|
||||
/**
|
||||
* @property {boolean} id -Is game running or paused?
|
||||
* @default
|
||||
*/
|
||||
this.isRunning = false;
|
||||
|
||||
/**
|
||||
* @property {Phaser.RequestAnimationFrame} raf - Automatically handles the core game loop via requestAnimationFrame or setTimeout
|
||||
* @default
|
||||
*/
|
||||
this.raf = null;
|
||||
|
||||
/**
|
||||
* @property {Phaser.GameObjectFactory} add - Reference to the GameObject Factory.
|
||||
* @default
|
||||
*/
|
||||
this.add = null;
|
||||
|
||||
/**
|
||||
* @property {Phaser.Cache} cache - Reference to the assets cache.
|
||||
* @default
|
||||
*/
|
||||
this.cache = null;
|
||||
|
||||
/**
|
||||
* @property {Phaser.Input} input - Reference to the input manager
|
||||
* @default
|
||||
*/
|
||||
this.input = null;
|
||||
|
||||
/**
|
||||
* @property {Phaser.Loader} load - Reference to the assets loader.
|
||||
* @default
|
||||
*/
|
||||
this.load = null;
|
||||
|
||||
/**
|
||||
* @property {Phaser.GameMath} math - Reference to the math helper.
|
||||
* @default
|
||||
*/
|
||||
this.math = null;
|
||||
|
||||
/**
|
||||
* @property {Phaser.Net} net - Reference to the network class.
|
||||
* @default
|
||||
*/
|
||||
this.net = null;
|
||||
|
||||
/**
|
||||
* @property {Phaser.SoundManager} sound - Reference to the sound manager.
|
||||
* @default
|
||||
*/
|
||||
this.sound = null;
|
||||
|
||||
/**
|
||||
* @property {Phaser.Stage} stage - Reference to the stage.
|
||||
* @default
|
||||
*/
|
||||
this.stage = null;
|
||||
|
||||
/**
|
||||
* @property {Phaser.TimeManager} time - Reference to game clock.
|
||||
* @default
|
||||
*/
|
||||
this.time = null;
|
||||
|
||||
/**
|
||||
* @property {Phaser.TweenManager} tweens - Reference to the tween manager.
|
||||
* @default
|
||||
*/
|
||||
this.tweens = null;
|
||||
|
||||
/**
|
||||
* @property {Phaser.World} world - Reference to the world.
|
||||
* @default
|
||||
*/
|
||||
this.world = null;
|
||||
|
||||
/**
|
||||
* @property {Phaser.Physics.PhysicsManager} physics - Reference to the physics manager.
|
||||
* @default
|
||||
*/
|
||||
this.physics = null;
|
||||
|
||||
/**
|
||||
* @property {Phaser.RandomDataGenerator} rnd - Instance of repeatable random data generator helper.
|
||||
* @default
|
||||
*/
|
||||
this.rnd = null;
|
||||
|
||||
/**
|
||||
* @property {Phaser.Device} device - Contains device information and capabilities.
|
||||
* @default
|
||||
*/
|
||||
this.device = null;
|
||||
|
||||
/**
|
||||
* @property {Phaser.Physics.PhysicsManager} camera - A handy reference to world.camera.
|
||||
* @default
|
||||
*/
|
||||
this.camera = null;
|
||||
|
||||
/**
|
||||
* @property {HTMLCanvasElement} canvas - A handy reference to renderer.view.
|
||||
* @default
|
||||
*/
|
||||
this.canvas = null;
|
||||
|
||||
/**
|
||||
* @property {Context} context - A handy reference to renderer.context (only set for CANVAS games)
|
||||
* @default
|
||||
*/
|
||||
this.context = null;
|
||||
|
||||
/**
|
||||
* @property {Phaser.Utils.Debug} debug - A set of useful debug utilitie.
|
||||
* @default
|
||||
*/
|
||||
this.debug = null;
|
||||
|
||||
/**
|
||||
* @property {Phaser.Particles} particles - The Particle Manager.
|
||||
* @default
|
||||
*/
|
||||
this.particles = null;
|
||||
|
||||
var _this = this;
|
||||
|
||||
this._onBoot = function () {
|
||||
return _this.boot();
|
||||
}
|
||||
|
||||
if (document.readyState === 'complete' || document.readyState === 'interactive')
|
||||
{
|
||||
window.setTimeout(this._onBoot, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
document.addEventListener('DOMContentLoaded', this._onBoot, false);
|
||||
window.addEventListener('load', this._onBoot, false);
|
||||
}
|
||||
|
||||
return this;
|
||||
|
||||
};
|
||||
|
||||
Phaser.Game.prototype = {
|
||||
|
||||
/**
|
||||
* Initialize engine sub modules and start the game.
|
||||
*
|
||||
* @method Phaser.Game#boot
|
||||
* @protected
|
||||
*/
|
||||
boot: function () {
|
||||
|
||||
if (this.isBooted)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (!document.body)
|
||||
{
|
||||
window.setTimeout(this._onBoot, 20);
|
||||
}
|
||||
else
|
||||
{
|
||||
document.removeEventListener('DOMContentLoaded', this._onBoot);
|
||||
window.removeEventListener('load', this._onBoot);
|
||||
|
||||
this.onPause = new Phaser.Signal;
|
||||
this.onResume = new Phaser.Signal;
|
||||
|
||||
this.isBooted = true;
|
||||
|
||||
this.device = new Phaser.Device();
|
||||
this.math = Phaser.Math;
|
||||
this.rnd = new Phaser.RandomDataGenerator([(Date.now() * Math.random()).toString()]);
|
||||
|
||||
this.stage = new Phaser.Stage(this, this.width, this.height);
|
||||
|
||||
this.setUpRenderer();
|
||||
|
||||
this.world = new Phaser.World(this);
|
||||
this.add = new Phaser.GameObjectFactory(this);
|
||||
this.cache = new Phaser.Cache(this);
|
||||
this.load = new Phaser.Loader(this);
|
||||
this.time = new Phaser.Time(this);
|
||||
this.tweens = new Phaser.TweenManager(this);
|
||||
this.input = new Phaser.Input(this);
|
||||
this.sound = new Phaser.SoundManager(this);
|
||||
this.physics = new Phaser.Physics.Arcade(this);
|
||||
this.particles = new Phaser.Particles(this);
|
||||
this.plugins = new Phaser.PluginManager(this, this);
|
||||
this.net = new Phaser.Net(this);
|
||||
this.debug = new Phaser.Utils.Debug(this);
|
||||
|
||||
this.load.onLoadComplete.add(this.loadComplete, this);
|
||||
|
||||
this.stage.boot();
|
||||
this.world.boot();
|
||||
this.input.boot();
|
||||
this.sound.boot();
|
||||
this.state.boot();
|
||||
|
||||
if (this.renderType == Phaser.CANVAS)
|
||||
{
|
||||
console.log('%cPhaser ' + Phaser.VERSION + ' initialized. Rendering to Canvas', 'color: #ffff33; background: #000000');
|
||||
}
|
||||
else
|
||||
{
|
||||
console.log('%cPhaser ' + Phaser.VERSION + ' initialized. Rendering to WebGL', 'color: #ffff33; background: #000000');
|
||||
}
|
||||
|
||||
if (Phaser.VERSION.substr(-5) == '-beta')
|
||||
{
|
||||
console.warn('You are using a beta version of Phaser. Some things may not work.');
|
||||
}
|
||||
|
||||
this.isRunning = true;
|
||||
this._loadComplete = false;
|
||||
|
||||
this.raf = new Phaser.RequestAnimationFrame(this);
|
||||
this.raf.start();
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Checks if the device is capable of using the requested renderer and sets it up or an alternative if not.
|
||||
*
|
||||
* @method Phaser.Game#setUpRenderer
|
||||
* @protected
|
||||
*/
|
||||
setUpRenderer: function () {
|
||||
|
||||
if (this.renderType === Phaser.CANVAS || (this.renderType === Phaser.AUTO && this.device.webGL == false))
|
||||
{
|
||||
if (this.device.canvas)
|
||||
{
|
||||
this.renderType = Phaser.CANVAS;
|
||||
this.renderer = new PIXI.CanvasRenderer(this.width, this.height, this.stage.canvas, this.transparent);
|
||||
Phaser.Canvas.setSmoothingEnabled(this.renderer.context, this.antialias);
|
||||
this.canvas = this.renderer.view;
|
||||
this.context = this.renderer.context;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Error('Phaser.Game - cannot create Canvas or WebGL context, aborting.');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// They requested WebGL, and their browser supports it
|
||||
this.renderType = Phaser.WEBGL;
|
||||
this.renderer = new PIXI.WebGLRenderer(this.width, this.height, this.stage.canvas, this.transparent, this.antialias);
|
||||
this.canvas = this.renderer.view;
|
||||
this.context = null;
|
||||
}
|
||||
|
||||
Phaser.Canvas.addToDOM(this.renderer.view, this.parent, true);
|
||||
Phaser.Canvas.setTouchAction(this.renderer.view);
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Called when the load has finished, after preload was run.
|
||||
*
|
||||
* @method Phaser.Game#loadComplete
|
||||
* @protected
|
||||
*/
|
||||
loadComplete: function () {
|
||||
|
||||
this._loadComplete = true;
|
||||
|
||||
this.state.loadComplete();
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* The core game loop.
|
||||
*
|
||||
* @method Phaser.Game#update
|
||||
* @protected
|
||||
* @param {number} time - The current time as provided by RequestAnimationFrame.
|
||||
*/
|
||||
update: function (time) {
|
||||
|
||||
this.time.update(time);
|
||||
|
||||
if (!this._paused)
|
||||
{
|
||||
this.plugins.preUpdate();
|
||||
this.physics.preUpdate();
|
||||
|
||||
this.input.update();
|
||||
this.tweens.update();
|
||||
this.sound.update();
|
||||
this.world.update();
|
||||
this.particles.update();
|
||||
this.state.update();
|
||||
this.plugins.update();
|
||||
|
||||
this.world.postUpdate();
|
||||
|
||||
this.renderer.render(this.stage._stage);
|
||||
this.plugins.render();
|
||||
this.state.render();
|
||||
|
||||
this.plugins.postRender();
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Nuke the entire game from orbit
|
||||
*
|
||||
* @method Phaser.Game#destroy
|
||||
*/
|
||||
destroy: function () {
|
||||
|
||||
this.state.destroy();
|
||||
|
||||
this.state = null;
|
||||
this.cache = null;
|
||||
this.input = null;
|
||||
this.load = null;
|
||||
this.sound = null;
|
||||
this.stage = null;
|
||||
this.time = null;
|
||||
this.world = null;
|
||||
this.isBooted = false;
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* The paused state of the Game. A paused game doesn't update any of its subsystems.
|
||||
* When a game is paused the onPause event is dispatched. When it is resumed the onResume event is dispatched.
|
||||
* @name Phaser.Game#paused
|
||||
* @property {boolean} paused - Gets and sets the paused state of the Game.
|
||||
*/
|
||||
Object.defineProperty(Phaser.Game.prototype, "paused", {
|
||||
|
||||
get: function () {
|
||||
return this._paused;
|
||||
},
|
||||
|
||||
set: function (value) {
|
||||
|
||||
if (value === true)
|
||||
{
|
||||
if (this._paused == false)
|
||||
{
|
||||
this._paused = true;
|
||||
this.onPause.dispatch(this);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (this._paused)
|
||||
{
|
||||
this._paused = false;
|
||||
this.onResume.dispatch(this);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
</pre>
|
||||
</article>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<footer>
|
||||
|
||||
|
||||
<span class="copyright">
|
||||
Phaser Copyright © 2012-2013 Photon Storm Ltd.
|
||||
</span>
|
||||
<br />
|
||||
|
||||
<span class="jsdoc-message">
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.0-dev</a>
|
||||
on Wed Oct 02 2013 01:12:17 GMT+0100 (BST) using the <a href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<br clear="both">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script src="scripts/sunlight.js"></script>
|
||||
<script src="scripts/sunlight.javascript.js"></script>
|
||||
<script src="scripts/sunlight-plugin.doclinks.js"></script>
|
||||
<script src="scripts/sunlight-plugin.linenumbers.js"></script>
|
||||
<script src="scripts/sunlight-plugin.menu.js"></script>
|
||||
<script src="scripts/jquery.min.js"></script>
|
||||
<script src="scripts/jquery.scrollTo.js"></script>
|
||||
<script src="scripts/jquery.localScroll.js"></script>
|
||||
<script src="scripts/bootstrap-dropdown.js"></script>
|
||||
<script src="scripts/toc.js"></script>
|
||||
|
||||
|
||||
<script> Sunlight.highlightAll({lineNumbers:true, showMenu: true, enableDoclinks :true}); </script>
|
||||
|
||||
<script>
|
||||
$( function () {
|
||||
$( "#toc" ).toc( {
|
||||
selectors : "h1,h2,h3,h4",
|
||||
showAndHide : false,
|
||||
scrollTo : 60
|
||||
} );
|
||||
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
||||
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
||||
|
||||
} );
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -1,680 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>JSDoc: Class: Group</title>
|
||||
|
||||
<script src="scripts/prettify/prettify.js"> </script>
|
||||
<script src="scripts/prettify/lang-css.js"> </script>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
|
||||
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div id="main">
|
||||
|
||||
<h1 class="page-title">Class: Group</h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<section>
|
||||
|
||||
<header>
|
||||
<h2>
|
||||
Group
|
||||
</h2>
|
||||
|
||||
<div class="class-description">A Group is a container for display objects that allows for fast pooling, recycling and collision checks.</div>
|
||||
|
||||
</header>
|
||||
|
||||
<article>
|
||||
<div class="container-overview">
|
||||
|
||||
|
||||
|
||||
|
||||
<dt>
|
||||
<h4 class="name" id="Group"><span class="type-signature"></span>new Group<span class="signature">(game, parent, name, useStage)</span><span class="type-signature"></span></h4>
|
||||
|
||||
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<div class="description">
|
||||
Phaser Group constructor.
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h5>Parameters:</h5>
|
||||
|
||||
|
||||
<table class="params">
|
||||
<thead>
|
||||
<tr>
|
||||
|
||||
<th>Name</th>
|
||||
|
||||
|
||||
<th>Type</th>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<th class="last">Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>game</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
|
||||
<span class="param-type"><a href="Phaser.Game.html">Phaser.Game</a></span>
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last">A reference to the currently running game.</td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>parent</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
|
||||
<span class="param-type">Description</span>
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last">Description.</td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>name</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
|
||||
<span class="param-type">string</span>
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last">The unique name for this animation, used in playback commands.</td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>useStage</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
|
||||
<span class="param-type">boolean</span>
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last">Description.</td>
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
core/Group.js, line 18
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h3 class="subsection-title">Members</h3>
|
||||
|
||||
<dl>
|
||||
|
||||
<dt>
|
||||
<h4 class="name" id="exists"><span class="type-signature"></span>exists<span class="type-signature"></span></h4>
|
||||
|
||||
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
<h5 class="subsection-title">Properties:</h5>
|
||||
|
||||
<dl>
|
||||
|
||||
<table class="props">
|
||||
<thead>
|
||||
<tr>
|
||||
|
||||
<th>Name</th>
|
||||
|
||||
|
||||
<th>Type</th>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<th class="last">Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>exists</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
|
||||
<span class="param-type">boolean</span>
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last">Description.</td>
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table></dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-default">Default Value:</dt>
|
||||
<dd class="tag-default"><ul class="dummy"><li>true</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
core/Group.js, line 72
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
<dt>
|
||||
<h4 class="name" id="game"><span class="type-signature"></span>game<span class="type-signature"></span></h4>
|
||||
|
||||
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
<h5 class="subsection-title">Properties:</h5>
|
||||
|
||||
<dl>
|
||||
|
||||
<table class="props">
|
||||
<thead>
|
||||
<tr>
|
||||
|
||||
<th>Name</th>
|
||||
|
||||
|
||||
<th>Type</th>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<th class="last">Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>game</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
|
||||
<span class="param-type"><a href="Phaser.Game.html">Phaser.Game</a></span>
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last">A reference to the currently running Game.</td>
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table></dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
core/Group.js, line 30
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
<dt>
|
||||
<h4 class="name" id="name"><span class="type-signature"></span>name<span class="type-signature"></span></h4>
|
||||
|
||||
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
<h5 class="subsection-title">Properties:</h5>
|
||||
|
||||
<dl>
|
||||
|
||||
<table class="props">
|
||||
<thead>
|
||||
<tr>
|
||||
|
||||
<th>Name</th>
|
||||
|
||||
|
||||
<th>Type</th>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<th class="last">Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>name</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
|
||||
<span class="param-type"><a href="Phaser.Game.html">Phaser.Game</a></span>
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last">Description.</td>
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table></dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
core/Group.js, line 35
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
<dt>
|
||||
<h4 class="name" id="type"><span class="type-signature"></span>type<span class="type-signature"></span></h4>
|
||||
|
||||
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
<h5 class="subsection-title">Properties:</h5>
|
||||
|
||||
<dl>
|
||||
|
||||
<table class="props">
|
||||
<thead>
|
||||
<tr>
|
||||
|
||||
<th>Name</th>
|
||||
|
||||
|
||||
<th>Type</th>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<th class="last">Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>type</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
|
||||
<span class="param-type">Description</span>
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last">Description.</td>
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table></dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
core/Group.js, line 66
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Modules</h3><ul><li><a href="module-Phaser.html">Phaser</a></li><li><a href="Animation.html">Animation</a></li><li><a href="Camera.html">Camera</a></li><li><a href="Game.html">Game</a></li><li><a href="Group.html">Group</a></li></ul><h3>Classes</h3><ul><li><a href="Phaser.Animation.Frame.html">Frame</a></li><li><a href="Phaser.Animation.FrameData.html">FrameData</a></li><li><a href="Phaser.Animation.Parser.html">Parser</a></li><li><a href="Phaser.AnimationManager.html">AnimationManager</a></li><li><a href="Animation-Phaser.Animation.html">Animation</a></li><li><a href="Camera-Phaser.Camera.html">Camera</a></li><li><a href="Game-Phaser.Game.html">Game</a></li><li><a href="Group-Phaser.Group.html">Group</a></li></ul><h3>Namespaces</h3><ul><li><a href="Phaser.html">Phaser</a></li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.0-dev</a> on Tue Oct 01 2013 16:42:00 GMT+0100 (BST)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
<script src="scripts/linenumber.js"> </script>
|
||||
</body>
|
||||
</html>
|
|
@ -1,135 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>JSDoc: Module: Group</title>
|
||||
|
||||
<script src="scripts/prettify/prettify.js"> </script>
|
||||
<script src="scripts/prettify/lang-css.js"> </script>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
|
||||
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div id="main">
|
||||
|
||||
<h1 class="page-title">Module: Group</h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<section>
|
||||
|
||||
<header>
|
||||
<h2>
|
||||
<span class="ancestors"><a href="Phaser.html">Phaser</a>.</span>
|
||||
|
||||
Group
|
||||
</h2>
|
||||
|
||||
</header>
|
||||
|
||||
<article>
|
||||
<div class="container-overview">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-author">Author:</dt>
|
||||
<dd class="tag-author">
|
||||
<ul>
|
||||
<li><a href="mailto:rich@photonstorm.com">Richard Davey</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
<dt class="tag-copyright">Copyright:</dt>
|
||||
<dd class="tag-copyright"><ul class="dummy"><li>2013 Photon Storm Ltd.</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
<dt class="tag-license">License:</dt>
|
||||
<dd class="tag-license"><ul class="dummy"><li><a href="https://github.com/photonstorm/phaser/blob/master/license.txt">MIT License</a></li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
core/Group.js, line 1
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Modules</h3><ul><li><a href="module-Phaser.html">Phaser</a></li><li><a href="Animation.html">Animation</a></li><li><a href="Camera.html">Camera</a></li><li><a href="Game.html">Game</a></li><li><a href="Group.html">Group</a></li></ul><h3>Classes</h3><ul><li><a href="Phaser.Animation.Frame.html">Frame</a></li><li><a href="Phaser.Animation.FrameData.html">FrameData</a></li><li><a href="Phaser.Animation.Parser.html">Parser</a></li><li><a href="Phaser.AnimationManager.html">AnimationManager</a></li><li><a href="Animation-Phaser.Animation.html">Animation</a></li><li><a href="Camera-Phaser.Camera.html">Camera</a></li><li><a href="Game-Phaser.Game.html">Game</a></li><li><a href="Group-Phaser.Group.html">Group</a></li></ul><h3>Namespaces</h3><ul><li><a href="Phaser.html">Phaser</a></li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.0-dev</a> on Tue Oct 01 2013 16:42:00 GMT+0100 (BST)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
<script src="scripts/linenumber.js"> </script>
|
||||
</body>
|
||||
</html>
|
1308
Docs/out/Group.js.html
Normal file
1308
Docs/out/Group.js.html
Normal file
File diff suppressed because it is too large
Load diff
|
@ -1,135 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>JSDoc: Module: Group</title>
|
||||
|
||||
<script src="scripts/prettify/prettify.js"> </script>
|
||||
<script src="scripts/prettify/lang-css.js"> </script>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
|
||||
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div id="main">
|
||||
|
||||
<h1 class="page-title">Module: Group</h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<section>
|
||||
|
||||
<header>
|
||||
<h2>
|
||||
<span class="ancestors"><a href="Phaser.html">Phaser</a>.</span>
|
||||
|
||||
Group
|
||||
</h2>
|
||||
|
||||
</header>
|
||||
|
||||
<article>
|
||||
<div class="container-overview">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-author">Author:</dt>
|
||||
<dd class="tag-author">
|
||||
<ul>
|
||||
<li><a href="mailto:rich@photonstorm.com">Richard Davey</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
<dt class="tag-copyright">Copyright:</dt>
|
||||
<dd class="tag-copyright"><ul class="dummy"><li>2013 Photon Storm Ltd.</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
<dt class="tag-license">License:</dt>
|
||||
<dd class="tag-license"><ul class="dummy"><li><a href="https://github.com/photonstorm/phaser/blob/master/license.txt">MIT License</a></li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
core/Group.js, line 1
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Modules</h3><ul><li><a href="module-Phaser.html">Phaser</a></li><li><a href="Animation.html">Animation</a></li><li><a href="Camera.html">Camera</a></li><li><a href="Game.html">Game</a></li><li><a href="Group_.html">Group</a></li></ul><h3>Classes</h3><ul><li><a href="Phaser.Animation.Frame.html">Frame</a></li><li><a href="Phaser.Animation.FrameData.html">FrameData</a></li><li><a href="Phaser.Animation.Parser.html">Parser</a></li><li><a href="Phaser.AnimationManager.html">AnimationManager</a></li><li><a href="Animation-Phaser.Animation.html">Animation</a></li><li><a href="Camera-Phaser.Camera.html">Camera</a></li><li><a href="Game-Phaser.Game.html">Game</a></li><li><a href="Group-Phaser.Group.html">Group</a></li></ul><h3>Namespaces</h3><ul><li><a href="Phaser.html">Phaser</a></li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.0-dev</a> on Tue Oct 01 2013 16:40:52 GMT+0100 (BST)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
<script src="scripts/linenumber.js"> </script>
|
||||
</body>
|
||||
</html>
|
|
@ -1,133 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>JSDoc: Module: Parser</title>
|
||||
|
||||
<script src="scripts/prettify/prettify.js"> </script>
|
||||
<script src="scripts/prettify/lang-css.js"> </script>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
|
||||
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div id="main">
|
||||
|
||||
<h1 class="page-title">Module: Parser</h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<section>
|
||||
|
||||
<header>
|
||||
<h2>
|
||||
Parser
|
||||
</h2>
|
||||
|
||||
</header>
|
||||
|
||||
<article>
|
||||
<div class="container-overview">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-author">Author:</dt>
|
||||
<dd class="tag-author">
|
||||
<ul>
|
||||
<li><a href="mailto:rich@photonstorm.com">Richard Davey</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
<dt class="tag-copyright">Copyright:</dt>
|
||||
<dd class="tag-copyright"><ul class="dummy"><li>2013 Photon Storm Ltd.</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
<dt class="tag-license">License:</dt>
|
||||
<dd class="tag-license"><ul class="dummy"><li><a href="https://github.com/photonstorm/phaser/blob/master/license.txt">MIT License</a></li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
animation/Parser.js, line 1
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Modules</h3><ul><li><a href="Frame.html">Frame</a></li><li><a href="FrameData.html">FrameData</a></li><li><a href="Parser.html">Parser</a></li><li><a href="Animation.html">Animation</a></li><li><a href="AnimationManager.html">AnimationManager</a></li></ul><h3>Classes</h3><ul><li><a href="FrameData-Phaser.Animation.FrameData.html">FrameData</a></li><li><a href="Frame-Phaser.Animation.Frame.html">Frame</a></li><li><a href="Phaser.Animation.Parser.html">Parser</a></li><li><a href="AnimationManager-Phaser.AnimationManager.html">AnimationManager</a></li><li><a href="Animation-Phaser.Animation.html">Animation</a></li></ul><h3>Namespaces</h3><ul><li><a href="Phaser.html">Phaser</a></li></ul><h3>Global</h3><ul><li><a href="global.html#add">add</a></li><li><a href="global.html#addFrame">addFrame</a></li><li><a href="global.html#checkFrameName">checkFrameName</a></li><li><a href="global.html#destroy">destroy</a></li><li><a href="global.html#generateFrameNames">generateFrameNames</a></li><li><a href="global.html#getFrame">getFrame</a></li><li><a href="global.html#getFrameByName">getFrameByName</a></li><li><a href="global.html#getFrameIndexes">getFrameIndexes</a></li><li><a href="global.html#getFrameRange">getFrameRange</a></li><li><a href="global.html#getFrames">getFrames</a></li><li><a href="global.html#JSONData">JSONData</a></li><li><a href="global.html#JSONDataHash">JSONDataHash</a></li><li><a href="global.html#onComplete">onComplete</a></li><li><a href="global.html#play">play</a></li><li><a href="global.html#restart">restart</a></li><li><a href="global.html#setTrim">setTrim</a></li><li><a href="global.html#spriteSheet">spriteSheet</a></li><li><a href="global.html#stop">stop</a></li><li><a href="global.html#total">total</a></li><li><a href="global.html#update">update</a></li><li><a href="global.html#validateFrames">validateFrames</a></li><li><a href="global.html#XMLData">XMLData</a></li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.0-dev</a> on Tue Oct 01 2013 15:59:16 GMT+0100 (BST)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
<script src="scripts/linenumber.js"> </script>
|
||||
</body>
|
||||
</html>
|
477
Docs/out/Parser.js.html
Normal file
477
Docs/out/Parser.js.html
Normal file
|
@ -0,0 +1,477 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Phaser Source: animation/Parser.js</title>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
||||
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.cerulean.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="navbar navbar-fixed-top navbar-inverse">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="index.html">Phaser</a>
|
||||
<ul class="nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="module-Phaser.html">Phaser</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="classes.list.html" class="dropdown-toggle" data-toggle="dropdown">Classes<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Animation.html">Animation</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Animation.Frame.html">Frame</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Animation.FrameData.html">FrameData</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Animation.Parser.html">Parser</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.AnimationManager.html">AnimationManager</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Camera.html">Camera</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Game.html">Game</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="Phaser.Group.html">Group</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
|
||||
<div class="span12">
|
||||
|
||||
<div id="main">
|
||||
|
||||
|
||||
|
||||
<h1 class="page-title">Source: animation/Parser.js</h1>
|
||||
|
||||
<section>
|
||||
<article>
|
||||
<pre class="sunlight-highlight-javascript linenums">/**
|
||||
* @author Richard Davey <rich@photonstorm.com>
|
||||
* @copyright 2013 Photon Storm Ltd.
|
||||
* @license {@link https://github.com/photonstorm/phaser/blob/master/license.txt|MIT License}
|
||||
*/
|
||||
|
||||
/**
|
||||
* Responsible for parsing sprite sheet and JSON data into the internal FrameData format that Phaser uses for animations.
|
||||
*
|
||||
* @class Phaser.Animation.Parser
|
||||
*/
|
||||
Phaser.Animation.Parser = {
|
||||
|
||||
/**
|
||||
* Parse a Sprite Sheet and extract the animation frame data from it.
|
||||
*
|
||||
* @method Phaser.Animation.Parser.spriteSheet
|
||||
* @param {Phaser.Game} game - A reference to the currently running game.
|
||||
* @param {string} key - The Game.Cache asset key of the Sprite Sheet image.
|
||||
* @param {number} frameWidth - The fixed width of each frame of the animation.
|
||||
* @param {number} frameHeight - The fixed height of each frame of the animation.
|
||||
* @param {number} [frameMax=-1] - The total number of animation frames to extact from the Sprite Sheet. The default value of -1 means "extract all frames".
|
||||
* @return {Phaser.Animation.FrameData} A FrameData object containing the parsed frames.
|
||||
*/
|
||||
spriteSheet: function (game, key, frameWidth, frameHeight, frameMax) {
|
||||
|
||||
// How big is our image?
|
||||
var img = game.cache.getImage(key);
|
||||
|
||||
if (img == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
var width = img.width;
|
||||
var height = img.height;
|
||||
|
||||
if (frameWidth <= 0)
|
||||
{
|
||||
frameWidth = Math.floor(-width / Math.min(-1, frameWidth));
|
||||
}
|
||||
|
||||
if (frameHeight <= 0)
|
||||
{
|
||||
frameHeight = Math.floor(-height / Math.min(-1, frameHeight));
|
||||
}
|
||||
|
||||
var row = Math.round(width / frameWidth);
|
||||
var column = Math.round(height / frameHeight);
|
||||
var total = row * column;
|
||||
|
||||
if (frameMax !== -1)
|
||||
{
|
||||
total = frameMax;
|
||||
}
|
||||
|
||||
// Zero or smaller than frame sizes?
|
||||
if (width == 0 || height == 0 || width < frameWidth || height < frameHeight || total === 0)
|
||||
{
|
||||
console.warn("Phaser.Animation.Parser.spriteSheet: width/height zero or width/height < given frameWidth/frameHeight");
|
||||
return null;
|
||||
}
|
||||
|
||||
// Let's create some frames then
|
||||
var data = new Phaser.Animation.FrameData();
|
||||
var x = 0;
|
||||
var y = 0;
|
||||
|
||||
for (var i = 0; i < total; i++)
|
||||
{
|
||||
var uuid = game.rnd.uuid();
|
||||
|
||||
data.addFrame(new Phaser.Animation.Frame(i, x, y, frameWidth, frameHeight, '', uuid));
|
||||
|
||||
PIXI.TextureCache[uuid] = new PIXI.Texture(PIXI.BaseTextureCache[key], {
|
||||
x: x,
|
||||
y: y,
|
||||
width: frameWidth,
|
||||
height: frameHeight
|
||||
});
|
||||
|
||||
x += frameWidth;
|
||||
|
||||
if (x === width)
|
||||
{
|
||||
x = 0;
|
||||
y += frameHeight;
|
||||
}
|
||||
}
|
||||
|
||||
return data;
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Parse the JSON data and extract the animation frame data from it.
|
||||
*
|
||||
* @method Phaser.Animation.Parser.JSONData
|
||||
* @param {Phaser.Game} game - A reference to the currently running game.
|
||||
* @param {Object} json - The JSON data from the Texture Atlas. Must be in Array format.
|
||||
* @param {string} cacheKey - The Game.Cache asset key of the texture image.
|
||||
* @return {Phaser.Animation.FrameData} A FrameData object containing the parsed frames.
|
||||
*/
|
||||
JSONData: function (game, json, cacheKey) {
|
||||
|
||||
// Malformed?
|
||||
if (!json['frames'])
|
||||
{
|
||||
console.warn("Phaser.Animation.Parser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array");
|
||||
console.log(json);
|
||||
return;
|
||||
}
|
||||
|
||||
// Let's create some frames then
|
||||
var data = new Phaser.Animation.FrameData();
|
||||
|
||||
// By this stage frames is a fully parsed array
|
||||
var frames = json['frames'];
|
||||
var newFrame;
|
||||
|
||||
for (var i = 0; i < frames.length; i++)
|
||||
{
|
||||
var uuid = game.rnd.uuid();
|
||||
|
||||
newFrame = data.addFrame(new Phaser.Animation.Frame(
|
||||
i,
|
||||
frames[i].frame.x,
|
||||
frames[i].frame.y,
|
||||
frames[i].frame.w,
|
||||
frames[i].frame.h,
|
||||
frames[i].filename,
|
||||
uuid
|
||||
));
|
||||
|
||||
PIXI.TextureCache[uuid] = new PIXI.Texture(PIXI.BaseTextureCache[cacheKey], {
|
||||
x: frames[i].frame.x,
|
||||
y: frames[i].frame.y,
|
||||
width: frames[i].frame.w,
|
||||
height: frames[i].frame.h
|
||||
});
|
||||
|
||||
if (frames[i].trimmed)
|
||||
{
|
||||
newFrame.setTrim(
|
||||
frames[i].trimmed,
|
||||
frames[i].sourceSize.w,
|
||||
frames[i].sourceSize.h,
|
||||
frames[i].spriteSourceSize.x,
|
||||
frames[i].spriteSourceSize.y,
|
||||
frames[i].spriteSourceSize.w,
|
||||
frames[i].spriteSourceSize.h
|
||||
);
|
||||
|
||||
// We had to hack Pixi to get this to work :(
|
||||
PIXI.TextureCache[uuid].trimmed = true;
|
||||
PIXI.TextureCache[uuid].trim.x = frames[i].spriteSourceSize.x;
|
||||
PIXI.TextureCache[uuid].trim.y = frames[i].spriteSourceSize.y;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return data;
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Parse the JSON data and extract the animation frame data from it.
|
||||
*
|
||||
* @method Phaser.Animation.Parser.JSONDataHash
|
||||
* @param {Phaser.Game} game - A reference to the currently running game.
|
||||
* @param {Object} json - The JSON data from the Texture Atlas. Must be in JSON Hash format.
|
||||
* @param {string} cacheKey - The Game.Cache asset key of the texture image.
|
||||
* @return {Phaser.Animation.FrameData} A FrameData object containing the parsed frames.
|
||||
*/
|
||||
JSONDataHash: function (game, json, cacheKey) {
|
||||
|
||||
// Malformed?
|
||||
if (!json['frames'])
|
||||
{
|
||||
console.warn("Phaser.Animation.Parser.JSONDataHash: Invalid Texture Atlas JSON given, missing 'frames' object");
|
||||
console.log(json);
|
||||
return;
|
||||
}
|
||||
|
||||
// Let's create some frames then
|
||||
var data = new Phaser.Animation.FrameData();
|
||||
|
||||
// By this stage frames is a fully parsed array
|
||||
var frames = json['frames'];
|
||||
var newFrame;
|
||||
var i = 0;
|
||||
|
||||
for (var key in frames)
|
||||
{
|
||||
var uuid = game.rnd.uuid();
|
||||
|
||||
newFrame = data.addFrame(new Phaser.Animation.Frame(
|
||||
i,
|
||||
frames[key].frame.x,
|
||||
frames[key].frame.y,
|
||||
frames[key].frame.w,
|
||||
frames[key].frame.h,
|
||||
key,
|
||||
uuid
|
||||
));
|
||||
|
||||
PIXI.TextureCache[uuid] = new PIXI.Texture(PIXI.BaseTextureCache[cacheKey], {
|
||||
x: frames[key].frame.x,
|
||||
y: frames[key].frame.y,
|
||||
width: frames[key].frame.w,
|
||||
height: frames[key].frame.h
|
||||
});
|
||||
|
||||
if (frames[key].trimmed)
|
||||
{
|
||||
newFrame.setTrim(
|
||||
frames[key].trimmed,
|
||||
frames[key].sourceSize.w,
|
||||
frames[key].sourceSize.h,
|
||||
frames[key].spriteSourceSize.x,
|
||||
frames[key].spriteSourceSize.y,
|
||||
frames[key].spriteSourceSize.w,
|
||||
frames[key].spriteSourceSize.h
|
||||
);
|
||||
|
||||
// We had to hack Pixi to get this to work :(
|
||||
PIXI.TextureCache[uuid].trimmed = true;
|
||||
PIXI.TextureCache[uuid].trim.x = frames[key].spriteSourceSize.x;
|
||||
PIXI.TextureCache[uuid].trim.y = frames[key].spriteSourceSize.y;
|
||||
|
||||
}
|
||||
|
||||
i++;
|
||||
}
|
||||
|
||||
return data;
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Parse the XML data and extract the animation frame data from it.
|
||||
*
|
||||
* @method Phaser.Animation.Parser.XMLData
|
||||
* @param {Phaser.Game} game - A reference to the currently running game.
|
||||
* @param {Object} xml - The XML data from the Texture Atlas. Must be in Starling XML format.
|
||||
* @param {string} cacheKey - The Game.Cache asset key of the texture image.
|
||||
* @return {Phaser.Animation.FrameData} A FrameData object containing the parsed frames.
|
||||
*/
|
||||
XMLData: function (game, xml, cacheKey) {
|
||||
|
||||
// Malformed?
|
||||
if (!xml.getElementsByTagName('TextureAtlas'))
|
||||
{
|
||||
console.warn("Phaser.Animation.Parser.XMLData: Invalid Texture Atlas XML given, missing <TextureAtlas> tag");
|
||||
return;
|
||||
}
|
||||
|
||||
// Let's create some frames then
|
||||
var data = new Phaser.Animation.FrameData();
|
||||
var frames = xml.getElementsByTagName('SubTexture');
|
||||
var newFrame;
|
||||
|
||||
for (var i = 0; i < frames.length; i++)
|
||||
{
|
||||
var uuid = game.rnd.uuid();
|
||||
|
||||
var frame = frames[i].attributes;
|
||||
|
||||
newFrame = data.addFrame(new Phaser.Animation.Frame(
|
||||
i,
|
||||
frame.x.nodeValue,
|
||||
frame.y.nodeValue,
|
||||
frame.width.nodeValue,
|
||||
frame.height.nodeValue,
|
||||
frame.name.nodeValue,
|
||||
uuid
|
||||
));
|
||||
|
||||
PIXI.TextureCache[uuid] = new PIXI.Texture(PIXI.BaseTextureCache[cacheKey], {
|
||||
x: frame.x.nodeValue,
|
||||
y: frame.y.nodeValue,
|
||||
width: frame.width.nodeValue,
|
||||
height: frame.height.nodeValue
|
||||
});
|
||||
|
||||
// Trimmed?
|
||||
if (frame.frameX.nodeValue != '-0' || frame.frameY.nodeValue != '-0')
|
||||
{
|
||||
newFrame.setTrim(
|
||||
true,
|
||||
frame.width.nodeValue,
|
||||
frame.height.nodeValue,
|
||||
Math.abs(frame.frameX.nodeValue),
|
||||
Math.abs(frame.frameY.nodeValue),
|
||||
frame.frameWidth.nodeValue,
|
||||
frame.frameHeight.nodeValue
|
||||
);
|
||||
|
||||
PIXI.TextureCache[uuid].realSize = {
|
||||
x: Math.abs(frame.frameX.nodeValue),
|
||||
y: Math.abs(frame.frameY.nodeValue),
|
||||
w: frame.frameWidth.nodeValue,
|
||||
h: frame.frameHeight.nodeValue
|
||||
};
|
||||
|
||||
// We had to hack Pixi to get this to work :(
|
||||
PIXI.TextureCache[uuid].trimmed = true;
|
||||
PIXI.TextureCache[uuid].trim.x = Math.abs(frame.frameX.nodeValue);
|
||||
PIXI.TextureCache[uuid].trim.y = Math.abs(frame.frameY.nodeValue);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return data;
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
</pre>
|
||||
</article>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<footer>
|
||||
|
||||
|
||||
<span class="copyright">
|
||||
Phaser Copyright © 2012-2013 Photon Storm Ltd.
|
||||
</span>
|
||||
<br />
|
||||
|
||||
<span class="jsdoc-message">
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.0-dev</a>
|
||||
on Wed Oct 02 2013 01:12:17 GMT+0100 (BST) using the <a href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<br clear="both">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script src="scripts/sunlight.js"></script>
|
||||
<script src="scripts/sunlight.javascript.js"></script>
|
||||
<script src="scripts/sunlight-plugin.doclinks.js"></script>
|
||||
<script src="scripts/sunlight-plugin.linenumbers.js"></script>
|
||||
<script src="scripts/sunlight-plugin.menu.js"></script>
|
||||
<script src="scripts/jquery.min.js"></script>
|
||||
<script src="scripts/jquery.scrollTo.js"></script>
|
||||
<script src="scripts/jquery.localScroll.js"></script>
|
||||
<script src="scripts/bootstrap-dropdown.js"></script>
|
||||
<script src="scripts/toc.js"></script>
|
||||
|
||||
|
||||
<script> Sunlight.highlightAll({lineNumbers:true, showMenu: true, enableDoclinks :true}); </script>
|
||||
|
||||
<script>
|
||||
$( function () {
|
||||
$( "#toc" ).toc( {
|
||||
selectors : "h1,h2,h3,h4",
|
||||
showAndHide : false,
|
||||
scrollTo : 60
|
||||
} );
|
||||
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
||||
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
||||
|
||||
} );
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
File diff suppressed because it is too large
Load diff
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue