Augment package godoc by copying function comments from C source to Go
code and making minor edits.
Current godoc shows a [useful
interface](https://godoc.org/github.com/zserge/webview#WebView), but no
documentation on how to use its functions. I discovered the C code was
well documented, and copied function documentation over, adapting them
to the pattern of beginning each function comment with the name of the
function.
After changes:
```
$ go doc -all .
package webview // import "github.com/zserge/webview"
CONSTANTS
const (
// Width and height are default size
HintNone = C.WEBVIEW_HINT_NONE
// Window size can not be changed by a user
HintFixed = C.WEBVIEW_HINT_FIXED
// Width and height are minimum bounds
HintMin = C.WEBVIEW_HINT_MIN
// Width and height are maximum bounds
HintMax = C.WEBVIEW_HINT_MAX
)
TYPES
type Hint int
Hints are used to configure window sizing and resizing
type WebView interface {
// Run runs the main loop until it's terminated. After this function exits -
// you must destroy the webview.
Run()
// Terminate stops the main loop. It is safe to call this function from
// a background thread.
Terminate()
// Dispatch posts a function to be executed on the main thread. You normally
// do not need to call this function, unless you want to tweak the native
// window.
Dispatch(f func())
// Destroy destroys a webview and closes the native window.
Destroy()
// Window returns a native window handle pointer. When using GTK backend the
// pointer is GtkWindow pointer, when using Cocoa backend the pointer is
// NSWindow pointer, when using Win32 backend the pointer is HWND pointer.
Window() unsafe.Pointer
// SetTitle updates the title of the native window. Must be called from the UI
// thread.
SetTitle(title string)
// SetSize updates native window size. See Hint constants.
SetSize(w int, h int, hint Hint)
// Navigate navigates webview to the given URL. URL may be a data URI, i.e.
// "data:text/text,<html>...</html>". It is often ok not to url-encode it
// properly, webview will re-encode it for you.
Navigate(url string)
// Init injects JavaScript code at the initialization of the new page. Every
// time the webview will open a the new page - this initialization code will
// be executed. It is guaranteed that code is executed before window.onload.
Init(js string)
// Eval evaluates arbitrary JavaScript code. Evaluation happens asynchronously,
// also the result of the expression is ignored. Use RPC bindings if you want
// to receive notifications about the results of the evaluation.
Eval(js string)
// Bind binds a callback function so that it will appear under the given name
// as a global JavaScript function. Internally it uses webview_init().
// Callback receives a request string and a user-provided argument pointer.
// Request string is a JSON array of all the arguments passed to the
// JavaScript function.
//
// f must be a function
// f must return either value and error or just error
Bind(name string, f interface{}) error
}
func New(debug bool) WebView
New calls NewWindow to create a new window and a new webview instance. If
debug is non-zero - developer tools will be enabled (if the platform
supports them).
func NewWindow(debug bool, window unsafe.Pointer) WebView
NewWindow creates a new webview instance. If debug is non-zero - developer
tools will be enabled (if the platform supports them). Window parameter can
be a pointer to the native window handle. If it's non-null - then child
WebView is embedded into the given parent window. Otherwise a new window is
created. Depending on the platform, a GtkWindow, NSWindow or HWND pointer
can be passed here.
```
* objc-runtime re-write
Cocoa version completely re-written in pure C.
Notes:
- No need to pass '-x', '-ObjC', or Cocoa framework flags to GCC anymore
- - Readme and various build files updated
- CoreGraphics.h needed for drawing windows
-Formatted with clang-format
* Made methods static for Go compatibility
* window color
* separate RGBA parameters to be double
see examples/window-go as a demo
* example: SetColor before Run
* uint8_t as RGBA parameters
see examples/window-go as a demo
* WINAPI: add stdint.h
* add stdint.h globally