import { Vec2, Vec4 } from "../Math/Vector"; import { AlignType, CursorType, DpiSize_2, InputModifier, InputType, KbKey, PointerButton, PointerType, PopupAlign, Rect } from "./UiCommon"; import { IControlExtension } from "../AveLib"; import { FileFindItem } from "../Io/IoCommon"; import { IAveStream } from "../Io/IoStream"; import { IPainter } from "./UiPainter"; import { Byo2Font } from "../Byo2/Byo2Font"; export declare enum DropBehavior { None = 0, Copy = 1, Move = 2, Link = 4 } export declare enum DragDropImage { Invalid = 0, No = 1, None = 2, Copy = 3, Move = 4, Link = 5, Label = 6, Warning = 7 } export interface IShellData { } export declare class MessageKey { Key: KbKey; Modifier: InputModifier; } export declare class MessagePointerMouse { LinePerWheel: number; Wheel: number; } export declare class MessagePointerTouch { Pressure: number; Orientation: number; Contact: Rect; } export declare class MessagePointerPen { Pressure: number; Twist: number; Tilt: Vec2; } export declare class MessagePointer { static FromNative(mp: MessagePointer): MessagePointer; Id: number; Type: PointerType; Position: Vec2; Modifier: InputModifier; Button: PointerButton; Count: number; Mouse: MessagePointerMouse; Touch: MessagePointerTouch; Pen: MessagePointerPen; } export interface IDragContext { GetModifier(): InputModifier; GetPosition(): Vec2; SetDropTip(image: DragDropImage, s: string): void; SetDropBehavior(n: DropBehavior): void; HasVirtualFile(): boolean; HasFile(): boolean; VirtualFileGetCount(): number; VirtualFileGetInfo(nIndex: number): FileFindItem; VirtualFileOpen(nIndex: number): IAveStream; FileGetCount(): number; FileGet(): string[]; } export declare class PopupParam { Exclude: Rect; Align: PopupAlign; VerticalAlign: AlignType; ClipMonitor: boolean; ScreenSpace: boolean; CatchClosingClick: number; constructor(rcExclue?: Rect, align?: PopupAlign, valign?: AlignType); } export interface IControl extends IControlExtension { SetVisible(b: boolean): IControl; GetVisible(): boolean; SetEnable(b: boolean): IControl; GetEnable(): boolean; GetRect(): Rect; GetRectClient(): Rect; SetIdealSize(vSize: DpiSize_2): IControl; GetIdealSize(): DpiSize_2; GetParent(): IControl; SetFocusEnable(b: boolean): IControl; GetFocusEnable(): boolean; GetFocus(): IControl; SetFocus(): IControl; SetKeyTip(tip: string, nIndex?: number): IControl; GetKeyTip(nIndex: number): string; SetToolTip(tip: string): IControl; GetToolTip(pt: Vec2): string; SetStyle(nStyle: number): IControl; GetStyle(): number; SetFont(pFont: Byo2Font): IControl; SetTextColor(vColor: Vec4): IControl; GetTextColor(): Vec4; SetOpacity(f: number): IControl; GetOpacity(): number; SetRotation(f: number): IControl; GetRotation(): number; HasRotation(): boolean; SetTabStop(b: boolean): IControl; GetTabStop(): boolean; MapRect(rc: Rect, bClient: boolean): Rect; Redraw(): IControl; GetLastInputType(): InputType; GetLastPointerType(): PointerType; GetLastMessageTime(): number; IsVisual(): boolean; SetDropEnable(b: boolean): IControl; GetDropEnable(): boolean; ShowPopup(pPopup: IControl, vPos: Vec2, param: PopupParam): Promise; HidePopup(): any; OnKeyPress(fn: (sender: IControl, mk: MessageKey) => void): IControl; OnKeyRelease(fn: (sender: IControl, mk: MessageKey) => void): IControl; OnPointerEnter(fn: (sender: IControl, mp: MessagePointer) => void): IControl; OnPointerLeave(fn: (sender: IControl, mp: MessagePointer) => void): IControl; OnPointerPress(fn: (sender: IControl, mp: MessagePointer) => void): IControl; OnPointerRelease(fn: (sender: IControl, mp: MessagePointer) => void): IControl; OnPointerClickNdc(fn: (sender: IControl, mp: MessagePointer) => void): IControl; OnPointerMove(fn: (sender: IControl, mp: MessagePointer) => void): IControl; OnPointerVWheel(fn: (sender: IControl, mp: MessagePointer) => void): IControl; OnPointerHWheel(fn: (sender: IControl, mp: MessagePointer) => void): IControl; OnPointerHover(fn: (sender: IControl, mp: MessagePointer) => void): IControl; OnPointerLost(fn: (sender: IControl, mp: MessagePointer) => void): IControl; OnPointerCursor(fn: (sender: IControl, mp: MessagePointer) => CursorType): IControl; OnDragEnter(fn: (sender: IControl, dc: IDragContext) => void): IControl; OnDragMove(fn: (sender: IControl, dc: IDragContext) => void): IControl; OnDragLeave(fn: (sender: IControl, dc: IDragContext) => void): IControl; OnDragDrop(fn: (sender: IControl, dc: IDragContext) => void): IControl; OnDragEnd(fn: (sender: IControl, dc: IDragContext) => void): IControl; OnChangeFocus(fn: (sender: IControl, bFocus: boolean) => void): IControl; OnChangeSize(fn: (sender: IControl, vSize: Vec2) => void): IControl; OnPaintPost(fn: (sender: IControl, painter: IPainter, rc: Rect) => void): IControl; }