- This wiki is out of date, use the continuation of this wiki instead
Map xput
From FenixWiki
Contents |
Definition
INT map_xput ( <INT fileID> , <INT destinationGraphID> , <INT originGraphID> , <INT x> , <INT y> , <INT angle> , <INT size> , <INT blitflags> )
Draws (blits) a graph onto another graph.
If the advanced parameters aren't needed, map_put() can be used. If a graph from one file needs to be drawn onto another graph in a different file, or a separate width and height scaling is needed, map_xputnp() can be used.
Parameters
INT fileID | - The file that holds the graphs. |
INT destinationGraphID | - The graph to draw on. |
INT originGraphID | - The graph to draw with. |
INT x | - Where on the destination graph's x-axis to put the graph. |
INT y | - Where on the destination graph's y-axis to put the graph. |
INT angle | - What angle to draw the graph at. |
INT size | - What size to draw the graph at. |
INT blitflags | - What blit flags to draw the graph with. |
Returns
INT : true
Notes
The x and y parameters denote where to draw the graph, that is, where the center of the to be drawn graph will be. Blit flags can be used to give the drawing (blitting) a special effect.
When angle is 0 and size is 100, the speed is greater, because the graph doesn't need rotating or scaling.
Errors
Unsupported color depth | - The origin graph's color depth is greater than the destination graph's. |
Example
Program watskeburt; Global destgraph; origgraph; Begin // Set the mode to 16bit and some resolution set_mode(320,200,16); // Makes the destination graphic a red square destgraph=new_map(100,100,16); map_clear(0,destgraph,rgb(255,0,0)); // Makes the origin graphic a blue square origgraph=new_map(100,100,16); map_clear(0,origgraph,rgb(0,0,255)); // Draws the blue square on the center of the red square transparently, at a random angle and a random size map_xput(0,destgraph,origgraph,50,50,rand(-180000,180000),rand(50,150),4); map_xput(0,destgraph,origgraph,50,50,rand(-180000,180000),rand(50,150),4); // Shows the final graph put(0,destgraph,160,100); Loop frame; End End
Used in example: set_mode(), new_map(), map_clear(), put()
This will result in something like: