Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | 1x 1x 1x 1x 1x 1x 7x 1x 37x | import { getMetadata, updateMetadata } from './updateMetadata';
import {
createBooleanDefinition,
createNumberDefinition,
createObjectDefinition,
createStringDefinition,
} from './definitionCreators';
import type {
ContentModelImage,
ImageMetadataFormat,
ReadonlyContentModelImage,
} from 'roosterjs-content-model-types';
const NumberDefinition = createNumberDefinition(true);
const BooleanDefinition = createBooleanDefinition(true);
/**
* @internal
* Definition of ImageMetadataFormat
*/
const ImageMetadataFormatDefinition = createObjectDefinition<Required<ImageMetadataFormat>>({
widthPx: NumberDefinition,
heightPx: NumberDefinition,
leftPercent: NumberDefinition,
rightPercent: NumberDefinition,
topPercent: NumberDefinition,
bottomPercent: NumberDefinition,
angleRad: NumberDefinition,
src: createStringDefinition(),
naturalHeight: NumberDefinition,
naturalWidth: NumberDefinition,
flippedHorizontal: BooleanDefinition,
flippedVertical: BooleanDefinition,
});
/**
* Get image metadata
* @param image The image Content Model
*/
export function getImageMetadata(image: ReadonlyContentModelImage): ImageMetadataFormat | null {
return getMetadata(image, ImageMetadataFormatDefinition);
}
/**
* Update image metadata with a callback
* @param image The image Content Model
* @param callback The callback function used for updating metadata
*/
export function updateImageMetadata(
image: ContentModelImage,
callback?: (format: ImageMetadataFormat | null) => ImageMetadataFormat | null
): ImageMetadataFormat | null {
return updateMetadata(image, callback, ImageMetadataFormatDefinition);
}
|