DXSpas (SpeedSoft's Sibyl Revamped!)

Post Reply
ONiX
Site Admin
Posts: 168
Joined: Tue Nov 18, 2025 1:27 am

DXSpas (SpeedSoft's Sibyl Revamped!)

Post by ONiX »

DXSpas Common UI/UX
  • For DXSpas, we will implement a Virtual Message Bus.
The Virtual Message Structure
Instead of the Windows TMsg, we defined a custom TDXSMessage. This ensures that even on DOS DPMI, the "look and feel" of the event system remains identical to Delphi.

Code: Select all

type
  TDXSMessage = record
    Msg: LongWord;         // Message ID (e.g., DXM_PAINT, DXM_LBUTTONDOWN)
    WParam: LongWord;      // Context-specific data (Key codes, handle indices)
    LParam: LongInt;       // Additional data (Mouse coordinates)
    Result: LongInt;       // Return value for the sender
  end;
The Core Dispatcher (TControl.Dispatch)
In DXSpas, each TControl will have a Dispatch method. This replaces the dependency on the OS-level message loop.

DOS DPMI: Your main loop polls the mouse and keyboard interrupts, converts them into TDXSMessage records, and sends them to the ActiveForm.
Windows & OS/2: The host window intercepts the native message, converts it to a TDXSMessage, and passes it into the DXSpas bus.

Implementation: The "Office Look" Component Message
To achieve that Office 2007 "glow" or Office 2003 "blue" consistently, the controls need to handle a specific message: DXM_NCPAINT (Non-Client Paint).

Code: Select all

procedure TCustomDXControl.Dispatch(var Message: TDXSMessage);
begin
  case Message.Msg of
    DXM_PAINT: 
      Paint;
    DXM_MOUSEMOVE: 
      HandleMouseMove(Message.LParamLo, Message.LParamHi);
    DXM_THEMECHANGE:
      // This is where you switch between Office 2003 and 2007
      Invalidate; 
  else
    inherited Dispatch(Message);
  end;
end;
Differentiating from FPC and Virtual Pascal
By building our Virtual Message Bus, DXSpas gains three massive advantages:

Zero External Dependencies: You don't need USER32.DLL or OS/2's PMWIN.DLL logic for your internal component communication.
Synchronous Performance: Because you aren't waiting for an OS message queue to "post" and "retrieve," UI updates in DXSpas will be significantly snappier than in FPC.
Visual Consistency: Since you control the DXM_PAINT message, you can ensure that Sub-Pixel Rendering or Anti-Aliasing for your Office 2007-style gradients is applied identically on DOS and Windows.
ONiX
Site Admin
Posts: 168
Joined: Tue Nov 18, 2025 1:27 am

Re: DXSpas (SpeedSoft's Sibyl Revamped!)

Post by ONiX »

Gradient-shaded and rounded toolbars with grippers
(C) 2026 by Brain Patchwork DX, LLC.
(C) 2026 by Brain Patchwork DX, LLC.
lookandfeel_gradient.png (5.56 KiB) Viewed 1205 times
Hot toolbar buttons
(C) 2026 by Brain Patchwork DX, LLC.
(C) 2026 by Brain Patchwork DX, LLC.
lookandfeel_toolbarhotbutton.png (5.77 KiB) Viewed 1205 times
Hot pressed toolbar buttons
(C) 2026 by Brain Patchwork DX, LLC.
(C) 2026 by Brain Patchwork DX, LLC.
lookandfeel_toolbarhotbuttonpressed.png (5.76 KiB) Viewed 1205 times
Vertically docked toolbars
(C) 2026 by Brain Patchwork DX, LLC.
(C) 2026 by Brain Patchwork DX, LLC.
lookandfeel_verticaltoolbar.png (5.97 KiB) Viewed 1205 times
ONiX
Site Admin
Posts: 168
Joined: Tue Nov 18, 2025 1:27 am

Re: DXSpas (SpeedSoft's Sibyl Revamped!)

Post by ONiX »

Menus with grippers and hot menu buttons
(C) 2026 by Brain Patchwork DX, LLC.
(C) 2026 by Brain Patchwork DX, LLC.
lookandfeel_menuhotbuttons.png (5.04 KiB) Viewed 1205 times
Control bars with embedded controls
(C) 2026 by Brain Patchwork DX, LLC.
(C) 2026 by Brain Patchwork DX, LLC.
lookandfeel_controlbar.png (13.19 KiB) Viewed 1205 times
Themed status bars
(C) 2026 by Brain Patchwork DX, LLC.
(C) 2026 by Brain Patchwork DX, LLC.
lookandfeel_statusbar.png (3.02 KiB) Viewed 1205 times
Post Reply