diff --git a/Project.xml b/Project.xml index 53928e72..cf1975a8 100644 --- a/Project.xml +++ b/Project.xml @@ -2,7 +2,7 @@ - + @@ -121,14 +121,25 @@ - - - + + + + + + + + + + + + + + diff --git a/docs/CNAME b/art/docs/CNAME similarity index 100% rename from docs/CNAME rename to art/docs/CNAME diff --git a/docs/img/skin-funkin-cardbordtoast.jpg b/art/docs/img/skin-funkin-cardbordtoast.jpg similarity index 100% rename from docs/img/skin-funkin-cardbordtoast.jpg rename to art/docs/img/skin-funkin-cardbordtoast.jpg diff --git a/docs/index.html b/art/docs/index.html similarity index 100% rename from docs/index.html rename to art/docs/index.html diff --git a/docs/readme.md b/art/docs/readme.md similarity index 100% rename from docs/readme.md rename to art/docs/readme.md diff --git a/docs/styles.css b/art/docs/styles.css similarity index 100% rename from docs/styles.css rename to art/docs/styles.css diff --git a/buildnumber.txt b/buildnumber.txt index 65de5029..f1efb205 100644 --- a/buildnumber.txt +++ b/buildnumber.txt @@ -1 +1 @@ -294 \ No newline at end of file +300 \ No newline at end of file diff --git a/docs/doc.xml b/docs/doc.xml new file mode 100644 index 00000000..05966757 --- /dev/null +++ b/docs/doc.xml @@ -0,0 +1,212859 @@ + + + + + + + + + + + + 0 + + + + + + idEnumerator++ + * A unique ID starting from 0 and increasing by 1 for each subsequent `FlxBasic` that is created. + + + + true + * Controls whether `update()` is automatically called by `FlxState`/`FlxGroup`. + + + + true + * Controls whether `draw()` is automatically called by `FlxState`/`FlxGroup`. + + + + true + * Useful state for many game objects - "dead" (`!alive`) vs `alive`. `kill()` and + * `revive()` both flip this switch (along with `exists`, but you can override that). + + + + true + * Controls whether `update()` and `draw()` are automatically called by `FlxState`/`FlxGroup`. + + + + * Gets or sets the first camera of this object. + + + + * This determines on which `FlxCamera`s this object will be drawn. If it is `null` / has not been + * set, it uses the list of default draw targets, which is controlled via `FlxG.camera.setDefaultDrawTarget` + * as well as the `DefaultDrawTarget` argument of `FlxG.camera.add`. + + + + + NONE + + + * Enum that informs the collision system which type of object this is (to avoid expensive type casting). + + <_cameras> + + + + + + * **WARNING:** A destroyed `FlxBasic` can't be used anymore. + * It may even cause crashes if it is still part of a group or state. + * You may want to use `kill()` instead if you want to disable the object temporarily only and `revive()` it later. + * + * This function is usually not called manually (Flixel calls it automatically during state switches for all `add()`ed objects). + * + * Override this function to `null` out variables manually or call `destroy()` on class members if necessary. + * Don't forget to call `super.destroy()`! + + + + * Handy function for "killing" game objects. Use `reset()` to revive them. + * Default behavior is to flag them as nonexistent AND dead. + * However, if you want the "corpse" to remain in the game, like to animate an effect or whatever, + * you should `override` this, setting only `alive` to `false`, and leaving `exists` `true`. + + + + * Handy function for bringing game objects "back to life". Just sets `alive` and `exists` back to `true`. + * In practice, this function is most often called by `FlxObject#reset()`. + + + + + + + * Override this function to update your class's position and appearance. + * This is where most of your game rules and behavioral code will go. + + + + * Override this function to control how the object is drawn. + * Doing so is rarely necessary, but can be very useful. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * This is a useful "generic" Flixel object. Both `FlxObject` and + * `FlxGroup` extend this class. Has no size, position or graphical data. + + + + + + <_inPool> + + + + + + + + + + + + <_pool expr="new FlxPool<FlxRect>(FlxRect)" line="15" static="1"> + + (FlxRect)]]> + + + + + + + + + + { Height : 0, Width : 0, Y : 0, X : 0 } + * Recycle or create new FlxRect. + * Be sure to put() them back into the pool after you're done with them! + + + + + + + + + + { Height : 0, Width : 0, Y : 0, X : 0 } + * Recycle or create a new FlxRect which will automatically be released + * to the pool when passed into a flixel function. + + + + + + + + + * The x coordinate of the left side of the rectangle. + + + + * The x coordinate of the right side of the rectangle. + + + + * The y coordinate of the top of the rectangle. + + + + * The y coordinate of the bottom of the rectangle. + + + + * Whether width or height of this rectangle is equal to zero or not. + + <_weak expr="false"> + + false + + <_inPool expr="false"> + + false + + + + * Add this FlxRect to the recycling pool. + + + + * Add this FlxPoint to the recycling pool if it's a weak reference (allocated via weak()). + + + + + + + + * Shortcut for setting both width and Height. + * + * @param Width The new sprite width. + * @param Height The new sprite height. + + + + + + + + * Shortcut for setting both x and y. + + + + + + + + + + { Height : 0, Width : 0, Y : 0, X : 0 } + * Fill this rectangle with the data provided. + * + * @param X The X-coordinate of the point in space. + * @param Y The Y-coordinate of the point in space. + * @param Width Desired width of the rectangle. + * @param Height Desired height of the rectangle. + * @return A reference to itself. + + + + + + + * Helper function, just copies the values from the specified rectangle. + * + * @param Rect Any FlxRect. + * @return A reference to itself. + + + + + + + * Helper function, just copies the values from this rectangle to the specified rectangle. + * + * @param Point Any FlxRect. + * @return A reference to the altered rectangle parameter. + + + + + + + * Helper function, just copies the values from the specified Flash rectangle. + * + * @param FlashRect Any Rectangle. + * @return A reference to itself. + + + + + + + * Helper function, just copies the values from this rectangle to the specified Flash rectangle. + * + * @param Point Any Rectangle. + * @return A reference to the altered rectangle parameter. + + + + + + + * Checks to see if some FlxRect object overlaps this FlxRect object. + * + * @param Rect The rectangle being tested. + * @return Whether or not the two rectangles overlap. + + + + + + + * Returns true if this FlxRect contains the FlxPoint + * + * @param Point The FlxPoint to check + * @return True if the FlxPoint is within this FlxRect, otherwise false + + + + + + + * Add another rectangle to this one by filling in the + * horizontal and vertical space between the two rectangles. + * + * @param Rect The second FlxRect to add to this one + * @return The changed FlxRect + + + + * Rounds x, y, width and height using Math.floor() + + + + * Rounds x, y, width and height using Math.ceil() + + + + * Rounds x, y, width and height using Math.round() + + + + + + + + * Calculation of bounding box for two points + * + * @param point1 first point to calculate bounding box + * @param point2 second point to calculate bounding box + * @return this rectangle filled with the position and size of bounding box for two specified points + + + + + + + * Add another point to this rectangle one by filling in the + * horizontal and vertical space between the point and this rectangle. + * + * @param Point point to add to this one + * @return The changed FlxRect + + + + + + + + + + + + + + * Calculates the globally aligned bounding box of a `FlxRect` with the given angle and origin. + * @param degrees The rotation, in degrees of the rect. + * @param origin The relative pivot point, or the point that the rectangle rotates around. + * if `null` , the top-left (or 0,0) is used. + * @param newRect Optional output `FlxRect`, if `null`, a new one is created. Note: If you like, you can + * pass in the input rect to manipulate it. ex: `rect.calcRotatedBounds(angle, null, rect)` + * @return A globally aligned `FlxRect` that fully contains the input rectangle. + * @since 4.11.0 + + + + * Necessary for IFlxDestroyable. + + + + + + + * Checks if this rectangle's properties are equal to properties of provided rect. + * + * @param rect Rectangle to check equality to. + * @return Whether both rectangles are equal. + + + + + + + + * Returns the area of intersection with specified rectangle. + * If the rectangles do not intersect, this method returns an empty rectangle. + * + * @param rect Rectangle to check intersection against. + * @return The area of intersection of two rectangles. + + + + * Convert object to readable string name. Useful for debugging, save games, etc. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { Height : 0, Width : 0, Y : 0, X : 0 } + + + + * Stores a rectangle. + + + + + + + false + * Default value for `FlxObject`'s `pixelPerfectPosition` var. + + + + 4 + * This value dictates the maximum number of pixels two objects have to intersect + * before collision stops trying to separate them. + * Don't modify this unless your objects are passing through each other. + + + + FlxDirectionFlags.LEFT + * Generic value for "left". Used by `facing`, `allowCollisions`, and `touching`. + * Note: This exists for backwards compatibility, prefer using `FlxDirectionFlags.LEFT` directly. + + + + FlxDirectionFlags.RIGHT + * Generic value for "right". Used by `facing`, `allowCollisions`, and `touching`. + * Note: This exists for backwards compatibility, prefer using `FlxDirectionFlags.RIGHT` directly. + + + + FlxDirectionFlags.UP + * Generic value for "up". Used by `facing`, `allowCollisions`, and `touching`. + * Note: This exists for backwards compatibility, prefer using `FlxDirectionFlags.UP` directly. + + + + FlxDirectionFlags.DOWN + * Generic value for "down". Used by `facing`, `allowCollisions`, and `touching`. + * Note: This exists for backwards compatibility, prefer using `FlxDirectionFlags.DOWN` directly. + + + + FlxDirectionFlags.NONE + * Special-case constant meaning no collisions, used mainly by `allowCollisions` and `touching`. + * Note: This exists for backwards compatibility, prefer using `FlxDirectionFlags.NONE` directly. + + + + FlxDirectionFlags.CEILING + * Special-case constant meaning up, used mainly by `allowCollisions` and `touching`. + * Note: This exists for backwards compatibility, prefer using `FlxDirectionFlags.CEILING` directly. + + + + FlxDirectionFlags.FLOOR + * Special-case constant meaning down, used mainly by `allowCollisions` and `touching`. + * Note: This exists for backwards compatibility, prefer using `FlxDirectionFlags.FLOOR` directly. + + + + FlxDirectionFlags.WALL + * Special-case constant meaning only the left and right sides, used mainly by `allowCollisions` and `touching`. + * Note: This exists for backwards compatibility, prefer using `FlxDirectionFlags.WALL` directly. + + + + FlxDirectionFlags.ANY + * Special-case constant meaning any direction, used mainly by `allowCollisions` and `touching`. + * Note: This exists for backwards compatibility, prefer using `FlxDirectionFlags.ANY` directly. + + <_firstSeparateFlxRect expr="FlxRect.get()" line="91" static="1"> + + + FlxRect.get() + + + + <_secondSeparateFlxRect expr="FlxRect.get()" line="93" static="1"> + + + FlxRect.get() + + + + + + + + + + * The main collision resolution function in Flixel. + * + * @param Object1 Any `FlxObject`. + * @param Object2 Any other `FlxObject`. + * @return Whether the objects in fact touched and were separated. + + + + + + + + * Similar to `separate()`, but only checks whether any overlap is found and updates + * the `touching` flags of the input objects, but no separation is performed. + * + * @param Object1 Any `FlxObject`. + * @param Object2 Any other `FlxObject`. + * @return Whether the objects in fact touched. + + + + + + + + + + { checkMaxOverlap : true } + + + * Internal function that computes overlap among two objects on the X axis. It also updates the `touching` variable. + * `checkMaxOverlap` is used to determine whether we want to exclude (therefore check) overlaps which are + * greater than a certain maximum (linked to `SEPARATE_BIAS`). Default is `true`, handy for `separateX` code. + + + + + + + + * The X-axis component of the object separation process. + * + * @param Object1 Any `FlxObject`. + * @param Object2 Any other `FlxObject`. + * @return Whether the objects in fact touched and were separated along the X axis. + + + + + + + + * Checking overlap and updating `touching` variables, X-axis part used by `updateTouchingFlags`. + * + * @param Object1 Any `FlxObject`. + * @param Object2 Any other `FlxObject`. + * @return Whether the objects in fact touched along the X axis. + + + + + + + + + + { checkMaxOverlap : true } + + + * Internal function that computes overlap among two objects on the Y axis. It also updates the `touching` variable. + * `checkMaxOverlap` is used to determine whether we want to exclude (therefore check) overlaps which are + * greater than a certain maximum (linked to `SEPARATE_BIAS`). Default is `true`, handy for `separateY` code. + + + + + + + + * The Y-axis component of the object separation process. + * + * @param Object1 Any `FlxObject`. + * @param Object2 Any other `FlxObject`. + * @return Whether the objects in fact touched and were separated along the Y axis. + + + + + + + + * Checking overlap and updating touching variables, Y-axis part used by `updateTouchingFlags`. + * + * @param Object1 Any `FlxObject`. + * @param Object2 Any other `FlxObject`. + * @return Whether the objects in fact touched along the Y axis. + + + + 0 + * X position of the upper left corner of this object in world space. + + + + 0 + * Y position of the upper left corner of this object in world space. + + + + + * The width of this object's hitbox. For sprites, use `offset` to control the hitbox position. + + + + + * The height of this object's hitbox. For sprites, use `offset` to control the hitbox position. + + + + * Whether or not the coordinates should be rounded during rendering. + * Does not affect `copyPixels()`, which can only render on whole pixels. + * Defaults to the camera's global `pixelPerfectRender` value, + * but overrides that value if not equal to `null`. + + + + true + * Whether or not the position of this object should be rounded before any `draw()` or collision checking. + + + + 0 + * Set the angle (in degrees) of a sprite to rotate it. WARNING: rotating sprites + * decreases their rendering performance by a factor of ~10x when using blitting! + + + + true + * Set this to `false` if you want to skip the automatic motion/movement stuff (see `updateMotion()`). + * `FlxObject` and `FlxSprite` default to `true`. `FlxText`, `FlxTileblock` and `FlxTilemap` default to `false`. + + + + false + * Whether an object will move/alter position after a collision. + + + + * Whether the object collides or not. For more control over what directions the object will collide from, + * use collision constants (like `LEFT`, `FLOOR`, etc) to set the value of `allowCollisions` directly. + + + + * Controls how much this object is affected by camera scrolling. `0` = no movement (e.g. a background layer), + * `1` = same movement speed as the foreground. Default value is `(1,1)`, + * except for UI elements like `FlxButton` where it's `(0,0)`. + + + + * The basic speed of this object (in pixels per second). + + + + * How fast the speed of this object is changing (in pixels per second). + * Useful for smooth movement and gravity. + + + + * This isn't drag exactly, more like deceleration that is only applied + * when `acceleration` is not affecting the sprite. + + + + * If you are using `acceleration`, you can use `maxVelocity` with it + * to cap the speed automatically (very useful!). + + + + * Important variable for collision processing. + * By default this value is set automatically during at the start of `update()`. + + + + 1 + * The virtual mass of the object. Default value is 1. Currently only used with elasticity + * during collision resolution. Change at your own risk; effects seem crazy unpredictable so far! + + + + 0 + * The bounciness of this object. Only affects collisions. Default value is 0, or "not bouncy at all." + + + + 0 + * This is how fast you want this sprite to spin (in degrees per second). + + + + 0 + * How fast the spin speed should change (in degrees per second). + + + + 0 + * Like drag but for spinning. + + + + 10000 + * Use in conjunction with angularAcceleration for fluid spin speed control. + + + + 1 + * Handy for storing health percentage or armor points or whatever. + + + + NONE + * Bit field of flags (use with UP, DOWN, LEFT, RIGHT, etc) indicating surface contacts. Use bitwise operators to check the values + * stored here, or use isTouching(), justTouched(), etc. You can even use them broadly as boolean values if you're feeling saucy! + + + + NONE + * Bit field of flags (use with UP, DOWN, LEFT, RIGHT, etc) indicating surface contacts from the previous game loop step. Use bitwise operators to check the values + * stored here, or use isTouching(), justTouched(), etc. You can even use them broadly as boolean values if you're feeling saucy! + + + + ANY + * Bit field of flags (use with UP, DOWN, LEFT, RIGHT, etc) indicating collision directions. Use bitwise operators to check the values stored here. + * Useful for things like one-way platforms (e.g. allowCollisions = UP;). The accessor "solid" just flips this variable between NONE and ANY. + + + + true + * Whether this sprite is dragged along with the horizontal movement of objects it collides with + * (makes sense for horizontally-moving platforms in platformers for example). + + + + null + * The path this object follows. Not initialized by default. + * Assign a `new FlxPath()` object and `start()` it if you want to this object to follow a path. + * Set `path` to `null` again to stop following the path. + * See `flixel.util.FlxPath` for more info and usage examples. + + <_point expr="FlxPoint.get()"> + + + FlxPoint.get() + + + + <_rect expr="FlxRect.get()"> + + + FlxRect.get() + + + + + + + * Internal function for initialization of some object's variables. + + + + + * Internal function for initialization of some variables that are used in `updateMotion()`. + + + + * **WARNING:** A destroyed `FlxBasic` can't be used anymore. + * It may even cause crashes if it is still part of a group or state. + * You may want to use `kill()` instead if you want to disable the object temporarily only and `revive()` it later. + * + * This function is usually not called manually (Flixel calls it automatically during state switches for all `add()`ed objects). + * + * Override this function to `null` out variables manually or call `destroy()` on class members if necessary. + * Don't forget to call `super.destroy()`! + + + + + + + * Override this function to update your class's position and appearance. + * This is where most of your game rules and behavioral code will go. + + + + + + + + * Internal function for updating the position and speed of this object. + * Useful for cases when you need to update this but are buried down in too many supers. + * Does a slightly fancier-than-normal integration to help with higher fidelity framerate-independent motion. + + + + * Rarely called, and in this case just increments the visible objects count and calls `drawDebug()` if necessary. + + + + + + + + + + { InScreenSpace : false } + flixel.group.FlxTypedGroup + + * Checks to see if some `FlxObject` overlaps this `FlxObject` or `FlxGroup`. + * If the group has a LOT of things in it, it might be faster to use `FlxG.overlap()`. + * WARNING: Currently tilemaps do NOT support screen space overlap checks! + * + * @param ObjectOrGroup The object or group being tested. + * @param InScreenSpace Whether to take scroll factors into account when checking for overlap. + * Default is `false`, or "only compare in world space." + * @param Camera Specify which game camera you want. + * If `null`, it will just grab the first global camera. + * @return Whether or not the two objects overlap. + + + + + + + + + + + + + + + + + + + + + + + { InScreenSpace : false } + flixel.group.FlxTypedGroup + + * Checks to see if this `FlxObject` were located at the given position, + * would it overlap the `FlxObject` or `FlxGroup`? + * This is distinct from `overlapsPoint()`, which just checks that point, + * rather than taking the object's size into account. + * WARNING: Currently tilemaps do NOT support screen space overlap checks! + * + * @param X The X position you want to check. + * Pretends this object (the caller, not the parameter) is located here. + * @param Y The Y position you want to check. + * Pretends this object (the caller, not the parameter) is located here. + * @param ObjectOrGroup The object or group being tested. + * @param InScreenSpace Whether to take scroll factors into account when checking for overlap. + * Default is `false`, or "only compare in world space." + * @param Camera Specify which game camera you want. + * If `null`, it will just grab the first global camera. + * @return Whether or not the two objects overlap. + + + + + + + + + + + + + + + + + + + + { InScreenSpace : false } + * Checks to see if a point in 2D world space overlaps this `FlxObject`. + * + * @param Point The point in world space you want to check. + * @param InScreenSpace Whether to take scroll factors into account when checking for overlap. + * @param Camera Specify which game camera you want. + * If `null`, it will just grab the first global camera. + * @return Whether or not the point overlaps this object. + + + + * Check and see if this object is currently within the world bounds - + * useful for killing objects that get too far away. + * + * @return Whether the object is within the world bounds or not. + + + + + + + + * Call this function to figure out the on-screen position of the object. + * + * @param Point Takes a `FlxPoint` object and assigns the post-scrolled X and Y values of this object to it. + * @param Camera Specify which game camera you want. + * If `null`, it will just grab the first global camera. + * @return The Point you passed in, or a new Point if you didn't pass one, + * containing the screen X and Y position of this object. + + + + + + + + + + + * Retrieve the midpoint of this object in world coordinates. + * + * @param point Allows you to pass in an existing `FlxPoint` object if you're so inclined. + * Otherwise a new one is created. + * @return A `FlxPoint` object containing the midpoint of this object in world coordinates. + + + + + + + + + + + + * Handy function for reviving game objects. + * Resets their existence flags and position. + * + * @param X The new X position of this object. + * @param Y The new Y position of this object. + + + + + + + * Check and see if this object is currently on screen. + * + * @param Camera Specify which game camera you want. + * If `null`, it will just grab the first global camera. + * @return Whether the object is on screen or not. + + + + + + + * Check if object is rendered pixel perfect on a specific camera. + + + + + + + * Handy function for checking if this object is touching a particular surface. + * Be sure to check it before calling `super.update()`, as that will reset the flags. + * + * @param Direction Any of the collision flags (e.g. `LEFT`, `FLOOR`, etc). + * @return Whether the object is touching an object in (any of) the specified direction(s) this frame. + + + + + + + * Handy function for checking if this object is just landed on a particular surface. + * Be sure to check it before calling `super.update()`, as that will reset the flags. + * + * @param Direction Any of the collision flags (e.g. `LEFT`, `FLOOR`, etc). + * @return Whether the object just landed on (any of) the specified surface(s) this frame. + + + + + + + * Reduces the `health` variable of this object by the amount specified in `Damage`. + * Calls `kill()` if health drops to or below zero. + * + * @param Damage How much health to take away (use a negative number to give a health bonus). + + + + + + + { axes : XY } + * Centers this `FlxObject` on the screen, either by the x axis, y axis, or both. + * + * @param axes On what axes to center the object (e.g. `X`, `Y`, `XY`) - default is both. + * @return This FlxObject for chaining + + + + + + + + { Y : 0, X : 0 } + * Helper function to set the coordinates of this object. + * Handy since it only requires one line of code. + * + * @param X The new x position + * @param Y The new y position + + + + + + + + * Shortcut for setting both width and Height. + * + * @param Width The new hitbox width. + * @param Height The new hitbox height. + + + + + + + flixel.FlxCamera + + + + + + + * Calculates the smallest globally aligned bounding box that encompasses this + * object's width and height, at its current rotation. + * Note, if called on a `FlxSprite`, the origin is used, but scale and offset are ignored. + * Use `getScreenBounds` to use these properties. + * @param newRect The optional output `FlxRect` to be returned, if `null`, a new one is created. + * @return A globally aligned `FlxRect` that fully contains the input object's width and height. + * @since 4.11.0 + + + + * Convert object to readable string name. Useful for debugging, save games, etc. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { Height : 0, Width : 0, Y : 0, X : 0 } + * @param X The X-coordinate of the point in space. + * @param Y The Y-coordinate of the point in space. + * @param Width Desired width of the rectangle. + * @param Height Desired height of the rectangle. + + * This is the base class for most of the display objects (`FlxSprite`, `FlxText`, etc). + * It includes some basic attributes about game objects, basic state information, + * sizes, scrolling, and basic physics and motion. + + + + + + + * Class that handles adding and playing animations on this sprite. + + + + * The current display state of the sprite including current animation frame, + * tint, flip etc... may be `null` unless `useFramePixels` is `true`. + + + + true + * Always `true` on `FlxG.renderBlit`. On `FlxG.renderTile` it determines whether + * `framePixels` is used and defaults to `false` for performance reasons. + + + + false + * Controls whether the object is smoothed when rotated, affects performance. + + + + true + * Set this flag to true to force the sprite to update during the `draw()` call. + * NOTE: Rarely if ever necessary, most sprite operations will flip this flag automatically. + + + + * This sprite's graphic / `BitmapData` object. + * Automatically adjusts graphic size and render helpers if changed. + + + + * Link to current `FlxFrame` from loaded atlas + + + + 0 + * The width of the actual graphic or image being displayed (not necessarily the game object/bounding box). + + + + 0 + * The height of the actual graphic or image being displayed (not necessarily the game object/bounding box). + + + + 0 + * The total number of frames in this image. + * WARNING: assumes each row in the sprite sheet is full! + + + + * Rendering variables. + + + + + 0 + * The minimum angle (out of 360°) for which a new baked rotation exists. Example: `90` means there + * are 4 baked rotations in the spritesheet. `0` if this sprite does not have any baked rotations. + + + + 1.0 + * Set alpha to a number between `0` and `1` to change the opacity of the sprite. + + + + RIGHT + * Can be set to `LEFT`, `RIGHT`, `UP`, and `DOWN` to take advantage + * of flipped sprites and/or just track player orientation more easily. + + + + false + * Whether this sprite is flipped on the X axis. + + + + false + * Whether this sprite is flipped on the Y axis. + + + + * WARNING: The `origin` of the sprite will default to its center. If you change this, + * the visuals and the collisions will likely be pretty out-of-sync if you do any rotation. + + + + * Controls the position of the sprite's hitbox. Likely needs to be adjusted after + * changing a sprite's `width`, `height` or `scale`. + + + + * Change the size of your sprite's graphic. + * NOTE: The hitbox is not automatically adjusted, use `updateHitbox()` for that (or `setGraphicSize()`). + * WARNING: With `FlxG.renderBlit`, scaling sprites decreases rendering performance by a factor of about x10! + + + + * Blending modes, just like Photoshop or whatever, e.g. "multiply", "screen", etc. + + + + 0xffffff + * Tints the whole sprite to a color (`0xRRGGBB` format) - similar to OpenGL vertex colors. You can use + * `0xAARRGGBB` colors, but the alpha value will simply be ignored. To change the opacity use `alpha`. + + + + + false + * Whether or not to use a `ColorTransform` set via `setColorTransform()`. + + + + * Clipping rectangle for this sprite. + * Changing the rect's properties directly doesn't have any effect, + * reassign the property to update it (`sprite.clipRect = sprite.clipRect;`). + * Set to `null` to discard graphic frame clipping. + + + + * GLSL shader for this sprite. Only works with OpenFL Next or WebGL. + * Avoid changing it frequently as this is a costly operation. + * @since 4.1.0 + + <_frame> + + + * The actual frame used for sprite rendering + + <_frameGraphic> + + + * Graphic of `_frame`. Used in tile render mode, when `useFramePixels` is `true`. + + <_facingHorizontalMult expr="1"> + + + 1 + + + + <_facingVerticalMult expr="1"> + + + 1 + + + + <_flashPoint> + + + * Internal, reused frequently during drawing and animating. + + <_flashRect> + + + * Internal, reused frequently during drawing and animating. + + <_flashRect2> + + + * Internal, reused frequently during drawing and animating. + + <_flashPointZero> + + + * Internal, reused frequently during drawing and animating. Always contains `(0,0)`. + + <_matrix> + + + * Internal, helps with animation, caching and drawing. + + <_halfSize> + + + * Rendering helper variable + + <_sinAngle expr="0"> + + + 0 + + + * These vars are being used for rendering in some of `FlxSprite` subclasses (`FlxTileblock`, `FlxBar`, + * and `FlxBitmapText`) and for checks if the sprite is in camera's view. + + <_cosAngle expr="1"> + + + 1 + + + + <_angleChanged expr="true"> + + + true + + + + <_facingFlip expr="new Map<FlxDirectionFlags,{ var x : Bool; var y : Bool}>()"> + + + + + + + + + ()]]> + + + * Maps `FlxDirectionFlags` values to axis flips + + + + + + + + * **WARNING:** A destroyed `FlxBasic` can't be used anymore. + * It may even cause crashes if it is still part of a group or state. + * You may want to use `kill()` instead if you want to disable the object temporarily only and `revive()` it later. + * + * This function is usually not called manually (Flixel calls it automatically during state switches for all `add()`ed objects). + * + * Override this function to `null` out variables manually or call `destroy()` on class members if necessary. + * Don't forget to call `super.destroy()`! + + + + + + + + * Load graphic from another `FlxSprite` and copy its tile sheet data. + * This method can useful for non-flash targets. + * + * @param Sprite The `FlxSprite` from which you want to load graphic data. + * @return This `FlxSprite` instance (nice for chaining stuff together, if you're into that). + + + + + + + + + + + + { Unique : false, Height : 0, Width : 0, Animated : false } + * Load an image from an embedded graphic file. + * + * HaxeFlixel's graphic caching system keeps track of loaded image data. + * When you load an identical copy of a previously used image, by default + * HaxeFlixel copies the previous reference onto the `pixels` field instead + * of creating another copy of the image data, to save memory. + * + * @param Graphic The image you want to use. + * @param Animated Whether the `Graphic` parameter is a single sprite or a row / grid of sprites. + * @param Width Specify the width of your sprite + * (helps figure out what to do with non-square sprites or sprite sheets). + * @param Height Specify the height of your sprite + * (helps figure out what to do with non-square sprites or sprite sheets). + * @param Unique Whether the graphic should be a unique instance in the graphics cache. + * Set this to `true` if you want to modify the `pixels` field without changing + * the `pixels` of other sprites with the same `BitmapData`. + * @param Key Set this parameter if you're loading `BitmapData`. + * @return This `FlxSprite` instance (nice for chaining stuff together, if you're into that). + + + + + + + + + + + + { AutoBuffer : false, AntiAliasing : false, Frame : -1, Rotations : 16 } + * Create a pre-rotated sprite sheet from a simple sprite. + * This can make a huge difference in graphical performance on blitting targets! + * + * @param Graphic The image you want to rotate and stamp. + * @param Rotations The number of rotation frames the final sprite should have. + * For small sprites this can be quite a large number (`360` even) without any problems. + * @param Frame If the `Graphic` has a single row of square animation frames on it, + * you can specify which of the frames you want to use here. + * Default is `-1`, or "use whole graphic." + * @param AntiAliasing Whether to use high quality rotations when creating the graphic. Default is `false`. + * @param AutoBuffer Whether to automatically increase the image size to accommodate rotated corners. + * Will create frames that are 150% larger on each axis than the original frame or graphic. + * @param Key Optional, set this parameter if you're loading `BitmapData`. + * @return This `FlxSprite` instance (nice for chaining stuff together, if you're into that). + + + + + + + + + + { AutoBuffer : false, AntiAliasing : false, Rotations : 16 } + * Helper method which allows using `FlxFrame` as graphic source for sprite's `loadRotatedGraphic()` method. + * + * @param frame Frame to load into this sprite. + * @param rotations The number of rotation frames the final sprite should have. + * For small sprites this can be quite a large number (`360` even) without any problems. + * @param antiAliasing Whether to use high quality rotations when creating the graphic. Default is `false`. + * @param autoBuffer Whether to automatically increase the image size to accommodate rotated corners. + * Will create frames that are 150% larger on each axis than the original frame or graphic. + * @return this FlxSprite with loaded rotated graphic in it. + + + + + + + + + + + { Unique : false, Color : FlxColor.WHITE } + * This function creates a flat colored rectangular image dynamically. + * + * HaxeFlixel's graphic caching system keeps track of loaded image data. + * When you make an identical copy of a previously used image, by default + * HaxeFlixel copies the previous reference onto the pixels field instead + * of creating another copy of the image data, to save memory. + * + * @param Width The width of the sprite you want to generate. + * @param Height The height of the sprite you want to generate. + * @param Color Specifies the color of the generated block (ARGB format). + * @param Unique Whether the graphic should be a unique instance in the graphics cache. Default is `false`. + * Set this to `true` if you want to modify the `pixels` field without changing the + * `pixels` of other sprites with the same `BitmapData`. + * @param Key An optional `String` key to identify this graphic in the cache. + * If `null`, the key is determined by `Width`, `Height` and `Color`. + * If `Unique` is `true` and a graphic with this `Key` already exists, + * it is used as a prefix to find a new unique name like `"Key3"`. + * @return This `FlxSprite` instance (nice for chaining stuff together, if you're into that). + + + + * Called whenever a new graphic is loaded for this sprite (after `loadGraphic()`, `makeGraphic()` etc). + + + + * Resets some internal variables used for frame `BitmapData` calculation. + + + + * Resets frame size to frame dimensions. + + + + * Resets sprite's size back to frame size. + + + + * Helper method just for convenience, so you don't need to type + * `sprite.frame = sprite.frame;` + * You may need this method in tile render mode, + * when you want sprite to use its original graphic, not the graphic generated from its `framePixels`. + + + + + + + + { Height : 0, Width : 0 } + + + + + * Updates the sprite's hitbox (`width`, `height`, `offset`) according to the current `scale`. + * Also calls `centerOrigin()`. + + + + + * Resets some important variables for sprite optimization and rendering. + + + + + + + + + + + * This is separated out so it can be easily overridden. + + + + + + + + * Called by game loop, updates then blits or renders current frame of animation to the screen. + + + + + + + + + <__drawComplexFlipX expr="false"> + + false + + <__drawComplexFlipY expr="false"> + + false + + + + + + + + + + + + + + + + { Y : 0, X : 0 } + * Stamps / draws another `FlxSprite` onto this `FlxSprite`. + * This function is NOT intended to replace `draw()`! + * + * @param Brush The sprite you want to use as a brush or stamp or pen or whatever. + * @param X The X coordinate of the brush's top left corner on this sprite. + * @param Y They Y coordinate of the brush's top left corner on this sprite. + + + + + + + { Force : false } + * Request (or force) that the sprite update the frame before rendering. + * Useful if you are doing procedural generation or other weirdness! + * + * @param Force Force the frame to redraw, even if its not flagged as necessary. + + + + + + + { AdjustPosition : false } + * Helper function that adjusts the offset automatically to center the bounding box within the graphic. + * + * @param AdjustPosition Adjusts the actual X and Y position just once to match the offset change. + + + + * Sets the sprite's origin to its center - useful after adjusting + * `scale` to make sure rotations work as expected. + + + + + + + + + { FetchPositions : false } + * Replaces all pixels with specified `Color` with `NewColor` pixels. + * WARNING: very expensive (especially on big graphics) as it iterates over every single pixel. + * + * @param Color Color to replace + * @param NewColor New color + * @param FetchPositions Whether we need to store positions of pixels which colors were replaced. + * @return `Array` with replaced pixels positions + + + + + + + + + + + + + + { alphaOffset : 0, blueOffset : 0, greenOffset : 0, redOffset : 0, alphaMultiplier : 1.0, blueMultiplier : 1.0, greenMultiplier : 1.0, redMultiplier : 1.0 } + * Sets the sprite's color transformation with control over color offsets. + * With `FlxG.renderTile`, offsets are only supported on OpenFL Next version 3.6.0 or higher. + * + * @param redMultiplier The value for the red multiplier, in the range from `0` to `1`. + * @param greenMultiplier The value for the green multiplier, in the range from `0` to `1`. + * @param blueMultiplier The value for the blue multiplier, in the range from `0` to `1`. + * @param alphaMultiplier The value for the alpha transparency multiplier, in the range from `0` to `1`. + * @param redOffset The offset value for the red color channel, in the range from `-255` to `255`. + * @param greenOffset The offset value for the green color channel, in the range from `-255` to `255`. + * @param blueOffset The offset for the blue color channel value, in the range from `-255` to `255`. + * @param alphaOffset The offset for alpha transparency channel value, in the range from `-255` to `255`. + + + + + + + + + + { Mask : 0xFF } + * Checks to see if a point in 2D world space overlaps this `FlxSprite` object's current displayed pixels. + * This check is ALWAYS made in screen space, and always takes `scrollFactor` into account. + * + * @param Point The point in world space you want to check. + * @param Mask Used in the pixel hit test to determine what counts as solid. + * @param Camera Specify which game camera you want. If `null`, it will just grab the first global camera. + * @return Whether or not the point overlaps this object. + + + + + + + + { RunOnCpp : false } + + + * Internal function to update the current animation frame. + * + * @param RunOnCpp Whether the frame should also be recalculated if we're on a non-flash target + + + + * Retrieves the `BitmapData` of the current `FlxFrame`. Updates `framePixels`. + + + + + + + * Retrieve the midpoint of this sprite's graphic in world coordinates. + * + * @param point Allows you to pass in an existing `FlxPoint` if you're so inclined. + * Otherwise a new one is created. + * @return A `FlxPoint` containing the midpoint of this sprite's graphic in world coordinates. + + + + + + + * Check and see if this object is currently on screen. Differs from `FlxObject`'s implementation + * in that it takes the actual graphic into account, not just the hitbox or bounding box or whatever. + * + * @param Camera Specify which game camera you want. If `null`, it will just grab the first global camera. + * @return Whether the object is on screen or not. + + + + + + + * Returns the result of `isSimpleRenderBlit()` if `FlxG.renderBlit` is + * `true`, or `false` if `FlxG.renderTile` is `true`. + + + + + + + * Determines the function used for rendering in blitting: + * `copyPixels()` for simple sprites, `draw()` for complex ones. + * Sprites are considered simple when they have an `angle` of `0`, a `scale` of `1`, + * don't use `blend` and `pixelPerfectRender` is `true`. + * + * @param camera If a camera is passed its `pixelPerfectRender` flag is taken into account + + + + + + + * Calculates the smallest globally aligned bounding box that encompasses this + * sprite's width and height, at its current rotation. + * Note, if called on a `FlxSprite`, the origin is used, but scale and offset are ignored. + * Use `getScreenBounds` to use these properties. + * @param newRect The optional output `FlxRect` to be returned, if `null`, a new one is created. + * @return A globally aligned `FlxRect` that fully contains the input object's width and height. + * @since 4.11.0 + + + + + + + + * Calculates the smallest globally aligned bounding box that encompasses this sprite's graphic as it + * would be displayed. Honors scrollFactor, rotation, scale, offset and origin. + * @param newRect Optional output `FlxRect`, if `null`, a new one is created. + * @param camera Optional camera used for scrollFactor, if null `FlxG.camera` is used. + * @return A globally aligned `FlxRect` that fully contains the input sprite. + * @since 4.11.0 + + + + + + + + + * Set how a sprite flips when facing in a particular direction. + * + * @param Direction Use constants `LEFT`, `RIGHT`, `UP`, and `DOWN`. + * These may be combined with the bitwise OR operator. + * E.g. To make a sprite flip horizontally when it is facing both `UP` and `LEFT`, + * use `setFacingFlip(LEFT | UP, true, false);` + * @param FlipX Whether to flip the sprite on the X axis. + * @param FlipY Whether to flip the sprite on the Y axis. + + + + + + + + + { saveAnimations : true } + flixel.animation.FlxAnimationController + + * Sets frames and allows you to save animations in sprite's animation controller + * + * @param Frames Frames collection to set for this sprite. + * @param saveAnimations Whether to save animations in animation controller or not. + * @return This sprite with loaded frames + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * Internal function for setting graphic property for this object. + * It changes graphics' `useCount` also for better memory tracking. + + + + + + + + + + + + + + + * Frames setter. Used by `loadGraphic` methods, but you can load generated frames yourself + * (this should be even faster since engine doesn't need to do bunch of additional stuff). + * + * @param Frames frames to load into this sprite. + * @return loaded frames. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { Y : 0, X : 0 } + * Creates a `FlxSprite` at a specified position with a specified one-frame graphic. + * If none is provided, a 16x16 image of the HaxeFlixel logo is used. + * + * @param X The initial X position of the sprite. + * @param Y The initial Y position of the sprite. + * @param SimpleGraphic The graphic you want to display + * (OPTIONAL - for simple stuff only, do NOT use for animated images!). + + * The main "game object" class, the sprite is a `FlxObject` + * with a bunch of graphics options and abilities, like animation and stamping. + * + * Load an image onto a sprite using the `loadGraphic*()` functions, + * or create a base monochromatic rectangle using `makeGraphic()`. + * The image `BitmapData` is stored in the `pixels` field. + + + + + + + * The actual group which holds all sprites. + + + + * The link to a group's `members` array. + + + + * The number of entries in the members array. For performance and safety you should check this + * variable instead of `members.length` unless you really know what you're doing! + + + + false + * Whether to attempt to preserve the ratio of alpha values of group members, or set them directly through + * the alpha property. Defaults to `false` (preservation). + * @since 4.5.0 + + + + * The maximum capacity of this group. Default is `0`, meaning no max capacity, and the group can just grow. + + <_skipTransformChildren expr="false"> + + false + * Optimization to allow setting position of group without transforming children twice. + + <_sprites> + + * Array of all the `FlxSprite`s that exist in this group for + * optimization purposes / static typing on cpp targets. + + + + * This method is used for initialization of variables of complex types. + * Don't forget to call `super.initVars()` if you'll override this method, + * or you'll get `null` object error and app will crash. + + + + * **WARNING:** A destroyed `FlxBasic` can't be used anymore. + * It may even cause crashes if it is still part of a group or state. + * You may want to use `kill()` instead if you want to disable the object temporarily only and `revive()` it later. + * + * This function is usually not called manually (Flixel calls it automatically during state switches for all `add()`ed objects). + * + * Override this function to `null` out variables manually or call `destroy()` on class members if necessary. + * Don't forget to call `super.destroy()`! + + + + * Recursive cloning method: it will create a copy of this group which will hold copies of all sprites + * + * @return copy of this sprite group + + + + + + + * Check and see if any sprite in this group is currently on screen. + * + * @param Camera Specify which game camera you want. If `null`, it will just grab the first global camera. + * @return Whether the object is on screen or not. + + + + + + + + + { InScreenSpace : false } + * Checks to see if a point in 2D world space overlaps any `FlxSprite` object from this group. + * + * @param Point The point in world space you want to check. + * @param InScreenSpace Whether to take scroll factors into account when checking for overlap. + * @param Camera Specify which game camera you want. If `null`, it will just grab the first global camera. + * @return Whether or not the point overlaps this group. + + + + + + + + + { Mask : 0xFF } + * Checks to see if a point in 2D world space overlaps any of FlxSprite object's current displayed pixels. + * This check is ALWAYS made in screen space, and always takes scroll factors into account. + * + * @param Point The point in world space you want to check. + * @param Mask Used in the pixel hit test to determine what counts as solid. + * @param Camera Specify which game camera you want. If `null`, it will just grab the first global camera. + * @return Whether or not the point overlaps this object. + + + + + + + + + + + + + + { FetchPositions : false } + * Replaces all pixels with specified `Color` with `NewColor` pixels. + * WARNING: very expensive (especially on big graphics) as it iterates over every single pixel. + * + * @param Color Color to replace + * @param NewColor New color + * @param FetchPositions Whether we need to store positions of pixels which colors were replaced. + * @return `Array` with replaced pixels positions + + + + + + + * Adds a new `FlxSprite` subclass to the group. + * + * @param Sprite The sprite or sprite group you want to add to the group. + * @return The same object that was passed in. + + + + + + + + * Inserts a new `FlxSprite` subclass to the group at the specified position. + * + * @param Position The position that the new sprite or sprite group should be inserted at. + * @param Sprite The sprite or sprite group you want to insert into the group. + * @return The same object that was passed in. + * + * @since 4.3.0 + + + + + + + * Adjusts the position and other properties of the soon-to-be child of this sprite group. + * Private helper to avoid duplicate code in `add()` and `insert()`. + * + * @param Sprite The sprite or sprite group that is about to be added or inserted into the group. + + + + + + + + + + { Revive : true, Force : false } + 0` / "rotating-recycling" (used by `FlxEmitter`): + * - at capacity: returns the next object in line, no matter its properties like `alive`, `exists` etc. + * - otherwise: returns a new object. + * + * `maxSize == 0` / "grow-style-recycling" + * - tries to find the first object with `exists == false` + * - otherwise: adds a new object to the `members` array + * + * WARNING: If this function needs to create a new object, and no object class was provided, + * it will return `null` instead of a valid object! + * + * @param ObjectClass The class type you want to recycle (e.g. `FlxSprite`, `EvilRobot`, etc). + * @param ObjectFactory Optional factory function to create a new object + * if there aren't any dead members to recycle. + * If `null`, `Type.createInstance()` is used, + * which requires the class to have no constructor parameters. + * @param Force Force the object to be an `ObjectClass` and not a super class of `ObjectClass`. + * @param Revive Whether recycled members should automatically be revived + * (by calling `revive()` on them). + * @return A reference to the object that was created.]]> + + + + + + + + { Splice : false } + * Removes the specified sprite from the group. + * + * @param Sprite The `FlxSprite` you want to remove. + * @param Splice Whether the object should be cut from the array entirely or not. + * @return The removed sprite. + + + + + + + + * Replaces an existing `FlxSprite` with a new one. + * + * @param OldObject The sprite you want to replace. + * @param NewObject The new object you want to use instead. + * @return The new sprite. + + + + + + + + + + + + + { Order : FlxSort.ASCENDING } + * Call this function to sort the group according to a particular value and order. + * For example, to sort game objects for Zelda-style overlaps you might call + * `group.sort(FlxSort.byY, FlxSort.ASCENDING)` at the bottom of your `FlxState#update()` override. + * + * @param Function The sorting function to use - you can use one of the premade ones in + * `FlxSort` or write your own using `FlxSort.byValues()` as a "backend". + * @param Order A constant that defines the sort order. + * Possible values are `FlxSort.ASCENDING` (default) and `FlxSort.DESCENDING`. + + + + + + + + { Force : false } + * Call this function to retrieve the first object with `exists == false` in the group. + * This is handy for recycling in general, e.g. respawning enemies. + * + * @param ObjectClass An optional parameter that lets you narrow the + * results to instances of this particular class. + * @param Force Force the object to be an `ObjectClass` and not a super class of `ObjectClass`. + * @return A `FlxSprite` currently flagged as not existing. + + + + * Call this function to retrieve the first index set to `null`. + * Returns `-1` if no index stores a `null` object. + * + * @return An `Int` indicating the first `null` slot in the group. + + + + * Call this function to retrieve the first object with `exists == true` in the group. + * This is handy for checking if everything's wiped out, or choosing a squad leader, etc. + * + * @return A `FlxSprite` currently flagged as existing. + + + + * Call this function to retrieve the first object with `dead == false` in the group. + * This is handy for checking if everything's wiped out, or choosing a squad leader, etc. + * + * @return A `FlxSprite` currently flagged as not dead. + + + + * Call this function to retrieve the first object with `dead == true` in the group. + * This is handy for checking if everything's wiped out, or choosing a squad leader, etc. + * + * @return A `FlxSprite` currently flagged as dead. + + + + * Call this function to find out how many members of the group are not dead. + * + * @return The number of `FlxSprite`s flagged as not dead. Returns `-1` if group is empty. + + + + * Call this function to find out how many members of the group are dead. + * + * @return The number of `FlxSprite`s flagged as dead. Returns `-1` if group is empty. + + + + + + + + { Length : 0, StartIndex : 0 } + * Returns a member at random from the group. + * + * @param StartIndex Optional offset off the front of the array. + * Default value is `0`, or the beginning of the array. + * @param Length Optional restriction on the number of values you want to randomly select from. + * @return A `FlxSprite` from the `members` list. + + + + + + + + + + * Iterate through every member + * + * @return An iterator + + + + + + + + + + + { Recurse : false } + * Applies a function to all members. + * + * @param Function A function that modifies one element at a time. + * @param Recurse Whether or not to apply the function to members of subgroups as well. + + + + + + + + + + + { Recurse : false } + * Applies a function to all `alive` members. + * + * @param Function A function that modifies one element at a time. + * @param Recurse Whether or not to apply the function to members of subgroups as well. + + + + + + + + + + + { Recurse : false } + * Applies a function to all dead members. + * + * @param Function A function that modifies one element at a time. + * @param Recurse Whether or not to apply the function to members of subgroups as well. + + + + + + + + + + + { Recurse : false } + * Applies a function to all existing members. + * + * @param Function A function that modifies one element at a time. + * @param Recurse Whether or not to apply the function to members of subgroups as well. + + + + + + + + + + + + { Recurse : false } + `. + * + * @param ObjectClass A class that objects will be checked against before Function is applied, ex: `FlxSprite`. + * @param Function A function that modifies one element at a time. + * @param Recurse Whether or not to apply the function to members of subgroups as well.]]> + + + + * Remove all instances of `FlxSprite` from the list. + * WARNING: does not `destroy()` or `kill()` any of these objects! + + + + * Calls `kill()` on the group's members and then on the group itself. + * You can revive this group later via `revive()` after this. + + + + * Revives the group. + + + + + + + + + + + + + { Y : 0, X : 0 } + * Helper function to set the coordinates of this object. + * Handy since it only requires one line of code. + * + * @param X The new x position + * @param Y The new y position + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * This functionality isn't supported in SpriteGroup + + + + + + + + * This functionality isn't supported in SpriteGroup + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * This functionality isn't supported in SpriteGroup + * @return this sprite group + + + + + + + + + + + + { Unique : false, Height : 0, Width : 0, Animated : false } + * This functionality isn't supported in SpriteGroup + * @return this sprite group + + + + + + + + + + + + { AutoBuffer : false, AntiAliasing : false, Frame : -1, Rotations : 16 } + * This functionality isn't supported in SpriteGroup + * @return this sprite group + + + + + + + + + + + { Unique : false, Color : FlxColor.WHITE } + * This functionality isn't supported in SpriteGroup + * @return this sprite group + + + + + + + + + + + + + + + + { RunOnCpp : false } + * Internal function to update the current animation frame. + * + * @param RunOnCpp Whether the frame should also be recalculated if we're on a non-flash target + + + + * This functionality isn't supported in SpriteGroup + + + + + + + + + { Y : 0, X : 0 } + * This functionality isn't supported in SpriteGroup + + + + + + + + * This functionality isn't supported in SpriteGroup + + + + + + + + + { MaxSize : 0, Y : 0, X : 0 } + * @param X The initial X position of the group. + * @param Y The initial Y position of the group. + * @param MaxSize Maximum amount of members allowed. + + * `FlxSpriteGroup` is a special `FlxSprite` that can be treated like + * a single sprite even if it's made up of several member sprites. + * It shares the `FlxTypedGroup` API, but it doesn't inherit from it. + + + + + + + 0.05 + + + + false + + + + 0 + + + + false + + + + "" + + <_finalText expr=""""> + + "" + + <_curText expr=""""> + + "" + + + + FlxG.width + + + + 1 + + + + + false + + + + false + + + + [] + + + + false + + + + + + "gf" + + + + + + + + + + + + + + + + { typed : false, bold : false, text : "" } + + * Loosley based on FlxTypeText lolol + + + + + + + "abcdefghijklmnopqrstuvwxyz" + + + + "1234567890" + + + + @[]^_.,'!?"]]> + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * Helper for overlap functions in `FlxObject` and `FlxTilemap`. + + + + + + + + + + + * `Array` of all the members in this group. + + + + * The maximum capacity of this group. Default is `0`, meaning no max capacity, and the group can just grow. + + + + 0 + * The number of entries in the members array. For performance and safety you should check this + * variable instead of `members.length` unless you really know what you're doing! + + + + + + + * A `FlxSignal` that dispatches when a child is added to this group. + * @since 4.4.0 + + + + + + + * A `FlxSignal` that dispatches when a child is removed from this group. + * @since 4.4.0 + + <_memberAdded> + + + + + + * Internal variables for lazily creating `memberAdded` and `memberRemoved` signals when needed. + + <_memberRemoved> + + + + + + + <_marker expr="0"> + + + 0 + + + * Internal helper variable for recycling objects a la `FlxEmitter`. + + + + * **WARNING:** A destroyed `FlxBasic` can't be used anymore. + * It may even cause crashes if it is still part of a group or state. + * You may want to use `kill()` instead if you want to disable the object temporarily only and `revive()` it later. + * + * This function is usually not called manually (Flixel calls it automatically during state switches for all `add()`ed objects). + * + * Override this function to `null` out variables manually or call `destroy()` on class members if necessary. + * Don't forget to call `super.destroy()`! + + + + + + + * Automatically goes through and calls update on everything you added. + + + + * Automatically goes through and calls render on everything you added. + + + + + + + * Adds a new `FlxBasic` subclass (`FlxBasic`, `FlxSprite`, `Enemy`, etc) to the group. + * `FlxGroup` will try to replace a `null` member of the array first. + * Failing that, `FlxGroup` will add it to the end of the member array. + * WARNING: If the group has a `maxSize` that has already been met, + * the object will NOT be added to the group! + * + * @param Object The object you want to add to the group. + * @return The same `FlxBasic` object that was passed in. + + + + + + + + * Inserts a new `FlxBasic` subclass (`FlxBasic`, `FlxSprite`, `Enemy`, etc) + * into the group at the specified position. + * `FlxGroup` will try to replace a `null` member at the specified position of the array first. + * Failing that, `FlxGroup` will insert it at the position of the member array. + * WARNING: If the group has a `maxSize` that has already been met, + * the object will NOT be inserted to the group! + * + * @param Position The position in the group where you want to insert the object. + * @param Object The object you want to insert into the group. + * @return The same `FlxBasic` object that was passed in. + + + + + + + + + + { Revive : true, Force : false } + 0` / "rotating-recycling" (used by `FlxEmitter`): + * - at capacity: returns the next object in line, no matter its properties like `alive`, `exists` etc. + * - otherwise: returns a new object. + * + * `maxSize == 0` / "grow-style-recycling" + * - tries to find the first object with `exists == false` + * - otherwise: adds a new object to the `members` array + * + * WARNING: If this function needs to create a new object, and no object class was provided, + * it will return `null` instead of a valid object! + * + * @param ObjectClass The class type you want to recycle (e.g. `FlxSprite`, `EvilRobot`, etc). + * @param ObjectFactory Optional factory function to create a new object + * if there aren't any dead members to recycle. + * If `null`, `Type.createInstance()` is used, + * which requires the class to have no constructor parameters. + * @param Force Force the object to be an `ObjectClass` and not a super class of `ObjectClass`. + * @param Revive Whether recycled members should automatically be revived + * (by calling `revive()` on them). + * @return A reference to the object that was created.]]> + + + + + + + + + + + + + + + + { Splice : false } + * Removes an object from the group. + * + * @param Object The `FlxBasic` you want to remove. + * @param Splice Whether the object should be cut from the array entirely or not. + * @return The removed object. + + + + + + + + * Replaces an existing `FlxBasic` with a new one. + * Does not do anything and returns `null` if the old object is not part of the group. + * + * @param OldObject The object you want to replace. + * @param NewObject The new object you want to use instead. + * @return The new object. + + + + + + + + + + + + + { Order : FlxSort.ASCENDING } + * Call this function to sort the group according to a particular value and order. + * For example, to sort game objects for Zelda-style overlaps you might call + * `group.sort(FlxSort.byY, FlxSort.ASCENDING)` at the bottom of your `FlxState#update()` override. + * + * @param Function The sorting function to use - you can use one of the premade ones in + * `FlxSort` or write your own using `FlxSort.byValues()` as a "backend". + * @param Order A constant that defines the sort order. + * Possible values are `FlxSort.ASCENDING` (default) and `FlxSort.DESCENDING`. + + + + + + + + { Force : false } + * Call this function to retrieve the first object with `exists == false` in the group. + * This is handy for recycling in general, e.g. respawning enemies. + * + * @param ObjectClass An optional parameter that lets you narrow the + * results to instances of this particular class. + * @param Force Force the object to be an `ObjectClass` and not a super class of `ObjectClass`. + * @return A `FlxBasic` currently flagged as not existing. + + + + * Call this function to retrieve the first index set to `null`. + * Returns `-1` if no index stores a `null` object. + * + * @return An `Int` indicating the first `null` slot in the group. + + + + * Call this function to retrieve the first object with `exists == true` in the group. + * This is handy for checking if everything's wiped out, or choosing a squad leader, etc. + * + * @return A `FlxBasic` currently flagged as existing. + + + + * Call this function to retrieve the first object with `dead == false` in the group. + * This is handy for checking if everything's wiped out, or choosing a squad leader, etc. + * + * @return A `FlxBasic` currently flagged as not dead. + + + + * Call this function to retrieve the first object with `dead == true` in the group. + * This is handy for checking if everything's wiped out, or choosing a squad leader, etc. + * + * @return A `FlxBasic` currently flagged as dead. + + + + * Call this function to find out how many members of the group are not dead. + * + * @return The number of `FlxBasic`s flagged as not dead. Returns `-1` if group is empty. + + + + * Call this function to find out how many members of the group are dead. + * + * @return The number of `FlxBasic`s flagged as dead. Returns `-1` if group is empty. + + + + + + + + { Length : 0, StartIndex : 0 } + * Returns a member at random from the group. + * + * @param StartIndex Optional offset off the front of the array. + * Default value is `0`, or the beginning of the array. + * @param Length Optional restriction on the number of values you want to randomly select from. + * @return A `FlxBasic` from the `members` list. + + + + * Remove all instances of `FlxBasic` subclasses (`FlxSprite`, `FlxTileblock`, etc) from the list. + * WARNING: does not `destroy()` or `kill()` any of these objects! + + + + * Calls `kill()` on the group's `members` and then on the group itself. + * You can revive this group later via `revive()` after this. + + + + * Calls `revive()` on the group's members and then on the group itself. + + + + + + + + + + * Iterates through every member. + + + + + + + + + + + { Recurse : false } + * Applies a function to all members. + * + * @param Function A function that modifies one element at a time. + * @param Recurse Whether or not to apply the function to members of subgroups as well. + + + + + + + + + + + { Recurse : false } + * Applies a function to all `alive` members. + * + * @param Function A function that modifies one element at a time. + * @param Recurse Whether or not to apply the function to members of subgroups as well. + + + + + + + + + + + { Recurse : false } + * Applies a function to all dead members. + * + * @param Function A function that modifies one element at a time. + * @param Recurse Whether or not to apply the function to members of subgroups as well. + + + + + + + + + + + { Recurse : false } + * Applies a function to all existing members. + * + * @param Function A function that modifies one element at a time. + * @param Recurse Whether or not to apply the function to members of subgroups as well. + + + + + + + + + + + + { Recurse : false } + `. + * + * @param ObjectClass A class that objects will be checked against before Function is applied, ex: `FlxSprite`. + * @param Function A function that modifies one element at a time. + * @param Recurse Whether or not to apply the function to members of subgroups as well.]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + { MaxSize : 0 } + * @param MaxSize Maximum amount of members allowed. + + * This is an organizational class that can update and render a bunch of `FlxBasic`s. + * NOTE: Although `FlxGroup` extends `FlxBasic`, it will not automatically + * add itself to the global collisions quad tree, it will only add its members. + + + + + + + false + * Whenever the state already has been created. When create is called, this is set to true to prevent the state from being created twice when switching back to it. + + + + false + + + + false + * Determines whether or not this state is updated even when it is not the active state. + * For example, if you have your game state first, and then you push a menu state on top of it, + * if this is set to `true`, the game state would continue to update in the background. + * By default this is `false`, so background states will be "paused" when they are not active. + + + + true + * Determines whether or not this state is updated even when it is not the active state. + * For example, if you have your game state first, and then you push a menu state on top of it, + * if this is set to `true`, the game state would continue to be drawn behind the pause state. + * By default this is `true`, so background states will continue to be drawn behind the current state. + * + * If background states are not `visible` when you have a different state on top, + * you should set this to `false` for improved performance. + + + + true + * If substates get destroyed when they are closed, setting this to + * `false` might reduce state creation time, at greater memory cost. + + + + * The natural background color the cameras default to. In `AARRGGBB` format. + + + + * Current substate. Substates also can be nested. + + <_requestedSubState> + + + * If a state change was requested, the new state object is stored here until we switch to it. + + <_requestSubStateReset expr="false"> + + + false + + + * Whether to reset the substate (when it changes, or when it's closed). + + + + + + + * A `FlxSignal` that dispatches when a sub state is opened from this state. + * @since 4.9.0 + + + + + + + * A `FlxSignal` that dispatches when a sub state is closed from this state. + * @since 4.9.0 + + <_subStateOpened> + + + + + + * Internal variables for lazily creating `subStateOpened` and `subStateClosed` signals when needed. + + <_subStateClosed> + + + + + + + + + * This function is called after the game engine successfully switches states. + * Override this function, NOT the constructor, to initialize or set up your game state. + * We do NOT recommend initializing any flixel objects or utilizing flixel features in + * the constructor, unless you want some crazy unpredictable things to happen! + + + + + + + + + + * Closes the substate of this state, if one exists. + + + + * Load substate for this state + + + + + + + + * Called from `FlxG.switchState()`. If `false` is returned, the state + * switch is cancelled - the default implementation returns `true`. + * + * Useful for customizing state switches, e.g. for transition effects. + + + + * This method is called after the game loses focus. + * Can be useful for third party libraries, such as tweening engines. + + + + * This method is called after the game receives focus. + * Can be useful for third party libraries, such as tweening engines. + + + + + + + + * This function is called whenever the window size has been changed. + * + * @param Width The new window width + * @param Height The new window Height + + + + + + + flixel.FlxGame + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * This is the basic game "state" object - e.g. in a simple game you might have a menu state and a play state. + * It is for all intents and purpose a fancy `FlxGroup`. And really, it's not even that fancy. + + + + + + + + + + + + + + + [] + + + + 0 + + + + true + + + + "spooky" + + + + + + + + + { pushList : true } + + + + + + + + + + + + { daAnim : "spooky" } + + *DEBUG MODE + + + + + + + `Any` is a type that is compatible with any other in both ways. + + This means that a value of any type can be assigned to `Any`, and + vice-versa, a value of `Any` type can be assigned to any other type. + + It's a more type-safe alternative to `Dynamic`, because it doesn't + support field access or operators and it's bound to monomorphs. So, + to work with the actual value, it needs to be explicitly promoted + to another type. + + + + + <__registerLimeModule set="method"> + + + + + + show + + + + <__unregisterLimeModule set="method"> + + + + + + show + + + + + + + + + + + + ()]]> + Exit events are dispatched when the application is exiting + + <__registerLimeModule set="method" line="27"> + + + + + + + <__unregisterLimeModule set="method" line="29"> + + + + + + + + + Creates a new `Module` instance + + `Module` instances can be added to a running `Application`, + simplifying support for adding new components, such as a renderer, + input handler or higher-level framework. + + "tags=\"haxe,release\"" + + + + + <_loadPrime public="1" set="method" line="34" static="1"> + + + + + + + + + + { quietFail : false } + + + + + + + + + + + + (cpp.Prime._loadPrime("lime", "lime_application_create", "o", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_application_event_manager_register", "oov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_application_exec", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_application_init", "ov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_application_quit", "oi", false))]]> + + + + + + + + Float>(cpp.Prime._loadPrime("lime", "lime_application_set_frame_rate", "odv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_application_update", "ob", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_audio_load", "ooo", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_audio_load_bytes", "ooo", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_audio_load_file", "ooo", false))]]> + + + + + + + + + Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_bytes_from_data_pointer", "dioo", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_bytes_get_data_pointer", "od", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_bytes_get_data_pointer_offset", "oid", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_bytes_read_file", "soo", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cffi_get_native_pointer", "od", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_clipboard_event_manager_register", "oov", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_clipboard_get_text", "o", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_clipboard_set_text", "sv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_data_pointer_offset", "did", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_deflate_compress", "ooo", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_deflate_decompress", "ooo", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_drop_event_manager_register", "oov", false))]]> + + + + + + + + + String -> String>(cpp.Prime._loadPrime("lime", "lime_file_dialog_open_directory", "ssso", false))]]> + + + + + + + + + String -> String>(cpp.Prime._loadPrime("lime", "lime_file_dialog_open_file", "ssso", false))]]> + + + + + + + + + String -> String>(cpp.Prime._loadPrime("lime", "lime_file_dialog_open_files", "ssso", false))]]> + + + + + + + + + String -> String>(cpp.Prime._loadPrime("lime", "lime_file_dialog_save_file", "ssso", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_file_watcher_create", "oo", false))]]> + + + + + + + + + cpp.Object -> Bool>(cpp.Prime._loadPrime("lime", "lime_file_watcher_add_directory", "oobo", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_file_watcher_remove_directory", "oov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_file_watcher_update", "ov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_font_get_ascender", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_font_get_descender", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_font_get_family_name", "oo", false))]]> + + + + + + + + String>(cpp.Prime._loadPrime("lime", "lime_font_get_glyph_index", "osi", false))]]> + + + + + + + + String>(cpp.Prime._loadPrime("lime", "lime_font_get_glyph_indices", "oso", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_font_get_glyph_metrics", "oio", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_font_get_height", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_font_get_num_glyphs", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_font_get_underline_position", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_font_get_underline_thickness", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_font_get_units_per_em", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_font_load", "oo", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_font_load_bytes", "oo", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_font_load_file", "oo", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_font_outline_decompose", "oio", false))]]> + + + + + + + + + Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_font_render_glyph", "oioo", false))]]> + + + + + + + + + cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_font_render_glyphs", "oooo", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_font_set_size", "oiv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gamepad_add_mappings", "ov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gamepad_get_device_guid", "io", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gamepad_get_device_name", "io", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_gamepad_event_manager_register", "oov", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_gzip_compress", "ooo", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_gzip_decompress", "ooo", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_haptic_vibrate", "iiv", false))]]> + + + + + + + + + + Int -> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_image_encode", "oiioo", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_image_load", "ooo", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_image_load_bytes", "ooo", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_image_load_file", "ooo", false))]]> + + + + + + + + + cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_image_data_util_color_transform", "ooov", false))]]> + + + + + + + + + + + + cpp.Object -> cpp.Object -> cpp.Object -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_image_data_util_copy_channel", "ooooiiv", false))]]> + + + + + + + + + + + + + cpp.Object -> cpp.Object -> cpp.Object -> cpp.Object -> cpp.Object -> Bool>(cpp.Prime._loadPrime("lime", "lime_image_data_util_copy_pixels", "oooooobv", false))]]> + + + + + + + + + + cpp.Object -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_image_data_util_fill_rect", "ooiiv", false))]]> + + + + + + + + + + + Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_image_data_util_flood_fill", "oiiiiv", false))]]> + + + + + + + + + + cpp.Object -> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_image_data_util_get_pixels", "ooiov", false))]]> + + + + + + + + + + + + + + cpp.Object -> cpp.Object -> cpp.Object -> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_image_data_util_merge", "ooooiiiiv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_image_data_util_multiply_alpha", "ov", false))]]> + + + + + + + + + + cpp.Object -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_image_data_util_resize", "ooiiv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_image_data_util_set_format", "oiv", false))]]> + + + + + + + + + + + + cpp.Object -> cpp.Object -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_image_data_util_set_pixels", "oooiiiv", false))]]> + + + + + + + + + + + + + + + + + + cpp.Object -> cpp.Object -> cpp.Object -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Bool>(cpp.Prime._loadPrime("lime", "lime_image_data_util_threshold", "ooooiiiiiiibi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_image_data_util_unmultiply_alpha", "ov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_joystick_get_device_guid", "io", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_joystick_get_device_name", "io", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_joystick_get_num_axes", "ii", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_joystick_get_num_buttons", "ii", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_joystick_get_num_hats", "ii", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_joystick_get_num_trackballs", "ii", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_joystick_event_manager_register", "oov", false))]]> + + + + + + + + + Bool -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_jpeg_decode_bytes", "oboo", false))]]> + + + + + + + + + Bool -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_jpeg_decode_file", "sboo", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_key_code_from_scan_code", "ff", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_key_code_to_scan_code", "ff", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_key_event_manager_register", "oov", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_lzma_compress", "ooo", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_lzma_decompress", "ooo", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_mouse_event_manager_register", "oov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_neko_execute", "sv", false))]]> + + + + + + + + + Bool -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_png_decode_bytes", "oboo", false))]]> + + + + + + + + + Bool -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_png_decode_file", "sboo", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_render_event_manager_register", "oov", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_sensor_event_manager_register", "oov", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_system_get_allow_screen_timeout", "b", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_system_set_allow_screen_timeout", "bb", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_system_get_device_model", "o", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_system_get_device_vendor", "o", false))]]> + + + + + + + + + String -> String>(cpp.Prime._loadPrime("lime", "lime_system_get_directory", "isso", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_system_get_display", "io", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_system_get_ios_tablet", "b", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_system_get_num_displays", "i", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_system_get_platform_label", "o", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_system_get_platform_name", "o", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_system_get_platform_version", "o", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_system_get_timer", "d", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_system_open_file", "sv", false))]]> + + + + + + + + String>(cpp.Prime._loadPrime("lime", "lime_system_open_url", "ssv", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_text_event_manager_register", "oov", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_touch_event_manager_register", "oov", false))]]> + + + + + + + + + String -> String>(cpp.Prime._loadPrime("lime", "lime_window_alert", "ossv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_window_close", "ov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_window_context_flip", "ov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_window_context_lock", "oo", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_window_context_make_current", "ov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_window_context_unlock", "ov", false))]]> + + + + + + + + + + + Int -> Int -> Int -> String>(cpp.Prime._loadPrime("lime", "lime_window_create", "oiiiso", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_window_focus", "ov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_window_get_context", "od", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_window_get_context_type", "oo", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_window_get_display", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_window_get_display_mode", "oo", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_window_get_height", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_window_get_id", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_window_get_mouse_lock", "ob", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_window_get_scale", "od", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_window_get_text_input_enabled", "ob", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_window_get_width", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_window_get_x", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_window_get_y", "oi", false))]]> + + + + + + + + + Int -> Int>(cpp.Prime._loadPrime("lime", "lime_window_move", "oiiv", false))]]> + + + + + + + + + cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_window_read_pixels", "oooo", false))]]> + + + + + + + + + Int -> Int>(cpp.Prime._loadPrime("lime", "lime_window_resize", "oiiv", false))]]> + + + + + + + + Bool>(cpp.Prime._loadPrime("lime", "lime_window_set_borderless", "obb", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_window_set_cursor", "oiv", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_window_set_display_mode", "ooo", false))]]> + + + + + + + + Bool>(cpp.Prime._loadPrime("lime", "lime_window_set_fullscreen", "obb", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_window_set_icon", "oov", false))]]> + + + + + + + + Bool>(cpp.Prime._loadPrime("lime", "lime_window_set_maximized", "obb", false))]]> + + + + + + + + Bool>(cpp.Prime._loadPrime("lime", "lime_window_set_minimized", "obb", false))]]> + + + + + + + + Bool>(cpp.Prime._loadPrime("lime", "lime_window_set_mouse_lock", "obv", false))]]> + + + + + + + + Bool>(cpp.Prime._loadPrime("lime", "lime_window_set_resizable", "obb", false))]]> + + + + + + + + Bool>(cpp.Prime._loadPrime("lime", "lime_window_set_text_input_enabled", "obv", false))]]> + + + + + + + + String>(cpp.Prime._loadPrime("lime", "lime_window_set_title", "oso", false))]]> + + + + + + + + + Int -> Int>(cpp.Prime._loadPrime("lime", "lime_window_warp_mouse", "oiiv", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_window_event_manager_register", "oov", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_zlib_compress", "ooo", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_zlib_decompress", "ooo", false))]]> + + + + + + + + + + + Int -> cpp.Object -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_al_buffer_data", "oioiiv", false))]]> + + + + + + + + + + + Int -> cpp.Float32 -> cpp.Float32 -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_al_buffer3f", "oifffv", false))]]> + + + + + + + + + + + Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_al_buffer3i", "oiiiiv", false))]]> + + + + + + + + + Int -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_al_bufferf", "oifv", false))]]> + + + + + + + + + Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_bufferfv", "oiov", false))]]> + + + + + + + + + Int -> Int>(cpp.Prime._loadPrime("lime", "lime_al_bufferi", "oiiv", false))]]> + + + + + + + + + Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_bufferiv", "oiov", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_al_cleanup", "v", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_al_delete_buffer", "ov", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_delete_buffers", "iov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_al_delete_source", "ov", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_delete_sources", "iov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_al_disable", "iv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_al_distance_model", "iv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_al_doppler_factor", "fv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_al_doppler_velocity", "fv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_al_enable", "iv", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_al_gen_source", "o", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_al_gen_sources", "io", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_al_get_boolean", "ib", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_al_get_booleanv", "iio", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_al_gen_buffer", "o", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_al_gen_buffers", "io", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_al_get_buffer3f", "oio", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_al_get_buffer3i", "oio", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_al_get_bufferf", "oif", false))]]> + + + + + + + + + Int -> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_bufferfv", "oiio", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_al_get_bufferi", "oii", false))]]> + + + + + + + + + Int -> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_bufferiv", "oiio", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_al_get_double", "id", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_al_get_doublev", "iio", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_al_get_enum_value", "si", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_al_get_error", "i", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_al_get_float", "if", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_al_get_floatv", "iio", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_al_get_integer", "ii", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_al_get_integerv", "iio", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_al_get_listener3f", "io", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_al_get_listener3i", "io", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_al_get_listenerf", "if", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_al_get_listenerfv", "iio", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_al_get_listeneri", "ii", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_al_get_listeneriv", "iio", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_al_get_proc_address", "sd", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_al_get_source3f", "oio", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_al_get_source3i", "oio", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_al_get_sourcef", "oif", false))]]> + + + + + + + + + Int -> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_sourcefv", "oiio", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_al_get_sourcei", "oio", false))]]> + + + + + + + + + Int -> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_sourceiv", "oiio", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_al_get_string", "io", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_al_is_buffer", "ob", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_al_is_enabled", "ib", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_al_is_extension_present", "sb", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_al_is_source", "ob", false))]]> + + + + + + + + + + cpp.Float32 -> cpp.Float32 -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_al_listener3f", "ifffv", false))]]> + + + + + + + + + + Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_al_listener3i", "iiiiv", false))]]> + + + + + + + + cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_al_listenerf", "ifv", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_listenerfv", "iov", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_al_listeneri", "iiv", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_listeneriv", "iov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_al_source_pause", "ov", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_source_pausev", "iov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_al_source_play", "ov", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_source_playv", "iov", false))]]> + + + + + + + + + Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_source_queue_buffers", "oiov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_al_source_rewind", "ov", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_source_rewindv", "iov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_al_source_stop", "ov", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_source_stopv", "iov", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_al_source_unqueue_buffers", "oio", false))]]> + + + + + + + + + + + Int -> cpp.Float32 -> cpp.Float32 -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_al_source3f", "oifffv", false))]]> + + + + + + + + + + + Int -> cpp.Object -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_al_source3i", "oioiiv", false))]]> + + + + + + + + + Int -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_al_sourcef", "oifv", false))]]> + + + + + + + + + Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_sourcefv", "oiov", false))]]> + + + + + + + + + Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_sourcei", "oiov", false))]]> + + + + + + + + + Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_sourceiv", "oiov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_al_speed_of_sound", "fv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_alc_close_device", "ob", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_alc_create_context", "ooo", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_alc_destroy_context", "ov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_alc_get_contexts_device", "oo", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_alc_get_current_context", "o", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_alc_get_error", "oi", false))]]> + + + + + + + + + Int -> Int>(cpp.Prime._loadPrime("lime", "lime_alc_get_integerv", "oiio", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_alc_get_string", "oio", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_alc_make_context_current", "ob", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_alc_open_device", "so", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_alc_pause_device", "ov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_alc_process_context", "ov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_alc_resume_device", "ov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_alc_suspend_context", "ov", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_al_gen_filter", "o", false))]]> + + + + + + + + + Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_filteri", "oiov", false))]]> + + + + + + + + + Int -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_al_filterf", "oifv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_al_remove_direct_filter", "ov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_al_is_filter", "ob", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_al_get_filteri", "oii", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_al_gen_effect", "o", false))]]> + + + + + + + + + Int -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_al_effectf", "oifv", false))]]> + + + + + + + + + Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_effectfv", "oiov", false))]]> + + + + + + + + + Int -> Int>(cpp.Prime._loadPrime("lime", "lime_al_effecti", "oiiv", false))]]> + + + + + + + + + Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_effectiv", "oiov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_al_is_effect", "ob", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_al_gen_aux", "o", false))]]> + + + + + + + + + Int -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_al_auxf", "oifv", false))]]> + + + + + + + + + Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_auxfv", "oiov", false))]]> + + + + + + + + + Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_auxi", "oiov", false))]]> + + + + + + + + + Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_auxiv", "oiov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_al_is_aux", "ob", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_al_remove_send", "oiv", false))]]> + + + + + + + + + + + + Float -> Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_arc", "odddddv", false))]]> + + + + + + + + + + + + Float -> Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_arc_negative", "odddddv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_clip", "ov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_clip_preserve", "ov", false))]]> + + + + + + + + + + + Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_clip_extents", "oddddv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_close_path", "ov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_copy_page", "ov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_create", "oo", false))]]> + + + + + + + + + + + + + Float -> Float -> Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_curve_to", "oddddddv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_fill", "ov", false))]]> + + + + + + + + + + + Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_fill_extents", "oddddv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_fill_preserve", "ov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_get_antialias", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_get_current_point", "oo", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_get_dash", "oo", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_get_dash_count", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_get_fill_rule", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_get_font_face", "oo", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_get_font_options", "oo", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_get_group_target", "oo", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_get_line_cap", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_get_line_join", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_get_line_width", "od", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_get_matrix", "oo", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_get_miter_limit", "od", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_get_operator", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_get_source", "oo", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_get_target", "oo", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_get_tolerance", "od", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_has_current_point", "ob", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_identity_matrix", "ov", false))]]> + + + + + + + + + Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_in_clip", "oddb", false))]]> + + + + + + + + + Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_in_fill", "oddb", false))]]> + + + + + + + + + Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_in_stroke", "oddb", false))]]> + + + + + + + + + Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_line_to", "oddv", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_cairo_mask", "oov", false))]]> + + + + + + + + + + cpp.Object -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_mask_surface", "ooddv", false))]]> + + + + + + + + + Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_move_to", "oddv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_new_path", "ov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_paint", "ov", false))]]> + + + + + + + + Float>(cpp.Prime._loadPrime("lime", "lime_cairo_paint_with_alpha", "odv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_pop_group", "oo", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_pop_group_to_source", "ov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_push_group", "ov", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_cairo_push_group_with_content", "oiv", false))]]> + + + + + + + + + + + Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_rectangle", "oddddv", false))]]> + + + + + + + + + + + + + Float -> Float -> Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_rel_curve_to", "oddddddv", false))]]> + + + + + + + + + Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_rel_line_to", "oddv", false))]]> + + + + + + + + + Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_rel_move_to", "oddv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_reset_clip", "ov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_restore", "ov", false))]]> + + + + + + + + Float>(cpp.Prime._loadPrime("lime", "lime_cairo_rotate", "odv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_save", "ov", false))]]> + + + + + + + + + Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_scale", "oddv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_cairo_set_antialias", "oiv", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_cairo_set_dash", "oov", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_cairo_set_fill_rule", "oiv", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_cairo_set_font_face", "oov", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_cairo_set_font_options", "oov", false))]]> + + + + + + + + Float>(cpp.Prime._loadPrime("lime", "lime_cairo_set_font_size", "odv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_cairo_set_line_cap", "oiv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_cairo_set_line_join", "oiv", false))]]> + + + + + + + + Float>(cpp.Prime._loadPrime("lime", "lime_cairo_set_line_width", "odv", false))]]> + + + + + + + + + + + + + Float -> Float -> Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_set_matrix", "oddddddv", false))]]> + + + + + + + + Float>(cpp.Prime._loadPrime("lime", "lime_cairo_set_miter_limit", "odv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_cairo_set_operator", "oiv", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_cairo_set_source", "oov", false))]]> + + + + + + + + + + Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_set_source_rgb", "odddv", false))]]> + + + + + + + + + + + Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_set_source_rgba", "oddddv", false))]]> + + + + + + + + + + cpp.Object -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_set_source_surface", "ooddv", false))]]> + + + + + + + + Float>(cpp.Prime._loadPrime("lime", "lime_cairo_set_tolerance", "odv", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_cairo_show_glyphs", "oov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_show_page", "ov", false))]]> + + + + + + + + String>(cpp.Prime._loadPrime("lime", "lime_cairo_show_text", "osv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_status", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_stroke", "ov", false))]]> + + + + + + + + + + + Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_stroke_extents", "oddddv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_stroke_preserve", "ov", false))]]> + + + + + + + + String>(cpp.Prime._loadPrime("lime", "lime_cairo_text_path", "osv", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_cairo_transform", "oov", false))]]> + + + + + + + + + Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_translate", "oddv", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_version", "i", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_version_string", "s", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_font_face_status", "oi", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_font_options_create", "o", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_font_options_get_antialias", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_font_options_get_hint_metrics", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_font_options_get_hint_style", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_font_options_get_subpixel_order", "oi", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_cairo_font_options_set_antialias", "oiv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_cairo_font_options_set_hint_metrics", "oiv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_cairo_font_options_set_hint_style", "oiv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_cairo_font_options_set_subpixel_order", "oiv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_cairo_ft_font_face_create", "oio", false))]]> + + + + + + + + + Int -> Int>(cpp.Prime._loadPrime("lime", "lime_cairo_image_surface_create", "iiio", false))]]> + + + + + + + + + + + Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_cairo_image_surface_create_for_data", "diiiio", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_image_surface_get_data", "od", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_image_surface_get_format", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_image_surface_get_height", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_image_surface_get_stride", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_image_surface_get_width", "oi", false))]]> + + + + + + + + + + + Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_pattern_add_color_stop_rgb", "oddddv", false))]]> + + + + + + + + + + + + Float -> Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_pattern_add_color_stop_rgba", "odddddv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_pattern_create_for_surface", "oo", false))]]> + + + + + + + + + + Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_pattern_create_linear", "ddddo", false))]]> + + + + + + + + + + + + Float -> Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_pattern_create_radial", "ddddddo", false))]]> + + + + + + + + + Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_pattern_create_rgb", "dddo", false))]]> + + + + + + + + + + Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_pattern_create_rgba", "ddddo", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_pattern_get_color_stop_count", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_pattern_get_extend", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_pattern_get_filter", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_pattern_get_matrix", "oo", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_cairo_pattern_set_extend", "oiv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_cairo_pattern_set_filter", "oiv", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_cairo_pattern_set_matrix", "oov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_cairo_surface_flush", "ov", false))]]> + + + + + + + + Float>(cpp.Prime._loadPrime("lime", "lime_curl_getdate", "sdd", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_curl_global_cleanup", "v", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_curl_global_init", "ii", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_curl_version", "o", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_curl_version_info", "io", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_curl_easy_cleanup", "ov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_curl_easy_duphandle", "oo", false))]]> + + + + + + + + + String -> Int>(cpp.Prime._loadPrime("lime", "lime_curl_easy_escape", "osio", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_curl_easy_flush", "ov", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_curl_easy_getinfo", "oio", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_curl_easy_init", "o", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_curl_easy_pause", "oii", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_curl_easy_perform", "oi", false))]]> + + + + + + + + + + cpp.Object -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_curl_easy_recv", "ooiii", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_curl_easy_reset", "ov", false))]]> + + + + + + + + + + cpp.Object -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_curl_easy_send", "ooiii", false))]]> + + + + + + + + + + Int -> cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_curl_easy_setopt", "oiooi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_curl_easy_strerror", "io", false))]]> + + + + + + + + + + String -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_curl_easy_unescape", "osiio", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_curl_multi_init", "o", false))]]> + + + + + + + + + cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_curl_multi_add_handle", "oooi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_curl_multi_get_running_handles", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_curl_multi_info_read", "oo", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_curl_multi_perform", "oi", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_curl_multi_remove_handle", "ooi", false))]]> + + + + + + + + + Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_curl_multi_setopt", "oioi", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_curl_multi_wait", "oii", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_active_texture", "iv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_attach_shader", "iiv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_begin_query", "iiv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_begin_transform_feedback", "iv", false))]]> + + + + + + + + + Int -> String>(cpp.Prime._loadPrime("lime", "lime_gl_bind_attrib_location", "iisv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_bind_buffer", "iiv", false))]]> + + + + + + + + + Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_bind_buffer_base", "iiiv", false))]]> + + + + + + + + + + + Int -> Int -> lime.utils.DataPointer -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_bind_buffer_range", "iiidiv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_bind_framebuffer", "iiv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_bind_renderbuffer", "iiv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_bind_sampler", "iiv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_bind_texture", "iiv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_bind_transform_feedback", "iiv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_bind_vertex_array", "iv", false))]]> + + + + + + + + + + cpp.Float32 -> cpp.Float32 -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_blend_color", "ffffv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_blend_equation", "iv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_blend_equation_separate", "iiv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_blend_func", "iiv", false))]]> + + + + + + + + + + Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_blend_func_separate", "iiiiv", false))]]> + + + + + + + + + + + + + + + + Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_blit_framebuffer", "iiiiiiiiiiv", false))]]> + + + + + + + + + + Int -> lime.utils.DataPointer -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_buffer_data", "iidiv", false))]]> + + + + + + + + + + Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_buffer_sub_data", "iiidv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_check_framebuffer_status", "ii", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_clear", "iv", false))]]> + + + + + + + + + + Int -> cpp.Float32 -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_clear_bufferfi", "iifiv", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_clear_bufferfv", "iidv", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_clear_bufferiv", "iidv", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_clear_bufferuiv", "iidv", false))]]> + + + + + + + + + + Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_client_wait_sync", "oiiii", false))]]> + + + + + + + + + + cpp.Float32 -> cpp.Float32 -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_clear_color", "ffffv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_clear_depthf", "fv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_clear_stencil", "iv", false))]]> + + + + + + + + + + Bool -> Bool -> Bool>(cpp.Prime._loadPrime("lime", "lime_gl_color_mask", "bbbbv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_compile_shader", "iv", false))]]> + + + + + + + + + + + + + + Int -> Int -> Int -> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_compressed_tex_image_2d", "iiiiiiidv", false))]]> + + + + + + + + + + + + + + + Int -> Int -> Int -> Int -> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_compressed_tex_image_3d", "iiiiiiiidv", false))]]> + + + + + + + + + + + + + + + Int -> Int -> Int -> Int -> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_compressed_tex_sub_image_2d", "iiiiiiiidv", false))]]> + + + + + + + + + + + + + + + + + Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_compressed_tex_sub_image_3d", "iiiiiiiiiidv", false))]]> + + + + + + + + + + + Int -> lime.utils.DataPointer -> lime.utils.DataPointer -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_copy_buffer_sub_data", "iiddiv", false))]]> + + + + + + + + + + + + + + Int -> Int -> Int -> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_copy_tex_image_2d", "iiiiiiiiv", false))]]> + + + + + + + + + + + + + + Int -> Int -> Int -> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_copy_tex_sub_image_2d", "iiiiiiiiv", false))]]> + + + + + + + + + + + + + + + Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_copy_tex_sub_image_3d", "iiiiiiiiiv", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_gl_create_buffer", "i", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_gl_create_framebuffer", "i", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_gl_create_program", "i", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_gl_create_query", "i", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_gl_create_renderbuffer", "i", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_gl_create_sampler", "i", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_create_shader", "ii", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_gl_create_texture", "i", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_gl_create_transform_feedback", "i", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_gl_create_vertex_array", "i", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_cull_face", "iv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_delete_buffer", "iv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_delete_framebuffer", "iv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_delete_program", "iv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_delete_query", "iv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_delete_renderbuffer", "iv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_delete_sampler", "iv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_delete_shader", "iv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_delete_sync", "ov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_delete_texture", "iv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_delete_transform_feedback", "iv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_delete_vertex_array", "iv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_depth_func", "iv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_depth_mask", "bv", false))]]> + + + + + + + + cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_depth_rangef", "ffv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_detach_shader", "iiv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_disable", "iv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_disable_vertex_attrib_array", "iv", false))]]> + + + + + + + + + Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_draw_arrays", "iiiv", false))]]> + + + + + + + + + + Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_draw_arrays_instanced", "iiiiv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_draw_buffers", "ov", false))]]> + + + + + + + + + + Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_draw_elements", "iiidv", false))]]> + + + + + + + + + + + Int -> Int -> lime.utils.DataPointer -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_draw_elements_instanced", "iiidiv", false))]]> + + + + + + + + + + + + Int -> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_draw_range_elements", "iiiiidv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_enable", "iv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_enable_vertex_attrib_array", "iv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_end_query", "iv", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_gl_end_transform_feedback", "v", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_fence_sync", "iio", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_gl_finish", "v", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_gl_flush", "v", false))]]> + + + + + + + + + + Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_framebuffer_renderbuffer", "iiiiv", false))]]> + + + + + + + + + + + Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_framebuffer_texture2D", "iiiiiv", false))]]> + + + + + + + + + + + Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_framebuffer_texture_layer", "iiiiiv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_front_face", "iv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_generate_mipmap", "iv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_active_attrib", "iio", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_active_uniform", "iio", false))]]> + + + + + + + + + Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_active_uniform_blocki", "iiii", false))]]> + + + + + + + + + + Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_active_uniform_blockiv", "iiidv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_active_uniform_block_name", "iio", false))]]> + + + + + + + + + + cpp.Object -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_active_uniformsiv", "ioidv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_get_attached_shaders", "io", false))]]> + + + + + + + + String>(cpp.Prime._loadPrime("lime", "lime_gl_get_attrib_location", "isi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_get_boolean", "ib", false))]]> + + + + + + + + lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_booleanv", "idv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_buffer_parameteri", "iii", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_buffer_parameteri64v", "iidv", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_buffer_parameteriv", "iidv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_buffer_pointerv", "iid", false))]]> + + + + + + + + + + lime.utils.DataPointer -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_buffer_sub_data", "ididv", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_gl_get_context_attributes", "o", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_gl_get_error", "i", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_get_extension", "so", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_get_float", "if", false))]]> + + + + + + + + lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_floatv", "idv", false))]]> + + + + + + + + String>(cpp.Prime._loadPrime("lime", "lime_gl_get_frag_data_location", "isi", false))]]> + + + + + + + + + Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_framebuffer_attachment_parameteri", "iiii", false))]]> + + + + + + + + + + Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_framebuffer_attachment_parameteriv", "iiidv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_get_integer", "ii", false))]]> + + + + + + + + lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_integer64v", "idv", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_integer64i_v", "iidv", false))]]> + + + + + + + + lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_integerv", "idv", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_integeri_v", "iidv", false))]]> + + + + + + + + + + + Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_internalformativ", "iiiidv", false))]]> + + + + + + + + + Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_gl_get_program_binary", "iiov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_get_program_info_log", "io", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_programi", "iii", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_programiv", "iidv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_queryi", "iii", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_queryiv", "iidv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_query_objectui", "iii", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_query_objectuiv", "iidv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_renderbuffer_parameteri", "iii", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_renderbuffer_parameteriv", "iidv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_sampler_parameterf", "iif", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_sampler_parameterfv", "iidv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_sampler_parameteri", "iii", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_sampler_parameteriv", "iidv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_get_shader_info_log", "io", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_shaderi", "iii", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_shaderiv", "iidv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_shader_precision_format", "iio", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_get_shader_source", "io", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_get_string", "io", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_stringi", "iio", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_sync_parameteri", "oii", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_sync_parameteriv", "oidv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_tex_parameterf", "iif", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_tex_parameterfv", "iidv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_tex_parameteri", "iii", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_tex_parameteriv", "iidv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_transform_feedback_varying", "iio", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_uniformf", "iif", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_uniformfv", "iidv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_uniformi", "iii", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_uniformiv", "iidv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_uniformui", "iii", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_uniformuiv", "iidv", false))]]> + + + + + + + + String>(cpp.Prime._loadPrime("lime", "lime_gl_get_uniform_block_index", "isi", false))]]> + + + + + + + + String>(cpp.Prime._loadPrime("lime", "lime_gl_get_uniform_location", "isi", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_vertex_attribf", "iif", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_vertex_attribfv", "iidv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_vertex_attribi", "iii", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_vertex_attribiv", "iidv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_vertex_attribii", "iii", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_vertex_attribiiv", "iidv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_vertex_attribiui", "iii", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_vertex_attribiuiv", "iidv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_vertex_attrib_pointerv", "iid", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_hint", "iiv", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_gl_invalidate_framebuffer", "iov", false))]]> + + + + + + + + + + + + cpp.Object -> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_invalidate_sub_framebuffer", "ioiiiiv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_is_buffer", "ib", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_is_enabled", "ib", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_is_framebuffer", "ib", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_is_program", "ib", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_is_query", "ib", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_is_renderbuffer", "ib", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_is_sampler", "ib", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_is_shader", "ib", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_is_sync", "ob", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_is_texture", "ib", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_is_transform_feedback", "ib", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_is_vertex_array", "ib", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_line_width", "fv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_link_program", "iv", false))]]> + + + + + + + + + + lime.utils.DataPointer -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_map_buffer_range", "idiid", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_object_deregister", "ov", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_object_from_id", "iio", false))]]> + + + + + + + + + Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_gl_object_register", "iioo", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_gl_pause_transform_feedback", "v", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_pixel_storei", "iiv", false))]]> + + + + + + + + cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_polygon_offset", "ffv", false))]]> + + + + + + + + + + Int -> lime.utils.DataPointer -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_program_binary", "iidiv", false))]]> + + + + + + + + + Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_program_parameteri", "iiiv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_read_buffer", "iv", false))]]> + + + + + + + + + + + + + Int -> Int -> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_read_pixels", "iiiiiidv", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_gl_release_shader_compiler", "v", false))]]> + + + + + + + + + + Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_renderbuffer_storage", "iiiiv", false))]]> + + + + + + + + + + + Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_renderbuffer_storage_multisample", "iiiiiv", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_gl_resume_transform_feedback", "v", false))]]> + + + + + + + + Bool>(cpp.Prime._loadPrime("lime", "lime_gl_sample_coverage", "fbv", false))]]> + + + + + + + + + Int -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_sampler_parameterf", "iifv", false))]]> + + + + + + + + + Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_sampler_parameteri", "iiiv", false))]]> + + + + + + + + + + Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_scissor", "iiiiv", false))]]> + + + + + + + + + + Int -> lime.utils.DataPointer -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_shader_binary", "oidiv", false))]]> + + + + + + + + String>(cpp.Prime._loadPrime("lime", "lime_gl_shader_source", "isv", false))]]> + + + + + + + + + Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_stencil_func", "iiiv", false))]]> + + + + + + + + + + Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_stencil_func_separate", "iiiiv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_stencil_mask", "iv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_stencil_mask_separate", "iiv", false))]]> + + + + + + + + + Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_stencil_op", "iiiv", false))]]> + + + + + + + + + + Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_stencil_op_separate", "iiiiv", false))]]> + + + + + + + + + + + + + + + Int -> Int -> Int -> Int -> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_tex_image_2d", "iiiiiiiidv", false))]]> + + + + + + + + + + + + + + + + Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_tex_image_3d", "iiiiiiiiidv", false))]]> + + + + + + + + + Int -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_tex_parameterf", "iifv", false))]]> + + + + + + + + + Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_tex_parameteri", "iiiv", false))]]> + + + + + + + + + + + Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_tex_storage_2d", "iiiiiv", false))]]> + + + + + + + + + + + + Int -> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_tex_storage_3d", "iiiiiiv", false))]]> + + + + + + + + + + + + + + + Int -> Int -> Int -> Int -> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_tex_sub_image_2d", "iiiiiiiidv", false))]]> + + + + + + + + + + + + + + + + + Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_tex_sub_image_3d", "iiiiiiiiiidv", false))]]> + + + + + + + + + cpp.Object -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_transform_feedback_varyings", "ioiv", false))]]> + + + + + + + + cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_uniform1f", "ifv", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform1fv", "iidv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_uniform1i", "iiv", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform1iv", "iidv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_uniform1ui", "iiv", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform1uiv", "iidv", false))]]> + + + + + + + + + cpp.Float32 -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_uniform2f", "iffv", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform2fv", "iidv", false))]]> + + + + + + + + + Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_uniform2i", "iiiv", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform2iv", "iidv", false))]]> + + + + + + + + + Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_uniform2ui", "iiiv", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform2uiv", "iidv", false))]]> + + + + + + + + + + cpp.Float32 -> cpp.Float32 -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_uniform3f", "ifffv", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform3fv", "iidv", false))]]> + + + + + + + + + + Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_uniform3i", "iiiiv", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform3iv", "iidv", false))]]> + + + + + + + + + + Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_uniform3ui", "iiiiv", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform3uiv", "iidv", false))]]> + + + + + + + + + + + cpp.Float32 -> cpp.Float32 -> cpp.Float32 -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_uniform4f", "iffffv", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform4fv", "iidv", false))]]> + + + + + + + + + + + Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_uniform4i", "iiiiiv", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform4iv", "iidv", false))]]> + + + + + + + + + + + Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_uniform4ui", "iiiiiv", false))]]> + + + + + + + + + Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform4uiv", "iidv", false))]]> + + + + + + + + + Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_uniform_block_binding", "iiiv", false))]]> + + + + + + + + + + Int -> Bool -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform_matrix2fv", "iibdv", false))]]> + + + + + + + + + + Int -> Bool -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform_matrix2x3fv", "iibdv", false))]]> + + + + + + + + + + Int -> Bool -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform_matrix2x4fv", "iibdv", false))]]> + + + + + + + + + + Int -> Bool -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform_matrix3fv", "iibdv", false))]]> + + + + + + + + + + Int -> Bool -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform_matrix3x2fv", "iibdv", false))]]> + + + + + + + + + + Int -> Bool -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform_matrix3x4fv", "iibdv", false))]]> + + + + + + + + + + Int -> Bool -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform_matrix4fv", "iibdv", false))]]> + + + + + + + + + + Int -> Bool -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform_matrix4x2fv", "iibdv", false))]]> + + + + + + + + + + Int -> Bool -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform_matrix4x3fv", "iibdv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_unmap_buffer", "ib", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_use_program", "iv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_gl_validate_program", "iv", false))]]> + + + + + + + + cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attrib1f", "ifv", false))]]> + + + + + + + + lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attrib1fv", "idv", false))]]> + + + + + + + + + cpp.Float32 -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attrib2f", "iffv", false))]]> + + + + + + + + lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attrib2fv", "idv", false))]]> + + + + + + + + + + cpp.Float32 -> cpp.Float32 -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attrib3f", "ifffv", false))]]> + + + + + + + + lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attrib3fv", "idv", false))]]> + + + + + + + + + + + cpp.Float32 -> cpp.Float32 -> cpp.Float32 -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attrib4f", "iffffv", false))]]> + + + + + + + + lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attrib4fv", "idv", false))]]> + + + + + + + + + + + Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attribi4i", "iiiiiv", false))]]> + + + + + + + + lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attribi4iv", "idv", false))]]> + + + + + + + + + + + Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attribi4ui", "iiiiiv", false))]]> + + + + + + + + lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attribi4uiv", "idv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attrib_divisor", "iiv", false))]]> + + + + + + + + + + + Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attrib_ipointer", "iiiidv", false))]]> + + + + + + + + + + + + Int -> Int -> Bool -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attrib_pointer", "iiibidv", false))]]> + + + + + + + + + + Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_viewport", "iiiiv", false))]]> + + + + + + + + + + Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_wait_sync", "oiiiv", false))]]> + + + + + + + + + Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_blob_create", "diio", false))]]> + + + + + + + + + Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_blob_create_sub_blob", "oiio", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_blob_get_data", "od", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_blob_get_data_writable", "od", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_hb_blob_get_empty", "o", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_blob_get_length", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_blob_is_immutable", "ob", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_blob_make_immutable", "ov", false))]]> + + + + + + + + + Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_add", "oiiv", false))]]> + + + + + + + + + + + lime.utils.DataPointer -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_add_codepoints", "odiiiv", false))]]> + + + + + + + + + + String -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_add_utf8", "osiiv", false))]]> + + + + + + + + + + + lime.utils.DataPointer -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_add_utf16", "odiiiv", false))]]> + + + + + + + + + + + lime.utils.DataPointer -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_add_utf32", "odiiiv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_buffer_allocation_successful", "ob", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_buffer_clear_contents", "ov", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_hb_buffer_create", "o", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_cluster_level", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_content_type", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_direction", "oi", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_empty", "o", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_flags", "oi", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_glyph_infos", "ooo", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_glyph_positions", "ooo", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_language", "oo", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_length", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_replacement_codepoint", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_script", "oi", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_segment_properties", "oov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_buffer_guess_segment_properties", "ov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_buffer_normalize_glyphs", "ov", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_preallocate", "oib", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_buffer_reset", "ov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_buffer_reverse", "ov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_buffer_reverse_clusters", "ov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_buffer_serialize_format_from_string", "si", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_buffer_serialize_format_to_string", "io", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_hb_buffer_serialize_list_formats", "o", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_set_cluster_level", "oiv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_set_content_type", "oiv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_set_direction", "oiv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_set_flags", "oiv", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_set_language", "oov", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_set_length", "oib", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_set_replacement_codepoint", "oiv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_set_script", "oiv", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_set_segment_properties", "oov", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_hb_face_create", "oio", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_hb_face_get_empty", "o", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_face_get_glyph_count", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_face_get_index", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_face_get_upem", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_face_is_immutable", "ob", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_face_make_immutable", "ov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_face_reference_blob", "oo", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_hb_face_reference_table", "oio", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_hb_face_set_glyph_count", "oiv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_hb_face_set_index", "oiv", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_hb_face_set_upem", "oiv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_feature_from_string", "so", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_feature_to_string", "oo", false))]]> + + + + + + + + + + + Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_font_add_glyph_origin_for_direction", "oiiiiv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_font_create", "oo", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_font_create_sub_font", "oo", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_hb_font_get_empty", "o", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_font_get_face", "oo", false))]]> + + + + + + + + + Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_font_get_glyph_advance_for_direction", "oiio", false))]]> + + + + + + + + + + Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_font_get_glyph_kerning_for_direction", "oiiio", false))]]> + + + + + + + + + Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_font_get_glyph_origin_for_direction", "oiio", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_font_get_parent", "oo", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_font_get_ppem", "oo", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_font_get_scale", "oo", false))]]> + + + + + + + + String>(cpp.Prime._loadPrime("lime", "lime_hb_font_glyph_from_string", "osi", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_hb_font_glyph_to_string", "oio", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_font_is_immutable", "ob", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_font_make_immutable", "ov", false))]]> + + + + + + + + + Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_font_set_ppem", "oiiv", false))]]> + + + + + + + + + Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_font_set_scale", "oiiv", false))]]> + + + + + + + + + + + Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_font_subtract_glyph_origin_for_direction", "oiiiiv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_ft_font_create", "oo", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_ft_font_create_referenced", "oo", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_ft_font_get_load_flags", "oi", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_hb_ft_font_set_load_flags", "oiv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_language_from_string", "so", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_hb_language_get_default", "o", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_language_to_string", "oo", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_segment_properties_equal", "oob", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_segment_properties_hash", "oi", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_hb_set_add", "oiv", false))]]> + + + + + + + + + Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_set_add_range", "oiiv", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_set_allocation_successful", "ob", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_set_clear", "ov", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_hb_set_create", "o", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_hb_set_del", "oiv", false))]]> + + + + + + + + + Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_set_del_range", "oiiv", false))]]> + + + + (cpp.Prime._loadPrime("lime", "lime_hb_set_get_empty", "o", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_set_get_max", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_set_get_min", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_set_get_population", "oi", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_hb_set_has", "oib", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_set_intersect", "oov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_set_invert", "ov", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_set_is_empty", "ob", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_set_is_equal", "oob", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_set_next", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_hb_set_next_range", "oo", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_set_set", "oov", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_set_subtract", "oov", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_set_symmetric_difference", "oov", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_set_union", "oov", false))]]> + + + + + + + + + cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_shape", "ooov", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_bitrate", "oii", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_vorbis_file_bitrate_instant", "oi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_vorbis_file_clear", "ov", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_comment", "oio", false))]]> + + + + + + + + cpp.Object>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_crosslap", "ooo", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_vorbis_file_from_bytes", "oo", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_vorbis_file_from_file", "so", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_info", "oio", false))]]> + + + + + + + + + cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_pcm_seek", "oooi", false))]]> + + + + + + + + + cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_pcm_seek_lap", "oooi", false))]]> + + + + + + + + + cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_pcm_seek_page", "oooi", false))]]> + + + + + + + + + cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_pcm_seek_page_lap", "oooi", false))]]> + + + + + + + + + cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_raw_seek", "oooi", false))]]> + + + + + + + + + cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_raw_seek_lap", "oooi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_vorbis_file_pcm_tell", "oo", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_pcm_total", "oio", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_vorbis_file_raw_tell", "oo", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_raw_total", "oio", false))]]> + + + + + + + + + + + + + cpp.Object -> Int -> Int -> Bool -> Int -> Bool>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_read", "ooiibibo", false))]]> + + + + + + + + + cpp.Object -> Int>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_read_float", "ooio", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_vorbis_file_seekable", "ob", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_serial_number", "oii", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_vorbis_file_streams", "oi", false))]]> + + + + + + + + Float>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_time_seek", "odi", false))]]> + + + + + + + + Float>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_time_seek_lap", "odi", false))]]> + + + + + + + + Float>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_time_seek_page", "odi", false))]]> + + + + + + + + Float>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_time_seek_page_lap", "odi", false))]]> + + + + + + + (cpp.Prime._loadPrime("lime", "lime_vorbis_file_time_tell", "od", false))]]> + + + + + + + + Int>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_time_total", "oid", false))]]> + + + + "tags=\"haxe,release\"" + + + + + + + new ApplicationEventInfo(UPDATE) + + + + new ClipboardEventInfo() + + + + + + + ()]]> + + + + new DropEventInfo() + + + + new GamepadEventInfo() + + + + new JoystickEventInfo() + + + + new KeyEventInfo() + + + + new MouseEventInfo() + + + + new RenderEventInfo(RENDER) + + + + new SensorEventInfo() + + + + new TextEventInfo() + + + + new TouchEventInfo() + + + + ()]]> + + + + new WindowEventInfo() + + + + + + + + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + haxe.Timer + lime._internal.backend.native.NativeCFFI + lime._internal.backend.native.NativeOpenGLRenderContext + lime._internal.backend.native.NativeWindow + lime.app.Application + lime.graphics.opengl.GL + lime.graphics.OpenGLRenderContext + lime.graphics.Renderer + lime.system.Clipboard + lime.system.Sensor + lime.ui.Gamepad + lime.ui.Joystick + lime.ui.Window + + + + + + + The current Application instance that is executing + + + + + + + Meta-data values for the application, such as a version or a package name + + + + A list of currently attached Module instances + + + + + + + ()]]> + Update events are dispatched each frame (usually just before rendering) + + + + + + + ()]]> + Dispatched when a new window has been created by this application + + + + The Preloader for the current Application + + + + The Window associated with this Application, or the first Window + if there are multiple Windows active + + + + A list of active Window instances associated with this Application + + <__backend> + + + + <__preloader> + + + + <__window> + + + + <__windowByID> + + + + + + + <__windows> + + + + + + + + + Adds a new module to the Application + @param module A module to add + + + + + + + Creates a new Window and adds it to the Application + @param attributes A set of parameters to initialize the window + + + + Execute the Application. On native platforms, this method + blocks until the application is finished running. On other + platforms, it will return immediately + @return An exit code, 0 if there was no error + + + + + + + + + Called when a gamepad axis move event is fired + @param gamepad The current gamepad + @param axis The axis that was moved + @param value The axis value (between 0 and 1) + + + + + + + + Called when a gamepad button down event is fired + @param gamepad The current gamepad + @param button The button that was pressed + + + + + + + + Called when a gamepad button up event is fired + @param gamepad The current gamepad + @param button The button that was released + + + + + + + Called when a gamepad is connected + @param gamepad The gamepad that was connected + + + + + + + Called when a gamepad is disconnected + @param gamepad The gamepad that was disconnected + + + + + + + + + Called when a joystick axis move event is fired + @param joystick The current joystick + @param axis The axis that was moved + @param value The axis value (between 0 and 1) + + + + + + + + Called when a joystick button down event is fired + @param joystick The current joystick + @param button The button that was pressed + + + + + + + + Called when a joystick button up event is fired + @param joystick The current joystick + @param button The button that was released + + + + + + + Called when a joystick is connected + @param joystick The joystick that was connected + + + + + + + Called when a joystick is disconnected + @param joystick The joystick that was disconnected + + + + + + + + + Called when a joystick hat move event is fired + @param joystick The current joystick + @param hat The hat that was moved + @param position The current hat position + + + + + + + + + + Called when a joystick axis move event is fired + @param joystick The current joystick + @param trackball The trackball that was moved + @param x The x movement of the trackball (between 0 and 1) + @param y The y movement of the trackball (between 0 and 1) + + + + + + + + Called when a key down event is fired on the primary window + @param keyCode The code of the key that was pressed + @param modifier The modifier of the key that was pressed + + + + + + + + Called when a key up event is fired on the primary window + @param keyCode The code of the key that was released + @param modifier The modifier of the key that was released + + + + + + + Called when the module is exiting + + + + + + + + + Called when a mouse down event is fired on the primary window + @param x The current x coordinate of the mouse + @param y The current y coordinate of the mouse + @param button The ID of the mouse button that was pressed + + + + + + + + Called when a mouse move event is fired on the primary window + @param x The current x coordinate of the mouse + @param y The current y coordinate of the mouse + + + + + + + + Called when a mouse move relative event is fired on the primary window + @param x The x movement of the mouse + @param y The y movement of the mouse + + + + + + + + + Called when a mouse up event is fired on the primary window + @param x The current x coordinate of the mouse + @param y The current y coordinate of the mouse + @param button The ID of the button that was released + + + + + + + + + Called when a mouse wheel event is fired on the primary window + @param deltaX The amount of horizontal scrolling (if applicable) + @param deltaY The amount of vertical scrolling (if applicable) + @param deltaMode The units of measurement used + + + + Called when a preload complete event is fired + + + + + + + + Called when a preload progress event is fired + @param loaded The number of items that are loaded + @param total The total number of items will be loaded + + + + Called when a render context is lost on the primary window + + + + + + + Called when a render context is restored on the primary window + @param context The render context relevant to the event + + + + + + + + + Called when a text edit event is fired on the primary window + @param text The current replacement text + @param start The starting index for the edit + @param length The length of the edit + + + + + + + Called when a text input event is fired on the primary window + @param text The current input text + + + + + + + Called when a touch cancel event is fired + @param touch The current touch object + + + + + + + Called when a touch end event is fired + @param touch The current touch object + + + + + + + Called when a touch move event is fired + @param touch The current touch object + + + + + + + Called when a touch start event is fired + @param touch The current touch object + + + + Called when a window activate event is fired on the primary window + + + + Called when a window close event is fired on the primary window + + + + Called when the primary window is created + + + + Called when a window deactivate event is fired on the primary window + + + + + + + Called when a window drop file event is fired on the primary window + + + + Called when a window enter event is fired on the primary window + + + + Called when a window expose event is fired on the primary window + + + + Called when a window focus in event is fired on the primary window + + + + Called when a window focus out event is fired on the primary window + + + + Called when the primary window enters fullscreen + + + + Called when a window leave event is fired on the primary window + + + + + + + + Called when a window move event is fired on the primary window + @param x The x position of the window in desktop coordinates + @param y The y position of the window in desktop coordinates + + + + Called when the primary window is minimized + + + + + + + + Called when a window resize event is fired on the primary window + @param width The width of the window + @param height The height of the window + + + + Called when the primary window is restored from being minimized or fullscreen + + + + + + + Removes a module from the Application + @param module A module to remove + + + + + + + Called when a render event is fired on the primary window + @param context The render context ready to be rendered + + + + + + + Called when an update event is fired on the primary window + @param deltaTime The amount of time in milliseconds that has elapsed since the last update + + <__addWindow set="method" line="461"> + + + + + + + <__createWindow set="method" line="507"> + + + + + + + <__registerLimeModule set="method" line="514" override="1"> + + + + + + + <__removeWindow set="method" line="540"> + + + + + + + <__onGamepadConnect set="method" line="562"> + + + + + + + <__onJoystickConnect set="method" line="572"> + + + + + + + <__onModuleExit set="method" line="584"> + + + + + + + <__onWindowClose set="method" line="589"> + + + + + + + <__unregisterLimeModule set="method" line="599" override="1"> + + + + + + + + + + + + + + + + + + + + + Creates a new Application instance + + The Application class forms the foundation for most Lime projects. + It is common to extend this class in a main class. It is then possible + to override "on" functions in the class in order to handle standard events + that are relevant. + + + lime.ui.Window + "tags=\"haxe,release\"" + + + + +
+ + +
+ + + + + + + + + + lime.app.Application + lime.system.System + openfl.display.Stage + hide + +
+ + + + + + + + + + + + + + { useWeakReference : false, priority : 0, useCapture : false } + Registers an event listener object with an EventDispatcher object so that the + listener receives notification of an event. You can register event listeners on all + nodes in the display list for a specific type of event, phase, and priority. + + After you successfully register an event listener, you cannot change its priority + through additional calls to `addEventListener()`. To change a listener's priority, + you must first call `removeEventListener()`. Then you can register the listener + again with the new priority level. + + After the listener is registered, subsequent calls to `addEventListener()` with a + different value for either `type` or `useCapture` result in the creation of a + separate listener registration. For example, if you first register a listener with + `useCapture` set to true, it listens only during the capture phase. If you call + `addEventListener()` again using the same listener object, but with `useCapture` + set to `false`, you have two separate listeners: one that listens during the + capture phase, and another that listens during the target and bubbling phases. + + You cannot register an event listener for only the target phase or the bubbling + phase. Those phases are coupled during registration because bubbling applies only + to the ancestors of the target node. + + When you no longer need an event listener, remove it by calling + `EventDispatcher.removeEventListener()`; otherwise, memory problems might result. + Objects with registered event listeners are not automatically removed from memory + because the garbage collector does not remove objects that still have references. + + Copying an EventDispatcher instance does not copy the event listeners attached to + it. (If your newly created node needs an event listener, you must attach the + listener after creating the node.) However, if you move an EventDispatcher + instance, the event listeners attached to it move along with it. + + If the event listener is being registered on a node while an event is also being + processed on this node, the event listener is not triggered during the current + phase but may be triggered during a later phase in the event flow, such as the + bubbling phase. + + If an event listener is removed from a node while an event is being processed on + the node, it is still triggered by the current actions. After it is removed, the + event listener is never invoked again (unless it is registered again for future + processing). + + @param type The type of event. + @param listener The listener function that processes the event. This function + must accept an event object as its only parameter and must return nothing, as + this example shows: + ```haxe + function(evt:Event):Void + ``` + The function can have any name. + @param useCapture Determines whether the listener works in the capture phase or + the target and bubbling phases. If `useCapture` is set to `true`, the listener + processes the event only during the capture phase and not in the target or + bubbling phase. If `useCapture` is `false`, the listener processes the event only + during the target or bubbling phase. To listen for the event in all three phases, + call `addEventListener()` twice, once with `useCapture` set to `true`, then again + with `useCapture` set to `false`. + @param priority The priority level of the event listener. Priorities are + designated by a 32-bit integer. The higher the number, the higher the priority. + All listeners with priority `n` are processed before listeners of priority `n-1`. + If two or more listeners share the same priority, they are processed in the order + in which they were added. The default priority is 0. + @param useWeakReference Determines whether the reference to the listener is + strong or weak. A strong reference (the default) prevents your listener from being + garbage-collected. A weak reference does not. + Class-level member functions are not subject to garbage collection, so you can set + `useWeakReference` to `true` for class-level member functions without subjecting + them to garbage collection. If you set `useWeakReference` to `true` for a listener + that is a nested inner function, the function will be garbage-collected and no + longer be persistent. If you create references to the inner function (save it in + another variable) then it is not garbage-collected and stays persistent. + + + + + + + Dispatches an event into the event flow. The event target is the EventDispatcher + object upon which `dispatchEvent()` is called. + + @param event The event object dispatched into the event flow. + @returns A value of true unless `preventDefault()` is called on the event, in + which case it returns `false`. + + + + + + + Checks whether the EventDispatcher object has any listeners registered for a + specific type of event. This allows you to determine where an EventDispatcher + object has altered handling of an event type in the event flow hierarchy. To + determine whether a specific event type will actually trigger an event listener, + use `IEventDispatcher.willTrigger()`. + + The difference between `hasEventListener()` and `willTrigger()` is that + `hasEventListener()` examines only the object to which it belongs, whereas + `willTrigger()` examines the entire event flow for the event specified by the `type` + parameter. + + @param type The type of event. + @returns A value of `true` if a listener of the specified type is registered; + `false` otherwise. + + + + + + + + + + + + { useCapture : false } + Removes a listener from the EventDispatcher object. If there is no matching + listener registered with the EventDispatcher object, a call to this method has no + effect. + + @param type The type of event. + @param listener The listener object to remove. + @param useCapture Specifies whether the listener was registered for the capture + phase or the target and bubbling phases. If the listener was registered for both + the capture phase and the target and bubbling phases, two calls to + `removeEventListener()` are required to remove both: one call with `useCapture` set + to `true`, and another call with `useCapture` set to `false`. + + + + + + + Checks whether an event listener is registered with this EventDispatcher object or + any of its ancestors for the specified event type. This method returns `true` if an + event listener is triggered during any phase of the event flow when an event of + the specified type is dispatched to this EventDispatcher object or any of its + descendants. + + The difference between `hasEventListener()` and `willTrigger()` is that + `hasEventListener()` examines only the object to which it belongs, whereas + `willTrigger()` examines the entire event flow for the event specified by the + `type` parameter. + + @param type The type of event. + @returns A value of `true` if a listener of the specified type will be + triggered; `false` otherwise. + + The IEventDispatcher interface defines methods for adding or removing event listeners, + checks whether specific types of event listeners are registered, and dispatches events. + + Event targets are an important part of the Flash� Player and Adobe AIR event model. The + event target serves as the focal point for how events flow through the display list + hierarchy. When an event such as a mouse click or a keypress occurs, an event object is + dispatched into the event flow from the root of the display list. The event object + makes a round-trip journey to the event target, which is conceptually divided into + three phases: the capture phase includes the journey from the root to the last node + before the event target's node; the target phase includes only the event target node; + and the bubbling phase includes any subsequent nodes encountered on the return trip to + the root of the display list. + + In general, the easiest way for a user-defined class to gain event dispatching + capabilities is to extend EventDispatcher. If this is impossible (that is, if the class + is already extending another class), you can instead implement the IEventDispatcher + interface, create an EventDispatcher member, and write simple hooks to route calls + into the aggregated EventDispatcher. + + + + <__eventMap> + + + + + + + <__iterators> + + + + + + + <__targetDispatcher> + + + + + + + + + + + + + + + + { useWeakReference : false, priority : 0, useCapture : false } + Registers an event listener object with an EventDispatcher object so that + the listener receives notification of an event. You can register event + listeners on all nodes in the display list for a specific type of event, + phase, and priority. + + After you successfully register an event listener, you cannot change + its priority through additional calls to `addEventListener()`. + To change a listener's priority, you must first call + `removeListener()`. Then you can register the listener again + with the new priority level. + + Keep in mind that after the listener is registered, subsequent calls to + `addEventListener()` with a different `type` or + `useCapture` value result in the creation of a separate + listener registration. For example, if you first register a listener with + `useCapture` set to `true`, it listens only during + the capture phase. If you call `addEventListener()` again using + the same listener object, but with `useCapture` set to + `false`, you have two separate listeners: one that listens + during the capture phase and another that listens during the target and + bubbling phases. + + You cannot register an event listener for only the target phase or the + bubbling phase. Those phases are coupled during registration because + bubbling applies only to the ancestors of the target node. + + If you no longer need an event listener, remove it by calling + `removeEventListener()`, or memory problems could result. Event + listeners are not automatically removed from memory because the garbage + collector does not remove the listener as long as the dispatching object + exists(unless the `useWeakReference` parameter is set to + `true`). + + Copying an EventDispatcher instance does not copy the event listeners + attached to it.(If your newly created node needs an event listener, you + must attach the listener after creating the node.) However, if you move an + EventDispatcher instance, the event listeners attached to it move along + with it. + + If the event listener is being registered on a node while an event is + being processed on this node, the event listener is not triggered during + the current phase but can be triggered during a later phase in the event + flow, such as the bubbling phase. + + If an event listener is removed from a node while an event is being + processed on the node, it is still triggered by the current actions. After + it is removed, the event listener is never invoked again(unless + registered again for future processing). + + @param type The type of event. + @param useCapture Determines whether the listener works in the + capture phase or the target and bubbling phases. + If `useCapture` is set to + `true`, the listener processes the + event only during the capture phase and not in the + target or bubbling phase. If + `useCapture` is `false`, the + listener processes the event only during the + target or bubbling phase. To listen for the event + in all three phases, call + `addEventListener` twice, once with + `useCapture` set to `true`, + then again with `useCapture` set to + `false`. + @param priority The priority level of the event listener. The + priority is designated by a signed 32-bit integer. + The higher the number, the higher the priority. + All listeners with priority _n_ are processed + before listeners of priority _n_-1. If two or + more listeners share the same priority, they are + processed in the order in which they were added. + The default priority is 0. + @param useWeakReference Determines whether the reference to the listener + is strong or weak. A strong reference(the + default) prevents your listener from being + garbage-collected. A weak reference does not. + + Class-level member functions are not subject to + garbage collection, so you can set + `useWeakReference` to `true` + for class-level member functions without + subjecting them to garbage collection. If you set + `useWeakReference` to `true` + for a listener that is a nested inner function, + the function will be garbage-collected and no + longer persistent. If you create references to the + inner function(save it in another variable) then + it is not garbage-collected and stays + persistent. + @throws ArgumentError The `listener` specified is not a + function. + + + + + + + Dispatches an event into the event flow. The event target is the + EventDispatcher object upon which the `dispatchEvent()` method + is called. + + @param event The Event object that is dispatched into the event flow. If + the event is being redispatched, a clone of the event is + created automatically. After an event is dispatched, its + `target` property cannot be changed, so you must + create a new copy of the event for redispatching to work. + @return A value of `true` if the event was successfully + dispatched. A value of `false` indicates failure or + that `preventDefault()` was called on the event. + @throws Error The event dispatch recursion limit has been reached. + + + + + + + Checks whether the EventDispatcher object has any listeners registered for + a specific type of event. This allows you to determine where an + EventDispatcher object has altered handling of an event type in the event + flow hierarchy. To determine whether a specific event type actually + triggers an event listener, use `willTrigger()`. + + The difference between `hasEventListener()` and + `willTrigger()` is that `hasEventListener()` + examines only the object to which it belongs, whereas + `willTrigger()` examines the entire event flow for the event + specified by the `type` parameter. + + When `hasEventListener()` is called from a LoaderInfo + object, only the listeners that the caller can access are considered. + + @param type The type of event. + @return A value of `true` if a listener of the specified type + is registered; `false` otherwise. + + + + + + + + + + + + { useCapture : false } + Removes a listener from the EventDispatcher object. If there is no + matching listener registered with the EventDispatcher object, a call to + this method has no effect. + + @param type The type of event. + @param useCapture Specifies whether the listener was registered for the + capture phase or the target and bubbling phases. If the + listener was registered for both the capture phase and + the target and bubbling phases, two calls to + `removeEventListener()` are required to + remove both, one call with `useCapture()` set + to `true`, and another call with + `useCapture()` set to `false`. + + + + + + + + Checks whether an event listener is registered with this EventDispatcher + object or any of its ancestors for the specified event type. This method + returns `true` if an event listener is triggered during any + phase of the event flow when an event of the specified type is dispatched + to this EventDispatcher object or any of its descendants. + + The difference between the `hasEventListener()` and the + `willTrigger()` methods is that `hasEventListener()` + examines only the object to which it belongs, whereas the + `willTrigger()` method examines the entire event flow for the + event specified by the `type` parameter. + + When `willTrigger()` is called from a LoaderInfo object, + only the listeners that the caller can access are considered. + + @param type The type of event. + @return A value of `true` if a listener of the specified type + will be triggered; `false` otherwise. + + <__dispatchEvent set="method" line="360"> + + + + + + + <__removeAllListeners set="method" line="426"> + + + + <__addListenerByPriority set="method" line="432"> + + + + + + + + + + + + + { target : null } + Aggregates an instance of the EventDispatcher class. + + The EventDispatcher class is generally used as a base class, which + means that most developers do not need to use this constructor function. + However, advanced developers who are implementing the IEventDispatcher + interface need to use this constructor. If you are unable to extend the + EventDispatcher class and must instead implement the IEventDispatcher + interface, use this constructor to aggregate an instance of the + EventDispatcher class. + + @param target The target object for events dispatched to the + EventDispatcher object. This parameter is used when the + EventDispatcher instance is aggregated by a class that + implements IEventDispatcher; it is necessary so that the + containing object can be the target for events. Do not use + this parameter in simple cases in which a class extends + EventDispatcher. + + � Player and + Adobe� AIR� event model. The event target serves as + the focal point for how events flow through the display list hierarchy. + When an event such as a mouse click or a keypress occurs, Flash Player or + the AIR application dispatches an event object into the event flow from the + root of the display list. The event object then makes its way through the + display list until it reaches the event target, at which point it begins + its return trip through the display list. This round-trip journey to the + event target is conceptually divided into three phases: the capture phase + comprises the journey from the root to the last node before the event + target's node, the target phase comprises only the event target node, and + the bubbling phase comprises any subsequent nodes encountered on the return + trip to the root of the display list. + + In general, the easiest way for a user-defined class to gain event + dispatching capabilities is to extend EventDispatcher. If this is + impossible(that is, if the class is already extending another class), you + can instead implement the IEventDispatcher interface, create an + EventDispatcher member, and write simple hooks to route calls into the + aggregated EventDispatcher. + + @event activate [broadcast event] Dispatched when the Flash Player or AIR + application gains operating system focus and becomes + active. This event is a broadcast event, which means that + it is dispatched by all EventDispatcher objects with a + listener registered for this event. For more information + about broadcast events, see the DisplayObject class. + @event deactivate [broadcast event] Dispatched when the Flash Player or AIR + application operating loses system focus and is becoming + inactive. This event is a broadcast event, which means + that it is dispatched by all EventDispatcher objects with + a listener registered for this event. For more + information about broadcast events, see the DisplayObject + class.]]> + + + "tags=\"haxe,release\"" + + openfl.events.Event + + + + <__blendMode> + + + + <__drawableType> + + + + <__isMask> + + + + <__renderable> + + + + <__renderTransform> + + + + <__transform> + + + + <__worldAlpha> + + + + <__worldColorTransform> + + + + <__worldTransform> + + + + <__getBounds set="method"> + + + + + + + + <__update set="method"> + + + + + + + + <__updateTransforms set="method"> + + + + + + { overrideTransform : null } + + + + <__mask> + + + + <__scrollRect> + + + + + + + + Indicates whether the `length` property of the Vector can be changed. If the + value is `true`, the `length` property can't be changed. This means the + following operations are not allowed when `fixed` is `true`: + + * setting the `length` property directly + * assigning a value to index position length + * calling a method that changes the `length` property, including: + * `pop()` + * `push()` + * `shift()` + * `unshift()` + * `splice()` (if the `splice()` call changes the length of the Vector). + + + + The range of valid indices available in the Vector. A Vector instance has index + positions up to but not including the length value. + + Every Vector element always has a value that is either an instance of the base + type or `null`. When the `length` property is set to a value that's larger than + its previous value, additional elements are created and populated with the + default value appropriate to the base type (`null` for reference types). + + When the `length` property is set to a value that's smaller than its previous + value, all the elements at index positions greater than or equal to the new + length value are removed from the Vector. + + + + + + + + { vec : null } + Concatenates the Vectors specified in the parameters list with the elements in + this Vector and creates a new Vector. The Vectors in the parameters list must + have the same base type, or subtype, as this Vector. If you do not pass any + parameters, the returned Vector is a duplicate (shallow clone) of the original + Vector. + + @param vec A Vector of the base type, or subtype, of this Vector. + @return A Vector with the same base type as this Vector that contains the + elements from this Vector followed by elements from the Vector in the + parameter list. + @throws TypeError If any argument is not a Vector of the base type, or cannot + be converted to a Vector of the base type. + + + + + + + Creates a new shallow clone of the current Vector object + @return A new Vector object + + + + + + + + + + + Executes a test function on each item in the Vector and returns a new Vector + containing all items that return true for the specified function. If an item + returns false, it is not included in the result Vector. The base type of the return + Vector matches the base type of the Vector on which the method is called. + @param callback The function to run on each item in the Vector. + + + + + + + + + + hide + + + Array access + + + + + + + + + { fromIndex : 0 } + Searches for an item in the Vector and returns the index position of the item. + The item is compared to the Vector elements using strict equality (`===`). + @param searchElement The item to find in the Vector. + @param fromIndex The location in the Vector from which to start searching for + the item. If this parameter is negative, it is treated as `length + fromIndex`, + meaning the search starts -fromIndex items from the end and searches from that + position forward to the end of the Vector. + @return A zero-based index position of the item in the Vector. If the + `searchElement` argument is not found, the return value is -1. + + + + + + + + + Insert a single element into the Vector. This method modifies the Vector without + making a copy. + + @param index An integer that specifies the position in the Vector where the + element is to be inserted. You can use a negative integer to specify a position + relative to the end of the Vector (for example, -1 for the last element of the + Vector). + @param element The value to insert + @throws RangeError If this method is called while `fixed` is `true`. + + + + + + + + + hide + + Iterator + + + + + + + + { sep : "," } + Converts the elements in the Vector to strings, inserts the specified separator + between the elements, concatenates them, and returns the resulting string. A + nested Vector is always separated by a comma (`,`), not by the separator passed + to the `join()` method. + + @param sep A character or string that separates Vector elements in the returned + string. If you omit this parameter, a comma is used as the default separator. + @return A string consisting of the elements of the Vector converted to strings + and separated by the specified string. + + + + + + + + + { fromIndex : null } + Searches for an item in the Vector, working backward from the specified index + position, and returns the index position of the matching item. The item is + compared to the Vector elements using strict equality (`===`). + + @param searchElement The item to find in the Vector. + @param fromIndex The location in the Vector from which to start searching for + the item. The default is the maximum allowable index value, meaning that the + search starts at the last item in the Vector. + + If this parameter is negative, it is treated as `length + fromIndex`, meaning the + search starts -fromIndex items from the end and searches from that position + backward to index 0. + @return A zero-based index position of the item in the Vector. If the + `searchElement` argument is not found, the return value is -1. + + + + + + + Removes the last element from the Vector and returns that element. The `length` + property of the Vector is decreased by one when this function is called. + @return The value of the last element in the specified Vector. + @throws RangeError If this method is called while `fixed` is `true`. + + + + + + + + Adds one or more elements to the end of the Vector and returns the new length of + the Vector. + + Because this function can accept multiple arguments, the data type of the + arguments is not checked at compile time even in strict mode. However, if an + argument is passed that is not an instance of the base type, an exception + occurs at run time. + + @param value A value to append to the Vector. + @return The length of the Vector after the new elements are added. + @throws TypeError If any argument is not an instance of the base type T of + the Vector. + @throws RangeError If this method is called while `fixed` is `true`. + + + + + + + + Remove a single element from the Vector. This method modifies the Vector without + making a copy. + + @param index An integer that specifies the index of the element in the Vector + that is to be deleted. You can use a negative integer to specify a position + relative to the end of the Vector (for example, -1 for the last element of the + Vector). + @return The element that was removed from the original Vector. + @throws RangeError If the index argument specifies an index to be deleted that's + outside the Vector's bounds. + @throws RangeError If this method is called while `fixed` is `true`. + + + + + + + Reverses the order of the elements in the Vector. This method alters the Vector + on which it is called. + + @return The Vector with the elements in reverse order. + + + + + + + + + + + hide + + + Array access + + + + + + + Removes the first element from the Vector and returns that element. The + remaining Vector elements are moved from their original position, i, to i - 1. + + @return The first element in the Vector. + @throws RangeError If `fixed` is `true`. + + + + + + + + + { endIndex : null, startIndex : 0 } + Returns a new Vector that consists of a range of elements from the original + Vector, without modifying the original Vector. The returned Vector includes the + `startIndex` element and all elements up to, but not including, the + `endIndex` element. + + If you don't pass any parameters, the new Vector is a duplicate (shallow clone) of + the original Vector. If you pass a value of 0 for both parameters, a new, empty + Vector is created of the same type as the original Vector. + + @param startIndex A number specifying the index of the starting point for the + slice. If startIndex is a negative number, the starting point begins at the end + of the Vector, where -1 is the last element. + @param endIndex A number specifying the index of the ending point for the + slice. If you omit this parameter, the slice includes all elements from the + starting point to the end of the Vector. If endIndex is a negative number, the + ending point is specified from the end of the Vector, where -1 is the last element. + @return A Vector that consists of a range of elements from the original Vector. + + + + + + + + + + + + Sorts the elements in the Vector object, and also returns a sorted Vector object. + This method sorts according to the parameter sortBehavior, which is either a + function that compares two values, or a set of sorting options. + + The method takes one parameter. The parameter is one of the following: + + * a function that takes two arguments of the base type (T) of the Vector and + returns a Number: + + ```as3 + function compare(x:T, y:T):Number {} + ``` + + The logic of the function is that, given two elements `x` and `y`, the function + returns one of the following three values: + + * a negative number, if `x` should appear before `y` in the sorted sequence + * 0, if `x` equals `y` + * a positive number, if `x` should appear after `y` in the sorted sequence + + * a number which is a bitwise OR of the following values: + * 1 or `Array.CASEINSENSITIVE` + * 2 or `Array.DESCENDING` + * 4 or `Array.UNIQUESORT` + * 8 or `Array.RETURNINDEXEDARRAY` + * 16 or `Array.NUMERIC` + + If the value is 0, the sort works in the following way: + + * Sorting is case-sensitive (Z precedes a). + * Sorting is ascending (a precedes b). + * The array is modified to reflect the sort order; multiple elements that + have identical sort fields are placed consecutively in the sorted array in + no particular order. + * All elements, regardless of data type, are sorted as if they were strings, + so 100 precedes 99, because "1" is a lower string value than "9". + + @param sortBehavior A Function or a Number value that determines the + behavior of the sort. A Function parameter specifies a comparison method. A + Number value specifies the sorting options. + @return A Vector object, with elements in the new order. + + + + + + + + + Adds elements to and removes elements from the Vector. This method modifies the + Vector without making a copy. + + **Note:** To override this method in a subclass of Vector, use ...args for the + parameters, as this example shows: + + ```as3 + public override function splice(...args) { + // your statements here + } + ``` + + @param startIndex:int — An integer that specifies the index of the element in the Vector where the insertion or deletion begins. You can use a negative integer to specify a position relative to the end of the Vector (for example, -1 for the last element of the Vector). + @param deleteCount:uint (default = 4294967295) — An integer that specifies the number of elements to be deleted. This number includes the element specified in the startIndex parameter. If the value is 0, no elements are deleted. + @param ... items — An optional list of one or more comma-separated values to insert into the Vector at the position specified in the startIndex parameter. + @return a Vector containing the elements that were removed from the original Vector. + @throws RangeError If the startIndex and deleteCount arguments specify an index to be deleted that's outside the Vector's bounds. + @throws RangeError If this method is called while fixed is true and the splice() operation changes the length of the Vector. + + + + + + + Returns a string that represents the elements in the Vector. Every element in the + Vector, starting with index 0 and ending with the highest index, is converted to + a concatenated string and separated by commas. To specify a custom separator, + use the `Vector.join()` method. + + @return A string of Vector elements. + + + + + + + + Adds one or more elements to the beginning of the Vector and returns the new + length of the Vector. The other elements in the Vector are moved from their + original position, i, to i + the number of new elements. + + Because this function can accept multiple arguments, the data type of the + arguments is not checked at compile time even in strict mode. However, if an + argument is passed that is not an instance of the base type, an exception occurs + at run time. + + @param value An instance of the base type of the Vector to be inserted at the + beginning of the Vector. + @return An integer representing the new length of the Vector. + @throws TypeError If any argument is not an instance of the base type T of the + Vector. + @throws RangeError If this method is called while fixed is true. + + + + + + + Attempts to cast a Vector to another Vector object of a similar type + @param vec A Vector object to cast + @return The casted Vector object + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "checkstyle:Dynamic" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <__inactiveObject0> + + + + <__inactiveObject1> + + + + <__inactiveObjectList> + + + + <__pool> + + + + + + + <__size> + + + + + + + + + + + + + + + + + + + + + + + <__addInactive get="inline" set="null" line="151"> + + + + + + + <__getInactive get="inline" set="null" line="173"> + + + + <__removeInactive set="method" line="212"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + { size : null, clean : null, create : null } + + + + "tags=\"haxe,release\"" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "haxe.ds.ObjectMap.*" + + + + + + + + + See `Map.set` + + + + + + + + See `Map.get` + + + + + + + + See `Map.exists` + + + + + + + + See `Map.remove` + + + + + See `Map.keys` + + (cs, java) Implementation detail: Do not `set()` any new value while + iterating, as it may cause a resize, which will break iteration. + + + + + See `Map.iterator` + + (cs, java) Implementation detail: Do not `set()` any new value while + iterating, as it may cause a resize, which will break iteration. + + + + + + + + See `Map.keyValueIterator` + + + + + See `Map.toString` + + + + + See `Map.clear` + + + + Creates a new ObjectMap. + + ObjectMap allows mapping of object keys to arbitrary values. + + On static targets, the keys are considered to be strong references. Refer + to `haxe.ds.WeakMap` for a weak reference version. + + See `Map` for documentation details. + + @see https://haxe.org/manual/std-Map.html + + + + \r\n inline void set(Dynamic key, const ::cpp::Struct &value) {__object_hash_set(HX_MAP_THIS,key,value); }\r\n template\r\n inline void set(Dynamic key, const ::cpp::Function &value) {__object_hash_set(HX_MAP_THIS,key,(Dynamic)value ); }\r\n template\r\n inline void set(Dynamic key, const ::cpp::Pointer &value) {__object_hash_set(HX_MAP_THIS,key,(Dynamic)value ); }\r\n\r\n inline bool get_bool(Dynamic key) { return __object_hash_get_bool(h,key); }\r\n inline int get_int(Dynamic key) { return __object_hash_get_int(h,key); }\r\n inline Float get_float(Dynamic key) { return __object_hash_get_float(h,key); }\r\n inline String get_string(Dynamic key) { return __object_hash_get_string(h,key); }\r\n\r\n"]]> + + + + + + + + + The length of `this` List. + + + + + + + Adds element `item` at the end of `this` List. + + `this.length` increases by 1. + + + + + + + Adds element `item` at the beginning of `this` List. + + `this.length` increases by 1. + + + + Returns the first element of `this` List, or null if no elements exist. + + The element is removed from `this` List. + + + + Empties `this` List. + + This function does not traverse the elements, but simply sets the + internal references to null and `this.length` to 0. + + + + + + + Removes the first occurrence of `v` in `this` List. + + If `v` is found by checking standard equality, it is removed from `this` + List and the function returns true. + + Otherwise, false is returned. + + + + Returns an iterator on the elements of the list. + + + + Creates a new empty list. + + A linked-list of elements. The list is composed of element container objects + that are chained together. It is optimized so that adding or removing an + element does not imply copying the whole list content every time. + + @see https://haxe.org/manual/std-List.html + + + + + + + + + <__broadcastEvents expr="new Map()" line="184" static="1"> + + + + + + new Map() + + + + <__initStage static="1"> + + + + <__instanceCount expr="0" line="186" static="1"> + + + 0 + + + + <__supportDOM get="inline" set="null" expr="false" line="189" static="1"> + + + false + + + + <__tempStack expr="new ObjectPool<Vector<DisplayObject>>(function() return new Vector<DisplayObject>(), function(stack) stack.length = 0)" line="191" static="1"> + + + >(function() return new Vector(), function(stack) stack.length = 0)]]> + + + + <__calculateAbsoluteTransform get="inline" set="null" line="1359" static="1"> + + + + + + + + + + + + Indicates the alpha transparency value of the object specified. Valid + values are 0 (fully transparent) to 1 (fully opaque). The default value is 1. + Display objects with `alpha` set to 0 _are_ active, even though they are invisible. + + + + For example, if a constituent color (such as red) of one pixel in the display object and the corresponding color of the pixel in the background both have the value 0x88, the multiplied result is 0x4840. Dividing by 0xFF yields a value of 0x48 for that constituent color, which is a darker shade than the color of the display object or the color of the background. | + | `BlendMode.SCREEN` | ![blend mode SCREEN](/images/blendMode-4.jpg) | Multiplies the complement (inverse) of the display object color by the complement of the background color, resulting in a bleaching effect. This setting is commonly used for highlights or to remove black areas of the display object. | + | `BlendMode.LIGHTEN` | ![blend mode LIGHTEN](/images/blendMode-5.jpg) | Selects the lighter of the constituent colors of the display object and the color of the background (the colors with the larger values). This setting is commonly used for superimposing type.
For example, if the display object has a pixel with an RGB value of 0xFFCC33, and the background pixel has an RGB value of 0xDDF800, the resulting RGB value for the displayed pixel is 0xFFF833 (because 0xFF > 0xDD, 0xCC < 0xF8, and 0x33 > 0x00 = 33). Not supported under GPU rendering. | + | `BlendMode.DARKEN` | ![blend mode DARKEN](/images/blendMode-6.jpg) | Selects the darker of the constituent colors of the display object and the colors of the background (the colors with the smaller values). This setting is commonly used for superimposing type.
For example, if the display object has a pixel with an RGB value of 0xFFCC33, and the background pixel has an RGB value of 0xDDF800, the resulting RGB value for the displayed pixel is 0xDDCC00 (because 0xFF > 0xDD, 0xCC < 0xF8, and 0x33 > 0x00 = 33). Not supported under GPU rendering. | + | `BlendMode.DIFFERENCE` | ![blend mode DIFFERENCE](/images/blendMode-7.jpg) | Compares the constituent colors of the display object with the colors of its background, and subtracts the darker of the values of the two constituent colors from the lighter value. This setting is commonly used for more vibrant colors.
For example, if the display object has a pixel with an RGB value of 0xFFCC33, and the background pixel has an RGB value of 0xDDF800, the resulting RGB value for the displayed pixel is 0x222C33 (because 0xFF - 0xDD = 0x22, 0xF8 - 0xCC = 0x2C, and 0x33 - 0x00 = 0x33). | + | `BlendMode.ADD` | ![blend mode ADD](/images/blendMode-8.jpg) | Adds the values of the constituent colors of the display object to the colors of its background, applying a ceiling of 0xFF. This setting is commonly used for animating a lightening dissolve between two objects.
For example, if the display object has a pixel with an RGB value of 0xAAA633, and the background pixel has an RGB value of 0xDD2200, the resulting RGB value for the displayed pixel is 0xFFC833 (because 0xAA + 0xDD > 0xFF, 0xA6 + 0x22 = 0xC8, and 0x33 + 0x00 = 0x33). | + | `BlendMode.SUBTRACT` | ![blend mode SUBTRACT](/images/blendMode-9.jpg) | Subtracts the values of the constituent colors in the display object from the values of the background color, applying a floor of 0. This setting is commonly used for animating a darkening dissolve between two objects.
For example, if the display object has a pixel with an RGB value of 0xAA2233, and the background pixel has an RGB value of 0xDDA600, the resulting RGB value for the displayed pixel is 0x338400 (because 0xDD - 0xAA = 0x33, 0xA6 - 0x22 = 0x84, and 0x00 - 0x33 < 0x00). | + | `BlendMode.INVERT` | ![blend mode INVERT](/images/blendMode-10.jpg) | Inverts the background. | + | `BlendMode.ALPHA` | ![blend mode ALPHA](/images/blendMode-11.jpg) | Applies the alpha value of each pixel of the display object to the background. This requires the `blendMode` setting of the parent display object to be set to `BlendMode.LAYER`. For example, in the illustration, the parent display object, which is a white background, has `blendMode = BlendMode.LAYER`. Not supported under GPU rendering. | + | `BlendMode.ERASE` | ![blend mode ERASE](/images/blendMode-12.jpg) | Erases the background based on the alpha value of the display object. This requires the `blendMode` of the parent display object to be set to `BlendMode.LAYER`. For example, in the illustration, the parent display object, which is a white background, has `blendMode = BlendMode.LAYER`. Not supported under GPU rendering. | + | `BlendMode.OVERLAY` | ![blend mode OVERLAY](/images/blendMode-13.jpg) | Adjusts the color of each pixel based on the darkness of the background. If the background is lighter than 50% gray, the display object and background colors are screened, which results in a lighter color. If the background is darker than 50% gray, the colors are multiplied, which results in a darker color. This setting is commonly used for shading effects. Not supported under GPU rendering. | + | `BlendMode.HARDLIGHT` | ![blend mode HARDLIGHT](/images/blendMode-14.jpg) | Adjusts the color of each pixel based on the darkness of the display object. If the display object is lighter than 50% gray, the display object and background colors are screened, which results in a lighter color. If the display object is darker than 50% gray, the colors are multiplied, which results in a darker color. This setting is commonly used for shading effects. Not supported under GPU rendering. | + | `BlendMode.SHADER` | N/A | Adjusts the color using a custom shader routine. The shader that is used is specified as the Shader instance assigned to the blendShader property. Setting the blendShader property of a display object to a Shader instance automatically sets the display object's `blendMode` property to `BlendMode.SHADER`. If the `blendMode` property is set to `BlendMode.SHADER` without first setting the `blendShader` property, the `blendMode` property is set to `BlendMode.NORMAL`. Not supported under GPU rendering. |]]>
+
+ + + All vector data for a display object that has a cached bitmap is drawn + to the bitmap instead of the main display. If + `cacheAsBitmapMatrix` is null or unsupported, the bitmap is + then copied to the main display as unstretched, unrotated pixels snapped + to the nearest pixel boundaries. Pixels are mapped 1 to 1 with the parent + object. If the bounds of the bitmap change, the bitmap is recreated + instead of being stretched. + + If `cacheAsBitmapMatrix` is non-null and supported, the + object is drawn to the off-screen bitmap using that matrix and the + stretched and/or rotated results of that rendering are used to draw the + object to the main display. + + No internal bitmap is created unless the `cacheAsBitmap` + property is set to `true`. + + After you set the `cacheAsBitmap` property to + `true`, the rendering does not change, however the display + object performs pixel snapping automatically. The animation speed can be + significantly faster depending on the complexity of the vector content. + + The `cacheAsBitmap` property is automatically set to + `true` whenever you apply a filter to a display object(when + its `filter` array is not empty), and if a display object has a + filter applied to it, `cacheAsBitmap` is reported as + `true` for that display object, even if you set the property to + `false`. If you clear all filters for a display object, the + `cacheAsBitmap` setting changes to what it was last set to. + + A display object does not use a bitmap even if the + `cacheAsBitmap` property is set to `true` and + instead renders from vector data in the following cases: + + * The bitmap is too large. In AIR 1.5 and Flash Player 10, the maximum + size for a bitmap image is 8,191 pixels in width or height, and the total + number of pixels cannot exceed 16,777,215 pixels.(So, if a bitmap image + is 8,191 pixels wide, it can only be 2,048 pixels high.) In Flash Player 9 + and earlier, the limitation is is 2880 pixels in height and 2,880 pixels + in width. + * The bitmap fails to allocate(out of memory error). + + The `cacheAsBitmap` property is best used with movie clips + that have mostly static content and that do not scale and rotate + frequently. With such movie clips, `cacheAsBitmap` can lead to + performance increases when the movie clip is translated(when its _x_ + and _y_ position is changed). + + + + If non-null, this Matrix object defines how a display object is rendered when `cacheAsBitmap` is set to + `true`. The application uses this matrix as a transformation matrix that is applied when rendering the + bitmap version of the display object. + + _AIR profile support:_ This feature is supported on mobile devices, but it is not supported on desktop + operating systems. It also has limited support on AIR for TV devices. Specifically, on AIR for TV devices, + supported transformations include scaling and translation, but not rotation and skewing. See AIR Profile + Support for more information regarding API support across multiple profiles. + + With `cacheAsBitmapMatrix` set, the application retains a cached bitmap image across various 2D + transformations, including translation, rotation, and scaling. If the application uses hardware acceleration, + the object will be stored in video memory as a texture. This allows the GPU to apply the supported + transformations to the object. The GPU can perform these transformations faster than the CPU. + + To use the hardware acceleration, set Rendering to GPU in the General tab of the iPhone Settings dialog box + in Flash Professional CS5. Or set the `renderMode` property to gpu in the application descriptor file. Note + that AIR for TV devices automatically use hardware acceleration if it is available. + + For example, the following code sends an untransformed bitmap representation of the display object to the GPU: + + ```haxe + var matrix:Matrix = new Matrix(); // creates an identity matrix + mySprite.cacheAsBitmapMatrix = matrix; + mySprite.cacheAsBitmap = true; + ``` + + Usually, the identity matrix (`new Matrix()`) suffices. However, you can use another matrix, such as a + scaled-down matrix, to upload a different bitmap to the GPU. For example, the following example applies a + `cacheAsBitmapMatrix` matrix that is scaled by 0.5 on the x and y axes. The bitmap object that the GPU uses + is smaller, however the GPU adjusts its size to match the `transform.matrix` property of the display object: + + ```haxe + var matrix:Matrix = new Matrix(); // creates an identity matrix + matrix.scale(0.5, 0.5); // scales the matrix + mySprite.cacheAsBitmapMatrix = matrix; + mySprite.cacheAsBitmap = true; + ``` + + Generally, you should choose to use a matrix that transforms the display object to the size that it will + appear in the application. For example, if your application displays the bitmap version of the sprite scaled + down by a half, use a matrix that scales down by a half. If you application will display the sprite larger + than its current dimensions, use a matrix that scales up by that factor. + + **Note:** The `cacheAsBitmapMatrix` property is suitable for 2D transformations. If you need to apply + transformations in 3D, you may do so by setting a 3D property of the object and manipulating its + `transform.matrix3D` property. If the application is packaged using GPU mode, this allows the 3D transforms + to be applied to the object by the GPU. The `cacheAsBitmapMatrix` is ignored for 3D objects. + + + + instance as a shader + input, and the `width` and + `height` properties aren't specified for + the ShaderInput object, or the specified values + don't match the amount of data in the input data. + See the `ShaderInput.input` property for + more information.]]> + + + + + Indicates the height of the display object, in pixels. The height is + calculated based on the bounds of the content of the display object. When + you set the `height` property, the `scaleY` property + is adjusted accordingly, as shown in the following code: + + Except for TextField and Video objects, a display object with no + content(such as an empty sprite) has a height of 0, even if you try to + set `height` to a different value. + + + + Returns a LoaderInfo object containing information about loading the file + to which this display object belongs. The `loaderInfo` property + is defined only for the root display object of a SWF file or for a loaded + Bitmap(not for a Bitmap that is drawn with ActionScript). To find the + `loaderInfo` object associated with the SWF file that contains + a display object named `myDisplayObject`, use + `myDisplayObject.root.loaderInfo`. + + A large SWF file can monitor its download by calling + `this.root.loaderInfo.addEventListener(Event.COMPLETE, + func)`. + + + + The calling display object is masked by the specified `mask` + object. To ensure that masking works when the Stage is scaled, the + `mask` display object must be in an active part of the display + list. The `mask` object itself is not drawn. Set + `mask` to `null` to remove the mask. + + To be able to scale a mask object, it must be on the display list. To + be able to drag a mask Sprite object(by calling its + `startDrag()` method), it must be on the display list. To call + the `startDrag()` method for a mask sprite based on a + `mouseDown` event being dispatched by the sprite, set the + sprite's `buttonMode` property to `true`. + + When display objects are cached by setting the + `cacheAsBitmap` property to `true` an the + `cacheAsBitmapMatrix` property to a Matrix object, both the + mask and the display object being masked must be part of the same cached + bitmap. Thus, if the display object is cached, then the mask must be a + child of the display object. If an ancestor of the display object on the + display list is cached, then the mask must be a child of that ancestor or + one of its descendents. If more than one ancestor of the masked object is + cached, then the mask must be a descendent of the cached container closest + to the masked object in the display list. + + **Note:** A single `mask` object cannot be used to mask + more than one calling display object. When the `mask` is + assigned to a second display object, it is removed as the mask of the + first object, and that object's `mask` property becomes + `null`. + + + + Indicates the x coordinate of the mouse or user input device position, in + pixels. + + **Note**: For a DisplayObject that has been rotated, the returned x + coordinate will reflect the non-rotated object. + + + + Indicates the y coordinate of the mouse or user input device position, in + pixels. + + **Note**: For a DisplayObject that has been rotated, the returned y + coordinate will reflect the non-rotated object. + + + + Indicates the instance name of the DisplayObject. The object can be + identified in the child list of its parent display object container by + calling the `getChildByName()` method of the display object + container. + + @throws IllegalOperationError If you are attempting to set this property + on an object that was placed on the timeline + in the Flash authoring tool. + + + + Specifies whether the display object is opaque with a certain background + color. A transparent bitmap contains alpha channel data and is drawn + transparently. An opaque bitmap has no alpha channel(and renders faster + than a transparent bitmap). If the bitmap is opaque, you specify its own + background color to use. + + If set to a number value, the surface is opaque(not transparent) with + the RGB background color that the number specifies. If set to + `null`(the default value), the display object has a + transparent background. + + The `opaqueBackground` property is intended mainly for use + with the `cacheAsBitmap` property, for rendering optimization. + For display objects in which the `cacheAsBitmap` property is + set to true, setting `opaqueBackground` can improve rendering + performance. + + The opaque background region is _not_ matched when calling the + `hitTestPoint()` method with the `shapeFlag` + parameter set to `true`. + + The opaque background region does not respond to mouse events. + + + + Indicates the DisplayObjectContainer object that contains this display + object. Use the `parent` property to specify a relative path to + display objects that are above the current display object in the display + list hierarchy. + + You can use `parent` to move up multiple levels in the + display list as in the following: + + ```haxe + this.parent.parent.alpha = 20; + ``` + + @throws SecurityError The parent display object belongs to a security + sandbox to which you do not have access. You can + avoid this situation by having the parent movie call + the `Security.allowDomain()` method. + + + + For a display object in a loaded SWF file, the `root` property + is the top-most display object in the portion of the display list's tree + structure represented by that SWF file. For a Bitmap object representing a + loaded image file, the `root` property is the Bitmap object + itself. For the instance of the main class of the first SWF file loaded, + the `root` property is the display object itself. The + `root` property of the Stage object is the Stage object itself. + The `root` property is set to `null` for any display + object that has not been added to the display list, unless it has been + added to a display object container that is off the display list but that + is a child of the top-most display object in a loaded SWF file. + + For example, if you create a new Sprite object by calling the + `Sprite()` constructor method, its `root` property + is `null` until you add it to the display list(or to a display + object container that is off the display list but that is a child of the + top-most display object in a SWF file). + + For a loaded SWF file, even though the Loader object used to load the + file may not be on the display list, the top-most display object in the + SWF file has its `root` property set to itself. The Loader + object does not have its `root` property set until it is added + as a child of a display object for which the `root` property is + set. + + + + + Indicates the rotation of the DisplayObject instance, in degrees, from its + original orientation. Values from 0 to 180 represent clockwise rotation; + values from 0 to -180 represent counterclockwise rotation. Values outside + this range are added to or subtracted from 360 to obtain a value within + the range. For example, the statement `my_video.rotation = 450` + is the same as ` my_video.rotation = 90`. + + + + The display object. | ![display object scale 9 region](/images/scale9Grid-b.jpg)
The red rectangle shows the scale9Grid. | + + When the display object is scaled or stretched, the objects within the rectangle scale normally, but the + objects outside of the rectangle scale according to the `scale9Grid` rules: + + | | | + | --- | --- | + | Scaled to 75%: | ![display object at 75%](/images/scale9Grid-c.jpg) | + | Scaled to 50%: | ![display object at 50%](/images/scale9Grid-d.jpg) | + | Scaled to 25%: | ![display object at 25%](/images/scale9Grid-e.jpg) | + | Stretched horizontally 150%: | ![display stretched 150%](/images/scale9Grid-f.jpg) | + + A common use for setting `scale9Grid` is to set up a display + object to be used as a component, in which edge regions retain the same + width when the component is scaled. + + @throws ArgumentError If you pass an invalid argument to the method.]]>
+
+ + + + Indicates the horizontal scale (percentage) of the object as applied from + the registration point. The default registration point is (0,0). 1.0 + equals 100% scale. + + Scaling the local coordinate system changes the `x` and + `y` property values, which are defined in whole pixels. + + + + + Indicates the vertical scale (percentage) of an object as applied from the + registration point of the object. The default registration point is (0,0). + 1.0 is 100% scale. + + Scaling the local coordinate system changes the `x` and + `y` property values, which are defined in whole pixels. + + + + The scroll rectangle bounds of the display object. The display object is + cropped to the size defined by the rectangle, and it scrolls within the + rectangle when you change the `x` and `y` properties + of the `scrollRect` object. + + The properties of the `scrollRect` Rectangle object use the + display object's coordinate space and are scaled just like the overall + display object. The corner bounds of the cropped window on the scrolling + display object are the origin of the display object(0,0) and the point + defined by the width and height of the rectangle. They are not centered + around the origin, but use the origin to define the upper-left corner of + the area. A scrolled display object always scrolls in whole pixel + increments. + + You can scroll an object left and right by setting the `x` + property of the `scrollRect` Rectangle object. You can scroll + an object up and down by setting the `y` property of the + `scrollRect` Rectangle object. If the display object is rotated + 90� and you scroll it left and right, the display object actually scrolls + up and down. + + + + + **BETA** + + Applies a custom Shader object to use when rendering this display object (or its children) when using + hardware rendering. This occurs as a single-pass render on this object only, if visible. In order to + apply a post-process effect to multiple display objects at once, enable `cacheAsBitmap` or use the + `filters` property with a ShaderFilter + + + + The Stage of the display object. A Flash runtime application has only one + Stage object. For example, you can create and load multiple display + objects into the display list, and the `stage` property of each + display object refers to the same Stage object(even if the display object + belongs to a loaded SWF file). + + If a display object is not added to the display list, its + `stage` property is set to `null`. + + + + + An object with properties pertaining to a display object's matrix, color + transform, and pixel bounds. The specific properties - matrix, + colorTransform, and three read-only properties + (`concatenatedMatrix`, `concatenatedColorTransform`, + and `pixelBounds`) - are described in the entry for the + Transform class. + + Each of the transform object's properties is itself an object. This + concept is important because the only way to set new values for the matrix + or colorTransform objects is to create a new object and copy that object + into the transform.matrix or transform.colorTransform property. + + For example, to increase the `tx` value of a display + object's matrix, you must make a copy of the entire matrix object, then + copy the new object into the matrix property of the transform object: + ` var myMatrix:Matrix = + myDisplayObject.transform.matrix; myMatrix.tx += 10; + myDisplayObject.transform.matrix = myMatrix; ` + + You cannot directly set the `tx` property. The following + code has no effect on `myDisplayObject`: + ` myDisplayObject.transform.matrix.tx += + 10; ` + + You can also copy an entire transform object and assign it to another + display object's transform property. For example, the following code + copies the entire transform object from `myOldDisplayObj` to + `myNewDisplayObj`: + `myNewDisplayObj.transform = myOldDisplayObj.transform;` + + The resulting display object, `myNewDisplayObj`, now has the + same values for its matrix, color transform, and pixel bounds as the old + display object, `myOldDisplayObj`. + + Note that AIR for TV devices use hardware acceleration, if it is + available, for color transforms. + + + + Whether or not the display object is visible. Display objects that are not + visible are disabled. For example, if `visible=false` for an + InteractiveObject instance, it cannot be clicked. + + + + + Indicates the width of the display object, in pixels. The width is + calculated based on the bounds of the content of the display object. When + you set the `width` property, the `scaleX` property + is adjusted accordingly, as shown in the following code: + + Except for TextField and Video objects, a display object with no + content(such as an empty sprite) has a width of 0, even if you try to set + `width` to a different value. + + + + + Indicates the _x_ coordinate of the DisplayObject instance relative + to the local coordinates of the parent DisplayObjectContainer. If the + object is inside a DisplayObjectContainer that has transformations, it is + in the local coordinate system of the enclosing DisplayObjectContainer. + Thus, for a DisplayObjectContainer rotated 90� counterclockwise, the + DisplayObjectContainer's children inherit a coordinate system that is + rotated 90� counterclockwise. The object's coordinates refer to the + registration point position. + + + + + Indicates the _y_ coordinate of the DisplayObject instance relative + to the local coordinates of the parent DisplayObjectContainer. If the + object is inside a DisplayObjectContainer that has transformations, it is + in the local coordinate system of the enclosing DisplayObjectContainer. + Thus, for a DisplayObjectContainer rotated 90� counterclockwise, the + DisplayObjectContainer's children inherit a coordinate system that is + rotated 90� counterclockwise. The object's coordinates refer to the + registration point position. + + <__alpha> + + + + <__blendMode> + + + + <__cacheAsBitmap> + + + + <__cacheAsBitmapMatrix> + + + + <__cacheBitmap> + + + + <__cacheBitmapBackground> + + + + <__cacheBitmapColorTransform> + + + + <__cacheBitmapData> + + + + <__cacheBitmapData2> + + + + <__cacheBitmapData3> + + + + <__cacheBitmapMatrix> + + + + <__cacheBitmapRenderer> + + + + <__cairo> + + + "checkstyle:Dynamic" + + + + <__children> + + + + <__customRenderClear> + + + + <__customRenderEvent> + + + + <__drawableType> + + + + <__filters> + + + + <__graphics> + + + + <__interactive> + + + + <__isCacheBitmapRender> + + + + <__isMask> + + + + <__loaderInfo> + + + + <__mask> + + + + <__maskTarget> + + + + <__name> + + + + <__objectTransform> + + + + <__renderable> + + + + <__renderDirty> + + + + <__renderParent> + + + + <__renderTransform> + + + + <__renderTransformCache> + + + + <__renderTransformChanged> + + + + <__rotation> + + + + <__rotationCosine> + + + + <__rotationSine> + + + + <__scale9Grid> + + + + <__scaleX> + + + + <__scaleY> + + + + <__scrollRect> + + + + <__shader> + + + + <__tempPoint> + + + + <__transform> + + + + <__transformDirty> + + + + <__visible> + + + + <__worldAlpha> + + + + <__worldAlphaChanged> + + + + <__worldBlendMode> + + + + <__worldClip> + + + + <__worldClipChanged> + + + + <__worldColorTransform> + + + + <__worldShader> + + + + <__worldScale9Grid> + + + + <__worldTransform> + + + + <__worldVisible> + + + + <__worldVisibleChanged> + + + + <__worldTransformInvalid> + + + + <__worldZ> + + + + + + + + + + + + + + + + + { useWeakReference : false, priority : 0, useCapture : false } + "checkstyle:Dynamic" + + + + + + + + + + + + Returns a rectangle that defines the area of the display object relative + to the coordinate system of the `targetCoordinateSpace` object. + Consider the following code, which shows how the rectangle returned can + vary depending on the `targetCoordinateSpace` parameter that + you pass to the method: + + **Note:** Use the `localToGlobal()` and + `globalToLocal()` methods to convert the display object's local + coordinates to display coordinates, or display coordinates to local + coordinates, respectively. + + The `getBounds()` method is similar to the + `getRect()` method; however, the Rectangle returned by the + `getBounds()` method includes any strokes on shapes, whereas + the Rectangle returned by the `getRect()` method does not. For + an example, see the description of the `getRect()` method. + + @param targetCoordinateSpace The display object that defines the + coordinate system to use. + @return The rectangle that defines the area of the display object relative + to the `targetCoordinateSpace` object's coordinate + system. + + + + + + + Returns a rectangle that defines the boundary of the display object, based + on the coordinate system defined by the `targetCoordinateSpace` + parameter, excluding any strokes on shapes. The values that the + `getRect()` method returns are the same or smaller than those + returned by the `getBounds()` method. + + **Note:** Use `localToGlobal()` and + `globalToLocal()` methods to convert the display object's local + coordinates to Stage coordinates, or Stage coordinates to local + coordinates, respectively. + + @param targetCoordinateSpace The display object that defines the + coordinate system to use. + @return The rectangle that defines the area of the display object relative + to the `targetCoordinateSpace` object's coordinate + system. + + + + + + + Converts the `point` object from the Stage(global) coordinates + to the display object's(local) coordinates. + + To use this method, first create an instance of the Point class. The + _x_ and _y_ values that you assign represent global coordinates + because they relate to the origin(0,0) of the main display area. Then + pass the Point instance as the parameter to the + `globalToLocal()` method. The method returns a new Point object + with _x_ and _y_ values that relate to the origin of the display + object instead of the origin of the Stage. + + @param point An object created with the Point class. The Point object + specifies the _x_ and _y_ coordinates as + properties. + @return A Point object with coordinates relative to the display object. + + + + + + + Evaluates the bounding box of the display object to see if it overlaps or + intersects with the bounding box of the `obj` display object. + + @param obj The display object to test against. + @return `true` if the bounding boxes of the display objects + intersect; `false` if not. + + + + + + + + + { shapeFlag : false } + Evaluates the display object to see if it overlaps or intersects with the + point specified by the `x` and `y` parameters. The + `x` and `y` parameters specify a point in the + coordinate space of the Stage, not the display object container that + contains the display object(unless that display object container is the + Stage). + + @param x The _x_ coordinate to test against this object. + @param y The _y_ coordinate to test against this object. + @param shapeFlag Whether to check against the actual pixels of the object + (`true`) or the bounding box + (`false`). + @return `true` if the display object overlaps or intersects + with the specified point; `false` otherwise. + + + + Calling the `invalidate()` method signals to have the current object + redrawn the next time the object is eligible to be rendered. + + + + + + + Converts the `point` object from the display object's(local) + coordinates to the Stage(global) coordinates. + + This method allows you to convert any given _x_ and _y_ + coordinates from values that are relative to the origin(0,0) of a + specific display object(local coordinates) to values that are relative to + the origin of the Stage(global coordinates). + + To use this method, first create an instance of the Point class. The + _x_ and _y_ values that you assign represent local coordinates + because they relate to the origin of the display object. + + You then pass the Point instance that you created as the parameter to + the `localToGlobal()` method. The method returns a new Point + object with _x_ and _y_ values that relate to the origin of the + Stage instead of the origin of the display object. + + @param point The name or identifier of a point created with the Point + class, specifying the _x_ and _y_ coordinates as + properties. + @return A Point object with coordinates relative to the Stage. + + + + + + + + + + + + + { useCapture : false } + "checkstyle:Dynamic" + + + <__cleanup set="method" line="1369"> + + + + <__dispatch set="method" line="1396"> + + + + + + + <__dispatchChildren set="method" line="1412"> + + + + + + + <__dispatchEvent set="method" line="1415" override="1"> + + + + + + + <__dispatchWithCapture set="method" line="1440"> + + + + + + + <__enterFrame set="method" line="1481"> + + + + + + + <__getBounds set="method" line="1484"> + + + + + + + + <__getCursor set="method" line="1492"> + + + + <__getFilterBounds set="method" line="1497"> + + + + + + + + <__getInteractive set="method" line="1523"> + + + + + + + <__getLocalBounds set="method" line="1528"> + + + + + + + <__getRenderBounds set="method" line="1543"> + + + + + + + + <__getRenderTransform set="method" line="1561"> + + + + <__getWorldTransform set="method" line="1567"> + + + + <__globalToLocal set="method" line="1602"> + + + + + + + + <__hitTest set="method" line="1619"> + + + + + + + + + + + + <__hitTestMask set="method" line="1640"> + + + + + + + + <__readGraphicsData set="method" line="1653"> + + + + + + + + <__setParentRenderDirty set="method" line="1661"> + + + + <__setRenderDirty get="inline" set="null" line="1671"> + + + + <__setStageReference set="method" line="1680"> + + + + + + + <__setTransformDirty set="method" line="1685"> + + + + <__setWorldTransformInvalid set="method" line="1696"> + + + + <__stopAllMovieClips set="method" line="1700"> + + + + <__update set="method" line="1703"> + + + + + + + + <__updateTransforms set="method" line="1828"> + + + + + + { overrideTransform : null } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The DisplayObject class is the base class for all objects that can be + placed on the display list. The display list manages all objects displayed + in openfl. Use the DisplayObjectContainer class to arrange the + display objects in the display list. DisplayObjectContainer objects can + have child display objects, while other display objects, such as Shape and + TextField objects, are "leaf" nodes that have only parents and siblings, no + children. + + The DisplayObject class supports basic functionality like the _x_ + and _y_ position of an object, as well as more advanced properties of + the object such as its transformation matrix. + + DisplayObject is an abstract base class; therefore, you cannot call + DisplayObject directly. Invoking `new DisplayObject()` throws an + `ArgumentError` exception. + + All display objects inherit from the DisplayObject class. + + The DisplayObject class itself does not include any APIs for rendering + content onscreen. For that reason, if you want create a custom subclass of + the DisplayObject class, you will want to extend one of its subclasses that + do have APIs for rendering content onscreen, such as the Shape, Sprite, + Bitmap, SimpleButton, TextField, or MovieClip class. + + The DisplayObject class contains several broadcast events. Normally, the + target of any particular event is a specific DisplayObject instance. For + example, the target of an `added` event is the specific + DisplayObject instance that was added to the display list. Having a single + target restricts the placement of event listeners to that target and in + some cases the target's ancestors on the display list. With broadcast + events, however, the target is not a specific DisplayObject instance, but + rather all DisplayObject instances, including those that are not on the + display list. This means that you can add a listener to any DisplayObject + instance to listen for broadcast events. In addition to the broadcast + events listed in the DisplayObject class's Events table, the DisplayObject + class also inherits two broadcast events from the EventDispatcher class: + `activate` and `deactivate`. + + Some properties previously used in the ActionScript 1.0 and 2.0 + MovieClip, TextField, and Button classes(such as `_alpha`, + `_height`, `_name`, `_width`, + `_x`, `_y`, and others) have equivalents in the + ActionScript 3.0 DisplayObject class that are renamed so that they no + longer begin with the underscore(_) character. + + For more information, see the "Display Programming" chapter of the + _ActionScript 3.0 Developer's Guide_. + + @event added Dispatched when a display object is added to the + display list. The following methods trigger this + event: + `DisplayObjectContainer.addChild()`, + `DisplayObjectContainer.addChildAt()`. + @event addedToStage Dispatched when a display object is added to the on + stage display list, either directly or through the + addition of a sub tree in which the display object + is contained. The following methods trigger this + event: + `DisplayObjectContainer.addChild()`, + `DisplayObjectContainer.addChildAt()`. + @event enterFrame [broadcast event] Dispatched when the playhead is + entering a new frame. If the playhead is not + moving, or if there is only one frame, this event + is dispatched continuously in conjunction with the + frame rate. This event is a broadcast event, which + means that it is dispatched by all display objects + with a listener registered for this event. + @event exitFrame [broadcast event] Dispatched when the playhead is + exiting the current frame. All frame scripts have + been run. If the playhead is not moving, or if + there is only one frame, this event is dispatched + continuously in conjunction with the frame rate. + This event is a broadcast event, which means that + it is dispatched by all display objects with a + listener registered for this event. + @event frameConstructed [broadcast event] Dispatched after the constructors + of frame display objects have run but before frame + scripts have run. If the playhead is not moving, or + if there is only one frame, this event is + dispatched continuously in conjunction with the + frame rate. This event is a broadcast event, which + means that it is dispatched by all display objects + with a listener registered for this event. + @event removed Dispatched when a display object is about to be + removed from the display list. Two methods of the + DisplayObjectContainer class generate this event: + `removeChild()` and + `removeChildAt()`. + + The following methods of a + DisplayObjectContainer object also generate this + event if an object must be removed to make room for + the new object: `addChild()`, + `addChildAt()`, and + `setChildIndex()`. + @event removedFromStage Dispatched when a display object is about to be + removed from the display list, either directly or + through the removal of a sub tree in which the + display object is contained. Two methods of the + DisplayObjectContainer class generate this event: + `removeChild()` and + `removeChildAt()`. + + The following methods of a + DisplayObjectContainer object also generate this + event if an object must be removed to make room for + the new object: `addChild()`, + `addChildAt()`, and + `setChildIndex()`. + @event render [broadcast event] Dispatched when the display list + is about to be updated and rendered. This event + provides the last opportunity for objects listening + for this event to make changes before the display + list is rendered. You must call the + `invalidate()` method of the Stage + object each time you want a `render` + event to be dispatched. `Render` events + are dispatched to an object only if there is mutual + trust between it and the object that called + `Stage.invalidate()`. This event is a + broadcast event, which means that it is dispatched + by all display objects with a listener registered + for this event. + + **Note: **This event is not dispatched if the + display is not rendering. This is the case when the + content is either minimized or obscured. + + + "tags=\"haxe,release\"" + + lime.graphics.Image + lime.graphics.ImageBuffer + openfl.display3D._internal.Context3DState + openfl.display._internal.Context3DGraphics + openfl.events.Event + openfl.display3D.Context3D + openfl.display.Bitmap + openfl.display.BitmapData + openfl.display.DisplayObjectContainer + openfl.display.Graphics + openfl.display.Shader + openfl.display.Stage + openfl.filters.BitmapFilter + openfl.geom.ColorTransform + openfl.geom.Matrix + openfl.geom.Rectangle + openfl.geom.Transform + +
+ + + + + Specifies whether the object receives `doubleClick` events. The + default value is `false`, which means that by default an + InteractiveObject instance does not receive `doubleClick` + events. If the `doubleClickEnabled` property is set to + `true`, the instance receives `doubleClick` events + within its bounds. The `mouseEnabled` property of the + InteractiveObject instance must also be set to `true` for the + object to receive `doubleClick` events. + + No event is dispatched by setting this property. You must use the + `addEventListener()` method to add an event listener for the + `doubleClick` event. + + + + Specifies whether this object displays a focus rectangle. It can take + one of three values: `true`, `false`, or `null`. Values of `true` and + `false` work as expected, specifying whether or not the focus + rectangle appears. A value of `null` indicates that this object obeys + the `stageFocusRect` property of the Stage. + + + + Specifies whether this object receives mouse, or other user input, + messages. The default value is `true`, which means that by + default any InteractiveObject instance that is on the display list + receives mouse events or other user input events. If + `mouseEnabled` is set to `false`, the instance does + not receive any mouse events(or other user input events like keyboard + events). Any children of this instance on the display list are not + affected. To change the `mouseEnabled` behavior for all + children of an object on the display list, use + `openfl.display.DisplayObjectContainer.mouseChildren`. + + No event is dispatched by setting this property. You must use the + `addEventListener()` method to create interactive + functionality. + + + + Specifies whether a virtual keyboard(an on-screen, software keyboard) + should display when this InteractiveObject instance receives focus. + + By default, the value is `false` and focusing an + InteractiveObject instance does not raise a soft keyboard. If the + `needsSoftKeyboard` property is set to `true`, the + runtime raises a soft keyboard when the InteractiveObject instance is + ready to accept user input. An InteractiveObject instance is ready to + accept user input after a programmatic call to set the Stage + `focus` property or a user interaction, such as a "tap." If the + client system has a hardware keyboard available or does not support + virtual keyboards, then the soft keyboard is not raised. + + The InteractiveObject instance dispatches + `softKeyboardActivating`, `softKeyboardActivate`, + and `softKeyboardDeactivate` events when the soft keyboard + raises and lowers. + + **Note:** This property is not supported in AIR applications on + iOS. + + + + Defines the area that should remain on-screen when a soft keyboard is + displayed. + If the `needsSoftKeyboard` property of this InteractiveObject is + `true`, then the runtime adjusts the display as needed to keep the + object in view while the user types. Ordinarily, the runtime uses the + object bounds obtained from the `DisplayObject.getBounds()` method. + You can specify a different area using this + `softKeyboardInputAreaOfInterest` property. + + Specify the `softKeyboardInputAreaOfInterest` in stage coordinates. + + **Note:** On Android, the `softKeyboardInputAreaOfInterest` is not + respected in landscape orientations. + + + + Specifies whether this object is in the tab order. If this object is + in the tab order, the value is `true`; otherwise, the value is + `false`. By default, the value is `false`, except for the following: + * For a SimpleButton object, the value is `true`. + * For a TextField object with `type = "input"`, the value is `true`. + * For a Sprite object or MovieClip object with `buttonMode = true`, + the value is `true`. + + + + Specifies the tab ordering of objects in a SWF file. The `tabIndex` + property is -1 by default, meaning no tab index is set for the object. + + If any currently displayed object in the SWF file contains a + `tabIndex` property, automatic tab ordering is disabled, and the tab + ordering is calculated from the `tabIndex` properties of objects in + the SWF file. The custom tab ordering includes only objects that have + `tabIndex` properties. + + The `tabIndex` property can be a non-negative integer. The objects are + ordered according to their `tabIndex` properties, in ascending order. + An object with a `tabIndex` value of 1 precedes an object with a + `tabIndex` value of 2. Do not use the same `tabIndex` value for + multiple objects. + + The custom tab ordering that the `tabIndex` property defines is + _flat_. This means that no attention is paid to the hierarchical + relationships of objects in the SWF file. All objects in the SWF file + with `tabIndex` properties are placed in the tab order, and the tab + order is determined by the order of the `tabIndex` values. + + **Note:** To set the tab order for TLFTextField instances, cast the + display object child of the TLFTextField as an InteractiveObject, then + set the `tabIndex` property. For example: + + ```haxe + cast(tlfInstance.getChildAt(1), InteractiveObject).tabIndex = 3; + ``` + + To reverse the tab order from the default setting for three instances of + a TLFTextField object (`tlfInstance1`, `tlfInstance2` and + `tlfInstance3`), use: + + ```haxe + cast(tlfInstance1.getChildAt(1), InteractiveObject).tabIndex = 3; + cast(tlfInstance2.getChildAt(1), InteractiveObject).tabIndex = 2; + cast(tlfInstance3.getChildAt(1), InteractiveObject).tabIndex = 1; + ``` + + <__tabEnabled> + + + + <__tabIndex> + + + + + + Raises a virtual keyboard. + + Calling this method focuses the InteractiveObject instance and raises + the soft keyboard, if necessary. The `needsSoftKeyboard` must + also be `true`. A keyboard is not raised if a hardware keyboard + is available, or if the client system does not support virtual + keyboards. + + **Note:** This method is not supported in AIR applications on + iOS. + + @return A value of `true` means that the soft keyboard request + was granted; `false` means that the soft keyboard was + not raised. + + <__allowMouseFocus set="method" line="1257"> + + + + <__getInteractive set="method" line="1262" override="1"> + + + + + + + <__hitTest set="method" line="1278" override="1"> + + + + + + + + + + + + <__tabTest set="method" line="1284"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Calling the `new InteractiveObject()` constructor throws an + `ArgumentError` exception. You can, however, call constructors + for the following subclasses of InteractiveObject: + + * `new SimpleButton()` + * `new TextField()` + * `new Loader()` + * `new Sprite()` + * `new MovieClip()` + + The InteractiveObject class is the abstract base class for all display + objects with which the user can interact, using the mouse, keyboard, or + other user input device. + + You cannot instantiate the InteractiveObject class directly. A call to + the `new InteractiveObject()` constructor throws an + `ArgumentError` exception. + + The InteractiveObject class itself does not include any APIs for + rendering content onscreen. To create a custom subclass of the + InteractiveObject class, extend one of the subclasses that do have APIs for + rendering content onscreen, such as the Sprite, SimpleButton, TextField, or + MovieClip classes. + + @event clear Dispatched when the user selects 'Clear'(or + 'Delete') from the text context menu. This + event is dispatched to the object that + currently has focus. If the object that + currently has focus is a TextField, the + default behavior of this event is to cause + any currently selected text in the text field + to be deleted. + @event click Dispatched when a user presses and releases + the main button of the user's pointing device + over the same InteractiveObject. For a click + event to occur, it must always follow this + series of events in the order of occurrence: + mouseDown event, then mouseUp. The target + object must be identical for both of these + events; otherwise the `click` + event does not occur. Any number of other + mouse events can occur at any time between + the `mouseDown` or + `mouseUp` events; the + `click` event still occurs. + @event contextMenu Dispatched when a user gesture triggers the + context menu associated with this interactive + object in an AIR application. + @event copy Dispatched when the user activates the + platform-specific accelerator key combination + for a copy operation or selects 'Copy' from + the text context menu. This event is + dispatched to the object that currently has + focus. If the object that currently has focus + is a TextField, the default behavior of this + event is to cause any currently selected text + in the text field to be copied to the + clipboard. + @event cut Dispatched when the user activates the + platform-specific accelerator key combination + for a cut operation or selects 'Cut' from the + text context menu. This event is dispatched + to the object that currently has focus. If + the object that currently has focus is a + TextField, the default behavior of this event + is to cause any currently selected text in + the text field to be cut to the clipboard. + @event doubleClick Dispatched when a user presses and releases + the main button of a pointing device twice in + rapid succession over the same + InteractiveObject when that object's + `doubleClickEnabled` flag is set + to `true`. For a + `doubleClick` event to occur, it + must immediately follow the following series + of events: `mouseDown`, + `mouseUp`, `click`, + `mouseDown`, `mouseUp`. + All of these events must share the same + target as the `doubleClick` event. + The second click, represented by the second + `mouseDown` and + `mouseUp` events, must occur + within a specific period of time after the + `click` event. The allowable + length of this period varies by operating + system and can often be configured by the + user. If the target is a selectable text + field, the word under the pointer is selected + as the default behavior. If the target + InteractiveObject does not have its + `doubleClickEnabled` flag set to + `true` it receives two + `click` events. + + The `doubleClickEnabled` + property defaults to `false`. + + The double-click text selection behavior + of a TextField object is not related to the + `doubleClick` event. Use + `TextField.doubleClickEnabled` to + control TextField selections. + @event focusIn Dispatched _after_ a display object + gains focus. This situation happens when a + user highlights the object with a pointing + device or keyboard navigation. The recipient + of such focus is called the target object of + this event, while the corresponding + InteractiveObject instance that lost focus + because of this change is called the related + object. A reference to the related object is + stored in the receiving object's + `relatedObject` property. The + `shiftKey` property is not used. + This event follows the dispatch of the + previous object's `focusOut` + event. + @event focusOut Dispatched _after_ a display object + loses focus. This happens when a user + highlights a different object with a pointing + device or keyboard navigation. The object + that loses focus is called the target object + of this event, while the corresponding + InteractiveObject instance that receives + focus is called the related object. A + reference to the related object is stored in + the target object's + `relatedObject` property. The + `shiftKey` property is not used. + This event precedes the dispatch of the + `focusIn` event by the related + object. + @event gesturePan Dispatched when the user moves a point of + contact over the InteractiveObject instance + on a touch-enabled device(such as moving a + finger from left to right over a display + object on a mobile phone or tablet with a + touch screen). Some devices might also + interpret this contact as a + `mouseOver` event and as a + `touchOver` event. + + Specifically, if a user moves a finger + over an InteractiveObject, the + InteractiveObject instance can dispatch a + `mouseOver` event or a + `touchOver` event or a + `gesturePan` event, or all if the + current environment supports it. Choose how + you want to handle the user interaction. Use + the openfl.ui.Multitouch class to manage touch + event handling(enable touch gesture event + handling, simple touch point event handling, + or disable touch events so only mouse events + are dispatched). If you choose to handle the + `mouseOver` event, then the same + event handler will run on a touch-enabled + device and a mouse enabled device. However, + if you choose to handle the + `gesturePan` event, you can design + your event handler to respond to the specific + needs of a touch-enabled environment and + provide users with a richer touch-enabled + experience. You can also handle both events, + separately, to provide a different response + for a touch event than a mouse event. + + **Note:** See the Multitouch class for + environment compatibility information. + @event gesturePressAndTap Dispatched when the user creates a point of + contact with an InteractiveObject instance, + then taps on a touch-enabled device(such as + placing several fingers over a display object + to open a menu and then taps one finger to + select a menu item on a mobile phone or + tablet with a touch screen). Some devices + might also interpret this contact as a + combination of several mouse events, as well. + + Specifically, if a user moves a finger + over an InteractiveObject, and then provides + a secondary tap, the InteractiveObject + instance can dispatch a + `mouseOver` event and a + `click` event(among others) as + well as the `gesturePressAndTap` + event, or all if the current environment + supports it. Choose how you want to handle + the user interaction. Use the + openfl.ui.Multitouch class to manage touch + event handling(enable touch gesture event + handling, simple touch point event handling, + or disable touch events so only mouse events + are dispatched). If you choose to handle the + `mouseOver` event, then the same + event handler will run on a touch-enabled + device and a mouse enabled device. However, + if you choose to handle the + `gesturePressAndTap` event, you + can design your event handler to respond to + the specific needs of a touch-enabled + environment and provide users with a richer + touch-enabled experience. You can also handle + both events, separately, to provide a + different response for a touch event than a + mouse event. + + When handling the properties of the event + object, note that the `localX` and + `localY` properties are set to the + primary point of contact(the "push"). The + `offsetX` and `offsetY` + properties are the distance to the secondary + point of contact(the "tap"). + @event gestureRotate Dispatched when the user performs a rotation + gesture at a point of contact with an + InteractiveObject instance(such as touching + two fingers and rotating them over a display + object on a mobile phone or tablet with a + touch screen). Two-finger rotation is a + common rotation gesture, but each device and + operating system can have its own + requirements to indicate rotation. Some + devices might also interpret this contact as + a combination of several mouse events, as + well. + + Specifically, if a user moves a finger + over an InteractiveObject, the + InteractiveObject instance can dispatch a + `mouseOver` event and a + `click` event(among others), in + addition to the `gestureRotate` + event, or all if the current environment + supports it. Choose how you want to handle + the user interaction. Use the + openfl.ui.Multitouch class to manage touch + event handling(enable touch gesture event + handling, simple touch point event handling, + or disable touch events so only mouse events + are dispatched). If you choose to handle the + `mouseOver` event, then the same + event handler will run on a touch-enabled + device and a mouse enabled device. However, + if you choose to handle the + `gestureRotate` event, you can + design your event handler to respond to the + specific needs of a touch-enabled environment + and provide users with a richer touch-enabled + experience. You can also handle both events, + separately, to provide a different response + for a touch event than a mouse event. + + When handling the properties of the event + object, note that the `localX` and + `localY` properties are set to the + primary point of contact. The + `offsetX` and `offsetY` + properties are the distance to the point of + contact where the rotation gesture is + complete. + + **Note:** See the Multitouch class for + environment compatibility information. + @event gestureSwipe Dispatched when the user performs a swipe + gesture at a point of contact with an + InteractiveObject instance(such as touching + three fingers to a screen and then moving + them in parallel over a display object on a + mobile phone or tablet with a touch screen). + Moving several fingers in parallel is a + common swipe gesture, but each device and + operating system can have its own + requirements for a swipe. Some devices might + also interpret this contact as a combination + of several mouse events, as well. + + Specifically, if a user moves a finger + over an InteractiveObject, and then moves the + fingers together, the InteractiveObject + instance can dispatch a `rollOver` + event and a `rollOut` event(among + others), in addition to the + `gestureSwipe` event, or all if + the current environment supports it. Choose + how you want to handle the user interaction. + If you choose to handle the + `rollOver` event, then the same + event handler will run on a touch-enabled + device and a mouse enabled device. However, + if you choose to handle the + `gestureSwipe` event, you can + design your event handler to respond to the + specific needs of a touch-enabled environment + and provide users with a richer touch-enabled + experience. You can also handle both events, + separately, to provide a different response + for a touch event than a mouse event. + + When handling the properties of the event + object, note that the `localX` and + `localY` properties are set to the + primary point of contact. The + `offsetX` and `offsetY` + properties are the distance to the point of + contact where the swipe gesture is + complete. + + **Note:** While some devices using the + Mac OS operating system can interpret a + four-finger swipe, this API only supports a + three-finger swipe. + @event gestureTwoFingerTap Dispatched when the user presses two points + of contact over the same InteractiveObject + instance on a touch-enabled device(such as + presses and releases two fingers over a + display object on a mobile phone or tablet + with a touch screen). Some devices might also + interpret this contact as a + `doubleClick` event. + + Specifically, if a user taps two fingers + over an InteractiveObject, the + InteractiveObject instance can dispatch a + `doubleClick` event or a + `gestureTwoFingerTap` event, or + both if the current environment supports it. + Choose how you want to handle the user + interaction. Use the openfl.ui.Multitouch + class to manage touch event handling(enable + touch gesture event handling, simple touch + point event handling, or disable touch events + so only mouse events are dispatched). If you + choose to handle the `doubleClick` + event, then the same event handler will run + on a touch-enabled device and a mouse enabled + device. However, if you choose to handle the + `gestureTwoFingerTap` event, you + can design your event handler to respond to + the specific needs of a touch-enabled + environment and provide users with a richer + touch-enabled experience. You can also handle + both events, separately, to provide a + different response for a touch event than a + mouse event. + + **Note:** See the Multitouch class for + environment compatibility information. + @event gestureZoom Dispatched when the user performs a zoom + gesture at a point of contact with an + InteractiveObject instance(such as touching + two fingers to a screen and then quickly + spreading the fingers apart over a display + object on a mobile phone or tablet with a + touch screen). Moving fingers apart is a + common zoom gesture, but each device and + operating system can have its own + requirements to indicate zoom. Some devices + might also interpret this contact as a + combination of several mouse events, as well. + + Specifically, if a user moves a finger + over an InteractiveObject, and then moves the + fingers apart, the InteractiveObject instance + can dispatch a `mouseOver` event + and a `click` event(among + others), in addition to the + `gestureZoom` event, or all if the + current environment supports it. Choose how + you want to handle the user interaction. Use + the openfl.ui.Multitouch class to manage touch + event handling(enable touch gesture event + handling, simple touch point event handling, + or disable touch events so only mouse events + are dispatched). If you choose to handle the + `mouseOver` event, then the same + event handler will run on a touch-enabled + device and a mouse enabled device. However, + if you choose to handle the + `gestureZoom` event, you can + design your event handler to respond to the + specific needs of a touch-enabled environment + and provide users with a richer touch-enabled + experience. You can also handle both events, + separately, to provide a different response + for a touch event than a mouse event. + + When handling the properties of the event + object, note that the `localX` and + `localY` properties are set to the + primary point of contact. The + `offsetX` and `offsetY` + properties are the distance to the point of + contact where the zoom gesture is + complete. + + **Note:** See the Multitouch class for + environment compatibility information. + @event imeStartComposition This event is dispatched to any client app + that supports inline input with an IME + @event keyDown Dispatched when the user presses a key. + Mappings between keys and specific characters + vary by device and operating system. This + event type is generated after such a mapping + occurs but before the processing of an input + method editor(IME). IMEs are used to enter + characters, such as Chinese ideographs, that + the standard QWERTY keyboard is ill-equipped + to produce. This event occurs before the + `keyUp` event. + + In AIR, canceling this event prevents the + character from being entered into a text + field. + @event keyFocusChange Dispatched when the user attempts to change + focus by using keyboard navigation. The + default behavior of this event is to change + the focus and dispatch the corresponding + `focusIn` and + `focusOut` events. + + This event is dispatched to the object + that currently has focus. The related object + for this event is the InteractiveObject + instance that receives focus if you do not + prevent the default behavior. You can prevent + the change in focus by calling the + `preventDefault()` method in an + event listener that is properly registered + with the target object. Focus changes and + `focusIn` and + `focusOut` events are dispatched + by default. + @event keyUp Dispatched when the user releases a key. + Mappings between keys and specific characters + vary by device and operating system. This + event type is generated after such a mapping + occurs but before the processing of an input + method editor(IME). IMEs are used to enter + characters, such as Chinese ideographs, that + the standard QWERTY keyboard is ill-equipped + to produce. This event occurs after a + `keyDown` event and has the + following characteristics: + @event middleClick Dispatched when a user presses and releases + the middle button of the user's pointing + device over the same InteractiveObject. For a + `middleClick` event to occur, it + must always follow this series of events in + the order of occurrence: + `middleMouseDown` event, then + `middleMouseUp`. The target object + must be identical for both of these events; + otherwise the `middleClick` event + does not occur. Any number of other mouse + events can occur at any time between the + `middleMouseDown` or + `middleMouseUp` events; the + `middleClick` event still occurs. + @event middleMouseDown Dispatched when a user presses the middle + pointing device button over an + InteractiveObject instance. + @event middleMouseUp Dispatched when a user releases the pointing + device button over an InteractiveObject + instance. + @event mouseDown Dispatched when a user presses the pointing + device button over an InteractiveObject + instance. If the target is a SimpleButton + instance, the SimpleButton instance displays + the `downState` display object as + the default behavior. If the target is a + selectable text field, the text field begins + selection as the default behavior. + @event mouseFocusChange Dispatched when the user attempts to change + focus by using a pointer device. The default + behavior of this event is to change the focus + and dispatch the corresponding + `focusIn` and + `focusOut` events. + + This event is dispatched to the object + that currently has focus. The related object + for this event is the InteractiveObject + instance that receives focus if you do not + prevent the default behavior. You can prevent + the change in focus by calling + `preventDefault()` in an event + listener that is properly registered with the + target object. The `shiftKey` + property is not used. Focus changes and + `focusIn` and + `focusOut` events are dispatched + by default. + @event mouseMove Dispatched when a user moves the pointing + device while it is over an InteractiveObject. + If the target is a text field that the user + is selecting, the selection is updated as the + default behavior. + @event mouseOut Dispatched when the user moves a pointing + device away from an InteractiveObject + instance. The event target is the object + previously under the pointing device. The + `relatedObject` is the object the + pointing device has moved to. If the target + is a SimpleButton instance, the button + displays the `upState` display + object as the default behavior. + + The `mouseOut` event is + dispatched each time the mouse leaves the + area of any child object of the display + object container, even if the mouse remains + over another child object of the display + object container. This is different behavior + than the purpose of the `rollOut` + event, which is to simplify the coding of + rollover behaviors for display object + containers with children. When the mouse + leaves the area of a display object or the + area of any of its children to go to an + object that is not one of its children, the + display object dispatches the + `rollOut` event.The + `rollOut` events are dispatched + consecutively up the parent chain of the + object, starting with the object and ending + with the highest parent that is neither the + root nor an ancestor of the + `relatedObject`. + @event mouseOver Dispatched when the user moves a pointing + device over an InteractiveObject instance. + The `relatedObject` is the object + that was previously under the pointing + device. If the target is a SimpleButton + instance, the object displays the + `overState` or + `upState` display object, + depending on whether the mouse button is + down, as the default behavior. + + The `mouseOver` event is + dispatched each time the mouse enters the + area of any child object of the display + object container, even if the mouse was + already over another child object of the + display object container. This is different + behavior than the purpose of the + `rollOver` event, which is to + simplify the coding of rollout behaviors for + display object containers with children. When + the mouse enters the area of a display object + or the area of any of its children from an + object that is not one of its children, the + display object dispatches the + `rollOver` event. The + `rollOver` events are dispatched + consecutively down the parent chain of the + object, starting with the highest parent that + is neither the root nor an ancestor of the + `relatedObject` and ending with + the object. + @event mouseUp Dispatched when a user releases the pointing + device button over an InteractiveObject + instance. If the target is a SimpleButton + instance, the object displays the + `upState` display object. If the + target is a selectable text field, the text + field ends selection as the default behavior. + @event mouseWheel Dispatched when a mouse wheel is spun over an + InteractiveObject instance. If the target is + a text field, the text scrolls as the default + behavior. Only available on Microsoft Windows + operating systems. + @event nativeDragComplete Dispatched by the drag initiator + InteractiveObject when the user releases the + drag gesture. + + The event's dropAction property indicates + the action set by the drag target object; a + value of "none" + (`DragActions.NONE`) indicates + that the drop was canceled or was not + accepted. + + The `nativeDragComplete` event + handler is a convenient place to update the + state of the initiating display object, for + example, by removing an item from a list(on + a drag action of "move"), or by changing the + visual properties. + @event nativeDragDrop Dispatched by the target InteractiveObject + when a dragged object is dropped on it and + the drop has been accepted with a call to + DragManager.acceptDragDrop(). + + Access the dropped data using the event + object `clipboard` property. + + The handler for this event should set the + `DragManager.dropAction` property + to provide feedback to the initiator object + about which drag action was taken. If no + value is set, the DragManager will select a + default value from the list of allowed + actions. + @event nativeDragEnter Dispatched by an InteractiveObject when a + drag gesture enters its boundary. + + Handle either the + `nativeDragEnter` or + `nativeDragOver` events to allow + the display object to become the drop + target. + + To determine whether the dispatching + display object can accept the drop, check the + suitability of the data in + `clipboard` property of the event + object, and the allowed drag actions in the + `allowedActions` property. + @event nativeDragExit Dispatched by an InteractiveObject when a + drag gesture leaves its boundary. + @event nativeDragOver Dispatched by an InteractiveObject + continually while a drag gesture remains + within its boundary. + + `nativeDragOver` events are + dispatched whenever the mouse is moved. On + Windows and Mac, they are also dispatched on + a short timer interval even when the mouse + has not moved. + + Handle either the + `nativeDragOver` or + `nativeDragEnter` events to allow + the display object to become the drop + target. + + To determine whether the dispatching + display object can accept the drop, check the + suitability of the data in + `clipboard` property of the event + object, and the allowed drag actions in the + `allowedActions` property. + @event nativeDragStart Dispatched at the beginning of a drag + operation by the InteractiveObject that is + specified as the drag initiator in the + DragManager.doDrag() call. + @event nativeDragUpdate Dispatched during a drag operation by the + InteractiveObject that is specified as the + drag initiator in the DragManager.doDrag() + call. + + `nativeDragUpdate` events are + not dispatched on Linux. + @event paste Dispatched when the user activates the + platform-specific accelerator key combination + for a paste operation or selects 'Paste' from + the text context menu. This event is + dispatched to the object that currently has + focus. If the object that currently has focus + is a TextField, the default behavior of this + event is to cause the contents of the + clipboard to be pasted into the text field at + the current insertion point replacing any + currently selected text in the text field. + @event rightClick Dispatched when a user presses and releases + the right button of the user's pointing + device over the same InteractiveObject. For a + `rightClick` event to occur, it + must always follow this series of events in + the order of occurrence: + `rightMouseDown` event, then + `rightMouseUp`. The target object + must be identical for both of these events; + otherwise the `rightClick` event + does not occur. Any number of other mouse + events can occur at any time between the + `rightMouseDown` or + `rightMouseUp` events; the + `rightClick` event still occurs. + @event rightMouseDown Dispatched when a user presses the pointing + device button over an InteractiveObject + instance. + @event rightMouseUp Dispatched when a user releases the pointing + device button over an InteractiveObject + instance. + @event rollOut Dispatched when the user moves a pointing + device away from an InteractiveObject + instance. The event target is the object + previously under the pointing device or a + parent of that object. The + `relatedObject` is the object that + the pointing device has moved to. The + `rollOut` events are dispatched + consecutively up the parent chain of the + object, starting with the object and ending + with the highest parent that is neither the + root nor an ancestor of the + `relatedObject`. + + The purpose of the `rollOut` + event is to simplify the coding of rollover + behaviors for display object containers with + children. When the mouse leaves the area of a + display object or the area of any of its + children to go to an object that is not one + of its children, the display object + dispatches the `rollOut` event. + This is different behavior than that of the + `mouseOut` event, which is + dispatched each time the mouse leaves the + area of any child object of the display + object container, even if the mouse remains + over another child object of the display + object container. + @event rollOver Dispatched when the user moves a pointing + device over an InteractiveObject instance. + The event target is the object under the + pointing device or a parent of that object. + The `relatedObject` is the object + that was previously under the pointing + device. The `rollOver` events are + dispatched consecutively down the parent + chain of the object, starting with the + highest parent that is neither the root nor + an ancestor of the `relatedObject` + and ending with the object. + + The purpose of the `rollOver` + event is to simplify the coding of rollout + behaviors for display object containers with + children. When the mouse enters the area of a + display object or the area of any of its + children from an object that is not one of + its children, the display object dispatches + the `rollOver` event. This is + different behavior than that of the + `mouseOver` event, which is + dispatched each time the mouse enters the + area of any child object of the display + object container, even if the mouse was + already over another child object of the + display object container. + @event selectAll Dispatched when the user activates the + platform-specific accelerator key combination + for a select all operation or selects 'Select + All' from the text context menu. This event + is dispatched to the object that currently + has focus. If the object that currently has + focus is a TextField, the default behavior of + this event is to cause all the contents of + the text field to be selected. + @event softKeyboardActivate Dispatched immediately after the soft + keyboard is raised. + @event softKeyboardActivating Dispatched immediately before the soft + keyboard is raised. + @event softKeyboardDeactivate Dispatched immediately after the soft + keyboard is lowered. + @event tabChildrenChange Dispatched when the value of the object's + `tabChildren` flag changes. + @event tabEnabledChange Dispatched when the object's + `tabEnabled` flag changes. + @event tabIndexChange Dispatched when the value of the object's + `tabIndex` property changes. + @event textInput Dispatched when a user enters one or more + characters of text. Various text input + methods can generate this event, including + standard keyboards, input method editors + (IMEs), voice or speech recognition systems, + and even the act of pasting plain text with + no formatting or style information. + @event touchBegin Dispatched when the user first contacts a + touch-enabled device(such as touches a + finger to a mobile phone or tablet with a + touch screen). Some devices might also + interpret this contact as a + `mouseDown` event. + + Specifically, if a user touches a finger + to a touch screen, the InteractiveObject + instance can dispatch a + `mouseDown` event or a + `touchBegin` event, or both if the + current environment supports it. Choose how + you want to handle the user interaction. Use + the openfl.ui.Multitouch class to manage touch + event handling(enable touch gesture event + handling, simple touch point event handling, + or disable touch events so only mouse events + are dispatched). If you choose to handle the + `mouseDown` event, then the same + event handler will run on a touch-enabled + device and a mouse enabled device. However, + if you choose to handle the + `touchBegin` event, you can design + your event handler to respond to the specific + needs of a touch-enabled environment and + provide users with a richer touch-enabled + experience. You can also handle both events, + separately, to provide a different response + for a touch event than a mouse event. + + **Note:** See the Multitouch class for + environment compatibility information. + @event touchEnd Dispatched when the user removes contact with + a touch-enabled device(such as lifts a + finger off a mobile phone or tablet with a + touch screen). Some devices might also + interpret this contact as a + `mouseUp` event. + + Specifically, if a user lifts a finger + from a touch screen, the InteractiveObject + instance can dispatch a `mouseUp` + event or a `touchEnd` event, or + both if the current environment supports it. + Choose how you want to handle the user + interaction. Use the openfl.ui.Multitouch + class to manage touch event handling(enable + touch gesture event handling, simple touch + point event handling, or disable touch events + so only mouse events are dispatched). If you + choose to handle the `mouseUp` + event, then the same event handler will run + on a touch-enabled device and a mouse enabled + device. However, if you choose to handle the + `touchEnd` event, you can design + your event handler to respond to the specific + needs of a touch-enabled environment and + provide users with a richer touch-enabled + experience. You can also handle both events, + separately, to provide a different response + for a touch event than a mouse event. + + **Note:** See the Multitouch class for + environment compatibility information. + @event touchMove Dispatched when the user moves the point of + contact with a touch-enabled device(such as + drags a finger across a mobile phone or + tablet with a touch screen). Some devices + might also interpret this contact as a + `mouseMove` event. + + Specifically, if a user moves a finger + across a touch screen, the InteractiveObject + instance can dispatch a + `mouseMove` event or a + `touchMove` event, or both if the + current environment supports it. Choose how + you want to handle the user interaction. Use + the openfl.ui.Multitouch class to manage touch + event handling(enable touch gesture event + handling, simple touch point event handling, + or disable touch events so only mouse events + are dispatched). If you choose to handle the + `mouseMove` event, then the same + event handler will run on a touch-enabled + device and a mouse enabled device. However, + if you choose to handle the + `touchMove` event, you can design + your event handler to respond to the specific + needs of a touch-enabled environment and + provide users with a richer touch-enabled + experience. You can also handle both events, + separately, to provide a different response + for a touch event than a mouse event. + + **Note:** See the Multitouch class for + environment compatibility information. + @event touchOut Dispatched when the user moves the point of + contact away from InteractiveObject instance + on a touch-enabled device(such as drags a + finger from one display object to another on + a mobile phone or tablet with a touch + screen). Some devices might also interpret + this contact as a `mouseOut` + event. + + Specifically, if a user moves a finger + across a touch screen, the InteractiveObject + instance can dispatch a `mouseOut` + event or a `touchOut` event, or + both if the current environment supports it. + Choose how you want to handle the user + interaction. Use the openfl.ui.Multitouch + class to manage touch event handling(enable + touch gesture event handling, simple touch + point event handling, or disable touch events + so only mouse events are dispatched). If you + choose to handle the `mouseOut` + event, then the same event handler will run + on a touch-enabled device and a mouse enabled + device. However, if you choose to handle the + `touchOut` event, you can design + your event handler to respond to the specific + needs of a touch-enabled environment and + provide users with a richer touch-enabled + experience. You can also handle both events, + separately, to provide a different response + for a touch event than a mouse event. + + **Note:** See the Multitouch class for + environment compatibility information. + @event touchOver Dispatched when the user moves the point of + contact over an InteractiveObject instance on + a touch-enabled device(such as drags a + finger from a point outside a display object + to a point over a display object on a mobile + phone or tablet with a touch screen). Some + devices might also interpret this contact as + a `mouseOver` event. + + Specifically, if a user moves a finger + over an InteractiveObject, the + InteractiveObject instance can dispatch a + `mouseOver` event or a + `touchOver` event, or both if the + current environment supports it. Choose how + you want to handle the user interaction. Use + the openfl.ui.Multitouch class to manage touch + event handling(enable touch gesture event + handling, simple touch point event handling, + or disable touch events so only mouse events + are dispatched). If you choose to handle the + `mouseOver` event, then the same + event handler will run on a touch-enabled + device and a mouse enabled device. However, + if you choose to handle the + `touchOver` event, you can design + your event handler to respond to the specific + needs of a touch-enabled environment and + provide users with a richer touch-enabled + experience. You can also handle both events, + separately, to provide a different response + for a touch event than a mouse event. + + **Note:** See the Multitouch class for + environment compatibility information. + @event touchRollOut Dispatched when the user moves the point of + contact away from an InteractiveObject + instance on a touch-enabled device(such as + drags a finger from over a display object to + a point outside the display object on a + mobile phone or tablet with a touch screen). + Some devices might also interpret this + contact as a `rollOut` event. + + Specifically, if a user moves a finger + over an InteractiveObject, the + InteractiveObject instance can dispatch a + `rollOut` event or a + `touchRollOut` event, or both if + the current environment supports it. Choose + how you want to handle the user interaction. + Use the openfl.ui.Multitouch class to manage + touch event handling(enable touch gesture + event handling, simple touch point event + handling, or disable touch events so only + mouse events are dispatched). If you choose + to handle the `rollOut` event, + then the same event handler will run on a + touch-enabled device and a mouse enabled + device. However, if you choose to handle the + `touchRollOut` event, you can + design your event handler to respond to the + specific needs of a touch-enabled environment + and provide users with a richer touch-enabled + experience. You can also handle both events, + separately, to provide a different response + for a touch event than a mouse event. + + **Note:** See the Multitouch class for + environment compatibility information. + @event touchRollOver Dispatched when the user moves the point of + contact over an InteractiveObject instance on + a touch-enabled device(such as drags a + finger from a point outside a display object + to a point over a display object on a mobile + phone or tablet with a touch screen). Some + devices might also interpret this contact as + a `rollOver` event. + + Specifically, if a user moves a finger + over an InteractiveObject, the + InteractiveObject instance can dispatch a + `rollOver` event or a + `touchRollOver` event, or both if + the current environment supports it. Choose + how you want to handle the user interaction. + Use the openfl.ui.Multitouch class to manage + touch event handling(enable touch gesture + event handling, simple touch point event + handling, or disable touch events so only + mouse events are dispatched). If you choose + to handle the `rollOver` event, + then the same event handler will run on a + touch-enabled device and a mouse enabled + device. However, if you choose to handle the + `touchRollOver` event, you can + design your event handler to respond to the + specific needs of a touch-enabled environment + and provide users with a richer touch-enabled + experience. You can also handle both events, + separately, to provide a different response + for a touch event than a mouse event. + + **Note:** See the Multitouch class for + environment compatibility information. + @event touchTap Dispatched when the user lifts the point of + contact over the same InteractiveObject + instance on which the contact was initiated + on a touch-enabled device(such as presses + and releases a finger from a single point + over a display object on a mobile phone or + tablet with a touch screen). Some devices + might also interpret this contact as a + `click` event. + + Specifically, if a user taps a finger over + an InteractiveObject, the InteractiveObject + instance can dispatch a `click` + event or a `touchTap` event, or + both if the current environment supports it. + Choose how you want to handle the user + interaction. Use the openfl.ui.Multitouch + class to manage touch event handling(enable + touch gesture event handling, simple touch + point event handling, or disable touch events + so only mouse events are dispatched). If you + choose to handle the `click` + event, then the same event handler will run + on a touch-enabled device and a mouse enabled + device. However, if you choose to handle the + `touchTap` event, you can design + your event handler to respond to the specific + needs of a touch-enabled environment and + provide users with a richer touch-enabled + experience. You can also handle both events, + separately, to provide a different response + for a touch event than a mouse event. + + **Note:** See the Multitouch class for + environment compatibility information. + + + "tags=\"haxe,release\"" + + + + + + + + Determines whether or not the children of the object are mouse, or user + input device, enabled. If an object is enabled, a user can interact with + it by using a mouse or user input device. The default is + `true`. + + This property is useful when you create a button with an instance of + the Sprite class(instead of using the SimpleButton class). When you use a + Sprite instance to create a button, you can choose to decorate the button + by using the `addChild()` method to add additional Sprite + instances. This process can cause unexpected behavior with mouse events + because the Sprite instances you add as children can become the target + object of a mouse event when you expect the parent instance to be the + target object. To ensure that the parent instance serves as the target + objects for mouse events, you can set the `mouseChildren` + property of the parent instance to `false`. + + No event is dispatched by setting this property. You must use the + `addEventListener()` method to create interactive + functionality. + + + + Returns the number of children of this object. + + + + Determines whether the children of the object are tab enabled. Enables or + disables tabbing for the children of the object. The default is + `true`. + + **Note:** Do not use the `tabChildren` property with + Flex. Instead, use the + `mx.core.UIComponent.hasFocusableChildren` property. + + @throws IllegalOperationError Calling this property of the Stage object + throws an exception. The Stage object does + not implement this property. + + <__removedChildren> + + + + <__tabChildren> + + + + + + + + + Adds a child DisplayObject instance to this DisplayObjectContainer + instance. The child is added to the front(top) of all other children in + this DisplayObjectContainer instance.(To add a child to a specific index + position, use the `addChildAt()` method.) + + If you add a child object that already has a different display object + container as a parent, the object is removed from the child list of the + other display object container. + + **Note:** The command `stage.addChild()` can cause + problems with a published SWF file, including security problems and + conflicts with other loaded SWF files. There is only one Stage within a + Flash runtime instance, no matter how many SWF files you load into the + runtime. So, generally, objects should not be added to the Stage, + directly, at all. The only object the Stage should contain is the root + object. Create a DisplayObjectContainer to contain all of the items on the + display list. Then, if necessary, add that DisplayObjectContainer instance + to the Stage. + + @param child The DisplayObject instance to add as a child of this + DisplayObjectContainer instance. + @return The DisplayObject instance that you pass in the `child` + parameter. + @throws ArgumentError Throws if the child is the same as the parent. Also + throws if the caller is a child(or grandchild etc.) + of the child being added. + @event added Dispatched when a display object is added to the display + list. + + + + + + + + Adds a child DisplayObject instance to this DisplayObjectContainer + instance. The child is added at the index position specified. An index of + 0 represents the back(bottom) of the display list for this + DisplayObjectContainer object. + + For example, the following example shows three display objects, labeled + a, b, and c, at index positions 0, 2, and 1, respectively: + + ![b over c over a](/images/DisplayObjectContainer_layers.jpg) + + If you add a child object that already has a different display object + container as a parent, the object is removed from the child list of the + other display object container. + + @param child The DisplayObject instance to add as a child of this + DisplayObjectContainer instance. + @param index The index position to which the child is added. If you + specify a currently occupied index position, the child object + that exists at that position and all higher positions are + moved up one position in the child list. + @return The DisplayObject instance that you pass in the `child` + parameter. + @throws ArgumentError Throws if the child is the same as the parent. Also + throws if the caller is a child(or grandchild etc.) + of the child being added. + @throws RangeError Throws if the index position does not exist in the + child list. + @event added Dispatched when a display object is added to the display + list. + + + + + + + Indicates whether the security restrictions would cause any display + objects to be omitted from the list returned by calling the + `DisplayObjectContainer.getObjectsUnderPoint()` method with the + specified `point` point. By default, content from one domain + cannot access objects from another domain unless they are permitted to do + so with a call to the `Security.allowDomain()` method. For more + information, related to security, see the Flash Player Developer Center + Topic: [Security](http://www.adobe.com/go/devnet_security_en). + + The `point` parameter is in the coordinate space of the + Stage, which may differ from the coordinate space of the display object + container(unless the display object container is the Stage). You can use + the `globalToLocal()` and the `localToGlobal()` + methods to convert points between these coordinate spaces. + + @param point The point under which to look. + @return `true` if the point contains child display objects with + security restrictions. + + + + + + + Determines whether the specified display object is a child of the + DisplayObjectContainer instance or the instance itself. The search + includes the entire display list including this DisplayObjectContainer + instance. Grandchildren, great-grandchildren, and so on each return + `true`. + + @param child The child object to test. + @return `true` if the `child` object is a child of + the DisplayObjectContainer or the container itself; otherwise + `false`. + + + + + + + Returns the child display object instance that exists at the specified + index. + + @param index The index position of the child object. + @return The child display object at the specified index position. + @throws RangeError Throws if the index does not exist in the child + list. + @throws SecurityError This child display object belongs to a sandbox to + which you do not have access. You can avoid this + situation by having the child movie call + `Security.allowDomain()`. + + + + + + + Returns the child display object that exists with the specified name. If + more that one child display object has the specified name, the method + returns the first object in the child list. + + The `getChildAt()` method is faster than the + `getChildByName()` method. The `getChildAt()` method + accesses a child from a cached array, whereas the + `getChildByName()` method has to traverse a linked list to + access a child. + + @param name The name of the child to return. + @return The child display object with the specified name. + @throws SecurityError This child display object belongs to a sandbox to + which you do not have access. You can avoid this + situation by having the child movie call the + `Security.allowDomain()` method. + + + + + + + Returns the index position of a `child` DisplayObject instance. + + @param child The DisplayObject instance to identify. + @return The index position of the child display object to identify. + @throws ArgumentError Throws if the child parameter is not a child of this + object. + + + + + + + Returns an array of objects that lie under the specified point and are + children(or grandchildren, and so on) of this DisplayObjectContainer + instance. Any child objects that are inaccessible for security reasons are + omitted from the returned array. To determine whether this security + restriction affects the returned array, call the + `areInaccessibleObjectsUnderPoint()` method. + + The `point` parameter is in the coordinate space of the + Stage, which may differ from the coordinate space of the display object + container(unless the display object container is the Stage). You can use + the `globalToLocal()` and the `localToGlobal()` + methods to convert points between these coordinate spaces. + + @param point The point under which to look. + @return An array of objects that lie under the specified point and are + children(or grandchildren, and so on) of this + DisplayObjectContainer instance. + + + + + + + Removes the specified `child` DisplayObject instance from the + child list of the DisplayObjectContainer instance. The `parent` + property of the removed child is set to `null` , and the object + is garbage collected if no other references to the child exist. The index + positions of any display objects above the child in the + DisplayObjectContainer are decreased by 1. + + The garbage collector reallocates unused memory space. When a variable + or object is no longer actively referenced or stored somewhere, the + garbage collector sweeps through and wipes out the memory space it used to + occupy if no other references to it exist. + + @param child The DisplayObject instance to remove. + @return The DisplayObject instance that you pass in the `child` + parameter. + @throws ArgumentError Throws if the child parameter is not a child of this + object. + + + + + + + Removes a child DisplayObject from the specified `index` + position in the child list of the DisplayObjectContainer. The + `parent` property of the removed child is set to + `null`, and the object is garbage collected if no other + references to the child exist. The index positions of any display objects + above the child in the DisplayObjectContainer are decreased by 1. + + The garbage collector reallocates unused memory space. When a variable + or object is no longer actively referenced or stored somewhere, the + garbage collector sweeps through and wipes out the memory space it used to + occupy if no other references to it exist. + + @param index The child index of the DisplayObject to remove. + @return The DisplayObject instance that was removed. + @throws RangeError Throws if the index does not exist in the child + list. + @throws SecurityError This child display object belongs to a sandbox to + which the calling object does not have access. You + can avoid this situation by having the child movie + call the `Security.allowDomain()` method. + + + + + + + + { endIndex : 0x7FFFFFFF, beginIndex : 0 } + Removes all `child` DisplayObject instances from the child list of the DisplayObjectContainer + instance. The `parent` property of the removed children is set to `null`, and the objects are + garbage collected if no other references to the children exist. + + The garbage collector reallocates unused memory space. When a variable or object is no + longer actively referenced or stored somewhere, the garbage collector sweeps through and + wipes out the memory space it used to occupy if no other references to it exist. + @param beginIndex The beginning position. A value smaller than 0 throws a `RangeError`. + @param endIndex The ending position. A value smaller than 0 throws a `RangeError`. + + + + + + + + + + + + + + + Changes the position of an existing child in the display object container. + This affects the layering of child objects. For example, the following + example shows three display objects, labeled a, b, and c, at index + positions 0, 1, and 2, respectively: + + ![c over b over a](/images/DisplayObjectContainerSetChildIndex1.jpg) + + When you use the `setChildIndex()` method and specify an + index position that is already occupied, the only positions that change + are those in between the display object's former and new position. All + others will stay the same. If a child is moved to an index LOWER than its + current index, all children in between will INCREASE by 1 for their index + reference. If a child is moved to an index HIGHER than its current index, + all children in between will DECREASE by 1 for their index reference. For + example, if the display object container in the previous example is named + `container`, you can swap the position of the display objects + labeled a and b by calling the following code: + + ```haxe + container.setChildIndex(container.getChildAt(1), 0); + ``` + + This code results in the following arrangement of objects: + + ![c over a over b](/images/DisplayObjectContainerSetChildIndex2.jpg) + + @param child The child DisplayObject instance for which you want to change + the index number. + @param index The resulting index number for the `child` display + object. + @throws ArgumentError Throws if the child parameter is not a child of this + object. + @throws RangeError Throws if the index does not exist in the child + list. + + + + Recursively stops the timeline execution of all MovieClips rooted at this object. + + Child display objects belonging to a sandbox to which the excuting code does not + have access are ignored. + + **Note:** Streaming media playback controlled via a NetStream object will not be + stopped. + + + + + + + + Swaps the z-order (front-to-back order) of the two specified child + objects. All other child objects in the display object container remain in + the same index positions. + + @param child1 The first child object. + @param child2 The second child object. + @throws ArgumentError Throws if either child parameter is not a child of + this object. + + + + + + + + Swaps the z-order (front-to-back order) of the child objects at the two + specified index positions in the child list. All other child objects in + the display object container remain in the same index positions. + + @param index1 The index position of the first child object. + @param index2 The index position of the second child object. + @throws RangeError If either index does not exist in the child list. + + <__cleanup set="method" line="662" override="1"> + + + + <__cleanupRemovedChildren get="inline" set="null" line="674"> + + + + <__dispatchChildren set="method" line="687" override="1"> + + + + + + + <__enterFrame set="method" line="705" override="1"> + + + + + + + <__getBounds set="method" line="713" override="1"> + + + + + + + + <__getFilterBounds set="method" line="733" override="1"> + + + + + + + + <__getRenderBounds set="method" line="759" override="1"> + + + + + + + + <__hitTest set="method" line="788" override="1"> + + + + + + + + + + + + <__hitTestMask set="method" line="877" override="1"> + + + + + + + + <__readGraphicsData set="method" line="892" override="1"> + + + + + + + + <__setStageReference set="method" line="905" override="1"> + + + + + + + <__setWorldTransformInvalid set="method" line="918" override="1"> + + + + <__stopAllMovieClips set="method" line="934" override="1"> + + + + <__tabTest set="method" line="942" override="1"> + + + + + + + <__update set="method" line="963" override="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + Calling the `new DisplayObjectContainer()` constructor throws + an `ArgumentError` exception. You _can_, however, call + constructors for the following subclasses of DisplayObjectContainer: + + * `new Loader()` + * `new Sprite()` + * `new MovieClip()` + + The DisplayObjectContainer class is the base class for all objects that can + serve as display object containers on the display list. The display list + manages all objects displayed in the Flash runtimes. Use the + DisplayObjectContainer class to arrange the display objects in the display + list. Each DisplayObjectContainer object has its own child list for + organizing the z-order of the objects. The z-order is the front-to-back + order that determines which object is drawn in front, which is behind, and + so on. + + DisplayObject is an abstract base class; therefore, you cannot call + DisplayObject directly. Invoking `new DisplayObject()` throws an + `ArgumentError` exception. + The DisplayObjectContainer class is an abstract base class for all objects + that can contain child objects. It cannot be instantiated directly; calling + the `new DisplayObjectContainer()` constructor throws an + `ArgumentError` exception. + + For more information, see the "Display Programming" chapter of the + _ActionScript 3.0 Developer's Guide_. + + "tags=\"haxe,release\"" + + openfl.events.Event + openfl.display.Graphics + openfl.errors.Error + openfl.geom.Point + openfl.geom.Matrix + openfl.geom.Rectangle + + + + + + + Specifies the button mode of this sprite. If `true`, this + sprite behaves as a button, which means that it triggers the display of + the hand cursor when the pointer passes over the sprite and can receive a + `click` event if the enter or space keys are pressed when the + sprite has focus. You can suppress the display of the hand cursor by + setting the `useHandCursor` property to `false`, in + which case the pointer is displayed. + + Although it is better to use the SimpleButton class to create buttons, + you can use the `buttonMode` property to give a sprite some + button-like functionality. To include a sprite in the tab order, set the + `tabEnabled` property(inherited from the InteractiveObject + class and `false` by default) to `true`. + Additionally, consider whether you want the children of your sprite to be + user input enabled. Most buttons do not enable user input interactivity + for their child objects because it confuses the event flow. To disable + user input interactivity for all child objects, you must set the + `mouseChildren` property(inherited from the + DisplayObjectContainer class) to `false`. + + If you use the `buttonMode` property with the MovieClip + class(which is a subclass of the Sprite class), your button might have + some added functionality. If you include frames labeled _up, _over, and + _down, Flash Player provides automatic state changes(functionality + similar to that provided in previous versions of ActionScript for movie + clips used as buttons). These automatic state changes are not available + for sprites, which have no timeline, and thus no frames to label. + + + + Specifies the display object over which the sprite is being dragged, + or on which the sprite was dropped. + + + + Specifies the Graphics object that belongs to this sprite where vector + drawing commands can occur. + + + + Designates another sprite to serve as the hit area for a sprite. If + the `hitArea` property does not exist or the value is `null` or + `undefined`, the sprite itself is used as the hit area. The value of + the `hitArea` property can be a reference to a Sprite object. + You can change the `hitArea` property at any time; the modified sprite + immediately uses the new hit area behavior. The sprite designated as + the hit area does not need to be visible; its graphical shape, + although not visible, is still detected as the hit area. + + **Note:** You must set to `false` the `mouseEnabled` property of the + sprite designated as the hit area. Otherwise, your sprite button might + not work because the sprite designated as the hit area receives the + user input events instead of your sprite button. + + + + control, set the `useHandCursor` and + `buttonMode` properties to `true`, and the + `mouseChildren` property to `false`.]]> + + <__buttonMode> + + + + + + + + + + { bounds : null, lockCenter : false } + Lets the user drag the specified sprite. The sprite remains draggable + until explicitly stopped through a call to the + `Sprite.stopDrag()` method, or until another sprite is made + draggable. Only one sprite is draggable at a time. + + Three-dimensional display objects follow the pointer and + `Sprite.startDrag()` moves the object within the + three-dimensional plane defined by the display object. Or, if the display + object is a two-dimensional object and the child of a three-dimensional + object, the two-dimensional object moves within the three dimensional + plane defined by the three-dimensional parent object. + + @param lockCenter Specifies whether the draggable sprite is locked to the + center of the pointer position(`true`), or + locked to the point where the user first clicked the + sprite(`false`). + @param bounds Value relative to the coordinates of the Sprite's parent + that specify a constraint rectangle for the Sprite. + + + + Ends the `startDrag()` method. A sprite that was made draggable + with the `startDrag()` method remains draggable until a + `stopDrag()` method is added, or until another sprite becomes + draggable. Only one sprite is draggable at a time. + + <__getCursor set="method" line="236" override="1"> + + + + <__hitTest set="method" line="242" override="1"> + + + + + + + + + + + + <__hitTestHitArea set="method" line="281"> + + + + + + + + + + + + <__hitTestMask set="method" line="303" override="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new Sprite instance. After you create the Sprite instance, call + the `DisplayObjectContainer.addChild()` or + `DisplayObjectContainer.addChildAt()` method to add the Sprite + to a parent DisplayObjectContainer. + + The Sprite class is a basic display list building block: a display list + node that can display graphics and can also contain children. + + A Sprite object is similar to a movie clip, but does not have a + timeline. Sprite is an appropriate base class for objects that do not + require timelines. For example, Sprite would be a logical base class for + user interface(UI) components that typically do not use the timeline. + + The Sprite class is new in ActionScript 3.0. It provides an alternative + to the functionality of the MovieClip class, which retains all the + functionality of previous ActionScript releases to provide backward + compatibility. + + + "tags=\"haxe,release\"" + + openfl.display.Graphics + openfl.display.Stage + openfl.geom.Matrix + openfl.geom.Point + + + + +
+ + +
+ + + + 1280 + + + + + + + 720 + + + + + + + TitleState + + + + + + + -1 + + + + + + + 120 + + + + + + + true + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + DocumentClass.build() + + hide + + + + + + The length of `this` Array. + + + + + + + Returns a new Array by appending the elements of `a` to the elements of + `this` Array. + + This operation does not modify `this` Array. + + If `a` is the empty Array `[]`, a copy of `this` Array is returned. + + The length of the returned Array is equal to the sum of `this.length` + and `a.length`. + + If `a` is `null`, the result is unspecified. + + + + + + + Returns a string representation of `this` Array, with `sep` separating + each element. + + The result of this operation is equal to `Std.string(this[0]) + sep + + Std.string(this[1]) + sep + ... + sep + Std.string(this[this.length-1])` + + If `this` is the empty Array `[]`, the result is the empty String `""`. + If `this` has exactly one element, the result is equal to a call to + `Std.string(this[0])`. + + If `sep` is null, the result is unspecified. + + + + Removes the last element of `this` Array and returns it. + + This operation modifies `this` Array in place. + + If `this` has at least one element, `this.length` will decrease by 1. + + If `this` is the empty Array `[]`, null is returned and the length + remains 0. + + + + + + + Adds the element `x` at the end of `this` Array and returns the new + length of `this` Array. + + This operation modifies `this` Array in place. + + `this.length` increases by 1. + + + + + + + + Removes the first element of `this` Array and returns it. + + This operation modifies `this` Array in place. + + If `this` has at least one element, `this`.length and the index of each + remaining element is decreased by 1. + + If `this` is the empty Array `[]`, `null` is returned and the length + remains 0. + + + + + + + + Creates a shallow copy of the range of `this` Array, starting at and + including `pos`, up to but not including `end`. + + This operation does not modify `this` Array. + + The elements are not copied and retain their identity. + + If `end` is omitted or exceeds `this.length`, it defaults to the end of + `this` Array. + + If `pos` or `end` are negative, their offsets are calculated from the + end of `this` Array by `this.length + pos` and `this.length + end` + respectively. If this yields a negative value, 0 is used instead. + + If `pos` exceeds `this.length` or if `end` is less than or equals + `pos`, the result is `[]`. + + + + + + + + + + + y and a + negative Int if x < y. + + This operation modifies `this` Array in place. + + The sort operation is not guaranteed to be stable, which means that the + order of equal elements may not be retained. For a stable Array sorting + algorithm, `haxe.ds.ArraySort.sort()` can be used instead. + + If `f` is null, the result is unspecified.]]> + + + + + + + + + + + + Returns a string representation of `this` Array. + + The result will include the individual elements' String representations + separated by comma. The enclosing [ ] may be missing on some platforms, + use `Std.string()` to get a String representation that is consistent + across platforms. + + + + + + + Adds the element `x` at the start of `this` Array. + + This operation modifies `this` Array in place. + + `this.length` and the index of each Array element increases by 1. + + + + + + + + Inserts the element `x` at the position `pos`. + + This operation modifies `this` Array in place. + + The offset is calculated like so: + + - If `pos` exceeds `this.length`, the offset is `this.length`. + - If `pos` is negative, the offset is calculated from the end of `this` + Array, i.e. `this.length + pos`. If this yields a negative value, the + offset is 0. + - Otherwise, the offset is `pos`. + + If the resulting offset does not exceed `this.length`, all elements from + and including that offset to the end of `this` Array are moved one index + ahead. + + + + + + + Removes the first occurrence of `x` in `this` Array. + + This operation modifies `this` Array in place. + + If `x` is found by checking standard equality, it is removed from `this` + Array and all following elements are reindexed accordingly. The function + then returns true. + + If `x` is not found, `this` Array is not changed and the function + returns false. + + + + + + + Returns whether `this` Array contains `x`. + + If `x` is found by checking standard equality, the function returns `true`, otherwise + the function returns `false`. + + + + + + + + Returns position of the first occurrence of `x` in `this` Array, searching front to back. + + If `x` is found by checking standard equality, the function returns its index. + + If `x` is not found, the function returns -1. + + If `fromIndex` is specified, it will be used as the starting index to search from, + otherwise search starts with zero index. If it is negative, it will be taken as the + offset from the end of `this` Array to compute the starting index. If given or computed + starting index is less than 0, the whole array will be searched, if it is greater than + or equal to the length of `this` Array, the function returns -1. + + + + + + + + Returns position of the last occurrence of `x` in `this` Array, searching back to front. + + If `x` is found by checking standard equality, the function returns its index. + + If `x` is not found, the function returns -1. + + If `fromIndex` is specified, it will be used as the starting index to search from, + otherwise search starts with the last element index. If it is negative, it will be + taken as the offset from the end of `this` Array to compute the starting index. If + given or computed starting index is greater than or equal to the length of `this` Array, + the whole array will be searched, if it is less than 0, the function returns -1. + + + + Returns a shallow copy of `this` Array. + + The elements are not copied and retain their identity, so + `a[i] == a.copy()[i]` is true for any valid `i`. However, + `a == a.copy()` is always false. + + + + + Returns an iterator of the Array values. + + + + + Returns an iterator of the Array indices and values. + + + + + + + + + + + Creates a new Array by applying function `f` to all elements of `this`. + + The order of elements is preserved. + + If `f` is null, the result is unspecified. + + + + + + + + + + + Returns an Array containing those elements of `this` for which `f` + returned true. + + The individual elements are not duplicated and retain their identity. + + If `f` is null, the result is unspecified. + + + + + + + Set the length of the Array. + + If `len` is shorter than the array's current size, the last + `length - len` elements will be removed. If `len` is longer, the Array + will be extended, with new elements set to a target-specific default + value: + + - always null on dynamic targets + - 0, 0.0 or false for Int, Float and Bool respectively on static targets + - null for other types on static targets + + + + Creates a new Array. + + + + + + + + null + + + + null + + + + false + + + + false + + + + + + + + + + + + + + + + + + + * Starts the in-transition. Can be called manually at any time. + + + + + + + * Starts the out-transition. Can be called manually at any time. + + + + false + + <_exiting expr="false"> + + false + + <_onExit> + + + + + + + + + + + + + + + * Create a state with the ability to do visual transitions + * @param TransIn Plays when the state begins + * @param TransOut Plays when the state ends + + * A `FlxState` which can perform visual transitions + * + * Usage: + * + * First, extend `FlxTransitionableState` as ie, `FooState`. + * + * Method 1: + * + * ```haxe + * var in:TransitionData = new TransitionData(...); // add your data where "..." is + * var out:TransitionData = new TransitionData(...); + * + * FlxG.switchState(new FooState(in,out)); + * ``` + * + * Method 2: + * + * ```haxe + * FlxTransitionableState.defaultTransIn = new TransitionData(...); + * FlxTransitionableState.defaultTransOut = new TransitionData(...); + * + * FlxG.switchState(new FooState()); + * ``` + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_tongue> + + + + + + + + + null + + + + + null + + + + false + + <_cursorHidden expr="false"> + + false + + + + * frontend for adding tooltips to things + + <_xml_id expr=""""> + + "" + + <_makeCursor> + <_ui_vars> + + + + <_ui> + <_tongue> + + + false + + <_reload expr="false"> + + false + + <_reload_countdown expr="0"> + + 0 + + + + + + + + + null + + + + + + + + + flixel.addons.ui.FlxUI + + <_cleanupUIVars set="method" line="238"> + + + + + + + + + + + + { height : 600, width : 800 } + + + + + + + + + + + + + + + + + @since 2.1.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { Safe : true, Context : "ui" } + + + + * Creates a cursor. Makes it easy to override this function in your own FlxUIState. + * @return + + + + + + + + + + + { liveFilePath_ : "", tongue_ : null, superIndex_ : null, ptr : null, data : null } + + + + + + + + + + + + + + + * This is a simple extension of FlxState that does two things: + * 1) It implements the IFlxUIState interface + * 2) Automatically creates a FlxUI objects from a single string id + * + * Usage: + * Create a class that extends FlxUIState, override create, and + * before you call super.create(), set _xml_id to the string id + * of the corresponding UI xml file (leave off the extension). + * + * @author Lars Doucet + + + + + + + 0 + + + + 0 + + + + 0 + * Current step + + + + 0 + * Current beat + + + + 0 + * Current step, as a `Float` (ex: 4.94, instead of 4) + + + + 0 + * Current beat, as a `Float` (ex: 1.24, instead of 1) + + + + * Game Controls. + + + + + + + + + + + + hide + + + + hide + + + + + + + + + + { fpsSensitive : false } + * Shortcut to `FlxMath.lerp` or `CoolUtil.lerp`, depending on `fpsSensitive` + * @param v1 Value 1 + * @param v2 Value 2 + * @param ratio Ratio + * @param fpsSensitive Whenever the ratio should not be adjusted to run at the same speed independant of framerate. + + + + + + + + + + + + 0 + + <_file> + + + + 0 + * Array of notes showing when each section STARTS in STEPS + * Usually rounded up?? + + + + + + "Dadbattle" + + + + 0 + + + + + + 40 + + + + + + <_song> + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + { songBeginning : false } + + + + + + + + { updateMusic : true, sec : 0 } + + + + + + + { sectionNum : 1 } + + + + + + + + + + + { lengthInSteps : 16 } + + + + + + + + + + + + + + + + + + + + + + + 0.3 + + + + + + + + + + + + + + + + + + + + * Called when the save file dialog is cancelled. + + + + + + + * Called if there is an error while saving the gameplay recording. + + + + + + + + + + + An abstract type that represents a Class. + + See `Type` for the Haxe Reflection API. + + @see https://haxe.org/manual/types-class-instance.html + + + + + + + + + + + + + + + + cast "up" + + + + + + + + cast "left" + + + + + + + + cast "right" + + + + + + + + cast "down" + + + + + + + + cast "up-press" + + + + + + + + cast "left-press" + + + + + + + + cast "right-press" + + + + + + + + cast "down-press" + + + + + + + + cast "up-release" + + + + + + + + cast "left-release" + + + + + + + + cast "right-release" + + + + + + + + cast "down-release" + + + + + + + + cast "accept" + + + + + + + + cast "back" + + + + + + + + cast "pause" + + + + + + + + cast "reset" + + + + + + + + cast "cheat" + + + + + + + + + + + + cast "up" + + + + + + + + cast "left" + + + + + + + + cast "right" + + + + + + + + cast "down" + + + + + + + + cast "up-press" + + + + + + + + cast "left-press" + + + + + + + + cast "right-press" + + + + + + + + cast "down-press" + + + + + + + + cast "up-release" + + + + + + + + cast "left-release" + + + + + + + + cast "right-release" + + + + + + + + cast "down-release" + + + + + + + + cast "accept" + + + + + + + + cast "back" + + + + + + + + cast "pause" + + + + + + + + cast "reset" + + + + + + + + cast "cheat" + + + + + + + + + + + + + + + + + + + + + * Since, in many cases multiple actions should use similar keys, we don't want the + * rebinding UI to list every action. ActionBinders are what the user percieves as + * an input so, for instance, they can't set jump-press and jump-release to different keys. + + + + + + + + + + + + + + + + + + + + + + + + + + + + flixel.input.actions.FlxActionManager + * Create an action set from a parsed Json object + * + * @param Data A parsed Json object + * @param CallbackDigital A function to call when digital actions fire + * @param CallbackAnalog A function to call when analog actions fire + * @return An action set + + + + "" + * Name of the action set + + + + * Digital actions in this set + + + + * Analog actions in this set + + + + true + * Whether this action set runs when update() is called + + + + + + + + + { Attach : true } + * Automatically adds or removes inputs for a steam controller + * to any steam-affiliated actions + * @param Handle steam controller handle from FlxSteam.getConnectedControllers(), or FlxInputDeviceID.FIRST_ACTIVE / ALL + * @param Attach true: adds inputs, false: removes inputs + + + + + + + + + + + + + { Destroy : true } + * Remove an action from this set + * @param Action a FlxAction + * @param Destroy whether to destroy it as well + * @return whether it was found and removed + + + + + + + + + + + + + + + + + + + + * @since 4.6.0 + + + flixel.input.actions.FlxActionManager + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_up expr="new FlxActionDigital(Action.UP)"> + + new FlxActionDigital(Action.UP) + + <_left expr="new FlxActionDigital(Action.LEFT)"> + + new FlxActionDigital(Action.LEFT) + + <_right expr="new FlxActionDigital(Action.RIGHT)"> + + new FlxActionDigital(Action.RIGHT) + + <_down expr="new FlxActionDigital(Action.DOWN)"> + + new FlxActionDigital(Action.DOWN) + + <_upP expr="new FlxActionDigital(Action.UP_P)"> + + new FlxActionDigital(Action.UP_P) + + <_leftP expr="new FlxActionDigital(Action.LEFT_P)"> + + new FlxActionDigital(Action.LEFT_P) + + <_rightP expr="new FlxActionDigital(Action.RIGHT_P)"> + + new FlxActionDigital(Action.RIGHT_P) + + <_downP expr="new FlxActionDigital(Action.DOWN_P)"> + + new FlxActionDigital(Action.DOWN_P) + + <_upR expr="new FlxActionDigital(Action.UP_R)"> + + new FlxActionDigital(Action.UP_R) + + <_leftR expr="new FlxActionDigital(Action.LEFT_R)"> + + new FlxActionDigital(Action.LEFT_R) + + <_rightR expr="new FlxActionDigital(Action.RIGHT_R)"> + + new FlxActionDigital(Action.RIGHT_R) + + <_downR expr="new FlxActionDigital(Action.DOWN_R)"> + + new FlxActionDigital(Action.DOWN_R) + + <_accept expr="new FlxActionDigital(Action.ACCEPT)"> + + new FlxActionDigital(Action.ACCEPT) + + <_back expr="new FlxActionDigital(Action.BACK)"> + + new FlxActionDigital(Action.BACK) + + <_pause expr="new FlxActionDigital(Action.PAUSE)"> + + new FlxActionDigital(Action.PAUSE) + + <_reset expr="new FlxActionDigital(Action.RESET)"> + + new FlxActionDigital(Action.RESET) + + <_cheat expr="new FlxActionDigital(Action.CHEAT)"> + + new FlxActionDigital(Action.CHEAT) + + + + + + + [] + + + + [] + + + + KeyboardScheme.None + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Void)]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * Sets all actions that pertain to the binder to trigger when the supplied keys are used. + * If binder is a literal you can inline this + + + + + + + + * Sets all actions that pertain to the binder to trigger when the supplied keys are used. + * If binder is a literal you can inline this + + + + + + + + { reset : true } + + + + + + + + + + + + + + + + + + + + + + + + { deviceID : FlxInputDeviceID.ALL } + + + + + + + + + + + + + * Sets all actions that pertain to the binder to trigger when the supplied keys are used. + * If binder is a literal you can inline this + + + + + + + + + * Sets all actions that pertain to the binder to trigger when the supplied keys are used. + * If binder is a literal you can inline this + + + + + + + + + + + + + + + + + + { scheme : None } + + * A list of actions that a player would invoke via some input device. + * Uses FlxActions to funnel various inputs to a single action. + + + + + + + Returns a Date representing the current local time. + + + + + + + Creates a Date from the timestamp (in milliseconds) `t`. + + + + + + + Creates a Date from the formatted string `s`. The following formats are + accepted by the function: + + - `"YYYY-MM-DD hh:mm:ss"` + - `"YYYY-MM-DD"` + - `"hh:mm:ss"` + + The first two formats expressed a date in local time. The third is a time + relative to the UTC epoch. + + + + + Returns the timestamp (in milliseconds) of `this` date. + On cpp and neko, this function only has a second resolution, so the + result will always be a multiple of `1000.0`, e.g. `1454698271000.0`. + To obtain the current timestamp with better precision on cpp and neko, + see the `Sys.time` API. + + For measuring time differences with millisecond accuracy on + all platforms, see `haxe.Timer.stamp`. + + + + + Returns a string representation of `this` Date in the local timezone + using the standard format `YYYY-MM-DD HH:MM:SS`. See `DateTools.format` for + other formatting rules. + + + + + + + + + + + + + Creates a new date object from the given arguments. + + The behaviour of a Date instance is only consistent across platforms if + the the arguments describe a valid date. + + - month: 0 to 11 (note that this is zero-based) + - day: 1 to 31 + - hour: 0 to 23 + - min: 0 to 59 + - sec: 0 to 59 + + The Date class provides a basic structure for date and time related + information. Date instances can be created by + + - `new Date()` for a specific date, + - `Date.now()` to obtain information about the current time, + - `Date.fromTime()` with a given timestamp or + - `Date.fromString()` by parsing from a String. + + There are some extra functions available in the `DateTools` class. + + In the context of Haxe dates, a timestamp is defined as the number of + milliseconds elapsed since 1st January 1970 UTC. + + ## Supported range + + Due to platform limitations, only dates in the range 1970 through 2038 are + supported consistently. Some targets may support dates outside this range, + depending on the OS at runtime. The `Date.fromTime` method will not work with + timestamps outside the range on any target. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Tells if `this` regular expression matches String `s`. + + This method modifies the internal state. + + If `s` is `null`, the result is unspecified. + + + + + + + Returns the matched sub-group `n` of `this` EReg. + + This method should only be called after `this.match` or + `this.matchSub`, and then operates on the String of that operation. + + The index `n` corresponds to the n-th set of parentheses in the pattern + of `this` EReg. If no such sub-group exists, the result is unspecified. + + If `n` equals 0, the whole matched substring is returned. + + + + + + + Returns the position and length of the last matched substring, within + the String which was last used as argument to `this.match` or + `this.matchSub`. + + If the most recent call to `this.match` or `this.matchSub` did not + match anything, the result is unspecified. + + If the global g modifier was in place for the matching, the position and + length of the leftmost substring is returned. + + + + + + + + + { len : -1 } + Tells if `this` regular expression matches a substring of String `s`. + + This function expects `pos` and `len` to describe a valid substring of + `s`, or else the result is unspecified. To get more robust behavior, + `this.match(s.substr(pos,len))` can be used instead. + + This method modifies the internal state. + + If `s` is null, the result is unspecified. + + + + + + + Splits String `s` at all substrings `this` EReg matches. + + If a match is found at the start of `s`, the result contains a leading + empty String "" entry. + + If a match is found at the end of `s`, the result contains a trailing + empty String "" entry. + + If two matching substrings appear next to each other, the result + contains the empty String `""` between them. + + By default, this method splits `s` into two parts at the first matched + substring. If the global g modifier is in place, `s` is split at each + matched substring. + + If `s` is null, the result is unspecified. + + + + + + + + Replaces the first substring of `s` which `this` EReg matches with `by`. + + If `this` EReg does not match any substring, the result is `s`. + + By default, this method replaces only the first matched substring. If + the global g modifier is in place, all matched substrings are replaced. + + If `by` contains `$1` to `$9`, the digit corresponds to number of a + matched sub-group and its value is used instead. If no such sub-group + exists, the replacement is unspecified. The string `$$` becomes `$`. + + If `s` or `by` are null, the result is unspecified. + + + + + + + + + + + Calls the function `f` for the substring of `s` which `this` EReg matches + and replaces that substring with the result of `f` call. + + The `f` function takes `this` EReg object as its first argument and should + return a replacement string for the substring matched. + + If `this` EReg does not match any substring, the result is `s`. + + By default, this method replaces only the first matched substring. If + the global g modifier is in place, all matched substrings are replaced. + + If `s` or `f` are null, the result is unspecified. + + + + + + + + Creates a new regular expression with pattern `r` and modifiers `opt`. + + This is equivalent to the shorthand syntax `~/r/opt` + + If `r` or `opt` are null, the result is unspecified. + + ]]> + + + + "]]> + + + + + + An abstract type that represents an Enum type. + + The corresponding enum instance type is `EnumValue`. + + See `Type` for the Haxe Reflection API. + + @see https://haxe.org/manual/types-enum-instance.html + + + + + + + + + An abstract type that represents any enum value. + See `Type` for the Haxe Reflection API. + + @see https://haxe.org/manual/types-enum-instance.html + + + + + + + + * Used for FreeplayState! If you use it elsewhere, prob gonna annoying + + + + + + + 1, 20 => 0]]]> + Frame Index]]> + + + + + + + * Helper for HScript who can't make maps + * @param steps Something like this: `[[0, 1], [20, 0]]` + + + + + + + + + + + + { isPlayer : false, char : "bf" } + + + + + + + + + + new Map() + + + + + + + + + { diff : 0, score : 0 } + + + + + + + + + { diff : 0, score : 0, week : 1 } + + + + + + + + * YOU SHOULD FORMAT SONG WITH formatSong() BEFORE TOSSING IN SONG VARIABLE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns true if the iterator has other items, false otherwise. + + + + + Moves to the next item of the iterator. + + If this is called while hasNext() is false, the result is unspecified. + + + + + + + + + + + IntIterator is used for implementing interval iterations. + + It is usually not used explicitly, but through its special syntax: + `min...max` + + While it is possible to assign an instance of IntIterator to a variable or + field, it is worth noting that IntIterator does not reset after being used + in a for-loop. Subsequent uses of the same instance will then have no + effect. + + @see https://haxe.org/manual/lf-iterators.html + + + + + + + + + + + + Creates an Array from Iterable `it`. + + If `it` is an Array, this function returns a copy of it. + + + + + + + + + + + Tells if `it` contains an element for which `f` is true. + + This function returns true as soon as an element is found for which a + call to `f` returns true. + + If no such element is found, the result is false. + + If `f` is null, the result is unspecified. + + The `Lambda` class is a collection of methods to support functional + programming. It is ideally used with `using Lambda` and then acts as an + extension to Iterable types. + + On static platforms, working with the Iterable structure might be slower + than performing the operations directly on known types, such as Array and + List. + + If the first argument to any of the methods is null, the result is + unspecified. + + @see https://haxe.org/manual/std-Lambda.html + + + + + + + + + + + + + + + + + lime.utils.Assets + + hide + + + + + + + + + + + + + + + Returns bytes representation of the given String, using specific encoding (UTF-8 by default) + + + + + + + + + + + Convert hexadecimal string to Bytes. + Support only straight hex string ( Example: "0FDA14058916052309" ) + + + + + + + + + Read the most efficiently possible the n-th byte of the data. + Behavior when reading outside of the available data is unspecified. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns the IEEE double precision value at given position (in low endian encoding). + Result is unspecified if reading outside of the bounds + + + + + + + + Returns the IEEE single precision value at given position (in low endian encoding). + Result is unspecified if reading outside of the bounds + + + + + + + + + Store the IEEE double precision value at given position in low endian encoding. + Result is unspecified if writing outside of the bounds. + + + + + + + + + Store the IEEE single precision value at given position in low endian encoding. + Result is unspecified if writing outside of the bounds. + + + + + + + Returns the 16 bit unsigned integer at given position (in low endian encoding). + + + + + + + + Store the 16 bit unsigned integer at given position (in low endian encoding). + + + + + + + Returns the 32 bit integer at given position (in low endian encoding). + + + + + + + Returns the 64 bit integer at given position (in low endian encoding). + + + + + + + + Store the 32 bit integer at given position (in low endian encoding). + + + + + + + + Store the 64 bit integer at given position (in low endian encoding). + + + + + + + + + + + + + + + + + + "readString is deprecated, use getString instead" + + + + + + Returns string representation of the bytes as UTF8 + + + + + + + + + + + lime._internal.macros.AssetsMacro.embedBytes() + "tags=\"haxe,release\"" + + + + + + + + "__ASSET__:file___ASSET__assets_fonts_fonts_go_here_txt1" + + + + + + + + lime._internal.macros.AssetsMacro.embedBytes() + lime._internal.macros.AssetsMacro.embedBytes() + + "assets/fonts/fonts-go-here.txt" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <__fontID> + + + + <__fontPath> + + + + <__fontPathWithoutDirectory> + + + + <__init> + + + + + + + + + + + + + + |:;_-+=?,. " }]]> + + + + + + + + + + + + + + + + + + + <__copyFrom set="method" line="418"> + + + + + + + <__fromBytes set="method" line="443"> + + + + + + + <__fromFile set="method" line="456"> + + + + + + + <__initializeSource set="method" line="469"> + + + + <__loadFromName set="method" line="496"> + + + + + + + <__setSize set="method" line="591"> + + + + + + + + + + + + { name : null } + + + + "tags=\"haxe,release\"" + + lime._internal.macros.AssetsMacro.embedFont() + lime._internal.backend.native.NativeCFFI + lime.text.Glyph + + + + + + + "LIME_font___ASSET__assets_fonts_pixel_otf1" + + + + + lime._internal.macros.AssetsMacro.embedFont() + lime._internal.macros.AssetsMacro.embedFont() + + "assets/fonts/pixel.otf" + + + + + + + + "LIME_font___ASSET__assets_fonts_vcr_ttf1" + + + + + lime._internal.macros.AssetsMacro.embedFont() + lime._internal.macros.AssetsMacro.embedFont() + + "assets/fonts/vcr.ttf" + + + + + + + + "__ASSET__:file___ASSET__flixel_sounds_beep_ogg" + + + + + + + + lime._internal.macros.AssetsMacro.embedBytes() + lime._internal.macros.AssetsMacro.embedBytes() + + "E:/Dev/HaxeFlixel/flixel/assets/sounds/beep.ogg" + + + + + + + + "__ASSET__:file___ASSET__flixel_sounds_flixel_ogg" + + + + + + + + lime._internal.macros.AssetsMacro.embedBytes() + lime._internal.macros.AssetsMacro.embedBytes() + + "E:/Dev/HaxeFlixel/flixel/assets/sounds/flixel.ogg" + + + + + + + + "__ASSET__:file___ASSET__flixel_sounds_type_ogg" + + + + + + + + lime._internal.macros.AssetsMacro.embedBytes() + lime._internal.macros.AssetsMacro.embedBytes() + + "E:/Dev/HaxeFlixel/flixel/assets/sounds/type.ogg" + + + + + + + + "LIME_font___ASSET__flixel_fonts_nokiafc22_ttf" + + + + + lime._internal.macros.AssetsMacro.embedFont() + lime._internal.macros.AssetsMacro.embedFont() + + "E:/Dev/HaxeFlixel/flixel/assets/fonts/nokiafc22.ttf" + + + + + + + + "LIME_font___ASSET__flixel_fonts_monsterrat_ttf" + + + + + lime._internal.macros.AssetsMacro.embedFont() + lime._internal.macros.AssetsMacro.embedFont() + + "E:/Dev/HaxeFlixel/flixel/assets/fonts/monsterrat.ttf" + + + + + + + + + + + Converts a Base64-encoded `String` into an `Image`, or returns `null` if this is not possible + @param base64 A Base64-encoded `String` + @param type A mime-type to describe the image data (such as "image/png") + @return A new `Image`, or `null` if conversion was not possible + + + + + + + Creates a new `Image` from a Flash `BitmapData` instance + @param bitmapData A source `bitmapData` to use + @return A new `Image` instance + + + + + + + Converts a `Bytes` object to an `Image` instance + + Some platforms (such as Flash and HTML5) cannot convert `Bytes` to an + `Image` synchronously, and may not work properly. + + `Image.loadFromBytes` works asynchronously, and should work + consistently on all platforms. + @param bytes A `Bytes` holding encoded image data + @return A new `Image` instance + + + + + + + Converts an `js.html.CanvasElement` instance to an `Image` + @param canvas A `CanvasElement` + @return A new `Image` instance + + + + + + + Loads an `Image` from a path synchronously. + + Some platforms, such as Flash and HTML5, cannot load + images synchronously. + + `Image.loadFromFile` works asynchronously, and should + behave consistently on all platforms. + @param path The source file path or URL of an encoded image file + @return A new `Image` instance + + + + + + + Converts a `js.html.Image` instance to an `Image` + @param image An `ImageElement` instance + @return A new `Image` instance + + + + + + + + Creates a new `Image` instance from a Base64-encoded `String`, asynchronously + @param base64 A Base64-encoded string representing encoded image data + @param type The mime type of the encoded data (such as "image/png") + @return A `Future` to return a new `Image` instance + + + + + + + Creates a new `Image` instance from image-encoded `Bytes`, loaded asynchronously + @param bytes A `Bytes` instance + @return A `Future` to return a new `Image` instance + + + + + + + Creates a new `Image` instance from a file path or URL, loaded asynchronously + @param path A file path or URL containing an encoded image + @return A `Future` to return a new `Image` instance + + <__isGIF set="method" line="1711" static="1"> + + + + <__isJPG set="method" line="1719" static="1"> + + + + <__isPNG set="method" line="1729" static="1"> + + + + <__isWebP set="method" line="1737" static="1"> + + + + + + The `ImageBuffer` store that backs the `Image` + + + + Retrieves `UInt8Array` data from the `ImageBuffer`. If the `ImageBuffer` + is not in a data format, it will be converted. + + + + Whether the `Image` is dirty. This is set to `true` when pixel operations + have been performed on the underlying `buffer`, and can be set to `false` + again by your own renderer. + + + + Get or set the `PixelFormat` for the underlying `ImageBuffer`. This can be + used to convert the `ImageBuffer` to a new format. + + + + The logical height of the `Image`. This can be smaller than the `height` + of the underlying `buffer`. + + + + The offset X position of the `Image`, from the source `buffer`, + when the `Image` is smaller than the full size of the source `buffer` + + + + The offset Y position of the `Image`, from the source `buffer`, + when the `Image` is smaller than the full size of the source `buffer` + + + + Get or set whether the `ImageBuffer` dimensions are both a power-of-two + (such as 2, 4, 8, 16, so on). Setting this value may resize the underlying + `buffer` + + + + Get or set whether this `Image` has premultiplied alpha. Setting this value + may multiply or unmultiply data if the underlying `ImageBuffer` uses a + different format. + + + + The offset, width and height of this image as a `Rectangle` + + + + A higher-level representation of the source `ImageBuffer`. This might be an + HTML5 Image, CanvasElement or a Flash BitmapData instance. + + + + Get or set whether the underlying `ImageBuffer` is transparent. + + + + The current `ImageType`, representing what is being used to store the `Image`'s graphics + + + + The `version` of the `Image` increases each time it is modified, helpful to determining + whether a cache is out-of-date. + + + + The logical width of the `Image`. This can be smaller than the `width` + of the underlying `buffer`. + + + + A convenience property, unused internally, which may be helpful for different renderer + implementations + + + + A convenience property, unused internally, which may be helpful for different renderer + implementations + + + + Creates a duplicate copy of this `Image` and `ImageBuffer` + @return A new `Image` instance + + + + + + + + Applies a color transform to the underlying `ImageBuffer` data + @param rect The target rectangle to transform + @param colorMatrix A `ColorMatrix` for color offset and/or multiplication + + + + + + + + + + + Copy a color channel from one `Image` to another. This can also be within the same `Image` instance. + @param sourceImage The `Image` to copy from + @param sourceRect The source rectangle to copy from in the `sourceImage` + @param destPoint The destination point to apply the channel in the current `Image` + @param sourceChannel The source color channel to copy the data from + @param destChannel The destination color channel to apply the data into + + + + + + + + + + + + { mergeAlpha : false, alphaPoint : null, alphaImage : null } + Copies pixels from one `Image` to another. The source `Image` can also be this `Image` + @param sourceImage The source `Image` to copy from + @param sourceRect The source rectangle to use when copying + @param destPoint The destination point to use when copying + @param alphaImage (Optional) A different `Image` to use as the alpha channel while copying + @param alphaPoint (Optional) A point in the alpha image to use when copying + @param mergeAlpha (Optional) Whether to blend the source and destination alpha (`true`), or to replace the destination alpha (`false`) + + + + + + + + { quality : 90, format : null } + Encodes this `Image` into an image file format, such as PNG or JPEG. + @param format (Optional) An `ImageFileFormat` to encode into (default is `PNG`) + @param quality (Optional) A quality value to use when encoding as JPEG (from 0 to 100) + @return `Bytes` for the encoded `Image`, or `null` if encoding was not successful + + + + + + + + + { format : null } + Fill a rectangle in the `Image` with a solid color + @param rect A destination rectangle in this `Image` to fill + @param color The color to use when filling this `Image` + @param format (Optional) The `PixelFormat` that `color` is encoded in (default is `RGBA`) + + + + + + + + + + { format : null } + Applies a flood fill to this `Image`, starting with the point specified. + + A flood fill behaves similarly to the "paint can" tool in many image editors, + the fill will apply the chosen color to neighboring pixels of the same color. + @param x The target x coordinate within the `Image` to use with the fill + @param y The target y coordinate within the `Image` to use with the fill + @param color The color to use when performing the fill + @param format (Optional) The `PixelFormat` that `color` is encoded in (default is `RGBA`) + + + + + + + + + + { format : null, findColor : true } + Finds a region in the `Image` that includes pixels all of a certain color (when `findColor` is `true`) or + excludes a certain color (`findColor` is `false`) + @param mask A hexadecimal mask to use when comparing colors. You can use this to compare all of a color, or only certain color channels + @param color The color value to use in comparisons + @param findColor (Optional) Whether to find a region that does match the color (`true`) or excludes it (`false`) + @param format (Optional) The `PixelFormat` that the `color` and `mask` are encoded in (default is `RGBA`) + @return The matching bounds `Rectangle`, or `null` if no matching region is found + + + + + + + + + { format : null } + Gets a 24-bit pixel from the `Image` (red, green and blue, but no alpha) + @param x The `x` location to fetch + @param y The `y` location to fetch + @param format (Optional) The `PixelFormat` to encode the return value in (default is `RGBA`) + @return The specified pixel, or `0` if it is out-of-bounds + + + + + + + + + { format : null } + Gets a 32-bit pixel from the `Image`, including alpha + @param x The `x` location to fetch + @param y The `y` location to fetch + @param format (Optional) The `PixelFormat` to encode the return value in (default is `RGBA`) + @return The specified pixel, or `0` if it is out-of-bounds + + + + + + + + { format : null } + Gets a region of pixels from the `Image`, as `Bytes` + @param rect The source `Rectangle` to read from + @param format (Optional) The `PixelFormat` to use when writing to the `Bytes` object (default is `RGBA`) + @return A `Bytes` object representing the region, or `null` if it is not possible to read + + + + + + + + + + + + + Blits a second `Image` onto this one, using optional color multipliers + @param sourceImage An `Image` instance to copy from + @param sourceRect The source rectangle to use when copying + @param destPoint The destination point in this `Image` to copy into + @param redMultiplier A red multiplier to use when blitting + @param greenMultiplier A red multiplier to use when blitting + @param blueMultiplier A red multiplier to use when blitting + @param alphaMultiplier A red multiplier to use when blitting + + + + + + + + Resizes the current `Image`, reallocating the `ImageBuffer` to a new size. + The resize algorithm for most platforms is bilinear. + @param newWidth A new width for the `Image` + @param newHeight A new height for the `Image` + + + + + + + + Scrolls the content of this `Image`. + + Pixels on the edges of the scroll will remain repeated, while others + within the scroll area will be shifted + + @param x The amount of horizontal scroll to apply + @param y The amount of vertical scroll to apply + + + + + + + + + + { format : null } + Sets a pixel in the current `Image` in 24-bit color format (red, green, blue, no alpha) + @param x The x coordinate of the pixel + @param y The y coordinate of the pixel + @param color The color to use + @param format (Optional) The `PixelFormat` that `color` is encoded in (default is `RGBA`) + + + + + + + + + + { format : null } + Sets a pixel in the current `Image` in 32-bit color format (includes alpha) + @param x The x coordinate of the pixel + @param y The y coordinate of the pixel + @param color The color to use + @param format (Optional) The `PixelFormat` that `color` is encoded in (default is `RGBA`) + + + + + + + + + + { endian : null, format : null } + Sets a region of pixels at once using a `BytePointer` + @param rect The region of pixels in this `Image` to replace with the incoming bytes + @param bytePointer A `BytePointer` object referencing the `Bytes` and position to read from + @param format (Optional) The `PixelFormat` that the pixels are encoded in (default is `RGBA`) + @param endian (Optional) The endianness of the incoming bytes (default is the system endianness) + + + + + + + + + + + + + + + { format : null, copySource : false, mask : 0xFFFFFFFF, color : 0x00000000 } + ", ">=", "==", "!=" + @param threshold The value that each pixel is tested against to see if it meets or exceeds the threshhold. + @param color The color value that a pixel is set to if the threshold test succeeds. The default value is 0x00000000. + @param mask The mask to use to isolate a color component. + @param copySource If the value is `true`, pixel values from the source image are copied to the destination when the threshold test fails. If the value is `false`, the source image is not copied when the threshold test fails. + @return The number of pixels that were changed.]]> + + <__clipRect set="method" line="1402"> + + + + + + + <__fromBase64 set="method" line="1439"> + + + + + + + + + + + { onload : null } + + + + <__fromBytes set="method" line="1474"> + + + + + + + + + + { onload : null } + + + + <__fromFile set="method" line="1531"> + + + + + + + + + + + { onerror : null, onload : null } + + + + <__fromImageBuffer set="method" line="1693"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { type : null, color : null, height : -1, width : -1, offsetY : 0, offsetX : 0, buffer : null } + Creates a new `Image` instance. + + If `buffer` is null, but `width` and `height` are set, a new `ImageBuffer` is allocated matching the `color` requested. + @param buffer (Optional) The `ImageBuffer` this `Image` represents + @param offsetX (Optional) A logical offset value within the `ImageBuffer` dimensions + @param offsetY (Optional) A logical offset value within the `ImageBuffer` dimensions + @param width (Optional) A logical width value within the `ImageBuffer` dimensions + @param height (Optional) A logical height value within the `ImageBuffer` dimensions + @param color (Optional) A fill color to use if the `buffer` property is `null` + @param type (Optional) An `ImageType` to use for this `Image` + + `Image` is a convenience class for working with bitmap images in Lime. + + Although `ImageBuffer` holds the actual bitmap data, `Image` includes convenience methods for + loading from files, loading from bytes, and performing many pixel operations over an + `ImageBuffer` instance. + + + "tags=\"haxe,release\"" + + lime._internal.macros.AssetsMacro.embedImage() + lime._internal.backend.native.NativeCFFI + lime._internal.graphics.ImageCanvasUtil + lime._internal.graphics.ImageDataUtil + lime.app.Application + lime.math.ColorMatrix + lime.math.Rectangle + lime.math.Vector2 + + + + + + + "__ASSET__:image___ASSET__flixel_images_ui_button_png" + + + + + + + + + + + + + lime._internal.macros.AssetsMacro.embedImage() + lime._internal.macros.AssetsMacro.embedImage() + + "E:/Dev/HaxeFlixel/flixel/assets/images/ui/button.png" + + + + + + + + "__ASSET__:image___ASSET__flixel_images_logo_default_png" + + + + + + + + + + + + + lime._internal.macros.AssetsMacro.embedImage() + lime._internal.macros.AssetsMacro.embedImage() + + "E:/Dev/HaxeFlixel/flixel/assets/images/logo/default.png" + + + + + + + + "__ASSET__:image___ASSET__flixel_flixel_ui_img_box_png" + + + + + + + + + + + + + lime._internal.macros.AssetsMacro.embedImage() + lime._internal.macros.AssetsMacro.embedImage() + + "E:/Dev/HaxeFlixel/flixel/assets-ui/images/box.png" + + + + + + + + "__ASSET__:image___ASSET__flixel_flixel_ui_img_button_png" + + + + + + + + + + + + + lime._internal.macros.AssetsMacro.embedImage() + lime._internal.macros.AssetsMacro.embedImage() + + "E:/Dev/HaxeFlixel/flixel/assets-ui/images/button.png" + + + + + + + + "__ASSET__:image___ASSET__flixel_flixel_ui_img_button_arrow_down_png" + + + + + + + + + + + + + lime._internal.macros.AssetsMacro.embedImage() + lime._internal.macros.AssetsMacro.embedImage() + + "E:/Dev/HaxeFlixel/flixel/assets-ui/images/button_arrow_down.png" + + + + + + + + "__ASSET__:image___ASSET__flixel_flixel_ui_img_button_arrow_left_png" + + + + + + + + + + + + + lime._internal.macros.AssetsMacro.embedImage() + lime._internal.macros.AssetsMacro.embedImage() + + "E:/Dev/HaxeFlixel/flixel/assets-ui/images/button_arrow_left.png" + + + + + + + + "__ASSET__:image___ASSET__flixel_flixel_ui_img_button_arrow_right_png" + + + + + + + + + + + + + lime._internal.macros.AssetsMacro.embedImage() + lime._internal.macros.AssetsMacro.embedImage() + + "E:/Dev/HaxeFlixel/flixel/assets-ui/images/button_arrow_right.png" + + + + + + + + "__ASSET__:image___ASSET__flixel_flixel_ui_img_button_arrow_up_png" + + + + + + + + + + + + + lime._internal.macros.AssetsMacro.embedImage() + lime._internal.macros.AssetsMacro.embedImage() + + "E:/Dev/HaxeFlixel/flixel/assets-ui/images/button_arrow_up.png" + + + + + + + + "__ASSET__:image___ASSET__flixel_flixel_ui_img_button_thin_png" + + + + + + + + + + + + + lime._internal.macros.AssetsMacro.embedImage() + lime._internal.macros.AssetsMacro.embedImage() + + "E:/Dev/HaxeFlixel/flixel/assets-ui/images/button_thin.png" + + + + + + + + "__ASSET__:image___ASSET__flixel_flixel_ui_img_button_toggle_png" + + + + + + + + + + + + + lime._internal.macros.AssetsMacro.embedImage() + lime._internal.macros.AssetsMacro.embedImage() + + "E:/Dev/HaxeFlixel/flixel/assets-ui/images/button_toggle.png" + + + + + + + + "__ASSET__:image___ASSET__flixel_flixel_ui_img_check_box_png" + + + + + + + + + + + + + lime._internal.macros.AssetsMacro.embedImage() + lime._internal.macros.AssetsMacro.embedImage() + + "E:/Dev/HaxeFlixel/flixel/assets-ui/images/check_box.png" + + + + + + + + "__ASSET__:image___ASSET__flixel_flixel_ui_img_check_mark_png" + + + + + + + + + + + + + lime._internal.macros.AssetsMacro.embedImage() + lime._internal.macros.AssetsMacro.embedImage() + + "E:/Dev/HaxeFlixel/flixel/assets-ui/images/check_mark.png" + + + + + + + + "__ASSET__:image___ASSET__flixel_flixel_ui_img_chrome_png" + + + + + + + + + + + + + lime._internal.macros.AssetsMacro.embedImage() + lime._internal.macros.AssetsMacro.embedImage() + + "E:/Dev/HaxeFlixel/flixel/assets-ui/images/chrome.png" + + + + + + + + "__ASSET__:image___ASSET__flixel_flixel_ui_img_chrome_flat_png" + + + + + + + + + + + + + lime._internal.macros.AssetsMacro.embedImage() + lime._internal.macros.AssetsMacro.embedImage() + + "E:/Dev/HaxeFlixel/flixel/assets-ui/images/chrome_flat.png" + + + + + + + + "__ASSET__:image___ASSET__flixel_flixel_ui_img_chrome_inset_png" + + + + + + + + + + + + + lime._internal.macros.AssetsMacro.embedImage() + lime._internal.macros.AssetsMacro.embedImage() + + "E:/Dev/HaxeFlixel/flixel/assets-ui/images/chrome_inset.png" + + + + + + + + "__ASSET__:image___ASSET__flixel_flixel_ui_img_chrome_light_png" + + + + + + + + + + + + + lime._internal.macros.AssetsMacro.embedImage() + lime._internal.macros.AssetsMacro.embedImage() + + "E:/Dev/HaxeFlixel/flixel/assets-ui/images/chrome_light.png" + + + + + + + + "__ASSET__:image___ASSET__flixel_flixel_ui_img_dropdown_mark_png" + + + + + + + + + + + + + lime._internal.macros.AssetsMacro.embedImage() + lime._internal.macros.AssetsMacro.embedImage() + + "E:/Dev/HaxeFlixel/flixel/assets-ui/images/dropdown_mark.png" + + + + + + + + "__ASSET__:image___ASSET__flixel_flixel_ui_img_finger_big_png" + + + + + + + + + + + + + lime._internal.macros.AssetsMacro.embedImage() + lime._internal.macros.AssetsMacro.embedImage() + + "E:/Dev/HaxeFlixel/flixel/assets-ui/images/finger_big.png" + + + + + + + + "__ASSET__:image___ASSET__flixel_flixel_ui_img_finger_small_png" + + + + + + + + + + + + + lime._internal.macros.AssetsMacro.embedImage() + lime._internal.macros.AssetsMacro.embedImage() + + "E:/Dev/HaxeFlixel/flixel/assets-ui/images/finger_small.png" + + + + + + + + "__ASSET__:image___ASSET__flixel_flixel_ui_img_hilight_png" + + + + + + + + + + + + + lime._internal.macros.AssetsMacro.embedImage() + lime._internal.macros.AssetsMacro.embedImage() + + "E:/Dev/HaxeFlixel/flixel/assets-ui/images/hilight.png" + + + + + + + + "__ASSET__:image___ASSET__flixel_flixel_ui_img_invis_png" + + + + + + + + + + + + + lime._internal.macros.AssetsMacro.embedImage() + lime._internal.macros.AssetsMacro.embedImage() + + "E:/Dev/HaxeFlixel/flixel/assets-ui/images/invis.png" + + + + + + + + "__ASSET__:image___ASSET__flixel_flixel_ui_img_minus_mark_png" + + + + + + + + + + + + + lime._internal.macros.AssetsMacro.embedImage() + lime._internal.macros.AssetsMacro.embedImage() + + "E:/Dev/HaxeFlixel/flixel/assets-ui/images/minus_mark.png" + + + + + + + + "__ASSET__:image___ASSET__flixel_flixel_ui_img_plus_mark_png" + + + + + + + + + + + + + lime._internal.macros.AssetsMacro.embedImage() + lime._internal.macros.AssetsMacro.embedImage() + + "E:/Dev/HaxeFlixel/flixel/assets-ui/images/plus_mark.png" + + + + + + + + "__ASSET__:image___ASSET__flixel_flixel_ui_img_radio_png" + + + + + + + + + + + + + lime._internal.macros.AssetsMacro.embedImage() + lime._internal.macros.AssetsMacro.embedImage() + + "E:/Dev/HaxeFlixel/flixel/assets-ui/images/radio.png" + + + + + + + + "__ASSET__:image___ASSET__flixel_flixel_ui_img_radio_dot_png" + + + + + + + + + + + + + lime._internal.macros.AssetsMacro.embedImage() + lime._internal.macros.AssetsMacro.embedImage() + + "E:/Dev/HaxeFlixel/flixel/assets-ui/images/radio_dot.png" + + + + + + + + "__ASSET__:image___ASSET__flixel_flixel_ui_img_swatch_png" + + + + + + + + + + + + + lime._internal.macros.AssetsMacro.embedImage() + lime._internal.macros.AssetsMacro.embedImage() + + "E:/Dev/HaxeFlixel/flixel/assets-ui/images/swatch.png" + + + + + + + + "__ASSET__:image___ASSET__flixel_flixel_ui_img_tab_png" + + + + + + + + + + + + + lime._internal.macros.AssetsMacro.embedImage() + lime._internal.macros.AssetsMacro.embedImage() + + "E:/Dev/HaxeFlixel/flixel/assets-ui/images/tab.png" + + + + + + + + "__ASSET__:image___ASSET__flixel_flixel_ui_img_tab_back_png" + + + + + + + + + + + + + lime._internal.macros.AssetsMacro.embedImage() + lime._internal.macros.AssetsMacro.embedImage() + + "E:/Dev/HaxeFlixel/flixel/assets-ui/images/tab_back.png" + + + + + + + + "__ASSET__:image___ASSET__flixel_flixel_ui_img_tooltip_arrow_png" + + + + + + + + + + + + + lime._internal.macros.AssetsMacro.embedImage() + lime._internal.macros.AssetsMacro.embedImage() + + "E:/Dev/HaxeFlixel/flixel/assets-ui/images/tooltip_arrow.png" + + + + + + + + "__ASSET__:file___ASSET__flixel_flixel_ui_xml_defaults_xml" + + + + + + + + lime._internal.macros.AssetsMacro.embedBytes() + lime._internal.macros.AssetsMacro.embedBytes() + + "E:/Dev/HaxeFlixel/flixel/assets-ui/xml/defaults.xml" + + + + + + + + "__ASSET__:file___ASSET__flixel_flixel_ui_xml_default_loading_screen_xml" + + + + + + + + lime._internal.macros.AssetsMacro.embedBytes() + lime._internal.macros.AssetsMacro.embedBytes() + + "E:/Dev/HaxeFlixel/flixel/assets-ui/xml/default_loading_screen.xml" + + + + + + + + "__ASSET__:file___ASSET__flixel_flixel_ui_xml_default_popup_xml" + + + + + + + + lime._internal.macros.AssetsMacro.embedBytes() + lime._internal.macros.AssetsMacro.embedBytes() + + "E:/Dev/HaxeFlixel/flixel/assets-ui/xml/default_popup.xml" + + + + + + + + "__ASSET__:file___ASSET__manifest_assets_json" + + + + + + + + lime._internal.macros.AssetsMacro.embedBytes() + lime._internal.macros.AssetsMacro.embedBytes() + + "export/release/windows/obj/tmp/manifest/assets.json" + + + + + + + + lime._internal.macros.AssetsMacro.embedFont() + lime._internal.macros.AssetsMacro.embedFont() + + + + + + + + + lime._internal.macros.AssetsMacro.embedFont() + lime._internal.macros.AssetsMacro.embedFont() + + + + + + + <__fontByName expr="new Map()" line="42" static="1"> + + + + + + new Map() + + + + <__registeredFonts expr="new Array()" line="43" static="1"> + + + new Array() + + + + + + + + + { enumerateDeviceFonts : false } + Specifies whether to provide a list of the currently available embedded + fonts. + + @param enumerateDeviceFonts Indicates whether you want to limit the list + to only the currently available embedded + fonts. If this is set to `true` + then a list of all fonts, both device fonts + and embedded fonts, is returned. If this is + set to `false` then only a list of + embedded fonts is returned. + @return A list of available fonts as an array of Font objects. + + + + + + + Creates a new Font from bytes (a haxe.io.Bytes or openfl.utils.ByteArray) + synchronously. This means that the Font will be returned immediately (if + supported). + + @param bytes A haxe.io.Bytes or openfl.utils.ByteArray instance + @returns A new Font if successful, or `null` if unsuccessful + + + + + + + Creates a new Font from a file path synchronously. This means that the + Font will be returned immediately (if supported). + + @param path A local file path containing a font + @returns A new Font if successful, or `null` if unsuccessful + + + + + + + Creates a new Font from haxe.io.Bytes or openfl.utils.ByteArray data + asynchronously. The font decoding will occur in the background. + Progress, completion and error callbacks will be dispatched in the current + thread using callbacks attached to a returned Future object. + + @param bytes A haxe.io.Bytes or openfl.utils.ByteArray instance + @returns A Future Font + + + + + + + Creates a new Font from a file path or web address asynchronously. The file + load and font decoding will occur in the background. + Progress, completion and error callbacks will be dispatched in the current + thread using callbacks attached to a returned Future object. + + @param path A local file path or web address containing a font + @returns A Future Font + + + + + + + Creates a new Font from a font name asynchronously. This feature should work + for embedded CSS fonts on the HTML5 target, but is not implemented for + registered OS fonts on native targets currently. The file + load and font decoding will occur in the background. + Progress, completion and error callbacks will be dispatched in the current + thread using callbacks attached to a returned Future object. + + @param path A font name + @returns A Future Font + + + + + + + Registers a font in the global font list. + + + + The name of an embedded font. + + + + The style of the font. This value can be any of the values defined in the + FontStyle class. + + + + The type of the font. This value can be any of the constants defined in + the FontType class. + + <__initialized> + + + + <__fromLimeFont set="method" line="243"> + + + + + + + <__initialize set="method" line="249"> + + + + + + + + + + + + + + + + + + + + { name : null } + + The Font class is used to manage embedded fonts in SWF files. Embedded + fonts are represented as a subclass of the Font class. The Font class is + currently useful only to find out information about embedded fonts; you + cannot alter a font by using this class. You cannot use the Font class to + load external fonts, or to create an instance of a Font object by itself. + Use the Font class as an abstract base class. + + + lime._internal.macros.AssetsMacro.embedFont() + lime._internal.macros.AssetsMacro.embedFont() + "tags=\"haxe,release\"" + + + + + + + + + lime._internal.macros.AssetsMacro.embedFont() + lime._internal.macros.AssetsMacro.embedFont() + + "__ASSET__OPENFL__assets_fonts_pixel_otf" + + + + + + + + + lime._internal.macros.AssetsMacro.embedFont() + lime._internal.macros.AssetsMacro.embedFont() + + "__ASSET__OPENFL__assets_fonts_vcr_ttf" + + + + + + + + + lime._internal.macros.AssetsMacro.embedFont() + lime._internal.macros.AssetsMacro.embedFont() + + "__ASSET__OPENFL__assets_fonts_pixel_otf1" + + + + + + + + + lime._internal.macros.AssetsMacro.embedFont() + lime._internal.macros.AssetsMacro.embedFont() + + "__ASSET__OPENFL__assets_fonts_vcr_ttf1" + + + + + + + + + lime._internal.macros.AssetsMacro.embedFont() + lime._internal.macros.AssetsMacro.embedFont() + + "__ASSET__OPENFL__flixel_fonts_nokiafc22_ttf" + + + + + + + + + lime._internal.macros.AssetsMacro.embedFont() + lime._internal.macros.AssetsMacro.embedFont() + + "__ASSET__OPENFL__flixel_fonts_monsterrat_ttf" + + + + + + + + + + + + + + hide + + + + + + + Represents the ratio of the circumference of a circle to its diameter, + specified by the constant, π. `PI` is approximately `3.141592653589793`. + + + + A special `Float` constant which denotes negative infinity. + + For example, this is the result of `-1.0 / 0.0`. + + Operations with `NEGATIVE_INFINITY` as an operand may result in + `NEGATIVE_INFINITY`, `POSITIVE_INFINITY` or `NaN`. + + If this constant is converted to an `Int`, e.g. through `Std.int()`, the + result is unspecified. + + + + A special `Float` constant which denotes positive infinity. + + For example, this is the result of `1.0 / 0.0`. + + Operations with `POSITIVE_INFINITY` as an operand may result in + `NEGATIVE_INFINITY`, `POSITIVE_INFINITY` or `NaN`. + + If this constant is converted to an `Int`, e.g. through `Std.int()`, the + result is unspecified. + + + + A special `Float` constant which denotes an invalid number. + + `NaN` stands for "Not a Number". It occurs when a mathematically incorrect + operation is executed, such as taking the square root of a negative + number: `Math.sqrt(-1)`. + + All further operations with `NaN` as an operand will result in `NaN`. + + If this constant is converted to an `Int`, e.g. through `Std.int()`, the + result is unspecified. + + In order to test if a value is `NaN`, you should use `Math.isNaN()` function. + + + + + + + Returns the absolute value of `v`. + + - If `v` is positive or `0`, the result is unchanged. Otherwise the result is `-v`. + - If `v` is `NEGATIVE_INFINITY` or `POSITIVE_INFINITY`, the result is `POSITIVE_INFINITY`. + - If `v` is `NaN`, the result is `NaN`. + + + + + + + + Returns the smaller of values `a` and `b`. + + - If `a` or `b` are `NaN`, the result is `NaN`. + - If `a` or `b` are `NEGATIVE_INFINITY`, the result is `NEGATIVE_INFINITY`. + - If `a` and `b` are `POSITIVE_INFINITY`, the result is `POSITIVE_INFINITY`. + + + + + + + + Returns the greater of values `a` and `b`. + + - If `a` or `b` are `NaN`, the result is `NaN`. + - If `a` or `b` are `POSITIVE_INFINITY`, the result is `POSITIVE_INFINITY`. + - If `a` and `b` are `NEGATIVE_INFINITY`, the result is `NEGATIVE_INFINITY`. + + + + + + + Returns the trigonometric sine of the specified angle `v`, in radians. + + If `v` is `NaN` or infinite, the result is `NaN`. + + + + + + + Returns the trigonometric cosine of the specified angle `v`, in radians. + + If `v` is `NaN` or infinite, the result is `NaN`. + + + + + + + Returns the trigonometric tangent of the specified angle `v`, in radians. + + If `v` is `NaN` or infinite, the result is `NaN`. + + + + + + + Returns the trigonometric arc of the specified angle `v`, in radians. + + If `v` is `NaN` or infinite, the result is `NaN`. + + + + + + + Returns the trigonometric arc cosine of the specified angle `v`, + in radians. + + If `v` is `NaN` or infinite, the result is `NaN`. + + + + + + + Returns the trigonometric arc tangent of the specified angle `v`, + in radians. + + If `v` is `NaN` or infinite, the result is `NaN`. + + + + + + + + Returns the trigonometric arc tangent whose tangent is the quotient of + two specified numbers, in radians. + + If parameter `x` or `y` is `NaN`, `NEGATIVE_INFINITY` or `POSITIVE_INFINITY`, + the result is `NaN`. + + + + + + + Returns Euler's number, raised to the power of `v`. + + `exp(1.0)` is approximately `2.718281828459`. + + - If `v` is `POSITIVE_INFINITY`, the result is `POSITIVE_INFINITY`. + - If `v` is `NEGATIVE_INFINITY`, the result is `0.0`. + - If `v` is `NaN`, the result is `NaN`. + + + + + + + Returns the natural logarithm of `v`. + + This is the mathematical inverse operation of exp, + i.e. `log(exp(v)) == v` always holds. + + - If `v` is negative (including `NEGATIVE_INFINITY`) or `NaN`, the result is `NaN`. + - If `v` is `POSITIVE_INFINITY`, the result is `POSITIVE_INFINITY`. + - If `v` is `0.0`, the result is `NEGATIVE_INFINITY`. + + + + + + + + Returns a specified base `v` raised to the specified power `exp`. + + + + + + + Returns the square root of `v`. + + - If `v` is negative (including `NEGATIVE_INFINITY`) or `NaN`, the result is `NaN`. + - If `v` is `POSITIVE_INFINITY`, the result is `POSITIVE_INFINITY`. + - If `v` is `0.0`, the result is `0.0`. + + + + + + + Rounds `v` to the nearest integer value. + + Ties are rounded up, so that `0.5` becomes `1` and `-0.5` becomes `0`. + + If `v` is outside of the signed `Int32` range, or is `NaN`, `NEGATIVE_INFINITY` + or `POSITIVE_INFINITY`, the result is unspecified. + + + + + + + Returns the largest integer value that is not greater than `v`. + + If `v` is outside of the signed `Int32` range, or is `NaN`, `NEGATIVE_INFINITY` + or `POSITIVE_INFINITY`, the result is unspecified. + + + + + + + Returns the smallest integer value that is not less than `v`. + + If `v` is outside of the signed `Int32` range, or is `NaN`, `NEGATIVE_INFINITY` + or `POSITIVE_INFINITY`, the result is unspecified. + + + + Returns a pseudo-random number which is greater than or equal to `0.0`, + and less than `1.0`. + + + + + + + Returns the largest integer value that is not greater than `v`, as a `Float`. + + If `v` is is `NaN`, `NEGATIVE_INFINITY` or `POSITIVE_INFINITY`, + the result is unspecified. + + + + + + + Returns the smallest integer value that is not less than `v`, as a `Float`. + + If `v` is is `NaN`, `NEGATIVE_INFINITY` or `POSITIVE_INFINITY`, + the result is unspecified. + + + + + + + Rounds `v` to the nearest integer value, as a Float. + + Ties are rounded up, so that `0.5` becomes `1` and `-0.5` becomes `0`. + + If `v` is is `NaN`, `NEGATIVE_INFINITY` or `POSITIVE_INFINITY`, + the result is unspecified. + + + + + + + Tells if `f` is a finite number. + + If `f` is `POSITIVE_INFINITY`, `NEGATIVE_INFINITY` or `NaN`, the result + is `false`, otherwise the result is `true`. + + + + + + + Tells if `f` is not a valid number. + + If `f` is `NaN`, the result is `true`, otherwise the result is `false`. + In particular, both `POSITIVE_INFINITY` and `NEGATIVE_INFINITY` are + not considered `NaN`. + + This class defines mathematical functions and constants. + + @see https://haxe.org/manual/std-math.html + + + "hxMath.h" + + + + + + + + + + + + { character : "bf" } + + + + + + + + 0 + + + + + 0 + + + + false + + + + + Math.round((1 / FlxG.elapsed) / 10) + + + + + + + + + + + + + { weekNum : 0 } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + 0 + + + + + + + + + ()]]> + + + + + + + ()]]> + + + + + + + + + + + + + + + + + + + + + + + + + Tells if structure `o` has a field named `field`. + + This is only guaranteed to work for anonymous structures. Refer to + `Type.getInstanceFields` for a function supporting class instances. + + If `o` or `field` are null, the result is unspecified. + + + + + + + + + Returns the value of the field named `field` on object `o`. + + If `o` is not an object or has no field named `field`, the result is + null. + + If the field is defined as a property, its accessors are ignored. Refer + to `Reflect.getProperty` for a function supporting property accessors. + + If `field` is null, the result is unspecified. + + + + + + + + + + Sets the field named `field` of object `o` to value `value`. + + If `o` has no field named `field`, this function is only guaranteed to + work for anonymous structures. + + If `o` or `field` are null, the result is unspecified. + + + + + + + + + Returns the value of the field named `field` on object `o`, taking + property getter functions into account. + + If the field is not a property, this function behaves like + `Reflect.field`, but might be slower. + + If `o` or `field` are null, the result is unspecified. + + + + + + + + + + Sets the field named `field` of object `o` to value `value`, taking + property setter functions into account. + + If the field is not a property, this function behaves like + `Reflect.setField`, but might be slower. + + If `field` is null, the result is unspecified. + + + + + + + + + + Call a method `func` with the given arguments `args`. + + The object `o` is ignored in most cases. It serves as the `this`-context in the following + situations: + + * (neko) Allows switching the context to `o` in all cases. + * (macro) Same as neko for Haxe 3. No context switching in Haxe 4. + * (js, lua) Require the `o` argument if `func` does not, but should have a context. + This can occur by accessing a function field natively, e.g. through `Reflect.field` + or by using `(object : Dynamic).field`. However, if `func` has a context, `o` is + ignored like on other targets. + + + + + + + + Returns the fields of structure `o`. + + This method is only guaranteed to work on anonymous structures. Refer to + `Type.getInstanceFields` for a function supporting class instances. + + If `o` is null, the result is unspecified. + + + + + + + + Returns true if `f` is a function, false otherwise. + + If `f` is null, the result is false. + + + + + + + + Compares `a` and `b`. + + If `a` is less than `b`, the result is negative. If `b` is less than + `a`, the result is positive. If `a` and `b` are equal, the result is 0. + + This function is only defined if `a` and `b` are of the same type. + + If that type is a function, the result is unspecified and + `Reflect.compareMethods` should be used instead. + + For all other types, the result is 0 if `a` and `b` are equal. If they + are not equal, the result depends on the type and is negative if: + + - Numeric types: a is less than b + - String: a is lexicographically less than b + - Other: unspecified + + If `a` and `b` are null, the result is 0. If only one of them is null, + the result is unspecified. + + + + + + + + + Compares the functions `f1` and `f2`. + + If `f1` or `f2` are null, the result is false. + If `f1` or `f2` are not functions, the result is unspecified. + + Otherwise the result is true if `f1` and the `f2` are physically equal, + false otherwise. + + If `f1` or `f2` are member method closures, the result is true if they + are closures of the same method on the same object value, false otherwise. + + + + + + + + ` + - `Enum` + + Otherwise, including if `v` is null, the result is false.]]> + + + + + + + + Tells if `v` is an enum value. + + The result is true if `v` is of type EnumValue, i.e. an enum + constructor. + + Otherwise, including if `v` is null, the result is false. + + + + + + + + + + + Transform a function taking an array of arguments into a function that can + be called with any number of arguments. + + + + + + + + + The Reflect API is a way to manipulate values dynamically through an + abstract interface in an untyped manner. Use with care. + + @see https://haxe.org/manual/std-reflection.html + + + + + ignore + + + + + + + + + + + + + + + 0 + * Copies the first section into the second section! + + + + [] + + + + 16 + + + + 0 + + + + true + + + + + + + { lengthInSteps : 16 } + + + + + + + + + + + "Std.is is deprecated. Use Std.isOfType instead." + + + DEPRECATED. Use `Std.isOfType(v, t)` instead. + + Tells if a value `v` is of the type `t`. Returns `false` if `v` or `t` are null. + + If `t` is a class or interface with `@:generic` meta, the result is `false`. + + + + + + + + + Tells if a value `v` is of the type `t`. Returns `false` if `v` or `t` are null. + + If `t` is a class or interface with `@:generic` meta, the result is `false`. + + + + + + + + + Checks if object `value` is an instance of class or interface `c`. + + Compiles only if the type specified by `c` can be assigned to the type + of `value`. + + This method checks if a downcast is possible. That is, if the runtime + type of `value` is assignable to the type specified by `c`, `value` is + returned. Otherwise null is returned. + + This method is not guaranteed to work with core types such as `String`, + `Array` and `Date`. + + If `value` is null, the result is null. If `c` is null, the result is + unspecified. + + + + + + + + + "Std.instance() is deprecated. Use Std.downcast() instead." + + + + + + + + + + + + + Converts any value to a String. + + If `s` is of `String`, `Int`, `Float` or `Bool`, its value is returned. + + If `s` is an instance of a class and that class or one of its parent classes has + a `toString` method, that method is called. If no such method is present, the result + is unspecified. + + If `s` is an enum constructor without argument, the constructor's name is returned. If + arguments exists, the constructor's name followed by the String representations of + the arguments is returned. + + If `s` is a structure, the field names along with their values are returned. The field order + and the operator separating field names and values are unspecified. + + If s is null, "null" is returned. + + + + + + + + + + + Converts a `Float` to an `Int`, rounded towards 0. + + If `x` is outside of the signed Int32 range, or is `NaN`, `NEGATIVE_INFINITY` or `POSITIVE_INFINITY`, the result is unspecified. + + + + + + + + + + + Converts a `String` to an `Int`. + + Leading whitespaces are ignored. + + If `x` starts with 0x or 0X, hexadecimal notation is recognized where the following digits may + contain 0-9 and A-F. + + Otherwise `x` is read as decimal number with 0-9 being allowed characters. `x` may also start with + a - to denote a negative value. + + In decimal mode, parsing continues until an invalid character is detected, in which case the + result up to that point is returned. For hexadecimal notation, the effect of invalid characters + is unspecified. + + Leading 0s that are not part of the 0x/0X hexadecimal notation are ignored, which means octal + notation is not supported. + + If `x` is null, the result is unspecified. + If `x` cannot be parsed as integer, the result is `null`. + + + + + + + + + + + Converts a `String` to a `Float`. + + The parsing rules for `parseInt` apply here as well, with the exception of invalid input + resulting in a `NaN` value instead of null. + + Additionally, decimal notation may contain a single `.` to denote the start of the fractions. + + + + + + + + + + + + + The Std class provides standard methods for manipulating basic types. + + + + + + + + + + The standard `Void` type. Only `null` values can be of the type `Void`. + + @see https://haxe.org/manual/types-void.html + + + + + ` can be used instead. + + `Std.int` converts a `Float` to an `Int`, rounded towards 0. + `Std.parseFloat` converts a `String` to a `Float`. + + @see https://haxe.org/manual/types-basic-types.html + @see https://haxe.org/manual/types-nullability.html]]> + + + + + + + + + + + ` can be used instead. + + `Std.int` converts a `Float` to an `Int`, rounded towards 0. + `Std.parseInt` converts a `String` to an `Int`. + + @see https://haxe.org/manual/types-basic-types.html + @see https://haxe.org/manual/std-math-integer-math.html + @see https://haxe.org/manual/types-nullability.html]]> + + + + + + + + + + + + Single-precision IEEE 32bit float (4-byte). + + + + + + + + + + + ` is a wrapper that can be used to make the basic types `Int`, + `Float` and `Bool` nullable on static targets. + + If null safety is enabled, only types wrapped in `Null` are nullable. + + Otherwise, it has no effect on non-basic-types, but it can be useful as a way to document + that `null` is an acceptable value for a method argument, return value or variable. + + @see https://haxe.org/manual/types-nullability.html]]> + + + + + + + + ` can be used instead. + + @see https://haxe.org/manual/types-bool.html + @see https://haxe.org/manual/types-nullability.html]]> + + + + + + + + + + `Dynamic` is a special type which is compatible with all other types. + + Use of `Dynamic` should be minimized as it prevents several compiler + checks and optimizations. See `Any` type for a safer alternative for + representing values of any type. + + @see https://haxe.org/manual/types-dynamic.html + + + + + + + + + + + Returns the current item of the `Iterator` and advances to the next one. + + This method is not required to check `hasNext()` first. A call to this + method while `hasNext()` is `false` yields unspecified behavior. + + On the other hand, iterators should not require a call to `hasNext()` + before the first call to `next()` if an element is available. + + + + Returns `false` if the iteration is complete, `true` otherwise. + + Usually iteration is considered to be complete if all elements of the + underlying data structure were handled through calls to `next()`. However, + in custom iterators any logic may be used to determine the completion + state. + + + An `Iterator` is a structure that permits iteration over elements of type `T`. + + Any class with matching `hasNext()` and `next()` fields is considered an `Iterator` + and can then be used e.g. in `for`-loops. This makes it easy to implement + custom iterators. + + @see https://haxe.org/manual/lf-iterators.html + + + + An `Iterable` is a data structure which has an `iterator()` method. + See `Lambda` for generic functions on iterable structures. + + @see https://haxe.org/manual/lf-iterators.html + + + + + + + A `KeyValueIterator` is an `Iterator` that has a key and a value. + + + + + + + A `KeyValueIterable` is a data structure which has a `keyValueIterator()` + method to iterate over key-value-pairs. + + `ArrayAccess` is used to indicate a class that can be accessed using brackets. + The type parameter represents the type of the elements stored. + + This interface should be used for externs only. Haxe does not support custom + array access on classes. However, array access can be implemented for + abstract types. + + @see https://haxe.org/manual/types-abstract-array-access.html + + + + + + + Returns the String corresponding to the character code `code`. + + If `code` is negative or has another invalid value, the result is + unspecified. + + + + The number of characters in `this` String. + + + + Returns a String where all characters of `this` String are upper case. + + + + Returns a String where all characters of `this` String are lower case. + + + + + + + Returns the character at position `index` of `this` String. + + If `index` is negative or exceeds `this.length`, the empty String `""` + is returned. + + + + + + + Returns the character code at position `index` of `this` String. + + If `index` is negative or exceeds `this.length`, `null` is returned. + + To obtain the character code of a single character, `"x".code` can be + used instead to inline the character code at compile time. Note that + this only works on String literals of length 1. + + + + + + + + Returns the position of the leftmost occurrence of `str` within `this` + String. + + If `startIndex` is given, the search is performed within the substring + of `this` String starting from `startIndex`. + + If `startIndex` exceeds `this.length`, -1 is returned. + + If `startIndex` is negative, the result is unspecifed. + + Otherwise the search is performed within `this` String. In either case, + the returned position is relative to the beginning of `this` String. + + If `str` cannot be found, -1 is returned. + + + + + + + + Returns the position of the rightmost occurrence of `str` within `this` + String. + + If `startIndex` is given, the search is performed within the substring + of `this` String from 0 to `startIndex + str.length`. Otherwise the search + is performed within `this` String. In either case, the returned position + is relative to the beginning of `this` String. + + If `startIndex` is negative, the result is unspecifed. + + If `str` cannot be found, -1 is returned. + + + + + + + Splits `this` String at each occurrence of `delimiter`. + + If `this` String is the empty String `""`, the result is not consistent + across targets and may either be `[]` (on Js, Cpp) or `[""]`. + + If `delimiter` is the empty String `""`, `this` String is split into an + Array of `this.length` elements, where the elements correspond to the + characters of `this` String. + + If `delimiter` is not found within `this` String, the result is an Array + with one element, which equals `this` String. + + If `delimiter` is null, the result is unspecified. + + Otherwise, `this` String is split into parts at each occurrence of + `delimiter`. If `this` String starts (or ends) with `delimiter`, the + result `Array` contains a leading (or trailing) empty String `""` element. + Two subsequent delimiters also result in an empty String `""` element. + + + + + + + + Returns `len` characters of `this` String, starting at position `pos`. + + If `len` is omitted, all characters from position `pos` to the end of + `this` String are included. + + If `pos` is negative, its value is calculated from the end of `this` + String by `this.length + pos`. If this yields a negative value, 0 is + used instead. + + If the calculated position + `len` exceeds `this.length`, the characters + from that position to the end of `this` String are returned. + + If `len` is negative, the result is unspecified. + + + + + + + + Returns the part of `this` String from `startIndex` to but not including `endIndex`. + + If `startIndex` or `endIndex` are negative, 0 is used instead. + + If `startIndex` exceeds `endIndex`, they are swapped. + + If the (possibly swapped) `endIndex` is omitted or exceeds + `this.length`, `this.length` is used instead. + + If the (possibly swapped) `startIndex` exceeds `this.length`, the empty + String `""` is returned. + + + + Returns the String itself. + + + + + + + Creates a copy from a given String. + + The basic String class. + + A Haxe String is immutable, it is not possible to modify individual + characters. No method of this class changes the state of `this` String. + + Strings can be constructed using the String literal syntax `"string value"`. + + String can be concatenated by using the `+` operator. If an operand is not a + String, it is passed through `Std.string()` first. + + @see https://haxe.org/manual/std-String.html + + + + + + + The length of `this` StringBuf in characters. + + + + + + + + Returns the content of `this` StringBuf as String. + + The buffer is not emptied by this operation. + + + + Creates a new StringBuf instance. + + This may involve initialization of the internal buffer. + + A String buffer is an efficient way to build a big string by appending small + elements together. + + Unlike String, an instance of StringBuf is not immutable in the sense that + it can be passed as argument to functions which modify it by appending more + values. + + + + + + + + + + ".code, "&".code, "|".code, "\n".code, "\r".code, ",".code, ";".code]]]> + Character codes of the characters that will be escaped by `quoteWinArg(_, true)`. + + + + + + + Returns a String that can be used as a single command line argument + on Unix. + The input will be quoted, or escaped if necessary. + + + + + + + + Returns a String that can be used as a single command line argument + on Windows. + The input will be quoted, or escaped if necessary, such that the output + will be parsed as a single argument using the rule specified in + http://msdn.microsoft.com/en-us/library/ms880421 + + Examples: + ```haxe + quoteWinArg("abc") == "abc"; + quoteWinArg("ab c") == '"ab c"'; + ``` + + + + + + + + + + + + + + Encode an URL by using the standard format. + + + + + + + + Decode an URL using the standard format. + + + + + + + + ` becomes `>`; + + If `quotes` is true, the following characters are also replaced: + + - `"` becomes `"`; + - `'` becomes `'`;]]> + + + + + + + ` + - `"` becomes `"` + - `'` becomes `'`]]> + + + + + + + + Tells if the string `s` starts with the string `start`. + + If `start` is `null`, the result is unspecified. + + If `start` is the empty String `""`, the result is true. + + + + + + + + Tells if the string `s` ends with the string `end`. + + If `end` is `null`, the result is unspecified. + + If `end` is the empty String `""`, the result is true. + + + + + + + + Tells if the character in the string `s` at position `pos` is a space. + + A character is considered to be a space character if its character code + is 9,10,11,12,13 or 32. + + If `s` is the empty String `""`, or if pos is not a valid position within + `s`, the result is false. + + + + + + + Removes leading space characters of `s`. + + This function internally calls `isSpace()` to decide which characters to + remove. + + If `s` is the empty String `""` or consists only of space characters, the + result is the empty String `""`. + + + + + + + Removes trailing space characters of `s`. + + This function internally calls `isSpace()` to decide which characters to + remove. + + If `s` is the empty String `""` or consists only of space characters, the + result is the empty String `""`. + + + + + + + Removes leading and trailing space characters of `s`. + + This is a convenience function for `ltrim(rtrim(s))`. + + + + + + + + + Concatenates `c` to `s` until `s.length` is at least `l`. + + If `c` is the empty String `""` or if `l` does not exceed `s.length`, + `s` is returned unchanged. + + If `c.length` is 1, the resulting String length is exactly `l`. + + Otherwise the length may exceed `l`. + + If `c` is null, the result is unspecified. + + + + + + + + + Replace all occurrences of the String `sub` in the String `s` by the + String `by`. + + If `sub` is the empty String `""`, `by` is inserted after each character + of `s` except the last one. If `by` is also the empty String `""`, `s` + remains unchanged. + + If `sub` or `by` are null, the result is unspecified. + + + + + + + + Encodes `n` into a hexadecimal representation. + + If `digits` is specified, the resulting String is padded with "0" until + its `length` equals `digits`. + + This class provides advanced methods on Strings. It is ideally used with + `using StringTools` and then acts as an [extension](https://haxe.org/manual/lf-static-extension.html) + to the `String` class. + + If the first argument to any of the methods is null, the result is + unspecified. + + + + + + + + + + + + + Prints any value to the standard output. + + + + + + + + Prints any value to the standard output, followed by a newline. + On Windows, this function outputs a CRLF newline. + LF newlines are printed on all other platforms. + + + + + Returns all the arguments that were passed in the command line. + This does not include the interpreter or the name of the program file. + + (java)(eval) On Windows, non-ASCII Unicode arguments will not work correctly. + + (cs) Non-ASCII Unicode arguments will not work correctly. + + + + + + + Returns the value of the given environment variable, or `null` if it + doesn't exist. + + + + + + + Suspends execution for the given length of time (in seconds). + + + + Gets the current working directory (usually the one in which the program was started). + + + + + + + Changes the current working directory. + + (java) This functionality is not available on Java; calling this function will throw. + + + + Returns the type of the current system. Possible values are: + - `"Windows"` + - `"Linux"` + - `"BSD"` + - `"Mac"` + + + + + + + + Runs the given command. The command output will be printed to the same output as the current process. + The current process will block until the command terminates. + The return value is the exit code of the command (usually `0` indicates no error). + + Command arguments can be passed in two ways: + + 1. Using `args` to pass command arguments. Each argument will be automatically quoted and shell meta-characters will be escaped if needed. + `cmd` should be an executable name that can be located in the `PATH` environment variable, or a full path to an executable. + + 2. When `args` is not given or is `null`, command arguments can be appended to `cmd`. No automatic quoting/escaping will be performed. `cmd` should be formatted exactly as it would be when typed at the command line. + It can run executables, as well as shell commands that are not executables (e.g. on Windows: `dir`, `cd`, `echo` etc). + + Use the `sys.io.Process` API for more complex tasks, such as background processes, or providing input to the command. + + + + + + + + Exits the current process with the given exit code. + + (macro)(eval) Being invoked in a macro or eval context (e.g. with `-x` or `--run`) immediately terminates + the compilation process, which also prevents the execution of any `--next` sections of compilation arguments. + + + This class provides access to various base functions of system platforms. + Look in the `sys` package for more system APIs. + + + + + + + + + + + + + + + + + + + + + + + + + + Returns the class of `o`, if `o` is a class instance. + + If `o` is null or of a different type, null is returned. + + In general, type parameter information cannot be obtained at runtime. + + + + + + + + `. + + If `o` is null, null is returned. + + In general, type parameter information cannot be obtained at runtime.]]> + + + + + + + + Returns the super-class of class `c`. + + If `c` has no super class, null is returned. + + If `c` is null, the result is unspecified. + + In general, type parameter information cannot be obtained at runtime. + + + + + + + + Returns the name of class `c`, including its path. + + If `c` is inside a package, the package structure is returned dot- + separated, with another dot separating the class name: + `pack1.pack2.(...).packN.ClassName` + If `c` is a sub-type of a Haxe module, that module is not part of the + package structure. + + If `c` has no package, the class name is returned. + + If `c` is null, the result is unspecified. + + The class name does not include any type parameters. + + + + + + + + Returns the name of enum `e`, including its path. + + If `e` is inside a package, the package structure is returned dot- + separated, with another dot separating the enum name: + `pack1.pack2.(...).packN.EnumName` + If `e` is a sub-type of a Haxe module, that module is not part of the + package structure. + + If `e` has no package, the enum name is returned. + + If `e` is null, the result is unspecified. + + The enum name does not include any type parameters. + + + + + + + + Resolves a class by name. + + If `name` is the path of an existing class, that class is returned. + + Otherwise null is returned. + + If `name` is null or the path to a different type, the result is + unspecified. + + The class name must not include any type parameters. + + + + + + + + Resolves an enum by name. + + If `name` is the path of an existing enum, that enum is returned. + + Otherwise null is returned. + + If `name` is null the result is unspecified. + + If `name` is the path to a different type, null is returned. + + The enum name must not include any type parameters. + + + + + + + + + Creates an instance of class `cl`, using `args` as arguments to the + class constructor. + + This function guarantees that the class constructor is called. + + Default values of constructors arguments are not guaranteed to be + taken into account. + + If `cl` or `args` are null, or if the number of elements in `args` does + not match the expected number of constructor arguments, or if any + argument has an invalid type, or if `cl` has no own constructor, the + result is unspecified. + + In particular, default values of constructor arguments are not + guaranteed to be taken into account. + + + + + + + + Creates an instance of class `cl`. + + This function guarantees that the class constructor is not called. + + If `cl` is null, the result is unspecified. + + + + + + + + + + Creates an instance of enum `e` by calling its constructor `constr` with + arguments `params`. + + If `e` or `constr` is null, or if enum `e` has no constructor named + `constr`, or if the number of elements in `params` does not match the + expected number of constructor arguments, or if any argument has an + invalid type, the result is unspecified. + + + + + + + + Returns a list of the instance fields of class `c`, including + inherited fields. + + This only includes fields which are known at compile-time. In + particular, using `getInstanceFields(getClass(obj))` will not include + any fields which were added to `obj` at runtime. + + The order of the fields in the returned Array is unspecified. + + If `c` is null, the result is unspecified. + + + + + + + + Returns a list of static fields of class `c`. + + This does not include static fields of parent classes. + + The order of the fields in the returned Array is unspecified. + + If `c` is null, the result is unspecified. + + + + + + + + Returns a list of the names of all constructors of enum `e`. + + The order of the constructor names in the returned Array is preserved + from the original syntax. + + If `e` is null, the result is unspecified. + + + + + + + + Returns the runtime type of value `v`. + + The result corresponds to the type `v` has at runtime, which may vary + per platform. Assumptions regarding this should be minimized to avoid + surprises. + + + + + + + Returns the constructor name of enum instance `e`. + + The result String does not contain any constructor arguments. + + If `e` is null, the result is unspecified. + + + + + + + Returns a list of the constructor arguments of enum instance `e`. + + If `e` has no arguments, the result is []. + + Otherwise the result are the values that were used as arguments to `e`, + in the order of their declaration. + + If `e` is null, the result is unspecified. + + The Haxe Reflection API allows retrieval of type information at runtime. + + This class complements the more lightweight Reflect class, with a focus on + class and enum instances. + + @see https://haxe.org/manual/types.html + @see https://haxe.org/manual/std-reflection.html + + + + + + + + + + + + + + The unsigned `Int` type is only defined for Flash and C#. + Simulate it for other platforms. + + @see https://haxe.org/manual/types-basic-types.html + + + + + + + + This abstract provides consistent cross-target unicode support. + + @see https://haxe.org/manual/std-UnicodeString.html + + + StringTools + + + + + The number of characters in `this` String. + + + + + + + + Returns the character code at position `index` of `this` String. + + If `index` is negative or exceeds `this.length`, `null` is returned. + + + + + + + + + Returns `len` characters of `this` String, starting at position `pos`. + + If `len` is omitted, all characters from position `pos` to the end of + `this` String are included. + + If `pos` is negative, its value is calculated from the end of `this` + String by `this.length + pos`. If this yields a negative value, 0 is + used instead. + + If the calculated position + `len` exceeds `this.length`, the characters + from that position to the end of `this` String are returned. + + If `len` is negative, the result is unspecified. + + + + + + + + + StringTools + + + + + + + The number of characters in `this` String. + + + + + + + + Returns the character code at position `index` of `this` String. + + If `index` is negative or exceeds `this.length`, `null` is returned. + + + + + + + + + Returns `len` characters of `this` String, starting at position `pos`. + + If `len` is omitted, all characters from position `pos` to the end of + `this` String are included. + + If `pos` is negative, its value is calculated from the end of `this` + String by `this.length + pos`. If this yields a negative value, 0 is + used instead. + + If the calculated position + `len` exceeds `this.length`, the characters + from that position to the end of `this` String are returned. + + If `len` is negative, the result is unspecified. + + + + + + + + + StringTools + + + + + + + + + + + + + + + + + new WiggleShader() + + + + DREAMY + + + + 0 + + + + 0 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + The raw shader bytecode for this Shader instance. + + + + Provides access to parameters, input images, and metadata for the + Shader instance. ShaderParameter objects representing parameters for + the shader, ShaderInput objects representing the input images for the + shader, and other values representing the shader's metadata are + dynamically added as properties of the `data` property object when the + Shader instance is created. Those properties can be used to introspect + the shader and to set parameter and input values. + For information about accessing and manipulating the dynamic + properties of the `data` object, see the ShaderData class description. + + + + Get or set the fragment source used when compiling with GLSL. + + This property is not available on the Flash target. + + + + "checkstyle:Dynamic" + The compiled GLProgram if available. + + This property is not available on the Flash target. + + + + Get or set the vertex source used when compiling with GLSL. + + This property is not available on the Flash target. + + + + The precision of math operations performed by the shader. + The set of possible values for the `precisionHint` property is defined + by the constants in the ShaderPrecision class. + + The default value is `ShaderPrecision.FULL`. Setting the precision to + `ShaderPrecision.FAST` can speed up math operations at the expense of + precision. + + Full precision mode (`ShaderPrecision.FULL`) computes all math + operations to the full width of the IEEE 32-bit floating standard and + provides consistent behavior on all platforms. In this mode, some math + operations such as trigonometric and exponential functions can be + slow. + + Fast precision mode (`ShaderPrecision.FAST`) is designed for maximum + performance but does not work consistently on different platforms and + individual CPU configurations. In many cases, this level of precision + is sufficient to create graphic effects without visible artifacts. + + The precision mode selection affects the following shader operations. + These operations are faster on an Intel processor with the SSE + instruction set: + + * `sin(x)` + * `cos(x)` + * `tan(x)` + * `asin(x)` + * `acos(x)` + * `atan(x)` + * `atan(x, y)` + * `exp(x)` + * `exp2(x)` + * `log(x)` + * `log2(x)` + * `pow(x, y)` + * `reciprocal(x)` + * `sqrt(x)` + + + + The compiled Program3D if available. + + This property is not available on the Flash target. + + <__alpha> + + + + <__bitmap> + + + + <__colorMultiplier> + + + + <__colorOffset> + + + + <__context> + + + + <__data> + + + + <__glFragmentSource> + + + + <__glSourceDirty> + + + + <__glVertexSource> + + + + <__hasColorTransform> + + + + <__inputBitmapData> + + + + <__isGenerated> + + + + <__matrix> + + + + <__numPasses> + + + + <__paramBool> + + + + <__paramFloat> + + + + <__paramInt> + + + + <__position> + + + + <__textureCoord> + + + + <__texture> + + + + <__textureSize> + + + + <__clearUseArray set="method" line="271"> + + + + <__createGLShader set="method" line="319"> + + + + + + + + <__createGLProgram set="method" line="338"> + + + + + + + + <__disable set="method" line="371"> + + + + <__disableGL set="method" line="379"> + + + + <__enable set="method" line="416"> + + + + <__enableGL set="method" line="426"> + + + + <__init set="method" line="446"> + + + + <__initGL set="method" line="459"> + + + + <__processGLData set="method" line="566"> + + + + + + + + <__update set="method" line="726"> + + + + <__updateFromBuffer set="method" line="734"> + + + + + + + + <__updateGL set="method" line="742"> + + + + <__updateGLFromBuffer set="method" line="768"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { code : null } + Creates a new Shader instance. + + @param code The raw shader bytecode to link to the Shader. + + + AIR Profile Support for more information regarding API support across + multiple profiles.]]> + + "tags=\"haxe,release\"" + + openfl.display3D.Context3D + openfl.display3D.Program3D + openfl.display.ShaderInput + openfl.display.ShaderParameter + openfl.utils._internal.ShaderMacro.build() + + + + + + + + + hide + + openfl.display._internal + + + + + + + hide + + openfl.display._internal + + + + + + + hide + + openfl.display._internal + + + + + + + hide + + openfl.display._internal + + + + + + + hide + + openfl.display._internal + + + + + + + hide + + openfl.display._internal + + + + + + + hide + + openfl.display._internal + + + + + + + hide + + openfl.display._internal + + + + + + + + + + + + + { code : null } + "attribute float openfl_Alpha;\n\t\tattribute vec4 openfl_ColorMultiplier;\n\t\tattribute vec4 openfl_ColorOffset;\n\t\tattribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\n\t\tvarying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform vec2 openfl_TextureSize;" + "openfl_Alphav = openfl_Alpha;\n\t\topenfl_TextureCoordv = openfl_TextureCoord;\n\n\t\tif (openfl_HasColorTransform) {\n\n\t\t\topenfl_ColorMultiplierv = openfl_ColorMultiplier;\n\t\t\topenfl_ColorOffsetv = openfl_ColorOffset / 255.0;\n\n\t\t}\n\n\t\tgl_Position = openfl_Matrix * openfl_Position;" + "#pragma header\n\n\t\tvoid main(void) {\n\n\t\t\t#pragma body\n\n\t\t}" + "varying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform vec2 openfl_TextureSize;\n\t\tuniform sampler2D bitmap;" + 0.0) {\n\n\t\t\t\tgl_FragColor = vec4 (color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\n\n\t\t\t} else {\n\n\t\t\t\tgl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tgl_FragColor = color * openfl_Alphav;\n\n\t\t}"]]> + "#pragma header\n\n\t\tvoid main(void) {\n\n\t\t\t#pragma body\n\n\t\t}" + + + + + openfl.utils._internal.ShaderMacro.build() + openfl.utils._internal.ShaderMacro.build() + "tags=\"haxe,release\"" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_camSize public="1"> + + + + + + + "\r\n\t\t#pragma header\r\n\t\t\r\n\t\tattribute float alpha;\r\n\t\tattribute vec4 colorMultiplier;\r\n\t\tattribute vec4 colorOffset;\r\n\t\tuniform bool hasColorTransform;\r\n\t\t\r\n\t\tvoid main(void)\r\n\t\t{\r\n\t\t\t#pragma body\r\n\t\t\t\r\n\t\t\topenfl_Alphav = openfl_Alpha * alpha;\r\n\t\t\t\r\n\t\t\tif (hasColorTransform)\r\n\t\t\t{\r\n\t\t\t\topenfl_ColorOffsetv = colorOffset / 255.0;\r\n\t\t\t\topenfl_ColorMultiplierv = colorMultiplier;\r\n\t\t\t}\r\n\t\t}" + 0.0)\r\n\t\t\t{\r\n\t\t\t\treturn vec4(color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\r\n\t\t\t}\r\n\t\t\treturn vec4(0.0, 0.0, 0.0, 0.0);\r\n\t\t}\r\n\r\n\t\tuniform vec4 _camSize;\r\n\r\n\t\tvec2 getCamPos(vec2 pos) {\r\n\t\t\treturn (pos * openfl_TextureSize / vec2(_camSize.z, _camSize.w)) + vec2(_camSize.x / _camSize.z, _camSize.y / _camSize.z);\r\n\t\t}\r\n\t\tvec2 camToOg(vec2 pos) {\r\n\t\t\treturn ((pos - vec2(_camSize.x / _camSize.z, _camSize.y / _camSize.z)) * vec2(_camSize.z, _camSize.w) / openfl_TextureSize);\r\n\t\t}\r\n\t\tvec4 textureCam(sampler2D bitmap, vec2 pos) {\r\n\t\t\treturn texture2D(bitmap, camToOg(pos));\r\n\t\t}\r\n\t"]]> + "\r\n\t\t#pragma header\r\n\t\t\r\n\t\tvoid main(void)\r\n\t\t{\r\n\t\t\tgl_FragColor = flixel_texture2D(bitmap, openfl_TextureCoordv);\r\n\t\t}" + + + + + openfl.utils._internal.ShaderMacro.build() + openfl.utils._internal.ShaderMacro.build() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + openfl.utils._internal.ShaderMacro.build() + openfl.utils._internal.ShaderMacro.build() + + + + + Xml node types. + + @see https://haxe.org/manual/std-Xml.html + + + + + + + + + + + + + + + + + + + + + + + + + + + + XmlType.Element + XML element type. + + + + XmlType.PCData + XML parsed character data type. + + + + XmlType.CData + XML character data type. + + + + XmlType.Comment + XML comment type. + + + + XmlType.DocType + XML doctype element type. + + + + XmlType.ProcessingInstruction + XML processing instruction type. + + + + XmlType.Document + XML document type. + + + + + + + Parses the String into an Xml document. + + + + + + + Creates a node of the given type. + + + + + + + Creates a node of the given type. + + + + + + + Creates a node of the given type. + + + + + + + Creates a node of the given type. + + + + + + + Creates a node of the given type. + + + + + + + Creates a node of the given type. + + + + Creates a node of the given type. + + + + Returns the type of the Xml Node. This should be used before + accessing other functions since some might raise an exception + if the node type is not correct. + + + + + Returns the node name of an Element. + + + + + Returns the node value. Only works if the Xml node is not an Element or a Document. + + + + Returns the parent object in the Xml hierarchy. + The parent can be `null`, an Element or a Document. + + + + + + + + + + + + Get the given attribute of an Element node. Returns `null` if not found. + Attributes are case-sensitive. + + + + + + + + Set the given attribute value for an Element node. + Attributes are case-sensitive. + + + + + + + Tells if the Element node has a given attribute. + Attributes are case-sensitive. + + + + Returns an `Iterator` on all the attribute names. + + + + Returns an iterator of all child nodes which are Elements. + Only works if the current node is an Element or a Document. + + + + + + + Returns an iterator of all child nodes which are Elements with the given nodeName. + Only works if the current node is an Element or a Document. + + + + Returns the first child node which is an Element. + + + + + + + Adds a child node to the Document or Element. + A child node can only be inside one given parent node, which is indicated by the `parent` property. + If the child is already inside this Document or Element, it will be moved to the last position among the Document or Element's children. + If the child node was previously inside a different node, it will be moved to this Document or Element. + + + + + + + Removes a child from the Document or Element. + Returns true if the child was successfuly removed. + + + + + + + + Inserts a child at the given position among the other childs. + A child node can only be inside one given parent node, which is indicated by the [parent] property. + If the child is already inside this Document or Element, it will be moved to the new position among the Document or Element's children. + If the child node was previously inside a different node, it will be moved to this Document or Element. + + + + Returns a String representation of the Xml node. + + + + + + Cross-platform Xml API. + + @see https://haxe.org/manual/std-Xml.html + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + on cpp.]]> + + + + + + <_new public="1" get="inline" set="null" line="37" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="37" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="26" static="1"> + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="26" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + "::cpp::Pointer_obj::fromRaw" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "cpp/Pointer.h" + "cpp.Pointer" + variable + + + + <_hx_getIndex public="1" set="method"> + <_hx_getTag public="1" set="method"> + <_hx_getParamCount public="1" set="method"> + <_hx_getParamI public="1" set="method"> + + + + <_hx_getParameters public="1" set="method"> + + + + + + + + + "hx.EnumBase" + + + + + "HX_INVALID_CAST" + + + + "HX_INDEX_OUT_OF_BOUNDS" + + + + "HX_INVALID_OBJECT" + + + + "HX_INVALID_ARG_COUNT" + + + + "HX_NULL_FUNCTION_POINTER" + + + + + + + + + + + + + + + + + + + + + + + + "cpp/Pointer.h" + + + + <_new public="1" get="inline" set="null" line="30" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="30" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Load and return a Cpp primitive from a DLL library. + + + + + + + + + + Tries to load, and always returns a valid function, but the function may throw + if called. + + Platform-specific Cpp Library. Provides some platform-specific functions + for the C++ target, such as conversion from Haxe types to native types + and vice-versa. + + + + + + + + + + + + "_hx_create_array_length" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "_hx_reslove_virtual_array" + + + + + + + + "_hx_array_unsafe_get" + + + + + + + + + + + "_hx_array_unsafe_set" + + + + + + + + + "_hx_array_set_size_exact" + + +
+ + + "]]> + + + + + + + + "__hxcpp_gc_mem_info" + + + + + + + + + "_hx_allocate_extended" + + + + + + + + + + "_hx_add_finalizable" + + + + + + + + "::hx::InternalNew" + + + + + + + + + + + + + + + "_hx_std_process_run" + + + + + + + + + "_hx_std_process_run" + + + + + + + + + + "_hx_std_process_stdout_read" + + + + + + + + + + "_hx_std_process_stderr_read" + + + + + + + + + + "_hx_std_process_stdin_write" + + + + + + + "_hx_std_process_stdin_close" + + + + + + + "_hx_std_process_exit" + + + + + + + "_hx_std_process_pid" + + + + + + + "_hx_std_process_kill" + + + + + + + "_hx_std_process_close" + + + + "]]> + + + + + + "_hx_std_socket_init" + + + + + + + "_hx_std_socket_new" + + + + + + + + "_hx_std_socket_new" + + + + + + + "_hx_std_socket_close" + + + + + + + + + "_hx_std_socket_bind" + + + + + + + + + "_hx_std_socket_bind_ipv6" + + + + + + + + "_hx_std_socket_send_char" + + + + + + + + + + "_hx_std_socket_send" + + + + + + + + + + "_hx_std_socket_recv" + + + + + + + "_hx_std_socket_recv_char" + + + + + + + + "_hx_std_socket_write" + + + + + + + "_hx_std_socket_read" + + + + + + + "_hx_std_host_resolve_ipv6" + + + + + + + "_hx_std_host_resolve" + + + + + + + "_hx_std_host_to_string" + + + + + + + "_hx_std_host_to_string_ipv6" + + + + + + + "_hx_std_host_reverse" + + + + + + + "_hx_std_host_reverse_ipv6" + + + + "_hx_std_host_local" + + + + + + + + + + "_hx_std_socket_connect" + + + + + + + + + "_hx_std_socket_connect_ipv6" + + + + + + + + "_hx_std_socket_listen" + + + + + + + + + + "_hx_std_socket_select" + + + + + + + + + + "_hx_std_socket_fast_select" + + + + + + + "_hx_std_socket_accept" + + + + + + + "_hx_std_socket_peer" + + + + + + + "_hx_std_socket_host" + + + + + + + + "_hx_std_socket_set_timeout" + + + + + + + + + "_hx_std_socket_shutdown" + + + + + + + + "_hx_std_socket_set_blocking" + + + + + + + + "_hx_std_socket_set_fast_send" + + + + + + + + "_hx_std_socket_set_broadcast" + + + + + + + "_hx_std_socket_poll_alloc" + + + + + + + + + "_hx_std_socket_poll_prepare" + + + + + + + + "_hx_std_socket_poll_events" + + + + + + + + + "_hx_std_socket_poll" + + + + + + + + + + + "_hx_std_socket_send_to" + + + + + + + + + + + "_hx_std_socket_recv_from" + + "]]> + + + + + + + + "_hx_ssl_debug_set" + + + + + + + "_hx_ssl_new" + + + + + + + "_hx_ssl_close" + + + + + + + "_hx_ssl_handshake" + + + + + + + + "_hx_ssl_set_socket" + + + + + + + + "_hx_ssl_set_hostname" + + + + + + + "_hx_ssl_get_peer_certificate" + + + + + + + "_hx_ssl_get_verify_result" + + + + + + + + "_hx_ssl_send_char" + + + + + + + + + + "_hx_ssl_send" + + + + + + + + "_hx_ssl_write" + + + + + + + "_hx_ssl_recv_char" + + + + + + + + + + "_hx_ssl_recv" + + + + + + + "_hx_ssl_read" + + + + + + + "_hx_ssl_conf_new" + + + + + + + "_hx_ssl_conf_close" + + + + + + + + "_hx_ssl_conf_set_ca" + + + + + + + + "_hx_ssl_conf_set_verify" + + + + + + + + + "_hx_ssl_conf_set_cert" + + + + + + + + "_hx_ssl_conf_set_servername_callback" + + + + "_hx_ssl_cert_load_defaults" + + + + + + + "_hx_ssl_cert_load_file" + + + + + + + "_hx_ssl_cert_load_path" + + + + + + + + "_hx_ssl_cert_get_subject" + + + + + + + + "_hx_ssl_cert_get_issuer" + + + + + + + "_hx_ssl_cert_get_altnames" + + + + + + + "_hx_ssl_cert_get_notbefore" + + + + + + + "_hx_ssl_cert_get_notafter" + + + + + + + "_hx_ssl_cert_get_next" + + + + + + + + "_hx_ssl_cert_add_pem" + + + + + + + + "_hx_ssl_cert_add_der" + + + + + + + + "_hx_ssl_key_from_der" + + + + + + + + + "_hx_ssl_key_from_pem" + + + + + + + + "_hx_ssl_dgst_make" + + + + + + + + + "_hx_ssl_dgst_sign" + + + + + + + + + + "_hx_ssl_dgst_verify" + + + + "_hx_ssl_init" + + "]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "__hxcpp_parse_float" + + + + + + + + + "__hxcpp_parse_substr_float" + + + + + + + "__hxcpp_parse_substr_int" + + + + + + + + + "__hxcpp_parse_substr_int" + + + + + + + + "_hx_string_compare" + + + + + + + + "_hx_utf8_char_code_at" + + + + + + + "_hx_utf8_length" + + + + + + + "_hx_utf8_is_valid" + + + + + + + + + "_hx_utf8_sub" + + + + + + + + "_hx_string_create" + + + + + + + "_hx_utf8_decode_advance" + + + + + + + + + "__hxcpp_print" + + + + + + + "__hxcpp_println" + + + + "]]> + + + + + + + + + + -1 + + + + 0xff + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 0x100 + + + + + + + + + + + + + + "::cpp::Pointer_obj::fromRaw" + + + + + + + + "::cpp::Pointer_obj::fromHandle" + + + + + + + + + + + + + + + + + + + + + + + + + "::cpp::Pointer_obj::arrayElem" + + + + + + + + + + + + "::cpp::Pointer_obj::ofArray" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + variable + + + + + + + + + "::hx::AddressOf" + + + + + + + + + + + "::hx::AddressOf" + + + + + + Allows haxe to type result correctly, and hxcpp can recognise this and + prevent unwanted casting. + reference + + + + Allows haxe to type result correctly, and hxcpp can recognise this use the + correct type. + + + + + + + + + + + + "void" + + + <_onRequest set="method" line="159" static="1"> + + + + <_onSpectate set="method" line="158" static="1"> + + + + <_onJoin set="method" line="156" static="1"> + + + + <_onError set="method" line="154" static="1"> + + + + + <_onDisconnected set="method" line="152" static="1"> + + + + + <_onReady set="method" line="150" static="1"> + + + + + + * Called once Discord has connected and is ready to start. + + + + + + + + * Called when discord has disconnected the program. + * Int is the error code, String is the error message. + + + + + + + + * Called when an error occured. + * Int is the error code, String is the error message. + + + + + + + * Called when the user has joined a game through discord. + * String is the join secret. + + + + + + + * Called when the user has spectated a game through discord. + * String is the spectate secret. + + + + + + + * Called when the user has recieved a join request. + * JoinRequest contains the userID, username, and avatar of the user. + + + + + + + * Attempts to connect to discord and initialize itself. + * @param _options - Anonymouse structure containin the start options. + + + + * Call this to process any callbacks. + + + + + + + + * Respond to a join request. + * @param _userID - The userID of the user who requested to join. + * @param _response - The reply to the request. + + + + + + + * Set the rich presence for discord. + * @param _options - All of the rich presence options. + + + + * Stops rich presence content from showing. + + + + + <_init set="method" static="1"> + + + + + + + + + + + + "linc::discord_rpc::init" + + + + + + + + + "linc::discord_rpc::process" + + + + + + + + "linc::discord_rpc::respond" + + + + + + + + + + + + + + + + + + + + + + + + + "linc::discord_rpc::update_presence" + + + + "linc::discord_rpc::shutdown" + + <_onReady get="inline" set="null" line="150" static="1"> + <_onDisconnected get="inline" set="null" line="152" static="1"> + + + + + <_onError get="inline" set="null" line="154" static="1"> + + + + + <_onJoin get="inline" set="null" line="156" static="1"> + + + + <_onSpectate get="inline" set="null" line="158" static="1"> + + + + <_onRequest get="inline" set="null" line="159" static="1"> + + + + <__touch get="inline" set="null" expr=""1.665394232e+012"" line="22" static="1"> + + "1.665394232e+012" + + + + \n"]]> + + "linc_discord_rpc.h" + linc.Linc.touch() + linc.Linc.xml("discord_rpc") + + + + + + + + + "linc_discord_rpc.h" + "DiscordJoinRequest" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + + + + + + +
+ + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * Types of flixel objects - mainly for collisions. + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_pool expr="new FlxPool<FlxPoint>(FlxPoint)" line="17" static="1"> + + (FlxPoint)]]> + + + + + + + + { Y : 0, X : 0 } + * Recycle or create a new FlxPoint. + * Be sure to put() them back into the pool after you're done with them! + * + * @param X The X-coordinate of the point in space. + * @param Y The Y-coordinate of the point in space. + * @return This point. + + + + + + + + { Y : 0, X : 0 } + * Recycle or create a new FlxPoint which will automatically be released + * to the pool when passed into a flixel function. + * + * @param X The X-coordinate of the point in space. + * @param Y The Y-coordinate of the point in space. + * @return This point. + + + + + 0 + + + + 0 + + <_weak expr="false"> + + false + + <_inPool expr="false"> + + false + + + + * Add this FlxPoint to the recycling pool. + + + + * Add this FlxPoint to the recycling pool if it's a weak reference (allocated via weak()). + + + + + + + + { Y : 0, X : 0 } + * Set the coordinates of this point. + * + * @param X The X-coordinate of the point in space. + * @param Y The Y-coordinate of the point in space. + * @return This point. + + + + + + + + { Y : 0, X : 0 } + * Adds to the coordinates of this point. + * + * @param X Amount to add to x + * @param Y Amount to add to y + * @return This point. + + + + + + + * Adds the coordinates of another point to the coordinates of this point. + * + * @param point The point to add to this point + * @return This point. + + + + + + + * Adds the coordinates of another point to the coordinates of this point. + * Meant for internal use, does not call putWeak. + * + * @param point The point to add to this point + * @return This point. + + + + + + + + { Y : 0, X : 0 } + * Subtracts from the coordinates of this point. + * + * @param X Amount to subtract from x + * @param Y Amount to subtract from y + * @return This point. + + + + + + + * Subtracts the coordinates of another point from the coordinates of this point. + * + * @param point The point to subtract from this point + * @return This point. + + + + + + + * Subtracts the coordinates of another point from the coordinates of this point. + * Meant for internal use, does not call putWeak. + * + * @param point The point to subtract from this point + * @return This point. + + + + + + + * Scale this point. + * + * @param k - scale coefficient + * @return scaled point + * @since 4.1.0 + + + + + + + * Helper function, just copies the values from the specified point. + * + * @param point Any FlxPoint. + * @return A reference to itself. + + + + + + + * Helper function, just copies the values from this point to the specified point. + * + * @param Point Any FlxPoint. + * @return A reference to the altered point parameter. + + + + + + + * Helper function, just copies the values from the specified Flash point. + * + * @param Point Any Point. + * @return A reference to itself. + + + + + + + * Helper function, just copies the values from this point to the specified Flash point. + * + * @param Point Any Point. + * @return A reference to the altered point parameter. + + + + + + + * Helper function, just increases the values of the specified Flash point by the values of this point. + * + * @param Point Any Point. + * @return A reference to the altered point parameter. + + + + + + + * Helper function, just decreases the values of the specified Flash point by the values of this point. + * + * @param Point Any Point. + * @return A reference to the altered point parameter. + + + + + + + + + + * Returns true if this point is within the given rectangular block + * + * @param RectX The X value of the region to test within + * @param RectY The Y value of the region to test within + * @param RectWidth The width of the region to test within + * @param RectHeight The height of the region to test within + * @return True if the point is within the region, otherwise false + + + + + + + * Returns true if this point is within the given rectangular block + * + * @param Rect The FlxRect to test within + * @return True if pointX/pointY is within the FlxRect, otherwise false + + + + + + + * Calculate the distance to another point. + * + * @param AnotherPoint A FlxPoint object to calculate the distance to. + * @return The distance between the two points as a Float. + + + + * Rounds x and y using Math.floor() + + + + * Rounds x and y using Math.ceil() + + + + * Rounds x and y using Math.round() + + + + + + + + * Rotates this point clockwise in 2D space around another point by the given angle. + * + * @param Pivot The pivot you want to rotate this point around + * @param Angle Rotate the point by this many degrees clockwise. + * @return A FlxPoint containing the coordinates of the rotated point. + + + + + + + * Calculates the angle between this and another point. 0 degrees points straight up. + * + * @param point The other point. + * @return The angle in degrees, between -180 and 180. + + + + "The `toVector` method is deprecated, FlxPoints can be casted to FlxVectors implicitly" + * Function to get a `FlxVector` from this `FlxPoint` + * @since 4.3.0 + + + + + + + * Function to compare this FlxPoint to another. + * + * @param point The other FlxPoint to compare to this one. + * @return True if the FlxPoints have the same x and y value, false otherwise. + + + + * Necessary for IFlxDestroyable. + + + + + + + * Applies transformation matrix to this point + * @param matrix transformation matrix + * @return transformed point + + + + * Convert object to readable string name. Useful for debugging, save games, etc. + + + + + + + * Necessary for FlxCallbackPoint. + + + + + + + * Necessary for FlxCallbackPoint. + + + + + + + + + { Y : 0, X : 0 } + + + + * Stores a 2D floating point coordinate. + + + flixel.math.FlxVector + + + + <__identity expr="new Matrix3()" line="56" static="1"> + + new Matrix3() + + + + The matrix a component, used in scaling and skewing (default is 1) + + + + The matrix b component, used in rotation and skewing (default is 0) + + + + The matrix c component, used in rotation and skewing (default is 0) + + + + The matrix d component, used in scaling and skewing (default is 1) + + + + The matrix tx component, used in translation (default is 0) + + + + The matrix ty component, used in translation (default is 0) + + + + Creates a duplicate of the current `Matrix3` + @return A duplicate `Matrix3` instance + + + + + + + Concatenates the values of a second matrix to the current + `Matrix3`, combining the effects of both. This is the same + as matrix multiplication. The second matrix is not modified. + @param m A second `Matrix3` to concatenate to the current instance + + + + + + + + Copies the `x` and `y` components from a `Vector4` instance + to the `a`/`c`, `b`/`d` or the `tx`/`ty` column of the current + matrix + @param column The column to copy into (0, 1 or 2) + @param vector4 The `Vector4` instance to copy from + + + + + + + + Copies a column of the current matrix into a `Vector4` + instance. The `w` value will not be modified. + @param column The column to copy from (0, 1 or 2) + @param vector4 The `Vector4` instance to copy to + + + + + + + Copies the values of another `Matrix3` and + applies it to the current instance + @param sourceMatrix3 The `Matrix3` to copy from + + + + + + + + Copies the values of a `Vector4` instance into a row + of the current matrix + @param row The row to copy into (0 or 1) + @param vector4 The `Vector4` instance to copy from + + + + + + + + Copies a row of the current matrix into a `Vector4` + instance. The `w` value will not be modified. + @param row The row to copy into (0, 1 or 2) + @param vector4 The `Vector4` instance to copy from + + + + + + + + + + + { ty : 0, tx : 0, rotation : 0 } + Applies a two-dimensional transformation to the current matrix. + + This is the same as calling `identity()`, `rotate()`, `scale()` + then `translate()` with these values. + @param scaleX An x scale transformation value + @param scaleY A y scale transformation value + @param rotation (Optional) A rotation value (default is 0) + @param tx (Optional) A translate x value (default is 0) + @param ty (Optional) A translate y value (default is 0) + + + + + + + + + + + { ty : 0, tx : 0, rotation : 0 } + Creates a matrix to use for a linear gradient fill + @param width The width of the gradient fill + @param height The height of the gradient fill + @param rotation (Optional) A rotation for the gradient fill (default is 0) + @param tx (Optional) An x offset for the gradient fill (default is 0) + @param ty (Optional) A y offset for the gradient fill (default is 0) + @return A new `Matrix` instance + + + + + + + Check if two matrices have the same values + @return Whether both matrices are equal + + + + + + + + { result : null } + Transforms a `Vector2` instance by the current matrix, + without considering the `tx` and `ty` values of the matrix + @param result (Optional) An existing `Vector2` instance to fill with the result + @return A new `Vector2` instance representing the transformed values + + + + Resets the matrix to default identity values + + + + Inverts the values of the current matrix + @return The current matrix instance + + + + + + + Applies rotation to the current matrix + @param theta A rotation value in degrees + + + + + + + + Scales the current matrix + @param sx The x scale to apply + @param sy The y scale to apply + + + + + + + + + { scale : 1 } + + + + + + + + + + + + + + Sets the values of the current matrix + @param a The new matrix a value + @param b The new matrix b value + @param c The new matrix c value + @param d The new matrix d value + @param tx The new matrix tx value + @param ty The new matrix ty value + + + + + + + + { roundPixels : false } + hide + + + + + + hide + + + + + + + + { result : null } + Transforms a `Rectangle` instance by the current matrix + and returns `Rectangle` with the bounds of the transformed + rectangle. + @param transform A `Matrix3` instance to transform by + @param result (Optional) A `Rectangle` instance to use for the result + @return A `Rectangle` represented the transformed bounds + + + + + + + + { result : null } + Transforms a `Vector2` instance by the current matrix + @param result (Optional) An existing `Vector2` instance to fill with the result + @return A new `Vector2` instance representing the transformed values + + + + + + + + Adjusts the `tx` and `ty` of the current matrix + @param dx The x amount to translate + @param dy The y amount to translate + + + + + + + + + + + + { ty : 0, tx : 0, d : 1, c : 0, b : 0, a : 1 } + Creates a new `Matrix` instance + @param a (Optional) An initial a component value (default is 1) + @param b (Optional) An initial b component value (default is 0) + @param c (Optional) An initial c component value (default is 0) + @param d (Optional) An initial d component value (default is 1) + @param tx (Optional) An initial tx component value (default is 0) + @param ty (Optional) An initial ty component value (default is 0) + + `Matrix3` is a 3x3 transformation matrix particularly useful for + two-dimensional transformation. It can be used for rotation, scale + and skewing of a two-dimensional object. + + Although a 3x3 matrix is represented, configurable values can be + considered as a 3x2 matrix: + + ``` + [ a, c, tx ] + [ c, d, ty ] + [ 0, 0, 1 ] + ``` + + + "tags=\"haxe,release\"" + + + + + <__identity expr="new Matrix()" line="76" static="1"> + + + new Matrix() + + + + <__pool expr="new ObjectPool<Matrix>(function() return new Matrix(), function(m) m.identity())" line="77" static="1"> + + + (function() return new Matrix(), function(m) m.identity())]]> + + + + <__matrix3 expr="new Matrix3()" line="79" static="1"> + + + new Matrix3() + + + + + + The value that affects the positioning of pixels along the _x_ axis + when scaling or rotating an image. + + + + The value that affects the positioning of pixels along the _y_ axis + when rotating or skewing an image. + + + + The value that affects the positioning of pixels along the _x_ axis + when rotating or skewing an image. + + + + The value that affects the positioning of pixels along the _y_ axis + when scaling or rotating an image. + + + + The distance by which to translate each point along the _x_ axis. + + + + The distance by which to translate each point along the _y_ axis. + + <__array> + + + + + + Returns a new Matrix object that is a clone of this matrix, with an exact + copy of the contained object. + + @return A Matrix object. + + + + + + + Concatenates a matrix with the current matrix, effectively combining the + geometric effects of the two. In mathematical terms, concatenating two + matrixes is the same as combining them using matrix multiplication. + + For example, if matrix `m1` scales an object by a factor of + four, and matrix `m2` rotates an object by 1.5707963267949 + radians(`Math.PI/2`), then `m1.concat(m2)` + transforms `m1` into a matrix that scales an object by a factor + of four and rotates the object by `Math.PI/2` radians. + + This method replaces the source matrix with the concatenated matrix. If + you want to concatenate two matrixes without altering either of the two + source matrixes, first copy the source matrix by using the + `clone()` method, as shown in the Class Examples section. + + @param m The matrix to be concatenated to the source matrix. + + + + + + + + Copies a Vector3D object into specific column of the calling Matrix3D object. + + @param column The column from which to copy the data from. + @param vector3D The Vector3D object from which to copy the data. + + + + + + + + Copies specific column of the calling Matrix object into the Vector3D object. The + `w` element of the Vector3D object will not be changed. + + @param column The column from which to copy the data from. + @param vector3D The Vector3D object from which to copy the data. + + + + + + + Copies all of the matrix data from the source Point object into the calling Matrix + object. + + @param sourceMatrix The Matrix object from which to copy the data. + + + + + + + + Copies a Vector3D object into specific row of the calling Matrix object. + + @param row The row from which to copy the data from. + @param vector3D The Vector3D object from which to copy the data. + + + + + + + + Copies specific row of the calling Matrix object into the Vector3D object. The `w` + element of the Vector3D object will not be changed. + + @param row The row from which to copy the data from. + @param vector3D The Vector3D object from which to copy the data. + + + + + + + + + + + { ty : 0, tx : 0, rotation : 0 } + Includes parameters for scaling, rotation, and translation. When + applied to a matrix it sets the matrix's values based on those + parameters. + Using the `createBox()` method lets you obtain the same matrix as you + would if you applied the `identity()`, `rotate()`, `scale()`, and + `translate()` methods in succession. For example, + `mat1.createBox(2,2,Math.PI/4, 100, 100)` has the same effect as the + following: + + ```haxe + import openfl.geom.Matrix; + + var mat1 = new Matrix(); + mat1.identity(); + mat1.rotate(Math.PI/4); + mat1.scale(2,2); + mat1.translate(10,20); + ``` + + @param scaleX The factor by which to scale horizontally. + @param scaleY The factor by which scale vertically. + @param rotation The amount to rotate, in radians. + @param tx The number of pixels to translate (move) to the right + along the _x_ axis. + @param ty The number of pixels to translate (move) down along + the _y_ axis. + + + + + + + + + + + { ty : 0, tx : 0, rotation : 0 } + Creates the specific style of matrix expected by the + `beginGradientFill()` and `lineGradientStyle()` methods of the + Graphics class. Width and height are scaled to a `scaleX`/`scaleY` + pair and the `tx`/`ty` values are offset by half the width and height. + + For example, consider a gradient with the following characteristics: + + * `GradientType.LINEAR` + * Two colors, green and blue, with the ratios array set to `[0, 255]` + * `SpreadMethod.PAD` + * `InterpolationMethod.LINEAR_RGB` + + The following illustrations show gradients in which the matrix was + defined using the `createGradientBox()` method with different + parameter settings: + + | `createGradientBox()` settings | Resulting gradient | + | --- | --- | + | `width = 25; height = 25; rotation = 0; tx = 0; ty = 0;` | ![resulting linear gradient](/images/createGradientBox-1.jpg) | + | `width = 25; height = 25; rotation = 0; tx = 25; ty = 0;` | ![resulting linear gradient](/images/createGradientBox-2.jpg) | + | `width = 50; height = 50; rotation = 0; tx = 0; ty = 0;` | ![resulting linear gradient](/images/createGradientBox-3.jpg) | + | `width = 50; height = 50; rotation = Math.PI / 4; // 45 degrees tx = 0; ty = 0;` | ![resulting linear gradient](/images/createGradientBox-4.jpg) | + + @param width The width of the gradient box. + @param height The height of the gradient box. + @param rotation The amount to rotate, in radians. + @param tx The distance, in pixels, to translate to the right + along the _x_ axis. This value is offset by half of + the `width` parameter. + @param ty The distance, in pixels, to translate down along the + _y_ axis. This value is offset by half of the `height` + parameter. + + + + + + + Given a point in the pretransform coordinate space, returns the + coordinates of that point after the transformation occurs. Unlike the + standard transformation applied using the `transformPoint()` + method, the `deltaTransformPoint()` method's transformation + does not consider the translation parameters `tx` and + `ty`. + + @param point The point for which you want to get the result of the matrix + transformation. + @return The point resulting from applying the matrix transformation. + + + + + + + + hide + + "checkstyle:FieldDocComment" + + + + + Sets each matrix property to a value that causes a null + transformation. An object transformed by applying an identity matrix + will be identical to the original. + After calling the `identity()` method, the resulting matrix has the + following properties: `a`=1, `b`=0, `c`=0, `d`=1, `tx`=0, `ty`=0. + + In matrix notation, the identity matrix looks like this: + + ![Matrix class properties in matrix notation](/images/matrix_identity.jpg) + + + + Performs the opposite transformation of the original matrix. You can apply + an inverted matrix to an object to undo the transformation performed when + applying the original matrix. + + + + + + + Applies a rotation transformation to the Matrix object. + The `rotate()` method alters the `a`, `b`, `c`, and `d` properties of + the Matrix object. In matrix notation, this is the same as + concatenating the current matrix with the following: + + ![Matrix notation of scale method parameters](/images/matrix_rotate.jpg) + + @param angle The rotation angle in radians. + + + + + + + + Applies a scaling transformation to the matrix. The _x_ axis is + multiplied by `sx`, and the _y_ axis it is multiplied by `sy`. + The `scale()` method alters the `a` and `d` properties of the Matrix + object. In matrix notation, this is the same as concatenating the + current matrix with the following matrix: + + ![Matrix notation of scale method parameters](/images/matrix_scale.jpg) + + @param sx A multiplier used to scale the object along the _x_ axis. + @param sy A multiplier used to scale the object along the _y_ axis. + + + + + + + + + { scale : 1 } + + + + + + + + + + + + + + Sets the members of Matrix to the specified values + + @param aa the values to set the matrix to. + @param ba + @param ca + @param da + @param txa + @param tya + + + + + + + + { roundPixels : false } + "checkstyle:FieldDocComment" + hide + + + + + + + "checkstyle:FieldDocComment" + hide + + + + + + Returns a text value listing the properties of the Matrix object. + + @return A string containing the values of the properties of the Matrix + object: `a`, `b`, `c`, + `d`, `tx`, and `ty`. + + + + + + + Returns the result of applying the geometric transformation represented by + the Matrix object to the specified point. + + @param point The point for which you want to get the result of the Matrix + transformation. + @return The point resulting from applying the Matrix transformation. + + + + + + + + Translates the matrix along the _x_ and _y_ axes, as specified + by the `dx` and `dy` parameters. + + @param dx The amount of movement along the _x_ axis to the right, in + pixels. + @param dy The amount of movement down along the _y_ axis, in pixels. + + + + + + + + { transpose : false } + + + + <__cleanValues get="inline" set="null" line="740"> + + + + <__toMatrix3 set="method" line="751"> + + + + <__transformInversePoint get="inline" set="null" line="758"> + + + + + + + <__transformInverseX get="inline" set="null" line="775"> + + + + + + + + <__transformInverseY get="inline" set="null" line="789"> + + + + + + + + <__transformPoint get="inline" set="null" line="803"> + + + + + + + <__transformX get="inline" set="null" line="812"> + + + + + + + + <__transformY get="inline" set="null" line="817"> + + + + + + + + <__translateTransformed get="inline" set="null" line="822"> + + + + + + + + + + + + + + + + + + { ty : 0, tx : 0, d : 1, c : 0, b : 0, a : 1 } + Creates a new Matrix object with the specified parameters. In matrix + notation, the properties are organized like this: + + ![Matrix class properties in matrix notation showing assumed values for u, v, and w](/images/matrix_props2.jpg) + + If you do not provide any parameters to the `new Matrix()` + constructor, it creates an _identity matrix_ with the following + values: + + | `a = 1` | `b = 0` | + | `c = 0` | `d = 1` | + | `tx = 0` | `ty = 0` | + + In matrix notation, the identity matrix looks like this: + + ![Matrix class properties in matrix notation](/images/matrix_identity.jpg) + + @param a The value that affects the positioning of pixels along the + _x_ axis when scaling or rotating an image. + @param b The value that affects the positioning of pixels along the + _y_ axis when rotating or skewing an image. + @param c The value that affects the positioning of pixels along the + _x_ axis when rotating or skewing an image. + @param d The value that affects the positioning of pixels along the + _y_ axis when scaling or rotating an image.. + @param tx The distance by which to translate each point along the _x_ + axis. + @param ty The distance by which to translate each point along the _y_ + axis. + + The Matrix class represents a transformation matrix that determines how to + map points from one coordinate space to another. You can perform various + graphical transformations on a display object by setting the properties of + a Matrix object, applying that Matrix object to the `matrix` property of a + Transform object, and then applying that Transform object as the + `transform` property of the display object. These transformation functions + include translation (_x_ and _y_ repositioning), rotation, scaling, and + skewing. + Together these types of transformations are known as _affine + transformations_. Affine transformations preserve the straightness of + lines while transforming, so that parallel lines stay parallel. + + To apply a transformation matrix to a display object, you create a + Transform object, set its `matrix` property to the transformation matrix, + and then set the `transform` property of the display object to the + Transform object. Matrix objects are also used as parameters of some + methods, such as the following: + + * The `draw()` method of a BitmapData object + * The `beginBitmapFill()` method, `beginGradientFill()` method, or + `lineGradientStyle()` method of a Graphics object + + A transformation matrix object is a 3 x 3 matrix with the following + contents: + + ![Matrix class properties in matrix notation](/images/matrix_props1.jpg) + + In traditional transformation matrixes, the `u`, `v`, and `w` properties + provide extra capabilities. The Matrix class can only operate in + two-dimensional space, so it always assumes that the property values `u` + and `v` are 0.0, and that the property value `w` is 1.0. The effective + values of the matrix are as follows: + + ![Matrix class properties in matrix notation showing assumed values for u, v, and w](/images/matrix_props2.jpg) + + You can get and set the values of all six of the other properties in a + Matrix object: `a`, `b`, `c`, `d`, `tx`, and `ty`. + + The Matrix class supports the four major types of transformations: + translation, scaling, rotation, and skewing. You can set three of these + transformations by using specialized methods, as described in the + following table: + + | Transformation | Method | Matrix values | Display result | Description | + | --- | --- | --- | --- | --- | + | Translation (displacement) | `translate(tx, ty)` | ![Matrix notation of translate method parameters](/images/matrix_translate.jpg) | ![Illustration of translate method effects](/images/matrix_translate_image.jpg) | Moves the image `tx` pixels to the right and `ty` pixels down. | + | Scaling | `scale(sx, sy)` | ![Matrix notation of scale method parameters](/images/matrix_scale.jpg) | ![Illustration of scale method effects](/images/matrix_scale_image.jpg) | Resizes the image, multiplying the location of each pixel by `sx` on the _x_ axis and `sy` on the _y_ axis. | + | Rotation | `rotate(q)` | ![Matrix notation of rotate method properties](/images/matrix_rotate.jpg) | ![Illustration of rotate method effects](/images/matrix_rotate_image.jpg) | Rotates the image by an angle `q`, which is measured in radians. | + | Skewing or shearing | None; must set the properties `b` and `c` | ![Matrix notation of skew function properties](/images/matrix_skew.jpg) | ![Illustration of skew function effects](/images/matrix_skew_image.jpg) | Progressively slides the image in a direction parallel to the _x_ or _y_ axis. The `b` property of the Matrix object represents the tangent of the skew angle along the _y_ axis; the `c` property of the Matrix object represents the tangent of the skew angle along the _x_ axis. | + + Each transformation function alters the current matrix properties so that + you can effectively combine multiple transformations. To do this, you call + more than one transformation function before applying the matrix to its + display object target (by using the `transform` property of that display + object). + + Use the `new Matrix()` constructor to create a Matrix object before you + can call the methods of the Matrix object. + + + "tags=\"haxe,release\"" + + + + + <__limeColorMatrix static="1"> + + + + <__pool expr="new ObjectPool<ColorTransform>(function() return new ColorTransform(), function(ct) ct.__identity())" line="59" static="1"> + + + (function() return new ColorTransform(), function(ct) ct.__identity())]]> + + + + + + A decimal value that is multiplied with the alpha transparency channel + value. + + If you set the alpha transparency value of a display object directly by + using the `alpha` property of the DisplayObject instance, it + affects the value of the `alphaMultiplier` property of that + display object's `transform.colorTransform` property. + + + + A number from -255 to 255 that is added to the alpha transparency channel + value after it has been multiplied by the `alphaMultiplier` + value. + + + + A decimal value that is multiplied with the blue channel value. + + + + A number from -255 to 255 that is added to the blue channel value after it + has been multiplied by the `blueMultiplier` value. + + + + The RGB color value for a ColorTransform object. + + When you set this property, it changes the three color offset values + (`redOffset`, `greenOffset`, and + `blueOffset`) accordingly, and it sets the three color + multiplier values(`redMultiplier`, + `greenMultiplier`, and `blueMultiplier`) to 0. The + alpha transparency multiplier and offset values do not change. + + When you pass a value for this property, use the format + 0x_RRGGBB_. _RR_, _GG_, and _BB_ each consist of two + hexadecimal digits that specify the offset of each color component. The 0x + tells the ActionScript compiler that the number is a hexadecimal + value. + + + + A decimal value that is multiplied with the green channel value. + + + + A number from -255 to 255 that is added to the green channel value after + it has been multiplied by the `greenMultiplier` value. + + + + A decimal value that is multiplied with the red channel value. + + + + A number from -255 to 255 that is added to the red channel value after it + has been multiplied by the `redMultiplier` value. + + + + + + + Concatenates the ColorTranform object specified by the `second` + parameter with the current ColorTransform object and sets the current + object as the result, which is an additive combination of the two color + transformations. When you apply the concatenated ColorTransform object, + the effect is the same as applying the `second` color + transformation after the _original_ color transformation. + + @param second The ColorTransform object to be combined with the current + ColorTransform object. + + + + Formats and returns a string that describes all of the properties of + the ColorTransform object. + + @return A string that lists all of the properties of the + ColorTransform object. + + <__clone set="method" line="213"> + + + + <__copyFrom set="method" line="218"> + + + + + + + <__combine set="method" line="231"> + + + + + + + <__identity set="method" line="244"> + + + + <__invert set="method" line="256"> + + + + <__equals set="method" line="268"> + + + + + + + + <__isDefault set="method" line="281"> + + + + + + + <__setArrays set="method" line="300"> + + + + + + + + + + + + + + + + + + + <__toLimeColorMatrix set="method" line="332"> + + + + + + + + + + + + + + + + { alphaOffset : 0, blueOffset : 0, greenOffset : 0, redOffset : 0, alphaMultiplier : 1, blueMultiplier : 1, greenMultiplier : 1, redMultiplier : 1 } + Creates a ColorTransform object for a display object with the specified + color channel values and alpha values. + + @param redMultiplier The value for the red multiplier, in the range from + 0 to 1. + @param greenMultiplier The value for the green multiplier, in the range + from 0 to 1. + @param blueMultiplier The value for the blue multiplier, in the range + from 0 to 1. + @param alphaMultiplier The value for the alpha transparency multiplier, in + the range from 0 to 1. + @param redOffset The offset value for the red color channel, in the + range from -255 to 255. + @param greenOffset The offset value for the green color channel, in + the range from -255 to 255. + @param blueOffset The offset for the blue color channel value, in the + range from -255 to 255. + @param alphaOffset The offset for alpha transparency channel value, in + the range from -255 to 255. + + The ColorTransform class lets you adjust the color values in a display + object. The color adjustment or _color transformation_ can be applied + to all four channels: red, green, blue, and alpha transparency. + + When a ColorTransform object is applied to a display object, a new value + for each color channel is calculated like this: + + + * New red value = (old red value * `redMultiplier`) + + `redOffset` + * New green value = (old green value * `greenMultiplier`) + + `greenOffset` + * New blue value = (old blue value * `blueMultiplier`) + + `blueOffset` + * New alpha value = (old alpha value * `alphaMultiplier`) + + `alphaOffset` + + + If any of the color channel values is greater than 255 after the + calculation, it is set to 255. If it is less than 0, it is set to 0. + + You can use ColorTransform objects in the following ways: + + + * In the `colorTransform` parameter of the + `colorTransform()` method of the BitmapData class + * As the `colorTransform` property of a Transform object + (which can be used as the `transform` property of a display + object) + + + You must use the `new ColorTransform()` constructor to create + a ColorTransform object before you can call the methods of the + ColorTransform object. + + Color transformations do not apply to the background color of a movie + clip(such as a loaded SWF object). They apply only to graphics and symbols + that are attached to the movie clip. + + + "tags=\"haxe,release\"" + + + + + + + + * While you can alter the zoom of each camera after the fact, + * this variable determines what value the camera will start at when created. + + + + "`FlxCamera.defaultCameras` is deprecated, use `FlxG.cameras.setDefaultDrawTarget` instead" + * Used behind-the-scenes during the draw phase so that members use the same default + * cameras as their parent. + * + * Prior to 4.9.0 it was useful to change this value, but that feature is deprecated. + * Instead use the `defaultDrawTarget` argument in `FlxG.cameras.add `. + * or`FlxG.cameras.setDefaultDrawTarget` . + * @see FlxG.cameras.setDefaultDrawTarget + + <_defaultCameras static="1"> + + + flixel.FlxBasic.get_cameras + flixel.FlxBasic.get_camera + flixel.system.frontEnds.CameraFrontEnd + flixel.group.FlxTypedGroup.draw + + * Used behind-the-scenes during the draw phase so that members use the same default + * cameras as their parent. + * + * This is the non-deprecated list that the public `defaultCameras` proxies. Allows flixel classes + * to use it without warning. + + <_storageTilesHead static="1"> + + * Draw tiles stack items that can be reused + + <_storageTrianglesHead static="1"> + + * Draw triangles stack items that can be reused + + + + ()]]> + * Internal variable, used for visibility checks to minimize `drawTriangles()` calls. + + + + new Sprite() + * Internal variable, used in blit render mode to render triangles (`drawTriangles()`) on camera's buffer. + + + + FlxPoint.get() + * Internal variables, used in blit render mode to draw trianglesSprite on camera's buffer. + * Added for less garbage creation. + + + + FlxRect.get() + + + + "`FlxCamera.defaultCameras` is deprecated, use `FlxG.cameras.setDefaultDrawTarget` instead" + + + + + + + "`FlxCamera.defaultCameras` is deprecated, use `FlxG.cameras.setDefaultDrawTarget` instead" + + + + + + + + + + + + null + * Whenever the camera should be widescreen or not. + * If null, will use the `FlxG.widescreen` variable. + + + + new FlxPoint(0, 0) + * Widescreen dimensions multipliers + * For example, if the camera is in widescreen mode and the game is in 1920x720 while the camera is in 1280x720, + * the value will be equal to `new FlxPoint(1.5, 1);`. + + + + + + + + true + * Whenever the camera follow is active. Used for pause. + + + + 0 + * The X position of this camera's display. `zoom` does NOT affect this number. + * Measured in pixels from the left side of the window. + * You might be interested in using camera's `scroll.x` instead. + + + + 0 + * The Y position of this camera's display. `zoom` does NOT affect this number. + * Measured in pixels from the top of the window. + * You might be interested in using camera's `scroll.y` instead. + + + + 0 + * The scaling on horizontal axis for this camera. + * Setting `scaleX` changes `scaleX` and x coordinate of camera's internal display objects. + + + + 0 + * The scaling on vertical axis for this camera. + * Setting `scaleY` changes `scaleY` and y coordinate of camera's internal display objects. + + + + * Product of camera's `scaleX` and game's scale mode `scale.x` multiplication. + + + + * Product of camera's scaleY and game's scale mode scale.y multiplication. + + + + + * Tells the camera to follow this FlxObject object around. + + + + FlxPoint.get() + * Offset the camera target. + + + + 1 + * Used to smoothly track the camera as it follows: + * The percent of the distance to the follow `target` the camera moves per 1/60 sec. + * Values are bounded between `0.0` and `1.0`. + * `elapsed` is used during `update` calls for consistency across framerates. + * The maximum value means no camera easing. A value of `0` means the camera does not move. + + + + * You can assign a "dead zone" to the camera in order to better control its movement. + * The camera will always keep the focus object inside the dead zone, unless it is bumping up against + * the camera bounds. The `deadzone`'s coordinates are measured from the camera's upper left corner in game pixels. + * For rapid prototyping, you can use the preset deadzones (e.g. `PLATFORMER`) with `follow()`. + + + + * Lower bound of the camera's `scroll` on the x axis. + + + + * Upper bound of the camera's `scroll` on the x axis. + + + + * Lower bound of the camera's `scroll` on the y axis. + + + + * Upper bound of the camera's `scroll` on the y axis. + + + + FlxPoint.get() + * Stores the basic parallax scrolling values. + * This is basically the camera's top-left corner position in world coordinates. + * There is also `focusOn(point:FlxPoint)` which you can use to + * make the camera look at specified point in world coordinates. + + + + * The actual `BitmapData` of the camera display itself. + * Used in blit render mode, where you can manipulate its pixels for achieving some visual effects. + + + + * The natural background color of the camera, in `AARRGGBB` format. Defaults to `FlxG.cameras.bgColor`. + * On Flash, transparent backgrounds can be used in conjunction with `useBgAlphaBlending`. + + + + * Sometimes it's easier to just work with a `FlxSprite` than it is to work directly with the `BitmapData` buffer. + * This sprite reference will allow you to do exactly that. + * Basically this sprite's `pixels` property is camera's `BitmapData` buffer. + * NOTE: This variable is used only in blit render mode. + * + * The FlxBloom demo shows how you can use this variable in blit render mode. + * @see http://haxeflixel.com/demos/FlxBloom/ + + + + false + * Whether to use alpha blending for camera's background fill or not. + * If `true` then previously drawn graphics won't be erased, + * and if camera's `bgColor` is transparent/semitransparent then you + * will be able to see graphics of the previous frame. + * Useful for blit render mode (and works only in this mode). Default value is `false`. + * + * Usage example can be seen in FlxBloom demo. + * @see http://haxeflixel.com/demos/FlxBloom/ + + + + new Sprite() + * Used to render buffer to screen space. + * NOTE: We don't recommend modifying this directly unless you are fairly experienced. + * Uses include 3D projection, advanced display list modification, and more. + * This is container for everything else that is used by camera and rendered to the camera. + * + * Its position is modified by `updateFlashSpritePosition()` which is called every frame. + + + + * Whether the positions of the objects rendered on this camera are rounded. + * If set on individual objects, they ignore the global camera setting. + * Defaults to `false` with `FlxG.renderTile` and to `true` with `FlxG.renderBlit`. + * WARNING: setting this to `false` on blitting targets is very expensive. + + + + 0 + * How wide the camera display is, in game pixels. + + + + 0 + * How tall the camera display is, in game pixels. + + + + * The zoom level of this camera. `1` = 1:1, `2` = 2x zoom, etc. + * Indicates how far the camera is zoomed in. + + + + 0 + * Difference between native size of camera and zoomed size, divided in half + * Needed to do occlusion of objects when zoom != initialZoom + + + + 0 + + + + 0 + * The size of the camera plus view offset. + * These variables are used for object visibility checks. + + + + 0 + + + + 0 + * Dimensions of area visible at current camera zoom. + + + + 0 + + <_blitMatrix expr="new FlxMatrix()"> + + new FlxMatrix() + * Helper matrix object. Used in blit render mode when camera's zoom is less than initialZoom + * (it is applied to all objects rendered on the camera at such circumstances). + + <_useBlitMatrix expr="false"> + + false + * Logical flag for tracking whether to apply _blitMatrix transformation to objects or not. + + + + 1 + * The alpha value of this camera display (a number between `0.0` and `1.0`). + + + + 0 + * The angle of the camera display (in degrees). + + + + FlxColor.WHITE + * The color tint of the camera display. + + + + false + * Whether the camera display is smooth and filtered, or chunky and pixelated. + * Default behavior is chunky-style. + + + + FlxPoint.get() + * Used to force the camera to look ahead of the target. + + + + true + * Enables or disables the filters set via `setFilters()`. + + <_flashRect> + + * Internal, used in blit render mode in camera's `fill()` method for less garbage creation. + * It represents the size of buffer `BitmapData` + * (the area of camera's buffer which should be filled with `bgColor`). + * Do not modify it unless you know what are you doing. + + <_flashPoint expr="new Point()"> + + new Point() + * Internal, used in blit render mode in camera's `fill()` method for less garbage creation: + * Its coordinates are always `(0,0)`, where camera's buffer filling should start. + * Do not modify it unless you know what are you doing. + + <_flashOffset expr="FlxPoint.get()"> + + FlxPoint.get() + * Internal, used for positioning camera's `flashSprite` on screen. + * Basically it represents position of camera's center point in game sprite. + * It's recalculated every time you resize game or camera. + * Its value depends on camera's size (`width` and `height`), game's `scale` and camera's initial zoom factor. + * Do not modify it unless you know what are you doing. + + <_fxFlashColor expr="FlxColor.TRANSPARENT"> + + FlxColor.TRANSPARENT + * Internal, represents the color of `flash()` special effect. + + <_fxFlashDuration expr="0"> + + 0 + * Internal, stores `flash()` special effect duration. + + <_fxFlashComplete expr="null"> + + null + * Internal, camera's `flash()` complete callback. + + <_fxFlashAlpha expr="0"> + + 0 + * Internal, used to control the `flash()` special effect. + + <_fxFadeColor expr="FlxColor.TRANSPARENT"> + + FlxColor.TRANSPARENT + * Internal, color of fading special effect. + + <_lastTargetPosition> + + * Used to calculate the following target current velocity. + + <_scrollTarget expr="FlxPoint.get()"> + + FlxPoint.get() + * Helper to calculate follow target current scroll. + + <_fxFadeDuration expr="0"> + + 0 + * Internal, `fade()` special effect duration. + + <_fxFadeIn expr="false"> + + false + * Internal, "direction" of the `fade()` effect. + * `true` means that camera fades from a color, `false` - camera fades to it. + + <_fxFadeComplete expr="null"> + + null + * Internal, used to control the `fade()` special effect complete callback. + + <_fxFadeCompleted expr="true"> + + true + * Internal, tracks whether fade effect is running or not. + + <_fxFadeAlpha expr="0"> + + 0 + * Internal, alpha component of fade color. + * Changes from 0 to 1 or from 1 to 0 as the effect continues. + + <_fxShakeIntensity expr="0"> + + 0 + * Internal, percentage of screen size representing the maximum distance that the screen can move while shaking. + + <_fxShakeDuration expr="0"> + + 0 + * Internal, duration of the `shake()` effect. + + <_fxShakeComplete> + + * Internal, `shake()` effect complete callback. + + <_fxShakeAxes expr="XY"> + + XY + * Internal, defines on what axes to `shake()`. Default value is `XY` / both. + + <_point expr="FlxPoint.get()"> + + FlxPoint.get() + * Internal, used for repetitive calculations and added to help avoid costly allocations. + + <_filters> + + * Internal, the filters array to be applied to the camera. + + + + 1 + * Camera's initial zoom value. Used for camera's scale handling. + + <_fill> + + * Internal helper variable for doing better wipes/fills between renders. + * Used it blit render mode only (in `fill()` method). + + <_flashBitmap> + + * Internal, used to render buffer to screen space. Used it blit render mode only. + * This Bitmap used for rendering camera's buffer (`_flashBitmap.bitmapData = buffer;`) + * Its position is modified by `updateInternalSpritePositions()`, which is called on camera's resize and scale events. + * It is a child of the `_scrollRect` `Sprite`. + + <_scrollRect expr="new Sprite()"> + + new Sprite() + * Internal sprite, used for correct trimming of camera viewport. + * It is a child of `flashSprite`. + * Its position is modified by `updateScrollRect()` method, which is called on camera's resize and scale events. + + <_bounds expr="FlxRect.get()"> + + FlxRect.get() + * Helper rect for `drawTriangles()` visibility checks + + + + * Sprite used for actual rendering in tile render mode (instead of `_flashBitmap` for blitting). + * Its graphics is used as a drawing surface for `drawTriangles()` and `drawTiles()` methods. + * It is a child of `_scrollRect` `Sprite` (which trims graphics that should be invisible). + * Its position is modified by `updateInternalSpritePositions()`, which is called on camera's resize and scale events. + + <_helperMatrix expr="new FlxMatrix()"> + + new FlxMatrix() + + <_helperPoint expr="new Point()"> + + new Point() + + <_currentDrawItem> + + * Currently used draw stack item + + <_headOfDrawStack> + + * Pointer to head of stack with draw items + + <_headTiles> + + * Last draw tiles item + + <_headTriangles> + + * Last draw triangles item + + + + * Scroll Rect (non affected by widescreen) + + + + + + + + + + + + + { smooth : false, hasColorOffsets : false } + + + + + + + + + + + + + { isColored : false, smoothing : false } + + + + + + + + + + + + + { isColored : false, smoothing : false } + + + + + + flixel.system.frontEnds.CameraFrontEnd + + + + flixel.system.frontEnds.CameraFrontEnd + + + + + + + + + + + + + { smoothing : false } + + + + + + + + + + + + + + + + { flipY : false, flipX : false, smoothing : false } + + + + + + + + + + + + + + + { smoothing : false, repeat : false } + + + + + + + * Helper method preparing debug rectangle for rendering in blit render mode + * @param rect rectangle to prepare for rendering + * @return transformed rectangle with respect to camera's zoom factor + + + + + + + * Helper method preparing debug point for rendering in blit render mode (for debug path rendering, for example) + * @param point point to prepare for rendering + * @return transformed point with respect to camera's zoom factor + + + + + + + * Helper method preparing debug vectors (relative positions) for rendering in blit render mode + * @param vector relative position to prepare for rendering + * @return transformed vector with respect to camera's zoom factor + + + + + + + * Helper method for applying transformations (scaling and offsets) + * to specified display objects which has been added to the camera display list. + * For example, debug sprite for nape debug rendering. + * @param object display object to apply transformations to. + * @return transformed object. + + + + * Clean up memory. + + + + + + + * Updates the camera scroll as well as special effects like screen-shake or fades. + + + + * Updates (bounds) the camera scroll. + * Called every frame by camera's `update()` method. + + + + + + + * Updates camera's scroll. + * Called every frame by camera's `update()` method (if camera's `target` isn't `null`). + + + + + + + + + + + + + + + + + * Recalculates `flashSprite` position. + * Called every frame by camera's `update()` method and every time you change camera's position. + + + + * Recalculates `_flashOffset` point, which is used for positioning flashSprite in the game. + * It's called every time you resize the camera or the game. + + + + * Updates `_scrollRect` sprite to crop graphics of the camera: + * 1) `scrollRect` property of this sprite + * 2) position of this sprite inside `flashSprite` + * + * It takes camera's size and game's scale into account. + * It's called every time you resize the camera or the game. + + + + + * Modifies position of `_flashBitmap` in blit render mode and `canvas` and `debugSprite` + * in tile render mode (these objects are children of `_scrollRect` sprite). + * It takes camera's size and game's scale into account. + * It's called every time you resize the camera or the game. + + + + + + + + + * Tells this camera object what `FlxObject` to track. + * + * @param Target The object you want the camera to track. Set to `null` to not follow anything. + * @param Style Leverage one of the existing "deadzone" presets. Default is `LOCKON`. + * If you use a custom deadzone, ignore this parameter and + * manually specify the deadzone after calling `follow()`. + * @param Lerp How much lag the camera should have (can help smooth out the camera movement). + + + + * Snaps the camera to the current `target`. Useful to move the camera without + * any easing when the `target` position changes and there is a `followLerp`. + + + + + + + * Move the camera focus to this location instantly. + * + * @param Point Where you want the camera to focus. + + + + + + + + + + { Force : false, Duration : 1, Color : FlxColor.WHITE } + * The screen is filled with this color and gradually returns to normal. + * + * @param Color The color you want to use. + * @param Duration How long it takes for the flash to fade. + * @param OnComplete A function you want to run when the flash finishes. + * @param Force Force the effect to reset. + + + + + + + + + + + { Force : false, FadeIn : false, Duration : 1, Color : FlxColor.BLACK } + * The screen is gradually filled with this color. + * + * @param Color The color you want to use. + * @param Duration How long it takes for the fade to finish. + * @param FadeIn `true` fades from a color, `false` fades to it. + * @param OnComplete A function you want to run when the fade finishes. + * @param Force Force the effect to reset. + + + + + + + + + + + { Force : true, Duration : 0.5, Intensity : 0.05 } + * A simple screen-shake effect. + * + * @param Intensity Percentage of screen size representing the maximum distance + * that the screen can move while shaking. + * @param Duration The length in seconds that the shaking effect should last. + * @param OnComplete A function you want to run when the shake effect finishes. + * @param Force Force the effect to reset (default = `true`, unlike `flash()` and `fade()`!). + * @param Axes On what axes to shake. Default value is `FlxAxes.XY` / both. + + + + * Just turns off all the camera effects instantly. + + + + + + + * Sets the filter array to be applied to the camera. + + + + + + + * Copy the bounds, focus object, and `deadzone` info from an existing camera. + * + * @param Camera The camera you want to copy from. + * @return A reference to this `FlxCamera` object. + + + + + + + + + + { FxAlpha : 1.0, BlendAlpha : true } + * Fill the camera with the specified color. + * + * @param Color The color to fill with in `0xAARRGGBB` hex format. + * @param BlendAlpha Whether to blend the alpha value or just wipe the previous contents. Default is `true`. + + + + flixel.system.frontEnds.CameraFrontEnd + * Internal helper function, handles the actual drawing of all the special effects. + + + + flixel.system.frontEnds.CameraFrontEnd + + + + + + + + + * Shortcut for setting both `width` and `height`. + * + * @param Width The new camera width. + * @param Height The new camera height. + + + + + + + + { Y : 0, X : 0 } + * Helper function to set the coordinates of this camera. + * Handy since it only requires one line of code. + * + * @param X The new x position. + * @param Y The new y position. + + + + + + + + + + + { UpdateWorld : false, Height : 0, Width : 0, Y : 0, X : 0 } + * Specify the bounding rectangle of where the camera is allowed to move. + * + * @param X The smallest X value of your level (usually `0`). + * @param Y The smallest Y value of your level (usually `0`). + * @param Width The largest X value of your level (usually the level width). + * @param Height The largest Y value of your level (usually the level height). + * @param UpdateWorld Whether the global quad-tree's dimensions should be updated to match (default: `false`). + + + + + + + + + + * Specify the bounds of where the camera is allowed to move. + * Set the boundary of a side to `null` to leave that side unbounded. + * + * @param MinX The minimum X value the camera can scroll to + * @param MaxX The maximum X value the camera can scroll to + * @param MinY The minimum Y value the camera can scroll to + * @param MaxY The maximum Y value the camera can scroll to + + + + + + + + * Helper function to set the scale of this camera. + * Handy since it only requires one line of code. + * + * @param X The new scale on x axis + * @param Y The new scale of y axis + + + + * Called by camera front end every time you resize the game. + * It triggers reposition of camera's internal display objects. + + + + + + + * The size and position of this camera's screen + * @since 4.11.0 + + + + + + + + + { height : 0, width : 0 } + * Checks whether this camera contains a given point or rectangle, in + * screen coordinates. + * @since 4.3.0 + + + + + + + * Checks whether this camera contains a given rectangle, in screen coordinates. + * @since 4.11.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { Zoom : 0, Height : 0, Width : 0, Y : 0, X : 0 } + * Instantiates a new camera at the specified location, with the specified size and zoom level. + * + * @param X X location of the camera's display in pixels. Uses native, 1:1 resolution, ignores zoom. + * @param Y Y location of the camera's display in pixels. Uses native, 1:1 resolution, ignores zoom. + * @param Width The width of the camera display in pixels. + * @param Height The height of the camera display in pixels. + * @param Zoom The initial zoom level of the camera. + * A zoom level of 2 will make all pixels display at 2x resolution. + + `_scrollRect:Sprite` (which is used for cropping camera's graphic, mostly in tile render mode) + * |-> `_flashBitmap:Bitmap` (its bitmapData property is buffer BitmapData, this var is used in blit render mode. + * Everything is rendered on buffer in blit render mode) + * |-> `canvas:Sprite` (its graphics is used for rendering objects in tile render mode) + * |-> `debugLayer:Sprite` (this sprite is used in tile render mode for rendering debug info, like bounding boxes)]]> + + + + * Camera has no deadzone, just tracks the focus object directly. + * Camera's deadzone is narrow but tall. + * Camera's deadzone is a medium-size square around the focus object. + * Camera's deadzone is a small square around the focus object. + * Camera will move screenwise. + * Camera has no deadzone, just tracks the focus object directly and centers it. + + + + + + + + + "" + + + + + + + * Formats the version in the format "HaxeFlixel MAJOR.MINOR.PATCH-COMMIT_SHA", + * e.g. HaxeFlixel 3.0.4. + * If this is a dev version, the git sha is included. + + + + + + + + * Helper object for semantic versioning. + * @see http://semver.org/ + + + flixel.system.macros.FlxGitSHA.buildGitSHA("flixel") + + + + + + * Gets max texture size for native targets + + + + * Helper FlxFrame object. Containing only one frame. + * Useful for drawing colored rectangles of all sizes in FlxG.renderTile mode. + + <_cache> + + + + + flixel.system.frontEnds.BitmapLogFrontEnd + + <_whitePixel> + <_lastUniqueKeyIndex expr="0"> + + 0 + + + + + + + + * New context handler. + * Regenerates tilesheets for all dumped graphics objects in the cache. + + + + * Dumps bits of all graphics in the cache. This frees some memory, but you can't read/write pixels on those graphics anymore. + * You can call undump() method for each FlxGraphic (or undumpCache()) object which will restore it again. + + + + * Restores graphics of all dumped objects in the cache. + + + + + + + * Check the local bitmap cache to see if a bitmap with this key has been loaded already. + * + * @param Key The string key identifying the bitmap. + * @return Whether or not this file can be found in the cache. + + + + + + + + + + + { Unique : false } + * Generates a new BitmapData object (a colored rectangle) and caches it. + * + * @param Width How wide the rectangle should be. + * @param Height How high the rectangle should be. + * @param Color What color the rectangle should be (0xAARRGGBB) + * @param Unique Ensures that the bitmap data uses a new slot in the cache. + * @param Key Force the cache to use a specific Key to index the bitmap. + * @return The BitmapData we just created. + + + + + + + + + { Unique : false } + * Loads a bitmap from a file, clones it if necessary and caches it. + * @param Graphic Optional FlxGraphics object to create FlxGraphic from. + * @param Frames Optional FlxFramesCollection object to create FlxGraphic from. + * @param Bitmap Optional BitmapData object to create FlxGraphic from. + * @param BitmapClass Optional Class for BitmapData to create FlxGraphic from. + * @param Str Optional String key to use for FlxGraphic instantiation. + * @param Unique Ensures that the bitmap data uses a new slot in the cache. + * @param Key Force the cache to use a specific Key to index the bitmap. + * @return The FlxGraphic we just created. + + + + + + + * Caches specified FlxGraphic object. + * + * @param graphic FlxGraphic to store in the cache. + * @return cached FlxGraphic object. + + + + + + + * Gets FlxGraphic object from this storage by specified key. + * @param key Key for FlxGraphic object (its name) + * @return FlxGraphic with the key name, or null if there is no such object + + + + + + + * Gets key from bitmap cache for specified BitmapData + * + * @param bmd BitmapData to find in cache + * @return BitmapData's key or null if there isn't such BitmapData in cache + + + + + + + * Helper method for getting cache key for FlxGraphic objects created from the class. + * + * @param source BitmapData source class. + * @return Full name for provided class. + + + + + + + + + { unique : false } + * Creates string key for further caching. + * + * @param systemKey The first string key to use as a base for a new key. It's usually a key from openfl.Assets ("assets/image.png"). + * @param userKey The second string key to use as a base for a new key. It's usually a key provided by the user + * @param unique Whether generated key should be unique or not. + * @return Created key. + + + + + + + * Gets unique key for bitmap cache + * + * @param baseKey key's prefix + * @return unique key + + + + + + + + + + + * Generates key from provided base key and information about tile size and offsets in spritesheet + * and the region of image to use as spritesheet graphics source. + * + * @param baseKey Beginning of the key. Usually it is the key for original spritesheet graphics (like "assets/tile.png") + * @param frameSize the size of tile in spritesheet + * @param frameSpacing offsets between tiles in offsets + * @param region region of image to use as spritesheet graphics source + * @return Generated key for spritesheet with inserted spaces between tiles + + + + + + + * Totally removes specified FlxGraphic object. + * @param FlxGraphic object you want to remove and destroy. + + + + + + + * Totally removes FlxGraphic object with specified key. + * @param key the key for cached FlxGraphic object. + + + + + + + + * Clears image cache (and destroys those images). + * Graphics object will be removed and destroyed only if it shouldn't persist in the cache and its useCount is 0. + + + + * Maps the entire cache as destroyable, aka must be cleared. + + + + + + + + * Completely resets bitmap cache, which means destroying ALL of the cached FlxGraphic objects. + + + + * Removes all unused graphics from cache, + * but skips graphics which should persist in cache and shouldn't be destroyed on no use. + + + + + * Internal storage system to prevent graphics from being used repeatedly in memory. + * + * Accessed via `FlxG.bitmap`. + + + + + + + + + + { Name : "" } + + + + * Clears all bitmaps + + + + + + + { Index : -1 } + * Clear one bitmap object from the log -- the last one, by default + * @param Index + + + + * Clears the bitmapLog window and adds the entire cache to it. + + + + flixel.FlxG + + * Accessed via `FlxG.bitmapLog`. + + + + + + [] + * An array listing FlxCamera objects that are used to draw stuff. + * By default flixel creates one camera the size of the screen. + * Do not edit directly, use `add` and `remove` instead. + + + + [] + * Array listing all cameras marked as default draw targets, `FlxBasics` with no + *`cameras` set will render to them. + + + + * The current (global, applies to all cameras) bgColor. + + + + + + + ()]]> + @since 4.2.0 + + + + + + + ()]]> + @since 4.2.0 + + + + + + + ()]]> + @since 4.2.0 + + + + + + + ()]]> + @since 4.2.0 + + + + + + + ()]]> + @since 4.2.0 + + + + false + * Allows you to possibly slightly optimize the rendering process IF + * you are not doing any pre-processing in your game state's draw() call. + + <_cameraRect expr="new Rectangle()"> + + new Rectangle() + * Internal helper variable for clearing the cameras each frame. + + + + + + + + { DefaultDrawTarget : true } + * Add a new camera object to the game. + * Handy for PiP, split-screen, etc. + * @see flixel.FlxBasic.cameras + * + * @param NewCamera The camera you want to add. + * @param DefaultDrawTarget Whether to add the camera to the list of default draw targets. If false, + * `FlxBasics` will not render to it unless you add it to their `cameras` list. + * @return This FlxCamera instance. + + + + + + + + { Destroy : true } + * Remove a camera from the game. + * + * @param Camera The camera you want to remove. + * @param Destroy Whether to call destroy() on the camera, default value is true. + + + + + + + + * If set to true, the camera is listed as a default draw target, meaning `FlxBasics` + * render to the specified camera if the `FlxBasic` has a null `cameras` value. + * @see flixel.FlxBasic.cameras + * + * @param camera The camera you wish to change. + * @param value If false, FlxBasics will not render to it unless you add it to their `cameras` list. + * @since 4.9.0 + + + + + + + * Dumps all the current cameras and resets to just one camera. + * Handy for doing split-screen especially. + * + * @param NewCamera Optional; specify a specific camera object to be the new main camera. + + + + + + + + + + { Force : false, Duration : 1, Color : FlxColor.WHITE } + * All screens are filled with this color and gradually return to normal. + * + * @param Color The color you want to use. + * @param Duration How long it takes for the flash to fade. + * @param OnComplete A function you want to run when the flash finishes. + * @param Force Force the effect to reset. + + + + + + + + + + + { Force : false, FadeIn : false, Duration : 1, Color : FlxColor.BLACK } + * The screen is gradually filled with this color. + * + * @param Color The color you want to use. + * @param Duration How long it takes for the fade to finish. + * @param FadeIn True fades from a color, false fades to it. + * @param OnComplete A function you want to run when the fade finishes. + * @param Force Force the effect to reset. + + + + + + + + + + + { Force : true, Duration : 0.5, Intensity : 0.05 } + * A simple screen-shake effect. + * + * @param Intensity Percentage of screen size representing the maximum distance that the screen can move while shaking. + * @param Duration The length in seconds that the shaking effect should last. + * @param OnComplete A function you want to run when the shake effect finishes. + * @param Force Force the effect to reset (default = true, unlike flash() and fade()!). + * @param Axes On what axes to shake. Default value is XY / both. + + + + flixel.FlxGame + * Called by the game object to lock all the camera buffers and clear them for the next draw pass. + + + + flixel.FlxGame + + + + flixel.FlxGame + * Called by the game object to draw the special FX and unlock all the camera buffers. + + + + + + + flixel.FlxGame + * Called by the game object to update the cameras and their tracking/special effects logic. + + + + flixel.FlxGame + * Resizes and moves cameras when the game resizes (onResize signal). + + + + + + + + + flixel.FlxG + + * Accessed via `FlxG.cameras`. + + + + + + true + * Whether the console should auto-pause or not when it's focused. + + + + true + * Whether the console should `step()` the game after a command is entered. + * Setting this to `false` allows inputting multiple console commands within the same frame. + * Use the `step()` command to step the game from the console. + * @since 4.2.0 + + + + + + + + * Register a new function to use in any command. + * + * @param FunctionAlias The name with which you want to access the function. + * @param Function The function to register. + + + + + + + + * Register a new object to use in any command. + * + * @param ObjectAlias The name with which you want to access the object. + * @param AnyObject The object to register. + + + + + + + * Register a new class to use in any command. + * + * @param cl The class to register. + + + + + + + * Register a new enum to use in any command. + * + * @param e The enum to register. + * @since 4.4.0 + + + + flixel.FlxG + + * Accessed via `FlxG.console`. + + + + + + 3 + * The amount of decimals Floats are rounded to in the debugger. + + + + [F2, GRAVEACCENT, BACKSLASH] + * The key codes used to toggle the debugger (see FlxG.keys for the keys available). + * Default keys: F2, ` and \. Set to null to deactivate. + + + + false + * Whether to draw the hitboxes of FlxObjects. + + + + new FlxSignal() + * Dispatched when `drawDebug` is changed. + + + + new FlxSignal() + * Dispatched when `visible` is changed. + * @since 4.1.0 + + + + false + + + + + + + * Change the way the debugger's windows are laid out. + * + * @param Layout The layout codes can be found in FlxDebugger, for example FlxDebugger.MICRO + + + + * Just resets the debugger windows to whatever the last selected layout was (STANDARD by default). + + + + + + + + + + + { UpdateLayout : true, ToggleMode : false } + * Create and add a new debugger button. + * + * @param Position Either LEFT, CENTER or RIGHT. + * @param Icon The icon to use for the button + * @param UpHandler The function to be called when the button is pressed. + * @param ToggleMode Whether this is a toggle button or not. + * @param UpdateLayout Whether to update the button layout. + * @return The added button. + + + + + + + + * Creates a new tracker window if there exists a tracking profile for the class / class of the object. + * By default, flixel classes like FlxBasic, FlxRect and FlxPoint are supported. + * + * @param ObjectOrClass The object or class to track + * @param WindowTitle Title of the tracker window, uses the class name by default + + + + + + + * Adds a new TrackerProfile for track(). This also overrides existing profiles. + * + * @param Profile The TrackerProfile + + + + + + + + { UpdateLayout : true } + * Removes and destroys a button from the debugger. + * + * @param Button The FlxSystemButton instance to remove. + * @param UpdateLayout Whether to update the button layout. + + + + + + + + + + + flixel.FlxGame.onFocus + + + + flixel.FlxG + + * Accessed via `FlxG.debugger`. + + + + + + [] + * A read-only list of all inputs. + + + + true + * Whether inputs are reset on state switches. + * Disable if you need persistent input states across states. + + + + + flixel.FlxGame + + + + flixel.FlxGame + + + + flixel.FlxGame + + + + + flixel.FlxGame + flixel.FlxState.resetSubState + + + + + + flixel.FlxG + + * Accessed via `FlxG.inputs`. + + + + + + + + + + + + false + * Whether everything you trace() is being redirected into the log window. + + <_standardTraceFunction> + + + + + + + + + + + + + + + + + + + + + + + + + + + + { FireOnce : false } + * Add an advanced log message to the debugger by also specifying a LogStyle. Backend to FlxG.log.add(), FlxG.log.warn(), FlxG.log.error() and FlxG.log.notice(). + * + * @param Data Any Data to log. + * @param Style The LogStyle to use, for example LogStyle.WARNING. You can also create your own by importing the LogStyle class. + * @param FireOnce Whether you only want to log the Data in case it hasn't been added already + + + + * Clears the log output. + + + + + + + + + + + + * Internal function used as a interface between trace() and add(). + * + * @param Data The data that has been traced + * @param Inf Information about the position at which trace() was called + + + + flixel.FlxG + + * Accessed via `FlxG.log`. + + + + + + + + + + Outputs `v` in a platform-dependent way. + + The second parameter `infos` is injected by the compiler and contains + information about the position where the `trace()` call was made. + + This method can be rebound to a custom function: + + var oldTrace = haxe.Log.trace; // store old function + haxe.Log.trace = function(v, ?infos) { + // handle trace + } + ... + haxe.Log.trace = oldTrace; + + If it is bound to null, subsequent calls to `trace()` will cause an + exception. + + Log primarily provides the `trace()` method, which is invoked upon a call to + `trace()` in Haxe code. + + + + + + + + + + + + + * Internal shared function to ensure an arbitrary value is in the valid range of seed values. + + <_arrayFloatHelper expr="null" line="448" static="1"> + + null + * Internal shared helper variable. Used by getObject(). + + + + 48271.0 + * Constants used in the pseudorandom number generation equation. + * These are the constants suggested by the revised MINSTD pseudorandom number generator, + * and they use the full range of possible integer values. + * + * @see http://en.wikipedia.org/wiki/Linear_congruential_generator + * @see Stephen K. Park and Keith W. Miller and Paul K. Stockmeyer (1988). + * "Technical Correspondence". Communications of the ACM 36 (7): 105–110. + + + + FlxMath.MAX_VALUE_INT + + + + 1 + * The global base random number generator seed (for deterministic behavior in recordings and saves). + * If you want, you can set the seed with an integer between 1 and 2,147,483,647 inclusive. + * Altering this yourself may break recording functionality! + + + + * Current seed used to generate new random numbers. You can retrieve this value if, + * for example, you want to store the seed that was used to randomly generate a level. + + + + * Function to easily set the global seed to a new random number. + * Please note that this function is not deterministic! + * If you call it in your game, recording may not function as expected. + * + * @return The new initial seed. + + + + + + + + + { Max : FlxMath.MAX_VALUE_INT, Min : 0 } + * Returns a pseudorandom integer between Min and Max, inclusive. + * Will not return a number in the Excludes array, if provided. + * Please note that large Excludes arrays can slow calculations. + * + * @param Min The minimum value that should be returned. 0 by default. + * @param Max The maximum value that should be returned. 2,147,483,647 by default. + * @param Excludes Optional array of values that should not be returned. + + + + + + + + + { Max : 1, Min : 0 } + * Returns a pseudorandom float value between Min (inclusive) and Max (exclusive). + * Will not return a number in the Excludes array, if provided. + * Please note that large Excludes arrays can slow calculations. + * + * @param Min The minimum value that should be returned. 0 by default. + * @param Max The maximum value that should be returned. 1 by default. + * @param Excludes Optional array of values that should not be returned. + + <_hasFloatNormalSpare expr="false"> + + false + + <_floatNormalRand1 expr="0"> + + 0 + + <_floatNormalRand2 expr="0"> + + 0 + + <_twoPI expr="Math.PI * 2"> + + Math.PI * 2 + + <_floatNormalRho expr="0"> + + 0 + + + + + + + + { StdDev : 1, Mean : 0 } + * Returns a pseudorandom float value in a statistical normal distribution centered on Mean with a standard deviation size of StdDev. + * (This uses the Box-Muller transform algorithm for gaussian pseudorandom numbers) + * + * Normal distribution: 68% values are within 1 standard deviation, 95% are in 2 StdDevs, 99% in 3 StdDevs. + * See this image: https://github.com/HaxeFlixel/flixel-demos/blob/dev/Performance/FlxRandom/normaldistribution.png + * + * @param Mean The Mean around which the normal distribution is centered + * @param StdDev Size of the standard deviation + + + + + + + { Chance : 50 } + * Returns true or false based on the chance value (default 50%). + * For example if you wanted a player to have a 30.5% chance of getting a bonus, + * call bool(30.5) - true means the chance passed, false means it failed. + * + * @param Chance The chance of receiving the value. + * Should be given as a number between 0 and 100 (effectively 0% to 100%) + * @return Whether the roll passed or not. + + + + + + + { Chance : 50 } + * Returns either a 1 or -1. + * + * @param Chance The chance of receiving a positive value. + * Should be given as a number between 0 and 100 (effectively 0% to 100%) + * @return 1 or -1 + + + + + + + * Pseudorandomly select from an array of weighted options. For example, if you passed in an array of [50, 30, 20] + * there would be a 50% chance of returning a 0, a 30% chance of returning a 1, and a 20% chance of returning a 2. + * Note that the values in the array do not have to add to 100 or any other number. + * The percent chance will be equal to a given value in the array divided by the total of all values in the array. + * + * @param WeightsArray An array of weights. + * @return A value between 0 and (SelectionArray.length - 1), with a probability equivalent to the values in SelectionArray. + + + + + + + + + + { GreyScale : false } + * Returns a random color. + * + * @param Min An optional FlxColor representing the lower bounds for the generated color. + * @param Max An optional FlxColor representing the upper bounds for the generated color. + * @param Alpha An optional value for the alpha channel of the generated color. + * @param GreyScale Whether or not to create a color that is strictly a shade of grey. False by default. + * @return A color value as a FlxColor. + + + + * Internal method to quickly generate a pseudorandom number. Used only by other functions of this class. + * Also updates the internal seed, which will then be used to generate the next pseudorandom number. + * + * @return A new pseudorandom number. + + + + 1 + * The actual internal seed. Stored as a Float value to prevent inaccuracies due to + * integer overflow in the generate() equation. + + + + + + + * Internal function to update the current seed whenever the initial seed is reset, + * and keep the initial seed's value in range. + + + + * Returns the internal seed as an integer. + + + + + + + * Sets the internal seed to an integer value. + + + + + + + * Create a new FlxRandom object. + * + * @param InitialSeed The first seed of this FlxRandom object. If ignored, a random seed will be generated. + + * A class containing a set of functions for random generation. Should be accessed via `FlxG.random`. + + + + + + + * Allows you to directly access the data container in the local shared object. + + + + * The name of the local shared object. + + + + * The path of the local shared object. + * @since 4.6.0 + + <_sharedObject> + + * The local shared object itself. + + <_onComplete> + + + + + * Internal tracker for callback function in case save takes too long. + + <_closeRequested expr="false"> + + false + * Internal tracker for save object close request. + + + + * Clean up memory. + + + + + + + + ? #` + * @param Path The full or partial path to the file that created the shared object, + * and that determines where the shared object will be stored locally. + * If you do not specify this parameter, the full path is used. + * @return Whether or not you successfully connected to the save data.]]> + + + + + + + + + + + { MinFileSize : 0 } + * A way to safely call flush() and destroy() on your save file. + * Will correctly handle storage size popups and all that good stuff. + * If you don't want to save your changes first, just call destroy() instead. + * + * @param MinFileSize If you need X amount of space for your save, specify it here. + * @param OnComplete This callback will be triggered when the data is written successfully. + * @return The result of result of the flush() call (see below for more details). + + + + + + + + + + + { MinFileSize : 0 } + * Writes the local shared object to disk immediately. Leaves the object open in memory. + * + * @param MinFileSize If you need X amount of space for your save, specify it here. + * @param OnComplete This callback will be triggered when the data is written successfully. + * @return Whether or not the data was written immediately. False could be an error OR a storage request popup. + + + + * Erases everything stored in the local shared object. + * Data is immediately erased and the object is saved that way, + * so use with caution! + * + * @return Returns false if the save object is not bound yet. + + + + + + + * Event handler for special case storage requests. + * Handles logging of errors and calling of callback. + * + * @param Result One of the result codes (PENDING, ERROR, or SUCCESS). + * @return Whether the operation was a success or not. + + + + * Handy utility function for checking and warning if the shared object is bound yet or not. + * + * @return Whether the shared object was bound yet. + + + * A class to help automate and simplify save game functionality. + * Basically a wrapper for the Flash SharedObject thing, but + * handles some annoying storage request stuff too. + + + + + + + + + + CENTER + + + + CENTER + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * The base class from which all other scale modes extend from. + * You can implement your own scale mode by extending this class and overriding the appropriate methods. + * + * The default behavior of `BaseScaleMode` matches that of `FillScaleMode`. + + + + + + + + + + + + + + + { fillScreen : false } + * @param fillScreen Whether to cut the excess side to fill the + * screen or always display everything. + + * `RatioScaleMode` is a scaling mode which maintains the game's aspect ratio. + * When you shrink or grow the window, the width and height of the game will adjust, + * either scaling the game or adding black bars as needed. + * + * This is the default scaling mode used by HaxeFlixel. + + + + + + new FlxSignal() + * Gets dispatched when a state change occurs. + * @since 4.6.0 + + + + new FlxSignal() + * @since 4.6.0 + + + + "Use preStateSwitch instead of stateSwitched" + + + + + + + ()]]> + + + + + + + + Int>()]]> + * Gets dispatched when the game is resized. + * Passes the new window width and height to callback functions. + + + + new FlxSignal() + + + + new FlxSignal() + + + + new FlxSignal() + * Gets dispatched just before the game is started (before the first state after the splash screen is created) + * @since 4.6.0 + + + + new FlxSignal() + * Gets dispatched when the game is started (first state after the splash screen). + * @since 4.6.0 + + + + "Use postGameStart instead of gameStarted" + + + + new FlxSignal() + + + + new FlxSignal() + + + + new FlxSignal() + + + + new FlxSignal() + + + + new FlxSignal() + + + + new FlxSignal() + + + + "Use preStateSwitch instead of stateSwitched" + + + + "Use postGameStart instead of gameStarted" + + + + flixel.FlxG + + * Accessed via `FlxG.signals`. + + + + + + + + + + + * Add a variable to the watch list in the debugger. + * This lets you see the value of the variable all the time. + * + * @param object A reference to any object in your game, e.g. Player or Robot or this. + * @param field The name of the variable you want to watch, in quotes, as a string: e.g. "speed" or "health". + * @param displayName Optional, display your own string instead of the class name + variable name: e.g. "enemy count". + + + + + + + + * Remove a variable from the watch list in the debugger. + * + * @param object A reference to any object in your game, e.g. Player or Robot or this. + * @param field The name of the variable you want to watch, in quotes, as a string: e.g. "speed" or "health". + + + + + + + + * Add or update a quickWatch entry to the watch list in the debugger. + * Extremely useful when called in update() functions when there + * doesn't exist a variable for a value you want to watch - so you won't have to create one. + * + * @param displayName The name of the quickWatch entry, for example `"mousePressed"`. + * @param value The new value for this entry, for example `FlxG.mouse.pressed`. + + + + + + + * Remove a quickWatch entry from the watch list of the debugger. + * + * @param displayName The name of the quickWatch entry you want to remove. + + + + + + + + * Add an expression to the watch list in the debugger. + * The expression gets evaluated with hscript, and you can see its current value all the time. + * + * @param expression A Haxe expression written as a string that will be evaluated and watched. + * @param displayName Optional, display your own string instead of the expression string: e.g. "enemy count". + * @since 4.1.0 + + + + + + + * Remove an expression from the watch list in the debugger. + * + * @param displayName The display name of the registered expression, if you supplied one, or the Haxe expression that you want to remove, in string form. + * @since 4.1.0 + + + + * Add the mouse coords to the watch window. Useful for quickly + * getting coordinates for object placement during prototyping! + + + + * Removes the mouse coords from the watch window. + + + * Accessed via `FlxG.watch`. + + + + + + false + * Whenever black bars for cameras shouldn't show up. + + + + + + + + false + * Whenever antialiasing should be forced off, even if the `antialiasing` property of the sprite is set to `true`. + + + + true + * Whether the game should be paused when focus is lost or not. Use `-D FLX_NO_FOCUS_LOST_SCREEN` + * if you only want to get rid of the default pause screen. + * Override `onFocus()` and `onFocusLost()` for your own behaviour in your state. + + + + true + * WARNING: Changing this can lead to issues with physics and the recording system. Setting this to + * `false` might lead to smoother animations (even at lower fps) at the cost of physics accuracy. + + + + 1 + * How fast or slow time should pass in the game; default is `1.0`. + + + + 6 + * How many times the quad tree should divide the world on each axis. + * Generally, sparse collisions can have fewer divisons, + * while denser collision activity usually profits from more. Default value is `6`. + + <_camera static="1"> + + * By default this just refers to the first entry in the `FlxG.cameras.list` + * array but you can do what you like with it. + + + + * By default this just refers to the first entry in the `FlxG.cameras.list` + * array but you can do what you like with it. + + + + + + + + + new FlxVersion(4, 11, 0) + * The HaxeFlixel version, in semantic versioning syntax. Use `Std.string()` + * on it to get a `String` formatted like this: `"HaxeFlixel MAJOR.MINOR.PATCH-COMMIT_SHA"`. + + + + * Internal tracker for game object. + + + + * The Flash stage object (required for event listeners). + * Will be `null` if it's not safe/useful yet. + + + + * Access the current game state from anywhere. Consider using `addChildBelowMouse()` + * if you want to add a `DisplayObject` to the stage instead of directly adding it here! + + + + * How many times you want your game to update each second. + * More updates usually means better collisions and smoother motion. + * NOTE: This is NOT the same thing as the draw framerate! + + + + * How many times you want your game to step each second. More steps usually means greater responsiveness, + * but it can also slowdown your game if the stage can't keep up with the update routine. + * NOTE: This is NOT the same thing as the update framerate! + + + + * Whether the game is running on a mobile device. + * If on HTML5, it returns `FlxG.html5.onMobile`. + * Otherwise, it checks whether the `mobile` haxedef is defined. + * @since 4.2.0 + + + + For correct text input (YoshiCrafter Engine ftw) + + + + + + + + 0 + flixel.FlxGame.updateElapsed + + * Represents the amount of time in seconds that passed since last frame. + + + + 0.1 + * Useful when the timestep is NOT fixed (i.e. variable), + * to prevent jerky movement or erratic behavior at very low fps. + * Essentially locks the framerate to a minimum value - any slower and you'll get + * slowdown instead of frameskip; default is 1/10th of a second. + + + + flixel.system.scaleModes + * The width of the screen in game pixels. Read-only, use `resizeGame()` to change. + + + + flixel.system.scaleModes + * The height of the screen in game pixels. Read-only, use `resizeGame()` to change. + + + + new RatioScaleMode() + * The scale mode the game should use. + * HaxeFlixel includes several available scale modes, which are located in `flixel.system.scaleModes`. + * However, you may also create a class which extends `BaseScaleMode`, and override its behavior according to your needs. + + + + * Use this to toggle between fullscreen and normal mode. Works on CPP, Neko and Flash. + * You can easily toggle fullscreen with e.g.: `FlxG.fullscreen = !FlxG.fullscreen;` + + + + FlxRect.get() + * The dimensions of the game world, used by the quad tree for collisions and overlap checks. + * Use `.set()` instead of creating a new object! + + + + new FlxSave() + * A `FlxSave` used internally by flixel to save sound preferences and + * the history of the console window, but no reason you can't use it for your own stuff too! + + + + new FlxRandom() + * A `FlxRandom` object which can be used to generate random numbers. + * Also used by Flixel internally. + + + + * Used for mouse input. e.g.: check if the left mouse button + * is pressed with `if (FlxG.mouse.pressed) { })` in `update()`. + + + + * Useful for devices with multitouch support. + + + + [] + * Contains all "swipes" from both mouse and touch input that have just ended. + + + + * Used for keyboard input e.g.: check if the left arrow key is + * pressed with `if (FlxG.keys.pressed.LEFT) { }` in `update()`. + + + + * Allows accessing the available gamepads. + + + + new InputFrontEnd() + * Mostly used internally, but you can use it too to reset inputs and create input classes of your own. + + + + new ConsoleFrontEnd() + * Used to register functions and objects or add new commands to the console window. + + + + new LogFrontEnd() + * Used to add messages to the log window or enable `trace()` redirection. + + + + new BitmapLogFrontEnd() + * Used to add images to the bitmap log window. + + + + new WatchFrontEnd() + * Used to add or remove things to / from the watch window. + + + + new DebuggerFrontEnd() + * Used it to show / hide the debugger, change its layout, + * activate debug drawing or change the key used to toggle it. + + + + * Contains all the functions needed for recording and replaying. + + + + new BitmapFrontEnd() + * Contains things related to bitmaps, for example regarding the `BitmapData` cache and the cache itself. + + + + new CameraFrontEnd() + * Contains things related to cameras, a list of all cameras and several effects like `flash()` or `fade()`. + + + + * Contains a list of all plugins and the functions required to `add()`, `remove()` them etc. + + + + 0 + + + + 0 + + + + 0 + + + + * Contains a list of all sounds and other things to manage or `play()` sounds. + + + + new SignalFrontEnd() + * Contains system-wide signals like `gameResized` or `preStateSwitch`. + + + + + + + + * Resizes the game within the window by reapplying the current scale mode. + + + + + + + + * Resizes the window. Only works on desktop targets (Neko, Windows, Linux, Mac). + + + + * Like hitting the reset button a game console, this will re-launch the game as if it just started. + + + + + + + * Attempts to switch from the current game state to `nextState`. + * The state switch is successful if `switchTo()` of the current `state` returns `true`. + + + + * Request a reset of the current game state. + * Calls `switchState()` with a new instance of the current `state`. + + + + + + + + + + + + + + + + + + * Call this function to see if one `FlxObject` overlaps another within `FlxG.worldBounds`. + * Can be called with one object and one group, or two groups, or two objects, + * whatever floats your boat! For maximum performance try bundling a lot of objects + * together using a `FlxGroup` (or even bundling groups together!). + * + * NOTE: does NOT take objects' `scrollFactor` into account, all overlaps are checked in world space. + * + * NOTE: this takes the entire area of `FlxTilemap`s into account (including "empty" tiles). + * Use `FlxTilemap#overlaps()` if you don't want that. + * + * @param ObjectOrGroup1 The first object or group you want to check. + * @param ObjectOrGroup2 The second object or group you want to check. If it is the same as the first, + * Flixel knows to just do a comparison within that group. + * @param NotifyCallback A function with two `FlxObject` parameters - + * e.g. `onOverlap(object1:FlxObject, object2:FlxObject)` - + * that is called if those two objects overlap. + * @param ProcessCallback A function with two `FlxObject` parameters - + * e.g. `onOverlap(object1:FlxObject, object2:FlxObject)` - + * that is called if those two objects overlap. + * If a `ProcessCallback` is provided, then `NotifyCallback` + * will only be called if `ProcessCallback` returns true for those objects! + * @return Whether any overlaps were detected. + + + + + + + + + + { AlphaTolerance : 255 } + * A pixel perfect collision check between two `FlxSprite` objects. + * It will do a bounds check first, and if that passes it will run a + * pixel perfect match on the intersecting area. Works with rotated and animated sprites. + * May be slow, so use it sparingly. + * + * @param Sprite1 The first `FlxSprite` to test against. + * @param Sprite2 The second `FlxSprite` to test again, sprite order is irrelevant. + * @param AlphaTolerance The tolerance value above which alpha pixels are included. + * Default to `255` (must be fully opaque for collision). + * @param Camera If the collision is taking place in a camera other than + * `FlxG.camera` (the default/current) then pass it here. + * @return Whether the sprites collide + + + + + + + + + + + + + * Call this function to see if one `FlxObject` collides with another within `FlxG.worldBounds`. + * Can be called with one object and one group, or two groups, or two objects, + * whatever floats your boat! For maximum performance try bundling a lot of objects + * together using a FlxGroup (or even bundling groups together!). + * + * This function just calls `FlxG.overlap` and presets the `ProcessCallback` parameter to `FlxObject.separate`. + * To create your own collision logic, write your own `ProcessCallback` and use `FlxG.overlap` to set it up. + * NOTE: does NOT take objects' `scrollFactor` into account, all overlaps are checked in world space. + * + * @param ObjectOrGroup1 The first object or group you want to check. + * @param ObjectOrGroup2 The second object or group you want to check. If it is the same as the first, + * Flixel knows to just do a comparison within that group. + * @param NotifyCallback A function with two `FlxObject` parameters - + * e.g. `onOverlap(object1:FlxObject, object2:FlxObject)` - + * that is called if those two objects overlap. + * @return Whether any objects were successfully collided/separated. + + + + + + + + { IndexModifier : 0 } + * Regular `DisplayObject`s are normally displayed over the Flixel cursor and the Flixel debugger if simply + * added to `stage`. This function simplifies things by adding a `DisplayObject` directly below mouse level. + * + * @param Child The `DisplayObject` to add + * @param IndexModifier Amount to add to the index - makes sure the index stays within bounds. + * @return The added `DisplayObject` + + + + + + + * Removes a child from the Flixel display list, if it is part of it. + * + * @param Child The `DisplayObject` to add + * @return The removed `DisplayObject` + + + + + + + + + + + + + + + + { Target : "_blank" } + * Opens a web page, by default a new tab or window. If the URL does not + * already start with `"http://"` or `"https://"`, it gets added automatically. + * + * @param URL The address of the web page. + * @param Target `"_blank"`, `"_self"`, `"_parent"` or `"_top"` + + + + + + + + + + flixel.FlxGame.new + * Called by `FlxGame` to set up `FlxG` during `FlxGame`'s constructor. + + + + + flixel.FlxGame + * Called whenever the game is reset, doesn't have to do quite as much work as the basic initialization stuff. + + + + + + + + + + + + + + + + + + + + + + + + + + * Global helper class for audio, input, the camera system, the debugger and other global properties. + + + + + + + + + + + + + + + 10 + * Framerate to use on focus lost. Default is `10`. + + + + * The sound tray display container. + + + + 0 + * Time in milliseconds that has passed (amount of "ticks" passed) since the game has started. + + + + true + * Enables or disables the filters set via `setFilters()`. + + <_gameJustStarted expr="false"> + + + false + flixel.system.FlxSplash + + * A flag for triggering the `preGameStart` and `postGameStart` "events". + + <_initialState> + + * Class type of the initial/first game state for the game, usually `MenuState` or something like that. + + <_state> + + * Current game state. + + <_total expr="0"> + + 0 + * Total number of milliseconds elapsed since game start. + + <_startTime expr="0"> + + 0 + * Time stamp of game startup. Needed on JS where `Lib.getTimer()` + * returns time stamp of current date, not the time passed since app start. + + <_accumulator> + + * Total number of milliseconds elapsed since last update loop. + * Counts down as we step through the game loop. + + <_elapsedMS> + + * Milliseconds of time since last step. + + <_stepMS> + + * Milliseconds of time per step of the game loop. e.g. 60 fps = 16ms. + + <_stepSeconds> + + * Optimization so we don't have to divide step by 1000 to get its value in seconds every frame. + + <_maxAccumulation> + + * Max allowable accumulation (see `_accumulator`). + * Should always (and automatically) be set to roughly 2x the stage framerate. + + <_lostFocus expr="false"> + + false + * Whether the game lost focus. + + <_filters> + + * The filters array to be applied to the game. + + <_inputContainer> + + + flixel.FlxG + flixel.system.frontEnds.CameraFrontEnd + + * Mouse cursor. + + <_customSoundTray expr="FlxSoundTray"> + + FlxSoundTray + * Change this after calling `super()` in the `FlxGame` constructor + * to use a customized sound tray based on `FlxSoundTray`. + + <_skipSplash expr="false"> + + false + * Whether the splash screen should be skipped. + + <_startFullscreen expr="false"> + + false + * Should we start fullscreen or not? This is useful if you want to load fullscreen settings from a + * `FlxSave` and set it when the game starts, instead of having it hard-set in your `Project.xml`. + + <_requestedState> + + * If a state change was requested, the new state object is stored here until we switch to it. + + <_resetGame expr="false"> + + false + * A flag for keeping track of whether a game reset was requested or not. + + + + + + + + + + + * Sets the filter array to be applied to the game. + + + + + + + * Used to instantiate the guts of the flixel game object once we have a valid reference to the root. + + + + + + + + + + + + + + + flixel.FlxG + + + + + + + + + + + + * Handles the `onEnterFrame` call and figures out how many updates and draw calls to do. + + + + * Internal method to create a new instance of `_initialState` and reset the game. + * This gets called when the game is created, as well as when a new state is requested. + + + + false + + <__firstSwitch expr="true"> + + true + + + + * If there is a state change requested during the update loop, + * this function handles actual destroying the old state and related processes, + * and calls creates on the new state and plugs it into the game object. + + + + + * This is the main game update logic section. + * The `onEnterFrame()` handler is in charge of calling this + * the appropriate number of times each frame. + * This block handles state changes, replays, all that good stuff. + + + + + * This function is called by `step()` and updates the actual game state. + * May be called multiple times per "frame" or draw call. + + + + + + * Goes through the game state and draws all the game objects and special effects. + + + + + + + + + + + + + + + + { StartFullscreen : false, SkipSplash : false, DrawFramerate : 60, UpdateFramerate : 60, Zoom : 1, GameHeight : 0, GameWidth : 0 } + * Instantiate a new game object. + * + * @param GameWidth The width of your game in game pixels, not necessarily final display pixels (see `Zoom`). + * If equal to `0`, the window width specified in the `Project.xml` is used. + * @param GameHeight The height of your game in game pixels, not necessarily final display pixels (see `Zoom`). + * If equal to `0`, the window height specified in the `Project.xml` is used. + * @param InitialState The class name of the state you want to create and switch to first (e.g. `MenuState`). + * @param Zoom The default level of zoom for the game's cameras (e.g. `2` = all pixels are now drawn at 2x). + * @param UpdateFramerate How frequently the game should update (default is `60` times per second). + * @param DrawFramerate Sets the actual display / draw framerate for the game (default is `60` times per second). + * @param SkipSplash Whether you want to skip the flixel splash screen with `FLX_NO_DEBUG`. + * @param StartFullscreen Whether to start the game in fullscreen mode (desktop targets only). + + * `FlxGame` is the heart of all Flixel games, and contains a bunch of basic game loops and things. + * It is a long and sloppy file that you shouldn't have to worry about too much! + * It is basically only used to create your game object in the first place, + * after that `FlxG` and `FlxState` have all the useful stuff you actually need. + + + flixel.FlxG + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { Y : 0, X : 0 } + + + + + + + ()]]> + * A `Vector` of floats where each pair of numbers is treated as a coordinate location (an x, y pair). + + + + ()]]> + * A `Vector` of integers or indexes, where every three indexes define a triangle. + + + + ()]]> + * A `Vector` of normalized coordinates used to apply texture mapping. + + + + ()]]> + + + + false + + + + + + + + + + * A very basic rendering component which uses `drawTriangles()`. + * You have access to `vertices`, `indices` and `uvtData` vectors which are used as data storages for rendering. + * The whole `FlxGraphic` object is used as a texture for this sprite. + * Use these links for more info about `drawTriangles()`: + * @see http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Graphics.html#drawTriangles%28%29 + * @see http://help.adobe.com/en_US/as3/dev/WS84753F1C-5ABE-40b1-A2E4-07D7349976C4.html + * @see http://www.flashandmath.com/advanced/p10triangles/index.html + * + * WARNING: This class is EXTREMELY slow on Flash! + + + + + + * Callback method for state open/resume event. + * @since 4.3.0 + + + + * Callback method for state close event. + + <_bgSprite> + + + * Helper sprite object for non-flash targets. Draws the background. + + <_parentState> + + + + flixel.FlxState.resetSubState + + * Helper var for `close()` so `closeSubState()` can be called on the parent. + + <_bgColor> + + + + <_created expr="false"> + + + false + + flixel.FlxState.resetSubState + + + + + + + * Closes this substate. + + + + + + + + + + + + + + + + + + { BGColor : FlxColor.TRANSPARENT } + * @param BGColor background color for this substate + + * A `FlxSubState` can be opened inside of a `FlxState`. + * By default, it also stops the parent state from updating, + * making it convenient for pause screens or menus. + + + + + [] + + + + + + + + + + + + + 0 + * Hash types for the cryptography function. Use this or HASH_SHA1 for encryptURL(). MD5 is used by default. + + + + 1 + * Hash types for the cryptography function. Use this or HASH_MD5 for encryptURL(). MD5 is used by default. + + + + -1 + * Trophy data return type, will return only non-unlocked trophies. As an alternative, can just pass in the ID of the trophy to see if it's unlocked. + + + + -2 + * Trophy data return type, will return only unlocked trophies. As an alternative, can just pass in the ID of the trophy to see if it's unlocked. + + + + HASH_MD5 + * The hash type to be used for private key encryption. Set to FlxGameJolt.HASH_MD5 or FlxGameJolt.HASH_SHA1. Default is MD5. See https://gamejolt.com/api/doc/game/ section "Signature". + + + + false + * Whether or not to log the URL that is contacted and messages returned from GameJolt. + * Useful if you're not getting the right data back. + * Only works in debug mode. + + + + * Whether or not the API has been fully initialized by passing game id, private key, and authenticating user name and token. + + + + * Internal method to verify that init() has been called on this class. Called before running functions that require game ID or private key but not user data. + * + * @return True if game ID is set, false otherwise. + + + + * Internal method to verify that this user (and game) have been authenticated. Called before running functions which require authentication. + * + * @return True if authenticated, false otherwise. + + + + * The user's GameJolt user name. Only works if you've called authUser() and/or init(), otherwise will return "No user". + + + + * The user's GameJolt user token. Only works if you've called authUser() and/or init(), otherwise will return "No token". + * Generally you should not need to mess with this. + + + + * An alternative to running authUser() and hoping for the best; this will tell you if your game was run via Quick Play, and user name and token is available. Does NOT authenticate the user data! + * + * @return True if this was run via Quick Play with user name and token available, false otherwise. + + + + * An alternative to running authUser() and hoping for the best; this will tell you if your game was run as an embedded Flash on GameJolt that has user name and token data already. Does NOT authenticate the user data! + * + * @return True if it's an embedded SWF with user name and token available, false otherwise. + + <_callBack static="1"> + + * Internal storage for a callback function, used when the URLLoader is complete. + + <_gameID expr="0" line="122" static="1"> + + 0 + * Internal storage for this game's ID. + + <_privateKey expr="""" line="130" static="1"> + + "" + * Internal storage for this game's private key. + * Do NOT store your private key as a string literal in your game! + * This can be found at https://gamejolt.com/dashboard/developer/games/achievements/GAME_ID/ where GAME_ID is your unique game ID number. + * Each game has a unique private key; you cannot use one key for all of your games. + + <_userName static="1"> + + * Internal storage for this user's username. Can be retrieved automatically if Flash or QuickPlay. + + <_userToken static="1"> + + * Internal storage for this user's token. Can be retrieved automatically if Flash or QuickPlay. + + <_idURL static="1"> + + * Internal storage for the most common URL elements: the gameID, user name, and user token. + + <_initialized expr="false" line="150" static="1"> + + false + * Set to true once game ID, user name, user token have been set and user name and token have been verified. + + <_verifyAuth expr="false" line="155" static="1"> + + false + * Internal tracker for authenticating user data. + + <_getImage expr="false" line="160" static="1"> + + false + * Internal tracker for getting bitmapdata for a trophy image. + + <_loader static="1"> + + * URLLoader object for sending URL requests. + + + + + + + ()]]> + * A string map that contains what is returned from GameJolt servers. + + + + "https://gamejolt.com/api/game/v1/" + * Various common strings required by the API's https values. + + + + "?format=keypair" + + + + + + + + + + + + + + + + + + + + + + + + { AutoAuth : false } + * Initialize this class by storing the GameID and private key. + * You must call this function first for many of the other functions to work. + * To enable user-specific functions, call authUser() afterward, or set AutoAuth to true. + * + * @param GameID The unique game ID associated with this game on GameJolt. You must create a game profile on GameJolt to get this number. + * @param PrivateKey Your private key. You must have a developer account on GameJolt to have this number. Do NOT store this as plaintext in your game! + * @param AutoAuth Call authUser after init() has run to authenticate user data. + * @param UserName The username to authenticate, if AutoAuth is true. If you set AutoAuth to true but don't put a value here, FlxGameJolt will attempt to get the user data automatically, which will only work for Flash embedded on GameJolt, or games run via Quick Play. + * @param UserToken The user token to authenticate, if AutoAuth is true. If you set AutoAuth to true but don't put a value here, FlxGameJolt will attempt to get the user data automatically, which will only work for Flash embedded on GameJolt, or games run via Quick Play. + * @param Callback An optional callback function, which is only used if AutoAuth is set to true. Will return true if authentication was successful, false otherwise. + + + + + + + + + + whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]> + + + + + + + + + * Verify user data. Must be called before any user-specific functions, and after init(). Will set initialized to true if successful. + * + * @see https://gamejolt.com/api/doc/game/users/auth/ + * @param UserName A user name. Leave null to automatically pull user data (only works for embedded Flash on GameJolt or Quick Play). Usernames can only have letters, numbers, hyphens (-) and underscores (_), and must be 3-30 characters long. + * @param UserToken A user token. Players enter this instead of a password to enable highscores, trophies, etc. Leave null to automatically pull user data (only works for embedded Flash on GameJolt or Quick Play). User tokens can only have letters and numbers, and must be 4-30 characters long. + * @param Callback An optional callback function. Will return true if authentication was successful, false otherwise. + + + + + + + whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]> + + + + + + + + { Active : true } + whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]> + + + + + + + whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]> + + + + + + + + { DataType : 0 } + whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]> + + + + + + + + / in the right-hand column. + * @param Callback An optional callback function. Will return a Map whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]> + + + + + + + + + whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]> + + + + + + + + + + + + + { AllowGuest : false } + whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]> + + + + + + + whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]> + + + + + + + + + { User : true } + whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]> + + + + + + + + + + { User : true } + whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]> + + + + + + + + + + + { User : true } + whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]> + + + + + + + + + { User : true } + whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]> + + + + + + + + { User : true } + whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]> + + + + + + + + * A generic internal function to setup and send a URLRequest. All of the functions that interact with the API use this. + * + * @param URLString The URL to send to. Usually formatted as the API url, section of the API (e.g. "trophies/") and then variables to pass (e.g. user name, trophy ID). + * @param Callback A function to call when loading is done and data is parsed. + + + + + + + when done. + * However, if we're getting an image, a second URLRequest is called, and that will be done first. + * Or, if we're authenticating the user, the verifyAuthentication function will be called instead. + * + * @param The URLLoader complete event.]]> + + + + + + + + + + * Internal function to evaluate whether or not a user was successfully authenticated and store the result in _initialized. If authentication failed, the tentative user name and token are nulled. + * + * @param ReturnMap The data received back from GameJolt. This should be {"success"="true"} if authenticated, or {"success"="false"} otherwise. + + + + + + + + + * Function to authenticate a new user, to be used when a user has already been authenticated but you'd like to authenticate a new one. + * If you just try to run authUser after a user has been authenticated, it will fail. + * + * @param UserName The user's name. + * @param UserToken The user's token. + * @param Callback An optional callback function. Will return true if authentication was successful, false otherwise. + + + + + + + + + + + * An easy-to-use function that returns the image associated with a trophy as BitmapData. + * All trophy images will be 75px by 75px. + * + * @param ID The ID of the trophy whose image you want to get. + * @param Callback An optional callback function. Must take a BitmapData object as a parameter. + + + + + + + + + + * An easy-to-use function that returns the user's avatar image as BitmapData. + * Requires that you've authenticated the user's data. + * All user images will be 60px by 60px. + * + * @param Callback An optional callback function. Must take a BitmapData object as a parameter. + + + + + + + + + + * Internal function that uses the image_url or avatar_url element from GameJolt to start a Loader that will retrieve the desired image. + + + + + + + * Internal function to send the image_url or avatar_url content to the callback function as BitmapData. + + + + + + + + + + + + + + + + Click on your game under "Manage Games" -> Click on "Achievements" in the menu. + * FlxGameJolt.init(gameid, keystring); // Use this if your game is embedded as Flash on GameJolt's site, or run via Quick Play.]]> + + + + <_ppoint> + <_scrollW expr="0"> + + 0 + + <_scrollH expr="0"> + + 0 + + <_repeatX expr="false"> + + false + + <_repeatY expr="false"> + + false + + <_spaceX expr="0"> + + 0 + + <_spaceY expr="0"> + + 0 + + <_tileFrame> + + * Frame used for tiling + + <_tileInfo> + <_numTiles expr="0"> + + 0 + + + + true + * Try to eliminate 1 px gap between tiles in tile render mode by increasing tile scale, + * so the tile will look one pixel wider than it is. + + + + + + + + + + + + + { Unique : false, Height : 0, Width : 0, Animated : false } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { SpaceY : 0, SpaceX : 0, RepeatY : true, RepeatX : true, ScrollY : 1, ScrollX : 1 } + * Creates an instance of the FlxBackdrop class, used to create infinitely scrolling backgrounds. + * + * @param Graphic The image you want to use for the backdrop. + * @param ScrollX Scrollrate on the X axis. + * @param ScrollY Scrollrate on the Y axis. + * @param RepeatX If the backdrop should repeat on the X axis. + * @param RepeatY If the backdrop should repeat on the Y axis. + * @param SpaceX Amount of spacing between tiles on the X axis + * @param SpaceY Amount of spacing between tiles on the Y axis + + * Used for showing infinitely scrolling backgrounds. + * @author Chevy Ray + + + + + + + * Used by FlxMouseControl when multiple sprites overlap and register clicks, and you need to determine which sprite has priority + + + + false + * If the mouse currently pressed down on this sprite? + + + + false + * Is this sprite allowed to be clicked? + + + + false + * Is this sprite allowed to be thrown? + + + + * An FlxRect region of the game world within which the sprite is restricted during mouse drag + + + + * An FlxSprite the bounds of which this sprite is restricted during mouse drag + + + + false + * Does this sprite have gravity applied to it? + + + + * The x axis gravity influence + + + + * The y axis gravity influence + + + + * Determines how quickly the Sprite come to rest on the walls if the sprite has x gravity enabled + + + + * Determines how quickly the Sprite come to rest on the ground if the sprite has y gravity enabled + + + + * If the velocity.x of this sprite falls between zero and this amount, then the sprite will come to a halt (have velocity.x set to zero) + + + + * If the velocity.y of this sprite falls between zero and this amount, then the sprite will come to a halt (have velocity.y set to zero) + + + + false + * Is this sprite being dragged by the mouse or not? + + + + false + * Is this sprite allowed to be dragged by the mouse? true = yes, false = no + + + + true + * Will the Mouse Spring be active always (false) or only when pressed (true) + + + + * By default the spring attaches to the top left of the sprite. To change this location provide an x offset (in pixels) + + + + * By default the spring attaches to the top left of the sprite. To change this location provide a y offset (in pixels) + + + + * Function called when the mouse is pressed down on this sprite. Function is passed these parameters: obj:FlxExtendedSprite, x:int, y:int + + + + * Function called when the mouse is released from this sprite. Function is passed these parameters: obj:FlxExtendedSprite, x:int, y:int + + + + * The MouseSpring object which is used to tie this sprite to the mouse + + + + * Function called when the mouse starts to drag this sprite. Function is passed these parameters: obj:FlxExtendedSprite, x:int, y:int + + + + * Function called when the mouse stops dragging this sprite. Function is passed these parameters: obj:FlxExtendedSprite, x:int, y:int + + + + false + * Is this sprite using a mouse spring? + + + + * The number of clicks this item has received. Usually you'd only set it to zero. + + + + * The spring x coordinate in game world space. Consists of sprite.x + springOffsetX + + + + * The spring y coordinate in game world space. Consists of sprite.y + springOffsetY + + + + * A FlxPoint consisting of this sprites world x/y coordinates + + + + * Returns a FlxRect consisting of the bounds of this Sprite. + + + + * Return true if the mouse is over this Sprite, otherwise false. Only takes the Sprites bounding box into consideration and does not check if there + * are other sprites potentially on-top of this one. Check the value of this.isPressed if you need to know if the mouse is currently clicked on this sprite. + + + + * Returns how many horizontal pixels the mouse pointer is inside this sprite from the top left corner. Returns -1 if outside. + + + + * Returns how many vertical pixels the mouse pointer is inside this sprite from the top left corner. Returns -1 if outside. + + <_snapOnDrag expr="false"> + + false + + <_snapOnRelease expr="false"> + + false + + <_snapX> + <_snapY> + <_clickOnRelease expr="false"> + + false + + <_clickPixelPerfect expr="false"> + + false + + <_clickPixelPerfectAlpha> + <_clickCounter expr="0"> + + 0 + + <_throwXFactor> + <_throwYFactor> + <_dragPixelPerfect expr="false"> + + false + + <_dragPixelPerfectAlpha> + <_dragOffsetX> + <_dragOffsetY> + <_dragFromPoint> + <_allowHorizontalDrag expr="true"> + + true + + <_allowVerticalDrag expr="true"> + + true + + + + + + + + + { AlphaThreshold : 255, PixelPerfect : false } + * Allow this Sprite to receive mouse clicks, the total number of times this sprite is clicked is stored in this.clicks + * You can add callbacks via mousePressedCallback and mouseReleasedCallback + * + * @param OnRelease Register the click when the mouse is pressed down (false) or when it's released (true). Note that callbacks still fire regardless of this setting. + * @param PixelPerfect If true it will use a pixel perfect test to see if you clicked the Sprite. False uses the bounding box. + * @param AlphaThreshold If using pixel perfect collision this specifies the alpha level from 0 to 255 above which a collision is processed (default 255) + + + + * Stops this sprite from checking for mouse clicks and clears any set callbacks + + + + + + + + + + + { AlphaThreshold : 255, PixelPerfect : false, LockCenter : false } + * Make this Sprite draggable by the mouse. You can also optionally set mouseStartDragCallback and mouseStopDragCallback + * + * @param LockCenter If false the Sprite will drag from where you click it. If true it will center itself to the tip of the mouse pointer. + * @param PixelPerfect If true it will use a pixel perfect test to see if you clicked the Sprite. False uses the bounding box. + * @param AlphaThreshold If using pixel perfect collision this specifies the alpha level from 0 to 255 above which a collision is processed (default 255) + * @param BoundsRect If you want to restrict the drag of this sprite to a specific FlxRect, pass the FlxRect here, otherwise it's free to drag anywhere + * @param BoundsSprite If you want to restrict the drag of this sprite to within the bounding box of another sprite, pass it here + + + + * Stops this sprite from being able to be dragged. If it is currently the target of + * an active drag it will be stopped immediately. Also disables any set callbacks. + + + + + + + + * Make this Sprite throwable by the mouse. The sprite is thrown only when the mouse button is released. + * + * @param FactorX The sprites velocity is set to FlxMouseControl.speedX * xFactor. Try a value around 50+ + * @param FactorY The sprites velocity is set to FlxMouseControl.speedY * yFactor. Try a value around 50+ + + + + * Stops this sprite from being able to be thrown. If it currently has velocity this is NOT removed from it. + + + + + + + + + + { OnRelease : false, OnDrag : true } + * Make this Sprite snap to the given grid either during drag or when it's released. + * For example 16x16 as the snapX and snapY would make the sprite snap to every 16 pixels. + * + * @param SnapX The width of the grid cell in pixels + * @param SnapY The height of the grid cell in pixels + * @param OnDrag If true the sprite will snap to the grid while being dragged + * @param OnRelease If true the sprite will snap to the grid when released + + + + * Stops the sprite from snapping to a grid during drag or release. + + + + + + + + + + + { Gravity : 0, Friction : 0.95, Tension : 0.1, RetainVelocity : false, OnPressed : true } + * Adds a simple spring between the mouse and this Sprite. The spring can be activated either when the mouse is pressed (default), or enabled all the time. + * Note that nearly always the Spring will over-ride any other motion setting the sprite has (like velocity or gravity) + * + * @param OnPressed True if the spring should only be active when the mouse is pressed down on this sprite + * @param RetainVelocity True to retain the velocity of the spring when the mouse is released, or false to clear it + * @param Tension The tension of the spring, smaller numbers create springs closer to the mouse pointer + * @param Friction The friction applied to the spring as it moves + * @param Gravity The gravity controls how far "down" the spring hangs (use a negative value for it to hang up!) + * @return The FlxMouseSpring object if you wish to perform further chaining on it. Also available via FlxExtendedSprite.mouseSpring + + + + * Stops the sprite to mouse spring from being active + + + + + + + + { AllowVerticalDrag : true, AllowHorizontalDrag : true } + * Restricts this sprite to drag movement only on the given axis. Note: If both are set to false the sprite will never move! + * + * @param AllowHorizontalDrag To enable the sprite to be dragged horizontally set to true, otherwise false + * @param AllowVerticalDrag To enable the sprite to be dragged vertically set to true, otherwise false + + + + + + + * Core update loop + + + + * Called by update, applies friction if the sprite has gravity to stop jittery motion when slowing down + + + + * Updates the Mouse Drag on this Sprite. + + + + * Checks if the mouse is over this sprite and pressed, then does a pixel + * perfect check if needed and adds it to the FlxMouseControl check stack. + + + + * Called by FlxMouseControl when this sprite is clicked. Should not usually be called directly. + + + + * Called by FlxMouseControl when this sprite is released from a click. Should not usually be called directly. + + + + * Called by FlxMouseControl when Mouse Drag starts on this Sprite. Should not usually be called directly. + + + + * Bounds Rect check for the sprite drag + + + + * Parent Sprite Bounds check for the sprite drag + + + + * Called by FlxMouseControl when Mouse Drag is stopped on this Sprite. Should not usually be called directly. + + + + + + + + + + + + { ToleranceY : 10, ToleranceX : 10, FrictionY : 500, FrictionX : 500 } + * Gravity can be applied to the sprite, pulling it in any direction. Gravity is given in pixels per second and is applied as acceleration. + * If you don't want gravity for a specific direction pass a value of zero. To cancel it entirely pass both values as zero. + * + * @param GravityX A positive value applies gravity dragging the sprite to the right. A negative value drags the sprite to the left. Zero disables horizontal gravity. + * @param GravityY A positive value applies gravity dragging the sprite down. A negative value drags the sprite up. Zero disables vertical gravity. + * @param FrictionX The amount of friction applied to the sprite if it hits a wall. Allows it to come to a stop without constantly jittering. + * @param FrictionY The amount of friction applied to the sprite if it hits the floor/roof. Allows it to come to a stop without constantly jittering. + * @param ToleranceX If the velocity.x of the sprite falls between 0 and +- this value, it is set to stop (velocity.x = 0) + * @param ToleranceY If the velocity.y of the sprite falls between 0 and +- this value, it is set to stop (velocity.y = 0) + + + + * Switches the gravity applied to the sprite. If gravity was +400 Y (pulling them down) this will swap it to -400 Y (pulling them up) + * To reset call flipGravity again + + + + + + + + + + + + + + + + + + + + + + + + + { Y : 0, X : 0 } + * Creates a white 8x8 square FlxExtendedSprite at the specified position. + * Optionally can load a simple, one-frame graphic instead. + * + * @param X The initial X position of the sprite. + * @param Y The initial Y position of the sprite. + * @param SimpleGraphic The graphic you want to display (OPTIONAL - for simple stuff only, do NOT use for animated images!). + + * An enhanced FlxSprite that is capable of receiving mouse clicks, being dragged and thrown, mouse springs, gravity and other useful things + * + * @link http://www.photonstorm.com + * @author Richard Davey / Photon Storm + + + + + + + + + + + + + + + + + + + + + { Color2 : 0xffd9d5d5, Color1 : 0xffe7e6e6, Alternate : true, Height : -1, Width : -1 } + * Creates a FlxSprite of the given width and height filled with a checkerboard pattern. + * Each grid cell is the specified width and height, and alternates between two colors. + * If alternate is true each row of the pattern will be offset, for a proper checkerboard style. + * If false each row will be the same colour, creating a striped-pattern effect. + * So to create an 8x8 grid you'd call create(8,8) + * + * @param CellWidth The grid cell width + * @param CellHeight The grid cell height + * @param Width The width of the FlxSprite. If -1 it will be the size of the game (FlxG.width) + * @param Height The height of the FlxSprite. If -1 it will be the size of the game (FlxG.height) + * @param Alternate Should the pattern alternate on each new row? Default true = checkerboard effect. False = vertical stripes + * @param Color1 The first fill colour in 0xAARRGGBB format + * @param Color2 The second fill colour in 0xAARRGGBB format + * @return FlxSprite of given width/height + + + + + + + + + + + + + + { Color2 : 0x88d9d5d5, Color1 : 0x88e7e6e6, Alternate : true, Height : -1, Width : -1 } + * Creates a checkerboard pattern of the given width/height and overlays it onto the given FlxSprite. + * Each grid cell is the specified width and height, and alternates between two colors. + * If alternate is true each row of the pattern will be offset, for a proper checkerboard style. + * If false each row will be the same colour, creating a striped-pattern effect. + * So to create an 8x8 grid you'd call create(8,8, + * + * @param Sprite The FlxSprite you wish to draw the grid on-top of. This updates its pixels value, not just the current frame (don't use animated sprites!) + * @param CellWidth The grid cell width + * @param CellHeight The grid cell height + * @param Width The width of the FlxSprite. If -1 it will be the size of the game (FlxG.width) + * @param Height The height of the FlxSprite. If -1 it will be the size of the game (FlxG.height) + * @param Alternate Should the pattern alternate on each new row? Default true = checkerboard effect. False = vertical stripes + * @param Color1 The first fill colour in 0xAARRGGBB format + * @param Color2 The second fill colour in 0xAARRGGBB format + * @return The modified source FlxSprite + + + + + + + + + + + + * FlxGridOverlay + * + * @link http://www.photonstorm.com + * @author Richard Davey / Photon Storm + + + + + + + * The tension of the spring, smaller numbers create springs closer to the mouse pointer + * @default 0.1 + + + + * The friction applied to the spring as it moves + * @default 0.95 + + + + * The gravity controls how far "down" the spring hangs (use a negative value for it to hang up!) + * @default 0 + + <_retainVelocity> + <_vx expr="0"> + + 0 + + <_vy expr="0"> + + 0 + + <_dx expr="0"> + + 0 + + <_dy expr="0"> + + 0 + + <_ax expr="0"> + + 0 + + <_ay expr="0"> + + 0 + + + + + + + * Updates the spring physics and repositions the sprite + + + + * Resets the internal spring physics + + + + + + + + + + + { Gravity : 0, Friction : 0.95, Tension : 0.1, RetainVelocity : false } + * Adds a spring between the mouse and a FlxExtendedSprite. + * + * @param Sprite The FlxExtendedSprite to which this spring is attached + * @param RetainVelocity True to retain the velocity of the spring when the mouse is released, or false to clear it + * @param Tension The tension of the spring, smaller numbers create springs closer to the mouse pointer + * @param Friction The friction applied to the spring as it moves + * @param Gravity The gravity controls how far "down" the spring hangs (use a negative value for it to hang up!) + + + + + + + + 0 + * X position of this sprite relative to parent, 0 by default + + + + 0 + * Y position of this sprite relative to parent, 0 by default + + + + 0 + * Angle of this sprite relative to parent + + + + 0 + * Angular velocity relative to parent sprite + + + + 0 + * Angular acceleration relative to parent sprite + + + + 1 + + + + FlxPoint.get(1, 1) + * Scale of this sprite relative to parent + + + + FlxPoint.get() + * Velocity relative to parent sprite + + + + FlxPoint.get() + * Acceleration relative to parent sprite + + + + [] + * All FlxNestedSprites in this list. + + + + * Amount of Graphics in this list. + + <_parentRed expr="1"> + + 1 + + <_parentGreen expr="1"> + + 1 + + <_parentBlue expr="1"> + + 1 + + + + * WARNING: This will remove this sprite entirely. Use kill() if you + * want to disable it temporarily only and reset() it later to revive it. + * Used to clean up memory. + + + + + + + * Adds the FlxNestedSprite to the children list. + * + * @param Child The FlxNestedSprite to add. + * @return The added FlxNestedSprite. + + + + + + + * Removes the FlxNestedSprite from the children list. + * + * @param Child The FlxNestedSprite to remove. + * @return The removed FlxNestedSprite. + + + + + + + { Index : 0 } + * Removes the FlxNestedSprite from the position in the children list. + * + * @param Index Index to remove. + + + + * Removes all children sprites from this sprite. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * Some sort of DisplayObjectContainer but very limited. + * It can contain only other FlxNestedSprites. + * @author Zaphod + + + + <_shadedScrollRect expr="new Sprite()"> + + new Sprite() + * Internal sprite, duplicate of `_scrollRect` to which we apply a shader and mask. + * It is a child of `flashSprite`. + * Its position is also modified by the `updateScrollRect()` method. + + + + * All tile rendering is duplicated to this canvas, so that we have + * another copy of the scene to which to apply the effect shader. + * It is a child of `_shadedScrollRect` + * Its position is modified by `updateInternalSpritePositions()` + + + + * Only the mask objects are rendered to this sprite, + * which is both a child of and used as a mask for `_shadedScrollRect`. + + + + * This filter is applied to the area masked by maskCanvas + + <_maskGroup> + + * Collection of objects that will be rendered to the mask buffer rather than the main camera. + + + + + + + + + + + + * Add objects and groups to the mask. + * The effect shader is applied to the area covered by objects added in this way. + * The camera will `update()` objects added here, so you probably want to avoid + * adding them to your scene as well. + * + * @return The same `FlxBasic` object that was passed in. + + + + + + + * Remove objects and groups from the mask. + * + * @return The removed object. + + + + + + + + + + + + { FxAlpha : 1.0, BlendAlpha : true } + + + + + + + + + + + + + + + + + + + + + + { Zoom : 0, Height : 0, Width : 0, Y : 0, X : 0 } + * Instantiates a new camera at the specified location, with the specified size and zoom level, + * which will be shaded in areas by the specified shader. + * + * @param effectShader Shader to be applied to the masked area. + * @param X X location of the camera's display in pixels. Uses native, 1:1 resolution, ignores zoom. + * @param Y Y location of the camera's display in pixels. Uses native, 1:1 resolution, ignores zoom. + * @param Width The width of the camera display in pixels. + * @param Height The height of the camera display in pixels. + * @param Zoom The initial zoom level of the camera. + * A zoom level of 2 will make all pixels display at 2x resolution. + + `_scrollRect:Sprite` (which is used for cropping camera's graphic, mostly in tile render mode) + * |-> `canvas:Sprite` (its graphics is used for rendering objects in tile render mode) + * |-> `debugLayer:Sprite` (this sprite is used in tile render mode for rendering debug info, like bounding boxes) + * |-> `_shadedScrollRect:Sprite` (the effect shader is applied to this sprite, which holds a copy of the scene and is masked by `maskCanvas`) + * |-> `shaderCanvas:Sprite` (everything rendered to `canvas` will simultaneously render to this canvas) + * |-> `maskCanvas:Sprite` (all mask objects are rendered to this sprite, which is then used to mask `_shadedScrollRect`) + * + * @since 2.9.0]]> + + + + + + 0 + + + + 1 + + + + 2 + + + + 3 + +
+ + 4 +
+ + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + new FlxRect() + + + + new FlxPoint() + + + + new FlxPoint() + + + + new FlxPoint() + + + + false + * Whether to adjust sprite's width to slice grid or not. + + + + false + * Whether to adjust sprite's height to slice grid or not. + + + + false + * Whether to use tiling or to stretch left border of the sprite. + + + + false + * Whether to use tiling or to stretch top border of the sprite. + + + + false + * Whether to use tiling or to stretch right border of the sprite. + + + + false + * Whether to use tiling or to stretch bottom border of the sprite. + + + + false + * Whether to use tiling or to stretch center part of the sprite. + + + + true + * Whether to fill center part of sprite. + + + + * Rectangle that defines slice grid: + + + + * Rectangle that defines what part of source image to use as a texture for slicing. + + + + * Actual width of the sprite which will be visible. + * Its calculation is based on snapWidth and sliceRect values. + + + + * Actual height of the sprite which will be visible. + * Its calculation is based on snapHeight and sliceRect values. + + + + * Internal array of FlxRect objects for each element of slice grid. + + + + * Helper sprite, which does actual rendering in blit render mode. + + + + true + + + + true + + + <_snappedWidth expr="-1"> + + -1 + + <_snappedHeight expr="-1"> + + -1 + + + + 0 + * Current number of vertices + + + + + + + + + + + + + { Unique : false, Height : 0, Width : 0, Animated : false } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * Sprite which can be used for various sorts of slicing (9-slice, 3 slice, tiled sprite but without scrolling). + * Based on Kyle Pulver's NineSlice class for FlashPunk: http://kpulv.com/96/Flashpunk_NineSlice_Class__Updated__/ + * @author kpulv + * @author Zaphod + * @since 2.1.0 +
+ + + + + + 0 + + + + -1 + + + + + + + + + + + + { RunOnCpp : false } + + + + + + + + + + + + + + { Y : 0, X : 0, Height : 0, Width : 0, Antialiasing : false, AutoBuffer : false, Rotations : 16 } + * Constructor, which creates array of prerotated spritesheets for each frame in provided AnimatedGraphic. + * + * @param AnimatedGraphic The image you want to rotate and stamp. + * @param Rotations The number of rotation frames the final sprite should have. For small sprites this can be quite a large number (360 even) without any problems. + * @param AutoBuffer Whether to automatically increase the image size to accomodate rotated corners. Default is false. Will create frames that are 150% larger on each axis than the original frame or graphic. + * @param Antialiasing Whether to use high quality rotations when creating the graphic. Default is false. + * @param Width The width of frame in provided spritesheet. + * @param Height The height of frame in provided spritesheet + * @param X The x component of sprite's position. + * @param Y The y component of sprite's position. + + * Creating animated and rotated sprite from an un-rotated animated image. + * + * @version 1.0 - November 8th 2011 + * @link http://www.gameonaut.com + * @author Simon Etienne Rozner / Gameonaut.com, ported to Haxe by Sam Batista + * @author Slightly updated by Beeblerox. + + + + + + FlxColor.BLACK + + <_stars> + <_depthColors> + <_minSpeed> + <_maxSpeed> + + + + + + + + + + { HighestColor : 0xffF4F4F4, LowestColor : 0xff85858 } + * Change the number of layers (depth) and colors used for each layer of the starfield. + * + * @param Depth Number of depths (for a 2D starfield the default is 5) + * @param LowestColor The color given to the slowest stars, typically the darker colour + * @param HighestColor The color given to the fastest stars, typically the brighter colour + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { StarAmount : 300, Height : 0, Width : 0, Y : 0, X : 0 } + + + + +
+ + + + + + + + + + + + + + + { StarAmount : 300, Height : 0, Width : 0, Y : 0, X : 0 } + +
+ + + + + + + + + + + + + + + 0 + * The x-offset of the texture + + + + 0 + * The y-offset of the texture. + + + + true + * Repeat texture on x axis. Default is true + + + + true + * Repeat texture on y axis. Default is true + + + + * Helper sprite, which does actual rendering in blit render mode. + + + + true + + + + true + + + + + + + + + + + + + { Unique : false, Height : 0, Width : 0, Animated : false } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { RepeatY : true, RepeatX : true } + + * Tiled sprite which displays repeated and clipped graphic. + * @author Zaphod + * @since 2.1.0 + + + + + + * Tell the camera to LERP here eventually + + + + 25 + * This number is pretty arbitrary, make sure it's greater than zero! + + + + 0.25 + * Determines how far to "look ahead" when the target is near the + * edge of the camera's bounds - 0 = no effect, 1 = huge effect + + + + + + + + * Align the camera x and y to center on the target + * that it's following when zoomed in + * + * This took many guesses! + + + + + + + + + + + { Zoom : 0 } + + * FlxZoomCamera: A FlxCamera that centers its zoom on the target that it follows + * + * @link http://www.kwarp.com + * @author greglieberman + * @email greg@kwarp.com + + + + + + + + + + + { scale : 1 } + * This function will parse a *.pex file and return a new emitter. + * There are some incompatibilities: + * - It only supports the "Gravity" emitter type. + * - Tangential and radial acceleration aren't supported. + * - Blend functions aren't supported. The default blend mode is ADD. + * @param data The data to be parsed. It has to be an ID to the assets file, a file embedded with @:file(), a string with the content of the file or a XML object. + * @param particleGraphic The particle graphic + * @param emitter (optional) A FlxEmitter. Most properties will be overwritten! + * @param scale (optional) Used to scale the resulting emitter. Will scale both the texture size and positions of resulting particles. + * @return A new emitter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * Parser for particle files created with "Starling Particle Editor" or "Particle Designer". + * + * Starling Particle Editor: + * @see http://onebyonedesign.com/flash/particleeditor/ + * @see https://github.com/devon-o/Starling-Particle-Editor + * + * Particle Designer: + * @see https://71squared.com/particledesigner + * + * @author MrCdK + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + + + + + + + + + @since 2.1.0 + + + + @since 2.1.0 + + + + + + + + + + + * Base class for Tiled object and tile layers + * + * (original by Matt Tuttle based on Thomas Jahn's. Haxe port by Adrien Fischer) + * This content is released under the MIT License. + + + + + + [] + + + + + + + ()]]> + + + + + + + + + + + + + + + + + + + + + + + + * Copyright (c) 2013 by Samuel Batista + * (original by Matt Tuttle based on Thomas Jahn's. Haxe port by Adrien Fischer) + * This content is released under the MIT License. + + + + + + + + = 0.15 uses offsetX]]> + + + + = 0.15 uses offsetY]]> + + + + + + + + + + + + + + + + + + * Copyright (c) 2013 by Samuel Batista + * (original by Matt Tuttle based on Thomas Jahn's. Haxe port by Adrien Fischer) + * This content is released under the MIT License. + + + + + + + + + + + + + + + + + + + + + + + + + new TiledPropertySet() + + + + + + + ()]]> + * Use to get a tileset by name + + + + [] + * Use for iterating over tilesets, and for merging tilesets (because order is important) + + + + [] + + + + + + + ()]]> + + + + + + + ()]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * works only after TiledTileSet has been initialized with an image... + + + + + + + + * @param data Either a string or XML object containing the Tiled map data + * @param rootPath Path to use as root to resolve any internal file references + + * Copyright (c) 2013 by Samuel Batista + * (original by Matt Tuttle based on Thomas Jahn's. Haxe port by Adrien Fischer) + * This content is released under the MIT License. + + + + + + + + + 0x40000000 + 0; + * sprite.facing = flipped ? LEFT : RIGHT; + * ```]]> + + + + 0x80000000 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + + + + + + + + * In degrees + + + + * Global identifier for this object + + + + * Custom properties that users can set on this object + * If "type" is not defined, the parent layer's "defaultType" is used + + + + * Shared properties are tileset properties added on object tile + + + + * Information on the layer that contains this object + + + + * The type of the object (RECTANGLE, ELLIPSE, POLYGON, POLYLINE, TILE) + + + + * Whether the object is flipped horizontally. + + + + * Whether the object is flipped vertically. + + + + * An array with points if the object is a POLYGON or POLYLINE + + + + + + + + + + + + { parent : null } + + * (original by Matt Tuttle based on Thomas Jahn's. Haxe port by Adrien Fischer) + * This content is released under the MIT License. + + + + + + + + + + + + + + + + * Copyright (c) 2013 by Samuel Batista + * (original by Matt Tuttle based on Thomas Jahn's. Haxe port by Adrien Fischer) + * This content is released under the MIT License. + + + + + + + + + + + + + + + + + + + + + + + + + + * Copyright (c) 2013 by Samuel Batista + * (original by Matt Tuttle based on Thomas Jahn's. Haxe port by Adrien Fischer) + * This content is released under the MIT License. + + + + + + 0x80000000 + + + + 0x40000000 + + + + 0x20000000 + + + + 0 + + + + 1 + + + + 2 + + + + * The original ID as described in the mapData + + + + * The ID of this tile in its tileset + + + + false + * Set the tile to flip horizontally + + + + false + * Set the tile to flip vertically + + + + * Set the rotation of the tile + + + + + + + + + + + + + + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @since 2.2.0 + + + + + + + + @since 2.8.0 + + + + + + + + + + + + @since 2.8.0 + + + + + + @since 2.2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { rootPath : "" } + + * Copyright (c) 2013 by Samuel Batista + * (original by Matt Tuttle based on Thomas Jahn's. Haxe port by Adrien Fischer) + * This content is released under the MIT License. + + + + + + + + + + + + FlxPoint.get() + * An extra velocity applied to mesh (in pixels per second). Use to simulate gravity or wind. + + + + FlxPoint.get(0.99, 0.99) + * Determines how quickly the mesh points come to rest. + + + + FlxPoint.get(1, 1) + * Change the size of the mesh related to the original frame. Need to call setMesh() to update. + + + + * Bit field of flags (use with UP, DOWN, LEFT, RIGHT, NONE, ANY, etc) indicating pinned side. Use bitwise operators to check the values stored here. + + + + 3 + * How many iterations will do on constraints for each update. + * Bigger number make constraint more strong and mesh more rigid. + + + + false + * Adds two extra constraints crossing the squares to make the mesh more rigid. Need to call setMesh() to update. + + + + * Number of columns of the mesh. To set it you must use setMesh(). + + + + * Number of rows of the mesh. To set it you must use setMesh(). + + + + * The width of mesh squares. To set it you must use setMesh(). + + + + * The height of mesh squares. To set it you must use setMesh(). + + + + [] + * An array containing all vertices of the mesh, they are indexed row by row. + + + + [] + * An array containing all vertices conections. + + <_vertices> + + * Mesh arrays. Vertices, indices, uvtData and colors to drawTriangles(). + + <_indices> + <_uvtData> + + <_drawOffset> + + * Use to offset the drawing position of the mesh. + + + + * The actual Flash BitmapData object representing the current display state of the modified framePixels. + + + + * WARNING: This will remove this sprite entirely. Use kill() if you want to disable it temporarily only and reset() it later to revive it. + * Used to clean up memory. + + + + + + + * Core update loop + + + + + + + + + + + + + + + + + + + { pinned : null, meshPixelsHeight : 0, meshPixelsWidth : 0, rows : 0, columns : 0 } + * Sets mesh points and constraints. + * + * @param columns Number of columns of the created mesh. + * @param rows Number of rows of the created mesh. + * @param meshPixelsWidth Optional, specify the width of the bitmapData where the mesh will be drawn. + * It uses frameWidth by default, but when mesh state is bigger, a new BitmapData is created. + * @param meshPixelsHeight Optional, specify the height of the bitmapData where the mesh will be drawn. + * It uses frameHeight by default, but when mesh state is bigger, a new BitmapData is created. + * @param pinned Indices of pinned points that are not affected by wind or velocity. + + + + + + + * Called by update, applies meshVelocity, meshFriction and velocity for each point. + + + + + + + * Called by update, applies velocity for each constraints points. + + + + * Called by draw, calculate triangles, drawOffset and bitmapData dimensions. + + + + * Called by draw, draw calculated triangles to meshPixels bitmapData. + + + + + + + + + + + + + { CrossingConstraints : false, PinnedSide : UP, Rows : 0, Columns : 0, Y : 0, X : 0 } + * Creates a FlxClothSprite at a specified position with a specified one-frame graphic. + * If none is provided, a 16x16 image of the HaxeFlixel logo is used. + * + * @param X The initial X position of the sprite. + * @param Y The initial Y position of the sprite. + * @param SimpleGraphic The graphic you want to display (OPTIONAL - for simple stuff only, do NOT use for animated images!). + * @param Columns Number of columns of the created mesh. + * @param Rows Number of rows of the created mesh. + * @param PinnedSide The pinned side that points are not affected by wind or velocity. Use UP, DOWN, LEFT, RIGHT, NONE, ANY, etc. + + * A FlxSprite that draw it's frame in a mesh and behave like a cloth. + * + * @author adrianulima + + + + + + + + + + + + + + + + + + + + + FlxPoint.get() + + + + new Matrix() + * Tranformation matrix for this sprite. + * Used only when matrixExposed is set to true + + + + false + * Bool flag showing whether transformMatrix is used for rendering or not. + * False by default, which means that transformMatrix isn't used for rendering + + <_skewMatrix expr="new Matrix()"> + + new Matrix() + * Internal helper matrix object. Used for rendering calculations when matrixExposed is set to false + + + + * WARNING: This will remove this sprite entirely. Use kill() if you + * want to disable it temporarily only and reset() it later to revive it. + * Used to clean up memory. + + + + + + + + + + + + + + + + + * @author Zaphod + + + + + + * Stores the FlxSprite the trail is attached to. + + + + * How often to update the trail. + + + + true + * Whether to check for X changes or not. + + + + true + * Whether to check for Y changes or not. + + + + true + * Whether to check for angle changes or not. + + + + true + * Whether to check for scale changes or not. + + + + true + * Whether to check for frame changes of the "parent" FlxSprite or not. + + <_counter expr="0"> + + 0 + * Counts the frames passed. + + <_trailLength expr="0"> + + 0 + * How long is the trail? + + <_graphic> + + * Stores the trailsprite image. + + <_transp expr="1"> + + 1 + * The alpha value for the next trailsprite. + + <_difference> + + * How much lower the alpha value of the next trailsprite is. + + <_recentPositions expr="[]"> + + [] + + <_recentAngles expr="[]"> + + [] + + <_recentScales expr="[]"> + + [] + + <_recentFrames expr="[]"> + + [] + + <_recentFlipX expr="[]"> + + [] + + <_recentFlipY expr="[]"> + + [] + + <_recentAnimations expr="[]"> + + [] + + <_spriteOrigin> + + * Stores the sprite origin (rotation axis) + + + + + + + + * Updates positions and other values according to the delay that has been set. + + + + + + + + + + + + + * A function to add a specific number of sprites to the trail to increase its length. + * + * @param Amount The amount of sprites to add to the trail. + + + + + + + * In case you want to change the trailsprite image in runtime... + * + * @param Image The image the sprites should load + + + + + + + + + + { Scale : true, Y : true, X : true } + * Handy little function to change which events affect the trail. + * + * @param Angle Whether the trail reacts to angle changes or not. + * @param X Whether the trail reacts to x changes or not. + * @param Y Whether the trail reacts to y changes or not. + * @param Scale Wheater the trail reacts to scale changes or not. + + + + + + + + + + + + { Diff : 0.05, Alpha : 0.4, Delay : 3, Length : 10 } + * Creates a new FlxTrail effect for a specific FlxSprite. + * + * @param Target The FlxSprite the trail is attached to. + * @param Graphic The image to use for the trailsprites. Optional, uses the sprite's graphic if null. + * @param Length The amount of trailsprites to create. + * @param Delay How often to update the trail. 0 updates every frame. + * @param Alpha The alpha value for the very first trailsprite. + * @param Diff How much lower the alpha of the next trailsprite is. + + * Nothing too fancy, just a handy little class to attach a trail effect to a FlxSprite. + * Inspired by the way "Buck" from the inofficial #flixel IRC channel + * creates a trail effect for the character in his game. + * Feel free to use this class and adjust it to your needs. + * @author Gama11 + + + + + + 2 + * How often the trail is updated, in frames. Default value is 2, or "every frame". + + + + false + * If this is true, the render process ignores any color/scale/rotation manipulation of the sprites + * with the advantage of being faster + + + + null + * Specifies the blendMode for the trails. + * Ignored in simple render mode. Only works on the flash target. + + + + * Stores all sprites that have a trail. + + + + 1 + * The bitmap's red value is multiplied by this every update + + + + 1 + * The bitmap's green value is multiplied by this every update + + + + 1 + * The bitmap's blue value is multiplied by this every update + + + + * The bitmap's alpha value is multiplied by this every update + + + + 0 + * The bitmap's red value is offsettet by this every update + + + + 0 + * The bitmap's green value is offsettet by this every update + + + + 0 + * The bitmap's blue value is offsettet by this every update + + + + 0 + * The bitmap's alpha value is offsettet by this every update + + <_counter expr="0"> + + 0 + * Counts the frames passed. + + <_width expr="1"> + + 1 + * Internal width variable + * Initialized to 1 to prevent invalid bitmapData during construction + + <_height expr="1"> + + 1 + * Internal height variable + * Initialized to 1 to prevent invalid bitmapData during construction + + <_areaPixels> + + * Internal helper var, linking to area's pixels + + + + + + + + * Sets the FlxTrailArea to a new size. Clears the area! + * + * @param Width The new width + * @param Height The new height + + + + + + * Wipes the trail area + + + + + + + * Adds a FlxSprite to the FlxTrailArea. Not an add() in the traditional sense, + * this just enables the trail effect for the sprite. You still need to add it to your state for it to update! + * + * @param Sprite The sprite to enable the trail effect for + * @return The FlxSprite, useful for chaining stuff together + + + + * Redirects width to _width + + + + + + + * Setter for width, defaults to FlxG.width, creates new _rendeBitmap if neccessary + + + + * Redirects height to _height + + + + + + + * Setter for height, defaults to FlxG.height, creates new _rendeBitmap if neccessary + + + + + + + + + + + + + + + { Antialiasing : false, SimpleRender : false, Delay : 2, AlphaMultiplier : 0.8, Height : 0, Width : 0, Y : 0, X : 0 } + * Creates a new FlxTrailArea, in which all added sprites get a trail effect. + * + * @param X x position of the trail area + * @param Y y position of the trail area + * @param Width The width of the area - defaults to FlxG.width + * @param Height The height of the area - defaults to FlxG.height + * @param AlphaMultiplier By what the area's alpha is multiplied per update + * @param Delay How often to update the trail. 1 updates every frame + * @param SimpleRender If simple rendering should be used. Ignores all sprite transformations + * @param Antialiasing If sprites should be smoothed when drawn to the area. Ignored when simple rendering is on + * @param TrailBlendMode The blend mode used for the area. Only works in flash + + * This provides an area in which the added sprites have a trail effect. Usage: Create the FlxTrailArea and + * add it to the display. Then add all sprites that should have a trail effect via the add function. + * @author KeyMaster + + + + + + true + * Enables and disables the effects update loop. + + + + * The target FlxSprite that is used to apply effects. + + + + true + * Whether to call target's FlxSprite#updateAnimation() every FlxEffectSprite#update(). Set this false if the target is also added to state. + + + + * Effects applied to frames + + <_effectOffset> + + * Use to offset the drawing position of the bitmap. + + + + * WARNING: This will remove this sprite entirely. Use kill() if you want to disable it temporarily only and reset() it later to revive it. + * Used to clean up memory. + + + + + + + + * Call this function to figure out the on-screen position of the object. + * + * @param Point Takes a FlxPoint object and assigns the post-scrolled X and Y values of this object to it. + * @param Camera Specify which game camera you want. If null getScreenPosition() will just grab the first global camera. + * @return The Point you passed in, or a new Point if you didn't pass one, containing the screen X and Y position of this object. + + + + + + + + * Core update loop, and updates each active effect. + + + + + + + + * Creates a FlxEffectSprite for a specific FlxSprite. + * + * @param Target The target FlxSprite that is used to apply effects. + * @param Effects Effects to be applied to frames. + + * Use this class to chain bitmap effects to your target FlxSprite frame. + * @author adrianulima + + + + + + + + + + + + + + + + + + + true + + + + FlxPoint.get() + + + + 1 + * How thick each glitch segment should be. + + + + 0.05 + * Time, in seconds, between glitch updates + + + + * Which direction the glitch effect should be applied. + + + + 2 + * How strong the glitch effect should be (how much it should move from the center) + + <_time expr="0"> + + 0 + * Current time of the effect. + + <_flashPoint expr="new Point()"> + + new Point() + * Internal, reused frequently during drawing and animating. + + <_flashRect expr="new Rectangle()"> + + new Rectangle() + * Internal, reused frequently during drawing and animating. + + <_pixels> + + * The actual Flash BitmapData object representing the current effect state. + + + + + + + + + + + + + + + + + + + { Delay : 0.05, Size : 1, Strength : 4 } + * Creates a new FlxGlitchSprite, which applies a Glitch-distortion effect. + * This effect is non-destructive to the target's pixels, and can be used on animated FlxSprites. + * + * @param Strength How strong you want the effect. + * @param Size How 'thick' you want each piece of the glitch. + * @param Delay How long (in seconds) between each glitch update. + * @param Direction Which Direction you want the effect to be applied (HORIZONTAL or VERTICAL). + + * This is a modified version of FlxGlitchSprite by Tim Hely + * + * @author Tim Hely / tims-world.com + * @author adrianulima + + + + + + + + + + + + + + true + + + + FlxPoint.get() + + + + true + * Set this flag to true to force the effect to update during the apply() call. + * This effect is too heavy, and must be called just when the main shape of sprite changes. + + + + * Which mode we're using for the effect + * @since 2.1.0 + + + + * Color of the outline. + + + + * Stroke thickness in pixels of outline. + + + + * Set alpha sensitivity to a number between 0 and 1. + + + + * How many iterations do use when drawing the outline. 0: only 1 iteration, 1: one iteration for every pixel in thickness + * A value of 1 will have the best quality for large border sizes, but might reduce performance. + * NOTE: If the thickness is 1, quality of 0 or 1 will have the exact same effect (and performance). + * @since 2.1.0 + + <_pixels> + + * The actual Flash BitmapData object representing the current effect state. + + <_borderPixels> + + * The actual Flash BitmapData object representing the colored border. + + <_flashPoint expr="new Point()"> + + new Point() + * Internal, reused frequently during drawing and animating. + + <_matrix expr="new Matrix()"> + + new Matrix() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { Quality : 1, Threshold : 0, Thickness : 1, Color : FlxColor.WHITE } + * Creates an outline around the bitmapData with the specified color and thickness. To update, dirty need to be setted as true. + * + * @param Mode Which Mode you would like to use for the effect. FAST = Optimized using only 4 draw calls, NORMAL = Outline on all 8 sides, PIXEL_BY_PIXEL = Surround every pixel (can affect performance). + * @param Color Color of the outline. + * @param Thickness Outline thickness in pixels. + * @param Quality Outline quality - # of iterations to use when drawing. 0:just 1, 1:equal number to Thickness. Not used with PIXEL_BY_PIXEL mode. + * @param Threshold Alpha sensitivity, only used with PIXEL_BY_PIXEL mode. + + * This creates an outline around the bitmapData. This is a modified version of FlxOutline by red__hara, with some code get from FlxText's borders. + * + * @author red__hara + * @author adrianulima + + + + + + @since 2.1.0 + + + + + + + + + + true + + + + + 5 + * How fast the hue should change each tick. + + + + 1 + * Set alpha to a number between 0 and 1 to change the opacity of the effect. + + + + 1 + * A number between 0 and 1, indicating how bright the color should be. 0 is black, 1 is full bright. + + <_hue expr="0"> + + 0 + * The current hue of the effect + + <_time expr="0"> + + 0 + * Used to adjust the hue using speed + + <_flashPoint expr="new Point()"> + + new Point() + * Internal, reused frequently during drawing and animating. Always contains (0,0). + + <_pixels> + + * The actual Flash BitmapData object representing the current effect state. + + + + + + + + + + + + + + + + + + + { StartHue : 0, Speed : 5, Brightness : 1, Alpha : 1 } + * Creates a new FlxEffectRainbow, which applies a color-cycling effect, using the target's bitmap as a mask. + * + * @param Alpha A number between 0 and 1 to change the opacity of the effect. + * @param Brightness A number between 0 and 1, indicating how bright the color should be. + * @param Speed How fast the hue should change each tick. + * @param StartHue The initial hue of the effect. + + * This is a modified version of FlxRainbowSprite by Tim Hely + * + * @author Tim Hely / tims-world.com + * @author adrianulima + + + + + + true + + + + FlxPoint.get() + + + + 0 + * Value in pixels representing the maximum distance that the bitmapData can move while shaking. + + + + * A function you want to run when the shake finishes. + + + + XY + * On what axes to shake. + + <_duration expr="0"> + + 0 + * The length in seconds that the shaking effect should last. + + <_time expr="0"> + + 0 + * Current time of the effect. + + + + + + + + + + + + + + + + { Force : false } + * Reset and start the effect with the same parameters. + * + * @param Force Force the effect to reset. + + + + + + + + + + { Duration : 0.5, Intensity : 5 } + * Reset the effect, need to set the parameters again. To use the same parameters call method start(). + * + * @param Intensity Value in pixels representing the maximum distance that the bitmapData can move while shaking. + * @param Duration The length in seconds that the shaking effect should last. + * @param OnComplete Optional completion callback function. + * @param Axes On what axes to shake. Default value is XY / both. + + + + + + + + + + { Duration : 0.5, Intensity : 5 } + * A shake effect. + * + * @param Intensity Value in pixels representing the maximum distance that the bitmapData can move while shaking. + * @param Duration The length in seconds that the shaking effect should last. + * @param OnComplete Optional completion callback function. + * @param Axes On what axes to shake. Default value is XY / both. + + * This will shake the bitmapData. + * + * @author adrianulima + + + + + + true + + + + FlxPoint.get() + + + + * The target FlxEffectSprite that to apply the trail. + + + + * The amount of trail images to create. + + + + * The alpha value for the first trail. + + + + * Number of frames to wait until next updated. + + + + * Whether to cache current pixels bitmapData of the target for every trail position. + + <_recentPositions expr="[]"> + + [] + * An array containing the 'length' last differences of the target positions. + + <_recentPixels expr="[]"> + + [] + * An array containing the 'length' last pixels bitmapData of the target. Only used if cachePixels is enabled. + + <_currentFrames expr="0"> + + 0 + * Current number of frames passed. + + <_pixels> + + * The actual Flash BitmapData object representing the current effect state. + + <_matrix expr="new Matrix()"> + + new Matrix() + + <_colorTransform expr="new ColorTransform()"> + + new ColorTransform() + + + + + + + + + + + + + + @since 2.1.0 + + + + + + + + + + + + + + + + + + + + { CachePixels : true, FramesDelay : 2, Alpha : 0.5, Length : 10 } + * Creates a trail effect. + * + * @param Length The amount of trail images to create. + * @param Alpha The alpha value for the first trailsprite. + * @param FramesDelay How many frames wait until next trail updated. + * @param CachePixels Whether to cache current pixels bitmapData of the target for every trail position. Disable if target never update graphics. + + * This creates a trail copying the bitmapData many times. + * + * @author adrianulima + + + + + + true + + + + FlxPoint.get() + + + + * Which mode we're using for the effect. + + + + * How fast should the wave effect be (higher = faster). + +
+ + * The 'center' of our sprite (where the wave effect should start/end). Ratio based on the bitmapData size. +
+ + + * Which direction the wave effect should be applied. + + + + * How long waves are. + + + + * How strong the wave effect should be. + + + + * The wave ratio to offset every odd line of the `BitmapData`. Must be a value between 0 and 1. + * @since 2.1.0 + + <_time expr="0"> + + 0 + * Current time of the effect. + + <_flashPoint expr="new Point()"> + + new Point() + * Internal, reused frequently during drawing and animating. + + <_flashRect expr="new Rectangle()"> + + new Rectangle() + * Internal, reused frequently during drawing and animating. + + <_pixels> + + * The actual Flash BitmapData object representing the current effect state. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { InterlaceOffset : 0, Wavelength : 5, Speed : 3, Center : 0.5, Strength : 10 } + * Creates a new FlxEffectWave, which applies a wave-distortion effect. + * + * @param Mode Which Mode you would like to use for the effect. ALL = applies a constant distortion throughout the image, END = makes the effect get stronger towards the bottom of the image, and START = the reverse of END. + * @param Strength How strong you want the effect. + * @param Center The 'center' of the effect when using END or START modes. Anything before(END)/after(START) this point on the image will have no distortion effect. Ratio based on the bitmapData size. + * @param Speed How fast you want the effect to move. Higher values = faster. + * @param Wavelength How long waves are. + * @param Direction Which Direction you want the effect to be applied (HORIZONTAL or VERTICAL). + * @param InterlaceOffset The wave ratio to offset every odd line of the bitmapData. Must be a value between 0 and 1; + + * This is a modified version of FlxWaveSprite by Tim Hely + * + * @author Tim Hely / tims-world.com + * @author adrianulima +
+ + + + + + + + + + + + + + + + + + + + + + -1 + * Use with sort() to sort in ascending order. + + + + 1 + * Use with sort() to sort in descending order. + + + + "y" + * The value that the FlxExtendedSprites are sorted by before deciding which is "on-top" for click select + + + + ASCENDING + * The sorting order. If the sortIndex is "y" and the order is ASCENDING then a sprite with a Y value of 200 would be "on-top" of one with a Y value of 100. + + + + false + * Is the mouse currently dragging a sprite? If you have just clicked but NOT yet moved the mouse then this might return false. + + + + * The FlxExtendedSprite that is currently being dragged, if any. + + + + + * The speed the mouse is moving on the X axis in pixels per frame + + + + * The speed the mouse is moving on the Y axis in pixels per frame + + + + * The mouse can be set to only be active within a specific FlxRect region of the game world. + * If outside this FlxRect no clicks, drags or throws will be processed. + * If the mouse leaves this region while still dragging then the sprite is automatically dropped and its release handler is called. + * Set the FlxRect to null to disable the zone. + + + + false + * Instead of using a mouseZone (which is calculated in world coordinates) you can limit the mouse to the FlxG.camera.deadzone area instead. + * If set to true the mouse will use the camera deadzone. If false (or the deadzone is null) no check will take place. + * Note that this takes priority over the mouseZone above. If the mouseZone and deadzone are set, the deadzone is used. + + <_clickStack expr="new Array<FlxExtendedSprite>()" line="80" static="1"> + + ()]]> + * The FlxExtendedSprite that currently has the mouse button pressed on it + + <_clickCoords static="1"> + <_hasClickTarget expr="false" line="83" static="1"> + + false + + <_oldX expr="0" line="85" static="1"> + + 0 + + <_oldY expr="0" line="86" static="1"> + + 0 + + + + + + + * Adds the given FlxExtendedSprite to the stack of potential sprites that were clicked, the stack is then sorted and the final sprite is selected from that + * + * @param Item The FlxExtendedSprite that was clicked by the mouse + + + + * Removes all references to any click / drag targets and resets this class + + + + + + + * Main Update Loop - checks mouse status and updates FlxExtendedSprites accordingly + + + + * Internal function used to release the click / drag targets and reset the mouse state + + + + * Once the clickStack is created this sorts it and then picks the sprite with the highest priority (based on sortIndex and sortOrder) + + + + + + + + * Helper function for the sort process. + * + * @param Item1 The first object being sorted. + * @param Item2 The second object being sorted. + * + * @return An integer value: -1 (item1 before item2), 0 (same), or 1 (item1 after item2) + + + + * Runs when this plugin is destroyed + + + * FlxMouseControl + * + * @link http://www.photonstorm.com + * @author Richard Davey / Photon Storm + + + + <__pool expr="new ObjectPool<Point>(function() return new Point(), function(p) p.setTo(0, 0))" line="37" static="1"> + + + (function() return new Point(), function(p) p.setTo(0, 0))]]> + + + + <__limeVector2 static="1"> + + + + + + + + + + Returns the distance between `pt1` and `pt2`. + + @param pt1 The first point. + @param pt2 The second point. + @return The distance between the first and second points. + + + + + + + + + Determines a point between two specified points. The parameter + `f` determines where the new interpolated point is located + relative to the two end points specified by parameters `pt1` + and `pt2`. The closer the value of the parameter `f` + is to `1.0`, the closer the interpolated point is to the first + point(parameter `pt1`). The closer the value of the parameter + `f` is to 0, the closer the interpolated point is to the second + point(parameter `pt2`). + + @param pt1 The first point. + @param pt2 The second point. + @param f The level of interpolation between the two points. Indicates + where the new point will be, along the line between + `pt1` and `pt2`. If `f`=1, + `pt1` is returned; if `f`=0, + `pt2` is returned. + @return The new, interpolated point. + + + + + + + + Converts a pair of polar coordinates to a Cartesian point coordinate. + + @param len The length coordinate of the polar pair. + @param angle The angle, in radians, of the polar pair. + @return The Cartesian point. + + + + The length of the line segment from(0,0) to this point. + + + + The horizontal coordinate of the point. The default value is 0. + + + + The vertical coordinate of the point. The default value is 0. + + + + + + + Adds the coordinates of another point to the coordinates of this point to + create a new point. + + @param v The point to be added. + @return The new point. + + + + Creates a copy of this Point object. + + @return The new Point object. + + + + + + + Copies all of the point data from the source Point object into the calling Point + object. + + @param sourcePoint The Point object from which to copy the data. + + + + + + + Determines whether two points are equal. Two points are equal if they have + the same _x_ and _y_ values. + + @param toCompare The point to be compared. + @return A value of `true` if the object is equal to this Point + object; `false` if it is not equal. + + + + + + + Scales the line segment between(0,0) and the current point to a set + length. + + @param thickness The scaling value. For example, if the current point is + (0,5), and you normalize it to 1, the point returned is + at(0,1). + @return The normalized point. + + + + + + + + Offsets the Point object by the specified amount. The value of + `dx` is added to the original value of _x_ to create the + new _x_ value. The value of `dy` is added to the original + value of _y_ to create the new _y_ value. + + @param dx The amount by which to offset the horizontal coordinate, + _x_. + @param dy The amount by which to offset the vertical coordinate, _y_. + + + + + + + + Sets the members of Point to the specified values + + @param xa the values to set the point to. + @param ya + + + + + + + Subtracts the coordinates of another point from the coordinates of this + point to create a new point. + + @param v The point to be subtracted. + @return The new point. + + + + Returns a string that contains the values of the _x_ and _y_ + coordinates. The string has the form `"(x=_x_, + y=_y_)"`, so calling the `toString()` method for a + point at 23,17 would return `"(x=23, y=17)"`. + + @return The string representation of the coordinates. + + <__toLimeVector2 set="method" line="254"> + + + + + + + + + + + + + + { y : 0, x : 0 } + Creates a new point. If you pass no parameters to this method, a point is + created at(0,0). + + @param x The horizontal coordinate. + @param y The vertical coordinate. + + The Point object represents a location in a two-dimensional coordinate + system, where _x_ represents the horizontal axis and _y_ + represents the vertical axis. + + The following code creates a point at(0,0): + + Methods and properties of the following classes use Point objects: + + + * BitmapData + * DisplayObject + * DisplayObjectContainer + * DisplacementMapFilter + * NativeWindow + * Matrix + * Rectangle + + + You can use the `new Point()` constructor to create a Point + object. + + + "tags=\"haxe,release\"" + + + + + + + + + + + ()]]> + + + + new Point(0, 0) + + + + + + + + + + + + + { loopOnWrap : true, onlyScrollOnscreen : true, text : null, steps : 0, pixels : 1 } + * Adds an FlxBitmapTextField to the Scrolling Text Manager and returns an FlxSprite which contains the text scroller in it. + * The FlxSprite will automatically update itself via this plugin, but can be treated as a normal FlxSprite in all other regards + * re: positioning, collision, rotation, etc. + * + * @param bitmapText A pre-prepared FlxBitmapTextField object (see the Test Suite examples for details on how this works) + * @param region A Rectangle that defines the size of the scrolling FlxSprite. The sprite will be placed at region.x/y and be region.width/height in size. + * @param pixels The number of pixels to scroll per step. For a smooth (but slow) scroll use low values. Keep the value proportional to the font width, so if the font width is 16 use a value like 1, 2, 4 or 8. + * @param steps How many steps should pass before the text is next scrolled? Default 0 means every step we scroll. Higher values slow things down. + * @param text The default text for your scrolling message. Can be changed in real-time via the addText method. + * @param onlyScrollOnscreen Only update the text scroller when this FlxSprite is visible on-screen? Default true. + * @param loopOnWrap When the scroller reaches the end of the given "text" should it wrap to the start? Default true. If false it will clear the screen then set itself to not update. + * + * @return An FlxSprite of size region.width/height, positioned at region.x/y, that auto-updates its contents while this plugin runs + + + + + + + + + { overwrite : false } + * Adds or replaces the text in the given Text Scroller. + * Can be called while the scroller is still active. + * + * @param source The FlxSprite Text Scroller you wish to update (must have been added to FlxScrollingText via a call to add() + * @param text The text to add or update to the Scroller + * @param overwrite If true the given text will fully replace the previous scroller text. If false it will be appended to the end (default) + + + + + + + + * Removes all FlxSprites + * This is called automatically if the plugin is destroyed, but should be called manually by you if you change States + * as all the FlxSprites will be destroyed by Flixel otherwise + + + + + + + { source : null } + * Starts scrolling on the given FlxSprite. If no FlxSprite is given it starts scrolling on all FlxSprites currently added. + * Scrolling is enabled by default, but this can be used to re-start it if you have stopped it via stopScrolling. + * + * @param source The FlxSprite to start scrolling on. If left as null it will start scrolling on all sprites. + + + + + + + { source : null } + * Stops scrolling on the given FlxSprite. If no FlxSprite is given it stops scrolling on all FlxSprites currently added. + * Scrolling is enabled by default, but this can be used to stop it. + * + * @param source The FlxSprite to stop scrolling on. If left as null it will stop scrolling on all sprites. + + + + + + + * Checks to see if the given FlxSprite is a Scrolling Text, and is actively scrolling or not + * Note: If the text is set to only scroll when on-screen, but if off-screen when this is called, it will still return true. + * + * @param source The FlxSprite to check for scrolling on. + * @return Bool true is the FlxSprite was found and is scrolling, otherwise false + + + + + + + * Removes an FlxSprite from the Text Scroller. Note that it doesn't restore the sprite bitmapData. + * + * @param source The FlxSprite to remove scrolling for. + * @return Bool true if the FlxSprite was removed, otherwise false. + + + + + * FlxScrollingText + * -- Part of the Flixel Power Tools set + * -- Works only FLX_BLIT_RENDER mode for now + * + * v1.0 First version released + * + * @version 1.0 - May 5th 2011 + * @link http://www.photonstorm.com + * @author Richard Davey / Photon Storm + * @co-author Ungar Djordje / ArtBIT (Haxe port) + + + + + + + + + + + + + + + + + + + + + + + + <_members expr="new ObjectMap<FlxControlHandler,FlxControlHandler>()" line="23" static="1"> + + + + + ()]]> + + + + + + + + + + + + { EnableArrowKeys : true, UpdateFacing : false, Player : 1 } + * Creates a new FlxControlHandler. You can have as many FlxControlHandlers as you like, but you usually only have one per player. The first handler you make + * will be assigned to the FlxControl.player1 var. The 2nd to FlxControl.player2 and so on for player3 and player4. Beyond this you need to keep a reference to the + * handler yourself. + * + * @param Sprite The FlxSprite you want this class to control. It can only control one FlxSprite at once. + * @param MovementType Set to either MOVEMENT_INSTANT or MOVEMENT_ACCELERATES + * @param StoppingType Set to STOPPING_INSTANT, STOPPING_DECELERATES or STOPPING_NEVER + * @param UpdateFacing If true it sets the FlxSprite.facing value to the direction pressed (default false) + * @param EnableArrowKeys If true it will enable all arrow keys (default) - see setCursorControl for more fine-grained control + * @return The new FlxControlHandler + + + + + + + * Removes a FlxControlHandler + * + * @param ControlHandler The FlxControlHandler to delete + * @return Boolean true if the FlxControlHandler was removed, otherwise false. + + + + * Removes all FlxControlHandlers. + * This is called automatically if this plugin is ever destroyed. + + + + + + + * Starts updating the given FlxControlHandler, enabling keyboard actions for it. If no FlxControlHandler is given it starts updating all FlxControlHandlers currently added. + * Updating is enabled by default, but this can be used to re-start it if you have stopped it via stop(). + * + * @param ControlHandler The FlxControlHandler to start updating on. If left as null it will start updating all handlers. + + + + + + + * Stops updating the given FlxControlHandler. If no FlxControlHandler is given it stops updating all FlxControlHandlers currently added. + * Updating is enabled by default, but this can be used to stop it, for example if you paused your game (see start() to restart it again). + * + * @param ControlHandler The FlxControlHandler to stop updating. If left as null it will stop updating all handlers. + + + + + + + * Runs update on all currently active FlxControlHandlers + + + + * Runs when this plugin is destroyed + + + * FlxControl + * + * @link http://www.photonstorm.com + * @author Richard Davey / Photon Storm + + + + + 0 + * The "Instant" Movement Type means the sprite will move at maximum speed instantly, and will not "accelerate" (or speed-up) before reaching that speed. + + + + 1 + * The "Accelerates" Movement Type means the sprite will accelerate until it reaches maximum speed. + + + + 0 + * The "Instant" Stopping Type means the sprite will stop immediately when no direction keys are being pressed, there will be no deceleration. + + + + 1 + * The "Decelerates" Stopping Type means the sprite will start decelerating when no direction keys are being pressed. Deceleration continues until the speed reaches zero. + + + + 2 + * The "Never" Stopping Type means the sprite will never decelerate, any speed built up will be carried on and never reduce. + + + + 0 + * The "Instant" Movement Type means the sprite will rotate at maximum speed instantly, and will not "accelerate" (or speed-up) before reaching that speed. + + + + 1 + * The "Accelerates" Rotaton Type means the sprite will accelerate until it reaches maximum rotation speed. + + + + 0 + * The "Instant" Stopping Type means the sprite will stop rotating immediately when no rotation keys are being pressed, there will be no deceleration. + + + + 1 + * The "Decelerates" Stopping Type means the sprite will start decelerating when no rotation keys are being pressed. Deceleration continues until rotation speed reaches zero. + + + + 2 + * The "Never" Stopping Type means the sprite will never decelerate, any speed built up will be carried on and never reduce. + + + + 0 + * This keymode fires for as long as the key is held down + + + + 1 + * This keyboard fires when the key has just been pressed down, and not again until it is released and re-pressed + + + + 2 + * This keyboard fires only when the key has been pressed and then released again + + + + FlxMath.SQUARE_ROOT_OF_TWO * 0.5 + + + + false + + + + false + + + + false + + + + false + + + + false + + <_entity> + <_bounds> + <_up expr="false"> + + false + + <_down expr="false"> + + false + + <_left expr="false"> + + false + + <_right expr="false"> + + false + + <_fire> + <_altFire> + <_jump> + <_altJump> + <_xFacing> + <_yFacing> + <_rotateAntiClockwise> + <_rotateClockwise> + <_upMoveSpeed> + <_downMoveSpeed> + <_leftMoveSpeed> + <_rightMoveSpeed> + <_thrustSpeed> + <_reverseSpeed> + <_thrustEnabled expr="false"> + + false + + <_reverseEnabled> + <_isRotating expr="false"> + + false + + <_antiClockwiseRotationSpeed> + <_clockwiseRotationSpeed> + <_enforceAngleLimits expr="false"> + + false + + <_minAngle> + <_maxAngle> + <_capAngularVelocity> + <_xSpeedAdjust expr="0"> + + 0 + + <_ySpeedAdjust expr="0"> + + 0 + + <_gravityX expr="0"> + + 0 + + <_gravityY expr="0"> + + 0 + + <_fireRate> + <_nextFireTime expr="0"> + + 0 + + <_lastFiredTime> + <_fireKeyMode> + <_fireCallback> + <_jumpHeight> + <_jumpRate> + <_jumpKeyMode> + <_nextJumpTime> + <_lastJumpTime> + <_jumpFromFallTime> + <_extraSurfaceTime> + <_jumpSurface> + <_jumpCallback> + <_movement> + <_stopping> + <_rotation> + <_rotationStopping> + <_capVelocity> + <_hotkeys> + <_upKey> + <_downKey> + <_leftKey> + <_rightKey> + <_fireKey> + <_altFireKey> + <_jumpKey> + <_altJumpKey> + <_antiClockwiseKey> + <_clockwiseKey> + <_thrustKey> + <_reverseKey> + + + @since 2.1.0 + + + + @since 2.1.0 + + <_jumpSound> + <_fireSound> + <_walkSound> + <_thrustSound> + + + + + + + + + + + { DecelerationY : 0, DecelerationX : 0 } + * Set the speed at which the sprite will move when a direction key is pressed. + * All values are given in pixels per second. So an xSpeed of 100 would move the sprite 100 pixels in 1 second (1000ms) + * Due to the nature of the internal Flash timer this amount is not 100% accurate and will vary above/below the desired distance by a few pixels. + * + * If you need different speed values for left/right or up/down then use setAdvancedMovementSpeed + * + * @param SpeedX The speed in pixels per second in which the sprite will move/accelerate horizontally + * @param SpeedY The speed in pixels per second in which the sprite will move/accelerate vertically + * @param SpeedMaxX The maximum speed in pixels per second in which the sprite can move horizontally + * @param SpeedMaxY The maximum speed in pixels per second in which the sprite can move vertically + * @param DecelerationX A deceleration speed in pixels per second to apply to the sprites horizontal movement (default 0) + * @param DecelerationY A deceleration speed in pixels per second to apply to the sprites vertical movement (default 0) + + + + + + + + { Acceleration : true } + * If you know you need the same value for the acceleration, maximum speeds and (optionally) deceleration then this is a quick way to set them. + * + * @param Speed The speed in pixels per second in which the sprite will move/accelerate/decelerate + * @param Acceleration If true it will set the speed value as the deceleration value (default) false will leave deceleration disabled + + + + + + + + + + + + + + { DecelerationY : 0, DecelerationX : 0 } + * Set the speed at which the sprite will move when a direction key is pressed. + * All values are given in pixels per second. So an xSpeed of 100 would move the sprite 100 pixels in 1 second (1000ms) + * Due to the nature of the internal Flash timer this amount is not 100% accurate and will vary above/below the desired distance by a few pixels. + * + * If you don't need different speed values for every direction on its own then use setMovementSpeed + * + * @param LeftSpeed The speed in pixels per second in which the sprite will move/accelerate to the left + * @param RightSpeed The speed in pixels per second in which the sprite will move/accelerate to the right + * @param UpSpeed The speed in pixels per second in which the sprite will move/accelerate up + * @param DownSpeed The speed in pixels per second in which the sprite will move/accelerate down + * @param SpeedMaxX The maximum speed in pixels per second in which the sprite can move horizontally + * @param SpeedMaxY The maximum speed in pixels per second in which the sprite can move vertically + * @param DecelerationX Deceleration speed in pixels per second to apply to the sprites horizontal movement (default 0) + * @param DecelerationY Deceleration speed in pixels per second to apply to the sprites vertical movement (default 0) + + + + + + + + + + * Set the speed at which the sprite will rotate when a direction key is pressed. + * Use this in combination with setMovementSpeed to create a Thrust like movement system. + * All values are given in pixels per second. So an xSpeed of 100 would rotate the sprite 100 pixels in 1 second (1000ms) + * Due to the nature of the internal Flash timer this amount is not 100% accurate and will vary above/below the desired distance by a few pixels. + + + + + + + + * @param RotationType + * @param StoppingType + + + + + + + + { LimitVelocity : true } + * Sets the maximum speed (in pixels per second) that the FlxSprite can rotate. + * When the FlxSprite is accelerating (movement type MOVEMENT_ACCELERATES) its speed won't increase above this value. + * However Flixel allows the velocity of an FlxSprite to be set to anything. So if you'd like to check the value and restrain it, then enable "limitVelocity". + * + * @param Speed The maximum speed in pixels per second in which the sprite can rotate + * @param LimitVelocity If true the angular velocity of the FlxSprite will be checked and kept within the limit. If false it can be set to anything. + + + + + + + * Deceleration is a speed (in pixels per second) that is applied to the sprite if stopping type is "DECELERATES" and if no rotation is taking place. + * The velocity of the sprite will be reduced until it reaches zero. + * + * @param Speed The speed in pixels per second at which the sprite will have its angular rotation speed decreased + + + + + + + + * Set minimum and maximum angle limits that the Sprite won't be able to rotate beyond. + * Values must be between -180 and +180. 0 is pointing right, 90 down, 180 left, -90 up. + * + * @param MinimumAngle Minimum angle below which the sprite cannot rotate (must be -180 or above) + * @param MaximumAngle Maximum angle above which the sprite cannot rotate (must be 180 or below) + + + + * Disables rotation limits set in place by setRotationLimits() + + + + + + + + + + { CustomClockwise : "", CustomAntiClockwise : "", UpDown : false, LeftRight : true } + * Set which keys will rotate the sprite. The speed of rotation is set in setRotationSpeed. + * + * @param LeftRight Use the LEFT and RIGHT arrow keys for anti-clockwise and clockwise rotation respectively. + * @param UpDown Use the UP and DOWN arrow keys for anti-clockwise and clockwise rotation respectively. + * @param CustomAntiClockwise The String value of your own key to use for anti-clockwise rotation (as taken from flixel.system.input.Keyboard) + * @param CustomClockwise The String value of your own key to use for clockwise rotation (as taken from flixel.system.input.Keyboard) + + + + + + + + + + { ReverseSpeed : 0 } + * If you want to enable a Thrust like motion for your sprite use this to set the speed and keys. + * This is usually used in conjunction with Rotation and it will over-ride anything already defined in setMovementSpeed. + * + * @param ThrustKey Specify the key String (as taken from flixel.system.input.Keyboard) to use for the Thrust action + * @param ThrustSpeed The speed in pixels per second which the sprite will move. Acceleration or Instant movement is determined by the Movement Type. + * @param ReverseKey If you want to be able to reverse, set the key string as taken from flixel.system.input.Keyboard (defaults to null). + * @param ReverseSpeed The speed in pixels per second which the sprite will reverse. Acceleration or Instant movement is determined by the Movement Type. + + + + + + + + + { LimitVelocity : true } + * Sets the maximum speed (in pixels per second) that the FlxSprite can move. You can set the horizontal and vertical speeds independantly. + * When the FlxSprite is accelerating (movement type MOVEMENT_ACCELERATES) its speed won't increase above this value. + * However Flixel allows the velocity of an FlxSprite to be set to anything. So if you'd like to check the value and restrain it, then enable "limitVelocity". + * + * @param SpeedX The maximum speed in pixels per second in which the sprite can move horizontally + * @param SpeedY The maximum speed in pixels per second in which the sprite can move vertically + * @param LimitVelocity If true the velocity of the FlxSprite will be checked and kept within the limit. If false it can be set to anything. + + + + + + + + * Deceleration is a speed (in pixels per second) that is applied to the sprite if stopping type is "DECELERATES" and if no acceleration is taking place. + * The velocity of the sprite will be reduced until it reaches zero, and can be configured separately per axis. + * + * @param SpeedX The speed in pixels per second at which the sprite will have its horizontal speed decreased + * @param SpeedY The speed in pixels per second at which the sprite will have its vertical speed decreased + + + + + + + + * Gravity can be applied to the sprite, pulling it in any direction. + * Gravity is given in pixels per second and is applied as acceleration. The speed the sprite reaches under gravity will never exceed the Maximum Movement Speeds set. + * If you don't want gravity for a specific direction pass a value of zero. + * + * @param ForceX A positive value applies gravity dragging the sprite to the right. A negative value drags the sprite to the left. Zero disables horizontal gravity. + * @param ForceY A positive value applies gravity dragging the sprite down. A negative value drags the sprite up. Zero disables vertical gravity. + + + + * Switches the gravity applied to the sprite. If gravity was +400 Y (pulling them down) this will swap it to -400 Y (pulling them up) + * To reset call flipGravity again + + + + + + + + { ResetY : true, ResetX : true } + * TODO + * + * @param ResetX + * @param ResetY + + + + + + + + + + * Set sound effects for the movement events jumping, firing, walking and thrust. + * + * @param Jump The FlxSound to play when the user jumps + * @param Fire The FlxSound to play when the user fires + * @param Walk The FlxSound to play when the user walks + * @param Thrust The FlxSound to play when the user thrusts + + + + + + + + + + + { AltKey : "" } + * Enable a fire button + * + * @param Key The key to use as the fire button (String from flixel.system.input.Keyboard, i.e. "SPACE", "CONTROL") + * @param Keymode The FlxControlHandler KEYMODE value (KEYMODE_PRESSED, KEYMODE_JUST_DOWN, KEYMODE_RELEASED) + * @param RepeatDelay Time delay in ms between which the fire action can repeat (0 means instant, 250 would allow it to fire approx. 4 times per second) + * @param Callback A user defined function to call when it fires + * @param AltKey Specify an alternative fire key that works AS WELL AS the primary fire key (TODO) + + + + + + + + + + + + + + { AltKey : "", JumpFromFall : 0, RepeatDelay : 250 } + * Enable a jump button + * + * @param Key The key to use as the jump button (String from flixel.system.input.Keyboard, i.e. "SPACE", "CONTROL") + * @param Keymode The FlxControlHandler KEYMODE value (KEYMODE_PRESSED, KEYMODE_JUST_DOWN, KEYMODE_RELEASED) + * @param Height The height in pixels/sec that the Sprite will attempt to jump (gravity and acceleration can influence this actual height obtained) + * @param Surface A bitwise combination of all valid surfaces the Sprite can jump off (such as FLOOR) + * @param RepeatDelay Time delay in ms between which the jumping can repeat (250 would be 4 times per second) + * @param JumpFromFall A time in ms that allows the Sprite to still jump even if it's just fallen off a platform, if still within ths time limit + * @param Callback A user defined function to call when the Sprite jumps + * @param AltKey Specify an alternative jump key that works AS WELL AS the primary jump key (TODO) + + + + + + + + + + * Limits the sprite to only be allowed within this rectangle. If its x/y coordinates go outside it will be repositioned back inside. + * Coordinates should be given in GAME WORLD pixel values (not screen value, although often they are the two same things) + * + * @param X The x coordinate of the top left corner of the area (in game world pixels) + * @param Y The y coordinate of the top left corner of the area (in game world pixels) + * @param Width The width of the area (in pixels) + * @param Height The height of the area (in pixels) + + + + * Clears any previously set sprite bounds + + + + + + + + + + + + + + + + + * Called by the FlxControl plugin + + + + + + + + + + * Sets Custom Key controls. Useful if none of the pre-defined sets work. All String values should be taken from flixel.system.input.Keyboard + * Pass a blank (empty) String to disable that key from being checked. + * + * @param CustomUpKey The String to use for the Up key. + * @param CustomDownKey The String to use for the Down key. + * @param CustomLeftKey The String to use for the Left key. + * @param CustomRightKey The String to use for the Right key. + + + + + + + + + + { AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true } + * Enables Cursor/Arrow Key controls. Can be set on a per-key basis. Useful if you only want to allow a few keys. + * For example in a Space Invaders game you'd only enable LEFT and RIGHT. + * + * @param AllowUp Enable the UP key + * @param AllowDown Enable the DOWN key + * @param AllowLeft Enable the LEFT key + * @param AllowRight Enable the RIGHT key + + + + + + + + + + { AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true } + * Enables WASD controls. Can be set on a per-key basis. Useful if you only want to allow a few keys. + * For example in a Space Invaders game you'd only enable LEFT and RIGHT. + * + * @param allowUp Enable the up (W) key + * @param allowDown Enable the down (S) key + * @param allowLeft Enable the left (A) key + * @param allowRight Enable the right (D) key + + + + + + + + + + { AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true } + * Enables ESDF (home row) controls. Can be set on a per-key basis. Useful if you only want to allow a few keys. + * For example in a Space Invaders game you'd only enable LEFT and RIGHT. + * + * @param AllowUp Enable the up (E) key + * @param AllowDown Enable the down (D) key + * @param AllowLeft Enable the left (S) key + * @param AllowRight Enable the right (F) key + + + + + + + + + + { AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true } + * Enables IJKL (right-sided or secondary player) controls. Can be set on a per-key basis. Useful if you only want to allow a few keys. + * For example in a Space Invaders game you'd only enable LEFT and RIGHT. + * + * @param AllowUp Enable the up (I) key + * @param AllowDown Enable the down (K) key + * @param AllowLeft Enable the left (J) key + * @param AllowRight Enable the right (L) key + + + + + + + + + + { AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true } + * Enables HJKL (Rogue / Net-Hack) controls. Can be set on a per-key basis. Useful if you only want to allow a few keys. + * For example in a Space Invaders game you'd only enable LEFT and RIGHT. + * + * @param AllowUp Enable the up (K) key + * @param AllowDown Enable the down (J) key + * @param AllowLeft Enable the left (H) key + * @param AllowRight Enable the right (L) key + + + + + + + + + + { AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true } + * Enables ZQSD (Azerty keyboard) controls. Can be set on a per-key basis. Useful if you only want to allow a few keys. + * For example in a Space Invaders game you'd only enable LEFT and RIGHT. + * + * @param AllowUp Enable the up (Z) key + * @param AllowDown Enable the down (Q) key + * @param AllowLeft Enable the left (S) key + * @param AllowRight Enable the right (D) key + + + + + + + + + + { AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true } + * Enables Dvoark Simplified Controls. Can be set on a per-key basis. Useful if you only want to allow a few keys. + * For example in a Space Invaders game you'd only enable LEFT and RIGHT. + * + * @param AllowUp Enable the up (COMMA) key + * @param AllowDown Enable the down (A) key + * @param AllowLeft Enable the left (O) key + * @param AllowRight Enable the right (E) key + + + + + + + + + + { AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true } + * Enables Numpad (left-handed) Controls. Can be set on a per-key basis. Useful if you only want to allow a few keys. + * For example in a Space Invaders game you'd only enable LEFT and RIGHT. + * + * @param AllowUp Enable the up (NUMPADEIGHT) key + * @param AllowDown Enable the down (NUMPADTWO) key + * @param AllowLeft Enable the left (NUMPADFOUR) key + * @param AllowRight Enable the right (NUMPADSIX) key + + + + + + + + + + + { EnableArrowKeys : true, UpdateFacing : false } + * Sets the FlxSprite to be controlled by this class, and defines the initial movement and stopping types. + * After creating an instance of this class you should call setMovementSpeed, and one of the enableXControl functions if you need more than basic cursors. + * + * @param Sprite The FlxSprite you want this class to control. It can only control one FlxSprite at once. + * @param MovementType Set to either MOVEMENT_INSTANT or MOVEMENT_ACCELERATES + * @param StoppingType Set to STOPPING_INSTANT, STOPPING_DECELERATES or STOPPING_NEVER + * @param UpdateFacing If true it sets the FlxSprite.facing value to the direction pressed (default false) + * @param EnableArrowKeys If true it will enable all arrow keys (default) - see setCursorControl for more fine-grained control + + * + * Makes controlling an FlxSprite with the keyboard a LOT easier and quicker to set-up! + * Sometimes it's hard to know what values to set, especially if you want gravity, jumping, sliding, etc. + * This class helps sort that - and adds some cool extra functionality too :) + * + * TODO: Hot Keys + * TODO: Binding of sound effects to keys (seperate from setSounds? as those are event based) + * TODO: Specify animation frames to play based on velocity + * TODO: Variable gravity (based on height, the higher the stronger the effect) + * + * @link http://www.photonstorm.com + * @author Richard Davey / Photon Storm + + + + + + <_hotkeys static="1"> + <_autoSave expr="false" line="33" static="1"> + + false + + <_autoHideMouse expr="false" line="34" static="1"> + + false + + <_region static="1"> + + + + + + + + + 1 you need to account for this here. + * + * @param X The x coordinate (in Flash display space, not Flixel game world) + * @param Y The y coordinate (in Flash display space, not Flixel game world) + * @param Width The width of the grab region + * @param Height The height of the grab region]]> + + + + * Clears a previously defined capture region + + + + + + + + + { HideMouse : false, SaveToFile : false } + * Specify which key will capture a screen shot. Use the String value of the key in the same way FlxG.keys does (so "F1" for example) + * Optionally save the image to a file immediately. This uses the file systems "Save as" dialog window and pauses your game during the process. + * + * @param Key The key(s) you press to capture the screen (i.e. [F1, SPACE]) + * @param SaveToFile If true it will immediately encodes the grab to a PNG and open a "Save As" dialog window when the hotkey is pressed + * @param HideMouse If true the mouse will be hidden before capture and displayed afterwards when the hotkey is pressed + + + + * Clears all previously defined hotkeys + + + + + + + + + { HideMouse : false, SaveToFile : false } + * Takes a screen grab immediately of the given region or a previously defined region + * + * @param CaptureRegion A Rectangle area to capture. This over-rides that set by "defineCaptureRegion". If neither are set the full SWF size is used. + * @param SaveToFile Boolean If set to true it will immediately encode the grab to a PNG and open a "Save As" dialog window + * @param HideMouse Boolean If set to true the mouse will be hidden before capture and displayed again afterwards + * @return Bitmap The screen grab as a Flash Bitmap image + + + + + + + + + + + { Filename : "" } + + + + + + + + * Captures a screen grab of the game and stores it locally, optionally saving as a PNG. + * + * @link http://www.photonstorm.com + * @author Richard Davey / Photon Storm + + + + + + * Method-task to be executed + + + + * If true then the task will be deleted from the manager immediately after execution. + + + + * If true the task will be completed right after it's first call + + + + * Pointer to the next task. + + + + * Destroys the list. + + + + + + + + + + { Instant : false, IgnoreCycle : false } + * Creates a new FlxTask + + * @author Anton Karlov + * @since 08.22.2012 + * @author Zaphod + * @since 11.19.2012 + + + + + + + * This function will be called when all tasks in the task manager are completed + + + + 0 + * Number of tasks in the list + + <_taskList> + + * The list of active tasks + + <_cycle expr="false"> + + false + * Determines whether tasks are performed in a loop + + <_delay expr="0"> + + 0 + * Used to calculate the current pause between tasks + + + + + + + + + { IgnoreCycle : false } + * Adds a task to the end of queue, the method will be executed while it returns false. + * The task will be completed only when the method will return true. And manager will switch to the next task. + * + * @param Function Method-task to be executed in sequence. + * @param IgnoreCycle If true then the task will be deleted from the manager immediately after execution. + + + + + + + + { IgnoreCycle : false } + * Adds a task to the end of queue, the method will be executed only ONCE, after that we go to the next task. + * + * @param Function Method-task to be executed in sequence. + * @param IgnoreCycle If true then the task will be deleted from the manager immediately after execution. + + + + + + + + { IgnoreCycle : false } + * Adds a task to the top of the queue, the method will be executed while it returns false. + * The task will be completed only when the method will return true, and the manager will move to the next task. + * + * @param Function Method-task to be executed in sequence. + * @param IgnoreCycle If true then the task will be deleted from the manager immediately after execution. + + + + + + + + { IgnoreCycle : false } + * Adds a task to the top of the queue, the method will be executed only ONCE, after that we go to the next task. + * + * @param Function Method-task to be executed in sequence. + * @param IgnoreCycle If true then the task will be deleted from the manager immediately after execution. + + + + + + + + { IgnoreCycle : false } + * Adds a pause between tasks + * + * @param Delay Pause duration + * @param IgnoreCycle If true, the pause will be executed only once per cycle + + + + * Removes all the tasks from manager and stops it + + + + + + + { IgnoreCycle : false } + * Move to the next task + * + * @param IgnoreCycle Specifies whether to leave the previous problem in the manager + + + + + + + * Current task processing + + + + + + + * Method-task for a pause between tasks + * + * @param Delay Delay + * @return Returns true when the task is completed + + + + + + + * Adds the specified object to the end of the list + * + * @param Task The FlxTask to be added. + * @return Returns a pointer to the added FlxTask. + + + + + + + * Adds task to the top of task list + * + * @param Task The FlxTask to be added. + * @return Returns a pointer to the added FlxTask + + + + * Removes first task + * + * @return The task that has been removed + + + + + + + + { Cycle : false } + + * The Task Manager is used to perform tasks (call methods) in specified order. + * Allows you to quickly and easily program any action, such as the appearance of the buttons in the game menus. + * Task Manager is started automatically when you add at least one task, and stops when all tasks are done. + * + * @author Anton Karlov + * @since 08.22.2012 + * @author Zaphod + * @since 11.19.2012 + + + + + + 4 + * 2px gutter on both top and bottom + + + + "" + * The text being displayed. + + + + * The size of the text being displayed in pixels. + + + + * The font used for this text (assuming that it's using embedded font). + + + + * Whether this text field uses an embedded font (by default) or not. + * Read-only - use `systemFont` to specify a system font to use, which then automatically sets this to `false`. + + + + * The system font for this text (not embedded). Setting this sets `embedded` to `false`. + * Passing an invalid font name (like `""` or `null`) causes a default font to be used. + + + + * Whether to use bold text or not (`false` by default). + + + + * Whether to use italic text or not (`false` by default). Only works on Flash. + + + + * Whether to use word wrapping and multiline or not (`true` by default). + + + + * The alignment of the font. Note: `autoSize` must be set to + * `false` or `alignment` won't show any visual differences. + + + + NONE + * The border style to use + + + + FlxColor.TRANSPARENT + * The color of the border in `0xAARRGGBB` format + + + + 1 + * The size of the border, in pixels. + + + + 1 + * How many iterations do use when drawing the border. `0`: only 1 iteration, `1`: one iteration for every pixel in `borderSize` + * A value of `1` will have the best quality for large border sizes, but might reduce performance when changing text. + * NOTE: If the `borderSize` is `1`, `borderQuality` of `0` or `1` will have the exact same effect (and performance). + + + + * Reference to a `TextField` object used internally for rendering - + * be sure to know what you're doing if messing with its properties! + + + + + + + + * Whether the `fieldWidth` should be determined automatically. Requires `wordWrap` to be `false`. + + + + * Offset that is applied to the shadow border style, if active. + * `x` and `y` are multiplied by `borderSize`. Default is `(1, 1)`, or lower-right corner. + + <_defaultFormat> + <_formatAdjusted> + <_formatRanges expr="[]"> + + [] + + <_font> + <_regen expr="true"> + + true + * Helper boolean which tells whether to update graphic of this text object or not. + + <_borderPixels> + + * Helper vars to draw border styles with transparency. + + <_borderColorTransform> + <_hasBorderAlpha expr="false"> + + false + + + + * Clean up memory. + + + + + + + { Force : false } + + + + + + + * Stamps text onto specified atlas object and loads graphic from this atlas. + * WARNING: Changing text after stamping it on the atlas will break the atlas, so do it only for + * static texts and only after making all the text customizing (like `size`, `alignment`, `color`, etc.) + * + * @param atlas atlas to stamp graphic to. + * @return whether the graphic was stamped on the atlas successfully + + + + + + + + "); + * text.applyMarkup("Hey @Buddy@, what is going @on?@", [yellow, green]); + * ``` + * + * @param input The text you want to format + * @param rules `FlxTextFormat`s to selectively apply, paired with marker strings]]> + + + + + + + + + { End : -1, Start : -1 } + * Adds another format to this `FlxText` + * + * @param Format The format to be added. + * @param Start The start index of the string where the format will be applied. + * @param End The end index of the string where the format will be applied. + + + + + + + + + * Removes a specific `FlxTextFormat` from this text. + * If a range is specified, this only removes the format when it touches that range. + + + + * Clears all the formats applied. + + + + + + + + + + + + + { EmbeddedFont : true, BorderColor : FlxColor.TRANSPARENT, Color : FlxColor.WHITE, Size : 8 } + * You can use this if you have a lot of text parameters to set instead of the individual properties. + * + * @param Font The name of the font face for the text display. + * @param Size The size of the font (in pixels essentially). + * @param Color The color of the text in `0xRRGGBB` format. + * @param Alignment The desired alignment + * @param BorderStyle Which border style to use + * @param BorderColor Color for the border, `0xAARRGGBB` format + * @param EmbeddedFont Whether this text field uses embedded fonts or not + * @return This `FlxText` instance (nice for chaining stuff together, if you're into that). + + + + + + + + + + { Quality : 1, Size : 1, Color : 0 } + * Set border's style (shadow, outline, etc), color, and size all in one go! + * + * @param Style outline style + * @param Color outline color in `0xAARRGGBB` format + * @param Size outline size in pixels + * @param Quality outline quality - # of iterations to use when drawing. `0`: just 1, `1`: equal number to `Size` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * Internal function to draw textField to a BitmapData, if flash it calculates every line x to avoid blurry lines. + + + + + + + + { RunOnCpp : false } + * Internal function to update the current animation frame. + * + * @param RunOnCpp Whether the frame should also be recalculated if we're on a non-flash target + + + + + + + + + + * Helper function for `applyBorderStyle()` + + + + + + + + { UseBorderColor : false } + + + + + + + + + { withAlign : true } + + + + * A helper function for updating the TextField that we use for rendering. + * + * @return A writable copy of `TextField.defaultTextFormat`. + + + + + + + + + + + + + + + + + { EmbeddedFont : true, Size : 8, FieldWidth : 0, Y : 0, X : 0 } + + + * Extends FlxSprite to support rendering text. Can tint, fade, rotate and scale just like a sprite. Doesn't really animate + * though. Also does nice pixel-perfect centering on pixel fonts as long as they are only one-liners. + + + + + + + * Clean up memory. + + + + + + + + + { Y : 0, X : 0 } + + + + + + + + + { Mask : 0xFF } + + + + + + + + + + + + + + + + + + + + + + + + + + + flixel.FlxCamera + * Called by game loop, updates then blits or renders current frame of animation to the screen + + + + + + + + + + + + + + + + + { EmbeddedFont : true, Size : 8 } + * Creates a new FlxText object at the specified position. + * @param X The X position of the text. + * @param Y The Y position of the text. + * @param Width The width of the text object (height is determined automatically). + * @param Text The actual text you would like to display initially. + * @param EmbeddedFont Whether this text field uses embedded fonts or not + + * Extends FlxText for better support rendering text on cpp target. + * Doesn't have multicamera support. + * Displays over all other objects. + + + + + + + + + Creates a new Sound from an AudioBuffer immediately. + + @param buffer An AudioBuffer instance + @returns A new Sound + + + + + + + Creates a new Sound from a file path synchronously. This means that the + Sound will be returned immediately (if supported). + + HTML5 and Flash do not support creating Sound synchronously, so these targets + always return `null`. + + In order to load files from a remote web address, use the `loadFromFile` method, + which supports asynchronous loading. + + @param path A local file path containing a sound + @returns A new Sound if successful, or `null` if unsuccessful + + + + + + + Creates a new Sound from a file path or web address asynchronously. The file + load will occur in the background. + + Progress, completion and error callbacks will be dispatched in the current + thread using callbacks attached to a returned Future object. + + @param path A local file path or web address containing a sound + @returns A Future Sound + + + + + + + Creates a new Sound from a set of file paths or web addresses asynchronously. + The audio backend will choose the first compatible file format, and will load the file + it selects in the background. + + Progress, completion and error callbacks will be dispatched in the current + thread using callbacks attached to a returned Future object. + + @param paths A set of local file paths or web addresses containing sound + @returns A Future Sound + + + + Returns the currently available number of bytes in this sound object. This + property is usually useful only for externally loaded files. + + + + Returns the total number of bytes in this sound object. + + + + Security.]]> + + + + Returns the buffering state of external MP3 files. If the value is + `true`, any playback is currently suspended while the object + waits for more data. + + + + The length of the current sound in milliseconds. + + + + The URL from which this sound was loaded. This property is applicable only + to Sound objects that were loaded using the `Sound.load()` + method. For Sound objects that are associated with a sound asset from a + SWF file's library, the value of the `url` property is + `null`. + + When you first call `Sound.load()`, the `url` + property initially has a value of `null`, because the final URL + is not yet known. The `url` property will have a non-null value + as soon as an `open` event is dispatched from the Sound + object. + + The `url` property contains the final, absolute URL from + which a sound was loaded. The value of `url` is usually the + same as the value passed to the `stream` parameter of + `Sound.load()`. However, if you passed a relative URL to + `Sound.load()` the value of the `url` property + represents the absolute URL. Additionally, if the original URL request is + redirected by an HTTP server, the value of the `url` property + reflects the final URL from which the sound file was actually downloaded. + This reporting of an absolute, final URL is equivalent to the behavior of + `LoaderInfo.url`. + + In some cases, the value of the `url` property is truncated; + see the `isURLInaccessible` property for details. + + <__buffer> + + + + + + Closes the stream, causing any download of data to cease. No data may + be read from the stream after the `close()` method is called. + + @throws IOError The stream could not be closed, or the stream was not + open. + + + + + + + + { context : null } + Initiates loading of an external MP3 file from the specified URL. If you + provide a valid URLRequest object to the Sound constructor, the + constructor calls `Sound.load()` for you. You only need to call + `Sound.load()` yourself if you don't pass a valid URLRequest + object to the Sound constructor or you pass a `null` value. + + Once `load()` is called on a Sound object, you can't later + load a different sound file into that Sound object. To load a different + sound file, create a new Sound object. + + When using this method, consider the following security model: + + * Calling `Sound.load()` is not allowed if the calling file + is in the local-with-file-system sandbox and the sound is in a network + sandbox. + * Access from the local-trusted or local-with-networking sandbox + requires permission from a website through a URL policy file. + * You cannot connect to commonly reserved ports. For a complete list + of blocked ports, see "Restricting Networking APIs" in the _ActionScript + 3.0 Developer's Guide_. + * You can prevent a SWF file from using this method by setting the + `allowNetworking` parameter of the `object` and + `embed` tags in the HTML page that contains the SWF + content. + + In Flash Player 10 and later, if you use a multipart Content-Type(for + example "multipart/form-data") that contains an upload(indicated by a + "filename" parameter in a "content-disposition" header within the POST + body), the POST operation is subject to the security rules applied to + uploads: + + * The POST operation must be performed in response to a user-initiated + action, such as a mouse click or key press. + * If the POST operation is cross-domain(the POST target is not on the + same server as the SWF file that is sending the POST request), the target + server must provide a URL policy file that permits cross-domain + access. + + + Also, for any multipart Content-Type, the syntax must be valid + (according to the RFC2046 standards). If the syntax appears to be invalid, + the POST operation is subject to the security rules applied to + uploads. + + In Adobe AIR, content in the `application` security sandbox + (content installed with the AIR application) are not restricted by these + security limitations. + + For more information related to security, see the Flash Player + Developer Center Topic: [Security](http://www.adobe.com/go/devnet_security_en). + + @param stream A URL that points to an external MP3 file. + @param context An optional SoundLoader context object, which can define + the buffer time(the minimum number of milliseconds of MP3 + data to hold in the Sound object's buffer) and can specify + whether the application should check for a cross-domain + policy file prior to loading the sound. + @throws IOError A network error caused the load to fail. + @throws IOError The `digest` property of the + `stream` object is not `null`. + You should only set the `digest` property + of a URLRequest object when calling the + `URLLoader.load()` method when loading a + SWZ file(an Adobe platform component). + @throws SecurityError Local untrusted files may not communicate with the + Internet. You can work around this by reclassifying + this file as local-with-networking or trusted. + @throws SecurityError You cannot connect to commonly reserved ports. For a + complete list of blocked ports, see "Restricting + Networking APIs" in the _ActionScript 3.0 + Developer's Guide_. + + + + + + + + Load MP3 sound data from a ByteArray object into a Sound object. The data will be read from the current + ByteArray position and will leave the ByteArray position at the end of the specified bytes length once + finished. If the MP3 sound data contains ID3 data ID3 events will be dispatched during this function call. + This function will throw an exception if the ByteArray object does not contain enough data. + + @param bytes + @param bytesLength + + + + + + + + + + + { sampleRate : 44100, stereo : true, format : "float" } + = 21, this function throws an exception if the amount of audio data passed into this function is + more than 1800 seconds. That is, samples / sampleRate should be less than or equal to 1800. For swf versions < + 21, the runtime fails silently if the amount of audio data passed in is more than 12000 seconds. This is + provided only for backward compatibility. + + This function throws an exception if the ByteArray object does not contain enough data. + + @param bytes + @param samples + @param format + @param stereo + @param sampleRate]]> + + + + + + + + + { sndTransform : null, loops : 0, startTime : 0.0 } + Generates a new SoundChannel object to play back the sound. This method + returns a SoundChannel object, which you access to stop the sound and to + monitor volume.(To control the volume, panning, and balance, access the + SoundTransform object assigned to the sound channel.) + + @param startTime The initial position in milliseconds at which playback + should start. + @param loops Defines the number of times a sound loops back to the + `startTime` value before the sound channel + stops playback. + @param sndTransform The initial SoundTransform object assigned to the + sound channel. + @return A SoundChannel object, which you use to control the sound. This + method returns `null` if you have no sound card or if + you run out of available sound channels. The maximum number of + sound channels available at once is 32. + + + + + + + + + + + + + + + + + + + + + + + { context : null, stream : null } + Creates a new Sound object. If you pass a valid URLRequest object to the + Sound constructor, the constructor automatically calls the + `load()` function for the Sound object. If you do not pass a + valid URLRequest object to the Sound constructor, you must call the + `load()` function for the Sound object yourself, or the stream + will not load. + + Once `load()` is called on a Sound object, you can't later + load a different sound file into that Sound object. To load a different + sound file, create a new Sound object. + In Flash Player 10 and later and AIR 1.5 and later, instead of using + `load()`, you can use the `sampleData` event handler + to load sound dynamically into the Sound object. + + @param stream The URL that points to an external MP3 file. + @param context An optional SoundLoader context object, which can define + the buffer time(the minimum number of milliseconds of MP3 + data to hold in the Sound object's buffer) and can specify + whether the application should check for a cross-domain + policy file prior to loading the sound. + + The Sound class lets you work with sound in an application. The Sound class + lets you create a Sound object, load and play an external MP3 file into + that object, close the sound stream, and access data about the sound, such + as information about the number of bytes in the stream and ID3 metadata. + More detailed control of the sound is performed through the sound source + - the SoundChannel or Microphone object for the sound - and through the + properties in the SoundTransform class that control the output of the sound + to the computer's speakers. + + In Flash Player 10 and later and AIR 1.5 and later, you can also use + this class to work with sound that is generated dynamically. In this case, + the Sound object uses the function you assign to a `sampleData` + event handler to poll for sound data. The sound is played as it is + retrieved from a ByteArray object that you populate with sound data. You + can use `Sound.extract()` to extract sound data from a Sound + object, after which you can manipulate it before writing it back to the + stream for playback. + + To control sounds that are embedded in a SWF file, use the properties in + the SoundMixer class. + + **Note**: The ActionScript 3.0 Sound API differs from ActionScript + 2.0. In ActionScript 3.0, you cannot take sound objects and arrange them in + a hierarchy to control their properties. + + When you use this class, consider the following security model: + + + * Loading and playing a sound is not allowed if the calling file is in + a network sandbox and the sound file to be loaded is local. + * By default, loading and playing a sound is not allowed if the calling + file is local and tries to load and play a remote sound. A user must grant + explicit permission to allow this type of access. + * Certain operations dealing with sound are restricted. The data in a + loaded sound cannot be accessed by a file in a different domain unless you + implement a cross-domain policy file. Sound-related APIs that fall under + this restriction are `Sound.id3`, + `SoundMixer.computeSpectrum()`, + `SoundMixer.bufferTime`, and the `SoundTransform` + class. + + + However, in Adobe AIR, content in the `application` security + sandbox(content installed with the AIR application) are not restricted by + these security limitations. + + For more information related to security, see the Flash Player Developer + Center Topic: [Security](http://www.adobe.com/go/devnet_security_en). + + @event complete Dispatched when data has loaded successfully. + @event id3 Dispatched by a Sound object when ID3 data is available + for an MP3 sound. + @event ioError Dispatched when an input/output error occurs that causes + a load operation to fail. + @event open Dispatched when a load operation starts. + @event progress Dispatched when data is received as a load operation + progresses. + @event sampleData Dispatched when the runtime requests new audio data. + + + "tags=\"haxe,release\"" + + lime.media.AudioBuffer + lime.utils.AssetLibrary + openfl.media.SoundMixer + openfl.media.SoundChannel.new + openfl.utils._internal.AssetsMacro.embedSound() + + + + + + + "__ASSET__:sound_flixel_addons_text_TypeSound" + + + + + + + + + openfl.utils._internal.AssetsMacro.embedSound() + openfl.utils._internal.AssetsMacro.embedSound() + "assets/sounds/type.ogg" + + + + + + + "" + * Helper string to reduce garbage generation. + + + + 0.05 + * The delay between each character, in seconds. + + + + 0.02 + * The delay between each character erasure, in seconds. + + + + false + * Set to true to show a blinking cursor at the end of the text. + + + + "|" + * The character to blink at the end of the text. + + + + 0.5 + * The speed at which the cursor should blink, if shown at all. + + + + "" + * Text to add at the beginning, without animating. + + + + false + * Whether or not to erase this message when it is complete. + + + + 1.0 + * How long to pause after finishing the text before erasing it. Only used if autoErase is true. + + + + false + * Whether or not to animate the text. Set to false by start() and erase(). + + + + * The sounds that are played when letters are added; optional. + + + + false + * Whether or not to use the default typing sound. + + + + false + * Whether typing sound effects should always be played in their entirety, or if it's ok to restart them on new letters. + * For longer typing sounds, setting this to `true` usually makes more sense. + * @since 2.4.0 + + + + [] + * An array of keys (e.g. `[FlxKey.SPACE, FlxKey.L]`) that will advance the text. + + + + * This function is called when the message is done typing. + + + + * This function is called when the message is done erasing, if that is enabled. + + <_finalText expr=""""> + + "" + * The text that will ultimately be displayed. + + <_timer expr="0.0"> + + 0.0 + * This is incremented every frame by elapsed, and when greater than delay, adds the next letter. + + <_waitTimer expr="0.0"> + + 0.0 + * A timer that is used while waiting between typing and erasing. + + <_length expr="0"> + + 0 + * Internal tracker for current string length, not counting the prefix. + + <_typing expr="false"> + + false + * Whether or not to type the text. Set to true by start() and false by pause(). + + <_erasing expr="false"> + + false + * Whether or not to erase the text. Set to true by erase() and false by pause(). + + <_waiting expr="false"> + + false + * Whether or not we're waiting between the type and erase phases. + + <_cursorTimer expr="0.0"> + + 0.0 + * Internal tracker for cursor blink time. + + <_typingVariation expr="false"> + + false + * Whether or not to add a "natural" uneven rhythm to the typing speed. + + <_typeVarPercent expr="0.5"> + + 0.5 + * How much to vary typing speed, as a percent. So, at 0.5, each letter will be "typed" up to 50% sooner or later than the delay variable is set. + + <_sound> + + * Internal reference to the default sound object. + + + + + + + + + + + { AutoErase : false, ForceRestart : false } + * Start the text animation. + * + * @param Delay Optionally, set the delay between characters. Can also be set separately. + * @param ForceRestart Whether or not to start this animation over if currently animating; false by default. + * @param AutoErase Whether or not to begin the erase animation when the typing animation is complete. + * Can also be set separately. + * @param SkipKeys An array of keys as string values (e.g. `[FlxKey.SPACE, FlxKey.L]`) that will advance the text. + * Can also be set separately. + * @param Callback An optional callback function, to be called when the typing animation is complete. + + + + + + + + + * Internal function that replace last space in a line for a line break. + * To prevent a word start typing in a line and jump to next. + + + + + + + + + + { ForceRestart : false } + * Begin an animated erase of this text. + * + * @param Delay Optionally, set the delay between characters. Can also be set separately. + * @param ForceRestart Whether or not to start this animation over if currently animating; false by default. + * @param SkipKeys An array of keys as string values (e.g. `[FlxKey.SPACE, FlxKey.L]`) that will advance the text. Can also be set separately. + * @param Callback An optional callback function, to be called when the erasing animation is complete. + * @param Params Optional parameters to pass to the callback function. + + + + + + + * Reset the text with a new text string. Automatically cancels typing, and erasing. + * + * @param Text The text that will ultimately be displayed. + + + + + + + + { On : true, Amount : 0.5 } + 0 and <1. + * @param On Whether or not to add the random variation. True by default.]]> + + + + * Internal function that is called when typing is complete. + + + + + + + + + * Immediately finishes the animation. Called if any of the skipKeys is pressed. + * Handy for custom skipping behaviour (for example with different inputs like mouse or gamepad). + + + + + + + + + + + + + { EmbeddedFont : true, Size : 8 } + * Create a FlxTypeText object, which is very similar to FlxText except that the text is initially hidden and can be + * animated one character at a time by calling start(). + * + * @param X The X position for this object. + * @param Y The Y position for this object. + * @param Width The width of this object. Text wraps automatically. + * @param Text The text that will ultimately be displayed. + * @param Size The size of the text. + * @param EmbeddedFont Whether this text field uses embedded fonts or not. + + + + + + + + + + + * Convert a matrix generated via generateCaveMatrix() into data + * that is usable by FlxTilemap. + * + * @param Matrix A matrix of data + * @return A string that is usuable for FlxTilemap.loadMap() + + + + + + + + + + { WallRatio : 0.5, SmoothingIterations : 6 } + * Generate the matrix (2-dimensional array of Ints) for a cave. + * + * @param Columns Number of columns for the matrix + * @param Rows Number of rows for the matrix + * @param SmoothingIterations How many times do you want to "smooth" the caev - the higher the smoother, but slower + * @param WallRatio Chance for a tile to become a wall - the closer the value is to 1.0, the more walls there are + * @return Returns a matrix of a cave! + + + + + + + + + + { WallRatio : 0.5, SmoothingIterations : 6 } + * Generates a new cave matrix via generateCaveMatrix() and returns it in a format + * usable by FlxTilemap.load() via convertMatrixToString(). + * + * @param Columns Number of columns for the matrix + * @param Rows Number of rows for the matrix + * @param SmoothingIterations How many times do you want to "smooth" the caev - the higher the smoother, but slower + * @param WallRatio Chance for a tile to become a wall - the closer the value is to 1.0, the more walls there are + * @return A cave string that is usable by FlxTilemap.loadMap() + + + + + + + + * Creates a matrix (2-dimensional array of Ints) of an empty cave consisting of zeros only. + * + * @param Columns Number of columns for the matrix + * @param Rows Number of rows for the matrix + * @return Spits out a matrix that is columns * rows big, initiated with zeros + + + + + + + + + + { Distance : 1 } + * @param Matrix Matrix of data (0 = empty, 1 = wall) + * @param PosX Column we are examining + * @param PosY Row we are exampining + * @param Distance Radius of how far to check for neighbors + * @return Number of walls around the target, including itself + + + + + + + + * Use the 4-5 rule to smooth cells + + * This class uses the cellular automata algorithm + * to generate very sexy caves. + * (Coded by Eddie Lee, October 16, 2010) + + + + + + * String name of the animation (e.g. "walk") + + + + * Seconds between frames (basically the framerate) + + + + * A list of frames stored as int objects + + + + * Whether or not the animation is looped + + + + * An array of dynamic elements that let you add arbritary data to each frame + + + + * Animation frameRate - the speed in frames per second that the animation should play at. + + + + * Clean up memory. + + + + + + + + + + + + + + + { Looped : true, FrameRate : 0 } + * @param Name What this animation should be called (e.g. "run") + * @param Frames An array of numbers indicating what frames to play in what order (e.g. 1, 2, 3) + * @param FrameRate The speed in frames per second that the animation should play at (e.g. 40) + * @param Looped Whether or not the animation is looped or just plays once + * @param FramesData An array of dynamic elements that let you add arbritary data to each frame + + + + + + + + 0 + + + + 1 + + + + 2 + + + + false + + + + false + + + + + + 0 + + + <_tmp_flipH> + <_tmp_flipV> + <_tmp_rot> + <_matrix> + + <_currIndex expr="0"> + + 0 + + <_lastIndex expr="-1"> + + -1 + + <_currAnimParam> + <_frameTimer expr="0.0"> + + 0.0 + + + + true + + + + + + + + + + + + + + + + + + + + + + { frameRate : 30 } + * Add an animation to this special tile + * @param tiles An array with the tilesetID of each frame + * @param frameRate The speed of the animation in frames per second (Default: 30) + + + + + + + * Creates tile animation and copies data from specified sprite animation (name, frame ids, framerate and looping); + * @param anim Animation to copy data from + + + + * Calculates and return the matrix + * @param width the tile width + * @param height the tile height + * @return The matrix calculated + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Calculates the distance between two `Vector2` points + @param pt1 A `Vector2` instance + @param pt2 A second `Vector2` instance + @return The distance between each `Vector2` + + + + + + + + + + { result : null } + Interpolates between two points, given a specified percentage value + @param pt1 A `Vector2` instance + @param pt2 A second `Vector2` instance + @param f A percentage value to interpolate + @param result (Optional) A `Vector2` instance to use for the result + @return A `Vector2` instance holding the interpolated value + + + + + + + + + { result : null } + Converts a polar coordinate to into a cartesian `Vector2` instance + @param len The length of the polar value + @param angle The angle of the polar value + @param result (Optional) A `Vector2` instance to store the result + @return A `Vector2` instance in cartesian coordinates + + + + Gets the length of this vector from (0, 0) to (x, y) + + + + Gets the square of the length of this vector, which + avoids use of `Math.sqrt` for faster performance + + + + The x coodinate for this vector + + + + The y coodinate for this vector + + + + + + + + { result : null } + Adds the current vector to a second `Vector2` instance + and returns the result + @param v A `Vector2` instance to add + @param result (Optional) A `Vector2` instance to store the result + @return A `Vector2` instance that combines both vector values + + + + Clones the current `Vector2` + @return A new `Vector2` instance with the same values as the current one + + + + + + + Whether this `Vector2` has the same values as another instance + @param toCompare A `Vector2` instance to compare against + @return Whether the values of each vector are equal + + + + + + + Normalizes this vector between the current length and a set scale value + @param thickness The scaling value. . For example, if the current vector is `(0, 5)` and you normalize it to 1, the normalized value will be `(0, 1)` + + + + + + + + Offsets the current value of this vector + @param dx An offset x value + @param dy An offset y value + + + + + + + + Sets this `Vector2` to new values + @param xa An `x` value + @param ya A `y` value + + + + + + + + { result : null } + Subtracts the current vector from another `Vector2` instance + @param v A `Vector2` instance to subtract from the current vector + @param result (Optional) A `Vector2` instance to store the result + @return A `Vector2` instance containing the subtracted values + + <__toFlashPoint set="method" line="181"> + + + + + + + + + + + + + + + + + + { y : 0, x : 0 } + Creates a new `Vector` instance + @param x (Optional) An initial `x` value (default is 0) + @param y (Optional) An initial `y` value (default is 0) + + The `Vector2` class can be used for calculating math with + basic (x, y) coordinates + + + "tags=\"haxe,release\"" + + + + + + + + + 14 + + + + <__supportsBGRA expr="null" line="127" static="1"> + + + null + + + + <__textureFormat static="1"> + + + + <__textureInternalFormat static="1"> + + + + <__tempVector expr="new Vector2()" line="131" static="1"> + + + new Vector2() + + + + + + + + + + Creates a new BitmapData instance from Base64-encoded data synchronously. This means + that the BitmapData will be returned immediately (if supported). + + HTML5 and Flash do not support creating BitmapData synchronously, so these targets + always return `null`. Other targets will return `null` if decoding was unsuccessful. + + @param base64 Base64-encoded data + @param type The MIME-type for the encoded data ("image/jpeg", etc) + @returns A new BitmapData if successful, or `null` if unsuccessful + + + + + + + + { rawAlpha : null } + Creates a new BitmapData from bytes (a haxe.io.Bytes or openfl.utils.ByteArray) + synchronously. This means that the BitmapData will be returned immediately (if + supported). + + HTML5 and Flash do not support creating BitmapData synchronously, so these targets + always return `null`. Other targets will return `null` if decoding was unsuccessful. + + The optional `rawAlpha` parameter makes it easier to process images that have alpha + data stored separately. + + @param bytes A haxe.io.Bytes or openfl.utils.ByteArray instance + @param rawAlpha An optional byte array with alpha data + @returns A new BitmapData if successful, or `null` if unsuccessful + + + + + + + Creates a new BitmapData from a file path synchronously. This means that the + BitmapData will be returned immediately (if supported). + + HTML5 and Flash do not support creating BitmapData synchronously, so these targets + always return `null`. + + In order to load files from a remote web address, use the `loadFromFile` method, + which supports asynchronous loading. + + @param path A local file path containing an image + @returns A new BitmapData if successful, or `null` if unsuccessful + + + + + + + + { transparent : true } + Creates a new BitmapData using an existing Lime Image instance. + + @param image A Lime Image object + @param transparent Whether the new BitmapData object should be considered + transparent + @returns A new BitmapData if the Image (and associated ImageBuffer) are not + `null`, otherwise `null` will be returned + + + + + + + **BETA** + + Creates a new BitmapData instance from a Stage3D rectangle texture. + + This method is not supported by the Flash target. + + @param texture A Texture or RectangleTexture instance + @returns A new BitmapData if successful, or `null` if unsuccessful + + + + + + + + Creates a new BitmapData from Base64-encoded data asynchronously. The data + and (if successful) decoding the data into an image occur in the background. + Progress, completion and error callbacks will be dispatched in the current + thread using callbacks attached to a returned Future object. + + @param base64 Base64-encoded data + @param type The MIME-type for the encoded data ("image/jpeg", etc) + @returns A Future BitmapData + + + + + + + + { rawAlpha : null } + Creates a new BitmapData from haxe.io.Bytes or openfl.utils.ByteArray data + asynchronously. The data and image decoding will occur in the background. + Progress, completion and error callbacks will be dispatched in the current + thread using callbacks attached to a returned Future object. + + The optional `rawAlpha` parameter makes it easier to process images that have alpha + data stored separately. + + @param bytes A haxe.io.Bytes or openfl.utils.ByteArray instance + @param rawAlpha An optional byte array with alpha data + @returns A Future BitmapData + + + + + + + Creates a new BitmapData from a file path or web address asynchronously. The file + load and image decoding will occur in the background. + Progress, completion and error callbacks will be dispatched in the current + thread using callbacks attached to a returned Future object. + + @param path A local file path or web address containing an image + @returns A Future BitmapData + + + + The height of the bitmap image in pixels. + + + + "checkstyle:Dynamic" + The Lime image that holds the pixels for the current image. + + In Flash Player, this property is always `null`. + + + + + Defines whether the bitmap image is readable. Hardware-only bitmap images + do not support `getPixels`, `setPixels` and other + BitmapData methods, though they can still be used inside a Bitmap object + or other display objects that do not need to modify the pixels. + + As an exception to the rule, `bitmapData.draw` is supported for + non-readable bitmap images. + + Since non-readable bitmap images do not have a software image buffer, they + will need to be recreated if the current hardware rendering context is lost. + + + + The rectangle that defines the size and location of the bitmap image. The + top and left of the rectangle are 0; the width and height are equal to the + width and height in pixels of the BitmapData object. + + + + Defines whether the bitmap image supports per-pixel transparency. You can + set this value only when you construct a BitmapData object by passing in + `true` for the `transparent` parameter of the + constructor. Then, after you create a BitmapData object, you can check + whether it supports per-pixel transparency by determining if the value of + the `transparent` property is `true`. + + + + The width of the bitmap image in pixels. + + <__blendMode> + + + + <__drawableType> + + + + <__framebuffer> + + + + <__framebufferContext> + + + "checkstyle:Dynamic" + + + + <__indexBuffer> + + + + <__indexBufferContext> + + + "checkstyle:Dynamic" + + + + <__indexBufferData> + + + + <__indexBufferGrid> + + + + <__isMask> + + + + <__isValid> + + + + <__mask> + + + + <__renderable> + + + + <__renderTransform> + + + + <__scrollRect> + + + + <__stencilBuffer> + + + + <__surface> + + + "checkstyle:Dynamic" + + + + <__texture> + + + + <__textureContext> + + + "checkstyle:Dynamic" + + + + <__textureHeight> + + + + <__textureVersion> + + + + <__textureWidth> + + + + <__transform> + + + + <__uvRect> + + + + <__vertexBuffer> + + + + <__vertexBufferContext> + + + "checkstyle:Dynamic" + + + + <__vertexBufferData> + + + + <__vertexBufferGrid> + + + + <__vertexBufferHeight> + + + + <__vertexBufferScaleX> + + + + <__vertexBufferScaleY> + + + + <__vertexBufferWidth> + + + + <__worldAlpha> + + + + <__worldColorTransform> + + + + <__worldTransform> + + + + + + + + + + + + Takes a source image and a filter object and generates the filtered image. + + This method relies on the behavior of built-in filter objects, which determine the + destination rectangle that is affected by an input source rectangle. + + After a filter is applied, the resulting image can be larger than the input image. + For example, if you use a BlurFilter class to blur a source rectangle of(50,50,100,100) + and a destination point of(10,10), the area that changes in the destination image is + larger than(10,10,60,60) because of the blurring. This happens internally during the + applyFilter() call. + + If the `sourceRect` parameter of the sourceBitmapData parameter is an + interior region, such as(50,50,100,100) in a 200 x 200 image, the filter uses the source + pixels outside the `sourceRect` parameter to generate the destination rectangle. + + If the BitmapData object and the object specified as the `sourceBitmapData` + parameter are the same object, the application uses a temporary copy of the object to + perform the filter. For best performance, avoid this situation. + + @param sourceBitmapData The input bitmap image to use. The source image can be a different BitmapData object or it can refer to the current BitmapData instance. + @param sourceRect A rectangle that defines the area of the source image to use as input. + @param destPoint The point within the destination image(the current BitmapData instance) that corresponds to the upper-left corner of the source rectangle. + @param filter The filter object that you use to perform the filtering operation. + + + + Returns a new BitmapData object that is a clone of the original instance with an exact copy of the contained bitmap. + @return A new BitmapData object that is identical to the original. + + + + + + + + Adjusts the color values in a specified area of a bitmap image by using a `ColorTransform` + object. If the rectangle matches the boundaries of the bitmap image, this method transforms the color + values of the entire image. + @param rect A Rectangle object that defines the area of the image in which the ColorTransform object is applied. + @param colorTransform A ColorTransform object that describes the color transformation values to apply. + + + + + + + "checkstyle:Dynamic" + Compares two BitmapData objects. If the two BitmapData objects have the same dimensions (width and height), the method returns a new BitmapData object, in which each pixel is the "difference" between the pixels in the two source objects: + + - If two pixels are equal, the difference pixel is 0x00000000. + - If two pixels have different RGB values (ignoring the alpha value), the difference pixel is 0xFFRRGGBB where RR/GG/BB are the individual difference values between red, green, and blue channels. Alpha channel differences are ignored in this case. + - If only the alpha channel value is different, the pixel value is 0xZZFFFFFF, where ZZ is the difference in the alpha value. + + @param otherBitmapData The BitmapData object to compare with the source BitmapData object. + @return If the two BitmapData objects have the same dimensions (width and height), the method returns a new BitmapData object that has the difference between the two objects (see the main discussion).If the BitmapData objects are equivalent, the method returns the number 0. If no argument is passed or if the argument is not a BitmapData object, the method returns -1. If either BitmapData object has been disposed of, the method returns -2. If the widths of the BitmapData objects are not equal, the method returns the number -3. If the heights of the BitmapData objects are not equal, the method returns the number -4. + + + + + + + + + + + Transfers data from one channel of another BitmapData object or the + current BitmapData object into a channel of the current BitmapData object. + All of the data in the other channels in the destination BitmapData object + are preserved. + + The source channel value and destination channel value can be one of + following values: + + * `BitmapDataChannel.RED` + * `BitmapDataChannel.GREEN` + * `BitmapDataChannel.BLUE` + * `BitmapDataChannel.ALPHA` + + + @param sourceBitmapData The input bitmap image to use. The source image + can be a different BitmapData object or it can + refer to the current BitmapData object. + @param sourceRect The source Rectangle object. To copy only channel + data from a smaller area within the bitmap, + specify a source rectangle that is smaller than + the overall size of the BitmapData object. + @param destPoint The destination Point object that represents the + upper-left corner of the rectangular area where + the new channel data is placed. To copy only + channel data from one area to a different area in + the destination image, specify a point other than + (0,0). + @param sourceChannel The source channel. Use a value from the + BitmapDataChannel class + (`BitmapDataChannel.RED`, + `BitmapDataChannel.BLUE`, + `BitmapDataChannel.GREEN`, + `BitmapDataChannel.ALPHA`). + @param destChannel The destination channel. Use a value from the + BitmapDataChannel class + (`BitmapDataChannel.RED`, + `BitmapDataChannel.BLUE`, + `BitmapDataChannel.GREEN`, + `BitmapDataChannel.ALPHA`). + @throws TypeError The sourceBitmapData, sourceRect or destPoint are null. + + + + + + + + + + + + { mergeAlpha : false, alphaPoint : null, alphaBitmapData : null } + Provides a fast routine to perform pixel manipulation between images with + no stretching, rotation, or color effects. This method copies a + rectangular area of a source image to a rectangular area of the same size + at the destination point of the destination BitmapData object. + + If you include the `alphaBitmap` and `alphaPoint` + parameters, you can use a secondary image as an alpha source for the + source image. If the source image has alpha data, both sets of alpha data + are used to composite pixels from the source image to the destination + image. The `alphaPoint` parameter is the point in the alpha + image that corresponds to the upper-left corner of the source rectangle. + Any pixels outside the intersection of the source image and alpha image + are not copied to the destination image. + + The `mergeAlpha` property controls whether or not the alpha + channel is used when a transparent image is copied onto another + transparent image. To copy pixels with the alpha channel data, set the + `mergeAlpha` property to `true`. By default, the + `mergeAlpha` property is `false`. + + @param sourceBitmapData The input bitmap image from which to copy pixels. + The source image can be a different BitmapData + instance, or it can refer to the current + BitmapData instance. + @param sourceRect A rectangle that defines the area of the source + image to use as input. + @param destPoint The destination point that represents the + upper-left corner of the rectangular area where + the new pixels are placed. + @param alphaBitmapData A secondary, alpha BitmapData object source. + @param alphaPoint The point in the alpha BitmapData object source + that corresponds to the upper-left corner of the + `sourceRect` parameter. + @param mergeAlpha To use the alpha channel, set the value to + `true`. To copy pixels with no alpha + channel, set the value to `false`. + @throws TypeError The sourceBitmapData, sourceRect, destPoint are null. + + + + Frees memory that is used to store the BitmapData object. + + When the `dispose()` method is called on an image, the width + and height of the image are set to 0. All subsequent calls to methods or + properties of this BitmapData instance fail, and an exception is thrown. + + + `BitmapData.dispose()` releases the memory occupied by the + actual bitmap data, immediately(a bitmap can consume up to 64 MB of + memory). After using `BitmapData.dispose()`, the BitmapData + object is no longer usable and an exception may be thrown if + you call functions on the BitmapData object. However, + `BitmapData.dispose()` does not garbage collect the BitmapData + object(approximately 128 bytes); the memory occupied by the actual + BitmapData object is released at the time the BitmapData object is + collected by the garbage collector. + + + + + Frees the backing Lime image buffer, if possible. + + When using a software renderer, such as Flash Player or desktop targets + without OpenGL, the software buffer will be retained so that the BitmapData + will work properly. When using a hardware renderer, the Lime image + buffer will be available to garbage collection after a hardware texture + has been created internally. + + `BitmapData.disposeImage()` will immediately change the value of + the `readable` property to `false`. + + + + + + + + + + + + { smoothing : false, clipRect : null, blendMode : null, colorTransform : null, matrix : null } + Draws the `source` display object onto the bitmap image, using + the OpenFL software renderer. You can specify `matrix`, + `colorTransform`, `blendMode`, and a destination + `clipRect` parameter to control how the rendering performs. + Optionally, you can specify whether the bitmap should be smoothed when + scaled(this works only if the source object is a BitmapData object). + + The source display object does not use any of its applied + transformations for this call. It is treated as it exists in the library + or file, with no matrix transform, no color transform, and no blend mode. + To draw a display object(such as a movie clip) by using its own transform + properties, you can copy its `transform` property object to the + `transform` property of the Bitmap object that uses the + BitmapData object. + + @param source The display object or BitmapData object to draw to + the BitmapData object.(The DisplayObject and + BitmapData classes implement the IBitmapDrawable + interface.) + @param matrix A Matrix object used to scale, rotate, or translate + the coordinates of the bitmap. If you do not want to + apply a matrix transformation to the image, set this + parameter to an identity matrix, created with the + default `new Matrix()` constructor, or + pass a `null` value. + @param colorTransform A ColorTransform object that you use to adjust the + color values of the bitmap. If no object is + supplied, the bitmap image's colors are not + transformed. If you must pass this parameter but you + do not want to transform the image, set this + parameter to a ColorTransform object created with + the default `new ColorTransform()` + constructor. + @param blendMode A string value, from the openfl.display.BlendMode + class, specifying the blend mode to be applied to + the resulting bitmap. + @param clipRect A Rectangle object that defines the area of the + source object to draw. If you do not supply this + value, no clipping occurs and the entire source + object is drawn. + @param smoothing A Boolean value that determines whether a BitmapData + object is smoothed when scaled or rotated, due to a + scaling or rotation in the `matrix` + parameter. The `smoothing` parameter only + applies if the `source` parameter is a + BitmapData object. With `smoothing` set + to `false`, the rotated or scaled + BitmapData image can appear pixelated or jagged. For + example, the following two images use the same + BitmapData object for the `source` + parameter, but the `smoothing` parameter + is set to `true` on the left and + `false` on the right: + + ![Two images: the left one with smoothing and the right one without smoothing.](/images/bitmapData_draw_smoothing.jpg) + + Drawing a bitmap with `smoothing` set + to `true` takes longer than doing so with + `smoothing` set to + `false`. + @throws ArgumentError The `source` parameter is not a + BitmapData or DisplayObject object. + @throws ArgumentError The source is null or not a valid IBitmapDrawable + object. + @throws SecurityError The `source` object and(in the case of a + Sprite or MovieClip object) all of its child objects + do not come from the same domain as the caller, or + are not in a content that is accessible to the + caller by having called the + `Security.allowDomain()` method. This + restriction does not apply to AIR content in the + application security sandbox. + + + + + + + + + + + + + { quality : null, smoothing : false, clipRect : null, blendMode : null, colorTransform : null, matrix : null } + Draws the `source` display object onto the bitmap image, using the Flash runtime + vector renderer. You can specify `matrix`, `colorTransform`, `blendMode`, and a + destination `clipRect` parameter to control how the rendering performs. + Optionally, you can specify whether the bitmap should be smoothed when scaled + (this works only if the source object is a BitmapData object). + + **Note:** The `drawWithQuality()` method works exactly like the `draw()` method, + but instead of using the `Stage.quality` property to determine the quality of + vector rendering, you specify the `quality` parameter to the `drawWithQuality()` + method. + + This method directly corresponds to how objects are drawn with the standard + vector renderer for objects in the authoring tool interface. + + The source display object does not use any of its applied transformations for + this call. It is treated as it exists in the library or file, with no matrix + transform, no color transform, and no blend mode. To draw a display object + (such as a movie clip) by using its own transform properties, you can copy its + `transform` property object to the `transform` property of the Bitmap object that + uses the BitmapData object. + + This method is supported over RTMP in Flash Player 9.0.115.0 and later and in + Adobe AIR. You can control access to streams on Flash Media Server in a + server-side script. For more information, see the `Client.audioSampleAccess` and + `Client.videoSampleAccess` properties in Server-Side ActionScript Language + Reference for Adobe Flash Media Server. + + If the source object and (in the case of a Sprite or MovieClip object) all of + its child objects do not come from the same domain as the caller, or are not in + a content that is accessible to the caller by having called the + `Security.allowDomain()` method, a call to the `drawWithQuality()` throws a + SecurityError exception. This restriction does not apply to AIR content in the + application security sandbox. + + There are also restrictions on using a loaded bitmap image as the source. A call + to the `drawWithQuality()` method is successful if the loaded image comes from the + same domain as the caller. Also, a cross-domain policy file on the image's server + can grant permission to the domain of the SWF content calling the + `drawWithQuality()` method. In this case, you must set the `checkPolicyFile` property + of a LoaderContext object, and use this object as the `context` parameter when + calling the `load()` method of the Loader object used to load the image. These + restrictions do not apply to AIR content in the application security sandbox. + + On Windows, the `drawWithQuality()` method cannot capture SWF content embedded in an + HTML page in an HTMLLoader object in Adobe AIR. + + The `drawWithQuality()` method cannot capture PDF content in Adobe AIR. Nor can it + capture or SWF content embedded in HTML in which the `wmode` attribute is set to + `"window"` in Adobe AIR. + + @param source The display object or BitmapData object to draw to the BitmapData + object. (The DisplayObject and BitmapData classes implement the IBitmapDrawable + interface.) + @param matrix A Matrix object used to scale, rotate, or translate the coordinates + of the bitmap. If you do not want to apply a matrix transformation to the image, + set this parameter to an identity matrix, created with the default `new Matrix()` + constructor, or pass a `null` value. + @param colorTransform A ColorTransform object that you use to adjust the color + values of the bitmap. If no object is supplied, the bitmap image's colors are not + transformed. If you must pass this parameter but you do not want to transform the + image, set this parameter to a ColorTransform object created with the default + `new ColorTransform()` constructor. + @param blendMode A string value, from the flash.display.BlendMode class, + specifying the blend mode to be applied to the resulting bitmap. + @param clipRect A Rectangle object that defines the area of the source object + to draw. If you do not supply this value, no clipping occurs and the entire source + object is drawn. + @param smoothing A Boolean value that determines whether a BitmapData object is + smoothed when scaled or rotated, due to a scaling or rotation in the `matrix` + parameter. The smoothing parameter only applies if the `source` parameter is a + BitmapData object. With `smoothing` set to `false`, the rotated or scaled BitmapData + image can appear pixelated or jagged. For example, the following two images use the + same BitmapData object for the `source` parameter, but the `smoothing` parameter is + set to `true` on the left and `false` on the right: + ![Two images: the left one with smoothing and the right one without smoothing.](/images/bitmapData_draw_smoothing.jpg) + Drawing a bitmap with `smoothing` set to `true` takes longer than doing so with + `smoothing` set to `false`. + @param quality Any of one of the StageQuality values. Selects the antialiasing + quality to be used when drawing vectors graphics. + @throws ArgumentError The source parameter is not a BitmapData or DisplayObject + object. + @throws SecurityError The source object and (in the case of a Sprite or MovieClip + object) all of its child objects do not come from the same domain as the caller, + or are not in a content that is accessible to the caller by having called the + `Security.allowDomain()` method. This restriction does not apply to AIR content + in the application security sandbox. + @throws ArgumentError The source is `null` or not a valid IBitmapDrawable object. + + + + + + + + + { byteArray : null } + Compresses this BitmapData object using the selected compressor algorithm and + returns a new ByteArray object. Optionally, writes the resulting data to the + specified ByteArray. The `compressor` argument specifies the encoding algorithm, + and can be PNGEncoderOptions, JPEGEncoderOptions, or JPEGXREncoderOptions. + + The following example compresses a BitmapData object using the JPEGEncoderOptions: + + ```haxe + // Compress a BitmapData object as a JPEG file. + var bitmapData:BitmapData = new BitmapData(640,480,false,0x00FF00); + var byteArray:ByteArray = new ByteArray(); + bitmapData.encode(new Rectangle(0,0,640,480), new openfl.display.JPEGEncoderOptions(), byteArray); + ``` + + @param rect The area of the BitmapData object to compress. + @param compressor The compressor type to use. Valid values are: + flash.display.PNGEncoderOptions, flash.display.JPEGEncoderOptions, and + flash.display.JPEGXREncoderOptions. + @param byteArray The output ByteArray to hold the encoded image. + @return A ByteArray containing the encoded image. + + + + + + + + Fills a rectangular area of pixels with a specified ARGB color. + + @param rect The rectangular area to fill. + @param color The ARGB color value that fills the area. ARGB colors are + often specified in hexadecimal format; for example, + 0xFF336699. + @throws TypeError The rect is null. + + + + + + + + + Performs a flood fill operation on an image starting at an(_x_, + _y_) coordinate and filling with a certain color. The + `floodFill()` method is similar to the paint bucket tool in + various paint programs. The color is an ARGB color that contains alpha + information and color information. + + @param x The _x_ coordinate of the image. + @param y The _y_ coordinate of the image. + @param color The ARGB color to use as a fill. + + + + + + + + Determines the destination rectangle that the `applyFilter()` + method call affects, given a BitmapData object, a source rectangle, and a + filter object. + + For example, a blur filter normally affects an area larger than the + size of the original image. A 100 x 200 pixel image that is being filtered + by a default BlurFilter instance, where `blurX = blurY = 4` + generates a destination rectangle of `(-2,-2,104,204)`. The + `generateFilterRect()` method lets you find out the size of + this destination rectangle in advance so that you can size the destination + image appropriately before you perform a filter operation. + + Some filters clip their destination rectangle based on the source image + size. For example, an inner `DropShadow` does not generate a + larger result than its source image. In this API, the BitmapData object is + used as the source bounds and not the source `rect` + parameter. + + @param sourceRect A rectangle defining the area of the source image to use + as input. + @param filter A filter object that you use to calculate the + destination rectangle. + @return A destination rectangle computed by using an image, the + `sourceRect` parameter, and a filter. + @throws TypeError The sourceRect or filter are null. + + + + + + + + + { scale9Grid : null } + hide + + **BETA** + + Get the IndexBuffer3D object associated with this BitmapData object + + @param context A Stage3D context + @returns An IndexBuffer3D object for use with rendering + + + + + + + + + + { targetObject : null, scale9Grid : null } + hide + + **BETA** + + Get the VertexBuffer3D object associated with this BitmapData object + + @param context A Stage3D context + @returns A VertexBuffer3D object for use with rendering + + + + + + + + + { findColor : true } + + + + + + + + + Returns an integer that represents an RGB pixel value from a BitmapData + object at a specific point(_x_, _y_). The + `getPixel()` method returns an unmultiplied pixel value. No + alpha information is returned. + + All pixels in a BitmapData object are stored as premultiplied color + values. A premultiplied image pixel has the red, green, and blue color + channel values already multiplied by the alpha data. For example, if the + alpha value is 0, the values for the RGB channels are also 0, independent + of their unmultiplied values. This loss of data can cause some problems + when you perform operations. All BitmapData methods take and return + unmultiplied values. The internal pixel representation is converted from + premultiplied to unmultiplied before it is returned as a value. During a + set operation, the pixel value is premultiplied before the raw image pixel + is set. + + @param x The _x_ position of the pixel. + @param y The _y_ position of the pixel. + @return A number that represents an RGB pixel value. If the(_x_, + _y_) coordinates are outside the bounds of the image, the + method returns 0. + + + + + + + + Returns an ARGB color value that contains alpha channel data and RGB data. + This method is similar to the `getPixel()` method, which + returns an RGB color without alpha channel data. + + All pixels in a BitmapData object are stored as premultiplied color + values. A premultiplied image pixel has the red, green, and blue color + channel values already multiplied by the alpha data. For example, if the + alpha value is 0, the values for the RGB channels are also 0, independent + of their unmultiplied values. This loss of data can cause some problems + when you perform operations. All BitmapData methods take and return + unmultiplied values. The internal pixel representation is converted from + premultiplied to unmultiplied before it is returned as a value. During a + set operation, the pixel value is premultiplied before the raw image pixel + is set. + + @param x The _x_ position of the pixel. + @param y The _y_ position of the pixel. + @return A number representing an ARGB pixel value. If the(_x_, + _y_) coordinates are outside the bounds of the image, 0 is + returned. + + + + + + + Generates a byte array from a rectangular region of pixel data. Writes an + unsigned integer(a 32-bit unmultiplied pixel value) for each pixel into + the byte array. + + @param rect A rectangular area in the current BitmapData object. + @return A ByteArray representing the pixels in the given Rectangle. + @throws TypeError The rect is null. + + + + + "checkstyle:Dynamic" + hide + + **BETA** + + Get the CairoImageSurface associated with this BitmapData object for use with + Cairo software rendering + + @returns The associated CairoImageSurface + + + + + + + hide + **BETA** + + Get a hardware texture representing this BitmapData instance + + @param context A Context3D instance + @returns A Texture or RectangleTexture instance + + + + + + + Generates a vector array from a rectangular region of pixel data. Returns + a Vector object of unsigned integers(a 32-bit unmultiplied pixel value) + for the specified rectangle. + @param rect A rectangular area in the current BitmapData object. + @return A Vector representing the given Rectangle. + @throws TypeError The rect is null. + + + + + + + { hRect : null } + instances (four Vector + objects that contain Float objects). The four Vector instances represent the + red, green, blue and alpha components in order. Each Vector instance contains + 256 values that represent the population count of an individual component value, + from 0 to 255. + @param hRect The area of the BitmapData object to use.]]> + + + + + + + + + + + { secondAlphaThreshold : 1, secondBitmapDataPoint : null } + Performs pixel-level hit detection between one bitmap image and a point, + rectangle, or other bitmap image. A hit is defined as an overlap of a point or + rectangle over an opaque pixel, or two overlapping opaque pixels. No stretching, + rotation, or other transformation of either object is considered when the hit test + is performed. + + If an image is an opaque image, it is considered a fully opaque rectangle for this + method. Both images must be transparent images to perform pixel-level hit testing + that considers transparency. When you are testing two transparent images, the alpha + threshold parameters control what alpha channel values, from 0 to 255, are + considered opaque. + + @param firstPoint A position of the upper-left corner of the BitmapData image + in an arbitrary coordinate space. The same coordinate space is used in defining + the secondBitmapPoint parameter. + @param firstAlphaThreshold The smallest alpha channel value that is considered + opaque for this hit test. + @param secondObject A Rectangle, Point, Bitmap, or BitmapData object. + @param secondBitmapDataPoint A point that defines a pixel location in the + second BitmapData object. Use this parameter only when the value of `secondObject` + is a BitmapData object. + @param secondAlphaThreshold The smallest alpha channel value that is + considered opaque in the second BitmapData object. Use this parameter only when + the value of `secondObject` is a BitmapData object and both BitmapData objects + are transparent. + @return A value of `true` if a hit occurs; otherwise, `false`. + @throws ArgumentError The `secondObject` parameter is not a Point, Rectangle, + Bitmap, or BitmapData object. + @throws TypeError The `firstPoint` is `null`. + + + + Locks an image so that any objects that reference the BitmapData object, + such as Bitmap objects, are not updated when this BitmapData object + changes. To improve performance, use this method along with the + `unlock()` method before and after numerous calls to the + `setPixel()` or `setPixel32()` method. + + + + + + + + + + + + + Performs per-channel blending from a source image to a destination image. For + each channel and each pixel, a new value is computed based on the channel + values of the source and destination pixels. For example, in the red channel, + the new value is computed as follows (where `redSrc` is the red channel value + for a pixel in the source image and `redDest` is the red channel value at the + corresponding pixel of the destination image): + + ```haxe + redDest = [(redSrc * redMultiplier) + (redDest * (256 - redMultiplier))] / 256; + ``` + + The `redMultiplier`, `greenMultiplier`, `blueMultiplier`, and `alphaMultiplier` + values are the multipliers used for each color channel. Use a hexadecimal + value ranging from 0 to 0x100 (256) where 0 specifies the full value from the + destination is used in the result, 0x100 specifies the full value from the + source is used, and numbers in between specify a blend is used (such as 0x80 + for 50%). + + @param sourceBitmapData The input bitmap image to use. The source image can + be a different BitmapData object, or it can refer to the current BitmapData + object. + @param sourceRect A rectangle that defines the area of the source image to use + as input. + @param destPoint The point within the destination image (the current + BitmapData instance) that corresponds to the upper-left corner of the source + rectangle. + @param redMultiplier A hexadecimal uint value by which to multiply the red + channel value. + @param greenMultiplier A hexadecimal uint value by which to multiply the green + channel value. + @param blueMultiplier A hexadecimal uint value by which to multiply the blue + channel value. + @param alphaMultiplier A hexadecimal uint value by which to multiply the alpha + transparency value. + @throws TypeError The `sourceBitmapData`, `sourceRect` or `destPoint` are `null`. + + + + + + + + + + + { grayScale : false, channelOptions : 7, high : 255, low : 0 } + Fills an image with pixels representing random noise. + + @param randomSeed The random seed number to use. If you keep all other + parameters the same, you can generate different + pseudo-random results by varying the random seed + value. The noise function is a mapping function, not + a true random-number generation function, so it + creates the same results each time from the same + random seed. + @param low The lowest value to generate for each channel(0 to + 255). + @param high The highest value to generate for each channel(0 to + 255). + @param channelOptions A number that can be a combination of any of the + four color channel values + (`BitmapDataChannel.RED`, + `BitmapDataChannel.BLUE`, + `BitmapDataChannel.GREEN`, and + `BitmapDataChannel.ALPHA`). You can use + the logical OR operator(`|`) to combine + channel values. + @param grayScale A Boolean value. If the value is `true`, + a grayscale image is created by setting all of the + color channels to the same value. The alpha channel + selection is not affected by setting this parameter + to `true`. + + + + + + + + + + + + + { alphaArray : null, blueArray : null, greenArray : null, redArray : null } + Remaps the color channel values in an image that has up to four arrays of + color palette data, one for each channel. + + Flash runtimes use the following steps to generate the resulting image: + + 1. After the red, green, blue, and alpha values are computed, they are added + together using standard 32-bit-integer arithmetic. + 2. The red, green, blue, and alpha channel values of each pixel are extracted + into separate 0 to 255 values. These values are used to look up new color + values in the appropriate array: `redArray`, `greenArray`, `blueArray`, and + `alphaArray`. Each of these four arrays should contain 256 values. + 3. After all four of the new channel values are retrieved, they are combined + into a standard ARGB value that is applied to the pixel. + + Cross-channel effects can be supported with this method. Each input array can + contain full 32-bit values, and no shifting occurs when the values are added + together. This routine does not support per-channel clamping. + + If no array is specified for a channel, the color channel is copied from the + source image to the destination image. + + You can use this method for a variety of effects such as general palette mapping + (taking one channel and converting it to a false color image). You can also use + this method for a variety of advanced color manipulation algorithms, such as + gamma, curves, levels, and quantizing. + + @param sourceBitmapData The input bitmap image to use. The source image can + be a different BitmapData object, or it can refer to the current BitmapData + instance. + @param sourceRect A rectangle that defines the area of the source image to use + as input. + @param destPoint The point within the destination image (the current BitmapData + object) that corresponds to the upper-left corner of the source rectangle. + @param redArray If `redArray` is not `null`, `red = redArray[source red value] else red = source rect value`. + @param greenArray If `greenArray` is not `null`, `green = greenArray[source green value] else green = source green value`. + @param blueArray If `blueArray` is not `null, `blue = blueArray[source blue value] else blue = source blue value`. + @param alphaArray If `alphaArray` is not `null, `alpha = alphaArray[source alpha value] else alpha = source alpha value`. + @throws TypeError The `sourceBitmapData`, `sourceRect` or `destPoint` are `null`. + + + + + + + + + + + + + + + { offsets : null, grayScale : false, channelOptions : 7 } + Generates a Perlin noise image. + + The Perlin noise generation algorithm interpolates and combines + individual random noise functions(called octaves) into a single function + that generates more natural-seeming random noise. Like musical octaves, + each octave function is twice the frequency of the one before it. Perlin + noise has been described as a "fractal sum of noise" because it combines + multiple sets of noise data with different levels of detail. + + You can use Perlin noise functions to simulate natural phenomena and + landscapes, such as wood grain, clouds, and mountain ranges. In most + cases, the output of a Perlin noise function is not displayed directly but + is used to enhance other images and give them pseudo-random + variations. + + Simple digital random noise functions often produce images with harsh, + contrasting points. This kind of harsh contrast is not often found in + nature. The Perlin noise algorithm blends multiple noise functions that + operate at different levels of detail. This algorithm results in smaller + variations among neighboring pixel values. + + @param baseX Frequency to use in the _x_ direction. For + example, to generate a noise that is sized for a 64 + x 128 image, pass 64 for the `baseX` + value. + @param baseY Frequency to use in the _y_ direction. For + example, to generate a noise that is sized for a 64 + x 128 image, pass 128 for the `baseY` + value. + @param numOctaves Number of octaves or individual noise functions to + combine to create this noise. Larger numbers of + octaves create images with greater detail. Larger + numbers of octaves also require more processing + time. + @param randomSeed The random seed number to use. If you keep all other + parameters the same, you can generate different + pseudo-random results by varying the random seed + value. The Perlin noise function is a mapping + function, not a true random-number generation + function, so it creates the same results each time + from the same random seed. + @param stitch A Boolean value. If the value is `true`, + the method attempts to smooth the transition edges + of the image to create seamless textures for tiling + as a bitmap fill. + @param fractalNoise A Boolean value. If the value is `true`, + the method generates fractal noise; otherwise, it + generates turbulence. An image with turbulence has + visible discontinuities in the gradient that can + make it better approximate sharper visual effects + like flames and ocean waves. + @param channelOptions A number that can be a combination of any of the + four color channel values + (`BitmapDataChannel.RED`, + `BitmapDataChannel.BLUE`, + `BitmapDataChannel.GREEN`, and + `BitmapDataChannel.ALPHA`). You can use + the logical OR operator(`|`) to combine + channel values. + @param grayScale A Boolean value. If the value is `true`, + a grayscale image is created by setting each of the + red, green, and blue color channels to identical + values. The alpha channel value is not affected if + this value is set to `true`. + + + + + + + + Scrolls an image by a certain(_x_, _y_) pixel amount. Edge + regions outside the scrolling area are left unchanged. + + @param x The amount by which to scroll horizontally. + @param y The amount by which to scroll vertically. + + + + + + + + + Sets a single pixel of a BitmapData object. The current alpha channel + value of the image pixel is preserved during this operation. The value of + the RGB color parameter is treated as an unmultiplied color value. + + **Note:** To increase performance, when you use the + `setPixel()` or `setPixel32()` method repeatedly, + call the `lock()` method before you call the + `setPixel()` or `setPixel32()` method, and then call + the `unlock()` method when you have made all pixel changes. + This process prevents objects that reference this BitmapData instance from + updating until you finish making the pixel changes. + + @param x The _x_ position of the pixel whose value changes. + @param y The _y_ position of the pixel whose value changes. + @param color The resulting RGB color for the pixel. + + + + + + + + + Sets the color and alpha transparency values of a single pixel of a + BitmapData object. This method is similar to the `setPixel()` + method; the main difference is that the `setPixel32()` method + takes an ARGB color value that contains alpha channel information. + + All pixels in a BitmapData object are stored as premultiplied color + values. A premultiplied image pixel has the red, green, and blue color + channel values already multiplied by the alpha data. For example, if the + alpha value is 0, the values for the RGB channels are also 0, independent + of their unmultiplied values. This loss of data can cause some problems + when you perform operations. All BitmapData methods take and return + unmultiplied values. The internal pixel representation is converted from + premultiplied to unmultiplied before it is returned as a value. During a + set operation, the pixel value is premultiplied before the raw image pixel + is set. + + **Note:** To increase performance, when you use the + `setPixel()` or `setPixel32()` method repeatedly, + call the `lock()` method before you call the + `setPixel()` or `setPixel32()` method, and then call + the `unlock()` method when you have made all pixel changes. + This process prevents objects that reference this BitmapData instance from + updating until you finish making the pixel changes. + + @param x The _x_ position of the pixel whose value changes. + @param y The _y_ position of the pixel whose value changes. + @param color The resulting ARGB color for the pixel. If the bitmap is + opaque(not transparent), the alpha transparency portion of + this color value is ignored. + + + + + + + + Converts a byte array into a rectangular region of pixel data. For each + pixel, the `ByteArray.readUnsignedInt()` method is called and + the return value is written into the pixel. If the byte array ends before + the full rectangle is written, the function returns. The data in the byte + array is expected to be 32-bit ARGB pixel values. No seeking is performed + on the byte array before or after the pixels are read. + + @param rect Specifies the rectangular region of the BitmapData + object. + @param inputByteArray A ByteArray object that consists of 32-bit + unmultiplied pixel values to be used in the + rectangular region. + @throws EOFError The `inputByteArray` object does not include + enough data to fill the area of the `rect` + rectangle. The method fills as many pixels as possible + before throwing the exception. + @throws TypeError The rect or inputByteArray are null. + + + + + + + + Converts a Vector into a rectangular region of pixel data. For each pixel, + a Vector element is read and written into the BitmapData pixel. The data + in the Vector is expected to be 32-bit ARGB pixel values. + + @param rect Specifies the rectangular region of the BitmapData object. + @throws RangeError The vector array is not large enough to read all the + pixel data. + + + + + + + + + + + + + + { copySource : false, mask : 0xFFFFFFFF, color : 0x00000000 } + ", ">=", "==", "!=" + @param threshold The value that each pixel is tested against to see + if it meets or exceeds the threshhold. + @param color The color value that a pixel is set to if the + threshold test succeeds. The default value is + 0x00000000. + @param mask The mask to use to isolate a color component. + @param copySource If the value is `true`, pixel values + from the source image are copied to the + destination when the threshold test fails. If the + value is `false`, the source image is + not copied when the threshold test fails. + @return The number of pixels that were changed. + @throws ArgumentError The operation string is not a valid operation + @throws TypeError The sourceBitmapData, sourceRect destPoint or + operation are null.]]> + + + + + + + { changeRect : null } + Unlocks an image so that any objects that reference the BitmapData object, + such as Bitmap objects, are updated when this BitmapData object changes. + To improve performance, use this method along with the `lock()` + method before and after numerous calls to the `setPixel()` or + `setPixel32()` method. + + @param changeRect The area of the BitmapData object that has changed. If + you do not specify a value for this parameter, the + entire area of the BitmapData object is considered + changed. + + <__applyAlpha set="method" line="3025"> + + + + + + + <__drawCairo set="method" line="3042"> + + + + + + + + <__drawCanvas set="method" line="3065"> + + + + + + + + <__drawGL set="method" line="3083"> + + + + + + + + <__fillRect set="method" line="3106"> + + + + + + + + + <__fromBase64 get="inline" set="null" line="3161"> + + + + + + + + <__fromBytes get="inline" set="null" line="3169"> + + + + + + + { rawAlpha : null } + + + + <__fromFile set="method" line="3182"> + + + + + + + <__fromImage set="method" line="3191"> + + + + + + "checkstyle:Dynamic" + + + + <__getBounds set="method" line="3216"> + + + + + + + + <__loadFromBase64 get="inline" set="null" line="3251"> + + + + + + + + <__loadFromBytes get="inline" set="null" line="3264"> + + + + + + + { rawAlpha : null } + + + + <__loadFromFile set="method" line="3283"> + + + + + + + <__resize set="method" line="3296"> + + + + + + + + <__setUVRect set="method" line="3307"> + + + + + + + + + + + <__sync set="method" line="3340"> + + + + <__update set="method" line="3347"> + + + + + + + + <__updateTransforms set="method" line="3352"> + + + + + + { overrideTransform : null } + + + + + + + + + + + + { fillColor : 0xFFFFFFFF, transparent : true } + Creates a BitmapData object with a specified width and height. If you specify a value for + the `fillColor` parameter, every pixel in the bitmap is set to that color. + + By default, the bitmap is created as transparent, unless you pass the value `false` + for the transparent parameter. After you create an opaque bitmap, you cannot change it + to a transparent bitmap. Every pixel in an opaque bitmap uses only 24 bits of color channel + information. If you define the bitmap as transparent, every pixel uses 32 bits of color + channel information, including an alpha transparency channel. + + @param width The width of the bitmap image in pixels. + @param height The height of the bitmap image in pixels. + @param transparent Specifies whether the bitmap image supports per-pixel transparency. The default value is `true`(transparent). To create a fully transparent bitmap, set the value of the `transparent` parameter to `true` and the value of the `fillColor` parameter to 0x00000000(or to 0). Setting the `transparent` property to `false` can result in minor improvements in rendering performance. + @param fillColor A 32-bit ARGB color value that you use to fill the bitmap image area. The default value is 0xFFFFFFFF(solid white). + + The BitmapData class lets you work with the data (pixels) of a Bitmap + object. You can use the methods of the BitmapData class to create + arbitrarily sized transparent or opaque bitmap images and manipulate them + in various ways at runtime. You can also access the BitmapData for a bitmap + image that you load with the `openfl.Assets` or + `openfl.display.Loader` classes. + + This class lets you separate bitmap rendering operations from the + internal display updating routines of OpenFL. By manipulating a + BitmapData object directly, you can create complex images without incurring + the per-frame overhead of constantly redrawing the content from vector + data. + + The methods of the BitmapData class support effects that are not + available through the filters available to non-bitmap display objects. + + A BitmapData object contains an array of pixel data. This data can + represent either a fully opaque bitmap or a transparent bitmap that + contains alpha channel data. Either type of BitmapData object is stored as + a buffer of 32-bit integers. Each 32-bit integer determines the properties + of a single pixel in the bitmap. + + Each 32-bit integer is a combination of four 8-bit channel values (from + 0 to 255) that describe the alpha transparency and the red, green, and blue + (ARGB) values of the pixel. (For ARGB values, the most significant byte + represents the alpha channel value, followed by red, green, and blue.) + + The four channels (alpha, red, green, and blue) are represented as + numbers when you use them with the `BitmapData.copyChannel()` + method or the `DisplacementMapFilter.componentX` and + `DisplacementMapFilter.componentY` properties, and these numbers + are represented by the following constants in the BitmapDataChannel + class: + + * `BitmapDataChannel.ALPHA` + * `BitmapDataChannel.RED` + * `BitmapDataChannel.GREEN` + * `BitmapDataChannel.BLUE` + + You can attach BitmapData objects to a Bitmap object by using the + `bitmapData` property of the Bitmap object. + + You can use a BitmapData object to fill a Graphics object by using the + `Graphics.beginBitmapFill()` method. + + You can also use a BitmapData object to perform batch tile rendering + using the `openfl.display.Tilemap` class. + + In Flash Player 10, the maximum size for a BitmapData object + is 8,191 pixels in width or height, and the total number of pixels cannot + exceed 16,777,215 pixels. (So, if a BitmapData object is 8,191 pixels wide, + it can only be 2,048 pixels high.) In Flash Player 9 and earlier, the limitation + is 2,880 pixels in height and 2,880 in width. + + + lime.graphics.opengl.GL + lime.graphics.Image + lime.graphics.ImageBuffer + lime.math.Rectangle + openfl.display3D.textures.TextureBase + openfl.display3D.Context3D + openfl.display.DisplayObject + openfl.display.DisplayObjectShader + openfl.display.Graphics + openfl.display.Shader + openfl.filters.BitmapFilter + openfl.geom.ColorTransform + openfl.geom.Matrix + openfl.geom.Point + openfl.geom.Rectangle + "tags=\"haxe,release\"" + + openfl.utils._internal.AssetsMacro.embedBitmap() + + + + + + + "__ASSET__:bitmap_flixel_addons_transition_GraphicTransTileCircle" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + + "assets/images/transitions/circle.png" + + + + + + + "__ASSET__:bitmap_flixel_addons_transition_GraphicTransTileDiamond" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + + "assets/images/transitions/diamond.png" + + + + + + + "__ASSET__:bitmap_flixel_addons_transition_GraphicTransTileSquare" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + + "assets/images/transitions/square.png" + + + + + <_delay> + <_count> + <_starting expr="true"> + + true + + <_finished expr="false"> + + false + + + + IN + + <_newStatus expr="NULL"> + + NULL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { FrameRate : 40, GraphicHeight : 32, GraphicWidth : 32, Graphic : null, Y : 0, X : 0 } + + * + * @author Tim Hely + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast -1 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast -1 + + + + + + + + + + <_effect> + + + + + + + + + + + + + + + + + + + + + + + + + + + * This substate is automatically created to play the actual transition visuals inside a FlxTransitionState. + * To achieve a specific effect, you should use a sub-class of this such as TileTransition or FadeTransition + * @author Tim Hely, larsiusprime + + + + + + + + + + cast "none" + + + + + + + + cast "tiles" + + + + + + + + cast "fade" + + + + + + + + + + + + cast "none" + + + + + + + + cast "tiles" + + + + + + + + cast "fade" + + + + + + + + + + + + + + + + + + + + + + + 1.0 + + + + + + + + + + + + + + + + { Duration : 1.0, Color : FlxColor.WHITE, TransType : FADE } + + * @author larsiusprime + + + + + + + + false + + <_started expr="false"> + + false + + <_endStatus> + <_finalDelayTime expr="0.0"> + + 0.0 + + <_data> + + + + + + + + + + + + + + + + + + + * @author larsiusprime + flixel.addons.transition.Transition + + + + + + "__ASSET__:bitmap_flixel_addons_transition__TransitionFade_GraphicDiagonalGradient" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + + "assets/images/transitions/diagonal_gradient.png" + + + + + + + + "" + + + + "" + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + * + * @author larsiusprime + + + + + <_grpSprites> + <_isCenter expr="false"> + + false + + + + + + + + + + + + + + + + + + + * + * @author larsiusprime + + + + + + + "left" + + + + "right" + + + + "top" + + + + "bottom" + +
+ + "center" +
+ + + "unknown" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * A class that describes how some object should be positioned relative to another + +
+ + + + 0 + + + + Anchor.CENTER + + + + Anchor.CENTER + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { Quality : 1, Size : 1 } + + + + + + + null + + + + null + + + + null + + + + null + + + + + + + + + + + + + + + + + + + * The code for the main input itself, ie, tab, or the A button + + + + * Any other inputs that must be pressed at the same time, ie, shift, alt, etc + + + + * Any other inputs, that if pressed at the same time, forbid the press. + * (Forbidden is useful so you can distinguish a "TAB" from a "SHIFT+TAB" + * -- you add "SHIFT" to the first one's forbidden list) + + + + + + + + * Was the main key JUST pressed, AND are all of the combo keys currently pressed? (and none of the forbiddens?) + + + + * Was the main key JUST released, AND are no forbidden keys currently pressed? (Ignore whether combos were just released) + + + + * Is the main key and all of the combo keys currently pressed? (and none of the forbiddens?) + + + + + + + + + + + + { forbiddenValue : false, comboValue : true } + * Check Combo/Forbidden values. Default--are combos all pressed, AND are forbiddens all NOT pressed? + + + + + + + + + + + * Makes it easier to check if, say, SHIFT+Tab is being pressed rather than just Tab by itself + + + + + + 0 + + + + 1 + + + + 2 + + + + FlxColor.WHITE + * The 1px thick border color that is drawn around this button + + + + * The color gradient of the button in its in-active (not hovered over) state + + + + * The color gradient of the button in its hovered state + + + + * This function is called when the button is clicked. + + + + * This function is called when the button is hovered over + + + + * This function is called when the mouse leaves a hovered button (but didn't click) + + + + + + + + * If this button has text, set this to change the value + + <_status expr="NORMAL"> + + NORMAL + * Shows the current state of the button. + + <_initialized expr="false"> + + false + * Whether or not the button has initialized itself yet. + + + + + + + + * If you wish to replace the two buttons (normal and hovered-over) with FlxSprites, then pass them here. + * Note: The pixel data is extract from the passed FlxSprites and assigned locally, it doesn't actually use the sprites + * or keep a reference to them. + * + * @param Normal The FlxSprite to use when the button is in-active (not hovered over) + * @param Highlight The FlxSprite to use when the button is hovered-over by the mouse + + + + + + + * Called by the game loop automatically, handles mouseover and click detection. + + + + * Basic button update logic + + + + * WARNING: This will remove this object entirely. Use kill() if you + * want to disable it temporarily only and reset() it later to revive it. + * Called by the game state when state is changed (if this object belongs to the state) + + + + + + + * Internal function for handling the actual callback call (for UI thread dependent calls like FlxStringUtil.openURL()). + + + + + + + * If you want to change the color of this button in its in-active (not hovered over) state, then pass a new array of color values + + + + + + + * If you want to change the color of this button in its active (hovered over) state, then pass a new array of color values + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { Height : 20, Width : 100, Y : 0, X : 0 } + * Creates a new FlxButton object with a gray background + * and a callback function on the UI thread. + * + * @param X The X position of the button. + * @param Y The Y position of the button. + * @param Callback The function to call whenever the button is clicked. + * @param Label Text to display on the button + * @param Width The width of the button. + * @param Height The height of the button. + + * A simple button class that calls a function when clicked by the mouse. + * + * @link http://www.photonstorm.com + * @author Richard Davey / Photon Storm + + + + + + * Shows the current state of the button, either NORMAL, + * HIGHLIGHT or PRESSED + + + + * This function is called when the button is released. + * We recommend assigning your main button behavior to this function + * via the FlxClickArea constructor. + + <_pressed> + + * Tracks whether or not the button is currently pressed. + + <_initialized> + + * Whether or not the button has initialized itself yet. + + + + * Called by the game state when state is changed (if this object belongs to the state) + + + + + + + * Called by the game loop automatically, handles mouseover and click detection. + + + + * Basic button update logic + + + + + + + + + * Updates status and handles the onDown and onOver logic (callback function). + + + + + + + * Internal function for handling the actual callback call (for UI thread dependent calls like FlxStringUtil.openURL()). + + + + + + + + + + + { Height : 20, Width : 80, Y : 0, X : 0 } + * Creates a new FlxClickArea object + * and a callback function on the UI thread. + * + * @param X The X position of the button. + * @param Y The Y position of the button. + * @param Width Width of the area + * @param Height Height of the area + * @param OnUp The function to call whenever the button is clicked. + + * Trimmed-down button, invisible click area, only responds to onUP + + + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 0 + + + + 1 + + + + 2 + + + + "backspace" + + + + "delete" + + + + "enter" + + + + "input" + + + + * This regular expression will filter out (remove) everything that matches. + * Automatically sets filterMode = FlxInputText.CUSTOM_FILTER. + + + + + + + + + + + + * A function called whenever the value changes from user input, or enter is pressed + + + + false + * Whether or not the textbox has a background + + + + * The caret's color. Has the same color as the text by default. + + + + + + + + 1 + + + + + + + + + * Whether or not the textfield is a password textfield + + + + false + * Whether or not the text box is the active object on the screen. + + + + 0 + * The position of the selection cursor. An index of 0 means the carat is before the character at index 0. + + + + * callback that is triggered when this text field gets focus + * @since 2.2.0 + + + + * callback that is triggered when this text field loses focus + * @since 2.2.0 + + + + ALL_CASES + * The Case that's being enforced. Either ALL_CASES, UPPER_CASE or LOWER_CASE. + + + + 0 + * Set the maximum length for the field (e.g. "3" + * for Arcade type hi-score initials). 0 means unlimited. + + + + * Change the amount of lines that are allowed. + + + + NO_FILTER + * Defines what text to filter. It can be NO_FILTER, ONLY_ALPHA, ONLY_NUMERIC, ONLY_ALPHA_NUMERIC or CUSTOM_FILTER + * (Remember to append "FlxInputText." as a prefix to those constants) + + + + FlxColor.BLACK + * The color of the fieldBorders + + + + 1 + * The thickness of the fieldBorders + + + + FlxColor.WHITE + * The color of the background of the textbox. + + + + * A FlxSprite representing the background sprite + + <_caretTimer> + + * A timer for the flashing caret effect. + + + + * A FlxSprite representing the flashing caret when editing text. + + + + * A FlxSprite representing the fieldBorders. + + <_scrollBoundIndeces expr="{ left : 0, right : 0 }"> + + + + + { left : 0, right : 0 } + * The left- and right- most fully visible character indeces + + <_charBoundaries> + + + * Stores last input text scroll. + + + + * Clean up memory + + + + * Draw the caret in addition to the text. + + + + + + + * Helper function that makes sure sprites are drawn up even though they haven't been added. + * @param Sprite The Sprite to be drawn. + + + + + + + * Check for mouse input every tick. + + + + + + + + + + + * Handles keypresses generated on the stage. + + + + + + + + + + + + + * Inserts a substring into a string at a specific index + * + * @param Insert The string to have something inserted into + * @param Insert The string to insert + * @param Index The index to insert at + * @return Returns the joined string for chaining. + + + + * Gets the index of the character in this box under the mouse cursor + * @return The index of the character. + * between 0 and the length of the text + + + + + + + + + + + + + + + + + + + + + * Called every time the text is changed (for both flash/cpp) to update scrolling, etc + + + + + + + { RunOnCpp : false } + * Draws the frame of animation for the input text. + * + * @param RunOnCpp Whether the frame should also be recalculated if we're on a non-flash target + + + + + + + * Turns the caret on/off for the caret flashing animation. + + + + + + + * Checks an input string against the current + * filter and returns a filtered string + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { EmbeddedFont : true, BackgroundColor : FlxColor.WHITE, TextColor : FlxColor.BLACK, size : 8, Width : 150, Y : 0, X : 0 } + * @param X The X position of the text. + * @param Y The Y position of the text. + * @param Width The width of the text object (height is determined automatically). + * @param Text The actual text you would like to display initially. + * @param size Initial size of the font + * @param TextColor The color of the text + * @param BackgroundColor The color of the background (FlxColor.TRANSPARENT for no background color) + * @param EmbeddedFont Whether this text field uses embedded fonts or not + + * FlxInputText v1.11, ported to Haxe + * @author larsiusprime, (Lars Doucet) + * @link http://github.com/haxeflixel/flixel-ui + * + * FlxInputText v1.10, Input text field extension for Flixel + * @author Gama11, Mr_Walrus, nitram_cero (Martín Sebastián Wain) + * @link http://forums.flixel.org/index.php/topic,272.0.html + * + * Copyright (c) 2009 Martín Sebastián Wain + * License: Creative Commons Attribution 3.0 United States + * @link http://creativecommons.org/licenses/by/3.0/us/ + + + + + + + + + + + + + + + + + + + + + + + + + * ... + * @author larsiusprime + + + + + + + + + + * Given a string of the form "left_analog_stick_x_plus", returns a StickInput object with the corresponding values + * @param str + * @return + + + + + + + + + + + + + + + + + + + + + + * ... + * @author larsiusprime + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * ... + * @author larsiusprime + + + + + + + * The horizontal line in the background. + + + + * The dragable handle - loadGraphic() to change its graphic. + + + + * The text under the left border - equals minValue by default. + + + + * The text under the right border - equals maxValue by default. + + + + * A text above the slider that displays its name. + + + + * A text under the slider that displays the current value. + + + + * Stores the current value of the variable - updated each frame. + + + + * Mininum value the variable can be changed to. + + + + * Maximum value the variable can be changed to. + + + + 0 + * How many decimals the variable can have at max. Default is zero, + * or "only whole numbers". + + + + * Sound that's played whenever the slider is clicked. + + + + * Sound that's played whenever the slider is hovered over. + + + + 0.5 + * The alpha value the slider uses when it's hovered over. 1 to turn the effect off. + + + + + + + null + * A function to be called when the slider was used. + * The current relativePos is passed as an argument. + + + + true + * Whether the slider sets the variable it tracks. Can be useful to deactivate this in conjunction with callbacks. + + + + * The expected position of the handle based on the current variable value. + + + + * The position of the handle relative to the slider / max value. + + + + * Stores the variable the slider controls. + + <_bounds> + + * The dragable area for the handle. Is configured automatically. + + <_width> + + * The width of the slider. + + <_height> + + * The height of the slider - make sure to call createSlider() if you + * want to change this. + + <_thickness> + + * The thickness of the slider - make sure to call createSlider() if you + * want to change this. + + <_color> + + * The color of the slider - make sure to call createSlider() if you + * want to change this. + + <_handleColor> + + * The color of the handle - make sure to call createSlider() if you + * want to change this. + + <_object> + + * Stores a reference to parent object. + + <_lastPos> + + * Helper var for callbacks. + + <_justClicked expr="false"> + + false + * Helper variable to avoid the clickSound playing every frame. + + <_justHovered expr="false"> + + false + * Helper variable to avoid the hoverSound playing every frame. + + + + * Initially creates the slider with all its objects. + + + + + + + + * Function that is called whenever the slider is used to either update the variable tracked or call the Callback function. + + + + + + + + + + + { Size : 8, Value : true } + * Handy function for changing the textfields. + * + * @param Name Text of nameLabel - null to hide + * @param Value Whether to show the valueText or not + * @param Min Text of minLabel - null to hide + * @param Max Text of maxLabel - null to hide + * @param Size Size to use for the texts + + + + * Cleaning up memory. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { HandleColor : 0xFF828282, Color : 0xFF000000, Thickness : 3, Height : 15, Width : 100, MaxValue : 10, MinValue : 0, Y : 0, X : 0 } + * Creates a new FlxSlider. + * + * @param Object Reference to the parent object of the variable + * @param VarString Variable that the slider controls + * @param X x Position + * @param Y y Position + * @param MinValue Mininum value the variable can be changed to + * @param MaxValue Maximum value the variable can be changed to + * @param Width Width of the slider + * @param Height Height of the slider + * @param Thickness Thickness of the slider + * @param Color Color of the slider background and all texts except for valueText showing the current value + * @param HandleColor Color of the slider handle and the valueText showing the current value + + * A slider GUI element for float and integer manipulation. + * @author Gama11 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * ... + * @author Lars Doucet + + + + + + + + *PUBLIC VARS* + + + + true + + + + true + *PUBLIC GETTER/SETTERS* + + + + + + + + + + + + + { Splice : false } + + + + + + + + + + + + + + + + { rect : null } + * Calculates the bounds of the group and sets width/height + * @param rect (optional) -- if supplied, populates this with the boundaries of the group + + + + * Floor the positions of all children + + + + + + + + { Y : 0, X : 0 } + *PUBLIC FUNCTIONS* + + * A cheap extension of FlxUIGroup that lets you move all the children around + * without having to call reset() + * @author Lars Doucet + + + + + + + + + + + + + + *EVENT HANDLING* + + + + + + + + { style : "" } + * Given something like "verdana" and "bold" returns "assets/fonts/verdanab" + * Also: checks Firetongue (if available) for font replacement rules + * @param str + * @param style + * @since 2.1.0 + + + + + + + + + + + + + + + + + { extension : ".ttf", style : "" } + * Given something like "verdana", "bold", ".ttf", returns "assets/fonts/verdanab.ttf" + * Also: checks Firetongue (if available) for font replacement rules + * @param str + * @param style + * @param extension + * @since 2.1.0 + + <__getTongue get="inline" set="null" line="226" static="1"> + + flixel.addons.ui.interfaces.IFlxUIState + + + + + + + + * Static-level function used to force giving a certain widget focus (useful for e.g. enforcing overlap logic) + * @param b + * @param thing + + + + * Drill down to the current state or sub-state, and ensure it is an IFlxUIState (FlxUIState or FlxUISubState) + * @return + + + + + + + + + + * Broadcasts an event to the current FlxUIState/FlxUISubState, and expects data in return + * @param name string identifier of the event -- each IFlxUIWidget has a set of string constants + * @param sender the IFlxUIWidget that sent this event + * @param data non-array data (boolean for a checkbox, string for a radiogroup, etc) + * @param params (optional) user-specified array of arbitrary data + * @return some sort of arbitrary data from the recipient + + <_delta get="inline" set="null" line="1578" static="1"> + + + + + + + { Y : 0, X : 0 } + * Adds to thing.x and/or thing.y with wrappers depending on type + * @param thing + * @param X + * @param Y + + <_center get="inline" set="null" line="1589" static="1"> + + + + + + + { Y : true, X : true } + * Centers thing in x axis with wrappers depending on type + * @param thing + * @param amt + + + + + + + + + { combineUniqueChildren : false } + * Takes two XML files and combines them, with "data" overriding duplicate attributes found in "definition" + * @param data the local data tag + * @param definition the base definition you are extending + * @param combineUniqueChildren if true, will combine child tags if they are unique. If false, inserts child tags as new ones. + * @return + + <_loadBitmapRect get="inline" set="null" line="4324" static="1"> + + + + + + + + + + * Parses params out of xml and loads them in the correct type + * @param data + + + + + + + + + true + + + + 0.01 + + + + false + + + + 0 + + + + * Whether or not this UI is directly attached to the current top-most FlxState + + + + + + + + + + + + + + + + + + + + + + null + + + + null + + * + * + * ]]> + + <_ptr_tongue> + <_data> + <_tongueSet set="method" line="134"> + + + + + + * Make sure to recursively propogate the tongue pointer down to all my members + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { suppressed : true } + + + + + + + * This causes FlxUI to respond to a specific widget losing focus + * @param widget + + + + + + + * Set a pointer to another FlxUI for the purposes of indexing + * @param flxUI + + + + + + + + + + + + + + + + + { Active : null } + + + + + + + + + { Active : null } + + + + + + + + { destroy : true } + * Removes an asset + * @param key the asset to remove + * @param destroy whether to destroy it + * @return the asset, or null if destroy=true + + + + + + + + + + { recursive : false, group_name : "" } + * Adds an asset to this UI, and optionally puts it in a group + * @param asset the IFlxUIWidget asset you want to add + * @param key unique key for this asset. If it already exists, this fails. + * @param group_name string name of group inside this FlxUI you want to add it to. + * @param recursive whether to recursively search through sub-ui's + + + + + + + + + + + { destroy_old : true, center_y : true, center_x : true } + + + + + * Remove all the references and pointers, then destroy everything + + + + + + + Xml + * Main setup function - pass in a Access(xml) object + * to set up your FlxUI + * @param data + + + + + + <_loadPointSize set="method" line="988"> + + + + <_loadSub set="method" line="1011"> + + + + + + { iteration : 0 } + + <_addTags set="method" line="1083"> + + + + + <_loadGlobals set="method" line="1100"> + + + + + <_postLoad set="method" line="1120"> + + + + <_sendTo set="method" line="1163"> + + + + + + + + + + + { recursive : true } + * Send an asset to the front of the member list that it's in + * @param name string identifier of the asset + * @param recursive whether to check superIndex if not found + + + + + + + + { recursive : true } + * Send an asset to either the back of the member list that it's in + * @param name string identifier of the asset + * @param recursive whether to check superIndex if not found + + + + + + + + + + + + + + { target_name : "" } + * Set a mode for this UI. This lets you show/hide stuff basically. + * @param mode_name The mode you want, say, "empty" or "play" for a save slot + * @param target_name UI element to target - "" for the UI itself, otherwise the name of an element that is itself a FlxUI + + + + + + + + + { activeStatus : null, visibleStatus : true } + + + + + + + + { recursive : true } + ****UTILITY FUNCTIONS******** + + + + + + + + { recursive : true } + + + + + + + + + + { recursive : true } + + + + + + + + { recursive : true } + + + + + + + + + + + + * Get the group that contains a given IFlxUIWidget + * @param key the asset key of the IFlxUIWidget + * @param thing the IFlxUIWidget itself + * @return + + + + + + + + { recursive : true } + + + + + + + + { recursive : true } + + + + + + + + + + + + + + + { recursive : true, op : "==" } + + + + + + + + + + + + + { recursive : true } + + + + + + + + { recursive : true } + + + + <_postLoaded expr="false"> + + + false + FlxUI + + *PRIVATE* + + <_pointX expr="1"> + + 1 + + <_pointY expr="1"> + + 1 + + <_group_index> + + + + <_asset_index> + + + + <_tag_index> + + + + <_definition_index> + + + + <_variable_index> + + + + <_mode_index> + + + + <_curr_mode expr=""""> + + "" + + <_ptr> + <_superIndexUI> + <_safe_input_delay_elapsed expr="0.0"> + + 0.0 + + <_failure_checks> + <_assetsToCleanUp expr="[]"> + + [] + + <_scaledAssets expr="[]"> + + [] + + + + + + + + + { splice : false } + * Replace an object in whatever group it is in + * @param original the original object + * @param replace the replacement object + * @param splice if replace is null, whether to splice the entry + + + + + + + **********LOADING FUNCTIONS************ + + + + + + + + * Make any necessary changes to data/definition xml objects (such as for locale or haxedef settings) + * @param data Access xml data + * @param nodeName name of the node, "locale", "haxedef", or "resolution" + + + + + + + + * Load an individual flixel-ui widget from a snippet of xml + * @param type + * @param data + * @return + + <_loadThingGetInfo set="method" line="1817"> + + + + <_loadTooltip set="method" line="1854"> + + + + + <_loadTooltipData set="method" line="1873"> + + + + <_loadTooltipStyle set="method" line="1941"> + + + + + <_loadTooltipText set="method" line="1966"> + + + + + + <_loadAnchor set="method" line="2015"> + + + + <_loadThing set="method" line="2030"> + + + + + <_loadX get="inline" set="null" line="2111"> + + + + + + { default_ : 0 } + + <_loadY get="inline" set="null" line="2116"> + + + + + + { default_ : 0 } + + <_loadScale set="method" line="2121"> + + + + + + + { str : "scale", default_ : 1.0 } + + <_loadScaleX set="method" line="2126"> + + + + + + { default_ : 1.0 } + + <_loadScaleY set="method" line="2131"> + + + + + + { default_ : 1.0 } + + <_loadWidth set="method" line="2136"> + + + + + + + + { defaultRound : "", str : "width", default_ : 10 } + + <_loadHeight set="method" line="2143"> + + + + + + + + { defaultRound : "", str : "height", default_ : 10 } + + <_loadCompass set="method" line="2150"> + + + + + + { str : "resize_point" } + + <_changeParamsThing set="method" line="2187"> + + + + <_changeThing set="method" line="2205"> + + + + <_alignThing set="method" line="2276"> + + + + + + { suppressError : false } + + <_doAlign set="method" line="2369"> + + + + + + + + + + + { allowShrink : true, allowGrow : true } + + <_checkFailure set="method" line="2492"> + + + + <_resizeThing set="method" line="2586"> + + + + + + + + + + <_postLoadThing set="method" line="2620"> + + + + + <_loadTileTest set="method" line="2759"> + + + + <_loadString set="method" line="2836"> + + + + + <_loadText set="method" line="2845"> + + + + <_loadInputText set="method" line="2904"> + + + + <_loadRadioGroup set="method" line="3069"> + + + + <_loadCheckBox set="method" line="3235"> + + + + <_loadDropDownMenu set="method" line="3319"> + + + + <_loadTest set="method" line="3455"> + + + + <_loadTestSub set="method" line="3505"> + + + + + + + + <_loadLayout set="method" line="3624"> + + + + + + + + + + + + + + + + + <_loadTabMenu set="method" line="3669"> + + + + <_loadNumericStepper set="method" line="3813"> + + + + + + { setCallback : true } + + + + + + + + { defaultAxis : FlxUISprite.RESIZE_RATIO_Y } + + <_loadButton set="method" line="3907"> + + + + + + + + + { load_code : "", isToggle : false, setCallback : true } + flixel.addons.ui.FlxUITypedButton + + + <_loadRegion set="method" line="4333"> + + + + <_load9SliceSprite set="method" line="4353"> + + + + + + { load_code : "" } + + + + + + + + + + { srcString : "src" } + + <_loadTileRule get="inline" set="null" line="4494"> + + + + <_loadBox set="method" line="4510"> + + + + <_loadLine set="method" line="4580"> + + + + <_loadBar set="method" line="4651"> + + + + <_loadSprite set="method" line="4762"> + + + + + + + + + + + + + + + + + + { tilesTall : 1, tilesWide : 1, scaleName : "scale", attName : "src" } + * For grabbing a resolution-specific version of an image src and dynamically scaling (and caching) it as necessary + * @param data the xml node in question + * @return the unique key of the scaled bitmap + + + + <_getAnchorPos set="method" line="4999"> + + + + + + + + + + + + { defaultStr : "" } + + + + + + + + + + + + + + { height : null, width : null } + + <_getDataSize set="method" line="5201"> + + + + + + + { default_ : 0 } + + <_getOperation set="method" line="5283"> + + + + + + * @return [:String,:String,:Float]]]> + + <_doOperation set="method" line="5350"> + + + + + + <_getStretch set="method" line="5368"> + + + + + + + + + + + + <_loadCursor set="method" line="5525"> + + + + <_loadPosition set="method" line="5554"> + + + + + <_loadBorder set="method" line="5662"> + + + + <_loadColor set="method" line="5675"> + + + + + + + { _default : 0xffffffff, colorName : "color" } + + <_loadFontDef set="method" line="5690"> + + + + <_loadFontFace set="method" line="5699"> + + + + <_onFinishLoad set="method" line="5711"> + + + + + + + + + { code : "", safe : true, context : "data" } + ********UTILITY FUNCTIONS********** + + + + + + + + + + + + + + + + + + + + + + + + + { uiVars_ : null, liveFilePath_ : "", tongue_ : null, superIndex_ : null, ptr : null, data : null } + + + * A simple xml-driven user interface + * + * Usage example: + * _ui = new FlxUI(U.xml("save_slot"),this); + * add(_ui); + * + * @author Lars Doucet + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * ... + * @author Lars Doucet + + + + + + + + + 0 + + + + 1 + + + + -1 + + + + true + + + + + null + + + + false + + + + + RESIZE_RATIO_Y + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { Unique : false, Height : 0, Width : 0, Animated : false } + * Load an image from an embedded graphic file. + * + * @param Graphic The image you want to use. + * @param Animated Whether the Graphic parameter is a single sprite or a row of sprites. + * @param Width Optional, specify the width of your sprite (helps FlxSprite figure out what to do with non-square sprites or sprite sheets). + * @param Height Optional, specify the height of your sprite (helps FlxSprite figure out what to do with non-square sprites or sprite sheets). + * @param Unique Optional, whether the graphic should be a unique instance in the graphics cache. Default is false. + * @param Key Optional, set this parameter if you're loading BitmapData. + * @return This FlxSprite instance (nice for chaining stuff together, if you're into that). + + + + + + + + + + + + + { Unique : false, Height : 0, Width : 0, Animated : false } + + <_originalKey expr=""""> + + "" + + + + + + + + + { SimpleGraphic : null, Y : 0, X : 0 } + + * Cheap extension of FlxSprite + * @author Lars Doucet + + + + <__limeRectangle static="1"> + + + + <__pool expr="new ObjectPool<Rectangle>(function() return new Rectangle(), function(r) r.setTo(0, 0, 0, 0))" line="62" static="1"> + + + (function() return new Rectangle(), function(r) r.setTo(0, 0, 0, 0))]]> + + + + + + The sum of the `y` and `height` properties. + + ![A rectangle image showing location and measurement properties.](/images/rectangle.jpg) + + + + The location of the Rectangle object's bottom-right corner, determined + by the values of the `right` and `bottom` properties. + + ![A rectangle image showing location and measurement properties.](/images/rectangle.jpg) + + + + The height of the rectangle, in pixels. Changing the `height` value of + a Rectangle object has no effect on the `x`, `y`, and `width` + properties. + + ![A rectangle image showing location and measurement properties.](/images/rectangle.jpg) + + + + The _x_ coordinate of the top-left corner of the rectangle. Changing + the `left` property of a Rectangle object has no effect on the `y` and + `height` properties. However it does affect the `width` property, + whereas changing the `x` value does _not_ affect the `width` property. + + The value of the `left` property is equal to the value of the `x` + property. + + ![A rectangle image showing location and measurement properties.](/images/rectangle.jpg) + + + + The sum of the `x` and `width` properties. + + ![A rectangle image showing location and measurement properties.](/images/rectangle.jpg) + + + + The size of the Rectangle object, expressed as a Point object with the + values of the `width` and `height` properties. + + + + The _y_ coordinate of the top-left corner of the rectangle. Changing + the `top` property of a Rectangle object has no effect on the `x` and + `width` properties. However it does affect the `height` property, + whereas changing the `y` value does _not_ affect the `height` + property. + The value of the `top` property is equal to the value of the `y` + property. + + ![A rectangle image showing location and measurement properties.](/images/rectangle.jpg) + + + + The location of the Rectangle object's top-left corner, determined by + the _x_ and _y_ coordinates of the point. + + ![A rectangle image showing location and measurement properties.](/images/rectangle.jpg) + + + + The width of the rectangle, in pixels. Changing the `width` value of a + Rectangle object has no effect on the `x`, `y`, and `height` + properties. + + ![A rectangle image showing location and measurement properties.](/images/rectangle.jpg) + + + + The _x_ coordinate of the top-left corner of the rectangle. Changing + the value of the `x` property of a Rectangle object has no + effect on the `y`, `width`, and `height` + properties. + + The value of the `x` property is equal to the value of the + `left` property. + + + + The _y_ coordinate of the top-left corner of the rectangle. Changing + the value of the `y` property of a Rectangle object has no + effect on the `x`, `width`, and `height` + properties. + + The value of the `y` property is equal to the value of the + `top` property. + + + + Returns a new Rectangle object with the same values for the + `x`, `y`, `width`, and + `height` properties as the original Rectangle object. + + @return A new Rectangle object with the same values for the + `x`, `y`, `width`, and + `height` properties as the original Rectangle object. + + + + + + + + Determines whether the specified point is contained within the rectangular + region defined by this Rectangle object. + + @param x The _x_ coordinate(horizontal position) of the point. + @param y The _y_ coordinate(vertical position) of the point. + @return A value of `true` if the Rectangle object contains the + specified point; otherwise `false`. + + + + + + + Determines whether the specified point is contained within the rectangular + region defined by this Rectangle object. This method is similar to the + `Rectangle.contains()` method, except that it takes a Point + object as a parameter. + + @param point The point, as represented by its _x_ and _y_ + coordinates. + @return A value of `true` if the Rectangle object contains the + specified point; otherwise `false`. + + + + + + + Determines whether the Rectangle object specified by the `rect` + parameter is contained within this Rectangle object. A Rectangle object is + said to contain another if the second Rectangle object falls entirely + within the boundaries of the first. + + @param rect The Rectangle object being checked. + @return A value of `true` if the Rectangle object that you + specify is contained by this Rectangle object; otherwise + `false`. + + + + + + + Copies all of rectangle data from the source Rectangle object into the calling + Rectangle object. + + @param sourceRect The Rectangle object from which to copy the data. + + + + + + + Determines whether the object specified in the `toCompare` + parameter is equal to this Rectangle object. This method compares the + `x`, `y`, `width`, and + `height` properties of an object against the same properties of + this Rectangle object. + + @param toCompare The rectangle to compare to this Rectangle object. + @return A value of `true` if the object has exactly the same + values for the `x`, `y`, `width`, + and `height` properties as this Rectangle object; + otherwise `false`. + + + + + + + + Increases the size of the Rectangle object by the specified amounts, + in pixels. The center point of the Rectangle object stays the same, + and its size increases to the left and right by the `dx` value, and to + the top and the bottom by the `dy` value. + + @param dx The value to be added to the left and the right of the + Rectangle object. The following equation is used to + calculate the new width and position of the rectangle: + + ```as3 + x -= dx; + width += 2 * dx; + ``` + @param dy The value to be added to the top and the bottom of the + Rectangle. The following equation is used to calculate the + new height and position of the rectangle: + + ``` + y -= dy; + height += 2 * dy; + ``` + + + + + + + Increases the size of the Rectangle object. This method is similar to + the `Rectangle.inflate()` method except it takes a Point object as a + parameter. + The following two code examples give the same result: + + ```haxe + var rect1 = new Rectangle(0,0,2,5); + rect1.inflate(2,2); + ``` + ```haxe + var rect1 = new Rectangle(0,0,2,5); + var pt1 = new Point(2,2); + rect1.inflatePoint(pt1); + ``` + + @param point The `x` property of this Point object is used to increase + the horizontal dimension of the Rectangle object. The `y` + property is used to increase the vertical dimension of + the Rectangle object. + + + + + + + If the Rectangle object specified in the `toIntersect` parameter + intersects with this Rectangle object, returns the area of + intersection as a Rectangle object. If the rectangles do not + intersect, this method returns an empty Rectangle object with its + properties set to 0. + + ![The resulting intersection rectangle.](/images/rectangle_intersect.jpg) + + @param toIntersect The Rectangle object to compare against to see if + it intersects with this Rectangle object. + @return A Rectangle object that equals the area of intersection. If + the rectangles do not intersect, this method returns an empty + Rectangle object; that is, a rectangle with its `x`, `y`, + `width`, and `height` properties set to 0. + + + + + + + Determines whether the object specified in the `toIntersect` + parameter intersects with this Rectangle object. This method checks the + `x`, `y`, `width`, and + `height` properties of the specified Rectangle object to see if + it intersects with this Rectangle object. + + @param toIntersect The Rectangle object to compare against this Rectangle + object. + @return A value of `true` if the specified object intersects + with this Rectangle object; otherwise `false`. + + + + Determines whether or not this Rectangle object is empty. + + @return A value of `true` if the Rectangle object's width or + height is less than or equal to 0; otherwise `false`. + + + + + + + + Adjusts the location of the Rectangle object, as determined by its + top-left corner, by the specified amounts. + + @param dx Moves the _x_ value of the Rectangle object by this amount. + @param dy Moves the _y_ value of the Rectangle object by this amount. + + + + + + + Adjusts the location of the Rectangle object using a Point object as a + parameter. This method is similar to the `Rectangle.offset()` + method, except that it takes a Point object as a parameter. + + @param point A Point object to use to offset this Rectangle object. + + + + Sets all of the Rectangle object's properties to 0. A Rectangle object is + empty if its width or height is less than or equal to 0. + + This method sets the values of the `x`, `y`, + `width`, and `height` properties to 0. + + + + + + + + + + Sets the members of Rectangle to the specified values + + @param xa the values to set the rectangle to. + @param ya + @param widtha + @param heighta + + + + + + + + Adds two rectangles together to create a new Rectangle object, by + filling in the horizontal and vertical space between the two + rectangles. + + ![The resulting union rectangle.](/images/rectangle_union.jpg) + + **Note:** The `union()` method ignores rectangles with `0` as the + height or width value, such as: `var rect2:Rectangle = new Rectangle(300,300,50,0);` + + @param toUnion A Rectangle object to add to this Rectangle object. + @return A new Rectangle object that is the union of the two + rectangles. + + <__contract set="method" line="554"> + + + + + + + + + + <__expand set="method" line="577"> + + + + + + + + + + <__toLimeRectangle set="method" line="606"> + + + + <__transform set="method" line="618"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { height : 0, width : 0, y : 0, x : 0 } + Creates a new Rectangle object with the top-left corner specified by the + `x` and `y` parameters and with the specified + `width` and `height` parameters. If you call this + function without parameters, a rectangle with `x`, + `y`, `width`, and `height` properties set + to 0 is created. + + @param x The _x_ coordinate of the top-left corner of the + rectangle. + @param y The _y_ coordinate of the top-left corner of the + rectangle. + @param width The width of the rectangle, in pixels. + @param height The height of the rectangle, in pixels. + + A Rectangle object is an area defined by its position, as indicated by its + top-left corner point(_x_, _y_) and by its width and its height. + + + The `x`, `y`, `width`, and + `height` properties of the Rectangle class are independent of + each other; changing the value of one property has no effect on the others. + However, the `right` and `bottom` properties are + integrally related to those four properties. For example, if you change the + value of the `right` property, the value of the + `width` property changes; if you change the `bottom` + property, the value of the `height` property changes. + + The following methods and properties use Rectangle objects: + + + * The `applyFilter()`, `colorTransform()`, + `copyChannel()`, `copyPixels()`, `draw()`, + `fillRect()`, `generateFilterRect()`, + `getColorBoundsRect()`, `getPixels()`, + `merge()`, `paletteMap()`, + `pixelDisolve()`, `setPixels()`, and + `threshold()` methods, and the `rect` property of the + BitmapData class + * The `getBounds()` and `getRect()` methods, and + the `scrollRect` and `scale9Grid` properties of the + DisplayObject class + * The `getCharBoundaries()` method of the TextField + class + * The `pixelBounds` property of the Transform class + * The `bounds` parameter for the `startDrag()` + method of the Sprite class + * The `printArea` parameter of the `addPage()` + method of the PrintJob class + + + You can use the `new Rectangle()` constructor to create a + Rectangle object. + + **Note:** The Rectangle class does not define a rectangular Shape + display object. To draw a rectangular Shape object onscreen, use the + `drawRect()` method of the Graphics class. + + + "tags=\"haxe,release\"" + + + + + + + + + + 0 + + + + true + + + + + + + + + + <_staticPoint expr="new Point()" line="47" static="1"> + + new Point() + + <_staticRect expr="new Rectangle()" line="48" static="1"> + + new Rectangle() + + <_staticRect2 expr="new Rectangle()" line="49" static="1"> + + new Rectangle() + + <_staticPointZero expr="new Point(0, 0)" line="51" static="1"> + + new Point(0, 0) + + <_staticMatrix expr="new Matrix()" line="52" static="1"> + + new Matrix() + + <_staticFlxRect expr="FlxRect.get()" line="54" static="1"> + + FlxRect.get() + + <_staticFlxRect2 expr="FlxRect.get()" line="55" static="1"> + + FlxRect.get() + + + + 0x00 + + + + 0x11 + + + + 0x10 + + + + 0x01 + + <_staticRects static="1"> + + + + + + + + + + + + + + + + + + + + + + + { smooth : false, tile : TILE_NONE } + * Does the actual drawing for a 9-slice scaled graphic + * @param g the graphics object for drawing to (ie, sprite.graphic) + * @param assetID id of bitmapdata asset you are scaling + * @param scale9 int array defining 2 points that define the grid as [x1,y1,x2,y2] (upper-interior-left, lower-interior-right) + * @param rc rectangle object defining how big you want to scale it to + * @param tile if a bit is false, scale those pieces, if true, tile them (default both false) + * @param smooth whether to smooth when scaling or not (default false) + * @param raw raw pixels supplied, if any + * @return the new unique id + + + + + + + + + + + + + + + + + + + + + + { raw : null, smooth : false, tile : TILE_NONE } + + + + + + + + + + + + + + { raw : null, smooth : false, tile : TILE_NONE, srcData : null } + + + + + + + + + + + { smooth_ : false, tile : TILE_NONE } + + <_bmpCanvas> + + + "" + + <_slice9 expr="null"> + + null + + <_tile expr="TILE_NONE"> + + TILE_NONE + + <_smooth expr="false"> + + false + + <_asset_id expr=""""> + + "" + + <_raw_pixels> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { Color : FlxColor.WHITE, DeferResize : false, Resize_axis : FlxUISprite.RESIZE_RATIO_Y, Resize_point : null, Ratio : -1, Id : "", Smooth : false, Tile : TILE_NONE, Slice9 : null } + stretch) + * @param smooth When stretching, whether to smooth middle pieces (default false) + * @param id if Graphic is a BitmapData, manually specify its original source id, if any + * @param ratio Resize ratio to force, if desired (W/H) + * @param Resize_point Point for anchoring resizes + * @param Resize_axis Whether resizing is based around the X or Y axis + * @param Color Color to tint this graphic to. (White has no effect.)]]> + + * @author Lars Doucet + + + + + + + + + + "flixel/flixel-ui/img/button.png" + + + + "flixel/flixel-ui/img/button_arrow_down.png" + + + + "flixel/flixel-ui/img/button_arrow_left.png" + + + + "flixel/flixel-ui/img/button_arrow_right.png" + + + + "flixel/flixel-ui/img/button_arrow_up.png" + + + + "flixel/flixel-ui/img/button_thin.png" + + + + "flixel/flixel-ui/img/button_toggle.png" + + + + 18 + + + + "flixel/flixel-ui/img/check_mark.png" + + + + "flixel/flixel-ui/img/check_box.png" + + + + "flixel/flixel-ui/img/chrome.png" + + + + "flixel/flixel-ui/img/chrome_light.png" + + + + "flixel/flixel-ui/img/chrome_flat.png" + + + + "flixel/flixel-ui/img/chrome_inset.png" + + + + "flixel/flixel-ui/img/radio.png" + + + + "flixel/flixel-ui/img/radio_dot.png" + + + + "flixel/flixel-ui/img/tab.png" + + + + "flixel/flixel-ui/img/tab_back.png" + + + + "flixel/flixel-ui/img/box.png" + + + + "flixel/flixel-ui/img/dropdown_mark.png" + + + + "flixel/flixel-ui/img/plus_mark.png" + + + + "flixel/flixel-ui/img/minus_mark.png" + + + + "flixel/flixel-ui/img/hilight.png" + + + + "flixel/flixel-ui/img/invis.png" + + + + "flixel/flixel-ui/img/swatch.png" + + + + "flixel/flixel-ui/img/tooltip_arrow.png" + + + + "flixel/flixel-ui/img/finger_small.png" + + + + "flixel/flixel-ui/img/finger_big.png" + + + + "6,6,11,11" + + + + "2,2,15,15" + + + + "6,6,11,11" + + + + "6,6,11,11" + + + + "flixel/flixel-ui/xml/defaults" + + + + "flixel/flixel-ui/xml/default_popup" + + + + "flixel/flixel-ui/xml/default_loading_screen" + + + + + + + null + + + + + + + true + * If false, the bar is tracking its parent + * (the position is synchronized with the parent's position). + + + + * How many pixels = 1% of the bar (barWidth (or barHeight) / 100) + + + + * The positionOffset controls how far offset the FlxBar is from the parent sprite (if at all) + + + + false + * If this FlxBar should be killed when its empty + + + + * The percentage of how full the bar is (a value between 0 and 100) + + + + * The percentage of how full the bar is (a value between 0 and 100) + + + + + * The current value - must always be between min and max + + + + = max)]]> + + + + + + + + * How wide is the range of this bar? (max - min) + + + + * What 1% of the bar is equal to in terms of value (range / 100) + + + + 100 + * Number of frames FlxBar will have. Default value is 100. + * The bigger value you set then visual will change smoother. + * @since 4.1.0 + + + + * This function will be called when value will hit it's minimum + + + + * This function will be called when value will hit it's maximum + + + + * Object to track value from/ + + + + * Property of parent object to track. + + + + + + + * BarFrames which will be used for filled bar rendering. + * It is recommended to use this property in tile render mode + * (although it will work in blit render mode also). + + + + + * The direction from which the health bar will fill-up. Default is from left to right. Change takes effect immediately. + + <_fillHorizontal> + <_frontFrame> + + * FlxSprite which is used for rendering front graphics of bar (showing value) in tile render mode. + + <_filledFlxRect> + <_emptyBar> + <_emptyBarRect> + <_filledBar> + <_zeroOffset> + <_filledBarRect> + <_filledBarPoint> + <_maxPercent expr="100"> + + 100 + + + + + + + + + * Track the parent FlxSprites x/y coordinates. For example if you wanted your sprite to have a floating health-bar above their head. + * If your health bar is 10px tall and you wanted it to appear above your sprite, then set offsetY to be -10 + * If you wanted it to appear below your sprite, and your sprite was 32px tall, then set offsetY to be 32. Same applies to offsetX. + * + * @param offsetX The offset on X in relation to the origin x/y of the parent + * @param offsetY The offset on Y in relation to the origin x/y of the parent + * @see stopTrackingParent + + + + + + + + + + + { offsetY : 0, offsetX : 0, track : false } + * Sets a parent for this FlxBar. Instantly replaces any previously set parent and refreshes the bar. + * + * @param parentRef A reference to an object in your game that you wish the bar to track + * @param variable The variable of the object that is used to determine the bar position. For example if the parent was an FlxSprite this could be "health" to track the health value + * @param track If you wish the FlxBar to track the x/y coordinates of parent set to true (default false) + * @param offsetX The offset on X in relation to the origin x/y of the parent + * @param offsetY The offset on Y in relation to the origin x/y of the parent + + + + + + + + * Tells the health bar to stop following the parent sprite. The given posX and posY values are where it will remain on-screen. + * + * @param posX X coordinate of the health bar now it's no longer tracking the parent sprite + * @param posY Y coordinate of the health bar now it's no longer tracking the parent sprite + + + + + + + + + { killOnEmpty : false } + * Sets callbacks which will be triggered when the value of this FlxBar reaches min or max. + * Functions will only be called once and not again until the value changes. + * Optionally the FlxBar can be killed if it reaches min, but if will fire the empty callback first (if set) + * + * @param onEmpty The function that is called if the value of this FlxBar reaches min + * @param onFilled The function that is called if the value of this FlxBar reaches max + * @param killOnEmpty If set it will call FlxBar.kill() if the value reaches min + + + + + + + + * Set the minimum and maximum allowed values for the FlxBar + * + * @param min The minimum value. I.e. for a progress bar this would be zero (nothing loaded yet) + * @param max The maximum value the bar can reach. I.e. for a progress bar this would typically be 100. + + + + + + + + + + { border : FlxColor.WHITE, showBorder : false } + * Creates a solid-colour filled health bar in the given colours, with optional 1px thick border. + * All colour values are in 0xAARRGGBB format, so if you want a slightly transparent health bar give it lower AA values. + * + * @param empty The color of the bar when empty in 0xAARRGGBB format (the background colour) + * @param fill The color of the bar when full in 0xAARRGGBB format (the foreground colour) + * @param showBorder Should the bar be outlined with a 1px solid border? + * @param border The border colour in 0xAARRGGBB format + * @return This FlxBar object with generated images for front and background. + + + + + + + + + { border : FlxColor.WHITE, showBorder : false } + * Creates a solid-colour filled background for health bar in the given colour, with optional 1px thick border. + * + * @param empty The color of the bar when empty in 0xAARRGGBB format (the background colour) + * @param showBorder Should the bar be outlined with a 1px solid border? + * @param border The border colour in 0xAARRGGBB format + * @return This FlxBar object with generated image for rendering health bar background. + + + + + + + + + { border : FlxColor.WHITE, showBorder : false } + * Creates a solid-colour filled foreground for health bar in the given colour, with optional 1px thick border. + * @param fill The color of the bar when full in 0xAARRGGBB format (the foreground colour) + * @param showBorder Should the bar be outlined with a 1px solid border? + * @param border The border colour in 0xAARRGGBB format + * @return This FlxBar object with generated image for rendering actual values. + + + + + + + + + + + + { border : FlxColor.WHITE, showBorder : false, rotation : 180, chunkSize : 1 } + * Creates a gradient filled health bar using the given colour ranges, with optional 1px thick border. + * All colour values are in 0xAARRGGBB format, so if you want a slightly transparent health bar give it lower AA values. + * + * @param empty Array of colour values used to create the gradient of the health bar when empty, each colour must be in 0xAARRGGBB format (the background colour) + * @param fill Array of colour values used to create the gradient of the health bar when full, each colour must be in 0xAARRGGBB format (the foreground colour) + * @param chunkSize If you want a more old-skool looking chunky gradient, increase this value! + * @param rotation Angle of the gradient in degrees. 90 = top to bottom, 180 = left to right. Any angle is valid + * @param showBorder Should the bar be outlined with a 1px solid border? + * @param border The border colour in 0xAARRGGBB format + * @return This FlxBar object with generated images for front and background. + + + + + + + + + + + { border : FlxColor.WHITE, showBorder : false, rotation : 180, chunkSize : 1 } + * Creates a gradient filled background for health bar using the given colour range, with optional 1px thick border. + * + * @param empty Array of colour values used to create the gradient of the health bar when empty, each colour must be in 0xAARRGGBB format (the background colour) + * @param chunkSize If you want a more old-skool looking chunky gradient, increase this value! + * @param rotation Angle of the gradient in degrees. 90 = top to bottom, 180 = left to right. Any angle is valid + * @param showBorder Should the bar be outlined with a 1px solid border? + * @param border The border colour in 0xAARRGGBB format + * @return This FlxBar object with generated image for background rendering. + + + + + + + + + + + { border : FlxColor.WHITE, showBorder : false, rotation : 180, chunkSize : 1 } + * Creates a gradient filled foreground for health bar using the given colour range, with optional 1px thick border. + * + * @param fill Array of colour values used to create the gradient of the health bar when full, each colour must be in 0xAARRGGBB format (the foreground colour) + * @param chunkSize If you want a more old-skool looking chunky gradient, increase this value! + * @param rotation Angle of the gradient in degrees. 90 = top to bottom, 180 = left to right. Any angle is valid + * @param showBorder Should the bar be outlined with a 1px solid border? + * @param border The border colour in 0xAARRGGBB format + * @return This FlxBar object with generated image for rendering actual values. + + + + + + + + + + { fillBackground : FlxColor.LIME, emptyBackground : FlxColor.BLACK } + * Creates a health bar filled using the given bitmap images. + * You can provide "empty" (background) and "fill" (foreground) images. either one or both images (empty / fill), and use the optional empty/fill colour values + * All colour values are in 0xAARRGGBB format, so if you want a slightly transparent health bar give it lower AA values. + * NOTE: This method doesn't check if the empty image doesn't have the same size as fill image. + * + * @param empty Bitmap image used as the background (empty part) of the health bar, if null the emptyBackground colour is used + * @param fill Bitmap image used as the foreground (filled part) of the health bar, if null the fillBackground colour is used + * @param emptyBackground If no background (empty) image is given, use this colour value instead. 0xAARRGGBB format + * @param fillBackground If no foreground (fill) image is given, use this colour value instead. 0xAARRGGBB format + * @return This FlxBar object with generated images for front and background. + + + + + + + + { emptyBackground : FlxColor.BLACK } + * Loads given bitmap image for health bar background. + * + * @param empty Bitmap image used as the background (empty part) of the health bar, if null the emptyBackground colour is used + * @param emptyBackground If no background (empty) image is given, use this colour value instead. 0xAARRGGBB format + * @return This FlxBar object with generated image for background rendering. + + + + + + + + { fillBackground : FlxColor.LIME } + * Loads given bitmap image for health bar foreground. + * + * @param fill Bitmap image used as the foreground (filled part) of the health bar, if null the fillBackground colour is used + * @param fillBackground If no foreground (fill) image is given, use this colour value instead. 0xAARRGGBB format + * @return This FlxBar object with generated image for rendering actual values. + + + + + + + + + * Updates health bar view according its current value. + * Called when the health bar detects a change in the health of the parent. + + + + * Stamps health bar background on its pixels + + + + * Stamps health bar foreground on its pixels + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { showBorder : false, max : 100, min : 0, variable : "", height : 10, width : 100, y : 0, x : 0 } + * Create a new FlxBar Object + * + * @param x The x coordinate location of the resulting bar (in world pixels) + * @param y The y coordinate location of the resulting bar (in world pixels) + * @param direction The fill direction, LEFT_TO_RIGHT by default + * @param width The width of the bar in pixels + * @param height The height of the bar in pixels + * @param parentRef A reference to an object in your game that you wish the bar to track + * @param variable The variable of the object that is used to determine the bar position. For example if the parent was an FlxSprite this could be "health" to track the health value + * @param min The minimum value. I.e. for a progress bar this would be zero (nothing loaded yet) + * @param max The maximum value the bar can reach. I.e. for a progress bar this would typically be 100. + * @param showBorder Include a 1px border around the bar? (if true it adds +2 to width and height to accommodate it) + + * FlxBar is a quick and easy way to create a graphical bar which can + * be used as part of your UI/HUD, or positioned next to a sprite. + * It could represent a loader, progress or health bar. + * + * @link http://www.photonstorm.com + * @author Richard Davey / Photon Storm + + + + + + + + + + + + + + + + + + + + + + + + + + * Applies a new style to this FlxBar and redraws it + + + + + + + + + + + + + + + + + + + + + + + + + { showBorder : false, max : 100, min : 0, variable : "", height : 10, width : 100, y : 0, x : 0 } + * Create a new FlxBar Object + * + * @param x The x coordinate location of the resulting bar (in world pixels) + * @param y The y coordinate location of the resulting bar (in world pixels) + * @param direction The fill direction, LEFT_TO_RIGHT by default + * @param width The width of the bar in pixels + * @param height The height of the bar in pixels + * @param parentRef A reference to an object in your game that you wish the bar to track + * @param variable The variable of the object that is used to determine the bar position. For example if the parent was an FlxSprite this could be "health" to track the health value + * @param min The minimum value. I.e. for a progress bar this would be zero (nothing loaded yet) + * @param max The maximum value the bar can reach. I.e. for a progress bar this would typically be 100. + * @param showBorder Include a 1px border around the bar? (if true it adds +2 to width and height to accommodate it) + + * ... + * @author larsiusprime + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [FlxPoint.get(), FlxPoint.get(), FlxPoint.get(0, 1)] + * What offsets the `label` should have for each status. + + + + [0.8, 1.0, 0.5] + * What alpha value the label should have for each status. Default is `[0.8, 1.0, 0.5]`. + * Multiplied with the button's `alpha`. + + + + ["normal", "highlight", "pressed"] + * What animation should be played for each status. + * Default is ["normal", "highlight", "pressed"]. + + + + true + * Whether you can press the button simply by releasing the touch / mouse button over it (default). + * If false, the input has to be pressed while hovering over the button. + + + + [FlxMouseButtonID.LEFT] + * Which mouse buttons can trigger the button - by default only the left mouse button. + + + + Math.POSITIVE_INFINITY + * Maximum distance a pointer can move to still trigger event handlers. + * If it moves beyond this limit, onOut is triggered. + * Defaults to `Math.POSITIVE_INFINITY` (i.e. no limit). + + + + * Shows the current state of the button, either `FlxButton.NORMAL`, + * `FlxButton.HIGHLIGHT` or `FlxButton.PRESSED`. + + + + * The properties of this button's `onUp` event (callback function, sound). + + + + * The properties of this button's `onDown` event (callback function, sound). + + + + * The properties of this button's `onOver` event (callback function, sound). + + + + * The properties of this button's `onOut` event (callback function, sound). + + + + + + <_spriteLabel> + + * We cast label to a `FlxSprite` for internal operations to avoid Dynamic casts in C++ + + + + * We don't need an ID here, so let's just use `Int` as the type. + + + + * The input currently pressing this button, if none, it's `null`. Needed to check for its release. + + + + -1 + + + + + + + + + + + * Called by the game state when state is changed (if this object belongs to the state) + + + + + + + * Called by the game loop automatically, handles mouseover and click detection. + + + + + * Just draws the button graphic and text label to the screen. + + + + + + + * Stamps button's graphic and label onto specified atlas object and loads graphic from this atlas. + * This method assumes that you're using whole image for button's graphic and image has no spaces between frames. + * And it assumes that label is a single frame sprite. + * + * @param atlas Atlas to stamp graphic to. + * @return Whether the button's graphic and label's graphic were stamped on the atlas successfully. + + + + * Basic button update logic - searches for overlaps with touches and + * the mouse cursor and calls `updateStatus()`. + + + + + + + + + + + + + + + + * Updates the button status by calling the respective event handler function. + + + + + + + + + * Using an event listener is necessary for security reasons on flash - + * certain things like opening a new window are only allowed when they are user-initiated. + + + + * Internal function that handles the onUp event. + + + + * Internal function that handles the onDown event. + + + + * Internal function that handles the onOver event. + + + + * Internal function that handles the onOut event. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { Y : 0, X : 0 } + * Creates a new `FlxTypedButton` object with a gray background. + * + * @param X The x position of the button. + * @param Y The y position of the button. + * @param OnClick The function to call whenever the button is clicked. + + * A simple button class that calls a function when clicked by the mouse. + + + + * The cursor can point to one of these + * @author Lars Doucet + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { frame_indeces : null, src_h : 0, src_w : 0, isToggle : false, Resize_Ratio : -1, Tile : FlxUI9SliceSprite.TILE_NONE, slice9 : null, H : 20, W : 80, assets : null } + + + + + + + + { Key : "" } + + + + + + + + + { for_toggle : false } + + + + + + + * This interface keeps me from having to use a Dynamic variable to point to a value holding a FlxUITypedButton + * that could be either a FlxUIButton or a FlxUISpriteButton + * @author larsiusprime + + + flixel.ui.FlxButton + + + + + + + + + + + + + "click_button" + + + + "over_button" + + + + "down_button" + + + + "out_button" + + + + + -1 + + + + FlxUISprite.RESIZE_RATIO_Y + + + + null + + + + FlxUI9SliceSprite.TILE_NONE + + + + false + + + + false + + + + + + + + true + + + + + + + + + + + + + null + + + + null + + + + null + + + + null + + + + null + + + + null + + + + true + + + + true + + + + true + + + + true + + + + true + + + + true + + + + + + + + + + + + + true + + + + false + + + + + + + + + + + + + + false + + + + + + + + flixel.addons.ui.FlxUITypedButton + + + + + + + + + + + + * Set all 3 sets of labelOffsets at once + + + + + + + + * Offset the statusAnimations-index by 3 when toggled. + + + + * Just draws the button graphic and text label to the screen. + + + + + + + + + + + + + + { Redraw : true } + + + + + + + + + + + + { Key : "" } + * Provide a list of assets, load states from each one + * @param assets + * @param key string key for caching (optional) + + + + + + + + + { for_toggle : false } + * Provide one combined asset, load all 3 state frames from it and infer the width/height + * @param asset graphic to load + * @param for_toggle whether this is for a toggle button or not + * @param key string key for caching (optional) + + + + + + + + + + + + + + + + { frame_indeces : null, src_h : 0, src_w : 0, isToggle : false, Resize_Ratio : -1, Tile : FlxUI9SliceSprite.TILE_NONE, slice9 : null, H : 20, W : 80, assets : null } + Graphics chopping functions + + + + * Sets labelOffset to center the label horizontally and vertically + + + + + + + + + + + + + + + + + + + + + + { key : null, src_h : 0, src_w : 0, for_toggle : false } + *UTILITY FUNCTIONS* + + + + + + + + * Combines two stacked button images for a toggle button + + + + + + + + + * Give me three bitmapdatas and I'll return an assembled button bitmapdata for you. + * If overB or downB are missing, it will not include those frames. + + + + + + + + + + + + + + + + + + + + + <_autoCleanup expr="true"> + + true + *******PRIVATE********** + + <_assetsToCleanup expr="[]"> + + [] + + <_no_graphic expr="false"> + + false + + <_src_w expr="0"> + + 0 + + <_src_h expr="0"> + + 0 + + <_frame_indeces> + <_slice9_arrays> + <_slice9_assets> + <_centerLabelOffset expr="null"> + + null + + + + + + + + + { Y : 0, X : 0 } + * Creates a new FlxUITypedButton object with a gray background. + * + * @param X The X position of the button. + * @param Y The Y position of the button. + * @param OnClick The function to call whenever the button is clicked. + + + + + + + + + + * ... + * @author Lars Doucet + + + + + + + <_noIconGraphicsBkup> + + + null + + + + null + + + + null + + + + null + + + + null + + + + null + + + + + + + + + + + + + { Embedded : true, BorderColor : FlxColor.TRANSPARENT, Color : FlxColor.WHITE, Size : 8 } + * You can use this if you have a lot of text parameters + * to set instead of the individual properties. + * + * @param Font The name of the font face for the text display. + * @param Size The size of the font (in pixels essentially). + * @param Color The color of the text in traditional flash 0xRRGGBB format. + * @param Alignment The desired alignment + * @param BorderStyle NONE, SHADOW, OUTLINE, or OUTLINE_FAST (use setBorderFormat) + * @param BorderColor Int, color for the border, 0xRRGGBB format + * @param EmbeddedFont Whether this text field uses embedded fonts or not + * @return This FlxText instance (nice for chaining stuff together, if you're into that). + + + + + + + + + + + + + For ILabeled: + + + + + + + + + For IResizable: + + + + + + + + + + { center : true, Y : 0, X : 0 } + + + + + + + + + + ********PRIVATE******* + + + + * Updates the size of the text field to match the button. + + + + + + + + + + + + + + + + + { Color : FlxColor.WHITE, LoadBlank : false, LoadDefaultGraphics : true, Y : 0, X : 0 } + * Creates a new FlxUIButton. + * + * @param X The X position of the button. + * @param Y The Y position of the button. + * @param Label The text that you want to appear on the button. + * @param OnClick The function to call whenever the button is clicked. + * @param LoadDefaultGraphics By default it will load up with placeholder graphics. Pass false if you want to skip this (i.e. if you will provide your own graphics subsequently, can save time) + * @param LoadBlank Load this button without ANY visible graphics, but still functions (in case you need an invisible click area) + + * This class extends FlxUITypedButton and has a Text label, and is thus + * most analagous to the regular FlxButton + * + * Like all FlxUITypedButton's, it can work as a toggle button, and load + * 9-slice sprites for its button images, and be dynamically resized + * accordingly. + * + * Furthermore, you have the ability to set the text's coloring for each + * state just by adjusting a few public variables + + + + + + + + + + + "click_check_box" + + + + + + + -1 + + + + false + + + + + true + + + + false + + + + 0 + + + + 0 + + + + 2 + + + + false + + + + + + + + + + + + + + + + + + + + For ILabeled: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ***GETTER/SETTER* + + <_clickCheck set="method" line="283"> + + ***PRIVATE**** + + + + + + + + + + + + + + { LabelW : 100, Y : 0, X : 0 } + + * @author Lars Doucet + + + + + + + "click_color_swatch" + + + + + + + + + + + + + + SETTERS + + + + + + + + + * Set a color at a specific index in the swatch + * @param Color + * @param index + + + + + + + + + + + * If true, the swatch will draw itself dynamically based on the four colors provided + + + + + + + + + + + + + + + + + + + + + + + + + + + <_origKey expr=""""> + + "" + + <_skipRefresh expr="false"> + + false + + + + + + + + + + + + + + + + { Height : -1, Width : -1, Color : 0xFFFFFF } + * Creates a new color swatch that can store and display a color value + * @param Color Single color for the swatch + * @param Colors Multiple colors for the swatch + * @param Asset An asset for the swatch graphic (optional) + * @param Callback Function to call when clicked + + + + + + + + + "click_color_swatch_selecter" + + + + + <_previewSwatch> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + { IgnoreInvisible : true, PickClosest : true } + + + + + + + + <_previewGraphic> + <_swatchGraphic> + <_selectedSwatch> + <_selectionSprite> + <_dirtyLayout expr="false"> + + false + + + + + + + + + + + + + + + + + { Swatch : null, Preview : null, MaxColumns : -1, SpacingV : 2, SpacingH : 2 } + * A handy little group for selecting color swatches from + * @param X X location + * @param Y Y location + * @param SelectionSprite The selection box sprite (optional, auto-generated if not supplied) + * @param list_colors A list of single-colors to generate swatches from. 1st of 3 alternatives. + * @param list_data A list of swatch data to generate swatches from. 2nd of 3 alternatives. + * @param list_swatches A list of the actual swatch widgets themselves. 3rd of 3 alternatives. + * @param SpacingH Horizontal spacing between swatches + * @param SpacingV Vertical spacing between swatches + * @param MaxColumns Number of horizontal swatches in a row before a line break + * @param Preview Graphic information for the preview swatch + * @param Swatch Graphic information for the regular swatches + + * ... + * @author larsiusprime + + + + + + + + + + + 0x00000001 + + + + 0x00000010 + + + + 0x00000100 + + + + 0x00001000 + + + + 0x00010000 + + + + 0x00100000 + + + + 0x01000000 + + + + 0x10000000 + + + + 0x00 + + + + 0x01 + + + + 0x10 + + + + + + + + + true + + + + -1 + + + + 0 + + + + * Exactly what it sounds like. The next input that would trigger a jump doesn't happen, then this flag is reset. + + + + + + + + + { wrap : true, forwardIfInvisible : true } + * Same as setting .location, but lets you specificy what to do if that object is invisible + * @param loc the location you want to set the cursor to + * @param forwardIfInvisible if object @ loc is invisible, keep adding 1 until we find a good state. If false, subtract 1. + * @param wrap if true, wrap around if we reach the end of the list. If false, don't. + + + + * Returns the current widget the cursor is pointing to, if any + * @since 2.1.0 + + + + + + + + + + + + + + + + FirstActive + * If a gamepad's connection is suddenly lost, what should be done? + + + + + + + + <_gamepad> + + + + + + + + + true + + + + 0x00 + + + + + + + + + + + + + + + + * Forces the cursor to change its location to point to this widget, if the widget is in its list + * @param widget + * @return whether the widget was found or not + + + + + + + + * Forces the cursor to to point to whatever widget's center is closest to X,Y -- IF the widget is in its list + * @param X + * @param Y + * @return + + + + + + + + + + + + + + + + + @since 2.1.0 + + + + + + + + + + + + * Set the default key layout quickly using a constant. + * @param code KEYS_TAB, ..._WASD, etc, combine with "|" operator + + <_lists> + + **PRIVATE** + + <_widgets> + <_newMouse> + + + 0 + + + + 0 + + <_clickPressed expr="false"> + + false + + <_defaultCode> + <_rightAnchor> + <_topAnchor> + <_leftAnchor> + <_bottomAnchor> + <_clickTime expr="0"> + + 0 + + + + + + + { exhaustive : true } + + <_sortIDVisible set="method" line="718"> + + + + + <_sortXYWidgetList set="method" line="731"> + + + + + <_sortXYVisible set="method" line="744"> + + + + + <_addToKeys set="method" line="761"> + + + + + <_clearKeys set="method" line="778"> + <_newKeys set="method" line="792"> + <_checkKeys set="method" line="801"> + <_clickKeysJustPressed set="method" line="873"> + <_clickKeysPressed set="method" line="885"> + <_getWidgetPoint set="method" line="897"> + + + + <_doMouseMove set="method" line="936"> + + + + <_doPress set="method" line="971"> + + + + <_doRelease set="method" line="1015"> + + + + <_findNextY set="method" line="1074"> + + + + + + + <_wrapX set="method" line="1147"> + + + + + + <_wrapY set="method" line="1160"> + + + + + + + <_doInput set="method" line="1237"> + + + + + + + { recursion : 0 } + + <_updateCursor set="method" line="1338"> + <_flipAnchor set="method" line="1399"> + + + + + + + + + + + + + + + + + { DefaultKeys : KEYS_TAB, InputMethod : INPUT_KEYS } + ***************************** + + * Cursor object that you can use to "click" on interface elements using a keyboard or gamepad + * TODO: need to support gamepad and/or deal with absence of mouse + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "click_dropdown" + + + + + + + + { UseIndexID : false } + * Helper function to easily create a data list for a dropdown menu from an array of strings. + * + * @param StringArray The strings to use as data - used for both label and string ID. + * @param UseIndexID Whether to use the integer index of the current string as ID. + * @return The StrIDLabel array ready to be used in FlxUIDropDownMenu's constructor + + + + + + + + + <_selectedId> + <_selectedLabel> + + + + + + + + + + +
+ + * The header of this dropdown menu. +
+ + + [] + * The list of items that is shown when the toggle button is clicked. + + + + * The background for the list. + + + + + + + + + Automatic + + + + + + + + + + + + + + + + + + + + + + + * Change the contents with a new data list + * Replaces the old content with the new content + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { Y : 0, X : 0 } + * This creates a new dropdown menu. + * + * @param X x position of the dropdown menu + * @param Y y position of the dropdown menu + * @param DataList The data to be displayed + * @param Callback Optional Callback + * @param Header The header of this dropdown menu + * @param DropPanel Optional 9-slice-background for actual drop down menu + * @param ButtonList Optional list of buttons to be used for the corresponding entry in DataList + * @param UIControlCallback Used internally by FlxUI + + * @author larsiusprime + +
+ + + + + * The background of the header. + + + + * The text that displays the currently selected item. + + + + + + + + + + + + { Width : 120 } + * Creates a new dropdown header to be used in a FlxUIDropDownMenu. + * + * @param Width Width of the dropdown - only relevant when no back sprite was specified + * @param Back Optional sprite to be placed in the background + * @param Text Optional text that displays the current value + * @param Button Optional button that toggles the dropdown list + + * Header for a FlxUIDropDownMenu + + + + + + + + + + + + + + + + + + + "change_input_text" + + + + "enter_input_text" + + + + "delete_input_text" + + + + "input_input_text" + + + + + true + + + + + + + + + + + + + + + + + + + + + + * @author Lars Doucet + + + + + + + + HORIZONTAL + + + + 10 + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * ... + * @author larsiusprime + + + + + + + + + + + + + + + 0 + + + + 1 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + **PRIVATE** + + <_skipRefresh expr="false"> + + + false + flixel.addons.ui.FlxUIRadioGroup + + + + + + + + + + + + + + + + + flixel.addons.ui.FlxUIRadioGroup + + + + + + + + + + + + + + + + + + + + + + + + + + + + more...", H : 0, W : 0, Widgets : null, Y : 0, X : 0 }]]> + more..." in your language (must use variable!) + * @param Stacking How to stack the widgets? STACK_HORIZONTAL or STACK_VERTICAL + * @param Spacing Space between widgets + * @param PrevButtonOffset Offset for Scroll - Button + * @param NextButtonOffset Offset for Scroll + Button + * @param PrevButton Button to Scroll - + * @param NextButton Button to Scroll +]]> + + + + + + + + + + null + + <_makeCursor> + + + * frontend for adding tooltips to things + + <_xml_id expr=""""> + + "" + + <_ui> + <_tongue> + + + false + + <_reload expr="false"> + + false + + <_reload_countdown expr="0"> + + 0 + + + + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { Safe : true, Context : "ui" } + + + + flixel.addons.ui.FlxUI + + + + * Creates a cursor. Makes it easy to override this function in your own FlxUIState. + * @return + + + + + + + + + + + { liveFilePath_ : "", tongue_ : null, superIndex_ : null, ptr : null, data : null } + + + + + + + + { BGColor : 0 } + + * This is a simple extension of FlxState that does two things: + * 1) It implements the IEventGetter interface + * 2) Automatically creates a FlxUI objects from a single string id + * + * Usage: + * Create a class that extends FlxUIState, override create, and + * before you call super.create(), set _xml_id to the string id + * of the corresponding UI xml file (leave off the extension). + * + * @author Lars Doucet + + + + + + + "click_popup" + + + + + true + + + + STUBS TO MAKE THE INTERFACE HAPPY: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { Y : 0, X : 0 } + + + + 0 + + + + 0 + + + + null + + + + 1 + + + + <_width expr="0"> + + 0 + + <_height expr="0"> + + 0 + + + + ********************************** + + + + + + + + + * Assuming you use the default format, puts this information in the popup. + * This function ONLY works if you are using the default_popup.xml, OR your + * custom xml contains the following assets: + * 2 texts, ids: "title","body" + * 3 buttons, ids: "btn0","btn1","btn2" + * 3 modes, ids: "1btn","2btn","3btn" + * @param title title text + * @param body body text + * @param button_labels up to three button labels - if fewer, shows less buttons + + + + + + + + + + <_quickSetupParams expr="null"> + + <c path="String"/> + + + + null + + + + + + + + + { safe : true, context : "ui" } + + <_doQuickSetup set="method" line="250"> + <_doQuickSetupButtons set="method" line="270"> + + + + + + + + + + "loading_screen_progress" + + + + "loading_screen_finished" + + + + "loading_screen_cancelled" + + + + "loading_screen_accepted" + + + + 0 + + + + + + + + <c path="String"/> + + + + + + + + + + + + + + + + + + + + + + + + + { canCancel_ : false } + + + + + + + + + + + + + + + + + + + + + { safe : true, context : "ui" } + + <_doQuickSetupButtons set="method" line="217" override="1"> + <_timeSpentAlive expr="0"> + + 0 + + <_currTimer> + <_task expr="null"> + + null + + <_sleepTime expr="0"> + + 0 + + <_closeOnFinished expr="true"> + + true + + <_progress expr="0"> + + 0 + + <_bar> + <_bar_back> + <_title> + <_body> + <_body_temp_txt expr=""$LOADING_BODY""> + + "$LOADING_BODY" + + <_title_temp_txt expr=""$LOADING_TITLE""> + + "$LOADING_TITLE" + + + + + + * A simple loading screen -- you must drive the churning of tasks externally + * + * @author larsiusprime + + + <_cachedPoint expr="new FlxPoint()" line="19" static="1"> + + new FlxPoint() + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + <_globalScreenX expr="0"> + + 0 + + <_globalScreenY expr="0"> + + 0 + + + + + + + + * Fetch the world position of the pointer on any given camera. + * NOTE: x and y also store the world position of the pointer on the main camera. + * + * @param Camera If unspecified, first/main global camera is used instead. + * @param point An existing point object to store the results (if you don't want a new one created). + * @return The touch point's location in world space. + + + + + + + + * Fetch the screen position of the pointer on any given camera. + * NOTE: screenX and screenY also store the screen position of the pointer on the main camera. + * + * @param Camera If unspecified, first/main global camera is used instead. + * @param point An existing point object to store the results (if you don't want a new one created). + * @return The touch point's location in screen space. + + + + + + + + flixel.FlxCamera + * Fetch the screen position of the pointer relative to given camera's viewport. + * + * @param Camera If unspecified, first/main global camera is used instead. + * @param point An existing point object to store the results (if you don't want a new one created). + * @return The touch point's location relative to camera's viewport. + + + + + + + * Returns a FlxPoint with this input's x and y. + + + + + + + + flixel.group.FlxTypedGroup.resolveGroup + * Checks to see if some FlxObject overlaps this FlxObject or FlxGroup. + * If the group has a LOT of things in it, it might be faster to use FlxG.overlaps(). + * WARNING: Currently tilemaps do NOT support screen space overlap checks! + * + * @param ObjectOrGroup The object or group being tested. + * @param Camera Specify which game camera you want. If null getScreenPosition() will just grab the first global camera. + * @return Whether or not the two objects overlap. + + + + + + + + * Directly set the underyling screen position variable. WARNING! You should never use + * this unless you are trying to manually dispatch low-level mouse / touch events to the stage. + + + + + * Helper function to update the cursor used by update() and playback(). + * Updates the x, y, screenX, and screenY variables based on the default camera. + + + + + + + + + + + flixel.system.frontEnds.InputFrontEnd + + + + + + + true + * Whether or not mouse input is currently enabled. + * @since 4.1.0 + + + + 0 + * Current "delta" value of mouse wheel. If the wheel was just scrolled up, + * it will have a positive value and vice versa. Otherwise the value will be 0. + + + + * A display container for the mouse cursor. It is a child of FlxGame and + * sits at the right "height". Not used on flash with the native cursor API. + + + + true + * Used to toggle the visiblity of the mouse cursor - works on both + * the flixel and the system cursor, depending on which one is active. + + + + false + * Tells flixel to use the default system mouse cursor instead of custom Flixel mouse cursors. + + + + * Check to see if the mouse has just been moved. + * @since 4.4.0 + + + + * Check to see if the left mouse button is currently pressed. + + + + * Check to see if the left mouse button has just been pressed. + + + + * Check to see if the left mouse button has just been released. + + + + * Time in ticks of last left mouse button press. + * @since 4.3.0 + + + + * Check to see if the right mouse button is currently pressed. + + + + * Check to see if the right mouse button has just been pressed. + + + + * Check to see if the right mouse button has just been released. + + + + * Time in ticks of last right mouse button press. + * @since 4.3.0 + + + + * Check to see if the middle mouse button is currently pressed. + + + + * Check to see if the middle mouse button has just been pressed. + + + + * Check to see if the middle mouse button has just been released. + + + + * Time in ticks of last middle mouse button press. + * @since 4.3.0 + + <_leftButton> + + flixel.input.mouse.FlxMouseButton + * The left mouse button. + + <_middleButton> + + flixel.input.mouse.FlxMouseButton + * The middle mouse button. + + <_rightButton> + + flixel.input.mouse.FlxMouseButton + * The right mouse button. + + <_cursor expr="null"> + + null + * This is just a reference to the current cursor image, if there is one. + + <_cursorBitmapData> + <_wheelUsed expr="false"> + + false + + <_visibleWhenFocusLost expr="true"> + + true + + <_lastX expr="0"> + + 0 + * Helper variables for recording purposes. + + <_lastY expr="0"> + + 0 + + <_lastWheel expr="0"> + + 0 + + <_lastLeftButtonState> + <_prevX expr="0"> + + 0 + * Helper variables to see if the mouse has moved since the last update. + + <_prevY expr="0"> + + 0 + + <_stage> + + + + + + + + + { YOffset : 0, XOffset : 0, Scale : 1 } + * Helper variables for flash native cursors + + + + * Unload the current cursor graphic. If the current cursor is visible, + * then the default system cursor is loaded up to replace the old one. + + + + + + + + * Clean up memory. Internal use only. + + + + * Resets the just pressed/just released flags and sets mouse to not pressed. + + + + * Called by the internal game loop to update the mouse pointer's position in the game world. + * Also updates the just pressed/just released flags. + + + + * Called from the main Event.ACTIVATE that is dispatched in FlxGame + + + + * Called from the main Event.DEACTIVATE that is dispatched in FlxGame + + + + + + + + * Internal event handler for input and focus. + + + + + + + * We're detecting the mouse leave event to prevent a bug where `pressed` remains true + * for the middle and right mouse button when pressed and dragged outside the window. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + flixel.system.replay.FlxReplay + + + + + + + flixel.system.replay.FlxReplay + + + + + + + + + flixel.FlxG + + * @param cursorContainer The cursor container sprite passed by FlxGame + + * This class helps contain and track the mouse pointer in your game. + * Automatically accounts for parallax scrolling, etc. + * Normally accessed via `FlxG.mouse`. + + + + + + + true + + + + * Called by the internal game loop to update the mouse pointer's position in the game world. + * Also updates the just pressed/just released flags. + + + + + + * A customized extension to FlxMouse that lets us add in accessibility stuff + * like using the keyboard to control mouse moving/clicking + + + + + + + + + + 0 + + + + 1 + + + + "click_numeric_stepper" + + + + "edit_numeric_stepper" + + + + "change_numeric_stepper" + + + + + + + 0 + + + + 0 + + + + 0 + + + + 10 + + + + 0 + + + + STACK_HORIZONTAL + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <__textBoxValueChanged expr="false"> + + false + + <_onInputTextEvent set="method" line="281"> + + + + + <_onPlus set="method" line="311"> + <_onMinus set="method" line="318"> + <_doCallback set="method" line="325"> + + + + + + + + + + + + + + + + + + + + { IsPercent : false, Stack : STACK_HORIZONTAL, Decimals : 0, Max : 999, Min : -999, DefaultValue : 0, StepSize : 1, Y : 0, X : 0 } + * This creates a new dropdown menu. + * + * @param X x position of the dropdown menu + * @param Y y position of the dropdown menu + * @param StepSize How big is the step + * @param DefaultValue Optional default numerical value for the stepper to display + * @param Min Optional Minimum values for the stepper + * @param Max Optional Maximum and Minimum values for the stepper + * @param Decimals Optional # of decimal places + * @param Stack Stacking method + * @param TextField Optional text field + * @param ButtonPlus Optional button to use for plus + * @param ButtonMinus Optional button to use for minus + * @param IsPercent Whether to portray the number as a percentage + + + + + + + + + + "click_radio_group" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + * If this is false, when the size changes it auto-expands the scroll canvas + * If this is true, when the size changes it forces it to scroll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + *GETTER / SETTER* + + + + + + + + + + + + + + + + + + + + + + + + + + + * If you want to show only a portion of the radio group, scrolled line-by-line + * This will scroll the "pane" by that amount and return how many lines are above/below + * the currently visible pane + * @param scroll How many lines DOWN you have scrolled + * @param max_items (optional) Max amount of lines visible + * @return a FlxPoint of off-pane radio lines : (count_above,count_below) + + + + + + + <_list_active> + + *PRIVATE* + + <_list> + <_box_asset> + <_dot_asset> + <_labels> + <_ids> + <_label_width expr="100"> + + 100 + + <_width expr="100"> + + 100 + + <_height expr="20"> + + 20 + + <_y_space expr="25"> + + 25 + + <_selected expr="0"> + + 0 + + <_clickable expr="true"> + + true + + <_list_radios> + <_refreshRadios set="method" line="422"> + + * Create the radio elements if necessary, and/or just refresh them + + + + <_onCheckBoxEvent set="method" line="560"> + + + + <_onClick set="method" line="565"> + + + + + + + + + + + + + + + + + + + + + + + + + + more...", label_width_ : 100, height_ : 20, width_ : 100, y_space_ : 25, callback_ : null }]]> + more..." in your language. MUST have "" token + * @param PrevButtonOffset Offset for the "previous" scroll button + * @param NextButtonOffset Offset for the "next" scroll button + * @param PrevButton Your own custom button for the "previous" scroll button + * @param NextButton Your own custom button for the "next" scroll button]]> + + * @author Lars Doucet + + + + + + + null + + + + + + + + + + + + + + + { CheckColor : null } + + + + + + + + + + true + + + + + + + + + + + + + + + + { H : 16, W : 16, Y : 0, X : 0 } + + * A scalable object with width and height that isn't used for display purposes + + + + + + + + "change_slider" + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + For IResizable: + + + + + + + + + + + { Y : 0, X : 0 } + * Creates a new FlxUISpriteButton. + * + * @param X The X position of the button. + * @param Y The Y position of the button. + * @param Label The text that you want to appear on the button. + * @param OnClick The function to call whenever the button is clicked. + + * This class extends FlxUISpriteButton and has a Sprite "label" + * + * Like all FlxUITypedButton's, it can work as a toggle button, and load + * 9-slice sprites for its button images, and be dynamically resized + * accordingly. + + + + + + + + + + "tab_menu_click" + + + + "front" + + + + "back" + + + + + + + + + + + + To make IEventGetter happy + + + + + + + + + + + For IFlxUIClickable + + + + + + + + For IResizable + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_onTabEvent set="method" line="331"> + + + + + + + + + <_back> + + *PRIVATE* + + <_tabs> + <_tab_groups> + <_stretch_tabs expr="false"> + + false + + <_tab_spacing expr="null"> + + null + + <_tab_stacking expr="null"> + + null + + <_tab_offset expr="null"> + + null + + <_selected_tab_id expr=""""> + + "" + + <_selected_tab expr="-1"> + + -1 + + + + + + + + + + + <_showOnlyGroup set="method" line="448"> + + + + + + + + + + { W : -1 } + + + + + + + + + + + + + + + + { tab_stacking : null, tab_spacing : null, stretch_tabs : false } + *PUBLIC* + + * @author Lars Doucet + + + + + + + + + + true + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + { EmbeddedFont : true, Size : 8, FieldWidth : 0, Y : 0, X : 0 } + + * Simple extension to the basic text field class. + * @author Lars Doucet + + + + + + + + + + + + + <_tilesWide expr="2"> + + 2 + + <_tilesTall expr="2"> + + 2 + + <_color1 expr="0"> + + 0 + + <_color2 expr="0"> + + 0 + + + + false + + + + -1 + + + + + + + + + + + + { color2 : 0xffc4c4c4, color1 : 0xff808080 } + + + + + + + + + + + + + + + + + + + + + + + + + { FloorToEven : false, color2 : 0xc4c4c4, color1 : 0x808080 } + + * This is mostly just for testing purposes, it is NOT a replacement for FlxTileMap + + + + + + + + + + + flixel.addons.ui.FlxUITooltipManager + + + + + + + + + + + + + + + + + + <c path="String"/> + + + + + + + + + + + + { ShowArrow : true, AutoSizeHorizontal : true, AutoSizeVertical : true, Body : "", Title : "" } + + + + + + + + + *SETTERS* + + + + + + + + + + + + + + <_bkg> + + ********* + + <_titleText> + <_bodyText> + <_arrow> + <_arrowBkg> + <_anchorArrow> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * ... + * @author larsiusprime + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + * Turn on flipping the anchor position around in order to keep a tooltip on screen + + + + null + * Default anchor position for tooltips where no anchor is defined + + + + + + + null + * Optional fixed position to use for ALL tooltips + * @since 2.1.0 + + + + null + * Default style for tooltips where no style is defined + + + + false + + + + 0.1 + + + + @since 2.1.0 + + + + @since 2.2.0 + + + + + flixel.addons.ui.FlxUI + flixel.addons.ui.FlxUIState + flixel.addons.ui.FlxUISubState + + + + + + * Removes all tooltips + + + + * Hides the tooltip that is being displayed right now + + + + @since 2.1.0 + + + + + + + + { checkChildren : true } + * Checks whether the currently shown tooltip belongs to a given FlxSprite, or optionally, any of its children (if it is a FlxUIGroup or FlxUI) + * @param thing the FlxSprite to check + * @param checkChildren whether or not to check its children (default: true) + * @return + + + + + + + + { sticky : true } + * Set an object's tooltip's stickiness (whether it disappears when the mouse moves off of it or not) + * @param thing the thing you want to modify the tooltip for + * @param sticky if true, this tooltip will not disappear until explicitly hidden or until another tooltip is triggered + * @since 2.1.0 + + + + + + + + { value : true } + * Show the tooltip for the given object, if one exists + * @param thing the thing you want to display a tooltip for + * @param value whether to show or hide the tooltip + * @since 2.1.0 + + + + + + + + * Allows you to turn tooltips on or off for an object that has already been added + * @param thing The object you want to turn tooltips on or off for + * @param b On or off + * + * @return true if the object was found and the property set, false if the object has not been added to the tooltip manager + + + + + + + + * Adds a tooltip for this object, using the specified data. + * NOTE: if thing does not implement IFlxUIButton, a new invisible + * button will be created for it in order to drive tooltips. + * + * @param thing The object you want to add a tooltip to. + * @param data + + + + + + + * Remove a tooltip associated with this object, if there is one + * @param thing + + + + + + <_init expr="false"> + + false + *******PRIVATE*********** + + + + list of all the tooltip entries + + + + we actually only ever use one tooltip object :) + + + + -1 + the current tooltip + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + flixel.addons.ui.FlxUITooltip + + + + + + + + + + + + { anchor : null } + + + + + + + + + + + * ... + * @author larsiusprime + + + + + + + + + + + + false + * Intentionally shown by the programmer, when shown will only unshow when explicitly hidden or another tooltip is shown + + + + + + + + + + + + <c path="String"/> + + + + + + + + + + + + + + + + + + + + + + + [".ttf", ".otf"] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { recursion : 0 } + * Given a str like "verdanab.ttf", reverse-engineer the basic font properties + * @param str a string name of a font, such as "verdanab.ttf" + + <_size expr="0"> + + 0 + + + + + + + * If a recognized font extension exists, remove it from the font str + * @param str font + extension, ie "verdanab.ttf" + * @return font - extension, ie "verdanab" + + + + + + + + + + + + * See if a style is "baked" into the font str, and if so return it + * @param str font string, ie, "verdanab", "verdanai", "verdanaz" + * @return "b" for bold, "i" for italic, "z" for bold-italic, "" for normal + + + + + + + + + + + + + + + + { File : "", Extension : ".ttf" } + + * ... + * @author larsiusprime + + + + + + + + + + + + + + + + + + + { name : "" } + + * A really simple little class that solves an annoying problem with Flash font file names + * @author larsiusprime + + + + + + + + + + + + + + + + + + + + + + + + { Label : "", Name : "" } + + + + + + + + + + + + + + + + + + + + + + + GETTERs/SETTERS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { IgnoreInvisible : false } + + + + + + + + + + + + + + + + + * ... + * @author Lars A. Doucet + + + + + + + + + + + + { default_str : "", lower_case : false } + * Safety wrapper for reading a string attribute from xml + * @param data the Xml object + * @param att the name of the attribute + * @param lower_case force lower_case or not + * @param what to return if it is "" + * @return the attribute as a string if it exists, otherwise returns "" + + + + + + + * For conveniently getting the very common "name" attribute, with backwards-compatibility for the old "id" attribute if name is not found + * @param data + * @return + + + + + + + + + + { defaultColor : null, cast32Bit : true } + * Safety wrapper for reading a FlxColor attribute from xml + * @param data the Xml object + * @param att a color string in either 0xRRGGBB or 0xAARRGGBB format + * @param cast32Bit if true adds an alpha channel if not detected + + + + + + + + + + + + + + + + + + + + { default_ : null, lowerCase : true } + + + + + + + + + { cast32Bit : true } + + + + + + + * If a string is a number that ends with a % sign, it will return a normalized percent float (0-100% = 0.0-1.0) + * @param str a percentage value, such as "5%" or "236.214%" + * @return a normalized float, or NaN if not valid input + + + + + + + + + + + + + + + + + + + + + { default_ : 0 } + * Safety wrapper for reading a float attribute from xml + * @param data the Xml object + * @param att the name of the attribute + * @param default_ what to return if the value doesn't exist + * @return the attribute as a float if it exists, otherwise returns default + + + + + + + + + { default_ : 0 } + * Safety wrapper for reading an int attribute from xml + * @param data the Xml object + * @param att the name of the attribute + * @param default_ what to return if the value doesn't exist + * @return the attribute as an int if it exists, otherwise returns default + + + + + + + + + { default_ : null } + * Safety wrapper for reading a point attribute from xml + * @param data the Xml object + * @param att the name of the attribute + * @param default_ what to return if the value doesn't exist + * @return the attribute as a point if it exists, otherwise returns default + + + + + + + + + + + * Parses a point expressed as a string to a FlxPoint object. + * Must be two numbers separated by a "," or an "x" + * This function strips extraneous characters first, ie "(",")"," ","=",":" + * @param str + * @return + + + + + + + + + + { op : "==" } + ","<=",">=" + * @return the value of the comparison]]> + + + + + + + + + { default_ : false } + * Safety wrapper for reading a bool attribute from xml + * @param data the Xml object + * @param att the name of the attribute + * @param what to return if the value doesn't exist + * @return true if att is "true" (case-insensitive) or "1", otherwise false + + + + + + + + + { test : true } + +
+ + + + + + + + { centerY : true, centerX : true } + * Center fb2 on fb1's center point + * @param fb1 a FlxObject (does not move) + * @param fb2 a FlxObject (center on fb1) + * @param centerX center X axis? + * @param centerY center Y axis? +
+ + + + + + + + + + + + + + + + + + + + { padChar : "0" } + * Return a numeric string with leading zeroes + * @param i any integer + * @param d how many digits + * @param padChar what to pad with ("0") by default + * @return i's value as a string padded with padChar, exactly d digits in length + + + + + + + + + + + + + + + { default_color : 0x000000, safe : false, cast32Bit : false } + * Parses hex string to equivalent integer, with safety checks + * @param hex_str string in format 0xRRGGBB or 0xAARRGGBB + * @param cast32Bit add an alpha channel if none is given + * @param safe don't throw errors, just return -1 + * @param default_color what to return if safe is true and it fails + * @return integer value + + + + + + + * Parses an individual hexadecimal string character to the equivalent decimal integer value + * @param hex_char hexadecimal character (1-length string) + * @return decimal value of hex_char + + + + + + + * Parses hex string to equivalent integer + * @param hex_str string in format RRGGBB or AARRGGBB (no "0x") + * @return integer value + + + + + + + * Parses hex pixel value into a 3-length array of [r,g,b] ints + * @param hex + * @return + + + + + + + + + + + + + + + + + * Returns the hex pixel value of 3 r, g, b ints + * @param r + * @param g + * @param b + * @return + + + + + + + + + * Returns a color somewhere between the given two. + * @param hex1 A hexadecimal color + * @param hex2 A hexadecimal color + * @param amt 0=100% hex1, 1=100% hex2, 0.5=50% of each + * @return + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { addHeader : true, wrapData : true } + + + + + + + + { folder : "" } + + + + + + + + + { dir : "assets/json/", extension : "json" } + + + + + + + + + { _default : null } + + + + + + + + + + { dir : "assets/xml/", getAccess : true, extension : "xml" } + + + + + + + * This will remove an array structure, but will leave its contents untouched. + * This can lead to memory leaks! Only use this when you want an array gone but + * you still need the original elements and know what you're doing. + * @param array + + + + + + + * This will MURDER an array, removing all traces of both it and its contents + * @param array + + + + + + + + + + + + { style : "" } + * Given something like "verdana" and "bold" returns "assets/fonts/verdanab" + * @param str + * @param style + * @return + + + + + + + + + { extension : ".ttf", style : "" } + * Given something like "verdana", "bold", ".ttf", returns "assets/fonts/verdanab.ttf" + * @param str + * @param style + * @param extension + * @return + + <_font get="inline" set="null" line="1052" static="1"> + + + + + + { style : "" } + + + + + + + + + + + + + + + * Return string with first character uppercase'd + * @param str + * @return + + + + + + + * Return string with first character uppercase'd, rest lowercase'd + * @param str + * @return + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { smooth : true, H : -1, W : -1 } + * This scales an image that contains tiles, being super OCD about it, making sure each tile is + * properly scaled and put in the correct position + * @param orig_id asset id + * @param scale the scale factor + * @param origW original width of the tile + * @param origH original height of the tile + * @param W final width of the tile + * @param H final height of the tile + * @param smooth + * @return + + + + + + + + + + + + + { Smooth : true, TileH : -1, TileW : -1 } + * This scales an image that contains tiles, being super OCD about it, making sure each tile is + * properly scaled and put in the correct position, and returns the new asset key + * @param orig_id asset id + * @param scale the scale factor + * @param OrigW original width of the tile + * @param OrigH original height of the tile + * @param TileW final width of the tile + * @param TileH final height of the tile + * @param Smooth + * @return the asset key + + + + + + + + + + { smooth : true } + * For grabbing a resolution-specific version of an image src and dynamically scaling (and caching) it as necessary + * @param src the asset key of the base image + * @param W the final scaled width of the new image + * @param H the final scaled height of the new image + * @return the unique key of the scaled bitmap + + + + + + + + + + { checkFlxBitmap : false, Smooth : true } + + + + + + + + + + + { fixAlphaChannel : false, checkFlxBitmap : false, smooth : true } + * For grabbing a version of an image src and dynamically scaling (and caching) it as necessary + * @param src the asset key of the base image + * @param Scale the scale factor of the new image + * @param smooth whether to apply smoothing or not + * @param checkFlxBitmap whether to use the FlxG.bitmap.get cache instead of Assets.getBitmapData + * @return the unique key of the scaled bitmap + + + + + + + + + + + + { suppressError : false, dir4 : "", dir3 : "", dir2 : "", dir1 : "" } + + + + + + + + + + + + + * Converts a PNG file to a comma-separated string. + * pixels that match color_index are flagged + * others are ignored + * must be a PERFECT MATCH + * + * @param color_index The matching color index + * + * @return A comma-separated string containing the level data in a FlxTilemap-friendly format. + + + + + + + + + + + + + + + * Converts a comma and hyphen list string of numbers to an int array + * @param str input, ex: "1,2,3", "2-4", "1,2,3,5-10" + * @return int array, ex: [1,2,3], [2,3,4], [1,2,3,5,6,7,8,9,10] + + + + + + + * Converts a comma and hyphen list string of numbers to a String array + * @param str input, ex: "1,2,3", "2-4", "1,2,3,5-10" + * @return int array, ex: [1,2,3], [2,3,4], [1,2,3,5,6,7,8,9,10] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { multB : 1, multA : 1 } + + + + + + + + + + + + * Get the dimensions of a bit string + + + + + + + * Splits a binary string with endlines into a big long int array + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @since 2.1.0 + + + <_matrix expr="null" line="2287" static="1"> + + null + + * Utility functions, inlined where possible + * @author Lars Doucet + +
+ + + + + + + + + { safe : true, context : "data" } + + + + + + + + + + + + * An interface to match FireTongue, so we can use this without making + * a full dependency + * @author Lars Doucet + + + + + + false + + + + false + + <_curIndex expr="0"> + + 0 + + <_iterationsPerUpdate> + <_iterations> + <_callback> + + + * Start the loop (if it's not already started or finished) + + + + + + + + + + + + + + { IterationsPerUpdate : 100 } + * Creates an instance of the FlxAsyncLoop class, used to do a loop while still allowing update() to get called and the screen to refresh. + * + * @param Iterations How many total times should it loop + * @param Callback The function that should be called each loop + * @param IterationsPerUpdate Optional: how many loops before we allow an update() - defaults to 100. + + * Special class for asynchonously performing a loop. + * @author Timothy Ian Hely / SeiferTim + + + + + + + + + + * Called when state becomes active. + * + * @param Owner The object the state controls + * @param FSM The FSM instance this state belongs to. Used for changing the state to another. + + + + + + + + + * Called every update loop. + * + * @param Owner The object the state controls + * @param FSM The FSM instance this state belongs to. Used for changing the state to another. + + + + + + + * Called when the state becomes inactive. + * + * @param Owner The object the state controls + + + + * A generic FSM State implementation. Extend this class to create new states. + + + + + + + * Helper typedef for FlxExtendedFSM's pools + + + + + + * The owner of this FSM instance. Gets passed to each state. + + + + * Current state + + + + * Class of current state + + + + * The age of the active state + + + + * Name of this FSM. Used for locking/unlocking when in a stack. + + + + * Binary flag. Used for locking/unlocking when in a stack. + + + + * The stack this FSM belongs to or null + + + + * Optional transition table for this FSM + + + + * Optional map object containing FlxPools for FlxFSMStates + + + + + + + * Updates the active state instance. + + + + * Calls exit on current state + + + + + + + + + + + + + + + * A generic Finite-state machine implementation. + + + <_lockSignal static="1"> + + + + + + + + + * Sends a message to all active FSMStacks to lock given types. + * @param type You can use `FSMType` abstract for values or build your own. + + + ` + * Only function is to create a static `FlxTypedSignal` that's shared between stacks. + * Otherwise signals would be type specific, and `FlxFSMStack` could not dispatch + * to `FlxFSMStack`]]> + + + + + + + + * Test if the stack is empty + + <_stack> + <_alteredStack> + <_hasLocks> + <_lockedNames> + <_lockedTypes> + <_lockRemaining> + + + + + + * Updates the states that have not been locked + + + + + + + * Locks the specified FSM for the duration of the update loop + * @param name + + + + * Locks the remaining FSMs for the duration of the update loop + + + + + + + + + + + + + + * Adds the FSM to the front of the stack + * @param FSM + + + + * Removes the first FSM from the stack + * @return The removed FSM + + + + + + + * Adds the FSM to the end of the stack + * @param FSM + + + + * Removes the first FSM from the stack + * @return The removed FSM + + + + + + + * Removes the FSM from the stack and destroys it + * @param The removed FSM + + + + + + + * Removes the FSM with given name from the stack and destroys it + * @param The removed FSM + + + + * Destroys every member in stack and self + + + + * Used for grouping FSM instances and updating them according to the stack's updateMode. + + + <_table> + <_startState> + <_garbagecollect expr="false"> + + false + + + + + + + + * Polls the transition table for active states + * @param FSM The FlxFSMState the table belongs to + * @return The state that should become or remain active. + + + + + + + + + + + + * Adds a transition condition to the table. + * @param From The state the condition applies to + * @param To The state to transition + * @param Condition Function that returns true if the transition conditions are met + + + + + + + + + + + * Adds a global transition condition to the table. + * @param To The state to transition + * @param Condition Function that returns true if the transition conditions are met + + + + + + + * Add a transition directly + * @param transition + + + + + + + * Sets the starting State + * @param With + + + + + + + + * Replaces given state class with another. + * @param Target State class to replace + * @param Replacement State class to replace with + + + + + + + + + + + + * Removes a transition condition from the table + * @param From From State + * @param To To State + * @param Condition Condition function + * @return True when removed, false if not in table + + + + + + + + + + + + * Tells if the table contains specific transition or transitions. + * @param From From State + * @param To To State + * @param Condition Condition function + * @return True if match found + + + * Contains the information on when to transition from a given state to another. + + + + + + + + + * If this function returns true, the transition becomes active. + * Note: you can override this function if you don't want to use functions passed as variables. + + + + * The state this transition applies to, or null for global transition, ie. from any state + + + + * The state this transition leads to + + + + + + + * Function used for evaluation. + * The evaluation function may be overridden, in which case this param may be redundant. + + + + false + * Used to mark this transition for removal + + + + + + + + attribute.]]> + + + + attribute.]]> + + + + attribute.]]> + + + + attribute.]]> + + + + attribute.]]> + + + + "assets/" + * Base directory for all assets loaded inside FlxScene. + + + + * Tilemap reference. + + <_constants> + + + + + .]]> + + <_objects> + + + + + * Contains all objects with an "id" attribute. + + <_xml> + + * Internal XML. + + <_fastXml> + + * Internal xml.Access. + + + + + + + * Set the current scene, loads from XML file. + * + * @param file Location of XML. + + + + + + + + * Instantiate objects to state. + * + * @param container Add objects to this FlxTypedGroup (layer). + * @param layerId Add objects only from this layer. + + + + + + + * Add backgrounds to state. + * + * @param container Add backgrounds to this FlxTypedGroup (layer). + + + + + + + * Add tilemap to state. + * + * @param container Add tilemap to this FlxTypedGroup (layer). + + + + * Add everything (backgrounds, tilemap and all objects) to the state. + + + + * Make constants accesible through function FlxScene.constants("id"). + + + + + + + + + * Add an instance into correct destination (a specific group or FlxG.state). + * If has attribute "id" then make it accesible through function: object("id"). + * + * @param instance Instance to be added to container. + * @param container FlxTypedGroup. + * @param element XML attributes. + + + + + + + + * Apply all FlxSprite properties to a given instance. + * + * @param instance Instance to set properties. + * @param element XML attributes. + + + + + + + + * Apply all FlxText properties to a given instance. + * + * @param instance Instance to set properties. + * @param element XML attributes. + + + + + + + * Gets a specific constant by id. + * + * @param id Constant name. + * @return Bool, Int, Float or String. + + + + + + + * Gets a specific object by id. + * + * @param Id Constant name. + * @return + + + + + + + * Helper function to parse Booleans from String to Bool + * + * @param Value String value + + + + + + + * Optionally set the scene file already. + * + * @param file Location of XML. + + * Loads a scene from XML file. Scenes contain layers of entities (custom FlxSprite), + * backgrounds, tilemaps, constants, UI and more. + * + * Any questions tweet me @AndreiRegiani + + + + + 0.3660254037 + + + + 0.2113248654 + + + + 0.309016994 + + + + 0.138196601 + +

+ + [151, 160, 137, 91, 90, 15, 131, 13, 201, 95, 96, 53, 194, 233, 7, 225, 140, 36, 103, 30, 69, 142, 8, 99, 37, 240, 21, 10, 23, 190, 6, 148, 247, 120, 234, 75, 0, 26, 197, 62, 94, 252, 219, 203, 117, 35, 11, 32, 57, 177, 33, 88, 237, 149, 56, 87, 174, 20, 125, 136, 171, 168, 68, 175, 74, 165, 71, 134, 139, 48, 27, 166, 77, 146, 158, 231, 83, 111, 229, 122, 60, 211, 133, 230, 220, 105, 92, 41, 55, 46, 245, 40, 244, 102, 143, 54, 65, 25, 63, 161, 1, 216, 80, 73, 209, 76, 132, 187, 208, 89, 18, 169, 200, 196, 135, 130, 116, 188, 159, 86, 164, 100, 109, 198, 173, 186, 3, 64, 52, 217, 226, 250, 124, 123, 5, 202, 38, 147, 118, 126, 255, 82, 85, 212, 207, 206, 59, 227, 47, 16, 58, 17, 182, 189, 28, 42, 223, 183, 170, 213, 119, 248, 152, 2, 44, 154, 163, 70, 221, 153, 101, 155, 167, 43, 172, 9, 129, 22, 39, 253, 19, 98, 108, 110, 79, 113, 224, 232, 178, 185, 112, 104, 218, 246, 97, 228, 251, 34, 242, 193, 238, 210, 144, 12, 191, 179, 162, 241, 81, 51, 145, 235, 249, 14, 239, 107, 49, 192, 214, 31, 181, 199, 106, 157, 184, 84, 204, 176, 115, 121, 50, 45, 127, 4, 150, 254, 138, 236, 205, 93, 222, 114, 67, 29, 24, 72, 243, 141, 128, 195, 78, 66, 215, 61, 156, 180, 151, 160, 137, 91, 90, 15, 131, 13, 201, 95, 96, 53, 194, 233, 7, 225, 140, 36, 103, 30, 69, 142, 8, 99, 37, 240, 21, 10, 23, 190, 6, 148, 247, 120, 234, 75, 0, 26, 197, 62, 94, 252, 219, 203, 117, 35, 11, 32, 57, 177, 33, 88, 237, 149, 56, 87, 174, 20, 125, 136, 171, 168, 68, 175, 74, 165, 71, 134, 139, 48, 27, 166, 77, 146, 158, 231, 83, 111, 229, 122, 60, 211, 133, 230, 220, 105, 92, 41, 55, 46, 245, 40, 244, 102, 143, 54, 65, 25, 63, 161, 1, 216, 80, 73, 209, 76, 132, 187, 208, 89, 18, 169, 200, 196, 135, 130, 116, 188, 159, 86, 164, 100, 109, 198, 173, 186, 3, 64, 52, 217, 226, 250, 124, 123, 5, 202, 38, 147, 118, 126, 255, 82, 85, 212, 207, 206, 59, 227, 47, 16, 58, 17, 182, 189, 28, 42, 223, 183, 170, 213, 119, 248, 152, 2, 44, 154, 163, 70, 221, 153, 101, 155, 167, 43, 172, 9, 129, 22, 39, 253, 19, 98, 108, 110, 79, 113, 224, 232, 178, 185, 112, 104, 218, 246, 97, 228, 251, 34, 242, 193, 238, 210, 144, 12, 191, 179, 162, 241, 81, 51, 145, 235, 249, 14, 239, 107, 49, 192, 214, 31, 181, 199, 106, 157, 184, 84, 204, 176, 115, 121, 50, 45, 127, 4, 150, 254, 138, 236, 205, 93, 222, 114, 67, 29, 24, 72, 243, 141, 128, 195, 78, 66, 215, 61, 156, 180] +

+ + + [[3, 2, 1, 0], [2, 3, 1, 0], [0, 0, 0, 0], [2, 1, 3, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [2, 1, 0, 3], [3, 1, 2, 0], [0, 0, 0, 0], [1, 3, 2, 0], [1, 2, 3, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [1, 2, 0, 3], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [3, 1, 0, 2], [0, 0, 0, 0], [1, 3, 0, 2], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [1, 0, 3, 2], [1, 0, 2, 3], [3, 2, 0, 1], [2, 3, 0, 1], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [2, 0, 3, 1], [0, 0, 0, 0], [2, 0, 1, 3], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [3, 0, 2, 1], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 3, 2, 1], [0, 2, 3, 1], [0, 0, 0, 0], [0, 2, 1, 3], [3, 0, 1, 2], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 3, 1, 2], [0, 0, 0, 0], [0, 1, 3, 2], [0, 1, 2, 3]] + + + + + + + + + + + + [0, 0, 0, 0] + + + + + + + + + + + + + + { octaves : 1, persistence : 1, scale : 1 } + + + + + + + + + + + + { octaves : 1, persistence : 1, scale : 1 } + + + + + + + + + * Calculates the simplex noise at a given 2D coordinate. + * + * @param x The x coordinate at which the noise value should be obtained. + * @param y The y coordinate at which the noise value should be obtained. + * @return The value of noise at the input coordinate, ranging from -1 to 1, inclusive. + + + + + + + * Private helper that finds the noise contribution of a single corner of a simplex cell. + * + * @param a Which corner to use. + * @return The noise value of the corner. + + + + + + + + + + * Calculates the simplex noise at a given 4D coordinate. + * Used internally to generate tileable 2D noise, but it might as well be public. + * + * @param x The x coordinate at which the noise value should be obtained. + * @param y The y coordinate at which the noise value should be obtained. + * @param z The z coordinate at which the noise value should be obtained. + * @param w The w coordinate at which the noise value should be obtained. + * @return The value of noise at the input coordinate, ranging from -1 to 1, inclusive. + + + + + + + * Private helper that finds the noise contribution of a single corner of a 4D simplex cell. + * + * @param a Which corner to use next. + * @return The noise value of the corner. + + * Simplex noise generation. + * A combination of algorithms for very fast noise generation: http://weber.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf, http://www.google.com/patents/US6867776, and http://www.jgallant.com/procedurally-generating-wrapping-world-maps-in-unity-csharp-part-2/#wrap2. + * @author MSGHero +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" set="method" line="357" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" set="method" line="357" static="1"> + + + + + + + + + + + + + + + + * Created a PNG image from the specified BitmapData + * + * @param image The BitmapData that will be converted into the PNG format. + * @return a ByteArray representing the PNG encoded image data. + * @langversion ActionScript 3.0 + * @playerversion Flash 9.0 + * @tiptext + + + + + + + + * Class that converts BitmapData into a valid PNG + + + + + + * Animation controller this animation belongs to + + + + * String name of the animation (e.g. `"walk"`) + + + + 0 + * Keeps track of the current index into the tile sheet based on animation or rotation. + + + + + + + + + + + + + + + + + + + + * @author Zaphod + + + + + + null + Animation prefix used during the creation + + + + * Animation frameRate - the speed in frames per second that the animation should play at. + + + + 0 + * Keeps track of the current frame of animation. + * This is NOT an index into the tile sheet, but the frame number in the animation object. + + + + * Accessor for `frames.length` + + + + 0 + * Seconds between frames (basically the framerate) + + + + [] + * + + + + true + * Whether the current animation has finished. + + + + true + * Whether the current animation gets updated or not. + + + + true + * Whether or not the animation is looped. + + + + false + * Whether or not this animation is being played backwards. + + + + false + * Whether or not the frames of this animation are horizontally flipped + + + + false + * Whether or not the frames of this animation are vertically flipped + + + + * A list of frames stored as int indices + * @since 4.2.0 + + <_frameTimer expr="0"> + + 0 + * Internal, used to time each frame of animation. + + + + * Clean up memory. + + + + + + + + + { Frame : 0, Reversed : false, Force : false } + * Starts this animation playback. + * + * @param Force Whether to force this animation to restart. + * @param Reversed Whether to play animation backwards or not. + * @param Frame The frame number in this animation you want to start from (`0` by default). + * If you pass a negative value then it will start from a random frame. + * If you `Reversed` is `true`, the frame value will be "reversed" + * (`Frame = numFrames - 1 - Frame`), so `Frame` value will mean frame index + * from the animation's end in this case. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { FlipY : false, FlipX : false, Looped : true, FrameRate : 0 } + * @param Name What this animation should be called (e.g. `"run"`). + * @param Frames An array of numbers indicating what frames to play in what order (e.g. `[1, 2, 3]`). + * @param FrameRate The speed in frames per second that the animation should play at (e.g. `40`). + * @param Looped Whether or not the animation is looped or just plays once. + * @param FlipX Whether or not the frames of this animation are horizontally flipped. + * @param FlipY Whether or not the frames of this animation are vertically flipped. + + * Just a helper structure for the `FlxSprite` animation system. + + + + + + + * Property access for currently playing animation (warning: can be `null`). + + + + -1 + * The frame index of the current animation. Can be changed manually. + + + + * Tell the sprite to change to a frame with specific name. + * Useful for sprites with loaded TexturePacker atlas. + + + + * Gets or sets the currently playing animation (warning: can be `null`). + + + + * Pause or resume the current animation. + + + + * Whether the current animation has finished playing. + + + + * The total number of frames in this image. + * WARNING: assumes each row in the sprite sheet is full! + + + + + + + + + * If assigned, will be called each time the current animation's frame changes. + * A function that has 3 parameters: a string name, a frame number, and a frame index. + + + + + + + * If assigned, will be called each time the current animation finishes. + * A function that has 1 parameter: a string name - animation name. + + <_sprite> + + * Internal, reference to owner sprite. + + <_curAnim> + + flixel.animation + * Internal, currently playing animation. + + <_animations set="null"> + + + + + * Internal, stores all the animation that were added to this sprite. + + <_prerotated> + + + + + + + + + + + + + + + + + + + + + + + + + + + { FlipY : false, FlipX : false, Looped : true, FrameRate : 30 } + * Adds a new animation to the sprite. + * + * @param Name What this animation should be called (e.g. `"run"`). + * @param Frames An array of indices indicating what frames to play in what order (e.g. `[0, 1, 2]`). + * @param FrameRate The speed in frames per second that the animation should play at (e.g. `40` fps). + * @param Looped Whether or not the animation is looped or just plays once. + * @param FlipX Whether the frames should be flipped horizontally. + * @param FlipY Whether the frames should be flipped vertically. + + + + + + + * Removes (and destroys) an animation. + * + * @param Name The name of animation to remove. + + + + + + + + * Adds to an existing animation in the sprite by appending the specified frames to the existing frames. + * Use this method when the indices of the frames in the atlas are already known. + * The animation must already exist in order to append frames to it. + * + * @param Name What the existing animation is called (e.g. `"run"`). + * @param Frames An array of indices indicating what frames to append (e.g. `[0, 1, 2]`). + + + + + + + + + + + + { FlipY : false, FlipX : false, Looped : true, FrameRate : 30 } + * Adds a new animation to the sprite. + * + * @param Name What this animation should be called (e.g. `"run"`). + * @param FrameNames An array of image names from the atlas indicating what frames to play in what order. + * @param FrameRate The speed in frames per second that the animation should play at (e.g. `40` fps). + * @param Looped Whether or not the animation is looped or just plays once. + * @param FlipX Whether the frames should be flipped horizontally. + * @param FlipY Whether the frames should be flipped vertically. + + + + + + + + * Adds to an existing animation in the sprite by appending the specified frames to the existing frames. + * Use this method when the exact name of each frame from the atlas is known (e.g. `"walk00.png"`, `"walk01.png"`). + * The animation must already exist in order to append frames to it. + * + * @param Name What the existing animation is called (e.g. `"run"`). + * @param FrameNames An array of image names from atlas indicating what frames to append. + + + + + + + + + + + + + + { FlipY : false, FlipX : false, Looped : true, FrameRate : 30 } + * Adds a new animation to the sprite. Should be slightly faster than `addByIndices()`. + * + * @param Name What this animation should be called (e.g. `"run"`). + * @param Prefix Common beginning of image names in the atlas (e.g. `"tiles-"`). + * @param Indices An array of strings indicating what frames to play in what order + * (e.g. `["01", "02", "03"]`). + * @param Postfix Common ending of image names in atlas (e.g. `".png"`). + * @param FrameRate The speed in frames per second that the animation should play at (e.g. `40` fps). + * @param Looped Whether or not the animation is looped or just plays once. + * @param FlipX Whether the frames should be flipped horizontally. + * @param FlipY Whether the frames should be flipped vertically. + + + + + + + + + + * Adds to an existing animation in the sprite by appending the specified frames to the existing frames. + * Should be slightly faster than `appendByIndices()`. Use this method when the names of each frame from + * the atlas share a common prefix and postfix (e.g. `"walk00.png"`, `"walk01.png"`). + * The animation must already exist in order to append frames to it. FrameRate and Looped are unchanged. + * + * @param Name What the existing animation is called (e.g. `"run"`). + * @param Prefix Common beginning of image names in the atlas (e.g. `"tiles-"`). + * @param Indices An array of strings indicating what frames to append (e.g. `["01", "02", "03"]`). + * @param Postfix Common ending of image names in atlas (e.g. `".png"`). + + + + + + + + + + + + + + { FlipY : false, FlipX : false, Looped : true, FrameRate : 30 } + * Adds a new animation to the sprite. + * + * @param Name What this animation should be called (e.g. `"run"`). + * @param Prefix Common beginning of image names in the atlas (e.g. "tiles-"). + * @param Indices An array of numbers indicating what frames to play in what order (e.g. `[0, 1, 2]`). + * @param Postfix Common ending of image names in the atlas (e.g. `".png"`). + * @param FrameRate The speed in frames per second that the animation should play at (e.g. `40` fps). + * @param Looped Whether or not the animation is looped or just plays once. + * @param FlipX Whether the frames should be flipped horizontally. + * @param FlipY Whether the frames should be flipped vertically. + + + + + + + + + + * Adds to an existing animation in the sprite by appending the specified frames to the existing frames. + * Use this method when the names of each frame from the atlas share a common prefix + * and postfix (e.g. `"walk00.png"`, `"walk01.png"`). + * Leading zeroes are ignored for matching indices (`5` will match `"5"` and `"005"`). + * The animation must already exist in order to append frames to it. + * + * @param Name What the existing animation is called (e.g. `"run"`). + * @param Prefix Common beginning of image names in atlas (e.g. `"tiles-"`). + * @param Indices An array of numbers indicating what frames to append (e.g. `[0, 1, 2]`). + * @param Postfix Common ending of image names in atlas (e.g. `".png"`). + + + + + + + + + * Find a sprite frame so that for `Prefix = "file"; Index = 5; Postfix = ".png"` + * It will find frame with name `"file5.png"`. If it doesn't exist it will try + * to find `"file05.png"`, allowing 99 frames per animation. + * Returns the found frame or `-1` on failure. + + + + + + + + + + + + { FlipY : false, FlipX : false, Looped : true, FrameRate : 30 } + * Adds a new animation to the sprite. + * + * @param Name What this animation should be called (e.g. `"run"`). + * @param Prefix Common beginning of image names in atlas (e.g. `"tiles-"`). + * @param FrameRate The speed in frames per second that the animation should play at (e.g. `40` fps). + * @param Looped Whether or not the animation is looped or just plays once. + * @param FlipX Whether the frames should be flipped horizontally. + * @param FlipY Whether the frames should be flipped vertically. + + + + + + + + * Adds to an existing animation in the sprite by appending the specified frames to the existing frames. + * Use this method when the names of each frame from the atlas share a common prefix + * (e.g. `"walk00.png"`, `"walk01.png"`). + * Frames are sorted numerically while ignoring postfixes (e.g. `".png"`, `".gif"`). + * The animation must already exist in order to append frames to it. + * + * @param Name What the existing animation is called (e.g. `"run"`). + * @param Prefix Common beginning of image names in atlas (e.g. `"tiles-"`) + + + + + + + + + + { Frame : 0, Reversed : false, Force : false } + * Plays an existing animation (e.g. `"run"`). + * If you call an animation that is already playing, it will be ignored. + * + * @param AnimName The string name of the animation you want to play. + * @param Force Whether to force the animation to restart. + * @param Reversed Whether to play animation backwards or not. + * @param Frame The frame number in the animation you want to start from. + * If a negative value is passed, a random frame is used. + + + + * Stops current animation and resets its frame index to zero. + + + + * Stops current animation and sets its frame to the last one. + + + + * Just stops current animation. + + + + * Pauses the current animation. + + + + * Resumes the current animation if it exists. + + + + * Reverses current animation if it exists. + + + + + + + * Gets the FlxAnimation object with the specified name. + + + + * Changes to a random animation frame. + * Useful for instantiating particles or other weird things. + + + + + + + + flixel.animation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * Gets a list with all the animations that are added in a sprite. + * WARNING: Do not confuse with `getNameList`, this function returns the animation instances + * @return an array with all the animations. + * @since 4.11.0 + + + + * Gets a list with all the name animations that are added in a sprite + * WARNING: Do not confuse with `getAnimationList`, this function returns the animation names + * @return an array with all the animation names in it. + * @since 4.11.0 + + + + + + + * Checks if an animation exists by it's name. + * @param name The animation name. + * @since 4.11.0 + + + + + + + + * Renames the animation with a new name. + * @param oldName the name that is replaced. + * @param newName the name that replaces the old one. + * @since 4.11.0 + + + + + + + + + + + + + + + + + + + + + + + * Helper function used for finding index of `FlxFrame` in `_framesData`'s frames array + * + * @param Frame `FlxFrame` to find + * @return position of specified `FlxFrame` object. + + + + + + + + + + + + "prerotated_animation" + + + + + + 0 + + + + + + + + + + + + + + + + + + + * @author Zaphod + + + + + <_pool expr="new FlxPool<FlxFlicker>(FlxFlicker)" line="15" static="1"> + + (FlxFlicker)]]> + + <_boundObjects expr="new Map<FlxObject,FlxFlicker>()" line="20" static="1"> + + + + + ()]]> + * Internal map for looking up which objects are currently flickering and getting their flicker data. + + + + + + + + + + + + + + + + + + + { ForceRestart : true, EndVisibility : true, Interval : 0.04, Duration : 1 } + + + + + + + + * Returns whether the object is flickering or not. + * + * @param Object The object to test. + + + + + + + * Stops flickering of the object. Also it will make the object visible. + * + * @param Object The object to stop flickering. + + + + * The flickering object. + + + + * The final visibility of the object after flicker is complete. + + + + * The flicker timer. You can check how many seconds has passed since flickering started etc. + + + + + + + * The callback that will be triggered after flicker has completed. + + + + + + + * The callback that will be triggered every time object visiblity is changed. + + + + * The duration of the flicker (in seconds). `0` means "forever". + + + + * The interval of the flicker. + + + + * Nullifies the references to prepare object for reuse and avoid memory leaks. + + + + + + + + + + + + + + + + + + * Starts flickering behavior. + + + + * Prematurely ends flickering. + + + + * Unbinds the object from flicker and releases it into pool for reuse. + + + + + + + * Just a helper function for flicker() to update object's visibility. + + + + + * Internal constructor. Use static methods. + + * The retro flickering effect with callbacks. + * You can use this as a mixin in any FlxObject subclass or by calling the static functions. + * @author pixelomatic + + + + + + + + cast FlxParticle + * Set your own particle class type here. The custom class must extend `FlxParticle`. Default is `FlxParticle`. + + + + false + * Determines whether the emitter is currently emitting particles. It is totally safe to directly toggle this. + + + + 0.1 + * How often a particle is emitted (if emitter is started with `Explode == false`). + + + + * Sets particle's blend mode. `null` by default. Warning: Expensive on Flash. + + + + 0 + * The x position of this emitter. + + + + 0 + * The y position of this emitter. + + + + 0 + * The width of this emitter. Particles can be randomly generated from anywhere within this box. + + + + 0 + * The height of this emitter. Particles can be randomly generated from anywhere within this box. + + + + FlxEmitterMode.CIRCLE + * How particles should be launched. If `CIRCLE`, particles will use `launchAngle` and `speed`. + * Otherwise, particles will just use `velocity.x` and `velocity.y`. + + + + false + * Keep the scale ratio of the particle. Uses the `x` values of `scale`. + + + + new FlxPointRangeBounds(-100, -100, 100, 100) + * Sets the velocity range of particles launched from this emitter. Only used with `FlxEmitterMode.SQUARE`. + + + + (0, 100)]]> + * Set the speed range of particles launched from this emitter. Only used with `FlxEmitterMode.CIRCLE`. + + + + (0, 0)]]> + * Set the angular acceleration range of particles launched from this emitter. + + + + (0, 0)]]> + * Set the angular drag range of particles launched from this emitter. + + + + (0, 0)]]> + * The angular velocity range of particles launched from this emitter. + + + + (0)]]> + * The angle range of particles launched from this emitter. + * `angle.end` is ignored unless `ignoreAngularVelocity` is set to `true`. + + + + false + * Set this if you want to specify the beginning and ending value of angle, + * instead of using `angularVelocity` (or `angularAcceleration`). + + + + (-180, 180)]]> + * The angle range at which particles will be launched from this emitter. + * Ignored unless `launchMode` is set to `FlxEmitterMode.CIRCLE`. + + + + (3)]]> + * The life, or duration, range of particles launched from this emitter. + + + + new FlxPointRangeBounds(1, 1) + * Sets `scale` range of particles launched from this emitter. + + + + (1)]]> + * Sets `alpha` range of particles launched from this emitter. + + + + new FlxRangeBounds(FlxColor.WHITE, FlxColor.WHITE) + * Sets `color` range of particles launched from this emitter. + + + + new FlxPointRangeBounds(0, 0) + * Sets X and Y drag component of particles launched from this emitter. + + + + new FlxPointRangeBounds(0, 0) + * Sets the `acceleration` range of particles launched from this emitter. + * Set acceleration y-values to give particles gravity. + + + + (0)]]> + * Sets the `elasticity`, or bounce, range of particles launched from this emitter. + + + + false + * Sets the `immovable` flag for particles launched from this emitter. + + + + false + * Sets the `autoUpdateHitbox` flag for particles launched from this emitter. + * If true, the particles' hitbox will be updated to match scale. + + + + NONE + * Sets the `allowCollisions` value for particles launched from this emitter. + * Set to `NONE` by default. Don't forget to call `FlxG.collide()` in your update loop! + + + + * Shorthand for toggling `allowCollisions` between `ANY` (if `true`) and `NONE` (if `false`). + * Don't forget to call `FlxG.collide()` in your update loop! + + <_quantity expr="0"> + + 0 + * Internal helper for deciding how many particles to launch. + + <_explode expr="true"> + + true + * Internal helper for the style of particle emission (all at once, or one at a time). + + <_timer expr="0"> + + 0 + * Internal helper for deciding when to launch particles or kill them. + + <_counter expr="0"> + + 0 + * Internal counter for figuring out how many particles to launch. + + <_point expr="FlxPoint.get()"> + + FlxPoint.get() + * Internal point object, handy for reusing for memory management purposes. + + <_waitForKill expr="false"> + + false + * Internal helper for automatically calling the `kill()` method + + + + * Clean up memory. + + + + + + + + + + + { AutoBuffer : false, Multiple : false, bakedRotationAngles : 16, Quantity : 50 } + * This function generates a new array of particle sprites to attach to the emitter. + * + * @param Graphics If you opted to not pre-configure an array of `FlxParticle` objects, + * you can simply pass in a particle image or sprite sheet. + * @param Quantity The number of particles to generate when using the "create from image" option. + * @param BakedRotations How many frames of baked rotation to use (boosts performance). + * Set to zero to not use baked rotations. + * @param Multiple Whether the image in the `Graphics` param is a single particle or a bunch of particles + * (if it's a bunch, they need to be square!). + * @param AutoBuffer Whether to automatically increase the image size to accommodate rotated corners. + * Default is `false`. Will create frames that are 150% larger on each axis than the + * original frame or graphic. + * @return This `FlxEmitter` instance (nice for chaining stuff together). + + + + + + + + + + + + { AutoBuffer : false, Multiple : false } + + + + + + + + + + { Quantity : 50, Color : FlxColor.WHITE, Height : 2, Width : 2 } + * Similar to `FlxSprite#makeGraphic()`, this function allows you to quickly make single-color particles. + * + * @param Width The width of the generated particles. Default is `2` pixels. + * @param Height The height of the generated particles. Default is `2` pixels. + * @param Color The color of the generated particles. Default is white. + * @param Quantity How many particles to generate. Default is `50`. + * @return This `FlxEmitter` instance (nice for chaining stuff together). + + + + + + + * Called automatically by the game loop, decides when to launch particles and when to "die". + + + + + + + + + + + * Call this function to turn off all the particles and the emitter. + + + + + + + + + { Quantity : 0, Frequency : 0.1, Explode : true } + * Call this function to start emitting particles. + * + * @param Explode Whether the particles should all burst out at once. + * @param Frequency Ignored if `Explode` is set to `true`. `Frequency` is how often to emit a particle. + * `0` = never emit, `0.1` = 1 particle every 0.1 seconds, `5` = 1 particle every 5 seconds. + * @param Quantity How many particles to launch. `0` = "all of the particles". + * @return This `FlxEmitter` instance (nice for chaining stuff together). + + + + * This function can be used both internally and externally to emit the next particle. + + + + + + + * Change the emitter's midpoint to match the midpoint of a `FlxObject`. + * + * @param Object The `FlxObject` that you want to sync up with. + + + + + + + + { Y : 0, X : 0 } + * Helper function to set the coordinates of this object. + + + + + + + + + + + + + + + + + + + { Size : 0, Y : 0, X : 0 } + * Creates a new `FlxTypedEmitter` object at a specific position. + * Does NOT automatically generate or attach particles! + * + * @param X The X position of the emitter. + * @param Y The Y position of the emitter. + * @param Size Optional, specifies a maximum capacity for this emitter. + + * FlxTypedEmitter is a lightweight particle emitter. + * It can be used for one-time explosions or for continuous fx like rain and fire. + * `FlxEmitter` is not optimized or anything; all it does is launch `FlxParticle` objects out + * at set intervals by setting their positions and velocities accordingly. + * It is easy to use and relatively efficient, relying on `FlxGroup`'s RECYCLE POWERS. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + * How long this particle lives before it disappears. Set to `0` to never `kill()` the particle automatically. + * NOTE: this is a maximum, not a minimum; the object could get recycled before its `lifespan` is up. + + + + 0 + * How long this particle has lived so far. + + + + 0 + * What percentage progress this particle has made of its total life. + * Essentially just `(age / lifespan)` on a scale from `0` to `1`. + + + + false + * Whether or not the hitbox should be updated each frame when scaling. + + + + * The range of values for `velocity` over this particle's `lifespan`. + + + + * The range of values for `angularVelocity` over this particle's `lifespan`. + + + + * The range of values for `scale` over this particle's `lifespan`. + + + + * The range of values for `alpha` over this particle's `lifespan`. + + + + * The range of values for `color` over this particle's `lifespan`. + + + + * The range of values for `drag` over this particle's `lifespan`. + + + + * The range of values for `acceleration` over this particle's `lifespan`. + + + + * The range of values for `elasticity` over this particle's `lifespan`. + + <_delta expr="0"> + + 0 + * The amount of change from the previous frame. + + + + * Clean up memory. + + + + + + + * The particle's main update logic. Basically updates properties if alive, based on ranged properties. + + + + + + + + + * Triggered whenever this object is launched by a `FlxEmitter`. + * You can override this to add custom behavior like a sound or AI or something. + + + + + * Instantiate a new particle. Like `FlxSprite`, all meaningful creation + * happens during `loadGraphic()` or `makeGraphic()` or whatever. + + * This is a simple particle class that extends the default behavior + * of `FlxSprite` to have slightly more specialized behavior + * common to many game scenarios. You can override and extend this class + * just like you would FlxSprite. While FlxEmitter + * used to work with just any old sprite, it now requires a + * `FlxParticle` based class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + * The default value for the `persist` variable + * at creation if none is specified in the constructor. + + + + + + + + + + { Cache : true, Unique : false } + * Creates and caches FlxGraphic object from openfl.Assets key string. + * + * @param Source `openfl.Assets` key string. For example: `"assets/image.png"`. + * @param Unique Ensures that the `BitmapData` uses a new slot in the cache. + * If `true`, then `BitmapData` for this `FlxGraphic` will be cloned, which means extra memory. + * @param Key Force the cache to use a specific key to index the bitmap. + * @param Cache Whether to use graphic caching or not. Default value is `true`, which means automatic caching. + * @return Cached `FlxGraphic` object we just created. + + + + + + + + + + { Cache : true, Unique : false } + `. + * + * @param Source `Class` to create `BitmapData` for `FlxGraphic` from. + * @param Unique Ensures that the `BitmapData` uses a new slot in the cache. + * If `true`, then `BitmapData` for this `FlxGraphic` will be cloned, which means extra memory. + * @param Key Force the cache to use a specific key to index the bitmap. + * @param Cache Whether to use graphic caching or not. Default value is `true`, which means automatic caching. + * @return `FlxGraphic` object we just created.]]> + + + + + + + + + + { Cache : true, Unique : false } + * Creates and caches `FlxGraphic` object from specified `BitmapData` object. + * + * @param Source `BitmapData` for `FlxGraphic` to use. + * @param Unique Ensures that the `BitmapData` uses a new slot in the cache. + * If `true`, then `BitmapData` for this `FlxGraphic` will be cloned, which means extra memory. + * @param Key Force the cache to use a specific key to index the bitmap. + * @param Cache Whether to use graphic caching or not. Default value is `true`, which means automatic caching. + * @return `FlxGraphic` object we just created. + + + + + + + + + + { Cache : true, Unique : false } + * Creates and (optionally) caches a `FlxGraphic` object from the specified `FlxFrame`. + * It uses frame's `BitmapData`, not the `frame.parent.bitmap`. + * + * @param Source `FlxFrame` to get the `BitmapData` from. + * @param Unique Ensures that the bitmap data uses a new slot in the cache. + * If `true`, then `BitmapData` for this `FlxGraphic` will be cloned, which means extra memory. + * @param Key Force the cache to use a specific key to index the bitmap. + * @param Cache Whether to use graphic caching or not. Default value is `true`, which means automatic caching. + * @return `FlxGraphic` object we just created. + + + + + + + + + { Unique : false } + * Creates and caches a FlxGraphic object from the specified `FlxFramesCollection`. + * It uses `frames.parent.bitmap` as a source for the `FlxGraphic`'s `BitmapData`. + * It also copies all the frames collections onto the newly created `FlxGraphic`. + * + * @param Source `FlxFramesCollection` to get the `BitmapData` from. + * @param Unique Ensures that the `BitmapData` uses a new slot in the cache. + * If `true`, then `BitmapData` for this `FlxGraphic` will be cloned, which means extra memory. + * @param Key Force the cache to use a specific key to index the bitmap. + * @return Cached `FlxGraphic` object we just created. + + + + + + + + + { Unique : false } + * Creates and caches a `FlxGraphic` object from the specified `FlxGraphic` object. + * It copies all the frame collections onto the newly created `FlxGraphic`. + * + * @param Source `FlxGraphic` to get the `BitmapData` from. + * @param Unique Ensures that the `BitmapData` uses a new slot in the cache. + * If `true`, then `BitmapData` for this `FlxGraphic` will be cloned, which means extra memory. + * @param Key Force the cache to use a specific key to index the bitmap. + * @return Cached `FlxGraphic` object we just created. + + + + + + + + + + + { Unique : false } + * Generates and caches new `FlxGraphic` object with a colored rectangle. + * + * @param Width How wide the rectangle should be. + * @param Height How high the rectangle should be. + * @param Color What color the rectangle should have (`0xAARRGGBB`). + * @param Unique Ensures that the `BitmapData` uses a new slot in the cache. + * @param Key Force the cache to use a specific key to index the bitmap. + * @return The `FlxGraphic` object we just created. + + + + + + + + { Unique : false } + * Helper method for cloning specified `BitmapData` if necessary. + * + * @param Bitmap `BitmapData` to process + * @param Unique Whether we need to clone specified `BitmapData` object or not + * @return Processed `BitmapData` + + + + + + + + + + { Cache : true, Unique : false } + * Creates and caches the specified `BitmapData` object. + * + * @param Bitmap `BitmapData` to use as a graphic source for the new `FlxGraphic`. + * @param Key Key to use as a cache key for the created `FlxGraphic`. + * @param Unique Whether the new `FlxGraphic` object uses a unique `BitmapData` or not. + * If `true`, the specified `BitmapData` will be cloned. + * @param Cache Whether to use graphic caching or not. Default value is `true`, which means automatic caching. + * @return Created `FlxGraphic` object. + + + + false + + + + * Key used in the `BitmapFrontEnd` cache. + + + + * The cached `BitmapData` object. + + + + 0 + * Width of the cached `BitmapData`. + + + + 0 + * Height of the cached `BitmapData`. + + + + * Asset name from `openfl.Assets`. + + + + * Class name for the `BitmapData`. + + + + false + * Whether this graphic object should stay in the cache after state changes or not. + * `destroyOnNoUse` has no effect when this is set to `true`. + + + + * Whether this `FlxGraphic` should be destroyed when `useCount` becomes zero (defaults to `true`). + * Has no effect when `persist` is `true`. + + + + false + * Whether the `BitmapData` of this graphic object has been dumped or not. + + + + * Whether the `BitmapData` of this graphic object can be dumped for decreased memory usage, + * but may cause some issues (when you need direct access to pixels of this graphic. + * If the graphic is dumped then you should call `undump()` and have total access to pixels. + + + + + * Usage counter for this `FlxGraphic` object. + + + + * `FlxImageFrame` object for the whole bitmap. + + + + * Atlas frames for this graphic. + * You should fill it yourself with one of `FlxAtlasFrames`'s static methods + * (like `fromTexturePackerJson()`, `fromTexturePackerXml()`, etc). + + + + + + + * Storage for all available frame collection of all types for this graphic object. + + + + * All types of frames collection which had been added to this graphic object. + * It helps to avoid map iteration, which produces a lot of garbage. + + + + false + * Shows whether this object unique in cache or not. + * + * Whether undumped `BitmapData` should be cloned or not. + * It is `false` by default, since it significantly increases memory consumption. + + <_imageFrame> + + * Internal var holding `FlxImageFrame` for the whole bitmap of this graphic. + * Use public `imageFrame` var to access/generate it. + + <_useCount expr="0"> + + 0 + + <_destroyOnNoUse expr="true"> + + true + + + + * Dumps bits of `BitmapData` to decrease memory usage, but you can't read/write pixels on it anymore + * (but you can call `onContext()` (or `undump()`) method which will restore it again). + + + + * Undumps bits of the `BitmapData` - regenerates it and regenerate tilesheet data for this object + + + + * Use this method to restore cached `BitmapData` (if it's possible). + * It's called automatically when the RESIZE event occurs. + + + + * Asset reload callback for this graphic object. + * It regenerated its tilesheet and resets frame bitmaps. + + + + * Trying to free the memory as much as possible + + + + + + + * Stores specified `FlxFrame` collection in internal map (this helps reduce object creation). + * + * @param collection frame collection to store. + + + + + + + * Searches frame collections of specified type for this `FlxGraphic` object. + * + * @param type The type of frames collections to search for. + * @return Array of available frames collections of specified type for this object. + + + + + + + * Creates empty frame for this graphic with specified size. + * This method could be useful for tile frames, in case when you'll need empty tile. + * + * @param size dimensions of the frame to add. + * @return Empty frame with specified size which belongs to this `FlxGraphic` object. + + + + * Gets the `BitmapData` for this graphic object from OpenFL. + * This method is used for undumping graphic. + + + + + + + + + + + + + + + + + + + + + + + + + + * `FlxGraphic` constructor + * + * @param Key Key string for this graphic object, with which you can get it from bitmap cache. + * @param Bitmap `BitmapData` for this graphic object. + * @param Persist Whether or not this graphic stay in the cache after resetting it. + * Default value is `false`, which means that this graphic will be destroyed at the cache reset. + + * `BitmapData` wrapper which is used for rendering. + * It stores info about all frames, generated for specific `BitmapData` object. + + + + + + + new Point() + + + + new Matrix() + + + + new FlxPoint(128, 128) + * Default minimum size for atlases. + + + + new FlxPoint(1024, 1024) + * Default maximum size for atlases. + + + + * Root node of the atlas. + + + + * Name of this atlas, used as a key in the bitmap cache. + + + + + + + + * `BitmapData` of this atlas, combines all images into a big one. + + + + * Graphic for this atlas. + + + + false + * Whether this atlas should stay in memory after state switch. + * Default value if `false`. + + + + 1 + * Offsets between nodes. + + + + + * Total width of the atlas. + + + + + * Total height of the atlas. + + + + 128 + * Minimum width for this atlas. + + + + 128 + * Minimum height for this atlas + + + + 1024 + * Maximum width for this atlas. + + + + 1024 + * Maximum height for this atlas. + + + + false + * Whether to allow image rotation for packing in atlas. + + + + false + * Whether the size of this atlas should be the power of 2 or not. + + <_graphic> + <_tempStorage> + + * Internal storage for building atlas from queue + + + + + + + + + `. + * @param Key Image name, optional. + * You can omit it if you pass `String` or `Class` as a `Graphic` source. + * @return Newly created and added node, or `null` if there is no space for it.]]> + + + + + + + + + + + + + + + + + + + + + + + + + { firstGrandChildRotated : false } + + + + + + + + + + + + + + + + + + + + { decideHowToDivide : false } + + + + + + + + + + + + + + + + + `). + * @param Key Optional key for image + * @param tileSize The size of tile in spritesheet + * @param tileSpacing Offsets to add in spritesheet between tiles + * @param tileBorder Border to add around tiles (helps to avoid "tearing" problem) + * @param region Region of source image to use as a source graphic + * @return Generated `FlxTileFrames` for the added node]]> + + + + * Gets the `FlxAtlasFrames` object for this atlas. + * It caches graphic of this atlas and generates `FlxAtlasFrames` if it doesn't exist yet. + * + * @return `FlxAtlasFrames` for this atlas + + + + + + + + + + + * Checks if the atlas already contains node with the same name. + * + * @param nodeName Node name to check. + * @return `true` if atlas already contains node with the name. + + + + + + + * Gets a node by it's name. + * + * @param key Node name to search for. + * @return node with searched name. `null` if atlas doesn't contain any node with that name. + + + + + + + + * Optimized version of method for adding multiple nodes to atlas. + * Uses less of the atlas' area (it sorts images by the size before adding them to atlas). + * + * @param bitmaps `BitmapData`'s to insert + * @param keys Names of these `BitmapData` objects. + * @return `this` `FlxAtlas` + + + + + + + + + + + + * Internal method for sorting bitmaps + + + + * Creates a new "queue" for adding new nodes. + * This method should be used with the `addToQueue()` and `generateFromQueue()` methods: + * - first, you create queue, like `atlas.createQueue()`; + * - second, you add several bitmaps to the queue: `atlas.addToQueue(bmd1, "key1").addToQueue(bmd2, "key2");` + * - third, you actually bake those bitmaps onto the atlas: `atlas.generateFromQueue();` + + + + + + + + * Adds new object to queue for later creation of new node + * + * @param data `BitmapData` to bake on atlas + * @param key "name" of the `BitmapData`. You'll use it as a key for accessing the created node. + + + + * Adds all objects in "queue" to existing atlas. Doesn't remove any nodes. + + + + + + + + * Destroys the atlas. Use only if you want to clear memory and don't need this atlas anymore, + * since it disposes the `BitmapData` and removes it from the cache. + + + + * Clears all data in atlas. Use it when you want reuse this atlas. + * WARNING: it will destroy the graphic of this image, so you can get + * null pointer exceptions if you're still using it for your sprites. + + + + * Returns atlas data in LibGdx packer format. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { rotate : false, border : 1, powerOfTwo : false } + * Atlas constructor + * + * @param name The name of this atlas. It will be used for caching `BitmapData` of this atlas. + * @param powerOfTwo Whether the size of this atlas should be the power of 2 or not. + * @param border Gap between nodes to insert. + * @param rotate Whether to rotate added images for less atlas size. + * @param minSize Min size of atlas. + * @param maxSize Max size of atlas. + + * Class for packing multiple images in big one and generating frame data for each of them + * so you can easily load regions of atlas in sprites and tilemaps as a source of graphic + +
+ + + + + + + + * Left child of this node. + + + + * Right child of this node. + + + + * Region of the atlas which this node holds, includes spacings between nodes. + + + + * The "name" of this node. You can get access to this node with it: + * `atlas.getNode(key);` + + + + * Logical flag showing whether this node has an image in it or not. + + + + * Atlas object which contains this node. + + + + * The x coordinate of the top-left corner of this node. + + + + * The y coordinate of the top-left corner of this node. + + + + * The width of this node. + + + + * The height of this node. + + + + * Logical flag, showing whether this node have any child nodes or image in it. + + + + + + + + + + * Whether we place node with specified width and height in this node. + + + + + + + + + * Generates TileFrames object for this node + * + * @param tileSize The size of tile in spritesheet. + * @param tileSpacing Offsets between tiles in spritesheet. + * @param tileBorder Border to add around tiles (helps to avoid "tearing" problem). + * @return Created TileFrames object for this node. + + + + * Generates a `FlxImageFrame` object for this node. + * + * @return `FlxImageFrame` for the whole node + + + + + + + + + + + + + + + + + + + + + + + + { rotated : false, key : "", filled : false } + * Node constructor + * + * @param rect Region of atlas this node holds. + * @param atlas Atlas this node belongs to. + * @param filled Whether this node contains image or not. + * @param key The name of image in this node, and the name of this node. + + * Atlas node holds information about image on Atlas. + * Plus it have few methods for easy frame data generation, + * which can be loaded in sprites and in tilemaps. + + + + + + + * Array with all frames of this collection. + + + + * Number of frames in this collection. + + + + + + + * Hash of frames for this frame collection. + * Used only in `FlxAtlasFrames` and `FlxBitmapFont` (not implemented yet), + * but you can try to use it for other types of collections + * (give names to your frames). + + + + * Graphic object this frames belongs to. + + + + * Type of this frame collection. + * Used for faster type detection (less casting). + + + + * How much space was trimmed around the original frames. + * Use `addBorder()` to add borders. + + + + + + + * Finds a frame in `framesHash` by its name. + * + * @param name The name of the frame to find. + * @return Frame with specified name (if there is one). + + + + + + + * Finds frame in frames array by its index. + * + * @param index Index of the frame in the frames array. + * @return Frame with specified index in this frames collection (if there is one). + + + + + + + * Finds frame index by its name. + * + * @param name Name of the frame. + * @return Index of the frame with specified name. + + + + + + + * Finds the index of the specified frame in the frames array. + * + * @param frame Frame to find. + * @return Index of the specified frame. + + + + + + + + * Adds empty frame into this frame collection. + * An empty frame is doing almost nothing for all the time. + * + * @param size Dimensions of the frame to add. + * @return Newly added empty frame. + + + + + + + * Adds new regular (not rotated) `FlxFrame` to this frame collection. + * + * @param region Region of image which new frame will display. + * @return Newly created `FlxFrame` object for specified region of image. + + + + + + + + + + + + + { flipY : false, flipX : false, angle : 0 } + * Adds new frame to this frame collection. + * This method runs additional check, and can add rotated frames (from texture atlases). + * + * @param frame Region of image. + * @param sourceSize Original size of packed image + * (if image had been cropped, then original size will be bigger than frame size). + * @param offset How frame region is located on original frame image + * (offset from top left corner of original image). + * @param name Name for this frame (name of packed image file). + * @param angle Rotation of packed image (can be `0`, `90` or `-90`). + * @param flipX If packed image should be horizontally flipped. + * @param flipY If packed image should be vertically flipped. + * @return Newly created and added frame object. + + + + + + + + * Checks if frame's area fits into atlas image, and trims if it's out of atlas image bounds. + * + * @param frame Frame area to check. + * @param name Optional frame name for debugging info. + * @return Checked and trimmed frame rectangle. + + + + + + + * Helper method for a adding frame to the collection. + * + * @param frameObj Frame to add. + * @return Added frame. + + + + + + + * Generates new frames collection from this collection but trims frames by specified borders. + * + * @param border How much space trim around the frames. + * @return Generated frames collection. + + + + + + + + + + * Base class for all frame collections. + + + + + + + + + + + * Parsing method for TexturePacker atlases in JSON format. + * + * @param Source The image source (can be `FlxGraphic`, `String`, or `BitmapData`). + * @param Description Contents of JSON file with atlas description. + * You can get it with `Assets.getText(path/to/description.json)`. + * Or you can just a pass path to the JSON file in the assets directory. + * You can also directly pass in the parsed object. + * @return Newly created `FlxAtlasFrames` collection. + + + + + + + + + * Internal method for TexturePacker parsing. Parses the actual frame data. + * + * @param FrameName Name of the frame (file name of the original source image). + * @param FrameData The TexturePacker data excluding "filename". + * @param Frames The `FlxAtlasFrames` to add this frame to. + + + + + + + + * Parsing method for LibGDX atlases. + * + * @param source The image source (can be `FlxGraphic`, `String` or `BitmapData`). + * @param description Contents of the file with atlas description. + * You can get it with `Assets.getText(path/to/description/file)`. + * Or you can just pass path to the description file in the assets directory. + * @return Newly created `FlxAtlasFrames` collection. + + + + + + + + + + * Internal method for LibGDX atlas parsing. It tries to extract dimensions info from the specified string. + + + + + + + + + { useCache : true } + * Parsing method for Sparrow texture atlases + * (they can be generated with Shoebox http://renderhjs.net/shoebox/ for example). + * + * @param Source The image source (can be `FlxGraphic`, `String` or `BitmapData`). + * @param Description Contents of the XML file with atlas description. + * You can get it with `Assets.getText(path/to/description.xml)`. + * Or you can just pass a path to the XML file in the assets directory. + * @param useCache Will specify whenever the cache should be used. + * @return Newly created `FlxAtlasFrames` collection. + + + + + + + + * Parsing method for TexturePacker atlases in generic XML format. + * + * @param Source The image source (can be `FlxGraphic`, `String` or `BitmapData`). + * @param Description Contents of the XML file with atlas description. + * You can get it with `Assets.getText(path/to/description.xml)`. + * Or you can just pass a path to the XML file in the assets directory. + * @return Newly created `FlxAtlasFrames` collection. + + + + + + + + * Parsing method for Sprite Sheet Packer atlases (http://spritesheetpacker.codeplex.com/). + * + * @param Source The image source (can be `FlxGraphic`, `String` or `BitmapData`). + * @param Description Contents of the file with atlas description. + * You can get it with `Assets.getText(path/to/description/file)`. + * Or you can just pass a path to the description file in the assets directory. + * @return Newly created `FlxAtlasFrames` collection. + + + + + + + + * Returns the `FlxAtlasFrame` of the specified `FlxGraphic` object. + * + * @param graphic `FlxGraphic` object to find the `FlxAtlasFrames` collection for. + * @return `FlxAtlasFrames` collection for the specified `FlxGraphic` object + * Could be `null` if `FlxGraphic` doesn't have it yet. + + + + + + + + + + + * Atlas frames collection. It makes possible to use texture atlases in Flixel. + * Plus it contains few packer parser methods for most commonly used atlas formats. + + + + + + + + 32 + + + + 9 + + + + 10 + + + + "DEFAULT_FONT_KEY" + + + + 46100001000010010010000000?56111000001001100000000100000000@66011100100010101110101010011100000000A56011001001010010111101001000000B56111001001011100100101110000000C56011001001010000100100110000000D56111001001010010100101110000000E56111101000011000100001111000000F56111101000010000110001000000000G56011001000010110100100111000000H56100101001011110100101001000000I26101010101000J56000100001000010100100110000000K56100101001010010111001001000000L46100010001000100011100000M66100010100010110110101010100010000000N56100101001011010101101001000000O56011001001010010100100110000000P56111001001010010111001000000000Q56011001001010010100100110000010R56111001001010010111001001000000S56011101000001100000101110000000T46111001000100010001000000U56100101001010010100100110000000V56100101001010010101000100000000W66100010100010101010110110100010000000X56100101001001100100101001000000Y56100101001010010011100001001100Z56111100001001100100001111000000[36110100100100110000}46110001000010010011000000]36110010010010110000^46010010100000000000000000_46000000000000000011110000'26101000000000a56000000111010010100100111000000b56100001110010010100101110000000c46000001101000100001100000d56000100111010010100100111000000e56000000110010110110000110000000f46011010001000110010000000g5700000011001001010010011100001001100h56100001110010010100101001000000i26100010101000j37010000010010010010100k56100001001010010111001001000000l26101010101000m66000000111100101010101010101010000000n56000001110010010100101001000000o56000000110010010100100110000000p5700000111001001010010111001000010000q5700000011101001010010011100001000010r46000010101100100010000000s56000000111011000001101110000000t46100011001000100001100000u56000001001010010100100111000000v56000001001010010101000100000000w66000000101010101010101010011110000000x56000001001010010011001001000000y5700000100101001010010011100001001100z56000001111000100010001111000000{46011001001000010001100000|26101010101000}46110001000010010011000000~56010101010000000000000000000000\\46111010101010101011100000"]]> + + + + ?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"]]> + * Default letters for XNA font. + + + + new Point() + + + + new Rectangle() + + + + * Retrieves the default `FlxBitmapFont`. + * May work incorrectly on HTML5. + * Utterly unreliable on Brave Browser with shields up. + + + + + + + + * Loads font data in AngelCode's format. + * + * @param Source Font image source. + * @param Data Font data. + * @return Generated bitmap font object. + + + + + + + + + { charBGColor : FlxColor.TRANSPARENT } + * Load bitmap font in XNA/Pixelizer format. + * May work incorrectly on HTML5. + * Utterly unreliable on Brave Browser with shields up. + * + * @param source Source image for this font. + * @param letters `String` of characters contained in the source image, + * in order (ex. `" abcdefghijklmnopqrstuvwxyz"`). Defaults to `DEFAULT_CHARS`. + * @param charBGColor An additional background color to remove. Defaults to `FlxColor.TRANSPARENT`. + * @return Generated bitmap font object. + + + + + + + + + + + + + + + + * Loads a monospaced bitmap font. + * + * @param source Source image for this font. + * Use white pixels if you intend to change the color. + * @param letters The characters used in the font set, in display order. + * You can use the `TEXT_SET` constants for common font set arrangements. + * @param charSiz The size of each character in the font set. + * @param region The region of image to use for the font. + * Default is null which means that the whole image will be used. + * @param spacing Spaces between characters in the font set. Default is `null` which means no spaces. + * @return Generated bitmap font object. + + + + + + + + + 0 + * The size of the font. Can be useful for AngelCode fonts. + + + + 0 + + + + false + + + + false + + + + + 0 + + + + 0 + * Minimum x offset in this font. + * This is a helper variable for rendering purposes. + + + + 0 + * The width of space character. + + + + + + + * Helper map where character's frames are stored by char codes. + + + + + + + * Helper map where character's xAdvance are stored by char codes. + + + + * Atlas frame from which this font has been parsed. + + + + + + + + + + + * Internal method which creates and add char frames into this font. + * + * @param charCode Char code for char frame. + * @param frame Character region from source image. + * @param offset Offset before rendering this char. + * @param xAdvance How much cursor will jump after this char. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * Creates a new bitmap font using specified bitmap data and letter input. + + * Holds information and bitmap characters for a bitmap font. + + + flixel.text.FlxBitmapText + + + + + + + new Point() + + + + new Rectangle() + + + + + + + + + + { heightInc : 0, widthInc : 0 } + * Generates new frames collection from specified frames. + * + * @param frames Frames collection to generate filters for. + * @param widthInc How much frames should expand horizontally. + * @param heightInc How much frames should expend vertically. + * @param filters Optional filters array to apply. + * @return New frames collection which you can apply filters to. + + + + * Original frames collection + + + + 0 + * How much frames should expand horizontally + + + + 0 + * How much frames should expand vertically + + + + * Filters applied to these frames + + + + + + + + + { updateFrames : false, saveAnimations : false } + * Just helper method which "centers" sprite offsets + * + * @param spr Sprite to apply this frame collection. + * @param saveAnimations Whether to save sprite's animations or not. + * @param updateFrames Whether to regenerate frame `BitmapData`s or not. + + + + + + + + * Adds a filter to this frames collection. + * + * @param filter The filter to be added. + + + + + + + * Removes a filter from this frames collection. + * + * @param filter The filter to be removed. + + + + * Removes all filters from the frames. + + + + + + + + { fill : true } + + + + + + + + + + + + + + + + + + + + { heightInc : 0, widthInc : 0 } + + * Frames collection which you can apply bitmap filters to. + * WARNING: this frame collection doesn't use caching, so be careful or you will "leak" out memory very fast. + * You should destroy frames collections of this type manually. + + + + + + + + + + + * Sorts an array of `FlxFrame` objects by their name, e.g. + * `["tiles-001.png", "tiles-003.png", "tiles-002.png"]` + * with `"tiles-".length == prefixLength` and `".png".length == postfixLength`. + + + + + + + + + + + new Point() + + + + new Point() + + + + new Rectangle() + + + + new FlxMatrix() + + + + + * Region of the image to render. + + + + * UV coordinates for this frame. + * WARNING: For optimization purposes, width and height of this rect + * contain right and bottom coordinates (`x + width` and `y + height`). + + + + + * Rotation angle of this frame. + * Required for packed atlas images. + + + + + + * Original (uncropped) image size. + + + + * Frame offset from top left corner of original image. + + + + * The type of this frame. + + + + + + + flixel.graphics.frames.FlxFramesCollection + flixel.graphics.frames.FlxBitmapFont + + + + + + + + + { blit : true } + * Applies frame rotation to the specified matrix, which should be used for tiling or blitting. + * Required for rotated frame support. + * + * @param mat Matrix to transform / rotate + * @param blit Whether specified matrix will be used for blitting or for tile rendering. + * @return Transformed matrix. + + + + + + + + + + { flipY : false, flipX : false, rotation : FlxFrameAngle.ANGLE_0 } + * Rotates and flips matrix. This method expects matrix which was prepared by `prepareBlitMatrix()`. + * Internal use only. + * + * @param mat Matrix to transform + * @param rotation Rotation to apply to specified matrix. + * @param flipX Do we need to flip frame horizontally + * @param flipY Do we need to flip frame vertically + * @return Transformed matrix with applied rotation and flipping + + + + + + + + + + { flipY : false, flipX : false, rotation : FlxFrameAngle.ANGLE_0 } + * Prepares matrix for frame blitting (see `paint` methods). + * + * @param mat Matrix to transform/prepare. + * @param rotation Rotation to apply to specified matrix. + * @param flipX Do we need to flip frame horizontally. + * @param flipY Do we need to flip frame vertically. + * @return Transformed matrix which can be used for frame painting. + + + + + + + + + + { flipY : false, flipX : false, rotation : FlxFrameAngle.ANGLE_0 } + * Prepares matrix for frame tile/triangles rendering. + * + * @param mat Matrix to transform/prepare + * @param rotation Rotation to apply to specified matrix. + * @param flipX Do we need to flip frame horizontally + * @param flipY Do we need to flip frame vertically + * @return Transformed matrix which can be used for frame drawing. + + + + + + + + + + + + + + { disposeIfNotEqual : false, mergeAlpha : false } + * Draws frame on specified `BitmapData` object. + * + * @param bmd `BitmapData` object to draw this frame on. + * If bmd is `null` then new a `BitmapData` is created. + * @param point Where to draw this frame on the specified `BitmapData` object. + * @param mergeAlpha Whether to merge alphas or not. + * (works like with `BitmapData`'s `copyPixels()` method). + * @param disposeIfNotEqual Whether dispose passed `bmd` or not if its size isn't + * equal to frame's original size (`sourceSize`) + * @return Modified or newly created `BitmapData` with frame image on it. + + + + + + + + + + + + + { disposeIfNotEqual : false, mergeAlpha : false, flipY : false, flipX : false, rotation : FlxFrameAngle.ANGLE_0 } + * Draws rotated and flipped frame on specified BitmapData object. + * + * @param bmd BitmapData object to draw this frame on. + * If `bmd` is `null` then new `BitmapData` created. + * @param point Where to draw this frame on the specified `BitmapData` object + * @param rotation How much rotate the frame. + * @param flipX Do we need to flip frame horizontally. + * @param flipY Do we need to flip frame vertically. + * @param mergeAlpha Whether to merge alphas or not + * (works like with `BitmapData`'s `copyPixels()` method). + * @param disposeIfNotEqual Whether dispose passed `bmd` or not if its size isn't + * equal to frame's original size (`sourceSize`) + * @return Modified or newly created `BitmapData` with frame image on it. + + + + + + + + + + + { disposeIfNotEqual : false, mergeAlpha : false, rotation : FlxFrameAngle.ANGLE_0 } + * Internal method which runs few checks on specified `BitmapData` object. + * + * @param bmd `BitmapData` object to check against. + * @param point Optional point for mergeAlpha checks + * @param rotation How much we will rotate the frame when we will be + * drawing it on specified `BitmapData`. + * @param mergeAlpha Whether to merge alphas or not + * (works like with `BitmapData`'s `copyPixels()` method). + * @param disposeIfNotEqual Whether dispose passed bmd or not if its size isn't + * equal to frame's original size (`sourceSize`). + * @return Prepared `BitmapData` for further frame blitting. Output `BitmapData` could be a different object. + + + + + + + * Internal method which prepares frame rect for blitting. + * Required for rotated frames support. + * + * @param mat Frame transformation matrix (rotated / flipped / translated). + * @return Clipping rectangle which will be used for frame blitting. + + + + + + + + * Generates frame with specified subregion of this frame. + * + * @param rect Frame region to generate frame for. + * @param frameToFill Frame to fill with data. If `null` then a new frame will be created. + * @return Specified `frameToFill` object but filled with data. + + + + + + + + * Just a helper method for some frame adjusting. + * Try to not use it, since it may cause memory leaks. + * + * @param border Amount to clip from frame + * @return Clipped frame + + + + + + + + * Frame clipping + * + * @param clip Clipping rectangle to apply on frame + * @param clippedFrame The frame which will contain result of original frame clipping. + * If `null`, a new frame will be created. + * @return Result of applying frame clipping + + + + + + + * Copies data from this frame into specified frame. + * + * @param clone Frame to fill data with. If `null`, a new frame will be created. + * @return Frame with data of this frame. + + + + + + + + + + + + + + + + + { flipY : false, flipX : false, angle : FlxFrameAngle.ANGLE_0 } + flixel.graphics.FlxGraphic + flixel.graphics.frames.FlxFramesCollection + + + * Base class for all frame types + + + + + * Just enumeration of all types of frames. + * Added for faster type detection with less usage of casting. + + + + + + cast 0 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + + + + + cast 0 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 90 + + + + + + + + cast -90 + + + + + + + + cast -90 + + + + + + + + + + + + cast 0 + + + + + + + + cast 90 + + + + + + + + cast -90 + + + + + + + + cast -90 + + + + + + + + + + + + + + * An enumeration of all types of frame collections. + * Added for faster type detection with less usage of casting. + + + + + + + + + + + * Generates a `FlxImageFrame` object with empty frame of specified size. + * + * @param graphic Graphic for the `FlxImageFrame`. + * @param frameRect The size of the empty frame to generate + * (only `width` and `height` of the `frameRect` need to be set properly). + * @return Newly created `FlxImageFrame` object with empty frame of specified size. + + + + + + + * Generates a `FlxImageFrame` object from the specified `FlxFrame`. + * + * @param source `FlxFrame` to generate `FlxImageFrame` from. + * @return Created `FlxImageFrame` object. + + + + + + + * Creates a `FlxImageFrame` object for the whole image. + * + * @param source image graphic for the `FlxImageFrame`. + * @return Newly created `FlxImageFrame` object for specified graphic. + + + + + + + + * Creates `FlxImageFrame` for the specified region of `FlxGraphic`. + * + * @param graphic Graphic for `FlxImageFrame`. + * @param region Region of image to create the `FlxImageFrame` for. + * @return Newly created `FlxImageFrame` object for the specified region of `FlxGraphic` object. + + + + + + + + * Creates a `FlxImageFrame` object for specified region of the image. + * + * @param source Image graphic for `FlxImageFrame`. + * @param region Region of the image to create the `FlxImageFrame` for. + * @return Newly created `FlxImageFrame` object for specified region of image. + + + + + + + + + * Gets source BitmapData, generates new BitmapData (if there is no such BitmapData in the cache already) + * and creates FlxImageFrame collection. + * + * @param source The source of graphic for frame collection. + * @param border Border to add around tiles (helps to avoid "tearing" problem). + * @param region Region of image to generate image frame from. Default value is `null`, which means that + * whole image will be used for it. + * @return Newly created image frame collection. + + + + + + + + * Gets `FlxFrame` object, generates new `BitmapData` with border pixels around + * (if there is no such BitmapData in the cache already) and creates image frame collection. + * + * @param frame Frame to generate tiles from. + * @param border Border to add around frame image (helps to avoid "tearing" problem). + * @return Newly created image frame collection. + + + + + + + + + * Searches `FlxImageFrame` object for specified `FlxGraphic` object which have the same frame rectangle. + * + * @param graphic `FlxGraphic` object to search the `FlxImageFrame` for. + * @param frameRect `FlxImageFrame` object should have frame with + * the same position and dimensions as specified with this argument. + * @return `FlxImageFrame` object which corresponds to specified rectangle. + * Could be `null` if there is no such `FlxImageFrame`. + + + + + + + + * Searches `FlxImageFrame` object with the empty frame which have specified size. + * + * @param graphic `FlxGraphic` object to search `FlxImageFrame` for. + * @param frameRect The size of empty frame to search for. + * @return `FlxImageFrame` with empty frame. + + + + * Single frame of this frame collection. + * Added this var for faster access, so you don't need to type something like: `imageFrame.frames[0]` + + + + + + + + * `FlxImageFrame` comparison method. For internal use. + + + + + + + + + + + + + * Single-frame collection. + * Could be useful for non-animated sprites. + + + + + + + + + + + + + + * Gets source `BitmapData`, generates new `BitmapData` with spaces between frames + * (if there is no such `BitmapData` in the cache already) and creates `FlxTileFrames` collection. + * + * @param source The source of graphic for frame collection. + * @param tileSize The size of tiles in spritesheet. + * @param tileSpacing Desired offsets between frames in spritesheet + * (this method takes spritesheet bitmap without offsets between frames and adds them). + * @param tileBorder Border to add around tiles (helps to avoid "tearing" problem). + * @param region Region of image to generate spritesheet from. Default value is `null`, which means that + * the whole image will be used for spritesheet generation. + * @return Newly created spritesheet. + + + + + + + + + + * Gets `FlxFrame` object, generates new `BitmapData` with spaces between tiles in the frame + * (if there is no such `BitmapData` in the cache already) and creates a `FlxTileFrames` collection. + * + * @param frame Frame to generate tiles from. + * @param tileSize the size of tiles in spritesheet. + * @param tileSpacing desired offsets between frames in spritesheet. + * (this method takes spritesheet bitmap without offsets between frames and adds them). + * @param tileBorder Border to add around tiles (helps to avoid "tearing" problem). + * @return Newly created spritesheet. + + + + + + + + + * Generates spritesheet frame collection from provided frame. Can be useful for spritesheets packed into atlases. + * It can generate spritesheets from rotated and cropped frames also, + * which is important for devices with limited memory. + * + * @param frame Frame, containing spritesheet image + * @param tileSize The size of tiles in spritesheet + * @param tileSpacing Offsets between frames in spritesheet. + * Default value is `null`, which means no offsets between tiles. + * @return Newly created spritesheet frame collection. + + + + + + + * Just generates tile frames collection from specified array of frames. + * + * @param Frames `Array` of frames to generate tile frames from. + * They all should have the same source size and parent graphic. + * If not then `null` will be returned. + * @return Generated collection of frames. + + + + + + + + * Creates new a `FlxTileFrames` collection from atlas frames which begin with + * a common name (e.g. `"tiles-"`) and differ in indices (e.g. `"001"`, `"002"`, etc.). + * This method is similar to `FlxAnimationController`'s `addByPrefix()`. + * + * @param Frames Collection of atlas frames to generate tiles from. + * @param Prefix Common beginning of image names in atlas (e.g. `"tiles-"`). + * @return Generated tile frames collection. + + + + + + + + + + * Generates spritesheet frame collection from provided region of image. + * + * @param graphic Source graphic for spritesheet. + * @param tileSize The size of tiles in spritesheet. + * @param region Region of image to use for spritesheet generation. Default value is `null`, + * which means that the whole image will be used for it. + * @param tileSpacing Offsets between frames in spritesheet. + * Default value is `null`, which means no offsets between tiles. + * @return Newly created spritesheet frame collection. + + + + + + + + + + * Generates a spritesheet frame collection from the provided image region. + * + * @param source Source graphic for the spritesheet. + * @param tileSize The size of tiles in spritesheet. + * @param region Region of image to use for spritesheet generation. Default value is `null`, + * which means that whole image will be used for it. + * @param tileSpacing Offsets between frames in spritesheet. + * Default value is `null`, which means no offsets between tiles. + * @return Newly created spritesheet frame collection. + + + + + + + + + + * This method takes array of tileset bitmaps and the size of + * tiles in them and then combine them in one big tileset. + * The order of bitmaps in the array is important. + * + * ```haxe + * var combinedFrames = FlxTileFrames.combineTileSets(bitmaps, FlxPoint.get(16, 16)); + * tilemap.loadMapFromCSV(mapData, combinedFrames); + * ``` + * + * or + * + * ```haxe + * sprite.frames = combinedFrames; + * ``` + * + * @param bitmaps tilesets + * @param tileSize The size of tiles (tilesets should have tiles of the same size). + * @return Atlas frames collection, which you can load in tilemaps or sprites: + + + + + + + + + * This method takes array of tile frames collections and then combine them in one big tileset. + * The order of bitmaps in array is important. + * + * + * ```haxe + * var combinedFrames = FlxTileFrames.combineTileFrames(tileframes); + * tilemap.loadMapFromCSV(mapData, combinedFrames); + * ``` + * + * or + * + * ```haxe + * sprite.frames = combinedFrames; + * ``` + * + * @param tileframes Tile frames collection to combine tiles from. + * @return Atlas frames collection, which you can load in tilemaps or sprites: + + + + + + + + + + + + * Searches `FlxTileFrames` object for a specified `FlxGraphic` object + * which has the same parameters (frame size, frame spacings, region of image, etc.). + * + * @param graphic `FlxGraphic` object to search `FlxTileFrames` for. + * @param tileSize The size of tiles in TileFrames. + * @param region The region of source image used for spritesheet generation. + * @param atlasFrame Optional `FlxFrame` object used for spritesheet generation. + * @param tileSpacing Spaces between tiles in spritesheet. + * @return `FlxTileFrames` object which corresponds to specified arguments. + * Could be null if there is no such `FlxTileFrames`. + + + + * Atlas frame from which this frame collection had been generated. + * Could be `null` if this collection generated from rectangle. + + + + * Image region of the image from which this frame collection had been generated. + + + + * The size of frame in this spritesheet. + + + + * Offsets between frames in this spritesheet. + + + + 0 + + + + 0 + + + + + + + + * Gets frame by its "position" in spritesheet. + + + + + + + + + + + * TileFrames comparison method. For internal use. + + + + + + + + + + + + * Spritesheet frame collection. It is used for tilemaps and animated sprites. + + + + + + 0 + * Tracks the total number of draw calls made each frame. + + + + + + + + + + + false + + + + false + + + + false + + + + 0 + + + + + + + + + + + + + + + + + + + + + * @author Zaphod + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FlxPoint.get() + + + + FlxRect.get() + + + + + + + + + + ()]]> + + + + ()]]> + + + + ()]]> + + + + ()]]> + + + + 0 + + + + 0 + + + + 0 + + + + FlxRect.get() + + + + + + + + + + + + + + + + + + + + + + + + + + * @author Zaphod + + + + + <_groupMembers> + <_filter> + + + + <_cursor> + <_length> + + + + + + + + + + + * Iterator implementation for groups + * Support a filter method (used for iteratorAlive, iteratorDead and iteratorExists) + * @author Masadow + + + + + + + + * @since 4.8.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + RELEASED + + + + RELEASED + + + + + + + + + + + + + + + + + + + + + + + + + + + + cast -1 + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + + + + + cast -1 + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + + + + true + * Whether or not keyboard input is currently enabled. + + + + [] + * List of keys on which preventDefault() is called, useful on HTML5 to stop + * the browser from scrolling when pressing the up or down key for example, or + * on android to prevent the default back key action. + + + + * Helper class to check if a key is pressed. + + + + * Helper class to check if a key was just pressed. + + + + * Helper class to check if a key is released. + * @since 4.8.0 + + + + * Helper class to check if a key was just released. + + <_keyListArray expr="[]"> + + + [] + flixel.input.FlxBaseKeyList + + * Internal storage of input keys as an array, for efficient iteration. + + <_keyListMap expr="new Map<Int,FlxInput<Key>>()"> + + + + + >()]]> + * Internal storage of input keys as a map, for efficient indexing. + + + + + + + * Check to see if at least one key from an array of keys is pressed. + * + * @param KeyArray An array of key names + * @return Whether at least one of the keys passed in is pressed. + + + + + + + * Check to see if at least one key from an array of keys was just pressed. + * + * @param KeyArray An array of key names + * @return Whether at least one of the keys passed was just pressed. + + + + + + + * Check to see if at least one key from an array of keys was just released. + * + * @param KeyArray An array of key names + * @return Whether at least one of the keys passed was just released. + + + + * Get the ID of the first key which is currently pressed. + * + * @return The ID of the first pressed key or -1 if none are pressed. + + + + * Get the ID of the first key which has just been pressed. + * + * @return The ID of the key or -1 if none were just pressed. + + + + * Get the ID of the first key which has just been released. + * + * @return The ID of the key or -1 if none were just released. + + + + + + + + * Check the status of a single of key + * + * @param KeyCode KeyCode to be checked. + * @param Status The key state to check for. + * @return Whether the provided key has the specified status. + + + + + + + + flixel.input.FlxBaseKeyList + * Check the status of a single of key. + * Throws errors on ANY, NONE or invalid keys. + * Use `checkStatus`, for most cases. + * + * @param KeyCode KeyCode to be checked. + * @param Status The key state to check for. + * @return Whether the provided key has the specified status. + + + + * Get an Array of Key that are in a pressed state + * + * @return Array of keys that are currently pressed. + + + + * Clean up memory. + + + + * Resets all the keys. + + + + * Updates the key states (for tracking just pressed, just released, etc). + + + + + + + + * Helper function to check the status of an array of keys + * + * @param KeyArray An array of keys as Strings + * @param State The key state to check for + * @return Whether at least one of the keys has the specified status + + + + + + + * Event handler so FlxGame can toggle keys. + + + + + + + * Internal event handler for input and focus. + + + + + + + + + + + + + * A Helper function to check whether an array of keycodes contains + * a certain key safely (returns false if the array is null). + + + + + + + + + + + + * A helper function to update the key states based on a keycode provided. + + + + + + + + + * Return a key from the key list, if found. Will return null if not found. + + + + + + + + + + + + + * Keeps track of what keys are pressed and how with handy Bools or strings. + * Automatically instatiated by flixel as a `FlxKeyboard` and accessed via `FlxG.keys` + * or `FlxAndroidKeys` with `FlxG.android`. + * Example: `FlxG.keys.justPressed.A` + + + + + * Either LEFT_MOUSE, MIDDLE_MOUSE or RIGHT_MOUSE, + * or the touchPointID of a FlxTouch. + + + + + + + <_startTimeInTicks> + <_endTimeInTicks> + + + + + + + + + + + + + + flixel.input.mouse.FlxMouseButton + flixel.input.touch.FlxTouch + + + + + + + * Digital or Analog + + + + * The name of the action, "jump", "fire", "move", etc. + + + + -1 + * This action's numeric handle for the Steam API (ignored if not using Steam) + + + + false + * If true, this action has just been triggered + + + + * The inputs attached to this action + + <_x expr="null"> + + null + + <_y expr="null"> + + null + + <_timestamp expr="0"> + + 0 + + <_checked expr="false"> + + false + + + + false + * Whether the steam controller inputs for this action have changed since the last time origins were polled. Always false if steam isn't active + + + + + + + + + + + + { Destroy : true } + + + + + + + + { Destroy : false } + + + + + * See if this action has just been triggered + + + + + + + + + + + + + + + + + + + + + + + + * @since 4.6.0 + + + + flixel.input.actions.FlxActionDigital + flixel.input.actions.FlxActionAnalog + flixel.input.actions.FlxActionSet + + + + + + + + + + + * Function to call when this action occurs + + + + + + + * Add a digital input (any kind) that will trigger this action + * @param input + * @return This action + + + + + + + + * Add a generic IFlxInput action input + * + * WARNING: IFlxInput objects are often member variables of some other + * object that is often destructed at the end of a state. If you don't + * destroy() this input (or the action you assign it to), the IFlxInput + * reference will persist forever even after its parent object has been + * destroyed! + * + * @param Input A generic IFlxInput object (ex: FlxButton.input) + * @param Trigger Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED) + * @return This action + + + + + + + + + { GamepadID : FlxInputDeviceID.FIRST_ACTIVE } + * Add a gamepad action input for digital (button-like) events + * @param InputID "universal" gamepad input ID (A, X, DPAD_LEFT, etc) + * @param Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED) + * @param GamepadID specific gamepad ID, or FlxInputDeviceID.ALL / FIRST_ACTIVE + * @return This action + + + + + + + + * Add a keyboard action input + * @param Key Key identifier (FlxKey.SPACE, FlxKey.Z, etc) + * @param Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED) + * @return This action + + + + + + + + * Mouse button action input + * @param ButtonID Button identifier (FlxMouseButtonID.LEFT / MIDDLE / RIGHT) + * @param Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED) + * @return This action + + + + + + + + 0; False: respond to mouse wheel values < 0 + * @param Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED) + * @return This action]]> + + + + + + + + + + + + + { Name : "" } + * Create a new digital action + * @param Name name of the action + * @param Callback function to call when this action occurs + + * A digital action is a binary on/off event like "jump" or "fire". + * FlxActions let you attach multiple inputs to a single in-game action, + * so "jump" could be performed by a keyboard press, a mouse click, + * or a gamepad button press. + * + * @since 4.6.0 + + + + + + + + + + * Function to call when this action occurs + + + + * X axis value, or the value of a single-axis analog input. + + + + * Y axis value. (If action only has single-axis input this is always == 0) + + + + + + + * Add an analog input that will trigger this action + + + + + + + + + + + + + { InvertX : false, InvertY : false, DeadZone : 0.1, PixelsPerUnit : 10, Axis : FlxAnalogAxis.EITHER } + * Add mouse input -- same as mouse motion, but requires a particular mouse button to be PRESSED + * Very useful for e.g. panning a map or canvas around + * @param ButtonID Button identifier (FlxMouseButtonID.LEFT / MIDDLE / RIGHT) + * @param Trigger What state triggers this action (MOVED, JUST_MOVED, STOPPED, JUST_STOPPED) + * @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH + * @param PixelsPerUnit How many pixels of movement = 1.0 in analog motion (lower: more sensitive, higher: less sensitive) + * @param DeadZone Minimum analog value before motion will be reported + * @param InvertY Invert the Y axis + * @param InvertX Invert the X axis + * @return This action + + + + + + + + + + + + { InvertX : false, InvertY : false, DeadZone : 0.1, PixelsPerUnit : 10, Axis : EITHER } + * Add mouse input -- X/Y is the RELATIVE motion of the mouse since the last frame + * @param Trigger What state triggers this action (MOVED, JUST_MOVED, STOPPED, JUST_STOPPED) + * @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH + * @param PixelsPerUnit How many pixels of movement = 1.0 in analog motion (lower: more sensitive, higher: less sensitive) + * @param DeadZone Minimum analog value before motion will be reported + * @param InvertY Invert the Y axis + * @param InvertX Invert the X axis + * @return This action + + + + + + + + { Axis : EITHER } + * Add mouse input -- X/Y is the mouse's absolute screen position + * @param Trigger What state triggers this action (MOVED, JUST_MOVED, STOPPED, JUST_STOPPED) + * @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH + * @return This action + + + + + + + + + + { GamepadID : FlxInputDeviceID.FIRST_ACTIVE, Axis : EITHER } + * Add gamepad action input for analog (trigger, joystick, touchpad, etc) events + * @param InputID "universal" gamepad input ID (LEFT_TRIGGER, RIGHT_ANALOG_STICK, TILT_PITCH, etc) + * @param Trigger What state triggers this action (MOVED, JUST_MOVED, STOPPED, JUST_STOPPED) + * @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH + * @param GamepadID specific gamepad ID, or FlxInputDeviceID.FIRST_ACTIVE / ALL + * @return This action + + + + + + + + + + + + + + + + + { Name : "" } + * Create a new analog action + * @param Name name of the action + * @param Callback function to call when this action occurs + + * Analog actions are events with continuous (floating-point) values, and up + * to two axes (x,y). This is for events like "move" and "accelerate" where the + * event is not simply on or off. + * + * FlxActions let you attach multiple inputs to a single in-game action, + * so "move" could be performed by a gamepad joystick, a mouse movement, etc. + * + * @since 4.6.0 + + + + + + + * Digital or Analog + + + + * Mouse, Keyboard, Gamepad, SteamController, etc. + + + + + + + + false + + + + * Input code (FlxMouseButtonID, FlxKey, FlxGamepadInputID, or Steam Controller action handle) + + + + * What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED) + + + + + + + + + * Check whether this action has just been triggered + + + + + + + + * Check whether `state` fulfills `condition`. Note: order of operations is + * important here. `compareState(JUST_PRESSED, PRESSED) == false`, while + * `compareState(PRESSED, JUST_PRESSED) == true`. + * @return Whether or not the condition is satisfied by state. + + + + + + + + + + + { DeviceID : FlxInputDeviceID.FIRST_ACTIVE } + + * @since 4.6.0 + + flixel.input.actions.FlxActionInputDigital + flixel.input.actions.FlxActionInputAnalog + + + + + + * @since 4.6.0 + + + + + + + + + + + + + + + + + + * @since 4.6.0 + + + + + + + + + -1 + * Means "every connected device of the given type" (ie all gamepads, all steam controllers, etc) + + + + -2 + * Means "the first connected device that has an active input" (ie a pressed button or moved analog stick/trigger/etc) + + + + -3 + * Means "no device" + + * Just a bucket for some handy sentinel values. + * @since 4.6.0 + + + + + + + + + + + + + + { Model : "" } + + + + + + + * @since 4.6.0 + + + + + + cast cast FlxInputState.JUST_RELEASED + + + + + + + + cast cast FlxInputState.RELEASED + + + + + + + + cast cast FlxInputState.PRESSED + + + + + + + + cast cast FlxInputState.JUST_PRESSED + + + + + + + + + + + + cast cast FlxInputState.JUST_RELEASED + + + + + + + + cast cast FlxInputState.RELEASED + + + + + + + + cast cast FlxInputState.PRESSED + + + + + + + + cast cast FlxInputState.JUST_PRESSED + + + + + + + + + + + true + + + + false + + + + + 0 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + { DeviceID : FlxInputDeviceID.FIRST_ACTIVE, Axis : EITHER } + + * @since 4.6.0 + flixel.input.actions.FlxAction + + + + + + 0 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + { InvertX : false, InvertY : false, DeadZone : 0.1, PixelsPerUnit : 10, Axis : EITHER } + * Mouse input -- X/Y is the RELATIVE motion of the mouse since the last frame + * @param Trigger What state triggers this action (MOVED, JUST_MOVED, STOPPED, JUST_STOPPED) + * @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH + * @param PixelsPerUnit How many pixels of movement = 1.0 in analog motion (lower: more sensitive, higher: less sensitive) + * @param DeadZone Minimum analog value before motion will be reported + * @param InvertY Invert the Y axis + * @param InvertX Invert the X axis + + * @since 4.6.0 + + + + + + + + + + + + + + + + + + + + + + { InvertX : false, InvertY : false, DeadZone : 0.1, PixelsPerUnit : 10, Axis : FlxAnalogAxis.EITHER } + * Mouse input -- same as FlxActionInputAnalogMouseMotion, but requires a particular mouse button to be PRESSED + * Very useful for e.g. panning a map or canvas around + * @param ButtonID Button identifier (FlxMouseButtonID.LEFT / MIDDLE / RIGHT) + * @param Trigger What state triggers this action (MOVED, JUST_MOVED, STOPPED, JUST_STOPPED) + * @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH + * @param PixelsPerUnit How many pixels of movement = 1.0 in analog motion (lower: more sensitive, higher: less sensitive) + * @param DeadZone Minimum analog value before motion will be reported + * @param InvertY Invert the Y axis + * @param InvertX Invert the X axis + + * @since 4.6.0 + + + + + + + + + + + + + + + + + { Axis : EITHER } + * Mouse input -- X/Y is the mouse's absolute screen position + * @param Trigger What state triggers this action (MOVED, JUST_MOVED, STOPPED, JUST_STOPPED) + * @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH + + * @since 4.6.0 + + + + + + + + + + + + + + { GamepadID : FlxInputDeviceID.FIRST_ACTIVE, Axis : EITHER } + * Gamepad action input for analog (trigger, joystick, touchpad, etc) events + * @param InputID "universal" gamepad input ID (LEFT_TRIGGER, RIGHT_ANALOG_STICK, TILT_PITCH, etc) + * @param Trigger What state triggers this action (MOVED, JUST_MOVED, STOPPED, JUST_STOPPED) + * @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH + * @param GamepadID specific gamepad ID, or FlxInputDeviceID.FIRST_ACTIVE / ALL + + * @since 4.6.0 + + + + + + + + + + + + + + + { DeviceID : FlxInputDeviceID.ALL, Axis : EITHER } + flixel.input.actions.FlxActionSet + + * Steam Controller action input for analog (trigger, joystick, touchpad, etc) events + * @param ActionHandle handle received from FlxSteamController.getAnalogActionHandle() + * @param Trigger what state triggers this action (MOVING, JUST_MOVED, STOPPED, JUST_STOPPED) + * @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH + * @param DeviceHandle handle received from FlxSteamController.getConnectedControllers(), or FlxInputDeviceID.ALL / FlxInputDeviceID.FIRST_ACTIVE + + * @since 4.6.0 + + + + + + * @since 4.6.0 + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + + + + + + + + + + { DeviceID : FlxInputDeviceID.FIRST_ACTIVE } + + * @since 4.6.0 + + + + + + + 0 + + + + + + + + + + + + + 0; False: respond to mouse wheel values < 0 + * @param Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED)]]> + + * @since 4.6.0 + + + + + + + + + + + + + + + + + + + { GamepadID : FlxInputDeviceID.FIRST_ACTIVE } + * Gamepad action input for digital (button-like) events + * @param InputID "universal" gamepad input ID (A, X, DPAD_LEFT, etc) + * @param Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED) + * @param GamepadID specific gamepad ID, or FlxInputDeviceID.ALL / FIRST_ACTIVE + + * @since 4.6.0 + + + + + + + + + + + + + + + * Keyboard action input + * @param Key Key identifier (FlxKey.SPACE, FlxKey.Z, etc) + * @param Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED) + + * @since 4.6.0 + + + + + + + + + + + + + + + * Mouse button action input + * @param ButtonID Button identifier (FlxMouseButtonID.LEFT / MIDDLE / RIGHT) + * @param Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED) + + * @since 4.6.0 + + + + + + + + + + + + + + + + + + + + + + + { DeviceHandle : FlxInputDeviceID.FIRST_ACTIVE } + flixel.input.actions.FlxActionSet + + * Steam Controller action input for digital (button-like) events + * @param ActionHandle handle received from FlxSteamController.getDigitalActionHandle() + * @param Trigger what state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED) + * @param DeviceHandle handle received from FlxSteamController.getConnectedControllers(), or FlxInputDeviceID.ALL / FIRST_ACTIVE + + * @since 4.6.0 + + + + + + + + + + + + + + + + + * Generic IFlxInput action input + * + * WARNING: IFlxInput objects are often member variables of some other + * object that is often destructed at the end of a state. If you don't + * destroy() this input (or the action you assign it to), the IFlxInput + * reference will persist forever even after its parent object has been + * destroyed! + * + * @param Input A generic IFlxInput object (ex: FlxButton.input) + * @param Trigger Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED) + + * @since 4.6.0 + + + + + + + + + + null + + + + * The number of registered action sets + + + + + + + + + * A signal fired when a device currently in use is suddenly disconnected. Returns the device type, handle/id, and a string identifier for the device model (if applicable) + + + + + + + + + * A signal fired when a device is connected. Returns the device type, handle/id, and a string identifier for the device model (if applicable) + + + + + + + * A signal fired when an action's inputs have been externally changed. Returns a list of all actions whose inputs have changed. For now only used for Steam Controllers. + + + + ResetPolicy.DEFAULT_SET_ONLY + * Which action sets to remove on state switches. + + + + + + + + + * Activate an action set for a particular device + * @param ActionSet The integer ID for the Action Set you want to activate + * @param Device The device type (Mouse, Keyboard, Gamepad, SteamController, etc) + * @param DeviceID FlxGamepad ID or a Steam Controller Handle (ignored for Mouse/Keyboard) + + + + + + + + { ActionSet : 0 } + * Add actions to a particular action set + * @param Actions The FlxActions you want to add + * @param ActionSet The index of the FlxActionSet you want to add + * @return whether they were all successfully added + + + + + + + + { ActionSet : 0 } + * Add an action to a particular action set + * @param Action The FlxAction you want to add + * @param ActionSet The index of the FlxActionSet you want to add + * @return whether it was successfully added + + + + + + + * Add a FlxActionSet to the manager + * @param set The FlxActionSet you want to add + * @return the index of the FlxActionSet + + + + + + + + { DeviceID : FlxInputDeviceID.ALL } + * Deactivate an action set for any devices it is currently active for + * @param ActionSet The integer ID for the Action Set you want to deactivate + * @param DeviceID FlxGamepad ID or a Steam Controller Handle (ignored for Mouse/Keyboard) + + + + + + + + * Get the index of a particular action set + * @param name Action set name + * @return Index number of that set, -1 if not found + + + + + + + * Get the name of an action set + * @param Index Action set index + * @return Name of that set, "" if not found + + + + + + + * Get an action set + * @param Index Action set index + * @return The FlxActionSet at that location, or null if not found + + + + + + + + + { deviceID : FlxInputDeviceID.ALL } + flixel.input.actions.FlxActionManager.ActionSetRegister + + * Returns the action set that has been activated for this specific device + + + + + + + + + + + + + + + * Load action sets from a parsed Json object + * @param data Json object parsed from the same format that "exportToJson()" outputs + * @param CallbackDigital Callback function for digital actions + * @param CallbackAnalog Callback function for analog actions + * @return The number of new FlxActionSets created and added. 0 means nothing happened. + + + + flixel.input.actions.FlxAction + + + + + + + + { Destroy : true } + + + + + + + + + * Remove an action to a particular action set + * @param Action The FlxAction you want to remove + * @param ActionSet The index of the FlxActionSet you want to remove + * @return whether it was successfully removed + + + + + + + + + + + + + + + + + + + + + + + + + + flixel.input.actions.FlxSteamController + + + + + * High level input manager for `FlxAction`s. This lets you manage multiple input + * devices and action sets, and is the only supported method for natively using + * the Steam Controller API. + * + * Once you've set up `FlxActionManager`, you can let flixel handle it globally + * with: `FlxG.inputs.add(myFlxActionManager)`; + * + * If you don't add it globally, you will have to call `update()` on it yourself. + * + * If you are using the steamwrap library, `FlxActionManager` can automatically + * create action sets from a steamwrap object derived from the master vdf game + * actions file that Steam makes you set up for native controller support. + * You must then ACTIVATE one of those action sets for any connected steam + * controllers, which will automatically attach the proper steam action inputs + * to the actions in the set. You can also add as many regular `FlxActionInput`s + * as you like to any actions in the sets. + * + * @since 4.6.0 + + + + + + + -1 + * The current action set for the mouse + + + + -1 + * The current action set for the keyboard + + + + -1 + * The current action set for ALL gamepads + + + + -1 + * The current action set for ALL steam controllers + + + + * Maps individual gamepad ID's to different action sets + + + + * Maps individual steam controller handles to different action sets + + + + + + + + + + { DeviceID : FlxInputDeviceID.FIRST_ACTIVE } + + + + + + + + + + + + + + + + + + + + + + { DoActivate : true, DeviceID : FlxInputDeviceID.FIRST_ACTIVE } + + + + + + + ********PRIVATE******* + + + + + + + + + flixel.input.actions.FlxAction + + + + + + + + + flixel.input.actions.FlxAction + + + + + + + + + + + * Helper function to properly update the action sets with proper steam inputs + + + + + + + + + * Attach this controller to a new action set, remove it from the old action set, update internal steam inputs accordingly + * @param controllerHandle steam controller handle (guaranteed not to be FlxInputDeviceID.ALL or FlxInputDeviceID.FIRST_ACTIVE) + * @param newSet the action set handle of the new set to attach to + + + + + + + + * Go through all action sets and mark them as active if any device is + * subscribed to one of their actions. (Assumes you've previously set + * them all to active=false earlier in the udpate loop) + * @param device + * @param sets + + + + + + + + { ActionSet : -1 } + + + * internal helper class + + + flixel.input.actions.FlxActionManager + + + + + + + + * @since 4.6.0 + + + + + + + + + + + + + + + + + * @since 4.6.0 + + + * Do not reset any action sets. + * Reset all action sets. + * Only reset the default action set (created automatically by adding actions to the action manager without first defining an action set) + * @since 4.6.0 + + + + + + + + + * The maximum number of controllers that can be connected + + + + * The maximum number of origins (input glyphs, basically) that can be assigned to an action + + + + 0.25 + * The wait time between polls for connected controllers + + + + 1.0 + * The wait time between polls for action origins (checking which input glyphs are associated with an action, in case the player has re-configured them) + + + + + null + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + flixel.input.actions + + + + + + + + + + + + + + + + -1 + + + + -1 + + + + false + + + + (0)]]> + + + flixel.input.actions + + + + + + 0.0 + + + + 0.0 + + + + + + + + flixel.input.actions + + + + + + + * The device name. Used to determine the `model`. + + + + * The gamepad model used for the mapping of the IDs. + * Defaults to `detectedModel`, but can be changed manually. + + + + * The gamepad model this gamepad has been identified as. + + + + * The mapping that is used to map the raw hardware IDs to the values in `FlxGamepadInputID`. + * Determined by the current `model`. + * It's also possible to create a custom mapping and assign it here. + + + + true + + + + * For gamepads that can have things plugged into them (the Wii Remote, basically). + * Making the user set this helps Flixel properly interpret inputs properly. + * EX: if you plug a nunchuk into the Wii Remote, you will get different values for + * certain buttons than with the Wii Remote alone. + * (This is probably why Wii games ask the player what control scheme they are using.) + * + * In the future, this could also be used for any attachment that exposes new API features + * to the controller, e.g. a microphone or headset + + + + * Gamepad deadzone. The lower, the more sensitive the gamepad. + * Should be between 0.0 and 1.0. Defaults to 0.15. + + + + INDEPENDENT_AXES + * Which dead zone mode to use for analog sticks. + + + + * Helper class to check if a button is pressed. + + + + * Helper class to check if a button is released + + + + * Helper class to check if a button was just pressed. + + + + * Helper class to check if a button was just released. + + + + * Helper class to get the justMoved, justReleased, and float values of analog input. + + + + * Helper class to get the float values of motion-sensing input, if it is supported + + + + * Helper class to get the float values of mouse-like pointer input, if it is supported. + * (contains continously updated X and Y coordinates, each between 0.0 and 1.0) + + + + [for (i in 0 ... 6) 0] + + + + false + + + <_deadZone expr="0.15"> + + 0.15 + + <_device> + + + [] + + + + + + + + + + + + + * Updates the key states (for tracking just pressed, just released, etc). + + + + + + + + + + * Check the status of a "universal" button ID, auto-mapped to this gamepad (something like FlxGamepadInputID.A). + * + * @param ID "universal" gamepad input ID + * @param Status The key state to check for + * @return Whether the provided button has the specified status + + + + + + + + * Check the status of a raw button ID (like XInputID.A). + * + * @param RawID Index into buttons array. + * @param Status The key state to check for + * @return Whether the provided button has the specified status + + + + + + + + * Helper function to check the status of an array of buttons + * + * @param IDArray An array of button IDs + * @param State The button state to check for + * @return Whether at least one of the keys has the specified status + + + + + + + + * Helper function to check the status of an array of buttons + * + * @param IDArray An array of keys as Strings + * @param State The key state to check for + * @return Whether at least one of the keys has the specified status + + + + + + + * Check if at least one button from an array of button IDs is pressed. + * + * @param IDArray An array of "universal" gamepad input IDs + * @return Whether at least one of the buttons is pressed + + + + + + + * Check if at least one button from an array of raw button IDs is pressed. + * + * @param RawIDArray An array of raw button IDs + * @return Whether at least one of the buttons is pressed + + + + + + + * Check if at least one button from an array of universal button IDs was just pressed. + * + * @param IDArray An array of "universal" gamepad input IDs + * @return Whether at least one of the buttons was just pressed + + + + + + + * Check if at least one button from an array of raw button IDs was just pressed. + * + * @param RawIDArray An array of raw button IDs + * @return Whether at least one of the buttons was just pressed + + + + + + + * Check if at least one button from an array of gamepad input IDs was just released. + * + * @param IDArray An array of "universal" gamepad input IDs + * @return Whether at least one of the buttons was just released + + + + + + + * Check if at least one button from an array of raw button IDs was just released. + * + * @param RawArray An array of raw button IDs + * @return Whether at least one of the buttons was just released + + + + * Get the first found "universal" ID of the button which is currently pressed. + * Returns NONE if no button is pressed. + + + + * Get the first found raw ID of the button which is currently pressed. + * Returns -1 if no button is pressed. + + + + * Get the first found "universal" ButtonID of the button which has been just pressed. + * Returns NONE if no button was just pressed. + + + + * Get the first found raw ID of the button which has been just pressed. + * Returns -1 if no button was just pressed. + + + + * Get the first found "universal" ButtonID of the button which has been just released. + * Returns NONE if no button was just released. + + + + * Get the first found raw ID of the button which has been just released. + * Returns -1 if no button was just released. + + + + + + + * Gets the value of the specified axis using the "universal" ButtonID - + * use this only for things like FlxGamepadButtonID.LEFT_TRIGGER, + * use getXAxis() / getYAxis() for analog sticks! + + + + + + + * Gets the value of the specified axis using the raw ID - + * use this only for things like XInputID.LEFT_TRIGGER, + * use getXAxis() / getYAxis() for analog sticks! + + + + + + + + + + + + + + + * Given a ButtonID for an analog stick, gets the value of its x axis + * @param AxesButtonID an analog stick like FlxGamepadButtonID.LEFT_STICK + + + + + + + * Given both raw IDs for the axes of an analog stick, gets the value of its x axis + + + + + + + * Given a ButtonID for an analog stick, gets the value of its y axis + * @param AxesButtonID an analog stick like FlxGamepadButtonID.LEFT_STICK + + + + + + + * Given both raw ID's for the axes of an analog stick, gets the value of its Y axis + * (should be used in flash to correct the inverted y axis) + + + + + + + * Convenience method that wraps `getXAxis()` and `getYAxis()` into a `FlxVector`. + * + * @param AxesButtonID an analog stick like `FlxGamepadButtonID.LEFT_STICK` + * @since 4.3.0 + + + + + + + { state : PRESSED } + * Whether any buttons have the specified input state. + + + + * Check to see if any buttons are pressed right or Axis, Ball and Hat moved now. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { sign : 1.0 } + + + + + + + + + + + + + + + + + + + + + + + + + * @since 4.8.0 + + + + + + + + + + + + flixel.input.gamepad + + + + * The value of each axis is compared to the deadzone individually. + * Works better when an analog stick is used like arrow keys for 4-directional-input. + * X and y are combined against the deadzone combined. + * Works better when an analog stick is used as a two-dimensional control surface. + + + + + + + + + + + + + + + * @since 4.8.0 + * @since 4.8.0 + * @since 4.8.0 + + + + + + + + + + + + + + + + + + + + + -1 + * a raw button input ID, for sending a digital event for "up" alongside the analog event + + + + -1 + * a raw button input ID, for sending a digital event for "down" alongside the analog event + + + + -1 + * a raw button input ID, for sending a digital event for "left" alongside the analog event + + + + -1 + * a raw button input ID, for sending a digital event for "right" alongside the analog event + + + + 0.5 + * the absolute value the dpad must be greater than before digital inputs are sent + + + + BOTH + * when analog inputs are received, how to process them digitally + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * Send both digital and analog events when the analog stick is moved + * Send only digital events when the analog stick is moved + * Send only analog events when the analog stick is moved + + + + + + + + + + 0 + * Optional analog value, so we can check when the value has changed from the last frame + + + + + + + + + + + + + + + + + + * A high-level list of unique values for gamepad inputs. + * These do NOT correspond to any actual hardware values but + * are the basis for all hardware-specific lookups. + * + * Maps enum values and strings to unique integer codes + + + + + + + + FlxMacroUtil.buildMap("flixel.input.gamepad.FlxGamepadInputID") + + + + + + + FlxMacroUtil.buildMap("flixel.input.gamepad.FlxGamepadInputID", true) + + + + + cast -2 + + + + + + + + cast -1 + + + + + + + + cast 0 + + + + BOTTOM face button + + + + + cast 1 + + + + RIGHT face button + + + + + cast 2 + + + + LEFT face button + + + + + cast 3 + + + + TOP face button + + + + + cast 4 + + + + left digital "bumper" + + + + + cast 5 + + + + right digital "bumper" + + + + + cast 6 + + + + also known as "select", the leftmost center button + + + + + cast 7 + + + + the rightmost center button + + + + + cast 8 + + + + digital click of the left analog stick + + + + + cast 9 + + + + digital click of the right analog stick + + + + + cast 10 + + + + this is the "XBox" or "PS" or "home" button in the center + + + + + cast 11 + + + + + + + + cast 12 + + + + + + + + cast 13 + + + + + + + + cast 14 + + + + + + + + cast 15 + + + + digital click at end of left analog trigger's squeeze (if available) + + + + + cast 16 + + + + digital click at end of right analog trigger's squeeze (if available) + + + + + cast 17 + + + + + + + + cast 18 + + + + + + + + cast 19 + + + + identifier for the entire LEFT_ANALOG_STICK itself, not just any particular direction + + + + + cast 20 + + + + identifier for the entire RIGHT_ANALOG_STICK itself, not just any particular direction + + + + + cast 21 + + + + identifier for the entire DPAD itself, not just any particular button + + + + + cast 26 + + + + tilting towards or away from the ceiling (think "look up", "look down") + + + + + cast 27 + + + + tilting side-to-side (think "twisting", or "do a barrel roll!") + + + + + cast 28 + + + + for a mouse-like input such as touch or IR camera. Horizontal axis. + + + + + cast 29 + + + + for a mouse-like input such as touch or IR camera. Vertical axis. + + + + + cast 30 + + + + an extra digital button that doesn't fit cleanly into the universal template + + + + + cast 31 + + + + an extra digital button that doesn't fit cleanly into the universal template + + + + + cast 32 + + + + an extra digital button that doesn't fit cleanly into the universal template + + + + + cast 33 + + + + an extra digital button that doesn't fit cleanly into the universal template + + + + + cast 34 + + + + left analog stick as a dpad, pushed up + + + + + cast 35 + + + + left analog stick as a dpad, pushed right + + + + + cast 36 + + + + left analog stick as a dpad, pushed down + + + + + cast 37 + + + + left analog stick as a dpad, pushed left + + + + + cast 38 + + + + left analog stick as a dpad, pushed up + + + + + cast 39 + + + + left analog stick as a dpad, pushed right + + + + + cast 40 + + + + left analog stick as a dpad, pushed down + + + + + cast 41 + + + + left analog stick as a dpad, pushed left + + + + + + + + + + + + + + + + + + + + + + + + + + + + FlxMacroUtil.buildMap("flixel.input.gamepad.FlxGamepadInputID") + + + + + + + FlxMacroUtil.buildMap("flixel.input.gamepad.FlxGamepadInputID", true) + + + + + cast -2 + + + + + + + + cast -1 + + + + + + + + cast 0 + + + + BOTTOM face button + + + + + cast 1 + + + + RIGHT face button + + + + + cast 2 + + + + LEFT face button + + + + + cast 3 + + + + TOP face button + + + + + cast 4 + + + + left digital "bumper" + + + + + cast 5 + + + + right digital "bumper" + + + + + cast 6 + + + + also known as "select", the leftmost center button + + + + + cast 7 + + + + the rightmost center button + + + + + cast 8 + + + + digital click of the left analog stick + + + + + cast 9 + + + + digital click of the right analog stick + + + + + cast 10 + + + + this is the "XBox" or "PS" or "home" button in the center + + + + + cast 11 + + + + + + + + cast 12 + + + + + + + + cast 13 + + + + + + + + cast 14 + + + + + + + + cast 15 + + + + digital click at end of left analog trigger's squeeze (if available) + + + + + cast 16 + + + + digital click at end of right analog trigger's squeeze (if available) + + + + + cast 17 + + + + + + + + cast 18 + + + + + + + + cast 19 + + + + identifier for the entire LEFT_ANALOG_STICK itself, not just any particular direction + + + + + cast 20 + + + + identifier for the entire RIGHT_ANALOG_STICK itself, not just any particular direction + + + + + cast 21 + + + + identifier for the entire DPAD itself, not just any particular button + + + + + cast 26 + + + + tilting towards or away from the ceiling (think "look up", "look down") + + + + + cast 27 + + + + tilting side-to-side (think "twisting", or "do a barrel roll!") + + + + + cast 28 + + + + for a mouse-like input such as touch or IR camera. Horizontal axis. + + + + + cast 29 + + + + for a mouse-like input such as touch or IR camera. Vertical axis. + + + + + cast 30 + + + + an extra digital button that doesn't fit cleanly into the universal template + + + + + cast 31 + + + + an extra digital button that doesn't fit cleanly into the universal template + + + + + cast 32 + + + + an extra digital button that doesn't fit cleanly into the universal template + + + + + cast 33 + + + + an extra digital button that doesn't fit cleanly into the universal template + + + + + cast 34 + + + + left analog stick as a dpad, pushed up + + + + + cast 35 + + + + left analog stick as a dpad, pushed right + + + + + cast 36 + + + + left analog stick as a dpad, pushed down + + + + + cast 37 + + + + left analog stick as a dpad, pushed left + + + + + cast 38 + + + + left analog stick as a dpad, pushed up + + + + + cast 39 + + + + left analog stick as a dpad, pushed right + + + + + cast 40 + + + + left analog stick as a dpad, pushed down + + + + + cast 41 + + + + left analog stick as a dpad, pushed left + + + + + + + + + + + + + + + + + + + + + + + + + true + Indicates whether the current platform supports the GameInput API. + + + + 0 + Provides the number of connected input devices. When a device is connected, the + `GameInputEvent.DEVICE_ADDED` event is fired. + + <__deviceList expr="new Array()" line="80" static="1"> + + + new Array() + + + + <__instances expr="[]" line="81" static="1"> + + + [] + + + + <__devices expr="new Map()" line="83" static="1"> + + + + + + new Map() + + + + + + + + + Gets the input device at the specified index location in the list of connected + input devices. + + The order of devices in the index may change whenever a device is added or removed. + You can check the name and id properties on a GameInputDevice object to match a + specific input device. + + @param index The index position in the list of input devices. + @returns The specified GameInputDevice. + @throws RangeError When the provided index is less than zero or greater than + (`numDevices` - 1). + + <__getDevice set="method" line="133" static="1"> + + + + + + + <__onGamepadAxisMove set="method" line="150" static="1"> + + + + + + + + + <__onGamepadButtonDown set="method" line="172" static="1"> + + + + + + + + <__onGamepadButtonUp set="method" line="194" static="1"> + + + + + + + + <__onGamepadConnect set="method" line="216" static="1"> + + + + + + + <__onGamepadDisconnect set="method" line="229" static="1"> + + + + + + + + + + + + + + + + + + + + { useWeakReference : false, priority : 0, useCapture : false } + "checkstyle:Dynamic" + + + + The GameInput class is the entry point into the GameInput API. You can use this API to + manage the communications between an application and game input devices (for example: + joysticks, gamepads, and wands). + + The main purpose of this class is to provide access to the supported input devices that + are connected to your application platform. This static class enumerates the connected + input devices in a list. You access a device from the list using the + `getDeviceAt(index:Int)` method. + + The `numDevices` property provides the number of input devices currently connected to + your platform. Use this value to determine the upper bound of the list of devices. + + Use an instance of this class to listen for events that notify you about the addition + and removal of input devices. To listen these events, do the following: + + 1. Create an instance of the GameInput class. + 2. Add event listeners for the `GameInputEvent.DEVICE_ADDED` and + `GameInputEvent.DEVICE_REMOVED` events. (Events can only be registered on an instance + of the class.) + + This class also features the `isSupported` flag, which indicates whether the GameInput + API is supported on your platform. + + For more information, see the Adobe Air Developer Center article: Game controllers on + Adobe AIR. + + For Android, this feature supports a minimum Android OS version of 4.1 and requires the + minimum SWF version 20 and namespace 3.7. For iOS, this feature supports a minimum iOS + version of 9.0 and requires the minimum SWF version 34 and namespace 23.0. + + **How to Detect One Game Input Device From Among Identical Devices** + + A common requirement for two-or-more player games is detecting one device from among + identical devices. For example, applications sometimes must determine which device + represents "Player 1", "Player 2", ..., "Player N". + + Solution: + + 1. Add event listeners to every control on all undetected input devices. These event + listeners listen for `Event.CHANGE` events, which are dispatched whenever a control + value changes. + 2. The first time any control is activated (for example a button press or trigger pull) + the application labels that device. + 3. Remove all of the event listeners from the remaining undetected input devices. + 4. Repeat steps 1-3 as required to identify the rest of the undetected input devices. + + + "tags=\"haxe,release\"" + + openfl.ui.GameInputControl + openfl.ui.GameInputDevice + + + + + + <_gameInput expr="new GameInput()" line="68" static="1"> + + new GameInput() + * GameInput needs to be statically created, otherwise GameInput.numDevices will be zero during construction. + + + + * The first accessed gamepad - can be `null`! + + + + * The last accessed gamepad - can be `null`! + + + + * A counter for the number of active gamepads + + + + * Global Gamepad deadzone. The lower, the more sensitive the gamepad. Should be + * between 0.0 and 1.0. Null by default, overrides the deadzone of gamepads if non-null. + + + + + + + * Signal for when a device is connected; returns the connected gamepad object to the attached listener + * @since 4.6.0 + + + + + + + * Signal for when a device is disconnected; returns the id of the disconnected gamepad to the attached listener + * @since 4.6.0 + + <_gamepads expr="[]"> + + [] + * Stores all gamepads - can have null entries, but index matches event.device + + <_activeGamepads expr="[]"> + + [] + * Stores all gamepads - no null entries, but index does *not* match event.device + + + + + + + * Returns a FlxGamepad with the specified ID or null if none was found. + * For example, if there are 4 gamepads connected, they will have the IDs 0-3. + + + + + + + + + + + + + + + + * Get array of ids for gamepads with any pressed buttons or moved Axis, Ball and Hat. + * + * @param IDsArray optional array to fill with ids + * @return array filled with active gamepad ids + + + + + + + * Get array of gamepads with any pressed buttons or moved Axis, Ball and Hat. + * + * @param GamepadArray optional array to fill with active gamepads + * @return array filled with active gamepads + + + + * Get first found active gamepad id (with any pressed buttons or moved Axis, Ball and Hat). + * Returns "-1" if no active gamepad has been found. + + + + * Get first found active gamepad (with any pressed buttons or moved Axis, Ball and Hat). + * Returns null if no active gamepad has been found. + + + + + + + { state : PRESSED } + * Whether any buttons have the specified input state on any gamepad. + + + + * Whether there's any input at all on any gamepad. + + + + + + + * Whether this button is pressed on any gamepad. + + + + + + + * Whether this button was just pressed on any gamepad. + + + + + + + * Whether this button was just released on any gamepad. + + + + + + + + + + + + * Check to see if the X axis is moved on any Gamepad. + * + * @param AxisID The axis id + * @return Float Value from -1 to 1 or 0 if no X axes were moved + + + + + + + * Check to see if the Y axis is moved on any Gamepad. + * + * @param AxisID The axis id + * @return Float Value from -1 to 1 or 0 if no Y axes were moved + + + + + * Clean up memory. Internal use only. + + + + * Resets all the keys on all joys. + + + + + + + + + + + + + + + + + + + + + + + + + + + + * Updates the key states (for tracking just pressed, just released, etc). + + + + + + + flixel.FlxG + + + + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + -5 + + + + new FlxGamepadAnalogStick(0, 1, { up : 24, down : 25, left : 26, right : 27 }) + + + + new FlxGamepadAnalogStick(2, 3, { up : 28, down : 29, left : 30, right : 31 }) + + * IDs for Logitech controllers (key codes based on Cordless Rumblepad 2) + + + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 15 + + + + 16 + + + + 10 + + + + 12 + + + + 13 + + + + 14 + + + + 11 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + new FlxGamepadAnalogStick(0, 1, { up : 21, down : 22, left : 23, right : 24 }) + + + + new FlxGamepadAnalogStick(2, 3, { up : 25, down : 26, left : 27, right : 28 }) + + + + 4 + + + + 5 + + * IDs for MFi controllers + + + + + + 8 + * Things to add: + * - Accelerometer (in both remote and nunchuk) + * - Gyroscope (in Motion-Plus version only) + * - IR camera (position tracking) + * - Rumble + * - Speaker + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 19 + + + + 14 + + + + 15 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 12 + + + + 13 + + + + 19 + + + + 10 + + + + 11 + + + + 8 + + + + 9 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 19 + + + + -1 + + + + -1 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 2 + + + + 3 + + + + new FlxGamepadAnalogStick(0, 1, { up : REMOTE_DPAD_UP, down : REMOTE_DPAD_DOWN, left : REMOTE_DPAD_LEFT, right : REMOTE_DPAD_RIGHT, threshold : 0.5, mode : ONLY_DIGITAL }) + + + + new FlxGamepadAnalogStick(0, 1, { up : 26, down : 27, left : 28, right : 29 }) + + + + new FlxGamepadAnalogStick(2, 3, { up : 26, down : 27, left : 28, right : 29 }) + + + + 4 + + + + 5 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + * WiiRemote hardware input ID's when using "Mode 3" of the MayFlash DolphinBar accessory + * + * @author larsiusprime + + + + + + 6 + + + + 8 + + + + 9 + + + + 7 + + + + 15 + + + + 16 + + + + 13 + + + + 14 + + + + 0x01000012 + + + + 4 + + + + 5 + + + + 19 + + + + 20 + + + + 18 + + + + 17 + + + + new FlxGamepadAnalogStick(0, 1, { up : 23, down : 24, left : 25, right : 26 }) + + + + new FlxGamepadAnalogStick(2, 3, { up : 27, down : 28, left : 29, right : 30 }) + + * IDs for OUYA controllers + + + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 10 + + + + new FlxGamepadAnalogStick(0, 1, { up : 22, down : 23, left : 24, right : 25 }) + + + + new FlxGamepadAnalogStick(2, 3, { up : 26, down : 27, left : 28, right : 29 }) + + + + 30 + + + + 4 + + + + 5 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + * IDs for PlayStation 4 controllers + * + *------- + * NOTES + *------- + * + * WINDOWS: seems to work fine without any special drivers on Windows 10 (and I seem to recall the same on Windows 7). + * DS4Windows is the popular 3rd-party utility here, but it will make the PS4 controller look like a 360 controller, which + * means that it will be indistinguishable from an XInput device to flixel (DS4Windows: http://ds4windows.com). + * + * LINUX: the PS4 controller will be detected as an XInput device when using xpad (see notes in XInputID.hx) + * + * MAC: the PS4 controller seemed to work perfectly without anything special installed, and was not detected in the 360Controller + * control panel, so it might just work right out of the box! + + + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + + 12 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + new FlxGamepadAnalogStick(0, 1, { up : 21, down : 22, left : 23, right : 24 }) + + + + new FlxGamepadAnalogStick(2, 3, { up : 25, down : 26, left : 27, right : 28 }) + + * Native PSVita input values. + * (The only way to use these is to actually be using a PSVita with the upcoming openfl vita target!) + * + * This will ONLY work with the gamepad API (available only in OpenFL "next", not "legacy") and will NOT work with the joystick API + + + + + + 4 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 12 + + + + 13 + + + + 15 + + + + 16 + + + + 21 + + + + new FlxGamepadAnalogStick(0, 1, { up : 22, down : 23, left : 24, right : 25 }) + + * IDs for Switch's Left JoyCon controllers + * + *------- + * NOTES + *------- + * + * WINDOWS: untested. + * + * LINUX: untested. + * + * MAC: Worked on html out of box for me when connected via microUSB cable or Bluetooth. + * Flash and neko couldn't detect the controller via bluetooth, + * which is weird because The pro worked wirelessly. + * + * @since 4.8.0 + + + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 15 + + + + 16 + + + + new FlxGamepadAnalogStick(0, 1, { up : 22, down : 23, left : 24, right : 25 }) + + * IDs for Switch's Right JoyCon controllers + * + *------- + * NOTES + *------- + * + * WINDOWS: untested. + * + * LINUX: untested. + * + * MAC: Worked on html out of box for me when connected via microUSB cable or Bluetooth. + * Flash and neko couldn't detect the controller via bluetooth, + * which is weird because The pro worked wirelessly. + * + * @since 4.8.0 + + + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + new FlxGamepadAnalogStick(0, 1, { up : 22, down : 23, left : 24, right : 25 }) + + + + new FlxGamepadAnalogStick(2, 3, { up : 26, down : 27, left : 28, right : 29 }) + + * IDs for Switch Pro controllers + * + *------- + * NOTES + *------- + * + * WINDOWS: untested. + * + * LINUX: untested + * + * MAC: Worked out of box for me when connected via microUSB cable or Bluetooth + * + * @since 4.8.0 + + + + + + 9 + * Things to add: + * - Accelerometer (in both remote and nunchuk) + * - Gyroscope (in Motion-Plus version only) + * - IR camera (position tracking) + * - Rumble + * - Speaker + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 2 + + + + 3 + + + + 3 + + + + 2 + + + + 4 + + + + 4 + + + + new FlxGamepadAnalogStick(0, 1, { up : REMOTE_DPAD_UP, down : REMOTE_DPAD_DOWN, left : REMOTE_DPAD_LEFT, right : REMOTE_DPAD_RIGHT, threshold : 0.5, mode : ONLY_DIGITAL }) + + + + new FlxGamepadAnalogStick(0, 1, { up : 28, down : 29, left : 30, right : 31 }) + * the nunchuk only has the "left" analog stick + + + + new FlxGamepadAnalogStick(2, 3, { up : 32, down : 33, left : 34, right : 35 }) + * the classic controller has both the "left" and "right" analog sticks + + + + 4 + + + + 5 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 27 + + * WiiRemote hardware input ID's when using the device directly + * Hardware ID's: "Nintendo RVL-CNT-01-TR" and "Nintendo RVL-CNT-01" -- the latter does not have the Motion-Plus attachment + * + * NOTE: On Windows this requires the HID-Wiimote driver by Julian Löhr, available here: + * https://github.com/jloehr/HID-Wiimote + * + * @author larsiusprime + + + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + -1 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + new FlxGamepadAnalogStick(0, 1, { up : 21, down : 22, left : 23, right : 24 }) + + + + new FlxGamepadAnalogStick(2, 3, { up : 25, down : 26, left : 27, right : 28 }) + + + + 4 + + + + 5 + + * IDs for generic XInput controllers + * + * Compatible with the Xbox 360 controller, the Xbox One controller, and anything that masquerades as either of those. + * + *------- + * NOTES + *------- + * + * WINDOWS: we assume the user is using the default drivers that ship with windows. + * + * LINUX: we assume the user is using the xpad driver, specifically Valve's version, steamos-xpad-dkms + * (we got weird errors when using xboxdrv). For full instructions on installation, see: + * http://askubuntu.com/questions/165210/how-do-i-get-an-xbox-360-controller-working/441548#441548 + * + * MAC: we assume the user is using the 360 Controller driver, specifically this one: + * https://github.com/360Controller/360Controller/releases + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * A helper class for gamepad input. + * Provides optimized gamepad button checking using direct array access. + + + + + + + + + + + + + + + + + + + + + + + + + + * Checks if the entire stick itself is in the given state + + + + + + + + + + + + + + + + + + + + * A helper class for gamepad input. + * Provides optimized gamepad button checking using direct array access. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * A helper class for gamepad input. + * Provides optimized gamepad button checking using direct array access. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * A helper class for gamepad input. + * Provides optimized gamepad button checking using direct array access. + + + + + + + flixel.input.gamepad.FlxGamepad + + + + * analog value (-1.0 to +1.0) tilting towards or away from the ceiling (think "look up", "look down") + + + + + * analog value (-1.0 to +1.0) tilting side-to-side (think "twisting", or "do a barrel roll!") + + + + + + + + + + + + * A helper class for gamepad input. + * Provides optimized gamepad button checking using direct array access. + + + + + + + + + + flixel.input.gamepad.FlxGamepad + * whether or not the current gamepad model supports any pointer features (IR Camera, touch surface, etc) + + + + * horizontal position (0.0-1.0) on the touch-surface or pointer-space + + + + + * vertical position (0.0-1.0) on the touch-surface or pointer-space + + + + + + + + + + + + * A helper class for gamepad input -- returns X/Y analog coordinate values between 0.0 and 1.0 + * Provides optimized gamepad button checking using direct array access. + + + + + + + + + false + + + + false + + + + + + + NONE + flixel.input.gamepad.FlxGamepad + + + + + + + + + + + + + + * Given a raw hardware code, return the "universal" ID + + + + + + + * Given an ID, return the raw hardware code + + + + + + + * Whether this axis needs to be flipped + + + + + + + + + + + + + + + + + + + + + + + + + "checkstyle:MemberName" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * @since 4.8.0 + + + + + + + + + + + + + + + + + + + + + + * @since 4.8.0 + + + + + + + + + + + + + + + + + + + + + + * @since 4.8.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * Maps enum values and strings to integer keycodes. + + + + + + + + FlxMacroUtil.buildMap("flixel.input.keyboard.FlxKey") + + + + + + + FlxMacroUtil.buildMap("flixel.input.keyboard.FlxKey", true) + + + + + cast -2 + + + + + + + + cast -1 + + + + + + + + cast 65 + + + + + + + + cast 66 + + + + + + + + cast 67 + + + + + + + + cast 68 + + + + + + + + cast 69 + + + + + + + + cast 70 + + + + + + + + cast 71 + + + + + + + + cast 72 + + + + + + + + cast 73 + + + + + + + + cast 74 + + + + + + + + cast 75 + + + + + + + + cast 76 + + + + + + + + cast 77 + + + + + + + + cast 78 + + + + + + + + cast 79 + + + + +

+ + + cast 80 + + + +

+ + + + cast 81 + + + + + + + + cast 82 + + + + + + + + cast 83 + + + + + + + + cast 84 + + + + + + + + cast 85 + + + + + + + + cast 86 + + + + + + + + cast 87 + + + + + + + + cast 88 + + + + + + + + cast 89 + + + + + + + + cast 90 + + + + + + + + cast 48 + + + + + + + + cast 49 + + + + + + + + cast 50 + + + + + + + + cast 51 + + + + + + + + cast 52 + + + + + + + + cast 53 + + + + + + + + cast 54 + + + + + + + + cast 55 + + + + + + + + cast 56 + + + + + + + + cast 57 + + + + + + + + cast 33 + + + + + + + + cast 34 + + + + + + + + cast 36 + + + + + + + + cast 35 + + + + + + + + cast 45 + + + + + + + + cast 27 + + + + + + + + cast 189 + + + + + + + + cast 187 + + + + + + + + cast 46 + + + + + + + + cast 8 + + + + + + + + cast 219 + + + + + + + + cast 221 + + + + + + + + cast 220 + + + + + + + + cast 20 + + + + + + + + cast 186 + + + + + + + + cast 222 + + + + + + + + cast 13 + + + + + + + + cast 16 + + + + + + + + cast 188 + + + + + + + + cast 190 + + + + + + + + cast 191 + + + + + + + + cast 192 + + + + + + + + cast 17 + + + + + + + + cast 18 + + + + + + + + cast 32 + + + + + + + + cast 38 + + + + + + + + cast 40 + + + + + + + + cast 37 + + + + + + + + cast 39 + + + + + + + + cast 9 + + + + + + + + cast 301 + + + + + + + + cast 112 + + + + + + + + cast 113 + + + + + + + + cast 114 + + + + + + + + cast 115 + + + + + + + + cast 116 + + + + + + + + cast 117 + + + + + + + + cast 118 + + + + + + + + cast 119 + + + + + + + + cast 120 + + + + + + + + cast 121 + + + + + + + + cast 122 + + + + + + + + cast 123 + + + + + + + + cast 96 + + + + + + + + cast 97 + + + + + + + + cast 98 + + + + + + + + cast 99 + + + + + + + + cast 100 + + + + + + + + cast 101 + + + + + + + + cast 102 + + + + + + + + cast 103 + + + + + + + + cast 104 + + + + + + + + cast 105 + + + + + + + + cast 109 + + + + + + + + cast 107 + + + + + + + + cast 110 + + + + + + + + cast 106 + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + FlxMacroUtil.buildMap("flixel.input.keyboard.FlxKey") + + + + + + + FlxMacroUtil.buildMap("flixel.input.keyboard.FlxKey", true) + + + + + cast -2 + + + + + + + + cast -1 + + + + + + + + cast 65 + + + + + + + + cast 66 + + + + + + + + cast 67 + + + + + + + + cast 68 + + + + + + + + cast 69 + + + + + + + + cast 70 + + + + + + + + cast 71 + + + + + + + + cast 72 + + + + + + + + cast 73 + + + + + + + + cast 74 + + + + + + + + cast 75 + + + + + + + + cast 76 + + + + + + + + cast 77 + + + + + + + + cast 78 + + + + + + + + cast 79 + + + + +

+ + + cast 80 + + + +

+ + + + cast 81 + + + + + + + + cast 82 + + + + + + + + cast 83 + + + + + + + + cast 84 + + + + + + + + cast 85 + + + + + + + + cast 86 + + + + + + + + cast 87 + + + + + + + + cast 88 + + + + + + + + cast 89 + + + + + + + + cast 90 + + + + + + + + cast 48 + + + + + + + + cast 49 + + + + + + + + cast 50 + + + + + + + + cast 51 + + + + + + + + cast 52 + + + + + + + + cast 53 + + + + + + + + cast 54 + + + + + + + + cast 55 + + + + + + + + cast 56 + + + + + + + + cast 57 + + + + + + + + cast 33 + + + + + + + + cast 34 + + + + + + + + cast 36 + + + + + + + + cast 35 + + + + + + + + cast 45 + + + + + + + + cast 27 + + + + + + + + cast 189 + + + + + + + + cast 187 + + + + + + + + cast 46 + + + + + + + + cast 8 + + + + + + + + cast 219 + + + + + + + + cast 221 + + + + + + + + cast 220 + + + + + + + + cast 20 + + + + + + + + cast 186 + + + + + + + + cast 222 + + + + + + + + cast 13 + + + + + + + + cast 16 + + + + + + + + cast 188 + + + + + + + + cast 190 + + + + + + + + cast 191 + + + + + + + + cast 192 + + + + + + + + cast 17 + + + + + + + + cast 18 + + + + + + + + cast 32 + + + + + + + + cast 38 + + + + + + + + cast 40 + + + + + + + + cast 37 + + + + + + + + cast 39 + + + + + + + + cast 9 + + + + + + + + cast 301 + + + + + + + + cast 112 + + + + + + + + cast 113 + + + + + + + + cast 114 + + + + + + + + cast 115 + + + + + + + + cast 116 + + + + + + + + cast 117 + + + + + + + + cast 118 + + + + + + + + cast 119 + + + + + + + + cast 120 + + + + + + + + cast 121 + + + + + + + + cast 122 + + + + + + + + cast 123 + + + + + + + + cast 96 + + + + + + + + cast 97 + + + + + + + + cast 98 + + + + + + + + cast 99 + + + + + + + + cast 100 + + + + + + + + cast 101 + + + + + + + + cast 102 + + + + + + + + cast 103 + + + + + + + + cast 104 + + + + + + + + cast 105 + + + + + + + + cast 109 + + + + + + + + cast 107 + + + + + + + + cast 110 + + + + + + + + cast 106 + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * A helper class for keyboard input. + * Provides optimized key checking using direct array access. + +
+ + + + + + <_nativeCorrection> + + + + + * Function and numpad keycodes on native targets are incorrect, + * this workaround fixes that. Thanks @HaxePunk! + * @see https://github.com/openfl/openfl-native/issues/193 + + + + + + + [] + + + + + + + + + + + + + + + + flixel.system.replay.FlxReplay + * If any keys are not "released", + * this function will return an array indicating + * which keys are pressed and what state they are in. + * + * @return An array of key state data. Null if there is no data. + + + + + + + flixel.system.replay.FlxReplay + * Part of the keystroke recording system. + * Takes data about key presses and sets it into array. + * + * @param Record Array of data about key states. + + + * Keeps track of what keys are pressed and how with handy Bools or strings. + * Normally accessed via `FlxG.keys`. Example: `FlxG.keys.justPressed.A` + + + + + + + + "__ASSET__:bitmap_flixel_input_mouse__FlxMouse_GraphicCursor" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + "assets/images/ui/cursor.png" + + + + + + + + + + + + FlxPoint.get() + + + + -1 + + + + * Updates the last and current state of this mouse button. + + + + + + + + + + + + + + + + + + + + * These IDs are negative to avoid overlaps with possible touch point IDs. + + + + + + cast -1 + + + + + + + + cast -2 + + + + + + + + cast -3 + + + + + + + + + + + + cast -1 + + + + + + + + cast -2 + + + + + + + + cast -3 + + + + + + + + + <_registeredObjects expr="[]" line="46" static="1"> + + [] + + <_mouseOverObjects expr="[]" line="47" static="1"> + + [] + + <_mouseDownObjects expr="[]" line="48" static="1"> + + [] + + <_mouseClickedObjects expr="[]" line="49" static="1"> + + [] + + <_mouseClickedTime expr="-1" line="51" static="1"> + + -1 + + <_point expr="FlxPoint.get()" line="53" static="1"> + + FlxPoint.get() + + + + 500 + * The maximum amount of time between two clicks that is considered a double click, in milliseconds. + * @since 4.4.0 + + + + * As alternative you can call FlxMouseEventManager.init(). + + + + + + + + + + + + + + + + + + + + + + + + + + + { PixelPerfect : true, MouseEnabled : true, MouseChildren : false } + * Adds an object to the FlxMouseEventManager registry. Automatically initializes the plugin. + * + * @param OnMouseDown Callback when mouse is pressed down over this object. + * Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`. + * @param OnMouseUp Callback when mouse is released over this object. + * Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`. + * @param OnMouseOver Callback when mouse is this object. + * Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`. + * @param OnMouseOut Callback when mouse moves out of this object. + * Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`. + * @param MouseChildren If true, other objects overlapped by this will still receive mouse events. + * @param MouseEnabled If true, this object will receive mouse events. + * @param PixelPerfect If true, the collision check will be pixel-perfect. Only works for FlxSprites. + * @param MouseButtons The mouse buttons that can trigger callbacks. Left only by default. + + + + + + + * Removes a registered object from the registry. + + + + * Removes all registered objects from the registry. + + + + * Reorders the registered objects, using the current object drawing order. + * This should be called if you alter the draw/update order of a registered object, + * That is, if you alter the position of a registered object inside its `FlxGroup`. + * It may also be called if the objects are not registered by the same order they are + * added to `FlxGroup`. + + + + + + + + + + + * Sets the mouseDown callback associated with an object. + * + * @param OnMouseDown Callback when mouse is pressed down over this object. + * Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`. + + + + + + + + + + + * Sets the mouseUp callback associated with an object. + * + * @param OnMouseUp Callback when mouse is released over this object. + * Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`. + + + + + + + + + + + * Sets the mouseClick callback associated with an object. + * + * @param OnMouseClick Callback when mouse is pressed and released over this object. + * Must have Object as argument - e.g. `onMouseClick(object:FlxObject)`. + * @since 4.4.0 + + + + + + + + + + + * Sets the mouseDoubleClick callback associated with an object. + * + * @param OnMouseDoubleClick Callback when mouse is pressed and released over this object twice. + * Must have Object as argument - e.g. `onMouseDoubleClick(object:FlxObject)`. + * @since 4.4.0 + + + + + + + + + + + * Sets the mouseOver callback associated with an object. + * + * @param OnMouseOver Callback when mouse is over this object. + * Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`. + + + + + + + + + + + * Sets the mouseOut callback associated with an object. + * + * @param OnMouseOver Callback when mouse is moved out of this object. + * Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`. + + + + + + + + + + + * Sets the mouseMove callback associated with an object. + * + * @param OnMouseMove Callback when the mouse is moved while over this object. + * Must have Object as argument - e.g. `onMouseMove(object:FlxObject)`. + * @since 4.4.0 + + + + + + + + + + + * Sets the mouseWheel callback associated with an object. + * + * @param OnMouseWheel Callback when the mouse wheel is moved while over this object. + * Must have Object as argument - e.g. `onMouseWheel(object:FlxObject)`. + * @since 4.4.0 + + + + + + + + * Enables/disables mouse behavior for an object. + * + * @param MouseEnabled Whether this object will be tested for mouse events. + + + + + + + * Checks if a registered object is mouseEnabled. + + + + + + + + * Enables/disables mouseChildren for an object. + * + * @param MouseChildren Whether this object will allow other overlapping object to receive mouse events. + + + + + + + * Checks if an object allows mouseChildren. + + + + + + + + * @param MouseButtons The mouse buttons that can trigger callbacks. Left only by default. + + + + + + + + flixel.group.FlxTypedGroup.resolveGroup + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * Provides mouse event detection for `FlxObject` and `FlxSprite` (pixel-perfect for those). + * To use it, initialize the manager and register objects / sprites. + * + * ```haxe + * FlxG.plugins.add(new FlxMouseEventManager()); + * var object = new FlxObject(); + * FlxMouseEventManager.add( + * object, onMouseDown, onMouseUp, onMouseOver, onMouseOut); + * ``` + * + * Or simply add a new object and this plugin will initialize itself: + * + * ```haxe + * FlxMouseEventManager.add( + * object, onMouseDown, onMouseUp, onMouseOver, onMouseOut); + * ``` + * + * Also implement the callbacks with the object's type as parameters: + * + * ```haxe + * function onMouseDown(object:FlxObject) {} + * function onMouseUp(object:FlxObject) {} + * function onMouseOver(object:FlxObject) {} + * function onMouseOut(object:FlxObject) {} + * ``` + * + * @author TiagoLr (~~~ ProG4mr ~~~) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * The _unique_ ID of this touch. You should not make not any further assumptions + * about this value - IDs are not guaranteed to start from 0 or ascend in order. + * The behavior may vary from device to device. + + + + + + + + + new Point() + + + + FlxPoint.get() + + + + -1 + + + + + + + + + + * Resets the justPressed/justReleased flags and sets touch to not pressed. + + + + * Called by the internal game loop to update the just pressed/just released flags. + + + + + + + + * Function for updating touch coordinates. Called by the TouchManager. + * + * @param X stageX touch coordinate + * @param Y stageY touch coordinate + + + + + + + + + + + + + + { pointID : 0, y : 0, x : 0 } + * @param X stageX touch coordinate + * @param Y stageX touch coordinate + * @param PointID touchPointID of the touch + + * Helper class, contains and tracks touch points in your game. + * Automatically accounts for parallax scrolling, etc. + + + flixel.input.touch.FlxTouchManager + + + + + + + 0 + * The maximum number of concurrent touch points supported by the current device. + + + + * All active touches including just created, moving and just released. + + <_inactiveTouches> + + * Storage for inactive touches (some sort of cache for them). + + <_touchesCache> + + + + + * Helper storage for active touches (for faster access) + + + + + + + * WARNING: can be null if no active touch with the provided ID could be found + + + + * Return the first touch if there is one, beware of null + + + + + * Clean up memory. Internal use only. + + + + + + + * Gets all touches which were just started + * + * @param TouchArray Optional array to fill with touch objects + * @return Array with touches + + + + + + + * Gets all touches which were just ended + * + * @param TouchArray Optional array to fill with touch objects + * @return Array with touches + + + + * Resets all touches to inactive state. + + + + + + + * Event handler so FlxGame can update touches. + + + + + + + * Event handler so FlxGame can update touches. + + + + + + + * Event handler so FlxGame can update touches. + + + + + + + * Internal function for adding new touches to the manager + * + * @param Touch A new FlxTouch object + * @return The added FlxTouch object + + + + + + + + + * Internal function for touch reuse + * + * @param X stageX touch coordinate + * @param Y stageY touch coordinate + * @param PointID id of the touch + * @return A recycled touch object + + + + * Called by the internal game loop to update the touch position in the game world. + * Also updates the just pressed/just released flags. + + + + + + flixel.FlxG + + * @author Zaphod + + + + + + * Convert radians to degrees by multiplying it with this value. + + + + * Convert degrees to radians by multiplying it with this value. + + + + + + + * Keeps an angle value between -180 and +180 by wrapping it + * e.g an angle of +270 will be converted to -90 + * Should be called whenever the angle is updated on a FlxSprite to stop it from going insane. + * + * @param angle The angle value to check + * + * @return The new angle value, returns the same as the input angle if it was within bounds + + + + + + + * Converts a Radian value into a Degree + * Converts the radians value into degrees and returns + * + * @param radians The value in radians + * @return Degrees + + + + + + + * Converts a Degrees value into a Radian + * Converts the degrees value into radians and returns + * + * @param degrees The value in degrees + * @return Radians + + + + + + + + + { AsDegrees : false } + * Find the angle (in radians) between the two FlxSprite, taking their x/y and origin into account. + * The angle is calculated in clockwise positive direction (down = 90 degrees positive, right = 0 degrees positive, up = 90 degrees negative) + * + * @param SpriteA The FlxSprite to test from + * @param SpriteB The FlxSprite to test to + * @param AsDegrees If you need the value in degrees instead of radians, set to true + * @return The angle (in radians unless asDegrees is true) + + + + + + + + + { AsDegrees : false } + * Find the angle (in radians) between an FlxSprite and an FlxPoint. The source sprite takes its x/y and origin into account. + * The angle is calculated in clockwise positive direction (down = 90 degrees positive, right = 0 degrees positive, up = 90 degrees negative) + * + * @param Sprite The FlxSprite to test from + * @param Target The FlxPoint to angle the FlxSprite towards + * @param AsDegrees If you need the value in degrees instead of radians, set to true + * @return The angle (in radians unless AsDegrees is true) + + + + + + + + { AsDegrees : false } + * Find the angle (in radians) between an FlxSprite and the mouse, taking their x/y and origin into account. + * The angle is calculated in clockwise positive direction (down = 90 degrees positive, right = 0 degrees positive, up = 90 degrees negative) + * + * @param Object The FlxObject to test from + * @param AsDegrees If you need the value in degrees instead of radians, set to true + * @return The angle (in radians unless AsDegrees is true) + + + + + + + + + { AsDegrees : false } + * Find the angle (in radians) between an FlxSprite and a FlxTouch, taking their x/y and origin into account. + * The angle is calculated in clockwise positive direction (down = 90 degrees positive, right = 0 degrees positive, up = 90 degrees negative) + * + * @param Object The FlxObject to test from + * @param Touch The FlxTouch to test to + * @param AsDegrees If you need the value in degrees instead of radians, set to true + * @return The angle (in radians unless AsDegrees is true) + + + + + + + + { AsDegrees : false } + * Translate an object's facing to angle. + * + * @param FacingBitmask Bitmask from which to calculate the angle, as in FlxSprite::facing + * @param AsDegrees If you need the value in degrees instead of radians, set to true + * @return The angle (in radians unless AsDegrees is true) + + + + + + + + + * Convert polar coordinates (radius + angle) to cartesian coordinates (x + y) + * + * @param Radius The radius + * @param Angle The angle, in degrees + * @param point Optional FlxPoint if you don't want a new one created + * @return The point in cartesian coords + + + + + + + + + * Convert cartesian coordinates (x + y) to polar coordinates (radius + angle) + * + * @param X x position + * @param Y y position + * @param point Optional FlxPoint if you don't want a new one created + * @return The point in polar coords (x = Radius (degrees), y = Angle) + + + + * A set of functions related to angle calculations. + + + + + + + + + + 5e-324 + * Minimum value of a floating point number. + + + + 1.79e+308 + * Maximum value of a floating point number. + + + + -MAX_VALUE_INT + * Minimum value of an integer. + + + + 0x7FFFFFFF + * Maximum value of an integer. + + + + 1.41421356237 + * Approximation of `Math.sqrt(2)`. + + + + 0.0000001 + * Used to account for floating-point inaccuracies. + + + + + + + + * Round a decimal number to have reduced precision (less decimal numbers). + * + * ```haxe + * roundDecimal(1.2485, 2) = 1.25 + * ``` + * + * @param Value Any number. + * @param Precision Number of decimals the result should have. + * @return The rounded value of that number. + + + + + + + + + * Bound a number by a minimum and maximum. Ensures that this number is + * no smaller than the minimum, and no larger than the maximum. + * Leaving a bound `null` means that side is unbounded. + * + * @param Value Any number. + * @param Min Any number. + * @param Max Any number. + * @return The bounded value of the number. + + + + + + + + + * Returns the linear interpolation of two numbers if `ratio` + * is between 0 and 1, and the linear extrapolation otherwise. + * + * Examples: + * + * ```haxe + * lerp(a, b, 0) = a + * lerp(a, b, 1) = b + * lerp(5, 15, 0.5) = 10 + * lerp(5, 15, -1) = -5 + * ``` + + + + + + + + + * Checks if number is in defined range. A null bound means that side is unbounded. + * + * @param Value Number to check. + * @param Min Lower bound of range. + * @param Max Higher bound of range. + * @return Returns true if Value is in range. + + + + + + + * Returns `true` if the given number is odd. + + + + + + + * Returns `true` if the given number is even. + + + + + + + + * Returns `-1` if `a` is smaller, `1` if `b` is bigger and `0` if both numbers are equal. + + + + + + + + + + + + * Returns true if the given x/y coordinate is within the given rectangular block + * + * @param pointX The X value to test + * @param pointY The Y value to test + * @param rectX The X value of the region to test within + * @param rectY The Y value of the region to test within + * @param rectWidth The width of the region to test within + * @param rectHeight The height of the region to test within + * + * @return true if pointX/pointY is within the region, otherwise false + + + + + + + + + * Returns true if the given x/y coordinate is within the given rectangular block + * + * @param pointX The X value to test + * @param pointY The Y value to test + * @param rect The FlxRect to test within + * @return true if pointX/pointY is within the FlxRect, otherwise false + + + + + + + + * Returns true if the mouse world x/y coordinate are within the given rectangular block + * + * @param useWorldCoords If true the world x/y coordinates of the mouse will be used, otherwise screen x/y + * @param rect The FlxRect to test within. If this is null for any reason this function always returns true. + * + * @return true if mouse is within the FlxRect, otherwise false + + + + + + + + + * Returns true if the given x/y coordinate is within the Rectangle + * + * @param pointX The X value to test + * @param pointY The Y value to test + * @param rect The Rectangle to test within + * @return true if pointX/pointY is within the Rectangle, otherwise false + + + + + + + + + + { min : 0 } + * Adds the given amount to the value, but never lets the value + * go over the specified maximum or under the specified minimum. + * + * @param value The value to add the amount to + * @param amount The amount to add to the value + * @param max The maximum the value is allowed to be + * @param min The minimum the value is allowed to be + * @return The new value + + + + + + + + + * Makes sure that value always stays between 0 and max, + * by wrapping the value around. + * + * @param value The value to wrap around + * @param min The minimum the value is allowed to be + * @param max The maximum the value is allowed to be + * @return The wrapped value + + + + + + + + + + + * Remaps a number from one range to another. + * + * @param value The incoming value to be converted + * @param start1 Lower bound of the value's current range + * @param stop1 Upper bound of the value's current range + * @param start2 Lower bound of the value's target range + * @param stop2 Upper bound of the value's target range + * @return The remapped value + + + + + + + + + + * Finds the dot product value of two vectors + * + * @param ax Vector X + * @param ay Vector Y + * @param bx Vector X + * @param by Vector Y + * + * @return Result of the dot product + + + + + + + + * Returns the length of the given vector. + + + + + + + + * Find the distance (in pixels, rounded) between two FlxSprites, taking their origin into account + * + * @param SpriteA The first FlxSprite + * @param SpriteB The second FlxSprite + * @return Distance between the sprites in pixels + + + + + + + + + + { IncludeEqual : false } + * Check if the distance between two FlxSprites is within a specified number. + * A faster algorithm than distanceBetween because the Math.sqrt() is avoided. + * + * @param SpriteA The first FlxSprite + * @param SpriteB The second FlxSprite + * @param Distance The distance to check + * @param IncludeEqual If set to true, the function will return true if the calculated distance is equal to the given Distance + * @return True if the distance between the sprites is less than the given Distance + + + + + + + + * Find the distance (in pixels, rounded) from an FlxSprite + * to the given FlxPoint, taking the source origin into account. + * + * @param Sprite The FlxSprite + * @param Target The FlxPoint + * @return Distance in pixels + + + + + + + + + + { IncludeEqual : false } + * Check if the distance from an FlxSprite to the given + * FlxPoint is within a specified number. + * A faster algorithm than distanceToPoint because the Math.sqrt() is avoided. + * + * @param Sprite The FlxSprite + * @param Target The FlxPoint + * @param Distance The distance to check + * @param IncludeEqual If set to true, the function will return true if the calculated distance is equal to the given Distance + * @return True if the distance between the sprites is less than the given Distance + + + + + + + * Find the distance (in pixels, rounded) from the object x/y and the mouse x/y + * + * @param Sprite The FlxSprite to test against + * @return The distance between the given sprite and the mouse coordinates + + + + + + + + + { IncludeEqual : false } + * Check if the distance from the object x/y and the mouse x/y is within a specified number. + * A faster algorithm than distanceToMouse because the Math.sqrt() is avoided. + * + * @param Sprite The FlxSprite to test against + * @param Distance The distance to check + * @param IncludeEqual If set to true, the function will return true if the calculated distance is equal to the given Distance + * @return True if the distance between the sprites is less than the given Distance + + + + + + + + * Find the distance (in pixels, rounded) from the object x/y and the FlxPoint screen x/y + * + * @param Sprite The FlxSprite to test against + * @param Touch The FlxTouch to test against + * @return The distance between the given sprite and the mouse coordinates + + + + + + + + + + { IncludeEqual : false } + * Check if the distance from the object x/y and the FlxPoint screen x/y is within a specified number. + * A faster algorithm than distanceToTouch because the Math.sqrt() is avoided. + * + * @param Sprite The FlxSprite to test against + * @param Distance The distance to check + * @param IncludeEqual If set to true, the function will return true if the calculated distance is equal to the given Distance + * @return True if the distance between the sprites is less than the given Distance + + + + + + + * Returns the amount of decimals a `Float` has. + + + + + + + + + { aDiff : EPSILON } + + + + + + + * Returns `-1` if the number is smaller than `0` and `1` otherwise + + + + + + + + * Checks if two numbers have the same sign (using `FlxMath.signOf()`). + + + + + + + + + + + + + + + + + + + + + * Hyperbolic sine. + + + + + + + + * Returns the bigger argument. + + + + + + + + * Returns the smaller argument. + + + + + + + * Returns the absolute integer value. + + * A class containing a set of math-related functions. + + + + + + + + + + + * Rotates this matrix, but takes the values of sine and cosine, + * so it might be useful when you rotate multiple matrices by the same angle + * @param cos The cosine value for rotation angle + * @param sin The sine value for rotation angle + * @return this transformed matrix + + + + * Adds 180 degrees to rotation of this matrix + * @return rotated matrix + + + + * Adds 90 degrees to rotation of this matrix + * @return rotated matrix + + + + * Subtract 90 degrees from rotation of this matrix + * @return rotated matrix + + + + + + + + * Transforms x coordinate of the point. + * Took original code from openfl.geom.Matrix (which isn't available on flash target). + * + * @param px x coordinate of the point + * @param py y coordinate of the point + * @return transformed x coordinate of the point + * + * @since 4.3.0 + + + + + + + + * Transforms y coordinate of the point. + * Took original code from openfl.geom.Matrix (which isn't available on flash target). + * + * @param px x coordinate of the point + * @param py y coordinate of the point + * @return transformed y coordinate of the point + * + * @since 4.3.0 + + + + + + + + + + + * Helper class for making fast matrix calculations for rendering. + * It mostly copies Matrix class, but with some additions for + * faster rotation by 90 degrees. + + + + + <_setXCallback> + + + + <_setYCallback> + + + + <_setXYCallback> + + + + + + + + + + { Y : 0, X : 0 } + + + + + + + + + + + + + + + + + + + + + + + + + + + + * If you only specify one callback function, then the remaining two will use the same. + * + * @param setXCallback Callback for set_x() + * @param setYCallback Callback for set_y() + * @param setXYCallback Callback for set() + + * A FlxPoint that calls a function when set_x(), set_y() or set() is called. Used in FlxSpriteGroup. + * IMPORTANT: Calling set(x, y); is MUCH FASTER than setting x and y separately. Needs to be destroyed unlike simple FlxPoints! + + + + + + + * 2-dimensional vector class + + + + + 0.0000001 + + + + EPSILON * EPSILON + + <_vector1 expr="new FlxVector()" line="15" static="1"> + + new FlxVector() + + <_vector2 expr="new FlxVector()" line="16" static="1"> + + new FlxVector() + + <_vector3 expr="new FlxVector()" line="17" static="1"> + + new FlxVector() + + + + + + + + + { y : 0, x : 0 } + * Recycle or create new FlxVector. + * Be sure to put() them back into the pool after you're done with them! + * + * @param x The X-coordinate of the point in space. + * @param y The Y-coordinate of the point in space. + + + + + + + + { y : 0, x : 0 } + * Recycle or create a new FlxVector which will automatically be released + * to the pool when passed into a flixel function. + * + * @param x The X-coordinate of the point in space. + * @param y The Y-coordinate of the point in space. + * @since 4.6.0 + + + + + + * The horizontal component of the unit vector + + + + * The vertical component of the unit vector + + + + * Length of the vector + + + + * length of the vector squared + + + + * The angle formed by the vector with the horizontal axis (in degrees) + + + + * The angle formed by the vector with the horizontal axis (in radians) + + + + * The horizontal component of the right normal of the vector + + + + * The vertical component of the right normal of the vector + + + + * The horizontal component of the left normal of the vector + + + + * The vertical component of the left normal of the vector + + <_new public="1" get="inline" set="null" line="100" static="1"> + + + + + + + { y : 0, x : 0 } + + + + + + + + + + + { y : 0, x : 0 } + * Set the coordinates of this point object. + * + * @param x The X-coordinate of the point in space. + * @param y The Y-coordinate of the point in space. + + + + + + + + + { y : 0, x : 0 } + * Adds to the coordinates of this point. + * + * @param x Amount to add to x + * @param y Amount to add to y + * @return This point. + + + + + + + + * Adds the coordinates of another point to the coordinates of this point. + * + * @param point The point to add to this point + * @return This point. + + + + + + + + + { y : 0, x : 0 } + * Subtracts from the coordinates of this point. + * + * @param x Amount to subtract from x + * @param y Amount to subtract from y + * @return This point. + + + + + + + + * Subtracts the coordinates of another point from the coordinates of this point. + * + * @param point The point to subtract from this point + * @return This point. + + + + + + + + * Scale this vector. + * + * @param k - scale coefficient + * @return scaled vector + + + + + + + + * Returns scaled copy of this vector. + * + * @param k - scale coefficient + * @return scaled vector + + + + + + + + * Return new vector which equals to sum of this vector and passed v vector. + * + * @param v vector to add + * @return addition result + + + + + + + + * Returns new vector which is result of subtraction of v vector from this vector. + * + * @param v vector to subtract + * @return subtraction result + + + + + + + + * Helper function, just copies the values from the specified point. + * + * @param point Any FlxPoint. + * @return A reference to itself. + + + + + + + + * Helper function, just copies the values from the specified Flash point. + * + * @param Point Any Point. + * @return A reference to itself. + + + + + + + * Rounds x and y using Math.floor() + + + + + + + * Rounds x and y using Math.ceil() + + + + + + + * Rounds x and y using Math.round() + + + + + + + + + * Rotates this point clockwise in 2D space around another point by the given angle. + * + * @param Pivot The pivot you want to rotate this point around + * @param Angle Rotate the point by this many degrees clockwise. + * @return A FlxPoint containing the coordinates of the rotated point. + + + + + + + + * Applies transformation matrix to this point + * @param matrix transformation matrix + * @return transformed point + + + + + + + + * Dot product between two vectors. + * + * @param v vector to multiply + * @return dot product of two vectors + + + + + + + + * Dot product between two vectors. + * Meant for internal use, does not call putWeak. + * + * @param v vector to multiply + * @return dot product of two vectors + + + + + + + + * Dot product of vectors with normalization of the second vector. + * + * @param v vector to multiply + * @return dot product of two vectors + + + + + + + + * Check the perpendicularity of two vectors. + * + * @param v vector to check + * @return true - if they are perpendicular + + + + + + + + * Find the length of cross product between two vectors. + * + * @param v vector to multiply + * @return the length of cross product of two vectors + + + + + + + + * Find the length of cross product between two vectors. + * Meant for internal use, does not call putWeak. + * + * @param v vector to multiply + * @return the length of cross product of two vectors + + + + + + + + * Check for parallelism of two vectors. + * + * @param v vector to check + * @return true - if they are parallel + + + + + + + + * Check for parallelism of two vectors. + * Meant for internal use, does not call putWeak. + * + * @param v vector to check + * @return true - if they are parallel + + + + + + + * Check if this vector has zero length. + * + * @return true - if the vector is zero + + + + + + + * Vector reset + + + + + + + * Normalization of the vector (reduction to unit length) + + + + + + + * Check the vector for unit length + + + + + + + + * Rotate the vector for a given angle. + * + * @param rads angle to rotate + * @return rotated vector + + + + + + + + * Rotate the vector for a given angle. + * + * @param degs angle to rotate + * @return rotated vector + + + + + + + + + * Rotate the vector with the values of sine and cosine of the angle of rotation. + * + * @param sin the value of sine of the angle of rotation + * @param cos the value of cosine of the angle of rotation + * @return rotated vector + + + + + + + + + * Sets the polar coordinates of the vector + * + * @param length The length to set the vector + * @param radians The angle to set the vector, in radians + * @return The rotated vector + * + * @since 4.10.0 + + + + + + + + + * Sets the polar coordinates of the vector + * + * @param length The length to set the vector + * @param degrees The angle to set the vector, in degrees + * @return The rotated vector + * + * @since 4.10.0 + + + + + + + + * Right normal of the vector + + + + + + + + * Left normal of the vector + + + + + + + * Change direction of the vector to opposite + + + + + + + + + + + + + * The projection of this vector to vector that is passed as an argument + * (without modifying the original Vector!). + * + * @param v vector to project + * @param proj optional argument - result vector + * @return projection of the vector + + + + + + + + + * Projecting this vector on the normalized vector v. + * + * @param v this vector has to be normalized, ie have unit length + * @param proj optional argument - result vector + * @return projection of the vector + + + + + + + + + * Projecting this vector on the normalized vector v. + * Meant for internal use, does not call putWeak. + * + * @param v this vector has to be normalized, ie have unit length + * @param proj optional argument - result vector + * @return projection of the vector + + + + + + + + * Dot product of left the normal vector and vector v. + + + + + + + + * Dot product of left the normal vector and vector v. + * Meant for internal use, does not call putWeak. + + + + + + + + + + * Find the ratio between the perpProducts of this vector and v vector. This helps to find the intersection point. + * + * @param a start point of the vector + * @param b start point of the v vector + * @param v the second vector + * @return the ratio between the perpProducts of this vector and v vector + + + + + + + + + + * Find the ratio between the perpProducts of this vector and v vector. This helps to find the intersection point. + * Meant for internal use, does not call putWeak. + * + * @param a start point of the vector + * @param b start point of the v vector + * @param v the second vector + * @return the ratio between the perpProducts of this vector and v vector + + + + + + + + + + + * Finding the point of intersection of vectors. + * + * @param a start point of the vector + * @param b start point of the v vector + * @param v the second vector + * @return the point of intersection of vectors + + + + + + + + + + + * Finding the point of intersection of vectors if it is in the "bounds" of the vectors. + * + * @param a start point of the vector + * @param b start point of the v vector + * @param v the second vector + * @return the point of intersection of vectors if it is in the "bounds" of the vectors + + + + + + + + * Limit the length of this vector. + * + * @param max maximum length of this vector + + + + + + + + * Get the angle between vectors (in radians). + * + * @param v second vector, which we find the angle + * @return the angle in radians + + + + + + + + * The angle between vectors (in degrees). + * + * @param v second vector, which we find the angle + * @return the angle in radians + + + + + + + + + * The sign of half-plane of point with respect to the vector through the a and b points. + * + * @param a start point of the wall-vector + * @param b end point of the wall-vector + + + + + + + + * The distance between points + + + + + + + + * The squared distance between points + + + + + + + + + { bounceCoeff : 1 } + + + + + + + + + + + { friction : 0, bounceCoeff : 1 } + + + + + + + + * Checking if this is a valid vector. + * + * @return true - if the vector is valid + + + + + + + + * Copies this vector. + * + * @param vec optional vector to copy this vector to + * @return copy of this vector + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0.0000001 + + + + EPSILON * EPSILON + + <_vector1 expr="new FlxVector()" line="15" static="1"> + + new FlxVector() + + <_vector2 expr="new FlxVector()" line="16" static="1"> + + new FlxVector() + + <_vector3 expr="new FlxVector()" line="17" static="1"> + + new FlxVector() + + + + + + + + + { y : 0, x : 0 } + * Recycle or create new FlxVector. + * Be sure to put() them back into the pool after you're done with them! + * + * @param x The X-coordinate of the point in space. + * @param y The Y-coordinate of the point in space. + + + + + + + + { y : 0, x : 0 } + * Recycle or create a new FlxVector which will automatically be released + * to the pool when passed into a flixel function. + * + * @param x The X-coordinate of the point in space. + * @param y The Y-coordinate of the point in space. + * @since 4.6.0 + + + + + + * The horizontal component of the unit vector + + + + * The vertical component of the unit vector + + + + * Length of the vector + + + + * length of the vector squared + + + + * The angle formed by the vector with the horizontal axis (in degrees) + + + + * The angle formed by the vector with the horizontal axis (in radians) + + + + * The horizontal component of the right normal of the vector + + + + * The vertical component of the right normal of the vector + + + + * The horizontal component of the left normal of the vector + + + + * The vertical component of the left normal of the vector + + <_new public="1" get="inline" set="null" line="100" static="1"> + + + + + + + { y : 0, x : 0 } + + + + + + + + + + + { y : 0, x : 0 } + * Set the coordinates of this point object. + * + * @param x The X-coordinate of the point in space. + * @param y The Y-coordinate of the point in space. + + + + + + + + + { y : 0, x : 0 } + * Adds to the coordinates of this point. + * + * @param x Amount to add to x + * @param y Amount to add to y + * @return This point. + + + + + + + + * Adds the coordinates of another point to the coordinates of this point. + * + * @param point The point to add to this point + * @return This point. + + + + + + + + + { y : 0, x : 0 } + * Subtracts from the coordinates of this point. + * + * @param x Amount to subtract from x + * @param y Amount to subtract from y + * @return This point. + + + + + + + + * Subtracts the coordinates of another point from the coordinates of this point. + * + * @param point The point to subtract from this point + * @return This point. + + + + + + + + * Scale this vector. + * + * @param k - scale coefficient + * @return scaled vector + + + + + + + + * Returns scaled copy of this vector. + * + * @param k - scale coefficient + * @return scaled vector + + + + + + + + * Return new vector which equals to sum of this vector and passed v vector. + * + * @param v vector to add + * @return addition result + + + + + + + + * Returns new vector which is result of subtraction of v vector from this vector. + * + * @param v vector to subtract + * @return subtraction result + + + + + + + + * Helper function, just copies the values from the specified point. + * + * @param point Any FlxPoint. + * @return A reference to itself. + + + + + + + + * Helper function, just copies the values from the specified Flash point. + * + * @param Point Any Point. + * @return A reference to itself. + + + + + + + * Rounds x and y using Math.floor() + + + + + + + * Rounds x and y using Math.ceil() + + + + + + + * Rounds x and y using Math.round() + + + + + + + + + * Rotates this point clockwise in 2D space around another point by the given angle. + * + * @param Pivot The pivot you want to rotate this point around + * @param Angle Rotate the point by this many degrees clockwise. + * @return A FlxPoint containing the coordinates of the rotated point. + + + + + + + + * Applies transformation matrix to this point + * @param matrix transformation matrix + * @return transformed point + + + + + + + + * Dot product between two vectors. + * + * @param v vector to multiply + * @return dot product of two vectors + + + + + + + + * Dot product between two vectors. + * Meant for internal use, does not call putWeak. + * + * @param v vector to multiply + * @return dot product of two vectors + + + + + + + + * Dot product of vectors with normalization of the second vector. + * + * @param v vector to multiply + * @return dot product of two vectors + + + + + + + + * Check the perpendicularity of two vectors. + * + * @param v vector to check + * @return true - if they are perpendicular + + + + + + + + * Find the length of cross product between two vectors. + * + * @param v vector to multiply + * @return the length of cross product of two vectors + + + + + + + + * Find the length of cross product between two vectors. + * Meant for internal use, does not call putWeak. + * + * @param v vector to multiply + * @return the length of cross product of two vectors + + + + + + + + * Check for parallelism of two vectors. + * + * @param v vector to check + * @return true - if they are parallel + + + + + + + + * Check for parallelism of two vectors. + * Meant for internal use, does not call putWeak. + * + * @param v vector to check + * @return true - if they are parallel + + + + + + + * Check if this vector has zero length. + * + * @return true - if the vector is zero + + + + + + + * Vector reset + + + + + + + * Normalization of the vector (reduction to unit length) + + + + + + + * Check the vector for unit length + + + + + + + + * Rotate the vector for a given angle. + * + * @param rads angle to rotate + * @return rotated vector + + + + + + + + * Rotate the vector for a given angle. + * + * @param degs angle to rotate + * @return rotated vector + + + + + + + + + * Rotate the vector with the values of sine and cosine of the angle of rotation. + * + * @param sin the value of sine of the angle of rotation + * @param cos the value of cosine of the angle of rotation + * @return rotated vector + + + + + + + + + * Sets the polar coordinates of the vector + * + * @param length The length to set the vector + * @param radians The angle to set the vector, in radians + * @return The rotated vector + * + * @since 4.10.0 + + + + + + + + + * Sets the polar coordinates of the vector + * + * @param length The length to set the vector + * @param degrees The angle to set the vector, in degrees + * @return The rotated vector + * + * @since 4.10.0 + + + + + + + + * Right normal of the vector + + + + + + + + * Left normal of the vector + + + + + + + * Change direction of the vector to opposite + + + + + + + + + + + + + * The projection of this vector to vector that is passed as an argument + * (without modifying the original Vector!). + * + * @param v vector to project + * @param proj optional argument - result vector + * @return projection of the vector + + + + + + + + + * Projecting this vector on the normalized vector v. + * + * @param v this vector has to be normalized, ie have unit length + * @param proj optional argument - result vector + * @return projection of the vector + + + + + + + + + * Projecting this vector on the normalized vector v. + * Meant for internal use, does not call putWeak. + * + * @param v this vector has to be normalized, ie have unit length + * @param proj optional argument - result vector + * @return projection of the vector + + + + + + + + * Dot product of left the normal vector and vector v. + + + + + + + + * Dot product of left the normal vector and vector v. + * Meant for internal use, does not call putWeak. + + + + + + + + + + * Find the ratio between the perpProducts of this vector and v vector. This helps to find the intersection point. + * + * @param a start point of the vector + * @param b start point of the v vector + * @param v the second vector + * @return the ratio between the perpProducts of this vector and v vector + + + + + + + + + + * Find the ratio between the perpProducts of this vector and v vector. This helps to find the intersection point. + * Meant for internal use, does not call putWeak. + * + * @param a start point of the vector + * @param b start point of the v vector + * @param v the second vector + * @return the ratio between the perpProducts of this vector and v vector + + + + + + + + + + + * Finding the point of intersection of vectors. + * + * @param a start point of the vector + * @param b start point of the v vector + * @param v the second vector + * @return the point of intersection of vectors + + + + + + + + + + + * Finding the point of intersection of vectors if it is in the "bounds" of the vectors. + * + * @param a start point of the vector + * @param b start point of the v vector + * @param v the second vector + * @return the point of intersection of vectors if it is in the "bounds" of the vectors + + + + + + + + * Limit the length of this vector. + * + * @param max maximum length of this vector + + + + + + + + * Get the angle between vectors (in radians). + * + * @param v second vector, which we find the angle + * @return the angle in radians + + + + + + + + * The angle between vectors (in degrees). + * + * @param v second vector, which we find the angle + * @return the angle in radians + + + + + + + + + * The sign of half-plane of point with respect to the vector through the a and b points. + * + * @param a start point of the wall-vector + * @param b end point of the wall-vector + + + + + + + + * The distance between points + + + + + + + + * The squared distance between points + + + + + + + + + { bounceCoeff : 1 } + + + + + + + + + + + { friction : 0, bounceCoeff : 1 } + + + + + + + + * Checking if this is a valid vector. + * + * @return true - if the vector is valid + + + + + + + + * Copies this vector. + * + * @param vec optional vector to copy this vector to + * @return copy of this vector + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { MaxTime : 0, Speed : 60 } + * Sets the source FlxSprite x/y velocity so it will move directly towards the destination FlxSprite at the speed given (in pixels per second) + * If you specify a maxTime then it will adjust the speed (over-writing what you set) so it arrives at the destination in that number of seconds. + * Timings are approximate due to the way Flash timers work, and irrespective of SWF frame rate. Allow for a variance of +- 50ms. + * The source object doesn't stop moving automatically should it ever reach the destination coordinates. + * If you need the object to accelerate, see accelerateTowardsObject() instead + * Note: Doesn't take into account acceleration, maxVelocity or drag (if you set drag or acceleration too high this object may not move at all) + * + * @param Source The FlxSprite on which the velocity will be set + * @param Dest The FlxSprite where the source object will move to + * @param Speed The speed it will move, in pixels per second (default is 60 pixels/sec) + * @param MaxTime Time given in milliseconds (1000 = 1 sec). If set the speed is adjusted so the source will arrive at destination in the given number of ms + + + + + + + + + + * Sets the x/y acceleration on the source FlxSprite so it will move towards the destination FlxSprite at the speed given (in pixels per second) + * You must give a maximum speed value, beyond which the FlxSprite won't go any faster. + * If you don't need acceleration look at moveTowardsObject() instead. + * + * @param Source The FlxSprite on which the acceleration will be set + * @param Dest The FlxSprite where the source object will move towards + * @param Acceleration The speed it will accelerate in pixels per second + * @param MaxSpeed The maximum speed in pixels per second in which the sprite can move + + + + + + + + + { MaxTime : 0, Speed : 60 } + * Move the given FlxSprite towards the mouse pointer coordinates at a steady velocity + * If you specify a maxTime then it will adjust the speed (over-writing what you set) so it arrives at the destination in that number of seconds. + * Timings are approximate due to the way Flash timers work, and irrespective of SWF frame rate. Allow for a variance of +- 50ms. + * The source object doesn't stop moving automatically should it ever reach the destination coordinates. + * + * @param Source The FlxSprite to move + * @param Speed The speed it will move, in pixels per second (default is 60 pixels/sec) + * @param MaxTime Time given in milliseconds (1000 = 1 sec). If set the speed is adjusted so the source will arrive at destination in the given number of ms + + + + + + + + + + { MaxTime : 0, Speed : 60 } + * Move the given FlxSprite towards a FlxTouch point at a steady velocity + * If you specify a maxTime then it will adjust the speed (over-writing what you set) so it arrives at the destination in that number of seconds. + * Timings are approximate due to the way Flash timers work, and irrespective of SWF frame rate. Allow for a variance of +- 50ms. + * The source object doesn't stop moving automatically should it ever reach the destination coordinates. + * + * @param source The FlxSprite to move + * @param speed The speed it will move, in pixels per second (default is 60 pixels/sec) + * @param maxTime Time given in milliseconds (1000 = 1 sec). If set the speed is adjusted so the source will arrive at destination in the given number of ms + + + + + + + + + * Sets the x/y acceleration on the source FlxSprite so it will move towards the mouse coordinates at the speed given (in pixels per second) + * You must give a maximum speed value, beyond which the FlxSprite won't go any faster. + * If you don't need acceleration look at moveTowardsMouse() instead. + * + * @param Source The FlxSprite on which the acceleration will be set + * @param Acceleration The speed it will accelerate in pixels per second + * @param MaxSpeed The maximum speed in pixels per second in which the sprite can move + + + + + + + + + + * Sets the x/y acceleration on the source FlxSprite so it will move towards a FlxTouch at the speed given (in pixels per second) + * You must give a maximum speed value, beyond which the FlxSprite won't go any faster. + * If you don't need acceleration look at moveTowardsMouse() instead. + * + * @param Source The FlxSprite on which the acceleration will be set + * @param Touch The FlxTouch on which to accelerate towards + * @param Acceleration The speed it will accelerate in pixels per second + * @param MaxSpeed The maximum speed in pixels per second in which the sprite can move + + + + + + + + + + { MaxTime : 0, Speed : 60 } + * Sets the x/y velocity on the source FlxSprite so it will move towards the target coordinates at the speed given (in pixels per second) + * If you specify a maxTime then it will adjust the speed (over-writing what you set) so it arrives at the destination in that number of seconds. + * Timings are approximate due to the way Flash timers work, and irrespective of SWF frame rate. Allow for a variance of +- 50ms. + * The source object doesn't stop moving automatically should it ever reach the destination coordinates. + * + * @param Source The FlxSprite to move + * @param Target The FlxPoint coordinates to move the source FlxSprite towards + * @param Speed The speed it will move, in pixels per second (default is 60 pixels/sec) + * @param MaxTime Time given in milliseconds (1000 = 1 sec). If set the speed is adjusted so the source will arrive at destination in the given number of ms + + + + + + + + + + * Sets the x/y acceleration on the source FlxSprite so it will move towards the target coordinates at the speed given (in pixels per second) + * You must give a maximum speed value, beyond which the FlxSprite won't go any faster. + * If you don't need acceleration look at moveTowardsPoint() instead. + * + * @param Source The FlxSprite on which the acceleration will be set + * @param Target The FlxPoint coordinates to move the source FlxSprite towards + * @param Acceleration The speed it will accelerate in pixels per second + * @param MaxSpeed The maximum speed in pixels per second in which the sprite can move + + + + + + + + * Given the angle and speed calculate the velocity and return it as an FlxPoint + * + * @param Angle The angle (in degrees) calculated in clockwise positive direction (down = 90 degrees positive, right = 0 degrees positive, up = 90 degrees negative) + * @param Speed The speed it will move, in pixels per second sq + * @return A FlxPoint where FlxPoint.x contains the velocity x value and FlxPoint.y contains the velocity y value + + + + + + + + * Given the FlxSprite and speed calculate the velocity and return it as an FlxPoint based on the direction the sprite is facing + * + * @param Parent The FlxSprite to get the facing value from + * @param Speed The speed it will move, in pixels per second + * @return An FlxPoint where FlxPoint.x contains the velocity x value and FlxPoint.y contains the velocity y value + + + + + + + + + + + * A tween-like function that takes a starting velocity and some other factors and returns an altered velocity. + * + * @param Velocity Any component of velocity (e.g. 20). + * @param Acceleration Rate at which the velocity is changing. + * @param Drag Really kind of a deceleration, this is how much the velocity changes if Acceleration is not set. + * @param Max An absolute value cap for the velocity (0 for no cap). + * @param Elapsed The amount of time passed in to the latest update cycle + * @return The altered Velocity value. + + + + + + + + + + + { resetVelocity : true } + * Sets the x/y acceleration on the source FlxSprite so it will accelerate in the direction of the specified angle. + * You must give a maximum speed value (in pixels per second), beyond which the FlxSprite won't go any faster. + * + * @param Source The FlxSprite on which the acceleration will be set + * @param Radians The angle in which the FlxPoint will be set to accelerate + * @param Acceleration The speed it will accelerate in pixels per second + * @param MaxSpeed The maximum speed in pixels per second in which the sprite can move + * @param ResetVelocity Whether to reset the FlxSprite velocity to 0 each time + + + + + + + + "__ASSET__:bitmap_flixel_system_GraphicLogo" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + + "assets/images/logo/logo.png" + + + + + + + "__ASSET__:bitmap_flixel_system_GraphicVirtualInput" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + + "assets/images/ui/virtual-input.png" + + + + + + + + + + + + + + + + + + + + + + + The byte order for the data, either the `BIG_ENDIAN` or `LITTLE_ENDIAN` constant + from the Endian class. + + + + Used to determine whether the `AMF3` or `AMF0` format is used when writing or + reading binary data using the `writeObject()` method. The value is a constant from + the ObjectEncoding class. + + + + + + + Writes a Boolean value. A single byte is written according to the `value` parameter, + either 1 if `true` or 0 if `false`. + + @param value A Boolean value determining which byte is written. If the parameter + is `true`, 1 is written; if `false`, 0 is written. + + + + + + + Writes a byte. The low 8 bits of the parameter are used; the high 24 bits are + ignored. + + @param value A byte value as an integer. + + + + + + + + + { length : 0, offset : 0 } + Writes a sequence of bytes from the specified byte array, bytes, starting at the + byte specified by `offset` (using a zero-based index) with a length specified by + `length`, into the file stream, byte stream, or byte array. + + If the `length` parameter is omitted, the default length of 0 is used and the + entire buffer starting at `offset` is written. If the `offset` parameter is also + omitted, the entire buffer is written. + + If the `offset` or `length` parameter is out of range, they are clamped to the + beginning and end of the bytes array. + + @param bytes The byte array to write. + @param offset A zero-based index specifying the position into the array to begin + writing. + @param length An unsigned integer specifying how far into the buffer to write. + + + + + + + Writes an IEEE 754 double-precision (64-bit) floating point number. + + @param value A double-precision (64-bit) floating point number. + + + + + + + Writes an IEEE 754 single-precision (32-bit) floating point number. + + @param value A single-precision (32-bit) floating point number. + + + + + + + Writes a 32-bit signed integer. + + @param value A byte value as a signed integer. + + + + + + + + Writes a multibyte string to the file stream, byte stream, or byte array, using + the specified character set. + + @param value The string value to be written. + @param charSet The string denoting the character set to use. Possible character + set strings include "shift-jis", "cn-gb", "iso-8859-1", and others. For a complete + list, see Supported Character Sets. + + + + + + + Writes an object to the file stream, byte stream, or byte array, in AMF + serialized format. + + @param object The object to be serialized. + + + + + + + Writes a 16-bit integer. The low 16 bits of the parameter are used; the high 16 + bits are ignored. + + @param value A byte value as an integer. + + + + + + + Writes a 32-bit unsigned integer. + + @param value A byte value as an unsigned integer. + + + + + + + Writes a UTF-8 string to the file stream, byte stream, or byte array. The length + of the UTF-8 string in bytes is written first, as a 16-bit integer, followed by + the bytes representing the characters of the string. + + @param value The string value to be written. + @throws RangeError If the `length` is larger than 65535. + + + + + + + Writes a UTF-8 string. Similar to `writeUTF()`, but does not prefix the string with + a 16-bit `length` word. + + @param value The string value to be written. + + The IDataOutput interface provides a set of methods for writing binary data. This + interface is the I/O counterpart to the IDataInput interface, which reads binary data. The IDataOutput interface is implemented by the FileStream, Socket and ByteArray + classes. + + All IDataInput and IDataOutput operations are "bigEndian" by default (the most + significant byte in the sequence is stored at the lowest or first storage address), + and are nonblocking. + + Sign extension matters only when you read data, not when you write it. Therefore, you + do not need separate write methods to work with `IDataInput.readUnsignedByte()` and `IDataInput.readUnsignedShort()`. In other words: + + * Use `IDataOutput.writeByte()` with `IDataInput.readUnsignedByte()` and + `IDataInput.readByte()`. + * Use `IDataOutput.writeShort()` with `IDataInput.readUnsignedShort()` and + `IDataInput.readShort()`. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns the number of bytes of data available for reading in the input buffer. + User code must call `bytesAvailable` to ensure that sufficient data is available + before trying to read it with one of the read methods. + + + + The byte order for the data, either the `BIG_ENDIAN` or `LITTLE_ENDIAN` constant + from the Endian class. + + + + Used to determine whether the `AMF3` or `AMF0` format is used when writing or + reading binary data using the `readObject()` method. The value is a constant from + the ObjectEncoding class. + + + + Reads a Boolean value from the file stream, byte stream, or byte array. A single + byte is read and `true` is returned if the byte is nonzero, `false` otherwise. + + @returns A Boolean value, `true` if the byte is nonzero, `false` otherwise. + @throws EOFError There is not sufficient data available to read. + + + + Reads a signed byte from the file stream, byte stream, or byte array. + + @returns The returned value is in the range -128 to 127. + @throws EOFError There is not sufficient data available to read. + + + + + + + + + { length : 0, offset : 0 } + Reads the number of data bytes, specified by the `length` parameter, from the file + stream, byte stream, or byte array. The bytes are read into the ByteArray objected + specified by the `bytes` parameter, starting at the position specified by `offset`. + + @param bytes The ByteArray object to read data into. + @param offset The offset into the `bytes` parameter at which data read should + begin. + @param length The number of bytes to read. The default value of 0 causes all + available data to be read. + @throws EOFError There is not sufficient data available to read. + + + + Reads an IEEE 754 double-precision floating point number from the file stream, byte + stream, or byte array. + + @returns An IEEE 754 double-precision floating point number. + @throws EOFError There is not sufficient data available to read. + + + + Reads an IEEE 754 single-precision floating point number from the file stream, byte + stream, or byte array. + + @returns An IEEE 754 single-precision floating point number. + @throws EOFError There is not sufficient data available to read. + + + + Reads a signed 32-bit integer from the file stream, byte stream, or byte array. + + @returns The returned value is in the range -2147483648 to 2147483647. + @throws EOFError There is not sufficient data available to read. + + + + + + + + Reads a multibyte string of specified length from the file stream, byte stream, or + byte array using the specified character set. + + @param length The number of bytes from the byte stream to read. + @param charSet The string denoting the character set to use to interpret the + bytes. Possible character set strings include "shift-jis", "cn-gb", "iso-8859-1", + and others. For a complete list, see Supported Character Sets. + + **Note:** If the value for the `charSet` parameter is not recognized by the current + system, then Adobe® Flash® Player or Adobe® AIR® uses the system's default code page + as the character set. For example, a value for the `charSet` parameter, as in + `myTest.readMultiByte(22, "iso-8859-01")`, that uses `01` instead of `1` might work + on your development system, but not on another system. On the other system, Flash + Player or the AIR runtime will use the system's default code page. + @returns UTF-8 encoded string. + @throws EOFError There is not sufficient data available to read. + + + + Reads an object from the file stream, byte stream, or byte array, encoded in AMF + serialized format. + + @returns The deserialized object + @throws EOFError There is not sufficient data available to read. + + + + Reads a signed 16-bit integer from the file stream, byte stream, or byte array. + + @returns The returned value is in the range -32768 to 32767. + @throws EOFError There is not sufficient data available to read. + + + + Reads an unsigned byte from the file stream, byte stream, or byte array. + + @returns The returned value is in the range 0 to 255. + @throws EOFError There is not sufficient data available to read. + + + + Reads an unsigned 32-bit integer from the file stream, byte stream, or byte array. + + @returns The returned value is in the range 0 to 4294967295. + @throws EOFError There is not sufficient data available to read. + + + + Reads an unsigned 16-bit integer from the file stream, byte stream, or byte array. + + @returns The returned value is in the range 0 to 65535. + @throws EOFError There is not sufficient data available to read. + + + + Reads a UTF-8 string from the file stream, byte stream, or byte array. The string + is assumed to be prefixed with an unsigned short indicating the length in bytes. + + This method is similar to the `readUTF()` method in the Java® IDataInput interface. + + @returns A UTF-8 string produced by the byte representation of characters. + @throws EOFError There is not sufficient data available to read. + + + + + + + Reads a sequence of UTF-8 bytes from the byte stream or byte array and returns a + string. + + @param length The number of bytes to read. + @returns A UTF-8 string produced by the byte representation of characters of + the specified length. + @throws EOFError There is not sufficient data available to read. + + The IDataInput interface provides a set of methods for reading binary data. This + interface is the I/O counterpart to the IDataOutput interface, which writes binary data. + + All IDataInput and IDataOutput operations are "bigEndian" by default (the most + significant byte in the sequence is stored at the lowest or first storage address), and + are nonblocking. If insufficient data is available, an `EOFError` exception is thrown. + Use the `IDataInput.bytesAvailable` property to determine how much data is available + to read. + + Sign extension matters only when you read data, not when you write it. Therefore you + do not need separate write methods to work with `IDataInput.readUnsignedByte()` and + `IDataInput.readUnsignedShort()`. In other words: + + * Use `IDataOutput.writeByte()` with `IDataInput.readUnsignedByte()` and + `IDataInput.readByte()`. + * Use `IDataOutput.writeShort()` with `IDataInput.readUnsignedShort()` and + `IDataInput.readShort()`. + + + + + + + + + ObjectEncoding.DEFAULT + + <__defaultEndian expr="null" line="1069" static="1"> + + + null + + + + + + + + + + + + + + + + + + + + + + + <__endian> + + + + <__length> + + + + + + + + + + { algorithm : ZLIB } + + + + + + + + + + + + + { length : 0, offset : 0 } + + + + + + + + + + + + + + + + + + + + + + + + + { algorithm : ZLIB } + + + + + + + + + + + + + + + + + { length : 0, offset : 0 } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <__fromBytes set="method" line="1730"> + + + + + + + <__resize set="method" line="1740"> + + + + + + + <__setData get="inline" set="null" line="1776"> + + + + + + + + + + + + + + + + + + + + + + + + + + + { length : 0 } + + + + lime._internal.macros.AssetsMacro.embedBytes() + lime._internal.macros.AssetsMacro.embedBytes() + "tags=\"haxe,release\"" + + "checkstyle:FieldDocComment" + lime._internal.macros.AssetsMacro.embedByteArray() + + hide + + + + + + + "__ASSET__:file_flixel_system_VirtualInputData" + + + + + + + { length : 0 } + + + + lime._internal.macros.AssetsMacro.embedByteArray() + lime._internal.macros.AssetsMacro.embedByteArray() + lime._internal.macros.AssetsMacro.embedBytes() + lime._internal.macros.AssetsMacro.embedBytes() + "assets/images/ui/virtual-input.txt" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "Nokia Cellphone FC Small" + + + + "Monsterrat" + + + + + + + + + + + + + + + * Generates BitmapData from specified class. Less typing. + * + * @param source BitmapData class to generate BitmapData object from. + * @return Newly instantiated BitmapData object. + + + + + + + , then it will create BitmapData from this class; + * 3) if the input is String, then it will get BitmapData from openfl.Assets; + * 4) it will return null in any other case. + * + * @param Graphic input data to get BitmapData object for. + * @return BitmapData for specified Dynamic object.]]> + + + + + + + + , then it will return the name of this class; + * 3) if the input is String, then it will return it; + * 4) it will return null in any other case. + * + * @param Graphic input data to get string key for. + * @param Key optional key string. + * @return Key String for specified Graphic object.]]> + + + + + + + + + + + + + flixel.FlxCamera + * Called by game loop, updates then blits or renders current frame of animation to the screen + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "localhost" + * Add this string to allowedURLs array if you want to be able to test game with enabled site-locking on local machine + + + + 0 + * Change this if you want the flixel logo to show for more or less time. Default value is 0 seconds (no delay). + + + + * List of allowed URLs for built-in site-locking. + * Set it in FlxPreloader's constructor as: `['http://adamatomic.com/canabalt/', FlxPreloader.LOCAL]`; + + + + 0 + * The index of which URL in allowedURLs will be triggered when a user clicks on the Site-lock Message. + * For example, if allowedURLs is `['mysite.com', 'othersite.com']`, and `siteLockURLIndex = 1`, then + * the user will go to 'othersite.com' when they click the message, but sitelocking will allow either of those URLs to work. + * Defaults to 0. + + + + "Sorry." + * The title text to display on the sitelock failure screen. + * NOTE: This string should be reviewed for accuracy and may need to be localized. + * + * To customize this variable, create a class extending `FlxBasePreloader`, and override its value in the constructor: + * + * ```haxe + * class Preloader extends FlxBasePreloader + * { + * public function new():Void + * { + * super(0, ["http://placeholder.domain.test/path/document.html"]); + * + * siteLockTitleText = "Custom title text."; + * siteLockBodyText = "Custom body text."; + * } + * } + * ``` + * @since 4.3.0 + + + + "It appears the website you are using is hosting an unauthorized copy of this game. " + "Storage or redistribution of this content, without the express permission of the " + "developer or other copyright holder, is prohibited under copyright law.\n\n" + "Thank you for your interest in this game! Please support the developer by " + "visiting the following website to play the game:" + * The body text to display on the sitelock failure screen. + * NOTE: This string should be reviewed for accuracy and may need to be localized. + * + * To customize this variable, create a class extending `FlxBasePreloader`, and override its value in the constructor. + * @see `siteLockTitleText` + * @since 4.3.0 + + <_percent expr="0"> + + 0 + + <_width> + <_height> + <_loaded expr="false"> + + false + + <_urlChecked expr="false"> + + false + + <_destroyed expr="false"> + + false + + <_startTime> + + + * Override this to create your own preloader objects. + + + + * This function is called externally to initialize the Preloader. + + + + + + + + * This function is called each update to check the load status of the project. + * It is highly recommended that you do NOT override this. + + + + + + + * This function is triggered on each 'frame'. + * It is highly recommended that you do NOT override this. + + + + * This function is called when the project has finished loading. + * Override it to remove all of your objects. + + + + + + + * Override to draw your preloader objects in response to the Percent + * + * @param Percent How much of the program has loaded. + + + + * This function is called EXTERNALLY once the movie has actually finished being loaded. + * Highly recommended you DO NOT override. + + + + + + + + + + + * This should be used whenever you want to create a Bitmap that uses BitmapData embedded with the + * @:bitmap metadata, if you want to support both Flash and HTML5. Because the embedded data is loaded + * asynchronously in HTML5, any code that depends on the pixel data or size of the bitmap should be + * in the onLoad function; any such code executed before it is called will fail on the HTML5 target. + * + * @param bitmapDataClass A reference to the BitmapData child class that contains the embedded data which is to be used. + * @param onLoad Executed once the bitmap data is finished loading in HTML5, and immediately in Flash. The new Bitmap instance is passed as an argument. + * @return The Bitmap instance that was created. + + + + + + + + + + + * This should be used whenever you want to create a BitmapData object from a class containing data embedded with + * the @:bitmap metadata. Often, you'll want to use the BitmapData in a Bitmap object; in this case, createBitmap() + * can should be used instead. Because the embedded data is loaded asynchronously in HTML5, any code that depends on + * the pixel data or size of the bitmap should be in the onLoad function; any such code executed before it is called + * will fail on the HTML5 target. + * + * @param bitmapDataClass A reference to the BitmapData child class that contains the embedded data which is to be used. + * @param onLoad Executed once the bitmap data is finished loading in HTML5, and immediately in Flash. The new BitmapData instance is passed as an argument. + * @return The BitmapData instance that was created. + + + + * Site-locking Functionality + + + + + + + + { MinDisplayTime : 0 } + * FlxBasePreloader Constructor. + * @param MinDisplayTime Minimum time (in seconds) the preloader should be shown. (Default = 0) + * @param AllowedURLs Allowed URLs used for Site-locking. If the game is run anywhere else, a message will be displayed on the screen (Default = []) + + + + + <_NUM_CACHED_FLX_LIST public="1" expr="0" line="17" static="1"> + + 0 + * Pooling mechanism, when FlxLinkedLists are destroyed, they get added + * to this collection, and when they get recycled they get removed. + + <_cachedListsHead static="1"> + + + * Recycle a cached Linked List, or creates a new one if needed. + + + + * Clear cached List nodes. You might want to do this when loading new levels + * (probably not though, no need to clear cache unless you run into memory problems). + + + + * Stores a reference to a FlxObject. + + + + * Stores a reference to the next link in the list. + + + + true + + + + * Clean up memory. + + + + * Private, use recycle instead. + + * A miniature linked list class. + * Useful for optimizing time-critical or highly repetitive tasks! + * See FlxQuadTree for how to use it, IF YOU DARE. + + + + + + + "__ASSET__:bitmap_flixel_system__FlxPreloader_GraphicLogoLight" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + + "assets/images/preloader/light.png" + + + + + + + "__ASSET__:bitmap_flixel_system__FlxPreloader_GraphicLogoCorners" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + + "assets/images/preloader/corners.png" + + + + + <_buffer> + <_bmpBar> + <_text> + <_logo> + <_logoGlow> + + + * This class is called as soon as the FlxPreloaderBase has finished initializing. + * Override it to draw all your graphics and things - make sure you also override update + * Make sure you call super.create() + + + + * Cleanup your objects! + * Make sure you call super.destroy()! + + + + + + + * Update is called every frame, passing the current percent loaded. Use this to change your loading bar or whatever. + * @param Percent The percentage that the project is loaded + + + + + + + + { MinDisplayTime : 0 } + * Initialize your preloader here. + * + * ```haxe + * super(0, ["test.com", FlxPreloaderBase.LOCAL]); // example of site-locking + * super(10); // example of long delay (10 seconds) + * ``` + + `]]> + + + + + + + 0 + * Flag for specifying that you want to add an object to the A list. + + + + 1 + * Flag for specifying that you want to add an object to the B list. + + + + * Controls the granularity of the quad tree. Default is 6 (decent performance on large and small worlds). + + <_min static="1"> + + * Internal, governs and assists with the formation of the tree. + + <_object static="1"> + + * Internal, used to reduce recursive method parameters during object placement and tree formation. + + <_objectLeftEdge static="1"> + + * Internal, used to reduce recursive method parameters during object placement and tree formation. + + <_objectTopEdge static="1"> + + * Internal, used to reduce recursive method parameters during object placement and tree formation. + + <_objectRightEdge static="1"> + + * Internal, used to reduce recursive method parameters during object placement and tree formation. + + <_objectBottomEdge static="1"> + + * Internal, used to reduce recursive method parameters during object placement and tree formation. + + <_list static="1"> + + * Internal, used during tree processing and overlap checks. + + <_useBothLists static="1"> + + * Internal, used during tree processing and overlap checks. + + <_processingCallback static="1"> + + + + + + * Internal, used during tree processing and overlap checks. + + <_notifyCallback static="1"> + + + + + + * Internal, used during tree processing and overlap checks. + + <_iterator static="1"> + + * Internal, used during tree processing and overlap checks. + + <_objectHullX static="1"> + + * Internal, helpers for comparing actual object-to-object overlap - see overlapNode(). + + <_objectHullY static="1"> + + * Internal, helpers for comparing actual object-to-object overlap - see overlapNode(). + + <_objectHullWidth static="1"> + + * Internal, helpers for comparing actual object-to-object overlap - see overlapNode(). + + <_objectHullHeight static="1"> + + * Internal, helpers for comparing actual object-to-object overlap - see overlapNode(). + + <_checkObjectHullX static="1"> + + * Internal, helpers for comparing actual object-to-object overlap - see overlapNode(). + + <_checkObjectHullY static="1"> + + * Internal, helpers for comparing actual object-to-object overlap - see overlapNode(). + + <_checkObjectHullWidth static="1"> + + * Internal, helpers for comparing actual object-to-object overlap - see overlapNode(). + + <_checkObjectHullHeight static="1"> + + * Internal, helpers for comparing actual object-to-object overlap - see overlapNode(). + + <_NUM_CACHED_QUAD_TREES public="1" expr="0" line="222" static="1"> + + 0 + * Pooling mechanism, turn FlxQuadTree into a linked list, when FlxQuadTrees are destroyed, they get added to the list, and when they get recycled they get removed. + + <_cachedTreesHead static="1"> + + + + + + + + + + * Recycle a cached Quad Tree node, or creates a new one if needed. + * @param X The X-coordinate of the point in space. + * @param Y The Y-coordinate of the point in space. + * @param Width Desired width of this node. + * @param Height Desired height of this node. + * @param Parent The parent branch or node. Pass null to create a root. + + + + * Clear cached Quad Tree nodes. You might want to do this when loading new levels (probably not though, no need to clear cache unless you run into memory problems). + + + <_canSubdivide> + + * Whether this branch of the tree can be subdivided or not. + + <_headA> + + * Refers to the internal A and B linked lists, + * which are used to store objects in the leaves. + + <_tailA> + + * Refers to the internal A and B linked lists, + * which are used to store objects in the leaves. + + <_headB> + + * Refers to the internal A and B linked lists, + * which are used to store objects in the leaves. + + <_tailB> + + * Refers to the internal A and B linked lists, + * which are used to store objects in the leaves. + + <_northWestTree> + + * Internal, governs and assists with the formation of the tree. + + <_northEastTree> + + * Internal, governs and assists with the formation of the tree. + + <_southEastTree> + + * Internal, governs and assists with the formation of the tree. + + <_southWestTree> + + * Internal, governs and assists with the formation of the tree. + + <_leftEdge> + + * Internal, governs and assists with the formation of the tree. + + <_rightEdge> + + * Internal, governs and assists with the formation of the tree. + + <_topEdge> + + * Internal, governs and assists with the formation of the tree. + + <_bottomEdge> + + * Internal, governs and assists with the formation of the tree. + + <_halfWidth> + + * Internal, governs and assists with the formation of the tree. + + <_halfHeight> + + * Internal, governs and assists with the formation of the tree. + + <_midpointX> + + * Internal, governs and assists with the formation of the tree. + + <_midpointY> + + * Internal, governs and assists with the formation of the tree. + + + + + + + + + + + + + * Clean up memory. + + + + + + + + + + + + + + + + + + * Load objects and/or groups into the quad tree, and register notify and processing callbacks. + * @param ObjectOrGroup1 Any object that is or extends FlxObject or FlxGroup. + * @param ObjectOrGroup2 Any object that is or extends FlxObject or FlxGroup. If null, the first parameter will be checked against itself. + * @param NotifyCallback A function with the form myFunction(Object1:FlxObject,Object2:FlxObject):void that is called whenever two objects are found to overlap in world space, and either no ProcessCallback is specified, or the ProcessCallback returns true. + * @param ProcessCallback A function with the form myFunction(Object1:FlxObject,Object2:FlxObject):Boolean that is called whenever two objects are found to overlap in world space. The NotifyCallback is only called if this function returns true. See FlxObject.separate(). + + + + + + + + flixel.group.FlxTypedGroup.resolveGroup + * Call this function to add an object to the root of the tree. + * This function will recursively add all group members, but + * not the groups themselves. + * @param ObjectOrGroup FlxObjects are just added, FlxGroups are recursed and their applicable members added accordingly. + * @param List A int flag indicating the list to which you want to add the objects. Options are A_LIST and B_LIST. + + + + * Internal function for recursively navigating and creating the tree + * while adding objects to the appropriate nodes. + + + + * Internal function for recursively adding objects to leaf lists. + + + + * FlxQuadTree's other main function. Call this after adding objects + * using FlxQuadTree.load() to compare the objects that you loaded. + * @return Whether or not any overlaps were found. + + + + * An internal function for comparing an object against the contents of a node. + * @return Whether or not any overlaps were found. + + + + + + + + + + + * Private, use recycle instead. + + * A fairly generic quad tree structure for rapid overlap checks. + * FlxQuadTree is also configured for single or dual list operation. + * You can add items either to its A list or its B list. + * When you do an overlap check, you can compare the A list to itself, + * or the A list against the B list. Handy for different things! + + + + + + + * The x position of this sound in world coordinates. + * Only really matters if you are doing proximity/panning stuff. + + + + * The y position of this sound in world coordinates. + * Only really matters if you are doing proximity/panning stuff. + + + + * Whether or not this sound should be automatically destroyed when you switch states. + + + + * The ID3 song name. Defaults to null. Currently only works for streamed sounds. + + + + * The ID3 artist name. Defaults to null. Currently only works for streamed sounds. + + + + * Stores the average wave amplitude of both stereo channels + + + + * Just the amplitude of the left stereo channel + + + + * Just the amplitude of the left stereo channel + + + + * Whether to call `destroy()` when the sound has finished playing. + + + + * Tracker for sound complete callback. If assigned, will be called + * each time when sound reaches its end. + + + + * Pan amount. -1 = full left, 1 = full right. Proximity based panning overrides this. + + + + * Whether or not the sound is currently playing. + + + + * Set volume to a value between 0 and 1 to change how this sound is. + + + + + * The length of the sound in milliseconds. + * @since 4.2.0 + + + + * The sound group this sound belongs to + + + + * Whether or not this sound should loop. + + + + 0 + * In case of looping, the point (in milliseconds) from where to restart the sound when it loops back + * @since 4.1.0 + + + + * At which point to stop playing the sound, in milliseconds. + * If not set / `null`, the sound completes normally. + * @since 4.2.0 + + + + * The tween used to fade this sound's volume in and out (set via `fadeIn()` and `fadeOut()`) + * @since 4.1.0 + + <_sound> + + flixel.system.frontEnds.SoundFrontEnd.load + * Internal tracker for a Flash sound object. + + <_channel> + + * Internal tracker for a Flash sound channel object. + + <_transform> + + * Internal tracker for a Flash sound transform object. + + <_paused> + + * Internal tracker for whether the sound is paused or not (not the same as stopped). + + <_volume> + + * Internal tracker for volume. + + <_time expr="0"> + + 0 + * Internal tracker for sound channel position. + + <_length expr="0"> + + 0 + * Internal tracker for sound length, so that length can still be obtained while a sound is paused, because _sound becomes null. + + <_volumeAdjust expr="1.0"> + + 1.0 + * Internal tracker for total volume adjustment. + + <_target> + + * Internal tracker for the sound's "target" (for proximity and panning). + + <_radius> + + * Internal tracker for the maximum effective radius of this sound (for proximity and panning). + + <_proximityPan> + + * Internal tracker for whether to pan the sound left and right. Default is false. + + <_alreadyPaused expr="false"> + + false + * Helper var to prevent the sound from playing after focus was regained when it was already paused. + + + + * An internal function for clearing all the variables used by sounds. + + + + + + + + * Handles fade out, fade in, panning, proximity, and amplitude operations each frame. + + + + + + + + + + + { AutoDestroy : false, Looped : false } + * One of the main setup functions for sounds, this function loads a sound from an embedded MP3. + * + * @param EmbeddedSound An embedded Class object representing an MP3 file. + * @param Looped Whether or not this sound should loop endlessly. + * @param AutoDestroy Whether or not this FlxSound instance should be destroyed when the sound finishes playing. + * Default value is false, but `FlxG.sound.play()` and `FlxG.sound.stream()` will set it to true by default. + * @param OnComplete Called when the sound finished playing + * @return This FlxSound instance (nice for chaining stuff together, if you're into that). + + + + + + + + + + + { AutoDestroy : false, Looped : false } + * One of the main setup functions for sounds, this function loads a sound from a URL. + * + * @param SoundURL A string representing the URL of the MP3 file you want to play. + * @param Looped Whether or not this sound should loop endlessly. + * @param AutoDestroy Whether or not this FlxSound instance should be destroyed when the sound finishes playing. + * Default value is false, but `FlxG.sound.play()` and `FlxG.sound.stream()` will set it to true by default. + * @param OnComplete Called when the sound finished playing + * @param OnLoad Called when the sound finished loading. + * @return This FlxSound instance (nice for chaining stuff together, if you're into that). + + + + + + + + + { AutoDestroy : false, Looped : false } + + + + + + + + + + + { Pan : true } + * Call this function if you want this sound's volume to change + * based on distance from a particular FlxObject. + * + * @param X The X position of the sound. + * @param Y The Y position of the sound. + * @param TargetObject The object you want to track. + * @param Radius The maximum distance this sound can travel. + * @param Pan Whether panning should be used in addition to the volume changes. + * @return This FlxSound instance (nice for chaining stuff together, if you're into that). + + + + + + + + + { StartTime : 0.0, ForceRestart : false } + * Call this function to play the sound - also works on paused sounds. + * + * @param ForceRestart Whether to start the sound over or not. + * Default value is false, meaning if the sound is already playing or was + * paused when you call play(), it will continue playing from its current + * position, NOT start again from the beginning. + * @param StartTime At which point to start playing the sound, in milliseconds. + * @param EndTime At which point to stop playing the sound, in milliseconds. + * If not set / `null`, the sound completes normally. + + + + * Unpause a sound. Only works on sounds that have been paused. + + + + * Call this function to pause this sound. + + + + * Call this function to stop this sound. + + + + + + + + + + + + { To : 0, Duration : 1 } + * Helper function that tweens this sound's volume. + * + * @param Duration The amount of time the fade-out operation should take. + * @param To The volume to tween to, 0 by default. + + + + + + + + + + + + + { To : 1, From : 0, Duration : 1 } + * Helper function that tweens this sound's volume. + * + * @param Duration The amount of time the fade-in operation should take. + * @param From The volume to tween from, 0 by default. + * @param To The volume to tween to, 1 by default. + + + + + + + + * Returns the currently selected "real" volume of the sound (takes fades and proximity into account). + * + * @return The adjusted volume of the sound. + + + + + + + + { Y : 0, X : 0 } + * Helper function to set the coordinates of this object. + * Sound positioning is used in conjunction with proximity/panning. + * + * @param X The new x position + * @param Y The new y position + + + + flixel.system.FlxSoundGroup + * Call after adjusting the volume to update the sound channel's settings. + + + + + + + * An internal helper function used to attempt to start playing + * the sound and populate the _channel variable. + + + + + + + * An internal helper function used to help Flash + * clean up finished sounds or restart looped sounds. + + + + + + + + { resetPosition : true } + * An internal helper function used to help Flash clean up (and potentially re-use) finished sounds. + * Will stop the current sound and destroy the associated SoundChannel, plus, + * any other commands ordered by the passed in parameters. + * + * @param destroySound Whether or not to destroy the sound. If this is true, + * the position and fading will be reset as well. + * @param resetPosition Whether or not to reset the position of the sound. + + + + + + + * Internal event handler for ID3 info (i.e. fetching the song name). + + + + flixel.system.frontEnds.SoundFrontEnd + + + + flixel.system.frontEnds.SoundFrontEnd + + + + + + + + + + + + + + + + + + + + + + + + + + * The FlxSound constructor gets all the variables initialized, but NOT ready to play a sound yet. + + * This is the universal flixel sound object, used for streaming, music, and sound effects. + + + + + + [] + * The sounds in this group + + + + * The volume of this group + + + + + + + * Add a sound to this group + * @param sound The sound to add to this group + * @return True if sound was successfully added, false otherwise + + + + + + + * Remove a sound from this group + * @param sound The sound to remove + * @return True if sound was successfully removed, false otherwise + + + + * Call this function to pause all sounds in this group. + * @since 4.3.0 + + + + * Unpauses all sounds in this group. Only works on sounds that have been paused. + * @since 4.3.0 + + + + + + + + + + + { volume : 1 } + * Create a new sound group + * @param volume The initial volume of this group + + * A way of grouping sounds for things such as collective volume control + + + + + + + + false + * @since 4.8.0 + + <_sprite> + <_gfx> + <_text> + <_times> + <_colors> + <_functions> + <_curPart expr="0"> + + 0 + + <_cachedBgColor> + <_cachedTimestep> + <_cachedAutoPause> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { Size : 12, Color : FlxColor.WHITE, Y : 0, X : 0 } + + + + + + + + + + + { Size : 12, Color : FlxColor.WHITE, Y : 0, X : 0 } + + + + + + + flixel.system + + + + + + + + "__ASSET__:bitmap_flixel_system_debug__FlxDebugger_GraphicFlixel" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + "assets/images/debugger/flixel.png" + + + + + + + "__ASSET__:bitmap_flixel_system_debug__FlxDebugger_GraphicDrawDebug" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + "assets/images/debugger/buttons/drawDebug.png" + + + + + + + "__ASSET__:bitmap_flixel_system_debug_GraphicLog" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + "assets/images/debugger/buttons/log.png" + + + + + + + + "__ASSET__:bitmap_flixel_system_debug_GraphicStats" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + "assets/images/debugger/buttons/stats.png" + + + + + + + + "__ASSET__:bitmap_flixel_system_debug_GraphicWatch" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + "assets/images/debugger/buttons/watch.png" + + + + + + + + "__ASSET__:bitmap_flixel_system_debug_GraphicBitmapLog" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + "assets/images/debugger/buttons/bitmapLog.png" + + + + + + + + "__ASSET__:bitmap_flixel_system_debug_GraphicConsole" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + "assets/images/debugger/buttons/console.png" + + + + + + + + "__ASSET__:bitmap_flixel_system_debug_GraphicArrowLeft" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + "assets/images/debugger/buttons/arrowLeft.png" + + + + + + + + "__ASSET__:bitmap_flixel_system_debug_GraphicArrowRight" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + "assets/images/debugger/buttons/arrowRight.png" + + + + + + + + "__ASSET__:bitmap_flixel_system_debug_GraphicCloseButton" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + "assets/images/debugger/buttons/close.png" + + + + + + + + "__ASSET__:bitmap_flixel_system_debug_GraphicInteractive" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + "assets/images/debugger/buttons/interactive.png" + + + + + + + * Container for the new debugger overlay. Most of the functionality is in the debug folder widgets, + * but this class instantiates the widgets and handles their basic formatting and arrangement. + + + + + + + + + + + + + <_tooltips expr="[]" line="18" static="1"> + + [] + + <_container static="1"> + + + + + + + + + + + + + + * Manages tooltips to be used within the debugger. + + + + + + + 0xFF3A3A3A + * The background color of all tooltips. + + + + 0.8 + * Alpha applied to the tooltips text. + + + + 10 + * How many pixels the tooltip should be away from the target in the x axis. + + + + 10 + * How many pixels the tooltip should be away from the target in the y axis. + + <_width> + + * Width of the tooltip. Using Sprite.width is super unreliable for some reason! + + <_height> + + * Height of the tooltip. Using Sprite.height is super unreliable for some reason! + + <_background> + + * Main elements + + <_shadow> + + + * Texfield used by the tooltip to display text. If you change anything in the textfield, + * be sure to call the proper methods of the tooltip to ensure it keeps a correct size, etc. + * If you just want to change the text of the tooltip, use the method `setText()` instead, since + * it takes care of properly resizing and positioning the tooltip after the text changes. + + + + * The element the tooltip is monitoring. + + + + * Maximum size allowed for the tooltip. A negative value (or zero) makes + * the tooltip auto-adjust its size to properly house its text. + + + + * Clean up memory. + + + + + + + + * Resize the tooltip. Subject to pre-specified minimums, maximums, and bounding rectangles. + * + * @param Width How wide to make the tooltip. If zero is specified, the tooltip will adjust its size to properly accommodate the text. + * @param Height How tall to make the tooltip. If zero is specified, the tooltip will adjust its size to properly accommodate the text. + + + + + + + + * Change the position of the tooltip. + * + * @param X Desired X position of top left corner of the tooltip. + * @param Y Desired Y position of top left corner of the tooltip. + + + + + + + + + + + * Change the text of the tooltip. + * + * @param Text Text to be used in the tooltip. + + + + + + + * Update the Flash shapes to match the new size, and reposition the header, shadow, and handle accordingly. + + + + + + + + + + + + + + + { height : 0, width : 0 } + * Creates a new tooltip. + * + * @param target Element the tooltip will monitor. If the tooltip is being used in "stand alone" fashion, i.e. not monitoring any element, then use `null` as the target. + * @param text Text displayed with this tooltip. + * @param width Width of the tooltip. If a negative value (or zero) is specified, the tooltip will adjust its width to properly accommodate the text. + * @param height Height of the tooltip. If a negative value (or zero) is specified, the tooltip will adjust its height to properly accommodate the text. + + * A generic, Flash-based tooltip class, created for use in FlxDebugger. + + + + + + + "__ASSET__:bitmap_flixel_system_debug__Window_GraphicWindowHandle" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + "assets/images/debugger/windowHandle.png" + + + + + + + 0xDD5F5F5F + * The background color of the window. + + + + 0xBB000000 + + + + 0.8 + + + + 15 + + + + 0 + * How many windows there are currently in total. + + + + + <_width> + + * Width of the window. Using Sprite.width is super unreliable for some reason! + + <_height> + + * Height of the window. Using Sprite.height is super unreliable for some reason! + + <_bounds> + + * Controls where the window is allowed to be positioned. + + <_background> + + * Window elements + + <_header> + <_shadow> + <_title> + <_handle> + <_icon> + <_closeButton> + <_overHeader> + + * Interaction helpers. + + <_overHandle> + <_drag> + <_dragging> + <_resizing> + <_resizable> + <_closable> + <_alwaysOnTop> + <_id> + + * The ID of this window. + + + + * Clean up memory. + + + + + + + + * Resize the window. Subject to pre-specified minimums, maximums, and bounding rectangles. + * + * @param Width How wide to make the window. + * @param Height How tall to make the window. + + + + + + + + * Change the position of the window. Subject to pre-specified bounding rectangles. + * + * @param X Desired X position of top left corner of the window. + * @param Y Desired Y position of top left corner of the window. + + + + + + + + + + + + + + + + + + + * Used to set up basic mouse listeners.. + + + + + + + * Mouse movement handler. Figures out if mouse is over handle or header bar or what. + + + + + + + * Figure out if window is being repositioned (clicked on header) or resized (clicked on handle). + + + + + + + * User let go of header bar or handler (or nothing), so turn off drag and resize behaviors. + + + + * Keep the window within the pre-specified bounding rectangle. + + + + * Update the Flash shapes to match the new size, and reposition the header, shadow, and handle accordingly. + + + + + + + + + + + + + + + { AlwaysOnTop : true, Closable : false, Resizable : true, Height : 0, Width : 0 } + * Creates a new window object. This Flash-based class is mainly (only?) used by FlxDebugger. + * + * @param Title The name of the window, displayed in the header bar. + * @param Icon The icon to use for the window header. + * @param Width The initial width of the window. + * @param Height The initial height of the window. + * @param Resizable Whether you can change the size of the window with a drag handle. + * @param Bounds A rectangle indicating the valid screen area for the window. + * @param Closable Whether this window has a close button that removes the window. + * @param AlwaysOnTop Whether this window should be forcibly put in front of any other window when clicked. + + * A generic, Flash-based window class, created for use in FlxDebugger. + + + + + "Entry Value" + + + + "Entry Type" + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [] + + + + + 0 + + + + 0 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + closer to the filter) have a higher priority]]> + + + + + + + + * Custom startsWith() that ignores leading underscores. + + + + + + + + + + + + + + + 150 + + + + 20 + + + + 0xFF5F5F5F + + + + 0xFF6D6D6D + + + + 4 + + + + + + false + + + + + + + + + + + + + + + + + + + + 0xFF444444 + + + + 0xFF222222 + + + + + + + + + + + + + + + + + + + + + 50 + + + + + + 0 + + + + + + + + + + + + + + + * The hscript parser to make strings into haxe code. + + + + * The custom hscript interpreter to run the haxe code from the parser. + + + + * Sets up the hscript parser and interpreter. + + + + + + + * Converts the input string into its AST form to be executed. + * + * @param Input The user's input command. + * @return The parsed out AST. + + + + + + + * Parses and runs the input command. + * + * @param Input The user's input command. + * @return Whatever the input code evaluates to. + + + + + + + * Runs the input expression. + * @param Parsed The parsed form of the user's input command. + * @return Whatever the input code evaluates to. + + + + + + + + * Register a new object to use in any command. + * + * @param ObjectAlias The name with which you want to access the object. + * @param AnyObject The object to register. + + + + + + + + * Register a new function to use in any command. + * + * @param FunctionAlias The name with which you want to access the function. + * @param Function The function to register. + + + + + + + + + + + + + + + * Shortcut to log a text with the Console LogStyle. + * + * @param Text The text to log. + + * A set of helper functions used by the console. + + + + + + + + + + + + + [] + + + + + + + + + + + + [] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + [] + + <__instanceFields expr="[]"> + + [] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { rethrow : false } + + + + + + + + + + + + { doException : true } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * hscript doesn't use property access by default... have to make our own. + + + + + + + + new FlxTypedGroup() + + + + new FlxPoint() + + + + false + + + + false + + + + false + + + + true + * Control if an outline should be drawn on selected elements. + * Tools can set this property to `false` if they want to draw custom + * selection marks, for instance. + + <_container> + <_customCursor> + <_tools expr="[]"> + + [] + + <_turn expr="2"> + + 2 + + <_keysDown expr="new Map()"> + + + + + new Map() + + <_keysUp expr="new Map()"> + + + + + new Map() + + <_wasMouseVisible> + <_wasUsingSystemCursor> + <_debuggerInteraction expr="false"> + + false + + <_flixelPointer expr="new FlxPointer()"> + + new FlxPointer() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * Add a new tool to the interaction system. + * + * Any tool added to the interaction system must extend the class + * `flixel.system.debug.interaction.tools.Tool`. The class contains several methods + * that can be used to provide new funcionalities to the interaction, or they can be + * overridden to alter existing behavior. For instance, tools can draw things on the + * screen, they can be activated when the user clicks a button, and so on. Check + * the classes in the package `flixel.system.debug.interaction.tools` for examples. + * + * @param tool instance of a tool that will be added to the interaction system. + + + + * Clean up memory. + + + + + + * Called after the game state has been drawn. + + + + + + + + + * Obtain a reference to a tool that has been added to the interaction system and is + * available for use. This method can be used to access information provided by any + * tool in the system, or to change their behavior. + * + * @param className name of the class to be fetched, e.g. `flixel.system.debug.interaction.tools.Pointer`. + * @return Tool reference to the first tool found whose type matches the class name provided. If no tool is found, `null` is returned. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * Informs whether the interactive debug is in use or not. Usage is defined + * as the interactive debug being visible and one of its tools is selected/active. + * + * @return `true` if the interactive debug is visible and one of its tools is selected/active. + + + + + + + + + + + + + + + flixel.group.FlxTypedGroup + * Find all items within an area. In order to improve performance and reduce temporary allocations, + * the method has no return, you must pass an array where items will be placed. The method decides + * if an item is within the searching area or not by checking if the item's hitbox (obtained from + * `getHitbox()`) overlaps the area parameter. + * + * @param items array where the method will place all found items. Any previous content in the array will be preserved. + * @param members array where the method will recursively search for items. + * @param area a rectangle that describes the area where the method should search within. + + + + + + * Adds a new functionality to Flixel debugger that allows any object + * on the screen to be dragged, moved or deleted while the game is + * still running. + * + * @author Fernando Bevilacqua (dovyski@gmail.com) + + + + + + "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Eraser_GraphicEraserTool" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + "assets/images/debugger/buttons/eraser.png" + + + + + + + + + + "" + + <_name expr=""(Unknown tool)""> + + "(Unknown tool)" + + <_shortcut> + <_brain> + + + + + + + + + + + + + + + + + + + + * Set the default icon for the tool. The default icon is used when + * the tool is selected in the interaction window toolbar. Tools + * can have more than one cursor, e.g. a custom cursor to indicate + * that a specific action is happening. Use `setCursorInUse()` to + * learn more about custom cursors. + + + + + + + * Make the tool use a custom cursor that it is not its default one. + * This is particularly useful to indicate to users that a particular + * action of the tool is happening, e.g. rotating something. + * Any custom cursor to be used must be previously registed via + * `Interaction#registerCustomCursor()`. + * + * @param customCursorName Name of the custom cursor that will be used from now on for the tool. If an empty string is informed, the tool's default icon (informed via `setCursor()`) will be used. + + + + * Make the tool use its default cursor, which was informed via `setCursor()`. + + + + + * The base class of all tools in the interactive debug. + * + * @author Fernando Bevilacqua (dovyski@gmail.com) + + + + + + + + + + + + + + + + + + + + { remove : false } + + + + + + + + * A tool to delete items from the screen. + * + * @author Fernando Bevilacqua (dovyski@gmail.com) + + + + + + + "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Mover_GraphicMoverTool" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + "assets/images/debugger/buttons/mover.png" + + + + + <_dragging expr="false"> + + false + + <_lastCursorPosition> + + + + + + + + + + * A tool to move selected items. + * + * @author Fernando Bevilacqua (dovyski@gmail.com) + + + + + + + "__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicCursorCross" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + "assets/images/debugger/cursorCross.png" + + + + + <_selectionStartPoint expr="new FlxPoint()"> + + new FlxPoint() + + <_selectionEndPoint expr="new FlxPoint()"> + + new FlxPoint() + + <_selectionHappening expr="false"> + + false + + <_selectionCancelled expr="false"> + + false + + <_selectionArea expr="new FlxRect()"> + + new FlxRect() + + <_itemsInSelectionArea expr="[]"> + + [] + + + + + + + + + + * Start a selection area. A selection area is a rectangular shaped area + * whose boundaries will be used to select game elements. + + + + * Cancel any selection activity that is happening, removing the selection rectangle from the screen. + * Any item within the (canceled) selection area will be ignored. If you want to stop the selection + * and actually process the action/items, use `stopSelection()`. + + + + + + + { findItems : true } + * Stop any selection activity that is happening. + * + * @param findItems If `true` (default), all items within the (stopped) selection area will be included in the list of selected items of the tool. + + + + * We register the current selection to the console for easy interaction. + + + + + + + + * A tool to use the mouse cursor to select game elements. + * + * @author Fernando Bevilacqua (dovyski@gmail.com) + + + + + + + "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Transform_GraphicTransformTool" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + "assets/images/debugger/buttons/transform.png" + + + + + + + "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Transform_GraphicTransformCursorDefault" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + "assets/images/debugger/cursorCross.png" + + + + + + + "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Transform_GraphicTransformCursorScaleY" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + "assets/images/debugger/cursors/transformScaleY.png" + + + + + + + "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Transform_GraphicTransformCursorScaleX" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + "assets/images/debugger/cursors/transformScaleX.png" + + + + + + + "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Transform_GraphicTransformCursorScaleXY" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + "assets/images/debugger/cursors/transformScaleXY.png" + + + + + + + "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Transform_GraphicTransformCursorRotate" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + "assets/images/debugger/cursors/transformRotate.png" + + + + + + + 5.0 + + + + 3.0 + + + + 5.0 + + + + 10.0 + + + + "transformRotate" + + + + "transformScaleX" + + + + "transformScaleY" + + + + "transformScaleXY" + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + <_actionTargetStartScale expr="new FlxPoint()"> + + new FlxPoint() + + <_actionTargetStartAngle> + <_actionStartPoint expr="new FlxPoint()"> + + new FlxPoint() + + <_actionHappening> + <_actionMarker> + <_actionScaleDirection expr="new FlxPoint()"> + + new FlxPoint() + + <_tooltip> + <_markers expr="[]"> + + [] + + <_target> + <_targetArea expr="new FlxRect()"> + + new FlxRect() + + <_mouseCursor expr="new FlxPoint()"> + + new FlxPoint() + + + + + + + + + + + + * Start an interaction with a marker. Depending on the marker being used, the interaction + * can be to resize or rotate something. + + + + * Stop any interaction activity that is happening with any marker. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * A tool to scale and rotate selected game elements. + * + * @author Fernando Bevilacqua (dovyski@gmail.com) + + + + + + new LogStyle() + + + + new LogStyle("[WARNING] ", "D9F85C", 12, false, false, false, "flixel/sounds/beep", true) + + + + new LogStyle("[ERROR] ", "FF8888", 12, false, false, false, "flixel/sounds/beep", true) + + + + new LogStyle("[NOTICE] ", "5CF878", 12, false) + + + + ", "5A96FA", 12, false)]]> + + + + * A prefix which is always attached to the start of the logged data. + + + + + + + + + * A sound to be played when this LogStyle is used. + + + + * Whether the console should be forced to open when this LogStyle is used. + + + + * A callback function that is called when this LogStyle is used. + + + + + + + + + + + + + + + { OpenConsole : false, Underlined : false, Italic : false, Bold : false, Size : 12, Color : "FFFFFF", Prefix : "" } + * Create a new LogStyle to be used in conjunction with FlxG.log.advanced() + * + * @param Prefix A prefix which is always attached to the start of the logged data. + * @param Color The text color. + * @param Size The text size. + * @param Bold Whether the text is bold or not. + * @param Italic Whether the text is italic or not. + * @param Underlined Whether the text is underlined or not. + * @param ErrorSound A sound to be played when this LogStyle is used. + * @param OpenConsole Whether the console should be forced to open when this LogStyle is used. + * @param CallbackFunction A callback function that is called when this LogStyle is used. + + * A class that allows you to create a custom style for FlxG.log.advanced(). + * Also used internally for the pre-defined styles. + + + + + + + "__ASSET__:bitmap_flixel_system_debug_stats__Stats_GraphicMinimizeButton" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + "assets/images/debugger/buttons/minimize.png" + + + + + + + "__ASSET__:bitmap_flixel_system_debug_stats__Stats_GraphicMaximizeButton" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + "assets/images/debugger/buttons/maximize.png" + + + + + <__defaultTextFormat static="1"> + + + + <__missingFontWarning expr="new Map()" line="127" static="1"> + + + + + + new Map() + + + + + + When set to `true` and the text field is not in focus, Flash Player + highlights the selection in the text field in gray. When set to + `false` and the text field is not in focus, Flash Player does not + highlight the selection in the text field. + + @default false + + + + Controls automatic sizing and alignment of text fields. Acceptable values + for the `TextFieldAutoSize` constants: + `TextFieldAutoSize.NONE`(the default), + `TextFieldAutoSize.LEFT`, `TextFieldAutoSize.RIGHT`, + and `TextFieldAutoSize.CENTER`. + + If `autoSize` is set to `TextFieldAutoSize.NONE` + (the default) no resizing occurs. + + If `autoSize` is set to `TextFieldAutoSize.LEFT`, + the text is treated as left-justified text, meaning that the left margin + of the text field remains fixed and any resizing of a single line of the + text field is on the right margin. If the text includes a line break(for + example, `"\n"` or `"\r"`), the bottom is also + resized to fit the next line of text. If `wordWrap` is also set + to `true`, only the bottom of the text field is resized and the + right side remains fixed. + + If `autoSize` is set to + `TextFieldAutoSize.RIGHT`, the text is treated as + right-justified text, meaning that the right margin of the text field + remains fixed and any resizing of a single line of the text field is on + the left margin. If the text includes a line break(for example, + `"\n" or "\r")`, the bottom is also resized to fit the next + line of text. If `wordWrap` is also set to `true`, + only the bottom of the text field is resized and the left side remains + fixed. + + If `autoSize` is set to + `TextFieldAutoSize.CENTER`, the text is treated as + center-justified text, meaning that any resizing of a single line of the + text field is equally distributed to both the right and left margins. If + the text includes a line break(for example, `"\n"` or + `"\r"`), the bottom is also resized to fit the next line of + text. If `wordWrap` is also set to `true`, only the + bottom of the text field is resized and the left and right sides remain + fixed. + + @throws ArgumentError The `autoSize` specified is not a member + of openfl.text.TextFieldAutoSize. + + + + Specifies whether the text field has a background fill. If + `true`, the text field has a background fill. If + `false`, the text field has no background fill. Use the + `backgroundColor` property to set the background color of a + text field. + + @default false + + + + The color of the text field background. The default value is + `0xFFFFFF`(white). This property can be retrieved or set, even + if there currently is no background, but the color is visible only if the + text field has the `background` property set to + `true`. + + + + Specifies whether the text field has a border. If `true`, the + text field has a border. If `false`, the text field has no + border. Use the `borderColor` property to set the border color. + + @default false + + + + The color of the text field border. The default value is + `0x000000`(black). This property can be retrieved or set, even + if there currently is no border, but the color is visible only if the text + field has the `border` property set to `true`. + + + + An integer(1-based index) that indicates the bottommost line that is + currently visible in the specified text field. Think of the text field as + a window onto a block of text. The `scrollV` property is the + 1-based index of the topmost visible line in the window. + + All the text between the lines indicated by `scrollV` and + `bottomScrollV` is currently visible in the text field. + + + + The index of the insertion point(caret) position. If no insertion point + is displayed, the value is the position the insertion point would be if + you restored focus to the field(typically where the insertion point last + was, or 0 if the field has not had focus). + + Selection span indexes are zero-based(for example, the first position + is 0, the second position is 1, and so on). + + + + ` and `

` to place line breaks in the text field. + + Set the `condenseWhite` property before setting the `htmlText` + property.]]> + + + + Specifies whether the text field is a password text field. If the value of + this property is `true`, the text field is treated as a + password text field and hides the input characters using asterisks instead + of the actual characters. If `false`, the text field is not + treated as a password text field. When password mode is enabled, the Cut + and Copy commands and their corresponding keyboard shortcuts will not + function. This security mechanism prevents an unscrupulous user from using + the shortcuts to discover a password on an unattended computer. + + @default false + + + + Specifies whether to render by using embedded font outlines. If + `false`, Flash Player renders the text field by using device + fonts. + + If you set the `embedFonts` property to `true` + for a text field, you must specify a font for that text by using the + `font` property of a TextFormat object applied to the text + field. If the specified font is not embedded in the SWF file, the text is + not displayed. + + @default false + + + + The type of grid fitting used for this text field. This property + applies only if the `openfl.text.AntiAliasType` property of the text + field is set to `openfl.text.AntiAliasType.ADVANCED`. + The type of grid fitting used determines whether Flash Player forces + strong horizontal and vertical lines to fit to a pixel or subpixel + grid, or not at all. + + For the `openfl.text.GridFitType` property, you can use the following + string values: + + | String value | Description | + | --- | --- | + | `openfl.text.GridFitType.NONE` | Specifies no grid fitting. Horizontal and vertical lines in the glyphs are not forced to the pixel grid. This setting is recommended for animation or for large font sizes. | + | `openfl.text.GridFitType.PIXEL` | Specifies that strong horizontal and vertical lines are fit to the pixel grid. This setting works only for left-aligned text fields. To use this setting, the `openfl.dispaly.AntiAliasType` property of the text field must be set to `openfl.text.AntiAliasType.ADVANCED`. This setting generally provides the best legibility for left-aligned text. | + | `openfl.text.GridFitType.SUBPIXEL` | Specifies that strong horizontal and vertical lines are fit to the subpixel grid on an LCD monitor. To use this setting, the `openfl.text.AntiAliasType` property of the text field must be set to `openfl.text.AntiAliasType.ADVANCED`. The `openfl.text.GridFitType.SUBPIXEL` setting is often good for right-aligned or centered dynamic text, and it is sometimes a useful trade-off for animation versus text quality. | + + @default pixel + + + + ` tag creates a hypertext link and supports the following attributes:

  • `target`: Specifies the name of the target window where you load the page. Options include `_self`, `_blank`, `_parent`, and `_top`. The `_self` option specifies the current frame in the current window, `_blank` specifies a new window, `_parent` specifies the parent of the current frame, and `_top` specifies the top-level frame in the current window.
  • `href`: Specifies a URL or an ActionScript `link` event.The URL can be either absolute or relative to the location of the SWF file that is loading the page. An example of an absolute reference to a URL is `http://www.adobe.com`; an example of a relative reference is `/index.html`. Absolute URLs must be prefixed with http://; otherwise, Flash Player or AIR treats them as relative URLs. You can use the `link` event to cause the link to execute an ActionScript function in a SWF file instead of opening a URL. To specify a `link` event, use the event scheme instead of the http scheme in your `href` attribute. An example is `href="event:myText"` instead of `href="http://myURL"`; when the user clicks a hypertext link that contains the event scheme, the text field dispatches a `link` TextEvent with its `text` property set to "`myText`". You can then create an ActionScript function that executes whenever the link TextEvent is dispatched. You can also define `a:link`, `a:hover`, and `a:active` styles for anchor tags by using style sheets.
| + | Bold tag | The `` tag renders text as bold. A bold typeface must be available for the font used. | + | Break tag | The `
` tag creates a line break in the text field. Set the text field to be a multiline text field to use this tag. | + | Font tag | The `` tag specifies a font or list of fonts to display the text.The font tag supports the following attributes:
  • `color`: Only hexadecimal color (`#FFFFFF`) values are supported.
  • `face`: Specifies the name of the font to use. As shown in the following example, you can specify a list of comma-delimited font names, in which case Flash Player selects the first available font. If the specified font is not installed on the local computer system or isn't embedded in the SWF file, Flash Player selects a substitute font.
  • `size`: Specifies the size of the font. You can use absolute pixel sizes, such as 16 or 18, or relative point sizes, such as +2 or -4.
| + | Image tag | The `` tag lets you embed external image files (JPEG, GIF, PNG), SWF files, and movie clips inside text fields. Text automatically flows around images you embed in text fields. You must set the text field to be multiline to wrap text around an image.
The `` tag supports the following attributes:
  • `src`: Specifies the URL to an image or SWF file, or the linkage identifier for a movie clip symbol in the library. This attribute is required; all other attributes are optional. External files (JPEG, GIF, PNG, and SWF files) do not show until they are downloaded completely.
  • `width`: The width of the image, SWF file, or movie clip being inserted, in pixels.
  • `height`: The height of the image, SWF file, or movie clip being inserted, in pixels.
  • `align`: Specifies the horizontal alignment of the embedded image within the text field. Valid values are `left` and `right`. The default value is `left`.
  • `hspace`: Specifies the amount of horizontal space that surrounds the image where no text appears. The default value is 8.
  • `vspace`: Specifies the amount of vertical space that surrounds the image where no text appears. The default value is 8.
  • `id`: Specifies the name for the movie clip instance (created by Flash Player) that contains the embedded image file, SWF file, or movie clip. This approach is used to control the embedded content with ActionScript.
  • `checkPolicyFile`: Specifies that Flash Player checks for a URL policy file on the server associated with the image domain. If a policy file exists, SWF files in the domains listed in the file can access the data of the loaded image, for example, by calling the `BitmapData.draw()` method with this image as the `source` parameter. For more information related to security, see the Flash Player Developer Center Topic: [Security](http://www.adobe.com/go/devnet_security_en).
Flash displays media embedded in a text field at full size. To specify the dimensions of the media you are embedding, use the `` tag `height` and `width` attributes.
In general, an image embedded in a text field appears on the line following the `` tag. However, when the `` tag is the first character in the text field, the image appears on the first line of the text field.
For AIR content in the application security sandbox, AIR ignores `img` tags in HTML content in ActionScript TextField objects. This is to prevent possible phishing attacks. | + | Italic tag | The `` tag displays the tagged text in italics. An italic typeface must be available for the font used. | + | List item tag | The `
  • ` tag places a bullet in front of the text that it encloses.
    **Note:** Because Flash Player and AIR do not recognize ordered and unordered list tags (`
      ` and `
        `, they do not modify how your list is rendered. All lists are unordered and all list items use bullets. | + | Paragraph tag | The `

        ` tag creates a new paragraph. The text field must be set to be a multiline text field to use this tag. The `

        ` tag supports the following attributes:

        • align: Specifies alignment of text within the paragraph; valid values are `left`, `right`, `justify`, and `center`.
        • class: Specifies a CSS style class defined by a openfl.text.StyleSheet object.
        | + | Span tag | The `` tag is available only for use with CSS text styles. It supports the following attribute:
        • class: Specifies a CSS style class defined by a openfl.text.StyleSheet object.
        | + | Text format tag | The `` tag lets you use a subset of paragraph formatting properties of the TextFormat class within text fields, including line leading, indentation, margins, and tab stops. You can combine `` tags with the built-in HTML tags.
        The `` tag has the following attributes:
      • `blockindent`: Specifies the block indentation in points; corresponds to `TextFormat.blockIndent`.
      • `indent`: Specifies the indentation from the left margin to the first character in the paragraph; corresponds to `TextFormat.indent`. Both positive and negative numbers are acceptable.
      • `leading`: Specifies the amount of leading (vertical space) between lines; corresponds to `TextFormat.leading`. Both positive and negative numbers are acceptable.
      • `leftmargin`: Specifies the left margin of the paragraph, in points; corresponds to `TextFormat.leftMargin`.
      • `rightmargin`: Specifies the right margin of the paragraph, in points; corresponds to `TextFormat.rightMargin`.
      • `tabstops`: Specifies custom tab stops as an array of non-negative integers; corresponds to `TextFormat.tabStops`.
      | + | Underline tag | The `` tag underlines the tagged text. | + + Flash Player and AIR support the following HTML entities: + + | Entity | Description | + | --- | --- | + | &lt; | < (less than) | + | &gt; | > (greater than) | + | &amp; | & (ampersand) | + | &quot; | " (double quotes) | + | &apos; | ' (apostrophe, single quote) | + + Flash Player and AIR also support explicit character codes, such as + & (ASCII ampersand) and € (Unicode € symbol).]]> + + + + The number of characters in a text field. A character such as tab + (`\t`) counts as one character. + + + + The maximum number of characters that the text field can contain, as + entered by a user. A script can insert more text than + `maxChars` allows; the `maxChars` property indicates + only how much text a user can enter. If the value of this property is + `0`, a user can enter an unlimited amount of text. + + @default 0 + + + + The maximum value of `scrollH`. + + + + The maximum value of `scrollV`. + + + + A Boolean value that indicates whether Flash Player automatically scrolls + multiline text fields when the user clicks a text field and rolls the mouse wheel. + By default, this value is `true`. This property is useful if you want to prevent + mouse wheel scrolling of text fields, or implement your own text field scrolling. + + + + Indicates whether field is a multiline text field. If the value is + `true`, the text field is multiline; if the value is + `false`, the text field is a single-line text field. In a field + of type `TextFieldType.INPUT`, the `multiline` value + determines whether the `Enter` key creates a new line(a value + of `false`, and the `Enter` key is ignored). If you + paste text into a `TextField` with a `multiline` + value of `false`, newlines are stripped out of the text. + + @default false + + + + Defines the number of text lines in a multiline text field. If + `wordWrap` property is set to `true`, the number of + lines increases when text wraps. + + + + This property does + not synchronize with the Embed font options in the Property inspector. + + If the string begins with a caret(^) character, all characters are + initially accepted and succeeding characters in the string are excluded + from the set of accepted characters. If the string does not begin with a + caret(^) character, no characters are initially accepted and succeeding + characters in the string are included in the set of accepted + characters. + + The following example allows only uppercase characters, spaces, and + numbers to be entered into a text field: + `my_txt.restrict = "A-Z 0-9";` + + The following example includes all characters, but excludes lowercase + letters: + `my_txt.restrict = "^a-z";` + + You can use a backslash to enter a ^ or - verbatim. The accepted + backslash sequences are \-, \^ or \\. The backslash must be an actual + character in the string, so when specified in ActionScript, a double + backslash must be used. For example, the following code includes only the + dash(-) and caret(^): + `my_txt.restrict = "\\-\\^";` + + The ^ can be used anywhere in the string to toggle between including + characters and excluding characters. The following code includes only + uppercase letters, but excludes the uppercase letter Q: + `my_txt.restrict = "A-Z^Q";` + + You can use the `\u` escape sequence to construct + `restrict` strings. The following code includes only the + characters from ASCII 32(space) to ASCII 126(tilde). + `my_txt.restrict = "\u0020-\u007E";` + + @default null]]> + + + + The current horizontal scrolling position. If the `scrollH` + property is 0, the text is not horizontally scrolled. This property value + is an integer that represents the horizontal position in pixels. + + The units of horizontal scrolling are pixels, whereas the units of + vertical scrolling are lines. Horizontal scrolling is measured in pixels + because most fonts you typically use are proportionally spaced; that is, + the characters can have different widths. Flash Player performs vertical + scrolling by line because users usually want to see a complete line of + text rather than a partial line. Even if a line uses multiple fonts, the + height of the line adjusts to fit the largest font in use. + + **Note: **The `scrollH` property is zero-based, not + 1-based like the `scrollV` vertical scrolling property. + + + + The vertical position of text in a text field. The `scrollV` + property is useful for directing users to a specific paragraph in a long + passage, or creating scrolling text fields. + + The units of vertical scrolling are lines, whereas the units of + horizontal scrolling are pixels. If the first line displayed is the first + line in the text field, scrollV is set to 1(not 0). Horizontal scrolling + is measured in pixels because most fonts are proportionally spaced; that + is, the characters can have different widths. Flash performs vertical + scrolling by line because users usually want to see a complete line of + text rather than a partial line. Even if there are multiple fonts on a + line, the height of the line adjusts to fit the largest font in use. + + + + A Boolean value that indicates whether the text field is selectable. The + value `true` indicates that the text is selectable. The + `selectable` property controls whether a text field is + selectable, not whether a text field is editable. A dynamic text field can + be selectable even if it is not editable. If a dynamic text field is not + selectable, the user cannot select its text. + + If `selectable` is set to `false`, the text in + the text field does not respond to selection commands from the mouse or + keyboard, and the text cannot be copied with the Copy command. If + `selectable` is set to `true`, the text in the text + field can be selected with the mouse or keyboard, and the text can be + copied with the Copy command. You can select text this way even if the + text field is a dynamic text field instead of an input text field. + + @default true + + + + The zero-based character index value of the first character in the current + selection. For example, the first character is 0, the second character is + 1, and so on. If no text is selected, this property is the value of + `caretIndex`. + + + + The zero-based character index value of the last character in the current + selection. For example, the first character is 0, the second character is + 1, and so on. If no text is selected, this property is the value of + `caretIndex`. + + + + The sharpness of the glyph edges in this text field. This property applies + only if the `openfl.text.AntiAliasType` property of the text + field is set to `openfl.text.AntiAliasType.ADVANCED`. The range + for `sharpness` is a number from -400 to 400. If you attempt to + set `sharpness` to a value outside that range, Flash sets the + property to the nearest value in the range(either -400 or 400). + + @default 0 + + + + Attaches a style sheet to the text field. For information on creating + style sheets, see the StyleSheet class and the _ActionScript 3.0 + Developer's Guide_. + You can change the style sheet associated with a text field at any + time. If you change the style sheet in use, the text field is redrawn + with the new style sheet. You can set the style sheet to `null` or + `undefined` to remove the style sheet. If the style sheet in use is + removed, the text field is redrawn without a style sheet. + + **Note:** If the style sheet is removed, the contents of both + `TextField.text` and ` TextField.htmlText` change to incorporate the + formatting previously applied by the style sheet. To preserve the + original `TextField.htmlText` contents without the formatting, save + the value in a variable before removing the style sheet. + + + + The color of the text in a text field, in hexadecimal format. The + hexadecimal color system uses six digits to represent color values. Each + digit has 16 possible values or characters. The characters range from 0-9 + and then A-F. For example, black is `0x000000`; white is + `0xFFFFFF`. + + @default 0(0x000000) + + + + The height of the text in pixels. + + + + The interaction mode property, Default value is + TextInteractionMode.NORMAL. On mobile platforms, the normal mode + implies that the text can be scrolled but not selected. One can switch + to the selectable mode through the in-built context menu on the text + field. On Desktop, the normal mode implies that the text is in + scrollable as well as selection mode. + + + + The type of the text field. Either one of the following TextFieldType + constants: `TextFieldType.DYNAMIC`, which specifies a dynamic + text field, which a user cannot edit, or `TextFieldType.INPUT`, + which specifies an input text field, which a user can edit. + + @default dynamic + @throws ArgumentError The `type` specified is not a member of + openfl.text.TextFieldType. + + + + Specifies whether to copy and paste the text formatting along with the + text. When set to `true`, Flash Player copies and pastes formatting + (such as alignment, bold, and italics) when you copy and paste between + text fields. Both the origin and destination text fields for the copy + and paste procedure must have `useRichTextClipboard` set to `true`. + The default value is `false`. + + <__bounds> + + + + <__caretIndex> + + + + <__cursorTimer> + + + + <__dirty> + + + + <__displayAsPassword> + + + + <__domRender> + + + + <__inputEnabled> + + + + <__isHTML> + + + + <__layoutDirty> + + + + <__mouseScrollVCounter expr="0"> + + + 0 + + + + <__mouseWheelEnabled> + + + + <__offsetX> + + + + <__offsetY> + + + + <__selectionIndex> + + + + <__showCursor> + + + + <__text> + + + + <__htmlText> + + + + <__textEngine> + + + + <__textFormat> + + + + + + + + + Appends the string specified by the `newText` parameter to the + end of the text of the text field. This method is more efficient than an + addition assignment(`+=`) on a `text` property + (such as `someTextField.text += moreText`), particularly for a + text field that contains a significant amount of content. + + @param newText The string to append to the existing text. + + + + + + + Returns a rectangle that is the bounding box of the character. + + @param charIndex The zero-based index value for the character (for + example, the first position is 0, the second position is + 1, and so on). + @return A rectangle with `x` and `y` minimum and + maximum values defining the bounding box of the character. + + + + + + + + Returns the zero-based index value of the character at the point specified + by the `x` and `y` parameters. + + @param x The _x_ coordinate of the character. + @param y The _y_ coordinate of the character. + @return The zero-based index value of the character(for example, the + first position is 0, the second position is 1, and so on). Returns + -1 if the point is not over any character. + + + + + + + Given a character index, returns the index of the first character in + the same paragraph. + + @param charIndex The zero-based index value of the character (for + example, the first character is 0, the second + character is 1, and so on). + @return The zero-based index value of the first character in the same + paragraph. + @throws RangeError The character index specified is out of range. + + + + + + + + ` tag. The `` tag is in the following format: + + ```html + + ``` + + @param id The `id` to match (in the `id` attribute of the `` + tag). + @return The display object corresponding to the image or SWF file with + the matching `id` attribute in the `` tag of the text + field. For media loaded from an external source, this object + is a Loader object, and, once loaded, the media object is a + child of that Loader object. For media embedded in the SWF + file, it is the loaded object. If no `` tag with the + matching `id` exists, the method returns `null`.]]> + + + + + + + Returns the zero-based index value of the line containing the + character specified by the `charIndex` parameter. + + @param charIndex The zero-based index value of the character (for + example, the first character is 0, the second + character is 1, and so on). + @return The zero-based index value of the line. + @throws RangeError The character index specified is out of range. + + + + + + + Returns the number of characters in a specific text line. + + @param lineIndex The line number for which you want the length. + @return The number of characters in the line. + @throws RangeError The line number specified is out of range. + + + + + + + Returns metrics information about a given text line. + + @param lineIndex The line number for which you want metrics information. + @return A TextLineMetrics object. + @throws RangeError The line number specified is out of range. + + + + + + + Returns the character index of the first character in the line that the + `lineIndex` parameter specifies. + + @param lineIndex The zero-based index value of the line(for example, the + first line is 0, the second line is 1, and so on). + @return The zero-based index value of the first character in the line. + @throws RangeError The line number specified is out of range. + + + + + + + Returns the text of the line specified by the `lineIndex` + parameter. + + @param lineIndex The zero-based index value of the line(for example, the + first line is 0, the second line is 1, and so on). + @return The text string contained in the specified line. + @throws RangeError The line number specified is out of range. + + + + + + + Given a character index, returns the length of the paragraph + containing the given character. The length is relative to the first + character in the paragraph (as returned by + `getFirstCharInParagraph()`), not to the character index passed in. + + @param charIndex The zero-based index value of the character (for + example, the first character is 0, the second + character is 1, and so on). + @return Returns the number of characters in the paragraph. + @throws RangeError The character index specified is out of range. + + + + + + + + { endIndex : -1, beginIndex : -1 } + Returns a TextFormat object that contains formatting information for + the range of text that the `beginIndex` and `endIndex` parameters + specify. Only properties that are common to the entire text specified + are set in the resulting TextFormat object. Any property that is + _mixed_, meaning that it has different values at different points in + the text, has a value of `null`. + If you do not specify values for these parameters, this method is + applied to all the text in the text field. + + The following table describes three possible usages: + + | Usage | Description | + | --- | --- | + | `my_textField.getTextFormat()` | Returns a TextFormat object containing formatting information for all text in a text field. Only properties that are common to all text in the text field are set in the resulting TextFormat object. Any property that is _mixed_, meaning that it has different values at different points in the text, has a value of `null`. | + | `my_textField.getTextFormat(beginIndex:Number)` | Returns a TextFormat object containing a copy of the text format of the character at the `beginIndex` position. | + | `my_textField.getTextFormat(beginIndex:Number,endIndex:Number)` | Returns a TextFormat object containing formatting information for the span of text from `beginIndex` to `endIndex-1`. Only properties that are common to all of the text in the specified range are set in the resulting TextFormat object. Any property that is mixed (that is, has different values at different points in the range) has its value set to `null`. | + + @return The TextFormat object that represents the formatting + properties for the specified text. + @throws RangeError The `beginIndex` or `endIndex` specified is out of + range. + + + + + + + Returns true if an embedded font is available with the specified + `fontName` and `fontStyle` where `Font.fontType` is + `openfl.text.FontType.EMBEDDED`. Starting with Flash Player 10, two + kinds of embedded fonts can appear in a SWF file. Normal embedded + fonts are only used with TextField objects. CFF embedded fonts are + only used with the openfl.text.engine classes. The two types are + distinguished by the `fontType` property of the `Font` class, as + returned by the `enumerateFonts()` function. + TextField cannot use a font of type `EMBEDDED_CFF`. If `embedFonts` is + set to `true` and the only font available at run time with the + specified name and style is of type `EMBEDDED_CFF`, Flash Player fails + to render the text, as if no embedded font were available with the + specified name and style. + + If both `EMBEDDED` and `EMBEDDED_CFF` fonts are available with the + same name and style, the `EMBEDDED` font is selected and text renders + with the `EMBEDDED` font. + + @param fontName The name of the embedded font to check. + @param fontStyle Specifies the font style to check. Use + `openfl.text.FontStyle` + @return `true` if a compatible embedded font is available, otherwise + `false`. + @throws ArgumentError The `fontStyle` specified is not a member of + `openfl.text.FontStyle`. + + + + + + + + + Replaces the range of characters that the `beginIndex` and `endIndex` + parameters specify with the contents of the `newText` parameter. As + designed, the text from `beginIndex` to `endIndex-1` is replaced. + **Note:** This method does not work if a style sheet is applied to the + text field. + + @param beginIndex The zero-based index value for the start position of + the replacement range. + @param endIndex The zero-based index position of the first character + after the desired text span. + @param newText The text to use to replace the specified range of + characters. + @throws Error This method cannot be used on a text field with a style + sheet. + + + + + + + + Sets as selected the text designated by the index values of the first and + last characters, which are specified with the `beginIndex` and + `endIndex` parameters. If the two parameter values are the + same, this method sets the insertion point, as if you set the + `caretIndex` property. + + @param beginIndex The zero-based index value of the first character in the + selection(for example, the first character is 0, the + second character is 1, and so on). + @param endIndex The zero-based index value of the last character in the + selection. + + + + + + + + + { endIndex : -1, beginIndex : -1 } + Applies the text formatting that the `format` parameter + specifies to the specified text in a text field. The value of + `format` must be a TextFormat object that specifies the desired + text formatting changes. Only the non-null properties of + `format` are applied to the text field. Any property of + `format` that is set to `null` is not applied. By + default, all of the properties of a newly created TextFormat object are + set to `null`. + + **Note:** This method does not work if a style sheet is applied to + the text field. + + The `setTextFormat()` method changes the text formatting + applied to a range of characters or to the entire body of text in a text + field. To apply the properties of format to all text in the text field, do + not specify values for `beginIndex` and `endIndex`. + To apply the properties of the format to a range of text, specify values + for the `beginIndex` and the `endIndex` parameters. + You can use the `length` property to determine the index + values. + + The two types of formatting information in a TextFormat object are + character level formatting and paragraph level formatting. Each character + in a text field can have its own character formatting settings, such as + font name, font size, bold, and italic. + + For paragraphs, the first character of the paragraph is examined for + the paragraph formatting settings for the entire paragraph. Examples of + paragraph formatting settings are left margin, right margin, and + indentation. + + Any text inserted manually by the user, or replaced by the + `replaceSelectedText()` method, receives the default text field + formatting for new text, and not the formatting specified for the text + insertion point. To set the default formatting for new text, use + `defaultTextFormat`. + + @param format A TextFormat object that contains character and paragraph + formatting information. + @throws Error This method cannot be used on a text field with a style + sheet. + @throws RangeError The `beginIndex` or `endIndex` + specified is out of range. + + <__allowMouseFocus set="method" line="1595" override="1"> + + + + <__caretBeginningOfLine set="method" line="1600"> + + + + <__caretBeginningOfNextLine set="method" line="1605"> + + + + <__caretBeginningOfPreviousLine set="method" line="1619"> + + + + <__caretEndOfLine set="method" line="1638"> + + + + <__caretNextCharacter set="method" line="1652"> + + + + <__caretNextLine set="method" line="1660"> + + + + <__caretPreviousCharacter set="method" line="1670"> + + + + <__caretPreviousLine set="method" line="1678"> + + + + <__disableInput set="method" line="1688"> + + + + <__dispatch set="method" line="1703" override="1"> + + + + + + + <__enableInput set="method" line="1731"> + + + + <__getAdvance get="inline" set="null" line="1755"> + + + + + + + <__getBounds set="method" line="1764" override="1"> + + + + + + + + <__getCharBoundaries set="method" line="1781"> + + + + + + + + <__getCharIndexOnDifferentLine set="method" line="1813"> + + + + + + + + <__getCursor set="method" line="1850" override="1"> + + + + <__getGroup set="method" line="1866"> + + + + + + + + { precise : false } + + + + <__getPosition set="method" line="1915"> + + + + + + + + <__hitTest set="method" line="1947" override="1"> + + + + + + + + + + + + <__hitTestMask set="method" line="1971" override="1"> + + + + + + + + <__replaceSelectedText set="method" line="1987"> + + + + + + + { restrict : true } + + + + <__replaceText set="method" line="2010"> + + + + + + + + + + <__startCursorTimer set="method" line="2140"> + + + + <__startTextInput set="method" line="2151"> + + + + <__stopCursorTimer set="method" line="2167"> + + + + <__stopTextInput set="method" line="2183"> + + + + <__updateLayout set="method" line="2193"> + + + + <__updateScrollH set="method" line="2225"> + + + + <__updateScrollV set="method" line="2299"> + + + + <__updateMouseDrag set="method" line="2345"> + + + + <__updateText set="method" line="2373"> + + + + + + + <__updateTransforms set="method" line="2410" override="1"> + + + + + + { overrideTransform : null } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new TextField instance. After you create the TextField instance, + call the `addChild()` or `addChildAt()` method of + the parent DisplayObjectContainer object to add the TextField instance to + the display list. + + The default size for a text field is 100 x 100 pixels. + + You can use the TextField class to + perform low-level text rendering. However, in Flex, you typically use the + Label, Text, TextArea, and TextInput controls to process text. You can give a text field an instance name in the + Property inspector and use the methods and properties of the TextField + class to manipulate it with ActionScript. TextField instance names are + displayed in the Movie Explorer and in the Insert Target Path dialog box in + the Actions panel. + + To create a text field dynamically, use the `TextField()` + constructor. + + The methods of the TextField class let you set, select, and manipulate + text in a dynamic or input text field that you create during authoring or + at runtime. + + ActionScript provides several ways to format your text at runtime. The + TextFormat class lets you set character and paragraph formatting for + TextField objects. You can apply Cascading Style Sheets(CSS) styles to + text fields by using the `TextField.styleSheet` property and the + StyleSheet class. You can use CSS to style built-in HTML tags, define new + formatting tags, or apply styles. You can assign HTML formatted text, which + optionally uses CSS styles, directly to a text field. HTML text that you + assign to a text field can contain embedded media(movie clips, SWF files, + GIF files, PNG files, and JPEG files). The text wraps around the embedded + media in the same way that a web browser wraps text around media embedded + in an HTML document. + + Flash Player supports a subset of HTML tags that you can use to format + text. See the list of supported HTML tags in the description of the + `htmlText` property. + + @event change Dispatched after a control value is + modified, unlike the + `textInput` event, which is + dispatched before the value is modified. + Unlike the W3C DOM Event Model version of + the `change` event, which + dispatches the event only after the + control loses focus, the ActionScript 3.0 + version of the `change` event + is dispatched any time the control + changes. For example, if a user types text + into a text field, a `change` + event is dispatched after every keystroke. + @event link Dispatched when a user clicks a hyperlink + in an HTML-enabled text field, where the + URL begins with "event:". The remainder of + the URL after "event:" is placed in the + text property of the LINK event. + + **Note:** The default behavior, + adding the text to the text field, occurs + only when Flash Player generates the + event, which in this case happens when a + user attempts to input text. You cannot + put text into a text field by sending it + `textInput` events. + @event scroll Dispatched by a TextField object + _after_ the user scrolls. + @event textInput Flash Player dispatches the + `textInput` event when a user + enters one or more characters of text. + Various text input methods can generate + this event, including standard keyboards, + input method editors(IMEs), voice or + speech recognition systems, and even the + act of pasting plain text with no + formatting or style information. + @event textInteractionModeChange Flash Player dispatches the + `textInteractionModeChange` + event when a user changes the interaction + mode of a text field. for example on + Android, one can toggle from NORMAL mode + to SELECTION mode using context menu + options]]> + + + "tags=\"haxe,release\"" + + openfl.display.Graphics + openfl.geom.ColorTransform + openfl.geom.Matrix + openfl.geom.Rectangle + openfl.text._internal.TextEngine + openfl.text.TextFormat + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * A Visual Studio-style "watch" window, for use in the debugger overlay. + * Track the values of any public variable in real-time, and/or edit their values on the fly. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + 20 + + + + 125 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * `object.field` resolved via `Reflect.getProperty()`. + + + + * Manually updated values. + + + + + * Haxe expression evaluated with hscript. + + + + + + [] + * An array container for plugins. + + + + + + + * Retrieves a plugin based on its class name from the global plugin array. + * + * @param ClassType The class name of the plugin you want to retrieve. See the FlxPath or FlxTimer constructors for example usage. + * @return The plugin object, or null if no matching plugin was found. + + + + + + + * Removes an instance of a plugin from the global plugin array. + * + * @param Plugin The plugin instance you want to remove. + * @return The same FlxPlugin-based plugin you passed in. + + + + + + + * Removes all instances of a plugin from the global plugin array. + * + * @param ClassType The class name of the plugin type you want removed from the array. + * @return Whether or not at least one instance of this plugin type was removed. + + + + + + + flixel.FlxGame + * Used by the game object to call update() on all the plugins. + + + + flixel.FlxGame + * Used by the game object to call draw() on all the plugins. + + + + flixel.FlxG + + * Accessed via `FlxG.plugins`. + + + + + + * A handy container for a background music object. + + + + false + * Whether or not the game sounds are muted. + + + + + + + * Set this hook to get a callback whenever the volume changes. + * Function should take the form myVolumeHandler(volume:Float). + + + + [PLUS, NUMPADPLUS] + * The key codes used to increase volume (see FlxG.keys for the keys available). + * Default keys: + (and numpad +). Set to null to deactivate. + + + + [MINUS, NUMPADMINUS] + * The keys to decrease volume (see FlxG.keys for the keys available). + * Default keys: - (and numpad -). Set to null to deactivate. + + + + [ZERO, NUMPADZERO] + * The keys used to mute / unmute the game (see FlxG.keys for the keys available). + * Default keys: 0 (and numpad 0). Set to null to deactivate. + + + + true + * Whether or not the soundTray should be shown when any of the + * volumeUp-, volumeDown- or muteKeys is pressed. + + + + new FlxSoundGroup() + * The group sounds played via playMusic() are added to unless specified otherwise. + + + + new FlxSoundGroup() + * The group sounds in load() / play() / stream() are added to unless specified otherwise. + + + + ()]]> + * A list of all the sounds being played in the game. + + + + 1 + * Set this to a number between 0 and 1 to change the global volume. + + + + + + + + + + { Looped : true, Volume : 1 } + * Set up and play a looping background soundtrack. + * + * @param Music The sound file you want to loop in the background. + * @param Volume How loud the sound should be, from 0 to 1. + * @param Looped Whether to loop this music. + * @param Group The group to add this sound to. + + + + + + + + + + + + + + + { AutoPlay : false, AutoDestroy : false, Looped : false, Volume : 1 } + * Creates a new FlxSound object. + * + * @param EmbeddedSound The embedded sound resource you want to play. To stream, use the optional URL parameter instead. + * @param Volume How loud to play it (0 to 1). + * @param Looped Whether to loop this sound. + * @param Group The group to add this sound to. + * @param AutoDestroy Whether to destroy this sound when it finishes playing. + * Leave this value set to "false" if you want to re-use this FlxSound instance. + * @param AutoPlay Whether to play the sound. + * @param URL Load a sound from an external web resource instead. Only used if EmbeddedSound = null. + * @param OnComplete Called when the sound finished playing. + * @param OnLoad Called when the sound finished loading. Called immediately for succesfully loaded embedded sounds. + * @return A FlxSound object. + + + + + + + + + + { AutoPlay : false } + + + + + + + * Method for sound caching (especially useful on mobile targets). The game may freeze + * for some time the first time you try to play a sound if you don't use this method. + * + * @param EmbeddedSound Name of sound assets specified in your .xml project file + * @return Cached Sound object + + + + * Calls FlxG.sound.cache() on all sounds that are embedded. + * WARNING: can lead to high memory usage. + + + + + + + + + + + + { AutoDestroy : true, Looped : false, Volume : 1 } + * Plays a sound from an embedded sound. Tries to recycle a cached sound first. + * + * @param EmbeddedSound The embedded sound resource you want to play. + * @param Volume How loud to play it (0 to 1). + * @param Looped Whether to loop this sound. + * @param Group The group to add this sound to. + * @param AutoDestroy Whether to destroy this sound when it finishes playing. + * Leave this value set to "false" if you want to re-use this FlxSound instance. + * @param OnComplete Called when the sound finished playing + * @return A FlxSound object. + + + + + + + + + + + + + { AutoDestroy : true, Looped : false, Volume : 1 } + * Plays a sound from a URL. Tries to recycle a cached sound first. + * NOTE: Just calls FlxG.sound.load() with AutoPlay == true. + * + * @param URL Load a sound from an external web resource instead. + * @param Volume How loud to play it (0 to 1). + * @param Looped Whether to loop this sound. + * @param Group The group to add this sound to. + * @param AutoDestroy Whether to destroy this sound when it finishes playing. + * Leave this value set to "false" if you want to re-use this FlxSound instance. + * @param OnComplete Called when the sound finished playing + * @param OnLoad Called when the sound finished loading. + * @return A FlxSound object. + + + + * Pause all sounds currently playing. + + + + * Resume playing existing sounds. + + + + + + + { ForceDestroy : false } + * Called by FlxGame on state changes to stop and destroy sounds. + * + * @param ForceDestroy Kill sounds even if persist is true. + + + + + + + + * Toggles muted, also activating the sound tray. + + + + + + + * Changes the volume by a certain amount, also activating the sound tray. + + + + * Shows the sound tray if it is enabled. + + + + + + + flixel.FlxGame + * Called by the game loop to make sure the sounds get updated each frame. + + + + flixel.FlxGame + + + + flixel.FlxGame + + + + * Loads saved sound preferences if they exist. + + + + + + + * Accessed via `FlxG.sound`. + + + flixel.FlxG + + + + + + false + * Whether the debugger has been paused. + + + + false + * Whether a "1 frame step forward" was requested. + + + + * Pause the main game loop + + + + * Resume the main game loop from FlxG.vcr.pause(); + + + + flixel.FlxG + + * Accessed via `FlxG.vcr`. + + + + + + + + + + + + + + + + + * The random number generator seed value for this recording. + + + + * The current frame for this recording. + + + + * The number of frames in this recording. + + + + * Whether the replay has finished playing or not. + + <_frames> + + * Internal container for all the frames in this replay. + + <_capacity> + + * Internal tracker for max number of frames we can fit before growing the _frames again. + + <_marker> + + * Internal helper variable for keeping track of where we are in _frames during recording or replay. + + + + * Clean up memory. + + + + + + + * Create a new gameplay recording. Requires the current random number generator seed. + * + * @param Seed The current seed from the random number generator. + + + + + + + * Load replay data from a String object. + * Strings can come from embedded assets or external + * files loaded through the debugger overlay. + * @param FileContents A String object containing a gameplay recording. + + + + * Save the current recording data off to a String object. + * Basically goes through and calls FrameRecord.save() on each frame in the replay. + * return The gameplay recording in simple ASCII format. + + + + * Get the current input data from the input managers and store it in a new frame record. + + + + * Get the current frame record data and load it into the input managers. + + + + * Reset the replay back to the first frame. + + + + * Common initialization terms used by both create() and load() to set up the replay object. + + + + * Instantiate a new replay object. Doesn't actually do much until you call create() or load(). + + * The replay object both records and replays game recordings, + * as well as handle saving and loading replays to and from files. + * Gameplay recordings are essentially a list of keyboard and mouse inputs, + * but since Flixel is fairly deterministic, we can use these to play back + * recordings of gameplay with a decent amount of fidelity. + + + + + * Which frame of the game loop this record is from or for. + + + + * An array of simple integer pairs referring to what key is pressed, and what state its in. + + + + * A container for the 4 mouse state integers. + + + + + + + + + * Load this frame record with input data from the input managers. + * @param Frame What frame it is. + * @param Keys Keyboard data from the keyboard manager. + * @param Mouse Mouse data from the mouse manager. + * @return A reference to this FrameRecord object. + + + + * Clean up memory. + + + + * Save the frame record data to array simple ASCII string. + * @return A String object containing the relevant frame record data. + + + + + + + * Load the frame record data from array simple ASCII string. + * @param Data A String object containing the relevant frame record data. + + + + * Instantiate array new frame record. + + * Helper class for the new replay system. Represents all the game inputs for one "frame" or "step" of the game loop. + + + + + + + + + * The state of the mouse wheel. + + + + + + + + + + * Instantiate a new mouse input record. + * + * @param X The main X value of the mouse in screen space. + * @param Y The main Y value of the mouse in screen space. + * @param Button The state of the left mouse button. + * @param Wheel The state of the mouse wheel. + + * A helper class for the frame records, part of the replay/demo/recording system. + + + + + + + * `FillScaleMode` is a scaling mode which stretches and squashes the game to exactly fit the provided window. + * This may result in the graphics of your game being distorted if the user resizes their game window. + * + * To enable it in your project, use `FlxG.scaleMode = new FillScaleMode();`. + + + + + + false + + + + false + + + + + + + + + + + + + + + + + + { fixedHeight : false, fixedWidth : false } + + * `FixedScaleAdjustSizeScaleMode` is a scaling mode which maintains the game's scene at a fixed size. + * This will clip off the edges of the scene for dimensions which are too small. + * However, unlike `FixedScaleMode`, this mode will extend the width of the current scene to match the window scale. + * The result is that objects that would be offscreen on smaller window sizes will be visible in larger ones. + * + * Note that compared with `StageSizeScaleMode`, this scale mode aligns with the center of the game's screen, + * so the coordinates 0,0 may not be located at the top left of your game window. + * + * To enable it in your project, use `FlxG.scaleMode = new FixedScaleAdjustSizeScaleMode();`. + + + + + + + + + + * `FixedScaleMode` is a scaling mode which maintains the game's scene at a fixed size. + * This will clip off the edges of the scene for dimensions which are too small, + * and leave black margins on the sides for dimensions which are too large. + * + * To enable it in your project, use `FlxG.scaleMode = new FixedScaleMode();`. + + + + + + + + + + * `PixelPerfectScaleMode` is a scaling mode which maintains the game's aspect ratio. + * When you shrink or grow the window, the width and height of the game will adjust, + * either scaling the game or adding black bars as needed. + * + * However, it will only scale the game by integer factors, to maintain pixel perfect rendering. + * This may cause the game window to be windowboxed on all sides, scaling the game up only when there is + * enough room to exactly double the render scale. + * + * To enable it in your project, use `FlxG.scaleMode = new PixelPerfectScaleMode();`. + + + + <_widthScale> + <_heightScale> + + + + + + + + + + + + + + + + + + + + + * `RelativeScaleMode` is a scaling mode which stretches and squashes the game to exactly fit the provided window. + * It acts similar to the `FillScaleMode`, however there is one major difference. + * `RelativeScaleMode` takes two parameters, which represent the width scale and height scale. + * + * For example, `RelativeScaleMode(1, 0.5)` will cause the game to take up 100% of the window width, + * but only 50% of the window height, filling in the remaining space with a black margin. + * + * To enable it in your project, use `FlxG.scaleMode = new RelativeScaleMode();`. + + + + + + + + + + * `StageSizeScaleMode` is a scaling mode which maintains the game's scene at a fixed size. + * This will clip off the edges of the scene for dimensions which are too small. + * However, unlike `FixedScaleMode`, this mode will extend the width of the current scene to match the window scale. + * The result is that objects that would be offscreen on smaller window sizes will be visible in larger ones. + * + * Note that compared with `FixedScaleAdjustSizeScaleMode`, this scale mode aligns with the top left of the game's screen. + * The coordinates 0,0 are always located at the top left of your game window. + * + * To enable it in your project, use `FlxG.scaleMode = new StageSizeScaleMode();`. + + + + + + * Redraws the big arrow on the focus lost screen. + + + + + + + + + + + * Because reading any data from DisplayObject is insanely expensive in hxcpp, keep track of whether we need to update it or not. + + <_timer> + + * Helps us auto-hide the sound tray after a volume change. + + <_bars> + + * Helps display the volume bars on the sound tray. + + <_width expr="80"> + + 80 + * How wide the sound tray background is. + + <_defaultScale expr="2.0"> + + 2.0 + + + + + + + * This function just updates the soundtray object. + + + + + + + { Silent : false } + * Makes the little volume tray slide out. + * + * @param Silent Whether or not it should beep. + + + + + + * Sets up the "sound tray", the little volume meter that pops down sometimes. + + * The flixel sound tray, the little volume meter that pops down sometimes. + + + + + + + + * The function to be called when the button is pressed. + + + + true + * Whether or not the downHandler function will be called when + * the button is clicked. + + + + false + * Whether this is a toggle button or not. If so, a Boolean representing the current + * state will be passed to the callback function, and the alpha value will be lowered when toggled. + + + + false + * Whether the button has been toggled in toggleMode. + + <_icon> + + * The icon this button uses. + + <_mouseDown expr="false"> + + false + * Whether the mouse has been pressed while over this button. + + + + + + + * Change the Icon of the button + * + * @param Icon The new icon to use for the button. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { ToggleMode : false } + * Create a new FlxSystemButton + * + * @param Icon The icon to use for the button. + * @param UpHandler The function to be called when the button is pressed. + * @param ToggleMode Whether this is a toggle button or not. + + * A basic button for the debugger, extends flash.display.Sprite. + * Cannot be used in a FlxState. + + + + + + + * Font for text rendering. + + + + "" + * Text to display. + + <_colorParams expr="new ColorTransform()"> + + new ColorTransform() + * Helper object to avoid many ColorTransform allocations + + <_lines expr="[]"> + + [] + * Helper array which contains actual strings for rendering. + + <_linesWidth expr="[]"> + + [] + * Helper array which contains width of each displayed lines. + + + + FlxTextAlign.LEFT + * Specifies how the text field should align text. + * JUSTIFY alignment isn't supported. + * Note: 'autoSize' must be set to false or alignment won't show any visual differences. + + + + 0 + * The distance to add between lines. + + + + 0 + * The distance to add between letters. + + + + false + * Whether to convert text to upper case or not. + + + + true + * A Boolean value that indicates whether the text field has word wrap. + + + + true + * Whether word wrapping algorithm should wrap lines by words or by single character. + * Default value is true. + + + + true + * Whether this text field have fixed width or not. + * Default value if true. + + + + 0 + * Number of pixels between text and text field border + + + + * Width of the text in this text field. + + + + * Height of the text in this text field. + + + + * Height of the single line of text (without lineSpacing). + + + + 4 + * Number of space characters in one tab. + + + + FlxColor.WHITE + * The color of the text in 0xAARRGGBB format. + * Result color of text will be multiplication of textColor and color. + + + + false + * Whether to use textColor while rendering or not. + + + + NONE + * Use a border style + + + + FlxColor.BLACK + * The color of the border in 0xAARRGGBB format + + + + 1 + * The size of the border, in pixels. + + + + 0 + * How many iterations do use when drawing the border. 0: only 1 iteration, 1: one iteration for every pixel in borderSize + * A value of 1 will have the best quality for large border sizes, but might reduce performance when changing text. + * NOTE: If the borderSize is 1, borderQuality of 0 or 1 will have the exact same effect (and performance). + + + + * Offset that is applied to the shadow border style, if active. + * x and y are multiplied by borderSize. Default is (1, 1), or lower-right corner. + + + + false + * Specifies whether the text should have background + + + + FlxColor.TRANSPARENT + * Specifies the color of background + + + + true + * Specifies whether the text field will break into multiple lines or not on overflow. + + + + * Reflects how many lines have this text field. + + + + + + <_fieldWidth> + + + true + + + + true + + + + true + + + + + + + * Helper bitmap buffer for text pixels but without any color transformations + + + + * Clears all resources used. + + + + + + + { Force : false } + * Forces graphic regeneration for this text field. + + + + + + + + { useTiles : false } + + + + + + + + + + + + + + + + + + + + + + + + + + + + { RunOnCpp : false } + + + + + + + + + * Calculates the size of text field. + + + + + + + * Calculates width of the line with provided index + * + * @param lineIndex index of the line in _lines array + * @return The width of the line + + + + + + + * Calculates width of provided string (for current font). + * + * @param str String to calculate width for + * @return The width of result bitmap text. + + + + * Just cuts the lines which are too long to fit in the field. + + + + * Automatically wraps text by figuring out how many characters can fit on a + * single line, and splitting the remainder onto a new line. + + + + + + + + * Helper function for splitting line of text into separate words. + * + * @param line line to split. + * @param words result array to fill with words. + + + + + + + + * Wraps provided line by words. + * + * @param words The array of words in the line to process. + * @param newLines Array to fill with result lines. + + + + + + + + * Wraps provided line by characters (as in standart flash text fields). + * + * @param words The array of words in the line to process. + * @param newLines Array to fill with result lines. + + + + + + + { useTiles : false } + * Internal method for updating helper data for text rendering + + + + + + + + + + { useTiles : false } + + + + + + + + + + + + + + + + + + + { useTiles : false } + + + + + + + + + + + { useTiles : false, isFront : true } + + + + + + + + + + { isFront : true } + + + + + + + + + { isFront : true } + + + + + + + + + + { Quality : 1, Size : 1, Color : 0 } + * Set border's style (shadow, outline, etc), color, and size all in one go! + * + * @param Style outline style + * @param Color outline color in flash 0xAARRGGBB format + * @param Size outline size in pixels + * @param Quality outline quality - # of iterations to use when drawing. 0:just 1, 1:equal number to BorderSize + + + + + + + + * Sets the width of the text field. If the text does not fit, it will spread on multiple lines. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * Checks if the specified code is one of the Unicode Combining Diacritical Marks + * @param Code The charactercode we want to check + * @return Bool Returns true if the code is a Unicode Combining Diacritical Mark + + + + + + + * Constructs a new text field component. + * Warning: The default font may work incorrectly on HTML5 + * and is utterly unreliable on Brave Browser with shields up. + * + * @param font Optional parameter for component's font prop + + * Extends FlxSprite to support rendering text. + * Can tint, fade, rotate and scale just like a sprite. + * Doesn't really animate though, as far as I know. + + + + + + * The leading (vertical space between lines) of the text. + * @since 4.10.0 + + + + * The border color if the text has a shadow or a border + + + + + + + + + + + + + + + * @param FontColor Font color, in `0xRRGGBB` format. Inherits from the default format by default. + * @param Bold Whether the text should be bold (must be supported by the font). `false` by default. + * @param Italic Whether the text should be in italics (must be supported by the font). Only works on Flash. `false` by default. + * @param BorderColor Border color, in `0xAARRGGBB` format. By default, no border (`null` / transparent). + + flixel.text.FlxText.applyFormats + + + + + + + + + + + + + + + + + + + + + + + + * A simple shadow to the lower-right. + * Use `FlxText.shadowOffset` for custom placement. + * Outline on all 8 sides + * Outline, optimized using only 4 draw calls (might not work for narrow and/or 1-pixel fonts) + + + + + + + + + + + + + + cast "left" + + + + +
      + + + cast "center" + + + + * Warning: on Flash, this can have a negative impact on performance + * of multiline texts that are frequently regenerated (especially with + * `borderStyle == OUTLINE`) due to a workaround for blurry rendering. +
      + + + + cast "right" + + + + + + + + cast "justify" + + + + + + + + + + + + + + + + +
      +
      + + + + + cast "left" + + + + +
      + + + cast "center" + + + + * Warning: on Flash, this can have a negative impact on performance + * of multiline texts that are frequently regenerated (especially with + * `borderStyle == OUTLINE`) due to a workaround for blurry rendering. +
      + + + + cast "right" + + + + + + + + cast "justify" + + + + + + + + + + + + + + + + +
      + + + + + + [0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 0, 0, 13, 13, 0, 14, 0, 0, 0, 0, 18, 18, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 51, 0, 0, 53, 53, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 62, 62, 0, 0, 64, 64, 0, 65, 0, 0, 0, 0, 69, 69, 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 86, 0, 0, 88, 88, 0, 89, 0, 0, 0, 0, 93, 93, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, 0, 0, 0, 162, 0, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, 0, 0, 175, 0, 176, 0, 0, 0, 0, 0, 181, 0, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 199, 0, 0, 0, 202, 0, 203, 0, 0, 0, 0, 0, 208, 0, 209] + + + + OFF + * Set this flag to use one of the 16-tile binary auto-tile algorithms (OFF, AUTO, or ALT). + + + + 0 + + + + 0 + + + + 0 + + + + * Set this to create your own image index remapper, so you can create your own tile layouts. + * Mostly useful in combination with the auto-tilers. + * + * Normally, each tile's value in _data corresponds to the index of a + * tile frame in the tilesheet. With this active, each value in _data + * is a lookup value to that index in customTileRemap. + * + * Example: + * customTileRemap = [10,9,8,7,6] + * means: 0=10, 1=9, 2=8, 3=7, 4=6 + + <_randomIndices> + + * If these next two arrays are not null, you're telling FlxTilemap to + * draw random tiles in certain places. + * + * _randomIndices is a list of tilemap values that should be replaced + * by a randomly selected value. The available values are chosen from + * the corresponding array in randomize_choices + * + * So if you have: + * randomIndices = [12,14] + * randomChoices = [[0,1,2],[3,4,5,6,7]] + * + * Everywhere the tilemap has a value of 12 it will be replaced by 0, 1, or, 2 + * Everywhere the tilemap has a value of 14 it will be replaced by 3, 4, 5, 6, 7 + + <_randomChoices> + <_randomLambda> + + * Setting this function allows you to control which choice will be selected for each element within _randomIndices array. + * Must return a 0-1 value that gets multiplied by _randomChoices[randIndex].length; + + <_tileObjects expr="[]"> + + [] + * Internal collection of tile objects, one for each type of tile in the map (NOT one for every single tile in the whole map). + + <_startingIndex expr="0"> + + 0 + * Internal, used to sort of insert blank tiles in front of the tiles in the provided graphic. + + <_data> + + * Internal representation of the actual tile data, as a large 1D array of integers. + + <_drawIndex expr="0"> + + 0 + + <_collideIndex expr="0"> + + 0 + + + + + + + * Virtual methods, must be implemented in each renderers + + + + + + + + + + + + + + + + + + + + + { Midpoint : true } + + + + + + + + + + { Resolution : 1 } + + + + + + + + + + + + + + { FlipCallbackParams : false } + + + + + + + { Dirty : true } + + + + + + + + + + + + + + + { CollideIndex : 1, DrawIndex : 1, StartingIndex : 0, TileHeight : 0, TileWidth : 0 } + * Load the tilemap with string data and a tile graphic. + * + * @param MapData A csv-formatted string indicating what order the tiles should go in (or the path to that file) + * @param TileGraphic All the tiles you want to use, arranged in a strip corresponding to the numbers in MapData. + * @param TileWidth The width of your tiles (e.g. 8) - defaults to height of the tile graphic if unspecified. + * @param TileHeight The height of your tiles (e.g. 8) - defaults to width if unspecified. + * @param AutoTile Whether to load the map using an automatic tile placement algorithm (requires 16 tiles!). + * Setting this to either AUTO or ALT will override any values you put for StartingIndex, DrawIndex, or CollideIndex. + * @param StartingIndex Used to sort of insert empty tiles in front of the provided graphic. + * Default is 0, usually safest ot leave it at that. Ignored if AutoTile is set. + * @param DrawIndex Initializes all tile objects equal to and after this index as visible. + * Default value is 1. Ignored if AutoTile is set. + * @param CollideIndex Initializes all tile objects equal to and after this index as allowCollisions = ANY. + * Default value is 1. Ignored if AutoTile is set. + * Can override and customize per-tile-type collision behavior using setTileProperties(). + * @return A reference to this instance of FlxTilemap, for chaining as usual :) + + + + + + + + + + + + + + + + { CollideIndex : 1, DrawIndex : 1, StartingIndex : 0, TileHeight : 0, TileWidth : 0 } + * Load the tilemap with string data and a tile graphic. + * + * @param MapData An array containing the (non-negative) tile indices. + * @param WidthInTiles The width of the tilemap in tiles + * @param HeightInTiles The height of the tilemap in tiles + * @param TileGraphic All the tiles you want to use, arranged in a strip corresponding to the numbers in MapData. + * @param TileWidth The width of your tiles (e.g. 8) - defaults to height of the tile graphic if unspecified. + * @param TileHeight The height of your tiles (e.g. 8) - defaults to width if unspecified. + * @param AutoTile Whether to load the map using an automatic tile placement algorithm (requires 16 tiles!). + * Setting this to either AUTO or ALT will override any values you put for StartingIndex, DrawIndex, or CollideIndex. + * @param StartingIndex Used to sort of insert empty tiles in front of the provided graphic. + * Default is 0, usually safest ot leave it at that. Ignored if AutoTile is set. + * @param DrawIndex Initializes all tile objects equal to and after this index as visible. + * Default value is 1. Ignored if AutoTile is set. + * @param CollideIndex Initializes all tile objects equal to and after this index as allowCollisions = ANY. + * Default value is 1. Ignored if AutoTile is set. + * Can override and customize per-tile-type collision behavior using setTileProperties(). + * @return A reference to this instance of FlxTilemap, for chaining as usual :) + + + + + + + + + + + + + + { CollideIndex : 1, DrawIndex : 1, StartingIndex : 0, TileHeight : 0, TileWidth : 0 } + * Load the tilemap with string data and a tile graphic. + * + * @param MapData A 2D array containing the (non-negative) tile indices. The length of the inner arrays should be consistent. + * @param TileGraphic All the tiles you want to use, arranged in a strip corresponding to the numbers in MapData. + * @param TileWidth The width of your tiles (e.g. 8) - defaults to height of the tile graphic if unspecified. + * @param TileHeight The height of your tiles (e.g. 8) - defaults to width if unspecified. + * @param AutoTile Whether to load the map using an automatic tile placement algorithm (requires 16 tiles!). + * Setting this to either AUTO or ALT will override any values you put for StartingIndex, DrawIndex, or CollideIndex. + * @param StartingIndex Used to sort of insert empty tiles in front of the provided graphic. + * Default is 0, usually safest ot leave it at that. Ignored if AutoTile is set. + * @param DrawIndex Initializes all tile objects equal to and after this index as visible. + * Default value is 1. Ignored if AutoTile is set. + * @param CollideIndex Initializes all tile objects equal to and after this index as allowCollisions = ANY. + * Default value is 1. Ignored if AutoTile is set. + * Can override and customize per-tile-type collision behavior using setTileProperties(). + * @return A reference to this instance of FlxTilemap, for chaining as usual :) + + + + + + + + + + + + + + + + + { CollideIndex : 1, DrawIndex : 1, StartingIndex : 0, TileHeight : 0, TileWidth : 0, Scale : 1, Invert : false } + * Load the tilemap with image data and a tile graphic. + * Black pixels are flagged as 'solid' by default, non-black pixels are set as non-colliding. Black pixels must be PURE BLACK. + * @param MapGraphic The image you want to use as a source of map data, where each pixel is a tile (or more than one tile if you change Scale's default value). Preferably black and white. + * @param Invert Load white pixels as solid instead. + * @param Scale Default is 1. Scale of 2 means each pixel forms a 2x2 block of tiles, and so on. + * @param ColorMap An array of color values (alpha values are ignored) in the order they're intended to be assigned as indices + * @param TileGraphic All the tiles you want to use, arranged in a strip corresponding to the numbers in MapData. + * @param TileWidth The width of your tiles (e.g. 8) - defaults to height of the tile graphic if unspecified. + * @param TileHeight The height of your tiles (e.g. 8) - defaults to width if unspecified. + * @param AutoTile Whether to load the map using an automatic tile placement algorithm (requires 16 tiles!). + * Setting this to either AUTO or ALT will override any values you put for StartingIndex, DrawIndex, or CollideIndex. + * @param StartingIndex Used to sort of insert empty tiles in front of the provided graphic. + * Default is 0, usually safest ot leave it at that. Ignored if AutoTile is set. + * @param DrawIndex Initializes all tile objects equal to and after this index as visible. + * Default value is 1. Ignored if AutoTile is set. + * @param CollideIndex Initializes all tile objects equal to and after this index as allowCollisions = ANY. + * Default value is 1. Ignored if AutoTile is set. + * Can override and customize per-tile-type collision behavior using setTileProperties(). + * @return A reference to this instance of FlxTilemap, for chaining as usual :) + * @since 4.1.0 + + + + + + + + + + + + + { CollideIndex : 1, DrawIndex : 1, StartingIndex : 0, TileHeight : 0, TileWidth : 0 } + + + + + + + + + + + * An internal function used by the binary auto-tilers. (16 tiles) + * + * @param Index The index of the tile you want to analyze. + + + + + + + * An internal function used by the binary auto-tilers. (47 tiles) + * + * @param Index The index of the tile you want to analyze. + + + + + + + + + + 7, 1-->4, 2-->12" + * @param randomIndices Array of ints indicating which tile indices should be randomized. Ex: [7,4,12] means "replace tile index of 7, 4, or 12 with a randomized value" + * @param randomChoices A list of int-arrays that serve as the corresponding choices to randomly choose from. Ex: indices = [7,4], choices = [[1,2],[3,4,5]], 7 will be replaced by either 1 or 2, 4 will be replaced by 3, 4, or 5. + * @param randomLambda A custom randomizer function, should return value between 0.0 and 1.0. Initialize your random seed before passing this in! If not defined, will default to unseeded Math.random() calls.]]> + + + + + + + + * Check the value of a particular tile. + * + * @param X The X coordinate of the tile (in tiles, not pixels). + * @param Y The Y coordinate of the tile (in tiles, not pixels). + * @return An integer containing the value of the tile at this spot in the array. + + + + + + + * Get the value of a tile in the tilemap by index. + * + * @param Index The slot in the data array (Y * widthInTiles + X) where this tile is stored. + * @return An integer containing the value of the tile at this spot in the array. + + + + + + + * Gets the collision flags of tile by index. + * + * @param Index Tile index returned by getTile or getTileByIndex + * @return The internal collision flag for the requested tile. + + + + + + + * Returns a new array full of every map index of the requested tile type. + * + * @param Index The requested tile type. + * @return An Array with a list of all map indices of that tile type. + + + + + + + + + + { UpdateGraphics : true } + * Change the data and graphic of a tile in the tilemap. + * + * @param X The X coordinate of the tile (in tiles, not pixels). + * @param Y The Y coordinate of the tile (in tiles, not pixels). + * @param Tile The new integer data you wish to inject. + * @param UpdateGraphics Whether the graphical representation of this tile should change. + * @return Whether or not the tile was actually changed. + + + + + + + + + { UpdateGraphics : true } + * Change the data and graphic of a tile in the tilemap. + * + * @param Index The slot in the data array (Y * widthInTiles + X) where this tile is stored. + * @param Tile The new integer data you wish to inject. + * @param UpdateGraphics Whether the graphical representation of this tile should change. + * @return Whether or not the tile was actually changed. + + + + + + + + + + + + + + + { Range : 1, AllowCollisions : ANY } + * Adjust collision settings and/or bind a callback function to a range of tiles. + * This callback function, if present, is triggered by calls to overlap() or overlapsWithCallback(). + * + * @param Tile The tile or tiles you want to adjust. + * @param AllowCollisions Modify the tile or tiles to only allow collisions from certain directions, use FlxObject constants NONE, ANY, LEFT, RIGHT, etc. Default is "ANY". + * @param Callback The function to trigger, e.g. lavaCallback(Tile:FlxObject, Object:FlxObject). + * @param CallbackFilter If you only want the callback to go off for certain classes or objects based on a certain class, set that class here. + * @param Range If you want this callback to work for a bunch of different tiles, input the range here. Default value is 1. + + + + + + + { Simple : false } + * Fetches the tilemap data array. + * + * @param Simple If true, returns the data as copy, as a series of 1s and 0s (useful for auto-tiling stuff). + * Default value is false, meaning it will return the actual data array (NOT a copy). + * @return An array the size of the tilemap full of integers indicating tile placement. + + + + + + + + + + + { DiagonalPolicy : WIDE, RaySimplify : false, Simplify : true } + * Find a path through the tilemap. Any tile with any collision flags set is treated as impassable. + * If no path is discovered then a null reference is returned. + * + * @param Start The start point in world coordinates. + * @param End The end point in world coordinates. + * @param Simplify Whether to run a basic simplification algorithm over the path data, removing extra points that are on the same line. Default value is true. + * @param RaySimplify Whether to run an extra raycasting simplification algorithm over the remaining path data. This can result in some close corners being cut, and should be used with care if at all (yet). Default value is false. + * @param DiagonalPolicy How to treat diagonal movement. (Default is WIDE, count +1 tile for diagonal movement) + * @return An Array of FlxPoints, containing all waypoints from the start to the end. If no path could be found, then a null reference is returned. + + + + + + + + + + { StopOnEnd : true } + * Pathfinding helper function, floods a grid with distance information until it finds the end point. + * NOTE: Currently this process does NOT use any kind of fancy heuristic! It's pretty brute. + * + * @param StartIndex The starting tile's map index. + * @param EndIndex The ending tile's map index. + * @param DiagonalPolicy How to treat diagonal movement. + * @param StopOnEnd Whether to stop at the end or not (default true) + * @return An array of FlxPoint nodes. If the end tile could not be found, then a null Array is returned instead. + + + + + + + + + * Pathfinding helper function, recursively walks the grid and finds a shortest path back to the start. + * + * @param Data An array of distance information. + * @param Start The tile we're on in our walk backward. + * @param Points An array of FlxPoint nodes composing the path from the start to the end, compiled in reverse order. + + + + + + + * Pathfinding helper function, strips out extra points on the same line. + * + * @param Points An array of FlxPoint nodes. + + + + + + + * Pathfinding helper function, strips out even more points by raycasting from one point to the next and dropping unnecessary points. + * + * @param Points An array of FlxPoint nodes. + + + + + + + + + + { InScreenSpace : false } + flixel.group.FlxTypedGroup + + * Checks to see if some FlxObject overlaps this FlxObject object in world space. + * If the group has a LOT of things in it, it might be faster to use FlxG.overlaps(). + * WARNING: Currently tilemaps do NOT support screen space overlap checks! + * + * @param Object The object being tested. + * @param InScreenSpace Whether to take scroll factors into account when checking for overlap. + * @param Camera Specify which game camera you want. If null, getScreenPosition() will just grab the first global camera. + * @return Whether or not the two objects overlap. + + + + + + + + + + + { InScreenSpace : false, Y : 0, X : 0 } + + + + + + + + + + + + { InScreenSpace : false } + flixel.group.FlxTypedGroup + + * Checks to see if this FlxObject were located at the given position, would it overlap the FlxObject or FlxGroup? + * This is distinct from overlapsPoint(), which just checks that point, rather than taking the object's size into account. + * WARNING: Currently tilemaps do NOT support screen space overlap checks! + * + * @param X The X position you want to check. Pretends this object (the caller, not the parameter) is located here. + * @param Y The Y position you want to check. Pretends this object (the caller, not the parameter) is located here. + * @param ObjectOrGroup The object or group being tested. + * @param InScreenSpace Whether to take scroll factors into account when checking for overlap. Default is false, or "only compare in world space." + * @param Camera Specify which game camera you want. If null getScreenPosition() will just grab the first global camera. + * @return Whether or not the two objects overlap. + + + + + + + + + + + + + + + + + { InScreenSpace : false } + * Checks to see if a point in 2D world space overlaps this FlxObject object. + * + * @param WorldPoint The point in world space you want to check. + * @param InScreenSpace Whether to take scroll factors into account when checking for overlap. + * @param Camera Specify which game camera you want. If null getScreenPosition() will just grab the first global camera. + * @return Whether or not the point overlaps this object. + + + + + + + + + + + * Get the world coordinates and size of the entire tilemap as a FlxRect. + * + * @param Bounds Optional, pass in a pre-existing FlxRect to prevent instantiation of a new object. + * @return A FlxRect containing the world coordinates and size of the entire tilemap. + + + + + + * Good for levels with thin walls that don't need interior corner art. + * Better for levels with thick walls that look better with interior corner art. + * Better for all, but need 47 tiles. + * @since 4.6.0 + + + + + + + + + + + + + cast 0 + + + + * No diagonal movement allowed when calculating the path + + + + + cast 1 + + + + * Diagonal movement costs the same as orthogonal movement + + + + + cast 2 + + + + * Diagonal movement costs one more than orthogonal movement + + + + + + + + + cast 0 + + + + * No diagonal movement allowed when calculating the path + + + + + cast 1 + + + + * Diagonal movement costs the same as orthogonal movement + + + + + cast 2 + + + + * Diagonal movement costs one more than orthogonal movement + + + + + + + + + + + + null + * This function is called whenever an object hits a tile of this type. + * This function should take the form myFunction(Tile:FlxTile,Object:FlxObject):void. + * Defaults to null, set through FlxTilemap.setTileProperties(). + + + + * Each tile can store its own filter class for their callback functions. + * That is, the callback will only be triggered if an object with a class + * type matching the filter touched it. + * Defaults to null, set through FlxTilemap.setTileProperties(). + + + + * A reference to the tilemap this tile object belongs to. + + + + * The index of this tile type in the core map data. + * For example, if your map only has 16 kinds of tiles in it, + * this number is usually between 0 and 15. + + + + 0 + * The current map index of this tile object at this moment. + * You can think of tile objects as moving around the tilemap helping with collisions. + * This value is only reliable and useful if used from the callback function. + + + + * Frame graphic for this tile. + + + + * Clean up memory. + + + + + + + + + + + + * Instantiate this new tile object. This is usually called from FlxTilemap.loadMap(). + * + * @param Tilemap A reference to the tilemap object creating the tile. + * @param Index The actual core map data index for this tile type. + * @param Width The width of the tile. + * @param Height The height of the tile. + * @param Visible Whether the tile is visible or not. + * @param AllowCollisions The collision flags for the object. By default this value is ANY or NONE depending on the parameters sent to loadMap(). + + * A simple helper object for FlxTilemap that helps expand collision opportunities and control. + * You can use FlxTilemap.setTileProperties() to alter the collision properties and + * callback functions and filters for this object to do things like one-way tiles or whatever. + + + + + + + + + + + + + { empties : 0 } + * Fills the block with a randomly arranged selection of frames. + * + * @param TileFrames The frames that should fill this block. + * @param Empties The number of "empty" tiles to add to the auto-fill algorithm (e.g. 8 tiles + 4 empties = 1/3 of block will be open holes). + * @return This tile block. + + + + + + + + + + { Empties : 0, TileHeight : 0, TileWidth : 0 } + * Fills the block with a randomly arranged selection of graphics from the image provided. + * + * @param TileGraphic The graphic class that contains the tiles that should fill this block. + * @param TileWidth The width of a single tile in the graphic. + * @param TileHeight The height of a single tile in the graphic. + * @param Empties The number of "empty" tiles to add to the auto-fill algorithm (e.g. 8 tiles + 4 empties = 1/3 of block will be open holes). + * @return This tile block. + + + + + + + + + + + + + + + + * Creates a new FlxBlock object with the specified position and size. + * + * @param X The X position of the block. + * @param Y The Y position of the block. + * @param Width The width of the block. + * @param Height The height of the block. + + * This is a basic "environment object" class, used to create simple walls and floors. + * It can be filled with a random selection of tiles to quickly add detail. + + + + + + + "__ASSET__:bitmap_flixel_tile_GraphicAuto" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + + "assets/images/tile/autotiles.png" + + + + + + + "__ASSET__:bitmap_flixel_tile_GraphicAutoAlt" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + + "assets/images/tile/autotiles_alt.png" + + + + + + + "__ASSET__:bitmap_flixel_tile_GraphicAutoFull" + + + + + + + + + + { fillRGBA : 0xFFFFFFFF, transparent : true } + + + openfl.utils._internal.AssetsMacro.embedBitmap() + openfl.utils._internal.AssetsMacro.embedBitmap() + + "assets/images/tile/autotiles_full.png" + + + + + + + true + * Try to eliminate 1 px gap between tiles in tile render mode by increasing tile scale, + * so the tile will look one pixel wider than it is. + + + + * Changes the size of this tilemap. Default is (1, 1). + * Anything other than the default is very slow with blitting! + + + + false + * Controls whether the object is smoothed when rotated, affects performance. + * @since 4.1.0 + + + + FlxPoint.get() + * Use to offset the drawing position of the tilemap, + * just like FlxSprite. + + + + * Rendering variables. + + + + + 0xffffff + * Tints the whole sprite to a color (0xRRGGBB format) - similar to OpenGL vertex colors. You can use + * 0xAARRGGBB colors, but the alpha value will simply be ignored. To change the opacity use alpha. + + + + 1.0 + * Set alpha to a number between 0 and 1 to change the opacity of the sprite. + + + + new ColorTransform() + + + + null + * Blending modes, just like Photoshop or whatever, e.g. "multiply", "screen", etc. + + + + * GLSL shader for this tilemap. Only works with OpenFL Next or WebGL. + * Avoid changing it frequently as this is a costly operation. + * @since 4.1.0 + + <_flashPoint expr="new Point()"> + + new Point() + * Rendering helper, minimize new object instantiation on repetitive methods. + + <_flashRect expr="new Rectangle()"> + + new Rectangle() + * Rendering helper, minimize new object instantiation on repetitive methods. + + <_buffers expr="[]"> + + [] + * Internal list of buffers, one for each camera, used for drawing the tilemaps. + + <_tileWidth expr="0"> + + 0 + * Internal, the width of a single tile. + + <_tileHeight expr="0"> + + 0 + * Internal, the height of a single tile. + + <_scaledTileWidth expr="0"> + + 0 + + <_scaledTileHeight expr="0"> + + 0 + + <_helperPoint> + + * Rendering helper, minimize new object instantiation on repetitive methods. Used only in tile rendering mode + + <_matrix> + + * Rendering helper, used for tile's frame transformations (only in tile rendering mode). + + <_checkBufferChanges expr="false"> + + false + * Whether buffers need to be checked again next draw(). + + + + * Clean up memory. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * Check and see if this object is currently on screen. Differs from `FlxObject`'s implementation + * in that it takes the actual graphic into account, not just the hitbox or bounding box or whatever. + * + * @param Camera Specify which game camera you want. If `null`, it will just grab the first global camera. + * @return Whether the object is on screen or not. + + + + * Draws the tilemap buffers to the cameras. + + + + + + + + { Dirty : true } + * Set the dirty flag on all the tilemap buffers. + * Basically forces a reset of the drawn tilemaps, even if it wasn't necessary. + * + * @param Dirty Whether to flag the tilemap buffers as dirty or not. + + + + + + + + + + + + + + { FlipCallbackParams : false } + * Checks if the Object overlaps any tiles with any collision flags set, + * and calls the specified callback function (if there is one). + * Also calls the tile's registered callback if the filter matches. + * + * @param Object The FlxObject you are checking for overlaps against. + * @param Callback An optional function that takes the form "myCallback(Object1:FlxObject,Object2:FlxObject)", where Object1 is a FlxTile object, and Object2 is the object passed in in the first parameter of this method. + * @param FlipCallbackParams Used to preserve A-B list ordering from FlxObject.separate() - returns the FlxTile object as the second parameter instead. + * @param Position Optional, specify a custom position for the tilemap (useful for overlapsAt()-type functionality). + * @return Whether there were overlaps, or if a callback was specified, whatever the return value of the callback was. + + + + + + + + + + + + { Midpoint : true } + + + + + + + + { Midpoint : true } + * Returns a new array full of every coordinate of the requested tile type. + * + * @param Index The requested tile type. + * @param Midpoint Whether to return the coordinates of the tile midpoint, or upper left corner. Default is true, return midpoint. + * @return An Array with a list of all the coordinates of that tile type. + + + + + + + + + { UpdateWorld : true, Border : 0 } + * Call this function to lock the automatic camera to the map's edges. + * + * @param Camera Specify which game camera you want. If null getScreenPosition() will just grab the first global camera. + * @param Border Adjusts the camera follow boundary by whatever number of tiles you specify here. Handy for blocking off deadends that are offscreen, etc. Use a negative number to add padding instead of hiding the edges. + * @param UpdateWorld Whether to update the collision system's world size, default value is true. + + + + + + + + + + { Resolution : 1 } + * Shoots a ray from the start point to the end point. + * If/when it passes through a tile, it stores that point and returns false. + * + * @param Start The world coordinates of the start of the ray. + * @param End The world coordinates of the end of the ray. + * @param Result An optional point containing the first wall impact if there was one. Null otherwise. + * @param Resolution Defaults to 1, meaning check every tile or so. Higher means more checks! + * @return Returns true if the ray made it from Start to End without hitting anything. Returns false and fills Result if a tile was hit. + + + + + + + + + + + + + { NewTile : 0 } + * Change a particular tile to FlxSprite. Or just copy the graphic if you dont want any changes to map data itself. + * + * @param X The X coordinate of the tile (in tiles, not pixels). + * @param Y The Y coordinate of the tile (in tiles, not pixels). + * @param NewTile New tile for the map data. Use -1 if you dont want any changes. Default = 0 (empty) + * @param SpriteFactory Method for converting FlxTile to FlxSprite. If null then will be used defaultTileToSprite() method. + * @return FlxSprite. + + + + * Use this method so the tilemap buffers are updated, e.g. when resizing your game + + + + + + + + flixel.FlxCamera + * Internal function that actually renders the tilemap to the tilemap buffer. Called by draw(). + * + * @param Buffer The FlxTilemapBuffer you are rendering to. + * @param Camera The related FlxCamera, mainly for scroll values. + + + + + + + * Internal function to clean up the map loading code. + * Just generates a wireframe box the size of a tile with the specified color. + + + + + + + + + + + + + + + * Internal function for setting graphic property for this object. + * It changes graphic' useCount also for better memory tracking. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * Default method for generating FlxSprite from FlxTile + * + * @param TileProperties properties for new sprite + * @return New FlxSprite with specified graphic + + + + + + + * This is a traditional tilemap display and collision class. It takes a string of comma-separated numbers and then associates + * those values with tiles from the sheet you pass in. It also includes some handy static parsers that can convert + * arrays or images into strings that can be loaded. + + + + + + + + + + + + + + + 0 + * The current X position of the buffer. + + + + 0 + * The current Y position of the buffer. + + + + 0 + * The width of the buffer (usually just a few tiles wider than the camera). + + + + 0 + * The height of the buffer (usually just a few tiles taller than the camera). + + + + false + * Whether the buffer needs to be redrawn. + + + + 0 + * How many rows of tiles fit in this buffer. + + + + 0 + * How many columns of tiles fit in this buffer. + + + + * Whether or not the coordinates should be rounded during draw(), true by default (recommended for pixel art). + * Only affects tilesheet rendering and rendering using BitmapData.draw() in blitting. + * (copyPixels() only renders on whole pixels by nature). Causes draw() to be used if false, which is more expensive. + + + + * The actual buffer BitmapData. (Only used if FlxG.renderBlit == true) + + + + + false + + <_flashRect> + <_matrix> + <_prevTilemapX> + + * Variables related to calculation of dirty value + + <_prevTilemapY> + <_prevTilemapScaleX> + <_prevTilemapScaleY> + <_prevTilemapScrollX> + <_prevTilemapScrollY> + <_prevCameraScrollX> + <_prevCameraScrollY> + <_prevCameraScaleX> + <_prevCameraScaleY> + <_prevCameraWidth> + <_prevCameraHeight> + + + + + + + + + + + + { ScaleY : 1.0, ScaleX : 1.0 } + + + + * Clean up memory. + + + + + + + { Color : FlxColor.TRANSPARENT } + * Fill the buffer with the specified color. + * Default value is transparent. + * + * @param Color What color to fill with, in 0xAARRGGBB hex format. + + + + + + + + + + { ScaleY : 1.0, ScaleX : 1.0 } + * Just stamps this buffer onto the specified camera at the specified location. + * + * @param Camera Which camera to draw the buffer onto. + * @param FlashPoint Where to draw the buffer at in camera coordinates. + + + + + + + + + + + + + + + { ScaleX : 1.0 } + flixel.FlxCamera.viewWidth + + + + + + + + + + + + { ScaleY : 1.0 } + flixel.FlxCamera.viewHeight + + + + + + + + * Check if object is rendered pixel perfect on a specific camera. + + + + + + + + * Check if tilemap or camera has changed (scrolled, moved, resized or scaled) since the previous frame. + * If so, then it means that we need to redraw this buffer. + * @param Tilemap Tilemap to check against. It's a tilemap this buffer belongs to. + * @param Camera Camera to check against. It's a camera this buffer is used for drawing on. + * @return The value of dirty flag. + + + + + + + + + + + + + { ScaleY : 1.0, ScaleX : 1.0 } + * Instantiates a new camera-specific buffer for storing the visual tilemap data. + * + * @param TileWidth The width of the tiles in this tilemap. + * @param TileHeight The height of the tiles in this tilemap. + * @param WidthInTiles How many tiles wide the tilemap is. + * @param HeightInTiles How many tiles tall the tilemap is. + * @param Camera Which camera this buffer relates to. + + * A helper object to keep tilemap drawing performance decent across the new multi-camera system. + * Pretty much don't even have to think about this class unless you are doing some crazy hacking. + + + + + + Math.PI / 2 + Easing constants + + + + 2 * Math.PI / .45 + + + + 1 / 2.75 + + + + 2 / 2.75 + + + + 1.5 / 2.75 + + + + 2.5 / 2.75 + + + + 2.25 / 2.75 + + + + 2.625 / 2.75 + + + + 1 + + + + 0.4 + + + + + + + @since 4.3.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @since 4.3.0 + + + + + + + @since 4.3.0 + + + + + + + @since 4.3.0 + + + + + + + @since 4.3.0 + + + + + + + @since 4.3.0 + + + + + + + @since 4.3.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @since 4.5.0 + + + + + + cast 1 + + + + * Persistent Tween type, will stop when it finishes. + + + + + cast 2 + + + + * Looping Tween type, will restart immediately when it finishes. + + + + + cast 4 + + + + * "To and from" Tween type, will play tween hither and thither + + + + + cast 8 + + + + * Oneshot Tween type, will stop and remove itself from its core container when it finishes. + + + + + cast 16 + + + + * Backward Tween type, will play tween in reverse direction + + + + + + + + + cast 1 + + + + * Persistent Tween type, will stop when it finishes. + + + + + cast 2 + + + + * Looping Tween type, will restart immediately when it finishes. + + + + + cast 4 + + + + * "To and from" Tween type, will play tween hither and thither + + + + + cast 8 + + + + * Oneshot Tween type, will stop and remove itself from its core container when it finishes. + + + + + cast 16 + + + + * Backward Tween type, will play tween in reverse direction + + + + + + + + + FlxTweenType.PERSIST + "Use FlxTweenType.PERSIST instead" + + * Deprecated, use `FlxTweenType.PERSIST` instead. + + + + + FlxTweenType.LOOPING + "Use FlxTweenType.LOOPING instead" + + * Deprecated, use `FlxTweenType.LOOPING` instead. + + + + + FlxTweenType.PINGPONG + "Use FlxTweenType.PINGPONG instead" + + * Deprecated, use `FlxTweenType.PINGPONG` instead. + + + + + FlxTweenType.ONESHOT + "Use FlxTweenType.ONESHOT instead" + + * Deprecated, use `FlxTweenType.ONESHOT` instead. + + + + + FlxTweenType.BACKWARD + "Use FlxTweenType.BACKWARD instead" + + * Deprecated, use `FlxTweenType.BACKWARD` instead. + + + + * The global tweening manager that handles global tweens + * @since 4.2.0 + + + + + + + + + + { Duration : 1 } + * Tweens numeric public properties of an Object. Shorthand for creating a VarTween, starting it and adding it to the TweenManager. + * + * ```haxe + * FlxTween.tween(Object, { x: 500, y: 350, "scale.x": 2 }, 2.0, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); + * ``` + * + * @param Object The object containing the properties to tween. + * @param Values An object containing key/value pairs of properties and target values. + * @param Duration Duration of the tween in seconds. + * @param Options A structure with tween options. + * @return The added VarTween object. + + + + + + + + + + + + + + { Duration : 1 } + * Tweens some numeric value. Shorthand for creating a NumTween, starting it and adding it to the TweenManager. Using it in + * conjunction with a TweenFunction requires more setup, but is faster than VarTween because it doesn't use Reflection. + * + * ```haxe + * function tweenFunction(s:FlxSprite, v:Float) { s.alpha = v; } + * FlxTween.num(1, 0, 2.0, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }, tweenFunction.bind(mySprite)); + * ``` + * + * Trivia: For historical reasons, you can use either onUpdate or TweenFunction to accomplish the same thing, but TweenFunction + * gives you the updated Float as a direct argument. + * + * @param FromValue Start value. + * @param ToValue End value. + * @param Duration Duration of the tween. + * @param Options A structure with tween options. + * @param TweenFunction A function to be called when the tweened value updates. It is recommended not to use an anonymous + * function if you are maximizing performance, as those will be compiled to Dynamics on cpp. + * @return The added NumTween object. + + + + + + + + + + + { Duration : 1 } + * Tweens numeric value which represents angle. Shorthand for creating a AngleTween object, starting it and adding it to the TweenManager. + * + * ```haxe + * FlxTween.angle(Sprite, -90, 90, 2.0, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); + * ``` + * + * @param Sprite Optional Sprite whose angle should be tweened. + * @param FromAngle Start angle. + * @param ToAngle End angle. + * @param Duration Duration of the tween. + * @param Options A structure with tween options. + * @return The added AngleTween object. + + + + + + + + + + + { Duration : 1 } + * Tweens numeric value which represents color. Shorthand for creating a ColorTween object, starting it and adding it to a TweenPlugin. + * + * ```haxe + * FlxTween.color(Sprite, 2.0, 0x000000, 0xffffff, 0.0, 1.0, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); + * ``` + * + * @param Sprite Optional Sprite whose color should be tweened. + * @param Duration Duration of the tween in seconds. + * @param FromColor Start color. + * @param ToColor End color. + * @param Options A structure with tween options. + * @return The added ColorTween object. + + + + + + + + + + + + + + { UseDuration : true, DurationOrSpeed : 1 } + * Create a new LinearMotion tween. + * + * ```haxe + * FlxTween.linearMotion(Object, 0, 0, 500, 20, 5, false, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); + * ``` + * + * @param Object The object to move (FlxObject or FlxSpriteGroup) + * @param FromX X start. + * @param FromY Y start. + * @param ToX X finish. + * @param ToY Y finish. + * @param DurationOrSpeed Duration (in seconds) or speed of the movement. + * @param UseDuration Whether to use the previous param as duration or speed. + * @param Options A structure with tween options. + * @return The LinearMotion object. + + + + + + + + + + + + + + + + { UseDuration : true, DurationOrSpeed : 1 } + * Create a new QuadMotion tween. + * + * ```haxe + * FlxTween.quadMotion(Object, 0, 100, 300, 500, 100, 2, 5, false, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); + * ``` + * + * @param Object The object to move (FlxObject or FlxSpriteGroup) + * @param FromX X start. + * @param FromY Y start. + * @param ControlX X control, used to determine the curve. + * @param ControlY Y control, used to determine the curve. + * @param ToX X finish. + * @param ToY Y finish. + * @param DurationOrSpeed Duration (in seconds) or speed of the movement. + * @param UseDuration Whether to use the previous param as duration or speed. + * @param Options A structure with tween options. + * @return The QuadMotion object. + + + + + + + + + + + + + + + + + { Duration : 1 } + * Create a new CubicMotion tween. + * + * ```haxe + * FlxTween.cubicMotion(_sprite, 0, 0, 500, 100, 400, 200, 100, 100, 2, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); + * ``` + * + * @param Object The object to move (FlxObject or FlxSpriteGroup) + * @param FromX X start. + * @param FromY Y start. + * @param aX First control x. + * @param aY First control y. + * @param bX Second control x. + * @param bY Second control y. + * @param ToX X finish. + * @param ToY Y finish. + * @param Duration Duration of the movement in seconds. + * @param Options A structure with tween options. + * @return The CubicMotion object. + + + + + + + + + + + + + + + { UseDuration : true, DurationOrSpeed : 1 } + * Create a new CircularMotion tween. + * + * ```haxe + * FlxTween.circularMotion(Object, 250, 250, 50, 0, true, 2, true, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); + * ``` + * + * @param Object The object to move (FlxObject or FlxSpriteGroup) + * @param CenterX X position of the circle's center. + * @param CenterY Y position of the circle's center. + * @param Radius Radius of the circle. + * @param Angle Starting position on the circle. + * @param Clockwise If the motion is clockwise. + * @param DurationOrSpeed Duration of the movement in seconds. + * @param UseDuration Duration of the movement. + * @param Ease Optional easer function. + * @param Options A structure with tween options. + * @return The CircularMotion object. + + + + + + + + + + + { UseDuration : true, DurationOrSpeed : 1 } + * Create a new LinearPath tween. + * + * ```haxe + * FlxTween.linearPath(Object, [FlxPoint.get(0, 0), FlxPoint.get(100, 100)], 2, true, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); + * ``` + * + * @param Object The object to move (FlxObject or FlxSpriteGroup) + * @param Points An array of at least 2 FlxPoints defining the path + * @param DurationOrSpeed Duration (in seconds) or speed of the movement. + * @param UseDuration Whether to use the previous param as duration or speed. + * @param Options A structure with tween options. + * @return The LinearPath object. + + + + + + + + + + + { UseDuration : true, DurationOrSpeed : 1 } + * Create a new QuadPath tween. + * + * ```haxe + * FlxTween.quadPath(Object, [FlxPoint.get(0, 0), FlxPoint.get(200, 200), FlxPoint.get(400, 0)], 2, true, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); + * ``` + * + * @param Object The object to move (FlxObject or FlxSpriteGroup) + * @param Points An array of at least 3 FlxPoints defining the path + * @param DurationOrSpeed Duration (in seconds) or speed of the movement. + * @param UseDuration Whether to use the previous param as duration or speed. + * @param Options A structure with tween options. + * @return The QuadPath object. + + + + + + + + * Cancels all related tweens on the specified object. + * + * Note: Any tweens with the specified fields are cancelled, if the tween has other properties they + * will also be cancelled. + * + * @param Object The object with tweens to cancel. + * @param FieldPaths Optional list of the tween field paths to search for. If null or empty, all tweens on the specified + * object are canceled. Allows dot paths to check child properties. + * + * @since 4.9.0 + + + + + + + + * Immediately updates all tweens on the specified object with the specified fields that + * are not looping (type `FlxTween.LOOPING` or `FlxTween.PINGPONG`) and `active` through + * their endings, triggering their `onComplete` callbacks. + * + * Note: if they haven't yet begun, this will first trigger their `onStart` callback. + * + * Note: their `onComplete` callbacks are triggered in the next frame. + * To trigger them immediately, call `FlxTween.globalManager.update(0);` after this function. + * + * In no case should it trigger an `onUpdate` callback. + * + * Note: Any tweens with the specified fields are completed, if the tween has other properties they + * will also be completed. + * + * @param Object The object with tweens to complete. + * @param FieldPaths Optional list of the tween field paths to search for. If null or empty, all tweens on + * the specified object are completed. Allows dot paths to check child properties. + * + * @since 4.9.0 + + + + * The manager to which this tween belongs + * @since 4.2.0 + + + + false + + + + 0 + + + + + + + + + * Value between `0` and `1` that indicates how far along this tween is in its completion. + * A value of `0.33` means that the tween is `33%` complete. + + + + + 0 + + + + + 0 + * How many times this tween has been executed / has finished so far - useful to + * stop the `LOOPING` and `PINGPONG` types after a certain amount of time + + + + 0 + * Seconds to wait until starting this tween, 0 by default + + + + 0 + * Seconds to wait between loops of this tween, 0 by default + + <_secondsSinceStart expr="0"> + + 0 + + <_delayToUse expr="0"> + + 0 + + <_running expr="false"> + + false + + <_waitingForRestart expr="false"> + + false + + <_chainedTweens> + <_nextTweenInChain> + + + + + + + + + + + * Specify a tween to be executed when this one has finished + * (useful for creating "tween chains"). + + + + + + + * How many seconds to delay the execution of the next tween in a tween chain. + + + + + + + + + + + + * Starts the Tween, or restarts it if it's currently running. + + + + * Immediately stops the Tween and removes it from its + * `manager` without calling the `onComplete` callback. + * + * Yields control to the next chained Tween if one exists. + + + + * Immediately stops the Tween and removes it from its + * `manager` without calling the `onComplete` callback + * or yielding control to the next chained Tween if one exists. + * + * If control has already been passed on, forwards the cancellation + * request along the chain to the currently active Tween. + * + * @since 4.3.0 + + + + + * Called when the tween ends, either via finish() or cancel(). + + + + + + + + + + + + + + * In case the tween.active was set to false in onComplete(), + * the tween should not be restarted yet. + + + + + + + + * Returns true if this is tweening the specified field on the specified object. + * + * @param Object The object. + * @param Field Optional tween field. Ignored if null. + * + * @since 4.9.0 + + + + + + + + * Set both type of delays for this tween. + * + * @param startDelay Seconds to wait until starting this tween, 0 by default. + * @param loopDelay Seconds to wait between loops of this tween, 0 by default. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * This function is called when tween is created, or recycled. + + + + + + + + + + + + * Tween type - bit field of `FlxTween`'s static type constants. + + + + + * Seconds to wait until starting this tween, `0` by default. + + + + + * Optional update callback function. + + + + + * Optional start callback function. + + + + + * Optional complete callback function. + + + + + * Seconds to wait between loops of this tween, `0` by default. + + + + + * Optional easer function (see `FlxEase`). + + + + + <_tweens set="null" expr="[]"> + + [] + * A list of all FlxTween objects. + + + + + + + + + + { Duration : 1 } + * Tweens numeric public properties of an Object. Shorthand for creating a VarTween, starting it and adding it to the TweenManager. + * + * ```haxe + * FlxTween.tween(Object, { x: 500, y: 350, "scale.x": 2 }, 2.0, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); + * ``` + * + * @param Object The object containing the properties to tween. + * @param Values An object containing key/value pairs of properties and target values. + * @param Duration Duration of the tween in seconds. + * @param Options A structure with tween options. + * @return The added VarTween object. + * @since 4.2.0 + + + + + + + + + + + + + + { Duration : 1 } + * Tweens some numeric value. Shorthand for creating a NumTween, starting it and adding it to the TweenManager. Using it in + * conjunction with a TweenFunction requires more setup, but is faster than VarTween because it doesn't use Reflection. + * + * ```haxe + * function tweenFunction(s:FlxSprite, v:Float) { s.alpha = v; } + * FlxTween.num(1, 0, 2.0, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }, tweenFunction.bind(mySprite)); + * ``` + * + * Trivia: For historical reasons, you can use either onUpdate or TweenFunction to accomplish the same thing, but TweenFunction + * gives you the updated Float as a direct argument. + * + * @param FromValue Start value. + * @param ToValue End value. + * @param Duration Duration of the tween. + * @param Options A structure with tween options. + * @param TweenFunction A function to be called when the tweened value updates. It is recommended not to use an anonymous + * function if you are maximizing performance, as those will be compiled to Dynamics on cpp. + * @return The added NumTween object. + * @since 4.2.0 + + + + + + + + + + + { Duration : 1 } + * Tweens numeric value which represents angle. Shorthand for creating a AngleTween object, starting it and adding it to the TweenManager. + * + * ```haxe + * FlxTween.angle(Sprite, -90, 90, 2.0, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); + * ``` + * + * @param Sprite Optional Sprite whose angle should be tweened. + * @param FromAngle Start angle. + * @param ToAngle End angle. + * @param Duration Duration of the tween. + * @param Options A structure with tween options. + * @return The added AngleTween object. + * @since 4.2.0 + + + + + + + + + + + { Duration : 1 } + * Tweens numeric value which represents color. Shorthand for creating a ColorTween object, starting it and adding it to a TweenPlugin. + * + * ```haxe + * FlxTween.color(Sprite, 2.0, 0x000000, 0xffffff, 0.0, 1.0, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); + * ``` + * + * @param Sprite Optional Sprite whose color should be tweened. + * @param Duration Duration of the tween in seconds. + * @param FromColor Start color. + * @param ToColor End color. + * @param Options A structure with tween options. + * @return The added ColorTween object. + * @since 4.2.0 + + + + + + + + + + + + + + { UseDuration : true, DurationOrSpeed : 1 } + * Create a new LinearMotion tween. + * + * ```haxe + * FlxTween.linearMotion(Object, 0, 0, 500, 20, 5, false, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); + * ``` + * + * @param Object The object to move (FlxObject or FlxSpriteGroup) + * @param FromX X start. + * @param FromY Y start. + * @param ToX X finish. + * @param ToY Y finish. + * @param DurationOrSpeed Duration (in seconds) or speed of the movement. + * @param UseDuration Whether to use the previous param as duration or speed. + * @param Options A structure with tween options. + * @return The LinearMotion object. + * @since 4.2.0 + + + + + + + + + + + + + + + + { UseDuration : true, DurationOrSpeed : 1 } + * Create a new QuadMotion tween. + * + * ```haxe + * FlxTween.quadMotion(Object, 0, 100, 300, 500, 100, 2, 5, false, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); + * ``` + * + * @param Object The object to move (FlxObject or FlxSpriteGroup) + * @param FromX X start. + * @param FromY Y start. + * @param ControlX X control, used to determine the curve. + * @param ControlY Y control, used to determine the curve. + * @param ToX X finish. + * @param ToY Y finish. + * @param DurationOrSpeed Duration (in seconds) or speed of the movement. + * @param UseDuration Whether to use the previous param as duration or speed. + * @param Options A structure with tween options. + * @return The QuadMotion object. + * @since 4.2.0 + + + + + + + + + + + + + + + + + { Duration : 1 } + * Create a new CubicMotion tween. + * + * ```haxe + * FlxTween.cubicMotion(_sprite, 0, 0, 500, 100, 400, 200, 100, 100, 2, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); + * ``` + * + * @param Object The object to move (FlxObject or FlxSpriteGroup) + * @param FromX X start. + * @param FromY Y start. + * @param aX First control x. + * @param aY First control y. + * @param bX Second control x. + * @param bY Second control y. + * @param ToX X finish. + * @param ToY Y finish. + * @param Duration Duration of the movement in seconds. + * @param Options A structure with tween options. + * @return The CubicMotion object. + * @since 4.2.0 + + + + + + + + + + + + + + + { UseDuration : true, DurationOrSpeed : 1 } + * Create a new CircularMotion tween. + * + * ```haxe + * FlxTween.circularMotion(Object, 250, 250, 50, 0, true, 2, true, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); + * ``` + * + * @param Object The object to move (FlxObject or FlxSpriteGroup) + * @param CenterX X position of the circle's center. + * @param CenterY Y position of the circle's center. + * @param Radius Radius of the circle. + * @param Angle Starting position on the circle. + * @param Clockwise If the motion is clockwise. + * @param DurationOrSpeed Duration of the movement in seconds. + * @param UseDuration Duration of the movement. + * @param Ease Optional easer function. + * @param Options A structure with tween options. + * @return The CircularMotion object. + * @since 4.2.0 + + + + + + + + + + + { UseDuration : true, DurationOrSpeed : 1 } + * Create a new LinearPath tween. + * + * ```haxe + * FlxTween.linearPath(Object, [FlxPoint.get(0, 0), FlxPoint.get(100, 100)], 2, true, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); + * ``` + * + * @param Object The object to move (FlxObject or FlxSpriteGroup) + * @param Points An array of at least 2 FlxPoints defining the path + * @param DurationOrSpeed Duration (in seconds) or speed of the movement. + * @param UseDuration Whether to use the previous param as duration or speed. + * @param Options A structure with tween options. + * @return The LinearPath object. + * @since 4.2.0 + + + + + + + + + + + { UseDuration : true, DurationOrSpeed : 1 } + * Create a new QuadPath tween. + * + * ```haxe + * FlxTween.quadPath(Object, [FlxPoint.get(0, 0), FlxPoint.get(200, 200), FlxPoint.get(400, 0)], 2, true, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); + * ``` + * + * @param Object The object to move (FlxObject or FlxSpriteGroup) + * @param Points An array of at least 3 FlxPoints defining the path + * @param DurationOrSpeed Duration (in seconds) or speed of the movement. + * @param UseDuration Whether to use the previous param as duration or speed. + * @param Options A structure with tween options. + * @return The QuadPath object. + * @since 4.2.0 + + + + + + + + + + + + + + { Destroy : true } + flixel.tweens.FlxTween + + * Remove a FlxTween. + * + * @param Tween The FlxTween to remove. + * @param Destroy Whether you want to destroy the FlxTween + * @return The removed FlxTween object. + + + + * Removes all FlxTweens. + + + + + + + + * Cancels all related tweens on the specified object. + * + * Note: Any tweens with the specified fields are cancelled, if the tween has other properties they + * will also be cancelled. + * + * @param Object The object with tweens to cancel. + * @param FieldPaths Optional list of the tween field paths to search for. If null or empty, all tweens on the specified + * object are canceled. Allows dot paths to check child properties. + * + * @since 4.9.0 + + + + + + + + * Immediately updates all tweens on the specified object with the specified fields that + * are not looping (type `FlxTween.LOOPING` or `FlxTween.PINGPONG`) and `active` through + * their endings, triggering their `onComplete` callbacks. + * + * Note: if they haven't yet begun, this will first trigger their `onStart` callback. + * + * Note: their `onComplete` callbacks are triggered in the next frame. + * To trigger them immediately, call `FlxTween.globalManager.update(0);` after this function. + * + * In no case should it trigger an `onUpdate` callback. + * + * Note: Any tweens with the specified fields are completed, if the tween has other properties they + * will also be completed. + * + * @param Object The object with tweens to complete. + * @param FieldPaths Optional list of the tween field paths to search for. If null or empty, all tweens on + * the specified object are completed. Allows dot paths to check child properties. + * + * @since 4.9.0 + + + + + + + + + + + + * Internal helper for iterating tweens with specific parameters. + * + * Note: loops backwards to allow removals. + * + * @param Object The object with tweens you are searching for. + * @param FieldPaths Optional list of the tween field paths to check. If null or empty, any tween of the specified + * object will match. Allows dot paths to check child properties. + * @param Function The function to call on each matching tween. + * + * @since 4.9.0 + + + + * Immediately updates all tweens that are not looping (type `FlxTween.LOOPING` or `FlxTween.PINGPONG`) + * and `active` through their endings, triggering their `onComplete` callbacks. + * + * Note: if they haven't yet begun, this will first trigger their `onStart` callback. + * + * Note: their `onComplete` callbacks are triggered in the next frame. + * To trigger them immediately, call `FlxTween.globalManager.update(0);` after this function. + * + * In no case should it trigger an `onUpdate` callback. + * + * @since 4.2.0 + + + + + + + + + + * Applies a function to all tweens + * + * @param Function A function that modifies one tween at a time + * @since 4.2.0 + + + * A simple manager for tracking and updating game tween objects. + * Normally accessed via the static `FlxTween.globalManager` rather than being created separately. + + + flixel.tweens + flixel.tweens.FlxTween + + + + + + + + + + + + * Optional sprite object whose angle to tween + + <_start> + <_range> + + + * Clean up references + + + + + + + + + + * Tweens the value from one angle to another. + * + * @param FromAngle Start angle. + * @param ToAngle End angle. + * @param Duration Duration of the tween. + + + + + + + + + + + + + + + + * Tweens from one angle to another. + + + + + + + + + + * Optional sprite object whose color to tween + + + + * Clean up references + + + + + + + + + + * Tweens the color to a new color and an alpha to a new alpha. + * + * @param Duration Duration of the tween. + * @param FromColor Start color. + * @param ToColor End color. + * @param Sprite Optional sprite object whose color to tween. + * @return The ColorTween. + + + + + + + + + + + + + + + + * Tweens a color's red, green, and blue properties + * independently. Can also tween an alpha value. + + + + + + + * The current value. + + <_tweenFunction> + + + + <_start> + <_range> + + + * Clean up references + + + + + + + + + + + + + * Tweens the value from one value to another. + * + * @param fromValue Start value. + * @param toValue End value. + * @param duration Duration of the tween. + * @param tweenFunction Optional tween function. See FlxTween.num() + + + + + + + + + + + * Tweens a numeric value. See FlxTween.num() + + + + + <_object> + <_properties> + <_propertyInfos> + + + + + + + + * Tweens multiple numeric public properties. + * + * @param object The object containing the properties. + * @param properties An object containing key/value pairs of properties and target values. + * @param duration Duration of the tween. + + + + + + + + + + + + + + + + + + + * Tweens multiple numeric properties of an object simultaneously. + + + + + + + + + + + + + 0 + * Current x position of the Tween. + + + + 0 + * Current y position of the Tween. + + <_object> + <_wasObjectImmovable> + + + + + + + + + + + + + + + + + + + + + + * Base class for motion Tweens. + + + + + + 0 + * The current position on the circle. + + + + * The circumference of the current circle motion. + + <_centerX expr="0"> + + 0 + + <_centerY expr="0"> + + 0 + + <_radius expr="0"> + + 0 + + <_angleStart expr="0"> + + 0 + + <_angleFinish expr="0"> + + 0 + + + + + + + + + + + + + { UseDuration : true } + * Starts moving along a circle. + * + * @param CenterX X position of the circle's center. + * @param CenterY Y position of the circle's center. + * @param Radius Radius of the circle. + * @param Angle Starting position on the circle. + * @param Clockwise If the motion is clockwise. + * @param DurationOrSpeed Duration of the movement. + * @param UseDuration Duration of the movement. + + + + + + + + + + + + * Determines a circular motion. + + + + + <_fromX expr="0"> + + 0 + + <_fromY expr="0"> + + 0 + + <_toX expr="0"> + + 0 + + <_toY expr="0"> + + 0 + + <_aX expr="0"> + + 0 + + <_aY expr="0"> + + 0 + + <_bX expr="0"> + + 0 + + <_bY expr="0"> + + 0 + + <_ttt expr="0"> + + 0 + + <_tt expr="0"> + + 0 + + + + + + + + + + + + + + + * Starts moving along the curve. + * + * @param fromX X start. + * @param fromY Y start. + * @param aX First control x. + * @param aY First control y. + * @param bX Second control x. + * @param bY Second control y. + * @param toX X finish. + * @param toY Y finish. + * @param duration Duration of the movement. + + + + + + + + + + + * Determines motion along a cubic curve. + + + + + + + * Length of the current line of movement. + + <_fromX expr="0"> + + 0 + + <_fromY expr="0"> + + 0 + + <_moveX expr="0"> + + 0 + + <_moveY expr="0"> + + 0 + + <_distance expr="-1"> + + -1 + + + + + + + + + + + + { UseDuration : true } + * Starts moving along a line. + * + * @param FromX X start. + * @param FromY Y start. + * @param ToX X finish. + * @param ToY Y finish. + * @param DurationOrSpeed Duration or speed of the movement. + * @param UseDuration Whether to use the previous param as duration or speed. + + + + + + + + + + + + * Determines motion along a line, from one point to another. + + + + + + + 0 + * The full length of the path. + + + <_pointD> + <_pointT> + <_speed expr="0"> + + 0 + + <_index expr="0"> + + 0 + + <_last> + <_prevPoint> + <_nextPoint> + + + + + + + + { UseDuration : true } + * Starts moving along the path. + * + * @param DurationOrSpeed Duration or speed of the movement. + * @param UseDuration Whether to use the previous param as duration or speed. + + + + + + + + { y : 0, x : 0 } + + + + + + + { index : 0 } + + + + + + + + + * Updates the path, preparing it for motion. + + + + + + + * Determines linear motion along a set of points. + + + + + + + * The distance of the entire curve. + + <_distance expr="-1"> + + -1 + + <_fromX expr="0"> + + 0 + + <_fromY expr="0"> + + 0 + + <_toX expr="0"> + + 0 + + <_toY expr="0"> + + 0 + + <_controlX expr="0"> + + 0 + + <_controlY expr="0"> + + 0 + + + + + + + + + + + + + + { UseDuration : true } + * Starts moving along the curve. + * + * @param FromX X start. + * @param FromY Y start. + * @param ControlX X control, used to determine the curve. + * @param ControlY Y control, used to determine the curve. + * @param ToX X finish. + * @param ToY Y finish. + * @param DurationOrSpeed Duration or speed of the movement. + * @param UseDuration Duration of the movement. + + + + + + + + + + + + * Determines motion along p1 quadratic curve. + + + + + <_points> + <_distance expr="0"> + + 0 + + <_speed expr="0"> + + 0 + + <_index expr="0"> + + 0 + + <_numSegs expr="0"> + + 0 + + <_updateCurve expr="true"> + + true + + <_curveT> + <_curveD> + <_a> + <_b> + <_c> + + + + + + + + { UseDuration : true } + * Starts moving along the path. + * + * @param DurationOrSpeed Duration or speed of the movement. + * @param UseDuration Whether to use the previous param as duration or speed. + + + + + + + + { y : 0, x : 0 } + * Adds the point to the path. + + + + + + + { index : 0 } + * Gets the point on the path. + + + + + + + + + + + + + + + + + + + * A series of points which will determine a path from the + * beginning point to the end point using quadratic curves. + + + + + + + 0 + * Used with public variable status, means not highlighted or pressed. + + + + 1 + * Used with public variable status, means highlighted (usually from mouse over). + + + + 2 + * Used with public variable status, means pressed (usually from mouse click). + + <_analogs expr="[]" line="71" static="1"> + + [] + * A list of analogs that are currently active. + + + + NORMAL + * Shows the current state of the button. + + + + + * The background of the joystick, also known as the base. + + + + * This function is called when the button is released. + + + + * This function is called when the button is pressed down. + + + + * This function is called when the mouse goes over the button. + + + + * This function is called when the button is hold down. + + <_currentTouch> + + * The current pointer that's active on the analog. + + <_tempTouches expr="[]"> + + [] + * Helper array for checking touches + + <_zone expr="FlxRect.get()"> + + FlxRect.get() + * The area which the joystick will react. + + <_radius expr="0"> + + 0 + * The radius in which the stick can move. + + <_direction expr="0"> + + 0 + + <_amount expr="0"> + + 0 + + <_ease> + + * The speed of easing when the thumb is released. + + + + + + + * Creates the background of the analog stick. + + + + + + + * Creates the thumb of the analog stick. + + + + * Creates the touch zone. It's based on the size of the background. + * The thumb will react when the mouse is in the zone. + + + + * Clean up memory. + + + + + + + * Update the behavior. + + + + + + + + + + + + * Returns the angle in degrees. + + + + * Whether the thumb is pressed or not. + + + + + * Whether the thumb is just pressed or not. + + + + + * Whether the thumb is just released or not. + + + + + + + + + + + + + + + + + + + + + { Ease : 0.25, Radius : 0, Y : 0, X : 0 } + * Create a virtual thumbstick - useful for input on mobile devices. + * + * @param X The X-coordinate of the point in space. + * @param Y The Y-coordinate of the point in space. + * @param Radius The radius where the thumb can move. If 0, half the base's width will be used. + * @param Ease Used to smoothly back thumb to center. Must be between 0 and (FlxG.updateFrameRate / 60). + * @param BaseGraphic The graphic you want to display as base of the joystick. + * @param ThumbGraphic The graphic you want to display as thumb of the joystick. + + * A virtual thumbstick - useful for input on mobile devices. + * + * @author Ka Wing Chin + + + + + + + + + + + + + + + + + + + + * Updates the size of the text field to match the button. + + + + + + + + + + + + + + { Y : 0, X : 0 } + + * A button with `FlxBitmapText` field as a `label`. + + + + + + 0 + * Used with public variable status, means not highlighted or pressed. + + + + 1 + * Used with public variable status, means highlighted (usually from mouse over). + + + + 2 + * Used with public variable status, means pressed (usually from mouse click). + + + + * Shortcut to setting label.text + + + + * Updates the size of the text field to match the button. + + + + + + + + + + + + + + + + + + + { Y : 0, X : 0 } + * Creates a new `FlxButton` object with a gray background + * and a callback function on the UI thread. + * + * @param X The x position of the button. + * @param Y The y position of the button. + * @param Text The text that you want to appear on the button. + * @param OnClick The function to call whenever the button is clicked. + + * A simple button class that calls a function when clicked by the mouse. + + + + + + + * The callback function to call when this even fires. + + + + * The sound to play when this event fires. + + + + * Cleans up memory. + + + + * Fires this event (calls the callback and plays the sound) + + + + + + + + * @param Callback The callback function to call when this even fires. + * @param sound The sound to play when this event fires. + + * Helper function for `FlxButton` which handles its events. + + + + + + + + + + + + + + + { align : "center", color : 0x333333, size : 8 } + * Generates text graphic for button's label. + * + * @param Text text for button's label + * @param font font name for button's label + * @param size font size for button's label + * @param color text color for button's label + * @param align text align for button's label + * @return this button with generated text graphic. + + + + + + + + + + { Y : 0, X : 0 } + * Creates a new FlxButton object with a gray background + * and a callback function on the UI thread. + * + * @param X The x position of the button. + * @param Y The y position of the button. + * @param Text The text that you want to appear on the button. + * @param OnClick The function to call whenever the button is clicked. + + * A simple button class that calls a function when clicked by the mouse. + + + + + + + + + + + + + + + * Group of directions buttons. + + + + * Group of action buttons. + + + + + + + + + + + + + * @param X The x-position of the button. + * @param Y The y-position of the button. + * @param Width The width of the button. + * @param Height The height of the button. + * @param Graphic The image of the button. It must contains 3 frames (`NORMAL`, `HIGHLIGHT`, `PRESSED`). + * @param Callback The callback for the button. + * @return The button + + + + + + + + * Create a gamepad which contains 4 directional buttons and 4 action buttons. + * + * @param DPadMode The D-Pad mode. `FULL` for example. + * @param ActionMode The action buttons mode. `A_B_C` for example. + + * A gamepad which contains 4 directional buttons and 4 action buttons. + * It's easy to set the callbacks and to customize the layout. + * + * @author Ka Wing Chin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { recursive : false } + * Clears an array structure, but leaves the object data untouched + * Useful for cleaning up temporary references to data you want to preserve. + * WARNING: Can lead to memory leaks. + * + * @param array The array to clear out + * @param Recursive Whether to search for arrays inside of arr and clear them out, too + + + + + + + + * Compares the contents with `==` to see if the two arrays are the same. + * Also takes null arrays and the length of the arrays into account. + + + + + + + * Returns the last element of an array or `null` if the array is `null` / empty. + + + + + + + + * Pushes the element into the array (and if the array is null, creates it first) and returns the array. + * @since 4.6.0 + + + + + + + * A set of functions for array manipulation. + + + + + + + + + + + + + + + 8 + * Maximum number of BitmapData to hold in the pool. + + + + 0 + * Current number of BitmapData present in the pool. + + <_head expr="null" line="28" static="1"> + + null + + <_tail expr="null" line="29" static="1"> + + null + + <_rect expr="new Rectangle()" line="31" static="1"> + + new Rectangle() + + + + + + + + + + + { exactSize : false, transparent : true } + = [w, h] may be returned.]]> + + + + + + + * Adds bmd to the pool for future use. + + + + * Disposes of all the BitmapData in the pool. + + + + + + * BitmapData pool class. + * + * Notes on implementation: + * get() starts searching for a suitable BitmapData from the start of the pool list + * put() adds the BitmapData to the start of the pool list (removing the last one if the pool exceeds maxLength) + * + * @author azrafe7 + + + FlxBitmapDataPoolNode + + + + + + + + + + + + + + + + + + new FlxMatrix() + + + + + + + + + + + + + + * Performs per-channel blending from a source image to a destination image. + * + * @param sourceBitmapData The input bitmap image to use. The source image can be a different BitmapData object, or it can refer to the current BitmapData object. + * @param sourceRect A rectangle that defines the area of the source image to use as input. + * @param destBitmapData The output bitmap image to use. + * @param destPoint The point within the destination image (the current BitmapData instance) that corresponds to the upper-left corner of the source rectangle. + * @param redMultiplier A hexadecimal uint value by which to multiply the red channel value. + * @param greenMultiplier A hexadecimal uint value by which to multiply the green channel value. + * @param blueMultiplier A hexadecimal uint value by which to multiply the blue channel value. + * @param alphaMultiplier A hexadecimal uint value by which to multiply the alpha transparency value. + + + + + + + + + + + + + + * Compares two BitmapData objects. + * + * @param Bitmap1 The source BitmapData object to compare with. + * @param Bitmap2 The BitmapData object to compare with the source BitmapData object. + * @return If the two BitmapData objects have the same dimensions (width and height), + * the method returns a new BitmapData object that has the difference between the two objects. + * If the BitmapData objects are equivalent, the method returns the number 0. + * If the widths of the BitmapData objects are not equal, the method returns the number -3. + * If the heights of the BitmapData objects are not equal, the method returns the number -4. + + + + + + + + + + + + * Returns the amount of bytes a bitmapData occupies in memory. + + + + + + + + + + + { fetchPositions : false } + * Replaces all BitmapData's pixels with specified color with newColor pixels. + * WARNING: very expensive (especially on big graphics) as it iterates over every single pixel. + * + * @param bitmapData BitmapData to change + * @param color Color to replace + * @param newColor New color + * @param fetchPositions Whether we need to store positions of pixels which colors were replaced + * @param rect area to apply color replacement. Optional, uses whole image area if the rect is null + * @return Array replaced pixels positions + + + + + + + + + + + * Gets image without spaces between tiles and generates new one with spaces and adds borders around them. + * @param bitmapData original image without spaces between tiles. + * @param frameSize the size of tile in spritesheet. + * @param spacing spaces between tiles to add. + * @param border how many times to copy border of tiles. + * @param region region of image to use as a source graphics for spritesheet. Default value is null, which means that whole image will be used. + * @return Image for spritesheet with inserted spaces between tiles. + + + + + + + + + + + + + + + * Helper method for copying border pixels around tiles. + * It modifies provided image, and assumes that there are spaces between tile images already. + * + * @param bitmapData image with spaces between tiles to fill with border pixels + * @param frameWidth tile width + * @param frameHeight tile height + * @param spaceX horizontal spacing between tiles + * @param spaceY vertical spacing between tiles + * @param borderX how many times to copy border of tiles on horizontal axis. + * @param borderY how many times to copy border of tiles on vertical axis. + * @param horizontalFrames how many columns of tiles on provided image. + * @param verticalFrames how many rows of tiles on provided image. + * @return Modified spritesheet with copied pixels around tile images. + * @since 4.1.0 + + + + + + + + + + { autoBuffer : false, antiAliasing : false, rotations : 16 } + * Generates BitmapData with prerotated brush stamped on it + * + * @param brush The image you want to rotate and stamp. + * @param rotations The number of rotation frames the final sprite should have. For small sprites this can be quite a large number (360 even) without any problems. + * @param antiAliasing Whether to use high quality rotations when creating the graphic. Default is false. + * @param autoBuffer Whether to automatically increase the image size to accommodate rotated corners. Default is false. Will create frames that are 150% larger on each axis than the original frame or graphic. + * @return Created BitmapData with stamped prerotations on it. + + * Just a collection of BitmapData utility methods. + * Just for cross-platform stuff, since not all methods are implemented across all targets. + + + + + + new FlxVector() + + + + new FlxVector() + + + + new FlxVector() + + + + new FlxVector() + + + + new FlxMatrix() + + + + new FlxMatrix() + + + + new FlxMatrix() + + + + new FlxRect() + + + + new FlxRect() + + + + new FlxRect() + + + + new Rectangle() + + + + + + + + + + { AlphaTolerance : 1 } + * A Pixel Perfect Collision check between two FlxSprites. It will do a bounds check first, and if that passes it will run a + * pixel perfect match on the intersecting area. Works with rotated and animated sprites. May be slow, so use it sparingly. + * + * @param Contact The first FlxSprite to test against + * @param Target The second FlxSprite to test again, sprite order is irrelevant + * @param AlphaTolerance The tolerance value above which alpha pixels are included. Default to 1 (anything that is not fully invisible). + * @param Camera If the collision is taking place in a camera other than FlxG.camera (the default/current) then pass it here + * @return Whether the sprites collide + + + + + + + + + + { AlphaTolerance : 1 } + * A Pixel Perfect Collision check between a given x/y coordinate and an FlxSprite + * + * @param PointX The x coordinate of the point given in local space (relative to the FlxSprite, not game world coordinates) + * @param PointY The y coordinate of the point given in local space (relative to the FlxSprite, not game world coordinates) + * @param Target The FlxSprite to check the point against + * @param AlphaTolerance The alpha tolerance level above which pixels are counted as colliding. Default to 1 (anything that is not fully invisible). + * @return Boolean True if the x/y point collides with the FlxSprite, false if not + + + + + + + + + + { AdjustWorldBounds : false, PlaceOutside : true } + * Creates a "wall" around the given camera which can be used for FlxSprite collision + * + * @param Camera The FlxCamera to use for the wall bounds (can be FlxG.camera for the current one) + * @param Placement Whether to place the camera wall outside or inside + * @param Thickness The thickness of the wall in pixels + * @param AdjustWorldBounds Adjust the FlxG.worldBounds based on the wall (true) or leave alone (false) + * @return FlxGroup The 4 FlxTileblocks that are created are placed into this FlxGroup which should be added to your State + + * FlxCollision + * + * @link http://www.photonstorm.com + * @author Richard Davey / Photon Storm + + + + + + + + + + + + + * Class representing a color, based on Int. Provides a variety of methods for creating and converting colors. + * + * FlxColors can be written as Ints. This means you can pass a hex value such as + * 0xff123456 to a function expecting a FlxColor, and it will automatically become a FlxColor "object". + * Similarly, FlxColors may be treated as Ints. + * + * Note that when using properties of a FlxColor other than ARGB, the values are ultimately stored as + * ARGB values, so repeatedly manipulating HSB/HSL/CMYK values may result in a gradual loss of precision. + * + * @author Joe Williamson (JoeCreates) + + + + 0x00000000 + + + + 0xFFFFFFFF + + + + 0xFF808080 + + + + 0xFF000000 + + + + 0xFF008000 + + + + 0xFF00FF00 + + + + 0xFFFFFF00 + + + + 0xFFFFA500 + + + + 0xFFFF0000 + + + + 0xFF800080 + + + + 0xFF0000FF + + + + 0xFF8B4513 + + + + 0xFFFFC0CB + + + + 0xFFFF00FF + + + + 0xFF00FFFF + + + + + + + FlxMacroUtil.buildMap("flixel.util.FlxColor") + ` whose values are the static colors of `FlxColor`. + * You can add more colors for `FlxColor.fromString(String)` if you need.]]> + + + + + + + + + + + + + + + + * The hue of the color in degrees (from 0 to 359) + + + + * The saturation of the color (from 0 to 1) + + + + * The brightness (aka value) of the color (from 0 to 1) + + + + * The lightness of the color (from 0 to 1) + + + + ~/^(0x|#)(([A-F0-9]{2}){3,4})$/ + + + + + + + * Create a color from the least significant four bytes of an Int + * + * @param Value And Int with bytes in the format 0xAARRGGBB + * @return The color as a FlxColor + + + + + + + + + + { Alpha : 255 } + * Generate a color from integer RGB values (0 to 255) + * + * @param Red The red value of the color from 0 to 255 + * @param Green The green value of the color from 0 to 255 + * @param Blue The green value of the color from 0 to 255 + * @param Alpha How opaque the color should be, from 0 to 255 + * @return The color as a FlxColor + + + + + + + + + + { Alpha : 1 } + * Generate a color from float RGB values (0 to 1) + * + * @param Red The red value of the color from 0 to 1 + * @param Green The green value of the color from 0 to 1 + * @param Blue The green value of the color from 0 to 1 + * @param Alpha How opaque the color should be, from 0 to 1 + * @return The color as a FlxColor + + + + + + + + + + + { Alpha : 1 } + * Generate a color from CMYK values (0 to 1) + * + * @param Cyan The cyan value of the color from 0 to 1 + * @param Magenta The magenta value of the color from 0 to 1 + * @param Yellow The yellow value of the color from 0 to 1 + * @param Black The black value of the color from 0 to 1 + * @param Alpha How opaque the color should be, from 0 to 1 + * @return The color as a FlxColor + + + + + + + + + + { Alpha : 1 } + * Generate a color from HSB (aka HSV) components. + * + * @param Hue A number between 0 and 360, indicating position on a color strip or wheel. + * @param Saturation A number between 0 and 1, indicating how colorful or gray the color should be. 0 is gray, 1 is vibrant. + * @param Brightness (aka Value) A number between 0 and 1, indicating how bright the color should be. 0 is black, 1 is full bright. + * @param Alpha How opaque the color should be, either between 0 and 1 or 0 and 255. + * @return The color as a FlxColor + + + + + + + + + + { Alpha : 1 } + * Generate a color from HSL components. + * + * @param Hue A number between 0 and 360, indicating position on a color strip or wheel. + * @param Saturation A number between 0 and 1, indicating how colorful or gray the color should be. 0 is gray, 1 is vibrant. + * @param Lightness A number between 0 and 1, indicating the lightness of the color + * @param Alpha How opaque the color should be, either between 0 and 1 or 0 and 255. + * @return The color as a FlxColor + + + + + + + output in hex): + * + * - `0x00FF00` -> `0xFF00FF00` + * - `0xAA4578C2` -> `0xAA4578C2` + * - `#0000FF` -> `0xFF0000FF` + * - `#3F000011` -> `0x3F000011` + * - `GRAY` -> `0xFF808080` + * - `blue` -> `0xFF0000FF` + * + * @param str The string to be parsed + * @return A `FlxColor` or `null` if the `String` couldn't be parsed]]> + + + + + + + { Alpha : 255 } + * Get HSB color wheel values in an array which will be 360 elements in size + * + * @param Alpha Alpha value for each color of the color wheel, between 0 (transparent) and 255 (opaque) + * @return HSB color wheel as Array of FlxColors + + + + + + + + + { Factor : 0.5 } + * Get an interpolated color based on two different colors. + * + * @param Color1 The first color + * @param Color2 The second color + * @param Factor Value from 0 to 1 representing how much to shift Color1 toward Color2 + * @return The interpolated color + + + + + + + + + + + + + * Create a gradient from one color to another + * + * @param Color1 The color to shift from + * @param Color2 The color to shift to + * @param Steps How many colors the gradient should have + * @param Ease An optional easing function, such as those provided in FlxEase + * @return An array of colors of length Steps, shifting from Color1 to Color2 + + + + + + + + A * B + * Multiply the RGB channels of two FlxColors + + + + + + + + A + B + * Add the RGB channels of two FlxColors + + + + + + + + A - B + * Subtract the RGB channels of one FlxColor from another + + + + + + + * Returns a Complementary Color Harmony of this color. + * A complementary hue is one directly opposite the color given on the color wheel + * + * @return The complimentary color + + + + + + + + { Threshold : 30 } + * Returns an Analogous Color Harmony for the given color. + * An Analogous harmony are hues adjacent to each other on the color wheel + * + * @param Threshold Control how adjacent the colors will be (default +- 30 degrees) + * @return Object containing 3 properties: original (the original color), warmer (the warmer analogous color) and colder (the colder analogous color) + + + + + + + + { Threshold : 30 } + * Returns an Split Complement Color Harmony for this color. + * A Split Complement harmony are the two hues on either side of the color's Complement + * + * @param Threshold Control how adjacent the colors will be to the Complement (default +- 30 degrees) + * @return Object containing 3 properties: original (the original color), warmer (the warmer analogous color) and colder (the colder analogous color) + + + + + + + * Returns a Triadic Color Harmony for this color. A Triadic harmony are 3 hues equidistant + * from each other on the color wheel. + * + * @return Object containing 3 properties: color1 (the original color), color2 and color3 (the equidistant colors) + + + + + + + * Return a 24 bit version of this color (i.e. without an alpha value) + * + * @return A 24 bit version of this color + + + + + + + + + { Prefix : true, Alpha : true } + * Return a String representation of the color in the format + * + * @param Alpha Whether to include the alpha value in the hes string + * @param Prefix Whether to include "0x" prefix at start of string + * @return A string of length 10 in the format 0xAARRGGBB + + + + + + + * Return a String representation of the color in the format #RRGGBB + * + * @return A string of length 7 in the format #RRGGBB + + + + + + + * Get a string of color information about this color + * + * @return A string containing information about this color + + + + + + + + { Factor : 0.2 } + * Get a darkened version of this color + * + * @param Factor Value from 0 to 1 of how much to progress toward black. + * @return A darkened version of this color + + + + + + + + { Factor : 0.2 } + * Get a lightened version of this color + * + * @param Factor Value from 0 to 1 of how much to progress toward white. + * @return A lightened version of this color + + + + + + + * Get the inversion of this color + * + * @return The inversion of this color + + + + + + + + + + + { Alpha : 255 } + * Set RGB values as integers (0 to 255) + * + * @param Red The red value of the color from 0 to 255 + * @param Green The green value of the color from 0 to 255 + * @param Blue The green value of the color from 0 to 255 + * @param Alpha How opaque the color should be, from 0 to 255 + * @return This color + + + + + + + + + + + { Alpha : 1 } + * Set RGB values as floats (0 to 1) + * + * @param Red The red value of the color from 0 to 1 + * @param Green The green value of the color from 0 to 1 + * @param Blue The green value of the color from 0 to 1 + * @param Alpha How opaque the color should be, from 0 to 1 + * @return This color + + + + + + + + + + + + { Alpha : 1 } + * Set CMYK values as floats (0 to 1) + * + * @param Cyan The cyan value of the color from 0 to 1 + * @param Magenta The magenta value of the color from 0 to 1 + * @param Yellow The yellow value of the color from 0 to 1 + * @param Black The black value of the color from 0 to 1 + * @param Alpha How opaque the color should be, from 0 to 1 + * @return This color + + + + + + + + + + + * Set HSB (aka HSV) components + * + * @param Hue A number between 0 and 360, indicating position on a color strip or wheel. + * @param Saturation A number between 0 and 1, indicating how colorful or gray the color should be. 0 is gray, 1 is vibrant. + * @param Brightness (aka Value) A number between 0 and 1, indicating how bright the color should be. 0 is black, 1 is full bright. + * @param Alpha How opaque the color should be, either between 0 and 1 or 0 and 255. + * @return This color + + + + + + + + + + + * Set HSL components. + * + * @param Hue A number between 0 and 360, indicating position on a color strip or wheel. + * @param Saturation A number between 0 and 1, indicating how colorful or gray the color should be. 0 is gray, 1 is vibrant. + * @param Lightness A number between 0 and 1, indicating the lightness of the color + * @param Alpha How opaque the color should be, either between 0 and 1 or 0 and 255 + * @return This color + + + + + + + + + + + + * Private utility function to perform common operations between setHSB and setHSL + + <_new public="1" set="method" line="561" static="1"> + + + + + + { Value : 0 } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0x00000000 + + + + 0xFFFFFFFF + + + + 0xFF808080 + + + + 0xFF000000 + + + + 0xFF008000 + + + + 0xFF00FF00 + + + + 0xFFFFFF00 + + + + 0xFFFFA500 + + + + 0xFFFF0000 + + + + 0xFF800080 + + + + 0xFF0000FF + + + + 0xFF8B4513 + + + + 0xFFFFC0CB + + + + 0xFFFF00FF + + + + 0xFF00FFFF + + + + + + + FlxMacroUtil.buildMap("flixel.util.FlxColor") + ` whose values are the static colors of `FlxColor`. + * You can add more colors for `FlxColor.fromString(String)` if you need.]]> + + + + + + + + + + + + + + + + * The hue of the color in degrees (from 0 to 359) + + + + * The saturation of the color (from 0 to 1) + + + + * The brightness (aka value) of the color (from 0 to 1) + + + + * The lightness of the color (from 0 to 1) + + + + ~/^(0x|#)(([A-F0-9]{2}){3,4})$/ + + + + + + + * Create a color from the least significant four bytes of an Int + * + * @param Value And Int with bytes in the format 0xAARRGGBB + * @return The color as a FlxColor + + + + + + + + + + { Alpha : 255 } + * Generate a color from integer RGB values (0 to 255) + * + * @param Red The red value of the color from 0 to 255 + * @param Green The green value of the color from 0 to 255 + * @param Blue The green value of the color from 0 to 255 + * @param Alpha How opaque the color should be, from 0 to 255 + * @return The color as a FlxColor + + + + + + + + + + { Alpha : 1 } + * Generate a color from float RGB values (0 to 1) + * + * @param Red The red value of the color from 0 to 1 + * @param Green The green value of the color from 0 to 1 + * @param Blue The green value of the color from 0 to 1 + * @param Alpha How opaque the color should be, from 0 to 1 + * @return The color as a FlxColor + + + + + + + + + + + { Alpha : 1 } + * Generate a color from CMYK values (0 to 1) + * + * @param Cyan The cyan value of the color from 0 to 1 + * @param Magenta The magenta value of the color from 0 to 1 + * @param Yellow The yellow value of the color from 0 to 1 + * @param Black The black value of the color from 0 to 1 + * @param Alpha How opaque the color should be, from 0 to 1 + * @return The color as a FlxColor + + + + + + + + + + { Alpha : 1 } + * Generate a color from HSB (aka HSV) components. + * + * @param Hue A number between 0 and 360, indicating position on a color strip or wheel. + * @param Saturation A number between 0 and 1, indicating how colorful or gray the color should be. 0 is gray, 1 is vibrant. + * @param Brightness (aka Value) A number between 0 and 1, indicating how bright the color should be. 0 is black, 1 is full bright. + * @param Alpha How opaque the color should be, either between 0 and 1 or 0 and 255. + * @return The color as a FlxColor + + + + + + + + + + { Alpha : 1 } + * Generate a color from HSL components. + * + * @param Hue A number between 0 and 360, indicating position on a color strip or wheel. + * @param Saturation A number between 0 and 1, indicating how colorful or gray the color should be. 0 is gray, 1 is vibrant. + * @param Lightness A number between 0 and 1, indicating the lightness of the color + * @param Alpha How opaque the color should be, either between 0 and 1 or 0 and 255. + * @return The color as a FlxColor + + + + + + + output in hex): + * + * - `0x00FF00` -> `0xFF00FF00` + * - `0xAA4578C2` -> `0xAA4578C2` + * - `#0000FF` -> `0xFF0000FF` + * - `#3F000011` -> `0x3F000011` + * - `GRAY` -> `0xFF808080` + * - `blue` -> `0xFF0000FF` + * + * @param str The string to be parsed + * @return A `FlxColor` or `null` if the `String` couldn't be parsed]]> + + + + + + + { Alpha : 255 } + * Get HSB color wheel values in an array which will be 360 elements in size + * + * @param Alpha Alpha value for each color of the color wheel, between 0 (transparent) and 255 (opaque) + * @return HSB color wheel as Array of FlxColors + + + + + + + + + { Factor : 0.5 } + * Get an interpolated color based on two different colors. + * + * @param Color1 The first color + * @param Color2 The second color + * @param Factor Value from 0 to 1 representing how much to shift Color1 toward Color2 + * @return The interpolated color + + + + + + + + + + + + + * Create a gradient from one color to another + * + * @param Color1 The color to shift from + * @param Color2 The color to shift to + * @param Steps How many colors the gradient should have + * @param Ease An optional easing function, such as those provided in FlxEase + * @return An array of colors of length Steps, shifting from Color1 to Color2 + + + + + + + + A * B + * Multiply the RGB channels of two FlxColors + + + + + + + + A + B + * Add the RGB channels of two FlxColors + + + + + + + + A - B + * Subtract the RGB channels of one FlxColor from another + + + + + + + * Returns a Complementary Color Harmony of this color. + * A complementary hue is one directly opposite the color given on the color wheel + * + * @return The complimentary color + + + + + + + + { Threshold : 30 } + * Returns an Analogous Color Harmony for the given color. + * An Analogous harmony are hues adjacent to each other on the color wheel + * + * @param Threshold Control how adjacent the colors will be (default +- 30 degrees) + * @return Object containing 3 properties: original (the original color), warmer (the warmer analogous color) and colder (the colder analogous color) + + + + + + + + { Threshold : 30 } + * Returns an Split Complement Color Harmony for this color. + * A Split Complement harmony are the two hues on either side of the color's Complement + * + * @param Threshold Control how adjacent the colors will be to the Complement (default +- 30 degrees) + * @return Object containing 3 properties: original (the original color), warmer (the warmer analogous color) and colder (the colder analogous color) + + + + + + + * Returns a Triadic Color Harmony for this color. A Triadic harmony are 3 hues equidistant + * from each other on the color wheel. + * + * @return Object containing 3 properties: color1 (the original color), color2 and color3 (the equidistant colors) + + + + + + + * Return a 24 bit version of this color (i.e. without an alpha value) + * + * @return A 24 bit version of this color + + + + + + + + + { Prefix : true, Alpha : true } + * Return a String representation of the color in the format + * + * @param Alpha Whether to include the alpha value in the hes string + * @param Prefix Whether to include "0x" prefix at start of string + * @return A string of length 10 in the format 0xAARRGGBB + + + + + + + * Return a String representation of the color in the format #RRGGBB + * + * @return A string of length 7 in the format #RRGGBB + + + + + + + * Get a string of color information about this color + * + * @return A string containing information about this color + + + + + + + + { Factor : 0.2 } + * Get a darkened version of this color + * + * @param Factor Value from 0 to 1 of how much to progress toward black. + * @return A darkened version of this color + + + + + + + + { Factor : 0.2 } + * Get a lightened version of this color + * + * @param Factor Value from 0 to 1 of how much to progress toward white. + * @return A lightened version of this color + + + + + + + * Get the inversion of this color + * + * @return The inversion of this color + + + + + + + + + + + { Alpha : 255 } + * Set RGB values as integers (0 to 255) + * + * @param Red The red value of the color from 0 to 255 + * @param Green The green value of the color from 0 to 255 + * @param Blue The green value of the color from 0 to 255 + * @param Alpha How opaque the color should be, from 0 to 255 + * @return This color + + + + + + + + + + + { Alpha : 1 } + * Set RGB values as floats (0 to 1) + * + * @param Red The red value of the color from 0 to 1 + * @param Green The green value of the color from 0 to 1 + * @param Blue The green value of the color from 0 to 1 + * @param Alpha How opaque the color should be, from 0 to 1 + * @return This color + + + + + + + + + + + + { Alpha : 1 } + * Set CMYK values as floats (0 to 1) + * + * @param Cyan The cyan value of the color from 0 to 1 + * @param Magenta The magenta value of the color from 0 to 1 + * @param Yellow The yellow value of the color from 0 to 1 + * @param Black The black value of the color from 0 to 1 + * @param Alpha How opaque the color should be, from 0 to 1 + * @return This color + + + + + + + + + + + * Set HSB (aka HSV) components + * + * @param Hue A number between 0 and 360, indicating position on a color strip or wheel. + * @param Saturation A number between 0 and 1, indicating how colorful or gray the color should be. 0 is gray, 1 is vibrant. + * @param Brightness (aka Value) A number between 0 and 1, indicating how bright the color should be. 0 is black, 1 is full bright. + * @param Alpha How opaque the color should be, either between 0 and 1 or 0 and 255. + * @return This color + + + + + + + + + + + * Set HSL components. + * + * @param Hue A number between 0 and 360, indicating position on a color strip or wheel. + * @param Saturation A number between 0 and 1, indicating how colorful or gray the color should be. 0 is gray, 1 is vibrant. + * @param Lightness A number between 0 and 1, indicating the lightness of the color + * @param Alpha How opaque the color should be, either between 0 and 1 or 0 and 255 + * @return This color + + + + + + + + + + + + * Private utility function to perform common operations between setHSB and setHSL + + <_new public="1" set="method" line="561" static="1"> + + + + + + { Value : 0 } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * Returns whether red, green, or blue multipliers are set to anything other than 1. + + + + + + + * Returns whether red, green, blue, or alpha multipliers are set to anything other than 1. + + + + + + + * Returns whether red, green, or blue offsets are set to anything other than 0. + + + + + + + * Returns whether red, green, blue, or alpha offsets are set to anything other than 0. + + + + + + + + + + * Checks if an object is not null before calling destroy(), always returns null. + * + * @param object An IFlxDestroyable object that will be destroyed if it's not null. + * @return null + + + + + + + * Destroy every element of an array of IFlxDestroyables + * + * @param array An Array of IFlxDestroyable objects + * @return null + + + + + + + * Checks if an object is not null before putting it back into the pool, always returns null. + * + * @param object An IFlxPooled object that will be put back into the pool if it's not null + * @return null + + + + + + + * Puts all objects in an Array of IFlxPooled objects back into + * the pool by calling FlxDestroyUtil.put() on them + * + * @param array An Array of IFlxPooled objects + * @return null + + + + + + + * Checks if a BitmapData object is not null before calling dispose() on it, always returns null. + * + * @param Bitmap A BitmapData to be disposed if not null + * @return null + + + + + + + + + * Checks if a BitmapData object is not null and it's size isn't equal to specified one before calling dispose() on it. + + + + + + + + + + + + * Simple enum for orthogonal directions. Can be combined into `FlxDirectionFlags`. + * @since 4.10.0 + + + + + + cast 0x0001 + + + + + + + + cast 0x0010 + + + + + + + + cast 0x0100 + + + + + + + + cast 0x1000 + + + + + + + + + + + + + + + + cast 0x0001 + + + + + + + + cast 0x0010 + + + + + + + + cast 0x0100 + + + + + + + + cast 0x1000 + + + + + + + + + + + + + + + + + + * Uses bit flags to create a list of orthogonal directions. useful for + * many `FlxObject` features like `allowCollisions` and `touching`. + * @since 4.10.0 + + + + + + cast 0x0001 + + + + + + + + cast 0x0010 + + + + + + + + cast 0x0100 + + + + + + + + cast 0x1000 + + + + + + + + cast 0x0000 + + + + Special-case constant meaning no directions. + + + + + cast 0x0100 + + + + Special-case constant meaning "up". + + + + + cast 0x1000 + + + + Special-case constant meaning "down" + + + + + cast 0x0011 + + + + Special-case constant meaning "left" and "right". + + + + + cast 0x1111 + + + + Special-case constant meaning any, or all directions. + + + + + + + + * Returns true if this contains all of the supplied flags. + + + + + + + + * Creates a new `FlxDirections` that includes the supplied directions. + + + + + + + + * Creates a new `FlxDirections` that excludes the supplied directions. + + + + + + + + + + + + + cast 0x0001 + + + + + + + + cast 0x0010 + + + + + + + + cast 0x0100 + + + + + + + + cast 0x1000 + + + + + + + + cast 0x0000 + + + + Special-case constant meaning no directions. + + + + + cast 0x0100 + + + + Special-case constant meaning "up". + + + + + cast 0x1000 + + + + Special-case constant meaning "down" + + + + + cast 0x0011 + + + + Special-case constant meaning "left" and "right". + + + + + cast 0x1111 + + + + Special-case constant meaning any, or all directions. + + + + + + + + * Returns true if this contains all of the supplied flags. + + + + + + + + * Creates a new `FlxDirections` that includes the supplied directions. + + + + + + + + * Creates a new `FlxDirections` that excludes the supplied directions. + + + + + + + + + + + + + + + + + + { rotation : 90, chunkSize : 1 } + + + + + + + + + + + + { interpolate : true, rotation : 90, chunkSize : 1 } + + + + + + + + + + + + { interpolate : true, rotation : 90, chunkSize : 1 } + * Creates a FlxSprite of the given width/height with a colour gradient flowing through it. + * + * @param width The width of the FlxSprite (and therefore gradient) + * @param height The height of the FlxSprite (and therefore gradient) + * @param colors An array of colour values for the gradient to cycle through + * @param chunkSize If you want a more old-skool looking chunky gradient, increase this value! + * @param rotation Angle of the gradient in degrees. 90 = top to bottom, 180 = left to right. Any angle is valid + * @param interpolate Interpolate the colours? True uses RGB interpolation, false uses linear RGB + * @return A FlxSprite containing your gradient (if valid parameters given!) + + + + + + + + + + + + { interpolate : true, rotation : 90, chunkSize : 1 } + + + + + + + + + + + + + + + { interpolate : true, rotation : 90, chunkSize : 1, destY : 0, destX : 0 } + * Creates a new gradient and overlays that on-top of the given FlxSprite at the destX/destY coordinates (default 0,0) + * Use low alpha values in the colours to have the gradient overlay and not destroy the image below + * + * @param dest The FlxSprite to overlay the gradient onto + * @param width The width of the FlxSprite (and therefore gradient) + * @param height The height of the FlxSprite (and therefore gradient) + * @param colors An array of colour values for the gradient to cycle through + * @param destX The X offset the gradient is drawn at (default 0) + * @param destY The Y offset the gradient is drawn at (default 0) + * @param chunkSize If you want a more old-skool looking chunky gradient, increase this value! + * @param rotation Angle of the gradient in degrees. 90 = top to bottom, 180 = left to right. Any angle is valid + * @param interpolate Interpolate the colours? True uses RGB interpolation, false uses linear RGB + * @return The composited FlxSprite (for chaining, if you need) + + + + + + + + + + + + + + + { interpolate : true, rotation : 90, chunkSize : 1, destY : 0, destX : 0 } + * Creates a new gradient and overlays that on-top of the given BitmapData at the destX/destY coordinates (default 0,0) + * Use low alpha values in the colours to have the gradient overlay and not destroy the image below + * + * @param dest The BitmapData to overlay the gradient onto + * @param width The width of the FlxSprite (and therefore gradient) + * @param height The height of the FlxSprite (and therefore gradient) + * @param colors An array of colour values for the gradient to cycle through + * @param destX The X offset the gradient is drawn at (default 0) + * @param destY The Y offset the gradient is drawn at (default 0) + * @param chunkSize If you want a more old-skool looking chunky gradient, increase this value! + * @param rotation Angle of the gradient in degrees. 90 = top to bottom, 180 = left to right. Any angle is valid + * @param interpolate Interpolate the colours? True uses RGB interpolation, false uses linear RGB + * @return The composited BitmapData + + * Adds a set of color gradient creation / rendering functions + * + * @version 1.6 - May 9th 2011 + * @link http://www.photonstorm.com + * @author Richard Davey / Photon Storm + * @see Requires FlxMath + + + + + + + + + +
      + + + + + + + + + + + 0x000000 + * Path behavior controls: move from the start of the path to the end then stop. + + + + 0x000001 + * Path behavior controls: move from the end of the path to the start then stop. + + + + 0x000010 + * Path behavior controls: move from the start of the path to the end then directly back to the start, and start over. + + + + 0x000100 + * Path behavior controls: move from the end of the path to the start then directly back to the end, and start over. + + + + 0x001000 + * Path behavior controls: move from the start of the path to the end then turn around and go back to the start, over and over. + + + + 0x010000 + * Path behavior controls: ignores any vertical component to the path data, only follows side to side. + + + + 0x100000 + * Path behavior controls: ignores any horizontal component to the path data, only follows up and down. + + <_point expr="FlxPoint.get()" line="84" static="1"> + + FlxPoint.get() + * Internal helper for keeping new variable instantiations under control. + + + + * The list of FlxPoints that make up the path data. + + <_nodes> + + * An actual array, which holds all the path points. + + + + 0 + * The speed at which the object is moving on the path. + * When an object completes a non-looping path circuit, + * the path's speed will be zeroed out, but the path reference + * will NOT be nulled out. So `speed` is a good way + * to check if this object is currently following a path or not. + + + + 0 + * The angle in degrees between this object and the next node, where 0 is directly upward, and 90 is to the right. + + + + true + * Whether the object should auto-center the path or at its origin. + + + + false + * Pauses or checks the pause state of the path. + + + + + + + + 0 + * Tracks which node of the path this object is currently moving toward. + + + + false + + <_mode> + + * Internal tracker for path behavior flags (like looping, horizontal only, etc). + + <_inc expr="1"> + + 1 + * Internal helper for node navigation, specifically yo-yo and backwards movement. + + <_autoRotate expr="false"> + + false + * Internal flag for whether the object's angle should be adjusted to the path angle during path follow behavior. + + <_wasObjectImmovable expr="null"> + + null + + <_firstUpdate expr="false"> + + false + + + + flixel.FlxObject + * Object which will follow this path + + + + * Just resets some debugging related variables (for debugger renderer). + * Also resets `autoCenter` to `true`. + * @return This path object. + + + + + + + + + { AutoRotate : false, Mode : FlxPath.FORWARD, Speed : 100 } + * Sets the following properties: `speed`, `mode` and auto rotation. + * + * @param Speed The speed at which the object is moving on the path. + * @param Mode Path following behavior (like looping, horizontal only, etc). + * @param AutoRotate Whether the object's angle should be adjusted to the path angle during path follow behavior. + * @return This path object. + * @since 4.2.0 + + + + + + + + + + + { NodesAsReference : false, AutoRotate : false, Mode : FlxPath.FORWARD, Speed : 100 } + * Starts movement along specified path. + * + * @param Nodes An optional array of path waypoints. If null then previously added points will be used. Movement is not started if the resulting array has no points. + * @param Speed The speed at which the object is moving on the path. + * @param Mode Path following behavior (like looping, horizontal only, etc). + * @param AutoRotate Whether the object's angle should be adjusted to the path angle during path follow behavior. + * @param NodesAsReference Whether to pass the input array as reference (true) or to copy the points (false). Default is false. + * @return This path object. + + + + * Restarts this path. So object starts movement again from the first (or last) path point + * (depends on path movement behavior mode). + * + * @return This path object. + + + + + + + * Change the path node this object is currently at. + * + * @param NodeIndex The index of the new node out of path.nodes. + + + + + + + * Internal function for moving the object along the path. + * The first half of the function decides if the object can advance to the next node in the path, + * while the second half handles actually picking a velocity toward the next node. + + + + + + + + + + + + + { Snap : true } + * Internal function that decides what node in the path to aim for next based on the behavior flags. + * + * @return The node (a `FlxPoint`) we are aiming for next. + + + + * Stops the path's movement. + * + * @return This path object. + + + + * Called when the path ends, either by completing normally or via `cancel()`. + + + + * Clean up memory. + + + + + + + + * Add a new node to the end of the path at the specified location. + * + * @param X X position of the new path point in world coordinates. + * @param Y Y position of the new path point in world coordinates. + * + * @return This path object. + + + + + + + + + * Add a new node to the path at the specified location and index within the path. + * + * @param X X position of the new path point in world coordinates. + * @param Y Y position of the new path point in world coordinates. + * @param Index Where within the list of path nodes to insert this new point. + * + * @return This path object. + + + + + + + + { AsReference : false } + * Sometimes its easier or faster to just pass a point object instead of separate X and Y coordinates. + * This also gives you the option of not creating a new node but actually adding that specific + * FlxPoint object to the path. This allows you to do neat things, like dynamic paths. + * + * @param Node The point in world coordinates you want to add to the path. + * @param AsReference Whether to add the point as a reference, or to create a new point with the specified values. + * + * @return This path object. + + + + + + + + + { AsReference : false } + * Sometimes its easier or faster to just pass a point object instead of separate X and Y coordinates. + * This also gives you the option of not creating a new node but actually adding that specific + * FlxPoint object to the path. This allows you to do neat things, like dynamic paths. + * + * @param Node The point in world coordinates you want to add to the path. + * @param Index Where within the list of path nodes to insert this new point. + * @param AsReference Whether to add the point as a reference, or to create a new point with the specified values. + * + * @return This path object. + + + + + + + * Remove a node from the path. + * NOTE: only works with points added by reference or with references from nodes itself! + * + * @param Node The point object you want to remove from the path. + * @return The node that was excised. Returns null if the node was not found. + + + + + + + * Remove a node from the path using the specified position in the list of path nodes. + * + * @param Index Where within the list of path nodes you want to remove a node. + * @return The node that was excised. Returns null if there were no nodes in the path. + + + + * Get the first node in the list. + * + * @return The first node in the path. + + + + * Get the last node in the list. + * + * @return The last node in the path. + + + + + + + + + + + = [new FlxPoint(0, 0), new FlxPoint(100, 0)]; + * object.path = path; + * path.start(points, 50, FlxPath.FORWARD); + * ``` + * + * You can also do this in one line: + * + * ```haxe + * object.path = new FlxPath().start([new FlxPoint(0, 0), new FlxPoint(100, 0)], 50, FlxPath.FORWARD); + * ``` + * + * ...or using some more chaining: + * + * ```haxe + * object.path = new FlxPath().add(0, 0).add(100, 0).start(50, FlxPath.FORWARD); + * ``` + * + * If you are fine with the default values of start (speed, mode, auto-rotate) you can also do: + * + * ```haxe + * object.path = new FlxPath([new FlxPoint(0, 0), new FlxPoint(100, 0)]).start(); + * ```]]> + + + + + <_pool expr="[]"> + + [] + + <_class> + <_count expr="0"> + + 0 + * Objects aren't actually removed from the array in order to improve performance. + * _count keeps track of the valid, accessible pool objects. + + + + + + + + + + + + + + + + + + + + + * A generic container that facilitates pooling and recycling of objects. + * WARNING: Pooled objects must have parameter-less constructors: function new() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * Typed function reference used to dispatch this signal. + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -1 + + + + 1 + + + + + + + + + * You can use this function in FlxTypedGroup.sort() to sort FlxObjects by their y values. + + + + + + + + + * You can use this function as a backend to write a custom sorting function (see byY() for an example). + + * Helper class for sort() in FlxTypedGroup, but could theoretically be used on regular arrays as well. + + + + + new Sprite() + * Useful helper objects for doing Flash-specific rendering. + * Primarily used for "debug visuals" like drawing bounding boxes directly to the screen buffer. + + + + flashGfxSprite.graphics + + + + + + + + + * Takes two source images (typically from Embedded bitmaps) and puts the resulting image into the output FlxSprite. + * Note: It assumes the source and mask are the same size. Different sizes may result in undesired results. + * It works by copying the source image (your picture) into the output sprite. Then it removes all areas of it that do not + * have an alpha color value in the mask image. So if you draw a big black circle in your mask with a transparent edge, you'll + * get a circular image to appear. + * May lead to unexpected results if `source` does not have an alpha channel. + * + * @param output The FlxSprite you wish the resulting image to be placed in (will adjust width/height of image) + * @param source The source image. Typically the one with the image / picture / texture in it. + * @param mask The mask to apply. Remember the non-alpha zero areas are the parts that will display. + * @return The FlxSprite for chaining + + + + + + + + + * Takes the image data from two FlxSprites and puts the resulting image into the output FlxSprite. + * Note: It assumes the source and mask are the same size. Different sizes may result in undesired results. + * It works by copying the source image (your picture) into the output sprite. Then it removes all areas of it that do not + * have an alpha color value in the mask image. So if you draw a big black circle in your mask with a transparent edge, you'll + * get a circular image appear. + * May lead to unexpected results if `sprite`'s graphic does not have an alpha channel. + * + * @param sprite The source FlxSprite. Typically the one with the image / picture / texture in it. + * @param mask The FlxSprite containing the mask to apply. Remember the non-alpha zero areas are the parts that will display. + * @param output The FlxSprite you wish the resulting image to be placed in (will adjust width/height of image) + * @return The output FlxSprite for chaining + + + + + + + + + + + { Bottom : true, Top : true, Right : true, Left : true } + * Checks the x/y coordinates of the FlxSprite and keeps them within the + * area of 0, 0, FlxG.width, FlxG.height (i.e. wraps it around the screen) + * + * @param sprite The FlxSprite to keep within the screen + * @param Left Whether to activate screen wrapping on the left side of the screen + * @param Right Whether to activate screen wrapping on the right side of the screen + * @param Top Whether to activate screen wrapping on the top of the screen + * @param Bottom Whether to activate screen wrapping on the bottom of the screen + * @return The FlxSprite for chaining + + + + + + + + + + + { MaxY : 0, MinY : 0, MaxX : 0, MinX : 0 } + * Makes sure a FlxSprite doesn't leave the specified area - most common use case is to call this every frame in update(). + * If you call this without specifying an area, the game area (FlxG.width / height as max) will be used. Takes the graphic size into account. + * + * @param sprite The FlxSprite to bound to an area + * @param MinX The minimum x position allowed + * @param MaxX The maximum x position allowed + * @param MinY The minimum y position allowed + * @param MaxY The minimum y position allowed + * @return The FlxSprite for chaining + + + + + + + + + { edges : ANY } + * Checks the sprite's screen bounds of the FlxSprite and keeps them within the camera by wrapping it around. + * + * @param sprite The FlxSprite to wrap. + * @param camera The camera to wrap around. If left null, `FlxG.camera` is used. + * @param edges The edges FROM which to wrap. Use constants like `LEFT`, `RIGHT`, `UP|DOWN` or `ANY`. + * @return The FlxSprite for chaining + * @since 4.11.0 + + + + + + + + + { edges : ANY } + * Checks the sprite's screen bounds and keeps it entirely within the camera. + * + * @param sprite The FlxSprite to restrict. + * @param camera The camera resitricting the sprite. If left null, `FlxG.camera` is used. + * @param edges The edges to restrict. Use constants like `LEFT`, `RIGHT`, `UP|DOWN` or `ANY`. + * @return The FlxSprite for chaining + * @since 4.11.0 + + + + + + + + + + + + + + + + + + { spaceFromBounds : false } + * Aligns a set of FlxObjects so there is equal spacing between them + * + * @param objects An Array of FlxObjects + * @param startX The base X coordinate to start the spacing from + * @param startY The base Y coordinate to start the spacing from + * @param horizontalSpacing The amount of pixels between each sprite horizontally. Set to `null` to just keep the current X position of each object. + * @param verticalSpacing The amount of pixels between each sprite vertically. Set to `null` to just keep the current Y position of each object. + * @param spaceFromBounds If set to true the h/v spacing values will be added to the width/height of the sprite, if false it will ignore this + * @param position A function with the signature `(target:FlxObject, x:Float, y:Float):Void`. You can use this to tween objects into their spaced position, etc. + + + + + + + + + + + + + * This function draws a line on a FlxSprite from position X1,Y1 + * to position X2,Y2 with the specified color. + * + * @param sprite The FlxSprite to manipulate + * @param StartX X coordinate of the line's start point. + * @param StartY Y coordinate of the line's start point. + * @param EndX X coordinate of the line's end point. + * @param EndY Y coordinate of the line's end point. + * @param lineStyle A LineStyle typedef containing the params of Graphics.lineStyle() + * @param drawStyle A DrawStyle typedef containing the params of BitmapData.draw() + * @return The FlxSprite for chaining + + + + + + + + + + + + + + + + { FillColor : FlxColor.TRANSPARENT } + * This function draws a curve on a FlxSprite from position X1,Y1 + * to anchor position X2,Y2 using control points X3,Y3 with the specified color. + * + * @param sprite The FlxSprite to manipulate + * @param StartX X coordinate of the curve's start point. + * @param StartY Y coordinate of the curve's start point. + * @param EndX X coordinate of the curve's end/anchor point. + * @param EndY Y coordinate of the curve's end/anchor point. + * @param ControlX X coordinate of the curve's control point. + * @param ControlY Y coordinate of the curve's control point. + * @param FillColor The ARGB color to fill this curve with. FlxColor.TRANSPARENT (0x0) means no fill. Filling a curve draws a line from End to Start to complete the figure. + * @param lineStyle A LineStyle typedef containing the params of Graphics.lineStyle() + * @param drawStyle A DrawStyle typedef containing the params of BitmapData.draw() + * @return The FlxSprite for chaining + + + + + + + + + + + + + + { FillColor : FlxColor.WHITE } + * This function draws a rectangle on a FlxSprite. + * + * @param sprite The FlxSprite to manipulate + * @param X X coordinate of the rectangle's start point. + * @param Y Y coordinate of the rectangle's start point. + * @param Width Width of the rectangle + * @param Height Height of the rectangle + * @param FillColor The ARGB color to fill this rectangle with. FlxColor.TRANSPARENT (0x0) means no fill. + * @param lineStyle A LineStyle typedef containing the params of Graphics.lineStyle() + * @param drawStyle A DrawStyle typedef containing the params of BitmapData.draw() + * @return The FlxSprite for chaining + + + + + + + + + + + + + + + + { FillColor : FlxColor.WHITE } + * This function draws a rounded rectangle on a FlxSprite. + * + * @param sprite The FlxSprite to manipulate + * @param X X coordinate of the rectangle's start point. + * @param Y Y coordinate of the rectangle's start point. + * @param Width Width of the rectangle + * @param Height Height of the rectangle + * @param EllipseWidth The width of the ellipse used to draw the rounded corners + * @param EllipseHeight The height of the ellipse used to draw the rounded corners + * @param FillColor The ARGB color to fill this rectangle with. FlxColor.TRANSPARENT (0x0) means no fill. + * @param lineStyle A LineStyle typedef containing the params of Graphics.lineStyle() + * @param drawStyle A DrawStyle typedef containing the params of BitmapData.draw() + * @return The FlxSprite for chaining + + + + + + + + + + + + + + + + + + { FillColor : FlxColor.WHITE } + * This function draws a rounded rectangle on a FlxSprite. Same as drawRoundRect, + * except it allows you to determine the radius of each corner individually. + * + * @param sprite The FlxSprite to manipulate + * @param X X coordinate of the rectangle's start point. + * @param Y Y coordinate of the rectangle's start point. + * @param Width Width of the rectangle + * @param Height Height of the rectangle + * @param TopLeftRadius The radius of the top left corner of the rectangle + * @param TopRightRadius The radius of the top right corner of the rectangle + * @param BottomLeftRadius The radius of the bottom left corner of the rectangle + * @param BottomRightRadius The radius of the bottom right corner of the rectangle + * @param FillColor The ARGB color to fill this rectangle with. FlxColor.TRANSPARENT (0x0) means no fill. + * @param lineStyle A LineStyle typedef containing the params of Graphics.lineStyle() + * @param drawStyle A DrawStyle typedef containing the params of BitmapData.draw() + * @return The FlxSprite for chaining + + + + + + + + + + + + + { FillColor : FlxColor.WHITE, Radius : -1, Y : -1, X : -1 } + + + + + + + + + + + + + + + { FillColor : FlxColor.WHITE } + * This function draws an ellipse on a FlxSprite. + * + * @param sprite The FlxSprite to manipulate + * @param X X coordinate of the ellipse's start point. + * @param Y Y coordinate of the ellipse's start point. + * @param Width Width of the ellipse + * @param Height Height of the ellipse + * @param FillColor The ARGB color to fill this ellipse with. FlxColor.TRANSPARENT (0x0) means no fill. + * @param lineStyle A LineStyle typedef containing the params of Graphics.lineStyle() + * @param drawStyle A DrawStyle typedef containing the params of BitmapData.draw() + * @return The FlxSprite for chaining + + + + + + + + + + + + + { FillColor : FlxColor.WHITE } + * This function draws a simple, equilateral triangle on a FlxSprite. + * + * @param sprite The FlxSprite to manipulate + * @param X X position of the triangle + * @param Y Y position of the triangle + * @param Height Height of the triangle + * @param FillColor The ARGB color to fill this triangle with. FlxColor.TRANSPARENT (0x0) means no fill. + * @param lineStyle A LineStyle typedef containing the params of Graphics.lineStyle() + * @param drawStyle A DrawStyle typedef containing the params of BitmapData.draw() + * @return The FlxSprite for chaining + + + + + + + + + + + { FillColor : FlxColor.WHITE } + * This function draws a polygon on a FlxSprite. + * + * @param sprite The FlxSprite to manipulate + * @param Vertices Array of Vertices to use for drawing the polygon + * @param FillColor The ARGB color to fill this polygon with. FlxColor.TRANSPARENT (0x0) means no fill. + * @param lineStyle A LineStyle typedef containing the params of Graphics.lineStyle() + * @param drawStyle A DrawStyle typedef containing the params of BitmapData.draw() + * @return The FlxSprite for chaining + + + + + + + + + * Helper function that the drawing functions use at the start to set the color and lineStyle. + * + * @param FillColor The ARGB color to use for drawing + * @param lineStyle A LineStyle typedef containing the params of Graphics.lineStyle() + + + + + + + + * Helper function that the drawing functions use at the end. + * + * @param sprite The FlxSprite to draw to + * @param drawStyle A DrawStyle typedef containing the params of BitmapData.draw() + * @return The FlxSprite for chaining + + + + + + + + * Just a helper function that is called at the end of the draw functions + * to handle a few things related to updating a sprite's graphic. + * + * @param Sprite The FlxSprite to manipulate + * @param drawStyle A DrawStyle typedef containing the params of BitmapData.draw() + * @return The FlxSprite for chaining + + + + + + + + * Just a helper function that is called in the draw functions + * to set the lineStyle via Graphics.lineStyle() + * + * @param lineStyle The lineStyle typedef + + + + + + + * Helper function for the default line styles of drawLine() and drawCurve() + * + * @param lineStyle The lineStyle typedef + + + + + + + + * Fills this sprite's graphic with a specific color. + * + * @param Sprite The FlxSprite to manipulate + * @param FillColor The color with which to fill the graphic, format 0xAARRGGBB. + * @return The FlxSprite for chaining + + + + + + + + + + + + + + + + + + + { ForceRestart : true, EndVisibility : true, Interval : 0.04, Duration : 1 } + + + + + + + + * Returns whether an object is flickering or not. + * + * @param Object The object to check against. + + + + + + + * Stops flickering of the object. Also it will make the object visible. + * + * @param Object The object to stop flickering. + * @return The FlxObject for chaining + + + + + + + + + + { Duration : 1 } + * Fade in a sprite, tweening alpha to 1. + * + * @param sprite The object to fade. + * @param Duration How long the fade will take (in seconds). + * @return The FlxSprite for chaining + + + + + + + + + { Duration : 1 } + * Fade out a sprite, tweening alpha to 0. + * + * @param sprite The object to fade. + * @param Duration How long the fade will take (in seconds). + * @return The FlxSprite for chaining + + + + + + + * Some handy functions for FlxSprite (FlxObject) manipulation, mostly drawing-related. + * Note that stage quality impacts the results of the draw() functions - + * use FlxG.stage.quality = flash.display.StageQuality.BEST; for best results. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * Takes two "ticks" timestamps and formats them into the number of seconds that passed as a String. + * Useful for logging, debugging, the watch window, or whatever else. + * + * @param StartTicks The first timestamp from the system. + * @param EndTicks The second timestamp from the system. + * @return A String containing the formatted time elapsed information. + + + + + + + + { ShowMS : false } + * Format seconds as minutes with a colon, an optionally with milliseconds too. + * + * @param Seconds The number of seconds (for example, time remaining, time spent, etc). + * @param ShowMS Whether to show milliseconds after a "." as well. Default value is false. + * @return A nicely formatted String, like "1:03". + + + + + + + * Generate a comma-separated string from an array. + * Especially useful for tracing or other debug output. + * + * @param AnyArray Any Array object. + * @return A comma-separated String containing the .toString() output of each element in the array. + + + + + + + + + + * Generate a comma-separated string representation of the keys of a StringMap. + * + * @param AnyMap A StringMap object. + * @return A String formatted like this: key1, key2, ..., keyX + + + + + + + + + { EnglishStyle : true, ShowDecimal : true } + * Automatically commas and decimals in the right places for displaying money amounts. + * Does not include a dollar sign or anything, so doesn't really do much + * if you call say `FlxString.formatMoney(10, false)`. + * However, very handy for displaying large sums or decimal money values. + * + * @param Amount How much moneys (in dollars, or the equivalent "main" currency - i.e. not cents). + * @param ShowDecimal Whether to show the decimals/cents component. + * @param EnglishStyle Major quantities (thousands, millions, etc) separated by commas, and decimal by a period. + * @return A nicely formatted String. Does not include a dollar sign or anything! + + + + + + + + { Precision : 2 } + 117.74MB]]> + + + + + + + * Takes a string and filters out everything but the digits. + * + * @param Input The input string + * @return The output string, digits-only + + + + + + + + + + + + { Underlined : false, Italic : false, Bold : false, Color : "FFFFFF", Size : 12 } + * Format a text with html tags - useful for TextField.htmlText. + * Used by the log window of the debugger. + * + * @param Text The text to format + * @param Size The text size, using the font-size-tag + * @param Color The text color, using font-color-tag + * @param Bold Whether the text should be bold (b-tag) + * @param Italic Whether the text should be italic (i-tag) + * @param Underlined Whether the text should be underlined (u-tag) + * @return The html-formatted text. + + + + + + + + { simple : false } + * Get the string name of any class or class instance. Wraps `Type.getClassName()`. + * + * @param objectOrClass The class or class instance in question. + * @param simple Returns only the type name, without package(s). + * @return The name of the class as a string. + + + + + + + + + + + { simple : false } + * Get the string name of any enum or enum value. Wraps `Type.getEnumName()`. + * + * @param enumValueOrEnum The enum value or enum in question. + * @param simple Returns only the type name, without package(s). + * @return The name of the enum as a string. + * @since 4.4.0 + + + + + + + + + + + + * Returns the host from the specified URL. + * The host is one of three parts that comprise the authority. (User and port are the other two parts.) + * For example, the host for "ftp://anonymous@ftp.domain.test:990/" is "ftp.domain.test". + * + * @return The host from the URL; or the empty string ("") upon failure. + * @since 4.3.0 + + + + + + + * Returns the domain from the specified URL. + * The domain, in this case, refers specifically to the first and second levels only. + * For example, the domain for "api.haxe.org" is "haxe.org". + * + * @return The domain from the URL; or the empty string ("") upon failure. + + + + + + + + + { Simple : true } + * Helper function that uses getClassName to compare two objects' class names. + * + * @param Obj1 The first object + * @param Obj2 The second object + * @param Simple Only uses the class name, not the package or packages. + * @return Whether they have the same class name or not + + + + + + + * Split a comma-separated string into an array of ints + * + * @param Data String formatted like this: "1, 2, 5, -10, 120, 27" + * @return An array of ints + + + + + + + * Split a comma-separated string into an array of floats + * + * @param Data string formatted like this: "1.0,2.1,5.6,1245587.9, -0.00354" + * @return An array of floats + + + + + + + + + { Invert : false } + * Converts a one-dimensional array of tile data to a comma-separated string. + * + * @param Data An array full of integer tile references. + * @param Width The number of tiles in each row. + * @param Invert Recommended only for 1-bit arrays - changes 0s to 1s and vice versa. + * @return A comma-separated string containing the level data in a FlxTilemap-friendly format. + + + + + + + + + + { Scale : 1, Invert : false } + * Converts a BitmapData object to a comma-separated string. Black pixels are flagged as 'solid' by default, + * non-black pixels are set as non-colliding. Black pixels must be PURE BLACK. + * + * @param Bitmap A Flash BitmapData object, preferably black and white. + * @param Invert Load white pixels as solid instead. + * @param Scale Default is 1. Scale of 2 means each pixel forms a 2x2 block of tiles, and so on. + * @param ColorMap An array of color values (alpha values are ignored) in the order they're intended to be assigned as indices + * @return A comma-separated string containing the level data in a FlxTilemap-friendly format. + + + + + + + + + + { Scale : 1, Invert : false } + * Converts a resource image file to a comma-separated string. Black pixels are flagged as 'solid' by default, + * non-black pixels are set as non-colliding. Black pixels must be PURE BLACK. + * + * @param ImageFile An embedded graphic, preferably black and white. + * @param Invert Load white pixels as solid instead. + * @param Scale Default is 1. Scale of 2 means each pixel forms a 2x2 block of tiles, and so on. + * @param ColorMap An array of color values (alpha values are ignored) in the order they're intended to be assigned as indices + * @return A comma-separated string containing the level data in a FlxTilemap-friendly format. + + + + + + + * Helper function to create a string for toString() functions. Automatically rounds values according to FlxG.debugger.precision. + * Strings are formatted in the format: (x: 50 | y: 60 | visible: false) + * + * @param LabelValuePairs Array with the data for the string + + + + + + + + + + + + + * Removes occurrences of a substring by calling `StringTools.replace(s, sub, "")`. + + + + + + + + + * Inserts `insertion` into `s` at index `pos`. + + + + + + + + + + + * Returns true if `s` equals `null` or is empty. + * @since 4.1.0 + + * A class primarily containing functions related + * to formatting different data types to strings. + + + + + <_pool expr="new FlxPool<LabelValuePair>(LabelValuePair)" line="654" static="1"> + + (LabelValuePair)]]> + + + + + + + + + + + + + + + + + + + + + + + + + + * The global timer manager that handles global timers + * @since 4.2.0 + + + + * The manager to which this timer belongs + * @since 4.2.0 + + + + + 0 + * How many loops the timer was set for. 0 means "looping forever". + + + + false + * Pauses or checks the pause state of the timer. + + + + false + * Check to see if the timer is finished. + + + + + + + * Function that gets called when timer completes. + * Callback should be formed "onTimer(Timer:FlxTimer);" + + + + * Read-only: check how much time is left on the timer. + + + + * Read-only: The amount of milliseconds that have elapsed since the timer was started + + + + * Read-only: check how many loops are left on the timer. + + + + * Read-only: how many loops that have elapsed since the timer was started. + + + + * Read-only: how far along the timer is, on a scale of 0.0 to 1.0. + + <_timeCounter expr="0"> + + 0 + * Internal tracker for the actual timer counting up. + + <_loopsCounter expr="0"> + + 0 + * Internal tracker for the loops counting up. + + <_inManager expr="false"> + + false + + + + * Clean up memory. + + + + + + + + + + + + { Loops : 1, Time : 1 } + * Starts the timer and adds the timer to the timer manager. + * + * @param Time How many seconds it takes for the timer to go off. + * If 0 then timer will fire OnComplete callback only once at the first call of update method (which means that Loops argument will be ignored). + * @param OnComplete Optional, triggered whenever the time runs out, once for each loop. + * Callback should be formed "onTimer(Timer:FlxTimer);" + * @param Loops How many times the timer should go off. 0 means "looping forever". + * @return A reference to itself (handy for chaining or whatever). + + + + + + + { NewTime : -1 } + * Restart the timer using the new duration + * @param NewTime The duration of this timer in seconds. + + + + * Stops the timer and removes it from the timer manager. + + + + + + + * Called by the timer manager plugin to update the timer. + * If time runs out, the loop counter is advanced, the timer reset, and the callback called if it exists. + * If the timer runs out of loops, then the timer calls cancel(). + * However, callbacks are called AFTER cancel() is called. + + + + flixel.util.FlxTimerManager + + + + + + + + + + + + * Creates a new timer. + + * A simple timer class, leveraging the new plugins system. + * Can be used with callbacks or by polling the finished flag. + * Not intended to be added to a game state or group; the timer manager + * is responsible for actually calling update(), not the user. + + + + + <_timers expr="[]"> + + [] + + + + * Clean up memory. + + + + + + + * Called by FlxG.plugins.update() before the game state has been updated. + * Cycles through timers and calls update() on each one. + + + + + + + flixel.util.FlxTimer + * Add a new timer to the timer manager. + * Called when FlxTimer is started. + * + * @param Timer The FlxTimer you want to add to the manager. + + + + + + + flixel.util.FlxTimer + * Remove a timer from the timer manager. + * Called automatically by FlxTimer's cancel() function. + * + * @param Timer The FlxTimer you want to remove from the manager. + + + + * Immediately updates all `active`, non-infinite timers to their end points, repeatedly, + * until all their loops are finished, resulting in `loopsLeft` callbacks being run. + * @since 4.2.0 + + + + * Removes all the timers from the timer manager. + + + + + + + + + + * Applies a function to all timers + * + * @param Function A function that modifies one timer at a time + * @since 4.2.0 + + + + * Instantiates a new timer manager. + + * A simple manager for tracking and updating game timer objects. + * Normally accessed via the static `FlxTimer.manager` rather than being created separately. + + + + + + + + + + + + + + + + + + + + + + + + * Just an internal helper to deal with the deprecation of `haxe.Utf8` - not considered public API. + * Todo: Remove and use Unicode strings + + hide + + + + + + + hide + + + + <_new public="1" get="inline" set="null" line="36" static="1"> + + + + + + { s : "" } + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="36" static="1"> + + + + + + { s : "" } + + + + + + + + + + + + + + + +
      + + + + + + + + + + * The minimum value of this property. + + + + * The maximum value of this property. + + + + true + * A flag that can be used to toggle the use of this property. + + + + + + + + * Handy function to set the minimum and maximum values of this Bounds object in one line. + * + * @param min The new minimum value of the property. + * @param max The new maximum value of the property. Optional, will be set equal to min if ignored. + * @return This Bounds instance (nice for chaining stuff together). + + + + + + + * Function to compare this FlxBounds to another. + * + * @param OtherFlxBounds The other FlxBounds to compare to this one. + * @return True if the FlxBounds have the same min and max value, false otherwise. + + + + * Convert object to readable string name. Useful for debugging, save games, etc. + + + + + + + + (0, 0)`; + * + * @param min The minimum value of the property. + * @param max The maximum value of the property. Optional, will be set equal to min if ignored.]]> + + * Helper object for holding minimum and maximum values of various properties. + + + + + + + * The beginning X and Y values of this property. + + + + * The ending X and Y values of this property. + + + + true + * A flag that can be used to toggle the use of this property. + + + + + + + + + + + + + + * Handy function to set the the beginning and ending range of values for a FlxPoint in one line. + * + * @param startMinX The minimum possible initial value of X for this property for particles launched from this emitter. + * @param startMinY The minimum possible initial value of Y for this property for particles launched from this emitter. Optional, will be set equal to startMinX if ignored. + * @param startMaxX The maximum possible initial value of X for this property for particles launched from this emitter. Optional, will be set equal to startMinX if ignored. + * @param startMaxY The maximum possible initial value of Y for this property for particles launched from this emitter. Optional, will be set equal to startMinY if ignored. + * @param endMinX The minimum possible final value of X for this property for particles launched from this emitter. Optional, will be set equal to startMinX if ignored. + * @param endMinY The minimum possible final value of Y for this property for particles launched from this emitter. Optional, will be set equal to startMinY if ignored. + * @param endMaxX The maximum possible final value of X for this property for particles launched from this emitter. Optional, will be set equal to endMinX if ignored. + * @param endMaxY The maximum possible final value of Y for this property for particles launched from this emitter. Optional, will be set equal to endMinY if ignored. + * @return This FlxPointRangeBounds instance (nice for chaining stuff together). + + + + + + + * Function to compare this FlxPointRangeBounds to another. + * + * @param OtherFlxPointRangeBounds The other FlxPointRangeBounds to compare to this one. + * @return True if the FlxPointRangeBounds have the same min and max value, false otherwise. + + + + * Convert object to readable string name. Useful for debugging, save games, etc. + + + + + + + + + + + + + + + * Create a new FlxPointRangeBounds object. + * + * @param startMinX The minimum possible initial value of X for this property for particles launched from this emitter. + * @param startMinY The minimum possible initial value of Y for this property for particles launched from this emitter. Optional, will be set equal to startMinX if ignored. + * @param startMaxX The maximum possible initial value of X for this property for particles launched from this emitter. Optional, will be set equal to startMinX if ignored. + * @param startMaxY The maximum possible initial value of Y for this property for particles launched from this emitter. Optional, will be set equal to startMinY if ignored. + * @param endMinX The minimum possible final value of X for this property for particles launched from this emitter. Optional, will be set equal to startMinX if ignored. + * @param endMinY The minimum possible final value of Y for this property for particles launched from this emitter. Optional, will be set equal to startMinY if ignored. + * @param endMaxX The maximum possible final value of X for this property for particles launched from this emitter. Optional, will be set equal to endMinX if ignored. + * @param endMaxY The maximum possible final value of Y for this property for particles launched from this emitter. Optional, will be set equal to endMinY if ignored. + * @return This FlxPointRangeBounds instance (nice for chaining stuff together). + + > but this allows a more practical use of set().]]> + + + + + + * The beginning value of this property. + + + + * The ending value of this property. + + + + true + * A flag that can be used to toggle the use of this property. + + + + + + + + * Handy function to set the initial and final values of this Range object in one line. + * + * @param start The new beginning value of the property. + * @param end The new final value of the property. Optional, will be set equal to start if ignored. + * @return This Range instance (nice for chaining stuff together). + + + + + + + * Function to compare this FlxRange to another. + * + * @param OtherFlxRange The other FlxRange to compare to this one. + * @return True if the FlxRanges have the same start and end value, false otherwise. + + + + * Convert object to readable string name. Useful for debugging, save games, etc. + + + + + + + + (0, 0); + * + * @param start The beginning value of the property. + * @param end The ending value of the property. Optional, will be set equal to start if ignored.]]> + + * Helper object for holding beginning and ending values of various properties. + + + + + + * The beginning minimum and maximum values of this property. + + + + * The ending minimum and maximum values of this property. + + + + true + * A flag that can be used to toggle the use of this property. + + + + + + + + + + * Handy function to set the the beginning and ending range of values for an emitter property in one line. + * + * @param startMin The minimum possible initial value of this property for particles launched from this emitter. + * @param startMax The maximum possible initial value of this property for particles launched from this emitter. Optional, will be set equal to startMin if ignored. + * @param endMin The minimum possible final value of this property for particles launched from this emitter. Optional, will be set equal to startMin if ignored. + * @param endMax The maximum possible final value of this property for particles launched from this emitter. Optional, will be set equal to startMax if ignored. + * @return This RangeBounds instance (nice for chaining stuff together). + + + + + + + * Function to compare this FlxRangeBounds to another. + * + * @param OtherFlxRangeBounds The other FlxRangeBounds to compare to this one. + * @return True if the FlxRangeBounds have the same min and max value, false otherwise. + + + + * Convert object to readable string name. Useful for debugging, save games, etc. + + + + + + + + + + (0, 0, 0, 0); + * + * @param startMin The minimum possible initial value of this property for particles launched from this emitter. + * @param startMax The maximum possible initial value of this property for particles launched from this emitter. Optional, will be set equal to startMin if ignored. + * @param endMin The minimum possible final value of this property for particles launched from this emitter. Optional, will be set equal to startMin if ignored. + * @param endMax The maximum possible final value of this property for particles launched from this emitter. Optional, will be set equal to startMax if ignored. + * @return This RangeBounds instance (nice for chaining stuff together).]]> + + > but this allows a more practical use of set().]]> + + + + + + + + + + + + + + + + + * Useful to limit a Dynamic function argument's type to the specified + * type parameters. This does NOT make the use of Dynamic type-safe in + * any way (the underlying type is still Dynamic and Std.is() checks + + * casts are necessary). + + + + + + + + + + + + + + + + * Useful to limit a Dynamic function argument's type to the specified + * type parameters. This does NOT make the use of Dynamic type-safe in + * any way (the underlying type is still Dynamic and Std.is() checks + + * casts are necessary). + + + + + + + + + + + + + + * Useful to limit a Dynamic function argument's type to the specified + * type parameters. This does NOT make the use of Dynamic type-safe in + * any way (the underlying type is still Dynamic and Std.is() checks + + * casts are necessary). + + + + + + + + false + + + + [] + + <_addJSONSongs set="method" line="16"> + + + + + + + + + + + + + + + + + + + "" + + + + FreeplayState.defaultColor + + + + "" + + + + + + + + + + + + + + + + + + { y : 0, x : 0 } + + + + + + + + + + + + + + + + + + + <__stunnedTime expr="0"> + + 0 + + + + false + + + + + + + + + + + + false + + + + false + + + + false + + + + "bf" + + + + -5000 + + + + 4 + + + + false + + + + null + + + + new FlxPoint(0, 0) + + + + new FlxPoint(0, 0) + + + + + false + + + + + + + + + + + + + false + + + + * FOR GF DANCING SHIT + + + + + + + + + + <__reverseDrawProcedure expr="false"> + + false + + + + + + + + + + + + + + + + { Frame : 0, Reversed : false, Force : false } + + + + + + + + + + + { y : 0, x : 0 } + + + + + + + + + + { isPlayer : false, character : "bf" } + + + + + + + + 0 + + + + 0 + + + + 0 + * Current step + + + + 0 + * Current beat + + + + 0 + * Current step, as a `Float` (ex: 4.94, instead of 4) + + + + 0 + * Current beat, as a `Float` (ex: 1.24, instead of 1) + + + + * Game Controls. + + + + + + + + + + hide + + + + hide + + + + + + + + + + { fpsSensitive : false } + * Shortcut to `FlxMath.lerp` or `CoolUtil.lerp`, depending on `fpsSensitive` + * @param v1 Value 1 + * @param v2 Value 2 + * @param ratio Ratio + * @param fpsSensitive Whenever the ratio should not be adjusted to run at the same speed independant of framerate. + + + + + + + + + + "" + + + + 0 + + + + 0 + + + + + + + + + + false + + + + + + + + + + + + + + 160 * 0.7 + + + + 0 + + + + false + + + + 0 + + + + false + + + + false + + + + false + + + + + + + 0 + + + + false + + + + 1 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + { sustainNote : false } + + + + + + + + null + + + + * SONG METADATA + + + + false + + + + 0 + + + + [] + + + + 1 + + + + false + + + + + 0 + + + + 6 + + + + + false + + + + + 0 + + + + + + + + + [] + + + + + 0 + + + + + + + + true + + + + false + + + + 4 + + + + "" + + + + "" + + + + 1 + + + + 1 + + + + 0 + + + + + + false + + + + false + + + + + + + + 0 + + + + + 1.05 + + + + false + + + + "" + + + + "" + + + + 0 + + + + "" + + + + "" + + + + + + + false + + + + 5 + + + + + 0 + + + + 0 + + + + 0 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + false + + + + true + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + 8 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + [] + + + + + + + + + + + + + + + + + + + + + + + + + + [] + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + -5000 + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { force : true } + + + + + + + + + + + + + + + + 0xFF9271FD + * Default background colors for songs without bg color + + + + 1 + * How much time a song stays selected until it autoplays. + + + + [] + + + + + 0 + + + + 1 + + + + + + 0 + + + + 0 + + + + + + + + false + + + + [] + + + + + 0 + + + + true + + + + null + + + + + + + + + + + { change : 0 } + + + + + + + { change : 0 } + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + 0 + + + + + ["story mode", "freeplay", "donate", "options"] + + + + + + + false + + + + + + + + + + + + + + + { huh : 0 } + + + + + + + + + + + + + + ["Resume", "Restart Song", "Exit to menu"] + + + + 0 + + + + + + + + + + + + + { change : 0 } + + + + + + + + + + + + + [true, true, true, true, true, true, true] + + + + + [["Tutorial"], ["Bopeebo", "Fresh", "Dadbattle"], ["Spookeez", "South", "Monster"], ["Pico", "Philly", "Blammed"], ["Satin-Panties", "High", "Milf"], ["Cocoa", "Eggnog", "Winter-Horrorland"], ["Senpai", "Roses", "Thorns"]] + + + + 1 + + + + [["dad", "bf", "gf"], ["dad", "bf", "gf"], ["spooky", "bf", "gf"], ["pico", "bf", "gf"], ["mom", "bf", "gf"], ["parents-christmas", "bf", "gf"], ["senpai", "bf", "gf"]] + + + + ["", "Daddy Dearest", "Spooky Month", "PICO", "MOMMY MUST MURDER", "RED SNOW", "hating simulator ft. moawling"] + + + + + 0 + + + + + + + + + + + + + + + + + false + + + + false + + + + false + + + + + + + + { change : 0 } + + + + 0 + + + + 0 + + + + + + + { change : 0 } + + + + + + + + + + + + + + false + + + + + + + + + [] + + + + + + + + false + + + + + + + false + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + * COPIED DIRECTLY FROM LIME SOURCE CAUSE LIME IS SO FUCKING DUMB!! + + + + + + + + + { rootPath : null } + + + + + + + + { rootPath : null } + + + + + + + + + + + + + + + + { rootPath : null } + + + + + + + + { rootPath : null } + + + + + + + + ()]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ()]]> + + + + + + + + + + ()]]> + + + + + + + + + + ()]]> + + + + + + + + + + ()]]> + + + + + + + + + + ()]]> + + + + + + + + + + >()]]> + + + + + + + + + + + + + + >()]]> + + + + + + + + + + ()]]> + + + + + + + + + + ()]]> + + + + + + + + + + + + + + ()]]> + + + + + + + + + + ()]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <__assetLoaded set="method" line="614"> + + + + + + + <__cacheBreak set="method" line="656"> + + + + + + + <__fromBundle set="method" line="661"> + + + + + + + { manifest : null } + + + + <__fromManifest set="method" line="708"> + + + + + + + <__resolvePath set="method" line="775"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + lime.text.Font + lime.utils.Assets + + + + + + + + + + + + [] + + <_parsedAsset expr="null"> + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <__isCacheValid set="method" line="140"> + + + + + + + + <__parseAsset set="method" line="150"> + + + + + + + + + + + + + + null + * Last time the folder was modified. + + + + null + * Current mod folder. Will affect `Paths`. + + + + [] + * Array of all loaded mods' folder names. + + + + "./mods/" + * Path to the `mods` folder. + + + + * Initialises `mods` folder by adding callbacks and such. + + + + + + + + { force : false } + * Loads a mod with the specified name. + * @param modName Name of the mod + * @param force Whenever the mod should be reloaded if it has already been loaded + + + + + + + + + { force : false } + + + + + + + + + + + + { addRoot : false, prefix : "" } + * Gets all assets in folders and put them in the `assets` array. + * @param assets Array of assets + * @param rootPath Root path + * @param path Path inside of the rootPath (ex: `root path/path/path2/`) + * @param libraryName Name of the library (ex: `mods/my mod/`) + * @param prefix Prefix for the asset names (ex: `assets/mods/my mod/`) + * @param addRoot Whenever the root should be added to the paths. Defaults to false + + + + + + + + + + + + + + + + + + + + + ["hx", "hscript", "hsc"] + * All available script extensions + + + + null + * Currently executing script. + + + + + + + * Creates a script from the specified asset path. The language is automatically determined. + * @param path Path in assets + + + + * Script name (with extension) + + + + null + * Path to the script. + + + + * Loads the script + + + + + + + + * Calls the function `func` defined in the script. + * @param func Name of the function + * @param parameters (Optional) Parameters of the function. + * @return Result (if void, then null) + + + + + + + * Sets a script's parent object so that its properties can be accessed easily. Ex: Passing `PlayState.instace` will allow `boyfriend` to be typed instead of `PlayState.instance.boyfriend`. + * @param variable Parent variable. + + + + + + + * Gets the variable `variable` from the script's variables. + * @param variable Name of the variable. + * @return Variable (or null if it doesn't exists) + + + + + + + + * Gets the variable `variable` from the script's variables. + * @param variable Name of the variable. + * @return Variable (or null if it doesn't exists) + + + + + + + + * Shows an error from this script. + * @param text Text of the error (ex: Null Object Reference). + * @param additionalInfo Additional information you could provide. + + + + + + + + * PRIVATE HANDLERS - DO NOT TOUCH + + + + + + + + + + + + + + * Creates a new instance of the script class. + * @param path + + * Class used for scripting. + + + + + + + + + + [] + + + + + + + + + + + + + + + + + + + + * Simple class for empty scripts or scripts whose language isn't imported yet. + + + + + + + + + + + <_errorHandler set="method" line="27"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [] + + + + + + + [] + + + + null + + + + + + + + + + + + + + * Sends an event to every single script, and returns the event. + * @param func Function to call + * @param event Event (will be the first parameter of the function) + * @return (modified by scripts) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <__configureNewScript set="method" line="75"> + + + + + + + + + + CancellableEvent + + + + + + + false + hide + + + <__continueCalls expr="true"> + + + true + hide + + + + + { } + * Additional data if used in scripts + + + + + + + { c : true } + * Prevents default action from occuring. + * @param c Whenever the scripts following this one should be called or not. (Defaults to `true`) + + + + + + + + { c : true } + hide + + + + + + * Creates a new cancellable event. + * This allows scripts to call `cancel()` to cancel the event. + + ScriptPack + + + + + + * Array containing whenever a specific control is pressed or not. + * For example, `pressed[0]` will return whenever the left strum was pressed. + + + + * Array containing whenever a specific control was pressed (not hold) this frame or not. + * For example, `justPressed[0]` will return whenever the left strum was just pressed. + + + + * Array containing whenever a specific control was released this frame or not. + * For example, `justReleased[0]` will return whenever the left strum was just released. + + + + + + + + + + + + + + + false + hide + + + + + + + + + + * Prevents the default sing animation from being played. + + + + hide + + + + + + + + + + + * Creates a new NoteHitEvent with the following values: + * @param note + * @param character + * @param player + * @param noteType + + + + + + + + + + * ... + * @author + + + + + 100 + * Current BPM + + + + ((60 / bpm) * 1000) + * Current Crochet (time per beat), in milliseconds. + + + + crochet / 4 + * Current StepCrochet (time per step), in milliseconds. + + + + * Current position of the song, in milliseconds. + + + + hide + + + + + 0 + hide + + + + + + 10 + hide + + + + + + (safeFrames / 60) * 1000 + hide + + + + + [] + * Array of all BPM changes that have been mapped. + + + + + + + * Maps BPM changes from a song. + * @param song Song to map BPM changes from. + + + + + + + + hide + + + + + + + ["EASY", "NORMAL", "HARD"] + + + + + + + + * Returns `v` if not null, `defaultValue` otherwise. + * @param v The value + * @param defaultValue The default value + * @return The return value + + + + + + + + + + + + + + + + { fpsSensitive : false } + * Lerps from color1 into color2 in a cool way 😎 + * @param color1 Color 1 + * @param color2 Color 2 + * @param ratio Ratio + * @param fpsSensitive Whenever the ratio should be case sentivive (adapted when game is running at 120 instead of 60) + + + + + + + * Modifies a lerp ratio based on current FPS to keep a stable speed on higher framerate. + * @param ratio Ratio + * @return FPS-Modified Ratio + + + + + + + * Tries to get a color from a `Dynamic` variable. + * @param c `Dynamic` color. + * @return The result color, or `null` if invalid. + + + + + + + + + + + + + { min : 0 } + + + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + + + "ogg" + * Preferred sound extension for the game's audio files. + * Currently is set to `mp3` for web targets, and `ogg` for other targets. + + <__useSourceAssets expr="false" line="20" static="1"> + + false + + + + + + + + + + { skipModsVerification : false } + + + + + + + + { library : "preload" } + + + + + + + + + + + + + + + + + + { type : TEXT } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { difficulty : "normal" } + + + + + + + + + + + + + + + + + + + + + + + + { scanSource : false, addPath : false, includeSource : true } + + + + + + + + + + + + + + + + + + + + + + + { difficulty : "normal" } + + + + + + + + + + + + + + + * Applies a property XML node to an object. + * @param object Object to which the xml property will be applied + * @param property `property` node. + + + + + + + + * Adds an XML animation to `sprite`. + * @param sprite Destination sprite + * @param anim Animation (Must be a `anim` XML node) + + * Class made to make XML parsing easier. + + + + + + + + + + + + + + + + + + + + + + + + + + Elements return by `CallStack` methods. + + + + + + Get information about the call stack. + + haxe.Exception + haxe.CallStack + + + + + Return the call stack elements, or an empty array if not available. + + + + + + + { fullStack : false } + Return the exception stack : this is the stack elements between + the place the last exception was thrown and the place it was + caught, or an empty array if not available. + Set `fullStack` parameter to true in order to return the full exception stack. + + May not work if catch type was a derivative from `haxe.Exception`. + + + + + + + Returns a representation of the stack as a printable string. + + + + + + + + Returns a range of entries of current stack from the beginning to the the + common part of this and `stack`. + + + + + + + + + + + + + + + haxe.CallStack + haxe.Exception + + + + + + + Return the call stack elements, or an empty array if not available. + + + + + + + { fullStack : false } + Return the exception stack : this is the stack elements between + the place the last exception was thrown and the place it was + caught, or an empty array if not available. + Set `fullStack` parameter to true in order to return the full exception stack. + + May not work if catch type was a derivative from `haxe.Exception`. + + + + + + + Returns a representation of the stack as a printable string. + + + + + + + + Returns a range of entries of current stack from the beginning to the the + common part of this and `stack`. + + + + + + + + + + + + + + + haxe.CallStack + haxe.Exception + + + + + This type unifies with any function type. + + It is intended to be used as a type parameter constraint. If used as a real + type, the underlying type will be `Dynamic`. + + + + + + This type unifies with an enum instance if all constructors of the enum + require no arguments. + + It is intended to be used as a type parameter constraint. If used as a real + type, the underlying type will be `Dynamic`. + + + + + This type unifies with anything but `Void`. + + It is intended to be used as a type parameter constraint. If used as a real + type, the underlying type will be `Dynamic`. + + + + + `, A must be explicitly constrained to + `Constructible` as well. + + It is intended to be used as a type parameter constraint. If used as a real + type, the underlying type will be `Dynamic`.]]> + + + + + + + + + Returns the name of enum `e`, including its path. + + If `e` is inside a package, the package structure is returned dot- + separated, with another dot separating the enum name: + + pack1.pack2.(...).packN.EnumName + + If `e` is a sub-type of a Haxe module, that module is not part of the + package structure. + + If `e` has no package, the enum name is returned. + + If `e` is `null`, the result is unspecified. + + The enum name does not include any type parameters. + + + + + + + + + Creates an instance of enum `e` by calling its constructor `constr` with + arguments `params`. + + If `e` or `constr` is `null`, or if enum `e` has no constructor named + `constr`, or if the number of elements in `params` does not match the + expected number of constructor arguments, or if any argument has an + invalid type, the result is unspecified. + + + + + + + + + Creates an instance of enum `e` by calling its constructor number + `index` with arguments `params`. + + The constructor indices are preserved from Haxe syntax, so the first + declared is index 0, the next index 1 etc. + + If `e` or `index` is `null`, or if enum `e` has no constructor + corresponding to index `index`, or if the number of elements in `params` + does not match the expected number of constructor arguments, or if any + argument has an invalid type, the result is unspecified. + + + + + + + Returns a list of all constructors of enum `e` that require no + arguments. + + This may return the empty Array `[]` if all constructors of `e` require + arguments. + + Otherwise an instance of `e` constructed through each of its non- + argument constructors is returned, in the order of the constructor + declaration. + + If `e` is `null`, the result is unspecified. + + + + + + + Returns a list of the names of all constructors of enum `e`. + + The order of the constructor names in the returned Array is preserved + from the original syntax. + + If `c` is `null`, the result is unspecified. + + This class provides advanced methods on enums. It is ideally used with + `using EnumTools` and then acts as an + [extension](https://haxe.org/manual/lf-static-extension.html) to the + `enum` types. + + If the first argument to any of the methods is `null`, the result is + unspecified. + + + + + + + + + Recursively compares two enum instances `a` and `b` by value. + + Unlike `a == b`, this function performs a deep equality check on the + arguments of the constructors (if there are any). + + If `a` or `b` are `null`, the result is unspecified. + + + + + + + Returns the constructor name of enum instance `e`. + + The result String does not contain any constructor arguments. + + If `e` is `null`, the result is unspecified. + + + + + + + Returns a list of the constructor arguments of enum instance `e`. + + If `e` has no arguments, the result is `[]`. + + Otherwise the result are the values that were used as arguments to `e`, + in the order of their declaration. + + If `e` is `null`, the result is unspecified. + + + + + + + Returns the index of enum instance `e`. + + This corresponds to the original syntactic position of `e`. The index of + the first declared constructor is 0, the next one is 1 etc. + + If `e` is `null`, the result is unspecified. + + This class provides advanced methods on enum values. It is ideally used with + `using EnumValueTools` and then acts as an + [extension](https://haxe.org/manual/lf-static-extension.html) to the + `EnumValue` types. + + If the first argument to any of the methods is `null`, the result is + unspecified. + + + + + + + + + + + + + Exception message. + + + + The call stack at the moment of the exception creation. + + + + Contains an exception, which was passed to `previous` constructor argument. + + + + Native exception, which caused this exception. + + <__exceptionMessage> + + + + <__exceptionStack> + + + + <__nativeStack> + + + + <__skipStack expr="0"> + + + 0 + + "haxe.Exception.get_stack" + + + <__nativeException> + + + + <__previousException> + + + + + + + Returns exception message. + +
      + + Detailed exception description. + + Includes message, stack and the chain of previous exceptions (if set). +
      + <__shiftStack get="inline" set="null" line="62"> + + + + "haxe.Exception.get_stack" + + + + + + + + + + + + + + Create a new Exception instance. + + The `previous` argument could be used for exception chaining. + + The `native` argument is for internal usage only. + There is no need to provide `native` argument manually and no need to keep it + upon extending `haxe.Exception` unless you know what you're doing. + + = null; + a.push(1); // generates target-specific null-pointer exception + } catch(e:haxe.Exception) { + throw e; // rethrows native exception instead of haxe.Exception + } + ```]]> + + + + + +
      + + + + + + + + Int32 provides a 32-bit integer with consistent overflow behavior across + all platforms. + + + + + + + + + + + "_hx_int64_make" + + + + + + + " ::cpp::Int64Struct" + + + + + + + " ::cpp::Int64Struct::is" + + + + + + + "_hx_int64_is_neg" + + + + + + + "_hx_int64_is_zero" + + + + + + + + "_hx_int64_compare" + + + + + + + + "_hx_int64_ucompare" + + + + + + + "_hx_int64_to_string" + + + + + + + "_hx_int64_neg" + + + + + + + "_hx_int64_pre_increment" + + + + + + + "_hx_int64_post_increment" + + + + + + + "_hx_int64_pre_decrement" + + + + + + + "_hx_int64_post_decrement" + + + + + + + + "_hx_int64_add" + + + + + + + + "_hx_int64_add" + + + + + + + + "_hx_int64_sub" + + + + + + + + "_hx_int64_sub" + + + + + + + + "_hx_int64_sub" + + + + + + + + "_hx_int64_mul" + +
      + + + + + + "_hx_int64_div" +
      + + + + + + + "_hx_int64_mod" + + + + + + + + "_hx_int64_eq" + + + + + + + + "_hx_int64_eq" + + + + + + + + "_hx_int64_neq" + + + + + + + + "_hx_int64_neq" + + + + + + + "_hx_int64_complement" + + + + + + + + "_hx_int64_and" + + + + + + + + "_hx_int64_or" + + + + + + + + "_hx_int64_xor" + + + + + + + + "_hx_int64_shl" + + + + + + + + "_hx_int64_shr" + + + + + + + + "_hx_int64_ushr" + + + + + + + "_hx_int64_high" + + + + + + + "_hx_int64_low" + + + + + "cpp/Int64.h" + "cpp::Int64Struct" + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create `Int64` from given string. + + Helper for parsing to `Int64` instances. + + + + + + + Cross-platform JSON API: it will automatically use the optimized native API if available. + Use `-D haxeJSON` to force usage of the Haxe implementation even if a native API is found: + This will provide extra encoding features such as enums (replaced by their index) and StringMaps. + + @see https://haxe.org/manual/std-Json.html + + + + + + + + + + + + "haxe.NativeStackTrace.exceptionStack" + + + + + + + + + + + + + + + + + + + + + + { skip : 0 } + + Do not use manually. + + + + hide + + + + + + + + + + + + + + + `PosInfos` is a magic type which can be used to generate position information + into the output for debugging use. + + If a function has a final optional argument of this type, i.e. + `(..., ?pos:haxe.PosInfos)`, each call to that function which does not assign + a value to that argument has its position added as call argument. + + This can be used to track positions of calls in e.g. a unit testing + framework. + + + + + + + + + Retrieves the resource identified by `name` as an instance of + haxe.io.Bytes. + + If `name` does not match any resource name, `null` is returned. + + Resource can be used to access resources that were added through the + `--resource file@name` command line parameter. + + Depending on their type they can be obtained as `String` through + `getString(name)`, or as binary data through `getBytes(name)`. + + A list of all available resource names can be obtained from `listNames()`. + + + + + + + + + + false + If the values you are serializing can contain circular references or + objects repetitions, you should set `USE_CACHE` to true to prevent + infinite loops. + + This may also reduce the size of serialization Strings at the expense of + performance. + + This value can be changed for individual instances of `Serializer` by + setting their `useCache` field. + + + + false + Use constructor indexes for enums instead of names. + + This may reduce the size of serialization Strings, but makes them less + suited for long-term storage: If constructors are removed or added from + the enum, the indices may no longer match. + + This value can be changed for individual instances of `Serializer` by + setting their `useEnumIndex` field. + + + + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%:" + + + + null + + + + + + + Serializes `v` and returns the String representation. + + This is a convenience function for creating a new instance of + Serializer, serialize `v` into it and obtain the result through a call + to `toString()`. + + + + + + + + The individual cache setting for `this` Serializer instance. + + See `USE_CACHE` for a complete description. + + + + The individual enum index setting for `this` Serializer instance. + + See `USE_ENUM_INDEX` for a complete description. + + + + Return the String representation of `this` Serializer. + + The exact format specification can be found here: + https://haxe.org/manual/serialization/format + + + + + + + + + + + + + + + + + + + Serializes `v`. + + All haxe-defined values and objects with the exception of functions can + be serialized. Serialization of external/native objects is not + guaranteed to work. + + The values of `this.useCache` and `this.useEnumIndex` may affect + serialization output. + + + + Creates a new Serializer instance. + + Subsequent calls to `this.serialize` will append values to the + internal buffer of this String. Once complete, the contents can be + retrieved through a call to `this.toString`. + + Each `Serializer` instance maintains its own cache if `this.useCache` is + `true`. + + ]]> + + + + + + + + + [] + + + + + + + + + + + + + + + + + + + <__check set="method" line="289"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + new DefaultResolver() + ` is called to determine a + `Class` from a class name + 2. `resolveEnum(name:String):Enum` is called to determine an + `Enum` from an enum name + + This value is applied when a new `Unserializer` instance is created. + Changing it afterwards has no effect on previously created instances.]]> + + + + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%:" + + + + null + + + + + + + + Unserializes `v` and returns the according value. + + This is a convenience function for creating a new instance of + Unserializer with `v` as buffer and calling its `unserialize()` method + once. + + + + + + + + + + + + + Sets the type resolver of `this` Unserializer instance to `r`. + + If `r` is `null`, a special resolver is used which returns `null` for all + input values. + + See `DEFAULT_RESOLVER` for more information on type resolvers. + + + + + + + + + + + + + + + Unserializes the next part of `this` Unserializer instance and returns + the according value. + + This function may call `this.resolver.resolveClass` to determine a + Class from a String, and `this.resolver.resolveEnum` to determine an + Enum from a String. + + If `this` Unserializer instance contains no more or invalid data, an + exception is thrown. + + This operation may fail on structurally valid data if a type cannot be + resolved or if a field cannot be set. This can happen when unserializing + Strings that were serialized on a different Haxe target, in which the + serialization side has to make sure not to include platform-specific + data. + + Classes are created from `Type.createEmptyInstance`, which means their + constructors are not called. + + + + + + + Creates a new Unserializer instance, with its internal buffer + initialized to `buf`. + + This does not parse `buf` immediately. It is parsed only when calls to + `this.unserialize` are made. + + Each Unserializer instance maintains its own cache. + + ]]> + + + + +
      + + + + + + + + + + + + + + + + + + + + + Thrown value. + + + + Extract an originally thrown value. + + This method must return the same value on subsequent calls. + Used internally for catching non-native exceptions. + Do _not_ override unless you know what you are doing. + + + + + + + + An exception containing arbitrary value. + + This class is automatically used for throwing values, which don't extend `haxe.Exception` + or native exception type. + For example: + ```haxe + throw "Terrible error"; + ``` + will be compiled to + ```haxe + throw new ValueException("Terrible error"); + ``` + + + + + + + + + + + + + + + + + + + + + + + + Calculates the Adler32 of the given Bytes. + + + + + + + + + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" + + + + haxe.io.Bytes.ofString(CHARS) + + + + + + + + { complement : true } + + Allows one to encode/decode String and bytes using Base64 encoding. + + + + + + + + + + + + + + + + + + + Allows one to encode/decode String and bytes using a power of two base dictionary. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a MD5 of a String. + + + + + + + + + + + + + + + + Convert a string to a sequence of 16-word blocks, stored as an array. + Append padding bits and the length, as described in the SHA1 standard. + + + + + + + + + + + + + + Perform the appropriate triplet combination function for the current iteration + + + + + + + Determine the appropriate additive constant for the current iteration + + + + + + + Creates a Sha1 of a String. + + + + + + + + + + + + + + Line position in a document (1-based). + + + + Character offset on a line in a document (1-based). + + + Position in a text document expressed as 1-based line and character offset. + + + + + + The range's start position + + + + The range's end position + + + A range in a text document expressed as (1-based) start and end positions. + + + + + + + Represents a location inside a resource, such as a line inside a text file. + + + + + + + + + + The maximum number of completion items to return + + + + + dot paths to exclude from readClassPaths / toplevel completion + + + + +
      +				
      +				
      +			
      + + + + + + + +
      + Represents a semantic version, see https://semver.org/. +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UNIX timestamp at the moment the data was sent. + + + + + Only sent if `--times` is enabled. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + y` and a + negative Int if `x < y`. + + This operation modifies Array `a` in place. + + This operation is stable: The order of equal elements is preserved. + + If `a` or `cmp` are null, the result is unspecified.]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ArraySort provides a stable implementation of merge sort through its `sort` + method. It should be used instead of `Array.sort` in cases where the order + of equal elements has to be retained on all targets. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Binds `key` to `value`. + + If `key` is already bound to a value, that binding disappears. + + If `key` is null, the result is unspecified. + + + + + + + Returns the value `key` is bound to. + + If `key` is not bound to any value, `null` is returned. + + If `key` is null, the result is unspecified. + + + + + + + Removes the current binding of `key`. + + If `key` has no binding, `this` BalancedTree is unchanged and false is + returned. + + Otherwise the binding of `key` is removed and true is returned. + + If `key` is null, the result is unspecified. + + + + + + + Tells if `key` is bound to a value. + + This method returns true even if `key` is bound to null. + + If `key` is null, the result is unspecified. + + + + Iterates over the bound values of `this` BalancedTree. + + This operation is performed in-order. + + + + + + + + See `Map.keyValueIterator` + + + + Iterates over the keys of `this` BalancedTree. + + This operation is performed in-order. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new BalancedTree, which is initially empty. + + BalancedTree allows key-value mapping with arbitrary keys, as long as they + can be ordered. By default, `Reflect.compare` is used in the `compare` + method, which can be overridden in subclasses. + + Operations have a logarithmic average and worst-case cost. + + Iteration over keys and values, using `keys` and `iterator` respectively, + are in-order. + + + + + + + + + + + + + + <_height> + + + + + + + + + + + + + + + + { h : -1 } + + A tree node of `haxe.ds.BalancedTree`. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + EnumValueMap allows mapping of enum value keys to arbitrary values. + + Keys are compared by value and recursively over their parameters. If any + parameter is not an enum value, `Reflect.compare` is used to compare them. + + + + + + + + + + + HashMap allows mapping of hashable objects to arbitrary values. + + See `Map` for documentation details. + + @see https://haxe.org/manual/std-Map.html + + + + + + + + + + "haxe.ds.IntMap.*" + + + + + + + + + See `Map.set` + + + + + + + + See `Map.get` + + + + + + + + See `Map.exists` + + + + + + + + See `Map.remove` + + + + + See `Map.keys` + + (cs, java) Implementation detail: Do not `set()` any new value while + iterating, as it may cause a resize, which will break iteration. + + + + + See `Map.iterator` + + (cs, java) Implementation detail: Do not `set()` any new value while + iterating, as it may cause a resize, which will break iteration. + + + + + + + + See `Map.keyValueIterator` + + + + Creates a new IntMap. + + IntMap allows mapping of Int keys to arbitrary values. + + See `Map` for documentation details. + + @see https://haxe.org/manual/std-Map.html + + + + \r\n inline void set(int key, const ::cpp::Struct &value) {__int_hash_set(HX_MAP_THIS,key,value); }\r\n template\r\n inline void set(int key, const ::cpp::Function &value) {__int_hash_set(HX_MAP_THIS,key,value); }\r\n template\r\n inline void set(int key, const ::cpp::Pointer &value) {__int_hash_set(HX_MAP_THIS,key,(Dynamic)value ); }\r\n\r\n template\r\n inline void set(Dynamic &key, const VALUE &value) { set( (int)key, value ); }\r\n\r\n inline bool get_bool(int key) { return __int_hash_get_bool(h,key); }\r\n inline int get_int(int key) { return __int_hash_get_int(h,key); }\r\n inline Float get_float(int key) { return __int_hash_get_float(h,key); }\r\n inline String get_string(int key) { return __int_hash_get_string(h,key); }\r\n"]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + value1, key2 => value2]` syntax. + + Map is an abstract type, it is not available at runtime. + + @see https://haxe.org/manual/std-Map.html]]> + + + @:followWithAbstracts K + + + + + + + + `ReadOnlyArray` is an abstract over an ordinary `Array` which only exposes + APIs that don't modify the instance, hence "read-only". + + Note that this doesn't necessarily mean that the instance is *immutable*. + Other code holding a reference to the underlying `Array` can still modify it, + and the reference can be obtained with a `cast`. + + copy + filter + indexOf + iterator + keyValueIterator + join + lastIndexOf + map + slice + contains + toString + + + + + + + + + + + "haxe.ds.StringMap.*" + + + + + + + + + See `Map.set` + + + + + + + + See `Map.get` + + + + + + + + See `Map.exists` + + + + + + + + See `Map.remove` + + + + + See `Map.keys` + + (cs, java) Implementation detail: Do not `set()` any new value while + iterating, as it may cause a resize, which will break iteration. + + + + + See `Map.iterator` + + (cs, java) Implementation detail: Do not `set()` any new value while + iterating, as it may cause a resize, which will break iteration. + + + + + + + + See `Map.keyValueIterator` + + + + + See `Map.toString` + + + + + See `Map.clear` + + + + Creates a new StringMap. + + StringMap allows mapping of String keys to arbitrary values. + + See `Map` for documentation details. + + @see https://haxe.org/manual/std-Map.html + + + + \r\n inline void set(String key, const ::cpp::Struct &value) {__string_hash_set(HX_MAP_THIS,key,value); }\r\n template\r\n inline void set(String key, const ::cpp::Function &value) {__string_hash_set(HX_MAP_THIS,key,(Dynamic)value ); }\r\n template\r\n inline void set(String key, const ::cpp::Pointer &value) {__string_hash_set(HX_MAP_THIS,key,(Dynamic)value ); }\r\n\r\n template\r\n inline void set(Dynamic &key, const VALUE &value) { set( (String)key, value ); }\r\n\r\n inline bool get_bool(String key) { return __string_hash_get_bool(h,key); }\r\n inline int get_int(String key) { return __string_hash_get_int(h,key); }\r\n inline Float get_float(String key) { return __string_hash_get_float(h,key); }\r\n inline String get_string(String key) { return __string_hash_get_string(h,key); }\r\n"]]> + + + + + + + A Vector is a storage of fixed size. It can be faster than Array on some + targets, and is never slower. + + @see https://haxe.org/manual/std-vector.html + + + + + + + Position where this exception was created. + + + + Returns exception message. + + + + + + + + An exception that carry position information of a place where it was created. + + + + + + + + + + + + { message : "Not implemented" } + + An exception that is thrown when requested function or operation does not have an implementation. + + + + + + + + + + If this type is used as an argument type, the compiler ensures that + argument expressions are bound to a local variable. + + + + variable + + + + + + + + + + + + + + + + + + + An implementation of JSON parser in Haxe. + + This class is used by `haxe.Json` when native JSON implementation + is not available. + + @see https://haxe.org/manual/std-Json-parsing.html + + + + + + + + + + + + + + + + + + Encodes `o`'s value and returns the resulting JSON string. + + If `replacer` is given and is not null, it is used to retrieve + actual object to be encoded. The `replacer` function takes two parameters, + the key and the value being encoded. Initial key value is an empty string. + + If `space` is given and is not null, the result will be pretty-printed. + Successive levels will be indented by this string. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An implementation of JSON printer in Haxe. + + This class is used by `haxe.Json` when native JSON implementation + is not available. + + @see https://haxe.org/manual/std-Json-encoding.html + + + + + + + + + + + + + + + Returns either a copy or a reference of the current bytes. + Once called, the buffer should no longer be used. + + + + + + + + + + + + Endianness (word byte order) used when reading numbers. + + If `true`, big-endian is used, otherwise `little-endian` is used. + + + + Read and return one byte. + + + + + + + + + + Read `len` bytes and write them into `s` to the position specified by `pos`. + + Returns the actual length of read data that can be smaller than `len`. + + See `readFullBytes` that tries to read the exact amount of specified bytes. + + + + Close the input source. + + Behaviour while reading after calling this method is unspecified. + + + + + + + + + Read `len` bytes and write them into `s` to the position specified by `pos`. + + Unlike `readBytes`, this method tries to read the exact `len` amount of bytes. + + + + + + + Read and return `nbytes` bytes. + + + + Read a line of text separated by CR and/or LF bytes. + + The CR/LF characters are not included in the resulting string. + + + + Read a 16-bit signed integer. + + Endianness is specified by the `bigEndian` property. + + + + Read a 16-bit unsigned integer. + + Endianness is specified by the `bigEndian` property. + + + + Read a 32-bit signed integer. + + Endianness is specified by the `bigEndian` property. + + + + + + + + Read and `len` bytes as a string. + + An Input is an abstract reader. See other classes in the `haxe.io` package + for several possible implementations. + + All functions which read data throw `Eof` when the end of the stream + is reached. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Write one byte. + + + + + + + + + + Write `len` bytes from `s` starting by position specified by `pos`. + + Returns the actual length of written data that can differ from `len`. + + See `writeFullBytes` that tries to write the exact amount of specified bytes. + + + + Close the output. + + Behaviour while writing after calling this method is unspecified. + + + + + + + Write all bytes stored in `s`. + + + + + + + + + Write `len` bytes from `s` starting by position specified by `pos`. + + Unlike `writeBytes`, this method tries to write the exact `len` amount of bytes. + + + + + + + + Write `s` string. + + An Output is an abstract write. A specific output implementation will only + have to override the `writeByte` and maybe the `write`, `flush` and `close` + methods. See `File.write` and `String.write` for two ways of creating an + Output. + + + + + Output the string the way the platform represent it in memory. This is the most efficient but is platform-specific + String binary encoding supported by Haxe I/O + + + + + + "haxe.io.Eof.*" + + + This exception is raised when reading while data is no longer available in the `haxe.io.Input`. + + + + + + + The IO is set into nonblocking mode and some data cannot be read or written + An integer value is outside its allowed range + An operation on Bytes is outside of its valid range + + + Other errors + + The possible IO errors that can occur + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns an Int64 representing the bytes representation of the double precision IEEE float value. + WARNING : for performance reason, the same Int64 value might be reused every time. Copy its low/high values before calling again. + We still ensure that this is safe to use in a multithread environment + + Helper that converts between floating point and binary representation. + Always works in low-endian encoding. + + + + + + + + + + + + Returns the String representation of `path` without the file extension. + + If `path` is `null`, the result is unspecified. + + + + + + + Returns the String representation of `path` without the directory. + + If `path` is `null`, the result is unspecified. + + + + + + + Returns the directory of `path`. + + If the directory is `null`, the empty String `""` is returned. + + If `path` is `null`, the result is unspecified. + + + + + + + Returns the extension of `path`. + + If `path` has no extension, the empty String `""` is returned. + + If `path` is `null`, the result is unspecified. + + + + + + + Normalize a given `path` (e.g. turn `'/usr/local/../lib'` into `'/usr/lib'`). + + Also replaces backslashes `\` with slashes `/` and afterwards turns + multiple slashes into a single one. + + If `path` is `null`, the result is unspecified. + + + + + + + Adds a trailing slash to `path`, if it does not have one already. + + If the last slash in `path` is a backslash, a backslash is appended to + `path`. + + If the last slash in `path` is a slash, or if no slash is found, a slash + is appended to `path`. In particular, this applies to the empty String + `""`. + + If `path` is `null`, the result is unspecified. + + + + + + + Removes trailing slashes from `path`. + + If `path` does not end with a `/` or `\`, `path` is returned unchanged. + + Otherwise the substring of `path` excluding the trailing slashes or + backslashes is returned. + + If `path` is `null`, the result is unspecified. + + + + The directory. + + This is the leading part of the path that is not part of the file name + and the extension. + + Does not end with a `/` or `\` separator. + + If the path has no directory, the value is `null`. + + + + The file name. + + This is the part of the part between the directory and the extension. + + If there is no file name, e.g. for `".htaccess"` or `"/dir/"`, the value + is the empty String `""`. + + + + The file extension. + + It is separated from the file name by a dot. This dot is not part of + the extension. + + If the path has no extension, the value is `null`. + + + + `true` if the last directory separator is a backslash, `false` otherwise. + + + + Returns a String representation of `this` path. + + If `this.backslash` is `true`, backslash is used as directory separator, + otherwise slash is used. This only affects the separator between + `this.dir` and `this.file`. + + If `this.directory` or `this.extension` is `null`, their representation + is the empty String `""`. + + + + + + + Creates a new `Path` instance by parsing `path`. + + Path information can be retrieved by accessing the `dir`, `file` and `ext` + properties. + + This class provides a convenient way of working with paths. It supports the + common path formats: + + - `directory1/directory2/filename.extension` + - `directory1\directory2\filename.extension` + + + + + + + + + + 0 + + + + See `Iterator.hasNext` + + + + See `Iterator.next` + + + + + + + Create a new `ArrayIterator`. + + ` is passed to `Iterable`]]> + + + + + + + + + 0 + + + + + + + + + + + + + + + "anon_read.keyValueIterator" + "dynamic_read.keyValueIterator" + + + + + + + + + + + + See `Iterator.hasNext` + + + + + + + See `Iterator.next` + + + + + + + + + This Key/Value iterator can be used to iterate across maps. + + + + + "anon_read.keyValueIterator" + "dynamic_read.keyValueIterator" + + + + + + + + + + + + + + + + + + + + + + + + + + + Position of the first character. + + + + Position of the last character. + + + + Reference to the filename. + + + Represents a position in a file. + + + + + + The position of the expression. + + + + The expression kind. + + + Represents a node in the AST. + @see https://haxe.org/manual/macro-reification-expression.html + + + + Represents a AST node identical to `Expr`, but it allows constraining the + type of accepted expressions. + @see https://haxe.org/manual/macro-ExprOf.html + + + + + + The value expressions of the case. + + + + + The optional guard expressions of the case, if available. + + + + + The expression of the case, if available. + + + Represents a switch case. + @see https://haxe.org/manual/expression-switch.html + + + + + + + The type-hint of the variable, if available. + + + + The name of the variable. + + + + + Metadata associatied with the variable, if available. + + + + + Whether or not the variable can be assigned to. + + + + + The expression of the variable, if available. + + + Represents a variable in the AST. + @see https://haxe.org/manual/expression-var.html + + + + + + + The type of the catch. + + + + The name of the catch variable. + + + + The expression of the catch. + + + Represents a catch in the AST. + @see https://haxe.org/manual/expression-try-catch.html + + + + + + + How the field name is quoted. + + + + The name of the field. + + + + The field expression. + + + Represents the field of an object declaration. + + + + + + + Sub is set on module sub-type access: + `pack.Module.Type` has `name = "Module"`, `sub = "Type"`, if available. + + + + + Optional parameters of the type path. + + + + Represents the package of the type path. + + + + The name of the type path. + + + Represents a type path in the AST. + + + + + + + The optional parameters of the type parameter. + + + + The name of the type parameter. + + + + + The metadata of the type parameter. + + + + + The optional constraints of the type parameter. + + + Represents a type parameter declaration in the AST. + + + + + + + The return type-hint of the function, if available. + + + + + An optional list of function parameter type declarations. + + + + + The expression of the function body, if available. + + + + A list of function arguments. + + + Represents a function in the AST. + + + + + + + The optional value of the function argument, if available. + + + + + The type-hint of the function argument, if available. + + + + + Whether or not the function argument is optional. + + + + The name of the function argument. + + + + + The metadata of the function argument. + + + Represents a function argument in the AST. + + + + + + The position of the metadata entry. + + + + + The optional parameters of the metadata entry. + + + + The name of the metadata entry. + + + Represents a metadata entry in the AST. + + + + Represents metadata in the AST. + + + + + + The position of the field. + + + + The name of the field. + + + + + The optional metadata of the field. + + + + The kind of the field. + + + + + The documentation of the field, if available. If the field has no + documentation, the value is `null`. + + + + + The access modifiers of the field. By default fields have private access. + @see https://haxe.org/manual/class-field-access-modifier.html + + + Represents a field in the AST. + + + + + + The position to the type definition. + + + + + The parameter type declarations of the type definition. + + + + The package of the type definition. + + + + The name of the type definition. + + + + + The optional metadata of the type definition. + + + + The kind of the type definition. + + + + + Whether or not the type is extern. + + + + The fields of the type definition. + + + + + The documentation of the type, if available. If the type has no + documentation, the value is `null`. + + + Represents a type definition. + + + + + + + + + The path to the import expression. + + + + The mode of the import expression. + + + Represents the import expression. + + + + ]]> + hide + + + + hide + + + + hide + + + + hide + + + + hide + + + + hide + + + + + + + Represents a reference to internal compiler structure. It exists to avoid + expensive encoding if it is not required and to ensure that physical + equality remains intact. + + A structure is only encoded when user requests it through `ref.get()`. + + + + + + The status/kind of the structure. + + + + The class fields of the structure. + + + Represents information for anonymous structure types. + + + + + + The type of the type parameter. It is guaranteed to be a `TInst` with a + `KTypeParameter` kind. + + + + The name of the type parameter. + + + Represents the declaration of type parameters. + + + + + + The type of the class field. + + + + The position of the class field. + + + + The type parameters of the class field. + + + + The overload fields of the class field. + + + + The name of the class field. + + + + The metadata of the class field. + + + + The class field kind. + + + + Whether or not the class field is public. + + + + Whether or not the class field is final. + + + + Whether or not the class field is extern. + + + + Whether or not the class field is abstract. + + + + Returns the typed expression of the class field. + + + + The associated documentation of the class field. + + + Represents a class field. + + + + + + The type of the enum constructor. + + + + The position of the enum constructor. + + + + The type parameters of the enum constructor. + + + + The name of the enum constructor. + + + + The metadata of the enum constructor. + + + + The index of the enum constructor, i.e. in which position it appears + in the syntax. + + + + The associated documentation of the enum constructor. + + + Represents an enum constructor. + + + + + + The position of the type. + + + + The type parameters of the type. + + + + The package of the type. + + + + The name of the type. + + + + The module name of the type, which might be different. + + + + The metadata of the type. + + + + Whether or not the type is private. + + + + Whether or not the type is extern. + + + + Allows excluding the type from compilation. + + + + The associated documentation of the class field. + + + The information that all types (`ClassType`, `EnumType`, `DefType`, + `AbstractType`) have in common. + + + + + + + + + The parent class and its type parameters, if available. + + + + The static fields of the class. + + + + The position of the type. + + + + The type parameters of the type. + + + + The package of the type. + + + + The list of fields that have override status. + + + + The name of the type. + + + + The module name of the type, which might be different. + + + + The metadata of the type. + + + + The kind of the class. + + + + Whether or not the type is private. + + + + If true the type is an interface, otherwise it is a class. + + + + If true the class is final and cannot be extended. + + + + Whether or not the type is extern. + + + + If true the class is abstract and cannot be instantiated directly. + + + + + + + The implemented interfaces and their type parameters. + + + + The `__init__` expression of the class, if available. + + + + The member fields of the class. + + + + Allows excluding the type from compilation. + + + + The associated documentation of the class field. + + + + The constructor of the class, if available. + + + Represents a class type. + + + + + + The position of the type. + + + + The type parameters of the type. + + + + The package of the type. + + + + An ordered list of enum constructor names. + + + + The name of the type. + + + + The module name of the type, which might be different. + + + + The metadata of the type. + + + + Whether or not the type is private. + + + + Whether or not the type is extern. + + + + Allows excluding the type from compilation. + + + + The associated documentation of the class field. + + + + + + + The available enum constructors. + + + Represents an enum type. + + + + + + The target type of the typedef. + + + + The position of the type. + + + + The type parameters of the type. + + + + The package of the type. + + + + The name of the type. + + + + The module name of the type, which might be different. + + + + The metadata of the type. + + + + Whether or not the type is private. + + + + Whether or not the type is extern. + + + + Allows excluding the type from compilation. + + + + The associated documentation of the class field. + + + Represents a typedef. + + + + + + + + + + The defined unary operators of the abstract. + + + + The underlying type of the abstract. + + + + + + + The available implicit to-casts of the abstract. + + @see https://haxe.org/manual/types-abstract-implicit-casts.html + + + + The method used for resolving unknown field access, if available. + + + + The method used for resolving unknown field access, if available. + + + + The position of the type. + + + + The type parameters of the type. + + + + The package of the type. + + + + The name of the type. + + + + The module name of the type, which might be different. + + + + The metadata of the type. + + + + Whether or not the type is private. + + + + Whether or not the type is extern. + + + + The implementation class of the abstract, if available. + + + + + + + The available implicit from-casts of the abstract. + + @see https://haxe.org/manual/types-abstract-implicit-casts.html + + + + Allows excluding the type from compilation. + + + + The associated documentation of the class field. + + + + + + + The defined binary operators of the abstract. + + + + The defined array-access fields of the abstract. + + + Represents an abstract type. + + + + + + + + + Removes all `name` metadata entries from the origin of `this` + MetaAccess. + + This method might clear several metadata entries of the same name. + + If a `Metadata` array is obtained through a call to `get`, a subsequent + call to `remove` has no effect on that array. + + If `name` is null, compilation fails with an error. + + + + + + + Tells if the origin of `this` MetaAccess has a `name` metadata entry. + + If `name` is null, compilation fails with an error. + + + + Return the wrapped `Metadata` array. + + Modifying this array has no effect on the origin of `this` MetaAccess. + The `add` and `remove` methods can be used for that. + + + + + + + Extract metadata entries by given `name`. + + If there's no metadata with such name, empty array `[]` is returned. + + If `name` is null, compilation fails with an error. + + + + + + + + + Adds the metadata specified by `name`, `params` and `pos` to the origin + of `this` MetaAccess. + + Metadata names are not unique during compilation, so this method never + overwrites a previous metadata. + + If a `Metadata` array is obtained through a call to `get`, a subsequent + call to `add` has no effect on that array. + + If any argument is null, compilation fails with an error. + + + MetaAccess is a wrapper for the `Metadata` array. It can be used to add + metadata to and remove metadata from its origin. + + + + + + The type of the variable. + + + + The name of the variable. + + + + The metadata of the variable. + + + + The unique ID of the variable. + + + + + + + Special information which is internally used to keep track of closure. + information + + + + Whether or not the variable has been captured by a closure. + + + Represents a variable in the typed AST. + + + + + + The return type of the function. + + + + The expression of the function body. + + + + + + + A list of function arguments identified by an argument variable `v` and + an optional initialization `value`. + + + Represents a function in the typed AST. + + + + + + The type of the expression. + + + + The position of the expression. + + + + The expression kind. + + + Represents a typed AST node. + + + + + + + + + + + + a.b + + + + + + + + + + + + + + + a.b + + + + + + + + + + + + + + + + + a.b + + + + + + + + + + + + + + + a.b + + + + + + + + + + + + + + + + + a.b + + + + + + + + + + + + + + + a.b + + + + + + + + + + + + + + + + + a.b + + + + + + + + + + + + + + + a.b + + + + + + + + + + + + + + + + + a.b + + + + + + + + + + + + + + + a.b + + + + + + + + + The `haxe.xml.Access` API helps providing a fast dot-syntax access to the + most common `Xml` methods. + + + + The inner PCDATA or CDATA of the node. + + An exception is thrown if there is no data or if there not only data + but also other nodes. + + + + + + + + + + + + + + + The inner PCDATA or CDATA of the node. + + An exception is thrown if there is no data or if there not only data + but also other nodes. + + + + + + + + + + + + + + + + + + + + + + the XML parsing error message + + + + the line number at which the XML parsing error occurred + + + + the character position in the reported line at which the parsing error occurred + + + + the character position in the XML string at which the parsing error occurred + + + + the invalid XML string + + + + + + + + + + + + + + + + + "); + h.set("amp", "&"); + h.set("quot", "\""); + h.set("apos", "'"); + h; +}]]> + + + + + + + + { strict : false } + Parses the String into an XML Document. Set strict parsing to true in order to enable a strict check of XML attributes and entities. + + @throws haxe.xml.XmlParserException + + + + + + + + + + { p : 0 } + + + + + + + + + + + + + + { pretty : false } + Convert `Xml` to string representation. + + Set `pretty` to `true` to prettify the result. + + + + + + + + + + + + + + + + + This class provides utility methods to convert Xml instances to + String representation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, -1, -1] + + + + [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258] + + + + [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, -1, -1] + + + + [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577] + + + + [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15] + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { crc : true, header : true } + + A pure Haxe implementation of the ZLIB Inflate algorithm which allows reading compressed data without any platform-specific support. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + new Map() + allows to check for #if / #else in code + + + + activate JSON compatiblity + + + + allow types declarations + + + + allow haxe metadata declarations + + + + resume from parsing errors (when parsing incomplete code, during completion for example) + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { origin : "hscript" } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { origin : "hscript" } + + + + + + + + + + + + <_token set="method" line="1401"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { deltaTime : 0, type : null } + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + + + + + + + + { type : null } + + + + + + + + + + + + + + cast 0 + + + + + + + + + + + + cast 0 + + + + + + + + + + + + + + + + + { file : null, type : null } + + + + + + + + + + + + + + cast 0 + + + + + + + + + + + + cast 0 + + + + + + + + + + + + + + + + + + + + + + + { value : 0, axis : 0, button : 0, id : 0, type : null } + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + + + + + + + + + + + + + + + + + + { y : 0, x : 0, value : 0, index : 0, id : 0, type : null } + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + cast 6 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + cast 6 + + + + + + + + + + + + + + + + + + + + + { modifier : 0, keyCode : 0, windowID : 0, type : null } + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + { movementY : 0, movementX : 0, button : 0, y : 0, x : 0, windowID : 0, type : null } + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + + + + + + + + { type : null } + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + + + + + + + + + + + + + + + + { z : 0, y : 0, x : 0, id : 0, type : null } + + + + + + + + + + + + + + cast 0 + + + + + + + + + + + + cast 0 + + + + + + + + + + + + + + + + + + + + + + + + { length : 0, start : 0, text : null, windowID : 0, type : null } + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { device : 0, pressure : 0, dy : 0, dx : 0, id : 0, y : 0, x : 0, type : null } + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + + + + + + + + + + + + + + + + + + { y : 0, x : 0, height : 0, width : 0, windowID : 0, type : null } + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + cast 6 + + + + + + + + cast 7 + + + + + + + + cast 8 + + + + + + + + cast 9 + + + + + + + + cast 10 + + + + + + + + cast 11 + + + + + + + + cast 12 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + cast 6 + + + + + + + + cast 7 + + + + + + + + cast 8 + + + + + + + + cast 9 + + + + + + + + cast 10 + + + + + + + + cast 11 + + + + + + + + cast 12 + + + + + + + + + + 48000 + + + + 3 + + + + 100 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { buffers : null } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + lime.media.AudioBuffer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { binary : true } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + + + + <__extensionObjects static="1"> + + + + <__extensionObjectConstructors expr="new Map<String,Void>()" line="39" static="1"> + + + + + ()]]> + + <__lastContextID expr="0" line="40" static="1"> + + 0 + + <__supportedExtensions static="1"> + + + 0x00000100 + + + + 0x00000400 + + + + 0x00004000 + + + + 0x0000 + + + + 0x0001 + + + + 0x0002 + + + + 0x0003 + + + + 0x0004 + + + + 0x0005 + + + + 0x0006 + + + + 0 + + + + 1 + + + + 0x0300 + + + + 0x0301 + + + + 0x0302 + + + + 0x0303 + + + + 0x0304 + + + + 0x0305 + + + + 0x0306 + + + + 0x0307 + + + + 0x0308 + + + + 0x8006 + + + + 0x8009 + + + + 0x8009 + + + + 0x883D + + + + 0x800A + + + + 0x800B + + + + 0x80C8 + + + + 0x80C9 + + + + 0x80CA + + + + 0x80CB + + + + 0x8001 + + + + 0x8002 + + + + 0x8003 + + + + 0x8004 + + + + 0x8005 + + + + 0x8892 + + + + 0x8893 + + + + 0x8894 + + + + 0x8895 + + + + 0x88E0 + + + + 0x88E4 + + + + 0x88E8 + + + + 0x8764 + + + + 0x8765 + + + + 0x8626 + + + + 0x0404 + + + + 0x0405 + + + + 0x0408 + + + + 0x0DE1 + + + + 0x0B44 + + + + 0x0BE2 + + + + 0x0BD0 + + + + 0x0B90 + + + + 0x0B71 + + + + 0x0C11 + + + + 0x8037 + + + + 0x809E + + + + 0x80A0 + + + + 0 + + + + 0x0500 + + + + 0x0501 + + + + 0x0502 + + + + 0x0505 + + + + 0x0900 + + + + 0x0901 + + + + 0x0B21 + + + + 0x846D + + + + 0x846E + + + + 0x0B45 + + + + 0x0B46 + + + + 0x0B70 + + + + 0x0B72 + + + + 0x0B73 + + + + 0x0B74 + + + + 0x0B91 + + + + 0x0B92 + + + + 0x0B94 + + + + 0x0B95 + + + + 0x0B96 + + + + 0x0B97 + + + + 0x0B93 + + + + 0x0B98 + + + + 0x8800 + + + + 0x8801 + + + + 0x8802 + + + + 0x8803 + + + + 0x8CA3 + + + + 0x8CA4 + + + + 0x8CA5 + + + + 0x0BA2 + + + + 0x0C10 + + + + 0x0C22 + + + + 0x0C23 + + + + 0x0CF5 + + + + 0x0D05 + + + + 0x0D33 + + + + 0x0D3A + + + + 0x0D50 + + + + 0x0D52 + + + + 0x0D53 + + + + 0x0D54 + + + + 0x0D55 + + + + 0x0D56 + + + + 0x0D57 + + + + 0x2A00 + + + + 0x8038 + + + + 0x8069 + + + + 0x80A8 + + + + 0x80A9 + + + + 0x80AA + + + + 0x80AB + + + + 0x86A2 + + + + 0x86A3 + + + + 0x1100 + + + + 0x1101 + + + + 0x1102 + + + + 0x8192 + + + + 0x1400 + + + + 0x1401 + + + + 0x1402 + + + + 0x1403 + + + + 0x1404 + + + + 0x1405 + + + + 0x1406 + + + + 0x0140C + + + + 0x1902 + + + + 0x1906 + + + + 0x1907 + + + + 0x1908 + + + + 0x1909 + + + + 0x190A + + + + 0x8033 + + + + 0x8034 + + + + 0x8363 + + + + 0x8B30 + + + + 0x8B31 + + + + 0x8869 + + + + 0x8DFB + + + + 0x8DFC + + + + 0x8B4D + + + + 0x8B4C + + + + 0x8872 + + + + 0x8DFD + + + + 0x8B4F + + + + 0x8B80 + + + + 0x8B82 + + + + 0x8B83 + + + + 0x8B85 + + + + 0x8B86 + + + + 0x8B87 + + + + 0x8B89 + + + + 0x8B8A + + + + 0x8B8C + + + + 0x8B8D + + + + 0x0200 + + + + 0x0201 + + + + 0x0202 + + + + 0x0203 + + + + 0x0204 + + + + 0x0205 + + + + 0x0206 + + + + 0x0207 + + + + 0x1E00 + + + + 0x1E01 + + + + 0x1E02 + + + + 0x1E03 + + + + 0x150A + + + + 0x8507 + + + + 0x8508 + + + + 0x1F00 + + + + 0x1F01 + + + + 0x1F02 + + + + 0x1F03 + + + + 0x2600 + + + + 0x2601 + + + + 0x2700 + + + + 0x2701 + + + + 0x2702 + + + + 0x2703 + + + + 0x2800 + + + + 0x2801 + + + + 0x2802 + + + + 0x2803 + + + + 0x1702 + + + + 0x8513 + + + + 0x8514 + + + + 0x8515 + + + + 0x8516 + + + + 0x8517 + + + + 0x8518 + + + + 0x8519 + + + + 0x851A + + + + 0x851C + + + + 0x84C0 + + + + 0x84C1 + + + + 0x84C2 + + + + 0x84C3 + + + + 0x84C4 + + + + 0x84C5 + + + + 0x84C6 + + + + 0x84C7 + + + + 0x84C8 + + + + 0x84C9 + + + + 0x84CA + + + + 0x84CB + + + + 0x84CC + + + + 0x84CD + + + + 0x84CE + + + + 0x84CF + + + + 0x84D0 + + + + 0x84D1 + + + + 0x84D2 + + + + 0x84D3 + + + + 0x84D4 + + + + 0x84D5 + + + + 0x84D6 + + + + 0x84D7 + + + + 0x84D8 + + + + 0x84D9 + + + + 0x84DA + + + + 0x84DB + + + + 0x84DC + + + + 0x84DD + + + + 0x84DE + + + + 0x84DF + + + + 0x84E0 + + + + 0x2901 + + + + 0x812F + + + + 0x8370 + + + + 0x8B50 + + + + 0x8B51 + + + + 0x8B52 + + + + 0x8B53 + + + + 0x8B54 + + + + 0x8B55 + + + + 0x8B56 + + + + 0x8B57 + + + + 0x8B58 + + + + 0x8B59 + + + + 0x8B5A + + + + 0x8B5B + + + + 0x8B5C + + + + 0x8B5E + + + + 0x8B60 + + + + 0x8622 + + + + 0x8623 + + + + 0x8624 + + + + 0x8625 + + + + 0x886A + + + + 0x8645 + + + + 0x889F + + + + 0x8B9A + + + + 0x8B9B + + + + 0x8642 + + + + 0x8861 + + + + 0x8B81 + + + + 0x8B84 + + + + 0x8B88 + + + + 0x8DFA + + + + 0x8DF8 + + + + 0x8DF9 + + + + 0x8DF0 + + + + 0x8DF1 + + + + 0x8DF2 + + + + 0x8DF3 + + + + 0x8DF4 + + + + 0x8DF5 + + + + 0x8D40 + + + + 0x8D41 + + + + 0x8056 + + + + 0x8057 + + + + 0x8D62 + + + + 0x81A5 + + + + 0x1901 + + + + 0x8D48 + + + + 0x84F9 + + + + 0x8D42 + + + + 0x8D43 + + + + 0x8D44 + + + + 0x8D50 + + + + 0x8D51 + + + + 0x8D52 + + + + 0x8D53 + + + + 0x8D54 + + + + 0x8D55 + + + + 0x8CD0 + + + + 0x8CD1 + + + + 0x8CD2 + + + + 0x8CD3 + + + + 0x8CE0 + + + + 0x8D00 + + + + 0x8D20 + + + + 0x821A + + + + 0 + + + + 0x8CD5 + + + + 0x8CD6 + + + + 0x8CD7 + + + + 0x8CD9 + + + + 0x8CDD + + + + 0x8CA6 + + + + 0x8CA7 + + + + 0x84E8 + + + + 0x0506 + + + + 0x9240 + + + + 0x9241 + + + + 0x9242 + + + + 0x9243 + + + + 0x9244 + + + + 0x0C02 + + + + 0x0CF2 + + + + 0x0CF3 + + + + 0x0CF4 + + + + 0x0D02 + + + + 0x0D03 + + + + 0x0D04 + + + + 0x806A + + + + 0x806D + + + + 0x806E + + + + 0x8073 + + + + 0x80E8 + + + + 0x80E9 + + + + 0x84FD + + + + 0x8B49 + + + + 0x8B4A + + + + 0x88FF + + + + 0x8904 + + + + 0x8905 + + + + 0x8B4B + + + + 0x8B8B + + + + 0x8C89 + + + + 0x85B5 + + + + 0x9122 + + + + 0x9125 + + + + 0x9111 + + + + 0x8D6B + + + + 0x1903 + + + + 0x8051 + + + + 0x8058 + + + + 0x8059 + + + + 0x806F + + + + 0x8072 + + + + 0x813A + + + + 0x813B + + + + 0x813C + + + + 0x813D + + + + 0x884C + + + + 0x884D + + + + 0x8C40 + + + + 0x8C41 + + + + 0x8C43 + + + + 0x884E + + + + 0x8814 + + + + 0x8815 + + + + 0x881A + + + + 0x881B + + + + 0x8C1A + + + + 0x8C1D + + + + 0x8C3A + + + + 0x8C3D + + + + 0x8D70 + + + + 0x8D71 + + + + 0x8D76 + + + + 0x8D77 + + + + 0x8D7C + + + + 0x8D7D + + + + 0x8D82 + + + + 0x8D83 + + + + 0x8D88 + + + + 0x8D89 + + + + 0x8D8E + + + + 0x8D8F + + + + 0x8D94 + + + + 0x8D98 + + + + 0x8D99 + + + + 0x8229 + + + + 0x822B + + + + 0x822D + + + + 0x822E + + + + 0x822F + + + + 0x8230 + + + + 0x8231 + + + + 0x8232 + + + + 0x8233 + + + + 0x8234 + + + + 0x8235 + + + + 0x8236 + + + + 0x8237 + + + + 0x8238 + + + + 0x8239 + + + + 0x823A + + + + 0x823B + + + + 0x823C + + + + 0x8F94 + + + + 0x8F95 + + + + 0x8F96 + + + + 0x8F97 + + + + 0x906F + + + + 0x912F + + + + 0x82DF + + + + 0x8368 + + + + 0x8C3B + + + + 0x8C3E + + + + 0x8DAD + + + + 0x84FA + + + + 0x140B + + + + 0x8227 + + + + 0x8228 + + + + 0x8D9F + + + + 0x8865 + + + + 0x8866 + + + + 0x8867 + + + + 0x8C2F + + + + 0x8D6A + + + + 0x8824 + + + + 0x8825 + + + + 0x8826 + + + + 0x8827 + + + + 0x8828 + + + + 0x8829 + + + + 0x882A + + + + 0x882B + + + + 0x882C + + + + 0x882D + + + + 0x882E + + + + 0x882F + + + + 0x8830 + + + + 0x8831 + + + + 0x8832 + + + + 0x8833 + + + + 0x8834 + + + + 0x8CDF + + + + 0x8CE1 + + + + 0x8CE2 + + + + 0x8CE3 + + + + 0x8CE4 + + + + 0x8CE5 + + + + 0x8CE6 + + + + 0x8CE7 + + + + 0x8CE8 + + + + 0x8CE9 + + + + 0x8CEA + + + + 0x8CEB + + + + 0x8CEC + + + + 0x8CED + + + + 0x8CEE + + + + 0x8CEF + + + + 0x8B5F + + + + 0x8B62 + + + + 0x8DC1 + + + + 0x8DC4 + + + + 0x8DC5 + + + + 0x8DCA + + + + 0x8DCB + + + + 0x8DCC + + + + 0x8DCF + + + + 0x8DD2 + + + + 0x8DD3 + + + + 0x8DD4 + + + + 0x8DD7 + + + + 0x8D57 + + + + 0x8919 + + + + 0x88EB + + + + 0x88EC + + + + 0x88ED + + + + 0x88EF + + + + 0x8F36 + + + + 0x8F37 + + + + 0x8F36 + + + + 0x8F37 + + + + 0x8B65 + + + + 0x8B66 + + + + 0x8B67 + + + + 0x8B68 + + + + 0x8B69 + + + + 0x8B6A + + + + 0x8DC6 + + + + 0x8DC7 + + + + 0x8DC8 + + + + 0x8C17 + + + + 0x8F9C + + + + 0x88FD + + + + 0x88FE + + + + 0x8C7F + + + + 0x8C80 + + + + 0x8C83 + + + + 0x8C84 + + + + 0x8C85 + + + + 0x8C88 + + + + 0x8C8A + + + + 0x8C8B + + + + 0x8C8C + + + + 0x8C8D + + + + 0x8C8E + + + + 0x8C8F + + + + 0x8E22 + + + + 0x8E23 + + + + 0x8E24 + + + + 0x8E25 + + + + 0x8210 + + + + 0x8211 + + + + 0x8212 + + + + 0x8213 + + + + 0x8214 + + + + 0x8215 + + + + 0x8216 + + + + 0x8217 + + + + 0x8218 + + + + 0x88F0 + + + + 0x8CA6 + + + + 0x8CA8 + + + + 0x8CA9 + + + + 0x8CAA + + + + 0x8CAB + + + + 0x8CD4 + + + + 0x8D56 + + + + 0x8A11 + + + + 0x8A28 + + + + 0x8A29 + + + + 0x8A2A + + + + 0x8A2B + + + + 0x8A2D + + + + 0x8A2E + + + + 0x8A2F + + + + 0x8A30 + + + + 0x8A31 + + + + 0x8A33 + + + + 0x8A34 + + + + 0x8A36 + + + + 0x8A37 + + + + 0x8A38 + + + + 0x8A3A + + + + 0x8A3B + + + + 0x8A3C + + + + 0x8A3D + + + + 0x8A3E + + + + 0x8A3F + + + + 0x8A40 + + + + 0x8A42 + + + + 0x8A43 + + + + 0x8A44 + + + + 0x8A46 + + + + 0x9112 + + + + 0x9113 + + + + 0x9114 + + + + 0x9115 + + + + 0x9116 + + + + 0x9117 + + + + 0x9118 + + + + 0x9119 + + + + 0x911A + + + + 0x911B + + + + 0x911C + + + + 0x911D + + + + 0x00000001 + + + + 0x1800 + + + + 0x1801 + + + + 0x1802 + + + + 0x8007 + + + + 0x8008 + + + + 0x81A6 + + + + 0x88E1 + + + + 0x88E2 + + + + 0x88E5 + + + + 0x88E6 + + + + 0x88E9 + + + + 0x88EA + + + + 0x8CAC + + + + 0x8CAD + + + + 0xFFFFFFFF + + + + -1 + + + + 0x9247 + + + + <__arrayBufferBinding> + <__elementBufferBinding> + <__contextID> + <__currentProgram> + <__framebufferBinding> + <__initialized> + <__isContextLost> + <__renderbufferBinding> + <__texture2DBinding> + <__textureCubeMapBinding> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + hide + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <__contextLost set="method" line="3278"> + <__createObject set="method" line="3291"> + + + + <__getObjectID set="method" line="3296"> + + + + <__initialize set="method" line="3302"> + + + + "tags=\"haxe,release\"" + + hide + lime.ui.Window + lime._internal.backend.native.NativeCFFI + lime.graphics.opengl + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + lime._internal.backend.native.NativeCFFI + lime._internal.backend.native.NativeOpenGLRenderContext + lime.app.Application + lime.graphics.cairo.Cairo + lime.graphics.opengl.GL + lime.graphics.OpenGLRenderContext + lime.graphics.RenderContext + lime.system.DisplayMode + lime.ui.Window + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + cast 6 + + + + + + + + cast 7 + + + + + + + + cast 8 + + + + + + + + cast 9 + + + + + + + + cast 10 + + + + + + + + cast 11 + + + + + + + + cast 12 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + cast 6 + + + + + + + + cast 7 + + + + + + + + cast 8 + + + + + + + + cast 9 + + + + + + + + cast 10 + + + + + + + + cast 11 + + + + + + + + cast 12 + + + + + + + + + + + + + + cast 0x00000001 + + + + + + + + cast 0x00000002 + + + + + + + + cast 0x00000004 + + + + + + + + cast 0x00000008 + + + + + + + + cast 0x00000010 + + + + + + + + cast 0x00000020 + + + + + + + + cast 0x00000060 + + + + + + + + cast 0x00000080 + + + + + + + + cast 0x00000100 + + + + + + + + cast 0x00000200 + + + + + + + + cast 0x00000400 + + + + + + + + cast 0x00000800 + + + + + + + + cast 0x00001000 + + + + + + + + cast 0x00002000 + + + + + + + + cast 0x00004000 + + + + + + + + cast 0x00008000 + + + + + + + + cast 0x00010000 + + + + + + + + + + + + cast 0x00000001 + + + + + + + + cast 0x00000002 + + + + + + + + cast 0x00000004 + + + + + + + + cast 0x00000008 + + + + + + + + cast 0x00000010 + + + + + + + + cast 0x00000020 + + + + + + + + cast 0x00000060 + + + + + + + + cast 0x00000080 + + + + + + + + cast 0x00000100 + + + + + + + + cast 0x00000200 + + + + + + + + cast 0x00000400 + + + + + + + + cast 0x00000800 + + + + + + + + cast 0x00001000 + + + + + + + + cast 0x00002000 + + + + + + + + cast 0x00004000 + + + + + + + + cast 0x00008000 + + + + + + + + cast 0x00010000 + + + + + + + + + + + + + + { type : null } + + + + "tags=\"haxe,release\"" + + + + + + + + + + + + + + + + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("") + + + + (); + for (a in DICTIONARY) { + for (b in DICTIONARY) { + result.push(a + b); + }; + }; + result; +}]]> + + + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + lime._internal.backend.native.NativeCFFI + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + lime._internal.backend.native.NativeCFFI + + + + + + + + + + { decodeData : true } + + + + + + + + { decodeData : true } + + + + + + + + + "tags=\"haxe,release\"" + + lime._internal.backend.native.NativeCFFI + lime.graphics.ImageBuffer + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + lime._internal.backend.native.NativeCFFI + + + + + + + + + + { decodeData : true } + + + + + + + + { decodeData : true } + + + + + + + + "tags=\"haxe,release\"" + + lime._internal.backend.native.NativeCFFI + lime.graphics.ImageBuffer + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + lime._internal.backend.native.NativeCFFI + + + + + + + + + + + + + + + + { clear : false } + + + + + + + + { clear : false } + + + + + + + + + + + + + + + + + + + + + + { mergeAlpha : false, alphaPoint : null, alphaImage : null } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lime.graphics.ImageBuffer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { mergeAlpha : false, alphaPoint : null, alphaImage : null } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { color : null, strength : 1, quality : 1, blurY : 4, blurX : 4 } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <__boxBlur set="method" line="1432" static="1"> + + + + + + + + + <__boxBlurH get="inline" set="null" line="1452" static="1"> + + + + + + + + + <__boxBlurT get="inline" set="null" line="1499" static="1"> + + + + + + + + + <__calculateSourceOffset get="inline" set="null" line="1551" static="1"> + + + + + + + + * Returns: the offset for translated coordinate in the source image or -1 if the source the coordinate out of the source or destination bounds + * Note: destX and destY should be valid coordinates + + <__getBoxesForGaussianBlur set="method" line="1570" static="1"> + + + + + <__pixelCompare get="inline" set="null" line="1589" static="1"> + + + + + <__translatePixel get="inline" set="null" line="1638" static="1"> + + + + + + + + + + + + "tags=\"haxe,release\"" + + lime._internal.backend.native.NativeCFFI + lime.graphics.ImageBuffer + lime.math.RGBA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <__update set="method" line="1742"> + + + + + + + { rect : null } + + + + + + + + + + hide + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + + + [1, 171, 205, 293, 57, 373, 79, 137, 241, 27, 391, 357, 41, 19, 283, 265, 497, 469, 443, 421, 25, 191, 365, 349, 335, 161, 155, 149, 9, 278, 269, 261, 505, 245, 475, 231, 449, 437, 213, 415, 405, 395, 193, 377, 369, 361, 353, 345, 169, 331, 325, 319, 313, 307, 301, 37, 145, 285, 281, 69, 271, 267, 263, 259, 509, 501, 493, 243, 479, 118, 465, 459, 113, 446, 55, 435, 429, 423, 209, 413, 51, 403, 199, 393, 97, 3, 379, 375, 371, 367, 363, 359, 355, 351, 347, 43, 85, 337, 333, 165, 327, 323, 5, 317, 157, 311, 77, 305, 303, 75, 297, 294, 73, 289, 287, 71, 141, 279, 277, 275, 68, 135, 67, 133, 33, 262, 260, 129, 511, 507, 503, 499, 495, 491, 61, 121, 481, 477, 237, 235, 467, 232, 115, 457, 227, 451, 7, 445, 221, 439, 218, 433, 215, 427, 425, 211, 419, 417, 207, 411, 409, 203, 202, 401, 399, 396, 197, 49, 389, 387, 385, 383, 95, 189, 47, 187, 93, 185, 23, 183, 91, 181, 45, 179, 89, 177, 11, 175, 87, 173, 345, 343, 341, 339, 337, 21, 167, 83, 331, 329, 327, 163, 81, 323, 321, 319, 159, 79, 315, 313, 39, 155, 309, 307, 153, 305, 303, 151, 75, 299, 149, 37, 295, 147, 73, 291, 145, 289, 287, 143, 285, 71, 141, 281, 35, 279, 139, 69, 275, 137, 273, 17, 271, 135, 269, 267, 133, 265, 33, 263, 131, 261, 130, 259, 129, 257, 1] + + + + [0, 9, 10, 11, 9, 12, 10, 11, 12, 9, 13, 13, 10, 9, 13, 13, 14, 14, 14, 14, 10, 13, 14, 14, 14, 13, 13, 13, 9, 14, 14, 14, 15, 14, 15, 14, 15, 15, 14, 15, 15, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 15, 15, 15, 12, 14, 15, 15, 13, 15, 15, 15, 15, 16, 16, 16, 15, 16, 14, 16, 16, 14, 16, 13, 16, 16, 16, 15, 16, 13, 16, 15, 16, 14, 9, 16, 16, 16, 16, 16, 16, 16, 16, 16, 13, 14, 16, 16, 15, 16, 16, 10, 16, 15, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 14, 15, 16, 16, 16, 14, 15, 14, 15, 13, 16, 16, 15, 17, 17, 17, 17, 17, 17, 14, 15, 17, 17, 16, 16, 17, 16, 15, 17, 16, 17, 11, 17, 16, 17, 16, 17, 16, 17, 17, 16, 17, 17, 16, 17, 17, 16, 16, 17, 17, 17, 16, 14, 17, 17, 17, 17, 15, 16, 14, 16, 15, 16, 13, 16, 15, 16, 14, 16, 15, 16, 12, 16, 15, 16, 17, 17, 17, 17, 17, 13, 16, 15, 17, 17, 17, 16, 15, 17, 17, 17, 16, 15, 17, 17, 14, 16, 17, 17, 16, 17, 17, 16, 15, 17, 16, 14, 17, 16, 15, 17, 16, 17, 17, 16, 17, 15, 16, 17, 14, 17, 16, 15, 17, 16, 17, 13, 17, 16, 17, 17, 16, 17, 14, 17, 16, 17, 16, 17, 16, 17, 9] + + + + + + + + + + + + <__stackBlurCanvasRGBA set="method" line="38" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + Whether the event was canceled during the previous dispatch + + <__listeners public="1"> + + + + hide + + + <__repeat public="1"> + + + + hide + + + <__priorities> + + + + + + + + + + + { priority : 0, once : false } + Adds a new event listener + @param listener A callback that matches the signature of the event + @param once Whether to receive an event dispatch only once, or each time it is fired + @param priority The priority for this listener, a higher priority will be dispatched sooner + + + + Marks the event as canceled, and stops the current event dispatch + + + + Int->Void` will create a `dispatch` method that + takes two `Int` arguments, like `dispatch (1, 2);`]]> + + + + + + + Checks whether a callback is a listener to this event + @param listener A callback that matches the signature of the event + @return Whether the callback is a listener + + + + + + + Removes an event listener + @param listener A callback that matches the signature of the event + + + + Removes all event listeners + + + + Creates a new Event instance + + Void> (); + event.add (function (value:Int):Void { trace (value); }); + event.dispatch (100); + + var event = new EventVoid> (); + event.add (function () { trace ("callback"); }); + event.dispatch (); + ```]]> + + lime._internal.macros.EventMacro.build() + "tags=\"haxe,release\"" + + + + + + + + + + + + + + + + + + + + + + { onProgress : null, onError : null } + Create a new `Future` instance based on complete and (optionally) error and/or progress `Event` instances + + + + + + + Creates a `Future` instance which has finished with an error value + @param error The error value to set + @return A new `Future` instance + + + + + + + Creates a `Future` instance which has finished with a completion value + @param error The completion value to set + @return A new `Future` instance + + + + If the `Future` has finished with an error state, the `error` value + + + + Whether the `Future` finished with a completion state + + + + Whether the `Future` finished with an error state + + + + If the `Future` has finished with a completion state, the completion `value` + + <__completeListeners> + + + + + + + <__errorListeners> + + + + + + + <__progressListeners> + + + + + + + + + + + + + + + + Register a listener for when the `Future` completes. + + If the `Future` has already completed, this is called immediately with the result + @param listener A callback method to receive the result value + @return The current `Future` + + + + + + + + + + Register a listener for when the `Future` ends with an error state. + + If the `Future` has already ended with an error, this is called immediately with the error value + @param listener A callback method to receive the error value + @return The current `Future` + + + + + + + + + + + Register a listener for when the `Future` updates progress. + + If the `Future` is already completed, this will not be called. + @param listener A callback method to receive the progress value + @return The current `Future` + + + + + + + { waitTime : -1 } + Attempts to block on an asynchronous `Future`, returning when it is completed. + @param waitTime (Optional) A timeout before this call will stop blocking + @return This current `Future` + + + + + + + { waitTime : -1 } + Attempts to block on an asynchronous `Future`, returning the completion value when it is finished. + @param waitTime (Optional) A timeout before this call will stop blocking + @return The completion value, or `null` if the request timed out or blocking is not possible + + + + + + + + + + Chains two `Future` instances together, passing the result from the first + as input for creating/returning a new `Future` instance of a new or the same type + + + + + + + + { async : false, work : null } + Create a new `Future` instance + @param work (Optional) A function to execute + @param async (Optional) If a function is specified, whether to execute it asynchronously where supported + + `Future` is an implementation of Futures and Promises, with the exception that + in addition to "success" and "failure" states (represented as "complete" and "error"), + Lime `Future` introduces "progress" feedback as well to increase the value of + `Future` values. + + ```haxe + var future = Image.loadFromFile ("image.png"); + future.onComplete (function (image) { trace ("Image loaded"); }); + future.onProgress (function (loaded, total) { trace ("Loading: " + loaded + ", " + total); }); + future.onError (function (error) { trace (error); }); + + Image.loadFromFile ("image.png").then (function (image) { + + return Future.withValue (image.width); + + }).onComplete (function (width) { trace (width); }) + ``` + + `Future` values can be chained together for asynchronous processing of values. + + If an error occurs earlier in the chain, the error is propagated to all `onError` callbacks. + + `Future` will call `onComplete` callbacks, even if completion occurred before registering the + callback. This resolves race conditions, so even functions that return immediately can return + values using `Future`. + + `Future` values are meant to be immutable, if you wish to update a `Future`, you should create one + using a `Promise`, and use the `Promise` interface to influence the error, complete or progress state + of a `Future`. + + + "tags=\"haxe,release\"" + + lime.app.Promise + + + + + + + + + + { state : null } + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + hide + + + + + + The `Future` associated with this `Promise`. + + All subsequent calls to set an error, completion or progress state + will update the status and notify listeners to this `Future` + + + + Whether the `Promise` (and related `Future`) has finished with a completion state. + This will be `false` if the `Promise` has not been resolved with a completion or error state. + + + + Whether the `Promise` (and related `Future`) has finished with an error state. + This will be `false` if the `Promise` has not been resolved with a completion or error state. + + + + + + + Resolves this `Promise` with a completion state + @param data The completion value + @return The current `Promise` + + + + + + + Resolves this `Promise` with the complete, error and/or progress state + of another `Future` + @param future The `Future` to use to resolve this `Promise` + @return The current `Promise` + + + + + + + Resolves this `Promise` with an error state + @param msg The error value + @return The current `Promise` + + + + + + + + Sends progress updates to the related `Future` + @param progress A progress value + @param total A total value. This should be equal or greater to the `progress` value + @return The current `Promise` + + + + + + + + + + + + Create a new `Promise` instance + + { + + var promise = new Promise (); + + var progress = 0, total = 10; + var timer = new Timer (100); + timer.run = function () { + + promise.progress (progress, total); + progress++; + + if (progress == total) { + + promise.complete ("Done!"); + timer.stop (); + + } + + }; + + return promise.future; + + } + + var future = examplePromise (); + future.onComplete (function (message) { trace (message); }); + future.onProgress (function (loaded, total) { trace ("Progress: " + loaded + ", " + total); }); + ```]]> + + + "tags=\"haxe,release\"" + + lime.app.Future + + + + + + + Whether the event was canceled during the previous dispatch + + <__repeat public="1"> + + + + hide + + + <__priorities> + + + + + + + + + + + { priority : 0, once : false } + Adds a new event listener + @param listener A callback that matches the signature of the event + @param once Whether to receive an event dispatch only once, or each time it is fired + @param priority The priority for this listener, a higher priority will be dispatched sooner + + + + Marks the event as canceled, and stops the current event dispatch + + + + + + + Checks whether a callback is a listener to this event + @param listener A callback that matches the signature of the event + @return Whether the callback is a listener + + + + + + + Removes an event listener + @param listener A callback that matches the signature of the event + + + + Removes all event listeners + + <__listeners public="1"> + + + + + + + + + + Creates a new Event instance + + + + hide + + "tags=\"haxe,release\"" + + + + + + + Whether the event was canceled during the previous dispatch + + <__repeat public="1"> + + + + hide + + + <__priorities> + + + + + + + + + + + { priority : 0, once : false } + Adds a new event listener + @param listener A callback that matches the signature of the event + @param once Whether to receive an event dispatch only once, or each time it is fired + @param priority The priority for this listener, a higher priority will be dispatched sooner + + + + Marks the event as canceled, and stops the current event dispatch + + + + + + + Checks whether a callback is a listener to this event + @param listener A callback that matches the signature of the event + @return Whether the callback is a listener + + + + + + + Removes an event listener + @param listener A callback that matches the signature of the event + + + + Removes all event listeners + + <__listeners public="1"> + + + + + + + + + + Creates a new Event instance + + + + hide + + "tags=\"haxe,release\"" + + + + + + + Whether the event was canceled during the previous dispatch + + <__repeat public="1"> + + + + hide + + + <__priorities> + + + + + + + + + + + { priority : 0, once : false } + Adds a new event listener + @param listener A callback that matches the signature of the event + @param once Whether to receive an event dispatch only once, or each time it is fired + @param priority The priority for this listener, a higher priority will be dispatched sooner + + + + Marks the event as canceled, and stops the current event dispatch + + + + + + + Checks whether a callback is a listener to this event + @param listener A callback that matches the signature of the event + @return Whether the callback is a listener + + + + + + + Removes an event listener + @param listener A callback that matches the signature of the event + + + + Removes all event listeners + + <__listeners public="1"> + + + + + + + + + + + + + + Creates a new Event instance + + + + hide + + "tags=\"haxe,release\"" + + + + + + + Whether the event was canceled during the previous dispatch + + <__repeat public="1"> + + + + hide + + + <__priorities> + + + + + + + + + + + { priority : 0, once : false } + Adds a new event listener + @param listener A callback that matches the signature of the event + @param once Whether to receive an event dispatch only once, or each time it is fired + @param priority The priority for this listener, a higher priority will be dispatched sooner + + + + Marks the event as canceled, and stops the current event dispatch + + + + + + + Checks whether a callback is a listener to this event + @param listener A callback that matches the signature of the event + @return Whether the callback is a listener + + + + + + + Removes an event listener + @param listener A callback that matches the signature of the event + + + + Removes all event listeners + + <__listeners public="1"> + + + + + + + + + + + + + + Creates a new Event instance + + + + hide + + "tags=\"haxe,release\"" + + + + + + + Whether the event was canceled during the previous dispatch + + <__repeat public="1"> + + + + hide + + + <__priorities> + + + + + + + + + + + { priority : 0, once : false } + Adds a new event listener + @param listener A callback that matches the signature of the event + @param once Whether to receive an event dispatch only once, or each time it is fired + @param priority The priority for this listener, a higher priority will be dispatched sooner + + + + Marks the event as canceled, and stops the current event dispatch + + + + + + + Checks whether a callback is a listener to this event + @param listener A callback that matches the signature of the event + @return Whether the callback is a listener + + + + + + + Removes an event listener + @param listener A callback that matches the signature of the event + + + + Removes all event listeners + + <__listeners public="1"> + + + + + + + + + + + + Creates a new Event instance + + + + hide + + "tags=\"haxe,release\"" + + + + + + + Whether the event was canceled during the previous dispatch + + <__repeat public="1"> + + + + hide + + + <__priorities> + + + + + + + + + + + { priority : 0, once : false } + Adds a new event listener + @param listener A callback that matches the signature of the event + @param once Whether to receive an event dispatch only once, or each time it is fired + @param priority The priority for this listener, a higher priority will be dispatched sooner + + + + Marks the event as canceled, and stops the current event dispatch + + + + + + + Checks whether a callback is a listener to this event + @param listener A callback that matches the signature of the event + @return Whether the callback is a listener + + + + + + + Removes an event listener + @param listener A callback that matches the signature of the event + + + + Removes all event listeners + + <__listeners public="1"> + + + + + + + + + + + + + + Creates a new Event instance + + + + hide + + "tags=\"haxe,release\"" + + + + + + + Whether the event was canceled during the previous dispatch + + <__repeat public="1"> + + + + hide + + + <__priorities> + + + + + + + + + + + { priority : 0, once : false } + Adds a new event listener + @param listener A callback that matches the signature of the event + @param once Whether to receive an event dispatch only once, or each time it is fired + @param priority The priority for this listener, a higher priority will be dispatched sooner + + + + Marks the event as canceled, and stops the current event dispatch + + + + + + + Checks whether a callback is a listener to this event + @param listener A callback that matches the signature of the event + @return Whether the callback is a listener + + + + + + + Removes an event listener + @param listener A callback that matches the signature of the event + + + + Removes all event listeners + + <__listeners public="1"> + + + + + + + + + + + + + + Creates a new Event instance + + + + hide + + "tags=\"haxe,release\"" + + + + + + + Whether the event was canceled during the previous dispatch + + <__repeat public="1"> + + + + hide + + + <__priorities> + + + + + + + + + + + { priority : 0, once : false } + Adds a new event listener + @param listener A callback that matches the signature of the event + @param once Whether to receive an event dispatch only once, or each time it is fired + @param priority The priority for this listener, a higher priority will be dispatched sooner + + + + Marks the event as canceled, and stops the current event dispatch + + + + + + + Checks whether a callback is a listener to this event + @param listener A callback that matches the signature of the event + @return Whether the callback is a listener + + + + + + + Removes an event listener + @param listener A callback that matches the signature of the event + + + + Removes all event listeners + + <__listeners public="1"> + + + + + + + + + + + + + + Creates a new Event instance + + + + hide + + "tags=\"haxe,release\"" + + + + + + + Whether the event was canceled during the previous dispatch + + <__repeat public="1"> + + + + hide + + + <__priorities> + + + + + + + + + + + { priority : 0, once : false } + Adds a new event listener + @param listener A callback that matches the signature of the event + @param once Whether to receive an event dispatch only once, or each time it is fired + @param priority The priority for this listener, a higher priority will be dispatched sooner + + + + Marks the event as canceled, and stops the current event dispatch + + + + + + + Checks whether a callback is a listener to this event + @param listener A callback that matches the signature of the event + @return Whether the callback is a listener + + + + + + + Removes an event listener + @param listener A callback that matches the signature of the event + + + + Removes all event listeners + + <__listeners public="1"> + + + + + + + + + + + + Creates a new Event instance + + + + hide + + "tags=\"haxe,release\"" + + + + + + + Whether the event was canceled during the previous dispatch + + <__repeat public="1"> + + + + hide + + + <__priorities> + + + + + + + + + + + { priority : 0, once : false } + Adds a new event listener + @param listener A callback that matches the signature of the event + @param once Whether to receive an event dispatch only once, or each time it is fired + @param priority The priority for this listener, a higher priority will be dispatched sooner + + + + Marks the event as canceled, and stops the current event dispatch + + + + + + + Checks whether a callback is a listener to this event + @param listener A callback that matches the signature of the event + @return Whether the callback is a listener + + + + + + + Removes an event listener + @param listener A callback that matches the signature of the event + + + + Removes all event listeners + + <__listeners public="1"> + + + + + + + + + + + + Creates a new Event instance + + + + hide + + "tags=\"haxe,release\"" + + + + + + + Whether the event was canceled during the previous dispatch + + <__repeat public="1"> + + + + hide + + + <__priorities> + + + + + + + + + + + { priority : 0, once : false } + Adds a new event listener + @param listener A callback that matches the signature of the event + @param once Whether to receive an event dispatch only once, or each time it is fired + @param priority The priority for this listener, a higher priority will be dispatched sooner + + + + Marks the event as canceled, and stops the current event dispatch + + + + + + + Checks whether a callback is a listener to this event + @param listener A callback that matches the signature of the event + @return Whether the callback is a listener + + + + + + + Removes an event listener + @param listener A callback that matches the signature of the event + + + + Removes all event listeners + + <__listeners public="1"> + + + + + + + + + + Creates a new Event instance + + + + hide + + "tags=\"haxe,release\"" + + + + + + + Whether the event was canceled during the previous dispatch + + <__repeat public="1"> + + + + hide + + + <__priorities> + + + + + + + + + + + { priority : 0, once : false } + Adds a new event listener + @param listener A callback that matches the signature of the event + @param once Whether to receive an event dispatch only once, or each time it is fired + @param priority The priority for this listener, a higher priority will be dispatched sooner + + + + Marks the event as canceled, and stops the current event dispatch + + + + + + + Checks whether a callback is a listener to this event + @param listener A callback that matches the signature of the event + @return Whether the callback is a listener + + + + + + + Removes an event listener + @param listener A callback that matches the signature of the event + + + + Removes all event listeners + + <__listeners public="1"> + + + + + + + + + + + + Creates a new Event instance + + + + hide + + "tags=\"haxe,release\"" + + + + + + + Whether the event was canceled during the previous dispatch + + <__repeat public="1"> + + + + hide + + + <__priorities> + + + + + + + + + + + { priority : 0, once : false } + Adds a new event listener + @param listener A callback that matches the signature of the event + @param once Whether to receive an event dispatch only once, or each time it is fired + @param priority The priority for this listener, a higher priority will be dispatched sooner + + + + Marks the event as canceled, and stops the current event dispatch + + + + + + + Checks whether a callback is a listener to this event + @param listener A callback that matches the signature of the event + @return Whether the callback is a listener + + + + + + + Removes an event listener + @param listener A callback that matches the signature of the event + + + + Removes all event listeners + + <__listeners public="1"> + + + + + + + + + + + + + + Creates a new Event instance + + + + hide + + "tags=\"haxe,release\"" + + + + + + + Whether the event was canceled during the previous dispatch + + <__repeat public="1"> + + + + hide + + + <__priorities> + + + + + + + + + + + { priority : 0, once : false } + Adds a new event listener + @param listener A callback that matches the signature of the event + @param once Whether to receive an event dispatch only once, or each time it is fired + @param priority The priority for this listener, a higher priority will be dispatched sooner + + + + Marks the event as canceled, and stops the current event dispatch + + + + + + + Checks whether a callback is a listener to this event + @param listener A callback that matches the signature of the event + @return Whether the callback is a listener + + + + + + + Removes an event listener + @param listener A callback that matches the signature of the event + + + + Removes all event listeners + + <__listeners public="1"> + + + + + + + + + + Creates a new Event instance + + + + hide + + "tags=\"haxe,release\"" + + + + + + + Whether the event was canceled during the previous dispatch + + <__repeat public="1"> + + + + hide + + + <__priorities> + + + + + + + + + + + { priority : 0, once : false } + Adds a new event listener + @param listener A callback that matches the signature of the event + @param once Whether to receive an event dispatch only once, or each time it is fired + @param priority The priority for this listener, a higher priority will be dispatched sooner + + + + Marks the event as canceled, and stops the current event dispatch + + + + + + + Checks whether a callback is a listener to this event + @param listener A callback that matches the signature of the event + @return Whether the callback is a listener + + + + + + + Removes an event listener + @param listener A callback that matches the signature of the event + + + + Removes all event listeners + + <__listeners public="1"> + + + + Creates a new Event instance + + + + hide + + "tags=\"haxe,release\"" + + + + + + + Whether the event was canceled during the previous dispatch + + <__repeat public="1"> + + + + hide + + + <__priorities> + + + + + + + + + + + { priority : 0, once : false } + Adds a new event listener + @param listener A callback that matches the signature of the event + @param once Whether to receive an event dispatch only once, or each time it is fired + @param priority The priority for this listener, a higher priority will be dispatched sooner + + + + Marks the event as canceled, and stops the current event dispatch + + + + + + + Checks whether a callback is a listener to this event + @param listener A callback that matches the signature of the event + @return Whether the callback is a listener + + + + + + + Removes an event listener + @param listener A callback that matches the signature of the event + + + + Removes all event listeners + + <__listeners public="1"> + + + + + + + + + + Creates a new Event instance + + + + hide + + "tags=\"haxe,release\"" + + + + + + + Whether the event was canceled during the previous dispatch + + <__repeat public="1"> + + + + hide + + + <__priorities> + + + + + + + + + + + { priority : 0, once : false } + Adds a new event listener + @param listener A callback that matches the signature of the event + @param once Whether to receive an event dispatch only once, or each time it is fired + @param priority The priority for this listener, a higher priority will be dispatched sooner + + + + Marks the event as canceled, and stops the current event dispatch + + + + + + + Checks whether a callback is a listener to this event + @param listener A callback that matches the signature of the event + @return Whether the callback is a listener + + + + + + + Removes an event listener + @param listener A callback that matches the signature of the event + + + + Removes all event listeners + + <__listeners public="1"> + + + + + + + + + + + + Creates a new Event instance + + + + hide + + "tags=\"haxe,release\"" + + + + + + + Whether the event was canceled during the previous dispatch + + <__repeat public="1"> + + + + hide + + + <__priorities> + + + + + + + + + + + { priority : 0, once : false } + Adds a new event listener + @param listener A callback that matches the signature of the event + @param once Whether to receive an event dispatch only once, or each time it is fired + @param priority The priority for this listener, a higher priority will be dispatched sooner + + + + Marks the event as canceled, and stops the current event dispatch + + + + + + + Checks whether a callback is a listener to this event + @param listener A callback that matches the signature of the event + @return Whether the callback is a listener + + + + + + + Removes an event listener + @param listener A callback that matches the signature of the event + + + + Removes all event listeners + + <__listeners public="1"> + + + + + + + + + + Creates a new Event instance + + + + hide + + "tags=\"haxe,release\"" + + + + + + + Whether the event was canceled during the previous dispatch + + <__repeat public="1"> + + + + hide + + + <__priorities> + + + + + + + + + + + { priority : 0, once : false } + Adds a new event listener + @param listener A callback that matches the signature of the event + @param once Whether to receive an event dispatch only once, or each time it is fired + @param priority The priority for this listener, a higher priority will be dispatched sooner + + + + Marks the event as canceled, and stops the current event dispatch + + + + + + + Checks whether a callback is a listener to this event + @param listener A callback that matches the signature of the event + @return Whether the callback is a listener + + + + + + + Removes an event listener + @param listener A callback that matches the signature of the event + + + + Removes all event listeners + + <__listeners public="1"> + + + + + + + + + + Creates a new Event instance + + + + hide + + "tags=\"haxe,release\"" + + + + + + + Whether the event was canceled during the previous dispatch + + <__repeat public="1"> + + + + hide + + + <__priorities> + + + + + + + + + + + { priority : 0, once : false } + Adds a new event listener + @param listener A callback that matches the signature of the event + @param once Whether to receive an event dispatch only once, or each time it is fired + @param priority The priority for this listener, a higher priority will be dispatched sooner + + + + Marks the event as canceled, and stops the current event dispatch + + + + + + + Checks whether a callback is a listener to this event + @param listener A callback that matches the signature of the event + @return Whether the callback is a listener + + + + + + + Removes an event listener + @param listener A callback that matches the signature of the event + + + + Removes all event listeners + + <__listeners public="1"> + + + + + + + + + + Creates a new Event instance + + + + hide + + "tags=\"haxe,release\"" + + + + + + + Whether the event was canceled during the previous dispatch + + <__repeat public="1"> + + + + hide + + + <__priorities> + + + + + + + + + + + { priority : 0, once : false } + Adds a new event listener + @param listener A callback that matches the signature of the event + @param once Whether to receive an event dispatch only once, or each time it is fired + @param priority The priority for this listener, a higher priority will be dispatched sooner + + + + Marks the event as canceled, and stops the current event dispatch + + + + + + + Checks whether a callback is a listener to this event + @param listener A callback that matches the signature of the event + @return Whether the callback is a listener + + + + + + + Removes an event listener + @param listener A callback that matches the signature of the event + + + + Removes all event listeners + + <__listeners public="1"> + + + + + + + + + + + + Creates a new Event instance + + + + hide + + "tags=\"haxe,release\"" + + + + + + + Whether the event was canceled during the previous dispatch + + <__repeat public="1"> + + + + hide + + + <__priorities> + + + + + + + + + + + { priority : 0, once : false } + Adds a new event listener + @param listener A callback that matches the signature of the event + @param once Whether to receive an event dispatch only once, or each time it is fired + @param priority The priority for this listener, a higher priority will be dispatched sooner + + + + Marks the event as canceled, and stops the current event dispatch + + + + + + + Checks whether a callback is a listener to this event + @param listener A callback that matches the signature of the event + @return Whether the callback is a listener + + + + + + + Removes an event listener + @param listener A callback that matches the signature of the event + + + + Removes all event listeners + + <__listeners public="1"> + + + + + + + + + + Creates a new Event instance + + + + hide + + "tags=\"haxe,release\"" + + + + + + + Whether the event was canceled during the previous dispatch + + <__repeat public="1"> + + + + hide + + + <__priorities> + + + + + + + + + + + { priority : 0, once : false } + Adds a new event listener + @param listener A callback that matches the signature of the event + @param once Whether to receive an event dispatch only once, or each time it is fired + @param priority The priority for this listener, a higher priority will be dispatched sooner + + + + Marks the event as canceled, and stops the current event dispatch + + + + + + + Checks whether a callback is a listener to this event + @param listener A callback that matches the signature of the event + @return Whether the callback is a listener + + + + + + + Removes an event listener + @param listener A callback that matches the signature of the event + + + + Removes all event listeners + + <__listeners public="1"> + + + + + + + + + + Creates a new Event instance + + + + hide + + "tags=\"haxe,release\"" + + + + + + + Whether the event was canceled during the previous dispatch + + <__repeat public="1"> + + + + hide + + + <__priorities> + + + + + + + + + + + { priority : 0, once : false } + Adds a new event listener + @param listener A callback that matches the signature of the event + @param once Whether to receive an event dispatch only once, or each time it is fired + @param priority The priority for this listener, a higher priority will be dispatched sooner + + + + Marks the event as canceled, and stops the current event dispatch + + + + + + + Checks whether a callback is a listener to this event + @param listener A callback that matches the signature of the event + @return Whether the callback is a listener + + + + + + + Removes an event listener + @param listener A callback that matches the signature of the event + + + + Removes all event listeners + + <__listeners public="1"> + + + + + + + + + + Creates a new Event instance + + + + hide + + "tags=\"haxe,release\"" + + + + + + + Whether the event was canceled during the previous dispatch + + <__repeat public="1"> + + + + hide + + + <__priorities> + + + + + + + + + + + { priority : 0, once : false } + Adds a new event listener + @param listener A callback that matches the signature of the event + @param once Whether to receive an event dispatch only once, or each time it is fired + @param priority The priority for this listener, a higher priority will be dispatched sooner + + + + Marks the event as canceled, and stops the current event dispatch + + + + + + + Checks whether a callback is a listener to this event + @param listener A callback that matches the signature of the event + @return Whether the callback is a listener + + + + + + + Removes an event listener + @param listener A callback that matches the signature of the event + + + + Removes all event listeners + + <__listeners public="1"> + + + + + + + + + + Creates a new Event instance + + + hide + + "tags=\"haxe,release\"" + + + + + + + + + + + The `CairoRenderContext` represents the primary `lime.graphics.Cairo` instance when Cairo + is the render context type of the `Window`. + + You can convert from `lime.graphics.RenderContext` to `CairoRenderContext` directly + if desired: + + ```haxe + var cairo:CairoRenderContext = window.context; + ``` + + lime.graphics.RenderContext + + + + + + + + + + + + lime.graphics.RenderContext + + + + + + + + + + + lime.graphics.RenderContext + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The number of bits per pixel in this image data + + + + The data for this image, represented as a `UInt8Array` + + + + The `PixelFormat` for this image data + + + + The height of this image data + + + + Whether the image data has premultiplied alpha + + + + The data for this image, represented as a `js.html.CanvasElement`, `js.html.Image` or `flash.display.BitmapData` + + + + The stride, or number of data values (in bytes) per row in the image data + + + + Whether this image data is transparent + + + + The width of this image data + + <__srcBitmapData> + + + + <__srcCanvas> + + + + <__srcContext> + + + + <__srcCustom> + + + + <__srcImage> + + + + <__srcImageData> + + + + + + Creates a duplicate of this `ImageBuffer` + + If the current `ImageBuffer` has `data` or `src` information, this will be + cloned as well. + @return A new `ImageBuffer` with duplicate values + + + + + + + + + + + + + + + + + + + + + + + + + + { format : null, bitsPerPixel : 32, height : 0, width : 0, data : null } + Creates a new `ImageBuffer` instance + @param data (Optional) Initial `UInt8Array` data + @param width (Optional) An initial `width` value + @param height (Optional) An initial `height` value + @param bitsPerPixel (Optional) The `bitsPerPixel` of the data (default is 32) + @param format (Optional) The `PixelFormat` of this image buffer + + `ImageBuffer` is a simple object for storing image data. + + For higher-level operations, use the `Image` class. + + + "tags=\"haxe,release\"" + + lime.graphics.Image + + + + The red color channel + The green color channel + The blue color channel + The alpha color channel + An enum with values for standard image color channels + + + + + + + An image file encoded in the BMP file format + An image file encoded in the JPEG file format + An image file encoded in the PNG file format + An enum with values for image encoding formats + + + + + + + The source image data is stored in a `js.html.Image` or `js.html.CanvasElement` + The source image data is stored in a `UInt8Array` + The source image data is stored in a `flash.display.BitmapData` + The source image data is stored in a custom format + An enum containing values for the underlying image type + represented by an `ImageBuffer` + + + + + + + + + + + + + + The `OpenGLES2RenderContext` allows access to OpenGL ES 2.0 features when OpenGL or + OpenGL ES is the render context type of the `Window`. + + Using an OpenGL ES context on a desktop platform enables support for cross-platform + code that should run on the majority of desktop and mobile platforms (when using + hardware acceleration). + + Platforms supporting an OpenGL ES context are compatible with the Lime + `WebGLRenderContext` if you would prefer to write WebGL-style code, or support web + browsers with the same code. + + You can convert from `lime.graphics.RenderContext`, `lime.graphics.OpenGLRenderContext`, + `lime.graphics.OpenGLES3RenderContext`, `lime.graphics.opengl.GL`, and can convert to + `lime.graphics.WebGLRenderContext` directly if desired: + + ```haxe + var gles2:OpenGLES2RenderContext = window.context; + var gles2:OpenGLES2RenderContext = gl; + var gles2:OpenGLES2RenderContext = gles3; + var gles2:OpenGLES2RenderContext = GL; + + var webgl:WebGLRenderContext = gles2; + ``` + + + ACTIVE_ATTRIBUTES + ACTIVE_TEXTURE + ACTIVE_UNIFORMS + ALIASED_LINE_WIDTH_RANGE + ALIASED_POINT_SIZE_RANGE + ALPHA + ALPHA_BITS + ALWAYS + ARRAY_BUFFER + ARRAY_BUFFER_BINDING + ATTACHED_SHADERS + BACK + BLEND + BLEND_COLOR + BLEND_DST_ALPHA + BLEND_DST_RGB + BLEND_EQUATION + BLEND_EQUATION_ALPHA + BLEND_EQUATION_RGB + BLEND_SRC_ALPHA + BLEND_SRC_RGB + BLUE_BITS + BOOL + BOOL_VEC2 + BOOL_VEC3 + BOOL_VEC4 + BROWSER_DEFAULT_WEBGL + BUFFER_SIZE + BUFFER_USAGE + BYTE + CCW + CLAMP_TO_EDGE + COLOR_ATTACHMENT0 + COLOR_BUFFER_BIT + COLOR_CLEAR_VALUE + COLOR_WRITEMASK + COMPILE_STATUS + COMPRESSED_TEXTURE_FORMATS + CONSTANT_ALPHA + CONSTANT_COLOR + CULL_FACE + CULL_FACE_MODE + CURRENT_PROGRAM + CURRENT_VERTEX_ATTRIB + CW + DECR + DECR_WRAP + DELETE_STATUS + DEPTH_ATTACHMENT + DEPTH_BITS + DEPTH_BUFFER_BIT + DEPTH_CLEAR_VALUE + DEPTH_COMPONENT + DEPTH_COMPONENT16 + DEPTH_FUNC + DEPTH_RANGE + DEPTH_STENCIL + DEPTH_STENCIL_ATTACHMENT + DEPTH_TEST + DEPTH_WRITEMASK + DITHER + DONT_CARE + DST_ALPHA + DST_COLOR + DYNAMIC_DRAW + ELEMENT_ARRAY_BUFFER + ELEMENT_ARRAY_BUFFER_BINDING + EQUAL + FASTEST + FLOAT + FLOAT_MAT2 + FLOAT_MAT3 + FLOAT_MAT4 + FLOAT_VEC2 + FLOAT_VEC3 + FLOAT_VEC4 + FRAGMENT_SHADER + FRAMEBUFFER + FRAMEBUFFER_ATTACHMENT_OBJECT_NAME + FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE + FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE + FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL + FRAMEBUFFER_BINDING + FRAMEBUFFER_COMPLETE + FRAMEBUFFER_INCOMPLETE_ATTACHMENT + FRAMEBUFFER_INCOMPLETE_DIMENSIONS + FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT + FRAMEBUFFER_UNSUPPORTED + FRONT + FRONT_AND_BACK + FRONT_FACE + FUNC_ADD + FUNC_REVERSE_SUBTRACT + FUNC_SUBTRACT + GENERATE_MIPMAP_HINT + GEQUAL + GREATER + GREEN_BITS + HIGH_FLOAT + HIGH_INT + INCR + INCR_WRAP + INT + INT_VEC2 + INT_VEC3 + INT_VEC4 + INVALID_ENUM + INVALID_FRAMEBUFFER_OPERATION + INVALID_OPERATION + INVALID_VALUE + INVERT + KEEP + LEQUAL + LESS + LINEAR + LINEAR_MIPMAP_LINEAR + LINEAR_MIPMAP_NEAREST + LINES + LINE_LOOP + LINE_STRIP + LINE_WIDTH + LINK_STATUS + LOW_FLOAT + LOW_INT + LUMINANCE + LUMINANCE_ALPHA + MAX_COMBINED_TEXTURE_IMAGE_UNITS + MAX_CUBE_MAP_TEXTURE_SIZE + MAX_FRAGMENT_UNIFORM_VECTORS + MAX_RENDERBUFFER_SIZE + MAX_TEXTURE_IMAGE_UNITS + MAX_TEXTURE_SIZE + MAX_VARYING_VECTORS + MAX_VERTEX_ATTRIBS + MAX_VERTEX_TEXTURE_IMAGE_UNITS + MAX_VERTEX_UNIFORM_VECTORS + MAX_VIEWPORT_DIMS + MEDIUM_FLOAT + MEDIUM_INT + MIRRORED_REPEAT + NEAREST + NEAREST_MIPMAP_LINEAR + NEAREST_MIPMAP_NEAREST + NEVER + NICEST + NONE + NOTEQUAL + NO_ERROR + ONE + ONE_MINUS_CONSTANT_ALPHA + ONE_MINUS_CONSTANT_COLOR + ONE_MINUS_DST_ALPHA + ONE_MINUS_DST_COLOR + ONE_MINUS_SRC_ALPHA + ONE_MINUS_SRC_COLOR + OUT_OF_MEMORY + PACK_ALIGNMENT + POINTS + POLYGON_OFFSET_FACTOR + POLYGON_OFFSET_FILL + POLYGON_OFFSET_UNITS + RED_BITS + RENDERBUFFER + RENDERBUFFER_ALPHA_SIZE + RENDERBUFFER_BINDING + RENDERBUFFER_BLUE_SIZE + RENDERBUFFER_DEPTH_SIZE + RENDERBUFFER_GREEN_SIZE + RENDERBUFFER_HEIGHT + RENDERBUFFER_INTERNAL_FORMAT + RENDERBUFFER_RED_SIZE + RENDERBUFFER_STENCIL_SIZE + RENDERBUFFER_WIDTH + RENDERER + REPEAT + REPLACE + RGB + RGB565 + RGB5_A1 + RGBA + RGBA4 + SAMPLER_2D + SAMPLER_CUBE + SAMPLES + SAMPLE_ALPHA_TO_COVERAGE + SAMPLE_BUFFERS + SAMPLE_COVERAGE + SAMPLE_COVERAGE_INVERT + SAMPLE_COVERAGE_VALUE + SCISSOR_BOX + SCISSOR_TEST + SHADER_TYPE + SHADING_LANGUAGE_VERSION + SHORT + SRC_ALPHA + SRC_ALPHA_SATURATE + SRC_COLOR + STATIC_DRAW + STENCIL_ATTACHMENT + STENCIL_BACK_FAIL + STENCIL_BACK_FUNC + STENCIL_BACK_PASS_DEPTH_FAIL + STENCIL_BACK_PASS_DEPTH_PASS + STENCIL_BACK_REF + STENCIL_BACK_VALUE_MASK + STENCIL_BACK_WRITEMASK + STENCIL_BITS + STENCIL_BUFFER_BIT + STENCIL_CLEAR_VALUE + STENCIL_FAIL + STENCIL_FUNC + STENCIL_INDEX + STENCIL_INDEX8 + STENCIL_PASS_DEPTH_FAIL + STENCIL_PASS_DEPTH_PASS + STENCIL_REF + STENCIL_TEST + STENCIL_VALUE_MASK + STENCIL_WRITEMASK + STREAM_DRAW + SUBPIXEL_BITS + TEXTURE + TEXTURE0 + TEXTURE1 + TEXTURE10 + TEXTURE11 + TEXTURE12 + TEXTURE13 + TEXTURE14 + TEXTURE15 + TEXTURE16 + TEXTURE17 + TEXTURE18 + TEXTURE19 + TEXTURE2 + TEXTURE20 + TEXTURE21 + TEXTURE22 + TEXTURE23 + TEXTURE24 + TEXTURE25 + TEXTURE26 + TEXTURE27 + TEXTURE28 + TEXTURE29 + TEXTURE3 + TEXTURE30 + TEXTURE31 + TEXTURE4 + TEXTURE5 + TEXTURE6 + TEXTURE7 + TEXTURE8 + TEXTURE9 + TEXTURE_2D + TEXTURE_BINDING_2D + TEXTURE_BINDING_CUBE_MAP + TEXTURE_CUBE_MAP + TEXTURE_CUBE_MAP_NEGATIVE_X + TEXTURE_CUBE_MAP_NEGATIVE_Y + TEXTURE_CUBE_MAP_NEGATIVE_Z + TEXTURE_CUBE_MAP_POSITIVE_X + TEXTURE_CUBE_MAP_POSITIVE_Y + TEXTURE_CUBE_MAP_POSITIVE_Z + TEXTURE_MAG_FILTER + TEXTURE_MIN_FILTER + TEXTURE_WRAP_S + TEXTURE_WRAP_T + TRIANGLES + TRIANGLE_FAN + TRIANGLE_STRIP + UNPACK_ALIGNMENT + UNSIGNED_BYTE + UNSIGNED_INT + UNSIGNED_SHORT + UNSIGNED_SHORT_4_4_4_4 + UNSIGNED_SHORT_5_5_5_1 + UNSIGNED_SHORT_5_6_5 + VALIDATE_STATUS + VENDOR + VERSION + VERTEX_ATTRIB_ARRAY_BUFFER_BINDING + VERTEX_ATTRIB_ARRAY_ENABLED + VERTEX_ATTRIB_ARRAY_NORMALIZED + VERTEX_ATTRIB_ARRAY_POINTER + VERTEX_ATTRIB_ARRAY_SIZE + VERTEX_ATTRIB_ARRAY_STRIDE + VERTEX_ATTRIB_ARRAY_TYPE + VERTEX_SHADER + VIEWPORT + ZERO + activeTexture + attachShader + bindAttribLocation + bindBuffer + bindFramebuffer + bindTexture + blendColor + blendEquation + blendEquationSeparate + blendFunc + blendFuncSeparate + bufferData + bufferSubData + checkFramebufferStatus + clear + clearColor + clearDepthf + clearStencil + colorMask + compileShader + compressedTexImage2D + compressedTexSubImage2D + copyTexImage2D + copyTexSubImage2D + createBuffer + createFramebuffer + createProgram + createRenderbuffer + createShader + createTexture + cullFace + deleteBuffer + deleteFramebuffer + deleteProgram + deleteRenderbuffer + deleteShader + deleteTexture + depthFunc + depthMask + depthRangef + detachShader + disable + disableVertexAttribArray + drawArrays + drawElements + enable + enableVertexAttribArray + finish + flush + framebufferRenderbuffer + framebufferTexture2D + frontFace + genBuffers + generateMipmap + genFramebuffers + genRenderbuffers + genTextures + getActiveAttrib + getActiveUniform + getAttachedShaders + getAttribLocation + getBoolean + getBooleanv + getBufferParameteri + getBufferParameteriv + getError + getFloat + getFloatv + getFramebufferAttachmentParameteri + getFramebufferAttachmentParameteriv + getInteger + getIntegerv + getProgramInfoLog + getProgrami + getProgramiv + getRenderbufferParameteri + getRenderbufferParameteriv + getShaderi + getShaderInfoLog + getShaderiv + getShaderPrecisionFormat + getShaderSource + getString + getTexParameterf + getTexParameterfv + getTexParameteri + getTexParameteriv + getUniform + getUniformLocation + getVertexAttribf + getVertexAttribfv + getVertexAttribi + getVertexAttribiv + getVertexAttribPointerv + hint + isBuffer + isEnabled + isFramebuffer + isProgram + isRenderbuffer + isShader + isTexture + lineWidth + linkProgram + pixelStorei + polygonOffset + readPixels + releaseShaderCompiler + renderbufferStorage + sampleCoverage + scissor + shaderBinary + shaderSource + stencilFunc + stencilFuncSeparate + stencilMask + stencilMaskSeparate + stencilOp + stencilOpSeparate + texImage2D + texParameterf + texParameteri + texSubImage2D + uniform1f + uniform1fv + uniform1i + uniform1iv + uniform2f + uniform2fv + uniform2i + uniform2iv + uniform3f + uniform3fv + uniform3i + uniform3iv + uniform4f + uniform4fv + uniform4i + uniform4iv + uniformMatrix2fv + uniformMatrix3fv + uniformMatrix4fv + useProgram + validateProgram + vertexAttrib1f + vertexAttrib1fv + vertexAttrib2f + vertexAttrib2fv + vertexAttrib3f + vertexAttrib3fv + vertexAttrib4f + vertexAttrib4fv + vertexAttribPointer + viewport + EXTENSIONS + type + version + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The `OpenGLES3RenderContext` allows access to OpenGL ES 3.0 features when OpenGL or + OpenGL ES is the render context type of the `Window`, and the current context supports + GLES3 features. + + Using an OpenGL ES context on a desktop platform enables support for cross-platform + code that should run on both desktop and mobile platforms (when using + hardware acceleration), though support for OpenGL ES 3.0 features are more limited than + GLES2. + + Platforms supporting an OpenGL ES 3.0 context are compatible with the Lime + `WebGLRenderContext` as well as the `WebGL2RenderContext` if you would prefer to write + WebGL-style code, or support web browsers with the same code. Be aware that not all + browsers support WebGL 2, so only plain WebGL might be available. + + You can convert from `lime.graphics.RenderContext`, `lime.graphics.OpenGLRenderContext`, + `lime.graphics.opengl.GL`, and can convert to `lime.graphics.OpenGLES2RenderContext`, + `lime.graphics.WebGL2RenderContext` or `lime.graphics.WebGLRenderContext` directly + if desired: + + ```haxe + var gles3:OpenGLES3RenderContext = window.context; + var gles3:OpenGLES3RenderContext = gl; + var gles3:OpenGLES3RenderContext = GL; + + var gles2:OpenGLES2RenderContext = gles3; + var webgl2:WebGL2RenderContext = gles3; + var webgl:WebGLRenderContext = gles3; + ``` + + + + + + + <__extensions static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { buffers : null } + + + + + + + + + + + + + + { framebuffers : null } + + + + + + + + + { queries : null } + + + + + + + + + { renderbuffers : null } + + + + + + + + + { samplers : null } + + + + + + + + + { textures : null } + + + + + + + + + { transformFeedbacks : null } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <__extensions static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { buffers : null } + + + + + + + + + + + + + + { framebuffers : null } + + + + + + + + + { queries : null } + + + + + + + + + { renderbuffers : null } + + + + + + + + + { samplers : null } + + + + + + + + + { textures : null } + + + + + + + + + { transformFeedbacks : null } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The `OpenGLRenderContext` allows access to OpenGL features when OpenGL is the render + context type of the `Window`. Historically, Lime was designed for WebGL render support + on all platforms, and support has expanded to provide additional OpenGL ES native APIs. + + Support for desktop OpenGL-specific features is currently sparse, but the + `OpenGLRenderContext` provides the platform for us to add additional desktop specific + features. + + The `OpenGLRenderContext` is not compatible with mobile or web targets, but it can be + converted to an OpenGL ES or a WebGL-style context for cross-platform development. + + You can convert from `lime.graphics.RenderContext` or `lime.graphics.opengl.GL`, and + can convert to `lime.graphics.OpenGLES3RenderContext`, + `lime.graphics.OpenGLES2RenderContext`, `lime.graphics.WebGL2RenderContext`, or + `lime.graphics.WebGLRenderContext` directly if desired: + + ```haxe + var gl:OpenGLRenderContext = window.context; + var gl:OpenGLRenderContext = GL; + + var gles3:OpenGLES3RenderContext = gl; + var gles2:OpenGLES2RenderContext = gl; + var webgl2:WebGL2RenderContext = gl; + var webgl:WebGLRenderContext = gl; + ``` + + lime.graphics.RenderContext + + + + + + + + + + + + lime.graphics.RenderContext + + + + + + + + + + + lime.graphics.RenderContext + + + + + + + + + + + + An enum containing different pixel encoding formats for image data + + + + + + cast 0 + + + + An image encoded in 32-bit RGBA color order + + + + + cast 1 + + + + An image encoded in 32-bit ARGB color order + + + + + cast 2 + + + + An image encoded in 32-bit BGRA color order + + + + + + + + + cast 0 + + + + An image encoded in 32-bit RGBA color order + + + + + cast 1 + + + + An image encoded in 32-bit ARGB color order + + + + + cast 2 + + + + An image encoded in 32-bit BGRA color order + + + + + + + Additional information about the current context + + + + Access to the current Cairo render context, if available + + + + Access to the current HTML5 canvas render context, if available + + + + Access to the current HTML5 DOM render context, if available + + + + Access to the current Flash render context, if available + + + + Access to the current OpenGL render API, if available + + + + Access to the current OpenGL ES 2.0 render API, if available + + + + Access to the current OpenGL ES 3.0 render API, if available + + + + The type of the current `RenderContext` + + + + + Access to the current WebGL render API, if available + + + + Access to the current WebGL 2 render API, if available + + + + + + + The `RenderContext` provides access to rendering for a Lime `Window`. + + Only one render context type is used at once, but when `OPENGL` or + `OPENGLES` is the context type, compatibility contexts for other + forms of GL (such as WebGL) may be available also. + + + + + + + + Whether vertical-sync (VSync) is enabled + + + + + + + + + The type of render context requested + + + + + Whether a stencil buffer is enabled + + + + + Whether hardware acceleration is allowed + + + + + Whether a depth buffer is enabled + + + + + The color depth of the rendering context in bits + + + + + An optional `background` property to be provided to rendering, + a value of `null` means no background color. + + + + + Whether to enable anti-aliasing, `0` is disabled, `2` enables + 2x2 anti-aliasing or `4` enables 4x4 anti-aliasing. + + + Additional options possible for a render context + + + + + + An enum for possible render context types + + + + + + cast "cairo" + + + + Describes a Cairo render context + + + + + cast "canvas" + + + + Describes an HTML5 canvas render context + + + + + cast "dom" + + + + Describes an HTML5 DOM render context + + + + + cast "flash" + + + + Describes a Flash render context + + + + + cast "opengl" + + + + Describes an OpenGL render context + + + + + cast "opengles" + + + + Describes an OpenGL ES render context + + + + + cast "webgl" + + + + Describes a WebGL render context + + + + + cast "custom" + + + + Describes a custom render context + + + + + + + + + cast "cairo" + + + + Describes a Cairo render context + + + + + cast "canvas" + + + + Describes an HTML5 canvas render context + + + + + cast "dom" + + + + Describes an HTML5 DOM render context + + + + + cast "flash" + + + + Describes a Flash render context + + + + + cast "opengl" + + + + Describes an OpenGL render context + + + + + cast "opengles" + + + + Describes an OpenGL ES render context + + + + + cast "webgl" + + + + Describes a WebGL render context + + + + + cast "custom" + + + + Describes a custom render context + + + + + + + + + + + + + The `WebGL2RenderContext` allows access to WebGL 2 features when OpenGL, OpenGL ES + or WebGL is the render context type of the `Window`, and the current context supports + WebGL 2 features. + + Using a WebGL context on a desktop platform enables support for cross-platform + code that should run on all platforms (when using hardware acceleration), though support + for WebGL 2 features are more limited than WebGL, and require an OpenGL ES 3.0 compatible + desktop or mobile context. + + You can convert from `lime.graphics.RenderContext`, `lime.graphics.OpenGLRenderContext`, + `lime.graphics.OpenGLES3RenderContext` or `lime.graphics.opengl.GL`, and can convert to + `lime.graphics.WebGLRenderContext` directly if desired: + + ```haxe + var webgl2:WebGL2RenderContext = window.context; + var webgl2:WebGL2RenderContext = gl; + var webgl2:WebGL2RenderContext = gles3; + var webgl2:WebGL2RenderContext = GL; + + var webgl:WebGLRenderContext = webgl2; + ``` + + lime.graphics.RenderContext + + + + <__tempPointer expr="new BytePointer()" line="312" static="1"> + + new BytePointer() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { length : 0, srcOffset : 0 } + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { dstOffset : 0 } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lime.graphics.RenderContext + + + + + + + + + + + + + + + hide + + + + <__tempPointer expr="new BytePointer()" line="312" static="1"> + + new BytePointer() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { length : 0, srcOffset : 0 } + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { dstOffset : 0 } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lime.graphics.RenderContext + + + + + + + + + + + + + The `WebGLRenderContext` allows access to WebGL features when OpenGL, OpenGL ES or + WebGL is the render context type of the `Window`. + + Using a WebGL context on a desktop or mobile platform enables support for cross-platform + code that should run all platforms (when hardware acceleration is supported). + + You can convert from `lime.graphics.RenderContext`, `lime.graphics.OpenGLRenderContext`, + `lime.graphics.OpenGLES3RenderContext`, `lime.graphics.OpenGLES2RenderContext`, + `lime.graphics.WebGL2RenderContext` or `lime.graphics.opengl.GL` directly if desired: + + ```haxe + var webgl:WebGLRenderContext = window.context; + var webgl:WebGLRenderContext = gl; + var webgl:WebGLRenderContext = gles3; + var webgl:WebGLRenderContext = gles2; + var webgl:WebGLRenderContext = webgl2; + var webgl:WebGLRenderContext = GL; + ``` + + + DEPTH_BUFFER_BIT + STENCIL_BUFFER_BIT + COLOR_BUFFER_BIT + POINTS + LINES + LINE_LOOP + LINE_STRIP + TRIANGLES + TRIANGLE_STRIP + TRIANGLE_FAN + ZERO + ONE + SRC_COLOR + ONE_MINUS_SRC_COLOR + SRC_ALPHA + ONE_MINUS_SRC_ALPHA + DST_ALPHA + ONE_MINUS_DST_ALPHA + DST_COLOR + ONE_MINUS_DST_COLOR + SRC_ALPHA_SATURATE + FUNC_ADD + BLEND_EQUATION + BLEND_EQUATION_RGB + BLEND_EQUATION_ALPHA + FUNC_SUBTRACT + FUNC_REVERSE_SUBTRACT + BLEND_DST_RGB + BLEND_SRC_RGB + BLEND_DST_ALPHA + BLEND_SRC_ALPHA + CONSTANT_COLOR + ONE_MINUS_CONSTANT_COLOR + CONSTANT_ALPHA + ONE_MINUS_CONSTANT_ALPHA + BLEND_COLOR + ARRAY_BUFFER + ELEMENT_ARRAY_BUFFER + ARRAY_BUFFER_BINDING + ELEMENT_ARRAY_BUFFER_BINDING + STREAM_DRAW + STATIC_DRAW + DYNAMIC_DRAW + BUFFER_SIZE + BUFFER_USAGE + CURRENT_VERTEX_ATTRIB + FRONT + BACK + FRONT_AND_BACK + CULL_FACE + BLEND + DITHER + STENCIL_TEST + DEPTH_TEST + SCISSOR_TEST + POLYGON_OFFSET_FILL + SAMPLE_ALPHA_TO_COVERAGE + SAMPLE_COVERAGE + NO_ERROR + INVALID_ENUM + INVALID_VALUE + INVALID_OPERATION + OUT_OF_MEMORY + CW + CCW + LINE_WIDTH + ALIASED_POINT_SIZE_RANGE + ALIASED_LINE_WIDTH_RANGE + CULL_FACE_MODE + FRONT_FACE + DEPTH_RANGE + DEPTH_WRITEMASK + DEPTH_CLEAR_VALUE + DEPTH_FUNC + STENCIL_CLEAR_VALUE + STENCIL_FUNC + STENCIL_FAIL + STENCIL_PASS_DEPTH_FAIL + STENCIL_PASS_DEPTH_PASS + STENCIL_REF + STENCIL_VALUE_MASK + STENCIL_WRITEMASK + STENCIL_BACK_FUNC + STENCIL_BACK_FAIL + STENCIL_BACK_PASS_DEPTH_FAIL + STENCIL_BACK_PASS_DEPTH_PASS + STENCIL_BACK_REF + STENCIL_BACK_VALUE_MASK + STENCIL_BACK_WRITEMASK + VIEWPORT + SCISSOR_BOX + COLOR_CLEAR_VALUE + COLOR_WRITEMASK + UNPACK_ALIGNMENT + PACK_ALIGNMENT + MAX_TEXTURE_SIZE + MAX_VIEWPORT_DIMS + SUBPIXEL_BITS + RED_BITS + GREEN_BITS + BLUE_BITS + ALPHA_BITS + DEPTH_BITS + STENCIL_BITS + POLYGON_OFFSET_UNITS + POLYGON_OFFSET_FACTOR + TEXTURE_BINDING_2D + SAMPLE_BUFFERS + SAMPLES + SAMPLE_COVERAGE_VALUE + SAMPLE_COVERAGE_INVERT + COMPRESSED_TEXTURE_FORMATS + DONT_CARE + FASTEST + NICEST + GENERATE_MIPMAP_HINT + BYTE + UNSIGNED_BYTE + SHORT + UNSIGNED_SHORT + INT + UNSIGNED_INT + FLOAT + DEPTH_COMPONENT + ALPHA + RGB + RGBA + LUMINANCE + LUMINANCE_ALPHA + UNSIGNED_SHORT_4_4_4_4 + UNSIGNED_SHORT_5_5_5_1 + UNSIGNED_SHORT_5_6_5 + FRAGMENT_SHADER + VERTEX_SHADER + MAX_VERTEX_ATTRIBS + MAX_VERTEX_UNIFORM_VECTORS + MAX_VARYING_VECTORS + MAX_COMBINED_TEXTURE_IMAGE_UNITS + MAX_VERTEX_TEXTURE_IMAGE_UNITS + MAX_TEXTURE_IMAGE_UNITS + MAX_FRAGMENT_UNIFORM_VECTORS + SHADER_TYPE + DELETE_STATUS + LINK_STATUS + VALIDATE_STATUS + ATTACHED_SHADERS + ACTIVE_UNIFORMS + ACTIVE_ATTRIBUTES + SHADING_LANGUAGE_VERSION + CURRENT_PROGRAM + NEVER + LESS + EQUAL + LEQUAL + GREATER + NOTEQUAL + GEQUAL + ALWAYS + KEEP + REPLACE + INCR + DECR + INVERT + INCR_WRAP + DECR_WRAP + VENDOR + RENDERER + VERSION + NEAREST + LINEAR + NEAREST_MIPMAP_NEAREST + LINEAR_MIPMAP_NEAREST + NEAREST_MIPMAP_LINEAR + LINEAR_MIPMAP_LINEAR + TEXTURE_MAG_FILTER + TEXTURE_MIN_FILTER + TEXTURE_WRAP_S + TEXTURE_WRAP_T + TEXTURE_2D + TEXTURE + TEXTURE_CUBE_MAP + TEXTURE_BINDING_CUBE_MAP + TEXTURE_CUBE_MAP_POSITIVE_X + TEXTURE_CUBE_MAP_NEGATIVE_X + TEXTURE_CUBE_MAP_POSITIVE_Y + TEXTURE_CUBE_MAP_NEGATIVE_Y + TEXTURE_CUBE_MAP_POSITIVE_Z + TEXTURE_CUBE_MAP_NEGATIVE_Z + MAX_CUBE_MAP_TEXTURE_SIZE + TEXTURE0 + TEXTURE1 + TEXTURE2 + TEXTURE3 + TEXTURE4 + TEXTURE5 + TEXTURE6 + TEXTURE7 + TEXTURE8 + TEXTURE9 + TEXTURE10 + TEXTURE11 + TEXTURE12 + TEXTURE13 + TEXTURE14 + TEXTURE15 + TEXTURE16 + TEXTURE17 + TEXTURE18 + TEXTURE19 + TEXTURE20 + TEXTURE21 + TEXTURE22 + TEXTURE23 + TEXTURE24 + TEXTURE25 + TEXTURE26 + TEXTURE27 + TEXTURE28 + TEXTURE29 + TEXTURE30 + TEXTURE31 + ACTIVE_TEXTURE + REPEAT + CLAMP_TO_EDGE + MIRRORED_REPEAT + FLOAT_VEC2 + FLOAT_VEC3 + FLOAT_VEC4 + INT_VEC2 + INT_VEC3 + INT_VEC4 + BOOL + BOOL_VEC2 + BOOL_VEC3 + BOOL_VEC4 + FLOAT_MAT2 + FLOAT_MAT3 + FLOAT_MAT4 + SAMPLER_2D + SAMPLER_CUBE + VERTEX_ATTRIB_ARRAY_ENABLED + VERTEX_ATTRIB_ARRAY_SIZE + VERTEX_ATTRIB_ARRAY_STRIDE + VERTEX_ATTRIB_ARRAY_TYPE + VERTEX_ATTRIB_ARRAY_NORMALIZED + VERTEX_ATTRIB_ARRAY_POINTER + VERTEX_ATTRIB_ARRAY_BUFFER_BINDING + COMPILE_STATUS + LOW_FLOAT + MEDIUM_FLOAT + HIGH_FLOAT + LOW_INT + MEDIUM_INT + HIGH_INT + FRAMEBUFFER + RENDERBUFFER + RGBA4 + RGB5_A1 + RGB565 + DEPTH_COMPONENT16 + STENCIL_INDEX + STENCIL_INDEX8 + DEPTH_STENCIL + RENDERBUFFER_WIDTH + RENDERBUFFER_HEIGHT + RENDERBUFFER_INTERNAL_FORMAT + RENDERBUFFER_RED_SIZE + RENDERBUFFER_GREEN_SIZE + RENDERBUFFER_BLUE_SIZE + RENDERBUFFER_ALPHA_SIZE + RENDERBUFFER_DEPTH_SIZE + RENDERBUFFER_STENCIL_SIZE + FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE + FRAMEBUFFER_ATTACHMENT_OBJECT_NAME + FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL + FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE + COLOR_ATTACHMENT0 + DEPTH_ATTACHMENT + STENCIL_ATTACHMENT + DEPTH_STENCIL_ATTACHMENT + NONE + FRAMEBUFFER_COMPLETE + FRAMEBUFFER_INCOMPLETE_ATTACHMENT + FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT + FRAMEBUFFER_INCOMPLETE_DIMENSIONS + FRAMEBUFFER_UNSUPPORTED + FRAMEBUFFER_BINDING + RENDERBUFFER_BINDING + MAX_RENDERBUFFER_SIZE + INVALID_FRAMEBUFFER_OPERATION + UNPACK_FLIP_Y_WEBGL + UNPACK_PREMULTIPLY_ALPHA_WEBGL + CONTEXT_LOST_WEBGL + UNPACK_COLORSPACE_CONVERSION_WEBGL + BROWSER_DEFAULT_WEBGL + type + version + activeTexture + attachShader + bindAttribLocation + bindBuffer + bindFramebuffer + bindRenderbuffer + bindTexture + blendColor + blendEquation + blendEquationSeparate + blendFunc + blendFuncSeparate + checkFramebufferStatus + clear + clearColor + clearDepth + clearStencil + colorMask + compileShader + copyTexImage2D + copyTexSubImage2D + createBuffer + createFramebuffer + createProgram + createRenderbuffer + createShader + createTexture + cullFace + cullFace + deleteBuffer + deleteFramebuffer + deleteProgram + deleteRenderbuffer + deleteShader + deleteTexture + depthFunc + depthMask + depthRange + detachShader + disable + disableVertexAttribArray + drawArrays + drawElements + enable + enableVertexAttribArray + finish + flush + framebufferRenderbuffer + framebufferTexture2D + frontFace + generateMipmap + getActiveAttrib + getActiveUniform + getAttachedShaders + getAttribLocation + getBufferParameter + getContextAttributes + getError + getExtension + getFramebufferAttachmentParameter + getParameter + getProgramInfoLog + getProgramParameter + getRenderbufferParameter + getShaderInfoLog + getShaderParameter + getShaderPrecisionFormat + getShaderSource + getSupportedExtensions + getTexParameter + getUniform + getUniformLocation + getVertexAttrib + getVertexAttribOffset + hint + isBuffer + isContextLost + isEnabled + isFramebuffer + isProgram + isRenderbuffer + isShader + isTexture + lineWidth + linkProgram + pixelStorei + polygonOffset + renderbufferStorage + sampleCoverage + scissor + shaderSource + stencilFunc + stencilFuncSeparate + stencilMask + stencilMaskSeparate + stencilOp + stencilOpSeparate + texParameterf + texParameteri + uniform1f + uniform1fv + uniform1i + uniform1iv + uniform2f + uniform2fv + uniform2i + uniform2iv + uniform3f + uniform3fv + uniform3i + uniform3iv + uniform4f + uniform4fv + uniform4i + uniform4iv + useProgram + validateProgram + vertexAttrib1f + vertexAttrib1fv + vertexAttrib2f + vertexAttrib2fv + vertexAttrib3f + vertexAttrib3fv + vertexAttrib4f + vertexAttrib4fv + vertexAttribPointer + viewport + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { srcOffset : 0 } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { surface : null } + + + + "tags=\"haxe,release\"" + + lime._internal.backend.native.NativeCFFI + + + + + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + cast 6 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + cast 6 + + + + + + + + + + + + + + + + + + + + + + cast 0x1000 + + + + + + + + cast 0x2000 + + + + + + + + cast 0x3000 + + + + + + + + + + + + cast 0x1000 + + + + + + + + cast 0x2000 + + + + + + + + cast 0x3000 + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + + + + + + <_new set="method" line="13" static="1"> + + + + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + + + + + + + + + <_new set="method" line="13" static="1"> + + + + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + + + + + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + + <_new set="method" line="10" static="1"> + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + + + + <_new set="method" line="10" static="1"> + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + + + + + + lime._internal.backend.native.NativeCFFI + + + + + + <_new public="1" set="method" line="16" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + + + + + + + + + <_new public="1" set="method" line="16" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + + + + + + + + + + + + + + + + + + cast -1 + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + + + + + cast -1 + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + + + + + + + + + + + { y : 0, x : 0 } + + + + "tags=\"haxe,release\"" + + + + + + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + + + + + + + + + <_new public="1" set="method" line="17" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + + + + + + + + + + <_new public="1" set="method" line="17" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + + + + + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + cast 6 + + + + + + + + cast 7 + + + + + + + + cast 8 + + + + + + + + cast 9 + + + + + + + + cast 10 + + + + + + + + cast 11 + + + + + + + + cast 12 + + + + + + + + cast 13 + + + + + + + + cast 14 + + + + + + + + cast 15 + + + + + + + + cast 16 + + + + + + + + cast 17 + + + + + + + + cast 18 + + + + + + + + cast 19 + + + + + + + + cast 20 + + + + + + + + cast 21 + + + + + + + + cast 22 + + + + + + + + cast 23 + + + + + + + + cast 24 + + + + + + + + cast 25 + + + + + + + + cast 26 + + + + + + + + cast 27 + + + + + + + + cast 28 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + cast 6 + + + + + + + + cast 7 + + + + + + + + cast 8 + + + + + + + + cast 9 + + + + + + + + cast 10 + + + + + + + + cast 11 + + + + + + + + cast 12 + + + + + + + + cast 13 + + + + + + + + cast 14 + + + + + + + + cast 15 + + + + + + + + cast 16 + + + + + + + + cast 17 + + + + + + + + cast 18 + + + + + + + + cast 19 + + + + + + + + cast 20 + + + + + + + + cast 21 + + + + + + + + cast 22 + + + + + + + + cast 23 + + + + + + + + cast 24 + + + + + + + + cast 25 + + + + + + + + cast 26 + + + + + + + + cast 27 + + + + + + + + cast 28 + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + + + + + + <_new public="1" set="method" line="16" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + + + + + + + + + <_new public="1" set="method" line="16" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + + + + + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + cast 6 + + + + + + + + cast 7 + + + + + + + + cast 8 + + + + + + + + cast 9 + + + + + + + + cast 10 + + + + + + + + cast 11 + + + + + + + + cast 12 + + + + + + + + cast 13 + + + + + + + + cast 14 + + + + + + + + cast 15 + + + + + + + + cast 16 + + + + + + + + cast 17 + + + + + + + + cast 18 + + + + + + + + cast 19 + + + + + + + + cast 20 + + + + + + + + cast 21 + + + + + + + + cast 22 + + + + + + + + cast 23 + + + + + + + + cast 24 + + + + + + + + cast 25 + + + + + + + + cast 26 + + + + + + + + cast 27 + + + + + + + + cast 28 + + + + + + + + cast 29 + + + + + + + + cast 30 + + + + + + + + cast 31 + + + + + + + + cast 32 + + + + + + + + cast 33 + + + + + + + + cast 34 + + + + + + + + cast 35 + + + + + + + + cast 36 + + + + + + + + cast 37 + + + + + + + + cast 38 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + cast 6 + + + + + + + + cast 7 + + + + + + + + cast 8 + + + + + + + + cast 9 + + + + + + + + cast 10 + + + + + + + + cast 11 + + + + + + + + cast 12 + + + + + + + + cast 13 + + + + + + + + cast 14 + + + + + + + + cast 15 + + + + + + + + cast 16 + + + + + + + + cast 17 + + + + + + + + cast 18 + + + + + + + + cast 19 + + + + + + + + cast 20 + + + + + + + + cast 21 + + + + + + + + cast 22 + + + + + + + + cast 23 + + + + + + + + cast 24 + + + + + + + + cast 25 + + + + + + + + cast 26 + + + + + + + + cast 27 + + + + + + + + cast 28 + + + + + + + + cast 29 + + + + + + + + cast 30 + + + + + + + + cast 31 + + + + + + + + cast 32 + + + + + + + + cast 33 + + + + + + + + cast 34 + + + + + + + + cast 35 + + + + + + + + cast 36 + + + + + + + + cast 37 + + + + + + + + cast 38 + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + + + + + + + + lime._internal.backend.native.NativeCFFI + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + + + + + + 0x00000100 + + + + 0x00000400 + + + + 0x00004000 + + + + 0x0000 + + + + 0x0001 + + + + 0x0002 + + + + 0x0003 + + + + 0x0004 + + + + 0x0005 + + + + 0x0006 + + + + 0 + + + + 1 + + + + 0x0300 + + + + 0x0301 + + + + 0x0302 + + + + 0x0303 + + + + 0x0304 + + + + 0x0305 + + + + 0x0306 + + + + 0x0307 + + + + 0x0308 + + + + 0x8006 + + + + 0x8009 + + + + 0x8009 + + + + 0x883D + + + + 0x800A + + + + 0x800B + + + + 0x80C8 + + + + 0x80C9 + + + + 0x80CA + + + + 0x80CB + + + + 0x8001 + + + + 0x8002 + + + + 0x8003 + + + + 0x8004 + + + + 0x8005 + + + + 0x8892 + + + + 0x8893 + + + + 0x8894 + + + + 0x8895 + + + + 0x88E0 + + + + 0x88E4 + + + + 0x88E8 + + + + 0x8764 + + + + 0x8765 + + + + 0x8626 + + + + 0x0404 + + + + 0x0405 + + + + 0x0408 + + + + 0x0B44 + + + + 0x0BE2 + + + + 0x0BD0 + + + + 0x0B90 + + + + 0x0B71 + + + + 0x0C11 + + + + 0x8037 + + + + 0x809E + + + + 0x80A0 + + + + 0 + + + + 0x0500 + + + + 0x0501 + + + + 0x0502 + + + + 0x0505 + + + + 0x0900 + + + + 0x0901 + + + + 0x0B21 + + + + 0x846D + + + + 0x846E + + + + 0x0B45 + + + + 0x0B46 + + + + 0x0B70 + + + + 0x0B72 + + + + 0x0B73 + + + + 0x0B74 + + + + 0x0B91 + + + + 0x0B92 + + + + 0x0B94 + + + + 0x0B95 + + + + 0x0B96 + + + + 0x0B97 + + + + 0x0B93 + + + + 0x0B98 + + + + 0x8800 + + + + 0x8801 + + + + 0x8802 + + + + 0x8803 + + + + 0x8CA3 + + + + 0x8CA4 + + + + 0x8CA5 + + + + 0x0BA2 + + + + 0x0C10 + + + + 0x0C22 + + + + 0x0C23 + + + + 0x0CF5 + + + + 0x0D05 + + + + 0x0D33 + + + + 0x0D3A + + + + 0x0D50 + + + + 0x0D52 + + + + 0x0D53 + + + + 0x0D54 + + + + 0x0D55 + + + + 0x0D56 + + + + 0x0D57 + + + + 0x2A00 + + + + 0x8038 + + + + 0x8069 + + + + 0x80A8 + + + + 0x80A9 + + + + 0x80AA + + + + 0x80AB + + + + 0x86A2 + + + + 0x86A3 + + + + 0x1100 + + + + 0x1101 + + + + 0x1102 + + + + 0x8192 + + + + 0x1400 + + + + 0x1401 + + + + 0x1402 + + + + 0x1403 + + + + 0x1404 + + + + 0x1405 + + + + 0x1406 + + + + 0x1902 + + + + 0x1906 + + + + 0x1907 + + + + 0x1908 + + + + 0x1909 + + + + 0x190A + + + + 0x8033 + + + + 0x8034 + + + + 0x8363 + + + + 0x8B30 + + + + 0x8B31 + + + + 0x8869 + + + + 0x8DFB + + + + 0x8DFC + + + + 0x8B4D + + + + 0x8B4C + + + + 0x8872 + + + + 0x8DFD + + + + 0x8B4F + + + + 0x8B80 + + + + 0x8B82 + + + + 0x8B83 + + + + 0x8B85 + + + + 0x8B86 + + + + 0x8B89 + + + + 0x8B8C + + + + 0x8B8D + + + + 0x0200 + + + + 0x0201 + + + + 0x0202 + + + + 0x0203 + + + + 0x0204 + + + + 0x0205 + + + + 0x0206 + + + + 0x0207 + + + + 0x1E00 + + + + 0x1E01 + + + + 0x1E02 + + + + 0x1E03 + + + + 0x150A + + + + 0x8507 + + + + 0x8508 + + + + 0x1F00 + + + + 0x1F01 + + + + 0x1F02 + + + + 0x1F03 + + + + 0x2600 + + + + 0x2601 + + + + 0x2700 + + + + 0x2701 + + + + 0x2702 + + + + 0x2703 + + + + 0x2800 + + + + 0x2801 + + + + 0x2802 + + + + 0x2803 + + + + 0x0DE1 + + + + 0x1702 + + + + 0x8513 + + + + 0x8514 + + + + 0x8515 + + + + 0x8516 + + + + 0x8517 + + + + 0x8518 + + + + 0x8519 + + + + 0x851A + + + + 0x851C + + + + 0x84C0 + + + + 0x84C1 + + + + 0x84C2 + + + + 0x84C3 + + + + 0x84C4 + + + + 0x84C5 + + + + 0x84C6 + + + + 0x84C7 + + + + 0x84C8 + + + + 0x84C9 + + + + 0x84CA + + + + 0x84CB + + + + 0x84CC + + + + 0x84CD + + + + 0x84CE + + + + 0x84CF + + + + 0x84D0 + + + + 0x84D1 + + + + 0x84D2 + + + + 0x84D3 + + + + 0x84D4 + + + + 0x84D5 + + + + 0x84D6 + + + + 0x84D7 + + + + 0x84D8 + + + + 0x84D9 + + + + 0x84DA + + + + 0x84DB + + + + 0x84DC + + + + 0x84DD + + + + 0x84DE + + + + 0x84DF + + + + 0x84E0 + + + + 0x2901 + + + + 0x812F + + + + 0x8370 + + + + 0x8B50 + + + + 0x8B51 + + + + 0x8B52 + + + + 0x8B53 + + + + 0x8B54 + + + + 0x8B55 + + + + 0x8B56 + + + + 0x8B57 + + + + 0x8B58 + + + + 0x8B59 + + + + 0x8B5A + + + + 0x8B5B + + + + 0x8B5C + + + + 0x8B5E + + + + 0x8B60 + + + + 0x8622 + + + + 0x8623 + + + + 0x8624 + + + + 0x8625 + + + + 0x886A + + + + 0x8645 + + + + 0x889F + + + + 0x8B9A + + + + 0x8B9B + + + + 0x8642 + + + + 0x8861 + + + + 0x8B81 + + + + 0x8DF0 + + + + 0x8DF1 + + + + 0x8DF2 + + + + 0x8DF3 + + + + 0x8DF4 + + + + 0x8DF5 + + + + 0x8D40 + + + + 0x8D41 + + + + 0x8056 + + + + 0x8057 + + + + 0x8D62 + + + + 0x81A5 + + + + 0x1901 + + + + 0x8D48 + + + + 0x84F9 + + + + 0x8D42 + + + + 0x8D43 + + + + 0x8D44 + + + + 0x8D50 + + + + 0x8D51 + + + + 0x8D52 + + + + 0x8D53 + + + + 0x8D54 + + + + 0x8D55 + + + + 0x8CD0 + + + + 0x8CD1 + + + + 0x8CD2 + + + + 0x8CD3 + + + + 0x8CE0 + + + + 0x8D00 + + + + 0x8D20 + + + + 0x821A + + + + 0 + + + + 0x8CD5 + + + + 0x8CD6 + + + + 0x8CD7 + + + + 0x8CD9 + + + + 0x8CDD + + + + 0x8CA6 + + + + 0x8CA7 + + + + 0x84E8 + + + + 0x0506 + + + + 0x9240 + + + + 0x9241 + + + + 0x9242 + + + + 0x9243 + + + + 0x9244 + + + + 0x0C02 + + + + 0x0CF2 + + + + 0x0CF3 + + + + 0x0CF4 + + + + 0x0D02 + + + + 0x0D03 + + + + 0x0D04 + + + + 0x806A + + + + 0x806D + + + + 0x806E + + + + 0x8073 + + + + 0x80E8 + + + + 0x80E9 + + + + 0x84FD + + + + 0x8B49 + + + + 0x8B4A + + + + 0x88FF + + + + 0x8904 + + + + 0x8905 + + + + 0x8B4B + + + + 0x8B8B + + + + 0x8C89 + + + + 0x85B5 + + + + 0x9122 + + + + 0x9125 + + + + 0x9111 + + + + 0x8D6B + + + + 0x1903 + + + + 0x8051 + + + + 0x8058 + + + + 0x8059 + + + + 0x806F + + + + 0x8072 + + + + 0x813A + + + + 0x813B + + + + 0x813C + + + + 0x813D + + + + 0x884C + + + + 0x884D + + + + 0x8C40 + + + + 0x8C41 + + + + 0x8C43 + + + + 0x884E + + + + 0x8814 + + + + 0x8815 + + + + 0x881A + + + + 0x881B + + + + 0x8C1A + + + + 0x8C1D + + + + 0x8C3A + + + + 0x8C3D + + + + 0x8D70 + + + + 0x8D71 + + + + 0x8D76 + + + + 0x8D77 + + + + 0x8D7C + + + + 0x8D7D + + + + 0x8D82 + + + + 0x8D83 + + + + 0x8D88 + + + + 0x8D89 + + + + 0x8D8E + + + + 0x8D8F + + + + 0x8D94 + + + + 0x8D98 + + + + 0x8D99 + + + + 0x8229 + + + + 0x822B + + + + 0x822D + + + + 0x822E + + + + 0x822F + + + + 0x8230 + + + + 0x8231 + + + + 0x8232 + + + + 0x8233 + + + + 0x8234 + + + + 0x8235 + + + + 0x8236 + + + + 0x8237 + + + + 0x8238 + + + + 0x8239 + + + + 0x823A + + + + 0x823B + + + + 0x823C + + + + 0x8F94 + + + + 0x8F95 + + + + 0x8F96 + + + + 0x8F97 + + + + 0x906F + + + + 0x912F + + + + 0x82DF + + + + 0x8368 + + + + 0x8C3B + + + + 0x8C3E + + + + 0x8DAD + + + + 0x84FA + + + + 0x140B + + + + 0x8227 + + + + 0x8228 + + + + 0x8D9F + + + + 0x8865 + + + + 0x8866 + + + + 0x8867 + + + + 0x8C2F + + + + 0x8D6A + + + + 0x8824 + + + + 0x8825 + + + + 0x8826 + + + + 0x8827 + + + + 0x8828 + + + + 0x8829 + + + + 0x882A + + + + 0x882B + + + + 0x882C + + + + 0x882D + + + + 0x882E + + + + 0x882F + + + + 0x8830 + + + + 0x8831 + + + + 0x8832 + + + + 0x8833 + + + + 0x8834 + + + + 0x8CDF + + + + 0x8CE1 + + + + 0x8CE2 + + + + 0x8CE3 + + + + 0x8CE4 + + + + 0x8CE5 + + + + 0x8CE6 + + + + 0x8CE7 + + + + 0x8CE8 + + + + 0x8CE9 + + + + 0x8CEA + + + + 0x8CEB + + + + 0x8CEC + + + + 0x8CED + + + + 0x8CEE + + + + 0x8CEF + + + + 0x8B5F + + + + 0x8B62 + + + + 0x8DC1 + + + + 0x8DC4 + + + + 0x8DC5 + + + + 0x8DCA + + + + 0x8DCB + + + + 0x8DCC + + + + 0x8DCF + + + + 0x8DD2 + + + + 0x8DD3 + + + + 0x8DD4 + + + + 0x8DD7 + + + + 0x8D57 + + + + 0x8919 + + + + 0x88EB + + + + 0x88EC + + + + 0x88ED + + + + 0x88EF + + + + 0x8F36 + + + + 0x8F37 + + + + 0x8F36 + + + + 0x8F37 + + + + 0x8B65 + + + + 0x8B66 + + + + 0x8B67 + + + + 0x8B68 + + + + 0x8B69 + + + + 0x8B6A + + + + 0x8DC6 + + + + 0x8DC7 + + + + 0x8DC8 + + + + 0x8C17 + + + + 0x8F9C + + + + 0x88FD + + + + 0x88FE + + + + 0x8C7F + + + + 0x8C80 + + + + 0x8C83 + + + + 0x8C84 + + + + 0x8C85 + + + + 0x8C88 + + + + 0x8C8A + + + + 0x8C8B + + + + 0x8C8C + + + + 0x8C8D + + + + 0x8C8E + + + + 0x8C8F + + + + 0x8E22 + + + + 0x8E23 + + + + 0x8E24 + + + + 0x8E25 + + + + 0x8210 + + + + 0x8211 + + + + 0x8212 + + + + 0x8213 + + + + 0x8214 + + + + 0x8215 + + + + 0x8216 + + + + 0x8217 + + + + 0x8218 + + + + 0x88F0 + + + + 0x8CA6 + + + + 0x8CA8 + + + + 0x8CA9 + + + + 0x8CAA + + + + 0x8CAB + + + + 0x8CD4 + + + + 0x8D56 + + + + 0x8A11 + + + + 0x8A28 + + + + 0x8A29 + + + + 0x8A2A + + + + 0x8A2B + + + + 0x8A2D + + + + 0x8A2E + + + + 0x8A2F + + + + 0x8A30 + + + + 0x8A31 + + + + 0x8A33 + + + + 0x8A34 + + + + 0x8A36 + + + + 0x8A37 + + + + 0x8A38 + + + + 0x8A3A + + + + 0x8A3B + + + + 0x8A3C + + + + 0x8A3D + + + + 0x8A3E + + + + 0x8A3F + + + + 0x8A40 + + + + 0x8A42 + + + + 0x8A43 + + + + 0x8A44 + + + + 0x8A46 + + + + 0x9112 + + + + 0x9113 + + + + 0x9114 + + + + 0x9115 + + + + 0x9116 + + + + 0x9117 + + + + 0x9118 + + + + 0x9119 + + + + 0x911A + + + + 0x911B + + + + 0x911C + + + + 0x911D + + + + 0x00000001 + + + + 0x1800 + + + + 0x1801 + + + + 0x1802 + + + + 0x8007 + + + + 0x8008 + + + + 0x81A6 + + + + 0x88E1 + + + + 0x88E2 + + + + 0x88E5 + + + + 0x88E6 + + + + 0x88E9 + + + + 0x88EA + + + + 0x8CAC + + + + 0x8CAD + + + + 0xFFFFFFFF + + + + -1 + + + + 0x9247 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <__getObjectID get="inline" set="null" line="2596" static="1"> + + + + + + lime.ui.Window + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + hide + + + + + + + + hide + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + cast 6 + + + + + + + + cast 7 + + + + + + + + cast 8 + + + + + + + + cast 9 + + + + + + + + cast 10 + + + + + + + + cast 11 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + cast 6 + + + + + + + + cast 7 + + + + + + + + cast 8 + + + + + + + + cast 9 + + + + + + + + cast 10 + + + + + + + + cast 11 + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + + + + + + + + + + id + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + + + + + + + + + + id + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id + refs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id + + + + + + + + + + + + + + + + + + + + + + + id + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + + + + + + + lime._internal.backend.native.NativeCFFI + lime._internal.backend.native.NativeCFFI + + lime._internal.backend.native.NativeCFFI + + + + + + + + id + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id + + + + + + + + + + + + + + + + + + + + + + + + id + + + + + + + + + + + + + + + + + <_3DC_X_AMD public="1" expr="0x87F9"> + + 0x87F9 + + <_3DC_XY_AMD public="1" expr="0x87FA"> + + 0x87FA + + + + + + + + + + + + + + + 0x8C92 + + + + 0x8C93 + + + + 0x87EE + + + + + + + + + + + + + + + 0x8BC0 + + + + 0x8BC1 + + + + 0x8BC2 + + + + 0x8BC3 + + + + 0x8BC4 + + + + 0x8BC5 + + + + 0x8BC6 + + + + + + + + + + + + + + + 0x8740 + + + + + + + + + + + + + + + 0x8CA8 + + + + 0x8CA9 + + + + 0x8CA6 + + + + 0x8CAA + + + + + + + + + + + + + + + 0x8CAB + + + + 0x8D56 + + + + 0x8D57 + + + + + + + + + + + + + + + 0x88FE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0x93A4 + + + + + + + + + + + + + + + 0x83F2 + + + + + + + + + + + + + + + 0x83F3 + + + + + + + + + + + + + + + 0x93A2 + + + + 0x93A3 + + + + + + + + + + + + + + + 0x93A0 + + + + + + + + + + + + + + + + + + + + + + + + + 0x8CAB + + + + 0x8D56 + + + + 0x8D57 + + + + 0x8CA8 + + + + 0x8CA9 + + + + 0x8CA6 + + + + 0x8CAA + + + + + + + + + + + + + + + 0x8A1F + + + + 0x85BA + + + + 0x85BB + + + + + + + + + + + + + + + 0x8A53 + + + + 0x9111 + + + + 0x9112 + + + + 0x9113 + + + + 0x9114 + + + + 0x9115 + + + + 0x9116 + + + + 0x9117 + + + + 0x9118 + + + + 0x9119 + + + + 0x911A + + + + 0x911B + + + + 0x911C + + + + 0x911D + + + + 0x00000001 + + + + 0xFFFFFFFF + + + + + + + + + + + + + + + 0x80E1 + + + + + + + + + + + + + + + 0x813D + + + + + + + + + + + + + + + 0x8F61 + + + + + + + + + + + + + + + 0x8F60 + + + + + + + + + + + + + + + + + + + + + + + + + 0x9250 + + + + + + + + + + + + + + + 0x80E0 + + + + 0x80E1 + + + + + + + + + + + + + + + 0x8007 + + + + 0x8008 + + + + + + + + + + + + + + + + + + + + + + + + + 0x881A + + + + 0x881B + + + + 0x822F + + + + 0x822D + + + + 0x8211 + + + + 0x8C17 + + + + + + + + + + + + + + + 0x8A4F + + + + 0x8B40 + + + + 0x8B48 + + + + 0x9151 + + + + 0x9153 + + + + 0x9154 + + + + + + + + + + + + + + + + + + + + + + + + + 0x1800 + + + + 0x1801 + + + + 0x1802 + + + + + + + + + + + + + + + 0x0001 + + + + 0x0002 + + + + 0x0004 + + + + 0x0008 + + + + 0x0010 + + + + 0x0020 + + + + + + + + + + + + + + + + + + + + + + + + + 0x8D6C + + + + 0x8CAB + + + + 0x8D56 + + + + 0x8D57 + + + + + + + + + + + + + + + 0x90F0 + + + + 0x90F1 + + + + 0x0C01 + + + + 0x0C02 + + + + 0x90F2 + + + + + + + + + + + + + + + 0x8C2F + + + + 0x8D6A + + + + 0x8865 + + + + 0x8866 + + + + 0x8867 + + + + + + + + + + + + + + + 0x84F9 + + + + 0x84FA + + + + 0x88F0 + + + + 0x88F1 + + + + + + + + + + + + + + + 0x80E1 + + + + 0x8365 + + + + 0x8366 + + + + + + + + + + + + + + + 0x8253 + + + + 0x8254 + + + + 0x8255 + + + + 0x90F3 + + + + 0x8256 + + + + 0x8252 + + + + 0x8261 + + + + + + + + + + + + + + + 0x8C40 + + + + 0x8C42 + + + + 0x8C43 + + + + 0x8210 + + + + + + + + + + + + + + + 0x00000001 + + + + 0x00000002 + + + + 0xFFFFFFFF + + + + 0x8258 + + + + 0x8259 + + + + 0x825A + + + + + + + + + + + + + + + 0x8A52 + + + + + + + + + + + + + + + + + + + + + + + + + + 0x884C + + + + 0x884D + + + + 0x884E + + + + 0x8B62 + + + + + + + + + + + + + + + 0x83F0 + + + + 0x83F1 + + + + + + + + + + + + + + + 0x83F0 + + + + 0x83F1 + + + + 0x83F2 + + + + 0x83F3 + + + + + + + + + + + + + + + 0x84FE + + + + 0x84FF + + + + + + + + + + + + + + + 0x80E1 + + + + + + + + + + + + + + + 0x1903 + + + + 0x8227 + + + + 0x8229 + + + + 0x822B + + + + + + + + + + + + + + + 0x912F + + + + 0x803C + + + + 0x8040 + + + + 0x8045 + + + + 0x8814 + + + + 0x8815 + + + + 0x8816 + + + + 0x8818 + + + + 0x8819 + + + + 0x881A + + + + 0x881B + + + + 0x881C + + + + 0x881E + + + + 0x881F + + + + 0x8059 + + + + 0x8052 + + + + 0x93A1 + + + + 0x8229 + + + + 0x822B + + + + 0x822E + + + + 0x8230 + + + + 0x822D + + + + 0x822F + + + + + + + + + + + + + + + 0x8368 + + + + + + + + + + + + + + + 0x0CF2 + + + + 0x0CF3 + + + + 0x0CF4 + + + + + + + + + + + + + + + 0x9260 + + + + + + + + + + + + + + + 0x9133 + + + + 0x9134 + + + + 0x9135 + + + + 0x9136 + + + + + + + + + + + + + + + 0x9130 + + + + + + + + + + + + + + + 0x80E1 + + + + 0x8365 + + + + + + + + + + + + + + + 0x8C0A + + + + + + + + + + + + + + + 0x8C00 + + + + 0x8C01 + + + + 0x8C02 + + + + 0x8C03 + + + + + + + + + + + + + + + 0x8242 + + + + 0x8243 + + + + 0x8244 + + + + 0x8245 + + + + 0x8246 + + + + 0x8247 + + + + 0x8248 + + + + 0x8249 + + + + 0x824A + + + + 0x824B + + + + 0x824C + + + + 0x824D + + + + 0x824E + + + + 0x824F + + + + 0x8250 + + + + 0x8251 + + + + 0x8268 + + + + 0x8269 + + + + 0x826A + + + + 0x826B + + + + 0x826C + + + + 0x826D + + + + 0x82E0 + + + + 0x82E1 + + + + 0x82E2 + + + + 0x82E3 + + + + 0x82E6 + + + + 0x82E8 + + + + 0x9143 + + + + 0x9144 + + + + 0x9145 + + + + 0x9146 + + + + 0x9147 + + + + 0x9148 + + + + 0x92E0 + + + + 0x00000002 + + + + 0x0503 + + + + 0x0504 + + + + + + + + + + + + + + + 0x93B0 + + + + 0x93B1 + + + + 0x93B2 + + + + 0x93B3 + + + + 0x93B4 + + + + 0x93B5 + + + + 0x93B6 + + + + 0x93B7 + + + + 0x93B8 + + + + 0x93B9 + + + + 0x93BA + + + + 0x93BB + + + + 0x93BC + + + + 0x93BD + + + + 0x93D0 + + + + 0x93D1 + + + + 0x93D2 + + + + 0x93D3 + + + + 0x93D4 + + + + 0x93D5 + + + + 0x93D6 + + + + 0x93D7 + + + + 0x93D8 + + + + 0x93D9 + + + + 0x93DA + + + + 0x93DB + + + + 0x93DC + + + + 0x93DD + + + + + + + + + + + + + + + 0x9047 + + + + 0x9048 + + + + 0x9049 + + + + 0x904A + + + + 0x904B + + + + + + + + + + + + + + + 0x8ED0 + + + + 0x8ED1 + + + + 0x8ED2 + + + + 0x8ED3 + + + + 0x8ED4 + + + + 0x8ED5 + + + + 0x8ED6 + + + + 0x8ED7 + + + + 0x8000 + + + + + + + + + + + + + + + 0x8E2C + + + + + + + + + + + + + + + 0x8824 + + + + 0x8825 + + + + 0x8826 + + + + 0x8827 + + + + 0x8828 + + + + 0x8829 + + + + 0x882A + + + + 0x882B + + + + 0x882C + + + + 0x882D + + + + 0x882E + + + + 0x882F + + + + 0x8830 + + + + 0x8831 + + + + 0x8832 + + + + 0x8833 + + + + 0x8834 + + + + 0x8CE0 + + + + 0x8CE1 + + + + 0x8CE2 + + + + 0x8CE3 + + + + 0x8CE4 + + + + 0x8CE5 + + + + 0x8CE6 + + + + 0x8CE7 + + + + 0x8CE8 + + + + 0x8CE9 + + + + 0x8CEA + + + + 0x8CEB + + + + 0x8CEC + + + + 0x8CED + + + + 0x8CEE + + + + 0x8CEF + + + + + + + + + + + + + + + 0x8CDF + + + + 0x8CE0 + + + + 0x8CE1 + + + + 0x8CE2 + + + + 0x8CE3 + + + + 0x8CE4 + + + + 0x8CE5 + + + + 0x8CE6 + + + + 0x8CE7 + + + + 0x8CE8 + + + + 0x8CE9 + + + + 0x8CEA + + + + 0x8CEB + + + + 0x8CEC + + + + 0x8CED + + + + 0x8CEE + + + + 0x8CEF + + + + + + + + + + + + + + + 0x84F2 + + + + 0x84F3 + + + + 0x84F4 + + + + + + + + + + + + + + + 0x0C02 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0x8D65 + + + + 0x8D66 + + + + 0x8D67 + + + + 0x8D68 + + + + + + + + + + + + + + + 0x8D64 + + + + + + + + + + + + + + + 0x8B90 + + + + 0x8B91 + + + + 0x8B92 + + + + 0x8B93 + + + + 0x8B94 + + + + 0x8B95 + + + + 0x8B96 + + + + 0x8B97 + + + + 0x8B98 + + + + 0x8B99 + + + + + + + + + + + + + + + 0x81A6 + + + + + + + + + + + + + + + 0x81A7 + + + + + + + + + + + + + + + + + + + + + + + + + 0x1405 + + + + + + + + + + + + + + + 0x8741 + + + + 0x87FE + + + + 0x87FF + + + + + + + + + + + + + + + 0x88B9 + + + + 0x88BB + + + + 0x88BC + + + + 0x88BD + + + + + + + + + + + + + + + 0x84F9 + + + + 0x84FA + + + + 0x88F0 + + + + + + + + + + + + + + + 0x803C + + + + 0x81A5 + + + + 0x81A6 + + + + 0x88F0 + + + + 0x81A7 + + + + 0x8043 + + + + 0x8045 + + + + 0x8040 + + + + 0x8056 + + + + 0x8057 + + + + 0x8D62 + + + + 0x8051 + + + + 0x8058 + + + + 0x8052 + + + + 0x8059 + + + + + + + + + + + + + + + 0x8051 + + + + 0x8058 + + + + + + + + + + + + + + + 0x8B8B + + + + + + + + + + + + + + + 0x8D46 + + + + + + + + + + + + + + + 0x8D47 + + + + + + + + + + + + + + + 0x8219 + + + + + + + + + + + + + + + 0x8072 + + + + 0x806F + + + + 0x806A + + + + 0x8073 + + + + 0x8B5F + + + + 0x8CD4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0x8D61 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0x85B5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0x8D61 + + + + + + + + + + + + + + + 0x8DF6 + + + + 0x8DF7 + + + + + + + + + + + + + + + 0x0BC0 + + + + 0x0BC1 + + + + 0x0BC2 + + + + + + + + + + + + + + + 0x8FB0 + + + + 0x8FB1 + + + + 0x8FB2 + + + + 0x8FB3 + + + + + + + + + + + + + + + + + + + + + + + + + 0x8BD2 + + + + 0x8BD3 + + + + 0x8BD4 + + + + 0x8BD5 + + + + 0x8BD6 + + + + 0x8BD7 + + + + 0x8BD8 + + + + 0x8BD9 + + + + 0x8BDA + + + + 0x8BDB + + + + 0x8BDC + + + + + + + + + + + + + + + + + + + + + + + + + 0x8FA0 + + + + + + + + + + + + + + + 0x00000001 + + + + 0x00000002 + + + + 0x00000004 + + + + 0x00000008 + + + + 0x00000010 + + + + 0x00000020 + + + + 0x00000040 + + + + 0x00000080 + + + + 0x00000100 + + + + 0x00000200 + + + + 0x00000400 + + + + 0x00000800 + + + + 0x00001000 + + + + 0x00002000 + + + + 0x00004000 + + + + 0x00008000 + + + + 0x00010000 + + + + 0x00020000 + + + + 0x00040000 + + + + 0x00080000 + + + + 0x00100000 + + + + 0x00200000 + + + + 0x00400000 + + + + 0x00800000 + + + + 0x01000000 + + + + 0x02000000 + + + + 0x04000000 + + + + 0x08000000 + + + + 0x10000000 + + + + 0x20000000 + + + + 0x40000000 + + + + 0x80000000 + + + + + + + + + + + + + + + 0x8823 + + + + + + + + + + + + + + + 0x8FC4 + + + + + + + + + + + + + + + + + + + + + + + + A utility for storing, accessing and converting colors in an ARGB + (alpha, red, green, blue) color format. + + ```haxe + var color:ARGB = 0xFF883300; + trace (color.a); // 0xFF + trace (color.r); // 0x88 + trace (color.g); // 0x33 + trace (color.b); // 0x00 + + var convert:BGRA = color; // 0x003388FF + ``` + + + + + + + Accesses the alpha component of the color + + + + Accesses the blue component of the color + + + + Accesses the green component of the color + + + + Accesses the red component of the color + + <_new public="1" get="inline" set="null" line="51" static="1"> + + + + + + { argb : 0 } + + + Creates a new ARGB instance + @param argb (Optional) An ARGB color value + + + + + + + + + + Creates a new ARGB instance from component values + @param a An alpha component value + @param r A red component value + @param g A green component value + @param b A blue component value + @return A new ARGB instance + + + + + + + Multiplies the red, green and blue components by the current alpha component + + + + + + + + + + + { premultiplied : false, format : RGBA32 } + Reads a value from a `UInt8Array` into the current `ARGB` color + @param data A `UInt8Array` instance + @param offset An offset into the `UInt8Array` to read + @param format (Optional) The `PixelFormat` represented by the `UInt8Array` data + @param premultiplied (Optional) Whether the data is stored in premultiplied alpha format + + + + + + + + + + + Sets the current `ARGB` color to new component values + @param a The alpha component value to set + @param r The red component value to set + @param g The green component value to set + @param b The blue component vlaue to set + + + + + + + Divides the current red, green and blue components by the alpha component + + + + + + + + + + + { premultiplied : false, format : RGBA32 } + Writes the current `ARGB` color into a `UInt8Array` + @param data A `UInt8Array` instance + @param offset An offset into the `UInt8Array` to write + @param format (Optional) The `PixelFormat` represented by the `UInt8Array` data + @param premultiplied (Optional) Whether the data is stored in premultiplied alpha format + + <__fromBGRA get="inline" set="null" line="175" static="1"> + + + + + + + <__fromRGBA get="inline" set="null" line="180" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Accesses the alpha component of the color + + + + Accesses the blue component of the color + + + + Accesses the green component of the color + + + + Accesses the red component of the color + + <_new public="1" get="inline" set="null" line="51" static="1"> + + + + + + { argb : 0 } + + + Creates a new ARGB instance + @param argb (Optional) An ARGB color value + + + + + + + + + + Creates a new ARGB instance from component values + @param a An alpha component value + @param r A red component value + @param g A green component value + @param b A blue component value + @return A new ARGB instance + + + + + + + Multiplies the red, green and blue components by the current alpha component + + + + + + + + + + + { premultiplied : false, format : RGBA32 } + Reads a value from a `UInt8Array` into the current `ARGB` color + @param data A `UInt8Array` instance + @param offset An offset into the `UInt8Array` to read + @param format (Optional) The `PixelFormat` represented by the `UInt8Array` data + @param premultiplied (Optional) Whether the data is stored in premultiplied alpha format + + + + + + + + + + + Sets the current `ARGB` color to new component values + @param a The alpha component value to set + @param r The red component value to set + @param g The green component value to set + @param b The blue component vlaue to set + + + + + + + Divides the current red, green and blue components by the alpha component + + + + + + + + + + + { premultiplied : false, format : RGBA32 } + Writes the current `ARGB` color into a `UInt8Array` + @param data A `UInt8Array` instance + @param offset An offset into the `UInt8Array` to write + @param format (Optional) The `PixelFormat` represented by the `UInt8Array` data + @param premultiplied (Optional) Whether the data is stored in premultiplied alpha format + + <__fromBGRA get="inline" set="null" line="175" static="1"> + + + + + + + <__fromRGBA get="inline" set="null" line="180" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A utility for storing, accessing and converting colors in a BGRA + (blue, green, red, alpha) color format. + + ```haxe + var color:BGRA = 0x003388FF; + trace (color.b); // 0x00 + trace (color.g); // 0x33 + trace (color.r); // 0x88 + trace (color.a); // 0xFF + + var convert:ARGB = color; // 0xFF883300 + ``` + + + + + + + Accesses the alpha component of the color + + + + Accesses the blue component of the color + + + + Accesses the green component of the color + + + + Accesses the red component of the color + + <_new public="1" get="inline" set="null" line="51" static="1"> + + + + + + { bgra : 0 } + + + Creates a new BGRA instance + @param bgra (Optional) A BGRA color value + + + + + + + + + + Creates a new BGRA instance from component values + @param b A blue component value + @param g A green component value + @param r A red component value + @param a An alpha component value + @return A new BGRA instance + + + + + + + Multiplies the red, green and blue components by the current alpha component + + + + + + + + + + + { premultiplied : false, format : RGBA32 } + Reads a value from a `UInt8Array` into the current `BGRA` color + @param data A `UInt8Array` instance + @param offset An offset into the `UInt8Array` to read + @param format (Optional) The `PixelFormat` represented by the `UInt8Array` data + @param premultiplied (Optional) Whether the data is stored in premultiplied alpha format + + + + + + + + + + + Sets the current `BGRA` color to new component values + @param b The blue component vlaue to set + @param g The green component value to set + @param r The red component value to set + @param a The alpha component value to set + + + + + + + Divides the current red, green and blue components by the alpha component + + + + + + + + + + + { premultiplied : false, format : RGBA32 } + Writes the current `BGRA` color into a `UInt8Array` + @param data A `UInt8Array` instance + @param offset An offset into the `UInt8Array` to write + @param format (Optional) The `PixelFormat` represented by the `UInt8Array` data + @param premultiplied (Optional) Whether the data is stored in premultiplied alpha format + + <__fromARGB get="inline" set="null" line="175" static="1"> + + + + + + + <__fromRGBA get="inline" set="null" line="180" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Accesses the alpha component of the color + + + + Accesses the blue component of the color + + + + Accesses the green component of the color + + + + Accesses the red component of the color + + <_new public="1" get="inline" set="null" line="51" static="1"> + + + + + + { bgra : 0 } + + + Creates a new BGRA instance + @param bgra (Optional) A BGRA color value + + + + + + + + + + Creates a new BGRA instance from component values + @param b A blue component value + @param g A green component value + @param r A red component value + @param a An alpha component value + @return A new BGRA instance + + + + + + + Multiplies the red, green and blue components by the current alpha component + + + + + + + + + + + { premultiplied : false, format : RGBA32 } + Reads a value from a `UInt8Array` into the current `BGRA` color + @param data A `UInt8Array` instance + @param offset An offset into the `UInt8Array` to read + @param format (Optional) The `PixelFormat` represented by the `UInt8Array` data + @param premultiplied (Optional) Whether the data is stored in premultiplied alpha format + + + + + + + + + + + Sets the current `BGRA` color to new component values + @param b The blue component vlaue to set + @param g The green component value to set + @param r The red component value to set + @param a The alpha component value to set + + + + + + + Divides the current red, green and blue components by the alpha component + + + + + + + + + + + { premultiplied : false, format : RGBA32 } + Writes the current `BGRA` color into a `UInt8Array` + @param data A `UInt8Array` instance + @param offset An offset into the `UInt8Array` to write + @param format (Optional) The `PixelFormat` represented by the `UInt8Array` data + @param premultiplied (Optional) Whether the data is stored in premultiplied alpha format + + <__fromARGB get="inline" set="null" line="175" static="1"> + + + + + + + <__fromRGBA get="inline" set="null" line="180" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + `ColorMatrix` is a 4x5 matrix containing color multiplication + and offset values for tinting and other kinds of color + manipulation. In addition to using the multiplier, offset and + `color` properties, it can be edited directly as a `Float32Array` + + <__alphaTable static="1"> + <__blueTable static="1"> + <__greenTable static="1"> + <__identity expr="[1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]" line="20" static="1"> + + [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0] + + <__redTable static="1"> + + + The current alpha multiplication value (default is 1.0) + + + + The current alpha offset value (default is 0) + + + + The current blue multiplication value (default is 1.0) + + + + The current blue offset value (default is 0) + + + + Gets or sets a color offset for tinting. + + This will change the red, green and blue multipliers + to zero, and affect the red, green and blue offset + values. + + + + The current green multiplication value (default is 1.0) + + + + The current green offset value (default is 0) + + + + The current red multiplication value (default is 1.0) + + + + The current red offset value (default is 0) + + <_new public="1" set="method" line="78" static="1"> + + + + + + { data : null } + + + Creates a new `ColorMatrix` instance + @param data (Optional) Initial `Float32Array` data to use + + + + + + + Creates a duplicate of the current `ColorMatrix` instance + @return A new `ColorMatrix` instance + + + + + + + + Adds the color multipliers from a second `ColorMatrix` to the current one + @param second The `ColorMatrix` to `concat` to the current one + + + + + + + + Sets the current `ColorMatrix` values to the same as another one + @param other The `ColorMatrix` to copy from + + + + + + + Resets to default values + + + + + + + Returns a reference to a `UInt8Array` table for transforming + alpha values using the current matrix. + + The table is 256 values in length, and includes values based + on the `alphaMultipler` and `alphaOffset` values of the matrix. + + The values are constrained within 0 and 255. + + For example: + + ```haxe + var colorMatrix = new ColorMatrix (); + colorMatrix.alphaOffset = 12; + + var alphaTable = colorMatrix.getAlphaTable (); + trace (alphaTable[0]); // 12 + trace (alphaTable[1]); // 13 + ``` + + + + + + + Returns a reference to a `UInt8Array` table for transforming + blue values using the current matrix. + + The table is 256 values in length, and includes values based + on the `blueMultiplier` and `blueOffset` values of the matrix. + + The values are constrained within 0 and 255. + + For example: + + ```haxe + var colorMatrix = new ColorMatrix (); + colorMatrix.blueOffset = 16; + + var blueTable = colorMatrix.getBlueTable (); + trace (blueTable[0]); // 16 + trace (blueTable[1]); // 17 + ``` + + + + + + + Returns a reference to a `UInt8Array` table for transforming + green values using the current matrix. + + The table is 256 values in length, and includes values based + on the `greenMultiplier` and `greenOffset` values of the matrix. + + The values are constrained within 0 and 255. + + For example: + + ```haxe + var colorMatrix = new ColorMatrix (); + colorMatrix.greenOffset = 16; + + var greenTable = colorMatrix.getGreenTable (); + trace (greenTable[0]); // 16 + trace (greenTable[1]); // 17 + ``` + + + + + + + Returns a reference to a `UInt8Array` table for transforming + red values using the current matrix. + + The table is 256 values in length, and includes values based + on the `redMultiplier` and `redOffset` values of the matrix. + + The values are constrained within 0 and 255. + + For example: + + ```haxe + var colorMatrix = new ColorMatrix (); + colorMatrix.redOffset = 16; + + var redTable = colorMatrix.getRedTable (); + trace (redTable[0]); // 16 + trace (redTable[1]); // 17 + ``` + + <__toFlashColorTransform set="method" line="309" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + hide + + + + + + + + + + + + + hide + + + + + + + + + <__alphaTable static="1"> + <__blueTable static="1"> + <__greenTable static="1"> + <__identity expr="[1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]" line="20" static="1"> + + [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0] + + <__redTable static="1"> + + + The current alpha multiplication value (default is 1.0) + + + + The current alpha offset value (default is 0) + + + + The current blue multiplication value (default is 1.0) + + + + The current blue offset value (default is 0) + + + + Gets or sets a color offset for tinting. + + This will change the red, green and blue multipliers + to zero, and affect the red, green and blue offset + values. + + + + The current green multiplication value (default is 1.0) + + + + The current green offset value (default is 0) + + + + The current red multiplication value (default is 1.0) + + + + The current red offset value (default is 0) + + <_new public="1" set="method" line="78" static="1"> + + + + + + { data : null } + + + Creates a new `ColorMatrix` instance + @param data (Optional) Initial `Float32Array` data to use + + + + + + + Creates a duplicate of the current `ColorMatrix` instance + @return A new `ColorMatrix` instance + + + + + + + + Adds the color multipliers from a second `ColorMatrix` to the current one + @param second The `ColorMatrix` to `concat` to the current one + + + + + + + + Sets the current `ColorMatrix` values to the same as another one + @param other The `ColorMatrix` to copy from + + + + + + + Resets to default values + + + + + + + Returns a reference to a `UInt8Array` table for transforming + alpha values using the current matrix. + + The table is 256 values in length, and includes values based + on the `alphaMultipler` and `alphaOffset` values of the matrix. + + The values are constrained within 0 and 255. + + For example: + + ```haxe + var colorMatrix = new ColorMatrix (); + colorMatrix.alphaOffset = 12; + + var alphaTable = colorMatrix.getAlphaTable (); + trace (alphaTable[0]); // 12 + trace (alphaTable[1]); // 13 + ``` + + + + + + + Returns a reference to a `UInt8Array` table for transforming + blue values using the current matrix. + + The table is 256 values in length, and includes values based + on the `blueMultiplier` and `blueOffset` values of the matrix. + + The values are constrained within 0 and 255. + + For example: + + ```haxe + var colorMatrix = new ColorMatrix (); + colorMatrix.blueOffset = 16; + + var blueTable = colorMatrix.getBlueTable (); + trace (blueTable[0]); // 16 + trace (blueTable[1]); // 17 + ``` + + + + + + + Returns a reference to a `UInt8Array` table for transforming + green values using the current matrix. + + The table is 256 values in length, and includes values based + on the `greenMultiplier` and `greenOffset` values of the matrix. + + The values are constrained within 0 and 255. + + For example: + + ```haxe + var colorMatrix = new ColorMatrix (); + colorMatrix.greenOffset = 16; + + var greenTable = colorMatrix.getGreenTable (); + trace (greenTable[0]); // 16 + trace (greenTable[1]); // 17 + ``` + + + + + + + Returns a reference to a `UInt8Array` table for transforming + red values using the current matrix. + + The table is 256 values in length, and includes values based + on the `redMultiplier` and `redOffset` values of the matrix. + + The values are constrained within 0 and 255. + + For example: + + ```haxe + var colorMatrix = new ColorMatrix (); + colorMatrix.redOffset = 16; + + var redTable = colorMatrix.getRedTable (); + trace (redTable[0]); // 16 + trace (redTable[1]); // 17 + ``` + + <__toFlashColorTransform set="method" line="309" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + hide + + + + + + + + + + + + + hide + + + + + + + + + + + + + + `Matrix4` is a 4x4 matrix, useful for 3D calculations + + <__identity expr="[1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0]" line="11" static="1"> + + [1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0] + + + + Gets the determinant of the matrix + + + + Gets or sets the position value of this matrix + + <_new public="1" set="method" line="27" static="1"> + + + + + + { data : null } + + + Creates a new matrix instance + @param data (Optional) A `Float32Array` of 16 values to use for this matrix + + + + + + + + Appends a second matrix by multiplying its values against the current one + @param lhs A second matrix instance + + + + + + + + + + { pivotPoint : null } + Appends rotation to the current matrix + @param degrees A rotation value (in degrees) + @param axis The coordinate position of the rotation axis + @param pivotPoint (Optional) A pivot point to use in the rotation + + + + + + + + + + Appends a scale value to the current matrix + @param xScale The x scale to append + @param yScale The y scale to append + @param zScale The z scale to append + + + + + + + + + + Increases the position/translation of the current matrix + @param x The x amount to offset the current position + @param y The y amount to offset the current position + @param z The z amount to offset the current position + + + + + + + Creates a duplicate of the current `Matrix4` + @return A new `Matrix4` with the same values as the current matrix + + + + + + + + + Copies a column of data from a `Vector4` instance into the values of this matrix + @param column The column to copy into (0, 1, 2 or 3) + @param vector The `Vector4` copy from + + + + + + + + + Copies a column of data from the current matrix into a `Vector4` instance + @param column The column to copy (0, 1, 2 or 3) + @param vector The `Vector4` copy to + + + + + + + + Copies the values of another `Matrix4` into the current matrix + @param other A `Matrix4` instance to copy from + + + + + + + + + Copies a row of data from a `Vector4` instance into the values of this matrix + @param row The row to copy into (0, 1, 2 or 3) + @param vector The `Vector4` copy from + + + + + + + + + Copies a row of data from the current matrix into a `Vector4` instance + @param column The row to copy (0, 1, 2 or 3) + @param vector The `Vector4` copy to + + + + + + + + + + + + + { ty : 0, tx : 0 } + Resets the current matrix using two-dimensional transform values + @param a A two-dimensional matrix a value + @param b A two-dimensional matrix b value + @param c A two-dimensional matrix c value + @param d A two-dimensional matrix d value + @param tx (Optional) A two-dimensional matrix tx value (default is 0) + @param ty (Optional) A two-dimensional matrix ty value (default is 0) + + + + + + + + + + + + + Initializes this matrix with values for an orthographic projection, useful in rendering + @param left The left (or x0) coordinate for the projection + @param right The right (or x1) coordinate for the projection + @param bottom The bottom (or y0) coordinate for the projection + @param top The top (or y1) coordinate for the projection + @param zNear The near depth-clipping plane position + @param zFar The far depth-clipping plane position + + + + + + + + + { result : null } + * Returns the transformation matrix's translation, rotation, and scale settings as a Vector of three Vector4 objects. + + + + + + + + + + + + + + Resets the current matrix using default identity values + + + + + + + + + + { result : null } + Interpolates from one `Matrix4` instance to another, given a percentage between the two + @param thisMat The first `Matrix4` object to start from + @param toMat The second `Matrix4` object to interpolate toward + @param percent The percentage value to interpolate by + @param result (Optional) A `Matrix4` instance to use when returning the result + @return A `Matrix4` with the resulting value + + + + + + + + + Interpolates the current matrix toward another matrix, resetting the values of the current matrix + @param toMat The second `Matrix4` object to interpolate toward + @param percetn The percentage value to interpolate by + + + + + + + Attempts to invert the current matrix, so long as the determinant is greater than zero + @return Whether the `invert` operation was successful + + + + + + + + + + { up : null, at : null } + Sets the matrix values as a transformation orientated toward a certain vector position + @param pos A target vector position in absolute coordinates + @param at (Optional) A vector relative to this matrix which defines the current direction + @param up (Optional) A vector relative to this matrix which defines the "up" direction + + + + + + + + Prepends a right-hand matrix to the current matrix + @param rhx A right-hand `Matrix4` to append + + + + + + + + + + { pivotPoint : null } + Prepends rotation to this matrix + @param degrees The rotation amount in degrees + @param axis The rotation axis + @param pivotPoint (Optional) A pivot point for the rotation + + + + + + + + + + Prepends scale to this matrix + @param xScale An x scale value + @param yScale A y scale value + @param zScale A z scale value + + + + + + + + + + Prepends translation values to this matrix + @param x An x translation value + @param y A y translation value + @param z A z translation value + + + + + + + + + { result : null } + Transforms a `Vector4` instance using the current matrix + @param result (Optional) An existing `Vector2` instance to fill with the result + @return The resulting `Vector4` instance + + + + + + + + + Transforms a series of [x, y, z] value pairs at once + @param ain An input `Float32Array` to transform + @param aout An output `Float32Array` to write to + + + + + + + Transposes the current matrix + + <__getAxisRotation set="method" line="919" static="1"> + + + + + + + + + + + <__swap get="inline" set="null" line="949" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + hide + + + + + + + + + + + + + hide + + + + + + + + + <__identity expr="[1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0]" line="11" static="1"> + + [1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0] + + + + Gets the determinant of the matrix + + + + Gets or sets the position value of this matrix + + <_new public="1" set="method" line="27" static="1"> + + + + + + { data : null } + + + Creates a new matrix instance + @param data (Optional) A `Float32Array` of 16 values to use for this matrix + + + + + + + + Appends a second matrix by multiplying its values against the current one + @param lhs A second matrix instance + + + + + + + + + + { pivotPoint : null } + Appends rotation to the current matrix + @param degrees A rotation value (in degrees) + @param axis The coordinate position of the rotation axis + @param pivotPoint (Optional) A pivot point to use in the rotation + + + + + + + + + + Appends a scale value to the current matrix + @param xScale The x scale to append + @param yScale The y scale to append + @param zScale The z scale to append + + + + + + + + + + Increases the position/translation of the current matrix + @param x The x amount to offset the current position + @param y The y amount to offset the current position + @param z The z amount to offset the current position + + + + + + + Creates a duplicate of the current `Matrix4` + @return A new `Matrix4` with the same values as the current matrix + + + + + + + + + Copies a column of data from a `Vector4` instance into the values of this matrix + @param column The column to copy into (0, 1, 2 or 3) + @param vector The `Vector4` copy from + + + + + + + + + Copies a column of data from the current matrix into a `Vector4` instance + @param column The column to copy (0, 1, 2 or 3) + @param vector The `Vector4` copy to + + + + + + + + Copies the values of another `Matrix4` into the current matrix + @param other A `Matrix4` instance to copy from + + + + + + + + + Copies a row of data from a `Vector4` instance into the values of this matrix + @param row The row to copy into (0, 1, 2 or 3) + @param vector The `Vector4` copy from + + + + + + + + + Copies a row of data from the current matrix into a `Vector4` instance + @param column The row to copy (0, 1, 2 or 3) + @param vector The `Vector4` copy to + + + + + + + + + + + + + { ty : 0, tx : 0 } + Resets the current matrix using two-dimensional transform values + @param a A two-dimensional matrix a value + @param b A two-dimensional matrix b value + @param c A two-dimensional matrix c value + @param d A two-dimensional matrix d value + @param tx (Optional) A two-dimensional matrix tx value (default is 0) + @param ty (Optional) A two-dimensional matrix ty value (default is 0) + + + + + + + + + + + + + Initializes this matrix with values for an orthographic projection, useful in rendering + @param left The left (or x0) coordinate for the projection + @param right The right (or x1) coordinate for the projection + @param bottom The bottom (or y0) coordinate for the projection + @param top The top (or y1) coordinate for the projection + @param zNear The near depth-clipping plane position + @param zFar The far depth-clipping plane position + + + + + + + + + { result : null } + * Returns the transformation matrix's translation, rotation, and scale settings as a Vector of three Vector4 objects. + + + + + + + + + + + + + + Resets the current matrix using default identity values + + + + + + + + + + { result : null } + Interpolates from one `Matrix4` instance to another, given a percentage between the two + @param thisMat The first `Matrix4` object to start from + @param toMat The second `Matrix4` object to interpolate toward + @param percent The percentage value to interpolate by + @param result (Optional) A `Matrix4` instance to use when returning the result + @return A `Matrix4` with the resulting value + + + + + + + + + Interpolates the current matrix toward another matrix, resetting the values of the current matrix + @param toMat The second `Matrix4` object to interpolate toward + @param percetn The percentage value to interpolate by + + + + + + + Attempts to invert the current matrix, so long as the determinant is greater than zero + @return Whether the `invert` operation was successful + + + + + + + + + + { up : null, at : null } + Sets the matrix values as a transformation orientated toward a certain vector position + @param pos A target vector position in absolute coordinates + @param at (Optional) A vector relative to this matrix which defines the current direction + @param up (Optional) A vector relative to this matrix which defines the "up" direction + + + + + + + + Prepends a right-hand matrix to the current matrix + @param rhx A right-hand `Matrix4` to append + + + + + + + + + + { pivotPoint : null } + Prepends rotation to this matrix + @param degrees The rotation amount in degrees + @param axis The rotation axis + @param pivotPoint (Optional) A pivot point for the rotation + + + + + + + + + + Prepends scale to this matrix + @param xScale An x scale value + @param yScale A y scale value + @param zScale A z scale value + + + + + + + + + + Prepends translation values to this matrix + @param x An x translation value + @param y A y translation value + @param z A z translation value + + + + + + + + + { result : null } + Transforms a `Vector4` instance using the current matrix + @param result (Optional) An existing `Vector2` instance to fill with the result + @return The resulting `Vector4` instance + + + + + + + + + Transforms a series of [x, y, z] value pairs at once + @param ain An input `Float32Array` to transform + @param aout An output `Float32Array` to write to + + + + + + + Transposes the current matrix + + <__getAxisRotation set="method" line="919" static="1"> + + + + + + + + + + + <__swap get="inline" set="null" line="949" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + hide + + + + + + + + + + + + + hide + + + + + + + + + + + + + + + + + + + A utility for storing, accessing and converting colors in an RGBA + (red, green, blue, alpha) color format. + + ```haxe + var color:RGBA = 0x883300FF; + trace (color.r); // 0x88 + trace (color.g); // 0x33 + trace (color.b); // 0x00 + trace (color.a); // 0xFF + + var convert:ARGB = color; // 0xFF883300 + ``` + + lime.math + + + + <__alpha16 static="1"> + <__clamp static="1"> + + + + + Accesses the alpha component of the color + + + + Accesses the blue component of the color + + + + Accesses the green component of the color + + + + Accesses the red component of the color + + <_new public="1" get="inline" set="null" line="104" static="1"> + + + + + + { rgba : 0 } + + + Creates a new RGBA instance + @param rgba (Optional) An RGBA color value + + + + + + + + + + Creates a new RGBA instance from component values + @param r A red component value + @param g A green component value + @param b A blue component value + @param a An alpha component value + @return A new RGBA instance + + + + + + + Multiplies the red, green and blue components by the current alpha component + + + + + + + + + + + { premultiplied : false, format : RGBA32 } + Reads a value from a `UInt8Array` into the current `RGBA` color + @param data A `UInt8Array` instance + @param offset An offset into the `UInt8Array` to read + @param format (Optional) The `PixelFormat` represented by the `UInt8Array` data + @param premultiplied (Optional) Whether the data is stored in premultiplied alpha format + + + + + + + + + + + Sets the current `RGBA` color to new component values + @param r The red component value to set + @param g The green component value to set + @param b The blue component vlaue to set + @param a The alpha component value to set + + + + + + + Divides the current red, green and blue components by the alpha component + + + + + + + + + + + { premultiplied : false, format : RGBA32 } + Writes the current `RGBA` color into a `UInt8Array` + @param data A `UInt8Array` instance + @param offset An offset into the `UInt8Array` to write + @param format (Optional) The `PixelFormat` represented by the `UInt8Array` data + @param premultiplied (Optional) Whether the data is stored in premultiplied alpha format + + <__fromARGB get="inline" set="null" line="231" static="1"> + + + + + + + <__fromBGRA get="inline" set="null" line="236" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lime.math + + + + + + + TypedArrayType.None + + + + + + + + 0 + + + + + + + lime.utils + + + + + + + + + + { len : null, in_byteOffset : 0 } + lime.utils + + + + + + + + lime.utils + + + + + + + + + { offset : 0, array : null, view : null } + + + + + + + + { srcByteOffset : 0 } + + + + + + + + + + + + + + + + + { offset : 0 } + + + + + + + + + { elements : null } + lime.utils + + + + + "tags=\"haxe,release\"" + + + + + + + + + + hide + + + + <__alpha16 static="1"> + <__clamp static="1"> + + + + + Accesses the alpha component of the color + + + + Accesses the blue component of the color + + + + Accesses the green component of the color + + + + Accesses the red component of the color + + <_new public="1" get="inline" set="null" line="104" static="1"> + + + + + + { rgba : 0 } + + + Creates a new RGBA instance + @param rgba (Optional) An RGBA color value + + + + + + + + + + Creates a new RGBA instance from component values + @param r A red component value + @param g A green component value + @param b A blue component value + @param a An alpha component value + @return A new RGBA instance + + + + + + + Multiplies the red, green and blue components by the current alpha component + + + + + + + + + + + { premultiplied : false, format : RGBA32 } + Reads a value from a `UInt8Array` into the current `RGBA` color + @param data A `UInt8Array` instance + @param offset An offset into the `UInt8Array` to read + @param format (Optional) The `PixelFormat` represented by the `UInt8Array` data + @param premultiplied (Optional) Whether the data is stored in premultiplied alpha format + + + + + + + + + + + Sets the current `RGBA` color to new component values + @param r The red component value to set + @param g The green component value to set + @param b The blue component vlaue to set + @param a The alpha component value to set + + + + + + + Divides the current red, green and blue components by the alpha component + + + + + + + + + + + { premultiplied : false, format : RGBA32 } + Writes the current `RGBA` color into a `UInt8Array` + @param data A `UInt8Array` instance + @param offset An offset into the `UInt8Array` to write + @param format (Optional) The `PixelFormat` represented by the `UInt8Array` data + @param premultiplied (Optional) Whether the data is stored in premultiplied alpha format + + <__fromARGB get="inline" set="null" line="231" static="1"> + + + + + + + <__fromBGRA get="inline" set="null" line="236" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lime.math + + + + + + Get or set the bottom (y + height) value of the `Rectangle` + + + + Get or set the bottom-right (x + width, y + height) as a `Vector2` + + + + Get or set the height of the rectangle + + + + Get or set the left (x) of the rectangle + + + + Get or set the right (x + width) of the rectangle + + + + Get or set the size (width, height) as a `Vector2` + + + + Get or set the top (y) of the rectangle + + + + Get or set the top-left (x, y) as a `Vector2` + + + + Get or set the width of the rectangle + + + + Get or set the x of the rectangle + + + + Get or set the y of the rectangle + + + + Creates a clone of this `Rectangle` + @return A new `Rectangle` instance + + + + + + + + Returns whether this rectangle contains the specified (x, y) point + @param x The x coordinate to test + @param y The y coordinate to test + @return Whether the point is contained in the rectangle + + + + + + + + hide + + "Use containsVector" + + + + + + + + Returns whether this rectangle contains another rectangle + This will return `false` if the second rectangle only + overlaps but is not fully contained within the current rectangle + @param rect A second `Rectangle` instance to test + @return Whether the `rect` is contained within the current `Rectangle` + + + + + + + Returns whether this rectangle contains the specified vector + @param vector The vector to test + @return Whether the vector is contained in the rectangle + + + + + + + Copies the x, y, width and height of another `Rectangle` + @param sourceRect Another `Rectangle` instance + + + + + + + Checks whether the current `Rectangle` and another + instance have equal values + @param toCompare Another `Rectangle` to compare with + @return Whether both rectangles are not `null` and have equal values + + + + + + + + Increases the size of the current rectangle by + the given delta x and y values + @param dx A delta x value to increase the size by + @param dy A delta y value to increase the size by + + + + + + + Increases the size of the current rectangle by + the given delta vector values + @param vector A delta vector to increase the size by + + + + + + + + { result : null } + Returns a new rectangle with the area where the current + `Rectangle` and another `Rectangle` instance overlap. + If they do not overlap, the returned `Rectangle` will + be empty + @param toIntersect Another `Rectangle` instance to intersect with + @param result (Optional) A `Rectangle` instance to use for the result + @return A `Rectangle` of the intersection area + + + + + + + Returns if the current `Rectangle` overlaps with another instance + @param toIntersect Another `Rectangle` to compare with + @return Whether the rectangles intersect + + + + + + + + + + + + Moves the rectangle by offset x and values + @param dx A delta x value + @param dy A delta y value + + + + + + + Moves the rectangle by the values of a `Vector2` + @param dx A delta vector + + + + Makes this rectangle empty + + + + + + + + + + Sets the values of this rectangle at once + @param xa A new x value + @param ya A new y value + @param widtha A new width value + @param heighta A new height value + + + + + + + + { result : null } + Combines two rectangles together, returning the + minimum `Rectangle` that contains both rectangles + @param toUnion A second `Rectangle` to unify + @param result (Optional) A `Rectangle` instance for the result + @return A `Rectangle` that contains the dimensions of both rectangles + + <__toFlashRectangle set="method" line="336"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { height : 0, width : 0, y : 0, x : 0 } + Create a new `Rectangle` instance + @param x (Optional) Initial x value (default is 0) + @param y (Optional) Initial y value (default is 0) + @param width (Optional) Initial width value (default is 0) + @param height (Optional) Initial height value (default is 0) + + The `Rectangle` class provides a simple object for storing + and manipulating a logical rectangle for calculations + + + "tags=\"haxe,release\"" + + + + + + + A constant representing the x axis (1, 0, 0) + + + + A constant representing the y axis (0, 1, 0) + + + + A constant representing the z axis (0, 0, 1) + + + + + + + + Calculates the angle between two `Vector4` coordinates + @param a A `Vector4` instance + @param b A second `Vector4` instance + @return The calculated angle + + + + + + + + Calculates the distance between two vectors + @param pt1 A `Vector4` instance + @param pt2 A second `Vector4` instance + @return The distance between each vector + + + + + + + + Calculates the squared distance between two vectors, + (avoids the use of `Math.sqrt` for faster performance) + @param pt1 A `Vector4` instance + @param pt2 A second `Vector4` instance + @return The square of the distance between each vector + + + + + + + Get the length of this vector + + + + Get the squared length of this vector + (avoiding the use of `Math.sqrt` for faster + performance) + + + + The w component value + + + + The x component value + + + + The y component value + + + + The z component value + + + + + + + + { result : null } + Adds two `Vector4` instances together and returns the result + @param a A `Vector4` instance to add to the current one + @param result (Optional) A `Vector4` instance to store the result + @return A `Vector4` instance with the added value + + + + Creates a new `Vector4` instance with the same values as the current one + @return A new `Vector4` instance with the same values + + + + + + + Copies the x, y and z component values of another `Vector4` instance + @param sourceVector4 A `Vector4` instance to copy from + + + + + + + + { result : null } + Performs vector multiplication between this vector and another `Vector4` instance + @param a A `Vector4` instance to multiply by + @param result (Optional) A `Vector4` to use for the result + @return A `Vector4` instance with the result + + + + + + + Decrements the x, y and z component values by those in another `Vector4` instance + @param a A `Vector4` instance to decrement the current vector by + + + + + + + Calculates the dot product of the current vector with another `Vector4` instance + @param a A `Vector4` instance to use in the dot product + @return The calculated dot product value + + + + + + + + { allFour : false } + Whether two `Vector4` instances have equal component values. + + Comparing the w component value is optional. + @param toCompare A `Vector4` instance to compare against + @param allFour (Optional) Whether to compare against the w component (default is false) + @return Whether both instances have equal values + + + + + + + Increments the x, y and z component values by those in a second `Vector4` instance + @param a A `Vector4` instance to increment the current vector by + + + + + + + + + { allFour : false } + Whether two `Vector4` instances have nearly equal component values. + Comparison is performed within a given tolerance value. + @param toCompare A `Vector4` instance to compare against + @param tolerance A floating point value determining how near the values must be to be considered near equal + @param allFour (Optional) Whether to compare against the w component (default is false) + @return Whether both instances have equal values, within the given tolerance + + + + Negates the x, y and z values of the current vector + (multiplying each value by -1) + + + + Divides the x, y and z component values by the + length of the vector + + + + Divides the x, y and z component values by the + w component value + + + + + + + Scales the x, y and z component values by a scale value + @param s The amount of scale to apply + + + + + + + + + Sets the x, y and z component values + @param xa An x value + @param ya A y value + @param za A z value + + + + + + + + { result : null } + Subtracts the values of a second `Vector4` instance + from the current one + @param a A second `Vector4` instance to substract + @param result (Optional) A `Vector4` instance to store the result + @return A `Vector4` instance containing the subtracted value + + + + hide + + + + + + + + + + + + + + + + + + { w : 0., z : 0., y : 0., x : 0. } + Creates a new `Vector4` instance + @param x (Optional) An initial x value (default is 0) + @param y (Optional) An initial y value (default is 0) + @param z (Optional) An initial z value (default is 0) + @param w (Optional) An initial w value (default is 0) + + `Vector4` is a vector suitable for three-dimensional + math, containing (x, y, z, w) components + + + "tags=\"haxe,release\"" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <__getCodec set="method" line="343" static="1"> + + + + + + + + + <__srcAudio> + + + + <__srcBuffer> + + + + <__srcCustom> + + + + <__srcHowl> + + + + <__srcSound> + + + + <__srcVorbisFile> + + + + + + + + + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + lime.utils.Assets + "tags=\"haxe,release\"" + + + + + + + + + + + + + + + + { type : null } + + + + lime.media.FlashAudioContext + lime.media.HTML5AudioContext + lime.media.OpenALAudioContext + lime.media.WebAudioContext + + + + + + + + + + + + cast "flash" + + + + + + + + cast "html5" + + + + + + + + cast "openal" + + + + + + + + cast "web" + + + + + + + + cast "custom" + + + + + + + + + + + + cast "flash" + + + + + + + + cast "html5" + + + + + + + + cast "openal" + + + + + + + + cast "web" + + + + + + + + cast "custom" + + + + + + + + + + + + + + { context : null } + + + + + + + "tags=\"haxe,release\"" + + lime._internal.backend.native.NativeCFFI + + + + + + ()]]> + + + + + + + + + <__backend> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { loops : 0, length : null, offset : 0, buffer : null } + + + + "tags=\"haxe,release\"" + + + + + + + + + + + + + + + { context : null, stream : null } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { startPosition : -1 } + + + + + + + + + { context : null } + + + + + + + + + + + + + + + + + + { sampleRate : 44100, stereo : true, format : null } + + + + + + + + + + { sndTransform : null, loops : 0, startTime : 0 } + + + + + + + + + + 2 + + + + 4 + + + + 3 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + + + + + + + + + { urlString : null } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lime.media.AudioBuffer + + + + + 0 + + + + 0 + + + + 1 + + + + 0x202 + + + + 0x1001 + + + + 0x1002 + + + + 0x1003 + + + + 0x1004 + + + + 0x1005 + + + + 0x1006 + + + + 0x1007 + + + + 0x1009 + + + + 0x100A + + + + 0x100D + + + + 0x100E + + + + 0x100F + + + + 0x1010 + + + + 0x1011 + + + + 0x1012 + + + + 0x1013 + + + + 0x1014 + + + + 0x1015 + + + + 0x1016 + + + + 0x1020 + + + + 0x1021 + + + + 0x1022 + + + + 0x1023 + + + + 0x1024 + + + + 0x1025 + + + + 0x1026 + + + + 0x1027 + + + + 0x1028 + + + + 0x1029 + + + + 0x1030 + + + + 0x1100 + + + + 0x1101 + + + + 0x1102 + + + + 0x1103 + + + + 0x2001 + + + + 0x2002 + + + + 0x2003 + + + + 0x2004 + + + + 0 + + + + 0xA001 + + + + 0xA002 + + + + 0xA003 + + + + 0xA004 + + + + 0xA005 + + + + 0xB001 + + + + 0xB002 + + + + 0xB003 + + + + 0xB004 + + + + 0xC000 + + + + 0xC003 + + + + 0xC001 + + + + 0xD000 + + + + 0xD001 + + + + 0xD002 + + + + 0xD003 + + + + 0xD004 + + + + 0xD005 + + + + 0xD006 + + + + 0x1008 + + + + 0x1009 + + + + 0x1010 + + + + 0x1011 + + + + 0xA001 + + + + 0xA002 + + + + 0x1002 + + + + 0x1003 + + + + 0x1004 + + + + 0x1005 + + + + 1 + + + + 0x1012 + + + + 0x1013 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { attrlist : null } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { count : 1 } + + + + + + + + + + + + + + + + + + + + + + + + { count : 1 } + + + + + + + + + + + + + + { count : 1 } + + + + + + + + + + + + + + + + + { count : 1 } + + + + + + + + + + + { device : null } + + + + + + + { device : null } + + + + + + + + + + + + { count : 1 } + + + + + + + + + + + + + { device : null, count : 1 } + + + + + + + + + + + + + + + + + + + + { count : 1 } + + + + + + + + + + + + { count : 1 } + + + + + + + + + + + + + + + + + + + + + + + + + + + + { count : 1 } + + + + + + + + + + + + + + { count : 1 } + + + + + + + + { device : null } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { deviceName : null } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + 0 + + + + 1 + + + + 0x202 + + + + 0x1001 + + + + 0x1002 + + + + 0x1003 + + + + 0x1004 + + + + 0x1005 + + + + 0x1006 + + + + 0x1007 + + + + 0x1009 + + + + 0x100A + + + + 0x100D + + + + 0x100E + + + + 0x100F + + + + 0x1010 + + + + 0x1011 + + + + 0x1012 + + + + 0x1013 + + + + 0x1014 + + + + 0x1015 + + + + 0x1016 + + + + 0x1020 + + + + 0x1021 + + + + 0x1022 + + + + 0x1023 + + + + 0x1024 + + + + 0x1025 + + + + 0x1026 + + + + 0x1027 + + + + 0x1028 + + + + 0x1029 + + + + 0x1030 + + + + 0x1100 + + + + 0x1101 + + + + 0x1102 + + + + 0x1103 + + + + 0x2001 + + + + 0x2002 + + + + 0x2003 + + + + 0x2004 + + + + 0 + + + + 0xA001 + + + + 0xA002 + + + + 0xA003 + + + + 0xA004 + + + + 0xA005 + + + + 0xB001 + + + + 0xB002 + + + + 0xB003 + + + + 0xB004 + + + + 0xC000 + + + + 0xC003 + + + + 0xC001 + + + + 0xD000 + + + + 0xD001 + + + + 0xD002 + + + + 0xD003 + + + + 0xD004 + + + + 0xD005 + + + + 0xD006 + + + + 0x20004 + + + + 0x20005 + + + + 0x20006 + + + + 0x20007 + + + + 0x20008 + + + + 0x20009 + + + + 0x2000A + + + + 0x2000B + + + + 0x2000C + + + + 0x0001 + + + + 0x0002 + + + + 0x0003 + + + + 0x0004 + + + + 0x0005 + + + + 0x0006 + + + + 0x0007 + + + + 0x0008 + + + + 0x0009 + + + + 0x000A + + + + 0x000B + + + + 0x000C + + + + 0x000D + + + + 0x0001 + + + + 0x0002 + + + + 0x0003 + + + + 0x0004 + + + + 0x0005 + + + + 0x0006 + + + + 0x0007 + + + + 0x0008 + + + + 0x0009 + + + + 0x000A + + + + 0x000B + + + + 0x000C + + + + 0x000D + + + + 0x000E + + + + 0x000F + + + + 0x0010 + + + + 0x0011 + + + + 0x0012 + + + + 0x0013 + + + + 0x0014 + + + + 0x0015 + + + + 0x0016 + + + + 0x0017 + + + + 0x0001 + + + + 0x0002 + + + + 0x0003 + + + + 0x0004 + + + + 0x0005 + + + + 0x0006 + + + + 0x0001 + + + + 0x0002 + + + + 0x0003 + + + + 0x0004 + + + + 0x0005 + + + + 0x0001 + + + + 0x0002 + + + + 0x0003 + + + + 0x0004 + + + + 0x0005 + + + + 0x0001 + + + + 0x0002 + + + + 0x0003 + + + + 0x0004 + + + + 0x0005 + + + + 0x0006 + + + + 0x0001 + + + + 0x0002 + + + + 0x0003 + + + + 0x0001 + + + + 0x0002 + + + + 0x0003 + + + + 0x0004 + + + + 0x0005 + + + + 0x0006 + + + + 0x0001 + + + + 0x0002 + + + + 0x0001 + + + + 0x0002 + + + + 0x0003 + + + + 0x0001 + + + + 0x0002 + + + + 0x0003 + + + + 0x0004 + + + + 0x0001 + + + + 0x0001 + + + + 0x0002 + + + + 0x0003 + + + + 0x0004 + + + + 0x0005 + + + + 0x0006 + + + + 0x0007 + + + + 0x0008 + + + + 0x0009 + + + + 0x000A + + + + 0x0000 + + + + 0x8000 + + + + 0x8001 + + + + 0x0000 + + + + 0x8000 + + + + 0x0001 + + + + 0x0002 + + + + 0x0003 + + + + 0x0004 + + + + 0x0005 + + + + 0x0006 + + + + 0x0007 + + + + 0x0008 + + + + 0x0009 + + + + 0x000A + + + + 0x000B + + + + 0x000C + + + + 0x0001 + + + + 0x0002 + + + + 0x0003 + + + + 0x0001 + + + + 0x0002 + + + + 0x0001 + + + + 0x0002 + + + + 0x0001 + + + + 0x0002 + + + + 0x0003 + + + + 0x0000 + + + + 0x8000 + + + + 0x8001 + + + + 0x0000 + + + + 0x0001 + + + + 0x0002 + + + + 0x0003 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "genSource has been renamed to 'createSource' for consistency with OpenGL" + + + + + + + + "genBuffer has been renamed to 'createBuffer' for consistency with OpenGL" + + + + + + + + + + + + + + + + { count : 1 } + + + + + + + + + + + + + + + + + + + + + + + + { count : 1 } + + + + + + + + + + + + + + { count : 1 } + + + + + + + + + + + + { count : 1 } + + + + + + + + + + + + + + + + + + + + + + + { count : 1 } + + + + + + + + + + + + { count : 1 } + + + + + + + + + + + + + + + + + + + + { count : 1 } + + + + + + + + + + + + { count : 1 } + + + + + + + + hide + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { count : 1 } + + + + + + + + + + + + + + { count : 1 } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + lime._internal.backend.native.NativeCFFI + + + + + + + lime.media.openal.AL + + <_new get="inline" set="null" line="9" static="1"> + + + + + + + + + + lime.media.openal.AL + + + + <_new get="inline" set="null" line="9" static="1"> + + + + + + + + + + lime.media.openal.AL + + + + + + + lime.media.openal.AL + + + + <_new get="inline" set="null" line="10" static="1"> + + + + + + + + + + lime.media.openal.AL + + + + <_new get="inline" set="null" line="10" static="1"> + + + + + + + + + + lime.media.openal.AL + + + + + 0 + + + + 1 + + + + 0x1007 + + + + 0x1008 + + + + 0x1009 + + + + 0x1010 + + + + 0x1011 + + + + 0 + + + + 0xA001 + + + + 0xA002 + + + + 0xA003 + + + + 0xA004 + + + + 0xA005 + + + + 0x1002 + + + + 0x1003 + + + + 0x1004 + + + + 0x1005 + + + + 0x1006 + + + + 1 + + + + 0x1012 + + + + 0x1013 + + + + + + + + + + + + { attrlist : null } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { deviceName : null } + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + lime._internal.backend.native.NativeCFFI + + + + + + + + lime.media.openal.AL + lime.media.openal.ALC + + + <_new get="inline" set="null" line="10" static="1"> + + + + + + + + + + + lime.media.openal.ALC + lime.media.openal.AL + + + + + <_new get="inline" set="null" line="10" static="1"> + + + + + + + + + + + lime.media.openal.ALC + lime.media.openal.AL + + + + + + + + lime.media.openal.AL + lime.media.openal.ALC + + + <_new get="inline" set="null" line="10" static="1"> + + + + + + + + + + + lime.media.openal.ALC + lime.media.openal.AL + + + + + <_new get="inline" set="null" line="10" static="1"> + + + + + + + + + + + lime.media.openal.ALC + lime.media.openal.AL + + + + + + + lime.media.openal.AL + + <_new get="inline" set="null" line="9" static="1"> + + + + + + + + + + lime.media.openal.AL + + + + <_new get="inline" set="null" line="9" static="1"> + + + + + + + + + + lime.media.openal.AL + + + + + + lime.media.openal.AL + + <_new get="inline" set="null" line="9" static="1"> + + + + + + + + + + lime.media.openal.AL + + + + <_new get="inline" set="null" line="9" static="1"> + + + + + + + + + + lime.media.openal.AL + + + + + + lime.media.openal.AL + + <_new get="inline" set="null" line="9" static="1"> + + + + + + + + + + lime.media.openal.AL + + + + <_new get="inline" set="null" line="9" static="1"> + + + + + + + + + + lime.media.openal.AL + + + + + + + + + + + + + + + + + + + + + + + + + + + { bitstream : -1 } + + + + + + + + + { bitstream : -1 } + + + + + + + + + + + { bitstream : -1 } + + + + + + + + + + + + + + + + + + + + + + + + { bitstream : -1 } + + + + + + + + + + + + + + + + { bitstream : -1 } + + + + + + + + + + + + { signed : true, wordSize : 2, bigEndianPacking : false, length : 4096 } + + + + + + + + + + + + + { bitstream : -1 } + + + + + + + + + + + + + + + + + + + + + + + + + { bitstream : -1 } + + + + + + + + + lime._internal.backend.native.NativeCFFI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <__backend> + + + + + + + + + + { uri : null } + + + + + + + { uri : null } + + + "tags=\"haxe,release\"" + + + + + + + + + + + "tags=\"haxe,release\"" + + lime._internal.macros.HTTPRequestMacro.build() + + + + + + + + + + + + + + + + + { uri : null } + + + + + + + { uri : null } + + + "tags=\"haxe,release\"" + + + + + + + + + + + + { uri : null } + + + + + + + { uri : null } + + + + "tags=\"haxe,release\"" + + + + + + + + + + + + + + + { value : "" } + + + + "tags=\"haxe,release\"" + + + + + + + + + + + + + cast "DELETE" + + + + + + + + cast "GET" + + + + + + + + cast "HEAD" + + + + + + + + cast "OPTIONS" + + + + + + + + cast "POST" + + + + + + + + cast "PUT" + + + + + + + + + + + + cast "DELETE" + + + + + + + + cast "GET" + + + + + + + + cast "HEAD" + + + + + + + + cast "OPTIONS" + + + + + + + + cast "POST" + + + + + + + + cast "PUT" + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + + + + + + + + + + + + + + GLOBAL_SSL | GLOBAL_WIN32 + + + + 0 + + + + GLOBAL_ALL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { handle : null } + + + + "tags=\"haxe,release\"" + + lime._internal.backend.native.NativeCFFI + + + + + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + cast 6 + + + + + + + + cast 7 + + + + + + + + cast 8 + + + + + + + + cast 9 + + + + + + + + cast 10 + + + + + + + + cast 11 + + + + + + + + cast 12 + + + + + + + + cast 13 + + + + + + + + cast 14 + + + + + + + + cast 15 + + + + + + + + cast 16 + + + + + + + + cast 17 + + + + + + + + cast 18 + + + + + + + + cast 19 + + + + + + + + cast 21 + + + + + + + + cast 22 + + + + + + + + cast 23 + + + + + + + + cast 25 + + + + + + + + cast 26 + + + + + + + + cast 27 + + + + + + + + cast 28 + + + + + + + + cast 30 + + + + + + + + cast 31 + + + + + + + + cast 33 + + + + + + + + cast 34 + + + + + + + + cast 35 + + + + + + + + cast 36 + + + + + + + + cast 37 + + + + + + + + cast 38 + + + + + + + + cast 39 + + + + + + + + cast 42 + + + + + + + + cast 43 + + + + + + + + cast 45 + + + + + + + + cast 47 + + + + + + + + cast 48 + + + + + + + + cast 49 + + + + + + + + cast 51 + + + + + + + + cast 52 + + + + + + + + cast 53 + + + + + + + + cast 54 + + + + + + + + cast 55 + + + + + + + + cast 56 + + + + + + + + cast 58 + + + + + + + + cast 59 + + + + + + + + cast 60 + + + + + + + + cast 61 + + + + + + + + cast 62 + + + + + + + + cast 63 + + + + + + + + cast 64 + + + + + + + + cast 65 + + + + + + + + cast 66 + + + + + + + + cast 67 + + + + + + + + cast 68 + + + + + + + + cast 69 + + + + + + + + cast 70 + + + + + + + + cast 71 + + + + + + + + cast 72 + + + + + + + + cast 73 + + + + + + + + cast 74 + + + + + + + + cast 75 + + + + + + + + cast 76 + + + + + + + + cast 77 + + + + + + + + cast 78 + + + + + + + + cast 79 + + + + + + + + cast 80 + + + + + + + + cast 81 + + + + + + + + cast 82 + + + + + + + + cast 83 + + + + + + + + cast 84 + + + + + + + + cast 85 + + + + + + + + cast 86 + + + + + + + + cast 87 + + + + + + + + cast 88 + + + + + + + + cast 89 + + + + + + + + cast 90 + + + + + + + + cast 91 + + + + + + + + cast 92 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + cast 6 + + + + + + + + cast 7 + + + + + + + + cast 8 + + + + + + + + cast 9 + + + + + + + + cast 10 + + + + + + + + cast 11 + + + + + + + + cast 12 + + + + + + + + cast 13 + + + + + + + + cast 14 + + + + + + + + cast 15 + + + + + + + + cast 16 + + + + + + + + cast 17 + + + + + + + + cast 18 + + + + + + + + cast 19 + + + + + + + + cast 21 + + + + + + + + cast 22 + + + + + + + + cast 23 + + + + + + + + cast 25 + + + + + + + + cast 26 + + + + + + + + cast 27 + + + + + + + + cast 28 + + + + + + + + cast 30 + + + + + + + + cast 31 + + + + + + + + cast 33 + + + + + + + + cast 34 + + + + + + + + cast 35 + + + + + + + + cast 36 + + + + + + + + cast 37 + + + + + + + + cast 38 + + + + + + + + cast 39 + + + + + + + + cast 42 + + + + + + + + cast 43 + + + + + + + + cast 45 + + + + + + + + cast 47 + + + + + + + + cast 48 + + + + + + + + cast 49 + + + + + + + + cast 51 + + + + + + + + cast 52 + + + + + + + + cast 53 + + + + + + + + cast 54 + + + + + + + + cast 55 + + + + + + + + cast 56 + + + + + + + + cast 58 + + + + + + + + cast 59 + + + + + + + + cast 60 + + + + + + + + cast 61 + + + + + + + + cast 62 + + + + + + + + cast 63 + + + + + + + + cast 64 + + + + + + + + cast 65 + + + + + + + + cast 66 + + + + + + + + cast 67 + + + + + + + + cast 68 + + + + + + + + cast 69 + + + + + + + + cast 70 + + + + + + + + cast 71 + + + + + + + + cast 72 + + + + + + + + cast 73 + + + + + + + + cast 74 + + + + + + + + cast 75 + + + + + + + + cast 76 + + + + + + + + cast 77 + + + + + + + + cast 78 + + + + + + + + cast 79 + + + + + + + + cast 80 + + + + + + + + cast 81 + + + + + + + + cast 82 + + + + + + + + cast 83 + + + + + + + + cast 84 + + + + + + + + cast 85 + + + + + + + + cast 86 + + + + + + + + cast 87 + + + + + + + + cast 88 + + + + + + + + cast 89 + + + + + + + + cast 90 + + + + + + + + cast 91 + + + + + + + + cast 92 + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 0x100000 + 1 + + + + + + + + cast 0x200000 + 2 + + + + + + + + cast 0x300000 + 3 + + + + + + + + cast 0x300000 + 4 + + + + + + + + cast 0x300000 + 5 + + + + + + + + cast 0x300000 + 6 + + + + + + + + cast 0x300000 + 7 + + + + + + + + cast 0x600000 + 7 + + + + + + + + cast 0x300000 + 8 + + + + + + + + cast 0x600000 + 8 + + + + + + + + cast 0x300000 + 9 + + + + + + + + cast 0x600000 + 9 + + + + + + + + cast 0x300000 + 10 + + + + + + + + cast 0x600000 + 10 + + + + + + + + cast 0x200000 + 11 + + + + + + + + cast 0x200000 + 12 + + + + + + + + cast 0x200000 + 13 + + + + + + + + cast 0x200000 + 14 + + + + + + + + cast 0x300000 + 15 + + + + + + + + cast 0x600000 + 15 + + + + + + + + cast 0x300000 + 16 + + + + + + + + cast 0x300000 + 16 + + + + + + + + cast 0x300000 + 17 + + + + + + + + cast 0x100000 + 18 + + + + + + + + cast 0x300000 + 19 + + + + + + + + cast 0x200000 + 20 + + + + + + + + cast 0x100000 + 21 + + + + + + + + cast 0x200000 + 22 + + + + + + + + cast 0x200000 + 23 + + + + + + + + cast 0x200000 + 24 + + + + + + + + cast 0x200000 + 25 + + + + + + + + cast 0x200000 + 26 + + + + + + + + cast 0x400000 + 27 + + + + + + + + cast 0x400000 + 28 + + + + + + + + cast 0x200000 + 29 + + + + + + + + cast 0x100000 + 30 + + + + + + + + cast 0x100000 + 31 + + + + + + + + cast 0x100000 + 32 + + + + + + + + cast 0x300000 + 33 + + + + + + + + cast 0x400000 + 34 + + + + + + + + cast 0x200000 + 35 + + + + + + + + cast 0x100000 + 36 + + + + + + + + cast 0x200000 + 37 + + + + + + + + cast 0x200000 + 38 + + + + + + + + cast 0x200000 + 39 + + + + + + + + cast 0x200000 + 40 + + + + + + + + cast 0x100000 + 41 + + + + + + + + cast 0x200000 + 42 + + + + + + + + cast 0x400000 + 43 + + + + + + + + cast 0x500000 + 44 + + + + + + + + cast 0x400000 + 45 + + + + + + + + cast 0x200000 + 46 + + + + + + + + cast 0x200000 + 47 + + + + + + + + cast 0x200000 + 48 + + + + + + + + cast 0x100000 + 49 + + + + + + + + + + + + cast 0 + + + + + + + + cast 0x100000 + 1 + + + + + + + + cast 0x200000 + 2 + + + + + + + + cast 0x300000 + 3 + + + + + + + + cast 0x300000 + 4 + + + + + + + + cast 0x300000 + 5 + + + + + + + + cast 0x300000 + 6 + + + + + + + + cast 0x300000 + 7 + + + + + + + + cast 0x600000 + 7 + + + + + + + + cast 0x300000 + 8 + + + + + + + + cast 0x600000 + 8 + + + + + + + + cast 0x300000 + 9 + + + + + + + + cast 0x600000 + 9 + + + + + + + + cast 0x300000 + 10 + + + + + + + + cast 0x600000 + 10 + + + + + + + + cast 0x200000 + 11 + + + + + + + + cast 0x200000 + 12 + + + + + + + + cast 0x200000 + 13 + + + + + + + + cast 0x200000 + 14 + + + + + + + + cast 0x300000 + 15 + + + + + + + + cast 0x600000 + 15 + + + + + + + + cast 0x300000 + 16 + + + + + + + + cast 0x300000 + 16 + + + + + + + + cast 0x300000 + 17 + + + + + + + + cast 0x100000 + 18 + + + + + + + + cast 0x300000 + 19 + + + + + + + + cast 0x200000 + 20 + + + + + + + + cast 0x100000 + 21 + + + + + + + + cast 0x200000 + 22 + + + + + + + + cast 0x200000 + 23 + + + + + + + + cast 0x200000 + 24 + + + + + + + + cast 0x200000 + 25 + + + + + + + + cast 0x200000 + 26 + + + + + + + + cast 0x400000 + 27 + + + + + + + + cast 0x400000 + 28 + + + + + + + + cast 0x200000 + 29 + + + + + + + + cast 0x100000 + 30 + + + + + + + + cast 0x100000 + 31 + + + + + + + + cast 0x100000 + 32 + + + + + + + + cast 0x300000 + 33 + + + + + + + + cast 0x400000 + 34 + + + + + + + + cast 0x200000 + 35 + + + + + + + + cast 0x100000 + 36 + + + + + + + + cast 0x200000 + 37 + + + + + + + + cast 0x200000 + 38 + + + + + + + + cast 0x200000 + 39 + + + + + + + + cast 0x200000 + 40 + + + + + + + + cast 0x100000 + 41 + + + + + + + + cast 0x200000 + 42 + + + + + + + + cast 0x400000 + 43 + + + + + + + + cast 0x500000 + 44 + + + + + + + + cast 0x400000 + 45 + + + + + + + + cast 0x200000 + 46 + + + + + + + + cast 0x200000 + 47 + + + + + + + + cast 0x200000 + 48 + + + + + + + + cast 0x100000 + 49 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { handle : null } + + + + "tags=\"haxe,release\"" + + lime._internal.backend.native.NativeCFFI + lime.net.curl.CURL + lime.net.curl.CURLMultiMessage + + + + + + + + + + + + + + + cast -1 + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + cast 6 + + + + + + + + cast 7 + + + + + + + + + + + + cast -1 + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + cast 6 + + + + + + + + cast 7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cast 200001 + + + + + + + + cast 100002 + + + + + + + + cast 3 + + + + + + + + cast 20004 + + + + + + + + cast 10005 + + + + + + + + cast 6 + + + + + + + + cast 7 + + + + + + + + cast 8 + + + + + + + + cast 30009 + + + + + + + + cast 30010 + + + + + + + + cast 10011 + + + + + + + + cast 10012 + + + + + + + + cast 13 + + + + + + + + cast 20014 + + + + + + + + cast 10015 + + + + + + + + + + + + cast 200001 + + + + + + + + cast 100002 + + + + + + + + cast 3 + + + + + + + + cast 20004 + + + + + + + + cast 10005 + + + + + + + + cast 6 + + + + + + + + cast 7 + + + + + + + + cast 8 + + + + + + + + cast 30009 + + + + + + + + cast 30010 + + + + + + + + cast 10011 + + + + + + + + cast 10012 + + + + + + + + cast 13 + + + + + + + + cast 20014 + + + + + + + + cast 10015 + + + + + + + + + + + + + + + + + + + + + + cast 10002 + + + + + + + + cast 3 + + + + + + + + cast 10004 + + + + + + + + cast 10005 + + + + + + + + cast 10006 + + + + + + + + cast 10007 + + + + + + + + cast 10009 + + + + + + + + cast 10009 + + + + + + + + cast 10010 + + + + + + + + cast 20011 + + + + + + + + cast 20012 + + + + + + + + cast 13 + + + + + + + + cast 14 + + + + + + + + cast 10015 + + + + + + + + cast 10016 + + + + + + + + cast 10017 + + + + + + + + cast 10018 + + + + + + + + cast 19 + + + + + + + + cast 20 + + + + + + + + cast 21 + + + + + + + + cast 22 + + + + + + + + cast 10023 + + + + + + + + cast 10023 + + + + + + + + cast 10024 + + + + + + + + cast 10025 + + + + + + + + cast 10026 + + + + + + + + cast 27 + + + + + + + + cast 10028 + + + + + + + + cast 10029 + + + + + + + + cast 10029 + + + + + + + + cast 10031 + + + + + + + + cast 32 + + + + + + + + cast 33 + + + + + + + + cast 34 + + + + + + + + cast 10036 + + + + + + + + cast 10037 + + + + + + + + cast 10039 + + + + + + + + cast 10040 + + + + + + + + cast 41 + + + + +
      + + + cast 42 + + + +
      + + + + cast 43 + + + + + + + + cast 44 + + + + + + + + cast 45 + + + + + + + + cast 46 + + + + + + + + cast 47 + + + + + + + + cast 48 + + + + + + + + cast 50 + + + + + + + + cast 51 + + + + + + + + cast 52 + + + + + + + + cast 53 + + + + + + + + cast 54 + + + + + + + + cast 20056 + + + + + + + + cast 10057 + + + + + + + + cast 10057 + + + + + + + + cast 58 + + + + + + + + cast 59 + + + + + + + + cast 60 + + + + + + + + cast 61 + + + + + + + + cast 10062 + + + + + + + + cast 10063 + + + + + + + + cast 64 + + + + + + + + cast 10065 + + + + + + + + cast 68 + + + + + + + + cast 69 + + + + + + + + cast 10070 + + + + + + + + cast 71 + + + + + + + + cast 72 + + + + + + + + cast 74 + + + + + + + + cast 75 + + + + + + + + cast 10076 + + + + + + + + cast 10077 + + + + + + + + cast 78 + + + + + + + + cast 20079 + + + + + + + + cast 80 + + + + + + + + cast 81 + + + + + + + + cast 10082 + + + + + + + + cast 10083 + + + + + + + + cast 84 + + + + + + + + cast 85 + + + + + + + + cast 10086 + + + + + + + + cast 10087 + + + + + + + + cast 10088 + + + + + + + + cast 10089 + + + + + + + + cast 90 + + + + + + + + cast 91 + + + + + + + + cast 92 + + + + + + + + cast 10093 + + + + + + + + cast 20094 + + + + + + + + cast 10095 + + + + + + + + cast 96 + + + + + + + + cast 10097 + + + + + + + + cast 98 + + + + + + + + cast 99 + + + + + + + + cast 10100 + + + + + + + + cast 101 + + + + + + + + cast 10102 + + + + + + + + cast 10103 + + + + + + + + cast 10104 + + + + + + + + cast 105 + + + + + + + + cast 106 + + + + + + + + cast 107 + + + + + + + + cast 20108 + + + + + + + + cast 10109 + + + + + + + + cast 110 + + + + + + + + cast 111 + + + + + + + + cast 112 + + + + + + + + cast 112 + + + + + + + + cast 113 + + + + + + + + cast 114 + + + + + + + + cast 30115 + + + + + + + + cast 30116 + + + + + + + + cast 30117 + + + + + + + + cast 10118 + + + + + + + + cast 119 + + + + + + + + cast 30120 + + + + + + + + cast 121 + + + + + + + + cast 129 + + + + + + + + cast 20130 + + + + + + + + cast 10131 + + + + + + + + cast 10134 + + + + + + + + cast 10135 + + + + + + + + cast 10136 + + + + + + + + cast 137 + + + + + + + + cast 138 + + + + + + + + cast 139 + + + + + + + + cast 140 + + + + + + + + cast 141 + + + + + + + + cast 20142 + + + + + + + + cast 20143 + + + + + + + + cast 20144 + + + + + + + + cast 30145 + + + + + + + + cast 30146 + + + + + + + + cast 10147 + + + + + + + + cast 20148 + + + + + + + + cast 10149 + + + + + + + + cast 150 + + + + + + + + cast 151 + + + + + + + + cast 10152 + + + + + + + + cast 10153 + + + + + + + + cast 154 + + + + + + + + cast 155 + + + + + + + + cast 156 + + + + + + + + cast 157 + + + + + + + + cast 158 + + + + + + + + cast 159 + + + + + + + + cast 160 + + + + + + + + cast 161 + + + + + + + + cast 10162 + + + + + + + + cast 20163 + + + + + + + + cast 10164 + + + + + + + + cast 10165 + + + + + + + + cast 166 + + + + + + + + cast 20167 + + + + + + + + cast 10168 + + + + + + + + cast 10169 + + + + + + + + cast 10170 + + + + + + + + cast 171 + + + + + + + + cast 172 + + + + + + + + cast 10173 + + + + + + + + cast 10174 + + + + + + + + cast 10175 + + + + + + + + cast 10176 + + + + + + + + cast 10177 + + + + + + + + cast 178 + + + + + + + + cast 10179 + + + + + + + + cast 180 + + + + + + + + cast 181 + + + + + + + + cast 182 + + + + + + + + cast 10183 + + + + + + + + cast 20184 + + + + + + + + cast 10185 + + + + + + + + cast 10186 + + + + + + + + cast 10187 + + + + + + + + cast 188 + + + + + + + + cast 189 + + + + + + + + cast 10190 + + + + + + + + cast 10191 + + + + + + + + cast 10192 + + + + + + + + cast 193 + + + + + + + + cast 194 + + + + + + + + cast 10195 + + + + + + + + cast 20196 + + + + + + + + cast 197 + + + + + + + + cast 20198 + + + + + + + + cast 20199 + + + + + + + + cast 20200 + + + + + + + + cast 10201 + + + + + + + + cast 10202 + + + + + + + + cast 10203 + + + + + + + + cast 10204 + + + + + + + + cast 10205 + + + + + + + + cast 10206 + + + + + + + + cast 207 + + + + + + + + cast 20208 + + + + + + + + cast 10209 + + + + + + + + cast 210 + + + + + + + + cast 10211 + + + + + + + + cast 212 + + + + + + + + cast 213 + + + + + + + + cast 214 + + + + + + + + cast 215 + + + + + + + + cast 216 + + + + + + + + cast 10217 + + + + + + + + cast 218 + + + + + + + + cast 20219 + + + + + + + + cast 10220 + + + + + + + + cast 10221 + + + + + + + + cast 10222 + + + + + + + + cast 10223 + + + + + + + + cast 10224 + + + + + + + + cast 225 + + + + + + + + cast 226 + + + + + + + + cast 227 + + + + + + + + cast 10228 + + + + + + + + cast 229 + + + + + + + + cast 10230 + + + + + + + + cast 10231 + + + + + + + + cast 232 + + + + + + + + cast 233 + + + + + + + + cast 234 + + + + + + + + cast 10235 + + + + + + + + cast 10236 + + + + + + + + cast 237 + + + + + + + + cast 10238 + + + + + + + + cast 239 + + + + + + + + cast 10240 + + + + + + + + cast 10241 + + + + + + + + cast 242 + + + + + + + + cast 243 + + + + + + + + cast 244 + + + + + + + + cast 245 + + + + + + + + cast 10246 + + + + + + + + cast 10247 + + + + + + + + cast 248 + + + + + + + + cast 249 + + + + + + + + cast 250 + + + + + + + + cast 10251 + + + + + + + + cast 10252 + + + + + + + + cast 10253 + + + + + + + + cast 10254 + + + + + + + + cast 10255 + + + + + + + + cast 10256 + + + + + + + + cast 10257 + + + + + + + + cast 10258 + + + + + + + + cast 10259 + + + + + + + + cast 10260 + + + + + + + + cast 261 + + + + + + + + cast 10262 + + + + + + + + cast 10263 + + + + + + + + cast 10264 + + + + + + + + cast 265 + + + + + + + + cast 10266 + + + + + + + + cast 267 + + + + + + + + cast 268 + + + + + + + + cast 10269 + + + + + +
      +
      + + + + + cast 10002 + + + + + + + + cast 3 + + + + + + + + cast 10004 + + + + + + + + cast 10005 + + + + + + + + cast 10006 + + + + + + + + cast 10007 + + + + + + + + cast 10009 + + + + + + + + cast 10009 + + + + + + + + cast 10010 + + + + + + + + cast 20011 + + + + + + + + cast 20012 + + + + + + + + cast 13 + + + + + + + + cast 14 + + + + + + + + cast 10015 + + + + + + + + cast 10016 + + + + + + + + cast 10017 + + + + + + + + cast 10018 + + + + + + + + cast 19 + + + + + + + + cast 20 + + + + + + + + cast 21 + + + + + + + + cast 22 + + + + + + + + cast 10023 + + + + + + + + cast 10023 + + + + + + + + cast 10024 + + + + + + + + cast 10025 + + + + + + + + cast 10026 + + + + + + + + cast 27 + + + + + + + + cast 10028 + + + + + + + + cast 10029 + + + + + + + + cast 10029 + + + + + + + + cast 10031 + + + + + + + + cast 32 + + + + + + + + cast 33 + + + + + + + + cast 34 + + + + + + + + cast 10036 + + + + + + + + cast 10037 + + + + + + + + cast 10039 + + + + + + + + cast 10040 + + + + + + + + cast 41 + + + + +
      + + + cast 42 + + + +
      + + + + cast 43 + + + + + + + + cast 44 + + + + + + + + cast 45 + + + + + + + + cast 46 + + + + + + + + cast 47 + + + + + + + + cast 48 + + + + + + + + cast 50 + + + + + + + + cast 51 + + + + + + + + cast 52 + + + + + + + + cast 53 + + + + + + + + cast 54 + + + + + + + + cast 20056 + + + + + + + + cast 10057 + + + + + + + + cast 10057 + + + + + + + + cast 58 + + + + + + + + cast 59 + + + + + + + + cast 60 + + + + + + + + cast 61 + + + + + + + + cast 10062 + + + + + + + + cast 10063 + + + + + + + + cast 64 + + + + + + + + cast 10065 + + + + + + + + cast 68 + + + + + + + + cast 69 + + + + + + + + cast 10070 + + + + + + + + cast 71 + + + + + + + + cast 72 + + + + + + + + cast 74 + + + + + + + + cast 75 + + + + + + + + cast 10076 + + + + + + + + cast 10077 + + + + + + + + cast 78 + + + + + + + + cast 20079 + + + + + + + + cast 80 + + + + + + + + cast 81 + + + + + + + + cast 10082 + + + + + + + + cast 10083 + + + + + + + + cast 84 + + + + + + + + cast 85 + + + + + + + + cast 10086 + + + + + + + + cast 10087 + + + + + + + + cast 10088 + + + + + + + + cast 10089 + + + + + + + + cast 90 + + + + + + + + cast 91 + + + + + + + + cast 92 + + + + + + + + cast 10093 + + + + + + + + cast 20094 + + + + + + + + cast 10095 + + + + + + + + cast 96 + + + + + + + + cast 10097 + + + + + + + + cast 98 + + + + + + + + cast 99 + + + + + + + + cast 10100 + + + + + + + + cast 101 + + + + + + + + cast 10102 + + + + + + + + cast 10103 + + + + + + + + cast 10104 + + + + + + + + cast 105 + + + + + + + + cast 106 + + + + + + + + cast 107 + + + + + + + + cast 20108 + + + + + + + + cast 10109 + + + + + + + + cast 110 + + + + + + + + cast 111 + + + + + + + + cast 112 + + + + + + + + cast 112 + + + + + + + + cast 113 + + + + + + + + cast 114 + + + + + + + + cast 30115 + + + + + + + + cast 30116 + + + + + + + + cast 30117 + + + + + + + + cast 10118 + + + + + + + + cast 119 + + + + + + + + cast 30120 + + + + + + + + cast 121 + + + + + + + + cast 129 + + + + + + + + cast 20130 + + + + + + + + cast 10131 + + + + + + + + cast 10134 + + + + + + + + cast 10135 + + + + + + + + cast 10136 + + + + + + + + cast 137 + + + + + + + + cast 138 + + + + + + + + cast 139 + + + + + + + + cast 140 + + + + + + + + cast 141 + + + + + + + + cast 20142 + + + + + + + + cast 20143 + + + + + + + + cast 20144 + + + + + + + + cast 30145 + + + + + + + + cast 30146 + + + + + + + + cast 10147 + + + + + + + + cast 20148 + + + + + + + + cast 10149 + + + + + + + + cast 150 + + + + + + + + cast 151 + + + + + + + + cast 10152 + + + + + + + + cast 10153 + + + + + + + + cast 154 + + + + + + + + cast 155 + + + + + + + + cast 156 + + + + + + + + cast 157 + + + + + + + + cast 158 + + + + + + + + cast 159 + + + + + + + + cast 160 + + + + + + + + cast 161 + + + + + + + + cast 10162 + + + + + + + + cast 20163 + + + + + + + + cast 10164 + + + + + + + + cast 10165 + + + + + + + + cast 166 + + + + + + + + cast 20167 + + + + + + + + cast 10168 + + + + + + + + cast 10169 + + + + + + + + cast 10170 + + + + + + + + cast 171 + + + + + + + + cast 172 + + + + + + + + cast 10173 + + + + + + + + cast 10174 + + + + + + + + cast 10175 + + + + + + + + cast 10176 + + + + + + + + cast 10177 + + + + + + + + cast 178 + + + + + + + + cast 10179 + + + + + + + + cast 180 + + + + + + + + cast 181 + + + + + + + + cast 182 + + + + + + + + cast 10183 + + + + + + + + cast 20184 + + + + + + + + cast 10185 + + + + + + + + cast 10186 + + + + + + + + cast 10187 + + + + + + + + cast 188 + + + + + + + + cast 189 + + + + + + + + cast 10190 + + + + + + + + cast 10191 + + + + + + + + cast 10192 + + + + + + + + cast 193 + + + + + + + + cast 194 + + + + + + + + cast 10195 + + + + + + + + cast 20196 + + + + + + + + cast 197 + + + + + + + + cast 20198 + + + + + + + + cast 20199 + + + + + + + + cast 20200 + + + + + + + + cast 10201 + + + + + + + + cast 10202 + + + + + + + + cast 10203 + + + + + + + + cast 10204 + + + + + + + + cast 10205 + + + + + + + + cast 10206 + + + + + + + + cast 207 + + + + + + + + cast 20208 + + + + + + + + cast 10209 + + + + + + + + cast 210 + + + + + + + + cast 10211 + + + + + + + + cast 212 + + + + + + + + cast 213 + + + + + + + + cast 214 + + + + + + + + cast 215 + + + + + + + + cast 216 + + + + + + + + cast 10217 + + + + + + + + cast 218 + + + + + + + + cast 20219 + + + + + + + + cast 10220 + + + + + + + + cast 10221 + + + + + + + + cast 10222 + + + + + + + + cast 10223 + + + + + + + + cast 10224 + + + + + + + + cast 225 + + + + + + + + cast 226 + + + + + + + + cast 227 + + + + + + + + cast 10228 + + + + + + + + cast 229 + + + + + + + + cast 10230 + + + + + + + + cast 10231 + + + + + + + + cast 232 + + + + + + + + cast 233 + + + + + + + + cast 234 + + + + + + + + cast 10235 + + + + + + + + cast 10236 + + + + + + + + cast 237 + + + + + + + + cast 10238 + + + + + + + + cast 239 + + + + + + + + cast 10240 + + + + + + + + cast 10241 + + + + + + + + cast 242 + + + + + + + + cast 243 + + + + + + + + cast 244 + + + + + + + + cast 245 + + + + + + + + cast 10246 + + + + + + + + cast 10247 + + + + + + + + cast 248 + + + + + + + + cast 249 + + + + + + + + cast 250 + + + + + + + + cast 10251 + + + + + + + + cast 10252 + + + + + + + + cast 10253 + + + + + + + + cast 10254 + + + + + + + + cast 10255 + + + + + + + + cast 10256 + + + + + + + + cast 10257 + + + + + + + + cast 10258 + + + + + + + + cast 10259 + + + + + + + + cast 10260 + + + + + + + + cast 261 + + + + + + + + cast 10262 + + + + + + + + cast 10263 + + + + + + + + cast 10264 + + + + + + + + cast 265 + + + + + + + + cast 10266 + + + + + + + + cast 267 + + + + + + + + cast 268 + + + + + + + + cast 10269 + + + + + +
      + + + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + + + "__COMPLETE__" + + + + "__ERROR__" + + + + + + + + + ()]]> + + + + + + + ()]]> + + + + + + + ()]]> + + + + + + + ()]]> + + <__runMessage> + + + + <__messageQueue> + + + + <__workerThread> + + + + + + + + + + { message : null } + + + + + + + { message : null } + + + + + + + { message : null } + + + + + + + { message : null } + + <__doWork set="method" line="114"> + + + + <__update set="method" line="134"> + + + + + + + + + + "tags=\"haxe,release\"" + + + + + <__moduleNames expr="null" line="15" static="1"> + + + + + + null + + + + + + + + + + + + + + { lazy : false, args : 0 } + * Tries to load a native CFFI primitive on compatible platforms + * @param library The name of the native library (such as "lime") + * @param method The exported primitive method name + * @param args The number of arguments + * @param lazy Whether to load the symbol immediately, or to allow lazy loading + * @return The loaded method + + <__findHaxelib set="method" line="203" static="1"> + + + + <__loaderTrace set="method" line="241" static="1"> + + + + <__sysName set="method" line="316" static="1"> + <__tryLoad set="method" line="330" static="1"> + + + + + + + + + "tags=\"haxe,release\"" + + + + + + + + lime._internal.backend.native.NativeCFFI + + <_new public="1" get="inline" set="null" line="9" static="1"> + + + + + + + + + + + + + + + + + + + A == B + + + + + + + + + + + A == B + + + + + + + + + + + B]]> + + + + + + + + + + + B]]> + + + + + + + + + + + = B]]> + + + + + + + + + + + = B]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A != B + + + + + + + + + + + A != B + + + + + lime._internal.backend.native.NativeCFFI + + + + + <_new public="1" get="inline" set="null" line="9" static="1"> + + + + + + + + + + + + + + + + + + + A == B + + + + + + + + + + + A == B + + + + + + + + + + + B]]> + + + + + + + + + + + B]]> + + + + + + + + + + + = B]]> + + + + + + + + + + + = B]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A != B + + + + + + + + + + + A != B + + + + + lime._internal.backend.native.NativeCFFI + + + + + + ()]]> + + + <_text static="1"> + <__update set="method" line="25" static="1"> + + + + + + + + "tags=\"haxe,release\"" + + lime._internal.backend.native.NativeCFFI + lime.ui.Window + + + + + + * The desktop area represented by this display, with the upper-leftmost display at 0,0 + + + + * The current display mode + + + + + * Pixel density of the display + + + + * The name of the device, such as "Samsung SyncMaster P2350", "iPhone 6", "Oculus Rift DK2", etc. + + + + * All of the display modes supported by this device + + + + + + + + "tags=\"haxe,release\"" + + + + + + + * vertical resolution + + + + * pixel format + + + + * refresh rate in Hz + + + + * horizontal resolution + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + + + + + + + + + + + + + + + + + ()]]> + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + { quietFail : false, useArray : false } + + + + + + + + + + + + + + + + + { quietFail : false, useArray : false } + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + lime._internal.backend.native.NativeCFFI + + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + lime._internal.backend.native.NativeCFFI + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + lime._internal.backend.native.NativeCFFI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + lime._internal.backend.native.NativeCFFI + + + + + + + + + ()]]> + + + + ()]]> + + + + + + + { type : null } + + + + + + + + + + + + + + + Float -> Float>()]]> + + + + + + + + + + + + + "tags=\"haxe,release\"" + + + + + + + + + + + + + + + + + + + + + + + + <__applicationDirectory static="1"> + + + + <__applicationEntryPoint static="1"> + + + + + + + <__applicationStorageDirectory static="1"> + + + + <__desktopDirectory static="1"> + + + + <__deviceModel static="1"> + + + + <__deviceVendor static="1"> + + + + <__directories expr="new Map<SystemDirectory,String>()" line="68" static="1"> + + + + + + ()]]> + + + + <__documentsDirectory static="1"> + + + + <__endianness static="1"> + + + + <__fontsDirectory static="1"> + + + + <__platformLabel static="1"> + + + + <__platformName static="1"> + + + + <__platformVersion static="1"> + + + + <__userDirectory static="1"> + + + + + + + + + + + + + + + + + + + + + { lazy : false, args : 0 } + + + + + + + + + + + + { target : "_blank" } + + <__copyMissingFields set="method" line="335" static="1"> + + + + + + + + <__getDirectory set="method" line="348" static="1"> + + + + + + + <__parseArguments set="method" line="426" static="1"> + + + + <__parseBool get="inline" set="null" line="525" static="1"> + + + + + + + <__registerEntryPoint set="method" line="530" static="1"> + + + + + + + + <__runProcess set="method" line="540" static="1"> + + + + + + + { args : null } + + + + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + lime._internal.backend.native.NativeCFFI + lime.system.Display + lime.system.DisplayMode + "\n#if defined(HX_WINDOWS)\nextern \"C\" {\n\t_declspec(dllexport) unsigned long NvOptimusEnablement = 0x00000001;\n\t_declspec(dllexport) int AmdPowerXpressRequestHighPerformance = 1;\n}\n#endif\n" + + + + + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + + + + + + + ()]]> + + + + + + + + + ()]]> + + + + + + + ()]]> + + + + + + + ()]]> + + + + + + + ()]]> + + <__synchronous> + + + + <__workCompleted> + + + + <__workIncoming expr="new Deque<ThreadPoolMessage>()"> + + + ()]]> + + + + <__workQueued> + + + + <__workResult expr="new Deque<ThreadPoolMessage>()"> + + + ()]]> + + + + + + + + + { state : null } + + + + + + + { state : null } + + + + + + + { state : null } + + + + + + + { state : null } + + + + + + + + { state : null } + + + + <__doWork set="method" line="155"> + + + + <__update set="method" line="172"> + + + + + + + + + + + + + { maxThreads : 1, minThreads : 0 } + + + + "tags=\"haxe,release\"" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" set="method" line="5" static="1"> + + + + + + + + <_new public="1" set="method" line="5" static="1"> + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + + + + + + + + + + + { features : null } + + + + lime._internal.backend.native.NativeCFFI + + + + + + + lime._internal.backend.native.NativeCFFI + + + + + + + <_new public="1" set="method" line="18" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + + + + + + + + + <_new public="1" set="method" line="18" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + + + + + + lime._internal.backend.native.NativeCFFI + + + + + + + + + + + + <_new public="1" set="method" line="23" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + + + + + + + + + + + + + + + <_new public="1" set="method" line="23" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 0 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 0 + + + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + cast 6 + + + + + + + + cast 7 + + + + + + + + + + + + cast 0 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + cast 6 + + + + + + + + cast 7 + + + + + + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + + + + <_new public="1" set="method" line="14" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + + + + + + <_new public="1" set="method" line="14" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + + + + + + + lime._internal.backend.native.NativeCFFI + + + + + + + <_new public="1" set="method" line="17" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + + + + + + + + + <_new public="1" set="method" line="17" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + + + + + + + lime._internal.backend.native.NativeCFFI + + + + + + + + <_new public="1" set="method" line="19" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + + + + + + + + + + <_new public="1" set="method" line="19" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + + + + + + + + + + + + + + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + + <_new public="1" set="method" line="10" static="1"> + + + + + + { language : null } + + + + + + + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + + + + + <_new public="1" set="method" line="10" static="1"> + + + + + + { language : null } + + + + + + + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + + + + + + + + ()]]> + + + + + + + ()]]> + + + + + + + ()]]> + + + + + + + ()]]> + + + + + + + >()]]> + + + + + + + + + + { title : null, defaultPath : null, filter : null, type : null } + + + + + + + + + { title : null, defaultPath : null, filter : null } + + + + + + + + + + + { type : "application/octet-stream", title : null, defaultPath : null, filter : null } + + + + + "tags=\"haxe,release\"" + + lime._internal.backend.native.NativeCFFI + lime.graphics.Image + + + + + + + + + + + + + + + + + + + ()]]> + + + + + + + ()]]> + + + + + + <__connect set="method" line="46" static="1"> + + + + + + + <__disconnect set="method" line="56" static="1"> + + + + + + + + + + + + + + + + + Float>()]]> + + + + + + + ()]]> + + + + + + + ()]]> + + + + ()]]> + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + lime._internal.backend.native.NativeCFFI + lime.ui.Joystick + + + + + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + cast 6 + + + + + + + + cast 7 + + + + + + + + cast 8 + + + + + + + + cast 9 + + + + + + + + cast 10 + + + + + + + + cast 11 + + + + + + + + cast 12 + + + + + + + + cast 13 + + + + + + + + cast 14 + + + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + cast 6 + + + + + + + + cast 7 + + + + + + + + cast 8 + + + + + + + + cast 9 + + + + + + + + cast 10 + + + + + + + + cast 11 + + + + + + + + cast 12 + + + + + + + + cast 13 + + + + + + + + cast 14 + + + + + + + + + + + + + + + + + ()]]> + + + + + + + ()]]> + + <__connect set="method" line="38" static="1"> + + + + + + + <__disconnect set="method" line="48" static="1"> + + + + + + + + + + + + + + + + + + + + + Float>()]]> + + + + + + + ()]]> + + + + + + + ()]]> + + + + ()]]> + + + + + + + + JoystickHatPosition>()]]> + + + + + + + + + Float -> Float>()]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + lime._internal.backend.native.NativeCFFI + + + + + + + + + + + + + +
      + + 0x00 +
      + + + 0x04 + + + + 0x08 + + + + 0x02 + + + + 0x01 + + + + (0x04 | 0x08) + + + + (0x04 | 0x02) + + + + (0x01 | 0x08) + + + + (0x01 | 0x02) + +
      + + + + + <_new public="1" set="method" line="21" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +
      + +
      + + 0x00 +
      + + + 0x04 + + + + 0x08 + + + + 0x02 + + + + 0x01 + + + + (0x04 | 0x08) + + + + (0x04 | 0x02) + + + + (0x01 | 0x08) + + + + (0x01 | 0x02) + +
      + + + + + <_new public="1" set="method" line="21" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + + + + + + + cast 0x00 + + + + + + + + cast 0x08 + + + + + + + + cast 0x09 + + + + + + + + cast 0x0D + + + + + + + + cast 0x1B + + + + + + + + cast 0x20 + + + + + + + + cast 0x21 + + + + + + + + cast 0x22 + + + + + + + + cast 0x23 + + + + + + + + cast 0x24 + + + + + + + + cast 0x25 + + + + + + + + cast 0x26 + + + + + + + + cast 0x27 + + + + + + + + cast 0x28 + + + + + + + + cast 0x29 + + + + + + + + cast 0x2A + + + + + + + + cast 0x2B + + + + + + + + cast 0x2C + + + + + + + + cast 0x2D + + + + + + + + cast 0x2E + + + + + + + + cast 0x2F + + + + + + + + cast 0x30 + + + + + + + + cast 0x31 + + + + + + + + cast 0x32 + + + + + + + + cast 0x33 + + + + + + + + cast 0x34 + + + + + + + + cast 0x35 + + + + + + + + cast 0x36 + + + + + + + + cast 0x37 + + + + + + + + cast 0x38 + + + + + + + + cast 0x39 + + + + + + + + cast 0x3A + + + + + + + + cast 0x3B + + + + + + + + cast 0x3C + + + + + + + + cast 0x3D + + + + + + + + cast 0x3E + + + + + + + + cast 0x3F + + + + + + + + cast 0x40 + + + + + + + + cast 0x5B + + + + + + + + cast 0x5C + + + + + + + + cast 0x5D + + + + + + + + cast 0x5E + + + + + + + + cast 0x5F + + + + + + + + cast 0x60 + + + + + + + + cast 0x61 + + + + + + + + cast 0x62 + + + + + + + + cast 0x63 + + + + + + + + cast 0x64 + + + + + + + + cast 0x65 + + + + + + + + cast 0x66 + + + + + + + + cast 0x67 + + + + + + + + cast 0x68 + + + + + + + + cast 0x69 + + + + + + + + cast 0x6A + + + + + + + + cast 0x6B + + + + + + + + cast 0x6C + + + + + + + + cast 0x6D + + + + + + + + cast 0x6E + + + + + + + + cast 0x6F + + + + +

      + + + cast 0x70 + + + +

      + + + + cast 0x71 + + + + + + + + cast 0x72 + + + + + + + + cast 0x73 + + + + + + + + cast 0x74 + + + + + + + + cast 0x75 + + + + + + + + cast 0x76 + + + + + + + + cast 0x77 + + + + + + + + cast 0x78 + + + + + + + + cast 0x79 + + + + + + + + cast 0x7A + + + + + + + + cast 0x7F + + + + + + + + cast 0x40000039 + + + + + + + + cast 0x4000003A + + + + + + + + cast 0x4000003B + + + + + + + + cast 0x4000003C + + + + + + + + cast 0x4000003D + + + + + + + + cast 0x4000003E + + + + + + + + cast 0x4000003F + + + + + + + + cast 0x40000040 + + + + + + + + cast 0x40000041 + + + + + + + + cast 0x40000042 + + + + + + + + cast 0x40000043 + + + + + + + + cast 0x40000044 + + + + + + + + cast 0x40000045 + + + + + + + + cast 0x40000046 + + + + + + + + cast 0x40000047 + + + + + + + + cast 0x40000048 + + + + + + + + cast 0x40000049 + + + + + + + + cast 0x4000004A + + + + + + + + cast 0x4000004B + + + + + + + + cast 0x4000004D + + + + + + + + cast 0x4000004E + + + + + + + + cast 0x4000004F + + + + + + + + cast 0x40000050 + + + + + + + + cast 0x40000051 + + + + + + + + cast 0x40000052 + + + + + + + + cast 0x40000053 + + + + + + + + cast 0x40000054 + + + + + + + + cast 0x40000055 + + + + + + + + cast 0x40000056 + + + + + + + + cast 0x40000057 + + + + + + + + cast 0x40000058 + + + + + + + + cast 0x40000059 + + + + + + + + cast 0x4000005A + + + + + + + + cast 0x4000005B + + + + + + + + cast 0x4000005C + + + + + + + + cast 0x4000005D + + + + + + + + cast 0x4000005E + + + + + + + + cast 0x4000005F + + + + + + + + cast 0x40000060 + + + + + + + + cast 0x40000061 + + + + + + + + cast 0x40000062 + + + + + + + + cast 0x40000063 + + + + + + + + cast 0x40000065 + + + + + + + + cast 0x40000066 + + + + + + + + cast 0x40000067 + + + + + + + + cast 0x40000068 + + + + + + + + cast 0x40000069 + + + + + + + + cast 0x4000006A + + + + + + + + cast 0x4000006B + + + + + + + + cast 0x4000006C + + + + + + + + cast 0x4000006D + + + + + + + + cast 0x4000006E + + + + + + + + cast 0x4000006F + + + + + + + + cast 0x40000070 + + + + + + + + cast 0x40000071 + + + + + + + + cast 0x40000072 + + + + + + + + cast 0x40000073 + + + + + + + + cast 0x40000074 + + + + + + + + cast 0x40000075 + + + + + + + + cast 0x40000076 + + + + + + + + + cast 0x40000078 + + + + + + + + cast 0x40000079 + + + + + + + + cast 0x4000007A + + + + + + + + cast 0x4000007B + + + + + + + + cast 0x4000007C + + + + + + + + cast 0x4000007D + + + + + + + + cast 0x4000007E + + + + + + + + cast 0x4000007F + + + + + + + + cast 0x40000080 + + + + + + + + cast 0x40000081 + + + + + + + + cast 0x40000085 + + + + + + + + cast 0x40000099 + + + + + + + + cast 0x4000009A + + + + + + + + cast 0x4000009B + + + + + + + + cast 0x4000009C + + + + + + + + cast 0x4000009D + + + + + + + + cast 0x4000009E + + + + + + + + cast 0x4000009F + + + + + + + + cast 0x400000A0 + + + + + + + + cast 0x400000A1 + + + + + + + + cast 0x400000A2 + + + + + + + + cast 0x400000A3 + + + + + + + + cast 0x400000A4 + + + + + + + + cast 0x400000B0 + + + + + + + + cast 0x400000B1 + + + + + + + + cast 0x400000B2 + + + + + + + + cast 0x400000B3 + + + + + + + + cast 0x400000B4 + + + + + + + + cast 0x400000B5 + + + + + + + + cast 0x400000B6 + + + + + + + + cast 0x400000B7 + + + + + + + + cast 0x400000B8 + + + + + + + + cast 0x400000B9 + + + + + + + + cast 0x400000BA + + + + + + + + cast 0x400000BB + + + + + + + + cast 0x400000BC + + + + + + + + cast 0x400000BD + + + + + + + + cast 0x400000BE + + + + + + + + cast 0x400000BF + + + + + + + + cast 0x400000C0 + + + + + + + + cast 0x400000C1 + + + + + + + + cast 0x400000C2 + + + + + + + + cast 0x400000C3 + + + + + + + + cast 0x400000C4 + + + + + + + + cast 0x400000C5 + + + + + + + + cast 0x400000C6 + + + + + + + + cast 0x400000C7 + + + + + + + + cast 0x400000C8 + + + + + + + + cast 0x400000C9 + + + + + + + + cast 0x400000CA + + + + + + + + cast 0x400000CB + + + + + + + + cast 0x400000CC + + + + + + + + cast 0x400000CD + + + + + + + + cast 0x400000CE + + + + + + + + cast 0x400000CF + + + + + + + + cast 0x400000D0 + + + + + + + + cast 0x400000D1 + + + + + + + + cast 0x400000D2 + + + + + + + + cast 0x400000D3 + + + + + + + + cast 0x400000D4 + + + + + + + + cast 0x400000D5 + + + + + + + + cast 0x400000D6 + + + + + + + + cast 0x400000D7 + + + + + + + + cast 0x400000D8 + + + + + + + + cast 0x400000D9 + + + + + + + + cast 0x400000DA + + + + + + + + cast 0x400000DB + + + + + + + + cast 0x400000DC + + + + + + + + cast 0x400000DD + + + + + + + + cast 0x400000E0 + + + + + + + + cast 0x400000E1 + + + + + + + + cast 0x400000E2 + + + + + + + + cast 0x400000E3 + + + + + + + + cast 0x400000E4 + + + + + + + + cast 0x400000E5 + + + + + + + + cast 0x400000E6 + + + + + + + + cast 0x400000E7 + + + + + + + + cast 0x40000101 + + + + + + + + cast 0x40000102 + + + + + + + + cast 0x40000103 + + + + + + + + cast 0x40000104 + + + + + + + + cast 0x40000105 + + + + + + + + cast 0x40000106 + + + + + + + + cast 0x40000107 + + + + + + + + cast 0x40000108 + + + + + + + + cast 0x40000109 + + + + + + + + cast 0x4000010A + + + + + + + + cast 0x4000010B + + + + + + + + cast 0x4000010C + + + + + + + + cast 0x4000010D + + + + + + + + cast 0x4000010E + + + + + + + + cast 0x4000010F + + + + + + + + cast 0x40000110 + + + + + + + + cast 0x40000111 + + + + + + + + cast 0x40000112 + + + + + + + + cast 0x40000113 + + + + + + + + cast 0x40000114 + + + + + + + + cast 0x40000115 + + + + + + + + cast 0x40000116 + + + + + + + + cast 0x40000117 + + + + + + + + cast 0x40000118 + + + + + + + + cast 0x40000119 + + + + + + + + cast 0x4000011A + + + + + + + + + + + + + + + + + + + + + + B]]> + + + + + + + + = B]]> + + + + + + + + + + + + + + + + + + + + + + + + A + B + + + + + lime._internal.backend.native.NativeCFFI + +
      +
      + + + + + cast 0x00 + + + + + + + + cast 0x08 + + + + + + + + cast 0x09 + + + + + + + + cast 0x0D + + + + + + + + cast 0x1B + + + + + + + + cast 0x20 + + + + + + + + cast 0x21 + + + + + + + + cast 0x22 + + + + + + + + cast 0x23 + + + + + + + + cast 0x24 + + + + + + + + cast 0x25 + + + + + + + + cast 0x26 + + + + + + + + cast 0x27 + + + + + + + + cast 0x28 + + + + + + + + cast 0x29 + + + + + + + + cast 0x2A + + + + + + + + cast 0x2B + + + + + + + + cast 0x2C + + + + + + + + cast 0x2D + + + + + + + + cast 0x2E + + + + + + + + cast 0x2F + + + + + + + + cast 0x30 + + + + + + + + cast 0x31 + + + + + + + + cast 0x32 + + + + + + + + cast 0x33 + + + + + + + + cast 0x34 + + + + + + + + cast 0x35 + + + + + + + + cast 0x36 + + + + + + + + cast 0x37 + + + + + + + + cast 0x38 + + + + + + + + cast 0x39 + + + + + + + + cast 0x3A + + + + + + + + cast 0x3B + + + + + + + + cast 0x3C + + + + + + + + cast 0x3D + + + + + + + + cast 0x3E + + + + + + + + cast 0x3F + + + + + + + + cast 0x40 + + + + + + + + cast 0x5B + + + + + + + + cast 0x5C + + + + + + + + cast 0x5D + + + + + + + + cast 0x5E + + + + + + + + cast 0x5F + + + + + + + + cast 0x60 + + + + + + + + cast 0x61 + + + + + + + + cast 0x62 + + + + + + + + cast 0x63 + + + + + + + + cast 0x64 + + + + + + + + cast 0x65 + + + + + + + + cast 0x66 + + + + + + + + cast 0x67 + + + + + + + + cast 0x68 + + + + + + + + cast 0x69 + + + + + + + + cast 0x6A + + + + + + + + cast 0x6B + + + + + + + + cast 0x6C + + + + + + + + cast 0x6D + + + + + + + + cast 0x6E + + + + + + + + cast 0x6F + + + + +

      + + + cast 0x70 + + + +

      + + + + cast 0x71 + + + + + + + + cast 0x72 + + + + + + + + cast 0x73 + + + + + + + + cast 0x74 + + + + + + + + cast 0x75 + + + + + + + + cast 0x76 + + + + + + + + cast 0x77 + + + + + + + + cast 0x78 + + + + + + + + cast 0x79 + + + + + + + + cast 0x7A + + + + + + + + cast 0x7F + + + + + + + + cast 0x40000039 + + + + + + + + cast 0x4000003A + + + + + + + + cast 0x4000003B + + + + + + + + cast 0x4000003C + + + + + + + + cast 0x4000003D + + + + + + + + cast 0x4000003E + + + + + + + + cast 0x4000003F + + + + + + + + cast 0x40000040 + + + + + + + + cast 0x40000041 + + + + + + + + cast 0x40000042 + + + + + + + + cast 0x40000043 + + + + + + + + cast 0x40000044 + + + + + + + + cast 0x40000045 + + + + + + + + cast 0x40000046 + + + + + + + + cast 0x40000047 + + + + + + + + cast 0x40000048 + + + + + + + + cast 0x40000049 + + + + + + + + cast 0x4000004A + + + + + + + + cast 0x4000004B + + + + + + + + cast 0x4000004D + + + + + + + + cast 0x4000004E + + + + + + + + cast 0x4000004F + + + + + + + + cast 0x40000050 + + + + + + + + cast 0x40000051 + + + + + + + + cast 0x40000052 + + + + + + + + cast 0x40000053 + + + + + + + + cast 0x40000054 + + + + + + + + cast 0x40000055 + + + + + + + + cast 0x40000056 + + + + + + + + cast 0x40000057 + + + + + + + + cast 0x40000058 + + + + + + + + cast 0x40000059 + + + + + + + + cast 0x4000005A + + + + + + + + cast 0x4000005B + + + + + + + + cast 0x4000005C + + + + + + + + cast 0x4000005D + + + + + + + + cast 0x4000005E + + + + + + + + cast 0x4000005F + + + + + + + + cast 0x40000060 + + + + + + + + cast 0x40000061 + + + + + + + + cast 0x40000062 + + + + + + + + cast 0x40000063 + + + + + + + + cast 0x40000065 + + + + + + + + cast 0x40000066 + + + + + + + + cast 0x40000067 + + + + + + + + cast 0x40000068 + + + + + + + + cast 0x40000069 + + + + + + + + cast 0x4000006A + + + + + + + + cast 0x4000006B + + + + + + + + cast 0x4000006C + + + + + + + + cast 0x4000006D + + + + + + + + cast 0x4000006E + + + + + + + + cast 0x4000006F + + + + + + + + cast 0x40000070 + + + + + + + + cast 0x40000071 + + + + + + + + cast 0x40000072 + + + + + + + + cast 0x40000073 + + + + + + + + cast 0x40000074 + + + + + + + + cast 0x40000075 + + + + + + + + cast 0x40000076 + + + + + + + + + cast 0x40000078 + + + + + + + + cast 0x40000079 + + + + + + + + cast 0x4000007A + + + + + + + + cast 0x4000007B + + + + + + + + cast 0x4000007C + + + + + + + + cast 0x4000007D + + + + + + + + cast 0x4000007E + + + + + + + + cast 0x4000007F + + + + + + + + cast 0x40000080 + + + + + + + + cast 0x40000081 + + + + + + + + cast 0x40000085 + + + + + + + + cast 0x40000099 + + + + + + + + cast 0x4000009A + + + + + + + + cast 0x4000009B + + + + + + + + cast 0x4000009C + + + + + + + + cast 0x4000009D + + + + + + + + cast 0x4000009E + + + + + + + + cast 0x4000009F + + + + + + + + cast 0x400000A0 + + + + + + + + cast 0x400000A1 + + + + + + + + cast 0x400000A2 + + + + + + + + cast 0x400000A3 + + + + + + + + cast 0x400000A4 + + + + + + + + cast 0x400000B0 + + + + + + + + cast 0x400000B1 + + + + + + + + cast 0x400000B2 + + + + + + + + cast 0x400000B3 + + + + + + + + cast 0x400000B4 + + + + + + + + cast 0x400000B5 + + + + + + + + cast 0x400000B6 + + + + + + + + cast 0x400000B7 + + + + + + + + cast 0x400000B8 + + + + + + + + cast 0x400000B9 + + + + + + + + cast 0x400000BA + + + + + + + + cast 0x400000BB + + + + + + + + cast 0x400000BC + + + + + + + + cast 0x400000BD + + + + + + + + cast 0x400000BE + + + + + + + + cast 0x400000BF + + + + + + + + cast 0x400000C0 + + + + + + + + cast 0x400000C1 + + + + + + + + cast 0x400000C2 + + + + + + + + cast 0x400000C3 + + + + + + + + cast 0x400000C4 + + + + + + + + cast 0x400000C5 + + + + + + + + cast 0x400000C6 + + + + + + + + cast 0x400000C7 + + + + + + + + cast 0x400000C8 + + + + + + + + cast 0x400000C9 + + + + + + + + cast 0x400000CA + + + + + + + + cast 0x400000CB + + + + + + + + cast 0x400000CC + + + + + + + + cast 0x400000CD + + + + + + + + cast 0x400000CE + + + + + + + + cast 0x400000CF + + + + + + + + cast 0x400000D0 + + + + + + + + cast 0x400000D1 + + + + + + + + cast 0x400000D2 + + + + + + + + cast 0x400000D3 + + + + + + + + cast 0x400000D4 + + + + + + + + cast 0x400000D5 + + + + + + + + cast 0x400000D6 + + + + + + + + cast 0x400000D7 + + + + + + + + cast 0x400000D8 + + + + + + + + cast 0x400000D9 + + + + + + + + cast 0x400000DA + + + + + + + + cast 0x400000DB + + + + + + + + cast 0x400000DC + + + + + + + + cast 0x400000DD + + + + + + + + cast 0x400000E0 + + + + + + + + cast 0x400000E1 + + + + + + + + cast 0x400000E2 + + + + + + + + cast 0x400000E3 + + + + + + + + cast 0x400000E4 + + + + + + + + cast 0x400000E5 + + + + + + + + cast 0x400000E6 + + + + + + + + cast 0x400000E7 + + + + + + + + cast 0x40000101 + + + + + + + + cast 0x40000102 + + + + + + + + cast 0x40000103 + + + + + + + + cast 0x40000104 + + + + + + + + cast 0x40000105 + + + + + + + + cast 0x40000106 + + + + + + + + cast 0x40000107 + + + + + + + + cast 0x40000108 + + + + + + + + cast 0x40000109 + + + + + + + + cast 0x4000010A + + + + + + + + cast 0x4000010B + + + + + + + + cast 0x4000010C + + + + + + + + cast 0x4000010D + + + + + + + + cast 0x4000010E + + + + + + + + cast 0x4000010F + + + + + + + + cast 0x40000110 + + + + + + + + cast 0x40000111 + + + + + + + + cast 0x40000112 + + + + + + + + cast 0x40000113 + + + + + + + + cast 0x40000114 + + + + + + + + cast 0x40000115 + + + + + + + + cast 0x40000116 + + + + + + + + cast 0x40000117 + + + + + + + + cast 0x40000118 + + + + + + + + cast 0x40000119 + + + + + + + + cast 0x4000011A + + + + + + + + + + + + + + + + + + + + + + B]]> + + + + + + + + = B]]> + + + + + + + + + + + + + + + + + + + + + + + + A + B + + + + + lime._internal.backend.native.NativeCFFI + +
      + + + + + + + + + + + + + + 0x0000 + + + + 0x0001 + + + + 0x0002 + + + + 0x0040 + + + + 0x0080 + + + + 0x0100 + + + + 0x0200 + + + + 0x0400 + + + + 0x0800 + + + + 0x1000 + + + + 0x2000 + + + + 0x4000 + + + + (0x0040 | 0x0080) + + + + (0x001 | 0x0002) + + + + (0x0100 | 0x0200) + + + + (0x0400 | 0x0800) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0x0000 + + + + 0x0001 + + + + 0x0002 + + + + 0x0040 + + + + 0x0080 + + + + 0x0100 + + + + 0x0200 + + + + 0x0400 + + + + 0x0800 + + + + 0x1000 + + + + 0x2000 + + + + 0x4000 + + + + (0x0040 | 0x0080) + + + + (0x001 | 0x0002) + + + + (0x0100 | 0x0200) + + + + (0x0400 | 0x0800) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + lime.ui.KeyCode + + + + + + + cast 0 + + + + + + + + cast 42 + + + + + + + + cast 43 + + + + + + + + cast 40 + + + + + + + + cast 41 + + + + + + + + cast 44 + + + + + + + + cast 52 + + + + + + + + cast 54 + + + + + + + + cast 45 + + + + + + + + cast 55 + + + + + + + + cast 56 + + + + + + + + cast 39 + + + + + + + + cast 30 + + + + + + + + cast 31 + + + + + + + + cast 32 + + + + + + + + cast 33 + + + + + + + + cast 34 + + + + + + + + cast 35 + + + + + + + + cast 36 + + + + + + + + cast 37 + + + + + + + + cast 38 + + + + + + + + cast 51 + + + + + + + + cast 46 + + + + + + + + cast 47 + + + + + + + + cast 49 + + + + + + + + cast 48 + + + + + + + + cast 53 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + cast 6 + + + + + + + + cast 7 + + + + + + + + cast 8 + + + + + + + + cast 9 + + + + + + + + cast 10 + + + + + + + + cast 11 + + + + + + + + cast 12 + + + + + + + + cast 13 + + + + + + + + cast 14 + + + + + + + + cast 15 + + + + + + + + cast 16 + + + + + + + + cast 17 + + + + + + + + cast 18 + + + + +

      + + + cast 19 + + + +

      + + + + cast 20 + + + + + + + + cast 21 + + + + + + + + cast 22 + + + + + + + + cast 23 + + + + + + + + cast 24 + + + + + + + + cast 25 + + + + + + + + cast 26 + + + + + + + + cast 27 + + + + + + + + cast 28 + + + + + + + + cast 29 + + + + + + + + cast 76 + + + + + + + + cast 57 + + + + + + + + cast 58 + + + + + + + + cast 59 + + + + + + + + cast 60 + + + + + + + + cast 61 + + + + + + + + cast 62 + + + + + + + + cast 63 + + + + + + + + cast 64 + + + + + + + + cast 65 + + + + + + + + cast 66 + + + + + + + + cast 67 + + + + + + + + cast 68 + + + + + + + + cast 69 + + + + + + + + cast 70 + + + + + + + + cast 71 + + + + + + + + cast 72 + + + + + + + + cast 73 + + + + + + + + cast 74 + + + + + + + + cast 75 + + + + + + + + cast 77 + + + + + + + + cast 78 + + + + + + + + cast 79 + + + + + + + + cast 80 + + + + + + + + cast 81 + + + + + + + + cast 82 + + + + + + + + cast 83 + + + + + + + + cast 84 + + + + + + + + cast 85 + + + + + + + + cast 86 + + + + + + + + cast 87 + + + + + + + + cast 88 + + + + + + + + cast 89 + + + + + + + + cast 90 + + + + + + + + cast 91 + + + + + + + + cast 92 + + + + + + + + cast 93 + + + + + + + + cast 94 + + + + + + + + cast 95 + + + + + + + + cast 96 + + + + + + + + cast 97 + + + + + + + + cast 98 + + + + + + + + cast 99 + + + + + + + + cast 101 + + + + + + + + cast 102 + + + + + + + + cast 103 + + + + + + + + cast 104 + + + + + + + + cast 105 + + + + + + + + cast 106 + + + + + + + + cast 107 + + + + + + + + cast 108 + + + + + + + + cast 109 + + + + + + + + cast 110 + + + + + + + + cast 111 + + + + + + + + cast 112 + + + + + + + + cast 113 + + + + + + + + cast 114 + + + + + + + + cast 115 + + + + + + + + cast 116 + + + + + + + + cast 117 + + + + + + + + cast 118 + + + + + + + + + cast 120 + + + + + + + + cast 121 + + + + + + + + cast 122 + + + + + + + + cast 123 + + + + + + + + cast 124 + + + + + + + + cast 125 + + + + + + + + cast 126 + + + + + + + + cast 127 + + + + + + + + cast 128 + + + + + + + + cast 129 + + + + + + + + cast 133 + + + + + + + + cast 153 + + + + + + + + cast 154 + + + + + + + + cast 155 + + + + + + + + cast 156 + + + + + + + + cast 157 + + + + + + + + cast 158 + + + + + + + + cast 159 + + + + + + + + cast 160 + + + + + + + + cast 161 + + + + + + + + cast 162 + + + + + + + + cast 163 + + + + + + + + cast 164 + + + + + + + + cast 176 + + + + + + + + cast 177 + + + + + + + + cast 178 + + + + + + + + cast 179 + + + + + + + + cast 180 + + + + + + + + cast 181 + + + + + + + + cast 182 + + + + + + + + cast 183 + + + + + + + + cast 184 + + + + + + + + cast 185 + + + + + + + + cast 186 + + + + + + + + cast 187 + + + + + + + + cast 188 + + + + + + + + cast 189 + + + + + + + + cast 190 + + + + + + + + cast 191 + + + + + + + + cast 192 + + + + + + + + cast 193 + + + + + + + + cast 194 + + + + + + + + cast 195 + + + + + + + + cast 196 + + + + + + + + cast 197 + + + + + + + + cast 198 + + + + + + + + cast 199 + + + + + + + + cast 200 + + + + + + + + cast 201 + + + + + + + + cast 202 + + + + + + + + cast 203 + + + + + + + + cast 204 + + + + + + + + cast 205 + + + + + + + + cast 206 + + + + + + + + cast 207 + + + + + + + + cast 208 + + + + + + + + cast 209 + + + + + + + + cast 210 + + + + + + + + cast 211 + + + + + + + + cast 212 + + + + + + + + cast 213 + + + + + + + + cast 214 + + + + + + + + cast 215 + + + + + + + + cast 216 + + + + + + + + cast 217 + + + + + + + + cast 218 + + + + + + + + cast 219 + + + + + + + + cast 220 + + + + + + + + cast 221 + + + + + + + + cast 224 + + + + + + + + cast 225 + + + + + + + + cast 226 + + + + + + + + cast 227 + + + + + + + + cast 228 + + + + + + + + cast 229 + + + + + + + + cast 230 + + + + + + + + cast 231 + + + + + + + + cast 257 + + + + + + + + cast 258 + + + + + + + + cast 259 + + + + + + + + cast 260 + + + + + + + + cast 261 + + + + + + + + cast 262 + + + + + + + + cast 263 + + + + + + + + cast 264 + + + + + + + + cast 265 + + + + + + + + cast 266 + + + + + + + + cast 267 + + + + + + + + cast 268 + + + + + + + + cast 269 + + + + + + + + cast 270 + + + + + + + + cast 271 + + + + + + + + cast 272 + + + + + + + + cast 273 + + + + + + + + cast 274 + + + + + + + + cast 275 + + + + + + + + cast 276 + + + + + + + + cast 277 + + + + + + + + cast 278 + + + + + + + + cast 279 + + + + + + + + cast 280 + + + + + + + + cast 281 + + + + + + + + cast 282 + + + + + + + + + + + + + + + + + + + + + + B]]> + + + + + + + + = B]]> + + + + + + + + + + + + + + + + + + + + + + + + A + B + + + + lime.ui.KeyCode + lime._internal.backend.native.NativeCFFI + +
      +
      + + + + + cast 0 + + + + + + + + cast 42 + + + + + + + + cast 43 + + + + + + + + cast 40 + + + + + + + + cast 41 + + + + + + + + cast 44 + + + + + + + + cast 52 + + + + + + + + cast 54 + + + + + + + + cast 45 + + + + + + + + cast 55 + + + + + + + + cast 56 + + + + + + + + cast 39 + + + + + + + + cast 30 + + + + + + + + cast 31 + + + + + + + + cast 32 + + + + + + + + cast 33 + + + + + + + + cast 34 + + + + + + + + cast 35 + + + + + + + + cast 36 + + + + + + + + cast 37 + + + + + + + + cast 38 + + + + + + + + cast 51 + + + + + + + + cast 46 + + + + + + + + cast 47 + + + + + + + + cast 49 + + + + + + + + cast 48 + + + + + + + + cast 53 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + cast 6 + + + + + + + + cast 7 + + + + + + + + cast 8 + + + + + + + + cast 9 + + + + + + + + cast 10 + + + + + + + + cast 11 + + + + + + + + cast 12 + + + + + + + + cast 13 + + + + + + + + cast 14 + + + + + + + + cast 15 + + + + + + + + cast 16 + + + + + + + + cast 17 + + + + + + + + cast 18 + + + + +

      + + + cast 19 + + + +

      + + + + cast 20 + + + + + + + + cast 21 + + + + + + + + cast 22 + + + + + + + + cast 23 + + + + + + + + cast 24 + + + + + + + + cast 25 + + + + + + + + cast 26 + + + + + + + + cast 27 + + + + + + + + cast 28 + + + + + + + + cast 29 + + + + + + + + cast 76 + + + + + + + + cast 57 + + + + + + + + cast 58 + + + + + + + + cast 59 + + + + + + + + cast 60 + + + + + + + + cast 61 + + + + + + + + cast 62 + + + + + + + + cast 63 + + + + + + + + cast 64 + + + + + + + + cast 65 + + + + + + + + cast 66 + + + + + + + + cast 67 + + + + + + + + cast 68 + + + + + + + + cast 69 + + + + + + + + cast 70 + + + + + + + + cast 71 + + + + + + + + cast 72 + + + + + + + + cast 73 + + + + + + + + cast 74 + + + + + + + + cast 75 + + + + + + + + cast 77 + + + + + + + + cast 78 + + + + + + + + cast 79 + + + + + + + + cast 80 + + + + + + + + cast 81 + + + + + + + + cast 82 + + + + + + + + cast 83 + + + + + + + + cast 84 + + + + + + + + cast 85 + + + + + + + + cast 86 + + + + + + + + cast 87 + + + + + + + + cast 88 + + + + + + + + cast 89 + + + + + + + + cast 90 + + + + + + + + cast 91 + + + + + + + + cast 92 + + + + + + + + cast 93 + + + + + + + + cast 94 + + + + + + + + cast 95 + + + + + + + + cast 96 + + + + + + + + cast 97 + + + + + + + + cast 98 + + + + + + + + cast 99 + + + + + + + + cast 101 + + + + + + + + cast 102 + + + + + + + + cast 103 + + + + + + + + cast 104 + + + + + + + + cast 105 + + + + + + + + cast 106 + + + + + + + + cast 107 + + + + + + + + cast 108 + + + + + + + + cast 109 + + + + + + + + cast 110 + + + + + + + + cast 111 + + + + + + + + cast 112 + + + + + + + + cast 113 + + + + + + + + cast 114 + + + + + + + + cast 115 + + + + + + + + cast 116 + + + + + + + + cast 117 + + + + + + + + cast 118 + + + + + + + + + cast 120 + + + + + + + + cast 121 + + + + + + + + cast 122 + + + + + + + + cast 123 + + + + + + + + cast 124 + + + + + + + + cast 125 + + + + + + + + cast 126 + + + + + + + + cast 127 + + + + + + + + cast 128 + + + + + + + + cast 129 + + + + + + + + cast 133 + + + + + + + + cast 153 + + + + + + + + cast 154 + + + + + + + + cast 155 + + + + + + + + cast 156 + + + + + + + + cast 157 + + + + + + + + cast 158 + + + + + + + + cast 159 + + + + + + + + cast 160 + + + + + + + + cast 161 + + + + + + + + cast 162 + + + + + + + + cast 163 + + + + + + + + cast 164 + + + + + + + + cast 176 + + + + + + + + cast 177 + + + + + + + + cast 178 + + + + + + + + cast 179 + + + + + + + + cast 180 + + + + + + + + cast 181 + + + + + + + + cast 182 + + + + + + + + cast 183 + + + + + + + + cast 184 + + + + + + + + cast 185 + + + + + + + + cast 186 + + + + + + + + cast 187 + + + + + + + + cast 188 + + + + + + + + cast 189 + + + + + + + + cast 190 + + + + + + + + cast 191 + + + + + + + + cast 192 + + + + + + + + cast 193 + + + + + + + + cast 194 + + + + + + + + cast 195 + + + + + + + + cast 196 + + + + + + + + cast 197 + + + + + + + + cast 198 + + + + + + + + cast 199 + + + + + + + + cast 200 + + + + + + + + cast 201 + + + + + + + + cast 202 + + + + + + + + cast 203 + + + + + + + + cast 204 + + + + + + + + cast 205 + + + + + + + + cast 206 + + + + + + + + cast 207 + + + + + + + + cast 208 + + + + + + + + cast 209 + + + + + + + + cast 210 + + + + + + + + cast 211 + + + + + + + + cast 212 + + + + + + + + cast 213 + + + + + + + + cast 214 + + + + + + + + cast 215 + + + + + + + + cast 216 + + + + + + + + cast 217 + + + + + + + + cast 218 + + + + + + + + cast 219 + + + + + + + + cast 220 + + + + + + + + cast 221 + + + + + + + + cast 224 + + + + + + + + cast 225 + + + + + + + + cast 226 + + + + + + + + cast 227 + + + + + + + + cast 228 + + + + + + + + cast 229 + + + + + + + + cast 230 + + + + + + + + cast 231 + + + + + + + + cast 257 + + + + + + + + cast 258 + + + + + + + + cast 259 + + + + + + + + cast 260 + + + + + + + + cast 261 + + + + + + + + cast 262 + + + + + + + + cast 263 + + + + + + + + cast 264 + + + + + + + + cast 265 + + + + + + + + cast 266 + + + + + + + + cast 267 + + + + + + + + cast 268 + + + + + + + + cast 269 + + + + + + + + cast 270 + + + + + + + + cast 271 + + + + + + + + cast 272 + + + + + + + + cast 273 + + + + + + + + cast 274 + + + + + + + + cast 275 + + + + + + + + cast 276 + + + + + + + + cast 277 + + + + + + + + cast 278 + + + + + + + + cast 279 + + + + + + + + cast 280 + + + + + + + + cast 281 + + + + + + + + cast 282 + + + + + + + + + + + + + + + + + + + + + + B]]> + + + + + + + + = B]]> + + + + + + + + + + + + + + + + + + + + + + + + A + B + + + + lime.ui.KeyCode + lime._internal.backend.native.NativeCFFI + +
      + + + + + + + ()]]> + + + + + + + ()]]> + + + + + + + ()]]> + + + + + + + ()]]> + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + + + + + + + + + + + + + * The current frame rate (measured in frames-per-second) of the window. + * + * On some platforms, a frame rate of 60 or greater may imply vsync, which will + * perform more quickly on displays with a higher refresh rate + + + + + + + + + + + ()]]> + + + + ()]]> + + + + ()]]> + + + + + + + ()]]> + + + + ()]]> + + + + ()]]> + + + + ()]]> + + + + ()]]> + + + + ()]]> + + + + + + + + KeyModifier>()]]> + + + + + + + + KeyModifier>()]]> + + + + ()]]> + + + + ()]]> + + + + ()]]> + + + + + + + + + Float -> MouseButton>()]]> + + + + + + + + Float>()]]> + + + + + + + + Float>()]]> + + + + + + + + + Float -> Int>()]]> + + + + + + + + + Float -> MouseWheelMode>()]]> + + + + + + + + Float>()]]> + + + + + + + ()]]> + + + + ()]]> + + + + + + + ()]]> + + + + + + + + Int>()]]> + + + + ()]]> + + + + + + + + + Int -> Int>()]]> + + + + + + + ()]]> + + + + + + + <c path="String"/> + + + + <__attributes> + + + + <__backend> + + + + <__borderless> + + + + <__fullscreen> + + + + <__height> + + + + <__hidden> + + + + <__maximized> + + + + <__minimized> + + + + <__resizable> + + + + <__scale> + + + + <__title> + + + + <__width> + + + + <__x> + + + + <__y> + + + + + + + + + + { title : null, message : null } + + + + + + + + + + + + + + { rect : null } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + + + + + + + + + + + + + + + + + + + + + <x path="Null"><c path="String"/></x> + <meta><m n=":optional"/></meta> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="21" static="1"> + + + + + + + + + + + + + + + + + + { end : null } + + + + + + + + + + <_new public="1" get="inline" set="null" line="21" static="1"> + + + + + + + + + + + + + + + + + + { end : null } + + + + + + + + + hide + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + cast 6 + + + + + + + + cast 7 + + + + + + + + cast 8 + + + + + + + + cast 9 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + cast 6 + + + + + + + + cast 7 + + + + + + + + cast 8 + + + + + + + + cast 9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + hide + + + + + + + + + + + + + + + + + + + + <__extractBundle set="method" line="56" static="1"> + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { prefix : null } + + + + + "tags=\"haxe,release\"" + + + + + + + + + + + { rootPath : null } + + + + + + + + { rootPath : null } + + + + + + + + { rootPath : null } + + + + + + + + { rootPath : null } + + + + + + + + { rootPath : null } + + <__resolvePath set="method" line="149" static="1"> + + + + <__resolveRootPath set="method" line="189" static="1"> + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + + + + + + + + + + + cast "BINARY" + + + + + + + + cast "FONT" + + + + + + + + cast "IMAGE" + + + + + + + + cast "MANIFEST" + + + + + + + + cast "MUSIC" + + + + + + + + cast "SOUND" + + + + + + + + + cast "TEXT" + + + + + + + + + + + + cast "BINARY" + + + + + + + + cast "FONT" + + + + + + + + cast "IMAGE" + + + + + + + + cast "MANIFEST" + + + + + + + + cast "MUSIC" + + + + + + + + cast "SOUND" + + + + + + + + + cast "TEXT" + + + + + + + + + + new AssetCache() + + + + ()]]> + + + + + + + ()]]> + + + + + + + ()]]> + + + + + + + ()]]> + + + + + + + + { type : null } + + + + + + + + + * Gets an instance of a cached or embedded asset + * @usage var sound = Assets.getAsset("sound.wav", SOUND); + * @param id The ID or asset path for the asset + * @return An Asset object, or null. + + + + + + + + { useCache : true } + * Gets an instance of an embedded sound + * @usage var sound = Assets.getAudioBuffer ("sound.wav"); + * @param id The ID or asset path for the sound + * @return A new Sound object + + + + + + + * Gets an instance of an embedded binary asset + * @usage var bytes = Assets.getBytes("file.zip"); + * @param id The ID or asset path for the file + * @return A new Bytes object + + + + + + + + { useCache : true } + * Gets an instance of an embedded font + * @usage var fontName = Assets.getFont("font.ttf").fontName; + * @param id The ID or asset path for the font + * @return A new Font object + + + + + + + + { useCache : true } + * Gets an instance of an embedded bitmap + * @usage var bitmap = new Bitmap(Assets.getBitmapData("image.jpg")); + * @param id The ID or asset path for the bitmap + * @param useCache (Optional) Whether to use BitmapData from the cache(Default: true) + * @return A new BitmapData object + + + + + + + + + + + * Gets the file path (if available) for an asset + * @usage var path = Assets.getPath("image.jpg"); + * @param id The ID or asset path for the asset + * @return The path to the asset (or null) + + + + + + + * Gets an instance of an embedded text asset + * @usage var text = Assets.getText("text.txt"); + * @param id The ID or asset path for the file + * @return A new String object + + + + + + + + + + + + + { useCache : true, type : null } + + + + + + + + + + + + + + + { type : null } + + + + + + + + + + + + + + { useCache : true } + + + + + + + + + + + + { useCache : true } + + + + + + + + { useCache : true } + + + + + + + + + + + + + + + + + + + <__cacheBreak set="method" line="537" static="1"> + + + + + + + <__libraryNotFound set="method" line="556" static="1"> + + + + + + + + + + + The Assets class provides a cross-platform interface to access + * embedded images, fonts, sounds and other resource files.

      + * + *

      The contents are populated automatically when an application + * is compiled using the Lime command-line tools, based on the + * contents of the project file.

      + * + *

      For most platforms, the assets are included in the same directory + * or package as the application, and the paths are handled + * automatically. For web content, the assets are preloaded before + * the start of the rest of the application.

      ]]>
      + + + "tags=\"haxe,release\"" + + lime.utils.AssetLibrary + +
      + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + + + + + + + + + + + + + + + + + + + + + + + + + + haxe.io.Bytes + lime.utils.BytePointerData + + + + + <_new public="1" get="inline" set="null" line="13" static="1"> + + + + + + + { offset : 0, bytes : null } + + + + + + + + + + + + <__arrayGet get="inline" set="null" line="47" static="1"> + + + + + + + + + + + <__arraySet get="inline" set="null" line="52" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lime.utils.BytePointerData + haxe.io.Bytes + + + + + <_new public="1" get="inline" set="null" line="13" static="1"> + + + + + + + { offset : 0, bytes : null } + + + + + + + + + + + + <__arrayGet get="inline" set="null" line="47" static="1"> + + + + + + + + + + + <__arraySet get="inline" set="null" line="52" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lime.utils.BytePointerData + haxe.io.Bytes + + + + + + + + haxe.io.Bytes + lime._internal.backend.native.NativeCFFI + + + + + <_new public="1" set="method" line="19" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <__fromNativePointer public="1" set="method" line="132" static="1"> + + + + + + + lime._internal.backend.native.NativeCFFI + haxe.io.Bytes + + + + + <_new public="1" set="method" line="19" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <__fromNativePointer public="1" set="method" line="132" static="1"> + + + + + + + lime._internal.backend.native.NativeCFFI + haxe.io.Bytes + + + + + + + + + + + + + + + + + + + + + + + + + + + + lime._internal.backend.native.NativeCFFI + haxe.io.Bytes + + + + <_new set="method" line="21" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <__withOffset set="method" line="151" static="1"> + + + + + + + + + + + + + A == B + + + + + + + + + + + A == B + + + + + + + + + + + B]]> + + + + + + + + + + + B]]> + + + + + + + + + + + = B]]> + + + + + + + + + + + = B]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A != B + + + + + + + + + + + A != B + + + + + + + + + + + A + B + + + + + + + + + + + A + B + + + + + + + + + + + A - B + + + + + + + + + + + A - B + + + + + haxe.io.Bytes + lime._internal.backend.native.NativeCFFI + + + + + <_new set="method" line="21" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <__withOffset set="method" line="151" static="1"> + + + + + + + + + + + + + A == B + + + + + + + + + + + A == B + + + + + + + + + + + B]]> + + + + + + + + + + + B]]> + + + + + + + + + + + = B]]> + + + + + + + + + + + = B]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A != B + + + + + + + + + + + A != B + + + + + + + + + + + A + B + + + + + + + + + + + A + B + + + + + + + + + + + A - B + + + + + + + + + + + A - B + + + + + haxe.io.Bytes + lime._internal.backend.native.NativeCFFI + + + + + + + + + + + + + + + 4 + + + + <_new public="1" params="T" get="inline" set="null" line="101" static="1"> + + + + + + + + + + + + + { byteoffset : 0 } + + + + + + + + + + + { end : null } + + + + + + + + + { byteOffset : 0 } + + + + + + + + + + + + + + + 4 + + + + <_new public="1" params="T" get="inline" set="null" line="101" static="1"> + + + + + + + + + + + + + { byteoffset : 0 } + + + + + + + + + + + { end : null } + + + + + + + + + { byteOffset : 0 } + + + + + + + + + + + + + + + + + + + + + + 8 + + + <_new public="1" params="T" get="inline" set="null" line="98" static="1"> + + + + + + + + + + + + + { byteoffset : 0 } + + + + + + + + + + + { end : null } + + + + + + + + + { byteOffset : 0 } + + + + + + + + + + + + + + + + + + + 8 + + + <_new public="1" params="T" get="inline" set="null" line="98" static="1"> + + + + + + + + + + + + + { byteoffset : 0 } + + + + + + + + + + + { end : null } + + + + + + + + + { byteOffset : 0 } + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + <_new public="1" params="T" get="inline" set="null" line="98" static="1"> + + + + + + + + + + + + + { byteoffset : 0 } + + + + + + + + + + + { end : null } + + + + + + + + + { byteOffset : 0 } + + + + + + + + + + + + + + + + + + + 2 + + + <_new public="1" params="T" get="inline" set="null" line="98" static="1"> + + + + + + + + + + + + + { byteoffset : 0 } + + + + + + + + + + + { end : null } + + + + + + + + + { byteOffset : 0 } + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + <_new public="1" params="T" get="inline" set="null" line="97" static="1"> + + + + + + + + + + + + + { byteoffset : 0 } + + + + + + + + + + + { end : null } + + + + + + + + + { byteOffset : 0 } + + + + + + + + + + + + + + + + + + + 4 + + + <_new public="1" params="T" get="inline" set="null" line="97" static="1"> + + + + + + + + + + + + + { byteoffset : 0 } + + + + + + + + + + + { end : null } + + + + + + + + + { byteOffset : 0 } + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + <_new public="1" params="T" get="inline" set="null" line="96" static="1"> + + + + + + + + + + + + + { byteoffset : 0 } + + + + + + + + + + + { end : null } + + + + + + + + + { byteOffset : 0 } + + + + + + + + + + + + + + + + + + + 1 + + + <_new public="1" params="T" get="inline" set="null" line="96" static="1"> + + + + + + + + + + + + + { byteoffset : 0 } + + + + + + + + + + + { end : null } + + + + + + + + + { byteOffset : 0 } + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + + + + + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + + + + B]]> + + + + + + + + = B]]> + + + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + + + + B]]> + + + + + + + + = B]]> + + + + + + + + + + + + + + + + + + + + + + + + ()]]> + + + + + + + + Int>()]]> + + + + + + + + + + + + ()]]> + + + + + + + + + + ()]]> + + + + + + + + + + + + + + ()]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { name : null } + + + + + + + + + + + + + + + + + + + + + + + lime.utils.AssetLibrary + "tags=\"haxe,release\"" + + + + + + + + + + + + + + + + <_new public="1" set="method" line="8" static="1"> + + + + + + { size : 0 } + + + + <__fromString get="inline" set="null" line="14" static="1"> + + + + + + + <__toString get="inline" set="null" line="19" static="1"> + + + + + + + + + + <_new public="1" set="method" line="8" static="1"> + + + + + + { size : 0 } + + + + <__fromString get="inline" set="null" line="14" static="1"> + + + + + + + <__toString get="inline" set="null" line="19" static="1"> + + + + + + + + + + + + + + + + + + + 2 + + + <_new public="1" params="T" get="inline" set="null" line="97" static="1"> + + + + + + + + + + + + + { byteoffset : 0 } + + + + + + + + + + + { end : null } + + + + + + + + + { byteOffset : 0 } + + + + + + + + + + + + + + + + + + + 2 + + + <_new public="1" params="T" get="inline" set="null" line="97" static="1"> + + + + + + + + + + + + + { byteoffset : 0 } + + + + + + + + + + + { end : null } + + + + + + + + + { byteOffset : 0 } + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + <_new public="1" params="T" get="inline" set="null" line="97" static="1"> + + + + + + + + + + + + + { byteoffset : 0 } + + + + + + + + + + + { end : null } + + + + + + + + + { byteOffset : 0 } + + + + + + + + + + + + + + + + + + + 4 + + + <_new public="1" params="T" get="inline" set="null" line="97" static="1"> + + + + + + + + + + + + + { byteoffset : 0 } + + + + + + + + + + + { end : null } + + + + + + + + + { byteOffset : 0 } + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + <_new public="1" params="T" get="inline" set="null" line="95" static="1"> + + + + + + + + + + + + + { byteoffset : 0 } + + + + + + + + + + + { end : null } + + + + + + + + + { byteOffset : 0 } + + + + + + + + + + + + + + + + + + + 1 + + + <_new public="1" params="T" get="inline" set="null" line="95" static="1"> + + + + + + + + + + + + + { byteoffset : 0 } + + + + + + + + + + + { end : null } + + + + + + + + + { byteOffset : 0 } + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + <_new public="1" params="T" get="inline" set="null" line="107" static="1"> + + + + + + + + + + + + + { byteoffset : 0 } + + + + + + + + + + + { end : null } + + + + + + + + + { byteOffset : 0 } + + + + + + + + + + + + + + + + + + + 1 + + + <_new public="1" params="T" get="inline" set="null" line="107" static="1"> + + + + + + + + + + + + + { byteoffset : 0 } + + + + + + + + + + + { end : null } + + + + + + + + + { byteOffset : 0 } + + + + + + + + + + + + + + + + + + + <__lastTimerID expr="0" line="27" static="1"> + + + 0 + + + + <__sentWarnings expr="new Map()" line="28" static="1"> + + + + + + new Map() + + + + <__timers expr="new Map()" line="29" static="1"> + + + + + + new Map() + + + + + + + + + + + + + + + + + + Cancels a specified `setInterval()` call. + + @param id The ID of the `setInterval()` call, which you set to a variable, as + in the following: + + + + + + + Cancels a specified `setTimeout()` call. + + @param id The ID of the `setTimeout()` call, which you set to a variable, as in + the following + + + + + + + Returns a reference to the class object of the class specified by the `name` + parameter. + + @param name The name of a class. + @returns Returns a reference to the class object of the class specified by the + `name` parameter. + @throws ReferenceError No public definition exists with the specified name. + + + + + + + Returns the fully qualified class name of an object. + + @param value The object for which a fully qualified class name is desired. Any + ActionScript value may be passed to this method including all available + ActionScript types, object instances, primitive types such as uint, and class + objects. + @returns String A string containing the fully qualified class name. + + + + + + + Returns the fully qualified class name of the base class of the object specified + by the value parameter. This function provides a quicker way of retrieving the + base class name than `describeType()`, but also doesn't provide all the + information `describeType()` does. + + After you retrieve the name of a class with this function, you can convert the + class name to a class reference with the `getDefinitionByName()` function. + + **Note:** This function restricts itself to instance hierarchies, whereas the + `describeType()` function uses class object hierarchies if the value parameter is + a data type. Calling `describeType()` on a data type returns the superclass based + on the class object hierarchy, in which all class objects inherit from Class. The + `getQualifiedSuperclassName()` function, however, ignores the class object + hierarchy and returns the superclass based on the more familiar instance + hierarchy. For example, calling `getQualifiedSuperclassName(String)` returns + Object although technically the String class object inherits from Class. In other + words, the results are the same whether you use an instance of a type or the type + itself. + + @param value Any value. + @returns A fully qualified base class name, or null if none exists. + + + + Used to compute relative time. For a Flash runtime processing ActionScript 3.0, + this method returns the number of milliseconds that have elapsed since the Flash + runtime virtual machine for ActionScript 3.0 (AVM2) started. For a Flash runtime + processing ActionScript 2.0, this method returns the number of milliseconds since + the Flash runtime began initialization. Flash runtimes use two virtual machines to + process ActionScript. AVM1 is the ActionScript virtual machine used to run + ActionScript 1.0 and 2.0. AVM2 is the ActionScript virtual machine used to run + ActionScript 3.0. The getTimer() method behavior for AVM1 is different than the + behavior for AVM2. + + For a calendar date (timestamp), see the Date object. + + @returns The number of milliseconds since the runtime was initialized (while + processing ActionScript 2.0), or since the virtual machine started (while + processing ActionScript 3.0). If the runtime starts playing one SWF file, and + another SWF file is loaded later, the return value is relative to when the first + SWF file was loaded. + + + + + + + + { target : null } + + + + + + + + { window : null } + = 4096) { + return (false); + } + return (true); + } + ``` + + For local content running in a browser, calls to the `navigateToURL()` method that + specify a "javascript:" pseudo-protocol (via a URLRequest object passed as the first + parameter) are only permitted if the SWF file and the containing web page (if there + is one) are in the local-trusted security sandbox. Some browsers do not support using + the javascript protocol with the `navigateToURL()` method. Instead, consider using the + `call()` method of the ExternalInterface API to invoke JavaScript methods within the + enclosing HTML page. + + In Flash Player, and in non-application sandboxes in Adobe AIR, you cannot connect to + commonly reserved ports. For a complete list of blocked ports, see "Restricting + Networking APIs" in the ActionScript 3.0 Developer's Guide. + + In Flash Player 10 and later running in a browser, using this method programmatically + to open a pop-up window may not be successful. Various browsers (and browser + configurations) may block pop-up windows at any time; it is not possible to guarantee + any pop-up window will appear. However, for the best chance of success, use this + method to open a pop-up window only in code that executes as a direct result of a + user action (for example, in an event handler for a mouse click or key-press event.) + + In Flash Player 10 and later, if you use a multipart Content-Type (for example + "multipart/form-data") that contains an upload (indicated by a "filename" parameter + in a "content-disposition" header within the POST body), the POST operation is subject + to the security rules applied to uploads: + + * The POST operation must be performed in response to a user-initiated action, such + as a mouse click or key press. + * If the POST operation is cross-domain (the POST target is not on the same server + as the SWF file that is sending the POST request), the target server must provide + a URL policy file that permits cross-domain access. + + Also, for any multipart Content-Type, the syntax must be valid (according to the + RFC2046 standards). If the syntax appears to be invalid, the POST operation is + subject to the security rules applied to uploads. + + In AIR, on mobile platforms, the sms: and tel: URI schemes are supported. On + Android, vipaccess:, connectpro:, and market: URI schemes are supported. The URL + syntax is subject to the platform conventions. For example, on Android, the URI + scheme must be lower case. When you navigate to a URL using one of these schemes, + the runtime opens the URL in the default application for handling the scheme. Thus, + navigating to tel:+5555555555 opens the phone dialer with the specified number + already entered. A separate application or utility, such as a phone dialer must be + available to process the URL. + + The following code shows how you can invoke the VIP Access and Connect Pro + applications on Android: + + ```as3 + //Invoke the VIP Access Application. + navigateToURL(new URLRequest("vipaccess://com.verisign.mvip.main?action=securitycode")); + + //Invoke the Connect Pro Application. + navigateToURL(new URLRequest("connectpro://")); + ``` + + @param request A URLRequest object that specifies the URL to navigate to. + For content running in Adobe AIR, when using the `navigateToURL()` function, the + runtime treats a URLRequest that uses the POST method (one that has its method + property set to `URLRequestMethod.POST`) as using the GET method. + + @param window The browser window or HTML frame in which to display the document + indicated by the request parameter. You can enter the name of a specific window or + use one of the following values: + + * `"_self"` specifies the current frame in the current window. + * `"_blank"` specifies a new window. + * `"_parent"` specifies the parent of the current frame. + * `"_top"` specifies the top-level frame in the current window. + + If you do not specify a value for this parameter, a new empty window is created. + In the stand-alone player, you can either specify a new ("_blank") window or a + named window. The other values don't apply. + + **Note:** When code in a SWF file that is running in the local-with-filesystem + sandbox calls the `navigateToURL()` function and specifies a custom window name + for the window parameter, the window name is transfered into a random name. The + name is in the form "_flashXXXXXXXX", where each X represents a random hexadecimal + digit. Within the same session (until you close the containing browser window), + if you call the function again and specify the same name for the window parameter, + the same random string is used. + + @throws IOError The digest property of the request object is not null. You should + only set the digest property of a URLRequest object for use calling the + `URLLoader.load()` method when loading a SWZ file (an Adobe platform component). + @throws SecurityError In Flash Player (and in non-application sandbox content in + Adobe AIR), this error is thrown in the following situations: + * Local untrusted SWF files may not communicate with the Internet. You can avoid + this situation by reclassifying this SWF file as local-with-networking or trusted. + * A navigate operation attempted to evaluate a scripting pseudo-URL, but the + containing document (usually an HTML document in a browser) is from a sandbox to + which you do not have access. You can avoid this situation by specifying + `allowScriptAccess="always"` in the containing document. + * You cannot navigate the special windows "_self", "_top", or "_parent" if your + SWF file is contained by an HTML page that has set the allowScriptAccess to + "none", or to "sameDomain" when the domains of the HTML file and the SWF file do + not match. + * You cannot navigate a window with a nondefault name from within a SWF file that + is in the local-with-filesystem sandbox. + * You cannot connect to commonly reserved ports. For a complete list of blocked + ports, see "Restricting Networking APIs" in the ActionScript 3.0 Developer's Guide. + @throws Error If the method is not called in response to a user action, such as a + mouse event or keypress event. This requirement only applies to content in Flash + Player and to non-application sandbox content in Adobe AIR.]]> + + + + + + + + + + + + Sends a URL request to a server, but ignores any response. + + To examine the server response, use the `URLLoader.load()` method instead. + + You cannot connect to commonly reserved ports. For a complete list of blocked + ports, see "Restricting Networking APIs" in the ActionScript 3.0 Developer's Guide. + + You can prevent a SWF file from using this method by setting the `allowNetworking` + parameter of the the object and embed tags in the HTML page that contains the SWF + content. + + In Flash Player 10 and later, if you use a multipart Content-Type (for example + "multipart/form-data") that contains an upload (indicated by a "filename" parameter + in a "content-disposition" header within the POST body), the POST operation is + subject to the security rules applied to uploads: + + * The POST operation must be performed in response to a user-initiated action, + such as a mouse click or key press. + * If the POST operation is cross-domain (the POST target is not on the same server + as the SWF file that is sending the POST request), the target server must provide + a URL policy file that permits cross-domain access. + + Also, for any multipart Content-Type, the syntax must be valid (according to the + RFC2046 standards). If the syntax appears to be invalid, the POST operation is + subject to the security rules applied to uploads. + + For more information related to security, see the Flash Player Developer Center + Topic: Security. + + @param request A URLRequest object specifying the URL to send data to. + @throws SecurityError Local untrusted SWF files cannot communicate with the + Internet. You can avoid this situation by reclassifying this SWF file as + local-with-networking or trusted. + @throws SecurityError You cannot connect to commonly reserved ports. For a + complete list of blocked ports, see "Restricting Networking APIs" in the + ActionScript 3.0 Developer's Guide. + + + + + + + + + { args : null } + Runs a function at a specified interval (in milliseconds). + + Instead of using the `setInterval()` method, consider creating a Timer object, with + the specified interval, using 0 as the `repeatCount` parameter (which sets the timer + to repeat indefinitely). + + If you intend to use the `clearInterval()` method to cancel the `setInterval()` + call, be sure to assign the `setInterval()` call to a variable (which the + `clearInterval()` function will later reference). If you do not call the + `clearInterval()` function to cancel the `setInterval()` call, the object + containing the set timeout closure function will not be garbage collected. + + @param closure The name of the function to execute. Do not include quotation + marks or parentheses, and do not specify parameters of the function to call. For + example, use `functionName`, not `functionName()` or `functionName(param)`. + @param delay The interval, in milliseconds. + @param args An optional list of arguments that are passed to the closure + function. + @returns Unique numeric identifier for the timed process. Use this identifier + to cancel the process, by calling the `clearInterval()` method. + + + + + + + + + { args : null } + Runs a specified function after a specified delay (in milliseconds). + + Instead of using this method, consider creating a Timer object, with the specified + interval, using 1 as the `repeatCount` parameter (which sets the timer to run only + once). + + If you intend to use the `clearTimeout()` method to cancel the `setTimeout()` call, + be sure to assign the `setTimeout()` call to a variable (which the + `clearTimeout()` function will later reference). If you do not call the + `clearTimeout()` function to cancel the `setTimeout()` call, the object containing + the set timeout closure function will not be garbage collected. + + @param closure The name of the function to execute. Do not include quotation marks + or parentheses, and do not specify parameters of the function to call. For + example, use `functionName`, not `functionName()` or `functionName(param)`. + @param delay The delay, in milliseconds, until the function is executed. + @param args An optional list of arguments that are passed to the closure + function. + @returns Unique numeric identifier for the timed process. Use this identifier to + cancel the process, by calling the `clearTimeout()` method. + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + openfl.display.Stage + + + + + + + + + + + + + + + + + + + + `), as shown in this example: + + In the first line of the example, the variable `v` is declared as a + Vector. instance. In other words, it represents a Vector (an array) that + can only hold String instances and from which only String instances can be + retrieved. The second line constructs an instance of the same Vector type (that is, + a Vector whose elements are all String objects) and assigns it to `v`. + + ```as3 + var v:Vector.; + v = new Vector.(); + ``` + + A variable declared with the Vector. data type can only store a Vector instance + that is constructed with the same base type T. For example, a Vector that's + constructed by calling `new Vector.()` can't be assigned to a variable that's + declared with the Vector. data type. The base types must match exactly. For + example, the following code doesn't compile because the object's base type isn't + the same as the variable's declared base type (even though Sprite is a subclass of + DisplayObject): + + ```haxe + // This code doesn't compile even though Sprite is a DisplayObject subclass + var v:Vector. = new Vector.(); + ``` + + To convert a Vector with base type T to a Vector of a superclass of T, use the + `Vector()` global function. + + In addition to the data type restriction, the Vector class has other restrictions + that distinguish it from the Array class: + + * A Vector is a dense array. Unlike an Array, which may have values in indices 0 and 7 + even if there are no values in positions 1 through 6, a Vector must have a value + (or null) in each index. + * A Vector can optionally be fixed-length, meaning the number of elements it contains + can't change. + * Access to a Vector's elements is bounds-checked. You can never read a value from an + index greater than the final element (length - 1). You can never set a value with an + index more than one beyond the current final index (in other words, you can only set + a value at an existing index or at index [length]). + + As a result of its restrictions, a Vector has three primary benefits over an Array + instance whose elements are all instances of a single class: + + * Performance: array element access and iteration are much faster when using a + Vector instance than they are when using an Array. + * Type safety: in strict mode the compiler can identify data type errors. Examples + of data type errors include assigning a value of the incorrect data type to a + Vector or expecting the wrong data type when reading a value from a Vector. Note, + however, that when using the push() method or unshift() method to add values to a + Vector, the arguments' data types are not checked at compile time. Instead, they are + checked at run time. + * Reliability: runtime range checking (or fixed-length checking) increases + reliability significantly over Arrays.]]> + T + + + + Indicates whether the `length` property of the Vector can be changed. If the + value is `true`, the `length` property can't be changed. This means the + following operations are not allowed when `fixed` is `true`: + + * setting the `length` property directly + * assigning a value to index position length + * calling a method that changes the `length` property, including: + * `pop()` + * `push()` + * `shift()` + * `unshift()` + * `splice()` (if the `splice()` call changes the length of the Vector). + + + + The range of valid indices available in the Vector. A Vector instance has index + positions up to but not including the length value. + + Every Vector element always has a value that is either an instance of the base + type or `null`. When the `length` property is set to a value that's larger than + its previous value, additional elements are created and populated with the + default value appropriate to the base type (`null` for reference types). + + When the `length` property is set to a value that's smaller than its previous + value, all the elements at index positions greater than or equal to the new + length value are removed from the Vector. + + + + + + + + { vec : null } + Concatenates the Vectors specified in the parameters list with the elements in + this Vector and creates a new Vector. The Vectors in the parameters list must + have the same base type, or subtype, as this Vector. If you do not pass any + parameters, the returned Vector is a duplicate (shallow clone) of the original + Vector. + + @param vec A Vector of the base type, or subtype, of this Vector. + @return A Vector with the same base type as this Vector that contains the + elements from this Vector followed by elements from the Vector in the + parameter list. + @throws TypeError If any argument is not a Vector of the base type, or cannot + be converted to a Vector of the base type. + + + + + + + Creates a new shallow clone of the current Vector object + @return A new Vector object + + + + + + + + + + + Executes a test function on each item in the Vector and returns a new Vector + containing all items that return true for the specified function. If an item + returns false, it is not included in the result Vector. The base type of the return + Vector matches the base type of the Vector on which the method is called. + @param callback The function to run on each item in the Vector. + + + + + + + + + + hide + + + Array access + + + + + + + + + { fromIndex : 0 } + Searches for an item in the Vector and returns the index position of the item. + The item is compared to the Vector elements using strict equality (`===`). + @param searchElement The item to find in the Vector. + @param fromIndex The location in the Vector from which to start searching for + the item. If this parameter is negative, it is treated as `length + fromIndex`, + meaning the search starts -fromIndex items from the end and searches from that + position forward to the end of the Vector. + @return A zero-based index position of the item in the Vector. If the + `searchElement` argument is not found, the return value is -1. + + + + + + + + + Insert a single element into the Vector. This method modifies the Vector without + making a copy. + + @param index An integer that specifies the position in the Vector where the + element is to be inserted. You can use a negative integer to specify a position + relative to the end of the Vector (for example, -1 for the last element of the + Vector). + @param element The value to insert + @throws RangeError If this method is called while `fixed` is `true`. + + + + + + + + + hide + + Iterator + + + + + + + + { sep : "," } + Converts the elements in the Vector to strings, inserts the specified separator + between the elements, concatenates them, and returns the resulting string. A + nested Vector is always separated by a comma (`,`), not by the separator passed + to the `join()` method. + + @param sep A character or string that separates Vector elements in the returned + string. If you omit this parameter, a comma is used as the default separator. + @return A string consisting of the elements of the Vector converted to strings + and separated by the specified string. + + + + + + + + + { fromIndex : null } + Searches for an item in the Vector, working backward from the specified index + position, and returns the index position of the matching item. The item is + compared to the Vector elements using strict equality (`===`). + + @param searchElement The item to find in the Vector. + @param fromIndex The location in the Vector from which to start searching for + the item. The default is the maximum allowable index value, meaning that the + search starts at the last item in the Vector. + + If this parameter is negative, it is treated as `length + fromIndex`, meaning the + search starts -fromIndex items from the end and searches from that position + backward to index 0. + @return A zero-based index position of the item in the Vector. If the + `searchElement` argument is not found, the return value is -1. + + + + + + + Removes the last element from the Vector and returns that element. The `length` + property of the Vector is decreased by one when this function is called. + @return The value of the last element in the specified Vector. + @throws RangeError If this method is called while `fixed` is `true`. + + + + + + + + Adds one or more elements to the end of the Vector and returns the new length of + the Vector. + + Because this function can accept multiple arguments, the data type of the + arguments is not checked at compile time even in strict mode. However, if an + argument is passed that is not an instance of the base type, an exception + occurs at run time. + + @param value A value to append to the Vector. + @return The length of the Vector after the new elements are added. + @throws TypeError If any argument is not an instance of the base type T of + the Vector. + @throws RangeError If this method is called while `fixed` is `true`. + + + + + + + + Remove a single element from the Vector. This method modifies the Vector without + making a copy. + + @param index An integer that specifies the index of the element in the Vector + that is to be deleted. You can use a negative integer to specify a position + relative to the end of the Vector (for example, -1 for the last element of the + Vector). + @return The element that was removed from the original Vector. + @throws RangeError If the index argument specifies an index to be deleted that's + outside the Vector's bounds. + @throws RangeError If this method is called while `fixed` is `true`. + + + + + + + Reverses the order of the elements in the Vector. This method alters the Vector + on which it is called. + + @return The Vector with the elements in reverse order. + + + + + + + + + + + hide + + + Array access + + + + + + + Removes the first element from the Vector and returns that element. The + remaining Vector elements are moved from their original position, i, to i - 1. + + @return The first element in the Vector. + @throws RangeError If `fixed` is `true`. + + + + + + + + + { endIndex : null, startIndex : 0 } + Returns a new Vector that consists of a range of elements from the original + Vector, without modifying the original Vector. The returned Vector includes the + `startIndex` element and all elements up to, but not including, the + `endIndex` element. + + If you don't pass any parameters, the new Vector is a duplicate (shallow clone) of + the original Vector. If you pass a value of 0 for both parameters, a new, empty + Vector is created of the same type as the original Vector. + + @param startIndex A number specifying the index of the starting point for the + slice. If startIndex is a negative number, the starting point begins at the end + of the Vector, where -1 is the last element. + @param endIndex A number specifying the index of the ending point for the + slice. If you omit this parameter, the slice includes all elements from the + starting point to the end of the Vector. If endIndex is a negative number, the + ending point is specified from the end of the Vector, where -1 is the last element. + @return A Vector that consists of a range of elements from the original Vector. + + + + + + + + + + + + Sorts the elements in the Vector object, and also returns a sorted Vector object. + This method sorts according to the parameter sortBehavior, which is either a + function that compares two values, or a set of sorting options. + + The method takes one parameter. The parameter is one of the following: + + * a function that takes two arguments of the base type (T) of the Vector and + returns a Number: + + ```as3 + function compare(x:T, y:T):Number {} + ``` + + The logic of the function is that, given two elements `x` and `y`, the function + returns one of the following three values: + + * a negative number, if `x` should appear before `y` in the sorted sequence + * 0, if `x` equals `y` + * a positive number, if `x` should appear after `y` in the sorted sequence + + * a number which is a bitwise OR of the following values: + * 1 or `Array.CASEINSENSITIVE` + * 2 or `Array.DESCENDING` + * 4 or `Array.UNIQUESORT` + * 8 or `Array.RETURNINDEXEDARRAY` + * 16 or `Array.NUMERIC` + + If the value is 0, the sort works in the following way: + + * Sorting is case-sensitive (Z precedes a). + * Sorting is ascending (a precedes b). + * The array is modified to reflect the sort order; multiple elements that + have identical sort fields are placed consecutively in the sorted array in + no particular order. + * All elements, regardless of data type, are sorted as if they were strings, + so 100 precedes 99, because "1" is a lower string value than "9". + + @param sortBehavior A Function or a Number value that determines the + behavior of the sort. A Function parameter specifies a comparison method. A + Number value specifies the sorting options. + @return A Vector object, with elements in the new order. + + + + + + + + + Adds elements to and removes elements from the Vector. This method modifies the + Vector without making a copy. + + **Note:** To override this method in a subclass of Vector, use ...args for the + parameters, as this example shows: + + ```as3 + public override function splice(...args) { + // your statements here + } + ``` + + @param startIndex:int — An integer that specifies the index of the element in the Vector where the insertion or deletion begins. You can use a negative integer to specify a position relative to the end of the Vector (for example, -1 for the last element of the Vector). + @param deleteCount:uint (default = 4294967295) — An integer that specifies the number of elements to be deleted. This number includes the element specified in the startIndex parameter. If the value is 0, no elements are deleted. + @param ... items — An optional list of one or more comma-separated values to insert into the Vector at the position specified in the startIndex parameter. + @return a Vector containing the elements that were removed from the original Vector. + @throws RangeError If the startIndex and deleteCount arguments specify an index to be deleted that's outside the Vector's bounds. + @throws RangeError If this method is called while fixed is true and the splice() operation changes the length of the Vector. + + + + + + + Returns a string that represents the elements in the Vector. Every element in the + Vector, starting with index 0 and ending with the highest index, is converted to + a concatenated string and separated by commas. To specify a custom separator, + use the `Vector.join()` method. + + @return A string of Vector elements. + + + + + + + + Adds one or more elements to the beginning of the Vector and returns the new + length of the Vector. The other elements in the Vector are moved from their + original position, i, to i + the number of new elements. + + Because this function can accept multiple arguments, the data type of the + arguments is not checked at compile time even in strict mode. However, if an + argument is passed that is not an instance of the base type, an exception occurs + at run time. + + @param value An instance of the base type of the Vector to be inserted at the + beginning of the Vector. + @return An integer representing the new length of the Vector. + @throws TypeError If any argument is not an instance of the base type T of the + Vector. + @throws RangeError If this method is called while fixed is true. + + + + + + + Attempts to cast a Vector to another Vector object of a similar type + @param vec A Vector object to cast + @return The casted Vector object + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "checkstyle:Dynamic" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { vec : null } + + + + + + + + + + + + + + + + + + + + { from : 0 } + + + + + + + + + + + + + { sep : "," } + + + + + + + + { from : null } + + + + + + + + + + + + + + + + + + + + + + + + { endIndex : null, startIndex : 0 } + + + + + + + + + + + + + + + + + + + + + "checkstyle:FieldDocComment" + + hide + + + + + + + <__array> + + + + + + + + + { a : null } + + + + + + + + + + + + + + + + + + + + { from : 0 } + + + + + + + + + + + + + { sep : "," } + + + + + + + + { from : null } + + + + + + + + + + + + + + + + + + + + + + + + { endIndex : null, startIndex : 0 } + + + + + + + + + + + + + + + + + + "checkstyle:Dynamic" + + + + + + + + + + + + + + + + + + + + + + + + + + + + { array : null, fixed : false, length : 0 } + + + + "tags=\"haxe,release\"" + + "checkstyle:FieldDocComment" + hide + + + + + + + <__array> + + + + + + + + + { a : null } + + + + + + + + + + + + + + + + + + + + { from : 0 } + + + + + + + + + + + + + { sep : "," } + + + + + + + + { from : null } + + + + + + + + + + + + + + + + + + + + + + + + { endIndex : null, startIndex : 0 } + + + + + + + + + + + + + + + + + + "checkstyle:Dynamic" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { forceCopy : false, array : null, fixed : false, length : 0 } + "checkstyle:Dynamic" + + + + + "tags=\"haxe,release\"" + + "checkstyle:FieldDocComment" + hide + + + + + + + <__array> + + + + + + + + + { a : null } + + + + + + + + + + + + + + + + + + + + { from : 0 } + + + + + + + + + + + + + { sep : "," } + + + + + + + + { from : null } + + + + + + + + + + + + + + + + + + + + + + + + { endIndex : null, startIndex : 0 } + + + + + + + + + + + + + + + + + + "checkstyle:Dynamic" + + + + + + + + + + + + + + + + + + + + + + + + + + + + { array : null, fixed : false, length : 0 } + + + + "tags=\"haxe,release\"" + + "checkstyle:FieldDocComment" + hide + + + + + + + <__array> + + + + + + + + + { a : null } + + + + + + + + + + + + + + + + + + + + { from : 0 } + + + + + + + + + + + + + { sep : "," } + + + + + + + + { from : null } + + + + + + + + + + + + + + + + + + + + + + + + { endIndex : null, startIndex : 0 } + + + + + + + + + + + + + + + + + + "checkstyle:Dynamic" + + + + + + + + + + + + + + + + + + + + + + + + + + + + { array : null, fixed : false, length : 0 } + + + + "tags=\"haxe,release\"" + + "checkstyle:FieldDocComment" + hide + + + + + + + <__array> + + + + + + + + + + { a : null } + "checkstyle:Dynamic" + + + + + + + + + + + + + + + + + + + + + { from : 0 } + + + + + + + + + + + + + { sep : "," } + + + + + + + + { from : null } + + + + + + + + + + + + + + + + + + + + + + + + { endIndex : null, startIndex : 0 } + + + + + + + + + + + + + + + + + + "checkstyle:Dynamic" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { forceCopy : false, array : null, fixed : false, length : 0 } + "checkstyle:Dynamic" + + + + + "tags=\"haxe,release\"" + + "checkstyle:FieldDocComment" + hide + + + + + + The operating system clipboard. + Any data pasted to the system clipboard is available to other + applications. This may include insecure remote code running in a web + browser. + + **Note:** In Flash Player 10 applications, a paste operation from the + clipboard first requires a user event (such as a keyboard shortcut for + the Paste command or a mouse click on the Paste command in a context + menu). `Clipboard.getData()` will return the contents of the clipboard + only if the InteractiveObject has received and is acting on a paste + event. Calling `Clipboard.getData()` under any other circumstances + will be unsuccessful. The same restriction applies in AIR for content + outside the application sandbox. + + The `generalClipboard` object is created automatically. You cannot + assign another instance of a Clipboard to this property. Instead, you + use the `getData()` and `setData()` methods to read and write data to + the existing object. + + You should always clear the clipboard before writing new data to it to + ensure that old data in all formats is erased. + + The `generalClipboard` object cannot be passed to the AIR + NativeDragManager. Create a new Clipboard object for native + drag-and-drop operations in an AIR application. + + <__generalClipboard static="1"> + + + + + + + + + + An array of strings containing the names of the data formats available + in this Clipboard object. + String constants for the names of the standard formats are defined in + the ClipboardFormats class. Other, application-defined, strings may + also be used as format names to transfer data as an object. + + <__htmlText> + + + + <__richText> + + + + <__systemClipboard> + + + + <__text> + + + + + + Deletes all data representations from this Clipboard object. + + @throws SecurityError Call to generalClipboard.clear() is not + permitted in this context. In Flash Player, you + can only call this method successfully during + the processing of a user event (as in a key + press or mouse click). In AIR, this restriction + only applies to content outside of the + application security sandbox. + + + + + + + Deletes the data representation for the specified format. + + @param format The data format to remove. + @throws SecurityError Call to generalClipboard.clearData() is not + permitted in this context. In Flash Player, you + can only call this method successfully during + the processing of a user event (as in a key + press or mouse click). In AIR, this restriction + only applies to content outside of the + application security sandbox. + + + + + + + + { transferMode : null } + Gets the clipboard data if data in the specified format is present. + Flash Player requires that the `getData()` be called in a `paste` + event handler. In AIR, this restriction only applies to content + outside of the application security sandbox. + + When a standard data format is accessed, the data is returned as a new + object of the corresponding Flash data type. + + When an application-defined format is accessed, the value of the + `transferMode` parameter determines whether a reference to the + original object or an anonymous object containing a serialized copy of + the original object is returned. When an `originalPreferred` or + `clonePreferred` mode is specified, Flash Player or AIR returns the + alternate version if the preferred version is not available. When an + `originalOnly` or `cloneOnly` mode is specified, Flash Player or AIR + returns `null` if the requested version is not available. + + @param format The data format to return. The format string can + contain one of the standard names defined in the + ClipboardFormats class, or an application-defined + name. + @param transferMode Specifies whether to return a reference or + serialized copy when an application-defined data + format is accessed. The value must be one of the + names defined in the ClipboardTransferMode class. + This value is ignored for the standard data + formats; a copy is always returned. + @return An object of the type corresponding to the data format. + @throws Error `transferMode` is not one of the names + defined in the ClipboardTransferMode + class. + @throws IllegalOperationError The Clipboard object requested is no + longer in scope (AIR only). + @throws SecurityError Reading from or writing to the clipboard + is not permitted in this context. In + Flash Player, you can only call this + method successfully during the + processing of a `paste` event. In AIR, + this restriction only applies to content + outside of the application security + sandbox. + + + + + + + Checks whether data in the specified format exists in this Clipboard + object. + Use the constants in the ClipboardFormats class to reference the + standard format names. + + @param format The format type to check. + @return `true`, if data in the specified format is present. + @throws IllegalOperationError The Clipboard object requested is no + longer in scope. + @throws SecurityError Reading from or writing to the clipboard + is not permitted in this context. + + + + + + + + + { serializable : true } + Adds a representation of the information to be transferred in the + specified data format. + In the application sandbox of Adobe AIR, `setData()` can be called + anytime. In other contexts, `setData()` can only be called in response + to a user-generated event such as a key press or mouse click. + + Different representations of the same information can be added to the + clipboard as different formats, which increases the ability of other + components or applications to make use of the available data. For + example, an image could be added as bitmap data for use by image + editing applications, as a URL, and as an encoded PNG file for + transfer to the native file system. + + The data parameter must be the appropriate data type for the specified + format: + + | Format | Type | Description | + | --- | --- | --- | + | `ClipboardFormats.TEXT_FORMAT` | `String` | string data | + | `ClipboardFormats.HTML_FORMAT` | `String` | HTML string data | + | `ClipboardFormats.URL_FORMAT` | `String` | URL string (AIR only) | + | `ClipboardFormats.RICH_TEXT_FORMAT` | `ByteArray` | Rich Text Format data | + | `ClipboardFormats.BITMAP_FORMAT` | `BitmapData` | bitmap data (AIR only) | + | `ClipboardFormats.FILE_LIST_FORMAT` | array of `File` | an array of files (AIR only) | + | Custom format name | any | object reference and serialized clone | + + Custom format names cannot begin with "air:" or "flash:". To prevent + name collisions when using custom formats, you may want to use your + application ID or a package name as a prefix to the format, such as + "com.example.applicationName.dataPacket". + + When transferring within or between applications, the `serializable` + parameter determines whether both a reference and a copy are + available, or whether only a reference to an object is available. Set + `serializable` to `true` to make both the reference and a copy of the + data object available. Set `serializable` to `false` to make only the + object reference available. Object references are valid only within + the current application so setting `serializable` to `false` also + means that the data in that format is not available to other Flash + Player or AIR applications. A component can choose to get the + reference or the copy of the object by setting the appropriate + clipboard transfer mode when accessing the data for that format. + + **Note:** The standard formats are always converted to native formats + when data is pasted or dragged outside a supported application, so the + value of the `serializable` parameter does not affect the availability + of data in the standard formats to non-Flash-based applications. + + To defer rendering of the data for a format, use the + `setDataHandler()` method instead. If both the `setData()` and the + `setDataHandler()` methods are used to add a data representation with + the same format name, then the handler function will never be called. + + **Note:** On Mac OS, when you set the `format` parameter to + `ClipboardFormats.URL_FORMAT`, the URL is transferred only if it is a + valid URL. Otherwise, the Clipboard object is emptied (and calling + `getData()` returns `null`). + + @param format The format of the data. + @param data The information to add. + @param serializable Specify `true` for objects that can be serialized + (and deserialized). + @return `true` if the data was succesfully set; `false` otherwise. In + Flash Player, returns `false` when `format` is an unsupported + member of ClipboardFormats. (Flash Player does not support + `ClipboardFormats.URL_FORMAT`, + `ClipboardFormats.FILE_LIST_FORMAT`, + `ClipboardFormats.FILE_PROMISE_LIST_FORMAT`, or + `ClipboardFormats.BITMAP_FORMAT`). + @throws IllegalOperationError The Clipboard object requested is no + longer in scope (which can occur with + clipboards created for drag-and-drop + operations). + @throws SecurityError Reading from or writing to the clipboard + is not permitted in this context. In + Flash Player, you can only call this + method successfully during the + processing of a user event (as in a key + press or mouse click). In AIR, this + restriction only applies to content + outside of the application security + sandbox. + @throws TypeError `format` or `data` is `null`. + + + + + + + + + + { serializable : true } + "checkstyle:Dynamic" + + Adds a reference to a handler function that produces the data to be + transfered. + Use a handler function to defer creation or rendering of the data + until it is actually accessed. + + The handler function must return the appropriate data type for the + specified format: + + | Format | Return Type | + | --- | --- | + | `ClipboardFormats.TEXT_FORMAT` | `String` | + | `ClipboardFormats.HTML_FORMAT` | `String` | + | `ClipboardFormats.URL_FORMAT` | `String` (AIR only) | + | `ClipboardFormats.RICH_TEXT_FORMAT` | `ByteArray` | + | `ClipboardFormats.BITMAP_FORMAT` | `BitmapData` (AIR only) | + | `ClipboardFormats.FILE_LIST_FORMAT` | Array of `File` (AIR only) | + | `ClipboardFormats.FILE_PROMISE_LIST_FORMAT` | Array of `File` (AIR only) | + | Custom format name | Non-void | + + The handler function is called when and only when the data in the + specified format is read. Note that in some cases, the operating + system calls the function before a drop occurs. For example, when you + use a handler function to provide the data for a file dragged from an + AIR application to the file system, the operating system calls the + data handler function as soon as the drag gesture leaves the AIR + application?typically resulting in an undesireable pause as the file + data is downloaded or created. You can use a URLFilePromise for this + purpose instead. + + Note that the underlying data can change between the time the handler + is added and the time the data is read unless your application takes + steps to protect the data. The behavior that occurs when data on the + clipboard represented by a handler function is read more than once is + not guaranteed. The clipboard might return the data produced by the + first function call or it might call the function again. Do not rely + on either behavior. + + In the application sandbox of Adobe AIR, `setDataHandler()` can be + called anytime. In other contexts, `setDataHandler()` can only be + called in response to a user-generated event such as a key press or + mouse click. + + To add data directly to this Clipboard object, use the `setData()` + method instead. If both the `setData()` and the `setDataHandler()` + methods are called with the same format name, then the handler + function is never called. + + **Note:** On Mac OS, when you set the `format` parameter to + `ClipboardFormats.URL_FORMAT`, the URL is transferred only if the + handler function returns a valid URL. Otherwise, the Clipboard object + is emptied (and calling `getData()` returns `null`). + + @param format A function that returns the data to be + transferred. + @param handler The format of the data. + @param serializable Specify `true` if the object returned by `handler` + can be serialized (and deserialized). + @return `true` if the handler was succesfully set; `false` otherwise. + @throws IllegalOperationError The Clipboard object requested is no + longer in scope (AIR only). + @throws SecurityError Reading from or writing to the clipboard + is not permitted in this context. In + Flash Player, you can only call this + method successfully during the + processing of a user event (such as a + key press or mouse click). In AIR, this + restriction only applies to content + outside of the application security + sandbox. + @throws TypeError `format` or `handler` is `null`. + + + + + + + + + + The Clipboard class provides a container for transferring data and objects + through the clipboard. The operating system clipboard can be accessed + through the static `generalClipboard` property. + A Clipboard object can contain the same information in more than one + format. By supplying information in multiple formats, you increase the + chances that another application will be able to use that information. Add + data to a Clipboard object with the `setData()` or `setDataHandler()` + method. + + The standard formats are: + + * BITMAP_FORMAT: a BitmapData object (AIR only) + * FILE_LIST_FORMAT: an array of File objects (AIR only) + * HTML_FORMAT: HTML-formatted string data + * TEXT_FORMAT: string data + * RICH_TEXT_FORMAT: a ByteArray containing Rich Text Format data + * URL_FORMAT: a URL string (AIR only) + + These constants for the names of the standard formats are defined in the + ClipboardFormats class. + + When a transfer to or from the operating system occurs, the standard + formats are automatically translated between ActionScript data types and + the native operating system clipboard types. + + You can use application-defined formats to add ActionScript objects to a + Clipboard object. If an object is serializable, both a reference and a + clone of the object can be made available. Object references are valid + only within the originating application. + + When it is computationally expensive to convert the information to be + transferred into a particular format, you can supply the name of a + function that performs the conversion. The function is called if and only + if that format is read by the receiving component or application. Add a + deferred rendering function to a Clipboard object with the + `setDataHandler()` method. Note that in some cases, the operating system + calls the function before a drop occurs. For example, when you use a + handler function to provide the data for a file dragged from an AIR + application to the file system, the operating system calls the data + handler function as soon as the drag gesture leaves the AIR + application - typically resulting in an undesireable pause as the file + data is downloaded or created. + + **Note for AIR applications:** The clipboard object referenced by the + event objects dispatched for HTML drag-and-drop and copy-and-paste events + are not the same type as the AIR Clipboard object. The JavaScript + clipboard object is described in the AIR developer's guide. + + **Note for Flash Player applications:** In Flash Player 10, a paste + operation from the clipboard first requires a user event (such as a + keyboard shortcut for the Paste command or a mouse click on the Paste + command in a context menu). `Clipboard.getData()` will return the contents + of the clipboard only if the InteractiveObject has received and is acting + on a paste event. Calling `Clipboard.getData()` under any other + circumstances will be unsuccessful. The same restriction applies in AIR + for content outside the application sandbox. + + On Linux, clipboard data does not persist when an AIR application closes. + + + "tags=\"haxe,release\"" + + + + + + + + The ClipboardFormats class defines constants for the names of the standard + data formats used with the Clipboard class. Flash Player 10 only supports + TEXT_FORMAT, RICH_TEXT_FORMAT, and HTML_FORMAT. + + + + + + cast 0 + + + + HTML data. + + + + + cast 1 + + + + Rich Text Format data. + + + + + cast 2 + + + + String data. + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + HTML data. + + + + + cast 1 + + + + Rich Text Format data. + + + + + cast 2 + + + + String data. + + + + + + + + + + + + + + + + + + + + + + The ClipboardTransferMode class defines constants for the modes used as + values of the `transferMode` parameter of the `Clipboard.getData()` + method. + The transfer mode provides a hint about whether to return a reference or a + copy when accessing an object contained on a clipboard. + + + + + + cast 0 + + + + The Clipboard object should only return a copy. + + + + + cast 1 + + + + The Clipboard object should return a copy if available and a reference if not. + + + + + cast 2 + + + + The Clipboard object should only return a reference. + + + + + cast 3 + + + + The Clipboard object should return a reference if available and a copy if not. + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + The Clipboard object should only return a copy. + + + + + cast 1 + + + + The Clipboard object should return a copy if available and a reference if not. + + + + + cast 2 + + + + The Clipboard object should only return a reference. + + + + + cast 3 + + + + The Clipboard object should return a reference if available and a copy if not. + + + + + + + + + + + + + + + + + + + + + + + + + The Application class is a Lime Application instance that uses + OpenFL Window by default when a new window is created. + + + "tags=\"haxe,release\"" + + openfl.display.DisplayObject + openfl.display.LoaderInfo + openfl.display.Window + "checkstyle:FieldDocComment" + + + + + + + The BitmapData object being referenced. + + + + Controls whether or not the Bitmap object is snapped to the nearest pixel. + This value is ignored in the native and HTML5 targets. + The PixelSnapping class includes possible values: + + * `PixelSnapping.NEVER` - No pixel snapping occurs. + * `PixelSnapping.ALWAYS` - The image is always snapped to + the nearest pixel, independent of transformation. + * `PixelSnapping.AUTO` - The image is snapped to the + nearest pixel if it is drawn with no rotation or skew and it is drawn at a + scale factor of 99.9% to 100.1%. If these conditions are satisfied, the + bitmap image is drawn at 100% scale, snapped to the nearest pixel. + When targeting Flash Player, this value allows the image to be drawn as fast + as possible using the internal vector renderer. + + + + Controls whether or not the bitmap is smoothed when scaled. If + `true`, the bitmap is smoothed when scaled. If + `false`, the bitmap is not smoothed when scaled. + + <__bitmapData> + + + + <__imageVersion> + + + + <__enterFrame set="method" line="125" override="1"> + + + + + + + <__getBounds set="method" line="133" override="1"> + + + + + + + + <__hitTest set="method" line="151" override="1"> + + + + + + + + + + + + <__hitTestMask set="method" line="179" override="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { smoothing : false, pixelSnapping : null, bitmapData : null } + Initializes a Bitmap object to refer to the specified BitmapData object. + + @param bitmapData The BitmapData object being referenced. + @param pixelSnapping Whether or not the Bitmap object is snapped to the nearest pixel. + @param smoothing Whether or not the bitmap is smoothed when scaled. For example, the following examples + show the same bitmap scaled by a factor of 3, with `smoothing` set to `false` (left) and `true` (right): + + ![A bitmap without smoothing.](/images/bitmap_smoothing_off.jpg) ![A bitmap with smoothing.](bitmap_smoothing_on.jpg) + + The Bitmap class represents display objects that represent bitmap images. + These can be images that you load with the `openfl.Assets` or + `openfl.display.Loader` classes, or they can be images that you + create with the `Bitmap()` constructor. + + The `Bitmap()` constructor allows you to create a Bitmap + object that contains a reference to a BitmapData object. After you create a + Bitmap object, use the `addChild()` or `addChildAt()` + method of the parent DisplayObjectContainer instance to place the bitmap on + the display list. + + A Bitmap object can share its BitmapData reference among several Bitmap + objects, independent of translation or rotation properties. Because you can + create multiple Bitmap objects that reference the same BitmapData object, + multiple display objects can use the same complex BitmapData object without + incurring the memory overhead of a BitmapData object for each display + object instance. + + A BitmapData object can be drawn to the screen by a Bitmap object in one + of two ways: by using the default hardware renderer with a single hardware surface, + or by using the slower software renderer when 3D acceleration is not available. + + If you would prefer to perform a batch rendering command, rather than using a + single surface for each Bitmap object, you can also draw to the screen using the + `openfl.display.Tilemap` class. + + **Note:** The Bitmap class is not a subclass of the InteractiveObject + class, so it cannot dispatch mouse events. However, you can use the + `addEventListener()` method of the display object container that + contains the Bitmap object. + + + "tags=\"haxe,release\"" + + openfl.display.BitmapData + openfl.display.Graphics + openfl.geom.ColorTransform + openfl.geom.Matrix + openfl.geom.Rectangle + + + + + + + + + + + + + The BitmapDataChannel class is an enumeration of constant values that + indicate which channel to use: red, blue, green, or alpha transparency. + + When you call some methods, you can use the bitwise OR operator + (`|`) to combine BitmapDataChannel constants to indicate + multiple color channels. + + The BitmapDataChannel constants are provided for use as values in the + following: + + * The `sourceChannel` and `destChannel` + parameters of the `openfl.display.BitmapData.copyChannel()` + method + * The `channelOptions` parameter of the + `openfl.display.BitmapData.noise()` method + * The `openfl.filters.DisplacementMapFilter.componentX` and + `openfl.filters.DisplacementMapFilter.componentY` properties + + + + + + cast 8 + + + + The alpha channel. + + + + + cast 4 + + + + The blue channel. + + + + + cast 2 + + + + The green channel. + + + + + cast 1 + + + + The red channel. + + + + + + + + + cast 8 + + + + The alpha channel. + + + + + cast 4 + + + + The blue channel. + + + + + cast 2 + + + + The green channel. + + + + + cast 1 + + + + The red channel. + + + + + + + + A class that provides constant values for visual blend mode effects. These + constants are used in the following: + + * The `blendMode` property of the + openfl.display.DisplayObject class. + * The `blendMode` parameter of the `draw()` + method of the openfl.display.BitmapData class + + + + + + cast 0 + + + + 0xFF, 0xA6 + 0x22 = 0xC8, and 0x33 + 0x00 = 0x33).]]> + + + + + cast 1 + + + + Applies the alpha value of each pixel of the display object to the + background. This requires the `blendMode` property of the + parent display object be set to + `openfl.display.BlendMode.LAYER`. + + Not supported under GPU rendering. + + + + + cast 2 + + + + + 0xDD, 0xCC < 0xF8, and 0x33 > 0x00 = 33). + + Not supported under GPU rendering.]]> + + + + + cast 3 + + + + Compares the constituent colors of the display object with the colors of + its background, and subtracts the darker of the values of the two + constituent colors from the lighter value. This setting is commonly used + for more vibrant colors. + + For example, if the display object has a pixel with an RGB value of + 0xFFCC33, and the background pixel has an RGB value of 0xDDF800, the + resulting RGB value for the displayed pixel is 0x222C33(because 0xFF - + 0xDD = 0x22, 0xF8 - 0xCC = 0x2C, and 0x33 - 0x00 = 0x33). + + + + + cast 4 + + + + Erases the background based on the alpha value of the display object. This + process requires that the `blendMode` property of the parent + display object be set to `openfl.display.BlendMode.LAYER`. + + Not supported under GPU rendering. + + + + + cast 5 + + + + Adjusts the color of each pixel based on the darkness of the display + object. If the display object is lighter than 50% gray, the display object + and background colors are screened, which results in a lighter color. If + the display object is darker than 50% gray, the colors are multiplied, + which results in a darker color. This setting is commonly used for shading + effects. + + Not supported under GPU rendering. + + + + + cast 6 + + + + Inverts the background. + + + + + cast 7 + + + + Forces the creation of a transparency group for the display object. This + means that the display object is precomposed in a temporary buffer before + it is processed further. The precomposition is done automatically if the + display object is precached by means of bitmap caching or if the display + object is a display object container that has at least one child object + with a `blendMode` setting other than `"normal"`. + + Not supported under GPU rendering. + + + + + cast 8 + + + + + 0xDD, 0xCC < 0xF8, and 0x33 > 0x00 = 33). + + Not supported under GPU rendering.]]> + + + + + cast 9 + + + + Multiplies the values of the display object constituent colors by the + constituent colors of the background color, and normalizes by dividing by + 0xFF, resulting in darker colors. This setting is commonly used for + shadows and depth effects. + + For example, if a constituent color(such as red) of one pixel in the + display object and the corresponding color of the pixel in the background + both have the value 0x88, the multiplied result is 0x4840. Dividing by + 0xFF yields a value of 0x48 for that constituent color, which is a darker + shade than the color of the display object or the color of the + background. + + + + + cast 10 + + + + The display object appears in front of the background. Pixel values of the + display object override the pixel values of the background. Where the + display object is transparent, the background is visible. + + + + + cast 11 + + + + Adjusts the color of each pixel based on the darkness of the background. + If the background is lighter than 50% gray, the display object and + background colors are screened, which results in a lighter color. If the + background is darker than 50% gray, the colors are multiplied, which + results in a darker color. This setting is commonly used for shading + effects. + + Not supported under GPU rendering. + + + + + cast 12 + + + + Multiplies the complement(inverse) of the display object color by the + complement of the background color, resulting in a bleaching effect. This + setting is commonly used for highlights or to remove black areas of the + display object. + + + + + cast 13 + + + + Uses a shader to define the blend between objects. + + Setting the blendShader property to a Shader instance automatically sets the + display object's `blendMode` property to `BlendMode.SHADER`. If the `blendMode` + property is set to `BlendMode.SHADER` without first setting the `blendShader` + property, the `blendMode` property is set to `BlendMode.NORMAL` instead. If the + `blendShader` property is set (which sets the `blendMode` property to + `BlendMode.SHADER`), then later the value of the `blendMode` property is changed, + the blend mode can be reset to use the blend shader simply by setting the + `blendMode` property to `BlendMode.SHADER`. The `blendShader` property does not + need to be set again except to change the shader that's used to define the blend + mode. + + Not supported under GPU rendering. + + + + + cast 14 + + + + + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + 0xFF, 0xA6 + 0x22 = 0xC8, and 0x33 + 0x00 = 0x33).]]> + + + + + cast 1 + + + + Applies the alpha value of each pixel of the display object to the + background. This requires the `blendMode` property of the + parent display object be set to + `openfl.display.BlendMode.LAYER`. + + Not supported under GPU rendering. + + + + + cast 2 + + + + + 0xDD, 0xCC < 0xF8, and 0x33 > 0x00 = 33). + + Not supported under GPU rendering.]]> + + + + + cast 3 + + + + Compares the constituent colors of the display object with the colors of + its background, and subtracts the darker of the values of the two + constituent colors from the lighter value. This setting is commonly used + for more vibrant colors. + + For example, if the display object has a pixel with an RGB value of + 0xFFCC33, and the background pixel has an RGB value of 0xDDF800, the + resulting RGB value for the displayed pixel is 0x222C33(because 0xFF - + 0xDD = 0x22, 0xF8 - 0xCC = 0x2C, and 0x33 - 0x00 = 0x33). + + + + + cast 4 + + + + Erases the background based on the alpha value of the display object. This + process requires that the `blendMode` property of the parent + display object be set to `openfl.display.BlendMode.LAYER`. + + Not supported under GPU rendering. + + + + + cast 5 + + + + Adjusts the color of each pixel based on the darkness of the display + object. If the display object is lighter than 50% gray, the display object + and background colors are screened, which results in a lighter color. If + the display object is darker than 50% gray, the colors are multiplied, + which results in a darker color. This setting is commonly used for shading + effects. + + Not supported under GPU rendering. + + + + + cast 6 + + + + Inverts the background. + + + + + cast 7 + + + + Forces the creation of a transparency group for the display object. This + means that the display object is precomposed in a temporary buffer before + it is processed further. The precomposition is done automatically if the + display object is precached by means of bitmap caching or if the display + object is a display object container that has at least one child object + with a `blendMode` setting other than `"normal"`. + + Not supported under GPU rendering. + + + + + cast 8 + + + + + 0xDD, 0xCC < 0xF8, and 0x33 > 0x00 = 33). + + Not supported under GPU rendering.]]> + + + + + cast 9 + + + + Multiplies the values of the display object constituent colors by the + constituent colors of the background color, and normalizes by dividing by + 0xFF, resulting in darker colors. This setting is commonly used for + shadows and depth effects. + + For example, if a constituent color(such as red) of one pixel in the + display object and the corresponding color of the pixel in the background + both have the value 0x88, the multiplied result is 0x4840. Dividing by + 0xFF yields a value of 0x48 for that constituent color, which is a darker + shade than the color of the display object or the color of the + background. + + + + + cast 10 + + + + The display object appears in front of the background. Pixel values of the + display object override the pixel values of the background. Where the + display object is transparent, the background is visible. + + + + + cast 11 + + + + Adjusts the color of each pixel based on the darkness of the background. + If the background is lighter than 50% gray, the display object and + background colors are screened, which results in a lighter color. If the + background is darker than 50% gray, the colors are multiplied, which + results in a darker color. This setting is commonly used for shading + effects. + + Not supported under GPU rendering. + + + + + cast 12 + + + + Multiplies the complement(inverse) of the display object color by the + complement of the background color, resulting in a bleaching effect. This + setting is commonly used for highlights or to remove black areas of the + display object. + + + + + cast 13 + + + + Uses a shader to define the blend between objects. + + Setting the blendShader property to a Shader instance automatically sets the + display object's `blendMode` property to `BlendMode.SHADER`. If the `blendMode` + property is set to `BlendMode.SHADER` without first setting the `blendShader` + property, the `blendMode` property is set to `BlendMode.NORMAL` instead. If the + `blendShader` property is set (which sets the `blendMode` property to + `BlendMode.SHADER`), then later the value of the `blendMode` property is changed, + the blend mode can be reset to use the blend shader simply by setting the + `blendMode` property to `BlendMode.SHADER`. The `blendShader` property does not + need to be set again except to change the shader that's used to define the blend + mode. + + Not supported under GPU rendering. + + + + + cast 14 + + + + + + + + + + + + + + + + + + + + + + + + <__allowSmoothing> + + + + <__blendMode> + + + + <__cleared> + + + + <__context> + + + "checkstyle:Dynamic" + + + + <__overrideBlendMode> + + + + <__roundPixels> + + + + <__stage> + + + + <__tempColorTransform> + + + + <__transparent> + + + + <__type> + + + "checkstyle:Dynamic" + + + + <__worldAlpha> + + + + <__worldColorTransform> + + + + <__worldTransform> + + + + <__clear set="method" line="68"> + + + + <__getAlpha set="method" line="71"> + + + + + + + <__getColorTransform set="method" line="76"> + + + + + + + <__popMask set="method" line="89"> + + + + <__popMaskObject set="method" line="91"> + + + + + + + { handleScrollRect : true } + + + + <__popMaskRect set="method" line="93"> + + + + <__pushMask set="method" line="95"> + + + + + + + <__pushMaskObject set="method" line="97"> + + + + + + + { handleScrollRect : true } + + + + <__pushMaskRect set="method" line="99"> + + + + + + + + <__render set="method" line="101"> + + + + + + + <__renderEvent set="method" line="104"> + + + + + + + <__resize set="method" line="161"> + + + + + + + + <__setBlendMode set="method" line="163"> + + + + + + + <__shouldCacheHardware set="method" line="166"> + + + + + + + + <__shouldCacheHardware_DisplayObject set="method" line="199"> + + + + + + + + <__updateCacheBitmap set="method" line="211"> + + + + + + + + + + + + + "tags=\"haxe,release\"" + + openfl.display._internal.Context3DGraphics + lime.graphics.ImageBuffer + openfl.display.Bitmap + openfl.display.BitmapData + openfl.display.DisplayObject + openfl.display.Graphics + openfl.display.Tilemap + openfl.display3D.Context3D + openfl.events.RenderEvent + openfl.filters.BitmapFilter + openfl.geom.ColorTransform + openfl.geom.Rectangle + openfl.geom.Transform + openfl.text.TextField + openfl.display._internal + openfl.display + openfl.text + + + + + + + "checkstyle:Dynamic" + The current Cairo render context + + <__matrix> + + + + <__matrix3> + + + "checkstyle:Dynamic" + + + + + + + + + + + { cairo : null } + "checkstyle:Dynamic" + + Set the matrix value for the current render context, or (optionally) another Cairo + object + + <__clear set="method" line="101" override="1"> + + + + <__popMask set="method" line="119" override="1"> + + + + <__popMaskObject set="method" line="124" override="1"> + + + + + + + { handleScrollRect : true } + + + + <__popMaskRect set="method" line="137" override="1"> + + + + <__pushMask set="method" line="142" override="1"> + + + + + + + <__pushMaskObject set="method" line="153" override="1"> + + + + + + + { handleScrollRect : true } + + + + <__pushMaskRect set="method" line="166" override="1"> + + + + + + + + <__render set="method" line="177" override="1"> + + + + + + + <__renderDrawable set="method" line="184"> + + + + + + + <__renderDrawableMask set="method" line="210"> + + + + + + + <__setBlendMode set="method" line="236" override="1"> + + + + + + + <__setBlendModeCairo set="method" line="246"> + + + + + + + "checkstyle:Dynamic" + + + + + + + + + + "checkstyle:Dynamic" + + + + **BETA** + + The CairoRenderer API exposes support for native Cairo render instructions within the + `RenderEvent.RENDER_CAIRO` event + + + "tags=\"haxe,release\"" + + openfl.display.DisplayObject + openfl.display.Graphics + openfl.display.IBitmapDrawable + openfl.display.Stage + openfl.display.Stage3D + openfl.display._internal + openfl.display + + + + + + + "checkstyle:Dynamic" + The current HTML5 canvas render context + + + + 1 + The active pixel ratio used during rendering + + <__isDOM> + + + + <__tempMatrix> + + + + + + + + + + "checkstyle:Dynamic" + Set whether smoothing should be enabled on a canvas context + + + + + + + + + { context : null } + "checkstyle:Dynamic" + + Set the matrix value for the current render context, or (optionally) another canvas + context + + <__clear set="method" line="103" override="1"> + + + + <__popMask set="method" line="128" override="1"> + + + + <__popMaskObject set="method" line="133" override="1"> + + + + + + + { handleScrollRect : true } + + + + <__popMaskRect set="method" line="146" override="1"> + + + + <__pushMask set="method" line="151" override="1"> + + + + + + + <__pushMaskObject set="method" line="164" override="1"> + + + + + + + { handleScrollRect : true } + + + + <__pushMaskRect set="method" line="177" override="1"> + + + + + + + + <__render set="method" line="188" override="1"> + + + + + + + <__renderDrawable set="method" line="193"> + + + + + + + <__renderDrawableMask set="method" line="219"> + + + + + + + <__setBlendMode set="method" line="245" override="1"> + + + + + + + <__setBlendModeContext set="method" line="255"> + + + + + + + "checkstyle:Dynamic" + + + + + + + + + + "checkstyle:Dynamic" + + + + **BETA** + + The CanvasRenderer API exposes support for HTML5 canvas render instructions within the + `RenderEvent.RENDER_CANVAS` event + + + "tags=\"haxe,release\"" + + openfl.display.DisplayObject + openfl.display.IBitmapDrawable + openfl.display.Stage + openfl.display.Stage3D + openfl.display._internal + openfl.display + openfl.text + + + + + + + The CapsStyle class is an enumeration of constant values that specify the + caps style to use in drawing lines. The constants are provided for use as + values in the `caps` parameter of the + `openfl.display.Graphics.lineStyle()` method. You can specify the + following three types of caps: + + ![The three types of caps: NONE, ROUND, and SQUARE.](/images/linecap.jpg) + + + + + + cast 0 + + + + Used to specify no caps in the `caps` parameter of the + `openfl.display.Graphics.lineStyle()` method. + + + + + cast 1 + + + + Used to specify round caps in the `caps` parameter of the + `openfl.display.Graphics.lineStyle()` method. + + + + + cast 2 + + + + Used to specify square caps in the `caps` parameter of the + `openfl.display.Graphics.lineStyle()` method. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + Used to specify no caps in the `caps` parameter of the + `openfl.display.Graphics.lineStyle()` method. + + + + + cast 1 + + + + Used to specify round caps in the `caps` parameter of the + `openfl.display.Graphics.lineStyle()` method. + + + + + cast 2 + + + + Used to specify square caps in the `caps` parameter of the + `openfl.display.Graphics.lineStyle()` method. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "checkstyle:Dynamic" + The current HTML5 DOM element + + + + 1 + The active pixel ratio used during rendering + + <__canvasRenderer> + + + + <__clipRects> + + + + <__currentClipRect> + + + + <__numClipRects> + + + + <__transformOriginProperty> + + + + <__transformProperty> + + + + <__vendorPrefix> + + + + <__z> + + + + + + + + + + "checkstyle:Dynamic" + Applies CSS styles to the specified DOM element, using a DisplayObject as the + virtual parent. This helps set the z-order, position and other components for + the DOM object + + + + + + + "checkstyle:Dynamic" + Removes previously set CSS styles from a DOM element, used when the element + should no longer be a part of the display hierarchy + + <__applyStyle set="method" line="143"> + + + + + + + + + + <__popMask set="method" line="209" override="1"> + + + + <__popMaskObject set="method" line="214" override="1"> + + + + + + + { handleScrollRect : true } + + + + <__popMaskRect set="method" line="227" override="1"> + + + + <__pushMask set="method" line="244" override="1"> + + + + + + + <__pushMaskObject set="method" line="251" override="1"> + + + + + + + { handleScrollRect : true } + + + + <__pushMaskRect set="method" line="264" override="1"> + + + + + + + + <__render set="method" line="296" override="1"> + + + + + + + <__renderDrawable set="method" line="311"> + + + + + + + <__renderDrawableClear set="method" line="362"> + + + + + + + <__setBlendMode set="method" line="388" override="1"> + + + + + + + <__updateClip set="method" line="464"> + + + + + + + + + + + + + "checkstyle:Dynamic" + + + + **BETA** + + The DOMRenderer API exposes support for HTML5 DOM render instructions within the + `RenderEvent.RENDER_DOM` event + + "tags=\"haxe,release\"" + + openfl.display.DisplayObject + openfl.display.IBitmapDrawable + openfl.display.Stage3D + openfl.geom.Matrix + openfl.geom.Rectangle + openfl.display._internal + openfl.display + + + + + + + + + hide + + openfl.display._internal + + + + + + + hide + + openfl.display._internal + + + + + + + hide + + openfl.display._internal + + + + + + + hide + + openfl.display._internal + + + + + + + hide + + openfl.display._internal + + + + + + + hide + + openfl.display._internal + + + + + + + hide + + openfl.display._internal + + + + + + + hide + + openfl.display._internal + + + + + + + hide + + openfl.display._internal + + + + + + + + + { code : null } + "attribute float openfl_Alpha;\n\t\tattribute vec4 openfl_ColorMultiplier;\n\t\tattribute vec4 openfl_ColorOffset;\n\t\tattribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\n\t\tvarying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform vec2 openfl_TextureSize;" + "openfl_Alphav = openfl_Alpha;\n\t\topenfl_TextureCoordv = openfl_TextureCoord;\n\n\t\tif (openfl_HasColorTransform) {\n\n\t\t\topenfl_ColorMultiplierv = openfl_ColorMultiplier;\n\t\t\topenfl_ColorOffsetv = openfl_ColorOffset / 255.0;\n\n\t\t}\n\n\t\tgl_Position = openfl_Matrix * openfl_Position;" + "#pragma header\n\n\t\tvoid main(void) {\n\n\t\t\t#pragma body\n\n\t\t}" + "varying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform sampler2D openfl_Texture;\n\t\tuniform vec2 openfl_TextureSize;" + 0.0) {\n\n\t\t\t\tgl_FragColor = vec4 (color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\n\n\t\t\t} else {\n\n\t\t\t\tgl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tgl_FragColor = color * openfl_Alphav;\n\n\t\t}"]]> + "#pragma header\n\n\t\tvoid main(void) {\n\n\t\t\t#pragma body\n\n\t\t}" + + + + + openfl.utils._internal.ShaderMacro.build() + openfl.utils._internal.ShaderMacro.build() + "tags=\"haxe,release\"" + + + + + + + + The current frame rate, expressed using frames-per-second + + + + + + + + + + + + + + <__enterFrame set="method" line="63" override="1"> + + + + + + + + + + + + + + { color : 0x000000, y : 10, x : 10 } + + The FPS class provides an easy-to-use monitor to display + the current frame rate of an OpenFL project + + + "tags=\"haxe,release\"" + + + + + + + + The frame number containing the label. + + + + The name of the label. + + + + + + + The FrameLabel object contains properties that specify a frame number and + the corresponding label name. The Scene class includes a `labels` + property, which is an array of FrameLabel objects for the scene. + + "tags=\"haxe,release\"" + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + + + + + + + + The GradientType class provides values for the `type` parameter + in the `beginGradientFill()` and + `lineGradientStyle()` methods of the openfl.display.Graphics + class. + + + + + + cast 0 + + + + Value used to specify a linear gradient fill. + + + + + cast 1 + + + + Value used to specify a radial gradient fill. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + Value used to specify a linear gradient fill. + + + + + cast 1 + + + + Value used to specify a radial gradient fill. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + null + + + + + + + null + + + + <__bounds> + + + + <__commands> + + + + <__dirty set="accessor" expr="true"> + + + true + + + + <__hardwareDirty> + + + + <__height> + + + + <__managed> + + + + <__positionX> + + + + <__positionY> + + + + <__quadBuffer> + + + + <__renderTransform> + + + + <__shaderBufferPool> + + + + <__softwareDirty> + + + + <__strokePadding> + + + + <__transformDirty> + + + + <__triangleIndexBuffer> + + + + <__triangleIndexBufferCount> + + + + <__triangleIndexBufferData> + + + + <__usedShaderBuffers> + + + + <__vertexBuffer> + + + + <__vertexBufferCount> + + + + <__vertexBufferCountUVT> + + + + <__vertexBufferData> + + + + <__vertexBufferDataUVT> + + + + <__vertexBufferUVT> + + + + <__visible> + + + + <__owner> + + + + <__width> + + + + <__worldTransform> + + + + <__cairo> + + + "checkstyle:Dynamic" + + + + <__bitmap> + + + + + + + + + + + + { smooth : false, repeat : true, matrix : null } + Fills a drawing area with a bitmap image. The bitmap can be repeated or + tiled to fill the area. The fill remains in effect until you call the + `beginFill()`, `beginBitmapFill()`, + `beginGradientFill()`, or `beginShaderFill()` + method. Calling the `clear()` method clears the fill. + + The application renders the fill whenever three or more points are + drawn, or when the `endFill()` method is called. + + @param bitmap A transparent or opaque bitmap image that contains the bits + to be displayed. + @param matrix A matrix object(of the openfl.geom.Matrix class), which you + can use to define transformations on the bitmap. For + example, you can use the following matrix to rotate a bitmap + by 45 degrees(pi/4 radians): + + ```haxe + matrix = new openfl.geom.Matrix(); + matrix.rotate(Math.PI / 4); + ``` + + @param repeat If `true`, the bitmap image repeats in a tiled + pattern. If `false`, the bitmap image does not + repeat, and the edges of the bitmap are used for any fill + area that extends beyond the bitmap. + + For example, consider the following bitmap(a 20 x + 20-pixel checkerboard pattern): + + ![20 by 20 pixel checkerboard](/images/movieClip_beginBitmapFill_repeat_1.jpg) + + When `repeat` is set to `true`(as + in the following example), the bitmap fill repeats the + bitmap: + + ![60 by 60 pixel checkerboard](/images/movieClip_beginBitmapFill_repeat_2.jpg) + + When `repeat` is set to `false`, + the bitmap fill uses the edge pixels for the fill area + outside the bitmap: + + ![60 by 60 pixel image with no repeating](/images/movieClip_beginBitmapFill_repeat_3.jpg) + @param smooth If `false`, upscaled bitmap images are rendered + by using a nearest-neighbor algorithm and look pixelated. If + `true`, upscaled bitmap images are rendered by + using a bilinear algorithm. Rendering by using the nearest + neighbor algorithm is faster. + + + + + + + + { alpha : 1, color : 0 } + Specifies a simple one-color fill that subsequent calls to other Graphics + methods(such as `lineTo()` or `drawCircle()`) use + when drawing. The fill remains in effect until you call the + `beginFill()`, `beginBitmapFill()`, + `beginGradientFill()`, or `beginShaderFill()` + method. Calling the `clear()` method clears the fill. + + The application renders the fill whenever three or more points are + drawn, or when the `endFill()` method is called. + + @param color The color of the fill(0xRRGGBB). + @param alpha The alpha value of the fill(0.0 to 1.0). + + + + + + + + + + + + + + { focalPointRatio : 0, interpolationMethod : InterpolationMethod.RGB, spreadMethod : SpreadMethod.PAD, matrix : null } + `InterpolationMethod.LINEAR_RGB` | ![linear gradient with InterpolationMethod.RGB](/images/beginGradientFill_interp_rgb.jpg)
      `InterpolationMethod.RGB` | + + @param focalPointRatio A number that controls the location of the focal point of the gradient. 0 means that + the focal point is in the center. 1 means that the focal point is at one border of the gradient circle. -1 + means that the focal point is at the other border of the gradient circle. A value less than -1 or greater + than 1 is rounded to -1 or 1. For example, the following example shows a `focalPointRatio` set to 0.75: + + ![radial gradient with focalPointRatio set to 0.75](/images/radial_sketch.jpg) + + @throws ArgumentError If the `type` parameter is not valid.]]>
      +
      + + + + + + + { matrix : null } + instance is + used as an input and the `width` and `height` + properties aren't specified for the ShaderInput, + or the specified values don't match the amount + of data in the input object. See the + `ShaderInput.input` property for more + information.]]> + + + + Clears the graphics that were drawn to this Graphics object, and resets + fill and line style settings. + + + + + + + Copies all of drawing commands from the source Graphics object into + the calling Graphics object. + + @param sourceGraphics The Graphics object from which to copy the + drawing commands. + + + + + + + + + + + + Draws a cubic Bezier curve from the current drawing position to the specified + anchor point. Cubic Bezier curves consist of two anchor points and two control + points. The curve interpolates the two anchor points and curves toward the two + control points. + + ![cubic bezier](/images/cubic_bezier.png) + + The four points you use to draw a cubic Bezier curve with the `cubicCurveTo()` + method are as follows: + + * The current drawing position is the first anchor point. + * The `anchorX` and `anchorY` parameters specify the second anchor point. + * The `controlX1` and `controlY1` parameters specify the first control point. + * The `controlX2` and `controlY2` parameters specify the second control point. + + If you call the `cubicCurveTo()` method before calling the `moveTo()` method, your + curve starts at position (0, 0). + + If the `cubicCurveTo()` method succeeds, the OpenFL runtime sets the current + drawing position to (`anchorX`, `anchorY`). If the `cubicCurveTo()` method fails, + the current drawing position remains unchanged. + + If your movie clip contains content created with the Flash drawing tools, the + results of calls to the `cubicCurveTo()` method are drawn underneath that content. + + @param controlX1 Specifies the horizontal position of the first control point + relative to the registration point of the parent display object. + @param controlY1 Specifies the vertical position of the first control point + relative to the registration point of the parent display object. + @param controlX2 Specifies the horizontal position of the second control point + relative to the registration point of the parent display object. + @param controlY2 Specifies the vertical position of the second control point + relative to the registration point of the parent display object. + @param anchorX Specifies the horizontal position of the anchor point relative to + the registration point of the parent display object. + @param anchorY Specifies the vertical position of the anchor point relative to + the registration point of the parent display object. + + + + + + + + + + Draws a quadratic curve using the current line style from the current drawing + position to(anchorX, anchorY) and using the control point that + (`controlX`, `controlY`) specifies. The current + drawing position is then set to(`anchorX`, + `anchorY`). If the movie clip in which you are drawing contains + content created with the Flash drawing tools, calls to the + `curveTo()` method are drawn underneath this content. If you + call the `curveTo()` method before any calls to the + `moveTo()` method, the default of the current drawing position + is(0, 0). If any of the parameters are missing, this method fails and the + current drawing position is not changed. + + The curve drawn is a quadratic Bezier curve. Quadratic Bezier curves + consist of two anchor points and one control point. The curve interpolates + the two anchor points and curves toward the control point. + + ![quadratic bezier](quad_bezier.png) + + @param controlX A number that specifies the horizontal position of the + control point relative to the registration point of the + parent display object. + @param controlY A number that specifies the vertical position of the + control point relative to the registration point of the + parent display object. + @param anchorX A number that specifies the horizontal position of the + next anchor point relative to the registration point of + the parent display object. + @param anchorY A number that specifies the vertical position of the next + anchor point relative to the registration point of the + parent display object. + + + + + + + + + + + + + + + + Draws an ellipse. Set the line style, fill, or both before you call the + `drawEllipse()` method, by calling the + `linestyle()`, `lineGradientStyle()`, + `beginFill()`, `beginGradientFill()`, or + `beginBitmapFill()` method. + + @param x The _x_ location of the top-left of the bounding-box of + the ellipse relative to the registration point of the parent + display object(in pixels). + @param y The _y_ location of the top left of the bounding-box of + the ellipse relative to the registration point of the parent + display object(in pixels). + @param width The width of the ellipse(in pixels). + @param height The height of the ellipse(in pixels). + + + + + + + Submits a series of IGraphicsData instances for drawing. This method + accepts a Vector containing objects including paths, fills, and strokes + that implement the IGraphicsData interface. A Vector of IGraphicsData + instances can refer to a part of a shape, or a complex fully defined set + of data for rendering a complete shape. + + Graphics paths can contain other graphics paths. If the + `graphicsData` Vector includes a path, that path and all its + sub-paths are rendered during this operation. + + + + + + + + + { winding : GraphicsPathWinding.EVEN_ODD } + Submits a series of commands for drawing. The `drawPath()` + method uses vector arrays to consolidate individual `moveTo()`, + `lineTo()`, and `curveTo()` drawing commands into a + single call. The `drawPath()` method parameters combine drawing + commands with x- and y-coordinate value pairs and a drawing direction. The + drawing commands are values from the GraphicsPathCommand class. The x- and + y-coordinate value pairs are Numbers in an array where each pair defines a + coordinate location. The drawing direction is a value from the + GraphicsPathWinding class. + + Generally, drawings render faster with `drawPath()` than + with a series of individual `lineTo()` and + `curveTo()` methods. + + The `drawPath()` method uses a uses a floating computation + so rotation and scaling of shapes is more accurate and gives better + results. However, curves submitted using the `drawPath()` + method can have small sub-pixel alignment errors when used in conjunction + with the `lineTo()` and `curveTo()` methods. + + The `drawPath()` method also uses slightly different rules + for filling and drawing lines. They are: + + * When a fill is applied to rendering a path: + * A sub-path of less than 3 points is not rendered.(But note that the + stroke rendering will still occur, consistent with the rules for strokes + below.) + * A sub-path that isn't closed(the end point is not equal to the + begin point) is implicitly closed. + * When a stroke is applied to rendering a path: + * The sub-paths can be composed of any number of points. + * The sub-path is never implicitly closed. + + @param commands A Vector of integers representing drawing commands. The set + of accepted values is defined by the constants in the GraphicsPathCommand class. + @param data A Vector of Number instances where each pair of numbers is treated + as a coordinate location (an x, y pair). The x- and y-coordinate value pairs are + not Point objects; the data vector is a series of numbers where each group of two + numbers represents a coordinate location. + @param winding Specifies the winding rule using a value defined in the + GraphicsPathWinding class. + + + + + + + + + { transforms : null, indices : null } + Renders a set of quadrilaterals. This is similar to calling `drawRect` + repeatedly, but each rectangle can use a transform value to rotate, scale + or skew the result. + + Any type of fill can be used, but if the fill has a transform matrix + that transform matrix is ignored. + + The optional `indices` parameter allows the use of either repeated + rectangle geometry, or allows the use of a subset of a broader rectangle + data Vector, such as Tileset `rectData`. + + @param rects A Vector containing rectangle coordinates in + [ x0, y0, width0, height0, x1, y1 ... ] format. + @param indices A Vector containing optional index values to reference + the data contained in `rects`. Each index is a rectangle + index in the Vector, not an array index. If this parameter + is ommitted, each index from `rects` will be used in order. + @param transforms A Vector containing optional transform data to adjust + _x_, _y_, _a_, _b_, _c_ or _d_ value for the resulting + quadrilateral. A `transforms` Vector that is double the + size of the draw count (the length of `indices`, or if + omitted, the rectangle count in `rects`) will be treated + as [ x, y, ... ] pairs. A `transforms` Vector that is + four times the size of the draw count will be used as + matrix [ a, b, c, d, ... ] values. A `transforms` object + which is six times the draw count in size will use full + matrix [ a, b, c, d, tx, ty, ... ] values per draw. + + + + + + + + + + Draws a rectangle. Set the line style, fill, or both before you call the + `drawRect()` method, by calling the `linestyle()`, + `lineGradientStyle()`, `beginFill()`, + `beginGradientFill()`, or `beginBitmapFill()` + method. + + @param x A number indicating the horizontal position relative to the + registration point of the parent display object(in pixels). + @param y A number indicating the vertical position relative to the + registration point of the parent display object(in pixels). + @param width The width of the rectangle(in pixels). + @param height The height of the rectangle(in pixels). + @throws ArgumentError If the `width` or `height` + parameters are not a number + (`Number.NaN`). + + + + + + + + + + + + { ellipseHeight : null } + Draws a rounded rectangle. Set the line style, fill, or both before you + call the `drawRoundRect()` method, by calling the + `linestyle()`, `lineGradientStyle()`, + `beginFill()`, `beginGradientFill()`, or + `beginBitmapFill()` method. + + @param x A number indicating the horizontal position relative + to the registration point of the parent display + object(in pixels). + @param y A number indicating the vertical position relative to + the registration point of the parent display object + (in pixels). + @param width The width of the round rectangle(in pixels). + @param height The height of the round rectangle(in pixels). + @param ellipseWidth The width of the ellipse used to draw the rounded + corners(in pixels). + @param ellipseHeight The height of the ellipse used to draw the rounded + corners(in pixels). Optional; if no value is + specified, the default value matches that provided + for the `ellipseWidth` parameter. + @throws ArgumentError If the `width`, `height`, + `ellipseWidth` or + `ellipseHeight` parameters are not a + number(`Number.NaN`). + + + + + + + + + + + + + + Undocumented method + + + + + + + + + + { culling : TriangleCulling.NONE, uvtData : null, indices : null } + Renders a set of triangles, typically to distort bitmaps and give them a + three-dimensional appearance. The `drawTriangles()` method maps + either the current fill, or a bitmap fill, to the triangle faces using a + set of(u,v) coordinates. + + Any type of fill can be used, but if the fill has a transform matrix + that transform matrix is ignored. + + A `uvtData` parameter improves texture mapping when a + bitmap fill is used. + + @param culling Specifies whether to render triangles that face in a + specified direction. This parameter prevents the rendering + of triangles that cannot be seen in the current view. This + parameter can be set to any value defined by the + TriangleCulling class. + + + + Applies a fill to the lines and curves that were added since the last call + to the `beginFill()`, `beginGradientFill()`, or + `beginBitmapFill()` method. Flash uses the fill that was + specified in the previous call to the `beginFill()`, + `beginGradientFill()`, or `beginBitmapFill()` + method. If the current drawing position does not equal the previous + position specified in a `moveTo()` method and a fill is + defined, the path is closed with a line and then filled. + + + + + + + + + + { smooth : false, repeat : true, matrix : null } + Specifies a bitmap to use for the line stroke when drawing lines. + + The bitmap line style is used for subsequent calls to Graphics methods + such as the `lineTo()` method or the `drawCircle()` + method. The line style remains in effect until you call the + `lineStyle()` or `lineGradientStyle()` methods, or + the `lineBitmapStyle()` method again with different parameters. + + + You can call the `lineBitmapStyle()` method in the middle of + drawing a path to specify different styles for different line segments + within a path. + + Call the `lineStyle()` method before you call the + `lineBitmapStyle()` method to enable a stroke, or else the + value of the line style is `undefined`. + + Calls to the `clear()` method set the line style back to + `undefined`. + + @param bitmap The bitmap to use for the line stroke. + @param matrix An optional transformation matrix as defined by the + openfl.geom.Matrix class. The matrix can be used to scale or + otherwise manipulate the bitmap before applying it to the + line style. + @param repeat Whether to repeat the bitmap in a tiled fashion. + @param smooth Whether smoothing should be applied to the bitmap. + + + + + + + + + + + + + + { focalPointRatio : 0, interpolationMethod : InterpolationMethod.RGB, spreadMethod : SpreadMethod.PAD, matrix : null } + `SpreadMethod.PAD` | ![linear gradient with SpreadMethod.REFLECT](/images/beginGradientFill_spread_reflect.jpg)
      `SpreadMethod.REFLECT` | ![linear gradient with SpreadMethod.REPEAT](/images/beginGradientFill_spread_repeat.jpg)
      `SpreadMethod.REPEAT` | + + @param interpolationMethod A value from the InterpolationMethod class that specifies which value to use. For + example, consider a simple linear gradient between two colors (with the `spreadMethod` parameter set to + `SpreadMethod.REFLECT`). The different interpolation methods affect the appearance as follows: + + | | | + | --- | --- | + | ![linear gradient with InterpolationMethod.LINEAR_RGB](/images/beginGradientFill_interp_linearrgb.jpg)
      `InterpolationMethod.LINEAR_RGB` | ![linear gradient with InterpolationMethod.RGB](/images/beginGradientFill_interp_rgb.jpg)
      `InterpolationMethod.RGB` | + + @param focalPointRatio A number that controls the location of the focal point of the gradient. The value 0 + means the focal point is in the center. The value 1 means the focal point is at one border of the gradient + circle. The value -1 means that the focal point is at the other border of the gradient circle. Values less + than -1 or greater than 1 are rounded to -1 or 1. The following image shows a gradient with a + `focalPointRatio` of -0.75: + + ![radial gradient with focalPointRatio set to 0.75](/images/radial_sketch.jpg)]]>
      +
      + + + + + + + + + + + + + { miterLimit : 3, joints : null, caps : null, scaleMode : LineScaleMode.NORMAL, pixelHinting : false, alpha : 1, color : 0, thickness : null } + Specifies a shader to use for the line stroke when drawing lines. + + The shader line style is used for subsequent calls to Graphics methods such as the `lineTo()` method or the + `drawCircle()` method. The line style remains in effect until you call the `lineStyle()` or + `lineGradientStyle()` methods, or the `lineBitmapStyle()` method again with different parameters. + + You can call the `lineShaderStyle()` method in the middle of drawing a path to specify different styles for + different line segments within a path. + + Call the `lineStyle()` method before you call the `lineShaderStyle()` method to enable a stroke, or else the + value of the line style is undefined. + + Calls to the `clear()` method set the line style back to undefined. + + + + + + + + Draws a line using the current line style from the current drawing + position to(`x`, `y`); the current drawing position + is then set to(`x`, `y`). If the display object in + which you are drawing contains content that was created with the Flash + drawing tools, calls to the `lineTo()` method are drawn + underneath the content. If you call `lineTo()` before any calls + to the `moveTo()` method, the default position for the current + drawing is(_0, 0_). If any of the parameters are missing, this + method fails and the current drawing position is not changed. + + @param x A number that indicates the horizontal position relative to the + registration point of the parent display object(in pixels). + @param y A number that indicates the vertical position relative to the + registration point of the parent display object(in pixels). + + + + + + + + Moves the current drawing position to(`x`, `y`). If + any of the parameters are missing, this method fails and the current + drawing position is not changed. + + @param x A number that indicates the horizontal position relative to the + registration point of the parent display object(in pixels). + @param y A number that indicates the vertical position relative to the + registration point of the parent display object(in pixels). + + + + + + + + "checkstyle:FieldDocComment" + hide + + + + + + + + + { recurse : true } + Queries a Sprite or Shape object (and optionally, its children) for its vector + graphics content. The result is a Vector of IGraphicsData objects. Transformations + are applied to the display object before the query, so the returned paths are all + in the same coordinate space. Coordinates in the result data set are relative to + the stage, not the display object being sampled. + + The result includes the following types of objects, with the specified limitations: + + * GraphicsSolidFill + * GraphicsGradientFill + * All properties of the gradient fill are returned by `readGraphicsData()`. + * The matrix returned is close to, but not exactly the same as, the input + matrix. + * GraphicsEndFill + * GraphicsBitmapFill + * The matrix returned is close to, but not exactly the same as, the input + matrix. + * `repeat` is always `true`. + * `smooth` is always `false`. + * GraphicsStroke + * `thickness` is supported. + * `fill` supports GraphicsSolidFill, GraphicsGradientFill, and GraphicsBitmapFill + as described previously + * All other properties have default values. + * GraphicsPath + * The only supported commands are `MOVE_TO`, `CURVE_TO`, and `LINE_TO`. + + The following visual elements and transformations can't be represented and are not + included in the result: + + * Masks + * Text, with one exception: Static text that is defined with anti-alias type + "anti-alias for animation" is rendered as vector shapes so it is included in the + result. + * Shader fills + * Blend modes + * 9-slice scaling + * Triangles (created with the `drawTriangles()` method) + * Opaque background + * `scrollRect` settings + * 2.5D transformations + * Non-visible objects (objects whose `visible` property is `false`) + + @param recurse whether the runtime should also query display object children of + the current display object. A recursive query can take more time and memory to + execute. The results are returned in a single flattened result set, not separated + by display object. + @returns A Vector of IGraphicsData objects representing the vector graphics + content of the related display object + + <__calculateBezierCubicPoint get="inline" set="null" line="1615"> + + + + + + + + + + + <__calculateBezierQuadPoint get="inline" set="null" line="1622"> + + + + + + + + + + <__cleanup set="method" line="1628"> + + + + <__getBounds set="method" line="1654"> + + + + + + + + <__hitTest set="method" line="1664"> + + + + + + + + + + <__inflateBounds set="method" line="1688"> + + + + + + + + <__readGraphicsData set="method" line="1722"> + + + + + + + <__update set="method" line="1832"> + + + + + + + + + + + + + + + + + + + + + The Graphics class contains a set of methods that you can use to create a + vector shape. Display objects that support drawing include Sprite and Shape + objects. Each of these classes includes a `graphics` property + that is a Graphics object. The following are among those helper functions + provided for ease of use: `drawRect()`, + `drawRoundRect()`, `drawCircle()`, and + `drawEllipse()`. + + You cannot create a Graphics object directly from ActionScript code. If + you call `new Graphics()`, an exception is thrown. + + The Graphics class is final; it cannot be subclassed. + + + "tags=\"haxe,release\"" + + openfl.display.DisplayObject + openfl.display.GraphicsPath + openfl.display.IGraphicsData + openfl.display.IGraphicsFill + openfl.display.Shader + openfl.geom.Matrix + openfl.geom.Rectangle + + +
      + <__graphicsFillType set="null"> + + + + <__graphicsDataType set="null"> + + + + + + + + + A transparent or opaque bitmap image. + + + + A matrix object (of the openfl.geom.Matrix class) that defines + transformations on the bitmap. For example, the following matrix + rotates a bitmap by 45 degrees (pi/4 radians): + + ```haxe + var matrix = new openfl.geom.Matrix(); + matrix.rotate(Math.PI / 4); + ``` + + + + Specifies whether to repeat the bitmap image in a tiled pattern. + If `true`, the bitmap image repeats in a tiled pattern. If `false`, + the bitmap image does not repeat, and the outermost pixels along the + edges of the bitmap are used for any fill area that extends beyond the + bounds of the bitmap. + + For example, consider the following bitmap (a 20 x 20-pixel + checkerboard pattern): + + ![20 by 20 pixel checkerboard](/images/movieClip_beginBitmapFill_repeat_1.jpg) + + When `repeat` is set to `true` (as in the following example), the + bitmap fill repeats the bitmap: + + ![60 by 60 pixel checkerboard](/images/movieClip_beginBitmapFill_repeat_2.jpg) + + When `repeat` is set to `false`, the bitmap fill uses the edge pixels + for the fill area outside the bitmap: + + ![60 by 60 pixel image with no repeating](/images/movieClip_beginBitmapFill_repeat_3.jpg) + + + + Specifies whether to apply a smoothing algorithm to the bitmap image. + If `false`, upscaled bitmap images are rendered by using a + nearest-neighbor algorithm and look pixelated. If `true`, upscaled + bitmap images are rendered by using a bilinear algorithm. Rendering by + using the nearest neighbor algorithm is usually faster. + + <__graphicsDataType set="null"> + + + + <__graphicsFillType set="null"> + + + + + + + + + + + + { smooth : false, repeat : true, matrix : null, bitmapData : null } + Creates a new GraphicsBitmapFill object. + + @param bitmapData A transparent or opaque bitmap image that contains + the bits to display. + @param matrix A matrix object (of the openfl.geom.Matrix class), + which you use to define transformations on the + bitmap. + @param repeat If `true`, the bitmap image repeats in a tiled + pattern. If `false`, the bitmap image does not + repeat, and the edges of the bitmap are used for any + fill area that extends beyond the bitmap. + @param smooth If `false`, upscaled bitmap images are rendered + using a nearest-neighbor algorithm and appear + pixelated. If `true`, upscaled bitmap images are + rendered using a bilinear algorithm. Rendering that + uses the nearest-neighbor algorithm is usually + faster. + + Defines a bitmap fill. The bitmap can be smoothed, repeated or tiled to + fill the area; or manipulated using a transformation matrix. + Use a GraphicsBitmapFill object with the `Graphics.drawGraphicsData()` + method. Drawing a GraphicsBitmapFill object is the equivalent of calling + the `Graphics.beginBitmapFill()` method. + + + "tags=\"haxe,release\"" + + + + + + + + <__graphicsDataType set="null"> + + + + <__graphicsFillType set="null"> + + + + + + Creates an object to use with the `Graphics.drawGraphicsData()` + method to end the fill, explicitly. + + Indicates the end of a graphics fill. Use a GraphicsEndFill object with the + `Graphics.drawGraphicsData()` method. + + Drawing a GraphicsEndFill object is the equivalent of calling the + `Graphics.endFill()` method. + + + "tags=\"haxe,release\"" + + + + + + + + + + An array of alpha values for the corresponding colors in the colors + array. Valid values are between 0 and 1. If the value is less than 0, + 0 is used. If the value is greater than 1, 1 is used. + + + + An array of RGB hexadecimal color values to use in the gradient. For + example, red is 0xFF0000, blue is 0x0000FF, and so on. You can specify + up to 15 colors. For each color, specify a corresponding value in the + alphas and ratios properties. + + + + A number that controls the location of the focal point of the + gradient. A value of 0 sets the focal point in the center. A value of + 1 means that the focal point is at one border of the gradient circle.A + value of -1 sets the focal point at the other border of the gradient + circle. A value of less than -1 or greater than 1 is rounded to -1 or + 1, respectively. For example, the following shows a `focalPointRatio` + set to 0.75: + + ![radial gradient with focalPointRatio set to 0.75](/images/radial_sketch.jpg) + + + + A value from the InterpolationMethod class that specifies which value + to use. Valid values are: `InterpolationMethod.LINEAR_RGB` or + `InterpolationMethod.RGB` + For example, the following shows a simple linear gradient between two + colors (with the `spreadMethod` parameter set to + `SpreadMethod.REFLECT`). The different interpolation methods change + the appearance as follows: + + | `InterpolationMethod.LINEAR_RGB` | `InterpolationMethod.RGB` | + | --- | --- | + | ![linear gradient with InterpolationMethod.LINEAR_RGB](/images/beginGradientFill_interp_linearrgb.jpg) | ![linear gradient with InterpolationMethod.RGB](/images/beginGradientFill_interp_rgb.jpg) | + + + + A transformation matrix as defined by the Matrix class. The + openfl.geom.Matrix class includes a `createGradientBox()` method to set + up the matrix for use with the `beginGradientFill()` method. + + + + An array of color distribution ratios. Valid values are between 0 and + 255. This value defines the percentage of the width where the color is + sampled at 100%. The value 0 represents the left position in the + gradient box, and the value 255 represents the right position in the + gradient box. + **Note:** This value represents positions in the gradient box, not the + coordinate space of the final gradient which can be wider or thinner + than the gradient box. Specify a value for corresponding to each value + in the `colors` property. + + For example, for a linear gradient that includes two colors (blue and + green) the following example illustrates the placement of the colors + in the gradient based on different values in the `ratios` array: + + | `ratios` | Gradient | + | --- | --- | + | `[0, 127]` | ![linear gradient blue to green with ratios 0 and 127](/images/gradient-ratios-1.jpg) | + | `[0, 255]` | ![linear gradient blue to green with ratios 0 and 255](/images/gradient-ratios-2.jpg) | + | `[127, 255]` | ![linear gradient blue to green with ratios 127 and 255](/images/gradient-ratios-3.jpg) | + + The values in the array must increase sequentially; for example, `[0, + 63, 127, 190, 255]`. + + + + A value from the SpreadMethod class that specifies which spread method + to use. Valid values are: `SpreadMethod.PAD`, `SpreadMethod.REFLECT`, + or `SpreadMethod.REPEAT`. + + For example, the following shows a simple linear gradient between two + colors: + + ```haxe + import openfl.geom.*; + import openfl.display.*; + + var fillType = GradientType.LINEAR; + var colors = [0xFF0000, 0x0000FF]; + var alphas = [1, 1]; + var ratios = [0x00, 0xFF]; + var matr = new Matrix(); + matr.createGradientBox(20, 20, 0, 0, 0); + var spreadMethod = SpreadMethod.PAD; + graphics.beginGradientFill(fillType, colors, alphas, ratios, matr, spreadMethod); + graphics.drawRect(0,0,100,100); + ``` + + This example uses `SpreadMethod.PAD` for the spread method, and the + gradient fill looks like the following: + + ![linear gradient with SpreadMethod.PAD](/images/beginGradientFill_spread_pad.jpg) + + If you use `SpreadMethod.REFLECT` for the spread method, the gradient + fill looks like the following: + + ![linear gradient with SpreadMethod.REFLECT](/images/beginGradientFill_spread_reflect.jpg) + + If you use `SpreadMethod.REPEAT` for the spread method, the gradient + fill looks like the following: + + ![linear gradient with SpreadMethod.REPEAT](/images/beginGradientFill_spread_repeat.jpg) + + + + A value from the GradientType class that specifies which gradient type + to use. Values are `GradientType.LINEAR` or `GradientType.RADIAL`. + + <__graphicsDataType set="null"> + + + + <__graphicsFillType set="null"> + + + + + + + + + + + + + + + + { focalPointRatio : 0, interpolationMethod : null, spreadMethod : null, matrix : null, ratios : null, alphas : null, colors : null, type : null } + Creates a new GraphicsGradientFill object. + + @param type A value from the GradientType class that + specifies which gradient type to use: + `GradientType.LINEAR` or + `GradientType.RADIAL`. + @param matrix A transformation matrix as defined by the + openfl.geom.Matrix class. The + openfl.geom.Matrix class includes a + `createGradientBox()` method, which lets + you conveniently set up the matrix for use + with the `beginGradientFill()` method. + @param spreadMethod A value from the SpreadMethod class that + specifies which spread method to use, + either: `SpreadMethod.PAD`, + `SpreadMethod.REFLECT`, or + `SpreadMethod.REPEAT`. + @param interpolationMethod A value from the InterpolationMethod class + that specifies which value to use: + `InterpolationMethod.LINEAR_RGB` or + `InterpolationMethod.RGB` + @param focalPointRatio A number that controls the location of the + focal point of the gradient. A value of 0 + sets the focal point in the center. A value + of 1 sets the focal point at one border of + the gradient circle. A value of -1 sets the + focal point at the other border of the + gradient circle. A value less than -1 or + greater than 1 is rounded to -1 or 1, + respectively. + + Defines a gradient fill. + Use a GraphicsGradientFill object with the `Graphics.drawGraphicsData()` + method. Drawing a GraphicsGradientFill object is the equivalent of calling + the `Graphics.beginGradientFill()` method. + + + "tags=\"haxe,release\"" + + + + + + + + + + + 0.70710678118654752440084436210485 + + + + 0.4142135623730950488016887242097 + + + + The Vector of drawing commands as integers representing the path. Each + command can be one of the values defined by the GraphicsPathCommand class. + + + + The Vector of Numbers containing the parameters used with the drawing + commands. + + + + Specifies the winding rule using a value defined in the + GraphicsPathWinding class. + + <__graphicsDataType set="null"> + + + + + + + + + + + + + + Adds a new "cubicCurveTo" command to the commands vector and new coordinates to + the data vector. + + @param controlX1 A number that specifies the horizontal position of the first + control point relative to the registration point of the parent display object. + @param controlY1 A number that specifies the vertical position of the first + control point relative to the registration point of the parent display object. + @param controlX2 A number that specifies the horizontal position of the second + control point relative to the registration point of the parent display object. + @param controlY2 A number that specifies the vertical position of the second + control point relative to the registration point of the parent display object. + @param anchorX A number that specifies the horizontal position of the next anchor + point relative to the registration point of the parent display object. + @param anchorY A number that specifies the vertical position of the next anchor + point relative to the registration point of the parent display object. + + + + + + + + + + Adds a new "curveTo" command to the `commands` vector and new + coordinates to the `data` vector. + + @param controlX A number that specifies the horizontal position of the + control point relative to the registration point of the + parent display object. + @param controlY A number that specifies the vertical position of the + control point relative to the registration point of the + parent display object. + @param anchorX A number that specifies the horizontal position of the + next anchor point relative to the registration point of + the parent display object. + @param anchorY A number that specifies the vertical position of the next + anchor point relative to the registration point of the + parent display object. + + + + + + + + Adds a new "lineTo" command to the `commands` vector and new + coordinates to the `data` vector. + + @param x The x coordinate of the destination point for the line. + @param y The y coordinate of the destination point for the line. + + + + + + + + Adds a new "moveTo" command to the `commands` vector and new + coordinates to the `data` vector. + + @param x The x coordinate of the destination point. + @param y The y coordinate of the destination point. + + + + + + + + Adds a new "wideLineTo" command to the `commands` vector and + new coordinates to the `data` vector. + + @param x The x-coordinate of the destination point for the line. + @param y The y-coordinate of the destination point for the line. + + + + + + + + Adds a new "wideMoveTo" command to the `commands` vector and + new coordinates to the `data` vector. + + @param x The x-coordinate of the destination point. + @param y The y-coordinate of the destination point. + + <__drawCircle set="method" line="195"> + + + + + + + + + <__drawEllipse set="method" line="200"> + + + + + + + + + + <__drawRect set="method" line="205"> + + + + + + + + + + <__drawRoundRect set="method" line="214"> + + + + + + + + + + + + + + + + + + + { winding : GraphicsPathWinding.EVEN_ODD, data : null, commands : null } + Creates a new GraphicsPath object. + + @param winding Specifies the winding rule using a value defined in the + GraphicsPathWinding class. + + A collection of drawing commands and the coordinate parameters for those + commands. + + Use a GraphicsPath object with the + `Graphics.drawGraphicsData()` method. Drawing a GraphicsPath + object is the equivalent of calling the `Graphics.drawPath()` + method. + + The GraphicsPath class also has its own set of methods + (`curveTo()`, `lineTo()`, `moveTo()` + `wideLineTo()` and `wideMoveTo()`) similar to those + in the Graphics class for making adjustments to the + `GraphicsPath.commands` and `GraphicsPath.data` + vector arrays. + + + "tags=\"haxe,release\"" + + + + + + + + + + + + + + + Defines the values to use for specifying path-drawing commands. + + The values in this class are used by the + `Graphics.drawPath()` method, or stored in the + `commands` vector of a GraphicsPath object. + + + + + + cast 6 + + + + Specifies a drawing command that draws a curve from the current drawing position + to the x- and y-coordinates specified in the data vector, using a 2 control points. + + + + + cast 3 + + + + Specifies a drawing command that draws a curve from the current drawing position + to the x- and y-coordinates specified in the data vector, using a control point. + This command produces the same effect as the `Graphics.lineTo()` method, and uses + two points in the data vector control and anchor: (cx, cy, ax, ay). + + + + + cast 2 + + + + Specifies a drawing command that draws a line from the current drawing position to + the x- and y-coordinates specified in the data vector. This command produces the + same effect as the `Graphics.lineTo()` method, and uses one point in the data + vector: (x,y). + + + + + cast 1 + + + + Specifies a drawing command that moves the current drawing position to the x- and + y-coordinates specified in the data vector. This command produces the same effect as + the `Graphics.moveTo()` method, and uses one point in the data vector: (x,y). + + + + + cast 0 + + + + Represents the default "do nothing" command. + + + + + cast 5 + + + + Specifies a "line to" drawing command, but uses two sets of coordinates (four + values) instead of one set. This command allows you to switch between "line to" + and "curve to" commands without changing the number of data values used per command. + This command uses two sets in the data vector: one dummy location and one (x,y) + location. + + The `WIDE_LINE_TO` and `WIDE_MOVE_TO` command variants consume the same number of + parameters as does the `CURVE_TO` command. + + + + + cast 4 + + + + Specifies a "move to" drawing command, but uses two sets of coordinates (four + values) instead of one set. This command allows you to switch between "move to" + and "curve to" commands without changing the number of data values used per + command. This command uses two sets in the data vector: one dummy location and one + (x,y) location. + + The `WIDE_LINE_TO` and `WIDE_MOVE_TO` command variants consume the same number of + parameters as does the `CURVE_TO` command. + + + + + + + + + cast 6 + + + + Specifies a drawing command that draws a curve from the current drawing position + to the x- and y-coordinates specified in the data vector, using a 2 control points. + + + + + cast 3 + + + + Specifies a drawing command that draws a curve from the current drawing position + to the x- and y-coordinates specified in the data vector, using a control point. + This command produces the same effect as the `Graphics.lineTo()` method, and uses + two points in the data vector control and anchor: (cx, cy, ax, ay). + + + + + cast 2 + + + + Specifies a drawing command that draws a line from the current drawing position to + the x- and y-coordinates specified in the data vector. This command produces the + same effect as the `Graphics.lineTo()` method, and uses one point in the data + vector: (x,y). + + + + + cast 1 + + + + Specifies a drawing command that moves the current drawing position to the x- and + y-coordinates specified in the data vector. This command produces the same effect as + the `Graphics.moveTo()` method, and uses one point in the data vector: (x,y). + + + + + cast 0 + + + + Represents the default "do nothing" command. + + + + + cast 5 + + + + Specifies a "line to" drawing command, but uses two sets of coordinates (four + values) instead of one set. This command allows you to switch between "line to" + and "curve to" commands without changing the number of data values used per command. + This command uses two sets in the data vector: one dummy location and one (x,y) + location. + + The `WIDE_LINE_TO` and `WIDE_MOVE_TO` command variants consume the same number of + parameters as does the `CURVE_TO` command. + + + + + cast 4 + + + + Specifies a "move to" drawing command, but uses two sets of coordinates (four + values) instead of one set. This command allows you to switch between "move to" + and "curve to" commands without changing the number of data values used per + command. This command uses two sets in the data vector: one dummy location and one + (x,y) location. + + The `WIDE_LINE_TO` and `WIDE_MOVE_TO` command variants consume the same number of + parameters as does the `CURVE_TO` command. + + + + + + + + The GraphicsPathWinding class provides values for the + `openfl.display.GraphicsPath.winding` property and the + `openfl.display.Graphics.drawPath()` method to determine the + direction to draw a path. A clockwise path is positively wound, and a + counter-clockwise path is negatively wound: + + ![positive and negative winding directions](/images/winding_positive_negative.gif) + + When paths intersect or overlap, the winding direction determines the + rules for filling the areas created by the intersection or overlap: + + ![a comparison of even-odd and non-zero winding rules](/images/winding_rules_evenodd_nonzero.gif) + + + + + + cast 0 + + + + Establishes the even-odd winding type. The even-odd winding type is the rule + used by all of the original drawing API and is the default type for the + `openfl.display.Graphics.drawPath()` method. Any overlapping paths will + alternate between open and closed fills. If two squares drawn with the same + fill intersect, the area of the intersection is not filled. Adjacent areas are not + the same (neither both filled nor both unfilled). + + + + + cast 1 + + + + Establishes the non-zero winding type. The non-zero winding type determines that + when paths of opposite winding intersect, the intersection area is unfilled + (as with the even-odd winding type). For paths of the same winding, the + intersection area is filled. + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + Establishes the even-odd winding type. The even-odd winding type is the rule + used by all of the original drawing API and is the default type for the + `openfl.display.Graphics.drawPath()` method. Any overlapping paths will + alternate between open and closed fills. If two squares drawn with the same + fill intersect, the area of the intersection is not filled. Adjacent areas are not + the same (neither both filled nor both unfilled). + + + + + cast 1 + + + + Establishes the non-zero winding type. The non-zero winding type determines that + when paths of opposite winding intersect, the intersection area is unfilled + (as with the even-odd winding type). For paths of the same winding, the + intersection area is filled. + + + + + + + + + + + + + + + + + + + + + + + A Vector containing optional index values to reference the data contained in + `rects`. Each index is a rectangle index in the Vector, not an array index. If + this parameter is omitted, each index from `rects` will be used in order. + + + + A Vector containing rectangle coordinates in [ x0, y0, width0, height0, x1, y1 ... ] + format. + + + + A Vector containing optional transform data to adjust _x_, _y_, _a_, _b_, _c_ or _d_ + value for the resulting quadrilateral. A `transforms` Vector that is double the size + of the draw count (the length of `indices`, or if omitted, the rectangle count in + `rects`) will be treated as [ x, y, ... ] pairs. A `transforms` Vector that is four + times the size of the draw count will be used as matrix [ a, b, c, d, ... ] values. + A `transforms` object which is six times the draw count in size will use full matrix + [ a, b, c, d, tx, ty, ... ] values per draw. + + <__graphicsDataType set="null"> + + + + + + + + + + + { transforms : null, indices : null, rects : null } + Creates a new GraphicsTrianglePath object. + + @param rects A Vector containing rectangle coordinates in [ x0, y0, width0, height0, x1, y1 ... ] + format. + @param indices A Vector containing optional index values to reference the data contained in + `rects` + @param transforms A Vector containing optional transform data to adjust _x_, _y_, _a_, _b_, _c_ or _d_ + value for the resulting quadrilateral. + + Defines a set of quadrilaterals. This is similar to using GraphicsPath `drawRect` + repeatedly, but each rectangle can use a transform value to rotate, scale or skew + the result. + + Any type of fill can be used, but if the fill has a transform matrix + that transform matrix is ignored. + + The optional `indices` parameter allows the use of either repeated + rectangle geometry, or allows the use of a subset of a broader rectangle + data Vector, such as Tileset `rectData`. + + "tags=\"haxe,release\"" + + + + + + + + + + A matrix object (of the openfl.geom.Matrix class), which you can use to + define transformations on the shader. For example, you can use the + following matrix to rotate a shader by 45 degrees (pi/4 radians): + + ```haxe + var matrix = new openfl.geom.Matrix(); + matrix.rotate(Math.PI / 4); + ``` + + The coordinates received in the shader are based on the matrix that is + specified for the `matrix` parameter. For a default (`null`) matrix, + the coordinates in the shader are local pixel coordinates which can be + used to sample an input. + + + + The shader to use for the fill. This Shader instance is not required + to specify an image input. However, if an image input is specified in + the shader, the input must be provided manually by setting the `input` + property of the corresponding ShaderInput property of the + `Shader.data` property. + When you pass a Shader instance as an argument the shader is copied + internally and the drawing fill operation uses that internal copy, not + a reference to the original shader. Any changes made to the shader, + such as changing a parameter value, input, or bytecode, are not + applied to the copied shader that's used for the fill. + + <__graphicsDataType set="null"> + + + + <__graphicsFillType set="null"> + + + + + + + + + + { matrix : null } + Creates a new GraphicsShaderFill object. + + @param shader The shader to use for the fill. This Shader instance is + not required to specify an image input. However, if an + image input is specified in the shader, the input must + be provided manually by setting the `input` property of + the corresponding ShaderInput property of the + `Shader.data` property. + @param matrix A matrix object (of the openfl.geom.Matrix class), which + you can use to define transformations on the shader. + + Defines a shader fill. + Use a GraphicsShaderFill object with the `Graphics.drawGraphicsData()` + method. Drawing a GraphicsShaderFill object is the equivalent of calling + the `Graphics.beginShaderFill()` method. + + "tags=\"haxe,release\"" + + + + + + + + + + Indicates the alpha transparency value of the fill. Valid values are 0 + (fully transparent) to 1(fully opaque). The default value is 1. Display + objects with alpha set to 0 are active, even though they are invisible. + + + + The color of the fill. Valid values are in the hexadecimal format + 0xRRGGBB. The default value is 0xFF0000(or the uint 0). + + <__graphicsDataType set="null"> + + + + <__graphicsFillType set="null"> + + + + + + + + + + { alpha : 1, color : 0 } + Creates a new GraphicsSolidFill object. + + @param color The color value. Valid values are in the hexadecimal format + 0xRRGGBB. + @param alpha The alpha transparency value. Valid values are 0(fully + transparent) to 1(fully opaque). + + Defines a solid fill. + + Use a GraphicsSolidFill object with the + `Graphics.drawGraphicsData()` method. Drawing a + GraphicsSolidFill object is the equivalent of calling the + `Graphics.beginFill()` method. + + + "tags=\"haxe,release\"" + + + + + + + + + + + Specifies the type of caps at the end of lines. Valid values are: + `CapsStyle.NONE`, `CapsStyle.ROUND`, and + `CapsStyle.SQUARE`. If a value is not indicated, Flash uses + round caps. + + For example, the following illustrations show the different + `capsStyle` settings. For each setting, the illustration shows + a blue line with a thickness of 30(for which the `capsStyle` + applies), and a superimposed black line with a thickness of 1(for which + no `capsStyle` applies): + + + + Specifies the instance containing data for filling a stroke. An + IGraphicsFill instance can represent a series of fill commands. + + + + Specifies the type of joint appearance used at angles. Valid values are: + `JointStyle.BEVEL`, `JointStyle.MITER`, and + `JointStyle.ROUND`. If a value is not indicated, Flash uses + round joints. + + For example, the following illustrations show the different + `joints` settings. For each setting, the illustration shows an + angled blue line with a thickness of 30(for which the + `jointStyle` applies), and a superimposed angled black line + with a thickness of 1(for which no `jointStyle` applies): + + **Note:** For `joints` set to + `JointStyle.MITER`, you can use the `miterLimit` + parameter to limit the length of the miter. + + + + Indicates the limit at which a miter is cut off. Valid values range from 1 + to 255(and values outside that range are rounded to 1 or 255). This value + is only used if the `jointStyle` is set to + `"miter"`. The `miterLimit` value represents the + length that a miter can extend beyond the point at which the lines meet to + form a joint. The value expresses a factor of the line + `thickness`. For example, with a `miterLimit` factor + of 2.5 and a `thickness` of 10 pixels, the miter is cut off at + 25 pixels. + + For example, consider the following angled lines, each drawn with a + `thickness` of 20, but with `miterLimit` set to 1, + 2, and 4. Superimposed are black reference lines showing the meeting + points of the joints: + + Notice that a given `miterLimit` value has a specific + maximum angle for which the miter is cut off. The following table lists + some examples: + + + + Specifies whether to hint strokes to full pixels. This affects both the + position of anchors of a curve and the line stroke size itself. With + `pixelHinting` set to `true`, Flash Player hints + line widths to full pixel widths. With `pixelHinting` set to + `false`, disjoints can appear for curves and straight lines. + For example, the following illustrations show how Flash Player renders two + rounded rectangles that are identical, except that the + `pixelHinting` parameter used in the `lineStyle()` + method is set differently(the images are scaled by 200%, to emphasize the + difference): + + + + Specifies the stroke thickness scaling. Valid values are: + + * `LineScaleMode.NORMAL` - Always scale the line thickness + when the object is scaled(the default). + * `LineScaleMode.NONE` - Never scale the line thickness. + + * `LineScaleMode.VERTICAL` - Do not scale the line + thickness if the object is scaled vertically _only_. For example, + consider the following circles, drawn with a one-pixel line, and each with + the `scaleMode` parameter set to + `LineScaleMode.VERTICAL`. The circle on the left is scaled + vertically only, and the circle on the right is scaled both vertically and + horizontally: + * `LineScaleMode.HORIZONTAL` - Do not scale the line + thickness if the object is scaled horizontally _only_. For example, + consider the following circles, drawn with a one-pixel line, and each with + the `scaleMode` parameter set to + `LineScaleMode.HORIZONTAL`. The circle on the left is scaled + horizontally only, and the circle on the right is scaled both vertically + and horizontally: + + + + Indicates the thickness of the line in points; valid values are 0-255. If + a number is not specified, or if the parameter is undefined, a line is not + drawn. If a value of less than 0 is passed, the default is 0. The value 0 + indicates hairline thickness; the maximum thickness is 255. If a value + greater than 255 is passed, the default is 255. + + <__graphicsDataType set="null"> + + + + + + + + + + + + + + + { fill : null, miterLimit : 3, joints : JointStyle.ROUND, caps : CapsStyle.NONE, scaleMode : LineScaleMode.NORMAL, pixelHinting : false, thickness : null } + Creates a new GraphicsStroke object. + + @param pixelHinting A Boolean value that specifies whether to hint strokes + to full pixels. This affects both the position of + anchors of a curve and the line stroke size itself. + With `pixelHinting` set to + `true`, Flash Player hints line widths to + full pixel widths. With `pixelHinting` set + to `false`, disjoints can appear for curves + and straight lines. For example, the following + illustrations show how Flash Player renders two + rounded rectangles that are identical, except that the + `pixelHinting` parameter used in the + `lineStyle()` method is set differently + (the images are scaled by 200%, to emphasize the + difference): + + If a value is not supplied, the line does not use + pixel hinting. + @param scaleMode A value from the LineScaleMode class that specifies + which scale mode to use: + + * `LineScaleMode.NORMAL` - Always + scale the line thickness when the object is scaled + (the default). + * `LineScaleMode.NONE` - Never scale + the line thickness. + * `LineScaleMode.VERTICAL` - Do not + scale the line thickness if the object is scaled + vertically _only_. For example, consider the + following circles, drawn with a one-pixel line, and + each with the `scaleMode` parameter set to + `LineScaleMode.VERTICAL`. The circle on the + left is scaled vertically only, and the circle on the + right is scaled both vertically and horizontally: + + * `LineScaleMode.HORIZONTAL` - Do not + scale the line thickness if the object is scaled + horizontally _only_. For example, consider the + following circles, drawn with a one-pixel line, and + each with the `scaleMode` parameter set to + `LineScaleMode.HORIZONTAL`. The circle on + the left is scaled horizontally only, and the circle + on the right is scaled both vertically and + horizontally: + + @param caps A value from the CapsStyle class that specifies the + type of caps at the end of lines. Valid values are: + `CapsStyle.NONE`, + `CapsStyle.ROUND`, and + `CapsStyle.SQUARE`. If a value is not + indicated, Flash uses round caps. + + For example, the following illustrations show the + different `capsStyle` settings. For each + setting, the illustration shows a blue line with a + thickness of 30(for which the `capsStyle` + applies), and a superimposed black line with a + thickness of 1(for which no `capsStyle` + applies): + @param joints A value from the JointStyle class that specifies the + type of joint appearance used at angles. Valid values + are: `JointStyle.BEVEL`, + `JointStyle.MITER`, and + `JointStyle.ROUND`. If a value is not + indicated, Flash uses round joints. + + For example, the following illustrations show the + different `joints` settings. For each + setting, the illustration shows an angled blue line + with a thickness of 30(for which the + `jointStyle` applies), and a superimposed + angled black line with a thickness of 1(for which no + `jointStyle` applies): + + **Note:** For `joints` set to + `JointStyle.MITER`, you can use the + `miterLimit` parameter to limit the length + of the miter. + + Defines a line style or stroke. + + Use a GraphicsStroke object with the + `Graphics.drawGraphicsData()` method. Drawing a GraphicsStroke + object is the equivalent of calling one of the methods of the Graphics + class that sets the line style, such as the + `Graphics.lineStyle()` method, the + `Graphics.lineBitmapStyle()` method, or the + `Graphics.lineGradientStyle()` method. + + + "tags=\"haxe,release\"" + + + + + + + + + + Specifies whether to render triangles that face in a given direction. + Used to prevent the rendering of triangles that cannot be seen in the + current view. + Can be set to any value defined by the TriangleCulling class. + + + + A Vector of integers or indexes, where every three indexes define a + triangle. If the indexes parameter is null then every three vertices + (six x,y pairs in the vertices Vector) defines a triangle. Otherwise + each index refers to a vertex, which is a pair of numbers in the + vertices Vector. For example `indexes[1]` refers to (`vertices[2]`, + `vertices[3]`). + + + + A Vector of normalized coordinates used to apply texture mapping. Each + coordinate refers to a point on the bitmap used for the fill. There + must be one UV or one UVT coordinate per vertex. + In UV coordinates, (0,0) is the upper left of the bitmap, and (1,1) is + the lower right of the bitmap. + + If the length of this vector is twice the length of the `vertices` + vector then normalized coordinates are used without perspective + correction. + + If the length of this vector is three times the length of the + `vertices` vector then the third coordinate is interpreted as 't', the + distance from the eye to the texture in eye space. This helps the + rendering engine correctly apply perspective when mapping textures in + 3D. + + + + A Vector of Numbers where each pair of numbers is treated as a point + (an x, y pair). + + <__graphicsDataType set="null"> + + + + + + + + + + + + { culling : NONE, uvtData : null, indices : null, vertices : null } + Creates a new GraphicsTrianglePath object. + + @param vertices A Vector of Numbers where each pair of numbers is treated as a point (an x, y pair). + Required. + @param indices A Vector of integers or indexes, where every three indexes define a triangle. + @param uvtData A Vector of normalized coordinates used to apply texture mapping. + @param culling Specifies whether to render triangles that face in a + given direction. Used to prevent the rendering of + triangles that cannot be seen in the current view. Can + be set to any value defined by the TriangleCulling + class. + + Defines an ordered set of triangles that can be rendered using either + (u,v) fill coordinates or a normal fill. Each triangle in the path is + represented by three sets of (x, y) coordinates, each of which is one + point of the triangle. + The triangle vertices do not contain z coordinates and do not necessarily + represent 3D faces. However a triangle path can be used to support the + rendering of 3D geometry in a 2D space. + + "tags=\"haxe,release\"" + + + + + + + + + + + + + + + Returns the number of tiles of this object. + + + + + + + Adds a Tile instance to this ITileContainer instance. The tile is + added to the front (top) of all other tiles in this ITileContainer + instance. (To add a tile to a specific index position, use the `addTileAt()` + method.) + + @param tile The Tile instance to add to this ITileContainer instance. + @return The Tile instance that you pass in the `tile` parameter. + + + + + + + + Adds a Tile instance to this ITileContainer instance. The tile is added + at the index position specified. An index of 0 represents the back (bottom) + of the rendered list for this ITileContainer object. + + For example, the following example shows three tiles, labeled + a, b, and c, at index positions 0, 2, and 1, respectively: + + ![b over c over a](/images/DisplayObjectContainer_layers.jpg) + + @param tile The Tile instance to add to this ITileContainer instance. + @param index The index position to which the tile is added. If you + specify a currently occupied index position, the tile object + that exists at that position and all higher positions are + moved up one position in the tile list. + @return The Tile instance that you pass in the `tile` parameter. + + + + + + + Adds an Array of Tile instances to this ITileContainer instance. The tiles + are added to the front (top) of all other tiles in this ITileContainer + instance. + + @param tiles The Tile instances to add to this ITileContainer instance. + @return The Tile Array that you pass in the `tiles` parameter. + + + + + + + Determines whether the specified tile is contained within the + ITileContainer instance. The search includes the entire tile list including + this ITileContainer instance. Grandchildren, great-grandchildren, and so on + each return `true`. + + @param tile The tile object to test. + @return `true` if the `tile` object is contained within the ITileContainer; + otherwise `false`. + + + + + + + Returns the tile instance that exists at the specified index. + + @param index The index position of the tile object. + @return The tile object at the specified index position. + + + + + + + Returns the index position of a contained Tile instance. + + @param child The Tile instance to identify. + @return The index position of the tile object to identify. + + + + + + + Removes the specified Tile instance from the tile list of the ITileContainer + instance. The index positions of any tile objects above the tile in the + ITileContainer are decreased by 1. + + @param tile The Tile instance to remove. + @return The Tile instance that you pass in the `tile` parameter. + + + + + + + Removes a Tile from the specified `index` position in the tile list of the + ITileContainer. The index positions of any tile objects above the tile in + the ITileContainer are decreased by 1. + + @param index The index of the Tile to remove. + @return The Tile instance that was removed. + + + + + + + + { endIndex : 0x7fffffff, beginIndex : 0 } + Removes all Tile instances from the tile list of the ITileContainer instance. + + @param beginIndex The beginning position. + @param endIndex The ending position. + + + + + + + + Changes the position of an existing tile in the tile container. + This affects the layering of tile objects. For example, the following + example shows three tile objects, labeled a, b, and c, at index + positions 0, 1, and 2, respectively: + + ![c over b over a](/images/DisplayObjectContainerSetChildIndex1.jpg) + + When you use the `setTileIndex()` method and specify an + index position that is already occupied, the only positions that change + are those in between the tile object's former and new position. All + others will stay the same. If a tile is moved to an index LOWER than its + current index, all tiles in between will INCREASE by 1 for their index + reference. If a tile is moved to an index HIGHER than its current index, + all tiles in between will DECREASE by 1 for their index reference. For + example, if the tile container in the previous example is named + `container`, you can swap the position of the tile objects + labeled a and b by calling the following code: + + ```haxe + container.setTileIndex(container.getTileAt(1), 0); + ``` + + This code results in the following arrangement of objects: + + ![c over a over b](/images/DisplayObjectContainerSetChildIndex2.jpg) + + @param tile The Tile instance for which you want to change the index + number. + @param index The resulting index number for the `tile` object. + + + + + + + + + + + Sorts the z-order (front-to-back order) of all the tile objects in this + container based on a comparison function. + + A comparison function should take two arguments to compare. Given the elements + A and B, the result of `compareFunction` can have a negative, 0, or positive value: + + * A negative return value specifies that A appears before B in the sorted sequence. + * A return value of 0 specifies that A and B have the same sort order. + * A positive return value specifies that A appears after B in the sorted sequence. + + The sort operation is not guaranteed to be stable, which means that the + order of equal elements may not be retained. + + @param compareFunction A comparison function to use when sorting. + + + + + + + + Swaps the z-order (front-to-back order) of the two specified tile + objects. All other tile objects in the tile container remain in + the same index positions. + + @param child1 The first tile object. + @param child2 The second tile object. + + + + + + + + Swaps the z-order (front-to-back order) of the tile objects at the two + specified index positions in the tile list. All other tile objects in + the tile container remain in the same index positions. + + @param index1 The index position of the first tile object. + @param index2 The index position of the second tile object. + + ITileContainer is an interface implemented by compatible tile container + objects, including the Tilemap and TileContainer classes. + + + + + + The InterpolationMethod class provides values for the + `interpolationMethod` parameter in the + `Graphics.beginGradientFill()` and + `Graphics.lineGradientStyle()` methods. This parameter + determines the RGB space to use when rendering the gradient. + + + + + + cast 0 + + + + Specifies that the RGB interpolation method should be used. This means + that the gradient is rendered with exponential sRGB(standard RGB) space. + The sRGB space is a W3C-endorsed standard that defines a non-linear + conversion between red, green, and blue component values and the actual + intensity of the visible component color. + + For example, consider a simple linear gradient between two colors(with + the `spreadMethod` parameter set to + `SpreadMethod.REFLECT`). The different interpolation methods + affect the appearance as follows: + + + + + cast 1 + + + + Specifies that the RGB interpolation method should be used. This means + that the gradient is rendered with exponential sRGB(standard RGB) space. + The sRGB space is a W3C-endorsed standard that defines a non-linear + conversion between red, green, and blue component values and the actual + intensity of the visible component color. + + For example, consider a simple linear gradient between two colors(with + the `spreadMethod` parameter set to + `SpreadMethod.REFLECT`). The different interpolation methods + affect the appearance as follows: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + Specifies that the RGB interpolation method should be used. This means + that the gradient is rendered with exponential sRGB(standard RGB) space. + The sRGB space is a W3C-endorsed standard that defines a non-linear + conversion between red, green, and blue component values and the actual + intensity of the visible component color. + + For example, consider a simple linear gradient between two colors(with + the `spreadMethod` parameter set to + `SpreadMethod.REFLECT`). The different interpolation methods + affect the appearance as follows: + + + + + cast 1 + + + + Specifies that the RGB interpolation method should be used. This means + that the gradient is rendered with exponential sRGB(standard RGB) space. + The sRGB space is a W3C-endorsed standard that defines a non-linear + conversion between red, green, and blue component values and the actual + intensity of the visible component color. + + For example, consider a simple linear gradient between two colors(with + the `spreadMethod` parameter set to + `SpreadMethod.REFLECT`). The different interpolation methods + affect the appearance as follows: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A value between 1 and 100, where 1 means the lowest quality and 100 means the + highest quality. The higher the value, the larger the size of the output of the + compression, and the smaller the compression ratio. + + + + + + + { quality : 80 } + Creates a JPEGEncoderOptions object with the specified setting. + + @param quality The initial quality value. + + The JPEGEncoderOptions class defines a compression algorithm for the + `openfl.display.BitmapData.encode()` method. + + + "tags=\"haxe,release\"" + + + + + + + + + The JointStyle class is an enumeration of constant values that specify the + joint style to use in drawing lines. These constants are provided for use + as values in the `joints` parameter of the + `openfl.display.Graphics.lineStyle()` method. The method supports + three types of joints: miter, round, and bevel, as the following example + shows: + + + + + + cast 0 + + + + Specifies beveled joints in the `joints` parameter of the + `openfl.display.Graphics.lineStyle()` method. + + + + + cast 1 + + + + Specifies mitered joints in the `joints` parameter of the + `openfl.display.Graphics.lineStyle()` method. + + + + + cast 2 + + + + Specifies round joints in the `joints` parameter of the + `openfl.display.Graphics.lineStyle()` method. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + Specifies beveled joints in the `joints` parameter of the + `openfl.display.Graphics.lineStyle()` method. + + + + + cast 1 + + + + Specifies mitered joints in the `joints` parameter of the + `openfl.display.Graphics.lineStyle()` method. + + + + + cast 2 + + + + Specifies round joints in the `joints` parameter of the + `openfl.display.Graphics.lineStyle()` method. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The LineScaleMode class provides values for the `scaleMode` + parameter in the `Graphics.lineStyle()` method. + + + + + + cast 0 + + + + With this setting used as the `scaleMode` parameter of the + `lineStyle()` method, the thickness of the line scales + _only_ vertically. For example, consider the following circles, drawn + with a one-pixel line, and each with the `scaleMode` parameter + set to `LineScaleMode.VERTICAL`. The circle on the left is + scaled only vertically, and the circle on the right is scaled both + vertically and horizontally. + + + + + cast 1 + + + + With this setting used as the `scaleMode` parameter of the + `lineStyle()` method, the thickness of the line never scales. + + + + + cast 2 + + + + With this setting used as the `scaleMode` parameter of the + `lineStyle()` method, the thickness of the line always scales + when the object is scaled(the default). + + + + + cast 3 + + + + With this setting used as the `scaleMode` parameter of the + `lineStyle()` method, the thickness of the line scales + _only_ horizontally. For example, consider the following circles, + drawn with a one-pixel line, and each with the `scaleMode` + parameter set to `LineScaleMode.HORIZONTAL`. The circle on the + left is scaled only horizontally, and the circle on the right is scaled + both vertically and horizontally. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + With this setting used as the `scaleMode` parameter of the + `lineStyle()` method, the thickness of the line scales + _only_ vertically. For example, consider the following circles, drawn + with a one-pixel line, and each with the `scaleMode` parameter + set to `LineScaleMode.VERTICAL`. The circle on the left is + scaled only vertically, and the circle on the right is scaled both + vertically and horizontally. + + + + + cast 1 + + + + With this setting used as the `scaleMode` parameter of the + `lineStyle()` method, the thickness of the line never scales. + + + + + cast 2 + + + + With this setting used as the `scaleMode` parameter of the + `lineStyle()` method, the thickness of the line always scales + when the object is scaled(the default). + + + + + cast 3 + + + + With this setting used as the `scaleMode` parameter of the + `lineStyle()` method, the thickness of the line scales + _only_ horizontally. For example, consider the following circles, + drawn with a one-pixel line, and each with the `scaleMode` + parameter set to `LineScaleMode.HORIZONTAL`. The circle on the + left is scaled only horizontally, and the circle on the right is scaled + both vertically and horizontally. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Contains the root display object of the SWF file or image(JPG, PNG, or + GIF) file that was loaded by using the `load()` or + `loadBytes()` methods. + + @throws SecurityError The loaded SWF file or image file belongs to a + security sandbox to which you do not have access. + For a loaded SWF file, you can avoid this situation + by having the file call the + `Security.allowDomain()` method or by + having the loading file specify a + `loaderContext` parameter with its + `securityDomain` property set to + `SecurityDomain.currentDomain` when you + call the `load()` or + `loadBytes()` method. + + + + Returns a LoaderInfo object corresponding to the object being loaded. + LoaderInfo objects are shared between the Loader object and the loaded + content object. The LoaderInfo object supplies loading progress + information and statistics about the loaded file. + + Events related to the load are dispatched by the LoaderInfo object + referenced by the `contentLoaderInfo` property of the Loader + object. The `contentLoaderInfo` property is set to a valid + LoaderInfo object, even before the content is loaded, so that you can add + event listeners to the object prior to the load. + + To detect uncaught errors that happen in a loaded SWF, use the + `Loader.uncaughtErrorEvents` property, not the + `Loader.contentLoaderInfo.uncaughtErrorEvents` property. + + + + An object that dispatches an uncaughtError event when an unhandled error occurs in + the SWF that's loaded by this Loader object. An uncaught error happens when an + error is thrown outside of any `try..catch` blocks or when an ErrorEvent object is + dispatched with no registered listeners. + + Note that a Loader object's `uncaughtErrorEvents` property dispatches events that + bubble through it, not events that it dispatches directly. It never dispatches an + `uncaughtErrorEvent` in the target phase. It only dispatches the event in the + capture and bubbling phases. To detect an uncaught error in the current SWF (the + SWF in which the Loader object is defined) use the `LoaderInfo.uncaughtErrorEvents` + property instead. + + If the content loaded by the Loader object is an AVM1 (ActionScript 2) SWF file, + uncaught errors in the AVM1 SWF file do not result in an `uncaughtError` event. + + <__library> + + + + <__path> + + + + <__unloaded> + + + + + + + + + + + + + + + Cancels a `load()` method operation that is currently in + progress for the Loader instance. + + + + + + + + { context : null } + Loads a SWF, JPEG, progressive JPEG, unanimated GIF, or PNG file into an + object that is a child of this Loader object. If you load an animated GIF + file, only the first frame is displayed. As the Loader object can contain + only a single child, issuing a subsequent `load()` request + terminates the previous request, if still pending, and commences a new + load. + + **Note**: In AIR 1.5 and Flash Player 10, the maximum size for a + loaded image is 8,191 pixels in width or height, and the total number of + pixels cannot exceed 16,777,215 pixels.(So, if an loaded image is 8,191 + pixels wide, it can only be 2,048 pixels high.) In Flash Player 9 and + earlier and AIR 1.1 and earlier, the limitation is 2,880 pixels in height + and 2,880 pixels in width. + + A SWF file or image loaded into a Loader object inherits the position, + rotation, and scale properties of the parent display objects of the Loader + object. + + Use the `unload()` method to remove movies or images loaded + with this method, or to cancel a load operation that is in progress. + + You can prevent a SWF file from using this method by setting the + `allowNetworking` parameter of the the `object` and + `embed` tags in the HTML page that contains the SWF + content. + + When you use this method, consider the Flash Player security model, + which is described in the Loader class description. + + In Flash Player 10 and later, if you use a multipart Content-Type(for + example "multipart/form-data") that contains an upload(indicated by a + "filename" parameter in a "content-disposition" header within the POST + body), the POST operation is subject to the security rules applied to + uploads: + + * The POST operation must be performed in response to a user-initiated + action, such as a mouse click or key press. + * If the POST operation is cross-domain(the POST target is not on the + same server as the SWF file that is sending the POST request), the target + server must provide a URL policy file that permits cross-domain + access. + + Also, for any multipart Content-Type, the syntax must be valid + (according to the RFC2046 standard). If the syntax appears to be invalid, + the POST operation is subject to the security rules applied to + uploads. + + For more information related to security, see the Flash Player + Developer Center Topic: [Security](http://www.adobe.com/go/devnet_security_en). + + @param request The absolute or relative URL of the SWF, JPEG, GIF, or PNG + file to be loaded. A relative path must be relative to the + main SWF file. Absolute URLs must include the protocol + reference, such as http:// or file:///. Filenames cannot + include disk drive specifications. + @param context A LoaderContext object, which has properties that define + the following: + + * Whether or not to check for the existence of a policy + file upon loading the object + * The ApplicationDomain for the loaded object + * The SecurityDomain for the loaded object + * The ImageDecodingPolicy for the loaded image + object + + If the `context` parameter is not specified + or refers to a null object, the loaded content remains in + its own security domain. + + For complete details, see the description of the + properties in the [LoaderContext](../system/LoaderContext.html) + class. + @throws IOError The `digest` property of the + `request` object is not + `null`. You should only set the + `digest` property of a URLRequest + object when calling the + `URLLoader.load()` method when + loading a SWZ file(an Adobe platform + component). + @throws IllegalOperationError If the `requestedContentParent` + property of the `context` + parameter is a `Loader`. + @throws IllegalOperationError If the `LoaderContext.parameters` + parameter is set to non-null and has some + values which are not Strings. + @throws SecurityError The value of + `LoaderContext.securityDomain` + must be either `null` or + `SecurityDomain.currentDomain`. + This reflects the fact that you can only + place the loaded media in its natural + security sandbox or your own(the latter + requires a policy file). + @throws SecurityError Local SWF files may not set + LoaderContext.securityDomain to anything + other than `null`. It is not + permitted to import non-local media into a + local sandbox, or to place other local media + in anything other than its natural sandbox. + @throws SecurityError You cannot connect to commonly reserved + ports. For a complete list of blocked ports, + see "Restricting Networking APIs" in the + _ActionScript 3.0 Developer's Guide_. + @throws SecurityError If the `applicationDomain` or + `securityDomain` properties of + the `context` parameter are from + a disallowed domain. + @throws SecurityError If a local SWF file is attempting to use the + `securityDomain` property of the + `context` parameter. + @event asyncError Dispatched by the `contentLoaderInfo` + object if the + `LoaderContext.requestedContentParent` + property has been specified and it is not possible to + add the loaded content as a child to the specified + DisplayObjectContainer. This could happen if the + loaded content is a + `openfl.display.AVM1Movie` or if the + `addChild()` call to the + requestedContentParent throws an error. + @event complete Dispatched by the `contentLoaderInfo` + object when the file has completed loading. The + `complete` event is always dispatched + after the `init` event. + @event httpStatus Dispatched by the `contentLoaderInfo` + object when a network request is made over HTTP and + Flash Player can detect the HTTP status code. + @event init Dispatched by the `contentLoaderInfo` + object when the properties and methods of the loaded + SWF file are accessible. The `init` event + always precedes the `complete` event. + @event ioError Dispatched by the `contentLoaderInfo` + object when an input or output error occurs that + causes a load operation to fail. + @event open Dispatched by the `contentLoaderInfo` + object when the loading operation starts. + @event progress Dispatched by the `contentLoaderInfo` + object as data is received while load operation + progresses. + @event securityError Dispatched by the `contentLoaderInfo` + object if a SWF file in the local-with-filesystem + sandbox attempts to load content in the + local-with-networking sandbox, or vice versa. + @event securityError Dispatched by the `contentLoaderInfo` + object if the + `LoaderContext.requestedContentParent` + property has been specified and the security sandbox + of the + `LoaderContext.requestedContentParent` + does not have access to the loaded SWF. + @event unload Dispatched by the `contentLoaderInfo` + object when a loaded object is removed. + + + + + + + + { context : null } + Loads from binary data stored in a ByteArray object. + + The `loadBytes()` method is asynchronous. You must wait for + the "init" event before accessing the properties of a loaded object. + + When you use this method, consider the Flash Player security model, + which is described in the Loader class description. + + @param bytes A ByteArray object. The contents of the ByteArray can be + any of the file formats supported by the Loader class: SWF, + GIF, JPEG, or PNG. + @param context A LoaderContext object. Only the + `applicationDomain` property of the + LoaderContext object applies; the + `checkPolicyFile` and + `securityDomain` properties of the LoaderContext + object do not apply. + + If the `context` parameter is not specified + or refers to a null object, the content is loaded into the + current security domain - a process referred to as "import + loading" in Flash Player security documentation. + Specifically, if the loading SWF file trusts the remote SWF + by incorporating the remote SWF into its code, then the + loading SWF can import it directly into its own security + domain. + + For more information related to security, see the Flash + Player Developer Center Topic: [Security](http://www.adobe.com/go/devnet_security_en). + @throws ArgumentError If the `length` property of the + ByteArray object is not greater than 0. + @throws IllegalOperationError If the `checkPolicyFile` or + `securityDomain` property of the + `context` parameter are non-null. + @throws IllegalOperationError If the `requestedContentParent` + property of the `context` + parameter is a `Loader`. + @throws IllegalOperationError If the `LoaderContext.parameters` + parameter is set to non-null and has some + values which are not Strings. + @throws SecurityError If the provided + `applicationDomain` property of + the `context` property is from a + disallowed domain. + @throws SecurityError You cannot connect to commonly reserved + ports. For a complete list of blocked ports, + see "Restricting Networking APIs" in the + _ActionScript 3.0 Developer's Guide_. + @event asyncError Dispatched by the `contentLoaderInfo` + object if the + `LoaderContext.requestedContentParent` + property has been specified and it is not possible to + add the loaded content as a child to the specified + DisplayObjectContainer. This could happen if the + loaded content is a + `openfl.display.AVM1Movie` or if the + `addChild()` call to the + requestedContentParent throws an error. + @event complete Dispatched by the `contentLoaderInfo` + object when the operation is complete. The + `complete` event is always dispatched + after the `init` event. + @event init Dispatched by the `contentLoaderInfo` + object when the properties and methods of the loaded + data are accessible. The `init` event + always precedes the `complete` event. + @event ioError Dispatched by the `contentLoaderInfo` + object when the runtime cannot parse the data in the + byte array. + @event open Dispatched by the `contentLoaderInfo` + object when the operation starts. + @event progress Dispatched by the `contentLoaderInfo` + object as data is transfered in memory. + @event securityError Dispatched by the `contentLoaderInfo` + object if the + `LoaderContext.requestedContentParent` + property has been specified and the security sandbox + of the + `LoaderContext.requestedContentParent` + does not have access to the loaded SWF. + @event unload Dispatched by the `contentLoaderInfo` + object when a loaded object is removed. + + + + + + + + + + + + + + + + + Removes a child of this Loader object that was loaded by using the + `load()` method. The `property` of the associated + LoaderInfo object is reset to `null`. The child is not + necessarily destroyed because other objects might have references to it; + however, it is no longer a child of the Loader object. + + As a best practice, before you unload a child SWF file, you should + explicitly close any streams in the child SWF file's objects, such as + LocalConnection, NetConnection, NetStream, and Sound objects. Otherwise, + audio in the child SWF file might continue to play, even though the child + SWF file was unloaded. To close streams in the child SWF file, add an + event listener to the child that listens for the `unload` + event. When the parent calls `Loader.unload()`, the + `unload` event is dispatched to the child. The following code + shows how you might do this: + + ``` + function closeAllStreams(evt:Event) { + myNetStream.close(); + mySound.close(); + myNetConnection.close(); + myLocalConnection.close(); + } + myMovieClip.loaderInfo.addEventListener(Event.UNLOAD, + closeAllStreams); + ``` + + + + + + + { gc : true } + Attempts to unload child SWF file contents and stops the execution of + commands from loaded SWF files. This method attempts to unload SWF files + that were loaded using `Loader.load()` or + `Loader.loadBytes()` by removing references to EventDispatcher, + NetConnection, Timer, Sound, or Video objects of the child SWF file. As a + result, the following occurs for the child SWF file and the child SWF + file's display list: + + * Sounds are stopped. + * Stage event listeners are removed. + * Event listeners for `enterFrame`, + `frameConstructed`, `exitFrame`, + `activate` and `deactivate` are removed. + * Timers are stopped. + * Camera and Microphone instances are detached + * Movie clips are stopped. + + @param gc Provides a hint to the garbage collector to run on the child SWF + objects(`true`) or not(`false`). If you + are unloading many objects asynchronously, setting the + `gc` paramter to `false` might improve + application performance. However, if the parameter is set to + `false`, media and display objects of the child SWF + file might persist in memory after running the + `unloadAndStop()` command. + + <__dispatchError set="method" line="702"> + + + + + + + <__setContent set="method" line="709"> + + + + + + + + + + + + + + + "checkstyle:Dynamic" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a Loader object that you can use to load files, such as SWF, JPEG, + GIF, or PNG files. Call the `load()` method to load the asset + as a child of the Loader instance. You can then add the Loader object to + the display list(for instance, by using the `addChild()` + method of a DisplayObjectContainer instance). The asset appears on the + Stage as it loads. + + You can also use a Loader instance "offlist," that is without adding it + to a display object container on the display list. In this mode, the + Loader instance might be used to load a SWF file that contains additional + modules of an application. + + To detect when the SWF file is finished loading, you can use the events + of the LoaderInfo object associated with the + `contentLoaderInfo` property of the Loader object. At that + point, the code in the module SWF file can be executed to initialize and + start the module. In the offlist mode, a Loader instance might also be + used to load a SWF file that contains components or media assets. Again, + you can use the LoaderInfo object event notifications to detect when the + components are finished loading. At that point, the application can start + using the components and media assets in the library of the SWF file by + instantiating the ActionScript 3.0 classes that represent those components + and assets. + + To determine the status of a Loader object, monitor the following + events that the LoaderInfo object associated with the + `contentLoaderInfo` property of the Loader object: + + * The `open` event is dispatched when loading begins. + * The `ioError` or `securityError` event is + dispatched if the file cannot be loaded or if an error occured during the + load process. + * The `progress` event fires continuously while the file is + being loaded. + * The `complete` event is dispatched when a file completes + downloading, but before the loaded movie clip's methods and properties are + available. + * The `init` event is dispatched after the properties and + methods of the loaded SWF file are accessible, so you can begin + manipulating the loaded SWF file. This event is dispatched before the + `complete` handler. In streaming SWF files, the + `init` event can occur significantly earlier than the + `complete` event. For most purposes, use the `init` + handler. + + The Loader class is used to load SWF files or image (JPG, PNG, or GIF) + files. Use the `load()` method to initiate loading. The loaded + display object is added as a child of the Loader object. + + Use the URLLoader class to load text or binary data. + + The Loader class overrides the following methods that it inherits, + because a Loader object can only have one child display object - the + display object that it loads. Calling the following methods throws an + exception: `addChild()`, `addChildAt()`, + `removeChild()`, `removeChildAt()`, and + `setChildIndex()`. To remove a loaded display object, you must + remove the _Loader_ object from its parent DisplayObjectContainer + child array. + + **Note:** The ActionScript 2.0 MovieClipLoader and LoadVars classes + are not used in ActionScript 3.0. The Loader and URLLoader classes replace + them. + + When you use the Loader class, consider the Flash Player and Adobe AIR + security model: + + * You can load content from any accessible source. + * Loading is not allowed if the calling SWF file is in a network + sandbox and the file to be loaded is local. + * If the loaded content is a SWF file written with ActionScript 3.0, it + cannot be cross-scripted by a SWF file in another security sandbox unless + that cross-scripting arrangement was approved through a call to the + `System.allowDomain()` or the + `System.allowInsecureDomain()` method in the loaded content + file. + * If the loaded content is an AVM1 SWF file(written using ActionScript + 1.0 or 2.0), it cannot be cross-scripted by an AVM2 SWF file(written using + ActionScript 3.0). However, you can communicate between the two SWF files + by using the LocalConnection class. + * If the loaded content is an image, its data cannot be accessed by a + SWF file outside of the security sandbox, unless the domain of that SWF + file was included in a URL policy file at the origin domain of the + image. + * Movie clips in the local-with-file-system sandbox cannot script movie + clips in the local-with-networking sandbox, and the reverse is also + prevented. + * You cannot connect to commonly reserved ports. For a complete list of + blocked ports, see "Restricting Networking APIs" in the _ActionScript 3.0 + Developer's Guide_. + + However, in AIR, content in the `application` security + sandbox(content installed with the AIR application) are not restricted by + these security limitations. + + For more information related to security, see the Flash Player Developer + Center Topic: [Security](http://www.adobe.com/go/devnet_security_en). + + When loading a SWF file from an untrusted source(such as a domain other + than that of the Loader object's root SWF file), you may want to define a + mask for the Loader object, to prevent the loaded content(which is a child + of the Loader object) from drawing to portions of the Stage outside of that + mask, as shown in the following code: + + + "tags=\"haxe,release\"" + + openfl.display.LoaderInfo + openfl.events.Event + + + + + <__rootURL expr="""" line="114" static="1"> + + + "" + + + + + + + + + + + hide + "checkstyle:FieldDocComment" + + + + + When an external SWF file is loaded, all ActionScript 3.0 definitions + contained in the loaded class are stored in the + `applicationDomain` property. + + All code in a SWF file is defined to exist in an application domain. + The current application domain is where your main application runs. The + system domain contains all application domains, including the current + domain and all classes used by Flash Player or Adobe AIR. + + All application domains, except the system domain, have an associated + parent domain. The parent domain of your main application's + `applicationDomain` is the system domain. Loaded classes are + defined only when their parent doesn't already define them. You cannot + override a loaded class definition with a newer definition. + + For usage examples of application domains, see the "Client System + Environment" chapter in the _ActionScript 3.0 Developer's Guide_. + + @throws SecurityError This security sandbox of the caller is not allowed + to access this ApplicationDomain. + + + + The bytes associated with a LoaderInfo object. + + @throws SecurityError If the object accessing this API is prevented from + accessing the loaded object due to security + restrictions. This situation can occur, for + instance, when a Loader object attempts to access + the `contentLoaderInfo.content` property + and it is not granted security permission to access + the loaded content. + + For more information related to security, see the + Flash Player Developer Center Topic: + [Security](http://www.adobe.com/go/devnet_security_en). + + + + The number of bytes that are loaded for the media. When this number equals + the value of `bytesTotal`, all of the bytes are loaded. + + + + The number of compressed bytes in the entire media file. + + Before the first `progress` event is dispatched by this + LoaderInfo object's corresponding Loader object, `bytesTotal` + is 0. After the first `progress` event from the Loader object, + `bytesTotal` reflects the actual number of bytes to be + downloaded. + + + + Expresses the trust relationship from content(child) to the Loader + (parent). If the child has allowed the parent access, `true`; + otherwise, `false`. This property is set to `true` + if the child object has called the `allowDomain()` method to + grant permission to the parent domain or if a URL policy is loaded at the + child domain that grants permission to the parent domain. If child and + parent are in the same domain, this property is set to `true`. + + For more information related to security, see the Flash Player + Developer Center Topic: [Security](http://www.adobe.com/go/devnet_security_en). + + @throws Error Thrown if the file is not downloaded sufficiently to + retrieve the requested information. + + + + The loaded object associated with this LoaderInfo object. + + @throws SecurityError If the object accessing this API is prevented from + accessing the loaded object due to security + restrictions. This situation can occur, for + instance, when a Loader object attempts to access + the `contentLoaderInfo.content` property + and it is not granted security permission to access + the loaded content. + + For more information related to security, see the + Flash Player Developer Center Topic: + [Security](http://www.adobe.com/go/devnet_security_en). + + + + The MIME type of the loaded file. The value is `null` if not + enough of the file has loaded in order to determine the type. The + following list gives the possible values: + + * `"application/x-shockwave-flash"` + * `"image/jpeg"` + * `"image/gif"` + * `"image/png"` + + + + The nominal frame rate, in frames per second, of the loaded SWF file. This + number is often an integer, but need not be. + + This value may differ from the actual frame rate in use. Flash Player + or Adobe AIR only uses a single frame rate for all loaded SWF files at any + one time, and this frame rate is determined by the nominal frame rate of + the main SWF file. Also, the main frame rate may not be able to be + achieved, depending on hardware, sound synchronization, and other + factors. + + @throws Error If the file is not downloaded sufficiently to retrieve the + requested information. + @throws Error If the file is not a SWF file. + + + + The nominal height of the loaded file. This value might differ from the + actual height at which the content is displayed, since the loaded content + or its parent display objects might be scaled. + + @throws Error If the file is not downloaded sufficiently to retrieve the + requested information. + + + + The Loader object associated with this LoaderInfo object. If this + LoaderInfo object is the `loaderInfo` property of the instance + of the main class of the SWF file, no Loader object is associated. + + @throws SecurityError If the object accessing this API is prevented from + accessing the Loader object because of security + restrictions. This can occur, for instance, when a + loaded SWF file attempts to access its + `loaderInfo.loader` property and it is + not granted security permission to access the + loading SWF file. + + For more information related to security, see the + Flash Player Developer Center Topic: + [Security](http://www.adobe.com/go/devnet_security_en). + + + + The URL of the SWF file that initiated the loading of the media described + by this LoaderInfo object. For the instance of the main class of the SWF + file, this URL is the same as the SWF file's own URL. + + + + "checkstyle:Dynamic" + An object that contains name-value pairs that represent the parameters + provided to the loaded SWF file. + + You can use a `for-in` loop to extract all the names and + values from the `parameters` object. + + The two sources of parameters are: the query string in the URL of the + main SWF file, and the value of the `FlashVars` HTML parameter + (this affects only the main SWF file). + + The `parameters` property replaces the ActionScript 1.0 and + 2.0 technique of providing SWF file parameters as properties of the main + timeline. + + The value of the `parameters` property is null for Loader + objects that contain SWF files that use ActionScript 1.0 or 2.0. It is + only non-null for Loader objects that contain SWF files that use + ActionScript 3.0. + + + + Expresses the trust relationship from Loader(parent) to the content + (child). If the parent has allowed the child access, `true`; + otherwise, `false`. This property is set to `true` + if the parent object called the `allowDomain()` method to grant + permission to the child domain or if a URL policy file is loaded at the + parent domain granting permission to the child domain. If child and parent + are in the same domain, this property is set to `true`. + + For more information related to security, see the Flash Player + Developer Center Topic: [Security](http://www.adobe.com/go/devnet_security_en). + + @throws Error Thrown if the file is not downloaded sufficiently to + retrieve the requested information. + + + + Expresses the domain relationship between the loader and the content: + `true` if they have the same origin domain; `false` + otherwise. + + @throws Error Thrown if the file is not downloaded sufficiently to + retrieve the requested information. + + + + An EventDispatcher instance that can be used to exchange events across + security boundaries. Even when the Loader object and the loaded content + originate from security domains that do not trust one another, both can + access `sharedEvents` and send and receive events via this + object. + + + + An object that dispatches an `uncaughtError` event when an + unhandled error occurs in code in this LoaderInfo object's SWF file. An + uncaught error happens when an error is thrown outside of any + `try..catch` blocks or when an ErrorEvent object is dispatched + with no registered listeners. + + This property is created when the SWF associated with this LoaderInfo + has finished loading. Until then the `uncaughtErrorEvents` + property is `null`. In an ActionScript-only project, you can + access this property during or after the execution of the constructor + function of the main class of the SWF file. For a Flex project, the + `uncaughtErrorEvents` property is available after the + `applicationComplete` event is dispatched. + + + + The URL of the media being loaded. + + Before the first `progress` event is dispatched by this + LoaderInfo object's corresponding Loader object, the value of the + `url` property might reflect only the initial URL specified in + the call to the `load()` method of the Loader object. After the + first `progress` event, the `url` property reflects + the media's final URL, after any redirects and relative URLs are + resolved. + + In some cases, the value of the `url` property is truncated; + see the `isURLInaccessible` property for details. + + + + The nominal width of the loaded content. This value might differ from the + actual width at which the content is displayed, since the loaded content + or its parent display objects might be scaled. + + @throws Error If the file is not downloaded sufficiently to retrieve the + requested information. + + <__completed> + + + + <__complete set="method" line="419"> + + + + <__update set="method" line="435"> + + + + + + + + + + + + The LoaderInfo class provides information about a loaded SWF file or a + loaded image file(JPEG, GIF, or PNG). LoaderInfo objects are available for + any display object. The information provided includes load progress, the + URLs of the loader and loaded content, the number of bytes total for the + media, and the nominal height and width of the media. + + You can access LoaderInfo objects in two ways: + + * The `contentLoaderInfo` property of a openfl.display.Loader + object - The `contentLoaderInfo` property is always available + for any Loader object. For a Loader object that has not called the + `load()` or `loadBytes()` method, or that has not + sufficiently loaded, attempting to access many of the properties of the + `contentLoaderInfo` property throws an error. + * The `loaderInfo` property of a display object. + + The `contentLoaderInfo` property of a Loader object provides + information about the content that the Loader object is loading, whereas + the `loaderInfo` property of a DisplayObject provides + information about the root SWF file for that display object. + + When you use a Loader object to load a display object(such as a SWF + file or a bitmap), the `loaderInfo` property of the display + object is the same as the `contentLoaderInfo` property of the + Loader object(`DisplayObject.loaderInfo = + Loader.contentLoaderInfo`). Because the instance of the main class of + the SWF file has no Loader object, the `loaderInfo` property is + the only way to access the LoaderInfo for the instance of the main class of + the SWF file. + + The following diagram shows the different uses of the LoaderInfo + object - for the instance of the main class of the SWF file, for the + `contentLoaderInfo` property of a Loader object, and for the + `loaderInfo` property of a loaded object: + + When a loading operation is not complete, some properties of the + `contentLoaderInfo` property of a Loader object are not + available. You can obtain some properties, such as + `bytesLoaded`, `bytesTotal`, `url`, + `loaderURL`, and `applicationDomain`. When the + `loaderInfo` object dispatches the `init` event, you + can access all properties of the `loaderInfo` object and the + loaded image or SWF file. + + **Note:** All properties of LoaderInfo objects are read-only. + + The `EventDispatcher.dispatchEvent()` method is not + applicable to LoaderInfo objects. If you call `dispatchEvent()` + on a LoaderInfo object, an IllegalOperationError exception is thrown. + + @event complete Dispatched when data has loaded successfully. In other + words, it is dispatched when all the content has been + downloaded and the loading has finished. The + `complete` event is always dispatched after + the `init` event. The `init` event + is dispatched when the object is ready to access, though + the content may still be downloading. + @event httpStatus Dispatched when a network request is made over HTTP and + an HTTP status code can be detected. + @event init Dispatched when the properties and methods of a loaded + SWF file are accessible and ready for use. The content, + however, can still be downloading. A LoaderInfo object + dispatches the `init` event when the following + conditions exist: + + * All properties and methods associated with the + loaded object and those associated with the LoaderInfo + object are accessible. + * The constructors for all child objects have + completed. + * All ActionScript code in the first frame of the + loaded SWF's main timeline has been executed. + + For example, an `Event.INIT` is dispatched + when the first frame of a movie or animation is loaded. + The movie is then accessible and can be added to the + display list. The complete movie, however, can take + longer to download. The `Event.COMPLETE` is + only dispatched once the full movie is loaded. + + The `init` event always precedes the + `complete` event. + @event ioError Dispatched when an input or output error occurs that + causes a load operation to fail. + @event open Dispatched when a load operation starts. + @event progress Dispatched when data is received as the download + operation progresses. + @event unload Dispatched by a LoaderInfo object whenever a loaded + object is removed by using the `unload()` + method of the Loader object, or when a second load is + performed by the same Loader object and the original + content is removed prior to the load beginning. + + + "tags=\"haxe,release\"" + + + + + + <__constructor static="1"> + + + + + + + + + + + + + Specifies the number of the frame in which the playhead is located in the + timeline of the MovieClip instance. If the movie clip has multiple scenes, + this value is the frame number in the current scene. + + + + The label at the current frame in the timeline of the MovieClip instance. + If the current frame has no label, `currentLabel` is + `null`. + + + + The current label in which the playhead is located in the timeline of the + MovieClip instance. If the current frame has no label, + `currentLabel` is set to the name of the previous frame that + includes a label. If the current frame and previous frames do not include + a label, `currentLabel` returns `null`. + + + + Returns an array of FrameLabel objects from the current scene. If the + MovieClip instance does not use scenes, the array includes all frame + labels from the entire MovieClip instance. + + + + + A Boolean value that indicates whether a movie clip is enabled. The + default value of `enabled` is `true`. If + `enabled` is set to `false`, the movie clip's Over, + Down, and Up frames are disabled. The movie clip continues to receive + events(for example, `mouseDown`, `mouseUp`, + `keyDown`, and `keyUp`). + + The `enabled` property governs only the button-like + properties of a movie clip. You can change the `enabled` + property at any time; the modified movie clip is immediately enabled or + disabled. If `enabled` is set to `false`, the object + is not included in automatic tab ordering. + + + + The number of frames that are loaded from a streaming SWF file. You can + use the `framesLoaded` property to determine whether the + contents of a specific frame and all the frames before it loaded and are + available locally in the browser. You can also use it to monitor the + downloading of large SWF files. For example, you might want to display a + message to users indicating that the SWF file is loading until a specified + frame in the SWF file finishes loading. + + If the movie clip contains multiple scenes, the + `framesLoaded` property returns the number of frames loaded for + _all_ scenes in the movie clip. + + + + + + The total number of frames in the MovieClip instance. + + If the movie clip contains multiple frames, the + `totalFrames` property returns the total number of frames in + _all_ scenes in the movie clip. + + <__enabled> + + + + <__hasDown> + + + + <__hasOver> + + + + <__hasUp> + + + + <__mouseIsDown> + + + + <__scene> + + + + <__timeline> + + + + + + + + + + + + + + + + + + + { scene : null } + Starts playing the SWF file at the specified frame. This happens after all + remaining actions in the frame have finished executing. To specify a scene + as well as a frame, specify a value for the `scene` parameter. + + @param frame A number representing the frame number, or a string + representing the label of the frame, to which the playhead is + sent. If you specify a number, it is relative to the scene + you specify. If you do not specify a scene, the current scene + determines the global frame number to play. If you do specify + a scene, the playhead jumps to the frame number in the + specified scene. + @param scene The name of the scene to play. This parameter is optional. + + + + + + + + { scene : null } + Brings the playhead to the specified frame of the movie clip and stops it + there. This happens after all remaining actions in the frame have finished + executing. If you want to specify a scene in addition to a frame, specify + a `scene` parameter. + + @param frame A number representing the frame number, or a string + representing the label of the frame, to which the playhead is + sent. If you specify a number, it is relative to the scene + you specify. If you do not specify a scene, the current scene + determines the global frame number at which to go to and + stop. If you do specify a scene, the playhead goes to the + frame number in the specified scene and stops. + @param scene The name of the scene. This parameter is optional. + @throws ArgumentError If the `scene` or `frame` + specified are not found in this movie clip. + + + + Sends the playhead to the next frame and stops it. This happens after all + remaining actions in the frame have finished executing. + + + + + Moves the playhead in the timeline of the movie clip. + + + + Sends the playhead to the previous frame and stops it. This happens after + all remaining actions in the frame have finished executing. + + + + + Stops the playhead in the movie clip. + + <__enterFrame set="method" line="313" override="1"> + + + + + + + <__stopAllMovieClips set="method" line="326" override="1"> + + + + <__tabTest set="method" line="332" override="1"> + + + + + + + <__onMouseDown set="method" line="339"> + + + + + + + <__onMouseUp set="method" line="354"> + + + + + + + <__onRollOut set="method" line="378"> + + + + + + + <__onRollOver set="method" line="392"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new MovieClip instance. After creating the MovieClip, call the + `addChild()` or `addChildAt()` method of a display + object container that is onstage. + + The MovieClip class inherits from the following classes: Sprite, + DisplayObjectContainer, InteractiveObject, DisplayObject, and + EventDispatcher. + + Unlike the Sprite object, a MovieClip object has a timeline. + + In Flash Professional, the methods for the MovieClip class provide the + same functionality as actions that target movie clips. Some additional + methods do not have equivalent actions in the Actions toolbox in the + Actions panel in the Flash authoring tool. + + Children instances placed on the Stage in Flash Professional cannot be + accessed by code from within the constructor of a parent instance since + they have not been created at that point in code execution. Before + accessing the child, the parent must instead either create the child + instance by code or delay access to a callback function that listens for + the child to dispatch its `Event.ADDED_TO_STAGE` event. + + If you modify any of the following properties of a MovieClip object that + contains a motion tween, the playhead is stopped in that MovieClip object: + `alpha`, `blendMode`, `filters`, + `height`, `opaqueBackground`, `rotation`, + `scaleX`, `scaleY`, `scale9Grid`, + `scrollRect`, `transform`, `visible`, + `width`, `x`, or `y`. However, it does not + stop the playhead in any child MovieClip objects of that MovieClip + object. + + **Note:**Flash Lite 4 supports the MovieClip.opaqueBackground + property only if FEATURE_BITMAPCACHE is defined. The default configuration + of Flash Lite 4 does not define FEATURE_BITMAPCACHE. To enable the + MovieClip.opaqueBackground property for a suitable device, define + FEATURE_BITMAPCACHE in your project. + + + "tags=\"haxe,release\"" + + openfl.display.Timeline + openfl.geom.ColorTransform + + + + + <__alphaValue expr="[1]" line="57" static="1"> + + + [1] + + + + <__colorMultipliersValue expr="[0, 0, 0, 0]" line="58" static="1"> + + + [0, 0, 0, 0] + + + + <__colorOffsetsValue expr="[0, 0, 0, 0]" line="59" static="1"> + + + [0, 0, 0, 0] + + + + <__defaultColorMultipliersValue expr="[1, 1, 1, 1]" line="60" static="1"> + + + [1, 1, 1, 1] + + + + <__emptyColorValue expr="[0, 0, 0, 0]" line="61" static="1"> + + + [0, 0, 0, 0] + + + + <__emptyAlphaValue expr="[1]" line="62" static="1"> + + + [1] + + + + <__hasColorTransformValue expr="[false]" line="63" static="1"> + + + [false] + + + + <__scissorRectangle expr="new Rectangle()" line="64" static="1"> + + + new Rectangle() + + + + <__textureSizeValue expr="[0, 0]" line="65" static="1"> + + + [0, 0] + + + + + + "checkstyle:Dynamic" + The current OpenGL render context + + <__context3D> + + + + <__clipRects> + + + + <__currentDisplayShader> + + + + <__currentGraphicsShader> + + + + <__currentRenderTarget> + + + + <__currentShader> + + + + <__currentShaderBuffer> + + + + <__defaultDisplayShader> + + + + <__defaultGraphicsShader> + + + + <__defaultRenderTarget> + + + + <__defaultShader> + + + + <__displayHeight> + + + + <__displayWidth> + + + + <__flipped> + + + + <__gl> + + + "checkstyle:Dynamic" + + + + <__height> + + + + <__maskShader> + + + + <__matrix> + + + "checkstyle:Dynamic" + + + + <__maskObjects> + + + + <__numClipRects> + + + + <__offsetX> + + + + <__offsetY> + + + + <__projection> + + + "checkstyle:Dynamic" + + + + <__projectionFlipped> + + + "checkstyle:Dynamic" + + + + <__scrollRectMasks> + + + + <__softwareRenderer> + + + + <__stencilReference> + + + + <__tempRect> + + + + <__updatedStencil> + + + + <__upscaled> + + + + <__values> + + + + <__width> + + + + + + + + + Applies an alpha value to the active shader, if compatible with OpenFL core shaders + + + + + + + + + { repeat : false } + Binds a BitmapData object as the first active texture of the current active shader, + if compatible with OpenFL core shaders + + + + + + + Applies a color transform value to the active shader, if compatible with OpenFL + core shaders + + + + + + + Applies the "has color transform" uniform value for the active shader, if + compatible with OpenFL core shaders + + + + + + + Applies render matrix to the active shader, if compatible with OpenFL core shaders + + + + + + + "checkstyle:Dynamic" + Converts an OpenFL two-dimensional matrix to a compatible 3D matrix for use with + OpenGL rendering. Repeated calls to this method will return the same object with + new values, so it will need to be cloned if the result must be cached + + + + + + + Sets the current active shader, which automatically unbinds the previous shader + if it was bound using an OpenFL Shader object + + + + Updates the current OpenGL viewport using the current OpenFL stage coordinates + + + + Updates the current active shader with cached alpha, color transform, + bitmap data and other uniform or attribute values. This should be called in advance + of rendering + + + + Updates the active shader to expect an alpha array, if the current shader + is compatible with OpenFL core shaders + + + + Updates the active shader to expect a color transform array, if the current shader + is compatible with OpenFL core shaders + + <__cleanup set="method" line="432"> + + + + <__clear set="method" line="448" override="1"> + + + + <__clearShader set="method" line="462"> + + + + <__copyShader set="method" line="484"> + + + + + + + <__getMatrix set="method" line="494"> + + + + + + + + <__initShader set="method" line="530"> + + + + + + + <__initDisplayShader set="method" line="549"> + + + + + + + <__initGraphicsShader set="method" line="568"> + + + + + + + <__initShaderBuffer set="method" line="587"> + + + + + + + <__popMask set="method" line="597" override="1"> + + + + <__popMaskObject set="method" line="624" override="1"> + + + + + + + { handleScrollRect : true } + + + + <__popMaskRect set="method" line="645" override="1"> + + + + <__pushMask set="method" line="662" override="1"> + + + + + + + <__pushMaskObject set="method" line="683" override="1"> + + + + + + + { handleScrollRect : true } + + + + <__pushMaskRect set="method" line="708" override="1"> + + + + + + + + <__render set="method" line="746" override="1"> + + + + + + + <__renderDrawable set="method" line="842"> + + + + + + + <__renderDrawableMask set="method" line="868"> + + + + + + + <__renderFilterPass set="method" line="894"> + + + + + + + + + { clear : true } + + + + <__resize set="method" line="937" override="1"> + + + + + + + + <__resumeClipAndMask set="method" line="954"> + + + + + + + <__scissorRect set="method" line="977"> + + + + + + { clipRect : null } + + + + <__setBlendMode set="method" line="999" override="1"> + + + + + + + <__setRenderTarget set="method" line="1036"> + + + + + + + <__setShaderBuffer set="method" line="1047"> + + + + + + + <__suspendClipAndMask set="method" line="1053"> + + + + <__updateShaderBuffer set="method" line="1067"> + + + + + + + + + + + + + + { defaultRenderTarget : null } + + + + **BETA** + + The OpenGLRenderer API exposes support for OpenGL render instructions within the + `RenderEvent.RENDER_OPENGL` event. + + + "tags=\"haxe,release\"" + + lime.graphics.GLRenderContext + openfl.display._internal.ShaderBuffer + openfl.display3D.Context3D + openfl.display.BitmapData + openfl.display.DisplayObject + openfl.display.Graphics + openfl.display.IBitmapDrawable + openfl.display.Shader + openfl.display.ShaderParameter + openfl.display.Stage3D + openfl.geom.ColorTransform + openfl.geom.Matrix + openfl.geom.Rectangle + openfl.display._internal + openfl.display3D.textures + openfl.display3D + openfl.display + openfl.text + + + + + + Chooses compression speed over file size. Setting this property to true improves + compression speed but creates larger files. + + + + + + + { fastCompression : false } + Creates a PNGEncoderOptions object, optionally specifying compression settings. + + @param fastCompression The initial compression mode. + + The PNGEncoderOptions class defines a compression algorithm for the + `openfl.display.BitmapData.encode()` method. + + + "tags=\"haxe,release\"" + + + + + + + + + The PixelSnapping class is an enumeration of constant values for setting + the pixel snapping options by using the `pixelSnapping` property + of a Bitmap object. + + + + + + cast 0 + + + + A constant value used in the `pixelSnapping` property of a + Bitmap object to specify that the bitmap image is always snapped to the + nearest pixel, independent of any transformation. + + + + + cast 1 + + + + A constant value used in the `pixelSnapping` property of a + Bitmap object to specify that the bitmap image is snapped to the nearest + pixel if it is drawn with no rotation or skew and it is drawn at a scale + factor of 99.9% to 100.1%. If these conditions are satisfied, the image is + drawn at 100% scale, snapped to the nearest pixel. Internally, this + setting allows the image to be drawn as fast as possible by using the + vector renderer. + + + + + cast 2 + + + + A constant value used in the `pixelSnapping` property of a + Bitmap object to specify that no pixel snapping occurs. + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + A constant value used in the `pixelSnapping` property of a + Bitmap object to specify that the bitmap image is always snapped to the + nearest pixel, independent of any transformation. + + + + + cast 1 + + + + A constant value used in the `pixelSnapping` property of a + Bitmap object to specify that the bitmap image is snapped to the nearest + pixel if it is drawn with no rotation or skew and it is drawn at a scale + factor of 99.9% to 100.1%. If these conditions are satisfied, the image is + drawn at 100% scale, snapped to the nearest pixel. Internally, this + setting allows the image to be drawn as fast as possible by using the + vector renderer. + + + + + cast 2 + + + + A constant value used in the `pixelSnapping` property of a + Bitmap object to specify that no pixel snapping occurs. + + + + + + + + + + + + + + + + + + + + + + ()]]> + "checkstyle:Dynamic" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { display : null } + + The Preloader class is a Lime Preloader instance that uses an OpenFL + display object to display loading progress. + + + "tags=\"haxe,release\"" + + openfl.display.LoaderInfo + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "checkstyle:FieldDocComment" + hide + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + + + + + + + + + + kernel DoNothing + < + namespace: "Adobe::Example"; + vendor: "Adobe examples"; + version: 1; + description: "A shader that does nothing, but does it well."; + > + { + input image4 src; + + output pixel4 dst; + + parameter float2 size + < + description: "The size of the image to which the kernel is applied"; + minValue: float2(0.0, 0.0); + maxValue: float2(100.0, 100.0); + defaultValue: float2(50.0, 50.0); + >; + + parameter float radius + < + description: "The radius of the effect"; + minValue: 0.0; + maxValue: 50.0; + defaultValue: 25.0; + >; + + void evaluatePixel() + { + float2 one = (radius / radius) ∗ (size / size); + dst = sampleNearest(src, outCoord()); + } + } + ``` + + If you create a Shader instance by loading the byte code for this shader, + the ShaderData instance in its `data` property contains these properties: + + | Property | Data type | Value | + | --- | --- | --- | + | name | `String` | "DoNothing" | + | nameSpace | `String` | "Adobe::Example" | + | version | `String` | "1" | + | description | `String` | "A shader that does nothing, but does it well." | + | src | `ShaderInput` | _[A ShaderInput instance]_ | + | size | `ShaderParameter` | _[A ShaderParameter instance, with properties for the parameter metadata]_ | + | radius | `ShaderParameter` | _[A ShaderParameter instance, with properties for the parameter metadata]_ | + + Note that any input image or parameter that is defined in the shader + source code but not used in the shader's `evaluatePixel()` function is + removed when the shader is compiled to byte code. In that case, there is + no corresponding ShaderInput or ShaderParameter instance added as a + property of the ShaderData instance. + + Generally, developer code does not create a ShaderData instance. A + ShaderData instance containing data, parameters, and inputs for a shader + is available as the Shader instance's `data` property.]]> + + "tags=\"haxe,release\"" + + + "checkstyle:Dynamic" + + + <_new public="1" set="method" line="103" static="1"> + + + + + + Creates a ShaderData instance. Generally, developer code does not call + the ShaderData constructor directly. A ShaderData instance containing + data, parameters, and inputs for a Shader instance is accessed using + its `data` property. + + @param byteCode The shader's byte code. + + + + + + <_new public="1" set="method" line="103" static="1"> + + + + + + Creates a ShaderData instance. Generally, developer code does not call + the ShaderData constructor directly. A ShaderData instance containing + data, parameters, and inputs for a Shader instance is accessed using + its `data` property. + + @param byteCode The shader's byte code. + + + + + + + + instance.]]> + + + + The texture filter to use when binding this shader input. + + This property is not available when targeting Flash. + + + + instance. When the input + is a BitmapData instance the height is automatically determined.]]> + + + + "checkstyle:Dynamic" + The zero-based index of the input in the shader, indicating the order + of the input definitions in the shader. + + + + instance. + If a ByteArray value is assigned to the `input` property, the + following conditions must be met: + + * The `height` and `width` properties must be set. + * The byte array's contents must only consist of 32-bit floating-point + values. These values can be written using the `ByteArray.writeFloat()` + method. + * The total length in bytes of the ByteArray must be exactly `width` + times `height` times `channels` times 4. + * The byte array's `endian` property must be `Endian.LITTLE_ENDIAN`. + + If a Vector. instance is assigned to the `input` property, the + length of the Vector must be equal to `width` times `height` times + `channels`.]]> + + + + The mip filter to use when binding this shader input. + + This property is not available when targeting Flash. + + + + + + hide + "checkstyle:FieldDocComment" + + + + + instance. When the input + is a BitmapData instance the width is automatically determined.]]> + + + + The wrap mode to use when binding this shader input. + + This property is not available when targeting Flash. + + <__isUniform> + + + + <__disableGL set="method" line="152"> + + + + + + + + <__updateGL set="method" line="159"> + + + + + + + + + + + { overrideWrap : null, overrideMipFilter : null, overrideFilter : null, overrideInput : null } + + + + + + Creates a ShaderInput instance. Developer code does not call the + ShaderInput constructor directly. A ShaderInput instance is created + for each of a shader's inputs when the Shader instance is created. + + instance containing the image data and + assign it to the `input` property. + The ShaderInput instance representing a Shader instance's input image is + accessed as a property of the Shader instance's `data` property. The + ShaderInput property has the same name as the input's name in the shader + code. For example, if a shader defines an input named `src`, the + ShaderInput instance representing the `src` input is available as the + `src` property, as this example shows: + + ```haxe + myShader.data.src.input = new BitmapData(50, 50, true, 0xFF990000); + ``` + + For some uses of a Shader instance, you do not need to specify an input + image, because it is automatically specified by the operation. You only + need to specify an input when a Shader is used for the following: + + * Shader fill + * ShaderFilter, only for the second or additional inputs if the shader is + defined to use more than one input. (The object to which the filter is + applied is automatically used as the first input.) + * Shader blend mode, only for the third or additional inputs if the shader + is defined to use more than two inputs. (The objects being blended are + automatically used as the first and second inputs.) + * ShaderJob background execution + + If the shader is being executed using a ShaderJob instance to process a + ByteArray containing a linear array of data, set the ShaderInput + instance's `height` to 1 and `width` to the number of 32-bit floating + point values in the ByteArray. In that case, the input in the shader must + be defined with the `image1` data type. + + Generally, developer code does not create a ShaderInput instance directly. + A ShaderInput instance is created for each of a shader's inputs when the + Shader instance is created.]]> + + openfl.display3D.Context3D + "tags=\"haxe,release\"" + + + + + + + + + "checkstyle:Dynamic" + The zero-based index of the parameter. + + + + + + hide + "checkstyle:FieldDocComment" + + + + + The data type of the parameter as defined in the shader. The set of + possible values for the `type` property is defined by the constants in + the ShaderParameterType class. + + + + The value or values that are passed in as the parameter value to the + shader. The `value` property is an indexed Array. The number and type + of the elements of the Array correspond to the data type of the + parameter, which can be determined using the `type` property. + The following table indicates the parameter type and corresponding + number and data type of the `value` Array's elements: + + | Parameter type | # Elements | Element data type | + | --- | --- | --- | + | float (`ShaderParameterType.FLOAT`) | 1 | Number | + | float2 (`ShaderParameterType.FLOAT2`) | 2 | Number | + | float3 (`ShaderParameterType.FLOAT3`) | 3 | Number | + | float4 (`ShaderParameterType.FLOAT4`) | 4 | Number | + | int (`ShaderParameterType.INT`) | 1 | int or uint | + | int2 (`ShaderParameterType.INT2`) | 2 | int or uint | + | int3 (`ShaderParameterType.INT3`) | 3 | int or uint | + | int4 (`ShaderParameterType.INT4`) | 4 | int or uint | + | bool (`ShaderParameterType.BOOL`) | 1 | Boolean | + | bool2 (`ShaderParameterType.BOOL2`) | 2 | Boolean | + | bool3 (`ShaderParameterType.BOOL3`) | 3 | Boolean | + | bool4 (`ShaderParameterType.BOOL4`) | 4 | Boolean | + | float2x2 (`ShaderParameterType.MATRIX2X2`) | 4 | Number | + | float3x3 (`ShaderParameterType.MATRIX3X3`) | 9 | Number | + | float4x4 (`ShaderParameterType.MATRIX4X4`) | 16 | Number | + + For the matrix parameter types, the array elements fill the rows of + the matrix, then the columns. For example, suppose the following line + of ActionScript is used to fill a `float2x2` parameter named + `myMatrix`: + + ```haxe + myShader.data.myMatrix.value = [.1, .2, .3, .4]; + ``` + + Within the shader, the matrix elements have the following values: + + * `myMatrix[0][0]`: .1 + * `myMatrix[0][1]`: .2 + * `myMatrix[1][0]`: .3 + * `myMatrix[1][1]`: .4 + + <__arrayLength> + + + + <__internal> + + + + <__isBool> + + + + <__isFloat> + + + + <__isInt> + + + + <__isUniform> + + + + <__length> + + + + <__uniformMatrix> + + + + <__useArray> + + + + <__disableGL set="method" line="172"> + + + + + + + <__updateGL set="method" line="185"> + + + + + + + { overrideValue : null } + + + + <__updateGLFromBuffer set="method" line="419"> + + + + + + + + + + + + + + + + + + + ; + + parameter float radius + < + description: "The radius of the effect"; + minValue: 0.0; + maxValue: 50.0; + defaultValue: 25.0; + >; + ``` + + The ShaderParameter instance corresponding to the `size` parameter has the + following metadata properties in addition to its built-in properties: + + | Property name | Data type | Value | + | --- | --- | --- | + | `name` | String | `"size"` | + | `description` | String | `"The size of the image to which the kernel is applied"` | + | `minValue` | Array | `[0, 0]` | + | `maxValue` | Array | `[100, 100]` | + | `defaultValue` | Array | `[50, 50]` | + + The ShaderParameter corresponding to the `radius` parameter has the + following additional properties: + + | Property name | Data type | Value | + | --- | --- | --- | + | `name` | String | `"radius"` | + | `description` | String | `"The radius of the effect"` | + | `minValue` | Array | `[0]` | + | `maxValue` | Array | `[50]` | + | `defaultValue` | Array | `[25]` | + + Generally, developer code does not create a ShaderParameter instance + directly. A ShaderParameter instance is created for each of a shader's + parameters when the Shader instance is created.]]> + + "tags=\"haxe,release\"" + + openfl.display3D.Context3D + + + + + + + + + This class defines the constants that represent the possible values for + the ShaderParameter class's `type` property. Each constant represents one + of the data types available in Flash Player for parameters in the Pixel + Bender shader language. + + + + + + cast 0 + + + + Indicates that the shader parameter is defined as a `bool` value, + equivalent to a single Boolean instance in ActionScript. + Note that even though the parameter only expects a single value, the + `ShaderParameter.value` property is an Array, so the single value must + be the only element of an Array assigned to the `value` property, like + this: + + ```haxe + // assumes the shader has a parameter named "param" + // whose data type is bool + myShader.data.param.value = [true]; + ``` + + + + + cast 1 + + + + Indicates that the shader parameter is defined as a `bool2` value, + equivalent to an Array of two Boolean instances in ActionScript. + + + + + cast 2 + + + + Indicates that the shader parameter is defined as a `bool3` value, + equivalent to an Array of three Boolean instances in ActionScript. + + + + + cast 3 + + + + Indicates that the shader parameter is defined as a `bool4` value, + equivalent to an Array of four Boolean instances in ActionScript. + + + + + cast 4 + + + + Indicates that the shader parameter is defined as a `float` value, + equivalent to a single Number instance in ActionScript. + Note that even though the parameter only expects a single value, the + `ShaderParameter.value` property is an Array, so the single value must + be the only element of an Array assigned to the `value` property, like + this: + + ```haxe + // assumes the shader has a parameter named "param" + // whose data type is float + myShader.data.param.value = [22.5]; + ``` + + + + + cast 5 + + + + Indicates that the shader parameter is defined as a `float2` value, + equivalent to an Array of two Number instances in ActionScript. + + + + + cast 6 + + + + Indicates that the shader parameter is defined as a `float3` value, + equivalent to an Array of three Number instances in ActionScript. + + + + + cast 7 + + + + Indicates that the shader parameter is defined as a `float4` value, + equivalent to an Array of four Number instances in ActionScript. + + + + + cast 8 + + + + Indicates that the shader parameter is defined as an `int` value, + equivalent to a single int or uint instance in ActionScript. + Note that even though the parameter only expects a single value, the + `ShaderParameter.value` property is an Array, so the single value must + be the only element of an Array assigned to the `value` property, like + this: + + ```haxe + // assumes the shader has a parameter named "param" + // whose data type is int + myShader.data.param.value = [275]; + ``` + + + + + cast 9 + + + + Indicates that the shader parameter is defined as an `int2` value, + equivalent to an Array of two int or uint instances in ActionScript. + + + + + cast 10 + + + + Indicates that the shader parameter is defined as an `int3` value, + equivalent to an Array of three int or uint instances in ActionScript. + + + + + cast 11 + + + + Indicates that the shader parameter is defined as an `int4` value, + equivalent to an Array of four int or uint instances in ActionScript. + + + + + cast 12 + + + + Indicates that the shader parameter is defined as a `float2x2` value, + equivalent to a 2-by-2 matrix. This matrix is represented as an Array + of four Number instances in ActionScript. + + + + + cast 13 + + + + Indicates that the shader parameter is defined as a `float2x3` value, + equivalent to a 2-by-3 matrix. This matrix is represented as an Array + of six Float instances in Haxe. + + + + + cast 14 + + + + Indicates that the shader parameter is defined as a `float2x4` value, + equivalent to a 2-by-4 matrix. This matrix is represented as an Array + of eight Float instances in Haxe. + + + + + cast 15 + + + + Indicates that the shader parameter is defined as a `float3x2` value, + equivalent to a 3-by-2 matrix. This matrix is represented as an Array + of six Float instances in Haxe. + + + + + cast 16 + + + + Indicates that the shader parameter is defined as a `float3x3` value, + equivalent to a 3-by-3 matrix. This matrix is represented as an Array + of nine Number instances in ActionScript. + + + + + cast 17 + + + + Indicates that the shader parameter is defined as a `float3x4` value, + equivalent to a 3-by-4 matrix. This matrix is represented as an Array + of twelve Float instances in Haxe. + + + + + cast 18 + + + + Indicates that the shader parameter is defined as a `float4x2` value, + equivalent to a 4-by-2 matrix. This matrix is represented as an Array + of eight Float instances in Haxe. + + + + + cast 19 + + + + Indicates that the shader parameter is defined as a `float4x3` value, + equivalent to a 4-by-3 matrix. This matrix is represented as an Array + of twelve Float instances in Haxe. + + + + + cast 20 + + + + Indicates that the shader parameter is defined as a `float4x4` value, + equivalent to a 4-by-4 matrix. This matrix is represented as an Array + of 16 Number instances in ActionScript. + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + Indicates that the shader parameter is defined as a `bool` value, + equivalent to a single Boolean instance in ActionScript. + Note that even though the parameter only expects a single value, the + `ShaderParameter.value` property is an Array, so the single value must + be the only element of an Array assigned to the `value` property, like + this: + + ```haxe + // assumes the shader has a parameter named "param" + // whose data type is bool + myShader.data.param.value = [true]; + ``` + + + + + cast 1 + + + + Indicates that the shader parameter is defined as a `bool2` value, + equivalent to an Array of two Boolean instances in ActionScript. + + + + + cast 2 + + + + Indicates that the shader parameter is defined as a `bool3` value, + equivalent to an Array of three Boolean instances in ActionScript. + + + + + cast 3 + + + + Indicates that the shader parameter is defined as a `bool4` value, + equivalent to an Array of four Boolean instances in ActionScript. + + + + + cast 4 + + + + Indicates that the shader parameter is defined as a `float` value, + equivalent to a single Number instance in ActionScript. + Note that even though the parameter only expects a single value, the + `ShaderParameter.value` property is an Array, so the single value must + be the only element of an Array assigned to the `value` property, like + this: + + ```haxe + // assumes the shader has a parameter named "param" + // whose data type is float + myShader.data.param.value = [22.5]; + ``` + + + + + cast 5 + + + + Indicates that the shader parameter is defined as a `float2` value, + equivalent to an Array of two Number instances in ActionScript. + + + + + cast 6 + + + + Indicates that the shader parameter is defined as a `float3` value, + equivalent to an Array of three Number instances in ActionScript. + + + + + cast 7 + + + + Indicates that the shader parameter is defined as a `float4` value, + equivalent to an Array of four Number instances in ActionScript. + + + + + cast 8 + + + + Indicates that the shader parameter is defined as an `int` value, + equivalent to a single int or uint instance in ActionScript. + Note that even though the parameter only expects a single value, the + `ShaderParameter.value` property is an Array, so the single value must + be the only element of an Array assigned to the `value` property, like + this: + + ```haxe + // assumes the shader has a parameter named "param" + // whose data type is int + myShader.data.param.value = [275]; + ``` + + + + + cast 9 + + + + Indicates that the shader parameter is defined as an `int2` value, + equivalent to an Array of two int or uint instances in ActionScript. + + + + + cast 10 + + + + Indicates that the shader parameter is defined as an `int3` value, + equivalent to an Array of three int or uint instances in ActionScript. + + + + + cast 11 + + + + Indicates that the shader parameter is defined as an `int4` value, + equivalent to an Array of four int or uint instances in ActionScript. + + + + + cast 12 + + + + Indicates that the shader parameter is defined as a `float2x2` value, + equivalent to a 2-by-2 matrix. This matrix is represented as an Array + of four Number instances in ActionScript. + + + + + cast 13 + + + + Indicates that the shader parameter is defined as a `float2x3` value, + equivalent to a 2-by-3 matrix. This matrix is represented as an Array + of six Float instances in Haxe. + + + + + cast 14 + + + + Indicates that the shader parameter is defined as a `float2x4` value, + equivalent to a 2-by-4 matrix. This matrix is represented as an Array + of eight Float instances in Haxe. + + + + + cast 15 + + + + Indicates that the shader parameter is defined as a `float3x2` value, + equivalent to a 3-by-2 matrix. This matrix is represented as an Array + of six Float instances in Haxe. + + + + + cast 16 + + + + Indicates that the shader parameter is defined as a `float3x3` value, + equivalent to a 3-by-3 matrix. This matrix is represented as an Array + of nine Number instances in ActionScript. + + + + + cast 17 + + + + Indicates that the shader parameter is defined as a `float3x4` value, + equivalent to a 3-by-4 matrix. This matrix is represented as an Array + of twelve Float instances in Haxe. + + + + + cast 18 + + + + Indicates that the shader parameter is defined as a `float4x2` value, + equivalent to a 4-by-2 matrix. This matrix is represented as an Array + of eight Float instances in Haxe. + + + + + cast 19 + + + + Indicates that the shader parameter is defined as a `float4x3` value, + equivalent to a 4-by-3 matrix. This matrix is represented as an Array + of twelve Float instances in Haxe. + + + + + cast 20 + + + + Indicates that the shader parameter is defined as a `float4x4` value, + equivalent to a 4-by-4 matrix. This matrix is represented as an Array + of 16 Number instances in ActionScript. + + + + + + + + + + + + + + + + + + + + + + This class defines the constants that represent the possible values for + the Shader class's `precisionHint` property. Each constant represents one + of the precision modes for executing shader operations. + The precision mode selection affects the following shader operations. + These operations are faster on an Intel processor with the SSE instruction + set: + + * `sin(x)` + * `cos(x)` + * `tan(x)` + * `asin(x)` + * `acos(x)` + * `atan(x)` + * `atan(x, y)` + * `exp(x)` + * `exp2(x)` + * `log(x)` + * `log2(x)` + * `pow(x, y)` + * `reciprocal(x)` + * `sqrt(x)` + + + + + + cast 0 + + + + Represents fast precision mode. + Fast precision mode is designed for maximum performance but does not + work consistently on different platforms and individual CPU + configurations. In many cases, this level of precision is sufficient + to create graphic effects without visible artifacts. + + It is usually faster to use fast precision mode than to use lookup + tables. + + + + + cast 1 + + + + Represents full precision mode. + In full precision mode, the shader computes all math operations to the + full width of the IEEE 32-bit floating standard. This mode provides + consistent behavior on all platforms. In this mode, some math + operations such as trigonometric and exponential functions can be + slow. + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + Represents fast precision mode. + Fast precision mode is designed for maximum performance but does not + work consistently on different platforms and individual CPU + configurations. In many cases, this level of precision is sufficient + to create graphic effects without visible artifacts. + + It is usually faster to use fast precision mode than to use lookup + tables. + + + + + cast 1 + + + + Represents full precision mode. + In full precision mode, the shader computes all math operations to the + full width of the IEEE 32-bit floating standard. This mode provides + consistent behavior on all platforms. In this mode, some math + operations such as trigonometric and exponential functions can be + slow. + + + + + + + + + + + + + + + + + + + + + + Specifies the Graphics object belonging to this Shape object, where vector + drawing commands can occur. + + + + + + + + Creates a new Shape object. + + This class is used to create lightweight shapes using the ActionScript + drawing application program interface(API). The Shape class includes a + `graphics` property, which lets you access methods from the + Graphics class. + + The Sprite class also includes a `graphics`property, and it + includes other features not available to the Shape class. For example, a + Sprite object is a display object container, whereas a Shape object is not + (and cannot contain child display objects). For this reason, Shape objects + consume less memory than Sprite objects that contain the same graphics. + However, a Sprite object supports user input events, while a Shape object + does not. + + + "tags=\"haxe,release\"" + + openfl.display.Graphics + + + + + <__constructor static="1"> + + + + + + + + + Specifies a display object that is used as the visual object for the + button "Down" state - the state that the button is in when the user + selects the `hitTestState` object. + + + + A Boolean value that specifies whether a button is enabled. When a button + is disabled(the enabled property is set to `false`), the + button is visible but cannot be clicked. The default value is + `true`. This property is useful if you want to disable part of + your navigation; for example, you might want to disable a button in the + currently displayed page so that it can't be clicked and the page cannot + be reloaded. + + **Note:** To prevent mouseClicks on a button, set both the + `enabled` and `mouseEnabled` properties to + `false`. + + + + Specifies a display object that is used as the hit testing object for the + button. For a basic button, set the `hitTestState` property to + the same display object as the `overState` property. If you do + not set the `hitTestState` property, the SimpleButton is + inactive - it does not respond to user input events. + + + + Specifies a display object that is used as the visual object for the + button over state - the state that the button is in when the pointer is + positioned over the button. + + + + The SoundTransform object assigned to this button. A SoundTransform object + includes properties for setting volume, panning, left speaker assignment, + and right speaker assignment. This SoundTransform object applies to all + states of the button. This SoundTransform object affects only embedded + sounds. + + + + Indicates whether other display objects that are SimpleButton or MovieClip + objects can receive user input release events. The + `trackAsMenu` property lets you create menus. You can set the + `trackAsMenu` property on any SimpleButton or MovieClip object. + If the `trackAsMenu` property does not exist, the default + behavior is `false`. + + You can change the `trackAsMenu` property at any time; the + modified button immediately takes on the new behavior. + + + + Specifies a display object that is used as the visual object for the + button up state - the state that the button is in when the pointer is + not positioned over the button. + + + + A Boolean value that, when set to `true`, indicates whether the + hand cursor is shown when the pointer rolls over a button. If this + property is set to `false`, the arrow pointer cursor is + displayed instead. The default is `true`. + + You can change the `useHandCursor` property at any time; the + modified button immediately uses the new cursor behavior. + + <__currentState set="accessor"> + + + + <__downState> + + + + <__hitTestState> + + + + <__ignoreEvent> + + + + <__overState> + + + + <__previousStates> + + + + <__soundTransform> + + + + <__upState> + + + + <__getBounds set="method" line="195" override="1"> + + + + + + + + <__getRenderBounds set="method" line="208" override="1"> + + + + + + + + <__getCursor set="method" line="229" override="1"> + + + + <__hitTest set="method" line="235" override="1"> + + + + + + + + + + + + <__hitTestMask set="method" line="284" override="1"> + + + + + + + + <__setStageReference set="method" line="296" override="1"> + + + + + + + <__setTransformDirty set="method" line="311" override="1"> + + + + <__update set="method" line="326" override="1"> + + + + + + + + <__updateTransforms set="method" line="344" override="1"> + + + + + + { overrideTransform : null } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <__this_onMouseDown set="method" line="501"> + + + + + + + <__this_onMouseOut set="method" line="509"> + + + + + + + <__this_onMouseOver set="method" line="519"> + + + + + + + <__this_onMouseUp set="method" line="532"> + + + + + + + + + + + + + + + { hitTestState : null, downState : null, overState : null, upState : null } + Creates a new SimpleButton instance. Any or all of the display objects + that represent the various button states can be set as parameters in the + constructor. + + @param upState The initial value for the SimpleButton up state. + @param overState The initial value for the SimpleButton over state. + @param downState The initial value for the SimpleButton down state. + @param hitTestState The initial value for the SimpleButton hitTest state. + + The SimpleButton class lets you control all instances of button symbols in + a SWF file. + + In Flash Professional, you can give a button an instance name in the + Property inspector. SimpleButton instance names are displayed in the Movie + Explorer and in the Insert Target Path dialog box in the Actions panel. + After you create an instance of a button in Flash Professional, you can use + the methods and properties of the SimpleButton class to manipulate buttons + with ActionScript. + + In ActionScript 3.0, you use the `new SimpleButton()` + constructor to create a SimpleButton instance. + + The SimpleButton class inherits from the InteractiveObject class. + + "tags=\"haxe,release\"" + + openfl.display.MovieClip + openfl.geom.Matrix + openfl.geom.Rectangle + + + + + + + The SpreadMethod class provides values for the `spreadMethod` + parameter in the `beginGradientFill()` and + `lineGradientStyle()` methods of the Graphics class. + + The following example shows the same gradient fill using various spread + methods: + + + + + + cast 0 + + + + Specifies that the gradient use the _pad_ spread method. + + + + + cast 1 + + + + Specifies that the gradient use the _reflect_ spread method. + + + + + cast 2 + + + + Specifies that the gradient use the _repeat_ spread method. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + Specifies that the gradient use the _pad_ spread method. + + + + + cast 1 + + + + Specifies that the gradient use the _reflect_ spread method. + + + + + cast 2 + + + + Specifies that the gradient use the _repeat_ spread method. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A value from the StageAlign class that specifies the alignment of the + stage in Flash Player or the browser. The following are valid values: + + The `align` property is only available to an object that is + in the same security sandbox as the Stage owner(the main SWF file). To + avoid this, the Stage owner can grant permission to the domain of the + calling object by calling the `Security.allowDomain()` method + or the `Security.alowInsecureDomain()` method. For more + information, see the "Security" chapter in the _ActionScript 3.0 + Developer's Guide_. + + + + Specifies whether this stage allows the use of the full screen mode + + + + Specifies whether this stage allows the use of the full screen with text input mode + + + + The associated Lime Application instance. + + + + The window background color. + + + + Specifies the effective pixel scaling factor of the stage. This + value is 1 on standard screens and HiDPI (Retina display) + screens. When the stage is rendered on HiDPI screens the pixel + resolution is doubled; even if the stage scaling mode is set to + `StageScaleMode.NO_SCALE`. `Stage.stageWidth` and `Stage.stageHeight` + continue to be reported in classic pixel units. + + + + **BETA** + + The current Context3D the default display renderer. + + This property is supported only when using hardware rendering. + + + + A value from the StageDisplayState class that specifies which display + state to use. The following are valid values: + + * `StageDisplayState.FULL_SCREEN` Sets AIR application or + Flash runtime to expand the stage over the user's entire screen, with + keyboard input disabled. + * `StageDisplayState.FULL_SCREEN_INTERACTIVE` Sets the AIR + application to expand the stage over the user's entire screen, with + keyboard input allowed.(Not available for content running in Flash + Player.) + * `StageDisplayState.NORMAL` Sets the Flash runtime back to + the standard stage display mode. + + + The scaling behavior of the movie in full-screen mode is determined by + the `scaleMode` setting(set using the + `Stage.scaleMode` property or the SWF file's `embed` + tag settings in the HTML file). If the `scaleMode` property is + set to `noScale` while the application transitions to + full-screen mode, the Stage `width` and `height` + properties are updated, and the Stage dispatches a `resize` + event. If any other scale mode is set, the stage and its contents are + scaled to fill the new screen dimensions. The Stage object retains its + original `width` and `height` values and does not + dispatch a `resize` event. + + The following restrictions apply to SWF files that play within an HTML + page(not those using the stand-alone Flash Player or not running in the + AIR runtime): + + + * To enable full-screen mode, add the `allowFullScreen` + parameter to the `object` and `embed` tags in the + HTML page that includes the SWF file, with `allowFullScreen` + set to `"true"`, as shown in the following example: + * Full-screen mode is initiated in response to a mouse click or key + press by the user; the movie cannot change `Stage.displayState` + without user input. Flash runtimes restrict keyboard input in full-screen + mode. Acceptable keys include keyboard shortcuts that terminate + full-screen mode and non-printing keys such as arrows, space, Shift, and + Tab keys. Keyboard shortcuts that terminate full-screen mode are: Escape + (Windows, Linux, and Mac), Control+W(Windows), Command+W(Mac), and + Alt+F4. + + A Flash runtime dialog box appears over the movie when users enter + full-screen mode to inform the users they are in full-screen mode and that + they can press the Escape key to end full-screen mode. + + * Starting with Flash Player 9.0.115.0, full-screen works the same in + windowless mode as it does in window mode. If you set the Window Mode + (`wmode` in the HTML) to Opaque Windowless + (`opaque`) or Transparent Windowless + (`transparent`), full-screen can be initiated, but the + full-screen window will always be opaque. + + These restrictions are _not_ present for SWF content running in + the stand-alone Flash Player or in AIR. AIR supports an interactive + full-screen mode which allows keyboard input. + + For AIR content running in full-screen mode, the system screen saver + and power saving options are disabled while video content is playing and + until either the video stops or full-screen mode is exited. + + On Linux, setting `displayState` to + `StageDisplayState.FULL_SCREEN` or + `StageDisplayState.FULL_SCREEN_INTERACTIVE` is an asynchronous + operation. + + @throws SecurityError Calling the `displayState` property of a + Stage object throws an exception for any caller that + is not in the same security sandbox as the Stage + owner(the main SWF file). To avoid this, the Stage + owner can grant permission to the domain of the + caller by calling the + `Security.allowDomain()` method or the + `Security.allowInsecureDomain()` method. + For more information, see the "Security" chapter in + the _ActionScript 3.0 Developer's Guide_. + Trying to set the `displayState` property + while the settings dialog is displayed, without a + user response, or if the `param` or + `embed` HTML tag's + `allowFullScreen` attribute is not set to + `true` throws a security error. + + + + The interactive object with keyboard focus; or `null` if focus + is not set or if the focused object belongs to a security sandbox to which + the calling object does not have access. + + @throws Error Throws an error if focus cannot be set to the target. + + + + Gets and sets the frame rate of the stage. The frame rate is defined as + frames per second. By default the rate is set to the frame rate of the + first SWF file loaded. Valid range for the frame rate is from 0.01 to 1000 + frames per second. + + **Note:** An application might not be able to follow high frame rate + settings, either because the target platform is not fast enough or the + player is synchronized to the vertical blank timing of the display device + (usually 60 Hz on LCD devices). In some cases, a target platform might + also choose to lower the maximum frame rate if it anticipates high CPU + usage. + + For content running in Adobe AIR, setting the `frameRate` + property of one Stage object changes the frame rate for all Stage objects + (used by different NativeWindow objects). + + @throws SecurityError Calling the `frameRate` property of a + Stage object throws an exception for any caller that + is not in the same security sandbox as the Stage + owner(the main SWF file). To avoid this, the Stage + owner can grant permission to the domain of the + caller by calling the + `Security.allowDomain()` method or the + `Security.allowInsecureDomain()` method. + For more information, see the "Security" chapter in + the _ActionScript 3.0 Developer's Guide_. + + + + Returns the height of the monitor that will be used when going to full + screen size, if that state is entered immediately. If the user has + multiple monitors, the monitor that's used is the monitor that most of + the stage is on at the time. + **Note**: If the user has the opportunity to move the browser from one + monitor to another between retrieving the value and going to full + screen size, the value could be incorrect. If you retrieve the value + in an event handler that sets `Stage.displayState` to + `StageDisplayState.FULL_SCREEN`, the value will be correct. + + This is the pixel height of the monitor and is the same as the stage + height would be if `Stage.align` is set to `StageAlign.TOP_LEFT` and + `Stage.scaleMode` is set to `StageScaleMode.NO_SCALE`. + + + + www.adobe.com/go/display_settings.]]> + + + + Returns the width of the monitor that will be used when going to full + screen size, if that state is entered immediately. If the user has + multiple monitors, the monitor that's used is the monitor that most of + the stage is on at the time. + **Note**: If the user has the opportunity to move the browser from one + monitor to another between retrieving the value and going to full + screen size, the value could be incorrect. If you retrieve the value + in an event handler that sets `Stage.displayState` to + `StageDisplayState.FULL_SCREEN`, the value will be correct. + + This is the pixel width of the monitor and is the same as the stage + width would be if `Stage.align` is set to `StageAlign.TOP_LEFT` and + `Stage.scaleMode` is set to `StageScaleMode.NO_SCALE`. + + + + A value from the StageQuality class that specifies which rendering quality + is used. The following are valid values: + + * `StageQuality.LOW` - Low rendering quality. Graphics are + not anti-aliased, and bitmaps are not smoothed, but runtimes still use + mip-mapping. + * `StageQuality.MEDIUM` - Medium rendering quality. + Graphics are anti-aliased using a 2 x 2 pixel grid, bitmap smoothing is + dependent on the `Bitmap.smoothing` setting. Runtimes use + mip-mapping. This setting is suitable for movies that do not contain + text. + * `StageQuality.HIGH` - High rendering quality. Graphics + are anti-aliased using a 4 x 4 pixel grid, and bitmap smoothing is + dependent on the `Bitmap.smoothing` setting. Runtimes use + mip-mapping. This is the default rendering quality setting that Flash + Player uses. + * `StageQuality.BEST` - Very high rendering quality. + Graphics are anti-aliased using a 4 x 4 pixel grid. If + `Bitmap.smoothing` is `true` the runtime uses a high + quality downscale algorithm that produces fewer artifacts(however, using + `StageQuality.BEST` with `Bitmap.smoothing` set to + `true` slows performance significantly and is not a recommended + setting). + + + Higher quality settings produce better rendering of scaled bitmaps. + However, higher quality settings are computationally more expensive. In + particular, when rendering scaled video, using higher quality settings can + reduce the frame rate. + + In the desktop profile of Adobe AIR, `quality` can be set to + `StageQuality.BEST` or `StageQuality.HIGH`(and the + default value is `StageQuality.HIGH`). Attempting to set it to + another value has no effect(and the property remains unchanged). In the + moble profile of AIR, all four quality settings are available. The default + value on mobile devices is `StageQuality.MEDIUM`. + + For content running in Adobe AIR, setting the `quality` + property of one Stage object changes the rendering quality for all Stage + objects(used by different NativeWindow objects). + **_Note:_** The operating system draws the device fonts, which are + therefore unaffected by the `quality` property. + + @throws SecurityError Calling the `quality` property of a Stage + object throws an exception for any caller that is + not in the same security sandbox as the Stage owner + (the main SWF file). To avoid this, the Stage owner + can grant permission to the domain of the caller by + calling the `Security.allowDomain()` + method or the + `Security.allowInsecureDomain()` method. + For more information, see the "Security" chapter in + the _ActionScript 3.0 Developer's Guide_. + + + + A value from the StageScaleMode class that specifies which scale mode to + use. The following are valid values: + + * `StageScaleMode.EXACT_FIT` - The entire application is + visible in the specified area without trying to preserve the original + aspect ratio. Distortion can occur, and the application may appear + stretched or compressed. + * `StageScaleMode.SHOW_ALL` - The entire application is + visible in the specified area without distortion while maintaining the + original aspect ratio of the application. Borders can appear on two sides + of the application. + * `StageScaleMode.NO_BORDER` - The entire application fills + the specified area, without distortion but possibly with some cropping, + while maintaining the original aspect ratio of the application. + * `StageScaleMode.NO_SCALE` - The entire application is + fixed, so that it remains unchanged even as the size of the player window + changes. Cropping might occur if the player window is smaller than the + content. + + + @throws SecurityError Calling the `scaleMode` property of a + Stage object throws an exception for any caller that + is not in the same security sandbox as the Stage + owner(the main SWF file). To avoid this, the Stage + owner can grant permission to the domain of the + caller by calling the + `Security.allowDomain()` method or the + `Security.allowInsecureDomain()` method. + For more information, see the "Security" chapter in + the _ActionScript 3.0 Developer's Guide_. + + + + Specifies whether to show or hide the default items in the Flash + runtime context menu. + If the `showDefaultContextMenu` property is set to `true` (the + default), all context menu items appear. If the + `showDefaultContextMenu` property is set to `false`, only the Settings + and About... menu items appear. + + @throws SecurityError Calling the `showDefaultContextMenu` property of + a Stage object throws an exception for any + caller that is not in the same security sandbox + as the Stage owner (the main SWF file). To avoid + this, the Stage owner can grant permission to + the domain of the caller by calling the + `Security.allowDomain()` method or the + `Security.allowInsecureDomain()` method. For + more information, see the "Security" chapter in + the _ActionScript 3.0 Developer's Guide_. + + + + The area of the stage that is currently covered by the software + keyboard. + The area has a size of zero (0,0,0,0) when the soft keyboard is not + visible. + + When the keyboard opens, the `softKeyboardRect` is set at the time the + softKeyboardActivate event is dispatched. If the keyboard changes size + while open, the runtime updates the `softKeyboardRect` property and + dispatches an additional softKeyboardActivate event. + + **Note:** On Android, the area covered by the keyboard is estimated + when the operating system does not provide the information necessary + to determine the exact area. This problem occurs in fullscreen mode + and also when the keyboard opens in response to an InteractiveObject + receiving focus or invoking the `requestSoftKeyboard()` method. + + + + A list of Stage3D objects available for displaying 3-dimensional content. + + You can use only a limited number of Stage3D objects at a time. The number of + available Stage3D objects depends on the platform and on the available hardware. + + A Stage3D object draws in front of a StageVideo object and behind the OpenFL + display list. + + + + Specifies whether or not objects display a glowing border when they have + focus. + + @throws SecurityError Calling the `stageFocusRect` property of + a Stage object throws an exception for any caller + that is not in the same security sandbox as the + Stage owner(the main SWF file). To avoid this, the + Stage owner can grant permission to the domain of + the caller by calling the + `Security.allowDomain()` method or the + `Security.allowInsecureDomain()` method. + For more information, see the "Security" chapter in + the _ActionScript 3.0 Developer's Guide_. + + + + The current height, in pixels, of the Stage. + + If the value of the `Stage.scaleMode` property is set to + `StageScaleMode.NO_SCALE` when the user resizes the window, the + Stage content maintains its size while the `stageHeight` + property changes to reflect the new height size of the screen area + occupied by the SWF file.(In the other scale modes, the + `stageHeight` property always reflects the original height of + the SWF file.) You can add an event listener for the `resize` + event and then use the `stageHeight` property of the Stage + class to determine the actual pixel dimension of the resized Flash runtime + window. The event listener allows you to control how the screen content + adjusts when the user resizes the window. + + Air for TV devices have slightly different behavior than desktop + devices when you set the `stageHeight` property. If the + `Stage.scaleMode` property is set to + `StageScaleMode.NO_SCALE` and you set the + `stageHeight` property, the stage height does not change until + the next frame of the SWF. + + **Note:** In an HTML page hosting the SWF file, both the + `object` and `embed` tags' `height` + attributes must be set to a percentage(such as `100%`), not + pixels. If the settings are generated by JavaScript code, the + `height` parameter of the `AC_FL_RunContent() ` + method must be set to a percentage, too. This percentage is applied to the + `stageHeight` value. + + @throws SecurityError Calling the `stageHeight` property of a + Stage object throws an exception for any caller that + is not in the same security sandbox as the Stage + owner(the main SWF file). To avoid this, the Stage + owner can grant permission to the domain of the + caller by calling the + `Security.allowDomain()` method or the + `Security.allowInsecureDomain()` method. + For more information, see the "Security" chapter in + the _ActionScript 3.0 Developer's Guide_. + + + + Specifies the current width, in pixels, of the Stage. + + If the value of the `Stage.scaleMode` property is set to + `StageScaleMode.NO_SCALE` when the user resizes the window, the + Stage content maintains its defined size while the `stageWidth` + property changes to reflect the new width size of the screen area occupied + by the SWF file.(In the other scale modes, the `stageWidth` + property always reflects the original width of the SWF file.) You can add + an event listener for the `resize` event and then use the + `stageWidth` property of the Stage class to determine the + actual pixel dimension of the resized Flash runtime window. The event + listener allows you to control how the screen content adjusts when the + user resizes the window. + + Air for TV devices have slightly different behavior than desktop + devices when you set the `stageWidth` property. If the + `Stage.scaleMode` property is set to + `StageScaleMode.NO_SCALE` and you set the + `stageWidth` property, the stage width does not change until + the next frame of the SWF. + + **Note:** In an HTML page hosting the SWF file, both the + `object` and `embed` tags' `width` + attributes must be set to a percentage(such as `100%`), not + pixels. If the settings are generated by JavaScript code, the + `width` parameter of the `AC_FL_RunContent() ` + method must be set to a percentage, too. This percentage is applied to the + `stageWidth` value. + + @throws SecurityError Calling the `stageWidth` property of a + Stage object throws an exception for any caller that + is not in the same security sandbox as the Stage + owner (the main SWF file). To avoid this, the Stage + owner can grant permission to the domain of the + caller by calling the + `Security.allowDomain()` method or the + `Security.allowInsecureDomain()` method. + For more information, see the "Security" chapter in + the _ActionScript 3.0 Developer's Guide_. + + + + The associated Lime Window instance for this Stage. + + <__cacheFocus> + + + Indicates whether GPU compositing is available and in use. The + `wmodeGPU` value is `true` _only_ when all three of the following + conditions exist: + * GPU compositing has been requested. + * GPU compositing is available. + * GPU compositing is in use. + + Specifically, the `wmodeGPU` property indicates one of the following: + + 1. GPU compositing has not been requested or is unavailable. In this + case, the `wmodeGPU` property value is `false`. + 2. GPU compositing has been requested (if applicable and available), + but the environment is operating in "fallback mode" (not optimal + rendering) due to limitations of the content. In this case, the + `wmodeGPU` property value is `true`. + 3. GPU compositing has been requested (if applicable and available), + and the environment is operating in the best mode. In this case, the + `wmodeGPU` property value is also `true`. + + In other words, the `wmodeGPU` property identifies the capability and + state of the rendering environment. For runtimes that do not support + GPU compositing, such as AIR 1.5.2, the value is always `false`, + because (as stated above) the value is `true` only when GPU + compositing has been requested, is available, and is in use. + + The `wmodeGPU` property is useful to determine, at runtime, whether or + not GPU compositing is in use. The value of `wmodeGPU` indicates if + your content is going to be scaled by hardware, or not, so you can + present graphics at the correct size. You can also determine if you're + rendering in a fast path or not, so that you can adjust your content + complexity accordingly. + + For Flash Player in a browser, GPU compositing can be requested by the + value of `gpu` for the `wmode` HTML parameter in the page hosting the + SWF file. For other configurations, GPU compositing can be requested + in the header of a SWF file (set using SWF authoring tools). + + However, the `wmodeGPU` property does not identify the current + rendering performance. Even if GPU compositing is "in use" the + rendering process might not be operating in the best mode. To adjust + your content for optimal rendering, use a Flash runtime debugger + version, and set the `DisplayGPUBlendsetting` in your mm.cfg file. + + **Note:** This property is always `false` when referenced from + ActionScript that runs before the runtime performs its first rendering + pass. For example, if you examine `wmodeGPU` from a script in Frame 1 + of Adobe Flash Professional, and your SWF file is the first SWF file + loaded in a new instance of the runtime, then the `wmodeGPU` value is + `false`. To get an accurate value, wait until at least one rendering + pass has occurred. If you write an event listener for the `exitFrame` + event of any `DisplayObject`, the `wmodeGPU` value at is the correct + value. + + <__clearBeforeRender> + + + + <__color> + + + + <__colorSplit> + + + + <__colorString> + + + + <__contentsScaleFactor> + + + + <__currentTabOrderIndex> + + + + <__deltaTime> + + + + <__dirty> + + + + <__displayMatrix> + + + + <__displayRect> + + + + <__displayState> + + + + <__dragBounds> + + + + <__dragObject> + + + + <__dragOffsetX> + + + + <__dragOffsetY> + + + + <__focus> + + + + <__forceRender> + + + + <__fullscreen> + + + + <__fullScreenSourceRect> + + + + <__invalidated> + + + + <__lastClickTime> + + + + <__logicalWidth> + + + + <__logicalHeight> + + + + <__macKeyboard> + + + + <__mouseDownLeft> + + + + <__mouseDownMiddle> + + + + <__mouseDownRight> + + + + <__mouseOutStack> + + + + <__mouseOverTarget> + + + + <__mouseX> + + + + <__mouseY> + + + + <__pendingMouseEvent> + + + + <__pendingMouseX> + + + + <__pendingMouseY> + + + + <__quality> + + + + <__renderer> + + + + <__rendering> + + + + <__rollOutStack> + + + + <__scaleMode> + + + + <__stack> + + + + <__touchData> + + + + + + + <__transparent> + + + + <__wasDirty> + + + + <__wasFullscreen> + + + + <__primaryTouch> + + + + + + Calling the `invalidate()` method signals Flash runtimes to + alert display objects on the next opportunity it has to render the display + list(for example, when the playhead advances to a new frame). After you + call the `invalidate()` method, when the display list is next + rendered, the Flash runtime sends a `render` event to each + display object that has registered to listen for the `render` + event. You must call the `invalidate()` method each time you + want the Flash runtime to send `render` events. + + The `render` event gives you an opportunity to make changes + to the display list immediately before it is actually rendered. This lets + you defer updates to the display list until the latest opportunity. This + can increase performance by eliminating unnecessary screen updates. + + The `render` event is dispatched only to display objects + that are in the same security domain as the code that calls the + `stage.invalidate()` method, or to display objects from a + security domain that has been granted permission via the + `Security.allowDomain()` method. + + + + + + <__broadcastEvent set="method" line="1144"> + + + + + + "checkstyle:Dynamic" + + + + <__createRenderer set="method" line="1174"> + + + + <__dispatchEvent set="method" line="1232" override="1"> + + + + + + ["checkstyle:Dynamic", "checkstyle:LeftCurly"] + + + + <__dispatchPendingMouseEvent set="method" line="1251"> + + + + <__dispatchStack set="method" line="1261"> + + + + + + + ["checkstyle:Dynamic", "checkstyle:LeftCurly"] + + + + <__dispatchTarget set="method" line="1330"> + + + + + + + "checkstyle:Dynamic" + + + + <__drag set="method" line="1347"> + + + + + + + <__getInteractive set="method" line="1383" override="1"> + + + + + + + <__globalToLocal set="method" line="1393" override="1"> + + + + + + + + <__handleError set="method" line="1404"> + + + + + + + "checkstyle:Dynamic" + + + + <__onKey set="method" line="1458"> + + + + + + + + + <__onLimeCreateWindow set="method" line="1690"> + + + + + + + <__onLimeGamepadAxisMove set="method" line="1724"> + + + + + + + + + <__onLimeGamepadButtonDown set="method" line="1740"> + + + + + + + + <__onLimeGamepadButtonUp set="method" line="1756"> + + + + + + + + <__onLimeGamepadConnect set="method" line="1772"> + + + + + + + <__onLimeGamepadDisconnect set="method" line="1793"> + + + + + + + <__onLimeKeyDown set="method" line="1809"> + + + + + + + + + <__onLimeKeyUp set="method" line="1816"> + + + + + + + + + <__onLimeModuleExit set="method" line="1823"> + + + + + + + <__onLimeMouseDown set="method" line="1843"> + + + + + + + + + + <__onLimeMouseMove set="method" line="1864"> + + + + + + + + + <__onLimeMouseMoveRelative set="method" line="1877"> + + + + + + + + + <__onLimeMouseUp set="method" line="1882"> + + + + + + + + + + <__onLimeMouseWheel set="method" line="1903"> + + + + + + + + + + <__onLimeRender set="method" line="1919"> + + + + + + + <__onLimeRenderContextLost set="method" line="2052"> + + + + <__onLimeRenderContextRestored set="method" line="2063"> + + + + + + + <__onLimeTextEdit set="method" line="2073"> + + + + + + + + + + <__onLimeTextInput set="method" line="2078"> + + + + + + + + <__onLimeTouchCancel set="method" line="2110"> + + + + + + + <__onLimeTouchMove set="method" line="2122"> + + + + + + + <__onLimeTouchEnd set="method" line="2127"> + + + + + + + <__onLimeTouchStart set="method" line="2138"> + + + + + + + <__onLimeUpdate set="method" line="2148"> + + + + + + + <__onLimeWindowActivate set="method" line="2155"> + + + + + + + <__onLimeWindowClose set="method" line="2162"> + + + + + + + <__onLimeWindowCreate set="method" line="2186"> + + + + + + + <__onLimeWindowDeactivate set="method" line="2196"> + + + + + + + <__onLimeWindowDropFile set="method" line="2203"> + + + + + + + + <__onLimeWindowEnter set="method" line="2206"> + + + + + + + <__onLimeWindowExpose set="method" line="2211"> + + + + + + + <__onLimeWindowFocusIn set="method" line="2218"> + + + + + + + <__onLimeWindowFocusOut set="method" line="2246"> + + + + + + + <__onLimeWindowFullscreen set="method" line="2276"> + + + + + + + <__onLimeWindowLeave set="method" line="2290"> + + + + + + + <__onLimeWindowMinimize set="method" line="2311"> + + + + + + + <__onLimeWindowMove set="method" line="2319"> + + + + + + + + + <__onLimeWindowResize set="method" line="2324"> + + + + + + + + + <__onLimeWindowRestore set="method" line="2347"> + + + + + + + <__onMouse set="method" line="2360"> + + + + + + + + + + <__onMouseWheel set="method" line="2691"> + + + + + + + + + <__onTouch set="method" line="2725"> + + + + + + + + + <__registerLimeModule set="method" line="2891"> + + + + + + + <__resize set="method" line="2910"> + + + + <__setLogicalSize set="method" line="3000"> + + + + + + + + <__startDrag set="method" line="3008"> + + + + + + + + + <__stopDrag set="method" line="3053"> + + + + + + + <__unregisterLimeModule set="method" line="3059"> + + + + + + + <__update set="method" line="3074" override="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { color : null } + + ® Player), + the Stage represents the entire area where Flash content is shown. For + content running in AIR on desktop operating systems, each NativeWindow + object has a corresponding Stage object. + + The Stage object is not globally accessible. You need to access it + through the `stage` property of a DisplayObject instance. + + The Stage class has several ancestor classes - DisplayObjectContainer, + InteractiveObject, DisplayObject, and EventDispatcher - from which it + inherits properties and methods. Many of these properties and methods are + either inapplicable to Stage objects, or require security checks when + called on a Stage object. The properties and methods that require security + checks are documented as part of the Stage class. + + In addition, the following inherited properties are inapplicable to + Stage objects. If you try to set them, an IllegalOperationError is thrown. + These properties may always be read, but since they cannot be set, they + will always contain default values. + + + * `accessibilityProperties` + * `alpha` + * `blendMode` + * `cacheAsBitmap` + * `contextMenu` + * `filters` + * `focusRect` + * `loaderInfo` + * `mask` + * `mouseEnabled` + * `name` + * `opaqueBackground` + * `rotation` + * `scale9Grid` + * `scaleX` + * `scaleY` + * `scrollRect` + * `tabEnabled` + * `tabIndex` + * `transform` + * `visible` + * `x` + * `y` + + + Some events that you might expect to be a part of the Stage class, such + as `enterFrame`, `exitFrame`, + `frameConstructed`, and `render`, cannot be Stage + events because a reference to the Stage object cannot be guaranteed to + exist in every situation where these events are used. Because these events + cannot be dispatched by the Stage object, they are instead dispatched by + every DisplayObject instance, which means that you can add an event + listener to any DisplayObject instance to listen for these events. These + events, which are part of the DisplayObject class, are called broadcast + events to differentiate them from events that target a specific + DisplayObject instance. Two other broadcast events, `activate` + and `deactivate`, belong to DisplayObject's superclass, + EventDispatcher. The `activate` and `deactivate` + events behave similarly to the DisplayObject broadcast events, except that + these two events are dispatched not only by all DisplayObject instances, + but also by all EventDispatcher instances and instances of other + EventDispatcher subclasses. For more information on broadcast events, see + the DisplayObject class. + + @event fullScreen Dispatched when the Stage object enters, or + leaves, full-screen mode. A change in + full-screen mode can be initiated through + ActionScript, or the user invoking a keyboard + shortcut, or if the current focus leaves the + full-screen window. + @event mouseLeave Dispatched by the Stage object when the + pointer moves out of the stage area. If the + mouse button is pressed, the event is not + dispatched. + @event orientationChange Dispatched by the Stage object when the stage + orientation changes. + + Orientation changes can occur when the + user rotates the device, opens a slide-out + keyboard, or when the + `setAspectRatio()` is called. + + **Note:** If the + `autoOrients` property is + `false`, then the stage + orientation does not change when a device is + rotated. Thus, StageOrientationEvents are + only dispatched for device rotation when + `autoOrients` is + `true`. + @event orientationChanging Dispatched by the Stage object when the stage + orientation begins changing. + + **Important:** orientationChanging + events are not dispatched on Android + devices. + + **Note:** If the + `autoOrients` property is + `false`, then the stage + orientation does not change when a device is + rotated. Thus, StageOrientationEvents are + only dispatched for device rotation when + `autoOrients` is + `true`. + @event resize Dispatched when the `scaleMode` + property of the Stage object is set to + `StageScaleMode.NO_SCALE` and the + SWF file is resized. + @event stageVideoAvailability Dispatched by the Stage object when the state + of the stageVideos property changes.]]> + + + "tags=\"haxe,release\"" + + openfl.display3D.Context3D + openfl.display.DisplayObjectRenderer + openfl.display.LoaderInfo + openfl.display.Sprite + openfl.display.Stage3D + openfl.events.Event + openfl.geom.Matrix + openfl.geom.Point + openfl.ui.GameInput + openfl.ui.Keyboard + openfl.ui.Mouse + + + + + <__active static="1"> + + + + + + The Context3D object associated with this Stage3D instance. + + This property is initially `null`. To create the Context3D instance for this + Stage3D object, add an event listener for the `context3DCreate` event and then call + the `requestContext3D` method. The listener is called once the Context3D object has + been created. + + + + Specifies whether this Stage3D object is visible. + + Use this property to temporarily hide a Stage3D object on the Stage. This property + defaults to `true`. + + + + The horizontal coordinate of the Stage3D display on the stage, in pixels. + + This property defaults to zero. + + + + The vertical coordinate of the Stage3D display on the stage, in pixels. + + This property defaults to zero. + + <__contextLost> + + + + <__contextRequested> + + + + <__height> + + + + <__indexBuffer> + + + + <__projectionTransform> + + + + <__renderTransform> + + + + <__stage> + + + + <__vertexBuffer> + + + + <__width> + + + + <__x> + + + + <__y> + + + + + + + + + + { profile : BASELINE, context3DRenderMode : AUTO } + 0 ) + { + var stage3D:Stage3D = stage.stage3Ds[0]; + stage3D.addEventListener( Event.CONTEXT3D_CREATE, myContext3DHandler ); + stage3D.requestContext3D( ); + } + + function myContext3DHandler ( event : Event ) : void + { + var targetStage3D : Stage3D = cast event.target; + InitAll3DResources( targetStage3D.context3D ); + StartRendering( targetStage3D.context3D ); + } + ``` + + @param context3DRenderMode The type of rendering context to request. The default + is `Context3DRenderMode.AUTO` for which the runtime will create a + hardware-accelerated context if possible and fall back to software otherwise. Use + `Context3DRenderMode.SOFTWARE` to request a software rendering context. Software + rendering is not available on mobile devices. Software rendering is available only + for `Context3DProfile.BASELINE` and `Context3DProfile.BASELINE_CONSTRAINED`. + @param profile (AIR 3.4 and higher) Specifies the extent to which Flash Player + supports lower-level GPUs. The default is `Context3DProfile.BASELINE`, which + returns a Context3D instance similar to that used in previous releases. To get + details of all available profiles, see openfl.display3D.Context3DProfile. + @event context3DCreate Dispatched when the requested rendering context is + successfully completed. + @event error Dispatched when the requested rendering context cannot be created. + @throws Error if no listeners for the `context3DCreate` event have been added to + this Stage3D object. + @throws ArgumentError if this method is called again with a different + `context3DRenderMode` before the previous call has completed.]]> + + + + + + + 0 ) + { + var stage3D:Stage3D = stage.stage3Ds[0]; + stage3D.addEventListener( Event.CONTEXT3D_CREATE, myContext3DHandler ); + stage3D.requestContext3DMatchingProfiles(Vector.([Context3DProfile.BASELINE, Context3DProfile.BASELINE_EXTENDED])); + } + + function myContext3DHandler ( event : Event ) : Void + { + var targetStage3D : Stage3D = cast event.target; + if(targetStage3D.context3D.profile.localeCompare(Context3DProfile.BASELINE) == 0) + { + InitAll3DResources( targetStage3D.context3D ); + } + StartRendering( targetStage3D.context3D ); + } + ``` + + @param profiles (AIR 3.4 and higher) a profile arrays that developer want to + use in their flash program. When developer pass profile array to + `Stage3D.requestContext3DMatchingProfiles`, he will get a Context3D based on the + high level profile in that array according to their hardware capability. The + `rendermode` is set to AUTO, so the parameter is omitted. + @event context3DCreate Dispatched when the requested rendering context is + successfully completed. + @event error Dispatched when the requested rendering context cannot be created. + If the hardware is not available, it will not create a software context3d. + @throws Error if no listeners for the context3DCreate event have been added to + this Stage3D object. + @throws ArgumentError if this method is called before the previous call has + completed. + @throws ArgumentError if the item in array is not openfl.display3D.Context3DProfile.]]> + + <__createContext set="method" line="375"> + + + + <__dispatchError set="method" line="457"> + + + + <__dispatchCreate set="method" line="463"> + + + + <__lostContext set="method" line="472"> + + + + <__resize set="method" line="483"> + + + + + + + + <__restoreContext set="method" line="508"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ஼/sup> Player), the + Stage represents the entire area where Flash content is shown. For content + running in AIR on desktop operating systems, each NativeWindow object has + a corresponding Stage object. + + The Stage object is not globally accessible. You need to access it through + the `stage` property of a DisplayObject instance. + + The Stage class has several ancestor classes נDisplayObjectContainer, + InteractiveObject, DisplayObject, and EventDispatcher נfrom which it + inherits properties and methods. Many of these properties and methods are + either inapplicable to Stage objects, or require security checks when + called on a Stage object. The properties and methods that require security + checks are documented as part of the Stage class. + + In addition, the following inherited properties are inapplicable to Stage + objects. If you try to set them, an IllegalOperationError is thrown. These + properties may always be read, but since they cannot be set, they will + always contain default values. + + * `accessibilityProperties` + * `alpha` + * `blendMode` + * `cacheAsBitmap` + * `contextMenu` + * `filters` + * `focusRect` + * `loaderInfo` + * `mask` + * `mouseEnabled` + * `name` + * `opaqueBackground` + * `rotation` + * `scale9Grid` + * `scaleX` + * `scaleY` + * `scrollRect` + * `tabEnabled` + * `tabIndex` + * `transform` + * `visible` + * `x` + * `y` + + Some events that you might expect to be a part of the Stage class, such as + `enterFrame`, `exitFrame`, `frameConstructed`, and `render`, cannot be + Stage events because a reference to the Stage object cannot be guaranteed + to exist in every situation where these events are used. Because these + events cannot be dispatched by the Stage object, they are instead + dispatched by every DisplayObject instance, which means that you can add + an event listener to any DisplayObject instance to listen for these + events. These events, which are part of the DisplayObject class, are + called broadcast events to differentiate them from events that target a + specific DisplayObject instance. Two other broadcast events, `activate` + and `deactivate`, belong to DisplayObject's superclass, EventDispatcher. + The `activate` and `deactivate` events behave similarly to the + DisplayObject broadcast events, except that these two events are + dispatched not only by all DisplayObject instances, but also by all + EventDispatcher instances and instances of other EventDispatcher + subclasses. For more information on broadcast events, see the + DisplayObject class. + + @event fullScreen Dispatched when the Stage object enters, or + leaves, full-screen mode. A change in + full-screen mode can be initiated through + ActionScript, or the user invoking a + keyboard shortcut, or if the current focus + leaves the full-screen window. + @event mouseLeave Dispatched by the Stage object when the + pointer moves out of the stage area. If the + mouse button is pressed, the event is not + dispatched. + @event orientationChange Dispatched by the Stage object when the + stage orientation changes. + Orientation changes can occur when the user + rotates the device, opens a slide-out + keyboard, or when the `setAspectRatio()` is + called. + + **Note:** If the `autoOrients` property is + `false`, then the stage orientation does not + change when a device is rotated. Thus, + StageOrientationEvents are only dispatched + for device rotation when `autoOrients` is + `true`. + @event orientationChanging Dispatched by the Stage object when the + stage orientation begins changing. + **Important:** orientationChanging events + are not dispatched on Android devices. + + **Note:** If the `autoOrients` property is + `false`, then the stage orientation does not + change when a device is rotated. Thus, + StageOrientationEvents are only dispatched + for device rotation when `autoOrients` is + `true`. + @event resize Dispatched when the `scaleMode` property of + the Stage object is set to + `StageScaleMode.NO_SCALE` and the SWF file + is resized. + @event stageVideoAvailability Dispatched by the Stage object when the + state of the stageVideos property changes.]]> + + + "tags=\"haxe,release\"" + + lime.graphics.opengl.GL + openfl.display3D.Context3D + openfl.display3D.Program3D + openfl.display.Bitmap + openfl.display.BitmapData + openfl.display.Stage + + + + + + + The StageAlign class provides constant values to use for the + `Stage.align` property. + + + + + + cast 0 + + + + Specifies that the Stage is aligned at the bottom. + + + + + cast 1 + + + + Specifies that the Stage is aligned on the left. + + + + + cast 2 + + + + Specifies that the Stage is aligned to the right. + + + + + cast 3 + + + + Specifies that the Stage is aligned on the left. + + + + + cast 4 + + + + Specifies that the Stage is aligned to the right. + + + + + cast 5 + + + + Specifies that the Stage is aligned at the top. + + + + + cast 6 + + + + Specifies that the Stage is aligned on the left. + + + + + cast 7 + + + + Specifies that the Stage is aligned to the right. + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + Specifies that the Stage is aligned at the bottom. + + + + + cast 1 + + + + Specifies that the Stage is aligned on the left. + + + + + cast 2 + + + + Specifies that the Stage is aligned to the right. + + + + + cast 3 + + + + Specifies that the Stage is aligned on the left. + + + + + cast 4 + + + + Specifies that the Stage is aligned to the right. + + + + + cast 5 + + + + Specifies that the Stage is aligned at the top. + + + + + cast 6 + + + + Specifies that the Stage is aligned on the left. + + + + + cast 7 + + + + Specifies that the Stage is aligned to the right. + + + + + + + + + + + + + + + + + + + + + + The StageDisplayState class provides values for the + `Stage.displayState` property. + + + + + + cast 0 + + + + Specifies that the Stage is in full-screen mode. + + + + + cast 1 + + + + Specifies that the Stage is in full-screen mode with keyboard interactivity enabled. + + + + + cast 2 + + + + Specifies that the Stage is in normal mode. + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + Specifies that the Stage is in full-screen mode. + + + + + cast 1 + + + + Specifies that the Stage is in full-screen mode with keyboard interactivity enabled. + + + + + cast 2 + + + + Specifies that the Stage is in normal mode. + + + + + + + + + + + + + + + + + + + + + + The StageQuality class provides values for the `Stage.quality` + property. + + + + + + cast 0 + + + + Specifies very high rendering quality: graphics are anti-aliased using a 4 + x 4 pixel grid and bitmaps are always smoothed. + + + + + cast 1 + + + + Specifies high rendering quality: graphics are anti-aliased using a 4 x 4 + pixel grid, and bitmaps are smoothed if the movie is static. + + + + + cast 2 + + + + Specifies low rendering quality: graphics are not anti-aliased, and + bitmaps are not smoothed. + + + + + cast 3 + + + + Specifies medium rendering quality: graphics are anti-aliased using a 2 x + 2 pixel grid, but bitmaps are not smoothed. This setting is suitable for + movies that do not contain text. + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + Specifies very high rendering quality: graphics are anti-aliased using a 4 + x 4 pixel grid and bitmaps are always smoothed. + + + + + cast 1 + + + + Specifies high rendering quality: graphics are anti-aliased using a 4 x 4 + pixel grid, and bitmaps are smoothed if the movie is static. + + + + + cast 2 + + + + Specifies low rendering quality: graphics are not anti-aliased, and + bitmaps are not smoothed. + + + + + cast 3 + + + + Specifies medium rendering quality: graphics are anti-aliased using a 2 x + 2 pixel grid, but bitmaps are not smoothed. This setting is suitable for + movies that do not contain text. + + + + + + + + + + + + + + + + + + + + + + The StageScaleMode class provides values for the + `Stage.scaleMode` property. + + + + + + cast 0 + + + + Specifies that the entire application be visible in the specified area without + trying to preserve the original aspect ratio. Distortion can occur. + + + + + cast 1 + + + + Specifies that the entire application fill the specified area, without + distortion but possibly with some cropping, while maintaining the original + aspect ratio of the application. + + + + + cast 2 + + + + Specifies that the size of the application be fixed, so that it remains + unchanged even as the size of the player window changes. Cropping might occur + if the player window is smaller than the content. + + + + + cast 3 + + + + Specifies that the entire application be visible in the specified area without + distortion while maintaining the original aspect ratio of the application. + Borders can appear on two sides of the application. + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + Specifies that the entire application be visible in the specified area without + trying to preserve the original aspect ratio. Distortion can occur. + + + + + cast 1 + + + + Specifies that the entire application fill the specified area, without + distortion but possibly with some cropping, while maintaining the original + aspect ratio of the application. + + + + + cast 2 + + + + Specifies that the size of the application be fixed, so that it remains + unchanged even as the size of the player window changes. Cropping might occur + if the player window is smaller than the content. + + + + + cast 3 + + + + Specifies that the entire application be visible in the specified area without + distortion while maintaining the original aspect ratio of the application. + Borders can appear on two sides of the application. + + + + + + + + + + + + + + + + + + + + + + Indicates the alpha transparency value of the object specified. Valid + values are 0 (fully transparent) to 1 (fully opaque). The default value is 1. + Tile objects with `alpha` set to 0 _are_ active, even though they are invisible. + + + + A value from the BlendMode class that specifies which blend mode to use. + + This property is supported only when using hardware rendering or the Flash target. + + + + + A ColorTransform object containing values that universally adjust the + colors in the display object. + + This property is supported only when using hardware rendering. + + + + "checkstyle:Dynamic" + An additional field for custom user-data + + + + + Indicates the height of the tile, in pixels. The height is + calculated based on the bounds of the tile after local transformations. + When you set the `height` property, the `scaleY` property + is adjusted accordingly. + If a tile has a height of zero, no change is applied + + + + The ID of the tile to draw from the Tileset + + + + A Matrix object containing values that alter the scaling, rotation, and + translation of the tile object. + + If the `matrix` property is set to a value (not `null`), the `x`, `y`, + `scaleX`, `scaleY` and the `rotation` values will be overwritten. + + + + + Modifies the origin x coordinate for this tile, which is the center value + used when determining position, scale and rotation. + + + + + Modifies the origin y coordinate for this tile, which is the center value + used when determining position, scale and rotation. + + + + Indicates the ITileContainer object that contains this display + object. Use the `parent` property to specify a relative path to + tile objects that are above the current tile object in the tile + list hierarchy. + + + + The custom rectangle to draw from the Tileset + + + + + Indicates the rotation of the Tile instance, in degrees, from its + original orientation. Values from 0 to 180 represent clockwise rotation; + values from 0 to -180 represent counterclockwise rotation. Values outside + this range are added to or subtracted from 360 to obtain a value within + the range. For example, the statement `tile.rotation = 450` + is the same as ` tile.rotation = 90`. + + + + + Indicates the horizontal scale (percentage) of the object as applied from + the origin point. The default origin point is (0,0). 1.0 + equals 100% scale. + + Scaling the local coordinate system changes the `x` and + `y` property values, which are defined in whole pixels. + + + + + Indicates the vertical scale (percentage) of an object as applied from the + origin point of the object. The default origin point is (0,0). + 1.0 is 100% scale. + + Scaling the local coordinate system changes the `x` and + `y` property values, which are defined in whole pixels. + + + + + Uses a custom Shader instance when rendering this tile. + + This property is only supported when using hardware rendering. + + + + The Tileset that this Tile is rendered from. + + If `null`, this Tile will use the Tileset value of its parent. + + + + Whether or not the tile object is visible. + + + + + Indicates the width of the tile, in pixels. The width is + calculated based on the bounds of the tile after local transformations. + When you set the `width` property, the `scaleX` property + is adjusted accordingly. + If a tile has a width of zero, no change is applied + + + + + Indicates the _x_ coordinate of the Tile instance relative + to the local coordinates of the parent ITileContainer. If the + object is inside a TileContainer that has transformations, it is + in the local coordinate system of the enclosing TileContainer. + Thus, for a TileContainer rotated 90° counterclockwise, the + TileContainer's children inherit a coordinate system that is + rotated 90° counterclockwise. The object's coordinates refer to the + registration point position. + + + + + Indicates the _y_ coordinate of the Tile instance relative + to the local coordinates of the parent ITileContainer. If the + object is inside a TileContainer that has transformations, it is + in the local coordinate system of the enclosing TileContainer. + Thus, for a TileContainer rotated 90° counterclockwise, the + TileContainer's children inherit a coordinate system that is + rotated 90° counterclockwise. The object's coordinates refer to the + registration point position. + + <__alpha> + + + + <__blendMode> + + + + <__colorTransform> + + + + <__dirty> + + + + <__id> + + + + <__length> + + + + <__matrix> + + + + <__originX> + + + + <__originY> + + + + <__rect> + + + + <__rotation> + + + + <__rotationCosine> + + + + <__rotationSine> + + + + <__scaleX> + + + + <__scaleY> + + + + <__shader> + + + + <__tileset> + + + + <__visible> + + + + + + Duplicates an instance of a Tile subclass. + + @return A new Tile object that is identical to the original. + + + + + + + Gets you the bounding box of the Tile. + It will find a tileset to know the original rect + Then it will apply all the transformations from his parent. + + @param targetCoordinateSpace The tile that works as a coordinate system. + @return Rectangle The bounding box. If no box found, this will return {0,0,0,0} rectangle instead of null. + + <__getBounds set="method" line="384"> + + + + + + + + + + + + + Evaluates the bounding box of the tile to see if it overlaps or + intersects with the bounding box of the `obj` tile. + Both tiles must be under the same Tilemap for this to work. + + @param obj The tile to test against. + @return `true` if the bounding boxes of the tiles + intersect; `false` if not. + + + + Calling the `invalidate()` method signals to have the current tile + redrawn the next time the tile object is eligible to be rendered. + + Invalidation is handled automatically, but in some cases it is + necessary to trigger it manually, such as changing the parameters + of a Shader instance attached to this tile. + + <__findTileRect set="method" line="460"> + + + + + + + <__findTileset set="method" line="497"> + + + + <__getWorldTransform set="method" line="512"> + + + Climbs all the way up to get a transformation matrix + adds his own matrix and then returns it. + @return Matrix The final transformation matrix from stage to this point. + + <__setRenderDirty set="method" line="524"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { originY : 0, originX : 0, rotation : 0, scaleY : 1, scaleX : 1, y : 0, x : 0, id : 0 } + + The Tile class is the base class for all objects that can be contained in a + ITileContainer object. Use the Tilemap or TileContainer class to arrange the tile + objects in the tile list. Tilemap or TileContainer objects can contain tile' + objects, while other the Tile class is a "leaf" node that have only parents and + siblings, no children. + + The Tile class supports basic functionality like the _x_ and _y_ position of an + tile, as well as more advanced properties of a tile such as its transformation + matrix. + + Tile objects render from a Tileset using either an `id` or a `rect` value, to + reference either an existing rectangle within the Tileset, or a custom rectangle. + + Tile objects cannot be rendered on their own. In order to display a Tile object, + it should be contained within a Tilemap instance. + + "tags=\"haxe,release\"" + + openfl.geom.ColorTransform + openfl.geom.Matrix + openfl.geom.Rectangle + + + + + + + + Returns the number of tiles of this object. + + <__tiles> + + + + + + + + + Adds a Tile instance to this TileContainer instance. The tile is + added to the front (top) of all other tiles in this TileContainer + instance. (To add a tile to a specific index position, use the `addTileAt()` + method.) + + @param tile The Tile instance to add to this TileContainer instance. + @return The Tile instance that you pass in the `tile` parameter. + + + + + + + + Adds a Tile instance to this TileContainer instance. The tile is added + at the index position specified. An index of 0 represents the back (bottom) + of the rendered list for this TileContainer object. + + For example, the following example shows three tiles, labeled + a, b, and c, at index positions 0, 2, and 1, respectively: + + ![b over c over a](/images/DisplayObjectContainer_layers.jpg) + + @param tile The Tile instance to add to this TileContainer instance. + @param index The index position to which the tile is added. If you + specify a currently occupied index position, the tile object + that exists at that position and all higher positions are + moved up one position in the tile list. + @return The Tile instance that you pass in the `tile` parameter. + + + + + + + Adds an Array of Tile instances to this TileContainer instance. The tiles + are added to the front (top) of all other tiles in this TileContainer + instance. + + @param tiles The Tile instances to add to this TileContainer instance. + @return The Tile Array that you pass in the `tiles` parameter. + + + + + + + + Determines whether the specified tile is contained within the + TileContainer instance. The search includes the entire tile list including + this TileContainer instance. Grandchildren, great-grandchildren, and so on + each return `true`. + + @param tile The tile object to test. + @return `true` if the `tile` object is contained within the TileContainer; + otherwise `false`. + + + + + + + Override from tile. A single tile, just has his rectangle. + A container must get a rectangle that contains all other rectangles. + + @param targetCoordinateSpace The tile that works as a coordinate system. + @return Rectangle The bounding box. If no box found, this will return {0,0,0,0} rectangle instead of null. + + + + + + + Returns the tile instance that exists at the specified index. + + @param index The index position of the tile object. + @return The tile object at the specified index position. + + + + + + + Returns the index position of a contained Tile instance. + + @param child The Tile instance to identify. + @return The index position of the tile object to identify. + + + + + + + Removes the specified Tile instance from the tile list of the TileContainer + instance. The index positions of any tile objects above the tile in the + TileContainer are decreased by 1. + + @param tile The Tile instance to remove. + @return The Tile instance that you pass in the `tile` parameter. + + + + + + + Removes a Tile from the specified `index` position in the tile list of the + TileContainer. The index positions of any tile objects above the tile in + the TileContainer are decreased by 1. + + @param index The index of the Tile to remove. + @return The Tile instance that was removed. + + + + + + + + { endIndex : 0x7fffffff, beginIndex : 0 } + Removes all Tile instances from the tile list of the TileContainer instance. + + @param beginIndex The beginning position. + @param endIndex The ending position. + + + + + + + + Changes the position of an existing tile in the tile container. + This affects the layering of tile objects. For example, the following + example shows three tile objects, labeled a, b, and c, at index + positions 0, 1, and 2, respectively: + + ![c over b over a](/images/DisplayObjectContainerSetChildIndex1.jpg) + + When you use the `setTileIndex()` method and specify an + index position that is already occupied, the only positions that change + are those in between the tile object's former and new position. All + others will stay the same. If a tile is moved to an index LOWER than its + current index, all tiles in between will INCREASE by 1 for their index + reference. If a tile is moved to an index HIGHER than its current index, + all tiles in between will DECREASE by 1 for their index reference. For + example, if the tile container in the previous example is named + `container`, you can swap the position of the tile objects + labeled a and b by calling the following code: + + ```haxe + container.setTileIndex(container.getTileAt(1), 0); + ``` + + This code results in the following arrangement of objects: + + ![c over a over b](/images/DisplayObjectContainerSetChildIndex2.jpg) + + @param tile The Tile instance for which you want to change the index + number. + @param index The resulting index number for the `tile` object. + + + + + + + + + + + Sorts the z-order (front-to-back order) of all the tile objects in this + container based on a comparison function. + + A comparison function should take two arguments to compare. Given the elements + A and B, the result of `compareFunction` can have a negative, 0, or positive value: + + * A negative return value specifies that A appears before B in the sorted sequence. + * A return value of 0 specifies that A and B have the same sort order. + * A positive return value specifies that A appears after B in the sorted sequence. + + The sort operation is not guaranteed to be stable, which means that the + order of equal elements may not be retained. + + @param compareFunction A comparison function to use when sorting. + + + + + + + + Swaps the z-order (front-to-back order) of the two specified tile + objects. All other tile objects in the tile container remain in + the same index positions. + + @param child1 The first tile object. + @param child2 The second tile object. + + + + + + + + Swaps the z-order (front-to-back order) of the tile objects at the two + specified index positions in the tile list. All other tile objects in + the tile container remain in the same index positions. + + @param index1 The index position of the first tile object. + @param index2 The index position of the second tile object. + + + + + + + + + + + + + + + + + + + + + + + + + + + { originY : 0, originX : 0, rotation : 0, scaleY : 1, scaleX : 1, y : 0, x : 0 } + + The TileContainer type is a special kind of Tile that can hold + other tiles within it. + + Tile and TileContainer objects can be rendered by adding them to + a Tilemap instance. + + + "tags=\"haxe,release\"" + + openfl.geom.Matrix + openfl.geom.Rectangle + + + + + + + + Returns the number of tiles of this object. + + + + Enable or disable support for the `alpha` property of contained tiles. Disabling + this property can improve performance on certain renderers. + + + + Enable or disable support for the `blendMode` property of contained tiles. + Disabling this property can improve performance on certain renderers. + + + + Enable or disable support for the `colorTransform` property of contained tiles. + Disabling this property can improve performance on certain renderers. + + + + Optionally define a default Tileset to be used for all contained tiles. Tile + instances that do not have their `tileset` property defined will use this value. + + If a Tile object does not have a Tileset set, either using this property or using + the Tile `tileset` property, it will not be rendered. + + + + Controls whether or not the tilemap is smoothed when scaled. If + `true`, the bitmap is smoothed when scaled. If `false`, the tilemap is not + smoothed when scaled. + + <__group> + + + + <__tileset> + + + + <__buffer> + + + + <__bufferDirty> + + + + <__height> + + + + <__width> + + + + + + + + + Adds a Tile instance to this Tilemap instance. The tile is + added to the front (top) of all other tiles in this Tilemap + instance. (To add a tile to a specific index position, use the `addTileAt()` + method.) + + @param tile The Tile instance to add to this Tilemap instance. + @return The Tile instance that you pass in the `tile` parameter. + + + + + + + + Adds a Tile instance to this Tilemap instance. The tile is added + at the index position specified. An index of 0 represents the back (bottom) + of the rendered list for this Tilemap object. + + For example, the following example shows three tiles, labeled + a, b, and c, at index positions 0, 2, and 1, respectively: + + ![b over c over a](/images/DisplayObjectContainer_layers.jpg) + + @param tile The Tile instance to add to this Tilemap instance. + @param index The index position to which the tile is added. If you + specify a currently occupied index position, the tile object + that exists at that position and all higher positions are + moved up one position in the tile list. + @return The Tile instance that you pass in the `tile` parameter. + + + + + + + Adds an Array of Tile instances to this Tilemap instance. The tiles + are added to the front (top) of all other tiles in this Tilemap + instance. + + @param tiles The Tile instances to add to this Tilemap instance. + @return The Tile Array that you pass in the `tiles` parameter. + + + + + + + Determines whether the specified tile is contained within the + Tilemap instance. The search includes the entire tile list including + this Tilemap instance. Grandchildren, great-grandchildren, and so on + each return `true`. + + @param tile The tile object to test. + @return `true` if the `tile` object is contained within the Tilemap; + otherwise `false`. + + + + + + + Returns the tile instance that exists at the specified index. + + @param index The index position of the tile object. + @return The tile object at the specified index position. + + + + + + + Returns the index position of a contained Tile instance. + + @param child The Tile instance to identify. + @return The index position of the tile object to identify. + + + + Returns a TileContainer with each of the tiles contained within this + Tilemap. + + @return A new TileContainer with the same Tile references as this Tilemap + + + + + + + Removes the specified Tile instance from the tile list of the Tilemap + instance. The index positions of any tile objects above the tile in the + Tilemap are decreased by 1. + + @param tile The Tile instance to remove. + @return The Tile instance that you pass in the `tile` parameter. + + + + + + + Removes a Tile from the specified `index` position in the tile list of the + Tilemap. The index positions of any tile objects above the tile in + the Tilemap are decreased by 1. + + @param index The index of the Tile to remove. + @return The Tile instance that was removed. + + + + + + + + { endIndex : 0x7fffffff, beginIndex : 0 } + Removes all Tile instances from the tile list of the ITileContainer instance. + + @param beginIndex The beginning position. + @param endIndex The ending position. + + + + + + + + Changes the position of an existing tile in the tile container. + This affects the layering of tile objects. For example, the following + example shows three tile objects, labeled a, b, and c, at index + positions 0, 1, and 2, respectively: + + ![c over b over a](/images/DisplayObjectContainerSetChildIndex1.jpg) + + When you use the `setTileIndex()` method and specify an + index position that is already occupied, the only positions that change + are those in between the tile object's former and new position. All + others will stay the same. If a tile is moved to an index LOWER than its + current index, all tiles in between will INCREASE by 1 for their index + reference. If a tile is moved to an index HIGHER than its current index, + all tiles in between will DECREASE by 1 for their index reference. For + example, if the tile container in the previous example is named + `container`, you can swap the position of the tile objects + labeled a and b by calling the following code: + + ```haxe + container.setTileIndex(container.getTileAt(1), 0); + ``` + + This code results in the following arrangement of objects: + + ![c over a over b](/images/DisplayObjectContainerSetChildIndex2.jpg) + + @param tile The Tile instance for which you want to change the index + number. + @param index The resulting index number for the `tile` object. + + + + + + + Sets all the Tile instances of this Tilemap instance. + + @param beginIndex The beginning position. + @param endIndex The ending position. + + + + + + + + + + + Sorts the z-order (front-to-back order) of all the tile objects in this + container based on a comparison function. + + A comparison function should take two arguments to compare. Given the elements + A and B, the result of `compareFunction` can have a negative, 0, or positive value: + + * A negative return value specifies that A appears before B in the sorted sequence. + * A return value of 0 specifies that A and B have the same sort order. + * A positive return value specifies that A appears after B in the sorted sequence. + + The sort operation is not guaranteed to be stable, which means that the + order of equal elements may not be retained. + + @param compareFunction A comparison function to use when sorting. + + + + + + + + Swaps the z-order (front-to-back order) of the two specified tile + objects. All other tile objects in the tile container remain in + the same index positions. + + @param child1 The first tile object. + @param child2 The second tile object. + + + + + + + + Swaps the z-order (front-to-back order) of the tile objects at the two + specified index positions in the tile list. All other tile objects in + the tile container remain in the same index positions. + + @param index1 The index position of the first tile object. + @param index2 The index position of the second tile object. + + <__enterFrame set="method" line="378" override="1"> + + + + + + + <__getBounds set="method" line="388" override="1"> + + + + + + + + <__hitTest set="method" line="402" override="1"> + + + + + + + + + + + + <__renderFlash set="method" line="426"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { smoothing : true, tileset : null } + Creates a new Tilemap object. + + @param width The width of the tilemap in pixels. + @param height The height of the tilemap in pixels. + @param tileset A Tileset being referenced. + @param smoothing Whether or not the tilemap is smoothed when scaled. For example, the following examples + show the same tilemap scaled by a factor of 3, with `smoothing` set to `false` (left) and `true` (right): + + ![A bitmap without smoothing.](/images/bitmap_smoothing_off.jpg) ![A bitmap with smoothing.](/images/bitmap_smoothing_on.jpg) + + The Tilemap class represents a "quad batch", or series of objects that are + rendered from the same bitmap. The Tilemap class is designed to encourage + the use of a single Tileset reference for best performance, but it is possible + to use unique Tileset references for each Tile or TileContainer within a + Tilemap. + + On software renderered platforms, the Tilemap class uses a rendering method + similar to BitmapData `copyPixels`, so it will perform fastest if tile objects + do not use rotation or scale. + + On hardware rendered platforms, the Tilemap class uses a rendering method + that is fast even with transforms, and allows support for additional features, + such as custom `shader` references, and color transform. Using multiple Shader + or Tileset references will require a new draw call each time there is a change. + + **Note:** The Tilemap class is not a subclass of the InteractiveObject + class, so it cannot dispatch mouse events. However, you can use the + `addEventListener()` method of the display object container that + contains the Tilemap object. + + + "tags=\"haxe,release\"" + + openfl.display.Tile + openfl.geom.ColorTransform + openfl.geom.Matrix + openfl.geom.Rectangle + + + + + + The BitmapData object being referenced. + + + + The rectangles contained in this Tileset, structured as a Vector object. + + You can use the Tileset `rectData` property alongside the Graphics + `drawQuads` method as a convenient way of re-using a list of rectangles. + + + + Returns the number of rectangles defined in this Tileset. + + <__bitmapData> + + + + <__data> + + + + + + + + + Adds a new rectangle to this Tilemap object. + + @param rect A Rectangle represented a part of the referenced BitmapData object + @returns The assigned ID value for this new rectangle + + + + Duplicates an instance of a Tileset subclass. + + @return A new Tileset object that is identical to the original. + + + + + + + Returns whether the current Tileset already has a rectangle + defined that matches the dimensions of a specific rectangle + object. + + @param rect A Rectangle object to compare against + @returns Whether the Tileset already contains the value of this rectangle + + + + + + + Get the rectangle value associated with a specific tile ID. + + If the ID is invalid, then a `null` value will be returned. + + @param id A tile ID + @return A new Rectangle containing the tile source rectangle, or `null` if the + tile ID does not exist in this Tileset + + + + + + + Gets the tile ID associated with a specified rectangle + value, if it is defined in the Tileset. This will return + `null` if the rectangle value is not defined in the Tileset. + + @param rect A Rectangle object to compare against + @returns The defined tile ID, or `null` if the rectangle + value is not present in this Tileset + + + + + + + + + + + + + + + + + + + + + + + { rects : null } + Creates a new Tileset instance. + + @param bitmapData A BitmapData object to reference + @param rects An optional array of rectangles to define with the referenced BitmapData + + The Tileset class lets you specify logical rectangles within a larger + BitmapData object, to be rendered using a Tilemap instance. + + The `Tileset()` constructor allows you to create a Tileset + object that contains a reference to a BitmapData object. After you create a + Tileset object, use the `addRect()` method to specify rectangles to be used + for tile rendering. + + "tags=\"haxe,release\"" + + openfl.geom.Rectangle + + + + + + + + <__bitmapData public="1"> + <__uvHeight public="1"> + <__uvWidth public="1"> + <__uvX public="1"> + <__uvY public="1"> + <__update set="method" line="247"> + + + + + + + + + + + + { rect : null } + + + + "tags=\"haxe,release\"" + + "checkstyle:FieldDocComment" + openfl.display.Tileset + hide + + + + + + + <__currentFrame> + + + + <__currentFrameLabel> + + + + <__currentLabel> + + + + <__currentLabels> + + + + <__currentScene> + + + + <__frameScripts> + + + + + + + + + + <__framesLoaded> + + + + <__frameTime> + + + + <__isPlaying> + + + + <__lastFrameScriptEval> + + + + <__lastFrameUpdate> + + + + <__scope> + + + + <__timeElapsed> + + + + <__totalFrames> + + + + + + + + + + + + + + + + + + <__addFrameScript set="method" line="47"> + + + + + + + + <__attachMovieClip set="method" line="71"> + + + + + + + <__enterFrame set="method" line="107"> + + + + + + + <__evaluateFrameScripts set="method" line="144"> + + + + + + + <__getNextFrame set="method" line="176"> + + + + + + + <__goto set="method" line="197"> + + + + + + + <__gotoAndPlay set="method" line="209"> + + + + + + + { scene : null } + + + + <__gotoAndStop set="method" line="215"> + + + + + + + { scene : null } + + + + <__nextFrame set="method" line="221"> + + + + <__nextScene set="method" line="227"> + + + + <__play set="method" line="232"> + + + + <__prevFrame set="method" line="245"> + + + + <__prevScene set="method" line="251"> + + + + <__stop set="method" line="256"> + + + + <__resolveFrameReference set="method" line="261"> + + + + + + + <__updateFrameLabel set="method" line="287"> + + + + <__updateSymbol set="method" line="312"> + + + + + + + + + "tags=\"haxe,release\"" + + + + + + + + Defines codes for culling algorithms that determine which triangles not to + render when drawing triangle paths. + + The terms `POSITIVE` and `NEGATIVE` refer to the + sign of a triangle's normal along the z-axis. The normal is a 3D vector + that is perpendicular to the surface of the triangle. + + A triangle whose vertices 0, 1, and 2 are arranged in a clockwise order + has a positive normal value. That is, its normal points in a positive + z-axis direction, away from the current view point. When the + `TriangleCulling.POSITIVE` algorithm is used, triangles with + positive normals are not rendered. Another term for this is backface + culling. + + A triangle whose vertices are arranged in a counter-clockwise order has + a negative normal value. That is, its normal points in a negative z-axis + direction, toward the current view point. When the + `TriangleCulling.NEGATIVE` algorithm is used, triangles with + negative normals will not be rendered. + + + + + + cast 0 + + + + Specifies culling of all triangles facing toward the current view point. + + + + + cast 1 + + + + Specifies no culling. All triangles in the path are rendered. + + + + + cast 2 + + + + Specifies culling of all triangles facing away from the current view + point. This is also known as backface culling. + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + Specifies culling of all triangles facing toward the current view point. + + + + + cast 1 + + + + Specifies no culling. All triangles in the path are rendered. + + + + + cast 2 + + + + Specifies culling of all triangles facing away from the current view + point. This is also known as backface culling. + + + + + + + + + + + + + + + + + + + + + + + + + + + "checkstyle:Dynamic" + + + + The Window class is a Lime Window instance that automatically + initializes an OpenFL stage for the current window. + + + "tags=\"haxe,release\"" + + openfl.display.LoaderInfo + openfl.display.Stage + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { stitch_threshold : 0.05, stitch : false } + + + "tags=\"haxe,release\"" + + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + lime.graphics.ImageBuffer + openfl.display.Bitmap + openfl.display.BitmapData + openfl.geom.Matrix + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + openfl.display.BitmapData + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + openfl.display.DisplayObject + openfl.geom.Matrix + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + openfl.display.DisplayObject + openfl.display.DisplayObjectContainer + + + + + + new DrawCommandBuffer() + + + + + + + + + + + + "checkstyle:Dynamic" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + openfl.display._internal.DrawCommandReader + "checkstyle:FieldDocComment" + + + + + + 0.70710678118654752440084436210485 + + + + 0.4142135623730950488016887242097 + + + + + + + + + new DrawCommandBuffer() + + + + + + + + + + + + new DrawCommandBuffer() + + + + + new Matrix3() + + + + + + + + { strokeBefore : false } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { skipT : false } + + + + + + + + { stroke : false } + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + openfl.display.DisplayObject + openfl.display.BitmapData + openfl.display.Graphics + openfl.geom.Matrix + openfl.geom.Point + openfl.geom.Rectangle + "checkstyle:FieldDocComment" + + + + + + + + + + new Matrix3() + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + openfl.display.DisplayObject + openfl.display.Graphics + openfl.geom.Matrix + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + openfl.display.SimpleButton + + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + openfl.display.BitmapData + openfl.display.Graphics + openfl.geom.Matrix + openfl.text.TextField + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + + + + + + + + + + + + + + "checkstyle:Dynamic" + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + lime.graphics.ImageBuffer + openfl.display.BitmapData + openfl.display.Tile + openfl.display.TileContainer + openfl.display.Tilemap + openfl.display.Tileset + openfl.geom.Matrix + openfl.geom.Rectangle + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + + + + + + + + openfl.display.Bitmap + openfl.display.BitmapData + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + + + openfl.display.BitmapData + + + + + + + + + + + + + + + + + + + + + openfl.display.DisplayObject + openfl.geom.Matrix + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + + + openfl.display.DisplayObject + openfl.display.DisplayObjectContainer + + + + + + 0.70710678118654752440084436210485 + + + + 0.4142135623730950488016887242097 + + + + + + + + + new DrawCommandBuffer() + + + + + + + + + + new DrawCommandBuffer() + + + + "checkstyle:Dynamic" + + + + + + + + { strokeBefore : false } + + + + + + + + + "checkstyle:Dynamic" + + + + + + + + + + + + + + "checkstyle:Dynamic" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { skipT : false } + + + + + + + + { stroke : false } + + + + + + + + + + + + + + + + + + openfl.display.DisplayObject + openfl.display.BitmapData + openfl.display.Graphics + openfl.geom.Matrix + openfl.geom.Point + openfl.geom.Rectangle + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + + + + + + + openfl.display.SimpleButton + + + + + + + + + + + + + + + + + + + + + + openfl.text._internal.TextEngine + openfl.display.Graphics + openfl.geom.Matrix + openfl.text.TextField + openfl.text.TextFormat + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + + + + + + + + + + + + "checkstyle:Dynamic" + + + + + + + + + + + + + + lime.graphics.ImageBuffer + openfl.display.BitmapData + openfl.display.Tile + openfl.display.TileContainer + openfl.display.Tilemap + openfl.display.Tileset + openfl.geom.Matrix + openfl.geom.Rectangle + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + + + + + + + + openfl.media.Video + openfl.net.NetStream + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + + + + + + + + + + + + + " tags=\"haxe,release\" " + + openfl.display3D.Context3D + openfl.display.Bitmap + openfl.display.BitmapData + openfl.display.Shader + openfl.display.Stage + openfl.filters.BitmapFilter + openfl.geom.ColorTransform + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + + + " tags=\"haxe,release\" " + + openfl.display.BitmapData + openfl.display.Shader + openfl.display3D.Context3D + + + + + + 0xFFFF + + + + 0x2AAA + + + + 0xFFFC + + + + + + + + + + + + + + + + + + { length : -1 } + + + + + + + + + { dataPerVertex : -1 } + + + + + + + + + + + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + openfl.display3D.Context3D + openfl.display.DisplayObject + openfl.geom.Matrix + openfl.geom.Rectangle + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + + + " tags=\"haxe,release\" " + + openfl.display.DisplayObject + openfl.display.DisplayObjectContainer + + + + + + new BitmapData(1, 1, false, 0) + + + + + new ColorTransform(1, 1, 1, 1, 0, 0, 0, 0) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + openfl.display3D.Context3D + openfl.display.DisplayObject + openfl.display.Graphics + openfl.display.Shader + openfl.geom.ColorTransform + openfl.geom.Matrix + openfl.geom.Rectangle + "checkstyle:FieldDocComment" + + + + + + + new BitmapData(1, 1, false, 0) + + + + + + hide + + openfl.display._internal + + + + + + + hide + + openfl.display._internal + + + + + + + hide + + openfl.display._internal + + + + + + + hide + + openfl.display._internal + + + + + + "varying vec2 openfl_TextureCoordv;\n\n\t\tuniform sampler2D openfl_Texture;\n\n\t\tvoid main(void) {\n\n\t\t\tvec4 color = texture2D (openfl_Texture, openfl_TextureCoordv);\n\n\t\t\tif (color.a == 0.0) {\n\n\t\t\t\tdiscard;\n\n\t\t\t} else {\n\n\t\t\t\tgl_FragColor = color;\n\n\t\t\t}\n\n\t\t}" + "attribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform mat4 openfl_Matrix;\n\n\t\tvoid main(void) {\n\n\t\t\topenfl_TextureCoordv = openfl_TextureCoord;\n\n\t\t\tgl_Position = openfl_Matrix * openfl_Position;\n\n\t\t}" + + + + + openfl.utils._internal.ShaderMacro.build() + openfl.utils._internal.ShaderMacro.build() + "tags=\"haxe,release\"" + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + openfl.display3D.Context3D + openfl.display.DisplayObject + openfl.display.BitmapData + openfl.display.Graphics + openfl.display.Shader + openfl.filters.BitmapFilter + openfl.geom.ColorTransform + openfl.geom.Matrix + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + + + " tags=\"haxe,release\" " + + openfl.display.SimpleButton + + + + + + + + + + + + + + + + + + + + + + + + + + " tags=\"haxe,release\" " + + openfl.display.Graphics + openfl.text.TextField + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { isTopLevel : true } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + openfl.display3D.Context3D + openfl.display3D.VertexBuffer3D + openfl.display.Shader + openfl.display.Tilemap + openfl.display.Tileset + openfl.display.Tile + openfl.filters.BitmapFilter + openfl.geom.ColorTransform + openfl.geom.Matrix + openfl.geom.Rectangle + "checkstyle:FieldDocComment" + + + + <__textureSizeValue expr="[0, 0.]" line="22" static="1"> + + [0, 0.] + + + + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + openfl.display3D.Context3D + openfl.display.Shader + openfl.geom.ColorTransform + openfl.media.Video + openfl.net.NetStream + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lime.graphics.ImageBuffer + openfl.display.Bitmap + openfl.display.BitmapData + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + + + + + + + + + + + + + openfl.display.DisplayObject + openfl.geom.Matrix + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + + + openfl.display.DisplayObject + openfl.display.DisplayObjectContainer + + + + + + + + + + + + + + + + openfl.display.DisplayObject + openfl.display.SimpleButton + + + + <__regexColor expr="~/color=("#([^"]+)"|'#([^']+)')/" line="19" static="1"> + + ~/color=("#([^"]+)"|'#([^']+)')/ + + <__regexFace expr="~/face=("([^"]+)"|'([^']+)')/" line="20" static="1"> + + ~/face=("([^"]+)"|'([^']+)')/ + + <__regexFont expr="~/<font ([^>]+)>/" line="21" static="1"> + + ]+)>/]]> + + <__regexCloseFont expr="new EReg("</font>", "gi")" line="22" static="1"> + + ", "gi")]]> + + <__regexSize expr="~/size=("([^"]+)"|'([^']+)')/" line="23" static="1"> + + ~/size=("([^"]+)"|'([^']+)')/ + + + + + + + + + + + + + + + + + + + + + + + + + + <__getAttributeMatch set="method" line="388" static="1"> + + + + + + openfl.display.DisplayObject + openfl.text._internal.TextEngine + openfl.text.TextField + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + + + + + + + + + + + + + openfl.display.DisplayObject + openfl.display.TileContainer + openfl.display.Tilemap + openfl.geom.Matrix + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + + + + + + + + + + + + + openfl.media.Video + openfl.net.NetStream + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "checkstyle:Dynamic" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + openfl.display._internal + openfl.display._internal + "checkstyle:FieldDocComment" + + + + + + <_new public="1" get="inline" set="null" line="335" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="335" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="371" static="1"> + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="371" static="1"> + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="393" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="393" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="457" static="1"> + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="457" static="1"> + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="472" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="472" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="522" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="522" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="558" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="558" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="587" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="587" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="623" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="623" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="652" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="652" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="688" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="688" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="738" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="738" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="774" static="1"> + + + + + + + + <_new public="1" get="inline" set="null" line="774" static="1"> + + + + + + + + + + <_new public="1" get="inline" set="null" line="782" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="782" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="818" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="818" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="882" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="882" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="946" static="1"> + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="946" static="1"> + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="968" static="1"> + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="968" static="1"> + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="990" static="1"> + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="990" static="1"> + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="1005" static="1"> + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="1005" static="1"> + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="1020" static="1"> + + + + + + + + <_new public="1" get="inline" set="null" line="1020" static="1"> + + + + + + + + + <_new public="1" get="inline" set="null" line="1028" static="1"> + + + + + + + + <_new public="1" get="inline" set="null" line="1028" static="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "checkstyle:FieldDocComment" + + + <__renderFlash set="method"> + openfl.display._internal.FlashRenderer + + + + + new ColorTransform() + + + + new Bitmap() + + + + new Point() + + + + new Rectangle() + + + + + + + + + + + + + + + + + + + + + + openfl.display.Tile + openfl.display.TileContainer + openfl.display.Tilemap + openfl.display.Tileset + "checkstyle:FieldDocComment" + + + + + + hide + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + cast 6 + + + + + + + + cast 7 + + + + + + + + cast 8 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + cast 6 + + + + + + + + cast 7 + + + + + + + + cast 8 + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + cast 6 + + + + + + + + cast 7 + + + + + + + + + cast 9 + + + + + + + + cast 10 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + cast 6 + + + + + + + + cast 7 + + + + + + + + + cast 9 + + + + + + + + cast 10 + + + + + + + + +

      + + + [151, 160, 137, 91, 90, 15, 131, 13, 201, 95, 96, 53, 194, 233, 7, 225, 140, 36, 103, 30, 69, 142, 8, 99, 37, 240, 21, 10, 23, 190, 6, 148, 247, 120, 234, 75, 0, 26, 197, 62, 94, 252, 219, 203, 117, 35, 11, 32, 57, 177, 33, 88, 237, 149, 56, 87, 174, 20, 125, 136, 171, 168, 68, 175, 74, 165, 71, 134, 139, 48, 27, 166, 77, 146, 158, 231, 83, 111, 229, 122, 60, 211, 133, 230, 220, 105, 92, 41, 55, 46, 245, 40, 244, 102, 143, 54, 65, 25, 63, 161, 1, 216, 80, 73, 209, 76, 132, 187, 208, 89, 18, 169, 200, 196, 135, 130, 116, 188, 159, 86, 164, 100, 109, 198, 173, 186, 3, 64, 52, 217, 226, 250, 124, 123, 5, 202, 38, 147, 118, 126, 255, 82, 85, 212, 207, 206, 59, 227, 47, 16, 58, 17, 182, 189, 28, 42, 223, 183, 170, 213, 119, 248, 152, 2, 44, 154, 163, 70, 221, 153, 101, 155, 167, 43, 172, 9, 129, 22, 39, 253, 19, 98, 108, 110, 79, 113, 224, 232, 178, 185, 112, 104, 218, 246, 97, 228, 251, 34, 242, 193, 238, 210, 144, 12, 191, 179, 162, 241, 81, 51, 145, 235, 249, 14, 239, 107, 49, 192, 214, 31, 181, 199, 106, 157, 184, 84, 204, 176, 115, 121, 50, 45, 127, 4, 150, 254, 138, 236, 205, 93, 222, 114, 67, 29, 24, 72, 243, 141, 128, 195, 78, 66, 215, 61, 156, 180, 151, 160, 137, 91, 90, 15, 131, 13, 201, 95, 96, 53, 194, 233, 7, 225, 140, 36, 103, 30, 69, 142, 8, 99, 37, 240, 21, 10, 23, 190, 6, 148, 247, 120, 234, 75, 0, 26, 197, 62, 94, 252, 219, 203, 117, 35, 11, 32, 57, 177, 33, 88, 237, 149, 56, 87, 174, 20, 125, 136, 171, 168, 68, 175, 74, 165, 71, 134, 139, 48, 27, 166, 77, 146, 158, 231, 83, 111, 229, 122, 60, 211, 133, 230, 220, 105, 92, 41, 55, 46, 245, 40, 244, 102, 143, 54, 65, 25, 63, 161, 1, 216, 80, 73, 209, 76, 132, 187, 208, 89, 18, 169, 200, 196, 135, 130, 116, 188, 159, 86, 164, 100, 109, 198, 173, 186, 3, 64, 52, 217, 226, 250, 124, 123, 5, 202, 38, 147, 118, 126, 255, 82, 85, 212, 207, 206, 59, 227, 47, 16, 58, 17, 182, 189, 28, 42, 223, 183, 170, 213, 119, 248, 152, 2, 44, 154, 163, 70, 221, 153, 101, 155, 167, 43, 172, 9, 129, 22, 39, 253, 19, 98, 108, 110, 79, 113, 224, 232, 178, 185, 112, 104, 218, 246, 97, 228, 251, 34, 242, 193, 238, 210, 144, 12, 191, 179, 162, 241, 81, 51, 145, 235, 249, 14, 239, 107, 49, 192, 214, 31, 181, 199, 106, 157, 184, 84, 204, 176, 115, 121, 50, 45, 127, 4, 150, 254, 138, 236, 205, 93, 222, 114, 67, 29, 24, 72, 243, 141, 128, 195, 78, 66, 215, 61, 156, 180] + "checkstyle:ConstantName" + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { stitch_threshold : 0.05, stitch : false } + + + + "tags=\"haxe,release\"" + + "checkstyle:FieldDocComment" + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { textureAlpha : false, centroid : false, ignoreSampler : false, lodBias : 0.0, mipfilter : MIPNONE, filter : NEAREST, wrap : CLAMP } + + + + "tags=\"haxe,release\"" + + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + + + + + + + "checkstyle:Dynamic" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + openfl.display.Shader + "checkstyle:FieldDocComment" + + + + + + + false + Indicates if Context3D supports video texture. + + <__driverInfo static="1"> + + + + <__glDepthStencil expr="-1" line="254" static="1"> + + + -1 + + + + <__glMaxTextureMaxAnisotropy expr="-1" line="255" static="1"> + + + -1 + + + + <__glMaxViewportDims expr="-1" line="256" static="1"> + + + -1 + + + + <__glMemoryCurrentAvailable expr="-1" line="257" static="1"> + + + -1 + + + + <__glMemoryTotalAvailable expr="-1" line="258" static="1"> + + + -1 + + + + <__glTextureMaxAnisotropy expr="-1" line="259" static="1"> + + + -1 + + + + + + 0 + Specifies the height of the back buffer, which can be changed by a successful + call to the `configureBackBuffer()` method. The height may be modified when the + browser zoom factor changes if the `wantsBestResolutionOnBrowserZoom` parameter + is set to `true` in the last successful call to the `configureBackBuffer()` + method. The change in height can be detected by registering an event listener + for the browser zoom change event. + + + + 0 + Specifies the width of the back buffer, which can be changed by a successful + call to the `configureBackBuffer()` method. The width may be modified when the + browser zoom factor changes if the `wantsBestResolutionOnBrowserZoom` parameter + is set to `true` in the last successful call to the `configureBackBuffer()` + method. The change in width can be detected by registering an event listener + for the browser zoom change event. + + + + "OpenGL (Direct blitting)" + The type of graphics library driver used by this rendering context. Indicates + whether the rendering is using software, a DirectX driver, or an OpenGL driver. + Also indicates whether hardware rendering failed. If hardware rendering fails, + Flash Player uses software rendering for Stage3D and `driverInfo` contains one + of the following values: + + * "Software Hw_disabled=userDisabled" - The Enable hardware acceleration + checkbox in the Adobe Flash Player Settings UI is not selected. + * "Software Hw_disabled=oldDriver" - There are known problems with the + hardware graphics driver. Updating the graphics driver may fix this problem. + * "Software Hw_disabled=unavailable" - Known problems with the hardware + graphics driver or hardware graphics initialization failure. + * "Software Hw_disabled=explicit" - The content explicitly requested software + rendering through requestContext3D. + * "Software Hw_disabled=domainMemory" - The content uses domainMemory, which + requires a license when used with Stage3D hardware rendering. Visit + adobe.com/go/fpl. + + + + Specifies whether errors encountered by the renderer are reported to the + application. + + When `enableErrorChecking` is `true`, the `clear()`, and `drawTriangles()` + methods are synchronous and can throw errors. When `enableErrorChecking` + is `false`, the default, the `clear()`, and `drawTriangles()` methods are + asynchronous and errors are not reported. Enabling error checking reduces + rendering performance. You should only enable error checking when debugging. + + + + Specifies the maximum height of the back buffer. The inital value is the system + limit in the platform. The property can be set to a value smaller than or equal + to, but not greater than, the system limit. The property can be set to a value + greater than or equal to, but not smaller than, the minimum limit. The minimum + limit is a constant value, 32, when the back buffer is not configured. The + minimum limit will be the value of the `height` parameter in the last successful + call to the `configureBackBuffer()` method after the back buffer is configured. + + + + Specifies the maximum width of the back buffer. The inital value is the system + limit in the platform. The property can be set to a value smaller than or equal + to, but not greater than, the system limit. The property can be set to a value + greater than or equal to, but not smaller than, the minimum limit. The minimum + limit is a constant value, 32, when the back buffer is not configured. The + minimum limit will be the value of the width parameter in the last successful + call to the `configureBackBuffer()` method after the back buffer is configured. + + + + STANDARD + The feature-support profile in use by this Context3D object. + + + + gpu` will + fall back to `direct`) + + This API can be used when the SWF version is 32 or later.]]> + + + + + + <__backBufferAntiAlias> + + + + <__backBufferTexture> + + + + <__backBufferWantsBestResolution> + + + + <__backBufferWantsBestResolutionOnBrowserZoom> + + + + <__cleared> + + + + <__context> + + + + <__contextState> + + + + <__renderStage3DProgram> + + + + <__enableErrorChecking> + + + + <__fragmentConstants> + + + + <__frontBufferTexture> + + + + <__positionScale> + + + + <__present> + + + + <__programs> + + + + + + + <__quadIndexBuffer> + + + + <__quadIndexBufferCount> + + + + <__quadIndexBufferElements> + + + + <__stage> + + + + <__stage3D> + + + + <__state> + + + + <__vertexConstants> + + + + + + + + + + + + + + + { mask : Context3DClearMask.ALL, stencil : 0, depth : 1, alpha : 1, blue : 0, green : 0, red : 0 } + Clears the color, depth, and stencil buffers associated with this Context3D + object and fills them with the specified values. + + Set the `mask` parameter to specify which buffers to clear. Use the constants + defined in the Context3DClearMask class to set the `mask` parameter. Use the + bitwise OR operator, "|", to add multiple buffers to the mask (or use + Context3DClearMask.ALL). When rendering to the back buffer, the + `configureBackBuffer()` method must be called before any `clear()` calls. + + **Note:** If you specify a parameter value outside the allowed range, Numeric + parameter values are silently clamped to the range zero to one. Likewise, if + stencil is greater than 0xff it is set to 0xff. + + @param red the red component of the color with which to clear the color buffer, + in the range zero to one. + @param green the green component of the color with which to clear the color + buffer, in the range zero to one. + @param blue the blue component of the color with which to clear the color + buffer, in the range zero to one. + @param alpha the alpha component of the color with which to clear the color + buffer, in the range zero to one. The alpha component is not used for blending. + It is written to the buffer alpha directly. + @param depth the value with which to clear the depth buffer, in the range + zero to one. + @param stencil the 8-bit value with which to clear the stencil buffer, in a + range of 0x00 to 0xff. + @param mask specifies which buffers to clear. + @throws Error Object Disposed: If this Context3D object has been disposed by a calling + dispose() or because the underlying rendering hardware has been lost. + @throws Error 3768: The Stage3D API may not be used during background execution. + + + + + + + + + + + + { wantsBestResolutionOnBrowserZoom : false, wantsBestResolution : false, enableDepthAndStencil : true } + Sets the viewport dimensions and other attributes of the rendering buffer. + + Rendering is double-buffered. The back buffer is swapped with the visible, + front buffer when the `present()` method is called. The minimum size of the + buffer is 32x32 pixels. The maximum size of the back buffer is limited by the + device capabilities and can also be set by the user through the properties + `maxBackBufferWidth` and `maxBackBufferHeight`. Configuring the buffer is a + slow operation. Avoid changing the buffer size or attributes during normal + rendering operations. + + @param width width in pixels of the buffer. + @param height height in pixels of the buffer. + @param antiAlias an integer value specifying the requested antialiasing + quality. The value correlates to the number of subsamples used when + antialiasing. Using more subsamples requires more calculations to be performed, + although the relative performance impact depends on the specific rendering + hardware. The type of antialiasing and whether antialiasing is performed at all is + dependent on the device and rendering mode. Antialiasing is not supported at all by + the software rendering context. + | --- | --- | + | 0 | No antialiasing | + | 2 | Minimal antialiasing | + | 4 | High-quality antialiasing | + | 16 | Very high-quality antialiasing | + @param enableDepthAndStencil `false` indicates no depth or stencil buffer is + created, `true` creates a depth and a stencil buffer. For an AIR 3.2 or later + application compiled with SWF version 15 or higher, if the `renderMode` element in + the application descriptor file is `direct`, then the `depthAndStencil` element in + the application descriptor file must have the same value as this argument. By + default, the value of the `depthAndStencil` element is `false`. + @param wantsBestResolution `true` indicates that if the device supports HiDPI + screens it will attempt to allocate a larger back buffer than indicated with the + `width` and `height` parameters. Since this add more pixels and potentially changes + the result of shader operations this is turned off by default. Use + `Stage.contentsScaleFactor` to determine by how much the native back buffer was + scaled up. + @param wantsBestResolutionOnBrowserZoom `true` indicates that the size of the + back buffer should increase in proportion to the increase in the browser zoom + factor. The setting of this value is persistent across multiple browser zooms. + The default value of the parameter is `false`. Set `maxBackBufferWidth` and + `maxBackBufferHeight` properties to limit the back buffer size increase. Use + `backBufferWidth` and `backBufferHeight` to determine the current size of the + back buffer. + @throws Error Object Disposed: if this Context3D object has been disposed by a + calling `dispose()` or because the underlying rendering hardware has been lost. + @throws Error Bad Input Size: The `width` or `height` parameter is either less + than the minimum back buffer allowed size or greater than the maximum back buffer + size allowed. + @throws Error 3709: The `depthAndStencil` flag in the application descriptor + must match the `enableDepthAndStencil` Boolean passed to `configureBackBuffer()` + on the Context3D object. + + + + + + + + + + { streamingLevels : 0 } + 0 can impact memory usage and + performance. + + @return A new CubeTexture object + @throws Error Object Disposed: if this Context3D object has been disposed by a + calling `dispose()` or because the underlying rendering hardware has been lost. + @throws Error Resource Limit Exceeded: if too many Texture objects are created + or the amount of memory allocated to textures is exceeded. + @throws ArgumentError Depth Texture Not Implemented: if you attempt to create + a depth texture. + @throws ArgumentError Texture Size Is Zero: if the size parameter is not greater + than zero. + @throws ArgumentError Texture Not Power Of Two: if the size parameter is not a + power of two. + @throws ArgumentError Texture Too Big: if the size parameter is greater than + 1024. + @throws Error Texture Creation Failed: if the CubeTexture object could not be + created by the rendering context (but information about the reason is not + available). + @throws ArgumentError Invalid streaming level: if streamingLevels is greater or + equal to `log2(size)`.]]> + + + + + + + + { bufferUsage : STATIC_DRAW } + Creates an IndexBuffer3D object. + + Use an IndexBuffer3D object to upload a set of triangle indices to the rendering + context and to reference that set of indices for rendering. Each index in the + index buffer references a corresponding vertex in a vertex buffer. Each set of + three indices identifies a triangle. Pass the IndexBuffer3D object to the + `drawTriangles()` method to render one or more triangles defined in the index + buffer. + + You cannot create IndexBuffer3D objects with the IndexBuffer3D class constructor; + use this method instead. After creating a IndexBuffer3D object, upload the + indices using the IndexBuffer3D `uploadFromVector()` or `uploadFromByteArray()` + methods. + + @param numIndices the number of vertices to be stored in the buffer. + @param bufferUsage the expected buffer usage. Use one of the constants defined + in Context3DBufferUsage. The hardware driver can do appropriate optimization + when you set it correctly. This parameter is only available after Flash 12/AIR 4. + @return A new IndexBuffer3D object + @throws Error Object Disposed: if this Context3D object has been disposed by a + calling `dispose()` or because the underlying rendering hardware has been lost. + @throws Error Resource Limit Exceeded: if too many index buffers are created + or the amount of memory allocated to index buffers is exceeded. + @throws Error 3768: The Stage3D API may not be used during background execution. + @throws ArgumentError Buffer Too Big: when `numIndices` is greater than or equal + to 0xf0000. + + + + + + + { format : AGAL } + Creates a Program3D object. + + Use a Program3D object to upload shader programs to the rendering context and + to reference uploaded programs during rendering. A Program3D object stores + two programs, a vertex program and a fragment program (also known as a pixel + program). The programs are written in a binary shader assembly language. + + You cannot create Program3D objects with a Program3D constructor; use this method + instead. After creating a Program3D object, upload the programs using the + Program3D `upload()` method. + + @param format (Experimental) Set the format of this Program3D instance to AGAL + (default) or to GLSL for use on GL-based renderers + @return A new Program3D object + @throws Error Object Disposed: if this Context3D object has been disposed by a + calling `dispose()` or because the underlying rendering hardware has been lost. + @throws Error The number of programs exceeds 4096 or the total memory size + exceeds 16MB (use dispose to free Program3D resources). + + + + + + + + + + Creates a Rectangle Texture object. + + Use a RectangleTexture object to upload texture bitmaps to the rendering context + and to reference a texture during rendering. + + You cannot create RectangleTexture objects with a RectangleTexture constructor; + use this method instead. After creating a RectangleTexture object, upload the + texture bitmaps using the Texture `uploadFromBitmapData()` or + `uploadFromByteArray()` methods. + + Note that 32-bit integer textures are stored in a packed BGRA format to match + the OpenFL BitmapData format. Floating point textures use a conventional RGBA + format. + + Rectangle textures are different from regular 2D textures in that their width and + height do not have to be powers of two. Also, they do not contain mip maps. + They are most useful for use in render to texture cases. If a rectangle texture + is used with a sampler that uses mip map filtering or repeat wrapping the + drawTriangles call will fail. Rectangle texture also do not allow streaming. The + only texture formats supported by Rectangle textures are BGRA, BGR_PACKED, + BGRA_PACKED. The compressed texture formats are not supported by Rectangle + Textures. + + @param width The texture width in texels. + @param height The texture height in texels. + @param format The texel format, of the Context3DTextureFormat enumerated list. + @param optimizeForRenderToTexture Set to true if the texture is likely to be + used as a render target. + @return A new RectangleTexture object + @throws Error Object Disposed: if this Context3D object has been disposed by a + calling dispose() or because the underlying rendering hardware has been lost. + @throws Error Resource Limit Exceeded: if too many Texture objects are created + or the amount of memory allocated to textures is exceeded. + @throws ArgumentError Texture Size Is Zero: if both the width or height + parameters are not greater than zero. + @throws ArgumentError Texture Too Big: if either the width or the height + parameter is greater than 2048. + @throws Error Texture Creation Failed: if the Texture object could not be + created by the rendering context (but information about the reason is not + available). + @throws Error Requires Baseline Profile Or Above: if rectangular texture is + created with baseline constrained profile. + + + + + + + + + + + { streamingLevels : 0 } + 0 can impact memory usage and + performance. + + @return A new Texture object + @throws Error Object Disposed: if this Context3D object has been disposed by a calling dispose() or because the underlying rendering hardware has been lost. + @throws Error Resource Limit Exceeded: if too many Texture objects are created or the amount of memory allocated to textures is exceeded. + @throws ArgumentError Depth Texture Not Implemented: if you attempt to create a depth texture. + @throws ArgumentError Texture Size Is Zero: if both the width or height parameters are not greater than zero. + @throws ArgumentError Texture Not Power Of Two: if both the width and height parameters are not a power of two. + @throws ArgumentError Texture Too Big: if either the width or the height parameter is greater than 2048 for baseline and baseline constrained profile or if either the width or the height parameter is greater than 4096 for profile baseline extended and above. + @throws Error Texture Creation Failed: if the Texture object could not be created by the rendering context (but information about the reason is not available). + @throws ArgumentError Invalid streaming level: if streamingLevels is greater or equal to log2(min(width,height)).]]> + + + + + + + + + { bufferUsage : STATIC_DRAW } + Creates a VertexBuffer3D object. + + Use a VertexBuffer3D object to upload a set of vertex data to the rendering + context. A vertex buffer contains the data needed to render each point in the + scene geometry. The data attributes associated with each vertex typically + includes position, color, and texture coordinates and serve as the input to + the vertex shader program. Identify the data values that correspond to one of + the inputs of the vertex program using the `setVertexBufferAt()` method. You can + specify up to sixty-four 32-bit values for each vertex. + + You cannot create VertexBuffer3D objects with a VertexBuffer3D constructor; use + this method instead. After creating a VertexBuffer3D object, upload the vertex + data using the VertexBuffer3D `uploadFromVector()` or `uploadFromByteArray()` + methods. + + @param numVertices the number of vertices to be stored in the buffer. The + maximum number of vertices in a single buffer is 65535. + @param data32PerVertex the number of 32-bit(4-byte) data values associated + with each vertex. The maximum number of 32-bit data elements per vertex is 64 + (or 256 bytes). Note that only eight attribute registers are accessible by a + vertex shader program at any given time. Use `setVertextBufferAt()` to select + attributes from within a vertex buffer. + @param bufferUsage the expected buffer usage. Use one of the constants defined + in Context3DBufferUsage. The hardware driver can do appropriate optimization when + you set it correctly. This parameter is only available after Flash 12/AIR 4 + @return A new VertexBuffer3D object + @throws Error Object Disposed: if this Context3D object has been disposed by a + calling `dispose()` or because the underlying rendering hardware has been lost. + @throws Error Resource Limit Exceeded: if too many vertex buffer objects are + created or the amount of memory alloted to vertex buffers is exceeded. + @throws ArgumentError Buffer Too Big: when `numVertices` is greater than 0x10000 + or `data32PerVertex` is greater than 64. + @throws ArgumentError Buffer Has Zero Size: when `numVertices` is zero or + `data32PerVertex` is zero. + @throws ArgumentError Buffer Creation Failed: if the VertexBuffer3D object + could not be created by the rendering context (but additional information about + the reason is not available). + @throws Error 3768: The Stage3D API may not be used during background execution. + + + + Creates a VideoTexture object. + + Use a VideoTexture object to obtain video frames as texture from NetStream object + or Camera object and to upload the video frames to the rendering context. + + The VideoTexture object cannot be created with the VideoTexture constructor; use + this method instead. After creating a VideoTexture object, attach NetStream + object or Camera Object to get the video frames with the VideoTexture + `attachNetStream()` or `attachCamera()` methods. + + Note that this method returns null if the system doesn't support this feature. + + VideoTexture does not contain mipmaps. If VideoTexture is used with a sampler + that uses mip map filtering or repeat wrapping, the drawTriangles call will fail. + VideoTexture can be treated as BGRA texture by the shaders. The attempt to + instantiate the VideoTexture Object will fail if the Context3D was requested + with sotfware rendering mode. + + A maximum of 4 VideoTexture objects are available per Context3D instance. On + mobile the actual number of supported VideoTexture objects may be less than 4 + due to platform limitations. + + @return A new VideoTexture object + @throws Error Object Disposed: if this Context3D object has been disposed by a + calling `dispose()` or because the underlying rendering hardware has been lost. + @throws Error Resource Limit Exceeded: if too many Texture objects are created + or the amount of memory allocated to textures is exceeded. + @throws Error Texture Creation Failed: if the Texture object could not be + created by the rendering context (but information about the reason is not + available). + + + + + + + { recreate : true } + Frees all resources and internal storage associated with this Context3D. + + All index buffers, vertex buffers, textures, and programs that were created + through this Context3D are disposed just as if calling `dispose()` on each of + them individually. In addition, the Context3D itself is disposed freeing all + temporary buffers and the back buffer. If you call `configureBackBuffer()`, + `clear()`, `drawTriangles()`, `createCubeTexture()`, `createTexture()`, + `createProgram()`, `createIndexBuffer()`, `createVertexBuffer()`, or + `drawToBitmapData()` after calling `dispose()`, the runtime throws an exception. + + Warning: calling `dispose()` on a Context3D while there is still a event + listener for `Events.CONTEXT3D_CREATE` set on the asociated Stage3D object the + `dispose()` call will simulate a device loss. It will create a new Context3D on + the Stage3D and issue the `Events.CONTEXT3D_CREATE` event again. If this is not + desired remove the event listener from the Stage3D object before calling + `dispose()` or set the `recreate` parameter to `false`. + + @param recreate Whether to allow this Stage3D object to create itself again + + + + + + + + + { destPoint : null, srcRect : null } + Draws the current render buffer to a bitmap. + + The current contents of the back render buffer are copied to a BitmapData + object. This is potentially a very slow operation that can take up to a second. + Use with care. Note that this function does not copy the front render buffer + (the one shown on stage), but the buffer being drawn to. To capture the rendered + image as it appears on the stage, call `drawToBitmapData()` immediately before you + calling `present()`. + + Beginning with AIR 25, two new parameters have been introduced in the API + `drawToBitmapData()`. This API now takes three parameters. The first one is the + existing parameter `destination:BitmapData`. The second parameter is + `srcRect:Rectangle`, which is target rectangle on Stage3D. The third parameter is + `destPoint:Point`, which is the coordinate on the destination bitmap. The + parameters `srcRect` and `destPoint` are optional and default to + `(0,0,bitmapWidth,bitmapHeight)` and `(0,0)`, respectively. + + When the image is drawn, it is not scaled to fit the bitmap. Instead, the + contents are clipped to the size of the destination bitmap. + + OpenFL BitmapData objects store colors already multiplied by the alpha component. + For example, if the "pure" rgb color components of a pixel are (0x0A, 0x12, 0xBB) + and the alpha component is 0x7F (.5), then the pixel is stored in the + BitmapData object with the rgba values: (0x05, 0x09, 0x5D, 0x7F). You can set the + blend factors so that the colors rendered to the buffer are multiplied by alpha + or perform the operation in the fragment shader. The rendering context does not + validate that the colors are stored in premultiplied format. + + @param destination The target BitmapData for this drawing operation + @param srcRect The source rectangle in the current Stage3D context + @param destPoint A destination point to write to in the target BitmapData + @throws Error Object Disposed: if this Context3D object has been disposed by + a calling `dispose()` or because the underlying rendering hardware has been lost. + @throws Error 3768: The Stage3D API may not be used during background execution. + @throws Error 3802: If either one of the parameters `destPoint:Point` or + `srcRect:Rectangle` is outside the bitmap/stage3D coordinate bound, or if + non-numeric(NaN) values are passed as input. + + + + + + + + + { numTriangles : -1, firstIndex : 0 } + Render the specified triangles using the current buffers and state of this + Context3D object. + + For each triangle, the triangle vertices are processed by the vertex shader + program and the triangle surface is processed by the pixel shader program. The + output color from the pixel program for each pixel is drawn to the render + target depending on the stencil operations, depth test, source and destination + alpha, and the current blend mode. The render destination can be the main render + buffer or a texture. + + If culling is enabled, (with the `setCulling()` method), then triangles can be + discarded from the scene before the pixel program is run. If stencil and depth + testing are enabled, then output pixels from the pixel program can be discarded + without updating the render destination. In addition, the pixel program can + decide not to output a color for a pixel. + + The rendered triangles are not displayed in the viewport until you call the + `present()` method. After each `present()` call, the `clear()` method must be + called before the first `drawTriangles()` call or rendering fails. + + When `enableErrorChecking` is `false`, this function returns immediately, does + not wait for results, and throws exceptions only if this Context3D instance has + been disposed or there are too many draw calls. If the rendering context state + is invalid rendering fails silently. When the `enableErrorChecking` property is + `true`, this function returns after the triangles are drawn and throws exceptions + for any drawing errors or invalid context state. + + @param indexBuffer:IndexBuffer3D — a set of vertex indices referencing the + vertices to render. + @param firstIndex:int (default = 0) — the index of the first vertex index + selected to render. Default 0. + @param numTriangles:int (default = -1) — the number of triangles to render. + Each triangle consumes three indices. Pass -1 to draw all triangles in the index + buffer. Default -1. + @throws Error — Object Disposed: if this Context3D object has been disposed by + a calling `dispose()` or because the underlying rendering hardware has been lost. + @throws Error — If this method is called too many times between calls to + `present()`. The maximum number of calls is 32,768. + + The following errors are only thrown when `enableErrorChecking` property is true: + @throws Error Need To Clear Before Draw: If the buffer has not been cleared + since the last `present()` call. + @throws Error If a valid Program3D object is not set. + @throws Error No Valid Index Buffer Set: If an IndexBuffer3D object is not set. + @throws Error Sanity Check On Parameters Failed: when the number of triangles + to be drawn or the `firstIndex` exceed allowed values. + @throws RangeError — Not Enough Indices In This Buffer: when there aren't enough + indices in the buffer to define the number of triangles to be drawn. + @throws Error — Sample Binds Texture Also Bound To Render: when the render target + is a texture and that texture assigned to a texture input of the current fragment + program. + @throws Error — Sample Binds Invalid Texture: an invalid texture is specified as + the input to the current fragment program. + @throws Error — Sampler Format Does Not Match Texture Format: when the texture + assigned as the input to the current fragment program has a different format than + that specified for the sampler register. For example, a 2D texture is assigned to + a cube texture sampler. + @throws Error — Sample Binds Undefined Texture: The current fragment program + accesses a texture register that has not been set (using `setTextureAt()`). + @throws Error — Same Texture Needs Same Sampler Params: If a texture is used for + more than one sampler register, all of the samplers must have the same settings. + For example, you cannot set one sampler to clamp and another to wrap. + @throws Error — Texture Bound But Not Used: A texture is set as a shader input, + but it is not used. + @throws Error — Stream Is Not Used: A vertex buffer is assigned to a vertex + attribute input, but the vertex program does not reference the corresponding + register. + @throws Error — Stream Is Invalid: a VertexBuffer3D object assigned to a vertex + program input is not a valid object. + @throws RangeError — Stream Does Not Have Enough Vertices: A vertex buffer + supplying data for drawing the specified triangles does not have enough data. + @throws RangeError — Stream Vertex Offset Out Of Bounds: The offset specified in + a `setVertexBufferAt()` call is negative or past the end of the buffer. + @throws Error — Stream Read But Not Set: A vertex attribute used by the current + vertex program is not set (using `setVertexBufferAt()`). + + + + Displays the back rendering buffer. + + Calling the `present()` method makes the results of all rendering operations + since the last `present()` call visible and starts a new rendering cycle. + After calling `present`, you must call `clear()` before making another + `drawTriangles()` call. Otherwise, this function will alternately clear the + render buffer to yellow and green or, if `enableErrorChecking` has been set to + `true`, an exception is thrown. + + Calling `present()` also resets the render target, just like calling + `setRenderToBackBuffer()`. + + @throws Error Need To Clear Before Draw: If the `clear()` has not been called + since the previous call to `present()`. (Two consecutive `present()` calls are + not allowed without calling `clear()` in between.) + @throws Error 3768: The Stage3D API may not be used during background execution. + + + + + + + + Specifies the factors used to blend the output color of a drawing operation with + the existing color. + + The output (source) color of the pixel shader program is combined with the + existing (destination) color at that pixel according to the following formula: + + `result color = (source color * sourceFactor) + (destination color * destinationFactor)` + + The destination color is the current color in the render buffer for that pixel. + Thus it is the result of the most recent `clear()` call and any intervening + `drawTriangles()` calls. + + Use `setBlendFactors()` to set the factors used to multiply the source and + destination colors before they are added together. The default blend factors + are, `sourceFactor = Context3DBlendFactor.ONE`, and + `destinationFactor = Context3DBlendFactor.ZERO`, which results in the source + color overwriting the destination color (in other words, no blending of the + two colors occurs). For normal alpha blending, use + `sourceFactor = Context3DBlendFactor.SOURCE_ALPHA` and + `destinationFactor = Context3DBlendFactor.ONE_MINUS_SOURCE_ALPHA`. + + Use the constants defined in the Context3DBlendFactor class to set the + parameters of this function. + + @param sourceFactor The factor with which to multiply the source color. + Defaults to `Context3DBlendFactor.ONE`. + @param destinationFactor The factor with which to multiply the destination + color. Defaults to `Context3DBlendFactor.ZERO`. + @throws Error — Invalid Enum: when `sourceFactor` or `destinationFactor` is + not one of the recognized values, which are defined in the + Context3DBlendFactor class. + + + + + + + + + + + hide + + + + + + + + + + + + Sets the mask used when writing colors to the render buffer. + + Only color components for which the corresponding color mask parameter is `true` + are updated when a color is written to the render buffer. For example, if + you call: `setColorMask(true, false, false, false)`, only the red component + of a color is written to the buffer until you change the color mask again. The + color mask does not affect the behavior of the `clear()` method. + + @param red set false to block changes to the red channel. + @param green set false to block changes to the green channel. + @param blue set false to block changes to the blue channel. + @param alpha set false to block changes to the alpha channel. + + + + + + + Sets triangle culling mode. + + Triangles may be excluded from the scene early in the rendering pipeline based + on their orientation relative to the view plane. Specify vertex order + consistently (clockwise or counter-clockwise) as seen from the outside of the + model to cull correctly. + + @param triangleFaceToCull the culling mode. Use one of the constants defined + in the Context3DTriangleFace class. + @throws Error Invalid Enum Error: when triangleFaceToCull is not one of the + values defined in the Context3DTriangleFace class. + + + + + + + + Sets type of comparison used for depth testing. + + The depth of the source pixel output from the pixel shader program is compared + to the current value in the depth buffer. If the comparison evaluates as `false`, + then the source pixel is discarded. If `true`, then the source pixel is processed + by the next step in the rendering pipeline, the stencil test. In addition, the + depth buffer is updated with the depth of the source pixel, as long as the + `depthMask` parameter is set to `true`. + + Sets the test used to compare depth values for source and destination pixels. + The source pixel is composited with the destination pixel when the comparison is + `true`. The comparison operator is applied as an infix operator between the + source and destination pixel values, in that order. + + @param depthMask the destination depth value will be updated from the source + pixel when `true`. + @param passCompareMode the depth comparison test operation. One of the values + of Context3DCompareMode. + + + + + + + Sets vertex and fragment shader programs to use for subsequent rendering. + + @param program the Program3D object representing the vertex and fragment + programs to use. + + + + + + + + + + + Set constants for use by shader programs using values stored in a ByteArray. + + Sets constants that can be accessed from the vertex or fragment program. + + @param programType one of Context3DProgramType. + @param firstRegister the index of the first shader program constant to set. + @param numRegisters the number of registers to set. Every register is read + as four float values. + @param data the source ByteArray object + @param byteArrayOffset an offset into the ByteArray for reading + @throws TypeError kNullPointerError when data is null. + @throws RangeError kConstantRegisterOutOfBounds when attempting to set more than + the maximum number of shader constants. + @throws RangeError kBadInputSize if `byteArrayOffset` is greater than or equal to + the length of data or no. of elements in `data - byteArrayOffset` is less than + `numRegisters*16` + + + + + + + + + + { transposedMatrix : false } + Sets constants for use by shader programs using values stored in a Matrix3D. + + Use this function to pass a matrix to a shader program. The function sets 4 + constant registers used by the vertex or fragment program. The matrix is + assigned to registers row by row. The first constant register is assigned the + top row of the matrix. You can set 128 registers for a vertex program and 28 + for a fragment program. + + @param programType The type of shader program, either + `Context3DProgramType.VERTEX` or `Context3DProgramType.FRAGMENT`. + @param firstRegister the index of the first constant register to set. Since + a Matrix3D has 16 values, four registers are set. + @param matrix the matrix containing the constant values. + @param transposedMatrix if `true` the matrix entries are copied to registers + in transposed order. The default value is `false`. + @throws TypeError Null Pointer Error: when matrix is `null`. + @throws RangeError Constant Register Out Of Bounds: when attempting to set more + than the maximum number of shader constant registers. + + + + + + + + + + { numRegisters : -1 } + Sets the constant inputs for the shader programs. + + Sets an array of constants to be accessed by a vertex or fragment shader + program. Constants set in Program3D are accessed within the shader programs as + constant registers. Each constant register is comprised of 4 floating point + values (x, y, z, w). Therefore every register requires 4 entries in the data + Vector. The number of registers that you can set for vertex program and + fragment program depends on the Context3DProfile. + + @param programType The type of shader program, either + `Context3DProgramType.VERTEX` or `Context3DProgramType.FRAGMENT`. + @param firstRegister the index of the first constant register to set. + @param data the floating point constant values. There must be at least + `numRegisters` 4 elements in data. + @param numRegisters the number of constants to set. Specify -1, the default + value, to set enough registers to use all of the available data. + @throws TypeError Null Pointer Error: when data is `null`. + @throws RangeError Constant Register Out Of Bounds: when attempting to set more + than the maximum number of shader constant registers. + @throws RangeError Bad Input Size: When the number of elements in data is less + than `numRegisters*4` + + + + Sets the back rendering buffer as the render target. Subsequent calls to + `drawTriangles()` and `clear()` methods result in updates to the back buffer. + Use this method to resume normal rendering after using the + `setRenderToTexture()` method. + + + + + + + + + + { surfaceSelector : 0, antiAlias : 0, enableDepthAndStencil : false } + Sets the specified texture as the rendering target. + + Subsequent calls to `drawTriangles()` and `clear()` methods update the + specified texture instead of the back buffer. Mip maps are created + automatically. Use the `setRenderToBackBuffer()` to resume normal rendering to + the back buffer. + + No clear is needed before drawing. If there is no clear operation, the render + content will be retained. depth buffer and stencil buffer will also not be + cleared. But it is forced to clear when first drawing. Calling `present()` + resets the target to the back buffer. + + @param texture the target texture to render into. Set to `null` to resume + rendering to the back buffer (`setRenderToBackBuffer()` and `present` also reset + the target to the back buffer). + @param enableDepthAndStencil if `true`, depth and stencil testing are + available. If `false`, all depth and stencil state is ignored for subsequent + drawing operations. + @param antiAlias the antialiasing quality. Use 0 to disable antialiasing; + higher values improve antialiasing quality, but require more calculations. The + value is currently ignored by mobile platform and software rendering context. + @param surfaceSelector specifies which element of the texture to update. + Texture objects have one surface, so you must specify 0, the default value. + CubeTexture objects have six surfaces, so you can specify an integer from 0 + through 5. + @param colorOutputIndex The output color register. Must be 0 for constrained + or baseline mode. Otherwise specifies the output color register. + @throws ArgumentError for a mismatched surfaceSelector parameter. The value + must be 0 for 2D textures and 0..5 for cube maps. + @throws ArgumentError texture is not derived from the TextureBase class + (either Texture or CubeTexture classes). + @throws ArgumentError colorOutputIndex must be an integer is from 0 through 3. + @throws ArgumentError this call requires a Context3D that is created with the + standard profile or above. + + + + + + + + + + Manually override texture sampler state. + + Texture sampling state is typically set at the time setProgram is called. + However, you can override texture sampler state with this function. If you do not + want the program to change sampler state, set the `ignoresamnpler` bit in AGAL + and use this function. + + @param sampler sampler The sampler register to use. Maps to the sampler register + in AGAL. + @param wrap Wrapping mode. Defined in Context3DWrapMode. The default is repeat. + @param filter Texture filtering mode. Defined in Context3DTextureFilter. The + default is nearest. + @param mipfilter Mip map filter. Defined in Context3DMipFilter. The default + is none. + @throws Error sampler out of range + @throws Error wrap, filter, mipfilter bad enum + @throws Error Object Disposed: if this Context3D object has been disposed by a + calling `dispose()` or because the underlying rendering hardware has been lost. + + + + + + + Sets a scissor rectangle, which is type of drawing mask. The renderer only draws + to the area inside the scissor rectangle. Scissoring does not affect clear + operations. + + Pass `null` to turn off scissoring. + + @param rectangle The rectangle in which to draw. Specify the rectangle + position and dimensions in pixels. The coordinate system origin is the top left + corner of the viewport, with positive values increasing down and to the right + (the same as the normal OpenFL display coordinate system). + + + + + + + + + + + { actionOnDepthPassStencilFail : KEEP, actionOnDepthFail : KEEP, actionOnBothPass : KEEP, compareMode : ALWAYS, triangleFace : FRONT_AND_BACK } + Sets stencil mode and operation. + + An 8-bit stencil reference value can be associated with each draw call. During + rendering, the reference value can be tested against values stored previously + in the frame buffer. The result of the test can control the draw action and + whether or how the stored stencil value is updated. In addition, depth testing + controls whether stencil testing is performed. A failed depth test can also be + used to control the action taken on the stencil buffer. + + In the pixel processing pipeline, depth testing is performed first. If the depth + test fails, a stencil buffer update action can be taken, but no further evaluation + of the stencil buffer value can be made. If the depth test passes, then the + stencil test is performed. Alternate actions can be taken depending on the outcome + of the stencil test. + + The stencil reference value is set using `setStencilReferenceValue()`. + + @param triangleFace the triangle orientations allowed to contribute to the + stencil operation. One of Context3DTriangleFace. + @param compareMode the test operator used to compare the current stencil + reference value and the destination pixel stencil value. Destination pixel color + and depth update is performed when the comparison is true. The stencil actions + are performed as requested in the following action parameters. The comparison + operator is applied as an infix operator between the current and destination + reference values, in that order (in pseudocode: + `if stencilReference OPERATOR stencilBuffer then pass`). Use one of the constants + defined in the Context3DCompareMode class. + @param actionOnBothPass action to be taken when both depth and stencil + comparisons pass. Use one of the constants defined in the Context3DStencilAction + class. + @param actionOnDepthFail action to be taken when depth comparison fails. Use + one of the constants defined in the Context3DStencilAction class. + @param actionOnDepthPassStencilFail action to be taken when depth comparison + passes and the stencil comparison fails. Use one of the constants defined in the + Context3DStencilAction class. + @throws Error Invalid Enum Error: when `triangleFace` is not one of the values + defined in the Context3DTriangleFace class. + @throws Error Invalid Enum Error: when `compareMode` is not one of the values + defined in the Context3DCompareMode class. + @throws Error Invalid Enum Error: when `actionOnBothPass`, `actionOnDepthFail`, + or `actionOnDepthPassStencilFail` is not one of the values defined in the + Context3DStencilAction class. + + + + + + + + + { writeMask : 0xFF, readMask : 0xFF } + Sets the stencil comparison value used for stencil tests. + + Only the lower 8 bits of the reference value are used. The stencil buffer value + is also 8 bits in length. Use the `readMask` and `writeMask` to use the stencil + buffer as a bit field. + + @param referenceValue an 8-bit reference value used in reference value + comparison tests. + @param readMask an 8-bit mask for applied to both the current stencil + buffer value and the reference value before the comparison. + @param writeMask an 8-bit mask applied to the reference value before updating + the stencil buffer. + + + + + + + + Specifies the texture to use for a texture input register of a fragment program. + + A fragment program can read information from up to eight texture objects. Use + this function to assign a Texture or CubeTexture object to one of the sampler + registers used by the fragment program. + + **Note:** if you change the active fragment program (with setProgram) to a + shader that uses fewer textures, set the unused registers to `null`: + + ``haxe + setTextureAt(7, null); + ``` + + @param sampler the sampler register index, a value from 0 through 7. + @param texture the texture object to make available, either a Texture or a + CubeTexture instance. + + + + + + + + + + { format : FLOAT_4, bufferOffset : 0 } + Specifies which vertex data components correspond to a single vertex shader + program input. + + Use the setVertexBufferAt method to identify which components of the data + defined for each vertex in a VertexBuffer3D buffer belong to which inputs to the + vertex program. The developer of the vertex program determines how much data is + needed per vertex. That data is mapped from 1 or more VertexBuffer3D stream(s) to + the attribute registers of the vertex shader program. + + The smallest unit of data consumed by the vertex shader is a 32-bit data. + Offsets into the vertex stream are specified in multiples of 32-bits. + + As an example, a programmer might define each vertex with the following data: + + ``` + position: x float32 + y float32 + z float32 + color: r unsigned byte + g unsigned byte + b unsigned byte + a unsigned byte + ``` + + Assuming the vertex was defined in a VertexBuffer3D object named buffer, it + would be assigned to a vertex shader with the following code: + + ```haxe + setVertexBufferAt(0, buffer, 0, Context3DVertexBufferFormat.FLOAT_3); // attribute #0 will contain the position information + setVertexBufferAt(1, buffer, 3, Context3DVertexBufferFormat.BYTES_4); // attribute #1 will contain the color information + ``` + + @param index the index of the attribute register in the vertex shader (0 + through 7). + @param buffer the buffer that contains the source vertex data to be fed to the + vertex shader. + @param bufferOffset an offset from the start of the data for a single vertex + at which to start reading this attribute. In the example above, the position data + has an offset of 0 because it is the first attribute; color has an offset of 3 + because the color attribute follows the three 32-bit position values. The offset + is specified in units of 32 bits. + @param format a value from the Context3DVertexBufferFormat class specifying + the data type of this attribute. + @throws Error Invalid Enum: when format is not one of the values defined in + the Context3DVertexBufferFormat class. + @throws RangeError Attribute Register Out Of Bounds: when the index parameter + is outside the range from 0 through 7. (A maximum of eight vertex attribute + registers can be used by a shader.) + + <__bindGLArrayBuffer set="method" line="1907"> + + + + + + + <__bindGLElementArrayBuffer set="method" line="1916"> + + + + + + + <__bindGLFramebuffer set="method" line="1925"> + + + + + + + <__bindGLTexture2D set="method" line="1934"> + + + + + + + <__bindGLTextureCubeMap set="method" line="1946"> + + + + + + + <__dispose set="method" line="1958"> + + + + <__drawTriangles set="method" line="1982"> + + + + + + + { firstIndex : 0 } + + + + <__flushGL set="method" line="2010"> + + + + <__flushGLBlend set="method" line="2025"> + + + + <__flushGLColor get="inline" set="null" line="2052"> + + + + <__flushGLCulling set="method" line="2067"> + + + + <__flushGLDepth set="method" line="2097"> + + + + <__flushGLFramebuffer set="method" line="2136"> + + + + <__flushGLProgram set="method" line="2183"> + + + + <__flushGLScissor set="method" line="2227"> + + + + <__flushGLStencil set="method" line="2264"> + + + + <__flushGLTextures set="method" line="2297"> + + + + <__flushGLViewport set="method" line="2381"> + + + + <__getGLBlend set="method" line="2426"> + + + + + + + <__getGLCompareMode set="method" line="2457"> + + + + + + + <__getGLStencilAction set="method" line="2473"> + + + + + + + <__getGLTriangleFace set="method" line="2489"> + + + + + + + <__renderStage3D set="method" line="2501"> + + + + + + + <__setGLBlend set="method" line="2548"> + + + + + + + <__setGLBlendEquation set="method" line="2564"> + + + + + + + <__setGLCullFace set="method" line="2573"> + + + + + + + <__setGLDepthTest set="method" line="2589"> + + + + + + + <__setGLFrontFace set="method" line="2605"> + + + + + + + <__setGLScissorTest set="method" line="2614"> + + + + + + + <__setGLStencilTest set="method" line="2630"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { stage3D : null, contextState : null } + + + + The Context3D class provides a context for rendering geometrically defined graphics. + A rendering context includes a drawing surface and its associated resources and + state. When possible, the rendering context uses the hardware graphics processing + unit (GPU). Otherwise, the rendering context uses software. (If rendering through + Context3D is not supported on a platform, the stage3Ds property of the Stage object + contains an empty list.) + + The Context3D rendering context is a programmable pipeline that is very similar to + OpenGL ES 2, but is abstracted so that it is compatible with a range of hardware and + GPU interfaces. Although designed for 3D graphics, the rendering pipeline does not + mandate that the rendering is three dimensional. Thus, you can create a 2D renderer + by supplying the appropriate vertex and pixel fragment programs. In both the 3D and + 2D cases, the only geometric primitive supported is the triangle. + + Get an instance of the Context3D class by calling the requestContext3D() method of a + Stage3D object. A limited number of Context3D objects can exist per stage; one for + each Stage3D in the Stage.stage3Ds list. When the context is created, the Stage3D + object dispatches a context3DCreate event. A rendering context can be destroyed and + recreated at any time, such as when another application that uses the GPU gains + focus. Your code should anticipate receiving multiple context3DCreate events. + Position the rendering area on the stage using the x and y properties of the + associated Stage3D instance. + + To render and display a scene (after getting a Context3D object), the following steps + are typical: + + 1. Configure the main display buffer attributes by calling `configureBackBuffer()`. + 2. Create and initialize your rendering resources, including: + * Vertex and index buffers defining the scene geometry + * Vertex and pixel programs (shaders) for rendering the scene + * Textures + 3. Render a frame: + * Set the render state as appropriate for an object or collection of objects in + the scene. + * Call the `drawTriangles()` method to render a set of triangles. + * Change the rendering state for the next group of objects. + * Call `drawTriangles()` to draw the triangles defining the objects. + * Repeat until the scene is entirely rendered. + * Call the `present()` method to display the rendered scene on the stage. + + The following limits apply to rendering: + + Resource limits: + + | Resource | Number allowed | Total memory | + | --- | --- | --- | + | Vertex buffers | 4096 | 256 MB | + | Index buffers | 4096 | 128 MB | + | Programs | 4096 | 16 MB | + | Textures | 4096 | 128 MB | + | Cube textures | 4096 | 256 MB | + + AGAL limits: 200 opcodes per program. + + Draw call limits: 32,768 `drawTriangles()` calls for each `present()` call. + + The following limits apply to textures: + + Texture limits for AIR 32 bit: + + | Texture | Maximum size | Total GPU memory | + | --- | --- | --- | + | Normal Texture (below Baseline extended) | 2048x2048 | 512 MB | + | Normal Texture (Baseline extended and above) | 4096x4096 | 512 MB | + | Rectangular Texture (below Baseline extended) | 2048x2048 | 512 MB | + | Rectangular Texture (Baseline extended and above) | 4096x4096 | 512 MB | + | Cube Texture | 1024x1024 | 256 MB | + + Texture limits for AIR 64 bit (Desktop): + + | Texture | Maximum size | Total GPU memory | + | --- | --- | --- | + | Normal Texture (below Baseline extended) | 2048x2048 | 512 MB | + | Normal Texture (Baseline extended to Standard) | 4096x4096 | 512 MB | + | Normal Texture (Standard extended and above) | 4096x4096 | 2048 MB | + | Rectangular Texture (below Baseline extended) | 2048x2048 | 512 MB | + | Rectangular Texture (Baseline extended to Standard) | 4096x4096 | 512 MB | + | Rectangular Texture (Standard extended and above) | 4096x4096 | 2048 MB | + | Cube Texture | 1024x1024 | 256 MB | + + 512 MB is the absolute limit for textures, including the texture memory required + for mipmaps. However, for Cube Textures, the memory limit is 256 MB. + + You cannot create Context3D objects with the Context3D constructor. It is + constructed and available as a property of a Stage3D instance. The Context3D class + can be used on both desktop and mobile platforms, both when running in Flash Player + and AIR. + + + "tags=\"haxe,release\"" + + openfl.display3D._internal.Context3DState + openfl.display3D.textures.CubeTexture + openfl.display3D.textures.RectangleTexture + openfl.display3D.textures.TextureBase + openfl.display3D.textures.Texture + openfl.display3D.textures.VideoTexture + openfl.display3D.IndexBuffer3D + openfl.display3D.Program3D + openfl.display3D.VertexBuffer3D + openfl.display.BitmapData + openfl.display.Bitmap + openfl.display.DisplayObjectRenderer + openfl.display.Shader + openfl.display.Stage + openfl.display.Stage3D + openfl.geom.Point + openfl.geom.Rectangle + + + + + + + + Defines the values to use for specifying the source and destination blend factors. + + A blend factor represents a particular four-value vector that is multiplied with the + source or destination color in the blending formula. The blending formula is: + + ``` + result = source * sourceFactor + destination * destinationFactor + ``` + + In the formula, the source color is the output color of the pixel shader program. + The destination color is the color that currently exists in the color buffer, as set + by previous clear and draw operations. + + For example, if the source color is (.6, .6, .6, .4) and the source blend factor is + `Context3DBlendFactor.ONE_MINUS_SOURCE_ALPHA`, then the source part of the blending + equation is calculated as: + + ``` + (.6, .6, .6, .4) * (1-0.4, 1-0.4, 1-0.4, 1-0.4) = (.36, .36, .36, .24) + ``` + + The final calculation is clamped to the range [0,1]. + + **Examples** + + The following examples demonstrate the blending math using + `source color = (.6,.4,.2,.4)`, `destination color = (.8,.8,.8,.5)`, and various blend + factors. + + | Purpose | Source factor | Destination factor | Blend formula | Result | + | --- | --- | --- | --- | --- | + | No blending | ONE | ZERO | (.6,.4,.2,.4) * ( 1, 1, 1, 1) + (.8,.8,.8,.5) * ( 0, 0, 0, 0) | ( .6, .4, .2, .4) | + | Alpha | SOURCE_ALPHA | ONE_MINUS_SOURCE_ALPHA | (.6,.4,.2,.4) * (.4,.4,.4,.4) + (.8,.8,.8,.5) * (.6,.6,.6,.6) | (.72,.64,.56,.46) | + | Additive | ONE | ONE | (.6,.4,.2,.4) * ( 1, 1, 1, 1) + (.8,.8,.8,.5) * ( 1, 1, 1, 1) ( 1, 1, 1, .9) | + | Multiply | DESTINATION_COLOR | ZERO | (.6,.4,.2,.4) * (.8,.8,.8,.5) + (.8,.8,.8,.5) * ( 0, 0, 0, 0) | (.48,.32,.16, .2) | + | Screen | ONE | ONE_MINUS_SOURCE_COLOR | (.6,.4,.2,.4) * ( 1, 1, 1, 1) + (.8,.8,.8,.5) * (.4,.6,.8,.6) | (.92,.88,.68, .7) | + + Note that not all combinations of blend factors are useful and that you can sometimes achieve the same effect in different ways. + + + + + + cast 0 + + + + a,Da,Da,Da), + where Da is the alpha component of the fragment color computed by the + pixel program.]]> + + + + + cast 1 + + + + r,Dg,Db,Da), + where Dr/g/b/a is the corresponding component of the current color + in the color buffer.]]> + + + + + cast 2 + + + + The blend factor is (1,1,1,1). + + + + + cast 3 + + + + a,1-Da,1-Da,1-Da), + where Da is the alpha component of the current color in the color buffer.]]> + + + + + cast 4 + + + + r,1-Dg,1-Db,1-Da), + where Dr/g/b/a is the corresponding component of the current color in + the color buffer.]]> + + + + + cast 5 + + + + a,1-Sa,1-Sa,1-Sa), + where Sa is the alpha component of the fragment color computed by the + pixel program.]]> + + + + + cast 6 + + + + r,1-Sg,1-Sb,1-Sa), + where Sr/g/b/a is the corresponding component of the fragment color + computed by the pixel program.]]> + + + + + cast 7 + + + + a,Sa,Sa,Sa), + where Sa is the alpha component of the fragment color computed by the + pixel program.]]> + + + + + cast 8 + + + + r,Sg,Sb,Sa), + where Sr/g/b/a is the corresponding component of the fragment color + computed by the pixel program.]]> + + + + + cast 9 + + + + The blend factor is (0,0,0,0). + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + a,Da,Da,Da), + where Da is the alpha component of the fragment color computed by the + pixel program.]]> + + + + + cast 1 + + + + r,Dg,Db,Da), + where Dr/g/b/a is the corresponding component of the current color + in the color buffer.]]> + + + + + cast 2 + + + + The blend factor is (1,1,1,1). + + + + + cast 3 + + + + a,1-Da,1-Da,1-Da), + where Da is the alpha component of the current color in the color buffer.]]> + + + + + cast 4 + + + + r,1-Dg,1-Db,1-Da), + where Dr/g/b/a is the corresponding component of the current color in + the color buffer.]]> + + + + + cast 5 + + + + a,1-Sa,1-Sa,1-Sa), + where Sa is the alpha component of the fragment color computed by the + pixel program.]]> + + + + + cast 6 + + + + r,1-Sg,1-Sb,1-Sa), + where Sr/g/b/a is the corresponding component of the fragment color + computed by the pixel program.]]> + + + + + cast 7 + + + + a,Sa,Sa,Sa), + where Sa is the alpha component of the fragment color computed by the + pixel program.]]> + + + + + cast 8 + + + + r,Sg,Sb,Sa), + where Sr/g/b/a is the corresponding component of the fragment color + computed by the pixel program.]]> + + + + + cast 9 + + + + The blend factor is (0,0,0,0). + + + + + + + + + + + + + + + + + + + + + + Defines the values to use for specifying the buffer usage type. + + + + + + cast 0 + + + + Indicates the buffer will be used for drawing and be updated frequently + + + + + cast 1 + + + + Indicates the buffer will be used for drawing and be updated once + + This type is the default value for buffers in `Stage3D`. + + + + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + Indicates the buffer will be used for drawing and be updated frequently + + + + + cast 1 + + + + Indicates the buffer will be used for drawing and be updated once + + This type is the default value for buffers in `Stage3D`. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Defines the values to use for specifying Context3D clear masks. + + + + + + cast 0x07 + + + + Clear all buffers. + + + + + cast 0x01 + + + + Clear only the color buffer. + + + + + cast 0x02 + + + + Clear only the depth buffer. + + + + + cast 0x04 + + + + Clear only the stencil buffer. + + + + + + + + + cast 0x07 + + + + Clear all buffers. + + + + + cast 0x01 + + + + Clear only the color buffer. + + + + + cast 0x02 + + + + Clear only the depth buffer. + + + + + cast 0x04 + + + + Clear only the stencil buffer. + + + + + + + + Defines the values to use for specifying 3D buffer comparisons in the + `setDepthTest()` and `setStencilAction()` methods of a Context3D instance. + + + + + + cast 0 + + + + The comparison always evaluates as true. + + + + + cast 1 + + + + Equal (==). + + + + + cast 2 + + + + ).]]> + + + + + cast 3 + + + + =).]]> + + + + + cast 4 + + + + + + + + + cast 5 + + + + + + + + + cast 6 + + + + The comparison never evaluates as true. + + + + + cast 7 + + + + Not equal (!=). + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + The comparison always evaluates as true. + + + + + cast 1 + + + + Equal (==). + + + + + cast 2 + + + + ).]]> + + + + + cast 3 + + + + =).]]> + + + + + cast 4 + + + + + + + + + cast 5 + + + + + + + + + cast 6 + + + + The comparison never evaluates as true. + + + + + cast 7 + + + + Not equal (!=). + + + + + + + + + + + + + + + + + + + + + + Defines the values to use for sampler mipmap filter mode + + + + + + cast 0 + + + + Select the two closest MIP levels and linearly blend between them (the highest + quality mode, but has some performance cost). + + + + + cast 1 + + + + Use the nearest neighbor metric to select MIP levels (the fastest rendering method). + + + + + cast 2 + + + + Always use the top level texture (has a performance penalty when downscaling). + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + Select the two closest MIP levels and linearly blend between them (the highest + quality mode, but has some performance cost). + + + + + cast 1 + + + + Use the nearest neighbor metric to select MIP levels (the fastest rendering method). + + + + + cast 2 + + + + Always use the top level texture (has a performance penalty when downscaling). + + + + + + + + + + + + + + + + + + + + + + Defines the values to use for specifying the Context3D profile. + + + + + + cast 0 + + + + Use the default feature support profile. + + This profile most closely resembles Stage3D support used in previous releases. + + + + + cast 1 + + + + Use a constrained feature support profile to target older GPUs + + This profile is primarily targeted at devices that only support PS_2.0 level + shaders like the Intel GMA 9xx series. In addition, this mode tries to improve + memory bandwidth usage by rendering directly into the back buffer. There are + several side effects: + + * You are limited to 64 ALU and 32 texture instructions per shader. + * Only four texture read instructions per shader. + * No support for predicate register. This affects sln/sge/seq/sne, which you + replace with compound mov/cmp instructions, available with ps_2_0. + * The Context3D back buffer must always be within the bounds of the stage. + * Only one instance of a Context3D running in Constrained profile is allowed + within a Flash Player instance. + * Standard display list list rendering is driven by `Context3D.present()` instead of + being based on the SWF frame rate. That is, if a Context3D object is active and + visible you must call `Context3D.present()` to render the standard display list. + * Reading back from the back buffer through `Context3D.drawToBitmapData()` might + include parts of the display list content. Alpha information will be lost. + + + + + cast 2 + + + + Use an extended feature support profile to target newer GPUs which support larger + textures + + This profile increases the maximum 2D Texture and RectangleTexture size to 4096x4096 + + + + + cast 3 + + + + Use an standard profile to target GPUs which support MRT, AGAL2 and float textures. + + This profile supports 4 render targets. Increase AGAL commands and register count. + Add float textures. + + + + + cast 4 + + + + Use an standard profile to target GPUs which support AGAL2 and float textures. + + This profile is an alternative to standard profile, which removes MRT and a few + features in AGAL2 but can reach more GPUs. + + + + + cast 5 + + + + Use standard extended profile to target GPUs which support AGAL3 and instanced + drawing feature. + + This profile extends the standard profile. + + This profile is enabled on mobile platforms from AIR 17.0 and on Windows and Mac + from AIR 18.0. + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + Use the default feature support profile. + + This profile most closely resembles Stage3D support used in previous releases. + + + + + cast 1 + + + + Use a constrained feature support profile to target older GPUs + + This profile is primarily targeted at devices that only support PS_2.0 level + shaders like the Intel GMA 9xx series. In addition, this mode tries to improve + memory bandwidth usage by rendering directly into the back buffer. There are + several side effects: + + * You are limited to 64 ALU and 32 texture instructions per shader. + * Only four texture read instructions per shader. + * No support for predicate register. This affects sln/sge/seq/sne, which you + replace with compound mov/cmp instructions, available with ps_2_0. + * The Context3D back buffer must always be within the bounds of the stage. + * Only one instance of a Context3D running in Constrained profile is allowed + within a Flash Player instance. + * Standard display list list rendering is driven by `Context3D.present()` instead of + being based on the SWF frame rate. That is, if a Context3D object is active and + visible you must call `Context3D.present()` to render the standard display list. + * Reading back from the back buffer through `Context3D.drawToBitmapData()` might + include parts of the display list content. Alpha information will be lost. + + + + + cast 2 + + + + Use an extended feature support profile to target newer GPUs which support larger + textures + + This profile increases the maximum 2D Texture and RectangleTexture size to 4096x4096 + + + + + cast 3 + + + + Use an standard profile to target GPUs which support MRT, AGAL2 and float textures. + + This profile supports 4 render targets. Increase AGAL commands and register count. + Add float textures. + + + + + cast 4 + + + + Use an standard profile to target GPUs which support AGAL2 and float textures. + + This profile is an alternative to standard profile, which removes MRT and a few + features in AGAL2 but can reach more GPUs. + + + + + cast 5 + + + + Use standard extended profile to target GPUs which support AGAL3 and instanced + drawing feature. + + This profile extends the standard profile. + + This profile is enabled on mobile platforms from AIR 17.0 and on Windows and Mac + from AIR 18.0. + + + + + + + + + + + + + + + + + + + + + + Defines the values to use for specifying a Program3D source format. + + + + + + cast 0 + + + + The program will use the AGAL (Adobe Graphics Assembly Language) format + + + + + cast 1 + + + + The program will use the GLSL (GL Shader Language) format + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + The program will use the AGAL (Adobe Graphics Assembly Language) format + + + + + cast 1 + + + + The program will use the GLSL (GL Shader Language) format + + + + + + + + + + + + + + + + + + + + + + Defines the values to use for specifying whether a shader program is a fragment + or a vertex program. + + + + + + cast 0 + + + + A fragment (or pixel) program. + + + + + cast 1 + + + + A vertex program. + + + + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + A fragment (or pixel) program. + + + + + cast 1 + + + + A vertex program. + + + + + + + + + + + + + + + + + + + + + + + + + Defines the values to use for specifying the Context3D render mode. + + + + + + cast 0 + + + + Automatically choose rendering engine. + + A hardware-accelerated rendering engine is used if available on the current + device. Availability of hardware acceleration is influenced by the device + capabilites, the wmode when running under Flash Player, and the render mode when + running under AIR. + + + + + cast 1 + + + + Use software 3D rendering. + + Software rendering is not available on mobile devices. + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + Automatically choose rendering engine. + + A hardware-accelerated rendering engine is used if available on the current + device. Availability of hardware acceleration is influenced by the device + capabilites, the wmode when running under Flash Player, and the render mode when + running under AIR. + + + + + cast 1 + + + + Use software 3D rendering. + + Software rendering is not available on mobile devices. + + + + + + + + + + + + + + + + + + + + + + Defines the values to use for specifying stencil actions. + + A stencil action specifies how the values in the stencil buffer should be changed. + + + + + + cast 0 + + + + Decrement the stencil buffer value, clamping at 0, the minimum value. + + + + + cast 1 + + + + Decrement the stencil buffer value. If the result is less than 0, the minimum + value, then the buffer value is "wrapped around" to 255. + + + + + cast 2 + + + + Increment the stencil buffer value, clamping at 255, the maximum value. + + + + + cast 3 + + + + Increment the stencil buffer value. If the result exceeds 255, the maximum + value, then the buffer value is "wrapped around" to 0. + + + + + cast 4 + + + + Invert the stencil buffer value, bitwise. + + For example, if the 8-bit binary number in the stencil buffer is: 11110000, then + the value is changed to: 00001111. + + + + + cast 5 + + + + Keep the current stencil buffer value. + + + + + cast 6 + + + + Replace the stencil buffer value with the reference value. + + + + + cast 7 + + + + Set the stencil buffer value to 0. + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + Decrement the stencil buffer value, clamping at 0, the minimum value. + + + + + cast 1 + + + + Decrement the stencil buffer value. If the result is less than 0, the minimum + value, then the buffer value is "wrapped around" to 255. + + + + + cast 2 + + + + Increment the stencil buffer value, clamping at 255, the maximum value. + + + + + cast 3 + + + + Increment the stencil buffer value. If the result exceeds 255, the maximum + value, then the buffer value is "wrapped around" to 0. + + + + + cast 4 + + + + Invert the stencil buffer value, bitwise. + + For example, if the 8-bit binary number in the stencil buffer is: 11110000, then + the value is changed to: 00001111. + + + + + cast 5 + + + + Keep the current stencil buffer value. + + + + + cast 6 + + + + Replace the stencil buffer value with the reference value. + + + + + cast 7 + + + + Set the stencil buffer value to 0. + + + + + + + + + + + + + + + + + + + + + + Defines the values to use for sampler filter mode. + + + + + + cast 0 + + + + Use anisotropic filter with radio 16 when upsampling textures + + + + + cast 1 + + + + Use anisotropic filter with radio 2 when upsampling textures + + + + + cast 2 + + + + Use anisotropic filter with radio 4 when upsampling textures + + + + + cast 3 + + + + Use anisotropic filter with radio 8 when upsampling textures + + + + + cast 4 + + + + Use linear interpolation when upsampling textures (gives a smooth, blurry look). + + + + + cast 5 + + + + Use nearest neighbor sampling when upsampling textures (gives a pixelated, + sharp mosaic look). + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + Use anisotropic filter with radio 16 when upsampling textures + + + + + cast 1 + + + + Use anisotropic filter with radio 2 when upsampling textures + + + + + cast 2 + + + + Use anisotropic filter with radio 4 when upsampling textures + + + + + cast 3 + + + + Use anisotropic filter with radio 8 when upsampling textures + + + + + cast 4 + + + + Use linear interpolation when upsampling textures (gives a smooth, blurry look). + + + + + cast 5 + + + + Use nearest neighbor sampling when upsampling textures (gives a pixelated, + sharp mosaic look). + + + + + + + + + + + + + + + + + + + + + + Defines the values to use for specifying a texture format. + + + + + + cast 0 + + + + 16 bit, bgr packed as 5:6:5 + + + + + cast 1 + + + + 32 bit + + + + + cast 2 + + + + 16 bit, bgra packed as 4:4:4:4 + + + + + cast 3 + + + + ATF (Adobe Texture Format) + + + + + cast 4 + + + + ATF (Adobe Texture Format), with alpha + + + + + cast 5 + + + + 64 bit, rgba as 16:16:16:16 + + + + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + 16 bit, bgr packed as 5:6:5 + + + + + cast 1 + + + + 32 bit + + + + + cast 2 + + + + 16 bit, bgra packed as 4:4:4:4 + + + + + cast 3 + + + + ATF (Adobe Texture Format) + + + + + cast 4 + + + + ATF (Adobe Texture Format), with alpha + + + + + cast 5 + + + + 64 bit, rgba as 16:16:16:16 + + + + + + + + + + + + + + + + + + + + + + + + + Constants to specify the orientation of a triangle relative to the view point. + + "checkstyle:FieldDocComment" + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + + + + + + + + + + + + + + + + + + Defines the values to use for specifying vertex buffers. + + "checkstyle:FieldDocComment" + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + + + + + + + + + + + + + + + + + + Defines the values to use for sampler wrap mode + + + + + + cast 0 + + + + Clamp texture coordinates outside the 0..1 range. + + The function is x = max(min(x,0),1) + + + + + cast 1 + + + + Clamp in U axis but Repeat in V axis. + + + + + cast 2 + + + + + + + + + cast 3 + + + + Repeat in U axis but Clamp in V axis. + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + Clamp texture coordinates outside the 0..1 range. + + The function is x = max(min(x,0),1) + + + + + cast 1 + + + + Clamp in U axis but Repeat in V axis. + + + + + cast 2 + + + + + + + + + cast 3 + + + + Repeat in U axis but Clamp in V axis. + + + + + + + + + + + + + + + + + + + <__context> + + + + <__id> + + + + <__memoryUsage> + + + + <__numIndices> + + + + <__tempUInt16Array> + + + + <__usage> + + + + + + Free all native GPU resources associated with this object. No `upload()` calls + on this object will work and using the object in rendering will also fail. + + + + + + + + + + Store in the graphics subsystem vertex indices. + + @param data a ByteArray containing index data. Each index is represented by + 16-bits (two bytes) in the array. The number of bytes in data should be + `byteArrayOffset` plus two times count. + @param byteArrayOffset offset, in bytes, into the data ByteArray from where to + start reading. + @param startOffset The index in this IndexBuffer3D object of the first index to + be loaded in this IndexBuffer3D object. A value for `startIndex` not equal to zero + may be used to load a sub-region of the index data. + @param count The number of indices represented by data. + @throws TypeError kNullPointerError when data is null. + @throws RangeError kBadInputSize when any of `count`, `byteArrayOffset`, or + `startOffset` is less than 0, or if `byteArrayOffset` is greater than or equal + to the length of data, or if two times count plus `byteArrayOffset` is greater + than the length of data, or if `startOffset + count` is greater than `numIndices` + given in `context3D.createIndexBuffer()`. + @throws Error 3768: The Stage3D API may not be used during background execution. + + + + + + + + { byteLength : -1 } + Store in the graphics subsystem vertex indices. + + @param data an ArrayBufferView containing index data. Each index is represented by + 16-bits (two bytes) in the array. + @param byteLength The number of bytes to read. + + + + + + + + + Store in the graphics subsystem vertex indices. + + @param data a vector of vertex indices. Only the low 16 bits of each index + value are used. The length of the vector must be greater than or equal to count. + @param startOffset The index in this IndexBuffer3D object of the first index to + be loaded. A value for startOffset not equal to zero may be used to load a + sub-region of the index data. + @param count The number of indices in `data`. + @throws TypeError kNullPointerError when `data` is `null`. + @throws RangeError kBadInputSize when `count is less than 0 or greater than the + length of `data`, or when `startOffset + count` is greater than `numIndices` + given in `context3D.createIndexBuffer()`. + @throws Error 3768: The Stage3D API may not be used during background execution. + + + + + + + + + + + IndexBuffer3D is used to represent lists of vertex indices comprising graphic elements + retained by the graphics subsystem. + + Indices managed by an IndexBuffer3D object may be used to select vertices from a + vertex stream. Indices are 16-bit unsigned integers. The maximum allowable index + value is 65535 (0xffff). The graphics subsystem does not retain a reference to + vertices provided to this object. Data uploaded to this object may be modified or + discarded without affecting the stored values. + + IndexBuffer3D cannot be instantiated directly. Create instances by using + `context3D.createIndexBuffer()` + + + "tags=\"haxe,release\"" + + openfl.display3D.Context3D + openfl.display.Stage + + + + + <__agalAlphaSamplerEnabled> + + + + <__agalAlphaSamplerUniforms> + + + + <__agalFragmentUniformMap> + + + + <__agalPositionScale> + + + + <__agalSamplerUniforms> + + + + <__agalSamplerUsageMask> + + + + <__agalUniforms> + + + + <__agalVertexUniformMap> + + + + <__context> + + + + <__format> + + + + <__glFragmentShader> + + + + <__glFragmentSource> + + + + <__glProgram> + + + + <__glslAttribNames> + + + + <__glslAttribTypes> + + + + <__glslSamplerNames> + + + + <__glslUniformLocations> + + + + <__glslUniformNames> + + + + <__glslUniformTypes> + + + + <__glVertexShader> + + + + <__glVertexSource> + + + + <__samplerStates> + + + + + + Frees all resources associated with this object. After disposing a + Program3D object, calling `upload()` and rendering using this object will fail. + + + + + + + **BETA** + + Get the index for the specified shader attribute. + + @returns The index, or -1 if the attribute is not bound or + was not found in the shader sources + + + + + + + **BETA** + + Get the index for the specified shader constant. + + @returns The index, or -1 if the constant is not bound or + was not found in the shader sources + + + + + + + + Uploads a pair of rendering programs expressed in AGAL (Adobe Graphics Assembly + Language) bytecode. + + Program bytecode can be created using the Pixel Bender 3D offline tools. It can + also be created dynamically. The AGALMiniAssembler class is a utility class + that compiles AGAL assembly language programs to AGAL bytecode. The class is not + part of the runtime. When you upload the shader programs, the bytecode is + compiled into the native shader language for the current device (for example, + OpenGL or Direct3D). The runtime validates the bytecode on upload. + + The programs run whenever the Context3D `drawTriangles()` method is invoked. The + vertex program is executed once for each vertex in the list of triangles to be + drawn. The fragment program is executed once for each pixel on a triangle surface. + + The "variables" used by a shader program are called registers. The following + registers are defined: + + | Name | Number per Fragment program | Number per Vertex program | Purpose | + | --- | --- | --- | --- | + | Attribute | n/a | 8 | Vertex shader input; read from a vertex buffer specified using `Context3D.setVertexBufferAt()`. | + | Constant | 28 | 128 | Shader input; set using the `Context3D.setProgramConstants()` family of functions. | + | Temporary | 8 | 8 | Temporary register for computation, not accessible outside program. | + | Output | 1 | 1 | Shader output: in a vertex program, the output is the clipspace position; in a fragment program, the output is a color. | + | Varying | 8 | 8 | Transfer interpolated data between vertex and fragment shaders. The varying registers from the vertex program are applied as input to the fragment program. Values are interpolated according to the distance from the triangle vertices. | + | Sampler | 8 | n/a | Fragment shader input; read from a texture specified using `Context3D.setTextureAt()` | + + A vertex program receives input from two sources: vertex buffers and constant + registers. Specify which vertex data to use for a particular vertex attribute + register using the Context3D `setVertexBufferAt()` method. You can define up to + eight input registers for vertex attributes. The vertex attribute values are read + from the vertex buffer for each vertex in the triangle list and placed in the + attribute register. Specify constant registers using the Context3D + `setProgramConstantsFromMatrix()` or `setProgramConstantsFromVector()` + methods. Constant registers retain the same value for every vertex in the + triangle list. (You can only modify the constant values between calls to + `drawTriangles().`) + + The vertex program is responsible for projecting the triangle vertices into + clip space (the canonical viewing area within ±1 on the x and y axes and 0-1 on + the z axis) and placing the transformed coordinates in its output register. + (Typically, the appropriate projection matrix is provided to the shader in a set + of constant registers.) The vertex program must also copy any vertex attributes + or computed values needed by the fragment program to a special set of variables + called varying registers. When a fragment shader runs, the value supplied in a + varying register is linearly interpolated according to the distance of the + current fragment from each triangle vertex. + + A fragment program receives input from the varying registers and from a separate + set of constant registers (set with `setProgramConstantsFromMatrix()` or + `setProgramConstantsFromVector()`). You can also read texture data from textures + uploaded to the rendering context using sampler registers. Specify which texture + to access with a particular sampler register using the Context3D `setTextureAt()` + method. The fragment program is responsible for setting its output register to a + color value. + + @param vertexProgram AGAL bytecode for the Vertex program. The ByteArray object + must use the little endian format. + @param fragmentProgram AGAL bytecode for the Fragment program. The ByteArray + object must use the little endian format. + @throws TypeError Null Pointer Error: if vertexProgram or fragmentProgram is + `null`. + @throws Error Object Disposed: if the Program3D object was disposed either + directly by a call to `dispose()`, or indirectly by calling the Context3D + `dispose()` or because the rendering context was disposed because of device loss. + @throws ArgumentError Agal Program Too Small: when either program code array + is smaller than 31 bytes length. This is the size of the shader bytecode of a + one-instruction program. + @throws ArgumentError Program Must Be Little Endian: if either of the program + byte code arrays is not little endian. + @throws Error Native Shader Compilation Failed: if the output of the AGAL + translator is not a compilable native shader language program. This error is only + thrown in release players. + @throws Error Native Shader Compilation Failed OpenGL: if the output of the + AGAL translator is not a compilable OpengGL shader language program, and + includes compilation diagnostics. This error is only thrown in debug players. + @throws Error Native Shader Compilation Failed D3D9: if the output of the AGAL + translator is not a compilable Direct3D shader language program, and includes + compilation diagnostics. This error is only thrown in debug players. + + The following errors are thrown when the AGAL bytecode validation fails: + + @throws Error Not An Agal Program: if the header "magic byte" is wrong. The + first byte of the bytecode must be 0xa0. This error can indicate that the byte + array is set to the wrong endian order. + @throws Error Bad Agal Version: if the AGAL version is not supported by the + current SWF version. The AGAL version must be set to 1 for SWF version 13. + @throws Error Bad Agal Program Type: if the AGAL program type identifier is + not valid. The third byte in the byte code must be 0xa1. This error can indicates + that the byte array is set to the wrong endian order. + @throws Error Bad Agal Shader Type: if the shader type code is not either + fragment or vertex (1 or 0). + @throws Error Invalid Agal Opcode Out Of Range: if an invalid opcode is + encountered in the token stream. + @throws Error Invalid Agal Opcode Not Implemented: if an invalid opcode is + encountered in the token stream. + @throws Error Agal Opcode Only Allowed In Fragment Program: if an opcode is + encountered in the token stream of the vertex program that is only allowed in fragment programs, such as KIL or TEX. + @throws Error Bad Agal Source Operands: if both source operands are constant + registers. You must compute the result outside the shader program and pass it + in using a single constant register. + @throws Error Both Operands Are Indirect Reads: if both operands are indirect + reads. + @throws Error Opcode Destination Must Be All Zero: if a token with an opcode + (such as KIL) that has no destination sets a non-zero value for the destination + register. + @throws Error Opcode Destination Must Use Mask: if an opcode that produces + only a 3 component result is used without masking. + @throws Error Too Many Tokens: if there are too many tokens (more than 200) in + an AGAL program. + @throws Error Fragment Shader Type: if the fragment program type (byte 6 of + fragmentProgram parameter) is not set to 1. + @throws Error Vertex Shader Type: if the vertex program type (byte 6 of + vertexProgram parameter) is not set to 0. + @throws Error Varying Read But Not Written To: if the fragment shader reads a + varying register that was never written to by the vertex shader. + @throws Error Varying Partial Write: if a varying register is only partially + written to. All components of a varying register must be written to. + @throws Error Fragment Write All Components: if a fragment color output is only + partially written to. All four components of the color output must be written to. + @throws Error Vertex Write All Components: if a vertex clip space output is only + partially written to. All components of the vertex clip space output must be + written to. + @throws Error Unused Operand: if an unused operand in a token is not set to all + zero. + @throws Error Sampler Register Only In Fragment: if a texture sampler register + is used in a vertex program. + @throws Error Sampler Register Second Operand: if a sampler register is used + as a destination or first operand of an AGAL token. + @throws Error Indirect Only Allowed In Vertex: if indirect addressing is used + in a fragment program. + @throws Error Indirect Only Into Constant Registers: if indirect addressing + is used on a non-constant register. + @throws Error Indirect Source Type: if the indirect source type is not + attribute, constant or temporary register. + @throws Error Indirect Addressing Fields Must Be Zero: if not all indirect + addressing fields are zero for direct addressing. + @throws Error Varying Registers Only Read In Fragment: if a varying register is + read in a vertex program. Varying registers can only be written in vertex + programs and read in fragment programs. + @throws Error Attribute Registers Only Read In Vertex: if an attribute + registers is read in a fragment program. Attribute registers can only be read + in vertex programs. + @throws Error Can Not Read Output Register: if an output (position or color) + register is read. Output registers can only be written to, not read. + @throws Error Temp Register Read Without Write: if a temporary register is read + without being written to earlier. + @throws Error Temp Register Component Read Without Write: if a specific + temporary register component is read without being written to earlier. + @throws Error Sampler Register Cannot Be Written To: if a sampler register is + written to. Sampler registers can only be read, not written to. + @throws Error Varying Registers Write: if a varying register is written to in + a fragment program. Varying registers can only be written in vertex programs and + read in fragment programs. + @throws Error Attribute Register Cannot Be Written To: if an attribute + register is written to. Attribute registers are read-only. + @throws Error Constant Register Cannot Be Written To: if a constant register + is written to inside a shader program. + @throws Error Destination Writemask Is Zero: if a destination writemask is + zero. All components of an output register must be set. + @throws Error AGAL Reserved Bits Should Be Zero: if any reserved bits in a + token are not zero. This indicates an error in creating the bytecode (or + malformed bytecode). + @throws Error Unknown Register Type: if an invalid register type index is used. + @throws Error Sampler Register Out Of Bounds: if an invalid sampler register + index is used. + @throws Error Varying Register Out Of Bounds: if an invalid varying register + index is used. + @throws Error Attribute Register Out Of Bounds: if an invalid attribute + register index is used. + @throws Error Constant Register Out Of Bounds: if an invalid constant + register index is used. + @throws Error Output Register Out Of Bounds: if an invalid output register + index is used. + @throws Error Temporary Register Out Of Bounds: if an invalid temporary + register index is used. + @throws Error Cube Map Sampler Must Use Clamp: if a cube map sampler does not + set the wrap mode to clamp. + @throws Error Unknown Sampler Dimension: if a sample uses an unknown sampler + dimension. (Only 2D and cube textures are supported.) + @throws Error Unknown Filter Mode: if a sampler uses an unknown filter mode. + (Only nearest neighbor and linear filtering are supported.) + @throws Error Unknown Mipmap Mode: if a sampler uses an unknown mipmap mode. + (Only none, nearest neighbor, and linear mipmap modes are supported.) + @throws Error Unknown Wrapping Mode if a sampler uses an unknown wrapping mode. + (Only clamp and repeat wrapping modes are supported.) + @throws Error Unknown Special Flag: if a sampler uses an unknown special flag. + @throws Error Output Color Not Maskable: You cannot mask the color output + register in a fragment program. All components of the color register must be set. + @throws Error Second Operand Must Be Sampler Register: The AGAL tex opcode must + have a sampler as the second source operand. + @throws Error Indirect Not Allowed: indirect addressing used where not allowed. + @throws Error Swizzle Must Be Scalar: swizzling error. + @throws Error Cant Swizzle 2nd Source: swizzling error. + @throws Error Second Use Of Sampler Must Have Same Params: all samplers that + access the same texture must use the same dimension, wrap, filter, special, and + mipmap settings. + @throws Error 3768: The Stage3D API may not be used during background execution. + + + + + + + + **BETA** + + Uploads a pair of rendering programs expressed in GLSL (GL Shader Language). + + <__buildAGALUniformList set="method" line="481"> + + + + <__deleteShaders set="method" line="587"> + + + + <__disable set="method" line="609"> + + + + <__enable set="method" line="651"> + + + + <__flush set="method" line="706"> + + + + <__getSamplerState set="method" line="747"> + + + + + + + <__markDirty set="method" line="752"> + + + + + + + + + <__processGLSLData set="method" line="766"> + + + + + + + + <__setPositionScale set="method" line="838"> + + + + + + + <__setSamplerState set="method" line="849"> + + + + + + + + <__uploadFromGLSL set="method" line="854"> + + + + + + + + + + + + + + + + The Program3D class represents a pair of rendering programs (also called "shaders") + uploaded to the rendering context. + + Programs managed by a Program3D object control the entire rendering of triangles + during a Context3D drawTriangles() call. Upload the binary bytecode to the rendering + context using the upload method. (Once uploaded, the program in the original byte + array is no longer referenced; changing or discarding the source byte array does + not change the program.) + + Programs always consist of two linked parts: A vertex and a fragment program. + + 1. The vertex program operates on data defined in VertexBuffer3D objects and is + responsible for projecting vertices into clip space and passing any required vertex + data, such as color, to the fragment shader. + 2. The fragment shader operates on the attributes passed to it by the vertex program + and produces a color for every rasterized fragment of a triangle, resulting in pixel + colors. Note that fragment programs have several names in 3D programming literature, + including fragment shader and pixel shader. + + Designate which program pair to use for subsequent rendering operations by passing the + corresponding Program3D instance to the Context3D `setProgram()` method. + + You cannot create a Program3D object directly; use the Context3D `createProgram()` + method instead. + + + "tags=\"haxe,release\"" + + openfl.display3D.Context3D + openfl.display.ShaderInput + openfl.display.ShaderParameter + openfl.display.Stage + + + + + + + + + + + + + + + + <__getUniformRegisters get="inline" set="null" line="1013"> + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + openfl.display3D.Context3D + "checkstyle:FieldDocComment" + hide + + + + + <__allDirty> + + + + <__anyDirty> + + + + <__registerLookup> + + + + <__uniforms> + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + "checkstyle:FieldDocComment" + hide + + + + + <__context> + + + + <__data> + + + + <__id> + + + + <__memoryUsage> + + + + <__numVertices> + + + + <__stride> + + + + <__tempFloat32Array> + + + + <__usage> + + + + <__vertexSize> + + + + + + Frees all resources associated with this object. After disposing a vertex + buffer, calling `upload()` and rendering using this object will fail. + + + + + + + + + + Uploads the data for a set of points to the rendering context from a byte array. + + @param data a byte array containing the vertex data. Each data value is four + bytes long. The number of values in a vertex is specified at buffer creation + using the data32PerVertex parameter to the Context3D `createVertexBuffer3D()` + method. The length of the data in bytes must be `byteArrayOffset` plus four times + the number of values per vertex times the number of vertices. The ByteArray object + must use the little endian format. + @param byteArrayOffset number of bytes to skip from the beginning of data + @param startVertex The index of the first vertex to be loaded. A value for + startVertex not equal to zero may be used to load a sub-region of the vertex data. + @param numVertices The number of vertices to be loaded from data. + @throws TypeError Null Pointer Error: when data is `null`. + @throws RangeError Bad Input Size: if `byteArrayOffset` is less than 0, or if + `byteArrayOffset` is greater than or equal to the length of data, or if no. of + elements in data - `byteArrayOffset` is less than `numVertices*data32pervertex*4` + given in Context3D `createVertexBuffer()`. + @throws Error 3768: The Stage3D API may not be used during background execution. + + + + + + + + { byteLength : -1 } + Uploads the data for a set of points to the rendering context from a typed array. + + @param data a typed array of 32-bit values. A single vertex is comprised of a + number of values stored sequentially in the vector. The number of values in a + vertex is specified at buffer creation using the `data32PerVertex` parameter to the + Context3D `createVertexBuffer3D()` method. + @param byteLength The number of bytes to read. + + + + + + + + + Uploads the data for a set of points to the rendering context from a vector array. + + @param data a vector of 32-bit values. A single vertex is comprised of a + number of values stored sequentially in the vector. The number of values in a + vertex is specified at buffer creation using the data32PerVertex parameter to the + Context3D `createVertexBuffer3D()` method. The length of the vector must be the + number of values per vertex times the number of vertexes. + @param startVertex The index of the first vertex to be loaded. A value for + `startVertex` not equal to zero may be used to load a sub-region of the vertex data. + @param numVertices The number of vertices represented by data. + @throws TypeError Null Pointer Error: when `data` is `null`. + @throws RangeError Bad Input Size: when number of elements in data is less than + `numVertices * data32PerVertex` given in Context3D `createVertexBuffer()`, or + when `startVertex + numVertices` is greater than `numVertices` given in Context3D + `createVertexBuffer()`. + + + + + + + + + + + + The VertexBuffer3D class represents a set of vertex data uploaded to a rendering context. + + Use a VertexBuffer3D object to define the data associated with each point in a set + of vertexes. You can upload the vertex data either from a Vector array or a ByteArray. + (Once uploaded, the data in the original array is no longer referenced; changing or + discarding the source array does not change the vertex data.) + + The data associated with each vertex is in an application-defined format and is used + as the input for the vertex shader program. Identify which values belong to which + vertex program input using the Context3D `setVertexBufferAt()` function. A vertex + program can use up to eight inputs (also known as vertex attribute registers). Each + input can require between one and four 32-bit values. For example, the [x,y,z] + position coordinates of a vertex can be passed to a vertex program as a vector + containing three 32 bit values. The Context3DVertexBufferFormat class defines + constants for the supported formats for shader inputs. You can supply up to + sixty-four 32-bit values (256 bytes) of data for each point (but a single vertex + shader cannot use all of the data in this case). + + The `setVertexBufferAt()` function also identifies which vertex buffer to use for + rendering any subsequent `drawTriangles()` calls. To render data from a different + vertex buffer, call setVertexBufferAt() again with the appropriate arguments. (You + can store data for the same point in multiple vertex buffers, say position data in + one buffer and texture coordinates in another, but typically rendering is more + efficient if all the data for a point comes from a single buffer.) + + The Index3DBuffer object passed to the Context3D `drawTriangles()` method organizes + the vertex data into triangles. Each value in the index buffer is the index to a + vertex in the vertex buffer. A set of three indexes, in sequence, defines a triangle. + + You cannot create a VertexBuffer3D object directly. Use the Context3D + `createVertexBuffer()` method instead. + + To free the render context resources associated with a vertex buffer, call the object's + `dispose()` method. + + + "tags=\"haxe,release\"" + + openfl.display3D.Context3D + openfl.display.Stage + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + + + + + + { useMask : true } + + + + + "tags=\"haxe,release\"" + + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + new Array() + + + + + + + + + + + + + + + + + + + + + + + + + + { offset : 0 } + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + "checkstyle:FieldDocComment" + + + + + + + + + + + "tags=\"haxe,release\"" + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + + + + + + + + + + + + { offset : 0, emitSwizzle : true } + + + + + "tags=\"haxe,release\"" + + "checkstyle:FieldDocComment" + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + cast 2 + + + + + + + + cast 3 + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + <__readUInt24 set="method" line="145"> + + + + <__readUInt32 set="method" line="154"> + + + + + + + + + + + "tags=\"haxe,release\"" + + "checkstyle:FieldDocComment" + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + + + + + cast 0 + + + + + + + + cast 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <__currentGLArrayBuffer> + <__currentGLElementArrayBuffer> + <__currentGLFramebuffer> + <__currentGLTexture2D> + <__currentGLTextureCubeMap> + <__enableGLBlend> + <__enableGLCullFace> + <__enableGLDepthTest> + <__enableGLScissorTest> + <__enableGLStencilTest> + <__frontFaceGLCCW> + <__glBlendEquation> + <__primaryGLFramebuffer> + <__rttDepthGLRenderbuffer> + <__rttGLFramebuffer> + <__rttGLRenderbuffer> + <__rttStencilGLRenderbuffer> + + + + "checkstyle:FieldDocComment" + + + + + + + + + + + + <__compressedFormats static="1"> + + + + + + + <__compressedFormatsAlpha static="1"> + + + + + + + <__supportsBGRA expr="null" line="37" static="1"> + + + null + + + + <__textureFormat static="1"> + + + + <__textureInternalFormat static="1"> + + + + <__alphaTexture> + + + + <__context> + + + + <__format> + + + + <__glDepthRenderbuffer> + + + + <__glFramebuffer> + + + + <__glStencilRenderbuffer> + + + + <__height> + + + + <__internalFormat> + + + + <__optimizeForRenderToTexture> + + + + <__samplerState> + + + + <__streamingLevels> + + + + <__textureContext> + + + "checkstyle:Dynamic" + + + + <__textureID> + + + + <__textureTarget> + + + + <__width> + + + + + + Frees all GPU resources associated with this texture. After disposal, calling + `upload()` or rendering with this object fails. + + <__getGLFramebuffer set="method" line="186"> + + + + + + + + "checkstyle:Dynamic" + + + + <__getImage set="method" line="251"> + + + + + + + <__getTexture set="method" line="304"> + + + + <__setSamplerState set="method" line="309"> + + + + + + + <__uploadFromImage set="method" line="382"> + + + + + + + + + + + + + + The TextureBase class is the base class for Context3D texture objects. + + **Note:** You cannot create your own texture classes using TextureBase. To add + functionality to a texture class, extend either Texture or CubeTexture instead. + + + "tags=\"haxe,release\"" + + openfl.display._internal.SamplerState + openfl.display3D.Context3D + openfl.display.BitmapData + openfl.display.Stage + + + + + <__framebufferSurface> + + + + <__size> + + + + <__uploadedSides> + + + + + + + + + + + { async : false } + Uploads a cube texture in Adobe Texture Format (ATF) from a byte array. + + The byte array must contain all faces and mipmaps for the texture. + + @param data a byte array that containing a compressed cube texture including + mipmaps. The ByteArray object must use the little endian format. + @param byteArrayOffset an optional offset at which to start reading the texture + data. + @param async If `true`, this function returns immediately. Any draw method which + attempts to use the texture will fail until the upload completes successfully. Upon + successful upload, this Texture object dispatches `Event.TEXTURE_READY`. Default + value: `false`. + @throws TypeError Null Pointer Error: when `data` is `null`. + @throws ArgumentError Texture Decoding Failed: when the compression format of + this object cannot be derived from the format of the compressed data in data. + @throws ArgumentError Texture Needs To Be Square: when the decompressed texture + does not have equal `width` and `height`. + @throws ArgumentError Texture Size Does Not Match: when the width and height of + the decompressed texture do not equal the length of the texture's edge. + @throws ArgumentError Miplevel Too Large: if the mip level of the decompressed + texture is greater than that implied by the length of the texture's edge. + @throws ArgumentError Texture Format Mismatch: if the decoded ATF bytes don't + contain a texture compatible with this texture's format or is not a cube texture. + @throws Error 3768: The Stage3D API may not be used during background execution. + @throws RangeError Bad Input Size: when there is integer overflow of + `byteArrayOffset` or if `byteArrayOffset` + 6 is greater than the length of `data`, + or if the number of bytes available from `byteArrayOffset` to the end of the data + byte array is less than the amount of data required for ATF texture. + + + + + + + + + + { generateMipmap : false, miplevel : 0 } + Uploads a component of a cube map texture from a BitmapData object. + + This function uploads one mip level of one side of the cube map. Call + `uploadFromBitmapData()` as necessary to upload each mip level and face of the + cube map. + + @param source a bitmap. + @param side A code indicating which side of the cube to upload: + positive X : 0 + negative X : 1 + positive Y : 2 + negative Y : 3 + positive Z : 4 + negative Z : 5 + @param miplevel the mip level to be loaded, level zero being the top-level + full-resolution image. The default value is zero. + @throws TypeError Null Pointer Error: if source is `null`. + @throws ArgumentError Miplevel Too Large: if the specified mip level is greater + than that implied by the the texture's dimensions. + @throws ArgumentError Invalid Cube Side: if side is greater than 5. + @throws ArgumentError Invalid BitmapData Error: if source if the BitmapData + object does not contain a valid cube texture face. The image must be square, with + sides equal to a power of two, and the correct size for the miplevel specified. + @throws ArgumentError Texture Format Mismatch: if the texture format is + `Context3DTextureFormat.COMPRESSED` or `Context3DTextureFormat.COMPRESSED_ALPHA` + and the code is executing on a mobile platform where runtime texture compression + is not supported. + @throws Error 3768: The Stage3D API may not be used during background execution. + + + + + + + + + + { miplevel : 0 } + Uploads a component of a cube map texture from a ByteArray object. + + This function uploads one mip level of one side of the cube map. Call + `uploadFromByteArray()` as neccessary to upload each mip level and face of the + cube map. + + @param data a byte array containing the image in the format specified when + this CubeTexture object was created. The ByteArray object must use the little + endian format. + @param byteArrayOffset reading of the byte array starts there. + @param side A code indicating which side of the cube to upload: + positive X : 0 + negative X : 1 + positive Y : 2 + negative Y : 3 + positive Z : 4 + negative Z : 5 + @param miplevel the mip level to be loaded, level zero is the top-level, + full-resolution image. + @throws TypeError Null Pointer Error: when data is null. + @throws ArgumentError Miplevel Too Large: if the specified mip level is greater than that implied by the Texture's dimensions. + @throws RangeError Bad Input Size: if the number of bytes available from byteArrayOffset to the end of the data byte array is less than the amount of data required for a texture of this mip level or if byteArrayOffset is greater than or equal to the length of data. + @throws ArgumentError Texture Format Mismatch: if the texture format is Context3DTextureFormat.COMPRESSED or Context3DTextureFormat.COMPRESSED_ALPHA and the code is executing on a mobile platform where runtime texture compression is not supported. + @throws Error 3768: The Stage3D API may not be used during background execution. + + + + + + + + + { miplevel : 0 } + Uploads a component of a cube map texture from an ArrayBufferView object. + + This function uploads one mip level of one side of the cube map. Call + `uploadFromTypedArray()` as necessary to upload each mip level and face of the + cube map. + + @param data a typed array containing the image in the format specified when + this CubeTexture object was created. + @param side A code indicating which side of the cube to upload: + positive X : 0 + negative X : 1 + positive Y : 2 + negative Y : 3 + positive Z : 4 + negative Z : 5 + @param miplevel the mip level to be loaded, level zero is the top-level, + full-resolution image. + + <__getGLFramebuffer set="method" line="256" override="1"> + + + + + + + + + <__setSamplerState set="method" line="287" override="1"> + + + + + + + <__sideToTarget set="method" line="324"> + + + + + + + <__uploadCompressedTextureFromByteArray set="method" line="340"> + + + + + + + + + + + + + + + + + + + The CubeTexture class represents a cube texture uploaded to a rendering context. + + Defines a cube map texture for use during rendering. Cube mapping is used for many + rendering techniques, such as environment maps, skyboxes, and skylight illumination. + + You cannot create a CubeTexture object directly; use the Context3D + `createCubeTexture()` instead. + + + "tags=\"haxe,release\"" + + openfl.display3D.Context3D + openfl.display.Stage + openfl.events.Event + + + + + + + + + + + Uploads a texture from a BitmapData object. + + @param source a bitmap. + @throws TypeError Null Pointer Error: when `source` is `null`. + @throws ArgumentError Invalid BitmapData Error: when `source` does not contain a + valid texture. The maximum allowed size in any dimension is 4096 or the size of the + backbuffer, whichever is greater. + @throws Error 3768: The Stage3D API may not be used during background execution. + + + + + + + + Uploads a texture from a ByteArray. + + @param data a byte array that is contains enough bytes in the textures internal + format to fill the texture. rgba textures are read as bytes per texel component (1 + or 4). float textures are read as floats per texel component (1 or 4). The + ByteArray object must use the little endian format. + @param byteArrayOffset the position in the byte array object at which to start + reading the texture data. + @throws TypeError Null Pointer Error: when `data` is `null`. + @throws RangeError Bad Input Size: if the number of bytes available from + `byteArrayOffset` to the end of data byte array is less than the amount of data + required for a texture, or if `byteArrayOffset` is greater than or equal to the + length of data. + @throws Error 3768: The Stage3D API may not be used during background execution. + + + + + + + Uploads a texture from an ArrayBufferView. + + @param data a typed array that contains enough bytes in the textures internal + format to fill the texture. rgba textures are read as bytes per texel component (1 + or 4). float textures are read as floats per texel component (1 or 4). + + <__setSamplerState set="method" line="124" override="1"> + + + + + + + + + + + + + + + + + + The Rectangle Texture class represents a 2-dimensional texture uploaded to a rendering + context. + + Defines a 2D texture for use during rendering. + + Texture cannot be instantiated directly. Create instances by using Context3D + `createRectangleTexture()` method. + + + "tags=\"haxe,release\"" + + openfl.display3D.Context3D + openfl.display.Stage + + + + + + <__lowMemoryMode expr="false" line="31" static="1"> + + + false + + + + + + + + + + + { async : false } + Uploads a compressed texture in Adobe Texture Format (ATF) from a ByteArray + object. ATF file version 2 requires SWF version 21 or newer and ATF file version 3 + requires SWF version 29 or newer. For ATF files created with png image without + alpha the format string given during Context3DObject `createTexture` should be + `"COMPRESSED"` and for ATF files created with png image with alpha the format + string given during Context3DObject `createTexture` should be `"COMPRESSED_ALPHA"`. + + @param data a byte array that contains a compressed texture including mipmaps. + The ByteArray object must use the little endian format. + @param byteArrayOffset the position in the byte array at which to start reading + the texture data. + @param async If true, this function returns immediately. Any draw method which + attempts to use the texture will fail until the upload completes successfully. + Upon successful upload, this CubeTexture object dispatches `Event.TEXTURE_READY`. + Default value: `false`. + @throws TypeError Null Pointer Error: when `data` is `null`. + @throws ArgumentError Texture Decoding Failed: when the compression format of + this object cannot be derived from the format of the compressed data in data or + when the SWF version is incompatible with the ATF file version. + @throws ArgumentError Texture Size Does Not Match: when the width and height of + the decompressed texture do not equal the dimensions of this Texture object. + @throws ArgumentError Miplevel Too Large: if the mip level of the decompressed + texture is greater than that implied by the size of the texture. + @throws ArgumentError Texture Format Mismatch: if the decoded ATF bytes don't + contain a texture compatible with this texture's format. + @throws Error 3768: The Stage3D API may not be used during background execution. + @throws RangeError Bad Input Size: when there is integer overflow of + `byteArrayOffset` or if `byteArrayOffset` + 6 is greater than the length of `data`, + or if the number of bytes available from `byteArrayOffset` to the end of the `data` + byte array is less than the amount of data required for ATF texture. + + + + + + + + + { generateMipmap : false, miplevel : 0 } + Uploads a texture from a BitmapData object. + + @param source a bitmap. + @param miplevel the mip level to be loaded, level zero being the top-level + full-resolution image. + @throws TypeError Null Pointer Error: when `source` is `null`. + @throws ArgumentError Miplevel Too Large: if the specified mip level is greater + than that implied by the larger of the Texture's dimensions. + @throws ArgumentError Invalid BitmapData Error: if `source` if the BitmapData + object does not contain a valid cube texture face. The image must have sides equal + to a power of two, and the correct size for the miplevel specified. + @throws ArgumentError Texture Format Mismatch: if the texture format is + Context3DTextureFormat.COMPRESSED or Context3DTextureFormat.COMPRESSED_ALPHA and + the code is executing on a mobile platform where runtime texture compression is + not supported. + @throws Error 3768: The Stage3D API may not be used during background execution. + + + + + + + + + { miplevel : 0 } + Uploads a texture from a ByteArray. + + @param data a byte array that is contains enough bytes in the textures + internal format to fill the texture. rgba textures are read as bytes per texel + component (1 or 4). float textures are read as floats per texel component (1 or 4). + The ByteArray object must use the little endian format. + @param byteArrayOffset the position in the byte array object at which to start + reading the texture data. + @param miplevel the mip level to be loaded, level zero is the top-level, + full-resolution image. + @throws TypeError Null Pointer Error: when `data` is `null`. + @throws ArgumentError Miplevel Too Large: if the specified mip level is greater + than that implied by the larger of the Texture's dimensions. + @throws RangeError Bad Input Size: if the number of bytes available from + `byteArrayOffset` to the end of the data byte array is less than the amount of data + required for a texture of this mip level or if `byteArrayOffset` is greater than or + equal to the length of data. + @throws ArgumentError Texture Format Mismatch: if the texture format is + Context3DTextureFormat.COMPRESSED or Context3DTextureFormat.COMPRESSED_ALPHA and + the code is executing on a mobile platform where runtime texture compression is not + supported. + @throws Error 3768: The Stage3D API may not be used during background execution. + + + + + + + + { miplevel : 0 } + Uploads a texture from an ArrayBufferView. + + @param data a typed array that contains enough bytes in the textures + internal format to fill the texture. rgba textures are read as bytes per texel + component (1 or 4). float textures are read as floats per texel component (1 or 4). + @param miplevel the mip level to be loaded, level zero is the top-level, + full-resolution image. + + <__setSamplerState set="method" line="262" override="1"> + + + + + + + <__uploadCompressedTextureFromByteArray set="method" line="299"> + + + + + + + + + + + + + + + + + + + + The Texture class represents a 2-dimensional texture uploaded to a rendering context. + + Defines a 2D texture for use during rendering. + + Texture cannot be instantiated directly. Create instances by using Context3D + `createTexture()` method. + + + "tags=\"haxe,release\"" + + openfl.display3D.Context3D + openfl.display.Stage + openfl.events.Event + + + + + + + + An integer specifying the height of the video stream, in pixels. + + For a live stream, this value is the same as the Camera.height property of the + Camera object that is capturing the video stream. For a recorded video file, this + value is the height of the video. The `NetStream.Video.DimensionChange` event is + dispatched in the case of recorded videos when this value changes. + + + + An integer specifying the width of the video stream, in pixels. + + For a live stream, this value is the same as the Camera.width property of the + Camera object that is capturing the video stream. For a recorded video file, this + value is the width of the video. The `NetStream.Video.DimensionChange` event is + dispatched in the case of recorded videos when this value changes. + + <__cacheTime> + + + + <__netStream> + + + + + + + + + Specifies a video stream to be rendered within the texture of the VideoTexture + object. + + A video file can be stored on the local file system or on Flash Media Server. If + the value of the netStream argument is `null`, the video is no longer played in the + VideoTexture object. + + @param netStream + + + <__getTexture set="method" line="150" override="1"> + + + + <__textureReady set="method" line="166"> + + + + + + + + + + + RGB + conversion) and so the standard shaders with static images can be used without change. + The image used by the rendering pipeline is the latest up-to-date frame at the time the + rendering occurs using this texture. There is no tearing in a video frame, however if + the same texture is used several times, some of the instances may be from different + timestamps.]]> + + "tags=\"haxe,release\"" + + openfl.display3D.Context3D + openfl.display.Stage + openfl.net.NetStream + openfl.events.Event + + + + + + + + "Error" + + + + + + Contains the reference number associated with the specific error message. For a + custom Error object, this number is the value from the id parameter supplied in the + constructor. + + + + Contains the message associated with the Error object. By default, the value of + this property is "Error". You can specify a message property when you create an + Error object by passing the error string to the Error constructor function. + + + + Contains the name of the Error object. By default, the value of this property is + "Error". + + + + Returns the call stack for an error at the time of the error's construction as a + string. As shown in the following example, the first line of the return value is + the string representation of the exception object, followed by the stack trace + elements: + + ``` + TypeError: Error #1009: Cannot access a property or method of a null object reference + at com.xyz::OrderEntry/retrieveData()[/src/com/xyz/OrderEntry.as:995] + at com.xyz::OrderEntry/init()[/src/com/xyz/OrderEntry.as:200] + at com.xyz::OrderEntry()[/src/com/xyz/OrderEntry.as:148] + ``` + + The preceding listing shows the value of this method when called in a debugger + version of Flash Player or code running in the AIR Debug Launcher (ADL). When code + runs in a release version of Flash Player or AIR, the stack trace is provided + without the file path and line number information, as in the following example: + + ``` + TypeError: Error #1009: Cannot access a property or method of a null object reference + at com.xyz::OrderEntry/retrieveData() + at com.xyz::OrderEntry/init() + at com.xyz::OrderEntry() + ``` + + For Flash Player 11.4 and earlier and AIR 3.4 and earlier, stack traces are only + available when code is running in the debugger version of Flash Player or the AIR + Debug Launcher (ADL). In non-debugger versions of those runtimes, calling this + method returns `null`. + + @returns A string representation of the call stack. + + + + Returns the string "Error" by default or the value contained in the `Error.message` + property, if defined. + + @returns The error message. + + + + + + + + { id : 0, message : "" } + Creates a new Error object. If message is specified, its value is assigned to the + object's Error.message property. + + @param message A string associated with the Error object; this parameter is optional. + @param id A reference number to associate with the specific error message. + + The Error class contains information about an error that occurred in a script. In + developing ActionScript 3.0 applications, when you run your compiled code in the + debugger version of a Flash runtime, a dialog box displays exceptions of type Error, + or of a subclass, to help you troubleshoot the code. You create an Error object by + using the Error constructor function. Typically, you throw a new Error object from + within a `try` code block that is caught by a `catch` code block. + + You can also create a subclass of the Error class and throw instances of that subclass. + + + "tags=\"haxe,release\"" + + + + + + + + + + + { message : "" } + + + + "tags=\"haxe,release\"" + + + + + + + + + + + { message : "" } + Creates a new IOError object. + + @param message A string associated with the error object. + + The IOError exception is thrown when some type of input or output failure + occurs. For example, an IOError exception is thrown if a read/write + operation is attempted on a socket that has not connected or that has + become disconnected. + + "tags=\"haxe,release\"" + + + + + + + + + + + + { id : 0, message : null } + Creates a new EOFError object. + + @param message A string associated with the error object. + + An EOFError exception is thrown when you attempt to read past the end of + the available data. For example, an EOFError is thrown when one of the read + methods in the IDataInput interface is called and there is insufficient + data to satisfy the read request. + + + "tags=\"haxe,release\"" + + + + + + + + + + + { message : "" } + Creates a new IllegalOperationError object. + + @param message A string associated with the error object. + + The IllegalOperationError exception is thrown when a method is not + implemented or the implementation doesn't cover the current usage. + + Examples of illegal operation error exceptions include: + + * A base class, such as DisplayObjectContainer, provides more + functionality than a Stage can support(such as masks) + * Certain accessibility methods are called when the player is compiled + without accessibility support + * The mms.cfg setting prohibits a FileReference action + * ActionScript tries to run a `FileReference.browse()` call + when a browse dialog box is already open + * ActionScript tries to use an unsupported protocol for a FileReference + object(such as FTP) + * Authoring-only features are invoked from a run-time + player + * An attempt is made to set the name of a Timeline-placed + object + + + "tags=\"haxe,release\"" + + + + + + + + + + + { message : "" } + + + + "tags=\"haxe,release\"" + + + + + + + + + + + { message : "" } + + + + "tags=\"haxe,release\"" + + + + + + + "activate" + The `ACTIVATE` constant defines the value of the `type` property of an + `activate` event object. + **Note:** This event has neither a "capture phase" nor a "bubble + phase", which means that event listeners must be added directly to any + potential targets, whether the target is on the display list or not. + + AIR for TV devices never automatically dispatch this event. You can, + however, dispatch it manually. + + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | Any DisplayObject instance with a listener registered for the `activate` event. | + + + + "added" + The `Event.ADDED` constant defines the value of the `type` property of + an `added` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `true` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | The DisplayObject instance being added to the display list. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + + + + "addedToStage" + The `Event.ADDED_TO_STAGE` constant defines the value of the `type` + property of an `addedToStage` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | The DisplayObject instance being added to the on stage display list, either directly or through the addition of a sub tree in which the DisplayObject instance is contained. If the DisplayObject instance is being directly added, the `added` event occurs before this event. | + + + + "cancel" + The `Event.CANCEL` constant defines the value of the `type` property + of a `cancel` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | A reference to the object on which the operation is canceled. | + + + + "change" + The `Event.CHANGE` constant defines the value of the `type` property + of a `change` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `true` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | The object that has had its value modified. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + + + + "clear" + The `Event.CLEAR` constant defines the value of the `type` property of + a `clear` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | Any InteractiveObject instance with a listener registered for the `clear` event. | + + **Note:** TextField objects do _not_ dispatch `clear`, `copy`, `cut`, + `paste`, or `selectAll` events. TextField objects always include Cut, + Copy, Paste, Clear, and Select All commands in the context menu. You + cannot remove these commands from the context menu for TextField + objects. For TextField objects, selecting these commands (or their + keyboard equivalents) does not generate `clear`, `copy`, `cut`, + `paste`, or `selectAll` events. However, other classes that extend the + InteractiveObject class, including components built using the Flash + Text Engine (FTE), will dispatch these events in response to user + actions such as keyboard shortcuts and context menus. + + + + "close" + The `Event.CLOSE` constant defines the value of the `type` property of + a `close` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | The object whose connection has been closed. | + + + + "complete" + The `Event.COMPLETE` constant defines the value of the `type` property + of a `complete` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | The network object that has completed loading. | + + + + "connect" + The `Event.CONNECT` constant defines the value of the `type` property + of a `connect` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | The Socket or XMLSocket object that has established a network connection. | + + + + "context3DCreate" + The `Event.CONTEXT3D_CREATE` constant defines the value of the type property of a + `context3Dcreate` event object. This event is raised only by Stage3D objects in + response to either a call to `Stage3D.requestContext3D` or in response to an OS + triggered reset of the Context3D bound to the Stage3D object. Inspect the + `Stage3D.context3D` property to get the newly created Context3D object. + + + + "copy" + Defines the value of the `type` property of a `copy` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | Any InteractiveObject instance with a listener registered for the `copy` event. | + + **Note:** TextField objects do _not_ dispatch `clear`, `copy`, `cut`, + `paste`, or `selectAll` events. TextField objects always include Cut, + Copy, Paste, Clear, and Select All commands in the context menu. You + cannot remove these commands from the context menu for TextField + objects. For TextField objects, selecting these commands (or their + keyboard equivalents) does not generate `clear`, `copy`, `cut`, + `paste`, or `selectAll` events. However, other classes that extend the + InteractiveObject class, including components built using the Flash + Text Engine (FTE), will dispatch these events in response to user + actions such as keyboard shortcuts and context menus. + + + + "cut" + Defines the value of the `type` property of a `cut` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | Any InteractiveObject instance with a listener registered for the `cut` event. | + + **Note:** TextField objects do _not_ dispatch `clear`, `copy`, `cut`, + `paste`, or `selectAll` events. TextField objects always include Cut, + Copy, Paste, Clear, and Select All commands in the context menu. You + cannot remove these commands from the context menu for TextField + objects. For TextField objects, selecting these commands (or their + keyboard equivalents) does not generate `clear`, `copy`, `cut`, + `paste`, or `selectAll` events. However, other classes that extend the + InteractiveObject class, including components built using the Flash + Text Engine (FTE), will dispatch these events in response to user + actions such as keyboard shortcuts and context menus. + + + + "deactivate" + The `Event.DEACTIVATE` constant defines the value of the `type` + property of a `deactivate` event object. + **Note:** This event has neither a "capture phase" nor a "bubble + phase", which means that event listeners must be added directly to any + potential targets, whether the target is on the display list or not. + + AIR for TV devices never automatically dispatch this event. You can, + however, dispatch it manually. + + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | Any DisplayObject instance with a listener registered for the `deactivate` event. | + + + + "enterFrame" + The `Event.ENTER_FRAME` constant defines the value of the `type` + property of an `enterFrame` event object. + **Note:** This event has neither a "capture phase" nor a "bubble + phase", which means that event listeners must be added directly to any + potential targets, whether the target is on the display list or not. + + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | Any DisplayObject instance with a listener registered for the `enterFrame` event. | + + + + "exitFrame" + The `Event.EXIT_FRAME` constant defines the value of the `type` + property of an `exitFrame` event object. + **Note:** This event has neither a "capture phase" nor a "bubble + phase", which means that event listeners must be added directly to any + potential targets, whether the target is on the display list or not. + + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | Any DisplayObject instance with a listener registered for the `enterFrame` event. | + + + + "frameConstructed" + The `Event.FRAME_CONSTRUCTED` constant defines the value of the `type` + property of an `frameConstructed` event object. + **Note:** This event has neither a "capture phase" nor a "bubble + phase", which means that event listeners must be added directly to any + potential targets, whether the target is on the display list or not. + + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | Any DisplayObject instance with a listener registered for the `frameConstructed` event. | + + + + "frameLabel" + The `Event.FRAME_LABEL` constant defines the value of the type property of a + `frameLabel` event object. + + **Note:** This event has neither a "capture phase" nor a "bubble phase", which + means that event listeners must be added directly to FrameLabel objects. + + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The FrameLabel object that is actively processing the Event object with an event listener. | + | `target` | Any FrameLabel instance with a listener registered for the frameLabel event. | + + + + "fullScreen" + The `Event.FULL_SCREEN` constant defines the value of the `type` + property of a `fullScreen` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | The Stage object. | + + + + "id3" + The `Event.ID3` constant defines the value of the `type` property of + an `id3` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | The Sound object loading the MP3 for which ID3 data is now available. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + + + + "init" + The `Event.INIT` constant defines the value of the `type` property of + an `init` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | The LoaderInfo object associated with the SWF file being loaded. | + + + + "mouseLeave" + The `Event.MOUSE_LEAVE` constant defines the value of the `type` + property of a `mouseLeave` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | The Stage object. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + + + + "open" + The `Event.OPEN` constant defines the value of the `type` property of + an `open` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | The network object that has opened a connection. | + + + + "paste" + The `Event.PASTE` constant defines the value of the `type` property of + a `paste` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | Any InteractiveObject instance with a listener registered for the `paste` event. | + + **Note:** TextField objects do _not_ dispatch `clear`, `copy`, `cut`, + `paste`, or `selectAll` events. TextField objects always include Cut, + Copy, Paste, Clear, and Select All commands in the context menu. You + cannot remove these commands from the context menu for TextField + objects. For TextField objects, selecting these commands (or their + keyboard equivalents) does not generate `clear`, `copy`, `cut`, + `paste`, or `selectAll` events. However, other classes that extend the + InteractiveObject class, including components built using the Flash + Text Engine (FTE), will dispatch these events in response to user + actions such as keyboard shortcuts and context menus. + + + + "removed" + The `Event.REMOVED` constant defines the value of the `type` property + of a `removed` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `true` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | The DisplayObject instance to be removed from the display list. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + + + + "removedFromStage" + The `Event.REMOVED_FROM_STAGE` constant defines the value of the + `type` property of a `removedFromStage` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | The DisplayObject instance being removed from the on stage display list, either directly or through the removal of a sub tree in which the DisplayObject instance is contained. If the DisplayObject instance is being directly removed, the `removed` event occurs before this event. | + + + + "render" + The `Event.RENDER` constant defines the value of the `type` property + of a `render` event object. + **Note:** This event has neither a "capture phase" nor a "bubble + phase", which means that event listeners must be added directly to any + potential targets, whether the target is on the display list or not. + + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; the default behavior cannot be canceled. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | Any DisplayObject instance with a listener registered for the `render` event. | + + + + "resize" + The `Event.RESIZE` constant defines the value of the `type` property + of a `resize` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | The Stage object. | + + + + "scroll" + The `Event.SCROLL` constant defines the value of the `type` property + of a `scroll` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | The TextField object that has been scrolled. The `target` property is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + + + + + "selectAll" + The `Event.SELECT_ALL` constant defines the value of the `type` + property of a `selectAll` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | Any InteractiveObject instance with a listener registered for the `selectAll` event. | + + **Note:** TextField objects do _not_ dispatch `clear`, `copy`, `cut`, + `paste`, or `selectAll` events. TextField objects always include Cut, + Copy, Paste, Clear, and Select All commands in the context menu. You + cannot remove these commands from the context menu for TextField + objects. For TextField objects, selecting these commands (or their + keyboard equivalents) does not generate `clear`, `copy`, `cut`, + `paste`, or `selectAll` events. However, other classes that extend the + InteractiveObject class, including components built using the Flash + Text Engine (FTE), will dispatch these events in response to user + actions such as keyboard shortcuts and context menus. + + + + "soundComplete" + The `Event.SOUND_COMPLETE` constant defines the value of the `type` + property of a `soundComplete` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | The SoundChannel object in which a sound has finished playing. | + + + + "tabChildrenChange" + The `Event.TAB_CHILDREN_CHANGE` constant defines the value of the + `type` property of a `tabChildrenChange` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `true` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | The object whose tabChildren flag has changed. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + + + + "tabEnabledChange" + The `Event.TAB_ENABLED_CHANGE` constant defines the value of the + `type` property of a `tabEnabledChange` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `true` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | The InteractiveObject whose tabEnabled flag has changed. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + + + + "tabIndexChange" + The `Event.TAB_INDEX_CHANGE` constant defines the value of the `type` + property of a `tabIndexChange` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `true` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | The object whose tabIndex has changed. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + + + + "textureReady" + The `Event.TEXTURE_READY` constant defines the value of the type property of a + `textureReady` event object. This event is dispatched by Texture and CubeTexture + objects to signal the completion of an asynchronous upload. Request an asynchronous + upload by using the `uploadCompressedTextureFromByteArray()` method on Texture or + CubeTexture. This event neither bubbles nor is cancelable. + + + + "unload" + The `Event.UNLOAD` constant defines the value of the `type` property + of an `unload` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | The LoaderInfo object associated with the SWF file being unloaded or replaced. | + + + + Indicates whether an event is a bubbling event. If the event can bubble, + this value is `true`; otherwise it is `false`. + + When an event occurs, it moves through the three phases of the event + flow: the capture phase, which flows from the top of the display list + hierarchy to the node just before the target node; the target phase, which + comprises the target node; and the bubbling phase, which flows from the + node subsequent to the target node back up the display list hierarchy. + + Some events, such as the `activate` and `unload` + events, do not have a bubbling phase. The `bubbles` property + has a value of `false` for events that do not have a bubbling + phase. + + + + Indicates whether the behavior associated with the event can be prevented. + If the behavior can be canceled, this value is `true`; + otherwise it is `false`. + + + + The object that is actively processing the Event object with an event + listener. For example, if a user clicks an OK button, the current target + could be the node containing that button or one of its ancestors that has + registered an event listener for that event. + + + + The current phase in the event flow. This property can contain the + following numeric values: + + * The capture phase(`EventPhase.CAPTURING_PHASE`). + * The target phase(`EventPhase.AT_TARGET`). + * The bubbling phase(`EventPhase.BUBBLING_PHASE`). + + + + The event target. This property contains the target node. For example, if + a user clicks an OK button, the target node is the display list node + containing that button. + + + + The type of event. The type is case-sensitive. + + <__isCanceled> + + + + <__isCanceledNow> + + + + <__preventDefault> + + + + + + Duplicates an instance of an Event subclass. + + Returns a new Event object that is a copy of the original instance of + the Event object. You do not normally call `clone()`; the + EventDispatcher class calls it automatically when you redispatch an + event - that is, when you call `dispatchEvent(event)` from a + handler that is handling `event`. + + The new Event object includes all the properties of the original. + + When creating your own custom Event class, you must override the + inherited `Event.clone()` method in order for it to duplicate + the properties of your custom class. If you do not set all the properties + that you add in your event subclass, those properties will not have the + correct values when listeners handle the redispatched event. + + In this example, `PingEvent` is a subclass of + `Event` and therefore implements its own version of + `clone()`. + + @return A new Event object that is identical to the original. + + + + + + + + + + + + { p5 : null, p4 : null, p3 : null, p2 : null, p1 : null } + A utility function for implementing the `toString()` method in custom + ActionScript 3.0 Event classes. Overriding the `toString()` method is + recommended, but not required. + + ```haxe + class PingEvent extends Event { + var URL:String; + + public function new() { + super(); + } + + public override function toString():String { + return formatToString("PingEvent", "type", "bubbles", "cancelable", "eventPhase", "URL"); + } + } + ``` + + @param className The name of your custom Event class. In the previous + example, the `className` parameter is `PingEvent`. + @return The name of your custom Event class and the String value of + your `...arguments` parameter. + + + + Checks whether the `preventDefault()` method has been called on + the event. If the `preventDefault()` method has been called, + returns `true`; otherwise, returns `false`. + + @return If `preventDefault()` has been called, returns + `true`; otherwise, returns `false`. + + + + Cancels an event's default behavior if that behavior can be canceled. + Many events have associated behaviors that are carried out by default. For example, if a user types a character into a text field, the default behavior is that the character is displayed in the text field. Because the `TextEvent.TEXT_INPUT` event's default behavior can be canceled, you can use the `preventDefault()` method to prevent the character from appearing. + An example of a behavior that is not cancelable is the default behavior associated with the Event.REMOVED event, which is generated whenever Flash Player is about to remove a display object from the display list. The default behavior (removing the element) cannot be canceled, so the `preventDefault()` method has no effect on this default behavior. + You can use the `Event.cancelable` property to check whether you can prevent the default behavior associated with a particular event. If the value of `Event.cancelable` is true, then `preventDefault()` can be used to cancel the event; otherwise, `preventDefault()` has no effect. + + + + Prevents processing of any event listeners in the current node and any + subsequent nodes in the event flow. This method takes effect immediately, + and it affects event listeners in the current node. In contrast, the + `stopPropagation()` method doesn't take effect until all the + event listeners in the current node finish processing. + + **Note: ** This method does not cancel the behavior associated with + this event; see `preventDefault()` for that functionality. + + + + Prevents processing of any event listeners in nodes subsequent to the + current node in the event flow. This method does not affect any event + listeners in the current node(`currentTarget`). In contrast, + the `stopImmediatePropagation()` method prevents processing of + event listeners in both the current node and subsequent nodes. Additional + calls to this method have no effect. This method can be called in any + phase of the event flow. + + **Note: ** This method does not cancel the behavior associated with + this event; see `preventDefault()` for that functionality. + + + + Returns a string containing all the properties of the Event object. The + string is in the following format: + + `[Event type=_value_ bubbles=_value_ + cancelable=_value_]` + + @return A string containing all the properties of the Event object. + + <__formatToString set="method" line="880"> + + + + + + + + <__init set="method" line="905"> + + + + + + + + + + + { cancelable : false, bubbles : false } + Creates an Event object to pass as a parameter to event listeners. + + @param type The type of the event, accessible as + `Event.type`. + @param bubbles Determines whether the Event object participates in the + bubbling stage of the event flow. The default value is + `false`. + @param cancelable Determines whether the Event object can be canceled. The + default values is `false`. + + + + + "tags=\"haxe,release\"" + + + + + + + + "activity" + The `ActivityEvent.ACTIVITY` constant defines the value of the `type` + property of an `activity` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `activating` | `true` if the device is activating or `false` if it is deactivating. | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | The object beginning or ending a session, such as a Camera or Microphone object. | + + + + Indicates whether the device is activating (`true`) or deactivating + (`false`). + + + + <__init set="method" line="84" override="1"> + + + + + + + + + + + + { activating : false, cancelable : false, bubbles : false } + Creates an event object that contains information about activity + events. Event objects are passed as parameters to Event listeners. + + @param type The type of the event. Event listeners can access + this information through the inherited `type` + property. There is only one type of activity event: + `ActivityEvent.ACTIVITY`. + @param bubbles Determines whether the Event object participates in + the bubbling phase of the event flow. Event + listeners can access this information through the + inherited `bubbles` property. + @param cancelable Determines whether the Event object can be canceled. + Event listeners can access this information through + the inherited `cancelable` property. + @param activating Indicates whether the device is activating (`true`) + or deactivating (`false`). Event listeners can + access this information through the `activating` + property. + + A Camera or Microphone object dispatches an ActivityEvent object whenever + a camera or microphone reports that it has become active or inactive. + There is only one type of activity event: `ActivityEvent.ACTIVITY`. + + "tags=\"haxe,release\"" + + + + + + + + "link" + Defines the value of the `type` property of a `link` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `true` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | The text field containing the hyperlink that has been clicked. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + | `text` | The remainder of the URL after "event:" | + + + + "textInput" + Defines the value of the `type` property of a `textInput` event + object. + **Note:** This event is not dispatched for the Delete or Backspace + keys. + + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `true` | + | `cancelable` | `true`; call the `preventDefault()` method to cancel default behavior. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | The text field into which characters are being entered. The target is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + |`text` | The character or sequence of characters entered by the user. | + + + + ` tag.]]> + + + + <__init set="method" line="103" override="1"> + + + + + + + + + + + + { text : "", cancelable : false, bubbles : false } + Creates an Event object that contains information about text events. Event + objects are passed as parameters to event listeners. + + @param type The type of the event. Event listeners can access this + information through the inherited `type` + property. Possible values are: + `TextEvent.LINK` and + `TextEvent.TEXT_INPUT`. + @param bubbles Determines whether the Event object participates in the + bubbling phase of the event flow. Event listeners can + access this information through the inherited + `bubbles` property. + @param cancelable Determines whether the Event object can be canceled. + Event listeners can access this information through the + inherited `cancelable` property. + @param text One or more characters of text entered by the user. + Event listeners can access this information through the + `text` property. + + An object dispatches a TextEvent object when a user enters text in a text + field or clicks a hyperlink in an HTML-enabled text field. There are two + types of text events: `TextEvent.LINK` and + `TextEvent.TEXT_INPUT`. + + + "tags=\"haxe,release\"" + + + + + + + + "error" + Defines the value of the `type` property of an `error` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | The object experiencing a network operation failure. | + | `text` | Text to be displayed as an error message. | + + + + Contains the reference number associated with the specific error. For a + custom ErrorEvent object, this number is the value from the + `id` parameter supplied in the constructor. + + + + <__init set="method" line="96" override="1"> + + + + + + + + + + + + + { id : 0, text : "", cancelable : false, bubbles : false } + Creates an Event object that contains information about error events. + Event objects are passed as parameters to event listeners. + + @param type The type of the event. Event listeners can access this + information through the inherited `type` + property. There is only one type of error event: + `ErrorEvent.ERROR`. + @param bubbles Determines whether the Event object bubbles. Event + listeners can access this information through the + inherited `bubbles` property. + @param cancelable Determines whether the Event object can be canceled. + Event listeners can access this information through the + inherited `cancelable` property. + @param text Text to be displayed as an error message. Event + listeners can access this information through the + `text` property. + @param id A reference number to associate with the specific error + (supported in Adobe AIR only). + + An object dispatches an ErrorEvent object when an error causes an + asynchronous operation to fail. + + The ErrorEvent class defines only one type of `error` event: + `ErrorEvent.ERROR`. The ErrorEvent class also serves as the base + class for several other error event classes, including the AsyncErrorEvent, + IOErrorEvent, SecurityErrorEvent, SQLErrorEvent, and UncaughtErrorEvent + classes. + + You can check for `error` events that do not have any + listeners by registering a listener for the `uncaughtError` + (UncaughtErrorEvent.UNCAUGHT_ERROR) event. + + An uncaught error also causes an error dialog box displaying the error + event to appear when content is running in the debugger version of Flash + Player or the AIR Debug Launcher(ADL) application. + + + "tags=\"haxe,release\"" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + "checkstyle:FieldDocComment" + hide + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + "checkstyle:FieldDocComment" + + + + + + + + + + + + + The EventPhase class provides values for the `eventPhase` + property of the Event class. + + + + + + cast 2 + + + + The target phase, which is the second phase of the event flow. + + + + + cast 3 + + + + The bubbling phase, which is the third phase of the event flow. + + + + + cast 1 + + + + The capturing phase, which is the first phase of the event flow. + + + + + + + + + cast 2 + + + + The target phase, which is the second phase of the event flow. + + + + + cast 3 + + + + The bubbling phase, which is the third phase of the event flow. + + + + + cast 1 + + + + The capturing phase, which is the first phase of the event flow. + + + + + + + + The EventType abstract type provides type safety when + matching dispatch events with the correct type of listener + + For example, the following code has the wrong type in the + event listener, it should be a MouseEvent: + + ```haxe + addEventListener(MouseEvent.CLICK, function(event:TouchEvent) {}); + ``` + + OpenFL uses the EventType abstract for standard event types + to turn these logical errors into a compile-time errors. + + + + + + + + A == B + + + + + + + + A != B + + + + + + + + + + + A == B + + + + + + + + A != B + + + + + + + "focusIn" + Defines the value of the `type` property of a `focusIn` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `true` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `keyCode` | 0; applies only to `keyFocusChange` events. | + | `relatedObject` | The complementary InteractiveObject instance that is affected by the change in focus. | + | `shiftKey` | `false`; applies only to `keyFocusChange` events. | + | `target` | The InteractiveObject instance that has just received focus. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + | `direction` | The direction from which focus was assigned. This property reports the value of the `direction` parameter of the `assignFocus()` method of the stage. If the focus changed through some other means, the value will always be `FocusDirection.NONE`. Applies only to `focusIn` events. For all other focus events the value will be `FocusDirection.NONE`. | + + + + "focusOut" + Defines the value of the `type` property of a `focusOut` event object. + + This event has the following properties: + + |Property | Value || --- | --- || `bubbles` | `true` || `cancelable` | `false`; + there is no default behavior to + cancel. || `currentTarget` | The + object that is actively processing the Event object with an event + listener. || `keyCode` | 0; applies + only to `keyFocusChange` + events. || `relatedObject` | The + complementary InteractiveObject instance that is affected by the + change in + focus. || `shiftKey` | `false`; + applies only to `keyFocusChange` + events. || `target` | The + InteractiveObject instance that has just lost focus. The `target` is + not always the object in the display list that registered the event + listener. Use the `currentTarget` property to access the object in the + display list that is currently processing the event. + | + + + + "keyFocusChange" + Defines the value of the `type` property of a `keyFocusChange` event + object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `true` | + | `cancelable` | `true`; call the `preventDefault()` method to cancel default behavior. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `keyCode` | The key code value of the key pressed to trigger a `keyFocusChange` event. | + | `relatedObject` | The complementary InteractiveObject instance that is affected by the change in focus. | + | `shiftKey` | `true` if the Shift key modifier is activated; `false` otherwise. | + | `target` | The InteractiveObject instance that currently has focus. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + + + + "mouseFocusChange" + Defines the value of the `type` property of a `mouseFocusChange` event + object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `true` | + | `cancelable` | `true`; call the `preventDefault()` method to cancel default behavior. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `keyCode` | 0; applies only to `keyFocusChange` events. | + | `relatedObject` | The complementary InteractiveObject instance that is affected by the change in focus. | + | `shiftKey` | `false`; applies only to `keyFocusChange` events. | + | `target` | The InteractiveObject instance that currently has focus. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + + + + The key code value of the key pressed to trigger a + `keyFocusChange` event. + + + + A reference to the complementary InteractiveObject instance that is + affected by the change in focus. For example, when a `focusOut` + event occurs, the `relatedObject` represents the + InteractiveObject instance that has gained focus. + + The value of this property can be `null` in two + circumstances: if there no related object, or there is a related object, + but it is in a security sandbox to which you don't have access. Use the + `isRelatedObjectInaccessible()` property to determine which of + these reasons applies. + + + + Indicates whether the Shift key modifier is activated, in which case the + value is `true`. Otherwise, the value is `false`. + This property is used only if the FocusEvent is of type + `keyFocusChange`. + + + + <__init set="method" line="191" override="1"> + + + + + + + + + + + + + + { keyCode : 0, shiftKey : false, relatedObject : null, cancelable : false, bubbles : false } + Creates an Event object with specific information relevant to focus + events. Event objects are passed as parameters to event listeners. + + @param type The type of the event. Possible values are: + `FocusEvent.FOCUS_IN`, + `FocusEvent.FOCUS_OUT`, + `FocusEvent.KEY_FOCUS_CHANGE`, and + `FocusEvent.MOUSE_FOCUS_CHANGE`. + @param bubbles Determines whether the Event object participates in + the bubbling stage of the event flow. + @param cancelable Determines whether the Event object can be canceled. + @param relatedObject Indicates the complementary InteractiveObject + instance that is affected by the change in focus. For + example, when a `focusIn` event occurs, + `relatedObject` represents the + InteractiveObject that has lost focus. + @param shiftKey Indicates whether the Shift key modifier is + activated. + @param keyCode Indicates the code of the key pressed to trigger a + `keyFocusChange` event. + + An object dispatches a FocusEvent object when the user changes the focus + from one object in the display list to another. There are four types of + focus events: + + * `FocusEvent.FOCUS_IN` + * `FocusEvent.FOCUS_OUT` + * `FocusEvent.KEY_FOCUS_CHANGE` + * `FocusEvent.MOUSE_FOCUS_CHANGE` + + + "tags=\"haxe,release\"" + + + + + + + + "fullScreen" + The `FullScreenEvent.FULL_SCREEN` constant defines the value of the + `type` property of a `fullScreen` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `fullScreen` | `true` if the display state is full screen or `false` if it is normal. | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | The Stage object. | + + + + "fullScreenInteractiveAccepted" + The `FULL_SCREEN_INTERACTIVE_ACCEPTED:String` constant defines the value of the + type property of a `fullScreenInteractiveAccepted` event object. + + This event has the following properties: + + | Property | Value | + | --- | --- | + | `fullScreen` | `true` if the display state is full screen or `false` if it is normal. | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | The Stage object. | + + + + Indicates whether the Stage object is in full-screen mode (`true`) or + not (`false`). + + + + Indicates whether the Stage object is in full-screen interactive mode (`true`) or + not (`false`). + + + + <__init set="method" line="109" override="1"> + + + + + + + + + + + + + { interactive : false, fullScreen : false, cancelable : false, bubbles : false } + Creates an event object that contains information about `fullScreen` + events. Event objects are passed as parameters to event listeners. + + @param type The type of the event. Event listeners can access + this information through the inherited `type` + property. There is only one type of `fullScreen` + event: `FullScreenEvent.FULL_SCREEN`. + @param bubbles Determines whether the Event object participates in + the bubbling phase of the event flow. Event + listeners can access this information through the + inherited `bubbles` property. + @param cancelable Determines whether the Event object can be canceled. + Event listeners can access this information through + the inherited `cancelable` property. + @param fullScreen Indicates whether the device is activating (`true`) + or deactivating (`false`). Event listeners can + access this information through the `activating` + property. + + The Stage object dispatches a FullScreenEvent object whenever the Stage + enters or leaves full-screen display mode. There is only one type of + `fullScreen` event: `FullScreenEvent.FULL_SCREEN`. + + + "tags=\"haxe,release\"" + + + + + + + + "deviceAdded" + Indicates that a compatible device has been connected or turned on. + + + + "deviceRemoved" + Indicates that one of the enumerated devices has been disconnected or turned off. + + + + "deviceUnusable" + Dispatched when a game input device is connected but is not usable. + + + + Returns a reference to the device that was added or removed. When a device is added, use this property to get a reference to the new device, instead of enumerating all of the devices to find the new one. + + + + <__init set="method" line="61" override="1"> + + + + + + + + + + + + { device : null, cancelable : false, bubbles : true } + + The GameInputEvent class represents an event that is dispatched when a game input device has either been added or removed from the application platform. A game input device also dispatches events when it is turned on or off. + + + "tags=\"haxe,release\"" + + + + + + + + + "httpResponseStatus" + Unlike the `httpStatus` event, the `httpResponseStatus` event is + delivered before any response data. Also, the `httpResponseStatus` + event includes values for the `responseHeaders` and `responseURL` + properties (which are undefined for an `httpStatus` event. Note that + the `httpResponseStatus` event (if any) will be sent before (and in + addition to) any `complete` or `error` event. + The `HTTPStatusEvent.HTTP_RESPONSE_STATUS` constant defines the value + of the `type` property of a `httpResponseStatus` event object. + + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `responseURL` | The URL from which the response was returned. | + | `responseHeaders` | The response headers that the response returned, as an array of URLRequestHeader objects. | + | `status` | The HTTP status code returned by the server. | + | `target` | The network object receiving an HTTP status code. | + + + + "httpStatus" + The `HTTPStatusEvent.HTTP_STATUS` constant defines the value of the + `type` property of a `httpStatus` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `status` | The HTTP status code returned by the server. | + | `target` | The network object receiving an HTTP status code. | + + + + Indicates whether the request was redirected. + + + + The response headers that the response returned, as an array of + URLRequestHeader objects. + + + + The URL that the response was returned from. In the case of redirects, + this will be different from the request URL. + + + + The HTTP status code returned by the server. For example, a value of 404 + indicates that the server has not found a match for the requested URI. + HTTP status codes can be found in sections 10.4 and 10.5 of the HTTP + specification at [http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html). + + + If Flash Player or AIR cannot get a status code from the server, or if + it cannot communicate with the server, the default value of 0 is passed to + your code. A value of 0 can be generated in any player(for example, if a + malformed URL is requested), and a value of 0 is always generated by the + Flash Player plug-in when it is run in the following browsers, which do + not pass HTTP status codes to the player: Netscape, Mozilla, Safari, + Opera, and Internet Explorer for the Macintosh. + + + + <__init set="method" line="148" override="1"> + + + + + + + + + + + + + { redirected : false, status : 0, cancelable : false, bubbles : false } + Creates an Event object that contains specific information about HTTP + status events. Event objects are passed as parameters to event listeners. + + @param type The type of the event. Event listeners can access this + information through the inherited `type` + property. There is only one type of HTTPStatus event: + `HTTPStatusEvent.HTTP_STATUS`. + @param bubbles Determines whether the Event object participates in the + bubbling stage of the event flow. Event listeners can + access this information through the inherited + `bubbles` property. + @param cancelable Determines whether the Event object can be canceled. + Event listeners can access this information through the + inherited `cancelable` property. + @param status Numeric status. Event listeners can access this + information through the `status` property. + + The application dispatches HTTPStatusEvent objects when a network request + returns an HTTP status code. + + HTTPStatusEvent objects are always sent before error or completion + events. An HTTPStatusEvent object does not necessarily indicate an error + condition; it simply reflects the HTTP status code(if any) that is + provided by the networking stack. Some Flash Player environments may be + unable to detect HTTP status codes; a status code of 0 is always reported + in these cases. + + In Flash Player, there is only one type of HTTPStatus event: + `httpStatus`. In the AIR runtime, a FileReference, URLLoader, or + URLStream can register to listen for an `httpResponseStatus`, + which includes `responseURL` and `responseHeaders` + properties. These properties are undefined in a `httpStatus` + event. + + + "tags=\"haxe,release\"" + + + + + + + + "ioError" + Defines the value of the `type` property of an `ioError` event object. + + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `errorID` | A reference number associated with the specific error (AIR only). | + | `target` | The network object experiencing the input/output error. | + | `text` | Text to be displayed as an error message. | + + + + + + + + + + + + + { id : 0, text : "", cancelable : false, bubbles : true } + Creates an Event object that contains specific information about + `ioError` events. Event objects are passed as parameters to + Event listeners. + + @param type The type of the event. Event listeners can access this + information through the inherited `type` + property. There is only one type of input/output error + event: `IOErrorEvent.IO_ERROR`. + @param bubbles Determines whether the Event object participates in the + bubbling stage of the event flow. Event listeners can + access this information through the inherited + `bubbles` property. + @param cancelable Determines whether the Event object can be canceled. + Event listeners can access this information through the + inherited `cancelable` property. + @param text Text to be displayed as an error message. Event + listeners can access this information through the + `text` property. + @param id A reference number to associate with the specific error + (supported in Adobe AIR only). + + An IOErrorEvent object is dispatched when an error causes input or output + operations to fail. + + You can check for error events that do not have any listeners by using + the debugger version of Flash Player or the AIR Debug Launcher(ADL). The + string defined by the `text` parameter of the IOErrorEvent + constructor is displayed. + + + "tags=\"haxe,release\"" + + + + + + + + "keyDown" + The `KeyboardEvent.KEY_DOWN` constant defines the value of the `type` + property of a `keyDown` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `true` | + | `cancelable` | `true` in AIR, `false` in Flash Player; in AIR, canceling this event prevents the character from being entered into a text field. | + | `charCode` | The character code value of the key pressed or released. | + | `commandKey` | `true` on Mac if the Command key is active. Otherwise, `false` | + | `controlKey` | `true` on Windows and Linux if the Ctrl key is active. `true` on Mac if either the Control key is active. Otherwise, `false` | + | `ctrlKey` | `true` on Windows and Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `keyCode` | The key code value of the key pressed or released. | + | `keyLocation` | The location of the key on the keyboard. | + | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | + | `target` | The InteractiveObject instance with focus. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + + + + "keyUp" + The `KeyboardEvent.KEY_UP` constant defines the value of the `type` + property of a `keyUp` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `true` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `charCode` | Contains the character code value of the key pressed or released. | + | `commandKey` | `true` on Mac if the Command key is active. Otherwise, `false` | + | `controlKey` | `true` on Windows and Linux if the Ctrl key is active. `true` on Mac if either the Control key is active. Otherwise, `false` | + | `ctrlKey` | `true` on Windows if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `keyCode` | The key code value of the key pressed or released. | + | `keyLocation` | The location of the key on the keyboard. | + | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | + | `target` | The InteractiveObject instance with focus. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + + + + Indicates whether the Alt key is active(`true`) or inactive + (`false`) on Windows; indicates whether the Option key is + active on Mac OS. + + + + Contains the character code value of the key pressed or released. The + character code values are English keyboard values. For example, if you + press Shift+3, `charCode` is # on a Japanese keyboard, just as + it is on an English keyboard. + + **Note: **When an input method editor(IME) is running, + `charCode` does not report accurate character codes. + + + + Indicates whether the Command key is active (`true`) or inactive + (`false`). Supported for Mac OS only. On Mac OS, the `commandKey` + property has the same value as the `ctrlKey` property. + + + + Indicates whether the Control key is active (`true`) or inactive + (`false`). On Windows and Linux, this is also true when the Ctrl key + is active. + + + + On Windows and Linux, indicates whether the Ctrl key is active + (`true`) or inactive(`false`); On Mac OS, indicates + whether either the Ctrl key or the Command key is active. + + + + The key code value of the key pressed or released. + + **Note: **When an input method editor(IME) is running, + `keyCode` does not report accurate key codes. + + + + Indicates the location of the key on the keyboard. This is useful for + differentiating keys that appear more than once on a keyboard. For + example, you can differentiate between the left and right Shift keys by + the value of this property: `KeyLocation.LEFT` for the left and + `KeyLocation.RIGHT` for the right. Another example is + differentiating between number keys pressed on the standard keyboard + (`KeyLocation.STANDARD`) versus the numeric keypad + (`KeyLocation.NUM_PAD`). + + + + Indicates whether the Shift key modifier is active(`true`) or + inactive(`false`). + + + + <__init set="method" line="212" override="1"> + + + + + + + + + + + + + + + + + + + { commandKeyValue : false, controlKeyValue : false, shiftKeyValue : false, altKeyValue : false, ctrlKeyValue : false, keyLocationValue : null, keyCodeValue : 0, charCodeValue : 0, cancelable : false, bubbles : false } + Creates an Event object that contains specific information about keyboard + events. Event objects are passed as parameters to event listeners. + + @param type The type of the event. Possible values are: + `KeyboardEvent.KEY_DOWN` and + `KeyboardEvent.KEY_UP` + @param bubbles Determines whether the Event object participates + in the bubbling stage of the event flow. + @param cancelable Determines whether the Event object can be + canceled. + @param charCodeValue The character code value of the key pressed or + released. The character code values returned are + English keyboard values. For example, if you press + Shift+3, the `Keyboard.charCode()` + property returns # on a Japanese keyboard, just as + it does on an English keyboard. + @param keyCodeValue The key code value of the key pressed or released. + @param keyLocationValue The location of the key on the keyboard. + @param ctrlKeyValue On Windows, indicates whether the Ctrl key is + activated. On Mac, indicates whether either the + Ctrl key or the Command key is activated. + @param altKeyValue Indicates whether the Alt key modifier is + activated(Windows only). + @param shiftKeyValue Indicates whether the Shift key modifier is + activated. + @param commandKeyValue Indicates whether the Command key modifier is + activated. + + A KeyboardEvent object id dispatched in response to user input through a + keyboard. There are two types of keyboard events: + `KeyboardEvent.KEY_DOWN` and `KeyboardEvent.KEY_UP` + + Because mappings between keys and specific characters vary by device and + operating system, use the TextEvent event type for processing character + input. + + To listen globally for key events, listen on the Stage for the capture + and target or bubble phase. + + + "tags=\"haxe,release\"" + + + + + + + + "click" + Defines the value of the `type` property of a `click` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `altKey` | `true` if the Alt key is active (Windows). | + | `bubbles` | `true` | + | `buttonDown` | For click events, this value is always `false`. | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | + | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | + | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | + | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | + | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | + | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | + | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | + | `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + + + + "doubleClick" + Defines the value of the `type` property of a `doubleClick` event + object. The `doubleClickEnabled` property must be `true` for an object + to generate the `doubleClick` event. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `altKey` | `true` if the Alt key is active (Windows). | + | `bubbles` | `true` | + | `buttonDown` | For double-click events, this value is always `false`. | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | + | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | + | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | + | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | + | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | + | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | + | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | + | `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + + + + "middleClick" + Defines the value of the `type` property of a `middleClick` event + object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `altKey` | `true` if the Alt key is active (Windows). | + | `bubbles` | `true` | + | `buttonDown` | For middle-click events, this property is always `false`. | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | + | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | + | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | + | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | + | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | + | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | + | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | + | `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + + + + "middleMouseDown" + Defines the value of the `type` property of a `middleMouseDown` event + object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `altKey` | `true` if the Alt key is active (Windows). | + | `bubbles` | `true` | + | `buttonDown` | `true` if the middle mouse button is pressed; `false` otherwise. | + | `cancelable` | `false`; the default behavior cannot be canceled. | + | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | + | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | + | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | + | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | + | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | + | `clickCount` | Count of the number of mouse clicks to indicate whether the event is part of a multi-click sequence. | + | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | + | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | + | `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + + + + "middleMouseUp" + Defines the value of the `type` property of a `middleMouseUp` event + object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `altKey` | `true` if the Alt key is active (Windows). | + | `bubbles` | `true` | + | `buttonDown` | `true` if the middle mouse button is pressed; `false` otherwise. | + | `cancelable` | `false`; the default behavior cannot be canceled. | + | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | + | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | + | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | + | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | + | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | + | `clickCount` | Count of the number of mouse clicks to indicate whether the event is part of a multi-click sequence. | + | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | + | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | + | `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + + + + "mouseDown" + Defines the value of the `type` property of a `mouseDown` event + object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `altKey` | `true` if the Alt key is active (Windows). | + | `bubbles` | `true` | + | `buttonDown` | `true` if the primary mouse button is pressed; `false` otherwise. | + | `cancelable` | `false`; the default behavior cannot be canceled. | + | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | + | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | + | `ctrlKey` | `true` on Windows and Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | + | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | + | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | + | `clickCount` | Count of the number of mouse clicks to indicate whether the event is part of a multi-click sequence. | + | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | + | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | + | `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + + + + "mouseMove" + Defines the value of the `type` property of a `mouseMove` event + object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `altKey` | `true` if the Alt key is active (Windows). | + | `bubbles` | `true` | + | `buttonDown` | `true` if the primary mouse button is pressed; `false` otherwise. | + | `cancelable` | `false`; the default behavior cannot be canceled. | + | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | + | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | + | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | + | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | + | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | + | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | + | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | + | `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + + + + "mouseOut" + Defines the value of the `type` property of a `mouseOut` event object. + + This event has the following properties: + + | Property | Value | + | --- | --- | + | `altKey` | `true` if the Alt key is active (Windows). | + | `bubbles` | `true` | + | `buttonDown` | `true` if the primary mouse button is pressed; `false` otherwise. | + | `cancelable` | `false`; the default behavior cannot be canceled. | + | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | + | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | + | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `relatedObject` | The display list object to which the pointing device now points. | + | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | + | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | + | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | + | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | + | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | + | `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + + + + "mouseOver" + Defines the value of the `type` property of a `mouseOver` event + object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `altKey` | `true` if the Alt key is active (Windows). | + | `bubbles` | `true` | + | `buttonDown` | `true` if the primary mouse button is pressed; `false` otherwise. | + | `cancelable` | `false`; the default behavior cannot be canceled. | + | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | + | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | + | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `relatedObject` | The display list object to which the pointing device was pointing. | + | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | + | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | + | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | + | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | + | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | + | `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + + + + "mouseUp" + Defines the value of the `type` property of a `mouseUp` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `altKey` | `true` if the Alt key is active (Windows). | + | `bubbles` | `true` | + | `buttonDown` | `true` if the primary mouse button is pressed; `false` otherwise. | + | `cancelable` | `false`; the default behavior cannot be canceled. | + | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | + | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | + | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | + | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | + | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | + | `clickCount` | Count of the number of mouse clicks to indicate whether the event is part of a multi-click sequence. | + | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | + | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | + | `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + + + + "mouseWheel" + Defines the value of the `type` property of a `mouseWheel` event + object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `altKey` | `true` if the Alt key is active (Windows). | + | `bubbles` | `true` | + | `buttonDown` | `true` if the primary mouse button is pressed; `false` otherwise. | + | `cancelable` | `false`; the default behavior cannot be canceled. | + | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | + | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | + | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `delta` | The number of lines that that each notch on the mouse wheel represents. | + | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | + | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | + | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | + | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | + | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | + | `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + + + + "releaseOutside" + Defines the value of the `type` property of a + `releaseOutside` event object. + + This event has the following properties: + + + + "rightClick" + Defines the value of the `type` property of a `rightClick` event + object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `altKey` | `true` if the Alt key is active (Windows). | + | `bubbles` | `true` | + | `buttonDown` | For right-click events, this property is always `false`. | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | + | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | + | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | + | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | + | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | + | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | + | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | + | `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + + + + "rightMouseDown" + Defines the value of the `type` property of a `rightMouseDown` event + object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `altKey` | `true` if the Alt key is active (Windows). | + | `bubbles` | `true` | + | `buttonDown` | For right-click events, this property is always `true`. | + | `cancelable` | `false`; the default behavior cannot be canceled. | + | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | + | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | + | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | + | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | + | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | + | `clickCount` | Count of the number of mouse clicks to indicate whether the event is part of a multi-click sequence. | + | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | + | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | + | `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + + + + "rightMouseUp" + Defines the value of the `type` property of a `rightMouseUp` event + object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `altKey` | `true` if the Alt key is active (Windows). | + | `bubbles` | `true` | + | `buttonDown` | `true` if the right mouse button is pressed; `false` otherwise. | + | `cancelable` | `false`; the default behavior cannot be canceled. | + | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | + | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | + | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | + | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | + | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | + | `clickCount` | Count of the number of mouse clicks to indicate whether the event is part of a multi-click sequence. | + | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | + | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | + | `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + + + + "rollOut" + Defines the value of the `type` property of a `rollOut` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `altKey` | `true` if the Alt key is active (Windows). | + | `bubbles` | `false` | + | `buttonDown` | `true` if the primary mouse button is pressed; `false` otherwise. | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | + | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | + | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `relatedObject` | The display list object to which the pointing device now points. | + | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | + | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | + | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | + | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | + | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | + | `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + + + + "rollOver" + Defines the value of the `type` property of a `rollOver` event object. + + This event has the following properties: + + | Property | Value | + | --- | --- | + | `altKey` | `true` if the Alt key is active (Windows). | + | `bubbles` | `false` | + | `buttonDown` | `true` if the primary mouse button is pressed; `false` otherwise. | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | + | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | + | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `relatedObject` | The display list object to which the pointing device was pointing. | + | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | + | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | + | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | + | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | + | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | + | `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + + <__altKey static="1"> + + + + <__buttonDown static="1"> + + + + <__commandKey static="1"> + + + + <__ctrlKey static="1"> + + + + <__shiftKey static="1"> + + + + <__create set="method" line="676" static="1"> + + + + + + + + + + + + { delta : 0 } + + + + + + Indicates whether the Alt key is active(`true`) or inactive + (`false`). Supported for Windows only. On other operating + systems, this property is always set to `false`. + + + + Indicates whether the primary mouse button is pressed(`true`) + or not(`false`). + + + + Indicates whether the command key is activated (Mac only.) + + The value of property `commandKey` will have the same value as property `ctrlKey` + on the Mac. Always `false` on Windows or Linux. + + + + Indicates whether or not the mouse down event is part of a multi-click sequence. + This parameter will be zero for all mouse events other than `MouseEvent.mouseDown`, + `MouseEvent.mouseUp`, `MouseEvent.middleMouseDown`, `MouseEvent.middleMouseUp`, + `MouseEvent.rightMouseDown`, and `MouseEvent.rightMouseUp`. Listening for single + clicks, double clicks, or any multi-click sequence is possible with the + `clickCount` parameter. For example, an initial `MouseEvent.mouseDown` and + `MouseEvent.mouseUp` will have a `clickCount` of 1, and the second + `MouseEvent.mouseDown` and `MouseEvent.mouseUp` in a double-click sequence will + have a `clickCount` of 2. If the mouse moves sufficiently or the multi-click + sequence is interrupted for some reason, then the next `MouseEvent.mouseDown` + will have a `clickCount` of 1. The `doubleClick` event will continue to fire as + expected. + + + + On Windows or Linux, indicates whether the Ctrl key is active + (`true`) or inactive(`false`). On Macintosh, + indicates whether either the Control key or the Command key is activated. + + + + Indicates how many lines should be scrolled for each unit the user rotates + the mouse wheel. A positive delta value indicates an upward scroll; a + negative value indicates a downward scroll. Typical values are 1 to 3, but + faster rotation may produce larger values. This setting depends on the + device and operating system and is usually configurable by the user. This + property applies only to the `MouseEvent.mouseWheel` event. + + + + If `true`, the `relatedObject` property is set to `null` for reasons related to + security sandboxes. If the nominal value of `relatedObject` is a reference to a + DisplayObject in another sandbox, `relatedObject` is set to `null` unless there is + permission in both directions across this sandbox boundary. Permission is + established by calling `Security.allowDomain()` from a SWF file, or by providing a + policy file from the server of an image file, and setting the + `LoaderContext.checkPolicyFile` property when loading the image. + + + + The horizontal coordinate at which the event occurred relative to the + containing sprite. + + + + The vertical coordinate at which the event occurred relative to the + containing sprite. + + + + A reference to a display list object that is related to the event. For + example, when a `mouseOut` event occurs, + `relatedObject` represents the display list object to which the + pointing device now points. This property applies to the + `mouseOut`, `mouseOver`, `rollOut`, and + `rollOver` events. + + The value of this property can be `null` in two + circumstances: if there no related object, or there is a related object, + but it is in a security sandbox to which you don't have access. Use the + `isRelatedObjectInaccessible()` property to determine which of + these reasons applies. + + + + Indicates whether the Shift key is active(`true`) or inactive + (`false`). + + + + The horizontal coordinate at which the event occurred in global Stage + coordinates. This property is calculated when the `localX` + property is set. + + + + The vertical coordinate at which the event occurred in global Stage + coordinates. This property is calculated when the `localY` + property is set. + + + + + + Instructs Flash Player or Adobe AIR to render after processing of this + event completes, if the display list has been modified. + + <__init set="method" line="686" override="1"> + + + + + + + + + + + + + + + + + + + + + { clickCount : 0, commandKey : false, delta : 0, buttonDown : false, shiftKey : false, altKey : false, ctrlKey : false, relatedObject : null, localY : 0, localX : 0, cancelable : false, bubbles : true } + Creates an Event object that contains information about mouse events. + Event objects are passed as parameters to event listeners. + + @param type The type of the event. Possible values are: + `MouseEvent.CLICK`, + `MouseEvent.DOUBLE_CLICK`, + `MouseEvent.MOUSE_DOWN`, + `MouseEvent.MOUSE_MOVE`, + `MouseEvent.MOUSE_OUT`, + `MouseEvent.MOUSE_OVER`, + `MouseEvent.MOUSE_UP`, + `MouseEvent.MIDDLE_CLICK`, + `MouseEvent.MIDDLE_MOUSE_DOWN`, + `MouseEvent.MIDDLE_MOUSE_UP`, + `MouseEvent.RIGHT_CLICK`, + `MouseEvent.RIGHT_MOUSE_DOWN`, + `MouseEvent.RIGHT_MOUSE_UP`, + `MouseEvent.MOUSE_WHEEL`, + `MouseEvent.ROLL_OUT`, and + `MouseEvent.ROLL_OVER`. + @param bubbles Determines whether the Event object participates in + the bubbling phase of the event flow. + @param cancelable Determines whether the Event object can be canceled. + @param localX The horizontal coordinate at which the event occurred + relative to the containing sprite. + @param localY The vertical coordinate at which the event occurred + relative to the containing sprite. + @param relatedObject The complementary InteractiveObject instance that is + affected by the event. For example, when a + `mouseOut` event occurs, + `relatedObject` represents the display + list object to which the pointing device now points. + @param ctrlKey On Windows or Linux, indicates whether the Ctrl key + is activated. On Mac, indicates whether either the + Ctrl key or the Command key is activated. + @param altKey Indicates whether the Alt key is activated(Windows + or Linux only). + @param shiftKey Indicates whether the Shift key is activated. + @param buttonDown Indicates whether the primary mouse button is + pressed. + @param delta Indicates how many lines should be scrolled for each + unit the user rotates the mouse wheel. A positive + delta value indicates an upward scroll; a negative + value indicates a downward scroll. Typical values are + 1 to 3, but faster rotation may produce larger + values. This parameter is used only for the + `MouseEvent.mouseWheel` event. + + A MouseEvent object is dispatched into the event flow whenever mouse events + occur. A mouse event is usually generated by a user input device, such as a + mouse or a trackball, that uses a pointer. + + When nested nodes are involved, mouse events target the deepest possible + nested node that is visible in the display list. This node is called the + _target node_. To have a target node's ancestor receive notification + of a mouse event, use `EventDispatcher.addEventListener()` on + the ancestor node with the `type` parameter set to the specific + mouse event you want to detect. + + + "tags=\"haxe,release\"" + + + + + + + + "netStatus" + Defines the value of the `type` property of a `netStatus` event + object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `info` | An object with properties that describe the object's status or error condition. | + | `target` | The NetConnection or NetStream object reporting its status. | + + + + `. On Flash Media Server, `` is disabled by default. When enabled, the default timeout value is 3600 seconds (1 hour). For more information, see [Close idle connections](http://help.adobe.com/en_US/flashmediaserver/configadmin/WS5b3ccc516d4fbf351e63e3d119f2925e64-7ff0.html#WS5b3ccc516d4fbf351e63e3d119f2925e64-7fe9). | + | `"NetConnection.Connect.InvalidApp"` | `"error"` | The application name specified in the call to `NetConnection.connect()` is invalid. | + | `"NetConnection.Connect.NetworkChange"` | `"status"` | Flash Player has detected a network change, for example, a dropped wireless connection, a successful wireless connection,or a network cable loss.
      Use this event to check for a network interface change. Don't use this event to implement your NetConnection reconnect logic. Use `"NetConnection.Connect.Closed"` to implement your NetConnection reconnect logic. | + | `"NetConnection.Connect.Rejected"` | `"error"` | The connection attempt did not have permission to access the application. | + | `"NetConnection.Connect.Success"` | `"status"` | The connection attempt succeeded. | + | `"NetGroup.Connect.Failed"` | `"error"` | The NetGroup connection attempt failed. The `info.group` property indicates which NetGroup failed. | + | `"NetGroup.Connect.Rejected"` | `"error"` | The NetGroup is not authorized to function. The `info.group` property indicates which NetGroup was denied. | + | `"NetGroup.Connect.Succcess"` | `"status"` | The NetGroup is successfully constructed and authorized to function. The `info.group` property indicates which NetGroup has succeeded. | + | `"NetGroup.LocalCoverage.Notify"` | `"status"` | Sent when a portion of the group address space for which this node is responsible changes. | + | `"NetGroup.MulticastStream.PublishNotify"` | `"status"` | Sent when a new named stream is detected in NetGroup's Group. The `info.name:String` property is the name of the detected stream. | + | `"NetGroup.MulticastStream.UnpublishNotify"` | `"status"` | Sent when a named stream is no longer available in the Group. The `info.name:String` property is name of the stream which has disappeared. | + | `"NetGroup.Neighbor.Connect"` | `"status"` | Sent when a neighbor connects to this node. The `info.neighbor:String` property is the group address of the neighbor. The `info.peerID:String` property is the peer ID of the neighbor. | + | `"NetGroup.Neighbor.Disconnect"` | `"status"` | Sent when a neighbor disconnects from this node. The `info.neighbor:String` property is the group address of the neighbor. The `info.peerID:String` property is the peer ID of the neighbor. | + | `"NetGroup.Posting.Notify"` | `"status"` | Sent when a new Group Posting is received. The `info.message:Object` property is the message. The `info.messageID:String` property is this message's messageID. | + | `"NetGroup.Replication.Fetch.Failed"` | `"status"` | Sent when a fetch request for an object (previously announced with NetGroup.Replication.Fetch.SendNotify) fails or is denied. A new attempt for the object will be made if it is still wanted. The `info.index:Number` property is the index of the object that had been requested. | + | `"NetGroup.Replication.Fetch.Result"` | `"status"` | Sent when a fetch request was satisfied by a neighbor. The `info.index:Number` property is the object index of this result. The `info.object:Object` property is the value of this object. This index will automatically be removed from the Want set. If the object is invalid, this index can be re-added to the Want set with `NetGroup.addWantObjects()`. | + | `"NetGroup.Replication.Fetch.SendNotify"` | `"status"` | Sent when the Object Replication system is about to send a request for an object to a neighbor.The `info.index:Number` property is the index of the object that is being requested. | + | `"NetGroup.Replication.Request"` | `"status"` | Sent when a neighbor has requested an object that this node has announced with `NetGroup.addHaveObjects()`. This request **must** eventually be answered with either `NetGroup.writeRequestedObject()` or `NetGroup.denyRequestedObject()`. Note that the answer may be asynchronous. The `info.index:Number` property is the index of the object that has been requested. The `info.requestID:int` property is the ID of this request, to be used by `NetGroup.writeRequestedObject()` or `NetGroup.denyRequestedObject()`. | + | `"NetGroup.SendTo.Notify"` | `"status"` | Sent when a message directed to this node is received. The `info.message:Object` property is the message. The `info.from:String` property is the groupAddress from which the message was received. The `info.fromLocal:Boolean` property is `TRUE` if the message was sent by this node (meaning the local node is the nearest to the destination group address), and `FALSE` if the message was received from a different node. To implement recursive routing, the message must be resent with `NetGroup.sendToNearest()` if `info.fromLocal` is `FALSE`. | + | `"NetStream.Buffer.Empty"` | `"status"` | Flash Player is not receiving data quickly enough to fill the buffer. Data flow is interrupted until the buffer refills, at which time a `NetStream.Buffer.Full` message is sent and the stream begins playing again. | + | `"NetStream.Buffer.Flush"` | `"status"` | Data has finished streaming, and the remaining buffer is emptied. | + | `"NetStream.Buffer.Full"` | `"status"` | The buffer is full and the stream begins playing. | + | `"NetStream.Connect.Closed"` | `"status"` | The P2P connection was closed successfully. The `info.stream` property indicates which stream has closed. | + | `"NetStream.Connect.Failed"` | `"error"` | The P2P connection attempt failed. The `info.stream` property indicates which stream has failed. | + | `"NetStream.Connect.Rejected"` | `"error"` | The P2P connection attempt did not have permission to access the other peer. The `info.stream` property indicates which stream was rejected. | + | `"NetStream.Connect.Success"` | `"status"` | The P2P connection attempt succeeded. The `info.stream` property indicates which stream has succeeded. | + | `"NetStream.DRM.UpdateNeeded"` | `"status"` | A NetStream object is attempting to play protected content, but the required Flash Access module is either not present, not permitted by the effective content policy, or not compatible with the current player. To update the module or player, use the `update()` method of flash.system.SystemUpdater. | + | `"NetStream.Failed"` | `"error"` | (Flash Media Server) An error has occurred for a reason other than those listed in other event codes. | + | `"NetStream.MulticastStream.Reset"` | `"status"` | A multicast subscription has changed focus to a different stream published with the same name in the same group. Local overrides of multicast stream parameters are lost. Reapply the local overrides or the new stream's default parameters will be used. | + | `"NetStream.Pause.Notify"` | `"status"` | The stream is paused. | + | `"NetStream.Play.Failed"` | `"error"` | An error has occurred in playback for a reason other than those listed elsewhere in this table, such as the subscriber not having read access. | + | `"NetStream.Play.FileStructureInvalid"` | `"error"` | (AIR and Flash Player 9.0.115.0) The application detects an invalid file structure and will not try to play this type of file. | + | `"NetStream.Play.InsufficientBW"` | `"warning"` | (Flash Media Server) The client does not have sufficient bandwidth to play the data at normal speed. | + | `"NetStream.Play.NoSupportedTrackFound"` | `"error"` | (AIR and Flash Player 9.0.115.0) The application does not detect any supported tracks (video, audio or data) and will not try to play the file. | + | `"NetStream.Play.PublishNotify"` | `"status"` | The initial publish to a stream is sent to all subscribers. | + | `"NetStream.Play.Reset"` | `"status"` | Caused by a play list reset. | + | `"NetStream.Play.Start"` | `"status"` | Playback has started. | + | `"NetStream.Play.Stop"` | `"status"` | Playback has stopped. | + | `"NetStream.Play.StreamNotFound"` | `"error"` | The file passed to the `NetStream.play()` method can't be found. | + | `"NetStream.Play.Transition"` | `"status"` | (Flash Media Server 3.5) The server received the command to transition to another stream as a result of bitrate stream switching. This code indicates a success status event for the `NetStream.play2()` call to initiate a stream switch. If the switch does not succeed, the server sends a `NetStream.Play.Failed` event instead. When the stream switch occurs, an `onPlayStatus` event with a code of "NetStream.Play.TransitionComplete" is dispatched. For Flash Player 10 and later. | + | `"NetStream.Play.UnpublishNotify"` | `"status"` | An unpublish from a stream is sent to all subscribers. | + | `"NetStream.Publish.BadName"` | `"error"` | Attempt to publish a stream which is already being published by someone else. | + | `"NetStream.Publish.Idle"` | `"status"` | The publisher of the stream is idle and not transmitting data. | + | `"NetStream.Publish.Start"` | `"status"` | Publish was successful. | + | `"NetStream.Record.AlreadyExists"` | `"status"` | The stream being recorded maps to a file that is already being recorded to by another stream. This can happen due to misconfigured virtual directories. | + | `"NetStream.Record.Failed"` | `"error"` | An attempt to record a stream failed. | + | `"NetStream.Record.NoAccess"` | `"error"` | Attempt to record a stream that is still playing or the client has no access right. | + | `"NetStream.Record.Start"` | `"status"` | Recording has started. | + | `"NetStream.Record.Stop"` | `"status"` | Recording stopped. | + | `"NetStream.Seek.Failed"` | `"error"` | The seek fails, which happens if the stream is not seekable. | + | `"NetStream.Seek.InvalidTime"` | `"error"` | For video downloaded progressively, the user has tried to seek or play past the end of the video data that has downloaded thus far, or past the end of the video once the entire file has downloaded. The `info.details` property of the event object contains a time code that indicates the last valid position to which the user can seek. | + | `"NetStream.Seek.Notify"` | `"status"` | The seek operation is complete.
      Sent when `NetStream.seek()` is called on a stream in AS3 NetStream Data Generation Mode. The info object is extended to include `info.seekPoint` which is the same value passed to `NetStream.seek()`. | + | `"NetStream.Step.Notify"` | `"status"` | The step operation is complete. | + | `"NetStream.Unpause.Notify"` | `"status"` | The stream is resumed. | + | `"NetStream.Unpublish.Success"` | `"status"` | The unpublish operation was successfuul. | + | `"SharedObject.BadPersistence"` | `"error"` | A request was made for a shared object with persistence flags, but the request cannot be granted because the object has already been created with different flags. | + | `"SharedObject.Flush.Failed"` | `"error"` | The "pending" status is resolved, but the `SharedObject.flush()` failed. | + | `"SharedObject.Flush.Success"` | `"status"` | The "pending" status is resolved and the `SharedObject.flush()` call succeeded. | + | `"SharedObject.UriMismatch"` | `"error"` | An attempt was made to connect to a NetConnection object that has a different URI (URL) than the shared object. | + + If you consistently see errors regarding the buffer, try changing the + buffer using the `NetStream.bufferTime` property.]]>
      +
      + + + <__init set="method" line="171" override="1"> + + + + + + + + + + + + { info : null, cancelable : false, bubbles : false } + Creates an Event object that contains information about `netStatus` + events. Event objects are passed as parameters to event listeners. + + @param type The type of the event. Event listeners can access + this information through the inherited `type` + property. There is only one type of status event: + `NetStatusEvent.NET_STATUS`. + @param bubbles Determines whether the Event object participates in + the bubbling stage of the event flow. Event + listeners can access this information through the + inherited `bubbles` property. + @param cancelable Determines whether the Event object can be canceled. + Event listeners can access this information through + the inherited `cancelable` property. + @param info An object containing properties that describe the + object's status. Event listeners can access this + object through the `info` property. + + A NetConnection, NetStream, or SharedObject object dispatches + NetStatusEvent objects when a it reports its status. There is only one + type of status event: `NetStatusEvent.NET_STATUS`. + + + "tags=\"haxe,release\"" + + +
      + + + + + "progress" + Defines the value of the `type` property of a `progress` event object. + + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `bytesLoaded` | The number of items or bytes loaded at the time the listener processes the event. | + | `bytesTotal` | The total number of items or bytes that ultimately will be loaded if the loading process succeeds. | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | The object reporting progress. | + + + + "socketData" + Defines the value of the `type` property of a `socketData` event + object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event. | + | `bytesLoaded` | The number of items or bytes loaded at the time the listener processes the event. | + | `bytesTotal` | 0; this property is not used by `socketData` event objects. | + | `target` | The socket reporting progress. | + + + + The number of items or bytes loaded when the listener processes the event. + + + + The total number of items or bytes that will be loaded if the loading + process succeeds. If the progress event is dispatched/attached to a Socket + object, the bytesTotal will always be 0 unless a value is specified in the + bytesTotal parameter of the constructor. The actual number of bytes sent + back or forth is not set and is up to the application developer. + + + + <__init set="method" line="111" override="1"> + + + + + + + + + + + + + { bytesTotal : 0, bytesLoaded : 0, cancelable : false, bubbles : false } + Creates an Event object that contains information about progress events. + Event objects are passed as parameters to event listeners. + + @param type The type of the event. Possible values + are:`ProgressEvent.PROGRESS`, + `ProgressEvent.SOCKET_DATA`, + `ProgressEvent.STANDARD_ERROR_DATA`, + `ProgressEvent.STANDARD_INPUT_PROGRESS`, and + `ProgressEvent.STANDARD_OUTPUT_DATA`. + @param bubbles Determines whether the Event object participates in the + bubbling stage of the event flow. + @param cancelable Determines whether the Event object can be canceled. + @param bytesLoaded The number of items or bytes loaded at the time the + listener processes the event. + @param bytesTotal The total number of items or bytes that will be loaded + if the loading process succeeds. + + A ProgressEvent object is dispatched when a load operation has begun or a + socket has received data. These events are usually generated when SWF + files, images or data are loaded into an application. There are two types + of progress events: `ProgressEvent.PROGRESS` and + `ProgressEvent.SOCKET_DATA`. Additionally, in AIR ProgressEvent + objects are dispatched when a data is sent to or from a child process using + the NativeProcess class. + + + "tags=\"haxe,release\"" + + + + + + + + "clearDOM" + The `RenderEvent.CLEAR_DOM` constant defines the value of the `type` property + of an `renderEvent` event object. + + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `true` | + | `cancelable` | `true` | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `renderer` | A reference to the active display object renderer. | + | `target` | The display object that is going to be rendered. | + + + + "renderCairo" + The `RenderEvent.RENDER_CAIRO` constant defines the value of the `type` property + of an `renderEvent` event object. + + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `true` | + | `cancelable` | `true` | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `renderer` | A reference to the active display object renderer. | + | `target` | The display object that is going to be rendered. | + + + + "renderCanvas" + The `RenderEvent.RENDER_CANVAS` constant defines the value of the `type` property + of an `renderEvent` event object. + + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `true` | + | `cancelable` | `true` | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `renderer` | A reference to the active display object renderer. | + | `target` | The display object that is going to be rendered. | + + + + "renderDOM" + The `RenderEvent.RENDER_DOM` constant defines the value of the `type` property + of an `renderEvent` event object. + + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `true` | + | `cancelable` | `true` | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `renderer` | A reference to the active display object renderer. | + | `target` | The display object that is going to be rendered. | + + + + "renderOpenGL" + The `RenderEvent.RENDER_OPENGL` constant defines the value of the `type` property + of an `renderEvent` event object. + + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `true` | + | `cancelable` | `true` | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `renderer` | A reference to the active display object renderer. | + | `target` | The display object that is going to be rendered. | + + + + Whether the current render should allow smoothing. + + + + The concatenated color transform for the display object being rendered. + + + + The concatenated matrix for the display object being rendered. + + + + The display object renderer being used for this render. + + + + <__init set="method" line="181" override="1"> + + + + + + + + + + + + + + { allowSmoothing : true, objectColorTransform : null, objectMatrix : null, cancelable : false, bubbles : false } + Creates an Event object that contains information about render events. + Event objects are passed as parameters to event listeners. + + @param type The type of the event. Possible values + are: `RenderEvent.CLEAR_DOM`, + `RenderEvent.RENDER_CAIRO`, + `RenderEvent.RENDER_CANVAS`, + `RenderEvent.RENDER_DOM`, and + `RenderEvent.RENDER_OPENGL`. + @param bubbles Determines whether the Event object participates in the + bubbling stage of the event flow. + @param cancelable Determines whether the Event object can be canceled. + @param objectMatrix Sets the concatenated matrix for the display object being rendered. + @param objectTransform Sets the concatenated color transform for the display object being + rendered. + @param allowSmoothing Determines whether the current render should allow smoothing. + + **BETA** + + RenderEvent is dispatched (optionally) once a listener is added to a + DisplayObject. When the internal Stage renderer is ready to draw the specified + object, a RenderEvent will be dispatched. + + Caching a RenderEvent to access at a later time will not work properly. Also, + since the RenderEvent is more of an internal API, there may be additional + concerns to order to ensure that all objects and features work as-intended. + + The type of RenderEvent dispatched will match the type of rendering being used. + This renderer type will match the default Stage render, but also can depend on + whether an off-screen render (such as DisplayObject `cacheAsBitmap` or BitmapData + `draw`) is being used. + + + "tags=\"haxe,release\"" + + openfl.geom.ColorTransform + + + + + + + + "securityError" + The `SecurityErrorEvent.SECURITY_ERROR` constant defines the value of + the `type` property of a `securityError` event object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `false` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `target` | The network object reporting the security error. | + | `text` | Text to be displayed as an error message. | + + + + + + + + + + + + + { id : 0, text : "", cancelable : false, bubbles : false } + Creates an Event object that contains information about security error + events. Event objects are passed as parameters to event listeners. + + @param type The type of the event. Event listeners can access this + information through the inherited `type` + property. There is only one type of error event: + `SecurityErrorEvent.SECURITY_ERROR`. + @param bubbles Determines whether the Event object participates in the + bubbling stage of the event flow. Event listeners can + access this information through the inherited + `bubbles` property. + @param cancelable Determines whether the Event object can be canceled. + Event listeners can access this information through the + inherited `cancelable` property. + @param text Text to be displayed as an error message. Event + listeners can access this information through the + `text` property. + @param id A reference number to associate with the specific error. + + An object dispatches a SecurityErrorEvent object to report the occurrence + of a security error. Security errors reported through this class are + generally from asynchronous operations, such as loading data, in which + security violations may not manifest immediately. Your event listener can + access the object's `text` property to determine what operation + was attempted and any URLs that were involved. If there are no event + listeners, the debugger version of Flash Player or the AIR Debug Launcher + (ADL) application automatically displays an error message that contains the + contents of the `text` property. There is one type of security + error event: `SecurityErrorEvent.SECURITY_ERROR`. + + Security error events are the final events dispatched for any target + object. This means that any other events, including generic error events, + are not dispatched for a target object that experiences a security + error. + + + "tags=\"haxe,release\"" + + + + + + + + "touchBegin" + Defines the value of the `type` property of a `TOUCH_BEGIN` touch + event object. + The dispatched TouchEvent object has the following properties: + + | Property | Value | + | --- | --- | + | `altKey` | `true` if the Alt key is active (Windows or Linux). | + | `bubbles` | `true` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | + | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | + | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `eventPhase` | The current phase in the event flow. | + | `isRelatedObjectInaccessible` | `true` if the relatedObject property is set to `null` because of security sandbox rules. | + | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | + | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | + | `pressure` | A value between `0.0` and `1.0` indicating force of the contact with the device. If the device does not support detecting the pressure, the value is `1.0`. | + | `relatedObject` | A reference to a display list object related to the event. | + | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | + | `sizeX` | Width of the contact area. | + | `sizeY` | Height of the contact area. | + | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | + | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | + | `target` | The InteractiveObject instance under the touching device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + | `touchPointID` | A unique identification number (as an int) assigned to the touch point. | + + + + "touchEnd" + Defines the value of the `type` property of a `TOUCH_END` touch event + object. + The dispatched TouchEvent object has the following properties: + + | Property | Value | + | --- | --- | + | `altKey` | `true` if the Alt key is active (Windows or Linux). | + | `bubbles` | `true` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | + | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | + | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `eventPhase` | The current phase in the event flow. | + | `isRelatedObjectInaccessible` | `true` if the relatedObject property is set to `null` because of security sandbox rules. | + | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | + | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | + | `pressure` | A value between `0.0` and `1.0` indicating force of the contact with the device. If the device does not support detecting the pressure, the value is `1.0`. | + | `relatedObject` | A reference to a display list object related to the event. | + | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | + | `sizeX` | Width of the contact area. | + | `sizeY` | Height of the contact area. | + | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | + | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | + | `target` | The InteractiveObject instance under the touching device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + | `touchPointID` | A unique identification number (as an int) assigned to the touch point. | + + + + "touchMove" + Defines the value of the `type` property of a `TOUCH_MOVE` touch event + object. + The dispatched TouchEvent object has the following properties: + + | Property | Value | + | --- | --- | + | `altKey` | `true` if the Alt key is active (Windows or Linux). | + | `bubbles` | `true` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | + | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | + | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `eventPhase` | The current phase in the event flow. | + | `isRelatedObjectInaccessible` | `true` if the relatedObject property is set to `null` because of security sandbox rules. | + | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | + | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | + | `pressure` | A value between `0.0` and `1.0` indicating force of the contact with the device. If the device does not support detecting the pressure, the value is `1.0`. | + | `relatedObject` | A reference to a display list object related to the event. | + | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | + | `sizeX` | Width of the contact area. | + | `sizeY` | Height of the contact area. | + | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | + | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | + | `target` | The InteractiveObject instance under the touching device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + | `touchPointID` | A unique identification number (as an int) assigned to the touch point. | + + + + "touchOut" + Defines the value of the `type` property of a `TOUCH_OUT` touch event + object. + The dispatched TouchEvent object has the following properties: + + | Property | Value | + | --- | --- | + | `altKey` | `true` if the Alt key is active (Windows or Linux). | + | `bubbles` | `true` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | + | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | + | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `eventPhase` | The current phase in the event flow. | + | `isRelatedObjectInaccessible` | `true` if the relatedObject property is set to `null` because of security sandbox rules. | + | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | + | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | + | `pressure` | A value between `0.0` and `1.0` indicating force of the contact with the device. If the device does not support detecting the pressure, the value is `1.0`. | + | `relatedObject` | A reference to a display list object related to the event. | + | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | + | `sizeX` | Width of the contact area. | + | `sizeY` | Height of the contact area. | + | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | + | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | + | `target` | The InteractiveObject instance under the touching device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + | `touchPointID` | A unique identification number (as an int) assigned to the touch point. | + + + + "touchOver" + Defines the value of the `type` property of a `TOUCH_OVER` touch event + object. + The dispatched TouchEvent object has the following properties: + + | Property | Value | + | --- | --- | + | `altKey` | `true` if the Alt key is active (Windows or Linux). | + | `bubbles` | `true` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | + | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | + | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `eventPhase` | The current phase in the event flow. | + | `isRelatedObjectInaccessible` | `true` if the relatedObject property is set to `null` because of security sandbox rules. | + | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | + | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | + | `pressure` | A value between `0.0` and `1.0` indicating force of the contact with the device. If the device does not support detecting the pressure, the value is `1.0`. | + | `relatedObject` | A reference to a display list object related to the event. | + | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | + | `sizeX` | Width of the contact area. | + | `sizeY` | Height of the contact area. | + | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | + | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | + | `target` | The InteractiveObject instance under the touching device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + | `touchPointID` | A unique identification number (as an int) assigned to the touch point. | + + + + "touchRollOut" + Defines the value of the `type` property of a `TOUCH_ROLL_OUT` touch + event object. + The dispatched TouchEvent object has the following properties: + + | Property | Value | + | --- | --- | + | `altKey` | `true` if the Alt key is active (Windows or Linux). | + | `bubbles` | `true` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | + | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | + | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `eventPhase` | The current phase in the event flow. | + | `isRelatedObjectInaccessible` | `true` if the relatedObject property is set to `null` because of security sandbox rules. | + | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | + | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | + | `pressure` | A value between `0.0` and `1.0` indicating force of the contact with the device. If the device does not support detecting the pressure, the value is `1.0`. | + | `relatedObject` | A reference to a display list object related to the event. | + | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | + | `sizeX` | Width of the contact area. | + | `sizeY` | Height of the contact area. | + | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | + | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | + | `target` | The InteractiveObject instance under the touching device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + | `touchPointID` | A unique identification number (as an int) assigned to the touch point. | + + + + "touchRollOver" + Defines the value of the `type` property of a `TOUCH_ROLL_OVER` touch + event object. + The dispatched TouchEvent object has the following properties: + + | Property | Value | + | --- | --- | + | `altKey` | `true` if the Alt key is active (Windows or Linux). | + | `bubbles` | `true` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | + | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | + | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `eventPhase` | The current phase in the event flow. | + | `isRelatedObjectInaccessible` | `true` if the relatedObject property is set to `null` because of security sandbox rules. | + | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | + | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | + | `pressure` | A value between `0.0` and `1.0` indicating force of the contact with the device. If the device does not support detecting the pressure, the value is `1.0`. | + | `relatedObject` | A reference to a display list object related to the event. | + | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | + | `sizeX` | Width of the contact area. | + | `sizeY` | Height of the contact area. | + | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | + | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | + | `target` | The InteractiveObject instance under the touching device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + | `touchPointID` | A unique identification number (as an int) assigned to the touch point. | + + + + "touchTap" + Defines the value of the `type` property of a `TOUCH_TAP` touch event + object. + The dispatched TouchEvent object has the following properties: + + | Property | Value | + | --- | --- | + | `altKey` | `true` if the Alt key is active (Windows or Linux). | + | `bubbles` | `true` | + | `cancelable` | `false`; there is no default behavior to cancel. | + | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | + | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | + | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `eventPhase` | The current phase in the event flow. | + | `isRelatedObjectInaccessible` | `true` if the relatedObject property is set to `null` because of security sandbox rules. | + | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | + | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | + | `pressure` | A value between `0.0` and `1.0` indicating force of the contact with the device. If the device does not support detecting the pressure, the value is `1.0`. | + | `relatedObject` | A reference to a display list object related to the event. | + | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | + | `sizeX` | Width of the contact area. | + | `sizeY` | Height of the contact area. | + | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | + | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | + | `target` | The InteractiveObject instance under the touching device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | + | `touchPointID` | A unique identification number (as an int) assigned to the touch point. | + + <__create set="method" line="501" static="1"> + + + + + + + + + + + + + + Indicates whether the Alt key is active(`true`) or inactive + (`false`). Supported for Windows and Linux operating systems + only. + + + + Indicates whether the command key is activated (Mac only). + + On a Mac OS, the value of the `commandKey` property is the same value as the + `ctrlKey` property. This property is always `false` on Windows or Linux. + + + + Indicates whether the Control key is activated on Mac and whether the Ctrl key is + activated on Windows or Linux. + + + + On Windows or Linux, indicates whether the Ctrl key is active + (`true`) or inactive(`false`). On Macintosh, + indicates whether either the Control key or the Command key is activated. + + + + + "checkstyle:FieldDocComment" + + hide + + + + + Indicates whether the first point of contact is mapped to mouse events. + + + + The horizontal coordinate at which the event occurred relative to the + containing sprite. + + + + The vertical coordinate at which the event occurred relative to the + containing sprite. + + + + A value between `0.0` and `1.0` indicating force of + the contact with the device. If the device does not support detecting the + pressure, the value is `1.0`. + + + + A reference to a display list object that is related to the event. For + example, when a `touchOut` event occurs, + `relatedObject` represents the display list object to which the + pointing device now points. This property applies to the + `touchOut`, `touchOver`, `touchRollOut`, + and `touchRollOver` events. + + The value of this property can be `null` in two + circumstances: if there is no related object, or there is a related + object, but it is in a security sandbox to which you don't have access. + Use the `isRelatedObjectInaccessible()` property to determine + which of these reasons applies. + + + + Indicates whether the Shift key is active(`true`) or inactive + (`false`). + + + + Width of the contact area. + Only supported on Android(C++ target), in the range of 0-1. + + + + Height of the contact area. + Only supported on Android(C++ target), in the range of 0-1. + + + + The horizontal coordinate at which the event occurred in global Stage + coordinates. This property is calculated when the `localX` + property is set. + + + + The vertical coordinate at which the event occurred in global Stage + coordinates. This property is calculated when the `localY` + property is set. + + + + A unique identification number(as an int) assigned to the touch point. + + + + + + Instructs Flash Player or Adobe AIR to render after processing of this + event completes, if the display list has been modified. + + <__init set="method" line="511" override="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + { isTouchPointCanceled : false, samples : null, touchIntent : null, timestamp : 0, controlKey : false, commandKey : false, shiftKey : false, altKey : false, ctrlKey : false, relatedObject : null, pressure : 0, sizeY : 0, sizeX : 0, localY : 0, localX : 0, isPrimaryTouchPoint : false, touchPointID : 0, cancelable : false, bubbles : true } + Creates an Event object that contains information about touch events. + Event objects are passed as parameters to event listeners. + + @param type The type of the event. Possible values are: + `TouchEvent.TOUCH_BEGIN`, + `TouchEvent.TOUCH_END`, + `TouchEvent.TOUCH_MOVE`, + `TouchEvent.TOUCH_OUT`, + `TouchEvent.TOUCH_OVER`, + `TouchEvent.TOUCH_ROLL_OUT`, + `TouchEvent.TOUCH_ROLL_OVER`, and + `TouchEvent.TOUCH_TAP`. + @param bubbles Determines whether the Event object + participates in the bubbling phase of the event + flow. + @param cancelable Determines whether the Event object can be + canceled. + @param touchPointID A unique identification number(as an int) + assigned to the touch point. + @param isPrimaryTouchPoint Indicates whether the first point of contact is + mapped to mouse events. + @param relatedObject The complementary InteractiveObject instance + that is affected by the event. For example, + when a `touchOut` event occurs, + `relatedObject` represents the + display list object to which the pointing + device now points. + @param ctrlKey On Windows or Linux, indicates whether the Ctrl + key is activated. On Mac, indicates whether + either the Ctrl key or the Command key is + activated. + @param altKey Indicates whether the Alt key is activated + (Windows or Linux only). + @param shiftKey Indicates whether the Shift key is activated. + + The TouchEvent class lets you handle events on devices that detect user + contact with the device(such as a finger on a touch screen). When a user + interacts with a device such as a mobile phone or tablet with a touch + screen, the user typically touches the screen with his or her fingers or a + pointing device. You can develop applications that respond to basic touch + events(such as a single finger tap) with the TouchEvent class. Create + event listeners using the event types defined in this class. For user + interaction with multiple points of contact(such as several fingers moving + across a touch screen at the same time) use the related GestureEvent, + PressAndTapGestureEvent, and TransformGestureEvent classes. And, use the + properties and methods of these classes to construct event handlers that + respond to the user touching the device. + + Use the Multitouch class to determine the current environment's support + for touch interaction, and to manage the support of touch interaction if + the current environment supports it. + + **Note:** When objects are nested on the display list, touch events + target the deepest possible nested object that is visible in the display + list. This object is called the target node. To have a target node's + ancestor(an object containing the target node in the display list) receive + notification of a touch event, use + `EventDispatcher.addEventListener()` on the ancestor node with + the type parameter set to the specific touch event you want to detect. + + + "tags=\"haxe,release\"" + + + + + + + + "uncaughtError" + Defines the value of the `type` property of an `uncaughtError` event + object. + This event has the following properties: + + | Property | Value | + | --- | --- | + | `bubbles` | `true` | + | `cancelable` | `true`; cancelling the event prevents the uncaught error dialog from appearing in debugger runtime versions | + | `currentTarget` | The object that is actively processing the Event object with an event listener. | + | `error` | The uncaught error. | + | `target` | The LoaderInfo object associated with the SWF where the error happened. | + | `text` | Text error message. | + + + + The error object associated with the uncaught error. Typically, this + object's data type is one of the following: + * An Error instance (or one of its subclasses), if the uncaught error + is a synchronous error created by a `throw` statement, such as an + error that could have been caught using a `try..catch` block + * An ErrorEvent instance (or one of its subclasses), if the uncaught + error is an asynchronous error that dispatches an error event when the + error happens + + However, the `error` property can potentially be an object of any data + type. ActionScript does not require a `throw` statement to be used + only with Error objects. For example, the following code is legal both + at compile time and run time: + + ```haxe + throw new Sprite(); + ``` + + If that `throw` statement is not caught by a `try..catch` block, the + `throw` statement triggers an `uncaughtError` event. In that case, the + `error` property of the UncaughtErrorEvent object that's dispatched is + the Sprite object that's constructed in the `throw` statement. + + Consequently, in your `uncaughtError` listener, you should check the + data type of the `error` property. The following example demonstrates + this check: + + ```haxe + function uncaughtErrorHandler(event:UncaughtErrorEvent):Void { + var message:String; + if (Std.is(event.error, Error)) { + message = cast(event.error, Error).message; + } else if (Std.is(event.error, ErrorEvent)) { + message = cast(event.error, ErrorEvent).text; + } else { + message = Std.string(event.error); + } + } + ``` + + If the `error` property contains an Error instance (or Error + subclass), the available error information varies depending on the + version of the runtime in which the content is running. The following + functionality is only available when content is running in a debugger + version of the runtime, such as the debugger version of Flash Player + or the AIR Debug Launcher (ADL): + + * `Error.getStackTrace()` to get the call stack that led to the error. + In non-debugger runtime versions, this method returns `null`. Note + that call stack information is never available when the `error` + property is an ErrorEvent instance. + * Complete `Error.message` text. In non-debugger runtime versions, + this property contains a short version of the error message, which is + often a combination of the `Error.errorID` and `Error.name` + properties. + + All other properties and methods of the Error class are available in + all runtime versions. + + + + <__init set="method" line="200" override="1"> + + + + + + + + + + + + { error : null, cancelable : true, bubbles : true } + Creates an UncaughtErrorEvent object that contains information about + an `uncaughtError` event. + + @param type The type of the event. + @param bubbles Determines whether the Event object participates in + the bubbling stage of the event flow. Event + listeners can access this information through the + inherited `bubbles` property. + @param cancelable Determines whether the Event object can be canceled. + Event listeners can access this information through + the inherited `cancelable` property. + @param error_in The object associated with the error that was not + caught or handled (an Error or ErrorEvent object + under normal circumstances). + + An UncaughtErrorEvent object is dispatched by an instance of the + UncaughtErrorEvents class when an uncaught error occurs. An uncaught error + happens when an error is thrown outside of any `try..catch` blocks or when + an ErrorEvent object is dispatched with no registered listeners. The + uncaught error event functionality is often described as a "global error + handler." + The UncaughtErrorEvents object that dispatches the event is associated + with either a LoaderInfo object or a Loader object. Use the following + properties to access an UncaughtErrorEvents instance: + + * `LoaderInfo.uncaughtErrorEvents`: to detect uncaught errors in code + defined in the same SWF. + * `Loader.uncaughtErrorEvents`: to detect uncaught errors in code defined + in the SWF loaded by a Loader object. + + When an `uncaughtError` event happens, even if the event is handled, + execution does not continue in the call stack that caused the error. If + the error is a synchronous error, any code remaining in the function where + the error happened is not executed. Consequently, it is likely that when + an uncaught error event happens, your application is in an unstable state. + Since there can be many causes for an uncaught error, it is impossible to + predict what functionality is available. For example, your application may + be able to execute network operations or file operations. However, those + operations aren't necessarily available. + + When one SWF loads another, `uncaughtError` events bubble down and up + again through the LoaderInfo heirarchy. For example, suppose A.swf loads + B.swf using a Loader instance. If an uncaught error occurs in B.swf, an + `uncaughtError` event is dispatched to LoaderInfo and Loader objects in + the following sequence: + + 1. (Capture phase) A.swf's LoaderInfo + 2. (Capture phase) Loader in A.swf + 3. (Target phase) B.swf's LoaderInfo + 4. (Bubble phase) Loader in A.swf + 5. (Bubble phase) A.swf's LoaderInfo + + A Loader object's `uncaughtErrorEvents` property never dispatches an + `uncaughtErrorEvent` in the target phase. It only dispatches the event in + the capture and bubbling phases. + + As with other event bubbling, calling `stopPropagation()` or + `stopImmediatePropagation()` stops the event from being dispatched to any + other listeners, with one important difference. A Loader object's + UncaughtErrorEvents object is treated as a pair with the loaded SWF's + `LoaderInfo.uncaughtErrorEvents` object for event propagation purposes. If + a listener registered with one of those objects calls the + `stopPropagation()` method, events are still dispatched to other listeners + registered with that UncaughtErrorEvents object _and_ to listeners + registered with its partner UncaughtErrorEvents object before event + propagation ends. The `stopImmediatePropagation()` method still prevents + events from being dispatched to all additional listeners. + + When content is running in a debugger version of the runtime, such as the + debugger version of Flash Player or the AIR Debug Launcher (ADL), an + uncaught error dialog appears when an uncaught error happens. For those + runtime versions, the error dialog appears even when a listener is + registered for the `uncaughtError` event. To prevent the dialog from + appearing in that situation, call the UncaughtErrorEvent object's + `preventDefault()` method. + + If the content loaded by a Loader object is an AVM1 (ActionScript 2) SWF + file, uncaught errors in the AVM1 SWF file do not result in an + `uncaughtError` event. In addition, JavaScript errors in HTML content + loaded in an HTMLLoader object (including a Flex HTML control) do not + result in an `uncaughtError` event. + + + "tags=\"haxe,release\"" + + + + + + + + Creates an UncaughtErrorEvents instance. Developer code shouldn't + create UncaughtErrorEvents instances directly. To access an + UncaughtErrorEvents object, use one of the following properties: + * `LoaderInfo.uncaughtErrorEvents`: to detect uncaught errors in code + defined in the same SWF. + * `Loader.uncaughtErrorEvents`: to detect uncaught errors in code + defined in the SWF loaded by a Loader object. + + try..catch` block to + isolate code that potentially throws a synchronous error + * When performing an operation that dispatches an event when an error + occurs, register a listener for that error event + + If the content loaded by a Loader object is an AVM1 (ActionScript 2) SWF + file, uncaught errors in the AVM1 SWF file do not result in an + `uncaughtError` event. In addition, JavaScript errors in HTML content + loaded in an HTMLLoader object (including a Flex HTML control) do not + result in an `uncaughtError` event. + + @event uncaughtError Dispatched when an error occurs and developer code + doesn't detect and handle the error.]]> + + + "tags=\"haxe,release\"" + + + + + <__bottomExtension> + + + + <__leftExtension> + + + + <__needSecondBitmapData> + + + + <__numShaderPasses> + + + + <__preserveObject> + + + + <__renderDirty> + + + + <__rightExtension> + + + + <__shaderBlendMode> + + + + <__smooth> + + + + <__topExtension> + + + + + + Returns a BitmapFilter object that is an exact copy of the original + BitmapFilter object. + + @return A BitmapFilter object. + + <__applyFilter set="method" line="63"> + + + + + + + + + + <__initShader set="method" line="68"> + + + + + + + + + + The BitmapFilter class is the base class for all image filter effects. + + The BevelFilter, BlurFilter, ColorMatrixFilter, ConvolutionFilter, + DisplacementMapFilter, DropShadowFilter, GlowFilter, GradientBevelFilter, + and GradientGlowFilter classes all extend the BitmapFilter class. You can + apply these filter effects to any display object. + + You can neither directly instantiate nor extend BitmapFilter. + + "tags=\"haxe,release\"" + + + + + + + + + hide + + + "checkstyle:FieldDocComment" + + + + + The growth in pixels on the bottom side of the target object. + The growth is the area beyond the bounds of the target object that is + passed to the shader during execution. At execution time Flash Player + or AIR computes the normal bounds of a movie clip and extends the + bounds based on the `leftExtension`, `rightExtension`, `topExtension`, + and `bottomExtension` values. + + @default 0 + + + + The growth in pixels on the left side of the target object. + The growth is the area beyond the bounds of the target object that is + passed to the shader during execution. At execution time Flash Player + or AIR computes the normal bounds of a movie clip and extends the + bounds based on the `leftExtension`, `rightExtension`, `topExtension`, + and `bottomExtension` values. + + @default 0 + + + + The growth in pixels on the right side of the target object. + The growth is the area beyond the bounds of the target object that is + passed to the shader during execution. At execution time Flash Player + or AIR computes the normal bounds of a movie clip and extends the + bounds based on the `leftExtension`, `rightExtension`, `topExtension`, + and `bottomExtension` values. + + @default 0 + + + + The shader to use for this filter. + The Shader assigned to the `shader` property must specify at least one + `image4` input. The input **does not** need to be specified in code + using the associated ShaderInput object's `input` property. Instead, + the object to which the filter is applied is automatically used as the + first input (the input with `index` 0). A shader used as a filter can + specify more than one input, in which case any additional input must + be specified by setting its ShaderInput instance's `input` property. + + When you assign a Shader instance to this property the shader is + copied internally and the filter operation uses that internal copy, + not a reference to the original shader. Any changes made to the + shader, such as changing a parameter value, input, or bytecode, are + not applied to the copied shader that's used for the filter. To make + it so that shader changes are taken into account in the filter output, + you must reassign the Shader instance to the `shader` property. As + with all filters, you must also reassign the ShaderFilter instance to + the display object's `filters` property in order to apply filter + changes. + + + + The growth in pixels on the top side of the target object. + The growth is the area beyond the bounds of the target object that is + passed to the shader during execution. At execution time Flash Player + or AIR computes the normal bounds of a movie clip and extends the + bounds based on the `leftExtension`, `rightExtension`, `topExtension`, + and `bottomExtension` values. + + @default 0 + + + + <__initShader set="method" line="164" override="1"> + + + + + + + + + + + + + + Creates a new shader filter. + + @param shader The Shader to use for this filter. For details and + limitations that the shader must conform to, see the + description for the `shader` property. + + The ShaderFilter class applies a filter by executing a shader on the + object being filtered. The filtered object is used as an input to the + shader, and the shader output becomes the filter result. + To create a new filter, use the constructor `new ShaderFilter()`. The use + of filters depends on the object to which you apply the filter: + + * To apply filters to movie clips, text fields, buttons, and video, use + the `filters` property (inherited from DisplayObject). Setting the + `filters` property of an object does not modify the object, and you can + remove the filter by clearing the `filters` property. + * To apply filters to BitmapData objects, use the + `BitmapData.applyFilter()` method. Calling `applyFilter()` on a BitmapData + object takes the source BitmapData object and the filter object and + generates a filtered image as a result. + + If you apply a filter to a display object, the value of the + `cacheAsBitmap` property of the object is set to true. If you remove all + filters, the original value of `cacheAsBitmap` is restored. + + This filter supports stage scaling. However, it does not support general + scaling, rotation, and skewing. If the object itself is scaled (if the + `scaleX` and `scaleY` properties are not set to 100%), the filter is not + scaled. It is scaled only when the user zooms in on the stage. + + A filter is not applied if the resulting image exceeds the maximum + dimensions. In AIR 1.5 and Flash Player 10, the maximum is 8,191 pixels in + width or height, and the total number of pixels cannot exceed 16,777,215 + pixels. (So, if an image is 8,191 pixels wide, it can only be 2,048 pixels + high.) In Flash Player 9 and earlier and AIR 1.1 and earlier, the + limitation is 2,880 pixels in height and 2,880 pixels in width. If, for + example, you zoom in on a large movie clip with a filter applied, the + filter is turned off if the resulting image exceeds the maximum + dimensions. + + To specify the Shader instance to use with the filter, pass the Shader + instance as an argument to the `ShaderFilter()` constructor, or set it as + the value of the `shader` property. + + To allow the shader output to extend beyond the bounds of the filtered + object, use the `leftExtension`, `rightExtension`, `topExtension`, and + `bottomExtension` properties. + + + "tags=\"haxe,release\"" + + + + + + + + + + + + + + { rotation : 0, scale : 1 } + "checkstyle:FieldDocComment" + hide + + + + + + + + + + + + + + + "checkstyle:FieldDocComment" + hide + + + + + + + + + + + + + + + "checkstyle:FieldDocComment" + hide + + + + + + + + + + + Interpolates the translation, rotation, and scale transformation of one matrix + toward those of the target matrix. + + The `interpolate()` method avoids some of the unwanted results that can occur + when using methods such as the display object's axis rotation properties. The + `interpolate()` method invalidates the cached value of the rotation property of + the display object and converts the orientation elements of the display object's + matrix to a quaternion before interpolation. This method guarantees the shortest, + most efficient path for the rotation. It also produces a smooth, gimbal-lock-free + rotation. A gimbal lock can occur when using Euler Angles, where each axis is + handled independently. During the rotation around two or more axes, the axes can + become aligned, leading to unexpected results. Quaternion rotation avoids the + gimbal lock. + + Consecutive calls to the `interpolate()` method can produce the effect of a + display object starting quickly and then slowly approaching another display + object. For example, if you set the `thisMat` parameter to the returned Matrix3D + object, the `toMat` parameter to the target display object's associated Matrix3D + object, and the `percent` parameter to 0.1, the display object moves ten percent + toward the target object. On subsequent calls or in subsequent frames, the object + moves ten percent of the remaining 90 percent, then ten percent of the remaining + distance, and continues until it reaches the target. + + @param thisMat The Matrix3D object that is to be interpolated. + @param toMat The target Matrix3D object. + @param percent A value between 0 and 1 that determines the percent the + `thisMat` Matrix3D object is interpolated toward the target Matrix3D object. + @returns A Matrix3D object with elements that place the values of the matrix + between the original matrix and the target matrix. When the returned matrix is + applied to the this display object, the object moves the specified percent closer + to the target object. + + <__getAxisRotation set="method" line="1622" static="1"> + + + + + + + + + + + + A Number that determines whether a matrix is invertible. + + A Matrix3D object must be invertible. You can use the `determinant` property to make + sure that a Matrix3D object is invertible. If determinant is zero, an inverse of + the matrix does not exist. For example, if an entire row or column of a matrix is + zero or if two rows or columns are equal, the determinant is zero. Determinant is + also used to solve a series of equations. + + Only a square matrix, like the Matrix3D class, has a determinant. + + + + A Vector3D object that holds the position, the 3D coordinate (x,y,z) of a display + object within the transformation's frame of reference. The `position` property + provides immediate access to the translation vector of the display object's + matrix without needing to decompose and recompose the matrix. + + With the `position` property, you can get and set the translation elements of the + transformation matrix. + + + + A Vector of 16 Numbers, where every four elements is a column of a 4x4 matrix. + + An exception is thrown if the `rawData` property is set to a matrix that is not + invertible. The Matrix3D object must be invertible. If a non-invertible matrix is + needed, create a subclass of the Matrix3D object. + + + + + + + A Vector of 16 Numbers, where every four elements is a column of a 4x4 matrix. + + An exception is thrown if the `rawData` property is set to a matrix that is not + invertible. The Matrix3D object must be invertible. If a non-invertible matrix is + needed, create a subclass of the Matrix3D object. + + + + + + + + + { pivotPoint : null } + Appends an incremental rotation to a Matrix3D object. When the Matrix3D object is + applied to a display object, the matrix performs the rotation after other + transformations in the Matrix3D object. + + The display object's rotation is defined by an axis, an incremental degree of + rotation around the axis, and an optional pivot point for the center of the + object's rotation. The axis can be any general direction. The common axes are the + `X_AXIS (Vector3D(1,0,0))`, `Y_AXIS (Vector3D(0,1,0))`, and + `Z_AXIS (Vector3D(0,0,1))`. In aviation terminology, the rotation about the y axis + is called yaw. The rotation about the x axis is called pitch. The rotation about + the z axis is called roll. + + The order of transformation matters. A rotation followed by a translation + transformation produces a different effect than a translation followed by a + rotation transformation. + + The rotation effect is not absolute. It is relative to the current position and + orientation. To make an absolute change to the transformation matrix, use the + `recompose()` method. The `appendRotation()` method is also different from the + axis rotation property of the display object, such as `rotationX` property. The + `rotation` property is always performed before any translation, whereas the + `appendRotation()` method is performed relative to what is already in the matrix. + To make sure that you get a similar effect as the display object's axis rotation + property, use the `prependRotation()` method, which performs the rotation before + other transformations in the matrix. + + When the `appendRotation()` method's transformation is applied to a Matrix3D object + of a display object, the cached rotation property values of the display object + are invalidated. + + One way to have a display object rotate around a specific point relative to its + location is to set the translation of the object to the specified point, rotate + the object using the `appendRotation()` method, and translate the object back to + the original position. In the following example, the myObject 3D display object + makes a y-axis rotation around the coordinate (10,10,0). + + ```haxe + myObject.z = 1; + myObject.transform.matrix3D.appendTranslation(10,10,0); + myObject.transform.matrix3D.appendRotation(1, Vector3D.Y_AXIS); + myObject.transform.matrix3D.appendTranslation(-10,-10,0); + ``` + + @param degrees The degree of the rotation. + @param axis The axis or direction of rotation. The usual axes are the + `X_AXIS (Vector3D(1,0,0))`, `Y_AXIS (Vector3D(0,1,0))`, and + `Z_AXIS (Vector3D(0,0,1))`. This vector should have a length of one. + @param pivotPoint A point that determines the center of an object's rotation. + The default pivot point for an object is its registration point. + + + + + + + + + Appends an incremental scale change along the x, y, and z axes to a Matrix3D + object. When the Matrix3D object is applied to a display object, the matrix + performs the scale changes after other transformations in the Matrix3D object. + The default scale factor is (1.0, 1.0, 1.0). + + The scale is defined as a set of three incremental changes along the three axes + (x,y,z). You can multiply each axis with a different number. When the scale + changes are applied to a display object, the object's size increases or decreases. + For example, setting the x, y, and z axes to two doubles the size of the object, + while setting the axes to 0.5 halves the size. To make sure that the scale + transformation only affects a specific axis, set the other parameters to one. A + parameter of one means no scale change along the specific axis. + + The `appendScale()` method can be used for resizing as well as for managing + distortions, such as stretch or contract of a display object, or for zooming in + and out on a location. Scale transformations are automatically performed during a + display object's rotation and translation. + + The order of transformation matters. A resizing followed by a translation + transformation produces a different effect than a translation followed by a + resizing transformation. + + @param xScale A multiplier used to scale the object along the x axis. + @param yScale A multiplier used to scale the object along the y axis. + @param zScale A multiplier used to scale the object along the z axis. + + + + + + + + + Appends an incremental translation, a repositioning along the x, y, and z axes, + to a Matrix3D object. When the Matrix3D object is applied to a display object, + the matrix performs the translation changes after other transformations in the + Matrix3D object. + + The translation is defined as a set of three incremental changes along the + three axes (x,y,z). When the transformation is applied to a display object, the + display object moves from it current location along the x, y, and z axes as + specified by the parameters. To make sure that the translation only affects a + specific axis, set the other parameters to zero. A zero parameter means no change + along the specific axis. + + The translation changes are not absolute. They are relative to the current + position and orientation of the matrix. To make an absolute change to the + transformation matrix, use the recompose() method. The order of transformation + also matters. A translation followed by a rotation transformation produces a + different effect than a rotation followed by a translation. + + @param x An incremental translation along the x axis. + @param y An incremental translation along the y axis. + @param z An incremental translation along the z axis. + + + + Returns a new Matrix3D object that is an exact copy of the current Matrix3D object. + + @returns A new Matrix3D object that is an exact copy of the current Matrix3D + object. + + + + + + + + Copies a Vector3D object into specific column of the calling Matrix3D object. + + @param column The destination column of the copy. + @param vector3D The Vector3D object from which to copy the data. + + + + + + + + Copies specific column of the calling Matrix3D object into the Vector3D object. + + @param column The column from which to copy the data. + @param vector3D The destination Vector3D object of the copy. + + + + + + + Copies all of the matrix data from the source Matrix3D object into the calling + Matrix3D object. + + @param sourceMatrix3D The Matrix3D object from which to copy the data. + + + + + + + + + { transpose : false, index : 0 } + Copies all of the vector data from the source vector object into the calling + Matrix3D object. The optional `index` parameter allows you to select any starting + slot in the vector. + + @param vector The vector object from which to copy the data. + @param index + @param transpose + + + + + + + + + { transpose : false, index : 0 } + Copies all of the matrix data from the calling Matrix3D object into the + provided vector. The optional index parameter allows you to select any target + starting slot in the vector. + + @param vector The vector object to which to copy the data. + @param index + @param transpose + + + + + + + + Copies a Vector3D object into specific row of the calling Matrix3D object. + + @param row The row from which to copy the data to. + @param vector3D The Vector3D object from which to copy the data. + + + + + + + + Copies specific row of the calling Matrix3D object into the Vector3D object. + + @param row The row from which to copy the data from. + @param vector3D The Vector3D object to copy the data into. + + + + + + + @param other + + + + + + + { orientationStyle : EULER_ANGLES } + Returns the transformation matrix's translation, rotation, and scale settings as + a Vector of three Vector3D objects. The first Vector3D object holds the + translation elements. The second Vector3D object holds the rotation elements. + The third Vector3D object holds the scale elements. + + Some Matrix3D methods, such as the `interpolateTo()` method, automatically + decompose and recompose the matrix to perform their transformation. + + To modify the matrix's transformation with an absolute parent frame of reference, + retrieve the settings with the `decompose()` method and make the appropriate + changes. You can then set the Matrix3D object to the modified transformation + using the `recompose()` method. + + The `decompose()` method's parameter specifies the orientation style that is + meant to be used for the transformation. The default orientation is `eulerAngles`, + which defines the orientation with three separate angles of rotation for each + axis. The rotations occur consecutively and do not change the axis of each other. + The display object's axis rotation properties perform Euler Angles orientation + style transformation. The other orientation style options are `axisAngle` and + `quaternion`. The Axis Angle orientation uses a combination of an axis and an + angle to determine the orientation. The axis around which the object is rotated + is a unit vector that represents a direction. The angle represents the magnitude + of the rotation about the vector. The direction also determines where a display + object is facing and the angle determines which way is up. The `appendRotation()` + and `prependRotation()` methods use the Axis Angle orientation. The `quaternion` + orientation uses complex numbers and the fourth element of a vector. The three + axes of rotation (x,y,z) and an angle of rotation (w) represent the orientation. + The `interpolate()` method uses quaternion. + + @param orientationStyle An optional parameter that determines the orientation + style used for the matrix transformation. The three types of orientation style + are `eulerAngles` (constant `EULER_ANGLES`), `axisAngle` (constant `AXIS_ANGLE`), + and `quaternion` (constant `QUATERNION`). For additional information on the + different orientation style, see the geom.Orientation3D class. + @returns A Vector of three Vector3D objects, each holding the translation, + rotation, and scale settings, respectively. + + + + + + + Uses the transformation matrix without its translation elements to transform a + Vector3D object from one space coordinate to another. The returned Vector3D + object holds the new coordinates after the rotation and scaling transformations + have been applied. If the `deltaTransformVector()` method applies a matrix that + only contains a translation transformation, the returned Vector3D is the same as + the original Vector3D object. + + You can use the `deltaTransformVector()` method to have a display object in one + coordinate space respond to the rotation transformation of a second display + object. The object does not copy the rotation; it only changes its position to + reflect the changes in the rotation. For example, to use the display.Graphics + API for drawing a rotating 3D display object, you must map the object's rotating + coordinates to a 2D point. First, retrieve the object's 3D coordinates after each + rotation, using the `deltaTransformVector()` method. Next, apply the display + object's `local3DToGlobal()` method to translate the 3D coordinates to 2D points. + You can then use the 2D points to draw the rotating 3D object. + + **Note:** This method automatically sets the `w` component of the passed Vector3D + to 0.0. + + @param v A Vector3D object holding the coordinates that are going to be + transformed. + @returns Vector3D A Vector3D object with the transformed coordinates. + + + + Converts the current matrix to an identity or unit matrix. An identity matrix has + a value of one for the elements on the main diagonal and a value of zero for all + other elements. The result is a matrix where the rawData value is + 1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1 and the rotation setting is set to + `Vector3D(0,0,0)`, the position or translation setting is set to `Vector3D(0,0,0)`, + and the scale is set to `Vector3D(1,1,1)`. Here is a representation of an + identity matrix. + + ![Identity Matrix](/images/identityMatrix.jpg) + + An object transformed by applying an identity matrix performs no transformation. + In other words, if a matrix is multiplied by an identity matrix, the result is a + matrix that is the same as (identical to) the original matrix. + + + + + + + + Interpolates this matrix towards the translation, rotation, and scale + transformations of the target matrix. + + The `interpolateTo()` method avoids the unwanted results that can occur when + using methods such as the display object's axis rotation properties. The + `interpolateTo()` method invalidates the cached value of the rotation property of + the display object and converts the orientation elements of the display object's + matrix to a quaternion before interpolation. This method guarantees the shortest, + most efficient path for the rotation. It also produces a smooth, gimbal-lock-free + rotation. A gimbal lock can occur when using Euler Angles, where each axis is + handled independently. During the rotation around two or more axes, the axes can + become aligned, leading to unexpected results. Quaternion rotation avoids the + gimbal lock. + + **Note:** In case of interpolation, the scaling value of the matrix will reset and + the matrix will be normalized. + + Consecutive calls to the `interpolateTo()` method can produce the effect of a + display object starting quickly and then slowly approaching another display + object. For example, if the percent parameter is set to 0.1, the display object + moves ten percent toward the target object specified by the `toMat` parameter. + On subsequent calls or in subsequent frames, the object moves ten percent of the + remaining 90 percent, then ten percent of the remaining distance, and continues + until it reaches the target. + + @param toMat The target Matrix3D object. + @param percent A value between 0 and 1 that determines the location of the + display object relative to the target. The closer the value is to 1.0, the closer + the display object is to its current position. The closer the value is to 0, the + closer the display object is to the target. + + + + Inverts the current matrix. An inverted matrix is the same size as the original + but performs the opposite transformation of the original matrix. For example, if + the original matrix has an object rotate around the x axis in one direction, the + inverse of the matrix will have the object rotate around the axis in the opposite + direction. Applying an inverted matrix to an object undoes the transformation + performed by the original matrix. If a matrix is multiplied by its inverse + matrix, the result is an identity matrix. + + An inverse of a matrix can be used to divide one matrix by another. The way to + divide matrix A by matrix B is to multiply matrix A by the inverse of matrix B. + The inverse matrix can also be used with a camera space. When the camera moves in + the world space, the object in the world needs to move in the opposite direction + to transform from the world view to the camera or view space. For example, if the + camera moves closer, the objects becomes bigger. In other words, if the camera + moves down the world z axis, the object moves up world z axis. + + The `invert()` method replaces the current matrix with an inverted matrix. If you + want to invert a matrix without altering the current matrix, first copy the + current matrix by using the clone() method and then apply the `invert()` method + to the copy. + + The Matrix3D object must be invertible. + + @returns Returns `true` if the matrix was successfully inverted. + + + + + + + + + { up : null, at : null } + Rotates the display object so that it faces a specified position. This method + allows for an in-place modification to the orientation. The forward direction + vector of the display object (the at Vector3D object) points at the specified + world-relative position. The display object's up direction is specified with the + up Vector3D object. + + The `pointAt()` method invalidates the cached rotation property value of the + display object. The method decomposes the display object's matrix and modifies the + rotation elements to have the object turn to the specified position. It then + recomposes (updates) the display object's matrix, which performs the + transformation. If the object is pointing at a moving target, such as a moving + object's position, then with each subsequent call, the method has the object + rotate toward the moving target. + + **Note:** If you use the `Matrix3D.pointAt()` method without setting the + optional parameters, a target object does not face the specified world-relative + position by default. You need to set the values for at to the -y-axis (0,-1,0) + and up to the -z axis (0,0,-1). + + @param pos The world-relative position of the target object. World-relative + defines the object's transformation relative to the world space and coordinates, + where all objects are positioned. + @param at The object-relative vector that defines where the display object is + pointing. Object-relative defines the object's transformation relative to the + object space, the object's own frame of reference and coordinate system. Default + value is the +y axis (0,1,0). + @param up The object-relative vector that defines "up" for the display object. + If the object is drawn looking down from above, the +z axis is its "up" vector. + Object-relative defines the object's transformation relative to the object space, + the object's own frame of reference and coordinate system. Default value is the + +z-axis (0,0,1). + + + + + + + Prepends a matrix by multiplying the current Matrix3D object by another Matrix3D + object. The result combines both matrix transformations. + + Matrix multiplication is different from matrix addition. Matrix multiplication is + not commutative. In other words, A times B is not equal to B times A. With the + `prepend()` method, the multiplication happens from the right side, meaning the `rhs` + Matrix3D object is on the right side of the multiplication operator. + + ```haxe + thisMatrix = thisMatrix * rhs + ``` + + The modifications made by `prepend()` method are object-space-relative. In other + words, they are always relative to the object's initial frame of reference. + + The `prepend()` method replaces the current matrix with the prepended matrix. If + you want to prepend two matrixes without altering the current matrix, first copy + the current matrix by using the `clone()` method and then apply the `prepend()` + method to the copy. + + @param rhs A right-hand-side of the matrix by which the current Matrix3D is + multiplied. + + + + + + + + + { pivotPoint : null } + Prepends an incremental rotation to a Matrix3D object. When the Matrix3D object is + applied to a display object, the matrix performs the rotation before other + transformations in the Matrix3D object. + + The display object's rotation is defined by an axis, an incremental degree of + rotation around the axis, and an optional pivot point for the center of the + object's rotation. The axis can be any general direction. The common axes are the + `X_AXIS (Vector3D(1,0,0))`, `Y_AXIS (Vector3D(0,1,0))`, and + `Z_AXIS (Vector3D(0,0,1))`. In aviation terminology, the rotation about the y + axis is called yaw. The rotation about the x axis is called pitch. The rotation + about the z axis is called roll. + + The order of transformation matters. A rotation followed by a translation + transformation produces a different effect than a translation followed by a + rotation. + + The rotation effect is not absolute. The effect is object-relative, relative to + the frame of reference of the original position and orientation. To make an + absolute change to the transformation, use the `recompose()` method. + + When the `prependRotation()` method's transformation is applied to a Matrix3D + object of a display object, the cached rotation property values of the display + object are invalidated. + + One way to have a display object rotate around a specific point relative to its + location is to set the translation of the object to the specified point, rotate + the object using the `prependRotation()` method, and translate the object back to + the original position. In the following example, the `myObject` 3D display object + makes a y-axis rotation around the coordinate (10,10,0). + + ```haxe + myObject.z = 1; + myObject.transform.matrix3D.prependTranslation(10,10,0); + myObject.transform.matrix3D.prependRotation(1, Vector3D.Y_AXIS); + myObject.transform.matrix3D.prependTranslation(-10,-10,0); + ``` + + @param degrees The degree of rotation. + @param axis The axis or direction of rotation. The usual axes are the + `X_AXIS (Vector3D(1,0,0))`, `Y_AXIS (Vector3D(0,1,0))`, and + `Z_AXIS (Vector3D(0,0,1))`. This vector should have a length of one. + @param pivotPoint A point that determines the center of rotation. The default + pivot point for an object is its registration point. + + + + + + + + + Prepends an incremental scale change along the x, y, and z axes to a Matrix3D + object. When the Matrix3D object is applied to a display object, the matrix + performs the scale changes before other transformations in the Matrix3D + object. The changes are object-relative, relative to the frame of reference of + the original position and orientation. The default scale factor is (1.0, 1.0, 1.0). + + The scale is defined as a set of three incremental changes along the three + axes (x,y,z). You can multiply each axis with a different number. When the + scale changes are applied to a display object, the object's size increases or + decreases. For example, setting the x, y, and z axes to two doubles the size of + the object, while setting the axes to 0.5 halves the size. To make sure that the + scale transformation only affects a specific axis, set the other parameters to + one. A parameter of one means no scale change along the specific axis. + + The `prependScale()` method can be used for resizing as well as for managing + distortions, such as stretch or contract of a display object. It can also be used + for zooming in and out on a location. Scale transformations are automatically + performed during a display object's rotation and translation. + + The order of transformation matters. A resizing followed by a translation + transformation produces a different effect than a translation followed by a + resizing transformation. + + @param xScale A multiplier used to scale the object along the x axis. + @param yScale A multiplier used to scale the object along the y axis. + @param zScale A multiplier used to scale the object along the z axis. + + + + + + + + + Prepends an incremental translation, a repositioning along the x, y, and z axes, + to a Matrix3D object. When the Matrix3D object is applied to a display object, + the matrix performs the translation changes before other transformations in the + Matrix3D object. + + Translation specifies the distance the display object moves from its current + location along the x, y, and z axes. The `prependTranslation()` method sets the + translation as a set of three incremental changes along the three axes (x,y,z). + To have a translation change only a specific axis, set the other parameters to + zero. A zero parameter means no change along the specific axis. + + The translation changes are not absolute. The effect is object-relative, + relative to the frame of reference of the original position and orientation. + To make an absolute change to the transformation matrix, use the `recompose()` + method. The order of transformation also matters. A translation followed by a + rotation transformation produces a different effect than a rotation followed by + a translation transformation. When prependTranslation() is used, the display + object continues to move in the direction it is facing, regardless of the other + transformations. For example, if a display object was facing toward a positive x + axis, it continues to move in the direction specified by the + `prependTranslation()` method, regardless of how the object has been rotated. To + make translation changes occur after other transformations, use the + `appendTranslation()` method. + + @param x An incremental translation along the x axis. + @param y An incremental translation along the y axis. + @param z An incremental translation along the z axis. + + + + + + + + { orientationStyle : EULER_ANGLES } + Sets the transformation matrix's translation, rotation, and scale settings. Unlike + the incremental changes made by the display object's rotation properties or + Matrix3D object's rotation methods, the changes made by `recompose()` method are + absolute changes. The `recompose()` method overwrites the matrix's transformation. + + To modify the matrix's transformation with an absolute parent frame of reference, + retrieve the settings with the decompose() method and make the appropriate + changes. You can then set the Matrix3D object to the modified transformation + using the `recompose()` method. + + The `recompose()` method's parameter specifies the orientation style that was + used for the transformation. The default orientation is eulerAngles, which defines + the orientation with three separate angles of rotation for each axis. The + rotations occur consecutively and do not change the axis of each other. The + display object's axis rotation properties perform Euler Angles orientation style + transformation. The other orientation style options are axisAngle and quaternion. + The Axis Angle orientation uses the combination of an axis and an angle to + determine the orientation. The axis around which the object is rotated is a unit + vector that represents a direction. The angle represents the magnitude of the + rotation about the vector. The direction also determines where a display object + is facing and the angle determines which way is up. The `appendRotation()` and + `prependRotation()` methods use the Axis Angle orientation. The quaternion + orientation uses complex numbers and the fourth element of a vector. An + orientation is represented by the three axes of rotation (x,y,z) and an angle of + rotation (w). The interpolate() method uses quaternion. + + @param components A Vector of three Vector3D objects that replace the Matrix3D + object's translation, rotation, and scale elements. + @param orientationStyle An optional parameter that determines the orientation + style used for the matrix transformation. The three types of orientation styles + are eulerAngles (constant `EULER_ANGLES`), axisAngle (constant `AXIS_ANGLE`), and + quaternion (constant `QUATERNION`). For additional information on the different + orientation style, see the geom.Orientation3D class. + @returns Returns `false` if any of the Vector3D elements of the components + Vector do not exist or are `null`. + + + + + + + Uses the transformation matrix to transform a Vector3D object from one space + coordinate to another. The returned Vector3D object holds the new coordinates + after the transformation. All the matrix transformations including translation + are applied to the Vector3D object. + + If the result of the `transformVector()` method was applied to the position of a + display object, only the display object's position changes. The display object's + rotation and scale elements remain the same. + + **Note:** This method automatically sets the w component of the passed Vector3D + to 1.0. + + @param v A Vector3D object holding the coordinates that are going to be + transformed. + @returns A Vector3D object with the transformed coordinates. + + + + + + + + Uses the transformation matrix to transform a Vector of Numbers from one + coordinate space to another. The `tranformVectors()` method reads every three + Numbers in the `vin` Vector object as a 3D coordinate (x,y,z) and places a + transformed 3D coordinate in the `vout` Vector object. All the matrix + transformations including translation are applied to the `vin` Vector object. + You can use the `transformVectors()` method to render and transform a 3D object + as a mesh. A mesh is a collection of vertices that defines the shape of the object. + + @param vin A Vector of Floats, where every three Numbers are a 3D coordinate + (x,y,z) that is going to be transformed. + @param vout A Vector of Floats, where every three Numbers are a 3D + transformed coordinate (x,y,z). + + + + Converts the current Matrix3D object to a matrix where the rows and columns are + swapped. For example, if the current Matrix3D object's rawData contains the + following 16 numbers, `1,2,3,4,11,12,13,14,21,22,23,24,31,32,33,34`, the + `transpose()` method reads every four elements as a row and turns the rows into + columns. The result is a matrix with the rawData of: + `1,11,21,31,2,12,22,32,3,13,23,33,4,14,24,34`. + + The `transpose()` method replaces the current matrix with a transposed matrix. + If you want to transpose a matrix without altering the current matrix, first copy + the current matrix by using the `clone()` method and then apply the `transpose()` + method to the copy. + + An orthogonal matrix is a square matrix whose transpose is equal to its inverse. + + + + + + + + + + + + + { v : null } + + The Matrix3D class represents a transformation matrix that determines the position and + orientation of a three-dimensional (3D) display object. The matrix can perform + transformation functions including translation (repositioning along the x, y, and z + axes), rotation, and scaling (resizing). The Matrix3D class can also perform + perspective projection, which maps points from the 3D coordinate space to a + two-dimensional (2D) view. + + A single matrix can combine multiple transformations and apply them at once to a 3D + display object. For example, a matrix can be applied to 3D coordinates to perform a + rotation followed by a translation. + + When you explicitly set the `z` property or any of the rotation or scaling properties + of a display object, a corresponding Matrix3D object is automatically created. + + You can access a 3D display object's Matrix3D object through the `transform.matrix3d` + property. 2D objects do not have a Matrix3D object. + + The value of the `z` property of a 2D object is zero and the value of its `matrix3D` + property is `null`. + + **Note:** If the same Matrix3D object is assigned to two different display objects, a + runtime error is thrown. + + The Matrix3D class uses a 4x4 square matrix: a table of four rows and columns of + numbers that hold the data for the transformation. The first three rows of the matrix + hold data for each 3D axis (x,y,z). The translation information is in the last column. + The orientation and scaling data are in the first three columns. The scaling factors + are the diagonal numbers in the first three columns. Here is a representation of + Matrix3D elements: + + ![Matrix3D elements](/images/Matrix3Delements.jpg) + + You don't need to understand matrix mathematics to use the Matrix3D class. It offers + specific methods that simplify the task of transformation and projection, such as the + `appendTranslation()`, `appendRotation()`, or `interpolateTo()` methods. You also can + use the `decompose()` and `recompose()` methods or the `rawData` property to access + the underlying matrix elements. + + Display objects cache their axis rotation properties to have separate rotation for + each axis and to manage the different combinations of rotations. When a method of a + Matrix3D object is called to transform a display object, the rotation cache of the + object is invalidated. + + + "tags=\"haxe,release\"" + + + + + + + + The Orientation3D class is an enumeration of constant + values for representing the orientation style of a Matrix3D object. + The three types of orientation are Euler angles, axis angle, and quaternion. + The `decompose` and `recompose` methods of the Matrix3D object take one of these + enumerated types to identify the rotational components of the Matrix. + + + + + + cast 0 + + + + The axis angle orientation uses a combination of an axis and an angle to determine + the orientation. A line or vector from the center of a three-dimensional globe to + the surface is an example of an axis. The axis around which the object is rotated + is a unit vector that represents any possible direction in the three-dimensional + space. The angle represents the magnitude of the rotation about the vector. The + direction determines where a display object is facing and the roll angle + determines which way is up. You can use Vector3D and the Matrix3D objects to + determine the various matrix transformations as well as to determine important + three-dimensional programming values such as the distance to the intersection of + two objects that can be used to detect simple collision between three-dimensional + objects. + + The Matrix3D `appendRotation()` and Matrix3D `prependRotation()` methods use the + axis angle orientation. + + + + + cast 1 + + + + Euler angles, the default orientation for `decompose()` and `recompose()` methods, + defines the orientation with three separate angles of rotation for each axis. + Usually, a rotation around the x axis is followed by a rotation around the y axis, + which is followed by a rotation around the z axis. + + Euler angles can sometimes lead to animation errors because of problems such as + singularities when rotating around the x axis or gimbal lock. For example, since + with Euler angles each axis is handled independently, gimbal lock can occur during + the rotation around two or more axes. The axes can become aligned, leading to + unexpected results. + + The axis rotation properties of the display object perform Euler angles rotation. + + + + + cast 2 + + + + The quaternion orientation uses complex numbers. An orientation in quaternion is + by the three axes of rotation (x,y,z) and an angle of rotation (w). Quaternion + guarantees the shortest, most efficient path for the rotation. It also produces a + smooth, gimbal-lock-free rotation. A gimbal lock can occur when during the + rotation around two or more axes the axes are aligned, leading to unexpected + results. + + The Matrix3D `interpolate()` method uses quaternion. + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + The axis angle orientation uses a combination of an axis and an angle to determine + the orientation. A line or vector from the center of a three-dimensional globe to + the surface is an example of an axis. The axis around which the object is rotated + is a unit vector that represents any possible direction in the three-dimensional + space. The angle represents the magnitude of the rotation about the vector. The + direction determines where a display object is facing and the roll angle + determines which way is up. You can use Vector3D and the Matrix3D objects to + determine the various matrix transformations as well as to determine important + three-dimensional programming values such as the distance to the intersection of + two objects that can be used to detect simple collision between three-dimensional + objects. + + The Matrix3D `appendRotation()` and Matrix3D `prependRotation()` methods use the + axis angle orientation. + + + + + cast 1 + + + + Euler angles, the default orientation for `decompose()` and `recompose()` methods, + defines the orientation with three separate angles of rotation for each axis. + Usually, a rotation around the x axis is followed by a rotation around the y axis, + which is followed by a rotation around the z axis. + + Euler angles can sometimes lead to animation errors because of problems such as + singularities when rotating around the x axis or gimbal lock. For example, since + with Euler angles each axis is handled independently, gimbal lock can occur during + the rotation around two or more axes. The axes can become aligned, leading to + unexpected results. + + The axis rotation properties of the display object perform Euler angles rotation. + + + + + cast 2 + + + + The quaternion orientation uses complex numbers. An orientation in quaternion is + by the three axes of rotation (x,y,z) and an angle of rotation (w). Quaternion + guarantees the shortest, most efficient path for the rotation. It also produces a + smooth, gimbal-lock-free rotation. A gimbal lock can occur when during the + rotation around two or more axes the axes are aligned, leading to unexpected + results. + + The Matrix3D `interpolate()` method uses quaternion. + + + + + + + + + + + + + + + + + + + + + A ColorTransform object containing values that universally adjust the + colors in the display object. + + @throws TypeError The colorTransform is null when being set + + + + A ColorTransform object representing the combined color transformations + applied to the display object and all of its parent objects, back to the + root level. If different color transformations have been applied at + different levels, all of those transformations are concatenated into one + ColorTransform object for this property. + + + + A Matrix object representing the combined transformation matrixes of the + display object and all of its parent objects, back to the root level. If + different transformation matrixes have been applied at different levels, + all of those matrixes are concatenated into one matrix for this property. + Also, for resizeable SWF content running in the browser, this property + factors in the difference between stage coordinates and window coordinates + due to window resizing. Thus, the property converts local coordinates to + window coordinates, which may not be the same coordinate space as that of + the Stage. + + + + A Matrix object containing values that alter the scaling, rotation, and + translation of the display object. + + If the `matrix` property is set to a value (not + `null`), the `matrix3D` property is + `null`. And if the `matrix3D` property is set to a + value(not `null`), the `matrix` property is + `null`. + + @throws TypeError The matrix is null when being set + + + + Provides access to the Matrix3D object of a three-dimensional display + object. The Matrix3D object represents a transformation matrix that + determines the display object's position and orientation. A Matrix3D + object can also perform perspective projection. + + If the `matrix` property is set to a value(not + `null`), the `matrix3D` property is + `null`. And if the `matrix3D` property is set to a + value(not `null`), the `matrix` property is + `null`. + + + + A Rectangle object that defines the bounding rectangle of the display + object on the stage. + + <__colorTransform> + + + + <__displayObject> + + + + <__hasMatrix> + + + + <__hasMatrix3D> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <__setTransform set="method" line="287"> + + + + + + + + + + + + + + + + The Transform class provides access to color adjustment properties and two- + or three-dimensional transformation objects that can be applied to a + display object. During the transformation, the color or the orientation and + position of a display object is adjusted(offset) from the current values + or coordinates to new values or coordinates. The Transform class also + collects data about color and two-dimensional matrix transformations that + are applied to a display object and all of its parent objects. You can + access these combined transformations through the + `concatenatedColorTransform` and `concatenatedMatrix` + properties. + + To apply color transformations: create a ColorTransform object, set the + color adjustments using the object's methods and properties, and then + assign the `colorTransformation` property of the + `transform` property of the display object to the new + ColorTransformation object. + + To apply two-dimensional transformations: create a Matrix object, set + the matrix's two-dimensional transformation, and then assign the + `transform.matrix` property of the display object to the new + Matrix object. + + To apply three-dimensional transformations: start with a + three-dimensional display object. A three-dimensional display object has a + `z` property value other than zero. You do not need to create + the Matrix3D object. For all three-dimensional objects, a Matrix3D object + is created automatically when you assign a `z` value to a + display object. You can access the display object's Matrix3D object through + the display object's `transform` property. Using the methods of + the Matrix3D class, you can add to or modify the existing transformation + settings. Also, you can create a custom Matrix3D object, set the custom + Matrix3D object's transformation elements, and then assign the new Matrix3D + object to the display object using the `transform.matrix` + property. + + To modify a perspective projection of the stage or root object: use the + `transform.matrix` property of the root display object to gain + access to the PerspectiveProjection object. Or, apply different perspective + projection properties to a display object by setting the perspective + projection properties of the display object's parent. The child display + object inherits the new properties. Specifically, create a + PerspectiveProjection object and set its properties, then assign the + PerspectiveProjection object to the `perspectiveProjection` + property of the parent display object's `transform` property. + The specified projection transformation then applies to all the display + object's three-dimensional children. + + Since both PerspectiveProjection and Matrix3D objects perform + perspective transformations, do not assign both to a display object at the + same time. Use the PerspectiveProjection object for focal length and + projection center changes. For more control over the perspective + transformation, create a perspective projection Matrix3D object. + + + "tags=\"haxe,release\"" + + openfl.display.DisplayObject + openfl.geom.ColorTransform + + + + + + The x axis defined as a Vector3D object with coordinates (1,0,0). + + + + The y axis defined as a Vector3D object with coordinates (0,1,0). + + + + The z axis defined as a Vector3D object with coordinates (0,0,1). + + + + + + + + Returns the angle in radians between two vectors. The returned angle is the + smallest radian the first Vector3D object rotates until it aligns with the + second Vector3D object. + + The `angleBetween()` method is a static method. You can use it directly as a method + of the Vector3D class. + + To convert a degree to a radian, you can use the following formula: + + ```haxe + radian = Math.PI/180 * degree + ``` + + @param a The first Vector3D object. + @param b The second Vector3D object. + @returns The angle between two Vector3D objects. + + + + + + + + Returns the distance between two Vector3D objects. The `distance()` method is a + static method. You can use it directly as a method of the Vector3D class to get + the Euclidean distance between two three-dimensional points. + + @param pt1 A Vector3D object as the first three-dimensional point. + @param pt2 A Vector3D object as the second three-dimensional point. + @returns The distance between two Vector3D objects. + + + + + + + The length, magnitude, of the current Vector3D object from the origin (0,0,0) to + the object's x, y, and z coordinates. The `w` property is ignored. A unit vector has + a length or magnitude of one. + + + + The square of the length of the current Vector3D object, calculated using the `x`, + `y`, and `z` properties. The `w` property is ignored. Use the `lengthSquared()` + method whenever possible instead of the slower `Math.sqrt()` method call of the + `Vector3D.length()` method. + + + + The fourth element of a Vector3D object (in addition to the `x`, `y`, and `z` + properties) can hold data such as the angle of rotation. The default value is 0. + + Quaternion notation employs an angle as the fourth element in its calculation of + three-dimensional rotation. The w property can be used to define the angle of + rotation about the Vector3D object. The combination of the rotation angle and the + coordinates (x,y,z) determines the display object's orientation. + + In addition, the w property can be used as a perspective warp factor for a + projected three-dimensional position or as a projection transform value in + representing a three-dimensional coordinate projected into the two-dimensional + space. For example, you can create a projection matrix using the `Matrix3D.rawData` + property, that, when applied to a Vector3D object, produces a transform value in + the Vector3D object's fourth element (the `w` property). Dividing the Vector3D + object's other elements by the transform value then produces a projected Vector3D + object. You can use the `Vector3D.project()` method to divide the first three + elements of a Vector3D object by its fourth element. + + + + The first element of a Vector3D object, such as the x coordinate of a point in + the three-dimensional space. The default value is 0. + + + + The second element of a Vector3D object, such as the y coordinate of a point in + the three-dimensional space. The default value is 0. + + + + The third element of a Vector3D object, such as the z coordinate of a point in + three-dimensional space. The default value is 0. + + + + + + + Adds the value of the x, y, and z elements of the current Vector3D object to the + values of the x, y, and z elements of another Vector3D object. The `add()` method + does not change the current Vector3D object. Instead, it returns a new Vector3D + object with the new values. + + The result of adding two vectors together is a resultant vector. One way to + visualize the result is by drawing a vector from the origin or tail of the first + vector to the end or head of the second vector. The resultant vector is the + distance between the origin point of the first vector and the end point of the + second vector. + + ![Resultant Vector3D](/images/resultantVector3D.jpg) + + @param a A Vector3D object to be added to the current Vector3D object. + @returns A Vector3D object that is the result of adding the current Vector3D + object to another Vector3D object. + + + + Returns a new Vector3D object that is an exact copy of the current Vector3D object. + + @returns A new Vector3D object that is a copy of the current Vector3D object. + + + + + + + Copies all of vector data from the source Vector3D object into the calling Vector3D + object. + + @param sourceVector3D The Vector3D object from which to copy the data. + + + + + + + Returns a new Vector3D object that is perpendicular (at a right angle) to the + current Vector3D and another Vector3D object. If the returned Vector3D object's + coordinates are (0,0,0), then the two Vector3D objects are parallel to each other. + + ![Cross Product](/images/crossproduct.jpg) + + You can use the normalized cross product of two vertices of a polygon surface with + the normalized vector of the camera or eye viewpoint to get a dot product. The + value of the dot product can identify whether a surface of a three-dimensional + object is hidden from the viewpoint. + + @param a A second Vector3D object. + @returns A new Vector3D object that is perpendicular to the current Vector3D + object and the Vector3D object specified as the parameter. + + + + + + + Decrements the value of the x, y, and z elements of the current Vector3D object by + the values of the x, y, and z elements of specified Vector3D object. Unlike the + `Vector3D.subtract()` method, the `decrementBy()` method changes the current + Vector3D object and does not return a new Vector3D object. + + @param a The Vector3D object containing the values to subtract from the current + Vector3D object. + + + + + + + If the current Vector3D object and the one specified as the parameter are unit + vertices, this method returns the cosine of the angle between the two vertices. + Unit vertices are vertices that point to the same direction but their length is + one. They remove the length of the vector as a factor in the result. You can use + the `normalize()` method to convert a vector to a unit vector. + + The `dotProduct()` method finds the angle between two vertices. It is also used in + backface culling or lighting calculations. Backface culling is a procedure for + determining which surfaces are hidden from the viewpoint. You can use the + normalized vertices from the camera, or eye, viewpoint and the cross product of + the vertices of a polygon surface to get the dot product. If the dot product is less + than zero, then the surface is facing the camera or the viewer. If the two unit + vertices are perpendicular to each other, they are orthogonal and the dot product + is zero. If the two vertices are parallel to each other, the dot product is one. + + @param a The second Vector3D object. + @returns A scalar which is the dot product of the current Vector3D object and + the specified Vector3D object. + + + + + + + + { allFour : false } + Determines whether two Vector3D objects are equal by comparing the x, y, and z + elements of the current Vector3D object with a specified Vector3D object. If the + values of these elements are the same, the two Vector3D objects are equal. If the + second optional parameter is set to `true`, all four elements of the Vector3D + objects, including the `w` property, are compared. + + @param toCompare The Vector3D object to be compared with the current Vector3D + object. + @param allFour An optional parameter that specifies whether the `w` property of + the Vector3D objects is used in the comparison. + @returns A value of `true` if the specified Vector3D object is equal to the current Vector3D object; `false` if it is not equal. + + + + + + + Increments the value of the x, y, and z elements of the current Vector3D object by + the values of the x, y, and z elements of a specified Vector3D object. Unlike the + `Vector3D.add()` method, the `incrementBy()` method changes the current Vector3D + object and does not return a new Vector3D object. + + @param a The Vector3D object to be added to the current Vector3D object. + + + + + + + + + { allFour : false } + Compares the elements of the current Vector3D object with the elements of a + specified Vector3D object to determine whether they are nearly equal. The two + Vector3D objects are nearly equal if the value of all the elements of the two + vertices are equal, or the result of the comparison is within the tolerance range. + The difference between two elements must be less than the number specified as the + tolerance parameter. If the third optional parameter is set to true, all four + elements of the Vector3D objects, including the w property, are compared. + Otherwise, only the x, y, and z elements are included in the comparison. + + @param toCompare The Vector3D object to be compared with the current Vector3D + object. + @param tolerance A number determining the tolerance factor. If the difference + between the values of the Vector3D element specified in the toCompare parameter + and the current Vector3D element is less than the tolerance number, the two values + are considered nearly equal. + @param allFour An optional parameter that specifies whether the `w` property of + the Vector3D objects is used in the comparison. + @returns A value of `true` if the specified Vector3D object is nearly equal to the current Vector3D object; `false` if it is not equal. + + + + Sets the current Vector3D object to its inverse. The inverse object is also + considered the opposite of the original object. The value of the `x`, `y`, and `z` + properties of the current Vector3D object is changed to -x, -y, and -z. + + + + Converts a Vector3D object to a unit vector by dividing the first three elements + (x, y, z) by the length of the vector. Unit vertices are vertices that have a + direction but their `length` is one. They simplify vector calculations by removing `length` as a factor. + + @returns The length of the current Vector3D object. + + + + Divides the value of the `x`, `y`, and `z` properties of the current Vector3D + object by the value of its `w` property. + + If the current Vector3D object is the result of multiplying a Vector3D object by a + projection Matrix3D object, the `w` property can hold the transform value. The + `project()` method then can complete the projection by dividing the elements by the + `w` property. Use the Matrix3D.rawData property to create a projection Matrix3D + object. + + + + + + + Scales the current Vector3D object by a scalar, a magnitude. The Vector3D object's + x, y, and z elements are multiplied by the scalar number specified in the + parameter. For example, if the vector is scaled by ten, the result is a vector + that is ten times longer. The scalar can also change the direction of the vector. + Multiplying the vector by a negative number reverses its direction. + + @param s A multiplier (scalar) used to scale a Vector3D object. + + + + + + + + + Sets the members of Vector3D to the specified values + + @param xa the values to set the vector to. + @param ya + @param za + + + + + + + Subtracts the value of the x, y, and z elements of the current Vector3D object + from the values of the x, y, and z elements of another Vector3D object. The + `subtract()` method does not change the current Vector3D object. Instead, this + method returns a new Vector3D object with the new values. + + @param a The Vector3D object to be subtracted from the current Vector3D object. + @returns A new Vector3D object that is the difference between the current + Vector3D and the specified Vector3D object. + + + + Returns a string representation of the current Vector3D object. The string contains + the values of the x, y, and z properties. + + @returns A string containing the values of the x, y, and z properties. + + + + + + + + + + + + + + + + + + { w : 0, z : 0, y : 0, x : 0 } + Creates an instance of a Vector3D object. If you do not specify a parameter for + the constructor, a Vector3D object is created with the elements (0,0,0,0). + + @param x The first element, such as the x coordinate. + @param y The second element, such as the y coordinate. + @param z The third element, such as the z coordinate. + @param w An optional element for additional data such as the angle of rotation. + + The Vector3D class represents a point or a location in the three-dimensional space using + the Cartesian coordinates x, y, and z. As in a two-dimensional space, the `x` property + represents the horizontal axis and the `y` property represents the vertical axis. In + three-dimensional space, the `z` property represents depth. The value of the `x` property increases as the object moves to the right. The value of the `y` property + increases as the object moves down. The `z` property increases as the object moves + farther from the point of view. Using perspective projection and scaling, the object is + seen to be bigger when near and smaller when farther away from the screen. As in a + right-handed three-dimensional coordinate system, the positive z-axis points away from + the viewer and the value of the `z` property increases as the object moves away from the + viewer's eye. The origin point (0,0,0) of the global space is the upper-left corner of + the stage. + + ![X, Y, Z Axes](/images/xyzAxes.jpg) + + The Vector3D class can also represent a direction, an arrow pointing from the origin of + the coordinates, such as (0,0,0), to an endpoint; or a floating-point component of an + RGB (Red, Green, Blue) color model. + + Quaternion notation introduces a fourth element, the `w` property, which provides + additional orientation information. For example, the `w` property can define an angle + of rotation of a Vector3D object. The combination of the angle of rotation and the + coordinates `x`, `y`, and `z` can determine the display object's orientation. Here is + a representation of Vector3D elements in matrix notation: + + ![Vector3D elements](/images/Vector3Delements.jpg) + + + "tags=\"haxe,release\"" + + + + + + + The name of the album; corresponds to the ID3 2.0 tag TALB. + + + + The name of the artist; corresponds to the ID3 2.0 tag TPE1. + + + + A comment about the recording; corresponds to the ID3 2.0 tag COMM. + + + + The genre of the song; corresponds to the ID3 2.0 tag TCON. + + + + The name of the song; corresponds to the ID3 2.0 tag TIT2. + + + + The track number; corresponds to the ID3 2.0 tag TRCK. + + + + The year of the recording; corresponds to the ID3 2.0 tag TYER. + + + The ID3Info class contains properties that reflect ID3 metadata. You can get + additional metadata for MP3 files by accessing the `id3` property of the Sound + class; for example, `mySound.id3.TIME`. For more information, see the entry for + `Sound.id3` and the ID3 tag definitions at http://www.id3.org. + + + "tags=\"haxe,release\"" + + + + + + + + + The current amplitude(volume) of the left channel, from 0(silent) to 1 + (full amplitude). + + + + When the sound is playing, the `position` property indicates in + milliseconds the current point that is being played in the sound file. + When the sound is stopped or paused, the `position` property + indicates the last point that was played in the sound file. + + A common use case is to save the value of the `position` + property when the sound is stopped. You can resume the sound later by + restarting it from that saved position. + + If the sound is looped, `position` is reset to 0 at the + beginning of each loop. + + + + The current amplitude(volume) of the right channel, from 0(silent) to 1 + (full amplitude). + + + + The SoundTransform object assigned to the sound channel. A SoundTransform + object includes properties for setting volume, panning, left speaker + assignment, and right speaker assignment. + + <__isValid> + + + + <__soundTransform> + + + + <__source> + + + + + + Stops the sound playing in the channel. + + <__dispose set="method" line="129"> + + + + <__updateTransform set="method" line="141"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { soundTransform : null, source : null } + + + + The SoundChannel class controls a sound in an application. Every sound is + assigned to a sound channel, and the application can have multiple sound + channels that are mixed together. The SoundChannel class contains a + `stop()` method, properties for monitoring the amplitude + (volume) of the channel, and a property for assigning a SoundTransform + object to the channel. + + @event soundComplete Dispatched when a sound has finished playing. + + + "tags=\"haxe,release\"" + + openfl.media.SoundMixer + + + + + + + + The number of milliseconds to preload a streaming sound into a buffer + before the sound starts to stream. + + Note that you cannot override the value of + `SoundLoaderContext.bufferTime` by setting the global + `SoundMixer.bufferTime` property. The + `SoundMixer.bufferTime` property affects the buffer time for + embedded streaming sounds in a SWF file and is independent of dynamically + created Sound objects(that is, Sound objects created in + ActionScript). + + + + ` tags. + + If you set `checkPolicyFile` to `true`, Flash Player or AIR waits + until the policy file is verified before loading the sound. You should + wait to perform any low-level operations on the sound data, such as + calling `Sound.id3` or `SoundMixer.computeSpectrum()`, until + `progress` and `complete` events are dispatched from the Sound object. + + + If you set `checkPolicyFile` to `true` but no appropriate policy file + is found, you will not receive an error until you perform an operation + that requires a policy file, and then Flash Player or AIR throws a + `SecurityError` exception. After you receive a `complete` event, you + can test whether a relevant policy file was found by getting the value + of `Sound.id3` within a `try` block and seeing if a `SecurityError` is + thrown. + + Be careful with `checkPolicyFile` if you are downloading sound from a + URL that uses server-side HTTP redirects. Flash Player or AIR tries to + retrieve policy files that correspond to the `url` property of the + URLRequest object passed to `Sound.load()`. If the final sound file + comes from a different URL because of HTTP redirects, then the + initially downloaded policy files might not be applicable to the + sound's final URL, which is the URL that matters in security + decisions. + + If you find yourself in this situation, here is one possible solution. + After you receive a `progress` or `complete` event, you can examine + the value of the `Sound.url` property, which contains the sound's + final URL. Then call the `Security.loadPolicyFile()` method with a + policy file URL that you calculate based on the sound's final URL. + Finally, poll the value of `Sound.id3` until no exception is thrown. + + This does not apply to content in the AIR application sandbox. Content + in the application sandbox always has programatic access to sound + content, regardless of its origin. + + For more information related to security, see the Flash Player + Developer Center Topic: Security.]]> + + + + + + + + { checkPolicyFile : false, bufferTime : 1000 } + Creates a new sound loader context object. + + @param bufferTime The number of seconds to preload a streaming sound + into a buffer before the sound starts to stream. + @param checkPolicyFile Specifies whether the existence of a URL policy + file should be checked upon loading the object + (`true`) or not. + + The SoundLoaderContext class provides security checks for files that load + sound. SoundLoaderContext objects are passed as an argument to the + constructor and the `load()` method of the Sound class. + + When you use this class, consider the following security model: + + + * Loading and playing a sound is not allowed if the calling file is in + a network sandbox and the sound file to be loaded is local. + * By default, loading and playing a sound is not allowed if the calling + is local and tries to load and play a remote sound. A user must grant + explicit permission to allow this. + * Certain operations dealing with sound are restricted. The data in a + loaded sound cannot be accessed by a file in a different domain unless you + implement a URL policy file. Sound-related APIs that fall under this + restriction are the `Sound.id3` property and the + `SoundMixer.computeSpectrum()`, + `SoundMixer.bufferTime`, and `SoundTransform()` + methods. + + + However, in Adobe AIR, content in the `application` security + sandbox(content installed with the AIR application) are not restricted by + these security limitations. + + For more information related to security, see the Flash Player Developer + Center Topic: [Security](http://www.adobe.com/go/devnet_security_en). + + "tags=\"haxe,release\"" + + + + + + + A value, from 0(none) to 1(all), specifying how much of the left input + is played in the left speaker. + + + + A value, from 0(none) to 1(all), specifying how much of the left input + is played in the right speaker. + + + + The left-to-right panning of the sound, ranging from -1(full pan left) to + 1(full pan right). A value of 0 represents no panning(balanced center + between right and left). + + + + A value, from 0(none) to 1(all), specifying how much of the right input + is played in the left speaker. + + + + A value, from 0(none) to 1(all), specifying how much of the right input + is played in the right speaker. + + + + The volume, ranging from 0(silent) to 1(full volume). + + + + + "checkstyle:FieldDocComment" + + hide + + + + + + + + + { panning : 0, vol : 1 } + Creates a SoundTransform object. + + @param vol The volume, ranging from 0(silent) to 1(full volume). + @param panning The left-to-right panning of the sound, ranging from -1 + (full pan left) to 1(full pan right). A value of 0 + represents no panning(center). + + The SoundTransform class contains properties for volume and panning. + + + "tags=\"haxe,release\"" + + + + + + + + + 32 + + + + + + The number of seconds to preload an embedded streaming sound into a + buffer before it starts to stream. The data in a loaded sound, + including its buffer time, cannot be accessed by a SWF file that is in + a different domain unless you implement a cross-domain policy file. + For more information about security and sound, see the Sound class + description. The data in a loaded sound, including its buffer time, + cannot be accessed by code in a file that is in a different domain + unless you implement a cross-domain policy file. However, in the + application sandbox in an AIR application, code can access data in + sound files from any source. For more information about security and + sound, see the Sound class description. + The `SoundMixer.bufferTime` property only affects the buffer time for + embedded streaming sounds in a SWF and is independent of dynamically + created Sound objects (that is, Sound objects created in + ActionScript). The value of `SoundMixer.bufferTime` cannot override or + set the default of the buffer time specified in the SoundLoaderContext + object that is passed to the `Sound.load()` method. + + + + The SoundTransform object that controls global sound properties. A + SoundTransform object includes properties for setting volume, panning, + left speaker assignment, and right speaker assignment. The + SoundTransform object used in this property provides final sound + settings that are applied to all sounds after any individual sound + settings are applied. + + <__soundChannels expr="new Array()" line="51" static="1"> + + + new Array() + + + + <__soundTransform expr="new SoundTransform()" line="52" static="1"> + + + new SoundTransform() + + + + + + Determines whether any sounds are not accessible due to security + restrictions. For example, a sound loaded from a domain other than + that of the content calling this method is not accessible if the + server for the sound has no URL policy file that grants access to the + domain of that domain. The sound can still be loaded and played, but + low-level operations, such as getting ID3 metadata for the sound, + cannot be performed on inaccessible sounds. + For AIR application content in the application security sandbox, + calling this method always returns `false`. All sounds, including + those loaded from other domains, are accessible to content in the + application security sandbox. + + @return The string representation of the boolean. + + + + In Flash Professional, this method does not stop the playhead. Sounds + set to stream will resume playing as the playhead moves over the + frames in which they are located. + + When using this property, consider the following security model: + + * By default, calling the `SoundMixer.stopAll()` method stops only + sounds in the same security sandbox as the object that is calling the + method. Any sounds whose playback was not started from the same + sandbox as the calling object are not stopped. + * When you load the sound, using the `load()` method of the Sound + class, you can specify a `context` parameter, which is a + SoundLoaderContext object. If you set the `checkPolicyFile` property + of the SoundLoaderContext object to `true`, Flash Player or Adobe AIR + checks for a cross-domain policy file on the server from which the + sound is loaded. If the server has a cross-domain policy file, and the + file permits the domain of the calling content, then the file can stop + the loaded sound by using the `SoundMixer.stopAll()` method; otherwise + it cannot. + + However, in Adobe AIR, content in the `application` security sandbox + (content installed with the AIR application) are not restricted by + these security limitations. + + For more information related to security, see the Flash Player + Developer Center Topic: Security.]]> + + <__registerSoundChannel set="method" line="180" static="1"> + + + + + + + <__unregisterSoundChannel set="method" line="185" static="1"> + + + + + + + + + + + + + + + + + + The SoundMixer class contains static properties and methods for global + sound control in the application. The SoundMixer class controls embedded + and streaming sounds in the application. it does not control dynamically + created sounds (that is, sounds generated in response to a Sound object + dispatching a `sampleData` event). + + + "tags=\"haxe,release\"" + + openfl.media.SoundChannel + + + + + + + + + 5 + + + + + + Indicates the type of filter applied to decoded video as part of + post-processing. The default value is 0, which lets the video + compressor apply a deblocking filter as needed. + Compression of video can result in undesired artifacts. You can use + the `deblocking` property to set filters that reduce blocking and, for + video compressed using the On2 codec, ringing. + + _Blocking_ refers to visible imperfections between the boundaries of + the blocks that compose each video frame. _Ringing_ refers to + distorted edges around elements within a video image. + + Two deblocking filters are available: one in the Sorenson codec and + one in the On2 VP6 codec. In addition, a deringing filter is available + when you use the On2 VP6 codec. To set a filter, use one of the + following values: + + * 0—Lets the video compressor apply the deblocking filter as needed. + * 1—Does not use a deblocking filter. + * 2—Uses the Sorenson deblocking filter. + * 3—For On2 video only, uses the On2 deblocking filter but no + deringing filter. + * 4—For On2 video only, uses the On2 deblocking and deringing + filter. + * 5—For On2 video only, uses the On2 deblocking and a + higher-performance On2 deringing filter. + + If a value greater than 2 is selected for video when you are using the + Sorenson codec, the Sorenson decoder defaults to 2. + + Using a deblocking filter has an effect on overall playback + performance, and it is usually not necessary for high-bandwidth video. + If a user's system is not powerful enough, the user may experience + difficulties playing back video with a deblocking filter enabled. + + + + Specifies whether the video should be smoothed (interpolated) when it + is scaled. For smoothing to work, the runtime must be in high-quality + mode (the default). The default value is `false` (no smoothing). + For video playback using Flash Player 9.0.115.0 and later versions, + set this property to `true` to take advantage of mipmapping image + optimization. + + + + An integer specifying the height of the video stream, in pixels. For + live streams, this value is the same as the `Camera.height` property + of the Camera object that is capturing the video stream. For recorded + video files, this value is the height of the video. + You may want to use this property, for example, to ensure that the + user is seeing the video at the same size at which it was captured, + regardless of the actual size of the Video object on the Stage. + + + + An integer specifying the width of the video stream, in pixels. For + live streams, this value is the same as the `Camera.width` property of + the Camera object that is capturing the video stream. For recorded + video files, this value is the width of the video. + You may want to use this property, for example, to ensure that the + user is seeing the video at the same size at which it was captured, + regardless of the actual size of the Video object on the Stage. + + <__active> + + + + <__buffer> + + + + <__bufferAlpha> + + + + <__bufferColorTransform> + + + + <__bufferContext> + + + + <__bufferData> + + + + <__dirty> + + + + <__height> + + + + <__indexBuffer> + + + + <__indexBufferContext> + + + + <__indexBufferData> + + + + <__stream> + + + + <__texture> + + + + <__textureTime> + + + + <__uvRect> + + + + <__vertexBuffer> + + + + <__vertexBufferContext> + + + + <__vertexBufferData> + + + + <__width> + + + + + + + + + Specifies a video stream from a camera to be displayed within the + boundaries of the Video object in the application. + Use this method to attach live video captured by the user to the Video + object. You can play the live video locally on the same computer or + device on which it is being captured, or you can send it to Flash + Media Server and use the server to stream it to other users. + + **Note:** In an iOS AIR application, camera video cannot be displayed + when the application uses GPU rendering mode. + + @param camera A Camera object that is capturing video data. To drop + the connection to the Video object, pass `null`. + + + + Clears the image currently displayed in the Video object (not the + video stream). This method is useful for handling the current image. + For example, you can clear the last image or display standby + information without hiding the Video object. + + <__enterFrame set="method" line="274" override="1"> + + + + + + + <__getBounds set="method" line="284" override="1"> + + + + + + + + <__getIndexBuffer set="method" line="295"> + + + + + + + <__getTexture set="method" line="321"> + + + + + + + <__getVertexBuffer set="method" line="349"> + + + + + + + <__hitTest set="method" line="398" override="1"> + + + + + + + + + + + + <__hitTestMask set="method" line="421" override="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { height : 240, width : 320 } + Creates a new Video instance. If no values for the `width` and + `height` parameters are supplied, the default values are used. You can + also set the width and height properties of the Video object after the + initial construction, using `Video.width` and `Video.height`. When a + new Video object is created, values of zero for width or height are + not allowed; if you pass zero, the defaults will be applied. + After creating the Video, call the `DisplayObjectContainer.addChild()` + or `DisplayObjectContainer.addChildAt()` method to add the Video + object to a parent DisplayObjectContainer object. + + @param width The width of the video, in pixels. + @param height The height of the video, in pixels. + + Library to display + it. + 2. Add an embedded Video object to the library by clicking the Options menu + on the right side of the Library panel title bar and selecting New Video. + 3. In the Video Properties dialog box, name the embedded Video object for + use in the library and click OK. + 4. Drag the Video object to the Stage and use the Property Inspector to + give it a unique instance name, such as `my_video`. (Do not name it + Video.) + + In AIR applications on the desktop, playing video in fullscreen mode + disables any power and screen saving features (when allowed by the + operating system). + + **Note:** The Video class is not a subclass of the InteractiveObject + class, so it cannot dispatch mouse events. However, you can call the + `addEventListener()` method on the display object container that contains + the Video object.]]> + + "tags=\"haxe,release\"" + + openfl.display3D.textures.TextureBase + openfl.display3D.Context3D + openfl.geom.ColorTransform + openfl.geom.Matrix + openfl.geom.Point + openfl.geom.Rectangle + openfl.net.NetStream + + + + + + The description string for the filter. The description is visible to + the user in the dialog box that opens when `FileReference.browse()` or + `FileReferenceList.browse()` is called. The description string + contains a string, such as `"Images (*.gif, *.jpg, *.png)"`, that + can help instruct the user on what file types can be uploaded or + downloaded. Note that the actual file types that are supported by this + FileReference object are stored in the `extension` property. + + + + A list of file extensions. This list indicates the types of files that + you want to show in the file-browsing dialog box. (The list is not + visible to the user; the user sees only the value of the `description` + property.) The `extension` property contains a semicolon-delimited + list of file extensions, with a wildcard (*) preceding each + extension, as shown in the following string: `"*.jpg;*.gif;*.png"`. + + + + A list of Macintosh file types. This list indicates the types of files + that you want to show in the file-browsing dialog box. (This list + itself is not visible to the user; the user sees only the value of the + `description` property.) The `macType` property contains a + semicolon-delimited list of Macintosh file types, as shown in the + following string: `"JPEG;jp2_;GIFF"`. + + + + + + + + + { macType : null } + Creates a new FileFilter instance. + + @param description The description string that is visible to users + when they select files for uploading. + @param extension A list of file extensions that indicate which file + formats are visible to users when they select files + for uploading. + @param macType A list of Macintosh file types that indicate which + file types are visible to users when they select + files for uploading. If no value is passed, this + parameter is set to `null`. + + ?/sup>.) On the + Macintosh, if you supply a list of Macintosh file types, that list is used + to filter the files. If not, the list of file extensions is used.]]> + + "tags=\"haxe,release\"" + + + + + + + + + The creation date of the file on the local disk. If the object is was + not populated, a call to get the value of this property returns + `null`. + + @throws IOError If the file information cannot be + accessed, an exception is thrown with a + message indicating a file I/O error. + @throws IllegalOperationError If the `FileReference.browse()`, + `FileReferenceList.browse()`, or + `FileReference.download()` method was + not called successfully, an exception is + thrown with a message indicating that + functions were called in the incorrect + sequence or an earlier call was + unsuccessful. In this case, the value of + the `creationDate` property is `null`. + + + + The Macintosh creator type of the file, which is only used in Mac OS + versions prior to Mac OS X. In Windows or Linux, this property is + `null`. If the FileReference object was not populated, a call to get + the value of this property returns `null`. + + @throws IllegalOperationError On Macintosh, if the + `FileReference.browse()`, + `FileReferenceList.browse()`, or + `FileReference.download()` method was + not called successfully, an exception is + thrown with a message indicating that + functions were called in the incorrect + sequence or an earlier call was + unsuccessful. In this case, the value of + the `creator` property is `null`. + + + + The ByteArray object representing the data from the loaded file after + a successful call to the `load()` method. + + @throws IOError If the file cannot be opened or read, or + if a similar error is encountered in + accessing the file, an exception is + thrown with a message indicating a file + I/O error. In this case, the value of + the `data` property is `null`. + @throws IllegalOperationError If the `load()` method was not called + successfully, an exception is thrown + with a message indicating that functions + were called in the incorrect sequence or + an earlier call was unsuccessful. In + this case, the value of the `data` + property is `null`. + + + + The date that the file on the local disk was last modified. If the + FileReference object was not populated, a call to get the value of + this property returns `null`. + + @throws IOError If the file information cannot be + accessed, an exception is thrown with a + message indicating a file I/O error. + @throws IllegalOperationError If the `FileReference.browse()`, + `FileReferenceList.browse()`, or + `FileReference.download()` method was + not called successfully, an exception is + thrown with a message indicating that + functions were called in the incorrect + sequence or an earlier call was + unsuccessful. In this case, the value of + the `modificationDate` property is + `null`. + + + + The name of the file on the local disk. If the FileReference object + was not populated (by a valid call to `FileReference.download()` or ` + FileReference.browse()`), Flash Player throws an error when you try to + get the value of this property. + All the properties of a FileReference object are populated by calling + the `browse()` method. Unlike other FileReference properties, if you + call the `download()` method, the `name` property is populated when + the `select` event is dispatched. + + @throws IllegalOperationError If the `FileReference.browse()`, + `FileReferenceList.browse()`, or + `FileReference.download()` method was + not called successfully, an exception is + thrown with a message indicating that + functions were called in the incorrect + sequence or an earlier call was + unsuccessful. + + + + The size of the file on the local disk in bytes. If `size` is 0, an + exception is thrown. + _Note:_ In the initial version of ActionScript 3.0, the `size` + property was defined as a uint object, which supported files with + sizes up to about 4 GB. It is now implemented as a Number object to + support larger files. + + @throws IOError If the file cannot be opened or read, or + if a similar error is encountered in + accessing the file, an exception is + thrown with a message indicating a file + I/O error. + @throws IllegalOperationError If the `FileReference.browse()`, + `FileReferenceList.browse()`, or + `FileReference.download()` method was + not called successfully, an exception is + thrown with a message indicating that + functions were called in the incorrect + sequence or an earlier call was + unsuccessful. + + + + The file type. + In Windows or Linux, this property is the file extension. On the + Macintosh, this property is the four-character file type, which is + only used in Mac OS versions prior to Mac OS X. If the FileReference + object was not populated, a call to get the value of this property + returns `null`. + + For Windows, Linux, and Mac OS X, the file extension ?the portion + of the `name` property that follows the last occurrence of the dot (.) + character ?identifies the file type. + + @throws IllegalOperationError If the `FileReference.browse()`, + `FileReferenceList.browse()`, or + `FileReference.download()` method was + not called successfully, an exception is + thrown with a message indicating that + functions were called in the incorrect + sequence or an earlier call was + unsuccessful. In this case, the value of + the `type` property is `null`. + + <__data> + + + + <__path> + + + + <__urlLoader> + + + + + + + + + { typeFilter : null } + FileFilter + class. + @throws Error If the method is not called in response + to a user action, such as a mouse event + or keypress event. + @throws IllegalOperationError Thrown in the following situations: 1) + Another FileReference or + FileReferenceList browse session is in + progress; only one file browsing session + may be performed at a time. 2) A setting + in the user's mms.cfg file prohibits + this operation. + @event cancel Dispatched when the user cancels the file upload Browse + window. + @event select Dispatched when the user successfully selects an item + from the Browse file chooser.]]> + + + + Cancels any ongoing upload or download operation on this FileReference + object. Calling this method does not dispatch the `cancel` event; that + event is dispatched only when the user cancels the operation by + dismissing the file upload or download dialog box. + + + + + + + + { defaultFileName : null } + Security. + + When you download a file using this method, it is flagged as + downloaded on operating systems that flag downloaded files: + + * Windows XP service pack 2 and later, and on Windows Vista + * Mac OS 10.5 and later + + Some operating systems, such as Linux, do not flag downloaded files. + + Note that because of new functionality added to the Flash Player, when + publishing to Flash Player 10, you can have only one of the following + operations active at one time: `FileReference.browse()`, + `FileReference.upload()`, `FileReference.download()`, + `FileReference.load()`, `FileReference.save()`. Otherwise, Flash + Player throws a runtime error (code 2174). Use + `FileReference.cancel()` to stop an operation in progress. This + restriction applies only to Flash Player 10. Previous versions of + Flash Player are unaffected by this restriction on simultaneous + multiple operations. + + In Adobe AIR, the download dialog is not always displayed in front of + windows that are "owned" by another window (windows that have a + non-null `owner` property). To avoid window ordering issues, hide + owned windows before calling this method. + + @param request The URLRequest object. The `url` property of + the URLRequest object should contain the URL of + the file to download to the local computer. If + this parameter is `null`, an exception is + thrown. The `requestHeaders` property of the + URLRequest object is ignored; custom HTTP + request headers are not supported in uploads or + downloads. To send `POST` or GET parameters to + the server, set the value of `URLRequest.data` + to your parameters, and set `URLRequest.method` + to either `URLRequestMethod.POST` or + `URLRequestMethod.GET`. + On some browsers, URL strings are limited in + length. Lengths greater than 256 characters may + fail on some browsers or servers. + @param defaultFileName The default filename displayed in the dialog + box for the file to be downloaded. This string + must not contain the following characters: `/ \ : * ? " < > | %` + If you omit this parameter, the filename of the + remote URL is parsed and used as the default. + @throws ArgumentError If `url.data` is of type ByteArray, an + exception is thrown. For use with the + `FileReference.upload()` and + `FileReference.download()` methods, + `url.data` can only be of type + URLVariables or String. + @throws Error If the method is not called in response + to a user action, such as a mouse event + or keypress event. + @throws IllegalOperationError Thrown in the following situations: 1) + Another browse session is in progress; + only one file browsing session can be + performed at a time. 2) The value passed + to `request` does not contain a valid + path or protocol. 3) The filename to + download contains prohibited characters. + 4) A setting in the user's mms.cfg file + prohibits this operation. + @throws MemoryError This error can occur for the following + reasons: 1) Flash Player cannot convert + the `URLRequest.data` parameter from + UTF8 to MBCS. This error is applicable + if the URLRequest object passed to the + `FileReference.download()` method is set + to perform a GET operation and if + `System.useCodePage` is set to `true`. + 2) Flash Player cannot allocate memory + for the `POST` data. This error is + applicable if the URLRequest object + passed to the `FileReference.download()` + method is set to perform a `POST` + operation. + @throws SecurityError Local untrusted content may not + communicate with the Internet. To avoid + this situation, reclassify this SWF file + as local-with-networking or trusted. + This exception is thrown with a message + indicating the filename and the URL that + may not be accessed because of local + file security restrictions. + @throws SecurityError You cannot connect to commonly reserved + ports. For a complete list of blocked + ports, see "Restricting Networking APIs" + in the _ActionScript 3.0 Developer's + Guide_. + @event cancel Dispatched when the user dismisses the dialog + box. + @event complete Dispatched when the file download operation + successfully completes. + @event ioError Dispatched for any of the following reasons: + * An input/output error occurs while the file is + being read or transmitted. + * SWF content running in the stand-alone or + external versions of Flash Player tries to + download a file from a server that requires + authentication. During download, the standalone + and external players do not provide a means for + users to enter passwords. If a SWF file in these + players tries to download a file from a server + that requires authentication, the download fails. + File download can succeed only in the ActiveX + control and browser plug-in players. + @event open Dispatched when a download operation starts. + @event progress Dispatched periodically during the file download + operation. + @event securityError Dispatched when a download fails because of a + security error. + @event select Dispatched when the user selects a file for + download from the dialog box.]]> + + + + Starts the load of a local file selected by a user. Although Flash + Player has no restriction on the size of files you can upload, + download, load or save, it officially supports sizes of up to 100 MB. + For content running in Flash Player, you must call the + `FileReference.browse()` or `FileReferenceList.browse()` method before + you call the `load()` method. However, content running in AIR in the + application sandbox can call the `load()` method of a File object + without first calling the `browse()` method. (The AIR File class + extends the FileReference class.) + Listeners receive events to indicate the progress, success, or failure + of the load. Although you can use the FileReferenceList object to let + users select multiple files to load, you must load the files one by + one. To load the files one by one, iterate through the + `FileReferenceList.fileList` array of FileReference objects. + + Adobe AIR also includes the FileStream class which provides more + options for reading files. + + The `FileReference.upload()`, `FileReference.download()`, + `FileReference.load()` and `FileReference.save()` functions are + nonblocking. These functions return after they are called, before the + file transmission is complete. In addition, if the FileReference + object goes out of scope, any transaction that is not yet completed on + that object is canceled upon leaving the scope. Be sure that your + FileReference object remains in scope for as long as the upload, + download, load or save is expected to continue. + + If the file finishes loading successfully, its contents are stored as + a byte array in the `data` property of the FileReference object. + + The following security considerations apply: + + * Loading operations are not allowed if the calling SWF file is in an + untrusted local sandbox. + * The default behavior is to deny access between sandboxes. A website + can enable access to a resource by adding a cross-domain policy file. + * You can prevent a file from using this method by setting the + `allowNetworking` parameter of the the `object` and `embed` tags in + the HTML page that contains the SWF content. + + However, these considerations do not apply to AIR content in the + application sandbox. + + Note that when publishing to Flash Player 10 or AIR 1.5, you can have + only one of the following operations active at one time: + `FileReference.browse()`, `FileReference.upload()`, + `FileReference.download()`, `FileReference.load()`, + `FileReference.save()`. Otherwise, the application throws a runtime + error (code 2174). Use `FileReference.cancel()` to stop an operation + in progress. This restriction applies only to Flash Player 10 and AIR + 1.5. Previous versions of Flash Player or AIR are unaffected by this + restriction on simultaneous multiple operations. + + In Adobe AIR, the file-browsing dialog is not always displayed in + front of windows that are "owned" by another window (windows that have + a non-null `owner` property). To avoid window ordering issues, hide + owned windows before calling this method. + + @throws IllegalOperationError Thrown in the following situations: 1) + Another FileReference or + FileReferenceList browse session is in + progress; only one file browsing session + may be performed at a time. 2) A setting + in the user's mms.cfg file prohibits + this operation. + @throws MemoryError This error can occur if the application + cannot allocate memory for the file. The + file may be too large or available + memory may be too low. + @event complete Dispatched when the file load operation completes + successfully. + @event ioError Invoked if the load fails because of an input/output + error while the application is reading or writing the + file. + @event open Dispatched when an load operation starts. + @event progress Dispatched periodically during the file load + operation. + + + + + + + + { defaultFileName : null } + | %` + If a File object calls this method, the + filename will be that of the file the File + object references. (The AIR File class extends + the FileReference class.) + @throws ArgumentError If `data` is not of type ByteArray, and + it does not have a `toString()` method, + an exception is thrown. If `data` is not + of type XML, and it does not have a + `toXMLString()` method, an exception is + thrown. + @throws Error If the method is not called in response + to a user action, such as a mouse event + or keypress event. + @throws IllegalOperationError Thrown in the following situations: 1) + Another browse session is in progress; + only one file browsing session can be + performed at a time. 2) The filename to + download contains prohibited characters. + 3) A setting in the user's mms.cfg file + prohibits this operation. + @throws MemoryError This error can occur if Flash Player + cannot allocate memory for the file. The + file may be too large or available + memory may be too low. + @event cancel Dispatched when the user dismisses the dialog box. + @event complete Dispatched when the file download operation + successfully completes. + @event ioError Dispatched if an input/output error occurs while the + file is being read or transmitted. + @event open Dispatched when a download operation starts. + @event progress Dispatched periodically during the file download + operation. + @event select Dispatched when the user selects a file for download + from the dialog box.]]> + + + + + + + + + { testUpload : false, uploadDataFieldName : "Filedata" } + Security. + + Note that because of new functionality added to the Flash Player, when + publishing to Flash Player 10, you can have only one of the following + operations active at one time: `FileReference.browse()`, + `FileReference.upload()`, `FileReference.download()`, + `FileReference.load()`, `FileReference.save()`. Otherwise, Flash + Player throws a runtime error (code 2174). Use + `FileReference.cancel()` to stop an operation in progress. This + restriction applies only to Flash Player 10. Previous versions of + Flash Player are unaffected by this restriction on simultaneous + multiple operations. + + @param request The URLRequest object; the `url` property + of the URLRequest object should contain the + URL of the server script configured to + handle upload through HTTP `POST` calls. On + some browsers, URL strings are limited in + length. Lengths greater than 256 characters + may fail on some browsers or servers. If + this parameter is `null`, an exception is + thrown. The `requestHeaders` property of + the URLRequest object is ignored; custom + HTTP request headers are not supported in + uploads or downloads. + The URL can be HTTP or, for secure uploads, + HTTPS. To use HTTPS, use an HTTPS url in + the `url` parameter. If you do not specify + a port number in the `url` parameter, port + 80 is used for HTTP and port 443 us used + for HTTPS, by default. + + To send `POST` or `GET` parameters to the + server, set the `data` property of the + URLRequest object to your parameters, and + set the `method` property to either + `URLRequestMethod.POST` or + `URLRequestMethod.GET`. + @param uploadDataFieldName The field name that precedes the file data + in the upload `POST` operation. The + `uploadDataFieldName` value must be + non-null and a non-empty String. By + default, the value of `uploadDataFieldName` + is `"Filedata"`, as shown in the following + sample `POST` request:
       Content-Type:
      +								   multipart/form-data; boundary=AaB03x
      +								   --AaB03x Content-Disposition: form-data;
      +								   name="Filedata"; filename="example.jpg"
      +								   Content-Type: application/octet-stream ...
      +								   contents of example.jpg ... --AaB03x--
      +								   
      + @param testUpload A setting to request a test file upload. If + `testUpload` is `true`, for files larger + than 10 KB, Flash Player attempts a test + file upload `POST` with a Content-Length of + 0. The test upload checks whether the + actual file upload will be successful and + that server authentication, if required, + will succeed. A test upload is only + available for Windows players. + @throws ArgumentError Thrown in the following situations: 1) + The `uploadDataFieldName` parameter is + an empty string. 2) `url.data` is of + type ByteArray. For use with the + `FileReference.upload()` and + `FileReference.download()` methods, + `url.data` may only be of type + URLVariables or String. 3) In the AIR + runtime (in the application security + sandbox), the method of the URLRequest + is not GET or POST (use + `uploadEncoded()` instead). + @throws IllegalOperationError Thrown in the following situations: 1) + Another FileReference or + FileReferenceList browse session is in + progress; only one file browsing session + may be performed at a time. 2) The URL + parameter is not a valid path or + protocol. File upload must use HTTP, and + file download must use FTP or HTTP. 3) + The `uploadDataFieldName` parameter is + set to `null`. 4) A setting in the + user's mms.cfg file prohibits this + operation. + @throws MemoryError This error can occur for the following + reasons: 1) Flash Player cannot convert + the `URLRequest.data` parameter from + UTF8 to MBCS. This error is applicable + if the URLRequest object passed to + `FileReference.upload()` is set to + perform a GET operation and if + `System.useCodePage` is set to `true`. + 2) Flash Player cannot allocate memory + for the `POST` data. This error is + applicable if the URLRequest object + passed to `FileReference.upload()` is + set to perform a `POST` operation. + @throws SecurityError Local untrusted SWF files may not + communicate with the Internet. To avoid + this situation, reclassify this SWF file + as local-with-networking or trusted. + This exception is thrown with a message + indicating the name of the local file + and the URL that may not be accessed. + @throws SecurityError You cannot connect to commonly reserved + ports. For a complete list of blocked + ports, see "Restricting Networking APIs" + in the _ActionScript 3.0 Developer's + Guide_. + @event complete Dispatched when the file upload operation + completes successfully. + @event httpResponseStatus The upload operation completes successfully + and the server returns a response URL and + response headers. + @event httpStatus Dispatched when an upload fails because of + an HTTP error. + @event ioError Invoked in any of the following situations: + * The upload fails because of an + input/output error while Flash Player or + Adobe AIR is reading, writing, or + transmitting the file. + * The upload fails because an attempt to + upload a file to a server that requires + authentication (such as a user name and + password). During upload, no mean is + provided for users to enter passwords. + * The upload fails because the `url` + parameter contains an invalid protocol. + `FileReference.upload()` must use HTTP or + HTTPS. + @event open Dispatched when an upload operation starts. + @event progress Dispatched periodically during the file + upload operation. + @event securityError Dispatched when an upload fails because of a + security violation. + @event uploadCompleteData Dispatched when data has been received from + the server after a successful file upload.]]>
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new FileReference object. When populated, a FileReference + object represents a file on the user's local disk. + + ?/sup> Player browser plug-in, but + uploading (on all players) and downloading (on the stand-alone or external + player) fails. Listen for FileReference events to determine whether + operations complete successfully and to handle errors. + + For content running in Flash Player or for content running in Adobe AIR + outside of the application security sandbox, uploading and downloading + operations can access files only within its own domain and within any + domains that a URL policy file specifies. Put a policy file on the file + server if the content initiating the upload or download doesn't come from + the same domain as the file server. + + Note that because of new functionality added to the Flash Player, when + publishing to Flash Player 10, you can have only one of the following + operations active at one time: `FileReference.browse()`, + `FileReference.upload()`, `FileReference.download()`, + `FileReference.load()`, `FileReference.save()`. Otherwise, Flash Player + throws a runtime error (code 2174). Use `FileReference.cancel()` to stop + an operation in progress. This restriction applies only to Flash Player + 10. Previous versions of Flash Player are unaffected by this restriction + on simultaneous multiple operations. + + While calls to the `FileReference.browse()`, `FileReferenceList.browse()`, + or `FileReference.download()` methods are executing, SWF file playback + pauses in stand-alone and external versions of Flash Player and in AIR for + Linux and Mac OS X 10.1 and earlier + + The following sample HTTP `POST` request is sent from Flash Player to a + server-side script if no parameters are specified: + + ``` + POST /handler.cfm HTTP/1.1 + Accept: text/* + Content-Type: multipart/form-data; + boundary=----------Ij5ae0ae0KM7GI3KM7 + User-Agent: Shockwave Flash + Host: www.example.com + Content-Length: 421 + Connection: Keep-Alive + Cache-Control: no-cache + + ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 + Content-Disposition: form-data; name="Filename" + + MyFile.jpg + ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 + Content-Disposition: form-data; name="Filedata"; filename="MyFile.jpg" + Content-Type: application/octet-stream + + FileDataHere + ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 + Content-Disposition: form-data; name="Upload" + + Submit Query + ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7-- + ``` + + Flash Player sends the following HTTP `POST` request if the user specifies + the parameters `"api_sig"`, `"api_key"`, and `"auth_token"`: + + ``` + POST /handler.cfm HTTP/1.1 + Accept: text/* + Content-Type: multipart/form-data; + boundary=----------Ij5ae0ae0KM7GI3KM7 + User-Agent: Shockwave Flash + Host: www.example.com + Content-Length: 421 + Connection: Keep-Alive + Cache-Control: no-cache + + ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 + Content-Disposition: form-data; name="Filename" + + MyFile.jpg + ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 + Content-Disposition: form-data; name="api_sig" + + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 + Content-Disposition: form-data; name="api_key" + + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 + Content-Disposition: form-data; name="auth_token" + + XXXXXXXXXXXXXXXXXXXXXX + ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 + Content-Disposition: form-data; name="Filedata"; filename="MyFile.jpg" + Content-Type: application/octet-stream + + FileDataHere + ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 + Content-Disposition: form-data; name="Upload" + + Submit Query + ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7-- + ``` + + @event cancel Dispatched when a file upload or download is + canceled through the file-browsing dialog box by + the user. Flash Player does not dispatch this + event if the user cancels an upload or download + through other means (closing the browser or + stopping the current application). + @event complete Dispatched when download is complete or when + upload generates an HTTP status code of 200. For + file download, this event is dispatched when + Flash Player or Adobe AIR finishes downloading + the entire file to disk. For file upload, this + event is dispatched after the Flash Player or + Adobe AIR receives an HTTP status code of 200 + from the server receiving the transmission. + @event httpResponseStatus Dispatched if a call to the `upload()` or + `uploadUnencoded()` method attempts to access + data over HTTP and Adobe AIR is able to detect + and return the status code for the request. + @event httpStatus Dispatched when an upload fails and an HTTP + status code is available to describe the + failure. The `httpStatus` event is dispatched, + followed by an `ioError` event. + The `httpStatus` event is dispatched only for + upload failures. For content running in Flash + Player this event is not applicable for download + failures. If a download fails because of an HTTP + error, the error is reported as an I/O error. + @event ioError Dispatched when the upload or download fails. A + file transfer can fail for one of the following + reasons: + * An input/output error occurs while the player + is reading, writing, or transmitting the file. + * The SWF file tries to upload a file to a + server that requires authentication (such as a + user name and password). During upload, Flash + Player or Adobe AIR does not provide a means for + users to enter passwords. If a SWF file tries to + upload a file to a server that requires + authentication, the upload fails. + * The SWF file tries to download a file from a + server that requires authentication, within the + stand-alone or external player. During download, + the stand-alone and external players do not + provide a means for users to enter passwords. If + a SWF file in these players tries to download a + file from a server that requires authentication, + the download fails. File download can succeed + only in the ActiveX control, browser plug-in + players, and the Adobe AIR runtime. + * The value passed to the `url` parameter in the + `upload()` method contains an invalid protocol. + Valid protocols are HTTP and HTTPS. + + **Important:** Only applications running in a + browser ?that is, using the browser plug-in + or ActiveX control ?and content running in + Adobe AIR can provide a dialog box to prompt the + user to enter a user name and password for + authentication, and then only for downloads. For + uploads using the plug-in or ActiveX control + version of Flash Player, or for upload or + download using either the stand-alone or the + external player, the file transfer fails. + @event open Dispatched when an upload or download operation + starts. + @event progress Dispatched periodically during the file upload + or download operation. The `progress` event is + dispatched while Flash Player transmits bytes to + a server, and it is periodically dispatched + during the transmission, even if the + transmission is ultimately not successful. To + determine if and when the file transmission is + actually successful and complete, listen for the + `complete` event. + In some cases, `progress` events are not + received. For example, when the file being + transmitted is very small or the upload or + download happens very quickly a `progress` event + might not be dispatched. + + File upload progress cannot be determined on + Macintosh platforms earlier than OS X 10.3. The + `progress` event is called during the upload + operation, but the value of the `bytesLoaded` + property of the progress event is -1, indicating + that the progress cannot be determined. + @event securityError Dispatched when a call to the + `FileReference.upload()` or + `FileReference.download()` method tries to + upload a file to a server or get a file from a + server that is outside the caller's security + sandbox. The value of the text property that + describes the specific error that occurred is + normally `"securitySandboxError"`. The calling + SWF file may have tried to access a SWF file + outside its domain and does not have permission + to do so. You can try to remedy this error by + using a URL policy file. + In Adobe AIR, these security restrictions do not + apply to content in the application security + sandbox. + + In Adobe AIR, these security restrictions do not + apply to content in the application security + sandbox. + @event select Dispatched when the user selects a file for + upload or download from the file-browsing dialog + box. (This dialog box opens when you call the + `FileReference.browse()`, + `FileReferenceList.browse()`, or + `FileReference.download()` method.) When the + user selects a file and confirms the operation + (for example, by clicking OK), the properties of + the FileReference object are populated. + For content running in Flash Player or outside + of the application security sandbox in the Adobe + AIR runtime, the `select` event acts slightly + differently depending on what method invokes it. + When the `select` event is dispatched after a + `browse()` call, Flash Player or the AIR + application can read all the FileReference + object's properties, because the file selected + by the user is on the local file system. When + the `select` event occurs after a `download()` + call, Flash Player or the AIR application can + read only the `name` property, because the file + hasn't yet been downloaded to the local file + system at the moment the `select` event is + dispatched. When the file is downloaded and the + `complete` event dispatched, Flash Player or the + AIR application can read all other properties of + the FileReference object. + @event uploadCompleteData Dispatched after data is received from the + server after a successful upload. This event is + not dispatched if data is not returned from the + server.]]> + + + "tags=\"haxe,release\"" + + +
      + + + + + + "NetConnection.Connect.Success" + "checkstyle:FieldDocComment" + + hide + + + + + + + + + + + + + { p5 : null, p4 : null, p3 : null, p2 : null, p1 : null } + Flash Remoting documentation. + * Pass an "rtmp/e/s" URL to connect to a Flash Media Server + application. + * Pass an "rtmfp" URL to create a two-way network endpoint for RTMFP + client-server, peer-to-peer, and IP multicast communication. + * Pass the string "rtmfp:" to create a serverless two-way network + endpoint for RTMFP IP multicast communication. + + Consider the following security model: + + * By default, Flash Player or AIR denies access between sandboxes. A + website can enable access to a resource by using a URL policy file. + * Your application can deny access to a resource on the server. In a + Flash Media Server application, use Server-Side ActionScript code to + deny access. See the Flash Media Server documentation. + * You cannot call `NetConnection.connect()` if the calling file is in + the local-with-file-system sandbox. + * You cannot connect to commonly reserved ports. For a complete list + of blocked ports, see "Restricting Networking APIs" in the + _ActionScript 3.0 Developer's Guide_. + * To prevent a SWF file from calling this method, set the + `allowNetworking` parameter of the the `object` and `embed` tags in + the HTML page that contains the SWF content. + + However, in Adobe AIR, content in the `application` security sandbox + (content installed with the AIR application) are not restricted by + these security limitations. + + For more information about security, see the Adobe Flash Player + Developer Center: Security. + + @param command Use one of the following values for the `command` + parameter: + * To play video and mp3 files from a local file system + or from a web server, pass `null`. + * To connect to an application server running Flash + Remoting, pass a URL that uses the `http` protocol. + * (Flash Player 10.1 or AIR 2 or later) To create a + serverless network endpoint for RTMFP IP multicast + communication, pass the string `"rtmfp:"`. Use this + connection type to receive an IP multicast stream from + a publisher without using a server. You can also use + this connection type to use IP multicast to discover + peers on the same local area network (LAN). + This connection type has the following limitations: + Only peers on the same LAN can discover each other. + Using IP multicast, Flash Player can receive streams, + it cannot send them. + Flash Player and AIR can send and receive streams in a + peer-to-peer group, but the peers must be discovered on + the same LAN using IP multicast. + This technique cannot be used for one-to-one + communication. +

      + * To connect to Flash Media Server, pass the URI of the + application on the server. Use the following syntax + (items in brackets are optional): + `protocol:[//host][:port]/appname[/instanceName]` + + Use one of the following protocols: `rtmp`, `rtmpe`, + `rtmps`, `rtmpt`, `rtmpte`, or `rtmfp`. If the + connection is successful, a `netStatus` event with a + `code` property of `NetConnection.Connect.Success` is + returned. See the `NetStatusEvent.info` property for a + list of all event codes returned in response to calling + `connect()`. + + If the file is served from the same host where the + server is installed, you can omit the `//host` + parameter. If you omit the `/instanceName` parameter, + Flash Player or AIR connects to the application's + default instance. + + (Flash Player 10.1 or AIR 2 or later)To create + peer-to-peer applications, use the `rtmfp` protocol. + @throws ArgumentError The URI passed to the `command` parameter is + improperly formatted. + @throws IOError The connection failed. This can happen if you + call `connect()` from within a `netStatus` event + handler, which is not allowed. + @throws SecurityError Local-with-filesystem SWF files cannot + communicate with the Internet. You can avoid + this problem by reclassifying the SWF file as + local-with-networking or trusted. + @throws SecurityError You cannot connect to commonly reserved ports. + For a complete list of blocked ports, see + "Restricting Networking APIs" in the + _ActionScript 3.0 Developer's Guide_.]]> + + + + Creates a NetConnection object. Call the `connect()` method to make a + connection. + If an application needs to communicate with servers released prior to + Flash Player 9, set the NetConnection object's `objectEncoding` + property. + + The following code creates a NetConnection object: + + ```haxe + var nc = new NetConnection(); + ``` + + Adobe + Stratus service. Call `NetConnection.connect()` to establish the + connection. Use the NetStream class to send streams of media and data over + the connection. + For security information about loading content and data into Flash Player + and AIR, see the following: + + * To load content and data into Flash Player from a web server or from a + local location, see Flash Player Developer Center: Security. + * To load content and data into Flash Player and AIR from Flash Media + Server, see the Flash Media Server documentation. + * To load content and data into AIR, see the Adobe AIR + Developer Center. + + To write callback methods for this class, extend the class and define the + callback methods in the subclass, or assign the `client` property to an + object and define the callback methods on that object. + + @event asyncError Dispatched when an exception is thrown asynchronously + נthat is, from native asynchronous code. + @event ioError Dispatched when an input or output error occurs that + causes a network operation to fail. + @event netStatus Dispatched when a NetConnection object is reporting + its status or error condition. The `netStatus` event + contains an `info` property, which is an information + object that contains specific information about the + event, such as whether a connection attempt succeeded + or failed. + @event securityError Dispatched if a call to NetConnection.call() attempts + to connect to a server outside the caller's security + sandbox.]]> + + "tags=\"haxe,release\"" + + + + + + + + + hide + + "checkstyle:FieldDocComment" + + + + + The number of seconds of data currently in the buffer. You can use + this property with the `bufferTime` property to estimate how close the + buffer is to being full נfor example, to display feedback to a user + who is waiting for data to be loaded into the buffer. + + + + http://www.adobe.com/go/learn_fms_smartpause_en. + + **Flash Media Server**. The buffer behavior depends on whether the + buffer time is set on a publishing stream or a subscribing stream. For + a publishing stream, `bufferTime` specifies how long the outgoing + buffer can grow before the application starts dropping frames. On a + high-speed connection, buffer time is not a concern; data is sent + almost as quickly as the application can buffer it. On a slow + connection, however, there can be a significant difference between how + fast the application buffers the data and how fast it is sent to the + client. + + For a subscribing stream, `bufferTime` specifies how long to buffer + incoming data before starting to display the stream. + + When a recorded stream is played, if `bufferTime` is 0, Flash sets it + to a small value (approximately 10 milliseconds). If live streams are + later played (for example, from a playlist), this buffer time + persists. That is, `bufferTime` remains nonzero for the stream.]]> + + + + The number of bytes of data that have been loaded into the + application. You can use this property with the `bytesTotal` property + to estimate how close the buffer is to being full נfor example, to + display feedback to a user who is waiting for data to be loaded into + the buffer. + + + + The total size in bytes of the file being loaded into the application. + + + + ` tags. + + If you set `checkPolicyFile` to `true`, the application waits until + the policy file is verified before downloading the video. Wait to + perform any pixel-level operations on the video data, such as calling + `BitmapData.draw()`, until you receive `onMetaData` or `NetStatus` + events from your NetStream object. + + If you set `checkPolicyFile` to `true` but no relevant policy file is + found, you won't receive an error until you perform an operation that + requires a policy file, and then the application throws a + SecurityError exception. + + Be careful with `checkPolicyFile` if you are downloading a file from a + URL that uses server-side HTTP redirects. The application tries to + retrieve policy files that correspond to the initial URL that you + specify in `NetStream.play()`. If the final file comes from a + different URL because of HTTP redirects, the initially downloaded + policy files might not be applicable to the file's final URL, which is + the URL that matters in security decisions. + + For more information on policy files, see "Website controls (policy + files)" in the _ActionScript 3.0 Developer's Guide_ and the Flash + Player Developer Center Topic: Security.]]> + + + + Specifies the object on which callback methods are invoked to handle + streaming or F4V/FLV file data. The default object is `this`, the + NetStream object being created. If you set the `client` property to + another object, callback methods are invoked on that other object. The + `NetStream.client ` object can call the following functions and + receive an associated data object: `onCuePoint()`, `onImageData()`, + `onMetaData()`, `onPlayStatus()`, `onSeekPoint()`, `onTextData()`, and + `onXMPData()`. + **To associate the `client` property with an event handler:** + + 1. Create an object and assign it to the `client` property of the + NetStream object: + ```as3 + var customClient = new Object(); + my_netstream.client = customClient; + ``` + 2. Assign a handler function for the desired data event as a property + of the client object: + ```haxe + customClient.onImageData = onImageDataHandler; + ``` + 3. Write the handler function to receive the data event object, such + as: + ```as3 + public function onImageDataHandler(imageData:Object):void { + trace("imageData length: " + imageData.data.length); + } + ``` + + When data is passed through the stream or during playback, the data + event object (in this case the `imageData` object) is populated with + the data. See the `onImageData` description, which includes a full + example of an object assigned to the `client` property. + + **To associate the `client` property with a subclass:** + + 1. Create a subclass with a handler function to receive the data event + object: + ```as3 + class CustomClient { + public function onMetaData(info:Object):void { + trace("metadata: duration=" + info.duration + " framerate=" + info.framerate); + } + ``` + 2. Assign an instance of the subclass to the `client` property of the + NetStream object: + ```as3 + my_netstream.client = new CustomClient(); + ``` + + When data is passed through the stream or during playback, the data + event object (in this case the `info` object) is populated with the + data. See the class example at the end of the NetStream class, which + shows the assignment of a subclass instance to the `client` property. + + @throws TypeError The `client` property must be set to a non-null + object. + + + + The number of frames per second being displayed. If you are exporting + video files to be played back on a number of systems, you can check + this value during testing to help you determine how much compression + to apply when exporting the file. + + + + + hide + + "checkstyle:FieldDocComment" + + + + + The number of seconds of data in the subscribing stream's buffer in + live (unbuffered) mode. This property specifies the current network + transmission delay (lag time). + This property is intended primarily for use with a server such as + Flash Media Server; for more information, see the class description. + + You can get the value of this property to roughly gauge the + transmission quality of the stream and communicate it to the user. + + + + The object encoding (AMF version) for this NetStream object. The + NetStream object inherits its `objectEncoding` value from the + associated NetConnection object. It's important to understand this + property if your ActionScript 3.0 SWF file needs to communicate with + servers released prior to Flash Player 9. For more information, see + the `objectEncoding` property description in the NetConnection class. + The value of this property depends on whether the stream is local or + remote. Local streams, where `null` was passed to the + `NetConnection.connect()` method, return the value of + `NetConnection.defaultObjectEncoding`. Remote streams, where you are + connecting to a server, return the object encoding of the connection + to the server. + + If you try to read this property when not connected, or if you try to + change this property, the application throws an exception. + + + + Controls sound in this NetStream object. For more information, see the + SoundTransform class. + + + + + hide + + "checkstyle:FieldDocComment" + + + + + <__closed> + + + + <__connection> + + + + <__soundTransform> + + + + <__timer> + + + + + + Stops playing all data on the stream, sets the `time` property to 0, + and makes the stream available for another use. This method also + deletes the local copy of a video file that was downloaded through + HTTP. Although the application deletes the local copy of the file that + it creates, a copy might persist in the cache directory. If you must + completely prevent caching or local storage of the video file, use + Flash Media Server. + When using Flash Media Server, this method is invoked implicitly when + you call `NetStream.play()` from a publishing stream or + `NetStream.publish()` from a subscribing stream. Please note that: + + * If `close()` is called from a publishing stream, the stream stops + publishing and the publisher can now use the stream for another + purpose. Subscribers no longer receive anything that was being + published on the stream, because the stream has stopped publishing. + * If `close()` is called from a subscribing stream, the stream stops + playing for the subscriber, and the subscriber can use the stream for + another purpose. Other subscribers are not affected. + * You can stop a subscribing stream from playing, without closing the + stream or changing the stream type by using + `openfl.net.NetStream.play(false)`. + + + + Releases all the resources held by the NetStream object. + + The `dispose()` method is similar to the `close` method. The main difference + between the two methods is that `dispose()` releases the memory used to display + the current video frame. If that frame is currently displayed on screen, the + display will go blank. The `close()` method does not blank the display because it + does not release this memory. + + + + Pauses playback of a video stream. Calling this method does nothing if + the video is already paused. To resume play after pausing a video, + call `resume()`. To toggle between pause and play (first pausing the + video, then resuming), call `togglePause()`. + Starting with Flash Player 9.0.115.0, Flash Player no longer clears + the buffer when `NetStream.pause()` is called. This behavior is called + "smart pause". Before Flash Player 9.0.115.0, Flash Player waited for + the buffer to fill up before resuming playback, which often caused a + delay. + + **Note:** For backwards compatibility, the `"NetStream.Buffer.Flush"` + event (see the `NetStatusEvent.info` property) still fires, although + the server does not flush the buffer. + + For a single pause, the `NetStream.bufferLength` property has a limit + of either 60 seconds or twice the value of `NetStream.bufferTime`, + whichever value is higher. For example, if `bufferTime` is 20 seconds, + Flash Player buffers until `NetStream.bufferLength` is the higher + value of either 20~~2 (40), or 60, so in this case it buffers until + `bufferLength` is 60. If `bufferTime` is 40 seconds, Flash Player + buffers until `bufferLength` is the higher value of 40~~2 (80), or 60, + so in this case it buffers until `bufferLength` is 80 seconds. + + The `bufferLength` property also has an absolute limit. If any call to + `pause()` causes `bufferLength` to increase more than 600 seconds or + the value of `bufferTime` ~~ 2, whichever is higher, Flash Player + flushes the buffer and resets `bufferLength` to 0. For example, if + `bufferTime` is 120 seconds, Flash Player flushes the buffer if + `bufferLength` reaches 600 seconds; if `bufferTime` is 360 seconds, + Flash Player flushes the buffer if `bufferLength` reaches 720 seconds. + + **Tip**: You can use `NetStream.pause()` in code to buffer data while + viewers are watching a commercial, for example, and then unpause when + the main video starts. + + + + + + + + + + + + { p5 : null, p4 : null, p3 : null, p2 : null, p1 : null } + Flash Media Server documentation + * Exploring Flash Player support for high-definition + H.264 video and AAC audio + * FLV/F4V open specification documents + + **Workflow for playing a file or live stream** + + 1. Create a NetConnection object and call `NetConnection.connect()`. + To play a file from a local directory or web server, pass null. + + To play a recorded file or live stream from Flash Media Server, pass + the URI of a Flash Media Server application. + 2. Call `NetConnection.addEventListener(NetStatusEvent.NET_STATUS, + netStatusHandler)` to listen for NetStatusEvent events. + 3. On `"NetConnection.Connect.Success"`, create a NetStream object and + pass the NetConnection object to the constructor. + 4. Create a Video object and call `Video.attachNetStream()` and pass + the NetStream object. + 5. Call `NetStream.play()`. + To play a live stream, pass the stream name passed to the + `NetStream.publish()` method. + + To play a recorded file, pass the file name. + 6. Call `addChild()` and pass the Video object to display the video. + + **Note:**To see sample code, scroll to the example at the bottom of + this page. + + **Enable Data Generation Mode** + + Call `play(null)` to enable "Data Generation Mode". In this mode, call + the `appendBytes()` method to deliver data to the NetStream. Use Data + Generation Mode to stream content over HTTP from the Adobe HTTP + Dynamic Streaming Origin Module on an Apache HTTP Server. HTTP Dynamic + Streaming lets clients seek quickly to any point in a file. The Open + Source Media Framework (OSMF) supports HTTP Dynamic Streaming for vod + and live streams. For examples of how to use NetStream Data Generation + Mode, download the OSMF source. For more information about HTTP + Dynamic Streaming, see HTTP + Dynamic Streaming. + + When you use this method without Flash Media Server, there are + security considerations. A file in the local-trusted or + local-with-networking sandbox can load and play a video file from the + remote sandbox, but cannot access the remote file's data without + explicit permission in the form of a URL policy file. Also, you can + prevent a SWF file running in Flash Player from using this method by + setting the `allowNetworking` parameter of the the `object` and + `embed` tags in the HTML page that contains the SWF content. For more + information related to security, see the Flash Player Developer Center + Topic: Security. + + @throws ArgumentError At least one parameter must be specified. + @throws Error The NetStream Object is invalid. This may be due + to a failed NetConnection. + @throws SecurityError Local untrusted SWF files cannot communicate + with the Internet. You can work around this + restriction by reclassifying this SWF file as + local-with-networking or trusted. + @event status Dispatched when attempting to play content encrypted + with digital rights management (DRM). The value of the + `code` property is `"DRM.encryptedFLV"`.]]> + + + + + hide + + "checkstyle:FieldDocComment" + + + + + Resumes playback of a video stream that is paused. If the video is + already playing, calling this method does nothing. + + + + + + + ` + is set to `true` in the Application.xml configuration + file (which it is by default), the server generates a + keyframe at `offset`. + * To return to the beginning of the stream, pass 0 for + `offset`. + * To seek forward from the beginning of the stream, pass + the number of seconds to advance. For example, to + position the playhead at 15 seconds from the beginning + (or the keyframe before 15 seconds), use + `myStream.seek(15)`. + * To seek relative to the current position, pass + `NetStream.time + n` or `NetStream.time - n` to seek `n` + seconds forward or backward, respectively, from the + current position. For example, to rewind 20 seconds from + the current position, use `NetStream.seek(NetStream.time + - 20).`]]> + + + + Pauses or resumes playback of a stream. The first time you call this + method, it pauses play; the next time, it resumes play. You could use + this method to let users pause or resume playback by pressing a single + button. + + <__dispatchStatus set="method" line="2122"> + + + + + + + <__playStatus set="method" line="2129"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { peerID : null } + Creates a stream that you can use to play media files and send data + over a NetConnection object. + + @param connection A NetConnection object. + @param peerID This optional parameter is available in Flash Player + 10 and later, for use with RTMFP connections. (If + the value of the `NetConnection.protocol` property + is not `"rtmfp"`, this parameter is ignored.) Use + one of the following values: + * To connect to Flash Media Server, specify + `NetStream.CONNECT_TO_FMS`. + * To publish directly to peers, specify + `NetStream.DIRECT_CONNECTIONS`. + * To play directly from a specific peer, specify + that peer's identity (see `NetConnection.nearID` and + `NetStream.farID`). + * (Flash Player 10.1 or AIR 2 or later) To publish + or play a stream in a peer-to-peer multicast group, + specify a `groupspec` string (see the GroupSpecifier + class). + + In most cases, a `groupspec` has the potential to + use the network uplink on the local system. In this + case, the user is asked for permission to use the + computer's network resources. If the user allows + this use, a `NetStream.Connect.Success` + NetStatusEvent is sent to the NetConnection's event + listener. If the user denies permission, a + `NetStream.Connect.Rejected` event is sent. When + specifying a `groupspec`, until a + `NetStream.Connect.Success` event is received, it is + an error to use any method of the NetStream object, + and an exception is raised. + + If you include this parameter in your constructor + statement but pass a value of `null`, the value is + set to `"connectToFMS"`. + @throws ArgumentError The NetConnection instance is not connected. + + Flash Media Server documentation + * Exploring Flash Player support for high-definition H.264 + video and AAC audio + * FLV/F4V open specification documents + + **Receiving data from a Flash Media Server stream, progressive F4V file, + or progressive FLV file** + + Flash Media Server, F4V files, and FLV files can send event objects + containing data at specific data points during streaming or playback. You + can handle data from a stream or FLV file during playback in two ways: + + * Associate a client property with an event handler to receive the data + object. Use the `NetStream.client` property to assign an object to call + specific data handling functions. The object assigned to the + `NetStream.client` property can listen for the following data points: + `onCuePoint()`, `onImageData()`, `onMetaData()`, `onPlayStatus()`, + `onSeekPoint()`, `onTextData()`, and `onXMPData()`. Write procedures + within those functions to handle the data object returned from the stream + during playback. See the `NetStream.client` property for more information. + + * Associate a client property with a subclass of the NetStream class, + then write an event handler to receive the data object. NetStream is a + sealed class, which means that properties or methods cannot be added to a + NetStream object at runtime. However, you can create a subclass of + NetStream and define your event handler in the subclass. You can also make + the subclass dynamic and add the event handler to an instance of the + subclass. + + Wait to receive a `NetGroup.Neighbor.Connect` event before you use the + object replication, direct routing, or posting APIs. + + **Note:** To send data through an audio file, like an mp3 file, use the + Sound class to associate the audio file with a Sound object. Then, use the + `Sound.id3` property to read metadata from the sound file. + + @event asyncError Dispatched when an exception is thrown + asynchronously נthat is, from native + asynchronous code. This event is dispatched when a + server calls a method on the client that is not + defined. + @event drmAuthenticate Dispatched when a NetStream object tries to play a + digital rights management (DRM) encrypted content + that requires a user credential for authentication + before playing. + Use the ` setDRMAuthenticationCredentials()` + method of the NetStream object to authenticate the + user. If user authentication failed, the + application retries authentication and dispatches + a new DRMAuthenticateEvent event for the NetStream + object. + @event drmError Dispatched when a NetStream object, trying to play + a digital rights management (DRM) encrypted file, + encounters a DRM-related error. For example, a + DRMErrorEvent object is dispatched when the user + authorization fails. This may be because the user + has not purchased the rights to view the content + or because the content provider does not support + the viewing application. + @event drmStatus Dispatched when the digital rights management + (DRM) encrypted content begins playing (when the + user is authenticated and authorized to play the + content). + DRMStatusEvent object contains information related + to the voucher, such as whether the content is + available offline or when the voucher expires and + users can no longer view the content. + @event ioError Dispatched when an input or output error occurs + that causes a network operation to fail. + @event mediaTypeData Dispatched when playing video content and certain + type of messages are processed. + A NetDataEvent is dispatched for the following + messages: + + * onCuePoint + * onImageData + * onMetaData + * onPlayStatus (for code NetStream.Play.Complete) + * onTextData + * onXMPData + + **Note:** This event is not dispatched by content + running in Flash Player in the browser on Android + or Blackberry Tablet OS or by content running in + AIR on iOS. + @event netStatus Dispatched when a NetStream object is reporting + its status or error condition. The `netStatus` + event contains an `info` property, which is an + information object that contains specific + information about the event, such as if a + connection attempt succeeded or failed. + @event onCuePoint Establishes a listener to respond when an embedded + cue point is reached while playing a video file. + You can use the listener to trigger actions in + your code when the video reaches a specific cue + point, which lets you synchronize other actions in + your application with video playback events. For + information about video file formats supported by + Flash Media Server, see the www.adobe.com/go/learn_fms_fileformats_en. + + `onCuePoint` is actually a property of the + `NetStream.client` object. IThe property is listed + in the Events section because it responds to a + data event, either when streaming media using + Flash Media Server or during FLV file playback. + For more information, see the NetStream class + description. You cannot use the + `addEventListener()` method, or any other + EventDispatcher methods, to listen for, or process + `onCuePoint` as an event. Define a callback + function and attach it to one of the following + objects: + + * The object that the `client` property of a + NetStream instance references. + * An instance of a NetStream subclass. NetStream + is a sealed class, which means that properties or + methods cannot be added to a NetStream object at + runtime. Create a subclass of NetStream and define + your event handler in the subclass. You can also + make the subclass dynamic and add the event + handler function to an instance of the subclass. + + The associated event listener is triggered after a + call to the `NetStream.play()` method, but before + the video playhead has advanced. + + You can embed the following types of cue points in + a video file: + + * A navigation cue point specifies a keyframe + within the video file and the cue point's `time` + property corresponds to that exact keyframe. + Navigation cue points are often used as bookmarks + or entry points to let users navigate through the + video file. + * An event cue point specifies a time. The time + may or may not correspond to a specific keyframe. + An event cue point usually represents a time in + the video when something happens that could be + used to trigger other application events. + + The `onCuePoint` event object has the following + properties: + + | Property | Description | + | --- | --- | + | `name` | The name given to the cue point when it was embedded in the video file. | + |`parameters` | An associative array of name and value pair strings specified for this cue point. Any valid string can be used for the parameter name or value. | + |`time` | The time in seconds at which the cue point occurred in the video file during playback. | + |`type` | The type of cue point that was reached, either navigation or event. | + + You can define cue points in a video file when you + first encode the file, or when you import a video + clip in the Flash authoring tool by using the + Video Import wizard. + + The `onMetaData` event also retrieves information + about the cue points in a video file. However the + `onMetaData` event gets information about all of + the cue points before the video begins playing. + The `onCuePoint` event receives information about + a single cue point at the time specified for that + cue point during playback. + + Generally, to have your code respond to a specific + cue point at the time it occurs, use the + `onCuePoint` event to trigger some action in your + code. + + You can use the list of cue points provided to the + `onMetaData` event to let the user start playing + the video at predefined points along the video + stream. Pass the value of the cue point's `time` + property to the `NetStream.seek()` method to play + the video from that cue point. + @event onDRMContentData Establishes a listener to respond when AIR + extracts DRM content metadata embedded in a media + file. + A DRMContentData object contains the information + needed to obtain a voucher required to play a + DRM-protected media file. Use the DRMManager class + to download the voucher with this information. + + `onDRMContentData` is a property of the + `NetStream.client` object. This property is listed + in the Events section because it responds to a + data event when preloading embedded data from a + local media file. For more information, see the + NetStream class description. You cannot use the + `addEventListener()` method, or any other + EventDispatcher methods, to listen for, or process + `onDRMContentData` as an event. Rather, you must + define a single callback function and attach it + directly to one of the following objects: + + * The object that the `client` property of a + NetStream instance references. + * An instance of a NetStream subclass. NetStream + is a sealed class, which means that properties or + methods cannot be added to a NetStream object at + runtime. However, you can create a subclass of + NetStream and define your event handler in the + subclass or make the subclass dynamic and add the + event handler function to an instance of the + subclass. + @event onImageData Establishes a listener to respond when Flash + Player receives image data as a byte array + embedded in a media file that is playing. The + image data can produce either JPEG, PNG, or GIF + content. Use the + `openfl.display.Loader.loadBytes()` method to load + the byte array into a display object. + `onImageData` is actually a property of the + `NetStream.client` object. The property is listed + in the Events section because it responds to a + data event, either when streaming media using + Flash Media Server or during FLV file playback. + For more information, see the NetStream class + description. You cannot use the + `addEventListener()` method, or any other + EventDispatcher methods, to listen for, or process + `onImageData` as an event. Define a single + callback function and attach it to one of the + following objects: + + * The object that the `client` property of a + NetStream instance references. + * An instance of a NetStream subclass. NetStream + is a sealed class, which means that properties or + methods cannot be added to a NetStream object at + runtime. Create a subclass of NetStream and define + your event handler in the subclass. You can also + make the subclass dynamic and add the event + handler function to an instance of the subclass. + + The associated event listener is triggered after a + call to the `NetStream.play()` method, but before + the video playhead has advanced. + + The onImageData event object contains the image + data as a byte array sent through an AMF0 data + channel. + @event onMetaData Establishes a listener to respond when Flash + Player receives descriptive information embedded + in the video being played. For information about + video file formats supported by Flash Media + Server, see the www.adobe.com/go/learn_fms_fileformats_en. + + `onMetaData` is actually a property of the + `NetStream.client` object. The property is listed + in the Events section because it responds to a + data event, either when streaming media using + Flash Media Server or during FLV file playback. + For more information, see the NetStream class + description and the `NetStream.client` property. + You cannot use the `addEventListener()` method, or + any other EventDispatcher methods, to listen for + or process `onMetaData` as an event. Define a + single callback function and attach it to one of + the following objects: + + * The object that the `client` property of a + NetStream instance references. + * An instance of a NetStream subclass. NetStream + is a sealed class, which means that properties or + methods cannot be added to a NetStream object at + runtime. You can create a subclass of NetStream + and define your event handler in the subclass. You + can also make the subclass dynamic and add the + event handler function to an instance of the + subclass. + + The Flash Video Exporter utility (version 1.1 or + later) embeds a video's duration, creation date, + data rates, and other information into the video + file itself. Different video encoders embed + different sets of meta data. + + The associated event listener is triggered after a + call to the `NetStream.play()` method, but before + the video playhead has advanced. + + In many cases, the duration value embedded in + stream metadata approximates the actual duration + but is not exact. In other words, it does not + always match the value of the `NetStream.time` + property when the playhead is at the end of the + video stream. + + The event object passed to the onMetaData event + handler contains one property for each piece of + data. + @event onPlayStatus Establishes a listener to respond when a NetStream + object has completely played a stream. The + associated event object provides information in + addition to what's returned by the `netStatus` + event. You can use this property to trigger + actions in your code when a NetStream object has + switched from one stream to another stream in a + playlist (as indicated by the information object + `NetStream.Play.Switch`) or when a NetStream + object has played to the end (as indicated by the + information object `NetStream.Play.Complete`). + `onPlayStaus` is actually a property of the + `NetStream.client` object. The property is listed + in the Events section because it responds to a + data event, either when streaming media using + Flash Media Server or during FLV file playback. + For more information, see the NetStream class + description. You cannot use the + `addEventListener()` method, or any other + EventDispatcher methods, to listen for, or process + `onPlayStatus` as an event. Define a callback + function and attach it to one of the following + objects: + + * The object that the `client` property of a + NetStream instance references. + * An instance of a NetStream subclass. NetStream + is a sealed class, which means that properties or + methods cannot be added to a NetStream object at + runtime. Create a subclass of NetStream and define + your event handler in the subclass. You can also + make the subclass dynamic and add the event + handler function to an instance of the subclass. + + This event can return an information object with + the following properties: + + | Code property | Level property | Meaning | + | --- | --- | --- | + | `NetStream.Play.Switch` | `"status"` | The subscriber is switching from one stream to another in a playlist. | + | `NetStream.Play.Complete` | `"status"` | Playback has completed. | + | `NetStream.Play.TransitionComplete` | `"status"` | The subscriber is switching to a new stream as a result of stream bit-rate switching | + @event onSeekPoint Called synchronously from `appendBytes()` when the + append bytes parser encounters a point that it + believes is a seekable point (for example, a video + key frame). Use this event to construct a seek + point table. The `byteCount` corresponds to the + `byteCount` at the first byte of the parseable + message for that seek point, and is reset to zero + as described above. To seek, at the event + `NetStream.Seek.Notify`, find the bytes that start + at a seekable point and call `appendBytes(bytes)`. + If the `bytes` argument is a `ByteArray` + consisting of bytes starting at the seekable + point, the video plays at that seek point. + **Note:** Calls to `appendBytes()` from within + this callback are ignored. + + The `onSeekPoint` property is a property of the + `NetStream.client` object. The property is listed + in the Events section because it responds to data + coming into the `appendBytes()` method. For more + information, see the NetStream class description + and the `NetStream.client` property. You cannot + use the `addEventListener()` method, or any other + EventDispatcher methods, to listen for or process + `onSeekPoint` as an event. To use `onSeekPoint`, + define a callback function and attach it to one of + the following objects: + + * The object that the `client` property of a + NetStream instance references. + * An instance of a NetStream subclass. NetStream + is a sealed class, which means that properties or + methods cannot be added to a NetStream object at + runtime. However, you can create a subclass of + NetStream and define your event handler in the + subclass. You can also make the subclass dynamic + and add the event handler function to an instance + of the subclass. + @event onTextData Establishes a listener to respond when Flash + Player receives text data embedded in a media file + that is playing. The text data is in UTF-8 format + and can contain information about formatting based + on the 3GP timed text specification. + `onTextData` is actually a property of the + `NetStream.client` object. The property is listed + in the Events section because it responds to a + data event, either when streaming media using + Flash Media Server or during FLV file playback. + For more information, see the NetStream class + description. You cannot use the + `addEventListener()` method, or any other + EventDispatcher methods, to listen for, or process + `onTextData` as an event. Define a callback + function and attach it to one of the following + objects: + + * The object that the `client` property of a + NetStream instance references. + * An instance of a NetStream subclass. NetStream + is a sealed class, which means that properties or + methods cannot be added to a NetStream object at + runtime. Create a subclass of NetStream and define + your event handler in the subclass. You can also + make the subclass dynamic and add the event + handler function to an instance of the subclass. + + The associated event listener is triggered after a + call to the `NetStream.play()` method, but before + the video playhead has advanced. + + The onTextData event object contains one property + for each piece of text data. + @event onXMPData Establishes a listener to respond when Flash + Player receives information specific to Adobe + Extensible Metadata Platform (XMP) embedded in the + video being played. For information about video + file formats supported by Flash Media Server, see + the www.adobe.com/go/learn_fms_fileformats_en. + + `onXMPData` is actually a property of the + `NetStream.client` object. The property is listed + in the Events section because it responds to a + data event, either when streaming media using + Flash Media Server or during FLV file playback. + For more information, see the NetStream class + description and the `NetStream.client` property. + You cannot use the `addEventListener()` method, or + any other EventDispatcher methods, to listen for + or process `onMetaData` as an event. Define a + callback function and attach it to one of the + following objects: + + * The object that the `client` property of a + NetStream instance references. + * An instance of a NetStream subclass. NetStream + is a sealed class, which means that properties or + methods cannot be added to a NetStream object at + runtime. However, you can create a subclass of + NetStream and define your event handler in the + subclass. You can also make the subclass dynamic + and add the event handler function to an instance + of the subclass. + + The associated event listener is triggered after a + call to the `NetStream.play()` method, but before + the video playhead has advanced. + + The object passed to the `onXMPData()` event + handling function has one `data` property, which + is a string. The string is generated from a + top-level UUID box. (The 128-bit UUID of the top + level box is + `BE7ACFCB-97A9-42E8-9C71-999491E3AFAC`.) This + top-level UUID box contains exactly one XML + document represented as a null-terminated UTF-8 + string. + @event status Dispatched when the application attempts to play + content encrypted with digital rights management + (DRM), by invoking the `NetStream.play()` method. + The value of the status code property will be + `"DRM.encryptedFLV"`.]]> + + openfl.media.SoundMixer + "tags=\"haxe,release\"" + + + + + + + + + + + + + + ` in an OpenFL project XML file._ + + Adobe AIR and Flash Player 9 can serialize in two different formats: + AMF3 and AMF0. AMF3, the default serialization developed for + ActionScript 3.0, provides various advantages over AMF0, which is used + for ActionScript 1.0 and 2.0. AMF3 sends data over the network more + efficiently than AMF0. AMF3 supports sending `int` and `uint` objects as + integers and supports data types that are available only in + ActionScript 3.0, such as ByteArray, XML, and IExternalizable. It is + available only in ActionScript 3.0 and with servers that use AMF3 + encoding, such as Flex 2. + + The ByteArray, FileStream, NetConnection, NetStream, SharedObject, + Socket, and URLStream classes contain an `objectEncoding` property that is + assigned a constant from the ObjectEncoding class. The behavior of the + `objectEncoding` property differs depending on the object; each class's + `objectEncoding` property description explains the behavior more + thoroughly.]]> + + + + + + cast 0 + + + + Specifies that objects are serialized using the + Action Message Format for ActionScript 1.0 and 2.0. + + + + + cast 3 + + + + Specifies that objects are serialized using the + Action Message Format for ActionScript 3.0. + + + + + cast 10 + + + + Specifies that objects are serialized using the + Haxe Serialization Format. + + + + + cast 12 + + + + Specifies that objects are serialized using + JavaScript Object Notation. + + + + + cast 10 + + + + Specifies the default format for the current target and runtime. + + Currently, the default on the Flash and AIR targets is AMF3, and + the default on other targets is HXSF. If, in the future, a newer + version of OpenFL introduces support for a new object encoding + format, this may change. You can use this constant only if you're + not concerned about interoperability with previous versions. + + + + + + + + + cast 0 + + + + Specifies that objects are serialized using the + Action Message Format for ActionScript 1.0 and 2.0. + + + + + cast 3 + + + + Specifies that objects are serialized using the + Action Message Format for ActionScript 3.0. + + + + + cast 10 + + + + Specifies that objects are serialized using the + Haxe Serialization Format. + + + + + cast 12 + + + + Specifies that objects are serialized using + JavaScript Object Notation. + + + + + cast 10 + + + + Specifies the default format for the current target and runtime. + + Currently, the default on the Flash and AIR targets is AMF3, and + the default on other targets is HXSF. If, in the future, a newer + version of OpenFL introduces support for a new object encoding + format, this may change. You can use this constant only if you're + not concerned about interoperability with previous versions. + + + + + + + + ObjectEncoding.DEFAULT + The default object encoding (AMF version) for all local shared objects created in + the SWF file. When local shared objects are written to disk, the + `SharedObject.defaultObjectEncoding` property indicates which Action Message + Format version should be used: the ActionScript 3.0 format (AMF3) or the + ActionScript 1.0 or 2.0 format (AMF0). + + For more information about object encoding, including the difference between + encoding in local and remote shared objects, see the description of the + `objectEncoding` property. + + The default value of `SharedObject.defaultObjectEncoding` is set to use the + ActionScript 3.0 format, AMF3. If you need to write local shared objects that + ActionScript 2.0 or 1.0 SWF files can read, set + `SharedObject.defaultObjectEncoding` to use the ActionScript 1.0 or ActionScript + 2.0 format, `openfl.net.ObjectEncoding.AMF0`, at the beginning of your script, + before you create any local shared objects. All local shared objects created + thereafter will use AMF0 encoding and can interact with older content. You cannot + change the `objectEncoding` value of existing local shared objects by setting + `SharedObject.defaultObjectEncoding` after the local shared objects have been + created. + + To set the object encoding on a per-object basis, rather than for all shared + objects created by the SWF file, set the objectEncoding property of the local + shared object instead. + + <__sharedObjects static="1"> + + + + + + + + + + + + + + { secure : false, localPath : null } + ? #` + @param localPath The full or partial path to the SWF file that created the + shared object, and that determines where the shared + object will be stored locally. If you do not specify this + parameter, the full path is used. + @param secure Determines whether access to this shared object is + restricted to SWF files that are delivered over an HTTPS + connection. If your SWF file is delivered over HTTPS, + this parameter's value has the following effects: + + * If this parameter is set to `true`, + Flash Player creates a new secure shared object or gets a + reference to an existing secure shared object. This + secure shared object can be read from or written to only + by SWF files delivered over HTTPS that call + `SharedObject.getLocal()` with the + `secure` parameter set to + `true`. + * If this parameter is set to `false`, + Flash Player creates a new shared object or gets a + reference to an existing shared object that can be read + from or written to by SWF files delivered over non-HTTPS + connections. + + + If your SWF file is delivered over a non-HTTPS + connection and you try to set this parameter to + `true`, the creation of a new shared object + (or the access of a previously created secure shared + object) fails and `null` is returned. + Regardless of the value of this parameter, the created + shared objects count toward the total amount of disk + space allowed for a domain. + + The following diagram shows the use of the + `secure` parameter: + @return A reference to a shared object that is persistent locally and is + available only to the current client. If Flash Player can't create + or find the shared object(for example, if `localPath` + was specified but no such directory exists), this method throws an + exception. + @throws Error Flash Player cannot create the shared object for whatever + reason. This error might occur is if persistent shared + object creation and storage by third-party Flash content is + prohibited(does not apply to local content). Users can + prohibit third-party persistent shared objects on the Global + Storage Settings panel of the Settings Manager, located at + [http://www.adobe.com/support/documentation/en/flashplayer/help/settings_manager03.html](http://www.adobe.com/support/documentation/en/flashplayer/help/settings_manager03.html).]]> + + + + + + + + + + { secure : false, persistence : false, remotePath : null } + ? ? #` + @param remotePath The URI of the server on which the shared object + will be stored. This URI must be identical to the + URI of the NetConnection object passed to the + `connect()` method. + @param persistence Specifies whether the attributes of the shared + object's data property are persistent locally, + remotely, or both. This parameter can also specify + where the shared object will be stored locally. + Acceptable values are as follows: + * A value of `false` specifies that the shared + object is not persistent on the client or server. + * A value of `true` specifies that the shared + object is persistent only on the server. + * A full or partial local path to the shared object + indicates that the shared object is persistent on + the client and the server. On the client, it is + stored in the specified path; on the server, it is + stored in a subdirectory within the application + directory. + + **Note:** If the user has chosen to never allow + local storage for this domain, the object will not + be saved locally, even if a local path is specified + for persistence. For more information, see the + class description. + @param secure Determines whether access to this shared object is + restricted to SWF files that are delivered over an + HTTPS connection. For more information, see the + description of the `secure` parameter in the + `getLocal` method entry. + @return A reference to an object that can be shared across multiple + clients. + @throws Error Flash Player can't create or find the shared object. + This might occur if nonexistent paths were specified for + the `remotePath` and `persistence` parameters.]]> + + <__getPath set="method" line="879" static="1"> + + + + + + + + <__mkdir set="method" line="916" static="1"> + + + + + + + <__resolveClass set="method" line="964" static="1"> + + + + + + + + + + + + + + + + Indicates the object on which callback methods are invoked. The + default object is `this`. You can set the client property to another + object, and callback methods will be invoked on that other object. + + @throws TypeError The `client` property must be set to a non-null + object. + + + + The collection of attributes assigned to the `data` property of + the object; these attributes can be shared and stored. Each attribute can + be an object of any ActionScript or JavaScript type - Array, Number, + Boolean, ByteArray, XML, and so on. For example, the following lines + assign values to various aspects of a shared object: + + For remote shared objects used with a server, all attributes of the + `data` property are available to all clients connected to the + shared object, and all attributes are saved if the object is persistent. + If one client changes the value of an attribute, all clients now see the + new value. + + + + Specifies the number of times per second that a client's changes to a + shared object are sent to the server. + Use this method when you want to control the amount of traffic between + the client and the server. For example, if the connection between the + client and server is relatively slow, you may want to set `fps` to a + relatively low value. Conversely, if the client is connected to a + multiuser application in which timing is important, you may want to + set `fps` to a relatively high value. + + Setting `fps` will trigger a `sync` event and update all changes to + the server. If you only want to update the server manually, set `fps` + to 0. + + Changes are not sent to the server until the `sync` event has been + dispatched. That is, if the response time from the server is slow, + updates may be sent to the server less frequently than the value + specified in this property. + + + + The object encoding (AMF version) for this shared object. When a local + shared object is written to disk, the `objectEncoding` property + indicates which Action Message Format version should be used: the + ActionScript 3.0 format (AMF3) or the ActionScript 1.0 or 2.0 format + (AMF0). + Object encoding is handled differently depending if the shared object + is local or remote. + + * **Local shared objects**. You can get or set the value of the + `objectEncoding` property for local shared objects. The value of + `objectEncoding` affects what formatting is used for _writing_ this + local shared object. If this local shared object must be readable by + ActionScript 2.0 or 1.0 SWF files, set `objectEncoding` to + `ObjectEncoding.AMF0`. Even if object encoding is set to write AMF3, + Flash Player can still read AMF0 local shared objects. That is, if you + use the default value of this property, `ObjectEncoding.AMF3`, your + SWF file can still read shared objects created by ActionScript 2.0 or + 1.0 SWF files. + * **Remote shared objects**. When connected to the server, a remote + shared object inherits its `objectEncoding` setting from the + associated NetConnection instance (the instance used to connect to the + remote shared object). When not connected to the server, a remote + shared object inherits the `defaultObjectEncoding` setting from the + associated NetConnection instance. Because the value of a remote + shared object's `objectEncoding` property is determined by the + NetConnection instance, this property is read-only for remote shared + objects. + + @throws ReferenceError You attempted to set the value of the + `objectEncoding` property on a remote shared + object. This property is read-only for remote + shared objects because its value is determined + by the associated NetConnection instance. + + + + The current size of the shared object, in bytes. + + Flash calculates the size of a shared object by stepping through all of + its data properties; the more data properties the object has, the longer + it takes to estimate its size. Estimating object size can take significant + processing time, so you may want to avoid using this method unless you + have a specific need for it. + + <__localPath> + + + + <__name> + + + + + + For local shared objects, purges all of the data and deletes the shared + object from the disk. The reference to the shared object is still active, + but its data properties are deleted. + + For remote shared objects used with Flash Media Server, + `clear()` disconnects the object and purges all of the data. If + the shared object is locally persistent, this method also deletes the + shared object from the disk. The reference to the shared object is still + active, but its data properties are deleted. + + + + Closes the connection between a remote shared object and the server. + If a remote shared object is locally persistent, the user can make + changes to the local copy of the object after this method is called. + Any changes made to the local object are sent to the server the next + time the user connects to the remote shared object. + + + + + + + + { params : null } + Connects to a remote shared object on a server through a specified + NetConnection object. Use this method after calling `getRemote()`. + When a connection is successful, the `sync` event is dispatched. + Before attempting to work with a remote shared object, first check for + any errors using a `try..catch..finally` statement. Then, listen for + and handle the `sync` event before you make changes to the shared + object. Any changes made locally — before the `sync` event is + dispatched — might be lost. + + Call the `connect()` method to connect to a remote shared object, for + example: + + ```as3 + var myRemoteSO:SharedObject = SharedObject.getRemote("mo", myNC.uri, false); + myRemoteSO.connect(myNC); + ``` + + @param myConnection A NetConnection object that uses the Real-Time + Messaging Protocol (RTMP), such as a NetConnection + object used to communicate with Flash Media + Server. + @param params A string defining a message to pass to the remote + shared object on the server. Cannot be used with + Flash Media Server. + @throws Error Flash Player could not connect to the specified remote + shared object. Verify that the NetConnection instance is + valid and connected and that the remote shared object + was successfully created on the server. + + + + + + + { minDiskSpace : 0 } + Immediately writes a locally persistent shared object to a local file. If + you don't use this method, Flash Player writes the shared object to a file + when the shared object session ends - that is, when the SWF file is + closed, when the shared object is garbage-collected because it no longer + has any references to it, or when you call + `SharedObject.clear()` or `SharedObject.close()`. + + If this method returns `SharedObjectFlushStatus.PENDING`, + Flash Player displays a dialog box asking the user to increase the amount + of disk space available to objects from this domain. To allow space for + the shared object to grow when it is saved in the future, which avoids + return values of `PENDING`, pass a value for + `minDiskSpace`. When Flash Player tries to write the file, it + looks for the number of bytes passed to `minDiskSpace`, instead + of looking for enough space to save the shared object at its current size. + + + For example, if you expect a shared object to grow to a maximum size of + 500 bytes, even though it might start out much smaller, pass 500 for + `minDiskSpace`. If Flash asks the user to allot disk space for + the shared object, it asks for 500 bytes. After the user allots the + requested amount of space, Flash won't have to ask for more space on + future attempts to flush the object(as long as its size doesn't exceed + 500 bytes). + + After the user responds to the dialog box, this method is called again. + A `netStatus` event is dispatched with a `code` + property of `SharedObject.Flush.Success` or + `SharedObject.Flush.Failed`. + + @param minDiskSpace The minimum disk space, in bytes, that must be + allotted for this object. + @return Either of the following values: + + * `SharedObjectFlushStatus.PENDING`: The user has + permitted local information storage for objects from this domain, + but the amount of space allotted is not sufficient to store the + object. Flash Player prompts the user to allow more space. To + allow space for the shared object to grow when it is saved, thus + avoiding a `SharedObjectFlushStatus.PENDING` return + value, pass a value for `minDiskSpace`. + * `SharedObjectFlushStatus.FLUSHED`: The shared + object has been successfully written to a file on the local + disk. + + @throws Error Flash Player cannot write the shared object to disk. This + error might occur if the user has permanently disallowed + local information storage for objects from this domain. + + **Note:** Local content can always write shared + objects from third-party domains(domains other than the + domain in the current browser address bar) to disk, even if + writing of third-party shared objects to disk is + disallowed. + + + + + + + Broadcasts a message to all clients connected to a remote shared + object, including the client that sent the message. To process and + respond to the message, create a callback function attached to the + shared object. + + + + + + + Indicates to the server that the value of a property in the shared + object has changed. This method marks properties as _dirty_, which + means changed. + Call the `SharedObject.setProperty()` to create properties for a + shared object. + + The `SharedObject.setProperty()` method implements `setDirty()`. In + most cases, such as when the value of a property is a primitive type + like String or Number, you can call `setProperty()` instead of calling + `setDirty()`. However, when the value of a property is an object that + contains its own properties, call `setDirty()` to indicate when a + value within the object has changed. + + @param propertyName The name of the property that has changed. + + + + + + + + { value : null } + Flash Media Server + documentation. + + **Note:** The `SharedObject.setProperty()` method implements the + `setDirty()` method. In most cases, such as when the value of a + property is a primitive type like String or Number, you would use + `setProperty()` instead of `setDirty`. However, when the value of a + property is an object that contains its own properties, use + `setDirty()` to indicate when a value within the object has changed. + In general, it is a good idea to call `setProperty()` rather than + `setDirty()`, because `setProperty()` updates a property value only + when that value has changed, whereas `setDirty()` forces + synchronization on all subscribed clients. + + @param propertyName The name of the property in the shared object. + @param value The value of the property (an ActionScript + object), or `null` to delete the property.]]> + + + + + + + + + + The SharedObject class is used to read and store limited amounts of data on + a user's computer or on a server. Shared objects offer real-time data + sharing between multiple client SWF files and objects that are persistent + on the local computer or remote server. Local shared objects are similar to + browser cookies and remote shared objects are similar to real-time data + transfer devices. To use remote shared objects, you need Adobe Flash Media + Server. + + Use shared objects to do the following: + + + * **Maintain local persistence**. This is the simplest way to use a + shared object, and does not require Flash Media Server. For example, you + can call `SharedObject.getLocal()` to create a shared object in + an application, such as a calculator with memory. When the user closes the + calculator, Flash Player saves the last value in a shared object on the + user's computer. The next time the calculator is run, it contains the + values it had previously. Alternatively, if you set the shared object's + properties to `null` before the calculator application is + closed, the next time the application runs, it opens without any values. + Another example of maintaining local persistence is tracking user + preferences or other data for a complex website, such as a record of which + articles a user read on a news site. Tracking this information allows you + to display articles that have already been read differently from new, + unread articles. Storing this information on the user's computer reduces + server load. + * **Store and share data on Flash Media Server**. A shared object + can store data on the server for other clients to retrieve. For example, + call `SharedObject.getRemote()` to create a remote shared + object, such as a phone list, that is persistent on the server. Whenever a + client makes changes to the shared object, the revised data is available to + all clients currently connected to the object or who later connect to it. + If the object is also persistent locally, and a client changes data while + not connected to the server, the data is copied to the remote shared object + the next time the client connects to the object. + * **Share data in real time**. A shared object can share data among + multiple clients in real time. For example, you can open a remote shared + object that stores a list of users connected to a chat room that is visible + to all clients connected to the object. When a user enters or leaves the + chat room, the object is updated and all clients that are connected to the + object see the revised list of chat room users. + + + To create a local shared object, call + `SharedObject.getLocal()`. To create a remote shared object, + call `SharedObject.getRemote()`. + + When an application closes, shared objects are _flushed_, or + written to a disk. You can also call the `flush()` method to + explicitly write data to a disk. + + **Local disk space considerations.** Local shared objects have some + limitations that are important to consider as you design your application. + Sometimes SWF files may not be allowed to write local shared objects, and + sometimes the data stored in local shared objects can be deleted without + your knowledge. Flash Player users can manage the disk space that is + available to individual domains or to all domains. When users decrease the + amount of disk space available, some local shared objects may be deleted. + Flash Player users also have privacy controls that can prevent third-party + domains(domains other than the domain in the current browser address bar) + from reading or writing local shared objects. + + **Note**: SWF files that are stored and run on a local computer, not + from a remote server, can always write third-party shared objects to disk. + For more information about third-party shared objects, see the + [Global Storage Settings panel](http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager03.html) + in Flash Player Help. + + It's a good idea to check for failures related to the amount of disk + space and to user privacy controls. Perform these checks when you call + `getLocal()` and `flush()`: + + * `SharedObject.getLocal()` - Flash Player throws an + exception when a call to this method fails, such as when the user has + disabled third-party shared objects and the domain of your SWF file does + not match the domain in the browser address bar. + * `SharedObject.flush()` - Flash Player throws an + exception when a call to this method fails. It returns + `SharedObjectFlushStatus.FLUSHED` when it succeeds. It returns + `SharedObjectFlushStatus.PENDING` when additional storage space + is needed. Flash Player prompts the user to allow an increase in storage + space for locally saved information. Thereafter, the `netStatus` + event is dispatched with an information object indicating whether the flush + failed or succeeded. + + + + If your SWF file attempts to create or modify local shared objects, make + sure that your SWF file is at least 215 pixels wide and at least 138 pixels + high(the minimum dimensions for displaying the dialog box that prompts + users to increase their local shared object storage limit). If your SWF + file is smaller than these dimensions and an increase in the storage limit + is required, `SharedObject.flush()` fails, returning + `SharedObjectFlushedStatus.PENDING` and dispatching the + `netStatus` event. + + **Remote shared objects.** With Flash Media Server, you can create + and use remote shared objects, that are shared in real-time by all clients + connected to your application. When one client changes a property of a + remote shared object, the property is changed for all connected clients. + You can use remote shared objects to synchronize clients, for example, + users in a multi-player game. + + Each remote shared object has a `data` property which is an + Object with properties that store data. Call `setProperty()` to + change an property of the data object. The server updates the properties, + dispatches a `sync` event, and sends the properties back to the + connected clients. + + You can choose to make remote shared objects persistent on the client, + the server, or both. By default, Flash Player saves locally persistent + remote shared objects up to 100K in size. When you try to save a larger + object, Flash Player displays the Local Storage dialog box, which lets the + user allow or deny local storage for the shared object. Make sure your + Stage size is at least 215 by 138 pixels; this is the minimum size Flash + requires to display the dialog box. + + If the user selects Allow, the server saves the shared object and + dispatches a `netStatus` event with a `code` property + of `SharedObject.Flush.Success`. If the user select Deny, the + server does not save the shared object and dispatches a + `netStatus` event with a `code` property of + `SharedObject.Flush.Failed`. + + @event asyncError Dispatched when an exception is thrown asynchronously - + that is, from native asynchronous code. + @event netStatus Dispatched when a SharedObject instance is reporting its + status or error condition. The `netStatus` + event contains an `info` property, which is an + information object that contains specific information + about the event, such as whether a connection attempt + succeeded or whether the shared object was successfully + written to the local disk. + @event sync Dispatched when a remote shared object has been updated + by the server. + + + "tags=\"haxe,release\"" + + + + + + + + The SharedObjectFlushStatus class provides values for the code returned + from a call to the `SharedObject.flush()` method. + + + + + + cast 0 + + + + Indicates that the flush completed successfully. + + + + + cast 1 + + + + Indicates that the user is being prompted to increase disk space for the + shared object before the flush can occur. + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + Indicates that the flush completed successfully. + + + + + cast 1 + + + + Indicates that the user is being prompted to increase disk space for the + shared object before the flush can occur. + + + + + + + + + + + + + + + + + + + + + + Indicates the number of bytes that have been loaded thus far during the + load operation. + + + + Indicates the total number of bytes in the downloaded data. This property + contains 0 while the load operation is in progress and is populated when + the operation is complete. Also, a missing Content-Length header will + result in bytesTotal being indeterminate. + + + + The data received from the load operation. This property is populated only + when the load operation is complete. The format of the data depends on the + setting of the `dataFormat` property: + + If the `dataFormat` property is + `URLLoaderDataFormat.TEXT`, the received data is a string + containing the text of the loaded file. + + If the `dataFormat` property is + `URLLoaderDataFormat.BINARY`, the received data is a ByteArray + object containing the raw binary data. + + If the `dataFormat` property is + `URLLoaderDataFormat.VARIABLES`, the received data is a + URLVariables object containing the URL-encoded variables. + + + + Controls whether the downloaded data is received as text + (`URLLoaderDataFormat.TEXT`), raw binary data + (`URLLoaderDataFormat.BINARY`), or URL-encoded variables + (`URLLoaderDataFormat.VARIABLES`). + + If the value of the `dataFormat` property is + `URLLoaderDataFormat.TEXT`, the received data is a string + containing the text of the loaded file. + + If the value of the `dataFormat` property is + `URLLoaderDataFormat.BINARY`, the received data is a ByteArray + object containing the raw binary data. + + If the value of the `dataFormat` property is + `URLLoaderDataFormat.VARIABLES`, the received data is a + URLVariables object containing the URL-encoded variables. + + @default URLLoaderDataFormat.TEXT + + <__httpRequest> + + + + + + Closes the load operation in progress. Any load operation in progress is + immediately terminated. If no URL is currently being streamed, an invalid + stream error is thrown. + + + + + + + Sends and loads data from the specified URL. The data can be received as + text, raw binary data, or URL-encoded variables, depending on the value + you set for the `dataFormat` property. Note that the default + value of the `dataFormat` property is text. If you want to send + data to the specified URL, you can set the `data` property in + the URLRequest object. + + **Note:** If a file being loaded contains non-ASCII characters(as + found in many non-English languages), it is recommended that you save the + file with UTF-8 or UTF-16 encoding as opposed to a non-Unicode format like + ASCII. + + A SWF file in the local-with-filesystem sandbox may not load data + from, or provide data to, a resource that is in the network sandbox. + + By default, the calling SWF file and the URL you load must be in + exactly the same domain. For example, a SWF file at www.adobe.com can load + data only from sources that are also at www.adobe.com. To load data from a + different domain, place a URL policy file on the server hosting the + data. + + You cannot connect to commonly reserved ports. For a complete list of + blocked ports, see "Restricting Networking APIs" in the _ActionScript + 3.0 Developer's Guide_. + + In Flash Player 10 and later, if you use a multipart Content-Type(for + example "multipart/form-data") that contains an upload(indicated by a + "filename" parameter in a "content-disposition" header within the POST + body), the POST operation is subject to the security rules applied to + uploads: + + * The POST operation must be performed in response to a user-initiated + action, such as a mouse click or key press. + * If the POST operation is cross-domain(the POST target is not on the + same server as the SWF file that is sending the POST request), the target + server must provide a URL policy file that permits cross-domain + access. + + Also, for any multipart Content-Type, the syntax must be valid + (according to the RFC2046 standards). If the syntax appears to be invalid, + the POST operation is subject to the security rules applied to + uploads. + + For more information related to security, see the Flash Player + Developer Center Topic: [Security](http://www.adobe.com/go/devnet_security_en). + + @param request A URLRequest object specifying the URL to download. + @throws ArgumentError `URLRequest.requestHeader` objects may + not contain certain prohibited HTTP request headers. + For more information, see the URLRequestHeader class + description. + @throws MemoryError This error can occur for the following reasons: 1) + Flash Player or AIR cannot convert the + `URLRequest.data` parameter from UTF8 to + MBCS. This error is applicable if the URLRequest + object passed to `load()` is set to + perform a `GET` operation and if + `System.useCodePage` is set to + `true`. 2) Flash Player or AIR cannot + allocate memory for the `POST` data. This + error is applicable if the URLRequest object passed + to `load` is set to perform a + `POST` operation. + @throws SecurityError Local untrusted files may not communicate with the + Internet. This may be worked around by reclassifying + this file as local-with-networking or trusted. + @throws SecurityError You are trying to connect to a commonly reserved + port. For a complete list of blocked ports, see + "Restricting Networking APIs" in the _ActionScript + 3.0 Developer's Guide_. + @throws TypeError The value of the request parameter or the + `URLRequest.url` property of the + URLRequest object passed are `null`. + @event complete Dispatched after data has loaded successfully. + @event httpResponseStatus Dispatched if a call to the `load()` + method attempts to access data over HTTP and + Adobe AIR is able to detect and return the + status code for the request. + @event httpStatus If access is over HTTP, and the current Flash + Player environment supports obtaining status + codes, you may receive these events in addition + to any `complete` or + `error` event. + @event ioError The load operation could not be completed. + @event open Dispatched when a load operation commences. + @event progress Dispatched when data is received as the download + operation progresses. + @event securityError A load operation attempted to retrieve data from + a server outside the caller's security sandbox. + This may be worked around using a policy file on + the server. + @event securityError A load operation attempted to load a SWZ file(a + Adobe platform component), but the certificate + is invalid or the digest does not match the + component. + + <__dispatchStatus set="method" line="325"> + + + + <__prepareRequest set="method" line="347"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + { request : null } + Creates a URLLoader object. + + @param request A URLRequest object specifying the URL to download. If this + parameter is omitted, no load operation begins. If + specified, the load operation begins immediately(see the + `load` entry for more information). + + The URLLoader class downloads data from a URL as text, binary data, or + URL-encoded variables. It is useful for downloading text files, XML, or + other information to be used in a dynamic, data-driven application. + + A URLLoader object downloads all of the data from a URL before making it + available to code in the applications. It sends out notifications about the + progress of the download, which you can monitor through the + `bytesLoaded` and `bytesTotal` properties, as well as + through dispatched events. + + When loading very large video files, such as FLV's, out-of-memory errors + may occur. + + When you use this class in Flash Player and in AIR application content + in security sandboxes other than then application security sandbox, + consider the following security model: + + + * A SWF file in the local-with-filesystem sandbox may not load data + from, or provide data to, a resource that is in the network sandbox. + * By default, the calling SWF file and the URL you load must be in + exactly the same domain. For example, a SWF file at www.adobe.com can load + data only from sources that are also at www.adobe.com. To load data from a + different domain, place a URL policy file on the server hosting the + data. + + + For more information related to security, see the Flash Player Developer + Center Topic: [Security](http://www.adobe.com/go/devnet_security_en). + + @event complete Dispatched after all the received data is decoded + and placed in the data property of the URLLoader + object. The received data may be accessed once + this event has been dispatched. + @event httpResponseStatus Dispatched if a call to the load() method + attempts to access data over HTTP, and Adobe AIR + is able to detect and return the status code for + the request. + @event httpStatus Dispatched if a call to URLLoader.load() attempts + to access data over HTTP. For content running in + Flash Player, this event is only dispatched if + the current Flash Player environment is able to + detect and return the status code for the + request.(Some browser environments may not be + able to provide this information.) Note that the + `httpStatus` event(if any) is sent + before(and in addition to) any + `complete` or `error` + event. + @event ioError Dispatched if a call to URLLoader.load() results + in a fatal error that terminates the download. + @event open Dispatched when the download operation commences + following a call to the + `URLLoader.load()` method. + @event progress Dispatched when data is received as the download + operation progresses. + + Note that with a URLLoader object, it is not + possible to access the data until it has been + received completely. So, the progress event only + serves as a notification of how far the download + has progressed. To access the data before it's + entirely downloaded, use a URLStream object. + @event securityError Dispatched if a call to URLLoader.load() attempts + to load data from a server outside the security + sandbox. Also dispatched if a call to + `URLLoader.load()` attempts to load a + SWZ file and the certificate is invalid or the + digest string does not match the component. + + + "tags=\"haxe,release\"" + + + + + + + + The URLLoaderDataFormat class provides values that specify how downloaded + data is received. + + + + + + cast 0 + + + + Specifies that downloaded data is received as raw binary data. + + + + + cast 1 + + + + Specifies that downloaded data is received as text. + + + + + cast 2 + + + + Specifies that downloaded data is received as URL-encoded variables. + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + Specifies that downloaded data is received as raw binary data. + + + + + cast 1 + + + + Specifies that downloaded data is received as text. + + + + + cast 2 + + + + Specifies that downloaded data is received as URL-encoded variables. + + + + + + + + + + + + + + + + + + + + + The MIME content type of the content in the the `data` + property. + + The default value is + `application/x-www-form-urlencoded`. + + **Note**:The `FileReference.upload()`, + `FileReference.download()`, and `HTMLLoader.load()` + methods do not support the `URLRequest.contentType` + property. + + When sending a POST request, the values of the `contentType` + and `data` properties must correspond properly. The value of + the `contentType` property instructs servers on how to + interpret the value of the `data` property. + + * If the value of the `data` property is a URLVariables + object, the value of `contentType` must be + `application/x-www-form-urlencoded`. + * If the value of the `data` property is any other type, + the value of `contentType` should indicate the type of the POST + data that will be sent(which is the binary or string data contained in + the value of the `data` property). + * For `FileReference.upload()`, the Content-Type of the + request is set automatically to `multipart/form-data`, and the + value of the `contentType` property is ignored. + + In Flash Player 10 and later, if you use a multipart Content-Type(for + example "multipart/form-data") that contains an upload(indicated by a + "filename" parameter in a "content-disposition" header within the POST + body), the POST operation is subject to the security rules applied to + uploads: + + * The POST operation must be performed in response to a user-initiated + action, such as a mouse click or key press. + * If the POST operation is cross-domain(the POST target is not on the + same server as the SWF file that is sending the POST request), the target + server must provide a URL policy file that permits cross-domain + access. + + Also, for any multipart Content-Type, the syntax must be valid + (according to the RFC2046 standards). If the syntax appears to be invalid, + the POST operation is subject to the security rules applied to + uploads. + + + + An object containing data to be transmitted with the URL request. + + This property is used in conjunction with the `method` + property. When the value of `method` is `GET`, the + value of `data` is appended to the value of + `URLRequest.url`, using HTTP query-string syntax. When the + `method` value is `POST`(or any value other than + `GET`), the value of `data` is transmitted in the + body of the HTTP request. + + The URLRequest API offers binary `POST` support and support + for URL-encoded variables, as well as support for strings. The data object + can be a ByteArray, URLVariables, or String object. + + The way in which the data is used depends on the type of object + used: + + * If the object is a ByteArray object, the binary data of the + ByteArray object is used as `POST` data. For `GET`, + data of ByteArray type is not supported. Also, data of ByteArray type is + not supported for `FileReference.upload()` and + `FileReference.download()`. + * If the object is a URLVariables object and the method is + `POST`, the variables are encoded using + _x-www-form-urlencoded_ format and the resulting string is used as + `POST` data. An exception is a call to + `FileReference.upload()`, in which the variables are sent as + separate fields in a `multipart/form-data` post. + * If the object is a URLVariables object and the method is + `GET`, the URLVariables object defines variables to be sent + with the URLRequest object. + * Otherwise, the object is converted to a string, and the string is + used as the `POST` or `GET` data. + + This data is not sent until a method, such as + `navigateToURL()` or `FileReference.upload()`, uses + the URLRequest object. + + **Note**: The value of `contentType` must correspond to + the type of data in the `data` property. See the note in the + description of the `contentType` property. + + + + Specifies whether redirects are to be followed (`true`) or not (`false`). + + **Note:** The `FileReference.upload()`, `FileReference.download()`, and + `HTMLLoader.load()` methods do not support the `URLRequest.followRedirects` property. + + The default value is `true`. + + + + Specifies the idle timeout value (in milliseconds) for this request. + + The idle timeout is the amount of time the client waits for a response from the + server, after the connection is established, before abandoning the request. + + **Note:** The `HTMLLoader.load()` method does not support the + `URLRequest.idleTimeout` property. The HTMLLoader class defines its own + `idleTimeout` property. + + The default value is initialized from the `URLRequestDefaults.idleTimeout` property. + + + + Preferences, and click the Security panel. + 3. Click the Show Cookies button. + 4. Click the Reomove All button. + + To clear cookies on Windows: + + 1. Open the Internet Properties control panel, and click the General tab. + 2. Click the Delete Cookies button. + + The default value is `true`.]]> + + + + Controls the HTTP form submission method. + + For SWF content running in Flash Player(in the browser), this property + is limited to GET or POST operations, and valid values are + `URLRequestMethod.GET` or + `URLRequestMethod.POST`. + + For content running in Adobe AIR, you can use any string value if the + content is in the application security sandbox. Otherwise, as with content + running in Flash Player, you are restricted to using GET or POST + operations. + + For content running in Adobe AIR, when using the + `navigateToURL()` function, the runtime treats a URLRequest + that uses the POST method(one that has its `method` property + set to `URLRequestMethod.POST`) as using the GET method. + + **Note:** If running in Flash Player and the referenced form has no + body, Flash Player automatically uses a GET operation, even if the method + is set to `URLRequestMethod.POST`. For this reason, it is + recommended to always include a "dummy" body to ensure that the correct + method is used. + + @default URLRequestMethod.GET + @throws ArgumentError If the `value` parameter is not + `URLRequestMethod.GET` or + `URLRequestMethod.POST`. + + + + The array of HTTP request headers to be appended to the HTTP request. The + array is composed of URLRequestHeader objects. Each object in the array + must be a URLRequestHeader object that contains a name string and a value + string, as follows: + + Flash Player and the AIR runtime impose certain restrictions on request + headers; for more information, see the URLRequestHeader class + description. + + Not all methods that accept URLRequest parameters support the + `requestHeaders` property, consult the documentation for the + method you are calling. For example, the + `FileReference.upload()` and + `FileReference.download()` methods do not support the + `URLRequest.requestHeaders` property. + + Due to browser limitations, custom HTTP request headers are only + supported for `POST` requests, not for `GET` + requests. + + + + + + + + Specifies the user-agent string to be used in the HTTP request. + + The default value is the same user agent string that is used by OpenFL on native + targets, by the web browser or by Flash Player (depending upon the target). + + **Note:** This property does not affect the user agent string when the + URLRequest object is used with the `load()` method of an HTMLLoader object. To set + the user agent string for an HTMLLoader object, set the `userAgent` property of the + HTMLLoader object or set the static `URLRequestDefaults.userAgent` property. + + + + + + + { url : null } + Creates a URLRequest object. If `System.useCodePage` is + `true`, the request is encoded using the system code page, + rather than Unicode. If `System.useCodePage` is + `false`, the request is encoded using Unicode, rather than the + system code page. + + @param url The URL to be requested. You can set the URL later by using the + `url` property. + + The URLRequest class captures all of the information in a single HTTP + request. URLRequest objects are passed to the `load()` methods + of the Loader, URLStream, and URLLoader classes, and to other loading + operations, to initiate URL downloads. They are also passed to the + `upload()` and `download()` methods of the + FileReference class. + + A SWF file in the local-with-filesystem sandbox may not load data from, + or provide data to, a resource that is in the network sandbox. + + By default, the calling SWF file and the URL you load must be in the + same domain. For example, a SWF file at www.adobe.com can load data only + from sources that are also at www.adobe.com. To load data from a different + domain, place a URL policy file on the server hosting the data. + + However, in Adobe AIR, content in the application security sandbox + (content installed with the AIR application) is not restricted by these + security limitations. For content running in Adobe AIR, files in the + application security sandbox can access URLs using any of the following URL + schemes: + + + * `http` and `https` + * `file` + * `app-storage` + * `app` + + + Content running in Adobe AIR that is not in the application security + sandbox observes the same restrictions as content running in the browser + (in Flash Player), and loading is governed by the content's domain and any + permissions granted in URL policy files. + + For more information related to security, see the Flash Player Developer + Center Topic: [Security](http://www.adobe.com/go/devnet_security_en). + + + "tags=\"haxe,release\"" + + + + + + + + true + The default setting for the `followRedirects` property of URLRequest objects. + Setting the `followRedirects` property in a URLRequest object overrides this + default setting. This setting does not apply to URLRequest objects used in file + upload or RTMP requests. + + The default value is `true`. + + + + 0 + The default setting for the `idleTimeout` property of URLRequest objects and + HTMLLoader objects. + + The idle timeout is the amount of time (in milliseconds) that the client waits for + a response from the server, after the connection is established, before abandoning + the request. + + This defines the default idle timeout used by the URLRequest or HTMLLoader object. + Setting the `idleTimeout` property in a URLRequest object or an HTMLLoader object + overrides this default setting. + + When this property is set to 0 (the default), the runtime uses the default idle + timeout value defined by the operating system. The default idle timeout value + varies between operating systems (such as Mac OS, Linux, or Windows) and between + operating system versions. + + This setting does not apply to URLRequest objects used in file upload or RTMP + requests. + + The default value is 0. + + + + false + The default setting for the manageCookies property of URLRequest objects. Setting + the manageCookies property in a URLRequest object overrides this default setting. + + **Note:** This setting does not apply to URLRequest objects used in file upload + or RTMP requests. + + The default value is `true`. + + + + The default setting for the `userAgent` property of URLRequest objects. Setting the + `userAgent` property in a URLRequest object overrides this default setting. + + This is also the default user agent string for all HTMLLoader objects (used when + you call the `load()` method of the HTMLLoader object). Setting the `userAgent` + property of the HTMLLoader object overrides the `URLRequestDefaults.userAgent` + setting. + + This default value varies depending on the runtime operating system (such as Mac OS, + Linux or Windows), the runtime language, and the runtime version, as in the + following examples: + + * `"Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/526.9+ (KHTML, like Gecko) AdobeAIR/1.5"` + * `"Mozilla/5.0 (Windows; U; en) AppleWebKit/526.9+ (KHTML, like Gecko) AdobeAIR/1.5"` + * `"Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/526.9+ (KHTML, like Gecko) AdobeAIR/1.5"` + + The URLRequestDefaults class includes static properties that you can set to define + default values for the properties of the URLRequest class. It also includes a static + method, `URLRequestDefaults.setLoginCredentialsForHost()`, which lets you define + default authentication credentials for requests. The URLRequest class defines the + information to use in an HTTP request. + + Any properties set in a URLRequest object override those static properties set for the + URLRequestDefaults class. + + URLRequestDefault settings only apply to content in the caller's application domain, + with one exception: settings made by calling + `URLRequestDefaults.setLoginCredentialsForHost()` apply to all application domains in + the currently running application. + + Only Adobe® AIR® content running in the application security sandbox can use the + URLRequestDefaults class. Other content will result in a SecurityError being thrown + when accessing the members or properties of this class. + + + "tags=\"haxe,release\"" + + + + + + + An HTTP request header name(such as `Content-Type` or + `SOAPAction`). + + + + The value associated with the `name` property(such as + `text/plain`). + + + + + + + + { value : "", name : "" } + Creates a new URLRequestHeader object that encapsulates a single HTTP + request header. URLRequestHeader objects are used in the + `requestHeaders` property of the URLRequest class. + + @param name An HTTP request header name(such as + `Content-Type` or `SOAPAction`). + @param value The value associated with the `name` property + (such as `text/plain`). + + ® AIR®, content in the application + security sandbox(such as content installed with the AIR application) can + use any request headers, without error. However, for content running in + Adobe AIR that is in a different security sandbox, or for content running + in Flash® Player, using following request headers cause a + runtime error to be thrown, and the restricted terms are not case-sensitive + (for example, `Get`, `get`, and `GET` are + each not allowed): + + In Flash Player and in Adobe AIR content outside of the application + security sandbox, the following request headers cannot be used, and the + restricted terms are not case-sensitive(for example, `Get`, + `get`, and `GET` are all not allowed). Also, + hyphenated terms apply if an underscore character is used(for example, + both `Content-Length` and `Content_Length` are not + allowed): + + `Accept-Charset`, `Accept-Encoding`, + `Accept-Ranges`, `Age`, `Allow`, + `Allowed`, `Authorization`, `Charge-To`, + `Connect`, `Connection`, `Content-Length`, + `Content-Location`, `Content-Range`, + `Cookie`, `Date`, `Delete`, + `ETag`, `Expect`, `Get`, + `Head`, `Host`, `If-Modified-Since`, + `Keep-Alive`, `Last-Modified`, `Location`, + `Max-Forwards`, `Options`, `Origin`, + `Post`, `Proxy-Authenticate`, + `Proxy-Authorization`, `Proxy-Connection`, + `Public`, `Put`, `Range`, + `Referer`, `Request-Range`, `Retry-After`, + `Server`, `TE`, `Trace`, + `Trailer`, `Transfer-Encoding`, `Upgrade`, + `URI`, `User-Agent`, `Vary`, + `Via`, `Warning`, `WWW-Authenticate`, + `x-flash-version`. + + URLRequestHeader objects are restricted in length. If the cumulative + length of a URLRequestHeader object(the length of the `name` + property plus the `value` property) or an array of + URLRequestHeader objects used in the `URLRequest.requestHeaders` + property exceeds the acceptable length, an exception is thrown. + + Content running in Adobe AIR sets the `ACCEPT` header to the + following, unless you specify a setting for the `ACCEPT` header + in the `requestHeaders` property of the URLRequest class: + + ``` + text/xml, application/xml, application/xhtml+xml, text/html;q=0.9, text/plain;q=0.8, image/png, application/x-shockwave-flash, video/mp4;q=0.9, flv-application/octet-stream;q=0.8, video/x-flv;q=0.7, audio/mp4, * /*;q=0.5 + ``` + + Not all methods that accept URLRequest parameters support the + `requestHeaders` property, consult the documentation for the + method you are calling. For example, the + `FileReference.upload()` and + `FileReference.download()` methods do not support the + `URLRequest.requestHeaders` property. + + Due to browser limitations, custom HTTP request headers are only + supported for `POST` requests, not for `GET` + requests.]]> + + + "tags=\"haxe,release\"" + + + + + + + + + The URLRequestMethod class provides values that specify whether the + URLRequest object should use the `POST` method or the + `GET` method when sending data to a server. + + + + + + cast "DELETE" + + + + Specifies that the URLRequest object is a `DELETE`. + + + + + cast "GET" + + + + Specifies that the URLRequest object is a `GET`. + + + + + cast "HEAD" + + + + Specifies that the URLRequest object is a `HEAD`. + + + + + cast "OPTIONS" + + + + Specifies that the URLRequest object is `OPTIONS`. + + + + + cast "POST" + + + + Specifies that the URLRequest object is a `POST`. + + _Note:_ For content running in Adobe AIR, when using the + `navigateToURL()` function, the runtime treats a URLRequest + that uses the POST method(one that has its `method` property + set to `URLRequestMethod.POST`) as using the GET method. + + + + + cast "PUT" + + + + Specifies that the URLRequest object is a `PUT`. + + + + + + + + + cast "DELETE" + + + + Specifies that the URLRequest object is a `DELETE`. + + + + + cast "GET" + + + + Specifies that the URLRequest object is a `GET`. + + + + + cast "HEAD" + + + + Specifies that the URLRequest object is a `HEAD`. + + + + + cast "OPTIONS" + + + + Specifies that the URLRequest object is `OPTIONS`. + + + + + cast "POST" + + + + Specifies that the URLRequest object is a `POST`. + + _Note:_ For content running in Adobe AIR, when using the + `navigateToURL()` function, the runtime treats a URLRequest + that uses the POST method(one that has its `method` property + set to `URLRequestMethod.POST`) as using the GET method. + + + + + cast "PUT" + + + + Specifies that the URLRequest object is a `PUT`. + + + + + + + new ApplicationDomain(null) + Gets the current application domain in which your code is executing. + + + + Gets the parent domain of this application domain. + + + + + + + Gets a public definition from the specified application domain. The + definition can be that of a class, a namespace, or a function. + + @param name The name of the definition. + @return The object associated with the definition. + @throws ReferenceError No public definition exists with the specified + name. + + + + + + + Checks to see if a public definition exists within the specified + application domain. The definition can be that of a class, a + namespace, or a function. + + @param name The name of the definition. + @return A value of `true` if the specified definition exists; + otherwise, `false`. + + + + + + + { parentDomain : null } + Creates a new application domain. + + @param parentDomain If no parent domain is passed in, this application + domain takes the system domain as its parent. + + The ApplicationDomain class is a container for discrete groups of class + definitions. Application domains are used to partition classes that are in + the same security domain. They allow multiple definitions of the same + class to exist and allow children to reuse parent definitions. + Application domains are used when an external SWF file is loaded through + the Loader class. All ActionScript 3.0 definitions in the loaded SWF file + are stored in the application domain, which is specified by the + `applicationDomain` property of the LoaderContext object that you pass as + a `context` parameter of the Loader object's `load()` or `loadBytes()` + method. The LoaderInfo object also contains an `applicationDomain` + property, which is read-only. + + All code in a SWF file is defined to exist in an application domain. The + current application domain is where your main application runs. The system + domain contains all application domains, including the current domain, + which means that it contains all Flash Player classes. + + Every application domain, except the system domain, has an associated + parent domain. The parent domain of your main application's application + domain is the system domain. Loaded classes are defined only when their + parent doesn't already define them. You cannot override a loaded class + definition with a newer definition. + + For usage examples of application domains, see the _ActionScript 3.0 + Developer's Guide_. + + The `ApplicationDomain()` constructor function allows you to create an + ApplicationDomain object. + + + "tags=\"haxe,release\"" + + + + + + + + Specifies whether you can use a `Loader` object to import content with + executable code, such as a SWF file, into the caller's security + sandbox. There are two affected importing operations: the + `Loader.loadBytes()` method, and the `Loader.load()` method with + `LoaderContext.securityDomain = SecurityDomain.currentDomain`. (The + latter operation is not supported in the AIR application sandbox.) + With the `allowCodeImport` property set to `false`, these importing + operations are restricted to safe operations, such as loading images. + Normal, non-importing SWF file loading with the `Loader.load()` method + is not affected by the value of this property. + This property is useful when you want to import image content into + your sandbox - for example, when you want to replicate or process an + image from a different domain - but you don't want to take the + security risk of receiving a SWF file when you expected only an image + file. Since SWF files may contain ActionScript code, importing a SWF + file is a much riskier operation than importing an image file. + + In AIR content in the application sandbox, the default value is + `false`. In non-application content (which includes all content in + Flash Player), the default value is `true`. + + The `allowCodeImport` property was added in Flash Player 10.1 and AIR + 2.0. However, this property is made available to SWF files and AIR + applications of all versions when the Flash Runtime supports it. + + + + Legacy property, replaced by `allowCodeImport`, but still supported + for compatibility. Previously, the only operation affected by + `allowLoadBytesCodeExecution` was the `Loader.loadBytes()` method, but + as of Flash Player 10.1 and AIR 2.0, the import-loading operation of + `Loader.load()` with `LoaderContext.securityDomain = + SecurityDomain.currentDomain` is affected as well. (The latter + operation is not supported in the AIR application sandbox.) This dual + effect made the property name `allowLoadBytesCodeExecution` overly + specific, so now `allowCodeImport` is the preferred property name. + Setting either of `allowCodeImport` or `allowLoadBytesCodeExecution` + will affect the value of both. + Specifies whether you can use a `Loader` object to import content with + executable code, such as a SWF file, into the caller's security + sandbox. With this property set to `false`, these importing operations + are restricted to safe operations, such as loading images. + + In AIR content in the application sandbox, the default value is + `false`. In non-application content, the default value is `true`. + + + + Specifies the application domain to use for the `Loader.load()` or + `Loader.loadBytes()` method. Use this property only when loading a SWF + file written in ActionScript 3.0 (not an image or a SWF file written + in ActionScript 1.0 or ActionScript 2.0). + Every security domain is divided into one or more application domains, + represented by ApplicationDomain objects. Application domains are not + for security purposes; they are for managing cooperating units of + ActionScript code. If you are loading a SWF file from another domain, + and allowing it to be placed in a separate security domain, then you + cannot control the choice of application domain into which the loaded + SWF file is placed; and if you have specified a choice of application + domain, it will be ignored. However, if you are loading a SWF file + into your own security domain � either because the SWF file comes + from your own domain, or because you are importing it into your + security domain � then you can control the choice of application + domain for the loaded SWF file. + + You can pass an application domain only from your own security domain + in `LoaderContext.applicationDomain`. Attempting to pass an + application domain from any other security domain results in a + `SecurityError` exception. + + You have four choices for what kind of `ApplicationDomain` property to + use: + + * **Child of loader's ApplicationDomain.** The default. You can + explicitly represent this choice with the syntax `new + ApplicationDomain(ApplicationDomain.currentDomain)`. This allows the + loaded SWF file to use the parent's classes directly, for example by + writing `new MyClassDefinedInParent()`. The parent, however, cannot + use this syntax; if the parent wishes to use the child's classes, it + must call `ApplicationDomain.getDefinition()` to retrieve them. The + advantage of this choice is that, if the child defines a class with + the same name as a class already defined by the parent, no error + results; the child simply inherits the parent's definition of that + class, and the child's conflicting definition goes unused unless + either child or parent calls the `ApplicationDomain.getDefinition()` + method to retrieve it. + * **Loader's own ApplicationDomain.** You use this application domain + when using `ApplicationDomain.currentDomain`. When the load is + complete, parent and child can use each other's classes directly. If + the child attempts to define a class with the same name as a class + already defined by the parent, the parent class is used and the child + class is ignored. + * **Child of the system ApplicationDomain.** You use this application + domain when using `new ApplicationDomain(null)`. This separates loader + and loadee entirely, allowing them to define separate versions of + classes with the same name without conflict or overshadowing. The only + way either side sees the other's classes is by calling the + `ApplicationDomain.getDefinition()` method. + * **Child of some other ApplicationDomain.** Occasionally you may have + a more complex ApplicationDomain hierarchy. You can load a SWF file + into any ApplicationDomain from your own SecurityDomain. For example, + `new + ApplicationDomain(ApplicationDomain.currentDomain.parentDomain.parentDomain)` + loads a SWF file into a new child of the current domain's parent's + parent. + + When a load is complete, either side (loading or loaded) may need to + find its own ApplicationDomain, or the other side's ApplicationDomain, + for the purpose of calling `ApplicationDomain.getDefinition()`. Either + side can retrieve a reference to its own application domain by using + `ApplicationDomain.currentDomain`. The loading SWF file can retrieve a + reference to the loaded SWF file's ApplicationDomain via + `Loader.contentLoaderInfo.applicationDomain`. If the loaded SWF file + knows how it was loaded, it can find its way to the loading SWF file's + ApplicationDomain object. For example, if the child was loaded in the + default way, it can find the loading SWF file's application domain by + using `ApplicationDomain.currentDomain.parentDomain`. + + For more information, see the "ApplicationDomain class" section of the + "Client System Environment" chapter of the _ActionScript 3.0 + Developer's Guide_. + + + + ` tags. + + If you set `checkPolicyFile` to `true`, the main download that + specified in the `Loader.load()` method does not load until the policy + file has been completely processed. Therefore, as long as the policy + file that you need exists, as soon as you have received any + `ProgressEvent.PROGRESS` or `Event.COMPLETE` events from the + `contentLoaderInfo` property of your Loader object, the policy file + download is complete, and you can safely begin performing operations + that require the policy file. + + If you set `checkPolicyFile` to `true`, and no relevant policy file is + found, you will not receive any error indication until you attempt an + operation that throws a `SecurityError` exception. However, once the + LoaderInfo object dispatches a `ProgressEvent.PROGRESS` or + `Event.COMPLETE` event, you can test whether a relevant policy file + was found by checking the value of the `LoaderInfo.childAllowsParent` + property. + + If you will not need pixel-level access to the image that you are + loading, you should not set the `checkPolicyFile` property to `true`. + Checking for a policy file in this case is wasteful, because it may + delay the start of your download, and it may consume network bandwidth + unnecessarily. + + Also try to avoid setting `checkPolicyFile` to `true` if you are using + the `Loader.load()` method to download a SWF file. This is because + SWF-to-SWF permissions are not controlled by policy files, but rather + by the `Security.allowDomain()` method, and thus `checkPolicyFile` has + no effect when you load a SWF file. Checking for a policy file in this + case is wasteful, because it may delay the download of the SWF file, + and it may consume network bandwidth unnecessarily. (Flash Player or + AIR cannot tell whether your main download will be a SWF file or an + image, because the policy file download occurs before the main + download.) + + Be careful with `checkPolicyFile` if you are downloading an object + from a URL that may use server-side HTTP redirects. Policy files are + always retrieved from the corresponding initial URL that you specify + in `URLRequest.url`. If the final object comes from a different URL + because of HTTP redirects, then the initially downloaded policy files + might not be applicable to the object's final URL, which is the URL + that matters in security decisions. If you find yourself in this + situation, you can examine the value of `LoaderInfo.url` after you + have received a `ProgressEvent.PROGRESS` or `Event.COMPLETE` event, + which tells you the object's final URL. Then call the + `Security.loadPolicyFile()` method with a policy file URL based on the + object's final URL. Then poll the value of + `LoaderInfo.childAllowsParent` until it becomes `true`. + + You do not need to set this property for AIR content running in the + application sandbox. Content in the AIR application sandbox can call + the `BitmapData.draw()` method using any loaded image content as the + source.]]> + + + + Specifies the security domain to use for a `Loader.load()` operation. + Use this property only when loading a SWF file (not an image). + The choice of security domain is meaningful only if you are loading a + SWF file that might come from a different domain (a different server) + than the loading SWF file. When you load a SWF file from your own + domain, it is always placed into your security domain. But when you + load a SWF file from a different domain, you have two options. You can + allow the loaded SWF file to be placed in its "natural" security + domain, which is different from that of the loading SWF file; this is + the default. The other option is to specify that you want to place the + loaded SWF file placed into the same security domain as the loading + SWF file, by setting `myLoaderContext.securityDomain` to be equal to + `SecurityDomain.currentDomain`. This is called _import loading_, and + it is equivalent, for security purposes, to copying the loaded SWF + file to your own server and loading it from there. In order for import + loading to succeed, the loaded SWF file's server must have a policy + file trusting the domain of the loading SWF file. + + You can pass your own security domain only in + `LoaderContext.securityDomain`. Attempting to pass any other security + domain results in a `SecurityError` exception. + + Content in the AIR application security sandbox cannot load content + from other sandboxes into its SecurityDomain. + + For more information, see the "Security" chapter in the _ActionScript + 3.0 Developer's Guide_. + + + + + + + + + { securityDomain : null, applicationDomain : null, checkPolicyFile : false } + Creates a new LoaderContext object, with the specified settings. For + complete details on these settings, see the descriptions of the + properties of this class. + + @param checkPolicyFile Specifies whether a check should be made for + the existence of a URL policy file before + loading the object. + @param applicationDomain Specifies the ApplicationDomain object to use + for a Loader object. + @param securityDomain Specifies the SecurityDomain object to use + for a Loader object. + _Note:_ Content in the air application + security sandbox cannot load content from + other sandboxes into its SecurityDomain. + + The LoaderContext class provides options for loading SWF files and other + media by using the Loader class. The LoaderContext class is used as the + `context` parameter in the `load()` and `loadBytes()` methods of the + Loader class. + When loading SWF files with the `Loader.load()` method, you have two + decisions to make: into which security domain the loaded SWF file should + be placed, and into which application domain within that security domain? + For more details on these choices, see the `applicationDomain` and + `securityDomain` properties. + + When loading a SWF file with the `Loader.loadBytes()` method, you have the + same application domain choice to make as for `Loader.load()`, but it's + not necessary to specify a security domain, because `Loader.loadBytes()` + always places its loaded SWF file into the security domain of the loading + SWF file. + + When loading images (JPEG, GIF, or PNG) instead of SWF files, there is no + need to specify a SecurityDomain or an application domain, because those + concepts are meaningful only for SWF files. Instead, you have only one + decision to make: do you need programmatic access to the pixels of the + loaded image? If so, see the `checkPolicyFile` property. If you want to + apply deblocking when loading an image, use the JPEGLoaderContext class + instead of the LoaderContext class. + + "tags=\"haxe,release\"" + + + + + + + new SecurityDomain() + Gets the current security domain. + + + + + + The SecurityDomain class represents the current security "sandbox," also + known as a security domain. By passing an instance of this class to + `Loader.load()`, you can request that loaded media be placed in a + particular sandbox. + + "tags=\"haxe,release\"" + + "checkstyle:UnnecessaryConstructor" + + + + + + The amount of memory(in bytes) currently in use that has been directly + allocated by Flash Player or AIR. + + This property does not return _all_ memory used by an Adobe AIR + application or by the application(such as a browser) containing Flash + Player content. The browser or operating system may consume other memory. + The `System.privateMemory` property reflects _all_ memory + used by an application. + + If the amount of memory allocated is greater than the maximum value for + a uint object(`uint.MAX_VALUE`, or 4,294,967,295), then this + property is set to 0. The `System.totalMemoryNumber` property + allows larger values. + + + + false + A Boolean value that determines which code page to use to interpret + external text files. When the property is set to `false`, + external text files are interpretted as Unicode.(These files must be + encoded as Unicode when you save them.) When the property is set to + `true`, external text files are interpretted using the + traditional code page of the operating system running the application. The + default value of `useCodePage` is `false`. + + Text that you load as an external file(using + `Loader.load()`, the URLLoader class or URLStream) must have + been saved as Unicode in order for the application to recognize it as + Unicode. To encode external files as Unicode, save the files in an + application that supports Unicode, such as Notepad on Windows. + + If you load external text files that are not Unicode-encoded, set + `useCodePage` to `true`. Add the following as the + first line of code of the file that is loading the data(for Flash + Professional, add it to the first frame): + `System.useCodePage = true;` + + When this code is present, the application interprets external text + using the traditional code page of the operating system. For example, this + is generally CP1252 for an English Windows operating system and Shift-JIS + for a Japanese operating system. + + If you set `useCodePage` to `true`, Flash Player + 6 and later treat text as Flash Player 5 does.(Flash Player 5 treated all + text as if it were in the traditional code page of the operating system + running the player.) + + If you set `useCodePage` to `true`, remember that + the traditional code page of the operating system running the application + must include the characters used in your external text file in order to + display your text. For example, if you load an external text file that + contains Chinese characters, those characters cannot display on a system + that uses the CP1252 code page because that code page does not include + Chinese characters. + + To ensure that users on all platforms can view external text files used + in your application, you should encode all external text files as Unicode + and leave `useCodePage` set to `false`. This way, + the application(Flash Player 6 and later, or AIR) interprets the text as + Unicode. + + + + + + hide + + Undocumented property + + + + + + + + + hide + + Makes the specified XML object immediately available for garbage + collection. This method will remove parent and child connections + between all the nodes for the specified XML node. + + @param node XML reference that should be made available for garbage + collection. + + + + + + + Closes Flash Player. + + _For the standalone Flash Player debugger version only._ + + AIR applications should call the `NativeApplication.exit()` + method to exit the application. + + @param code A value to pass to the operating system. Typically, if the + process exits normally, the value is 0. + + + + Forces the garbage collection process. + + _For the Flash Player debugger version and AIR applications only._ + In an AIR application, the `System.gc()` method is only enabled + in content running in the AIR Debug Launcher(ADL) or, in an installed + applcation, in content in the application security sandbox. + + + + Pauses Flash Player or the AIR Debug Launcher(ADL). After calling this + method, nothing in the application continues except the delivery of Socket + events. + + _For the Flash Player debugger version or the AIR Debug Launcher + (ADL) only._ + + + + Resumes the application after calling `System.pause()`. + + _For the Flash Player debugger version or the AIR Debug Launcher + (ADL) only._ + + + + + + + Replaces the contents of the Clipboard with a specified text string. This + method works from any security context when called as a result of a user + event(such as a keyboard or input device event handler). + + This method is provided for SWF content running in Flash Player 9. It + allows only adding String content to the Clipboard. + + Flash Player 10 content and content in the application security sandbox + in an AIR application can call the `Clipboard.setData()` + method. + + @param string A plain-text string of characters to put on the system + Clipboard, replacing its current contents(if any). + + + + + + + + + + + + + The System class contains properties related to local settings and + operations. Among these are settings for camers and microphones, operations + with shared objects and the use of the Clipboard. + + Additional properties and methods are in other classes within the + openfl.system package: the Capabilities class, the IME class, and the + Security class. + + This class contains only static methods and properties. You cannot + create new instances of the System class. + + "tags=\"haxe,release\"" + + + + + + + + + The AntiAliasType class provides values for anti-aliasing in the + openfl.text.TextField class. + + + + + + cast 0 + + + + Sets anti-aliasing to advanced anti-aliasing. Advanced anti-aliasing + allows font faces to be rendered at very high quality at small sizes. It + is best used with applications that have a lot of small text. Advanced + anti-aliasing is not recommended for very large fonts(larger than 48 + points). This constant is used for the `antiAliasType` property + in the TextField class. Use the syntax + `AntiAliasType.ADVANCED`. + + + + + cast 1 + + + + Sets anti-aliasing to the anti-aliasing that is used in Flash Player 7 and + earlier. This setting is recommended for applications that do not have a + lot of text. This constant is used for the `antiAliasType` + property in the TextField class. Use the syntax + `AntiAliasType.NORMAL`. + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + Sets anti-aliasing to advanced anti-aliasing. Advanced anti-aliasing + allows font faces to be rendered at very high quality at small sizes. It + is best used with applications that have a lot of small text. Advanced + anti-aliasing is not recommended for very large fonts(larger than 48 + points). This constant is used for the `antiAliasType` property + in the TextField class. Use the syntax + `AntiAliasType.ADVANCED`. + + + + + cast 1 + + + + Sets anti-aliasing to the anti-aliasing that is used in Flash Player 7 and + earlier. This setting is recommended for applications that do not have a + lot of text. This constant is used for the `antiAliasType` + property in the TextField class. Use the syntax + `AntiAliasType.NORMAL`. + + + + + + + + + + + + + + + + + + + + + + The FontStyle class provides values for the TextRenderer class. + + + + + + cast 0 + + + + Defines the bold style of a font for the `fontStyle` parameter + in the `setAdvancedAntiAliasingTable()` method. Use the syntax + `FontStyle.BOLD`. + + + + + cast 1 + + + + Defines the italic style of a font for the `fontStyle` + parameter in the `setAdvancedAntiAliasingTable()` method. Use + the syntax `FontStyle.ITALIC`. + + + + + cast 2 + + + + Defines the italic style of a font for the `fontStyle` + parameter in the `setAdvancedAntiAliasingTable()` method. Use + the syntax `FontStyle.ITALIC`. + + + + + cast 3 + + + + Defines the plain style of a font for the `fontStyle` parameter + in the `setAdvancedAntiAliasingTable()` method. Use the syntax + `FontStyle.REGULAR`. + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + Defines the bold style of a font for the `fontStyle` parameter + in the `setAdvancedAntiAliasingTable()` method. Use the syntax + `FontStyle.BOLD`. + + + + + cast 1 + + + + Defines the italic style of a font for the `fontStyle` + parameter in the `setAdvancedAntiAliasingTable()` method. Use + the syntax `FontStyle.ITALIC`. + + + + + cast 2 + + + + Defines the italic style of a font for the `fontStyle` + parameter in the `setAdvancedAntiAliasingTable()` method. Use + the syntax `FontStyle.ITALIC`. + + + + + cast 3 + + + + Defines the plain style of a font for the `fontStyle` parameter + in the `setAdvancedAntiAliasingTable()` method. Use the syntax + `FontStyle.REGULAR`. + + + + + + + + + + + + + + + + + + + + + + The FontType class contains the enumerated constants + `"embedded"` and `"device"` for the + `fontType` property of the Font class. + + + + + + cast 0 + + + + Indicates that this is a device font. The SWF file renders fonts with + those installed on the system. + + Using device fonts results in a smaller movie size, because font data + is not included in the file. Device fonts are often a good choice for + displaying text at small point sizes, because anti-aliased text can be + blurry at small sizes. Device fonts are also a good choice for large + blocks of text, such as scrolling text. + + Text fields that use device fonts may not be displayed the same across + different systems and platforms, because they are rendered with fonts + installed on the system. For the same reason, device fonts are not + anti-aliased and may appear jagged at large point sizes. + + + + + cast 1 + + + + Indicates that this is an embedded font. Font outlines are embedded in the + published SWF file. + + Text fields that use embedded fonts are always displayed in the chosen + font, whether or not that font is installed on the playback system. Also, + text fields that use embedded fonts are always anti-aliased(smoothed). + You can select the amount of anti-aliasing you want by using the + `TextField.antiAliasType property`. + + One drawback to embedded fonts is that they increase the size of the + SWF file. + + Fonts of type `EMBEDDED` can only be used by TextField. If + flash.text.engine classes are directed to use such a font they will fall + back to device fonts. + + + + + cast 2 + + + + Indicates that this is an embedded CFF font. Font outlines and a subset of + OpenType tables are embedded in the published SWF file. + + Text that uses embedded CFF fonts is always displayed in the chosen font, whether + or not that font is installed on the playback system. Also, text that uses + embedded CFF fonts is always anti-aliased (smoothed) by Flash Player. You can + select the rendering mode and hinting for an embedded CFF font using the + `flash.text.engine.FontDescription.renderingMode` and + `flash.text.engine.FontDescription.cffHinting` properties. + + One drawback to embedded CFF fonts is that they increase the size of the SWF file. + However, embedded CFF fonts are typically 20% to 30% smaller than regular + embedded fonts. + + Fonts of type EMBEDDED_CFF can only be used by the `flash.text.engine` classes. A + TextField directed to use such a font will fail to render. + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + Indicates that this is a device font. The SWF file renders fonts with + those installed on the system. + + Using device fonts results in a smaller movie size, because font data + is not included in the file. Device fonts are often a good choice for + displaying text at small point sizes, because anti-aliased text can be + blurry at small sizes. Device fonts are also a good choice for large + blocks of text, such as scrolling text. + + Text fields that use device fonts may not be displayed the same across + different systems and platforms, because they are rendered with fonts + installed on the system. For the same reason, device fonts are not + anti-aliased and may appear jagged at large point sizes. + + + + + cast 1 + + + + Indicates that this is an embedded font. Font outlines are embedded in the + published SWF file. + + Text fields that use embedded fonts are always displayed in the chosen + font, whether or not that font is installed on the playback system. Also, + text fields that use embedded fonts are always anti-aliased(smoothed). + You can select the amount of anti-aliasing you want by using the + `TextField.antiAliasType property`. + + One drawback to embedded fonts is that they increase the size of the + SWF file. + + Fonts of type `EMBEDDED` can only be used by TextField. If + flash.text.engine classes are directed to use such a font they will fall + back to device fonts. + + + + + cast 2 + + + + Indicates that this is an embedded CFF font. Font outlines and a subset of + OpenType tables are embedded in the published SWF file. + + Text that uses embedded CFF fonts is always displayed in the chosen font, whether + or not that font is installed on the playback system. Also, text that uses + embedded CFF fonts is always anti-aliased (smoothed) by Flash Player. You can + select the rendering mode and hinting for an embedded CFF font using the + `flash.text.engine.FontDescription.renderingMode` and + `flash.text.engine.FontDescription.cffHinting` properties. + + One drawback to embedded CFF fonts is that they increase the size of the SWF file. + However, embedded CFF fonts are typically 20% to 30% smaller than regular + embedded fonts. + + Fonts of type EMBEDDED_CFF can only be used by the `flash.text.engine` classes. A + TextField directed to use such a font will fail to render. + + + + + + + + + + + + + + + + + + + + + + The GridFitType class defines values for grid fitting in the TextField + class. + + + + + + cast 0 + + + + Doesn't set grid fitting. Horizontal and vertical lines in the glyphs + are not forced to the pixel grid. This constant is used in setting the + `gridFitType` property of the TextField class. This is often a good + setting for animation or for large font sizes. Use the syntax + `GridFitType.NONE`. + + + + + cast 1 + + + + Fits strong horizontal and vertical lines to the pixel grid. This + constant is used in setting the `gridFitType` property of the + TextField class. This setting only works for left-justified text + fields and acts like the `GridFitType.SUBPIXEL` constant in static + text. This setting generally provides the best readability for + left-aligned text. Use the syntax `GridFitType.PIXEL`. + + + + + cast 2 + + + + Fits strong horizontal and vertical lines to the sub-pixel grid on LCD + monitors. (Red, green, and blue are actual pixels on an LCD screen.) + This is often a good setting for right-aligned or center-aligned + dynamic text, and it is sometimes a useful tradeoff for animation vs. + text quality. This constant is used in setting the `gridFitType` + property of the TextField class. Use the syntax + `GridFitType.SUBPIXEL`. + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + Doesn't set grid fitting. Horizontal and vertical lines in the glyphs + are not forced to the pixel grid. This constant is used in setting the + `gridFitType` property of the TextField class. This is often a good + setting for animation or for large font sizes. Use the syntax + `GridFitType.NONE`. + + + + + cast 1 + + + + Fits strong horizontal and vertical lines to the pixel grid. This + constant is used in setting the `gridFitType` property of the + TextField class. This setting only works for left-justified text + fields and acts like the `GridFitType.SUBPIXEL` constant in static + text. This setting generally provides the best readability for + left-aligned text. Use the syntax `GridFitType.PIXEL`. + + + + + cast 2 + + + + Fits strong horizontal and vertical lines to the sub-pixel grid on LCD + monitors. (Red, green, and blue are actual pixels on an LCD screen.) + This is often a good setting for right-aligned or center-aligned + dynamic text, and it is sometimes a useful tradeoff for animation vs. + text quality. This constant is used in setting the `gridFitType` + property of the TextField class. Use the syntax + `GridFitType.SUBPIXEL`. + + + + + + + + + + + + + + + + + + + + + + The TextFieldAutoSize class is an enumeration of constant values used in + setting the `autoSize` property of the TextField class. + + +

      + + + cast 0 + + + + Specifies that the text is to be treated as center-justified text. Any + resizing of a single line of a text field is equally distributed to both + the right and left sides. +
      + + + + cast 1 + + + + Specifies that the text is to be treated as left-justified text, meaning + that the left side of the text field remains fixed and any resizing of a + single line is on the right side. + + + + + cast 2 + + + + Specifies that no resizing is to occur. + + + + + cast 3 + + + + Specifies that the text is to be treated as right-justified text, meaning + that the right side of the text field remains fixed and any resizing of a + single line is on the left side. + + + + + + + + + + + + + + + + +
      + + +
      + + + cast 0 + + + + Specifies that the text is to be treated as center-justified text. Any + resizing of a single line of a text field is equally distributed to both + the right and left sides. +
      + + + + cast 1 + + + + Specifies that the text is to be treated as left-justified text, meaning + that the left side of the text field remains fixed and any resizing of a + single line is on the right side. + + + + + cast 2 + + + + Specifies that no resizing is to occur. + + + + + cast 3 + + + + Specifies that the text is to be treated as right-justified text, meaning + that the right side of the text field remains fixed and any resizing of a + single line is on the left side. + + + + + + + + + + + + + + + + +
      + + + + + The TextFieldType class is an enumeration of constant values used in + setting the `type` property of the TextField class. + + + + + + cast 0 + + + + Used to specify a `dynamic` TextField. + + + + + cast 1 + + + + Used to specify an `input` TextField. + + + + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + Used to specify a `dynamic` TextField. + + + + + cast 1 + + + + Used to specify an `input` TextField. + + + + + + + + + + + + + + + + + + + + + + + + Indicates the alignment of the paragraph. Valid values are TextFormatAlign + constants. + + @default TextFormatAlign.LEFT + @throws ArgumentError The `align` specified is not a member of + openfl.text.TextFormatAlign. + + + + Indicates the block indentation in pixels. Block indentation is applied to + an entire block of text; that is, to all lines of the text. In contrast, + normal indentation(`TextFormat.indent`) affects only the first + line of each paragraph. If this property is `null`, the + TextFormat object does not specify block indentation(block indentation is + 0). + + + + Specifies whether the text is boldface. The default value is + `null`, which means no boldface is used. If the value is + `true`, then the text is boldface. + + + + Indicates that the text is part of a bulleted list. In a bulleted list, + each paragraph of text is indented. To the left of the first line of each + paragraph, a bullet symbol is displayed. The default value is + `null`, which means no bulleted list is used. + + + + Indicates the color of the text. A number containing three 8-bit RGB + components; for example, 0xFF0000 is red, and 0x00FF00 is green. The + default value is `null`, which means that Flash Player uses the + color black(0x000000). + + + + The name of the font for text in this text format, as a string. The + default value is `null`, which means that Flash Player uses + Times New Roman font for the text. + + + + Indicates the indentation from the left margin to the first character in + the paragraph. The default value is `null`, which indicates + that no indentation is used. + + + + Indicates whether text in this text format is italicized. The default + value is `null`, which means no italics are used. + + + + A Boolean value that indicates whether kerning is enabled + (`true`) or disabled(`false`). Kerning adjusts the + pixels between certain character pairs to improve readability, and should + be used only when necessary, such as with headings in large fonts. Kerning + is supported for embedded fonts only. + + Certain fonts such as Verdana and monospaced fonts, such as Courier + New, do not support kerning. + + The default value is `null`, which means that kerning is not + enabled. + + + + An integer representing the amount of vertical space(called + _leading_) between lines. The default value is `null`, + which indicates that the amount of leading used is 0. + + + + The left margin of the paragraph, in pixels. The default value is + `null`, which indicates that the left margin is 0 pixels. + + + + A number representing the amount of space that is uniformly distributed + between all characters. The value specifies the number of pixels that are + added to the advance after each character. The default value is + `null`, which means that 0 pixels of letter spacing is used. + You can use decimal values such as `1.75`. + + + + The right margin of the paragraph, in pixels. The default value is + `null`, which indicates that the right margin is 0 pixels. + + + + The size in pixels of text in this text format. The default value is + `null`, which means that a size of 12 is used. + + + + Specifies custom tab stops as an array of non-negative integers. Each tab + stop is specified in pixels. If custom tab stops are not specified + (`null`), the default tab stop is 4(average character width). + + + + Indicates the target window where the hyperlink is displayed. If the + target window is an empty string, the text is displayed in the default + target window `_self`. You can choose a custom name or one of + the following four names: `_self` specifies the current frame + in the current window, `_blank` specifies a new window, + `_parent` specifies the parent of the current frame, and + `_top` specifies the top-level frame in the current window. If + the `TextFormat.url` property is an empty string or + `null`, you can get or set this property, but the property will + have no effect. + + + + ` tag, but the latter is + not true underlining, because it does not skip descenders correctly. The + default value is `null`, which indicates that underlining is + not used.]]> + + + + Indicates the target URL for the text in this text format. If the + `url` property is an empty string, the text does not have a + hyperlink. The default value is `null`, which indicates that + the text does not have a hyperlink. + + **Note:** The text with the assigned text format must be set with + the `htmlText` property for the hyperlink to work. + + <__ascent> + + + + <__descent> + + + + <__cacheKey> + + + + + + + "checkstyle:FieldDocComment" + hide + + + + <__merge set="method" line="300"> + + + + + + + <__toCacheKey set="method" line="327"> + + + + + + + + + + + + + + + + + + + + + { leading : null, indent : null, rightMargin : null, leftMargin : null, align : null, target : null, url : null, underline : null, italic : null, bold : null, color : null, size : null, font : null } + Creates a TextFormat object with the specified properties. You can then + change the properties of the TextFormat object to change the formatting of + text fields. + + Any parameter may be set to `null` to indicate that it is + not defined. All of the parameters are optional; any omitted parameters + are treated as `null`. + + @param font The name of a font for text as a string. + @param size An integer that indicates the size in pixels. + @param color The color of text using this text format. A number + containing three 8-bit RGB components; for example, + 0xFF0000 is red, and 0x00FF00 is green. + @param bold A Boolean value that indicates whether the text is + boldface. + @param italic A Boolean value that indicates whether the text is + italicized. + @param underline A Boolean value that indicates whether the text is + underlined. + @param url The URL to which the text in this text format + hyperlinks. If `url` is an empty string, the + text does not have a hyperlink. + @param target The target window where the hyperlink is displayed. If + the target window is an empty string, the text is + displayed in the default target window + `_self`. If the `url` parameter + is set to an empty string or to the value + `null`, you can get or set this property, + but the property will have no effect. + @param align The alignment of the paragraph, as a TextFormatAlign + value. + @param leftMargin Indicates the left margin of the paragraph, in pixels. + @param rightMargin Indicates the right margin of the paragraph, in pixels. + @param indent An integer that indicates the indentation from the left + margin to the first character in the paragraph. + @param leading A number that indicates the amount of leading vertical + space between lines. + + The TextFormat class represents character formatting information. Use the + TextFormat class to create specific text formatting for text fields. You + can apply text formatting to both static and dynamic text fields. The + properties of the TextFormat class apply to device and embedded fonts. + However, for embedded fonts, bold and italic text actually require + specific fonts. If you want to display bold or italic text with an + embedded font, you need to embed the bold and italic variations of that + font. + + You must use the constructor `new TextFormat()` to create a TextFormat + object before setting its properties. When you apply a TextFormat object + to a text field using the `TextField.defaultTextFormat` property or the + `TextField.setTextFormat()` method, only its defined properties are + applied. Use the `TextField.defaultTextFormat` property to apply + formatting BEFORE you add text to the `TextField`, and the + `setTextFormat()` method to add formatting AFTER you add text to the + `TextField`. The TextFormat properties are `null` by default because if + you don't provide values for the properties, Flash Player uses its own + default formatting. The default formatting that Flash Player uses for each + property (if property's value is `null`) is as follows: + + | | | + | --- | --- | + | align = "left" | | + | blockIndent = 0 | | + | bold = false | | + | bullet = false | | + | color = 0x000000 | | + | font = "Times New Roman" (default font is Times on Mac OS X) | | + | indent = 0 | | + | italic = false | | + | kerning = false | | + | leading = 0 | | + | leftMargin = 0 | | + | letterSpacing = 0 | | + | rightMargin = 0 | | + | size = 12 | | + | tabStops = [] (empty array) | | + | target = "" (empty string) | | + | underline = false | | + | url = "" (empty string) | | + + The default formatting for each property is also described in each + property description. + + + "tags=\"haxe,release\"" + + + + + + + + The TextFormatAlign class provides values for text alignment in the + TextFormat class. + + +
      + + + cast 0 + + + + Constant; centers the text in the text field. Use the syntax + `TextFormatAlign.CENTER`. +
      + + + + cast 1 + + + + Constant; aligns text to the end edge of a line. Same as right for left-to-right + languages and same as left for right-to-left languages. + + The `END` constant may only be used with the StageText class. + + + + + cast 2 + + + + Constant; justifies text within the text field. Use the syntax + `TextFormatAlign.JUSTIFY`. + + + + + cast 3 + + + + Constant; aligns text to the left within the text field. Use the syntax + `TextFormatAlign.LEFT`. + + + + + cast 4 + + + + Constant; aligns text to the right within the text field. Use the syntax + `TextFormatAlign.RIGHT`. + + + + + cast 5 + + + + Constant; aligns text to the start edge of a line. Same as left for left-to-right + languages and same as right for right-to-left languages. + + The `START` constant may only be used with the StageText class. + + + + + + + + + + + + + + + + + + + +
      +
      + +
      + + + cast 0 + + + + Constant; centers the text in the text field. Use the syntax + `TextFormatAlign.CENTER`. +
      + + + + cast 1 + + + + Constant; aligns text to the end edge of a line. Same as right for left-to-right + languages and same as left for right-to-left languages. + + The `END` constant may only be used with the StageText class. + + + + + cast 2 + + + + Constant; justifies text within the text field. Use the syntax + `TextFormatAlign.JUSTIFY`. + + + + + cast 3 + + + + Constant; aligns text to the left within the text field. Use the syntax + `TextFormatAlign.LEFT`. + + + + + cast 4 + + + + Constant; aligns text to the right within the text field. Use the syntax + `TextFormatAlign.RIGHT`. + + + + + cast 5 + + + + Constant; aligns text to the start edge of a line. Same as left for left-to-right + languages and same as right for right-to-left languages. + + The `START` constant may only be used with the StageText class. + + + + + + + + + + + + + + + + + + + +
      + + + + The ascent value of the text is the length from the baseline to the + top of the line height in pixels. See the "Ascent" measurement in the + overview diagram for this class. + + + + The descent value of the text is the length from the baseline to the + bottom depth of the line in pixels. See the "Descent" measurement in + the overview diagram for this class. + + + + The height value of the text of the selected lines (not necessarily + the complete text) in pixels. The height of the text line does not + include the gutter height. See the "Line height" measurement in the + overview diagram for this class. + + + + The leading value is the measurement of the vertical distance between + the lines of text. See the "Leading" measurement in the overview + diagram for this class. + + + + The width value is the width of the text of the selected lines (not + necessarily the complete text) in pixels. The width of the text line + is not the same as the width of the text field. The width of the text + line is relative to the text field width, minus the gutter width of 4 + pixels (2 pixels on each side). See the "Text Line width" measurement + in the overview diagram for this class. + + + + The x value is the left position of the first character in pixels. + This value includes the margin, indent (if any), and gutter widths. + See the "Text Line x-position" in the overview diagram for this class. + + + + + + + + + + + + Creates a TextLineMetrics object. The TextLineMetrics object contains + information about the text metrics of a line of text in a text field. + Objects of this class are returned by the + openfl.text.TextField.getLineMetrics() method. + + @param x The left position of the first character in pixels. + @param width The width of the text of the selected lines (not + necessarily the complete text) in pixels. + @param height The height of the text of the selected lines (not + necessarily the complete text) in pixels. + @param ascent The length from the baseline to the top of the line + height in pixels. + @param descent The length from the baseline to the bottom depth of + the line in pixels. + @param leading The measurement of the vertical distance between the + lines of text. + + The TextLineMetrics class contains information about the text position and + measurements of a _line of text_ within a text field. All measurements are + in pixels. Objects of this class are returned by the + `openfl.text.TextField.getLineMetrics()` method. + For measurements related to the text field containing the line of text + (for example, the "Text Field height" measurement in the diagram), see + openfl.text.TextField. + + The following diagram indicates the points and measurements of a text + field and the line of text the field contains: + + ![An image illustrating text metrics](/images/text-metrics.jpg) + + + "tags=\"haxe,release\"" + + + + + <__collisions> + <__wordMap> + + + + + + + + + + + <__addCollision set="method" line="42"> + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + { offset : null } + + + + "tags=\"haxe,release\"" + + ["checkstyle:FieldDocComment", "checkstyle:Dynamic"] + + + + <__regexAlign expr="~/align\s?=\s?("([^"]+)"|'([^']+)')/" line="14" static="1"> + + ~/align\s?=\s?("([^"]+)"|'([^']+)')/ + + <__regexBreakTag expr="~/<br\s*/?>/" line="15" static="1"> + + /]]> + + <__regexBlockIndent expr="~/blockindent\s?=\s?("([^"]+)"|'([^']+)')/" line="16" static="1"> + + ~/blockindent\s?=\s?("([^"]+)"|'([^']+)')/ + + <__regexColor expr="~/color\s?=\s?("#([^"]+)"|'#([^']+)')/" line="17" static="1"> + + ~/color\s?=\s?("#([^"]+)"|'#([^']+)')/ + + <__regexEntities expr="[~/&quot;/, ~/&apos;/, ~/&amp;/, ~/&lt;/, ~/&gt;/, ~/&nbsp;/]" line="18" static="1"> + + + + <__regexFace expr="~/face\s?=\s?("([^"]+)"|'([^']+)')/" line="19" static="1"> + + ~/face\s?=\s?("([^"]+)"|'([^']+)')/ + + <__regexHTMLTag expr="~/<.*?>/" line="20" static="1"> + + /]]> + + <__regexHref expr="~/href\s?=\s?("([^"]+)"|'([^']+)')/" line="21" static="1"> + + ~/href\s?=\s?("([^"]+)"|'([^']+)')/ + + <__regexIndent expr="~/ indent\s?=\s?("([^"]+)"|'([^']+)')/" line="22" static="1"> + + ~/ indent\s?=\s?("([^"]+)"|'([^']+)')/ + + <__regexLeading expr="~/leading\s?=\s?("([^"]+)"|'([^']+)')/" line="23" static="1"> + + ~/leading\s?=\s?("([^"]+)"|'([^']+)')/ + + <__regexLeftMargin expr="~/leftmargin\s?=\s?("([^"]+)"|'([^']+)')/" line="24" static="1"> + + ~/leftmargin\s?=\s?("([^"]+)"|'([^']+)')/ + + <__regexRightMargin expr="~/rightmargin\s?=\s?("([^"]+)"|'([^']+)')/" line="25" static="1"> + + ~/rightmargin\s?=\s?("([^"]+)"|'([^']+)')/ + + <__regexSize expr="~/size\s?=\s?("([^"]+)"|'([^']+)')/" line="26" static="1"> + + ~/size\s?=\s?("([^"]+)"|'([^']+)')/ + + <__regexTabStops expr="~/tabstops\s?=\s?("([^"]+)"|'([^']+)')/" line="27" static="1"> + + ~/tabstops\s?=\s?("([^"]+)"|'([^']+)')/ + + + + + + + + <__getAttributeMatch set="method" line="237" static="1"> + + + + + + "tags=\"haxe,release\"" + + "checkstyle:FieldDocComment" + + + + + + + + <__shortWordMap> + <__longWordMap> + + + + + + <__cacheShortWord set="method" line="53"> + + + + + + <__cacheLongWord set="method" line="76"> + + + + + + + + + "tags=\"haxe,release\"" + + openfl.text.TextFormat + "checkstyle:FieldDocComment" + + + + + + 2 + + + + 9 + + + + 10 + + + + 32 + + + + 0x2D + + <__defaultFonts expr="new Map()" line="41" static="1"> + + + + + new Map() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <__cursorTimer> + + + + <__hasFocus> + + + + <__isKeyDown> + + + + <__measuredHeight> + + + + <__measuredWidth> + + + + <__restrictRegexp> + + + + <__selectionStart> + + + + <__shapeCache> + + + + <__showCursor> + + + + <__textFormat> + + + + <__textLayout> + + + + <__texture> + + + + <__useIntAdvances> + <__cairoFont public="1"> + + + "checkstyle:Dynamic" + + hide + + + <__font public="1"> + + + + hide + + + + + + + + + + + + + + + + + + { startIndex : 0 } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + openfl.text.Font + openfl.text.TextField + openfl.text.TextFormat + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + + + + + + 0 + + + + 1 + + + + 2 + + + + 4 + + + + 8 + + + + 16 + + + + 32 + + + + 64 + + + + 128 + + + + 256 + + + + 512 + + + + 1024 + + + + 2048 + + + + 4096 + + + + 8192 + + + + 16384 + + + + 32768 + + + + 65536 + + + + + + + + + + + + + + + "checkstyle:Dynamic" + + + + + 0 + + + + + + + + + <__buffer> + <__direction> + <__dirty> + <__handle> + + "checkstyle:Dynamic" + + <__language> + <__script> + <__font> + <__hbBuffer> + + "checkstyle:Dynamic" + + <__hbFont> + + "checkstyle:Dynamic" + + <__create set="method" line="89"> + + + + + + <__position set="method" line="101"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "checkstyle:Dynamic" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { language : "en", script : COMMON, direction : LEFT_TO_RIGHT, size : 12, font : null, text : "" } + + + + "tags=\"haxe,release\"" + + "checkstyle:FieldDocComment" + + + + + + + + + + "checkstyle:FieldDocComment" + + + + + + + cast 0 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + cast 6 + + + + + + + + cast 7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + + + + + cast 4 + + + + + + + + cast 5 + + + + + + + + cast 6 + + + + + + + + cast 7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "checkstyle:FieldDocComment" + + + + + + + cast "Zyyy" + + + + + + + + cast "Zinh" + + + + + + + + cast "Zzzz" + + + + + + + + cast "Arab" + + + + + + + + cast "Armn" + + + + + + + + cast "Beng" + + + + + + + + cast "Cyrl" + + + + + + + + cast "Deva" + + + + + + + + cast "Geor" + + + + + + + + cast "Grek" + + + + + + + + cast "Gujr" + + + + + + + + cast "Guru" + + + + + + + + cast "Hang" + + + + + + + + cast "Hani" + + + + + + + + cast "Hebr" + + + + + + + + cast "Hira" + + + + + + + + cast "Knda" + + + + + + + + cast "Kana" + + + + + + + + cast "Laoo" + + + + + + + + cast "Latn" + + + + + + + + cast "Mlym" + + + + + + + + cast "Orya" + + + + + + + + cast "Taml" + + + + + + + + cast "Telu" + + + + + + + + cast "Thai" + + + + + + + + cast "Tibt" + + + + + + + + cast "Bopo" + + + + + + + + cast "Brai" + + + + + + + + cast "Cans" + + + + + + + + cast "Cher" + + + + + + + + cast "Ethi" + + + + + + + + cast "Khmr" + + + + + + + + cast "Mong" + + + + + + + + cast "Mymr" + + + + + + + + cast "Ogam" + + + + + + + + cast "Runr" + + + + + + + + cast "Sinh" + + + + + + + + cast "Syrc" + + + + + + + + cast "Thaa" + + + + + + + + cast "Yiii" + + + + + + + + cast "Dsrt" + + + + + + + + cast "Goth" + + + + + + + + cast "Ital" + + + + + + + + cast "Buhd" + + + + + + + + cast "Hano" + + + + + + + + cast "Tglg" + + + + + + + + cast "Tagb" + + + + + + + + cast "Cprt" + + + + + + + + cast "Limb" + + + + + + + + cast "Linb" + + + + + + + + cast "Osma" + + + + + + + + cast "Shaw" + + + + + + + + cast "Tale" + + + + + + + + cast "Ugar" + + + + + + + + cast "Bugi" + + + + + + + + cast "Copt" + + + + + + + + cast "Glag" + + + + + + + + cast "Khar" + + + + + + + + cast "Talu" + + + + + + + + cast "Xpeo" + + + + + + + + cast "Sylo" + + + + + + + + cast "Tfng" + + + + + + + + cast "Bali" + + + + + + + + cast "Xsux" + + + + + + + + cast "Nkoo" + + + + + + + + cast "Phag" + + + + + + + + cast "Phnx" + + + + + + + + cast "Cari" + + + + + + + + cast "Cham" + + + + + + + + cast "Kali" + + + + + + + + cast "Lepc" + + + + + + + + cast "Lyci" + + + + + + + + cast "Lydi" + + + + + + + + cast "Olck" + + + + + + + + cast "Rjng" + + + + + + + + cast "Saur" + + + + + + + + cast "Sund" + + + + + + + + cast "Vaii" + + + + + + + + cast "Avst" + + + + + + + + cast "Bamu" + + + + + + + + cast "Egyp" + + + + + + + + cast "Armi" + + + + + + + + cast "Phli" + + + + + + + + cast "Prti" + + + + + + + + cast "Java" + + + + + + + + cast "Kthi" + + + + + + + + cast "Lisu" + + + + + + + + cast "Mtei" + + + + + + + + cast "Sarb" + + + + + + + + cast "Orkh" + + + + + + + + cast "Samr" + + + + + + + + cast "Lana" + + + + + + + + cast "Tavt" + + + + + + + + cast "Batk" + + + + + + + + cast "Brah" + + + + + + + + cast "Mand" + + + + + + + + cast "Cakm" + + + + + + + + cast "Merc" + + + + + + + + cast "Mero" + + + + + + + + cast "Plrd" + + + + + + + + cast "Shrd" + + + + + + + + cast "Sora" + + + + + + + + cast "Takr" + + + + + + + + cast "Bass" + + + + + + + + cast "Aghb" + + + + + + + + cast "Dupl" + + + + + + + + cast "Elba" + + + + + + + + cast "Gran" + + + + + + + + cast "Khoj" + + + + + + + + cast "Sind" + + + + + + + + cast "Lina" + + + + + + + + cast "Mahj" + + + + + + + + cast "Mani" + + + + + + + + cast "Mend" + + + + + + + + cast "Modi" + + + + + + + + cast "Mroo" + + + + + + + + cast "Nbat" + + + + + + + + cast "Narb" + + + + + + + + cast "Perm" + + + + + + + + cast "Hmng" + + + + + + + + cast "Palm" + + + + + + + + cast "Pauc" + + + + + + + + cast "Phlp" + + + + + + + + cast "Sidd" + + + + + + + + cast "Tirh" + + + + + + + + cast "Wara" + + + + + + + + + + + + + + + + + + + + + + + + + + + cast "Zyyy" + + + + + + + + cast "Zinh" + + + + + + + + cast "Zzzz" + + + + + + + + cast "Arab" + + + + + + + + cast "Armn" + + + + + + + + cast "Beng" + + + + + + + + cast "Cyrl" + + + + + + + + cast "Deva" + + + + + + + + cast "Geor" + + + + + + + + cast "Grek" + + + + + + + + cast "Gujr" + + + + + + + + cast "Guru" + + + + + + + + cast "Hang" + + + + + + + + cast "Hani" + + + + + + + + cast "Hebr" + + + + + + + + cast "Hira" + + + + + + + + cast "Knda" + + + + + + + + cast "Kana" + + + + + + + + cast "Laoo" + + + + + + + + cast "Latn" + + + + + + + + cast "Mlym" + + + + + + + + cast "Orya" + + + + + + + + cast "Taml" + + + + + + + + cast "Telu" + + + + + + + + cast "Thai" + + + + + + + + cast "Tibt" + + + + + + + + cast "Bopo" + + + + + + + + cast "Brai" + + + + + + + + cast "Cans" + + + + + + + + cast "Cher" + + + + + + + + cast "Ethi" + + + + + + + + cast "Khmr" + + + + + + + + cast "Mong" + + + + + + + + cast "Mymr" + + + + + + + + cast "Ogam" + + + + + + + + cast "Runr" + + + + + + + + cast "Sinh" + + + + + + + + cast "Syrc" + + + + + + + + cast "Thaa" + + + + + + + + cast "Yiii" + + + + + + + + cast "Dsrt" + + + + + + + + cast "Goth" + + + + + + + + cast "Ital" + + + + + + + + cast "Buhd" + + + + + + + + cast "Hano" + + + + + + + + cast "Tglg" + + + + + + + + cast "Tagb" + + + + + + + + cast "Cprt" + + + + + + + + cast "Limb" + + + + + + + + cast "Linb" + + + + + + + + cast "Osma" + + + + + + + + cast "Shaw" + + + + + + + + cast "Tale" + + + + + + + + cast "Ugar" + + + + + + + + cast "Bugi" + + + + + + + + cast "Copt" + + + + + + + + cast "Glag" + + + + + + + + cast "Khar" + + + + + + + + cast "Talu" + + + + + + + + cast "Xpeo" + + + + + + + + cast "Sylo" + + + + + + + + cast "Tfng" + + + + + + + + cast "Bali" + + + + + + + + cast "Xsux" + + + + + + + + cast "Nkoo" + + + + + + + + cast "Phag" + + + + + + + + cast "Phnx" + + + + + + + + cast "Cari" + + + + + + + + cast "Cham" + + + + + + + + cast "Kali" + + + + + + + + cast "Lepc" + + + + + + + + cast "Lyci" + + + + + + + + cast "Lydi" + + + + + + + + cast "Olck" + + + + + + + + cast "Rjng" + + + + + + + + cast "Saur" + + + + + + + + cast "Sund" + + + + + + + + cast "Vaii" + + + + + + + + cast "Avst" + + + + + + + + cast "Bamu" + + + + + + + + cast "Egyp" + + + + + + + + cast "Armi" + + + + + + + + cast "Phli" + + + + + + + + cast "Prti" + + + + + + + + cast "Java" + + + + + + + + cast "Kthi" + + + + + + + + cast "Lisu" + + + + + + + + cast "Mtei" + + + + + + + + cast "Sarb" + + + + + + + + cast "Orkh" + + + + + + + + cast "Samr" + + + + + + + + cast "Lana" + + + + + + + + cast "Tavt" + + + + + + + + cast "Batk" + + + + + + + + cast "Brah" + + + + + + + + cast "Mand" + + + + + + + + cast "Cakm" + + + + + + + + cast "Merc" + + + + + + + + cast "Mero" + + + + + + + + cast "Plrd" + + + + + + + + cast "Shrd" + + + + + + + + cast "Sora" + + + + + + + + cast "Takr" + + + + + + + + cast "Bass" + + + + + + + + cast "Aghb" + + + + + + + + cast "Dupl" + + + + + + + + cast "Elba" + + + + + + + + cast "Gran" + + + + + + + + cast "Khoj" + + + + + + + + cast "Sind" + + + + + + + + cast "Lina" + + + + + + + + cast "Mahj" + + + + + + + + cast "Mani" + + + + + + + + cast "Mend" + + + + + + + + cast "Modi" + + + + + + + + cast "Mroo" + + + + + + + + cast "Nbat" + + + + + + + + cast "Narb" + + + + + + + + cast "Perm" + + + + + + + + cast "Hmng" + + + + + + + + cast "Palm" + + + + + + + + cast "Pauc" + + + + + + + + cast "Phlp" + + + + + + + + cast "Sidd" + + + + + + + + cast "Tirh" + + + + + + + + cast "Wara" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + "checkstyle:FieldDocComment" + + + + + + + + Returns the GameInputDevice object that contains this control. + + + + Returns the id of this control. + + + + Returns the maximum value for this control. + + + + Returns the minimum value for this control. + + + + Returns the value for this control. + + + + + + + + + + + + { value : 0 } + + + + + + "tags=\"haxe,release\"" + + + + + + + 32000 + Specifies the maximum size for the buffer used to cache sampled control values. + If `startCachingSamples` returns samples that require more memory than you specify, + it throws a memory error. + + + + Enables or disables this device. + + + + Returns the ID of this device. + + + + Returns the name of this device. + + + + Returns the number of controls on this device. + + + + Specifies the rate (in milliseconds) at which to retrieve control values. + + <__axis expr="new Map()"> + + + + + + new Map() + + + + <__button expr="new Map()"> + + + + + + new Map() + + + + <__controls expr="new Array()"> + + + new Array() + + + + <__gamepad> + + + + + + + + + + { append : false } + Writes cached sample values to the ByteArray. + @param data + @param append + @return + + + + + + + Retrieves a specific control from a device. + @param i + @return + + + + + + + + Requests this device to start keeping a cache of sampled values. + @param numSamples + @param controls + + + + Stops sample caching. + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + openfl.ui.GameInputControl + + + + + + + + + + + + + + The KeyLocation class contains constants that indicate the location of a + key pressed on the keyboard or keyboard-like input device. + The KeyLocation constants are used in the `KeyboardEvent.keyLocation` + property. + + + + + + cast 1 + + + + Indicates the key activated is in the left key location (there is more + than one possible location for this key). Example: The left Shift key + on a PC 101 Key US keyboard. + + + + + cast 3 + + + + Indicates the key activation originated on the numeric keypad or with a virtual + key corresponding to the numeric keypad. Example: The 1 key on a PC 101 Key US + keyboard located on the numeric pad. + + + + + cast 2 + + + + Indicates the key activated is in the right key location (there is + more than one possible location for this key). Example: The right + Shift key on a PC 101 Key US keyboard. + + + + + cast 0 + + + + Indicates the key activation is not distinguished as the left or right + version of the key, and did not originate on the numeric keypad (or + did not originate with a virtual key corresponding to the numeric + keypad). Example: The Q key on a PC 101 Key US keyboard. + + + + + + + + + cast 1 + + + + Indicates the key activated is in the left key location (there is more + than one possible location for this key). Example: The left Shift key + on a PC 101 Key US keyboard. + + + + + cast 3 + + + + Indicates the key activation originated on the numeric keypad or with a virtual + key corresponding to the numeric keypad. Example: The 1 key on a PC 101 Key US + keyboard located on the numeric pad. + + + + + cast 2 + + + + Indicates the key activated is in the right key location (there is + more than one possible location for this key). Example: The right + Shift key on a PC 101 Key US keyboard. + + + + + cast 0 + + + + Indicates the key activation is not distinguished as the left or right + version of the key, and did not originate on the numeric keypad (or + did not originate with a virtual key corresponding to the numeric + keypad). Example: The Q key on a PC 101 Key US keyboard. + + + + + + + 48 + Constant associated with the key code value for the 0 key(48). + + + + 49 + Constant associated with the key code value for the 1 key(49). + + + + 50 + Constant associated with the key code value for the 2 key(50). + + + + 51 + Constant associated with the key code value for the 3 key(51). + + + + 52 + Constant associated with the key code value for the 4 key(52). + + + + 53 + Constant associated with the key code value for the 5 key(53). + + + + 54 + Constant associated with the key code value for the 6 key(54). + + + + 55 + Constant associated with the key code value for the 7 key(55). + + + + 56 + Constant associated with the key code value for the 8 key(56). + + + + 57 + Constant associated with the key code value for the 9 key(57). + + + + 65 + Constant associated with the key code value for the A key(65). + + + + 66 + Constant associated with the key code value for the B key(66). + + + + 67 + Constant associated with the key code value for the C key(67). + + + + 68 + Constant associated with the key code value for the D key(68). + + + + 69 + Constant associated with the key code value for the E key(69). + + + + 70 + Constant associated with the key code value for the F key(70). + + + + 71 + Constant associated with the key code value for the G key(71). + + + + 72 + Constant associated with the key code value for the H key(72). + + + + 73 + Constant associated with the key code value for the I key(73). + + + + 74 + Constant associated with the key code value for the J key(74). + + + + 75 + Constant associated with the key code value for the K key(75). + + + + 76 + Constant associated with the key code value for the L key(76). + + + + 77 + Constant associated with the key code value for the M key(77). + + + + 78 + Constant associated with the key code value for the N key(78). + + + + 79 + Constant associated with the key code value for the O key(79). + +

      + + 80 + Constant associated with the key code value for the P key(80). +

      + + + 81 + Constant associated with the key code value for the Q key(81). + + + + 82 + Constant associated with the key code value for the R key(82). + + + + 83 + Constant associated with the key code value for the S key(83). + + + + 84 + Constant associated with the key code value for the T key(84). + + + + 85 + Constant associated with the key code value for the U key(85). + + + + 86 + Constant associated with the key code value for the V key(85). + + + + 87 + Constant associated with the key code value for the W key(87). + + + + 88 + Constant associated with the key code value for the X key(88). + + + + 89 + Constant associated with the key code value for the Y key(89). + + + + 90 + Constant associated with the key code value for the Z key(90). + + + + 96 + Constant associated with the key code value for the number 0 key on the + number pad(96). + + + + 97 + Constant associated with the key code value for the number 1 key on the + number pad(97). + + + + 98 + Constant associated with the key code value for the number 2 key on the + number pad(98). + + + + 99 + Constant associated with the key code value for the number 3 key on the + number pad(99). + + + + 100 + Constant associated with the key code value for the number 4 key on the + number pad(100). + + + + 101 + Constant associated with the key code value for the number 5 key on the + number pad(101). + + + + 102 + Constant associated with the key code value for the number 6 key on the + number pad(102). + + + + 103 + Constant associated with the key code value for the number 7 key on the + number pad(103). + + + + 104 + Constant associated with the key code value for the number 8 key on the + number pad(104). + + + + 105 + Constant associated with the key code value for the number 9 key on the + number pad(105). + + + + 106 + Constant associated with the key code value for the multiplication key on + the number pad(106). + + + + 107 + Constant associated with the key code value for the addition key on the + number pad(107). + + + + 108 + Constant associated with the key code value for the Enter key on the + number pad(108). + + + + 109 + Constant associated with the key code value for the subtraction key on the + number pad(109). + + + + 110 + Constant associated with the key code value for the decimal key on the + number pad(110). + + + + 111 + Constant associated with the key code value for the division key on the + number pad(111). + + + + 112 + Constant associated with the key code value for the F1 key(112). + + + + 113 + Constant associated with the key code value for the F2 key(113). + + + + 114 + Constant associated with the key code value for the F3 key(114). + + + + 115 + Constant associated with the key code value for the F4 key(115). + + + + 116 + Constant associated with the key code value for the F5 key(116). + + + + 117 + Constant associated with the key code value for the F6 key(117). + + + + 118 + Constant associated with the key code value for the F7 key(118). + + + + 119 + Constant associated with the key code value for the F8 key(119). + + + + 120 + Constant associated with the key code value for the F9 key(120). + + + + 121 + Constant associated with the key code value for the F10 key(121). + + + + 122 + Constant associated with the key code value for the F11 key(122). + + + + 123 + Constant associated with the key code value for the F12 key(123). + + + + 124 + Constant associated with the key code value for the F13 key(124). + + + + 125 + Constant associated with the key code value for the F14 key(125). + + + + 126 + Constant associated with the key code value for the F15 key(126). + + + + 8 + Constant associated with the key code value for the Backspace key(8). + + + + 9 + Constant associated with the key code value for the Tab key(9). + + + + 18 + Constant associated with the key code value for the Alternate(Option) key + (18). + + + + 13 + Constant associated with the key code value for the Enter key(13). + + + + 15 + Constant associated with the Mac command key(15). This constant is + currently only used for setting menu key equivalents. + + + + 16 + Constant associated with the key code value for the Shift key(16). + + + + 17 + Constant associated with the key code value for the Control key(17). + + + + + 19 + "checkstyle:FieldDocComment" + + hide + + + + + 20 + Constant associated with the key code value for the Caps Lock key(20). + + + + 21 + Constant associated with the pseudo-key code for the the number pad(21). + Use to set numpad modifier on key equivalents + + + + 27 + Constant associated with the key code value for the Escape key(27). + + + + 32 + Constant associated with the key code value for the Spacebar(32). + + + + 33 + Constant associated with the key code value for the Page Up key(33). + + + + 34 + Constant associated with the key code value for the Page Down key(34). + + + + 35 + Constant associated with the key code value for the End key(35). + + + + 36 + Constant associated with the key code value for the Home key(36). + + + + 37 + Constant associated with the key code value for the Left Arrow key(37). + + + + 39 + Constant associated with the key code value for the Right Arrow key(39). + + + + 38 + Constant associated with the key code value for the Up Arrow key(38). + + + + 40 + Constant associated with the key code value for the Down Arrow key(40). + + + + 45 + Constant associated with the key code value for the Insert key(45). + + + + 46 + Constant associated with the key code value for the Delete key(46). + + + + + 144 + "checkstyle:FieldDocComment" + + hide + + + + + 186 + Constant associated with the key code value for the ; key(186). + + + + 187 + Constant associated with the key code value for the:Int = key(187). + + + + 188 + Constant associated with the key code value for the , key(188). + + + + 189 + Constant associated with the key code value for the - key(189). + + + + 190 + Constant associated with the key code value for the . key(190). + + + + 191 + Constant associated with the key code value for the / key(191). + + + + 192 + Constant associated with the key code value for the ` key(192). + + + + 219 + Constant associated with the key code value for the [ key(219). + + + + 220 + Constant associated with the key code value for the \ key(220). + + + + 221 + Constant associated with the key code value for the ] key(221). + + + + 222 + Constant associated with the key code value for the ' key(222). + + + + Specifies whether the Caps Lock key is activated(`true`) or + not(`false`). + + + + Specifies whether the Num Lock key is activated(`true`) or not + (`false`). + + + + Specifies whether the last key pressed is accessible by other SWF files. + By default, security restrictions prevent code from a SWF file in one + domain from accessing a keystroke generated from a SWF file in another + domain. + + @return The value `true` if the last key pressed can be + accessed. If access is not permitted, this method returns + `false`. + + <__convertKeyCode get="inline" set="null" line="571" static="1"> + + + + + + + <__getCharCode set="method" line="815" static="1"> + + + + + + + { shift : false } + + + + <__getKeyLocation get="inline" set="null" line="948" static="1"> + + + + + + + The Keyboard class is used to build an interface that can be controlled by + a user with a standard keyboard. You can use the methods and properties of + the Keyboard class without using a constructor. The properties of the + Keyboard class are constants representing the keys that are most commonly + used to control games. + + + "tags=\"haxe,release\"" + + + +
      + + + + Sets or returns the type of cursor, or, for a native cursor, the + cursor name. + The default value is `openfl.ui.MouseCursor.AUTO`. + + To set values for this property, use the following string values: + + | String value | Description | + | --- | --- | + | `openfl.ui.MouseCursor.AUTO` | Mouse cursor will change automatically based on the object under the mouse. | + | `openfl.ui.MouseCursor.ARROW` | Mouse cursor will be an arrow. | + | `openfl.ui.MouseCursor.BUTTON` | Mouse cursor will be a button clicking hand. | + | `openfl.ui.MouseCursor.HAND` | Mouse cursor will be a dragging hand. | + | `openfl.ui.MouseCursor.IBEAM` | Mouse cursor will be an I-beam. | + + **Note:** For Flash Player 10.2 or AIR 2.6 and later versions, this + property sets or gets the cursor name when you are using a native + cursor. A native cursor name defined using `Mouse.registerCursor()` + overwrites currently predefined cursor types (such as + `openfl.ui.MouseCursor.IBEAM`). + + @throws ArgumentError If set to any value which is not a member of + `openfl.ui.MouseCursor`, or is not a string + specified using the `Mouse.registerCursor()` + method. + + + + true + Indicates whether the computer or device displays a persistent cursor. + + The `supportsCursor` property is `true` on most desktop computers and + `false` on most mobile devices. + + **Note:** Mouse events can be dispatched whether or not this property + is `true`. However, mouse events may behave differently depending on + the physical characteristics of the pointing device. + + + + true + Indicates whether the current configuration supports native cursors. + + <__cursor expr="MouseCursor.AUTO" line="68" static="1"> + + + MouseCursor.AUTO + + + + <__hidden static="1"> + + + + + + Hides the pointer. The pointer is visible by default. + + **Note:** You need to call `Mouse.hide()` only once, + regardless of the number of previous calls to + `Mouse.show()`. + + + + Displays the pointer. The pointer is visible by default. + + **Note:** You need to call `Mouse.show()` only once, + regardless of the number of previous calls to + `Mouse.hide()`. + + + + + + + + + + + + + The pointer is visible by default, + but you can hide it and implement a custom pointer.]]> + + + "tags=\"haxe,release\"" + + openfl.display.Stage + + + + + + + + + + + + + + The MouseCursor class is an enumeration of constant values used in setting + the `cursor` property of the Mouse class. + + + + + + cast "arrow" + + + + Used to specify that the arrow cursor should be used. + + + + + cast "auto" + + + + Used to specify that the cursor should be selected automatically based + on the object under the mouse. + + + + + + cast "hand" + + + + Used to specify that the dragging hand cursor should be used. + + + + + cast "ibeam" + + + + Used to specify that the I-beam cursor should be used. + + <__CROSSHAIR get="inline" set="null" expr="cast "crosshair"" line="40" static="1"> + + + cast "crosshair" + + + + + + <__CUSTOM get="inline" set="null" expr="cast "custom"" line="41" static="1"> + + + cast "custom" + + + + + + <__MOVE get="inline" set="null" expr="cast "move"" line="42" static="1"> + + + cast "move" + + + + + + <__RESIZE_NESW get="inline" set="null" expr="cast "resize_nesw"" line="43" static="1"> + + + cast "resize_nesw" + + + + + + <__RESIZE_NS get="inline" set="null" expr="cast "resize_ns"" line="44" static="1"> + + + cast "resize_ns" + + + + + + <__RESIZE_NWSE get="inline" set="null" expr="cast "resize_nwse"" line="45" static="1"> + + + cast "resize_nwse" + + + + + + <__RESIZE_WE get="inline" set="null" expr="cast "resize_we"" line="46" static="1"> + + + cast "resize_we" + + + + + + <__WAIT get="inline" set="null" expr="cast "wait"" line="47" static="1"> + + + cast "wait" + + + + + + <__WAIT_ARROW get="inline" set="null" expr="cast "waitarrow"" line="48" static="1"> + + + cast "waitarrow" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cast "arrow" + + + + Used to specify that the arrow cursor should be used. + + + + + cast "auto" + + + + Used to specify that the cursor should be selected automatically based + on the object under the mouse. + + + + + + cast "hand" + + + + Used to specify that the dragging hand cursor should be used. + + + + + cast "ibeam" + + + + Used to specify that the I-beam cursor should be used. + + <__CROSSHAIR get="inline" set="null" expr="cast "crosshair"" line="40" static="1"> + + + cast "crosshair" + + + + + + <__CUSTOM get="inline" set="null" expr="cast "custom"" line="41" static="1"> + + + cast "custom" + + + + + + <__MOVE get="inline" set="null" expr="cast "move"" line="42" static="1"> + + + cast "move" + + + + + + <__RESIZE_NESW get="inline" set="null" expr="cast "resize_nesw"" line="43" static="1"> + + + cast "resize_nesw" + + + + + + <__RESIZE_NS get="inline" set="null" expr="cast "resize_ns"" line="44" static="1"> + + + cast "resize_ns" + + + + + + <__RESIZE_NWSE get="inline" set="null" expr="cast "resize_nwse"" line="45" static="1"> + + + cast "resize_nwse" + + + + + + <__RESIZE_WE get="inline" set="null" expr="cast "resize_we"" line="46" static="1"> + + + cast "resize_we" + + + + + + <__WAIT get="inline" set="null" expr="cast "wait"" line="47" static="1"> + + + cast "wait" + + + + + + <__WAIT_ARROW get="inline" set="null" expr="cast "waitarrow"" line="48" static="1"> + + + cast "waitarrow" + + + + + + + + + + + + + + + + + + + + + + + + + + + + Identifies the multi-touch mode for touch and gesture event handling. Use + this property to manage whether or not events are dispatched as touch + events with multiple points of contact and specific events for different + gestures(such as rotation and pan), or only a single point of contact + (such as tap), or none at all(contact is handled as a mouse event). To + set this property, use values from the openfl.ui.MultitouchInputMode class. + + @default gesture + + + + The maximum number of concurrent touch points supported by the current + environment. + + + + A Vector array(a typed array of string values) of multi-touch contact + types supported in the current environment. The array of strings can be + used as event types to register event listeners. Possible values are + constants from the GestureEvent, PressAndTapGestureEvent, and + TransformGestureEvent classes(such as `GESTURE_PAN`). + + If the Flash runtime is in an environment that does not support any + multi-touch gestures, the value is `null`. + + **Note:** For Mac OS 10.5.3 and later, + `Multitouch.supportedGestures` returns non-null values + (possibly indicating incorrectly that gesture events are supported) even + if the current hardware does not support gesture input. + + Use this property to test for multi-touch gesture support. Then, use + event handlers for the available multi-touch gestures. For those gestures + that are not supported in the current evironment, you'll need to create + alternative event handling. + + + + Indicates whether the current environment supports gesture input, such as + rotating two fingers around a touch screen. Gesture events are listed in + the TransformGestureEvent, PressAndTapGestureEvent, and GestureEvent + classes. + + **Note:** For Mac OS 10.5.3 and later, this value is always + `true`. `Multitouch.supportsGestureEvent` returns + `true` even if the hardware does not support gesture + events. + + + + Indicates whether the current environment supports basic touch input, such + as a single finger tap. Touch events are listed in the TouchEvent class. + + + + + + The Multitouch class manages and provides information about the current + environment's support for handling contact from user input devices, + including contact that has two or more touch points(such as a user's + fingers on a touch screen). When a user interacts with a device such as a + mobile phone or tablet with a touch screen, the user typically touches the + screen with his or her fingers or a pointing device. While there is a broad + range of pointing devices, such as a mouse or a stylus, many of these + devices only have a single point of contact with an application. For + pointing devices with a single point of contact, user interaction events + can be handled as a mouse event, or using a basic set of touch events + (called "touch point" events). However, for pointing devices that have + several points of contact and perform complex movement, such as the human + hand, Flash runtimes support an additional set of event handling API called + gesture events. The API for handling user interaction with these gesture + events includes the following classes: + + + + * openfl.events.TouchEvent + * openfl.events.GestureEvent + * openfl.events.GesturePhase + * openfl.events.TransformGestureEvent + * openfl.events.PressAndTapGestureEvent + + + + Use the listed classes to write code that handles touch events. Use the + Multitouch class to determine the current environment's support for touch + interaction, and to manage the support of touch interaction if the current + environment supports touch input. + + You cannot create a Multitouch object directly from ActionScript code. + If you call `new Multitouch()`, an exception is thrown. + + **Note:** The Multitouch feature is not supported for SWF files + embedded in HTML running on Mac OS. + + + "tags=\"haxe,release\"" + + + + + + + + + The MultitouchInputMode class provides values for the + `inputMode` property in the openfl.ui.Multitouch class. These + values set the type of touch events the Flash runtime dispatches when the + user interacts with a touch-enabled device. + + + + + + cast 0 + + + + Specifies that TransformGestureEvent, PressAndTapGestureEvent, and + GestureEvent events are dispatched for the related user interaction + supported by the current environment, and other touch events(such as a + simple tap) are interpreted as mouse events. + + + + + cast 1 + + + + Specifies that all user contact with a touch-enabled device is interpreted as a + type of mouse event. + + + + + cast 2 + + + + Specifies that all user contact with a touch-enabled device is interpreted + as a type of mouse event. + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + Specifies that TransformGestureEvent, PressAndTapGestureEvent, and + GestureEvent events are dispatched for the related user interaction + supported by the current environment, and other touch events(such as a + simple tap) are interpreted as mouse events. + + + + + cast 1 + + + + Specifies that all user contact with a touch-enabled device is interpreted as a + type of mouse event. + + + + + cast 2 + + + + Specifies that all user contact with a touch-enabled device is interpreted + as a type of mouse event. + + + + + + + + + + + + + + + + + + + + + + + + + new Map() + + + + + + + + + + new Map() + + + + + + + + + + new Map() + + + + + + + 4 + + + + + + + 4096 + + + + + + + "fragment" + + + + + + + "vertex" + + + + + + + 8 + + + + + + + 12 + + + + + + + 16 + + + + + + + 20 + + + + + + + 24 + + + + + + + 28 + + + + + + + 0x1 + + + + + + + 0x2 + + + + + + + 0x20 + + + + + + + 0x40 + + + + + + + 0x1 + + + + + + + 0x8 + + + + + + + 0x10 + + + + + + + 0x20 + + + + + + + 0x40 + + + + + + + 0x80 + + + + + + + 0x100 + + + + + + + 0x200 + + + + + + + 0x400 + + + + + + + "mov" + + + + + + + "add" + + + + + + + "sub" + + + + + + + "mul" + + + +
      + + + "div" + + +
      + + + + "rcp" + + + + + + + "min" + + + + + + + "max" + + + + + + + "frc" + + + + + + + "sqt" + + + + + + + "rsq" + + + + + + + "pow" + + + + + + + "log" + + + + + + + "exp" + + + + + + + "nrm" + + + + + + + "sin" + + + + + + + "cos" + + + + + + + "crs" + + + + + + + "dp3" + + + + + + + "dp4" + + + + + + + "abs" + + + + + + + "neg" + + + + + + + "sat" + + + + + + + "m33" + + + + + + + "m44" + + + + + + + "m34" + + + + + + + "ddx" + + + + + + + "ddy" + + + + + + + "ife" + + + + + + + "ine" + + + + + + + "ifg" + + + + + + + "ifl" + + + + + + + "ieg" + + + + + + + "iel" + + + + + + + "els" + + + + + + + "eif" + + + + + + + "ted" + + + + + + + "kil" + + + + + + + "tex" + + + + + + + "sge" + + + + + + + "slt" + + + + + + + "sgn" + + + + + + + "seq" + + + + + + + "sne" + + + + + + + "va" + + + + + + + "vc" + + + + + + + "vt" + + + + + + + "vo" + + + + + + + "vi" + + + + + + + "fc" + + + + + + + "ft" + + + + + + + "fs" + + + + + + + "fo" + + + + + + + "fd" + + + + + + + "iid" + + + + + + + "2d" + + + + + + + "3d" + + + + + + + "cube" + + + + + + + "mipnearest" + + + + + + + "miplinear" + + + + + + + "mipnone" + + + + + + + "nomip" + + + + + + + "nearest" + + + + + + + "linear" + + + + + + + "anisotropic2x" + + + + + + + "anisotropic4x" + + + + + + + "anisotropic8x" + + + + + + + "anisotropic16x" + + + + + + + "centroid" + + + + + + + "single" + + + + + + + "ignoresampler" + + + + + + + "repeat" + + + + + + + "wrap" + + + + + + + "clamp" + + + + + + + "repeat_u_clamp_v" + + + + + + + "clamp_u_repeat_v" + + + + + + + "rgba" + + + + + + + "compressed" + + + + + + + "compressedalpha" + + + + + + + "dxt1" + + + + + + + "dxt5" + + + + + + + + false + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + { ignoreLimits : false, version : 1 } + + + + + + + + + + + + + + + + + + + + + + + { debugging : false } + + + + "tags=\"haxe,release\"" + + ["checkstyle:ConstantName", "checkstyle:FieldDocComment"] + +
      + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + "checkstyle:FieldDocComment" + + + + + + + + + + + + + + + + + + + + + + + Whether caching is currently enabled. + + + + + + + { prefix : null } + Clears all cached assets, or all assets with an ID that + matches an optional prefix. + + For example: + + ```haxe + Assets.setBitmapData("image1", image1); + Assets.setBitmapData("assets/image2", image2); + + Assets.clear("assets"); // will clear image2 + Assets.clear("image"); // will clear image1 + ``` + + @param prefix A ID prefix + + + + + + + Retrieves a cached BitmapData. + + @param id The ID of the cached BitmapData + @return The cached BitmapData instance + + + + + + + Retrieves a cached Font. + + @param id The ID of the cached Font + @return The cached Font instance + + + + + + + Retrieves a cached Sound. + + @param id The ID of the cached Sound + @return The cached Sound instance + + + + + + + Checks whether a BitmapData asset is cached. + + @param id The ID of a BitmapData asset + @return Whether the object has been cached + + + + + + + Checks whether a Font asset is cached. + + @param id The ID of a Font asset + @return Whether the object has been cached + + + + + + + Checks whether a Sound asset is cached. + + @param id The ID of a Sound asset + @return Whether the object has been cached + + + + + + + Removes a BitmapData from the cache. + + @param id The ID of a BitmapData asset + @return `true` if the asset was removed, `false` if it was not in the cache + + + + + + + Removes a Font from the cache. + + @param id The ID of a Font asset + @return `true` if the asset was removed, `false` if it was not in the cache + + + + + + + Removes a Sound from the cache. + + @param id The ID of a Sound asset + @return `true` if the asset was removed, `false` if it was not in the cache + + + + + + + + Adds or replaces a BitmapData asset in the cache. + + @param id The ID of a BitmapData asset + @param bitmapData The matching BitmapData instance + + + + + + + + Adds or replaces a Font asset in the cache. + + @param id The ID of a Font asset + @param bitmapData The matching Font instance + + + + + + + + Adds or replaces a Sound asset in the cache. + + @param id The ID of a Sound asset + @param bitmapData The matching Sound instance + + The IAssetCache interface provides methods for caching + resources loaded from openfl.utils.Assets to improve + performance. + + + + + + Whether caching is currently enabled. + + + + + + + + + hide + + Internal + + + + + + + + + hide + + Internal + + + + + + + + + hide + + Internal + + <__enabled expr="true"> + + + true + + + + + + + + + { prefix : null } + Clears all cached assets, or all assets with an ID that + matches an optional prefix. + + For example: + + ```haxe + Assets.setBitmapData("image1", image1); + Assets.setBitmapData("assets/image2", image2); + + Assets.clear("assets"); // will clear image2 + Assets.clear("image"); // will clear image1 + ``` + + @param prefix A ID prefix + + + + + + + Retrieves a cached BitmapData. + + @param id The ID of the cached BitmapData + @return The cached BitmapData instance + + + + + + + Retrieves a cached Font. + + @param id The ID of the cached Font + @return The cached Font instance + + + + + + + Retrieves a cached Sound. + + @param id The ID of the cached Sound + @return The cached Sound instance + + + + + + + Checks whether a BitmapData asset is cached. + + @param id The ID of a BitmapData asset + @return Whether the object has been cached + + + + + + + Checks whether a Font asset is cached. + + @param id The ID of a Font asset + @return Whether the object has been cached + + + + + + + Checks whether a Sound asset is cached. + + @param id The ID of a Sound asset + @return Whether the object has been cached + + + + + + + Removes a BitmapData from the cache. + + @param id The ID of a BitmapData asset + @return `true` if the asset was removed, `false` if it was not in the cache + + + + + + + Removes a Font from the cache. + + @param id The ID of a Font asset + @return `true` if the asset was removed, `false` if it was not in the cache + + + + + + + Removes a Sound from the cache. + + @param id The ID of a Sound asset + @return `true` if the asset was removed, `false` if it was not in the cache + + + + + + + + Adds or replaces a BitmapData asset in the cache. + + @param id The ID of a BitmapData asset + @param bitmapData The matching BitmapData instance + + + + + + + + Adds or replaces a Font asset in the cache. + + @param id The ID of a Font asset + @param bitmapData The matching Font instance + + + + + + + + Adds or replaces a Sound asset in the cache. + + @param id The ID of a Sound asset + @param bitmapData The matching Sound instance + + + + + + + + + + + + + + + Creates a new AssetCache instance. + + The AssetCache class is the default cache implementation used + by openfl.utils.Assets, objects will be cached for the lifetime + of the application unless removed explicitly, or using Assets + `unloadLibrary` + + + "tags=\"haxe,release\"" + + + + + + + + + + + + { rootPath : null } + + + + + + + + { rootPath : null } + + + + + + + + + + + + { rootPath : null } + + + + + + + + { rootPath : null } + + + + + + <__proxy> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + + + + + + + + + + + { rootPath : null } + + + + + + + + { rootPath : null } + + + + + + + + { rootPath : null } + + + + + + + + { rootPath : null } + + + + + + + + { rootPath : null } + + <__fromLimeManifest set="method" line="131" static="1"> + + + + + + + + + + + + + { id : null } + + + + + + + + { id : null } + + + + + + + + { id : null } + + + + + + + + { id : null } + + + + + + + + { id : null } + + + + + "tags=\"haxe,release\"" + + + + + + The AssetType enum lists the core set of available + asset types from the OpenFL command-line tools. + + + + + + cast "BINARY" + + + + Binary assets (data that is not readable as text) + + + + + cast "FONT" + + + + Font assets, such as *.ttf or *.otf files + + + + + cast "IMAGE" + + + + Image assets, such as *.png or *.jpg files + + + + + cast "MOVIE_CLIP" + + + + MovieClip assets, such as from a *.swf file + + + + + cast "MUSIC" + + + + Audio assets, such as *.ogg or *.wav files + + In previous versions of OpenFL, `AssetType.MUSIC` was recommended + for long background music, but in current versions, both + `AssetType.MUSIC` and `AssetType.SOUND` behave similarly. + + A future version may implement optimizations specific to each audio type + again. + + + + + cast "SOUND" + + + + Audio assets, such as *.ogg or *.wav files + + In previous versions of OpenFL, `AssetType.SOUND` was recommended + for short or repetitively used sounds, but in current versions, both + `AssetType.MUSIC` and `AssetType.SOUND` behave similarly. + + A future version may implement optimizations specific to each audio type + again. + + + + + + cast "TEXT" + + + + Text assets + + + + + + + + + cast "BINARY" + + + + Binary assets (data that is not readable as text) + + + + + cast "FONT" + + + + Font assets, such as *.ttf or *.otf files + + + + + cast "IMAGE" + + + + Image assets, such as *.png or *.jpg files + + + + + cast "MOVIE_CLIP" + + + + MovieClip assets, such as from a *.swf file + + + + + cast "MUSIC" + + + + Audio assets, such as *.ogg or *.wav files + + In previous versions of OpenFL, `AssetType.MUSIC` was recommended + for long background music, but in current versions, both + `AssetType.MUSIC` and `AssetType.SOUND` behave similarly. + + A future version may implement optimizations specific to each audio type + again. + + + + + cast "SOUND" + + + + Audio assets, such as *.ogg or *.wav files + + In previous versions of OpenFL, `AssetType.SOUND` was recommended + for short or repetitively used sounds, but in current versions, both + `AssetType.MUSIC` and `AssetType.SOUND` behave similarly. + + A future version may implement optimizations specific to each audio type + again. + + + + + + cast "TEXT" + + + + Text assets + + + + + + + new AssetCache() + + + + + new EventDispatcher() + + + + + + + + + + + + + { useWeakReference : false, priority : 0, useCapture : false } + + + + + + + + + + + + { type : null } + Returns whether a specific asset exists + @param id The ID or asset path for the asset + @param type The asset type to match, or null to match any type + @return Whether the requested asset ID and type exists + + + + + + + + { useCache : true } + Gets an instance of an embedded bitmap + @usage var bitmap = new Bitmap (Assets.getBitmapData ("image.png")); + @param id The ID or asset path for the bitmap + @param useCache (Optional) Whether to allow use of the asset cache (Default: true) + @return A new BitmapData object + + + + + + + Gets an instance of an embedded binary asset + @usage var bytes = Assets.getBytes ("file.zip"); + @param id The ID or asset path for the asset + @return A new ByteArray object + + + + + + + + { useCache : true } + Gets an instance of an embedded font + @usage var fontName = Assets.getFont ("font.ttf").fontName; + @param id The ID or asset path for the font + @param useCache (Optional) Whether to allow use of the asset cache (Default: true) + @return A new Font object + + + + + + + + + + + Gets an instance of an included MovieClip + @usage var movieClip = Assets.getMovieClip ("library:BouncingBall"); + @param id The ID for the MovieClip + @return A new MovieClip object + + + + + + + + { useCache : true } + + + + + + + Gets the file path (if available) for an asset + @usage var path = Assets.getPath ("file.txt"); + @param id The ID or asset path for the asset + @return The path to the asset, or null if it does not exist + + + + + + + + { useCache : true } + Gets an instance of an embedded sound + @usage var sound = Assets.getSound ("sound.wav"); + @param id The ID or asset path for the sound + @param useCache (Optional) Whether to allow use of the asset cache (Default: true) + @return A new Sound object + + + + + + + Gets an instance of an embedded text asset + @usage var text = Assets.getText ("text.txt"); + @param id The ID or asset path for the asset + @return A new String object + + + + + + + + + + + + + + + + + { useCache : true, type : null } + Returns whether an asset is "local", and therefore can be loaded synchronously + @param id The ID or asset path for the asset + @param type The asset type to match, or null to match any type + @param useCache (Optional) Whether to allow use of the asset cache (Default: true) + @return Whether the asset is local + + + + + + + ignore + + + + + + + + + + + + + + { type : null } + Returns a list of all embedded assets (by type) + @param type The asset type to match, or null to match any type + @return An array of asset ID values + + + + + + + + { useCache : true } + ]]> + + + + + + + ]]> + + + + + + + + { useCache : true } + ]]> + + + + + + + ]]> + + + + + + + + { useCache : true } + ]]> + + + + + + + ]]> + + + + + + + + { useCache : true } + ]]> + + + + + + + ]]> + + + + + + + + Registers a new AssetLibrary with the Assets class + @param name The name (prefix) to use for the library + @param library An AssetLibrary instance to register + + + + + + + + + { capture : false } + + + + + + + + + + + + + + + + + + + + + + + + + in the project file.]]> + + + "tags=\"haxe,release\"" + + openfl.display.BitmapData + openfl.text.Font + openfl.utils.AssetLibrary + + + + + + + + + + + + + + + + + + + + + The ByteArray class provides methods and properties to optimize reading, + writing, and working with binary data. + + _Note:_ The ByteArray class is for advanced developers who need to + access data on the byte level. + + In-memory data is a packed array (the most compact representation for + the data type) of bytes, but an instance of the ByteArray class can be + manipulated with the standard `[]`(array access) operators. It + also can be read and written to as an in-memory file, using methods similar + to those in the URLStream and Socket classes. + + On the Flash and AIR targets, the ByteArray type is a real class, but on + other platforms, ByteArray is a Haxe abstract over a hidden `ByteArrayData` + type. To check if an object is a ByteArray at runtime, import the ByteArray + type, then compare with ByteArrayData, such as `Std.is (ba, ByteArrayData)`. + + In addition, all platforms support zlib compression and decompression, as + well as additional formats for object serialization. + + Possible uses of the ByteArray class include the following: + + * Creating a custom protocol to connect to a server. + * Writing your own URLEncoder/URLDecoder. + * Writing your own AMF/Remoting packet. + * Optimizing the size of your data by using data types. + * Working with binary data loaded from a local file. + * Supporting new binary file formats. + + haxe.io.Bytes + openfl.utils.ByteArrayData + + endian + objectEncoding + + + + + + + Denotes the default endianness for the ByteArray class to use for a + new ByteArray instance. When you create a new ByteArray instance, the + endian value on that instance starts with the value of + `defaultEndian`. The `defaultEndian` + property is initialized to the default system endianness. This will + most likely be `Endian.LITTLE_ENDIAN` on the majority platforms + except for the Flash runtime. + + On Flash and AIR targets, this property cannot be changed and will + always be set to `Endian.BIG_ENDIAN`. + + + + Denotes the default object encoding for the ByteArray class to use for a + new ByteArray instance. When you create a new ByteArray instance, the + encoding on that instance starts with the value of + `defaultObjectEncoding`. The `defaultObjectEncoding` + property is initialized to `ObjectEncoding.DEFAULT`. This value varies + between platforms. + + When an object is written to or read from binary data, the + `objectEncoding` value is used to determine whether the + Haxe, JavaScript, ActionScript 3.0, ActionScript 2.0 or ActionScript 1.0 + format should be used. The value is a constant from the ObjectEncoding + class. + + <__bytePointer expr="new BytePointer()" line="103" static="1"> + + + new BytePointer() + + + + + + The number of bytes of data available for reading from the current + position in the byte array to the end of the array. + + Use the `bytesAvailable` property in conjunction with the + read methods each time you access a ByteArray object to ensure that you + are reading valid data. + + + + The length of the ByteArray object, in bytes. + + If the length is set to a value that is larger than the current length, + the right side of the byte array is filled with zeros. + + If the length is set to a value that is smaller than the current + length, the byte array is truncated. + + + + Moves, or returns the current position, in bytes, of the file pointer into + the ByteArray object. This is the point at which the next call to a read + method starts reading or a write method starts writing. + + <_new public="1" get="inline" set="null" line="170" static="1"> + + + + + + { length : 0 } + + + Creates a ByteArray instance representing a packed array of bytes, so that + you can use the methods and properties in this class to optimize your data + storage and stream. + + + + + + + Clears the contents of the byte array and resets the `length` + and `position` properties to 0. Calling this method explicitly + frees up the memory used by the ByteArray instance. + + + + + + + + { algorithm : null } + air.CompressionAlgorithm.DEFLATE)` on the + original ByteArray. However, the result from `compress(air.CompressionAlgorithm.ZLIB)` includes + the extra metadata, while the + `compress(CompressionAlgorithm.DEFLATE)` result includes only + the compressed version of the original ByteArray data and nothing + else. + + In order to use the deflate format to compress a ByteArray instance's + data in a specific format such as gzip or zip, you cannot simply call + `compress(CompressionAlgorithm.DEFLATE)`. You must create a + ByteArray structured according to the compression format's specification, + including the appropriate metadata as well as the compressed data obtained + using the deflate format. Likewise, in order to decode data compressed in + a format such as gzip or zip, you can't simply call + `uncompress(CompressionAlgorithm.DEFLATE)` on that data. First, + you must separate the metadata from the compressed data, and you can then + use the deflate format to decompress the compressed data.]]> + + + + + + + Compresses the byte array using the deflate compression algorithm. The + entire byte array is compressed. + + After the call, the `length` property of the ByteArray is + set to the new length. The `position` property is set to the + end of the byte array. + + The deflate compression algorithm is described at + [http://www.ietf.org/rfc/rfc1951.txt](http://www.ietf.org/rfc/rfc1951.txt). + + In order to use the deflate format to compress a ByteArray instance's + data in a specific format such as gzip or zip, you cannot simply call + `deflate()`. You must create a ByteArray structured according + to the compression format's specification, including the appropriate + metadata as well as the compressed data obtained using the deflate format. + Likewise, in order to decode data compressed in a format such as gzip or + zip, you can't simply call `inflate()` on that data. First, you + must separate the metadata from the compressed data, and you can then use + the deflate format to decompress the compressed data. + + + + + + + + Converts an ArrayBuffer into a ByteArray. + + @param buffer An ArrayBuffer instance + @returns A new ByteArray + + + + + + + + Converts a Bytes object into a ByteArray. + + @param buffer A Bytes instance + @returns A new ByteArray + + + + + + + + + + + Converts a BytesData object into a ByteArray. + + @param buffer A BytesData instance + @returns A new ByteArray + + + + + + + Creates a new ByteArray from a file path synchronously. This means that the + ByteArray will be returned immediately (if supported). + + HTML5 and Flash do not support loading files synchronously, so these targets + always return `null`. + + In order to load files from a remote web address, use the `loadFromFile` method, + which supports asynchronous loading. + + @param path A local file path + @returns A new ByteArray if successful, or `null` if unsuccessful + + + + + + + + + + + Converts a Lime Bytes object into a ByteArray. + + @param buffer A Lime Bytes instance + @returns A new ByteArray + + + + + + + + + + + + + + + + + + Decompresses the byte array using the deflate compression algorithm. The + byte array must have been compressed using the same algorithm. + + After the call, the `length` property of the ByteArray is + set to the new length. The `position` property is set to 0. + + The deflate compression algorithm is described at + [http://www.ietf.org/rfc/rfc1951.txt](http://www.ietf.org/rfc/rfc1951.txt). + + In order to decode data compressed in a format that uses the deflate + compression algorithm, such as data in gzip or zip format, it will not + work to simply call `inflate()` on a ByteArray containing the + compression formation data. First, you must separate the metadata that is + included as part of the compressed data format from the actual compressed + data. For more information, see the `compress()` method + description. + + @throws IOError The data is not valid compressed data; it was not + compressed with the same compression algorithm used to + compress. + + + + + + + Creates a new ByteArray from haxe.io.Bytes. Progress, completion and error + callbacks will be dispatched using callbacks attached to a returned Future + object. + + @param bytes A haxe.io.Bytes instance + @returns A Future ByteArray + + + + + + + Creates a new ByteArray from a file path or web address asynchronously. The file + load will occur in the background. + Progress, completion and error callbacks will be dispatched in the current + thread using callbacks attached to a returned Future object. + + @param path A local file path or web address + @returns A Future ByteArray + + + + + + + Reads a Boolean value from the byte stream. A single byte is read, and + `true` is returned if the byte is nonzero, `false` + otherwise. + + @return Returns `true` if the byte is nonzero, + `false` otherwise. + @throws EOFError There is not sufficient data available to read. + + + + + + + Reads a signed byte from the byte stream. + + The returned value is in the range -128 to 127. + + @return An integer between -128 and 127. + @throws EOFError There is not sufficient data available to read. + + + + + + + + + + { length : 0, offset : 0 } + Reads the number of data bytes, specified by the `length` + parameter, from the byte stream. The bytes are read into the ByteArray + object specified by the `bytes` parameter, and the bytes are + written into the destination ByteArray starting at the position specified + by `offset`. + + @param bytes The ByteArray object to read data into. + @param offset The offset(position) in `bytes` at which the + read data should be written. + @param length The number of bytes to read. The default value of 0 causes + all available data to be read. + @throws EOFError There is not sufficient data available to read. + @throws RangeError The value of the supplied offset and length, combined, + is greater than the maximum for a uint. + + + + + + + Reads an IEEE 754 double-precision(64-bit) floating-point number from the + byte stream. + + @return A double-precision(64-bit) floating-point number. + @throws EOFError There is not sufficient data available to read. + + + + + + + Reads an IEEE 754 single-precision(32-bit) floating-point number from the + byte stream. + + @return A single-precision(32-bit) floating-point number. + @throws EOFError There is not sufficient data available to read. + + + + + + + Reads a signed 32-bit integer from the byte stream. + + The returned value is in the range -2147483648 to 2147483647. + + @return A 32-bit signed integer between -2147483648 and 2147483647. + @throws EOFError There is not sufficient data available to read. + + + + + + + + + Supported Character + Sets. + + **Note:** If the value for the `charSet` + parameter is not recognized by the current system, the + application uses the system's default code page as the + character set. For example, a value for the + `charSet` parameter, as in + `myTest.readMultiByte(22, "iso-8859-01")` that + uses `01` instead of `1` might work + on your development system, but not on another system. On + the other system, the application will use the system's + default code page. + @return UTF-8 encoded string. + @throws EOFError There is not sufficient data available to read.]]> + + + + + + + Reads an object from the byte array, encoded in AMF serialized format. + + @return The deserialized object. + @throws EOFError There is not sufficient data available to read. + + + + + + + Reads a signed 16-bit integer from the byte stream. + + The returned value is in the range -32768 to 32767. + + @return A 16-bit signed integer between -32768 and 32767. + @throws EOFError There is not sufficient data available to read. + + + + + + + Reads a UTF-8 string from the byte stream. The string is assumed to be + prefixed with an unsigned short indicating the length in bytes. + + @return UTF-8 encoded string. + @throws EOFError There is not sufficient data available to read. + + + + + + + + Reads a sequence of UTF-8 bytes specified by the `length` + parameter from the byte stream and returns a string. + + @param length An unsigned short indicating the length of the UTF-8 bytes. + @return A string composed of the UTF-8 bytes of the specified length. + @throws EOFError There is not sufficient data available to read. + + + + + + + Reads an unsigned byte from the byte stream. + + The returned value is in the range 0 to 255. + + @return A 32-bit unsigned integer between 0 and 255. + @throws EOFError There is not sufficient data available to read. + + + + + + + Reads an unsigned 32-bit integer from the byte stream. + + The returned value is in the range 0 to 4294967295. + + @return A 32-bit unsigned integer between 0 and 4294967295. + @throws EOFError There is not sufficient data available to read. + + + + + + + Reads an unsigned 16-bit integer from the byte stream. + + The returned value is in the range 0 to 65535. + + @return A 16-bit unsigned integer between 0 and 65535. + @throws EOFError There is not sufficient data available to read. + + + + + + + + + + + + + + + + + + + + + + + Converts a ByteArray into an ArrayBuffer. + + @param buffer A ByteArray instance + @returns A new ArrayBuffer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Converts the byte array to a string. If the data in the array begins with + a Unicode byte order mark, the application will honor that mark when + converting to a string. If `System.useCodePage` is set to + `true`, the application will treat the data in the array as + being in the current system code page when converting. + + @return The string representation of the byte array. + + + + + + + + { algorithm : null } + Decompresses the byte array. For content running in Adobe AIR, you can + specify a compression algorithm by passing a value(defined in the + CompressionAlgorithm class) as the `algorithm` parameter. The + byte array must have been compressed using the same algorithm. Flash + Player supports only the default algorithm, zlib. + + After the call, the `length` property of the ByteArray is + set to the new length. The `position` property is set to 0. + + The zlib compressed data format is described at + [http://www.ietf.org/rfc/rfc1950.txt](http://www.ietf.org/rfc/rfc1950.txt). + + The deflate compression algorithm is described at + [http://www.ietf.org/rfc/rfc1951.txt](http://www.ietf.org/rfc/rfc1951.txt). + + In order to decode data compressed in a format that uses the deflate + compression algorithm, such as data in gzip or zip format, it will not + work to call `uncompress(CompressionAlgorithm.DEFLATE)` on a + ByteArray containing the compression formation data. First, you must + separate the metadata that is included as part of the compressed data + format from the actual compressed data. For more information, see the + `compress()` method description. + + @throws IOError The data is not valid compressed data; it was not + compressed with the same compression algorithm used to + compress. + + + + + + + + Writes a Boolean value. A single byte is written according to the + `value` parameter, either 1 if `true` or 0 if + `false`. + + @param value A Boolean value determining which byte is written. If the + parameter is `true`, the method writes a 1; if + `false`, the method writes a 0. + + + + + + + + Writes a byte to the byte stream. + + The low 8 bits of the parameter are used. The high 24 bits are ignored. + + + @param value A 32-bit integer. The low 8 bits are written to the byte + stream. + + + + + + + + + + { length : 0, offset : 0 } + Writes a sequence of `length` bytes from the specified byte + array, `bytes`, starting `offset`(zero-based index) + bytes into the byte stream. + + If the `length` parameter is omitted, the default length of + 0 is used; the method writes the entire buffer starting at + `offset`. If the `offset` parameter is also omitted, + the entire buffer is written. + + If `offset` or `length` is out of range, they are + clamped to the beginning and end of the `bytes` array. + + @param bytes The ByteArray object. + @param offset A zero-based index indicating the position into the array to + begin writing. + @param length An unsigned integer indicating how far into the buffer to + write. + + + + + + + + Writes an IEEE 754 double-precision(64-bit) floating-point number to the + byte stream. + + @param value A double-precision(64-bit) floating-point number. + + + + + + + + Writes an IEEE 754 single-precision(32-bit) floating-point number to the + byte stream. + + @param value A single-precision(32-bit) floating-point number. + + + + + + + + Writes a 32-bit signed integer to the byte stream. + + @param value An integer to write to the byte stream. + + + + + + + + + Supported Character + Sets.]]> + + + + + + + + Writes an object into the byte array in AMF serialized format. + + @param object The object to serialize. + + + + + + + + Writes a 16-bit integer to the byte stream. The low 16 bits of the + parameter are used. The high 16 bits are ignored. + + @param value 32-bit integer, whose low 16 bits are written to the byte + stream. + + + + + + + + Writes a UTF-8 string to the byte stream. The length of the UTF-8 string + in bytes is written first, as a 16-bit integer, followed by the bytes + representing the characters of the string. + + @param value The string value to be written. + @throws RangeError If the length is larger than 65535. + + + + + + + + Writes a UTF-8 string to the byte stream. Similar to the + `writeUTF()` method, but `writeUTFBytes()` does not + prefix the string with a 16-bit length word. + + @param value The string value to be written. + + + + + + + + Writes a 32-bit unsigned integer to the byte stream. + + @param value An unsigned integer to write to the byte stream. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + openfl.utils.ByteArrayData + haxe.io.Bytes + + + + + + + Denotes the default endianness for the ByteArray class to use for a + new ByteArray instance. When you create a new ByteArray instance, the + endian value on that instance starts with the value of + `defaultEndian`. The `defaultEndian` + property is initialized to the default system endianness. This will + most likely be `Endian.LITTLE_ENDIAN` on the majority platforms + except for the Flash runtime. + + On Flash and AIR targets, this property cannot be changed and will + always be set to `Endian.BIG_ENDIAN`. + + + + Denotes the default object encoding for the ByteArray class to use for a + new ByteArray instance. When you create a new ByteArray instance, the + encoding on that instance starts with the value of + `defaultObjectEncoding`. The `defaultObjectEncoding` + property is initialized to `ObjectEncoding.DEFAULT`. This value varies + between platforms. + + When an object is written to or read from binary data, the + `objectEncoding` value is used to determine whether the + Haxe, JavaScript, ActionScript 3.0, ActionScript 2.0 or ActionScript 1.0 + format should be used. The value is a constant from the ObjectEncoding + class. + + <__bytePointer expr="new BytePointer()" line="103" static="1"> + + + new BytePointer() + + + + + + The number of bytes of data available for reading from the current + position in the byte array to the end of the array. + + Use the `bytesAvailable` property in conjunction with the + read methods each time you access a ByteArray object to ensure that you + are reading valid data. + + + + The length of the ByteArray object, in bytes. + + If the length is set to a value that is larger than the current length, + the right side of the byte array is filled with zeros. + + If the length is set to a value that is smaller than the current + length, the byte array is truncated. + + + + Moves, or returns the current position, in bytes, of the file pointer into + the ByteArray object. This is the point at which the next call to a read + method starts reading or a write method starts writing. + + <_new public="1" get="inline" set="null" line="170" static="1"> + + + + + + { length : 0 } + + + Creates a ByteArray instance representing a packed array of bytes, so that + you can use the methods and properties in this class to optimize your data + storage and stream. + + + + + + + Clears the contents of the byte array and resets the `length` + and `position` properties to 0. Calling this method explicitly + frees up the memory used by the ByteArray instance. + + + + + + + + { algorithm : null } + air.CompressionAlgorithm.DEFLATE)` on the + original ByteArray. However, the result from `compress(air.CompressionAlgorithm.ZLIB)` includes + the extra metadata, while the + `compress(CompressionAlgorithm.DEFLATE)` result includes only + the compressed version of the original ByteArray data and nothing + else. + + In order to use the deflate format to compress a ByteArray instance's + data in a specific format such as gzip or zip, you cannot simply call + `compress(CompressionAlgorithm.DEFLATE)`. You must create a + ByteArray structured according to the compression format's specification, + including the appropriate metadata as well as the compressed data obtained + using the deflate format. Likewise, in order to decode data compressed in + a format such as gzip or zip, you can't simply call + `uncompress(CompressionAlgorithm.DEFLATE)` on that data. First, + you must separate the metadata from the compressed data, and you can then + use the deflate format to decompress the compressed data.]]> + + + + + + + Compresses the byte array using the deflate compression algorithm. The + entire byte array is compressed. + + After the call, the `length` property of the ByteArray is + set to the new length. The `position` property is set to the + end of the byte array. + + The deflate compression algorithm is described at + [http://www.ietf.org/rfc/rfc1951.txt](http://www.ietf.org/rfc/rfc1951.txt). + + In order to use the deflate format to compress a ByteArray instance's + data in a specific format such as gzip or zip, you cannot simply call + `deflate()`. You must create a ByteArray structured according + to the compression format's specification, including the appropriate + metadata as well as the compressed data obtained using the deflate format. + Likewise, in order to decode data compressed in a format such as gzip or + zip, you can't simply call `inflate()` on that data. First, you + must separate the metadata from the compressed data, and you can then use + the deflate format to decompress the compressed data. + + + + + + + + Converts an ArrayBuffer into a ByteArray. + + @param buffer An ArrayBuffer instance + @returns A new ByteArray + + + + + + + + Converts a Bytes object into a ByteArray. + + @param buffer A Bytes instance + @returns A new ByteArray + + + + + + + + + + + Converts a BytesData object into a ByteArray. + + @param buffer A BytesData instance + @returns A new ByteArray + + + + + + + Creates a new ByteArray from a file path synchronously. This means that the + ByteArray will be returned immediately (if supported). + + HTML5 and Flash do not support loading files synchronously, so these targets + always return `null`. + + In order to load files from a remote web address, use the `loadFromFile` method, + which supports asynchronous loading. + + @param path A local file path + @returns A new ByteArray if successful, or `null` if unsuccessful + + + + + + + + + + + Converts a Lime Bytes object into a ByteArray. + + @param buffer A Lime Bytes instance + @returns A new ByteArray + + + + + + + + + + + + + + + + + + Decompresses the byte array using the deflate compression algorithm. The + byte array must have been compressed using the same algorithm. + + After the call, the `length` property of the ByteArray is + set to the new length. The `position` property is set to 0. + + The deflate compression algorithm is described at + [http://www.ietf.org/rfc/rfc1951.txt](http://www.ietf.org/rfc/rfc1951.txt). + + In order to decode data compressed in a format that uses the deflate + compression algorithm, such as data in gzip or zip format, it will not + work to simply call `inflate()` on a ByteArray containing the + compression formation data. First, you must separate the metadata that is + included as part of the compressed data format from the actual compressed + data. For more information, see the `compress()` method + description. + + @throws IOError The data is not valid compressed data; it was not + compressed with the same compression algorithm used to + compress. + + + + + + + Creates a new ByteArray from haxe.io.Bytes. Progress, completion and error + callbacks will be dispatched using callbacks attached to a returned Future + object. + + @param bytes A haxe.io.Bytes instance + @returns A Future ByteArray + + + + + + + Creates a new ByteArray from a file path or web address asynchronously. The file + load will occur in the background. + Progress, completion and error callbacks will be dispatched in the current + thread using callbacks attached to a returned Future object. + + @param path A local file path or web address + @returns A Future ByteArray + + + + + + + Reads a Boolean value from the byte stream. A single byte is read, and + `true` is returned if the byte is nonzero, `false` + otherwise. + + @return Returns `true` if the byte is nonzero, + `false` otherwise. + @throws EOFError There is not sufficient data available to read. + + + + + + + Reads a signed byte from the byte stream. + + The returned value is in the range -128 to 127. + + @return An integer between -128 and 127. + @throws EOFError There is not sufficient data available to read. + + + + + + + + + + { length : 0, offset : 0 } + Reads the number of data bytes, specified by the `length` + parameter, from the byte stream. The bytes are read into the ByteArray + object specified by the `bytes` parameter, and the bytes are + written into the destination ByteArray starting at the position specified + by `offset`. + + @param bytes The ByteArray object to read data into. + @param offset The offset(position) in `bytes` at which the + read data should be written. + @param length The number of bytes to read. The default value of 0 causes + all available data to be read. + @throws EOFError There is not sufficient data available to read. + @throws RangeError The value of the supplied offset and length, combined, + is greater than the maximum for a uint. + + + + + + + Reads an IEEE 754 double-precision(64-bit) floating-point number from the + byte stream. + + @return A double-precision(64-bit) floating-point number. + @throws EOFError There is not sufficient data available to read. + + + + + + + Reads an IEEE 754 single-precision(32-bit) floating-point number from the + byte stream. + + @return A single-precision(32-bit) floating-point number. + @throws EOFError There is not sufficient data available to read. + + + + + + + Reads a signed 32-bit integer from the byte stream. + + The returned value is in the range -2147483648 to 2147483647. + + @return A 32-bit signed integer between -2147483648 and 2147483647. + @throws EOFError There is not sufficient data available to read. + + + + + + + + + Supported Character + Sets. + + **Note:** If the value for the `charSet` + parameter is not recognized by the current system, the + application uses the system's default code page as the + character set. For example, a value for the + `charSet` parameter, as in + `myTest.readMultiByte(22, "iso-8859-01")` that + uses `01` instead of `1` might work + on your development system, but not on another system. On + the other system, the application will use the system's + default code page. + @return UTF-8 encoded string. + @throws EOFError There is not sufficient data available to read.]]> + + + + + + + Reads an object from the byte array, encoded in AMF serialized format. + + @return The deserialized object. + @throws EOFError There is not sufficient data available to read. + + + + + + + Reads a signed 16-bit integer from the byte stream. + + The returned value is in the range -32768 to 32767. + + @return A 16-bit signed integer between -32768 and 32767. + @throws EOFError There is not sufficient data available to read. + + + + + + + Reads a UTF-8 string from the byte stream. The string is assumed to be + prefixed with an unsigned short indicating the length in bytes. + + @return UTF-8 encoded string. + @throws EOFError There is not sufficient data available to read. + + + + + + + + Reads a sequence of UTF-8 bytes specified by the `length` + parameter from the byte stream and returns a string. + + @param length An unsigned short indicating the length of the UTF-8 bytes. + @return A string composed of the UTF-8 bytes of the specified length. + @throws EOFError There is not sufficient data available to read. + + + + + + + Reads an unsigned byte from the byte stream. + + The returned value is in the range 0 to 255. + + @return A 32-bit unsigned integer between 0 and 255. + @throws EOFError There is not sufficient data available to read. + + + + + + + Reads an unsigned 32-bit integer from the byte stream. + + The returned value is in the range 0 to 4294967295. + + @return A 32-bit unsigned integer between 0 and 4294967295. + @throws EOFError There is not sufficient data available to read. + + + + + + + Reads an unsigned 16-bit integer from the byte stream. + + The returned value is in the range 0 to 65535. + + @return A 16-bit unsigned integer between 0 and 65535. + @throws EOFError There is not sufficient data available to read. + + + + + + + + + + + + + + + + + + + + + + + Converts a ByteArray into an ArrayBuffer. + + @param buffer A ByteArray instance + @returns A new ArrayBuffer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Converts the byte array to a string. If the data in the array begins with + a Unicode byte order mark, the application will honor that mark when + converting to a string. If `System.useCodePage` is set to + `true`, the application will treat the data in the array as + being in the current system code page when converting. + + @return The string representation of the byte array. + + + + + + + + { algorithm : null } + Decompresses the byte array. For content running in Adobe AIR, you can + specify a compression algorithm by passing a value(defined in the + CompressionAlgorithm class) as the `algorithm` parameter. The + byte array must have been compressed using the same algorithm. Flash + Player supports only the default algorithm, zlib. + + After the call, the `length` property of the ByteArray is + set to the new length. The `position` property is set to 0. + + The zlib compressed data format is described at + [http://www.ietf.org/rfc/rfc1950.txt](http://www.ietf.org/rfc/rfc1950.txt). + + The deflate compression algorithm is described at + [http://www.ietf.org/rfc/rfc1951.txt](http://www.ietf.org/rfc/rfc1951.txt). + + In order to decode data compressed in a format that uses the deflate + compression algorithm, such as data in gzip or zip format, it will not + work to call `uncompress(CompressionAlgorithm.DEFLATE)` on a + ByteArray containing the compression formation data. First, you must + separate the metadata that is included as part of the compressed data + format from the actual compressed data. For more information, see the + `compress()` method description. + + @throws IOError The data is not valid compressed data; it was not + compressed with the same compression algorithm used to + compress. + + + + + + + + Writes a Boolean value. A single byte is written according to the + `value` parameter, either 1 if `true` or 0 if + `false`. + + @param value A Boolean value determining which byte is written. If the + parameter is `true`, the method writes a 1; if + `false`, the method writes a 0. + + + + + + + + Writes a byte to the byte stream. + + The low 8 bits of the parameter are used. The high 24 bits are ignored. + + + @param value A 32-bit integer. The low 8 bits are written to the byte + stream. + + + + + + + + + + { length : 0, offset : 0 } + Writes a sequence of `length` bytes from the specified byte + array, `bytes`, starting `offset`(zero-based index) + bytes into the byte stream. + + If the `length` parameter is omitted, the default length of + 0 is used; the method writes the entire buffer starting at + `offset`. If the `offset` parameter is also omitted, + the entire buffer is written. + + If `offset` or `length` is out of range, they are + clamped to the beginning and end of the `bytes` array. + + @param bytes The ByteArray object. + @param offset A zero-based index indicating the position into the array to + begin writing. + @param length An unsigned integer indicating how far into the buffer to + write. + + + + + + + + Writes an IEEE 754 double-precision(64-bit) floating-point number to the + byte stream. + + @param value A double-precision(64-bit) floating-point number. + + + + + + + + Writes an IEEE 754 single-precision(32-bit) floating-point number to the + byte stream. + + @param value A single-precision(32-bit) floating-point number. + + + + + + + + Writes a 32-bit signed integer to the byte stream. + + @param value An integer to write to the byte stream. + + + + + + + + + Supported Character + Sets.]]> + + + + + + + + Writes an object into the byte array in AMF serialized format. + + @param object The object to serialize. + + + + + + + + Writes a 16-bit integer to the byte stream. The low 16 bits of the + parameter are used. The high 16 bits are ignored. + + @param value 32-bit integer, whose low 16 bits are written to the byte + stream. + + + + + + + + Writes a UTF-8 string to the byte stream. The length of the UTF-8 string + in bytes is written first, as a 16-bit integer, followed by the bytes + representing the characters of the string. + + @param value The string value to be written. + @throws RangeError If the length is larger than 65535. + + + + + + + + Writes a UTF-8 string to the byte stream. Similar to the + `writeUTF()` method, but `writeUTFBytes()` does not + prefix the string with a 16-bit length word. + + @param value The string value to be written. + + + + + + + + Writes a 32-bit unsigned integer to the byte stream. + + @param value An unsigned integer to write to the byte stream. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + openfl.utils.ByteArrayData + haxe.io.Bytes + + + + + + + The CompressionAlgorithm class defines string constants for the names of + compress and uncompress options. These constants are used as values of the + `algorithm` parameter of the `ByteArray.compress()` and + `ByteArray.uncompress()` methods. + + + + + + cast 0 + + + + Defines the string to use for the deflate compression algorithm. + + + + + cast 1 + + + + + + + + cast 2 + + + + Defines the string to use for the zlib compression algorithm. + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + Defines the string to use for the deflate compression algorithm. + + + + + cast 1 + + + + + + + + cast 2 + + + + Defines the string to use for the zlib compression algorithm. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The Dictionary class lets you create a dynamic collection of properties, + which uses strict equality (`===`) for key comparison. When an object is + used as a key, the object's identity is used to look up the object, and + not the value returned from calling `toString()` on it. + The following statements show the relationship between a Dictionary object + and a key object: + + ```as3 + var dict = new Dictionary(); + var obj = new Object(); + var key:Object = new Object(); + key.toString = function() { return "key" } + + dict[key] = "Letters"; + obj["key"] = "Letters"; + + dict[key] == "Letters"; // true + obj["key"] == "Letters"; // true + obj[key] == "Letters"; // true because key == "key" is true b/c key.toString == "key" + dict["key"] == "Letters"; // false because "key" === key is false + delete dict[key]; //removes the key + ``` + K + + + + + + + + + + + Returns `true` if `key` has a mapping, `false` otherwise. + + If key is `null`, the result is unspecified. + + + + + + + + + + + + Returns the current mapping of `key`. + + If no such mapping exists, `null` is returned. + + Note that a check like `dict.get(key) == null` can hold for two reasons: + + 1. The Dictionary has no mapping for `key` + 2. The Dictionary has a mapping with a value of `null` + + If it is important to distinguish these cases, `exists()` should be used. + + If `key` is null, the result is unspecified. + + + + + + + + + + + + + Returns an Iterator over the keys and values of this Dictionary. + + The order of values is undefined. + + + + + + + + + + + Removes the mapping of `key` and returns `true` if such a mapping existed, `false` otherwise. + + If `key` is `null`, the result is unspecified. + + + + + + + + + + + + + Maps `key` to `value`. + + If `key` already has a mapping, the previous value disappears. + + If `key` is `null`, the result is unspecified. + + + + + + + + + + Returns an Iterator over the keys of this Dictionary. + + The order of values is undefined. + + + + + + + + + + Returns an Iterator over each of the values of this Dictionary. + + The order of values is undefined. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns `true` if `key` has a mapping, `false` otherwise. + + If key is `null`, the result is unspecified. + + + + + + + + + + + + Returns the current mapping of `key`. + + If no such mapping exists, `null` is returned. + + Note that a check like `dict.get(key) == null` can hold for two reasons: + + 1. The Dictionary has no mapping for `key` + 2. The Dictionary has a mapping with a value of `null` + + If it is important to distinguish these cases, `exists()` should be used. + + If `key` is null, the result is unspecified. + + + + + + + + + + + + + Returns an Iterator over the keys and values of this Dictionary. + + The order of values is undefined. + + + + + + + + + + + Removes the mapping of `key` and returns `true` if such a mapping existed, `false` otherwise. + + If `key` is `null`, the result is unspecified. + + + + + + + + + + + + + Maps `key` to `value`. + + If `key` already has a mapping, the previous value disappears. + + If `key` is `null`, the result is unspecified. + + + + + + + + + + Returns an Iterator over the keys of this Dictionary. + + The order of values is undefined. + + + + + + + + + + Returns an Iterator over each of the values of this Dictionary. + + The order of values is undefined. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + "checkstyle:FieldDocComment" + hide + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Binary search through floatKeys array, which is sorted, to find an index of a given key. If the array + doesn't contain such key -1 is returned. + + + + + + + + + Insert the key at a proper index in the array and return the index. The array must will remain sorted. + The keys are unique so if the key already existis in the array it isn't added but it's index is returned. + + + + + + "tags=\"haxe,release\"" + + "checkstyle:FieldDocComment" + hide + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "tags=\"haxe,release\"" + + "checkstyle:FieldDocComment" + hide + + + + + + + + + + + + + The Endian class contains values that denote the byte order used to + represent multibyte numbers. The byte order is either bigEndian (most + significant byte first) or littleEndian (least significant byte first). + + OpenFL content can interface with a server by using the binary protocol of + that server, directly. Some servers use the bigEndian byte order and some + servers use the littleEndian byte order. Most servers on the Internet use + the bigEndian byte order because "network byte order" is bigEndian. The + littleEndian byte order is popular because the Intel x86 architecture uses + it. Use the endian byte order that matches the protocol of the server that + is sending or receiving data. + + + + + + cast 0 + + + + Indicates the most significant byte of the multibyte number + appears first in the sequence of bytes. + + The hexadecimal number 0x12345678 has 4 bytes (2 hexadecimal + digits per byte). The most significant byte is 0x12. The + least significant byte is 0x78. (For the equivalent decimal + number, 305419896, the most significant digit is 3, and the + least significant digit is 6). + + A stream using the bigEndian byte order (the most significant + byte first) writes: + + ``` + 12 34 56 78 + ``` + + + + + cast 1 + + + + Indicates the least significant byte of the multibyte number + appears first in the sequence of bytes. + + The hexadecimal number 0x12345678 has 4 bytes (2 hexadecimal + digits per byte). The most significant byte is 0x12. The + least significant byte is 0x78. (For the equivalent decimal + number, 305419896, the most significant digit is 3, and the + least significant digit is 6). + + A stream using the littleEndian byte order (the most + significant byte first) writes: + + ``` + 78 56 34 12 + ``` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cast 0 + + + + Indicates the most significant byte of the multibyte number + appears first in the sequence of bytes. + + The hexadecimal number 0x12345678 has 4 bytes (2 hexadecimal + digits per byte). The most significant byte is 0x12. The + least significant byte is 0x78. (For the equivalent decimal + number, 305419896, the most significant digit is 3, and the + least significant digit is 6). + + A stream using the bigEndian byte order (the most significant + byte first) writes: + + ``` + 12 34 56 78 + ``` + + + + + cast 1 + + + + Indicates the least significant byte of the multibyte number + appears first in the sequence of bytes. + + The hexadecimal number 0x12345678 has 4 bytes (2 hexadecimal + digits per byte). The most significant byte is 0x12. The + least significant byte is 0x78. (For the equivalent decimal + number, 305419896, the most significant digit is 3, and the + least significant digit is 6). + + A stream using the littleEndian byte order (the most + significant byte first) writes: + + ``` + 78 56 34 12 + ``` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_new public="1" get="inline" set="null" line="5" static="1"> + + + + + + + + + + + + + + + + + + + + "checkstyle:FieldDocComment" + + hide + + + + + + + + + + + + + + + + + + + + + + + <__fieldRead get="inline" set="null" line="60" static="1"> + + + + + + a.b + + <__fieldWrite get="inline" set="null" line="67" static="1"> + + + + + + + a.b + + <__get public="1" get="inline" set="null" line="74" static="1"> + + + + + + + "checkstyle:FieldDocComment" + + + hide + + + <__set public="1" get="inline" set="null" line="80" static="1"> + + + + + + + + "checkstyle:FieldDocComment" + + + hide + + + + + + <_new public="1" get="inline" set="null" line="5" static="1"> + + + + + + + + + + + + + + + + + + + + "checkstyle:FieldDocComment" + + hide + + + + + + + + + + + + + + + + + + + + + + + <__fieldRead get="inline" set="null" line="60" static="1"> + + + + + + a.b + + <__fieldWrite get="inline" set="null" line="67" static="1"> + + + + + + + a.b + + <__get public="1" get="inline" set="null" line="74" static="1"> + + + + + + + "checkstyle:FieldDocComment" + + + hide + + + <__set public="1" get="inline" set="null" line="80" static="1"> + + + + + + + + "checkstyle:FieldDocComment" + + + hide + + + + + + + + "checkstyle:FieldDocComment" + + "haxe.lang.Iterator" + + + + + + + "checkstyle:FieldDocComment" + + "haxe.lang.Iterable" + + + + + + hide + + + + + + + + + + <__sentWarnings expr="new Map()" line="19" static="1"> + + + + + + new Map() + + + + + + + + + "checkstyle:NullableParameter" + + + + "tags=\"haxe,release\"" + + "checkstyle:FieldDocComment" + + + + + + <__pool public="1" expr="new ObjectPool<TouchData>(function() return new TouchData(), function(data) data.reset())" line="16" static="1"> + + (function() return new TouchData(), function(data) data.reset())]]> + + + + + "checkstyle:Dynamic" + + + + + + + + "tags=\"haxe,release\"" + + "checkstyle:FieldDocComment" + + + + + + + + * Triggered after the characters has been created, during PlayState's creation. + + + + * Triggered at the very end of PlayState's creation + + + + + + + * Triggered every frame. + * @param elapsed Time elapsed since last frame. + + + + + + + * Triggered at the end of every frame. + * @param elapsed Time elapsed since last frame. + + + + + + + * Triggered every step + * @param curStep Current step. + + + + + + + * Triggered every beat. + * @param curBeat Current beat. + + + + + + + * Triggered whenever the player hits a note. + * @param note Event object with the note being pressed, the character who pressed it, and functions to alter or cancel the default behaviour. + + + + + + + * Triggered whenever the opponent hits a note. + * @param note Event object with the note being pressed, the character who pressed it, and functions to alter or cancel the default behaviour. + + + + + + + * Triggered whenever the input system updates. + * @param note Event object with the pressed notes, which allows you to alter which notes are being pressed during this frame, or simply cancel the input update. + + + + + + + * Triggered after the input system updates. + * @param note Event object with the pressed, justPressed and justReleased notes. + + * Contains all callbacks you can add in modcharts and stage scripts. + * + * NOTE: In case you're scripting a stage, all sprites of that stage are directly accessible via their name. + * Ex: If you added a `superCoolBG` element in your stage XML, you'll be able to access it via scripts by using `superCoolBG`. + + + + + + + The user id for the file owner. + + + + The size of the file, in bytes. + + + + The device type on which stat resides (special files only). + + + + The number of hard links to stat. + + + + The last modification time for the file. + + + + The permission bits of stat. The meaning of the bits is platform dependent. + + + + The inode number for stat. + + + + The user group id for the file owner. + + + + The device on which stat resides. + + + + The creation time for the file (not all file systems support this). + + + + The last access time for the file (when enabled by the file system). + + + File information, as given by `sys.FileSystem.stat`. + + + + + + + + Returns `true` if the file or directory specified by `path` exists. + + + + + + + + Returns `FileStat` information for the file or directory specified by + `path`. + + + + + + + Returns `true` if the file or directory specified by `path` is a directory. + + If `path` is not a valid file system entry or if its destination is not + accessible, an exception is thrown. + + + + + + + Creates a directory specified by `path`. + + This method is recursive: The parent directories don't have to exist. + + If the directory cannot be created, an exception is thrown. + + + + + + + Deletes the file specified by `path`. + + If `path` does not denote a valid file, or if that file cannot be + deleted, an exception is thrown. + + + + + + + Returns the names of all files and directories in the directory specified + by `path`. `"."` and `".."` are not included in the output. + + If `path` does not denote a valid directory, an exception is thrown. + + This class provides information about files and directories. + + If `null` is passed as a file path to any function in this class, the + result is unspecified, and may differ from target to target. + + See `sys.io.File` for the complementary file API. + + + + "]]> + + + + + + + + + + + + + + + + + + + + + Retrieves the content of the file specified by `path` as a String. + + If the file does not exist or can not be read, an exception is thrown. + + `sys.FileSystem.exists` can be used to check for existence. + + If `path` is null, the result is unspecified. + + + + + + + Retrieves the binary content of the file specified by `path`. + + If the file does not exist or can not be read, an exception is thrown. + + `sys.FileSystem.exists` can be used to check for existence. + + If `path` is null, the result is unspecified. + + + + + + + + Stores `content` in the file specified by `path`. + + If the file cannot be written to, an exception is thrown. + + If `path` or `content` are null, the result is unspecified. + + + + + + + + Stores `bytes` in the file specified by `path` in binary mode. + + If the file cannot be written to, an exception is thrown. + + If `path` or `bytes` are null, the result is unspecified. + + + + + + + + + + { binary : true } + + Returns an `FileInput` handle to the file specified by `path`. + + If `binary` is true, the file is opened in binary mode. Otherwise it is + opened in non-binary mode. + + If the file does not exist or can not be read, an exception is thrown. + + Operations on the returned `FileInput` handle read on the opened file. + + File handles should be closed via `FileInput.close` once the operation + is complete. + + If `path` is null, the result is unspecified. + + + + + + + + + + { binary : true } + + Returns an `FileOutput` handle to the file specified by `path`. + + If `binary` is true, the file is opened in binary mode. Otherwise it is + opened in non-binary mode. + + If the file cannot be written to, an exception is thrown. + + Operations on the returned `FileOutput` handle write to the opened file. + If the file existed, its previous content is overwritten. + + File handles should be closed via `FileOutput.close` once the operation + is complete. + + If `path` is null, the result is unspecified. + + API for reading and writing files. + + See `sys.FileSystem` for the complementary file system API. + + + + + + + + + <__f> + + + + + + + + + + + + + + + + + + + Use `sys.io.File.read` to create a `FileInput`. + + + + + + + + + <__f> + + + + + + + + + + + + + + + + Use `sys.io.File.write` to create a `FileOutput`. + + + + + + + + +

      + + + + + + + + + + + + + + + + + + + + +
      + + +

      + + + + + + + + + + + + + + + + + + +
      + +

      + + + Standard output. The output stream where a process writes its output data. + + + + Standard error. The output stream to output error messages or diagnostics. + + + + Standard input. The stream data going into a process. + + + + Close the process handle and release the associated resources. + All `Process` fields should not be used after `close()` is called. + + + + + + + + + Construct a `Process` object, which run the given command immediately. + + Command arguments can be passed in two ways: 1. using `args`, 2. appending to `cmd` and leaving `args` as `null`. + + 1. When using `args` to pass command arguments, each argument will be automatically quoted, and shell meta-characters will be escaped if needed. + `cmd` should be an executable name that can be located in the `PATH` environment variable, or a path to an executable. + + 2. When `args` is not given or is `null`, command arguments can be appended to `cmd`. No automatic quoting/escaping will be performed. `cmd` should be formatted exactly as it would be when typed at the command line. + It can run executables, as well as shell commands that are not executables (e.g. on Windows: `dir`, `cd`, `echo` etc). + + `detached` allows the created process to be standalone. You cannot communicate with it but you can look at its exit code. Not supported on php. + + `close()` should be called when the `Process` is no longer used. + + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + Adds an element at the end of `this` Deque. + + (Java,Jvm): throws `java.lang.NullPointerException` if `i` is `null`. + + + + + + + + Adds an element at the front of `this` Deque. + + (Java,Jvm): throws `java.lang.NullPointerException` if `i` is `null`. + + + + + + + + Tries to retrieve an element from the front of `this` Deque. + + If an element is available, it is removed from the queue and returned. + + If no element is available and `block` is `false`, `null` is returned. + + Otherwise, execution blocks until an element is available and returns it. + + + + + Create a new Deque instance which is initially empty. + + A Deque is a double-ended queue with a `pop` method that can block until + an element is available. It is commonly used to synchronize threads. + + + + + + + + + + new Mutex() + + + + Void>>()]]> + + + + 0 + + + + new Lock() + + + + 0 + + + + + Execute all pending events. + Wait and execute as many events as many times `promiseEvent()` was called. + Runs until all repeating events are cancelled and no more events is expected. + + Depending on a target platform this method may be non-reentrant. It must + not be called from event callbacks. + + + An event loop implementation used for `sys.thread.Thread` + + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + { timeout : -1 } + + Waits for the lock to be released, or `timeout` (in seconds) + to expire. Returns `true` if the lock is released and `false` + if a time-out occurs. + + + + + Creates a new Lock which is initially locked. + + A Lock allows blocking execution until it has been unlocked. It keeps track + of how often `release` has been called, and blocks exactly as many `wait` + calls. + + The order of the `release` and `wait` calls is irrelevant. That is, a Lock + can be released before anyone waits for it. In that case, the `wait` call + will execute immediately. + + Usage example: + + ```haxe + var lock = new Lock(); + var elements = [1, 2, 3]; + for (element in elements) { + // Create one thread per element + new Thread(function() { + trace(element); + Sys.sleep(1); + // Release once per thread = 3 times + lock.release(); + }); + } + for (_ in elements) { + // Wait 3 times + lock.wait(); + } + trace("All threads finished"); + ``` + + + + + + + + + + + + The current thread acquire the mutex or wait if not available. + The same thread can acquire several times the same mutex but + must release it as many times it has been acquired. + + + + + Release a mutex that has been acquired by the current thread. + The behavior is undefined if the current thread does not own + the mutex. + + + + + Creates a mutex. + + Creates a mutex, which can be used to acquire a temporary lock + to access some ressource. The main difference with a lock is + that a mutex must always be released by the owner thread. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/generateDoc.bat b/generateDoc.bat new file mode 100644 index 00000000..f46afa95 --- /dev/null +++ b/generateDoc.bat @@ -0,0 +1,6 @@ +@ECHO OFF +echo Building Game... +lime build windows --haxeflag="--macro include('scripting')" --haxeflag="-xml docs/doc.xml" +echo Generating Documentation... +haxelib run dox -i docs --include funkin --include scripting +echo Done! \ No newline at end of file diff --git a/pages/404.html b/pages/404.html new file mode 100644 index 00000000..7ba6ab14 --- /dev/null +++ b/pages/404.html @@ -0,0 +1 @@ +File not found

      404 Page not found

      Page not found, sorry.

      \ No newline at end of file diff --git a/pages/bootstrap/css/bootstrap-responsive.css b/pages/bootstrap/css/bootstrap-responsive.css new file mode 100644 index 00000000..c0bba15b --- /dev/null +++ b/pages/bootstrap/css/bootstrap-responsive.css @@ -0,0 +1,1109 @@ +/*! + * Bootstrap Responsive v2.3.2 + * + * Copyright 2013 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world by @mdo and @fat. + */ + +.clearfix { + *zoom: 1; +} + +.clearfix:before, +.clearfix:after { + display: table; + line-height: 0; + content: ""; +} + +.clearfix:after { + clear: both; +} + +.hide-text { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +.input-block-level { + display: block; + width: 100%; + min-height: 30px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +@-ms-viewport { + width: device-width; +} + +.hidden { + display: none; + visibility: hidden; +} + +.visible-phone { + display: none !important; +} + +.visible-tablet { + display: none !important; +} + +.hidden-desktop { + display: none !important; +} + +.visible-desktop { + display: inherit !important; +} + +@media (min-width: 768px) and (max-width: 979px) { + .hidden-desktop { + display: inherit !important; + } + .visible-desktop { + display: none !important ; + } + .visible-tablet { + display: inherit !important; + } + .hidden-tablet { + display: none !important; + } +} + +@media (max-width: 767px) { + .hidden-desktop { + display: inherit !important; + } + .visible-desktop { + display: none !important; + } + .visible-phone { + display: inherit !important; + } + .hidden-phone { + display: none !important; + } +} + +.visible-print { + display: none !important; +} + +@media print { + .visible-print { + display: inherit !important; + } + .hidden-print { + display: none !important; + } +} + +@media (min-width: 1200px) { + .row { + margin-left: -30px; + *zoom: 1; + } + .row:before, + .row:after { + display: table; + line-height: 0; + content: ""; + } + .row:after { + clear: both; + } + [class*="span"] { + float: left; + min-height: 1px; + margin-left: 30px; + } + .container, + .navbar-static-top .container, + .navbar-fixed-top .container, + .navbar-fixed-bottom .container { + width: 1170px; + } + .span12 { + width: 1170px; + } + .span11 { + width: 1070px; + } + .span10 { + width: 970px; + } + .span9 { + width: 870px; + } + .span8 { + width: 770px; + } + .span7 { + width: 670px; + } + .span6 { + width: 570px; + } + .span5 { + width: 470px; + } + .span4 { + width: 370px; + } + .span3 { + width: 270px; + } + .span2 { + width: 170px; + } + .span1 { + width: 70px; + } + .offset12 { + margin-left: 1230px; + } + .offset11 { + margin-left: 1130px; + } + .offset10 { + margin-left: 1030px; + } + .offset9 { + margin-left: 930px; + } + .offset8 { + margin-left: 830px; + } + .offset7 { + margin-left: 730px; + } + .offset6 { + margin-left: 630px; + } + .offset5 { + margin-left: 530px; + } + .offset4 { + margin-left: 430px; + } + .offset3 { + margin-left: 330px; + } + .offset2 { + margin-left: 230px; + } + .offset1 { + margin-left: 130px; + } + .row-fluid { + width: 100%; + *zoom: 1; + } + .row-fluid:before, + .row-fluid:after { + display: table; + line-height: 0; + content: ""; + } + .row-fluid:after { + clear: both; + } + .row-fluid [class*="span"] { + display: block; + float: left; + width: 100%; + min-height: 30px; + margin-left: 2.564102564102564%; + *margin-left: 2.5109110747408616%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .row-fluid [class*="span"]:first-child { + margin-left: 0; + } + .row-fluid .controls-row [class*="span"] + [class*="span"] { + margin-left: 2.564102564102564%; + } + .row-fluid .span12 { + width: 100%; + *width: 99.94680851063829%; + } + .row-fluid .span11 { + width: 91.45299145299145%; + *width: 91.39979996362975%; + } + .row-fluid .span10 { + width: 82.90598290598291%; + *width: 82.8527914166212%; + } + .row-fluid .span9 { + width: 74.35897435897436%; + *width: 74.30578286961266%; + } + .row-fluid .span8 { + width: 65.81196581196582%; + *width: 65.75877432260411%; + } + .row-fluid .span7 { + width: 57.26495726495726%; + *width: 57.21176577559556%; + } + .row-fluid .span6 { + width: 48.717948717948715%; + *width: 48.664757228587014%; + } + .row-fluid .span5 { + width: 40.17094017094017%; + *width: 40.11774868157847%; + } + .row-fluid .span4 { + width: 31.623931623931625%; + *width: 31.570740134569924%; + } + .row-fluid .span3 { + width: 23.076923076923077%; + *width: 23.023731587561375%; + } + .row-fluid .span2 { + width: 14.52991452991453%; + *width: 14.476723040552828%; + } + .row-fluid .span1 { + width: 5.982905982905983%; + *width: 5.929714493544281%; + } + .row-fluid .offset12 { + margin-left: 105.12820512820512%; + *margin-left: 105.02182214948171%; + } + .row-fluid .offset12:first-child { + margin-left: 102.56410256410257%; + *margin-left: 102.45771958537915%; + } + .row-fluid .offset11 { + margin-left: 96.58119658119658%; + *margin-left: 96.47481360247316%; + } + .row-fluid .offset11:first-child { + margin-left: 94.01709401709402%; + *margin-left: 93.91071103837061%; + } + .row-fluid .offset10 { + margin-left: 88.03418803418803%; + *margin-left: 87.92780505546462%; + } + .row-fluid .offset10:first-child { + margin-left: 85.47008547008548%; + *margin-left: 85.36370249136206%; + } + .row-fluid .offset9 { + margin-left: 79.48717948717949%; + *margin-left: 79.38079650845607%; + } + .row-fluid .offset9:first-child { + margin-left: 76.92307692307693%; + *margin-left: 76.81669394435352%; + } + .row-fluid .offset8 { + margin-left: 70.94017094017094%; + *margin-left: 70.83378796144753%; + } + .row-fluid .offset8:first-child { + margin-left: 68.37606837606839%; + *margin-left: 68.26968539734497%; + } + .row-fluid .offset7 { + margin-left: 62.393162393162385%; + *margin-left: 62.28677941443899%; + } + .row-fluid .offset7:first-child { + margin-left: 59.82905982905982%; + *margin-left: 59.72267685033642%; + } + .row-fluid .offset6 { + margin-left: 53.84615384615384%; + *margin-left: 53.739770867430444%; + } + .row-fluid .offset6:first-child { + margin-left: 51.28205128205128%; + *margin-left: 51.175668303327875%; + } + .row-fluid .offset5 { + margin-left: 45.299145299145295%; + *margin-left: 45.1927623204219%; + } + .row-fluid .offset5:first-child { + margin-left: 42.73504273504273%; + *margin-left: 42.62865975631933%; + } + .row-fluid .offset4 { + margin-left: 36.75213675213675%; + *margin-left: 36.645753773413354%; + } + .row-fluid .offset4:first-child { + margin-left: 34.18803418803419%; + *margin-left: 34.081651209310785%; + } + .row-fluid .offset3 { + margin-left: 28.205128205128204%; + *margin-left: 28.0987452264048%; + } + .row-fluid .offset3:first-child { + margin-left: 25.641025641025642%; + *margin-left: 25.53464266230224%; + } + .row-fluid .offset2 { + margin-left: 19.65811965811966%; + *margin-left: 19.551736679396257%; + } + .row-fluid .offset2:first-child { + margin-left: 17.094017094017094%; + *margin-left: 16.98763411529369%; + } + .row-fluid .offset1 { + margin-left: 11.11111111111111%; + *margin-left: 11.004728132387708%; + } + .row-fluid .offset1:first-child { + margin-left: 8.547008547008547%; + *margin-left: 8.440625568285142%; + } + input, + textarea, + .uneditable-input { + margin-left: 0; + } + .controls-row [class*="span"] + [class*="span"] { + margin-left: 30px; + } + input.span12, + textarea.span12, + .uneditable-input.span12 { + width: 1156px; + } + input.span11, + textarea.span11, + .uneditable-input.span11 { + width: 1056px; + } + input.span10, + textarea.span10, + .uneditable-input.span10 { + width: 956px; + } + input.span9, + textarea.span9, + .uneditable-input.span9 { + width: 856px; + } + input.span8, + textarea.span8, + .uneditable-input.span8 { + width: 756px; + } + input.span7, + textarea.span7, + .uneditable-input.span7 { + width: 656px; + } + input.span6, + textarea.span6, + .uneditable-input.span6 { + width: 556px; + } + input.span5, + textarea.span5, + .uneditable-input.span5 { + width: 456px; + } + input.span4, + textarea.span4, + .uneditable-input.span4 { + width: 356px; + } + input.span3, + textarea.span3, + .uneditable-input.span3 { + width: 256px; + } + input.span2, + textarea.span2, + .uneditable-input.span2 { + width: 156px; + } + input.span1, + textarea.span1, + .uneditable-input.span1 { + width: 56px; + } + .thumbnails { + margin-left: -30px; + } + .thumbnails > li { + margin-left: 30px; + } + .row-fluid .thumbnails { + margin-left: 0; + } +} + +@media (min-width: 768px) and (max-width: 979px) { + .row { + margin-left: -20px; + *zoom: 1; + } + .row:before, + .row:after { + display: table; + line-height: 0; + content: ""; + } + .row:after { + clear: both; + } + [class*="span"] { + float: left; + min-height: 1px; + margin-left: 20px; + } + .container, + .navbar-static-top .container, + .navbar-fixed-top .container, + .navbar-fixed-bottom .container { + width: 724px; + } + .span12 { + width: 724px; + } + .span11 { + width: 662px; + } + .span10 { + width: 600px; + } + .span9 { + width: 538px; + } + .span8 { + width: 476px; + } + .span7 { + width: 414px; + } + .span6 { + width: 352px; + } + .span5 { + width: 290px; + } + .span4 { + width: 228px; + } + .span3 { + width: 166px; + } + .span2 { + width: 104px; + } + .span1 { + width: 42px; + } + .offset12 { + margin-left: 764px; + } + .offset11 { + margin-left: 702px; + } + .offset10 { + margin-left: 640px; + } + .offset9 { + margin-left: 578px; + } + .offset8 { + margin-left: 516px; + } + .offset7 { + margin-left: 454px; + } + .offset6 { + margin-left: 392px; + } + .offset5 { + margin-left: 330px; + } + .offset4 { + margin-left: 268px; + } + .offset3 { + margin-left: 206px; + } + .offset2 { + margin-left: 144px; + } + .offset1 { + margin-left: 82px; + } + .row-fluid { + width: 100%; + *zoom: 1; + } + .row-fluid:before, + .row-fluid:after { + display: table; + line-height: 0; + content: ""; + } + .row-fluid:after { + clear: both; + } + .row-fluid [class*="span"] { + display: block; + float: left; + width: 100%; + min-height: 30px; + margin-left: 2.7624309392265194%; + *margin-left: 2.709239449864817%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .row-fluid [class*="span"]:first-child { + margin-left: 0; + } + .row-fluid .controls-row [class*="span"] + [class*="span"] { + margin-left: 2.7624309392265194%; + } + .row-fluid .span12 { + width: 100%; + *width: 99.94680851063829%; + } + .row-fluid .span11 { + width: 91.43646408839778%; + *width: 91.38327259903608%; + } + .row-fluid .span10 { + width: 82.87292817679558%; + *width: 82.81973668743387%; + } + .row-fluid .span9 { + width: 74.30939226519337%; + *width: 74.25620077583166%; + } + .row-fluid .span8 { + width: 65.74585635359117%; + *width: 65.69266486422946%; + } + .row-fluid .span7 { + width: 57.18232044198895%; + *width: 57.12912895262725%; + } + .row-fluid .span6 { + width: 48.61878453038674%; + *width: 48.56559304102504%; + } + .row-fluid .span5 { + width: 40.05524861878453%; + *width: 40.00205712942283%; + } + .row-fluid .span4 { + width: 31.491712707182323%; + *width: 31.43852121782062%; + } + .row-fluid .span3 { + width: 22.92817679558011%; + *width: 22.87498530621841%; + } + .row-fluid .span2 { + width: 14.3646408839779%; + *width: 14.311449394616199%; + } + .row-fluid .span1 { + width: 5.801104972375691%; + *width: 5.747913483013988%; + } + .row-fluid .offset12 { + margin-left: 105.52486187845304%; + *margin-left: 105.41847889972962%; + } + .row-fluid .offset12:first-child { + margin-left: 102.76243093922652%; + *margin-left: 102.6560479605031%; + } + .row-fluid .offset11 { + margin-left: 96.96132596685082%; + *margin-left: 96.8549429881274%; + } + .row-fluid .offset11:first-child { + margin-left: 94.1988950276243%; + *margin-left: 94.09251204890089%; + } + .row-fluid .offset10 { + margin-left: 88.39779005524862%; + *margin-left: 88.2914070765252%; + } + .row-fluid .offset10:first-child { + margin-left: 85.6353591160221%; + *margin-left: 85.52897613729868%; + } + .row-fluid .offset9 { + margin-left: 79.8342541436464%; + *margin-left: 79.72787116492299%; + } + .row-fluid .offset9:first-child { + margin-left: 77.07182320441989%; + *margin-left: 76.96544022569647%; + } + .row-fluid .offset8 { + margin-left: 71.2707182320442%; + *margin-left: 71.16433525332079%; + } + .row-fluid .offset8:first-child { + margin-left: 68.50828729281768%; + *margin-left: 68.40190431409427%; + } + .row-fluid .offset7 { + margin-left: 62.70718232044199%; + *margin-left: 62.600799341718584%; + } + .row-fluid .offset7:first-child { + margin-left: 59.94475138121547%; + *margin-left: 59.838368402492065%; + } + .row-fluid .offset6 { + margin-left: 54.14364640883978%; + *margin-left: 54.037263430116376%; + } + .row-fluid .offset6:first-child { + margin-left: 51.38121546961326%; + *margin-left: 51.27483249088986%; + } + .row-fluid .offset5 { + margin-left: 45.58011049723757%; + *margin-left: 45.47372751851417%; + } + .row-fluid .offset5:first-child { + margin-left: 42.81767955801105%; + *margin-left: 42.71129657928765%; + } + .row-fluid .offset4 { + margin-left: 37.01657458563536%; + *margin-left: 36.91019160691196%; + } + .row-fluid .offset4:first-child { + margin-left: 34.25414364640884%; + *margin-left: 34.14776066768544%; + } + .row-fluid .offset3 { + margin-left: 28.45303867403315%; + *margin-left: 28.346655695309746%; + } + .row-fluid .offset3:first-child { + margin-left: 25.69060773480663%; + *margin-left: 25.584224756083227%; + } + .row-fluid .offset2 { + margin-left: 19.88950276243094%; + *margin-left: 19.783119783707537%; + } + .row-fluid .offset2:first-child { + margin-left: 17.12707182320442%; + *margin-left: 17.02068884448102%; + } + .row-fluid .offset1 { + margin-left: 11.32596685082873%; + *margin-left: 11.219583872105325%; + } + .row-fluid .offset1:first-child { + margin-left: 8.56353591160221%; + *margin-left: 8.457152932878806%; + } + input, + textarea, + .uneditable-input { + margin-left: 0; + } + .controls-row [class*="span"] + [class*="span"] { + margin-left: 20px; + } + input.span12, + textarea.span12, + .uneditable-input.span12 { + width: 710px; + } + input.span11, + textarea.span11, + .uneditable-input.span11 { + width: 648px; + } + input.span10, + textarea.span10, + .uneditable-input.span10 { + width: 586px; + } + input.span9, + textarea.span9, + .uneditable-input.span9 { + width: 524px; + } + input.span8, + textarea.span8, + .uneditable-input.span8 { + width: 462px; + } + input.span7, + textarea.span7, + .uneditable-input.span7 { + width: 400px; + } + input.span6, + textarea.span6, + .uneditable-input.span6 { + width: 338px; + } + input.span5, + textarea.span5, + .uneditable-input.span5 { + width: 276px; + } + input.span4, + textarea.span4, + .uneditable-input.span4 { + width: 214px; + } + input.span3, + textarea.span3, + .uneditable-input.span3 { + width: 152px; + } + input.span2, + textarea.span2, + .uneditable-input.span2 { + width: 90px; + } + input.span1, + textarea.span1, + .uneditable-input.span1 { + width: 28px; + } +} + +@media (max-width: 767px) { + body { + padding-right: 20px; + padding-left: 20px; + } + .navbar-fixed-top, + .navbar-fixed-bottom, + .navbar-static-top { + margin-right: -20px; + margin-left: -20px; + } + .container-fluid { + padding: 0; + } + .dl-horizontal dt { + float: none; + width: auto; + clear: none; + text-align: left; + } + .dl-horizontal dd { + margin-left: 0; + } + .container { + width: auto; + } + .row-fluid { + width: 100%; + } + .row, + .thumbnails { + margin-left: 0; + } + .thumbnails > li { + float: none; + margin-left: 0; + } + [class*="span"], + .uneditable-input[class*="span"], + .row-fluid [class*="span"] { + display: block; + float: none; + width: 100%; + margin-left: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .span12, + .row-fluid .span12 { + width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .row-fluid [class*="offset"]:first-child { + margin-left: 0; + } + .input-large, + .input-xlarge, + .input-xxlarge, + input[class*="span"], + select[class*="span"], + textarea[class*="span"], + .uneditable-input { + display: block; + width: 100%; + min-height: 30px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .input-prepend input, + .input-append input, + .input-prepend input[class*="span"], + .input-append input[class*="span"] { + display: inline-block; + width: auto; + } + .controls-row [class*="span"] + [class*="span"] { + margin-left: 0; + } + .modal { + position: fixed; + top: 20px; + right: 20px; + left: 20px; + width: auto; + margin: 0; + } + .modal.fade { + top: -100px; + } + .modal.fade.in { + top: 20px; + } +} + +@media (max-width: 480px) { + .nav-collapse { + -webkit-transform: translate3d(0, 0, 0); + } + .page-header h1 small { + display: block; + line-height: 20px; + } + input[type="checkbox"], + input[type="radio"] { + border: 1px solid #ccc; + } + .form-horizontal .control-label { + float: none; + width: auto; + padding-top: 0; + text-align: left; + } + .form-horizontal .controls { + margin-left: 0; + } + .form-horizontal .control-list { + padding-top: 0; + } + .form-horizontal .form-actions { + padding-right: 10px; + padding-left: 10px; + } + .media .pull-left, + .media .pull-right { + display: block; + float: none; + margin-bottom: 10px; + } + .media-object { + margin-right: 0; + margin-left: 0; + } + .modal { + top: 10px; + right: 10px; + left: 10px; + } + .modal-header .close { + padding: 10px; + margin: -10px; + } + .carousel-caption { + position: static; + } +} + +@media (max-width: 979px) { + body { + padding-top: 0; + } + .navbar-fixed-top, + .navbar-fixed-bottom { + position: static; + } + .navbar-fixed-top { + margin-bottom: 20px; + } + .navbar-fixed-bottom { + margin-top: 20px; + } + .navbar-fixed-top .navbar-inner, + .navbar-fixed-bottom .navbar-inner { + padding: 5px; + } + .navbar .container { + width: auto; + padding: 0; + } + .navbar .brand { + padding-right: 10px; + padding-left: 10px; + margin: 0 0 0 -5px; + } + .nav-collapse { + clear: both; + } + .nav-collapse .nav { + float: none; + margin: 0 0 10px; + } + .nav-collapse .nav > li { + float: none; + } + .nav-collapse .nav > li > a { + margin-bottom: 2px; + } + .nav-collapse .nav > .divider-vertical { + display: none; + } + .nav-collapse .nav .nav-header { + color: #777777; + text-shadow: none; + } + .nav-collapse .nav > li > a, + .nav-collapse .dropdown-menu a { + padding: 9px 15px; + font-weight: bold; + color: #777777; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + } + .nav-collapse .btn { + padding: 4px 10px 4px; + font-weight: normal; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + } + .nav-collapse .dropdown-menu li + li a { + margin-bottom: 2px; + } + .nav-collapse .nav > li > a:hover, + .nav-collapse .nav > li > a:focus, + .nav-collapse .dropdown-menu a:hover, + .nav-collapse .dropdown-menu a:focus { + background-color: #f2f2f2; + } + .navbar-inverse .nav-collapse .nav > li > a, + .navbar-inverse .nav-collapse .dropdown-menu a { + color: #999999; + } + .navbar-inverse .nav-collapse .nav > li > a:hover, + .navbar-inverse .nav-collapse .nav > li > a:focus, + .navbar-inverse .nav-collapse .dropdown-menu a:hover, + .navbar-inverse .nav-collapse .dropdown-menu a:focus { + background-color: #111111; + } + .nav-collapse.in .btn-group { + padding: 0; + margin-top: 5px; + } + .nav-collapse .dropdown-menu { + position: static; + top: auto; + left: auto; + display: none; + float: none; + max-width: none; + padding: 0; + margin: 0 15px; + background-color: transparent; + border: none; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + } + .nav-collapse .open > .dropdown-menu { + display: block; + } + .nav-collapse .dropdown-menu:before, + .nav-collapse .dropdown-menu:after { + display: none; + } + .nav-collapse .dropdown-menu .divider { + display: none; + } + .nav-collapse .nav > li > .dropdown-menu:before, + .nav-collapse .nav > li > .dropdown-menu:after { + display: none; + } + .nav-collapse .navbar-form, + .nav-collapse .navbar-search { + float: none; + padding: 10px 15px; + margin: 10px 0; + border-top: 1px solid #f2f2f2; + border-bottom: 1px solid #f2f2f2; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + } + .navbar-inverse .nav-collapse .navbar-form, + .navbar-inverse .nav-collapse .navbar-search { + border-top-color: #111111; + border-bottom-color: #111111; + } + .navbar .nav-collapse .nav.pull-right { + float: none; + margin-left: 0; + } + .nav-collapse, + .nav-collapse.collapse { + height: 0; + overflow: hidden; + } + .navbar .btn-navbar { + display: block; + } + .navbar-static .navbar-inner { + padding-right: 10px; + padding-left: 10px; + } +} + +@media (min-width: 980px) { + .nav-collapse.collapse { + height: auto !important; + overflow: visible !important; + } +} diff --git a/pages/bootstrap/css/bootstrap-responsive.min.css b/pages/bootstrap/css/bootstrap-responsive.min.css new file mode 100644 index 00000000..96a435be --- /dev/null +++ b/pages/bootstrap/css/bootstrap-responsive.min.css @@ -0,0 +1,9 @@ +/*! + * Bootstrap Responsive v2.3.2 + * + * Copyright 2013 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world by @mdo and @fat. + */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@-ms-viewport{width:device-width}.hidden{display:none;visibility:hidden}.visible-phone{display:none!important}.visible-tablet{display:none!important}.hidden-desktop{display:none!important}.visible-desktop{display:inherit!important}@media(min-width:768px) and (max-width:979px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-tablet{display:inherit!important}.hidden-tablet{display:none!important}}@media(max-width:767px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-phone{display:inherit!important}.hidden-phone{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:inherit!important}.hidden-print{display:none!important}}@media(min-width:1200px){.row{margin-left:-30px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:30px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1170px}.span12{width:1170px}.span11{width:1070px}.span10{width:970px}.span9{width:870px}.span8{width:770px}.span7{width:670px}.span6{width:570px}.span5{width:470px}.span4{width:370px}.span3{width:270px}.span2{width:170px}.span1{width:70px}.offset12{margin-left:1230px}.offset11{margin-left:1130px}.offset10{margin-left:1030px}.offset9{margin-left:930px}.offset8{margin-left:830px}.offset7{margin-left:730px}.offset6{margin-left:630px}.offset5{margin-left:530px}.offset4{margin-left:430px}.offset3{margin-left:330px}.offset2{margin-left:230px}.offset1{margin-left:130px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.564102564102564%;*margin-left:2.5109110747408616%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.564102564102564%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.45299145299145%;*width:91.39979996362975%}.row-fluid .span10{width:82.90598290598291%;*width:82.8527914166212%}.row-fluid .span9{width:74.35897435897436%;*width:74.30578286961266%}.row-fluid .span8{width:65.81196581196582%;*width:65.75877432260411%}.row-fluid .span7{width:57.26495726495726%;*width:57.21176577559556%}.row-fluid .span6{width:48.717948717948715%;*width:48.664757228587014%}.row-fluid .span5{width:40.17094017094017%;*width:40.11774868157847%}.row-fluid .span4{width:31.623931623931625%;*width:31.570740134569924%}.row-fluid .span3{width:23.076923076923077%;*width:23.023731587561375%}.row-fluid .span2{width:14.52991452991453%;*width:14.476723040552828%}.row-fluid .span1{width:5.982905982905983%;*width:5.929714493544281%}.row-fluid .offset12{margin-left:105.12820512820512%;*margin-left:105.02182214948171%}.row-fluid .offset12:first-child{margin-left:102.56410256410257%;*margin-left:102.45771958537915%}.row-fluid .offset11{margin-left:96.58119658119658%;*margin-left:96.47481360247316%}.row-fluid .offset11:first-child{margin-left:94.01709401709402%;*margin-left:93.91071103837061%}.row-fluid .offset10{margin-left:88.03418803418803%;*margin-left:87.92780505546462%}.row-fluid .offset10:first-child{margin-left:85.47008547008548%;*margin-left:85.36370249136206%}.row-fluid .offset9{margin-left:79.48717948717949%;*margin-left:79.38079650845607%}.row-fluid .offset9:first-child{margin-left:76.92307692307693%;*margin-left:76.81669394435352%}.row-fluid .offset8{margin-left:70.94017094017094%;*margin-left:70.83378796144753%}.row-fluid .offset8:first-child{margin-left:68.37606837606839%;*margin-left:68.26968539734497%}.row-fluid .offset7{margin-left:62.393162393162385%;*margin-left:62.28677941443899%}.row-fluid .offset7:first-child{margin-left:59.82905982905982%;*margin-left:59.72267685033642%}.row-fluid .offset6{margin-left:53.84615384615384%;*margin-left:53.739770867430444%}.row-fluid .offset6:first-child{margin-left:51.28205128205128%;*margin-left:51.175668303327875%}.row-fluid .offset5{margin-left:45.299145299145295%;*margin-left:45.1927623204219%}.row-fluid .offset5:first-child{margin-left:42.73504273504273%;*margin-left:42.62865975631933%}.row-fluid .offset4{margin-left:36.75213675213675%;*margin-left:36.645753773413354%}.row-fluid .offset4:first-child{margin-left:34.18803418803419%;*margin-left:34.081651209310785%}.row-fluid .offset3{margin-left:28.205128205128204%;*margin-left:28.0987452264048%}.row-fluid .offset3:first-child{margin-left:25.641025641025642%;*margin-left:25.53464266230224%}.row-fluid .offset2{margin-left:19.65811965811966%;*margin-left:19.551736679396257%}.row-fluid .offset2:first-child{margin-left:17.094017094017094%;*margin-left:16.98763411529369%}.row-fluid .offset1{margin-left:11.11111111111111%;*margin-left:11.004728132387708%}.row-fluid .offset1:first-child{margin-left:8.547008547008547%;*margin-left:8.440625568285142%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:30px}input.span12,textarea.span12,.uneditable-input.span12{width:1156px}input.span11,textarea.span11,.uneditable-input.span11{width:1056px}input.span10,textarea.span10,.uneditable-input.span10{width:956px}input.span9,textarea.span9,.uneditable-input.span9{width:856px}input.span8,textarea.span8,.uneditable-input.span8{width:756px}input.span7,textarea.span7,.uneditable-input.span7{width:656px}input.span6,textarea.span6,.uneditable-input.span6{width:556px}input.span5,textarea.span5,.uneditable-input.span5{width:456px}input.span4,textarea.span4,.uneditable-input.span4{width:356px}input.span3,textarea.span3,.uneditable-input.span3{width:256px}input.span2,textarea.span2,.uneditable-input.span2{width:156px}input.span1,textarea.span1,.uneditable-input.span1{width:56px}.thumbnails{margin-left:-30px}.thumbnails>li{margin-left:30px}.row-fluid .thumbnails{margin-left:0}}@media(min-width:768px) and (max-width:979px){.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:724px}.span12{width:724px}.span11{width:662px}.span10{width:600px}.span9{width:538px}.span8{width:476px}.span7{width:414px}.span6{width:352px}.span5{width:290px}.span4{width:228px}.span3{width:166px}.span2{width:104px}.span1{width:42px}.offset12{margin-left:764px}.offset11{margin-left:702px}.offset10{margin-left:640px}.offset9{margin-left:578px}.offset8{margin-left:516px}.offset7{margin-left:454px}.offset6{margin-left:392px}.offset5{margin-left:330px}.offset4{margin-left:268px}.offset3{margin-left:206px}.offset2{margin-left:144px}.offset1{margin-left:82px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.7624309392265194%;*margin-left:2.709239449864817%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.7624309392265194%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.43646408839778%;*width:91.38327259903608%}.row-fluid .span10{width:82.87292817679558%;*width:82.81973668743387%}.row-fluid .span9{width:74.30939226519337%;*width:74.25620077583166%}.row-fluid .span8{width:65.74585635359117%;*width:65.69266486422946%}.row-fluid .span7{width:57.18232044198895%;*width:57.12912895262725%}.row-fluid .span6{width:48.61878453038674%;*width:48.56559304102504%}.row-fluid .span5{width:40.05524861878453%;*width:40.00205712942283%}.row-fluid .span4{width:31.491712707182323%;*width:31.43852121782062%}.row-fluid .span3{width:22.92817679558011%;*width:22.87498530621841%}.row-fluid .span2{width:14.3646408839779%;*width:14.311449394616199%}.row-fluid .span1{width:5.801104972375691%;*width:5.747913483013988%}.row-fluid .offset12{margin-left:105.52486187845304%;*margin-left:105.41847889972962%}.row-fluid .offset12:first-child{margin-left:102.76243093922652%;*margin-left:102.6560479605031%}.row-fluid .offset11{margin-left:96.96132596685082%;*margin-left:96.8549429881274%}.row-fluid .offset11:first-child{margin-left:94.1988950276243%;*margin-left:94.09251204890089%}.row-fluid .offset10{margin-left:88.39779005524862%;*margin-left:88.2914070765252%}.row-fluid .offset10:first-child{margin-left:85.6353591160221%;*margin-left:85.52897613729868%}.row-fluid .offset9{margin-left:79.8342541436464%;*margin-left:79.72787116492299%}.row-fluid .offset9:first-child{margin-left:77.07182320441989%;*margin-left:76.96544022569647%}.row-fluid .offset8{margin-left:71.2707182320442%;*margin-left:71.16433525332079%}.row-fluid .offset8:first-child{margin-left:68.50828729281768%;*margin-left:68.40190431409427%}.row-fluid .offset7{margin-left:62.70718232044199%;*margin-left:62.600799341718584%}.row-fluid .offset7:first-child{margin-left:59.94475138121547%;*margin-left:59.838368402492065%}.row-fluid .offset6{margin-left:54.14364640883978%;*margin-left:54.037263430116376%}.row-fluid .offset6:first-child{margin-left:51.38121546961326%;*margin-left:51.27483249088986%}.row-fluid .offset5{margin-left:45.58011049723757%;*margin-left:45.47372751851417%}.row-fluid .offset5:first-child{margin-left:42.81767955801105%;*margin-left:42.71129657928765%}.row-fluid .offset4{margin-left:37.01657458563536%;*margin-left:36.91019160691196%}.row-fluid .offset4:first-child{margin-left:34.25414364640884%;*margin-left:34.14776066768544%}.row-fluid .offset3{margin-left:28.45303867403315%;*margin-left:28.346655695309746%}.row-fluid .offset3:first-child{margin-left:25.69060773480663%;*margin-left:25.584224756083227%}.row-fluid .offset2{margin-left:19.88950276243094%;*margin-left:19.783119783707537%}.row-fluid .offset2:first-child{margin-left:17.12707182320442%;*margin-left:17.02068884448102%}.row-fluid .offset1{margin-left:11.32596685082873%;*margin-left:11.219583872105325%}.row-fluid .offset1:first-child{margin-left:8.56353591160221%;*margin-left:8.457152932878806%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:710px}input.span11,textarea.span11,.uneditable-input.span11{width:648px}input.span10,textarea.span10,.uneditable-input.span10{width:586px}input.span9,textarea.span9,.uneditable-input.span9{width:524px}input.span8,textarea.span8,.uneditable-input.span8{width:462px}input.span7,textarea.span7,.uneditable-input.span7{width:400px}input.span6,textarea.span6,.uneditable-input.span6{width:338px}input.span5,textarea.span5,.uneditable-input.span5{width:276px}input.span4,textarea.span4,.uneditable-input.span4{width:214px}input.span3,textarea.span3,.uneditable-input.span3{width:152px}input.span2,textarea.span2,.uneditable-input.span2{width:90px}input.span1,textarea.span1,.uneditable-input.span1{width:28px}}@media(max-width:767px){body{padding-right:20px;padding-left:20px}.navbar-fixed-top,.navbar-fixed-bottom,.navbar-static-top{margin-right:-20px;margin-left:-20px}.container-fluid{padding:0}.dl-horizontal dt{float:none;width:auto;clear:none;text-align:left}.dl-horizontal dd{margin-left:0}.container{width:auto}.row-fluid{width:100%}.row,.thumbnails{margin-left:0}.thumbnails>li{float:none;margin-left:0}[class*="span"],.uneditable-input[class*="span"],.row-fluid [class*="span"]{display:block;float:none;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.span12,.row-fluid .span12{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="offset"]:first-child{margin-left:0}.input-large,.input-xlarge,.input-xxlarge,input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.input-prepend input,.input-append input,.input-prepend input[class*="span"],.input-append input[class*="span"]{display:inline-block;width:auto}.controls-row [class*="span"]+[class*="span"]{margin-left:0}.modal{position:fixed;top:20px;right:20px;left:20px;width:auto;margin:0}.modal.fade{top:-100px}.modal.fade.in{top:20px}}@media(max-width:480px){.nav-collapse{-webkit-transform:translate3d(0,0,0)}.page-header h1 small{display:block;line-height:20px}input[type="checkbox"],input[type="radio"]{border:1px solid #ccc}.form-horizontal .control-label{float:none;width:auto;padding-top:0;text-align:left}.form-horizontal .controls{margin-left:0}.form-horizontal .control-list{padding-top:0}.form-horizontal .form-actions{padding-right:10px;padding-left:10px}.media .pull-left,.media .pull-right{display:block;float:none;margin-bottom:10px}.media-object{margin-right:0;margin-left:0}.modal{top:10px;right:10px;left:10px}.modal-header .close{padding:10px;margin:-10px}.carousel-caption{position:static}}@media(max-width:979px){body{padding-top:0}.navbar-fixed-top,.navbar-fixed-bottom{position:static}.navbar-fixed-top{margin-bottom:20px}.navbar-fixed-bottom{margin-top:20px}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding:5px}.navbar .container{width:auto;padding:0}.navbar .brand{padding-right:10px;padding-left:10px;margin:0 0 0 -5px}.nav-collapse{clear:both}.nav-collapse .nav{float:none;margin:0 0 10px}.nav-collapse .nav>li{float:none}.nav-collapse .nav>li>a{margin-bottom:2px}.nav-collapse .nav>.divider-vertical{display:none}.nav-collapse .nav .nav-header{color:#777;text-shadow:none}.nav-collapse .nav>li>a,.nav-collapse .dropdown-menu a{padding:9px 15px;font-weight:bold;color:#777;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.nav-collapse .btn{padding:4px 10px 4px;font-weight:normal;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.nav-collapse .dropdown-menu li+li a{margin-bottom:2px}.nav-collapse .nav>li>a:hover,.nav-collapse .nav>li>a:focus,.nav-collapse .dropdown-menu a:hover,.nav-collapse .dropdown-menu a:focus{background-color:#f2f2f2}.navbar-inverse .nav-collapse .nav>li>a,.navbar-inverse .nav-collapse .dropdown-menu a{color:#999}.navbar-inverse .nav-collapse .nav>li>a:hover,.navbar-inverse .nav-collapse .nav>li>a:focus,.navbar-inverse .nav-collapse .dropdown-menu a:hover,.navbar-inverse .nav-collapse .dropdown-menu a:focus{background-color:#111}.nav-collapse.in .btn-group{padding:0;margin-top:5px}.nav-collapse .dropdown-menu{position:static;top:auto;left:auto;display:none;float:none;max-width:none;padding:0;margin:0 15px;background-color:transparent;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.nav-collapse .open>.dropdown-menu{display:block}.nav-collapse .dropdown-menu:before,.nav-collapse .dropdown-menu:after{display:none}.nav-collapse .dropdown-menu .divider{display:none}.nav-collapse .nav>li>.dropdown-menu:before,.nav-collapse .nav>li>.dropdown-menu:after{display:none}.nav-collapse .navbar-form,.nav-collapse .navbar-search{float:none;padding:10px 15px;margin:10px 0;border-top:1px solid #f2f2f2;border-bottom:1px solid #f2f2f2;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}.navbar-inverse .nav-collapse .navbar-form,.navbar-inverse .nav-collapse .navbar-search{border-top-color:#111;border-bottom-color:#111}.navbar .nav-collapse .nav.pull-right{float:none;margin-left:0}.nav-collapse,.nav-collapse.collapse{height:0;overflow:hidden}.navbar .btn-navbar{display:block}.navbar-static .navbar-inner{padding-right:10px;padding-left:10px}}@media(min-width:980px){.nav-collapse.collapse{height:auto!important;overflow:visible!important}} diff --git a/pages/bootstrap/css/bootstrap-select.min.css b/pages/bootstrap/css/bootstrap-select.min.css new file mode 100644 index 00000000..b3021ae2 --- /dev/null +++ b/pages/bootstrap/css/bootstrap-select.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select/) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */.bootstrap-select{width:220px \0}.bootstrap-select>.btn{width:100%;padding-right:25px}.error .bootstrap-select .btn{border:1px solid #b94a48}.control-group.error .bootstrap-select .dropdown-toggle{border-color:#b94a48}.bootstrap-select.fit-width{width:auto!important}.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn){width:220px}.bootstrap-select .btn:focus{outline:thin dotted #333!important;outline:5px auto -webkit-focus-ring-color!important;outline-offset:-2px}.bootstrap-select.form-control{margin-bottom:0;padding:0;border:none}.bootstrap-select.form-control:not([class*=col-]){width:100%}.bootstrap-select.btn-group:not(.input-group-btn),.bootstrap-select.btn-group[class*=col-]{float:none;display:inline-block;margin-left:0}.bootstrap-select.btn-group.dropdown-menu-right,.bootstrap-select.btn-group[class*=col-].dropdown-menu-right,.row-fluid .bootstrap-select.btn-group[class*=col-].dropdown-menu-right{float:right}.form-search .bootstrap-select.btn-group,.form-inline .bootstrap-select.btn-group,.form-horizontal .bootstrap-select.btn-group,.form-group .bootstrap-select.btn-group{margin-bottom:0}.form-group-lg .bootstrap-select.btn-group.form-control,.form-group-sm .bootstrap-select.btn-group.form-control{padding:0}.form-inline .bootstrap-select.btn-group .form-control{width:100%}.input-append .bootstrap-select.btn-group{margin-left:-1px}.input-prepend .bootstrap-select.btn-group{margin-right:-1px}.bootstrap-select.btn-group>.disabled{cursor:not-allowed}.bootstrap-select.btn-group>.disabled:focus{outline:0!important}.bootstrap-select.btn-group .btn .filter-option{display:inline-block;overflow:hidden;width:100%;text-align:left}.bootstrap-select.btn-group .btn .caret{position:absolute;top:50%;right:12px;margin-top:-2px;vertical-align:middle}.bootstrap-select.btn-group[class*=col-] .btn{width:100%}.bootstrap-select.btn-group .dropdown-menu{min-width:100%;z-index:1035;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .dropdown-menu.inner{position:static;border:0;padding:0;margin:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.bootstrap-select.btn-group .dropdown-menu li{position:relative}.bootstrap-select.btn-group .dropdown-menu li:not(.disabled) a:hover small,.bootstrap-select.btn-group .dropdown-menu li:not(.disabled) a:focus small,.bootstrap-select.btn-group .dropdown-menu li.active:not(.disabled) a small{color:#64b1d8;color:rgba(100,177,216,.4)}.bootstrap-select.btn-group .dropdown-menu li.disabled a{cursor:not-allowed}.bootstrap-select.btn-group .dropdown-menu li a{cursor:pointer}.bootstrap-select.btn-group .dropdown-menu li a.opt{position:relative;padding-left:2.25em}.bootstrap-select.btn-group .dropdown-menu li a span.check-mark{display:none}.bootstrap-select.btn-group .dropdown-menu li a span.text{display:inline-block}.bootstrap-select.btn-group .dropdown-menu li small{padding-left:.5em}.bootstrap-select.btn-group .dropdown-menu .notify{position:absolute;bottom:5px;width:96%;margin:0 2%;min-height:26px;padding:3px 5px;background:#f5f5f5;border:1px solid #e3e3e3;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05);pointer-events:none;opacity:.9;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .no-results{padding:3px;background:#f5f5f5;margin:0 5px}.bootstrap-select.btn-group.fit-width .btn .filter-option{position:static}.bootstrap-select.btn-group.fit-width .btn .caret{position:static;top:auto;margin-top:-1px}.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a span.check-mark{position:absolute;display:inline-block;right:15px;margin-top:5px}.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text{margin-right:34px}.bootstrap-select.show-menu-arrow.open>.btn{z-index:1035+1}.bootstrap-select.show-menu-arrow .dropdown-toggle:before{content:'';border-left:7px solid transparent;border-right:7px solid transparent;border-bottom-width:7px;border-bottom-style:solid;border-bottom-color:#ccc;border-bottom-color:rgba(204,204,204,.2);position:absolute;bottom:-4px;left:9px;display:none}.bootstrap-select.show-menu-arrow .dropdown-toggle:after{content:'';border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;bottom:-4px;left:10px;display:none}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before{bottom:auto;top:-3px;border-bottom:0;border-top-width:7px;border-top-style:solid;border-top-color:#ccc;border-top-color:rgba(204,204,204,.2)}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after{bottom:auto;top:-3px;border-top:6px solid #fff;border-bottom:0}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before{right:12px;left:auto}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after{right:13px;left:auto}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:before,.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:after{display:block}.bs-searchbox,.bs-actionsbox{padding:4px 8px}.bs-actionsbox{float:left;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bs-actionsbox .btn-group button{width:50%}.bs-searchbox+.bs-actionsbox{padding:0 8px 4px}.bs-searchbox input.form-control{margin-bottom:0;width:100%}.mobile-device{position:absolute;top:0;left:0;display:block!important;width:100%;height:100%!important;opacity:0} \ No newline at end of file diff --git a/pages/bootstrap/css/bootstrap.css b/pages/bootstrap/css/bootstrap.css new file mode 100644 index 00000000..5b7fe7e8 --- /dev/null +++ b/pages/bootstrap/css/bootstrap.css @@ -0,0 +1,6167 @@ +/*! + * Bootstrap v2.3.2 + * + * Copyright 2013 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world by @mdo and @fat. + */ + +.clearfix { + *zoom: 1; +} + +.clearfix:before, +.clearfix:after { + display: table; + line-height: 0; + content: ""; +} + +.clearfix:after { + clear: both; +} + +.hide-text { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +.input-block-level { + display: block; + width: 100%; + min-height: 30px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +nav, +section { + display: block; +} + +audio, +canvas, +video { + display: inline-block; + *display: inline; + *zoom: 1; +} + +audio:not([controls]) { + display: none; +} + +html { + font-size: 100%; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} + +a:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +a:hover, +a:active { + outline: 0; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +img { + width: auto\9; + height: auto; + max-width: 100%; + vertical-align: middle; + border: 0; + -ms-interpolation-mode: bicubic; +} + +#map_canvas img, +.google-maps img { + max-width: none; +} + +button, +input, +select, +textarea { + margin: 0; + font-size: 100%; + vertical-align: middle; +} + +button, +input { + *overflow: visible; + line-height: normal; +} + +button::-moz-focus-inner, +input::-moz-focus-inner { + padding: 0; + border: 0; +} + +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + cursor: pointer; + -webkit-appearance: button; +} + +label, +select, +button, +input[type="button"], +input[type="reset"], +input[type="submit"], +input[type="radio"], +input[type="checkbox"] { + cursor: pointer; +} + +input[type="search"] { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + -webkit-appearance: textfield; +} + +input[type="search"]::-webkit-search-decoration, +input[type="search"]::-webkit-search-cancel-button { + -webkit-appearance: none; +} + +textarea { + overflow: auto; + vertical-align: top; +} + +@media print { + * { + color: #000 !important; + text-shadow: none !important; + background: transparent !important; + box-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + .ir a:after, + a[href^="javascript:"]:after, + a[href^="#"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + @page { + margin: 0.5cm; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } +} + +body { + margin: 0; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 20px; + color: #333333; + background-color: #ffffff; +} + +a { + color: #0088cc; + text-decoration: none; +} + +a:hover, +a:focus { + color: #005580; + text-decoration: underline; +} + +.img-rounded { + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} + +.img-polaroid { + padding: 4px; + background-color: #fff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); +} + +.img-circle { + -webkit-border-radius: 500px; + -moz-border-radius: 500px; + border-radius: 500px; +} + +.row { + margin-left: -20px; + *zoom: 1; +} + +.row:before, +.row:after { + display: table; + line-height: 0; + content: ""; +} + +.row:after { + clear: both; +} + +[class*="span"] { + float: left; + min-height: 1px; + margin-left: 20px; +} + +.container, +.navbar-static-top .container, +.navbar-fixed-top .container, +.navbar-fixed-bottom .container { + width: 940px; +} + +.span12 { + width: 940px; +} + +.span11 { + width: 860px; +} + +.span10 { + width: 780px; +} + +.span9 { + width: 700px; +} + +.span8 { + width: 620px; +} + +.span7 { + width: 540px; +} + +.span6 { + width: 460px; +} + +.span5 { + width: 380px; +} + +.span4 { + width: 300px; +} + +.span3 { + width: 220px; +} + +.span2 { + width: 140px; +} + +.span1 { + width: 60px; +} + +.offset12 { + margin-left: 980px; +} + +.offset11 { + margin-left: 900px; +} + +.offset10 { + margin-left: 820px; +} + +.offset9 { + margin-left: 740px; +} + +.offset8 { + margin-left: 660px; +} + +.offset7 { + margin-left: 580px; +} + +.offset6 { + margin-left: 500px; +} + +.offset5 { + margin-left: 420px; +} + +.offset4 { + margin-left: 340px; +} + +.offset3 { + margin-left: 260px; +} + +.offset2 { + margin-left: 180px; +} + +.offset1 { + margin-left: 100px; +} + +.row-fluid { + width: 100%; + *zoom: 1; +} + +.row-fluid:before, +.row-fluid:after { + display: table; + line-height: 0; + content: ""; +} + +.row-fluid:after { + clear: both; +} + +.row-fluid [class*="span"] { + display: block; + float: left; + width: 100%; + min-height: 30px; + margin-left: 2.127659574468085%; + *margin-left: 2.074468085106383%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.row-fluid [class*="span"]:first-child { + margin-left: 0; +} + +.row-fluid .controls-row [class*="span"] + [class*="span"] { + margin-left: 2.127659574468085%; +} + +.row-fluid .span12 { + width: 100%; + *width: 99.94680851063829%; +} + +.row-fluid .span11 { + width: 91.48936170212765%; + *width: 91.43617021276594%; +} + +.row-fluid .span10 { + width: 82.97872340425532%; + *width: 82.92553191489361%; +} + +.row-fluid .span9 { + width: 74.46808510638297%; + *width: 74.41489361702126%; +} + +.row-fluid .span8 { + width: 65.95744680851064%; + *width: 65.90425531914893%; +} + +.row-fluid .span7 { + width: 57.44680851063829%; + *width: 57.39361702127659%; +} + +.row-fluid .span6 { + width: 48.93617021276595%; + *width: 48.88297872340425%; +} + +.row-fluid .span5 { + width: 40.42553191489362%; + *width: 40.37234042553192%; +} + +.row-fluid .span4 { + width: 31.914893617021278%; + *width: 31.861702127659576%; +} + +.row-fluid .span3 { + width: 23.404255319148934%; + *width: 23.351063829787233%; +} + +.row-fluid .span2 { + width: 14.893617021276595%; + *width: 14.840425531914894%; +} + +.row-fluid .span1 { + width: 6.382978723404255%; + *width: 6.329787234042553%; +} + +.row-fluid .offset12 { + margin-left: 104.25531914893617%; + *margin-left: 104.14893617021275%; +} + +.row-fluid .offset12:first-child { + margin-left: 102.12765957446808%; + *margin-left: 102.02127659574467%; +} + +.row-fluid .offset11 { + margin-left: 95.74468085106382%; + *margin-left: 95.6382978723404%; +} + +.row-fluid .offset11:first-child { + margin-left: 93.61702127659574%; + *margin-left: 93.51063829787232%; +} + +.row-fluid .offset10 { + margin-left: 87.23404255319149%; + *margin-left: 87.12765957446807%; +} + +.row-fluid .offset10:first-child { + margin-left: 85.1063829787234%; + *margin-left: 84.99999999999999%; +} + +.row-fluid .offset9 { + margin-left: 78.72340425531914%; + *margin-left: 78.61702127659572%; +} + +.row-fluid .offset9:first-child { + margin-left: 76.59574468085106%; + *margin-left: 76.48936170212764%; +} + +.row-fluid .offset8 { + margin-left: 70.2127659574468%; + *margin-left: 70.10638297872339%; +} + +.row-fluid .offset8:first-child { + margin-left: 68.08510638297872%; + *margin-left: 67.9787234042553%; +} + +.row-fluid .offset7 { + margin-left: 61.70212765957446%; + *margin-left: 61.59574468085106%; +} + +.row-fluid .offset7:first-child { + margin-left: 59.574468085106375%; + *margin-left: 59.46808510638297%; +} + +.row-fluid .offset6 { + margin-left: 53.191489361702125%; + *margin-left: 53.085106382978715%; +} + +.row-fluid .offset6:first-child { + margin-left: 51.063829787234035%; + *margin-left: 50.95744680851063%; +} + +.row-fluid .offset5 { + margin-left: 44.68085106382979%; + *margin-left: 44.57446808510638%; +} + +.row-fluid .offset5:first-child { + margin-left: 42.5531914893617%; + *margin-left: 42.4468085106383%; +} + +.row-fluid .offset4 { + margin-left: 36.170212765957444%; + *margin-left: 36.06382978723405%; +} + +.row-fluid .offset4:first-child { + margin-left: 34.04255319148936%; + *margin-left: 33.93617021276596%; +} + +.row-fluid .offset3 { + margin-left: 27.659574468085104%; + *margin-left: 27.5531914893617%; +} + +.row-fluid .offset3:first-child { + margin-left: 25.53191489361702%; + *margin-left: 25.425531914893618%; +} + +.row-fluid .offset2 { + margin-left: 19.148936170212764%; + *margin-left: 19.04255319148936%; +} + +.row-fluid .offset2:first-child { + margin-left: 17.02127659574468%; + *margin-left: 16.914893617021278%; +} + +.row-fluid .offset1 { + margin-left: 10.638297872340425%; + *margin-left: 10.53191489361702%; +} + +.row-fluid .offset1:first-child { + margin-left: 8.51063829787234%; + *margin-left: 8.404255319148938%; +} + +[class*="span"].hide, +.row-fluid [class*="span"].hide { + display: none; +} + +[class*="span"].pull-right, +.row-fluid [class*="span"].pull-right { + float: right; +} + +.container { + margin-right: auto; + margin-left: auto; + *zoom: 1; +} + +.container:before, +.container:after { + display: table; + line-height: 0; + content: ""; +} + +.container:after { + clear: both; +} + +.container-fluid { + padding-right: 20px; + padding-left: 20px; + *zoom: 1; +} + +.container-fluid:before, +.container-fluid:after { + display: table; + line-height: 0; + content: ""; +} + +.container-fluid:after { + clear: both; +} + +p { + margin: 0 0 10px; +} + +.lead { + margin-bottom: 20px; + font-size: 21px; + font-weight: 200; + line-height: 30px; +} + +small { + font-size: 85%; +} + +strong { + font-weight: bold; +} + +em { + font-style: italic; +} + +cite { + font-style: normal; +} + +.muted { + color: #999999; +} + +a.muted:hover, +a.muted:focus { + color: #808080; +} + +.text-warning { + color: #c09853; +} + +a.text-warning:hover, +a.text-warning:focus { + color: #a47e3c; +} + +.text-error { + color: #b94a48; +} + +a.text-error:hover, +a.text-error:focus { + color: #953b39; +} + +.text-info { + color: #3a87ad; +} + +a.text-info:hover, +a.text-info:focus { + color: #2d6987; +} + +.text-success { + color: #468847; +} + +a.text-success:hover, +a.text-success:focus { + color: #356635; +} + +.text-left { + text-align: left; +} + +.text-right { + text-align: right; +} + +.text-center { + text-align: center; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 10px 0; + font-family: inherit; + font-weight: bold; + line-height: 20px; + color: inherit; + text-rendering: optimizelegibility; +} + +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small { + font-weight: normal; + line-height: 1; + color: #999999; +} + +h1, +h2, +h3 { + line-height: 40px; +} + +h1 { + font-size: 38.5px; +} + +h2 { + font-size: 31.5px; +} + +h3 { + font-size: 24.5px; +} + +h4 { + font-size: 17.5px; +} + +h5 { + font-size: 14px; +} + +h6 { + font-size: 11.9px; +} + +h1 small { + font-size: 24.5px; +} + +h2 small { + font-size: 17.5px; +} + +h3 small { + font-size: 14px; +} + +h4 small { + font-size: 14px; +} + +.page-header { + padding-bottom: 9px; + margin: 20px 0 30px; + border-bottom: 1px solid #eeeeee; +} + +ul, +ol { + padding: 0; + margin: 0 0 10px 25px; +} + +ul ul, +ul ol, +ol ol, +ol ul { + margin-bottom: 0; +} + +li { + line-height: 20px; +} + +ul.unstyled, +ol.unstyled { + margin-left: 0; + list-style: none; +} + +ul.inline, +ol.inline { + margin-left: 0; + list-style: none; +} + +ul.inline > li, +ol.inline > li { + display: inline-block; + *display: inline; + padding-right: 5px; + padding-left: 5px; + *zoom: 1; +} + +dl { + margin-bottom: 20px; +} + +dt, +dd { + line-height: 20px; +} + +dt { + font-weight: bold; +} + +dd { + margin-left: 10px; +} + +.dl-horizontal { + *zoom: 1; +} + +.dl-horizontal:before, +.dl-horizontal:after { + display: table; + line-height: 0; + content: ""; +} + +.dl-horizontal:after { + clear: both; +} + +.dl-horizontal dt { + float: left; + width: 160px; + overflow: hidden; + clear: left; + text-align: right; + text-overflow: ellipsis; + white-space: nowrap; +} + +.dl-horizontal dd { + margin-left: 180px; +} + +hr { + margin: 20px 0; + border: 0; + border-top: 1px solid #eeeeee; + border-bottom: 1px solid #ffffff; +} + +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #999999; +} + +abbr.initialism { + font-size: 90%; + text-transform: uppercase; +} + +blockquote { + padding: 0 0 0 15px; + margin: 0 0 20px; + border-left: 5px solid #eeeeee; +} + +blockquote p { + margin-bottom: 0; + font-size: 17.5px; + font-weight: 300; + line-height: 1.25; +} + +blockquote small { + display: block; + line-height: 20px; + color: #999999; +} + +blockquote small:before { + content: '\2014 \00A0'; +} + +blockquote.pull-right { + float: right; + padding-right: 15px; + padding-left: 0; + border-right: 5px solid #eeeeee; + border-left: 0; +} + +blockquote.pull-right p, +blockquote.pull-right small { + text-align: right; +} + +blockquote.pull-right small:before { + content: ''; +} + +blockquote.pull-right small:after { + content: '\00A0 \2014'; +} + +q:before, +q:after, +blockquote:before, +blockquote:after { + content: ""; +} + +address { + display: block; + margin-bottom: 20px; + font-style: normal; + line-height: 20px; +} + +code, +pre { + padding: 0 3px 2px; + font-family: Monaco, Menlo, Consolas, "Courier New", monospace; + font-size: 12px; + color: #333333; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +code { + padding: 2px 4px; + color: #d14; + white-space: nowrap; + background-color: #f7f7f9; + border: 1px solid #e1e1e8; +} + +pre { + display: block; + padding: 9.5px; + margin: 0 0 10px; + font-size: 13px; + line-height: 20px; + word-break: break-all; + word-wrap: break-word; + white-space: pre; + white-space: pre-wrap; + background-color: #f5f5f5; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.15); + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +pre.prettyprint { + margin-bottom: 20px; +} + +pre code { + padding: 0; + color: inherit; + white-space: pre; + white-space: pre-wrap; + background-color: transparent; + border: 0; +} + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} + +form { + margin: 0 0 20px; +} + +fieldset { + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 20px; + font-size: 21px; + line-height: 40px; + color: #333333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} + +legend small { + font-size: 15px; + color: #999999; +} + +label, +input, +button, +select, +textarea { + font-size: 14px; + font-weight: normal; + line-height: 20px; +} + +input, +button, +select, +textarea { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +} + +label { + display: block; + margin-bottom: 5px; +} + +select, +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 { + display: inline-block; + height: 20px; + padding: 4px 6px; + margin-bottom: 10px; + font-size: 14px; + line-height: 20px; + color: #555555; + vertical-align: middle; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +input, +textarea, +.uneditable-input { + width: 206px; +} + +textarea { + height: auto; +} + +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: #ffffff; + border: 1px solid #cccccc; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border linear 0.2s, box-shadow linear 0.2s; + -moz-transition: border linear 0.2s, box-shadow linear 0.2s; + -o-transition: border linear 0.2s, box-shadow linear 0.2s; + transition: border linear 0.2s, box-shadow linear 0.2s; +} + +textarea:focus, +input[type="text"]:focus, +input[type="password"]:focus, +input[type="datetime"]:focus, +input[type="datetime-local"]:focus, +input[type="date"]:focus, +input[type="month"]:focus, +input[type="time"]:focus, +input[type="week"]:focus, +input[type="number"]:focus, +input[type="email"]:focus, +input[type="url"]:focus, +input[type="search"]:focus, +input[type="tel"]:focus, +input[type="color"]:focus, +.uneditable-input:focus { + border-color: rgba(82, 168, 236, 0.8); + outline: 0; + outline: thin dotted \9; + /* IE6-9 */ + + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); +} + +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + *margin-top: 0; + line-height: normal; +} + +input[type="file"], +input[type="image"], +input[type="submit"], +input[type="reset"], +input[type="button"], +input[type="radio"], +input[type="checkbox"] { + width: auto; +} + +select, +input[type="file"] { + height: 30px; + /* In IE7, the height of the select element cannot be changed by height, only font-size */ + + *margin-top: 4px; + /* For IE7, add top margin to align select with labels */ + + line-height: 30px; +} + +select { + width: 220px; + background-color: #ffffff; + border: 1px solid #cccccc; +} + +select[multiple], +select[size] { + height: auto; +} + +select:focus, +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +.uneditable-input, +.uneditable-textarea { + color: #999999; + cursor: not-allowed; + background-color: #fcfcfc; + border-color: #cccccc; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); +} + +.uneditable-input { + overflow: hidden; + white-space: nowrap; +} + +.uneditable-textarea { + width: auto; + height: auto; +} + +input:-moz-placeholder, +textarea:-moz-placeholder { + color: #999999; +} + +input:-ms-input-placeholder, +textarea:-ms-input-placeholder { + color: #999999; +} + +input::-webkit-input-placeholder, +textarea::-webkit-input-placeholder { + color: #999999; +} + +.radio, +.checkbox { + min-height: 20px; + padding-left: 20px; +} + +.radio input[type="radio"], +.checkbox input[type="checkbox"] { + float: left; + margin-left: -20px; +} + +.controls > .radio:first-child, +.controls > .checkbox:first-child { + padding-top: 5px; +} + +.radio.inline, +.checkbox.inline { + display: inline-block; + padding-top: 5px; + margin-bottom: 0; + vertical-align: middle; +} + +.radio.inline + .radio.inline, +.checkbox.inline + .checkbox.inline { + margin-left: 10px; +} + +.input-mini { + width: 60px; +} + +.input-small { + width: 90px; +} + +.input-medium { + width: 150px; +} + +.input-large { + width: 210px; +} + +.input-xlarge { + width: 270px; +} + +.input-xxlarge { + width: 530px; +} + +input[class*="span"], +select[class*="span"], +textarea[class*="span"], +.uneditable-input[class*="span"], +.row-fluid input[class*="span"], +.row-fluid select[class*="span"], +.row-fluid textarea[class*="span"], +.row-fluid .uneditable-input[class*="span"] { + float: none; + margin-left: 0; +} + +.input-append input[class*="span"], +.input-append .uneditable-input[class*="span"], +.input-prepend input[class*="span"], +.input-prepend .uneditable-input[class*="span"], +.row-fluid input[class*="span"], +.row-fluid select[class*="span"], +.row-fluid textarea[class*="span"], +.row-fluid .uneditable-input[class*="span"], +.row-fluid .input-prepend [class*="span"], +.row-fluid .input-append [class*="span"] { + display: inline-block; +} + +input, +textarea, +.uneditable-input { + margin-left: 0; +} + +.controls-row [class*="span"] + [class*="span"] { + margin-left: 20px; +} + +input.span12, +textarea.span12, +.uneditable-input.span12 { + width: 926px; +} + +input.span11, +textarea.span11, +.uneditable-input.span11 { + width: 846px; +} + +input.span10, +textarea.span10, +.uneditable-input.span10 { + width: 766px; +} + +input.span9, +textarea.span9, +.uneditable-input.span9 { + width: 686px; +} + +input.span8, +textarea.span8, +.uneditable-input.span8 { + width: 606px; +} + +input.span7, +textarea.span7, +.uneditable-input.span7 { + width: 526px; +} + +input.span6, +textarea.span6, +.uneditable-input.span6 { + width: 446px; +} + +input.span5, +textarea.span5, +.uneditable-input.span5 { + width: 366px; +} + +input.span4, +textarea.span4, +.uneditable-input.span4 { + width: 286px; +} + +input.span3, +textarea.span3, +.uneditable-input.span3 { + width: 206px; +} + +input.span2, +textarea.span2, +.uneditable-input.span2 { + width: 126px; +} + +input.span1, +textarea.span1, +.uneditable-input.span1 { + width: 46px; +} + +.controls-row { + *zoom: 1; +} + +.controls-row:before, +.controls-row:after { + display: table; + line-height: 0; + content: ""; +} + +.controls-row:after { + clear: both; +} + +.controls-row [class*="span"], +.row-fluid .controls-row [class*="span"] { + float: left; +} + +.controls-row .checkbox[class*="span"], +.controls-row .radio[class*="span"] { + padding-top: 5px; +} + +input[disabled], +select[disabled], +textarea[disabled], +input[readonly], +select[readonly], +textarea[readonly] { + cursor: not-allowed; + background-color: #eeeeee; +} + +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"][readonly], +input[type="checkbox"][readonly] { + background-color: transparent; +} + +.control-group.warning .control-label, +.control-group.warning .help-block, +.control-group.warning .help-inline { + color: #c09853; +} + +.control-group.warning .checkbox, +.control-group.warning .radio, +.control-group.warning input, +.control-group.warning select, +.control-group.warning textarea { + color: #c09853; +} + +.control-group.warning input, +.control-group.warning select, +.control-group.warning textarea { + border-color: #c09853; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.control-group.warning input:focus, +.control-group.warning select:focus, +.control-group.warning textarea:focus { + border-color: #a47e3c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; +} + +.control-group.warning .input-prepend .add-on, +.control-group.warning .input-append .add-on { + color: #c09853; + background-color: #fcf8e3; + border-color: #c09853; +} + +.control-group.error .control-label, +.control-group.error .help-block, +.control-group.error .help-inline { + color: #b94a48; +} + +.control-group.error .checkbox, +.control-group.error .radio, +.control-group.error input, +.control-group.error select, +.control-group.error textarea { + color: #b94a48; +} + +.control-group.error input, +.control-group.error select, +.control-group.error textarea { + border-color: #b94a48; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.control-group.error input:focus, +.control-group.error select:focus, +.control-group.error textarea:focus { + border-color: #953b39; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; +} + +.control-group.error .input-prepend .add-on, +.control-group.error .input-append .add-on { + color: #b94a48; + background-color: #f2dede; + border-color: #b94a48; +} + +.control-group.success .control-label, +.control-group.success .help-block, +.control-group.success .help-inline { + color: #468847; +} + +.control-group.success .checkbox, +.control-group.success .radio, +.control-group.success input, +.control-group.success select, +.control-group.success textarea { + color: #468847; +} + +.control-group.success input, +.control-group.success select, +.control-group.success textarea { + border-color: #468847; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.control-group.success input:focus, +.control-group.success select:focus, +.control-group.success textarea:focus { + border-color: #356635; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; +} + +.control-group.success .input-prepend .add-on, +.control-group.success .input-append .add-on { + color: #468847; + background-color: #dff0d8; + border-color: #468847; +} + +.control-group.info .control-label, +.control-group.info .help-block, +.control-group.info .help-inline { + color: #3a87ad; +} + +.control-group.info .checkbox, +.control-group.info .radio, +.control-group.info input, +.control-group.info select, +.control-group.info textarea { + color: #3a87ad; +} + +.control-group.info input, +.control-group.info select, +.control-group.info textarea { + border-color: #3a87ad; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.control-group.info input:focus, +.control-group.info select:focus, +.control-group.info textarea:focus { + border-color: #2d6987; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; +} + +.control-group.info .input-prepend .add-on, +.control-group.info .input-append .add-on { + color: #3a87ad; + background-color: #d9edf7; + border-color: #3a87ad; +} + +input:focus:invalid, +textarea:focus:invalid, +select:focus:invalid { + color: #b94a48; + border-color: #ee5f5b; +} + +input:focus:invalid:focus, +textarea:focus:invalid:focus, +select:focus:invalid:focus { + border-color: #e9322d; + -webkit-box-shadow: 0 0 6px #f8b9b7; + -moz-box-shadow: 0 0 6px #f8b9b7; + box-shadow: 0 0 6px #f8b9b7; +} + +.form-actions { + padding: 19px 20px 20px; + margin-top: 20px; + margin-bottom: 20px; + background-color: #f5f5f5; + border-top: 1px solid #e5e5e5; + *zoom: 1; +} + +.form-actions:before, +.form-actions:after { + display: table; + line-height: 0; + content: ""; +} + +.form-actions:after { + clear: both; +} + +.help-block, +.help-inline { + color: #595959; +} + +.help-block { + display: block; + margin-bottom: 10px; +} + +.help-inline { + display: inline-block; + *display: inline; + padding-left: 5px; + vertical-align: middle; + *zoom: 1; +} + +.input-append, +.input-prepend { + display: inline-block; + margin-bottom: 10px; + font-size: 0; + white-space: nowrap; + vertical-align: middle; +} + +.input-append input, +.input-prepend input, +.input-append select, +.input-prepend select, +.input-append .uneditable-input, +.input-prepend .uneditable-input, +.input-append .dropdown-menu, +.input-prepend .dropdown-menu, +.input-append .popover, +.input-prepend .popover { + font-size: 14px; +} + +.input-append input, +.input-prepend input, +.input-append select, +.input-prepend select, +.input-append .uneditable-input, +.input-prepend .uneditable-input { + position: relative; + margin-bottom: 0; + *margin-left: 0; + vertical-align: top; + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + +.input-append input:focus, +.input-prepend input:focus, +.input-append select:focus, +.input-prepend select:focus, +.input-append .uneditable-input:focus, +.input-prepend .uneditable-input:focus { + z-index: 2; +} + +.input-append .add-on, +.input-prepend .add-on { + display: inline-block; + width: auto; + height: 20px; + min-width: 16px; + padding: 4px 5px; + font-size: 14px; + font-weight: normal; + line-height: 20px; + text-align: center; + text-shadow: 0 1px 0 #ffffff; + background-color: #eeeeee; + border: 1px solid #ccc; +} + +.input-append .add-on, +.input-prepend .add-on, +.input-append .btn, +.input-prepend .btn, +.input-append .btn-group > .dropdown-toggle, +.input-prepend .btn-group > .dropdown-toggle { + vertical-align: top; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.input-append .active, +.input-prepend .active { + background-color: #a9dba9; + border-color: #46a546; +} + +.input-prepend .add-on, +.input-prepend .btn { + margin-right: -1px; +} + +.input-prepend .add-on:first-child, +.input-prepend .btn:first-child { + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} + +.input-append input, +.input-append select, +.input-append .uneditable-input { + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} + +.input-append input + .btn-group .btn:last-child, +.input-append select + .btn-group .btn:last-child, +.input-append .uneditable-input + .btn-group .btn:last-child { + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + +.input-append .add-on, +.input-append .btn, +.input-append .btn-group { + margin-left: -1px; +} + +.input-append .add-on:last-child, +.input-append .btn:last-child, +.input-append .btn-group:last-child > .dropdown-toggle { + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + +.input-prepend.input-append input, +.input-prepend.input-append select, +.input-prepend.input-append .uneditable-input { + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.input-prepend.input-append input + .btn-group .btn, +.input-prepend.input-append select + .btn-group .btn, +.input-prepend.input-append .uneditable-input + .btn-group .btn { + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + +.input-prepend.input-append .add-on:first-child, +.input-prepend.input-append .btn:first-child { + margin-right: -1px; + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} + +.input-prepend.input-append .add-on:last-child, +.input-prepend.input-append .btn:last-child { + margin-left: -1px; + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + +.input-prepend.input-append .btn-group:first-child { + margin-left: 0; +} + +input.search-query { + padding-right: 14px; + padding-right: 4px \9; + padding-left: 14px; + padding-left: 4px \9; + /* IE7-8 doesn't have border-radius, so don't indent the padding */ + + margin-bottom: 0; + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; +} + +/* Allow for input prepend/append in search forms */ + +.form-search .input-append .search-query, +.form-search .input-prepend .search-query { + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.form-search .input-append .search-query { + -webkit-border-radius: 14px 0 0 14px; + -moz-border-radius: 14px 0 0 14px; + border-radius: 14px 0 0 14px; +} + +.form-search .input-append .btn { + -webkit-border-radius: 0 14px 14px 0; + -moz-border-radius: 0 14px 14px 0; + border-radius: 0 14px 14px 0; +} + +.form-search .input-prepend .search-query { + -webkit-border-radius: 0 14px 14px 0; + -moz-border-radius: 0 14px 14px 0; + border-radius: 0 14px 14px 0; +} + +.form-search .input-prepend .btn { + -webkit-border-radius: 14px 0 0 14px; + -moz-border-radius: 14px 0 0 14px; + border-radius: 14px 0 0 14px; +} + +.form-search input, +.form-inline input, +.form-horizontal input, +.form-search textarea, +.form-inline textarea, +.form-horizontal textarea, +.form-search select, +.form-inline select, +.form-horizontal select, +.form-search .help-inline, +.form-inline .help-inline, +.form-horizontal .help-inline, +.form-search .uneditable-input, +.form-inline .uneditable-input, +.form-horizontal .uneditable-input, +.form-search .input-prepend, +.form-inline .input-prepend, +.form-horizontal .input-prepend, +.form-search .input-append, +.form-inline .input-append, +.form-horizontal .input-append { + display: inline-block; + *display: inline; + margin-bottom: 0; + vertical-align: middle; + *zoom: 1; +} + +.form-search .hide, +.form-inline .hide, +.form-horizontal .hide { + display: none; +} + +.form-search label, +.form-inline label, +.form-search .btn-group, +.form-inline .btn-group { + display: inline-block; +} + +.form-search .input-append, +.form-inline .input-append, +.form-search .input-prepend, +.form-inline .input-prepend { + margin-bottom: 0; +} + +.form-search .radio, +.form-search .checkbox, +.form-inline .radio, +.form-inline .checkbox { + padding-left: 0; + margin-bottom: 0; + vertical-align: middle; +} + +.form-search .radio input[type="radio"], +.form-search .checkbox input[type="checkbox"], +.form-inline .radio input[type="radio"], +.form-inline .checkbox input[type="checkbox"] { + float: left; + margin-right: 3px; + margin-left: 0; +} + +.control-group { + margin-bottom: 10px; +} + +legend + .control-group { + margin-top: 20px; + -webkit-margin-top-collapse: separate; +} + +.form-horizontal .control-group { + margin-bottom: 20px; + *zoom: 1; +} + +.form-horizontal .control-group:before, +.form-horizontal .control-group:after { + display: table; + line-height: 0; + content: ""; +} + +.form-horizontal .control-group:after { + clear: both; +} + +.form-horizontal .control-label { + float: left; + width: 160px; + padding-top: 5px; + text-align: right; +} + +.form-horizontal .controls { + *display: inline-block; + *padding-left: 20px; + margin-left: 180px; + *margin-left: 0; +} + +.form-horizontal .controls:first-child { + *padding-left: 180px; +} + +.form-horizontal .help-block { + margin-bottom: 0; +} + +.form-horizontal input + .help-block, +.form-horizontal select + .help-block, +.form-horizontal textarea + .help-block, +.form-horizontal .uneditable-input + .help-block, +.form-horizontal .input-prepend + .help-block, +.form-horizontal .input-append + .help-block { + margin-top: 10px; +} + +.form-horizontal .form-actions { + padding-left: 180px; +} + +table { + max-width: 100%; + background-color: transparent; + border-collapse: collapse; + border-spacing: 0; +} + +.table { + width: 100%; + margin-bottom: 20px; +} + +.table th, +.table td { + padding: 8px; + line-height: 20px; + text-align: left; + vertical-align: top; + border-top: 1px solid #dddddd; +} + +.table th { + font-weight: bold; +} + +.table thead th { + vertical-align: bottom; +} + +.table caption + thead tr:first-child th, +.table caption + thead tr:first-child td, +.table colgroup + thead tr:first-child th, +.table colgroup + thead tr:first-child td, +.table thead:first-child tr:first-child th, +.table thead:first-child tr:first-child td { + border-top: 0; +} + +.table tbody + tbody { + border-top: 2px solid #dddddd; +} + +.table .table { + background-color: #ffffff; +} + +.table-condensed th, +.table-condensed td { + padding: 4px 5px; +} + +.table-bordered { + border: 1px solid #dddddd; + border-collapse: separate; + *border-collapse: collapse; + border-left: 0; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.table-bordered th, +.table-bordered td { + border-left: 1px solid #dddddd; +} + +.table-bordered caption + thead tr:first-child th, +.table-bordered caption + tbody tr:first-child th, +.table-bordered caption + tbody tr:first-child td, +.table-bordered colgroup + thead tr:first-child th, +.table-bordered colgroup + tbody tr:first-child th, +.table-bordered colgroup + tbody tr:first-child td, +.table-bordered thead:first-child tr:first-child th, +.table-bordered tbody:first-child tr:first-child th, +.table-bordered tbody:first-child tr:first-child td { + border-top: 0; +} + +.table-bordered thead:first-child tr:first-child > th:first-child, +.table-bordered tbody:first-child tr:first-child > td:first-child, +.table-bordered tbody:first-child tr:first-child > th:first-child { + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topleft: 4px; +} + +.table-bordered thead:first-child tr:first-child > th:last-child, +.table-bordered tbody:first-child tr:first-child > td:last-child, +.table-bordered tbody:first-child tr:first-child > th:last-child { + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -moz-border-radius-topright: 4px; +} + +.table-bordered thead:last-child tr:last-child > th:first-child, +.table-bordered tbody:last-child tr:last-child > td:first-child, +.table-bordered tbody:last-child tr:last-child > th:first-child, +.table-bordered tfoot:last-child tr:last-child > td:first-child, +.table-bordered tfoot:last-child tr:last-child > th:first-child { + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; +} + +.table-bordered thead:last-child tr:last-child > th:last-child, +.table-bordered tbody:last-child tr:last-child > td:last-child, +.table-bordered tbody:last-child tr:last-child > th:last-child, +.table-bordered tfoot:last-child tr:last-child > td:last-child, +.table-bordered tfoot:last-child tr:last-child > th:last-child { + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + -moz-border-radius-bottomright: 4px; +} + +.table-bordered tfoot + tbody:last-child tr:last-child td:first-child { + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomleft: 0; +} + +.table-bordered tfoot + tbody:last-child tr:last-child td:last-child { + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; + -moz-border-radius-bottomright: 0; +} + +.table-bordered caption + thead tr:first-child th:first-child, +.table-bordered caption + tbody tr:first-child td:first-child, +.table-bordered colgroup + thead tr:first-child th:first-child, +.table-bordered colgroup + tbody tr:first-child td:first-child { + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topleft: 4px; +} + +.table-bordered caption + thead tr:first-child th:last-child, +.table-bordered caption + tbody tr:first-child td:last-child, +.table-bordered colgroup + thead tr:first-child th:last-child, +.table-bordered colgroup + tbody tr:first-child td:last-child { + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -moz-border-radius-topright: 4px; +} + +.table-striped tbody > tr:nth-child(odd) > td, +.table-striped tbody > tr:nth-child(odd) > th { + background-color: #f9f9f9; +} + +.table-hover tbody tr:hover > td, +.table-hover tbody tr:hover > th { + background-color: #f5f5f5; +} + +table td[class*="span"], +table th[class*="span"], +.row-fluid table td[class*="span"], +.row-fluid table th[class*="span"] { + display: table-cell; + float: none; + margin-left: 0; +} + +.table td.span1, +.table th.span1 { + float: none; + width: 44px; + margin-left: 0; +} + +.table td.span2, +.table th.span2 { + float: none; + width: 124px; + margin-left: 0; +} + +.table td.span3, +.table th.span3 { + float: none; + width: 204px; + margin-left: 0; +} + +.table td.span4, +.table th.span4 { + float: none; + width: 284px; + margin-left: 0; +} + +.table td.span5, +.table th.span5 { + float: none; + width: 364px; + margin-left: 0; +} + +.table td.span6, +.table th.span6 { + float: none; + width: 444px; + margin-left: 0; +} + +.table td.span7, +.table th.span7 { + float: none; + width: 524px; + margin-left: 0; +} + +.table td.span8, +.table th.span8 { + float: none; + width: 604px; + margin-left: 0; +} + +.table td.span9, +.table th.span9 { + float: none; + width: 684px; + margin-left: 0; +} + +.table td.span10, +.table th.span10 { + float: none; + width: 764px; + margin-left: 0; +} + +.table td.span11, +.table th.span11 { + float: none; + width: 844px; + margin-left: 0; +} + +.table td.span12, +.table th.span12 { + float: none; + width: 924px; + margin-left: 0; +} + +.table tbody tr.success > td { + background-color: #dff0d8; +} + +.table tbody tr.error > td { + background-color: #f2dede; +} + +.table tbody tr.warning > td { + background-color: #fcf8e3; +} + +.table tbody tr.info > td { + background-color: #d9edf7; +} + +.table-hover tbody tr.success:hover > td { + background-color: #d0e9c6; +} + +.table-hover tbody tr.error:hover > td { + background-color: #ebcccc; +} + +.table-hover tbody tr.warning:hover > td { + background-color: #faf2cc; +} + +.table-hover tbody tr.info:hover > td { + background-color: #c4e3f3; +} + +[class^="icon-"], +[class*=" icon-"] { + display: inline-block; + width: 14px; + height: 14px; + margin-top: 1px; + *margin-right: .3em; + line-height: 14px; + vertical-align: text-top; + background-image: url("../img/glyphicons-halflings.png"); + background-position: 14px 14px; + background-repeat: no-repeat; +} + +/* White icons with optional class, or on hover/focus/active states of certain elements */ + +.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:focus > [class^="icon-"], +.dropdown-menu > li > a:hover > [class*=" icon-"], +.dropdown-menu > li > a:focus > [class*=" icon-"], +.dropdown-menu > .active > a > [class^="icon-"], +.dropdown-menu > .active > a > [class*=" icon-"], +.dropdown-submenu:hover > a > [class^="icon-"], +.dropdown-submenu:focus > a > [class^="icon-"], +.dropdown-submenu:hover > a > [class*=" icon-"], +.dropdown-submenu:focus > a > [class*=" icon-"] { + background-image: url("../img/glyphicons-halflings-white.png"); +} + +.icon-glass { + background-position: 0 0; +} + +.icon-music { + background-position: -24px 0; +} + +.icon-search { + background-position: -48px 0; +} + +.icon-envelope { + background-position: -72px 0; +} + +.icon-heart { + background-position: -96px 0; +} + +.icon-star { + background-position: -120px 0; +} + +.icon-star-empty { + background-position: -144px 0; +} + +.icon-user { + background-position: -168px 0; +} + +.icon-film { + background-position: -192px 0; +} + +.icon-th-large { + background-position: -216px 0; +} + +.icon-th { + background-position: -240px 0; +} + +.icon-th-list { + background-position: -264px 0; +} + +.icon-ok { + background-position: -288px 0; +} + +.icon-remove { + background-position: -312px 0; +} + +.icon-zoom-in { + background-position: -336px 0; +} + +.icon-zoom-out { + background-position: -360px 0; +} + +.icon-off { + background-position: -384px 0; +} + +.icon-signal { + background-position: -408px 0; +} + +.icon-cog { + background-position: -432px 0; +} + +.icon-trash { + background-position: -456px 0; +} + +.icon-home { + background-position: 0 -24px; +} + +.icon-file { + background-position: -24px -24px; +} + +.icon-time { + background-position: -48px -24px; +} + +.icon-road { + background-position: -72px -24px; +} + +.icon-download-alt { + background-position: -96px -24px; +} + +.icon-download { + background-position: -120px -24px; +} + +.icon-upload { + background-position: -144px -24px; +} + +.icon-inbox { + background-position: -168px -24px; +} + +.icon-play-circle { + background-position: -192px -24px; +} + +.icon-repeat { + background-position: -216px -24px; +} + +.icon-refresh { + background-position: -240px -24px; +} + +.icon-list-alt { + background-position: -264px -24px; +} + +.icon-lock { + background-position: -287px -24px; +} + +.icon-flag { + background-position: -312px -24px; +} + +.icon-headphones { + background-position: -336px -24px; +} + +.icon-volume-off { + background-position: -360px -24px; +} + +.icon-volume-down { + background-position: -384px -24px; +} + +.icon-volume-up { + background-position: -408px -24px; +} + +.icon-qrcode { + background-position: -432px -24px; +} + +.icon-barcode { + background-position: -456px -24px; +} + +.icon-tag { + background-position: 0 -48px; +} + +.icon-tags { + background-position: -25px -48px; +} + +.icon-book { + background-position: -48px -48px; +} + +.icon-bookmark { + background-position: -72px -48px; +} + +.icon-print { + background-position: -96px -48px; +} + +.icon-camera { + background-position: -120px -48px; +} + +.icon-font { + background-position: -144px -48px; +} + +.icon-bold { + background-position: -167px -48px; +} + +.icon-italic { + background-position: -192px -48px; +} + +.icon-text-height { + background-position: -216px -48px; +} + +.icon-text-width { + background-position: -240px -48px; +} + +.icon-align-left { + background-position: -264px -48px; +} + +.icon-align-center { + background-position: -288px -48px; +} + +.icon-align-right { + background-position: -312px -48px; +} + +.icon-align-justify { + background-position: -336px -48px; +} + +.icon-list { + background-position: -360px -48px; +} + +.icon-indent-left { + background-position: -384px -48px; +} + +.icon-indent-right { + background-position: -408px -48px; +} + +.icon-facetime-video { + background-position: -432px -48px; +} + +.icon-picture { + background-position: -456px -48px; +} + +.icon-pencil { + background-position: 0 -72px; +} + +.icon-map-marker { + background-position: -24px -72px; +} + +.icon-adjust { + background-position: -48px -72px; +} + +.icon-tint { + background-position: -72px -72px; +} + +.icon-edit { + background-position: -96px -72px; +} + +.icon-share { + background-position: -120px -72px; +} + +.icon-check { + background-position: -144px -72px; +} + +.icon-move { + background-position: -168px -72px; +} + +.icon-step-backward { + background-position: -192px -72px; +} + +.icon-fast-backward { + background-position: -216px -72px; +} + +.icon-backward { + background-position: -240px -72px; +} + +.icon-play { + background-position: -264px -72px; +} + +.icon-pause { + background-position: -288px -72px; +} + +.icon-stop { + background-position: -312px -72px; +} + +.icon-forward { + background-position: -336px -72px; +} + +.icon-fast-forward { + background-position: -360px -72px; +} + +.icon-step-forward { + background-position: -384px -72px; +} + +.icon-eject { + background-position: -408px -72px; +} + +.icon-chevron-left { + background-position: -432px -72px; +} + +.icon-chevron-right { + background-position: -456px -72px; +} + +.icon-plus-sign { + background-position: 0 -96px; +} + +.icon-minus-sign { + background-position: -24px -96px; +} + +.icon-remove-sign { + background-position: -48px -96px; +} + +.icon-ok-sign { + background-position: -72px -96px; +} + +.icon-question-sign { + background-position: -96px -96px; +} + +.icon-info-sign { + background-position: -120px -96px; +} + +.icon-screenshot { + background-position: -144px -96px; +} + +.icon-remove-circle { + background-position: -168px -96px; +} + +.icon-ok-circle { + background-position: -192px -96px; +} + +.icon-ban-circle { + background-position: -216px -96px; +} + +.icon-arrow-left { + background-position: -240px -96px; +} + +.icon-arrow-right { + background-position: -264px -96px; +} + +.icon-arrow-up { + background-position: -289px -96px; +} + +.icon-arrow-down { + background-position: -312px -96px; +} + +.icon-share-alt { + background-position: -336px -96px; +} + +.icon-resize-full { + background-position: -360px -96px; +} + +.icon-resize-small { + background-position: -384px -96px; +} + +.icon-plus { + background-position: -408px -96px; +} + +.icon-minus { + background-position: -433px -96px; +} + +.icon-asterisk { + background-position: -456px -96px; +} + +.icon-exclamation-sign { + background-position: 0 -120px; +} + +.icon-gift { + background-position: -24px -120px; +} + +.icon-leaf { + background-position: -48px -120px; +} + +.icon-fire { + background-position: -72px -120px; +} + +.icon-eye-open { + background-position: -96px -120px; +} + +.icon-eye-close { + background-position: -120px -120px; +} + +.icon-warning-sign { + background-position: -144px -120px; +} + +.icon-plane { + background-position: -168px -120px; +} + +.icon-calendar { + background-position: -192px -120px; +} + +.icon-random { + width: 16px; + background-position: -216px -120px; +} + +.icon-comment { + background-position: -240px -120px; +} + +.icon-magnet { + background-position: -264px -120px; +} + +.icon-chevron-up { + background-position: -288px -120px; +} + +.icon-chevron-down { + background-position: -313px -119px; +} + +.icon-retweet { + background-position: -336px -120px; +} + +.icon-shopping-cart { + background-position: -360px -120px; +} + +.icon-folder-close { + width: 16px; + background-position: -384px -120px; +} + +.icon-folder-open { + width: 16px; + background-position: -408px -120px; +} + +.icon-resize-vertical { + background-position: -432px -119px; +} + +.icon-resize-horizontal { + background-position: -456px -118px; +} + +.icon-hdd { + background-position: 0 -144px; +} + +.icon-bullhorn { + background-position: -24px -144px; +} + +.icon-bell { + background-position: -48px -144px; +} + +.icon-certificate { + background-position: -72px -144px; +} + +.icon-thumbs-up { + background-position: -96px -144px; +} + +.icon-thumbs-down { + background-position: -120px -144px; +} + +.icon-hand-right { + background-position: -144px -144px; +} + +.icon-hand-left { + background-position: -168px -144px; +} + +.icon-hand-up { + background-position: -192px -144px; +} + +.icon-hand-down { + background-position: -216px -144px; +} + +.icon-circle-arrow-right { + background-position: -240px -144px; +} + +.icon-circle-arrow-left { + background-position: -264px -144px; +} + +.icon-circle-arrow-up { + background-position: -288px -144px; +} + +.icon-circle-arrow-down { + background-position: -312px -144px; +} + +.icon-globe { + background-position: -336px -144px; +} + +.icon-wrench { + background-position: -360px -144px; +} + +.icon-tasks { + background-position: -384px -144px; +} + +.icon-filter { + background-position: -408px -144px; +} + +.icon-briefcase { + background-position: -432px -144px; +} + +.icon-fullscreen { + background-position: -456px -144px; +} + +.dropup, +.dropdown { + position: relative; +} + +.dropdown-toggle { + *margin-bottom: -3px; +} + +.dropdown-toggle:active, +.open .dropdown-toggle { + outline: 0; +} + +.caret { + display: inline-block; + width: 0; + height: 0; + vertical-align: top; + border-top: 4px solid #000000; + border-right: 4px solid transparent; + border-left: 4px solid transparent; + content: ""; +} + +.dropdown .caret { + margin-top: 8px; + margin-left: 2px; +} + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + background-color: #ffffff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + *border-right-width: 2px; + *border-bottom-width: 2px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; +} + +.dropdown-menu.pull-right { + right: 0; + left: auto; +} + +.dropdown-menu .divider { + *width: 100%; + height: 1px; + margin: 9px 1px; + *margin: -5px 0 5px; + overflow: hidden; + background-color: #e5e5e5; + border-bottom: 1px solid #ffffff; +} + +.dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 20px; + color: #333333; + white-space: nowrap; +} + +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus, +.dropdown-submenu:hover > a, +.dropdown-submenu:focus > a { + color: #ffffff; + text-decoration: none; + background-color: #0081c2; + background-image: -moz-linear-gradient(top, #0088cc, #0077b3); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); + background-image: -webkit-linear-gradient(top, #0088cc, #0077b3); + background-image: -o-linear-gradient(top, #0088cc, #0077b3); + background-image: linear-gradient(to bottom, #0088cc, #0077b3); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0); +} + +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + color: #ffffff; + text-decoration: none; + background-color: #0081c2; + background-image: -moz-linear-gradient(top, #0088cc, #0077b3); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); + background-image: -webkit-linear-gradient(top, #0088cc, #0077b3); + background-image: -o-linear-gradient(top, #0088cc, #0077b3); + background-image: linear-gradient(to bottom, #0088cc, #0077b3); + background-repeat: repeat-x; + outline: 0; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0); +} + +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: #999999; +} + +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + cursor: default; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.open { + *z-index: 1000; +} + +.open > .dropdown-menu { + display: block; +} + +.dropdown-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 990; +} + +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} + +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0; + border-bottom: 4px solid #000000; + content: ""; +} + +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 1px; +} + +.dropdown-submenu { + position: relative; +} + +.dropdown-submenu > .dropdown-menu { + top: 0; + left: 100%; + margin-top: -6px; + margin-left: -1px; + -webkit-border-radius: 0 6px 6px 6px; + -moz-border-radius: 0 6px 6px 6px; + border-radius: 0 6px 6px 6px; +} + +.dropdown-submenu:hover > .dropdown-menu { + display: block; +} + +.dropup .dropdown-submenu > .dropdown-menu { + top: auto; + bottom: 0; + margin-top: 0; + margin-bottom: -2px; + -webkit-border-radius: 5px 5px 5px 0; + -moz-border-radius: 5px 5px 5px 0; + border-radius: 5px 5px 5px 0; +} + +.dropdown-submenu > a:after { + display: block; + float: right; + width: 0; + height: 0; + margin-top: 5px; + margin-right: -10px; + border-color: transparent; + border-left-color: #cccccc; + border-style: solid; + border-width: 5px 0 5px 5px; + content: " "; +} + +.dropdown-submenu:hover > a:after { + border-left-color: #ffffff; +} + +.dropdown-submenu.pull-left { + float: none; +} + +.dropdown-submenu.pull-left > .dropdown-menu { + left: -100%; + margin-left: 10px; + -webkit-border-radius: 6px 0 6px 6px; + -moz-border-radius: 6px 0 6px 6px; + border-radius: 6px 0 6px 6px; +} + +.dropdown .dropdown-menu .nav-header { + padding-right: 20px; + padding-left: 20px; +} + +.typeahead { + z-index: 1051; + margin-top: 2px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); +} + +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); +} + +.well-large { + padding: 24px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} + +.well-small { + padding: 9px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + -moz-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} + +.fade.in { + opacity: 1; +} + +.collapse { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition: height 0.35s ease; + -moz-transition: height 0.35s ease; + -o-transition: height 0.35s ease; + transition: height 0.35s ease; +} + +.collapse.in { + height: auto; +} + +.close { + float: right; + font-size: 20px; + font-weight: bold; + line-height: 20px; + color: #000000; + text-shadow: 0 1px 0 #ffffff; + opacity: 0.2; + filter: alpha(opacity=20); +} + +.close:hover, +.close:focus { + color: #000000; + text-decoration: none; + cursor: pointer; + opacity: 0.4; + filter: alpha(opacity=40); +} + +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} + +.btn { + display: inline-block; + *display: inline; + padding: 4px 12px; + margin-bottom: 0; + *margin-left: .3em; + font-size: 14px; + line-height: 20px; + color: #333333; + text-align: center; + text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); + vertical-align: middle; + cursor: pointer; + background-color: #f5f5f5; + *background-color: #e6e6e6; + background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); + background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); + background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); + background-repeat: repeat-x; + border: 1px solid #cccccc; + *border: 0; + border-color: #e6e6e6 #e6e6e6 #bfbfbf; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + border-bottom-color: #b3b3b3; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + *zoom: 1; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.btn:hover, +.btn:focus, +.btn:active, +.btn.active, +.btn.disabled, +.btn[disabled] { + color: #333333; + background-color: #e6e6e6; + *background-color: #d9d9d9; +} + +.btn:active, +.btn.active { + background-color: #cccccc \9; +} + +.btn:first-child { + *margin-left: 0; +} + +.btn:hover, +.btn:focus { + color: #333333; + text-decoration: none; + background-position: 0 -15px; + -webkit-transition: background-position 0.1s linear; + -moz-transition: background-position 0.1s linear; + -o-transition: background-position 0.1s linear; + transition: background-position 0.1s linear; +} + +.btn:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +.btn.active, +.btn:active { + background-image: none; + outline: 0; + -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.btn.disabled, +.btn[disabled] { + cursor: default; + background-image: none; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} + +.btn-large { + padding: 11px 19px; + font-size: 17.5px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} + +.btn-large [class^="icon-"], +.btn-large [class*=" icon-"] { + margin-top: 4px; +} + +.btn-small { + padding: 2px 10px; + font-size: 11.9px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +.btn-small [class^="icon-"], +.btn-small [class*=" icon-"] { + margin-top: 0; +} + +.btn-mini [class^="icon-"], +.btn-mini [class*=" icon-"] { + margin-top: -1px; +} + +.btn-mini { + padding: 0 6px; + font-size: 10.5px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +.btn-block { + display: block; + width: 100%; + padding-right: 0; + padding-left: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.btn-block + .btn-block { + margin-top: 5px; +} + +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} + +.btn-primary.active, +.btn-warning.active, +.btn-danger.active, +.btn-success.active, +.btn-info.active, +.btn-inverse.active { + color: rgba(255, 255, 255, 0.75); +} + +.btn-primary { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #006dcc; + *background-color: #0044cc; + background-image: -moz-linear-gradient(top, #0088cc, #0044cc); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); + background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); + background-image: -o-linear-gradient(top, #0088cc, #0044cc); + background-image: linear-gradient(to bottom, #0088cc, #0044cc); + background-repeat: repeat-x; + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.btn-primary:hover, +.btn-primary:focus, +.btn-primary:active, +.btn-primary.active, +.btn-primary.disabled, +.btn-primary[disabled] { + color: #ffffff; + background-color: #0044cc; + *background-color: #003bb3; +} + +.btn-primary:active, +.btn-primary.active { + background-color: #003399 \9; +} + +.btn-warning { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #faa732; + *background-color: #f89406; + background-image: -moz-linear-gradient(top, #fbb450, #f89406); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); + background-image: -webkit-linear-gradient(top, #fbb450, #f89406); + background-image: -o-linear-gradient(top, #fbb450, #f89406); + background-image: linear-gradient(to bottom, #fbb450, #f89406); + background-repeat: repeat-x; + border-color: #f89406 #f89406 #ad6704; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.btn-warning:hover, +.btn-warning:focus, +.btn-warning:active, +.btn-warning.active, +.btn-warning.disabled, +.btn-warning[disabled] { + color: #ffffff; + background-color: #f89406; + *background-color: #df8505; +} + +.btn-warning:active, +.btn-warning.active { + background-color: #c67605 \9; +} + +.btn-danger { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #da4f49; + *background-color: #bd362f; + background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f)); + background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f); + background-image: -o-linear-gradient(top, #ee5f5b, #bd362f); + background-image: linear-gradient(to bottom, #ee5f5b, #bd362f); + background-repeat: repeat-x; + border-color: #bd362f #bd362f #802420; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.btn-danger:hover, +.btn-danger:focus, +.btn-danger:active, +.btn-danger.active, +.btn-danger.disabled, +.btn-danger[disabled] { + color: #ffffff; + background-color: #bd362f; + *background-color: #a9302a; +} + +.btn-danger:active, +.btn-danger.active { + background-color: #942a25 \9; +} + +.btn-success { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #5bb75b; + *background-color: #51a351; + background-image: -moz-linear-gradient(top, #62c462, #51a351); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351)); + background-image: -webkit-linear-gradient(top, #62c462, #51a351); + background-image: -o-linear-gradient(top, #62c462, #51a351); + background-image: linear-gradient(to bottom, #62c462, #51a351); + background-repeat: repeat-x; + border-color: #51a351 #51a351 #387038; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.btn-success:hover, +.btn-success:focus, +.btn-success:active, +.btn-success.active, +.btn-success.disabled, +.btn-success[disabled] { + color: #ffffff; + background-color: #51a351; + *background-color: #499249; +} + +.btn-success:active, +.btn-success.active { + background-color: #408140 \9; +} + +.btn-info { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #49afcd; + *background-color: #2f96b4; + background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4)); + background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4); + background-image: -o-linear-gradient(top, #5bc0de, #2f96b4); + background-image: linear-gradient(to bottom, #5bc0de, #2f96b4); + background-repeat: repeat-x; + border-color: #2f96b4 #2f96b4 #1f6377; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.btn-info:hover, +.btn-info:focus, +.btn-info:active, +.btn-info.active, +.btn-info.disabled, +.btn-info[disabled] { + color: #ffffff; + background-color: #2f96b4; + *background-color: #2a85a0; +} + +.btn-info:active, +.btn-info.active { + background-color: #24748c \9; +} + +.btn-inverse { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #363636; + *background-color: #222222; + 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); + background-repeat: repeat-x; + border-color: #222222 #222222 #000000; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.btn-inverse:hover, +.btn-inverse:focus, +.btn-inverse:active, +.btn-inverse.active, +.btn-inverse.disabled, +.btn-inverse[disabled] { + color: #ffffff; + background-color: #222222; + *background-color: #151515; +} + +.btn-inverse:active, +.btn-inverse.active { + background-color: #080808 \9; +} + +button.btn, +input[type="submit"].btn { + *padding-top: 3px; + *padding-bottom: 3px; +} + +button.btn::-moz-focus-inner, +input[type="submit"].btn::-moz-focus-inner { + padding: 0; + border: 0; +} + +button.btn.btn-large, +input[type="submit"].btn.btn-large { + *padding-top: 7px; + *padding-bottom: 7px; +} + +button.btn.btn-small, +input[type="submit"].btn.btn-small { + *padding-top: 3px; + *padding-bottom: 3px; +} + +button.btn.btn-mini, +input[type="submit"].btn.btn-mini { + *padding-top: 1px; + *padding-bottom: 1px; +} + +.btn-link, +.btn-link:active, +.btn-link[disabled] { + background-color: transparent; + background-image: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} + +.btn-link { + color: #0088cc; + cursor: pointer; + border-color: transparent; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.btn-link:hover, +.btn-link:focus { + color: #005580; + text-decoration: underline; + background-color: transparent; +} + +.btn-link[disabled]:hover, +.btn-link[disabled]:focus { + color: #333333; + text-decoration: none; +} + +.btn-group { + position: relative; + display: inline-block; + *display: inline; + *margin-left: .3em; + font-size: 0; + white-space: nowrap; + vertical-align: middle; + *zoom: 1; +} + +.btn-group:first-child { + *margin-left: 0; +} + +.btn-group + .btn-group { + margin-left: 5px; +} + +.btn-toolbar { + margin-top: 10px; + margin-bottom: 10px; + font-size: 0; +} + +.btn-toolbar > .btn + .btn, +.btn-toolbar > .btn-group + .btn, +.btn-toolbar > .btn + .btn-group { + margin-left: 5px; +} + +.btn-group > .btn { + position: relative; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.btn-group > .btn + .btn { + margin-left: -1px; +} + +.btn-group > .btn, +.btn-group > .dropdown-menu, +.btn-group > .popover { + font-size: 14px; +} + +.btn-group > .btn-mini { + font-size: 10.5px; +} + +.btn-group > .btn-small { + font-size: 11.9px; +} + +.btn-group > .btn-large { + font-size: 17.5px; +} + +.btn-group > .btn:first-child { + margin-left: 0; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-topleft: 4px; +} + +.btn-group > .btn:last-child, +.btn-group > .dropdown-toggle { + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + -moz-border-radius-topright: 4px; + -moz-border-radius-bottomright: 4px; +} + +.btn-group > .btn.large:first-child { + margin-left: 0; + -webkit-border-bottom-left-radius: 6px; + border-bottom-left-radius: 6px; + -webkit-border-top-left-radius: 6px; + border-top-left-radius: 6px; + -moz-border-radius-bottomleft: 6px; + -moz-border-radius-topleft: 6px; +} + +.btn-group > .btn.large:last-child, +.btn-group > .large.dropdown-toggle { + -webkit-border-top-right-radius: 6px; + border-top-right-radius: 6px; + -webkit-border-bottom-right-radius: 6px; + border-bottom-right-radius: 6px; + -moz-border-radius-topright: 6px; + -moz-border-radius-bottomright: 6px; +} + +.btn-group > .btn:hover, +.btn-group > .btn:focus, +.btn-group > .btn:active, +.btn-group > .btn.active { + z-index: 2; +} + +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} + +.btn-group > .btn + .dropdown-toggle { + *padding-top: 5px; + padding-right: 8px; + *padding-bottom: 5px; + padding-left: 8px; + -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.btn-group > .btn-mini + .dropdown-toggle { + *padding-top: 2px; + padding-right: 5px; + *padding-bottom: 2px; + padding-left: 5px; +} + +.btn-group > .btn-small + .dropdown-toggle { + *padding-top: 5px; + *padding-bottom: 4px; +} + +.btn-group > .btn-large + .dropdown-toggle { + *padding-top: 7px; + padding-right: 12px; + *padding-bottom: 7px; + padding-left: 12px; +} + +.btn-group.open .dropdown-toggle { + background-image: none; + -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.btn-group.open .btn.dropdown-toggle { + background-color: #e6e6e6; +} + +.btn-group.open .btn-primary.dropdown-toggle { + background-color: #0044cc; +} + +.btn-group.open .btn-warning.dropdown-toggle { + background-color: #f89406; +} + +.btn-group.open .btn-danger.dropdown-toggle { + background-color: #bd362f; +} + +.btn-group.open .btn-success.dropdown-toggle { + background-color: #51a351; +} + +.btn-group.open .btn-info.dropdown-toggle { + background-color: #2f96b4; +} + +.btn-group.open .btn-inverse.dropdown-toggle { + background-color: #222222; +} + +.btn .caret { + margin-top: 8px; + margin-left: 0; +} + +.btn-large .caret { + margin-top: 6px; +} + +.btn-large .caret { + border-top-width: 5px; + border-right-width: 5px; + border-left-width: 5px; +} + +.btn-mini .caret, +.btn-small .caret { + margin-top: 8px; +} + +.dropup .btn-large .caret { + border-bottom-width: 5px; +} + +.btn-primary .caret, +.btn-warning .caret, +.btn-danger .caret, +.btn-info .caret, +.btn-success .caret, +.btn-inverse .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; +} + +.btn-group-vertical { + display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + + *zoom: 1; +} + +.btn-group-vertical > .btn { + display: block; + float: none; + max-width: 100%; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.btn-group-vertical > .btn + .btn { + margin-top: -1px; + margin-left: 0; +} + +.btn-group-vertical > .btn:first-child { + -webkit-border-radius: 4px 4px 0 0; + -moz-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; +} + +.btn-group-vertical > .btn:last-child { + -webkit-border-radius: 0 0 4px 4px; + -moz-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; +} + +.btn-group-vertical > .btn-large:first-child { + -webkit-border-radius: 6px 6px 0 0; + -moz-border-radius: 6px 6px 0 0; + border-radius: 6px 6px 0 0; +} + +.btn-group-vertical > .btn-large:last-child { + -webkit-border-radius: 0 0 6px 6px; + -moz-border-radius: 0 0 6px 6px; + border-radius: 0 0 6px 6px; +} + +.alert { + padding: 8px 35px 8px 14px; + margin-bottom: 20px; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); + background-color: #fcf8e3; + border: 1px solid #fbeed5; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.alert, +.alert h4 { + color: #c09853; +} + +.alert h4 { + margin: 0; +} + +.alert .close { + position: relative; + top: -2px; + right: -21px; + line-height: 20px; +} + +.alert-success { + color: #468847; + background-color: #dff0d8; + border-color: #d6e9c6; +} + +.alert-success h4 { + color: #468847; +} + +.alert-danger, +.alert-error { + color: #b94a48; + background-color: #f2dede; + border-color: #eed3d7; +} + +.alert-danger h4, +.alert-error h4 { + color: #b94a48; +} + +.alert-info { + color: #3a87ad; + background-color: #d9edf7; + border-color: #bce8f1; +} + +.alert-info h4 { + color: #3a87ad; +} + +.alert-block { + padding-top: 14px; + padding-bottom: 14px; +} + +.alert-block > p, +.alert-block > ul { + margin-bottom: 0; +} + +.alert-block p + p { + margin-top: 5px; +} + +.nav { + margin-bottom: 20px; + margin-left: 0; + list-style: none; +} + +.nav > li > a { + display: block; +} + +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} + +.nav > li > a > img { + max-width: none; +} + +.nav > .pull-right { + float: right; +} + +.nav-header { + display: block; + padding: 3px 15px; + font-size: 11px; + font-weight: bold; + line-height: 20px; + color: #999999; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); + text-transform: uppercase; +} + +.nav li + .nav-header { + margin-top: 9px; +} + +.nav-list { + padding-right: 15px; + padding-left: 15px; + margin-bottom: 0; +} + +.nav-list > li > a, +.nav-list .nav-header { + margin-right: -15px; + margin-left: -15px; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); +} + +.nav-list > li > a { + padding: 3px 15px; +} + +.nav-list > .active > a, +.nav-list > .active > a:hover, +.nav-list > .active > a:focus { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); + background-color: #0088cc; +} + +.nav-list [class^="icon-"], +.nav-list [class*=" icon-"] { + margin-right: 2px; +} + +.nav-list .divider { + *width: 100%; + height: 1px; + margin: 9px 1px; + *margin: -5px 0 5px; + overflow: hidden; + background-color: #e5e5e5; + border-bottom: 1px solid #ffffff; +} + +.nav-tabs, +.nav-pills { + *zoom: 1; +} + +.nav-tabs:before, +.nav-pills:before, +.nav-tabs:after, +.nav-pills:after { + display: table; + line-height: 0; + content: ""; +} + +.nav-tabs:after, +.nav-pills:after { + clear: both; +} + +.nav-tabs > li, +.nav-pills > li { + float: left; +} + +.nav-tabs > li > a, +.nav-pills > li > a { + padding-right: 12px; + padding-left: 12px; + margin-right: 2px; + line-height: 14px; +} + +.nav-tabs { + border-bottom: 1px solid #ddd; +} + +.nav-tabs > li { + margin-bottom: -1px; +} + +.nav-tabs > li > a { + padding-top: 8px; + padding-bottom: 8px; + line-height: 20px; + border: 1px solid transparent; + -webkit-border-radius: 4px 4px 0 0; + -moz-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; +} + +.nav-tabs > li > a:hover, +.nav-tabs > li > a:focus { + border-color: #eeeeee #eeeeee #dddddd; +} + +.nav-tabs > .active > a, +.nav-tabs > .active > a:hover, +.nav-tabs > .active > a:focus { + color: #555555; + cursor: default; + background-color: #ffffff; + border: 1px solid #ddd; + border-bottom-color: transparent; +} + +.nav-pills > li > a { + padding-top: 8px; + padding-bottom: 8px; + margin-top: 2px; + margin-bottom: 2px; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; +} + +.nav-pills > .active > a, +.nav-pills > .active > a:hover, +.nav-pills > .active > a:focus { + color: #ffffff; + background-color: #0088cc; +} + +.nav-stacked > li { + float: none; +} + +.nav-stacked > li > a { + margin-right: 0; +} + +.nav-tabs.nav-stacked { + border-bottom: 0; +} + +.nav-tabs.nav-stacked > li > a { + border: 1px solid #ddd; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.nav-tabs.nav-stacked > li:first-child > a { + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topright: 4px; + -moz-border-radius-topleft: 4px; +} + +.nav-tabs.nav-stacked > li:last-child > a { + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -moz-border-radius-bottomright: 4px; + -moz-border-radius-bottomleft: 4px; +} + +.nav-tabs.nav-stacked > li > a:hover, +.nav-tabs.nav-stacked > li > a:focus { + z-index: 2; + border-color: #ddd; +} + +.nav-pills.nav-stacked > li > a { + margin-bottom: 3px; +} + +.nav-pills.nav-stacked > li:last-child > a { + margin-bottom: 1px; +} + +.nav-tabs .dropdown-menu { + -webkit-border-radius: 0 0 6px 6px; + -moz-border-radius: 0 0 6px 6px; + border-radius: 0 0 6px 6px; +} + +.nav-pills .dropdown-menu { + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} + +.nav .dropdown-toggle .caret { + margin-top: 6px; + border-top-color: #0088cc; + border-bottom-color: #0088cc; +} + +.nav .dropdown-toggle:hover .caret, +.nav .dropdown-toggle:focus .caret { + border-top-color: #005580; + border-bottom-color: #005580; +} + +/* move down carets for tabs */ + +.nav-tabs .dropdown-toggle .caret { + margin-top: 8px; +} + +.nav .active .dropdown-toggle .caret { + border-top-color: #fff; + border-bottom-color: #fff; +} + +.nav-tabs .active .dropdown-toggle .caret { + border-top-color: #555555; + border-bottom-color: #555555; +} + +.nav > .dropdown.active > a:hover, +.nav > .dropdown.active > a:focus { + cursor: pointer; +} + +.nav-tabs .open .dropdown-toggle, +.nav-pills .open .dropdown-toggle, +.nav > li.dropdown.open.active > a:hover, +.nav > li.dropdown.open.active > a:focus { + color: #ffffff; + background-color: #999999; + border-color: #999999; +} + +.nav li.dropdown.open .caret, +.nav li.dropdown.open.active .caret, +.nav li.dropdown.open a:hover .caret, +.nav li.dropdown.open a:focus .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; + opacity: 1; + filter: alpha(opacity=100); +} + +.tabs-stacked .open > a:hover, +.tabs-stacked .open > a:focus { + border-color: #999999; +} + +.tabbable { + *zoom: 1; +} + +.tabbable:before, +.tabbable:after { + display: table; + line-height: 0; + content: ""; +} + +.tabbable:after { + clear: both; +} + +.tab-content { + overflow: auto; +} + +.tabs-below > .nav-tabs, +.tabs-right > .nav-tabs, +.tabs-left > .nav-tabs { + border-bottom: 0; +} + +.tab-content > .tab-pane, +.pill-content > .pill-pane { + display: none; +} + +.tab-content > .active, +.pill-content > .active { + display: block; +} + +.tabs-below > .nav-tabs { + border-top: 1px solid #ddd; +} + +.tabs-below > .nav-tabs > li { + margin-top: -1px; + margin-bottom: 0; +} + +.tabs-below > .nav-tabs > li > a { + -webkit-border-radius: 0 0 4px 4px; + -moz-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; +} + +.tabs-below > .nav-tabs > li > a:hover, +.tabs-below > .nav-tabs > li > a:focus { + border-top-color: #ddd; + border-bottom-color: transparent; +} + +.tabs-below > .nav-tabs > .active > a, +.tabs-below > .nav-tabs > .active > a:hover, +.tabs-below > .nav-tabs > .active > a:focus { + border-color: transparent #ddd #ddd #ddd; +} + +.tabs-left > .nav-tabs > li, +.tabs-right > .nav-tabs > li { + float: none; +} + +.tabs-left > .nav-tabs > li > a, +.tabs-right > .nav-tabs > li > a { + min-width: 74px; + margin-right: 0; + margin-bottom: 3px; +} + +.tabs-left > .nav-tabs { + float: left; + margin-right: 19px; + border-right: 1px solid #ddd; +} + +.tabs-left > .nav-tabs > li > a { + margin-right: -1px; + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} + +.tabs-left > .nav-tabs > li > a:hover, +.tabs-left > .nav-tabs > li > a:focus { + border-color: #eeeeee #dddddd #eeeeee #eeeeee; +} + +.tabs-left > .nav-tabs .active > a, +.tabs-left > .nav-tabs .active > a:hover, +.tabs-left > .nav-tabs .active > a:focus { + border-color: #ddd transparent #ddd #ddd; + *border-right-color: #ffffff; +} + +.tabs-right > .nav-tabs { + float: right; + margin-left: 19px; + border-left: 1px solid #ddd; +} + +.tabs-right > .nav-tabs > li > a { + margin-left: -1px; + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + +.tabs-right > .nav-tabs > li > a:hover, +.tabs-right > .nav-tabs > li > a:focus { + border-color: #eeeeee #eeeeee #eeeeee #dddddd; +} + +.tabs-right > .nav-tabs .active > a, +.tabs-right > .nav-tabs .active > a:hover, +.tabs-right > .nav-tabs .active > a:focus { + border-color: #ddd #ddd #ddd transparent; + *border-left-color: #ffffff; +} + +.nav > .disabled > a { + color: #999999; +} + +.nav > .disabled > a:hover, +.nav > .disabled > a:focus { + text-decoration: none; + cursor: default; + background-color: transparent; +} + +.navbar { + *position: relative; + *z-index: 2; + margin-bottom: 20px; + overflow: visible; +} + +.navbar-inner { + min-height: 40px; + padding-right: 20px; + padding-left: 20px; + background-color: #fafafa; + background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2)); + background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2); + background-image: -o-linear-gradient(top, #ffffff, #f2f2f2); + background-image: linear-gradient(to bottom, #ffffff, #f2f2f2); + background-repeat: repeat-x; + border: 1px solid #d4d4d4; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0); + *zoom: 1; + -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); + -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); + box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); +} + +.navbar-inner:before, +.navbar-inner:after { + display: table; + line-height: 0; + content: ""; +} + +.navbar-inner:after { + clear: both; +} + +.navbar .container { + width: auto; +} + +.nav-collapse.collapse { + height: auto; + overflow: visible; +} + +.navbar .brand { + display: block; + float: left; + padding: 10px 20px 10px; + margin-left: -20px; + font-size: 20px; + font-weight: 200; + color: #777777; + text-shadow: 0 1px 0 #ffffff; +} + +.navbar .brand:hover, +.navbar .brand:focus { + text-decoration: none; +} + +.navbar-text { + margin-bottom: 0; + line-height: 40px; + color: #777777; +} + +.navbar-link { + color: #777777; +} + +.navbar-link:hover, +.navbar-link:focus { + color: #333333; +} + +.navbar .divider-vertical { + height: 40px; + margin: 0 9px; + border-right: 1px solid #ffffff; + border-left: 1px solid #f2f2f2; +} + +.navbar .btn, +.navbar .btn-group { + margin-top: 5px; +} + +.navbar .btn-group .btn, +.navbar .input-prepend .btn, +.navbar .input-append .btn, +.navbar .input-prepend .btn-group, +.navbar .input-append .btn-group { + margin-top: 0; +} + +.navbar-form { + margin-bottom: 0; + *zoom: 1; +} + +.navbar-form:before, +.navbar-form:after { + display: table; + line-height: 0; + content: ""; +} + +.navbar-form:after { + clear: both; +} + +.navbar-form input, +.navbar-form select, +.navbar-form .radio, +.navbar-form .checkbox { + margin-top: 5px; +} + +.navbar-form input, +.navbar-form select, +.navbar-form .btn { + display: inline-block; + margin-bottom: 0; +} + +.navbar-form input[type="image"], +.navbar-form input[type="checkbox"], +.navbar-form input[type="radio"] { + margin-top: 3px; +} + +.navbar-form .input-append, +.navbar-form .input-prepend { + margin-top: 5px; + white-space: nowrap; +} + +.navbar-form .input-append input, +.navbar-form .input-prepend input { + margin-top: 0; +} + +.navbar-search { + position: relative; + float: left; + margin-top: 5px; + margin-bottom: 0; +} + +.navbar-search .search-query { + padding: 4px 14px; + margin-bottom: 0; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 13px; + font-weight: normal; + line-height: 1; + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; +} + +.navbar-static-top { + position: static; + margin-bottom: 0; +} + +.navbar-static-top .navbar-inner { + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; + margin-bottom: 0; +} + +.navbar-fixed-top .navbar-inner, +.navbar-static-top .navbar-inner { + border-width: 0 0 1px; +} + +.navbar-fixed-bottom .navbar-inner { + border-width: 1px 0 0; +} + +.navbar-fixed-top .navbar-inner, +.navbar-fixed-bottom .navbar-inner { + padding-right: 0; + padding-left: 0; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.navbar-static-top .container, +.navbar-fixed-top .container, +.navbar-fixed-bottom .container { + width: 940px; +} + +.navbar-fixed-top { + top: 0; +} + +.navbar-fixed-top .navbar-inner, +.navbar-static-top .navbar-inner { + -webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); + -moz-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); + box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); +} + +.navbar-fixed-bottom { + bottom: 0; +} + +.navbar-fixed-bottom .navbar-inner { + -webkit-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); + -moz-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); + box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); +} + +.navbar .nav { + position: relative; + left: 0; + display: block; + float: left; + margin: 0 10px 0 0; +} + +.navbar .nav.pull-right { + float: right; + margin-right: 0; +} + +.navbar .nav > li { + float: left; +} + +.navbar .nav > li > a { + float: none; + padding: 10px 15px 10px; + color: #777777; + text-decoration: none; + text-shadow: 0 1px 0 #ffffff; +} + +.navbar .nav .dropdown-toggle .caret { + margin-top: 8px; +} + +.navbar .nav > li > a:focus, +.navbar .nav > li > a:hover { + color: #333333; + text-decoration: none; + background-color: transparent; +} + +.navbar .nav > .active > a, +.navbar .nav > .active > a:hover, +.navbar .nav > .active > a:focus { + color: #555555; + text-decoration: none; + background-color: #e5e5e5; + -webkit-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); + -moz-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); +} + +.navbar .btn-navbar { + display: none; + float: right; + padding: 7px 10px; + margin-right: 5px; + margin-left: 5px; + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #ededed; + *background-color: #e5e5e5; + background-image: -moz-linear-gradient(top, #f2f2f2, #e5e5e5); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e5e5e5)); + background-image: -webkit-linear-gradient(top, #f2f2f2, #e5e5e5); + background-image: -o-linear-gradient(top, #f2f2f2, #e5e5e5); + background-image: linear-gradient(to bottom, #f2f2f2, #e5e5e5); + background-repeat: repeat-x; + border-color: #e5e5e5 #e5e5e5 #bfbfbf; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffe5e5e5', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); +} + +.navbar .btn-navbar:hover, +.navbar .btn-navbar:focus, +.navbar .btn-navbar:active, +.navbar .btn-navbar.active, +.navbar .btn-navbar.disabled, +.navbar .btn-navbar[disabled] { + color: #ffffff; + background-color: #e5e5e5; + *background-color: #d9d9d9; +} + +.navbar .btn-navbar:active, +.navbar .btn-navbar.active { + background-color: #cccccc \9; +} + +.navbar .btn-navbar .icon-bar { + display: block; + width: 18px; + height: 2px; + background-color: #f5f5f5; + -webkit-border-radius: 1px; + -moz-border-radius: 1px; + border-radius: 1px; + -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); + -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); + box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); +} + +.btn-navbar .icon-bar + .icon-bar { + margin-top: 3px; +} + +.navbar .nav > li > .dropdown-menu:before { + position: absolute; + top: -7px; + left: 9px; + display: inline-block; + border-right: 7px solid transparent; + border-bottom: 7px solid #ccc; + border-left: 7px solid transparent; + border-bottom-color: rgba(0, 0, 0, 0.2); + content: ''; +} + +.navbar .nav > li > .dropdown-menu:after { + position: absolute; + top: -6px; + left: 10px; + display: inline-block; + border-right: 6px solid transparent; + border-bottom: 6px solid #ffffff; + border-left: 6px solid transparent; + content: ''; +} + +.navbar-fixed-bottom .nav > li > .dropdown-menu:before { + top: auto; + bottom: -7px; + border-top: 7px solid #ccc; + border-bottom: 0; + border-top-color: rgba(0, 0, 0, 0.2); +} + +.navbar-fixed-bottom .nav > li > .dropdown-menu:after { + top: auto; + bottom: -6px; + border-top: 6px solid #ffffff; + border-bottom: 0; +} + +.navbar .nav li.dropdown > a:hover .caret, +.navbar .nav li.dropdown > a:focus .caret { + border-top-color: #333333; + border-bottom-color: #333333; +} + +.navbar .nav li.dropdown.open > .dropdown-toggle, +.navbar .nav li.dropdown.active > .dropdown-toggle, +.navbar .nav li.dropdown.open.active > .dropdown-toggle { + color: #555555; + background-color: #e5e5e5; +} + +.navbar .nav li.dropdown > .dropdown-toggle .caret { + border-top-color: #777777; + border-bottom-color: #777777; +} + +.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: #555555; + border-bottom-color: #555555; +} + +.navbar .pull-right > li > .dropdown-menu, +.navbar .nav > li > .dropdown-menu.pull-right { + right: 0; + left: auto; +} + +.navbar .pull-right > li > .dropdown-menu:before, +.navbar .nav > li > .dropdown-menu.pull-right:before { + right: 12px; + left: auto; +} + +.navbar .pull-right > li > .dropdown-menu:after, +.navbar .nav > li > .dropdown-menu.pull-right:after { + right: 13px; + left: auto; +} + +.navbar .pull-right > li > .dropdown-menu .dropdown-menu, +.navbar .nav > li > .dropdown-menu.pull-right .dropdown-menu { + right: 100%; + left: auto; + margin-right: -1px; + margin-left: 0; + -webkit-border-radius: 6px 0 6px 6px; + -moz-border-radius: 6px 0 6px 6px; + border-radius: 6px 0 6px 6px; +} + +.navbar-inverse .navbar-inner { + background-color: #1b1b1b; + background-image: -moz-linear-gradient(top, #222222, #111111); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111)); + background-image: -webkit-linear-gradient(top, #222222, #111111); + background-image: -o-linear-gradient(top, #222222, #111111); + background-image: linear-gradient(to bottom, #222222, #111111); + background-repeat: repeat-x; + border-color: #252525; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff111111', GradientType=0); +} + +.navbar-inverse .brand, +.navbar-inverse .nav > li > a { + color: #999999; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} + +.navbar-inverse .brand:hover, +.navbar-inverse .nav > li > a:hover, +.navbar-inverse .brand:focus, +.navbar-inverse .nav > li > a:focus { + color: #ffffff; +} + +.navbar-inverse .brand { + color: #999999; +} + +.navbar-inverse .navbar-text { + color: #999999; +} + +.navbar-inverse .nav > li > a:focus, +.navbar-inverse .nav > li > a:hover { + color: #ffffff; + background-color: transparent; +} + +.navbar-inverse .nav .active > a, +.navbar-inverse .nav .active > a:hover, +.navbar-inverse .nav .active > a:focus { + color: #ffffff; + background-color: #111111; +} + +.navbar-inverse .navbar-link { + color: #999999; +} + +.navbar-inverse .navbar-link:hover, +.navbar-inverse .navbar-link:focus { + color: #ffffff; +} + +.navbar-inverse .divider-vertical { + border-right-color: #222222; + border-left-color: #111111; +} + +.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 { + color: #ffffff; + background-color: #111111; +} + +.navbar-inverse .nav li.dropdown > a:hover .caret, +.navbar-inverse .nav li.dropdown > a:focus .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; +} + +.navbar-inverse .nav li.dropdown > .dropdown-toggle .caret { + border-top-color: #999999; + border-bottom-color: #999999; +} + +.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-top-color: #ffffff; + border-bottom-color: #ffffff; +} + +.navbar-inverse .navbar-search .search-query { + color: #ffffff; + background-color: #515151; + border-color: #111111; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); + -webkit-transition: none; + -moz-transition: none; + -o-transition: none; + transition: none; +} + +.navbar-inverse .navbar-search .search-query:-moz-placeholder { + color: #cccccc; +} + +.navbar-inverse .navbar-search .search-query:-ms-input-placeholder { + color: #cccccc; +} + +.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder { + color: #cccccc; +} + +.navbar-inverse .navbar-search .search-query:focus, +.navbar-inverse .navbar-search .search-query.focused { + padding: 5px 15px; + color: #333333; + text-shadow: 0 1px 0 #ffffff; + background-color: #ffffff; + border: 0; + outline: 0; + -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); + -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); + box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); +} + +.navbar-inverse .btn-navbar { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #0e0e0e; + *background-color: #040404; + background-image: -moz-linear-gradient(top, #151515, #040404); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404)); + background-image: -webkit-linear-gradient(top, #151515, #040404); + background-image: -o-linear-gradient(top, #151515, #040404); + background-image: linear-gradient(to bottom, #151515, #040404); + background-repeat: repeat-x; + border-color: #040404 #040404 #000000; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515', endColorstr='#ff040404', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.navbar-inverse .btn-navbar:hover, +.navbar-inverse .btn-navbar:focus, +.navbar-inverse .btn-navbar:active, +.navbar-inverse .btn-navbar.active, +.navbar-inverse .btn-navbar.disabled, +.navbar-inverse .btn-navbar[disabled] { + color: #ffffff; + background-color: #040404; + *background-color: #000000; +} + +.navbar-inverse .btn-navbar:active, +.navbar-inverse .btn-navbar.active { + background-color: #000000 \9; +} + +.breadcrumb { + padding: 8px 15px; + margin: 0 0 20px; + list-style: none; + background-color: #f5f5f5; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.breadcrumb > li { + display: inline-block; + *display: inline; + text-shadow: 0 1px 0 #ffffff; + *zoom: 1; +} + +.breadcrumb > li > .divider { + padding: 0 5px; + color: #ccc; +} + +.breadcrumb > .active { + color: #999999; +} + +.pagination { + margin: 20px 0; +} + +.pagination ul { + display: inline-block; + *display: inline; + margin-bottom: 0; + margin-left: 0; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + *zoom: 1; + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.pagination ul > li { + display: inline; +} + +.pagination ul > li > a, +.pagination ul > li > span { + float: left; + padding: 4px 12px; + line-height: 20px; + text-decoration: none; + background-color: #ffffff; + border: 1px solid #dddddd; + border-left-width: 0; +} + +.pagination ul > li > a:hover, +.pagination ul > li > a:focus, +.pagination ul > .active > a, +.pagination ul > .active > span { + background-color: #f5f5f5; +} + +.pagination ul > .active > a, +.pagination ul > .active > span { + color: #999999; + cursor: default; +} + +.pagination ul > .disabled > span, +.pagination ul > .disabled > a, +.pagination ul > .disabled > a:hover, +.pagination ul > .disabled > a:focus { + color: #999999; + cursor: default; + background-color: transparent; +} + +.pagination ul > li:first-child > a, +.pagination ul > li:first-child > span { + border-left-width: 1px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-topleft: 4px; +} + +.pagination ul > li:last-child > a, +.pagination ul > li:last-child > span { + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + -moz-border-radius-topright: 4px; + -moz-border-radius-bottomright: 4px; +} + +.pagination-centered { + text-align: center; +} + +.pagination-right { + text-align: right; +} + +.pagination-large ul > li > a, +.pagination-large ul > li > span { + padding: 11px 19px; + font-size: 17.5px; +} + +.pagination-large ul > li:first-child > a, +.pagination-large ul > li:first-child > span { + -webkit-border-bottom-left-radius: 6px; + border-bottom-left-radius: 6px; + -webkit-border-top-left-radius: 6px; + border-top-left-radius: 6px; + -moz-border-radius-bottomleft: 6px; + -moz-border-radius-topleft: 6px; +} + +.pagination-large ul > li:last-child > a, +.pagination-large ul > li:last-child > span { + -webkit-border-top-right-radius: 6px; + border-top-right-radius: 6px; + -webkit-border-bottom-right-radius: 6px; + border-bottom-right-radius: 6px; + -moz-border-radius-topright: 6px; + -moz-border-radius-bottomright: 6px; +} + +.pagination-mini ul > li:first-child > a, +.pagination-small ul > li:first-child > a, +.pagination-mini ul > li:first-child > span, +.pagination-small ul > li:first-child > span { + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-bottomleft: 3px; + -moz-border-radius-topleft: 3px; +} + +.pagination-mini ul > li:last-child > a, +.pagination-small ul > li:last-child > a, +.pagination-mini ul > li:last-child > span, +.pagination-small ul > li:last-child > span { + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; + -moz-border-radius-topright: 3px; + -moz-border-radius-bottomright: 3px; +} + +.pagination-small ul > li > a, +.pagination-small ul > li > span { + padding: 2px 10px; + font-size: 11.9px; +} + +.pagination-mini ul > li > a, +.pagination-mini ul > li > span { + padding: 0 6px; + font-size: 10.5px; +} + +.pager { + margin: 20px 0; + text-align: center; + list-style: none; + *zoom: 1; +} + +.pager:before, +.pager:after { + display: table; + line-height: 0; + content: ""; +} + +.pager:after { + clear: both; +} + +.pager li { + display: inline; +} + +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; +} + +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: #f5f5f5; +} + +.pager .next > a, +.pager .next > span { + float: right; +} + +.pager .previous > a, +.pager .previous > span { + float: left; +} + +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #999999; + cursor: default; + background-color: #fff; +} + +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000000; +} + +.modal-backdrop.fade { + opacity: 0; +} + +.modal-backdrop, +.modal-backdrop.fade.in { + opacity: 0.8; + filter: alpha(opacity=80); +} + +.modal { + position: fixed; + top: 10%; + left: 50%; + z-index: 1050; + width: 560px; + margin-left: -280px; + background-color: #ffffff; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, 0.3); + *border: 1px solid #999; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + outline: none; + -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); + box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); + -webkit-background-clip: padding-box; + -moz-background-clip: padding-box; + background-clip: padding-box; +} + +.modal.fade { + top: -25%; + -webkit-transition: opacity 0.3s linear, top 0.3s ease-out; + -moz-transition: opacity 0.3s linear, top 0.3s ease-out; + -o-transition: opacity 0.3s linear, top 0.3s ease-out; + transition: opacity 0.3s linear, top 0.3s ease-out; +} + +.modal.fade.in { + top: 10%; +} + +.modal-header { + padding: 9px 15px; + border-bottom: 1px solid #eee; +} + +.modal-header .close { + margin-top: 2px; +} + +.modal-header h3 { + margin: 0; + line-height: 30px; +} + +.modal-body { + position: relative; + max-height: 400px; + padding: 15px; + overflow-y: auto; +} + +.modal-form { + margin-bottom: 0; +} + +.modal-footer { + padding: 14px 15px 15px; + margin-bottom: 0; + text-align: right; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + -webkit-border-radius: 0 0 6px 6px; + -moz-border-radius: 0 0 6px 6px; + border-radius: 0 0 6px 6px; + *zoom: 1; + -webkit-box-shadow: inset 0 1px 0 #ffffff; + -moz-box-shadow: inset 0 1px 0 #ffffff; + box-shadow: inset 0 1px 0 #ffffff; +} + +.modal-footer:before, +.modal-footer:after { + display: table; + line-height: 0; + content: ""; +} + +.modal-footer:after { + clear: both; +} + +.modal-footer .btn + .btn { + margin-bottom: 0; + margin-left: 5px; +} + +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} + +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} + +.tooltip { + position: absolute; + z-index: 1030; + display: block; + font-size: 11px; + line-height: 1.4; + opacity: 0; + filter: alpha(opacity=0); + visibility: visible; +} + +.tooltip.in { + opacity: 0.8; + filter: alpha(opacity=80); +} + +.tooltip.top { + padding: 5px 0; + margin-top: -3px; +} + +.tooltip.right { + padding: 0 5px; + margin-left: 3px; +} + +.tooltip.bottom { + padding: 5px 0; + margin-top: 3px; +} + +.tooltip.left { + padding: 0 5px; + margin-left: -3px; +} + +.tooltip-inner { + max-width: 200px; + padding: 8px; + color: #ffffff; + text-align: center; + text-decoration: none; + background-color: #000000; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} + +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-top-color: #000000; + border-width: 5px 5px 0; +} + +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-right-color: #000000; + border-width: 5px 5px 5px 0; +} + +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-left-color: #000000; + border-width: 5px 0 5px 5px; +} + +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-bottom-color: #000000; + border-width: 0 5px 5px; +} + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1010; + display: none; + max-width: 276px; + padding: 1px; + text-align: left; + white-space: normal; + background-color: #ffffff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; +} + +.popover.top { + margin-top: -10px; +} + +.popover.right { + margin-left: 10px; +} + +.popover.bottom { + margin-top: 10px; +} + +.popover.left { + margin-left: -10px; +} + +.popover-title { + padding: 8px 14px; + margin: 0; + font-size: 14px; + font-weight: normal; + line-height: 18px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + -webkit-border-radius: 5px 5px 0 0; + -moz-border-radius: 5px 5px 0 0; + border-radius: 5px 5px 0 0; +} + +.popover-title:empty { + display: none; +} + +.popover-content { + padding: 9px 14px; +} + +.popover .arrow, +.popover .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} + +.popover .arrow { + border-width: 11px; +} + +.popover .arrow:after { + border-width: 10px; + content: ""; +} + +.popover.top .arrow { + bottom: -11px; + left: 50%; + margin-left: -11px; + border-top-color: #999; + border-top-color: rgba(0, 0, 0, 0.25); + border-bottom-width: 0; +} + +.popover.top .arrow:after { + bottom: 1px; + margin-left: -10px; + border-top-color: #ffffff; + border-bottom-width: 0; +} + +.popover.right .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-right-color: #999; + border-right-color: rgba(0, 0, 0, 0.25); + border-left-width: 0; +} + +.popover.right .arrow:after { + bottom: -10px; + left: 1px; + border-right-color: #ffffff; + border-left-width: 0; +} + +.popover.bottom .arrow { + top: -11px; + left: 50%; + margin-left: -11px; + border-bottom-color: #999; + border-bottom-color: rgba(0, 0, 0, 0.25); + border-top-width: 0; +} + +.popover.bottom .arrow:after { + top: 1px; + margin-left: -10px; + border-bottom-color: #ffffff; + border-top-width: 0; +} + +.popover.left .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-left-color: #999; + border-left-color: rgba(0, 0, 0, 0.25); + border-right-width: 0; +} + +.popover.left .arrow:after { + right: 1px; + bottom: -10px; + border-left-color: #ffffff; + border-right-width: 0; +} + +.thumbnails { + margin-left: -20px; + list-style: none; + *zoom: 1; +} + +.thumbnails:before, +.thumbnails:after { + display: table; + line-height: 0; + content: ""; +} + +.thumbnails:after { + clear: both; +} + +.row-fluid .thumbnails { + margin-left: 0; +} + +.thumbnails > li { + float: left; + margin-bottom: 20px; + margin-left: 20px; +} + +.thumbnail { + display: block; + padding: 4px; + line-height: 20px; + border: 1px solid #ddd; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} + +a.thumbnail:hover, +a.thumbnail:focus { + border-color: #0088cc; + -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); + -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); + box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); +} + +.thumbnail > img { + display: block; + max-width: 100%; + margin-right: auto; + margin-left: auto; +} + +.thumbnail .caption { + padding: 9px; + color: #555555; +} + +.media, +.media-body { + overflow: hidden; + *overflow: visible; + zoom: 1; +} + +.media, +.media .media { + margin-top: 15px; +} + +.media:first-child { + margin-top: 0; +} + +.media-object { + display: block; +} + +.media-heading { + margin: 0 0 5px; +} + +.media > .pull-left { + margin-right: 10px; +} + +.media > .pull-right { + margin-left: 10px; +} + +.media-list { + margin-left: 0; + list-style: none; +} + +.label, +.badge { + display: inline-block; + padding: 2px 4px; + font-size: 11.844px; + font-weight: bold; + line-height: 14px; + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + white-space: nowrap; + vertical-align: baseline; + background-color: #999999; +} + +.label { + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +.badge { + padding-right: 9px; + padding-left: 9px; + -webkit-border-radius: 9px; + -moz-border-radius: 9px; + border-radius: 9px; +} + +.label:empty, +.badge:empty { + display: none; +} + +a.label:hover, +a.label:focus, +a.badge:hover, +a.badge:focus { + color: #ffffff; + text-decoration: none; + cursor: pointer; +} + +.label-important, +.badge-important { + background-color: #b94a48; +} + +.label-important[href], +.badge-important[href] { + background-color: #953b39; +} + +.label-warning, +.badge-warning { + background-color: #f89406; +} + +.label-warning[href], +.badge-warning[href] { + background-color: #c67605; +} + +.label-success, +.badge-success { + background-color: #468847; +} + +.label-success[href], +.badge-success[href] { + background-color: #356635; +} + +.label-info, +.badge-info { + background-color: #3a87ad; +} + +.label-info[href], +.badge-info[href] { + background-color: #2d6987; +} + +.label-inverse, +.badge-inverse { + background-color: #333333; +} + +.label-inverse[href], +.badge-inverse[href] { + background-color: #1a1a1a; +} + +.btn .label, +.btn .badge { + position: relative; + top: -1px; +} + +.btn-mini .label, +.btn-mini .badge { + top: 0; +} + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +@-moz-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +@-ms-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +@-o-keyframes progress-bar-stripes { + from { + background-position: 0 0; + } + to { + background-position: 40px 0; + } +} + +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +.progress { + height: 20px; + margin-bottom: 20px; + overflow: hidden; + background-color: #f7f7f7; + background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9)); + background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9); + background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9); + background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9); + background-repeat: repeat-x; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0); + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} + +.progress .bar { + float: left; + width: 0; + height: 100%; + font-size: 12px; + color: #ffffff; + text-align: center; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #0e90d2; + background-image: -moz-linear-gradient(top, #149bdf, #0480be); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be)); + background-image: -webkit-linear-gradient(top, #149bdf, #0480be); + background-image: -o-linear-gradient(top, #149bdf, #0480be); + background-image: linear-gradient(to bottom, #149bdf, #0480be); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0); + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-transition: width 0.6s ease; + -moz-transition: width 0.6s ease; + -o-transition: width 0.6s ease; + transition: width 0.6s ease; +} + +.progress .bar + .bar { + -webkit-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -moz-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); +} + +.progress-striped .bar { + background-color: #149bdf; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + -webkit-background-size: 40px 40px; + -moz-background-size: 40px 40px; + -o-background-size: 40px 40px; + background-size: 40px 40px; +} + +.progress.active .bar { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -moz-animation: progress-bar-stripes 2s linear infinite; + -ms-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} + +.progress-danger .bar, +.progress .bar-danger { + background-color: #dd514c; + background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35)); + background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35); + background-image: -o-linear-gradient(top, #ee5f5b, #c43c35); + background-image: linear-gradient(to bottom, #ee5f5b, #c43c35); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0); +} + +.progress-danger.progress-striped .bar, +.progress-striped .bar-danger { + background-color: #ee5f5b; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-success .bar, +.progress .bar-success { + background-color: #5eb95e; + background-image: -moz-linear-gradient(top, #62c462, #57a957); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957)); + background-image: -webkit-linear-gradient(top, #62c462, #57a957); + background-image: -o-linear-gradient(top, #62c462, #57a957); + background-image: linear-gradient(to bottom, #62c462, #57a957); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0); +} + +.progress-success.progress-striped .bar, +.progress-striped .bar-success { + background-color: #62c462; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-info .bar, +.progress .bar-info { + background-color: #4bb1cf; + background-image: -moz-linear-gradient(top, #5bc0de, #339bb9); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9)); + background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9); + background-image: -o-linear-gradient(top, #5bc0de, #339bb9); + background-image: linear-gradient(to bottom, #5bc0de, #339bb9); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0); +} + +.progress-info.progress-striped .bar, +.progress-striped .bar-info { + background-color: #5bc0de; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-warning .bar, +.progress .bar-warning { + background-color: #faa732; + background-image: -moz-linear-gradient(top, #fbb450, #f89406); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); + background-image: -webkit-linear-gradient(top, #fbb450, #f89406); + background-image: -o-linear-gradient(top, #fbb450, #f89406); + background-image: linear-gradient(to bottom, #fbb450, #f89406); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0); +} + +.progress-warning.progress-striped .bar, +.progress-striped .bar-warning { + background-color: #fbb450; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.accordion { + margin-bottom: 20px; +} + +.accordion-group { + margin-bottom: 2px; + border: 1px solid #e5e5e5; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.accordion-heading { + border-bottom: 0; +} + +.accordion-heading .accordion-toggle { + display: block; + padding: 8px 15px; +} + +.accordion-toggle { + cursor: pointer; +} + +.accordion-inner { + padding: 9px 15px; + border-top: 1px solid #e5e5e5; +} + +.carousel { + position: relative; + margin-bottom: 20px; + line-height: 1; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} + +.carousel-inner > .item { + position: relative; + display: none; + -webkit-transition: 0.6s ease-in-out left; + -moz-transition: 0.6s ease-in-out left; + -o-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left; +} + +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + line-height: 1; +} + +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} + +.carousel-inner > .active { + left: 0; +} + +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} + +.carousel-inner > .next { + left: 100%; +} + +.carousel-inner > .prev { + left: -100%; +} + +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} + +.carousel-inner > .active.left { + left: -100%; +} + +.carousel-inner > .active.right { + left: 100%; +} + +.carousel-control { + position: absolute; + top: 40%; + left: 15px; + width: 40px; + height: 40px; + margin-top: -20px; + font-size: 60px; + font-weight: 100; + line-height: 30px; + color: #ffffff; + text-align: center; + background: #222222; + border: 3px solid #ffffff; + -webkit-border-radius: 23px; + -moz-border-radius: 23px; + border-radius: 23px; + opacity: 0.5; + filter: alpha(opacity=50); +} + +.carousel-control.right { + right: 15px; + left: auto; +} + +.carousel-control:hover, +.carousel-control:focus { + color: #ffffff; + text-decoration: none; + opacity: 0.9; + filter: alpha(opacity=90); +} + +.carousel-indicators { + position: absolute; + top: 15px; + right: 15px; + z-index: 5; + margin: 0; + list-style: none; +} + +.carousel-indicators li { + display: block; + float: left; + width: 10px; + height: 10px; + margin-left: 5px; + text-indent: -999px; + background-color: #ccc; + background-color: rgba(255, 255, 255, 0.25); + border-radius: 5px; +} + +.carousel-indicators .active { + background-color: #fff; +} + +.carousel-caption { + position: absolute; + right: 0; + bottom: 0; + left: 0; + padding: 15px; + background: #333333; + background: rgba(0, 0, 0, 0.75); +} + +.carousel-caption h4, +.carousel-caption p { + line-height: 20px; + color: #ffffff; +} + +.carousel-caption h4 { + margin: 0 0 5px; +} + +.carousel-caption p { + margin-bottom: 0; +} + +.hero-unit { + padding: 60px; + margin-bottom: 30px; + font-size: 18px; + font-weight: 200; + line-height: 30px; + color: inherit; + background-color: #eeeeee; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} + +.hero-unit h1 { + margin-bottom: 0; + font-size: 60px; + line-height: 1; + letter-spacing: -1px; + color: inherit; +} + +.hero-unit li { + line-height: 30px; +} + +.pull-right { + float: right; +} + +.pull-left { + float: left; +} + +.hide { + display: none; +} + +.show { + display: block; +} + +.invisible { + visibility: hidden; +} + +.affix { + position: fixed; +} diff --git a/pages/bootstrap/css/bootstrap.min.css b/pages/bootstrap/css/bootstrap.min.css new file mode 100644 index 00000000..df96c864 --- /dev/null +++ b/pages/bootstrap/css/bootstrap.min.css @@ -0,0 +1,9 @@ +/*! + * Bootstrap v2.3.2 + * + * Copyright 2013 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world by @mdo and @fat. + */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{width:auto\9;height:auto;max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333;background-color:#fff}a{color:#08c;text-decoration:none}a:hover,a:focus{color:#005580;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.127659574468085%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*="span"].hide,.row-fluid [class*="span"].hide{display:none}[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;line-height:0;content:""}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;line-height:0;content:""}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:bold}em{font-style:italic}cite{font-style:normal}.muted{color:#999}a.muted:hover,a.muted:focus{color:#808080}.text-warning{color:#c09853}a.text-warning:hover,a.text-warning:focus{color:#a47e3c}.text-error{color:#b94a48}a.text-error:hover,a.text-error:focus{color:#953b39}.text-info{color:#3a87ad}a.text-info:hover,a.text-info:focus{color:#2d6987}.text-success{color:#468847}a.text-success:hover,a.text-success:focus{color:#356635}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:bold;line-height:20px;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{line-height:40px}h1{font-size:38.5px}h2{font-size:31.5px}h3{font-size:24.5px}h4{font-size:17.5px}h5{font-size:14px}h6{font-size:11.9px}h1 small{font-size:24.5px}h2 small{font-size:17.5px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eee}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}ul.inline,ol.inline{margin-left:0;list-style:none}ul.inline>li,ol.inline>li{display:inline-block;*display:inline;padding-right:5px;padding-left:5px;*zoom:1}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:bold}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;line-height:0;content:""}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{margin-bottom:0;font-size:17.5px;font-weight:300;line-height:1.25}blockquote small{display:block;line-height:20px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;white-space:nowrap;background-color:#f7f7f9;border:1px solid #e1e1e8}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#999}label,input,button,select,textarea{font-size:14px;font-weight:normal;line-height:20px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,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{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#555;vertical-align:middle;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}input,textarea,.uneditable-input{width:206px}textarea{height:auto}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:#fff;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;*margin-top:0;line-height:normal}input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto}select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px}select{width:220px;background-color:#fff;border:1px solid #ccc}select[multiple],select[size]{height:auto}select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#999;cursor:not-allowed;background-color:#fcfcfc;border-color:#ccc;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025)}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#999}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}.radio,.checkbox{min-height:20px;padding-left:20px}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-20px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0}.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;line-height:0;content:""}.controls-row:after{clear:both}.controls-row [class*="span"],.row-fluid .controls-row [class*="span"]{float:left}.controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"]{padding-top:5px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent}.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad}.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;line-height:0;content:""}.form-actions:after{clear:both}.help-block,.help-inline{color:#595959}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;padding-left:5px;vertical-align:middle;*zoom:1}.input-append,.input-prepend{display:inline-block;margin-bottom:10px;font-size:0;white-space:nowrap;vertical-align:middle}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu,.input-append .popover,.input-prepend .popover{font-size:14px}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #fff;background-color:#eee;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .btn-group:first-child{margin-left:0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;margin-bottom:0;vertical-align:middle;*zoom:1}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;line-height:0;content:""}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #ddd}.table th{font-weight:bold}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.table-bordered th,.table-bordered td{border-left:1px solid #ddd}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child,.table-bordered tbody:first-child tr:first-child>th:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child,.table-bordered tbody:first-child tr:first-child>th:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tbody:last-child tr:last-child>th:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>th:first-child{-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tbody:last-child tr:last-child>th:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>th:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-moz-border-radius-bottomleft:0}.table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomright:0}.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover tbody tr:hover>td,.table-hover tbody tr:hover>th{background-color:#f5f5f5}table td[class*="span"],table th[class*="span"],.row-fluid table td[class*="span"],.row-fluid table th[class*="span"]{display:table-cell;float:none;margin-left:0}.table td.span1,.table th.span1{float:none;width:44px;margin-left:0}.table td.span2,.table th.span2{float:none;width:124px;margin-left:0}.table td.span3,.table th.span3{float:none;width:204px;margin-left:0}.table td.span4,.table th.span4{float:none;width:284px;margin-left:0}.table td.span5,.table th.span5{float:none;width:364px;margin-left:0}.table td.span6,.table th.span6{float:none;width:444px;margin-left:0}.table td.span7,.table th.span7{float:none;width:524px;margin-left:0}.table td.span8,.table th.span8{float:none;width:604px;margin-left:0}.table td.span9,.table th.span9{float:none;width:684px;margin-left:0}.table td.span10,.table th.span10{float:none;width:764px;margin-left:0}.table td.span11,.table th.span11{float:none;width:844px;margin-left:0}.table td.span12,.table th.span12{float:none;width:924px;margin-left:0}.table tbody tr.success>td{background-color:#dff0d8}.table tbody tr.error>td{background-color:#f2dede}.table tbody tr.warning>td{background-color:#fcf8e3}.table tbody tr.info>td{background-color:#d9edf7}.table-hover tbody tr.success:hover>td{background-color:#d0e9c6}.table-hover tbody tr.error:hover>td{background-color:#ebcccc}.table-hover tbody tr.warning:hover>td{background-color:#faf2cc}.table-hover tbody tr.info:hover>td{background-color:#c4e3f3}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;margin-top:1px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat}.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:focus>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>li>a:focus>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:focus>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"],.dropdown-submenu:focus>a>[class*=" icon-"]{background-image:url("../img/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{width:16px;background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{width:16px;background-position:-384px -120px}.icon-folder-open{width:16px;background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus,.dropdown-submenu:hover>a,.dropdown-submenu:focus>a{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;outline:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:default;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open{*z-index:1000}.open>.dropdown-menu{display:block}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0}.dropdown-submenu>a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;border-color:transparent;border-left-color:#ccc;border-style:solid;border-width:5px 0 5px 5px;content:" "}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.dropdown .dropdown-menu .nav-header{padding-right:20px;padding-left:20px}.typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;padding:4px 12px;margin-bottom:0;*margin-left:.3em;font-size:14px;line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #ccc;*border:0;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border-bottom-color:#b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);*zoom:1;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn:hover,.btn:focus,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.btn:active,.btn.active{background-color:#ccc \9}.btn:first-child{*margin-left:0}.btn:hover,.btn:focus{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:11px 19px;font-size:17.5px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.btn-large [class^="icon-"],.btn-large [class*=" icon-"]{margin-top:4px}.btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-small [class^="icon-"],.btn-small [class*=" icon-"]{margin-top:0}.btn-mini [class^="icon-"],.btn-mini [class*=" icon-"]{margin-top:-1px}.btn-mini{padding:0 6px;font-size:10.5px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#006dcc;*background-color:#04c;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#04c;*background-color:#003bb3}.btn-primary:active,.btn-primary.active{background-color:#039 \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#faa732;*background-color:#f89406;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#f89406;*background-color:#df8505}.btn-warning:active,.btn-warning.active{background-color:#c67605 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#da4f49;*background-color:#bd362f;background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffbd362f',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#bd362f;*background-color:#a9302a}.btn-danger:active,.btn-danger.active{background-color:#942a25 \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#5bb75b;*background-color:#51a351;background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(to bottom,#62c462,#51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff51a351',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#51a351;*background-color:#499249}.btn-success:active,.btn-success.active{background-color:#408140 \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#49afcd;*background-color:#2f96b4;background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(to bottom,#5bc0de,#2f96b4);background-repeat:repeat-x;border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2f96b4',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#2f96b4;*background-color:#2a85a0}.btn-info:active,.btn-info.active{background-color:#24748c \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#363636;*background-color:#222;background-image:-moz-linear-gradient(top,#444,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#444),to(#222));background-image:-webkit-linear-gradient(top,#444,#222);background-image:-o-linear-gradient(top,#444,#222);background-image:linear-gradient(to bottom,#444,#222);background-repeat:repeat-x;border-color:#222 #222 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444',endColorstr='#ff222222',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:focus,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#222;*background-color:#151515}.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9}button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{color:#08c;cursor:pointer;border-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover,.btn-link:focus{color:#005580;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,.btn-link[disabled]:focus{color:#333;text-decoration:none}.btn-group{position:relative;display:inline-block;*display:inline;*margin-left:.3em;font-size:0;white-space:nowrap;vertical-align:middle;*zoom:1}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{margin-top:10px;margin-bottom:10px;font-size:0}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group{margin-left:5px}.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:14px}.btn-group>.btn-mini{font-size:10.5px}.btn-group>.btn-small{font-size:11.9px}.btn-group>.btn-large{font-size:17.5px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{*padding-top:5px;padding-right:8px;*padding-bottom:5px;padding-left:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn-group>.btn-mini+.dropdown-toggle{*padding-top:2px;padding-right:5px;*padding-bottom:2px;padding-left:5px}.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group>.btn-large+.dropdown-toggle{*padding-top:7px;padding-right:12px;*padding-bottom:7px;padding-left:12px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6}.btn-group.open .btn-primary.dropdown-toggle{background-color:#04c}.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406}.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f}.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351}.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222}.btn .caret{margin-top:8px;margin-left:0}.btn-large .caret{margin-top:6px}.btn-large .caret{border-top-width:5px;border-right-width:5px;border-left-width:5px}.btn-mini .caret,.btn-small .caret{margin-top:8px}.dropup .btn-large .caret{border-bottom-width:5px}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical>.btn+.btn{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.btn-group-vertical>.btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0}.btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.alert,.alert h4{color:#c09853}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-success h4{color:#468847}.alert-danger,.alert-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-danger h4,.alert-error h4{color:#b94a48}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-info h4{color:#3a87ad}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-bottom:20px;margin-left:0;list-style:none}.nav>li>a{display:block}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li>a>img{max-width:none}.nav>.pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:20px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-right:15px;padding-left:15px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{margin-right:-15px;margin-left:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list>li>a{padding:3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover,.nav-list>.active>a:focus{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#08c}.nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;line-height:0;content:""}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover,.nav-tabs>li>a:focus{border-color:#eee #eee #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover,.nav-tabs>.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover,.nav-pills>.active>a:focus{color:#fff;background-color:#08c}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-topleft:4px}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-moz-border-radius-bottomleft:4px}.nav-tabs.nav-stacked>li>a:hover,.nav-tabs.nav-stacked>li>a:focus{z-index:2;border-color:#ddd}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{margin-top:6px;border-top-color:#08c;border-bottom-color:#08c}.nav .dropdown-toggle:hover .caret,.nav .dropdown-toggle:focus .caret{border-top-color:#005580;border-bottom-color:#005580}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.nav>.dropdown.active>a:hover,.nav>.dropdown.active>a:focus{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover,.nav>li.dropdown.open.active>a:focus{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret,.nav li.dropdown.open a:focus .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover,.tabs-stacked .open>a:focus{border-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;line-height:0;content:""}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover,.tabs-below>.nav-tabs>li>a:focus{border-top-color:#ddd;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover,.tabs-below>.nav-tabs>.active>a:focus{border-color:transparent #ddd #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover,.tabs-left>.nav-tabs>li>a:focus{border-color:#eee #ddd #eee #eee}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover,.tabs-left>.nav-tabs .active>a:focus{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover,.tabs-right>.nav-tabs>li>a:focus{border-color:#eee #eee #eee #ddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover,.tabs-right>.nav-tabs .active>a:focus{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav>.disabled>a{color:#999}.nav>.disabled>a:hover,.nav>.disabled>a:focus{text-decoration:none;cursor:default;background-color:transparent}.navbar{*position:relative;*z-index:2;margin-bottom:20px;overflow:visible}.navbar-inner{min-height:40px;padding-right:20px;padding-left:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0);*zoom:1;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065)}.navbar-inner:before,.navbar-inner:after{display:table;line-height:0;content:""}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto;overflow:visible}.navbar .brand{display:block;float:left;padding:10px 20px 10px;margin-left:-20px;font-size:20px;font-weight:200;color:#777;text-shadow:0 1px 0 #fff}.navbar .brand:hover,.navbar .brand:focus{text-decoration:none}.navbar-text{margin-bottom:0;line-height:40px;color:#777}.navbar-link{color:#777}.navbar-link:hover,.navbar-link:focus{color:#333}.navbar .divider-vertical{height:40px;margin:0 9px;border-right:1px solid #fff;border-left:1px solid #f2f2f2}.navbar .btn,.navbar .btn-group{margin-top:5px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn,.navbar .input-prepend .btn-group,.navbar .input-append .btn-group{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;line-height:0;content:""}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:5px;margin-bottom:0}.navbar-search .search-query{padding:4px 14px;margin-bottom:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-right:0;padding-left:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,0.1);box-shadow:0 1px 10px rgba(0,0,0,0.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,0.1);box-shadow:0 -1px 10px rgba(0,0,0,0.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav>li{float:left}.navbar .nav>li>a{float:none;padding:10px 15px 10px;color:#777;text-decoration:none;text-shadow:0 1px 0 #fff}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{color:#333;text-decoration:none;background-color:transparent}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);box-shadow:inset 0 3px 8px rgba(0,0,0,0.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-right:5px;margin-left:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#ededed;*background-color:#e5e5e5;background-image:-moz-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#e5e5e5));background-image:-webkit-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-o-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:linear-gradient(to bottom,#f2f2f2,#e5e5e5);background-repeat:repeat-x;border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffe5e5e5',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:focus,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#e5e5e5;*background-color:#d9d9d9}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#ccc \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .nav>li>.dropdown-menu:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.navbar .nav>li>.dropdown-menu:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.navbar-fixed-bottom .nav>li>.dropdown-menu:before{top:auto;bottom:-7px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.navbar-fixed-bottom .nav>li>.dropdown-menu:after{top:auto;bottom:-6px;border-top:6px solid #fff;border-bottom:0}.navbar .nav li.dropdown>a:hover .caret,.navbar .nav li.dropdown>a:focus .caret{border-top-color:#333;border-bottom-color:#333}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{color:#555;background-color:#e5e5e5}.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777;border-bottom-color:#777}.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:#555;border-bottom-color:#555}.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{right:12px;left:auto}.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{right:13px;left:auto}.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top,#222,#111);background-image:-webkit-gradient(linear,0 0,0 100%,from(#222),to(#111));background-image:-webkit-linear-gradient(top,#222,#111);background-image:-o-linear-gradient(top,#222,#111);background-image:linear-gradient(to bottom,#222,#111);background-repeat:repeat-x;border-color:#252525;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff111111',GradientType=0)}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#999;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover,.navbar-inverse .brand:focus,.navbar-inverse .nav>li>a:focus{color:#fff}.navbar-inverse .brand{color:#999}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#fff;background-color:#111}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover,.navbar-inverse .navbar-link:focus{color:#fff}.navbar-inverse .divider-vertical{border-right-color:#222;border-left-color:#111}.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{color:#fff;background-color:#111}.navbar-inverse .nav li.dropdown>a:hover .caret,.navbar-inverse .nav li.dropdown>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999;border-bottom-color:#999}.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-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#515151;border-color:#111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;outline:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15)}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e0e0e;*background-color:#040404;background-image:-moz-linear-gradient(top,#151515,#040404);background-image:-webkit-gradient(linear,0 0,0 100%,from(#151515),to(#040404));background-image:-webkit-linear-gradient(top,#151515,#040404);background-image:-o-linear-gradient(top,#151515,#040404);background-image:linear-gradient(to bottom,#151515,#040404);background-repeat:repeat-x;border-color:#040404 #040404 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515',endColorstr='#ff040404',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:focus,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#040404;*background-color:#000}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000 \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.breadcrumb>li{display:inline-block;*display:inline;text-shadow:0 1px 0 #fff;*zoom:1}.breadcrumb>li>.divider{padding:0 5px;color:#ccc}.breadcrumb>.active{color:#999}.pagination{margin:20px 0}.pagination ul{display:inline-block;*display:inline;margin-bottom:0;margin-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*zoom:1;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination ul>li{display:inline}.pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#fff;border:1px solid #ddd;border-left-width:0}.pagination ul>li>a:hover,.pagination ul>li>a:focus,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#f5f5f5}.pagination ul>.active>a,.pagination ul>.active>span{color:#999;cursor:default}.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover,.pagination ul>.disabled>a:focus{color:#999;cursor:default;background-color:transparent}.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:17.5px}.pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-moz-border-radius-topleft:3px}.pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px}.pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.9px}.pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:10.5px}.pager{margin:20px 0;text-align:center;list-style:none;*zoom:1}.pager:before,.pager:after{display:table;line-height:0;content:""}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#f5f5f5}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999;cursor:default;background-color:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:10%;left:50%;z-index:1050;width:560px;margin-left:-280px;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;outline:0;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{top:-25%;-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out}.modal.fade.in{top:10%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{position:relative;max-height:400px;padding:15px;overflow-y:auto}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;*zoom:1;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.modal-footer:before,.modal-footer:after{display:table;line-height:0;content:""}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.tooltip{position:absolute;z-index:1030;display:block;font-size:11px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-title:empty{display:none}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;line-height:0;content:""}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails>li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.055);box-shadow:0 1px 3px rgba(0,0,0,0.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover,a.thumbnail:focus{border-color:#08c;-webkit-box-shadow:0 1px 4px rgba(0,105,214,0.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,0.25);box-shadow:0 1px 4px rgba(0,105,214,0.25)}.thumbnail>img{display:block;max-width:100%;margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#555}.media,.media-body{overflow:hidden;*overflow:visible;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{margin-left:0;list-style:none}.label,.badge{display:inline-block;padding:2px 4px;font-size:11.844px;font-weight:bold;line-height:14px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);white-space:nowrap;vertical-align:baseline;background-color:#999}.label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding-right:9px;padding-left:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}.label:empty,.badge:empty{display:none}a.label:hover,a.label:focus,a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#b94a48}.label-important[href],.badge-important[href]{background-color:#953b39}.label-warning,.badge-warning{background-color:#f89406}.label-warning[href],.badge-warning[href]{background-color:#c67605}.label-success,.badge-success{background-color:#468847}.label-success[href],.badge-success[href]{background-color:#356635}.label-info,.badge-info{background-color:#3a87ad}.label-info[href],.badge-info[href]{background-color:#2d6987}.label-inverse,.badge-inverse{background-color:#333}.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a}.btn .label,.btn .badge{position:relative;top:-1px}.btn-mini .label,.btn-mini .badge{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);background-repeat:repeat-x;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#fff9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress .bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf',endColorstr='#ff0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffc43c35',GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff57a957',GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff339bb9',GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.accordion{margin-bottom:20px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{right:15px;left:auto}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-indicators{position:absolute;top:15px;right:15px;z-index:5;margin:0;list-style:none}.carousel-indicators li{display:block;float:left;width:10px;height:10px;margin-left:5px;text-indent:-999px;background-color:#ccc;background-color:rgba(255,255,255,0.25);border-radius:5px}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:0;bottom:0;left:0;padding:15px;background:#333;background:rgba(0,0,0,0.75)}.carousel-caption h4,.carousel-caption p{line-height:20px;color:#fff}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;color:inherit}.hero-unit li{line-height:30px}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed} diff --git a/pages/bootstrap/img/glyphicons-halflings-white.png b/pages/bootstrap/img/glyphicons-halflings-white.png new file mode 100644 index 00000000..3bf6484a Binary files /dev/null and b/pages/bootstrap/img/glyphicons-halflings-white.png differ diff --git a/pages/bootstrap/img/glyphicons-halflings.png b/pages/bootstrap/img/glyphicons-halflings.png new file mode 100644 index 00000000..a9969993 Binary files /dev/null and b/pages/bootstrap/img/glyphicons-halflings.png differ diff --git a/pages/bootstrap/js/bootstrap-select.min.js b/pages/bootstrap/js/bootstrap-select.min.js new file mode 100644 index 00000000..074e3837 --- /dev/null +++ b/pages/bootstrap/js/bootstrap-select.min.js @@ -0,0 +1,8 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select/) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){"use strict";function b(a,b){return a.toUpperCase().indexOf(b.toUpperCase())>-1}function c(b){var c=[{re:/[\xC0-\xC6]/g,ch:"A"},{re:/[\xE0-\xE6]/g,ch:"a"},{re:/[\xC8-\xCB]/g,ch:"E"},{re:/[\xE8-\xEB]/g,ch:"e"},{re:/[\xCC-\xCF]/g,ch:"I"},{re:/[\xEC-\xEF]/g,ch:"i"},{re:/[\xD2-\xD6]/g,ch:"O"},{re:/[\xF2-\xF6]/g,ch:"o"},{re:/[\xD9-\xDC]/g,ch:"U"},{re:/[\xF9-\xFC]/g,ch:"u"},{re:/[\xC7-\xE7]/g,ch:"c"},{re:/[\xD1]/g,ch:"N"},{re:/[\xF1]/g,ch:"n"}];return a.each(c,function(){b=b.replace(this.re,this.ch)}),b}function d(a){var b={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},c="(?:"+Object.keys(b).join("|")+")",d=new RegExp(c),e=new RegExp(c,"g"),f=null==a?"":""+a;return d.test(f)?f.replace(e,function(a){return b[a]}):f}function e(b,c){var d=arguments,e=b,b=d[0],c=d[1];[].shift.apply(d),"undefined"==typeof b&&(b=e);var g,h=this.each(function(){var e=a(this);if(e.is("select")){var h=e.data("selectpicker"),i="object"==typeof b&&b;if(h){if(i)for(var j in i)i.hasOwnProperty(j)&&(h.options[j]=i[j])}else{var k=a.extend({},f.DEFAULTS,a.fn.selectpicker.defaults||{},e.data(),i);e.data("selectpicker",h=new f(this,k,c))}"string"==typeof b&&(g=h[b]instanceof Function?h[b].apply(h,d):h.options[b])}});return"undefined"!=typeof g?g:h}a.expr[":"].icontains=function(c,d,e){return b(a(c).text(),e[3])},a.expr[":"].aicontains=function(c,d,e){return b(a(c).data("normalizedText")||a(c).text(),e[3])};var f=function(b,c,d){d&&(d.stopPropagation(),d.preventDefault()),this.$element=a(b),this.$newElement=null,this.$button=null,this.$menu=null,this.$lis=null,this.options=c,null===this.options.title&&(this.options.title=this.$element.attr("title")),this.val=f.prototype.val,this.render=f.prototype.render,this.refresh=f.prototype.refresh,this.setStyle=f.prototype.setStyle,this.selectAll=f.prototype.selectAll,this.deselectAll=f.prototype.deselectAll,this.destroy=f.prototype.remove,this.remove=f.prototype.remove,this.show=f.prototype.show,this.hide=f.prototype.hide,this.init()};f.VERSION="1.6.3",f.DEFAULTS={noneSelectedText:"Nothing selected",noneResultsText:"No results match",countSelectedText:function(a){return 1==a?"{0} item selected":"{0} items selected"},maxOptionsText:function(a,b){var c=[];return c[0]=1==a?"Limit reached ({n} item max)":"Limit reached ({n} items max)",c[1]=1==b?"Group limit reached ({n} item max)":"Group limit reached ({n} items max)",c},selectAllText:"Select All",deselectAllText:"Deselect All",multipleSeparator:", ",style:"btn-default",size:"auto",title:null,selectedTextFormat:"values",width:!1,container:!1,hideDisabled:!1,showSubtext:!1,showIcon:!0,showContent:!0,dropupAuto:!0,header:!1,liveSearch:!1,actionsBox:!1,iconBase:"glyphicon",tickIcon:"glyphicon-ok",maxOptions:!1,mobile:!1,selectOnTab:!1,dropdownAlignRight:!1,searchAccentInsensitive:!1},f.prototype={constructor:f,init:function(){var b=this,c=this.$element.attr("id");this.$element.hide(),this.multiple=this.$element.prop("multiple"),this.autofocus=this.$element.prop("autofocus"),this.$newElement=this.createView(),this.$element.after(this.$newElement),this.$menu=this.$newElement.find("> .dropdown-menu"),this.$button=this.$newElement.find("> button"),this.$searchbox=this.$newElement.find("input"),this.options.dropdownAlignRight&&this.$menu.addClass("dropdown-menu-right"),"undefined"!=typeof c&&(this.$button.attr("data-id",c),a('label[for="'+c+'"]').click(function(a){a.preventDefault(),b.$button.focus()})),this.checkDisabled(),this.clickListener(),this.options.liveSearch&&this.liveSearchListener(),this.render(),this.liHeight(),this.setStyle(),this.setWidth(),this.options.container&&this.selectPosition(),this.$menu.data("this",this),this.$newElement.data("this",this),this.options.mobile&&this.mobile()},createDropdown:function(){var b=this.multiple?" show-tick":"",c=this.$element.parent().hasClass("input-group")?" input-group-btn":"",d=this.autofocus?" autofocus":"",e=this.$element.parents().hasClass("form-group-lg")?" btn-lg":this.$element.parents().hasClass("form-group-sm")?" btn-sm":"",f=this.options.header?'
      '+this.options.header+"
      ":"",g=this.options.liveSearch?'':"",h=this.options.actionsBox?'
      ":"",i='
      ';return a(i)},createView:function(){var a=this.createDropdown(),b=this.createLi();return a.find("ul").append(b),a},reloadLi:function(){this.destroyLi();var a=this.createLi();this.$menu.find("ul").append(a)},destroyLi:function(){this.$menu.find("li").remove()},createLi:function(){var b=this,e=[],f=0,g=function(a,b,c){return""+a+""},h=function(a,e,f,g){var h=c(d(a));return''+a+''};return this.$element.find("option").each(function(){var c=a(this),d=c.attr("class")||"",i=c.attr("style"),j=c.data("content")?c.data("content"):c.html(),k="undefined"!=typeof c.data("subtext")?''+c.data("subtext")+"":"",l="undefined"!=typeof c.data("icon")?' ':"",m=c.is(":disabled")||c.parent().is(":disabled"),n=c[0].index;if(""!==l&&m&&(l=""+l+""),c.data("content")||(j=l+''+j+k+""),!b.options.hideDisabled||!m)if(c.parent().is("optgroup")&&c.data("divider")!==!0){if(0===c.index()){f+=1;var o=c.parent().attr("label"),p="undefined"!=typeof c.parent().data("subtext")?''+c.parent().data("subtext")+"":"",q=c.parent().data("icon")?' ':"";o=q+''+o+p+"",0!==n&&e.length>0&&e.push(g("",null,"divider")),e.push(g(o,null,"dropdown-header"))}e.push(g(h(j,"opt "+d,i,f),n))}else e.push(c.data("divider")===!0?g("",n,"divider"):c.data("hidden")===!0?g(h(j,d,i),n,"hide is-hidden"):g(h(j,d,i),n))}),this.multiple||0!==this.$element.find("option:selected").length||this.options.title||this.$element.find("option").eq(0).prop("selected",!0).attr("selected","selected"),a(e.join(""))},findLis:function(){return null==this.$lis&&(this.$lis=this.$menu.find("li")),this.$lis},render:function(b){var c=this;b!==!1&&this.$element.find("option").each(function(b){c.setDisabled(b,a(this).is(":disabled")||a(this).parent().is(":disabled")),c.setSelected(b,a(this).is(":selected"))}),this.tabIndex();var e=this.options.hideDisabled?":not([disabled])":"",f=this.$element.find("option:selected"+e).map(function(){var b,d=a(this),e=d.data("icon")&&c.options.showIcon?' ':"";return b=c.options.showSubtext&&d.attr("data-subtext")&&!c.multiple?' '+d.data("subtext")+"":"",d.data("content")&&c.options.showContent?d.data("content"):"undefined"!=typeof d.attr("title")?d.attr("title"):e+d.html()+b}).toArray(),g=this.multiple?f.join(this.options.multipleSeparator):f[0];if(this.multiple&&this.options.selectedTextFormat.indexOf("count")>-1){var h=this.options.selectedTextFormat.split(">");if(h.length>1&&f.length>h[1]||1==h.length&&f.length>=2){e=this.options.hideDisabled?", [disabled]":"";var i=this.$element.find("option").not('[data-divider="true"], [data-hidden="true"]'+e).length,j="function"==typeof this.options.countSelectedText?this.options.countSelectedText(f.length,i):this.options.countSelectedText;g=j.replace("{0}",f.length.toString()).replace("{1}",i.toString())}}this.options.title=this.$element.attr("title"),"static"==this.options.selectedTextFormat&&(g=this.options.title),g||(g="undefined"!=typeof this.options.title?this.options.title:this.options.noneSelectedText),this.$button.attr("title",d(g)),this.$newElement.find(".filter-option").html(g)},setStyle:function(a,b){this.$element.attr("class")&&this.$newElement.addClass(this.$element.attr("class").replace(/selectpicker|mobile-device|validate\[.*\]/gi,""));var c=a?a:this.options.style;"add"==b?this.$button.addClass(c):"remove"==b?this.$button.removeClass(c):(this.$button.removeClass(this.options.style),this.$button.addClass(c))},liHeight:function(){if(this.options.size!==!1){var a=this.$menu.parent().clone().find("> .dropdown-toggle").prop("autofocus",!1).end().appendTo("body"),b=a.addClass("open").find("> .dropdown-menu"),c=b.find("li").not(".divider").not(".dropdown-header").filter(":visible").children("a").outerHeight(),d=this.options.header?b.find(".popover-title").outerHeight():0,e=this.options.liveSearch?b.find(".bs-searchbox").outerHeight():0,f=this.options.actionsBox?b.find(".bs-actionsbox").outerHeight():0;a.remove(),this.$newElement.data("liHeight",c).data("headerHeight",d).data("searchHeight",e).data("actionsHeight",f)}},setSize:function(){this.findLis();var b,c,d,e=this,f=this.$menu,g=f.find(".inner"),h=this.$newElement.outerHeight(),i=this.$newElement.data("liHeight"),j=this.$newElement.data("headerHeight"),k=this.$newElement.data("searchHeight"),l=this.$newElement.data("actionsHeight"),m=this.$lis.filter(".divider").outerHeight(!0),n=parseInt(f.css("padding-top"))+parseInt(f.css("padding-bottom"))+parseInt(f.css("border-top-width"))+parseInt(f.css("border-bottom-width")),o=this.options.hideDisabled?", .disabled":"",p=a(window),q=n+parseInt(f.css("margin-top"))+parseInt(f.css("margin-bottom"))+2,r=function(){c=e.$newElement.offset().top-p.scrollTop(),d=p.height()-c-h};if(r(),this.options.header&&f.css("padding-top",0),"auto"==this.options.size){var s=function(){var a,h=e.$lis.not(".hide");r(),b=d-q,e.options.dropupAuto&&e.$newElement.toggleClass("dropup",c>d&&b-q3?3*i+q-2:0,f.css({"max-height":b+"px",overflow:"hidden","min-height":a+j+k+l+"px"}),g.css({"max-height":b-j-k-l-n+"px","overflow-y":"auto","min-height":Math.max(a-n,0)+"px"})};s(),this.$searchbox.off("input.getSize propertychange.getSize").on("input.getSize propertychange.getSize",s),a(window).off("resize.getSize").on("resize.getSize",s),a(window).off("scroll.getSize").on("scroll.getSize",s)}else if(this.options.size&&"auto"!=this.options.size&&f.find("li"+o).length>this.options.size){var t=this.$lis.not(".divider"+o).find(" > *").slice(0,this.options.size).last().parent().index(),u=this.$lis.slice(0,t+1).filter(".divider").length;b=i*this.options.size+u*m+n,e.options.dropupAuto&&this.$newElement.toggleClass("dropup",c>d&&b .dropdown-menu").css("width"),c=a.css("width","auto").find("> button").css("width");a.remove(),this.$newElement.css("width",Math.max(parseInt(b),parseInt(c))+"px")}else"fit"==this.options.width?(this.$menu.css("min-width",""),this.$newElement.css("width","").addClass("fit-width")):this.options.width?(this.$menu.css("min-width",""),this.$newElement.css("width",this.options.width)):(this.$menu.css("min-width",""),this.$newElement.css("width",""));this.$newElement.hasClass("fit-width")&&"fit"!==this.options.width&&this.$newElement.removeClass("fit-width")},selectPosition:function(){var b,c,d=this,e="
      ",f=a(e),g=function(a){f.addClass(a.attr("class").replace(/form-control/gi,"")).toggleClass("dropup",a.hasClass("dropup")),b=a.offset(),c=a.hasClass("dropup")?0:a[0].offsetHeight,f.css({top:b.top+c,left:b.left,width:a[0].offsetWidth,position:"absolute"})};this.$newElement.on("click",function(){d.isDisabled()||(g(a(this)),f.appendTo(d.options.container),f.toggleClass("open",!a(this).hasClass("open")),f.append(d.$menu))}),a(window).resize(function(){g(d.$newElement)}),a(window).on("scroll",function(){g(d.$newElement)}),a("html").on("click",function(b){a(b.target).closest(d.$newElement).length<1&&f.removeClass("open")})},setSelected:function(a,b){this.findLis(),this.$lis.filter('[data-original-index="'+a+'"]').toggleClass("selected",b)},setDisabled:function(a,b){this.findLis(),b?this.$lis.filter('[data-original-index="'+a+'"]').addClass("disabled").find("a").attr("href","#").attr("tabindex",-1):this.$lis.filter('[data-original-index="'+a+'"]').removeClass("disabled").find("a").removeAttr("href").attr("tabindex",0)},isDisabled:function(){return this.$element.is(":disabled")},checkDisabled:function(){var a=this;this.isDisabled()?this.$button.addClass("disabled").attr("tabindex",-1):(this.$button.hasClass("disabled")&&this.$button.removeClass("disabled"),-1==this.$button.attr("tabindex")&&(this.$element.data("tabindex")||this.$button.removeAttr("tabindex"))),this.$button.click(function(){return!a.isDisabled()})},tabIndex:function(){this.$element.is("[tabindex]")&&(this.$element.data("tabindex",this.$element.attr("tabindex")),this.$button.attr("tabindex",this.$element.data("tabindex")))},clickListener:function(){var b=this;this.$newElement.on("touchstart.dropdown",".dropdown-menu",function(a){a.stopPropagation()}),this.$newElement.on("click",function(){b.setSize(),b.options.liveSearch||b.multiple||setTimeout(function(){b.$menu.find(".selected a").focus()},10)}),this.$menu.on("click","li a",function(c){var d=a(this),e=d.parent().data("originalIndex"),f=b.$element.val(),g=b.$element.prop("selectedIndex");if(b.multiple&&c.stopPropagation(),c.preventDefault(),!b.isDisabled()&&!d.parent().hasClass("disabled")){var h=b.$element.find("option"),i=h.eq(e),j=i.prop("selected"),k=i.parent("optgroup"),l=b.options.maxOptions,m=k.data("maxOptions")||!1;if(b.multiple){if(i.prop("selected",!j),b.setSelected(e,!j),d.blur(),l!==!1||m!==!1){var n=l
      ');q[2]&&(r=r.replace("{var}",q[2][l>1?0:1]),s=s.replace("{var}",q[2][m>1?0:1])),i.prop("selected",!1),b.$menu.append(t),l&&n&&(t.append(a("
      "+r+"
      ")),b.$element.trigger("maxReached.bs.select")),m&&o&&(t.append(a("
      "+s+"
      ")),b.$element.trigger("maxReachedGrp.bs.select")),setTimeout(function(){b.setSelected(e,!1)},10),t.delay(750).fadeOut(300,function(){a(this).remove()})}}}else h.prop("selected",!1),i.prop("selected",!0),b.$menu.find(".selected").removeClass("selected"),b.setSelected(e,!0);b.multiple?b.options.liveSearch&&b.$searchbox.focus():b.$button.focus(),(f!=b.$element.val()&&b.multiple||g!=b.$element.prop("selectedIndex")&&!b.multiple)&&b.$element.change()}}),this.$menu.on("click","li.disabled a, .popover-title, .popover-title :not(.close)",function(a){a.target==this&&(a.preventDefault(),a.stopPropagation(),b.options.liveSearch?b.$searchbox.focus():b.$button.focus())}),this.$menu.on("click","li.divider, li.dropdown-header",function(a){a.preventDefault(),a.stopPropagation(),b.options.liveSearch?b.$searchbox.focus():b.$button.focus()}),this.$menu.on("click",".popover-title .close",function(){b.$button.focus()}),this.$searchbox.on("click",function(a){a.stopPropagation()}),this.$menu.on("click",".actions-btn",function(c){b.options.liveSearch?b.$searchbox.focus():b.$button.focus(),c.preventDefault(),c.stopPropagation(),a(this).is(".bs-select-all")?b.selectAll():b.deselectAll(),b.$element.change()}),this.$element.change(function(){b.render(!1)})},liveSearchListener:function(){var b=this,e=a('
    1. ');this.$newElement.on("click.dropdown.data-api touchstart.dropdown.data-api",function(){b.$menu.find(".active").removeClass("active"),b.$searchbox.val()&&(b.$searchbox.val(""),b.$lis.not(".is-hidden").removeClass("hide"),e.parent().length&&e.remove()),b.multiple||b.$menu.find(".selected").addClass("active"),setTimeout(function(){b.$searchbox.focus()},10)}),this.$searchbox.on("click.dropdown.data-api focus.dropdown.data-api touchend.dropdown.data-api",function(a){a.stopPropagation()}),this.$searchbox.on("input propertychange",function(){b.$searchbox.val()?(b.options.searchAccentInsensitive?b.$lis.not(".is-hidden").removeClass("hide").find("a").not(":aicontains("+c(b.$searchbox.val())+")").parent().addClass("hide"):b.$lis.not(".is-hidden").removeClass("hide").find("a").not(":icontains("+b.$searchbox.val()+")").parent().addClass("hide"),b.$menu.find("li").filter(":visible:not(.no-results)").length?e.parent().length&&e.remove():(e.parent().length&&e.remove(),e.html(b.options.noneResultsText+' "'+d(b.$searchbox.val())+'"').show(),b.$menu.find("li").last().after(e))):(b.$lis.not(".is-hidden").removeClass("hide"),e.parent().length&&e.remove()),b.$menu.find("li.active").removeClass("active"),b.$menu.find("li").filter(":visible:not(.divider)").eq(0).addClass("active").find("a").focus(),a(this).focus()})},val:function(a){return"undefined"!=typeof a?(this.$element.val(a),this.render(),this.$element):this.$element.val()},selectAll:function(){this.findLis(),this.$lis.not(".divider").not(".disabled").not(".selected").filter(":visible").find("a").click()},deselectAll:function(){this.findLis(),this.$lis.not(".divider").not(".disabled").filter(".selected").filter(":visible").find("a").click()},keydown:function(b){var d,e,f,g,h,i,j,k,l,m=a(this),n=m.is("input")?m.parent().parent():m.parent(),o=n.data("this"),p={32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9"};if(o.options.liveSearch&&(n=m.parent().parent()),o.options.container&&(n=o.$menu),d=a("[role=menu] li a",n),l=o.$menu.parent().hasClass("open"),!l&&/([0-9]|[A-z])/.test(String.fromCharCode(b.keyCode))&&(o.options.container?o.$newElement.trigger("click"):(o.setSize(),o.$menu.parent().addClass("open"),l=!0),o.$searchbox.focus()),o.options.liveSearch&&(/(^9$|27)/.test(b.keyCode.toString(10))&&l&&0===o.$menu.find(".active").length&&(b.preventDefault(),o.$menu.parent().removeClass("open"),o.$button.focus()),d=a("[role=menu] li:not(.divider):not(.dropdown-header):visible",n),m.val()||/(38|40)/.test(b.keyCode.toString(10))||0===d.filter(".active").length&&(d=o.$newElement.find("li").filter(o.options.searchAccentInsensitive?":aicontains("+c(p[b.keyCode])+")":":icontains("+p[b.keyCode]+")"))),d.length){if(/(38|40)/.test(b.keyCode.toString(10)))e=d.index(d.filter(":focus")),g=d.parent(":not(.disabled):visible").first().index(),h=d.parent(":not(.disabled):visible").last().index(),f=d.eq(e).parent().nextAll(":not(.disabled):visible").eq(0).index(),i=d.eq(e).parent().prevAll(":not(.disabled):visible").eq(0).index(),j=d.eq(f).parent().prevAll(":not(.disabled):visible").eq(0).index(),o.options.liveSearch&&(d.each(function(b){a(this).is(":not(.disabled)")&&a(this).data("index",b)}),e=d.index(d.filter(".active")),g=d.filter(":not(.disabled):visible").first().data("index"),h=d.filter(":not(.disabled):visible").last().data("index"),f=d.eq(e).nextAll(":not(.disabled):visible").eq(0).data("index"),i=d.eq(e).prevAll(":not(.disabled):visible").eq(0).data("index"),j=d.eq(f).prevAll(":not(.disabled):visible").eq(0).data("index")),k=m.data("prevIndex"),38==b.keyCode&&(o.options.liveSearch&&(e-=1),e!=j&&e>i&&(e=i),g>e&&(e=g),e==k&&(e=h)),40==b.keyCode&&(o.options.liveSearch&&(e+=1),-1==e&&(e=0),e!=j&&f>e&&(e=f),e>h&&(e=h),e==k&&(e=g)),m.data("prevIndex",e),o.options.liveSearch?(b.preventDefault(),m.is(".dropdown-toggle")||(d.removeClass("active"),d.eq(e).addClass("active").find("a").focus(),m.focus())):d.eq(e).focus();else if(!m.is("input")){var q,r,s=[];d.each(function(){a(this).parent().is(":not(.disabled)")&&a.trim(a(this).text().toLowerCase()).substring(0,1)==p[b.keyCode]&&s.push(a(this).parent().index())}),q=a(document).data("keycount"),q++,a(document).data("keycount",q),r=a.trim(a(":focus").text().toLowerCase()).substring(0,1),r!=p[b.keyCode]?(q=1,a(document).data("keycount",q)):q>=s.length&&(a(document).data("keycount",0),q>s.length&&(q=1)),d.eq(s[q-1]).focus()}(/(13|32)/.test(b.keyCode.toString(10))||/(^9$)/.test(b.keyCode.toString(10))&&o.options.selectOnTab)&&l&&(/(32)/.test(b.keyCode.toString(10))||b.preventDefault(),o.options.liveSearch?/(32)/.test(b.keyCode.toString(10))||(o.$menu.find(".active a").click(),m.focus()):a(":focus").click(),a(document).data("keycount",0)),(/(^9$|27)/.test(b.keyCode.toString(10))&&l&&(o.multiple||o.options.liveSearch)||/(27)/.test(b.keyCode.toString(10))&&!l)&&(o.$menu.parent().removeClass("open"),o.$button.focus())}},mobile:function(){this.$element.addClass("mobile-device").appendTo(this.$newElement),this.options.container&&this.$menu.hide()},refresh:function(){this.$lis=null,this.reloadLi(),this.render(),this.setWidth(),this.setStyle(),this.checkDisabled(),this.liHeight()},update:function(){this.reloadLi(),this.setWidth(),this.setStyle(),this.checkDisabled(),this.liHeight()},hide:function(){this.$newElement.hide()},show:function(){this.$newElement.show()},remove:function(){this.$newElement.remove(),this.$element.remove()}};var g=a.fn.selectpicker;a.fn.selectpicker=e,a.fn.selectpicker.Constructor=f,a.fn.selectpicker.noConflict=function(){return a.fn.selectpicker=g,this},a(document).data("keycount",0).on("keydown",".bootstrap-select [data-toggle=dropdown], .bootstrap-select [role=menu], .bs-searchbox input",f.prototype.keydown).on("focusin.modal",".bootstrap-select [data-toggle=dropdown], .bootstrap-select [role=menu], .bs-searchbox input",function(a){a.stopPropagation()}),a(window).on("load.bs.select.data-api",function(){a(".selectpicker").each(function(){var b=a(this);e.call(b,b.data())})})}(jQuery); +//# sourceMappingURL=bootstrap-select.js.map \ No newline at end of file diff --git a/pages/bootstrap/js/bootstrap.js b/pages/bootstrap/js/bootstrap.js new file mode 100644 index 00000000..44109f62 --- /dev/null +++ b/pages/bootstrap/js/bootstrap.js @@ -0,0 +1,2280 @@ +/* =================================================== + * bootstrap-transition.js v2.3.2 + * http://getbootstrap.com/2.3.2/javascript.html#transitions + * =================================================== + * Copyright 2013 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 ;_; + + + /* CSS TRANSITION SUPPORT (http://www.modernizr.com/) + * ======================================================= */ + + $(function () { + + $.support.transition = (function () { + + var transitionEnd = (function () { + + var el = document.createElement('bootstrap') + , transEndEventNames = { + 'WebkitTransition' : 'webkitTransitionEnd' + , 'MozTransition' : 'transitionend' + , 'OTransition' : 'oTransitionEnd otransitionend' + , 'transition' : 'transitionend' + } + , name + + for (name in transEndEventNames){ + if (el.style[name] !== undefined) { + return transEndEventNames[name] + } + } + + }()) + + return transitionEnd && { + end: transitionEnd + } + + })() + + }) + +}(window.jQuery);/* ========================================================== + * bootstrap-alert.js v2.3.2 + * http://getbootstrap.com/2.3.2/javascript.html#alerts + * ========================================================== + * Copyright 2013 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 ;_; + + + /* ALERT CLASS DEFINITION + * ====================== */ + + var dismiss = '[data-dismiss="alert"]' + , Alert = function (el) { + $(el).on('click', dismiss, this.close) + } + + Alert.prototype.close = function (e) { + var $this = $(this) + , selector = $this.attr('data-target') + , $parent + + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + } + + $parent = $(selector) + + e && e.preventDefault() + + $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent()) + + $parent.trigger(e = $.Event('close')) + + if (e.isDefaultPrevented()) return + + $parent.removeClass('in') + + function removeElement() { + $parent + .trigger('closed') + .remove() + } + + $.support.transition && $parent.hasClass('fade') ? + $parent.on($.support.transition.end, removeElement) : + removeElement() + } + + + /* ALERT PLUGIN DEFINITION + * ======================= */ + + var old = $.fn.alert + + $.fn.alert = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('alert') + if (!data) $this.data('alert', (data = new Alert(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + $.fn.alert.Constructor = Alert + + + /* ALERT NO CONFLICT + * ================= */ + + $.fn.alert.noConflict = function () { + $.fn.alert = old + return this + } + + + /* ALERT DATA-API + * ============== */ + + $(document).on('click.alert.data-api', dismiss, Alert.prototype.close) + +}(window.jQuery);/* ============================================================ + * bootstrap-button.js v2.3.2 + * http://getbootstrap.com/2.3.2/javascript.html#buttons + * ============================================================ + * Copyright 2013 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 ;_; + + + /* BUTTON PUBLIC CLASS DEFINITION + * ============================== */ + + var Button = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, $.fn.button.defaults, options) + } + + Button.prototype.setState = function (state) { + var d = 'disabled' + , $el = this.$element + , data = $el.data() + , val = $el.is('input') ? 'val' : 'html' + + state = state + 'Text' + data.resetText || $el.data('resetText', $el[val]()) + + $el[val](data[state] || this.options[state]) + + // push to event loop to allow forms to submit + setTimeout(function () { + state == 'loadingText' ? + $el.addClass(d).attr(d, d) : + $el.removeClass(d).removeAttr(d) + }, 0) + } + + Button.prototype.toggle = function () { + var $parent = this.$element.closest('[data-toggle="buttons-radio"]') + + $parent && $parent + .find('.active') + .removeClass('active') + + this.$element.toggleClass('active') + } + + + /* BUTTON PLUGIN DEFINITION + * ======================== */ + + var old = $.fn.button + + $.fn.button = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('button') + , options = typeof option == 'object' && option + if (!data) $this.data('button', (data = new Button(this, options))) + if (option == 'toggle') data.toggle() + else if (option) data.setState(option) + }) + } + + $.fn.button.defaults = { + loadingText: 'loading...' + } + + $.fn.button.Constructor = Button + + + /* BUTTON NO CONFLICT + * ================== */ + + $.fn.button.noConflict = function () { + $.fn.button = old + return this + } + + + /* BUTTON DATA-API + * =============== */ + + $(document).on('click.button.data-api', '[data-toggle^=button]', function (e) { + var $btn = $(e.target) + if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') + $btn.button('toggle') + }) + +}(window.jQuery);/* ========================================================== + * bootstrap-carousel.js v2.3.2 + * http://getbootstrap.com/2.3.2/javascript.html#carousel + * ========================================================== + * Copyright 2013 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 ;_; + + + /* CAROUSEL CLASS DEFINITION + * ========================= */ + + var Carousel = function (element, options) { + this.$element = $(element) + this.$indicators = this.$element.find('.carousel-indicators') + this.options = options + this.options.pause == 'hover' && this.$element + .on('mouseenter', $.proxy(this.pause, this)) + .on('mouseleave', $.proxy(this.cycle, this)) + } + + Carousel.prototype = { + + cycle: function (e) { + if (!e) this.paused = false + if (this.interval) clearInterval(this.interval); + this.options.interval + && !this.paused + && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) + return this + } + + , getActiveIndex: function () { + this.$active = this.$element.find('.item.active') + this.$items = this.$active.parent().children() + return this.$items.index(this.$active) + } + + , to: function (pos) { + var activeIndex = this.getActiveIndex() + , that = this + + if (pos > (this.$items.length - 1) || pos < 0) return + + if (this.sliding) { + return this.$element.one('slid', function () { + that.to(pos) + }) + } + + if (activeIndex == pos) { + return this.pause().cycle() + } + + return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos])) + } + + , pause: function (e) { + if (!e) this.paused = true + if (this.$element.find('.next, .prev').length && $.support.transition.end) { + this.$element.trigger($.support.transition.end) + this.cycle(true) + } + clearInterval(this.interval) + this.interval = null + return this + } + + , next: function () { + if (this.sliding) return + return this.slide('next') + } + + , prev: function () { + if (this.sliding) return + return this.slide('prev') + } + + , slide: function (type, next) { + var $active = this.$element.find('.item.active') + , $next = next || $active[type]() + , isCycling = this.interval + , direction = type == 'next' ? 'left' : 'right' + , fallback = type == 'next' ? 'first' : 'last' + , that = this + , e + + this.sliding = true + + isCycling && this.pause() + + $next = $next.length ? $next : this.$element.find('.item')[fallback]() + + e = $.Event('slide', { + relatedTarget: $next[0] + , direction: direction + }) + + if ($next.hasClass('active')) return + + if (this.$indicators.length) { + this.$indicators.find('.active').removeClass('active') + this.$element.one('slid', function () { + var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()]) + $nextIndicator && $nextIndicator.addClass('active') + }) + } + + if ($.support.transition && this.$element.hasClass('slide')) { + this.$element.trigger(e) + if (e.isDefaultPrevented()) return + $next.addClass(type) + $next[0].offsetWidth // force reflow + $active.addClass(direction) + $next.addClass(direction) + this.$element.one($.support.transition.end, function () { + $next.removeClass([type, direction].join(' ')).addClass('active') + $active.removeClass(['active', direction].join(' ')) + that.sliding = false + setTimeout(function () { that.$element.trigger('slid') }, 0) + }) + } else { + this.$element.trigger(e) + if (e.isDefaultPrevented()) return + $active.removeClass('active') + $next.addClass('active') + this.sliding = false + this.$element.trigger('slid') + } + + isCycling && this.cycle() + + return this + } + + } + + + /* CAROUSEL PLUGIN DEFINITION + * ========================== */ + + var old = $.fn.carousel + + $.fn.carousel = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('carousel') + , options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option) + , action = typeof option == 'string' ? option : options.slide + if (!data) $this.data('carousel', (data = new Carousel(this, options))) + if (typeof option == 'number') data.to(option) + else if (action) data[action]() + else if (options.interval) data.pause().cycle() + }) + } + + $.fn.carousel.defaults = { + interval: 5000 + , pause: 'hover' + } + + $.fn.carousel.Constructor = Carousel + + + /* CAROUSEL NO CONFLICT + * ==================== */ + + $.fn.carousel.noConflict = function () { + $.fn.carousel = old + return this + } + + /* CAROUSEL DATA-API + * ================= */ + + $(document).on('click.carousel.data-api', '[data-slide], [data-slide-to]', function (e) { + var $this = $(this), href + , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 + , options = $.extend({}, $target.data(), $this.data()) + , slideIndex + + $target.carousel(options) + + if (slideIndex = $this.attr('data-slide-to')) { + $target.data('carousel').pause().to(slideIndex).cycle() + } + + e.preventDefault() + }) + +}(window.jQuery);/* ============================================================= + * bootstrap-collapse.js v2.3.2 + * http://getbootstrap.com/2.3.2/javascript.html#collapse + * ============================================================= + * Copyright 2013 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 ;_; + + + /* COLLAPSE PUBLIC CLASS DEFINITION + * ================================ */ + + var Collapse = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, $.fn.collapse.defaults, options) + + if (this.options.parent) { + this.$parent = $(this.options.parent) + } + + this.options.toggle && this.toggle() + } + + Collapse.prototype = { + + constructor: Collapse + + , dimension: function () { + var hasWidth = this.$element.hasClass('width') + return hasWidth ? 'width' : 'height' + } + + , show: function () { + var dimension + , scroll + , actives + , hasData + + if (this.transitioning || this.$element.hasClass('in')) return + + dimension = this.dimension() + scroll = $.camelCase(['scroll', dimension].join('-')) + actives = this.$parent && this.$parent.find('> .accordion-group > .in') + + if (actives && actives.length) { + hasData = actives.data('collapse') + if (hasData && hasData.transitioning) return + actives.collapse('hide') + hasData || actives.data('collapse', null) + } + + this.$element[dimension](0) + this.transition('addClass', $.Event('show'), 'shown') + $.support.transition && this.$element[dimension](this.$element[0][scroll]) + } + + , hide: function () { + var dimension + if (this.transitioning || !this.$element.hasClass('in')) return + dimension = this.dimension() + this.reset(this.$element[dimension]()) + this.transition('removeClass', $.Event('hide'), 'hidden') + this.$element[dimension](0) + } + + , reset: function (size) { + var dimension = this.dimension() + + this.$element + .removeClass('collapse') + [dimension](size || 'auto') + [0].offsetWidth + + this.$element[size !== null ? 'addClass' : 'removeClass']('collapse') + + return this + } + + , transition: function (method, startEvent, completeEvent) { + var that = this + , complete = function () { + if (startEvent.type == 'show') that.reset() + that.transitioning = 0 + that.$element.trigger(completeEvent) + } + + this.$element.trigger(startEvent) + + if (startEvent.isDefaultPrevented()) return + + this.transitioning = 1 + + this.$element[method]('in') + + $.support.transition && this.$element.hasClass('collapse') ? + this.$element.one($.support.transition.end, complete) : + complete() + } + + , toggle: function () { + this[this.$element.hasClass('in') ? 'hide' : 'show']() + } + + } + + + /* COLLAPSE PLUGIN DEFINITION + * ========================== */ + + var old = $.fn.collapse + + $.fn.collapse = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('collapse') + , options = $.extend({}, $.fn.collapse.defaults, $this.data(), typeof option == 'object' && option) + if (!data) $this.data('collapse', (data = new Collapse(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + $.fn.collapse.defaults = { + toggle: true + } + + $.fn.collapse.Constructor = Collapse + + + /* COLLAPSE NO CONFLICT + * ==================== */ + + $.fn.collapse.noConflict = function () { + $.fn.collapse = old + return this + } + + + /* COLLAPSE DATA-API + * ================= */ + + $(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) { + var $this = $(this), href + , target = $this.attr('data-target') + || e.preventDefault() + || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7 + , option = $(target).data('collapse') ? 'toggle' : $this.data() + $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed') + $(target).collapse(option) + }) + +}(window.jQuery);/* ============================================================ + * bootstrap-dropdown.js v2.3.2 + * http://getbootstrap.com/2.3.2/javascript.html#dropdowns + * ============================================================ + * Copyright 2013 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) { + if ('ontouchstart' in document.documentElement) { + // if mobile we we use a backdrop because click events don't delegate + $('