nanogui: Announcing Micro-Win
Subject:
Announcing Micro-Win
From:
Greg Haerr ####@####.####
Date:
3 Jun 1999 01:02:55 -0000
Message-Id: <01BEAD29.2C4DE780.greg@censoft.com>
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