@inweb/markup
Version:
JavaScript 2D markups
89 lines (79 loc) • 2.81 kB
text/typescript
///////////////////////////////////////////////////////////////////////////////
// Copyright (C) 2002-2025, Open Design Alliance (the "Alliance").
// All rights reserved.
//
// This software and its documentation and related materials are owned by
// the Alliance. The software may only be incorporated into application
// programs owned by members of the Alliance, subject to a signed
// Membership Agreement and Supplemental Software License Agreement with the
// Alliance. The structure and organization of this software are the valuable
// trade secrets of the Alliance and its suppliers. The software is also
// protected by copyright law and international treaty provisions. Application
// programs incorporating this software must include the following statement
// with their copyright notices:
//
// This application incorporates Open Design Alliance software pursuant to a
// license agreement with Open Design Alliance.
// Open Design Alliance Copyright (C) 2002-2025 by Open Design Alliance.
// All rights reserved.
//
// By use of this software, its documentation or related materials, you
// acknowledge and accept the above terms.
///////////////////////////////////////////////////////////////////////////////
/**
* 2D markup object interface.
*/
export interface IMarkupObject {
/**
* Returns a reference to a core markup library object (Konva, VisualizeJS, etc.).
*/
ref(): any;
/**
* Returns the internal identifier of the object. Not unique.
*/
id(): string;
/**
* Enables or disables the ability to select and edit an object using the mouse.
*/
enableMouseEditing(value: boolean): void;
/**
* Returns the type of the object.
*/
type(): string;
/**
* Returns the rotation angle of the object, in degress.
*/
getRotation(): number;
/**
* Sets the rotation angle of the object.
*
* @param degrees - Number of degress to rotate.
*/
setRotation(degrees: number): void;
/**
* Returns the Z-index of a object relative to sibling objects that are in the same group.
*
* Z-Index is not absolute (like in CSS). It is relative to parent object group only:
*
* - `images` - are olways at the bottom
* - `texts` - are olways on top
* - `others` - are always between images and texts
*/
getZIndex(): number;
/**
* Sets the Z-index of a object relative to sibling objects that are in the same group.
*
* Z-Index is not absolute (like in CSS). It is relative to parent object group only:
*
* - `images` - are olways at the bottom
* - `texts` - are olways on top
* - `others` - are always between images and texts
*
* @param zIndex - An integer value of Z-Index.
*/
setZIndex(zIndex: number): void;
/**
* Deletes the current object.
*/
delete(): void;
}