- This wiki is out of date, use the continuation of this wiki instead
 
Blendop new
From FenixWiki
(Difference between revisions)
												
			
			| Revision as of 22:59, 17 January 2008 (edit) Sandman (Talk | contribs) m ← Previous diff  | 
				Current revision (23:16, 17 January 2008) (edit) (undo) Sandman (Talk | contribs)  | 
			||
| Line 5: | Line 5: | ||
| '''INT''' blendop_new ( ) | '''INT''' blendop_new ( ) | ||
| - | Creates a new [[blend table]]. This table will contain a blending effect, which you'll have to set afterwards, using the various functions. When that is done you can finally [[blendop_apply|apply]] or [[blendop_assign|assign]] the  | + | Creates a new [[blend table]]. This table will contain a blending effect, which you'll have to set afterwards, using the various functions. When that is done you can finally [[blendop_apply|apply]] or [[blendop_assign|assign]] the blend table to a [[graphic]]. | 
| The source section of the [[blend table]] will be the normal object and the destination section will be cleared, removing translucency. | The source section of the [[blend table]] will be the normal object and the destination section will be cleared, removing translucency. | ||
| Line 28: | Line 28: | ||
| Program test; | Program test; | ||
| Private | Private | ||
| - |      | + | int blendTable; | 
| - | + | ||
| Begin | Begin | ||
| - | Set_mode(320,240,16); | ||
| - | Dump_type = complete_dump; | ||
| - |      | + | set_mode(320,240,16); | 
| - | + | ||
| - |      | + | x = 160; | 
| - |      | + | y = 120; | 
| - |     graph= | + | graph = new_map(100,100,16); | 
| + | map_clear(0,graph,RGB(255,255,255)); | ||
| + | |||
| + | blendTable = blendop_new(); | ||
| + | blendop_tint(blendTable,1,255,0,0); | ||
| + | |||
| + | Repeat | ||
| + | if (key(_space)) | ||
| + | blendop_assign(0,graph,blendTable); | ||
| + | else | ||
| + | blendop_assign(0,graph,NULL); | ||
| + | end | ||
| + | frame; | ||
| + | Until(key(_ESC)) | ||
| + | |||
| + | OnExit | ||
| + | |||
| + | unload_map(0,graph); | ||
| - | Loop | ||
| - | If (key(_space)) | ||
| - | Blending_operation=Blendop_new(); | ||
| - | Blendop_tint(Blending_operation,1,255,0,0); | ||
| - | Blendop_assign(0,My_graphic,Blending_operation); | ||
| - | End | ||
| - | Frame; | ||
| - | End | ||
| End | End | ||
| </pre> | </pre> | ||
| - | Used in example: [[set_mode]](), [[new_map]](), [[map_clear]](), [[ | + | Used in example: [[set_mode]](), [[new_map]](), [[map_clear]](), [[blendop_new]](), [[blendop_tint]](), [[key]](), [[blendop_assign]](), [[unload_map]]() | 
| This will result in something like: | This will result in something like: | ||
Current revision
Contents | 
[edit] Definition
INT blendop_new ( )
Creates a new blend table. This table will contain a blending effect, which you'll have to set afterwards, using the various functions. When that is done you can finally apply or assign the blend table to a graphic.
The source section of the blend table will be the normal object and the destination section will be cleared, removing translucency.
[edit] Returns
| 0 | - Error: insufficient memory or the screen was not yet initialized. | 
| !0 | - Success (pointer to the blend table). | 
[edit] Notes
The right order of doing blending stuff: First create a new table with blendop_new(), then put a blending effect in it with for example blendop_tint(), and then assign it to a graphic with blendop_assign().
[edit] Errors
| Insufficient memory | - There is insufficient memory available. This error doesn't occur often. | 
[edit] Example
Program test;
Private
    int blendTable;
Begin
    set_mode(320,240,16);
    x = 160;
    y = 120;
    graph = new_map(100,100,16);
    map_clear(0,graph,RGB(255,255,255));
    blendTable = blendop_new();
    blendop_tint(blendTable,1,255,0,0);
    Repeat
        if (key(_space))
            blendop_assign(0,graph,blendTable);
        else
            blendop_assign(0,graph,NULL);
        end
        frame;
    Until(key(_ESC))
OnExit
    unload_map(0,graph);
End
Used in example: set_mode(), new_map(), map_clear(), blendop_new(), blendop_tint(), key(), blendop_assign(), unload_map()
This will result in something like:
| Blendops Functions | |
| • Blendop_apply() • Blendop_assign() • Blendop_free() • Blendop_grayscale() • Blendop_identity() • Blendop_intensity() • Blendop_new() • Blendop_swap() • Blendop_tint() • Blendop_translucency() • | |

