##// END OF EJS Templates
Добавлена метка v1.0.0-rc1 для набора изменений 1e22cac2aaf4
Добавлена метка v1.0.0-rc1 для набора изменений 1e22cac2aaf4

File last commit:

r0:ab570232df7d default
r3:0b28c6ab359f default
Show More
gfx.d.ts
297 lines | 8.7 KiB | video/mp2t | TypeScriptLexer
/// <reference path="gfx/arc.d.ts" />
/// <reference path="gfx/bezierutils.d.ts" />
/// <reference path="gfx/decompose.d.ts" />
/// <reference path="gfx/filters.d.ts" />
/// <reference path="gfx/fx.d.ts" />
/// <reference path="gfx/gradient.d.ts" />
/// <reference path="gfx/gradutils.d.ts" />
/// <reference path="gfx/matrix.d.ts" />
/// <reference path="gfx/Moveable.d.ts" />
/// <reference path="gfx/Mover.d.ts" />
/// <reference path="gfx/path.d.ts" />
/// <reference path="gfx/registry.d.ts" />
/// <reference path="gfx/shape.d.ts" />
/// <reference path="gfx/utils.d.ts" />
/// <reference path="gfx/VectorText.d.ts" />
declare namespace dojox {
namespace gfx {
type ColorLike = dojo._base.ColorValue | dojo._base.ColorValueAlpha | dojo._base.ColorObject | string;
type CubicBezierCurve = [number, number, number, number, number, number, number, number];
type Fill = ColorLike | LinearFill | RadialFill | Pattern;
type GfxElement = Group | dojox.gfx.shape.Shape | dojox.gfx.shape.Surface;
type QuadraticBezierCurve = [number, number, number, number, number, number];
interface CreateSurface {
(parentNode: Node, width: number | string, height: number | string): dojox.gfx.shape.Surface;
}
interface FixTarget {
(event: Event, target: GfxElement): boolean;
}
interface Font extends SimpleShape {
family?: string;
size?: string;
style?: string; // TODO: enum
variant?: string; // TODO: enum
weight?: string; // TODO: enum
}
interface GradientOffsetColor {
color: string;
offset: number;
}
interface Group extends dojox.gfx.shape.Shape, dojox.gfx.shape.Container, dojox.gfx.shape.Creator {
setRawNode(node: Node): void;
}
interface GroupConstructor extends dojox.gfx.shape.ShapeConstructor {
new(): Group;
prototype: Group;
}
interface LinearFill {
colors: string[] | dojo._base.Color[];
type: string; // TODO: enum
x1: number;
x2: number;
y1: number;
y2: number;
}
interface LinearGradient extends SimpleShape {
angle?: number;
colors?: GradientOffsetColor[];
x1: number;
x2: number;
y1: number;
y2: number;
}
interface Pattern extends SimpleShape {
height?: number;
src: string;
width?: number;
x?: number;
y?: number;
}
interface Point {
x: number;
y: number;
}
// TODO: is this type necessary? It only matches the logic in 'dojox/gfx/gradutils.getColor',
// which itself is not actually called anywhere within 'dojox/gfx'.
interface RadialFill {
colors?: string[] | dojo._base.Color[];
cx?: number;
cy?: number;
r?: number;
type?: string; // TODO: enum
}
interface RadialGradient extends SimpleShape {
colors?: GradientOffsetColor[];
cx: number;
cy: number;
r: number;
}
// TODO: maybe complete this? (probably not important)
// Missing methods: look in 'dojox/gfx/svg.js'
// These methods are all defined in each specific renderer, but copied to the base module by
// 'dojox/gfx/_base.switchTo', so the typings have been defined in this file (e.g. Group, Rect, Ellipse).
interface Renderer {
createSurface: CreateSurface;
fixTarget: FixTarget;
}
interface SimpleCircle extends SimpleShape {
cx: number;
cy: number;
r: number;
}
interface SimpleEllipse extends SimpleShape {
cx: number;
cy: number;
rx: number;
ry: number;
}
interface SimpleImage extends SimpleShape {
height?: number;
src: string;
width?: number;
x?: number;
y?: number;
}
interface SimpleLine extends SimpleShape {
x1: number;
x2: number;
y1: number;
y2: number;
}
interface SimplePath extends SimpleShape {
path: string;
}
interface SimplePolyline extends SimpleShape {
points: Point[];
}
interface SimpleRectangle extends SimpleShape {
height: number;
r?: number;
width: number;
x: number;
y: number;
}
interface SimpleShape {
type?: string; // TODO: enum
}
interface SimpleText extends SimpleShape {
align?: string; // TODO: enum
decoration?: string;
fitting?: number; // TODO: enum
height?: number;
kerning: boolean;
leading?: number;
rotated?: boolean;
text: string;
width?: number;
x?: number;
y?: number;
}
interface SimpleTextPath extends SimpleShape {
align?: string;
decoration?: string;
kerning?: boolean;
rotated?: boolean;
text: string;
}
interface Stroke extends SimpleShape {
cap?: string; // TODO: enum
color?: ColorLike;
join?: number | string;
style?: string; // TODO: enum
width?: number;
}
interface Translation {
dx: number;
dy: number;
}
}
}
declare module 'dojox/gfx' {
/* tslint:disable:no-unused-variable */
type Circle = dojox.gfx.shape.Circle;
const Circle: dojox.gfx.shape.CircleConstructor;
type ColorLike = dojox.gfx.ColorLike;
type CubicBezierCurve = dojox.gfx.CubicBezierCurve;
type Ellipse = dojox.gfx.shape.Ellipse;
const Ellipse: dojox.gfx.shape.EllipseConstructor;
type Fill = dojox.gfx.Fill;
type Font = dojox.gfx.Font;
type GfxElement = dojox.gfx.GfxElement;
type GradientOffsetColor = dojox.gfx.GradientOffsetColor;
type Group = dojox.gfx.Group;
const Group: dojox.gfx.GroupConstructor;
type Image = dojox.gfx.shape.Image;
const Image: dojox.gfx.shape.ImageConstructor;
type Line = dojox.gfx.shape.Line;
const Line: dojox.gfx.shape.LineConstructor;
type LinearFill = dojox.gfx.LinearFill;
type LinearGradient = dojox.gfx.LinearGradient;
type Path = dojox.gfx.path.Path;
const Path: dojox.gfx.path.PathConstructor;
type Pattern = dojox.gfx.Pattern;
type Point = dojox.gfx.Point;
type PolyLine = dojox.gfx.shape.PolyLine;
const PolyLine: dojox.gfx.shape.PolyLineConstructor;
type QuadraticBezierCurve = dojox.gfx.QuadraticBezierCurve;
type RadialFill = dojox.gfx.RadialFill;
type RadialGradient = dojox.gfx.RadialGradient;
type Rect = dojox.gfx.shape.Rect;
const Rect: dojox.gfx.shape.RectConstructor;
type Renderer = dojox.gfx.Renderer;
type SimpleCircle = dojox.gfx.SimpleCircle;
type SimpleEllipse = dojox.gfx.SimpleEllipse;
type SimpleImage = dojox.gfx.SimpleImage;
type SimpleLine = dojox.gfx.SimpleLine;
type SimplePath = dojox.gfx.SimplePath;
type SimplePolyline = dojox.gfx.SimplePolyline;
type SimpleRectangle = dojox.gfx.SimpleRectangle;
type SimpleShape = dojox.gfx.SimpleShape;
type SimpleText = dojox.gfx.SimpleText;
type SimpleTextPath = dojox.gfx.SimpleTextPath;
type Stroke = dojox.gfx.Stroke;
type Surface = dojox.gfx.shape.Surface;
const Surface: dojox.gfx.shape.SurfaceConstructor;
type Text = dojox.gfx.shape.Text;
const Text: dojox.gfx.shape.TextConstructor;
type TextPath = dojox.gfx.path.TextPath;
const TextPath: dojox.gfx.path.TextPathConstructor;
/* tslint:disable-next-line:variable-name */
const cm_in_pt: number;
const defaultCircle: dojox.gfx.SimpleCircle;
const defaultEllipse: dojox.gfx.SimpleEllipse;
const defaultFont: dojox.gfx.Font;
const defaultImage: dojox.gfx.SimpleImage;
const defaultLine: dojox.gfx.SimpleLine;
const defaultLinearGradient: dojox.gfx.LinearGradient;
const defaultPath: dojox.gfx.SimplePath;
const defaultPattern: dojox.gfx.Pattern;
const defaultPolyline: dojox.gfx.SimplePolyline;
const defaultRadialGradient: dojox.gfx.RadialGradient;
const defaultRect: dojox.gfx.SimpleRectangle;
const defaultStroke: dojox.gfx.Stroke;
const defaultText: dojox.gfx.SimpleText;
const defaultTextPath: dojox.gfx.SimpleTextPath;
const defaultVectorFont: dojox.gfx.VectorFont; // from dojox/gfx/VectorText
const defaultVectorText: dojox.gfx.VectorText; // from dojox/gfx/VectorText
/* tslint:disable-next-line:variable-name */
const mm_in_pt: number;
const pathSvgRegExp: RegExp;
const pathVmlRegExp: RegExp;
const vectorFontFitting: {
NONE: string;
FLOW: string;
FIT: string;
}; // from dojox/gfx/VectorText
const createSurface: dojox.gfx.CreateSurface;
const equalSources: (a: any, b: any) => boolean;
const fixTarget: dojox.gfx.FixTarget;
const formatNumber: (value: number, addSpace: boolean) => string;
const getDefault: (shapeType: string) => dojox.gfx.SimpleShape;
const getVectorFont: (url: string) => dojox.gfx.VectorText; // from dojox/gfx/VectorText
const makeFontString: (font: dojox.gfx.Font) => string;
const makeParameters: (defaults: Object, options: Object) => Object;
const normalizeColor: (color: dojox.gfx.ColorLike) => dojo._base.Color;
const normalizedLength: (cssLengthString: string) => number;
const normalizeParameters: (target: Object, source: Object) => Object;
const pt2px: (points: number) => number;
const px2pt: (pixels: number) => number;
/* tslint:disable-next-line:variable-name */
const px_in_pt: () => number;
const splitFontString: (fontString: string) => dojox.gfx.Font;
const switchTo: (renderer: string | dojox.gfx.Renderer) => void;
/* tslint:enable */
}
declare module 'dojox/gfx/_base' {
export * from 'dojox/gfx';
}