Added microwin doc directory, readme and patches
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10776 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
f0b22b4a03
commit
0fd734af37
81
docs/microwin/microwindows.patches
Normal file
81
docs/microwin/microwindows.patches
Normal file
@ -0,0 +1,81 @@
|
||||
*** /home/julians/microwindows/original/microwin/src/mwin/winuser.c Wed Jul 5 00:36:42 2000
|
||||
--- winuser.c Tue May 22 00:42:01 2001
|
||||
***************
|
||||
*** 136,150 ****
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL WINAPI
|
||||
! PeekMessage(LPMSG lpMsg, HWND hwnd, UINT uMsgFilterMin, UINT uMsgFilterMax,
|
||||
! UINT wRemoveMsg)
|
||||
{
|
||||
HWND wp;
|
||||
PMSG pNxtMsg;
|
||||
|
||||
/* check if no messages in queue*/
|
||||
if(mwMsgHead.head == NULL) {
|
||||
#if PAINTONCE
|
||||
/* check all windows for pending paint messages*/
|
||||
for(wp=listwp; wp; wp=wp->next) {
|
||||
--- 136,158 ----
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
+ /*
|
||||
+ * A helper function for sharing code between PeekMessage and GetMessage
|
||||
+ */
|
||||
+
|
||||
BOOL WINAPI
|
||||
! PeekMessageHelper(LPMSG lpMsg, HWND hwnd, UINT uMsgFilterMin, UINT uMsgFilterMax,
|
||||
! UINT wRemoveMsg, BOOL returnIfEmptyQueue)
|
||||
{
|
||||
HWND wp;
|
||||
PMSG pNxtMsg;
|
||||
|
||||
/* check if no messages in queue*/
|
||||
if(mwMsgHead.head == NULL) {
|
||||
+ /* Added by JACS so it doesn't reach MwSelect */
|
||||
+ if (returnIfEmptyQueue)
|
||||
+ return FALSE;
|
||||
+
|
||||
#if PAINTONCE
|
||||
/* check all windows for pending paint messages*/
|
||||
for(wp=listwp; wp; wp=wp->next) {
|
||||
***************
|
||||
*** 176,188 ****
|
||||
}
|
||||
|
||||
BOOL WINAPI
|
||||
GetMessage(LPMSG lpMsg,HWND hwnd,UINT wMsgFilterMin,UINT wMsgFilterMax)
|
||||
{
|
||||
/*
|
||||
* currently MwSelect() must poll for VT switch reasons,
|
||||
* so this code will work
|
||||
*/
|
||||
! while(!PeekMessage(lpMsg, hwnd, wMsgFilterMin, wMsgFilterMax,PM_REMOVE))
|
||||
continue;
|
||||
return lpMsg->message != WM_QUIT;
|
||||
}
|
||||
--- 184,205 ----
|
||||
}
|
||||
|
||||
BOOL WINAPI
|
||||
+ PeekMessage(LPMSG lpMsg, HWND hwnd, UINT uMsgFilterMin, UINT uMsgFilterMax,
|
||||
+ UINT wRemoveMsg)
|
||||
+ {
|
||||
+ /* Never wait in MwSelect: pass TRUE */
|
||||
+ return PeekMessageHelper(lpMsg, hwnd, uMsgFilterMin, uMsgFilterMax, wRemoveMsg, TRUE);
|
||||
+ }
|
||||
+
|
||||
+ BOOL WINAPI
|
||||
GetMessage(LPMSG lpMsg,HWND hwnd,UINT wMsgFilterMin,UINT wMsgFilterMax)
|
||||
{
|
||||
/*
|
||||
* currently MwSelect() must poll for VT switch reasons,
|
||||
* so this code will work
|
||||
*/
|
||||
! /* Always wait in MwSelect if there are messages: pass FALSE */
|
||||
! while(!PeekMessageHelper(lpMsg, hwnd, wMsgFilterMin, wMsgFilterMax,PM_REMOVE, FALSE))
|
||||
continue;
|
||||
return lpMsg->message != WM_QUIT;
|
||||
}
|
65
docs/microwin/readme.txt
Normal file
65
docs/microwin/readme.txt
Normal file
@ -0,0 +1,65 @@
|
||||
wxMicroWindows port
|
||||
===================
|
||||
|
||||
Julian Smart 2001-07-02
|
||||
|
||||
This is a snapshot of my experimental port of wxWindows to
|
||||
MicroWindows. Widgets are supplied by the wxUniversal project,
|
||||
while the underlying port uses the Windows ports with small
|
||||
modifications for the MicroWindows API.
|
||||
|
||||
There are many things missing from MicroWindows that will
|
||||
make the port quite limited for the time being. I haven't
|
||||
worked out how to create bitmaps, though there is a BMP to C
|
||||
converter. There are no menus, no common dialogs, and only
|
||||
one WIN32 app may be run at a time.
|
||||
|
||||
Some things can no doubt be worked around, and/or MicroWindows
|
||||
itself tweaked. Lots of wxWin functionality is just switched off or
|
||||
commented out.
|
||||
|
||||
Installation
|
||||
============
|
||||
|
||||
First install MicroWindows - untar it, change config to
|
||||
use X11 and any other options you feel fit, apply
|
||||
microwindows.patches to fix PeekMessage, and compile
|
||||
(type 'make' from within the src directory).
|
||||
|
||||
Untar the wxMicroWindows port, and change the TOP variable at the
|
||||
top of src/microwin/Makefile to reflect where MicroWindows is installed.
|
||||
Type 'make all' from src/microwin. To clean, use cleanwx and NOT clean
|
||||
since that will clean MicroWindows itself.
|
||||
|
||||
To make the sample, cd into samples/minimal, edit the TOP variable,
|
||||
and type 'make all'.
|
||||
Running 'minimal' runs the virtual MicroWindows desktop
|
||||
and the minimal sample, since in a MicroWindows WIN32 application
|
||||
they are one and the same binary.
|
||||
|
||||
Status
|
||||
======
|
||||
|
||||
A frame comes up :-)
|
||||
|
||||
Notes
|
||||
=====
|
||||
|
||||
No ::GetKeyState (see microwin/private.h). Should probably use GdOpenKeyboard/GdCloseKeyboard/GdReadKeyboard. Could perhaps emulate GetKeyState this way.
|
||||
|
||||
No ::CreateBitmap or BITMAPINFO. But BMPs can be converted
|
||||
to C using convbmp, then need to use Gr... functions.
|
||||
|
||||
No ::DestroyIcon, ::DestroyCursor - use ::DestroyObject instead?
|
||||
Also no LoadCursor, LoadImage. So how do we make cursors? No ::SetCursor.
|
||||
|
||||
wxDC: no ::GetTextColor, ::GetBkColor, ::IntersectClipRect,
|
||||
::GetClipBox
|
||||
|
||||
No ::SetMenu, so no menus or menubars.
|
||||
|
||||
No ::GetObject so we can't get LOGFONT from an HFONT
|
||||
in wxSystemSettings.
|
||||
|
||||
No ::CreateDialog so how do we create dialogs? Simulate
|
||||
one with a frame I guess.
|
Loading…
Reference in New Issue
Block a user