1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230
|
/** This file is intended solely for being parsed by JSDoc
to produce documentation for the FreeJ's Javascript API
it is not a script you can run into FreeJ
it is not intended to be an example of good JavaScript OO-programming,
nor is it intended to fulfill any specific purpose apart from generating documentation
@author Denis Jaromil Rojo
@version 0.9
*/
///////////////////////
/// GLOBAL FUNCTIONS
/** Run the engine for the indicated amount of time
@param {double} time seconds or a fraction of seconds
*/
function run(time) { };
/** Quit the running script and close all open layers */
function quit() { };
/** Print a string to standard output console
@param {string} string text to be printed to console
*/
function echo(string) { };
/** Process instructions from another javascript file
@param {string} filename full path to a FreeJ script
*/
function include(filename) { };
/** Execute an external program on the running system
@param {string} program executable to be called (current PATH is searched)
@param {string} arg1 first argument for the program called
@param {string} arg2 second argument for the program called
*/
function exec(program, arg1, arg2, ...) { };
/** Add a layer to the engine and start processing it
@param {Layer} layer instance of the layer to be added
*/
function add_layer(layer) { };
/** Remove a layer from the engine but does _not_ stop processing it.
A removed layer can still be accessed and added again. It lives as long any js
objects holds a reference to it. Use "delete layer" and by the next garbage collection,
it will be finally destroyed, freeing memory and cpu.
@param {Layer} layer instance to be removed
*/
function rem_layer(layer) { };
/** List all layers currently registered and processed by the running engine
@return array of Layer instances
@type Array
*/
function list_layers() { };
/** Check if a "needle" string is contained inside an "haystack" string
@param {string} haystack longer string in which we want to search for the needle
@param {string} needle shorter string we are searching for
@return 1 if needle is found, 0 otherwise
@type int
*/
function strstr(haystack, needle) { };
/** List all files inside a directory
@param {string} dir directory location to explore for files present in it
@return array of filenames (strings) found
@type string
*/
function scandir(dir) { };
/** Parse a textfile loading in memory all words contained in it
@param {string} file text to be loaded in memory
@return array of words found in the file
@type Array
*/
function file_to_strings(file) { };
/** Register a controller for the running engine
@param {Controller} controller instance of the controller to be registered
*/
function register_controller(controller) { };
/** Removes a controller for the running engine
@param {Controller} controller instance of the controller to be removed.
The controller can be registered again.
*/
function rem_controller(controller) { };
///////////////////////////////////////////////////
// IMAGE LAYER
/**
This constructor is used to create new instances of this layer,
It will be then possible to load an image file using the {@link #open} method
@class The Image Layer can load images of various formats: PNG, JPG, BMP, GIF and more
@author Sam Lantinga (SDL_image)
@constructor
@returns a new allocated Image Layer
*/
function ImageLayer() { };
ImageLayer.prototype = new Layer();
/** Open an image file to be displayed in the ImageLayer
@param {string} file_name full path to the image to be opened */
function open(file_name) { };
ImageLayer.prototype.open = open;
///////////////////////////////////////////////////
// PARTICLE GENERATOR LAYER
/**
The Particle Generator constructor is used to create new instances of this layer
@class The Particle Generator will compute and display shiny moving particles
@author Jaromil
@constructor
@returns a new allocated Particle Generator Layer
*/
function ParticleLayer() { };
ParticleLayer.prototype = new Layer();
/** Recalculate the particle generator flow. This algorithm is a
combination of prime numbers and moderate randomness. There are
two directions which we can choose for the recalculation: more
complex (cloud) or less complex (simple circle).
@param {int} complexity is diminished by a value of 0 and augmented by 1 */
function blossom(complexity) { };
ParticleLayer.prototype.blossom = blossom;
///////////////////////
//////// TODO below:
///////////////////////////////////////////////////
// TEXT LAYER
/** The Text Layer constructor is used to create new instances of this layer
@class The Text Layer renders letters, words or .txt files using true-type
fonts, it can cycle (blinking) words in a long text.
@author Sam Lantinga (SDL_ttf), Jaromil
@constructor
@returns a new allocated Text Layer
*/
function TextLayer() { };
TextLayer.prototype = new Layer();
/** Renders a text string in the layer using the currently configured font and size
@param {string} string text string to be rendered
*/
function print(string) { };
TextLayer.prototype.print = print;
/** Chooses the color to be used to render the text.
The value can be a RGB triplet or a single string in typical HTML format,
i.e: #FFEEDD
@param {int} red red value for the RGB color triplet
@param {int} green green value for the RGB color triplet
@param {int} blue blue value for the RGB color triplet
*/
function text_color(red, green, blue) { };
TextLayer.prototype.color = text_color;
/** Chooses the font to be used when rendering the text.
@param {string} font_file full path to the True Type (.TTF) font to be used
@returns false if font is not found, true otherwise
*/
function font(font_file) { };
TextLayer.prototype.font = font;
/** Set the font size of the rendered text, relative to the width of a single char, in pixels.
@param {int} char_size size of a char in pixels
*/
function size(char_size) { };
TextLayer.prototype.size = size;
/** Calculates the width and height of the layer if a specific string would be rendered,
so you can acknowledge the occupation of the text on screen with current font and size
selected.
@param {string} string text that we would like to measure
@returns array containing width[0] and height[1] values in pixel
@type Array
*/
function calculate_size(string) { };
TextLayer.prototype.calculate_size = calculate_size;
///////////////////////////////////////////////////
// MOVIE LAYER
/** The Movie Layer constructor is used to create new instances of this layer
@class The Movie Layer can load video files or streams and play them back
as a manipulable layer surface.
@author FFMpeg, Kysucix
@constructor
@returns a new allocated Movie Layer
*/
function MovieLayer() { };
MovieLayer.prototype = new Layer();
///////////////////////////////////////////////////
// FLASH LAYER
function FlashLayer() { };
FlashLayer.prototype = new Layer();
///////////////////////////////////////////////////
// CAMERA LAYER
function CamLayer() { };
CamLayer.prototype = new Layer();
|