Home Reference Source
import {Screen} from './scripts/screen/FrameManager.js'
public class | source

Screen

Extends:

scripts/core/ui_base.js~ui_base.UIBase → Screen

Direct Subclass:

SimpleScreen

Base class for app workspaces

attributes:

inherit-scale : don't resize to fit whole screen, use cssbox scaling

Static Method Summary

Static Public Methods
public static

define(): {"tagname": string}

public static

fromJSON(obj: *, schedule_resize: boolean): *

public static

newSTRUCT(): *

Constructor Summary

Public Constructor
public

Member Summary

Public Members
public
public get

borders: *

public get

ctx: *

public set

ctx

public
public
public
public

keymap: *

public
public get
public
public
public
public

oldpos: *

public

pos: *

public

sareas: *[]

public
public
public

size: *

public
public
public

uidata: *

Private Members
private
private

_ctx: *

private
private
private

_edgemap: {}

private

_idmap: {}

private
private
private
private

_popups: *[]

private
private
private
private

_vertmap: {}

Method Summary

Public Methods
public

add(child: *): *

public

addEventListener(type: *, cb: *, options: *): *

public
public

appendChild(child: *): *

public

areaDragTool(sarea: *)

public

areasBorder(sarea1: *, sarea2: *): boolean

public
public

checkAreaConstraint(sarea: *, checkOnly: boolean): *

public
public
public

clear()

public

collapseArea(sarea: *, border: *): *

merges sarea into the screen area opposite to sarea

public
public
public

copy(): *

public
public

draggablePopup(x: *, y: *): *

public

draw()

public
public

execKeyMap(e: *): *

public

findScreenArea(x: *, y: *): *

public

floatArea(area: *): *

public

freeBorder(b: *, sarea: *)

public

getBoolAttribute(attr: *, defaultval: boolean): *

public

getHotKey(toolpath: *): *

public

getScreenBorder(sarea: *, v1: *, v2: *, side: *): *

public

getScreenVert(pos: *, added_id: string, floating: boolean): *

public

hasBorder(b: *): *

public
public

init()

public

isBorderMovable(b: *, limit: number): *

public

isBorderOuter(border: *): *

public

killBorder(b: *): *

public

killScreenVertex(v: *): *

public

listen(args: {"updateSize": boolean})

public

load()

public
public

loadJSON(obj: *, schedule_resize: boolean)

public

loadSTRUCT(reader: *): *

public

loadUIData(str: *)

public
public
public

mergeGlobalCSS(style: *): *

public

minmaxArea(sarea: *, mm: *): *

public

moveAttachTool(sarea: *, mpos: *, elem: *, pointerId: *)

public

moveBorder(b: *, df: *, strict: boolean): *

public

moveBorderSimple(b: *, df: *, strict: boolean): boolean

public

moveBorderUnused(b: *, df: *, strict: boolean): boolean

public

moveBorderWithoutVerts(halfedge: *, df: *)

public
public

on_keydown(e: *): *

public

on_keypress(e: *): *

public

on_keyup(e: *): *

public

on_resize(oldsize: *, newsize: *, _set_key: boolean)

public

pickElement(x: *, y: *, args: *): *

public

popup(popupDelay: *): *

public

popupArea(area_class: *): *

public

popupMenu(menu: *, x: *, y: *): *

public
public
public
public

regenScreenMesh(snapLimit: *)

public

remove(trigger_destroy: boolean): *

public

removeArea(sarea: *)

public

removeAreaTool(border: *)

public

removeEventListener(type: *, cb: *, options: *): *

public

replaceArea(dst: *, src: *)

public

save()

public

saveUIData(): *

public

setCSS()

public

setPos(x: *, y: *)

public

setPosSize(x: *, y: *, w: *, h: *)

public

setSize(w: *, h: *)

public

snapScreenVerts(fitToSize: boolean)

public

solveAreaConstraints(snapArgument: boolean)

public

splitArea(sarea: *, t: number, horiz: boolean): *

public
public

test_struct(appstate: *): *

public

toJSON(): *

public
public

update()

public
public
public
public
public

walkBorderLine(b: *): *

Private Methods
private

* _allAreas()

private

_calcSizeKey(w: *, h: *, x: *, y: *, dpi: *, scale: *): *

private
private
private

_fireResizeCB(oldsize: *)

private
private
private
private

_popup(owning_node: *, elem_or_x: *, y: *, closeOnMouseOut: boolean): *

makes a popup at x,y and returns a new container-x for it

private
private
private

Static Public Methods

public static define(): {"tagname": string} source

Return:

{"tagname": string}

public static fromJSON(obj: *, schedule_resize: boolean): * source

Params:

NameTypeAttributeDescription
obj *
schedule_resize boolean
  • optional
  • default: false

Return:

*

public static newSTRUCT(): * source

Return:

*

Public Constructors

public constructor() source

Public Members

public allBordersMovable: * source

public get borders: * source

public get ctx: * source

public set ctx source

public fullScreen: boolean source

public globalCSS: * source

public idgen: number source

public keymap: * source

public listen_timer: * source

public get listening: * source

public mpos: number[] source

public needsBorderRegen: boolean source

public needsTabRecalc: boolean source

public oldpos: * source

public pos: * source

public sareas: *[] source

public screenborders: *[] source

public screenverts: *[] source

public size: * source

public snapLimit: number source

public testAllKeyMaps: boolean source

public uidata: * source

Private Members

private _aabb: undefined[] source

private _ctx: * source

private _debug_overlay: * source

private _do_updateSize: boolean source

private _edgemap: {} source

private _idmap: {} source

private _last_ckey1: * source

private _last_scrollstyle_key: * source

private _popup_safe: number source

private _popups: *[] source

private _resize_callbacks: *[] source

private _screen_id: * source

private _update_gen: * source

private _vertmap: {} source

Public Methods

public add(child: *): * source

Params:

NameTypeAttributeDescription
child *

Return:

*

public addEventListener(type: *, cb: *, options: *): * source

Params:

NameTypeAttributeDescription
type *
cb *
options *

Return:

*

public afterSTRUCT() source

public appendChild(child: *): * source

Params:

NameTypeAttributeDescription
child *

Return:

*

public areaDragTool(sarea: *) source

Params:

NameTypeAttributeDescription
sarea *
  • optional

public areasBorder(sarea1: *, sarea2: *): boolean source

Params:

NameTypeAttributeDescription
sarea1 *
sarea2 *

Return:

boolean

public calcTabOrder() source

public checkAreaConstraint(sarea: *, checkOnly: boolean): * source

Params:

NameTypeAttributeDescription
sarea *
checkOnly boolean
  • optional
  • default: false

Return:

*

public checkCSSSize() source

public cleanupBorders() source

public clear() source

public collapseArea(sarea: *, border: *): * source

merges sarea into the screen area opposite to sarea

Params:

NameTypeAttributeDescription
sarea *
border *

Return:

*

public completeSetCSS() source

public completeUpdate() source

public copy(): * source

Return:

*

public destroy() source

public draggablePopup(x: *, y: *): * source

Params:

NameTypeAttributeDescription
x *
y *

Return:

*

public draw() source

public drawUpdate() source

public execKeyMap(e: *): * source

Params:

NameTypeAttributeDescription
e *

Return:

*

public findScreenArea(x: *, y: *): * source

Params:

NameTypeAttributeDescription
x *
y *

Return:

*

public floatArea(area: *): * source

Params:

NameTypeAttributeDescription
area *

Return:

*

public freeBorder(b: *, sarea: *) source

Params:

NameTypeAttributeDescription
b *
sarea *

public getBoolAttribute(attr: *, defaultval: boolean): * source

Params:

NameTypeAttributeDescription
attr *
defaultval boolean
  • optional
  • default: false

Return:

*

public getHotKey(toolpath: *): * source

Params:

NameTypeAttributeDescription
toolpath *

Return:

*

public getScreenBorder(sarea: *, v1: *, v2: *, side: *): * source

Params:

NameTypeAttributeDescription
sarea *
v1 *
v2 *
side *

Return:

*

public getScreenVert(pos: *, added_id: string, floating: boolean): * source

Params:

NameTypeAttributeDescription
pos *
added_id string
  • optional
  • default:
floating boolean
  • optional
  • default: false

Return:

*

public hasBorder(b: *): * source

Params:

NameTypeAttributeDescription
b *

Return:

*

public hintPickerTool() source

public init() source

public isBorderMovable(b: *, limit: number): * source

Params:

NameTypeAttributeDescription
b *
limit number
  • optional
  • default: 5

Return:

*

public isBorderOuter(border: *): * source

Params:

NameTypeAttributeDescription
border *

Return:

*

public killBorder(b: *): * source

Params:

NameTypeAttributeDescription
b *

Return:

*

public killScreenVertex(v: *): * source

Params:

NameTypeAttributeDescription
v *

Return:

*

public listen(args: {"updateSize": boolean}) source

Params:

NameTypeAttributeDescription
args {"updateSize": boolean}
  • optional
  • default: {"updateSize":true}

public load() source

public loadFromVerts() source

public loadJSON(obj: *, schedule_resize: boolean) source

Params:

NameTypeAttributeDescription
obj *
schedule_resize boolean
  • optional
  • default: false

public loadSTRUCT(reader: *): * source

Params:

NameTypeAttributeDescription
reader *

Return:

*

public loadUIData(str: *) source

Params:

NameTypeAttributeDescription
str *

public makeBorders() source

public mergeBlankAreas() source

public mergeGlobalCSS(style: *): * source

Params:

NameTypeAttributeDescription
style *

May be a string, a CSSStyleSheet instance, or a style tag

Return:

*

Promise fulfilled when style has been merged

public minmaxArea(sarea: *, mm: *): * source

Params:

NameTypeAttributeDescription
sarea *
mm *
  • optional
  • default: undefined

Return:

*

public moveAttachTool(sarea: *, mpos: *, elem: *, pointerId: *) source

Params:

NameTypeAttributeDescription
sarea *
mpos *
  • optional
elem *
pointerId *

public moveBorder(b: *, df: *, strict: boolean): * source

Params:

NameTypeAttributeDescription
b *
df *
strict boolean
  • optional
  • default: true

Return:

*

public moveBorderSimple(b: *, df: *, strict: boolean): boolean source

Params:

NameTypeAttributeDescription
b *
df *
strict boolean
  • optional
  • default: true

Return:

boolean

public moveBorderUnused(b: *, df: *, strict: boolean): boolean source

Params:

NameTypeAttributeDescription
b *
df *
strict boolean
  • optional
  • default: true

Return:

boolean

public moveBorderWithoutVerts(halfedge: *, df: *) source

Params:

NameTypeAttributeDescription
halfedge *
df *

public newScreenArea(): * source

Return:

*

public on_keydown(e: *): * source

Params:

NameTypeAttributeDescription
e *

Return:

*

public on_keypress(e: *): * source

Params:

NameTypeAttributeDescription
e *

Return:

*

public on_keyup(e: *): * source

Params:

NameTypeAttributeDescription
e *

Return:

*

public on_resize(oldsize: *, newsize: *, _set_key: boolean) source

Params:

NameTypeAttributeDescription
oldsize *
newsize *
  • optional
_set_key boolean
  • optional
  • default: true

public pickElement(x: *, y: *, args: *): * source

Params:

NameTypeAttributeDescription
x *
y *
args *

arguments : {sx, sy, nodeclass, excluded_classes}

Return:

*

public popup(popupDelay: *): * source

Params:

NameTypeAttributeDescription
popupDelay *

: if non-zero, wait for popup to layout for popupDelay miliseconds, then move the popup so it's fully inside the window (if it's outsize).

Return:

*

public popupArea(area_class: *): * source

Params:

NameTypeAttributeDescription
area_class *

Return:

*

public popupMenu(menu: *, x: *, y: *): * source

Params:

NameTypeAttributeDescription
menu *
x *
y *

Return:

*

public purgeUpdateStack() source

public regenBorders() source

public regenBorders_stage2() source

public regenScreenMesh(snapLimit: *) source

Params:

NameTypeAttributeDescription
snapLimit *
  • optional
  • default: SnapLimit

public remove(trigger_destroy: boolean): * source

Params:

NameTypeAttributeDescription
trigger_destroy boolean
  • optional
  • default: true

Return:

*

public removeArea(sarea: *) source

Params:

NameTypeAttributeDescription
sarea *

public removeAreaTool(border: *) source

Params:

NameTypeAttributeDescription
border *

public removeEventListener(type: *, cb: *, options: *): * source

Params:

NameTypeAttributeDescription
type *
cb *
options *

Return:

*

public replaceArea(dst: *, src: *) source

Params:

NameTypeAttributeDescription
dst *
src *

public save() source

public saveUIData(): * source

Return:

*

public setCSS() source

public setPos(x: *, y: *) source

Params:

NameTypeAttributeDescription
x *
y *

public setPosSize(x: *, y: *, w: *, h: *) source

Params:

NameTypeAttributeDescription
x *
y *
w *
h *

public setSize(w: *, h: *) source

Params:

NameTypeAttributeDescription
w *
h *

public snapScreenVerts(fitToSize: boolean) source

Params:

NameTypeAttributeDescription
fitToSize boolean
  • optional
  • default: true

public solveAreaConstraints(snapArgument: boolean) source

Params:

NameTypeAttributeDescription
snapArgument boolean
  • optional
  • default: true

public splitArea(sarea: *, t: number, horiz: boolean): * source

Params:

NameTypeAttributeDescription
sarea *
t number
  • optional
  • default: 0.5
horiz boolean
  • optional
  • default: true

Return:

*

public splitTool() source

public test_struct(appstate: *): * source

Params:

NameTypeAttributeDescription
appstate *
  • optional
  • default: _appstate

Return:

*

public toJSON(): * source

Return:

*

public unlisten() source

public update() source

public updateDebugBoxes() source

public updateScrollStyling() source

public updateSize() source

public update_intern(): * source

Return:

*

public walkBorderLine(b: *): * source

Params:

NameTypeAttributeDescription
b *

Return:

*

Private Methods

private * _allAreas() source

private _calcSizeKey(w: *, h: *, x: *, y: *, dpi: *, scale: *): * source

Params:

NameTypeAttributeDescription
w *
h *
x *
y *
dpi *
scale *

Return:

*

private _enterPopupSafe() source

private _exitPopupSafe() source

private _fireResizeCB(oldsize: *) source

Params:

NameTypeAttributeDescription
oldsize *
  • optional

private _get_debug_overlay(): * source

Return:

*

private _internalRegenAll() source

private _ondestroy() source

private _popup(owning_node: *, elem_or_x: *, y: *, closeOnMouseOut: boolean): * source

makes a popup at x,y and returns a new container-x for it

Params:

NameTypeAttributeDescription
owning_node *
elem_or_x *
y *
closeOnMouseOut boolean
  • optional
  • default: true

Return:

*

private _recalcAABB(save: boolean): undefined[] source

Params:

NameTypeAttributeDescription
save boolean
  • optional
  • default: true

Return:

undefined[]

private _test_save() source

private _updateAll() source