|
|
- // NOTE: When a typedef is isolated in a separate comment block, an actual description is generated for it,
- // using the rest of the commenting in the code block. Usage of typedef in other comments then
- // link to there. TIL.
- //
- // Also noteworthy, all typedef's set up in this manner are collected in a single, global page 'global.html'.
- // In other words, it doesn't matter *where* the typedef's are defined in the code.
- //
- //
- // TODO: add descriptive commenting to given typedef's
-
- /**
- * @typedef {{type:string, point:Point, angle:number, length:number}} ArrowData
- *
- * Object containing instantiation data for a given endpoint.
- */
-
- /**
- * @typedef {{x:number, y:number}} Point
- *
- * A point in view-coordinates.
- */
-
- /**
- * @typedef {{toArrow: boolean, toArrowScale: (allOptions.edges.arrows.to.scaleFactor|{number}|allOptions.edges.arrows.middle.scaleFactor|allOptions.edges.arrows.from.scaleFactor|Array|number), toArrowType: *, middleArrow: boolean, middleArrowScale: (number|allOptions.edges.arrows.middle.scaleFactor|{number}|Array), middleArrowType: (allOptions.edges.arrows.middle.type|{string}|string|*), fromArrow: boolean, fromArrowScale: (allOptions.edges.arrows.to.scaleFactor|{number}|allOptions.edges.arrows.middle.scaleFactor|allOptions.edges.arrows.from.scaleFactor|Array|number), fromArrowType: *, arrowStrikethrough: (*|boolean|allOptions.edges.arrowStrikethrough|{boolean}), color: undefined, inheritsColor: (string|string|string|allOptions.edges.color.inherit|{string, boolean}|Array|*), opacity: *, hidden: *, length: *, shadow: *, shadowColor: *, shadowSize: *, shadowX: *, shadowY: *, dashes: (*|boolean|Array|allOptions.edges.dashes|{boolean, array}), width: *}} ArrowOptions
- */
-
- /**
- * @typedef {string|number} Id
- */
-
- /**
- * @typedef {Id} NodeId
- */
-
- /**
- * @typedef {Id} EdgeId
- */
-
- /**
- * @typedef {Id} LabelId
- */
-
- /**
- * @typedef {{x: number, y: number}} point
- */
-
- /**
- * @typedef {{left: number, top: number, width: number, height: number}} rect
- */
-
- /**
- * @typedef {{x: number, y:number, angle: number}} rotationPoint
- *
- * point to rotate around and the angle in radians to rotate. angle == 0 means no rotation
- */
-
- /**
- * @typedef {{nodeId:NodeId}} nodeClickItem
- */
-
- /**
- * @typedef {{nodeId:NodeId, labelId:LabelId}} nodeLabelClickItem
- */
-
- /**
- * @typedef {{edgeId:EdgeId}} edgeClickItem
- */
-
- /**
- * @typedef {{edgeId:EdgeId, labelId:LabelId}} edgeLabelClickItem
- */
-
- /**
- * @typedef {'bold'|'ital'|'boldital'|'mono'|'normal'} MultiFontStyle
- *
- * The allowed specifiers of multi-fonts.
- */
-
- /**
- * @typedef {{color:string, size:number, face:string, mod:string, vadjust:number}} MultiFontOptions
- *
- * The full set of options of a given multi-font.
- */
-
- /**
- * @typedef {Array.<object>} Pile
- *
- * Sequence of option objects, the order is significant.
- * The sequence is used to determine the value of a given option.
- *
- * Usage principles:
- *
- * - All search is done in the sequence of the pile.
- * - As soon as a value is found, the searching stops.
- * - prototypes are totally ignored. The idea is to add option objects used as prototypes
- * to the pile, in the correct order.
- */
|