155 lines
5.9 KiB
HTML
155 lines
5.9 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Welcome to DVX</title>
|
|
<style>
|
|
body { font-family: sans-serif; margin: 0; padding: 0; display: flex; }
|
|
nav { width: 250px; min-width: 250px; background: #f0f0f0; padding: 16px;
|
|
border-right: 1px solid #ccc; height: 100vh; overflow-y: auto;
|
|
position: sticky; top: 0; box-sizing: border-box; }
|
|
nav ul { list-style: none; padding-left: 16px; margin: 4px 0; }
|
|
nav > ul { padding-left: 0; }
|
|
nav a { text-decoration: none; color: #0066cc; }
|
|
nav a:hover { text-decoration: underline; }
|
|
main { flex: 1; padding: 24px 32px; max-width: 800px; }
|
|
h1 { border-bottom: 2px solid #333; padding-bottom: 4px; }
|
|
h2 { border-bottom: 1px solid #999; padding-bottom: 2px; margin-top: 32px; }
|
|
h3 { margin-top: 24px; }
|
|
pre { background: #f8f8f8; border: 1px solid #ddd; padding: 8px;
|
|
overflow-x: auto; font-size: 14px; }
|
|
blockquote { background: #fffde7; border-left: 4px solid #ffc107;
|
|
padding: 8px 12px; margin: 12px 0; }
|
|
hr { border: none; border-top: 1px solid #ccc; margin: 24px 0; }
|
|
img { max-width: 100%; }
|
|
.topic { margin-bottom: 48px; }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<nav>
|
|
<h3>Contents</h3>
|
|
<ul>
|
|
<li><a href="#intro">Welcome to DVX</a></li>
|
|
<li><a href="#overview">System Overview</a></li>
|
|
<li><a href="#widgets">Widget System</a></li>
|
|
<li><a href="#keyboard">Keyboard Shortcuts</a></li>
|
|
</ul>
|
|
<h3>Index</h3>
|
|
<ul>
|
|
<li><a href="#intro">DVX</a></li>
|
|
<li><a href="#intro">Introduction</a></li>
|
|
<li><a href="#intro">Getting Started</a></li>
|
|
<li><a href="#overview">Architecture</a></li>
|
|
<li><a href="#overview">Layers</a></li>
|
|
<li><a href="#widgets">Widgets</a></li>
|
|
<li><a href="#widgets">Controls</a></li>
|
|
<li><a href="#keyboard">Keyboard</a></li>
|
|
<li><a href="#keyboard">Shortcuts</a></li>
|
|
<li><a href="#keyboard">Hotkeys</a></li>
|
|
</ul>
|
|
</nav>
|
|
<main>
|
|
<div class="topic" id="intro">
|
|
<h1>Welcome to DVX</h1>
|
|
<h2>Welcome to DVX</h2>
|
|
<p>DVX is a graphical user interface environment for DOS, designed for
|
|
486-class hardware and above. It provides a windowing system with a
|
|
Motif-inspired visual style, cooperative multitasking, and a widget-based
|
|
application framework.</p>
|
|
<p>DVX features include:</p>
|
|
<ul>
|
|
<li>A window manager with drag, resize, and minimize support</li>
|
|
<li>Over 25 built-in widget types including buttons, lists, and trees</li>
|
|
<li>Dynamic application loading via DXE3 modules</li>
|
|
<li>Theme support with customizable color schemes</li>
|
|
</ul>
|
|
<p>VESA VBE 2.0+ linear framebuffer rendering</p>
|
|
<p><a href="#overview">See also: System Overview</a></p>
|
|
<hr>
|
|
<blockquote><strong>Tip:</strong> Press F1 from any DVX application to open context-sensitive help.</blockquote>
|
|
</div>
|
|
<div class="topic" id="overview">
|
|
<h1>System Overview</h1>
|
|
<h2>System Overview</h2>
|
|
<p>DVX is built as a five-layer architecture, with each layer providing
|
|
services to the layer above it.</p>
|
|
<h3>Video Layer</h3>
|
|
<p>The video layer (dvxVideo) handles VESA VBE initialization, linear
|
|
framebuffer mapping, backbuffer allocation, and pixel format detection. It
|
|
supports 8-bit, 16-bit, and 32-bit color depths.</p>
|
|
<h3>Drawing Layer</h3>
|
|
<p>The drawing layer (dvxDraw) provides primitive rendering operations: filled
|
|
rectangles, beveled borders, text rendering, bitmap blitting, and clipped
|
|
drawing.</p>
|
|
<h3>Compositor</h3>
|
|
<p>The compositor (dvxComp) manages a dirty rectangle list. Only regions that
|
|
have changed since the last frame are flushed from the system RAM backbuffer
|
|
to the video card's linear framebuffer.</p>
|
|
<h3>Window Manager</h3>
|
|
<p>The window manager (dvxWm) handles the window stack, chrome rendering (title
|
|
bars, borders, close buttons), drag and resize interaction, focus
|
|
management, and menu bars.</p>
|
|
<h3>Application Layer</h3>
|
|
<p>The application layer (dvxApp) ties everything together with the event loop,
|
|
mouse and keyboard input, accelerator tables, and the public API used by
|
|
applications.</p>
|
|
<p><a href="#widgets">See also: Widget System</a></p>
|
|
</div>
|
|
<div class="topic" id="widgets">
|
|
<h1>Widget System</h1>
|
|
<h2>Widget System</h2>
|
|
<p>DVX provides a rich set of widgets (controls) for building application user
|
|
interfaces. Widgets are loaded as DXE3 plugin modules at startup.</p>
|
|
<h3>Layout Widgets</h3>
|
|
<ul>
|
|
<li>VBox -- Vertical box layout (stacks children vertically)</li>
|
|
<li>HBox -- Horizontal box layout (stacks children horizontally)</li>
|
|
<li>Frame -- Labeled group box with border</li>
|
|
<li>ScrollPane -- Scrollable container for oversized content</li>
|
|
<li>Splitter -- Resizable split between two panes</li>
|
|
</ul>
|
|
<p>TabControl -- Tabbed container</p>
|
|
<h3>Input Widgets</h3>
|
|
<ul>
|
|
<li>Button -- Push button with text label</li>
|
|
<li>TextInput -- Single-line text entry field</li>
|
|
<li>TextArea -- Multi-line text editor with syntax highlighting</li>
|
|
<li>Checkbox -- Boolean toggle with label</li>
|
|
<li>Radio -- Mutually exclusive option selector</li>
|
|
<li>Dropdown -- Drop-down selection list</li>
|
|
<li>ComboBox -- Editable dropdown with text entry</li>
|
|
<li>Slider -- Horizontal or vertical value slider</li>
|
|
</ul>
|
|
<p>Spinner -- Numeric up/down control</p>
|
|
<h3>Display Widgets</h3>
|
|
<ul>
|
|
<li>Label -- Single-line text display</li>
|
|
<li>Image -- Bitmap image display</li>
|
|
<li>ProgressBar -- Visual progress indicator</li>
|
|
<li>Canvas -- Custom drawing surface</li>
|
|
</ul>
|
|
<p>Separator -- Horizontal or vertical divider line</p>
|
|
<h3>Data Widgets</h3>
|
|
<ul>
|
|
<li>ListBox -- Scrollable list of text items</li>
|
|
<li>ListView -- Multi-column sortable list with headers</li>
|
|
</ul>
|
|
<p>TreeView -- Hierarchical tree with expand/collapse</p>
|
|
</div>
|
|
<div class="topic" id="keyboard">
|
|
<h1>Keyboard Shortcuts</h1>
|
|
<h2>Keyboard Shortcuts</h2>
|
|
<p>The following keyboard shortcuts are available system-wide in DVX:</p>
|
|
<pre> Shortcut Action
|
|
-------- ------
|
|
Alt+F4 Close active window
|
|
F10 Activate menu bar
|
|
Ctrl+Esc Open task manager
|
|
Tab Move focus to next widget
|
|
Shift+Tab Move focus to previous widget
|
|
Enter Activate focused button
|
|
Escape Close dialog or cancel operation</pre>
|
|
</div>
|
|
</main>
|
|
</body>
|
|
</html>
|