+26
@@ -0,0 +1,26 @@
|
||||
/**
|
||||
* Bounding box used for label transform computation.
|
||||
* For SVG getBBox(), x/y may be present; for HTML getBoundingClientRect(), only width/height are used.
|
||||
*/
|
||||
export interface LabelBBox {
|
||||
x?: number;
|
||||
y?: number;
|
||||
width: number;
|
||||
height: number;
|
||||
}
|
||||
/**
|
||||
* Compute the SVG translate transform needed to center a label element at the origin.
|
||||
*
|
||||
* For HTML labels, getBoundingClientRect() is used and its x/y are viewport-absolute,
|
||||
* so only width/height are relevant for centering within the SVG group.
|
||||
*
|
||||
* For SVG labels, getBBox() returns coordinates in the element's local coordinate system.
|
||||
* When addSvgBackground is true, the background <rect> extends beyond the text (making
|
||||
* bbox.x/y negative), so we include those offsets to correctly center the visual
|
||||
* content at the origin.
|
||||
*
|
||||
* @param bbox - The bounding box of the label element
|
||||
* @param useHtmlLabels - Whether HTML labels are in use
|
||||
* @returns SVG transform string, e.g. "translate(-20, -10)"
|
||||
*/
|
||||
export declare const computeLabelTransform: (bbox: LabelBBox, useHtmlLabels: boolean) => string;
|
||||
Reference in New Issue
Block a user