# # # Nimrod's Runtime Library # (c) Copyright 2010 Andreas Rumpf # # See the file "copying.txt", included in this # distribution, for details about the copyright. # ## Declaration of the Document Object Model for the ECMAScript backend. when not defined(ecmascript): {.error: "This module only works on the ECMAScript platform".} type TEventHandlers* {.importc.} = object of TObject onabort*: proc (event: ref TEvent) onblur*: proc (event: ref TEvent) onchange*: proc (event: ref TEvent) onclick*: proc (event: ref TEvent) ondblclick*: proc (event: ref TEvent) onerror*: proc (event: ref TEvent) onfocus*: proc (event: ref TEvent) onkeydown*: proc (event: ref TEvent) onkeypress*: proc (event: ref TEvent) onkeyup*: proc (event: ref TEvent) onload*: proc (event: ref TEvent) onmousedown*: proc (event: ref TEvent) onmousemove*: proc (event: ref TEvent) onmouseout*: proc (event: ref TEvent) onmouseover*: proc (event: ref TEvent) onmouseup*: proc (event: ref TEvent) onreset*: proc (event: ref TEvent) onselect*: proc (event: ref TEvent) onsubmit*: proc (event: ref TEvent) onunload*: proc (event: ref TEvent) 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) back*: proc () blur*: proc () captureEvents*: proc (eventMask: int) clearInterval*: proc (interval: ref TInterval) clearTimeout*: proc (timeout: ref TTimeOut) close*: proc () confirm*: proc (msg: cstring): bool disableExternalCapture*: proc () enableExternalCapture*: proc () find*: proc (text: cstring, caseSensitive = false, backwards = false) focus*: proc () forward*: proc () handleEvent*: proc (e: ref TEvent) home*: proc () moveBy*: proc (x, y: int) moveTo*: proc (x, y: int) open*: proc (uri, windowname: cstring, properties: cstring = nil): ref TWindow print*: proc () prompt*: proc (text, default: cstring): cstring releaseEvents*: proc (eventMask: int) resizeBy*: proc (x, y: int) resizeTo*: proc (x, y: int) routeEvent*: proc (event: ref TEvent) scrollBy*: proc (x, y: int) scrollTo*: proc (x, y: int) setInterval*: proc (code: cstring, pause: int): ref TInterval setTimeout*: proc (code: cstring, pause: int): ref TTimeOut stop*: proc () 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) createAttribute*: proc (identifier: cstring): ref TNode createElement*: proc (identifier: cstring): ref TNode createTextNode*: proc (identifier: cstring): ref TNode getElementById*: proc (id: cstring): ref TNode getElementsByName*: proc (name: cstring): seq[ref TNode] getElementsByTagName*: proc (name: cstring): seq[ref TNode] getSelection*: proc (): cstring handleEvent*: proc (event: ref TEvent) open*: proc () releaseEvents*: proc (eventMask: int) routeEvent*: proc (event: ref TEvent) write*: proc (text: cstring) writeln*: proc (text: cstring) 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 () stop*: proc () 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 () click*: proc () focus*: proc () handleEvent*: proc (event: ref TEvent) select*: proc () 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) reset*: proc () submit*: proc () 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) 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*: p
<html>
	<head>
		<title>dwm - dynamic window manager</title>
		<meta name="author" content="Anselm R. Garbe">
		<meta name="generator" content="ed">
		<meta name=