image.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.Image = void 0;
  4. const utils_1 = require("./utils");
  5. const Image = (options) => {
  6. const { cartesian } = options;
  7. if (cartesian)
  8. return utils_1.visualMark;
  9. return (index, scale, value, coordinate) => {
  10. const { x: X, y: Y } = value;
  11. const offset = (0, utils_1.createBandOffset)(scale, value, options);
  12. const P = Array.from(index, (i) => {
  13. const p = [+X[i], +Y[i]];
  14. return [coordinate.map(offset(p, i))];
  15. });
  16. return [index, P];
  17. };
  18. };
  19. exports.Image = Image;
  20. const shapes = ['image'];
  21. exports.Image.props = {
  22. defaultShape: 'image',
  23. defaultLabelShape: 'label',
  24. composite: false,
  25. channels: [
  26. ...(0, utils_1.baseGeometryChannels)({ shapes }),
  27. { name: 'x', required: true },
  28. { name: 'y', required: true },
  29. { name: 'src', scale: 'identity' },
  30. { name: 'size' },
  31. ],
  32. preInference: [
  33. ...(0, utils_1.basePreInference)(),
  34. { type: 'maybeTuple' },
  35. { type: 'maybeVisualPosition' },
  36. ],
  37. postInference: [...(0, utils_1.basePostInference)(), ...(0, utils_1.tooltip2d)()],
  38. };
  39. //# sourceMappingURL=image.js.map