blob: 400377349de6a1495b9fbc3dda46ea0d06f2a9c3 [file] [log] [blame]
* Copyright (c) 1997 by Massimino Pascal <>
* ifs.h: modified iterated functions system for goom.
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted,
* provided that the above copyright notice appear in all copies and that
* both that copyright notice and this permission notice appear in
* supporting documentation.
* This file is provided AS IS with no warranties of any kind. The author
* shall have no liability with respect to the infringement of copyrights,
* trade secrets or any patents by this file or any part thereof. In no
* event will the author be liable for any lost revenue or profits or
* other special, indirect and consequential damages.
* If this mode is weird and you have an old MetroX server, it is buggy.
* There is a free SuSE-enhanced MetroX X server that is fine.
* When shown ifs, Diana Rose (4 years old) said, "It looks like dancing."
* Revision History:
* 13-Dec-2003: Added some goom specific stuffs (to make ifs a VisualFX).
* 11-Apr-2002: Make ifs.c system-indendant. (ifs.h added)
* 01-Nov-2000: Allocation checks
* 10-May-1997: turned into a standalone program.
* Made it render into an offscreen bitmap and then copy
* that onto the screen, to reduce flicker.
#ifndef IFS_H
#define IFS_H
#include "goom_config.h"
#include "goom_graphic.h"
#include "goom_plugin_info.h"
#include "goom_visual_fx.h"
void ifs_visualfx_create(VisualFX *vfx);
/* init ifs for a (width)x(height) output. * /
void init_ifs (PluginInfo *goomInfo, int width, int height);
/ * draw an ifs on the buffer (which size is width * height)
increment means that we draw 1/increment of the ifs's points * /
void ifs_update (PluginInfo *goomInfo, Pixel * buffer, Pixel * back, int width, int height, int increment);
/ * free all ifs's data. * /
void release_ifs (void);