PIKApp/plug-ins/map-object/map-object-main.h

91 lines
1.5 KiB
C

#ifndef __MAPOBJECT_MAIN_H__
#define __MAPOBJECT_MAIN_H__
/* Defines and stuff */
/* ================= */
#define PLUG_IN_PROC "plug-in-map-object"
#define PLUG_IN_BINARY "map-object"
#define PLUG_IN_ROLE "pika-map-object"
#define TILE_CACHE_SIZE 16
/* Typedefs */
/* ======== */
typedef enum
{
POINT_LIGHT,
DIRECTIONAL_LIGHT,
NO_LIGHT
} LightType;
typedef enum
{
MAP_PLANE,
MAP_SPHERE,
MAP_BOX,
MAP_CYLINDER
} MapType;
/* Typedefs */
/* ======== */
typedef struct
{
gdouble ambient_int;
gdouble diffuse_int;
gdouble diffuse_ref;
gdouble specular_ref;
gdouble highlight;
PikaRGB color;
} MaterialSettings;
typedef struct
{
LightType type;
PikaVector3 position;
PikaVector3 direction;
PikaRGB color;
gdouble intensity;
} LightSettings;
typedef struct
{
PikaVector3 viewpoint,firstaxis,secondaxis,normal,position,scale;
LightSettings lightsource;
MaterialSettings material;
MaterialSettings refmaterial;
MapType maptype;
gint antialiasing;
gint create_new_image;
gint create_new_layer;
gint transparent_background;
gint tiled;
gint livepreview;
gint showgrid;
gint showcaps;
gdouble zoom;
gdouble alpha,beta,gamma;
gdouble maxdepth;
gdouble pixelthreshold;
gdouble radius;
gdouble cylinder_radius;
gdouble cylinder_length;
gint32 boxmap_id[6];
gint32 cylindermap_id[2];
} MapObjectValues;
/* Externally visible variables */
/* ============================ */
extern MapObjectValues mapvals;
#endif /* __MAPOBJECT_MAIN_H__ */