@bokeh/bokehjs
Version:
Interactive, novel data visualization
68 lines • 2.39 kB
TypeScript
import type { Size, SizeHint, BoxSizing } from "./types";
import { Sizeable } from "./types";
import type { CoordinateMapper } from "../util/bbox";
import { BBox } from "../util/bbox";
import type { TextBox } from "../graphics";
export type ExtBoxSizing = BoxSizing & {
readonly size: Partial<Size>;
};
export declare abstract class Layoutable {
[Symbol.iterator](): Generator<Layoutable, void, undefined>;
absolute: boolean;
position: {
left: number;
top: number;
};
protected _bbox: BBox;
protected _inner_bbox: BBox;
get bbox(): BBox;
get inner_bbox(): BBox;
private _sizing;
get sizing(): ExtBoxSizing;
private _dirty;
set dirty(dirty: boolean);
get dirty(): boolean;
get visible(): boolean;
set visible(visible: boolean);
set_sizing(sizing?: Partial<BoxSizing>): void;
protected _init(): void;
protected _set_geometry(outer: BBox, inner: BBox): void;
set_geometry(outer: BBox, inner?: BBox): void;
fixup_geometry?(outer: BBox, inner?: BBox): [BBox, BBox?];
private _handlers;
on_resize(handler: (outer: BBox, inner: BBox) => void): void;
is_width_expanding(): boolean;
is_height_expanding(): boolean;
apply_aspect(viewport: Size, { width, height }: Size): Size;
protected abstract _measure(viewport: Sizeable): SizeHint;
measure(viewport_size: Size): SizeHint;
protected _compute(viewport: Partial<Size>): {
outer: BBox;
inner?: BBox;
};
compute(viewport?: Partial<Size>): void;
get xview(): CoordinateMapper;
get yview(): CoordinateMapper;
clip_size(size: Size, viewport: Size): Size;
has_size_changed(): boolean;
}
export declare abstract class ContentLayoutable extends Layoutable {
protected abstract _content_size(): Sizeable;
protected _measure(viewport: Sizeable): SizeHint;
}
export declare class ElementLayout extends ContentLayoutable {
readonly el: HTMLElement;
constructor(el: HTMLElement);
_content_size(): Sizeable;
}
export declare class TextLayout extends ContentLayoutable {
readonly text: TextBox;
constructor(text: TextBox);
_content_size(): Sizeable;
}
export declare class FixedLayout extends ContentLayoutable {
readonly size: Partial<Size>;
constructor(size?: Partial<Size>);
_content_size(): Sizeable;
}
//# sourceMappingURL=layoutable.d.ts.map