@itwin/core-backend
Version:
iTwin.js backend components
33 lines • 1.7 kB
TypeScript
/** @packageDocumentation
* @module ElementGeometry
*/
import { ElementGeometry, TextAnnotationProps } from "@itwin/core-common";
import { TextBlockLayout, TextStyleResolver } from "./TextBlockLayout";
import { Id64String } from "@itwin/core-bentley";
/**
* Properties required to compute the geometry of a text annotation.
* @beta
* @see [[appendTextAnnotationGeometry]] to append the geometry to an [[ElementGeometry.Builder]].
*/
export interface AppendTextAnnotationGeometryArgs {
/** The annotation to be drawn. Be sure to include a TextBlock with runs or no geometry will be produced. */
annotationProps: TextAnnotationProps;
/** Layout provided by calling [[layoutTextBlock]] */
layout: TextBlockLayout;
/** [[TextStyleResolver]] used to get styling and scale information for creating geometry. */
textStyleResolver: TextStyleResolver;
/** Builder that will be added to in place */
builder: ElementGeometry.Builder;
/** The category the element will belong to. This will passed into the [[GeometryParams]] */
categoryId: Id64String;
/** The optional sub-category the element will belong to. This will passed into the [[GeometryParams]] */
subCategoryId?: Id64String;
/** Whether or not to draw geometry for things like the snap points, range, and anchor point */
wantDebugGeometry?: boolean;
}
/** Constructs the TextBlockGeometry and frame geometry and appends the geometry to the provided builder.
* @returns true if the geometry was successfully appended.
* @beta
*/
export declare function appendTextAnnotationGeometry(props: AppendTextAnnotationGeometryArgs): boolean;
//# sourceMappingURL=TextAnnotationGeometry.d.ts.map