summaryrefslogtreecommitdiffstats
path: root/plug-ins/fractal-explorer/fractal-explorer.h
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 16:23:22 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 16:23:22 +0000
commite42129241681dde7adae7d20697e7b421682fbb4 (patch)
treeaf1fe815a5e639e68e59fabd8395ec69458b3e5e /plug-ins/fractal-explorer/fractal-explorer.h
parentInitial commit. (diff)
downloadgimp-e42129241681dde7adae7d20697e7b421682fbb4.tar.xz
gimp-e42129241681dde7adae7d20697e7b421682fbb4.zip
Adding upstream version 2.10.22.upstream/2.10.22upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'plug-ins/fractal-explorer/fractal-explorer.h')
-rw-r--r--plug-ins/fractal-explorer/fractal-explorer.h216
1 files changed, 216 insertions, 0 deletions
diff --git a/plug-ins/fractal-explorer/fractal-explorer.h b/plug-ins/fractal-explorer/fractal-explorer.h
new file mode 100644
index 0000000..2792e47
--- /dev/null
+++ b/plug-ins/fractal-explorer/fractal-explorer.h
@@ -0,0 +1,216 @@
+#ifndef __FRACTALEXPLORER_H__
+#define __FRACTALEXPLORER_H__
+
+
+/**********************************************************************
+ Magic numbers
+ *********************************************************************/
+
+#define PREVIEW_SIZE 256
+#define SCALE_WIDTH 200
+#define ENTRY_WIDTH 60
+#define MAX_LOAD_LINE 256
+#define GR_WIDTH 325
+
+#define MAXNCOLORS 8192
+#define MAXSTRLEN 256
+
+#define PLUG_IN_PROC "plug-in-fractalexplorer"
+#define PLUG_IN_BINARY "fractal-explorer"
+#define PLUG_IN_ROLE "gimp-fractal-explorer"
+
+#define FRACTAL_HEADER "Fractal Explorer Plug-In Version 2 - (c) 1997 <cotting@mygale.org>\n"
+#define fractalexplorer_HEADER "Fractal Explorer Plug-In Version 2 - (c) 1997 <cotting@mygale.org>\n"
+
+enum
+{
+ SINUS,
+ COSINUS,
+ NONE
+};
+
+enum
+{
+ TYPE_MANDELBROT,
+ TYPE_JULIA,
+ TYPE_BARNSLEY_1,
+ TYPE_BARNSLEY_2,
+ TYPE_BARNSLEY_3,
+ TYPE_SPIDER,
+ TYPE_MAN_O_WAR,
+ TYPE_LAMBDA,
+ TYPE_SIERPINSKI,
+ NUM_TYPES
+};
+
+/**********************************************************************
+ Types
+ *********************************************************************/
+
+typedef struct
+{
+ gint fractaltype;
+ gdouble xmin;
+ gdouble xmax;
+ gdouble ymin;
+ gdouble ymax;
+ gdouble iter;
+ gdouble cx;
+ gdouble cy;
+ gint colormode;
+ gdouble redstretch;
+ gdouble greenstretch;
+ gdouble bluestretch;
+ gint redmode;
+ gint greenmode;
+ gint bluemode;
+ gboolean redinvert;
+ gboolean greeninvert;
+ gboolean blueinvert;
+ gboolean alwayspreview;
+ gint ncolors;
+ gboolean gradinvert;
+ gboolean useloglog;
+} explorer_vals_t;
+
+typedef struct
+{
+ GtkWidget *preview;
+ guchar *wimage;
+ gint run;
+} explorer_interface_t;
+
+/* typedef gint colorvalue[3]; */
+typedef struct
+ {
+ guchar r, g, b;
+ } gucharRGB;
+
+typedef gucharRGB clrmap[MAXNCOLORS];
+
+typedef guchar vlumap[MAXNCOLORS];
+
+typedef struct
+{
+ GtkWidget *text;
+ GtkAdjustment *data;
+} scaledata;
+
+typedef struct _DialogElements DialogElements;
+
+struct _DialogElements
+{
+ GtkWidget *type[NUM_TYPES];
+ GtkObject *xmin;
+ GtkObject *xmax;
+ GtkObject *ymin;
+ GtkObject *ymax;
+ GtkObject *iter;
+ GtkObject *cx;
+ GtkObject *cy;
+
+ GtkObject *ncol;
+ GtkWidget *useloglog;
+
+ GtkObject *red;
+ GtkObject *green;
+ GtkObject *blue;
+
+ GtkWidget *redmode[3];
+ GtkWidget *redinvert;
+
+ GtkWidget *greenmode[3];
+ GtkWidget *greeninvert;
+
+ GtkWidget *bluemode[3];
+ GtkWidget *blueinvert;
+
+ GtkWidget *colormode[2];
+};
+
+
+typedef struct DFigObj
+{
+ gchar *name; /* Trailing name of file */
+ gchar *filename; /* Filename itself */
+ gchar *draw_name; /* Name of the drawing */
+ explorer_vals_t opts; /* Options enforced when fig saved */
+ GtkWidget *list_item;
+ GtkWidget *label_widget;
+ GtkWidget *pixmap_widget;
+ gint obj_status;
+} fractalexplorerOBJ;
+
+
+typedef struct GigObj
+{
+ gchar *name; /* Trailing name of file */
+ gchar *filename; /* Filename itself */
+ gchar *draw_name; /* Name of the drawing */
+ gint typus;
+ GtkWidget *list_item;
+ GtkWidget *label_widget;
+ GtkWidget *pixmap_widget;
+ gint obj_status;
+} gradientOBJ;
+
+typedef struct _fractalexplorerListOptions
+{
+ GtkWidget *query_box;
+ GtkWidget *name_entry;
+ GtkWidget *list_entry;
+ fractalexplorerOBJ *obj;
+ gint created;
+} fractalexplorerListOptions;
+
+/* States of the object */
+#define fractalexplorer_OK 0x0
+#define fractalexplorer_MODIFIED 0x1
+
+#define gradient_GRADIENTEDITOR 0x2
+
+extern fractalexplorerOBJ *current_obj;
+
+GtkWidget * add_objects_list (void);
+
+/**********************************************************************
+ Global variables
+ *********************************************************************/
+
+extern gdouble xmin;
+extern gdouble xmax;
+extern gdouble ymin;
+extern gdouble ymax;
+extern gdouble xbild;
+extern gdouble ybild;
+extern gdouble xdiff;
+extern gdouble ydiff;
+extern gint sel_x1,
+ sel_y1,
+ sel_x2,
+ sel_y2;
+extern gint preview_width,
+ preview_height;
+extern gdouble *gg;
+extern int line_no;
+extern gchar *filename;
+extern clrmap colormap;
+extern gchar *fractalexplorer_path;
+
+
+extern explorer_interface_t wint;
+
+extern explorer_vals_t wvals;
+extern GimpDrawable *drawable;
+
+
+/**********************************************************************
+ Global functions
+ *********************************************************************/
+
+void explorer_render_row (const guchar *src_row,
+ guchar *dest_row,
+ gint row,
+ gint row_width,
+ gint bpp);
+#endif