API Reference > imodeljs-markup > MarkupApp > MarkupApp MarkupApp Class The main object for the Markup package. It is a singleton that stores the state of the Markup application. It has only static members and methods. Applications may customize and control the behavior of the Markup by setting members of MarkupApp.props. When MarkupApp.start is first called, it registers a set of "Markup.xxx" tools that may be invoked from UI controls. Methods Name Description constructor(): MarkupApp createMarkup(view: ScreenViewport, markupData?: MarkupSvgData): Markup ProtectedStatic initialize(): Promise<void> Static Call this method to initialize the Markup system. lockViewportSize(view: ScreenViewport, markupData?: MarkupSvgData): void ProtectedStatic start(view: ScreenViewport, markupData?: MarkupSvgData): Promise<void> Static Start a markup session stop(): Promise<MarkupData> Static Read the result of a Markup session, then stop the session. Properties Name Type Description isActive Accessor StaticReadOnly boolean determine whether there's a markup session currently active markup Static undefined | Markup the current Markup being created markupSelectToolId Static string namespace Static I18NNamespace The namespace for the Markup tools props Static { active: { arrow: { length: number, width: number }, cloud: { path: string }, element: { fill: string, fill-opacity: number, stroke: string, stroke-dasharray: number, stroke-linecap: string, stroke-linejoin: string, stroke-opacity: number, stroke-width: number }, text: { fill: string, font-family: string, font-size: string, stroke: string } }, borderCorners: { fill: string, fill-opacity: number, stroke: string, stroke-opacity: number, stroke-width: number }, borderOutline: { fill: string, stroke: string, stroke-opacity: number, stroke-width: number }, dropShadow: { attr: { dx: number, dy: number, flood-color: string, stdDeviation: number }, enable: boolean }, handles: { move: { cursor: string, opacity: number, stroke: string, stroke-width: number }, moveOutline: { cursor: string, fill: string, stroke: string, stroke-dasharray: string, stroke-opacity: number }, rotate: { cursor: string, fill: string, fill-opacity: number, stroke: string }, rotateLine: { fill-opacity: number, stroke: string }, size: number, stretch: { fill: string, fill-opacity: number, stroke: string }, vertex: { cursor: string, fill: string, fill-opacity: number, stroke: string } }, hilite: { color: string, flash: string }, result: { imageFormat: string, imprintSvgOnImage: boolean, maxWidth: number }, text: { edit: { background: string, fontSize: string, size: { height: string, width: string }, textBox: { fill: string, fill-opacity: number, stroke: string, stroke-opacity: number } }, startValue: string } } By setting members of this object, applications can control the appearance and behavior of various parts of MarkupApp. Defined in markup/src/Markup.ts Line 54 Last Updated: 11 June, 2024