Module dom

Declaration of the Document Object Model for the JavaScript backend.

Types

TEventHandlers* {.importc.} = object of TObject
  onabort*: proc (event: ref TEvent) {.nimcall.}
  onblur*: proc (event: ref TEvent) {.nimcall.}
  onchange*: proc (event: ref TEvent) {.nimcall.}
  onclick*: proc (event: ref TEvent) {.nimcall.}
  ondblclick*: proc (event: ref TEvent) {.nimcall.}
  onerror*: proc (event: ref TEvent) {.nimcall.}
  onfocus*: proc (event: ref TEvent) {.nimcall.}
  onkeydown*: proc (event: ref TEvent) {.nimcall.}
  onkeypress*: proc (event: ref TEvent) {.nimcall.}
  onkeyup*: proc (event: ref TEvent) {.nimcall.}
  onload*: proc (event: ref TEvent) {.nimcall.}
  onmousedown*: proc (event: ref TEvent) {.nimcall.}
  onmousemove*: proc (event: ref TEvent) {.nimcall.}
  onmouseout*: proc (event: ref TEvent) {.nimcall.}
  onmouseover*: proc (event: ref TEvent) {.nimcall.}
  onmouseup*: proc (event: ref TEvent) {.nimcall.}
  onreset*: proc (event: ref TEvent) {.nimcall.}
  onselect*: proc (event: ref TEvent) {.nimcall.}
  onsubmit*: proc (event: ref TEvent) {.nimcall.}
  onunload*: proc (event: ref TEvent) {.nimcall.}
TWindow* {.importc.} = object of TEventHandlers
  document*: ref TDocument
  event*: ref TEvent
  history*: ref THistory
  location*: ref TLocation
  closed*: bool
  defaultStatus*: cstring
  innerHeight*, innerWidth*: int
  locationbar*: ref TLocationBar
  menubar*: ref TMenuBar
  name*: cstring
  outerHeight*, outerWidth*: int
  pageXOffset*, pageYOffset*: int
  personalbar*: ref TPersonalBar
  scrollbars*: ref TScrollBars
  statusbar*: ref TStatusBar
  status*: cstring
  toolbar*: ref TToolBar
  alert*: proc (msg: cstring) {.nimcall.}
  back*: proc () {.nimcall.}
  blur*: proc () {.nimcall.}
  captureEvents*: proc (eventMask: int) {.nimcall.}
  clearInterval*: proc (interval: ref TInterval) {.nimcall.}
  clearTimeout*: proc (timeout: ref TTimeOut) {.nimcall.}
  close*: proc () {.nimcall.}
  confirm*: proc (msg: cstring): bool {.nimcall.}
  disableExternalCapture*: proc () {.nimcall.}
  enableExternalCapture*: proc () {.nimcall.}
  find*: proc (text: cstring; caseSensitive = false; backwards = false) {.
      nimcall.}
  focus*: proc () {.nimcall.}
  forward*: proc () {.nimcall.}
  handleEvent*: proc (e: ref TEvent) {.nimcall.}
  home*: proc () {.nimcall.}
  moveBy*: proc (x, y: int) {.nimcall.}
  moveTo*: proc (x, y: int) {.nimcall.}
  open*: proc (uri, windowname: cstring; properties: cstring = nil): ref TWindow {.
      nimcall.}
  print*: proc () {.nimcall.}
  prompt*: proc (text, default: cstring): cstring {.nimcall.}
  releaseEvents*: proc (eventMask: int) {.nimcall.}
  resizeBy*: proc (x, y: int) {.nimcall.}
  resizeTo*: proc (x, y: int) {.nimcall.}
  routeEvent*: proc (event: ref TEvent) {.nimcall.}
  scrollBy*: proc (x, y: int) {.nimcall.}
  scrollTo*: proc (x, y: int) {.nimcall.}
  setInterval*: proc (code: cstring; pause: int): ref TInterval {.nimcall.}
  setTimeout*: proc (code: cstring; pause: int): ref TTimeOut {.nimcall.}
  stop*: proc () {.nimcall.}
  frames*: seq[TFrame]
TFrame* {.importc.} = object of TWindow
TDocument* {.importc.} = object of TEventHandlers
  alinkColor*: cstring
  bgColor*: cstring
  charset*: cstring
  cookie*: cstring
  defaultCharset*: cstring
  fgColor*: cstring
  lastModified*: cstring
  linkColor*: cstring
  referrer*: cstring
  title*: cstring
  URL*: cstring
  vlinkColor*: cstring
  captureEvents*: proc (eventMask: int) {.nimcall.}
  createAttribute*: proc (identifier: cstring): ref TNode {.nimcall.}
  createElement*: proc (identifier: cstring): ref TNode {.nimcall.}
  createTextNode*: proc (identifier: cstring): ref TNode {.nimcall.}
  getElementById*: proc (id: cstring): ref TNode {.nimcall.}
  getElementsByName*: proc (name: cstring): seq[ref TNode] {.nimcall.}
  getElementsByTagName*: proc (name: cstring): seq[ref TNode] {.nimcall.}
  getSelection*: proc (): cstring {.nimcall.}
  handleEvent*: proc (event: ref TEvent) {.nimcall.}
  open*: proc () {.nimcall.}
  releaseEvents*: proc (eventMask: int) {.nimcall.}
  routeEvent*: proc (event: ref TEvent) {.nimcall.}
  write*: proc (text: cstring) {.nimcall.}
  writeln*: proc (text: cstring) {.nimcall.}
  anchors*: seq[ref TAnchor]
  forms*: seq[ref TForm]
  images*: seq[ref TImage]
  applets*: seq[ref TApplet]
  embeds*: seq[ref TEmbed]
  links*: seq[ref TLink]
TLink* {.importc.} = object of TObject
  name*: cstring
  target*: cstring
  text*: cstring
  x*: int
  y*: int
TEmbed* {.importc.} = object of TObject
  height*: int
  hspace*: int
  name*: cstring
  src*: cstring
  width*: int
  `type`*: cstring
  vspace*: int
  play*: proc () {.nimcall.}
  stop*: proc () {.nimcall.}
TAnchor* {.importc.} = object of TObject
  name*: cstring
  text*: cstring
  x*, y*: int
TApplet* {.importc.} = object of TObject
TElement* {.importc.} = object of TEventHandlers
  checked*: bool
  defaultChecked*: bool
  defaultValue*: cstring
  disabled*: bool
  form*: ref TForm
  name*: cstring
  readOnly*: bool
  `type`*: cstring
  value*: cstring
  blur*: proc () {.nimcall.}
  click*: proc () {.nimcall.}
  focus*: proc () {.nimcall.}
  handleEvent*: proc (event: ref TEvent) {.nimcall.}
  select*: proc () {.nimcall.}
  options*: seq[ref TOption]
TOption* {.importc.} = object of TObject
  defaultSelected*: bool
  selected*: bool
  selectedIndex*: int
  text*: cstring
  value*: cstring
TForm* {.importc.} = object of TEventHandlers
  action*: cstring
  encoding*: cstring
  `method`*: cstring
  name*: cstring
  target*: cstring
  handleEvent*: proc (event: ref TEvent) {.nimcall.}
  reset*: proc () {.nimcall.}
  submit*: proc () {.nimcall.}
  elements*: seq[ref TElement]
TImage* {.importc.} = object of TEventHandlers
  border*: int
  complete*: bool
  height*: int
  hspace*: int
  lowsrc*: cstring
  name*: cstring
  src*: cstring
  vspace*: int
  width*: int
  handleEvent*: proc (event: ref TEvent) {.nimcall.}
TNodeType* = enum 
  ElementNode = 1, AttributeNode, TextNode, CDATANode, EntityRefNode, 
  EntityNode, ProcessingInstructionNode, CommentNode, DocumentNode, 
  DocumentTypeNode, DocumentFragmentNode, NotationNode
TNode* {.importc.} = object of TObject
  attributes*: seq[ref TNode]
  childNodes*: seq[ref TNode]
  data*: cstring
  firstChild*: ref TNode
  lastChild*: ref TNode
  nextSibling*: ref TNode
  nodeName*: cstring
  nodeType*: TNodeType
  nodeValue*: cstring
  parentNode*: ref TNode
  previousSibling*: ref TNode
  appendChild*: proc (child: ref TNode) {.nimcall.}
  appendData*: proc (data: cstring) {.nimcall.}
  cloneNode*: proc (copyContent: bool) {.nimcall.}
  deleteData*: proc (start, len: int) {.nimcall.}
  getAttribute*: proc (attr: cstring): cstring {.nimcall.}
  getAttributeNode*: proc (attr: cstring): ref TNode {.nimcall.}
  getElementsByTagName*: proc (): seq[ref TNode] {.nimcall.}
  hasChildNodes*: proc (): bool {.nimcall.}
  innerHTML*: cstring
  insertBefore*: proc (newNode, before: ref TNode) {.nimcall.}
  insertData*: proc (position: int; data: cstring) {.nimcall.}
  removeAttribute*: proc (attr: cstring) {.nimcall.}
  removeAttributeNode*: proc (attr: ref TNode) {.nimcall.}
  removeChild*: proc (child: ref TNode) {.nimcall.}
  replaceChild*: proc (newNode, oldNode: ref TNode) {.nimcall.}
  replaceData*: proc (start, len: int; text: cstring) {.nimcall.}
  setAttribute*: proc (name, value: cstring) {.nimcall.}
  setAttributeNode*: proc (attr: ref TNode) {.nimcall.}
  style*: ref TStyle
TStyle* {.importc.} = object of TObject
  background*: cstring
  backgroundAttachment*: cstring
  backgroundColor*: cstring
  backgroundImage*: cstring
  backgroundPosition*: cstring
  backgroundRepeat*: cstring
  border*: cstring
  borderBottom*: cstring
  borderBottomColor*: cstring
  borderBottomStyle*: cstring
  borderBottomWidth*: cstring
  borderColor*: cstring
  borderLeft*: cstring
  borderLeftColor*: cstring
  borderLeftStyle*: cstring
  borderLeftWidth*: cstring
  borderRight*: cstring
  borderRightColor*: cstring
  borderRightStyle*: cstring
  borderRightWidth*: cstring
  borderStyle*: cstring
  borderTop*: cstring
  borderTopColor*: cstring
  borderTopStyle*: cstring
  borderTopWidth*: cstring
  borderWidth*: cstring
  bottom*: cstring
  captionSide*: cstring
  clear*: cstring
  clip*: cstring
  color*: cstring
  cursor*: cstring
  direction*: cstring
  display*: cstring
  emptyCells*: cstring
  cssFloat*: cstring
  font*: cstring
  fontFamily*: cstring
  fontSize*: cstring
  fontStretch*: cstring
  fontStyle*: cstring
  fontVariant*: cstring
  fontWeight*: cstring
  height*: cstring
  left*: cstring
  letterSpacing*: cstring
  lineHeight*: cstring
  listStyle*: cstring
  listStyleImage*: cstring
  listStylePosition*: cstring
  listStyleType*: cstring
  margin*: cstring
  marginBottom*: cstring
  marginLeft*: cstring
  marginRight*: cstring
  marginTop*: cstring
  maxHeight*: cstring
  maxWidth*: cstring
  minHeight*: cstring
  minWidth*: cstring
  overflow*: cstring
  padding*: cstring
  paddingBottom*: cstring
  paddingLeft*: cstring
  paddingRight*: cstring
  paddingTop*: cstring
  pageBreakAfter*: cstring
  pageBreakBefore*: cstring
  position*: cstring
  right*: cstring
  scrollbar3dLightColor*: cstring
  scrollbarArrowColor*: cstring
  scrollbarBaseColor*: cstring
  scrollbarDarkshadowColor*: cstring
  scrollbarFaceColor*: cstring
  scrollbarHighlightColor*: cstring
  scrollbarShadowColor*: cstring
  scrollbarTrackColor*: cstring
  tableLayout*: cstring
  textAlign*: cstring
  textDecoration*: cstring
  textIndent*: cstring
  textTransform*: cstring
  top*: cstring
  verticalAlign*: cstring
  visibility*: cstring
  width*: cstring
  wordSpacing*: cstring
  zIndex*: int
  getAttribute*: proc (attr: cstring; caseSensitive = false): cstring {.nimcall.}
  removeAttribute*: proc (attr: cstring; caseSensitive = false) {.nimcall.}
  setAttribute*: proc (attr, value: cstring; caseSensitive = false) {.nimcall.}
TEvent* {.importc.} = object of TObject
  altKey*, ctrlKey*, shiftKey*: bool
  button*: int
  clientX*, clientY*: int
  keyCode*: int
  layerX*, layerY*: int
  modifiers*: int
  ALT_MASK*, CONTROL_MASK*, SHIFT_MASK*, META_MASK*: int
  offsetX*, offsetY*: int
  pageX*, pageY*: int
  screenX*, screenY*: int
  which*: int
  `type`*: cstring
  x*, y*: int
  ABORT*: int
  BLUR*: int
  CHANGE*: int
  CLICK*: int
  DBLCLICK*: int
  DRAGDROP*: int
  ERROR*: int
  FOCUS*: int
  KEYDOWN*: int
  KEYPRESS*: int
  KEYUP*: int
  LOAD*: int
  MOUSEDOWN*: int
  MOUSEMOVE*: int
  MOUSEOUT*: int
  MOUSEOVER*: int
  MOUSEUP*: int
  MOVE*: int
  RESET*: int
  RESIZE*: int
  SELECT*: int
  SUBMIT*: int
  UNLOAD*: int
TLocation* {.importc.} = object of TObject
  hash*: cstring
  host*: cstring
  hostname*: cstring
  href*: cstring
  pathname*: cstring
  port*: cstring
  protocol*: cstring
  search*: cstring
  reload*: proc () {.nimcall.}
  replace*: proc (s: cstring) {.nimcall.}
THistory* {.importc.} = object of TObject
  length*: int
  back*: proc () {.nimcall.}
  forward*: proc () {.nimcall.}
  go*: proc (pagesToJump: int) {.nimcall.}
TNavigator* {.importc.} = object of TObject
  appCodeName*: cstring
  appName*: cstring
  appVersion*: cstring
  cookieEnabled*: bool
  language*: cstring
  platform*: cstring
  userAgent*: cstring
  javaEnabled*: proc (): bool {.nimcall.}
  mimeTypes*: seq[ref TMimeType]
TPlugin* {.importc.} = object of TObject
  description*: cstring
  filename*: cstring
  name*: cstring
TMimeType* {.importc.} = object of TObject
  description*: cstring
  enabledPlugin*: ref TPlugin
  suffixes*: seq[cstring]
  `type`*: cstring
TLocationBar* {.importc.} = object of TObject
  visible*: bool
TMenuBar* = TLocationBar
TPersonalBar* = TLocationBar
TScrollBars* = TLocationBar
TToolBar* = TLocationBar
TStatusBar* = TLocationBar
TScreen* {.importc.} = object of TObject
  availHeight*: int
  availWidth*: int
  colorDepth*: int
  height*: int
  pixelDepth*: int
  width*: int
TTimeOut* {.importc.} = object of TObject
TInterval* {.importc.} = object of TObject

Vars

window* {.importc, nodecl.}: ref TWindow
document* {.importc, nodecl.}: ref TDocument
navigator* {.importc, nodecl.}: ref TNavigator
screen* {.importc, nodecl.}: ref TScreen

Procs

proc decodeURI*(uri: cstring): cstring {.importc, nodecl.}
proc encodeURI*(uri: cstring): cstring {.importc, nodecl.}
proc escape*(uri: cstring): cstring {.importc, nodecl.}
proc unescape*(uri: cstring): cstring {.importc, nodecl.}
proc decodeURIComponent*(uri: cstring): cstring {.importc, nodecl.}
proc encodeURIComponent*(uri: cstring): cstring {.importc, nodecl.}
proc isFinite*(x: biggestFloat): bool {.importc, nodecl.}
proc isNaN*(x: biggestFloat): bool {.importc, nodecl.}
proc parseFloat*(s: cstring): biggestFloat {.importc, nodecl.}
proc parseInt*(s: cstring): int {.importc, nodecl.}
Generated: 2014-03-11 21:26:34 UTC