Menu

NanoX_Introduction

Anonymous

Overview of the Nano-X, NXlib, Microwindows and FLTK for DOS development environment.

Nano-X as it is named today, is an Open Source project that develops a graphical windowing system for small and embedded devices. Nano-X does not require any operating system or other graphics system support, as it writes directly to the display hardware. Nano-X is designed to be portable, and can run in a wide variety of hardware and software environments. The library provides two programming APIs: one is XWindows compatible, the other is Win32 compatible. This site makes the DOS port of this library available, the primary site of this project is here: http://www.microwindows.org/

Architecture

The Nano-X Window System is a layered design that allows different layers to be used or rewritten to suit the needs of the implementation. At the lowest level, screen, mouse/touchpad and keyboard drivers provide access to the actual display and other user-input hardware. For DOS an SVGA driver has been written. At the mid level, a portable graphics engine is implemented, providing support for line draws, area fills, polygons, clipping and color models.

At the upper level, two API's are implemented providing access to the graphics applications programmer. These APIs can provide desktop and/or window look and feel. Currently, Nano-X supports the Microwindows and Nano-X APIs. These APIs provide close compatibility with the Win32 and X Window systems, allowing programs to be ported from other systems.

Licence

The project is licensed under the MPL. Alternatively, the software can be licensed under the GPL, if desired. This means that the standard Nano-X distribution can be used for commercial purposes, and supports the needs of developers working under non-disclosure or writing proprietary device drivers. Modifications to source code supplied in the standard distribution must stay open source. Or the entire project can be converted to GPL, with files added by a developer considered GPL only.

Port to DOS

Nano-X has been ported to DOS using DJGPP. All development based on this library has been done using the DJGPP compiler.

NXlib

NXlib is a wrapper library that provides closer compatibility to the Xlib API for Nano-X. Due to historical reasons, the functions in Nano-X were called differently than in XWindows although they provided almost the same functionality. Using NXlib many XWindows applications can be ported to DOS without major changes.

Xt, Xaw, Motif

NXlib is compatible to just Xlib. If a program uses Xt, Xaw or Motif, you will not be able to port this to DOS. This image shows the relationship of these packages:

FLTK

FLTK stands for Fast Light Tool Kit. It is a C++ GUI toolkit that provides modern GUI functionality with a smaller footprint than GTK+. FLTK is designed to be small and modular enough to be statically linked which has do be done with DJGPP. FLTK also includes an excellent UI builder called FLUID. FLTK is provided with a GPL licence and allows for static linking. NXlib provides enough XWindows compatibility that FLTK can be used on the base of the NXlib and Nano-X libraries.

Applications

Based on the DOS port of the Nano-X library and FLTK the browser Dillo has been ported to DOS and is available from this site.

Further applications will be ported and made available here. A calculator application has been added recently.

More information about Nano-X can be found here: http://www.microwindows.org/microwindows_architecture.html This page does not yet cover NXlib and the FLTK port and uses the old name microwindows instead of Nano-X.


Discussion

  • Anonymous

    Anonymous - 2013-09-01

    Originally posted by: gisle.vanem@gmail.com

    Hello Georg.

    So according to the picture above, it could be a tiny chance to make a djgpp-port of the Qt library using your NanoX? Would be cool, but I doubt it.

     
  • Anonymous

    Anonymous - 2013-10-10

    Originally posted by: dos...@gmail.com

    Hi Gisle,

    In 2003 there had been tests to run QT on NXlib/Nano-X. This is mentioned on the Microwindows Web Site:

    "Although a work in progress, NXLIB also is making progress running unmodified QT and GTK+ programs. NXLIB v0.44 has been tested with QT v2.3.1, and GTK+ 1.2.10, and many of the demonstration programs are currently running. "

    You can download the result of these tests for GTK 1.2.10 from the WebSite? but I did not find any files for QT. I did not test these GTK files yet since there are very few applications based on GTK 1.2.10 todey.

    Georg

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.