Updated documentation.
This commit is contained in:
parent
e453b4d35a
commit
7a1777ebfc
1 changed files with 45 additions and 3 deletions
48
README.md
48
README.md
|
|
@ -11,8 +11,12 @@ system.
|
||||||
|
|
||||||
Requires the DJGPP cross-compiler (`i586-pc-msdosdjgpp-gcc`).
|
Requires the DJGPP cross-compiler (`i586-pc-msdosdjgpp-gcc`).
|
||||||
|
|
||||||
|
The GUI is built as a static library (`lib/libdvx.a`). The demo links
|
||||||
|
against it.
|
||||||
|
|
||||||
```
|
```
|
||||||
make # builds bin/demo.exe
|
cd dvxdemo
|
||||||
|
make # builds lib/libdvx.a then bin/demo.exe
|
||||||
make clean # removes obj/ and bin/
|
make clean # removes obj/ and bin/
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -43,7 +47,9 @@ Supporting files:
|
||||||
| `dvxCursor.h` | Mouse cursor bitmask data (5 shapes) |
|
| `dvxCursor.h` | Mouse cursor bitmask data (5 shapes) |
|
||||||
| `dvxPalette.h` | Default VGA palette for 8-bit mode |
|
| `dvxPalette.h` | Default VGA palette for 8-bit mode |
|
||||||
| `dvxIcon.c` | stb_image implementation unit (BMP/PNG/JPEG/GIF) |
|
| `dvxIcon.c` | stb_image implementation unit (BMP/PNG/JPEG/GIF) |
|
||||||
|
| `dvxImageWrite.c` | stb_image_write implementation unit (PNG export) |
|
||||||
| `thirdparty/stb_image.h` | Third-party single-header image loader |
|
| `thirdparty/stb_image.h` | Third-party single-header image loader |
|
||||||
|
| `thirdparty/stb_image_write.h` | Third-party single-header image writer |
|
||||||
|
|
||||||
## Quick start
|
## Quick start
|
||||||
|
|
||||||
|
|
@ -151,6 +157,14 @@ Enter the main event loop. Handles mouse movement, button clicks, keyboard
|
||||||
input, window management, dirty-rectangle compositing, and LFB flush.
|
input, window management, dirty-rectangle compositing, and LFB flush.
|
||||||
Returns when `dvxQuit()` is called or ESC is pressed.
|
Returns when `dvxQuit()` is called or ESC is pressed.
|
||||||
|
|
||||||
|
```c
|
||||||
|
bool dvxUpdate(AppContextT *ctx);
|
||||||
|
```
|
||||||
|
Process one iteration of the event loop: poll input, dispatch events,
|
||||||
|
composite dirty regions, and flush. Returns `true` if the GUI is still
|
||||||
|
running, `false` when exit has been requested. Use this instead of
|
||||||
|
`dvxRun()` when embedding the GUI inside an existing main loop.
|
||||||
|
|
||||||
```c
|
```c
|
||||||
void dvxShutdown(AppContextT *ctx);
|
void dvxShutdown(AppContextT *ctx);
|
||||||
```
|
```
|
||||||
|
|
@ -451,6 +465,25 @@ WidgetT *wgtTextArea(WidgetT *parent, int32_t maxLen);
|
||||||
```
|
```
|
||||||
Multi-line text area (basic).
|
Multi-line text area (basic).
|
||||||
|
|
||||||
|
### Canvas
|
||||||
|
|
||||||
|
```c
|
||||||
|
WidgetT *wgtCanvas(WidgetT *parent, int32_t w, int32_t h);
|
||||||
|
```
|
||||||
|
Drawable bitmap canvas with a sunken bevel border. Supports freehand
|
||||||
|
drawing with Bresenham-interpolated strokes.
|
||||||
|
|
||||||
|
```c
|
||||||
|
void wgtCanvasClear(WidgetT *w, uint32_t color);
|
||||||
|
void wgtCanvasSetPenColor(WidgetT *w, uint32_t color);
|
||||||
|
void wgtCanvasSetPenSize(WidgetT *w, int32_t size);
|
||||||
|
int32_t wgtCanvasSave(WidgetT *w, const char *path);
|
||||||
|
int32_t wgtCanvasLoad(WidgetT *w, const char *path);
|
||||||
|
```
|
||||||
|
`wgtCanvasSave` writes the canvas to a PNG file (converting from display
|
||||||
|
pixel format to RGB). `wgtCanvasLoad` reads any image format supported by
|
||||||
|
stb_image and converts it to display pixel format.
|
||||||
|
|
||||||
### Spacing and dividers
|
### Spacing and dividers
|
||||||
|
|
||||||
```c
|
```c
|
||||||
|
|
@ -522,6 +555,13 @@ void wgtDestroy(WidgetT *w);
|
||||||
```
|
```
|
||||||
Remove a widget and all its children from the tree and free memory.
|
Remove a widget and all its children from the tree and free memory.
|
||||||
|
|
||||||
|
```c
|
||||||
|
void wgtSetDebugLayout(bool enabled);
|
||||||
|
```
|
||||||
|
When enabled, draws 1px neon-colored borders around all layout containers
|
||||||
|
so their bounds are visible. Each container gets a distinct color derived
|
||||||
|
from its pointer.
|
||||||
|
|
||||||
### List box operations
|
### List box operations
|
||||||
|
|
||||||
```c
|
```c
|
||||||
|
|
@ -605,8 +645,10 @@ Windows use a Motif/GEOS-style frame:
|
||||||
|
|
||||||
Minimized windows appear as 64x64 beveled icons along the bottom of the
|
Minimized windows appear as 64x64 beveled icons along the bottom of the
|
||||||
screen. If a window has an icon image set via `dvxSetWindowIcon()`, that
|
screen. If a window has an icon image set via `dvxSetWindowIcon()`, that
|
||||||
image is shown; otherwise a nearest-neighbor-scaled snapshot of the window
|
image is shown; otherwise a nearest-neighbor-scaled thumbnail of the
|
||||||
content is used. Double-click an icon to restore.
|
window's content buffer is used. Thumbnails are refreshed automatically
|
||||||
|
when the window's content changes, with updates staggered across frames
|
||||||
|
so only one icon redraws per interval. Double-click an icon to restore.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue