PalmOS 6 compilation fixes (patch 1849757)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50704 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
7379e47609
commit
e2fc40b478
@ -288,6 +288,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
||||
src/palmos/dir.cpp
|
||||
src/palmos/prefconf.cpp
|
||||
src/palmos/snglinst.cpp
|
||||
src/palmos/stdall.c
|
||||
src/palmos/thread.cpp
|
||||
src/palmos/utils.cpp
|
||||
src/palmos/utilsexc.cpp
|
||||
@ -303,6 +304,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
||||
wx/palmos/apptrait.h
|
||||
wx/palmos/chkconf.h
|
||||
wx/palmos/mimetype.h
|
||||
wx/palmos/missing.h
|
||||
wx/palmos/stdpaths.h
|
||||
</set>
|
||||
|
||||
|
@ -32,7 +32,7 @@ LDFLAGS =
|
||||
CPP = $(CC) /EP /nologo
|
||||
|
||||
# What type of library to build? [0,1]
|
||||
SHARED = 0
|
||||
SHARED = 1
|
||||
|
||||
# Build wxUniversal instead of native port? [0,1]
|
||||
WXUNIV = 0
|
||||
|
@ -1,22 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?eclipse-cdt version="2.0"?>
|
||||
|
||||
<cdtproject id="org.eclipse.cdt.make.core.make">
|
||||
<extension id="org.eclipse.cdt.make.core.MakeScannerProvider" point="org.eclipse.cdt.core.ScannerInfoProvider"/>
|
||||
<extension id="org.eclipse.cdt.core.Elf" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<data>
|
||||
<item id="org.eclipse.cdt.make.core.makeScannerInfo">
|
||||
<includePath path="$(SDK6_LOCATION)headers"/>
|
||||
<includePath path="$(SDK6_LOCATION)headers\EntryNums"/>
|
||||
<includePath path="$(SDK6_LOCATION)headers\posix"/>
|
||||
<includePath path="$(SDK6_LOCATION)headers\posix\arm"/>
|
||||
<includePath path="$(SDK6_LOCATION)headers\posix\arpa"/>
|
||||
<includePath path="$(SDK6_LOCATION)headers\posix\machine"/>
|
||||
<includePath path="$(SDK6_LOCATION)headers\posix\machine\arm"/>
|
||||
<includePath path="$(SDK6_LOCATION)headers\posix\machine\x86"/>
|
||||
<includePath path="$(SDK6_LOCATION)headers\posix\net"/>
|
||||
<includePath path="$(SDK6_LOCATION)headers\posix\netinet"/>
|
||||
<includePath path="$(SDK6_LOCATION)headers\posix\sys"/>
|
||||
<includePath path="$(SDK6_LOCATION)headers\streams"/>
|
||||
<definedSymbol symbol="__arm__"/>
|
||||
</item>
|
||||
</data>
|
||||
<extension point="org.eclipse.cdt.core.BinaryParser" id="org.eclipse.cdt.core.PE"/>
|
||||
<data>
|
||||
|
||||
<item id="org.eclipse.cdt.core.pathentry">
|
||||
<pathentry kind="src" path=""/>
|
||||
<pathentry kind="out" path=""/>
|
||||
<pathentry kind="mac" path="" name="__arm__" value="1"/>
|
||||
<pathentry kind="con" path="org.eclipse.cdt.make.core.DISCOVERED_SCANNER_INFO"/>
|
||||
</item>
|
||||
</data>
|
||||
</cdtproject>
|
||||
|
@ -29,25 +29,29 @@
|
||||
<value>1</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>SDK</key>
|
||||
<value>com.palmsource.eclipse.sdk.palmos6</value>
|
||||
<key>PROJECT_VERSION</key>
|
||||
<value>10100</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>DB_RESET_INSTALL</key>
|
||||
<value>false</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>APP_NAME</key>
|
||||
<value>wxWidgets</value>
|
||||
<key>SDK</key>
|
||||
<value>com.palmsource.eclipse.sdk.palmos6</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>PROJECT_NAME</key>
|
||||
<key>APP_NAME</key>
|
||||
<value>wxWidgets</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>OS_API</key>
|
||||
<value>Protein</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>PROJECT_NAME</key>
|
||||
<value>wxWidgets</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>PROJECT_TYPE</key>
|
||||
<value>appl</value>
|
||||
@ -115,6 +119,47 @@
|
||||
</dictionary>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.cdt.make.core.ScannerConfigBuilder</name>
|
||||
<arguments>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.ScannerConfigDiscoveryEnabled</key>
|
||||
<value>true</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.makeBuilderParserId</key>
|
||||
<value>org.eclipse.cdt.make.core.GCCScannerInfoConsoleParser</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.esiProviderCommandEnabled</key>
|
||||
<value>true</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.siProblemGenerationEnabled</key>
|
||||
<value>true</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.useDefaultESIProviderCmd</key>
|
||||
<value>false</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.makeBuilderParserEnabled</key>
|
||||
<value>true</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.esiProviderArguments</key>
|
||||
<value>-E -P -v ${plugin_state_location}/${specs_file}</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.esiProviderParserId</key>
|
||||
<value>org.eclipse.cdt.make.core.GCCSpecsConsoleParser</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.esiProviderCommand</key>
|
||||
<value>gcc</value>
|
||||
</dictionary>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>com.palmsource.eclipse.palmos6dev.palmOSProteinNature</nature>
|
||||
@ -122,5 +167,6 @@
|
||||
<nature>org.eclipse.cdt.core.cnature</nature>
|
||||
<nature>org.eclipse.cdt.make.core.makeNature</nature>
|
||||
<nature>org.eclipse.cdt.core.ccnature</nature>
|
||||
<nature>org.eclipse.cdt.make.core.ScannerConfigNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
|
@ -7,7 +7,7 @@ endif
|
||||
|
||||
# This value is unescaped. Either quote the value or escape special characters when you use it.
|
||||
ifeq ($(SDK_LOCATION), )
|
||||
SDK_LOCATION = C:/Program Files/PalmSource/Palm OS Developer Suite/sdk-6/
|
||||
SDK_LOCATION = C:/Program Files/PalmSource/Palm OS Developer Suite/sdk-6.1/
|
||||
endif
|
||||
|
||||
ifeq ($(SDK_VERSION), )
|
||||
@ -34,26 +34,30 @@ ifeq ($(VERSION), )
|
||||
VERSION = 1
|
||||
endif
|
||||
|
||||
ifeq ($(DB_RESET_INSTALL), )
|
||||
DB_RESET_INSTALL = false
|
||||
ifeq ($(PROJECT_VERSION), )
|
||||
PROJECT_VERSION = 10100
|
||||
endif
|
||||
|
||||
ifeq ($(SDK), )
|
||||
SDK = com.palmsource.eclipse.sdk.palmos6
|
||||
endif
|
||||
|
||||
ifeq ($(DB_RESET_INSTALL), )
|
||||
DB_RESET_INSTALL = false
|
||||
endif
|
||||
|
||||
ifeq ($(APP_NAME), )
|
||||
APP_NAME = wxWidgets
|
||||
endif
|
||||
|
||||
ifeq ($(OS_API), )
|
||||
OS_API = Protein
|
||||
endif
|
||||
|
||||
ifeq ($(PROJECT_NAME), )
|
||||
PROJECT_NAME = wxWidgets
|
||||
endif
|
||||
|
||||
ifeq ($(OS_API), )
|
||||
OS_API = Protein
|
||||
endif
|
||||
|
||||
ifeq ($(PROJECT_TYPE), )
|
||||
PROJECT_TYPE = appl
|
||||
endif
|
||||
|
@ -10,6 +10,9 @@
|
||||
# 2. Review the other settings as needed.
|
||||
#
|
||||
## --------------------------------------------------------------------------
|
||||
INSTALL=install
|
||||
INSTALL_DATA=${INSTALL} -m 644
|
||||
INSTALL_DIR=${INSTALL} -d
|
||||
|
||||
SHELL = /bin/sh
|
||||
## conditionally include an auto-generated.mk for dynamic definitions
|
||||
@ -42,13 +45,17 @@ PRC_NAME = wxWidgets.prc
|
||||
# TODO: Update all sources and resources
|
||||
|
||||
BASE_CMN_SRC = \
|
||||
../../src/common/arrstr.cpp \
|
||||
../../src/common/appbase.cpp \
|
||||
../../src/common/archive.cpp \
|
||||
../../src/common/btncmn.cpp \
|
||||
../../src/common/clntdata.cpp \
|
||||
../../src/common/cmdline.cpp \
|
||||
../../src/common/config.cpp \
|
||||
../../src/common/convauto.cpp \
|
||||
../../src/common/datetime.cpp \
|
||||
../../src/common/datstrm.cpp \
|
||||
../../src/common/dcbufcmn.cpp \
|
||||
../../src/common/dircmn.cpp \
|
||||
../../src/common/dynarray.cpp \
|
||||
../../src/common/dynlib.cpp \
|
||||
@ -84,15 +91,20 @@ BASE_CMN_SRC = \
|
||||
../../src/common/strconv.cpp \
|
||||
../../src/common/stream.cpp \
|
||||
../../src/common/string.cpp \
|
||||
../../src/common/stringimpl.cpp \
|
||||
../../src/common/stringops.cpp \
|
||||
../../src/common/strvararg.cpp \
|
||||
../../src/common/sysopt.cpp \
|
||||
../../src/common/textbuf.cpp \
|
||||
../../src/common/textfile.cpp \
|
||||
../../src/common/tokenzr.cpp \
|
||||
../../src/common/txtstrm.cpp \
|
||||
../../src/common/unichar.cpp \
|
||||
../../src/common/uri.cpp \
|
||||
../../src/common/variant.cpp \
|
||||
../../src/common/wfstream.cpp \
|
||||
../../src/common/wxchar.cpp \
|
||||
../../src/common/wxcrt.cpp \
|
||||
../../src/common/wxprintf.cpp \
|
||||
../../src/common/xti.cpp \
|
||||
../../src/common/xtistrm.cpp \
|
||||
../../src/common/zipstrm.cpp \
|
||||
@ -130,6 +142,7 @@ NET_CMN_SRC = \
|
||||
../../src/common/url.cpp
|
||||
|
||||
PALMOS_LOWLEVEL_SRC = \
|
||||
../../src/palmos/stdall.c \
|
||||
../../src/palmos/app.cpp \
|
||||
../../src/palmos/bitmap.cpp \
|
||||
../../src/palmos/brush.cpp \
|
||||
@ -280,6 +293,7 @@ GUI_CMN_SRC = \
|
||||
../../src/common/settcmn.cpp \
|
||||
../../src/common/sizer.cpp \
|
||||
../../src/common/statbar.cpp \
|
||||
../../src/common/stattextcmn.cpp \
|
||||
../../src/common/stockitem.cpp \
|
||||
../../src/common/tbarbase.cpp \
|
||||
../../src/common/textcmn.cpp \
|
||||
@ -451,6 +465,9 @@ $(XML_SRC) \
|
||||
$(OPENGL_SRC) \
|
||||
../../src/palmos/progdlg.cpp
|
||||
|
||||
#include othersrc.mak
|
||||
#SOURCES += $(OTHER_SRC)
|
||||
|
||||
RESOURCES = ../../include/wx/palmos/wxWidgets.xrd ../../include/wx/palmos/Version.xrd
|
||||
DEFS_FILE = ../../include/wx/palmos/wxWidgets.def
|
||||
SLD_FILE = ../../include/wx/palmos/wxWidgets.sld
|
||||
@ -500,7 +517,10 @@ DEBUG_OR_RELEASE=Debug
|
||||
# Set the target platform for the build; either Device or Simulator
|
||||
# Use Device as a target for emulator builds.
|
||||
#
|
||||
TARGET_PLATFORM=Simulator
|
||||
#TARGET_PLATFORM=Simulator
|
||||
TARGET_PLATFORM=Device
|
||||
|
||||
#TARGET_FORMAT=PalmOS4
|
||||
|
||||
# Specify the level of optimization that you want:
|
||||
# NONE, SOME, FULL, INTRAPROCEDURAL, INTERPROCEDURAL, INLINING.
|
||||
@ -535,7 +555,8 @@ ADDITIONAL_SIM_LINK_LIBRARIES =
|
||||
# Additionally, you must explicly specify the "-I" prior to each
|
||||
# path included in this variable. Spaces are used to separate
|
||||
# each path from each other.
|
||||
LOCAL_INCLUDE_PATHS = -Irsc -I../../lib/gcc_lib/palmos -I../../include
|
||||
incdir=../../lib/gcc_lib/palmos
|
||||
LOCAL_INCLUDE_PATHS = -Irsc -I$(incdir) -I../../include
|
||||
LOCAL_SIM_INCLUDE_PATHS = $(LOCAL_INCLUDE_PATHS)
|
||||
|
||||
# Additional paths to look for #include <header>
|
||||
|
@ -160,7 +160,9 @@ endif
|
||||
###############################################################################
|
||||
# Compile and Link Settings
|
||||
|
||||
ifeq ($(TARGET_FORMAT), )
|
||||
TARGET_FORMAT=PalmOS6
|
||||
endif
|
||||
|
||||
# Compiler settings... compiler + optimizations + debug
|
||||
# This is a makefile for Palm OS 6 so the compilers used are as follows:
|
||||
@ -428,6 +430,7 @@ SLD_SIM_OBJ := $(addprefix $(SIM_OBJ_DIR)/, $(addsuffix .o, $(SLD_BASENAME)))
|
||||
VPATH :=
|
||||
VPATH += $(addprefix :, $(subst ,:, $(filter-out $($(subst, :, ,$(VPATH))), $(SOURCE_PATHS) $(RESOURCE_PATHS) )))
|
||||
|
||||
# -I "$(SDK_LOCATION)include" -I "$(SDK_LOCATION)include/Core/System" #
|
||||
SYSTEM_INCLUDES = $(SYSTEM_INCLUDE_PATHS) -I "$(SDK_LOCATION)headers" -I "$(SDK_LOCATION)headers/posix"
|
||||
INCLUDES = $(LOCAL_INCLUDE_PATHS) $(foreach path, $(SOURCE_PATHS), $(addprefix -I, $(path))) $(SYSTEM_INCLUDES) $(PRE_INCLUDE_PATHS)
|
||||
CPP_INCLUDES = -I "$(TOOLS_DIR)include/stlport"
|
||||
@ -602,10 +605,15 @@ $(RSC_OBJ_DIR)/%.trc : %.XRD makefile
|
||||
$(SLD_OBJ) : makefile
|
||||
@echo "...Processing definition file for Device..."
|
||||
"$(TOOLS_DIR)pslib" -inDef "$(SLD_FILE)" $(PSLIB_DEV_FLAGS) -outObjStartup $@ -type '$(DB_TYPE)' -creator '$(CREATOR_ID)' -execName $(DATABASE_NAME)
|
||||
$(INSTALL_DIR) $(incdir)/wx/
|
||||
$(INSTALL_DATA) ../../include/wx/palmos/setup0.h $(incdir)/wx/setup.h
|
||||
|
||||
|
||||
$(SLD_SIM_OBJ) : makefile
|
||||
@echo "...Processing definition file for Simulator..."
|
||||
"$(TOOLS_DIR)pslib" -inDef "$(SLD_FILE)" $(PSLIB_SIM_FLAGS) -outSimStartup $@ -outSimRsrc $(SIM_OBJ_DIR)/acod0000.bin -outSimDefs $(SIM_OBJ_DIR)/gcc_link.def -type '$(DB_TYPE)' -creator '$(CREATOR_ID)' -execName $(DATABASE_NAME)
|
||||
$(INSTALL_DIR) $(incdir)/wx/
|
||||
$(INSTALL_DATA) ../../include/wx/palmos/setup0.h $(incdir)/wx/setup.h
|
||||
|
||||
# Linking step
|
||||
$(LINKER_OUTPUT) : $(OBJS)
|
||||
|
@ -204,6 +204,9 @@
|
||||
#define false ((bool)0)
|
||||
#endif
|
||||
#define HAVE_BOOL
|
||||
#elif defined(__WXPALMOS__)
|
||||
/* Palm OS supports bool */
|
||||
#define HAVE_BOOL
|
||||
#endif /* compilers */
|
||||
#endif /* HAVE_BOOL */
|
||||
|
||||
@ -563,7 +566,7 @@ typedef int wxWindowID;
|
||||
/* NULL declaration: it must be defined as 0 for C++ programs (in particular, */
|
||||
/* it must not be defined as "(void *)0" which is standard for C but completely */
|
||||
/* breaks C++ code) */
|
||||
#ifndef __HANDHELDPC__
|
||||
#if !defined(__HANDHELDPC__) && !defined(__PALMOS__)
|
||||
#include <stddef.h>
|
||||
#endif
|
||||
|
||||
@ -751,7 +754,9 @@ enum { wxDefaultCoord = -1 };
|
||||
/* ---------------------------------------------------------------------------- */
|
||||
|
||||
#if defined(__WXPALMOS__) || defined(__MINGW32__)
|
||||
#if !defined(__MWERKS__)
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* chars are always one byte (by definition), shorts are always two (in */
|
||||
@ -807,7 +812,9 @@ typedef wxUint16 wxWord;
|
||||
#define SIZEOF_LONG 4
|
||||
#define SIZEOF_WCHAR_T 2
|
||||
#define SIZEOF_SIZE_T 4
|
||||
#define wxSIZE_T_IS_UINT
|
||||
#ifdef __WXPALMOS6__
|
||||
#define wxSIZE_T_IS_UINT
|
||||
#endif
|
||||
#define SIZEOF_VOID_P 4
|
||||
#define SIZEOF_SIZE_T 4
|
||||
#elif defined(__WINDOWS__)
|
||||
@ -1058,7 +1065,11 @@ inline void *wxUIntToPtr(wxUIntPtr p)
|
||||
#error "See the documentation on the 'longlong' pragma."
|
||||
#endif
|
||||
#elif defined(__WXPALMOS__)
|
||||
#define wxLongLong_t int64_t
|
||||
#if defined(__WXPALMOS6__)
|
||||
#define wxLongLong_t int64_t
|
||||
#else
|
||||
#define wxLongLong_t long long
|
||||
#endif /* __WXPALMOS6__ */
|
||||
#define wxLongLongSuffix ll
|
||||
#define wxLongLongFmtSpec _T("ll")
|
||||
#elif defined(__VISAGECPP__) && __IBMCPP__ >= 400
|
||||
@ -1082,7 +1093,11 @@ inline void *wxUIntToPtr(wxUIntPtr p)
|
||||
#ifdef wxLongLong_t
|
||||
|
||||
#ifdef __WXPALMOS__
|
||||
#if defined(__WXPALMOS6__)
|
||||
#define wxULongLong_t uint64_t
|
||||
#else
|
||||
#define wxULongLong_t unsigned long long
|
||||
#endif /* __WXPALMOS6__ */
|
||||
#else
|
||||
#define wxULongLong_t unsigned wxLongLong_t
|
||||
#endif
|
||||
|
@ -15,6 +15,7 @@
|
||||
#include "wx/list.h"
|
||||
#include "wx/arrstr.h"
|
||||
|
||||
#ifndef __WXPALMOS5__
|
||||
#ifdef __WXWINCE__
|
||||
#include "wx/msw/wince/time.h"
|
||||
#include "wx/msw/private.h"
|
||||
@ -39,6 +40,7 @@
|
||||
#include <unix.h>
|
||||
#endif
|
||||
#endif
|
||||
#endif // !__WXPALMOS5__
|
||||
|
||||
#ifdef __OS2__
|
||||
// need to check for __OS2__ first since currently both
|
||||
@ -88,9 +90,11 @@
|
||||
#include <unix.h>
|
||||
#endif
|
||||
|
||||
#ifndef __WXPALMOS5__
|
||||
#ifndef __WXWINCE__
|
||||
#include <fcntl.h> // O_RDONLY &c
|
||||
#endif
|
||||
#endif // !__WXPALMOS5__
|
||||
// ----------------------------------------------------------------------------
|
||||
// constants
|
||||
// ----------------------------------------------------------------------------
|
||||
@ -116,6 +120,8 @@
|
||||
typedef long off_t;
|
||||
#elif defined(__MWERKS__) && !defined(__INTEL__) && !defined(__MACH__)
|
||||
typedef long off_t;
|
||||
#elif defined(__WXPALMOS5__)
|
||||
typedef long off_t;
|
||||
#endif
|
||||
|
||||
enum wxSeekMode
|
||||
@ -615,6 +621,9 @@ WXDLLIMPEXP_BASE bool wxIsExecutable(const wxString &path);
|
||||
// CYGWIN also uses UNIX settings
|
||||
#define wxFILE_SEP_PATH wxFILE_SEP_PATH_UNIX
|
||||
#define wxPATH_SEP wxPATH_SEP_UNIX
|
||||
#elif defined(__WXPALMOS__)
|
||||
#define wxFILE_SEP_PATH wxFILE_SEP_PATH_UNIX
|
||||
#define wxPATH_SEP wxPATH_SEP_UNIX
|
||||
#elif defined(__MAC__)
|
||||
#define wxFILE_SEP_PATH wxFILE_SEP_PATH_MAC
|
||||
#define wxPATH_SEP wxPATH_SEP_MAC
|
||||
|
@ -19,13 +19,17 @@
|
||||
class WXDLLIMPEXP_BASE wxConsoleAppTraits : public wxConsoleAppTraitsBase
|
||||
{
|
||||
public:
|
||||
#if wxUSE_CONSOLE_EVENTLOOP
|
||||
virtual wxEventLoopBase *CreateEventLoop();
|
||||
#endif // wxUSE_CONSOLE_EVENTLOOP
|
||||
virtual void *BeforeChildWaitLoop();
|
||||
virtual void AlwaysYield();
|
||||
virtual void AfterChildWaitLoop(void *data);
|
||||
#if wxUSE_TIMER
|
||||
virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer) { return NULL; };
|
||||
virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer) { return new wxPalmOSTimerImpl(timer); }
|
||||
#endif
|
||||
virtual bool DoMessageFromThreadWait();
|
||||
virtual WXDWORD WaitForThread(WXHANDLE hThread);
|
||||
};
|
||||
|
||||
#if wxUSE_GUI
|
||||
@ -33,6 +37,7 @@ public:
|
||||
class WXDLLIMPEXP_CORE wxGUIAppTraits : public wxGUIAppTraitsBase
|
||||
{
|
||||
public:
|
||||
virtual wxEventLoopBase *CreateEventLoop();
|
||||
virtual void *BeforeChildWaitLoop();
|
||||
virtual void AlwaysYield();
|
||||
virtual void AfterChildWaitLoop(void *data);
|
||||
|
@ -150,6 +150,9 @@
|
||||
#undef wxUSE_ICO_CUR
|
||||
#define wxUSE_ICO_CUR 0
|
||||
|
||||
#undef wxUSE_SVG
|
||||
#define wxUSE_SVG 0
|
||||
|
||||
#undef wxUSE_INTL
|
||||
#define wxUSE_INTL 0
|
||||
|
||||
@ -303,8 +306,8 @@
|
||||
#undef wxUSE_URL
|
||||
#define wxUSE_URL 0
|
||||
|
||||
#undef wxUSE_WCHAR_T
|
||||
#define wxUSE_WCHAR_T 0
|
||||
//#undef wxUSE_WCHAR_T
|
||||
//#define wxUSE_WCHAR_T 1
|
||||
|
||||
#undef wxUSE_WIZARDDLG
|
||||
#define wxUSE_WIZARDDLG 0
|
||||
@ -324,5 +327,11 @@
|
||||
#undef wxUSE_ZLIB
|
||||
#define wxUSE_ZLIB 0
|
||||
|
||||
#undef wxUSE_COLLPANE
|
||||
#define wxUSE_COLLPANE 0
|
||||
|
||||
#undef wxUSE_TOOLBOOK
|
||||
#define wxUSE_TOOLBOOK 0
|
||||
|
||||
#endif
|
||||
/* _WX_PALMOS_CHKCONF_H_ */
|
||||
|
@ -48,7 +48,7 @@ public:
|
||||
virtual bool IsShown() const;
|
||||
|
||||
virtual void SetLabel(const wxString& label);
|
||||
virtual wxString GetLabel();
|
||||
//virtual wxString GetLabel();
|
||||
|
||||
// implementation from now on
|
||||
// --------------------------
|
||||
|
@ -9,8 +9,8 @@
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_DC_H_
|
||||
#define _WX_DC_H_
|
||||
#ifndef _WX_PALM_DC_H_
|
||||
#define _WX_PALM_DC_H_
|
||||
|
||||
#include "wx/defs.h"
|
||||
#include "wx/dc.h"
|
||||
@ -41,11 +41,13 @@ public:
|
||||
};
|
||||
#endif
|
||||
|
||||
class WXDLLEXPORT wxDC : public wxDCBase
|
||||
// this is an ABC: use one of the derived classes to create a DC associated
|
||||
// with a window, screen, printer and so on
|
||||
class WXDLLEXPORT wxPalmDCImpl: public wxDCImpl
|
||||
{
|
||||
public:
|
||||
wxDC();
|
||||
virtual ~wxDC();
|
||||
wxPalmDCImpl(wxDC *owner, WXHDC hDC);
|
||||
virtual ~wxPalmDCImpl();
|
||||
|
||||
// implement base class pure virtuals
|
||||
// ----------------------------------
|
||||
@ -71,46 +73,31 @@ public:
|
||||
|
||||
virtual wxCoord GetCharHeight() const;
|
||||
virtual wxCoord GetCharWidth() const;
|
||||
virtual void DoGetTextExtent(const wxString& string,
|
||||
wxCoord *x, wxCoord *y,
|
||||
wxCoord *descent = NULL,
|
||||
wxCoord *externalLeading = NULL,
|
||||
const wxFont *theFont = NULL) const;
|
||||
virtual bool DoGetPartialTextExtents(const wxString& text, wxArrayInt& widths) const;
|
||||
|
||||
virtual bool CanDrawBitmap() const;
|
||||
virtual bool CanGetTextExtent() const;
|
||||
virtual int GetDepth() const;
|
||||
virtual wxSize GetPPI() const;
|
||||
|
||||
|
||||
virtual void SetMapMode(int mode);
|
||||
virtual void SetUserScale(double x, double y);
|
||||
virtual void SetSystemScale(double x, double y);
|
||||
virtual void SetLogicalScale(double x, double y);
|
||||
virtual void SetLogicalOrigin(wxCoord x, wxCoord y);
|
||||
virtual void SetDeviceOrigin(wxCoord x, wxCoord y);
|
||||
virtual void SetAxisOrientation(bool xLeftRight, bool yBottomUp);
|
||||
|
||||
virtual void SetLogicalFunction(int function);
|
||||
|
||||
virtual wxCoord DeviceToLogicalX(wxCoord x) const;
|
||||
virtual wxCoord DeviceToLogicalY(wxCoord y) const;
|
||||
virtual wxCoord DeviceToLogicalXRel(wxCoord x) const;
|
||||
virtual wxCoord DeviceToLogicalYRel(wxCoord y) const;
|
||||
virtual wxCoord LogicalToDeviceX(wxCoord x) const;
|
||||
virtual wxCoord LogicalToDeviceY(wxCoord y) const;
|
||||
virtual wxCoord LogicalToDeviceXRel(wxCoord x) const;
|
||||
virtual wxCoord LogicalToDeviceYRel(wxCoord y) const ;
|
||||
|
||||
// implementation from now on
|
||||
// --------------------------
|
||||
|
||||
virtual void SetRop(WXHDC cdc);
|
||||
virtual void SelectOldObjects(WXHDC dc);
|
||||
|
||||
wxWindow *GetWindow() const { return m_canvas; }
|
||||
void SetWindow(wxWindow *win)
|
||||
{
|
||||
m_canvas = win;
|
||||
m_window = win;
|
||||
|
||||
#if wxUSE_PALETTE
|
||||
// if we have palettes use the correct one for this window
|
||||
@ -119,7 +106,7 @@ public:
|
||||
}
|
||||
|
||||
WXHDC GetHDC() const { return m_hDC; }
|
||||
void SetHDC(WXHDC dc, bool bOwnsDC = FALSE)
|
||||
void SetHDC(WXHDC dc, bool bOwnsDC = false)
|
||||
{
|
||||
m_hDC = dc;
|
||||
m_bOwnsDC = bOwnsDC;
|
||||
@ -147,10 +134,52 @@ public:
|
||||
static void ClearCache();
|
||||
#endif
|
||||
|
||||
// RTL related functions
|
||||
// ---------------------
|
||||
|
||||
// get or change the layout direction (LTR or RTL) for this dc,
|
||||
// wxLayout_Default is returned if layout direction is not supported
|
||||
virtual wxLayoutDirection GetLayoutDirection() const;
|
||||
virtual void SetLayoutDirection(wxLayoutDirection dir);
|
||||
|
||||
protected:
|
||||
void Init()
|
||||
{
|
||||
m_bOwnsDC = false;
|
||||
m_hDC = NULL;
|
||||
|
||||
m_oldBitmap = NULL;
|
||||
m_oldPen = NULL;
|
||||
m_oldBrush = NULL;
|
||||
m_oldFont = NULL;
|
||||
|
||||
#if wxUSE_PALETTE
|
||||
m_oldPalette = NULL;
|
||||
#endif // wxUSE_PALETTE
|
||||
}
|
||||
|
||||
// create an uninitialized DC: this should be only used by the derived
|
||||
// classes
|
||||
wxPalmDCImpl( wxDC *owner ) : wxDCImpl( owner ) { Init(); }
|
||||
|
||||
void RealizeScaleAndOrigin();
|
||||
|
||||
public:
|
||||
virtual void DoGetTextExtent(const wxString& string,
|
||||
wxCoord *x, wxCoord *y,
|
||||
wxCoord *descent = NULL,
|
||||
wxCoord *externalLeading = NULL,
|
||||
const wxFont *theFont = NULL) const;
|
||||
virtual bool DoGetPartialTextExtents(const wxString& text, wxArrayInt& widths) const;
|
||||
|
||||
virtual bool DoFloodFill(wxCoord x, wxCoord y, const wxColour& col,
|
||||
int style = wxFLOOD_SURFACE);
|
||||
|
||||
virtual void DoGradientFillLinear(const wxRect& rect,
|
||||
const wxColour& initialColour,
|
||||
const wxColour& destColour,
|
||||
wxDirection nDirection = wxEAST);
|
||||
|
||||
virtual bool DoGetPixel(wxCoord x, wxCoord y, wxColour *col) const;
|
||||
|
||||
virtual void DoDrawPoint(wxCoord x, wxCoord y);
|
||||
@ -170,11 +199,15 @@ protected:
|
||||
double radius);
|
||||
virtual void DoDrawEllipse(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
|
||||
|
||||
#if wxUSE_SPLINES
|
||||
virtual void DoDrawSpline(const wxPointList *points);
|
||||
#endif
|
||||
|
||||
virtual void DoCrossHair(wxCoord x, wxCoord y);
|
||||
|
||||
virtual void DoDrawIcon(const wxIcon& icon, wxCoord x, wxCoord y);
|
||||
virtual void DoDrawBitmap(const wxBitmap &bmp, wxCoord x, wxCoord y,
|
||||
bool useMask = FALSE);
|
||||
bool useMask = false);
|
||||
|
||||
virtual void DoDrawText(const wxString& text, wxCoord x, wxCoord y);
|
||||
virtual void DoDrawRotatedText(const wxString& text, wxCoord x, wxCoord y,
|
||||
@ -182,7 +215,15 @@ protected:
|
||||
|
||||
virtual bool DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
|
||||
wxDC *source, wxCoord xsrc, wxCoord ysrc,
|
||||
int rop = wxCOPY, bool useMask = FALSE, wxCoord xsrcMask = -1, wxCoord ysrcMask = -1);
|
||||
int rop = wxCOPY, bool useMask = false, wxCoord xsrcMask = wxDefaultCoord, wxCoord ysrcMask = wxDefaultCoord);
|
||||
|
||||
virtual bool DoStretchBlit(wxCoord xdest, wxCoord ydest,
|
||||
wxCoord dstWidth, wxCoord dstHeight,
|
||||
wxDC *source,
|
||||
wxCoord xsrc, wxCoord ysrc,
|
||||
wxCoord srcWidth, wxCoord srcHeight,
|
||||
int rop = wxCOPY, bool useMask = false,
|
||||
wxCoord xsrcMask = wxDefaultCoord, wxCoord ysrcMask = wxDefaultCoord);
|
||||
|
||||
// this is gnarly - we can't even call this function DoSetClippingRegion()
|
||||
// because of virtual function hiding
|
||||
@ -192,7 +233,6 @@ protected:
|
||||
virtual void DoGetClippingBox(wxCoord *x, wxCoord *y,
|
||||
wxCoord *w, wxCoord *h) const;
|
||||
|
||||
virtual void DoGetSize(int *width, int *height) const;
|
||||
virtual void DoGetSizeMM(int* width, int* height) const;
|
||||
|
||||
virtual void DoDrawLines(int n, wxPoint points[],
|
||||
@ -203,6 +243,11 @@ protected:
|
||||
virtual void DoDrawPolyPolygon(int n, int count[], wxPoint points[],
|
||||
wxCoord xoffset, wxCoord yoffset,
|
||||
int fillStyle = wxODDEVEN_RULE);
|
||||
virtual wxBitmap DoGetAsBitmap(const wxRect *subrect) const
|
||||
{
|
||||
return subrect == NULL ? GetSelectedBitmap()
|
||||
: GetSelectedBitmap().GetSubBitmap(*subrect);
|
||||
}
|
||||
|
||||
|
||||
#if wxUSE_PALETTE
|
||||
@ -210,18 +255,30 @@ protected:
|
||||
// (tell windows to translate pixel from other palettes to our custom one
|
||||
// and vice versa)
|
||||
// Realize tells it to also reset the system palette to this one.
|
||||
void DoSelectPalette(bool realize = FALSE);
|
||||
void DoSelectPalette(bool realize = false);
|
||||
|
||||
// Find out what palette our parent window has, then select it into the dc
|
||||
void InitializePalette();
|
||||
#endif // wxUSE_PALETTE
|
||||
|
||||
protected:
|
||||
// common part of DoDrawText() and DoDrawRotatedText()
|
||||
void DrawAnyText(const wxString& text, wxCoord x, wxCoord y);
|
||||
|
||||
// common part of DoSetClippingRegion() and DoSetClippingRegionAsRegion()
|
||||
void SetClippingHrgn(WXHRGN hrgn);
|
||||
|
||||
// implementation of DoGetSize() for wxScreen/PrinterDC: this simply
|
||||
// returns the size of the entire device this DC is associated with
|
||||
//
|
||||
// notice that we intentionally put it in a separate function instead of
|
||||
// DoGetSize() itself because we want it to remain pure virtual both
|
||||
// because each derived class should take care to define it as needed (this
|
||||
// implementation is not at all always appropriate) and because we want
|
||||
// wxDC to be an ABC to prevent it from being created directly
|
||||
void GetDeviceSize(int *width, int *height) const;
|
||||
|
||||
|
||||
// MSW-specific member variables
|
||||
// -----------------------------
|
||||
|
||||
@ -249,12 +306,12 @@ protected:
|
||||
#endif // wxUSE_PALETTE
|
||||
|
||||
#if wxUSE_DC_CACHEING
|
||||
static wxList sm_bitmapCache;
|
||||
static wxList sm_dcCache;
|
||||
static wxObjectList sm_bitmapCache;
|
||||
static wxObjectList sm_dcCache;
|
||||
#endif
|
||||
|
||||
DECLARE_DYNAMIC_CLASS(wxDC)
|
||||
DECLARE_NO_COPY_CLASS(wxDC)
|
||||
DECLARE_CLASS(wxPalmDCImpl)
|
||||
DECLARE_NO_COPY_CLASS(wxPalmDCImpl)
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
@ -262,15 +319,50 @@ protected:
|
||||
// only/mainly)
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLEXPORT wxDCTempImpl : public wxPalmDCImpl
|
||||
{
|
||||
public:
|
||||
// construct a temporary DC with the specified HDC and size (it should be
|
||||
// specified whenever we know it for this HDC)
|
||||
wxDCTempImpl(wxDC *owner, WXHDC hdc, const wxSize& size )
|
||||
: wxPalmDCImpl( owner, hdc ),
|
||||
m_size(size)
|
||||
{
|
||||
}
|
||||
|
||||
virtual ~wxDCTempImpl()
|
||||
{
|
||||
// prevent base class dtor from freeing it
|
||||
SetHDC((WXHDC)NULL);
|
||||
}
|
||||
|
||||
virtual void DoGetSize(int *w, int *h) const
|
||||
{
|
||||
wxASSERT_MSG( m_size.IsFullySpecified(),
|
||||
_T("size of this DC hadn't been set and is unknown") );
|
||||
|
||||
if ( w )
|
||||
*w = m_size.x;
|
||||
if ( h )
|
||||
*h = m_size.y;
|
||||
}
|
||||
|
||||
private:
|
||||
// size of this DC must be explicitly set by SetSize() as we have no way to
|
||||
// find it ourselves
|
||||
const wxSize m_size;
|
||||
|
||||
DECLARE_NO_COPY_CLASS(wxDCTempImpl)
|
||||
};
|
||||
|
||||
class WXDLLEXPORT wxDCTemp : public wxDC
|
||||
{
|
||||
public:
|
||||
wxDCTemp(WXHDC hdc) { SetHDC(hdc); }
|
||||
virtual ~wxDCTemp() { SetHDC((WXHDC)NULL); }
|
||||
|
||||
private:
|
||||
DECLARE_NO_COPY_CLASS(wxDCTemp)
|
||||
wxDCTemp(WXHDC hdc, const wxSize& size = wxDefaultSize)
|
||||
: wxDC(new wxDCTempImpl(this, hdc, size))
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
#endif
|
||||
// _WX_DC_H_
|
||||
// _WX_PALM_DC_H_
|
||||
|
@ -17,6 +17,8 @@
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
#include "wx/dc.h"
|
||||
#include "wx/palmos/dc.h"
|
||||
#include "wx/dcclient.h"
|
||||
#include "wx/dynarray.h"
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
@ -32,56 +34,54 @@ WX_DECLARE_EXPORTED_OBJARRAY(wxPaintDCInfo, wxArrayDCInfo);
|
||||
// DC classes
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLEXPORT wxWindowDC : public wxDC
|
||||
class WXDLLEXPORT wxWindowDCImpl : public wxPalmDCImpl
|
||||
{
|
||||
public:
|
||||
// default ctor
|
||||
wxWindowDC();
|
||||
wxWindowDCImpl( wxDC *owner );
|
||||
|
||||
// Create a DC corresponding to the whole window
|
||||
wxWindowDC(wxWindow *win);
|
||||
wxWindowDCImpl( wxDC *owner, wxWindow *win );
|
||||
|
||||
virtual void DoGetSize(int *width, int *height) const;
|
||||
|
||||
protected:
|
||||
// initialize the newly created DC
|
||||
void InitDC();
|
||||
|
||||
// override some base class virtuals
|
||||
virtual void DoGetSize(int *width, int *height) const;
|
||||
|
||||
private:
|
||||
DECLARE_DYNAMIC_CLASS_NO_COPY(wxWindowDC)
|
||||
DECLARE_CLASS(wxWindowDCImpl)
|
||||
DECLARE_NO_COPY_CLASS(wxWindowDCImpl)
|
||||
};
|
||||
|
||||
class WXDLLEXPORT wxClientDC : public wxWindowDC
|
||||
class WXDLLEXPORT wxClientDCImpl : public wxWindowDCImpl
|
||||
{
|
||||
public:
|
||||
// default ctor
|
||||
wxClientDC();
|
||||
wxClientDCImpl( wxDC *owner );
|
||||
|
||||
// Create a DC corresponding to the client area of the window
|
||||
wxClientDC(wxWindow *win);
|
||||
wxClientDCImpl( wxDC *owner, wxWindow *win );
|
||||
|
||||
virtual ~wxClientDC();
|
||||
virtual ~wxClientDCImpl();
|
||||
|
||||
virtual void DoGetSize(int *width, int *height) const;
|
||||
|
||||
protected:
|
||||
void InitDC();
|
||||
|
||||
// override some base class virtuals
|
||||
virtual void DoGetSize(int *width, int *height) const;
|
||||
|
||||
private:
|
||||
DECLARE_DYNAMIC_CLASS_NO_COPY(wxClientDC)
|
||||
DECLARE_CLASS(wxClientDCImpl)
|
||||
DECLARE_NO_COPY_CLASS(wxClientDCImpl)
|
||||
};
|
||||
|
||||
class WXDLLEXPORT wxPaintDC : public wxClientDC
|
||||
class WXDLLEXPORT wxPaintDCImpl : public wxClientDCImpl
|
||||
{
|
||||
public:
|
||||
wxPaintDC();
|
||||
wxPaintDCImpl( wxDC *owner );
|
||||
|
||||
// Create a DC corresponding for painting the window in OnPaint()
|
||||
wxPaintDC(wxWindow *win);
|
||||
wxPaintDCImpl( wxDC *owner, wxWindow *win );
|
||||
|
||||
virtual ~wxPaintDC();
|
||||
virtual ~wxPaintDCImpl();
|
||||
|
||||
// find the entry for this DC in the cache (keyed by the window)
|
||||
static WXHDC FindDCInCache(wxWindow* win);
|
||||
@ -92,26 +92,8 @@ protected:
|
||||
// find the entry for this DC in the cache (keyed by the window)
|
||||
wxPaintDCInfo *FindInCache(size_t *index = NULL) const;
|
||||
|
||||
private:
|
||||
DECLARE_DYNAMIC_CLASS_NO_COPY(wxPaintDC)
|
||||
};
|
||||
|
||||
/*
|
||||
* wxPaintDCEx
|
||||
* This class is used when an application sends an HDC with the WM_PAINT
|
||||
* message. It is used in HandlePaint and need not be used by an application.
|
||||
*/
|
||||
|
||||
class WXDLLEXPORT wxPaintDCEx : public wxPaintDC
|
||||
{
|
||||
public:
|
||||
wxPaintDCEx(wxWindow *canvas, WXHDC dc);
|
||||
virtual ~wxPaintDCEx();
|
||||
private:
|
||||
int saveState;
|
||||
|
||||
DECLARE_CLASS(wxPaintDCEx)
|
||||
DECLARE_NO_COPY_CLASS(wxPaintDCEx)
|
||||
DECLARE_CLASS(wxPaintDCImpl)
|
||||
DECLARE_NO_COPY_CLASS(wxPaintDCImpl)
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -12,29 +12,31 @@
|
||||
#ifndef _WX_DCMEMORY_H_
|
||||
#define _WX_DCMEMORY_H_
|
||||
|
||||
#include "wx/dcclient.h"
|
||||
#include "wx/dcmemory.h"
|
||||
#include "wx/palmos/dc.h"
|
||||
|
||||
class WXDLLEXPORT wxMemoryDC : public wxDC, public wxMemoryDCBase
|
||||
class WXDLLEXPORT wxMemoryDCImpl: public wxPalmDCImpl
|
||||
{
|
||||
public:
|
||||
wxMemoryDC() { Init(); }
|
||||
wxMemoryDC(wxBitmap& bitmap) { Init(); SelectObject(bitmap); }
|
||||
wxMemoryDC(wxDC *dc); // Create compatible DC
|
||||
wxMemoryDCImpl( wxMemoryDC *owner );
|
||||
wxMemoryDCImpl( wxMemoryDC *owner, wxBitmap& bitmap );
|
||||
wxMemoryDCImpl( wxMemoryDC *owner, wxDC *dc ); // Create compatible DC
|
||||
|
||||
protected:
|
||||
// override some base class virtuals
|
||||
virtual void DoDrawRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
|
||||
virtual void DoGetSize(int* width, int* height) const;
|
||||
virtual void DoSelect(const wxBitmap& bitmap);
|
||||
|
||||
virtual wxBitmap DoGetAsBitmap(const wxRect* subrect) const;
|
||||
|
||||
protected:
|
||||
// create DC compatible with the given one or screen if dc == NULL
|
||||
bool CreateCompatible(wxDC *dc);
|
||||
|
||||
// initialize the newly created DC
|
||||
void Init();
|
||||
|
||||
private:
|
||||
DECLARE_DYNAMIC_CLASS_NO_COPY(wxMemoryDC)
|
||||
DECLARE_CLASS(wxMemoryDCImpl)
|
||||
DECLARE_NO_COPY_CLASS(wxMemoryDCImpl)
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -12,24 +12,19 @@
|
||||
#ifndef _WX_DCSCREEN_H_
|
||||
#define _WX_DCSCREEN_H_
|
||||
|
||||
#include "wx/dcclient.h"
|
||||
#include "wx/dcscreen.h"
|
||||
#include "wx/palmos/dc.h"
|
||||
|
||||
class WXDLLEXPORT wxScreenDC : public wxWindowDC
|
||||
class WXDLLEXPORT wxScreenDCImpl : public wxPalmDCImpl
|
||||
{
|
||||
public:
|
||||
// Create a DC representing the whole screen
|
||||
wxScreenDC();
|
||||
wxScreenDCImpl( wxScreenDC *owner );
|
||||
|
||||
// Compatibility with X's requirements for drawing on top of all windows
|
||||
static bool StartDrawingOnTop(wxWindow* WXUNUSED(window)) { return TRUE; }
|
||||
static bool StartDrawingOnTop(wxRect* WXUNUSED(rect) = NULL) { return TRUE; }
|
||||
static bool EndDrawingOnTop() { return TRUE; }
|
||||
virtual void DoGetSize(int *w, int *h) const;
|
||||
|
||||
protected:
|
||||
virtual void DoGetSize(int *width, int *height) const;
|
||||
|
||||
private:
|
||||
DECLARE_DYNAMIC_CLASS_NO_COPY(wxScreenDC)
|
||||
DECLARE_CLASS(wxScreenDCImpl)
|
||||
DECLARE_NO_COPY_CLASS(wxScreenDCImpl)
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
#include "wx/panel.h"
|
||||
|
||||
WXDLLEXPORT_DATA(extern const wxChar) wxDialogNameStr[];
|
||||
//WXDLLEXPORT_DATA(extern const wxChar) wxDialogNameStr[];
|
||||
|
||||
class WXDLLIMPEXP_FWD_CORE wxDialogModalData;
|
||||
|
||||
|
@ -37,6 +37,7 @@ public:
|
||||
|
||||
// process a single message
|
||||
virtual void ProcessMessage(WXMSG *msg);
|
||||
virtual void WakeUp();
|
||||
|
||||
protected:
|
||||
// should we exit the loop?
|
||||
|
396
include/wx/palmos/missing.h
Normal file
396
include/wx/palmos/missing.h
Normal file
@ -0,0 +1,396 @@
|
||||
#ifndef _PALMOS_STDIO_FAKE_H
|
||||
#define _PALMOS_STDIO_FAKE_H
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <PalmTypes.h>
|
||||
#include <MemoryMgr.h> // Core/System/
|
||||
#include <StringMgr.h> // Core/System/
|
||||
#include <UIResources.h> // alertRscType,MenuRscType
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define _PSF_BEGIN_EXTERN_C extern "C" {
|
||||
#define _PSF_END_EXTERN_C }
|
||||
#else
|
||||
#define _PSF_BEGIN_EXTERN_C
|
||||
#define _PSF_END_EXTERN_C
|
||||
#endif
|
||||
|
||||
#if __WXPALMOS6__
|
||||
#include <wchar.h> // wint_t
|
||||
#include <unistd.h> // access(), rmdir()
|
||||
#include <time.h>
|
||||
#include <StatusBar.h>
|
||||
#include <Loader.h>
|
||||
#else
|
||||
#if !defined(__MWERKS__)
|
||||
#include <PenInputMgr.h>
|
||||
#endif
|
||||
|
||||
#define uint32_t UInt32
|
||||
#define uint16_t UInt16
|
||||
#define uint8_t UInt8
|
||||
#endif // __WXPALMOS6__
|
||||
#if __WXPALMOS6__
|
||||
#define POS_DmGetResource(a,b,c) DmGetResource(a,b,c)
|
||||
#define POS_FrmSetMenu(a,b,c) FrmSetMenu(a,b,c)
|
||||
#define POS_FrmCustomAlert(a,b,c,d,e) FrmCustomAlert(a,b,c,d,e)
|
||||
#define POS_MemNumRAMHeaps(a) MemNumRAMHeaps()
|
||||
#else // __WXPALMOS6__
|
||||
#define POS_DmGetResource(a,b,c) DmGetResource(b,c)
|
||||
#define POS_FrmSetMenu(a,b,c) FrmSetMenu(a,c)
|
||||
#define POS_FrmCustomAlert(a,b,c,d,e) FrmCustomAlert(b,c,d,e)
|
||||
#define POS_MemNumRAMHeaps(a) MemNumRAMHeaps(a)
|
||||
#endif // __WXPALMOS6__
|
||||
|
||||
_PSF_BEGIN_EXTERN_C
|
||||
|
||||
#if __WXPALMOS5__
|
||||
|
||||
#if defined(__MWERKS__)
|
||||
//#include <unix_stdarg.h>
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
#define strcpy(x,y) StrCopy((char*)(x),(char*)(y))
|
||||
#define strncpy(x,y,z) StrNCopy((x),(y),(z))
|
||||
#define strcmp(x,y) StrCompare((x),(y))
|
||||
#define strcat(x,y) StrCat((x),(y))
|
||||
#define strlen(x) StrLen((char*)(x))
|
||||
#define strchr(x,y) StrChr((x),(y))
|
||||
#define strstr(x,y) StrStr((x),(y))
|
||||
|
||||
#define memcpy(x,y,z) ((0 == MemMove((x),(void *)(y),(z))) ? (x) : (0))
|
||||
#define memset(x,y,z) (MemSet((x),(z),(y)))
|
||||
#define memcmp(x,y,z) (MemCmp((x),(y),(z)))
|
||||
#endif
|
||||
|
||||
#include "sections.h"
|
||||
#ifndef int8_t
|
||||
#define int8_t char
|
||||
#define int16_t short
|
||||
#define int64_t long long
|
||||
#define uint64_t unsigned int64_t
|
||||
|
||||
#define wchar_t uint16_t
|
||||
#endif
|
||||
#define wint_t int
|
||||
|
||||
#define ssize_t long
|
||||
#define size_t uint32_t
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
#define malloc(x) MemPtrNew(x)
|
||||
#define free(x) MemPtrFree(x)
|
||||
void * realloc (void *p, size_t newsize);
|
||||
#endif
|
||||
char * strdup (const char *old);
|
||||
|
||||
// copy from Core/System/Unix/unix_stdio.h
|
||||
#ifndef _STDLIB
|
||||
#define sprintf StrPrintF
|
||||
#define vsprintf(x,y,z) StrVPrintF(x,(const Char *)y,z)
|
||||
#else
|
||||
int vsprintf(char *, const char *, _Va_list);
|
||||
#endif
|
||||
int sscanf(const char *, const char *, ...);
|
||||
|
||||
///////////////////// time ////////////////////
|
||||
#define time_t uint64_t
|
||||
time_t time(time_t *T);
|
||||
|
||||
#define JAN 0
|
||||
#define FEB 1
|
||||
#define MAR 2
|
||||
#define APR 3
|
||||
#define MAY 4
|
||||
#define JUN 5
|
||||
#define JUL 6
|
||||
#define AUG 7
|
||||
#define SEP 8
|
||||
#define OCT 9
|
||||
#define NOV 10
|
||||
#define DEC 11
|
||||
struct tm {
|
||||
int8_t tm_gmtoff;
|
||||
int8_t tm_isdst;
|
||||
uint8_t tm_sec;
|
||||
uint8_t tm_min;
|
||||
uint8_t tm_hour;
|
||||
uint8_t tm_wday;
|
||||
uint8_t tm_mday;
|
||||
uint8_t tm_mon;
|
||||
uint16_t tm_yday;
|
||||
uint64_t tm_year;
|
||||
};
|
||||
|
||||
#define HAVE_LOCALTIME_R 1
|
||||
extern struct tm *localtime (const time_t *CLOCK); // datetime.cpp: GetTmNow(void)
|
||||
extern struct tm *localtime_r (const time_t *CLOCK, struct tm *RES);
|
||||
|
||||
#define HAVE_GMTIME_R 1
|
||||
extern struct tm *gmtime (const time_t *CLOCK);
|
||||
extern struct tm *gmtime_r (const time_t *CLOCK, struct tm *RES);
|
||||
|
||||
extern time_t mktime (struct tm *TIMP);
|
||||
double difftime (time_t TIM1, time_t TIM2);
|
||||
|
||||
char *ctime(const time_t *CLOCK);
|
||||
char *ctime_r(const time_t *CLOCK, char *BUF);
|
||||
|
||||
//#define HAVE_STRFTIME 1
|
||||
extern size_t strftime(char *S, size_t MAXSIZE, const char *FORMAT, const struct tm *TIMP);
|
||||
|
||||
///////////////////// locale.h ////////////////////
|
||||
struct lconv
|
||||
{
|
||||
char *decimal_point;
|
||||
char *thousands_sep;
|
||||
char *grouping;
|
||||
char *int_curr_symbol;
|
||||
char *currency_symbol;
|
||||
char *mon_decimal_point;
|
||||
char *mon_thousands_sep;
|
||||
char *mon_grouping;
|
||||
char *positive_sign;
|
||||
char *negative_sign;
|
||||
char int_frac_digits;
|
||||
char frac_digits;
|
||||
char p_cs_precedes;
|
||||
char p_sep_by_space;
|
||||
char n_cs_precedes;
|
||||
char n_sep_by_space;
|
||||
char p_sign_posn;
|
||||
char n_sign_posn;
|
||||
};
|
||||
char *setlocale(int CATEGORY, const char *LOCALE);
|
||||
struct lconv *localeconv(void);
|
||||
|
||||
char *_setlocale_r(void *REENT, int CATEGORY, const char *LOCALE);
|
||||
struct lconv *_localeconv_r(void *REENT);
|
||||
///////////////////// stdlib.h ////////////////////
|
||||
|
||||
#if !defined(__MWERKS__)
|
||||
#define wchar_t int
|
||||
#endif
|
||||
int _watoi(wchar_t * nptr);
|
||||
long _watol(wchar_t * nptr);
|
||||
double _watof(wchar_t *nptr);
|
||||
#define watoi(a) _watoi((wchar_t *)(a))
|
||||
#define watol(a) _watol((wchar_t *)(a))
|
||||
#define watof(a) _watof((wchar_t *)(a))
|
||||
int mbstowcs(wchar_t *PWC, const char *S, size_t N);
|
||||
int wcstombs(const char *S, wchar_t *PWC, size_t N);
|
||||
|
||||
///////////////////// fcntl.h ////////////////////
|
||||
#define O_RDONLY 0x01
|
||||
#define O_WRONLY 0x02
|
||||
#define O_RDWR 0x04
|
||||
#define O_APPEND 0x08
|
||||
#define O_CREAT 0x10
|
||||
#define O_TRUNC 0x20
|
||||
#define O_EXCL 0x40
|
||||
#define O_SYNC 0x80
|
||||
|
||||
// io.h
|
||||
int open (const char*, int, ...);
|
||||
int read (int, void*, unsigned int);
|
||||
int write (int, const void*, unsigned int);
|
||||
int close (int);
|
||||
long lseek (int, long, int);
|
||||
|
||||
///////////////////// stdio.h ////////////////////
|
||||
int remove(const char *FILENAME);
|
||||
int rename(const char *OLD, const char *NEW);
|
||||
|
||||
///////////////////// unistd.h ////////////////////
|
||||
int access (const char *path, int amode);
|
||||
int rmdir (const char *path);
|
||||
|
||||
///////////////////// FILE ////////////////////
|
||||
#ifndef NULL
|
||||
#define NULL ((void *)(0))
|
||||
#endif
|
||||
|
||||
#define FILE void
|
||||
#undef stdin
|
||||
#undef stdout
|
||||
#undef stderr
|
||||
#define stdin NULL
|
||||
#define stdout NULL
|
||||
#define stderr NULL
|
||||
|
||||
#define SEEK_SET 0 /* set file offset to offset */
|
||||
#define SEEK_CUR 1 /* set file offset to current plus offset */
|
||||
#define SEEK_END 2 /* set file offset to EOF plus offset */
|
||||
|
||||
FILE * fopen (const char *_name, const char *_type);
|
||||
int fclose (FILE *);
|
||||
size_t fread (void *buf, size_t _size, size_t _n, FILE *);
|
||||
size_t fwrite (const void *buf , size_t _size, size_t _n, FILE *);
|
||||
int fseek (FILE *, long, int);
|
||||
long ftell ( FILE *);
|
||||
int feof (FILE *);
|
||||
int ferror (FILE *);
|
||||
void clearerr (FILE *);
|
||||
FILE *freopen(const char *fn, const char *mode, FILE *fp);
|
||||
//FILE *_freopen_r(struct _reent *PTR, const char *fn, const char *mode, FILE *fp);
|
||||
|
||||
extern int fflush (FILE *FP);
|
||||
extern int fputs (const char *S, FILE *FP);
|
||||
extern int fputc (int CH, FILE *FP);
|
||||
|
||||
//int printf(const char *format, ...);
|
||||
int fprintf(FILE *stream, const char *format, ...);
|
||||
//int sprintf(char *str, const char *format, ...);
|
||||
//int snprintf(char *str, size_t size, const char *format, ...);
|
||||
//int vfprintf(FILE * restrict stream, const char * restrict format, va_list ap);
|
||||
//int vsprintf(char * restrict str, const char * restrict format, va_list ap);
|
||||
//int vsnprintf(char * restrict str, size_t size, const char * restrict format, va_list ap);
|
||||
int vsscanf (const char *s, const char *format, va_list param);
|
||||
|
||||
///////////////////// string ////////////////////
|
||||
char *strerror(int ERRNUM);
|
||||
|
||||
///////////////////// ctype.h ////////////////////
|
||||
extern int isascii(int C);
|
||||
|
||||
///////////////////// stdlib ////////////////////
|
||||
void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *));
|
||||
void qsort_r(void *base, size_t nmemb, size_t size, void *thunk, int (*compar)(void *, const void *, const void *));
|
||||
//int heapsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *));
|
||||
//int mergesort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *));
|
||||
void *bsearch(const void *key, const void *base, size_t nmemb,size_t size, int (*compar)(const void *, const void *));
|
||||
|
||||
char *getenv(const char *NAME);
|
||||
|
||||
double atof(const char *S);
|
||||
double strtod(const char *STR, char **TAIL);
|
||||
double _strtod_r(void *REENT, const char *STR, char **TAIL);
|
||||
|
||||
///////////////////// math.h ////////////////////
|
||||
#define __IMPORT
|
||||
|
||||
union __dmath
|
||||
{
|
||||
unsigned long i[2];
|
||||
double d;
|
||||
};
|
||||
|
||||
union __fmath
|
||||
{
|
||||
unsigned long i[1];
|
||||
float f;
|
||||
};
|
||||
|
||||
union __ldmath
|
||||
{
|
||||
unsigned long i[4];
|
||||
long double ld;
|
||||
};
|
||||
#if defined(__GNUC__) && \
|
||||
( (__GNUC__ >= 4) || \
|
||||
( (__GNUC__ >= 3) && defined(__GNUC_MINOR__) && (__GNUC_MINOR__ >= 3) ) )
|
||||
|
||||
/* gcc >= 3.3 implicitly defines builtins for HUGE_VALx values. */
|
||||
|
||||
#ifndef HUGE_VAL
|
||||
#define HUGE_VAL (__builtin_huge_val())
|
||||
#endif
|
||||
|
||||
#ifndef HUGE_VALF
|
||||
#define HUGE_VALF (__builtin_huge_valf())
|
||||
#endif
|
||||
|
||||
#ifndef HUGE_VALL
|
||||
#define HUGE_VALL (__builtin_huge_vall())
|
||||
#endif
|
||||
|
||||
#else /* !gcc >= 3.3 */
|
||||
|
||||
/* No builtins. Use floating-point unions instead. Declare as an array
|
||||
without bounds so no matter what small data support a port and/or
|
||||
library has, the reference will be via the general method for accessing
|
||||
globals. */
|
||||
|
||||
#ifndef HUGE_VAL
|
||||
extern __IMPORT const union __dmath __infinity[];
|
||||
#define HUGE_VAL (__infinity[0].d)
|
||||
#endif
|
||||
|
||||
#ifndef HUGE_VALF
|
||||
extern __IMPORT const union __fmath __infinityf[];
|
||||
#define HUGE_VALF (__infinityf[0].f)
|
||||
#endif
|
||||
|
||||
#ifndef HUGE_VALL
|
||||
extern __IMPORT const union __ldmath __infinityld[];
|
||||
#define HUGE_VALL (__infinityld[0].ld)
|
||||
#endif
|
||||
|
||||
#endif /* !gcc >= 3.3 */
|
||||
#undef __IMPORT
|
||||
|
||||
///////////////////// PalmOS6 ////////////////////
|
||||
#define status_t Err
|
||||
|
||||
// TimeMgr.h
|
||||
time_t SysTimeToMilliSecs(time_t systime);
|
||||
time_t SysTimeInSecs(time_t secs);
|
||||
|
||||
///////////////////// END ////////////////////
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // __WXPALMOS5__
|
||||
|
||||
///////////////////// wctype.h ////////////////////
|
||||
extern int iswalnum(wint_t C);
|
||||
extern int iswalpha(wint_t C);
|
||||
extern int iswcntrl(wint_t C);
|
||||
extern int iswdigit(wint_t C);
|
||||
extern int iswgraph(wint_t C);
|
||||
extern int iswlower(wint_t C);
|
||||
extern int iswprint(wint_t C);
|
||||
extern int iswpunct(wint_t C);
|
||||
extern int iswspace(wint_t C);
|
||||
extern int iswupper(wint_t C);
|
||||
extern int iswxdigit(wint_t C);
|
||||
|
||||
extern wint_t towlower(wint_t C);
|
||||
extern wint_t towupper(wint_t C);
|
||||
extern size_t wcsftime(wchar_t *strDest, size_t maxsize, const wchar_t *format, const struct tm *timeptr);
|
||||
|
||||
size_t wcslen (const wchar_t * str);
|
||||
wchar_t * wcscpy (wchar_t * dst, const wchar_t * src);
|
||||
wchar_t * wcsncpy (wchar_t * dst, const wchar_t * src, size_t n);
|
||||
wchar_t * wcscat (wchar_t * dst, const wchar_t * src);
|
||||
wchar_t * wcsncat (wchar_t * dst, const wchar_t * src, size_t n);
|
||||
int wcscmp (const wchar_t * str1, const wchar_t * str2);
|
||||
int wcsncmp (const wchar_t * str1, const wchar_t * str2, size_t n);
|
||||
wchar_t * wcschr (const wchar_t * str, const wchar_t chr);
|
||||
int wcscoll (const wchar_t *str1, const wchar_t * str2);
|
||||
size_t wcsxfrm (wchar_t * str1, const wchar_t * str2, size_t n);
|
||||
wchar_t * wcsrchr (const wchar_t * str, wchar_t chr);
|
||||
wchar_t * wcspbrk (const wchar_t * str, const wchar_t * set);
|
||||
size_t wcsspn (const wchar_t * str, const wchar_t * set);
|
||||
size_t wcscspn (const wchar_t * str, const wchar_t * set);
|
||||
wchar_t * wcsstr (const wchar_t * str, const wchar_t * pat);
|
||||
wchar_t * wcstok (wchar_t * str, const wchar_t * set, wchar_t ** );
|
||||
|
||||
long wcstol (const wchar_t * str, wchar_t ** end, int base);
|
||||
unsigned long wcstoul (const wchar_t * a, wchar_t ** b, int c);
|
||||
double wcstod (const wchar_t * a, wchar_t ** b);
|
||||
|
||||
char * setlocale (int category, const char *locale);
|
||||
|
||||
_PSF_END_EXTERN_C
|
||||
|
||||
#endif // _PALMOS_STDIO_FAKE_H
|
@ -13,7 +13,8 @@
|
||||
#ifndef _WX_TOGGLEBUTTON_H_
|
||||
#define _WX_TOGGLEBUTTON_H_
|
||||
|
||||
WXDLLEXPORT_DATA(extern const wxChar) wxCheckBoxNameStr[];
|
||||
#include "wx/checkbox.h" // wxCheckBoxNameStr, in Datacmn.cpp
|
||||
//WXDLLEXPORT_DATA(extern const wxChar) wxCheckBoxNameStr[];
|
||||
|
||||
// Checkbox item (single checkbox)
|
||||
class WXDLLEXPORT wxToggleButton : public wxToggleButtonBase
|
||||
|
@ -132,8 +132,9 @@ public:
|
||||
// simple accessors
|
||||
// ----------------
|
||||
|
||||
virtual WXWINHANDLE GetWinHandle() const { return m_handle; }
|
||||
virtual WXWidget GetHandle() const { return GetWinHandle(); }
|
||||
WXHWND GetHWND() const { return m_hWnd; }
|
||||
void SetHWND(WXHWND hWnd) { m_hWnd = hWnd; }
|
||||
virtual WXWidget GetHandle() const { return GetHWND(); }
|
||||
|
||||
// event handlers
|
||||
// --------------
|
||||
@ -208,7 +209,7 @@ public:
|
||||
|
||||
protected:
|
||||
// the window handle
|
||||
WXWINHANDLE m_handle;
|
||||
WXHWND m_hWnd;
|
||||
WXFORMPTR FrameForm;
|
||||
|
||||
WXFORMPTR GetFormPtr();
|
||||
|
@ -21,6 +21,10 @@
|
||||
*/
|
||||
#ifdef __MWERKS__
|
||||
# include <stddef.h>
|
||||
|
||||
# if !defined(__WXMAC__) && !defined(__WINDOWS__) && !defined(WIN32) && !defined(_WIN32_WCE)
|
||||
# define __PALMOS__ 0x05000000
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
@ -94,13 +98,13 @@
|
||||
|
||||
#if defined(__PALMOS__)
|
||||
# if __PALMOS__ == 0x06000000
|
||||
# define __WXPALMOS6__
|
||||
# define __WXPALMOS6__ 1
|
||||
# endif
|
||||
# if __PALMOS__ == 0x05000000
|
||||
# define __WXPALMOS5__
|
||||
# define __WXPALMOS5__ 1
|
||||
# endif
|
||||
# ifndef __WXPALMOS__
|
||||
# define __WXPALMOS__
|
||||
# define __WXPALMOS__ 1
|
||||
# endif
|
||||
# ifdef __WXMSW__
|
||||
# undef __WXMSW__
|
||||
@ -679,4 +683,29 @@
|
||||
#include <AvailabilityMacros.h>
|
||||
#endif
|
||||
|
||||
#if defined (__WXPALMOS__)
|
||||
#include "wx/palmos/missing.h"
|
||||
#endif // __WXPALMOS__
|
||||
|
||||
#if !defined (__WXPALMOS5__)
|
||||
#define POSSEC_APPBASE
|
||||
#define POSSEC_ARCHIVE
|
||||
#define POSSEC_CLNTDATA
|
||||
#define POSSEC_CMDLINE
|
||||
#define POSSEC_CONFIG
|
||||
#define POSSEC_DATETIME
|
||||
#define POSSEC_DATETIME2
|
||||
#define POSSEC_DATSTRM
|
||||
#define POSSEC_DIRCMN
|
||||
#define POSSEC_DYNARRAY
|
||||
#define POSSEC_DYNLIB
|
||||
#define POSSEC_DYNLOAD
|
||||
#define POSSEC_ENCCONV
|
||||
#define POSSEC_EXTENDED
|
||||
#define POSSEC_FFILE
|
||||
#define POSSEC_FILE
|
||||
#define POSSEC_FILECONF
|
||||
#define POSSEC_FILEFN
|
||||
#endif // __WXPALMOS5__
|
||||
|
||||
#endif /* _WX_PLATFORM_H_ */
|
||||
|
@ -28,11 +28,17 @@
|
||||
include this one!
|
||||
*/
|
||||
|
||||
#if !defined(__WXPALMOS5__)
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
#include <wctype.h>
|
||||
#if defined(__WXPALMOS__)
|
||||
#include <wchar.h>
|
||||
#else
|
||||
#include <wctype.h>
|
||||
#endif
|
||||
#include <time.h>
|
||||
#endif
|
||||
|
||||
#if defined(__WINDOWS__) && !defined(__WXWINCE__)
|
||||
#include <io.h>
|
||||
@ -157,7 +163,7 @@ WXDLLIMPEXP_BASE void *calloc( size_t num, size_t size );
|
||||
#define wxCRT_StrstrW wcsstr
|
||||
|
||||
/* these functions are not defined under CE, at least in VC8 CRT */
|
||||
#ifndef __WXWINCE__
|
||||
#if !defined(__WXWINCE__) && !defined(__WXPALMOS__)
|
||||
#define wxCRT_StrcollA strcoll
|
||||
#define wxCRT_StrxfrmA strxfrm
|
||||
|
||||
@ -232,7 +238,7 @@ WXDLLIMPEXP_BASE void *calloc( size_t num, size_t size );
|
||||
* quick hack should do until one can be written.
|
||||
*/
|
||||
#define wxCRT_StricmpA StrCaselessCompare
|
||||
#define wxCRT_StrnicmpA strnicmp
|
||||
#define wxCRT_StrnicmpA StrNCaselessCompare
|
||||
#elif defined(__SYMANTEC__) || defined(__VISUALC__) || \
|
||||
(defined(__MWERKS__) && defined(__INTEL__))
|
||||
#define wxCRT_StricmpA _stricmp
|
||||
@ -401,7 +407,7 @@ WXDLLIMPEXP_BASE wchar_t *wxCRT_StrtokW(wchar_t *psz, const wchar_t *delim, wcha
|
||||
stdio.h
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#if defined(__UNIX__) || defined(__WXMAC__)
|
||||
#if defined(__UNIX__) || defined(__WXMAC__) || defined(__WXPALMOS__)
|
||||
#define wxMBFILES 1
|
||||
#else
|
||||
#define wxMBFILES 0
|
||||
@ -561,6 +567,9 @@ WXDLLIMPEXP_BASE wchar_t * wxCRT_GetenvW(const wchar_t *name);
|
||||
#if defined(__MWERKS__) && defined(__MSL__)
|
||||
#define wxNEED_WX_MBSTOWCS
|
||||
#endif
|
||||
#if defined(__WXPALMOS__)
|
||||
#define wxNEED_WX_MBSTOWCS
|
||||
#endif
|
||||
|
||||
#ifdef __DARWIN__
|
||||
#if MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_2
|
||||
|
@ -78,6 +78,12 @@
|
||||
#include "wx/dfb/dcscreen.h"
|
||||
#endif
|
||||
|
||||
#ifdef __WXPALMOS__
|
||||
#include "wx/palmos/dcclient.h"
|
||||
#include "wx/palmos/dcmemory.h"
|
||||
#include "wx/palmos/dcscreen.h"
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// wxDCFactory
|
||||
//----------------------------------------------------------------------------
|
||||
|
@ -403,11 +403,9 @@ void wxStripExtension(wxString& buffer)
|
||||
template<typename CharType>
|
||||
static CharType *wxDoRealPath (CharType *path)
|
||||
{
|
||||
static const CharType SEP = wxFILE_SEP_PATH;
|
||||
#ifdef __WXMSW__
|
||||
static const CharType SEP = wxT('\\');
|
||||
wxUnix2DosFilename(path);
|
||||
#else
|
||||
static const CharType SEP = wxT('/');
|
||||
#endif
|
||||
if (path[0] && path[1]) {
|
||||
/* MATTHEW: special case "/./x" */
|
||||
@ -539,11 +537,11 @@ static CharType *wxDoExpandPath(CharType *buf, const wxString& name)
|
||||
trimchars[2] = wxT('\t');
|
||||
trimchars[3] = 0;
|
||||
|
||||
static const CharType SEP = wxFILE_SEP_PATH;
|
||||
#ifdef __WXMSW__
|
||||
const CharType SEP = wxT('\\');
|
||||
#else
|
||||
const CharType SEP = wxT('/');
|
||||
//wxUnix2DosFilename(path);
|
||||
#endif
|
||||
|
||||
buf[0] = wxT('\0');
|
||||
if (name.empty())
|
||||
return buf;
|
||||
|
@ -21,6 +21,7 @@
|
||||
#endif
|
||||
|
||||
#include "wx/crt.h"
|
||||
#include "wx/strconv.h" // wxMBConv::cWC2MB()
|
||||
|
||||
#define _ISOC9X_SOURCE 1 // to get vsscanf()
|
||||
#define _BSD_SOURCE 1 // to still get strdup()
|
||||
@ -29,12 +30,14 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#ifndef __WXPALMOS5__
|
||||
#ifndef __WXWINCE__
|
||||
#include <time.h>
|
||||
#include <locale.h>
|
||||
#else
|
||||
#include "wx/msw/wince/time.h"
|
||||
#endif
|
||||
#endif // !__WXPALMOS5__
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/string.h"
|
||||
|
@ -120,10 +120,12 @@ wxPortId wxGUIAppTraits::GetToolkitVersion(int *majVer, int *minVer) const
|
||||
return wxPORT_PALMOS;
|
||||
}
|
||||
|
||||
#if wxUSE_TIMER
|
||||
wxTimerImpl* wxGUIAppTraits::CreateTimerImpl(wxTimer *timer)
|
||||
{
|
||||
return new wxPalmOSTimerImpl(timer);
|
||||
};
|
||||
#endif // wxUSE_TIMER
|
||||
|
||||
wxEventLoopBase* wxGUIAppTraits::CreateEventLoop()
|
||||
{
|
||||
@ -227,17 +229,21 @@ wxApp::wxApp()
|
||||
|
||||
wxApp::~wxApp()
|
||||
{
|
||||
wxChar **argv_tmp;
|
||||
argv_tmp = argv;
|
||||
// src/palmos/main.cpp
|
||||
// our cmd line arguments are allocated inside wxEntry(HINSTANCE), they
|
||||
// don't come from main(), so we have to free them
|
||||
|
||||
while ( argc )
|
||||
{
|
||||
// m_argv elements were allocated by wxStrdup()
|
||||
free(argv[--argc]);
|
||||
if (argv_tmp[--argc]) {
|
||||
free((void *)(argv_tmp[--argc]));
|
||||
}
|
||||
}
|
||||
|
||||
// but m_argv itself -- using new[]
|
||||
delete [] argv;
|
||||
delete [] argv_tmp;
|
||||
//argv = NULL;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
@ -28,8 +28,8 @@
|
||||
#endif //WX_PRECOMP
|
||||
|
||||
#include "wx/apptrait.h"
|
||||
|
||||
#include "wx/recguard.h"
|
||||
#include "wx/evtloop.h" // wxEventLoop
|
||||
|
||||
// ============================================================================
|
||||
// wxConsoleAppTraits implementation
|
||||
@ -53,3 +53,17 @@ bool wxConsoleAppTraits::DoMessageFromThreadWait()
|
||||
return true;
|
||||
}
|
||||
|
||||
WXDWORD wxConsoleAppTraits::WaitForThread(WXHANDLE hThread)
|
||||
{
|
||||
// TODO
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if wxUSE_CONSOLE_EVENTLOOP
|
||||
wxEventLoopBase *
|
||||
wxConsoleAppTraits::CreateEventLoop()
|
||||
{
|
||||
return new wxEventLoop;
|
||||
}
|
||||
#endif // wxUSE_CONSOLE_EVENTLOOP
|
||||
|
||||
|
@ -200,7 +200,7 @@ wxWindow *wxButton::SetDefault()
|
||||
{
|
||||
FormType* form = (FormType* )GetParentForm();
|
||||
if(form==NULL)
|
||||
return;
|
||||
return NULL;
|
||||
FrmSetDefaultButtonID(form,GetId());
|
||||
|
||||
return wxButtonBase::SetDefault();
|
||||
|
@ -137,7 +137,7 @@ bool wxControl::PalmCreateControl(int style,
|
||||
(void **)&form,
|
||||
GetId(),
|
||||
(ControlStyleType)style,
|
||||
wxEmptyString,
|
||||
NULL,
|
||||
x,
|
||||
y,
|
||||
w,
|
||||
@ -421,7 +421,7 @@ void wxControl::SetControlLabel(const wxString& label)
|
||||
ControlType* control = (ControlType*)GetObjectPtr();
|
||||
if(control==NULL)
|
||||
return;
|
||||
CtlSetLabel(control,wxEmptyString);
|
||||
CtlSetLabel(control, "");
|
||||
m_label = label;
|
||||
if(!m_label.empty())
|
||||
CtlSetLabel(control,m_label.c_str());
|
||||
@ -452,7 +452,7 @@ wxString wxControl::GetControlLabel()
|
||||
return wxEmptyString;
|
||||
return CtlGetLabel(control);
|
||||
}
|
||||
|
||||
#if 0
|
||||
wxString wxControl::GetLabel()
|
||||
{
|
||||
if(IsPalmField())
|
||||
@ -464,7 +464,7 @@ wxString wxControl::GetLabel()
|
||||
|
||||
return wxEmptyString;
|
||||
}
|
||||
|
||||
#endif
|
||||
/* static */ wxVisualAttributes
|
||||
wxControl::GetClassDefaultAttributes(wxWindowVariant WXUNUSED(variant))
|
||||
{
|
||||
|
@ -123,7 +123,8 @@ bool wxDatePickerCtrl::SendClickEvent()
|
||||
int16_t day = m_dt.GetDay();
|
||||
int16_t year = m_dt.GetYear();
|
||||
|
||||
if(!SelectDay(selectDayByDay,&month,&day,&year,_T("Pick date")))
|
||||
//if(!SelectDay(selectDayByDay,&month,&day,&year,_T("Pick date")))
|
||||
if(!SelectDay(selectDayByDay,&month,&day,&year, "Pick date"))
|
||||
return false;
|
||||
wxDateTime dt(m_dt);
|
||||
dt.Set((wxDateTime::wxDateTime_t)day,
|
||||
|
@ -17,6 +17,8 @@
|
||||
// headers
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
#include <string.h>
|
||||
|
||||
// For compilers that support precompilation, includes "wx.h".
|
||||
#include "wx/wxprec.h"
|
||||
|
||||
@ -25,6 +27,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/image.h"
|
||||
#include "wx/window.h"
|
||||
#include "wx/dc.h"
|
||||
#include "wx/utils.h"
|
||||
@ -39,16 +42,20 @@
|
||||
#endif
|
||||
|
||||
#include "wx/sysopt.h"
|
||||
#include "wx/dynload.h"
|
||||
#include "wx/dynlib.h"
|
||||
|
||||
#ifdef wxHAVE_RAW_BITMAP
|
||||
#include "wx/rawbmp.h"
|
||||
#endif
|
||||
|
||||
#include <string.h>
|
||||
#include "wx/palmos/dc.h"
|
||||
|
||||
#ifndef AC_SRC_ALPHA
|
||||
#define AC_SRC_ALPHA 1
|
||||
#define AC_SRC_ALPHA 1
|
||||
#endif
|
||||
|
||||
#ifndef LAYOUT_RTL
|
||||
#define LAYOUT_RTL 1
|
||||
#endif
|
||||
|
||||
/* Quaternary raster codes */
|
||||
@ -56,18 +63,48 @@
|
||||
#define MAKEROP4(fore,back) (DWORD)((((back) << 8) & 0xFF000000) | (fore))
|
||||
#endif
|
||||
|
||||
IMPLEMENT_ABSTRACT_CLASS(wxDC, wxDCBase)
|
||||
// apparently with MicroWindows it is possible that HDC is 0 so we have to
|
||||
// check for this ourselves
|
||||
#ifdef __WXMICROWIN__
|
||||
#define WXMICROWIN_CHECK_HDC if ( !GetHDC() ) return;
|
||||
#define WXMICROWIN_CHECK_HDC_RET(x) if ( !GetHDC() ) return x;
|
||||
#else
|
||||
#define WXMICROWIN_CHECK_HDC
|
||||
#define WXMICROWIN_CHECK_HDC_RET(x)
|
||||
#endif
|
||||
|
||||
IMPLEMENT_ABSTRACT_CLASS(wxPalmDCImpl, wxDCImpl)
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// constants
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
static const int VIEWPORT_EXTENT = 1000;
|
||||
// ROPs which don't have standard names (see "Ternary Raster Operations" in the
|
||||
// MSDN docs for how this and other numbers in wxDC::Blit() are obtained)
|
||||
#define DSTCOPY 0x00AA0029 // a.k.a. NOP operation
|
||||
|
||||
static const int MM_POINTS = 9;
|
||||
static const int MM_METRIC = 10;
|
||||
// ----------------------------------------------------------------------------
|
||||
// macros for logical <-> device coords conversion
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
#define DSTCOPY 0x00AA0029
|
||||
/*
|
||||
We currently let Windows do all the translations itself so these macros are
|
||||
not really needed (any more) but keep them to enhance readability of the
|
||||
code by allowing to see where are the logical and where are the device
|
||||
coordinates used.
|
||||
*/
|
||||
|
||||
#ifdef __WXWINCE__
|
||||
#define XLOG2DEV(x) ((x-m_logicalOriginX)*m_signX)
|
||||
#define YLOG2DEV(y) ((y-m_logicalOriginY)*m_signY)
|
||||
#define XDEV2LOG(x) ((x)*m_signX+m_logicalOriginX)
|
||||
#define YDEV2LOG(y) ((y)*m_signY+m_logicalOriginY)
|
||||
#else
|
||||
#define XLOG2DEV(x) (x)
|
||||
#define YLOG2DEV(y) (y)
|
||||
#define XDEV2LOG(x) (x)
|
||||
#define YDEV2LOG(y) (y)
|
||||
#endif
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// private functions
|
||||
@ -77,27 +114,77 @@ static const int MM_METRIC = 10;
|
||||
// private classes
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
#if wxUSE_DYNLIB_CLASS
|
||||
|
||||
// helper class to cache dynamically loaded libraries and not attempt reloading
|
||||
// them if it fails
|
||||
class wxOnceOnlyDLLLoader
|
||||
{
|
||||
public:
|
||||
// ctor argument must be a literal string as we don't make a copy of it!
|
||||
wxOnceOnlyDLLLoader(const wxChar *dllName)
|
||||
: m_dllName(dllName)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
// return the symbol with the given name or NULL if the DLL not loaded
|
||||
// or symbol not present
|
||||
void *GetSymbol(const wxChar *name)
|
||||
{
|
||||
// we're prepared to handle errors here
|
||||
wxLogNull noLog;
|
||||
|
||||
if ( m_dllName )
|
||||
{
|
||||
m_dll.Load(m_dllName);
|
||||
|
||||
// reset the name whether we succeeded or failed so that we don't
|
||||
// try again the next time
|
||||
m_dllName = NULL;
|
||||
}
|
||||
|
||||
return m_dll.IsLoaded() ? m_dll.GetSymbol(name) : NULL;
|
||||
}
|
||||
|
||||
void Unload()
|
||||
{
|
||||
if ( m_dll.IsLoaded() )
|
||||
{
|
||||
m_dll.Unload();
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
wxDynamicLibrary m_dll;
|
||||
const wxChar *m_dllName;
|
||||
};
|
||||
|
||||
#endif // wxUSE_DYNLIB_CLASS
|
||||
|
||||
// ===========================================================================
|
||||
// implementation
|
||||
// ===========================================================================
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// wxDC
|
||||
// wxPalmDCImpl
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
// Default constructor
|
||||
wxDC::wxDC()
|
||||
wxPalmDCImpl::wxPalmDCImpl( wxDC *owner, WXHDC hDC ) :
|
||||
wxDCImpl( owner )
|
||||
{
|
||||
Init();
|
||||
m_hDC = hDC;
|
||||
}
|
||||
|
||||
wxDC::~wxDC()
|
||||
wxPalmDCImpl::~wxPalmDCImpl()
|
||||
{
|
||||
}
|
||||
|
||||
// This will select current objects out of the DC,
|
||||
// which is what you have to do before deleting the
|
||||
// DC.
|
||||
void wxDC::SelectOldObjects(WXHDC dc)
|
||||
void wxPalmDCImpl::SelectOldObjects(WXHDC dc)
|
||||
{
|
||||
}
|
||||
|
||||
@ -105,29 +192,30 @@ void wxDC::SelectOldObjects(WXHDC dc)
|
||||
// clipping
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void wxDC::UpdateClipBox()
|
||||
void wxPalmDCImpl::UpdateClipBox()
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
wxDC::DoGetClippingBox(wxCoord *x, wxCoord *y, wxCoord *w, wxCoord *h) const
|
||||
wxPalmDCImpl::DoGetClippingBox(wxCoord *x, wxCoord *y, wxCoord *w, wxCoord *h) const
|
||||
{
|
||||
}
|
||||
|
||||
// common part of DoSetClippingRegion() and DoSetClippingRegionAsRegion()
|
||||
void wxDC::SetClippingHrgn(WXHRGN hrgn)
|
||||
void wxPalmDCImpl::SetClippingHrgn(WXHRGN hrgn)
|
||||
{
|
||||
wxCHECK_RET( hrgn, wxT("invalid clipping region") );
|
||||
}
|
||||
|
||||
void wxPalmDCImpl::DoSetClippingRegion(wxCoord x, wxCoord y, wxCoord w, wxCoord h)
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::DoSetClippingRegion(wxCoord x, wxCoord y, wxCoord w, wxCoord h)
|
||||
void wxPalmDCImpl::DoSetClippingRegionAsRegion(const wxRegion& region)
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::DoSetClippingRegionAsRegion(const wxRegion& region)
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::DestroyClippingRegion()
|
||||
void wxPalmDCImpl::DestroyClippingRegion()
|
||||
{
|
||||
}
|
||||
|
||||
@ -135,17 +223,17 @@ void wxDC::DestroyClippingRegion()
|
||||
// query capabilities
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
bool wxDC::CanDrawBitmap() const
|
||||
bool wxPalmDCImpl::CanDrawBitmap() const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool wxDC::CanGetTextExtent() const
|
||||
bool wxPalmDCImpl::CanGetTextExtent() const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
int wxDC::GetDepth() const
|
||||
int wxPalmDCImpl::GetDepth() const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
@ -154,51 +242,58 @@ int wxDC::GetDepth() const
|
||||
// drawing
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void wxDC::Clear()
|
||||
void wxPalmDCImpl::Clear()
|
||||
{
|
||||
}
|
||||
|
||||
bool wxDC::DoFloodFill(wxCoord x, wxCoord y, const wxColour& col, int style)
|
||||
bool wxPalmDCImpl::DoFloodFill(wxCoord WXUNUSED_IN_WINCE(x),
|
||||
wxCoord WXUNUSED_IN_WINCE(y),
|
||||
const wxColour& WXUNUSED_IN_WINCE(col),
|
||||
int WXUNUSED_IN_WINCE(style))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool wxDC::DoGetPixel(wxCoord x, wxCoord y, wxColour *col) const
|
||||
bool wxPalmDCImpl::DoGetPixel(wxCoord x, wxCoord y, wxColour *col) const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
void wxDC::DoCrossHair(wxCoord x, wxCoord y)
|
||||
void wxPalmDCImpl::DoCrossHair(wxCoord x, wxCoord y)
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::DoDrawLine(wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2)
|
||||
void wxPalmDCImpl::DoDrawLine(wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2)
|
||||
{
|
||||
}
|
||||
|
||||
// Draws an arc of a circle, centred on (xc, yc), with starting point (x1, y1)
|
||||
// and ending at (x2, y2)
|
||||
void wxDC::DoDrawArc(wxCoord x1, wxCoord y1,
|
||||
void wxPalmDCImpl::DoDrawArc(wxCoord x1, wxCoord y1,
|
||||
wxCoord x2, wxCoord y2,
|
||||
wxCoord xc, wxCoord yc)
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::DoDrawCheckMark(wxCoord x1, wxCoord y1,
|
||||
void wxPalmDCImpl::DoDrawCheckMark(wxCoord x1, wxCoord y1,
|
||||
wxCoord width, wxCoord height)
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::DoDrawPoint(wxCoord x, wxCoord y)
|
||||
void wxPalmDCImpl::DoDrawPoint(wxCoord x, wxCoord y)
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::DoDrawPolygon(int n, wxPoint points[], wxCoord xoffset, wxCoord yoffset,int fillStyle)
|
||||
void wxPalmDCImpl::DoDrawPolygon(int n,
|
||||
wxPoint points[],
|
||||
wxCoord xoffset,
|
||||
wxCoord yoffset,
|
||||
int WXUNUSED_IN_WINCE(fillStyle))
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
wxDC::DoDrawPolyPolygon(int n,
|
||||
wxPalmDCImpl::DoDrawPolyPolygon(int n,
|
||||
int count[],
|
||||
wxPoint points[],
|
||||
wxCoord xoffset,
|
||||
@ -207,43 +302,50 @@ wxDC::DoDrawPolyPolygon(int n,
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::DoDrawLines(int n, wxPoint points[], wxCoord xoffset, wxCoord yoffset)
|
||||
void wxPalmDCImpl::DoDrawLines(int n, wxPoint points[], wxCoord xoffset, wxCoord yoffset)
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::DoDrawRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height)
|
||||
void wxPalmDCImpl::DoDrawRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height)
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::DoDrawRoundedRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height, double radius)
|
||||
void wxPalmDCImpl::DoDrawRoundedRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height, double radius)
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::DoDrawEllipse(wxCoord x, wxCoord y, wxCoord width, wxCoord height)
|
||||
void wxPalmDCImpl::DoDrawEllipse(wxCoord x, wxCoord y, wxCoord width, wxCoord height)
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::DoDrawEllipticArc(wxCoord x,wxCoord y,wxCoord w,wxCoord h,double sa,double ea)
|
||||
#if wxUSE_SPLINES
|
||||
void wxPalmDCImpl::DoDrawSpline(const wxPointList *points)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
// Chris Breeze 20/5/98: first implementation of DrawEllipticArc on Windows
|
||||
void wxPalmDCImpl::DoDrawEllipticArc(wxCoord x,wxCoord y,wxCoord w,wxCoord h,double sa,double ea)
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::DoDrawIcon(const wxIcon& icon, wxCoord x, wxCoord y)
|
||||
void wxPalmDCImpl::DoDrawIcon(const wxIcon& icon, wxCoord x, wxCoord y)
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::DoDrawBitmap( const wxBitmap &bmp, wxCoord x, wxCoord y, bool useMask )
|
||||
void wxPalmDCImpl::DoDrawBitmap( const wxBitmap &bmp, wxCoord x, wxCoord y, bool useMask )
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::DoDrawText(const wxString& text, wxCoord x, wxCoord y)
|
||||
void wxPalmDCImpl::DoDrawText(const wxString& text, wxCoord x, wxCoord y)
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::DrawAnyText(const wxString& text, wxCoord x, wxCoord y)
|
||||
void wxPalmDCImpl::DrawAnyText(const wxString& text, wxCoord x, wxCoord y)
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::DoDrawRotatedText(const wxString& text,
|
||||
void wxPalmDCImpl::DoDrawRotatedText(const wxString& text,
|
||||
wxCoord x, wxCoord y,
|
||||
double angle)
|
||||
{
|
||||
@ -255,62 +357,66 @@ void wxDC::DoDrawRotatedText(const wxString& text,
|
||||
|
||||
#if wxUSE_PALETTE
|
||||
|
||||
void wxDC::DoSelectPalette(bool realize)
|
||||
void wxPalmDCImpl::DoSelectPalette(bool realize)
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::SetPalette(const wxPalette& palette)
|
||||
void wxPalmDCImpl::SetPalette(const wxPalette& palette)
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::InitializePalette()
|
||||
void wxPalmDCImpl::InitializePalette()
|
||||
{
|
||||
}
|
||||
|
||||
#endif // wxUSE_PALETTE
|
||||
|
||||
void wxDC::SetFont(const wxFont& font)
|
||||
// SetFont/Pen/Brush() really ask to be implemented as a single template
|
||||
// function... but doing it is not worth breaking OpenWatcom build <sigh>
|
||||
|
||||
void wxPalmDCImpl::SetFont(const wxFont& font)
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::SetPen(const wxPen& pen)
|
||||
void wxPalmDCImpl::SetPen(const wxPen& pen)
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::SetBrush(const wxBrush& brush)
|
||||
void wxPalmDCImpl::SetBrush(const wxBrush& brush)
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::SetBackground(const wxBrush& brush)
|
||||
void wxPalmDCImpl::SetBackground(const wxBrush& brush)
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::SetBackgroundMode(int mode)
|
||||
void wxPalmDCImpl::SetBackgroundMode(int mode)
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::SetLogicalFunction(int function)
|
||||
void wxPalmDCImpl::SetLogicalFunction(int function)
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::SetRop(WXHDC dc)
|
||||
void wxPalmDCImpl::SetRop(WXHDC dc)
|
||||
{
|
||||
}
|
||||
|
||||
bool wxDC::StartDoc(const wxString& WXUNUSED(message))
|
||||
bool wxPalmDCImpl::StartDoc(const wxString& WXUNUSED(message))
|
||||
{
|
||||
// We might be previewing, so return true to let it continue.
|
||||
return true;
|
||||
}
|
||||
|
||||
void wxDC::EndDoc()
|
||||
void wxPalmDCImpl::EndDoc()
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::StartPage()
|
||||
void wxPalmDCImpl::StartPage()
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::EndPage()
|
||||
void wxPalmDCImpl::EndPage()
|
||||
{
|
||||
}
|
||||
|
||||
@ -318,126 +424,96 @@ void wxDC::EndPage()
|
||||
// text metrics
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
wxCoord wxDC::GetCharHeight() const
|
||||
wxCoord wxPalmDCImpl::GetCharHeight() const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
wxCoord wxDC::GetCharWidth() const
|
||||
wxCoord wxPalmDCImpl::GetCharWidth() const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
void wxDC::DoGetTextExtent(const wxString& string, wxCoord *x, wxCoord *y,
|
||||
void wxPalmDCImpl::DoGetTextExtent(const wxString& string, wxCoord *x, wxCoord *y,
|
||||
wxCoord *descent, wxCoord *externalLeading,
|
||||
const wxFont *font) const
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
bool wxDC::DoGetPartialTextExtents(const wxString& text, wxArrayInt& widths) const
|
||||
// Each element of the array will be the width of the string up to and
|
||||
// including the coresoponding character in text.
|
||||
|
||||
bool wxPalmDCImpl::DoGetPartialTextExtents(const wxString& text, wxArrayInt& widths) const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void wxDC::SetMapMode(int mode)
|
||||
void wxPalmDCImpl::RealizeScaleAndOrigin()
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::SetUserScale(double x, double y)
|
||||
void wxPalmDCImpl::SetMapMode(int mode)
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::SetAxisOrientation(bool xLeftRight, bool yBottomUp)
|
||||
void wxPalmDCImpl::SetUserScale(double x, double y)
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::SetSystemScale(double x, double y)
|
||||
void wxPalmDCImpl::SetAxisOrientation(bool xLeftRight,
|
||||
bool yBottomUp)
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::SetLogicalOrigin(wxCoord x, wxCoord y)
|
||||
void wxPalmDCImpl::SetLogicalOrigin(wxCoord x, wxCoord y)
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::SetDeviceOrigin(wxCoord x, wxCoord y)
|
||||
void wxPalmDCImpl::SetDeviceOrigin(wxCoord x, wxCoord y)
|
||||
{
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// coordinates transformations
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
wxCoord wxDC::DeviceToLogicalX(wxCoord x) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
wxCoord wxDC::DeviceToLogicalXRel(wxCoord x) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
wxCoord wxDC::DeviceToLogicalY(wxCoord y) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
wxCoord wxDC::DeviceToLogicalYRel(wxCoord y) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
wxCoord wxDC::LogicalToDeviceX(wxCoord x) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
wxCoord wxDC::LogicalToDeviceXRel(wxCoord x) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
wxCoord wxDC::LogicalToDeviceY(wxCoord y) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
wxCoord wxDC::LogicalToDeviceYRel(wxCoord y) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// bit blit
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
bool wxDC::DoBlit(wxCoord xdest, wxCoord ydest,
|
||||
wxCoord width, wxCoord height,
|
||||
wxDC *source, wxCoord xsrc, wxCoord ysrc,
|
||||
bool wxPalmDCImpl::DoBlit(wxCoord dstX, wxCoord dstY,
|
||||
wxCoord dstWidth, wxCoord dstHeight,
|
||||
wxDC *source,
|
||||
wxCoord srcX, wxCoord srcY,
|
||||
int rop, bool useMask,
|
||||
wxCoord xsrcMask, wxCoord ysrcMask)
|
||||
wxCoord srcMaskX, wxCoord srcMaskY)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
void wxDC::DoGetSize(int *w, int *h) const
|
||||
bool wxPalmDCImpl::DoStretchBlit(wxCoord xdest, wxCoord ydest,
|
||||
wxCoord dstWidth, wxCoord dstHeight,
|
||||
wxDC *source,
|
||||
wxCoord xsrc, wxCoord ysrc,
|
||||
wxCoord srcWidth, wxCoord srcHeight,
|
||||
int rop, bool useMask,
|
||||
wxCoord xsrcMask, wxCoord ysrcMask)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
void wxPalmDCImpl::GetDeviceSize(int *width, int *height) const
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::DoGetSizeMM(int *w, int *h) const
|
||||
void wxPalmDCImpl::DoGetSizeMM(int *w, int *h) const
|
||||
{
|
||||
}
|
||||
|
||||
wxSize wxDC::GetPPI() const
|
||||
wxSize wxPalmDCImpl::GetPPI() const
|
||||
{
|
||||
return wxSize(0, 0);
|
||||
}
|
||||
|
||||
void wxDC::SetLogicalScale(double x, double y)
|
||||
// For use by wxWidgets only, unless custom units are required.
|
||||
void wxPalmDCImpl::SetLogicalScale(double x, double y)
|
||||
{
|
||||
}
|
||||
|
||||
@ -447,11 +523,22 @@ void wxDC::SetLogicalScale(double x, double y)
|
||||
|
||||
#if wxUSE_DC_CACHEING
|
||||
|
||||
wxList wxDC::sm_bitmapCache;
|
||||
wxList wxDC::sm_dcCache;
|
||||
/*
|
||||
* This implementation is a bit ugly and uses the old-fashioned wxList class, so I will
|
||||
* improve it in due course, either using arrays, or simply storing pointers to one
|
||||
* entry for the bitmap, and two for the DCs. -- JACS
|
||||
*/
|
||||
|
||||
wxObjectList wxPalmDCImpl::sm_bitmapCache;
|
||||
wxObjectList wxPalmDCImpl::sm_dcCache;
|
||||
|
||||
wxDCCacheEntry::wxDCCacheEntry(WXHBITMAP hBitmap, int w, int h, int depth)
|
||||
{
|
||||
m_bitmap = hBitmap;
|
||||
m_dc = 0;
|
||||
m_width = w;
|
||||
m_height = h;
|
||||
m_depth = depth;
|
||||
}
|
||||
|
||||
wxDCCacheEntry::wxDCCacheEntry(WXHDC hDC, int depth)
|
||||
@ -462,33 +549,34 @@ wxDCCacheEntry::~wxDCCacheEntry()
|
||||
{
|
||||
}
|
||||
|
||||
wxDCCacheEntry* wxDC::FindBitmapInCache(WXHDC dc, int w, int h)
|
||||
wxDCCacheEntry* wxPalmDCImpl::FindBitmapInCache(WXHDC dc, int w, int h)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
wxDCCacheEntry* wxDC::FindDCInCache(wxDCCacheEntry* notThis, WXHDC dc)
|
||||
wxDCCacheEntry* wxPalmDCImpl::FindDCInCache(wxDCCacheEntry* notThis, WXHDC dc)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void wxDC::AddToBitmapCache(wxDCCacheEntry* entry)
|
||||
void wxPalmDCImpl::AddToBitmapCache(wxDCCacheEntry* entry)
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::AddToDCCache(wxDCCacheEntry* entry)
|
||||
void wxPalmDCImpl::AddToDCCache(wxDCCacheEntry* entry)
|
||||
{
|
||||
}
|
||||
|
||||
void wxDC::ClearCache()
|
||||
void wxPalmDCImpl::ClearCache()
|
||||
{
|
||||
}
|
||||
|
||||
// Clean up cache at app exit
|
||||
class wxDCModule : public wxModule
|
||||
{
|
||||
public:
|
||||
virtual bool OnInit() { return true; }
|
||||
virtual void OnExit() { wxDC::ClearCache(); }
|
||||
virtual void OnExit() { wxPalmDCImpl::ClearCache(); }
|
||||
|
||||
private:
|
||||
DECLARE_DYNAMIC_CLASS(wxDCModule)
|
||||
@ -497,3 +585,40 @@ private:
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxDCModule, wxModule)
|
||||
|
||||
#endif // wxUSE_DC_CACHEING
|
||||
|
||||
void wxPalmDCImpl::DoGradientFillLinear (const wxRect& rect,
|
||||
const wxColour& initialColour,
|
||||
const wxColour& destColour,
|
||||
wxDirection nDirection)
|
||||
{
|
||||
}
|
||||
|
||||
#if wxUSE_DYNLIB_CLASS
|
||||
|
||||
wxLayoutDirection wxPalmDCImpl::GetLayoutDirection() const
|
||||
{
|
||||
DWORD layout = wxGetDCLayout(GetHdc());
|
||||
|
||||
if ( layout == (DWORD)-1 )
|
||||
return wxLayout_Default;
|
||||
|
||||
return layout & LAYOUT_RTL ? wxLayout_RightToLeft : wxLayout_LeftToRight;
|
||||
}
|
||||
|
||||
void wxPalmDCImpl::SetLayoutDirection(wxLayoutDirection dir)
|
||||
{
|
||||
}
|
||||
|
||||
#else // !wxUSE_DYNLIB_CLASS
|
||||
|
||||
// we can't provide RTL support without dynamic loading, so stub it out
|
||||
wxLayoutDirection wxPalmDCImpl::GetLayoutDirection() const
|
||||
{
|
||||
return wxLayout_Default;
|
||||
}
|
||||
|
||||
void wxPalmDCImpl::SetLayoutDirection(wxLayoutDirection WXUNUSED(dir))
|
||||
{
|
||||
}
|
||||
|
||||
#endif // wxUSE_DYNLIB_CLASS/!wxUSE_DYNLIB_CLASS
|
||||
|
@ -25,6 +25,7 @@
|
||||
#endif
|
||||
|
||||
#include "wx/dcclient.h"
|
||||
#include "wx/palmos/dcclient.h"
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/string.h"
|
||||
@ -38,36 +39,35 @@
|
||||
|
||||
struct WXDLLEXPORT wxPaintDCInfo
|
||||
{
|
||||
wxPaintDCInfo(wxWindow *win, wxDC *dc)
|
||||
wxPaintDCInfo(wxWindow *win, wxPaintDCImpl *dc)
|
||||
{
|
||||
handle = win->GetWinHandle();
|
||||
hdc = dc->GetHDC();
|
||||
count = 1;
|
||||
hwnd = win->GetHWND();
|
||||
hdc = dc->GetHDC();
|
||||
count = 1;
|
||||
}
|
||||
|
||||
WXWINHANDLE handle; // window for this DC
|
||||
WXHDC hdc; // the DC handle
|
||||
size_t count; // usage count
|
||||
WXHWND hwnd; // window for this DC
|
||||
WXHDC hdc; // the DC handle
|
||||
size_t count; // usage count
|
||||
};
|
||||
|
||||
#include "wx/arrimpl.cpp"
|
||||
|
||||
WX_DEFINE_OBJARRAY(wxArrayDCInfo);
|
||||
WX_DEFINE_OBJARRAY(wxArrayDCInfo)
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// macros
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxWindowDC, wxDC)
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxClientDC, wxWindowDC)
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxPaintDC, wxClientDC)
|
||||
IMPLEMENT_CLASS(wxPaintDCEx, wxPaintDC)
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// global variables
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
#ifdef __WXDEBUG__
|
||||
// a global variable which we check to verify that wxPaintDC are only
|
||||
// created in response to WM_PAINT message - doing this from elsewhere is a
|
||||
// common programming error among wxWidgets programmers and might lead to
|
||||
// very subtle and difficult to debug refresh/repaint bugs.
|
||||
int g_isPainting = 0;
|
||||
#endif // __WXDEBUG__
|
||||
|
||||
@ -76,85 +76,218 @@ IMPLEMENT_CLASS(wxPaintDCEx, wxPaintDC)
|
||||
// ===========================================================================
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxWindowDC
|
||||
// wxWindowDCImpl
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
wxWindowDC::wxWindowDC()
|
||||
IMPLEMENT_ABSTRACT_CLASS(wxWindowDCImpl, wxPalmDCImpl)
|
||||
|
||||
wxWindowDCImpl::wxWindowDCImpl( wxDC *owner ) :
|
||||
wxPalmDCImpl( owner )
|
||||
{
|
||||
}
|
||||
|
||||
wxWindowDC::wxWindowDC(wxWindow *canvas)
|
||||
wxWindowDCImpl::wxWindowDCImpl( wxDC *owner, wxWindow *window ) :
|
||||
wxPalmDCImpl( owner )
|
||||
{
|
||||
wxCHECK_RET( window, _T("invalid window in wxWindowDCImpl") );
|
||||
}
|
||||
|
||||
void wxWindowDC::InitDC()
|
||||
void wxWindowDCImpl::InitDC()
|
||||
{
|
||||
|
||||
// since we are a window dc we need to grab the palette from the window
|
||||
#if wxUSE_PALETTE
|
||||
InitializePalette();
|
||||
#endif
|
||||
}
|
||||
|
||||
void wxWindowDC::DoGetSize(int *width, int *height) const
|
||||
void wxWindowDCImpl::DoGetSize(int *width, int *height) const
|
||||
{
|
||||
wxCHECK_RET( m_window, _T("wxWindowDCImpl without a window?") );
|
||||
|
||||
m_window->GetSize(width, height);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxClientDC
|
||||
// wxClientDCImpl
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
wxClientDC::wxClientDC()
|
||||
IMPLEMENT_ABSTRACT_CLASS(wxClientDCImpl, wxWindowDCImpl)
|
||||
|
||||
wxClientDCImpl::wxClientDCImpl( wxDC *owner ) :
|
||||
wxWindowDCImpl( owner )
|
||||
{
|
||||
}
|
||||
|
||||
wxClientDC::wxClientDC(wxWindow *canvas)
|
||||
wxClientDCImpl::wxClientDCImpl( wxDC *owner, wxWindow *window ) :
|
||||
wxWindowDCImpl( owner )
|
||||
{
|
||||
}
|
||||
|
||||
void wxClientDC::InitDC()
|
||||
void wxClientDCImpl::InitDC()
|
||||
{
|
||||
wxWindowDCImpl::InitDC();
|
||||
|
||||
// in wxUniv build we must manually do some DC adjustments usually
|
||||
// performed by Windows for us
|
||||
//
|
||||
// we also need to take the menu/toolbar manually into account under
|
||||
// Windows CE because they're just another control there, not anything
|
||||
// special as usually under Windows
|
||||
#if defined(__WXUNIVERSAL__) || defined(__WXWINCE__)
|
||||
wxPoint ptOrigin = m_window->GetClientAreaOrigin();
|
||||
if ( ptOrigin.x || ptOrigin.y )
|
||||
{
|
||||
// no need to shift DC origin if shift is null
|
||||
SetDeviceOrigin(ptOrigin.x, ptOrigin.y);
|
||||
}
|
||||
|
||||
// clip the DC to avoid overwriting the non client area
|
||||
SetClippingRegion(wxPoint(0,0), m_window->GetClientSize());
|
||||
#endif // __WXUNIVERSAL__ || __WXWINCE__
|
||||
}
|
||||
|
||||
wxClientDCImpl::~wxClientDCImpl()
|
||||
{
|
||||
}
|
||||
|
||||
wxClientDC::~wxClientDC()
|
||||
void wxClientDCImpl::DoGetSize(int *width, int *height) const
|
||||
{
|
||||
}
|
||||
wxCHECK_RET( m_window, _T("wxClientDCImpl without a window?") );
|
||||
|
||||
void wxClientDC::DoGetSize(int *width, int *height) const
|
||||
{
|
||||
m_window->GetClientSize(width, height);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxPaintDC
|
||||
// wxPaintDCImpl
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
wxArrayDCInfo wxPaintDC::ms_cache;
|
||||
// VZ: initial implementation (by JACS) only remembered the last wxPaintDC
|
||||
// created and tried to reuse it - this was supposed to take care of a
|
||||
// situation when a derived class OnPaint() calls base class OnPaint()
|
||||
// because in this case ::BeginPaint() shouldn't be called second time.
|
||||
//
|
||||
// I'm not sure how useful this is, however we must remember the HWND
|
||||
// associated with the last HDC as well - otherwise we may (and will!) try
|
||||
// to reuse the HDC for another HWND which is a nice recipe for disaster.
|
||||
//
|
||||
// So we store a list of windows for which we already have the DC and not
|
||||
// just one single hDC. This seems to work, but I'm really not sure about
|
||||
// the usefullness of the whole idea - IMHO it's much better to not call
|
||||
// base class OnPaint() at all, or, if we really want to allow it, add a
|
||||
// "wxPaintDC *" parameter to wxPaintEvent which should be used if it's
|
||||
// !NULL instead of creating a new DC.
|
||||
|
||||
wxPaintDC::wxPaintDC()
|
||||
IMPLEMENT_ABSTRACT_CLASS(wxPaintDCImpl, wxClientDCImpl)
|
||||
|
||||
wxArrayDCInfo wxPaintDCImpl::ms_cache;
|
||||
|
||||
wxPaintDCImpl::wxPaintDCImpl( wxDC *owner ) :
|
||||
wxClientDCImpl( owner )
|
||||
{
|
||||
}
|
||||
|
||||
wxPaintDC::wxPaintDC(wxWindow *canvas)
|
||||
wxPaintDCImpl::wxPaintDCImpl( wxDC *owner, wxWindow *window ) :
|
||||
wxClientDCImpl( owner )
|
||||
{
|
||||
wxCHECK_RET( window, wxT("NULL canvas in wxPaintDCImpl ctor") );
|
||||
|
||||
#ifdef __WXDEBUG__
|
||||
if ( g_isPainting <= 0 )
|
||||
{
|
||||
wxFAIL_MSG( wxT("wxPaintDCImpl may be created only in EVT_PAINT handler!") );
|
||||
|
||||
return;
|
||||
}
|
||||
#endif // __WXDEBUG__
|
||||
|
||||
m_window = window;
|
||||
|
||||
// do we have a DC for this window in the cache?
|
||||
wxPaintDCInfo *info = FindInCache();
|
||||
if ( info )
|
||||
{
|
||||
m_hDC = info->hdc;
|
||||
info->count++;
|
||||
}
|
||||
else // not in cache, create a new one
|
||||
{
|
||||
//m_hDC = (WXHDC)::BeginPaint(GetHwndOf(m_window), &g_paintStruct);
|
||||
if (m_hDC)
|
||||
ms_cache.Add(new wxPaintDCInfo(m_window, this));
|
||||
}
|
||||
|
||||
// Note: at this point m_hDC can be NULL under MicroWindows, when dragging.
|
||||
if (!GetHDC())
|
||||
return;
|
||||
|
||||
// (re)set the DC parameters.
|
||||
InitDC();
|
||||
|
||||
// the HDC can have a clipping box (which we didn't set), make sure our
|
||||
// DoGetClippingBox() checks for it
|
||||
m_clipping = true;
|
||||
}
|
||||
|
||||
wxPaintDC::~wxPaintDC()
|
||||
wxPaintDCImpl::~wxPaintDCImpl()
|
||||
{
|
||||
if ( m_hDC )
|
||||
{
|
||||
SelectOldObjects(m_hDC);
|
||||
|
||||
size_t index;
|
||||
wxPaintDCInfo *info = FindInCache(&index);
|
||||
|
||||
wxCHECK_RET( info, wxT("existing DC should have a cache entry") );
|
||||
|
||||
if ( --info->count == 0 )
|
||||
{
|
||||
//::EndPaint(GetHwndOf(m_window), &g_paintStruct);
|
||||
|
||||
ms_cache.RemoveAt(index);
|
||||
|
||||
// Reduce the number of bogus reports of non-freed memory
|
||||
// at app exit
|
||||
if (ms_cache.IsEmpty())
|
||||
ms_cache.Clear();
|
||||
}
|
||||
//else: cached DC entry is still in use
|
||||
|
||||
// prevent the base class dtor from ReleaseDC()ing it again
|
||||
m_hDC = 0;
|
||||
}
|
||||
}
|
||||
|
||||
wxPaintDCInfo *wxPaintDC::FindInCache(size_t *index) const
|
||||
wxPaintDCInfo *wxPaintDCImpl::FindInCache(size_t *index) const
|
||||
{
|
||||
return NULL;
|
||||
wxPaintDCInfo *info = NULL;
|
||||
size_t nCache = ms_cache.GetCount();
|
||||
for ( size_t n = 0; n < nCache; n++ )
|
||||
{
|
||||
wxPaintDCInfo *info1 = &ms_cache[n];
|
||||
if ( info1->hwnd == m_window->GetHWND() )
|
||||
{
|
||||
info = info1;
|
||||
if ( index )
|
||||
*index = n;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return info;
|
||||
}
|
||||
|
||||
WXHDC wxPaintDC::FindDCInCache(wxWindow* win)
|
||||
// find the entry for this DC in the cache (keyed by the window)
|
||||
WXHDC wxPaintDCImpl::FindDCInCache(wxWindow* win)
|
||||
{
|
||||
size_t nCache = ms_cache.GetCount();
|
||||
for ( size_t n = 0; n < nCache; n++ )
|
||||
{
|
||||
wxPaintDCInfo *info = &ms_cache[n];
|
||||
if ( info->hwnd == win->GetHWND() )
|
||||
{
|
||||
return info->hdc;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* wxPaintDCEx
|
||||
*/
|
||||
|
||||
wxPaintDCEx::wxPaintDCEx(wxWindow *canvas, WXHDC dc) : saveState(0)
|
||||
{
|
||||
}
|
||||
|
||||
wxPaintDCEx::~wxPaintDCEx()
|
||||
{
|
||||
}
|
||||
|
@ -25,6 +25,7 @@
|
||||
#endif
|
||||
|
||||
#include "wx/dcmemory.h"
|
||||
#include "wx/palmos/dcmemory.h"
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/utils.h"
|
||||
@ -32,55 +33,61 @@
|
||||
#endif
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxWin macros
|
||||
// wxMemoryDCImpl
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxMemoryDC, wxDC)
|
||||
IMPLEMENT_ABSTRACT_CLASS(wxMemoryDCImpl, wxPalmDCImpl)
|
||||
|
||||
// ============================================================================
|
||||
// implementation
|
||||
// ============================================================================
|
||||
wxMemoryDCImpl::wxMemoryDCImpl( wxMemoryDC *owner )
|
||||
: wxPalmDCImpl( owner )
|
||||
{
|
||||
CreateCompatible(NULL);
|
||||
Init();
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxMemoryDC
|
||||
// ----------------------------------------------------------------------------
|
||||
wxMemoryDCImpl::wxMemoryDCImpl( wxMemoryDC *owner, wxBitmap& bitmap )
|
||||
: wxPalmDCImpl( owner )
|
||||
{
|
||||
CreateCompatible(NULL);
|
||||
Init();
|
||||
DoSelect(bitmap);
|
||||
}
|
||||
|
||||
wxMemoryDC::wxMemoryDC(wxDC *dc)
|
||||
wxMemoryDCImpl::wxMemoryDCImpl( wxMemoryDC *owner, wxDC *dc )
|
||||
: wxPalmDCImpl( owner )
|
||||
{
|
||||
wxCHECK_RET( dc, _T("NULL dc in wxMemoryDC ctor") );
|
||||
|
||||
CreateCompatible(dc);
|
||||
|
||||
Init();
|
||||
}
|
||||
|
||||
void wxMemoryDCImpl::Init()
|
||||
{
|
||||
}
|
||||
|
||||
void wxMemoryDC::Init()
|
||||
bool wxMemoryDCImpl::CreateCompatible(wxDC *dc)
|
||||
{
|
||||
}
|
||||
wxDCImpl *impl = dc ? dc->GetImpl() : NULL ;
|
||||
wxPalmDCImpl *msw_impl = wxDynamicCast( impl, wxPalmDCImpl );
|
||||
if ( dc && !msw_impl)
|
||||
{
|
||||
m_ok = false;
|
||||
return false;
|
||||
}
|
||||
|
||||
bool wxMemoryDC::CreateCompatible(wxDC *dc)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
void wxMemoryDC::DoSelect(const wxBitmap& bitmap)
|
||||
void wxMemoryDCImpl::DoSelect( const wxBitmap& bitmap )
|
||||
{
|
||||
}
|
||||
|
||||
void wxMemoryDC::DoGetSize(int *width, int *height) const
|
||||
void wxMemoryDCImpl::DoGetSize(int *width, int *height) const
|
||||
{
|
||||
}
|
||||
|
||||
// the rest of this file deals with drawing rectangles workaround, disabled by
|
||||
// default
|
||||
|
||||
#define wxUSE_MEMORY_DC_DRAW_RECTANGLE 0
|
||||
|
||||
#if wxUSE_MEMORY_DC_DRAW_RECTANGLE
|
||||
|
||||
// For some reason, drawing a rectangle on a memory DC has problems.
|
||||
// Use this substitute if we can.
|
||||
static void wxDrawRectangle(wxDC& dc, wxCoord x, wxCoord y, wxCoord width, wxCoord height)
|
||||
{
|
||||
}
|
||||
|
||||
#endif // wxUSE_MEMORY_DC_DRAW_RECTANGLE
|
||||
|
||||
void wxMemoryDC::DoDrawRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height)
|
||||
wxBitmap wxMemoryDCImpl::DoGetAsBitmap(const wxRect* subrect) const
|
||||
{
|
||||
}
|
||||
|
@ -16,20 +16,21 @@
|
||||
#pragma hdrstop
|
||||
#endif
|
||||
|
||||
#include "wx/dcscreen.h"
|
||||
#include "wx/palmos/dcscreen.h"
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/string.h"
|
||||
#include "wx/window.h"
|
||||
#endif
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxScreenDC, wxWindowDC)
|
||||
IMPLEMENT_ABSTRACT_CLASS(wxScreenDCImpl, wxPalmDCImpl)
|
||||
|
||||
// Create a DC representing the whole screen
|
||||
wxScreenDC::wxScreenDC()
|
||||
wxScreenDCImpl::wxScreenDCImpl( wxScreenDC *owner ) :
|
||||
wxPalmDCImpl( owner )
|
||||
{
|
||||
}
|
||||
|
||||
void wxScreenDC::DoGetSize(int *width, int *height) const
|
||||
void wxScreenDCImpl::DoGetSize (int *w, int *h) const
|
||||
{
|
||||
}
|
||||
|
@ -147,11 +147,14 @@ bool wxDialog::Create(wxWindow *parent,
|
||||
long style,
|
||||
const wxString& name)
|
||||
{
|
||||
return false;
|
||||
if ( !wxTopLevelWindow::Create(parent, id, title, pos, size, style, name) )
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
wxDialog::~wxDialog()
|
||||
{
|
||||
Show (false);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
@ -165,7 +168,7 @@ wxWindow *wxDialog::FindSuitableParent() const
|
||||
|
||||
bool wxDialog::Show(bool show)
|
||||
{
|
||||
return false;
|
||||
return wxTopLevelWindowPalm::Show (show);
|
||||
}
|
||||
|
||||
void wxDialog::Raise()
|
||||
@ -175,6 +178,9 @@ void wxDialog::Raise()
|
||||
// show dialog modally
|
||||
int wxDialog::ShowModal()
|
||||
{
|
||||
if (errNone == FrmDoDialog ((FormType *)wxTopLevelWindow::GetForm())) {
|
||||
return 0;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -135,3 +135,8 @@ bool wxGUIEventLoop::Dispatch()
|
||||
return false;
|
||||
}
|
||||
|
||||
void wxGUIEventLoop::WakeUp()
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -48,12 +48,12 @@ int wxEntry()
|
||||
*/
|
||||
wxArrayString args;
|
||||
int argc = args.GetCount();
|
||||
|
||||
// +1 here for the terminating NULL
|
||||
wxChar **argv = new wxChar *[argc + 1];
|
||||
for ( int i = 0; i < argc; i++ )
|
||||
{
|
||||
argv[i] = wxStrdup(args[i]);
|
||||
//argv[i] = wxStrdup(args[i]);
|
||||
argv[i] = wxStrdup(wxConvLibc.cMB2WX(args[i]));
|
||||
}
|
||||
|
||||
// argv[] must be NULL-terminated
|
||||
|
@ -178,11 +178,13 @@ bool wxPrefConfig::DoReadLong(const wxString& key, long *plResult) const
|
||||
return false;
|
||||
}
|
||||
|
||||
bool DoReadBinary(const wxString& key, wxMemoryBuffer *buf) const
|
||||
#if wxUSE_BASE64
|
||||
bool wxPrefConfig::DoReadBinary(const wxString& key, wxMemoryBuffer *buf) const
|
||||
{
|
||||
/* TODO */
|
||||
return false;
|
||||
}
|
||||
#endif // wxUSE_BASE64
|
||||
|
||||
bool wxPrefConfig::DoWriteString(const wxString& key, const wxString& szValue)
|
||||
{
|
||||
@ -196,11 +198,13 @@ bool wxPrefConfig::DoWriteLong(const wxString& key, long lValue)
|
||||
return false;
|
||||
}
|
||||
|
||||
bool DoWriteBinary(const wxString& key, const wxMemoryBuffer& buf)
|
||||
#if wxUSE_BASE64
|
||||
bool wxPrefConfig::DoWriteBinary(const wxString& key, const wxMemoryBuffer& buf)
|
||||
{
|
||||
/* TODO */
|
||||
return false;
|
||||
}
|
||||
#endif // wxUSE_BASE64
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// renaming
|
||||
|
360
src/palmos/stdall.c
Normal file
360
src/palmos/stdall.c
Normal file
@ -0,0 +1,360 @@
|
||||
|
||||
#include <Preferences.h> // Core/System/
|
||||
#include <DateTime.h> //Core/System/, DateToAscii() etc.
|
||||
#include <TimeMgr.h> //Core/System/, TimGetTicks()
|
||||
|
||||
#include "wx/defs.h"
|
||||
|
||||
#if __WXPALMOS6__
|
||||
void
|
||||
exit (int exitno)
|
||||
{
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
#define SEC_1904_1970 2082844800LU//0x7C25B080 // 0x7C25B080 == 2082844800LU
|
||||
|
||||
time_t
|
||||
time (time_t *T)
|
||||
{
|
||||
UInt32 sec;
|
||||
// UInt32 TimGetSeconds(void); // seconds since 1/1/1904
|
||||
// void TimSetSeconds (UInt32 seconds); // seconds since 1/1/1904
|
||||
// UInt32 TimGetTicks(void); // ticks since power on
|
||||
sec = TimGetSeconds ();
|
||||
if (T) {
|
||||
*T = sec - SEC_1904_1970;
|
||||
}
|
||||
return (sec - SEC_1904_1970);
|
||||
}
|
||||
|
||||
static struct tm *
|
||||
palmtimet2unixtm (const time_t t, struct tm *ptm)
|
||||
{
|
||||
DateTimeType dt;
|
||||
memset (&dt, 0, sizeof (dt));
|
||||
memset (ptm, 0, sizeof (*ptm));
|
||||
TimSecondsToDateTime (t, &dt);
|
||||
ptm->tm_sec = dt.second;
|
||||
ptm->tm_min = dt.minute;
|
||||
ptm->tm_hour = dt.hour;
|
||||
ptm->tm_mday = dt.day;
|
||||
ptm->tm_mon = dt.month;
|
||||
ptm->tm_year = dt.year;
|
||||
ptm->tm_wday = dt.weekDay;
|
||||
|
||||
//ptm->tm_wday = DayOfWeek (dt.month, dt.day, dt.year);
|
||||
//ptm->tm_mday = DayOfMonth (dt.month, dt.day, dt.year);
|
||||
return ptm;
|
||||
}
|
||||
|
||||
struct tm *
|
||||
gmtime_r (const time_t *pt, struct tm *ptm)
|
||||
{
|
||||
UInt32 utcTime;
|
||||
Int16 timeZone = PrefGetPreference(prefTimeZone);
|
||||
Int16 daylightSavingAdjustment = PrefGetPreference(prefDaylightSavingAdjustment);
|
||||
|
||||
if ((NULL == pt) || (NULL == ptm)) {
|
||||
return NULL;
|
||||
}
|
||||
utcTime = TimTimeZoneToUTC (*pt + SEC_1904_1970, timeZone, daylightSavingAdjustment);
|
||||
palmtimet2unixtm (utcTime, ptm);
|
||||
return ptm;
|
||||
}
|
||||
|
||||
struct tm *
|
||||
localtime_r (const time_t *pt, struct tm *ptm)
|
||||
{
|
||||
UInt32 utcTime;
|
||||
Int16 timeZone = PrefGetPreference(prefTimeZone);
|
||||
Int16 daylightSavingAdjustment = PrefGetPreference(prefDaylightSavingAdjustment);
|
||||
if ((NULL == pt) || (NULL == ptm)) {
|
||||
return NULL;
|
||||
}
|
||||
utcTime = TimUTCToTimeZone (*pt + SEC_1904_1970, timeZone, daylightSavingAdjustment);
|
||||
palmtimet2unixtm (utcTime, ptm);
|
||||
return ptm;
|
||||
}
|
||||
/*
|
||||
static struct tm g_gmtime_info;
|
||||
|
||||
struct tm *
|
||||
gmtime (const time_t *CLOCK)
|
||||
{
|
||||
if (NULL == CLOCK) {
|
||||
return NULL;
|
||||
}
|
||||
if (NULL == gmtime_r (CLOCK, &g_gmtime_info)) {
|
||||
return NULL;
|
||||
}
|
||||
return &g_gmtime_info;
|
||||
}
|
||||
*/
|
||||
static struct tm g_localtime_info;
|
||||
|
||||
struct tm *
|
||||
localtime (const time_t *CLOCK)
|
||||
{
|
||||
if (NULL == CLOCK) {
|
||||
return NULL;
|
||||
}
|
||||
if (NULL == localtime_r (CLOCK, &g_localtime_info)) {
|
||||
return NULL;
|
||||
}
|
||||
return &g_localtime_info;
|
||||
}
|
||||
|
||||
static char * g_strftime_wdayconv[][2] = {
|
||||
{"Sun", "Sunday"},
|
||||
{"Mon", "Monday"},
|
||||
{"Tue", "Tuesday"},
|
||||
{"Wed", "Wednesday"},
|
||||
{"Thu", "Thursday"},
|
||||
{"Fri", "Friday"},
|
||||
{"Sat", "Saturday"},
|
||||
};
|
||||
|
||||
static char * g_strftime_monconv[][2] = {
|
||||
{"Jan", "January"},
|
||||
{"Feb", "Febuary"},
|
||||
{"Mar", "March"},
|
||||
{"Apr", "April"},
|
||||
{"May", "May"},
|
||||
{"Jun", "June"},
|
||||
{"Jul", "July"},
|
||||
{"Aug", "August"},
|
||||
{"Sep", "September"},
|
||||
{"Oct", "October"},
|
||||
{"Nov", "November"},
|
||||
{"Dec", "December"},
|
||||
};
|
||||
#define SFCONV_ABBR 0
|
||||
#define SFCONV_FULL 1
|
||||
|
||||
size_t
|
||||
strftime (char *buf, size_t sz_buf, const char *fmt, const struct tm *ptm)
|
||||
{
|
||||
char *p;
|
||||
char *pret;
|
||||
if ((timeStringLength > sz_buf) || (strlen (fmt) < 1)) {
|
||||
return 0;
|
||||
}
|
||||
memset (buf, 0, sz_buf);
|
||||
p = fmt;
|
||||
pret = buf;
|
||||
for (; *p != '\0';) {
|
||||
if ('%' == *p) {
|
||||
p ++;
|
||||
if (*p == '\0') {
|
||||
break;
|
||||
}
|
||||
// FIXME: Åжϻº³åÊÇ·ñÒç³ö
|
||||
switch (*p) {
|
||||
case 'a':
|
||||
strcpy (pret, g_strftime_wdayconv[ptm->tm_wday % 7][SFCONV_ABBR]);
|
||||
pret += 3;
|
||||
break;
|
||||
case 'A':
|
||||
strcpy (pret, g_strftime_wdayconv[ptm->tm_wday % 7][SFCONV_FULL]);
|
||||
pret += strlen (g_strftime_wdayconv[ptm->tm_wday % 7][SFCONV_FULL]);
|
||||
break;
|
||||
case 'b':
|
||||
strcpy (pret, g_strftime_monconv[ptm->tm_mon % 12][SFCONV_ABBR]);
|
||||
pret += 3;
|
||||
break;
|
||||
case 'B':
|
||||
strcpy (pret, g_strftime_monconv[ptm->tm_mon % 12][SFCONV_FULL]);
|
||||
pret += strlen (g_strftime_monconv[ptm->tm_mon % 12][SFCONV_FULL]);
|
||||
break;
|
||||
case 'c':
|
||||
strcpy (pret, g_strftime_wdayconv[ptm->tm_wday % 7][SFCONV_ABBR]);
|
||||
pret += 3;
|
||||
*pret = ' ';
|
||||
pret ++;
|
||||
strcpy (pret, g_strftime_monconv[ptm->tm_mon % 12][SFCONV_ABBR]);
|
||||
pret += 3;
|
||||
*pret = ' ';
|
||||
pret ++;
|
||||
sprintf (pret, "%d %02d:%02d:%02d %d", ptm->tm_mday,
|
||||
ptm->tm_hour, ptm->tm_min, ptm->tm_sec, ptm->tm_year);
|
||||
pret += strlen (pret);
|
||||
break;
|
||||
case 'd':
|
||||
sprintf (pret, "%02d", ptm->tm_mday % 31);
|
||||
pret += 2;
|
||||
break;
|
||||
case 'H':
|
||||
sprintf (pret, "%02d", ptm->tm_hour % 24);
|
||||
pret += 2;
|
||||
break;
|
||||
case 'I':
|
||||
sprintf (pret, "%02d", (ptm->tm_hour % 12) + 1);
|
||||
pret += 2;
|
||||
break;
|
||||
case 'j':
|
||||
sprintf (pret, "%03d", ptm->tm_year % 400);
|
||||
pret += 3;
|
||||
break;
|
||||
case 'm':
|
||||
sprintf (pret, "%02d", (ptm->tm_mon % 12) + 1);
|
||||
pret += 2;
|
||||
break;
|
||||
case 'M':
|
||||
sprintf (pret, "%02d", ptm->tm_min % 60);
|
||||
pret += 2;
|
||||
break;
|
||||
case 'p':
|
||||
if (ptm->tm_hour > 12) {
|
||||
strcpy (pret, "PM");
|
||||
break;
|
||||
}
|
||||
strcpy (pret, "AM");
|
||||
pret += 2;
|
||||
break;
|
||||
case 'S':
|
||||
sprintf (pret, "%02d", ptm->tm_sec % 61);
|
||||
pret += 2;
|
||||
break;
|
||||
case 'U':
|
||||
// FIXME: Week number with the first Sunday as the first day of week one (00-53)
|
||||
sprintf (pret, "%02d", ptm->tm_yday / 7);
|
||||
pret += 2;
|
||||
break;
|
||||
case 'w':
|
||||
sprintf (pret, "%d", ptm->tm_wday % 7);
|
||||
pret += 1;
|
||||
break;
|
||||
case 'W':
|
||||
// FIXME: Week number with the first Sunday as the first day of week one (00-53)
|
||||
sprintf (pret, "%02d", ptm->tm_yday / 7);
|
||||
pret += 2;
|
||||
break;
|
||||
case 'x':
|
||||
sprintf (pret, "%02d/%02d/%02d",
|
||||
ptm->tm_mon, ptm->tm_mday, ptm->tm_year - 1900);
|
||||
pret += strlen (pret);
|
||||
break;
|
||||
case 'X':
|
||||
sprintf (pret, "%02d:%02d:%02d",
|
||||
ptm->tm_hour, ptm->tm_min, ptm->tm_sec);
|
||||
pret += strlen (pret);
|
||||
break;
|
||||
case 'y':
|
||||
sprintf (pret, "%02d", ptm->tm_year - 1900);
|
||||
pret += 2;
|
||||
break;
|
||||
case 'Y':
|
||||
sprintf (pret, "%02d", ptm->tm_year);
|
||||
pret += strlen (pret);
|
||||
break;
|
||||
case 'Z':
|
||||
{
|
||||
LmLocaleType ll;
|
||||
ll.language = lmAnyLanguage;
|
||||
ll.country = 0;
|
||||
TimeZoneToAscii (ptm->tm_gmtoff, &ll, pret);
|
||||
}
|
||||
pret += strlen (pret);
|
||||
break;
|
||||
case '%':
|
||||
*pret = *p;
|
||||
pret ++;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
*pret = *p;
|
||||
pret ++;
|
||||
}
|
||||
p ++;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
time_t
|
||||
mktime (struct tm *ptm)
|
||||
{
|
||||
DateTimeType dt;
|
||||
if (NULL == ptm) {
|
||||
return 0;
|
||||
}
|
||||
memset (&dt, 0, sizeof (dt));
|
||||
dt.second = ptm->tm_sec;
|
||||
dt.minute = ptm->tm_min;
|
||||
dt.hour = ptm->tm_hour;
|
||||
dt.day = ptm->tm_mday;
|
||||
dt.month = ptm->tm_mon;
|
||||
dt.year = ptm->tm_year;
|
||||
dt.weekDay = ptm->tm_wday;
|
||||
return TimDateTimeToSeconds (&dt);
|
||||
}
|
||||
|
||||
int
|
||||
vsscanf (const char *s, const char *format, va_list param)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
FILE * fopen (const char *_name, const char *_type) {return NULL;}
|
||||
int fclose (FILE *fp) {return 0;}
|
||||
size_t fread (void *buf, size_t _size, size_t _n, FILE *fp) {return 0;}
|
||||
size_t fwrite (const void *buf , size_t _size, size_t _n, FILE *fp) {return 0;}
|
||||
int fseek (FILE *fp, long offset, int whence) {return -1;}
|
||||
long ftell (FILE *fp) {return -1;}
|
||||
int feof (FILE *fp) {return -1;}
|
||||
int ferror (FILE *fp) {return -1;}
|
||||
void clearerr (FILE *fp) {}
|
||||
|
||||
#endif // __WXPALMOS6__
|
||||
|
||||
#define _BIT_ALPHA 0X0001
|
||||
#define _BIT_BLANK 0X0002
|
||||
#define _BIT_CNTRL 0X0004
|
||||
#define _BIT_DIGIT 0X0008
|
||||
#define _BIT_GRAPH 0X0010
|
||||
#define _BIT_LOWER 0X0020
|
||||
#define _BIT_PRINT 0X0040
|
||||
#define _BIT_PUNCT 0X0080
|
||||
#define _BIT_SPACE 0X0100
|
||||
#define _BIT_UPPER 0X0200
|
||||
#define _BIT_XDIGIT 0X0400
|
||||
|
||||
int iswalnum(wint_t C) {return 0;}
|
||||
int iswalpha(wint_t C) {return 0;}
|
||||
int iswcntrl(wint_t C) {return 0;}
|
||||
int iswdigit(wint_t C) {return 0;}
|
||||
int iswgraph(wint_t C) {return 0;}
|
||||
int iswlower(wint_t C) {return 0;}
|
||||
int iswprint(wint_t C) {return 0;}
|
||||
int iswpunct(wint_t C) {return 0;}
|
||||
int iswspace(wint_t C) {return 0;}
|
||||
int iswupper(wint_t C) {return 0;}
|
||||
int iswxdigit(wint_t C) {return 0;}
|
||||
|
||||
wint_t towlower(wint_t C) {return 0;}
|
||||
wint_t towupper(wint_t C) {return 0;}
|
||||
size_t wcsftime(wchar_t *strDest, size_t maxsize, const wchar_t *format, const struct tm *timeptr) {return 0;}
|
||||
|
||||
size_t wcslen (const wchar_t * str) {return 0;}
|
||||
wchar_t * wcscpy (wchar_t * dst, const wchar_t * src) {return NULL;}
|
||||
wchar_t * wcsncpy (wchar_t * dst, const wchar_t * src, size_t n) {return NULL;}
|
||||
wchar_t * wcscat (wchar_t * dst, const wchar_t * src) {return NULL;}
|
||||
wchar_t * wcsncat (wchar_t * dst, const wchar_t * src, size_t n) {return NULL;}
|
||||
int wcscmp (const wchar_t * str1, const wchar_t * str2) {return 0;}
|
||||
int wcsncmp (const wchar_t * str1, const wchar_t * str2, size_t n) {return 0;}
|
||||
wchar_t * wcschr (const wchar_t * str, const wchar_t chr) {return NULL;}
|
||||
int wcscoll (const wchar_t *str1, const wchar_t * str2) {return 0;}
|
||||
size_t wcsxfrm (wchar_t * str1, const wchar_t * str2, size_t n) {return 0;}
|
||||
wchar_t * wcsrchr (const wchar_t * str, wchar_t chr) {return NULL;}
|
||||
wchar_t * wcspbrk (const wchar_t * str, const wchar_t * set) {return NULL;}
|
||||
size_t wcsspn (const wchar_t * str, const wchar_t * set) {return 0;}
|
||||
size_t wcscspn (const wchar_t * str, const wchar_t * set) {return 0;}
|
||||
wchar_t * wcsstr (const wchar_t * str, const wchar_t * pat) {return NULL;}
|
||||
wchar_t * wcstok (wchar_t * str, const wchar_t * set, wchar_t ** a) {return NULL;}
|
||||
|
||||
unsigned long wcstoul (const wchar_t * a, wchar_t ** b, int c) {return 0;}
|
||||
double wcstod (const wchar_t * a, wchar_t ** b) {return 0.0;}
|
||||
|
||||
long wcstol (const wchar_t * str, wchar_t ** end, int base) {return 0;}
|
||||
char * setlocale (int category, const char *locale) {return NULL;}
|
@ -167,6 +167,9 @@ void wxTopLevelWindowPalm::DoShowWindow(int nShowCmd)
|
||||
|
||||
bool wxTopLevelWindowPalm::Show(bool show)
|
||||
{
|
||||
if (true != show) {
|
||||
return true;
|
||||
}
|
||||
FrmDrawForm((FormType *)FrameForm);
|
||||
|
||||
wxPaintEvent event(m_windowId);
|
||||
|
@ -122,10 +122,12 @@ bool wxGetEnv(const wxString& var, wxString *value)
|
||||
return false;
|
||||
}
|
||||
|
||||
#if ! WXWIN_COMPATIBILITY_2_8
|
||||
bool wxSetEnv(const wxString& var, const wxChar *value)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
#endif // ! WXWIN_COMPATIBILITY_2_8
|
||||
|
||||
bool wxUnsetEnv(const wxString& var)
|
||||
{
|
||||
|
@ -76,6 +76,7 @@
|
||||
#include "wx/notebook.h"
|
||||
#include "wx/listctrl.h"
|
||||
|
||||
#ifndef __WXUNIVERSAL__
|
||||
#include <Window.h>
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
@ -247,7 +248,7 @@ bool wxGetKeyState(wxKeyCode key)
|
||||
|
||||
void wxWindowPalm::Init()
|
||||
{
|
||||
m_handle = 0;
|
||||
m_hWnd = 0;
|
||||
}
|
||||
|
||||
// Destructor
|
||||
@ -445,7 +446,7 @@ void wxWindowPalm::Thaw()
|
||||
|
||||
void wxWindowPalm::Refresh(bool eraseBack, const wxRect *rect)
|
||||
{
|
||||
WinHandle handle = (WinHandle)GetWinHandle();
|
||||
WinHandle handle = (WinHandle)GetHWND();
|
||||
if(handle)
|
||||
{
|
||||
if(rect)
|
||||
@ -754,5 +755,5 @@ bool wxWindowPalm::UnregisterHotKey(int hotkeyId)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
#endif // # __WXUNIVERSAL__
|
||||
#endif // wxUSE_HOTKEY
|
||||
|
Loading…
Reference in New Issue
Block a user