]> git.saurik.com Git - wxWidgets.git/commitdiff
Added microwin doc directory, readme and patches
authorJulian Smart <julian@anthemion.co.uk>
Mon, 2 Jul 2001 12:10:47 +0000 (12:10 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Mon, 2 Jul 2001 12:10:47 +0000 (12:10 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10776 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/microwin/microwindows.patches [new file with mode: 0644]
docs/microwin/readme.txt [new file with mode: 0644]

diff --git a/docs/microwin/microwindows.patches b/docs/microwin/microwindows.patches
new file mode 100644 (file)
index 0000000..7de707e
--- /dev/null
@@ -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;
+  }
diff --git a/docs/microwin/readme.txt b/docs/microwin/readme.txt
new file mode 100644 (file)
index 0000000..d7cff79
--- /dev/null
@@ -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.