DVX SDK ======= This SDK contains everything needed to develop applications and widgets for the DVX GUI system. Directory Structure ------------------- include/ core/ DVX core headers (types, drawing, windows, widgets) shell/ Shell/app loading API tasks/ Cooperative task switching API sql/ SQLite database wrapper API widget/ Per-widget public API headers samples/ hello/ Minimal "Hello World" application widget/ Minimal custom widget Requirements ------------ - DJGPP cross-compiler (i586-pc-msdosdjgpp-gcc) - dxe3gen (included with DJGPP) - DVX resource compiler (SYSTEM/DVXRES.EXE on the target, or bin/dvxres on the host) - DVX help compiler (SYSTEM/DVXHLPC.EXE on the target, or bin/dvxhlpc on the host) Building an Application ----------------------- 1. Write your app with appDescriptor and appMain exports 2. Compile: gcc -c -o myapp.o myapp.c -Isdk/include/core ... 3. Link: dxe3gen -o myapp.app -U myapp.o 4. Optionally create a .res file and build resources with dvxres See samples/hello/ for a complete example. Building a Widget ----------------- 1. Write your widget with wgtRegister export 2. Compile: gcc -c -o mywgt.o mywgt.c -Isdk/include/core 3. Link: dxe3gen -o mywgt.wgt -U mywgt.o See samples/widget/ for a complete example. Deployment ---------- Applications: APPS///.APP Widgets: WIDGETS///.WGT Libraries: LIBS///.LIB Each component can include: - .DHS file for C API documentation (compiled into system help) - .BHS file for BASIC documentation (compiled into BASIC help) - .DEP file listing load-before dependencies - .HCF file defining help compilation rules - .RES file for embedded resources (icons, text, binary data) Help is recompiled automatically at startup when module counts change. DXE3 Symbol Resolution ---------------------- DXE modules resolve symbols at load time via dlopen/dlsym. All DVX core functions, widget APIs, and C runtime functions are available automatically. You do not need import libraries. The loader ensures libraries are loaded before widgets, and widgets before applications, respecting .dep dependencies.