@syncfusion/ej2-pdfviewer
Version:
Essential JS 2 PDF viewer Component
184 lines (183 loc) • 3.57 kB
TypeScript
import { PointModel } from './../primitives/point-model';
import { TextOverflow, TextWrap, Scale, ImageAlignment } from '../enum/enum';
import { GradientModel } from '../core/appearance-model';
import { PdfAnnotationType } from '../../drawing';
/**
* @hidden
* canvas interface
*/
export interface StyleAttributes {
fill: string;
stroke: string;
strokeWidth: number;
dashArray: string;
opacity: number;
gradient?: GradientModel;
class?: string;
thickness?: number;
isSharpEdge?: boolean;
}
/**
* @hidden
* BaseAttributes interface
*/
export interface BaseAttributes extends StyleAttributes {
id: string;
x: number;
y: number;
width: number;
height: number;
angle: number;
pivotX: number;
pivotY: number;
visible: boolean;
description?: string;
canApplyStyle?: boolean;
relativeMode?: string;
isEJ2?: boolean;
isRectangle?: boolean;
annotationType?: PdfAnnotationType;
}
/**
* @hidden
* LineAttributes interface
*/
export interface LineAttributes extends BaseAttributes {
startPoint: PointModel;
endPoint: PointModel;
}
/**
* @hidden
* CircleAttributes interface
*/
export interface CircleAttributes extends BaseAttributes {
centerX: number;
centerY: number;
radius: number;
id: string;
}
/**
* @hidden
* Alignment interface
*/
export interface Alignment {
vAlign?: string;
hAlign?: string;
}
/**
* @hidden
* SegmentInfo interface
*/
export interface SegmentInfo {
point?: PointModel;
index?: number;
angle?: number;
}
/**
* @hidden
* RectAttributes interface
*/
export interface RectAttributes extends BaseAttributes {
cornerRadius?: number;
}
/**
* @hidden
* PathAttributes interface
*/
export interface PathAttributes extends BaseAttributes {
data: string;
}
/**
* @hidden
* TextAttributes interface
*/
export interface TextAttributes extends BaseAttributes {
isShapeLabel: boolean;
freeTextSelectorWidth: number;
whiteSpace: string;
content: string;
breakWord: string;
fontSize: number;
textWrapping: TextWrap;
fontFamily: string;
bold: boolean;
italic: boolean;
textAlign: string;
color: string;
textOverflow: TextOverflow;
textDecoration: string;
doWrap: boolean;
wrapBounds: TextBounds;
childNodes: SubTextElement[];
thickness: number;
}
/**
* @hidden
* SubTextElement interface
*/
export interface SubTextElement {
text: string;
x: number;
dy: number;
width: number;
}
/**
* @hidden
* TextBounds interface
*/
export interface TextBounds {
x: number;
width: number;
}
/**
* @hidden
* PathSegment interface
*/
export interface PathSegment {
command?: string;
angle?: number;
largeArc?: boolean;
x2?: number;
sweep?: boolean;
x1?: number;
y1?: number;
y2?: number;
x0?: number;
y0?: number;
x?: number;
y?: number;
r1?: number;
r2?: number;
centp?: {
x?: number;
y?: number;
};
xAxisRotation?: number;
rx?: number;
ry?: number;
a1?: number;
ad?: number;
}
/**
* @hidden
* ImageAttributes interface
*/
export interface ImageAttributes extends BaseAttributes {
source: string;
sourceX: number;
sourceY: number;
sourceWidth: number;
sourceHeight: number;
scale: Scale;
alignment: ImageAlignment;
printID?: string;
}
/**
* @hidden
* ImageEntry interface
*/
export interface ImageEntry {
id: string;
image: HTMLImageElement;
canvasId: string;
}