From 9d2929b79b22765701e9db240d967877d7f7bab8 Mon Sep 17 00:00:00 2001 From: Dan Everton Date: Sat, 12 Aug 2006 10:28:30 +0000 Subject: Remove Win32 and X11 simulator sources. They've been deprecated for a while in favour of the SDL sim. Time to go. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10543 a1c6a512-1295-4272-9138-f99709370657 --- uisimulator/win32/Makefile | 69 ---- uisimulator/win32/Makefile.vc6 | 101 ------ uisimulator/win32/SOURCES | 12 - uisimulator/win32/UI-fmrecorder.bmp | Bin 236864 -> 0 bytes uisimulator/win32/UI-gmini120.bmp | Bin 195416 -> 0 bytes uisimulator/win32/UI-h100.bmp | Bin 194120 -> 0 bytes uisimulator/win32/UI-h120.bmp | Bin 194120 -> 0 bytes uisimulator/win32/UI-h300.bmp | Bin 168408 -> 0 bytes uisimulator/win32/UI-ipod4g.bmp | Bin 217604 -> 0 bytes uisimulator/win32/UI-ipodcolor.bmp | Bin 131232 -> 0 bytes uisimulator/win32/UI-ipodnano.bmp | Bin 85280 -> 0 bytes uisimulator/win32/UI-ondiofm.bmp | Bin 104264 -> 0 bytes uisimulator/win32/UI-ondiosp.bmp | Bin 104264 -> 0 bytes uisimulator/win32/UI-player.bmp | Bin 238616 -> 0 bytes uisimulator/win32/UI-recorder.bmp | Bin 219296 -> 0 bytes uisimulator/win32/UI-recorderv2.bmp | Bin 236864 -> 0 bytes uisimulator/win32/atoi.h | 20 -- uisimulator/win32/button.c | 286 ---------------- uisimulator/win32/debug-win32.c | 66 ---- uisimulator/win32/dir-win32.c | 91 ----- uisimulator/win32/dir-win32.h | 46 --- uisimulator/win32/kernel.c | 167 --------- uisimulator/win32/lcd-win32.c | 326 ------------------ uisimulator/win32/lcd-win32.h | 47 --- uisimulator/win32/panic-win32.c | 43 --- uisimulator/win32/plugin-win32.h | 48 --- uisimulator/win32/plugin.def | 2 - uisimulator/win32/resource.h | 19 -- uisimulator/win32/rockbox.dsp | 626 ---------------------------------- uisimulator/win32/rockbox.ico | Bin 3638 -> 0 bytes uisimulator/win32/sound.c | 201 ----------- uisimulator/win32/sound.h | 22 -- uisimulator/win32/sprintf.h | 36 -- uisimulator/win32/stdbool.h | 46 --- uisimulator/win32/string-win32.c | 34 -- uisimulator/win32/thread-win32.c | 80 ----- uisimulator/win32/thread-win32.h | 23 -- uisimulator/win32/timefuncs.h | 8 - uisimulator/win32/uisw32.c | 344 ------------------- uisimulator/win32/uisw32.h | 168 --------- uisimulator/win32/uisw32.rc | 76 ----- uisimulator/win32/uisw32.sln | 21 -- uisimulator/win32/uisw32.suo | Bin 13312 -> 0 bytes uisimulator/win32/uisw32.vcproj | 280 --------------- uisimulator/x11/Makefile | 60 ---- uisimulator/x11/README | 6 - uisimulator/x11/SOURCES | 14 - uisimulator/x11/archos/rockbox112.bmp | Bin 5222 -> 0 bytes uisimulator/x11/atoi.h | 2 - uisimulator/x11/button-x11.c | 321 ----------------- uisimulator/x11/config-x11.h | 362 -------------------- uisimulator/x11/kernel.c | 165 --------- uisimulator/x11/lcd-x11.c | 262 -------------- uisimulator/x11/lcd-x11.h | 26 -- uisimulator/x11/oss_sound.c | 84 ----- uisimulator/x11/resources.c | 113 ------ uisimulator/x11/resources.h | 23 -- uisimulator/x11/screenhack.c | 579 ------------------------------- uisimulator/x11/screenhack.h | 52 --- uisimulator/x11/sound.c | 140 -------- uisimulator/x11/sound.h | 22 -- uisimulator/x11/sprintf.h | 12 - uisimulator/x11/thread.c | 148 -------- uisimulator/x11/timefuncs.h | 7 - uisimulator/x11/uibasic.c | 277 --------------- uisimulator/x11/utils.h | 22 -- uisimulator/x11/version.h | 1 - uisimulator/x11/visual.c | 544 ----------------------------- uisimulator/x11/visual.h | 29 -- uisimulator/x11/vroot.h | 126 ------- uisimulator/x11/xmu.h | 14 - 71 files changed, 6719 deletions(-) delete mode 100644 uisimulator/win32/Makefile delete mode 100644 uisimulator/win32/Makefile.vc6 delete mode 100644 uisimulator/win32/SOURCES delete mode 100644 uisimulator/win32/UI-fmrecorder.bmp delete mode 100644 uisimulator/win32/UI-gmini120.bmp delete mode 100644 uisimulator/win32/UI-h100.bmp delete mode 100644 uisimulator/win32/UI-h120.bmp delete mode 100644 uisimulator/win32/UI-h300.bmp delete mode 100644 uisimulator/win32/UI-ipod4g.bmp delete mode 100644 uisimulator/win32/UI-ipodcolor.bmp delete mode 100644 uisimulator/win32/UI-ipodnano.bmp delete mode 100644 uisimulator/win32/UI-ondiofm.bmp delete mode 100644 uisimulator/win32/UI-ondiosp.bmp delete mode 100644 uisimulator/win32/UI-player.bmp delete mode 100644 uisimulator/win32/UI-recorder.bmp delete mode 100644 uisimulator/win32/UI-recorderv2.bmp delete mode 100644 uisimulator/win32/atoi.h delete mode 100644 uisimulator/win32/button.c delete mode 100644 uisimulator/win32/debug-win32.c delete mode 100644 uisimulator/win32/dir-win32.c delete mode 100644 uisimulator/win32/dir-win32.h delete mode 100644 uisimulator/win32/kernel.c delete mode 100644 uisimulator/win32/lcd-win32.c delete mode 100644 uisimulator/win32/lcd-win32.h delete mode 100644 uisimulator/win32/panic-win32.c delete mode 100644 uisimulator/win32/plugin-win32.h delete mode 100755 uisimulator/win32/plugin.def delete mode 100644 uisimulator/win32/resource.h delete mode 100644 uisimulator/win32/rockbox.dsp delete mode 100644 uisimulator/win32/rockbox.ico delete mode 100644 uisimulator/win32/sound.c delete mode 100644 uisimulator/win32/sound.h delete mode 100644 uisimulator/win32/sprintf.h delete mode 100644 uisimulator/win32/stdbool.h delete mode 100644 uisimulator/win32/string-win32.c delete mode 100644 uisimulator/win32/thread-win32.c delete mode 100644 uisimulator/win32/thread-win32.h delete mode 100644 uisimulator/win32/timefuncs.h delete mode 100644 uisimulator/win32/uisw32.c delete mode 100644 uisimulator/win32/uisw32.h delete mode 100644 uisimulator/win32/uisw32.rc delete mode 100644 uisimulator/win32/uisw32.sln delete mode 100644 uisimulator/win32/uisw32.suo delete mode 100644 uisimulator/win32/uisw32.vcproj delete mode 100644 uisimulator/x11/Makefile delete mode 100644 uisimulator/x11/README delete mode 100644 uisimulator/x11/SOURCES delete mode 100644 uisimulator/x11/archos/rockbox112.bmp delete mode 100644 uisimulator/x11/atoi.h delete mode 100644 uisimulator/x11/button-x11.c delete mode 100644 uisimulator/x11/config-x11.h delete mode 100644 uisimulator/x11/kernel.c delete mode 100644 uisimulator/x11/lcd-x11.c delete mode 100644 uisimulator/x11/lcd-x11.h delete mode 100644 uisimulator/x11/oss_sound.c delete mode 100644 uisimulator/x11/resources.c delete mode 100644 uisimulator/x11/resources.h delete mode 100644 uisimulator/x11/screenhack.c delete mode 100644 uisimulator/x11/screenhack.h delete mode 100644 uisimulator/x11/sound.c delete mode 100644 uisimulator/x11/sound.h delete mode 100644 uisimulator/x11/sprintf.h delete mode 100644 uisimulator/x11/thread.c delete mode 100644 uisimulator/x11/timefuncs.h delete mode 100644 uisimulator/x11/uibasic.c delete mode 100644 uisimulator/x11/utils.h delete mode 100644 uisimulator/x11/version.h delete mode 100644 uisimulator/x11/visual.c delete mode 100644 uisimulator/x11/visual.h delete mode 100644 uisimulator/x11/vroot.h delete mode 100644 uisimulator/x11/xmu.h (limited to 'uisimulator') diff --git a/uisimulator/win32/Makefile b/uisimulator/win32/Makefile deleted file mode 100644 index 160924a0f3..0000000000 --- a/uisimulator/win32/Makefile +++ /dev/null @@ -1,69 +0,0 @@ -############################################################################ -# __________ __ ___. -# Open \______ \ ____ ____ | | _\_ |__ _______ ___ -# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / -# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < -# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ -# \/ \/ \/ \/ \/ -# $Id$ -# -# Copyright (C) 2002 by Daniel Stenberg -# -# All files in this archive are subject to the GNU General Public License. -# See the file COPYING in the source tree root for full license agreement. -# -# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY -# KIND, either express or implied. -# -############################################################################ - -SIMCOMMON = ../common - -DEPFILE = $(OBJDIR)/dep-simwin - -RM = rm -f -DEBUG = -g - -INCLUDES = -I. -I$(SIMCOMMON) -I$(OBJDIR) -I$(FIRMDIR)/export -I$(APPSDIR) \ - -I$(BUILDDIR) - -DEFINES = -DHAVE_CONFIG_H -DGETTIMEOFDAY_TWO_ARGS -DSIMULATOR \ -$(TARGET) -DAPPSVERSION=\"$(VERSION)\" -DMEM=${MEMORYSIZE} $(EXTRA_DEFINES) - -# This sets up 'SRC' based on the files mentioned in SOURCES -include $(TOOLSDIR)/makesrc.inc - -OBJS := $(SRC:%.c=$(OBJDIR)/%.o) - -SOURCES = $(SRC) -DIRS = . - -CFLAGS = $(DEBUG) $(DEFINES) $(INCLUDES) -W -Wall -mno-cygwin - -OUTFILE = $(BUILDDIR)/libsim.a - -all: $(OUTFILE) - -$(OUTFILE): $(OBJS) $(OBJDIR)/UI256.bmp $(OBJDIR)/uisw32-res.o - @echo "AR+RANLIB $@" - @$(AR) ruv $@ $(OBJS) $(OBJDIR)/uisw32-res.o >/dev/null 2>&1 - @$(RANLIB) $@ - -clean: - @echo "cleaning simwin" - @$(RM) $(OBJS) *~ core $(OUTFILE) $(OBJDIR)/uisw32-res.o \ - $(OBJDIR)/UI256.bmp $(DEPFILE) - @$(MAKE) -C $(SIMCOMMON) clean - -################## Specific dependencies ################## -$(OBJDIR)/UI256.bmp: UI-$(ARCHOS).bmp - @echo UI - @cp $< $@ - -$(OBJDIR)/uisw32-res.o: uisw32.rc $(OBJDIR)/UI256.bmp - @echo "WINDRES" - @$(WINDRES) --include-dir $(OBJDIR) -i $< -o $@ - -include $(TOOLSDIR)/make.inc - --include $(DEPFILE) diff --git a/uisimulator/win32/Makefile.vc6 b/uisimulator/win32/Makefile.vc6 deleted file mode 100644 index d92f18d86d..0000000000 --- a/uisimulator/win32/Makefile.vc6 +++ /dev/null @@ -1,101 +0,0 @@ -############################################################################ -# __________ __ ___. -# Open \______ \ ____ ____ | | _\_ |__ _______ ___ -# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / -# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < -# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ -# \/ \/ \/ \/ \/ -# $Id$ -# -# Copyright (C) 2002 by Felix Arends -# -# All files in this archive are subject to the GNU General Public License. -# See the file COPYING in the source tree root for full license agreement. -# -# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY -# KIND, either express or implied. -# -############################################################################ - - -#CHANGE THIS FIELD TO SPECIFY RECORDER OR PLAYER (Player does not work very well atm) -TARGET = RECORDER - -FIRMWAREDIR = ../../firmware -DRIVERS = $(FIRMWAREDIR)/drivers -COMMON = $(FIRMWAREDIR)/common -APPSCOMMON = ../common -TOOLSDIR = ..\..\tools -SIMDIR = ../win32/ -APPDIR = ../../apps/ -PLAYERDIR = $(APPDIR)player/ -RECDIR = $(APPDIR)recorder/ -RM = del -LANGUAGE = english -FONT = $(FIRMWAREDIR)/fonts/clR6x8.bdf - -!IF ("$(TARGET)" == "RECORDER") -DISPLAY = -DHAVE_LCD_BITMAP -KEYPAD = -DHAVE_RECORDER_KEYPAD -MODEL_SPECIFIC_DIR = $(RECDIR) -!ELSE -DISPLAY = -DHAVE_LCD_CHARCELLS -KEYPAD = -DHAVE_PLAYER_KEYPAD -MODEL_SPECIFIC_DIR = $(PLAYERDIR) -!ENDIF - -CC = cl -RC = rc -LINK = link -DEFINES = $(DEFINES) -DWIN32 -DHAVE_CONFIG_H -DGETTIMEOFDAY_TWO_ARGS -DSIMULATOR $(KEYPAD) $(DISPLAY) -DAPPSVERSION=\"WIN32SIM\" -LDFLAGS = /OUT:uisw32.exe /SUBSYSTEM:windows /NOLOGO /MACHINE:IX86 kernel32.lib user32.lib gdi32.lib -INCLUDES = -I$(FIRMWAREDIR)/export -I$(DRIVERS) -I$(COMMON) -I$(APPSCOMMON) -I$(SIMDIR) -I$(APPDIR) -I$(MODEL_SPECIFIC_DIR) -LIBS = /DEFAULTLIB:gdi32.lib /DEFAULTLIB:user32.lib /NODEFAULTLIB:libc.lib - -CFLAGS = $(DEBUG) $(DEFINES) $(INCLUDES) /MD /Fd"Release/vc70.pdb" /c - -SRCS = *.c \ - $(DRIVERS)/power.c \ - $(APPDIR)*.c \ - $(APPSCOMMON)/lcd-common.c $(APPSCOMMON)/mpegplay.c $(APPSCOMMON)/sim_icons.c $(APPSCOMMON)/stubs.c \ - $(FIRMWAREDIR)/mpeg.c $(FIRMWAREDIR)/id3.c $(FIRMWAREDIR)/usb.c $(FIRMWAREDIR)/mpeg.c $(FIRMWAREDIR)/font.c $(FIRMWAREDIR)/powermgmt.c \ - $(COMMON)/sprintf.c $(COMMON)/strtok.c $(COMMON)/errno.c - -!IF ("$(DISPLAY)" == "-DHAVE_LCD_BITMAP") -SRCS = $(SRCS) $(RECDIR)/bmp.c $(RECDIR)/bounce.c $(RECDIR)/cube.c $(RECDIR)/icons.c $(RECDIR)/keyboard.c $(RECDIR)/peakmeter.c \ - $(RECDIR)/snow.c $(RECDIR)/sokoban.c $(RECDIR)/tetris.c $(RECDIR)/widgets.c $(RECDIR)/wormlet.c $(DRIVERS)/lcd-recorder.c -!ELSE -SRCS = $(SRCS) $(APPSCOMMON)/lcd-playersim.c $(DRIVERS)/lcd-player.c $(PLAYERDIR)*.c -!ENDIF - -OBJS = lang.obj $(SRCS:.c=.obj) uisw32.res - -all : uisw32.exe - -$(APPDIR)credits.raw: - perl $(APPDIR)credits.pl < ../../docs/CREDITS > $(APPDIR)credits.raw - -kernel.obj: - $(CC) $(CFLAGS) *.c - -sysfont.c: $(FONT) - $(TOOLSDIR)\convbdf -c -o sysfont.c $(FONT) - -sysfont.obj: sysfont.c - $(CC) $(CFLAGS) sysfont.c - -uisw32.exe: $(APPDIR)credits.raw $(OBJS) sysfont.obj kernel.obj - $(LINK) $(LIBS) $(LDFLAGS) *.obj uisw32.res - -uisw32.res: - $(RC) /r uisw32.rc - -build.lang: $(APPDIR)/lang/$(LANGUAGE).lang - perl $(TOOLSDIR)/uplang $(APPDIR)/lang/english.lang $(APPDIR)/lang/$(LANGUAGE).lang > build.lang - -lang.obj: build.lang - perl -s $(TOOLSDIR)/genlang -p=lang build.lang - $(CC) $(CFLAGS) -c lang.c -o lang.obj - -clean: - $(RM) *.obj ..\..\apps\lang.c ..\..\apps\lang.h ..\..\apps\credits.raw lang.build uisw32.res uisw32.exe diff --git a/uisimulator/win32/SOURCES b/uisimulator/win32/SOURCES deleted file mode 100644 index 29710fd82c..0000000000 --- a/uisimulator/win32/SOURCES +++ /dev/null @@ -1,12 +0,0 @@ -button.c -debug-win32.c -#if 0 /* this is only for non-cygwin simulator builds */ -dir-win32.c -#endif -kernel.c -lcd-win32.c -panic-win32.c -string-win32.c -thread-win32.c -uisw32.c -sound.c diff --git a/uisimulator/win32/UI-fmrecorder.bmp b/uisimulator/win32/UI-fmrecorder.bmp deleted file mode 100644 index 53f705b9ef..0000000000 Binary files a/uisimulator/win32/UI-fmrecorder.bmp and /dev/null differ diff --git a/uisimulator/win32/UI-gmini120.bmp b/uisimulator/win32/UI-gmini120.bmp deleted file mode 100644 index afeaf74801..0000000000 Binary files a/uisimulator/win32/UI-gmini120.bmp and /dev/null differ diff --git a/uisimulator/win32/UI-h100.bmp b/uisimulator/win32/UI-h100.bmp deleted file mode 100644 index caeb81bc4b..0000000000 Binary files a/uisimulator/win32/UI-h100.bmp and /dev/null differ diff --git a/uisimulator/win32/UI-h120.bmp b/uisimulator/win32/UI-h120.bmp deleted file mode 100644 index caeb81bc4b..0000000000 Binary files a/uisimulator/win32/UI-h120.bmp and /dev/null differ diff --git a/uisimulator/win32/UI-h300.bmp b/uisimulator/win32/UI-h300.bmp deleted file mode 100644 index 5f099b717a..0000000000 Binary files a/uisimulator/win32/UI-h300.bmp and /dev/null differ diff --git a/uisimulator/win32/UI-ipod4g.bmp b/uisimulator/win32/UI-ipod4g.bmp deleted file mode 100644 index 85af574d7c..0000000000 Binary files a/uisimulator/win32/UI-ipod4g.bmp and /dev/null differ diff --git a/uisimulator/win32/UI-ipodcolor.bmp b/uisimulator/win32/UI-ipodcolor.bmp deleted file mode 100644 index de5dad4ffe..0000000000 Binary files a/uisimulator/win32/UI-ipodcolor.bmp and /dev/null differ diff --git a/uisimulator/win32/UI-ipodnano.bmp b/uisimulator/win32/UI-ipodnano.bmp deleted file mode 100644 index e33f7e81da..0000000000 Binary files a/uisimulator/win32/UI-ipodnano.bmp and /dev/null differ diff --git a/uisimulator/win32/UI-ondiofm.bmp b/uisimulator/win32/UI-ondiofm.bmp deleted file mode 100644 index e258720d28..0000000000 Binary files a/uisimulator/win32/UI-ondiofm.bmp and /dev/null differ diff --git a/uisimulator/win32/UI-ondiosp.bmp b/uisimulator/win32/UI-ondiosp.bmp deleted file mode 100644 index c62c2334a3..0000000000 Binary files a/uisimulator/win32/UI-ondiosp.bmp and /dev/null differ diff --git a/uisimulator/win32/UI-player.bmp b/uisimulator/win32/UI-player.bmp deleted file mode 100644 index db4003b120..0000000000 Binary files a/uisimulator/win32/UI-player.bmp and /dev/null differ diff --git a/uisimulator/win32/UI-recorder.bmp b/uisimulator/win32/UI-recorder.bmp deleted file mode 100644 index 98937fea2d..0000000000 Binary files a/uisimulator/win32/UI-recorder.bmp and /dev/null differ diff --git a/uisimulator/win32/UI-recorderv2.bmp b/uisimulator/win32/UI-recorderv2.bmp deleted file mode 100644 index 53f705b9ef..0000000000 Binary files a/uisimulator/win32/UI-recorderv2.bmp and /dev/null differ diff --git a/uisimulator/win32/atoi.h b/uisimulator/win32/atoi.h deleted file mode 100644 index c95cfca64f..0000000000 --- a/uisimulator/win32/atoi.h +++ /dev/null @@ -1,20 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2002 by Daniel Stenberg - * - * All files in this archive are subject to the GNU General Public License. - * See the file COPYING in the source tree root for full license agreement. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - -int atoi(const char *); diff --git a/uisimulator/win32/button.c b/uisimulator/win32/button.c deleted file mode 100644 index 8f21fe4396..0000000000 --- a/uisimulator/win32/button.c +++ /dev/null @@ -1,286 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2002 by Felix Arends - * - * All files in this archive are subject to the GNU General Public License. - * See the file COPYING in the source tree root for full license agreement. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - -#include -#include "uisw32.h" -#include "config.h" -#include "button.h" -#include "kernel.h" -#include "backlight.h" -#include "misc.h" - -/* how long until repeat kicks in */ -#define REPEAT_START 6 - -/* the speed repeat starts at */ -#define REPEAT_INTERVAL_START 4 - -/* speed repeat finishes at */ -#define REPEAT_INTERVAL_FINISH 2 - -struct event_queue button_queue; - -static int btn = 0; /* Hopefully keeps track of currently pressed keys... */ - -void button_event(int key, bool pressed) -{ - int new_btn = 0; - int diff = 0; - static int count = 0; - static int lastbtn; - static int repeat_speed = REPEAT_INTERVAL_START; - static int repeat_count = 0; - static bool repeat = false; - static bool post = false; - - switch (key) - { - case VK_NUMPAD4: - case VK_LEFT: - new_btn = BUTTON_LEFT; - break; - case VK_NUMPAD6: - case VK_RIGHT: - new_btn = BUTTON_RIGHT; - break; - - case VK_NUMPAD8: - case VK_UP: -#ifdef BUTTON_UP - new_btn = BUTTON_UP; -#elif defined BUTTON_SCROLL_FWD - new_btn = BUTTON_SCROLL_FWD; -#elif defined BUTTON_PLAY - new_btn = BUTTON_PLAY; -#endif - break; - - case VK_NUMPAD2: - case VK_DOWN: -#ifdef BUTTON_DOWN - new_btn = BUTTON_DOWN; -#elif defined BUTTON_SCROLL_BACK - new_btn = BUTTON_SCROLL_BACK; -#elif defined BUTTON_STOP - new_btn = BUTTON_STOP; -#endif - break; - - case VK_ADD: -#ifdef BUTTON_ON - new_btn = BUTTON_ON; -#elif defined(BUTTON_SELECT) && defined(BUTTON_PLAY) - new_btn = BUTTON_PLAY; -#endif - break; - -#ifdef BUTTON_OFF - case VK_RETURN: - new_btn = BUTTON_OFF; - break; -#endif - -#ifdef BUTTON_F1 - case VK_DIVIDE: - case VK_F1: - new_btn = BUTTON_F1; - break; - case VK_MULTIPLY: - case VK_F2: - new_btn = BUTTON_F2; - break; - case VK_SUBTRACT: - case VK_F3: - new_btn = BUTTON_F3; - break; -#elif defined(BUTTON_REC) - case VK_DIVIDE: - case VK_F1: - new_btn = BUTTON_REC; - break; -#endif - - case VK_NUMPAD5: - case VK_SPACE: -#if defined(BUTTON_PLAY) && !defined(BUTTON_SELECT) - new_btn = BUTTON_PLAY; -#elif defined(BUTTON_SELECT) - new_btn = BUTTON_SELECT; -#endif - break; - -#ifdef HAVE_LCD_BITMAP - case VK_NUMPAD0: - case VK_F5: - if(pressed) - { - screen_dump(); - return; - } - break; -#endif - - case VK_DECIMAL: - case VK_INSERT: -#ifdef BUTTON_MENU - new_btn = BUTTON_MENU; -#elif defined(BUTTON_MODE) - new_btn = BUTTON_MODE; -#endif - break; - } - - if (pressed) - btn |= new_btn; - else - btn &= ~new_btn; - - /* Lots of stuff copied from real button.c. Not good, I think... */ - - /* Find out if a key has been released */ - diff = btn ^ lastbtn; - - if(diff && (btn & diff) == 0) - { - queue_post(&button_queue, BUTTON_REL | diff, NULL); - } - else - { - if ( btn ) - { - /* normal keypress */ - if ( btn != lastbtn ) - { - post = true; - repeat = false; - repeat_speed = REPEAT_INTERVAL_START; - - } - else /* repeat? */ - { - if ( repeat ) - { - if (!post) - count--; - if (count == 0) - { - post = true; - /* yes we have repeat */ - repeat_speed--; - if (repeat_speed < REPEAT_INTERVAL_FINISH) - repeat_speed = REPEAT_INTERVAL_FINISH; - count = repeat_speed; - - repeat_count++; - } - } - else - { - if (count++ > REPEAT_START) - { - post = true; - repeat = true; - repeat_count = 0; - /* initial repeat */ - count = REPEAT_INTERVAL_START; - } - } - } - if ( post ) - { - if(repeat) - { - if (queue_empty(&button_queue)) - { - queue_post(&button_queue, BUTTON_REPEAT | btn, NULL); - post = false; - } - } - else - { - queue_post(&button_queue, btn, NULL); - post = false; - } - -#ifdef HAVE_REMOTE_LCD - if(btn & BUTTON_REMOTE) - remote_backlight_on(); - else -#endif - backlight_on(); - - } - } - else - { - repeat = false; - count = 0; - } - } - lastbtn = btn & ~(BUTTON_REL | BUTTON_REPEAT); -} - -/* Again copied from real button.c... */ - -long button_get(bool block) -{ - struct event ev; - - if ( block || !queue_empty(&button_queue) ) { - queue_wait(&button_queue, &ev); - return ev.id; - } - return BUTTON_NONE; -} - -long button_get_w_tmo(int ticks) -{ - struct event ev; - queue_wait_w_tmo(&button_queue, &ev, ticks); - return (ev.id != SYS_TIMEOUT)? ev.id: BUTTON_NONE; -} - -void button_init(void) -{ -} - -int button_status(void) -{ - return btn; -} - -void button_clear_queue(void) -{ - queue_clear(&button_queue); -} - -#ifdef HAS_BUTTON_HOLD -bool button_hold(void) { - /* temp fix for hold button on irivers */ - return false; -} -#endif - -#ifdef HAS_REMOTE_BUTTON_HOLD -bool remote_button_hold(void) { - /* temp fix for hold button on irivers */ - return false; -} -#endif - diff --git a/uisimulator/win32/debug-win32.c b/uisimulator/win32/debug-win32.c deleted file mode 100644 index dbc0f10e85..0000000000 --- a/uisimulator/win32/debug-win32.c +++ /dev/null @@ -1,66 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2002 by Felix Arends - * - * All files in this archive are subject to the GNU General Public License. - * See the file COPYING in the source tree root for full license agreement. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - -#include -#include - -char debugmembuf[200]; - -void debug( const char *message ) -{ - static int debugger = -1; - - if (debugger == -1) - { - HINSTANCE hInst = LoadLibrary("kernel32.dll"); - debugger = 0; - - if (hInst != NULL) - { - FARPROC pIsDebuggerPresent = GetProcAddress(hInst, "IsDebuggerPresent"); - if (pIsDebuggerPresent != NULL) - debugger = pIsDebuggerPresent(); - } - } - - if (debugger) - OutputDebugString (message); - else - printf("%s", message); -} - -void debugf(const char *fmt, ...) -{ - va_list ap; - - va_start( ap, fmt ); - wvsprintf( debugmembuf, fmt, ap ); - va_end( ap ); - debug ( debugmembuf ); -} - -void Logf(char *fmt, ...) -{ - va_list ap; - - va_start( ap, fmt ); - wvsprintf( debugmembuf, fmt, ap ); - va_end( ap ); - debug ( debugmembuf ); -} diff --git a/uisimulator/win32/dir-win32.c b/uisimulator/win32/dir-win32.c deleted file mode 100644 index 6f14e798be..0000000000 --- a/uisimulator/win32/dir-win32.c +++ /dev/null @@ -1,91 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2002 by Felix Arends - * - * All files in this archive are subject to the GNU General Public License. - * See the file COPYING in the source tree root for full license agreement. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - -#include -#include -#include -#include "dir-win32.h" - -// Directory operations -// - -// opendir -// open directory for scanning -DIR *opendir ( - const char *dirname // directory name - ) -{ - DIR *p = (DIR*)malloc(sizeof(DIR)); - struct _finddata_t fd; - unsigned int i; - char *s = (char*)malloc(strlen(dirname) + 5); - wsprintf (s, "%s", dirname); - - for (i = 0; i < strlen(s); i++) - if (s[i] == '/') - s[i] = '\\'; - - if (s[i - 1] != '\\') - { - s[i] = '\\'; - s[++i] = '\0'; - } - - OutputDebugString (s); - - wsprintf (s, "%s*.*", s); - - if ((p->handle = _findfirst (s, &fd)) == -1) - { - free (s); - free (p); - return 0; - } - free (s); - return p; -} - -// closedir -// close directory -int closedir ( - DIR *dir // previously opened dir search - ) -{ - free(dir); - return 0; -} - -// read dir -// read next entry in directory -struct dirent *readdir ( - DIR *dir - ) -{ - struct _finddata_t fd; - if (_findnext (dir->handle, &fd) == -1) - return 0; - memcpy (dir->fd.d_name, fd.name, 256); - - dir->fd.attribute = fd.attrib & 0x3f; - dir->fd.size = fd.size; - dir->fd.startcluster = 0 ; - - - return &dir->fd; -} diff --git a/uisimulator/win32/dir-win32.h b/uisimulator/win32/dir-win32.h deleted file mode 100644 index 95ce326e9f..0000000000 --- a/uisimulator/win32/dir-win32.h +++ /dev/null @@ -1,46 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2002 by Björn Stenberg - * - * All files in this archive are subject to the GNU General Public License. - * See the file COPYING in the source tree root for full license agreement. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ -#ifndef _DIR_WIN32_H_ -#define _DIR_WIN32_H_ - -#include - -struct dirent { - unsigned char d_name[MAX_PATH]; - int attribute; - int size; - int startcluster; -}; - -typedef struct -{ - struct dirent fd; - int handle; -} DIR; - -extern DIR* opendir(const char* name); -extern int closedir(DIR* dir); -extern int mkdir(const char* name); -extern int rmdir(const char* name); - -extern struct dirent* readdir(DIR* dir); - -#define S_ISDIR(x) (((x) & _S_IFDIR) == _S_IFDIR) - -#endif diff --git a/uisimulator/win32/kernel.c b/uisimulator/win32/kernel.c deleted file mode 100644 index 34100a234e..0000000000 --- a/uisimulator/win32/kernel.c +++ /dev/null @@ -1,167 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2002 by Felix Arends - * - * All files in this archive are subject to the GNU General Public License. - * See the file COPYING in the source tree root for full license agreement. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - -#include -#include "uisw32.h" -#include "kernel.h" -#include "thread-win32.h" -#include "thread.h" -#include "debug.h" - -static void (*tick_funcs[MAX_NUM_TICK_TASKS])(void); - -int set_irq_level (int level) -{ - static int _lv = 0; - return (_lv = level); -} - -void queue_init(struct event_queue *q) -{ - q->read = 0; - q->write = 0; -} - -void queue_delete(struct event_queue *q) -{ - (void)q; -} - -void queue_wait(struct event_queue *q, struct event *ev) -{ - while(q->read == q->write) - { - switch_thread(); - } - - *ev = q->events[(q->read++) & QUEUE_LENGTH_MASK]; -} - -void queue_wait_w_tmo(struct event_queue *q, struct event *ev, int ticks) -{ - unsigned int timeout = current_tick + ticks; - - while(q->read == q->write && TIME_BEFORE( current_tick, timeout )) - { - sleep(1); - } - - if(q->read != q->write) - { - *ev = q->events[(q->read++) & QUEUE_LENGTH_MASK]; - } - else - { - ev->id = SYS_TIMEOUT; - } -} - -void queue_post(struct event_queue *q, long id, void *data) -{ - int wr; - int oldlevel; - - oldlevel = set_irq_level(15<<4); - wr = (q->write++) & QUEUE_LENGTH_MASK; - - q->events[wr].id = id; - q->events[wr].data = data; - set_irq_level(oldlevel); -} - -bool queue_empty(const struct event_queue* q) -{ - return ( q->read == q->write ); -} - -void queue_clear(struct event_queue* q) -{ - /* fixme: This is potentially unsafe in case we do interrupt-like processing */ - q->read = 0; - q->write = 0; -} - -void switch_thread (void) -{ - yield (); -} - -void sim_tick_tasks(void) -{ - int i; - - /* Run through the list of tick tasks */ - for(i = 0;i < MAX_NUM_TICK_TASKS;i++) - { - if(tick_funcs[i]) - { - tick_funcs[i](); - } - } -} - -int tick_add_task(void (*f)(void)) -{ - int i; - - /* Add a task if there is room */ - for(i = 0;i < MAX_NUM_TICK_TASKS;i++) - { - if(tick_funcs[i] == NULL) - { - tick_funcs[i] = f; - return 0; - } - } - DEBUGF("Error! tick_add_task(): out of tasks"); - return -1; -} - -int tick_remove_task(void (*f)(void)) -{ - int i; - - /* Remove a task if it is there */ - for(i = 0;i < MAX_NUM_TICK_TASKS;i++) - { - if(tick_funcs[i] == f) - { - tick_funcs[i] = NULL; - return 0; - } - } - - return -1; -} - -/* TODO: Implement mutexes for win32 */ -void mutex_init(struct mutex *m) -{ - (void)m; -} - -void mutex_lock(struct mutex *m) -{ - (void)m; -} - -void mutex_unlock(struct mutex *m) -{ - (void)m; -} diff --git a/uisimulator/win32/lcd-win32.c b/uisimulator/win32/lcd-win32.c deleted file mode 100644 index 8afd025a16..0000000000 --- a/uisimulator/win32/lcd-win32.c +++ /dev/null @@ -1,326 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2002 by Felix Arends - * - * All files in this archive are subject to the GNU General Public License. - * See the file COPYING in the source tree root for full license agreement. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - -#include -#include -#include "uisw32.h" -#include "lcd.h" -#include "lcd-playersim.h" -#include "debug.h" - -#if LCD_DEPTH == 16 -unsigned short bitmap[LCD_HEIGHT][LCD_WIDTH]; /* the ui display */ - -BITMAPINFO256 bmi = -{ - {sizeof (BITMAPINFOHEADER), - LCD_WIDTH, -LCD_HEIGHT, 1, 16, - BI_BITFIELDS, 0, 0, 0, 3, 3, - }, /* bitfield masks (RGB565) */ - {{0x00, 0xf8, 0, 0}, {0xe0, 0x07, 0, 0}, {0x1f, 0x00, 0, 0}} -}; /* bitmap information */ -#else -unsigned char bitmap[LCD_HEIGHT][LCD_WIDTH]; /* the ui display */ -RGBQUAD color_zero = {UI_LCD_BGCOLORLIGHT, 0}; -RGBQUAD color_max = {0, 0, 0, 0}; - -BITMAPINFO256 bmi = -{ - {sizeof (BITMAPINFOHEADER), - LCD_WIDTH, -LCD_HEIGHT, 1, 8, - BI_RGB, 0, 0, 0, 2, 2, - }, - {} /* colour lookup table gets filled later */ -}; /* bitmap information */ -#endif - -#ifdef HAVE_LCD_BITMAP - -#ifdef HAVE_REMOTE_LCD -unsigned char remote_bitmap[LCD_REMOTE_HEIGHT][LCD_REMOTE_WIDTH]; -RGBQUAD remote_color_zero = {UI_REMOTE_BGCOLORLIGHT, 0}; -RGBQUAD remote_color_max = {0, 0, 0, 0}; - -BITMAPINFO256 remote_bmi = -{ - {sizeof (BITMAPINFOHEADER), - LCD_REMOTE_WIDTH, -LCD_REMOTE_HEIGHT, 1, 8, - BI_RGB, 0, 0, 0, 2, 2, - }, - {} /* colour lookup table gets filled later */ -}; -#endif - -void lcd_update(void) -{ - lcd_update_rect(0, 0, LCD_WIDTH, LCD_HEIGHT); -} - -void lcd_update_rect(int x_start, int y_start, - int width, int height) -{ - int x, y; - int xmax, ymax; - RECT r; - - ymax = y_start + height; - xmax = x_start + width; - - if (hGUIWnd == NULL) - _endthread (); - - if(xmax > LCD_WIDTH) - xmax = LCD_WIDTH; - if(ymax >= LCD_HEIGHT) - ymax = LCD_HEIGHT; - - for (x = x_start; x < xmax; x++) - for (y = y_start; y < ymax; y++) - { -#if LCD_DEPTH == 1 - bitmap[y][x] = ((lcd_framebuffer[y/8][x] >> (y & 7)) & 1); -#elif LCD_DEPTH == 2 -#if LCD_PIXELFORMAT == HORIZONTAL_PACKING - bitmap[y][x] = ((lcd_framebuffer[y][x/4] >> (2 * (x & 3))) & 3); -#else - bitmap[y][x] = ((lcd_framebuffer[y/4][x] >> (2 * (y & 3))) & 3); -#endif -#elif LCD_DEPTH == 16 -#if LCD_PIXELFORMAT == RGB565SWAPPED - unsigned bits = lcd_framebuffer[y][x]; - bitmap[y][x] = (bits >> 8) | (bits << 8); -#else - bitmap[y][x] = lcd_framebuffer[y][x]; -#endif -#endif - } - - /* Invalidate only the window part that actually did change */ - GetClientRect (hGUIWnd, &r); - r.left = (UI_LCD_POSX + (UI_LCD_WIDTH * x_start / LCD_WIDTH)) - * r.right / UI_WIDTH; - r.top = (UI_LCD_POSY + (UI_LCD_HEIGHT * y_start / LCD_HEIGHT)) - * r.bottom / UI_HEIGHT; - r.right = (UI_LCD_POSX + (UI_LCD_WIDTH * xmax / LCD_WIDTH)) - * r.right / UI_WIDTH; - r.bottom = (UI_LCD_POSY + (UI_LCD_HEIGHT * ymax / LCD_HEIGHT)) - * r.bottom / UI_HEIGHT; - InvalidateRect (hGUIWnd, &r, FALSE); -} - -#ifdef HAVE_REMOTE_LCD - -extern unsigned char lcd_remote_framebuffer[LCD_REMOTE_HEIGHT/8][LCD_REMOTE_WIDTH]; - -void lcd_remote_update (void) -{ - lcd_remote_update_rect(0, 0, LCD_REMOTE_WIDTH, LCD_REMOTE_HEIGHT); -} - -void lcd_remote_update_rect(int x_start, int y_start, - int width, int height) -{ - int x, y; - int xmax, ymax; - RECT r; - - ymax = y_start + height; - xmax = x_start + width; - - if (hGUIWnd == NULL) - _endthread (); - - if(xmax > LCD_REMOTE_WIDTH) - xmax = LCD_REMOTE_WIDTH; - if(ymax >= LCD_REMOTE_HEIGHT) - ymax = LCD_REMOTE_HEIGHT; - - for (x = x_start; x < xmax; x++) - for (y = y_start; y < ymax; y++) - remote_bitmap[y][x] = ((lcd_remote_framebuffer[y/8][x] >> (y & 7)) & 1); - - /* Invalidate only the window part that actually did change */ - GetClientRect (hGUIWnd, &r); - r.left = (UI_REMOTE_POSX + (UI_REMOTE_WIDTH * x_start / LCD_REMOTE_WIDTH)) - * r.right / UI_WIDTH; - r.top = (UI_REMOTE_POSY + (UI_REMOTE_HEIGHT * y_start / LCD_REMOTE_HEIGHT)) - * r.bottom / UI_HEIGHT; - r.right = (UI_REMOTE_POSX + (UI_REMOTE_WIDTH * xmax / LCD_REMOTE_WIDTH)) - * r.right / UI_WIDTH; - r.bottom = (UI_REMOTE_POSY + (UI_REMOTE_HEIGHT * ymax / LCD_REMOTE_HEIGHT)) - * r.bottom / UI_HEIGHT; - InvalidateRect (hGUIWnd, &r, FALSE); -} - -#endif /* HAVE_REMOTE_LCD */ -#endif /* HAVE_LCD_BITMAP */ - -#ifdef HAVE_LCD_CHARCELLS -/* Defined in lcd-playersim.c */ -extern void lcd_print_char(int x, int y); -extern bool lcd_display_redraw; -extern unsigned char hardware_buffer_lcd[11][2]; -static unsigned char lcd_buffer_copy[11][2]; - -void lcd_update(void) -{ - int x, y; - bool changed = false; - RECT r; - - if (hGUIWnd == NULL) - _endthread (); - - for (y = 0; y < 2; y++) - { - for (x = 0; x < 11; x++) - { - if (lcd_display_redraw || - lcd_buffer_copy[x][y] != hardware_buffer_lcd[x][y]) - { - lcd_buffer_copy[x][y] = hardware_buffer_lcd[x][y]; - lcd_print_char(x, y); - changed = true; - } - } - } - if (changed) - { - /* Invalidate only the window part that actually did change */ - GetClientRect (hGUIWnd, &r); - r.left = UI_LCD_POSX * r.right / UI_WIDTH; - r.top = UI_LCD_POSY * r.bottom / UI_HEIGHT; - r.right = (UI_LCD_POSX + UI_LCD_WIDTH) * r.right / UI_WIDTH; - r.bottom = (UI_LCD_POSY + UI_LCD_HEIGHT) * r.bottom / UI_HEIGHT; - InvalidateRect (hGUIWnd, &r, FALSE); - } - lcd_display_redraw = false; -} - -void drawdots(int color, struct coordinate *points, int count) -{ - while (count--) - { - bitmap[points[count].y][points[count].x] = color; - } -} - -void drawrectangles(int color, struct rectangle *points, int count) -{ - while (count--) - { - int x; - int y; - int ix; - int iy; - - for (x = points[count].x, ix = 0; ix < points[count].width; x++, ix++) - { - for (y = points[count].y, iy = 0; iy < points[count].height; y++, iy++) - { - bitmap[y][x] = color; - } - } - } -} -#endif /* HAVE_LCD_CHARCELLS */ - -#if 0 -/* set backlight state of lcd */ -void lcd_backlight (bool on) -{ - if (on) - color_zero = {UI_LCD_BGCOLORLIGHT, 0}; - else - color_zero = {UI_LCD_BGCOLOR, 0}; - - lcdcolors(0, (1<rgbRed - + (end->rgbRed - start->rgbRed) * i / count; - bmi.bmiColors[i+index].rgbGreen = start->rgbGreen - + (end->rgbGreen - start->rgbGreen) * i / count; - bmi.bmiColors[i+index].rgbBlue = start->rgbBlue - + (end->rgbBlue - start->rgbBlue) * i / count; - } -} -#endif - -#ifdef HAVE_REMOTE_LCD -/* set a range of bitmap indices to a gradient from startcolour to endcolour */ -void lcdremotecolors(int index, int count, RGBQUAD *start, RGBQUAD *end) -{ - int i; - - remote_bmi.bmiHeader.biClrUsed = index + count; - remote_bmi.bmiHeader.biClrImportant = index + count; - - count--; - for (i = 0; i <= count; i++) - { - remote_bmi.bmiColors[i+index].rgbRed = start->rgbRed - + (end->rgbRed - start->rgbRed) * i / count; - remote_bmi.bmiColors[i+index].rgbGreen = start->rgbGreen - + (end->rgbGreen - start->rgbGreen) * i / count; - remote_bmi.bmiColors[i+index].rgbBlue = start->rgbBlue - + (end->rgbBlue - start->rgbBlue) * i / count; - } -} -#endif - -/* initialise simulator lcd driver */ -void simlcdinit(void) -{ -#if LCD_DEPTH <= 8 - lcdcolors(0, (1< 0) ? "on" : "off"); -} -#endif - -#ifdef HAVE_REMOTE_LCD -void sim_remote_backlight(int value) -{ - DEBUGF("remote backlight: %s\n", (value > 0) ? "on" : "off"); -} -#endif - diff --git a/uisimulator/win32/lcd-win32.h b/uisimulator/win32/lcd-win32.h deleted file mode 100644 index b3533ad0cb..0000000000 --- a/uisimulator/win32/lcd-win32.h +++ /dev/null @@ -1,47 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2002 by Felix Arends - * - * All files in this archive are subject to the GNU General Public License. - * See the file COPYING in the source tree root for full license agreement. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - -#ifndef __LCDWIN32_H__ -#define __LCDWIN32_H__ - -#include "uisw32.h" -#include "lcd.h" - -// BITMAPINFO256 -typedef struct -{ - BITMAPINFOHEADER bmiHeader; - RGBQUAD bmiColors[256]; -} BITMAPINFO256; - -#if LCD_DEPTH <= 8 -extern unsigned char bitmap[LCD_HEIGHT][LCD_WIDTH]; // the ui display -#elif LCD_DEPTH <= 16 -extern unsigned short bitmap[LCD_HEIGHT][LCD_WIDTH]; // the ui display -#endif -extern BITMAPINFO256 bmi; // bitmap information - -#ifdef HAVE_REMOTE_LCD -extern unsigned char remote_bitmap[LCD_REMOTE_HEIGHT][LCD_REMOTE_WIDTH]; -extern BITMAPINFO256 remote_bmi; // bitmap information -#endif - -void simlcdinit(void); - -#endif // #ifndef __LCDWIN32_H__ diff --git a/uisimulator/win32/panic-win32.c b/uisimulator/win32/panic-win32.c deleted file mode 100644 index 614510f3a8..0000000000 --- a/uisimulator/win32/panic-win32.c +++ /dev/null @@ -1,43 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2002 by Felix Arends - * - * All files in this archive are subject to the GNU General Public License. - * See the file COPYING in the source tree root for full license agreement. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - -#include -#include "debug.h" - -char panic_buf[128]; - -// panic -// whatever it says ;) -void panic( char *message ) -{ - debugf ( message ); - PostQuitMessage (-1); -} - - -// panicf -// formatted panic -void panicf( char *fmt, ...) -{ - va_list ap; - va_start( ap, fmt ); - wsprintf( panic_buf, fmt, ap ); - va_end( ap ); - panic( panic_buf ); -} diff --git a/uisimulator/win32/plugin-win32.h b/uisimulator/win32/plugin-win32.h deleted file mode 100644 index dd1c79080b..0000000000 --- a/uisimulator/win32/plugin-win32.h +++ /dev/null @@ -1,48 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2002 Björn Stenberg - * - * All files in this archive are subject to the GNU General Public License. - * See the file COPYING in the source tree root for full license agreement. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - -#ifndef _PLUGIN_WIN32_H_ -#define _PLUGIN_WIN32_H_ - -#define BOOL win32_BOOL /* Avoid conflicts with BOOL/INT defined as */ -#define INT win32_INT /* enum values in settings.h */ - -#include -#include "plugin.h" -#include "file.h" - -#define RTLD_NOW 0 - -#undef filesize -#define filesize win32_filesize - -#undef ftruncate -#define ftruncate NULL - -typedef enum plugin_status (*plugin_fn)(struct plugin_api* api, void* param); - -#define dlopen(_x_, _y_) LoadLibrary(_x_) -#define dlsym(_x_, _y_) (plugin_fn)GetProcAddress(_x_, _y_) -#define dlclose(_x_) FreeLibrary(_x_) -#define dlerror() "Unknown" - -int strcasecmp (const char *a, const char *b); -int strncasecmp (const char *a, const char *b, size_t n); - -#endif diff --git a/uisimulator/win32/plugin.def b/uisimulator/win32/plugin.def deleted file mode 100755 index e37ce20d8f..0000000000 --- a/uisimulator/win32/plugin.def +++ /dev/null @@ -1,2 +0,0 @@ -EXPORTS - __header diff --git a/uisimulator/win32/resource.h b/uisimulator/win32/resource.h deleted file mode 100644 index dc8a238d78..0000000000 --- a/uisimulator/win32/resource.h +++ /dev/null @@ -1,19 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by uisw32.rc -// -#define IDB_BITMAP1 102 -#define IDR_JPG1 103 -#define IDB_BITMAP2 104 -#define IDB_UI 104 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 105 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/uisimulator/win32/rockbox.dsp b/uisimulator/win32/rockbox.dsp deleted file mode 100644 index ae43fdf7bb..0000000000 --- a/uisimulator/win32/rockbox.dsp +++ /dev/null @@ -1,626 +0,0 @@ -# Microsoft Developer Studio Project File - Name="rockbox" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Application" 0x0101 - -CFG=rockbox - Win32 Player -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "rockbox.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "rockbox.mak" CFG="rockbox - Win32 Player" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "rockbox - Win32 Recorder" (based on "Win32 (x86) Application") -!MESSAGE "rockbox - Win32 Player" (based on "Win32 (x86) Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -MTL=midl.exe -RSC=rc.exe - -!IF "$(CFG)" == "rockbox - Win32 Recorder" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "rockbox___Win32_Recorder" -# PROP BASE Intermediate_Dir "rockbox___Win32_Recorder" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "rockbox___Win32_Recorder" -# PROP Intermediate_Dir "rockbox___Win32_Recorder" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../win32" /I "../../apps/recorder" /I "../../firmware/export" /I "../../firmware/drivers" /I "../../firmware/common" /I "../common" /I "../../apps" /D "ARCHOS_RECORDER" /D "HAVE_LCD_BITMAP" /D "HAVE_RECORDER_KEYPAD" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "HAVE_CONFIG_H" /D "GETTIMEOFDAY_TWO_ARGS" /D "SIMULATOR" /D "HAVE_RTC" /D APPSVERSION=\"WIN32SIM\" /FR /YX /FD /GZ /c -# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x407 /d "_DEBUG" -# ADD RSC /l 0x407 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libcmtd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /pdbtype:sept - -!ELSEIF "$(CFG)" == "rockbox - Win32 Player" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "rockbox___Win32_Player" -# PROP BASE Intermediate_Dir "rockbox___Win32_Player" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "rockbox___Win32_Player" -# PROP Intermediate_Dir "rockbox___Win32_Player" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../win32" /I "../../apps/player" /I "../../firmware/export" /I "../../firmware/drivers" /I "../../firmware/common" /I "../common" /I "../../apps" /D "ARCHOS_PLAYER" /D "HAVE_LCD_CHARCELLS" /D "HAVE_PLAYER_KEYPAD" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "HAVE_CONFIG_H" /D "GETTIMEOFDAY_TWO_ARGS" /D "SIMULATOR" /D APPSVERSION=\"WIN32SIM\" /FR /YX /FD /GZ /c -# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x407 /d "_DEBUG" -# ADD RSC /l 0x407 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libcmtd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /pdbtype:sept - -!ENDIF - -# Begin Target - -# Name "rockbox - Win32 Recorder" -# Name "rockbox - Win32 Player" -# Begin Group "Firmware" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=..\..\firmware\buffer.c -# End Source File -# Begin Source File - -SOURCE=..\..\firmware\font.c - -!IF "$(CFG)" == "rockbox - Win32 Recorder" - -!ELSEIF "$(CFG)" == "rockbox - Win32 Player" - -# PROP Exclude_From_Build 1 - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=..\..\firmware\id3.c -# End Source File -# Begin Source File - -SOURCE=..\..\firmware\mp3_playback.c -# End Source File -# Begin Source File - -SOURCE=..\..\firmware\mp3data.c -# End Source File -# Begin Source File - -SOURCE=..\..\firmware\mpeg.c -# End Source File -# Begin Source File - -SOURCE=..\..\firmware\powermgmt.c -# End Source File -# Begin Source File - -SOURCE=..\..\firmware\usb.c -# End Source File -# End Group -# Begin Group "Drivers" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE="..\..\firmware\drivers\lcd-player-charset.c" - -!IF "$(CFG)" == "rockbox - Win32 Recorder" - -# PROP Exclude_From_Build 1 - -!ELSEIF "$(CFG)" == "rockbox - Win32 Player" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE="..\..\firmware\drivers\lcd-player.c" - -!IF "$(CFG)" == "rockbox - Win32 Recorder" - -# PROP Exclude_From_Build 1 - -!ELSEIF "$(CFG)" == "rockbox - Win32 Player" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE="..\common\lcd-playersim.c" - -!IF "$(CFG)" == "rockbox - Win32 Recorder" - -# PROP Exclude_From_Build 1 - -!ELSEIF "$(CFG)" == "rockbox - Win32 Player" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE="..\..\firmware\drivers\lcd-recorder.c" - -!IF "$(CFG)" == "rockbox - Win32 Recorder" - -!ELSEIF "$(CFG)" == "rockbox - Win32 Player" - -# PROP Exclude_From_Build 1 - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=..\..\firmware\drivers\power.c -# End Source File -# End Group -# Begin Group "Common" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=..\..\firmware\common\errno.c -# End Source File -# Begin Source File - -SOURCE=..\..\firmware\common\random.c -# End Source File -# Begin Source File - -SOURCE=..\..\firmware\common\sprintf.c -# End Source File -# Begin Source File - -SOURCE=..\..\firmware\common\strtok.c -# End Source File -# Begin Source File - -SOURCE=..\..\firmware\common\timefuncs.c -# End Source File -# End Group -# Begin Group "Apps" - -# PROP Default_Filter "" -# Begin Group "Player" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=..\..\apps\player\icons.c - -!IF "$(CFG)" == "rockbox - Win32 Recorder" - -# PROP Exclude_From_Build 1 - -!ELSEIF "$(CFG)" == "rockbox - Win32 Player" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=..\..\apps\player\icons.h - -!IF "$(CFG)" == "rockbox - Win32 Recorder" - -# PROP Exclude_From_Build 1 - -!ELSEIF "$(CFG)" == "rockbox - Win32 Player" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=..\..\apps\player\keyboard.c - -!IF "$(CFG)" == "rockbox - Win32 Recorder" - -# PROP Exclude_From_Build 1 - -!ELSEIF "$(CFG)" == "rockbox - Win32 Player" - -!ENDIF - -# End Source File -# End Group -# Begin Group "Recorder" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=..\..\apps\recorder\bmp.c - -!IF "$(CFG)" == "rockbox - Win32 Recorder" - -!ELSEIF "$(CFG)" == "rockbox - Win32 Player" - -# PROP Exclude_From_Build 1 - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=..\..\apps\recorder\icons.c - -!IF "$(CFG)" == "rockbox - Win32 Recorder" - -!ELSEIF "$(CFG)" == "rockbox - Win32 Player" - -# PROP Exclude_From_Build 1 - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=..\..\apps\recorder\keyboard.c - -!IF "$(CFG)" == "rockbox - Win32 Recorder" - -!ELSEIF "$(CFG)" == "rockbox - Win32 Player" - -# PROP Exclude_From_Build 1 - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=..\..\apps\recorder\peakmeter.c - -!IF "$(CFG)" == "rockbox - Win32 Recorder" - -!ELSEIF "$(CFG)" == "rockbox - Win32 Player" - -# PROP Exclude_From_Build 1 - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=..\..\apps\recorder\widgets.c - -!IF "$(CFG)" == "rockbox - Win32 Recorder" - -!ELSEIF "$(CFG)" == "rockbox - Win32 Player" - -# PROP Exclude_From_Build 1 - -!ENDIF - -# End Source File -# End Group -# Begin Source File - -SOURCE=..\..\apps\alarm_menu.c -# End Source File -# Begin Source File - -SOURCE=..\..\apps\bookmark.c -# End Source File -# Begin Source File - -SOURCE=..\..\apps\credits.c -# End Source File -# Begin Source File - -SOURCE=..\..\apps\debug_menu.c -# End Source File -# Begin Source File - -SOURCE=..\..\apps\filetypes.c -# End Source File -# Begin Source File - -SOURCE=..\..\apps\language.c -# End Source File -# Begin Source File - -SOURCE=..\..\apps\main.c -# End Source File -# Begin Source File - -SOURCE=..\..\apps\main_menu.c -# End Source File -# Begin Source File - -SOURCE=..\..\apps\menu.c -# End Source File -# Begin Source File - -SOURCE=..\..\apps\misc.c -# End Source File -# Begin Source File - -SOURCE=..\..\apps\onplay.c -# End Source File -# Begin Source File - -SOURCE=..\..\apps\playlist.c -# End Source File -# Begin Source File - -SOURCE=..\..\apps\playlist_menu.c -# End Source File -# Begin Source File - -SOURCE=..\..\apps\playlist_viewer.c -# End Source File -# Begin Source File - -SOURCE=..\..\apps\plugin.c -# End Source File -# Begin Source File - -SOURCE=..\..\apps\screens.c -# End Source File -# Begin Source File - -SOURCE=..\..\apps\settings.c -# End Source File -# Begin Source File - -SOURCE=..\..\apps\settings_menu.c -# End Source File -# Begin Source File - -SOURCE=..\..\apps\sleeptimer.c -# End Source File -# Begin Source File - -SOURCE=..\..\apps\sound_menu.c -# End Source File -# Begin Source File - -SOURCE=..\..\apps\status.c -# End Source File -# Begin Source File - -SOURCE=..\..\apps\tree.c -# End Source File -# Begin Source File - -SOURCE="..\..\apps\wps-display.c" -# End Source File -# Begin Source File - -SOURCE=..\..\apps\wps.c -# End Source File -# End Group -# Begin Group "Win32" - -# PROP Default_Filter "" -# Begin Group "AppsCommon" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE="..\common\lcd-common.c" -# End Source File -# Begin Source File - -SOURCE=..\common\mpegplay.c -# End Source File -# Begin Source File - -SOURCE=..\common\sim_icons.c -# End Source File -# Begin Source File - -SOURCE=..\common\stubs.c -# End Source File -# End Group -# Begin Source File - -SOURCE=.\button.c -# End Source File -# Begin Source File - -SOURCE=".\debug-win32.c" -# End Source File -# Begin Source File - -SOURCE=".\dir-win32.c" -# End Source File -# Begin Source File - -SOURCE="..\common\font-player.c" - -!IF "$(CFG)" == "rockbox - Win32 Recorder" - -# PROP Exclude_From_Build 1 - -!ELSEIF "$(CFG)" == "rockbox - Win32 Player" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=..\common\io.c -# End Source File -# Begin Source File - -SOURCE=.\kernel.c -# End Source File -# Begin Source File - -SOURCE=.\lang.c -# End Source File -# Begin Source File - -SOURCE=".\lcd-win32.c" -# End Source File -# Begin Source File - -SOURCE=".\mpeg-win32.c" -# End Source File -# Begin Source File - -SOURCE=".\panic-win32.c" -# End Source File -# Begin Source File - -SOURCE=".\string-win32.c" -# End Source File -# Begin Source File - -SOURCE=.\sysfont.c -# End Source File -# Begin Source File - -SOURCE=".\thread-win32.c" -# End Source File -# Begin Source File - -SOURCE=.\uisw32.c -# End Source File -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# Begin Source File - -SOURCE=.\uisw32.rc -# End Source File -# End Group -# Begin Group "Script inputs" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=..\..\firmware\fonts\clR6x8.bdf - -!IF "$(CFG)" == "rockbox - Win32 Recorder" - -# Begin Custom Build - Creating font from $(InputPath) -InputPath=..\..\firmware\fonts\clR6x8.bdf - -"sysfont.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - ..\..\tools\convbdf -c -o sysfont.c $(InputPath) - -# End Custom Build - -!ELSEIF "$(CFG)" == "rockbox - Win32 Player" - -# Begin Custom Build - Creating font from $(InputPath) -InputPath=..\..\firmware\fonts\clR6x8.bdf - -"sysfont.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - ..\..\tools\convbdf -c -o sysfont.c $(InputPath) - -# End Custom Build - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=..\..\docs\CREDITS - -!IF "$(CFG)" == "rockbox - Win32 Recorder" - -# PROP Ignore_Default_Tool 1 -# Begin Custom Build - Creating credits from $(InputPath) -InputPath=..\..\docs\CREDITS - -"../../apps/credits.raw" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - perl ../../apps/credits.pl < $(InputPath) > ../../apps/credits.raw - -# End Custom Build - -!ELSEIF "$(CFG)" == "rockbox - Win32 Player" - -# PROP Ignore_Default_Tool 1 -# Begin Custom Build - Creating credits from $(InputPath) -InputPath=..\..\docs\CREDITS - -"../../apps/credits.raw" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - perl ../../apps/credits.pl < $(InputPath) > ../../apps/credits.raw - -# End Custom Build - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=..\..\apps\lang\english.lang - -!IF "$(CFG)" == "rockbox - Win32 Recorder" - -# Begin Custom Build - Creating language files from $(InputPath) -InputPath=..\..\apps\lang\english.lang - -BuildCmds= \ - perl -s ..\..\tools\genlang -p=lang $(InputPath) - -"lang.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - $(BuildCmds) - -"lang.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - $(BuildCmds) -# End Custom Build - -!ELSEIF "$(CFG)" == "rockbox - Win32 Player" - -# Begin Custom Build - Creating language files from $(InputPath) -InputPath=..\..\apps\lang\english.lang - -BuildCmds= \ - perl -s ..\..\tools\genlang -p=lang $(InputPath) - -"lang.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - $(BuildCmds) - -"lang.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - $(BuildCmds) -# End Custom Build - -!ENDIF - -# End Source File -# End Group -# End Target -# End Project diff --git a/uisimulator/win32/rockbox.ico b/uisimulator/win32/rockbox.ico deleted file mode 100644 index 0769e6aec8..0000000000 Binary files a/uisimulator/win32/rockbox.ico and /dev/null differ diff --git a/uisimulator/win32/sound.c b/uisimulator/win32/sound.c deleted file mode 100644 index 54140f59e4..0000000000 --- a/uisimulator/win32/sound.c +++ /dev/null @@ -1,201 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2005 by Magnus Holmgren - * - * All files in this archive are subject to the GNU General Public License. - * See the file COPYING in the source tree root for full license agreement. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - -#include "autoconf.h" - -#ifdef ROCKBOX_HAS_SIMSOUND - -#define WINDOWS_LEAN_AND_MEAN -#include - -#include -#include -#include - -#include "sound.h" -#include "kernel.h" -#include "thread-win32.h" -#include "debug.h" - -static bool playing = false; - -void pcm_play_stop(void); - -static void sound_play_chunk(HWAVEOUT wave_out, LPWAVEHDR header, - HANDLE event) -{ - unsigned char* buf; - long len; - - if (!(header->dwFlags & WHDR_DONE) || !sound_get_pcm) - { - return; - } - - EnterCriticalSection(&CriticalSection); - sound_get_pcm(&buf, &len); - LeaveCriticalSection(&CriticalSection); - - if (len == 0) - { - DEBUGF("simulator got no pcm\n"); - sound_get_pcm = NULL; - return; - } - - header->lpData = buf; - header->dwBufferLength = len; - header->dwBytesRecorded = 0; - header->dwUser = 0; - header->dwFlags = 0; - header->dwLoops = 1; - header->lpNext = NULL; - header->reserved = 0; - - if (MMSYSERR_NOERROR != waveOutPrepareHeader(wave_out, header, - sizeof(*header))) - { - return; - } - - ResetEvent(event); - - waveOutWrite(wave_out, header, sizeof(*header)); -} - -static int sound_init(LPHWAVEOUT wave_out, HANDLE event) -{ - static const WAVEFORMATEX format = - { - WAVE_FORMAT_PCM, /* Format */ - 2, /* Number of channels */ - 44100, /* Samples per second */ - 44100 * 4, /* Bytes per second */ - 4, /* Block align */ - 16, /* Bits per sample */ - 0 /* Extra size */ - }; - - if (MMSYSERR_NOERROR != waveOutOpen(wave_out, WAVE_MAPPER, &format, - (DWORD_PTR) event, 0, CALLBACK_EVENT)) - { - return -1; - } - - /* Full volume on left and right */ - waveOutSetVolume(*wave_out, 0xffffffff); - - return 0; -} - -void sound_playback_thread(void) -{ - /* To get smooth playback, two buffers are needed, which are queued for - * playback. (There can still be glitches though.) - */ - HWAVEOUT wave_out; - WAVEHDR header1; - WAVEHDR header2; - HANDLE event; - int result = -1; - - if ((event = CreateEvent(NULL, FALSE, FALSE, NULL))) - { - result = sound_init(&wave_out, event); - } - - while(-1 == result || !event) - { - Sleep(100000); /* Wait forever, can't play sound! */ - } - - while (true) - { - while (!sound_get_pcm) - { - /* TODO: fix a fine thread-synch mechanism here */ - Sleep(100); - } - - DEBUGF("starting simulator playback\n"); - header1.dwFlags = WHDR_DONE; - header2.dwFlags = WHDR_DONE; - sound_play_chunk(wave_out, &header1, event); - sound_play_chunk(wave_out, &header2, event); - - while (sound_get_pcm - && (WAIT_FAILED != WaitForSingleObject(event, 1000))) - { - sound_play_chunk(wave_out, &header1, event); - sound_play_chunk(wave_out, &header2, event); - } - - pcm_play_stop(); - - DEBUGF("stopping simulator playback\n"); - - waveOutReset(wave_out); - } -} - - -/* Stubs for PCM audio playback. */ -bool pcm_is_playing(void) -{ - return playing; -} - -void pcm_mute(bool state) -{ - (void)state; -} - -void pcm_play_pause(bool state) -{ - (void)state; -} - -bool pcm_is_paused(void) -{ - return false; -} - -void pcm_play_stop(void) -{ - playing = false; -} - -void pcm_init(void) -{ -} - -void (*sound_get_pcm)(unsigned char** start, long* size); -void pcm_play_data(void (*get_more)(unsigned char** start, long* size)) -{ - sound_get_pcm = get_more; - playing = true; -} - -long pcm_get_bytes_waiting(void) -{ - return 0; -} - - -#endif /* ROCKBOX_HAS_SIMSOUND */ diff --git a/uisimulator/win32/sound.h b/uisimulator/win32/sound.h deleted file mode 100644 index 87499cac8e..0000000000 --- a/uisimulator/win32/sound.h +++ /dev/null @@ -1,22 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2005 by Daniel Stenberg - * - * All files in this archive are subject to the GNU General Public License. - * See the file COPYING in the source tree root for full license agreement. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - -void sound_playback_thread(void); - -extern void (*sound_get_pcm)(unsigned char** start, long* size); diff --git a/uisimulator/win32/sprintf.h b/uisimulator/win32/sprintf.h deleted file mode 100644 index 24e1d4e352..0000000000 --- a/uisimulator/win32/sprintf.h +++ /dev/null @@ -1,36 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2002 by Felix Arends - * - * All files in this archive are subject to the GNU General Public License. - * See the file COPYING in the source tree root for full license agreement. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - -#ifndef __SPRINTF_H__ -#define __SPRINTF_H__ - -#include -#include -#include - -int snprintf (char *buf, size_t size, const char *fmt, ...); -char *strtok_r (char *, const char *, char **); - -int rockbox_fprintf (int fd, const char *fmt, ...); -#define fprintf rockbox_fprintf - -int rockbox_vsnprintf (char *buf, int size, const char *fmt, va_list ap); -#define vsnprintf rockbox_vsnprintf - -#endif /* __SPRINTF_H__ */ diff --git a/uisimulator/win32/stdbool.h b/uisimulator/win32/stdbool.h deleted file mode 100644 index d91ef374b9..0000000000 --- a/uisimulator/win32/stdbool.h +++ /dev/null @@ -1,46 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2002 by Felix Arends - * - * All files in this archive are subject to the GNU General Public License. - * See the file COPYING in the source tree root for full license agreement. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - -#ifndef __STDBOOL_H__ -#define __STDBOOL_H__ 1 - -#ifndef __MINGW32__ -typedef unsigned int bool; -#define __attribute__(s) - -#define true 1 -#define false 0 -#else - -typedef enum -{ - false = 0, - true = 1 -} bool; - -#define false false -#define true true - -/* Signal that all the definitions are present. */ -#define __bool_true_false_are_defined 1 - -#endif - -#endif /* __STDBOOL_H__ */ - diff --git a/uisimulator/win32/string-win32.c b/uisimulator/win32/string-win32.c deleted file mode 100644 index ced1a410ca..0000000000 --- a/uisimulator/win32/string-win32.c +++ /dev/null @@ -1,34 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2002 by Felix Arends - * - * All files in this archive are subject to the GNU General Public License. - * See the file COPYING in the source tree root for full license agreement. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - -#ifndef __MINGW32__ - -#include - -int strcasecmp (const char *a, const char *b) -{ - return stricmp (a, b); -} - -int strncasecmp (const char *a, const char *b, size_t n) -{ - return _strnicmp (a, b, n); -} - -#endif diff --git a/uisimulator/win32/thread-win32.c b/uisimulator/win32/thread-win32.c deleted file mode 100644 index 7c33017c7e..0000000000 --- a/uisimulator/win32/thread-win32.c +++ /dev/null @@ -1,80 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2002 by Felix Arends - * - * All files in this archive are subject to the GNU General Public License. - * See the file COPYING in the source tree root for full license agreement. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - -#define WINDOWS_LEAN_AND_MEAN -#include -#include -#include "thread-win32.h" -#include "kernel.h" -#include "debug.h" - -HANDLE lpThreads[256]; -int nThreads = 0, - nPos = 0; -long current_tick = 0; -CRITICAL_SECTION CriticalSection; - - -void yield(void) -{ - LeaveCriticalSection(&CriticalSection); - Sleep(1); - EnterCriticalSection(&CriticalSection); -} - -void sim_sleep(int ticks) -{ - LeaveCriticalSection(&CriticalSection); - Sleep((1000/HZ) * ticks); - EnterCriticalSection(&CriticalSection); -} - -DWORD WINAPI runthread (LPVOID lpParameter) -{ - EnterCriticalSection(&CriticalSection); - ((void(*)())lpParameter) (); - LeaveCriticalSection(&CriticalSection); - return 0; -} - -int create_thread(void (*fp)(void), void* sp, int stk_size) -{ - DWORD dwThreadID; - - (void)sp; - (void)stk_size; - - if (nThreads == 256) - return -1; - - lpThreads[nThreads++] = CreateThread (NULL, - 0, - runthread, - fp, - 0, - &dwThreadID); - - return 0; -} - -void init_threads(void) -{ - InitializeCriticalSection(&CriticalSection); - EnterCriticalSection(&CriticalSection); -} diff --git a/uisimulator/win32/thread-win32.h b/uisimulator/win32/thread-win32.h deleted file mode 100644 index 467c47ee39..0000000000 --- a/uisimulator/win32/thread-win32.h +++ /dev/null @@ -1,23 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2002 by Felix Arends - * - * All files in this archive are subject to the GNU General Public License. - * See the file COPYING in the source tree root for full license agreement. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - -extern HANDLE lpThreads[256]; -extern int nPos, - nThreads; -extern CRITICAL_SECTION CriticalSection; diff --git a/uisimulator/win32/timefuncs.h b/uisimulator/win32/timefuncs.h deleted file mode 100644 index 8fbc5b1c85..0000000000 --- a/uisimulator/win32/timefuncs.h +++ /dev/null @@ -1,8 +0,0 @@ -#include -#include -#include - -/* struct tm defined */ -struct tm *get_time(void); -int set_time(const struct tm *tm); -bool valid_time(const struct tm *tm); diff --git a/uisimulator/win32/uisw32.c b/uisimulator/win32/uisw32.c deleted file mode 100644 index 1b4dbbd410..0000000000 --- a/uisimulator/win32/uisw32.c +++ /dev/null @@ -1,344 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2002 by Felix Arends - * - * All files in this archive are subject to the GNU General Public License. - * See the file COPYING in the source tree root for full license agreement. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - -#include -#include -#include -#include -#include "autoconf.h" -#include "uisw32.h" -#include "resource.h" -#include "button.h" -#include "thread.h" -#include "thread-win32.h" -#include "kernel.h" -#include "sound.h" - -#ifndef LR_VGACOLOR /* Should be under MINGW32 builds? */ -#define LR_VGACOLOR LR_COLOR -#endif - -// extern functions -extern void app_main (void *); // mod entry point -extern void new_key(int key); -extern void sim_tick_tasks(void); - -void button_event(int key, bool pressed); - -// variables -HWND hGUIWnd; // the GUI window handle -unsigned int uThreadID; // id of mod thread -PBYTE lpKeys; -bool bActive; // window active? -HANDLE hGUIThread; // thread for GUI -#ifdef ROCKBOX_HAS_SIMSOUND -HANDLE hSoundThread; // thread for sound -#endif -bool bIsWinNT; // Windows NT derivate? - -bool lcd_display_redraw=true; // Used for player simulator -char having_new_lcd=true; // Used for player simulator - -// GUIWndProc -// window proc for GUI simulator -LRESULT CALLBACK GUIWndProc ( - HWND hWnd, - UINT uMsg, - WPARAM wParam, - LPARAM lParam - ) -{ - static HBITMAP hBkgnd; - static HDC hMemDc; - - static LARGE_INTEGER persec, tick1, ticknow; - long new_tick; - - switch (uMsg) - { - case WM_TIMER: - QueryPerformanceCounter(&ticknow); - new_tick = ((ticknow.QuadPart-tick1.QuadPart)*HZ)/persec.QuadPart; - if (new_tick != current_tick) - { - long i; - for (i = new_tick - current_tick; i > 0; i--) - sim_tick_tasks(); - current_tick = new_tick; - } - return TRUE; - case WM_ACTIVATE: - if (LOWORD(wParam) == WA_ACTIVE || LOWORD(wParam) == WA_CLICKACTIVE) - bActive = true; - else - bActive = false; - return TRUE; - case WM_CREATE: - QueryPerformanceFrequency(&persec); - QueryPerformanceCounter(&tick1); - SetTimer (hWnd, TIMER_EVENT, 1, NULL); - - // load background image - hBkgnd = (HBITMAP)LoadImage (GetModuleHandle (NULL), - MAKEINTRESOURCE(IDB_UI), IMAGE_BITMAP, 0, 0, LR_VGACOLOR); - hMemDc = CreateCompatibleDC (GetDC (hWnd)); - SelectObject (hMemDc, hBkgnd); - return TRUE; - case WM_SIZING: - { - LPRECT r = (LPRECT)lParam; - char s[256]; - int v; - int h_add = GetSystemMetrics (SM_CXSIZEFRAME) * 2 + 4; - int v_add = GetSystemMetrics (SM_CYSIZEFRAME) * 2 - + GetSystemMetrics (SM_CYCAPTION) + 4; - - switch (wParam) - { - case WMSZ_BOTTOM: - v = (r->bottom - r->top) / (UI_HEIGHT / 5); - r->bottom = r->top + v * UI_HEIGHT / 5 + v_add; - r->right = r->left + v * UI_WIDTH / 5 + h_add; - break; - case WMSZ_RIGHT: - v = (r->right - r->left) / (UI_WIDTH / 5); - r->bottom = r->top + v * UI_HEIGHT / 5 + v_add; - r->right = r->left + v * UI_WIDTH / 5 + h_add; - break; - case WMSZ_TOP: - v = (r->bottom - r->top) / (UI_HEIGHT / 5); - r->top = r->bottom - v * UI_HEIGHT / 5 - v_add; - r->right = r->left + v * UI_WIDTH / 5 + h_add; - break; - case WMSZ_LEFT: - v = (r->right - r->left) / (UI_WIDTH / 5); - r->bottom = r->top + v * UI_HEIGHT / 5 + v_add; - r->left = r->right - v * UI_WIDTH / 5 - h_add; - break; - case WMSZ_BOTTOMRIGHT: - v = ((r->right - r->left) * UI_HEIGHT - +(r->bottom - r->top) * UI_WIDTH) - / (2 * UI_WIDTH * UI_HEIGHT / 5); - r->bottom = r->top + v * UI_HEIGHT / 5 + v_add; - r->right = r->left + v * UI_WIDTH / 5 + h_add; - break; - case WMSZ_BOTTOMLEFT: - v = ((r->right - r->left) * UI_HEIGHT - +(r->bottom - r->top) * UI_WIDTH) - / (2 * UI_WIDTH * UI_HEIGHT / 5); - r->bottom = r->top + v * UI_HEIGHT / 5 + v_add; - r->left = r->right - v * UI_WIDTH / 5 - h_add; - break; - case WMSZ_TOPRIGHT: - v = ((r->right - r->left) * UI_HEIGHT - +(r->bottom - r->top) * UI_WIDTH) - / (2 * UI_WIDTH * UI_HEIGHT / 5); - r->top = r->bottom - v * UI_HEIGHT / 5 - v_add; - r->right = r->left + v * UI_WIDTH / 5 + h_add; - break; - case WMSZ_TOPLEFT: - v = ((r->right - r->left) * UI_HEIGHT - +(r->bottom - r->top) * UI_WIDTH) - / (2 * UI_WIDTH * UI_HEIGHT / 5); - r->top = r->bottom - v * UI_HEIGHT / 5 - v_add; - r->left = r->right - v * UI_WIDTH / 5 - h_add; - break; - } - - wsprintf (s, UI_TITLE " @%d%%", - (r->right - r->left - h_add + 1) * 100 / UI_WIDTH); - SetWindowText (hWnd, s); - - return TRUE; - } - case WM_ERASEBKGND: - { - HDC hDc = (HDC) wParam; - RECT r; - - GetClientRect (hWnd, &r); - // blit background image to screen - SetStretchBltMode(hDc, bIsWinNT ? HALFTONE : COLORONCOLOR); - StretchBlt (hDc, 0, 0, r.right, r.bottom, - hMemDc, 0, 0, UI_WIDTH, UI_HEIGHT, SRCCOPY); - return TRUE; - } - case WM_PAINT: - { - PAINTSTRUCT ps; - RECT r; - HDC hDc = BeginPaint (hWnd, &ps); - - GetClientRect (hWnd, &r); - // draw lcd screen - SetStretchBltMode(hDc, bIsWinNT ? HALFTONE : COLORONCOLOR); - StretchDIBits (hDc, - UI_LCD_POSX * r.right / UI_WIDTH, - UI_LCD_POSY * r.bottom / UI_HEIGHT, - UI_LCD_WIDTH * r.right / UI_WIDTH, - UI_LCD_HEIGHT * r.bottom / UI_HEIGHT, - 0, 0, LCD_WIDTH, LCD_HEIGHT, - bitmap, (BITMAPINFO *) &bmi, DIB_RGB_COLORS, - SRCCOPY); -#ifdef HAVE_REMOTE_LCD - StretchDIBits (hDc, - UI_REMOTE_POSX * r.right / UI_WIDTH, - UI_REMOTE_POSY * r.bottom / UI_HEIGHT, - UI_REMOTE_WIDTH * r.right / UI_WIDTH, - UI_REMOTE_HEIGHT * r.bottom / UI_HEIGHT, - 0, 0, LCD_REMOTE_WIDTH, LCD_REMOTE_HEIGHT, - remote_bitmap, (BITMAPINFO *) &remote_bmi, - DIB_RGB_COLORS, SRCCOPY); -#endif - EndPaint (hWnd, &ps); - return TRUE; - } - case WM_CLOSE: - // close simulator - KillTimer (hWnd, TIMER_EVENT); - hGUIWnd = NULL; - PostQuitMessage (0); - break; - case WM_DESTROY: - // close simulator - hGUIWnd = NULL; - PostQuitMessage (0); - break; - case WM_KEYDOWN: - button_event(wParam, true); - break; - case WM_KEYUP: - button_event(wParam, false); - break; - } - - return DefWindowProc (hWnd, uMsg, wParam, lParam); -} - -// GUIStartup -// register window class, show window, init GUI -BOOL GUIStartup () -{ - WNDCLASS wc; - - // create window class - ZeroMemory (&wc, sizeof(wc)); - wc.hbrBackground = GetSysColorBrush (COLOR_WINDOW); - wc.hCursor = LoadCursor (NULL, IDC_ARROW); - wc.hInstance = GetModuleHandle (NULL); - wc.lpfnWndProc = GUIWndProc; - wc.lpszClassName = "RockBoxUISimulator"; - wc.style = CS_HREDRAW | CS_VREDRAW; - - if (RegisterClass (&wc) == 0) - return FALSE; - - // create window - hGUIWnd = CreateWindowEx ( - WS_EX_OVERLAPPEDWINDOW, - "RockBoxUISimulator", UI_TITLE, - WS_VISIBLE | WS_SYSMENU | WS_OVERLAPPEDWINDOW, - CW_USEDEFAULT, CW_USEDEFAULT, - UI_WIDTH + GetSystemMetrics (SM_CXSIZEFRAME) * 2 +4, - UI_HEIGHT + GetSystemMetrics (SM_CYSIZEFRAME) * 2 + - GetSystemMetrics (SM_CYCAPTION) +4, - NULL, NULL, GetModuleHandle (NULL), NULL); - - if (hGUIWnd == NULL) - return FALSE; - - simlcdinit(); - - return TRUE; -} - -// GUIDown -// destroy window, unregister window class -int GUIDown () -{ - int i; - - DestroyWindow (hGUIWnd); - CloseHandle (hGUIThread); -#ifdef ROCKBOX_HAS_SIMSOUND - CloseHandle (hSoundThread); -#endif - - for (i = 0; i < nThreads; i++) - { - CloseHandle (lpThreads[i]); - } - return 0; -} - -// GUIMessageLoop -// standard message loop for GUI window -void GUIMessageLoop () -{ - MSG msg; - while (GetMessage (&msg, NULL, 0, 0)) - { - TranslateMessage (&msg); - DispatchMessage (&msg); - } -} - - -// WinMain -// program entry point -int WINAPI WinMain ( - HINSTANCE hInstance, // current instance - HINSTANCE hPrevInstance, // previous instance - LPSTR lpCmd, // command line - int nShowCmd // show command - ) -{ - DWORD dwThreadID; - - (void)hInstance; - (void)hPrevInstance; - (void)lpCmd; - (void)nShowCmd; - - /* default file mode should be O_BINARY to be consistent with rockbox */ - _fmode = _O_BINARY; - - bIsWinNT = ((GetVersion() & 0x80000000) == 0); - - if (!GUIStartup ()) - return 0; - - hGUIThread = CreateThread (NULL, 0, (LPTHREAD_START_ROUTINE)app_main, - NULL, 0, &dwThreadID); - - if (hGUIThread == NULL) - return MessageBox (NULL, "Error creating gui thread!", "Error", MB_OK); - -#ifdef ROCKBOX_HAS_SIMSOUND - hSoundThread = CreateThread (NULL, 0, (LPTHREAD_START_ROUTINE) - sound_playback_thread, NULL, 0, &dwThreadID); - - if (hSoundThread == NULL) - MessageBox (NULL, "Error creating sound thread!", "Warning", MB_OK); -#endif - - GUIMessageLoop (); - - return GUIDown (); -} diff --git a/uisimulator/win32/uisw32.h b/uisimulator/win32/uisw32.h deleted file mode 100644 index 22a9015196..0000000000 --- a/uisimulator/win32/uisw32.h +++ /dev/null @@ -1,168 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2002 by Felix Arends - * - * All files in this archive are subject to the GNU General Public License. - * See the file COPYING in the source tree root for full license agreement. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - -#ifndef __UISW32_H__ -#define __UISW32_H__ - -#ifdef _MSC_VER -typedef unsigned short wchar_t; -#define _WCHAR_T_DEFINED -#endif -#include -#include "lcd-win32.h" - -#if defined(ARCHOS_RECORDER) -#define UI_TITLE "Jukebox Recorder" -#define UI_WIDTH 270 // width of GUI window -#define UI_HEIGHT 406 // height of GUI window -#define UI_LCD_BGCOLOR 90, 145, 90 // bkgnd color of LCD (no backlight) -#define UI_LCD_BGCOLORLIGHT 126, 229, 126 // bkgnd color of LCD (backlight) -#define UI_LCD_BLACK 0, 0, 0 // black -#define UI_LCD_POSX 80 // x position of lcd -#define UI_LCD_POSY 104 // y position of lcd (96 for real aspect) -#define UI_LCD_WIDTH 112 -#define UI_LCD_HEIGHT 64 // (80 for real aspect) - -#elif defined(ARCHOS_PLAYER) -#define UI_TITLE "Jukebox Player" -#define UI_WIDTH 284 // width of GUI window -#define UI_HEIGHT 420 // height of GUI window -#define UI_LCD_BGCOLOR 90, 145, 90 // bkgnd color of LCD (no backlight) -#define UI_LCD_BGCOLORLIGHT 126, 229, 126 // bkgnd color of LCD (backlight) -#define UI_LCD_BLACK 0, 0, 0 // black -#define UI_LCD_POSX 75 // x position of lcd -#define UI_LCD_POSY 116 // y position of lcd -#define UI_LCD_WIDTH 132 -#define UI_LCD_HEIGHT 64 - -#elif defined(ARCHOS_FMRECORDER) || defined(ARCHOS_RECORDERV2) -#define UI_TITLE "Jukebox FM Recorder" -#define UI_WIDTH 285 // width of GUI window -#define UI_HEIGHT 414 // height of GUI window -#define UI_LCD_BGCOLOR 90, 145, 90 // bkgnd color of LCD (no backlight) -#define UI_LCD_BGCOLORLIGHT 126, 229, 126 // bkgnd color of LCD (backlight) -#define UI_LCD_BLACK 0, 0, 0 // black -#define UI_LCD_POSX 87 // x position of lcd -#define UI_LCD_POSY 77 // y position of lcd (69 for real aspect) -#define UI_LCD_WIDTH 112 -#define UI_LCD_HEIGHT 64 // (80 for real aspect) - -#elif defined(ARCHOS_ONDIOSP) || defined(ARCHOS_ONDIOFM) -#define UI_TITLE "Ondio" -#define UI_WIDTH 155 // width of GUI window -#define UI_HEIGHT 334 // height of GUI window -#define UI_LCD_BGCOLOR 90, 145, 90 // bkgnd color of LCD (no backlight) -#define UI_LCD_BGCOLORLIGHT 90, 145, 90 // bkgnd color of LCD (backlight) -#define UI_LCD_BLACK 0, 0, 0 // black -#define UI_LCD_POSX 21 // x position of lcd -#define UI_LCD_POSY 82 // y position of lcd (74 for real aspect) -#define UI_LCD_WIDTH 112 -#define UI_LCD_HEIGHT 64 // (80 for real aspect) - -#elif defined(IRIVER_H100_SERIES) -#define UI_TITLE "iriver H1x0" -#define UI_WIDTH 379 // width of GUI window -#define UI_HEIGHT 508 // height of GUI window -#define UI_LCD_BGCOLOR 90, 145, 90 // bkgnd color of LCD (no backlight) -#define UI_LCD_BGCOLORLIGHT 230, 216, 173 // bkgnd color of LCD (backlight) -#define UI_LCD_BLACK 0, 0, 0 // black -#define UI_LCD_POSX 109 // x position of lcd -#define UI_LCD_POSY 23 // y position of lcd -#define UI_LCD_WIDTH 160 -#define UI_LCD_HEIGHT 128 -#define UI_REMOTE_BGCOLOR 90, 145, 90 // bkgnd of remote lcd (no bklight) -#define UI_REMOTE_BGCOLORLIGHT 250, 180, 130 // bkgnd of remote lcd (bklight) -#define UI_REMOTE_POSX 50 // x position of remote lcd -#define UI_REMOTE_POSY 403 // y position of remote lcd -#define UI_REMOTE_WIDTH 128 -#define UI_REMOTE_HEIGHT 64 - -#elif defined(IRIVER_H300_SERIES) -#define UI_TITLE "iriver H300" -#define UI_WIDTH 288 // width of GUI window -#define UI_HEIGHT 581 // height of GUI window -/* high-colour */ -#define UI_LCD_POSX 26 // x position of lcd -#define UI_LCD_POSY 36 // y position of lcd -#define UI_LCD_WIDTH 220 -#define UI_LCD_HEIGHT 176 -#define UI_REMOTE_BGCOLOR 90, 145, 90 // bkgnd of remote lcd (no bklight) -#define UI_REMOTE_BGCOLORLIGHT 250, 180, 130 // bkgnd of remote lcd (bklight) -#define UI_REMOTE_POSX 12 // x position of remote lcd -#define UI_REMOTE_POSY 478 // y position of remote lcd -#define UI_REMOTE_WIDTH 128 -#define UI_REMOTE_HEIGHT 64 - -#elif defined(IPOD_4G) -#define UI_TITLE "iPod 4G" -#define UI_WIDTH 196 // width of GUI window -#define UI_HEIGHT 370 // height of GUI window -#define UI_LCD_BGCOLOR 90, 145, 90 // bkgnd color of LCD (no backlight) -#define UI_LCD_BGCOLORLIGHT 173, 216, 230 // bkgnd color of LCD (backlight) -#define UI_LCD_BLACK 0, 0, 0 // black -#define UI_LCD_POSX 19 // x position of lcd -#define UI_LCD_POSY 14 // y position of lcd -#define UI_LCD_WIDTH 160 -#define UI_LCD_HEIGHT 128 - -#elif defined(IPOD_COLOR) -#define UI_TITLE "iPod Color" -#define UI_WIDTH 261 // width of GUI window -#define UI_HEIGHT 493 // height of GUI window -/* high-colour */ -#define UI_LCD_POSX 21 // x position of lcd -#define UI_LCD_POSY 16 // y position of lcd -#define UI_LCD_WIDTH 220 -#define UI_LCD_HEIGHT 176 - -#elif defined(IPOD_NANO) -#define UI_TITLE "iPod Nano" -#define UI_WIDTH 199 // width of GUI window -#define UI_HEIGHT 421 // height of GUI window -/* high-colour */ -#define UI_LCD_POSX 13 // x position of lcd -#define UI_LCD_POSY 14 // y position of lcd -#define UI_LCD_WIDTH 176 -#define UI_LCD_HEIGHT 132 - -#elif defined(ARCHOS_GMINI120) -#define UI_TITLE "Gmini 120" -#define UI_WIDTH 370 // width of GUI window -#define UI_HEIGHT 264 // height of GUI window -#define UI_LCD_BGCOLOR 90, 145, 90 // bkgnd color of LCD (no backlight) -#define UI_LCD_BGCOLORLIGHT 230, 160, 60 // bkgnd color of LCD (backlight) -#define UI_LCD_BLACK 0, 0, 0 // black -#define UI_LCD_POSX 85 // x position of lcd -#define UI_LCD_POSY 61 // y position of lcd (74 for real aspect) -#define UI_LCD_WIDTH 192 // * 1.5 -#define UI_LCD_HEIGHT 96 // * 1.5 - -#endif - -#define TIMER_EVENT 0x34928340 - -extern HWND hGUIWnd; // the GUI window handle -extern unsigned int uThreadID; // id of mod thread -extern bool bActive; - -// typedefs -typedef unsigned char uchar; -typedef unsigned int uint32; - -#endif // #ifndef __UISW32_H__ diff --git a/uisimulator/win32/uisw32.rc b/uisimulator/win32/uisw32.rc deleted file mode 100644 index 379b76ecb1..0000000000 --- a/uisimulator/win32/uisw32.rc +++ /dev/null @@ -1,76 +0,0 @@ -// Microsoft Visual C++ generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// - -#ifndef __MINGW32__ - #include "afxres.h" -#endif - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -#ifndef __MINGW32__ -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#endif -#pragma code_page(1252) -#endif //_WIN32 - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""afxres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Bitmap -// - -IDB_UI BITMAP "UI256.bmp" -IDI_ICON1 ICON DISCARDABLE "rockbox.ico" -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/uisimulator/win32/uisw32.sln b/uisimulator/win32/uisw32.sln deleted file mode 100644 index ada5e11e7c..0000000000 --- a/uisimulator/win32/uisw32.sln +++ /dev/null @@ -1,21 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 7.00 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "uisw32", "uisw32.vcproj", "{A81A8EFA-647A-427A-BD04-F6B469752E7A}" -EndProject -Global - GlobalSection(SolutionConfiguration) = preSolution - ConfigName.0 = Debug - ConfigName.1 = Release - EndGlobalSection - GlobalSection(ProjectDependencies) = postSolution - EndGlobalSection - GlobalSection(ProjectConfiguration) = postSolution - {A81A8EFA-647A-427A-BD04-F6B469752E7A}.Debug.ActiveCfg = Debug|Win32 - {A81A8EFA-647A-427A-BD04-F6B469752E7A}.Debug.Build.0 = Debug|Win32 - {A81A8EFA-647A-427A-BD04-F6B469752E7A}.Release.ActiveCfg = Release|Win32 - {A81A8EFA-647A-427A-BD04-F6B469752E7A}.Release.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/uisimulator/win32/uisw32.suo b/uisimulator/win32/uisw32.suo deleted file mode 100644 index be68cf93f9..0000000000 Binary files a/uisimulator/win32/uisw32.suo and /dev/null differ diff --git a/uisimulator/win32/uisw32.vcproj b/uisimulator/win32/uisw32.vcproj deleted file mode 100644 index 449bb19adf..0000000000 --- a/uisimulator/win32/uisw32.vcproj +++ /dev/null @@ -1,280 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/uisimulator/x11/Makefile b/uisimulator/x11/Makefile deleted file mode 100644 index 989ac65223..0000000000 --- a/uisimulator/x11/Makefile +++ /dev/null @@ -1,60 +0,0 @@ -############################################################################ -# __________ __ ___. -# Open \______ \ ____ ____ | | _\_ |__ _______ ___ -# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / -# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < -# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ -# \/ \/ \/ \/ \/ -# $Id$ -# -# Copyright (C) 2002 by Daniel Stenberg -# -# All files in this archive are subject to the GNU General Public License. -# See the file COPYING in the source tree root for full license agreement. -# -# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY -# KIND, either express or implied. -# -############################################################################ - -SIMCOMMON = ../common - -DEPFILE = $(OBJDIR)/dep-sim - -RM = rm -f -DEBUG = -g - -# Use this for simulator-only files -INCLUDES = -I. -I$(SIMCOMMON) -I$(OBJDIR) -I$(FIRMDIR)/export -I$(APPSDIR) \ - -I$(BUILDDIR) - -# This sets up 'SRC' based on the files mentioned in SOURCES -include $(TOOLSDIR)/makesrc.inc - -OBJS := $(SRC:%.c=$(OBJDIR)/%.o) - -DEFINES := -DHAVE_CONFIG_H -DGETTIMEOFDAY_TWO_ARGS -DSIMULATOR \ -$(TARGET) -DAPPSVERSION=\"$(VERSION)\" -DMEM=${MEMORYSIZE} $(EXTRA_DEFINES) - -SOURCES = $(SRC) - -DIRS = . - -CFLAGS = $(DEBUG) $(DEFINES) $(INCLUDES) $(GCCOPTS) - -OUTFILE = $(BUILDDIR)/libsim.a - -all: $(OUTFILE) - -include $(TOOLSDIR)/make.inc - -clean: - @echo "cleaning sim" - @$(RM) $(OBJS) *~ core $(OUTFILE) $(DEPFILE) - @$(MAKE) -C $(SIMCOMMON) clean - -$(OUTFILE): $(OBJS) - @echo "AR $@" - @$(AR) ruv $@ $(OBJS) >/dev/null 2>&1 - --include $(DEPFILE) diff --git a/uisimulator/x11/README b/uisimulator/x11/README deleted file mode 100644 index 0a293f6ad2..0000000000 --- a/uisimulator/x11/README +++ /dev/null @@ -1,6 +0,0 @@ -To build: - - $ ../tools/configure - [answer questions] - $ make - $ ./rockboxui diff --git a/uisimulator/x11/SOURCES b/uisimulator/x11/SOURCES deleted file mode 100644 index 0aabfb2c03..0000000000 --- a/uisimulator/x11/SOURCES +++ /dev/null @@ -1,14 +0,0 @@ -button-x11.c -kernel.c -lcd-x11.c -#if 0 /* if sound is enabled */ -oss_sound.c -#endif -resources.c -screenhack.c -thread.c -uibasic.c -visual.c -#if CONFIG_CODEC == SWCODEC -sound.c -#endif diff --git a/uisimulator/x11/archos/rockbox112.bmp b/uisimulator/x11/archos/rockbox112.bmp deleted file mode 100644 index 45392f9f7a..0000000000 Binary files a/uisimulator/x11/archos/rockbox112.bmp and /dev/null differ diff --git a/uisimulator/x11/atoi.h b/uisimulator/x11/atoi.h deleted file mode 100644 index 74474f110c..0000000000 --- a/uisimulator/x11/atoi.h +++ /dev/null @@ -1,2 +0,0 @@ - -int atoi(const char *); diff --git a/uisimulator/x11/button-x11.c b/uisimulator/x11/button-x11.c deleted file mode 100644 index 673f71ea7b..0000000000 --- a/uisimulator/x11/button-x11.c +++ /dev/null @@ -1,321 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2002 by Björn Stenberg - * - * All files in this archive are subject to the GNU General Public License. - * See the file COPYING in the source tree root for full license agreement. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ -#include -#include "config.h" -#include "button.h" -#include "kernel.h" -#include "debug.h" -#include "backlight.h" -#include "misc.h" - -#include "X11/keysym.h" - -extern int screenhack_handle_events(bool *release); - -struct event_queue button_queue; - -static int button_state = 0; /* keeps track of pressed keys */ -static long lastbtn; /* Last valid button status */ - -/* how often we check to see if a button is pressed */ -#define POLL_FREQUENCY HZ/25 - -/* how long until repeat kicks in */ -#define REPEAT_START 8 - -/* the speed repeat starts at */ -#define REPEAT_INTERVAL_START 4 - -/* speed repeat finishes at */ -#define REPEAT_INTERVAL_FINISH 2 - -/* mostly copied from real button.c */ -void button_read (void); - -static void button_tick(void) -{ - static int tick = 0; - static int count = 0; - static int repeat_speed = REPEAT_INTERVAL_START; - static int repeat_count = 0; - static bool repeat = false; - static bool post = false; - int diff; - int btn; - - /* only poll every X ticks */ - if ( ++tick >= POLL_FREQUENCY ) - { - button_read(); - btn = button_state; - - /* Find out if a key has been released */ - diff = btn ^ lastbtn; - if(diff && (btn & diff) == 0) - { - queue_post(&button_queue, BUTTON_REL | diff, NULL); - } - else - { - if ( btn ) - { - /* normal keypress */ - if ( btn != lastbtn ) - { - post = true; - repeat = false; - repeat_speed = REPEAT_INTERVAL_START; - - } - else /* repeat? */ - { - if ( repeat ) - { - count--; - if (count == 0) { - post = true; - /* yes we have repeat */ - repeat_speed--; - if (repeat_speed < REPEAT_INTERVAL_FINISH) - repeat_speed = REPEAT_INTERVAL_FINISH; - count = repeat_speed; - - repeat_count++; - - } - } - else - { - if (count++ > REPEAT_START) - { - post = true; - repeat = true; - repeat_count = 0; - /* initial repeat */ - count = REPEAT_INTERVAL_START; - } - } - } - if ( post ) - { - if (repeat) - { - if (queue_empty(&button_queue)) - { - queue_post(&button_queue, BUTTON_REPEAT | btn, NULL); - post = false; - } - } - else - { - queue_post(&button_queue, btn, NULL); - post = false; - } -#ifdef HAVE_REMOTE_LCD - if(btn & BUTTON_REMOTE) - remote_backlight_on(); - else -#endif - backlight_on(); - - } - } - else - { - repeat = false; - count = 0; - } - } - lastbtn = btn & ~(BUTTON_REL | BUTTON_REPEAT); - tick = 0; - } -} - -/* - * Read X keys and translate to rockbox buttons - */ - -void button_read (void) -{ - int k; - bool release = false; /* is this a release event */ - int ev = screenhack_handle_events(&release); - - switch (ev) - { - case XK_KP_Left: - case XK_Left: - case XK_KP_4: - k = BUTTON_LEFT; - break; - - case XK_KP_Right: - case XK_Right: - case XK_KP_6: - k = BUTTON_RIGHT; - break; - - case XK_KP_Up: - case XK_Up: - case XK_KP_8: -#ifdef BUTTON_UP - k = BUTTON_UP; -#elif defined BUTTON_PLAY - k = BUTTON_PLAY; -#endif - break; - - case XK_KP_Down: - case XK_Down: - case XK_KP_2: -#ifdef BUTTON_DOWN - k = BUTTON_DOWN; -#elif defined BUTTON_STOP - k = BUTTON_STOP; -#endif - break; - -#ifdef BUTTON_ON - case XK_KP_Add: - case XK_Q: - case XK_q: - k = BUTTON_ON; - break; -#endif - -#ifdef BUTTON_OFF - case XK_KP_Enter: - case XK_A: - case XK_a: - k = BUTTON_OFF; - break; -#endif - -#ifdef BUTTON_F1 - case XK_KP_Divide: - case XK_1: - k = BUTTON_F1; - break; - - case XK_KP_Multiply: - case XK_2: - k = BUTTON_F2; - break; - - case XK_KP_Subtract: - case XK_3: - k = BUTTON_F3; - break; -#elif defined(BUTTON_REC) - case XK_KP_Divide: - case XK_1: - k = BUTTON_REC; - break; -#endif - - case XK_KP_Space: - case XK_KP_5: - case XK_KP_Begin: - case XK_space: -#ifdef BUTTON_PLAY - k = BUTTON_PLAY; -#elif defined(BUTTON_SELECT) - k = BUTTON_SELECT; -#endif - break; - -#ifdef HAVE_LCD_BITMAP - case XK_5: - if(!release) - screen_dump(); - break; -#endif - - case XK_KP_Separator: - case XK_KP_Insert: - case XK_Insert: -#ifdef BUTTON_MENU - k = BUTTON_MENU; -#elif defined(BUTTON_MODE) - k = BUTTON_MODE; -#endif - break; - - default: - k = 0; - if(ev) - DEBUGF("received ev %d\n", ev); - break; - } - - if (release) - button_state &= ~k; - else - button_state |= k; -} - -/* Again copied from real button.c... */ - -long button_get(bool block) -{ - struct event ev; - - if ( block || !queue_empty(&button_queue) ) - { - queue_wait(&button_queue, &ev); - return ev.id; - } - return BUTTON_NONE; -} - -long button_get_w_tmo(int ticks) -{ - struct event ev; - queue_wait_w_tmo(&button_queue, &ev, ticks); - return (ev.id != SYS_TIMEOUT)? ev.id: BUTTON_NONE; -} - -void button_init(void) -{ - tick_add_task(button_tick); -} - -int button_status(void) -{ - return lastbtn; -} - -void button_clear_queue(void) -{ - queue_clear(&button_queue); -} - -#ifdef HAS_BUTTON_HOLD -bool button_hold(void) { - /* temp fix for hold button on irivers */ - return false; -} -#endif - -#ifdef HAS_REMOTE_BUTTON_HOLD -bool remote_button_hold(void) { - /* temp fix for hold button on irivers */ - return false; -} -#endif diff --git a/uisimulator/x11/config-x11.h b/uisimulator/x11/config-x11.h deleted file mode 100644 index 1c520cfbac..0000000000 --- a/uisimulator/x11/config-x11.h +++ /dev/null @@ -1,362 +0,0 @@ -/* config.h. Generated automatically by configure. */ -/* config.h.in --- xscreensaver, Copyright (c) 1998 Jamie Zawinski. - * - * The best way to set these parameters is by running the included `configure' - * script. That examines your system, and generates `config.h' from - * `config.h.in'. - * - * If something goes very wrong, you can edit `config.h' directly, but beware - * that your changes will be lost if you ever run `configure' again. - */ - - -/* ************************************************************************* - CONFIGURING SERVER EXTENSIONS - ************************************************************************* */ - -/* Define this if you have the XReadDisplay extension (I think this is an - SGI-only thing; it's in .) A few of the - screenhacks will take advantage of this if it's available. - */ -/* #undef HAVE_READ_DISPLAY_EXTENSION */ - -/* Define this if you have the Iris Video Library (dmedia/vl.h on SGI.) - A few of the screenhacks will take advantage of this if it's available. - */ -/* #undef HAVE_SGI_VIDEO */ - -/* Define this if you have the XHPDisableReset function (an HP only thing.) - */ -/* #undef HAVE_XHPDISABLERESET */ - -/* First, some background: there are three distinct server extensions which - * are useful to a screen saver program: they are XIDLE, MIT-SCREEN-SAVER, - * and SCREEN_SAVER. - * - * The XIDLE extension resides in .../contrib/extensions/xidle/ on the X11R5 - * contrib tape. This extension lets the client get accurate idle-time - * information from the X server in a potentially more reliable way than by - * simply watching for keyboard and mouse activity. However, the XIDLE - * extension has apparently not been ported to X11R6. - * - * The SCREEN_SAVER extension is found (as far as I know) only in the SGI - * X server, and it exists in all releases since (at least) Irix 5. The - * relevant header file is /usr/include/X11/extensions/XScreenSaver.h. - * - * The similarly-named MIT-SCREEN-SAVER extension came into existence long - * after the SGI SCREEN_SAVER extension was already in use, and resides in - * .../contrib/extensions/screensaver/ on the X11R6 contrib tape. It is - * also found in certain recent X servers built in to NCD X terminals. - * - * The MIT extension does basically the same thing that the XIDLE extension - * does, but there are two things wrong with it: first, because of the way - * the extension was designed, the `fade' option to XScreenSaver will be - * uglier: just before the screen fades out, there will be an unattractive - * flicker to black, because this extension blanks the screen *before* - * telling us that it is time to do so. Second, this extension is known to - * be buggy; on the systems I use, it works, but some people have reported - * X server crashes as a result of using it. XScreenSaver uses this - * extension rather conservatively, because when I tried to use any of its - * more complicated features, I could get it to crash the server at the - * drop of a hat. - * - * In short, the MIT-SCREEN-SAVER extension is a piece of junk. The older - * SGI SCREEN_SAVER extension works great, as does XIDLE. It would be nice - * If those two existed on more systems, that is, would be adopted by the - * X Consortium in favor of their inferior "not-invented-here" entry. - */ - -/* Define this if you have the XIDLE extension installed. If you have the - * XIDLE extension, this is recommended. (You have this extension if the - * file /usr/include/X11/extensions/xidle.h exists.) Turning on this flag - * lets XScreenSaver work better with servers which support this extension; - * but it will still work with servers which do not suport it, so it's a good - * idea to compile in support for it if you can. - */ -/* #undef HAVE_XIDLE_EXTENSION */ - -/* Define this if you have the MIT-SCREEN-SAVER extension installed. See the - * caveats about this extension, above. (It's available if the file - * /usr/include/X11/extensions/scrnsaver.h exists.) - */ -#define HAVE_MIT_SAVER_EXTENSION 1 - -/* Define this if you have the SGI SCREEN_SAVER extension. This is standard - * on Irix systems, and not available elsewhere. - */ -/* #undef HAVE_SGI_SAVER_EXTENSION */ - -/* Define this if you have the SGI-VIDEO-CONTROL extension. This is standard - * on Irix systems, and not available elsewhere. - */ -/* #undef HAVE_SGI_VC_EXTENSION */ - -/* Define this if you have the XDPMS extension. This is standard on - * sufficiently-recent XFree86 systems, and possibly elsewhere. (It's - * available if the file /usr/include/X11/extensions/dpms.h exists.) - */ -/* #undef HAVE_DPMS_EXTENSION */ - -/* Define this if you have the functions XF86VidModeGetModeLine() and - * XF86VidModeGetViewPort(), in support of virtual desktops where the - * X server's root window is bigger than the actual screen. This is - * an XFree86 thing, and probably doesn't exist elsewhere. (It's - * available if the file /usr/include/X11/extensions/xf86vmode.h exists.) - */ -/* #undef HAVE_XF86VMODE */ - -/* Define this if you have a Linux-like /proc/interrupts file which can be - * examined to determine when keyboard activity has occurred. - */ -/* #undef HAVE_PROC_INTERRUPTS */ - - - -/* ************************************************************************* - CONFIGURING GRAPHICS TOOLKITS - ************************************************************************* */ - -/* Define this if you have Motif. - */ -#define HAVE_MOTIF 1 - -/* Define this if you have Gtk. - */ -/* #undef HAVE_GTK */ - -/* Define this if you have Athena (-Xaw). - */ -#define HAVE_ATHENA 1 - -/* Define this if you have Athena, and the version you have includes the - * XawViewportSetCoordinates function in Viewport.h (some old versions of - * the library didn't have this function.) - */ -#define HAVE_XawViewportSetCoordinates 1 - -/* Define this if you have the XPM library installed. Some of the demos can - * make use of this if it is available. - */ -#define HAVE_XPM 1 - -/* Define this if you have the Xmu library. This is standard part of X, and - * if your vendor doesn't ship it, you should report that as a bug. - */ -#define HAVE_XMU 1 - -/* Define this if you have OpenGL. Some of the demos require it, so if you - * don't have it, then those particular demos won't be built. (This won't - * affect the screen saver as a whole.) - */ -/* #undef HAVE_GL */ - -/* Define this if you have OpenGL, but it's the MesaGL variant. (The - libraries have different names.) (HAVE_GL should be defined too.) - */ -/* #undef HAVE_MESA_GL */ - -/* Define this if your version of OpenGL has the glBindTexture() routine. - This is the case for OpenGL 1.1, but not for OpenGL 1.0. - */ -/* #undef HAVE_GLBINDTEXTURE */ - -/* Define this if you have the -lgle and -lmatrix libraries (GL extrusion.) - */ -/* #undef HAVE_GLE */ - -/* Define this if the `xscreensaver' process itself (the driver process) - should be linked against GL. Most systems won't want this (in particular, - if you're using Linux and/or Mesa, you don't want this) but SGI systems - do want this. It may also be useful on other systems that have serious - GL support -- you only need this if you have a lot of different visuals, - not all of which work with GL programs. - */ -/* #undef DAEMON_USE_GL */ - -/* Define this if you have the X Shared Memory Extension. - */ -#define HAVE_XSHM_EXTENSION 1 - -/* Define this if you have the X Double Buffer Extension. - */ -#define HAVE_DOUBLE_BUFFER_EXTENSION 1 - -/* Some screenhacks like to run an external program to generate random pieces - of text; set this to the one you like ("yow" and "fortune" are the most - likely prospects.) Note that this is just the default; X resources can - be used to override it. - */ -#define ZIPPY_PROGRAM "/usr/local/libexec/emacs/20.4/sparc-sun-solaris2.6/yow" - - - -/* ************************************************************************* - CONFIGURING PASSWORD AUTHENTICATION - ************************************************************************* */ - -/* Define this to remove the option of locking the screen at all. - */ -/* #undef NO_LOCKING */ - -/* Define this if you want to use Kerberos authentication to lock/unlock the - * screen instead of your local password. This currently uses Kerberos V4, - * but a V5 server with V4 compatibility will work. WARNING: DO NOT USE AFS - * string-to-key passwords with this option. This option currently *only* - * works with standard Kerberos des_string_to_key. If your password is an - * AFS password and not a kerberos password, it will not authenticate - * properly. See the comments in driver/kpasswd.c for more information if you - * need it. - */ -/* #undef HAVE_KERBEROS */ - -/* Define this if you want to use PAM (Pluggable Authentication Modules) - * to lock/unlock the screen, instead of standard /etc/passwd authentication. - */ -/* #undef HAVE_PAM */ - -/* If PAM is being used, this is the name of the PAM service that xscreensaver - * will authenticate as. The default is "xscreensaver", which means that the - * PAM library will look for an "xscreensaver" line in /etc/pam.conf, or (on - * recent Linux systems) will look for a file called /etc/pam.d/xscreensaver. - * Some systems might already have a PAM installation that is configured for - * xlock, so setting this to "xlock" would also work in that case. - */ -#define PAM_SERVICE_NAME "xscreensaver" - -/* Define if you have PAM and pam_strerror() requires two arguments. */ -/* #undef PAM_STRERROR_TWO_ARGS */ - -/* Define this if your system uses `shadow' passwords, that is, the passwords - * live in /etc/shadow instead of /etc/passwd, and one reads them with - * getspnam() instead of getpwnam(). (Note that SCO systems do some random - * other thing; others might as well. See the ifdefs in driver/passwd-pwent.c - * if you're having trouble related to reading passwords.) - */ -#define HAVE_SHADOW_PASSWD 1 - -/* Define this if your system is Digital or SCO Unix with so-called ``Enhanced - Security'', that is, the passwords live in /tcb/files/auth// - instead of in /etc/passwd, and one reads them with getprpwnam() instead - of getpwnam(). - */ -/* #undef HAVE_ENHANCED_PASSWD */ - -/* Define this if your system is Solaris with ``adjunct'' passwords (this is - the version where one gets at the passwords with getpwanam() instead of - getpwnam().) I haven't tested this one, let me know if it works. - */ -/* #undef HAVE_ADJUNCT_PASSWD */ - -/* Define this if you are running HPUX with so-called ``Secure Passwords'' - (if you have /usr/include/hpsecurity.h, you probably have this.) I - haven't tested this one, let me know if it works. - */ -/* #undef HAVE_HPUX_PASSWD */ - -/* Define this if you are on a system that supports the VT_LOCKSWITCH and - VT_UNLOCKSWITCH ioctls. If this is defined, then when the screen is - locked, switching to another virtual terminal will also be prevented. - That is, the whole console will be locked, rather than just the VT on - which X is running. (Well, that's the theory anyway -- in practice, - I haven't yet figured out how to make that work.) - */ -/* #undef HAVE_VT_LOCKSWITCH */ - - -/* Define this if you the openlog(), syslog(), and closelog() functions. - This is used for logging failed login attempts. - */ -#define HAVE_SYSLOG 1 - - -/* ************************************************************************* - OTHER C ENVIRONMENT JUNK - ************************************************************************* */ - -/* Define this to void* if you're using X11R4 or earlier. */ -/* #undef XPointer */ - -/* Define if you have the nice function. */ -#define HAVE_NICE 1 - -/* Define if you have the setpriority function. */ -#define HAVE_SETPRIORITY 1 - -/* Define to empty if the keyword does not work. */ -/* #undef const */ - -/* Define if you have that is POSIX.1 compatible. */ -#define HAVE_SYS_WAIT_H 1 - -/* Define as __inline if that's what the C compiler calls it. */ -/* #undef inline */ - -/* Define to `int' if doesn't define. */ -/* #undef mode_t */ - -/* Define to `int' if doesn't define. */ -/* #undef pid_t */ - -/* Define as the return type of signal handlers (int or void). */ -#define RETSIGTYPE void - -/* Define to `unsigned' if doesn't define. */ -/* #undef size_t */ - -/* Define if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Define if you can safely include both and . */ -#define TIME_WITH_SYS_TIME 1 - -/* Define if you have the gettimeofday function. */ -#define HAVE_GETTIMEOFDAY 1 - -/* Define if gettimeofday requires two arguments. */ -#define GETTIMEOFDAY_TWO_ARGS 1 - -/* Define if you have the putenv function. */ -#define HAVE_PUTENV 1 - -/* Define if you have the select function. */ -#define HAVE_SELECT 1 - -/* Define if you have the getcwd function. */ -#define HAVE_GETCWD 1 - -/* Define if you have the getcwd function. */ -#define HAVE_GETWD 1 - -/* Define if you have the realpath function. */ -#define HAVE_REALPATH 1 - -/* Define if you have the uname function. */ -#define HAVE_UNAME 1 - -/* Define if you have the fcntl function. */ -#define HAVE_FCNTL 1 - -/* Define if you have the sigaction function. */ -#define HAVE_SIGACTION 1 - -/* Define if you have the header file. */ -#define HAVE_UNISTD_H 1 - -/* Define if you have the header file. */ -#define HAVE_CRYPT_H 1 - -/* Define if you have that defines fd_set and FD_SET. */ -#define HAVE_SYS_SELECT_H 1 - -/* Define to use sigaction() instead of signal() for SIGCHLD-related activity. - This is necessary at least on SCO OpenServer 5, due to a Unix kernel bug. - */ -/* #undef USE_SIGACTION */ - -/* Define this if you do pings with a `struct icmp' and a `icmp_id' slot. - */ -#define HAVE_ICMP 1 - -/* Define this if you do pings with a `struct icmphdr' and a `un.echo.id' slot. - */ -/* #undef HAVE_ICMPHDR */ diff --git a/uisimulator/x11/kernel.c b/uisimulator/x11/kernel.c deleted file mode 100644 index 947d82a550..0000000000 --- a/uisimulator/x11/kernel.c +++ /dev/null @@ -1,165 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2005 by Jens Arnold - * - * All files in this archive are subject to the GNU General Public License. - * See the file COPYING in the source tree root for full license agreement. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - -#include -#include "kernel.h" -#include "thread.h" -#include "debug.h" - -static void (*tick_funcs[MAX_NUM_TICK_TASKS])(void); - -int set_irq_level (int level) -{ - static int _lv = 0; - return (_lv = level); -} - -void queue_init(struct event_queue *q) -{ - q->read = 0; - q->write = 0; -} - -void queue_delete(struct event_queue *q) -{ - (void)q; -} - -void queue_wait(struct event_queue *q, struct event *ev) -{ - while(q->read == q->write) - { - switch_thread(); - } - - *ev = q->events[(q->read++) & QUEUE_LENGTH_MASK]; -} - -void queue_wait_w_tmo(struct event_queue *q, struct event *ev, int ticks) -{ - unsigned int timeout = current_tick + ticks; - - while(q->read == q->write && TIME_BEFORE( current_tick, timeout )) - { - sleep(1); - } - - if(q->read != q->write) - { - *ev = q->events[(q->read++) & QUEUE_LENGTH_MASK]; - } - else - { - ev->id = SYS_TIMEOUT; - } -} - -void queue_post(struct event_queue *q, long id, void *data) -{ - int wr; - int oldlevel; - - oldlevel = set_irq_level(15<<4); - wr = (q->write++) & QUEUE_LENGTH_MASK; - - q->events[wr].id = id; - q->events[wr].data = data; - set_irq_level(oldlevel); -} - -bool queue_empty(const struct event_queue* q) -{ - return ( q->read == q->write ); -} - -void queue_clear(struct event_queue* q) -{ - /* fixme: This is potentially unsafe in case we do interrupt-like processing */ - q->read = 0; - q->write = 0; -} - -void switch_thread (void) -{ - yield (); -} - -void sim_tick_tasks(void) -{ - int i; - - /* Run through the list of tick tasks */ - for(i = 0;i < MAX_NUM_TICK_TASKS;i++) - { - if(tick_funcs[i]) - { - tick_funcs[i](); - } - } -} - -int tick_add_task(void (*f)(void)) -{ - int i; - - /* Add a task if there is room */ - for(i = 0;i < MAX_NUM_TICK_TASKS;i++) - { - if(tick_funcs[i] == NULL) - { - tick_funcs[i] = f; - return 0; - } - } - DEBUGF("Error! tick_add_task(): out of tasks"); - return -1; -} - -int tick_remove_task(void (*f)(void)) -{ - int i; - - /* Remove a task if it is there */ - for(i = 0;i < MAX_NUM_TICK_TASKS;i++) - { - if(tick_funcs[i] == f) - { - tick_funcs[i] = NULL; - return 0; - } - } - - return -1; -} - -void mutex_init(struct mutex *m) -{ - (void)m; -} - -void mutex_lock(struct mutex *m) -{ - (void)m; -} - -void mutex_unlock(struct mutex *m) -{ - (void)m; -} - diff --git a/uisimulator/x11/lcd-x11.c b/uisimulator/x11/lcd-x11.c deleted file mode 100644 index c85848c18b..0000000000 --- a/uisimulator/x11/lcd-x11.c +++ /dev/null @@ -1,262 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2002 by Daniel Stenberg - * - * All files in this archive are subject to the GNU General Public License. - * See the file COPYING in the source tree root for full license agreement. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "screenhack.h" -#include "config.h" -#include "debug.h" - -/* - * Specific implementations for X11, using the generic LCD API and data. - */ - -#include "lcd-x11.h" -#include "lcd-playersim.h" - -#if LCD_DEPTH == 2 -#define YBLOCK 4 -#define ANDBIT 3 /* AND with this to get the color number */ -#else -#define YBLOCK 8 -#define ANDBIT 1 -#endif - -extern void screen_resized(int width, int height); -extern bool lcd_display_redraw; - -#ifdef HAVE_LCD_BITMAP -#if LCD_DEPTH==16 -fb_data lcd_framebuffer_copy[LCD_HEIGHT][LCD_WIDTH*2]; -#else -fb_data lcd_framebuffer_copy[LCD_HEIGHT/YBLOCK][LCD_WIDTH]; -#endif - -void lcd_update (void) -{ - /* update a full screen rect */ - lcd_update_rect(0, 0, LCD_WIDTH, LCD_HEIGHT); -} - -void lcd_update_rect(int x_start, int y_start, - int width, int height) -{ - int x; - int yline=y_start; - int y; - int p=0; - int bit; - int xmax; - int ymax; - int colors[LCD_WIDTH * LCD_HEIGHT]; - struct coordinate points[LCD_WIDTH * LCD_HEIGHT]; - unsigned force_mask = lcd_display_redraw ? 0xFF : 0; - -#if 0 - fprintf(stderr, "%04d: lcd_update_rect(%d, %d, %d, %d)\n", - counter++, x_start, y_start, width, height); -#endif - /* The Y coordinates have to work on even YBLOCK pixel rows */ - ymax = (yline + height)/YBLOCK; - yline /= YBLOCK; - - xmax = x_start + width; - - if(xmax > LCD_WIDTH) - xmax = LCD_WIDTH; - if(ymax >= LCD_HEIGHT/YBLOCK) - ymax = LCD_HEIGHT/YBLOCK-1; - - for(; yline <= ymax; yline++) { - y = yline * YBLOCK; - for(x = x_start; x < xmax; x++) { - unsigned char diff = (lcd_framebuffer[yline][x] - ^ lcd_framebuffer_copy[yline][x]) - | force_mask; - if(diff) { - /* one or more bits/pixels are changed */ - unsigned char mask = ANDBIT; - for(bit = 0; bit < YBLOCK; bit++) { - if(diff & mask) { - /* pixel has changed */ - unsigned int col = lcd_framebuffer[yline][x] & mask; -#if LCD_DEPTH == 2 - colors[p] = col >> (bit * LCD_DEPTH); -#else - colors[p] = col ? 3 : 0; -#endif - points[p].x = x + MARGIN_X; - points[p].y = y + bit + MARGIN_Y; - p++; /* increase the point counter */ - } - mask <<= LCD_DEPTH; - } - - /* update the copy */ - lcd_framebuffer_copy[yline][x] = lcd_framebuffer[yline][x]; - } - } - } - - dots(colors, &points[0], p); - /* printf("lcd_update_rect: Draws %d pixels, clears %d pixels\n", p, cp);*/ - XtAppLock(app); - XSync(dpy,False); - XtAppUnlock(app); - lcd_display_redraw=false; -} - -#ifdef LCD_REMOTE_HEIGHT -extern unsigned char lcd_remote_framebuffer[LCD_REMOTE_HEIGHT/8][LCD_REMOTE_WIDTH]; -unsigned char lcd_remote_framebuffer_copy[LCD_REMOTE_HEIGHT/8][LCD_REMOTE_WIDTH]; - -#define REMOTE_START_Y (LCD_HEIGHT + 2*MARGIN_Y) - -void lcd_remote_update (void) -{ - lcd_remote_update_rect(0, 0, LCD_REMOTE_WIDTH, LCD_REMOTE_HEIGHT); -} - -void lcd_remote_update_rect(int x_start, int y_start, - int width, int height) -{ - int x; - int yline=y_start; - int y; - int p=0; - int bit; - int xmax; - int ymax; - struct coordinate points[LCD_REMOTE_WIDTH * LCD_REMOTE_HEIGHT]; - int colors[LCD_REMOTE_WIDTH * LCD_REMOTE_HEIGHT]; - unsigned force_mask = lcd_display_redraw ? 0xFF : 0; - -#if 0 - fprintf(stderr, "%04d: lcd_update_rect(%d, %d, %d, %d)\n", - counter++, x_start, y_start, width, height); -#endif - /* The Y coordinates have to work on even 8 pixel rows */ - ymax = (yline + height)/8; - yline /= 8; - - xmax = x_start + width; - - if(xmax > LCD_REMOTE_WIDTH) - xmax = LCD_REMOTE_WIDTH; - if(ymax >= LCD_REMOTE_HEIGHT/8) - ymax = LCD_REMOTE_HEIGHT/8-1; - - for(; yline <= ymax; yline++) { - y = yline * 8; - for(x = x_start; x < xmax; x++) { - unsigned char diff = (lcd_remote_framebuffer[yline][x] - ^ lcd_remote_framebuffer_copy[yline][x]) - | force_mask; - if(diff) { - unsigned char mask = 1; - for(bit = 0; bit < 8; bit++) { - if(diff & mask) { - unsigned int col = lcd_remote_framebuffer[yline][x] & mask; - colors[p] = col ? 3 : 0; - points[p].x = x + MARGIN_X; - points[p].y = y + bit + (REMOTE_START_Y + MARGIN_Y); - p++; /* increase the point counter */ - } - mask <<= 1; - } - - /* update the copy */ - lcd_remote_framebuffer_copy[yline][x] = - lcd_remote_framebuffer[yline][x]; - } - } - } - - dots(colors, &points[0], p); - /* printf("lcd_update_rect: Draws %d pixels, clears %d pixels\n", p, cp);*/ - XtAppLock(app); - XSync(dpy,False); - XtAppUnlock(app); - lcd_display_redraw=false; -} - - -#endif - -#endif -#ifdef HAVE_LCD_CHARCELLS - -/* Defined in lcd-playersim.c */ -extern void lcd_print_char(int x, int y); -extern unsigned char lcd_buffer[2][11]; -extern void drawrect(int color, int x1, int y1, int x2, int y2); - -extern unsigned char hardware_buffer_lcd[11][2]; -static unsigned char lcd_buffer_copy[11][2]; - -void lcd_update (void) -{ - bool changed=false; - int x, y; - for (y=0; y<2; y++) { - for (x=0; x<11; x++) { - if (lcd_display_redraw || - lcd_buffer_copy[x][y] != hardware_buffer_lcd[x][y]) { - lcd_buffer_copy[x][y] = hardware_buffer_lcd[x][y]; - lcd_print_char(x, y); - changed=true; - } - } - } - if (changed) - { - XtAppLock(app); - XSync(dpy,False); - XtAppUnlock(app); - } - lcd_display_redraw=false; -} - -#endif - -#ifdef CONFIG_BACKLIGHT -void sim_backlight(int value) -{ - DEBUGF("backlight: %s\n", (value > 0) ? "on" : "off"); -} -#endif - -#ifdef HAVE_REMOTE_LCD -void sim_remote_backlight(int value) -{ - DEBUGF("remote backlight: %s\n", (value > 0) ? "on" : "off"); -} -#endif - diff --git a/uisimulator/x11/lcd-x11.h b/uisimulator/x11/lcd-x11.h deleted file mode 100644 index 07911b2530..0000000000 --- a/uisimulator/x11/lcd-x11.h +++ /dev/null @@ -1,26 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2002 by Daniel Stenberg - * - * All files in this archive are subject to the GNU General Public License. - * See the file COPYING in the source tree root for full license agreement. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - -#define MARGIN_X 3 -#define MARGIN_Y 3 - -/* include the "real" lcd.h file here */ -#include - - diff --git a/uisimulator/x11/oss_sound.c b/uisimulator/x11/oss_sound.c deleted file mode 100644 index 51d85470e7..0000000000 --- a/uisimulator/x11/oss_sound.c +++ /dev/null @@ -1,84 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * - * Copyright (C) 2002 Dave Chapman - * - * oss_sound - a sound driver for Linux (and others?) OSS audio - * - * All files in this archive are subject to the GNU General Public License. - * See the file COPYING in the source tree root for full license agreement. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - -#include -#include - -#include -#include "../common/sound.h" - -/* We want to use the "real" open in this file */ -#undef open - -int init_sound(sound_t* sound) { - sound->fd=open("/dev/dsp", O_WRONLY); - sound->freq=-1; - sound->channels=-1; - - if (sound->fd <= 0) { - fprintf(stderr,"Can not open /dev/dsp - simulating sound output\n"); - sound->fd=0; - } -} - -int config_sound(sound_t* sound, int sound_freq, int channels) { - int format=AFMT_S16_NE; - int setting=0x000C000D; // 12 fragments size 8kb ? WHAT IS THIS? - - sound->freq=sound_freq; - sound->channels=channels; - - if (sound->fd) { - if (ioctl(sound->fd,SNDCTL_DSP_SETFRAGMENT,&setting)==-1) { - perror("SNDCTL_DSP_SETFRAGMENT"); - } - - if (ioctl(sound->fd,SNDCTL_DSP_CHANNELS,&channels)==-1) { - perror("SNDCTL_DSP_STEREO"); - } - if (channels==0) { fprintf(stderr,"Warning, only mono supported\n"); } - - if (ioctl(sound->fd,SNDCTL_DSP_SETFMT,&format)==-1) { - perror("SNDCTL_DSP_SETFMT"); - } - - if (ioctl(sound->fd,SNDCTL_DSP_SPEED,&sound_freq)==-1) { - perror("SNDCTL_DSP_SPEED"); - } - } -} - -int output_sound(sound_t* sound,const void* buf, int count) { - unsigned long long t; - - if (sound->fd) { - return(write(sound->fd,buf,count)); - } else { - t=(unsigned int)(((unsigned int)(1000000/sound->channels)*count)/sound->freq); -// fprintf(stderr,"writing %d bytes at %d frequency - sleeping for %u microseconds\n",count,sound->freq,t); - usleep(t); - return(count); - } -} - -void close_sound(sound_t* sound) { - if (sound->fd) close(sound->fd); - sound->fd=-1; -} diff --git a/uisimulator/x11/resources.c b/uisimulator/x11/resources.c deleted file mode 100644 index feaf3b8216..0000000000 --- a/uisimulator/x11/resources.c +++ /dev/null @@ -1,113 +0,0 @@ -/* xscreensaver, Copyright (c) 1992, 1997, 1998 - * Jamie Zawinski - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation. No representations are made about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - */ - -#include "utils.h" -#include "resources.h" -#include - - -/* Resource functions. Assumes: */ - -extern char *progname; -extern char *progclass; -extern XrmDatabase db; - -#ifndef isupper -# define isupper(c) ((c) >= 'A' && (c) <= 'Z') -#endif -#ifndef _tolower -# define _tolower(c) ((c) - 'A' + 'a') -#endif - -char * -get_string_resource (char *res_name, char *res_class) -{ - XrmValue value; - char *type; - char full_name [1024], full_class [1024]; - strcpy (full_name, progname); - strcat (full_name, "."); - strcat (full_name, res_name); - strcpy (full_class, progclass); - strcat (full_class, "."); - strcat (full_class, res_class); - if (XrmGetResource (db, full_name, full_class, &type, &value)) - { - char *str = (char *) malloc (value.size + 1); - strncpy (str, (char *) value.addr, value.size); - str [value.size] = 0; - return str; - } - return 0; -} - -Bool -get_boolean_resource (char *res_name, char *res_class) -{ - char *tmp, buf [100]; - char *s = get_string_resource (res_name, res_class); - char *os = s; - if (! s) return 0; - for (tmp = buf; *s; s++) - *tmp++ = isupper (*s) ? _tolower (*s) : *s; - *tmp = 0; - free (os); - - while (*buf && - (buf[strlen(buf)-1] == ' ' || - buf[strlen(buf)-1] == '\t')) - buf[strlen(buf)-1] = 0; - - if (!strcmp (buf, "on") || !strcmp (buf, "true") || !strcmp (buf, "yes")) - return 1; - if (!strcmp (buf,"off") || !strcmp (buf, "false") || !strcmp (buf,"no")) - return 0; - fprintf (stderr, "%s: %s must be boolean, not %s.\n", - progname, res_name, buf); - return 0; -} - -unsigned int -get_pixel_resource (char *res_name, char *res_class, - Display *dpy, Colormap cmap) -{ - XColor color; - char *s = get_string_resource (res_name, res_class); - char *s2; - if (!s) goto DEFAULT; - - for (s2 = s + strlen(s) - 1; s2 > s; s2--) - if (*s2 == ' ' || *s2 == '\t') - *s2 = 0; - else - break; - - if (! XParseColor (dpy, cmap, s, &color)) - { - fprintf (stderr, "%s: can't parse color %s\n", progname, s); - goto DEFAULT; - } - if (! XAllocColor (dpy, cmap, &color)) - { - fprintf (stderr, "%s: couldn't allocate color %s\n", progname, s); - goto DEFAULT; - } - free (s); - return color.pixel; - DEFAULT: - if (s) free (s); - return ((strlen(res_class) >= 10 && - !strcmp ("Background", res_class + strlen(res_class) - 10)) - ? BlackPixel (dpy, DefaultScreen (dpy)) - : WhitePixel (dpy, DefaultScreen (dpy))); -} - diff --git a/uisimulator/x11/resources.h b/uisimulator/x11/resources.h deleted file mode 100644 index 1fbcfa7ce7..0000000000 --- a/uisimulator/x11/resources.h +++ /dev/null @@ -1,23 +0,0 @@ -/* xscreensaver, Copyright (c) 1992, 1997 Jamie Zawinski - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation. No representations are made about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - */ - -#ifndef __XSCREENSAVER_RESOURCES_H__ -#define __XSCREENSAVER_RESOURCES_H__ -extern char *get_string_resource (char*,char*); -extern Bool get_boolean_resource (char*,char*); -extern int get_integer_resource (char*,char*); -extern double get_float_resource (char*,char*); -extern unsigned int get_pixel_resource (char*,char*,Display*,Colormap); -extern unsigned int get_minutes_resource (char*,char*); -extern unsigned int get_seconds_resource (char*,char*); -extern int parse_time (const char *string, Bool seconds_default_p, - Bool silent_p); -#endif /* __XSCREENSAVER_RESOURCES_H__ */ diff --git a/uisimulator/x11/screenhack.c b/uisimulator/x11/screenhack.c deleted file mode 100644 index c3aa2e4c63..0000000000 --- a/uisimulator/x11/screenhack.c +++ /dev/null @@ -1,579 +0,0 @@ -/* xscreensaver, Copyright (c) 1992, 1995, 1997, 1998 - * Jamie Zawinski - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation. No representations are made about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - * - * And remember: X Windows is to graphics hacking as roman numerals are to - * the square root of pi. - */ - -/* This file contains simple code to open a window or draw on the root. - The idea being that, when writing a graphics hack, you can just link - with this .o to get all of the uninteresting junk out of the way. - - - create a procedure `screenhack(dpy, window)' - - - create a variable `char *progclass' which names this program's - resource class. - - - create a variable `char defaults []' for the default resources, and - null-terminate it. - - - create a variable `XrmOptionDescRec options[]' for the command-line, - and null-terminate it. - - And that's it... - */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef __sgi -# include /* for SgiUseSchemes() */ -#endif /* __sgi */ - -#ifdef HAVE_XMU -# ifndef VMS -# include -# else /* VMS */ -# include -# endif -#else -# include "xmu.h" -#endif -#include "lcd-x11.h" -#include "screenhack.h" -#include "version.h" -#include "vroot.h" - -#include "debug.h" -#include "config.h" - -#ifndef isupper -# define isupper(c) ((c) >= 'A' && (c) <= 'Z') -#endif -#ifndef _tolower -# define _tolower(c) ((c) - 'A' + 'a') -#endif - -#define KEYBOARD_GENERIC \ - "Keyboard Rockbox\n" \ - "-------- ------------\n" \ - "4, Left LEFT\n" \ - "6, Right RIGHT\n" - -#if CONFIG_KEYPAD == PLAYER_PAD -#define KEYBOARD_SPECIFIC \ - "8, Up PLAY\n" \ - "2, Down STOP\n" \ - "+, Q ON\n" \ - "., INS MENU\n" - -#elif CONFIG_KEYPAD == RECORDER_PAD -#define KEYBOARD_SPECIFIC \ - "8, Up UP\n" \ - "2, Down DOWN\n" \ - "5, Space PLAY\n" \ - "+, Q ON\n" \ - "Enter, A OFF\n" \ - "/, (1) F1\n" \ - "*, (2) F2\n" \ - "-, (3) F3\n" - -#elif CONFIG_KEYPAD == ONDIO_PAD -#define KEYBOARD_SPECIFIC \ - "8, Up UP\n" \ - "2, Down DOWN\n" \ - "., INS MENU\n" \ - "Enter, A OFF\n" - -#elif CONFIG_KEYPAD == IRIVER_H100_PAD -#define KEYBOARD_SPECIFIC \ - "8, Up UP\n" \ - "2, Down DOWN\n" \ - "5, Space SELECT\n" \ - "+, Q ON\n" \ - "Enter, A OFF\n" \ - "., INS MODE\n" \ - "/, (1) RECORD\n" - -#elif CONFIG_KEYPAD == IRIVER_H300_PAD -#define KEYBOARD_SPECIFIC \ - "[not written yet]" - -#elif CONFIG_KEYPAD == GMINI100_PAD -#define KEYBOARD_SPECIFIC \ - "8, Up UP\n" \ - "2, Down DOWN\n" \ - "5, Space PLAY\n" \ - "+, Q ON\n" \ - "Enter, A OFF\n" \ - "., INS MENU\n" - -#elif (CONFIG_KEYPAD == IPOD_4G_PAD) -#define KEYBOARD_SPECIFIC \ - "[not written yet]" - -#elif (CONFIG_KEYPAD == IAUDIO_X5_PAD) -#define KEYBOARD_SPECIFIC \ - "[not written yet]" -#else -#error "Put your defines here" -#endif - - -char having_new_lcd=True; - -char *progname; -XrmDatabase db; -XtAppContext app; -Display* dpy; -Window window; -Bool mono_p; - -static XrmOptionDescRec default_options [] = { - { "-root", ".root", XrmoptionNoArg, "True" }, - { "-window", ".root", XrmoptionNoArg, "False" }, - { "-mono", ".mono", XrmoptionNoArg, "True" }, - { "-install", ".installColormap", XrmoptionNoArg, "True" }, - { "-noinstall", ".installColormap", XrmoptionNoArg, "False" }, - { "-visual", ".visualID", XrmoptionSepArg, 0 }, - { "-window-id", ".windowID", XrmoptionSepArg, 0 }, - { 0, 0, 0, 0 } -}; - -static char *default_defaults[] = { - ".root: false", -#define GEOMETRY_POSITION 1 - "*geometry: 120x68", /* to be replaced anyway */ - "*mono: false", - "*installColormap: false", - "*visualID: default", - "*windowID: ", - 0 -}; - -extern int display_zoom; -extern long current_tick; - -static XrmOptionDescRec *merged_options; -static int merged_options_size; -static char **merged_defaults; - -static void merge_options (void) -{ - int def_opts_size, opts_size; - int def_defaults_size, defaults_size; - - for (def_opts_size = 0; default_options[def_opts_size].option; - def_opts_size++) - ; - for (opts_size = 0; options[opts_size].option; opts_size++) - ; - - merged_options_size = def_opts_size + opts_size; - merged_options = (XrmOptionDescRec *) - malloc ((merged_options_size + 1) * sizeof(*default_options)); - memcpy (merged_options, default_options, - (def_opts_size * sizeof(*default_options))); - memcpy (merged_options + def_opts_size, options, - ((opts_size + 1) * sizeof(*default_options))); - - for (def_defaults_size = 0; default_defaults[def_defaults_size]; - def_defaults_size++) - ; - for (defaults_size = 0; defaults[defaults_size]; defaults_size++) - ; - - merged_defaults = (char **) - malloc ((def_defaults_size + defaults_size + 1) * sizeof (*defaults)); - - memcpy (merged_defaults, default_defaults, - def_defaults_size * sizeof(*defaults)); - memcpy (merged_defaults + def_defaults_size, defaults, - (defaults_size + 1) * sizeof(*defaults)); - - /* This totally sucks. Xt should behave like this by default. - If the string in `defaults' looks like ".foo", change that - to "Progclass.foo". - */ - { - char **s; - for (s = merged_defaults; *s; s++) - if (**s == '.') - { - const char *oldr = *s; - char *newr = (char *) malloc(strlen(oldr) - + strlen(progclass) + 3); - strcpy (newr, progclass); - strcat (newr, oldr); - *s = newr; - } - } -} - - -/* Make the X errors print out the name of this program, so we have some - clue which one has a bug when they die under the screensaver. - */ - -static int screenhack_ehandler (Display *dpy, XErrorEvent *error) -{ - fprintf (stderr, "\nX error in %s:\n", progname); - if (XmuPrintDefaultErrorMessage (dpy, error, stderr)) - exit (-1); - else - fprintf (stderr, " (nonfatal.)\n"); - return 0; -} - -static Bool MapNotify_event_p (Display *dpy, XEvent *event, XPointer window) -{ - (void)dpy; - return (event->xany.type == MapNotify && - event->xvisibility.window == (Window) window); -} - -static Atom XA_WM_PROTOCOLS, XA_WM_DELETE_WINDOW; - - -static void kb_disable_auto_repeat(bool on) -{ - XKeyboardControl kb; - - kb.auto_repeat_mode = on ? AutoRepeatModeOff : AutoRepeatModeDefault; - XChangeKeyboardControl(dpy, KBAutoRepeatMode, &kb); -} - -static void kb_restore_auto_repeat(void) /* registered as an exit handler */ -{ - kb_disable_auto_repeat(false); - XSync(dpy, false); /* force the X server to process that */ -} - -/* Dead-trivial event handling. - Exit if the WM_PROTOCOLS WM_DELETE_WINDOW ClientMessage is received. - */ -int screenhack_handle_event(XEvent *event, bool *release) -{ - int key=0; - - *release = FALSE; - - switch (event->xany.type) { - case KeyPress: - { - KeySym keysym; - unsigned char c = 0; - XLookupString (&event->xkey, (char *)&c, 1, &keysym, 0); - key = keysym; -#if 0 - DEBUGF("Got keypress: %c (%02x) %x, tick %ld\n", c, c, - event->xkey.keycode, current_tick); -#endif - } - break; - case KeyRelease: - { - KeySym keysym; - unsigned char c = 0; - XLookupString (&event->xkey, (char *)&c, 1, &keysym, 0); - key = keysym; -#if 0 - DEBUGF("Got keyrelease: %c (%02x) %x, tick %ld\n", c, c, - event->xkey.keycode, current_tick); -#endif - *release = TRUE; - } - break; - case Expose: - screen_redraw(); - break; - case FocusIn: - kb_disable_auto_repeat(true); - break; - case FocusOut: - kb_disable_auto_repeat(false); - break; - case ClientMessage: - if (event->xclient.message_type != XA_WM_PROTOCOLS) { - char *s = XGetAtomName(dpy, event->xclient.message_type); - if (!s) - s = "(null)"; - fprintf (stderr, "%s: unknown ClientMessage %s received!\n", - progname, s); - } - else if (event->xclient.data.l[0] != (int)XA_WM_DELETE_WINDOW) { - char *s1 = XGetAtomName(dpy, event->xclient.message_type); - char *s2 = XGetAtomName(dpy, event->xclient.data.l[0]); - if (!s1) - s1 = "(null)"; - if (!s2) - s2 = "(null)"; - fprintf (stderr, "%s: unknown ClientMessage %s[%s] received!\n", - progname, s1, s2); - } - else { - exit (0); - } - break; - default: - break; - } - return key; -} - - -int screenhack_handle_events(bool *release) -{ - int key=0; - XtAppLock(app); - if(XPending(dpy)) - { - XEvent event; - XNextEvent(dpy, &event); - key=screenhack_handle_event(&event, release); - } - XtAppUnlock(app); - return key; -} - - -static Visual *pick_visual (Screen *screen) -{ -#ifdef USE_GL - /* If we're linking against GL (that is, this is the version of - screenhack.o that the GL hacks will use, which is different from the - one that the non-GL hacks will use) then try to pick the "best" visual - by interrogating the GL library instead of by asking Xlib. GL knows - better. - */ - Visual *v = 0; - char *string = get_string_resource ("visualID", "VisualID"); - char *s; - - if (string) - for (s = string; *s; s++) - if (isupper (*s)) *s = _tolower (*s); - - if (!string || !*string || - !strcmp (string, "gl") || - !strcmp (string, "best") || - !strcmp (string, "color") || - !strcmp (string, "default")) - v = get_gl_visual (screen); /* from ../utils/visual-gl.c */ - - if (string) - free (string); - if (v) - return v; -#endif /* USE_GL */ - - return get_visual_resource (screen, "visualID", "VisualID", False); -} - -int main (int argc, char **argv) -{ - Widget toplevel; - Screen *screen; - Visual *visual; - Colormap cmap; - XEvent event; - char version[255]; - - sprintf(version,"rockboxui %s",ROCKBOXUI_VERSION); -#ifdef HAVE_LCD_BITMAP - display_zoom=2; - { - char *env=getenv("RECORDER_ZOOM"); - if (env) { - display_zoom=atoi(env); - } - } -#else - display_zoom=1; - { - char *env=getenv("PLAYER_ZOOM"); - if (env) { - display_zoom=atoi(env); - } - } -#endif - - if (argc > 1) - { - int x; - for (x=1; x= 100) progname[100] = 0; - - XSetErrorHandler (screenhack_ehandler); - - XA_WM_PROTOCOLS = XInternAtom (dpy, "WM_PROTOCOLS", False); - XA_WM_DELETE_WINDOW = XInternAtom (dpy, "WM_DELETE_WINDOW", False); - - - if (CellsOfScreen (DefaultScreenOfDisplay (dpy)) <= 2) - mono_p = True; - - { - Boolean def_visual_p; - visual = pick_visual (screen); - - if (toplevel->core.width <= 0) - toplevel->core.width = 600; - if (toplevel->core.height <= 0) - toplevel->core.height = 480; - - def_visual_p = (visual == DefaultVisualOfScreen (screen)); - - if (!def_visual_p) - { - unsigned int bg, bd; - Widget new; - - cmap = XCreateColormap (dpy, RootWindowOfScreen(screen), - visual, AllocNone); - bg = get_pixel_resource ("background", "Background", dpy, cmap); - bd = get_pixel_resource ("borderColor", "Foreground", dpy, cmap); - - new = XtVaAppCreateShell (progname, progclass, - topLevelShellWidgetClass, dpy, - XtNmappedWhenManaged, False, - XtNvisual, visual, - XtNdepth, visual_depth (screen, visual), - XtNwidth, toplevel->core.width, - XtNheight, toplevel->core.height, - XtNcolormap, cmap, - XtNbackground, (Pixel) bg, - XtNborderColor, (Pixel) bd, - XtNinput, True, /* for WM_HINTS */ - 0); - XtDestroyWidget (toplevel); - toplevel = new; - XtRealizeWidget (toplevel); - window = XtWindow (toplevel); - } - else - { - XtVaSetValues (toplevel, - XtNmappedWhenManaged, False, - XtNinput, True, /* for WM_HINTS */ - 0); - XtRealizeWidget (toplevel); - window = XtWindow (toplevel); - - if (get_boolean_resource ("installColormap", "InstallColormap")) - { - cmap = XCreateColormap (dpy, window, - DefaultVisualOfScreen (XtScreen - (toplevel)), - AllocNone); - XSetWindowColormap (dpy, window, cmap); - } - else - { - cmap = DefaultColormap (dpy, DefaultScreen (dpy)); - } - } - - XtPopup (toplevel, XtGrabNone); - - XtVaSetValues(toplevel, XtNtitle, version, 0); - - /* For screenhack_handle_events(): select KeyPress, and - announce that we accept WM_DELETE_WINDOW. */ - { - XWindowAttributes xgwa; - XGetWindowAttributes (dpy, window, &xgwa); - XSelectInput (dpy, window, - xgwa.your_event_mask | KeyPressMask | KeyRelease | - ButtonPressMask | ExposureMask | FocusChangeMask ); - XChangeProperty (dpy, window, XA_WM_PROTOCOLS, XA_ATOM, 32, - PropModeReplace, - (unsigned char *) &XA_WM_DELETE_WINDOW, 1); - } - } - - XSetWindowBackground (dpy, window, - get_pixel_resource ("background", "Background", - dpy, cmap)); - XClearWindow (dpy, window); - - /* wait for it to be mapped */ - XIfEvent (dpy, &event, MapNotify_event_p, (XPointer) window); - - XSync (dpy, False); - - atexit(kb_restore_auto_repeat); - kb_disable_auto_repeat(true); - screenhack(); /* doesn't return */ - return 0; -} diff --git a/uisimulator/x11/screenhack.h b/uisimulator/x11/screenhack.h deleted file mode 100644 index 5c2e5321ac..0000000000 --- a/uisimulator/x11/screenhack.h +++ /dev/null @@ -1,52 +0,0 @@ -/* xscreensaver, Copyright (c) 1992-1997 Jamie Zawinski - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation. No representations are made about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - */ - -#ifndef __SCREENHACK_H__ -#define __SCREENHACK_H__ - -#include -#include - -#include "config-x11.h" - -#ifdef __hpux - /* Which of the ten billion standards does values.h belong to? - What systems always have it? */ -# include -#endif - -#include - -#include -#include -#include -#include - -#include "resources.h" -#include "visual.h" - -extern Bool mono_p; -extern char *progname; -extern char *progclass; -extern XrmDatabase db; -extern XrmOptionDescRec options []; -extern char *defaults []; -extern XtAppContext app; -extern Display* dpy; -extern Window window; - -extern void screenhack(); -extern int screenhack_handle_event(XEvent*, bool *); -extern int screenhack_handle_events(bool *); -extern void screen_redraw(); -extern void screen_resized(); - -#endif /* __SCREENHACK_H__ */ diff --git a/uisimulator/x11/sound.c b/uisimulator/x11/sound.c deleted file mode 100644 index 06d9c014ff..0000000000 --- a/uisimulator/x11/sound.c +++ /dev/null @@ -1,140 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2005 by Daniel Stenberg - * - * All files in this archive are subject to the GNU General Public License. - * See the file COPYING in the source tree root for full license agreement. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - -#include "autoconf.h" - -#ifdef ROCKBOX_HAS_SIMSOUND /* play sound in sim enabled */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "sound.h" - -static bool playing = false; - -int sim_sound_init(void) -{ - int fd; - int pcmbits; - int rc; - int channels; - int rate; - - fd = open("/dev/dsp", O_WRONLY); - if(-1 == fd) - return 1; - - pcmbits = 16; - rc = ioctl(fd, SOUND_PCM_WRITE_BITS, &pcmbits); - rc = ioctl(fd, SOUND_PCM_READ_BITS, &pcmbits); - - channels = 2; /* Number of channels, 1=mono */ - rc = ioctl(fd, SOUND_PCM_WRITE_CHANNELS, &channels); - rc = ioctl(fd, SOUND_PCM_READ_CHANNELS, &channels); - - rate = 44100; /* Yeah. sampling rate */ - rc = ioctl(fd, SOUND_PCM_WRITE_RATE, &rate); - rc = ioctl(fd, SOUND_PCM_READ_RATE, &rate); - - return fd; -} - -void sim_sound_play(int soundfd, char *buffer, long len) -{ - write(soundfd, buffer, len); -} - -void sound_playback_thread(void) -{ - int soundfd = sim_sound_init(); - unsigned char *buf; - long size; - - while(-1 == soundfd) - sleep(100000); /* wait forever, can't play sound! */ - - do { - - while(!sound_get_pcm) - /* TODO: fix a fine thread-synch mechanism here */ - usleep(10000); - - do { - sound_get_pcm(&buf, &size); - if(!size) { - sound_get_pcm = NULL; - break; - } - sim_sound_play(soundfd, (char *)buf, size); - usleep(10000); - } while(size); - - } while(1); - -} - -/* Stubs for PCM audio playback. */ -bool pcm_is_playing(void) -{ - return playing; -} - -void pcm_mute(bool state) -{ - (void)state; -} - -void pcm_play_pause(bool state) -{ - (void)state; -} - -bool pcm_is_paused(void) -{ - return false; -} - -void pcm_play_stop(void) -{ - playing = false; -} - -void pcm_init(void) -{ -} - -void (*sound_get_pcm)(unsigned char** start, long* size); -void pcm_play_data(void (*get_more)(unsigned char** start, long* size)) -{ - sound_get_pcm = get_more; - playing = true; -} - -long pcm_get_bytes_waiting(void) -{ - return 0; -} - -#endif /* ROCKBOX_HAS_SIMSOUND */ diff --git a/uisimulator/x11/sound.h b/uisimulator/x11/sound.h deleted file mode 100644 index 87499cac8e..0000000000 --- a/uisimulator/x11/sound.h +++ /dev/null @@ -1,22 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2005 by Daniel Stenberg - * - * All files in this archive are subject to the GNU General Public License. - * See the file COPYING in the source tree root for full license agreement. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - -void sound_playback_thread(void); - -extern void (*sound_get_pcm)(unsigned char** start, long* size); diff --git a/uisimulator/x11/sprintf.h b/uisimulator/x11/sprintf.h deleted file mode 100644 index 64a22f3c6e..0000000000 --- a/uisimulator/x11/sprintf.h +++ /dev/null @@ -1,12 +0,0 @@ -#include -#include - -int rockbox_snprintf (char *buf, size_t size, const char *fmt, ...); -int rockbox_vsnprintf (char *buf, int size, const char *fmt, va_list ap); -int rockbox_fprintf (int fd, const char *fmt, ...); - -#ifndef NO_REDEFINES_PLEASE -#define snprintf rockbox_snprintf -#define vsnprintf rockbox_vsnprintf -#define fprintf rockbox_fprintf -#endif diff --git a/uisimulator/x11/thread.c b/uisimulator/x11/thread.c deleted file mode 100644 index 6d9139c35d..0000000000 --- a/uisimulator/x11/thread.c +++ /dev/null @@ -1,148 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2002 Daniel Stenberg - * - * All files in this archive are subject to the GNU General Public License. - * See the file COPYING in the source tree root for full license agreement. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - -#include "autoconf.h" - -#include -#include - -#include "kernel.h" -#include - -#ifdef ROCKBOX_HAS_SIMSOUND -#include "sound.h" -#endif - -long current_tick = 0; -extern void sim_tick_tasks(void); - -static void msleep(int msec) -{ - struct timeval delay; - - delay.tv_sec = msec / 1000; - delay.tv_usec = (msec % 1000) * 1000; - select(0, NULL, NULL, NULL, &delay); /* portable sub-second sleep */ -} - -/* - * This is not a target thread, so it does not fall under the 1 thread at a - * time thing. - */ -static void update_tick_thread() -{ - struct timeval start, now; - long new_tick; - - gettimeofday(&start, NULL); - while (1) - { - msleep(5); /* check twice per simulated target tick */ - gettimeofday(&now, NULL); - new_tick = (now.tv_sec - start.tv_sec) * HZ - + (now.tv_usec - start.tv_usec) / (1000000/HZ); - if (new_tick > current_tick) - { - sim_tick_tasks(); - current_tick = new_tick; - } - } -} - -/* - * We emulate the target threads by using pthreads. We have a mutex that only - * allows one thread at a time to execute. It forces each thread to yield() - * for the other(s) to run. - */ - -pthread_mutex_t mp; - -void init_threads(void) -{ - pthread_t tick_tid; - - pthread_mutex_init(&mp, NULL); - /* get mutex to only allow one thread running at a time */ - pthread_mutex_lock(&mp); - - /* start a tick thread */ - pthread_create(&tick_tid, NULL, (void *(*)(void *)) update_tick_thread, - NULL); - -#ifdef ROCKBOX_HAS_SIMSOUND /* start thread that plays PCM data */ - { - pthread_t sound_tid; - pthread_create(&sound_tid, NULL, - (void *(*)(void *)) sound_playback_thread, - NULL); - } -#endif - -} -/* - int pthread_create(pthread_t *new_thread_ID, - const pthread_attr_t *attr, - void * (*start_func)(void *), void *arg); -*/ - -void yield(void) -{ - pthread_mutex_unlock(&mp); /* return */ - msleep(1); /* prevent busy loop */ - pthread_mutex_lock(&mp); /* get it again */ -} - -void newfunc(void (*func)(void)) -{ - pthread_mutex_lock(&mp); - func(); - pthread_mutex_unlock(&mp); -} - - -int create_thread(void (*fp)(void), void* sp, int stk_size) -{ - pthread_t tid; - int i; - int error; - - /* we really don't care about these arguments */ - (void)sp; - (void)stk_size; - error = pthread_create(&tid, - NULL, /* default attributes please */ - (void *(*)(void *)) newfunc, /* function to start */ - fp /* start argument */); - if(0 != error) - fprintf(stderr, "Couldn't run thread number %d, errno %d\n", i, error); - else - fprintf(stderr, "Thread %ld is running\n", (long)tid); - - yield(); - - return error; -} - -void sim_sleep(int ticks) -{ - pthread_mutex_unlock(&mp); /* return */ - msleep((1000/HZ) * ticks); - pthread_mutex_lock(&mp); /* get it again */ -} - diff --git a/uisimulator/x11/timefuncs.h b/uisimulator/x11/timefuncs.h deleted file mode 100644 index de17fcdc73..0000000000 --- a/uisimulator/x11/timefuncs.h +++ /dev/null @@ -1,7 +0,0 @@ -#include -#include - -/* struct tm defined */ -struct tm *get_time(void); -int set_time(const struct tm *tm); -bool valid_time(const struct tm *tm); diff --git a/uisimulator/x11/uibasic.c b/uisimulator/x11/uibasic.c deleted file mode 100644 index 57870c39d3..0000000000 --- a/uisimulator/x11/uibasic.c +++ /dev/null @@ -1,277 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2002 by Daniel Stenberg - * - * All files in this archive are subject to the GNU General Public License. - * See the file COPYING in the source tree root for full license agreement. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "config.h" -#include "screenhack.h" - -#include "version.h" - -#include "lcd-x11.h" -#include "lcd-playersim.h" - -#define MAX(x,y) ((x)>(y)?(x):(y)) -#define MIN(x,y) ((x)<(y)?(x):(y)) - -#define PROGNAME "rockboxui" - -/* -- -- */ - -GC draw_gc; -static Colormap cmap; - -int display_zoom=1; -bool lcd_display_redraw=true; - -XrmOptionDescRec options [] = { - /* { "-subtractive", ".additive", XrmoptionNoArg, "false" }, */ - { "-server", ".server", XrmoptionSepArg, 0 }, - { "-help", ".help", XrmoptionNoArg, "false" }, - { 0, 0, 0, 0 } -}; -char *progclass = "rockboxui"; - -#ifdef IRIVER_H100_SERIES -#define BGCOLOR "lightblue" -#elif defined ARCHOS_GMINI120 -#define BGCOLOR "royalblue" -#else -#define BGCOLOR "lightgreen" -#endif - - -char *defaults [] = { - ".background: " BGCOLOR, - ".foreground: black", - "*help: false", - 0 -}; - -static XColor getcolor[4]; - -/* set a range of bitmap indices to a gradient from startcolour to endcolour - inherited from the win32 sim code by Jens Arnold */ -static void lcdcolors(int index, int count, XColor *start, XColor *end) -{ - int i; - count--; - for (i = 0; i <= count; i++) - { - getcolor[i+index].red = start->red - + (end->red - start->red) * i / count; - getcolor[i+index].green = start->green - + (end->green - start->green) * i / count; - getcolor[i+index].blue = start->blue - + (end->blue - start->blue) * i / count; - XAllocColor (dpy, cmap, &getcolor[i+index]); - } -} - - -void init_window () -{ - XGCValues gcv; - XWindowAttributes xgwa; - - XGetWindowAttributes (dpy, window, &xgwa); - XColor bg; - XColor fg; - - cmap = xgwa.colormap; - - XParseColor (dpy, cmap, BGCOLOR, &bg); - XParseColor (dpy, cmap, "black", &fg); - getcolor[0] = bg; - getcolor[1] = bg; - getcolor[2] = bg; - getcolor[3] = bg; - - lcdcolors(0, 4, &bg, &fg); - -#if 0 - for(i=0; i<4; i++) { - printf("color %d: %d %d %d\n", - i, - getcolor[i].red, - getcolor[i].green, - getcolor[i].blue); - } -#endif - - gcv.function = GXxor; - gcv.foreground = getcolor[3].pixel; - draw_gc = XCreateGC (dpy, window, GCForeground, &gcv); - - screen_resized(LCD_WIDTH, LCD_HEIGHT); -} - -void screen_resized(int width, int height) -{ - int maxx, maxy; - maxx = width; - maxy = height; - - XtAppLock(app); - XSetForeground(dpy, draw_gc, getcolor[0].pixel); - - XFillRectangle(dpy, window, draw_gc, 0, 0, width*display_zoom, - height*display_zoom); - XtAppUnlock(app); - screen_redraw(); -} - -void drawrect(int color, int x1, int y1, int x2, int y2) -{ - XtAppLock(app); - XSetForeground(dpy, draw_gc, getcolor[color].pixel); - XFillRectangle(dpy, window, draw_gc, x1*display_zoom, y1*display_zoom, - x2*display_zoom, y2*display_zoom); - XtAppUnlock(app); -} - -static void help(void) -{ - printf(PROGNAME " " ROCKBOXUI_VERSION " " __DATE__ "\n" - "usage: " PROGNAME "\n"); -} - -static void drawline(int color, int x1, int y1, int x2, int y2) -{ - XtAppLock(app); - XSetForeground(dpy, draw_gc, getcolor[color].pixel); - - XDrawLine(dpy, window, draw_gc, - (int)(x1*display_zoom), - (int)(y1*display_zoom), - (int)(x2*display_zoom), - (int)(y2*display_zoom)); - XtAppUnlock(app); -} - -void dots(int *colors, struct coordinate *points, int count) -{ - int color; - XtAppLock(app); - - while (count--) { - color = colors[count]; - XSetForeground(dpy, draw_gc, getcolor[color].pixel); - XFillRectangle(dpy, window, draw_gc, - points[count].x*display_zoom, - points[count].y*display_zoom, - display_zoom, - display_zoom); - } - XtAppUnlock(app); -} - -/* this is where the applicaton starts */ -extern void app_main(void); - -void screenhack() -{ - Bool helpme; - - /* This doesn't work, but I don't know why (Daniel 1999-12-01) */ - helpme = get_boolean_resource ("help", "Boolean"); - if(helpme) - help(); - - printf(PROGNAME " " ROCKBOXUI_VERSION " (" __DATE__ ")\n"); - - init_window(); - - screen_redraw(); - - app_main(); -} - -/* used for the player sim */ -void drawdots(int color, struct coordinate *points, int count) -{ - XtAppLock(app); - XSetForeground(dpy, draw_gc, getcolor[color==0?0:3].pixel); - - while (count--) { - XFillRectangle(dpy, window, draw_gc, - points[count].x*display_zoom, - points[count].y*display_zoom, - display_zoom, - display_zoom); - } - XtAppUnlock(app); -} - -/* used for the player sim */ -void drawrectangles(int color, struct rectangle *points, int count) -{ - XtAppLock(app); - - XSetForeground(dpy, draw_gc, getcolor[color==0?0:3].pixel); - while (count--) { - XFillRectangle(dpy, window, draw_gc, - points[count].x*display_zoom, - points[count].y*display_zoom, - points[count].width*display_zoom, - points[count].height*display_zoom); - } - XtAppUnlock(app); -} - - -void screen_redraw() -{ - /* draw a border around the screen */ -#define X1 0 -#define Y1 0 -#define X2 (LCD_WIDTH + 2*MARGIN_X - 1) -#define Y2 (LCD_HEIGHT + 2*MARGIN_Y - 1) - - drawline(1, X1, Y1, X2, Y1); - drawline(1, X2, Y1, X2, Y2); - drawline(1, X1, Y2, X2, Y2); - drawline(1, X1, Y1, X1, Y2); - lcd_display_redraw = true; - lcd_update(); -#ifdef LCD_REMOTE_HEIGHT - /* draw a border around the remote LCD screen */ -#define RX1 0 -#define RY1 (Y2 + 1) -#define RX2 (LCD_REMOTE_WIDTH + 2*MARGIN_X - 1) -#define RY2 (RY1 + LCD_REMOTE_HEIGHT + 2*MARGIN_Y - 1) - - drawline(1, RX1, RY1, RX2, RY1); - drawline(1, RX2, RY1, RX2, RY2); - drawline(1, RX1, RY2, RX2, RY2); - drawline(1, RX1, RY1, RX1, RY2); - lcd_display_redraw = true; - lcd_remote_update(); -#endif -} diff --git a/uisimulator/x11/utils.h b/uisimulator/x11/utils.h deleted file mode 100644 index 5045d4aa6d..0000000000 --- a/uisimulator/x11/utils.h +++ /dev/null @@ -1,22 +0,0 @@ -/* xscreensaver, Copyright (c) 1997 Jamie Zawinski - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation. No representations are made about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - */ - -#ifdef HAVE_CONFIG_H -# include "config-x11.h" -#endif - -#include -#include -#include -#include - -#include -#include diff --git a/uisimulator/x11/version.h b/uisimulator/x11/version.h deleted file mode 100644 index 1d40c08781..0000000000 --- a/uisimulator/x11/version.h +++ /dev/null @@ -1 +0,0 @@ -#define ROCKBOXUI_VERSION "0.2" diff --git a/uisimulator/x11/visual.c b/uisimulator/x11/visual.c deleted file mode 100644 index 57b73151c5..0000000000 --- a/uisimulator/x11/visual.c +++ /dev/null @@ -1,544 +0,0 @@ -/* xscreensaver, Copyright (c) 1993, 1994, 1995, 1996, 1997, 1998, 1999 - * by Jamie Zawinski - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation. No representations are made about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - */ - -/* This file contains some code for intelligently picking the best visual - (where "best" is biased in the direction of either: high color counts; - or: having writable color cells...) - */ - -#include "utils.h" -#include "resources.h" /* for get_string_resource() */ -#include "visual.h" - -#include - -extern char *progname; - - -#ifndef isupper -# define isupper(c) ((c) >= 'A' && (c) <= 'Z') -#endif -#ifndef _tolower -# define _tolower(c) ((c) - 'A' + 'a') -#endif - - -static Visual *pick_best_visual (Screen *, Bool, Bool); -static Visual *pick_mono_visual (Screen *); -static Visual *pick_best_visual_of_class (Screen *, int); -static Visual *pick_best_gl_visual (Screen *); -static Visual *id_to_visual (Screen *, int); -static Visual *id_to_visual (Screen *screen, int id); - - -#define DEFAULT_VISUAL -1 -#define BEST_VISUAL -2 -#define MONO_VISUAL -3 -#define GRAY_VISUAL -4 -#define COLOR_VISUAL -5 -#define GL_VISUAL -6 -#define SPECIFIC_VISUAL -7 - -Visual * -get_visual (Screen *screen, const char *string, Bool prefer_writable_cells, - Bool verbose_p) -{ - char *v = (string ? strdup(string) : 0); - char c, *tmp; - int vclass; - unsigned long id; - Visual *result = 0; - - if (v) - for (tmp = v; *tmp; tmp++) - if (isupper (*tmp)) *tmp = _tolower (*tmp); - - if (!v || !*v) vclass = BEST_VISUAL; - else if (!strcmp (v, "default")) vclass = DEFAULT_VISUAL; - else if (!strcmp (v, "best")) vclass = BEST_VISUAL; - else if (!strcmp (v, "mono")) vclass = MONO_VISUAL; - else if (!strcmp (v, "monochrome")) vclass = MONO_VISUAL; - else if (!strcmp (v, "gray")) vclass = GRAY_VISUAL; - else if (!strcmp (v, "grey")) vclass = GRAY_VISUAL; - else if (!strcmp (v, "color")) vclass = COLOR_VISUAL; - else if (!strcmp (v, "gl")) vclass = GL_VISUAL; - else if (!strcmp (v, "staticgray")) vclass = StaticGray; - else if (!strcmp (v, "staticcolor")) vclass = StaticColor; - else if (!strcmp (v, "truecolor")) vclass = TrueColor; - else if (!strcmp (v, "grayscale")) vclass = GrayScale; - else if (!strcmp (v, "greyscale")) vclass = GrayScale; - else if (!strcmp (v, "pseudocolor")) vclass = PseudoColor; - else if (!strcmp (v, "directcolor")) vclass = DirectColor; - else if (1 == sscanf (v, " %ld %c", &id, &c)) vclass = SPECIFIC_VISUAL; - else if (1 == sscanf (v, " 0x%lx %c", &id, &c)) vclass = SPECIFIC_VISUAL; - else - { - fprintf (stderr, "%s: unrecognized visual \"%s\".\n", progname, v); - vclass = DEFAULT_VISUAL; - } - - if (vclass == DEFAULT_VISUAL) - result = DefaultVisualOfScreen (screen); - else if (vclass == BEST_VISUAL) - result = pick_best_visual (screen, prefer_writable_cells, False); - else if (vclass == MONO_VISUAL) - { - result = pick_mono_visual (screen); - if (!result && verbose_p) - fprintf (stderr, "%s: no monochrome visuals.\n", progname); - } - else if (vclass == GRAY_VISUAL) - { - if (prefer_writable_cells) - result = pick_best_visual_of_class (screen, GrayScale); - if (!result) - result = pick_best_visual_of_class (screen, StaticGray); - if (!result) - result = pick_best_visual_of_class (screen, GrayScale); - if (!result && verbose_p) - fprintf (stderr, "%s: no GrayScale or StaticGray visuals.\n", - progname); - } - else if (vclass == COLOR_VISUAL) - { - int class; - /* First see if the default visual will do. */ - result = DefaultVisualOfScreen (screen); - class = visual_class(screen, result); - if (class != TrueColor && - class != PseudoColor && - class != DirectColor && - class != StaticColor) - result = 0; - if (result && visual_depth(screen, result) <= 1) - result = 0; - - /* Else, find the best non-default color visual */ - if (!result) - result = pick_best_visual (screen, prefer_writable_cells, True); - - if (!result && verbose_p) - fprintf (stderr, "%s: no color visuals.\n", progname); - } - else if (vclass == GL_VISUAL) - { - Visual *visual = pick_best_gl_visual (screen); - if (visual) - result = visual; - else if (verbose_p) - fprintf (stderr, "%s: no visual suitable for GL.\n", progname); - } - else if (vclass == SPECIFIC_VISUAL) - { - result = id_to_visual (screen, id); - if (!result && verbose_p) - fprintf (stderr, "%s: no visual with id 0x%x.\n", progname, - (unsigned int) id); - } - else - { - Visual *visual = pick_best_visual_of_class (screen, vclass); - if (visual) - result = visual; - else if (verbose_p) - fprintf (stderr, "%s: no visual of class %s.\n", progname, v); - } - - if (v) free (v); - return result; -} - -Visual * -get_visual_resource (Screen *screen, char *name, char *class, - Bool prefer_writable_cells) -{ - char *string = get_string_resource (name, class); - Visual *v = get_visual (screen, string, prefer_writable_cells, True); - if (string) - free(string); - if (v) - return v; - else - return DefaultVisualOfScreen (screen); -} - - -static Visual * -pick_best_visual (Screen *screen, Bool prefer_writable_cells, Bool color_only) -{ - Visual *visual; - - if (!prefer_writable_cells) - { - /* If we don't prefer writable cells, then the "best" visual is the one - on which we can allocate the largest range and number of colors. - - Therefore, a TrueColor visual which is at least 16 bits deep is best. - (The assumption here being that a TrueColor of less than 16 bits is - really just a PseudoColor visual with a pre-allocated color cube.) - - The next best thing is a PseudoColor visual of any type. After that - come the non-colormappable visuals, and non-color visuals. - */ - if ((visual = pick_best_visual_of_class (screen, TrueColor)) && - visual_depth (screen, visual) >= 16) - return visual; - } - -#define TRY_CLASS(CLASS) \ - if ((visual = pick_best_visual_of_class (screen, CLASS)) && \ - (!color_only || visual_depth(screen, visual) > 1)) \ - return visual - TRY_CLASS(PseudoColor); - TRY_CLASS(TrueColor); - TRY_CLASS(DirectColor); - TRY_CLASS(StaticColor); - if (!color_only) - { - TRY_CLASS(GrayScale); - TRY_CLASS(StaticGray); - } -#undef TRY_CLASS - - visual = DefaultVisualOfScreen (screen); - if (!color_only || visual_depth(screen, visual) > 1) - return visual; - else - return 0; -} - -static Visual * -pick_mono_visual (Screen *screen) -{ - Display *dpy = DisplayOfScreen (screen); - XVisualInfo vi_in, *vi_out; - int out_count; - - vi_in.depth = 1; - vi_in.screen = screen_number (screen); - vi_out = XGetVisualInfo (dpy, (VisualDepthMask | VisualScreenMask), - &vi_in, &out_count); - if (vi_out) - { - Visual *v = (out_count > 0 ? vi_out [0].visual : 0); - if (v && vi_out[0].depth != 1) - v = 0; - XFree ((char *) vi_out); - return v; - } - else - return 0; -} - - -static Visual * -pick_best_visual_of_class (Screen *screen, int visual_class) -{ - /* The best visual of a class is the one which on which we can allocate - the largest range and number of colors, which means the one with the - greatest depth and number of cells. - - (But actually, for XDaliClock, all visuals of the same class are - probably equivalent - either we have writable cells or we don't.) - */ - Display *dpy = DisplayOfScreen (screen); - XVisualInfo vi_in, *vi_out; - int out_count; - - vi_in.class = visual_class; - vi_in.screen = screen_number (screen); - vi_out = XGetVisualInfo (dpy, (VisualClassMask | VisualScreenMask), - &vi_in, &out_count); - if (vi_out) - { - /* choose the 'best' one, if multiple */ - int i, best; - Visual *visual; -/* for (i = 0, best = 0; i < out_count; i++) */ - for (i = out_count-1, best = i; i >= 0; i--) /* go backwards */ - /* It's better if it's deeper, or if it's the same depth with - more cells (does that ever happen? Well, it could...) */ - if ((vi_out [i].depth > vi_out [best].depth) || - ((vi_out [i].depth == vi_out [best].depth) && - (vi_out [i].colormap_size > vi_out [best].colormap_size))) - best = i; - visual = (best < out_count ? vi_out [best].visual : 0); - XFree ((char *) vi_out); - return visual; - } - else - return 0; -} - -static Visual * -pick_best_gl_visual (Screen *screen) -{ - /* The best visual for GL is a TrueColor visual that is half as deep as - the screen. If such a thing doesn't exist, then TrueColor is best. - Failing that, the deepest available color visual is best. - - Compare this function to get_gl_visual() in visual-gl.c. - This function tries to find the best GL visual using Xlib calls, - whereas that function does the same thing using GLX calls. - */ - Display *dpy = DisplayOfScreen (screen); - XVisualInfo vi_in, *vi_out; - int out_count; - Visual *result = 0; - - int ndepths = 0; - int *depths = XListDepths (dpy, screen_number (screen), &ndepths); - int screen_depth = depths[ndepths]; - XFree (depths); - - vi_in.class = TrueColor; - vi_in.screen = screen_number (screen); - vi_in.depth = screen_depth / 2; - vi_out = XGetVisualInfo (dpy, (VisualClassMask | VisualScreenMask | - VisualDepthMask), - &vi_in, &out_count); - if (out_count > 0) - result = vi_out[0].visual; - - if (vi_out) - XFree ((char *) vi_out); - - if (!result && screen_depth > 24) - { - /* If it's a 32-deep screen and we didn't find a depth-16 visual, - see if there's a depth-12 visual. */ - vi_in.class = TrueColor; - vi_in.screen = screen_number (screen); - vi_in.depth = 12; - vi_out = XGetVisualInfo (dpy, (VisualClassMask | VisualScreenMask | - VisualDepthMask), - &vi_in, &out_count); - if (out_count > 0) - result = vi_out[0].visual; - } - - if (!result) - /* No half-depth TrueColor? Ok, try for any TrueColor (the deepest.) */ - result = pick_best_visual_of_class (screen, TrueColor); - - if (!result) - /* No TrueColor? Ok, try for anything. */ - result = pick_best_visual (screen, False, False); - - return result; -} - - -static Visual * -id_to_visual (Screen *screen, int id) -{ - Display *dpy = DisplayOfScreen (screen); - XVisualInfo vi_in, *vi_out; - int out_count; - vi_in.screen = screen_number (screen); - vi_in.visualid = id; - vi_out = XGetVisualInfo (dpy, (VisualScreenMask | VisualIDMask), - &vi_in, &out_count); - if (vi_out) - { - Visual *v = vi_out[0].visual; - XFree ((char *) vi_out); - return v; - } - return 0; -} - -int -visual_depth (Screen *screen, Visual *visual) -{ - Display *dpy = DisplayOfScreen (screen); - XVisualInfo vi_in, *vi_out; - int out_count, d; - vi_in.screen = screen_number (screen); - vi_in.visualid = XVisualIDFromVisual (visual); - vi_out = XGetVisualInfo (dpy, VisualScreenMask|VisualIDMask, - &vi_in, &out_count); - if (! vi_out) abort (); - d = vi_out [0].depth; - XFree ((char *) vi_out); - return d; -} - - -#if 0 -/* You very probably don't want to be using this. - Pixmap depth doesn't refer to the depths of pixmaps, but rather, to - the depth of protocol-level on-the-wire pixmap data, that is, XImages. - To get this info, you should be looking at XImage->bits_per_pixel - instead. (And allocating the data for your XImage structures by - multiplying ximage->bytes_per_line by ximage->height.) - */ -int -visual_pixmap_depth (Screen *screen, Visual *visual) -{ - Display *dpy = DisplayOfScreen (screen); - int vdepth = visual_depth (screen, visual); - int pdepth = vdepth; - int i, pfvc = 0; - XPixmapFormatValues *pfv = XListPixmapFormats (dpy, &pfvc); - - /* Return the first matching depth in the pixmap formats. If there are no - matching pixmap formats (which shouldn't be able to happen at all) then - return the visual depth instead. */ - for (i = 0; i < pfvc; i++) - if (pfv[i].depth == vdepth) - { - pdepth = pfv[i].bits_per_pixel; - break; - } - if (pfv) - XFree (pfv); - return pdepth; -} -#endif /* 0 */ - - -int -visual_class (Screen *screen, Visual *visual) -{ - Display *dpy = DisplayOfScreen (screen); - XVisualInfo vi_in, *vi_out; - int out_count, c; - vi_in.screen = screen_number (screen); - vi_in.visualid = XVisualIDFromVisual (visual); - vi_out = XGetVisualInfo (dpy, VisualScreenMask|VisualIDMask, - &vi_in, &out_count); - if (! vi_out) abort (); - c = vi_out [0].class; - XFree ((char *) vi_out); - return c; -} - -Bool -has_writable_cells (Screen *screen, Visual *visual) -{ - switch (visual_class (screen, visual)) - { - case GrayScale: /* Mappable grays. */ - case PseudoColor: /* Mappable colors. */ - return True; - case StaticGray: /* Fixed grays. */ - case TrueColor: /* Fixed colors. */ - case StaticColor: /* (What's the difference again?) */ - case DirectColor: /* DirectColor visuals are like TrueColor, but have - three colormaps - one for each component of RGB. - Screw it. */ - return False; - default: - abort(); - return False; - } -} - -void -describe_visual (FILE *f, Screen *screen, Visual *visual, Bool private_cmap_p) -{ - char n[10]; - Display *dpy = DisplayOfScreen (screen); - XVisualInfo vi_in, *vi_out; - int out_count; - vi_in.screen = screen_number (screen); - vi_in.visualid = XVisualIDFromVisual (visual); - vi_out = XGetVisualInfo (dpy, (VisualScreenMask | VisualIDMask), - &vi_in, &out_count); - if (! vi_out) abort (); - if (private_cmap_p) - sprintf(n, "%3d", vi_out->colormap_size); - else - strcpy(n, "default"); - - fprintf (f, "0x%02x (%s depth: %2d, cmap: %s)\n", - (unsigned int) vi_out->visualid, - (vi_out->class == StaticGray ? "StaticGray, " : - vi_out->class == StaticColor ? "StaticColor," : - vi_out->class == TrueColor ? "TrueColor, " : - vi_out->class == GrayScale ? "GrayScale, " : - vi_out->class == PseudoColor ? "PseudoColor," : - vi_out->class == DirectColor ? "DirectColor," : - "UNKNOWN: "), - vi_out->depth, n); - XFree ((char *) vi_out); -} - -int -screen_number (Screen *screen) -{ - Display *dpy = DisplayOfScreen (screen); - int i; - for (i = 0; i < ScreenCount (dpy); i++) - if (ScreenOfDisplay (dpy, i) == screen) - return i; - abort (); - return 0; -} - -int -visual_cells (Screen *screen, Visual *visual) -{ - Display *dpy = DisplayOfScreen (screen); - XVisualInfo vi_in, *vi_out; - int out_count, c; - vi_in.screen = screen_number (screen); - vi_in.visualid = XVisualIDFromVisual (visual); - vi_out = XGetVisualInfo (dpy, VisualScreenMask|VisualIDMask, - &vi_in, &out_count); - if (! vi_out) abort (); - c = vi_out [0].colormap_size; - XFree ((char *) vi_out); - return c; -} - -Visual * -find_similar_visual(Screen *screen, Visual *old_visual) -{ - Display *dpy = DisplayOfScreen (screen); - XVisualInfo vi_in, *vi_out; - Visual *result = 0; - int out_count; - - vi_in.screen = screen_number (screen); - vi_in.class = visual_class (screen, old_visual); - vi_in.depth = visual_depth (screen, old_visual); - - /* Look for a visual of the same class and depth. - */ - vi_out = XGetVisualInfo (dpy, (VisualScreenMask | VisualClassMask | - VisualDepthMask), - &vi_in, &out_count); - if (vi_out && out_count > 0) - result = vi_out[0].visual; - if (vi_out) XFree (vi_out); - vi_out = 0; - - /* Failing that, look for a visual of the same class. - */ - if (!result) - { - vi_out = XGetVisualInfo (dpy, (VisualScreenMask | VisualClassMask), - &vi_in, &out_count); - if (vi_out && out_count > 0) - result = vi_out[0].visual; - if (vi_out) XFree (vi_out); - vi_out = 0; - } - - /* Failing that, return the default visual. */ - if (!result) - result = DefaultVisualOfScreen (screen); - - return result; -} diff --git a/uisimulator/x11/visual.h b/uisimulator/x11/visual.h deleted file mode 100644 index dd45708ea0..0000000000 --- a/uisimulator/x11/visual.h +++ /dev/null @@ -1,29 +0,0 @@ -/* xscreensaver, Copyright (c) 1993-1999 by Jamie Zawinski - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation. No representations are made about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - */ - -#ifndef __VISUAL_H__ -#define __VISUAL_H__ - -extern Visual *get_visual (Screen *, const char *name, Bool, Bool); -extern Visual *get_visual_resource (Screen *, char *, char *, Bool); -extern int visual_depth (Screen *, Visual *); -/* extern int visual_pixmap_depth (Screen *, Visual *); */ -extern int visual_class (Screen *, Visual *); -extern int visual_cells (Screen *, Visual *); -extern int screen_number (Screen *); -extern Visual *find_similar_visual (Screen *, Visual *old); -extern void describe_visual (FILE *f, Screen *, Visual *, Bool private_cmap_p); -extern Visual *get_overlay_visual (Screen *, unsigned long *pixel_return); -extern Bool has_writable_cells (Screen *screen, Visual *visual); - -Visual *get_gl_visual (Screen *screen); - -#endif /* __VISUAL_H__ */ diff --git a/uisimulator/x11/vroot.h b/uisimulator/x11/vroot.h deleted file mode 100644 index 83c7ba9acc..0000000000 --- a/uisimulator/x11/vroot.h +++ /dev/null @@ -1,126 +0,0 @@ -/*****************************************************************************/ -/** Copyright 1991 by Andreas Stolcke **/ -/** Copyright 1990 by Solbourne Computer Inc. **/ -/** Longmont, Colorado **/ -/** **/ -/** All Rights Reserved **/ -/** **/ -/** Permission to use, copy, modify, and distribute this software and **/ -/** its documentation for any purpose and without fee is hereby **/ -/** granted, provided that the above copyright notice appear in all **/ -/** copies and that both that copyright notice and this permis- **/ -/** sion notice appear in supporting documentation, and that the **/ -/** name of Solbourne not be used in advertising **/ -/** in publicity pertaining to distribution of the software without **/ -/** specific, written prior permission. **/ -/** **/ -/** ANDREAS STOLCKE AND SOLBOURNE COMPUTER INC. DISCLAIMS ALL WARRANTIES **/ -/** WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF **/ -/** MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL ANDREAS STOLCKE **/ -/** OR SOLBOURNE BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL **/ -/** DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA **/ -/** OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER **/ -/** TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE **/ -/** OR PERFORMANCE OF THIS SOFTWARE. **/ -/*****************************************************************************/ -/* - * vroot.h -- Virtual Root Window handling header file - * - * This header file redefines the X11 macros RootWindow and DefaultRootWindow, - * making them look for a virtual root window as provided by certain `virtual' - * window managers like swm and tvtwm. If none is found, the ordinary root - * window is returned, thus retaining backward compatibility with standard - * window managers. - * The function implementing the virtual root lookup remembers the result of - * its last invocation to avoid overhead in the case of repeated calls - * on the same display and screen arguments. - * The lookup code itself is taken from Tom LaStrange's ssetroot program. - * - * Most simple root window changing X programs can be converted to using - * virtual roots by just including - * - * #include - * - * after all the X11 header files. It has been tested on such popular - * X clients as xphoon, xfroot, xloadimage, and xaqua. - * It also works with the core clients xprop, xwininfo, xwd, and editres - * (and is necessary to get those clients working under tvtwm). - * It does NOT work with xsetroot; get the xsetroot replacement included in - * the tvtwm distribution instead. - * - * Andreas Stolcke , 9/7/90 - * - replaced all NULL's with properly cast 0's, 5/6/91 - * - free children list (suggested by Mark Martin ), 5/16/91 - * - include X11/Xlib.h and support RootWindowOfScreen, too 9/17/91 - */ - -#ifndef _VROOT_H_ -#define _VROOT_H_ - -#if !defined(lint) && !defined(SABER) -static const char vroot_rcsid[] = "#Id: vroot.h,v 1.4 1991/09/30 19:23:16 stolcke Exp stolcke #"; -#endif - -#include -#include -#include - -static Window -#ifdef __STDC__ /* ANSIfication added by jwz, to avoid superfluous warnings. */ -VirtualRootWindowOfScreen(Screen *screen) -#else /* !__STDC__ */ -VirtualRootWindowOfScreen(screen) Screen *screen; -#endif /* !__STDC__ */ -{ - static Screen *save_screen = (Screen *)0; - static Window root = (Window)0; - - if (screen != save_screen) { - Display *dpy = DisplayOfScreen(screen); - Atom __SWM_VROOT = None; - unsigned int i; - Window rootReturn, parentReturn, *children; - unsigned int numChildren; - - root = RootWindowOfScreen(screen); - - /* go look for a virtual root */ - __SWM_VROOT = XInternAtom(dpy, "__SWM_VROOT", False); - if (XQueryTree(dpy, root, &rootReturn, &parentReturn, - &children, &numChildren)) { - for (i = 0; i < numChildren; i++) { - Atom actual_type; - int actual_format; - unsigned long nitems, bytesafter; - Window *newRoot = (Window *)0; - - if (XGetWindowProperty(dpy, children[i], - __SWM_VROOT, 0, 1, False, XA_WINDOW, - &actual_type, &actual_format, - &nitems, &bytesafter, - (unsigned char **) &newRoot) == Success - && newRoot) { - root = *newRoot; - break; - } - } - if (children) - XFree((char *)children); - } - - save_screen = screen; - } - - return root; -} - -#undef RootWindowOfScreen -#define RootWindowOfScreen(s) VirtualRootWindowOfScreen(s) - -#undef RootWindow -#define RootWindow(dpy,screen) VirtualRootWindowOfScreen(ScreenOfDisplay(dpy,screen)) - -#undef DefaultRootWindow -#define DefaultRootWindow(dpy) VirtualRootWindowOfScreen(DefaultScreenOfDisplay(dpy)) - -#endif /* _VROOT_H_ */ diff --git a/uisimulator/x11/xmu.h b/uisimulator/x11/xmu.h deleted file mode 100644 index 48084f747e..0000000000 --- a/uisimulator/x11/xmu.h +++ /dev/null @@ -1,14 +0,0 @@ -/* This file contains compatibility routines for systems without Xmu. - * You would be better served by installing Xmu on your machine or - * yelling at your vendor to ship it. - */ - -#ifndef __XMU_H__ -#define __XMU_H__ - -#include -#include - -int XmuPrintDefaultErrorMessage (Display *dpy, XErrorEvent *event, FILE *fp); - -#endif /* __XMU_H__ */ -- cgit v1.2.3