mirror of
https://gitlab.gnome.org/GNOME/gimp
synced 2024-10-23 13:01:42 +00:00
23ee66f7be
2005-10-06 Sven Neumann <sven@gimp.org> * plug-ins/gimpressionist/gimpressionist.[ch] * plug-ins/gimpressionist/orientation.c * plug-ins/gimpressionist/orientmap.[ch] * plug-ins/gimpressionist/placement.c * plug-ins/gimpressionist/presets.c * plug-ins/gimpressionist/preview.c * plug-ins/gimpressionist/repaint.c * plug-ins/gimpressionist/size.c * plug-ins/gimpressionist/sizemap.c: various minor improvements like setting all dialogs transient to the main window.
161 lines
3.9 KiB
C
161 lines
3.9 KiB
C
|
|
#ifndef __GIMPRESSIONIST_H
|
|
#define __GIMPRESSIONIST_H
|
|
|
|
/* Includes necessary for the correct processing of this file. */
|
|
#include <libgimp/gimp.h>
|
|
#include <libgimp/gimpui.h>
|
|
|
|
#include "ppmtool.h"
|
|
/* Defines */
|
|
|
|
#define PLUG_IN_NAME "plug-in-gimpressionist"
|
|
#define PLUG_IN_VERSION "v1.0, November 2003"
|
|
|
|
#define PREVIEWSIZE 150
|
|
#define MAXORIENTVECT 50
|
|
#define MAXSIZEVECT 50
|
|
|
|
/* Type declaration and definitions */
|
|
|
|
typedef struct vector
|
|
{
|
|
double x, y;
|
|
double dir;
|
|
double dx, dy;
|
|
double str;
|
|
int type;
|
|
} vector_t;
|
|
|
|
typedef struct smvector
|
|
{
|
|
double x, y;
|
|
double siz;
|
|
double str;
|
|
} smvector_t;
|
|
|
|
typedef struct
|
|
{
|
|
int orient_num;
|
|
double orient_first;
|
|
double orient_last;
|
|
int orient_type;
|
|
double brush_relief;
|
|
double brush_scale;
|
|
double brush_density;
|
|
double brushgamma;
|
|
int general_background_type;
|
|
double general_dark_edge;
|
|
double paper_relief;
|
|
double paper_scale;
|
|
int paper_invert;
|
|
int run;
|
|
char selected_brush[200];
|
|
char selected_paper[200];
|
|
GimpRGB color;
|
|
int general_paint_edges;
|
|
int place_type;
|
|
vector_t orient_vectors[MAXORIENTVECT];
|
|
int num_orient_vectors;
|
|
int placement_center;
|
|
double brush_aspect;
|
|
double orient_angle_offset;
|
|
double orient_strength_exponent;
|
|
int general_tileable;
|
|
int paper_overlay;
|
|
int orient_voronoi;
|
|
int color_brushes;
|
|
int general_drop_shadow;
|
|
double general_shadow_darkness;
|
|
int size_num;
|
|
double size_first;
|
|
double size_last;
|
|
int size_type;
|
|
double devthresh;
|
|
|
|
smvector_t size_vectors[MAXSIZEVECT];
|
|
int num_size_vectors;
|
|
double size_strength_exponent;
|
|
int size_voronoi;
|
|
|
|
int general_shadow_depth;
|
|
int general_shadow_blur;
|
|
|
|
int color_type;
|
|
double color_noise;
|
|
} gimpressionist_vals_t;
|
|
|
|
/* Enumerations */
|
|
|
|
enum GENERAL_BG_TYPE_ENUM
|
|
{
|
|
BG_TYPE_SOLID = 0,
|
|
BG_TYPE_KEEP_ORIGINAL = 1,
|
|
BG_TYPE_FROM_PAPER = 2,
|
|
BG_TYPE_TRANSPARENT = 3,
|
|
};
|
|
|
|
enum PRESETS_LIST_COLUMN_ENUM
|
|
{
|
|
PRESETS_LIST_COLUMN_FILENAME = 0,
|
|
PRESETS_LIST_COLUMN_OBJECT_NAME = 1,
|
|
};
|
|
|
|
/* Globals */
|
|
|
|
extern gimpressionist_vals_t pcvals;
|
|
|
|
|
|
/* Prototypes */
|
|
|
|
GList *parsepath (void);
|
|
void free_parsepath_cache (void);
|
|
|
|
void grabarea (void);
|
|
void store_values (void);
|
|
void restore_values (void);
|
|
gchar *findfile (const gchar *);
|
|
|
|
void unselectall (GtkWidget *list);
|
|
void reselect (GtkWidget *list, char *fname);
|
|
void readdirintolist (char *subdir, GtkWidget *view, char *selected);
|
|
void readdirintolist_extended (char *subdir, GtkWidget *view, char *selected,
|
|
gboolean with_filename_column,
|
|
gchar *(*get_object_name_cb)
|
|
(gchar *dir, gchar *filename, void *context),
|
|
void * context);
|
|
|
|
GtkWidget *create_one_column_list (GtkWidget *parent,
|
|
void (*changed_cb)
|
|
(GtkTreeSelection *selection,
|
|
gpointer data));
|
|
|
|
void brush_reload (const gchar *fn, struct ppm *p);
|
|
|
|
double get_direction (double x, double y, int from);
|
|
|
|
void create_sizemap_dialog (GtkWidget *parent);
|
|
double getsiz_proto (double x, double y, int n, smvector_t *vec,
|
|
double smstrexp, int voronoi);
|
|
|
|
|
|
void set_colorbrushes (const gchar *fn);
|
|
int create_gimpressionist (void);
|
|
|
|
double dist (double x, double y, double dx, double dy);
|
|
|
|
void restore_default_values (void);
|
|
|
|
GtkWidget *create_radio_button (GtkWidget *box, int orient_type,
|
|
void (*callback)(GtkWidget *wg, void *d),
|
|
gchar *label, gchar *help_string,
|
|
GSList **radio_group,
|
|
GtkWidget **buttons_array
|
|
);
|
|
|
|
#define CLAMP_UP_TO(x, max) (CLAMP((x),(0),(max-1)))
|
|
|
|
#endif /* #ifndef __GIMPRESSIONIST_H */
|
|
|
|
|