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