Remove wxEmulator
The devices it was intended for are no longer used.
|
|
@ -1,7 +0,0 @@
|
||||||
|
|
||||||
all:
|
|
||||||
cd src; $(MAKE)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
cd src; $(MAKE) clean
|
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 126 KiB |
|
Before Width: | Height: | Size: 69 KiB |
|
|
@ -1,95 +0,0 @@
|
||||||
wxWidgets PDA/Embedded System Emulator
|
|
||||||
======================================
|
|
||||||
|
|
||||||
This is a simple display emulator for embedded
|
|
||||||
applications (wxWidgets or other) that use
|
|
||||||
an X server. The Familiar Linux distribution
|
|
||||||
is one such environment, using Tiny-X.
|
|
||||||
|
|
||||||
wxEmulator uses Xnest, which is the XFree86
|
|
||||||
X server compiled to show a virtual X desktop
|
|
||||||
in a window. wxEmulator hijacks the Xnest
|
|
||||||
window by reparenting its window, and shows
|
|
||||||
this window with appropriate PDA-style decorations
|
|
||||||
surrounding it.
|
|
||||||
|
|
||||||
No real emulation is done, apart from the work
|
|
||||||
that Xnest does. You compile your apps on your
|
|
||||||
host as usual and test them out with the emulator
|
|
||||||
to get an idea of the constraints of the embedded
|
|
||||||
system display. Then compile the apps for your
|
|
||||||
target system with a suitable cross-compiler,
|
|
||||||
or if you have the luxury of lots of space on
|
|
||||||
your target device, compile natively on the
|
|
||||||
target.
|
|
||||||
|
|
||||||
It is intended to create a tarball of the
|
|
||||||
emulator, wxX11 and maybe some other useful
|
|
||||||
components such as a simple window manager so that
|
|
||||||
people can quickly start developing embedded
|
|
||||||
GUI applications without the need for actual
|
|
||||||
target hardware.
|
|
||||||
|
|
||||||
Running wxEmulator
|
|
||||||
==================
|
|
||||||
|
|
||||||
Make sure Xnest is in your PATH. You can download
|
|
||||||
a binary from the XFree86 ftp server or a mirror,
|
|
||||||
or you can compile Xnest from source -- but this
|
|
||||||
downloading XFree86 source in its entirety and
|
|
||||||
compiling it. Say goodbye to half a gig of disk
|
|
||||||
space if you take this option.
|
|
||||||
|
|
||||||
Then run wxEmulator:
|
|
||||||
|
|
||||||
% emulator &
|
|
||||||
|
|
||||||
or
|
|
||||||
|
|
||||||
% emulator mydevice.wxe &
|
|
||||||
|
|
||||||
to specify a configuration file. Run emulator --help
|
|
||||||
to show what options are available, such as --use-display
|
|
||||||
for specifying a display other than :100.
|
|
||||||
|
|
||||||
After a brief flicker in which wxEmulator steals
|
|
||||||
Xnest's window, you should see an emulated iPAQ with
|
|
||||||
a checked screen that indicates raw X with nothing else
|
|
||||||
running.
|
|
||||||
|
|
||||||
Running any X applications with the Xnest display
|
|
||||||
number (currently 100) will show those applications
|
|
||||||
in the emulator window instead of the normal desktop.
|
|
||||||
|
|
||||||
For example:
|
|
||||||
|
|
||||||
% xeyes -display :100 &
|
|
||||||
|
|
||||||
Before running any other programs, run a window
|
|
||||||
manager such as twm:
|
|
||||||
|
|
||||||
% twm -display :100 &
|
|
||||||
|
|
||||||
If the X program or WM you want to run doesn't support the
|
|
||||||
-display argument, try exporting the DISPLAY variable
|
|
||||||
before running it. E.g.:
|
|
||||||
|
|
||||||
% export DISPLAY=:100
|
|
||||||
% xterm &
|
|
||||||
|
|
||||||
For details on the configuration file format, please
|
|
||||||
see default.wxe. Eventually it will support
|
|
||||||
device buttons.
|
|
||||||
|
|
||||||
Compiling wxEmulator
|
|
||||||
====================
|
|
||||||
|
|
||||||
You need to use wxX11 -- no other port is supported.
|
|
||||||
Configure and make wxX11 in the usual way (see docs/x11/install.txt
|
|
||||||
at the wxWidgets top level), then compile wxEmulator
|
|
||||||
using the makefile that configure created.
|
|
||||||
|
|
||||||
Have fun!
|
|
||||||
|
|
||||||
Julian Smart, March 2002
|
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
|
@ -1,161 +0,0 @@
|
||||||
# =========================================================================
|
|
||||||
# This makefile was generated by
|
|
||||||
# Bakefile 0.2.13 (http://www.bakefile.org)
|
|
||||||
# Do not modify, all changes will be overwritten!
|
|
||||||
# =========================================================================
|
|
||||||
|
|
||||||
|
|
||||||
@MAKE_SET@
|
|
||||||
|
|
||||||
prefix = @prefix@
|
|
||||||
exec_prefix = @exec_prefix@
|
|
||||||
datarootdir = @datarootdir@
|
|
||||||
INSTALL = @INSTALL@
|
|
||||||
EXEEXT = @EXEEXT@
|
|
||||||
WINDRES = @WINDRES@
|
|
||||||
NM = @NM@
|
|
||||||
BK_DEPS = @BK_DEPS@
|
|
||||||
srcdir = @srcdir@
|
|
||||||
top_srcdir = @top_srcdir@
|
|
||||||
LIBS = @LIBS@
|
|
||||||
LDFLAGS_GUI = @LDFLAGS_GUI@
|
|
||||||
CXX = @CXX@
|
|
||||||
CXXFLAGS = @CXXFLAGS@
|
|
||||||
CPPFLAGS = @CPPFLAGS@
|
|
||||||
LDFLAGS = @LDFLAGS@
|
|
||||||
USE_DPI_AWARE_MANIFEST = @USE_DPI_AWARE_MANIFEST@
|
|
||||||
WX_LIB_FLAVOUR = @WX_LIB_FLAVOUR@
|
|
||||||
TOOLKIT = @TOOLKIT@
|
|
||||||
TOOLKIT_LOWERCASE = @TOOLKIT_LOWERCASE@
|
|
||||||
TOOLKIT_VERSION = @TOOLKIT_VERSION@
|
|
||||||
TOOLCHAIN_FULLNAME = @TOOLCHAIN_FULLNAME@
|
|
||||||
EXTRALIBS = @EXTRALIBS@
|
|
||||||
EXTRALIBS_XML = @EXTRALIBS_XML@
|
|
||||||
EXTRALIBS_GUI = @EXTRALIBS_GUI@
|
|
||||||
WX_CPPFLAGS = @WX_CPPFLAGS@
|
|
||||||
WX_CXXFLAGS = @WX_CXXFLAGS@
|
|
||||||
WX_LDFLAGS = @WX_LDFLAGS@
|
|
||||||
HOST_SUFFIX = @HOST_SUFFIX@
|
|
||||||
wx_top_builddir = @wx_top_builddir@
|
|
||||||
|
|
||||||
### Variables: ###
|
|
||||||
|
|
||||||
DESTDIR =
|
|
||||||
WX_RELEASE = 3.3
|
|
||||||
LIBDIRNAME = $(wx_top_builddir)/lib
|
|
||||||
WXEMULATOR_CXXFLAGS = $(WX_CPPFLAGS) -D__WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p) \
|
|
||||||
$(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
|
|
||||||
$(__THREAD_DEFINE_p) -I$(srcdir) $(__DLLFLAG_p) \
|
|
||||||
-I$(srcdir)/../../../samples $(WX_CXXFLAGS) $(CPPFLAGS) $(CXXFLAGS)
|
|
||||||
WXEMULATOR_OBJECTS = \
|
|
||||||
$(__wxemulator___win32rc) \
|
|
||||||
wxemulator_emulator.o
|
|
||||||
|
|
||||||
### Conditionally set variables: ###
|
|
||||||
|
|
||||||
@COND_DEPS_TRACKING_0@CXXC = $(CXX)
|
|
||||||
@COND_DEPS_TRACKING_1@CXXC = $(BK_DEPS) $(CXX)
|
|
||||||
@COND_USE_GUI_0@PORTNAME = base
|
|
||||||
@COND_USE_GUI_1@PORTNAME = $(TOOLKIT_LOWERCASE)$(TOOLKIT_VERSION)
|
|
||||||
@COND_TOOLKIT_MAC@WXBASEPORT = _carbon
|
|
||||||
@COND_BUILD_debug@WXDEBUGFLAG = d
|
|
||||||
@COND_WXUNIV_1@WXUNIVNAME = univ
|
|
||||||
@COND_MONOLITHIC_0@EXTRALIBS_FOR_BASE = $(EXTRALIBS)
|
|
||||||
@COND_MONOLITHIC_1@EXTRALIBS_FOR_BASE = $(EXTRALIBS) \
|
|
||||||
@COND_MONOLITHIC_1@ $(EXTRALIBS_XML) $(EXTRALIBS_GUI)
|
|
||||||
@COND_MONOLITHIC_0@EXTRALIBS_FOR_GUI = $(EXTRALIBS_GUI)
|
|
||||||
@COND_MONOLITHIC_1@EXTRALIBS_FOR_GUI =
|
|
||||||
@COND_WXUNIV_1@__WXUNIV_DEFINE_p = -D__WXUNIVERSAL__
|
|
||||||
@COND_WXUNIV_1@__WXUNIV_DEFINE_p_1 = --define __WXUNIVERSAL__
|
|
||||||
@COND_DEBUG_FLAG_0@__DEBUG_DEFINE_p = -DwxDEBUG_LEVEL=0
|
|
||||||
@COND_DEBUG_FLAG_0@__DEBUG_DEFINE_p_1 = --define wxDEBUG_LEVEL=0
|
|
||||||
@COND_USE_EXCEPTIONS_0@__EXCEPTIONS_DEFINE_p = -DwxNO_EXCEPTIONS
|
|
||||||
@COND_USE_EXCEPTIONS_0@__EXCEPTIONS_DEFINE_p_1 = --define wxNO_EXCEPTIONS
|
|
||||||
@COND_USE_RTTI_0@__RTTI_DEFINE_p = -DwxNO_RTTI
|
|
||||||
@COND_USE_RTTI_0@__RTTI_DEFINE_p_1 = --define wxNO_RTTI
|
|
||||||
@COND_USE_THREADS_0@__THREAD_DEFINE_p = -DwxNO_THREADS
|
|
||||||
@COND_USE_THREADS_0@__THREAD_DEFINE_p_1 = --define wxNO_THREADS
|
|
||||||
@COND_SHARED_1@__DLLFLAG_p = -DWXUSINGDLL
|
|
||||||
@COND_SHARED_1@__DLLFLAG_p_1 = --define WXUSINGDLL
|
|
||||||
@COND_PLATFORM_WIN32_1@__WIN32_DPI_MANIFEST_p = \
|
|
||||||
@COND_PLATFORM_WIN32_1@ --define \
|
|
||||||
@COND_PLATFORM_WIN32_1@ wxUSE_DPI_AWARE_MANIFEST=$(USE_DPI_AWARE_MANIFEST)
|
|
||||||
COND_PLATFORM_OS2_1___wxemulator___os2_emxbindcmd = $(NM) wxemulator$(EXEEXT) \
|
|
||||||
| if grep -q pmwin.763 ; then emxbind -ep wxemulator$(EXEEXT) ; fi
|
|
||||||
@COND_PLATFORM_OS2_1@__wxemulator___os2_emxbindcmd = $(COND_PLATFORM_OS2_1___wxemulator___os2_emxbindcmd)
|
|
||||||
@COND_TOOLKIT_MSW@__RCDEFDIR_p = --include-dir \
|
|
||||||
@COND_TOOLKIT_MSW@ $(LIBDIRNAME)/wx/include/$(TOOLCHAIN_FULLNAME)
|
|
||||||
@COND_PLATFORM_WIN32_1@__wxemulator___win32rc = wxemulator_sample_rc.o
|
|
||||||
COND_MONOLITHIC_0___WXLIB_CORE_p = \
|
|
||||||
-lwx_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core-$(WX_RELEASE)$(HOST_SUFFIX)
|
|
||||||
@COND_MONOLITHIC_0@__WXLIB_CORE_p = $(COND_MONOLITHIC_0___WXLIB_CORE_p)
|
|
||||||
COND_MONOLITHIC_0___WXLIB_BASE_p = \
|
|
||||||
-lwx_base$(WXBASEPORT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
|
|
||||||
@COND_MONOLITHIC_0@__WXLIB_BASE_p = $(COND_MONOLITHIC_0___WXLIB_BASE_p)
|
|
||||||
COND_MONOLITHIC_1___WXLIB_MONO_p = \
|
|
||||||
-lwx_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
|
|
||||||
@COND_MONOLITHIC_1@__WXLIB_MONO_p = $(COND_MONOLITHIC_1___WXLIB_MONO_p)
|
|
||||||
@COND_MONOLITHIC_1_USE_STC_1@__LIB_SCINTILLA_IF_MONO_p \
|
|
||||||
@COND_MONOLITHIC_1_USE_STC_1@ = \
|
|
||||||
@COND_MONOLITHIC_1_USE_STC_1@ -lwxscintilla$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
|
|
||||||
@COND_USE_GUI_1_wxUSE_LIBTIFF_builtin@__LIB_TIFF_p \
|
|
||||||
@COND_USE_GUI_1_wxUSE_LIBTIFF_builtin@ = \
|
|
||||||
@COND_USE_GUI_1_wxUSE_LIBTIFF_builtin@ -lwxtiff$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
|
|
||||||
@COND_USE_GUI_1_wxUSE_LIBJPEG_builtin@__LIB_JPEG_p \
|
|
||||||
@COND_USE_GUI_1_wxUSE_LIBJPEG_builtin@ = \
|
|
||||||
@COND_USE_GUI_1_wxUSE_LIBJPEG_builtin@ -lwxjpeg$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
|
|
||||||
@COND_USE_GUI_1_wxUSE_LIBPNG_builtin@__LIB_PNG_p \
|
|
||||||
@COND_USE_GUI_1_wxUSE_LIBPNG_builtin@ = \
|
|
||||||
@COND_USE_GUI_1_wxUSE_LIBPNG_builtin@ -lwxpng$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
|
|
||||||
@COND_wxUSE_ZLIB_builtin@__LIB_ZLIB_p = \
|
|
||||||
@COND_wxUSE_ZLIB_builtin@ -lwxzlib$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
|
|
||||||
@COND_wxUSE_REGEX_builtin@__LIB_REGEX_p = \
|
|
||||||
@COND_wxUSE_REGEX_builtin@ -lwxregexu$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
|
|
||||||
@COND_wxUSE_EXPAT_builtin@__LIB_EXPAT_p = \
|
|
||||||
@COND_wxUSE_EXPAT_builtin@ -lwxexpat$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
|
|
||||||
|
|
||||||
### Targets: ###
|
|
||||||
|
|
||||||
all: wxemulator$(EXEEXT) data
|
|
||||||
|
|
||||||
install:
|
|
||||||
|
|
||||||
uninstall:
|
|
||||||
|
|
||||||
install-strip: install
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -rf ./.deps ./.pch
|
|
||||||
rm -f ./*.o
|
|
||||||
rm -f wxemulator$(EXEEXT)
|
|
||||||
|
|
||||||
distclean: clean
|
|
||||||
rm -f config.cache config.log config.status bk-deps bk-make-pch Makefile
|
|
||||||
|
|
||||||
wxemulator$(EXEEXT): $(WXEMULATOR_OBJECTS) $(__wxemulator___win32rc)
|
|
||||||
$(CXX) -o $@ $(WXEMULATOR_OBJECTS) -L$(LIBDIRNAME) $(LDFLAGS_GUI) $(LDFLAGS) $(WX_LDFLAGS) $(__WXLIB_CORE_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) $(EXTRALIBS_FOR_GUI) $(__LIB_ZLIB_p) $(__LIB_REGEX_p) $(__LIB_EXPAT_p) $(EXTRALIBS_FOR_BASE) $(LIBS)
|
|
||||||
$(__wxemulator___os2_emxbindcmd)
|
|
||||||
|
|
||||||
data:
|
|
||||||
@mkdir -p .
|
|
||||||
@for f in default.wxe ipaq.wxe bluegradient.jpg ipaq01.jpg; do \
|
|
||||||
if test ! -f ./$$f -a ! -d ./$$f ; \
|
|
||||||
then x=yep ; \
|
|
||||||
else x=`find $(srcdir)/$$f -newer ./$$f -print` ; \
|
|
||||||
fi; \
|
|
||||||
case "$$x" in ?*) \
|
|
||||||
cp -pRf $(srcdir)/$$f . ;; \
|
|
||||||
esac; \
|
|
||||||
done
|
|
||||||
|
|
||||||
wxemulator_sample_rc.o: $(srcdir)/../../../samples/sample.rc
|
|
||||||
$(WINDRES) -i$< -o$@ --define __WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p_1) $(__DEBUG_DEFINE_p_1) $(__EXCEPTIONS_DEFINE_p_1) $(__RTTI_DEFINE_p_1) $(__THREAD_DEFINE_p_1) --include-dir $(srcdir) $(__DLLFLAG_p_1) $(__WIN32_DPI_MANIFEST_p) --include-dir $(srcdir)/../../../samples $(__RCDEFDIR_p) --include-dir $(top_srcdir)/include
|
|
||||||
|
|
||||||
wxemulator_emulator.o: $(srcdir)/emulator.cpp
|
|
||||||
$(CXXC) -c -o $@ $(WXEMULATOR_CXXFLAGS) $(srcdir)/emulator.cpp
|
|
||||||
|
|
||||||
|
|
||||||
# Include dependency info, if present:
|
|
||||||
@IF_GNU_MAKE@-include ./.deps/*.d
|
|
||||||
|
|
||||||
.PHONY: all install uninstall clean distclean data
|
|
||||||
|
Before Width: | Height: | Size: 2.4 KiB |
|
|
@ -1,33 +0,0 @@
|
||||||
# Default emulator config file
|
|
||||||
|
|
||||||
[General]
|
|
||||||
|
|
||||||
# The title of the emulator
|
|
||||||
title = "Default Emulator"
|
|
||||||
|
|
||||||
# An optional description
|
|
||||||
description = "Basic emulator"
|
|
||||||
|
|
||||||
# The top-left of the virtual screen relative
|
|
||||||
# to the background bitmap
|
|
||||||
screenX = 10
|
|
||||||
screenY = 10
|
|
||||||
|
|
||||||
# The size of the virtual screen
|
|
||||||
screenWidth = 240
|
|
||||||
screenHeight = 320
|
|
||||||
|
|
||||||
# The size of the overall device -
|
|
||||||
# only necessary if not specifying a background
|
|
||||||
# bitmap
|
|
||||||
deviceWidth = 260
|
|
||||||
deviceHeight = 340
|
|
||||||
|
|
||||||
# The main bitmap representing the device.
|
|
||||||
# You can use PNG, JPG, TIFF, BMP, XPM, GIF
|
|
||||||
backgroundBitmap = "bluegradient.jpg"
|
|
||||||
|
|
||||||
# Hex string for RGB background colour. You can
|
|
||||||
# also use the name 'backgroundColor'
|
|
||||||
backgroundColour = "008080"
|
|
||||||
|
|
||||||
|
|
@ -1,24 +0,0 @@
|
||||||
<?xml version="1.0" ?>
|
|
||||||
|
|
||||||
<makefile>
|
|
||||||
|
|
||||||
<include file="../../../build/bakefiles/common_samples.bkl"/>
|
|
||||||
|
|
||||||
<exe id="wxemulator" template="wx_util" template_append="wx_append">
|
|
||||||
<sources>
|
|
||||||
emulator.cpp
|
|
||||||
</sources>
|
|
||||||
<wx-lib>core</wx-lib>
|
|
||||||
<wx-lib>base</wx-lib>
|
|
||||||
</exe>
|
|
||||||
|
|
||||||
<wx-data id="data">
|
|
||||||
<files>
|
|
||||||
default.wxe
|
|
||||||
ipaq.wxe
|
|
||||||
bluegradient.jpg
|
|
||||||
ipaq01.jpg
|
|
||||||
</files>
|
|
||||||
</wx-data>
|
|
||||||
|
|
||||||
</makefile>
|
|
||||||
|
Before Width: | Height: | Size: 630 B |
|
|
@ -1,604 +0,0 @@
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Name: emulator.cpp
|
|
||||||
// Purpose: Emulator wxWidgets sample
|
|
||||||
// Author: Julian Smart
|
|
||||||
// Modified by:
|
|
||||||
// Created: 04/01/98
|
|
||||||
// Copyright: (c) Julian Smart
|
|
||||||
// Licence: wxWindows licence
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
// ============================================================================
|
|
||||||
// declarations
|
|
||||||
// ============================================================================
|
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
// headers
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
// For compilers that support precompilation, includes "wx/wx.h".
|
|
||||||
#include "wx/wxprec.h"
|
|
||||||
|
|
||||||
|
|
||||||
// for all others, include the necessary headers (this file is usually all you
|
|
||||||
// need because it includes almost all "standard" wxWidgets headers)
|
|
||||||
#ifndef WX_PRECOMP
|
|
||||||
#include "wx/wx.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "wx/confbase.h"
|
|
||||||
#include "wx/fileconf.h"
|
|
||||||
#include "wx/cmdline.h"
|
|
||||||
#include "wx/image.h"
|
|
||||||
#include "wx/file.h"
|
|
||||||
#include "wx/filename.h"
|
|
||||||
|
|
||||||
#ifdef __WXX11__
|
|
||||||
#include "wx/x11/reparent.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "emulator.h"
|
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
// resources
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
// the application icon (under Windows it is in resources)
|
|
||||||
#ifndef wxHAS_IMAGES_IN_RESOURCES
|
|
||||||
#include "emulator.xpm"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
// event tables and other macros for wxWidgets
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
// the event tables connect the wxWidgets events with the functions (event
|
|
||||||
// handlers) which process them. It can be also done at run-time, but for the
|
|
||||||
// simple menu events like this the static method is much simpler.
|
|
||||||
wxBEGIN_EVENT_TABLE(wxEmulatorFrame, wxFrame)
|
|
||||||
EVT_MENU(Emulator_Quit, wxEmulatorFrame::OnQuit)
|
|
||||||
EVT_MENU(Emulator_About, wxEmulatorFrame::OnAbout)
|
|
||||||
EVT_CLOSE(wxEmulatorFrame::OnCloseWindow)
|
|
||||||
wxEND_EVENT_TABLE()
|
|
||||||
|
|
||||||
// Create a new application object: this macro will allow wxWidgets to create
|
|
||||||
// the application object during program execution (it's better than using a
|
|
||||||
// static object for many reasons) and also declares the accessor function
|
|
||||||
// wxGetApp() which will return the reference of the right type (i.e. wxEmulatorApp and
|
|
||||||
// not wxApp)
|
|
||||||
wxIMPLEMENT_APP(wxEmulatorApp);
|
|
||||||
|
|
||||||
static const wxCmdLineEntryDesc sg_cmdLineDesc[] =
|
|
||||||
{
|
|
||||||
{ wxCMD_LINE_OPTION, "u", "use-display", "display number to use (default 100)" },
|
|
||||||
|
|
||||||
{ wxCMD_LINE_SWITCH, "h", "help", "displays help on the command line parameters" },
|
|
||||||
{ wxCMD_LINE_SWITCH, "v", "version", "print version" },
|
|
||||||
|
|
||||||
{ wxCMD_LINE_PARAM, nullptr, nullptr, "config file 1", wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL },
|
|
||||||
|
|
||||||
wxCMD_LINE_DESC_END
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// ============================================================================
|
|
||||||
// implementation
|
|
||||||
// ============================================================================
|
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
// the application class
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
wxEmulatorApp::wxEmulatorApp()
|
|
||||||
{
|
|
||||||
m_xnestWindow = nullptr;
|
|
||||||
m_containerWindow = nullptr;
|
|
||||||
m_displayNumber = wxT("100");
|
|
||||||
m_xnestPID = 0;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// 'Main program' equivalent: the program execution "starts" here
|
|
||||||
bool wxEmulatorApp::OnInit()
|
|
||||||
{
|
|
||||||
#if wxUSE_LOG
|
|
||||||
wxLog::DisableTimestamp();
|
|
||||||
#endif // wxUSE_LOG
|
|
||||||
wxInitAllImageHandlers();
|
|
||||||
|
|
||||||
wxString currentDir = wxGetCwd();
|
|
||||||
|
|
||||||
// Use argv to get current app directory
|
|
||||||
m_appDir = wxFindAppPath(argv[0], currentDir, wxT("WXEMUDIR"));
|
|
||||||
|
|
||||||
// If the development version, go up a directory.
|
|
||||||
#ifdef __WXMSW__
|
|
||||||
if ((m_appDir.Right(5).CmpNoCase(wxT("DEBUG")) == 0) ||
|
|
||||||
(m_appDir.Right(11).CmpNoCase(wxT("DEBUGSTABLE")) == 0) ||
|
|
||||||
(m_appDir.Right(7).CmpNoCase(wxT("RELEASE")) == 0) ||
|
|
||||||
(m_appDir.Right(13).CmpNoCase(wxT("RELEASESTABLE")) == 0)
|
|
||||||
)
|
|
||||||
m_appDir = wxPathOnly(m_appDir);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Parse the command-line parameters and options
|
|
||||||
wxCmdLineParser parser(sg_cmdLineDesc, argc, argv);
|
|
||||||
int res;
|
|
||||||
{
|
|
||||||
wxLogNull log;
|
|
||||||
res = parser.Parse();
|
|
||||||
}
|
|
||||||
if (res == -1 || res > 0 || parser.Found(wxT("h")))
|
|
||||||
{
|
|
||||||
#ifdef __X__
|
|
||||||
wxLog::SetActiveTarget(new wxLogStderr);
|
|
||||||
#endif
|
|
||||||
parser.Usage();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (parser.Found(wxT("v")))
|
|
||||||
{
|
|
||||||
#ifdef __X__
|
|
||||||
wxLog::SetActiveTarget(new wxLogStderr);
|
|
||||||
#endif
|
|
||||||
wxString msg;
|
|
||||||
msg.Printf(wxT("wxWidgets PDA Emulator (c) Julian Smart, 2002 Version %.2f, %s"), wxEMULATOR_VERSION, __DATE__);
|
|
||||||
wxLogMessage(msg);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (parser.Found(wxT("u"), & m_displayNumber))
|
|
||||||
{
|
|
||||||
// Should only be number, so strip out anything before
|
|
||||||
// and including a : character
|
|
||||||
if (m_displayNumber.Find(wxT(':')) != -1)
|
|
||||||
{
|
|
||||||
m_displayNumber = m_displayNumber.AfterFirst(wxT(':'));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (parser.GetParamCount() == 0)
|
|
||||||
{
|
|
||||||
m_emulatorInfo.m_emulatorFilename = wxT("default.wxe");
|
|
||||||
}
|
|
||||||
else if (parser.GetParamCount() > 0)
|
|
||||||
{
|
|
||||||
m_emulatorInfo.m_emulatorFilename = parser.GetParam(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Load the emulation info
|
|
||||||
if (!LoadEmulator(m_appDir))
|
|
||||||
{
|
|
||||||
//wxMessageBox(wxT("Sorry, could not load this emulator. Please check bitmaps are valid."));
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// create the main application window
|
|
||||||
wxEmulatorFrame *frame = new wxEmulatorFrame(wxT("wxEmulator"),
|
|
||||||
wxPoint(50, 50), wxSize(450, 340));
|
|
||||||
|
|
||||||
#if wxUSE_STATUSBAR
|
|
||||||
frame->SetStatusText(m_emulatorInfo.m_emulatorTitle, 0);
|
|
||||||
|
|
||||||
wxString sizeStr;
|
|
||||||
sizeStr.Printf(wxT("Screen: %dx%d"), (int) m_emulatorInfo.m_emulatorScreenSize.x,
|
|
||||||
(int) m_emulatorInfo.m_emulatorScreenSize.y);
|
|
||||||
frame->SetStatusText(sizeStr, 1);
|
|
||||||
#endif // wxUSE_STATUSBAR
|
|
||||||
|
|
||||||
m_containerWindow = new wxEmulatorContainer(frame, wxID_ANY);
|
|
||||||
|
|
||||||
frame->SetClientSize(m_emulatorInfo.m_emulatorDeviceSize.x,
|
|
||||||
m_emulatorInfo.m_emulatorDeviceSize.y);
|
|
||||||
|
|
||||||
// and show it (the frames, unlike simple controls, are not shown when
|
|
||||||
// created initially)
|
|
||||||
frame->Show(true);
|
|
||||||
|
|
||||||
#ifdef __WXX11__
|
|
||||||
m_xnestWindow = new wxAdoptedWindow;
|
|
||||||
|
|
||||||
wxString cmd;
|
|
||||||
cmd.Printf(wxT("Xnest :%s -geometry %dx%d"),
|
|
||||||
m_displayNumber.c_str(),
|
|
||||||
(int) m_emulatorInfo.m_emulatorScreenSize.x,
|
|
||||||
(int) m_emulatorInfo.m_emulatorScreenSize.y);
|
|
||||||
|
|
||||||
// Asynchronously executes Xnest
|
|
||||||
m_xnestPID = wxExecute(cmd);
|
|
||||||
if (0 == m_xnestPID)
|
|
||||||
{
|
|
||||||
frame->Destroy();
|
|
||||||
wxMessageBox(wxT("Sorry, could not run Xnest. Please check your PATH."));
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
wxReparenter reparenter;
|
|
||||||
if (!reparenter.WaitAndReparent(m_containerWindow, m_xnestWindow, wxT("Xnest")))
|
|
||||||
{
|
|
||||||
wxMessageBox(wxT("Sorry, could not reparent Xnest.."));
|
|
||||||
frame->Destroy();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
m_containerWindow->DoResize();
|
|
||||||
|
|
||||||
// success: wxApp::OnRun() will be called which will enter the main message
|
|
||||||
// loop and the application will run. If we returned false here, the
|
|
||||||
// application would exit immediately.
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Prepend the current program directory to the name
|
|
||||||
wxString wxEmulatorApp::GetFullAppPath(const wxString& filename) const
|
|
||||||
{
|
|
||||||
wxString path(m_appDir);
|
|
||||||
if (path.Last() != '\\' && path.Last() != '/' && filename[0] != '\\' && filename[0] != '/')
|
|
||||||
#ifdef __X__
|
|
||||||
path += '/';
|
|
||||||
#else
|
|
||||||
path += '\\';
|
|
||||||
#endif
|
|
||||||
path += filename;
|
|
||||||
|
|
||||||
return path;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Load the specified emulator.
|
|
||||||
// For now, hard-wired. TODO: make this configurable
|
|
||||||
bool wxEmulatorApp::LoadEmulator(const wxString& appDir)
|
|
||||||
{
|
|
||||||
// Load config file and bitmaps
|
|
||||||
return m_emulatorInfo.Load(appDir);
|
|
||||||
}
|
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
// main frame
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
// frame constructor
|
|
||||||
wxEmulatorFrame::wxEmulatorFrame(const wxString& title,
|
|
||||||
const wxPoint& pos, const wxSize& size)
|
|
||||||
: wxFrame(nullptr, wxID_ANY, title, pos, size)
|
|
||||||
{
|
|
||||||
// set the frame icon
|
|
||||||
SetIcon(wxICON(emulator));
|
|
||||||
|
|
||||||
#if wxUSE_MENUS
|
|
||||||
// create a menu bar
|
|
||||||
wxMenu *menuFile = new wxMenu;
|
|
||||||
|
|
||||||
// the "About" item should be in the help menu
|
|
||||||
wxMenu *helpMenu = new wxMenu;
|
|
||||||
helpMenu->Append(Emulator_About, wxT("&About\tF1"), wxT("Show about dialog"));
|
|
||||||
|
|
||||||
menuFile->Append(Emulator_Quit, wxT("E&xit\tAlt-X"), wxT("Quit this program"));
|
|
||||||
|
|
||||||
// now append the freshly created menu to the menu bar...
|
|
||||||
wxMenuBar *menuBar = new wxMenuBar();
|
|
||||||
menuBar->Append(menuFile, wxT("&File"));
|
|
||||||
menuBar->Append(helpMenu, wxT("&Help"));
|
|
||||||
|
|
||||||
// ... and attach this menu bar to the frame
|
|
||||||
SetMenuBar(menuBar);
|
|
||||||
#endif // wxUSE_MENUS
|
|
||||||
|
|
||||||
#if wxUSE_STATUSBAR
|
|
||||||
// create a status bar just for fun (by default with 1 pane only)
|
|
||||||
CreateStatusBar(2);
|
|
||||||
#endif // wxUSE_STATUSBAR
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// event handlers
|
|
||||||
|
|
||||||
void wxEmulatorFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
|
|
||||||
{
|
|
||||||
// true is to force the frame to close
|
|
||||||
Close(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
void wxEmulatorFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
|
|
||||||
{
|
|
||||||
wxString msg;
|
|
||||||
msg.Printf( wxT("wxEmulator is an environment for testing embedded X11 apps.\n"));
|
|
||||||
|
|
||||||
wxMessageBox(msg, wxT("About wxEmulator"), wxOK | wxICON_INFORMATION, this);
|
|
||||||
}
|
|
||||||
|
|
||||||
void wxEmulatorFrame::OnCloseWindow(wxCloseEvent& WXUNUSED(event))
|
|
||||||
{
|
|
||||||
#ifdef __WXX11__
|
|
||||||
if (wxGetApp().m_xnestWindow)
|
|
||||||
{
|
|
||||||
wxGetApp().m_xnestWindow->SetHandle((WXWindow) nullptr);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
this->Destroy();
|
|
||||||
if (wxGetApp().m_xnestPID > 0)
|
|
||||||
{
|
|
||||||
wxKill(wxGetApp().m_xnestPID);
|
|
||||||
wxGetApp().m_xnestPID = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
wxIMPLEMENT_CLASS(wxEmulatorContainer, wxWindow);
|
|
||||||
|
|
||||||
wxBEGIN_EVENT_TABLE(wxEmulatorContainer, wxWindow)
|
|
||||||
EVT_SIZE(wxEmulatorContainer::OnSize)
|
|
||||||
EVT_PAINT(wxEmulatorContainer::OnPaint)
|
|
||||||
EVT_ERASE_BACKGROUND(wxEmulatorContainer::OnEraseBackground)
|
|
||||||
wxEND_EVENT_TABLE()
|
|
||||||
|
|
||||||
wxEmulatorContainer::wxEmulatorContainer(wxWindow* parent, wxWindowID id):
|
|
||||||
wxWindow(parent, id, wxDefaultPosition, wxDefaultSize)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void wxEmulatorContainer::OnSize(wxSizeEvent& WXUNUSED(event))
|
|
||||||
{
|
|
||||||
DoResize();
|
|
||||||
}
|
|
||||||
|
|
||||||
void wxEmulatorContainer::DoResize()
|
|
||||||
{
|
|
||||||
wxSize sz = GetClientSize();
|
|
||||||
if (wxGetApp().m_xnestWindow
|
|
||||||
#ifdef __WXX11__
|
|
||||||
&& wxGetApp().m_xnestWindow->X11GetMainWindow()
|
|
||||||
#endif
|
|
||||||
)
|
|
||||||
{
|
|
||||||
int deviceWidth = wxGetApp().m_emulatorInfo.m_emulatorDeviceSize.x;
|
|
||||||
int deviceHeight = wxGetApp().m_emulatorInfo.m_emulatorDeviceSize.y;
|
|
||||||
|
|
||||||
int x = wxMax(0, (int) ((sz.x - deviceWidth)/2.0));
|
|
||||||
int y = wxMax(0, (int) ((sz.y - deviceHeight)/2.0));
|
|
||||||
|
|
||||||
x += wxGetApp().m_emulatorInfo.m_emulatorScreenPosition.x;
|
|
||||||
y += wxGetApp().m_emulatorInfo.m_emulatorScreenPosition.y;
|
|
||||||
|
|
||||||
wxGetApp().m_xnestWindow->Move(x, y);
|
|
||||||
}
|
|
||||||
Refresh();
|
|
||||||
}
|
|
||||||
|
|
||||||
void wxEmulatorContainer::OnPaint(wxPaintEvent& WXUNUSED(event))
|
|
||||||
{
|
|
||||||
wxPaintDC dc(this);
|
|
||||||
|
|
||||||
wxSize sz = GetClientSize();
|
|
||||||
if (wxGetApp().m_emulatorInfo.m_emulatorBackgroundBitmap.IsOk())
|
|
||||||
{
|
|
||||||
int deviceWidth = wxGetApp().m_emulatorInfo.m_emulatorDeviceSize.x;
|
|
||||||
int deviceHeight = wxGetApp().m_emulatorInfo.m_emulatorDeviceSize.y;
|
|
||||||
|
|
||||||
int x = wxMax(0, (int) ((sz.x - deviceWidth)/2.0));
|
|
||||||
int y = wxMax(0, (int) ((sz.y - deviceHeight)/2.0));
|
|
||||||
|
|
||||||
dc.DrawBitmap(wxGetApp().m_emulatorInfo.m_emulatorBackgroundBitmap, x, y);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void wxEmulatorContainer::OnEraseBackground(wxEraseEvent& event)
|
|
||||||
{
|
|
||||||
wxDC* dc wxDUMMY_INITIALIZE(nullptr);
|
|
||||||
|
|
||||||
if (event.GetDC())
|
|
||||||
{
|
|
||||||
dc = event.GetDC();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
dc = new wxClientDC(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
dc->SetBackground(wxBrush(wxGetApp().m_emulatorInfo.m_emulatorBackgroundColour));
|
|
||||||
dc->Clear();
|
|
||||||
|
|
||||||
if (!event.GetDC())
|
|
||||||
delete dc;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Information about the emulator decorations
|
|
||||||
|
|
||||||
void wxEmulatorInfo::Copy(const wxEmulatorInfo& info)
|
|
||||||
{
|
|
||||||
m_emulatorFilename = info.m_emulatorFilename;
|
|
||||||
m_emulatorTitle = info.m_emulatorTitle;
|
|
||||||
m_emulatorDescription = info.m_emulatorDescription;
|
|
||||||
m_emulatorScreenPosition = info.m_emulatorScreenPosition;
|
|
||||||
m_emulatorScreenSize = info.m_emulatorScreenSize;
|
|
||||||
m_emulatorBackgroundBitmap = info.m_emulatorBackgroundBitmap;
|
|
||||||
m_emulatorBackgroundBitmapName = info.m_emulatorBackgroundBitmapName;
|
|
||||||
m_emulatorBackgroundColour = info.m_emulatorBackgroundColour;
|
|
||||||
m_emulatorDeviceSize = info.m_emulatorDeviceSize;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Initialisation
|
|
||||||
void wxEmulatorInfo::Init()
|
|
||||||
{
|
|
||||||
m_emulatorDeviceSize = wxSize(260, 340);
|
|
||||||
m_emulatorScreenSize = wxSize(240, 320);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Loads bitmaps
|
|
||||||
bool wxEmulatorInfo::Load(const wxString& appDir)
|
|
||||||
{
|
|
||||||
// Try to find absolute path
|
|
||||||
wxString absoluteConfigPath = m_emulatorFilename;
|
|
||||||
if ( !::wxIsAbsolutePath(absoluteConfigPath) )
|
|
||||||
{
|
|
||||||
wxString currDir = wxGetCwd();
|
|
||||||
absoluteConfigPath = currDir + wxString(wxFILE_SEP_PATH) + m_emulatorFilename;
|
|
||||||
if ( !wxFile::Exists(absoluteConfigPath) )
|
|
||||||
{
|
|
||||||
absoluteConfigPath = appDir + wxString(wxFILE_SEP_PATH)
|
|
||||||
+ m_emulatorFilename;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( !wxFile::Exists(absoluteConfigPath) )
|
|
||||||
{
|
|
||||||
wxString str;
|
|
||||||
str.Printf( wxT("Could not find config file %s"),
|
|
||||||
absoluteConfigPath.c_str() );
|
|
||||||
|
|
||||||
wxMessageBox(str);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
wxString rootPath = wxPathOnly(absoluteConfigPath);
|
|
||||||
|
|
||||||
{
|
|
||||||
wxFileConfig config(wxT("wxEmulator"), wxT("wxWidgets"),
|
|
||||||
absoluteConfigPath, wxEmptyString, wxCONFIG_USE_LOCAL_FILE);
|
|
||||||
|
|
||||||
config.Read(wxT("/General/title"), & m_emulatorTitle);
|
|
||||||
config.Read(wxT("/General/description"), & m_emulatorDescription);
|
|
||||||
config.Read(wxT("/General/backgroundBitmap"), & m_emulatorBackgroundBitmapName);
|
|
||||||
|
|
||||||
wxString colString;
|
|
||||||
if (config.Read(wxT("/General/backgroundColour"), & colString) ||
|
|
||||||
config.Read(wxT("/General/backgroundColor"), & colString)
|
|
||||||
)
|
|
||||||
{
|
|
||||||
m_emulatorBackgroundColour = wxHexStringToColour(colString);
|
|
||||||
}
|
|
||||||
|
|
||||||
int x = 0, y = 0, w = 0, h = 0, dw = 0, dh = 0;
|
|
||||||
config.Read(wxT("/General/screenX"), & x);
|
|
||||||
config.Read(wxT("/General/screenY"), & y);
|
|
||||||
config.Read(wxT("/General/screenWidth"), & w);
|
|
||||||
config.Read(wxT("/General/screenHeight"), & h);
|
|
||||||
if (config.Read(wxT("/General/deviceWidth"), & dw) && config.Read(wxT("/General/deviceHeight"), & dh))
|
|
||||||
{
|
|
||||||
m_emulatorDeviceSize = wxSize(dw, dh);
|
|
||||||
}
|
|
||||||
|
|
||||||
m_emulatorScreenPosition = wxPoint(x, y);
|
|
||||||
m_emulatorScreenSize = wxSize(w, h);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!m_emulatorBackgroundBitmapName.empty())
|
|
||||||
{
|
|
||||||
wxString absoluteBackgroundBitmapName = rootPath + wxString(wxFILE_SEP_PATH) + m_emulatorBackgroundBitmapName;
|
|
||||||
if ( !wxFile::Exists(absoluteBackgroundBitmapName) )
|
|
||||||
{
|
|
||||||
wxString str;
|
|
||||||
str.Printf( wxT("Could not find bitmap %s"),
|
|
||||||
absoluteBackgroundBitmapName.c_str() );
|
|
||||||
wxMessageBox(str);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
wxBitmapType type = wxDetermineImageType(m_emulatorBackgroundBitmapName);
|
|
||||||
if (type == wxBITMAP_TYPE_INVALID)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
if (!m_emulatorBackgroundBitmap.LoadFile(m_emulatorBackgroundBitmapName, type))
|
|
||||||
{
|
|
||||||
wxString str;
|
|
||||||
str.Printf( wxT("Could not load bitmap file %s"),
|
|
||||||
m_emulatorBackgroundBitmapName.c_str() );
|
|
||||||
wxMessageBox(str);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
m_emulatorDeviceSize = wxSize(m_emulatorBackgroundBitmap.GetWidth(),
|
|
||||||
m_emulatorBackgroundBitmap.GetHeight());
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Returns the image type, or -1, determined from the extension.
|
|
||||||
wxBitmapType wxDetermineImageType(const wxString& filename)
|
|
||||||
{
|
|
||||||
wxString path, name, ext;
|
|
||||||
|
|
||||||
wxFileName::SplitPath(filename, & path, & name, & ext);
|
|
||||||
|
|
||||||
ext.MakeLower();
|
|
||||||
if (ext == wxT("jpg") || ext == wxT("jpeg"))
|
|
||||||
return wxBITMAP_TYPE_JPEG;
|
|
||||||
if (ext == wxT("gif"))
|
|
||||||
return wxBITMAP_TYPE_GIF;
|
|
||||||
if (ext == wxT("bmp"))
|
|
||||||
return wxBITMAP_TYPE_BMP;
|
|
||||||
if (ext == wxT("png"))
|
|
||||||
return wxBITMAP_TYPE_PNG;
|
|
||||||
if (ext == wxT("pcx"))
|
|
||||||
return wxBITMAP_TYPE_PCX;
|
|
||||||
if (ext == wxT("tif") || ext == wxT("tiff"))
|
|
||||||
return wxBITMAP_TYPE_TIFF;
|
|
||||||
|
|
||||||
return wxBITMAP_TYPE_INVALID;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Convert a colour to a 6-digit hex string
|
|
||||||
wxString wxColourToHexString(const wxColour& col)
|
|
||||||
{
|
|
||||||
wxString hex;
|
|
||||||
|
|
||||||
hex += wxDecToHex(col.Red());
|
|
||||||
hex += wxDecToHex(col.Green());
|
|
||||||
hex += wxDecToHex(col.Blue());
|
|
||||||
|
|
||||||
return hex;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Convert 6-digit hex string to a colour
|
|
||||||
wxColour wxHexStringToColour(const wxString& hex)
|
|
||||||
{
|
|
||||||
unsigned char r = (unsigned char)wxHexToDec(hex.Mid(0, 2));
|
|
||||||
unsigned char g = (unsigned char)wxHexToDec(hex.Mid(2, 2));
|
|
||||||
unsigned char b = (unsigned char)wxHexToDec(hex.Mid(4, 2));
|
|
||||||
|
|
||||||
return wxColour(r, g, b);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Find the absolute path where this application has been run from.
|
|
||||||
// argv0 is wxTheApp->argv[0]
|
|
||||||
// cwd is the current working directory (at startup)
|
|
||||||
// appVariableName is the name of a variable containing the directory for this app, e.g.
|
|
||||||
// MYAPPDIR. This is checked first.
|
|
||||||
|
|
||||||
wxString wxFindAppPath(const wxString& argv0, const wxString& cwd, const wxString& appVariableName)
|
|
||||||
{
|
|
||||||
wxString str;
|
|
||||||
|
|
||||||
// Try appVariableName
|
|
||||||
if (!appVariableName.empty())
|
|
||||||
{
|
|
||||||
str = wxGetenv(appVariableName);
|
|
||||||
if (!str.empty())
|
|
||||||
return str;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (wxIsAbsolutePath(argv0))
|
|
||||||
return wxPathOnly(argv0);
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Is it a relative path?
|
|
||||||
wxString currentDir(cwd);
|
|
||||||
if (!wxEndsWithPathSeparator(currentDir))
|
|
||||||
currentDir += wxFILE_SEP_PATH;
|
|
||||||
|
|
||||||
str = currentDir + argv0;
|
|
||||||
if ( wxFile::Exists(str) )
|
|
||||||
return wxPathOnly(str);
|
|
||||||
}
|
|
||||||
|
|
||||||
// OK, it's neither an absolute path nor a relative path.
|
|
||||||
// Search PATH.
|
|
||||||
|
|
||||||
wxPathList pathList;
|
|
||||||
pathList.AddEnvList(wxT("PATH"));
|
|
||||||
str = pathList.FindAbsoluteValidPath(argv0);
|
|
||||||
if (!str.empty())
|
|
||||||
return wxPathOnly(str);
|
|
||||||
|
|
||||||
// Failed
|
|
||||||
return wxEmptyString;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,163 +0,0 @@
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Name: emulator.h
|
|
||||||
// Purpose: wxX11-based PDA emulator classes
|
|
||||||
// Author: Julian Smart
|
|
||||||
// Modified by:
|
|
||||||
// Created: 2002-03-10
|
|
||||||
// Copyright: (c) wxWidgets team
|
|
||||||
// Licence: wxWindows licence
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
#ifndef _WX_EMULATOR_H_
|
|
||||||
#define _WX_EMULATOR_H_
|
|
||||||
|
|
||||||
#define wxEMULATOR_VERSION 0.1
|
|
||||||
|
|
||||||
// Information about the emulator decorations
|
|
||||||
class wxEmulatorInfo: public wxObject
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
|
|
||||||
wxEmulatorInfo() { Init(); }
|
|
||||||
wxEmulatorInfo(const wxEmulatorInfo& info) : wxObject() { Init(); Copy(info); }
|
|
||||||
|
|
||||||
void operator= (const wxEmulatorInfo& info) { Copy(info); }
|
|
||||||
void Copy(const wxEmulatorInfo& info);
|
|
||||||
|
|
||||||
// Initialisation
|
|
||||||
void Init();
|
|
||||||
|
|
||||||
// Loads bitmaps
|
|
||||||
bool Load(const wxString& appDir);
|
|
||||||
|
|
||||||
// Emulator config filename
|
|
||||||
wxString m_emulatorFilename;
|
|
||||||
|
|
||||||
// Emulator title
|
|
||||||
wxString m_emulatorTitle;
|
|
||||||
|
|
||||||
// Emulator description
|
|
||||||
wxString m_emulatorDescription;
|
|
||||||
|
|
||||||
// The offset from the top-left of the main emulator
|
|
||||||
// bitmap and the virtual screen (where Xnest is
|
|
||||||
// positioned)
|
|
||||||
wxPoint m_emulatorScreenPosition;
|
|
||||||
|
|
||||||
// The emulated screen size, e.g. 320x240
|
|
||||||
wxSize m_emulatorScreenSize;
|
|
||||||
|
|
||||||
// The emulated device size. This is ignored
|
|
||||||
// if there is a background bitmap
|
|
||||||
wxSize m_emulatorDeviceSize;
|
|
||||||
|
|
||||||
// The bitmap used for drawing the main emulator
|
|
||||||
// decorations
|
|
||||||
wxBitmap m_emulatorBackgroundBitmap;
|
|
||||||
wxString m_emulatorBackgroundBitmapName;
|
|
||||||
|
|
||||||
// The intended background colour (for filling in
|
|
||||||
// areas of the window not covered by the bitmap)
|
|
||||||
wxColour m_emulatorBackgroundColour;
|
|
||||||
|
|
||||||
// TODO: an array of bitmaps and ids for custom buttons
|
|
||||||
};
|
|
||||||
|
|
||||||
// Emulator app class
|
|
||||||
class wxEmulatorContainer;
|
|
||||||
class wxEmulatorApp : public wxApp
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
wxEmulatorApp();
|
|
||||||
virtual bool OnInit();
|
|
||||||
|
|
||||||
// Load the specified emulator
|
|
||||||
bool LoadEmulator(const wxString& appDir);
|
|
||||||
|
|
||||||
// Get app dir
|
|
||||||
wxString GetAppDir() const { return m_appDir; }
|
|
||||||
|
|
||||||
// Prepend the current app program directory to the name
|
|
||||||
wxString GetFullAppPath(const wxString& filename) const;
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
wxEmulatorInfo m_emulatorInfo;
|
|
||||||
#ifdef __WXX11__
|
|
||||||
wxAdoptedWindow* m_xnestWindow;
|
|
||||||
#else
|
|
||||||
wxWindow* m_xnestWindow;
|
|
||||||
#endif
|
|
||||||
wxEmulatorContainer* m_containerWindow;
|
|
||||||
wxString m_appDir;
|
|
||||||
wxString m_displayNumber;
|
|
||||||
long m_xnestPID;
|
|
||||||
};
|
|
||||||
|
|
||||||
// The container for the Xnest window. The decorations
|
|
||||||
// will be drawn on this window.
|
|
||||||
class wxEmulatorContainer: public wxWindow
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
|
|
||||||
wxEmulatorContainer(wxWindow* parent, wxWindowID id);
|
|
||||||
|
|
||||||
void DoResize();
|
|
||||||
|
|
||||||
void OnSize(wxSizeEvent& event);
|
|
||||||
void OnPaint(wxPaintEvent& event);
|
|
||||||
void OnEraseBackground(wxEraseEvent& event);
|
|
||||||
|
|
||||||
wxDECLARE_CLASS(wxEmulatorContainer);
|
|
||||||
wxDECLARE_EVENT_TABLE();
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
// Frame class
|
|
||||||
class wxEmulatorFrame : public wxFrame
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
// ctor(s)
|
|
||||||
wxEmulatorFrame(const wxString& title, const wxPoint& pos, const wxSize& size);
|
|
||||||
|
|
||||||
// event handlers
|
|
||||||
void OnQuit(wxCommandEvent& event);
|
|
||||||
void OnAbout(wxCommandEvent& event);
|
|
||||||
void OnCloseWindow(wxCloseEvent& event);
|
|
||||||
|
|
||||||
private:
|
|
||||||
// any class wishing to process wxWidgets events must use this macro
|
|
||||||
wxDECLARE_EVENT_TABLE();
|
|
||||||
};
|
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
// constants
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
// IDs for the controls and the menu commands
|
|
||||||
enum
|
|
||||||
{
|
|
||||||
// menu items
|
|
||||||
Emulator_Quit = 1,
|
|
||||||
|
|
||||||
// it is important for the id corresponding to the "About" command to have
|
|
||||||
// this standard value as otherwise it won't be handled properly under Mac
|
|
||||||
// (where it is special and put into the "Apple" menu)
|
|
||||||
Emulator_About = wxID_ABOUT
|
|
||||||
};
|
|
||||||
|
|
||||||
// Returns the image type, or -1, determined from the extension.
|
|
||||||
wxBitmapType wxDetermineImageType(const wxString& filename);
|
|
||||||
|
|
||||||
// Convert a colour to a 6-digit hex string
|
|
||||||
wxString wxColourToHexString(const wxColour& col);
|
|
||||||
|
|
||||||
// Convert 6-digit hex string to a colour
|
|
||||||
wxColour wxHexStringToColour(const wxString& hex);
|
|
||||||
|
|
||||||
// Find the absolute path where this application has been run from.
|
|
||||||
wxString wxFindAppPath(const wxString& argv0, const wxString& cwd, const wxString& appVariableName);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
// _WX_EMULATOR_H_
|
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 3.6 KiB |
|
|
@ -1,3 +0,0 @@
|
||||||
emulator ICON "emulator.ico"
|
|
||||||
#include "wx/msw/wx.rc"
|
|
||||||
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/* XPM */
|
|
||||||
static const char *const emulator_xpm[] = {
|
|
||||||
"32 32 17 1",
|
|
||||||
"( c #000000",
|
|
||||||
". c #000000",
|
|
||||||
"+ c #008484",
|
|
||||||
"@ c #848484",
|
|
||||||
"# c #A5A5A5",
|
|
||||||
"$ c None",
|
|
||||||
"% c #FFFFF7",
|
|
||||||
"& c #FFFFFF",
|
|
||||||
"* c #FFFFFF",
|
|
||||||
"= c #FFFFFF",
|
|
||||||
"- c #FFFFFF",
|
|
||||||
"; c #FFFFFF",
|
|
||||||
"> c #FFFFFF",
|
|
||||||
", c #FFFFFF",
|
|
||||||
"' c #FFFFFF",
|
|
||||||
") c #FFFFFF",
|
|
||||||
"! c #FFFFFF",
|
|
||||||
"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$",
|
|
||||||
"$$$%%%%%%%%%%%%%%%%%%%%%%%&@$$$$",
|
|
||||||
"$$$%######################@.$$$$",
|
|
||||||
"$$$%######################@.$$$$",
|
|
||||||
"$$$%##++++++++++++++++++##@.$$$$",
|
|
||||||
"$$$%##++++++++++++++++++##@.$$.$",
|
|
||||||
"$$$%##++++++++++++++++++##@.$&.#",
|
|
||||||
"$$$%##++++++++++++++++++##@.$&.#",
|
|
||||||
"$$$%##++++++++++++++++++##@.$&.#",
|
|
||||||
"$$$%##++++++++++++++++++##@.$&.#",
|
|
||||||
"$$$%##++++++++++++++++++##@.$&.#",
|
|
||||||
"$$$%##++++++++++++++++++##@.$&.#",
|
|
||||||
"$$$%##++++++++++++++++++##@.$&.#",
|
|
||||||
"$$$%##++++++++++++++++++##@.$&.#",
|
|
||||||
"$$$%##++++++++++++++++++##@.$&.#",
|
|
||||||
"$$$%##++++++++++++++++++##@.$&.#",
|
|
||||||
"$$$%##++++++++++++++++++##@.$&.#",
|
|
||||||
"$$$%##++++++++++++++++++##@.$&.#",
|
|
||||||
"$$$%##++++++++++++++++++##@.$&.#",
|
|
||||||
"$$$%##++++++++++++++++++##@.$&.#",
|
|
||||||
"$$$%##++++++++++++++++++##@.$&.#",
|
|
||||||
"$$$%##++++++++++++++++++##@.$&.#",
|
|
||||||
"$$$%##++++++++++++++++++##@.$&.#",
|
|
||||||
"$$$%##++++++++++++++++++##@.$&.#",
|
|
||||||
"$$$%######################@.$&.#",
|
|
||||||
"$$$%######################@.$&.#",
|
|
||||||
"$$$%##@####@##########@###@.$&.#",
|
|
||||||
"$$$%#@@@##@@@########@@@##@.$&.#",
|
|
||||||
"$$$%##@####@##########@###@.$&.#",
|
|
||||||
"$$$%######################@.$&.#",
|
|
||||||
"$$$&@@@@@@@@@@@@@@@@@@@@@@@.$&.#",
|
|
||||||
"$$$@........................$$$$"};
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
# Default emulator config file
|
|
||||||
|
|
||||||
[General]
|
|
||||||
|
|
||||||
# The title of the emulator
|
|
||||||
title = "iPAQ Emulator"
|
|
||||||
|
|
||||||
# An optional description
|
|
||||||
description = "No description yet"
|
|
||||||
|
|
||||||
# The top-left of the virtual screen relative
|
|
||||||
# to the background bitmap
|
|
||||||
screenX = 56
|
|
||||||
screenY = 69
|
|
||||||
|
|
||||||
# The size of the virtual screen
|
|
||||||
screenWidth = 240
|
|
||||||
screenHeight = 320
|
|
||||||
|
|
||||||
# The size of the overall device -
|
|
||||||
# only necessary if not specifying a background
|
|
||||||
# bitmap
|
|
||||||
# deviceWidth = 260
|
|
||||||
# deviceHeight = 340
|
|
||||||
|
|
||||||
# The main bitmap representing the device.
|
|
||||||
# You can use PNG, JPG, TIFF, BMP, XPM, GIF
|
|
||||||
backgroundBitmap = "ipaq01.jpg"
|
|
||||||
|
|
||||||
# Hex string for background colour. You can
|
|
||||||
# also use the name 'backgroundColor'
|
|
||||||
backgroundColour = "000000"
|
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 20 KiB |
|
|
@ -1,221 +0,0 @@
|
||||||
# =========================================================================
|
|
||||||
# This makefile was generated by
|
|
||||||
# Bakefile 0.2.13 (http://www.bakefile.org)
|
|
||||||
# Do not modify, all changes will be overwritten!
|
|
||||||
# =========================================================================
|
|
||||||
|
|
||||||
include ../../../build/msw/config.gcc
|
|
||||||
|
|
||||||
# -------------------------------------------------------------------------
|
|
||||||
# Do not modify the rest of this file!
|
|
||||||
# -------------------------------------------------------------------------
|
|
||||||
|
|
||||||
### Variables: ###
|
|
||||||
|
|
||||||
CPPDEPS = -MT$@ -MF$@.d -MD -MP
|
|
||||||
WX_RELEASE_NODOT = 33
|
|
||||||
COMPILER_PREFIX = gcc
|
|
||||||
OBJS = \
|
|
||||||
$(COMPILER_PREFIX)$(COMPILER_VERSION)_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)
|
|
||||||
LIBDIRNAME = \
|
|
||||||
.\..\..\..\lib\$(COMPILER_PREFIX)$(COMPILER_VERSION)_$(LIBTYPE_SUFFIX)$(CFG)
|
|
||||||
SETUPHDIR = $(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)
|
|
||||||
WXEMULATOR_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG_2) $(__THREADSFLAG) \
|
|
||||||
-D__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__NDEBUG_DEFINE_p) \
|
|
||||||
$(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) \
|
|
||||||
-I$(SETUPHDIR) -I.\..\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES_p) -W \
|
|
||||||
-Wall -I. $(__DLLFLAG_p) -I.\..\..\..\samples -DNOPCH $(__RTTIFLAG_5) \
|
|
||||||
$(__EXCEPTIONSFLAG_6) -Wno-ctor-dtor-privacy $(CPPFLAGS) $(CXXFLAGS)
|
|
||||||
WXEMULATOR_OBJECTS = \
|
|
||||||
$(OBJS)\wxemulator_sample_rc.o \
|
|
||||||
$(OBJS)\wxemulator_emulator.o
|
|
||||||
|
|
||||||
### Conditionally set variables: ###
|
|
||||||
|
|
||||||
ifeq ($(USE_GUI),0)
|
|
||||||
PORTNAME = base
|
|
||||||
endif
|
|
||||||
ifeq ($(USE_GUI),1)
|
|
||||||
PORTNAME = msw$(TOOLKIT_VERSION)
|
|
||||||
endif
|
|
||||||
ifeq ($(OFFICIAL_BUILD),1)
|
|
||||||
COMPILER_VERSION = ERROR-COMPILER-VERSION-MUST-BE-SET-FOR-OFFICIAL-BUILD
|
|
||||||
endif
|
|
||||||
ifeq ($(BUILD),debug)
|
|
||||||
WXDEBUGFLAG = d
|
|
||||||
endif
|
|
||||||
ifeq ($(WXUNIV),1)
|
|
||||||
WXUNIVNAME = univ
|
|
||||||
endif
|
|
||||||
ifeq ($(SHARED),1)
|
|
||||||
WXDLLFLAG = dll
|
|
||||||
endif
|
|
||||||
ifeq ($(SHARED),0)
|
|
||||||
LIBTYPE_SUFFIX = lib
|
|
||||||
endif
|
|
||||||
ifeq ($(SHARED),1)
|
|
||||||
LIBTYPE_SUFFIX = dll
|
|
||||||
endif
|
|
||||||
ifeq ($(MONOLITHIC),0)
|
|
||||||
EXTRALIBS_FOR_BASE =
|
|
||||||
endif
|
|
||||||
ifeq ($(MONOLITHIC),1)
|
|
||||||
EXTRALIBS_FOR_BASE =
|
|
||||||
endif
|
|
||||||
ifeq ($(BUILD),debug)
|
|
||||||
__OPTIMIZEFLAG_2 = -O0
|
|
||||||
endif
|
|
||||||
ifeq ($(BUILD),release)
|
|
||||||
__OPTIMIZEFLAG_2 = -O2
|
|
||||||
endif
|
|
||||||
ifeq ($(USE_RTTI),0)
|
|
||||||
__RTTIFLAG_5 = -fno-rtti
|
|
||||||
endif
|
|
||||||
ifeq ($(USE_RTTI),1)
|
|
||||||
__RTTIFLAG_5 =
|
|
||||||
endif
|
|
||||||
ifeq ($(USE_EXCEPTIONS),0)
|
|
||||||
__EXCEPTIONSFLAG_6 = -fno-exceptions
|
|
||||||
endif
|
|
||||||
ifeq ($(USE_EXCEPTIONS),1)
|
|
||||||
__EXCEPTIONSFLAG_6 =
|
|
||||||
endif
|
|
||||||
ifeq ($(WXUNIV),1)
|
|
||||||
__WXUNIV_DEFINE_p = -D__WXUNIVERSAL__
|
|
||||||
endif
|
|
||||||
ifeq ($(WXUNIV),1)
|
|
||||||
__WXUNIV_DEFINE_p_1 = --define __WXUNIVERSAL__
|
|
||||||
endif
|
|
||||||
ifeq ($(DEBUG_FLAG),0)
|
|
||||||
__DEBUG_DEFINE_p = -DwxDEBUG_LEVEL=0
|
|
||||||
endif
|
|
||||||
ifeq ($(DEBUG_FLAG),0)
|
|
||||||
__DEBUG_DEFINE_p_1 = --define wxDEBUG_LEVEL=0
|
|
||||||
endif
|
|
||||||
ifeq ($(BUILD),release)
|
|
||||||
__NDEBUG_DEFINE_p = -DNDEBUG
|
|
||||||
endif
|
|
||||||
ifeq ($(BUILD),release)
|
|
||||||
__NDEBUG_DEFINE_p_1 = --define NDEBUG
|
|
||||||
endif
|
|
||||||
ifeq ($(USE_EXCEPTIONS),0)
|
|
||||||
__EXCEPTIONS_DEFINE_p = -DwxNO_EXCEPTIONS
|
|
||||||
endif
|
|
||||||
ifeq ($(USE_EXCEPTIONS),0)
|
|
||||||
__EXCEPTIONS_DEFINE_p_1 = --define wxNO_EXCEPTIONS
|
|
||||||
endif
|
|
||||||
ifeq ($(USE_RTTI),0)
|
|
||||||
__RTTI_DEFINE_p = -DwxNO_RTTI
|
|
||||||
endif
|
|
||||||
ifeq ($(USE_RTTI),0)
|
|
||||||
__RTTI_DEFINE_p_1 = --define wxNO_RTTI
|
|
||||||
endif
|
|
||||||
ifeq ($(USE_THREADS),0)
|
|
||||||
__THREAD_DEFINE_p = -DwxNO_THREADS
|
|
||||||
endif
|
|
||||||
ifeq ($(USE_THREADS),0)
|
|
||||||
__THREAD_DEFINE_p_1 = --define wxNO_THREADS
|
|
||||||
endif
|
|
||||||
ifeq ($(USE_CAIRO),1)
|
|
||||||
____CAIRO_INCLUDEDIR_FILENAMES_p = -I$(CAIRO_ROOT)\include\cairo
|
|
||||||
endif
|
|
||||||
ifeq ($(USE_CAIRO),1)
|
|
||||||
__CAIRO_INCLUDEDIR_p = --include-dir $(CAIRO_ROOT)/include/cairo
|
|
||||||
endif
|
|
||||||
ifeq ($(SHARED),1)
|
|
||||||
__DLLFLAG_p = -DWXUSINGDLL
|
|
||||||
endif
|
|
||||||
ifeq ($(SHARED),1)
|
|
||||||
__DLLFLAG_p_1 = --define WXUSINGDLL
|
|
||||||
endif
|
|
||||||
ifeq ($(MONOLITHIC),0)
|
|
||||||
__WXLIB_CORE_p = \
|
|
||||||
-lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core
|
|
||||||
endif
|
|
||||||
ifeq ($(MONOLITHIC),0)
|
|
||||||
__WXLIB_BASE_p = -lwxbase$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)
|
|
||||||
endif
|
|
||||||
ifeq ($(MONOLITHIC),1)
|
|
||||||
__WXLIB_MONO_p = \
|
|
||||||
-lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)
|
|
||||||
endif
|
|
||||||
ifeq ($(MONOLITHIC),1)
|
|
||||||
ifeq ($(USE_STC),1)
|
|
||||||
__LIB_SCINTILLA_IF_MONO_p = -lwxscintilla$(WXDEBUGFLAG)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
ifeq ($(USE_GUI),1)
|
|
||||||
__LIB_TIFF_p = -lwxtiff$(WXDEBUGFLAG)
|
|
||||||
endif
|
|
||||||
ifeq ($(USE_GUI),1)
|
|
||||||
__LIB_JPEG_p = -lwxjpeg$(WXDEBUGFLAG)
|
|
||||||
endif
|
|
||||||
ifeq ($(USE_GUI),1)
|
|
||||||
__LIB_PNG_p = -lwxpng$(WXDEBUGFLAG)
|
|
||||||
endif
|
|
||||||
ifeq ($(USE_CAIRO),1)
|
|
||||||
__CAIRO_LIB_p = -lcairo
|
|
||||||
endif
|
|
||||||
ifeq ($(USE_CAIRO),1)
|
|
||||||
____CAIRO_LIBDIR_FILENAMES_p = -L$(CAIRO_ROOT)\lib
|
|
||||||
endif
|
|
||||||
ifeq ($(BUILD),debug)
|
|
||||||
ifeq ($(DEBUG_INFO),default)
|
|
||||||
__DEBUGINFO = -g
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
ifeq ($(BUILD),release)
|
|
||||||
ifeq ($(DEBUG_INFO),default)
|
|
||||||
__DEBUGINFO =
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
ifeq ($(DEBUG_INFO),0)
|
|
||||||
__DEBUGINFO =
|
|
||||||
endif
|
|
||||||
ifeq ($(DEBUG_INFO),1)
|
|
||||||
__DEBUGINFO = -g
|
|
||||||
endif
|
|
||||||
ifeq ($(USE_THREADS),0)
|
|
||||||
__THREADSFLAG =
|
|
||||||
endif
|
|
||||||
ifeq ($(USE_THREADS),1)
|
|
||||||
__THREADSFLAG = -mthreads
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
all: $(OBJS)
|
|
||||||
$(OBJS):
|
|
||||||
-if not exist $(OBJS) mkdir $(OBJS)
|
|
||||||
|
|
||||||
### Targets: ###
|
|
||||||
|
|
||||||
all: $(OBJS)\wxemulator.exe data
|
|
||||||
|
|
||||||
clean:
|
|
||||||
-if exist $(OBJS)\*.o del $(OBJS)\*.o
|
|
||||||
-if exist $(OBJS)\*.d del $(OBJS)\*.d
|
|
||||||
-if exist $(OBJS)\wxemulator.exe del $(OBJS)\wxemulator.exe
|
|
||||||
|
|
||||||
$(OBJS)\wxemulator.exe: $(WXEMULATOR_OBJECTS) $(OBJS)\wxemulator_sample_rc.o
|
|
||||||
$(foreach f,$(subst \,/,$(WXEMULATOR_OBJECTS)),$(shell echo $f >> $(subst \,/,$@).rsp.tmp))
|
|
||||||
@move /y $@.rsp.tmp $@.rsp >nul
|
|
||||||
$(CXX) -o $@ @$@.rsp $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME) -Wl,--subsystem,windows -mwindows $(____CAIRO_LIBDIR_FILENAMES_p) $(LDFLAGS) $(__WXLIB_CORE_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) -lwxzlib$(WXDEBUGFLAG) -lwxregexu$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lshlwapi -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lversion -lws2_32 -lwininet -loleacc -luxtheme
|
|
||||||
@-del $@.rsp
|
|
||||||
|
|
||||||
data:
|
|
||||||
if not exist $(OBJS) mkdir $(OBJS)
|
|
||||||
for %%f in (default.wxe ipaq.wxe bluegradient.jpg ipaq01.jpg) do if not exist $(OBJS)\%%f copy .\%%f $(OBJS)
|
|
||||||
|
|
||||||
$(OBJS)\wxemulator_sample_rc.o: ./../../../samples/sample.rc
|
|
||||||
$(WINDRES) -i$< -o$@ --define __WXMSW__ $(__WXUNIV_DEFINE_p_1) $(__DEBUG_DEFINE_p_1) $(__NDEBUG_DEFINE_p_1) $(__EXCEPTIONS_DEFINE_p_1) $(__RTTI_DEFINE_p_1) $(__THREAD_DEFINE_p_1) --include-dir $(SETUPHDIR) --include-dir ./../../../include $(__CAIRO_INCLUDEDIR_p) --include-dir . $(__DLLFLAG_p_1) --define wxUSE_DPI_AWARE_MANIFEST=$(USE_DPI_AWARE_MANIFEST) --include-dir ./../../../samples --define NOPCH
|
|
||||||
|
|
||||||
$(OBJS)\wxemulator_emulator.o: ./emulator.cpp
|
|
||||||
$(CXX) -c -o $@ $(WXEMULATOR_CXXFLAGS) $(CPPDEPS) $<
|
|
||||||
|
|
||||||
.PHONY: all clean data
|
|
||||||
|
|
||||||
|
|
||||||
SHELL := $(COMSPEC)
|
|
||||||
|
|
||||||
# Dependencies tracking:
|
|
||||||
-include $(OBJS)/*.d
|
|
||||||
|
|
@ -1,424 +0,0 @@
|
||||||
# =========================================================================
|
|
||||||
# This makefile was generated by
|
|
||||||
# Bakefile 0.2.13 (http://www.bakefile.org)
|
|
||||||
# Do not modify, all changes will be overwritten!
|
|
||||||
# =========================================================================
|
|
||||||
|
|
||||||
!include <../../../build/msw/config.vc>
|
|
||||||
|
|
||||||
# -------------------------------------------------------------------------
|
|
||||||
# Do not modify the rest of this file!
|
|
||||||
# -------------------------------------------------------------------------
|
|
||||||
|
|
||||||
### Variables: ###
|
|
||||||
|
|
||||||
WX_RELEASE_NODOT = 33
|
|
||||||
COMPILER_PREFIX = vc
|
|
||||||
OBJS = \
|
|
||||||
$(COMPILER_PREFIX)$(COMPILER_VERSION)$(ARCH_SUFFIX)_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)
|
|
||||||
LIBDIRNAME = \
|
|
||||||
.\..\..\..\lib\$(COMPILER_PREFIX)$(COMPILER_VERSION)$(ARCH_SUFFIX)_$(LIBTYPE_SUFFIX)$(CFG)
|
|
||||||
SETUPHDIR = $(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)
|
|
||||||
WXEMULATOR_CXXFLAGS = /M$(__RUNTIME_LIBS_10)$(__DEBUGRUNTIME_4) /DWIN32 \
|
|
||||||
$(__DEBUGINFO_0) /Fd$(OBJS)\wxemulator.pdb $(____DEBUGRUNTIME_3_p) \
|
|
||||||
$(__OPTIMIZEFLAG_6) /D_CRT_SECURE_NO_DEPRECATE=1 \
|
|
||||||
/D_CRT_NON_CONFORMING_SWPRINTFS=1 /D_SCL_SECURE_NO_WARNINGS=1 \
|
|
||||||
$(__NO_VC_CRTDBG_p) $(__TARGET_CPU_COMPFLAG_p) /D__WXMSW__ \
|
|
||||||
$(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__NDEBUG_DEFINE_p) \
|
|
||||||
$(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) \
|
|
||||||
/I$(SETUPHDIR) /I.\..\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES_p) /W4 \
|
|
||||||
/I. $(__DLLFLAG_p) /D_WINDOWS /I.\..\..\..\samples /DNOPCH $(__RTTIFLAG_11) \
|
|
||||||
$(__EXCEPTIONSFLAG_12) $(CPPFLAGS) $(CXXFLAGS)
|
|
||||||
WXEMULATOR_OBJECTS = \
|
|
||||||
$(OBJS)\wxemulator_emulator.obj
|
|
||||||
WXEMULATOR_RESOURCES = \
|
|
||||||
$(OBJS)\wxemulator_sample.res
|
|
||||||
|
|
||||||
### Conditionally set variables: ###
|
|
||||||
|
|
||||||
!if "$(TARGET_CPU)" == "AMD64"
|
|
||||||
ARCH_SUFFIX = _x64
|
|
||||||
!endif
|
|
||||||
!if "$(TARGET_CPU)" == "ARM64"
|
|
||||||
ARCH_SUFFIX = _arm64
|
|
||||||
!endif
|
|
||||||
!if "$(TARGET_CPU)" == "IA64"
|
|
||||||
ARCH_SUFFIX = _ia64
|
|
||||||
!endif
|
|
||||||
!if "$(TARGET_CPU)" == "X64"
|
|
||||||
ARCH_SUFFIX = _x64
|
|
||||||
!endif
|
|
||||||
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "X64"
|
|
||||||
ARCH_SUFFIX = _x64
|
|
||||||
!endif
|
|
||||||
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "x64"
|
|
||||||
ARCH_SUFFIX = _x64
|
|
||||||
!endif
|
|
||||||
!if "$(TARGET_CPU)" == "amd64"
|
|
||||||
ARCH_SUFFIX = _x64
|
|
||||||
!endif
|
|
||||||
!if "$(TARGET_CPU)" == "arm64"
|
|
||||||
ARCH_SUFFIX = _arm64
|
|
||||||
!endif
|
|
||||||
!if "$(TARGET_CPU)" == "ia64"
|
|
||||||
ARCH_SUFFIX = _ia64
|
|
||||||
!endif
|
|
||||||
!if "$(TARGET_CPU)" == "x64"
|
|
||||||
ARCH_SUFFIX = _x64
|
|
||||||
!endif
|
|
||||||
!if "$(USE_GUI)" == "0"
|
|
||||||
PORTNAME = base
|
|
||||||
!endif
|
|
||||||
!if "$(USE_GUI)" == "1"
|
|
||||||
PORTNAME = msw$(TOOLKIT_VERSION)
|
|
||||||
!endif
|
|
||||||
!if "$(OFFICIAL_BUILD)" == "1"
|
|
||||||
COMPILER_VERSION = ERROR-COMPILER-VERSION-MUST-BE-SET-FOR-OFFICIAL-BUILD
|
|
||||||
!endif
|
|
||||||
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
|
|
||||||
WXDEBUGFLAG = d
|
|
||||||
!endif
|
|
||||||
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
|
|
||||||
WXDEBUGFLAG = d
|
|
||||||
!endif
|
|
||||||
!if "$(WXUNIV)" == "1"
|
|
||||||
WXUNIVNAME = univ
|
|
||||||
!endif
|
|
||||||
!if "$(SHARED)" == "1"
|
|
||||||
WXDLLFLAG = dll
|
|
||||||
!endif
|
|
||||||
!if "$(SHARED)" == "0"
|
|
||||||
LIBTYPE_SUFFIX = lib
|
|
||||||
!endif
|
|
||||||
!if "$(SHARED)" == "1"
|
|
||||||
LIBTYPE_SUFFIX = dll
|
|
||||||
!endif
|
|
||||||
!if "$(TARGET_CPU)" == "AMD64"
|
|
||||||
LINK_TARGET_CPU = /MACHINE:X64
|
|
||||||
!endif
|
|
||||||
!if "$(TARGET_CPU)" == "ARM64"
|
|
||||||
LINK_TARGET_CPU = /MACHINE:ARM64
|
|
||||||
!endif
|
|
||||||
!if "$(TARGET_CPU)" == "IA64"
|
|
||||||
LINK_TARGET_CPU = /MACHINE:IA64
|
|
||||||
!endif
|
|
||||||
!if "$(TARGET_CPU)" == "X64"
|
|
||||||
LINK_TARGET_CPU = /MACHINE:X64
|
|
||||||
!endif
|
|
||||||
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "X64"
|
|
||||||
LINK_TARGET_CPU = /MACHINE:X64
|
|
||||||
!endif
|
|
||||||
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "x64"
|
|
||||||
LINK_TARGET_CPU = /MACHINE:X64
|
|
||||||
!endif
|
|
||||||
!if "$(TARGET_CPU)" == "amd64"
|
|
||||||
LINK_TARGET_CPU = /MACHINE:X64
|
|
||||||
!endif
|
|
||||||
!if "$(TARGET_CPU)" == "arm64"
|
|
||||||
LINK_TARGET_CPU = /MACHINE:ARM64
|
|
||||||
!endif
|
|
||||||
!if "$(TARGET_CPU)" == "ia64"
|
|
||||||
LINK_TARGET_CPU = /MACHINE:IA64
|
|
||||||
!endif
|
|
||||||
!if "$(TARGET_CPU)" == "x64"
|
|
||||||
LINK_TARGET_CPU = /MACHINE:X64
|
|
||||||
!endif
|
|
||||||
!if "$(USE_DPI_AWARE_MANIFEST)" == "1" && "$(VISUALSTUDIOVERSION)" == "14.0"
|
|
||||||
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
|
|
||||||
/MANIFESTINPUT:./../../../include/wx/msw/wx_dpi_aware.manifest
|
|
||||||
!endif
|
|
||||||
!if "$(USE_DPI_AWARE_MANIFEST)" == "1" && "$(VISUALSTUDIOVERSION)" == "15.0"
|
|
||||||
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
|
|
||||||
/MANIFESTINPUT:./../../../include/wx/msw/wx_dpi_aware.manifest
|
|
||||||
!endif
|
|
||||||
!if "$(USE_DPI_AWARE_MANIFEST)" == "1" && "$(VISUALSTUDIOVERSION)" == "16.0"
|
|
||||||
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
|
|
||||||
/MANIFESTINPUT:./../../../include/wx/msw/wx_dpi_aware.manifest
|
|
||||||
!endif
|
|
||||||
!if "$(USE_DPI_AWARE_MANIFEST)" == "1" && "$(VISUALSTUDIOVERSION)" == "17.0"
|
|
||||||
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
|
|
||||||
/MANIFESTINPUT:./../../../include/wx/msw/wx_dpi_aware.manifest
|
|
||||||
!endif
|
|
||||||
!if "$(USE_DPI_AWARE_MANIFEST)" == "2" && "$(VISUALSTUDIOVERSION)" == "14.0"
|
|
||||||
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
|
|
||||||
/MANIFESTINPUT:./../../../include/wx/msw/wx_dpi_aware_pmv2.manifest
|
|
||||||
!endif
|
|
||||||
!if "$(USE_DPI_AWARE_MANIFEST)" == "2" && "$(VISUALSTUDIOVERSION)" == "15.0"
|
|
||||||
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
|
|
||||||
/MANIFESTINPUT:./../../../include/wx/msw/wx_dpi_aware_pmv2.manifest
|
|
||||||
!endif
|
|
||||||
!if "$(USE_DPI_AWARE_MANIFEST)" == "2" && "$(VISUALSTUDIOVERSION)" == "16.0"
|
|
||||||
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
|
|
||||||
/MANIFESTINPUT:./../../../include/wx/msw/wx_dpi_aware_pmv2.manifest
|
|
||||||
!endif
|
|
||||||
!if "$(USE_DPI_AWARE_MANIFEST)" == "2" && "$(VISUALSTUDIOVERSION)" == "17.0"
|
|
||||||
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
|
|
||||||
/MANIFESTINPUT:./../../../include/wx/msw/wx_dpi_aware_pmv2.manifest
|
|
||||||
!endif
|
|
||||||
!if "$(MONOLITHIC)" == "0"
|
|
||||||
EXTRALIBS_FOR_BASE =
|
|
||||||
!endif
|
|
||||||
!if "$(MONOLITHIC)" == "1"
|
|
||||||
EXTRALIBS_FOR_BASE =
|
|
||||||
!endif
|
|
||||||
!if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
|
|
||||||
__DEBUGINFO_0 = /Zi
|
|
||||||
!endif
|
|
||||||
!if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
|
|
||||||
__DEBUGINFO_0 =
|
|
||||||
!endif
|
|
||||||
!if "$(DEBUG_INFO)" == "0"
|
|
||||||
__DEBUGINFO_0 =
|
|
||||||
!endif
|
|
||||||
!if "$(DEBUG_INFO)" == "1"
|
|
||||||
__DEBUGINFO_0 = /Zi
|
|
||||||
!endif
|
|
||||||
!if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
|
|
||||||
__DEBUGINFO_1 = /DEBUG
|
|
||||||
!endif
|
|
||||||
!if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
|
|
||||||
__DEBUGINFO_1 =
|
|
||||||
!endif
|
|
||||||
!if "$(DEBUG_INFO)" == "0"
|
|
||||||
__DEBUGINFO_1 =
|
|
||||||
!endif
|
|
||||||
!if "$(DEBUG_INFO)" == "1"
|
|
||||||
__DEBUGINFO_1 = /DEBUG
|
|
||||||
!endif
|
|
||||||
!if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
|
|
||||||
__DEBUGINFO_2 = $(__DEBUGRUNTIME_5)
|
|
||||||
!endif
|
|
||||||
!if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
|
|
||||||
__DEBUGINFO_2 =
|
|
||||||
!endif
|
|
||||||
!if "$(DEBUG_INFO)" == "0"
|
|
||||||
__DEBUGINFO_2 =
|
|
||||||
!endif
|
|
||||||
!if "$(DEBUG_INFO)" == "1"
|
|
||||||
__DEBUGINFO_2 = $(__DEBUGRUNTIME_5)
|
|
||||||
!endif
|
|
||||||
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
|
|
||||||
____DEBUGRUNTIME_3_p = /D_DEBUG
|
|
||||||
!endif
|
|
||||||
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
|
|
||||||
____DEBUGRUNTIME_3_p =
|
|
||||||
!endif
|
|
||||||
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
|
|
||||||
____DEBUGRUNTIME_3_p =
|
|
||||||
!endif
|
|
||||||
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
|
|
||||||
____DEBUGRUNTIME_3_p = /D_DEBUG
|
|
||||||
!endif
|
|
||||||
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
|
|
||||||
____DEBUGRUNTIME_3_p_1 = /d _DEBUG
|
|
||||||
!endif
|
|
||||||
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
|
|
||||||
____DEBUGRUNTIME_3_p_1 =
|
|
||||||
!endif
|
|
||||||
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
|
|
||||||
____DEBUGRUNTIME_3_p_1 =
|
|
||||||
!endif
|
|
||||||
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
|
|
||||||
____DEBUGRUNTIME_3_p_1 = /d _DEBUG
|
|
||||||
!endif
|
|
||||||
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
|
|
||||||
__DEBUGRUNTIME_4 = d
|
|
||||||
!endif
|
|
||||||
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
|
|
||||||
__DEBUGRUNTIME_4 =
|
|
||||||
!endif
|
|
||||||
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
|
|
||||||
__DEBUGRUNTIME_4 =
|
|
||||||
!endif
|
|
||||||
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
|
|
||||||
__DEBUGRUNTIME_4 = d
|
|
||||||
!endif
|
|
||||||
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
|
|
||||||
__DEBUGRUNTIME_5 =
|
|
||||||
!endif
|
|
||||||
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
|
|
||||||
__DEBUGRUNTIME_5 = /opt:ref /opt:icf
|
|
||||||
!endif
|
|
||||||
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
|
|
||||||
__DEBUGRUNTIME_5 = /opt:ref /opt:icf
|
|
||||||
!endif
|
|
||||||
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
|
|
||||||
__DEBUGRUNTIME_5 =
|
|
||||||
!endif
|
|
||||||
!if "$(BUILD)" == "debug"
|
|
||||||
__OPTIMIZEFLAG_6 = /Od
|
|
||||||
!endif
|
|
||||||
!if "$(BUILD)" == "release"
|
|
||||||
__OPTIMIZEFLAG_6 = /O2
|
|
||||||
!endif
|
|
||||||
!if "$(USE_THREADS)" == "0"
|
|
||||||
__THREADSFLAG_9 = L
|
|
||||||
!endif
|
|
||||||
!if "$(USE_THREADS)" == "1"
|
|
||||||
__THREADSFLAG_9 = T
|
|
||||||
!endif
|
|
||||||
!if "$(RUNTIME_LIBS)" == "dynamic"
|
|
||||||
__RUNTIME_LIBS_10 = D
|
|
||||||
!endif
|
|
||||||
!if "$(RUNTIME_LIBS)" == "static"
|
|
||||||
__RUNTIME_LIBS_10 = $(__THREADSFLAG_9)
|
|
||||||
!endif
|
|
||||||
!if "$(USE_RTTI)" == "0"
|
|
||||||
__RTTIFLAG_11 = /GR-
|
|
||||||
!endif
|
|
||||||
!if "$(USE_RTTI)" == "1"
|
|
||||||
__RTTIFLAG_11 = /GR
|
|
||||||
!endif
|
|
||||||
!if "$(USE_EXCEPTIONS)" == "0"
|
|
||||||
__EXCEPTIONSFLAG_12 =
|
|
||||||
!endif
|
|
||||||
!if "$(USE_EXCEPTIONS)" == "1"
|
|
||||||
__EXCEPTIONSFLAG_12 = /EHsc
|
|
||||||
!endif
|
|
||||||
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "0"
|
|
||||||
__NO_VC_CRTDBG_p = /D__NO_VC_CRTDBG__
|
|
||||||
!endif
|
|
||||||
!if "$(BUILD)" == "release" && "$(DEBUG_FLAG)" == "1"
|
|
||||||
__NO_VC_CRTDBG_p = /D__NO_VC_CRTDBG__
|
|
||||||
!endif
|
|
||||||
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "0"
|
|
||||||
__NO_VC_CRTDBG_p_1 = /d __NO_VC_CRTDBG__
|
|
||||||
!endif
|
|
||||||
!if "$(BUILD)" == "release" && "$(DEBUG_FLAG)" == "1"
|
|
||||||
__NO_VC_CRTDBG_p_1 = /d __NO_VC_CRTDBG__
|
|
||||||
!endif
|
|
||||||
!if "$(TARGET_CPU)" == ""
|
|
||||||
__TARGET_CPU_COMPFLAG_p = /DTARGET_CPU_COMPFLAG=0
|
|
||||||
!endif
|
|
||||||
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "X64"
|
|
||||||
__TARGET_CPU_COMPFLAG_p =
|
|
||||||
!endif
|
|
||||||
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "x64"
|
|
||||||
__TARGET_CPU_COMPFLAG_p =
|
|
||||||
!endif
|
|
||||||
!if "$(TARGET_CPU)" == ""
|
|
||||||
__TARGET_CPU_COMPFLAG_p_1 = /d TARGET_CPU_COMPFLAG=0
|
|
||||||
!endif
|
|
||||||
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "X64"
|
|
||||||
__TARGET_CPU_COMPFLAG_p_1 =
|
|
||||||
!endif
|
|
||||||
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "x64"
|
|
||||||
__TARGET_CPU_COMPFLAG_p_1 =
|
|
||||||
!endif
|
|
||||||
!if "$(WXUNIV)" == "1"
|
|
||||||
__WXUNIV_DEFINE_p = /D__WXUNIVERSAL__
|
|
||||||
!endif
|
|
||||||
!if "$(WXUNIV)" == "1"
|
|
||||||
__WXUNIV_DEFINE_p_1 = /d __WXUNIVERSAL__
|
|
||||||
!endif
|
|
||||||
!if "$(DEBUG_FLAG)" == "0"
|
|
||||||
__DEBUG_DEFINE_p = /DwxDEBUG_LEVEL=0
|
|
||||||
!endif
|
|
||||||
!if "$(DEBUG_FLAG)" == "0"
|
|
||||||
__DEBUG_DEFINE_p_1 = /d wxDEBUG_LEVEL=0
|
|
||||||
!endif
|
|
||||||
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
|
|
||||||
__NDEBUG_DEFINE_p = /DNDEBUG
|
|
||||||
!endif
|
|
||||||
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
|
|
||||||
__NDEBUG_DEFINE_p = /DNDEBUG
|
|
||||||
!endif
|
|
||||||
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
|
|
||||||
__NDEBUG_DEFINE_p_1 = /d NDEBUG
|
|
||||||
!endif
|
|
||||||
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
|
|
||||||
__NDEBUG_DEFINE_p_1 = /d NDEBUG
|
|
||||||
!endif
|
|
||||||
!if "$(USE_EXCEPTIONS)" == "0"
|
|
||||||
__EXCEPTIONS_DEFINE_p = /DwxNO_EXCEPTIONS
|
|
||||||
!endif
|
|
||||||
!if "$(USE_EXCEPTIONS)" == "0"
|
|
||||||
__EXCEPTIONS_DEFINE_p_1 = /d wxNO_EXCEPTIONS
|
|
||||||
!endif
|
|
||||||
!if "$(USE_RTTI)" == "0"
|
|
||||||
__RTTI_DEFINE_p = /DwxNO_RTTI
|
|
||||||
!endif
|
|
||||||
!if "$(USE_RTTI)" == "0"
|
|
||||||
__RTTI_DEFINE_p_1 = /d wxNO_RTTI
|
|
||||||
!endif
|
|
||||||
!if "$(USE_THREADS)" == "0"
|
|
||||||
__THREAD_DEFINE_p = /DwxNO_THREADS
|
|
||||||
!endif
|
|
||||||
!if "$(USE_THREADS)" == "0"
|
|
||||||
__THREAD_DEFINE_p_1 = /d wxNO_THREADS
|
|
||||||
!endif
|
|
||||||
!if "$(USE_CAIRO)" == "1"
|
|
||||||
____CAIRO_INCLUDEDIR_FILENAMES_p = /I$(CAIRO_ROOT)\include\cairo
|
|
||||||
!endif
|
|
||||||
!if "$(USE_CAIRO)" == "1"
|
|
||||||
____CAIRO_INCLUDEDIR_FILENAMES_1_p = /i $(CAIRO_ROOT)\include\cairo
|
|
||||||
!endif
|
|
||||||
!if "$(SHARED)" == "1"
|
|
||||||
__DLLFLAG_p = /DWXUSINGDLL
|
|
||||||
!endif
|
|
||||||
!if "$(SHARED)" == "1"
|
|
||||||
__DLLFLAG_p_1 = /d WXUSINGDLL
|
|
||||||
!endif
|
|
||||||
!if "$(MONOLITHIC)" == "0"
|
|
||||||
__WXLIB_CORE_p = \
|
|
||||||
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib
|
|
||||||
!endif
|
|
||||||
!if "$(MONOLITHIC)" == "0"
|
|
||||||
__WXLIB_BASE_p = \
|
|
||||||
wxbase$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
|
|
||||||
!endif
|
|
||||||
!if "$(MONOLITHIC)" == "1"
|
|
||||||
__WXLIB_MONO_p = \
|
|
||||||
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
|
|
||||||
!endif
|
|
||||||
!if "$(MONOLITHIC)" == "1" && "$(USE_STC)" == "1"
|
|
||||||
__LIB_SCINTILLA_IF_MONO_p = wxscintilla$(WXDEBUGFLAG).lib
|
|
||||||
!endif
|
|
||||||
!if "$(USE_GUI)" == "1"
|
|
||||||
__LIB_TIFF_p = wxtiff$(WXDEBUGFLAG).lib
|
|
||||||
!endif
|
|
||||||
!if "$(USE_GUI)" == "1"
|
|
||||||
__LIB_JPEG_p = wxjpeg$(WXDEBUGFLAG).lib
|
|
||||||
!endif
|
|
||||||
!if "$(USE_GUI)" == "1"
|
|
||||||
__LIB_PNG_p = wxpng$(WXDEBUGFLAG).lib
|
|
||||||
!endif
|
|
||||||
!if "$(USE_CAIRO)" == "1"
|
|
||||||
__CAIRO_LIB_p = cairo.lib
|
|
||||||
!endif
|
|
||||||
!if "$(USE_CAIRO)" == "1"
|
|
||||||
____CAIRO_LIBDIR_FILENAMES_p = /LIBPATH:$(CAIRO_ROOT)\lib
|
|
||||||
!endif
|
|
||||||
|
|
||||||
|
|
||||||
all: $(OBJS)
|
|
||||||
$(OBJS):
|
|
||||||
-if not exist $(OBJS) mkdir $(OBJS)
|
|
||||||
|
|
||||||
### Targets: ###
|
|
||||||
|
|
||||||
all: $(OBJS)\wxemulator.exe data
|
|
||||||
|
|
||||||
clean:
|
|
||||||
-if exist $(OBJS)\*.obj del $(OBJS)\*.obj
|
|
||||||
-if exist $(OBJS)\*.res del $(OBJS)\*.res
|
|
||||||
-if exist $(OBJS)\*.pch del $(OBJS)\*.pch
|
|
||||||
-if exist $(OBJS)\wxemulator.exe del $(OBJS)\wxemulator.exe
|
|
||||||
-if exist $(OBJS)\wxemulator.ilk del $(OBJS)\wxemulator.ilk
|
|
||||||
-if exist $(OBJS)\wxemulator.pdb del $(OBJS)\wxemulator.pdb
|
|
||||||
|
|
||||||
$(OBJS)\wxemulator.exe: $(WXEMULATOR_OBJECTS) $(OBJS)\wxemulator_sample.res
|
|
||||||
link /NOLOGO /OUT:$@ $(__DEBUGINFO_1) /pdb:"$(OBJS)\wxemulator.pdb" $(__DEBUGINFO_2) $(LINK_TARGET_CPU) /LIBPATH:$(LIBDIRNAME) $(WIN32_DPI_LINKFLAG) /SUBSYSTEM:WINDOWS $(____CAIRO_LIBDIR_FILENAMES_p) $(LDFLAGS) @<<
|
|
||||||
$(WXEMULATOR_OBJECTS) $(WXEMULATOR_RESOURCES) $(__WXLIB_CORE_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) wxzlib$(WXDEBUGFLAG).lib wxregexu$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib shlwapi.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib version.lib ws2_32.lib wininet.lib
|
|
||||||
<<
|
|
||||||
|
|
||||||
data:
|
|
||||||
if not exist $(OBJS) mkdir $(OBJS)
|
|
||||||
for %f in (default.wxe ipaq.wxe bluegradient.jpg ipaq01.jpg) do if not exist $(OBJS)\%f copy .\%f $(OBJS)
|
|
||||||
|
|
||||||
$(OBJS)\wxemulator_sample.res: .\..\..\..\samples\sample.rc
|
|
||||||
rc /fo$@ /d WIN32 $(____DEBUGRUNTIME_3_p_1) /d _CRT_SECURE_NO_DEPRECATE=1 /d _CRT_NON_CONFORMING_SWPRINTFS=1 /d _SCL_SECURE_NO_WARNINGS=1 $(__NO_VC_CRTDBG_p_1) $(__TARGET_CPU_COMPFLAG_p_1) /d __WXMSW__ $(__WXUNIV_DEFINE_p_1) $(__DEBUG_DEFINE_p_1) $(__NDEBUG_DEFINE_p_1) $(__EXCEPTIONS_DEFINE_p_1) $(__RTTI_DEFINE_p_1) $(__THREAD_DEFINE_p_1) /i $(SETUPHDIR) /i .\..\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES_1_p) /i . $(__DLLFLAG_p_1) /d _WINDOWS /i .\..\..\..\samples /d NOPCH .\..\..\..\samples\sample.rc
|
|
||||||
|
|
||||||
$(OBJS)\wxemulator_emulator.obj: .\emulator.cpp
|
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(WXEMULATOR_CXXFLAGS) .\emulator.cpp
|
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 766 B |
|
|
@ -1,44 +0,0 @@
|
||||||
/* XPM */
|
|
||||||
static const char *const mondrian_xpm[] = {
|
|
||||||
/* columns rows colors chars-per-pixel */
|
|
||||||
"32 32 6 1",
|
|
||||||
" c Black",
|
|
||||||
". c Blue",
|
|
||||||
"X c #00bf00",
|
|
||||||
"o c Red",
|
|
||||||
"O c Yellow",
|
|
||||||
"+ c Gray100",
|
|
||||||
/* pixels */
|
|
||||||
" ",
|
|
||||||
" oooooo +++++++++++++++++++++++ ",
|
|
||||||
" oooooo +++++++++++++++++++++++ ",
|
|
||||||
" oooooo +++++++++++++++++++++++ ",
|
|
||||||
" oooooo +++++++++++++++++++++++ ",
|
|
||||||
" oooooo +++++++++++++++++++++++ ",
|
|
||||||
" oooooo +++++++++++++++++++++++ ",
|
|
||||||
" oooooo +++++++++++++++++++++++ ",
|
|
||||||
" ",
|
|
||||||
" ++++++ ++++++++++++++++++ .... ",
|
|
||||||
" ++++++ ++++++++++++++++++ .... ",
|
|
||||||
" ++++++ ++++++++++++++++++ .... ",
|
|
||||||
" ++++++ ++++++++++++++++++ .... ",
|
|
||||||
" ++++++ ++++++++++++++++++ .... ",
|
|
||||||
" ++++++ ++++++++++++++++++ ",
|
|
||||||
" ++++++ ++++++++++++++++++ ++++ ",
|
|
||||||
" ++++++ ++++++++++++++++++ ++++ ",
|
|
||||||
" ++++++ ++++++++++++++++++ ++++ ",
|
|
||||||
" ++++++ ++++++++++++++++++ ++++ ",
|
|
||||||
" ++++++ ++++++++++++++++++ ++++ ",
|
|
||||||
" ++++++ ++++++++++++++++++ ++++ ",
|
|
||||||
" ++++++ ++++++++++++++++++ ++++ ",
|
|
||||||
" ++++++ ++++++++++++++++++ ++++ ",
|
|
||||||
" ++++++ ++++++++++++++++++ ++++ ",
|
|
||||||
" ++++++ ++++ ",
|
|
||||||
" ++++++ OOOOOOOOOOOO XXXXX ++++ ",
|
|
||||||
" ++++++ OOOOOOOOOOOO XXXXX ++++ ",
|
|
||||||
" ++++++ OOOOOOOOOOOO XXXXX ++++ ",
|
|
||||||
" ++++++ OOOOOOOOOOOO XXXXX ++++ ",
|
|
||||||
" ++++++ OOOOOOOOOOOO XXXXX ++++ ",
|
|
||||||
" ++++++ OOOOOOOOOOOO XXXXX ++++ ",
|
|
||||||
" "
|
|
||||||
};
|
|
||||||