- This wiki is out of date, use the continuation of this wiki instead
 
Map xput
From FenixWiki
| Revision as of 01:04, 1 May 2007 (edit) Sandman (Talk | contribs) ← Previous diff  | 
				Revision as of 13:49, 22 May 2007 (edit) (undo) Sandman (Talk | contribs) Next diff →  | 
			||
| Line 3: | Line 3: | ||
| ==Definition== | ==Definition== | ||
| - | '''INT''' map_xput ( <'''INT''' fileID> , <'''INT''' destinationGraphID> , <'''INT''' originGraphID> , <'''INT''' x> , <'''INT''' y> , <'''INT''' angle> , <'''INT''' size> , <'''INT''' blitflags>  | + | '''INT''' map_xput ( <'''INT''' fileID> , <'''INT''' destinationGraphID> , <'''INT''' originGraphID> , <'''INT''' x> , <'''INT''' y> , <'''INT''' angle> , <'''INT''' size> , <'''INT''' blitflags> ) | 
| Draws ([[blit]]s) a [[graph]] onto another graph. | Draws ([[blit]]s) a [[graph]] onto another graph. | ||
| Line 12: | Line 12: | ||
| {| | {| | ||
| | '''INT''' fileID || - The [[file]] that holds the graphs. | | '''INT''' fileID || - The [[file]] that holds the graphs. | ||
| - | |||
| |- | |- | ||
| | '''INT''' destinationGraphID || - The [[graph]] to draw on. | | '''INT''' destinationGraphID || - The [[graph]] to draw on. | ||
| Line 46: | Line 45: | ||
| Program watskeburt; | Program watskeburt; | ||
| Global | Global | ||
| - | destgraph; | + | int destgraph; | 
| - | origgraph; | + | int origgraph; | 
| Begin | Begin | ||
| Line 61: | Line 60: | ||
| map_clear(0,origgraph,rgb(0,0,255)); | 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 | + | // 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); | ||
| 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); | ||
| Line 68: | Line 68: | ||
| put(0,destgraph,160,100); | put(0,destgraph,160,100); | ||
| - |      | + | Repeat | 
| - | + | frame; | |
| - |      | + | Until(key(_esc)) | 
| + | |||
| End | End | ||
| </pre> | </pre> | ||
| - | Used in example: [[set_mode]](), [[new_map]](), [[map_clear]](), [[put]]() | + | Used in example: [[set_mode]](), [[new_map]](), [[map_clear]](), [[put]](), [[key]]() | 
| This will result in something like:<br /> | This will result in something like:<br /> | ||
| http://wwwhome.cs.utwente.nl/~bergfi/fenix/wiki/map_xput.PNG | http://wwwhome.cs.utwente.nl/~bergfi/fenix/wiki/map_xput.PNG | ||
Revision as of 13:49, 22 May 2007
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
    int destgraph;
    int 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);
    Repeat
        frame;
    Until(key(_esc))
End
Used in example: set_mode(), new_map(), map_clear(), put(), key()
This will result in something like:
