218 lines
6.6 KiB
C
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__ */
|