PIKApp/app/tools/pikabucketfilloptions.h

82 lines
3.4 KiB
C

/* PIKA - Photo and Image Kooker Application
* a rebranding of The GNU Image Manipulation Program (created with heckimp)
* A derived work which may be trivial. However, any changes may be (C)2023 by Aldercone Studio
*
* Original copyright, applying to most contents (license remains unchanged):
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
#ifndef __PIKA_BUCKET_FILL_OPTIONS_H__
#define __PIKA_BUCKET_FILL_OPTIONS_H__
#include "paint/pikapaintoptions.h"
#define PIKA_TYPE_BUCKET_FILL_OPTIONS (pika_bucket_fill_options_get_type ())
#define PIKA_BUCKET_FILL_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PIKA_TYPE_BUCKET_FILL_OPTIONS, PikaBucketFillOptions))
#define PIKA_BUCKET_FILL_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PIKA_TYPE_BUCKET_FILL_OPTIONS, PikaBucketFillOptionsClass))
#define PIKA_IS_BUCKET_FILL_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PIKA_TYPE_BUCKET_FILL_OPTIONS))
#define PIKA_IS_BUCKET_FILL_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PIKA_TYPE_BUCKET_FILL_OPTIONS))
#define PIKA_BUCKET_FILL_OPTIONS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PIKA_TYPE_BUCKET_FILL_OPTIONS, PikaBucketFillOptionsClass))
typedef struct _PikaBucketFillOptions PikaBucketFillOptions;
typedef struct _PikaBucketFillOptionsPrivate PikaBucketFillOptionsPrivate;
typedef struct _PikaPaintOptionsClass PikaBucketFillOptionsClass;
struct _PikaBucketFillOptions
{
PikaPaintOptions paint_options;
PikaBucketFillMode fill_mode;
PikaBucketFillArea fill_area;
gboolean fill_transparent;
gboolean sample_merged;
gboolean diagonal_neighbors;
gboolean antialias;
gboolean feather;
gdouble feather_radius;
gdouble threshold;
GtkWidget *line_art_busy_box;
PikaLineArtSource line_art_source;
gdouble line_art_threshold;
gint line_art_max_grow;
gboolean line_art_automatic_closure;
gint line_art_max_gap_length;
gboolean line_art_stroke;
gchar *line_art_stroke_tool;
PikaStrokeOptions *stroke_options;
gboolean fill_as_line_art;
gdouble fill_as_line_art_threshold;
PikaSelectCriterion fill_criterion;
PikaBucketFillOptionsPrivate *priv;
};
GType pika_bucket_fill_options_get_type (void) G_GNUC_CONST;
GtkWidget * pika_bucket_fill_options_gui (PikaToolOptions *tool_options);
#endif /* __PIKA_BUCKET_FILL_OPTIONS_H__ */