Files
go-jdenticon/jdenticon-js/src/apis/drawIcon.js
Kevin McIntyre f84b511895 init
2025-06-18 01:00:00 -04:00

29 lines
1.2 KiB
JavaScript

import { iconGenerator } from "../renderer/iconGenerator";
import { isValidHash, computeHash } from "../common/hashUtils";
import { CanvasRenderer } from "../renderer/canvas/canvasRenderer";
import { IS_RENDERED_PROPERTY } from "../common/dom";
/**
* Draws an identicon to a context.
* @param {CanvasRenderingContext2D} ctx - Canvas context on which the icon will be drawn at location (0, 0).
* @param {*} hashOrValue - A hexadecimal hash string or any value that will be hashed by Jdenticon.
* @param {number} size - Icon size in pixels.
* @param {Object|number=} config - Optional configuration. If specified, this configuration object overrides any
* global configuration in its entirety. For backward compatibility a padding value in the range [0.0, 0.5) can be
* specified in place of a configuration object.
*/
export function drawIcon(ctx, hashOrValue, size, config) {
if (!ctx) {
throw new Error("No canvas specified.");
}
iconGenerator(new CanvasRenderer(ctx, size),
isValidHash(hashOrValue) || computeHash(hashOrValue),
config);
const canvas = ctx.canvas;
if (canvas) {
canvas[IS_RENDERED_PROPERTY] = true;
}
}