2000-02-17 23:48:13 +00:00
|
|
|
#ifndef __MAPOBJECT_MAIN_H__
|
|
|
|
#define __MAPOBJECT_MAIN_H__
|
1998-03-20 02:42:24 +00:00
|
|
|
|
|
|
|
/* Defines and stuff */
|
|
|
|
/* ================= */
|
|
|
|
|
2008-08-11 19:42:08 +00:00
|
|
|
#define PLUG_IN_PROC "plug-in-map-object"
|
|
|
|
#define PLUG_IN_BINARY "map-object"
|
2011-04-08 20:31:34 +02:00
|
|
|
#define PLUG_IN_ROLE "gimp-map-object"
|
2008-08-11 19:42:08 +00:00
|
|
|
|
1998-03-20 02:42:24 +00:00
|
|
|
#define TILE_CACHE_SIZE 16
|
|
|
|
|
|
|
|
/* Typedefs */
|
|
|
|
/* ======== */
|
|
|
|
|
2000-02-17 23:48:13 +00:00
|
|
|
typedef enum
|
|
|
|
{
|
1998-03-20 02:42:24 +00:00
|
|
|
POINT_LIGHT,
|
|
|
|
DIRECTIONAL_LIGHT,
|
|
|
|
NO_LIGHT
|
|
|
|
} LightType;
|
|
|
|
|
2000-02-17 23:48:13 +00:00
|
|
|
typedef enum
|
|
|
|
{
|
1998-03-20 02:42:24 +00:00
|
|
|
MAP_PLANE,
|
1998-07-16 00:45:41 +00:00
|
|
|
MAP_SPHERE,
|
1998-07-16 20:14:54 +00:00
|
|
|
MAP_BOX,
|
|
|
|
MAP_CYLINDER
|
1998-03-20 02:42:24 +00:00
|
|
|
} MapType;
|
|
|
|
|
2024-09-13 12:32:34 +00:00
|
|
|
typedef enum
|
|
|
|
{
|
|
|
|
COMPOSITE_NORMAL,
|
|
|
|
COMPOSITE_BEHIND,
|
|
|
|
} CompositeType;
|
|
|
|
|
1998-03-20 02:42:24 +00:00
|
|
|
/* Typedefs */
|
|
|
|
/* ======== */
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
{
|
2001-01-10 22:49:45 +00:00
|
|
|
gdouble ambient_int;
|
|
|
|
gdouble diffuse_int;
|
|
|
|
gdouble diffuse_ref;
|
|
|
|
gdouble specular_ref;
|
|
|
|
gdouble highlight;
|
2024-09-13 12:32:34 +00:00
|
|
|
gdouble color[4];
|
1998-03-20 02:42:24 +00:00
|
|
|
} MaterialSettings;
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
{
|
2001-01-10 22:49:45 +00:00
|
|
|
LightType type;
|
|
|
|
GimpVector3 position;
|
|
|
|
GimpVector3 direction;
|
2024-09-13 12:32:34 +00:00
|
|
|
gdouble color[4];
|
2001-01-10 22:49:45 +00:00
|
|
|
gdouble intensity;
|
1998-03-20 02:42:24 +00:00
|
|
|
} LightSettings;
|
|
|
|
|
2000-02-17 23:48:13 +00:00
|
|
|
typedef struct
|
|
|
|
{
|
|
|
|
GimpVector3 viewpoint,firstaxis,secondaxis,normal,position,scale;
|
1998-03-20 02:42:24 +00:00
|
|
|
LightSettings lightsource;
|
|
|
|
|
|
|
|
MaterialSettings material;
|
|
|
|
MaterialSettings refmaterial;
|
|
|
|
|
|
|
|
MapType maptype;
|
|
|
|
|
|
|
|
gint antialiasing;
|
|
|
|
gint create_new_image;
|
2011-02-20 13:00:13 +01:00
|
|
|
gint create_new_layer;
|
1998-03-20 02:42:24 +00:00
|
|
|
gint transparent_background;
|
|
|
|
gint tiled;
|
2011-02-13 10:00:48 +01:00
|
|
|
gint livepreview;
|
2011-02-19 19:49:34 +01:00
|
|
|
gint showgrid;
|
1998-07-16 20:14:54 +00:00
|
|
|
gint showcaps;
|
2000-02-17 23:48:13 +00:00
|
|
|
|
2005-11-21 12:00:56 +00:00
|
|
|
gdouble zoom;
|
1998-03-20 02:42:24 +00:00
|
|
|
gdouble alpha,beta,gamma;
|
|
|
|
gdouble maxdepth;
|
2018-04-25 14:31:11 -04:00
|
|
|
gdouble pixelthreshold;
|
1998-03-20 02:42:24 +00:00
|
|
|
gdouble radius;
|
1998-07-16 20:14:54 +00:00
|
|
|
gdouble cylinder_radius;
|
|
|
|
gdouble cylinder_length;
|
1998-03-20 02:42:24 +00:00
|
|
|
|
1998-07-16 00:45:41 +00:00
|
|
|
gint32 boxmap_id[6];
|
1998-07-16 20:14:54 +00:00
|
|
|
gint32 cylindermap_id[2];
|
2005-09-25 21:22:39 +00:00
|
|
|
|
1998-03-20 02:42:24 +00:00
|
|
|
} MapObjectValues;
|
|
|
|
|
|
|
|
/* Externally visible variables */
|
|
|
|
/* ============================ */
|
|
|
|
|
|
|
|
extern MapObjectValues mapvals;
|
|
|
|
|
2000-02-17 23:48:13 +00:00
|
|
|
#endif /* __MAPOBJECT_MAIN_H__ */
|