PIKApp/app/tools/tools-enums.h

218 lines
6.6 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 __TOOLS_ENUMS_H__
#define __TOOLS_ENUMS_H__
/*
* these enums are registered with the type system
*/
/**
* PikaBucketFillArea:
* @PIKA_BUCKET_FILL_SELECTION: Fill whole selection
* @PIKA_BUCKET_FILL_SIMILAR_COLORS: Fill similar colors
* @PIKA_BUCKET_FILL_LINE_ART: Fill by line art detection
*
* Bucket fill area.
*/
#define PIKA_TYPE_BUCKET_FILL_AREA (pika_bucket_fill_area_get_type ())
GType pika_bucket_fill_area_get_type (void) G_GNUC_CONST;
typedef enum
{
PIKA_BUCKET_FILL_SELECTION, /*< desc="Fill whole selection" >*/
PIKA_BUCKET_FILL_SIMILAR_COLORS, /*< desc="Fill similar colors" >*/
PIKA_BUCKET_FILL_LINE_ART /*< desc="Fill by line art detection" >*/
} PikaBucketFillArea;
/**
* PikaLineArtSource:
* @PIKA_LINE_ART_SOURCE_SAMPLE_MERGED: All visible layers
* @PIKA_LINE_ART_SOURCE_ACTIVE_LAYER: Active layer
* @PIKA_LINE_ART_SOURCE_LOWER_LAYER: Layer below the active one
* @PIKA_LINE_ART_SOURCE_UPPER_LAYER: Layer above the active one
*
* Bucket fill area.
*/
#define PIKA_TYPE_LINE_ART_SOURCE (pika_line_art_source_get_type ())
GType pika_line_art_source_get_type (void) G_GNUC_CONST;
typedef enum
{
PIKA_LINE_ART_SOURCE_SAMPLE_MERGED, /*< desc="All visible layers" >*/
PIKA_LINE_ART_SOURCE_ACTIVE_LAYER, /*< desc="Selected layer" >*/
PIKA_LINE_ART_SOURCE_LOWER_LAYER, /*< desc="Layer below the selected one" >*/
PIKA_LINE_ART_SOURCE_UPPER_LAYER /*< desc="Layer above the selected one" >*/
} PikaLineArtSource;
#define PIKA_TYPE_RECT_SELECT_MODE (pika_rect_select_mode_get_type ())
GType pika_rect_select_mode_get_type (void) G_GNUC_CONST;
typedef enum
{
PIKA_RECT_SELECT_MODE_FREE, /*< desc="Free select" >*/
PIKA_RECT_SELECT_MODE_FIXED_SIZE, /*< desc="Fixed size" >*/
PIKA_RECT_SELECT_MODE_FIXED_RATIO /*< desc="Fixed aspect ratio" >*/
} PikaRectSelectMode;
#define PIKA_TYPE_TRANSFORM_TYPE (pika_transform_type_get_type ())
GType pika_transform_type_get_type (void) G_GNUC_CONST;
typedef enum
{
PIKA_TRANSFORM_TYPE_LAYER, /*< desc="Layer" >*/
PIKA_TRANSFORM_TYPE_SELECTION, /*< desc="Selection" >*/
PIKA_TRANSFORM_TYPE_PATH, /*< desc="Path" >*/
PIKA_TRANSFORM_TYPE_IMAGE /*< desc="Image" >*/
} PikaTransformType;
#define PIKA_TYPE_TOOL_ACTION (pika_tool_action_get_type ())
GType pika_tool_action_get_type (void) G_GNUC_CONST;
typedef enum
{
PIKA_TOOL_ACTION_PAUSE,
PIKA_TOOL_ACTION_RESUME,
PIKA_TOOL_ACTION_HALT,
PIKA_TOOL_ACTION_COMMIT
} PikaToolAction;
#define PIKA_TYPE_TOOL_ACTIVE_MODIFIERS (pika_tool_active_modifiers_get_type ())
GType pika_tool_active_modifiers_get_type (void) G_GNUC_CONST;
typedef enum
{
PIKA_TOOL_ACTIVE_MODIFIERS_OFF,
PIKA_TOOL_ACTIVE_MODIFIERS_SAME,
PIKA_TOOL_ACTIVE_MODIFIERS_SEPARATE,
} PikaToolActiveModifiers;
#define PIKA_TYPE_MATTING_DRAW_MODE (pika_matting_draw_mode_get_type ())
GType pika_matting_draw_mode_get_type (void) G_GNUC_CONST;
typedef enum
{
PIKA_MATTING_DRAW_MODE_FOREGROUND, /*< desc="Draw foreground" >*/
PIKA_MATTING_DRAW_MODE_BACKGROUND, /*< desc="Draw background" >*/
PIKA_MATTING_DRAW_MODE_UNKNOWN, /*< desc="Draw unknown" >*/
} PikaMattingDrawMode;
#define PIKA_TYPE_MATTING_PREVIEW_MODE (pika_matting_preview_mode_get_type ())
GType pika_matting_preview_mode_get_type (void) G_GNUC_CONST;
typedef enum
{
PIKA_MATTING_PREVIEW_MODE_ON_COLOR, /*< desc="Color" >*/
PIKA_MATTING_PREVIEW_MODE_GRAYSCALE, /*< desc="Grayscale" >*/
} PikaMattingPreviewMode;
#define PIKA_TYPE_TRANSFORM_3D_LENS_MODE (pika_transform_3d_lens_mode_get_type ())
GType pika_transform_3d_lens_mode_get_type (void) G_GNUC_CONST;
typedef enum /*< lowercase_name=pika_transform_3d_lens_mode >*/
{
PIKA_TRANSFORM_3D_LENS_MODE_FOCAL_LENGTH, /*< desc="Focal length" >*/
PIKA_TRANSFORM_3D_LENS_MODE_FOV_IMAGE, /*< desc="Field of view (relative to image)", abbrev="FOV (image)" >*/
PIKA_TRANSFORM_3D_LENS_MODE_FOV_ITEM, /*< desc="Field of view (relative to item)", abbrev="FOV (item)" >*/
} Pika3DTransformLensMode;
#define PIKA_TYPE_WARP_BEHAVIOR (pika_warp_behavior_get_type ())
GType pika_warp_behavior_get_type (void) G_GNUC_CONST;
typedef enum
{
PIKA_WARP_BEHAVIOR_MOVE, /*< desc="Move pixels" >*/
PIKA_WARP_BEHAVIOR_GROW, /*< desc="Grow area" >*/
PIKA_WARP_BEHAVIOR_SHRINK, /*< desc="Shrink area" >*/
PIKA_WARP_BEHAVIOR_SWIRL_CW, /*< desc="Swirl clockwise" >*/
PIKA_WARP_BEHAVIOR_SWIRL_CCW, /*< desc="Swirl counter-clockwise" >*/
PIKA_WARP_BEHAVIOR_ERASE, /*< desc="Erase warping" >*/
PIKA_WARP_BEHAVIOR_SMOOTH /*< desc="Smooth warping" >*/
} PikaWarpBehavior;
#define PIKA_TYPE_PAINT_SELECT_MODE (pika_paint_select_mode_get_type ())
GType pika_paint_select_mode_get_type (void) G_GNUC_CONST;
typedef enum
{
PIKA_PAINT_SELECT_MODE_ADD, /*< desc="Add to selection" >*/
PIKA_PAINT_SELECT_MODE_SUBTRACT, /*< desc="Subtract from selection" >*/
} PikaPaintSelectMode;
/*
* non-registered enums; register them if needed
*/
typedef enum /*< skip >*/
{
SELECTION_SELECT,
SELECTION_MOVE_MASK,
SELECTION_MOVE,
SELECTION_MOVE_COPY,
SELECTION_ANCHOR
} SelectFunction;
/* Modes of PikaEditSelectionTool */
typedef enum /*< skip >*/
{
PIKA_TRANSLATE_MODE_VECTORS,
PIKA_TRANSLATE_MODE_CHANNEL,
PIKA_TRANSLATE_MODE_LAYER_MASK,
PIKA_TRANSLATE_MODE_MASK,
PIKA_TRANSLATE_MODE_MASK_TO_LAYER,
PIKA_TRANSLATE_MODE_MASK_COPY_TO_LAYER,
PIKA_TRANSLATE_MODE_LAYER,
PIKA_TRANSLATE_MODE_FLOATING_SEL
} PikaTranslateMode;
/* Motion event report modes */
typedef enum /*< skip >*/
{
PIKA_MOTION_MODE_EXACT,
PIKA_MOTION_MODE_COMPRESS
} PikaMotionMode;
#endif /* __TOOLS_ENUMS_H__ */