documentation
This commit is contained in:
64
scrbl/racket-webview-intro.scrbl
Normal file
64
scrbl/racket-webview-intro.scrbl
Normal file
@@ -0,0 +1,64 @@
|
||||
#lang scribble/manual
|
||||
|
||||
@(require racket/base
|
||||
scribble/core
|
||||
scribble/manual
|
||||
(for-label racket/base
|
||||
racket/class
|
||||
racket/string
|
||||
racket/file
|
||||
net/url
|
||||
"../private/wv-context.rkt"
|
||||
"../private/wv-window.rkt"
|
||||
"../private/wv-element.rkt"
|
||||
"../private/wv-input.rkt"
|
||||
"../private/wv-dialog.rkt"
|
||||
"../private/wv-settings.rkt"
|
||||
"../private/rgba.rkt"
|
||||
"../private/mimetypes.rkt"))
|
||||
|
||||
@title{Racket Webview}
|
||||
@author[@author+email["Hans Dijkema" "hans@dijkewijk.nl"]]
|
||||
|
||||
@section{Overview}
|
||||
|
||||
Racket Webview is a class-oriented webview library built on top of a Qt-based
|
||||
native runtime.
|
||||
|
||||
The library is layered. At the lowest level a native FFI layer is used. On top
|
||||
of that, @racketmodname[racket-webview] provides a functional API. The
|
||||
class-oriented API described in this manual is built from smaller modules on top
|
||||
of that layer.
|
||||
|
||||
@section{Core Concepts}
|
||||
|
||||
The library is structured around two main concepts:
|
||||
|
||||
@itemlist[#:style 'compact
|
||||
@item{a context, representing an isolated runtime with its own local HTTPS server}
|
||||
@item{a window, representing a webview instance within such a context}]
|
||||
|
||||
A context manages local file serving, certificates, and settings. A window loads
|
||||
content, handles events, and provides access to DOM elements.
|
||||
|
||||
@section{Modules}
|
||||
|
||||
The public API is divided into the following modules:
|
||||
|
||||
@itemlist[#:style 'compact
|
||||
@item{@racketmodname[wv-context] — context creation and settings access}
|
||||
@item{@racketmodname[wv-window] — window lifecycle, events, navigation, and dialogs}
|
||||
@item{@racketmodname[wv-element] — DOM element wrapper}
|
||||
@item{@racketmodname[wv-input] — typed input-element wrappers}
|
||||
@item{@racketmodname[wv-dialog] — dialog windows}
|
||||
@item{@racketmodname[wv-settings] — settings wrapper}
|
||||
@item{@racketmodname[rgba] — RGBA color values}
|
||||
@item{@racketmodname[mimetypes] — MIME type lookup}]
|
||||
|
||||
@section{Typical Usage}
|
||||
|
||||
A typical application creates a @racket[wv-context%] object and then creates one
|
||||
or more @racket[wv-window%] objects within that context. DOM elements are
|
||||
retrieved using @racket[(send window element 'id)], after which their state can
|
||||
be read or modified using the element and input wrapper classes. Interaction
|
||||
with the browser is handled through event callbacks and bindings.
|
||||
Reference in New Issue
Block a user