/*
 * projector.h
 *
 * Copyright (C) 1989, 1991, Craig E. Kolb
 * All rights reserved.
 *
 * This software may be freely copied, modified, and redistributed
 * provided that this copyright notice is preserved on all copies.
 *
 * You may not distribute this software, in whole or in part, as part of
 * any commercial product without the express consent of the authors.
 *
 * There is no warranty or other guarantee of fitness of this software
 * for any purpose.  It is provided solely "as is".
 *
 * Projector light source itself written and copyrighted by Greg Spencer and
 * given to the Public Domain, with the above conditions.
 *
 * $Id$
 *
 * $Log$
 */
#ifndef PROJECTOR_H
#define PROJECTOR_H

/* Necessary to use ImageText stuff */
#ifdef __SASC
#include "/libtext/texture.h"
#include "/libimage/image.h"
#include "/libtext/imagetext.h"
#else
#include "../libtext/texture.h"
#include "../libimage/image.h"
#include "../libtext/imagetext.h"
#endif

#define LightProjectorCreate(c,f,t,up,tex,xa,ua,fall) LightCreate( \
			(LightRef)ProjectorCreate(f,t,up,tex,xa,ua,fall),\
			ProjectorMethods(), c)

typedef struct {
	Vector pos, dir, u,v;
	Float uangle, vangle;
	int falloff;
	ImageText *image;
} Projectorlight;

extern Projectorlight *ProjectorCreate();
extern LightMethods *ProjectorMethods();
extern int ProjectorIntens();
extern void ProjectorDirection();

#endif /* PROJECTOR_H */
