| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- import type { ShapePoolItem } from '@/configs/shapes'
- import type { LinePoolItem } from '@/configs/lines'
- import type { ImageClipDataRange, PPTElementOutline, PPTElementShadow, Gradient } from './slides'
- export enum ElementOrderCommands {
- UP = 'up',
- DOWN = 'down',
- TOP = 'top',
- BOTTOM = 'bottom',
- }
- export enum ElementAlignCommands {
- TOP = 'top',
- BOTTOM = 'bottom',
- LEFT = 'left',
- RIGHT = 'right',
- VERTICAL = 'vertical',
- HORIZONTAL = 'horizontal',
- CENTER = 'center',
- }
- export const enum OperateBorderLines {
- T = 'top',
- B = 'bottom',
- L = 'left',
- R = 'right',
- }
- export const enum OperateResizeHandlers {
- LEFT_TOP = 'left-top',
- TOP = 'top',
- RIGHT_TOP = 'right-top',
- LEFT = 'left',
- RIGHT = 'right',
- LEFT_BOTTOM = 'left-bottom',
- BOTTOM = 'bottom',
- RIGHT_BOTTOM = 'right-bottom',
- }
- export const enum OperateLineHandlers {
- START = 'start',
- END = 'end',
- C = 'ctrl',
- C1 = 'ctrl1',
- C2 = 'ctrl2',
- }
- export interface AlignmentLineAxis {
- x: number
- y: number
- }
- export interface AlignmentLineProps {
- type: 'vertical' | 'horizontal'
- axis: AlignmentLineAxis
- length: number
- }
- export interface MultiSelectRange {
- minX: number
- maxX: number
- minY: number
- maxY: number
- }
- export interface ImageClipedEmitData {
- range: ImageClipDataRange
- position: {
- left: number
- top: number
- width: number
- height: number
- }
- }
- export interface CreateElementSelectionData {
- start: [number, number]
- end: [number, number]
- }
- export interface CreateCustomShapeData {
- start: [number, number]
- end: [number, number]
- path: string
- viewBox: [number, number]
- fill?: string
- outline?: PPTElementOutline
- }
- export interface CreatingTextElement {
- type: 'text'
- vertical?: boolean
- }
- export interface CreatingShapeElement {
- type: 'shape'
- data: ShapePoolItem
- }
- export interface CreatingLineElement {
- type: 'line'
- data: LinePoolItem
- }
- export type CreatingElement = CreatingTextElement | CreatingShapeElement | CreatingLineElement
- export type TextFormatPainterKeys = 'bold' | 'em' | 'underline' | 'strikethrough' | 'color' | 'backcolor' | 'fontsize' | 'fontname' | 'align'
- export interface TextFormatPainter {
- keep: boolean
- bold?: boolean
- em?: boolean
- underline?: boolean
- strikethrough?: boolean
- color?: string
- backcolor?: string
- fontsize?: string
- fontname?: string
- align?: 'left' | 'right' | 'center'
- }
- export interface ShapeFormatPainter {
- keep: boolean
- fill?: string
- gradient?: Gradient
- outline?: PPTElementOutline
- opacity?: number
- shadow?: PPTElementShadow
- }
|