UNPKG

processing-js

Version:

For the project website, visit http://processingjs.org

133 lines (116 loc) • 3.76 kB
// Base source files var source = { virtEquals: require("./Helpers/virtEquals"), virtHashCode: require("./Helpers/virtHashCode"), ObjectIterator: require("./Helpers/ObjectIterator"), PConstants: require("./Helpers/PConstants"), ArrayList: require("./Objects/ArrayList"), HashMap: require("./Objects/HashMap"), PVector: require("./Objects/PVector"), PFont: require("./Objects/PFont"), Char: require("./Objects/Char"), XMLAttribute: require("./Objects/XMLAttribute"), XMLElement: require("./Objects/XMLElement"), PMatrix2D: require("./Objects/PMatrix2D"), PMatrix3D: require("./Objects/PMatrix3D"), PShape: require("./Objects/PShape"), colors: require("./Objects/webcolors"), PShapeSVG: require("./Objects/PShapeSVG"), CommonFunctions: require("./P5Functions/commonFunctions"), defaultScope: require("./Helpers/defaultScope"), Processing: require("./Processing"), setupParser: require("./Parser/Parser"), finalize: require("./Helpers/finalizeProcessing") }; // Additional code that gets tacked onto "p" during // instantiation of a Processing sketch. source.extend = { withMath: require("./P5Functions/Math.js"), withProxyFunctions: require("./P5Functions/JavaProxyFunctions")(source.virtHashCode, source.virtEquals), withTouch: require("./P5Functions/touchmouse"), withCommonFunctions: source.CommonFunctions.withCommonFunctions }; /** * Processing.js building function */ module.exports = function buildProcessingJS(Browser, testHarness) { var noop = function(){}, virtEquals = source.virtEquals, virtHashCode = source.virtHashCode, PConstants = source.PConstants, CommonFunctions = source.CommonFunctions, ObjectIterator = source.ObjectIterator, Char = source.Char, XMLAttribute = source.XMLAttribute(), ArrayList = source.ArrayList({ virtHashCode: virtHashCode, virtEquals: virtEquals }), HashMap = source.HashMap({ virtHashCode: virtHashCode, virtEquals: virtEquals }), PVector = source.PVector({ PConstants: PConstants }), PFont = source.PFont({ Browser: Browser, noop: noop }), XMLElement = source.XMLElement({ Browser: Browser, XMLAttribute: XMLAttribute }), PMatrix2D = source.PMatrix2D({ p:CommonFunctions }), PMatrix3D = source.PMatrix3D({ p:CommonFunctions }), PShape = source.PShape({ PConstants: PConstants, PMatrix2D: PMatrix2D, PMatrix3D: PMatrix3D }), PShapeSVG = source.PShapeSVG({ CommonFunctions: CommonFunctions, PConstants: PConstants, PShape: PShape, XMLElement: XMLElement, colors: source.colors }), defaultScope = source.defaultScope({ ArrayList: ArrayList, HashMap: HashMap, PVector: PVector, PFont: PFont, PShapeSVG: PShapeSVG, ObjectIterator: ObjectIterator, PConstants: PConstants, Char: Char, XMLElement: XMLElement, XML: XMLElement }), Processing = source.Processing({ defaultScope: defaultScope, Browser: Browser, extend: source.extend, noop: noop }); // set up the Processing syntax parser Processing = source.setupParser(Processing, { Browser: Browser, aFunctions: testHarness, defaultScope: defaultScope }); // finalise the Processing object Processing = source.finalize(Processing, { version: require('../package.json').version, isDomPresent: false || Browser.isDomPresent, window: Browser.window, document: Browser.document, noop: noop }); // done. return Processing; };