mirror of
https://github.com/palxiao/poster-design.git
synced 2025-07-03 03:56:41 +08:00
123 lines
4.1 KiB
TypeScript
123 lines
4.1 KiB
TypeScript
import { GapSize, RectSize, TransformConfig } from '../types/common'
|
||
import { GLColor } from '../types/matting-drawing'
|
||
|
||
export enum EventType {
|
||
Mouseover = 'mouseover',
|
||
Mouseenter = 'mouseenter',
|
||
Mouseout = 'mouseout',
|
||
Mouseleave = 'mouseleave',
|
||
Mouseup = 'mouseup',
|
||
Mousemove = 'mousemove',
|
||
MouseDown = 'mousedown',
|
||
DblClick = 'dblclick',
|
||
Click = 'click',
|
||
ContextMenu = 'contextmenu',
|
||
KeyDown = 'keydown',
|
||
Keyup = 'keyup',
|
||
Keypress = 'keypress',
|
||
Scroll = 'scroll',
|
||
Resize = 'resize',
|
||
Wheel = 'wheel',
|
||
UndoRedoStateChanged = 'undoRedoStateChanged',
|
||
}
|
||
|
||
export const INITIAL_RADIUS = 12.5
|
||
export const INITIAL_HARDNESS = 0.5
|
||
/** */
|
||
export const RADIUS_TO_BRUSH_SIZE_RATIO = 4
|
||
|
||
export const RADIUS_SLIDER_MIN = 0.25
|
||
export const RADIUS_SLIDER_STEP = 0.25
|
||
export const RADIUS_SLIDER_MAX = 25
|
||
/** 画笔绘制点最小半径像素 */
|
||
export const MIN_RADIUS = 0.5
|
||
|
||
export const HARDNESS_SLIDER_MIN = 0
|
||
export const HARDNESS_SLIDER_STEP = 0.01
|
||
export const HARDNESS_SLIDER_MAX = 1
|
||
/** 硬度放大到滑动条显示的值范围的放大倍数 */
|
||
export const HARDNESS_ZOOM_TO_SLIDER_RATIO = 100
|
||
|
||
export const INITIAL_SCALE_RATIO = 1
|
||
/** 默认的变换配置对象 */
|
||
export const INITIAL_TRANSFORM_CONFIG: TransformConfig = {
|
||
scaleRatio: INITIAL_SCALE_RATIO,
|
||
positionRange: {
|
||
minX: 0,
|
||
maxX: 0,
|
||
minY: 0,
|
||
maxY: 0,
|
||
},
|
||
}
|
||
/**
|
||
* 导航视窗区域内图片默认尺寸:以图片中心点为原点,进行等比例缩放
|
||
* 图片上下边距至少各留80px,左右边距至少留白40px,上下边距优先级高于左右边距
|
||
* 例如:当图片上下留白80px时,左右留白大于40px时,以上下留白80px为准
|
||
*/
|
||
export const INITIAL_GAP_SIZE: GapSize = {
|
||
horizontal: 40,
|
||
vertical: 80,
|
||
}
|
||
|
||
/** 隐藏画板的间隙对象——隐藏画板不需要留白 */
|
||
export const HIDDEN_BOARD_GAP_SIZE: GapSize = {
|
||
horizontal: 0,
|
||
vertical: 0,
|
||
}
|
||
/** 隐藏画板的最大尺寸——默认情况下与图片原始尺寸一致,但不能超过2000px,超过2000px会进行缩放以免影响性能 */
|
||
export const HIDDEN_BOARD_MAX_SIZE: RectSize = {
|
||
width: 2000,
|
||
height: 2000,
|
||
}
|
||
|
||
/** 默认的图像平滑选项值 */
|
||
export const DEFAULT_IMAGE_SMOOTH_CHOICE = false
|
||
export const IMAGE_BORDER_STYLE = '#000000'
|
||
export const INITIAL_IMAGE_BORDER_WIDTH = 1
|
||
|
||
export const DEFAULT_MASK_COLOR: GLColor = [0.47, 0.42, 0.9, 0.5]
|
||
|
||
/** 窗口滚动时更新boardRect的节流等待时间 */
|
||
export const UPDATE_BOARDRECT_DEBOUNCE_TIME = 100
|
||
/** 计算stepBase(绘制补帧线条的迭代中的增量,基于真实尺寸的半径得到)的系数的倒数 */
|
||
export const DRAWING_STEP_BASE_BASE = 20
|
||
/** 计算绘制圆点的节流步长的系数的倒数 */
|
||
export const DRAWING_STEP_BASE = 3.5
|
||
|
||
export const GLOBAL_COMPOSITE_OPERATION_SOURCE_OVER = 'source-over'
|
||
export const GLOBAL_COMPOSITE_OPERATION_DESTINATION_IN = 'destination-in'
|
||
export const GLOBAL_COMPOSITE_OPERATION_DESTINATION_OUT = 'destination-out'
|
||
|
||
/** 计算绘制补帧线条的节流步长的系数的倒数 */
|
||
export const DRAW_INTERPOLATION_STEP_BASE = 2.5
|
||
/** 绘制补帧线条的画笔半径阈值 */
|
||
export const DRAW_INTERPOLATION_RADIUS_THRESHOLD = 1
|
||
/** 径向渐变开始圆形的半径 */
|
||
export const GRADIENT_INNER_RADIUS = 0
|
||
/** 渐变开始的偏移值 */
|
||
export const GRADIENT_BEGIN_OFFSET = 0
|
||
/** 渐变结束的偏移值 */
|
||
export const GRADIENT_END_OFFSET = 1
|
||
/** 修补渐变开始的颜色 */
|
||
export const REPAIR_POINT_INNER_COLOR = 'rgba(119,106,230,1)'
|
||
/** 修补渐变结束的颜色 */
|
||
export const REPAIR_POINT_OUTER_COLOR = 'rgba(119,106,230,0)'
|
||
/** 擦除渐变开始的颜色 */
|
||
export const ERASE_POINT_INNER_COLOR = 'rgba(255,255,255,1)'
|
||
/** 擦除结束的颜色 */
|
||
export const ERASE_POINT_OUTER_COLOR = 'rgba(255,255,255,0)'
|
||
/** 0° */
|
||
export const ZERO_DEGREES = 0
|
||
/** 360° */
|
||
export const ONE_TURN_DEGREES = Math.PI * 2
|
||
/** 执行前进后退动作时的防抖时间 */
|
||
export const ACTION_THROTTLE_TIME = 300
|
||
/** 放大的系数 */
|
||
export const ZOOM_IN_COEFFICIENT = 1
|
||
/** 缩小的系数 */
|
||
export const ZOOM_OUT_COEFFICIENT = -1
|
||
/** 缩放比率变化的步长 */
|
||
export const SCALE_STEP = 0.04
|
||
export const MIN_SCALE_RATIO = 0.15
|
||
export const MAX_SCALE_RATIO = 10
|