diff --git a/xorg/X11R7.6/buildx.sh b/xorg/X11R7.6/buildx.sh deleted file mode 100755 index deeae127..00000000 --- a/xorg/X11R7.6/buildx.sh +++ /dev/null @@ -1,338 +0,0 @@ -#!/bin/sh - -# build.sh: a script for building X11R7.6 X server for use with xrdp # -# Copyright 2011-2012 Jay Sorg Jay.Sorg@gmail.com -# -# Authors -# Jay Sorg Jay.Sorg@gmail.com -# Laxmikant Rashinkar LK.Rashinkar@gmail.com -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# flex bison libxml2-dev intltool -# xsltproc - -download_file() -{ - file=$1 - - cd downloads - - echo "downloading file $file" - if [ "$file" = "pixman-0.15.20.tar.bz2" ]; then - wget -cq http://ftp.x.org/pub/individual/lib/$file - status=$? - cd .. - return $status - elif [ "$file" = "libdrm-2.4.26.tar.bz2" ]; then - wget -cq http://dri.freedesktop.org/libdrm/$file - status=$? - cd .. - return $status - elif [ "$file" = "MesaLib-7.10.3.tar.bz2" ]; then - wget -cq ftp://ftp.freedesktop.org/pub/mesa/7.10.3/$file - status=$? - cd .. - return $status - elif [ "$file" = "expat-2.0.1.tar.gz" ]; then - wget -cq http://surfnet.dl.sourceforge.net/project/expat/expat/2.0.1/expat-2.0.1.tar.gz - status=$? - cd .. - return $status - elif [ "$file" = "freetype-2.4.6.tar.bz2" ]; then - wget -cq http://download.savannah.gnu.org/releases/freetype/freetype-2.4.6.tar.bz2 - status=$? - cd .. - return $status - elif [ "$file" = "xkeyboard-config-2.0.tar.bz2" ]; then - wget -cq http://www.x.org/releases/individual/data/xkeyboard-config/xkeyboard-config-2.0.tar.bz2 - status=$? - cd .. - return $status - elif [ "$file" = "makedepend-1.0.3.tar.bz2" ]; then - wget -cq http://xorg.freedesktop.org/releases/individual/util/makedepend-1.0.3.tar.bz2 - status=$? - cd .. - return $status - elif [ "$file" = "libxml2-sources-2.7.8.tar.gz" ]; then - wget -cq ftp://ftp.xmlsoft.org/libxml2/libxml2-sources-2.7.8.tar.gz - status=$? - cd .. - return $status - elif [ "$file" = "Python-2.5.tar.bz2" ]; then - wget -cq http://www.python.org/ftp/python/2.5/Python-2.5.tar.bz2 - status=$? - cd .. - return $status - elif [ "$file" = "Python-2.7.tar.bz2" ]; then - wget -cq http://www.python.org/ftp/python/2.7/Python-2.7.tar.bz2 - status=$? - cd .. - return $status - elif [ "$file" = "expat-2.0.1.tar.gz" ]; then - wget -cq http://server1.xrdp.org/xrdp/expat-2.0.1.tar.gz - status=$? - cd .. - return $status - elif [ "$file" = "cairo-1.8.8.tar.gz" ]; then - wget -cq http://server1.xrdp.org/xrdp/cairo-1.8.8.tar.gz - status=$? - cd .. - return $status - elif [ "$file" = "libpng-1.2.46.tar.gz" ]; then - wget -cq http://server1.xrdp.org/xrdp/libpng-1.2.46.tar.gz - status=$? - cd .. - return $status - elif [ "$file" = "intltool-0.41.1.tar.gz" ]; then - wget -cq http://launchpad.net/intltool/trunk/0.41.1/+download/intltool-0.41.1.tar.gz - status=$? - cd .. - return $status - elif [ "$file" = "libxslt-1.1.26.tar.gz" ]; then - wget -cq ftp://xmlsoft.org/libxslt/libxslt-1.1.26.tar.gz - status=$? - cd .. - return $status - elif [ "$file" = "fontconfig-2.8.0.tar.gz" ]; then - wget -cq http://server1.xrdp.org/xrdp/fontconfig-2.8.0.tar.gz - status=$? - cd .. - return $status - else - wget -cq $download_url/$file - status=$? - cd .. - return $status - fi -} - -remove_modules() -{ - if [ -d cookies ]; then - rm cookies/* - fi - - if [ ! -d build_dir ]; then - echo "" - echo "build_dir does not exist; nothing to delete" - echo "" - exit 0 - fi - - cd build_dir - - while read line - do - mod_dir=`echo $line | cut -d':' -f2` - if [ -d $mod_dir ]; then - rm -rf $mod_dir - fi - done < ../$data_file - - cd .. -} - -make_it() -{ - mod_file=$1 - mod_name=$2 - mod_args=$3 - - count=`expr $count + 1` - - # if a cookie with $mod_name exists... - if [ -e cookies/$mod_name ]; then - # ...package has already been built - return 0 - fi - - echo "" - echo "*** processing module $mod_name ($count of $num_modules) ***" - echo "" - - # download file - download_file $mod_file - if [ $? -ne 0 ]; then - echo "" - echo "failed to download $mod_file - aborting build" - echo "" - exit 1 - fi - - cd build_dir - - # if pkg has not yet been extracted, do so now - if [ ! -d $mod_name ]; then - echo $mod_file | grep -q tar.bz2 - if [ $? -eq 0 ]; then - tar xjf ../downloads/$mod_file > /dev/null 2>&1 - else - tar xzf ../downloads/$mod_file > /dev/null 2>&1 - fi - if [ $? -ne 0 ]; then - echo "error extracting module $mod_name" - exit 1 - fi - fi - - # patch and configure module - we only need to do this once - cd $mod_name - # check for patches - if [ -e ../../$mod_name.patch ]; then - patch -p1 < ../../$mod_name.patch - fi - # now configure - ./configure --prefix=$PREFIX_DIR $mod_args - if [ $? -ne 0 ]; then - echo "configuration failed for module $mn" - exit 1 - fi - - # make module - make - if [ $? -ne 0 ]; then - echo "" - echo "make failed for module $mod_name" - echo "" - exit 1 - fi - - # install module - make install - if [ $? -ne 0 ]; then - echo "" - echo "make install failed for module $mod_name" - echo "" - exit 1 - fi - - # special case after installing python make this sym link - # so Mesa builds using this python version - case "$mod_name" in - *Python-2*) - ln -s python $PREFIX_DIR/bin/python2 - ;; - esac - - cd ../.. - touch cookies/$mod_name - return 0 -} - -# this is where we store list of modules to be processed -data_file=x11_file_list.txt - -# this is the default download location for most modules -download_url=http://www.x.org/releases/X11R7.6/src/everything - -num_modules=`cat $data_file | wc -l` -count=0 - -########################## -# program flow starts here -########################## - -if [ $# -lt 1 ]; then - echo "" - echo "usage: build.sh " - echo "usage: build.sh " - echo "usage: build.sh default" - echo "" - exit 1 -fi - -# remove all modules -if [ "$1" = "clean" ]; then - echo "removing source modules" - remove_modules - exit 0 -fi - -if [ "$1" = "default" ]; then - export PREFIX_DIR=$PWD/staging -else - export PREFIX_DIR=$1 -fi - -if ! test -d $PREFIX_DIR; then - echo "dir does not exit, creating [$PREFIX_DIR]" - mkdir $PREFIX_DIR - if ! test $? -eq 0; then - echo "mkdir failed [$PREFIX_DIR]" - exit 0 - fi -fi - -echo "using $PREFIX_DIR" - -export PKG_CONFIG_PATH=$PREFIX_DIR/lib/pkgconfig:$PREFIX_DIR/share/pkgconfig -export PATH=$PREFIX_DIR/bin:$PATH -export LD_LIBRARY_PATH=$PREFIX_DIR/lib -# really only needed for x84 -export CFLAGS=-fPIC - -# prefix dir must exist... -if [ ! -d $PREFIX_DIR ]; then - mkdir -p $PREFIX_DIR - if [ $? -ne 0 ]; then - echo "$PREFIX_DIR does not exist; failed to create it - cannot continue" - exit 1 - fi -fi - -# ...and be writable -if [ ! -w $PREFIX_DIR ]; then - echo "directory $PREFIX_DIR is not writable - cannot continue" - exit 1 -fi - -# create a downloads dir -if [ ! -d downloads ]; then - mkdir downloads - if [ $? -ne 0 ]; then - echo "error creating downloads directory" - exit 1 - fi -fi - -# this is where we do the actual build -if [ ! -d build_dir ]; then - mkdir build_dir - if [ $? -ne 0 ]; then - echo "error creating build_dir directory" - exit 1 - fi -fi - -# this is where we store cookie files -if [ ! -d cookies ]; then - mkdir cookies - if [ $? -ne 0 ]; then - echo "error creating cookies directory" - exit 1 - fi -fi - -while read line -do - mod_file=`echo $line | cut -d':' -f1` - mod_dir=`echo $line | cut -d':' -f2` - mod_args=`echo $line | cut -d':' -f3` - mod_args=`eval echo $mod_args` - - make_it $mod_file $mod_dir "$mod_args" - -done < $data_file - -echo "All done" diff --git a/xorg/X11R7.6/libXext-1.2.0.patch b/xorg/X11R7.6/libXext-1.2.0.patch deleted file mode 100644 index 2ddc7ec0..00000000 --- a/xorg/X11R7.6/libXext-1.2.0.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/Xge.c b/src/Xge.c -index 7a583e5..2ea5d27 100644 ---- a/src/Xge.c -+++ b/src/Xge.c -@@ -294,7 +294,7 @@ _xgeEventToWire(Display* dpy, XEvent* re, xEvent* event) - /* - * Extensions need to register callbacks for their events. - */ --Bool -+_X_HIDDEN Bool - xgeExtRegister(Display* dpy, int offset, XExtensionHooks* callbacks) - { - XGEExtNode* newExt; diff --git a/xorg/X11R7.6/x11_file_list.txt b/xorg/X11R7.6/x11_file_list.txt deleted file mode 100644 index 4385cce9..00000000 --- a/xorg/X11R7.6/x11_file_list.txt +++ /dev/null @@ -1,100 +0,0 @@ -Python-2.7.tar.bz2 : Python-2.7 : -util-macros-1.11.0.tar.bz2 : util-macros-1.11.0 : -font-adobe-75dpi-1.0.3.tar.bz2 : font-adobe-75dpi-1.0.3 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-adobe-100dpi-1.0.3.tar.bz2 : font-adobe-100dpi-1.0.3 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-adobe-utopia-75dpi-1.0.4.tar.bz2 : font-adobe-utopia-75dpi-1.0.4 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-adobe-utopia-100dpi-1.0.4.tar.bz2 : font-adobe-utopia-100dpi-1.0.4 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-adobe-utopia-type1-1.0.4.tar.bz2 : font-adobe-utopia-type1-1.0.4 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-alias-1.0.3.tar.bz2 : font-alias-1.0.3 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-arabic-misc-1.0.3.tar.bz2 : font-arabic-misc-1.0.3 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-bh-75dpi-1.0.3.tar.bz2 : font-bh-75dpi-1.0.3 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-bh-100dpi-1.0.3.tar.bz2 : font-bh-100dpi-1.0.3 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-bh-lucidatypewriter-75dpi-1.0.3.tar.bz2 : font-bh-lucidatypewriter-75dpi-1.0.3 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-bh-lucidatypewriter-100dpi-1.0.3.tar.bz2 : font-bh-lucidatypewriter-100dpi-1.0.3 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-bh-ttf-1.0.3.tar.bz2 : font-bh-ttf-1.0.3 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-bh-type1-1.0.3.tar.bz2 : font-bh-type1-1.0.3 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-bitstream-75dpi-1.0.3.tar.bz2 : font-bitstream-75dpi-1.0.3 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-bitstream-100dpi-1.0.3.tar.bz2 : font-bitstream-100dpi-1.0.3 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-bitstream-type1-1.0.3.tar.bz2 : font-bitstream-type1-1.0.3 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-cronyx-cyrillic-1.0.3.tar.bz2 : font-cronyx-cyrillic-1.0.3 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-cursor-misc-1.0.3.tar.bz2 : font-cursor-misc-1.0.3 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-daewoo-misc-1.0.3.tar.bz2 : font-daewoo-misc-1.0.3 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-dec-misc-1.0.3.tar.bz2 : font-dec-misc-1.0.3 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-ibm-type1-1.0.3.tar.bz2 : font-ibm-type1-1.0.3 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-isas-misc-1.0.3.tar.bz2 : font-isas-misc-1.0.3 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-jis-misc-1.0.3.tar.bz2 : font-jis-misc-1.0.3 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-micro-misc-1.0.3.tar.bz2 : font-micro-misc-1.0.3 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-misc-cyrillic-1.0.3.tar.bz2 : font-misc-cyrillic-1.0.3 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-misc-ethiopic-1.0.3.tar.bz2 : font-misc-ethiopic-1.0.3 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-misc-meltho-1.0.3.tar.bz2 : font-misc-meltho-1.0.3 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-misc-misc-1.1.2.tar.bz2 : font-misc-misc-1.1.2 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-mutt-misc-1.0.3.tar.bz2 : font-mutt-misc-1.0.3 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-schumacher-misc-1.1.2.tar.bz2 : font-schumacher-misc-1.1.2 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-screen-cyrillic-1.0.4.tar.bz2 : font-screen-cyrillic-1.0.4 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-sony-misc-1.0.3.tar.bz2 : font-sony-misc-1.0.3 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-sun-misc-1.0.3.tar.bz2 : font-sun-misc-1.0.3 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-util-1.2.0.tar.bz2 : font-util-1.2.0 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-winitzki-cyrillic-1.0.3.tar.bz2 : font-winitzki-cyrillic-1.0.3 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -font-xfree86-type1-1.0.4.tar.bz2 : font-xfree86-type1-1.0.4 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 -xf86driproto-2.1.0.tar.bz2 : xf86driproto-2.1.0 : -dri2proto-2.3.tar.bz2 : dri2proto-2.3 : -glproto-1.4.12.tar.bz2 : glproto-1.4.12 : -libpciaccess-0.12.0.tar.bz2 : libpciaccess-0.12.0 : -libpthread-stubs-0.3.tar.bz2 : libpthread-stubs-0.3 : -libdrm-2.4.26.tar.bz2 : libdrm-2.4.26 : -damageproto-1.2.1.tar.bz2 : damageproto-1.2.1 : -libXdamage-1.1.3.tar.bz2 : libXdamage-1.1.3 : -makedepend-1.0.3.tar.bz2 : makedepend-1.0.3 : -libxml2-sources-2.7.8.tar.gz : libxml2-2.7.8 : -libpng-1.2.46.tar.gz : libpng-1.2.46 : -pixman-0.15.20.tar.bz2 : pixman-0.15.20 : --disable-gtk -freetype-2.4.6.tar.bz2 : freetype-2.4.6 : -fontconfig-2.8.0.tar.gz : fontconfig-2.8.0 : -cairo-1.8.8.tar.gz : cairo-1.8.8 : -expat-2.0.1.tar.gz : expat-2.0.1 : -xextproto-7.1.2.tar.bz2 : xextproto-7.1.2 : -xproto-7.0.20.tar.bz2 : xproto-7.0.20 : -xcb-proto-1.6.tar.bz2 : xcb-proto-1.6 : -libxcb-1.7.tar.bz2 : libxcb-1.7 : -libX11-1.4.0.tar.bz2 : libX11-1.4.0 : -libXext-1.2.0.tar.bz2 : libXext-1.2.0 : -libICE-1.0.7.tar.bz2 : libICE-1.0.7 : -libSM-1.2.0.tar.bz2 : libSM-1.2.0 : -libXt-1.0.9.tar.bz2 : libXt-1.0.9 : -MesaLib-7.10.3.tar.bz2 : Mesa-7.10.3 : --with-expat=$PREFIX_DIR -randrproto-1.3.2.tar.bz2 : randrproto-1.3.2 : -renderproto-0.11.1.tar.bz2 : renderproto-0.11.1 : -fixesproto-4.1.2.tar.bz2 : fixesproto-4.1.2 : -xcmiscproto-1.2.1.tar.bz2 : xcmiscproto-1.2.1 : -xtrans-1.2.6.tar.bz2 : xtrans-1.2.6 : -xf86vidmodeproto-2.3.tar.bz2 : xf86vidmodeproto-2.3 : -xf86bigfontproto-1.2.0.tar.bz2 : xf86bigfontproto-1.2.0 : -scrnsaverproto-1.2.1.tar.bz2 : scrnsaverproto-1.2.1 : -bigreqsproto-1.1.1.tar.bz2 : bigreqsproto-1.1.1 : -resourceproto-1.1.1.tar.bz2 : resourceproto-1.1.1 : -fontsproto-2.1.1.tar.bz2 : fontsproto-2.1.1 : -inputproto-2.0.1.tar.bz2 : inputproto-2.0.1 : -xf86dgaproto-2.1.tar.bz2 : xf86dgaproto-2.1 : -videoproto-2.3.1.tar.bz2 : videoproto-2.3.1 : -compositeproto-0.4.2.tar.bz2 : compositeproto-0.4.2 : -recordproto-1.14.1.tar.bz2 : recordproto-1.14.1 : -xineramaproto-1.2.tar.bz2 : xineramaproto-1.2 : -libXau-1.0.6.tar.bz2 : libXau-1.0.6 : -kbproto-1.0.5.tar.bz2 : kbproto-1.0.5 : -libXdmcp-1.1.0.tar.bz2 : libXdmcp-1.1.0 : -libxslt-1.1.26.tar.gz : libxslt-1.1.26 : -libxkbfile-1.0.7.tar.bz2 : libxkbfile-1.0.7 : -libfontenc-1.1.0.tar.bz2 : libfontenc-1.1.0 : -libXfont-1.4.3.tar.bz2 : libXfont-1.4.3 : -libXmu-1.1.0.tar.bz2 : libXmu-1.1.0 : -libXxf86vm-1.1.1.tar.bz2 : libXxf86vm-1.1.1 : -libXpm-3.5.9.tar.bz2 : libXpm-3.5.9 : -libXaw-1.0.8.tar.bz2 : libXaw-1.0.8 : -mkfontdir-1.0.6.tar.bz2 : mkfontdir-1.0.6 : -xkbcomp-1.2.0.tar.bz2 : xkbcomp-1.2.0 : -xdriinfo-1.0.4.tar.bz2 : xdriinfo-1.0.4 : -xorg-server-1.9.3.tar.bz2 : xorg-server-1.9.3 : -applewmproto-1.4.1.tar.bz2 : applewmproto-1.4.1 : -bdftopcf-1.0.3.tar.bz2 : bdftopcf-1.0.3 : -intltool-0.41.1.tar.gz : intltool-0.41.1 : -xkeyboard-config-2.0.tar.bz2 : xkeyboard-config-2.0 : diff --git a/xorg/readme.txt b/xorg/readme.txt deleted file mode 100644 index 55f2b4f1..00000000 --- a/xorg/readme.txt +++ /dev/null @@ -1,2 +0,0 @@ - -xorg server readme diff --git a/xorg/tests/client.sh b/xorg/tests/client.sh deleted file mode 100755 index dc264560..00000000 --- a/xorg/tests/client.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -xhost + - -if ! [ -d .nx ] -then - mkdir .nx -fi - -export LD_LIBRARY_PATH=$PWD - -./nxproxy -S nx/nx,session=session,id=jay,root=.nx,connect=127.0.0.1:10,delta=1,stream=1,data=1 - diff --git a/xorg/tests/server.sh b/xorg/tests/server.sh deleted file mode 100755 index df6e894b..00000000 --- a/xorg/tests/server.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh - -export LD_LIBRARY_PATH=$PWD - -#./nxagent -R -bs -dpi 96 -geometry 1024x768 -noshpix -display nx/nx,link=adsl,delta=1,stream=1,data=1,a8taint=0,cache=4M:9 :9 - -# with cache -#./nxagent -D -bs -ac -dpi 96 -geometry 1024x768 -noshpix -display nx/nx,link=adsl,delta=1,stream=1,data=1,cache=4M:9 :9 - -# without cache -./nxagent -D -bs -ac -dpi 96 -geometry 1024x768 -noshpix -display nx/nx,link=adsl,delta=1,stream=1,data=1,cache=0M:9 :9 - diff --git a/xorg/tests/tcp_proxy/main.c b/xorg/tests/tcp_proxy/main.c deleted file mode 100644 index 0e6f4fe3..00000000 --- a/xorg/tests/tcp_proxy/main.c +++ /dev/null @@ -1,265 +0,0 @@ - -#include "os_calls.h" - -int g_loc_io_count = 0; // bytes read from local port -int g_rem_io_count = 0; // bytes read from remote port - -static int g_terminated = 0; -static char g_buf[1024 * 32]; - -/*****************************************************************************/ -static int -main_loop(char* local_port, char* remote_ip, char* remote_port, int hexdump) -{ - int lis_sck; - int acc_sck; - int con_sck; - int sel; - int count; - int sent; - int error; - int i; - int acc_to_con; - int con_to_acc; - - acc_to_con = 0; - con_to_acc = 0; - acc_sck = 0; - - /* create the listening socket and setup options */ - lis_sck = g_tcp_socket(); - g_tcp_set_non_blocking(lis_sck); - error = g_tcp_bind(lis_sck, local_port); - if (error != 0) - { - g_writeln("bind failed"); - } - - /* listen for an incomming connection */ - if (error == 0) - { - error = g_tcp_listen(lis_sck); - if (error == 0) - { - g_writeln("listening for connection"); - } - } - - /* accept an incomming connection */ - if (error == 0) - { - while ((!g_terminated) && (error == 0)) - { - acc_sck = g_tcp_accept(lis_sck); - if ((acc_sck == -1) && g_tcp_last_error_would_block(lis_sck)) - { - g_sleep(100); - } - else if (acc_sck == -1) - { - error = 1; - } - else - { - break; - } - } - if (error == 0) - { - error = g_terminated; - } - - /* stop listening */ - g_tcp_close(lis_sck); - lis_sck = 0; - if (error == 0) - { - g_writeln("got connection"); - } - } - - /* connect outgoing socket */ - con_sck = 0; - if (error == 0) - { - con_sck = g_tcp_socket(); - g_tcp_set_non_blocking(con_sck); - error = g_tcp_connect(con_sck, remote_ip, remote_port); - if ((error == -1) && g_tcp_last_error_would_block(con_sck)) - { - error = 0; - i = 0; - while ((!g_tcp_can_send(con_sck, 100)) && (!g_terminated) && (i < 100)) - { - g_sleep(100); - i++; - } - if (i > 99) - { - g_writeln("timout connecting"); - error = 1; - } - if (g_terminated) - { - error = 1; - } - } - if ((error != 0) && (!g_terminated)) - { - g_writeln("error connecting to remote\r\n"); - } - } - while ((!g_terminated) && (error == 0)) - { - sel = g_tcp_select(con_sck, acc_sck); - if (sel == 0) - { - g_sleep(10); - continue; - } - if (sel & 1) - { - // can read from con_sck w/o blocking - count = g_tcp_recv(con_sck, g_buf, 1024 * 16, 0); - error = count < 1; - if (error == 0) - { - g_loc_io_count += count; - con_to_acc += count; - if (hexdump) - { - g_writeln("from remove, the socket from connect"); - g_hexdump(g_buf, count); - } -#if 0 - g_writeln("local_io_count: %d\tremote_io_count: %d", - g_loc_io_count, g_rem_io_count); -#endif - sent = 0; - while ((sent < count) && (error == 0) && (!g_terminated)) - { - i = g_tcp_send(acc_sck, g_buf + sent, count - sent, 0); - if ((i == -1) && g_tcp_last_error_would_block(acc_sck)) - { - g_tcp_can_send(acc_sck, 1000); - } - else if (i < 1) - { - error = 1; - } - else - { - sent += i; - } - } - } - } - if (sel & 2) - { - // can read from acc_sck w/o blocking - count = g_tcp_recv(acc_sck, g_buf, 1024 * 16, 0); - error = count < 1; - if (error == 0) - { - g_rem_io_count += count; - acc_to_con += count; - if (hexdump) - { - g_writeln("from accepted, the socket from accept"); - g_hexdump(g_buf, count); - } -#if 0 - g_writeln("local_io_count: %d\tremote_io_count: %d", - g_loc_io_count, g_rem_io_count); -#endif - sent = 0; - while ((sent < count) && (error == 0) && (!g_terminated)) - { - i = g_tcp_send(con_sck, g_buf + sent, count - sent, 0); - if ((i == -1) && g_tcp_last_error_would_block(con_sck)) - { - g_tcp_can_send(con_sck, 1000); - } - else if (i < 1) - { - error = 1; - } - else - { - sent += i; - } - } - } - } - } - g_tcp_close(lis_sck); - g_tcp_close(con_sck); - g_tcp_close(acc_sck); - g_writeln("acc_to_con %d", acc_to_con); - g_writeln("con_to_acc %d", con_to_acc); - return 0; -} - - -/*****************************************************************************/ -static int -usage(void) -{ - g_writeln("tcp_proxy [dump]"); - return 0; -} - - -/*****************************************************************************/ -void -proxy_shutdown(int sig) -{ - g_writeln("shutting down"); - g_terminated = 1; -} - -void -clear_counters(int sig) -{ - g_writeln("cleared counters at: local_io_count: %d remote_io_count: %d", - g_loc_io_count, g_rem_io_count); - g_loc_io_count = 0; - g_rem_io_count = 0; -} - -/*****************************************************************************/ -int -main(int argc, char** argv) -{ - int dump; - - if (argc < 4) - { - usage(); - return 0; - } - g_init("tcp_proxy"); - g_signal_user_interrupt(proxy_shutdown); /* SIGINT */ - g_signal_kill(proxy_shutdown); /* SIGKILL */ - g_signal_usr1(clear_counters); /* SIGUSR1*/ - g_signal_terminate(proxy_shutdown); /* SIGTERM */ - if (argc < 5) - { - while (!g_terminated) - { - g_loc_io_count = 0; - g_rem_io_count = 0; - main_loop(argv[1], argv[2], argv[3], 0); - } - } - else - { - dump = g_strcasecmp(argv[4], "dump") == 0; - while (!g_terminated) - { - main_loop(argv[1], argv[2], argv[3], dump); - } - } - g_deinit(); - return 0; -} diff --git a/xorg/tests/xdemo/README.txt b/xorg/tests/xdemo/README.txt deleted file mode 100644 index 52bda08c..00000000 --- a/xorg/tests/xdemo/README.txt +++ /dev/null @@ -1,3 +0,0 @@ - -this is a project to develope a program to test xwindows - diff --git a/xorg/tests/xdemo/bmp_parser.c b/xorg/tests/xdemo/bmp_parser.c deleted file mode 100644 index 9d3e43c8..00000000 --- a/xorg/tests/xdemo/bmp_parser.c +++ /dev/null @@ -1,204 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include "common.h" - -// multi byte values are stored in little endian - -struct bmp_magic -{ - char magic[2]; -}; - -struct bmp_hdr -{ - uint32_t size; // file size in bytes - uint16_t reserved1; - uint16_t reserved2; - uint32_t offset; // offset to image data, in bytes -}; - -struct dib_hdr -{ - uint32_t hdr_size; - int32_t width; - int32_t height; - uint16_t nplanes; - uint16_t bpp; - uint32_t compress_type; - uint32_t image_size; - int32_t hres; - int32_t vres; - uint32_t ncolors; - uint32_t nimpcolors; -}; - -// forward declarations -int parse_bmp(char *filename, struct pic_info *pic_info); -int parse_bmp_24(struct bmp_hdr *bmp_hdr, struct dib_hdr *dib_hdr, int fd, struct pic_info *pic_info); - -int parse_bmp(char *filename, struct pic_info *pic_info) -{ - int got_magic; - int fd; - int rval; - - struct bmp_magic magic; - struct bmp_hdr bmp_hdr; - struct dib_hdr dib_hdr; - - if ((fd = open(filename, O_RDONLY)) < 0) { - printf("error opeing %s\n", filename); - return -1; - } - - // read BMP magic... - if ((rval = read(fd, magic.magic, 2)) != 2) { - fprintf(stderr, "error reading BMP signature from file %s\n", filename); - return -1; - } - - got_magic = 0; - - // ...and confirm that this is indeed a BMP file - if ((magic.magic[0] == 'B') && (magic.magic[1] == 'M')) { - // BM – Windows 3.1x, 95, NT, ... etc - got_magic = 1; - } - else if ((magic.magic[0] == 'B') && (magic.magic[1] == 'A')) { - // BA – OS/2 struct Bitmap Array - got_magic = 1; - } - else if ((magic.magic[0] == 'C') && (magic.magic[1] == 'I')) { - // CI – OS/2 struct Color Icon - got_magic = 1; - } - else if ((magic.magic[0] == 'C') && (magic.magic[1] == 'P')) { - // CP – OS/2 const Color Pointer - got_magic = 1; - } - else if ((magic.magic[0] == 'I') && (magic.magic[1] == 'C')) { - // IC – OS/2 struct Icon - got_magic = 1; - } - else if ((magic.magic[0] == 'P') && (magic.magic[1] == 'T')) { - // PT – OS/2 Pointer - got_magic = 1; - } - - if (!got_magic) { - fprintf(stderr, "%s is not a valid BMP file\n", filename); - return -1; - } - - // read BMP header - if ((rval = read(fd, &bmp_hdr, sizeof(bmp_hdr))) < sizeof(bmp_hdr)) { - fprintf(stderr, "error BMP header from file %s\n", filename); - return -1; - } - - // read DIB header - if ((rval = read(fd, &dib_hdr, sizeof(dib_hdr))) < sizeof(dib_hdr)) { - fprintf(stderr, "error reading DIB header from file %s\n", filename); - return -1; - } - -#if 0 - printf("header size: %d\n", dib_hdr.hdr_size); - printf("width: %d\n", dib_hdr.width); - printf("height: %d\n", dib_hdr.height); - printf("num planes: %d\n", dib_hdr.nplanes); - printf("bpp: %d\n", dib_hdr.bpp); - printf("comp type: %d\n", dib_hdr.compress_type); - printf("image size: %d\n", dib_hdr.image_size); - printf("hres: %d\n", dib_hdr.hres); - printf("vres: %d\n", dib_hdr.vres); - printf("ncolors: %d\n", dib_hdr.ncolors); - printf("nimpcolors: %d\n", dib_hdr.nimpcolors); -#endif - - if (dib_hdr.compress_type) { - printf("TODO: compressed images not yet supported\n"); - return -1; - } - - pic_info->width = dib_hdr.width; - pic_info->height = dib_hdr.height; - - if (dib_hdr.bpp == 24) { - rval = parse_bmp_24(&bmp_hdr, &dib_hdr, fd, pic_info); - } - close(fd); - return rval; -} - -/** - * extract 24bit BMP data from image file - * - * @return 0 on success - * @return -1 on failure - */ - -int parse_bmp_24( - struct bmp_hdr *bmp_hdr, - struct dib_hdr *dib_hdr, - int fd, - struct pic_info *pic_info -) -{ - char *file_data; - char *ptr_file_data; - char *mem_data; - char *ptr_mem_data; - char *cptr; - - int w = dib_hdr->width; // picture width - int h = dib_hdr->height; // picture height - int bpl; // bytes per line - int bytes; - int i; - int j; - - // bytes per image line = width x bytes_per_pixel + padding - i = (w * 3) % 4; - j = (i == 0) ? 0 : 4 - i; - bpl = w * 3 + j; - - // 24 bit depth, no alpha channel - file_data = (char *) malloc(h * bpl); - - // point to first line in image data, which is stored in reverse order - ptr_file_data = (file_data + dib_hdr->image_size) - bpl; - - // 24 bit depth, with alpha channel - mem_data = (char *) malloc(w * h * 4); - ptr_mem_data = mem_data; - - pic_info->pixel_data = ptr_mem_data; - - // seek to beginning of pixel data - lseek(fd, bmp_hdr->offset, SEEK_SET); - - // read all pixel data - bytes = read(fd, file_data, dib_hdr->image_size); - - // convert 24bit to 24 bit with alpha and store in reverse - for (i = 0; i < h; i ++) - { - cptr = ptr_file_data; - for (j = 0; j < w; j++) - { - *ptr_mem_data++ = *cptr++; // blue value - *ptr_mem_data++ = *cptr++; // green value - *ptr_mem_data++ = *cptr++; // red value - *ptr_mem_data++ = 0; // alpha channel - } - ptr_file_data -= bpl; - } - - free(file_data); - return 0; -} diff --git a/xorg/tests/xdemo/common.h b/xorg/tests/xdemo/common.h deleted file mode 100644 index 2ce75bba..00000000 --- a/xorg/tests/xdemo/common.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef __XDEMO_H -#define __XDEMO_H - -#define DEBUG - -#ifdef DEBUG -#define dprint(x...) printf(x) -#else -#define dprint(x...) -#endif - -struct pic_info -{ - int width; - int height; - char *pixel_data; -}; - -#endif diff --git a/xorg/tests/xdemo/xdemo.c b/xorg/tests/xdemo/xdemo.c deleted file mode 100644 index 073516f0..00000000 --- a/xorg/tests/xdemo/xdemo.c +++ /dev/null @@ -1,674 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "common.h" - -// LK_TODO -// http://tronche.com/gui/x/xlib/GC/convenience-functions/fill-tile-and-stipple.html -// fill stipple - -// drawfonts: XDrawString, XDrawImageString XDrawText XLoadFont XTextExtents -// http://www.ac3.edu.au/SGI_Developer/books/XLib_PG/sgi_html/apa.html -// http://www.ac3.edu.au/SGI_Developer/books/XLib_PG/sgi_html/index.html - -// use jpg lib to convert bmp to jpg and vice versa - -#define MAX_COLORS 5 -#define SCROLL_JUMP 1 // scroll in increments of g_winHeight -#define SCROLL_SMOOTH1 2 // scroll using XPutImage + XCopyArea -#define SCROLL_SMOOTH2 3 // scroll using XPutImage only - -int parse_bmp(char *filename, struct pic_info *); -int drawBMP(char *filename, int scroll_type); -int signal_tcp_proxy(char *proxy_app); - -// globals -Display *g_disp; -Window g_win; -XColor g_colors[MAX_COLORS]; -GC g_gc; -int g_winWidth; -int g_winHeight; -int g_delay_dur; - -void start_timer(struct timeval *tv) -{ - gettimeofday(tv, NULL); -} - - -uint32_t time_elapsed_ms(struct timeval tv) -{ - struct timeval tv_now; - uint32_t dur; - - gettimeofday(&tv_now, NULL); - dur = ((tv_now.tv_sec - tv.tv_sec) * 1000) + ((tv_now.tv_usec - tv.tv_usec) / 1000); - return dur; -} - - -uint32_t time_elapsed_us(struct timeval tv) -{ - struct timeval tv_now; - uint32_t dur; - - gettimeofday(&tv_now, NULL); - dur = ((tv_now.tv_sec - tv.tv_sec) * 1000000) + (tv_now.tv_usec - tv.tv_usec); - return dur; -} - -int drawLines(int count) -{ - int x1; - int y1; - int x2; - int y2; - int i; - int index; - - if (count <= 0) { - return 0; // nothing to do - } - - srandom(time(NULL)); - XClearArea(g_disp, g_win, 0, 0, g_winWidth, g_winHeight, 0); - - for (i = 0, index = 0; i < count; i++) - { - x1 = random() % g_winWidth; - y1 = random() % g_winHeight; - x2 = random() % g_winWidth; - y2 = random() % g_winHeight; - XSetForeground(g_disp, g_gc, g_colors[index++].pixel); - if (index == MAX_COLORS) { - index = 0; - } - // from-to - XDrawLine(g_disp, g_win, g_gc, x1, y1, x2, y2); - XFlush(g_disp); - usleep(g_delay_dur); - } - return 0; -} - -// LK_TODO support user defined w and h - -int drawRectangles(int count) -{ - int x1; - int y1; - int w; - int h; - int i; - int index; - - if (count <= 0) { - return 0; // nothing to do - } - - srandom(time(NULL)); - XClearArea(g_disp, g_win, 0, 0, g_winWidth, g_winHeight, 0); - - for (i = 0, index = 0; i < count; i++) - { - x1 = random() % g_winWidth; - y1 = random() % g_winHeight; - w = 160; - h = 140; - XSetForeground(g_disp, g_gc, g_colors[index++].pixel); - if (index == MAX_COLORS) { - index = 0; - } - //XDrawRectangle(g_disp, g_win, g_gc, x1, y1, w, h); - XFillRectangle(g_disp, g_win, g_gc, x1, y1, w, h); - XFlush(g_disp); - usleep(g_delay_dur); - } - return 0; -} - -int drawFont(int count, char *msg) -{ - int x1; - int y1; - int i; - int index; - -#ifdef CHANGE_FONT_SIZE - int w; - int h; - int actual_count; - char **font_list; -#endif - - if (count <= 0) { - return 0; // nothing to do - } - - srandom(time(NULL)); - XClearArea(g_disp, g_win, 0, 0, g_winWidth, g_winHeight, 0); - -#ifdef CHANGE_FONT_SIZE - font_list = XListFonts(g_disp, "−*−courier−*−*−*−*−0−0−*−*−*−0−*−*", 2000, &actual_count); - if (!font_list) { - printf("actual_count=%d\n", actual_count); - for (i = 0; i < actual_count; i++) - { - printf("%s\n", font_list[i]); - } - XFreeFontNames(font_list); - } - else { - printf("XListFonts() reted NULL\n"); - } -#endif - - srandom(time(NULL)); - - for (i = 0, index = 0; i < count; i++) - { - x1 = random() % g_winWidth; - y1 = random() % g_winHeight; - XSetForeground(g_disp, g_gc, g_colors[index++].pixel); - if (index == MAX_COLORS) { - index = 0; - } - XDrawString(g_disp, g_win, g_gc, x1, y1, msg, strlen(msg)); - XFlush(g_disp); - usleep(g_delay_dur); - } - return 0; // nothing to do -} - -/** - * display a usage message - */ - -void -usage() -{ - printf("usage: xdemo [-l] [-r] [-s] [-f ] [-i ] [-g ] [-c ] [-o ] [-d ] -z\n"); - printf(" -l draw lines\n"); - printf(" -r draw fill rectangles\n"); - printf(" -s draw stipple rectangles\n"); - printf(" -f draw string using fonts\n"); - printf(" -i draw image\n"); - printf(" -g geometry, default is 640x480\n"); - printf(" -c iteration count, default is 5000\n"); - printf(" -d loop delay in micro seconds, default 1000\n"); - printf(" -o define scrolling method\n"); - printf(" -z zero proxy counters for specified application\n\n"); -} - -int main(int argc, char **argv) -{ - XEvent evt; - Colormap colormap; - struct timeval tv; - int screenNumber; - long eventMask; - unsigned long white; - unsigned long black; - Status rc; - int iters; - int opt; - int draw_lines; - int draw_rects; - int draw_stipples; - int draw_fonts; - int draw_image; - int zero_counters; - int scroll_type; - char image_file[256]; - char proxy_app[256]; - char msg[4096]; - - // set some defaults - g_winWidth = 640; - g_winHeight = 480; - iters = 5000; - draw_lines = 1; - draw_rects = 1; - draw_stipples = 1; - draw_fonts = 1; - draw_image = 1; - g_delay_dur = 1000; - scroll_type = SCROLL_SMOOTH1; - zero_counters = 0; - strcpy(image_file, "yosemite.bmp"); - strcpy(msg, "To be or not to be!"); - - // process cmd line args - opterr = 0; - while ((opt = getopt(argc, argv, "lrsg:c:f:i:d:o:z:")) != -1) - { - switch (opt) - { - case 'g': - if (sscanf(optarg, "%dx%d", &g_winWidth, &g_winHeight) != 2) { - fprintf(stderr, "\nerror: invalid geometry specified\n\n"); - usage(); - return -1; - } - break; - - case 'c': - if (sscanf(optarg, "%d", &iters) != 1) { - fprintf(stderr, "\nerror: invalid count specified\n\n"); - usage(); - return -1; - } - break; - - case 'l': - draw_lines = 1; - draw_rects = 0; - draw_stipples = 0; - draw_fonts = 0; - draw_image = 0; - break; - - case 'r': - draw_rects = 1; - draw_lines = 0; - draw_stipples = 0; - draw_fonts = 0; - draw_image = 0; - break; - - case 's': - draw_stipples = 1; - draw_lines = 0; - draw_rects = 0; - draw_fonts = 0; - draw_image = 0; - break; - - case 'f': - if (strlen(optarg) <= 0) { - fprintf(stderr, "\nerror: -f option requires an argument\n\n"); - usage(); - return -1; - } - draw_fonts = 1; - strncpy(msg, optarg, 4096); - draw_lines = 0; - draw_rects = 0; - draw_stipples = 0; - draw_image = 0; - break; - - case 'i': - if (strlen(optarg) <= 0) { - fprintf(stderr, "\nerror: -i option requires an argument\n\n"); - usage(); - return -1; - } - draw_image = 1; - strncpy(image_file, optarg, 255); - draw_lines = 0; - draw_rects = 0; - draw_stipples = 0; - draw_fonts = 0; - break; - - case 'h': - usage(); - return 0; - break; - - case 'v': - printf("xdemo Ver 1.0\n"); - return 0; - break; - - case 'd': - if (sscanf(optarg, "%d", &g_delay_dur) != 1) { - fprintf(stderr, "\nerror: -d option requires an argument\n\n"); - usage(); - return -1; - } - break; - - case 'z': - if (strlen(optarg) <= 0) { - fprintf(stderr, "\nerror: invalid proxy application specified\n\n"); - usage(); - return -1; - } - strcpy(proxy_app, optarg); - printf("##### LK_TODO: proxy_app=%s\n", proxy_app); - zero_counters = 1; - break; - - case 'o': - if (strcmp(optarg, "jump") == 0) { - scroll_type = SCROLL_JUMP; - } - else if (strcmp(optarg, "smooth1") == 0) { - scroll_type = SCROLL_SMOOTH1; - } - else if (strcmp(optarg, "smooth2") == 0) { - scroll_type = SCROLL_SMOOTH2; - } - else { - fprintf(stderr, "\ninvalid scroll type specified\n\n"); - usage(); - return -1; - } - break; - - default: - usage(); - return -1; - } - } - - // must have at least one operation - if ((!draw_lines) && (!draw_rects) && (!draw_stipples) && - (!draw_fonts) && (!draw_image)) { - usage(); - return -1; - } - - g_disp = XOpenDisplay(NULL); - if (!g_disp) { - dprint("error opening X display\n"); - exit(-1); - } - - screenNumber = DefaultScreen(g_disp); - white = WhitePixel(g_disp, screenNumber); - black = BlackPixel(g_disp, screenNumber); - - g_win = XCreateSimpleWindow(g_disp, - DefaultRootWindow(g_disp), - 50, 50, // origin - g_winWidth, g_winHeight, // size - 0, black, // border - white ); // backgd - - XMapWindow(g_disp, g_win); - //eventMask = StructureNotifyMask | MapNotify | VisibilityChangeMask; - eventMask = StructureNotifyMask | VisibilityChangeMask; - XSelectInput(g_disp, g_win, eventMask); - - g_gc = XCreateGC(g_disp, g_win, - 0, // mask of values - NULL ); // array of values - #if 0 - do - { - dprint("about to call XNextEvent(...)\n"); - XNextEvent(g_disp, &evt);// calls XFlush - dprint("returned from XNextEvent(...)\n"); - } - //while(evt.type != MapNotify); - while(evt.type != VisibilityNotify); - #endif - - // get access to the screen's color map - colormap = DefaultColormap(g_disp, screenNumber); - - // alloc red color - rc = XAllocNamedColor(g_disp, colormap, "red", &g_colors[0], &g_colors[0]); - if (rc == 0) { - printf("XAllocNamedColor - failed to allocated 'red' color.\n"); - exit(1); - } - - rc = XAllocNamedColor(g_disp, colormap, "green", &g_colors[1], &g_colors[1]); - if (rc == 0) { - printf("XAllocNamedColor - failed to allocated 'green' color.\n"); - exit(1); - } - - rc = XAllocNamedColor(g_disp, colormap, "blue", &g_colors[2], &g_colors[2]); - if (rc == 0) { - printf("XAllocNamedColor - failed to allocated 'blue' color.\n"); - exit(1); - } - rc = XAllocNamedColor(g_disp, colormap, "yellow", &g_colors[3], &g_colors[3]); - if (rc == 0) { - printf("XAllocNamedColor - failed to allocated 'yellow' color.\n"); - exit(1); - } - rc = XAllocNamedColor(g_disp, colormap, "orange", &g_colors[4], &g_colors[4]); - if (rc == 0) { - printf("XAllocNamedColor - failed to allocated 'orange' color.\n"); - exit(1); - } - - if (zero_counters) { - signal_tcp_proxy(proxy_app); - } - - if (draw_lines) { - start_timer(&tv); - drawLines(iters); - printf("drew %d lines in %d ms\n", iters, time_elapsed_ms(tv)); - } - - if (draw_rects) { - start_timer(&tv); - drawRectangles(iters); - printf("drew %d rects in %d ms\n", iters, time_elapsed_ms(tv)); - } - - if (draw_stipples) { - start_timer(&tv); - // LK_TODO - } - - if (draw_fonts) { - start_timer(&tv); - drawFont(iters, msg); - printf("drew %d strings in %d ms\n", iters, time_elapsed_ms(tv)); - } - - if (draw_image) { - start_timer(&tv); - drawBMP(image_file, scroll_type); - printf("drew BMP in %d ms\n", time_elapsed_ms(tv)); - } - - if (zero_counters) { - signal_tcp_proxy(proxy_app); - } - - eventMask = ButtonPressMask|ButtonReleaseMask; - - XSelectInput(g_disp, g_win, eventMask); - - do - { - XNextEvent(g_disp, &evt); // calls XFlush() - } - while(evt.type != ButtonRelease); - - XDestroyWindow(g_disp, g_win); - XCloseDisplay(g_disp); - - return 0; -} - -int drawBMP(char *filename, int scroll_type) -{ - struct pic_info pic_info; - XImage *image; - Visual *visual; - Pixmap pixmap; - int depth; - int i; - int j; - - if (parse_bmp(filename, &pic_info) < 0) { - exit(-1); - } - XClearArea(g_disp, g_win, 0, 0, g_winWidth, g_winHeight, 0); - - depth = DefaultDepth(g_disp, DefaultScreen(g_disp)); - visual = DefaultVisual(g_disp, DefaultScreen(g_disp)); - - // create empty pixmap - pixmap = XCreatePixmap(g_disp, g_win, pic_info.width, pic_info.height, depth); - - // create an image from pixel data - image = XCreateImage(g_disp, visual, depth, ZPixmap, 0, pic_info.pixel_data, - pic_info.width, pic_info.height, 32, 0); - - if (pic_info.height <= g_winHeight) { - // image is too small to scroll - XFlush(g_disp); - XPutImage(g_disp, g_win, g_gc, image, 0, 0, 0, 0, pic_info.width, pic_info.height); - XFlush(g_disp); - return 0; - } - - if (scroll_type == SCROLL_JUMP) { - // copy image to pixelmap - XPutImage(g_disp, pixmap, g_gc, image, 0, 0, 0, 0, pic_info.width, pic_info.height); - - if (pic_info.height <= g_winHeight) { - // image too small - no scrolling required - XFlush(g_disp); - XCopyArea(g_disp, // connection to X server - pixmap, // source drawable - g_win, // dest drawable - g_gc, // graphics context - 0, 0, // source x,y - pic_info.width, // width - pic_info.height, // height - 0, 0); // dest x,y - XFlush(g_disp); - return 0; - } - - j = pic_info.height / g_winHeight; - if (pic_info.height % g_winHeight != 0) { - // need to include the last part of the image - j++; - } - XFlush(g_disp); - for (i = 0; i < j; i++) - { - XCopyArea(g_disp, // connection to X server - pixmap, // source drawable - g_win, // dest drawable - g_gc, // graphics context - 0, i * g_winHeight, // source x,y - pic_info.width, // width - pic_info.height, // height - 0, 0); // dest x,y - XFlush(g_disp); - sleep(3); - } - } - - /* - ** smooth scroll the image - */ - - // number of lines to be scrolled - j = pic_info.height - g_winHeight; - - if (scroll_type == SCROLL_SMOOTH1) { - XFlush(g_disp); - XPutImage(g_disp, g_win, g_gc, image, 0, 0, 0, 0, pic_info.width, pic_info.height); - XFlush(g_disp); - usleep(10000); - for (i = 0; i < j; i++) - { - XCopyArea(g_disp, g_win, g_win, g_gc, 0, 1, g_winWidth, g_winHeight - 1, 0, 0); - XPutImage(g_disp, g_win, g_gc, image, 0, g_winHeight + i, 0, g_winHeight -1 , pic_info.width, 1); - XFlush(g_disp); - usleep(10000); - } - return 0; - } - - if (scroll_type == SCROLL_SMOOTH2) { - XFlush(g_disp); - for (i = 0; i < j; i++) - { - XPutImage(g_disp, g_win, g_gc, image, 0, i, 0, 0, pic_info.width, pic_info.height - i); - XFlush(g_disp); - usleep(10000); - } - } - return 0; -} - -int process_bmp_event() -{ - XEvent ev; - long event_mask; - - event_mask = ExposureMask|ButtonPressMask|ButtonReleaseMask|StructureNotifyMask; - XSelectInput(g_disp, g_win, event_mask); - XNextEvent(g_disp, &ev); - switch(ev.type) - { - case Expose: - printf("got expose event\n"); - break; - - default: - printf("did not get expose event\n"); - break; - } - return 0; -} - -/** - * send a SIGUSR1 to process tcp_proxy, causing it to clear counters - * - * @return 0 on success, -1 on failure - */ - -int signal_tcp_proxy(char *proc_name) -{ - FILE *fp; - char *cptr; - char buf[2048]; - int pids[10]; - int status = 0; - int num_procs; - int i; - - sprintf(buf, "pidof %s", proc_name); - if ((fp = popen(buf, "r")) == NULL ) { - printf("xdemo: popen() failed\n"); - return -1; - } - - cptr = fgets(buf, 2047, fp); - if (cptr == NULL) { - pclose(fp); - return -1; - } - - num_procs = sscanf(buf, "%d %d %d %d %d %d %d %d %d %d", - &pids[0], &pids[1], &pids[2], &pids[3], &pids[4], - &pids[5], &pids[6], &pids[7], &pids[8], &pids[9]); - if (num_procs > 0) { - for (i = 0; i < num_procs; i++) { - kill(pids[i], SIGUSR1); - printf("sent SIGUSR1 to process %d\n", pids[i]); - } - } - - pclose(fp); - return status; -} - diff --git a/xorg/tests/xdemo/yosemite.bmp b/xorg/tests/xdemo/yosemite.bmp deleted file mode 100644 index c64aba75..00000000 Binary files a/xorg/tests/xdemo/yosemite.bmp and /dev/null differ