@visactor/vgrammar-core
Version:
VGrammar is a visual grammar library
42 lines (39 loc) • 1.44 kB
JavaScript
import { Factory } from "../core/factory";
import { registerGlyphGraphic, registerSymbolGraphic } from "../graph/mark/graphic";
import { registerGlyphMark } from "../view/glyph";
export const registerRippleGlyph = () => {
Factory.registerGlyph("ripplePoint", {
symbol: "symbol",
ripple0: "symbol",
ripple1: "symbol",
ripple2: "symbol"
}).registerFunctionEncoder(((encodeValues, datum, element, config) => {
var _a;
const ripple = Math.max(0, Math.min(encodeValues.ripple, 1)), size = null !== (_a = encodeValues.size) && void 0 !== _a ? _a : element.getGraphicAttribute("size"), rippleSize = .5 * size;
return {
ripple0: {
size: size + rippleSize * ripple,
fillOpacity: .75 - .25 * ripple
},
ripple1: {
size: size + rippleSize * (1 + ripple),
fillOpacity: .5 - .25 * ripple
},
ripple2: {
size: size + rippleSize * (2 + ripple),
fillOpacity: .25 - .25 * ripple
}
};
})).registerDefaultEncoder((() => ({
ripple0: {
fillOpacity: .75
},
ripple1: {
fillOpacity: .5
},
ripple2: {
fillOpacity: .25
}
}))), registerGlyphMark(), registerGlyphGraphic(), registerSymbolGraphic();
};
//# sourceMappingURL=ripple.js.map