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:
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.
|
Reference in New Issue
Block a user