diff options
Diffstat (limited to 'contrib/very-important-source-code/ft_tester')
5 files changed, 850 insertions, 0 deletions
| diff --git a/contrib/very-important-source-code/ft_tester/Makefile.am b/contrib/very-important-source-code/ft_tester/Makefile.am new file mode 100644 index 00000000..02747edb --- /dev/null +++ b/contrib/very-important-source-code/ft_tester/Makefile.am @@ -0,0 +1,54 @@ +noinst_SCRIPTS =  +if WINE_PLUGIN +  noinst_SCRIPTS += ftc.exe.so +endif #WINE_PLUGIN + +if DARWIN +  LDFLAGS += -Wl,-no_arch_warnings +else +  LDFLAGS += -Wl,--no-warn-search-mismatch +endif + +CC = winegcc + +CXX = wineg++ + +SUFFIXES = .o .cpp .c .rc + +.cpp.o : +	$(CXX) -c $(CXXFLAGS_PRE) $(CXXFLAGS) $(CPPFLAGS) -m32 -o $@ $< + +.c.o : +	$(CC) -c $(CFLAGS_PRE) $(CFLAGS) $(CPPFLAGS) -m32 -o $@ $< + +.rc.o : +	wrc -o $@ $(RCFLAGS) $< + +CXXFLAGS_PRE = -g -DHAVE_CONFIG_H -I../../.. -I. -I@srcdir@/../.. -I@top_builddir@ +CFLAGS_PRE = -g -I../.. -I../../.. -DHAVE_CONFIG_H -I@srcdir@/../.. -I@top_builddir@ +RCFLAGS = -I @srcdir@ +#VPATH = ../..:@srcdir@/../..:@top_builddir@:@srcdir@ +vpath %.h @srcdir@/../.. +vpath %.h @top_builddir@ +vpath %.c @srcdir@ +vpath %.c @srcdir@/../.. + +ftc.exe.so : main.o fttester.o +	wineg++ -g -o $@ -L. $(WINE_LIBS) $(LDFLAGS) -m32 -Wall -Wextra $^ + +fttester.o : fttester.rc resource.h config.h + +main.o : main.cpp + +clean-local: clean-local-check +.PHONY: clean-local-check +clean-local-check: +	rm -f *.exe* *.dll* *.sh *.o + +distclean-local: distclean-local-check +.PHONY: distclean-local-check +distclean-local-check: +	rm -f *.exe* *.dll* *.sh *.o + +EXTRA_DIST = resource.h fttester.rc main.cpp + diff --git a/contrib/very-important-source-code/ft_tester/Makefile.in b/contrib/very-important-source-code/ft_tester/Makefile.in new file mode 100644 index 00000000..d1fff34d --- /dev/null +++ b/contrib/very-important-source-code/ft_tester/Makefile.in @@ -0,0 +1,491 @@ +# Makefile.in generated by automake 1.14.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ +  case $${target_option-} in \ +      ?) ;; \ +      *) echo "am__make_running_with_option: internal error: invalid" \ +              "target option '$${target_option-}' specified" >&2; \ +         exit 1;; \ +  esac; \ +  has_opt=no; \ +  sane_makeflags=$$MAKEFLAGS; \ +  if $(am__is_gnu_make); then \ +    sane_makeflags=$$MFLAGS; \ +  else \ +    case $$MAKEFLAGS in \ +      *\\[\ \	]*) \ +        bs=\\; \ +        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ +          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \ +    esac; \ +  fi; \ +  skip_next=no; \ +  strip_trailopt () \ +  { \ +    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ +  }; \ +  for flg in $$sane_makeflags; do \ +    test $$skip_next = yes && { skip_next=no; continue; }; \ +    case $$flg in \ +      *=*|--*) continue;; \ +        -*I) strip_trailopt 'I'; skip_next=yes;; \ +      -*I?*) strip_trailopt 'I';; \ +        -*O) strip_trailopt 'O'; skip_next=yes;; \ +      -*O?*) strip_trailopt 'O';; \ +        -*l) strip_trailopt 'l'; skip_next=yes;; \ +      -*l?*) strip_trailopt 'l';; \ +      -[dEDm]) skip_next=yes;; \ +      -[JT]) skip_next=yes;; \ +    esac; \ +    case $$flg in \ +      *$$target_option*) has_opt=yes; break;; \ +    esac; \ +  done; \ +  test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +@WINE_PLUGIN_TRUE@am__append_1 = ftc.exe.so +@DARWIN_TRUE@am__append_2 = -Wl,-no_arch_warnings +@DARWIN_FALSE@am__append_3 = -Wl,--no-warn-search-mismatch +subdir = src/wine_bridge/ft_tester +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ +	$(srcdir)/fttester.rc.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ +	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ +	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ +	$(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ +	$(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = fttester.rc +CONFIG_CLEAN_VPATH_FILES = +SCRIPTS = $(noinst_SCRIPTS) +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo "  GEN     " $@; +am__v_GEN_1 =  +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 =  +depcomp = +am__depfiles_maybe = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ +  case $$AM_UPDATE_INFO_DIR in \ +    n|no|NO) false;; \ +    *) (install-info --version) >/dev/null 2>&1;; \ +  esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BISON = @BISON@ +CC = winegcc +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = wineg++ +CXXCPP = @CXXCPP@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ $(am__append_2) $(am__append_3) +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIB32DIR = @LIB32DIR@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJC = @OBJC@ +OBJCFLAGS = @OBJCFLAGS@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OPENCV_CFLAGS = @OPENCV_CFLAGS@ +OPENCV_LIBS = @OPENCV_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +QMAKE_PATH = @QMAKE_PATH@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +WINE64_LIBS = @WINE64_LIBS@ +WINE_LIBS = @WINE_LIBS@ +XPL_CPPFLAGS = @XPL_CPPFLAGS@ +YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_OBJC = @ac_ct_OBJC@ +am__leading_dot = @am__leading_dot@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +with_makensis = @with_makensis@ +with_wine64 = @with_wine64@ +noinst_SCRIPTS = $(am__append_1) +SUFFIXES = .o .cpp .c .rc +CXXFLAGS_PRE = -g -DHAVE_CONFIG_H -I../../.. -I. -I@srcdir@/../.. -I@top_builddir@ +CFLAGS_PRE = -g -I../.. -I../../.. -DHAVE_CONFIG_H -I@srcdir@/../.. -I@top_builddir@ +RCFLAGS = -I @srcdir@ +EXTRA_DIST = resource.h fttester.rc main.cpp +all: all-am + +.SUFFIXES: +.SUFFIXES: .o .cpp .c .rc +$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps) +	@for dep in $?; do \ +	  case '$(am__configure_deps)' in \ +	    *$$dep*) \ +	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ +	        && { if test -f $@; then exit 0; else break; fi; }; \ +	      exit 1;; \ +	  esac; \ +	done; \ +	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu --ignore-deps src/wine_bridge/ft_tester/Makefile'; \ +	$(am__cd) $(top_srcdir) && \ +	  $(AUTOMAKE) --gnu --ignore-deps src/wine_bridge/ft_tester/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status +	@case '$?' in \ +	  *config.status*) \ +	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ +	  *) \ +	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ +	esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) +	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure:  $(am__configure_deps) +	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4):  $(am__aclocal_m4_deps) +	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): +fttester.rc: $(top_builddir)/config.status $(srcdir)/fttester.rc.in +	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ + +mostlyclean-libtool: +	-rm -f *.lo + +clean-libtool: +	-rm -rf .libs _libs +tags TAGS: + +ctags CTAGS: + +cscope cscopelist: + + +distdir: $(DISTFILES) +	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +	list='$(DISTFILES)'; \ +	  dist_files=`for file in $$list; do echo $$file; done | \ +	  sed -e "s|^$$srcdirstrip/||;t" \ +	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +	case $$dist_files in \ +	  */*) $(MKDIR_P) `echo "$$dist_files" | \ +			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +			   sort -u` ;; \ +	esac; \ +	for file in $$dist_files; do \ +	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +	  if test -d $$d/$$file; then \ +	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +	    if test -d "$(distdir)/$$file"; then \ +	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +	    fi; \ +	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +	    fi; \ +	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +	  else \ +	    test -f "$(distdir)/$$file" \ +	    || cp -p $$d/$$file "$(distdir)/$$file" \ +	    || exit 1; \ +	  fi; \ +	done +check-am: all-am +check: check-am +all-am: Makefile $(SCRIPTS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am +	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: +	if test -z '$(STRIP)'; then \ +	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ +	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ +	      install; \ +	else \ +	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ +	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ +	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ +	fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: +	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) +	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: +	@echo "This command is intended for maintainers to use" +	@echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-local mostlyclean-am + +distclean: distclean-am +	-rm -f Makefile +distclean-am: clean-am distclean-generic distclean-local + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am +	-rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ +	clean-local cscopelist-am ctags-am distclean distclean-generic \ +	distclean-libtool distclean-local distdir dvi dvi-am html \ +	html-am info info-am install install-am install-data \ +	install-data-am install-dvi install-dvi-am install-exec \ +	install-exec-am install-html install-html-am install-info \ +	install-info-am install-man install-pdf install-pdf-am \ +	install-ps install-ps-am install-strip installcheck \ +	installcheck-am installdirs maintainer-clean \ +	maintainer-clean-generic mostlyclean mostlyclean-generic \ +	mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ +	uninstall-am + + +.cpp.o : +	$(CXX) -c $(CXXFLAGS_PRE) $(CXXFLAGS) $(CPPFLAGS) -m32 -o $@ $< + +.c.o : +	$(CC) -c $(CFLAGS_PRE) $(CFLAGS) $(CPPFLAGS) -m32 -o $@ $< + +.rc.o : +	wrc -o $@ $(RCFLAGS) $< +#VPATH = ../..:@srcdir@/../..:@top_builddir@:@srcdir@ +vpath %.h @srcdir@/../.. +vpath %.h @top_builddir@ +vpath %.c @srcdir@ +vpath %.c @srcdir@/../.. + +ftc.exe.so : main.o fttester.o +	wineg++ -g -o $@ -L. $(WINE_LIBS) $(LDFLAGS) -m32 -Wall -Wextra $^ + +fttester.o : fttester.rc resource.h config.h + +main.o : main.cpp + +clean-local: clean-local-check +.PHONY: clean-local-check +clean-local-check: +	rm -f *.exe* *.dll* *.sh *.o + +distclean-local: distclean-local-check +.PHONY: distclean-local-check +distclean-local-check: +	rm -f *.exe* *.dll* *.sh *.o + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/contrib/very-important-source-code/ft_tester/fttester.rc.in b/contrib/very-important-source-code/ft_tester/fttester.rc.in new file mode 100644 index 00000000..332f3c73 --- /dev/null +++ b/contrib/very-important-source-code/ft_tester/fttester.rc.in @@ -0,0 +1,67 @@ +// Generated by ResEdit 1.5.9
 +// Copyright (C) 2006-2011
 +// http://www.resedit.net
 +
 +#include <windows.h>
 +#include <commctrl.h>
 +#include <richedit.h>
 +#include "resource.h"
 +
 +#ifdef HAVE_CONFIG_H
 +  #include "../../../config.h"
 +#endif
 +
 +
 +
 +
 +//
 +// Dialog resources
 +//
 +//LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
 +IDD_DIALOG1 DIALOGEX 0, 0, 333, 183
 +STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_CAPTION | WS_VISIBLE | WS_POPUP | WS_SYSMENU
 +CAPTION "FreeTrack client test utility v@PACKAGE_VERSION@"
 +FONT 8, "Ms Shell Dlg", 400, 0, 1
 +{
 +    DEFPUSHBUTTON   "Quit", IDQUIT, 262, 153, 50, 14
 +    PUSHBUTTON      "Start", IDC_START, 199, 153, 50, 14
 +    EDITTEXT        IDC_YAW, 38, 15, 48, 14, ES_AUTOHSCROLL
 +    RTEXT           "Yaw", IDC_STATIC, 12, 17, 21, 14, SS_RIGHT
 +    EDITTEXT        IDC_PITCH, 38, 38, 48, 14, ES_AUTOHSCROLL
 +    RTEXT           "Pitch", IDC_STATIC, 16, 40, 17, 14, SS_RIGHT
 +    EDITTEXT        IDC_ROLL, 38, 61, 48, 14, ES_AUTOHSCROLL
 +    RTEXT           "Roll", IDC_STATIC, 20, 63, 13, 14, SS_RIGHT
 +    EDITTEXT        IDC_X, 38, 84, 48, 14, ES_AUTOHSCROLL
 +    RTEXT           "X", IDC_STATIC, 27, 86, 6, 14, SS_RIGHT
 +    EDITTEXT        IDC_Y, 38, 107, 48, 14, ES_AUTOHSCROLL
 +    RTEXT           "Y", IDC_STATIC, 27, 109, 6, 14, SS_RIGHT
 +    EDITTEXT        IDC_Z, 38, 130, 48, 14, ES_AUTOHSCROLL
 +    RTEXT           "Z", IDC_STATIC, 27, 132, 6, 14, SS_RIGHT
 +    EDITTEXT        IDC_RYAW, 137, 15, 48, 14, ES_AUTOHSCROLL
 +    RTEXT           "Raw Yaw", IDC_STATIC, 101, 17, 32, 8, SS_RIGHT
 +    EDITTEXT        IDC_RPITCH, 137, 38, 48, 14, ES_AUTOHSCROLL
 +    RTEXT           "Raw Pitch", IDC_STATIC, 99, 40, 34, 8, SS_RIGHT
 +    EDITTEXT        IDC_RROLL, 137, 61, 48, 14, ES_AUTOHSCROLL
 +    RTEXT           "Raw Roll", IDC_STATIC, 103, 63, 30, 8, SS_RIGHT
 +    EDITTEXT        IDC_RX, 137, 84, 48, 14, ES_AUTOHSCROLL
 +    RTEXT           "Raw X", IDC_STATIC, 111, 86, 22, 8, SS_RIGHT
 +    EDITTEXT        IDC_RY, 137, 107, 48, 14, ES_AUTOHSCROLL
 +    RTEXT           "Raw Y", IDC_STATIC, 111, 109, 22, 8, SS_RIGHT
 +    EDITTEXT        IDC_RZ, 137, 130, 48, 14, ES_AUTOHSCROLL
 +    RTEXT           "Raw Z", IDC_STATIC, 111, 132, 22, 8, SS_RIGHT
 +    EDITTEXT        IDC_NUM, 264, 15, 48, 14, ES_AUTOHSCROLL
 +    RTEXT           "Frame Number", IDC_STATIC, 212, 17, 47, 8, SS_RIGHT
 +    EDITTEXT        IDC_RES, 264, 38, 48, 14, ES_AUTOHSCROLL
 +    RTEXT           "Camera Resolution", IDC_STATIC, 199, 40, 60, 8, SS_RIGHT
 +    EDITTEXT        IDC_PT0, 227, 61, 85, 14, ES_AUTOHSCROLL
 +    RTEXT           "Point 1", IDC_STATIC, 199, 63, 23, 8, SS_RIGHT
 +    EDITTEXT        IDC_PT1, 227, 84, 85, 14, ES_AUTOHSCROLL
 +    RTEXT           "Point 2", IDC_STATIC, 199, 86, 23, 8, SS_RIGHT
 +    EDITTEXT        IDC_PT2, 227, 107, 85, 14, ES_AUTOHSCROLL
 +    RTEXT           "Point 3", IDC_STATIC, 199, 109, 23, 8, SS_RIGHT
 +    EDITTEXT        IDC_PT3, 227, 130, 85, 14, ES_AUTOHSCROLL
 +    RTEXT           "Point 4", IDC_STATIC, 199, 132, 23, 8, SS_RIGHT
 +    EDITTEXT        IDC_TITLE, 38, 153, 147, 14, ES_AUTOHSCROLL
 +    RTEXT           "Title", IDC_STATIC, 19, 155, 14, 8, SS_RIGHT
 +}
 +
 diff --git a/contrib/very-important-source-code/ft_tester/main.cpp b/contrib/very-important-source-code/ft_tester/main.cpp new file mode 100644 index 00000000..a737f88f --- /dev/null +++ b/contrib/very-important-source-code/ft_tester/main.cpp @@ -0,0 +1,211 @@ +#define WIN32_LEAN_AND_MEAN + +#include <windows.h> +#include <cstdio> +#include <stdint.h> +#include <sstream> +#include <cstdlib> +#include <iomanip> + +#include "resource.h" + +HINSTANCE hInst; +UINT_PTR timer = 0; + +HMODULE ftclient; + +typedef struct +{ +	unsigned int dataID; +	int res_x; int res_y; +	float yaw; // positive yaw to the left +	float pitch;// positive pitch up +	float roll;// positive roll to the left +	float x; +	float y; +	float z; +    // raw pose with no smoothing, sensitivity, response curve etc. +	float ryaw; +	float rpitch; +	float rroll; +	float rx; +	float ry; +	float rz; +    // raw points, sorted by Y, origin top left corner +	float x0, y0; +	float x1, y1; +	float x2, y2; +	float x3, y3; +}FreeTrackData; + + +typedef bool (WINAPI *importGetData)(FreeTrackData * data); +typedef char *(WINAPI *importGetDllVersion)(void); +typedef void (WINAPI *importReportName)(char *name); +typedef char *(WINAPI *importProvider)(void); + +importGetData getData; +importGetDllVersion getDllVersion; +importReportName	reportName; +importProvider provider; + + +char *client_path() +{ +  HKEY  hkey   = 0; +  RegOpenKeyEx(HKEY_CURRENT_USER, "Software\\Freetrack\\FreetrackClient", 0, +    KEY_QUERY_VALUE, &hkey); +  if(!hkey){ +    printf("Can't open registry key\n"); +    return NULL; +  } + +  BYTE path[1024]; +  DWORD buf_len = 1024; +  LONG result = RegQueryValueEx(hkey, "Path", NULL, NULL, path, &buf_len); +  char *full_path = (char *)malloc(2048); +  if(result == ERROR_SUCCESS && buf_len > 0){ +    sprintf(full_path, "%s\\FreeTrackClient.dll", path); +  } +  RegCloseKey(hkey); +  return full_path; +} + + +bool start(HWND hwnd) +{ +  char *libname = client_path(); +  if(libname == NULL){ +    printf("Freetrack client not found!\n"); +    return false; +  } +  ftclient = LoadLibrary(libname); +  if(ftclient == NULL){ +    printf("Couldn't load Freetrack client library '%s'!\n", libname); +    return false; +  } +  printf("Freetrack client library %s loaded.\n", client_path()); + + +  getData = (importGetData)GetProcAddress(ftclient, "FTGetData"); +  getDllVersion = (importGetDllVersion)GetProcAddress(ftclient, "FTGetDllVersion"); +  reportName = (importReportName)GetProcAddress(ftclient, "FTReportName"); +  provider = (importProvider)GetProcAddress(ftclient, "FTProvider"); + +  if((getData == NULL) || (getDllVersion == NULL) || (reportName == NULL) || (provider == NULL)){ +    printf("Couldn't load Freetrack client functions!\n"); +    FreeLibrary(ftclient); +    return false; +  } + +  printf("Dll version: %s\n", getDllVersion()); +  printf("Provider: %s\n", provider()); +  char title[1024]; +  GetDlgItemText(hwnd, IDC_TITLE, title, 1020); +  reportName(title); +  return true; +} + +void reportError(std::string msg) +{ +  MessageBoxA(0, "FreeTrack client test", msg.c_str(), 0); +} +VOID CALLBACK TimerProcedure(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime) +{ +  (void) uMsg; +  (void) idEvent; +  (void) dwTime; +  FreeTrackData d; +  getData(&d); +  SetDlgItemInt(hwnd, IDC_PITCH, d.pitch, true); +  SetDlgItemInt(hwnd, IDC_ROLL, d.roll, true); +  SetDlgItemInt(hwnd, IDC_YAW, d.yaw, true); + +  SetDlgItemInt(hwnd, IDC_X, d.x, true); +  SetDlgItemInt(hwnd, IDC_Y, d.y, true); +  SetDlgItemInt(hwnd, IDC_Z, d.z, true); + +  SetDlgItemInt(hwnd, IDC_RPITCH, d.rpitch, true); +  SetDlgItemInt(hwnd, IDC_RROLL, d.rroll, true); +  SetDlgItemInt(hwnd, IDC_RYAW, d.ryaw, true); + +  SetDlgItemInt(hwnd, IDC_RX, d.rx, true); +  SetDlgItemInt(hwnd, IDC_RY, d.ry, true); +  SetDlgItemInt(hwnd, IDC_RZ, d.rz, true); +   +  std::ostringstream s;  +  s.str(std::string()); +  s<<"("<<std::fixed<<std::setprecision(1)<<d.x0<<"; "<<d.y0<<")"; +  SetDlgItemText(hwnd, IDC_PT0, s.str().c_str()); + +  s.str(std::string()); +  s<<"("<<std::fixed<<std::setprecision(1)<<d.x1<<"; "<<d.y1<<")"; +  SetDlgItemText(hwnd, IDC_PT1, s.str().c_str()); + +  s.str(std::string()); +  s<<"("<<std::fixed<<std::setprecision(1)<<d.x2<<"; "<<d.y2<<")"; +  SetDlgItemText(hwnd, IDC_PT2, s.str().c_str()); + +  s.str(std::string()); +  s<<"("<<std::fixed<<std::setprecision(1)<<d.x3<<"; "<<d.y3<<")"; +  SetDlgItemText(hwnd, IDC_PT3, s.str().c_str()); + +  s.str(std::string()); +  s<<d.res_x<<"x"<<d.res_y; +  SetDlgItemText(hwnd, IDC_RES, s.str().c_str()); +  SetDlgItemInt(hwnd, IDC_NUM, d.dataID, true); +} + +BOOL CALLBACK DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) +{ +    (void) lParam; +    switch(uMsg) +    { +        case WM_INITDIALOG: +            SetDlgItemText(hwndDlg, IDC_TITLE, "Default"); +            return TRUE; + +        case WM_CLOSE: +            EndDialog(hwndDlg, 0); +            return TRUE; + +        case WM_COMMAND: +            switch(LOWORD(wParam)) +            { +                /* +                 * TODO: Add more control ID's, when needed. +                 */ +                case IDQUIT: +                    FreeLibrary(ftclient); +                    EndDialog(hwndDlg, 0); +                    return TRUE; +                case IDC_START: +                  start(hwndDlg); +//l                  int ok; +//                  int num = GetDlgItemInt(hwndDlg, IDC_APPID, (BOOL*)&ok, false); +                  if(timer != 0){ +                    KillTimer(hwndDlg, timer); +                    timer = 0; +                  } +                  timer = SetTimer(hwndDlg, 0, 50, TimerProcedure); +                  break; + +            } +    } + +    return FALSE; +} + + +int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) +{ +  (void) hPrevInstance; +  (void) lpCmdLine; +  (void) nShowCmd; +  hInst = hInstance; +   +  // The user interface is a modal dialog box +  return DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), NULL, (DLGPROC)DialogProc); +} + + diff --git a/contrib/very-important-source-code/ft_tester/resource.h b/contrib/very-important-source-code/ft_tester/resource.h new file mode 100644 index 00000000..8bba17b4 --- /dev/null +++ b/contrib/very-important-source-code/ft_tester/resource.h @@ -0,0 +1,27 @@ +#ifndef IDC_STATIC +#define IDC_STATIC (-1) +#endif + +#define IDD_DIALOG1                             100 +#define IDQUIT                                  1002 +#define IDC_YAW                                 1005 +#define IDC_PITCH                               1023 +#define IDC_ROLL                                1024 +#define IDC_X                                   1025 +#define IDC_Y                                   1026 +#define IDC_Z                                   1027 +#define IDC_RYAW                                1028 +#define IDC_RPITCH                              1029 +#define IDC_RROLL                               1030 +#define IDC_RX                                  1031 +#define IDC_RY                                  1032 +#define IDC_RZ                                  1033 +#define IDC_NUM                                 1034 +#define IDC_RES                                 1035 +#define IDC_PT0                                 1036 +#define IDC_PT1                                 1037 +#define IDC_PT2                                 1038 +#define IDC_PT3                                 1039 +#define IDC_START                               1040 +#define IDC_TITLE                               1041 + | 
