Welcome to DVX
Welcome to DVX
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.
DVX features include:
- A window manager with drag, resize, and minimize support
- Over 25 built-in widget types including buttons, lists, and trees
- Dynamic application loading via DXE3 modules
- Theme support with customizable color schemes
VESA VBE 2.0+ linear framebuffer rendering
Tip: Press F1 from any DVX application to open context-sensitive help.
System Overview
System Overview
DVX is built as a five-layer architecture, with each layer providing services to the layer above it.
Video Layer
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.
Drawing Layer
The drawing layer (dvxDraw) provides primitive rendering operations: filled rectangles, beveled borders, text rendering, bitmap blitting, and clipped drawing.
Compositor
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.
Window Manager
The window manager (dvxWm) handles the window stack, chrome rendering (title bars, borders, close buttons), drag and resize interaction, focus management, and menu bars.
Application Layer
The application layer (dvxApp) ties everything together with the event loop, mouse and keyboard input, accelerator tables, and the public API used by applications.
Widget System
Widget System
DVX provides a rich set of widgets (controls) for building application user interfaces. Widgets are loaded as DXE3 plugin modules at startup.
Layout Widgets
- VBox -- Vertical box layout (stacks children vertically)
- HBox -- Horizontal box layout (stacks children horizontally)
- Frame -- Labeled group box with border
- ScrollPane -- Scrollable container for oversized content
- Splitter -- Resizable split between two panes
TabControl -- Tabbed container
Input Widgets
- Button -- Push button with text label
- TextInput -- Single-line text entry field
- TextArea -- Multi-line text editor with syntax highlighting
- Checkbox -- Boolean toggle with label
- Radio -- Mutually exclusive option selector
- Dropdown -- Drop-down selection list
- ComboBox -- Editable dropdown with text entry
- Slider -- Horizontal or vertical value slider
Spinner -- Numeric up/down control
Display Widgets
- Label -- Single-line text display
- Image -- Bitmap image display
- ProgressBar -- Visual progress indicator
- Canvas -- Custom drawing surface
Separator -- Horizontal or vertical divider line
Data Widgets
- ListBox -- Scrollable list of text items
- ListView -- Multi-column sortable list with headers
TreeView -- Hierarchical tree with expand/collapse
Keyboard Shortcuts
Keyboard Shortcuts
The following keyboard shortcuts are available system-wide in DVX:
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