UNPKG

@itwin/core-backend

Version:
49 lines 2.53 kB
/** @packageDocumentation * @module ElementGeometry */ import { ElementGeometry, TextAnnotationProps } from "@itwin/core-common"; import { TextBlockLayout, TextStyleResolver } from "./TextBlockLayout"; import { Id64String } from "@itwin/core-bentley"; /** * Render priorities for different parts of a text annotation. * These values are used to initialize [GeometryParams.elmPriority]($common). * elmPriority is an optional display priority added to [[SubCategoryAppearance.priority]]. * The net display priority value is used to control z ordering when drawing to 2d views. * This property has no effect in 3D views. * @beta */ export interface RenderPriority { annotation?: number; annotationLabels?: number; } /** * 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; /** The scale factor to apply to the annotation. Usually comes from the `scaleFactor` of a [[Drawing]] element. */ scaleFactor: number; /** 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; /** Optional render priorities for different parts of the annotation. These values are provided to geometryParams.elmPriority. This property does not affect 3d views.*/ renderPriority?: RenderPriority; } /** 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