]> git.saurik.com Git - wxWidgets.git/commitdiff
Applied some of patch [ 650957 ] wxWinCE diff-0.0.4
authorJulian Smart <julian@anthemion.co.uk>
Tue, 10 Dec 2002 12:13:25 +0000 (12:13 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Tue, 10 Dec 2002 12:13:25 +0000 (12:13 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18175 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/msw/wince/guidelines.txt [new file with mode: 0644]
docs/msw/wince/porting.txt
include/wx/msw/private.h
include/wx/msw/winundef.h
src/common/string.cpp
src/msw/wince/wxbase.cpp

diff --git a/docs/msw/wince/guidelines.txt b/docs/msw/wince/guidelines.txt
new file mode 100644 (file)
index 0000000..968bad5
--- /dev/null
@@ -0,0 +1,45 @@
+General guidelines for
+wxWin/CE porting contributors.
+
+1.
+define __WXMSW__ when __WXWINCE__ is defined. 
+In other words:
+both __WXMSW__ and __WXWINCE__ defined => wxWinCE compilation
+just __WXMSW__ defined => wxMSW compilation
+Because: Not defining __WXMSW__ for wxWinCE port means that all code doing anything
+Win32-specific would need to be changed to work with wxWinCE which doesn't
+seem at all like a good idea. (VZ)
+
+2. 
+Shorter way is preferred
+#if (defined(STRICT) || defined(__GNUC__)) && !defined(__WXWINCE__)
+Because: Shorter code, single case intead of multiple one (JS)
+
+3.
+it's a good idea to separate GUI details from platform details.
+It would seem logical to do the same for Windows with WIN32 for the "system"
+functions and WXMSW and WXWINCE for the places where GUI's are different.
+If something is really a WIN32 function, #ifdef WIN32 seems much more
+logical than "#if defined(__WXMSW__) || defined(__WXWINCE__)"
+Because: Just imagine all the common unix stuff where within "#if defined(__WXGTK__)||
+defined(__WXMOTIF__)||defined(__WXX11)" and the mess that would create
+when trying to compile any of those 3 ports on OS/2, Windows or MacOS. (SN)
+
+4.
+Project that are not involved with the DLL creation should be stored in another level.
+Maybe something like /src/msw/wince/mywxbase
+Because: The main directory remain clearer. (MC)
+
+5. Definitely do not use #if defined (__WXWINCE__) in common headers or not MSW headers (JS)
+
+
+6. Note that wx/msw/private.h shouldn't be included neither from the
+headers -- only from the .cpp files. And there you should include it after
+everything, i.e.:
+#include "wx/dc.h"
+...
+#include "wx/msw/private.h"
+(VZ)
+
+  Marco Cavallini 
+www.koansoftware.com
index c852397ec573bd6cff12c10dcbb017e58bffe4f8..19d08dd56437c7810e347ef2a270fe4e104b04fb 100644 (file)
@@ -56,6 +56,7 @@ Add
 
 Incompatibility stuff & Missing headers
 ---------------------------------------
+ANSI is not supported, WinCE has only Unicode
 <time.h>
 <sys\types.h>
 <assert.h>
@@ -77,8 +78,8 @@ NOTES
 
 
 
-==========================================================
-Koan s.a.s. - Industrial Automation and Embedded Software
-Via Pascoli, 3 / Int.1 - 24121 Bergamo - ITALIA
-Tel./Fax (++39) +35 - 255.235   -   www.koansoftware.com
-==========================================================
+===========================================================
+ Koan s.a.s. - Industrial Automation and Embedded Software
+ Via Pascoli, 3 / Int.1 - 24121 Bergamo - ITALIA
+ www.koansoftware.com
+===========================================================
index 094ab1fcd12f437c4327476ca0280637ad2056d1..21ce06bcf969633c20a37dfe35c3a766e22d5642 100644 (file)
 
 #include <windows.h>
 
+
+#if defined (__WXWINCE__)
+    #include <wingdi.h>     // RGB, COLORREF
+    #include <winuser.h>    // Global Namespaces ::GetKeyState, ::GetWindowRect
+#endif
+
+
 #ifdef __WXMICROWIN__
     // Extra prototypes and symbols not defined by MicroWindows
     #include "wx/msw/microwin.h"
index d1d961080831fd8c291bfe398578fc815072c668..aee51d4b515d6f3a281bbbbee6b637336c5c793a 100644 (file)
@@ -27,7 +27,8 @@
 
 // CreateDialog
 
-#ifdef CreateDialog
+//#ifdef(CreateDialog)
+#if !defined(__WXWINCE__) && defined(CreateDialog)
     #undef CreateDialog
 
     inline HWND CreateDialog(HINSTANCE hInstance,
     #undef Yield
 #endif
 
+
+#if defined(__WXWINCE__) && defined(DrawIcon) //#ifdef DrawIcon
+    #undef DrawIcon
+    inline BOOL DrawIcon(HDC hdc, int x, int y, HICON hicon) 
+    {
+        return DrawIconEx(hdc,x,y,hicon,0,0,0,NULL, DI_NORMAL) ;
+    }
+#endif
+
+
 // GetWindowProc
 //ifdef GetWindowProc
 //   #undef GetWindowProc
index b120724457a3b71aea8d7d4b4e17244623f0367c..5c2e7ededed227b08c5e6c6ac75325ec315d5dc4 100644 (file)
@@ -2091,7 +2091,7 @@ static wxArrayString::CompareFunction gs_compareFunction = NULL;
 static bool gs_sortAscending = TRUE;
 
 // function which is called by quick sort
-extern "C" int LINKAGEMODE
+extern "C" int wxC_CALLING_CONV     // LINKAGEMODE
 wxStringCompareFunction(const void *first, const void *second)
 {
   wxString *strFirst = (wxString *)first;
index 6cc918b3cf86fad627a068e377059876c8f6638f..904d88eb51987c846f9036af9cbee70716ae4a72 100644 (file)
 
 
 /////////////////////////////////
-// Peform some macro test
+// Print out the actual platform
 /////////////////////////////////
 
 #if wxUSE_GUI
-    #if defined(__WXMSW__)
+    #if defined(__WXMSW__) && !defined(__WXWINCE__)
                #pragma message("\t CE : __WXMSW__")
     #elif defined(__WXWINCE__)
                #pragma message("\t CE : __WXWINCE__")