This list has been conspicuously quiet for the last while, so I thought
I'd try to wake it up a bit.

Following my last major work to nano-X version 0.6, which basically
got all the mini-x feature set running, along with device drivers for keyboard,
mouse and screen for linux framebuffer, linux 1.x svgalib, elks, msdos,
and bare hardware,  I decided that it would be time to see whether the basic 
"Gd" device middleware layer was ready for another "upper-level api."

So, without further ado, I announce Micro-Win.  Micro-Win is a replacement
user api running on top of my nano device independent layer that implements
the Win32 user and gdi modules.  Well, implements some of the *huge* api, at least.
The following is currently implemented:

        CreateWindow
        DestroyWindow
        RegisterClass
        GetDC
        GetWindowDC
        ReleaseDC
        BeginPaint
        EndPaint
        FillRect
        LineTo, MoveTo
        GetClientRect
        GetWindowRect
        ScreenToClient, ClientToScreen
        DefWindowProc
        MoveWindow
        ShowWindow
        GetMessage
        DispatchMessage
        WinMain
        WM_* messages for the above api
        Client and non-client painting (only WS_BORDER NC painting currently)
        Replacement <windows.h>

The client and window rect, along with full clipping and window control are supported.
All this of course runs in about 50K of memory.  This allows small windows
programs to be run, without re-writing them.

The idea here is that the now, there is a small nano system that can run X api
and Win32 api, all in a small space.  In fact, although I haven't done this yet,
I could make it run them both at the same time, because the api's are implemented
on top of a portable device layer.  Anybody with some custom controls or cool
win32 draw code can now run on linux, elks, dos, etc.

My next plan is to port some controls, button, checkbox, radio button, listbox,
and scrollbar, as well as complete some cool 3d window caption and border
draw code.

Greg

Reply via email to