import { XdgPositionerRequests, XdgPositionerResource } from 'westfield-runtime-server'; import { Point } from './math/Point'; import { RectWithInfo } from './math/Rect'; import Session from './Session'; import View from './View'; import XdgSurface from './XdgSurface'; declare const anchorCalculation: { /** * none */ readonly 0: (anchorRect: RectWithInfo) => Point; /** * top */ readonly 1: (anchorRect: RectWithInfo) => Point; /** * bottom */ readonly 2: (anchorRect: RectWithInfo) => Point; /** * left */ readonly 3: (anchorRect: RectWithInfo) => Point; /** * right */ readonly 4: (anchorRect: RectWithInfo) => Point; /** * topLeft */ readonly 5: (anchorRect: RectWithInfo) => Point; /** * bottomLeft */ readonly 6: (anchorRect: RectWithInfo) => Point; /** * topRight */ readonly 7: (anchorRect: RectWithInfo) => Point; /** * bottomRight */ readonly 8: (anchorRect: RectWithInfo) => Point; }; declare const offsetCalculation: { /** * none */ readonly 0: (anchor: Point, offset: Point, windowGeometry: RectWithInfo) => Point; /** * top */ readonly 1: (anchor: Point, offset: Point, windowGeometry: RectWithInfo) => Point; /** * bottom */ readonly 2: (anchor: Point, offset: Point, windowGeometry: RectWithInfo) => Point; /** * left */ readonly 3: (anchor: Point, offset: Point, windowGeometry: RectWithInfo) => Point; /** * right */ readonly 4: (anchor: Point, offset: Point, windowGeometry: RectWithInfo) => Point; /** * topLeft */ readonly 5: (anchor: Point, offset: Point, windowGeometry: RectWithInfo) => Point; /** * bottomLeft */ readonly 6: (anchor: Point, offset: Point, windowGeometry: RectWithInfo) => Point; /** * topRight */ readonly 7: (anchor: Point, offset: Point, windowGeometry: RectWithInfo) => Point; /** * bottomRight */ readonly 8: (anchor: Point, offset: Point, windowGeometry: RectWithInfo) => Point; }; export interface XdgPositionerState { sizeRect?: RectWithInfo; anchorRect?: RectWithInfo; anchor: keyof typeof anchorCalculation; gravity: keyof typeof offsetCalculation; constraintAdjustment: number; offset: Point; surfaceSpaceAnchorPoint(xdgSurface: XdgSurface): Point | undefined; checkScreenConstraints(xdgSurface: XdgSurface, view: View): { topViolation: number; rightViolation: number; bottomViolation: number; leftViolation: number; } | undefined; } export default class XdgPositioner implements XdgPositionerRequests { private session; readonly xdgPositionerResource: XdgPositionerResource; size?: RectWithInfo; anchorRect?: RectWithInfo; anchor: keyof typeof anchorCalculation; gravity: keyof typeof offsetCalculation; constraintAdjustment: number; offset: Point; static create(session: Session, xdgPositionerResource: XdgPositionerResource): XdgPositioner; constructor(session: Session, xdgPositionerResource: XdgPositionerResource); destroy(resource: XdgPositionerResource): void; setSize(resource: XdgPositionerResource, width: number, height: number): void; setAnchorRect(resource: XdgPositionerResource, x: number, y: number, width: number, height: number): void; setAnchor(resource: XdgPositionerResource, anchor: number): void; setGravity(resource: XdgPositionerResource, gravity: number): void; setConstraintAdjustment(resource: XdgPositionerResource, constraintAdjustment: number): void; setOffset(resource: XdgPositionerResource, x: number, y: number): void; createStateCopy(): XdgPositionerState; } export {};