From 2ad5df96a391c0b3a87acd303be08f88c433cc93 Mon Sep 17 00:00:00 2001
From: Koichiro IWAO
Date: Tue, 17 Apr 2018 13:26:18 +0900
Subject: Remove x11rdp from xrdp repository
Now x11rdp is replaced with xorgxrdp. Deprecating it.
Repository moved to https://github.com/neutrinolabs/x11rdp.
---
xorg/.gitignore | 1 -
xorg/X11R7.6/.gitignore | 3 -
xorg/X11R7.6/Mesa-7.10.3.patch | 11 -
xorg/X11R7.6/buildx.sh | 299 ---
xorg/X11R7.6/cleanx.sh | 102 -
xorg/X11R7.6/libXext-1.2.0.patch | 13 -
xorg/X11R7.6/libpciaccess-0.12.0.patch | 24 -
xorg/X11R7.6/pixman-0.30.0.patch | 11 -
xorg/X11R7.6/rdp/.gitignore | 1 -
xorg/X11R7.6/rdp/Makefile | 112 --
xorg/X11R7.6/rdp/gcops.h | 35 -
xorg/X11R7.6/rdp/rdp.h | 784 --------
xorg/X11R7.6/rdp/rdpComposite.c | 846 --------
xorg/X11R7.6/rdp/rdpCopyArea.c | 630 ------
xorg/X11R7.6/rdp/rdpCopyArea.h | 29 -
xorg/X11R7.6/rdp/rdpCopyPlane.c | 241 ---
xorg/X11R7.6/rdp/rdpCopyPlane.h | 30 -
xorg/X11R7.6/rdp/rdpFillPolygon.c | 251 ---
xorg/X11R7.6/rdp/rdpFillPolygon.h | 30 -
xorg/X11R7.6/rdp/rdpFillSpans.c | 121 --
xorg/X11R7.6/rdp/rdpFillSpans.h | 29 -
xorg/X11R7.6/rdp/rdpImageGlyphBlt.c | 219 ---
xorg/X11R7.6/rdp/rdpImageGlyphBlt.h | 30 -
xorg/X11R7.6/rdp/rdpImageText16.c | 218 ---
xorg/X11R7.6/rdp/rdpImageText16.h | 29 -
xorg/X11R7.6/rdp/rdpImageText8.c | 218 ---
xorg/X11R7.6/rdp/rdpImageText8.h | 29 -
xorg/X11R7.6/rdp/rdpPolyArc.c | 248 ---
xorg/X11R7.6/rdp/rdpPolyArc.h | 28 -
xorg/X11R7.6/rdp/rdpPolyFillArc.c | 248 ---
xorg/X11R7.6/rdp/rdpPolyFillArc.h | 28 -
xorg/X11R7.6/rdp/rdpPolyFillRect.c | 319 ---
xorg/X11R7.6/rdp/rdpPolyFillRect.h | 29 -
xorg/X11R7.6/rdp/rdpPolyGlyphBlt.c | 220 ---
xorg/X11R7.6/rdp/rdpPolyGlyphBlt.h | 30 -
xorg/X11R7.6/rdp/rdpPolyPoint.c | 307 ---
xorg/X11R7.6/rdp/rdpPolyPoint.h | 29 -
xorg/X11R7.6/rdp/rdpPolyRectangle.c | 323 ----
xorg/X11R7.6/rdp/rdpPolyRectangle.h | 29 -
xorg/X11R7.6/rdp/rdpPolySegment.c | 240 ---
xorg/X11R7.6/rdp/rdpPolySegment.h | 28 -
xorg/X11R7.6/rdp/rdpPolyText16.c | 220 ---
xorg/X11R7.6/rdp/rdpPolyText16.h | 29 -
xorg/X11R7.6/rdp/rdpPolyText8.c | 220 ---
xorg/X11R7.6/rdp/rdpPolyText8.h | 29 -
xorg/X11R7.6/rdp/rdpPolylines.c | 290 ---
xorg/X11R7.6/rdp/rdpPolylines.h | 29 -
xorg/X11R7.6/rdp/rdpPushPixels.c | 214 ---
xorg/X11R7.6/rdp/rdpPushPixels.h | 29 -
xorg/X11R7.6/rdp/rdpPutImage.c | 214 ---
xorg/X11R7.6/rdp/rdpPutImage.h | 29 -
xorg/X11R7.6/rdp/rdpSetSpans.c | 172 --
xorg/X11R7.6/rdp/rdpSetSpans.h | 29 -
xorg/X11R7.6/rdp/rdpdraw.c | 1536 ---------------
xorg/X11R7.6/rdp/rdpdraw.h | 48 -
xorg/X11R7.6/rdp/rdpglyph.c | 862 ---------
xorg/X11R7.6/rdp/rdpglyph.h | 64 -
xorg/X11R7.6/rdp/rdpinput.c | 987 ----------
xorg/X11R7.6/rdp/rdpkeyboard.c | 95 -
xorg/X11R7.6/rdp/rdpkeyboard.h | 68 -
xorg/X11R7.6/rdp/rdpkeyboardbase.c | 301 ---
xorg/X11R7.6/rdp/rdpkeyboardbase.h | 30 -
xorg/X11R7.6/rdp/rdpkeyboardevdev.c | 300 ---
xorg/X11R7.6/rdp/rdpkeyboardevdev.h | 30 -
xorg/X11R7.6/rdp/rdpmain.c | 857 ---------
xorg/X11R7.6/rdp/rdpmisc.c | 696 -------
xorg/X11R7.6/rdp/rdprandr.c | 456 -----
xorg/X11R7.6/rdp/rdprandr.h | 63 -
xorg/X11R7.6/rdp/rdpup.c | 2990 -----------------------------
xorg/X11R7.6/rdp/rdpxv.c | 448 -----
xorg/X11R7.6/x11_file_list.txt | 101 -
xorg/X11R7.6/xkeyboard-config-2.0.patch | 88 -
xorg/X11R7.6/xorg-server-1.9.3.patch | 10 -
xorg/debuild/debX11rdp.sh | 30 -
xorg/debuild/x11rdp-files/DEBIAN/control | 7 -
xorg/debuild/x11rdp-files/DEBIAN/postinst | 18 -
xorg/readme.txt | 2 -
xorg/tests/nx/client.sh | 16 -
xorg/tests/nx/server.sh | 14 -
xorg/tests/randr/Makefile | 11 -
xorg/tests/randr/trandr.c | 146 --
xorg/tests/xdemo/Makefile | 11 -
xorg/tests/xdemo/README.txt | 3 -
xorg/tests/xdemo/bmp_parser.c | 238 ---
xorg/tests/xdemo/common.h | 37 -
xorg/tests/xdemo/xdemo.c | 897 ---------
xorg/tests/xdemo/yosemite.bmp | Bin 1843254 -> 0 bytes
87 files changed, 19416 deletions(-)
delete mode 100644 xorg/.gitignore
delete mode 100644 xorg/X11R7.6/.gitignore
delete mode 100644 xorg/X11R7.6/Mesa-7.10.3.patch
delete mode 100755 xorg/X11R7.6/buildx.sh
delete mode 100755 xorg/X11R7.6/cleanx.sh
delete mode 100644 xorg/X11R7.6/libXext-1.2.0.patch
delete mode 100644 xorg/X11R7.6/libpciaccess-0.12.0.patch
delete mode 100644 xorg/X11R7.6/pixman-0.30.0.patch
delete mode 100644 xorg/X11R7.6/rdp/.gitignore
delete mode 100644 xorg/X11R7.6/rdp/Makefile
delete mode 100644 xorg/X11R7.6/rdp/gcops.h
delete mode 100644 xorg/X11R7.6/rdp/rdp.h
delete mode 100644 xorg/X11R7.6/rdp/rdpComposite.c
delete mode 100644 xorg/X11R7.6/rdp/rdpCopyArea.c
delete mode 100644 xorg/X11R7.6/rdp/rdpCopyArea.h
delete mode 100644 xorg/X11R7.6/rdp/rdpCopyPlane.c
delete mode 100644 xorg/X11R7.6/rdp/rdpCopyPlane.h
delete mode 100644 xorg/X11R7.6/rdp/rdpFillPolygon.c
delete mode 100644 xorg/X11R7.6/rdp/rdpFillPolygon.h
delete mode 100644 xorg/X11R7.6/rdp/rdpFillSpans.c
delete mode 100644 xorg/X11R7.6/rdp/rdpFillSpans.h
delete mode 100644 xorg/X11R7.6/rdp/rdpImageGlyphBlt.c
delete mode 100644 xorg/X11R7.6/rdp/rdpImageGlyphBlt.h
delete mode 100644 xorg/X11R7.6/rdp/rdpImageText16.c
delete mode 100644 xorg/X11R7.6/rdp/rdpImageText16.h
delete mode 100644 xorg/X11R7.6/rdp/rdpImageText8.c
delete mode 100644 xorg/X11R7.6/rdp/rdpImageText8.h
delete mode 100644 xorg/X11R7.6/rdp/rdpPolyArc.c
delete mode 100644 xorg/X11R7.6/rdp/rdpPolyArc.h
delete mode 100644 xorg/X11R7.6/rdp/rdpPolyFillArc.c
delete mode 100644 xorg/X11R7.6/rdp/rdpPolyFillArc.h
delete mode 100644 xorg/X11R7.6/rdp/rdpPolyFillRect.c
delete mode 100644 xorg/X11R7.6/rdp/rdpPolyFillRect.h
delete mode 100644 xorg/X11R7.6/rdp/rdpPolyGlyphBlt.c
delete mode 100644 xorg/X11R7.6/rdp/rdpPolyGlyphBlt.h
delete mode 100644 xorg/X11R7.6/rdp/rdpPolyPoint.c
delete mode 100644 xorg/X11R7.6/rdp/rdpPolyPoint.h
delete mode 100644 xorg/X11R7.6/rdp/rdpPolyRectangle.c
delete mode 100644 xorg/X11R7.6/rdp/rdpPolyRectangle.h
delete mode 100644 xorg/X11R7.6/rdp/rdpPolySegment.c
delete mode 100644 xorg/X11R7.6/rdp/rdpPolySegment.h
delete mode 100644 xorg/X11R7.6/rdp/rdpPolyText16.c
delete mode 100644 xorg/X11R7.6/rdp/rdpPolyText16.h
delete mode 100644 xorg/X11R7.6/rdp/rdpPolyText8.c
delete mode 100644 xorg/X11R7.6/rdp/rdpPolyText8.h
delete mode 100644 xorg/X11R7.6/rdp/rdpPolylines.c
delete mode 100644 xorg/X11R7.6/rdp/rdpPolylines.h
delete mode 100644 xorg/X11R7.6/rdp/rdpPushPixels.c
delete mode 100644 xorg/X11R7.6/rdp/rdpPushPixels.h
delete mode 100644 xorg/X11R7.6/rdp/rdpPutImage.c
delete mode 100644 xorg/X11R7.6/rdp/rdpPutImage.h
delete mode 100644 xorg/X11R7.6/rdp/rdpSetSpans.c
delete mode 100644 xorg/X11R7.6/rdp/rdpSetSpans.h
delete mode 100644 xorg/X11R7.6/rdp/rdpdraw.c
delete mode 100644 xorg/X11R7.6/rdp/rdpdraw.h
delete mode 100644 xorg/X11R7.6/rdp/rdpglyph.c
delete mode 100644 xorg/X11R7.6/rdp/rdpglyph.h
delete mode 100644 xorg/X11R7.6/rdp/rdpinput.c
delete mode 100644 xorg/X11R7.6/rdp/rdpkeyboard.c
delete mode 100644 xorg/X11R7.6/rdp/rdpkeyboard.h
delete mode 100644 xorg/X11R7.6/rdp/rdpkeyboardbase.c
delete mode 100644 xorg/X11R7.6/rdp/rdpkeyboardbase.h
delete mode 100644 xorg/X11R7.6/rdp/rdpkeyboardevdev.c
delete mode 100644 xorg/X11R7.6/rdp/rdpkeyboardevdev.h
delete mode 100644 xorg/X11R7.6/rdp/rdpmain.c
delete mode 100644 xorg/X11R7.6/rdp/rdpmisc.c
delete mode 100644 xorg/X11R7.6/rdp/rdprandr.c
delete mode 100644 xorg/X11R7.6/rdp/rdprandr.h
delete mode 100644 xorg/X11R7.6/rdp/rdpup.c
delete mode 100644 xorg/X11R7.6/rdp/rdpxv.c
delete mode 100644 xorg/X11R7.6/x11_file_list.txt
delete mode 100644 xorg/X11R7.6/xkeyboard-config-2.0.patch
delete mode 100644 xorg/X11R7.6/xorg-server-1.9.3.patch
delete mode 100755 xorg/debuild/debX11rdp.sh
delete mode 100644 xorg/debuild/x11rdp-files/DEBIAN/control
delete mode 100755 xorg/debuild/x11rdp-files/DEBIAN/postinst
delete mode 100644 xorg/readme.txt
delete mode 100755 xorg/tests/nx/client.sh
delete mode 100755 xorg/tests/nx/server.sh
delete mode 100644 xorg/tests/randr/Makefile
delete mode 100644 xorg/tests/randr/trandr.c
delete mode 100644 xorg/tests/xdemo/Makefile
delete mode 100644 xorg/tests/xdemo/README.txt
delete mode 100644 xorg/tests/xdemo/bmp_parser.c
delete mode 100644 xorg/tests/xdemo/common.h
delete mode 100644 xorg/tests/xdemo/xdemo.c
delete mode 100644 xorg/tests/xdemo/yosemite.bmp
(limited to 'xorg')
diff --git a/xorg/.gitignore b/xorg/.gitignore
deleted file mode 100644
index 24600083..00000000
--- a/xorg/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-!Makefile
diff --git a/xorg/X11R7.6/.gitignore b/xorg/X11R7.6/.gitignore
deleted file mode 100644
index 218e4a9a..00000000
--- a/xorg/X11R7.6/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-build_dir
-cookies
-downloads
diff --git a/xorg/X11R7.6/Mesa-7.10.3.patch b/xorg/X11R7.6/Mesa-7.10.3.patch
deleted file mode 100644
index 5171d388..00000000
--- a/xorg/X11R7.6/Mesa-7.10.3.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/mesa/x86-64/xform4.S
-+++ b/src/mesa/x86-64/xform4.S
-@@ -118,7 +118,7 @@
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
--.float 0f+1.0
-+.float 1.0
-
- .text
- .align 16
diff --git a/xorg/X11R7.6/buildx.sh b/xorg/X11R7.6/buildx.sh
deleted file mode 100755
index bf871744..00000000
--- a/xorg/X11R7.6/buildx.sh
+++ /dev/null
@@ -1,299 +0,0 @@
-#!/bin/sh
-
-# buildx.sh: a script for building X11R7.6 X server for use with xrdp
-#
-# Copyright 2011-2013 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.
-
-# debian packages needed
-# flex bison libxml2-dev intltool xsltproc xutils-dev python-libxml2 g++ xutils
-
-download_all_files()
-{
- # download files in parallel using keepalive - a little bit faster
- # than calling wget for a single file more than 100 times
- urls=
- for f in `cut -f1 -d: x11_file_list.txt`; do
- if ! test -s "downloads/$f"; then
- urls="$urls ${download_url}/$f"
- fi
- done
- if test -n "$urls"; then
- echo $urls | \
- xargs -P2 -n $(expr $num_modules / 2 + 1) \
- wget \
- --directory-prefix=downloads \
- --no-verbose \
- --timestamping \
- --continue
- fi
-
- status=$?
- return $status
-}
-
-remove_modules()
-{
- local mod_file mod_dir mod_args
- 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
-
- while IFS=: read mod_file mod_dir mod_args
- do
- (cd build_dir; [ -d $mod_dir ] && rm -rf $mod_dir)
- done < $data_file
-}
-
-extract_it()
-{
- local mod_file mod_name mod_args comp
- mod_file=$1
- mod_name=$2
- mod_args=$3
-
- if [ -e cookies/$mod_name.extracted ]; then
- return 0
- fi
-
- cd build_dir
-
- # if pkg has not yet been extracted, do so now
- if [ ! -d $mod_name ]; then
- case "$mod_file" in
- *.tar.bz2) comp=j ;;
- *.tar.gz) comp=z ;;
- *.tar.xz) comp=J ;;
- *.tar) comp= ;;
- *) echo "unknown compressed module $mod_name" ; exit 1 ;;
- esac
- if ! tar x${comp}f ../downloads/$mod_file > /dev/null
- 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 -N -p1 < ../../$mod_name.patch
- fi
- # now configure
- echo "executing ./configure --prefix=$PREFIX_DIR $mod_args"
- if ! ./configure --prefix=$PREFIX_DIR $mod_args
- then
- echo "configuration failed for module $mod_name"
- exit 1
- fi
-
- cd ../..
-
- touch cookies/$mod_name.extracted
-}
-
-make_it()
-{
- local mod_file mod_name mod_args
- 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.installed ]; then
- # ...package has already been installed
- return 0
- fi
-
- echo ""
- echo "*** processing module $mod_name ($count of $num_modules) ***"
- echo ""
-
- if ! extract_it $mod_file $mod_name "$mod_args"
- then
- echo ""
- echo "extract failed for module $mod_name"
- echo ""
- exit 1
- fi
-
- # make module
- if [ ! -e cookies/$mod_name.made ]; then
- if ! make -j $NPROC -C build_dir/$mod_name
- then
- echo ""
- echo "make failed for module $mod_name"
- echo ""
- exit 1
- fi
- touch cookies/$mod_name.made
- fi
-
- # install module
- if ! make -C build_dir/$mod_name install
- then
- echo ""
- echo "make install failed for module $mod_name"
- echo ""
- exit 1
- fi
-
- touch cookies/$mod_name.installed
- 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
-# changed now to server1.xrdp.org
-# was www.x.org/releases/X11R7.6/src/everything
-download_url=http://server1.xrdp.org/xrdp/X11R7.6
-
-num_modules=`wc -l < $data_file`
-count=0
-
-##########################
-# program flow starts here
-##########################
-
-if [ $# -lt 1 ]; then
- echo ""
- echo "usage: buildx.sh "
- echo "usage: buildx.sh clean"
- echo "usage: buildx.sh default"
- echo "usage: buildx.sh drop - set env and run bash in rdp dir"
- 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
-
-# prefix dir must exist...
-if [ ! -d $PREFIX_DIR ]; then
- echo "$PREFIX_DIR does not exist, creating it"
- if ! mkdir -p $PREFIX_DIR; then
- echo "$PREFIX_DIR cannot be created - cannot continue"
- exit 1
- fi
-fi
-
-# ...and be writable
-if [ ! -w $PREFIX_DIR ]; then
- echo "$PREFIX_DIR is not writable - cannot continue"
- exit 1
-fi
-
-echo "installation directory: $PREFIX_DIR"
-
-export PKG_CONFIG_PATH=$PREFIX_DIR/lib/pkgconfig:$PREFIX_DIR/share/pkgconfig
-export PATH=$PREFIX_DIR/bin:$PATH
-export LDFLAGS=-Wl,-rpath=$PREFIX_DIR/lib
-export CFLAGS="-I$PREFIX_DIR/include -fPIC -O2"
-
-# create a downloads dir
-if [ ! -d downloads ]; then
- if ! mkdir downloads
- then
- echo "error creating downloads directory"
- exit 1
- fi
-fi
-
-# this is where we do the actual build
-if [ ! -d build_dir ]; then
- if ! mkdir build_dir
- then
- echo "error creating build_dir directory"
- exit 1
- fi
-fi
-
-# this is where we store cookie files
-if [ ! -d cookies ]; then
- if ! mkdir cookies
- then
- echo "error creating cookies directory"
- exit 1
- fi
-fi
-
-if ! NPROC=`nproc`; then
- NPROC=1
-fi
-
-if ! download_all_files; then
- echo ""
- echo "download failed - aborting build"
- echo "rerun this script to resume download/build"
- echo ""
- exit 1
-fi
-
-while IFS=: read mod_file mod_dir mod_args
-do
- mod_args=`eval echo $mod_args`
-
- make_it $mod_file $mod_dir "$mod_args"
-done < $data_file
-
-echo "build for X OK"
-
-X11RDPBASE=$PREFIX_DIR
-export X11RDPBASE
-
-if ! make -C rdp
-then
- echo "error building rdp"
- exit 1
-fi
-
-# this will copy the build X server with the other X server binaries
-cd rdp
-cp X11rdp $X11RDPBASE/bin/X11rdp
-strip $X11RDPBASE/bin/X11rdp
-
-if [ "$2" = "drop" ]; then
- echo ""
- echo "dropping you in dir, type exit to get out"
- bash
- exit 1
-fi
-
-echo "All done"
diff --git a/xorg/X11R7.6/cleanx.sh b/xorg/X11R7.6/cleanx.sh
deleted file mode 100755
index 7ec804e0..00000000
--- a/xorg/X11R7.6/cleanx.sh
+++ /dev/null
@@ -1,102 +0,0 @@
-#!/bin/sh
-#
-# all directories can be read only except
-# Read Write
-# share/X11/xkb/compiled/
-
-if test $# -lt 1
-then
- echo ""
- echo "usage: clean_build_dir.sh "
- echo ""
- exit 1
-fi
-
-BASEDIR=$1
-
-if ! test -d $BASEDIR
-then
- echo "error directory $BASEDIR does not exist"
- exit 1
-fi
-
-if ! test -w $BASEDIR
-then
- echo "error directory $BASEDIR is not writable"
- exit 1
-fi
-
-echo cleaning $BASEDIR
-
-if ! test -x $BASEDIR/bin/X11rdp
-then
- echo "error $BASEDIR/bin/X11rdp does not exist"
-fi
-
-bin_check_file()
-{
- if [ "$1" = "X11rdp" ]
- then
- return 0
- fi
- if [ "$1" = "xkbcomp" ]
- then
- return 0
- fi
- rm -f $1
- return 0
-}
-
-HOLDPATH=$PWD
-cd $BASEDIR
-
-# remove unused directories
-rm -fr man/
-rm -fr include/
-rm -fr lib/python2.7/
-rm -fr lib/pkgconfig/
-rm -fr share/pkgconfig/
-rm -fr share/gtk-doc
-rm -fr share/doc
-rm -fr share/man
-rm -fr share/aclocal
-rm -fr share/intltool
-rm -fr share/util-macros
-
-# remove development files
-rm -f lib/*.a
-rm -f lib/*.la
-rm -f lib/xorg/modules/*.a
-rm -f lib/xorg/modules/*.la
-
-# remove symbols
-#strip lib/*.so
-#strip lib/xorg/modules/*.so
-
-# remove hardware specific files
-rm -f lib/dri/i915_dri.so
-rm -f lib/dri/i965_dri.so
-rm -f lib/dri/mach64_dri.so
-rm -f lib/dri/mga_dri.so
-rm -f lib/dri/r128_dri.so
-rm -f lib/dri/r200_dri.so
-rm -f lib/dri/r300_dri.so
-rm -f lib/dri/r600_dri.so
-rm -f lib/dri/radeon_dri.so
-rm -f lib/dri/savage_dri.so
-#strip lib/dri/swrast_dri.so
-rm -f lib/dri/tdfx_dri.so
-rm -f lib/dri/unichrome_dri.so
-
-# remove extra bin tools
-cd bin
-for i in *
-do
- if ! test -d "$i"
- then
- bin_check_file $i
- fi
-done
-cd ..
-
-cd $HOLDPATH
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/libpciaccess-0.12.0.patch b/xorg/X11R7.6/libpciaccess-0.12.0.patch
deleted file mode 100644
index 7d45d0b2..00000000
--- a/xorg/X11R7.6/libpciaccess-0.12.0.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -ur a/src/common_interface.c b/src/common_interface.c
---- a/src/common_interface.c
-+++ b/src/common_interface.c
-@@ -51,6 +51,20 @@
- # define HTOLE_32(x) (x)
- #endif /* linux */
-
-+#elif defined(__GNUC__) || defined(__clang__)
-+
-+#if __BYTE_ORDER == __BIG_ENDIAN
-+# define LETOH_16(x) __builtin_bswap16(x)
-+# define HTOLE_16(x) __builtin_bswap16(x)
-+# define LETOH_32(x) __builtin_bswap32(x)
-+# define HTOLE_32(x) __builtin_bswap32(x)
-+#else
-+# define LETOH_16(x) (x)
-+# define HTOLE_16(x) (x)
-+# define LETOH_32(x) (x)
-+# define HTOLE_32(x) (x)
-+#endif /* gcc or clang */
-+
- #elif defined(__sun)
-
- #include
diff --git a/xorg/X11R7.6/pixman-0.30.0.patch b/xorg/X11R7.6/pixman-0.30.0.patch
deleted file mode 100644
index 35acdc51..00000000
--- a/xorg/X11R7.6/pixman-0.30.0.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/pixman/pixman-mmx.c
-+++ b/pixman/pixman-mmx.c
-@@ -89,7 +89,7 @@ _mm_mulhi_pu16 (__m64 __A, __m64 __B)
- return __A;
- }
-
--# ifdef __OPTIMIZE__
-+# if defined(__OPTIMIZE__) && !defined(__clang__)
- extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
- _mm_shuffle_pi16 (__m64 __A, int8_t const __N)
- {
diff --git a/xorg/X11R7.6/rdp/.gitignore b/xorg/X11R7.6/rdp/.gitignore
deleted file mode 100644
index c72c2cb4..00000000
--- a/xorg/X11R7.6/rdp/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-X11rdp
diff --git a/xorg/X11R7.6/rdp/Makefile b/xorg/X11R7.6/rdp/Makefile
deleted file mode 100644
index 5debf3d2..00000000
--- a/xorg/X11R7.6/rdp/Makefile
+++ /dev/null
@@ -1,112 +0,0 @@
-# X11RDPBASE is the top-level X11rdp install directory
-ifeq ($(X11RDPBASE),)
-$(error X11RDPBASE needs to be set)
-endif
-
-BINBASE = $(X11RDPBASE)/bin
-INCBASE = $(X11RDPBASE)/include
-LIBBASE = $(X11RDPBASE)/lib
-
-INSTALL = /usr/bin/install -c
-XSRCBASE = ../build_dir/xorg-server-1.9.3
-
-OBJS = rdpmain.o rdpdraw.o rdpinput.o rdpmisc.o rdpup.o rdprandr.o \
-rdpCopyArea.o rdpPolyFillRect.o rdpPutImage.o rdpPolyRectangle.o \
-rdpPolylines.o rdpPolySegment.o rdpFillSpans.o rdpSetSpans.o \
-rdpCopyPlane.o rdpPolyPoint.o rdpPolyArc.o rdpFillPolygon.o \
-rdpPolyFillArc.o rdpPolyText8.o rdpPolyText16.o \
-rdpImageText8.o rdpImageText16.o rdpImageGlyphBlt.o rdpPolyGlyphBlt.o \
-rdpPushPixels.o rdpxv.o rdpglyph.o rdpComposite.o \
-rdpkeyboard.o rdpkeyboardevdev.o rdpkeyboardbase.o \
-miinitext.o \
-fbcmap_mi.o
-
-# in Xorg 7.1, fbcmap.c was used but now it looks like fbcmap_mi.c should
-# be used
-#fbcmap_mi.o
-#fbcmap.o
-
-LIBS = \
- $(XSRCBASE)/dix/.libs/libmain.a \
- librdp.a \
- $(XSRCBASE)/dbe/.libs/libdbe.a \
- $(XSRCBASE)/dix/.libs/libdix.a \
- $(XSRCBASE)/fb/.libs/libfb.a \
- $(XSRCBASE)/mi/.libs/libmi.a \
- $(XSRCBASE)/randr/.libs/librandr.a \
- $(XSRCBASE)/render/.libs/librender.a \
- $(XSRCBASE)/os/.libs/libos.a \
- $(XSRCBASE)/record/.libs/librecord.a \
- $(XSRCBASE)/xkb/.libs/libxkb.a \
- $(XSRCBASE)/Xext/.libs/libXext.a \
- $(XSRCBASE)/Xi/.libs/libXi.a \
- $(XSRCBASE)/glx/.libs/libglx.a \
- $(XSRCBASE)/xfixes/.libs/libxfixes.a \
- $(XSRCBASE)/damageext/.libs/libdamageext.a \
- $(XSRCBASE)/miext/damage/.libs/libdamage.a
-
-LLIBS = -Wl,-rpath=$(LIBBASE) -lfreetype -lz -lm -lXfont -lXau \
- -lXdmcp -lpixman-1 -lrt -ldl -lcrypto -lGL -lXdamage
-
-CFLAGS = -g -O2 -Wall -fno-strength-reduce \
- -I$(INCBASE) \
- -I$(INCBASE)/X11 \
- -I$(INCBASE)/X11/fonts \
- -I$(INCBASE)/X11/extensions \
- -I$(INCBASE)/xorg \
- -I$(INCBASE)/pixman-1 \
- -I../../../common \
- -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_REENTRANT \
- -DGLX_USE_MESA -DXRECORD -D_GNU_SOURCE -DXAPPGROUP \
- -DTOGCUP -DSINGLEDEPTH -DXFree86Server \
- -DDBE -DEVI -DXVMC -DFONTCACHE -DGCCUSESGAS -DSTATIC_COLOR \
- -DAVOID_GLYPHBLT -DFUNCPROTO=15 -DNARROWPROTO -DDDXOSFATALERROR \
- -DPART_NET -DDDXTIME -D_HAVE_XALLOC_DECLS \
- -DDAMAGE \
- -DXFIXES \
- -DSMART_SCHEDULE -DSERVER_LOCK -DGLXEXT -DSHAPE -DRENDER -DRANDR \
- -DBIGREQS -D_POSIX_SOURCE -D_BSD_SOURCE -DSCREENSAVER \
- -DXCMISC -DXTEST -DXTRAP -DXV -DXSYNC -DMITMISC -DPANORAMIX \
- -DDPMSExtension -DXvExtension -DXvMCExtension -DXResExtension \
- -DMITSHM -DPIXPRIV -DNDEBUG -DDDXOSINIT -DXKB -DXINPUT
-
-#-DDAMAGE
-
-# -pedantic
-# -DXCSECURITY -DXF86BIGFONT
-
-# these are defined in xorg-server.h
-# -D_XOPEN_SOURCE=500L
-# -DX_BYTE_ORDER=X_LITTLE_ENDIAN
-# -DSMART_SCHEDULE -DSERVER_LOCK -DGLXEXT -DSHAPE -DRENDER -DRANDR
-# -DBIGREQS -D_POSIX_SOURCE -D_BSD_SOURCE -DSCREENSAVER -DXF86BIGFONT
-# -DXCMISC -DXTEST -DXTRAP -DXV -DXSYNC -DMITMISC -DPANORAMIX
-# -DDPMSExtension -DXvExtension -DXvMCExtension -DXResExtension
-# -DMITSHM -DPIXPRIV -DNDEBUG -DDDXOSINIT
-
-# these are not needed I think
-# -Dlinux -D__i386__
-
-LDFLAGS = -L$(LIBBASE) -Wl,-rpath,$(LIBBASE)
-
-all: X11rdp
-
-X11rdp: $(OBJS)
- $(AR) rvu librdp.a $(OBJS)
- ranlib librdp.a
- $(CC) $(LDFLAGS) -o X11rdp $(LIBS) $(LLIBS)
-
-clean:
- rm -f $(OBJS) librdp.a
-
-miinitext.o: ../build_dir/xorg-server-1.9.3/mi/miinitext.c Makefile
- $(CC) $(CFLAGS) -I../build_dir/xorg-server-1.9.3/Xext -c ../build_dir/xorg-server-1.9.3/mi/miinitext.c
-
-fbcmap.o: ../build_dir/xorg-server-1.9.3/fb/fbcmap.c
- $(CC) $(CFLAGS) -c ../build_dir/xorg-server-1.9.3/fb/fbcmap.c
-
-fbcmap_mi.o: ../build_dir/xorg-server-1.9.3/fb/fbcmap_mi.c
- $(CC) $(CFLAGS) -c ../build_dir/xorg-server-1.9.3/fb/fbcmap_mi.c
-
-install: all
- $(INSTALL) X11rdp $(BINBASE)/X11rdp
diff --git a/xorg/X11R7.6/rdp/gcops.h b/xorg/X11R7.6/rdp/gcops.h
deleted file mode 100644
index 34870016..00000000
--- a/xorg/X11R7.6/rdp/gcops.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-static void
-rdpValidateGC(GCPtr pGC, unsigned long changes, DrawablePtr d);
-static void
-rdpChangeGC(GCPtr pGC, unsigned long mask);
-static void
-rdpCopyGC(GCPtr src, unsigned long mask, GCPtr dst);
-static void
-rdpDestroyGC(GCPtr pGC);
-static void
-rdpChangeClip(GCPtr pGC, int type, pointer pValue, int nrects);
-static void
-rdpDestroyClip(GCPtr pGC);
-static void
-rdpCopyClip(GCPtr dst, GCPtr src);
diff --git a/xorg/X11R7.6/rdp/rdp.h b/xorg/X11R7.6/rdp/rdp.h
deleted file mode 100644
index 56ee5ba8..00000000
--- a/xorg/X11R7.6/rdp/rdp.h
+++ /dev/null
@@ -1,784 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#if defined(__arm__) && !defined(__arm32__)
-#define __arm32__
-#endif
-
-#include "xorg-server.h"
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include "X.h"
-#define NEED_EVENTS
-#include "Xproto.h"
-#include "Xos.h"
-#include "scrnintstr.h"
-#include "servermd.h"
-#define PSZ 8
-
-//#include "cfb.h"
-
-#include "mibstore.h"
-#include "colormapst.h"
-#include "gcstruct.h"
-#include "input.h"
-#include "mipointer.h"
-#include "dixstruct.h"
-#include "propertyst.h"
-#include "Xatom.h"
-#include "dix.h"
-#include "X11/keysym.h"
-#include "dixfontstr.h"
-#include "fontstruct.h"
-#include "cursorstr.h"
-#include "picturestr.h"
-#include "XKBstr.h"
-#include "inputstr.h"
-#include "randrstr.h"
-#include "mi.h"
-#include "fb.h"
-#include "micmap.h"
-#include "events.h"
-#include "exevents.h"
-#include "xserver-properties.h"
-#include "xkbsrv.h"
-/* in xrdp/common */
-#include "xrdp_client_info.h"
-#include "xrdp_constants.h"
-
-//#include "colormapst.h"
-
-#define X11RDPVER "0.9.6"
-
-#define PixelDPI 100
-#define PixelToMM(_size) (((_size) * 254 + (PixelDPI) * 5) / ((PixelDPI) * 10))
-
-#define TAG_COMPOSITE 0
-#define TAG_COPYAREA 1
-#define TAG_POLYFILLRECT 2
-#define TAG_PUTIMAGE 3
-#define TAG_POLYRECTANGLE 4
-#define TAG_COPYPLANE 5
-#define TAG_POLYARC 6
-#define TAG_FILLPOLYGON 7
-#define TAG_POLYFILLARC 8
-#define TAG_IMAGETEXT8 9
-#define TAG_POLYTEXT8 10
-#define TAG_POLYTEXT16 11
-#define TAG_IMAGETEXT16 12
-#define TAG_IMAGEGLYPHBLT 13
-#define TAG_POLYGLYPHBLT 14
-#define TAG_PUSHPIXELS 15
-
-struct image_data
-{
- int width;
- int height;
- int bpp;
- int Bpp;
- int lineBytes;
- char* pixels;
- char* shmem_pixels;
- int shmem_id;
- int shmem_offset;
- int shmem_lineBytes;
-};
-
-/* Per-screen (framebuffer) structure. There is only one of these, since we
- don't allow the X server to have multiple screens. */
-struct _rdpScreenInfoRec
-{
- int width;
- int paddedWidthInBytes;
- int height;
- int depth;
- int bitsPerPixel;
- int sizeInBytes; /* size of current used frame buffer */
- int sizeInBytesAlloc; /* size of current alloc frame buffer,
- always >= sizeInBytes */
- char* pfbMemory;
- Pixel blackPixel;
- Pixel whitePixel;
- /* wrapped screen functions */
- /* Random screen procedures */
- CloseScreenProcPtr CloseScreen;
- /* GC procedures */
- CreateGCProcPtr CreateGC;
- /* Pixmap procedures */
- CreatePixmapProcPtr CreatePixmap;
- DestroyPixmapProcPtr DestroyPixmap;
-
- /* Window Procedures */
- CreateWindowProcPtr CreateWindow;
- DestroyWindowProcPtr DestroyWindow;
- PositionWindowProcPtr PositionWindow;
- RealizeWindowProcPtr RealizeWindow;
- UnrealizeWindowProcPtr UnrealizeWindow;
- ChangeWindowAttributesProcPtr ChangeWindowAttributes;
- WindowExposuresProcPtr WindowExposures;
-
- CreateColormapProcPtr CreateColormap;
- DestroyColormapProcPtr DestroyColormap;
-
- CopyWindowProcPtr CopyWindow;
- ClearToBackgroundProcPtr ClearToBackground;
- ScreenWakeupHandlerProcPtr WakeupHandler;
- CreatePictureProcPtr CreatePicture;
- DestroyPictureProcPtr DestroyPicture;
- CompositeProcPtr Composite;
- GlyphsProcPtr Glyphs;
- /* Backing store procedures */
- RestoreAreasProcPtr RestoreAreas;
-
- int rdp_width;
- int rdp_height;
- int rdp_bpp;
- int rdp_Bpp;
- int rdp_Bpp_mask;
-
- struct xrdp_client_info client_info;
-};
-typedef struct _rdpScreenInfoRec rdpScreenInfoRec;
-typedef rdpScreenInfoRec* rdpScreenInfoPtr;
-
-struct _rdpGCRec
-{
- GCFuncs* funcs;
- GCOps* ops;
-};
-typedef struct _rdpGCRec rdpGCRec;
-typedef rdpGCRec* rdpGCPtr;
-#define GETGCPRIV(_pGC) \
-(rdpGCPtr)dixGetPrivateAddr(&(_pGC->devPrivates), &g_rdpGCIndex)
-
-struct _rdpWindowRec
-{
- int status;
-};
-typedef struct _rdpWindowRec rdpWindowRec;
-typedef rdpWindowRec* rdpWindowPtr;
-#define GETWINPRIV(_pWindow) \
-(rdpWindowPtr)dixGetPrivateAddr(&(_pWindow->devPrivates), &g_rdpWindowIndex)
-
-#define XR_IS_ROOT(_pWindow) ((_pWindow)->drawable.pScreen->root == (_pWindow))
-
-/* for tooltips */
-#define XR_STYLE_TOOLTIP (0x80000000)
-#define XR_EXT_STYLE_TOOLTIP (0x00000080 | 0x00000008)
-
-/* for normal desktop windows */
-/* WS_TILEDWINDOW (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME |
- WS_MINIMIZEBOX | WS_MAXIMIZEBOX) */
-#define XR_STYLE_NORMAL (0x00C00000 | 0x00080000 | 0x00040000 | 0x00010000 | 0x00020000)
-#define XR_EXT_STYLE_NORMAL (0x00040000)
-
-/* for dialogs */
-#define XR_STYLE_DIALOG (0x80000000)
-#define XR_EXT_STYLE_DIALOG (0x00040000)
-
-#define RDI_FILL 1
-#define RDI_IMGLL 2 /* lossless */
-#define RDI_IMGLY 3 /* lossy */
-#define RDI_LINE 4
-#define RDI_SCRBLT 5
-#define RDI_TEXT 6
-
-struct urdp_draw_item_fill
-{
- int opcode;
- int fg_color;
- int bg_color;
- int pad0;
-};
-
-struct urdp_draw_item_img
-{
- int opcode;
- int pad0;
-};
-
-struct urdp_draw_item_line
-{
- int opcode;
- int fg_color;
- int bg_color;
- int width;
- xSegment* segs;
- int nseg;
- int flags;
-};
-
-struct urdp_draw_item_scrblt
-{
- int srcx;
- int srcy;
- int dstx;
- int dsty;
- int cx;
- int cy;
-};
-
-struct urdp_draw_item_text
-{
- int opcode;
- int fg_color;
- struct rdp_text* rtext; /* in rdpglyph.h */
-};
-
-union urdp_draw_item
-{
- struct urdp_draw_item_fill fill;
- struct urdp_draw_item_img img;
- struct urdp_draw_item_line line;
- struct urdp_draw_item_scrblt scrblt;
- struct urdp_draw_item_text text;
-};
-
-struct rdp_draw_item
-{
- int type; /* RDI_FILL, RDI_IMGLL, ... */
- int flags;
- struct rdp_draw_item* prev;
- struct rdp_draw_item* next;
- RegionPtr reg;
- union urdp_draw_item u;
-};
-
-#define XRDP_USE_COUNT_THRESHOLD 1
-
-struct _rdpPixmapRec
-{
- int status;
- int rdpindex;
- int con_number;
- int is_dirty;
- int is_scratch;
- int is_alpha_dirty_not;
- /* number of times used in a remote operation
- if this gets above XRDP_USE_COUNT_THRESHOLD
- then we force remote the pixmap */
- int use_count;
- int kind_width;
- struct rdp_draw_item* draw_item_head;
- struct rdp_draw_item* draw_item_tail;
-};
-typedef struct _rdpPixmapRec rdpPixmapRec;
-typedef rdpPixmapRec* rdpPixmapPtr;
-#define GETPIXPRIV(_pPixmap) \
-(rdpPixmapPtr)dixGetPrivateAddr(&(_pPixmap->devPrivates), &g_rdpPixmapIndex)
-
-#define XRDP_IS_OS(_priv) (_priv->status != 0)
-
-/* rdpmisc.c */
-void
-rdpLog(char *format, ...);
-int
-rdpBitsPerPixel(int depth);
-void
-rdpClientStateChange(CallbackListPtr* cbl, pointer myData, pointer clt);
-int
-g_tcp_recv(int sck, void* ptr, int len, int flags);
-void
-g_tcp_close(int sck);
-int
-g_tcp_last_error_would_block(int sck);
-void
-g_sleep(int msecs);
-int
-g_tcp_send(int sck, void* ptr, int len, int flags);
-void*
-g_malloc(int size, int zero);
-void
-g_free(void* ptr);
-void
-g_sprintf(char* dest, char* format, ...);
-int
-g_tcp_socket(void);
-int
-g_tcp_local_socket_dgram(void);
-int
-g_tcp_local_socket_stream(void);
-void
-g_memcpy(void* d_ptr, const void* s_ptr, int size);
-int
-g_tcp_set_no_delay(int sck);
-int
-g_tcp_set_non_blocking(int sck);
-int
-g_tcp_accept(int sck);
-int
-g_tcp_select(int sck1, int sck2, int sck3);
-int
-g_tcp_bind(int sck, char* port);
-int
-g_tcp_local_bind(int sck, char* port);
-int
-g_tcp_listen(int sck);
-int
-g_create_dir(const char* dirname);
-int
-g_directory_exist(const char* dirname);
-int
-g_chmod_hex(const char* filename, int flags);
-const char *
-g_socket_dir(void);
-void
-hexdump(unsigned char *p, unsigned int len);
-void
-RegionAroundSegs(RegionPtr reg, xSegment* segs, int nseg);
-int
-get_crc(char* data, int data_bytes);
-int
-get_mstime(void);
-
-/* rdpdraw.c */
-Bool
-rdpCloseScreen(int i, ScreenPtr pScreen);
-
-
-int
-draw_item_add(rdpPixmapRec* priv, struct rdp_draw_item* di);
-int
-draw_item_remove(rdpPixmapRec* priv, struct rdp_draw_item* di);
-int
-draw_item_remove_all(rdpPixmapRec* priv);
-int
-draw_item_pack(PixmapPtr pix, rdpPixmapRec* priv);
-int
-draw_item_add_img_region(rdpPixmapRec* priv, RegionPtr reg, int opcode,
- int type, int code);
-int
-draw_item_add_fill_region(rdpPixmapRec* priv, RegionPtr reg, int color,
- int opcode);
-int
-draw_item_add_line_region(rdpPixmapRec* priv, RegionPtr reg, int color,
- int opcode, int width, xSegment* segs, int nsegs,
- int is_segment);
-int
-draw_item_add_srcblt_region(rdpPixmapRec* priv, RegionPtr reg,
- int srcx, int srcy, int dstx, int dsty,
- int cx, int cy);
-int
-draw_item_add_text_region(rdpPixmapRec* priv, RegionPtr reg, int color,
- int opcode, struct rdp_text* rtext);
-
-PixmapPtr
-rdpCreatePixmap(ScreenPtr pScreen, int width, int height, int depth,
- unsigned usage_hint);
-Bool
-rdpDestroyPixmap(PixmapPtr pPixmap);
-int
-xrdp_is_os(PixmapPtr pix, rdpPixmapPtr priv);
-Bool
-rdpCreateWindow(WindowPtr pWindow);
-Bool
-rdpDestroyWindow(WindowPtr pWindow);
-Bool
-rdpPositionWindow(WindowPtr pWindow, int x, int y);
-Bool
-rdpRealizeWindow(WindowPtr pWindow);
-Bool
-rdpUnrealizeWindow(WindowPtr pWindow);
-Bool
-rdpChangeWindowAttributes(WindowPtr pWindow, unsigned long mask);
-void
-rdpWindowExposures(WindowPtr pWindow, RegionPtr pRegion, RegionPtr pBSRegion);
-
-Bool
-rdpCreateGC(GCPtr pGC);
-void
-rdpCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr pOldRegion);
-void
-rdpClearToBackground(WindowPtr pWin, int x, int y, int w, int h,
- Bool generateExposures);
-RegionPtr
-rdpRestoreAreas(WindowPtr pWin, RegionPtr prgnExposed);
-void
-rdpInstallColormap(ColormapPtr pmap);
-void
-rdpUninstallColormap(ColormapPtr pmap);
-int
-rdpListInstalledColormaps(ScreenPtr pScreen, Colormap* pmaps);
-void
-rdpStoreColors(ColormapPtr pmap, int ndef, xColorItem* pdefs);
-Bool
-rdpSaveScreen(ScreenPtr pScreen, int on);
-Bool
-rdpRealizeCursor(ScreenPtr pScreen, CursorPtr pCursor);
-Bool
-rdpUnrealizeCursor(ScreenPtr pScreen, CursorPtr pCursor);
-void
-rdpCursorLimits(ScreenPtr pScreen, CursorPtr pCursor,
- BoxPtr pHotBox, BoxPtr pTopLeftBox);
-void
-rdpConstrainCursor(ScreenPtr pScreen, BoxPtr pBox);
-Bool
-rdpSetCursorPosition(ScreenPtr pScreen, int x, int y, Bool generateEvent);
-Bool
-rdpDisplayCursor(ScreenPtr pScreen, CursorPtr pCursor);
-void
-rdpRecolorCursor(ScreenPtr pScreen, CursorPtr pCursor,
- Bool displayed);
-
-/* rdpglyph.c */
-/* look in rdpglyph.h */
-
-/* rdpComposite.c */
-int
-rdpCreatePicture(PicturePtr pPicture);
-void
-rdpDestroyPicture(PicturePtr pPicture);
-void
-rdpComposite(CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst,
- INT16 xSrc, INT16 ySrc, INT16 xMask, INT16 yMask, INT16 xDst,
- INT16 yDst, CARD16 width, CARD16 height);
-
-/* rdpinput.c */
-int
-rdpKeybdProc(DeviceIntPtr pDevice, int onoff);
-int
-rdpMouseProc(DeviceIntPtr pDevice, int onoff);
-Bool
-rdpCursorOffScreen(ScreenPtr* ppScreen, int* x, int* y);
-void
-rdpCrossScreen(ScreenPtr pScreen, Bool entering);
-void
-rdpPointerWarpCursor(DeviceIntPtr pDev, ScreenPtr pScr, int x, int y);
-void
-rdpPointerEnqueueEvent(DeviceIntPtr pDev, InternalEvent* event);
-void
-rdpPointerNewEventScreen(DeviceIntPtr pDev, ScreenPtr pScr, Bool fromDIX);
-Bool
-rdpSpriteRealizeCursor(DeviceIntPtr pDev, ScreenPtr pScr, CursorPtr pCurs);
-Bool
-rdpSpriteUnrealizeCursor(DeviceIntPtr pDev, ScreenPtr pScr, CursorPtr pCurs);
-void
-rdpSpriteSetCursor(DeviceIntPtr pDev, ScreenPtr pScr, CursorPtr pCurs,
- int x, int y);
-void
-rdpSpriteMoveCursor(DeviceIntPtr pDev, ScreenPtr pScr, int x, int y);
-Bool
-rdpSpriteDeviceCursorInitialize(DeviceIntPtr pDev, ScreenPtr pScr);
-void
-rdpSpriteDeviceCursorCleanup(DeviceIntPtr pDev, ScreenPtr pScr);
-void
-PtrAddEvent(int buttonMask, int x, int y);
-void
-KbdAddEvent(int down, int param1, int param2, int param3, int param4);
-void
-KbdSync(int param1);
-int
-rdpLoadLayout(struct xrdp_client_info *client_info);
-
-/* rdpup.c */
-int
-rdpup_add_os_bitmap(PixmapPtr pixmap, rdpPixmapPtr priv);
-int
-rdpup_remove_os_bitmap(int rdpindex);
-int
-rdpup_update_os_use(int rdpindex);
-void
-rdpup_get_screen_image_rect(struct image_data* id);
-void
-rdpup_get_pixmap_image_rect(PixmapPtr pPixmap, struct image_data* id);
-int
-rdpup_init(void);
-int
-rdpup_check(void);
-int
-rdpup_begin_update(void);
-int
-rdpup_end_update(void);
-int
-rdpup_fill_rect(short x, short y, int cx, int cy);
-int
-rdpup_screen_blt(short x, short y, int cx, int cy, short srcx, short srcy);
-int
-rdpup_set_clip(short x, short y, int cx, int cy);
-int
-rdpup_reset_clip(void);
-int
-rdpup_set_fgcolor(int fgcolor);
-int
-rdpup_set_bgcolor(int bgcolor);
-int
-rdpup_set_opcode(int opcode);
-int
-rdpup_paint_rect(short x, short y, int cx, int cy,
- char* bmpdata, int width, int height,
- short srcx, short srcy);
-int
-rdpup_set_pen(int style, int width);
-int
-rdpup_draw_line(short x1, short y1, short x2, short y2);
-void
-rdpup_send_area(struct image_data* id, int x, int y, int w, int h);
-int
-rdpup_set_cursor(short x, short y, char* cur_data, char* cur_mask);
-int
-rdpup_set_cursor_ex(short x, short y, char *cur_data, char *cur_mask, int bpp);
-int
-rdpup_create_os_surface(int rdpindex, int width, int height);
-int
-rdpup_create_os_surface_bpp(int rdpindex, int width, int height, int bpp);
-int
-rdpup_switch_os_surface(int rdpindex);
-int
-rdpup_delete_os_surface(int rdpindex);
-
-void
-rdpup_paint_rect_os(int x, int y, int cx, int cy,
- int rdpindex, int srcx, int srcy);
-void
-rdpup_set_hints(int hints, int mask);
-void
-rdpup_create_window(WindowPtr pWindow, rdpWindowRec* priv);
-void
-rdpup_delete_window(WindowPtr pWindow, rdpWindowRec* priv);
-int
-rdpup_check_dirty(PixmapPtr pDirtyPixmap, rdpPixmapRec* pDirtyPriv);
-int
-rdpup_check_alpha_dirty(PixmapPtr pDirtyPixmap, rdpPixmapRec* pDirtyPriv);
-int
-rdpup_check_dirty_screen(rdpPixmapRec* pDirtyPriv);
-int
-rdpup_add_char(int font, int character, short x, short y, int cx, int cy,
- char* bmpdata, int bmpdata_bytes);
-int
-rdpup_add_char_alpha(int font, int character, short x, short y, int cx, int cy,
- char* bmpdata, int bmpdata_bytes);
-int
-rdpup_draw_text(int font, int flags, int mixmode,
- short clip_left, short clip_top,
- short clip_right, short clip_bottom,
- short box_left, short box_top,
- short box_right, short box_bottom, short x, short y,
- char* data, int data_bytes);
-int
-rdpup_composite(short srcidx, int srcformat, short srcwidth, CARD8 srcrepeat,
- PictTransform* srctransform, CARD8 mskflags,
- short mskidx, int mskformat, short mskwidth, CARD8 mskrepeat,
- CARD8 op, short srcx, short srcy, short mskx, short msky,
- short dstx, short dsty, short width, short height,
- int dstformat);
-
-void
-rdpScheduleDeferredUpdate(void);
-
-int
-rdpXvInit(ScreenPtr pScreen);
-
-#if defined(X_BYTE_ORDER)
-# if X_BYTE_ORDER == X_LITTLE_ENDIAN
-# define L_ENDIAN
-# else
-# define B_ENDIAN
-# endif
-#else
-# error Unknown endianness in rdp.h
-#endif
-/* check if we need to align data */
-/* check if we need to align data */
-#if defined(__sparc__) || defined(__alpha__) || defined(__hppa__) || \
- defined(__AIX__) || defined(__PPC__) || defined(__mips__) || \
- defined(__ia64__) || defined(__ppc__) || defined(__arm__)
-#define NEED_ALIGN
-#endif
-
-/* parser state */
-struct stream
-{
- char* p;
- char* end;
- char* data;
- int size;
- /* offsets of various headers */
- char* iso_hdr;
- char* mcs_hdr;
- char* sec_hdr;
- char* rdp_hdr;
- char* channel_hdr;
- char* next_packet;
-};
-
-/******************************************************************************/
-#define s_push_layer(s, h, n) \
-{ \
- (s)->h = (s)->p; \
- (s)->p += (n); \
-}
-
-/******************************************************************************/
-#define s_pop_layer(s, h) \
-{ \
- (s)->p = (s)->h; \
-}
-
-/******************************************************************************/
-#if defined(B_ENDIAN) || defined(NEED_ALIGN)
-#define out_uint16_le(s, v) \
-{ \
- *((s)->p) = (unsigned char)((v) >> 0); \
- (s)->p++; \
- *((s)->p) = (unsigned char)((v) >> 8); \
- (s)->p++; \
-}
-#else
-#define out_uint16_le(s, v) \
-{ \
- *((unsigned short*)((s)->p)) = (unsigned short)(v); \
- (s)->p += 2; \
-}
-#endif
-
-/******************************************************************************/
-#define out_uint8(s, v) \
-{ \
- *((s)->p) = (unsigned char)((v) >> 0); \
- (s)->p++; \
-}
-
-/******************************************************************************/
-#define init_stream(s, v) \
-{ \
- if ((v) > (s)->size) \
- { \
- g_free((s)->data); \
- (s)->data = (char*)g_malloc((v), 0); \
- (s)->size = (v); \
- } \
- (s)->p = (s)->data; \
- (s)->end = (s)->data; \
- (s)->next_packet = 0; \
-}
-
-/******************************************************************************/
-#define out_uint8p(s, v, n) \
-{ \
- g_memcpy((s)->p, (v), (n)); \
- (s)->p += (n); \
-}
-
-/******************************************************************************/
-#define out_uint8a(s, v, n) \
-{ \
- out_uint8p((s), (v), (n)); \
-}
-
-/******************************************************************************/
-#define out_uint8s(s, n) do \
-{ \
- memset((s)->p, 0, (n)); \
- (s)->p += (n); \
-} while (0)
-
-/******************************************************************************/
-#if defined(B_ENDIAN) || defined(NEED_ALIGN)
-#define out_uint32_le(s, v) \
-{ \
- *((s)->p) = (unsigned char)((v) >> 0); \
- (s)->p++; \
- *((s)->p) = (unsigned char)((v) >> 8); \
- (s)->p++; \
- *((s)->p) = (unsigned char)((v) >> 16); \
- (s)->p++; \
- *((s)->p) = (unsigned char)((v) >> 24); \
- (s)->p++; \
-}
-#else
-#define out_uint32_le(s, v) \
-{ \
- *((unsigned int*)((s)->p)) = (v); \
- (s)->p += 4; \
-}
-#endif
-
-/******************************************************************************/
-#if defined(B_ENDIAN) || defined(NEED_ALIGN)
-#define in_uint32_le(s, v) \
-{ \
- (v) = (unsigned int) \
- ( \
- (*((unsigned char*)((s)->p + 0)) << 0) | \
- (*((unsigned char*)((s)->p + 1)) << 8) | \
- (*((unsigned char*)((s)->p + 2)) << 16) | \
- (*((unsigned char*)((s)->p + 3)) << 24) \
- ); \
- (s)->p += 4; \
-}
-#else
-#define in_uint32_le(s, v) \
-{ \
- (v) = *((unsigned int*)((s)->p)); \
- (s)->p += 4; \
-}
-#endif
-
-/******************************************************************************/
-#if defined(B_ENDIAN) || defined(NEED_ALIGN)
-#define in_uint16_le(s, v) \
-{ \
- (v) = (unsigned short) \
- ( \
- (*((unsigned char*)((s)->p + 0)) << 0) | \
- (*((unsigned char*)((s)->p + 1)) << 8) \
- ); \
- (s)->p += 2; \
-}
-#else
-#define in_uint16_le(s, v) \
-{ \
- (v) = *((unsigned short*)((s)->p)); \
- (s)->p += 2; \
-}
-#endif
-
-/******************************************************************************/
-#define s_mark_end(s) \
-{ \
- (s)->end = (s)->p; \
-}
-
-/******************************************************************************/
-#define make_stream(s) \
-{ \
- (s) = (struct stream*)g_malloc(sizeof(struct stream), 1); \
-}
-
-/******************************************************************************/
-#define free_stream(s) do \
-{ \
- if ((s) != 0) \
- { \
- g_free((s)->data); \
- } \
- g_free((s)); \
-} while (0)
diff --git a/xorg/X11R7.6/rdp/rdpComposite.c b/xorg/X11R7.6/rdp/rdpComposite.c
deleted file mode 100644
index 9376a533..00000000
--- a/xorg/X11R7.6/rdp/rdpComposite.c
+++ /dev/null
@@ -1,846 +0,0 @@
-/*
- Copyright 2012-2013 Jay Sorg
-
- 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.
-
- The above copyright notice and this permission notice shall be included in
- all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
- */
-
-#include "rdp.h"
-#include "rdpdraw.h"
-
-#define LDEBUG 0
-
-#define LOG_LEVEL 1
-#define LLOG(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; } } while (0)
-#define LLOGLN(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; ErrorF("\n"); } } while (0)
-
-extern rdpScreenInfoRec g_rdpScreen; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpGCIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpWindowIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpPixmapIndex; /* from rdpmain.c */
-extern int g_Bpp; /* from rdpmain.c */
-extern ScreenPtr g_pScreen; /* from rdpmain.c */
-extern Bool g_wrapPixmap; /* from rdpmain.c */
-extern int g_can_do_pix_to_pix; /* from rdpmain.c */
-extern int g_do_dirty_os; /* in rdpmain.c */
-extern int g_do_dirty_ons; /* in rdpmain.c */
-extern rdpPixmapRec g_screenPriv; /* in rdpmain.c */
-extern int g_do_glyph_cache; /* in rdpmain.c */
-extern int g_doing_font; /* in rdpmain.c */
-extern int g_do_composite; /* in rdpmain.c */
-
-extern GCOps g_rdpGCOps; /* from rdpdraw.c */
-
-extern int g_con_number; /* in rdpup.c */
-
-extern int g_crc_seed; /* in rdpmisc.c */
-extern int g_crc_table[]; /* in rdpmisc.c */
-
-/******************************************************************************/
-int
-rdpCreatePicture(PicturePtr pPicture)
-{
- PictureScreenPtr ps;
- int rv;
-
- LLOGLN(10, ("rdpCreatePicture:"));
- ps = GetPictureScreen(g_pScreen);
- ps->CreatePicture = g_rdpScreen.CreatePicture;
- rv = ps->CreatePicture(pPicture);
- ps->CreatePicture = rdpCreatePicture;
- return rv;
-}
-
-/******************************************************************************/
-void
-rdpDestroyPicture(PicturePtr pPicture)
-{
- PictureScreenPtr ps;
-
- LLOGLN(10, ("rdpDestroyPicture:"));
- ps = GetPictureScreen(g_pScreen);
- ps->DestroyPicture = g_rdpScreen.DestroyPicture;
- ps->DestroyPicture(pPicture);
- ps->DestroyPicture = rdpDestroyPicture;
-}
-
-/******************************************************************************/
-static int
-print_format(PictFormatShort format)
-{
- switch (format)
- {
- case PIXMAN_a2r10g10b10:
- LLOGLN(0, (" PIXMAN_x2r10g10b10"));
- break;
- case PIXMAN_x2r10g10b10:
- LLOGLN(0, (" PIXMAN_x2r10g10b10"));
- break;
- case PIXMAN_a2b10g10r10:
- LLOGLN(0, (" PIXMAN_a2b10g10r10"));
- break;
- case PIXMAN_x2b10g10r10:
- LLOGLN(0, (" PIXMAN_x2b10g10r10"));
- break;
-
- case PIXMAN_a8r8g8b8:
- LLOGLN(0, (" PIXMAN_a8r8g8b8"));
- break;
- case PIXMAN_x8r8g8b8:
- LLOGLN(0, (" PIXMAN_x8r8g8b8"));
- break;
- case PIXMAN_a8b8g8r8:
- LLOGLN(0, (" PIXMAN_a8b8g8r8"));
- break;
- case PIXMAN_x8b8g8r8:
- LLOGLN(0, (" PIXMAN_x8b8g8r8"));
- break;
- case PIXMAN_b8g8r8a8:
- LLOGLN(0, (" PIXMAN_b8g8r8a8"));
- break;
- case PIXMAN_b8g8r8x8:
- LLOGLN(0, (" PIXMAN_b8g8r8x8"));
- break;
-
- /* 24bpp formats */
- case PIXMAN_r8g8b8:
- LLOGLN(0, (" PIXMAN_r8g8b8"));
- break;
- case PIXMAN_b8g8r8:
- LLOGLN(0, (" PIXMAN_b8g8r8"));
- break;
-
- /* 16bpp formats */
- case PIXMAN_r5g6b5:
- LLOGLN(0, (" PIXMAN_r5g6b5"));
- break;
- case PIXMAN_b5g6r5:
- LLOGLN(0, (" PIXMAN_b5g6r5"));
- break;
-
- case PIXMAN_a1r5g5b5:
- LLOGLN(0, (" PIXMAN_a1r5g5b5"));
- break;
- case PIXMAN_x1r5g5b5:
- LLOGLN(0, (" PIXMAN_x1r5g5b5"));
- break;
- case PIXMAN_a1b5g5r5:
- LLOGLN(0, (" PIXMAN_a1b5g5r5"));
- break;
- case PIXMAN_x1b5g5r5:
- LLOGLN(0, (" PIXMAN_x1b5g5r5"));
- break;
- case PIXMAN_a4r4g4b4:
- LLOGLN(0, (" PIXMAN_a4r4g4b4"));
- break;
- case PIXMAN_x4r4g4b4:
- LLOGLN(0, (" PIXMAN_x4r4g4b4"));
- break;
- case PIXMAN_a4b4g4r4:
- LLOGLN(0, (" PIXMAN_a4b4g4r4"));
- break;
- case PIXMAN_x4b4g4r4:
- LLOGLN(0, (" PIXMAN_x4b4g4r4"));
- break;
-
- /* 8bpp formats */
- case PIXMAN_a8:
- LLOGLN(0, (" PIXMAN_a8"));
- break;
- case PIXMAN_r3g3b2:
- LLOGLN(0, (" PIXMAN_r3g3b2"));
- break;
- case PIXMAN_b2g3r3:
- LLOGLN(0, (" PIXMAN_b2g3r3"));
- break;
- case PIXMAN_a2r2g2b2:
- LLOGLN(0, (" PIXMAN_a2r2g2b2"));
- break;
- case PIXMAN_a2b2g2r2:
- LLOGLN(0, (" PIXMAN_a2b2g2r2"));
- break;
-
- case PIXMAN_c8:
- LLOGLN(0, (" PIXMAN_c8"));
- break;
- case PIXMAN_g8:
- LLOGLN(0, (" PIXMAN_g8"));
- break;
-
- case PIXMAN_x4a4:
- LLOGLN(0, (" PIXMAN_x4a4"));
- break;
-
- /* 4bpp formats */
- case PIXMAN_a4:
- LLOGLN(0, (" PIXMAN_a4"));
- break;
- case PIXMAN_r1g2b1:
- LLOGLN(0, (" PIXMAN_r1g2b1"));
- break;
- case PIXMAN_b1g2r1:
- LLOGLN(0, (" PIXMAN_b1g2r1"));
- break;
- case PIXMAN_a1r1g1b1:
- LLOGLN(0, (" PIXMAN_a1r1g1b1"));
- break;
- case PIXMAN_a1b1g1r1:
- LLOGLN(0, (" PIXMAN_a1b1g1r1"));
- break;
-
- case PIXMAN_c4:
- LLOGLN(0, (" PIXMAN_c4"));
- break;
- case PIXMAN_g4:
- LLOGLN(0, (" PIXMAN_g4"));
- break;
-
- /* 1bpp formats */
- case PIXMAN_a1:
- LLOGLN(0, (" PIXMAN_a1"));
- break;
- case PIXMAN_g1:
- LLOGLN(0, (" PIXMAN_g1"));
- break;
- }
- return 0;
-}
-
-/******************************************************************************/
-static int
-composite_print(CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst,
- INT16 xSrc, INT16 ySrc, INT16 xMask, INT16 yMask, INT16 xDst,
- INT16 yDst, CARD16 width, CARD16 height)
-{
- PixmapPtr pSrcPixmap;
- PixmapPtr pDstPixmap;
- rdpPixmapRec* pSrcPriv;
- rdpPixmapRec* pDstPriv;
-
- LLOGLN(0, ("composite_print: op %d xSrc %d ySrc %d xDst %d yDst %d "
- "width %d height %d",
- op, xSrc, ySrc, xDst, yDst, width, height));
-
- if (pSrc != 0)
- {
- LLOGLN(0, (" src depth %d width %d height %d repeat %d repeatType %d "
- "dither %d filter %d alphaMap %p componentAlpha %d", pSrc->pDrawable->depth,
- pSrc->pDrawable->width, pSrc->pDrawable->height,
- pSrc->repeat, pSrc->repeatType, pSrc->dither, pSrc->filter,
- pSrc->alphaMap, pSrc->componentAlpha));
- LLOGLN(0, (" transform %p", pSrc->transform));
- LLOGLN(0, (" detail format red %d red mask %d green %d green mask %d "
- "blue %d blue mask %d",
- pSrc->pFormat->direct.red, pSrc->pFormat->direct.redMask,
- pSrc->pFormat->direct.green, pSrc->pFormat->direct.greenMask,
- pSrc->pFormat->direct.blue, pSrc->pFormat->direct.blueMask));
- print_format(pSrc->format);
- if (pSrc->pDrawable->type == DRAWABLE_PIXMAP)
- {
- pSrcPixmap = (PixmapPtr)(pSrc->pDrawable);
- pSrcPriv = GETPIXPRIV(pSrcPixmap);
- LLOGLN(0, (" DRAWABLE_PIXMAP pSrcPriv %p status %d", pSrcPriv, pSrcPriv->status));
- }
- else if (pSrc->pDrawable->type == DRAWABLE_WINDOW)
- {
- LLOGLN(0, (" DRAWABLE_WINDOW"));
- }
- else
- {
- LLOGLN(0, (" OTHER"));
- }
- }
- if (pMask != 0)
- {
- LLOGLN(0, (" msk depth %d width %d height %d repeat %d repeatType %d",
- pMask->pDrawable->depth,
- pMask->pDrawable->width,
- pMask->pDrawable->height, pMask->repeat, pMask->repeatType));
- print_format(pMask->format);
- }
- if (pDst != 0)
- {
- LLOGLN(0, (" dst depth %d width %d height %d repeat %d repeatType %d "
- "dither %d filter %d alphaMap %p", pDst->pDrawable->depth,
- pDst->pDrawable->width, pDst->pDrawable->height,
- pDst->repeat, pDst->repeatType, pDst->dither, pDst->filter,
- pDst->alphaMap));
- LLOGLN(0, (" transform %p", pDst->transform));
- print_format(pDst->format);
- if (pDst->pDrawable->type == DRAWABLE_PIXMAP)
- {
- pDstPixmap = (PixmapPtr)(pDst->pDrawable);
- pDstPriv = GETPIXPRIV(pDstPixmap);
- LLOGLN(0, (" DRAWABLE_PIXMAP pDstPriv %p status %d", pDstPriv, pDstPriv->status));
- }
- else if (pDst->pDrawable->type == DRAWABLE_WINDOW)
- {
- LLOGLN(0, (" DRAWABLE_WINDOW"));
- }
- else
- {
- LLOGLN(0, (" OTHER"));
- }
- }
- return 0;
-}
-
-/******************************************************************************/
-static int
-src_alpha_needed(CARD8 op)
-{
- int rv;
-
- rv = 0;
- switch (op)
- {
- case 3: /* Over */
- case 6: /* InReverse */
- case 8: /* OutReverse */
- case 9: /* Atop */
- case 10: /* AtopReverse */
- case 11: /* Xor */
- case 13: /* Saturate */
- case 17: /* DisjointOver */
- case 18: /* DisjointOverReverse */
- case 19: /* DisjointIn */
- case 20: /* DisjointInReverse */
- case 21: /* DisjointOut */
- case 22: /* DisjointOutReverse */
- case 23: /* DisjointAtop */
- case 24: /* DisjointAtopReverse */
- case 25: /* DisjointXor */
- case 29: /* ConjointOver */
- case 30: /* ConjointOverReverse */
- case 31: /* ConjointIn */
- case 32: /* ConjointInReverse */
- case 33: /* ConjointOut */
- case 34: /* ConjointOutReverse */
- case 35: /* ConjointAtop */
- case 36: /* ConjointAtopReverse */
- case 37: /* ConjointXor */
- rv = 1;
- break;
- }
- return rv;
-}
-
-/******************************************************************************/
-static int
-dst_alpha_needed(CARD8 op)
-{
- int rv;
-
- rv = 0;
- switch (op)
- {
- case 4: /* OverReverse */
- case 5: /* In */
- case 7: /* Out */
- case 9: /* Atop */
- case 10: /* AtopReverse */
- case 11: /* Xor */
- case 13: /* Saturate */
- case 17: /* DisjointOver */
- case 18: /* DisjointOverReverse */
- case 19: /* DisjointIn */
- case 20: /* DisjointInReverse */
- case 21: /* DisjointOut */
- case 22: /* DisjointOutReverse */
- case 23: /* DisjointAtop */
- case 24: /* DisjointAtopReverse */
- case 25: /* DisjointXor */
- case 29: /* ConjointOver */
- case 30: /* ConjointOverReverse */
- case 31: /* ConjointIn */
- case 32: /* ConjointInReverse */
- case 33: /* ConjointOut */
- case 34: /* ConjointOutReverse */
- case 35: /* ConjointAtop */
- case 36: /* ConjointAtopReverse */
- case 37: /* ConjointXor */
- rv = 1;
- break;
- }
- return rv;
-}
-
-struct msk_info
-{
- int flags;
- int idx;
- int format;
- int width;
- int repeat;
-};
-
-static char g_com_fail_strings[][128] =
-{
- "OK",
- "src not remotable",
- "dst not remotable",
- "msk not remotable"
-};
-
-/******************************************************************************/
-/* returns boolean */
-static int
-check_drawables(CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst,
- INT16 xSrc, INT16 ySrc, INT16 xMask, INT16 yMask, INT16 xDst,
- INT16 yDst, CARD16 width, CARD16 height, struct msk_info* msk)
-{
- int rv;
- int fail_reason;
- PixmapPtr pSrcPixmap;
- PixmapPtr pDstPixmap;
- PixmapPtr pMskPixmap;
- rdpPixmapRec* pSrcPriv;
- rdpPixmapRec* pDstPriv;
- rdpPixmapRec* pMskPriv;
-
- fail_reason = 0;
- pSrcPixmap = 0;
- pDstPixmap = 0;
- pMskPixmap = 0;
- pSrcPriv = 0;
- pDstPriv = 0;
- pMskPriv = 0;
- rv = 0;
- if (pSrc != 0)
- {
- if (pSrc->pDrawable != 0)
- {
- if (pSrc->pDrawable->type == DRAWABLE_PIXMAP)
- {
- pSrcPixmap = (PixmapPtr)(pSrc->pDrawable);
- pSrcPriv = GETPIXPRIV(pSrcPixmap);
- if (xrdp_is_os(pSrcPixmap, pSrcPriv))
- {
- if (pDst != 0)
- {
- if (pDst->pDrawable != 0)
- {
- if (pDst->pDrawable->type == DRAWABLE_PIXMAP)
- {
- pDstPixmap = (PixmapPtr)(pDst->pDrawable);
- pDstPriv = GETPIXPRIV(pDstPixmap);
- if (xrdp_is_os(pDstPixmap, pDstPriv))
- {
- rv = 1;
- }
- else
- {
- fail_reason = 2;
- }
- }
- }
- }
- }
- else
- {
- fail_reason = 1;
- }
- }
- }
- }
- if (rv)
- {
- if (pMask != 0)
- {
-#if 1
- rv = 0;
- if (pMask->pDrawable != 0)
- {
- if (pMask->pDrawable->type == DRAWABLE_PIXMAP)
- {
- pMskPixmap = (PixmapPtr)(pMask->pDrawable);
- pMskPriv = GETPIXPRIV(pMskPixmap);
- if (xrdp_is_os(pMskPixmap, pMskPriv))
- {
- rv = 1;
- msk->flags = 1;
- msk->idx = pMskPriv->rdpindex;
- msk->format = pMask->format;
- msk->width = pMask->pDrawable->width;
- msk->repeat = pMask->repeatType;
- }
- else
- {
- fail_reason = 3;
- }
- }
- }
-#endif
- }
- }
- if (rv == 0)
- {
- LLOGLN(10, ("check_drawables: can not remote [%s]", g_com_fail_strings[fail_reason]));
-#if 0
- composite_print(op, pSrc, pMask, pDst, xSrc, ySrc, xMask, yMask,
- xDst, yDst, width, height);
-#endif
- }
- else
- {
- LLOGLN(10, ("check_drawables: can remote [%s]", g_com_fail_strings[fail_reason]));
-#if 0
- composite_print(op, pSrc, pMask, pDst, xSrc, ySrc, xMask, yMask,
- xDst, yDst, width, height);
-#endif
- }
- return rv;
-}
-
-/******************************************************************************/
-static int
-rdpRemoteComposite(CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst,
- INT16 xSrc, INT16 ySrc, INT16 xMask, INT16 yMask, INT16 xDst,
- INT16 yDst, CARD16 width, CARD16 height)
-{
- int ok_to_remote;
- PixmapPtr pSrcPixmap;
- PixmapPtr pMskPixmap;
- PixmapPtr pDstPixmap;
- rdpPixmapRec* pSrcPriv;
- rdpPixmapRec* pMskPriv;
- rdpPixmapRec* pDstPriv;
- BoxRec box;
- RegionRec reg1;
- RegionRec reg2;
- DrawablePtr p;
- int j;
- int num_clips;
- struct msk_info msk;
-
- LLOGLN(10, ("rdpRemoteComposite:"));
-
- memset(&msk, 0, sizeof(msk));
- ok_to_remote = check_drawables(op, pSrc, pMask, pDst, xSrc, ySrc,
- xMask, yMask, xDst, yDst, width, height,
- &msk);
- if (!ok_to_remote)
- {
- return 1;
- }
-
- ValidatePicture(pSrc);
- pSrcPixmap = (PixmapPtr)(pSrc->pDrawable);
- pSrcPriv = GETPIXPRIV(pSrcPixmap);
- rdpup_check_dirty(pSrcPixmap, pSrcPriv);
- if (PIXMAN_FORMAT_A(pSrc->format) > 0)
- {
- if (src_alpha_needed(op))
- {
- rdpup_check_alpha_dirty(pSrcPixmap, pSrcPriv);
- }
- }
-
- ValidatePicture(pDst);
- pDstPixmap = (PixmapPtr)(pDst->pDrawable);
- pDstPriv = GETPIXPRIV(pDstPixmap);
- rdpup_check_dirty(pDstPixmap, pDstPriv);
-
- if (PIXMAN_FORMAT_A(pDst->format) > 0)
- {
- if (dst_alpha_needed(op))
- {
- rdpup_check_alpha_dirty(pDstPixmap, pDstPriv);
- }
- }
-
- if (pMask != 0)
- {
- ValidatePicture(pMask);
- pMskPixmap = (PixmapPtr)(pMask->pDrawable);
- pMskPriv = GETPIXPRIV(pMskPixmap);
- rdpup_check_dirty(pMskPixmap, pMskPriv);
- if (PIXMAN_FORMAT_A(msk.format) > 0)
- {
- rdpup_check_alpha_dirty(pMskPixmap, pMskPriv);
- }
- }
-
- p = pDst->pDrawable;
- rdpup_switch_os_surface(pDstPriv->rdpindex);
- if (pDst->pCompositeClip != 0)
- {
- box.x1 = xDst;
- box.y1 = yDst;
- box.x2 = box.x1 + width;
- box.y2 = box.y1 + height;
- RegionInit(®1, &box, 0);
- RegionInit(®2, NullBox, 0);
- RegionCopy(®2, pDst->pCompositeClip);
- RegionIntersect(®1, ®1, ®2);
- RegionTranslate(®1, p->x, p->y);
- num_clips = REGION_NUM_RECTS(®1);
- if (num_clips > 0)
- {
- LLOGLN(10, ("num_clips %d", num_clips));
- rdpup_begin_update();
- for (j = num_clips - 1; j >= 0; j--)
- {
- box = REGION_RECTS(®1)[j];
- rdpup_set_clip(box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
- LLOGLN(10, ("pSrc->format 0x%x 0x%x 0x%x %d %d %d %d %d %d %d %d",
- pSrc->format, msk.format, pDst->format, xSrc, ySrc,
- xMask, yMask, xDst, yDst, width, height));
- rdpup_composite(pSrcPriv->rdpindex, pSrc->format,
- pSrc->pDrawable->width, pSrc->repeatType,
- pSrc->transform, msk.flags, msk.idx, msk.format,
- msk.width, msk.repeat, op, xSrc, ySrc,
- xMask, yMask, xDst, yDst, width, height, pDst->format);
- }
- rdpup_reset_clip();
- rdpup_end_update();
- }
- RegionUninit(®1);
- RegionUninit(®2);
- }
- else
- {
- rdpup_begin_update();
- rdpup_composite(pSrcPriv->rdpindex, pSrc->format,
- pSrc->pDrawable->width, pSrc->repeatType,
- pSrc->transform, msk.flags, msk.idx, msk.format,
- msk.width, msk.repeat, op, xSrc, ySrc,
- xMask, yMask, xDst, yDst, width, height, pDst->format);
- rdpup_end_update();
- }
- rdpup_switch_os_surface(-1);
-
- return 0;
-}
-
-/******************************************************************************/
-static void
-rdpCompositeOrg(CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst,
- INT16 xSrc, INT16 ySrc, INT16 xMask, INT16 yMask, INT16 xDst,
- INT16 yDst, CARD16 width, CARD16 height)
-{
- PictureScreenPtr ps;
-
- ps = GetPictureScreen(g_pScreen);
- ps->Composite = g_rdpScreen.Composite;
- ps->Composite(op, pSrc, pMask, pDst, xSrc, ySrc,
- xMask, yMask, xDst, yDst, width, height);
- ps->Composite = rdpComposite;
-}
-
-/******************************************************************************/
-/* it looks like all the antialias draws go through here
- op is one of the following
- #define PictOpMinimum 0
- #define PictOpClear 0
- #define PictOpSrc 1
- #define PictOpDst 2
- #define PictOpOver 3
- #define PictOpOverReverse 4
- #define PictOpIn 5
- #define PictOpInReverse 6
- #define PictOpOut 7
- #define PictOpOutReverse 8
- #define PictOpAtop 9
- #define PictOpAtopReverse 10
- #define PictOpXor 11
- #define PictOpAdd 12
- #define PictOpSaturate 13
- #define PictOpMaximum 13
-
- see for porter duff
- http://www.svgopen.org/2005/papers/abstractsvgopen/
-
- */
-void
-rdpComposite(CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst,
- INT16 xSrc, INT16 ySrc, INT16 xMask, INT16 yMask, INT16 xDst,
- INT16 yDst, CARD16 width, CARD16 height)
-{
- BoxRec box;
- RegionRec reg1;
- RegionRec reg2;
- DrawablePtr p;
- int dirty_type;
- int j;
- int num_clips;
- int post_process;
- int reset_surface;
- int got_id;
- WindowPtr pDstWnd;
- PixmapPtr pDstPixmap;
- rdpPixmapRec* pDstPriv;
- rdpPixmapRec* pDirtyPriv;
- struct image_data id;
-
- LLOGLN(10, ("rdpComposite:"));
-
- if (g_doing_font == 2)
- {
- rdpCompositeOrg(op, pSrc, pMask, pDst, xSrc, ySrc,
- xMask, yMask, xDst, yDst, width, height);
-
- return;
- }
-
-#if 0
- if (g_do_glyph_cache && g_do_alpha_glyphs)
- {
- if (pSrc->pDrawable->width == 1 &&
- pSrc->pDrawable->height == 1)
- {
- if (pMask != 0)
- {
- /* TODO: here we can try to send it as a glyph */
- }
- }
- }
-#endif
-
- /* try to remote the composite call */
- if (g_do_composite &&
- rdpRemoteComposite(op, pSrc, pMask, pDst, xSrc, ySrc, xMask, yMask,
- xDst, yDst, width, height) == 0)
- {
- rdpCompositeOrg(op, pSrc, pMask, pDst, xSrc, ySrc,
- xMask, yMask, xDst, yDst, width, height);
- return;
- }
-
- rdpCompositeOrg(op, pSrc, pMask, pDst, xSrc, ySrc,
- xMask, yMask, xDst, yDst, width, height);
-
- LLOGLN(10, ("rdpComposite: op %d %p %p %p w %d h %d", op, pSrc, pMask, pDst, width, height));
-
- p = pDst->pDrawable;
-
- pDstPriv = 0;
- dirty_type = 0;
- pDirtyPriv = 0;
- post_process = 0;
- reset_surface = 0;
- got_id = 0;
- if (p->type == DRAWABLE_PIXMAP)
- {
- pDstPixmap = (PixmapPtr)p;
- pDstPriv = GETPIXPRIV(pDstPixmap);
- if (XRDP_IS_OS(pDstPriv))
- {
- post_process = 1;
- if (g_do_dirty_os)
- {
- LLOGLN(10, ("rdpComposite: getting dirty"));
- pDstPriv->is_dirty = 1;
- dirty_type = g_doing_font ? RDI_IMGLL : RDI_IMGLY;
- pDirtyPriv = pDstPriv;
- }
- else
- {
- rdpup_switch_os_surface(pDstPriv->rdpindex);
- reset_surface = 1;
- rdpup_get_pixmap_image_rect(pDstPixmap, &id);
- got_id = 1;
- LLOGLN(10, ("rdpComposite: offscreen"));
- }
- }
- }
- else
- {
- if (p->type == DRAWABLE_WINDOW)
- {
- pDstWnd = (WindowPtr)p;
- if (pDstWnd->viewable)
- {
- post_process = 1;
- if (g_do_dirty_ons)
- {
- LLOGLN(10, ("rdpComposite: getting dirty"));
- g_screenPriv.is_dirty = 1;
- pDirtyPriv = &g_screenPriv;
- dirty_type = g_doing_font ? RDI_IMGLL : RDI_IMGLY;
- }
- else
- {
- rdpup_get_screen_image_rect(&id);
- got_id = 1;
- }
- }
- }
- }
-
- if (!post_process)
- {
- return;
- }
-
- if (pDst->pCompositeClip != 0)
- {
- box.x1 = p->x + xDst;
- box.y1 = p->y + yDst;
- box.x2 = box.x1 + width;
- box.y2 = box.y1 + height;
- RegionInit(®1, &box, 0);
- RegionInit(®2, NullBox, 0);
- RegionCopy(®2, pDst->pCompositeClip);
- RegionIntersect(®1, ®1, ®2);
- if (dirty_type != 0)
- {
- draw_item_add_img_region(pDirtyPriv, ®1, GXcopy, dirty_type, TAG_COMPOSITE);
- }
- else if (got_id)
- {
- num_clips = REGION_NUM_RECTS(®1);
- if (num_clips > 0)
- {
- rdpup_begin_update();
- for (j = num_clips - 1; j >= 0; j--)
- {
- box = REGION_RECTS(®1)[j];
- rdpup_send_area(&id, box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
- }
- rdpup_end_update();
- }
- }
- RegionUninit(®1);
- RegionUninit(®2);
- }
- else
- {
- box.x1 = p->x + xDst;
- box.y1 = p->y + yDst;
- box.x2 = box.x1 + width;
- box.y2 = box.y1 + height;
- if (dirty_type != 0)
- {
- RegionInit(®1, &box, 0);
- draw_item_add_img_region(pDirtyPriv, ®1, GXcopy, dirty_type, TAG_COMPOSITE);
- RegionUninit(®1);
- }
- else if (got_id)
- {
- rdpup_begin_update();
- rdpup_send_area(&id, box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
- rdpup_end_update();
- }
- }
- if (reset_surface)
- {
- rdpup_switch_os_surface(-1);
- }
-}
diff --git a/xorg/X11R7.6/rdp/rdpCopyArea.c b/xorg/X11R7.6/rdp/rdpCopyArea.c
deleted file mode 100644
index 4718a89c..00000000
--- a/xorg/X11R7.6/rdp/rdpCopyArea.c
+++ /dev/null
@@ -1,630 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#include "rdp.h"
-#include "rdpdraw.h"
-
-#define LDEBUG 0
-
-#define LOG_LEVEL 1
-#define LLOG(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; } } while (0)
-#define LLOGLN(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; ErrorF("\n"); } } while (0)
-
-extern rdpScreenInfoRec g_rdpScreen; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpGCIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpWindowIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpPixmapIndex; /* from rdpmain.c */
-extern int g_Bpp; /* from rdpmain.c */
-extern ScreenPtr g_pScreen; /* from rdpmain.c */
-extern Bool g_wrapPixmap; /* from rdpmain.c */
-extern int g_can_do_pix_to_pix; /* from rdpmain.c */
-extern int g_do_dirty_os; /* in rdpmain.c */
-extern int g_do_dirty_ons; /* in rdpmain.c */
-extern rdpPixmapRec g_screenPriv; /* in rdpmain.c */
-
-extern GCOps g_rdpGCOps; /* from rdpdraw.c */
-
-extern int g_con_number; /* in rdpup.c */
-
-/******************************************************************************/
-static RegionPtr
-rdpCopyAreaOrg(DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC,
- int srcx, int srcy, int w, int h, int dstx, int dsty)
-{
- rdpGCPtr priv;
- GCFuncs *oldFuncs;
- RegionPtr rv;
-
- GC_OP_PROLOGUE(pGC);
- rv = pGC->ops->CopyArea(pSrc, pDst, pGC, srcx, srcy, w, h, dstx, dsty);
- GC_OP_EPILOGUE(pGC);
- return rv;
-}
-
-/******************************************************************************/
-static RegionPtr
-rdpCopyAreaWndToWnd(WindowPtr pSrcWnd, WindowPtr pDstWnd, GCPtr pGC,
- int srcx, int srcy, int w, int h,
- int dstx, int dsty)
-{
- int cd;
- int lsrcx;
- int lsrcy;
- int ldstx;
- int ldsty;
- int num_clips;
- int dx;
- int dy;
- int j;
- BoxRec box;
- RegionPtr rv;
- RegionRec clip_reg;
-
- LLOGLN(10, ("rdpCopyAreaWndToWnd:"));
- RegionInit(&clip_reg, NullBox, 0);
- cd = rdp_get_clip(&clip_reg, &(pDstWnd->drawable), pGC);
- lsrcx = pSrcWnd->drawable.x + srcx;
- lsrcy = pSrcWnd->drawable.y + srcy;
- ldstx = pDstWnd->drawable.x + dstx;
- ldsty = pDstWnd->drawable.y + dsty;
-
- if (cd == 1)
- {
- rdpup_begin_update();
- rdpup_screen_blt(ldstx, ldsty, w, h, lsrcx, lsrcy);
- rdpup_end_update();
- }
- else if (cd == 2)
- {
- num_clips = REGION_NUM_RECTS(&clip_reg);
-
- if (num_clips > 0)
- {
- rdpup_begin_update();
- dx = ldstx - lsrcx;
- dy = ldsty - lsrcy;
-
- if ((dy < 0) || ((dy == 0) && (dx < 0)))
- {
- for (j = 0; j < num_clips; j++)
- {
- box = REGION_RECTS(&clip_reg)[j];
- LLOGLN(10, (" index %d x1 %d y1 %d x2 %d y2 %d", j,
- box.x1, box.y1, box.x2, box.y2));
- rdpup_set_clip(box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
- rdpup_screen_blt(ldstx, ldsty, w, h, lsrcx, lsrcy);
- }
- }
- else
- {
- for (j = num_clips - 1; j >= 0; j--)
- {
- box = REGION_RECTS(&clip_reg)[j];
- LLOGLN(10, (" index %d x1 %d y1 %d x2 %d y2 %d", j,
- box.x1, box.y1, box.x2, box.y2));
- rdpup_set_clip(box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
- rdpup_screen_blt(ldstx, ldsty, w, h, lsrcx, lsrcy);
- }
- }
-
- rdpup_reset_clip();
- rdpup_end_update();
- }
- }
-
- RegionUninit(&clip_reg);
- rv = rdpCopyAreaOrg(&(pSrcWnd->drawable), &(pDstWnd->drawable),
- pGC, srcx, srcy, w, h, dstx, dsty);
- return rv;
-}
-
-/******************************************************************************/
-static RegionPtr
-rdpCopyAreaWndToPixmap(WindowPtr pSrcWnd,
- PixmapPtr pDstPixmap, rdpPixmapRec *pDstPriv,
- GCPtr pGC, int srcx, int srcy, int w, int h,
- int dstx, int dsty)
-{
- int cd;
- int lsrcx;
- int lsrcy;
- int ldstx;
- int ldsty;
- int num_clips;
- int j;
- BoxRec box;
- RegionPtr rv;
- RegionRec clip_reg;
-
- LLOGLN(10, ("rdpCopyAreaWndToPixmap:"));
- RegionInit(&clip_reg, NullBox, 0);
- cd = rdp_get_clip(&clip_reg, &(pDstPixmap->drawable), pGC);
- lsrcx = pSrcWnd->drawable.x + srcx;
- lsrcy = pSrcWnd->drawable.y + srcy;
- ldstx = pDstPixmap->drawable.x + dstx;
- ldsty = pDstPixmap->drawable.y + dsty;
-
- if (cd == 1)
- {
- rdpup_switch_os_surface(pDstPriv->rdpindex);
- rdpup_begin_update();
- rdpup_screen_blt(ldstx, ldsty, w, h, lsrcx, lsrcy);
- rdpup_end_update();
- rdpup_switch_os_surface(-1);
- }
- else if (cd == 2)
- {
- num_clips = REGION_NUM_RECTS(&clip_reg);
-
- if (num_clips > 0)
- {
- rdpup_switch_os_surface(pDstPriv->rdpindex);
- rdpup_begin_update();
-
- for (j = 0; j < num_clips; j++)
- {
- box = REGION_RECTS(&clip_reg)[j];
- rdpup_set_clip(box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
- rdpup_screen_blt(ldstx, ldsty, w, h, lsrcx, lsrcy);
- }
-
- rdpup_reset_clip();
- rdpup_end_update();
- rdpup_switch_os_surface(-1);
- }
- }
-
- RegionUninit(&clip_reg);
- rv = rdpCopyAreaOrg(&(pSrcWnd->drawable), &(pDstPixmap->drawable),
- pGC, srcx, srcy, w, h, dstx, dsty);
- return rv;
-}
-
-/******************************************************************************/
-/* draw from an off screen pixmap to a visible window */
-static RegionPtr
-rdpCopyAreaPixmapToWnd(PixmapPtr pSrcPixmap, rdpPixmapRec *pSrcPriv,
- WindowPtr pDstWnd, GCPtr pGC,
- int srcx, int srcy, int w, int h,
- int dstx, int dsty)
-{
- int lsrcx;
- int lsrcy;
- int ldstx;
- int ldsty;
- int cd;
- int j;
- int num_clips;
- RegionPtr rv;
- RegionRec clip_reg;
- BoxRec box;
-
- LLOGLN(10, ("rdpCopyAreaPixmapToWnd:"));
- RegionInit(&clip_reg, NullBox, 0);
- cd = rdp_get_clip(&clip_reg, &(pDstWnd->drawable), pGC);
- ldstx = pDstWnd->drawable.x + dstx;
- ldsty = pDstWnd->drawable.y + dsty;
- lsrcx = pSrcPixmap->drawable.x + srcx;
- lsrcy = pSrcPixmap->drawable.y + srcy;
-
- if (cd == 1)
- {
- rdpup_begin_update();
- rdpup_paint_rect_os(ldstx, ldsty, w, h, pSrcPriv->rdpindex, lsrcx, lsrcy);
- rdpup_end_update();
- }
- else if (cd == 2)
- {
- num_clips = REGION_NUM_RECTS(&clip_reg);
-
- if (num_clips > 0)
- {
- rdpup_begin_update();
- LLOGLN(10, ("rdpCopyAreaPixmapToWnd: num_clips %d", num_clips));
-
- for (j = 0; j < num_clips; j++)
- {
- box = REGION_RECTS(&clip_reg)[j];
- LLOGLN(10, ("rdpCopyAreaPixmapToWnd: %d %d %d %d", box.x1, box.y1, box.x2, box.y2));
- rdpup_set_clip(box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
- LLOGLN(10, ("rdpCopyAreaPixmapToWnd: %d %d", w, h));
- rdpup_paint_rect_os(ldstx, ldsty, w, h, pSrcPriv->rdpindex, lsrcx, lsrcy);
- }
-
- rdpup_reset_clip();
- rdpup_end_update();
- }
- }
-
- RegionUninit(&clip_reg);
- rv = rdpCopyAreaOrg(&(pSrcPixmap->drawable), &(pDstWnd->drawable),
- pGC, srcx, srcy, w, h, dstx, dsty);
- return rv;
-}
-
-/******************************************************************************/
-/* draw from an off screen pixmap to an off screen pixmap */
-static RegionPtr
-rdpCopyAreaPixmapToPixmap(PixmapPtr pSrcPixmap, rdpPixmapRec *pSrcPriv,
- PixmapPtr pDstPixmap, rdpPixmapRec *pDstPriv,
- GCPtr pGC, int srcx, int srcy, int w, int h,
- int dstx, int dsty)
-{
- int lsrcx;
- int lsrcy;
- int ldstx;
- int ldsty;
- int cd;
- int j;
- int num_clips;
- int dx;
- int dy;
- RegionPtr rv;
- RegionRec clip_reg;
- BoxRec box;
-
- LLOGLN(10, ("rdpCopyAreaPixmapToPixmap:"));
- RegionInit(&clip_reg, NullBox, 0);
- cd = rdp_get_clip(&clip_reg, &(pDstPixmap->drawable), pGC);
- LLOGLN(10, ("rdpCopyAreaPixmapToPixmap: cd %d", cd));
- ldstx = pDstPixmap->drawable.x + dstx;
- ldsty = pDstPixmap->drawable.y + dsty;
- lsrcx = pSrcPixmap->drawable.x + srcx;
- lsrcy = pSrcPixmap->drawable.y + srcy;
-
- if (cd == 1)
- {
- rdpup_switch_os_surface(pDstPriv->rdpindex);
- rdpup_begin_update();
- rdpup_paint_rect_os(ldstx, ldsty, w, h, pSrcPriv->rdpindex, lsrcx, lsrcy);
- LLOGLN(10, ("%d %d %d %d %d %d", ldstx, ldsty, w, h, lsrcx, lsrcy));
- rdpup_end_update();
- rdpup_switch_os_surface(-1);
- }
- else if (cd == 2)
- {
- num_clips = REGION_NUM_RECTS(&clip_reg);
-
- if (num_clips > 0)
- {
- rdpup_switch_os_surface(pDstPriv->rdpindex);
- rdpup_begin_update();
- dx = ldstx - lsrcx;
- dy = ldsty - lsrcy;
-
- LLOGLN(10, ("rdpCopyAreaPixmapToPixmap: num_clips %d", num_clips));
-
- if ((dy < 0) || ((dy == 0) && (dx < 0)))
- {
- for (j = 0; j < num_clips; j++)
- {
- box = REGION_RECTS(&clip_reg)[j];
- rdpup_set_clip(box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
- rdpup_paint_rect_os(ldstx, ldsty, w, h, pSrcPriv->rdpindex, lsrcx, lsrcy);
- LLOGLN(10, ("%d %d %d %d %d %d", ldstx, ldsty, w, h, lsrcx, lsrcy));
- }
- }
- else
- {
- for (j = num_clips - 1; j >= 0; j--)
- {
- box = REGION_RECTS(&clip_reg)[j];
- rdpup_set_clip(box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
- rdpup_paint_rect_os(ldstx, ldsty, w, h, pSrcPriv->rdpindex, lsrcx, lsrcy);
- LLOGLN(10, ("%d %d %d %d %d %d", ldstx, ldsty, w, h, lsrcx, lsrcy));
- }
- }
-
- rdpup_reset_clip();
- rdpup_end_update();
- rdpup_switch_os_surface(-1);
- }
- }
-
- RegionUninit(&clip_reg);
- rv = rdpCopyAreaOrg(&(pSrcPixmap->drawable), &(pDstPixmap->drawable),
- pGC, srcx, srcy, w, h, dstx, dsty);
- return rv;
-}
-
-/******************************************************************************/
-RegionPtr
-rdpCopyArea(DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC,
- int srcx, int srcy, int w, int h, int dstx, int dsty)
-{
- RegionPtr rv;
- RegionRec clip_reg;
- RegionRec box_reg;
- RegionRec reg1;
- int num_clips;
- int cd;
- int j;
- int can_do_screen_blt;
- int got_id;
- int dirty_type;
- int post_process;
- int reset_surface;
- struct image_data id;
- BoxRec box;
- BoxPtr pbox;
- PixmapPtr pSrcPixmap;
- PixmapPtr pDstPixmap;
- rdpPixmapRec *pSrcPriv;
- rdpPixmapRec *pDstPriv;
- rdpPixmapRec *pDirtyPriv;
- WindowPtr pDstWnd;
- WindowPtr pSrcWnd;
-
- LLOGLN(10, ("rdpCopyArea: x %d y %d w %d h %d", dstx, dsty, w, h));
-
- if (pSrc->type == DRAWABLE_WINDOW)
- {
- pSrcWnd = (WindowPtr)pSrc;
-
- if (pSrcWnd->viewable)
- {
- rdpup_check_dirty_screen(&g_screenPriv);
-
- if (pDst->type == DRAWABLE_WINDOW)
- {
- pDstWnd = (WindowPtr)pDst;
-
- if (pDstWnd->viewable)
- {
- can_do_screen_blt = pGC->alu == GXcopy;
-
- if (can_do_screen_blt)
- {
- return rdpCopyAreaWndToWnd(pSrcWnd, pDstWnd, pGC,
- srcx, srcy, w, h, dstx, dsty);
- }
- }
- }
- else if (pDst->type == DRAWABLE_PIXMAP)
- {
- pDstPixmap = (PixmapPtr)pDst;
- pDstPriv = GETPIXPRIV(pDstPixmap);
-
- if (xrdp_is_os(pDstPixmap, pDstPriv))
- {
- can_do_screen_blt = pGC->alu == GXcopy;
-
- if (can_do_screen_blt)
- {
- rdpup_check_dirty(pDstPixmap, pDstPriv);
- return rdpCopyAreaWndToPixmap(pSrcWnd, pDstPixmap, pDstPriv, pGC,
- srcx, srcy, w, h, dstx, dsty);
- }
- }
- else
- {
- LLOGLN(10, ("rdpCopyArea: 1"));
- }
- }
- }
- }
-
- if (pSrc->type == DRAWABLE_PIXMAP)
- {
- pSrcPixmap = (PixmapPtr)pSrc;
- pSrcPriv = GETPIXPRIV(pSrcPixmap);
-
- LLOGLN(10, ("rdpCopyArea: 3 %d %d", pSrcPixmap->usage_hint, pSrcPriv->is_scratch));
-
- if (xrdp_is_os(pSrcPixmap, pSrcPriv))
- {
- if (pDst->type == DRAWABLE_WINDOW)
- {
- pDstWnd = (WindowPtr)pDst;
-
- if (pDstWnd->viewable)
- {
- rdpup_check_dirty_screen(&g_screenPriv);
- rdpup_check_dirty(pSrcPixmap, pSrcPriv);
- return rdpCopyAreaPixmapToWnd(pSrcPixmap, pSrcPriv, pDstWnd, pGC,
- srcx, srcy, w, h, dstx, dsty);
- }
- }
- else if (pDst->type == DRAWABLE_PIXMAP)
- {
- pDstPixmap = (PixmapPtr)pDst;
- pDstPriv = GETPIXPRIV(pDstPixmap);
-
- if (xrdp_is_os(pDstPixmap, pDstPriv))
- {
- if (g_can_do_pix_to_pix)
- {
- rdpup_check_dirty(pSrcPixmap, pSrcPriv);
- rdpup_check_dirty(pDstPixmap, pDstPriv);
- return rdpCopyAreaPixmapToPixmap(pSrcPixmap, pSrcPriv,
- pDstPixmap, pDstPriv,
- pGC, srcx, srcy, w, h,
- dstx, dsty);
- }
- }
- else
- {
- LLOGLN(10, ("rdpCopyArea: 4"));
- }
- }
- }
- else
- {
- LLOGLN(10, ("rdpCopyArea: 2 %d %d", pSrcPixmap->usage_hint, pSrcPriv->is_scratch));
- }
- }
-
- LLOGLN(10, ("rdpCopyArea: fallback"));
-
- /* do original call */
- rv = rdpCopyAreaOrg(pSrc, pDst, pGC, srcx, srcy, w, h, dstx, dsty);
-
- dirty_type = 0;
- pDirtyPriv = 0;
- post_process = 0;
- reset_surface = 0;
- got_id = 0;
-
- if (pDst->type == DRAWABLE_PIXMAP)
- {
- pDstPixmap = (PixmapPtr)pDst;
- pDstPriv = GETPIXPRIV(pDstPixmap);
-
- if (xrdp_is_os(pDstPixmap, pDstPriv))
- {
- post_process = 1;
-
- if (g_do_dirty_os)
- {
- LLOGLN(10, ("rdpCopyArea: getting dirty"));
- pDstPriv->is_dirty = 1;
- pDirtyPriv = pDstPriv;
- dirty_type = RDI_IMGLY;
- }
- else
- {
- rdpup_switch_os_surface(pDstPriv->rdpindex);
- reset_surface = 1;
- rdpup_get_pixmap_image_rect(pDstPixmap, &id);
- got_id = 1;
- }
- }
- else
- {
- LLOGLN(10, ("rdpCopyArea: 3"));
- }
- }
- else
- {
- if (pDst->type == DRAWABLE_WINDOW)
- {
- pDstWnd = (WindowPtr)pDst;
-
- if (pDstWnd->viewable)
- {
- post_process = 1;
-
- if (g_do_dirty_ons)
- {
- LLOGLN(10, ("rdpCopyArea: getting dirty"));
- g_screenPriv.is_dirty = 1;
- pDirtyPriv = &g_screenPriv;
- dirty_type = RDI_IMGLY;
- }
- else
- {
- rdpup_get_screen_image_rect(&id);
- got_id = 1;
- }
- }
- }
- }
-
- if (!post_process)
- {
- return rv;
- }
-
- LLOGLN(10, ("rdpCopyArea: post_process"));
-
- RegionInit(&clip_reg, NullBox, 0);
- cd = rdp_get_clip(&clip_reg, pDst, pGC);
-
- if (cd == 1)
- {
- if (dirty_type != 0)
- {
- box.x1 = pDst->x + dstx;
- box.y1 = pDst->y + dsty;
- box.x2 = box.x1 + w;
- box.y2 = box.y1 + h;
- RegionInit(®1, &box, 0);
- draw_item_add_img_region(pDirtyPriv, ®1, GXcopy, dirty_type, TAG_COPYAREA);
- RegionUninit(®1);
- }
- else if (got_id)
- {
- rdpup_begin_update();
- rdpup_send_area(&id, pDst->x + dstx, pDst->y + dsty, w, h);
- rdpup_end_update();
- }
- }
- else if (cd == 2)
- {
- num_clips = REGION_NUM_RECTS(&clip_reg);
-
- if (num_clips > 0)
- {
- if (dirty_type != 0)
- {
- box.x1 = pDst->x + dstx;
- box.y1 = pDst->y + dsty;
- box.x2 = box.x1 + w;
- box.y2 = box.y1 + h;
- RegionInit(&box_reg, &box, 0);
- RegionIntersect(&clip_reg, &clip_reg, &box_reg);
- draw_item_add_img_region(pDirtyPriv, &clip_reg, GXcopy, dirty_type, TAG_COPYAREA);
- RegionUninit(&box_reg);
- }
- else if (got_id)
- {
- rdpup_begin_update();
- box.x1 = pDst->x + dstx;
- box.y1 = pDst->y + dsty;
- box.x2 = box.x1 + w;
- box.y2 = box.y1 + h;
- RegionInit(&box_reg, &box, 0);
- RegionIntersect(&clip_reg, &clip_reg, &box_reg);
- num_clips = REGION_NUM_RECTS(&clip_reg);
-
- if (num_clips < 10)
- {
- for (j = num_clips - 1; j >= 0; j--)
- {
- box = REGION_RECTS(&clip_reg)[j];
- rdpup_send_area(&id, box.x1, box.y1, box.x2 - box.x1,
- box.y2 - box.y1);
- }
- }
- else
- {
- pbox = RegionExtents(&clip_reg);
- rdpup_send_area(&id, pbox->x1, pbox->y1, pbox->x2 - pbox->x1,
- pbox->y2 - pbox->y1);
- }
-
- RegionUninit(&box_reg);
- rdpup_end_update();
- }
- }
- }
-
- RegionUninit(&clip_reg);
-
- if (reset_surface)
- {
- rdpup_switch_os_surface(-1);
- }
-
- return rv;
-}
diff --git a/xorg/X11R7.6/rdp/rdpCopyArea.h b/xorg/X11R7.6/rdp/rdpCopyArea.h
deleted file mode 100644
index 654b6edc..00000000
--- a/xorg/X11R7.6/rdp/rdpCopyArea.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#ifndef __RDPCOPYAREA_H
-#define __RDPCOPYAREA_H
-
-RegionPtr
-rdpCopyArea(DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC,
- int srcx, int srcy, int w, int h, int dstx, int dsty);
-
-#endif
diff --git a/xorg/X11R7.6/rdp/rdpCopyPlane.c b/xorg/X11R7.6/rdp/rdpCopyPlane.c
deleted file mode 100644
index 063766ee..00000000
--- a/xorg/X11R7.6/rdp/rdpCopyPlane.c
+++ /dev/null
@@ -1,241 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#include "rdp.h"
-#include "rdpdraw.h"
-
-#define LDEBUG 0
-
-#define LOG_LEVEL 1
-#define LLOG(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; } } while (0)
-#define LLOGLN(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; ErrorF("\n"); } } while (0)
-
-extern rdpScreenInfoRec g_rdpScreen; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpGCIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpWindowIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpPixmapIndex; /* from rdpmain.c */
-extern int g_Bpp; /* from rdpmain.c */
-extern ScreenPtr g_pScreen; /* from rdpmain.c */
-extern Bool g_wrapPixmap; /* from rdpmain.c */
-extern int g_do_dirty_os; /* in rdpmain.c */
-extern int g_do_dirty_ons; /* in rdpmain.c */
-extern rdpPixmapRec g_screenPriv; /* in rdpmain.c */
-
-extern GCOps g_rdpGCOps; /* from rdpdraw.c */
-
-extern int g_con_number; /* in rdpup.c */
-
-/******************************************************************************/
-RegionPtr
-rdpCopyPlaneOrg(DrawablePtr pSrc, DrawablePtr pDst,
- GCPtr pGC, int srcx, int srcy, int w, int h,
- int dstx, int dsty, unsigned long bitPlane)
-{
- RegionPtr rv;
- rdpGCPtr priv;
- GCFuncs *oldFuncs;
-
- GC_OP_PROLOGUE(pGC);
- rv = pGC->ops->CopyPlane(pSrc, pDst, pGC, srcx, srcy,
- w, h, dstx, dsty, bitPlane);
- GC_OP_EPILOGUE(pGC);
- return rv;
-}
-
-/******************************************************************************/
-RegionPtr
-rdpCopyPlane(DrawablePtr pSrc, DrawablePtr pDst,
- GCPtr pGC, int srcx, int srcy, int w, int h,
- int dstx, int dsty, unsigned long bitPlane)
-{
- RegionPtr rv;
- RegionRec clip_reg;
- RegionRec box_reg;
- RegionRec reg1;
- RegionRec reg2;
- int cd;
- int num_clips;
- int j;
- int got_id;
- int dirty_type;
- int post_process;
- int reset_surface;
- BoxRec box;
- BoxPtr pbox;
- struct image_data id;
- WindowPtr pDstWnd;
- PixmapPtr pDstPixmap;
- rdpPixmapRec *pDstPriv;
- rdpPixmapRec *pDirtyPriv;
-
- LLOGLN(10, ("rdpCopyPlane:"));
-
- /* do original call */
- rv = rdpCopyPlaneOrg(pSrc, pDst, pGC, srcx, srcy, w, h,
- dstx, dsty, bitPlane);
-
- dirty_type = 0;
- pDirtyPriv = 0;
- post_process = 0;
- reset_surface = 0;
- got_id = 0;
-
- if (pDst->type == DRAWABLE_PIXMAP)
- {
- pDstPixmap = (PixmapPtr)pDst;
- pDstPriv = GETPIXPRIV(pDstPixmap);
-
- if (xrdp_is_os(pDstPixmap, pDstPriv))
- {
- post_process = 1;
-
- if (g_do_dirty_os)
- {
- LLOGLN(10, ("rdpCopyPlane: getting dirty"));
- pDstPriv->is_dirty = 1;
- pDirtyPriv = pDstPriv;
- dirty_type = RDI_IMGLL;
- }
- else
- {
- rdpup_switch_os_surface(pDstPriv->rdpindex);
- reset_surface = 1;
- rdpup_get_pixmap_image_rect(pDstPixmap, &id);
- got_id = 1;
- }
- }
- }
- else
- {
- if (pDst->type == DRAWABLE_WINDOW)
- {
- pDstWnd = (WindowPtr)pDst;
-
- if (pDstWnd->viewable)
- {
- post_process = 1;
-
- if (g_do_dirty_ons)
- {
- LLOGLN(10, ("rdpCopyPlane: getting dirty"));
- g_screenPriv.is_dirty = 1;
- pDirtyPriv = &g_screenPriv;
- dirty_type = RDI_IMGLL;
- }
- else
- {
- rdpup_get_screen_image_rect(&id);
- got_id = 1;
- }
- }
- }
- }
-
- if (!post_process)
- {
- return rv;
- }
-
- RegionInit(&clip_reg, NullBox, 0);
- cd = rdp_get_clip(&clip_reg, pDst, pGC);
-
- if (cd == 1)
- {
- if (dirty_type != 0)
- {
- box.x1 = pDst->x + dstx;
- box.y1 = pDst->y + dsty;
- box.x2 = box.x1 + w;
- box.y2 = box.y1 + h;
- RegionInit(®1, &box, 0);
- draw_item_add_img_region(pDirtyPriv, ®1, GXcopy, dirty_type, TAG_COPYPLANE);
- RegionUninit(®1);
- }
- else if (got_id)
- {
- rdpup_begin_update();
- rdpup_send_area(&id, pDst->x + dstx, pDst->y + dsty, w, h);
- rdpup_end_update();
- }
- }
- else if (cd == 2)
- {
- num_clips = REGION_NUM_RECTS(&clip_reg);
-
- if (num_clips > 0)
- {
- if (dirty_type != 0)
- {
- box.x1 = pDst->x + dstx;
- box.y1 = pDst->y + dsty;
- box.x2 = box.x1 + w;
- box.y2 = box.y1 + h;
- RegionInit(®1, &box, 0);
- RegionInit(®2, NullBox, 0);
- RegionCopy(®2, &clip_reg);
- RegionIntersect(®1, ®1, ®2);
- draw_item_add_img_region(pDirtyPriv, ®1, GXcopy, dirty_type, TAG_COPYPLANE);
- RegionUninit(®1);
- RegionUninit(®2);
- }
- else if (got_id)
- {
- rdpup_begin_update();
- box.x1 = pDst->x + dstx;
- box.y1 = pDst->y + dsty;
- box.x2 = box.x1 + w;
- box.y2 = box.y1 + h;
- RegionInit(&box_reg, &box, 0);
- RegionIntersect(&clip_reg, &clip_reg, &box_reg);
- num_clips = REGION_NUM_RECTS(&clip_reg);
-
- if (num_clips < 10)
- {
- for (j = num_clips - 1; j >= 0; j--)
- {
- box = REGION_RECTS(&clip_reg)[j];
- rdpup_send_area(&id, box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
- }
- }
- else
- {
- pbox = RegionExtents(&clip_reg);
- rdpup_send_area(&id, pbox->x1, pbox->y1, pbox->x2 - pbox->x1,
- pbox->y2 - pbox->y1);
- }
-
- RegionUninit(&box_reg);
- rdpup_end_update();
- }
- }
- }
-
- RegionUninit(&clip_reg);
-
- if (reset_surface)
- {
- rdpup_switch_os_surface(-1);
- }
-
- return rv;
-}
diff --git a/xorg/X11R7.6/rdp/rdpCopyPlane.h b/xorg/X11R7.6/rdp/rdpCopyPlane.h
deleted file mode 100644
index 85a79e76..00000000
--- a/xorg/X11R7.6/rdp/rdpCopyPlane.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#ifndef __RDPCOPYPLANE_H
-#define __RDPCOPYPLANE_H
-
-RegionPtr
-rdpCopyPlane(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable,
- GCPtr pGC, int srcx, int srcy, int width, int height,
- int dstx, int dsty, unsigned long bitPlane);
-
-#endif
diff --git a/xorg/X11R7.6/rdp/rdpFillPolygon.c b/xorg/X11R7.6/rdp/rdpFillPolygon.c
deleted file mode 100644
index 960f619e..00000000
--- a/xorg/X11R7.6/rdp/rdpFillPolygon.c
+++ /dev/null
@@ -1,251 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#include "rdp.h"
-#include "rdpdraw.h"
-
-#define LDEBUG 0
-
-#define LOG_LEVEL 1
-#define LLOG(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; } } while (0)
-#define LLOGLN(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; ErrorF("\n"); } } while (0)
-
-extern rdpScreenInfoRec g_rdpScreen; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpGCIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpWindowIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpPixmapIndex; /* from rdpmain.c */
-extern int g_Bpp; /* from rdpmain.c */
-extern ScreenPtr g_pScreen; /* from rdpmain.c */
-extern Bool g_wrapPixmap; /* from rdpmain.c */
-extern int g_do_dirty_os; /* in rdpmain.c */
-extern int g_do_dirty_ons; /* in rdpmain.c */
-extern rdpPixmapRec g_screenPriv; /* in rdpmain.c */
-
-extern GCOps g_rdpGCOps; /* from rdpdraw.c */
-
-extern int g_con_number; /* in rdpup.c */
-
-/******************************************************************************/
-void
-rdpFillPolygonOrg(DrawablePtr pDrawable, GCPtr pGC,
- int shape, int mode, int count,
- DDXPointPtr pPts)
-{
- rdpGCPtr priv;
- GCFuncs *oldFuncs;
-
- GC_OP_PROLOGUE(pGC);
- pGC->ops->FillPolygon(pDrawable, pGC, shape, mode, count, pPts);
- GC_OP_EPILOGUE(pGC);
-}
-
-/******************************************************************************/
-void
-rdpFillPolygon(DrawablePtr pDrawable, GCPtr pGC,
- int shape, int mode, int count,
- DDXPointPtr pPts)
-{
- RegionRec clip_reg;
- RegionRec box_reg;
- RegionRec reg1;
- int num_clips;
- int cd;
- int maxx;
- int maxy;
- int minx;
- int miny;
- int i;
- int j;
- int got_id;
- int dirty_type;
- int post_process;
- int reset_surface;
- BoxRec box;
- struct image_data id;
- WindowPtr pDstWnd;
- PixmapPtr pDstPixmap;
- rdpPixmapRec *pDstPriv;
- rdpPixmapRec *pDirtyPriv;
-
- LLOGLN(10, ("rdpFillPolygon:"));
-
- box.x1 = 0;
- box.y1 = 0;
- box.x2 = 0;
- box.y2 = 0;
-
- if (count > 0)
- {
- maxx = pPts[0].x;
- maxy = pPts[0].y;
- minx = maxx;
- miny = maxy;
-
- for (i = 1; i < count; i++)
- {
- if (pPts[i].x > maxx)
- {
- maxx = pPts[i].x;
- }
-
- if (pPts[i].x < minx)
- {
- minx = pPts[i].x;
- }
-
- if (pPts[i].y > maxy)
- {
- maxy = pPts[i].y;
- }
-
- if (pPts[i].y < miny)
- {
- miny = pPts[i].y;
- }
- }
-
- box.x1 = pDrawable->x + minx;
- box.y1 = pDrawable->y + miny;
- box.x2 = pDrawable->x + maxx + 1;
- box.y2 = pDrawable->y + maxy + 1;
- }
-
- /* do original call */
- rdpFillPolygonOrg(pDrawable, pGC, shape, mode, count, pPts);
-
- dirty_type = 0;
- pDirtyPriv = 0;
- post_process = 0;
- reset_surface = 0;
- got_id = 0;
-
- if (pDrawable->type == DRAWABLE_PIXMAP)
- {
- pDstPixmap = (PixmapPtr)pDrawable;
- pDstPriv = GETPIXPRIV(pDstPixmap);
-
- if (xrdp_is_os(pDstPixmap, pDstPriv))
- {
- post_process = 1;
-
- if (g_do_dirty_os)
- {
- LLOGLN(10, ("rdpFillPolygon: getting dirty"));
- pDstPriv->is_dirty = 1;
- pDirtyPriv = pDstPriv;
- dirty_type = RDI_IMGLL;
- }
- else
- {
- rdpup_switch_os_surface(pDstPriv->rdpindex);
- reset_surface = 1;
- rdpup_get_pixmap_image_rect(pDstPixmap, &id);
- got_id = 1;
- }
- }
- }
- else
- {
- if (pDrawable->type == DRAWABLE_WINDOW)
- {
- pDstWnd = (WindowPtr)pDrawable;
-
- if (pDstWnd->viewable)
- {
- post_process = 1;
-
- if (g_do_dirty_ons)
- {
- LLOGLN(10, ("rdpFillPolygon: getting dirty"));
- g_screenPriv.is_dirty = 1;
- pDirtyPriv = &g_screenPriv;
- dirty_type = RDI_IMGLL;
- }
- else
- {
- rdpup_get_screen_image_rect(&id);
- got_id = 1;
- }
- }
- }
- }
-
- if (!post_process)
- {
- return;
- }
-
- RegionInit(&clip_reg, NullBox, 0);
- cd = rdp_get_clip(&clip_reg, pDrawable, pGC);
-
- if (cd == 1)
- {
- if (dirty_type != 0)
- {
- RegionInit(®1, &box, 0);
- draw_item_add_img_region(pDirtyPriv, ®1, GXcopy, dirty_type, TAG_FILLPOLYGON);
- RegionUninit(®1);
- }
- else if (got_id)
- {
- rdpup_begin_update();
- rdpup_send_area(&id, box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
- rdpup_end_update();
- }
- }
- else if (cd == 2)
- {
- RegionInit(&box_reg, &box, 0);
- RegionIntersect(&clip_reg, &clip_reg, &box_reg);
- num_clips = REGION_NUM_RECTS(&clip_reg);
-
- if (num_clips > 0)
- {
- if (dirty_type != 0)
- {
- draw_item_add_img_region(pDirtyPriv, &clip_reg, GXcopy, dirty_type, TAG_FILLPOLYGON);
- }
- else if (got_id)
- {
- rdpup_begin_update();
-
- for (j = num_clips - 1; j >= 0; j--)
- {
- box = REGION_RECTS(&clip_reg)[j];
- rdpup_send_area(&id, box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
- }
-
- rdpup_end_update();
- }
- }
-
- RegionUninit(&box_reg);
- }
-
- RegionUninit(&clip_reg);
-
- if (reset_surface)
- {
- rdpup_switch_os_surface(-1);
- }
-}
diff --git a/xorg/X11R7.6/rdp/rdpFillPolygon.h b/xorg/X11R7.6/rdp/rdpFillPolygon.h
deleted file mode 100644
index 89da9ae0..00000000
--- a/xorg/X11R7.6/rdp/rdpFillPolygon.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#ifndef __RDPFILLPOLYGON_H
-#define __RDPFILLPOLYGON_H
-
-void
-rdpFillPolygon(DrawablePtr pDrawable, GCPtr pGC,
- int shape, int mode, int count,
- DDXPointPtr pPts);
-
-#endif
diff --git a/xorg/X11R7.6/rdp/rdpFillSpans.c b/xorg/X11R7.6/rdp/rdpFillSpans.c
deleted file mode 100644
index 8025bf45..00000000
--- a/xorg/X11R7.6/rdp/rdpFillSpans.c
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#include "rdp.h"
-#include "rdpdraw.h"
-
-#define LDEBUG 0
-
-#define LOG_LEVEL 1
-#define LLOG(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; } } while (0)
-#define LLOGLN(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; ErrorF("\n"); } } while (0)
-
-extern rdpScreenInfoRec g_rdpScreen; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpGCIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpWindowIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpPixmapIndex; /* from rdpmain.c */
-extern int g_Bpp; /* from rdpmain.c */
-extern ScreenPtr g_pScreen; /* from rdpmain.c */
-extern Bool g_wrapPixmap; /* from rdpmain.c */
-
-extern GCOps g_rdpGCOps; /* from rdpdraw.c */
-
-extern int g_con_number; /* in rdpup.c */
-
-/******************************************************************************/
-static void
-rdpFillSpansOrg(DrawablePtr pDrawable, GCPtr pGC, int nInit,
- DDXPointPtr pptInit, int *pwidthInit, int fSorted)
-{
- rdpGCPtr priv;
- GCFuncs *oldFuncs;
-
- GC_OP_PROLOGUE(pGC);
- pGC->ops->FillSpans(pDrawable, pGC, nInit, pptInit, pwidthInit, fSorted);
- GC_OP_EPILOGUE(pGC);
-}
-
-/******************************************************************************/
-void
-rdpFillSpans(DrawablePtr pDrawable, GCPtr pGC, int nInit,
- DDXPointPtr pptInit, int *pwidthInit, int fSorted)
-{
- RegionRec clip_reg;
- int cd;
- int got_id;
- struct image_data id;
- WindowPtr pDstWnd;
- PixmapPtr pDstPixmap;
- rdpPixmapRec *pDstPriv;
-
- LLOGLN(0, ("rdpFillSpans: todo"));
-
- /* do original call */
- rdpFillSpansOrg(pDrawable, pGC, nInit, pptInit, pwidthInit, fSorted);
-
- got_id = 0;
-
- if (pDrawable->type == DRAWABLE_PIXMAP)
- {
- pDstPixmap = (PixmapPtr)pDrawable;
- pDstPriv = GETPIXPRIV(pDstPixmap);
-
- if (xrdp_is_os(pDstPixmap, pDstPriv))
- {
- rdpup_switch_os_surface(pDstPriv->rdpindex);
- rdpup_get_pixmap_image_rect(pDstPixmap, &id);
- got_id = 1;
- }
- }
- else
- {
- if (pDrawable->type == DRAWABLE_WINDOW)
- {
- pDstWnd = (WindowPtr)pDrawable;
-
- if (pDstWnd->viewable)
- {
- rdpup_get_screen_image_rect(&id);
- got_id = 1;
- }
- }
- }
-
- if (!got_id)
- {
- return;
- }
-
- RegionInit(&clip_reg, NullBox, 0);
- cd = rdp_get_clip(&clip_reg, pDrawable, pGC);
-
- if (cd == 1)
- {
- }
- else if (cd == 2)
- {
- }
-
- RegionUninit(&clip_reg);
- rdpup_switch_os_surface(-1);
-}
diff --git a/xorg/X11R7.6/rdp/rdpFillSpans.h b/xorg/X11R7.6/rdp/rdpFillSpans.h
deleted file mode 100644
index 7e014e6b..00000000
--- a/xorg/X11R7.6/rdp/rdpFillSpans.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#ifndef __RDPFILLSPANS_H
-#define __RDPFILLSPANS_H
-
-void
-rdpFillSpans(DrawablePtr pDrawable, GCPtr pGC, int nInit,
- DDXPointPtr pptInit, int* pwidthInit, int fSorted);
-
-#endif
diff --git a/xorg/X11R7.6/rdp/rdpImageGlyphBlt.c b/xorg/X11R7.6/rdp/rdpImageGlyphBlt.c
deleted file mode 100644
index d425a30b..00000000
--- a/xorg/X11R7.6/rdp/rdpImageGlyphBlt.c
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#include "rdp.h"
-#include "rdpdraw.h"
-
-#define LDEBUG 0
-
-#define LOG_LEVEL 1
-#define LLOG(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; } } while (0)
-#define LLOGLN(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; ErrorF("\n"); } } while (0)
-
-extern rdpScreenInfoRec g_rdpScreen; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpGCIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpWindowIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpPixmapIndex; /* from rdpmain.c */
-extern int g_Bpp; /* from rdpmain.c */
-extern ScreenPtr g_pScreen; /* from rdpmain.c */
-extern Bool g_wrapPixmap; /* from rdpmain.c */
-extern int g_do_dirty_os; /* in rdpmain.c */
-extern int g_do_dirty_ons; /* in rdpmain.c */
-extern rdpPixmapRec g_screenPriv; /* in rdpmain.c */
-
-extern GCOps g_rdpGCOps; /* from rdpdraw.c */
-
-extern int g_con_number; /* in rdpup.c */
-
-/******************************************************************************/
-void
-rdpImageGlyphBltOrg(DrawablePtr pDrawable, GCPtr pGC,
- int x, int y, unsigned int nglyph,
- CharInfoPtr *ppci, pointer pglyphBase)
-{
- rdpGCPtr priv;
- GCFuncs *oldFuncs;
-
- GC_OP_PROLOGUE(pGC);
- pGC->ops->ImageGlyphBlt(pDrawable, pGC, x, y, nglyph, ppci, pglyphBase);
- GC_OP_EPILOGUE(pGC);
-}
-
-/******************************************************************************/
-void
-rdpImageGlyphBlt(DrawablePtr pDrawable, GCPtr pGC,
- int x, int y, unsigned int nglyph,
- CharInfoPtr *ppci, pointer pglyphBase)
-{
- RegionRec reg;
- RegionRec reg1;
- int num_clips;
- int cd;
- int j;
- int got_id;
- int dirty_type;
- int post_process;
- int reset_surface;
- BoxRec box;
- struct image_data id;
- WindowPtr pDstWnd;
- PixmapPtr pDstPixmap;
- rdpPixmapRec *pDstPriv;
- rdpPixmapRec *pDirtyPriv;
-
- LLOGLN(10, ("rdpImageGlyphBlt:"));
-
- if (nglyph != 0)
- {
- GetTextBoundingBox(pDrawable, pGC->font, x, y, nglyph, &box);
- }
-
- /* do original call */
- rdpImageGlyphBltOrg(pDrawable, pGC, x, y, nglyph, ppci, pglyphBase);
-
- dirty_type = 0;
- pDirtyPriv = 0;
- post_process = 0;
- reset_surface = 0;
- got_id = 0;
-
- if (pDrawable->type == DRAWABLE_PIXMAP)
- {
- pDstPixmap = (PixmapPtr)pDrawable;
- pDstPriv = GETPIXPRIV(pDstPixmap);
-
- if (xrdp_is_os(pDstPixmap, pDstPriv))
- {
- post_process = 1;
-
- if (g_do_dirty_os)
- {
- LLOGLN(10, ("rdpImageGlyphBlt: getting dirty"));
- pDstPriv->is_dirty = 1;
- pDirtyPriv = pDstPriv;
- dirty_type = RDI_IMGLL;
- }
- else
- {
- rdpup_switch_os_surface(pDstPriv->rdpindex);
- reset_surface = 1;
- rdpup_get_pixmap_image_rect(pDstPixmap, &id);
- got_id = 1;
- }
- }
- }
- else
- {
- if (pDrawable->type == DRAWABLE_WINDOW)
- {
- pDstWnd = (WindowPtr)pDrawable;
-
- if (pDstWnd->viewable)
- {
- post_process = 1;
-
- if (g_do_dirty_ons)
- {
- LLOGLN(10, ("rdpImageGlyphBlt: getting dirty"));
- g_screenPriv.is_dirty = 1;
- pDirtyPriv = &g_screenPriv;
- dirty_type = RDI_IMGLL;
- }
- else
- {
- rdpup_get_screen_image_rect(&id);
- got_id = 1;
- }
- }
- }
- }
-
- if (!post_process)
- {
- return;
- }
-
- RegionInit(®, NullBox, 0);
-
- if (nglyph == 0)
- {
- cd = 0;
- }
- else
- {
- cd = rdp_get_clip(®, pDrawable, pGC);
- }
-
- if (cd == 1)
- {
- if (dirty_type != 0)
- {
- RegionInit(®1, &box, 0);
- draw_item_add_img_region(pDirtyPriv, ®1, GXcopy, dirty_type, TAG_IMAGEGLYPHBLT);
- RegionUninit(®1);
- }
- else if (got_id)
- {
- rdpup_begin_update();
- rdpup_send_area(&id, box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
- rdpup_end_update();
- }
- }
- else if (cd == 2)
- {
- RegionInit(®1, &box, 0);
- RegionIntersect(®, ®, ®1);
- num_clips = REGION_NUM_RECTS(®);
-
- if (num_clips > 0)
- {
- if (dirty_type != 0)
- {
- draw_item_add_img_region(pDirtyPriv, ®, GXcopy, dirty_type, TAG_IMAGEGLYPHBLT);
- }
- else if (got_id)
- {
- rdpup_begin_update();
-
- for (j = num_clips - 1; j >= 0; j--)
- {
- box = REGION_RECTS(®)[j];
- rdpup_send_area(&id, box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
- }
-
- rdpup_end_update();
- }
- }
-
- RegionUninit(®1);
- }
-
- RegionUninit(®);
-
- if (reset_surface)
- {
- rdpup_switch_os_surface(-1);
- }
-
- return;
-}
diff --git a/xorg/X11R7.6/rdp/rdpImageGlyphBlt.h b/xorg/X11R7.6/rdp/rdpImageGlyphBlt.h
deleted file mode 100644
index c5483c7e..00000000
--- a/xorg/X11R7.6/rdp/rdpImageGlyphBlt.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#ifndef __RDPIMAGEGLYPHBLT_H
-#define __RDPIMAGEGLYPHBLT_H
-
-void
-rdpImageGlyphBlt(DrawablePtr pDrawable, GCPtr pGC,
- int x, int y, unsigned int nglyph,
- CharInfoPtr* ppci, pointer pglyphBase);
-
-#endif
diff --git a/xorg/X11R7.6/rdp/rdpImageText16.c b/xorg/X11R7.6/rdp/rdpImageText16.c
deleted file mode 100644
index 604d85e3..00000000
--- a/xorg/X11R7.6/rdp/rdpImageText16.c
+++ /dev/null
@@ -1,218 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#include "rdp.h"
-#include "rdpdraw.h"
-
-#define LDEBUG 0
-
-#define LOG_LEVEL 1
-#define LLOG(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; } } while (0)
-#define LLOGLN(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; ErrorF("\n"); } } while (0)
-
-extern rdpScreenInfoRec g_rdpScreen; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpGCIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpWindowIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpPixmapIndex; /* from rdpmain.c */
-extern int g_Bpp; /* from rdpmain.c */
-extern ScreenPtr g_pScreen; /* from rdpmain.c */
-extern Bool g_wrapPixmap; /* from rdpmain.c */
-extern int g_do_dirty_os; /* in rdpmain.c */
-extern int g_do_dirty_ons; /* in rdpmain.c */
-extern rdpPixmapRec g_screenPriv; /* in rdpmain.c */
-
-extern GCOps g_rdpGCOps; /* from rdpdraw.c */
-
-extern int g_con_number; /* in rdpup.c */
-
-/******************************************************************************/
-void
-rdpImageText16Org(DrawablePtr pDrawable, GCPtr pGC,
- int x, int y, int count, unsigned short *chars)
-{
- rdpGCPtr priv;
- GCFuncs *oldFuncs;
-
- GC_OP_PROLOGUE(pGC);
- pGC->ops->ImageText16(pDrawable, pGC, x, y, count, chars);
- GC_OP_EPILOGUE(pGC);
-}
-
-/******************************************************************************/
-void
-rdpImageText16(DrawablePtr pDrawable, GCPtr pGC,
- int x, int y, int count, unsigned short *chars)
-{
- RegionRec reg;
- RegionRec reg1;
- int num_clips;
- int cd;
- int j;
- int got_id;
- int dirty_type;
- int post_process;
- int reset_surface;
- BoxRec box;
- struct image_data id;
- WindowPtr pDstWnd;
- PixmapPtr pDstPixmap;
- rdpPixmapRec *pDstPriv;
- rdpPixmapRec *pDirtyPriv;
-
- LLOGLN(10, ("rdpImageText16:"));
-
- if (count != 0)
- {
- GetTextBoundingBox(pDrawable, pGC->font, x, y, count, &box);
- }
-
- /* do original call */
- rdpImageText16Org(pDrawable, pGC, x, y, count, chars);
-
- dirty_type = 0;
- pDirtyPriv = 0;
- post_process = 0;
- reset_surface = 0;
- got_id = 0;
-
- if (pDrawable->type == DRAWABLE_PIXMAP)
- {
- pDstPixmap = (PixmapPtr)pDrawable;
- pDstPriv = GETPIXPRIV(pDstPixmap);
-
- if (xrdp_is_os(pDstPixmap, pDstPriv))
- {
- post_process = 1;
-
- if (g_do_dirty_os)
- {
- LLOGLN(10, ("rdpImageText16: getting dirty"));
- pDstPriv->is_dirty = 1;
- pDirtyPriv = pDstPriv;
- dirty_type = RDI_IMGLY;
- }
- else
- {
- rdpup_switch_os_surface(pDstPriv->rdpindex);
- reset_surface = 1;
- rdpup_get_pixmap_image_rect(pDstPixmap, &id);
- got_id = 1;
- }
- }
- }
- else
- {
- if (pDrawable->type == DRAWABLE_WINDOW)
- {
- pDstWnd = (WindowPtr)pDrawable;
-
- if (pDstWnd->viewable)
- {
- post_process = 1;
-
- if (g_do_dirty_ons)
- {
- LLOGLN(10, ("rdpImageText16: getting dirty"));
- g_screenPriv.is_dirty = 1;
- pDirtyPriv = &g_screenPriv;
- dirty_type = RDI_IMGLL;
- }
- else
- {
- rdpup_get_screen_image_rect(&id);
- got_id = 1;
- }
- }
- }
- }
-
- if (!post_process)
- {
- return;
- }
-
- RegionInit(®, NullBox, 0);
-
- if (count == 0)
- {
- cd = 0;
- }
- else
- {
- cd = rdp_get_clip(®, pDrawable, pGC);
- }
-
- if (cd == 1)
- {
- if (dirty_type != 0)
- {
- RegionInit(®1, &box, 0);
- draw_item_add_img_region(pDirtyPriv, ®1, GXcopy, dirty_type, TAG_IMAGETEXT16);
- RegionUninit(®1);
- }
- else if (got_id)
- {
- rdpup_begin_update();
- rdpup_send_area(&id, box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
- rdpup_end_update();
- }
- }
- else if (cd == 2)
- {
- RegionInit(®1, &box, 0);
- RegionIntersect(®, ®, ®1);
- num_clips = REGION_NUM_RECTS(®);
-
- if (num_clips > 0)
- {
- if (dirty_type != 0)
- {
- draw_item_add_img_region(pDirtyPriv, ®, GXcopy, dirty_type, TAG_IMAGETEXT16);
- }
- else if (got_id)
- {
- rdpup_begin_update();
-
- for (j = num_clips - 1; j >= 0; j--)
- {
- box = REGION_RECTS(®)[j];
- rdpup_send_area(&id, box.x1, box.y1, box.x2 - box.x1,
- box.y2 - box.y1);
- }
-
- rdpup_end_update();
- }
- }
-
- RegionUninit(®1);
- }
-
- RegionUninit(®);
-
- if (reset_surface)
- {
- rdpup_switch_os_surface(-1);
- }
-
- return;
-}
diff --git a/xorg/X11R7.6/rdp/rdpImageText16.h b/xorg/X11R7.6/rdp/rdpImageText16.h
deleted file mode 100644
index 0ffb90f2..00000000
--- a/xorg/X11R7.6/rdp/rdpImageText16.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#ifndef __RDPIMAGETEXT16_H
-#define __RDPIMAGETEXT16_H
-
-void
-rdpImageText16(DrawablePtr pDrawable, GCPtr pGC,
- int x, int y, int count, unsigned short* chars);
-
-#endif
diff --git a/xorg/X11R7.6/rdp/rdpImageText8.c b/xorg/X11R7.6/rdp/rdpImageText8.c
deleted file mode 100644
index 08dead18..00000000
--- a/xorg/X11R7.6/rdp/rdpImageText8.c
+++ /dev/null
@@ -1,218 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#include "rdp.h"
-#include "rdpdraw.h"
-
-#define LDEBUG 0
-
-#define LOG_LEVEL 1
-#define LLOG(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; } } while (0)
-#define LLOGLN(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; ErrorF("\n"); } } while (0)
-
-extern rdpScreenInfoRec g_rdpScreen; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpGCIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpWindowIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpPixmapIndex; /* from rdpmain.c */
-extern int g_Bpp; /* from rdpmain.c */
-extern ScreenPtr g_pScreen; /* from rdpmain.c */
-extern Bool g_wrapPixmap; /* from rdpmain.c */
-extern int g_do_dirty_os; /* in rdpmain.c */
-extern int g_do_dirty_ons; /* in rdpmain.c */
-extern rdpPixmapRec g_screenPriv; /* in rdpmain.c */
-
-extern GCOps g_rdpGCOps; /* from rdpdraw.c */
-
-extern int g_con_number; /* in rdpup.c */
-
-/******************************************************************************/
-void
-rdpImageText8Org(DrawablePtr pDrawable, GCPtr pGC,
- int x, int y, int count, char *chars)
-{
- rdpGCPtr priv;
- GCFuncs *oldFuncs;
-
- GC_OP_PROLOGUE(pGC);
- pGC->ops->ImageText8(pDrawable, pGC, x, y, count, chars);
- GC_OP_EPILOGUE(pGC);
-}
-
-/******************************************************************************/
-void
-rdpImageText8(DrawablePtr pDrawable, GCPtr pGC,
- int x, int y, int count, char *chars)
-{
- RegionRec reg;
- RegionRec reg1;
- int num_clips;
- int cd;
- int j;
- int got_id;
- int dirty_type;
- int post_process;
- int reset_surface;
- BoxRec box;
- struct image_data id;
- WindowPtr pDstWnd;
- PixmapPtr pDstPixmap;
- rdpPixmapRec *pDstPriv;
- rdpPixmapRec *pDirtyPriv;
-
- LLOGLN(10, ("rdpImageText8:"));
-
- if (count != 0)
- {
- GetTextBoundingBox(pDrawable, pGC->font, x, y, count, &box);
- }
-
- /* do original call */
- rdpImageText8Org(pDrawable, pGC, x, y, count, chars);
-
- dirty_type = 0;
- pDirtyPriv = 0;
- post_process = 0;
- reset_surface = 0;
- got_id = 0;
-
- if (pDrawable->type == DRAWABLE_PIXMAP)
- {
- pDstPixmap = (PixmapPtr)pDrawable;
- pDstPriv = GETPIXPRIV(pDstPixmap);
-
- if (xrdp_is_os(pDstPixmap, pDstPriv))
- {
- post_process = 1;
-
- if (g_do_dirty_os)
- {
- LLOGLN(10, ("rdpImageText8: getting dirty"));
- pDstPriv->is_dirty = 1;
- pDirtyPriv = pDstPriv;
- dirty_type = RDI_IMGLL;
- }
- else
- {
- rdpup_switch_os_surface(pDstPriv->rdpindex);
- reset_surface = 1;
- rdpup_get_pixmap_image_rect(pDstPixmap, &id);
- got_id = 1;
- }
- }
- }
- else
- {
- if (pDrawable->type == DRAWABLE_WINDOW)
- {
- pDstWnd = (WindowPtr)pDrawable;
-
- if (pDstWnd->viewable)
- {
- post_process = 1;
-
- if (g_do_dirty_ons)
- {
- LLOGLN(10, ("rdpImageText8: getting dirty"));
- g_screenPriv.is_dirty = 1;
- pDirtyPriv = &g_screenPriv;
- dirty_type = RDI_IMGLL;
- }
- else
- {
- rdpup_get_screen_image_rect(&id);
- got_id = 1;
- }
- }
- }
- }
-
- if (!post_process)
- {
- return;
- }
-
- RegionInit(®, NullBox, 0);
-
- if (count == 0)
- {
- cd = 0;
- }
- else
- {
- cd = rdp_get_clip(®, pDrawable, pGC);
- }
-
- if (cd == 1)
- {
- if (dirty_type != 0)
- {
- RegionInit(®1, &box, 0);
- draw_item_add_img_region(pDirtyPriv, ®1, GXcopy, dirty_type, TAG_IMAGETEXT8);
- RegionUninit(®1);
- }
- else if (got_id)
- {
- rdpup_begin_update();
- rdpup_send_area(&id, box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
- rdpup_end_update();
- }
- }
- else if (cd == 2)
- {
- RegionInit(®1, &box, 0);
- RegionIntersect(®, ®, ®1);
- num_clips = REGION_NUM_RECTS(®);
-
- if (num_clips > 0)
- {
- if (dirty_type != 0)
- {
- draw_item_add_img_region(pDirtyPriv, ®, GXcopy, dirty_type, TAG_IMAGETEXT8);
- }
- else if (got_id)
- {
- rdpup_begin_update();
-
- for (j = num_clips - 1; j >= 0; j--)
- {
- box = REGION_RECTS(®)[j];
- rdpup_send_area(&id, box.x1, box.y1, box.x2 - box.x1,
- box.y2 - box.y1);
- }
-
- rdpup_end_update();
- }
- }
-
- RegionUninit(®1);
- }
-
- RegionUninit(®);
-
- if (reset_surface)
- {
- rdpup_switch_os_surface(-1);
- }
-
- return;
-}
diff --git a/xorg/X11R7.6/rdp/rdpImageText8.h b/xorg/X11R7.6/rdp/rdpImageText8.h
deleted file mode 100644
index dc0c4ec5..00000000
--- a/xorg/X11R7.6/rdp/rdpImageText8.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#ifndef __RDPIMAGETEXT8_H
-#define __RDPIMAGETEXT8_H
-
-void
-rdpImageText8(DrawablePtr pDrawable, GCPtr pGC,
- int x, int y, int count, char* chars);
-
-#endif
diff --git a/xorg/X11R7.6/rdp/rdpPolyArc.c b/xorg/X11R7.6/rdp/rdpPolyArc.c
deleted file mode 100644
index 84a85587..00000000
--- a/xorg/X11R7.6/rdp/rdpPolyArc.c
+++ /dev/null
@@ -1,248 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#include "rdp.h"
-#include "rdpdraw.h"
-
-#define LDEBUG 0
-
-#define LOG_LEVEL 1
-#define LLOG(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; } } while (0)
-#define LLOGLN(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; ErrorF("\n"); } } while (0)
-
-extern rdpScreenInfoRec g_rdpScreen; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpGCIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpWindowIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpPixmapIndex; /* from rdpmain.c */
-extern int g_Bpp; /* from rdpmain.c */
-extern ScreenPtr g_pScreen; /* from rdpmain.c */
-extern Bool g_wrapPixmap; /* from rdpmain.c */
-extern int g_do_dirty_os; /* in rdpmain.c */
-extern int g_do_dirty_ons; /* in rdpmain.c */
-extern rdpPixmapRec g_screenPriv; /* in rdpmain.c */
-
-extern GCOps g_rdpGCOps; /* from rdpdraw.c */
-
-extern int g_con_number; /* in rdpup.c */
-
-/******************************************************************************/
-void
-rdpPolyArcOrg(DrawablePtr pDrawable, GCPtr pGC, int narcs, xArc *parcs)
-{
- rdpGCPtr priv;
- GCFuncs *oldFuncs;
-
- GC_OP_PROLOGUE(pGC);
- pGC->ops->PolyArc(pDrawable, pGC, narcs, parcs);
- GC_OP_EPILOGUE(pGC);
-}
-
-/******************************************************************************/
-void
-rdpPolyArc(DrawablePtr pDrawable, GCPtr pGC, int narcs, xArc *parcs)
-{
- RegionRec clip_reg;
- RegionPtr tmpRegion;
- int cd;
- int lw;
- int extra;
- int i;
- int num_clips;
- int got_id;
- int dirty_type;
- int post_process;
- int reset_surface;
- xRectangle *rects;
- BoxRec box;
- struct image_data id;
- WindowPtr pDstWnd;
- PixmapPtr pDstPixmap;
- rdpPixmapRec *pDstPriv;
- rdpPixmapRec *pDirtyPriv;
-
- LLOGLN(10, ("rdpPolyArc:"));
-
- rects = 0;
-
- if (narcs > 0)
- {
- rects = (xRectangle *)g_malloc(narcs * sizeof(xRectangle), 0);
- lw = pGC->lineWidth;
-
- if (lw == 0)
- {
- lw = 1;
- }
-
- extra = lw / 2;
-
- for (i = 0; i < narcs; i++)
- {
- rects[i].x = (parcs[i].x - extra) + pDrawable->x;
- rects[i].y = (parcs[i].y - extra) + pDrawable->y;
- rects[i].width = parcs[i].width + lw;
- rects[i].height = parcs[i].height + lw;
- }
- }
-
- /* do original call */
- rdpPolyArcOrg(pDrawable, pGC, narcs, parcs);
-
- dirty_type = 0;
- pDirtyPriv = 0;
- post_process = 0;
- reset_surface = 0;
- got_id = 0;
-
- if (pDrawable->type == DRAWABLE_PIXMAP)
- {
- pDstPixmap = (PixmapPtr)pDrawable;
- pDstPriv = GETPIXPRIV(pDstPixmap);
-
- if (xrdp_is_os(pDstPixmap, pDstPriv))
- {
- post_process = 1;
-
- if (g_do_dirty_os)
- {
- LLOGLN(10, ("rdpPolyArc: getting dirty"));
- pDstPriv->is_dirty = 1;
- pDirtyPriv = pDstPriv;
- dirty_type = RDI_IMGLL;
- }
- else
- {
- rdpup_switch_os_surface(pDstPriv->rdpindex);
- reset_surface = 1;
- rdpup_get_pixmap_image_rect(pDstPixmap, &id);
- got_id = 1;
- }
- }
- }
- else
- {
- if (pDrawable->type == DRAWABLE_WINDOW)
- {
- pDstWnd = (WindowPtr)pDrawable;
-
- if (pDstWnd->viewable)
- {
- post_process = 1;
-
- if (g_do_dirty_ons)
- {
- LLOGLN(10, ("rdpPolyArc: getting dirty"));
- g_screenPriv.is_dirty = 1;
- pDirtyPriv = &g_screenPriv;
- dirty_type = RDI_IMGLL;
- }
- else
- {
- rdpup_get_screen_image_rect(&id);
- got_id = 1;
- }
- }
- }
- }
-
- if (!post_process)
- {
- g_free(rects);
- return;
- }
-
- RegionInit(&clip_reg, NullBox, 0);
- cd = rdp_get_clip(&clip_reg, pDrawable, pGC);
-
- if (cd == 1)
- {
- if (rects != 0)
- {
- tmpRegion = RegionFromRects(narcs, rects, CT_NONE);
- num_clips = REGION_NUM_RECTS(tmpRegion);
-
- if (num_clips > 0)
- {
- if (dirty_type != 0)
- {
- draw_item_add_img_region(pDirtyPriv, tmpRegion, GXcopy, dirty_type, TAG_POLYARC);
- }
- else if (got_id)
- {
- rdpup_begin_update();
-
- for (i = num_clips - 1; i >= 0; i--)
- {
- box = REGION_RECTS(tmpRegion)[i];
- rdpup_send_area(&id, box.x1, box.y1, box.x2 - box.x1,
- box.y2 - box.y1);
- }
-
- rdpup_end_update();
- }
- }
-
- RegionDestroy(tmpRegion);
- }
- }
- else if (cd == 2)
- {
- if (rects != 0)
- {
- tmpRegion = RegionFromRects(narcs, rects, CT_NONE);
- RegionIntersect(tmpRegion, tmpRegion, &clip_reg);
- num_clips = REGION_NUM_RECTS(tmpRegion);
-
- if (num_clips > 0)
- {
- if (dirty_type != 0)
- {
- draw_item_add_img_region(pDirtyPriv, tmpRegion, GXcopy, dirty_type, TAG_POLYARC);
- }
- else if (got_id)
- {
- rdpup_begin_update();
-
- for (i = num_clips - 1; i >= 0; i--)
- {
- box = REGION_RECTS(tmpRegion)[i];
- rdpup_send_area(&id, box.x1, box.y1, box.x2 - box.x1,
- box.y2 - box.y1);
- }
-
- rdpup_end_update();
- }
- }
-
- RegionDestroy(tmpRegion);
- }
- }
-
- RegionUninit(&clip_reg);
- g_free(rects);
-
- if (reset_surface)
- {
- rdpup_switch_os_surface(-1);
- }
-}
diff --git a/xorg/X11R7.6/rdp/rdpPolyArc.h b/xorg/X11R7.6/rdp/rdpPolyArc.h
deleted file mode 100644
index 7ebadc35..00000000
--- a/xorg/X11R7.6/rdp/rdpPolyArc.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#ifndef __RDPPOLYARC_H
-#define __RDPPOLYARC_H
-
-void
-rdpPolyArc(DrawablePtr pDrawable, GCPtr pGC, int narcs, xArc* parcs);
-
-#endif
diff --git a/xorg/X11R7.6/rdp/rdpPolyFillArc.c b/xorg/X11R7.6/rdp/rdpPolyFillArc.c
deleted file mode 100644
index e3822215..00000000
--- a/xorg/X11R7.6/rdp/rdpPolyFillArc.c
+++ /dev/null
@@ -1,248 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#include "rdp.h"
-#include "rdpdraw.h"
-
-#define LDEBUG 0
-
-#define LOG_LEVEL 1
-#define LLOG(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; } } while (0)
-#define LLOGLN(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; ErrorF("\n"); } } while (0)
-
-extern rdpScreenInfoRec g_rdpScreen; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpGCIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpWindowIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpPixmapIndex; /* from rdpmain.c */
-extern int g_Bpp; /* from rdpmain.c */
-extern ScreenPtr g_pScreen; /* from rdpmain.c */
-extern Bool g_wrapPixmap; /* from rdpmain.c */
-extern int g_do_dirty_os; /* in rdpmain.c */
-extern int g_do_dirty_ons; /* in rdpmain.c */
-extern rdpPixmapRec g_screenPriv; /* in rdpmain.c */
-
-extern GCOps g_rdpGCOps; /* from rdpdraw.c */
-
-extern int g_con_number; /* in rdpup.c */
-
-/******************************************************************************/
-void
-rdpPolyFillArcOrg(DrawablePtr pDrawable, GCPtr pGC, int narcs, xArc *parcs)
-{
- rdpGCPtr priv;
- GCFuncs *oldFuncs;
-
- GC_OP_PROLOGUE(pGC);
- pGC->ops->PolyFillArc(pDrawable, pGC, narcs, parcs);
- GC_OP_EPILOGUE(pGC);
-}
-
-/******************************************************************************/
-void
-rdpPolyFillArc(DrawablePtr pDrawable, GCPtr pGC, int narcs, xArc *parcs)
-{
- RegionRec clip_reg;
- RegionPtr tmpRegion;
- int cd;
- int lw;
- int extra;
- int i;
- int num_clips;
- int got_id;
- int dirty_type;
- int post_process;
- int reset_surface;
- xRectangle *rects;
- BoxRec box;
- struct image_data id;
- WindowPtr pDstWnd;
- PixmapPtr pDstPixmap;
- rdpPixmapRec *pDstPriv;
- rdpPixmapRec *pDirtyPriv;
-
- LLOGLN(10, ("rdpPolyFillArc:"));
-
- rects = 0;
-
- if (narcs > 0)
- {
- rects = (xRectangle *)g_malloc(narcs * sizeof(xRectangle), 0);
- lw = pGC->lineWidth;
-
- if (lw == 0)
- {
- lw = 1;
- }
-
- extra = lw / 2;
-
- for (i = 0; i < narcs; i++)
- {
- rects[i].x = (parcs[i].x - extra) + pDrawable->x;
- rects[i].y = (parcs[i].y - extra) + pDrawable->y;
- rects[i].width = parcs[i].width + lw;
- rects[i].height = parcs[i].height + lw;
- }
- }
-
- /* do original call */
- rdpPolyFillArcOrg(pDrawable, pGC, narcs, parcs);
-
- dirty_type = 0;
- pDirtyPriv = 0;
- post_process = 0;
- reset_surface = 0;
- got_id = 0;
-
- if (pDrawable->type == DRAWABLE_PIXMAP)
- {
- pDstPixmap = (PixmapPtr)pDrawable;
- pDstPriv = GETPIXPRIV(pDstPixmap);
-
- if (xrdp_is_os(pDstPixmap, pDstPriv))
- {
- post_process = 1;
-
- if (g_do_dirty_os)
- {
- LLOGLN(10, ("rdpPolyFillArc: getting dirty"));
- pDstPriv->is_dirty = 1;
- pDirtyPriv = pDstPriv;
- dirty_type = RDI_IMGLY;
- }
- else
- {
- rdpup_switch_os_surface(pDstPriv->rdpindex);
- reset_surface = 1;
- rdpup_get_pixmap_image_rect(pDstPixmap, &id);
- got_id = 1;
- }
- }
- }
- else
- {
- if (pDrawable->type == DRAWABLE_WINDOW)
- {
- pDstWnd = (WindowPtr)pDrawable;
-
- if (pDstWnd->viewable)
- {
- post_process = 1;
-
- if (g_do_dirty_ons)
- {
- LLOGLN(10, ("rdpPolyFillArc: getting dirty"));
- g_screenPriv.is_dirty = 1;
- pDirtyPriv = &g_screenPriv;
- dirty_type = RDI_IMGLL;
- }
- else
- {
- rdpup_get_screen_image_rect(&id);
- got_id = 1;
- }
- }
- }
- }
-
- if (!post_process)
- {
- g_free(rects);
- return;
- }
-
- RegionInit(&clip_reg, NullBox, 0);
- cd = rdp_get_clip(&clip_reg, pDrawable, pGC);
-
- if (cd == 1)
- {
- if (rects != 0)
- {
- tmpRegion = RegionFromRects(narcs, rects, CT_NONE);
- num_clips = REGION_NUM_RECTS(tmpRegion);
-
- if (num_clips > 0)
- {
- if (dirty_type != 0)
- {
- draw_item_add_img_region(pDirtyPriv, tmpRegion, GXcopy, dirty_type, TAG_POLYFILLARC);
- }
- else if (got_id)
- {
- rdpup_begin_update();
-
- for (i = num_clips - 1; i >= 0; i--)
- {
- box = REGION_RECTS(tmpRegion)[i];
- rdpup_send_area(&id, box.x1, box.y1, box.x2 - box.x1,
- box.y2 - box.y1);
- }
-
- rdpup_end_update();
- }
- }
-
- RegionDestroy(tmpRegion);
- }
- }
- else if (cd == 2)
- {
- if (rects != 0)
- {
- tmpRegion = RegionFromRects(narcs, rects, CT_NONE);
- RegionIntersect(tmpRegion, tmpRegion, &clip_reg);
- num_clips = REGION_NUM_RECTS(tmpRegion);
-
- if (num_clips > 0)
- {
- if (dirty_type != 0)
- {
- draw_item_add_img_region(pDirtyPriv, tmpRegion, GXcopy, dirty_type, TAG_POLYFILLARC);
- }
- else if (got_id)
- {
- rdpup_begin_update();
-
- for (i = num_clips - 1; i >= 0; i--)
- {
- box = REGION_RECTS(tmpRegion)[i];
- rdpup_send_area(&id, box.x1, box.y1, box.x2 - box.x1,
- box.y2 - box.y1);
- }
-
- rdpup_end_update();
- }
- }
-
- RegionDestroy(tmpRegion);
- }
- }
-
- RegionUninit(&clip_reg);
- g_free(rects);
-
- if (reset_surface)
- {
- rdpup_switch_os_surface(-1);
- }
-}
diff --git a/xorg/X11R7.6/rdp/rdpPolyFillArc.h b/xorg/X11R7.6/rdp/rdpPolyFillArc.h
deleted file mode 100644
index 9a9846e1..00000000
--- a/xorg/X11R7.6/rdp/rdpPolyFillArc.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#ifndef __RDPPOLYFILLARC_H
-#define __RDPPOLYFILLARC_H
-
-void
-rdpPolyFillArc(DrawablePtr pDrawable, GCPtr pGC, int narcs, xArc* parcs);
-
-#endif
diff --git a/xorg/X11R7.6/rdp/rdpPolyFillRect.c b/xorg/X11R7.6/rdp/rdpPolyFillRect.c
deleted file mode 100644
index 6d37f587..00000000
--- a/xorg/X11R7.6/rdp/rdpPolyFillRect.c
+++ /dev/null
@@ -1,319 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#include "rdp.h"
-#include "rdpdraw.h"
-
-#define LDEBUG 0
-
-#define LOG_LEVEL 1
-#define LLOG(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; } } while (0)
-#define LLOGLN(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; ErrorF("\n"); } } while (0)
-
-extern rdpScreenInfoRec g_rdpScreen; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpGCIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpWindowIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpPixmapIndex; /* from rdpmain.c */
-extern int g_Bpp; /* from rdpmain.c */
-extern ScreenPtr g_pScreen; /* from rdpmain.c */
-extern Bool g_wrapPixmap; /* from rdpmain.c */
-extern int g_do_dirty_os; /* in rdpmain.c */
-extern int g_do_dirty_ons; /* in rdpmain.c */
-extern rdpPixmapRec g_screenPriv; /* in rdpmain.c */
-
-extern GCOps g_rdpGCOps; /* from rdpdraw.c */
-
-extern int g_con_number; /* in rdpup.c */
-
-/******************************************************************************/
-static void
-rdpPolyFillRectOrg(DrawablePtr pDrawable, GCPtr pGC, int nrectFill,
- xRectangle *prectInit)
-{
- rdpGCPtr priv;
- GCFuncs *oldFuncs;
-
- GC_OP_PROLOGUE(pGC);
- pGC->ops->PolyFillRect(pDrawable, pGC, nrectFill, prectInit);
- GC_OP_EPILOGUE(pGC);
-}
-
-/******************************************************************************/
-void
-rdpPolyFillRect(DrawablePtr pDrawable, GCPtr pGC, int nrectFill,
- xRectangle *prectInit)
-{
- int j;
- int cd;
- int num_clips;
- RegionRec clip_reg;
- RegionPtr fill_reg;
- BoxRec box;
-
- int got_id;
- int dirty_type;
- int post_process;
- int reset_surface;
-
- struct image_data id;
- WindowPtr pDstWnd;
- PixmapPtr pDstPixmap;
- rdpPixmapRec *pDstPriv;
- rdpPixmapRec *pDirtyPriv;
-
- LLOGLN(10, ("rdpPolyFillRect:"));
-
- /* make a copy of rects */
- fill_reg = RegionFromRects(nrectFill, prectInit, CT_NONE);
-
- /* do original call */
- rdpPolyFillRectOrg(pDrawable, pGC, nrectFill, prectInit);
-
- dirty_type = 0;
- pDirtyPriv = 0;
- post_process = 0;
- reset_surface = 0;
-
- if (pDrawable->type == DRAWABLE_PIXMAP)
- {
- pDstPixmap = (PixmapPtr)pDrawable;
- pDstPriv = GETPIXPRIV(pDstPixmap);
- if (pDstPixmap->devPrivate.ptr == g_rdpScreen.pfbMemory)
- {
- /* treat like root window */
- post_process = 1;
-
- if (g_do_dirty_ons)
- {
- LLOGLN(10, ("rdpPolyFillRect: getting dirty"));
- g_screenPriv.is_dirty = 1;
- pDirtyPriv = &g_screenPriv;
- dirty_type = (FillTiled == pGC->fillStyle) ?
- RDI_IMGLY : RDI_IMGLL;
- }
- else
- {
- rdpup_get_screen_image_rect(&id);
- got_id = 1;
- }
- }
- else if (xrdp_is_os(pDstPixmap, pDstPriv))
- {
- post_process = 1;
-
- if (g_do_dirty_os)
- {
- LLOGLN(10, ("rdpPolyFillRect: getting dirty"));
- pDstPriv->is_dirty = 1;
- pDirtyPriv = pDstPriv;
- dirty_type = (FillTiled == pGC->fillStyle) ?
- RDI_IMGLY : RDI_IMGLL;
- }
- else
- {
- rdpup_switch_os_surface(pDstPriv->rdpindex);
- reset_surface = 1;
- rdpup_get_pixmap_image_rect(pDstPixmap, &id);
- got_id = 1;
- }
- }
- }
- else
- {
- if (pDrawable->type == DRAWABLE_WINDOW)
- {
- pDstWnd = (WindowPtr)pDrawable;
-
- if (pDstWnd->viewable)
- {
- post_process = 1;
-
- if (g_do_dirty_ons)
- {
- LLOGLN(10, ("rdpPolyFillRect: getting dirty"));
- g_screenPriv.is_dirty = 1;
- pDirtyPriv = &g_screenPriv;
- dirty_type = (FillTiled == pGC->fillStyle) ?
- RDI_IMGLY : RDI_IMGLL;
- }
- else
- {
- rdpup_get_screen_image_rect(&id);
- got_id = 1;
- }
- }
- }
- }
-
- if (!post_process)
- {
- RegionDestroy(fill_reg);
- LLOGLN(10, ("rdpPolyFillRect: out, post_process not set"));
- return;
- }
-
- RegionTranslate(fill_reg, pDrawable->x, pDrawable->y);
- RegionInit(&clip_reg, NullBox, 0);
- cd = rdp_get_clip(&clip_reg, pDrawable, pGC);
- LLOGLN(10, ("rdpPolyFillRect: cd %d", cd));
-
- if (cd == 1) /* no clip */
- {
- if (dirty_type != 0)
- {
- if (pGC->fillStyle == 0 && /* solid fill */
- (pGC->alu == GXclear ||
- pGC->alu == GXset ||
- pGC->alu == GXinvert ||
- pGC->alu == GXnoop ||
- pGC->alu == GXand ||
- pGC->alu == GXcopy /*||
- pGC->alu == GXxor*/)) /* todo, why doesn't xor work? */
- {
- draw_item_add_fill_region(pDirtyPriv, fill_reg, pGC->fgPixel,
- pGC->alu);
- }
- else
- {
- draw_item_add_img_region(pDirtyPriv, fill_reg, GXcopy,
- dirty_type, TAG_POLYFILLRECT);
- }
- }
- else if (got_id)
- {
- rdpup_begin_update();
-
- if (pGC->fillStyle == 0 && /* solid fill */
- (pGC->alu == GXclear ||
- pGC->alu == GXset ||
- pGC->alu == GXinvert ||
- pGC->alu == GXnoop ||
- pGC->alu == GXand ||
- pGC->alu == GXcopy /*||
- pGC->alu == GXxor*/)) /* todo, why doesn't xor work? */
- {
- rdpup_set_fgcolor(pGC->fgPixel);
- rdpup_set_opcode(pGC->alu);
-
- for (j = REGION_NUM_RECTS(fill_reg) - 1; j >= 0; j--)
- {
- box = REGION_RECTS(fill_reg)[j];
- rdpup_fill_rect(box.x1, box.y1,
- box.x2 - box.x1, box.y2 - box.y1);
- }
-
- rdpup_set_opcode(GXcopy);
- }
- else /* non solid fill */
- {
- for (j = REGION_NUM_RECTS(fill_reg) - 1; j >= 0; j--)
- {
- box = REGION_RECTS(fill_reg)[j];
- rdpup_send_area(&id, box.x1, box.y1, box.x2 - box.x1,
- box.y2 - box.y1);
- }
- }
-
- rdpup_end_update();
- }
- }
- else if (cd == 2) /* clip */
- {
- RegionIntersect(&clip_reg, &clip_reg, fill_reg);
- num_clips = REGION_NUM_RECTS(&clip_reg);
-
- if (num_clips > 0)
- {
- if (dirty_type != 0)
- {
- if (pGC->fillStyle == 0 && /* solid fill */
- (pGC->alu == GXclear ||
- pGC->alu == GXset ||
- pGC->alu == GXinvert ||
- pGC->alu == GXnoop ||
- pGC->alu == GXand ||
- pGC->alu == GXcopy /*||
- pGC->alu == GXxor*/)) /* todo, why doesn't xor work? */
- {
- LLOGLN(10, ("rdpPolyFillRect: 3"));
- draw_item_add_fill_region(pDirtyPriv, &clip_reg,
- pGC->fgPixel,
- pGC->alu);
- }
- else
- {
- LLOGLN(10, ("rdpPolyFillRect: 4"));
- draw_item_add_img_region(pDirtyPriv, &clip_reg, GXcopy,
- dirty_type, TAG_POLYFILLRECT);
- }
- }
- else if (got_id)
- {
- rdpup_begin_update();
-
- LLOGLN(10, ("2 %x", pGC->fgPixel));
-
- if (pGC->fillStyle == 0 && /* solid fill */
- (pGC->alu == GXclear ||
- pGC->alu == GXset ||
- pGC->alu == GXinvert ||
- pGC->alu == GXnoop ||
- pGC->alu == GXand ||
- pGC->alu == GXcopy /*||
- pGC->alu == GXxor*/)) /* todo, why doesn't xor work? */
- {
- rdpup_set_fgcolor(pGC->fgPixel);
- rdpup_set_opcode(pGC->alu);
-
- for (j = num_clips - 1; j >= 0; j--)
- {
- box = REGION_RECTS(&clip_reg)[j];
- rdpup_fill_rect(box.x1, box.y1,
- box.x2 - box.x1, box.y2 - box.y1);
- }
-
- rdpup_set_opcode(GXcopy);
- }
- else /* non solid fill */
- {
- for (j = num_clips - 1; j >= 0; j--)
- {
- box = REGION_RECTS(&clip_reg)[j];
- rdpup_send_area(&id, box.x1, box.y1,
- box.x2 - box.x1, box.y2 - box.y1);
- }
- }
-
- rdpup_end_update();
- }
- }
- }
-
- RegionUninit(&clip_reg);
- RegionDestroy(fill_reg);
-
- if (reset_surface)
- {
- rdpup_switch_os_surface(-1);
- }
-}
diff --git a/xorg/X11R7.6/rdp/rdpPolyFillRect.h b/xorg/X11R7.6/rdp/rdpPolyFillRect.h
deleted file mode 100644
index 94ac4b59..00000000
--- a/xorg/X11R7.6/rdp/rdpPolyFillRect.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#ifndef __RDPPOLYFILLRECT_H
-#define __RDPPOLYFILLRECT_H
-
-void
-rdpPolyFillRect(DrawablePtr pDrawable, GCPtr pGC, int nrectFill,
- xRectangle* prectInit);
-
-#endif
diff --git a/xorg/X11R7.6/rdp/rdpPolyGlyphBlt.c b/xorg/X11R7.6/rdp/rdpPolyGlyphBlt.c
deleted file mode 100644
index 8ce1db08..00000000
--- a/xorg/X11R7.6/rdp/rdpPolyGlyphBlt.c
+++ /dev/null
@@ -1,220 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#include "rdp.h"
-#include "rdpdraw.h"
-
-#define LDEBUG 0
-
-#define LOG_LEVEL 1
-#define LLOG(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; } } while (0)
-#define LLOGLN(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; ErrorF("\n"); } } while (0)
-
-extern rdpScreenInfoRec g_rdpScreen; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpGCIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpWindowIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpPixmapIndex; /* from rdpmain.c */
-extern int g_Bpp; /* from rdpmain.c */
-extern ScreenPtr g_pScreen; /* from rdpmain.c */
-extern Bool g_wrapPixmap; /* from rdpmain.c */
-extern int g_do_dirty_os; /* in rdpmain.c */
-extern int g_do_dirty_ons; /* in rdpmain.c */
-extern rdpPixmapRec g_screenPriv; /* in rdpmain.c */
-
-extern GCOps g_rdpGCOps; /* from rdpdraw.c */
-
-extern int g_con_number; /* in rdpup.c */
-
-/******************************************************************************/
-void
-rdpPolyGlyphBltOrg(DrawablePtr pDrawable, GCPtr pGC,
- int x, int y, unsigned int nglyph,
- CharInfoPtr *ppci, pointer pglyphBase)
-{
- rdpGCPtr priv;
- GCFuncs *oldFuncs;
-
- GC_OP_PROLOGUE(pGC);
- pGC->ops->PolyGlyphBlt(pDrawable, pGC, x, y, nglyph, ppci, pglyphBase);
- GC_OP_EPILOGUE(pGC);
-}
-
-/******************************************************************************/
-void
-rdpPolyGlyphBlt(DrawablePtr pDrawable, GCPtr pGC,
- int x, int y, unsigned int nglyph,
- CharInfoPtr *ppci, pointer pglyphBase)
-{
- RegionRec reg;
- RegionRec reg1;
- int num_clips;
- int cd;
- int j;
- int got_id;
- int dirty_type;
- int post_process;
- int reset_surface;
- BoxRec box;
- struct image_data id;
- WindowPtr pDstWnd;
- PixmapPtr pDstPixmap;
- rdpPixmapRec *pDstPriv;
- rdpPixmapRec *pDirtyPriv;
-
- LLOGLN(10, ("rdpPolyGlyphBlt:"));
-
- if (nglyph != 0)
- {
- GetTextBoundingBox(pDrawable, pGC->font, x, y, nglyph, &box);
- }
-
- /* do original call */
- rdpPolyGlyphBltOrg(pDrawable, pGC, x, y, nglyph, ppci, pglyphBase);
-
- dirty_type = 0;
- pDirtyPriv = 0;
- post_process = 0;
- reset_surface = 0;
- got_id = 0;
-
- if (pDrawable->type == DRAWABLE_PIXMAP)
- {
- pDstPixmap = (PixmapPtr)pDrawable;
- pDstPriv = GETPIXPRIV(pDstPixmap);
-
- if (xrdp_is_os(pDstPixmap, pDstPriv))
- {
- post_process = 1;
-
- if (g_do_dirty_os)
- {
- LLOGLN(10, ("rdpPolyGlyphBlt: getting dirty"));
- pDstPriv->is_dirty = 1;
- pDirtyPriv = pDstPriv;
- dirty_type = RDI_IMGLY;
- }
- else
- {
- rdpup_switch_os_surface(pDstPriv->rdpindex);
- reset_surface = 1;
- rdpup_get_pixmap_image_rect(pDstPixmap, &id);
- got_id = 1;
- }
- }
- }
- else
- {
- if (pDrawable->type == DRAWABLE_WINDOW)
- {
- pDstWnd = (WindowPtr)pDrawable;
-
- if (pDstWnd->viewable)
- {
- post_process = 1;
-
- if (g_do_dirty_ons)
- {
- LLOGLN(10, ("rdpPolyGlyphBlt: getting dirty"));
- g_screenPriv.is_dirty = 1;
- pDirtyPriv = &g_screenPriv;
- dirty_type = RDI_IMGLL;
- }
- else
- {
- rdpup_get_screen_image_rect(&id);
- got_id = 1;
- }
- }
- }
- }
-
- if (!post_process)
- {
- return;
- }
-
- RegionInit(®, NullBox, 0);
-
- if (nglyph == 0)
- {
- cd = 0;
- }
- else
- {
- cd = rdp_get_clip(®, pDrawable, pGC);
- }
-
- if (cd == 1)
- {
- if (dirty_type != 0)
- {
- RegionInit(®1, &box, 0);
- draw_item_add_img_region(pDirtyPriv, ®1, GXcopy, dirty_type, TAG_POLYGLYPHBLT);
- RegionUninit(®1);
- }
- else if (got_id)
- {
- rdpup_begin_update();
- rdpup_send_area(&id, box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
- rdpup_end_update();
- }
- }
- else if (cd == 2)
- {
- RegionInit(®1, &box, 0);
- RegionIntersect(®, ®, ®1);
- num_clips = REGION_NUM_RECTS(®);
-
- if (num_clips > 0)
- {
- if (dirty_type != 0)
- {
- draw_item_add_img_region(pDirtyPriv, ®, GXcopy, dirty_type, TAG_POLYGLYPHBLT);
- }
- else if (got_id)
- {
- rdpup_begin_update();
-
- for (j = num_clips - 1; j >= 0; j--)
- {
- box = REGION_RECTS(®)[j];
- rdpup_send_area(&id, box.x1, box.y1, box.x2 - box.x1,
- box.y2 - box.y1);
- }
-
- rdpup_end_update();
- }
- }
-
- RegionUninit(®1);
- }
-
- RegionUninit(®);
-
- if (reset_surface)
- {
- rdpup_switch_os_surface(-1);
- }
-
- return;
-}
diff --git a/xorg/X11R7.6/rdp/rdpPolyGlyphBlt.h b/xorg/X11R7.6/rdp/rdpPolyGlyphBlt.h
deleted file mode 100644
index 9c6519d8..00000000
--- a/xorg/X11R7.6/rdp/rdpPolyGlyphBlt.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#ifndef __RDPPOLYGLYPHBLT_H
-#define __RDPPOLYGLYPHBLT_H
-
-void
-rdpPolyGlyphBlt(DrawablePtr pDrawable, GCPtr pGC,
- int x, int y, unsigned int nglyph,
- CharInfoPtr* ppci, pointer pglyphBase);
-
-#endif
diff --git a/xorg/X11R7.6/rdp/rdpPolyPoint.c b/xorg/X11R7.6/rdp/rdpPolyPoint.c
deleted file mode 100644
index e2eadafd..00000000
--- a/xorg/X11R7.6/rdp/rdpPolyPoint.c
+++ /dev/null
@@ -1,307 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#include "rdp.h"
-#include "rdpdraw.h"
-
-#define LDEBUG 0
-
-#define LOG_LEVEL 1
-#define LLOG(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; } } while (0)
-#define LLOGLN(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; ErrorF("\n"); } } while (0)
-
-extern rdpScreenInfoRec g_rdpScreen; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpGCIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpWindowIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpPixmapIndex; /* from rdpmain.c */
-extern int g_Bpp; /* from rdpmain.c */
-extern ScreenPtr g_pScreen; /* from rdpmain.c */
-extern Bool g_wrapPixmap; /* from rdpmain.c */
-extern int g_do_dirty_os; /* in rdpmain.c */
-extern int g_do_dirty_ons; /* in rdpmain.c */
-extern rdpPixmapRec g_screenPriv; /* in rdpmain.c */
-
-extern GCOps g_rdpGCOps; /* from rdpdraw.c */
-
-extern int g_con_number; /* in rdpup.c */
-
-/******************************************************************************/
-void
-rdpPolyPointOrg(DrawablePtr pDrawable, GCPtr pGC, int mode,
- int npt, DDXPointPtr in_pts)
-{
- rdpGCPtr priv;
- GCFuncs *oldFuncs;
-
- GC_OP_PROLOGUE(pGC);
- pGC->ops->PolyPoint(pDrawable, pGC, mode, npt, in_pts);
- GC_OP_EPILOGUE(pGC);
-}
-
-/******************************************************************************/
-void
-rdpPolyPoint(DrawablePtr pDrawable, GCPtr pGC, int mode,
- int npt, DDXPointPtr in_pts)
-{
- RegionRec clip_reg;
- RegionRec reg1;
- RegionRec reg2;
- int num_clips;
- int cd;
- int x;
- int y;
- int i;
- int j;
- int got_id;
- int dirty_type;
- int post_process;
- int reset_surface;
- BoxRec box;
- BoxRec total_box;
- DDXPointPtr pts;
- DDXPointRec stack_pts[32];
- struct image_data id;
- WindowPtr pDstWnd;
- PixmapPtr pDstPixmap;
- rdpPixmapRec *pDstPriv;
- rdpPixmapRec *pDirtyPriv;
-
- LLOGLN(10, ("rdpPolyPoint:"));
- LLOGLN(10, ("rdpPolyPoint: npt %d", npt));
-
- if (npt > 32)
- {
- pts = (DDXPointPtr)g_malloc(sizeof(DDXPointRec) * npt, 0);
- }
- else
- {
- pts = stack_pts;
- }
-
- for (i = 0; i < npt; i++)
- {
- pts[i].x = pDrawable->x + in_pts[i].x;
- pts[i].y = pDrawable->y + in_pts[i].y;
-
- if (i == 0)
- {
- total_box.x1 = pts[0].x;
- total_box.y1 = pts[0].y;
- total_box.x2 = pts[0].x;
- total_box.y2 = pts[0].y;
- }
- else
- {
- if (pts[i].x < total_box.x1)
- {
- total_box.x1 = pts[i].x;
- }
-
- if (pts[i].y < total_box.y1)
- {
- total_box.y1 = pts[i].y;
- }
-
- if (pts[i].x > total_box.x2)
- {
- total_box.x2 = pts[i].x;
- }
-
- if (pts[i].y > total_box.y2)
- {
- total_box.y2 = pts[i].y;
- }
- }
-
- /* todo, use this total_box */
- }
-
- /* do original call */
- rdpPolyPointOrg(pDrawable, pGC, mode, npt, in_pts);
-
- dirty_type = 0;
- pDirtyPriv = 0;
- post_process = 0;
- reset_surface = 0;
- got_id = 0;
-
- if (pDrawable->type == DRAWABLE_PIXMAP)
- {
- pDstPixmap = (PixmapPtr)pDrawable;
- pDstPriv = GETPIXPRIV(pDstPixmap);
-
- if (xrdp_is_os(pDstPixmap, pDstPriv))
- {
- post_process = 1;
-
- if (g_do_dirty_os)
- {
- LLOGLN(10, ("rdpPolyPoint: getting dirty"));
- pDstPriv->is_dirty = 1;
- pDirtyPriv = pDstPriv;
- dirty_type = RDI_IMGLL;
- }
- else
- {
- rdpup_switch_os_surface(pDstPriv->rdpindex);
- reset_surface = 1;
- rdpup_get_pixmap_image_rect(pDstPixmap, &id);
- got_id = 1;
- }
- }
- }
- else
- {
- if (pDrawable->type == DRAWABLE_WINDOW)
- {
- pDstWnd = (WindowPtr)pDrawable;
-
- if (pDstWnd->viewable)
- {
- post_process = 1;
-
- if (g_do_dirty_ons)
- {
- LLOGLN(10, ("rdpPolyPoint: getting dirty"));
- g_screenPriv.is_dirty = 1;
- pDirtyPriv = &g_screenPriv;
- dirty_type = RDI_IMGLL;
- }
- else
- {
- rdpup_get_screen_image_rect(&id);
- got_id = 1;
- }
- }
- }
- }
-
- if (!post_process)
- {
- return;
- }
-
- RegionInit(&clip_reg, NullBox, 0);
- cd = rdp_get_clip(&clip_reg, pDrawable, pGC);
-
- if (cd == 1)
- {
- if (npt > 0)
- {
- if (dirty_type != 0)
- {
- RegionInit(®1, NullBox, 0);
-
- for (i = 0; i < npt; i++)
- {
- box.x1 = pts[i].x;
- box.y1 = pts[i].y;
- box.x2 = box.x1 + 1;
- box.y2 = box.y1 + 1;
- RegionInit(®2, &box, 0);
- RegionUnion(®1, ®1, ®2);
- RegionUninit(®2);
- }
-
- draw_item_add_fill_region(pDirtyPriv, ®1, pGC->fgPixel,
- pGC->alu);
- RegionUninit(®1);
- }
- else if (got_id)
- {
- rdpup_begin_update();
- rdpup_set_fgcolor(pGC->fgPixel);
-
- for (i = 0; i < npt; i++)
- {
- x = pts[i].x;
- y = pts[i].y;
- rdpup_fill_rect(x, y, 1, 1);
- }
-
- rdpup_end_update();
- }
- }
- }
- else if (cd == 2)
- {
- num_clips = REGION_NUM_RECTS(&clip_reg);
-
- if (npt > 0 && num_clips > 0)
- {
- if (dirty_type != 0)
- {
- RegionInit(®1, NullBox, 0);
-
- for (i = 0; i < npt; i++)
- {
- box.x1 = pts[i].x;
- box.y1 = pts[i].y;
- box.x2 = box.x1 + 1;
- box.y2 = box.y1 + 1;
- RegionInit(®2, &box, 0);
- RegionUnion(®1, ®1, ®2);
- RegionUninit(®2);
- }
-
- RegionIntersect(®1, ®1, &clip_reg);
- draw_item_add_fill_region(pDirtyPriv, ®1, pGC->fgPixel,
- pGC->alu);
- RegionUninit(®1);
- }
- else if (got_id)
- {
- rdpup_begin_update();
- rdpup_set_fgcolor(pGC->fgPixel);
-
- for (j = num_clips - 1; j >= 0; j--)
- {
- box = REGION_RECTS(&clip_reg)[j];
- rdpup_set_clip(box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
-
- for (i = 0; i < npt; i++)
- {
- x = pts[i].x;
- y = pts[i].y;
- rdpup_fill_rect(x, y, 1, 1);
- }
- }
-
- rdpup_reset_clip();
- rdpup_end_update();
- }
- }
- }
-
- RegionUninit(&clip_reg);
-
- if (pts != stack_pts)
- {
- g_free(pts);
- }
-
- if (reset_surface)
- {
- rdpup_switch_os_surface(-1);
- }
-}
diff --git a/xorg/X11R7.6/rdp/rdpPolyPoint.h b/xorg/X11R7.6/rdp/rdpPolyPoint.h
deleted file mode 100644
index 87bf9459..00000000
--- a/xorg/X11R7.6/rdp/rdpPolyPoint.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#ifndef __RDPPOLYPOINT_H
-#define __RDPPOLYPOINT_H
-
-void
-rdpPolyPoint(DrawablePtr pDrawable, GCPtr pGC, int mode,
- int npt, DDXPointPtr in_pts);
-
-#endif
diff --git a/xorg/X11R7.6/rdp/rdpPolyRectangle.c b/xorg/X11R7.6/rdp/rdpPolyRectangle.c
deleted file mode 100644
index c1a5c971..00000000
--- a/xorg/X11R7.6/rdp/rdpPolyRectangle.c
+++ /dev/null
@@ -1,323 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#include "rdp.h"
-#include "rdpdraw.h"
-
-#define LDEBUG 0
-
-#define LOG_LEVEL 1
-#define LLOG(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; } } while (0)
-#define LLOGLN(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; ErrorF("\n"); } } while (0)
-
-extern rdpScreenInfoRec g_rdpScreen; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpGCIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpWindowIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpPixmapIndex; /* from rdpmain.c */
-extern int g_Bpp; /* from rdpmain.c */
-extern ScreenPtr g_pScreen; /* from rdpmain.c */
-extern Bool g_wrapPixmap; /* from rdpmain.c */
-extern int g_do_dirty_os; /* in rdpmain.c */
-extern int g_do_dirty_ons; /* in rdpmain.c */
-extern rdpPixmapRec g_screenPriv; /* in rdpmain.c */
-
-extern GCOps g_rdpGCOps; /* from rdpdraw.c */
-
-extern int g_con_number; /* in rdpup.c */
-
-/******************************************************************************/
-static void
-rdpPolyRectangleOrg(DrawablePtr pDrawable, GCPtr pGC, int nrects,
- xRectangle *rects)
-{
- rdpGCPtr priv;
- GCFuncs *oldFuncs;
-
- GC_OP_PROLOGUE(pGC);
- pGC->ops->PolyRectangle(pDrawable, pGC, nrects, rects);
- GC_OP_EPILOGUE(pGC);
-}
-
-/******************************************************************************/
-/* tested with pGC->lineWidth = 0, 1, 2, 4 and opcodes 3 and 6 */
-void
-rdpPolyRectangle(DrawablePtr pDrawable, GCPtr pGC, int nrects,
- xRectangle *rects)
-{
- RegionRec clip_reg;
- RegionPtr fill_reg;
- int num_clips;
- int cd;
- int lw;
- int i;
- int j;
- int up;
- int down;
- int got_id;
- int dirty_type;
- int post_process;
- int reset_surface;
- xRectangle *regRects;
- xRectangle *r;
- xRectangle *rect1;
- BoxRec box;
- struct image_data id;
-
- WindowPtr pDstWnd;
- PixmapPtr pDstPixmap;
- rdpPixmapRec *pDstPriv;
- rdpPixmapRec *pDirtyPriv;
-
- LLOGLN(10, ("rdpPolyRectangle:"));
-
- /* make a copy of rects */
- rect1 = (xRectangle *)g_malloc(sizeof(xRectangle) * nrects, 0);
-
- for (i = 0; i < nrects; i++)
- {
- rect1[i] = rects[i];
- }
-
- /* do original call */
- rdpPolyRectangleOrg(pDrawable, pGC, nrects, rects);
-
- dirty_type = 0;
- pDirtyPriv = 0;
- post_process = 0;
- reset_surface = 0;
- got_id = 0;
-
- if (pDrawable->type == DRAWABLE_PIXMAP)
- {
- pDstPixmap = (PixmapPtr)pDrawable;
- pDstPriv = GETPIXPRIV(pDstPixmap);
-
- if (xrdp_is_os(pDstPixmap, pDstPriv))
- {
- post_process = 1;
-
- if (g_do_dirty_os)
- {
- LLOGLN(10, ("rdpPolyRectangle: getting dirty"));
- pDstPriv->is_dirty = 1;
- pDirtyPriv = pDstPriv;
- dirty_type = RDI_IMGLL;
- }
- else
- {
- rdpup_switch_os_surface(pDstPriv->rdpindex);
- reset_surface = 1;
- rdpup_get_pixmap_image_rect(pDstPixmap, &id);
- got_id = 1;
- }
- }
- }
- else
- {
- if (pDrawable->type == DRAWABLE_WINDOW)
- {
- pDstWnd = (WindowPtr)pDrawable;
-
- if (pDstWnd->viewable)
- {
- post_process = 1;
-
- if (g_do_dirty_ons)
- {
- LLOGLN(10, ("rdpPolyRectangle: getting dirty"));
- g_screenPriv.is_dirty = 1;
- pDirtyPriv = &g_screenPriv;
- dirty_type = RDI_IMGLL;
- }
- else
- {
- rdpup_get_screen_image_rect(&id);
- got_id = 1;
- }
- }
- }
- }
-
- if (!post_process)
- {
- g_free(rect1);
- return;
- }
-
- RegionInit(&clip_reg, NullBox, 0);
- cd = rdp_get_clip(&clip_reg, pDrawable, pGC);
- regRects = 0;
-
- if ((cd != 0) && (nrects > 0))
- {
- regRects = (xRectangle *)g_malloc(nrects * 4 * sizeof(xRectangle), 0);
- lw = pGC->lineWidth;
-
- if (lw < 1)
- {
- lw = 1;
- }
-
- up = lw / 2;
- down = 1 + (lw - 1) / 2;
-
- for (i = 0; i < nrects; i++)
- {
- r = regRects + i * 4;
- r->x = (rect1[i].x + pDrawable->x) - up;
- r->y = (rect1[i].y + pDrawable->y) - up;
- r->width = rect1[i].width + up + down;
- r->height = lw;
- r++;
- r->x = (rect1[i].x + pDrawable->x) - up;
- r->y = (rect1[i].y + pDrawable->y) + down;
- r->width = lw;
- r->height = MAX(rect1[i].height - (up + down), 0);
- r++;
- r->x = ((rect1[i].x + rect1[i].width) + pDrawable->x) - up;
- r->y = (rect1[i].y + pDrawable->y) + down;
- r->width = lw;
- r->height = MAX(rect1[i].height - (up + down), 0);
- r++;
- r->x = (rect1[i].x + pDrawable->x) - up;
- r->y = ((rect1[i].y + rect1[i].height) + pDrawable->y) - up;
- r->width = rect1[i].width + up + down;
- r->height = lw;
- }
- }
-
- if (cd == 1)
- {
- if (regRects != 0)
- {
- if (dirty_type != 0)
- {
- fill_reg = RegionFromRects(nrects * 4, regRects, CT_NONE);
-
- if (pGC->lineStyle == LineSolid)
- {
- draw_item_add_fill_region(pDirtyPriv, fill_reg, pGC->fgPixel,
- pGC->alu);
- }
- else
- {
- draw_item_add_img_region(pDirtyPriv, fill_reg, GXcopy, dirty_type, TAG_POLYRECTANGLE);
- }
-
- RegionDestroy(fill_reg);
- }
- else if (got_id)
- {
- rdpup_begin_update();
-
- if (pGC->lineStyle == LineSolid)
- {
- rdpup_set_fgcolor(pGC->fgPixel);
- rdpup_set_opcode(pGC->alu);
-
- for (i = 0; i < nrects * 4; i++)
- {
- r = regRects + i;
- rdpup_fill_rect(r->x, r->y, r->width, r->height);
- }
-
- rdpup_set_opcode(GXcopy);
- }
- else
- {
- for (i = 0; i < nrects * 4; i++)
- {
- r = regRects + i;
- rdpup_send_area(&id, r->x, r->y, r->width, r->height);
- }
- }
-
- rdpup_end_update();
- }
- }
- }
- else if (cd == 2)
- {
- if (regRects != 0)
- {
- fill_reg = RegionFromRects(nrects * 4, regRects, CT_NONE);
- RegionIntersect(&clip_reg, &clip_reg, fill_reg);
- num_clips = REGION_NUM_RECTS(&clip_reg);
-
- if (num_clips > 0)
- {
- if (dirty_type != 0)
- {
- if (pGC->lineStyle == LineSolid)
- {
- draw_item_add_fill_region(pDirtyPriv, &clip_reg, pGC->fgPixel,
- pGC->alu);
- }
- else
- {
- draw_item_add_img_region(pDirtyPriv, &clip_reg, GXcopy, dirty_type, TAG_POLYRECTANGLE);
- }
- }
- else if (got_id)
- {
- rdpup_begin_update();
-
- if (pGC->lineStyle == LineSolid)
- {
- rdpup_set_fgcolor(pGC->fgPixel);
- rdpup_set_opcode(pGC->alu);
-
- for (j = num_clips - 1; j >= 0; j--)
- {
- box = REGION_RECTS(&clip_reg)[j];
- rdpup_fill_rect(box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
- }
-
- rdpup_set_opcode(GXcopy);
- }
- else
- {
- for (j = num_clips - 1; j >= 0; j--)
- {
- box = REGION_RECTS(&clip_reg)[j];
- rdpup_send_area(&id, box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
- }
- }
-
- rdpup_end_update();
- }
- }
-
- RegionDestroy(fill_reg);
- }
- }
-
- RegionUninit(&clip_reg);
- g_free(regRects);
- g_free(rect1);
-
- if (reset_surface)
- {
- rdpup_switch_os_surface(-1);
- }
-}
diff --git a/xorg/X11R7.6/rdp/rdpPolyRectangle.h b/xorg/X11R7.6/rdp/rdpPolyRectangle.h
deleted file mode 100644
index d09446d5..00000000
--- a/xorg/X11R7.6/rdp/rdpPolyRectangle.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#ifndef __RDPPOLYRECTANGLE_H
-#define __RDPPOLYRECTANGLE_H
-
-void
-rdpPolyRectangle(DrawablePtr pDrawable, GCPtr pGC, int nrects,
- xRectangle* rects);
-
-#endif
diff --git a/xorg/X11R7.6/rdp/rdpPolySegment.c b/xorg/X11R7.6/rdp/rdpPolySegment.c
deleted file mode 100644
index f4bcfe31..00000000
--- a/xorg/X11R7.6/rdp/rdpPolySegment.c
+++ /dev/null
@@ -1,240 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#include "rdp.h"
-#include "rdpdraw.h"
-
-#define LDEBUG 0
-
-#define LOG_LEVEL 1
-#define LLOG(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; } } while (0)
-#define LLOGLN(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; ErrorF("\n"); } } while (0)
-
-extern rdpScreenInfoRec g_rdpScreen; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpGCIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpWindowIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpPixmapIndex; /* from rdpmain.c */
-extern int g_Bpp; /* from rdpmain.c */
-extern ScreenPtr g_pScreen; /* from rdpmain.c */
-extern Bool g_wrapPixmap; /* from rdpmain.c */
-extern int g_do_dirty_os; /* in rdpmain.c */
-extern int g_do_dirty_ons; /* in rdpmain.c */
-extern rdpPixmapRec g_screenPriv; /* in rdpmain.c */
-
-extern GCOps g_rdpGCOps; /* from rdpdraw.c */
-
-extern int g_con_number; /* in rdpup.c */
-
-/******************************************************************************/
-void
-rdpPolySegmentOrg(DrawablePtr pDrawable, GCPtr pGC, int nseg, xSegment *pSegs)
-{
- rdpGCPtr priv;
- GCFuncs *oldFuncs;
-
- GC_OP_PROLOGUE(pGC);
- pGC->ops->PolySegment(pDrawable, pGC, nseg, pSegs);
- GC_OP_EPILOGUE(pGC);
-}
-
-/******************************************************************************/
-void
-rdpPolySegment(DrawablePtr pDrawable, GCPtr pGC, int nseg, xSegment *pSegs)
-{
- RegionRec clip_reg;
- int cd;
- int i;
- int j;
- int got_id;
- int dirty_type;
- int post_process;
- int reset_surface;
- xSegment *segs;
- BoxRec box;
- struct image_data id;
- WindowPtr pDstWnd;
- PixmapPtr pDstPixmap;
- rdpPixmapRec *pDstPriv;
- rdpPixmapRec *pDirtyPriv;
-
- LLOGLN(10, ("rdpPolySegment:"));
- LLOGLN(10, (" nseg %d", nseg));
-
- segs = 0;
-
- if (nseg) /* get the rects */
- {
- segs = (xSegment *)g_malloc(nseg * sizeof(xSegment), 0);
-
- for (i = 0; i < nseg; i++)
- {
- segs[i].x1 = pSegs[i].x1 + pDrawable->x;
- segs[i].y1 = pSegs[i].y1 + pDrawable->y;
- segs[i].x2 = pSegs[i].x2 + pDrawable->x;
- segs[i].y2 = pSegs[i].y2 + pDrawable->y;
- }
- }
-
- /* do original call */
- rdpPolySegmentOrg(pDrawable, pGC, nseg, pSegs);
-
- dirty_type = 0;
- pDirtyPriv = 0;
- post_process = 0;
- reset_surface = 0;
- got_id = 0;
-
- if (pDrawable->type == DRAWABLE_PIXMAP)
- {
- pDstPixmap = (PixmapPtr)pDrawable;
- pDstPriv = GETPIXPRIV(pDstPixmap);
-
- if (xrdp_is_os(pDstPixmap, pDstPriv))
- {
- post_process = 1;
-
- if (g_do_dirty_os)
- {
- LLOGLN(10, ("rdpPolySegment: getting dirty"));
- pDstPriv->is_dirty = 1;
- pDirtyPriv = pDstPriv;
- dirty_type = RDI_IMGLL;
- }
- else
- {
- rdpup_switch_os_surface(pDstPriv->rdpindex);
- reset_surface = 1;
- rdpup_get_pixmap_image_rect(pDstPixmap, &id);
- got_id = 1;
- }
- }
- }
- else
- {
- if (pDrawable->type == DRAWABLE_WINDOW)
- {
- pDstWnd = (WindowPtr)pDrawable;
-
- if (pDstWnd->viewable)
- {
- post_process = 1;
-
- if (g_do_dirty_ons)
- {
- LLOGLN(10, ("rdpPolySegment: getting dirty"));
- g_screenPriv.is_dirty = 1;
- pDirtyPriv = &g_screenPriv;
- dirty_type = RDI_IMGLL;
- }
- else
- {
- rdpup_get_screen_image_rect(&id);
- got_id = 1;
- }
- }
- }
- }
-
- if (!post_process)
- {
- g_free(segs);
- return;
- }
-
- RegionInit(&clip_reg, NullBox, 0);
- cd = rdp_get_clip(&clip_reg, pDrawable, pGC);
- LLOGLN(10, ("rdpPolySegment: cd %d", cd));
-
- if (cd == 1) /* no clip */
- {
- if (segs != 0)
- {
- if (dirty_type != 0)
- {
- RegionUninit(&clip_reg);
- RegionInit(&clip_reg, NullBox, 0);
- RegionAroundSegs(&clip_reg, segs, nseg);
- draw_item_add_line_region(pDirtyPriv, &clip_reg, pGC->fgPixel,
- pGC->alu, pGC->lineWidth, segs, nseg, 1);
- }
- else if (got_id)
- {
- rdpup_begin_update();
- rdpup_set_fgcolor(pGC->fgPixel);
- rdpup_set_opcode(pGC->alu);
- rdpup_set_pen(0, pGC->lineWidth);
-
- for (i = 0; i < nseg; i++)
- {
- rdpup_draw_line(segs[i].x1, segs[i].y1, segs[i].x2, segs[i].y2);
- }
-
- rdpup_set_opcode(GXcopy);
- rdpup_end_update();
- }
- }
- }
- else if (cd == 2) /* clip */
- {
- if (segs != 0)
- {
- if (dirty_type != 0)
- {
- draw_item_add_line_region(pDirtyPriv, &clip_reg, pGC->fgPixel,
- pGC->alu, pGC->lineWidth, segs, nseg, 1);
- }
- else if (got_id)
- {
- rdpup_begin_update();
- rdpup_set_fgcolor(pGC->fgPixel);
- rdpup_set_opcode(pGC->alu);
- rdpup_set_pen(0, pGC->lineWidth);
-
- for (j = REGION_NUM_RECTS(&clip_reg) - 1; j >= 0; j--)
- {
- box = REGION_RECTS(&clip_reg)[j];
- rdpup_set_clip(box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
-
- for (i = 0; i < nseg; i++)
- {
- rdpup_draw_line(segs[i].x1, segs[i].y1, segs[i].x2, segs[i].y2);
- LLOGLN(10, (" %d %d %d %d", segs[i].x1, segs[i].y1,
- segs[i].x2, segs[i].y2));
- }
- }
-
- rdpup_reset_clip();
- rdpup_set_opcode(GXcopy);
- rdpup_end_update();
- }
- }
- }
-
- g_free(segs);
- RegionUninit(&clip_reg);
-
- if (reset_surface)
- {
- rdpup_switch_os_surface(-1);
- }
-}
diff --git a/xorg/X11R7.6/rdp/rdpPolySegment.h b/xorg/X11R7.6/rdp/rdpPolySegment.h
deleted file mode 100644
index 8c5f33ab..00000000
--- a/xorg/X11R7.6/rdp/rdpPolySegment.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#ifndef __RDPPOLYSEGMENT_H
-#define __RDPPOLYSEGMENT_H
-
-void
-rdpPolySegment(DrawablePtr pDrawable, GCPtr pGC, int nseg, xSegment* pSegs);
-
-#endif
diff --git a/xorg/X11R7.6/rdp/rdpPolyText16.c b/xorg/X11R7.6/rdp/rdpPolyText16.c
deleted file mode 100644
index a28030f0..00000000
--- a/xorg/X11R7.6/rdp/rdpPolyText16.c
+++ /dev/null
@@ -1,220 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#include "rdp.h"
-#include "rdpdraw.h"
-
-#define LDEBUG 0
-
-#define LOG_LEVEL 1
-#define LLOG(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; } } while (0)
-#define LLOGLN(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; ErrorF("\n"); } } while (0)
-
-extern rdpScreenInfoRec g_rdpScreen; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpGCIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpWindowIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpPixmapIndex; /* from rdpmain.c */
-extern int g_Bpp; /* from rdpmain.c */
-extern ScreenPtr g_pScreen; /* from rdpmain.c */
-extern Bool g_wrapPixmap; /* from rdpmain.c */
-extern int g_do_dirty_os; /* in rdpmain.c */
-extern int g_do_dirty_ons; /* in rdpmain.c */
-extern rdpPixmapRec g_screenPriv; /* in rdpmain.c */
-
-extern GCOps g_rdpGCOps; /* from rdpdraw.c */
-
-extern int g_con_number; /* in rdpup.c */
-
-/******************************************************************************/
-int
-rdpPolyText16Org(DrawablePtr pDrawable, GCPtr pGC,
- int x, int y, int count, unsigned short *chars)
-{
- int rv;
- rdpGCPtr priv;
- GCFuncs *oldFuncs;
-
- GC_OP_PROLOGUE(pGC);
- rv = pGC->ops->PolyText16(pDrawable, pGC, x, y, count, chars);
- GC_OP_EPILOGUE(pGC);
- return rv;
-}
-
-/******************************************************************************/
-int
-rdpPolyText16(DrawablePtr pDrawable, GCPtr pGC,
- int x, int y, int count, unsigned short *chars)
-{
- RegionRec reg;
- RegionRec reg1;
- int num_clips;
- int cd;
- int j;
- int rv;
- int got_id;
- int dirty_type;
- int post_process;
- int reset_surface;
- BoxRec box;
- struct image_data id;
- WindowPtr pDstWnd;
- PixmapPtr pDstPixmap;
- rdpPixmapRec *pDstPriv;
- rdpPixmapRec *pDirtyPriv;
-
- LLOGLN(10, ("rdpPolyText16:"));
-
- if (count != 0)
- {
- GetTextBoundingBox(pDrawable, pGC->font, x, y, count, &box);
- }
-
- /* do original call */
- rv = rdpPolyText16Org(pDrawable, pGC, x, y, count, chars);
-
- dirty_type = 0;
- pDirtyPriv = 0;
- post_process = 0;
- reset_surface = 0;
- got_id = 0;
-
- if (pDrawable->type == DRAWABLE_PIXMAP)
- {
- pDstPixmap = (PixmapPtr)pDrawable;
- pDstPriv = GETPIXPRIV(pDstPixmap);
-
- if (xrdp_is_os(pDstPixmap, pDstPriv))
- {
- post_process = 1;
-
- if (g_do_dirty_os)
- {
- LLOGLN(10, ("rdpPolyText16: getting dirty"));
- pDstPriv->is_dirty = 1;
- pDirtyPriv = pDstPriv;
- dirty_type = RDI_IMGLY;
- }
- else
- {
- rdpup_switch_os_surface(pDstPriv->rdpindex);
- reset_surface = 1;
- rdpup_get_pixmap_image_rect(pDstPixmap, &id);
- got_id = 1;
- }
- }
- }
- else
- {
- if (pDrawable->type == DRAWABLE_WINDOW)
- {
- pDstWnd = (WindowPtr)pDrawable;
-
- if (pDstWnd->viewable)
- {
- post_process = 1;
-
- if (g_do_dirty_ons)
- {
- LLOGLN(10, ("rdpPolyText16: getting dirty"));
- g_screenPriv.is_dirty = 1;
- pDirtyPriv = &g_screenPriv;
- dirty_type = RDI_IMGLL;
- }
- else
- {
- rdpup_get_screen_image_rect(&id);
- got_id = 1;
- }
- }
- }
- }
-
- if (!post_process)
- {
- return rv;
- }
-
- RegionInit(®, NullBox, 0);
-
- if (count == 0)
- {
- cd = 0;
- }
- else
- {
- cd = rdp_get_clip(®, pDrawable, pGC);
- }
-
- if (cd == 1)
- {
- if (dirty_type != 0)
- {
- RegionInit(®1, &box, 0);
- draw_item_add_img_region(pDirtyPriv, ®1, GXcopy, dirty_type, TAG_POLYTEXT16);
- RegionUninit(®1);
- }
- else if (got_id)
- {
- rdpup_begin_update();
- rdpup_send_area(&id, box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
- rdpup_end_update();
- }
- }
- else if (cd == 2)
- {
- RegionInit(®1, &box, 0);
- RegionIntersect(®, ®, ®1);
- num_clips = REGION_NUM_RECTS(®);
-
- if (num_clips > 0)
- {
- if (dirty_type != 0)
- {
- draw_item_add_img_region(pDirtyPriv, ®, GXcopy, dirty_type, TAG_POLYTEXT16);
- }
- else if (got_id)
- {
- rdpup_begin_update();
-
- for (j = num_clips - 1; j >= 0; j--)
- {
- box = REGION_RECTS(®)[j];
- rdpup_send_area(&id, box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
- }
-
- rdpup_end_update();
- }
- }
-
- RegionUninit(®1);
- }
-
- RegionUninit(®);
-
- if (reset_surface)
- {
- rdpup_switch_os_surface(-1);
- }
-
- return rv;
-}
diff --git a/xorg/X11R7.6/rdp/rdpPolyText16.h b/xorg/X11R7.6/rdp/rdpPolyText16.h
deleted file mode 100644
index bcfa8379..00000000
--- a/xorg/X11R7.6/rdp/rdpPolyText16.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#ifndef __RDPPOLYTEXT16_H
-#define __RDPPOLYTEXT16_H
-
-int
-rdpPolyText16(DrawablePtr pDrawable, GCPtr pGC,
- int x, int y, int count, unsigned short* chars);
-
-#endif
diff --git a/xorg/X11R7.6/rdp/rdpPolyText8.c b/xorg/X11R7.6/rdp/rdpPolyText8.c
deleted file mode 100644
index 3157a538..00000000
--- a/xorg/X11R7.6/rdp/rdpPolyText8.c
+++ /dev/null
@@ -1,220 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#include "rdp.h"
-#include "rdpdraw.h"
-
-#define LDEBUG 0
-
-#define LOG_LEVEL 1
-#define LLOG(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; } } while (0)
-#define LLOGLN(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; ErrorF("\n"); } } while (0)
-
-extern rdpScreenInfoRec g_rdpScreen; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpGCIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpWindowIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpPixmapIndex; /* from rdpmain.c */
-extern int g_Bpp; /* from rdpmain.c */
-extern ScreenPtr g_pScreen; /* from rdpmain.c */
-extern Bool g_wrapPixmap; /* from rdpmain.c */
-extern int g_do_dirty_os; /* in rdpmain.c */
-extern int g_do_dirty_ons; /* in rdpmain.c */
-extern rdpPixmapRec g_screenPriv; /* in rdpmain.c */
-
-extern GCOps g_rdpGCOps; /* from rdpdraw.c */
-
-extern int g_con_number; /* in rdpup.c */
-
-/******************************************************************************/
-int
-rdpPolyText8Org(DrawablePtr pDrawable, GCPtr pGC,
- int x, int y, int count, char *chars)
-{
- int rv;
- rdpGCPtr priv;
- GCFuncs *oldFuncs;
-
- GC_OP_PROLOGUE(pGC);
- rv = pGC->ops->PolyText8(pDrawable, pGC, x, y, count, chars);
- GC_OP_EPILOGUE(pGC);
- return rv;
-}
-
-/******************************************************************************/
-int
-rdpPolyText8(DrawablePtr pDrawable, GCPtr pGC,
- int x, int y, int count, char *chars)
-{
- RegionRec reg;
- RegionRec reg1;
- int num_clips;
- int cd;
- int j;
- int rv;
- int got_id;
- int dirty_type;
- int post_process;
- int reset_surface;
- BoxRec box;
- struct image_data id;
- WindowPtr pDstWnd;
- PixmapPtr pDstPixmap;
- rdpPixmapRec *pDstPriv;
- rdpPixmapRec *pDirtyPriv;
-
- LLOGLN(10, ("rdpPolyText8:"));
-
- if (count != 0)
- {
- GetTextBoundingBox(pDrawable, pGC->font, x, y, count, &box);
- }
-
- /* do original call */
- rv = rdpPolyText8Org(pDrawable, pGC, x, y, count, chars);
-
- dirty_type = 0;
- pDirtyPriv = 0;
- post_process = 0;
- reset_surface = 0;
- got_id = 0;
-
- if (pDrawable->type == DRAWABLE_PIXMAP)
- {
- pDstPixmap = (PixmapPtr)pDrawable;
- pDstPriv = GETPIXPRIV(pDstPixmap);
-
- if (xrdp_is_os(pDstPixmap, pDstPriv))
- {
- post_process = 1;
-
- if (g_do_dirty_os)
- {
- LLOGLN(10, ("rdpPolyText8: getting dirty"));
- pDstPriv->is_dirty = 1;
- pDirtyPriv = pDstPriv;
- dirty_type = RDI_IMGLY;
- }
- else
- {
- rdpup_switch_os_surface(pDstPriv->rdpindex);
- reset_surface = 1;
- rdpup_get_pixmap_image_rect(pDstPixmap, &id);
- got_id = 1;
- }
- }
- }
- else
- {
- if (pDrawable->type == DRAWABLE_WINDOW)
- {
- pDstWnd = (WindowPtr)pDrawable;
-
- if (pDstWnd->viewable)
- {
- post_process = 1;
-
- if (g_do_dirty_ons)
- {
- LLOGLN(10, ("rdpPolyText8: getting dirty"));
- g_screenPriv.is_dirty = 1;
- pDirtyPriv = &g_screenPriv;
- dirty_type = RDI_IMGLL;
- }
- else
- {
- rdpup_get_screen_image_rect(&id);
- got_id = 1;
- }
- }
- }
- }
-
- if (!post_process)
- {
- return rv;
- }
-
- RegionInit(®, NullBox, 0);
-
- if (count == 0)
- {
- cd = 0;
- }
- else
- {
- cd = rdp_get_clip(®, pDrawable, pGC);
- }
-
- if (cd == 1)
- {
- if (dirty_type != 0)
- {
- RegionInit(®1, &box, 0);
- draw_item_add_img_region(pDirtyPriv, ®1, GXcopy, dirty_type, TAG_POLYTEXT8);
- RegionUninit(®1);
- }
- else if (got_id)
- {
- rdpup_begin_update();
- rdpup_send_area(&id, box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
- rdpup_end_update();
- }
- }
- else if (cd == 2)
- {
- RegionInit(®1, &box, 0);
- RegionIntersect(®, ®, ®1);
- num_clips = REGION_NUM_RECTS(®);
-
- if (num_clips > 0)
- {
- if (dirty_type != 0)
- {
- draw_item_add_img_region(pDirtyPriv, ®, GXcopy, dirty_type, TAG_POLYTEXT8);
- }
- else if (got_id)
- {
- rdpup_begin_update();
-
- for (j = num_clips - 1; j >= 0; j--)
- {
- box = REGION_RECTS(®)[j];
- rdpup_send_area(&id, box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
- }
-
- rdpup_end_update();
- }
- }
-
- RegionUninit(®1);
- }
-
- RegionUninit(®);
-
- if (reset_surface)
- {
- rdpup_switch_os_surface(-1);
- }
-
- return rv;
-}
diff --git a/xorg/X11R7.6/rdp/rdpPolyText8.h b/xorg/X11R7.6/rdp/rdpPolyText8.h
deleted file mode 100644
index 95e80412..00000000
--- a/xorg/X11R7.6/rdp/rdpPolyText8.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#ifndef __RDPPOLYTEXT8_H
-#define __RDPPOLYTEXT8_H
-
-int
-rdpPolyText8(DrawablePtr pDrawable, GCPtr pGC,
- int x, int y, int count, char* chars);
-
-#endif
diff --git a/xorg/X11R7.6/rdp/rdpPolylines.c b/xorg/X11R7.6/rdp/rdpPolylines.c
deleted file mode 100644
index ba6381b8..00000000
--- a/xorg/X11R7.6/rdp/rdpPolylines.c
+++ /dev/null
@@ -1,290 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#include "rdp.h"
-#include "rdpdraw.h"
-
-#define LDEBUG 0
-
-#define LOG_LEVEL 1
-#define LLOG(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; } } while (0)
-#define LLOGLN(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; ErrorF("\n"); } } while (0)
-
-extern rdpScreenInfoRec g_rdpScreen; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpGCIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpWindowIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpPixmapIndex; /* from rdpmain.c */
-extern int g_Bpp; /* from rdpmain.c */
-extern ScreenPtr g_pScreen; /* from rdpmain.c */
-extern Bool g_wrapPixmap; /* from rdpmain.c */
-extern int g_do_dirty_os; /* in rdpmain.c */
-extern int g_do_dirty_ons; /* in rdpmain.c */
-extern rdpPixmapRec g_screenPriv; /* in rdpmain.c */
-
-extern GCOps g_rdpGCOps; /* from rdpdraw.c */
-
-extern int g_con_number; /* in rdpup.c */
-
-/******************************************************************************/
-static void
-rdpPolylinesOrg(DrawablePtr pDrawable, GCPtr pGC, int mode,
- int npt, DDXPointPtr pptInit)
-{
- rdpGCPtr priv;
- GCFuncs *oldFuncs;
-
- GC_OP_PROLOGUE(pGC);
- pGC->ops->Polylines(pDrawable, pGC, mode, npt, pptInit);
- GC_OP_EPILOGUE(pGC);
-}
-
-/******************************************************************************/
-void
-rdpPolylines(DrawablePtr pDrawable, GCPtr pGC, int mode,
- int npt, DDXPointPtr pptInit)
-{
- RegionRec clip_reg;
- int num_clips;
- int cd;
- int i;
- int j;
- int got_id;
- int dirty_type;
- int post_process;
- int reset_surface;
- BoxRec box;
- xSegment *segs;
- int nseg;
- struct image_data id;
- WindowPtr pDstWnd;
- PixmapPtr pDstPixmap;
- rdpPixmapRec *pDstPriv;
- rdpPixmapRec *pDirtyPriv;
-
- LLOGLN(10, ("rdpPolylines:"));
- LLOGLN(10, (" npt %d mode %d x %d y %d", npt, mode,
- pDrawable->x, pDrawable->y));
-#if 0
- LLOGLN(0, (" points"));
-
- for (i = 0; i < npt; i++)
- {
- LLOGLN(0, (" %d %d", pptInit[i].x, pptInit[i].y));
- }
-
-#endif
- /* convert lines to line segments */
- nseg = npt - 1;
- segs = 0;
-
- if (npt > 1)
- {
- segs = (xSegment *)g_malloc(sizeof(xSegment) * nseg, 0);
- segs[0].x1 = pptInit[0].x + pDrawable->x;
- segs[0].y1 = pptInit[0].y + pDrawable->y;
-
- if (mode == CoordModeOrigin)
- {
- segs[0].x2 = pptInit[1].x + pDrawable->x;
- segs[0].y2 = pptInit[1].y + pDrawable->y;
-
- for (i = 2; i < npt; i++)
- {
- segs[i - 1].x1 = segs[i - 2].x2;
- segs[i - 1].y1 = segs[i - 2].y2;
- segs[i - 1].x2 = pptInit[i].x + pDrawable->x;
- segs[i - 1].y2 = pptInit[i].y + pDrawable->y;
- }
- }
- else
- {
- segs[0].x2 = segs[0].x1 + pptInit[1].x;
- segs[0].y2 = segs[0].y1 + pptInit[1].y;
-
- for (i = 2; i < npt; i++)
- {
- segs[i - 1].x1 = segs[i - 2].x2;
- segs[i - 1].y1 = segs[i - 2].y2;
- segs[i - 1].x2 = segs[i - 1].x1 + pptInit[i].x;
- segs[i - 1].y2 = segs[i - 1].y1 + pptInit[i].y;
- }
- }
- }
- else
- {
- LLOGLN(0, ("rdpPolylines: weird npt [%d]", npt));
- }
-
-#if 0
- LLOGLN(0, (" segments"));
-
- for (i = 0; i < nseg; i++)
- {
- LLOGLN(0, (" %d %d %d %d", segs[i].x1, segs[i].y1,
- segs[i].x2, segs[i].y2));
- }
-
-#endif
-
- /* do original call */
- rdpPolylinesOrg(pDrawable, pGC, mode, npt, pptInit);
-
- dirty_type = 0;
- pDirtyPriv = 0;
- post_process = 0;
- reset_surface = 0;
- got_id = 0;
-
- if (pDrawable->type == DRAWABLE_PIXMAP)
- {
- pDstPixmap = (PixmapPtr)pDrawable;
- pDstPriv = GETPIXPRIV(pDstPixmap);
-
- if (xrdp_is_os(pDstPixmap, pDstPriv))
- {
- post_process = 1;
-
- if (g_do_dirty_os)
- {
- LLOGLN(10, ("rdpPolylines: getting dirty"));
- pDstPriv->is_dirty = 1;
- pDirtyPriv = pDstPriv;
- dirty_type = RDI_IMGLL;
- }
- else
- {
- rdpup_switch_os_surface(pDstPriv->rdpindex);
- reset_surface = 1;
- rdpup_get_pixmap_image_rect(pDstPixmap, &id);
- got_id = 1;
- }
- }
- }
- else
- {
- if (pDrawable->type == DRAWABLE_WINDOW)
- {
- pDstWnd = (WindowPtr)pDrawable;
-
- if (pDstWnd->viewable)
- {
- post_process = 1;
-
- if (g_do_dirty_ons)
- {
- LLOGLN(10, ("rdpPolylines: getting dirty"));
- g_screenPriv.is_dirty = 1;
- pDirtyPriv = &g_screenPriv;
- dirty_type = RDI_IMGLL;
- }
- else
- {
- rdpup_get_screen_image_rect(&id);
- got_id = 1;
- }
- }
- }
- }
-
- if (!post_process)
- {
- g_free(segs);
- return;
- }
-
- RegionInit(&clip_reg, NullBox, 0);
- cd = rdp_get_clip(&clip_reg, pDrawable, pGC);
-
- if (cd == 1)
- {
- if (segs != 0)
- {
- if (dirty_type != 0)
- {
- RegionUninit(&clip_reg);
- RegionInit(&clip_reg, NullBox, 0);
- RegionAroundSegs(&clip_reg, segs, nseg);
- draw_item_add_line_region(pDirtyPriv, &clip_reg, pGC->fgPixel,
- pGC->alu, pGC->lineWidth, segs, nseg, 0);
- }
- else if (got_id)
- {
- rdpup_begin_update();
- rdpup_set_fgcolor(pGC->fgPixel);
- rdpup_set_opcode(pGC->alu);
- rdpup_set_pen(0, pGC->lineWidth);
-
- for (i = 0; i < nseg; i++)
- {
- rdpup_draw_line(segs[i].x1, segs[i].y1, segs[i].x2, segs[i].y2);
- }
-
- rdpup_set_opcode(GXcopy);
- rdpup_end_update();
- }
- }
- }
- else if (cd == 2)
- {
- num_clips = REGION_NUM_RECTS(&clip_reg);
-
- if (nseg != 0 && num_clips > 0)
- {
- if (dirty_type != 0)
- {
- draw_item_add_line_region(pDirtyPriv, &clip_reg, pGC->fgPixel,
- pGC->alu, pGC->lineWidth, segs, nseg, 0);
- }
- else if (got_id)
- {
- rdpup_begin_update();
- rdpup_set_fgcolor(pGC->fgPixel);
- rdpup_set_opcode(pGC->alu);
- rdpup_set_pen(0, pGC->lineWidth);
-
- for (j = num_clips - 1; j >= 0; j--)
- {
- box = REGION_RECTS(&clip_reg)[j];
- rdpup_set_clip(box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
-
- for (i = 0; i < nseg; i++)
- {
- rdpup_draw_line(segs[i].x1, segs[i].y1, segs[i].x2, segs[i].y2);
- }
- }
-
- rdpup_reset_clip();
- rdpup_set_opcode(GXcopy);
- rdpup_end_update();
- }
- }
- }
-
- g_free(segs);
- RegionUninit(&clip_reg);
-
- if (reset_surface)
- {
- rdpup_switch_os_surface(-1);
- }
-}
diff --git a/xorg/X11R7.6/rdp/rdpPolylines.h b/xorg/X11R7.6/rdp/rdpPolylines.h
deleted file mode 100644
index 2df3d388..00000000
--- a/xorg/X11R7.6/rdp/rdpPolylines.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#ifndef __RDPPOLYLINES_H
-#define __RDPPOLYLINES_H
-
-void
-rdpPolylines(DrawablePtr pDrawable, GCPtr pGC, int mode,
- int npt, DDXPointPtr pptInit);
-
-#endif
diff --git a/xorg/X11R7.6/rdp/rdpPushPixels.c b/xorg/X11R7.6/rdp/rdpPushPixels.c
deleted file mode 100644
index e7d330d1..00000000
--- a/xorg/X11R7.6/rdp/rdpPushPixels.c
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#include "rdp.h"
-#include "rdpdraw.h"
-
-#define LDEBUG 0
-
-#define LOG_LEVEL 1
-#define LLOG(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; } } while (0)
-#define LLOGLN(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; ErrorF("\n"); } } while (0)
-
-extern rdpScreenInfoRec g_rdpScreen; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpGCIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpWindowIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpPixmapIndex; /* from rdpmain.c */
-extern int g_Bpp; /* from rdpmain.c */
-extern ScreenPtr g_pScreen; /* from rdpmain.c */
-extern Bool g_wrapPixmap; /* from rdpmain.c */
-extern int g_do_dirty_os; /* in rdpmain.c */
-extern int g_do_dirty_ons; /* in rdpmain.c */
-extern rdpPixmapRec g_screenPriv; /* in rdpmain.c */
-
-extern GCOps g_rdpGCOps; /* from rdpdraw.c */
-
-extern int g_con_number; /* in rdpup.c */
-
-/******************************************************************************/
-void
-rdpPushPixelsOrg(GCPtr pGC, PixmapPtr pBitMap, DrawablePtr pDst,
- int w, int h, int x, int y)
-{
- rdpGCPtr priv;
- GCFuncs *oldFuncs;
-
- GC_OP_PROLOGUE(pGC);
- pGC->ops->PushPixels(pGC, pBitMap, pDst, w, h, x, y);
- GC_OP_EPILOGUE(pGC);
-}
-
-/******************************************************************************/
-void
-rdpPushPixels(GCPtr pGC, PixmapPtr pBitMap, DrawablePtr pDst,
- int w, int h, int x, int y)
-{
- RegionRec clip_reg;
- RegionRec box_reg;
- RegionRec reg1;
- int num_clips;
- int cd;
- int j;
- int got_id;
- int dirty_type;
- int post_process;
- int reset_surface;
- BoxRec box;
- struct image_data id;
- WindowPtr pDstWnd;
- PixmapPtr pDstPixmap;
- rdpPixmapRec *pDstPriv;
- rdpPixmapRec *pDirtyPriv;
-
- LLOGLN(10, ("rdpPushPixels:"));
-
- /* do original call */
- rdpPushPixelsOrg(pGC, pBitMap, pDst, w, h, x, y);
-
- dirty_type = 0;
- pDirtyPriv = 0;
- post_process = 0;
- reset_surface = 0;
- got_id = 0;
-
- if (pDst->type == DRAWABLE_PIXMAP)
- {
- pDstPixmap = (PixmapPtr)pDst;
- pDstPriv = GETPIXPRIV(pDstPixmap);
-
- if (xrdp_is_os(pDstPixmap, pDstPriv))
- {
- post_process = 1;
-
- if (g_do_dirty_os)
- {
- LLOGLN(10, ("rdpPushPixels: getting dirty"));
- pDstPriv->is_dirty = 1;
- pDirtyPriv = pDstPriv;
- dirty_type = RDI_IMGLY;
- }
- else
- {
- rdpup_switch_os_surface(pDstPriv->rdpindex);
- reset_surface = 1;
- rdpup_get_pixmap_image_rect(pDstPixmap, &id);
- got_id = 1;
- }
- }
- }
- else
- {
- if (pDst->type == DRAWABLE_WINDOW)
- {
- pDstWnd = (WindowPtr)pDst;
-
- if (pDstWnd->viewable)
- {
- post_process = 1;
-
- if (g_do_dirty_ons)
- {
- LLOGLN(10, ("rdpPushPixels: getting dirty"));
- g_screenPriv.is_dirty = 1;
- pDirtyPriv = &g_screenPriv;
- dirty_type = RDI_IMGLL;
- }
- else
- {
- rdpup_get_screen_image_rect(&id);
- got_id = 1;
- }
- }
- }
- }
-
- if (!post_process)
- {
- return;
- }
-
- memset(&box, 0, sizeof(box));
- RegionInit(&clip_reg, NullBox, 0);
- cd = rdp_get_clip(&clip_reg, pDst, pGC);
-
- if (cd == 1)
- {
- if (dirty_type != 0)
- {
- box.x1 = pDst->x + x;
- box.y1 = pDst->y + y;
- box.x2 = box.x1 + w;
- box.y2 = box.y1 + h;
- RegionInit(®1, &box, 0);
- draw_item_add_img_region(pDirtyPriv, ®1, GXcopy, dirty_type, TAG_PUSHPIXELS);
- RegionUninit(®1);
- }
- else if (got_id)
- {
- rdpup_begin_update();
- rdpup_send_area(0, pDst->x + x, pDst->y + y, w, h);
- rdpup_end_update();
- }
- }
- else if (cd == 2)
- {
- box.x1 = pDst->x + x;
- box.y1 = pDst->y + y;
- box.x2 = box.x1 + w;
- box.y2 = box.y1 + h;
- RegionInit(&box_reg, &box, 0);
- RegionIntersect(&clip_reg, &clip_reg, &box_reg);
- num_clips = REGION_NUM_RECTS(&clip_reg);
-
- if (num_clips > 0)
- {
- if (dirty_type != 0)
- {
- RegionInit(®1, &box, 0);
- draw_item_add_img_region(pDirtyPriv, &clip_reg, GXcopy, dirty_type, TAG_PUSHPIXELS);
- RegionUninit(®1);
- }
- else if (got_id)
- {
- rdpup_begin_update();
-
- for (j = num_clips - 1; j >= 0; j--)
- {
- box = REGION_RECTS(&clip_reg)[j];
- rdpup_send_area(0, box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
- }
-
- rdpup_end_update();
- }
- }
-
- RegionUninit(&box_reg);
- }
-
- RegionUninit(&clip_reg);
-
- if (reset_surface)
- {
- rdpup_switch_os_surface(-1);
- }
-}
diff --git a/xorg/X11R7.6/rdp/rdpPushPixels.h b/xorg/X11R7.6/rdp/rdpPushPixels.h
deleted file mode 100644
index 2e0cd1d1..00000000
--- a/xorg/X11R7.6/rdp/rdpPushPixels.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#ifndef __RDPPUSHPIXELS_H
-#define __RDPPUSHPIXELS_H
-
-void
-rdpPushPixels(GCPtr pGC, PixmapPtr pBitMap, DrawablePtr pDst,
- int w, int h, int x, int y);
-
-#endif
diff --git a/xorg/X11R7.6/rdp/rdpPutImage.c b/xorg/X11R7.6/rdp/rdpPutImage.c
deleted file mode 100644
index d244d895..00000000
--- a/xorg/X11R7.6/rdp/rdpPutImage.c
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#include "rdp.h"
-#include "rdpdraw.h"
-
-#define LDEBUG 0
-
-#define LOG_LEVEL 1
-#define LLOG(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; } } while (0)
-#define LLOGLN(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; ErrorF("\n"); } } while (0)
-
-extern rdpScreenInfoRec g_rdpScreen; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpGCIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpWindowIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpPixmapIndex; /* from rdpmain.c */
-extern int g_Bpp; /* from rdpmain.c */
-extern ScreenPtr g_pScreen; /* from rdpmain.c */
-extern Bool g_wrapPixmap; /* from rdpmain.c */
-extern int g_do_dirty_os; /* in rdpmain.c */
-extern int g_do_dirty_ons; /* in rdpmain.c */
-extern rdpPixmapRec g_screenPriv; /* in rdpmain.c */
-
-extern GCOps g_rdpGCOps; /* from rdpdraw.c */
-
-extern int g_con_number; /* in rdpup.c */
-
-/******************************************************************************/
-static void
-rdpPutImageOrg(DrawablePtr pDst, GCPtr pGC, int depth, int x, int y,
- int w, int h, int leftPad, int format, char *pBits)
-{
- rdpGCPtr priv;
- GCFuncs *oldFuncs;
-
- GC_OP_PROLOGUE(pGC);
- pGC->ops->PutImage(pDst, pGC, depth, x, y, w, h, leftPad,
- format, pBits);
- GC_OP_EPILOGUE(pGC);
-}
-
-/******************************************************************************/
-void
-rdpPutImage(DrawablePtr pDst, GCPtr pGC, int depth, int x, int y,
- int w, int h, int leftPad, int format, char *pBits)
-{
- RegionRec clip_reg;
- int cd;
- int j;
- int reset_surface;
- int post_process;
- int got_id;
- int dirty_type;
- BoxRec box;
- struct image_data id;
-
- WindowPtr pDstWnd;
- PixmapPtr pDstPixmap;
- rdpPixmapRec *pDstPriv;
- rdpPixmapRec *pDirtyPriv;
- RegionRec reg1;
- RegionRec reg2;
-
- LLOGLN(10, ("rdpPutImage:"));
- LLOGLN(10, ("rdpPutImage: drawable id 0x%x", (int)(pDst->id)));
- LLOGLN(10, ("rdpPutImage: x %d y %d w %d h %d is_window %d", x, y, w, h,
- pDst->type == DRAWABLE_WINDOW));
-
- /* do original call */
- rdpPutImageOrg(pDst, pGC, depth, x, y, w, h, leftPad, format, pBits);
-
- dirty_type = 0;
- pDirtyPriv = 0;
- post_process = 0;
- reset_surface = 0;
- got_id = 0;
-
- if (pDst->type == DRAWABLE_PIXMAP)
- {
- pDstPixmap = (PixmapPtr)pDst;
- pDstPriv = GETPIXPRIV(pDstPixmap);
-
- if (xrdp_is_os(pDstPixmap, pDstPriv))
- {
- post_process = 1;
-
- if (g_do_dirty_os)
- {
- LLOGLN(10, ("rdpPutImage: getting dirty"));
- pDstPriv->is_dirty = 1;
- pDirtyPriv = pDstPriv;
- dirty_type = RDI_IMGLY;
- }
- else
- {
- rdpup_switch_os_surface(pDstPriv->rdpindex);
- reset_surface = 1;
- rdpup_get_pixmap_image_rect(pDstPixmap, &id);
- got_id = 1;
- }
- }
- }
- else
- {
- if (pDst->type == DRAWABLE_WINDOW)
- {
- pDstWnd = (WindowPtr)pDst;
-
- if (pDstWnd->viewable)
- {
- post_process = 1;
-
- if (g_do_dirty_ons)
- {
- LLOGLN(10, ("rdpPutImage: getting dirty"));
- g_screenPriv.is_dirty = 1;
- pDirtyPriv = &g_screenPriv;
- dirty_type = RDI_IMGLY;
- }
- else
- {
- rdpup_get_screen_image_rect(&id);
- got_id = 1;
- }
- }
- }
- }
-
- if (!post_process)
- {
- return;
- }
-
- RegionInit(&clip_reg, NullBox, 0);
- cd = rdp_get_clip(&clip_reg, pDst, pGC);
-
- if (cd == 1)
- {
- if (dirty_type != 0)
- {
- box.x1 = pDst->x + x;
- box.y1 = pDst->y + y;
- box.x2 = box.x1 + w;
- box.y2 = box.y1 + h;
- RegionInit(®1, &box, 0);
- draw_item_add_img_region(pDirtyPriv, ®1, GXcopy, dirty_type, TAG_PUTIMAGE);
- RegionUninit(®1);
- }
- else if (got_id)
- {
- rdpup_begin_update();
- rdpup_send_area(&id, pDst->x + x, pDst->y + y, w, h);
- rdpup_end_update();
- }
- }
- else if (cd == 2)
- {
- if (dirty_type != 0)
- {
- box.x1 = pDst->x + x;
- box.y1 = pDst->y + y;
- box.x2 = box.x1 + w;
- box.y2 = box.y1 + h;
- RegionInit(®1, &box, 0);
- RegionInit(®2, NullBox, 0);
- RegionCopy(®2, &clip_reg);
- RegionIntersect(®1, ®1, ®2);
- draw_item_add_img_region(pDirtyPriv, ®1, GXcopy, dirty_type, TAG_PUTIMAGE);
- RegionUninit(®1);
- RegionUninit(®2);
- }
- else if (got_id)
- {
- rdpup_begin_update();
-
- for (j = REGION_NUM_RECTS(&clip_reg) - 1; j >= 0; j--)
- {
- box = REGION_RECTS(&clip_reg)[j];
- rdpup_set_clip(box.x1, box.y1, (box.x2 - box.x1), (box.y2 - box.y1));
- rdpup_send_area(&id, pDst->x + x, pDst->y + y, w, h);
- }
-
- rdpup_reset_clip();
- rdpup_end_update();
- }
- }
-
- RegionUninit(&clip_reg);
-
- if (reset_surface)
- {
- rdpup_switch_os_surface(-1);
- }
-}
diff --git a/xorg/X11R7.6/rdp/rdpPutImage.h b/xorg/X11R7.6/rdp/rdpPutImage.h
deleted file mode 100644
index 82e27872..00000000
--- a/xorg/X11R7.6/rdp/rdpPutImage.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#ifndef __RDPPUTIMAGE_H
-#define __RDPPUTIMAGE_H
-
-void
-rdpPutImage(DrawablePtr pDst, GCPtr pGC, int depth, int x, int y,
- int w, int h, int leftPad, int format, char* pBits);
-
-#endif
diff --git a/xorg/X11R7.6/rdp/rdpSetSpans.c b/xorg/X11R7.6/rdp/rdpSetSpans.c
deleted file mode 100644
index 62dd8c5c..00000000
--- a/xorg/X11R7.6/rdp/rdpSetSpans.c
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#include "rdp.h"
-#include "rdpdraw.h"
-
-#define LDEBUG 0
-
-#define LOG_LEVEL 1
-#define LLOG(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; } } while (0)
-#define LLOGLN(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; ErrorF("\n"); } } while (0)
-
-extern rdpScreenInfoRec g_rdpScreen; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpGCIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpWindowIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpPixmapIndex; /* from rdpmain.c */
-extern int g_Bpp; /* from rdpmain.c */
-extern ScreenPtr g_pScreen; /* from rdpmain.c */
-extern Bool g_wrapPixmap; /* from rdpmain.c */
-extern int g_do_dirty_os; /* in rdpmain.c */
-extern int g_do_dirty_ons; /* in rdpmain.c */
-extern rdpPixmapRec g_screenPriv; /* in rdpmain.c */
-
-extern GCOps g_rdpGCOps; /* from rdpdraw.c */
-
-extern int g_con_number; /* in rdpup.c */
-
-/******************************************************************************/
-void
-rdpSetSpansOrg(DrawablePtr pDrawable, GCPtr pGC, char *psrc,
- DDXPointPtr ppt, int *pwidth, int nspans, int fSorted)
-{
- rdpGCPtr priv;
- GCFuncs *oldFuncs;
-
- GC_OP_PROLOGUE(pGC);
- pGC->ops->SetSpans(pDrawable, pGC, psrc, ppt, pwidth, nspans, fSorted);
- GC_OP_EPILOGUE(pGC);
-}
-
-/******************************************************************************/
-void
-rdpSetSpans(DrawablePtr pDrawable, GCPtr pGC, char *psrc,
- DDXPointPtr ppt, int *pwidth, int nspans, int fSorted)
-{
- RegionRec clip_reg;
- int cd;
- int got_id;
- int dirty_type;
- int post_process;
- int reset_surface;
- struct image_data id;
- WindowPtr pDstWnd;
- PixmapPtr pDstPixmap;
- rdpPixmapRec *pDstPriv;
- rdpPixmapRec *pDirtyPriv;
-
- LLOGLN(0, ("rdpSetSpans: todo"));
-
- /* do original call */
- rdpSetSpansOrg(pDrawable, pGC, psrc, ppt, pwidth, nspans, fSorted);
-
- dirty_type = 0;
- pDirtyPriv = 0;
- post_process = 0;
- reset_surface = 0;
- got_id = 0;
-
- if (pDrawable->type == DRAWABLE_PIXMAP)
- {
- pDstPixmap = (PixmapPtr)pDrawable;
- pDstPriv = GETPIXPRIV(pDstPixmap);
-
- if (xrdp_is_os(pDstPixmap, pDstPriv))
- {
- post_process = 1;
-
- if (g_do_dirty_os)
- {
- LLOGLN(10, ("rdpSetSpans: getting dirty"));
- pDstPriv->is_dirty = 1;
- pDirtyPriv = pDstPriv;
- dirty_type = RDI_IMGLY;
- }
- else
- {
- rdpup_switch_os_surface(pDstPriv->rdpindex);
- reset_surface = 1;
- rdpup_get_pixmap_image_rect(pDstPixmap, &id);
- got_id = 1;
- }
- }
- }
- else
- {
- if (pDrawable->type == DRAWABLE_WINDOW)
- {
- pDstWnd = (WindowPtr)pDrawable;
-
- if (pDstWnd->viewable)
- {
- post_process = 1;
- if (g_do_dirty_ons)
- {
- LLOGLN(10, ("rdpSetSpans: getting dirty"));
- g_screenPriv.is_dirty = 1;
- pDirtyPriv = &g_screenPriv;
- dirty_type = RDI_IMGLL;
- }
- else
- {
- rdpup_get_screen_image_rect(&id);
- got_id = 1;
- }
- }
- }
- }
-
- if (!post_process)
- {
- return;
- }
-
- RegionInit(&clip_reg, NullBox, 0);
- cd = rdp_get_clip(&clip_reg, pDrawable, pGC);
-
- if (cd == 1)
- {
- if (dirty_type != 0)
- {
- }
- else if (got_id)
- {
- }
- }
- else if (cd == 2)
- {
- if (dirty_type != 0)
- {
- }
- else if (got_id)
- {
- }
- }
-
- RegionUninit(&clip_reg);
-
- if (reset_surface)
- {
- rdpup_switch_os_surface(-1);
- }
-}
diff --git a/xorg/X11R7.6/rdp/rdpSetSpans.h b/xorg/X11R7.6/rdp/rdpSetSpans.h
deleted file mode 100644
index acaedd66..00000000
--- a/xorg/X11R7.6/rdp/rdpSetSpans.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#ifndef __RDPSETSPANS_H
-#define __RDPSETSPANS_H
-
-void
-rdpSetSpans(DrawablePtr pDrawable, GCPtr pGC, char* psrc,
- DDXPointPtr ppt, int* pwidth, int nspans, int fSorted);
-
-#endif
diff --git a/xorg/X11R7.6/rdp/rdpdraw.c b/xorg/X11R7.6/rdp/rdpdraw.c
deleted file mode 100644
index 51fe5c61..00000000
--- a/xorg/X11R7.6/rdp/rdpdraw.c
+++ /dev/null
@@ -1,1536 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Xserver drawing ops and funcs
-
-*/
-
-#include "rdp.h"
-#include "gcops.h"
-#include "rdpdraw.h"
-
-#include "rdpCopyArea.h"
-#include "rdpPolyFillRect.h"
-#include "rdpPutImage.h"
-#include "rdpPolyRectangle.h"
-#include "rdpPolylines.h"
-#include "rdpPolySegment.h"
-#include "rdpFillSpans.h"
-#include "rdpSetSpans.h"
-#include "rdpCopyPlane.h"
-#include "rdpPolyPoint.h"
-#include "rdpPolyArc.h"
-#include "rdpFillPolygon.h"
-#include "rdpPolyFillArc.h"
-#include "rdpPolyText8.h"
-#include "rdpPolyText16.h"
-#include "rdpImageText8.h"
-#include "rdpImageText16.h"
-#include "rdpImageGlyphBlt.h"
-#include "rdpPolyGlyphBlt.h"
-#include "rdpPushPixels.h"
-#include "rdpglyph.h"
-
-#define LOG_LEVEL 1
-#define LLOG(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; } } while (0)
-#define LLOGLN(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; ErrorF("\n"); } } while (0)
-
-extern rdpScreenInfoRec g_rdpScreen; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpGCIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpWindowIndex; /* from rdpmain.c */
-extern DevPrivateKeyRec g_rdpPixmapIndex; /* from rdpmain.c */
-extern int g_Bpp; /* from rdpmain.c */
-extern ScreenPtr g_pScreen; /* from rdpmain.c */
-extern Bool g_wrapPixmap; /* from rdpmain.c */
-extern WindowPtr g_invalidate_window; /* in rdpmain.c */
-extern int g_use_rail; /* in rdpmain.c */
-extern int g_do_dirty_os; /* in rdpmain.c */
-extern int g_do_dirty_ons; /* in rdpmain.c */
-extern rdpPixmapRec g_screenPriv; /* in rdpmain.c */
-extern int g_con_number; /* in rdpmain.c */
-extern int g_do_glyph_cache; /* in rdpmain.c */
-
-ColormapPtr g_rdpInstalledColormap;
-
-GCFuncs g_rdpGCFuncs =
-{
- rdpValidateGC, rdpChangeGC, rdpCopyGC, rdpDestroyGC, rdpChangeClip,
- rdpDestroyClip, rdpCopyClip
-};
-
-GCOps g_rdpGCOps =
-{
- rdpFillSpans, rdpSetSpans, rdpPutImage, rdpCopyArea, rdpCopyPlane,
- rdpPolyPoint, rdpPolylines, rdpPolySegment, rdpPolyRectangle,
- rdpPolyArc, rdpFillPolygon, rdpPolyFillRect, rdpPolyFillArc,
- rdpPolyText8, rdpPolyText16, rdpImageText8, rdpImageText16,
- rdpImageGlyphBlt, rdpPolyGlyphBlt, rdpPushPixels
-};
-
-/******************************************************************************/
-/* return 0, draw nothing */
-/* return 1, draw with no clip */
-/* return 2, draw using clip */
-int
-rdp_get_clip(RegionPtr pRegion, DrawablePtr pDrawable, GCPtr pGC)
-{
- WindowPtr pWindow;
- RegionPtr temp;
- BoxRec box;
- int rv;
-
- rv = 0;
-
- if (pDrawable->type == DRAWABLE_PIXMAP)
- {
- switch (pGC->clientClipType)
- {
- case CT_NONE:
- rv = 1;
- break;
- case CT_REGION:
- rv = 2;
- RegionCopy(pRegion, pGC->pCompositeClip);
- break;
- default:
- rdpLog("unimp clip type %d\n", pGC->clientClipType);
- break;
- }
-
- if (rv == 2) /* check if the clip is the entire pixmap */
- {
- box.x1 = 0;
- box.y1 = 0;
- box.x2 = pDrawable->width;
- box.y2 = pDrawable->height;
-
- if (RegionContainsRect(pRegion, &box) == rgnIN)
- {
- rv = 1;
- }
- }
- }
- else if (pDrawable->type == DRAWABLE_WINDOW)
- {
- pWindow = (WindowPtr)pDrawable;
-
- if (pWindow->viewable)
- {
- if (pGC->subWindowMode == IncludeInferiors)
- {
- temp = &pWindow->borderClip;
- }
- else
- {
- temp = &pWindow->clipList;
- }
-
- if (RegionNotEmpty(temp))
- {
- switch (pGC->clientClipType)
- {
- case CT_NONE:
- rv = 2;
- RegionCopy(pRegion, temp);
- break;
- case CT_REGION:
- rv = 2;
- RegionCopy(pRegion, pGC->clientClip);
- RegionTranslate(pRegion,
- pDrawable->x + pGC->clipOrg.x,
- pDrawable->y + pGC->clipOrg.y);
- RegionIntersect(pRegion, pRegion, temp);
- break;
- default:
- rdpLog("unimp clip type %d\n", pGC->clientClipType);
- break;
- }
-
- if (rv == 2) /* check if the clip is the entire screen */
- {
- box.x1 = 0;
- box.y1 = 0;
- box.x2 = g_rdpScreen.width;
- box.y2 = g_rdpScreen.height;
-
- if (RegionContainsRect(pRegion, &box) == rgnIN)
- {
- rv = 1;
- }
- }
- }
- }
- }
-
- return rv;
-}
-
-/******************************************************************************/
-void
-GetTextBoundingBox(DrawablePtr pDrawable, FontPtr font, int x, int y,
- int n, BoxPtr pbox)
-{
- int maxAscent;
- int maxDescent;
- int maxCharWidth;
-
- if (FONTASCENT(font) > FONTMAXBOUNDS(font, ascent))
- {
- maxAscent = FONTASCENT(font);
- }
- else
- {
- maxAscent = FONTMAXBOUNDS(font, ascent);
- }
-
- if (FONTDESCENT(font) > FONTMAXBOUNDS(font, descent))
- {
- maxDescent = FONTDESCENT(font);
- }
- else
- {
- maxDescent = FONTMAXBOUNDS(font, descent);
- }
-
- if (FONTMAXBOUNDS(font, rightSideBearing) >
- FONTMAXBOUNDS(font, characterWidth))
- {
- maxCharWidth = FONTMAXBOUNDS(font, rightSideBearing);
- }
- else
- {
- maxCharWidth = FONTMAXBOUNDS(font, characterWidth);
- }
-
- pbox->x1 = pDrawable->x + x;
- pbox->y1 = pDrawable->y + y - maxAscent;
- pbox->x2 = pbox->x1 + maxCharWidth * n;
- pbox->y2 = pbox->y1 + maxAscent + maxDescent;
-
- if (FONTMINBOUNDS(font, leftSideBearing) < 0)
- {
- pbox->x1 += FONTMINBOUNDS(font, leftSideBearing);
- }
-}
-
-/******************************************************************************/
-#define GC_FUNC_PROLOGUE(_pGC) \
- { \
- priv = (rdpGCPtr)(dixGetPrivateAddr(&(_pGC->devPrivates), &g_rdpGCIndex)); \
- (_pGC)->funcs = priv->funcs; \
- if (priv->ops != 0) \
- { \
- (_pGC)->ops = priv->ops; \
- } \
- }
-
-/******************************************************************************/
-#define GC_FUNC_EPILOGUE(_pGC) \
- { \
- priv->funcs = (_pGC)->funcs; \
- (_pGC)->funcs = &g_rdpGCFuncs; \
- if (priv->ops != 0) \
- { \
- priv->ops = (_pGC)->ops; \
- (_pGC)->ops = &g_rdpGCOps; \
- } \
- }
-
-/******************************************************************************/
-static void
-rdpValidateGC(GCPtr pGC, unsigned long changes, DrawablePtr d)
-{
- rdpGCRec *priv;
- int wrap;
- RegionPtr pRegion;
-
- LLOGLN(10, ("rdpValidateGC:"));
- GC_FUNC_PROLOGUE(pGC);
- pGC->funcs->ValidateGC(pGC, changes, d);
-
- if (g_wrapPixmap)
- {
- wrap = 1;
- }
- else
- {
- wrap = (d->type == DRAWABLE_WINDOW) && ((WindowPtr)d)->viewable;
-
- if (wrap)
- {
- if (pGC->subWindowMode == IncludeInferiors)
- {
- pRegion = &(((WindowPtr)d)->borderClip);
- }
- else
- {
- pRegion = &(((WindowPtr)d)->clipList);
- }
-
- wrap = RegionNotEmpty(pRegion);
- }
- }
-
- priv->ops = 0;
-
- if (wrap)
- {
- priv->ops = pGC->ops;
- }
-
- GC_FUNC_EPILOGUE(pGC);
-}
-
-/******************************************************************************/
-static void
-rdpChangeGC(GCPtr pGC, unsigned long mask)
-{
- rdpGCRec *priv;
-
- LLOGLN(10, ("in rdpChangeGC"));
- GC_FUNC_PROLOGUE(pGC);
- pGC->funcs->ChangeGC(pGC, mask);
- GC_FUNC_EPILOGUE(pGC);
-}
-
-/******************************************************************************/
-static void
-rdpCopyGC(GCPtr src, unsigned long mask, GCPtr dst)
-{
- rdpGCRec *priv;
-
- LLOGLN(10, ("in rdpCopyGC"));
- GC_FUNC_PROLOGUE(dst);
- dst->funcs->CopyGC(src, mask, dst);
- GC_FUNC_EPILOGUE(dst);
-}
-
-/******************************************************************************/
-static void
-rdpDestroyGC(GCPtr pGC)
-{
- rdpGCRec *priv;
-
- LLOGLN(10, ("in rdpDestroyGC"));
- GC_FUNC_PROLOGUE(pGC);
- pGC->funcs->DestroyGC(pGC);
- GC_FUNC_EPILOGUE(pGC);
-}
-
-/******************************************************************************/
-static void
-rdpChangeClip(GCPtr pGC, int type, pointer pValue, int nrects)
-{
- rdpGCRec *priv;
-
- LLOGLN(10, ("in rdpChangeClip"));
- GC_FUNC_PROLOGUE(pGC);
- pGC->funcs->ChangeClip(pGC, type, pValue, nrects);
- GC_FUNC_EPILOGUE(pGC);
-}
-
-/******************************************************************************/
-static void
-rdpDestroyClip(GCPtr pGC)
-{
- rdpGCRec *priv;
-
- LLOGLN(10, ("in rdpDestroyClip"));
- GC_FUNC_PROLOGUE(pGC);
- pGC->funcs->DestroyClip(pGC);
- GC_FUNC_EPILOGUE(pGC);
-}
-
-/******************************************************************************/
-static void
-rdpCopyClip(GCPtr dst, GCPtr src)
-{
- rdpGCRec *priv;
-
- LLOGLN(0, ("in rdpCopyClip"));
- GC_FUNC_PROLOGUE(dst);
- dst->funcs->CopyClip(dst, src);
- GC_FUNC_EPILOGUE(dst);
-}
-
-/******************************************************************************/
-#define GC_OP_PROLOGUE(_pGC) \
- { \
- priv = (rdpGCPtr)dixGetPrivateAddr(&(pGC->devPrivates), &g_rdpGCIndex); \
- oldFuncs = _pGC->funcs; \
- (_pGC)->funcs = priv->funcs; \
- (_pGC)->ops = priv->ops; \
- }
-
-/******************************************************************************/
-#define GC_OP_EPILOGUE(_pGC) \
- { \
- priv->ops = (_pGC)->ops; \
- (_pGC)->funcs = oldFuncs; \
- (_pGC)->ops = &g_rdpGCOps; \
- }
-
-/******************************************************************************/
-Bool
-rdpCloseScreen(int i, ScreenPtr pScreen)
-{
- LLOGLN(10, ("in rdpCloseScreen"));
- pScreen->CloseScreen = g_rdpScreen.CloseScreen;
- pScreen->CreateGC = g_rdpScreen.CreateGC;
- //pScreen->PaintWindowBackground = g_rdpScreen.PaintWindowBackground;
- //pScreen->PaintWindowBorder = g_rdpScreen.PaintWindowBorder;
- pScreen->CopyWindow = g_rdpScreen.CopyWindow;
- pScreen->ClearToBackground = g_rdpScreen.ClearToBackground;
- pScreen->RestoreAreas = g_rdpScreen.RestoreAreas;
- return 1;
-}
-
-/******************************************************************************/
-int
-draw_item_add(rdpPixmapRec *priv, struct rdp_draw_item *di)
-{
- priv->is_alpha_dirty_not = 0;
-
- if (priv->draw_item_tail == 0)
- {
- priv->draw_item_tail = di;
- priv->draw_item_head = di;
- }
- else
- {
- di->prev = priv->draw_item_tail;
- priv->draw_item_tail->next = di;
- priv->draw_item_tail = di;
- }
-
- if (priv == &g_screenPriv)
- {
- rdpScheduleDeferredUpdate();
- }
-
- return 0;
-}
-
-/******************************************************************************/
-int
-draw_item_remove(rdpPixmapRec *priv, struct rdp_draw_item *di)
-{
- if (di->prev != 0)
- {
- di->prev->next = di->next;
- }
-
- if (di->next != 0)
- {
- di->next->prev = di->prev;
- }
-
- if (priv->draw_item_head == di)
- {
- priv->draw_item_head = di->next;
- }
-
- if (priv->draw_item_tail == di)
- {
- priv->draw_item_tail = di->prev;
- }
-
- if (di->type == RDI_LINE)
- {
- if (di->u.line.segs != 0)
- {
- g_free(di->u.line.segs);
- }
- }
-
- if (di->type == RDI_TEXT)
- {
- delete_rdp_text(di->u.text.rtext);
- }
-
- RegionDestroy(di->reg);
- g_free(di);
- return 0;
-}
-
-/******************************************************************************/
-int
-draw_item_remove_all(rdpPixmapRec *priv)
-{
- struct rdp_draw_item *di;
-
- di = priv->draw_item_head;
-
- while (di != 0)
- {
- draw_item_remove(priv, di);
- di = priv->draw_item_head;
- }
-
- return 0;
-}
-
-/******************************************************************************/
-int
-region_get_pixel_count(RegionPtr reg)
-{
- int index;
- int count;
- int pixels;
- int width;
- int height;
- BoxRec box;
-
- pixels = 0;
- count = REGION_NUM_RECTS(reg);
- for (index = 0; index < count; index++)
- {
- box = REGION_RECTS(reg)[index];
- width = box.x2 - box.x1;
- height = box.y2 - box.y1;
- pixels += width * height;
- }
- return pixels;
-}
-
-/******************************************************************************/
-/* returns boolean */
-int
-region_in_region(RegionPtr reg_small, int sreg_pcount, RegionPtr reg_big)
-{
- int rv;
- RegionRec reg;
-
- rv = 0;
- RegionInit(®, NullBox, 0);
- RegionIntersect(®, reg_small, reg_big);
- if (sreg_pcount == -1)
- {
- sreg_pcount = region_get_pixel_count(reg_small);
- }
- if (sreg_pcount == 0)
- {
- /* empty region not even in */
- return 0;
- }
- if (region_get_pixel_count(®) == sreg_pcount)
- {
- rv = 1;
- }
- RegionUninit(®);
- return rv;
-}
-
-/******************************************************************************/
-static int
-remove_empties(rdpPixmapRec* priv)
-{
- struct rdp_draw_item* di;
- struct rdp_draw_item* di_prev;
- int rv;
-
- rv = 0;
- /* remove draw items with empty regions */
- di = priv->draw_item_head;
- di_prev = 0;
- while (di != 0)
- {
- if (!RegionNotEmpty(di->reg))
- {
- LLOGLN(10, ("remove_empties: removing empty item type %d", di->type));
- draw_item_remove(priv, di);
- di = di_prev == 0 ? priv->draw_item_head : di_prev->next;
- rv++;
- }
- else
- {
- di_prev = di;
- di = di->next;
- }
- }
- return rv;
-}
-
-/******************************************************************************/
-static int
-dump_draw_list(rdpPixmapRec* priv)
-{
- struct rdp_draw_item* di;
- int index;
- int count;
- BoxRec box;
-
- LLOGLN(0, ("dump_draw_list:"));
- di = priv->draw_item_head;
- while (di != 0)
- {
- LLOGLN(0, (" type %d", di->type));
- count = REGION_NUM_RECTS(di->reg);
- if (count == 0)
- {
- LLOGLN(0, (" empty region"));
- }
- else
- {
- box = RegionExtents(di->reg)[0];
- LLOGLN(0, (" region list follows extents x1 %d y1 %d x2 %d y2 %d",
- box.x1, box.y1, box.x2, box.y2));
- for (index = 0; index < count; index++)
- {
- box = REGION_RECTS(di->reg)[index];
- LLOGLN(0, (" index %d x1 %d y1 %d x2 %d y2 %d",
- index, box.x1, box.y1, box.x2, box.y2));
- }
- }
- di = di->next;
- }
- return 0;
-}
-
-/******************************************************************************/
-/* returns boolean */
-static int
-region_intersect_at_all(RegionPtr reg_small, RegionPtr reg_big)
-{
- int rv;
- RegionRec reg;
-
- if (!RegionNotEmpty(reg_small))
- {
- return 0;
- }
- rv = 0;
- RegionInit(®, NullBox, 0);
- RegionIntersect(®, reg_big, reg_big);
- if (RegionNotEmpty(®))
- {
- rv = 1;
- }
- RegionUninit(®);
- return rv;
-}
-
-/******************************************************************************/
-int
-draw_item_pack(PixmapPtr pix, rdpPixmapRec *priv)
-{
- struct rdp_draw_item *di;
- struct rdp_draw_item *di_prev;
- BoxRec box;
- RegionRec treg;
-
-#if 1
- if (pix != 0)
- {
- box.x1 = 0;
- box.x2 = pix->drawable.width;
- box.y1 = 0;
- box.y2 = pix->drawable.height;
- RegionInit(&treg, &box, 0);
- di = priv->draw_item_head;
- di_prev = 0;
- while (di != 0)
- {
- RegionIntersect(di->reg, di->reg, &treg);
- di_prev = di;
- di = di->next;
- }
- RegionUninit(&treg);
- remove_empties(priv);
- }
-#endif
-
-#if 1
- /* look for repeating draw types */
- if (priv->draw_item_head != 0)
- {
- if (priv->draw_item_head->next != 0)
- {
- di_prev = priv->draw_item_head;
- di = priv->draw_item_head->next;
-
- while (di != 0)
- {
-#if 0
- if ((di_prev->type == RDI_IMGLL || di_prev->type == RDI_IMGLY) &&
- (di->type == RDI_IMGLL || di->type == RDI_IMGLY))
- {
- LLOGLN(10, ("draw_item_pack: packing RDI_IMGLL and RDI_IMGLY"));
- di_prev->type = RDI_IMGLY;
- RegionUnion(di_prev->reg, di_prev->reg, di->reg);
- draw_item_remove(priv, di);
- di = di_prev->next;
- }
-#else
- if ((di_prev->type == RDI_IMGLL) && (di->type == RDI_IMGLL))
- {
- LLOGLN(10, ("draw_item_pack: packing RDI_IMGLL"));
- RegionUnion(di_prev->reg, di_prev->reg, di->reg);
- draw_item_remove(priv, di);
- di = di_prev->next;
- }
-#endif
- else if ((di_prev->type == RDI_IMGLY) && (di->type == RDI_IMGLY))
- {
- LLOGLN(10, ("draw_item_pack: packing RDI_IMGLY"));
- RegionUnion(di_prev->reg, di_prev->reg, di->reg);
- draw_item_remove(priv, di);
- di = di_prev->next;
- }
- else
- {
- di_prev = di;
- di = di_prev->next;
- }
- }
- }
- }
- remove_empties(priv);
-#endif
-
-#if 0
- if (priv->draw_item_tail != 0)
- {
- if (priv->draw_item_tail->prev != 0)
- {
- di = priv->draw_item_tail;
- while (di->prev != 0)
- {
- di_prev = di->prev;
- while (di_prev != 0)
- {
- if ((di->type == RDI_TEXT) && (di_prev->type == RDI_IMGLY))
- {
- if (region_intersect_at_all(di->reg, di_prev->reg))
- {
- di_prev->type = RDI_IMGLL;
- }
- }
- di_prev = di_prev->prev;
- }
- di = di->prev;
- }
- }
- }
- remove_empties(priv);
-#endif
-
-#if 0
- /* subtract regions */
- if (priv->draw_item_tail != 0)
- {
- if (priv->draw_item_tail->prev != 0)
- {
- di = priv->draw_item_tail;
-
- while (di->prev != 0)
- {
- /* skip subtract flag
- * draw items like line can't be used to clear(subtract) previous
- * draw items since they are not opaque
- * eg they can not be the 'S' in 'D = M - S'
- * the region for line draw items is the clip region */
- if ((di->flags & 1) == 0)
- {
- di_prev = di->prev;
-
- while (di_prev != 0)
- {
- if (region_in_region(di_prev->reg, -1, di->reg))
- {
- /* empty region so this draw item will get removed below */
- RegionEmpty(di_prev->reg);
- }
- di_prev = di_prev->prev;
- }
- }
-
- di = di->prev;
- }
- }
- }
- remove_empties(priv);
-#endif
-
- return 0;
-}
-
-static char g_strings[][32] =
-{
- "Composite", /* 0 */
- "CopyArea", /* 1 */
- "PolyFillRect", /* 2 */
- "PutImage", /* 3 */
- "PolyRectangle", /* 4 */
- "CopyPlane", /* 5 */
- "PolyArc", /* 6 */
- "FillPolygon", /* 7 */
- "PolyFillArc", /* 8 */
- "ImageText8", /* 9 */
- "PolyText8", /* 10 */
- "PolyText16", /* 11 */
- "ImageText16", /* 12 */
- "ImageGlyphBlt", /* 13 */
- "PolyGlyphBlt", /* 14 */
- "PushPixels", /* 15 */
- "Other"
-};
-
-/******************************************************************************/
-int
-draw_item_add_img_region(rdpPixmapRec *priv, RegionPtr reg, int opcode,
- int type, int code)
-{
- struct rdp_draw_item *di;
-
- LLOGLN(10, ("draw_item_add_img_region: %s", g_strings[code]));
- di = (struct rdp_draw_item *)g_malloc(sizeof(struct rdp_draw_item), 1);
- di->type = type;
- di->reg = RegionCreate(NullBox, 0);
- RegionCopy(di->reg, reg);
- di->u.img.opcode = opcode;
- draw_item_add(priv, di);
- return 0;
-}
-
-/******************************************************************************/
-int
-draw_item_add_fill_region(rdpPixmapRec *priv, RegionPtr reg, int color,
- int opcode)
-{
- struct rdp_draw_item *di;
-
- LLOGLN(10, ("draw_item_add_fill_region:"));
- di = (struct rdp_draw_item *)g_malloc(sizeof(struct rdp_draw_item), 1);
- di->type = RDI_FILL;
- di->u.fill.fg_color = color;
- di->u.fill.opcode = opcode;
- di->reg = RegionCreate(NullBox, 0);
- RegionCopy(di->reg, reg);
- draw_item_add(priv, di);
- return 0;
-}
-
-/******************************************************************************/
-int
-draw_item_add_line_region(rdpPixmapRec *priv, RegionPtr reg, int color,
- int opcode, int width, xSegment *segs, int nseg,
- int is_segment)
-{
- struct rdp_draw_item *di;
-
- LLOGLN(10, ("draw_item_add_line_region:"));
- di = (struct rdp_draw_item *)g_malloc(sizeof(struct rdp_draw_item), 1);
- di->type = RDI_LINE;
- di->u.line.fg_color = color;
- di->u.line.opcode = opcode;
- di->u.line.width = width;
- di->u.line.segs = (xSegment *)g_malloc(sizeof(xSegment) * nseg, 1);
- memcpy(di->u.line.segs, segs, sizeof(xSegment) * nseg);
- di->u.line.nseg = nseg;
-
- if (is_segment)
- {
- di->u.line.flags = 1;
- }
-
- di->reg = RegionCreate(NullBox, 0);
- di->flags |= 1;
- RegionCopy(di->reg, reg);
- draw_item_add(priv, di);
- return 0;
-}
-
-/******************************************************************************/
-int
-draw_item_add_srcblt_region(rdpPixmapRec *priv, RegionPtr reg,
- int srcx, int srcy, int dstx, int dsty,
- int cx, int cy)
-{
- struct rdp_draw_item *di;
-
- LLOGLN(10, ("draw_item_add_srcblt_region:"));
- di = (struct rdp_draw_item *)g_malloc(sizeof(struct rdp_draw_item), 1);
- di->type = RDI_SCRBLT;
- di->u.scrblt.srcx = srcx;
- di->u.scrblt.srcy = srcy;
- di->u.scrblt.dstx = dstx;
- di->u.scrblt.dsty = dsty;
- di->u.scrblt.cx = cx;
- di->u.scrblt.cy = cy;
- di->reg = RegionCreate(NullBox, 0);
- RegionCopy(di->reg, reg);
- draw_item_add(priv, di);
- return 0;
-}
-
-/******************************************************************************/
-int
-draw_item_add_text_region(rdpPixmapRec* priv, RegionPtr reg, int color,
- int opcode, struct rdp_text* rtext)
-{
- struct rdp_draw_item* di;
-
- LLOGLN(10, ("draw_item_add_text_region:"));
- di = (struct rdp_draw_item*)g_malloc(sizeof(struct rdp_draw_item), 1);
- di->type = RDI_TEXT;
- di->u.text.fg_color = color;
- di->u.text.opcode = opcode;
- di->u.text.rtext = rtext;
- di->reg = RegionCreate(NullBox, 0);
- RegionCopy(di->reg, reg);
- draw_item_add(priv, di);
- return 0;
-}
-
-/******************************************************************************/
-PixmapPtr
-rdpCreatePixmap(ScreenPtr pScreen, int width, int height, int depth,
- unsigned usage_hint)
-{
- PixmapPtr rv;
- rdpPixmapRec *priv;
- int org_width;
-
- org_width = width;
- /* width must be a multiple of 4 in rdp */
- width = (width + 3) & ~3;
- LLOGLN(10, ("rdpCreatePixmap: width %d org_width %d depth %d screen depth %d",
- width, org_width, depth, g_rdpScreen.depth));
- pScreen->CreatePixmap = g_rdpScreen.CreatePixmap;
- rv = pScreen->CreatePixmap(pScreen, width, height, depth, usage_hint);
- pScreen->CreatePixmap = rdpCreatePixmap;
- priv = GETPIXPRIV(rv);
- priv->rdpindex = -1;
- priv->kind_width = width;
- pScreen->ModifyPixmapHeader(rv, org_width, 0, 0, 0, 0, 0);
- if ((org_width == 0) && (height == 0))
- {
- LLOGLN(10, ("rdpCreatePixmap: setting is_scratch"));
- priv->is_scratch = 1;
- }
- return rv;
-}
-
-extern struct rdpup_os_bitmap *g_os_bitmaps;
-
-/******************************************************************************/
-Bool
-rdpDestroyPixmap(PixmapPtr pPixmap)
-{
- Bool rv;
- ScreenPtr pScreen;
- rdpPixmapRec *priv;
-
- LLOGLN(10, ("rdpDestroyPixmap:"));
- priv = GETPIXPRIV(pPixmap);
- LLOGLN(10, ("status %d refcnt %d", priv->status, pPixmap->refcnt));
-
- if (pPixmap->refcnt < 2)
- {
- if (XRDP_IS_OS(priv))
- {
- if (priv->rdpindex >= 0)
- {
- rdpup_remove_os_bitmap(priv->rdpindex);
- rdpup_delete_os_surface(priv->rdpindex);
- }
- }
- }
-
- pScreen = pPixmap->drawable.pScreen;
- pScreen->DestroyPixmap = g_rdpScreen.DestroyPixmap;
- rv = pScreen->DestroyPixmap(pPixmap);
- pScreen->DestroyPixmap = rdpDestroyPixmap;
- return rv;
-}
-
-/*****************************************************************************/
-int
-xrdp_is_os(PixmapPtr pix, rdpPixmapPtr priv)
-{
- RegionRec reg1;
- BoxRec box;
- int width;
- int height;
- struct image_data id;
-
- if (XRDP_IS_OS(priv))
- {
- /* update time stamp */
- rdpup_update_os_use(priv->rdpindex);
- }
- else
- {
- width = pix->drawable.width;
- height = pix->drawable.height;
- if ((pix->usage_hint == 0) &&
- (pix->drawable.depth >= g_rdpScreen.depth) &&
- (width > 0) && (height > 0) && (priv->kind_width > 0) &&
- (priv->is_scratch == 0) && (priv->use_count >= 0))
- {
- width = (width + 3) & ~3;
- priv->rdpindex = rdpup_add_os_bitmap(pix, priv);
- if (priv->rdpindex >= 0)
- {
- priv->status = 1;
- rdpup_create_os_surface(priv->rdpindex, width, height);
- box.x1 = 0;
- box.y1 = 0;
- box.x2 = width;
- box.y2 = height;
- if (g_do_dirty_os)
- {
- LLOGLN(10, ("xrdp_is_os: priv->con_number %d g_con_number %d",
- priv->con_number, g_con_number));
- LLOGLN(10, ("xrdp_is_os: priv->use_count %d", priv->use_count));
- if (priv->con_number != g_con_number)
- {
- LLOGLN(10, ("xrdp_is_os: queuing invalidating all"));
- draw_item_remove_all(priv);
- RegionInit(®1, &box, 0);
- draw_item_add_img_region(priv, ®1, GXcopy, RDI_IMGLY, 16);
- RegionUninit(®1);
- priv->is_dirty = 1;
- priv->con_number = g_con_number;
- }
- }
- else
- {
- rdpup_get_pixmap_image_rect(pix, &id);
- rdpup_switch_os_surface(priv->rdpindex);
- rdpup_begin_update();
- rdpup_send_area(&id, box.x1, box.y1, box.x2 - box.x1,
- box.y2 - box.y1);
- rdpup_end_update();
- rdpup_switch_os_surface(-1);
- }
- priv->use_count++;
- return 1;
- }
- else
- {
- LLOGLN(10, ("xrdp_is_os: rdpup_add_os_bitmap failed"));
- }
- }
- priv->use_count++;
- return 0;
- }
- priv->use_count++;
- return 1;
-}
-
-/******************************************************************************/
-Bool
-rdpCreateWindow(WindowPtr pWindow)
-{
- ScreenPtr pScreen;
- rdpWindowRec *priv;
- Bool rv;
-
- LLOGLN(10, ("rdpCreateWindow:"));
- priv = GETWINPRIV(pWindow);
- LLOGLN(10, (" %p status %d", priv, priv->status));
- pScreen = pWindow->drawable.pScreen;
- pScreen->CreateWindow = g_rdpScreen.CreateWindow;
- rv = pScreen->CreateWindow(pWindow);
- pScreen->CreateWindow = rdpCreateWindow;
-
- if (g_use_rail)
- {
- }
-
- return rv;
-}
-
-/******************************************************************************/
-Bool
-rdpDestroyWindow(WindowPtr pWindow)
-{
- ScreenPtr pScreen;
- rdpWindowRec *priv;
- Bool rv;
-
- LLOGLN(10, ("rdpDestroyWindow:"));
- priv = GETWINPRIV(pWindow);
- pScreen = pWindow->drawable.pScreen;
- pScreen->DestroyWindow = g_rdpScreen.DestroyWindow;
- rv = pScreen->DestroyWindow(pWindow);
- pScreen->DestroyWindow = rdpDestroyWindow;
-
- if (g_use_rail)
- {
-#ifdef XRDP_WM_RDPUP
- LLOGLN(10, (" rdpup_delete_window"));
- rdpup_delete_window(pWindow, priv);
-#endif
- }
-
- return rv;
-}
-
-/******************************************************************************/
-Bool
-rdpPositionWindow(WindowPtr pWindow, int x, int y)
-{
- ScreenPtr pScreen;
- rdpWindowRec *priv;
- Bool rv;
-
- LLOGLN(10, ("rdpPositionWindow:"));
- priv = GETWINPRIV(pWindow);
- pScreen = pWindow->drawable.pScreen;
- pScreen->PositionWindow = g_rdpScreen.PositionWindow;
- rv = pScreen->PositionWindow(pWindow, x, y);
- pScreen->PositionWindow = rdpPositionWindow;
-
- if (g_use_rail)
- {
- if (priv->status == 1)
- {
- LLOGLN(10, ("rdpPositionWindow:"));
- LLOGLN(10, (" x %d y %d", x, y));
- }
- }
-
- return rv;
-}
-
-/******************************************************************************/
-Bool
-rdpRealizeWindow(WindowPtr pWindow)
-{
- ScreenPtr pScreen;
- rdpWindowRec *priv;
- Bool rv;
-
- LLOGLN(10, ("rdpRealizeWindow:"));
- priv = GETWINPRIV(pWindow);
- pScreen = pWindow->drawable.pScreen;
- pScreen->RealizeWindow = g_rdpScreen.RealizeWindow;
- rv = pScreen->RealizeWindow(pWindow);
- pScreen->RealizeWindow = rdpRealizeWindow;
-
- if (g_use_rail)
- {
- if ((pWindow != g_invalidate_window) && (pWindow->parent != 0))
- {
- if (XR_IS_ROOT(pWindow->parent))
- {
- LLOGLN(10, ("rdpRealizeWindow:"));
- LLOGLN(10, (" pWindow %p id 0x%x pWindow->parent %p id 0x%x x %d "
- "y %d width %d height %d",
- pWindow, (int)(pWindow->drawable.id),
- pWindow->parent, (int)(pWindow->parent->drawable.id),
- pWindow->drawable.x, pWindow->drawable.y,
- pWindow->drawable.width, pWindow->drawable.height));
- priv->status = 1;
-#ifdef XRDP_WM_RDPUP
- rdpup_create_window(pWindow, priv);
-#endif
- }
- }
- }
-
- return rv;
-}
-
-/******************************************************************************/
-Bool
-rdpUnrealizeWindow(WindowPtr pWindow)
-{
- ScreenPtr pScreen;
- rdpWindowRec *priv;
- Bool rv;
-
- LLOGLN(10, ("rdpUnrealizeWindow:"));
- priv = GETWINPRIV(pWindow);
- pScreen = pWindow->drawable.pScreen;
- pScreen->UnrealizeWindow = g_rdpScreen.UnrealizeWindow;
- rv = pScreen->UnrealizeWindow(pWindow);
- pScreen->UnrealizeWindow = rdpUnrealizeWindow;
-
- if (g_use_rail)
- {
- if (priv->status == 1)
- {
- LLOGLN(10, ("rdpUnrealizeWindow:"));
- priv->status = 0;
- if (pWindow->overrideRedirect) {
-#ifdef XRDP_WM_RDPUP
- /*
- * Popups are unmapped by X server, so probably
- * they will be mapped again. Thereby we should
- * just hide those popups instead of destroying
- * them.
- */
- LLOGLN(10, (" rdpup_show_window"));
- rdpup_show_window(pWindow, priv, 0x0); /* 0x0 - do not show the window */
-#endif
- }
- }
- }
-
- return rv;
-}
-
-/******************************************************************************/
-Bool
-rdpChangeWindowAttributes(WindowPtr pWindow, unsigned long mask)
-{
- ScreenPtr pScreen;
- rdpWindowRec *priv;
- Bool rv;
-
- LLOGLN(10, ("rdpChangeWindowAttributes:"));
- priv = GETWINPRIV(pWindow);
- pScreen = pWindow->drawable.pScreen;
- pScreen->ChangeWindowAttributes = g_rdpScreen.ChangeWindowAttributes;
- rv = pScreen->ChangeWindowAttributes(pWindow, mask);
- pScreen->ChangeWindowAttributes = rdpChangeWindowAttributes;
-
- if (g_use_rail)
- {
- }
-
- return rv;
-}
-
-/******************************************************************************/
-void
-rdpWindowExposures(WindowPtr pWindow, RegionPtr pRegion, RegionPtr pBSRegion)
-{
- ScreenPtr pScreen;
- rdpWindowRec *priv;
-
- LLOGLN(10, ("rdpWindowExposures:"));
- priv = GETWINPRIV(pWindow);
- pScreen = pWindow->drawable.pScreen;
- pScreen->WindowExposures = g_rdpScreen.WindowExposures;
- pScreen->WindowExposures(pWindow, pRegion, pBSRegion);
-
- if (g_use_rail)
- {
- }
-
- pScreen->WindowExposures = rdpWindowExposures;
-}
-
-/******************************************************************************/
-Bool
-rdpCreateGC(GCPtr pGC)
-{
- rdpGCRec *priv;
- Bool rv;
-
- LLOGLN(10, ("in rdpCreateGC\n"));
- priv = GETGCPRIV(pGC);
- g_pScreen->CreateGC = g_rdpScreen.CreateGC;
- rv = g_pScreen->CreateGC(pGC);
-
- if (rv)
- {
- priv->funcs = pGC->funcs;
- priv->ops = 0;
- pGC->funcs = &g_rdpGCFuncs;
- }
- else
- {
- rdpLog("error in rdpCreateGC, CreateGC failed\n");
- }
-
- g_pScreen->CreateGC = rdpCreateGC;
- return rv;
-}
-
-/******************************************************************************/
-void
-rdpCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr pOldRegion)
-{
- RegionRec reg;
- RegionRec reg1;
- RegionRec clip;
- int dx;
- int dy;
- int i;
- int j;
- int num_clip_rects;
- int num_reg_rects;
- BoxRec box1;
- BoxRec box2;
- BoxPtr box3;
-
- LLOGLN(10, ("rdpCopyWindow:"));
- LLOGLN(10, ("rdpCopyWindow: new x %d new y %d old x %d old y %d",
- pWin->drawable.x, pWin->drawable.y, ptOldOrg.x, ptOldOrg.y));
- RegionInit(®, NullBox, 0);
- RegionCopy(®, pOldRegion);
- RegionInit(&clip, NullBox, 0);
- RegionCopy(&clip, &pWin->borderClip);
- dx = pWin->drawable.x - ptOldOrg.x;
- dy = pWin->drawable.y - ptOldOrg.y;
-
- if (g_do_dirty_ons)
- {
- rdpup_check_dirty_screen(&g_screenPriv);
- }
-
- g_pScreen->CopyWindow = g_rdpScreen.CopyWindow;
- g_pScreen->CopyWindow(pWin, ptOldOrg, pOldRegion);
- g_pScreen->CopyWindow = rdpCopyWindow;
-
- num_clip_rects = REGION_NUM_RECTS(&clip);
- num_reg_rects = REGION_NUM_RECTS(®);
- LLOGLN(10, ("rdpCopyWindow: num_clip_rects %d num_reg_rects %d",
- num_clip_rects, num_reg_rects));
-
- if ((num_clip_rects == 0) || (num_reg_rects == 0))
- {
- return;
- }
- rdpup_begin_update();
-
- /* when there is a huge list of screen copies, just send as bitmap
- firefox dragging test does this */
- if ((num_clip_rects > 16) && (num_reg_rects > 16))
- {
- box3 = RegionExtents(®);
- rdpup_send_area(0, box3->x1 + dx, box3->y1 + dy,
- box3->x2 - box3->x1,
- box3->y2 - box3->y1);
- }
- else
- {
-
- /* should maybe sort the rects instead of checking dy < 0 */
- /* If we can depend on the rects going from top to bottom, left
- to right we are ok */
- if (dy < 0 || (dy == 0 && dx < 0))
- {
- for (j = 0; j < num_clip_rects; j++)
- {
- box1 = REGION_RECTS(&clip)[j];
- LLOGLN(10, ("clip x %d y %d w %d h %d", box1.x1, box1.y1,
- box1.x2 - box1.x1, box1.y2 - box1.y1));
- rdpup_set_clip(box1.x1, box1.y1,
- box1.x2 - box1.x1,
- box1.y2 - box1.y1);
-
- for (i = 0; i < num_reg_rects; i++)
- {
- box2 = REGION_RECTS(®)[i];
- LLOGLN(10, ("reg x %d y %d w %d h %d", box2.x1, box2.y1,
- box2.x2 - box2.x1, box2.y2 - box2.y1));
- rdpup_screen_blt(box2.x1 + dx, box2.y1 + dy,
- box2.x2 - box2.x1,
- box2.y2 - box2.y1,
- box2.x1, box2.y1);
- }
- }
- }
- else
- {
- for (j = num_clip_rects - 1; j >= 0; j--)
- {
- box1 = REGION_RECTS(&clip)[j];
- LLOGLN(10, ("clip x %d y %d w %d h %d", box1.x1, box1.y1,
- box1.x2 - box1.x1, box1.y2 - box1.y1));
- rdpup_set_clip(box1.x1, box1.y1,
- box1.x2 - box1.x1,
- box1.y2 - box1.y1);
-
- for (i = num_reg_rects - 1; i >= 0; i--)
- {
- box2 = REGION_RECTS(®)[i];
- LLOGLN(10, ("reg x %d y %d w %d h %d", box2.x1, box2.y1,
- box2.x2 - box2.x1, box2.y2 - box2.y1));
- rdpup_screen_blt(box2.x1 + dx, box2.y1 + dy,
- box2.x2 - box2.x1,
- box2.y2 - box2.y1,
- box2.x1, box2.y1);
- }
- }
- }
- }
-
- rdpup_reset_clip();
- rdpup_end_update();
-
- RegionUninit(®);
- RegionUninit(&clip);
-}
-
-/******************************************************************************/
-void
-rdpClearToBackground(WindowPtr pWin, int x, int y, int w, int h,
- Bool generateExposures)
-{
- int j;
- BoxRec box;
- RegionRec reg;
-
- LLOGLN(10, ("in rdpClearToBackground"));
- g_pScreen->ClearToBackground = g_rdpScreen.ClearToBackground;
- g_pScreen->ClearToBackground(pWin, x, y, w, h, generateExposures);
-
- if (!generateExposures)
- {
- if (w > 0 && h > 0)
- {
- box.x1 = x;
- box.y1 = y;
- box.x2 = box.x1 + w;
- box.y2 = box.y1 + h;
- }
- else
- {
- box.x1 = pWin->drawable.x;
- box.y1 = pWin->drawable.y;
- box.x2 = box.x1 + pWin->drawable.width;
- box.y2 = box.y1 + pWin->drawable.height;
- }
-
- RegionInit(®, &box, 0);
- RegionIntersect(®, ®, &pWin->clipList);
-
- if (g_do_dirty_ons)
- {
- draw_item_add_img_region(&g_screenPriv, ®, GXcopy, RDI_IMGLY, 16);
- }
- else
- {
- rdpup_begin_update();
-
- for (j = REGION_NUM_RECTS(®) - 1; j >= 0; j--)
- {
- box = REGION_RECTS(®)[j];
- rdpup_send_area(0, box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
- }
-
- rdpup_end_update();
- }
-
- RegionUninit(®);
- }
-
- g_pScreen->ClearToBackground = rdpClearToBackground;
-}
-
-/******************************************************************************/
-RegionPtr
-rdpRestoreAreas(WindowPtr pWin, RegionPtr prgnExposed)
-{
- RegionRec reg;
- RegionPtr rv;
- int j;
- BoxRec box;
-
- LLOGLN(0, ("in rdpRestoreAreas"));
- RegionInit(®, NullBox, 0);
- RegionCopy(®, prgnExposed);
- g_pScreen->RestoreAreas = g_rdpScreen.RestoreAreas;
- rv = g_pScreen->RestoreAreas(pWin, prgnExposed);
-
- if (g_do_dirty_ons)
- {
- draw_item_add_img_region(&g_screenPriv, ®, GXcopy, RDI_IMGLY, 16);
- }
- else
- {
- rdpup_begin_update();
-
- for (j = REGION_NUM_RECTS(®) - 1; j >= 0; j--)
- {
- box = REGION_RECTS(®)[j];
- rdpup_send_area(0, box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
- }
-
- rdpup_end_update();
- }
-
- RegionUninit(®);
- g_pScreen->RestoreAreas = rdpRestoreAreas;
- return rv;
-}
-
-/******************************************************************************/
-void
-rdpInstallColormap(ColormapPtr pmap)
-{
- ColormapPtr oldpmap;
-
- oldpmap = g_rdpInstalledColormap;
-
- if (pmap != oldpmap)
- {
- if (oldpmap != (ColormapPtr)None)
- {
- WalkTree(pmap->pScreen, TellLostMap, (char *)&oldpmap->mid);
- }
-
- /* Install pmap */
- g_rdpInstalledColormap = pmap;
- WalkTree(pmap->pScreen, TellGainedMap, (char *)&pmap->mid);
- /*rfbSetClientColourMaps(0, 0);*/
- }
-
- /*g_rdpScreen.InstallColormap(pmap);*/
-}
-
-/******************************************************************************/
-void
-rdpUninstallColormap(ColormapPtr pmap)
-{
- ColormapPtr curpmap;
-
- curpmap = g_rdpInstalledColormap;
-
- if (pmap == curpmap)
- {
- if (pmap->mid != pmap->pScreen->defColormap)
- {
- //curpmap = (ColormapPtr)LookupIDByType(pmap->pScreen->defColormap,
- // RT_COLORMAP);
- //pmap->pScreen->InstallColormap(curpmap);
- }
- }
-}
-
-/******************************************************************************/
-int
-rdpListInstalledColormaps(ScreenPtr pScreen, Colormap *pmaps)
-{
- *pmaps = g_rdpInstalledColormap->mid;
- return 1;
-}
-
-/******************************************************************************/
-void
-rdpStoreColors(ColormapPtr pmap, int ndef, xColorItem *pdefs)
-{
-}
-
-/******************************************************************************/
-Bool
-rdpSaveScreen(ScreenPtr pScreen, int on)
-{
- return 1;
-}
diff --git a/xorg/X11R7.6/rdp/rdpdraw.h b/xorg/X11R7.6/rdp/rdpdraw.h
deleted file mode 100644
index af29daa8..00000000
--- a/xorg/X11R7.6/rdp/rdpdraw.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#ifndef __RDPDRAW_H
-#define __RDPDRAW_H
-
-/******************************************************************************/
-#define GC_OP_PROLOGUE(_pGC) \
-{ \
- priv = (rdpGCPtr)dixGetPrivateAddr(&(pGC->devPrivates), &g_rdpGCIndex); \
- oldFuncs = _pGC->funcs; \
- (_pGC)->funcs = priv->funcs; \
- (_pGC)->ops = priv->ops; \
-}
-
-/******************************************************************************/
-#define GC_OP_EPILOGUE(_pGC) \
-{ \
- priv->ops = (_pGC)->ops; \
- (_pGC)->funcs = oldFuncs; \
- (_pGC)->ops = &g_rdpGCOps; \
-}
-
-int
-rdp_get_clip(RegionPtr pRegion, DrawablePtr pDrawable, GCPtr pGC);
-void
-GetTextBoundingBox(DrawablePtr pDrawable, FontPtr font, int x, int y,
- int n, BoxPtr pbox);
-
-#endif
diff --git a/xorg/X11R7.6/rdp/rdpglyph.c b/xorg/X11R7.6/rdp/rdpglyph.c
deleted file mode 100644
index f0dda8d4..00000000
--- a/xorg/X11R7.6/rdp/rdpglyph.c
+++ /dev/null
@@ -1,862 +0,0 @@
-/*
- Copyright 2012 Jay Sorg
-
- 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.
-
- The above copyright notice and this permission notice shall be included in
- all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
- */
-
-/*
- http://msdn.microsoft.com/en-us/library/cc241863(v=prot.20).aspx
- 4.6.1 "d" Character
- This topic has not yet been rated - Rate this topic
- The following shows glyph image data (1 bpp format) for character
- "d" extracted from a Cache Glyph (Revision 2) (section 2.2.2.2.1.2.6)
- Secondary Drawing Order.
-
- Glyph width = 5 pixels
- Glyph height = 9 pixels
- Glyph origin = (0, -9), marked with an "X" on the image grid
- Bitmap = { 0x08, 0x08, 0x08, 0x78, 0x88, 0x88, 0x88, 0x88, 0x78 }
-
- http://msdn.microsoft.com/en-us/library/cc241864(v=prot.20).aspx
- 4.6.2 "p" Character
- This topic has not yet been rated - Rate this topic
- The following shows glyph image data (1 bpp format) for character
- "p" extracted from a Cache Glyph (Revision 2) (section 2.2.2.2.1.2.6)
- Secondary Drawing Order.
-
- Glyph width = 5 pixels
- Glyph height = 8 pixels
- Glyph origin = (0, -6), marked with an "X" on the image grid
- Bitmap = { 0xF0, 0x88, 0x88, 0x88, 0x88, 0xF0, 0x80, 0x80 }
- */
-
-#include "rdp.h"
-#include "rdpdraw.h"
-#include "rdpglyph.h"
-
-extern DevPrivateKeyRec g_rdpPixmapIndex; /* from rdpmain.c */
-extern int g_do_dirty_os; /* in rdpmain.c */
-extern int g_do_alpha_glyphs; /* in rdpmain.c */
-extern int g_do_glyph_cache; /* in rdpmain.c */
-extern int g_doing_font; /* in rdpmain.c */
-extern ScreenPtr g_pScreen; /* in rdpmain.c */
-extern rdpScreenInfoRec g_rdpScreen; /* in rdpmain.c */
-
-
-#define LOG_LEVEL 1
-#define LLOG(_level, _args) \
-do { if (_level < LOG_LEVEL) { ErrorF _args ; } } while (0)
-#define LLOGLN(_level, _args) \
-do { if (_level < LOG_LEVEL) { ErrorF _args ; ErrorF("\n"); } } while (0)
-
-struct font_cache
-{
- int offset;
- int baseline;
- int width;
- int height;
- int crc;
- int stamp;
-};
-
-static struct font_cache g_font_cache[12][256];
-static int g_stamp = 0;
-
-/*****************************************************************************/
-static void
-set_mono_pixel(char* data, int x, int y, int width, int pixel)
-{
- int start;
- int shift;
-
- width = (width + 7) / 8;
- start = (y * width) + x / 8;
- shift = x % 8;
- if (pixel != 0)
- {
- data[start] = data[start] | (0x80 >> shift);
- }
- else
- {
- data[start] = data[start] & ~(0x80 >> shift);
- }
-}
-
-/*****************************************************************************/
-static int
-lget_pixel(char* data, int x, int y, int depth, int stride_bytes)
-{
- int start;
- int shift;
-
- if (depth == 1)
- {
- start = (y * stride_bytes) + x / 8;
- shift = x % 8;
- return (data[start] & (0x01 << shift)) ? 0xff : 0;
- }
- else if (depth == 8)
- {
- return data[y * stride_bytes + x];
- }
- return 0;
-}
-
-/******************************************************************************/
-static int
-glyph_get_data(ScreenPtr pScreen, GlyphPtr glyph, struct rdp_font_char* rfd)
-{
- int i;
- int j;
- int src_xoff;
- int src_yoff;
- int src_stride_bytes;
- int dst_stride_bytes;
- int hh;
- int ww;
- int src_depth;
- unsigned char pixel;
- PicturePtr pPicture;
- pixman_image_t *src;
- uint32_t* pi32;
- char* pi8;
-
- pPicture = GlyphPicture(glyph)[pScreen->myNum];
- if (pPicture == 0)
- {
- return 0;
- }
- src = image_from_pict(pPicture, FALSE, &src_xoff, &src_yoff);
- if (src == 0)
- {
- return 0;
- }
-
- src_stride_bytes = pixman_image_get_stride(src);
- if (g_do_alpha_glyphs)
- {
- dst_stride_bytes = (glyph->info.width + 3) & ~3;
- rfd->bpp = 8;
- }
- else
- {
- dst_stride_bytes = (((glyph->info.width + 7) / 8) + 3) & ~3;
- rfd->bpp = 1;
- }
- src_depth = pixman_image_get_depth(src);
- ww = pixman_image_get_width(src);
- hh = pixman_image_get_height(src);
- if ((ww != glyph->info.width) || (hh != glyph->info.height) ||
- ((src_depth != 1) && (src_depth != 8)))
- {
- LLOGLN(0, ("glyph_get_data: bad glyph"));
- free_pixman_pict(pPicture, src);
- return 0;
- }
- rfd->data_bytes = glyph->info.height * dst_stride_bytes;
- rfd->data = (char*)g_malloc(rfd->data_bytes, 1);
- rfd->offset = -glyph->info.x;
- rfd->baseline = -glyph->info.y;
- rfd->width = glyph->info.width;
- rfd->height = glyph->info.height;
- pi32 = pixman_image_get_data(src);
- pi8 = (char*)pi32;
- for (j = 0; j < rfd->height; j++)
- {
- for (i = 0; i < rfd->width; i++)
- {
- pixel = lget_pixel(pi8, i, j, src_depth, src_stride_bytes);
- if (g_do_alpha_glyphs)
- {
- rfd->data[j * dst_stride_bytes + i] = pixel;
- }
- else
- {
- if (pixel > 0x7f)
- {
- set_mono_pixel(rfd->data, i, j, rfd->width, 1);
- }
- else
- {
- set_mono_pixel(rfd->data, i, j, rfd->width, 0);
- }
- }
- }
- }
- free_pixman_pict(pPicture, src);
- return 0;
-}
-
-/******************************************************************************/
-struct rdp_text*
-create_rdp_text(ScreenPtr pScreen, int nlists, GlyphListPtr lists,
- GlyphPtr* glyphs)
-{
- struct rdp_text* rv;
- struct rdp_text* rtext;
- struct rdp_text* last_rtext;
- BoxRec box;
- RegionRec reg1;
- int n;
- int lxoff;
- int lyoff;
- int count;
- int lx;
- int ly;
- int font_index;
- int max_height;
- int min_height;
- int force_new;
- GlyphPtr glyph;
- struct rdp_font_char* rfd;
-
- LLOGLN(10, ("create_rdp_text: nlists %d", nlists));
-
- max_height = 0;
- min_height = 0x7fffffff;
- lx = lists->xOff;
- ly = lists->yOff;
- lxoff = 0;
- lyoff = 0;
- force_new = 0;
-
- rtext = (struct rdp_text*)g_malloc(sizeof(struct rdp_text), 1);
- rtext->reg = RegionCreate(NullBox, 0);
- rtext->flags = 3;
- rtext->mixmode = 0;
- rtext->x = lx;
- rtext->y = ly;
-
- rv = rtext;
- last_rtext = rtext;
-
- count = 0;
- while (nlists--)
- {
- LLOGLN(10, ("lists->xOff %d lists->yOff %d", lists->xOff, lists->yOff));
- if (count != 0)
- {
- lx += lists->xOff;
- ly += lists->yOff;
- force_new = 1;
- }
- count++;
- n = lists->len;
- lists++;
- while (n--)
- {
- glyph = *glyphs++;
- /* process glyph here */
- if ((glyph->info.width > 0) && (glyph->info.height > 0))
- {
- if (force_new)
- {
- LLOGLN(10, ("create_rdp_text: too many chars"));
- force_new = 0;
- rtext = (struct rdp_text*)g_malloc(sizeof(struct rdp_text), 1);
- rtext->reg = RegionCreate(NullBox, 0);
- rtext->flags = 3;
- rtext->mixmode = 0;
- rtext->x = lx;
- rtext->y = ly;
- last_rtext->next = rtext;
- last_rtext = rtext;
- lxoff = 0;
- lyoff = 0;
- }
- LLOGLN(10, ("x %d y %d width %d height %d xOff %d yOff %d "
- "num_chars %d lxoff %d lyoff %d lx %d ly %d",
- glyph->info.x, glyph->info.y,
- glyph->info.width, glyph->info.height,
- glyph->info.xOff, glyph->info.yOff, rtext->num_chars,
- lxoff, lyoff, lx, ly));
- rfd = (struct rdp_font_char*)g_malloc(sizeof(struct rdp_font_char), 1);
- rtext->chars[rtext->num_chars] = rfd;
- box.x1 = lx - glyph->info.x;
- box.y1 = ly - glyph->info.y;
- box.x2 = box.x1 + glyph->info.width;
- box.y2 = box.y1 + glyph->info.height;
- if (glyph->info.height > max_height)
- {
- max_height = glyph->info.height;
- }
- if (glyph->info.height < min_height)
- {
- min_height = glyph->info.height;
- }
- RegionInit(®1, &box, 0);
- RegionUnion(rtext->reg, ®1, rtext->reg);
- RegionUninit(®1);
-
- glyph_get_data(pScreen, glyph, rfd);
-
- rfd->incby = lxoff;
- lxoff = glyph->info.xOff;
- lyoff = glyph->info.yOff;
- rtext->num_chars++;
- if (rtext->num_chars > 63)
- {
- force_new = 1;
- }
- }
- else
- {
- lxoff += glyph->info.xOff;
- lyoff += glyph->info.yOff;
- }
- lx += glyph->info.xOff;
- ly += glyph->info.yOff;
- }
- }
- if (max_height > 10)
- {
- font_index = 8;
- }
- else if (max_height < 7)
- {
- font_index = 6;
- }
- else
- {
- font_index = 7;
- }
- LLOGLN(10, ("create_rdp_text: min_height %d max_height %d font_index %d",
- min_height, max_height, font_index));
- rtext = rv;
- while (rtext != 0)
- {
- rtext->font = font_index;
- rtext = rtext->next;
- }
- return rv;
-}
-
-/******************************************************************************/
-int
-delete_rdp_text(struct rdp_text* rtext)
-{
- int index;
-
- if (rtext == 0)
- {
- return 0;
- }
- for (index = 0; index < rtext->num_chars; index++)
- {
- if (rtext->chars[index] != 0)
- {
- g_free(rtext->chars[index]->data);
- g_free(rtext->chars[index]);
- }
- }
- RegionDestroy(rtext->reg);
- delete_rdp_text(rtext->next);
- g_free(rtext);
- return 0;
-}
-
-/******************************************************************************/
-static int
-get_color(PicturePtr pPicture)
-{
- int src_xoff;
- int src_yoff;
- int rv;
- uint32_t* pi32;
- pixman_image_t *src;
-
- src = image_from_pict(pPicture, FALSE, &src_xoff, &src_yoff);
- if (src == 0)
- {
- return 0;
- }
- pi32 = pixman_image_get_data(src);
- if (pi32 == 0)
- {
- return 0;
- }
- rv = *pi32;
- LLOGLN(10, ("get_color: 0x%8.8x width %d height %d ", rv,
- pixman_image_get_width(src),
- pixman_image_get_height(src)));
- free_pixman_pict(pPicture, src);
- return rv;
-}
-
-/******************************************************************************/
-static int
-find_or_add_char(int font, struct rdp_font_char* rfd)
-{
- int crc;
- int index;
- int char_index;
- int oldest;
-
- crc = get_crc(rfd->data, rfd->data_bytes);
- LLOGLN(10, ("find_or_add_char: crc 0x%8.8x", crc));
- char_index = 0;
- oldest = 0x7fffffff;
- for (index = 0; index < 250; index++)
- {
- if ((g_font_cache[font][index].crc == crc) &&
- (g_font_cache[font][index].width == rfd->width) &&
- (g_font_cache[font][index].height == rfd->height) &&
- (g_font_cache[font][index].offset == rfd->offset) &&
- (g_font_cache[font][index].baseline == rfd->baseline))
- {
- g_stamp++;
- g_font_cache[font][index].stamp = g_stamp;
- LLOGLN(10, ("find_or_add_char: found char at %d %d", font, index));
- return index;
- }
- if (g_font_cache[font][index].stamp < oldest)
- {
- oldest = g_font_cache[font][index].stamp;
- char_index = index;
- }
- }
- g_stamp++;
- g_font_cache[font][char_index].stamp = g_stamp;
- g_font_cache[font][char_index].crc = crc;
- g_font_cache[font][char_index].width = rfd->width;
- g_font_cache[font][char_index].height = rfd->height;
- g_font_cache[font][char_index].offset = rfd->offset;
- g_font_cache[font][char_index].baseline = rfd->baseline;
- LLOGLN(10, ("find_or_add_char: adding char at %d %d", font, char_index));
- if (rfd->bpp == 8)
- {
- rdpup_add_char_alpha(font, char_index, rfd->offset, rfd->baseline,
- rfd->width, rfd->height,
- rfd->data, rfd->data_bytes);
- }
- else
- {
- rdpup_add_char(font, char_index, rfd->offset, rfd->baseline,
- rfd->width, rfd->height,
- rfd->data, rfd->data_bytes);
- }
- return char_index;
-}
-
-/******************************************************************************/
-int
-rdp_text_chars_to_data(struct rdp_text* rtext)
-{
- int index;
- int data_bytes;
- int char_index;
- struct rdp_font_char* rfd;
-
- LLOGLN(10, ("rdp_text_chars_to_data: rtext->num_chars %d", rtext->num_chars));
- data_bytes = 0;
- for (index = 0; index < rtext->num_chars; index++)
- {
- rfd = rtext->chars[index];
- if (rfd == 0)
- {
- LLOGLN(0, ("rdp_text_chars_to_data: error rfd is nil"));
- continue;
- }
- char_index = find_or_add_char(rtext->font, rfd);
- rtext->data[data_bytes] = char_index;
- data_bytes++;
- if (rfd->incby > 127)
- {
- rtext->data[data_bytes] = 0x80;
- data_bytes++;
- rtext->data[data_bytes] = (rfd->incby >> 0) & 0xff;
- data_bytes++;
- rtext->data[data_bytes] = (rfd->incby >> 8) & 0xff;
- data_bytes++;
- }
- else
- {
- rtext->data[data_bytes] = rfd->incby;
- data_bytes++;
- }
- }
- rtext->data_bytes = data_bytes;
- return 0;
-}
-
-/******************************************************************************/
-/*
- typedef struct _GlyphList {
- INT16 xOff;
- INT16 yOff;
- CARD8 len;
- PictFormatPtr format;
- } GlyphListRec, *GlyphListPtr;
- */
-/* see glyphstr.h but the following is not in there
- typedef struct _XGlyphInfo {
- unsigned short width;
- unsigned short height;
- short x;
- short y;
- short xOff;
- short yOff;
- } XGlyphInfo;
- */
-static void
-rdpGlyphu(CARD8 op, PicturePtr pSrc, PicturePtr pDst,
- PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc,
- int nlists, GlyphListPtr lists, GlyphPtr* glyphs,
- BoxPtr extents)
-{
- BoxRec box;
- RegionRec reg1;
- RegionRec reg2;
- DrawablePtr p;
- int dirty_type;
- int j;
- int num_clips;
- int post_process;
- int reset_surface;
- int got_id;
- int fg_color;
- WindowPtr pDstWnd;
- PixmapPtr pDstPixmap;
- rdpPixmapRec* pDstPriv;
- rdpPixmapRec* pDirtyPriv;
- struct image_data id;
- struct rdp_text* rtext;
- struct rdp_text* trtext;
-
- LLOGLN(10, ("rdpGlyphu: xSrc %d ySrc %d", xSrc, ySrc));
-
- p = pDst->pDrawable;
-
- dirty_type = 0;
- pDirtyPriv = 0;
- post_process = 0;
- reset_surface = 0;
- got_id = 0;
- if (p->type == DRAWABLE_PIXMAP)
- {
- pDstPixmap = (PixmapPtr)p;
- pDstPriv = GETPIXPRIV(pDstPixmap);
- if (XRDP_IS_OS(pDstPriv))
- {
- rdpup_check_dirty(pDstPixmap, pDstPriv);
- post_process = 1;
- if (g_do_dirty_os)
- {
- LLOGLN(10, ("rdpGlyphu: getting dirty"));
- pDstPriv->is_dirty = 1;
- dirty_type = RDI_IMGLL;
- pDirtyPriv = pDstPriv;
-
- }
- else
- {
- rdpup_switch_os_surface(pDstPriv->rdpindex);
- reset_surface = 1;
- rdpup_get_pixmap_image_rect(pDstPixmap, &id);
- got_id = 1;
- LLOGLN(10, ("rdpGlyphu: offscreen"));
- }
- }
- }
- else
- {
- if (p->type == DRAWABLE_WINDOW)
- {
- pDstWnd = (WindowPtr)p;
- if (pDstWnd->viewable)
- {
- post_process = 1;
- rdpup_get_screen_image_rect(&id);
- got_id = 1;
- LLOGLN(10, ("rdpGlyphu: screen"));
- }
- }
- }
- if (!post_process)
- {
- return;
- }
-
- rtext = create_rdp_text(pDst->pDrawable->pScreen, nlists, lists, glyphs);
- if (rtext == 0)
- {
- LLOGLN(0, ("rdpGlyphu: create_rdp_text failed"));
- return;
- }
- fg_color = get_color(pSrc);
-
- LLOGLN(10, ("rdpGlyphu: pDst->clientClipType %d pCompositeClip %p",
- pDst->clientClipType, pDst->pCompositeClip));
-
- if (pDst->pCompositeClip != 0)
- {
- box.x1 = p->x + extents->x1;
- box.y1 = p->y + extents->y1;
- box.x2 = p->x + extents->x2;
- box.y2 = p->y + extents->y2;
- RegionInit(®1, &box, 0);
- RegionInit(®2, NullBox, 0);
- RegionCopy(®2, pDst->pCompositeClip);
- RegionIntersect(®1, ®1, ®2);
- if (dirty_type != 0)
- {
- LLOGLN(10, ("1"));
- draw_item_add_text_region(pDirtyPriv, ®1, fg_color, GXcopy, rtext);
- rtext = 0;
- }
- else if (got_id)
- {
- num_clips = REGION_NUM_RECTS(®1);
- if (num_clips > 0)
- {
- LLOGLN(10, (" num_clips %d", num_clips));
- rdpup_begin_update();
- rdpup_set_fgcolor(fg_color);
- trtext = rtext;
- while (trtext != 0)
- {
- rdp_text_chars_to_data(trtext);
- for (j = num_clips - 1; j >= 0; j--)
- {
- box = REGION_RECTS(®1)[j];
- LLOGLN(10, ("2"));
- rdpup_set_clip(box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
- LLOGLN(10, ("rdpGlyphu: rdpup_draw_text"));
- box = RegionExtents(trtext->reg)[0];
- rdpup_draw_text(trtext->font, trtext->flags, trtext->mixmode,
- box.x1 + p->x, box.y1 + p->y,
- box.x2 + p->x, box.y2 + p->y,
- //box.x1 + p->x, box.y1 + p->y,
- //box.x2 + p->x, box.y2 + p->y,
- 0, 0, 0, 0,
- trtext->x + p->x, trtext->y + p->y,
- trtext->data, trtext->data_bytes);
- }
- trtext = trtext->next;
- }
- rdpup_reset_clip();
- rdpup_end_update();
- }
- }
- RegionUninit(®1);
- RegionUninit(®2);
- }
- else
- {
- box.x1 = p->x + extents->x1;
- box.y1 = p->y + extents->y1;
- box.x2 = p->x + extents->x2;
- box.y2 = p->y + extents->y2;
- if (dirty_type != 0)
- {
- RegionInit(®1, &box, 0);
- LLOGLN(10, ("3"));
- draw_item_add_text_region(pDirtyPriv, ®1, fg_color, GXcopy, rtext);
- rtext = 0;
- RegionUninit(®1);
- }
- else if (got_id)
- {
- rdpup_begin_update();
- LLOGLN(10, ("4"));
- rdpup_set_fgcolor(fg_color);
- trtext = rtext;
- while (trtext != 0)
- {
- LLOGLN(10, ("rdpGlyphu: rdpup_draw_text"));
- rdp_text_chars_to_data(trtext);
- box = RegionExtents(trtext->reg)[0];
- rdpup_draw_text(trtext->font, trtext->flags, trtext->mixmode,
- box.x1 + p->x, box.y1 + p->y,
- box.x2 + p->x, box.y2 + p->y,
- //box.x1 + p->x, box.y1 + p->y,
- //box.x2 + p->x, box.y2 + p->y,
- 0, 0, 0, 0,
- trtext->x + p->x, trtext->y + p->y,
- trtext->data, trtext->data_bytes);
- trtext = trtext->next;
- }
- rdpup_end_update();
- }
- }
- if (reset_surface)
- {
- rdpup_switch_os_surface(-1);
- }
- delete_rdp_text(rtext);
-}
-
-/******************************************************************************/
-static void
-GlyphExtents(int nlist, GlyphListPtr list, GlyphPtr* glyphs, BoxPtr extents)
-{
- int x1;
- int x2;
- int y1;
- int y2;
- int n;
- int x;
- int y;
- GlyphPtr glyph;
-
- x = 0;
- y = 0;
- extents->x1 = MAXSHORT;
- extents->x2 = MINSHORT;
- extents->y1 = MAXSHORT;
- extents->y2 = MINSHORT;
- while (nlist--)
- {
- x += list->xOff;
- y += list->yOff;
- n = list->len;
- list++;
- while (n--)
- {
- glyph = *glyphs++;
- x1 = x - glyph->info.x;
- if (x1 < MINSHORT)
- {
- x1 = MINSHORT;
- }
- y1 = y - glyph->info.y;
- if (y1 < MINSHORT)
- {
- y1 = MINSHORT;
- }
- x2 = x1 + glyph->info.width;
- if (x2 > MAXSHORT)
- {
- x2 = MAXSHORT;
- }
- y2 = y1 + glyph->info.height;
- if (y2 > MAXSHORT)
- {
- y2 = MAXSHORT;
- }
- if (x1 < extents->x1)
- {
- extents->x1 = x1;
- }
- if (x2 > extents->x2)
- {
- extents->x2 = x2;
- }
- if (y1 < extents->y1)
- {
- extents->y1 = y1;
- }
- if (y2 > extents->y2)
- {
- extents->y2 = y2;
- }
- x += glyph->info.xOff;
- y += glyph->info.yOff;
- }
- }
-}
-
-/******************************************************************************/
-static void
-rdpGlypht(CARD8 op, PicturePtr pSrc, PicturePtr pDst,
- PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc,
- int nlists, GlyphListPtr lists, GlyphPtr* glyphs)
-{
- BoxRec extents;
-
- GlyphExtents(nlists, lists, glyphs, &extents);
- if ((extents.x2 <= extents.x1) || (extents.y2 <= extents.y1))
- {
- return;
- }
- rdpGlyphu(op, pSrc, pDst, maskFormat, xSrc, ySrc, nlists, lists,
- glyphs, &extents);
-}
-
-/******************************************************************************/
-/* make sure no glyph is too big */
-/* returns boolean */
-static int
-rdpGlyphCheck(int nlist, GlyphListPtr list, GlyphPtr* glyphs)
-{
- int n;
- GlyphPtr glyph;
-
- while (nlist--)
- {
- n = list->len;
- list++;
- while (n--)
- {
- glyph = *glyphs++;
- if ((glyph->info.width * glyph->info.height) > 8192)
- {
- LLOGLN(10, ("rdpGlyphCheck: too big"));
- return 0;
- }
- }
- }
- return 1;
-}
-
-/******************************************************************************/
-void
-rdpGlyphs(CARD8 op, PicturePtr pSrc, PicturePtr pDst,
- PictFormatPtr maskFormat,
- INT16 xSrc, INT16 ySrc, int nlists, GlyphListPtr lists,
- GlyphPtr* glyphs)
-{
- PictureScreenPtr ps;
-
- LLOGLN(10, ("rdpGlyphs: op %d xSrc %d ySrc %d maskFormat %p",
- op, xSrc, ySrc, maskFormat));
-
- LLOGLN(10, ("rdpGlyphs: g_do_glyph_cache %d", g_do_glyph_cache));
-
- if (g_do_glyph_cache && rdpGlyphCheck(nlists, lists, glyphs))
- {
- g_doing_font = 2;
- rdpGlypht(op, pSrc, pDst, maskFormat, xSrc, ySrc, nlists, lists, glyphs);
- ps = GetPictureScreen(g_pScreen);
- ps->Glyphs = g_rdpScreen.Glyphs;
- ps->Glyphs(op, pSrc, pDst, maskFormat, xSrc, ySrc,
- nlists, lists, glyphs);
- ps->Glyphs = rdpGlyphs;
- }
- else
- {
- g_doing_font = 1;
- rdpup_set_hints(1, 1);
- ps = GetPictureScreen(g_pScreen);
- ps->Glyphs = g_rdpScreen.Glyphs;
- ps->Glyphs(op, pSrc, pDst, maskFormat, xSrc, ySrc,
- nlists, lists, glyphs);
- ps->Glyphs = rdpGlyphs;
- rdpup_set_hints(0, 1);
- }
- g_doing_font = 0;
- LLOGLN(10, ("rdpGlyphs: out"));
-}
-
-/******************************************************************************/
-int
-rdpGlyphInit(void)
-{
- memset(&g_font_cache, 0, sizeof(g_font_cache));
- return 0;
-}
diff --git a/xorg/X11R7.6/rdp/rdpglyph.h b/xorg/X11R7.6/rdp/rdpglyph.h
deleted file mode 100644
index 6907f9e7..00000000
--- a/xorg/X11R7.6/rdp/rdpglyph.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
-Copyright 2012-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#ifndef __RDPGLYPH_H
-#define __RDPGLYPH_H
-
-struct rdp_font_char
-{
- int offset; /* x */
- int baseline; /* y */
- int width; /* cx */
- int height; /* cy */
- int incby;
- int bpp;
- char* data;
- int data_bytes;
-};
-
-struct rdp_text
-{
- RegionPtr reg;
- int font;
- int x;
- int y;
- int flags;
- int mixmode;
- char data[256];
- int data_bytes;
- struct rdp_font_char* chars[256];
- int num_chars;
- struct rdp_text* next;
-};
-
-int
-delete_rdp_text(struct rdp_text* rtext);
-int
-rdp_text_chars_to_data(struct rdp_text* rtext);
-
-void
-rdpGlyphs(CARD8 op, PicturePtr pSrc, PicturePtr pDst,
- PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc,
- int nlists, GlyphListPtr lists, GlyphPtr* glyphs);
-int
-rdpGlyphInit(void);
-
-#endif
diff --git a/xorg/X11R7.6/rdp/rdpinput.c b/xorg/X11R7.6/rdp/rdpinput.c
deleted file mode 100644
index 6ef432e6..00000000
--- a/xorg/X11R7.6/rdp/rdpinput.c
+++ /dev/null
@@ -1,987 +0,0 @@
-/*
-Copyright 2005-2014 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-keyboard and mouse stuff
-
-*/
-
-/* control notes */
-/* rdesktop sends control before scan code 69 but it doesn't set the
- flags right so control down is used to determine between pause and
- num lock */
-/* this should be fixed in rdesktop */
-/* g_pause_spe flag for special control sent by ms client before scan code
- 69 is sent to tell that it's pause, not num lock. both pause and num
- lock use scan code 69 */
-
-/* tab notes */
-/* mstsc send tab up without a tab down to mark the mstsc has gained focus
- this should make sure control alt and shift are all up
- rdesktop does not do this */
-/* this should be fixed in rdesktop */
-
-#include "rdp.h"
-#include
-#include
-
-#include "rdpkeyboard.h"
-#include "rdpkeyboardbase.h"
-#include "rdpkeyboardevdev.h"
-
-#define LOG_LEVEL 1
-#define LLOG(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; } } while (0)
-#define LLOGLN(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; ErrorF("\n"); } } while (0)
-
-extern ScreenPtr g_pScreen; /* in rdpmain.c */
-extern DeviceIntPtr g_pointer; /* in rdpmain.c */
-extern DeviceIntPtr g_keyboard; /* in rdpmain.c */
-extern rdpScreenInfoRec g_rdpScreen; /* from rdpmain.c */
-extern int g_shift_down; /* in rdpmain.c */
-extern int g_alt_down; /* in rdpmain.c */
-extern int g_ctrl_down; /* in rdpmain.c */
-
-static int g_old_button_mask = 0;
-static int g_old_x = 0;
-static int g_old_y = 0;
-/* this is toggled every time num lock key is released, not like the
- above *_down vars */
-static int g_scroll_lock_down = 0;
-static OsTimerPtr g_kbtimer = 0;
-static OsTimerPtr g_timer = 0;
-static int g_x = 0;
-static int g_y = 0;
-static int g_timer_scheduled = 0;
-static int g_delay_motion = 1; /* turn on or off */
-static int g_use_evdev = 0;
-
-/* Copied from Xvnc/lib/font/util/utilbitmap.c */
-static unsigned char g_reverse_byte[0x100] =
-{
- 0x00, 0x80, 0x40, 0xc0, 0x20, 0xa0, 0x60, 0xe0,
- 0x10, 0x90, 0x50, 0xd0, 0x30, 0xb0, 0x70, 0xf0,
- 0x08, 0x88, 0x48, 0xc8, 0x28, 0xa8, 0x68, 0xe8,
- 0x18, 0x98, 0x58, 0xd8, 0x38, 0xb8, 0x78, 0xf8,
- 0x04, 0x84, 0x44, 0xc4, 0x24, 0xa4, 0x64, 0xe4,
- 0x14, 0x94, 0x54, 0xd4, 0x34, 0xb4, 0x74, 0xf4,
- 0x0c, 0x8c, 0x4c, 0xcc, 0x2c, 0xac, 0x6c, 0xec,
- 0x1c, 0x9c, 0x5c, 0xdc, 0x3c, 0xbc, 0x7c, 0xfc,
- 0x02, 0x82, 0x42, 0xc2, 0x22, 0xa2, 0x62, 0xe2,
- 0x12, 0x92, 0x52, 0xd2, 0x32, 0xb2, 0x72, 0xf2,
- 0x0a, 0x8a, 0x4a, 0xca, 0x2a, 0xaa, 0x6a, 0xea,
- 0x1a, 0x9a, 0x5a, 0xda, 0x3a, 0xba, 0x7a, 0xfa,
- 0x06, 0x86, 0x46, 0xc6, 0x26, 0xa6, 0x66, 0xe6,
- 0x16, 0x96, 0x56, 0xd6, 0x36, 0xb6, 0x76, 0xf6,
- 0x0e, 0x8e, 0x4e, 0xce, 0x2e, 0xae, 0x6e, 0xee,
- 0x1e, 0x9e, 0x5e, 0xde, 0x3e, 0xbe, 0x7e, 0xfe,
- 0x01, 0x81, 0x41, 0xc1, 0x21, 0xa1, 0x61, 0xe1,
- 0x11, 0x91, 0x51, 0xd1, 0x31, 0xb1, 0x71, 0xf1,
- 0x09, 0x89, 0x49, 0xc9, 0x29, 0xa9, 0x69, 0xe9,
- 0x19, 0x99, 0x59, 0xd9, 0x39, 0xb9, 0x79, 0xf9,
- 0x05, 0x85, 0x45, 0xc5, 0x25, 0xa5, 0x65, 0xe5,
- 0x15, 0x95, 0x55, 0xd5, 0x35, 0xb5, 0x75, 0xf5,
- 0x0d, 0x8d, 0x4d, 0xcd, 0x2d, 0xad, 0x6d, 0xed,
- 0x1d, 0x9d, 0x5d, 0xdd, 0x3d, 0xbd, 0x7d, 0xfd,
- 0x03, 0x83, 0x43, 0xc3, 0x23, 0xa3, 0x63, 0xe3,
- 0x13, 0x93, 0x53, 0xd3, 0x33, 0xb3, 0x73, 0xf3,
- 0x0b, 0x8b, 0x4b, 0xcb, 0x2b, 0xab, 0x6b, 0xeb,
- 0x1b, 0x9b, 0x5b, 0xdb, 0x3b, 0xbb, 0x7b, 0xfb,
- 0x07, 0x87, 0x47, 0xc7, 0x27, 0xa7, 0x67, 0xe7,
- 0x17, 0x97, 0x57, 0xd7, 0x37, 0xb7, 0x77, 0xf7,
- 0x0f, 0x8f, 0x4f, 0xcf, 0x2f, 0xaf, 0x6f, 0xef,
- 0x1f, 0x9f, 0x5f, 0xdf, 0x3f, 0xbf, 0x7f, 0xff
-};
-
-#if 0
-/******************************************************************************/
-static void
-rdpSendBell(void)
-{
- LLOGLN(10, ("rdpSendBell:"));
-}
-#endif
-
-/******************************************************************************/
-void
-KbdDeviceOn(void)
-{
- LLOGLN(10, ("KbdDeviceOn:"));
-}
-
-/******************************************************************************/
-void
-KbdDeviceOff(void)
-{
- LLOGLN(10, ("KbdDeviceOff:"));
-}
-
-/******************************************************************************/
-void
-rdpBell(int volume, DeviceIntPtr pDev, pointer ctrl, int cls)
-{
- LLOGLN(0, ("rdpBell:"));
-}
-
-/******************************************************************************/
-static CARD32
-rdpInDeferredUpdateCallback(OsTimerPtr timer, CARD32 now, pointer arg)
-{
- LLOGLN(10, ("rdpInDeferredUpdateCallback:"));
-
- /* our keyboard device */
- XkbSetRepeatKeys(g_keyboard, -1, AutoRepeatModeOff);
- /* the main one for the server */
- XkbSetRepeatKeys(inputInfo.keyboard, -1, AutoRepeatModeOff);
-
- return 0;
-}
-
-/******************************************************************************/
-void
-rdpChangeKeyboardControl(DeviceIntPtr pDev, KeybdCtrl *ctrl)
-{
- XkbControlsPtr ctrls;
-
- LLOGLN(0, ("rdpChangeKeyboardControl:"));
- ctrls = 0;
- if (pDev != 0)
- {
- if (pDev->key != 0)
- {
- if (pDev->key->xkbInfo != 0)
- {
- if (pDev->key->xkbInfo->desc != 0)
- {
- if (pDev->key->xkbInfo->desc->ctrls != 0)
- {
- ctrls = pDev->key->xkbInfo->desc->ctrls;
- }
- }
- }
- }
- }
- if (ctrls != 0)
- {
- if (ctrls->enabled_ctrls & XkbRepeatKeysMask)
- {
- LLOGLN(10, ("rdpChangeKeyboardControl: autoRepeat on"));
- /* schedule to turn off the autorepeat after 100 ms so any app
- * polling it will be happy it's on */
- g_kbtimer = TimerSet(g_kbtimer, 0, 100,
- rdpInDeferredUpdateCallback, 0);
- }
- else
- {
- LLOGLN(10, ("rdpChangeKeyboardControl: autoRepeat off"));
- }
- }
-}
-
-/******************************************************************************/
-/*
-0x00000401 Arabic (101)
-0x00000402 Bulgarian
-0x00000404 Chinese (Traditional) - US Keyboard
-0x00000405 Czech
-0x00000406 Danish
-0x00000407 German
-0x00000408 Greek
-0x00000409 US
-0x0000040A Spanish
-0x0000040B Finnish
-0x0000040C French
-0x0000040D Hebrew
-0x0000040E Hungarian
-0x0000040F Icelandic
-0x00000410 Italian
-0x00000411 Japanese
-0x00000412 Korean
-0x00000413 Dutch
-0x00000414 Norwegian
-0x00000415 Polish (Programmers)
-0x00000416 Portuguese (Brazilian ABNT)
-0x00000418 Romanian
-0x00000419 Russian
-0x0000041A Croatian
-0x0000041B Slovak
-0x0000041C Albanian
-0x0000041D Swedish
-0x0000041E Thai Kedmanee
-0x0000041F Turkish Q
-0x00000420 Urdu
-0x00000422 Ukrainian
-0x00000423 Belarusian
-0x00000424 Slovenian
-0x00000425 Estonian
-0x00000426 Latvian
-0x00000427 Lithuanian IBM
-0x00000429 Farsi
-0x0000042A Vietnamese
-0x0000042B Armenian Eastern
-0x0000042C Azeri Latin
-0x0000042F FYRO Macedonian
-0x00000437 Georgian
-0x00000438 Faroese
-0x00000439 Devanagari - INSCRIPT
-0x0000043A Maltese 47-key
-0x0000043B Norwegian with Sami
-0x0000043F Kazakh
-0x00000440 Kyrgyz Cyrillic
-0x00000444 Tatar
-0x00000445 Bengali
-0x00000446 Punjabi
-0x00000447 Gujarati
-0x00000449 Tamil
-0x0000044A Telugu
-0x0000044B Kannada
-0x0000044C Malayalam
-0x0000044E Marathi
-0x00000450 Mongolian Cyrillic
-0x00000452 United Kingdom Extended
-0x0000045A Syriac
-0x00000461 Nepali
-0x00000463 Pashto
-0x00000465 Divehi Phonetic
-0x0000046E Luxembourgish
-0x00000481 Maori
-0x00000804 Chinese (Simplified) - US Keyboard
-0x00000807 Swiss German
-0x00000809 United Kingdom
-0x0000080A Latin American
-0x0000080C Belgian French
-0x00000813 Belgian (Period)
-0x00000816 Portuguese
-0x0000081A Serbian (Latin)
-0x0000082C Azeri Cyrillic
-0x0000083B Swedish with Sami
-0x00000843 Uzbek Cyrillic
-0x0000085D Inuktitut Latin
-0x00000C0C Canadian French (legacy)
-0x00000C1A Serbian (Cyrillic)
-0x00001009 Canadian French
-0x0000100C Swiss French
-0x0000141A Bosnian
-0x00001809 Irish
-0x0000201A Bosnian Cyrillic
-*/
-
-/******************************************************************************/
-int
-rdpLoadLayout(struct xrdp_client_info *client_info)
-{
- XkbRMLVOSet set;
- XkbSrvInfoPtr xkbi;
- XkbDescPtr xkb;
- KeySymsPtr keySyms;
- DeviceIntPtr pDev;
- KeyCode first_key;
- CARD8 num_keys;
-
- int keylayout = client_info->keylayout;
-
- LLOGLN(0, ("rdpLoadLayout: keylayout 0x%8.8x variant %s display %s",
- keylayout, client_info->variant, display));
- memset(&set, 0, sizeof(set));
- if (g_use_evdev)
- {
- set.rules = "evdev";
- }
- else
- {
- set.rules = "base";
- }
-
- set.model = "pc105";
- set.layout = "us";
- set.variant = "";
- set.options = "";
-
- if (strlen(client_info->model) > 0)
- {
- set.model = client_info->model;
- }
- if (strlen(client_info->variant) > 0)
- {
- set.variant = client_info->variant;
- }
- if (strlen(client_info->layout) > 0)
- {
- set.layout = client_info->layout;
- }
- if (strlen(client_info->options) > 0)
- {
- set.options = client_info->options;
- }
-
- retry:
- /* free some stuff so we can call InitKeyboardDeviceStruct again */
- xkbi = g_keyboard->key->xkbInfo;
- xkb = xkbi->desc;
- XkbFreeKeyboard(xkb, 0, TRUE);
- free(xkbi);
- g_keyboard->key->xkbInfo = NULL;
- free(g_keyboard->kbdfeed);
- g_keyboard->kbdfeed = NULL;
- free(g_keyboard->key);
- g_keyboard->key = NULL;
-
- /* init keyboard and reload the map */
- if (!InitKeyboardDeviceStruct(g_keyboard, &set, rdpBell,
- rdpChangeKeyboardControl))
- {
- LLOGLN(0, ("rdpLoadLayout: InitKeyboardDeviceStruct failed"));
- return 1;
- }
-
- /* notify the X11 clients eg. X_ChangeKeyboardMapping */
- keySyms = XkbGetCoreMap(g_keyboard);
- if (keySyms)
- {
- first_key = keySyms->minKeyCode;
- num_keys = (keySyms->maxKeyCode - keySyms->minKeyCode) + 1;
- XkbApplyMappingChange(g_keyboard, keySyms, first_key, num_keys,
- NULL, serverClient);
- for (pDev = inputInfo.devices; pDev; pDev = pDev->next)
- {
- if ((pDev->coreEvents || pDev == inputInfo.keyboard) && pDev->key)
- {
- XkbApplyMappingChange(pDev, keySyms, first_key, num_keys,
- NULL, serverClient);
- }
- }
- }
- else
- {
- /* sometimes, variant doesn't support all layouts */
- set.variant = "";
- goto retry;
- }
-
- return 0;
-}
-
-/******************************************************************************/
-int
-rdpKeybdProc(DeviceIntPtr pDevice, int onoff)
-{
- DevicePtr pDev;
- XkbRMLVOSet set;
- int ok;
-
- LLOGLN(10, ("rdpKeybdProc:"));
- pDev = (DevicePtr)pDevice;
-
- switch (onoff)
- {
- case DEVICE_INIT:
- LLOGLN(10, ("rdpKeybdProc: DEVICE_INIT"));
- memset(&set, 0, sizeof(set));
- if (g_use_evdev)
- {
- set.rules = "evdev";
- }
- else
- {
- set.rules = "base";
- }
- set.model = "pc105";
- set.layout = "us";
- set.variant = "";
- set.options = "";
- ok = InitKeyboardDeviceStruct(pDevice, &set, rdpBell,
- rdpChangeKeyboardControl);
- LLOGLN(10, ("rdpKeybdProc: InitKeyboardDeviceStruct %d", ok));
- break;
- case DEVICE_ON:
- LLOGLN(10, ("rdpKeybdProc: DEVICE_ON"));
- pDev->on = 1;
- KbdDeviceOn();
- break;
- case DEVICE_OFF:
- LLOGLN(10, ("rdpKeybdProc: DEVICE_OFF"));
- pDev->on = 0;
- KbdDeviceOff();
- break;
- case DEVICE_CLOSE:
- LLOGLN(10, ("rdpKeybdProc: DEVICE_CLOSE"));
- if (pDev->on)
- {
- pDev->on = 0;
- KbdDeviceOff();
- }
- break;
- }
- return Success;
-}
-
-/******************************************************************************/
-void
-PtrDeviceControl(DeviceIntPtr dev, PtrCtrl *ctrl)
-{
- LLOGLN(10, ("PtrDeviceControl:"));
-}
-
-/******************************************************************************/
-void
-PtrDeviceInit(void)
-{
- LLOGLN(10, ("PtrDeviceInit:"));
-}
-
-/******************************************************************************/
-void
-PtrDeviceOn(DeviceIntPtr pDev)
-{
- LLOGLN(10, ("PtrDeviceOn:"));
-}
-
-/******************************************************************************/
-void
-PtrDeviceOff(void)
-{
- LLOGLN(10, ("PtrDeviceOff:"));
-}
-
-/******************************************************************************/
-static void
-rdpMouseCtrl(DeviceIntPtr pDevice, PtrCtrl *pCtrl)
-{
- LLOGLN(0, ("rdpMouseCtrl:"));
-}
-
-/******************************************************************************/
-int
-rdpMouseProc(DeviceIntPtr pDevice, int onoff)
-{
- BYTE map[8];
- DevicePtr pDev;
- Atom btn_labels[8];
- Atom axes_labels[2];
-
- LLOGLN(10, ("rdpMouseProc:"));
- pDev = (DevicePtr)pDevice;
-
- switch (onoff)
- {
- case DEVICE_INIT:
- PtrDeviceInit();
- map[0] = 0;
- map[1] = 1;
- map[2] = 2;
- map[3] = 3;
- map[4] = 4;
- map[5] = 5;
- map[6] = 6;
- map[7] = 7;
-
- btn_labels[0] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_LEFT);
- btn_labels[1] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_MIDDLE);
- btn_labels[2] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_RIGHT);
- btn_labels[3] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_WHEEL_UP);
- btn_labels[4] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_WHEEL_DOWN);
- btn_labels[5] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_HWHEEL_LEFT);
- btn_labels[6] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_HWHEEL_RIGHT);
-
- axes_labels[0] = XIGetKnownProperty(AXIS_LABEL_PROP_REL_X);
- axes_labels[1] = XIGetKnownProperty(AXIS_LABEL_PROP_REL_Y);
-
- InitPointerDeviceStruct(pDev, map, 7, btn_labels, rdpMouseCtrl,
- GetMotionHistorySize(), 2, axes_labels);
-
- break;
- case DEVICE_ON:
- pDev->on = 1;
- PtrDeviceOn(pDevice);
- break;
- case DEVICE_OFF:
- pDev->on = 0;
- PtrDeviceOff();
- break;
- case DEVICE_CLOSE:
-
- if (pDev->on)
- {
- PtrDeviceOff();
- }
-
- break;
- }
-
- return Success;
-}
-
-/******************************************************************************/
-Bool
-rdpCursorOffScreen(ScreenPtr *ppScreen, int *x, int *y)
-{
- LLOGLN(10, ("rdpCursorOffScreen:"));
- return 0;
-}
-
-/******************************************************************************/
-void
-rdpCrossScreen(ScreenPtr pScreen, Bool entering)
-{
- LLOGLN(10, ("rdpCrossScreen:"));
-}
-
-/******************************************************************************/
-void
-rdpPointerWarpCursor(DeviceIntPtr pDev, ScreenPtr pScr, int x, int y)
-{
- LLOGLN(0, ("rdpPointerWarpCursor:"));
- miPointerWarpCursor(pDev, pScr, x, y);
-}
-
-/******************************************************************************/
-void
-rdpPointerEnqueueEvent(DeviceIntPtr pDev, InternalEvent *event)
-{
- LLOGLN(0, ("rdpPointerEnqueueEvent:"));
-}
-
-/******************************************************************************/
-void
-rdpPointerNewEventScreen(DeviceIntPtr pDev, ScreenPtr pScr, Bool fromDIX)
-{
- LLOGLN(0, ("rdpPointerNewEventScreen:"));
-}
-
-/******************************************************************************/
-Bool
-rdpSpriteRealizeCursor(DeviceIntPtr pDev, ScreenPtr pScr, CursorPtr pCurs)
-{
- LLOGLN(10, ("rdpSpriteRealizeCursor:"));
- return 1;
-}
-
-/******************************************************************************/
-Bool
-rdpSpriteUnrealizeCursor(DeviceIntPtr pDev, ScreenPtr pScr, CursorPtr pCurs)
-{
- LLOGLN(10, ("rdpSpriteUnrealizeCursor:"));
- return 1;
-}
-
-/******************************************************************************/
-int
-get_pixel_safe(char *data, int x, int y, int width, int height, int bpp)
-{
- int start;
- int shift;
- int c;
- unsigned int *src32;
-
- if (x < 0)
- {
- return 0;
- }
-
- if (y < 0)
- {
- return 0;
- }
-
- if (x >= width)
- {
- return 0;
- }
-
- if (y >= height)
- {
- return 0;
- }
-
- if (bpp == 1)
- {
- width = (width + 7) / 8;
- start = (y * width) + x / 8;
- shift = x % 8;
- c = (unsigned char)(data[start]);
-#if (X_BYTE_ORDER == X_LITTLE_ENDIAN)
- return (g_reverse_byte[c] & (0x80 >> shift)) != 0;
-#else
- return (c & (0x80 >> shift)) != 0;
-#endif
- }
- else if (bpp == 32)
- {
- src32 = (unsigned int*)data;
- return src32[y * width + x];
- }
-
- return 0;
-}
-
-/******************************************************************************/
-void
-set_pixel_safe(char *data, int x, int y, int width, int height, int bpp,
- int pixel)
-{
- int start;
- int shift;
- unsigned int *dst32;
-
- if (x < 0)
- {
- return;
- }
-
- if (y < 0)
- {
- return;
- }
-
- if (x >= width)
- {
- return;
- }
-
- if (y >= height)
- {
- return;
- }
-
- if (bpp == 1)
- {
- width = (width + 7) / 8;
- start = (y * width) + x / 8;
- shift = x % 8;
-
- if (pixel & 1)
- {
- data[start] = data[start] | (0x80 >> shift);
- }
- else
- {
- data[start] = data[start] & ~(0x80 >> shift);
- }
- }
- else if (bpp == 24)
- {
- *(data + (3 * (y * width + x)) + 0) = pixel >> 0;
- *(data + (3 * (y * width + x)) + 1) = pixel >> 8;
- *(data + (3 * (y * width + x)) + 2) = pixel >> 16;
- }
- else if (bpp == 32)
- {
- dst32 = (unsigned int*)data;
- dst32[y * width + x] = pixel;
- }
-}
-
-/******************************************************************************/
-void
-rdpSpriteSetCursor(DeviceIntPtr pDev, ScreenPtr pScr, CursorPtr pCurs,
- int x, int y)
-{
- char cur_data[32 * (32 * 4)];
- char cur_mask[32 * (32 / 8)];
- char *mask;
- char *data;
- int i;
- int j;
- int w;
- int h;
- int p;
- int xhot;
- int yhot;
- int paddedRowBytes;
- int fgcolor;
- int bgcolor;
- int bpp;
-
- if (pCurs == 0)
- {
- return;
- }
-
- if (pCurs->bits == 0)
- {
- return;
- }
-
- w = pCurs->bits->width;
- h = pCurs->bits->height;
- if ((pCurs->bits->argb != 0) &&
- (g_rdpScreen.client_info.pointer_flags & 1))
- {
- bpp = 32;
- paddedRowBytes = PixmapBytePad(w, 32);
- xhot = pCurs->bits->xhot;
- yhot = pCurs->bits->yhot;
- data = (char *)(pCurs->bits->argb);
- memset(cur_data, 0, sizeof(cur_data));
- memset(cur_mask, 0, sizeof(cur_mask));
-
- for (j = 0; j < 32; j++)
- {
- for (i = 0; i < 32; i++)
- {
- p = get_pixel_safe(data, i, j, paddedRowBytes / 4, h, 32);
- set_pixel_safe(cur_data, i, 31 - j, 32, 32, 32, p);
- }
- }
- }
- else
- {
- bpp = 0;
- paddedRowBytes = PixmapBytePad(w, 1);
- xhot = pCurs->bits->xhot;
- yhot = pCurs->bits->yhot;
- data = (char *)(pCurs->bits->source);
- mask = (char *)(pCurs->bits->mask);
- fgcolor = (((pCurs->foreRed >> 8) & 0xff) << 16) |
- (((pCurs->foreGreen >> 8) & 0xff) << 8) |
- ((pCurs->foreBlue >> 8) & 0xff);
- bgcolor = (((pCurs->backRed >> 8) & 0xff) << 16) |
- (((pCurs->backGreen >> 8) & 0xff) << 8) |
- ((pCurs->backBlue >> 8) & 0xff);
- memset(cur_data, 0, sizeof(cur_data));
- memset(cur_mask, 0, sizeof(cur_mask));
-
- for (j = 0; j < 32; j++)
- {
- for (i = 0; i < 32; i++)
- {
- p = get_pixel_safe(mask, i, j, paddedRowBytes * 8, h, 1);
- set_pixel_safe(cur_mask, i, 31 - j, 32, 32, 1, !p);
-
- if (p != 0)
- {
- p = get_pixel_safe(data, i, j, paddedRowBytes * 8, h, 1);
- p = p ? fgcolor : bgcolor;
- set_pixel_safe(cur_data, i, 31 - j, 32, 32, 24, p);
- }
- }
- }
- }
-
- rdpup_begin_update();
- rdpup_set_cursor_ex(xhot, yhot, cur_data, cur_mask, bpp);
- rdpup_end_update();
-}
-
-/******************************************************************************/
-void
-rdpSpriteMoveCursor(DeviceIntPtr pDev, ScreenPtr pScr, int x, int y)
-{
- LLOGLN(10, ("rdpSpriteMoveCursor:"));
-}
-
-/******************************************************************************/
-Bool
-rdpSpriteDeviceCursorInitialize(DeviceIntPtr pDev, ScreenPtr pScr)
-{
- LLOGLN(0, ("rdpSpriteDeviceCursorInitialize:"));
- return 1;
-}
-
-/******************************************************************************/
-void
-rdpSpriteDeviceCursorCleanup(DeviceIntPtr pDev, ScreenPtr pScr)
-{
- LLOGLN(0, ("rdpSpriteDeviceCursorCleanup:"));
-}
-
-/******************************************************************************/
-static void
-rdpEnqueueMotion(int x, int y)
-{
- int i;
- int n;
- int valuators[2];
- EventListPtr rdp_events;
- xEvent *pev;
-
- LLOGLN(10, ("rdpEnqueueMotion: x %d y %d", x, y));
-# if 0
-
- if (x < 128)
- {
- rdpup_begin_update();
- rdpup_send_area(0, 0, 0, 1024, 768);
- rdpup_end_update();
- }
-
-#endif
- miPointerSetPosition(g_pointer, &x, &y);
- valuators[0] = x;
- valuators[1] = y;
-
- GetEventList(&rdp_events);
- n = GetPointerEvents(rdp_events, g_pointer, MotionNotify, 0,
- POINTER_ABSOLUTE | POINTER_SCREEN,
- 0, 2, valuators);
-
- for (i = 0; i < n; i++)
- {
- pev = (rdp_events + i)->event;
- mieqEnqueue(g_pointer, (InternalEvent *)pev);
- }
-}
-
-/******************************************************************************/
-static void
-rdpEnqueueButton(int type, int buttons)
-{
- int i;
- int n;
- EventListPtr rdp_events;
- xEvent *pev;
-
- LLOGLN(10, ("rdpEnqueueButton:"));
- i = GetEventList(&rdp_events);
- n = GetPointerEvents(rdp_events, g_pointer, type, buttons, 0, 0, 0, 0);
-
- for (i = 0; i < n; i++)
- {
- pev = (rdp_events + i)->event;
- mieqEnqueue(g_pointer, (InternalEvent *)pev);
- }
-}
-
-/******************************************************************************/
-static CARD32
-rdpDeferredInputCallback(OsTimerPtr timer, CARD32 now, pointer arg)
-{
- LLOGLN(10, ("rdpDeferredInputCallback:"));
- g_timer_scheduled = 0;
- if ((g_old_x != g_x) || (g_old_y != g_y))
- {
- rdpEnqueueMotion(g_x, g_y);
- g_old_x = g_x;
- g_old_y = g_x;
- }
- return 0;
-}
-
-/******************************************************************************/
-void
-PtrAddEvent(int buttonMask, int x, int y)
-{
- int i;
- int type;
- int buttons;
- int send_now;
-
- LLOGLN(10, ("PtrAddEvent: x %d y %d", x, y));
- if (g_pointer == 0)
- {
- return;
- }
- send_now = (buttonMask ^ g_old_button_mask) || (g_delay_motion == 0);
- LLOGLN(10, ("PtrAddEvent: send_now %d g_timer_scheduled %d",
- send_now, g_timer_scheduled));
- if (send_now)
- {
- if (g_timer_scheduled)
- {
- g_timer_scheduled = 0;
- TimerCancel(g_timer);
- }
- if ((g_old_x != x) || (g_old_y != y))
- {
- rdpEnqueueMotion(x, y);
- g_old_x = x;
- g_old_y = y;
- }
- for (i = 0; i < 5; i++)
- {
- if ((buttonMask ^ g_old_button_mask) & (1 << i))
- {
- if (buttonMask & (1 << i))
- {
- type = ButtonPress;
- buttons = i + 1;
- rdpEnqueueButton(type, buttons);
- }
- else
- {
- type = ButtonRelease;
- buttons = i + 1;
- rdpEnqueueButton(type, buttons);
- }
- }
- }
- g_old_button_mask = buttonMask;
- }
- else
- {
- g_x = x;
- g_y = y;
- if (!g_timer_scheduled)
- {
- g_timer_scheduled = 1;
- g_timer = TimerSet(g_timer, 0, 60, rdpDeferredInputCallback, 0);
- }
- }
-}
-
-/******************************************************************************/
-void
-KbdAddEvent(int down, int param1, int param2, int param3, int param4)
-{
- if (g_use_evdev)
- {
- KbdAddEvent_evdev(down, param1, param2, param3, param4);
- }
- else
- {
- KbdAddEvent_base(down, param1, param2, param3, param4);
- }
-}
-
-/******************************************************************************/
-/* notes -
- scroll lock doesn't seem to be a modifier in X
-*/
-void
-KbdSync(int param1)
-{
- int xkb_state;
-
- if (g_keyboard == 0)
- {
- return;
- }
- xkb_state = XkbStateFieldFromRec(&(g_keyboard->key->xkbInfo->state));
-
- if ((!(xkb_state & 0x02)) != (!(param1 & 4))) /* caps lock */
- {
- LLOGLN(0, ("KbdSync: toggling caps lock"));
- KbdAddEvent(1, 58, 0, 58, 0);
- KbdAddEvent(0, 58, 49152, 58, 49152);
- }
-
- if ((!(xkb_state & 0x10)) != (!(param1 & 2))) /* num lock */
- {
- LLOGLN(0, ("KbdSync: toggling num lock"));
- KbdAddEvent(1, 69, 0, 69, 0);
- KbdAddEvent(0, 69, 49152, 69, 49152);
- }
-
- if ((!(g_scroll_lock_down)) != (!(param1 & 1))) /* scroll lock */
- {
- LLOGLN(0, ("KbdSync: toggling scroll lock"));
- KbdAddEvent(1, 70, 0, 70, 0);
- KbdAddEvent(0, 70, 49152, 70, 49152);
- }
-}
diff --git a/xorg/X11R7.6/rdp/rdpkeyboard.c b/xorg/X11R7.6/rdp/rdpkeyboard.c
deleted file mode 100644
index 31fefe54..00000000
--- a/xorg/X11R7.6/rdp/rdpkeyboard.c
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
-Copyright 2005-2014 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-keyboard
-
-*/
-
-#include "rdp.h"
-#include "rdpkeyboard.h"
-#include "rdpkeyboardevdev.h"
-
-#define LOG_LEVEL 1
-#define LLOGLN(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; ErrorF("\n"); } } while (0)
-
-extern DeviceIntPtr g_keyboard; /* in rdpmain.c */
-extern int g_shift_down; /* in rdpmain.c */
-extern int g_alt_down; /* in rdpmain.c */
-extern int g_ctrl_down; /* in rdpmain.c */
-extern int g_pause_spe; /* in rdpmain.c */
-extern int g_tab_down; /* in rdpmain.c */
-
-/******************************************************************************/
-void
-rdpEnqueueKey(int type, int scancode)
-{
- int i;
- int n;
- EventListPtr rdp_events;
- xEvent *pev;
-
- i = GetEventList(&rdp_events);
- n = GetKeyboardEvents(rdp_events, g_keyboard, type, scancode);
-
- for (i = 0; i < n; i++)
- {
- pev = (rdp_events + i)->event;
- mieqEnqueue(g_keyboard, (InternalEvent *)pev);
- }
-}
-
-/******************************************************************************/
-void
-check_keysa(void)
-{
- if (g_ctrl_down != 0)
- {
- rdpEnqueueKey(KeyRelease, g_ctrl_down);
- g_ctrl_down = 0;
- }
-
- if (g_alt_down != 0)
- {
- rdpEnqueueKey(KeyRelease, g_alt_down);
- g_alt_down = 0;
- }
-
- if (g_shift_down != 0)
- {
- rdpEnqueueKey(KeyRelease, g_shift_down);
- g_shift_down = 0;
- }
-}
-
-/******************************************************************************/
-void
-sendDownUpKeyEvent(int type, int x_scancode)
-{
- /* if type is keydown, send keyup + keydown */
- if (type == KeyPress)
- {
- rdpEnqueueKey(KeyRelease, x_scancode);
- rdpEnqueueKey(KeyPress, x_scancode);
- }
- else
- {
- rdpEnqueueKey(KeyRelease, x_scancode);
- }
-}
diff --git a/xorg/X11R7.6/rdp/rdpkeyboard.h b/xorg/X11R7.6/rdp/rdpkeyboard.h
deleted file mode 100644
index dc708501..00000000
--- a/xorg/X11R7.6/rdp/rdpkeyboard.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
-Copyright 2013-2014 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-keyboard map for base rules
-
-*/
-
-#ifndef _RDPKEYBOARD_H
-#define _RDPKEYBOARD_H
-
-#define MIN_KEY_CODE 8
-#define MAX_KEY_CODE 255
-#define NO_OF_KEYS ((MAX_KEY_CODE - MIN_KEY_CODE) + 1)
-#define GLYPHS_PER_KEY 2
-
-#define RDPSCAN_Tab 15
-#define RDPSCAN_Return 28 /* ext is used to know KP or not */
-#define RDPSCAN_Control 29 /* ext is used to know L or R */
-#define RDPSCAN_Shift_L 42
-#define RDPSCAN_Slash 53
-#define RDPSCAN_Shift_R 54
-#define RDPSCAN_KP_Multiply 55
-#define RDPSCAN_Alt 56 /* ext is used to know L or R */
-#define RDPSCAN_Caps_Lock 58
-#define RDPSCAN_Pause 69
-#define RDPSCAN_Scroll_Lock 70
-#define RDPSCAN_KP_7 71 /* KP7 or home */
-#define RDPSCAN_KP_8 72 /* KP8 or up */
-#define RDPSCAN_KP_9 73 /* KP9 or page up */
-#define RDPSCAN_KP_4 75 /* KP4 or left */
-#define RDPSCAN_KP_6 77 /* KP6 or right */
-#define RDPSCAN_KP_1 79 /* KP1 or home */
-#define RDPSCAN_KP_2 80 /* KP2 or up */
-#define RDPSCAN_KP_3 81 /* KP3 or page down */
-#define RDPSCAN_KP_0 82 /* KP0 or insert */
-#define RDPSCAN_KP_Decimal 83 /* KP. or delete */
-#define RDPSCAN_89 89
-#define RDPSCAN_90 90
-#define RDPSCAN_LWin 91
-#define RDPSCAN_RWin 92
-#define RDPSCAN_Menu 93
-#define RDPSCAN_115 115
-#define RDPSCAN_126 126
-
-void
-rdpEnqueueKey(int type, int scancode);
-void
-check_keysa(void);
-void
-sendDownUpKeyEvent(int type, int x_scancode);
-
-#endif
diff --git a/xorg/X11R7.6/rdp/rdpkeyboardbase.c b/xorg/X11R7.6/rdp/rdpkeyboardbase.c
deleted file mode 100644
index c35a0392..00000000
--- a/xorg/X11R7.6/rdp/rdpkeyboardbase.c
+++ /dev/null
@@ -1,301 +0,0 @@
-/*
-Copyright 2005-2014 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-keyboard map for base rules
-
-*/
-
-#include "rdp.h"
-#include "rdpkeyboard.h"
-#include "rdpkeyboardbase.h"
-
-extern DeviceIntPtr g_keyboard; /* in rdpmain.c */
-extern int g_shift_down; /* in rdpmain.c */
-extern int g_alt_down; /* in rdpmain.c */
-extern int g_ctrl_down; /* in rdpmain.c */
-extern int g_pause_spe; /* in rdpmain.c */
-extern int g_tab_down; /* in rdpmain.c */
-
-#define LOG_LEVEL 1
-#define LLOGLN(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; ErrorF("\n"); } } while (0)
-
-#define XSCAN_Tab 23
-#define XSCAN_Return 36 /* above right shift */
-#define XSCAN_Control_L 37
-#define XSCAN_Shift_L 50
-#define XSCAN_slash 61
-#define XSCAN_Shift_R 62
-#define XSCAN_KP_Multiply 63
-#define XSCAN_Alt_L 64
-#define XSCAN_Caps_Lock 66 /* caps lock */
-#define XSCAN_Num_Lock 77 /* num lock */
-#define XSCAN_KP_7 79
-#define XSCAN_KP_8 80
-#define XSCAN_KP_9 81
-#define XSCAN_KP_4 83
-#define XSCAN_KP_6 85
-#define XSCAN_KP_1 87
-#define XSCAN_KP_2 88
-#define XSCAN_KP_3 89
-#define XSCAN_KP_0 90
-#define XSCAN_KP_Decimal 91
-/* "/ ?" on br keyboard */
-#define XSCAN_97 97 /* ------------------------------? */
-#define XSCAN_Enter 108 /* 104 */ /* on keypad */
-#define XSCAN_Control_R 109 /* 105 */
-#define XSCAN_KP_Divide 112 /* 106 */
-#define XSCAN_Print 111 /* 107 */
-#define XSCAN_Alt_R 113 /* 108 */
-#define XSCAN_Home 97 /* 110 */
-#define XSCAN_Up 98 /* 111 */
-#define XSCAN_Prior 99 /* 112 */
-#define XSCAN_Left 100 /* 113 */
-#define XSCAN_Right 102 /* 114 */
-#define XSCAN_End 103 /* 115 */
-#define XSCAN_Down 104 /* 116 */
-#define XSCAN_Next 105 /* 117 */
-#define XSCAN_Insert 106 /* 118 */
-#define XSCAN_Delete 107 /* 119 */
-#define XSCAN_Pause 110 /* 127 */
-/* . on br keypad */
-#define XSCAN_129 129 /* ------------------------------? */
-#define XSCAN_LWin 115 /* 133 */
-#define XSCAN_RWin 116 /* 134 */
-#define XSCAN_Menu 117 /* 135 */
-#define XSCAN_LMeta 156
-#define XSCAN_RMeta 156
-#define XSCAN_211 211 /* "/ ?" on br keyboard, "\ _" on jp keyboard */
-
-/******************************************************************************/
-void
-KbdAddEvent_base(int down, int param1, int param2, int param3, int param4)
-{
- int rdp_scancode;
- int x_scancode;
- int is_ext;
- int is_spe;
- int type;
-
- LLOGLN(10, ("KbdAddEvent_base: down=0x%x param1=0x%x param2=0x%x "
- "param3=0x%x param4=0x%x", down, param1, param2, param3, param4));
- if (g_keyboard == 0)
- {
- return;
- }
- type = down ? KeyPress : KeyRelease;
- rdp_scancode = param3;
- is_ext = param4 & 256; /* 0x100 */
- is_spe = param4 & 512; /* 0x200 */
- x_scancode = 0;
-
- switch (rdp_scancode)
- {
- case RDPSCAN_Caps_Lock: /* caps lock */
- case RDPSCAN_Shift_L: /* left shift */
- case RDPSCAN_Shift_R: /* right shift */
- case RDPSCAN_Scroll_Lock: /* scroll lock */
- x_scancode = rdp_scancode + MIN_KEY_CODE;
-
- if (x_scancode > 0)
- {
- /* left or right shift */
- if ((rdp_scancode == RDPSCAN_Shift_L) ||
- (rdp_scancode == RDPSCAN_Shift_R))
- {
- g_shift_down = down ? x_scancode : 0;
- }
- rdpEnqueueKey(type, x_scancode);
- }
- break;
-
- case RDPSCAN_Alt: /* left - right alt button */
-
- if (is_ext)
- {
- x_scancode = XSCAN_Alt_R; /* right alt button */
- }
- else
- {
- x_scancode = XSCAN_Alt_L; /* left alt button */
- }
-
- g_alt_down = down ? x_scancode : 0;
- rdpEnqueueKey(type, x_scancode);
- break;
-
- case RDPSCAN_Tab: /* tab */
-
- if (!down && !g_tab_down)
- {
- check_keysa(); /* leave x_scancode 0 here, we don't want the tab key up */
- }
- else
- {
- sendDownUpKeyEvent(type, XSCAN_Tab);
- }
-
- g_tab_down = down;
- break;
-
- case RDPSCAN_Control: /* left or right ctrl */
-
- /* this is to handle special case with pause key sending control first */
- if (is_spe)
- {
- if (down)
- {
- g_pause_spe = 1;
- /* leave x_scancode 0 here, we don't want the control key down */
- }
- }
- else
- {
- x_scancode = is_ext ? XSCAN_Control_R : XSCAN_Control_L;
- g_ctrl_down = down ? x_scancode : 0;
- rdpEnqueueKey(type, x_scancode);
- }
-
- break;
-
- case RDPSCAN_Pause: /* Pause or Num Lock */
-
- if (g_pause_spe)
- {
- x_scancode = XSCAN_Pause;
-
- if (!down)
- {
- g_pause_spe = 0;
- }
- }
- else
- {
- x_scancode = g_ctrl_down ? XSCAN_Pause : XSCAN_Num_Lock;
- }
-
- rdpEnqueueKey(type, x_scancode);
- break;
-
- case RDPSCAN_Return: /* Enter or Return */
- x_scancode = is_ext ? XSCAN_Enter : XSCAN_Return;
- sendDownUpKeyEvent(type, x_scancode);
- break;
-
- case RDPSCAN_Slash: /* / */
- x_scancode = is_ext ? XSCAN_KP_Divide : XSCAN_slash;
- sendDownUpKeyEvent(type, x_scancode);
- break;
-
- case RDPSCAN_KP_Multiply: /* * on KP or Print Screen */
- x_scancode = is_ext ? XSCAN_Print : XSCAN_KP_Multiply;
- sendDownUpKeyEvent(type, x_scancode);
- break;
-
- case RDPSCAN_KP_7: /* 7 or Home */
- x_scancode = is_ext ? XSCAN_Home : XSCAN_KP_7;
- sendDownUpKeyEvent(type, x_scancode);
- break;
-
- case RDPSCAN_KP_8: /* 8 or Up */
- x_scancode = is_ext ? XSCAN_Up : XSCAN_KP_8;
- sendDownUpKeyEvent(type, x_scancode);
- break;
-
- case RDPSCAN_KP_9: /* 9 or PgUp */
- x_scancode = is_ext ? XSCAN_Prior : XSCAN_KP_9;
- sendDownUpKeyEvent(type, x_scancode);
- break;
-
- case RDPSCAN_KP_4: /* 4 or Left */
- x_scancode = is_ext ? XSCAN_Left : XSCAN_KP_4;
- sendDownUpKeyEvent(type, x_scancode);
- break;
-
- case RDPSCAN_KP_6: /* 6 or Right */
- x_scancode = is_ext ? XSCAN_Right : XSCAN_KP_6;
- sendDownUpKeyEvent(type, x_scancode);
- break;
-
- case RDPSCAN_KP_1: /* 1 or End */
- x_scancode = is_ext ? XSCAN_End : XSCAN_KP_1;
- sendDownUpKeyEvent(type, x_scancode);
- break;
-
- case RDPSCAN_KP_2: /* 2 or Down */
- x_scancode = is_ext ? XSCAN_Down : XSCAN_KP_2;
- sendDownUpKeyEvent(type, x_scancode);
- break;
-
- case RDPSCAN_KP_3: /* 3 or PgDn */
- x_scancode = is_ext ? XSCAN_Next : XSCAN_KP_3;
- sendDownUpKeyEvent(type, x_scancode);
- break;
-
- case RDPSCAN_KP_0: /* 0 or Insert */
- x_scancode = is_ext ? XSCAN_Insert : XSCAN_KP_0;
- sendDownUpKeyEvent(type, x_scancode);
- break;
-
- case RDPSCAN_KP_Decimal: /* . or Delete */
- x_scancode = is_ext ? XSCAN_Delete : XSCAN_KP_Decimal;
- sendDownUpKeyEvent(type, x_scancode);
- break;
-
- case RDPSCAN_LWin: /* left win key */
- rdpEnqueueKey(type, XSCAN_LWin);
- break;
-
- case RDPSCAN_RWin: /* right win key */
- rdpEnqueueKey(type, XSCAN_RWin);
- break;
-
- case RDPSCAN_Menu: /* menu key */
- rdpEnqueueKey(type, XSCAN_Menu);
- break;
-
- case RDPSCAN_89: /* left meta */
- rdpEnqueueKey(type, XSCAN_LMeta);
- break;
-
- case RDPSCAN_90: /* right meta */
- rdpEnqueueKey(type, XSCAN_RMeta);
- break;
-
- case RDPSCAN_115:
- rdpEnqueueKey(type, XSCAN_211); /* "/ ?" on br keyboard, "\ _" on jp keyboard */
- break;
-
- case RDPSCAN_126:
- rdpEnqueueKey(type, XSCAN_129); /* . on br keypad */
- break;
-
- default:
- x_scancode = rdp_scancode + MIN_KEY_CODE;
-
- if (x_scancode > 0)
- {
- LLOGLN(10, ("KbdAddEvent_base: rdp_scancode %d x_scancode %d",
- rdp_scancode, x_scancode));
- sendDownUpKeyEvent(type, x_scancode);
- }
-
- break;
- }
-}
diff --git a/xorg/X11R7.6/rdp/rdpkeyboardbase.h b/xorg/X11R7.6/rdp/rdpkeyboardbase.h
deleted file mode 100644
index 6548b78e..00000000
--- a/xorg/X11R7.6/rdp/rdpkeyboardbase.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
-Copyright 2013-2014 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-keyboard map for base rules
-
-*/
-
-#ifndef _RDPKEYBOARDBASE_H
-#define _RDPKEYBOARDBASE_H
-
-void
-KbdAddEvent_base(int down, int param1, int param2, int param3, int param4);
-
-#endif
diff --git a/xorg/X11R7.6/rdp/rdpkeyboardevdev.c b/xorg/X11R7.6/rdp/rdpkeyboardevdev.c
deleted file mode 100644
index 0c560c83..00000000
--- a/xorg/X11R7.6/rdp/rdpkeyboardevdev.c
+++ /dev/null
@@ -1,300 +0,0 @@
-/*
-Copyright 2005-2014 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-keyboard map for evdev rules
-
-*/
-
-#include "rdp.h"
-#include "rdpkeyboard.h"
-#include "rdpkeyboardevdev.h"
-
-extern DeviceIntPtr g_keyboard; /* in rdpmain.c */
-extern int g_shift_down; /* in rdpmain.c */
-extern int g_alt_down; /* in rdpmain.c */
-extern int g_ctrl_down; /* in rdpmain.c */
-extern int g_pause_spe; /* in rdpmain.c */
-extern int g_tab_down; /* in rdpmain.c */
-
-#define LOG_LEVEL 1
-#define LLOGLN(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; ErrorF("\n"); } } while (0)
-
-#define XSCAN_Tab 23
-#define XSCAN_Return 36 /* above right shift */
-#define XSCAN_Control_L 37
-#define XSCAN_Shift_L 50
-#define XSCAN_slash 61
-#define XSCAN_Shift_R 62
-#define XSCAN_KP_Multiply 63
-#define XSCAN_Alt_L 64
-#define XSCAN_Caps_Lock 66 /* caps lock */
-#define XSCAN_Num_Lock 77 /* num lock */
-#define XSCAN_KP_7 79
-#define XSCAN_KP_8 80
-#define XSCAN_KP_9 81
-#define XSCAN_KP_4 83
-#define XSCAN_KP_6 85
-#define XSCAN_KP_1 87
-#define XSCAN_KP_2 88
-#define XSCAN_KP_3 89
-#define XSCAN_KP_0 90
-#define XSCAN_KP_Decimal 91
-/* "/ ?" on br keyboard */
-#define XSCAN_97 97
-#define XSCAN_Enter 104 /* on keypad */
-#define XSCAN_Control_R 105
-#define XSCAN_KP_Divide 106
-#define XSCAN_Print 107
-#define XSCAN_Alt_R 108
-#define XSCAN_Home 110
-#define XSCAN_Up 111
-#define XSCAN_Prior 112
-#define XSCAN_Left 113
-#define XSCAN_Right 114
-#define XSCAN_End 115
-#define XSCAN_Down 116
-#define XSCAN_Next 117
-#define XSCAN_Insert 118
-#define XSCAN_Delete 119
-#define XSCAN_Pause 127
-/* . on br keypad */
-#define XSCAN_129 129
-#define XSCAN_LWin 133
-#define XSCAN_RWin 134
-#define XSCAN_Menu 135
-#define XSCAN_LMeta 156
-#define XSCAN_RMeta 156
-
-/******************************************************************************/
-void
-KbdAddEvent_evdev(int down, int param1, int param2, int param3, int param4)
-{
- int rdp_scancode;
- int x_scancode;
- int is_ext;
- int is_spe;
- int type;
-
- LLOGLN(10, ("KbdAddEvent_evdev: down=0x%x param1=0x%x param2=0x%x "
- "param3=0x%x param4=0x%x", down, param1, param2, param3, param4));
- if (g_keyboard == 0)
- {
- return;
- }
- type = down ? KeyPress : KeyRelease;
- rdp_scancode = param3;
- is_ext = param4 & 256; /* 0x100 */
- is_spe = param4 & 512; /* 0x200 */
- x_scancode = 0;
-
- switch (rdp_scancode)
- {
- case RDPSCAN_Caps_Lock: /* caps lock */
- case RDPSCAN_Shift_L: /* left shift */
- case RDPSCAN_Shift_R: /* right shift */
- case RDPSCAN_Scroll_Lock: /* scroll lock */
- x_scancode = rdp_scancode + MIN_KEY_CODE;
-
- if (x_scancode > 0)
- {
- /* left or right shift */
- if ((rdp_scancode == RDPSCAN_Shift_L) ||
- (rdp_scancode == RDPSCAN_Shift_R))
- {
- g_shift_down = down ? x_scancode : 0;
- }
- rdpEnqueueKey(type, x_scancode);
- }
- break;
-
- case RDPSCAN_Alt: /* left - right alt button */
-
- if (is_ext)
- {
- x_scancode = XSCAN_Alt_R; /* right alt button */
- }
- else
- {
- x_scancode = XSCAN_Alt_L; /* left alt button */
- }
-
- g_alt_down = down ? x_scancode : 0;
- rdpEnqueueKey(type, x_scancode);
- break;
-
- case RDPSCAN_Tab: /* tab */
-
- if (!down && !g_tab_down)
- {
- check_keysa(); /* leave x_scancode 0 here, we don't want the tab key up */
- }
- else
- {
- sendDownUpKeyEvent(type, XSCAN_Tab);
- }
-
- g_tab_down = down;
- break;
-
- case RDPSCAN_Control: /* left or right ctrl */
-
- /* this is to handle special case with pause key sending control first */
- if (is_spe)
- {
- if (down)
- {
- g_pause_spe = 1;
- /* leave x_scancode 0 here, we don't want the control key down */
- }
- }
- else
- {
- x_scancode = is_ext ? XSCAN_Control_R : XSCAN_Control_L;
- g_ctrl_down = down ? x_scancode : 0;
- rdpEnqueueKey(type, x_scancode);
- }
-
- break;
-
- case RDPSCAN_Pause: /* Pause or Num Lock */
-
- if (g_pause_spe)
- {
- x_scancode = XSCAN_Pause;
-
- if (!down)
- {
- g_pause_spe = 0;
- }
- }
- else
- {
- x_scancode = g_ctrl_down ? XSCAN_Pause : XSCAN_Num_Lock;
- }
-
- rdpEnqueueKey(type, x_scancode);
- break;
-
- case RDPSCAN_Return: /* Enter or Return */
- x_scancode = is_ext ? XSCAN_Enter : XSCAN_Return;
- sendDownUpKeyEvent(type, x_scancode);
- break;
-
- case RDPSCAN_Slash: /* / */
- x_scancode = is_ext ? XSCAN_KP_Divide : XSCAN_slash;
- sendDownUpKeyEvent(type, x_scancode);
- break;
-
- case RDPSCAN_KP_Multiply: /* * on KP or Print Screen */
- x_scancode = is_ext ? XSCAN_Print : XSCAN_KP_Multiply;
- sendDownUpKeyEvent(type, x_scancode);
- break;
-
- case RDPSCAN_KP_7: /* 7 or Home */
- x_scancode = is_ext ? XSCAN_Home : XSCAN_KP_7;
- sendDownUpKeyEvent(type, x_scancode);
- break;
-
- case RDPSCAN_KP_8: /* 8 or Up */
- x_scancode = is_ext ? XSCAN_Up : XSCAN_KP_8;
- sendDownUpKeyEvent(type, x_scancode);
- break;
-
- case RDPSCAN_KP_9: /* 9 or PgUp */
- x_scancode = is_ext ? XSCAN_Prior : XSCAN_KP_9;
- sendDownUpKeyEvent(type, x_scancode);
- break;
-
- case RDPSCAN_KP_4: /* 4 or Left */
- x_scancode = is_ext ? XSCAN_Left : XSCAN_KP_4;
- sendDownUpKeyEvent(type, x_scancode);
- break;
-
- case RDPSCAN_KP_6: /* 6 or Right */
- x_scancode = is_ext ? XSCAN_Right : XSCAN_KP_6;
- sendDownUpKeyEvent(type, x_scancode);
- break;
-
- case RDPSCAN_KP_1: /* 1 or End */
- x_scancode = is_ext ? XSCAN_End : XSCAN_KP_1;
- sendDownUpKeyEvent(type, x_scancode);
- break;
-
- case RDPSCAN_KP_2: /* 2 or Down */
- x_scancode = is_ext ? XSCAN_Down : XSCAN_KP_2;
- sendDownUpKeyEvent(type, x_scancode);
- break;
-
- case RDPSCAN_KP_3: /* 3 or PgDn */
- x_scancode = is_ext ? XSCAN_Next : XSCAN_KP_3;
- sendDownUpKeyEvent(type, x_scancode);
- break;
-
- case RDPSCAN_KP_0: /* 0 or Insert */
- x_scancode = is_ext ? XSCAN_Insert : XSCAN_KP_0;
- sendDownUpKeyEvent(type, x_scancode);
- break;
-
- case RDPSCAN_KP_Decimal: /* . or Delete */
- x_scancode = is_ext ? XSCAN_Delete : XSCAN_KP_Decimal;
- sendDownUpKeyEvent(type, x_scancode);
- break;
-
- case RDPSCAN_LWin: /* left win key */
- rdpEnqueueKey(type, XSCAN_LWin);
- break;
-
- case RDPSCAN_RWin: /* right win key */
- rdpEnqueueKey(type, XSCAN_RWin);
- break;
-
- case RDPSCAN_Menu: /* menu key */
- rdpEnqueueKey(type, XSCAN_Menu);
- break;
-
- case RDPSCAN_89: /* left meta */
- rdpEnqueueKey(type, XSCAN_LMeta);
- break;
-
- case RDPSCAN_90: /* right meta */
- rdpEnqueueKey(type, XSCAN_RMeta);
- break;
-
- case RDPSCAN_115:
- rdpEnqueueKey(type, XSCAN_97); /* "/ ?" on br keyboard */
- break;
-
- case RDPSCAN_126:
- rdpEnqueueKey(type, XSCAN_129); /* . on br keypad */
- break;
-
- default:
- x_scancode = rdp_scancode + MIN_KEY_CODE;
-
- if (x_scancode > 0)
- {
- LLOGLN(10, ("KbdAddEvent_evdev: rdp_scancode %d x_scancode %d",
- rdp_scancode, x_scancode));
- sendDownUpKeyEvent(type, x_scancode);
- }
-
- break;
- }
-}
diff --git a/xorg/X11R7.6/rdp/rdpkeyboardevdev.h b/xorg/X11R7.6/rdp/rdpkeyboardevdev.h
deleted file mode 100644
index 8c673cbf..00000000
--- a/xorg/X11R7.6/rdp/rdpkeyboardevdev.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
-Copyright 2013-2014 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-keyboard map for base rules
-
-*/
-
-#ifndef _RDPKEYBOARDEVDEV_H
-#define _RDPKEYBOARDEVDEV_H
-
-void
-KbdAddEvent_evdev(int down, int param1, int param2, int param3, int param4);
-
-#endif
diff --git a/xorg/X11R7.6/rdp/rdpmain.c b/xorg/X11R7.6/rdp/rdpmain.c
deleted file mode 100644
index 7a1d444c..00000000
--- a/xorg/X11R7.6/rdp/rdpmain.c
+++ /dev/null
@@ -1,857 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-This is the main file called from main.c
-Sets up the functions
-
-*/
-
-#include "rdp.h"
-#include "rdprandr.h"
-#include "rdpglyph.h"
-
-#if 1
-#define DEBUG_OUT(arg)
-#else
-#define DEBUG_OUT(arg) ErrorF arg
-#endif
-
-#ifndef XRDP_DISABLE_LINUX_ABSTRACT
-#ifdef __linux__
-#define XRDP_DISABLE_LINUX_ABSTRACT 1
-#else
-#define XRDP_DISABLE_LINUX_ABSTRACT 0
-#endif
-#endif
-
-#if XRDP_DISABLE_LINUX_ABSTRACT
-/* because including is problematic
- * we dup a small struct
- * we need to set flags to zero to turn off abstract sockets */
-struct _MyXtransport
-{
- char *TransName;
- int flags;
-};
-/* in xtrans-1.2.6/Xtranssock.c */
-extern struct _MyXtransport _XSERVTransSocketLocalFuncs;
-#endif
-
-rdpScreenInfoRec g_rdpScreen; /* the one screen */
-ScreenPtr g_pScreen = 0;
-
-DevPrivateKeyRec g_rdpGCIndex;
-DevPrivateKeyRec g_rdpWindowIndex;
-DevPrivateKeyRec g_rdpPixmapIndex;
-
-/* main mouse and keyboard devices */
-DeviceIntPtr g_pointer = 0;
-DeviceIntPtr g_keyboard = 0;
-
-/* true if client is enhanced rdp client(freerdp) */
-int g_can_do_pix_to_pix = 0;
-
-int g_do_dirty_os = 1; /* delay remoting off screen bitmaps */
-int g_do_dirty_ons = 1; /* delay remoting screen */
-int g_do_glyph_cache = 0; /* rdpup.c may set this */
-int g_do_alpha_glyphs = 1;
-int g_do_composite = 0; /* rdpup.c may set this */
-Bool g_wrapWindow = 1;
-Bool g_wrapPixmap = 1;
-
-int g_codec_mode = 0; /* 0 = standard rdp, 1 = rfx */
-
-rdpPixmapRec g_screenPriv;
-
-/* if true, running in RemoteApp / RAIL mode */
-int g_use_rail = 0;
-
-int g_con_number = 0; /* increments for each connection */
-
-WindowPtr g_invalidate_window = 0;
-int g_doing_font = 0;
-
-/* if true, use a unix domain socket instead of a tcp socket */
-int g_use_uds = 0;
-char g_uds_data[256] = ""; /* data */
-char g_uds_cont[256] = ""; /* control */
-
-int g_shift_down = 0;
-int g_alt_down = 0;
-int g_ctrl_down = 0;
-int g_pause_spe = 0;
-int g_tab_down = 0;
-
-/* set all these at once, use function set_bpp */
-int g_bpp = 16;
-int g_Bpp = 2;
-int g_Bpp_mask = 0xffff;
-static int g_firstTime = 1;
-static int g_redBits = 5;
-static int g_greenBits = 6;
-static int g_blueBits = 5;
-static int g_initOutputCalled = 0;
-/* Common pixmap formats */
-static PixmapFormatRec g_formats[MAXFORMATS] =
-{
- { 1, 1, BITMAP_SCANLINE_PAD },
- { 4, 8, BITMAP_SCANLINE_PAD },
- { 8, 8, BITMAP_SCANLINE_PAD },
- { 15, 16, BITMAP_SCANLINE_PAD },
- { 16, 16, BITMAP_SCANLINE_PAD },
- { 24, 32, BITMAP_SCANLINE_PAD },
- { 32, 32, BITMAP_SCANLINE_PAD },
-};
-static int g_numFormats = 7;
-static miPointerSpriteFuncRec g_rdpSpritePointerFuncs =
-{
- /* these are in rdpinput.c */
- rdpSpriteRealizeCursor,
- rdpSpriteUnrealizeCursor,
- rdpSpriteSetCursor,
- rdpSpriteMoveCursor,
- rdpSpriteDeviceCursorInitialize,
- rdpSpriteDeviceCursorCleanup
-};
-static miPointerScreenFuncRec g_rdpPointerCursorFuncs =
-{
- /* these are in rdpinput.c */
- rdpCursorOffScreen,
- rdpCrossScreen,
- rdpPointerWarpCursor,
- rdpPointerEnqueueEvent,
- rdpPointerNewEventScreen
-};
-
-int glGetBufferSubData(void);
-
-/******************************************************************************/
-/* returns error, zero is good */
-static int
-set_bpp(int bpp)
-{
- int rv;
-
- rv = 0;
- g_bpp = bpp;
-
- if (g_bpp == 8)
- {
- g_Bpp = 1;
- g_Bpp_mask = 0xff;
- g_redBits = 3;
- g_greenBits = 3;
- g_blueBits = 2;
- }
- else if (g_bpp == 15)
- {
- g_Bpp = 2;
- g_Bpp_mask = 0x7fff;
- g_redBits = 5;
- g_greenBits = 5;
- g_blueBits = 5;
- }
- else if (g_bpp == 16)
- {
- g_Bpp = 2;
- g_Bpp_mask = 0xffff;
- g_redBits = 5;
- g_greenBits = 6;
- g_blueBits = 5;
- }
- else if (g_bpp == 24)
- {
- g_Bpp = 4;
- g_Bpp_mask = 0xffffff;
- g_redBits = 8;
- g_greenBits = 8;
- g_blueBits = 8;
- }
- else if (g_bpp == 32)
- {
- g_Bpp = 4;
- g_Bpp_mask = 0xffffff;
- g_redBits = 8;
- g_greenBits = 8;
- g_blueBits = 8;
- }
- else if (g_bpp == 33)
- {
- /* will never happen */
- glGetBufferSubData();
- }
- else
- {
- rv = 1;
- }
-
- return rv;
-}
-
-/******************************************************************************/
-static void
-rdpWakeupHandler(int i, pointer blockData, unsigned long err,
- pointer pReadmask)
-{
- g_pScreen->WakeupHandler = g_rdpScreen.WakeupHandler;
- g_pScreen->WakeupHandler(i, blockData, err, pReadmask);
- g_pScreen->WakeupHandler = rdpWakeupHandler;
-}
-
-/******************************************************************************/
-static void
-rdpBlockHandler1(pointer blockData, OSTimePtr pTimeout, pointer pReadmask)
-{
-}
-
-/******************************************************************************/
-static void
-rdpWakeupHandler1(pointer blockData, int result, pointer pReadmask)
-{
- rdpup_check();
-}
-
-#if 0
-/******************************************************************************/
-static Bool
-rdpDeviceCursorInitialize(DeviceIntPtr pDev, ScreenPtr pScreen)
-{
- ErrorF("rdpDeviceCursorInitializeProcPtr:\n");
- return 1;
-}
-
-/******************************************************************************/
-static void
-rdpDeviceCursorCleanup(DeviceIntPtr pDev, ScreenPtr pScreen)
-{
- ErrorF("rdpDeviceCursorCleanupProcPtr:\n");
-}
-#endif
-
-#if 0
-/******************************************************************************/
-Bool
-rdpCreateColormap(ColormapPtr pCmap)
-{
- ErrorF("rdpCreateColormap:\n");
- return 1;
-}
-
-/******************************************************************************/
-static void
-rdpDestroyColormap(ColormapPtr pColormap)
-{
- ErrorF("rdpDestroyColormap:\n");
-}
-#endif
-
-/******************************************************************************/
-void
-rdpSetUDSRights(void)
-{
- char unixSocketName[128];
-
- sprintf(unixSocketName, "/tmp/.X11-unix/X%s", display);
- chmod(unixSocketName, 0700);
-}
-
-/******************************************************************************/
-/* returns boolean, true if everything is ok */
-static Bool
-rdpScreenInit(int index, ScreenPtr pScreen, int argc, char **argv)
-{
- int dpix;
- int dpiy;
- int ret;
- Bool vis_found;
- VisualPtr vis;
- PictureScreenPtr ps;
- rrScrPrivPtr pRRScrPriv;
-
- g_pScreen = pScreen;
- memset(&g_screenPriv, 0, sizeof(g_screenPriv));
-
- /*dpix = 75;
- dpiy = 75; */
- dpix = PixelDPI;
- dpiy = PixelDPI;
-
- if (monitorResolution != 0)
- {
- dpix = monitorResolution;
- dpiy = monitorResolution;
- }
-
- g_rdpScreen.paddedWidthInBytes = PixmapBytePad(g_rdpScreen.width,
- g_rdpScreen.depth);
- g_rdpScreen.bitsPerPixel = rdpBitsPerPixel(g_rdpScreen.depth);
- ErrorF("\n");
- ErrorF("X11rdp, an X server for xrdp\n");
- ErrorF("Version %s\n", X11RDPVER);
- ErrorF("Copyright (C) 2005-2015 Jay Sorg\n");
- ErrorF("See http://www.xrdp.org for information on xrdp.\n");
-#if defined(XORG_VERSION_CURRENT) && defined (XVENDORNAME)
- ErrorF("Underlying X server release %d, %s\n",
- XORG_VERSION_CURRENT, XVENDORNAME);
-#endif
-#if defined(XORG_RELEASE)
- ErrorF("Xorg %s\n", XORG_RELEASE);
-#endif
- ErrorF("Screen width %d height %d depth %d bpp %d\n", g_rdpScreen.width,
- g_rdpScreen.height, g_rdpScreen.depth, g_rdpScreen.bitsPerPixel);
- ErrorF("dpix %d dpiy %d\n", dpix, dpiy);
-
- if (g_rdpScreen.pfbMemory == 0)
- {
- g_rdpScreen.sizeInBytes =
- (g_rdpScreen.paddedWidthInBytes * g_rdpScreen.height);
- ErrorF("buffer size %d\n", g_rdpScreen.sizeInBytes);
- g_rdpScreen.pfbMemory = (char *)g_malloc(g_rdpScreen.sizeInBytes, 1);
- g_rdpScreen.sizeInBytesAlloc = g_rdpScreen.sizeInBytes;
- }
-
- if (g_rdpScreen.pfbMemory == 0)
- {
- rdpLog("rdpScreenInit g_malloc failed\n");
- return 0;
- }
-
- miClearVisualTypes();
-
- if (defaultColorVisualClass == -1)
- {
- defaultColorVisualClass = TrueColor;
- }
-
- if (!miSetVisualTypes(g_rdpScreen.depth,
- miGetDefaultVisualMask(g_rdpScreen.depth),
- 8, defaultColorVisualClass))
- {
- rdpLog("rdpScreenInit miSetVisualTypes failed\n");
- return 0;
- }
-
- miSetPixmapDepths();
-
- switch (g_rdpScreen.bitsPerPixel)
- {
- case 8:
- ret = fbScreenInit(pScreen, g_rdpScreen.pfbMemory,
- g_rdpScreen.width, g_rdpScreen.height,
- dpix, dpiy, g_rdpScreen.paddedWidthInBytes, 8);
- break;
- case 16:
- ret = fbScreenInit(pScreen, g_rdpScreen.pfbMemory,
- g_rdpScreen.width, g_rdpScreen.height,
- dpix, dpiy, g_rdpScreen.paddedWidthInBytes / 2, 16);
- break;
- case 32:
- ret = fbScreenInit(pScreen, g_rdpScreen.pfbMemory,
- g_rdpScreen.width, g_rdpScreen.height,
- dpix, dpiy, g_rdpScreen.paddedWidthInBytes / 4, 32);
- break;
- default:
- ErrorF("rdpScreenInit: error\n");
- return 0;
- }
-
- if (!ret)
- {
- ErrorF("rdpScreenInit: error\n");
- return 0;
- }
-
- miInitializeBackingStore(pScreen);
-
- /* this is for rgb, not bgr, just doing rgb for now */
- vis = g_pScreen->visuals + (g_pScreen->numVisuals - 1);
-
- while (vis >= pScreen->visuals)
- {
- if ((vis->class | DynamicClass) == DirectColor)
- {
- vis->offsetBlue = 0;
- vis->blueMask = (1 << g_blueBits) - 1;
- vis->offsetGreen = g_blueBits;
- vis->greenMask = ((1 << g_greenBits) - 1) << vis->offsetGreen;
- vis->offsetRed = g_blueBits + g_greenBits;
- vis->redMask = ((1 << g_redBits) - 1) << vis->offsetRed;
- }
-
- vis--;
- }
-
- if (g_rdpScreen.bitsPerPixel > 4)
- {
- fbPictureInit(pScreen, 0, 0);
- }
-
- if (!dixRegisterPrivateKey(&g_rdpGCIndex, PRIVATE_GC, sizeof(rdpGCRec)))
- {
- FatalError("rdpScreenInit: dixRegisterPrivateKey PRIVATE_GC failed\n");
- }
-
- if (!dixRegisterPrivateKey(&g_rdpWindowIndex, PRIVATE_WINDOW, sizeof(rdpWindowRec)))
- {
- FatalError("rdpScreenInit: dixRegisterPrivateKey PRIVATE_WINDOW failed\n");
- }
-
- if (!dixRegisterPrivateKey(&g_rdpPixmapIndex, PRIVATE_PIXMAP, sizeof(rdpPixmapRec)))
- {
- FatalError("rdpScreenInit: dixRegisterPrivateKey PRIVATE_PIXMAP failed\n");
- }
-
- /* Random screen procedures */
- g_rdpScreen.CloseScreen = pScreen->CloseScreen;
- /* GC procedures */
- g_rdpScreen.CreateGC = pScreen->CreateGC;
- /* Pixmap procedures */
- g_rdpScreen.CreatePixmap = pScreen->CreatePixmap;
- g_rdpScreen.DestroyPixmap = pScreen->DestroyPixmap;
-
- /* Window Procedures */
- g_rdpScreen.CreateWindow = pScreen->CreateWindow;
- g_rdpScreen.DestroyWindow = pScreen->DestroyWindow;
- g_rdpScreen.ChangeWindowAttributes = pScreen->ChangeWindowAttributes;
- g_rdpScreen.RealizeWindow = pScreen->RealizeWindow;
- g_rdpScreen.UnrealizeWindow = pScreen->UnrealizeWindow;
- g_rdpScreen.PositionWindow = pScreen->PositionWindow;
- g_rdpScreen.WindowExposures = pScreen->WindowExposures;
- g_rdpScreen.CopyWindow = pScreen->CopyWindow;
- g_rdpScreen.ClearToBackground = pScreen->ClearToBackground;
-
- /* Backing store procedures */
- g_rdpScreen.RestoreAreas = pScreen->RestoreAreas;
- g_rdpScreen.WakeupHandler = pScreen->WakeupHandler;
-
- g_rdpScreen.CreateColormap = pScreen->CreateColormap;
- g_rdpScreen.DestroyColormap = pScreen->DestroyColormap;
-
- ps = GetPictureScreenIfSet(pScreen);
-
- if (ps)
- {
- g_rdpScreen.CreatePicture = ps->CreatePicture;
- g_rdpScreen.DestroyPicture = ps->DestroyPicture;
- g_rdpScreen.Composite = ps->Composite;
- g_rdpScreen.Glyphs = ps->Glyphs;
-
- }
-
- pScreen->blackPixel = g_rdpScreen.blackPixel;
- pScreen->whitePixel = g_rdpScreen.whitePixel;
- /* Random screen procedures */
- pScreen->CloseScreen = rdpCloseScreen;
- pScreen->WakeupHandler = rdpWakeupHandler;
-
- if (ps)
- {
- ps->CreatePicture = rdpCreatePicture;
- ps->DestroyPicture = rdpDestroyPicture;
- ps->Composite = rdpComposite;
- ps->Glyphs = rdpGlyphs;
- }
-
- pScreen->SaveScreen = rdpSaveScreen;
- /* GC procedures */
- pScreen->CreateGC = rdpCreateGC;
-
- if (g_wrapPixmap)
- {
- /* Pixmap procedures */
- pScreen->CreatePixmap = rdpCreatePixmap;
- pScreen->DestroyPixmap = rdpDestroyPixmap;
- }
-
- if (g_wrapWindow)
- {
- /* Window Procedures */
- pScreen->CreateWindow = rdpCreateWindow;
- pScreen->DestroyWindow = rdpDestroyWindow;
- pScreen->ChangeWindowAttributes = rdpChangeWindowAttributes;
- pScreen->RealizeWindow = rdpRealizeWindow;
- pScreen->UnrealizeWindow = rdpUnrealizeWindow;
- pScreen->PositionWindow = rdpPositionWindow;
- pScreen->WindowExposures = rdpWindowExposures;
- }
-
- pScreen->CopyWindow = rdpCopyWindow;
- pScreen->ClearToBackground = rdpClearToBackground;
-
- /* Backing store procedures */
- pScreen->RestoreAreas = rdpRestoreAreas;
-
-#if 0
- pScreen->CreateColormap = rdpCreateColormap;
- pScreen->DestroyColormap = rdpDestroyColormap;
-#endif
-
- miPointerInitialize(pScreen, &g_rdpSpritePointerFuncs,
- &g_rdpPointerCursorFuncs, 1);
-
-#if 0
- pScreen->DeviceCursorInitialize = rdpDeviceCursorInitialize;
- pScreen->DeviceCursorCleanup = rdpDeviceCursorCleanup;
-#endif
-
- vis_found = 0;
- vis = g_pScreen->visuals + (g_pScreen->numVisuals - 1);
-
- while (vis >= pScreen->visuals)
- {
- if (vis->vid == pScreen->rootVisual)
- {
- vis_found = 1;
- }
-
- vis--;
- }
-
- if (!vis_found)
- {
- rdpLog("rdpScreenInit: couldn't find root visual\n");
- exit(1);
- }
-
- ret = 1;
-
- if (ret)
- {
- ret = fbCreateDefColormap(pScreen);
-
- if (!ret)
- {
- ErrorF("rdpScreenInit: fbCreateDefColormap failed\n");
- }
- }
-
- if (ret)
- {
- ret = rdpup_init();
-
- if (!ret)
- {
- ErrorF("rdpScreenInit: rdpup_init failed\n");
- }
- }
-
- if (ret)
- {
- RegisterBlockAndWakeupHandlers(rdpBlockHandler1, rdpWakeupHandler1, NULL);
- }
-
- if (!RRScreenInit(pScreen))
- {
- ErrorF("rdpmain.c: RRScreenInit: screen init failed\n");
- }
- else
- {
- pRRScrPriv = rrGetScrPriv(pScreen);
- ErrorF("pRRScrPriv %p\n", pRRScrPriv);
-
- pRRScrPriv->rrSetConfig = rdpRRSetConfig;
-
- pRRScrPriv->rrGetInfo = rdpRRGetInfo;
-
- pRRScrPriv->rrScreenSetSize = rdpRRScreenSetSize;
- pRRScrPriv->rrCrtcSet = rdpRRCrtcSet;
- pRRScrPriv->rrCrtcGetGamma = rdpRRCrtcGetGamma;
- pRRScrPriv->rrCrtcSetGamma = rdpRRCrtcSetGamma;
- pRRScrPriv->rrOutputSetProperty = rdpRROutputSetProperty;
- pRRScrPriv->rrOutputValidateMode = rdpRROutputValidateMode;
- pRRScrPriv->rrModeDestroy = rdpRRModeDestroy;
-
- pRRScrPriv->rrOutputGetProperty = rdpRROutputGetProperty;
- pRRScrPriv->rrGetPanning = rdpRRGetPanning;
- pRRScrPriv->rrSetPanning = rdpRRSetPanning;
-
- }
-
- rdpGlyphInit();
-
- //rdpXvInit(pScreen);
-
- rdpSetUDSRights();
-
- ErrorF("rdpScreenInit: ret %d\n", ret);
-
- return ret;
-}
-
-/******************************************************************************/
-/* this is the first function called, it can be called many times
- returns the number or parameters processed
- if it doesn't apply to the rdp part, return 0 */
-int
-ddxProcessArgument(int argc, char **argv, int i)
-{
- if (g_firstTime)
- {
- memset(&g_rdpScreen, 0, sizeof(g_rdpScreen));
- g_rdpScreen.width = 1024;
- g_rdpScreen.height = 768;
- g_rdpScreen.depth = 24;
- set_bpp(24);
- g_rdpScreen.blackPixel = 1;
- g_firstTime = 0;
- RRExtensionInit();
- }
-
- if (strcmp(argv[i], "-geometry") == 0)
- {
- if (i + 1 >= argc)
- {
- UseMsg();
- }
-
- if (sscanf(argv[i + 1], "%dx%d", &g_rdpScreen.width,
- &g_rdpScreen.height) != 2)
- {
- ErrorF("Invalid geometry %s\n", argv[i + 1]);
- UseMsg();
- }
-
- return 2;
- }
-
- if (strcmp(argv[i], "-depth") == 0)
- {
- if (i + 1 >= argc)
- {
- UseMsg();
- }
-
- g_rdpScreen.depth = atoi(argv[i + 1]);
-
- if (set_bpp(g_rdpScreen.depth) != 0)
- {
- UseMsg();
- }
-
- return 2;
- }
-
- if (strcmp(argv[i], "-uds") == 0)
- {
- g_use_uds = 1;
- return 1;
- }
-
- return 0;
-}
-
-/******************************************************************************/
-void
-OsVendorInit(void)
-{
-#if XRDP_DISABLE_LINUX_ABSTRACT
- /* turn off the Linux abstract unix domain sockets TRANS_ABSTRACT */
- /* TRANS_NOLISTEN = 1 << 3 */
- _XSERVTransSocketLocalFuncs.flags = 0;
-#endif
-}
-
-/******************************************************************************/
-/* ddxInitGlobals - called by |InitGlobals| from os/util.c */
-void
-ddxInitGlobals(void)
-{
-}
-
-/******************************************************************************/
-int
-XkbDDXSwitchScreen(DeviceIntPtr dev, KeyCode key, XkbAction *act)
-{
- ErrorF("XkbDDXSwitchScreen:\n");
- return 1;
-}
-
-/******************************************************************************/
-int
-XkbDDXPrivate(DeviceIntPtr dev, KeyCode key, XkbAction *act)
-{
- ErrorF("XkbDDXPrivate:\n");
- return 0;
-}
-
-/******************************************************************************/
-int
-XkbDDXTerminateServer(DeviceIntPtr dev, KeyCode key, XkbAction *act)
-{
- ErrorF("XkbDDXTerminateServer:\n");
- GiveUp(1);
- return 0;
-}
-
-/******************************************************************************/
-/* InitOutput is called every time the server resets. It should call
- AddScreen for each screen (but we only ever have one), and in turn this
- will call rdpScreenInit. */
-void
-InitOutput(ScreenInfo *screenInfo, int argc, char **argv)
-{
- int i;
-
- ErrorF("InitOutput:\n");
- g_initOutputCalled = 1;
- /* initialize pixmap formats */
- screenInfo->imageByteOrder = IMAGE_BYTE_ORDER;
- screenInfo->bitmapScanlineUnit = BITMAP_SCANLINE_UNIT;
- screenInfo->bitmapScanlinePad = BITMAP_SCANLINE_PAD;
- screenInfo->bitmapBitOrder = BITMAP_BIT_ORDER;
- screenInfo->numPixmapFormats = g_numFormats;
-
- for (i = 0; i < g_numFormats; i++)
- {
- screenInfo->formats[i] = g_formats[i];
- }
-
- if (!AddCallback(&ClientStateCallback, rdpClientStateChange, NULL))
- {
- rdpLog("InitOutput: AddCallback failed\n");
- return;
- }
-
- /* initialize screen */
- if (AddScreen(rdpScreenInit, argc, argv) == -1)
- {
- FatalError("Couldn't add screen\n");
- }
-
- ErrorF("InitOutput: out\n");
-}
-
-/******************************************************************************/
-void
-InitInput(int argc, char **argv)
-{
- int rc;
-
- ErrorF("InitInput:\n");
- rc = AllocDevicePair(serverClient, "X11rdp", &g_pointer, &g_keyboard,
- rdpMouseProc, rdpKeybdProc, 0);
-
- if (rc != Success)
- {
- FatalError("Failed to init X11rdp default devices.\n");
- }
-
- mieqInit();
-
-}
-
-/******************************************************************************/
-void
-ddxGiveUp(void)
-{
- char unixSocketName[128];
-
- ErrorF("ddxGiveUp:\n");
- g_free(g_rdpScreen.pfbMemory);
-
- if (g_initOutputCalled)
- {
- sprintf(unixSocketName, "/tmp/.X11-unix/X%s", display);
- unlink(unixSocketName);
- sprintf(unixSocketName, "%s/xrdp_disconnect_display_%s",
- g_socket_dir(), display);
- unlink(unixSocketName);
-
- if (g_uds_data[0] != 0)
- {
- unlink(g_uds_data);
- }
- }
-}
-
-/******************************************************************************/
-Bool
-LegalModifier(unsigned int key, DeviceIntPtr pDev)
-{
- return 1; /* true */
-}
-
-/******************************************************************************/
-void
-ProcessInputEvents(void)
-{
- mieqProcessInputEvents();
-}
-
-/******************************************************************************/
-/* needed for some reason? todo
- needs to be rfb */
-void
-rfbRootPropertyChange(PropertyPtr pProp)
-{
-}
-
-/******************************************************************************/
-void
-AbortDDX(void)
-{
- ddxGiveUp();
-}
-
-/******************************************************************************/
-void
-OsVendorFatalError(void)
-{
-}
-
-/******************************************************************************/
-/* print the command list parameters and exit the program */
-void
-ddxUseMsg(void)
-{
- ErrorF("\n");
- ErrorF("X11rdp specific options\n");
- ErrorF("-geometry WxH set framebuffer width & height\n");
- ErrorF("-depth D set framebuffer depth\n");
- ErrorF("-uds create and listen on xrdp_display_x\n");
- ErrorF("\n");
- exit(1);
-}
-
-/******************************************************************************/
-void
-OsVendorPreInit(void)
-{
-}
-
-/******************************************************************************/
-void
-CloseInput(void)
-{
- ErrorF("CloseInput\n");
-}
-
-/******************************************************************************/
-void
-DDXRingBell(int volume, int pitch, int duration)
-{
- ErrorF("DDXRingBell\n");
-}
-
-/******************************************************************************/
-void
-DeleteInputDeviceRequest(DeviceIntPtr dev)
-{
- ErrorF("DeleteInputDeviceRequest\n");
-}
diff --git a/xorg/X11R7.6/rdp/rdpmisc.c b/xorg/X11R7.6/rdp/rdpmisc.c
deleted file mode 100644
index 4e0eca3c..00000000
--- a/xorg/X11R7.6/rdp/rdpmisc.c
+++ /dev/null
@@ -1,696 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-the rest
-
-*/
-
-#include "rdp.h"
-
-#include
-
-Bool noFontCacheExtension = 1;
-
-static int g_crc_seed = 0xffffffff;
-static int g_crc_table[256] =
-{
- 0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f,
- 0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988,
- 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91, 0x1db71064, 0x6ab020f2,
- 0xf3b97148, 0x84be41de, 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7,
- 0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9,
- 0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172,
- 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b, 0x35b5a8fa, 0x42b2986c,
- 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59,
- 0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423,
- 0xcfba9599, 0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924,
- 0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190, 0x01db7106,
- 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433,
- 0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d,
- 0x91646c97, 0xe6635c01, 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e,
- 0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950,
- 0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65,
- 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, 0x4adfa541, 0x3dd895d7,
- 0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0,
- 0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa,
- 0xbe0b1010, 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f,
- 0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, 0x2eb40d81,
- 0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a,
- 0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683, 0xe3630b12, 0x94643b84,
- 0x0d6d6a3e, 0x7a6a5aa8, 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1,
- 0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb,
- 0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc,
- 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5, 0xd6d6a3e8, 0xa1d1937e,
- 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b,
- 0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55,
- 0x316e8eef, 0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236,
- 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe, 0xb2bd0b28,
- 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d,
- 0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a, 0x9c0906a9, 0xeb0e363f,
- 0x72076785, 0x05005713, 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38,
- 0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242,
- 0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777,
- 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, 0x8f659eff, 0xf862ae69,
- 0x616bffd3, 0x166ccf45, 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2,
- 0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc,
- 0x40df0b66, 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9,
- 0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605, 0xcdd70693,
- 0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94,
- 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d
-};
-
-#define CRC_START(in_crc) (in_crc) = g_crc_seed
-#define CRC_PASS(in_pixel, in_crc) \
- (in_crc) = g_crc_table[((in_crc) ^ (in_pixel)) & 0xff] ^ ((in_crc) >> 8)
-#define CRC_END(in_crc) (in_crc) = ((in_crc) ^ g_crc_seed)
-
-/******************************************************************************/
-/* print a time-stamped message to the log file (stderr). */
-void
-rdpLog(char *format, ...)
-{
- va_list args;
- char buf[256];
- time_t clock;
-
- va_start(args, format);
- time(&clock);
- strftime(buf, 255, "%d/%m/%y %T ", localtime(&clock));
- fprintf(stderr, "%s", buf);
- vfprintf(stderr, format, args);
- fflush(stderr);
- va_end(args);
-}
-
-/******************************************************************************/
-int
-rdpBitsPerPixel(int depth)
-{
- if (depth == 1)
- {
- return 1;
- }
- else if (depth <= 8)
- {
- return 8;
- }
- else if (depth <= 16)
- {
- return 16;
- }
- else
- {
- return 32;
- }
-}
-
-/******************************************************************************/
-void
-rdpClientStateChange(CallbackListPtr *cbl, pointer myData, pointer clt)
-{
- dispatchException &= ~DE_RESET; /* hack - force server not to reset */
-}
-
-/******************************************************************************/
-int
-DPMSSupported(void)
-{
- return 0;
-}
-
-/******************************************************************************/
-int
-DPSMGet(int *level)
-{
- return -1;
-}
-
-/******************************************************************************/
-void
-DPMSSet(int level)
-{
-}
-
-/******************************************************************************/
-void
-AddOtherInputDevices(void)
-{
-}
-
-/******************************************************************************/
-void
-OpenInputDevice(DeviceIntPtr dev, ClientPtr client, int *status)
-{
-}
-
-/******************************************************************************/
-int
-SetDeviceValuators(register ClientPtr client, DeviceIntPtr dev,
- int *valuators, int first_valuator, int num_valuators)
-{
- return BadMatch;
-}
-
-/******************************************************************************/
-int
-SetDeviceMode(register ClientPtr client, DeviceIntPtr dev, int mode)
-{
- return BadMatch;
-}
-
-/******************************************************************************/
-int
-ChangeKeyboardDevice(DeviceIntPtr old_dev, DeviceIntPtr new_dev)
-{
- return BadMatch;
-}
-
-/******************************************************************************/
-int
-ChangeDeviceControl(register ClientPtr client, DeviceIntPtr dev,
- void *control)
-{
- return BadMatch;
-}
-
-/******************************************************************************/
-int
-ChangePointerDevice(DeviceIntPtr old_dev, DeviceIntPtr new_dev,
- unsigned char x, unsigned char y)
-{
- return BadMatch;
-}
-
-/******************************************************************************/
-void
-CloseInputDevice(DeviceIntPtr d, ClientPtr client)
-{
-}
-
-/* the g_ functions from os_calls.c */
-
-/*****************************************************************************/
-int
-g_tcp_recv(int sck, void *ptr, int len, int flags)
-{
- return recv(sck, ptr, len, flags);
-}
-
-/*****************************************************************************/
-void
-g_tcp_close(int sck)
-{
- if (sck == 0)
- {
- return;
- }
-
- shutdown(sck, 2);
- close(sck);
-}
-
-/*****************************************************************************/
-int
-g_tcp_last_error_would_block(int sck)
-{
- return (errno == EWOULDBLOCK) || (errno == EINPROGRESS);
-}
-
-/*****************************************************************************/
-void
-g_sleep(int msecs)
-{
- usleep(msecs * 1000);
-}
-
-/*****************************************************************************/
-int
-g_tcp_send(int sck, void *ptr, int len, int flags)
-{
- return send(sck, ptr, len, flags);
-}
-
-/*****************************************************************************/
-void *
-g_malloc(int size, int zero)
-{
- char *rv;
-
- //#ifdef _XSERVER64
-#if 1
- /* I thought xalloc would work here but I guess not, why, todo */
- rv = (char *)malloc(size);
-#else
- rv = (char *)Xalloc(size);
-#endif
-
- if (zero)
- {
- if (rv != 0)
- {
- memset(rv, 0, size);
- }
- }
-
- return rv;
-}
-
-/*****************************************************************************/
-void
-g_free(void *ptr)
-{
- if (ptr != 0)
- {
- //#ifdef _XSERVER64
-#if 1
- /* I thought xfree would work here but I guess not, why, todo */
- free(ptr);
-#else
- Xfree(ptr);
-#endif
- }
-}
-
-/*****************************************************************************/
-void
-g_sprintf(char *dest, char *format, ...)
-{
- va_list ap;
-
- va_start(ap, format);
- vsprintf(dest, format, ap);
- va_end(ap);
-}
-
-/*****************************************************************************/
-int
-g_tcp_socket(void)
-{
- int rv;
- int i;
-
- i = 1;
- rv = socket(PF_INET, SOCK_STREAM, 0);
- setsockopt(rv, IPPROTO_TCP, TCP_NODELAY, (void *)&i, sizeof(i));
- setsockopt(rv, SOL_SOCKET, SO_REUSEADDR, (void *)&i, sizeof(i));
- return rv;
-}
-
-/*****************************************************************************/
-int
-g_tcp_local_socket_dgram(void)
-{
- return socket(AF_UNIX, SOCK_DGRAM, 0);
-}
-
-/*****************************************************************************/
-int
-g_tcp_local_socket_stream(void)
-{
- return socket(AF_UNIX, SOCK_STREAM, 0);
-}
-
-/*****************************************************************************/
-void
-g_memcpy(void *d_ptr, const void *s_ptr, int size)
-{
- memcpy(d_ptr, s_ptr, size);
-}
-
-/*****************************************************************************/
-int
-g_tcp_set_no_delay(int sck)
-{
- int i;
-
- i = 1;
- setsockopt(sck, IPPROTO_TCP, TCP_NODELAY, (void *)&i, sizeof(i));
- return 0;
-}
-
-/*****************************************************************************/
-int
-g_tcp_set_non_blocking(int sck)
-{
- unsigned long i;
-
- i = fcntl(sck, F_GETFL);
- i = i | O_NONBLOCK;
- fcntl(sck, F_SETFL, i);
- return 0;
-}
-
-/*****************************************************************************/
-int
-g_tcp_accept(int sck)
-{
- struct sockaddr_in s;
- unsigned int i;
-
- i = sizeof(struct sockaddr_in);
- memset(&s, 0, i);
- return accept(sck, (struct sockaddr *)&s, &i);
-}
-
-/*****************************************************************************/
-int
-g_tcp_select(int sck1, int sck2, int sck3)
-{
- fd_set rfds;
- struct timeval time;
- int max;
- int rv;
-
- time.tv_sec = 0;
- time.tv_usec = 0;
- FD_ZERO(&rfds);
-
- if (sck1 > 0)
- {
- FD_SET(((unsigned int)sck1), &rfds);
- }
-
- if (sck2 > 0)
- {
- FD_SET(((unsigned int)sck2), &rfds);
- }
-
- if (sck3 > 0)
- {
- FD_SET(((unsigned int)sck3), &rfds);
- }
-
- max = sck1;
-
- if (sck2 > max)
- {
- max = sck2;
- }
-
- if (sck3 > max)
- {
- max = sck3;
- }
-
- rv = select(max + 1, &rfds, 0, 0, &time);
-
- if (rv > 0)
- {
- rv = 0;
-
- if (FD_ISSET(((unsigned int)sck1), &rfds))
- {
- rv = rv | 1;
- }
-
- if (FD_ISSET(((unsigned int)sck2), &rfds))
- {
- rv = rv | 2;
- }
-
- if (FD_ISSET(((unsigned int)sck3), &rfds))
- {
- rv = rv | 4;
- }
- }
- else
- {
- rv = 0;
- }
-
- return rv;
-}
-
-/*****************************************************************************/
-int
-g_tcp_bind(int sck, char *port)
-{
- struct sockaddr_in s;
-
- memset(&s, 0, sizeof(struct sockaddr_in));
- s.sin_family = AF_INET;
- s.sin_port = htons(atoi(port));
- s.sin_addr.s_addr = INADDR_ANY;
- return bind(sck, (struct sockaddr *)&s, sizeof(struct sockaddr_in));
-}
-
-/*****************************************************************************/
-int
-g_tcp_local_bind(int sck, char *port)
-{
- struct sockaddr_un s;
-
- memset(&s, 0, sizeof(struct sockaddr_un));
- s.sun_family = AF_UNIX;
- strcpy(s.sun_path, port);
- return bind(sck, (struct sockaddr *)&s, sizeof(struct sockaddr_un));
-}
-
-/*****************************************************************************/
-int
-g_tcp_listen(int sck)
-{
- return listen(sck, 2);
-}
-
-/*****************************************************************************/
-/* returns boolean */
-int
-g_create_dir(const char *dirname)
-{
- return mkdir(dirname, (mode_t) - 1) == 0;
-}
-
-/*****************************************************************************/
-/* returns boolean, non zero if the directory exists */
-int
-g_directory_exist(const char *dirname)
-{
- struct stat st;
-
- if (stat(dirname, &st) == 0)
- {
- return S_ISDIR(st.st_mode);
- }
- else
- {
- return 0;
- }
-}
-
-/*****************************************************************************/
-/* returns error */
-int
-g_chmod_hex(const char *filename, int flags)
-{
- int fl;
-
- fl = 0;
- fl |= (flags & 0x4000) ? S_ISUID : 0;
- fl |= (flags & 0x2000) ? S_ISGID : 0;
- fl |= (flags & 0x1000) ? S_ISVTX : 0;
- fl |= (flags & 0x0400) ? S_IRUSR : 0;
- fl |= (flags & 0x0200) ? S_IWUSR : 0;
- fl |= (flags & 0x0100) ? S_IXUSR : 0;
- fl |= (flags & 0x0040) ? S_IRGRP : 0;
- fl |= (flags & 0x0020) ? S_IWGRP : 0;
- fl |= (flags & 0x0010) ? S_IXGRP : 0;
- fl |= (flags & 0x0004) ? S_IROTH : 0;
- fl |= (flags & 0x0002) ? S_IWOTH : 0;
- fl |= (flags & 0x0001) ? S_IXOTH : 0;
- return chmod(filename, fl);
-}
-
-/*****************************************************************************/
-/* returns directory where UNIX sockets are located */
-const char *
-g_socket_dir(void)
-{
- const char *socket_dir;
-
- socket_dir = getenv("XRDP_SOCKET_PATH");
- if (socket_dir == NULL || socket_dir[0] == '\0')
- {
- socket_dir = "/tmp/.xrdp";
- }
-
- return socket_dir;
-}
-
-/* produce a hex dump */
-void
-hexdump(unsigned char *p, unsigned int len)
-{
- unsigned char *line;
- int i;
- int thisline;
- int offset;
-
- offset = 0;
- line = p;
-
- while (offset < len)
- {
- ErrorF("%04x ", offset);
- thisline = len - offset;
-
- if (thisline > 16)
- {
- thisline = 16;
- }
-
- for (i = 0; i < thisline; i++)
- {
- ErrorF("%02x ", line[i]);
- }
-
- for (; i < 16; i++)
- {
- ErrorF(" ");
- }
-
- for (i = 0; i < thisline; i++)
- {
- ErrorF("%c", (line[i] >= 0x20 && line[i] < 0x7f) ? line[i] : '.');
- }
-
- ErrorF("\n");
- offset += thisline;
- line += thisline;
- }
-}
-
-/*
- stub for XpClient* functions.
-*/
-
-/*****************************************************************************/
-Bool
-XpClientIsBitmapClient(ClientPtr client)
-{
- return 1;
-}
-
-/*****************************************************************************/
-Bool
-XpClientIsPrintClient(ClientPtr client, FontPathElementPtr fpe)
-{
- return 0;
-}
-
-/*****************************************************************************/
-int
-PrinterOptions(int argc, char **argv, int i)
-{
- return i;
-}
-
-/*****************************************************************************/
-void
-PrinterInitOutput(ScreenInfo *pScreenInfo, int argc, char **argv)
-{
-}
-
-/*****************************************************************************/
-void
-PrinterUseMsg(void)
-{
-}
-
-/*****************************************************************************/
-void
-PrinterInitGlobals(void)
-{
-}
-
-/*****************************************************************************/
-void
-FontCacheExtensionInit(INITARGS)
-{
-}
-
-/******************************************************************************/
-void
-RegionAroundSegs(RegionPtr reg, xSegment *segs, int nseg)
-{
- int index;
- BoxRec box;
- RegionRec treg;
-
- index = 0;
-
- while (index < nseg)
- {
- if (segs[index].x1 < segs[index].x2)
- {
- box.x1 = segs[index].x1;
- box.x2 = segs[index].x2;
- }
- else
- {
- box.x1 = segs[index].x2;
- box.x2 = segs[index].x1;
- }
-
- box.x2++;
-
- if (segs[index].y1 < segs[index].y2)
- {
- box.y1 = segs[index].y1;
- box.y2 = segs[index].y2;
- }
- else
- {
- box.y1 = segs[index].y2;
- box.y2 = segs[index].y1;
- }
-
- box.y2++;
- RegionInit(&treg, &box, 0);
- RegionUnion(reg, reg, &treg);
- RegionUninit(&treg);
- index++;
- }
-}
-
-/******************************************************************************/
-int
-get_crc(char* data, int data_bytes)
-{
- int crc;
- int index;
-
- CRC_START(crc);
- for (index = 0; index < data_bytes; index++)
- {
- CRC_PASS(data[index], crc);
- }
- CRC_END(crc);
- return crc;
-}
-
-/*****************************************************************************/
-int
-get_mstime(void)
-{
- struct timeval tp;
-
- gettimeofday(&tp, 0);
- return (tp.tv_sec * 1000) + (tp.tv_usec / 1000);
-}
diff --git a/xorg/X11R7.6/rdp/rdprandr.c b/xorg/X11R7.6/rdp/rdprandr.c
deleted file mode 100644
index 664a2244..00000000
--- a/xorg/X11R7.6/rdp/rdprandr.c
+++ /dev/null
@@ -1,456 +0,0 @@
-/*
-Copyright 2011-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-RandR extension implementation
-
-*/
-
-#include "rdp.h"
-#include "rdprandr.h"
-
-#if 1
-#define DEBUG_OUT(arg)
-#else
-#define DEBUG_OUT(arg) ErrorF arg
-#endif
-
-extern rdpScreenInfoRec g_rdpScreen; /* from rdpmain.c */
-extern DeviceIntPtr g_pointer; /* in rdpmain.c */
-extern DeviceIntPtr g_keyboard; /* in rdpmain.c */
-extern ScreenPtr g_pScreen; /* in rdpmain.c */
-extern WindowPtr g_invalidate_window; /* in rdpmain.c */
-
-static XID g_wid = 0;
-
-static int g_panning = 0;
-
-#define LOG_LEVEL 1
-#define LLOG(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; } } while (0)
-#define LLOGLN(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; ErrorF("\n"); } } while (0)
-
-/******************************************************************************/
-Bool
-rdpRRRegisterSize(ScreenPtr pScreen, int width, int height)
-{
- int mmwidth;
- int mmheight;
- RRScreenSizePtr pSize;
-
- ErrorF("rdpRRRegisterSize: width %d height %d\n", width, height);
- mmwidth = PixelToMM(width);
- mmheight = PixelToMM(height);
- pSize = RRRegisterSize(pScreen, width, height, mmwidth, mmheight);
- /* Tell RandR what the current config is */
- RRSetCurrentConfig(pScreen, RR_Rotate_0, 0, pSize);
- return TRUE;
-}
-
-/******************************************************************************/
-Bool
-rdpRRSetConfig(ScreenPtr pScreen, Rotation rotateKind, int rate,
- RRScreenSizePtr pSize)
-{
- ErrorF("rdpRRSetConfig:\n");
- return TRUE;
-}
-
-/******************************************************************************/
-Bool
-rdpRRGetInfo(ScreenPtr pScreen, Rotation *pRotations)
-{
- ErrorF("rdpRRGetInfo:\n");
- *pRotations = RR_Rotate_0;
- return TRUE;
-}
-
-/******************************************************************************/
-/* for lack of a better way, a window is created that covers the area and
- when its deleted, it's invalidated */
-static int
-rdpInvalidateArea(ScreenPtr pScreen, int x, int y, int cx, int cy)
-{
- WindowPtr pWin;
- int result;
- int attri;
- XID attributes[4];
- Mask mask;
-
- DEBUG_OUT(("rdpInvalidateArea:\n"));
- mask = 0;
- attri = 0;
- attributes[attri++] = pScreen->blackPixel;
- mask |= CWBackPixel;
- attributes[attri++] = xTrue;
- mask |= CWOverrideRedirect;
-
- if (g_wid == 0)
- {
- g_wid = FakeClientID(0);
- }
-
- pWin = CreateWindow(g_wid, pScreen->root,
- x, y, cx, cy, 0, InputOutput, mask,
- attributes, 0, serverClient,
- wVisual(pScreen->root), &result);
-
- if (result == 0)
- {
- g_invalidate_window = pWin;
- MapWindow(pWin, serverClient);
- DeleteWindow(pWin, None);
- g_invalidate_window = pWin;
- }
-
- return 0;
-}
-
-/******************************************************************************/
-Bool
-rdpRRScreenSetSize(ScreenPtr pScreen, CARD16 width, CARD16 height,
- CARD32 mmWidth, CARD32 mmHeight)
-{
- PixmapPtr screenPixmap;
- BoxRec box;
-
- ErrorF("rdpRRScreenSetSize: width %d height %d mmWidth %d mmHeight %d\n",
- width, height, (int)mmWidth, (int)mmHeight);
-
- if ((width < 1) || (height < 1))
- {
- ErrorF(" error width %d height %d\n", width, height);
- return FALSE;
- }
-
- g_rdpScreen.width = width;
- g_rdpScreen.height = height;
- g_rdpScreen.paddedWidthInBytes =
- PixmapBytePad(g_rdpScreen.width, g_rdpScreen.depth);
- g_rdpScreen.sizeInBytes =
- g_rdpScreen.paddedWidthInBytes * g_rdpScreen.height;
- pScreen->width = width;
- pScreen->height = height;
- pScreen->mmWidth = mmWidth;
- pScreen->mmHeight = mmHeight;
-
- screenPixmap = pScreen->GetScreenPixmap(pScreen);
-
- if (screenPixmap != 0)
- {
- ErrorF(" resizing screenPixmap [%p] to %dx%d, currently at %dx%d\n",
- (void *)screenPixmap, width, height,
- screenPixmap->drawable.width, screenPixmap->drawable.height);
- if (g_rdpScreen.sizeInBytes > g_rdpScreen.sizeInBytesAlloc)
- {
- g_free(g_rdpScreen.pfbMemory);
- g_rdpScreen.pfbMemory = (char*)g_malloc(g_rdpScreen.sizeInBytes, 1);
- g_rdpScreen.sizeInBytesAlloc = g_rdpScreen.sizeInBytes;
- ErrorF("new buffer size %d\n", g_rdpScreen.sizeInBytes);
- }
- pScreen->ModifyPixmapHeader(screenPixmap, width, height,
- g_rdpScreen.depth, g_rdpScreen.bitsPerPixel,
- g_rdpScreen.paddedWidthInBytes,
- g_rdpScreen.pfbMemory);
- ErrorF(" pixmap resized to %dx%d\n",
- screenPixmap->drawable.width, screenPixmap->drawable.height);
- }
-
- DEBUG_OUT((" root window %p\n", (void *)pScreen->root));
- box.x1 = 0;
- box.y1 = 0;
- box.x2 = width;
- box.y2 = height;
- RegionInit(&pScreen->root->winSize, &box, 1);
- RegionInit(&pScreen->root->borderSize, &box, 1);
- RegionReset(&pScreen->root->borderClip, &box);
- RegionBreak(&pScreen->root->clipList);
- pScreen->root->drawable.width = width;
- pScreen->root->drawable.height = height;
- ResizeChildrenWinSize(pScreen->root, 0, 0, 0, 0);
- RRGetInfo(pScreen, 1);
- RRScreenSizeNotify(pScreen);
- rdpInvalidateArea(g_pScreen, 0, 0, g_rdpScreen.width, g_rdpScreen.height);
- ErrorF(" screen resized to %dx%d\n",
- pScreen->width, pScreen->height);
- return TRUE;
-}
-
-/******************************************************************************/
-Bool
-rdpRRCrtcSet(ScreenPtr pScreen, RRCrtcPtr crtc, RRModePtr mode,
- int x, int y, Rotation rotation, int numOutputs,
- RROutputPtr *outputs)
-{
- ErrorF("rdpRRCrtcSet:\n");
- return TRUE;
-}
-
-/******************************************************************************/
-Bool
-rdpRRCrtcSetGamma(ScreenPtr pScreen, RRCrtcPtr crtc)
-{
- ErrorF("rdpRRCrtcSetGamma:\n");
- return TRUE;
-}
-
-/******************************************************************************/
-Bool
-rdpRRCrtcGetGamma(ScreenPtr pScreen, RRCrtcPtr crtc)
-{
- ErrorF("rdpRRCrtcGetGamma:\n");
- crtc->gammaSize = 1;
- if (crtc->gammaRed == NULL)
- {
- crtc->gammaRed = g_malloc(32, 1);
- }
- if (crtc->gammaBlue == NULL)
- {
- crtc->gammaBlue = g_malloc(32, 1);
- }
- if (crtc->gammaGreen == NULL)
- {
- crtc->gammaGreen = g_malloc(32, 1);
- }
- return TRUE;
-}
-
-/******************************************************************************/
-Bool
-rdpRROutputSetProperty(ScreenPtr pScreen, RROutputPtr output, Atom property,
- RRPropertyValuePtr value)
-{
- ErrorF("rdpRROutputSetProperty:\n");
- return TRUE;
-}
-
-/******************************************************************************/
-Bool
-rdpRROutputValidateMode(ScreenPtr pScreen, RROutputPtr output,
- RRModePtr mode)
-{
- ErrorF("rdpRROutputValidateMode:\n");
- return TRUE;
-}
-
-/******************************************************************************/
-void
-rdpRRModeDestroy(ScreenPtr pScreen, RRModePtr mode)
-{
- ErrorF("rdpRRModeDestroy:\n");
-}
-
-/******************************************************************************/
-Bool
-rdpRROutputGetProperty(ScreenPtr pScreen, RROutputPtr output, Atom property)
-{
- ErrorF("rdpRROutputGetProperty:\n");
- return TRUE;
-}
-
-/******************************************************************************/
-Bool
-rdpRRGetPanning(ScreenPtr pScrn, RRCrtcPtr crtc, BoxPtr totalArea,
- BoxPtr trackingArea, INT16 *border)
-{
- ErrorF("rdpRRGetPanning:\n");
-
- if (!g_panning)
- {
- return FALSE;
- }
-
- if (totalArea != 0)
- {
- totalArea->x1 = 0;
- totalArea->y1 = 0;
- totalArea->x2 = g_rdpScreen.width;
- totalArea->y2 = g_rdpScreen.height;
- }
-
- if (trackingArea != 0)
- {
- trackingArea->x1 = 0;
- trackingArea->y1 = 0;
- trackingArea->x2 = g_rdpScreen.width;
- trackingArea->y2 = g_rdpScreen.height;
- }
-
- if (border != 0)
- {
- border[0] = 0;
- border[1] = 0;
- border[2] = 0;
- border[3] = 0;
- }
-
- return TRUE;
-}
-
-/******************************************************************************/
-Bool
-rdpRRSetPanning(ScreenPtr pScrn, RRCrtcPtr crtc, BoxPtr totalArea,
- BoxPtr trackingArea, INT16 *border)
-{
- ErrorF("rdpRRSetPanning:\n");
- return TRUE;
-}
-
-/******************************************************************************/
-static RROutputPtr
-rdpRRAddOutput(const char *aname, int x, int y, int width, int height)
-{
- RRModePtr mode;
- RRCrtcPtr crtc;
- RROutputPtr output;
- xRRModeInfo modeInfo;
- char name[64];
- const int vfreq = 50;
-
- sprintf (name, "%dx%d", width, height);
- memset (&modeInfo, 0, sizeof(modeInfo));
- modeInfo.width = width;
- modeInfo.height = height;
- modeInfo.hTotal = width;
- modeInfo.vTotal = height;
- modeInfo.dotClock = vfreq * width * height;
- modeInfo.nameLength = strlen(name);
- mode = RRModeGet(&modeInfo, name);
- if (mode == 0)
- {
- LLOGLN(0, ("rdpRRAddOutput: RRModeGet failed"));
- return 0;
- }
-
- crtc = RRCrtcCreate(g_pScreen, NULL);
- if (crtc == 0)
- {
- LLOGLN(0, ("rdpRRAddOutput: RRCrtcCreate failed"));
- RRModeDestroy(mode);
- return 0;
- }
- output = RROutputCreate(g_pScreen, aname, strlen(aname), NULL);
- if (output == 0)
- {
- LLOGLN(0, ("rdpRRAddOutput: RROutputCreate failed"));
- RRCrtcDestroy(crtc);
- RRModeDestroy(mode);
- return 0;
- }
- if (!RROutputSetClones(output, NULL, 0))
- {
- LLOGLN(0, ("rdpRRAddOutput: RROutputSetClones failed"));
- }
- if (!RROutputSetModes(output, &mode, 1, 0))
- {
- LLOGLN(0, ("rdpRRAddOutput: RROutputSetModes failed"));
- }
- if (!RROutputSetCrtcs(output, &crtc, 1))
- {
- LLOGLN(0, ("rdpRRAddOutput: RROutputSetCrtcs failed"));
- }
- if (!RROutputSetConnection(output, RR_Connected))
- {
- LLOGLN(0, ("rdpRRAddOutput: RROutputSetConnection failed"));
- }
- RRCrtcNotify(crtc, mode, x, y, RR_Rotate_0, NULL, 1, &output);
-
- return output;
-}
-
-/******************************************************************************/
-static void
-RRSetPrimaryOutput(rrScrPrivPtr pScrPriv, RROutputPtr output)
-{
- if (pScrPriv->primaryOutput == output)
- {
- return;
- }
- /* clear the old primary */
- if (pScrPriv->primaryOutput)
- {
- RROutputChanged(pScrPriv->primaryOutput, 0);
- pScrPriv->primaryOutput = NULL;
- }
- /* set the new primary */
- if (output)
- {
- pScrPriv->primaryOutput = output;
- RROutputChanged(output, 0);
- }
- pScrPriv->layoutChanged = TRUE;
-}
-
-/******************************************************************************/
-int
-rdpRRSetRdpOutputs(void)
-{
- rrScrPrivPtr pRRScrPriv;
- int index;
- int width;
- int height;
- char text[256];
- RROutputPtr output;
-
- pRRScrPriv = rrGetScrPriv(g_pScreen);
-
- LLOGLN(0, ("rdpRRSetRdpOutputs: numCrtcs %d", pRRScrPriv->numCrtcs));
- while (pRRScrPriv->numCrtcs > 0)
- {
- RRCrtcDestroy(pRRScrPriv->crtcs[0]);
- }
- LLOGLN(0, ("rdpRRSetRdpOutputs: numOutputs %d", pRRScrPriv->numOutputs));
- while (pRRScrPriv->numOutputs > 0)
- {
- RROutputDestroy(pRRScrPriv->outputs[0]);
- }
-
- if (g_rdpScreen.client_info.monitorCount == 0)
- {
- rdpRRAddOutput("rdp0", 0, 0, g_rdpScreen.width, g_rdpScreen.height);
- }
- else
- {
- for (index = 0; index < g_rdpScreen.client_info.monitorCount; index++)
- {
- snprintf(text, 255, "rdp%d", index);
- width = g_rdpScreen.client_info.minfo[index].right - g_rdpScreen.client_info.minfo[index].left + 1;
- height = g_rdpScreen.client_info.minfo[index].bottom - g_rdpScreen.client_info.minfo[index].top + 1;
- output = rdpRRAddOutput(text,
- g_rdpScreen.client_info.minfo[index].left,
- g_rdpScreen.client_info.minfo[index].top,
- width, height);
- if ((output != 0) && (g_rdpScreen.client_info.minfo[index].is_primary))
- {
- RRSetPrimaryOutput(pRRScrPriv, output);
- }
- }
- }
-
-#if 0
- for (index = 0; index < pRRScrPriv->numOutputs; index++)
- {
- RROutputSetCrtcs(pRRScrPriv->outputs[index], pRRScrPriv->crtcs,
- pRRScrPriv->numCrtcs);
- }
-#endif
-
- return 0;
-}
-
diff --git a/xorg/X11R7.6/rdp/rdprandr.h b/xorg/X11R7.6/rdp/rdprandr.h
deleted file mode 100644
index 1860fa96..00000000
--- a/xorg/X11R7.6/rdp/rdprandr.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
-Copyright 2011-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#ifndef _RDPRANDR_H
-#define _RDPRANDR_H
-
-Bool
-rdpRRRegisterSize(ScreenPtr pScreen, int width, int height);
-Bool
-rdpRRGetInfo(ScreenPtr pScreen, Rotation* pRotations);
-Bool
-rdpRRSetConfig(ScreenPtr pScreen, Rotation rotateKind, int rate,
- RRScreenSizePtr pSize);
-Bool
-rdpRRScreenSetSize(ScreenPtr pScreen, CARD16 width, CARD16 height,
- CARD32 mmWidth, CARD32 mmHeight);
-Bool
-rdpRRCrtcSet(ScreenPtr pScreen, RRCrtcPtr crtc, RRModePtr mode,
- int x, int y, Rotation rotation, int numOutputs,
- RROutputPtr* outputs);
-Bool
-rdpRRCrtcSetGamma(ScreenPtr pScreen, RRCrtcPtr crtc);
-Bool
-rdpRRCrtcGetGamma(ScreenPtr pScreen, RRCrtcPtr crtc);
-Bool
-rdpRROutputSetProperty(ScreenPtr pScreen, RROutputPtr output, Atom property,
- RRPropertyValuePtr value);
-Bool
-rdpRROutputValidateMode(ScreenPtr pScreen, RROutputPtr output,
- RRModePtr mode);
-void
-rdpRRModeDestroy(ScreenPtr pScreen, RRModePtr mode);
-Bool
-rdpRROutputGetProperty(ScreenPtr pScreen, RROutputPtr output, Atom property);
-Bool
-rdpRRGetPanning(ScreenPtr pScrn, RRCrtcPtr crtc, BoxPtr totalArea,
- BoxPtr trackingArea, INT16* border);
-Bool
-rdpRRSetPanning(ScreenPtr pScrn, RRCrtcPtr crtc, BoxPtr totalArea,
- BoxPtr trackingArea, INT16* border);
-
-int
-rdpRRSetRdpOutputs(void);
-
-#endif
diff --git a/xorg/X11R7.6/rdp/rdpup.c b/xorg/X11R7.6/rdp/rdpup.c
deleted file mode 100644
index 34b8cf45..00000000
--- a/xorg/X11R7.6/rdp/rdpup.c
+++ /dev/null
@@ -1,2990 +0,0 @@
-/*
-Copyright 2005-2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#include "rdp.h"
-#include "xrdp_rail.h"
-#include "rdpglyph.h"
-#include "rdprandr.h"
-
-#include
-#include
-#include
-#include
-
-#define LOG_LEVEL 1
-#define LLOG(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; } } while (0)
-#define LLOGLN(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; ErrorF("\n"); } } while (0)
-
-static int g_use_shmem = 1; /* turns on or off */
-static int g_shmemid = -1;
-static char *g_shmemptr = 0;
-static int g_shmem_lineBytes = 0;
-static RegionPtr g_shm_reg = 0;
-
-static int g_rect_id_ack = 0;
-static int g_rect_id = 0;
-
-static int g_listen_sck = 0;
-static int g_sck = 0;
-static int g_sck_closed = 0;
-static int g_connected = 0;
-static int g_dis_listen_sck = 0;
-//static int g_dis_sck = 0;
-//static int g_dis_sck_closed = 0;
-//static int g_dis_connected = 0;
-
-static int g_begin = 0;
-static struct stream *g_out_s = 0;
-static struct stream *g_in_s = 0;
-static int g_button_mask = 0;
-static int g_cursor_x = 0;
-static int g_cursor_y = 0;
-static OsTimerPtr g_timer = 0;
-static int g_scheduled = 0;
-static int g_count = 0;
-static int g_rdpindex = -1;
-
-extern DevPrivateKeyRec g_rdpWindowIndex; /* from rdpmain.c */
-extern ScreenPtr g_pScreen; /* from rdpmain.c */
-extern int g_Bpp; /* from rdpmain.c */
-extern int g_Bpp_mask; /* from rdpmain.c */
-extern rdpScreenInfoRec g_rdpScreen; /* from rdpmain.c */
-extern int g_do_glyph_cache; /* from rdpmain.c */
-extern int g_can_do_pix_to_pix; /* from rdpmain.c */
-extern int g_use_rail; /* from rdpmain.c */
-extern int g_do_composite; /* from rdpmain.c */
-
-/* true is to use unix domain socket */
-extern int g_use_uds; /* in rdpmain.c */
-extern char g_uds_data[]; /* in rdpmain.c */
-extern int g_do_dirty_ons; /* in rdpmain.c */
-extern rdpPixmapRec g_screenPriv; /* in rdpmain.c */
-extern int g_con_number; /* in rdpmain.c */
-
-struct rdpup_os_bitmap
-{
- int used;
- PixmapPtr pixmap;
- rdpPixmapPtr priv;
- int stamp;
-};
-
-#define USE_MAX_OS_BYTES 1
-#define MAX_OS_BYTES (16 * 1024 * 1024)
-static struct rdpup_os_bitmap *g_os_bitmaps = 0;
-static int g_max_os_bitmaps = 0;
-static int g_os_bitmap_stamp = 0;
-static int g_os_bitmap_alloc_size = 0;
-
-static int g_pixmap_byte_total = 0;
-static int g_pixmap_num_used = 0;
-
-struct rdpup_top_window
-{
- WindowPtr wnd;
- struct rdpup_top_window *next;
-};
-
-/*
-0 GXclear, 0
-1 GXnor, DPon
-2 GXandInverted, DPna
-3 GXcopyInverted, Pn
-4 GXandReverse, PDna
-5 GXinvert, Dn
-6 GXxor, DPx
-7 GXnand, DPan
-8 GXand, DPa
-9 GXequiv, DPxn
-a GXnoop, D
-b GXorInverted, DPno
-c GXcopy, P
-d GXorReverse, PDno
-e GXor, DPo
-f GXset 1
-*/
-
-static int g_rdp_opcodes[16] =
-{
- 0x00, /* GXclear 0x0 0 */
- 0x88, /* GXand 0x1 src AND dst */
- 0x44, /* GXandReverse 0x2 src AND NOT dst */
- 0xcc, /* GXcopy 0x3 src */
- 0x22, /* GXandInverted 0x4 NOT src AND dst */
- 0xaa, /* GXnoop 0x5 dst */
- 0x66, /* GXxor 0x6 src XOR dst */
- 0xee, /* GXor 0x7 src OR dst */
- 0x11, /* GXnor 0x8 NOT src AND NOT dst */
- 0x99, /* GXequiv 0x9 NOT src XOR dst */
- 0x55, /* GXinvert 0xa NOT dst */
- 0xdd, /* GXorReverse 0xb src OR NOT dst */
- 0x33, /* GXcopyInverted 0xc NOT src */
- 0xbb, /* GXorInverted 0xd NOT src OR dst */
- 0x77, /* GXnand 0xe NOT src OR NOT dst */
- 0xff /* GXset 0xf 1 */
-};
-
-static int g_do_kill_disconnected = 0; /* turn on or off */
-static OsTimerPtr g_dis_timer = 0;
-static int g_disconnect_scheduled = 0;
-static CARD32 g_disconnect_timeout_s = 60; /* 60 seconds */
-static CARD32 g_disconnect_time_ms = 0; /* time of disconnect in milliseconds */
-
-static int g_do_multimon = 0; /* multimon - turn on or off */
-
-/******************************************************************************/
-static CARD32
-rdpDeferredDisconnectCallback(OsTimerPtr timer, CARD32 now, pointer arg)
-{
- CARD32 lnow_ms;
-
- LLOGLN(10, ("rdpDeferredDisconnectCallback"));
- if (g_connected)
- {
- /* this should not happen */
- LLOGLN(0, ("rdpDeferredDisconnectCallback: connected"));
- if (g_dis_timer != 0)
- {
- LLOGLN(0, ("rdpDeferredDisconnectCallback: canceling g_dis_timer"));
- TimerCancel(g_dis_timer);
- TimerFree(g_dis_timer);
- g_dis_timer = 0;
- }
- g_disconnect_scheduled = 0;
- return 0;
- }
- else
- {
- LLOGLN(10, ("rdpDeferredDisconnectCallback: not connected"));
- }
- lnow_ms = GetTimeInMillis();
- if (lnow_ms - g_disconnect_time_ms > g_disconnect_timeout_s * 1000)
- {
- LLOGLN(0, ("rdpDeferredDisconnectCallback: exit X11rdp"));
- kill(getpid(), SIGTERM);
- return 0;
- }
- g_dis_timer = TimerSet(g_dis_timer, 0, 1000 * 10,
- rdpDeferredDisconnectCallback, 0);
- return 0;
-}
-
-/*****************************************************************************/
-static int
-rdpup_disconnect(void)
-{
- int index;
-
- LLOGLN(0, ("rdpup_disconnect:"));
- if (g_do_kill_disconnected)
- {
- if (!g_disconnect_scheduled)
- {
- LLOGLN(0, ("rdpup_disconnect: starting g_dis_timer"));
- g_dis_timer = TimerSet(g_dis_timer, 0, 1000 * 10,
- rdpDeferredDisconnectCallback, 0);
- g_disconnect_scheduled = 1;
- }
- g_disconnect_time_ms = GetTimeInMillis();
- }
-
- RemoveEnabledDevice(g_sck);
- g_connected = 0;
- g_tcp_close(g_sck);
- g_sck = 0;
- g_sck_closed = 1;
- g_pixmap_byte_total = 0;
- g_pixmap_num_used = 0;
- g_rdpindex = -1;
-
- if (g_max_os_bitmaps > 0)
- {
- for (index = 0; index < g_max_os_bitmaps; index++)
- {
- if (g_os_bitmaps[index].used)
- {
- if (g_os_bitmaps[index].priv != 0)
- {
- g_os_bitmaps[index].priv->status = 0;
- }
- }
- }
- }
- g_os_bitmap_alloc_size = 0;
-
- g_max_os_bitmaps = 0;
- g_free(g_os_bitmaps);
- g_os_bitmaps = 0;
- g_use_rail = 0;
- g_do_glyph_cache = 0;
- g_do_composite = 0;
- return 0;
-}
-
-/*****************************************************************************/
-/* returns -1 on error */
-int
-rdpup_add_os_bitmap(PixmapPtr pixmap, rdpPixmapPtr priv)
-{
- int index;
- int rv;
- int oldest;
- int oldest_index;
- int this_bytes;
-
- LLOGLN(10, ("rdpup_add_os_bitmap:"));
- if (!g_connected)
- {
- LLOGLN(10, ("rdpup_add_os_bitmap: test error 1"));
- return -1;
- }
-
- if (g_os_bitmaps == 0)
- {
- LLOGLN(10, ("rdpup_add_os_bitmap: test error 2"));
- return -1;
- }
-
- this_bytes = pixmap->devKind * pixmap->drawable.height;
- if (this_bytes > MAX_OS_BYTES)
- {
- LLOGLN(10, ("rdpup_add_os_bitmap: error, too big this_bytes %d "
- "width %d height %d", this_bytes,
- pixmap->drawable.height, pixmap->drawable.height));
- return -1;
- }
-
- oldest = 0x7fffffff;
- oldest_index = -1;
- rv = -1;
- index = 0;
-
- while (index < g_max_os_bitmaps)
- {
- if (g_os_bitmaps[index].used == 0)
- {
- g_os_bitmaps[index].used = 1;
- g_os_bitmaps[index].pixmap = pixmap;
- g_os_bitmaps[index].priv = priv;
- g_os_bitmaps[index].stamp = g_os_bitmap_stamp;
- g_os_bitmap_stamp++;
- g_pixmap_num_used++;
- rv = index;
- break;
- }
- else
- {
- if (g_os_bitmaps[index].stamp < oldest)
- {
- oldest = g_os_bitmaps[index].stamp;
- oldest_index = index;
- }
- }
- index++;
- }
-
- if (rv == -1)
- {
- if (oldest_index == -1)
- {
- LLOGLN(0, ("rdpup_add_os_bitmap: error"));
- }
- else
- {
- LLOGLN(10, ("rdpup_add_os_bitmap: too many pixmaps removing "
- "oldest_index %d", oldest_index));
- rdpup_remove_os_bitmap(oldest_index);
- rdpup_delete_os_surface(oldest_index);
- g_os_bitmaps[oldest_index].used = 1;
- g_os_bitmaps[oldest_index].pixmap = pixmap;
- g_os_bitmaps[oldest_index].priv = priv;
- g_os_bitmaps[oldest_index].stamp = g_os_bitmap_stamp;
- g_os_bitmap_stamp++;
- g_pixmap_num_used++;
- rv = oldest_index;
- }
- }
-
- if (rv < 0)
- {
- LLOGLN(10, ("rdpup_add_os_bitmap: test error 3"));
- return rv;
- }
-
- g_os_bitmap_alloc_size += this_bytes;
- LLOGLN(10, ("rdpup_add_os_bitmap: this_bytes %d g_os_bitmap_alloc_size %d",
- this_bytes, g_os_bitmap_alloc_size));
-#if USE_MAX_OS_BYTES
- while (g_os_bitmap_alloc_size > MAX_OS_BYTES)
- {
- LLOGLN(10, ("rdpup_add_os_bitmap: must delete g_pixmap_num_used %d",
- g_pixmap_num_used));
- /* find oldest */
- oldest = 0x7fffffff;
- oldest_index = -1;
- index = 0;
- while (index < g_max_os_bitmaps)
- {
- if (g_os_bitmaps[index].used && (g_os_bitmaps[index].stamp < oldest))
- {
- oldest = g_os_bitmaps[index].stamp;
- oldest_index = index;
- }
- index++;
- }
- if (oldest_index == -1)
- {
- LLOGLN(0, ("rdpup_add_os_bitmap: error 1"));
- break;
- }
- if (oldest_index == rv)
- {
- LLOGLN(0, ("rdpup_add_os_bitmap: error 2"));
- break;
- }
- rdpup_remove_os_bitmap(oldest_index);
- rdpup_delete_os_surface(oldest_index);
- }
-#endif
- LLOGLN(10, ("rdpup_add_os_bitmap: new bitmap index %d", rv));
- LLOGLN(10, ("rdpup_add_os_bitmap: g_pixmap_num_used %d "
- "g_os_bitmap_stamp 0x%8.8x", g_pixmap_num_used, g_os_bitmap_stamp));
- return rv;
-}
-
-/*****************************************************************************/
-int
-rdpup_remove_os_bitmap(int rdpindex)
-{
- PixmapPtr pixmap;
- rdpPixmapPtr priv;
- int this_bytes;
-
- LLOGLN(10, ("rdpup_remove_os_bitmap: index %d stamp %d",
- rdpindex, g_os_bitmaps[rdpindex].stamp));
-
- if (g_os_bitmaps == 0)
- {
- LLOGLN(10, ("rdpup_remove_os_bitmap: test error 1"));
- return 1;
- }
-
- if ((rdpindex < 0) && (rdpindex >= g_max_os_bitmaps))
- {
- LLOGLN(10, ("rdpup_remove_os_bitmap: test error 2"));
- return 1;
- }
-
- if (g_os_bitmaps[rdpindex].used)
- {
- pixmap = g_os_bitmaps[rdpindex].pixmap;
- priv = g_os_bitmaps[rdpindex].priv;
- draw_item_remove_all(priv);
- this_bytes = pixmap->devKind * pixmap->drawable.height;
- g_os_bitmap_alloc_size -= this_bytes;
- LLOGLN(10, ("rdpup_remove_os_bitmap: this_bytes %d "
- "g_os_bitmap_alloc_size %d", this_bytes,
- g_os_bitmap_alloc_size));
- g_os_bitmaps[rdpindex].used = 0;
- g_os_bitmaps[rdpindex].pixmap = 0;
- g_os_bitmaps[rdpindex].priv = 0;
- g_pixmap_num_used--;
- priv->status = 0;
- priv->con_number = 0;
- priv->use_count = 0;
- }
- else
- {
- LLOGLN(0, ("rdpup_remove_os_bitmap: error"));
- }
-
- LLOGLN(10, ("rdpup_remove_os_bitmap: g_pixmap_num_used %d",
- g_pixmap_num_used));
- return 0;
-}
-
-/*****************************************************************************/
-int
-rdpup_update_os_use(int rdpindex)
-{
- LLOGLN(10, ("rdpup_update_use: index %d stamp %d",
- rdpindex, g_os_bitmaps[rdpindex].stamp));
-
- if (g_os_bitmaps == 0)
- {
- return 1;
- }
-
- if ((rdpindex < 0) && (rdpindex >= g_max_os_bitmaps))
- {
- return 1;
- }
-
- if (g_os_bitmaps[rdpindex].used)
- {
- g_os_bitmaps[rdpindex].stamp = g_os_bitmap_stamp;
- g_os_bitmap_stamp++;
- }
- else
- {
- LLOGLN(0, ("rdpup_update_use: error rdpindex %d", rdpindex));
- }
-
- return 0;
-}
-
-
-/*****************************************************************************/
-/* returns error */
-static int
-rdpup_send(char *data, int len)
-{
- int sent;
-
- LLOGLN(10, ("rdpup_send - sending %d bytes", len));
-
- if (g_sck_closed)
- {
- return 1;
- }
-
- while (len > 0)
- {
- sent = g_tcp_send(g_sck, data, len, 0);
-
- if (sent == -1)
- {
- if (g_tcp_last_error_would_block(g_sck))
- {
- g_sleep(1);
- }
- else
- {
- LLOGLN(0, ("rdpup_send: g_tcp_send failed(returned -1)"));
- rdpup_disconnect();
- return 1;
- }
- }
- else if (sent == 0)
- {
- LLOGLN(0, ("rdpup_send: g_tcp_send failed(returned zero)"));
- rdpup_disconnect();
- return 1;
- }
- else
- {
- data += sent;
- len -= sent;
- }
- }
-
- return 0;
-}
-
-/******************************************************************************/
-static int
-rdpup_send_msg(struct stream *s)
-{
- int len;
- int rv;
-
- rv = 1;
-
- if (s != 0)
- {
- len = (int)(s->end - s->data);
-
- if (len > s->size)
- {
- rdpLog("overrun error len %d count %d\n", len, g_count);
- }
-
- s_pop_layer(s, iso_hdr);
- out_uint16_le(s, 3);
- out_uint16_le(s, g_count);
- out_uint32_le(s, len - 8);
- rv = rdpup_send(s->data, len);
- }
-
- if (rv != 0)
- {
- rdpLog("error in rdpup_send_msg\n");
- }
-
- return rv;
-}
-
-/******************************************************************************/
-static int
-rdpup_send_pending(void)
-{
- int rv;
-
- rv = 0;
- if (g_connected && g_begin)
- {
- LLOGLN(10, ("end %d", g_count));
- out_uint16_le(g_out_s, 2);
- out_uint16_le(g_out_s, 4);
- g_count++;
- s_mark_end(g_out_s);
- if (rdpup_send_msg(g_out_s) != 0)
- {
- LLOGLN(0, ("rdpup_send_pending: rdpup_send_msg failed"));
- rv = 1;
- }
- }
-
- g_count = 0;
- g_begin = 0;
- return rv;
-}
-
-/******************************************************************************/
-static CARD32
-rdpDeferredUpdateCallback(OsTimerPtr timer, CARD32 now, pointer arg)
-{
- LLOGLN(10, ("rdpDeferredUpdateCallback"));
-
- if (g_do_dirty_ons)
- {
- if (g_rect_id == g_rect_id_ack)
- {
- rdpup_check_dirty_screen(&g_screenPriv);
- }
- else
- {
- LLOGLN(0, ("rdpDeferredUpdateCallback: skipping"));
- }
- }
- else
- {
- rdpup_send_pending();
- }
-
- g_scheduled = 0;
- return 0;
-}
-
-/******************************************************************************/
-void
-rdpScheduleDeferredUpdate(void)
-{
- if (!g_scheduled)
- {
- g_scheduled = 1;
- g_timer = TimerSet(g_timer, 0, 40, rdpDeferredUpdateCallback, 0);
- }
-}
-
-/******************************************************************************/
-/* returns error */
-static int
-rdpup_recv(char *data, int len)
-{
- int rcvd;
-
- if (g_sck_closed)
- {
- return 1;
- }
-
- while (len > 0)
- {
- rcvd = g_tcp_recv(g_sck, data, len, 0);
-
- if (rcvd == -1)
- {
- if (g_tcp_last_error_would_block(g_sck))
- {
- g_sleep(1);
- }
- else
- {
- LLOGLN(0, ("rdpup_recv: g_tcp_recv failed(returned -1)"));
- rdpup_disconnect();
- return 1;
- }
- }
- else if (rcvd == 0)
- {
- LLOGLN(0, ("rdpup_recv: g_tcp_recv failed(returned 0)"));
- rdpup_disconnect();
- return 1;
- }
- else
- {
- data += rcvd;
- len -= rcvd;
- }
- }
-
- return 0;
-}
-
-/******************************************************************************/
-static int
-rdpup_recv_msg(struct stream *s)
-{
- int len;
- int rv;
-
- rv = 1;
-
- if (s != 0)
- {
- init_stream(s, 4);
- rv = rdpup_recv(s->data, 4);
-
- if (rv == 0)
- {
- in_uint32_le(s, len);
-
- if (len > 3)
- {
- init_stream(s, len);
- rv = rdpup_recv(s->data, len - 4);
- }
- }
- }
-
- if (rv != 0)
- {
- rdpLog("error in rdpup_recv_msg\n");
- }
-
- return rv;
-}
-
-/*****************************************************************************/
-/* wait 'millis' milliseconds for the socket to be able to receive */
-/* returns boolean */
-static int
-sck_can_recv(int sck, int millis)
-{
- fd_set rfds;
- struct timeval time;
- int rv;
-
- time.tv_sec = millis / 1000;
- time.tv_usec = (millis * 1000) % 1000000;
- FD_ZERO(&rfds);
-
- if (sck > 0)
- {
- FD_SET(((unsigned int)sck), &rfds);
- rv = select(sck + 1, &rfds, 0, 0, &time);
-
- if (rv > 0)
- {
- return 1;
- }
- }
-
- return 0;
-}
-
-/******************************************************************************/
-/*
- this from miScreenInit
- pScreen->mmWidth = (xsize * 254 + dpix * 5) / (dpix * 10);
- pScreen->mmHeight = (ysize * 254 + dpiy * 5) / (dpiy * 10);
-*/
-static int
-process_screen_size_msg(int width, int height, int bpp)
-{
- int mmwidth;
- int mmheight;
- int bytes;
- Bool ok;
-
- LLOGLN(0, ("process_screen_size_msg: set width %d height %d bpp %d",
- width, height, bpp));
- g_rdpScreen.rdp_width = width;
- g_rdpScreen.rdp_height = height;
- g_rdpScreen.rdp_bpp = bpp;
-
- if (bpp < 15)
- {
- g_rdpScreen.rdp_Bpp = 1;
- g_rdpScreen.rdp_Bpp_mask = 0xff;
- }
- else if (bpp == 15)
- {
- g_rdpScreen.rdp_Bpp = 2;
- g_rdpScreen.rdp_Bpp_mask = 0x7fff;
- }
- else if (bpp == 16)
- {
- g_rdpScreen.rdp_Bpp = 2;
- g_rdpScreen.rdp_Bpp_mask = 0xffff;
- }
- else if (bpp > 16)
- {
- g_rdpScreen.rdp_Bpp = 4;
- g_rdpScreen.rdp_Bpp_mask = 0xffffff;
- }
-
- if (g_use_shmem)
- {
- if (g_shmemptr != 0)
- {
- shmdt(g_shmemptr);
- g_shmemptr = 0;
- }
- bytes = g_rdpScreen.rdp_width * g_rdpScreen.rdp_height *
- g_rdpScreen.rdp_Bpp;
- g_shmemid = shmget(IPC_PRIVATE, bytes, IPC_CREAT | 0777);
- if (g_shmemid != -1)
- {
- g_shmemptr = shmat(g_shmemid, 0, 0);
- if (g_shmemptr == (void *) -1)
- {
- LLOGLN(0, ("process_screen_size_msg: shmat failed for %d "
- "bytes g_shmemid %d", bytes, g_shmemid));
- g_shmemptr = 0;
- shmctl(g_shmemid, IPC_RMID, NULL);
- g_shmemid = -1;
- }
- else
- {
- shmctl(g_shmemid, IPC_RMID, NULL);
- }
- LLOGLN(0, ("process_screen_size_msg: g_shmemid %d g_shmemptr %p",
- g_shmemid, g_shmemptr));
- g_shmem_lineBytes = g_rdpScreen.rdp_Bpp * g_rdpScreen.rdp_width;
- if (g_shm_reg != 0)
- {
- RegionDestroy(g_shm_reg);
- }
- g_shm_reg = RegionCreate(NullBox, 0);
- }
- }
-
- mmwidth = PixelToMM(width);
- mmheight = PixelToMM(height);
-
- if ((g_rdpScreen.width != width) || (g_rdpScreen.height != height))
- {
- LLOGLN(0, (" calling RRScreenSizeSet"));
- ok = RRScreenSizeSet(g_pScreen, width, height, mmwidth, mmheight);
- LLOGLN(0, (" RRScreenSizeSet ok=[%d]", ok));
- }
-
- return 0;
-}
-
-/******************************************************************************/
-static int
-l_bound_by(int val, int low, int high)
-{
- if (val > high)
- {
- val = high;
- }
-
- if (val < low)
- {
- val = low;
- }
-
- return val;
-}
-
-/******************************************************************************/
-static int
-rdpup_send_caps(void)
-{
- struct stream *ls;
- int len;
- int rv;
- int cap_count;
- int cap_bytes;
-
- make_stream(ls);
- init_stream(ls, 8192);
- s_push_layer(ls, iso_hdr, 8);
-
- cap_count = 0;
- cap_bytes = 0;
-
-#if 0
- out_uint16_le(ls, 0);
- out_uint16_le(ls, 4);
- cap_count++;
- cap_bytes += 4;
-
- out_uint16_le(ls, 1);
- out_uint16_le(ls, 4);
- cap_count++;
- cap_bytes += 4;
-#endif
-
- s_mark_end(ls);
- len = (int)(ls->end - ls->data);
- s_pop_layer(ls, iso_hdr);
- out_uint16_le(ls, 2); /* caps */
- out_uint16_le(ls, cap_count); /* num caps */
- out_uint32_le(ls, cap_bytes); /* caps len after header */
-
- rv = rdpup_send(ls->data, len);
-
- if (rv != 0)
- {
- LLOGLN(0, ("rdpup_send_caps: rdpup_send failed"));
- }
-
- free_stream(ls);
- return rv;
-}
-
-/******************************************************************************/
-static int
-process_version_msg(int param1, int param2, int param3, int param4)
-{
- LLOGLN(0, ("process_version_msg: version %d %d %d %d", param1, param2,
- param3, param4));
-
- if ((param1 > 0) || (param2 > 0) || (param3 > 0) || (param4 > 0))
- {
- rdpup_send_caps();
- }
-
- return 0;
-}
-
-/******************************************************************************/
-static int
-rdpup_send_rail(void)
-{
- WindowPtr wnd;
- rdpWindowRec *priv;
-
- wnd = g_pScreen->root;
-
- if (wnd != 0)
- {
- wnd = wnd->lastChild;
-
- while (wnd != 0)
- {
- if (wnd->realized)
- {
- priv = GETWINPRIV(wnd);
- priv->status = 1;
- rdpup_create_window(wnd, priv);
- }
-
- wnd = wnd->prevSib;
- }
- }
-
- return 0;
-}
-
-#define XR_BUTTON1 1
-#define XR_BUTTON2 2
-#define XR_BUTTON3 4
-#define XR_BUTTON4 8
-#define XR_BUTTON5 16
-#define XR_BUTTON6 32
-#define XR_BUTTON7 64
-
-/******************************************************************************/
-static int
-rdpup_process_msg(struct stream *s)
-{
- int msg_type;
- int msg;
- int param1;
- int param2;
- int param3;
- int param4;
- int bytes;
- int i1;
- int flags;
- int x;
- int y;
- int cx;
- int cy;
- int index;
- RegionRec reg;
- BoxRec box;
-
- in_uint16_le(s, msg_type);
-
- if (msg_type == 103)
- {
- in_uint32_le(s, msg);
- in_uint32_le(s, param1);
- in_uint32_le(s, param2);
- in_uint32_le(s, param3);
- in_uint32_le(s, param4);
- LLOGLN(10, ("rdpup_process_msg - msg %d param1 %d param2 %d param3 %d "
- "param4 %d", msg, param1, param2, param3, param4));
-
- switch (msg)
- {
- case 15: /* key down */
- case 16: /* key up */
- KbdAddEvent(msg == 15, param1, param2, param3, param4);
- break;
- case 17: /* from RDP_INPUT_SYNCHRONIZE */
- KbdSync(param1);
- break;
- case 100:
- /* without the minus 2, strange things happen when dragging
- past the width or height */
- g_cursor_x = l_bound_by(param1, 0, g_rdpScreen.width - 2);
- g_cursor_y = l_bound_by(param2, 0, g_rdpScreen.height - 2);
- PtrAddEvent(g_button_mask, g_cursor_x, g_cursor_y);
- break;
- case 101: /* left button up */
- g_button_mask = g_button_mask & (~XR_BUTTON1);
- PtrAddEvent(g_button_mask, g_cursor_x, g_cursor_y);
- break;
- case 102: /* left button down */
- g_cursor_x = l_bound_by(param1, 0, g_rdpScreen.width - 2);
- g_cursor_y = l_bound_by(param2, 0, g_rdpScreen.height - 2);
- g_button_mask = g_button_mask | XR_BUTTON1;
- PtrAddEvent(g_button_mask, g_cursor_x, g_cursor_y);
- break;
- case 103: /* right button up */
- g_button_mask = g_button_mask & (~XR_BUTTON3);
- PtrAddEvent(g_button_mask, g_cursor_x, g_cursor_y);
- break;
- case 104: /* right button down */
- g_cursor_x = l_bound_by(param1, 0, g_rdpScreen.width - 2);
- g_cursor_y = l_bound_by(param2, 0, g_rdpScreen.height - 2);
- g_button_mask = g_button_mask | XR_BUTTON3;
- PtrAddEvent(g_button_mask, g_cursor_x, g_cursor_y);
- break;
- case 105: /* middle button down */
- g_button_mask = g_button_mask & (~XR_BUTTON2);
- PtrAddEvent(g_button_mask, g_cursor_x, g_cursor_y);
- break;
- case 106: /* middle button up */
- g_cursor_x = l_bound_by(param1, 0, g_rdpScreen.width - 2);
- g_cursor_y = l_bound_by(param2, 0, g_rdpScreen.height - 2);
- g_button_mask = g_button_mask | XR_BUTTON2;
- PtrAddEvent(g_button_mask, g_cursor_x, g_cursor_y);
- break;
- case 107: /* button 4 up */
- g_button_mask = g_button_mask & (~XR_BUTTON4);
- PtrAddEvent(g_button_mask, g_cursor_x, g_cursor_y);
- break;
- case 108: /* button 4 down */
- g_cursor_x = l_bound_by(param1, 0, g_rdpScreen.width - 2);
- g_cursor_y = l_bound_by(param2, 0, g_rdpScreen.height - 2);
- g_button_mask = g_button_mask | XR_BUTTON4;
- PtrAddEvent(g_button_mask, g_cursor_x, g_cursor_y);
- break;
- case 109: /* button 5 up */
- g_button_mask = g_button_mask & (~XR_BUTTON5);
- PtrAddEvent(g_button_mask, g_cursor_x, g_cursor_y);
- break;
- case 110: /* button 5 down */
- g_cursor_x = l_bound_by(param1, 0, g_rdpScreen.width - 2);
- g_cursor_y = l_bound_by(param2, 0, g_rdpScreen.height - 2);
- g_button_mask = g_button_mask | XR_BUTTON5;
- PtrAddEvent(g_button_mask, g_cursor_x, g_cursor_y);
- break;
- case 111: /* button 6 up */
- g_button_mask = g_button_mask & (~XR_BUTTON6);
- PtrAddEvent(g_button_mask, g_cursor_x, g_cursor_y);
- break;
- case 112: /* button 6 down */
- g_cursor_x = l_bound_by(param1, 0, g_rdpScreen.width - 2);
- g_cursor_y = l_bound_by(param2, 0, g_rdpScreen.height - 2);
- g_button_mask = g_button_mask | XR_BUTTON6;
- PtrAddEvent(g_button_mask, g_cursor_x, g_cursor_y);
- break;
- case 113: /* button 7 up */
- g_button_mask = g_button_mask & (~XR_BUTTON7);
- PtrAddEvent(g_button_mask, g_cursor_x, g_cursor_y);
- break;
- case 114: /* button 7 down */
- g_cursor_x = l_bound_by(param1, 0, g_rdpScreen.width - 2);
- g_cursor_y = l_bound_by(param2, 0, g_rdpScreen.height - 2);
- g_button_mask = g_button_mask | XR_BUTTON7;
- PtrAddEvent(g_button_mask, g_cursor_x, g_cursor_y);
- break;
- case 200:
- rdpup_begin_update();
- rdpup_send_area(0, (param1 >> 16) & 0xffff, param1 & 0xffff,
- (param2 >> 16) & 0xffff, param2 & 0xffff);
- rdpup_end_update();
- break;
- case 300:
- process_screen_size_msg(param1, param2, param3);
- break;
- case 301:
- process_version_msg(param1, param2, param3, param4);
- break;
- }
- }
- else if (msg_type == 104)
- {
- in_uint32_le(s, bytes);
-
- if (bytes > sizeof(g_rdpScreen.client_info))
- {
- bytes = sizeof(g_rdpScreen.client_info);
- }
-
- memcpy(&(g_rdpScreen.client_info), s->p - 4, bytes);
- g_rdpScreen.client_info.size = bytes;
- LLOGLN(0, ("rdpup_process_msg: got client info bytes %d", bytes));
- LLOGLN(0, (" jpeg support %d", g_rdpScreen.client_info.jpeg));
- i1 = g_rdpScreen.client_info.offscreen_support_level;
- LLOGLN(0, (" offscreen support %d", i1));
- i1 = g_rdpScreen.client_info.offscreen_cache_size;
- LLOGLN(0, (" offscreen size %d", i1));
- i1 = g_rdpScreen.client_info.offscreen_cache_entries;
- LLOGLN(0, (" offscreen entries %d", i1));
-
- if (g_rdpScreen.client_info.offscreen_support_level > 0)
- {
- if (g_rdpScreen.client_info.offscreen_cache_entries > 0)
- {
- g_max_os_bitmaps = g_rdpScreen.client_info.offscreen_cache_entries;
- g_free(g_os_bitmaps);
- g_os_bitmaps = (struct rdpup_os_bitmap *)
- g_malloc(sizeof(struct rdpup_os_bitmap) * g_max_os_bitmaps, 1);
- }
- }
-
- if (g_rdpScreen.client_info.rail_support_level > 0)
- {
- g_use_rail = 1;
-#ifdef XRDP_WM_RDPUP
- rdpup_send_rail();
-#endif
- }
- if (g_rdpScreen.client_info.orders[0x1b]) /* 27 NEG_GLYPH_INDEX_INDEX */
- {
- LLOGLN(0, (" client supports glyph cache but server disabled"));
- //g_do_glyph_cache = 1;
- }
- if (g_rdpScreen.client_info.order_flags_ex & 0x100)
- {
- g_do_composite = 1;
- }
- if (g_do_glyph_cache)
- {
- LLOGLN(0, (" using glyph cache"));
- }
- if (g_do_composite)
- {
- LLOGLN(0, (" using client composite"));
- }
- LLOGLN(10, ("order_flags_ex 0x%x", g_rdpScreen.client_info.order_flags_ex));
- if (g_rdpScreen.client_info.offscreen_cache_entries == 2000)
- {
- LLOGLN(0, (" client can do offscreen to offscreen blits"));
- g_can_do_pix_to_pix = 1;
- }
- else
- {
- LLOGLN(0, (" client can not do offscreen to offscreen blits"));
- g_can_do_pix_to_pix = 0;
- }
- if (g_rdpScreen.client_info.pointer_flags & 1)
- {
- LLOGLN(0, (" client can do new(color) cursor"));
- }
- else
- {
- LLOGLN(0, (" client can not do new(color) cursor"));
- }
-
- if (g_rdpScreen.client_info.monitorCount > 0)
- {
- LLOGLN(0, (" client can do multimon"));
- LLOGLN(0, (" client monitor data, monitorCount= %d", g_rdpScreen.client_info.monitorCount));
- box.x1 = g_rdpScreen.client_info.minfo[0].left;
- box.y1 = g_rdpScreen.client_info.minfo[0].top;
- box.x2 = g_rdpScreen.client_info.minfo[0].right;
- box.y2 = g_rdpScreen.client_info.minfo[0].bottom;
- g_do_multimon = 1;
- /* adjust monitor info so it's not negative */
- for (index = 1; index < g_rdpScreen.client_info.monitorCount; index++)
- {
- box.x1 = min(box.x1, g_rdpScreen.client_info.minfo[index].left);
- box.y1 = min(box.y1, g_rdpScreen.client_info.minfo[index].top);
- box.x2 = max(box.x2, g_rdpScreen.client_info.minfo[index].right);
- box.y2 = max(box.y2, g_rdpScreen.client_info.minfo[index].bottom);
- }
- for (index = 0; index < g_rdpScreen.client_info.monitorCount; index++)
- {
- g_rdpScreen.client_info.minfo[index].left -= box.x1;
- g_rdpScreen.client_info.minfo[index].top -= box.y1;
- g_rdpScreen.client_info.minfo[index].right -= box.x1;
- g_rdpScreen.client_info.minfo[index].bottom -= box.y1;
- LLOGLN(0, (" left %d top %d right %d bottom %d",
- g_rdpScreen.client_info.minfo[index].left,
- g_rdpScreen.client_info.minfo[index].top,
- g_rdpScreen.client_info.minfo[index].right,
- g_rdpScreen.client_info.minfo[index].bottom));
- }
- rdpRRSetRdpOutputs();
- RRTellChanged(g_pScreen);
- }
- else
- {
- LLOGLN(0, (" client can not do multimon"));
- g_do_multimon = 0;
- rdpRRSetRdpOutputs();
- RRTellChanged(g_pScreen);
- }
-
- rdpLoadLayout(&(g_rdpScreen.client_info));
-
- }
- else if (msg_type == 105)
- {
- LLOGLN(10, ("rdpup_process_msg: got msg 105"));
- in_uint32_le(s, flags);
- in_uint32_le(s, g_rect_id_ack);
- in_uint32_le(s, x);
- in_uint32_le(s, y);
- in_uint32_le(s, cx);
- in_uint32_le(s, cy);
- LLOGLN(10, ("rdpup_process_msg: %d %d %d %d", x, y, cx ,cy));
- LLOGLN(10, ("rdpup_process_msg: rect_id %d rect_id_ack %d", g_rect_id, g_rect_id_ack));
-
- box.x1 = x;
- box.y1 = y;
- box.x2 = box.x1 + cx;
- box.y2 = box.y1 + cy;
-
- RegionInit(®, &box, 0);
- LLOGLN(10, ("rdpup_process_msg: %d %d %d %d", box.x1, box.y1, box.x2, box.y2));
- RegionSubtract(g_shm_reg, g_shm_reg, ®);
- RegionUninit(®);
-
- }
-
-
- else
- {
- rdpLog("unknown message type in rdpup_process_msg %d\n", msg_type);
- }
-
- return 0;
-}
-
-/******************************************************************************/
-void
-rdpup_get_screen_image_rect(struct image_data *id)
-{
- id->width = g_rdpScreen.width;
- id->height = g_rdpScreen.height;
- id->bpp = g_rdpScreen.rdp_bpp;
- id->Bpp = g_rdpScreen.rdp_Bpp;
- id->lineBytes = g_rdpScreen.paddedWidthInBytes;
- id->pixels = g_rdpScreen.pfbMemory;
- id->shmem_pixels = g_shmemptr;
- id->shmem_id = g_shmemid;
- id->shmem_offset = 0;
- id->shmem_lineBytes = g_shmem_lineBytes;
-}
-
-/******************************************************************************/
-void
-rdpup_get_pixmap_image_rect(PixmapPtr pPixmap, struct image_data *id)
-{
- id->width = pPixmap->drawable.width;
- id->height = pPixmap->drawable.height;
- id->bpp = g_rdpScreen.rdp_bpp;
- id->Bpp = g_rdpScreen.rdp_Bpp;
- id->lineBytes = pPixmap->devKind;
- id->pixels = (char *)(pPixmap->devPrivate.ptr);
- id->shmem_pixels = 0;
- id->shmem_id = 0;
- id->shmem_offset = 0;
- id->shmem_lineBytes = 0;
-}
-
-/******************************************************************************/
-int
-rdpup_init(void)
-{
- char text[256];
- char *ptext;
- int i;
- const char *socket_dir;
-
- socket_dir = g_socket_dir();
-
- if (!g_directory_exist(socket_dir))
- {
- if (!g_create_dir(socket_dir))
- {
- LLOGLN(0, ("rdpup_init: g_create_dir(%s) failed", socket_dir));
- return 0;
- }
-
- g_chmod_hex(socket_dir, 0x1777);
- }
-
- i = atoi(display);
-
- if (i < 1)
- {
- return 0;
- }
-
- if (g_in_s == 0)
- {
- make_stream(g_in_s);
- init_stream(g_in_s, 8192);
- }
-
- if (g_out_s == 0)
- {
- make_stream(g_out_s);
- init_stream(g_out_s, 8192 * g_Bpp + 100);
- }
-
- if (g_use_uds)
- {
- g_sprintf(g_uds_data, "%s/xrdp_display_%s", socket_dir, display);
-
- if (g_listen_sck == 0)
- {
- g_listen_sck = g_tcp_local_socket_stream();
-
- if (g_tcp_local_bind(g_listen_sck, g_uds_data) != 0)
- {
- LLOGLN(0, ("rdpup_init: g_tcp_local_bind failed"));
- return 0;
- }
-
- g_tcp_listen(g_listen_sck);
- AddEnabledDevice(g_listen_sck);
- }
- }
- else
- {
- g_sprintf(text, "62%2.2d", i);
-
- if (g_listen_sck == 0)
- {
- g_listen_sck = g_tcp_socket();
-
- if (g_tcp_bind(g_listen_sck, text) != 0)
- {
- return 0;
- }
-
- g_tcp_listen(g_listen_sck);
- AddEnabledDevice(g_listen_sck);
- }
- }
-
- g_dis_listen_sck = g_tcp_local_socket_dgram();
-
- if (g_dis_listen_sck != 0)
- {
- g_sprintf(text, "%s/xrdp_disconnect_display_%s", socket_dir, display);
-
- if (g_tcp_local_bind(g_dis_listen_sck, text) == 0)
- {
- AddEnabledDevice(g_dis_listen_sck);
- }
- else
- {
- rdpLog("g_tcp_local_bind failed [%s]\n", text);
- }
- }
-
- ptext = getenv("XRDP_SESMAN_MAX_IDLE_TIME");
- if (ptext != 0)
- {
- }
- ptext = getenv("XRDP_SESMAN_MAX_DISC_TIME");
- if (ptext != 0)
- {
- i = atoi(ptext);
- if (i > 0)
- {
- g_do_kill_disconnected = 1;
- g_disconnect_timeout_s = atoi(ptext);
- }
- }
- ptext = getenv("XRDP_SESMAN_KILL_DISCONNECTED");
- if (ptext != 0)
- {
- i = atoi(ptext);
- if (i != 0)
- {
- g_do_kill_disconnected = 1;
- }
- }
-
- if (g_do_kill_disconnected && (g_disconnect_timeout_s < 60))
- {
- g_disconnect_timeout_s = 60;
- }
-
- rdpLog("kill disconnected [%d] timeout [%d] sec\n", g_do_kill_disconnected,
- g_disconnect_timeout_s);
-
- return 1;
-}
-
-/******************************************************************************/
-int
-rdpup_check(void)
-{
- int sel;
- int new_sck;
- char buf[8];
-
- sel = g_tcp_select(g_listen_sck, g_sck, g_dis_listen_sck);
-
- if (sel & 1)
- {
- new_sck = g_tcp_accept(g_listen_sck);
-
- if (new_sck == -1)
- {
- }
- else
- {
- if (g_sck != 0)
- {
- /* should maybe ask is user wants to allow here with timeout */
- rdpLog("replacing connection, already got a connection\n");
- rdpup_disconnect();
- }
-
- rdpLog("got a connection\n");
- g_sck = new_sck;
- g_tcp_set_non_blocking(g_sck);
- g_tcp_set_no_delay(g_sck);
- g_connected = 1;
- g_sck_closed = 0;
- g_begin = 0;
- g_con_number++;
- rdpGlyphInit();
- AddEnabledDevice(g_sck);
-
- if (g_dis_timer != 0)
- {
- LLOGLN(0, ("rdpup_check: canceling g_dis_timer"));
- TimerCancel(g_dis_timer);
- TimerFree(g_dis_timer);
- g_dis_timer = 0;
- }
- g_disconnect_scheduled = 0;
-
- }
- }
-
- if (sel & 2)
- {
- if (rdpup_recv_msg(g_in_s) == 0)
- {
- rdpup_process_msg(g_in_s);
- }
- }
-
- if (sel & 4)
- {
- if (g_tcp_recv(g_dis_listen_sck, buf, 4, 0) > 0)
- {
- if (g_sck != 0)
- {
- rdpLog("disconnecting session via user request\n");
- rdpup_disconnect();
- }
- }
- }
-
- return 0;
-}
-
-/******************************************************************************/
-int
-rdpup_begin_update(void)
-{
- LLOGLN(10, ("rdpup_begin_update:"));
-
- if (g_connected)
- {
- if (g_begin)
- {
- return 0;
- }
- init_stream(g_out_s, 0);
- s_push_layer(g_out_s, iso_hdr, 8);
- out_uint16_le(g_out_s, 1); /* begin update */
- out_uint16_le(g_out_s, 4); /* size */
- LLOGLN(10, ("begin %d", g_count));
- g_begin = 1;
- g_count = 1;
- }
-
- return 0;
-}
-
-/******************************************************************************/
-int
-rdpup_end_update(void)
-{
- LLOGLN(10, ("rdpup_end_update"));
-
- if (g_connected && g_begin)
- {
- if (g_do_dirty_ons)
- {
- /* in this mode, end update is only called in check dirty */
- rdpup_send_pending();
- }
- else
- {
- rdpScheduleDeferredUpdate();
- }
- }
-
- return 0;
-}
-
-/******************************************************************************/
-int
-rdpup_pre_check(int in_size)
-{
- int rv;
-
- rv = 0;
- if (!g_begin)
- {
- rdpup_begin_update();
- }
-
- if ((g_out_s->p - g_out_s->data) > (g_out_s->size - (in_size + 20)))
- {
- s_mark_end(g_out_s);
- if (rdpup_send_msg(g_out_s) != 0)
- {
- LLOGLN(0, ("rdpup_pre_check: rdpup_send_msg failed"));
- rv = 1;
- }
- g_count = 0;
- init_stream(g_out_s, 0);
- s_push_layer(g_out_s, iso_hdr, 8);
- }
-
- return rv;
-}
-
-/******************************************************************************/
-int
-rdpup_fill_rect(short x, short y, int cx, int cy)
-{
- if (g_connected)
- {
- LLOGLN(10, (" rdpup_fill_rect"));
- rdpup_pre_check(12);
- out_uint16_le(g_out_s, 3); /* fill rect */
- out_uint16_le(g_out_s, 12); /* size */
- g_count++;
- out_uint16_le(g_out_s, x);
- out_uint16_le(g_out_s, y);
- out_uint16_le(g_out_s, cx);
- out_uint16_le(g_out_s, cy);
- }
-
- return 0;
-}
-
-/******************************************************************************/
-int
-rdpup_screen_blt(short x, short y, int cx, int cy, short srcx, short srcy)
-{
- if (g_connected)
- {
- LLOGLN(10, (" rdpup_screen_blt x %d y %d cx %d cy %d srcx %d srcy %d",
- x, y, cx, cy, srcx, srcy));
- rdpup_pre_check(16);
- out_uint16_le(g_out_s, 4); /* screen blt */
- out_uint16_le(g_out_s, 16); /* size */
- g_count++;
- out_uint16_le(g_out_s, x);
- out_uint16_le(g_out_s, y);
- out_uint16_le(g_out_s, cx);
- out_uint16_le(g_out_s, cy);
- out_uint16_le(g_out_s, srcx);
- out_uint16_le(g_out_s, srcy);
- }
-
- return 0;
-}
-
-/******************************************************************************/
-int
-rdpup_set_clip(short x, short y, int cx, int cy)
-{
- if (g_connected)
- {
- LLOGLN(10, (" rdpup_set_clip"));
- rdpup_pre_check(12);
- out_uint16_le(g_out_s, 10); /* set clip */
- out_uint16_le(g_out_s, 12); /* size */
- g_count++;
- out_uint16_le(g_out_s, x);
- out_uint16_le(g_out_s, y);
- out_uint16_le(g_out_s, cx);
- out_uint16_le(g_out_s, cy);
- }
-
- return 0;
-}
-
-/******************************************************************************/
-int
-rdpup_reset_clip(void)
-{
- if (g_connected)
- {
- LLOGLN(10, (" rdpup_reset_clip"));
- rdpup_pre_check(4);
- out_uint16_le(g_out_s, 11); /* reset clip */
- out_uint16_le(g_out_s, 4); /* size */
- g_count++;
- }
-
- return 0;
-}
-
-#define COLOR8(r, g, b) \
- ((((r) >> 5) << 0) | (((g) >> 5) << 3) | (((b) >> 6) << 6))
-#define COLOR15(r, g, b) \
- ((((r) >> 3) << 10) | (((g) >> 3) << 5) | (((b) >> 3) << 0))
-#define COLOR16(r, g, b) \
- ((((r) >> 3) << 11) | (((g) >> 2) << 5) | (((b) >> 3) << 0))
-#define COLOR24(r, g, b) \
- ((((r) >> 0) << 0) | (((g) >> 0) << 8) | (((b) >> 0) << 16))
-#define SPLITCOLOR32(r, g, b, c) \
- { \
- r = ((c) >> 16) & 0xff; \
- g = ((c) >> 8) & 0xff; \
- b = (c) & 0xff; \
- }
-
-int
-convert_pixel(int in_pixel)
-{
- int red;
- int green;
- int blue;
- int rv;
-
- rv = 0;
-
- if (g_rdpScreen.depth == 24)
- {
- if (g_rdpScreen.rdp_bpp >= 24)
- {
- rv = in_pixel;
- SPLITCOLOR32(red, green, blue, rv);
- rv = COLOR24(red, green, blue);
- }
- else if (g_rdpScreen.rdp_bpp == 16)
- {
- rv = in_pixel;
- SPLITCOLOR32(red, green, blue, rv);
- rv = COLOR16(red, green, blue);
- }
- else if (g_rdpScreen.rdp_bpp == 15)
- {
- rv = in_pixel;
- SPLITCOLOR32(red, green, blue, rv);
- rv = COLOR15(red, green, blue);
- }
- else if (g_rdpScreen.rdp_bpp == 8)
- {
- rv = in_pixel;
- SPLITCOLOR32(red, green, blue, rv);
- rv = COLOR8(red, green, blue);
- }
- }
- else if (g_rdpScreen.depth == g_rdpScreen.rdp_bpp)
- {
- return in_pixel;
- }
-
- return rv;
-}
-
-int
-convert_pixels(void *src, void *dst, int num_pixels)
-{
- unsigned int pixel;
- unsigned int red;
- unsigned int green;
- unsigned int blue;
- unsigned int *src32;
- unsigned int *dst32;
- unsigned short *dst16;
- unsigned char *dst8;
- int index;
-
- if (g_rdpScreen.depth == g_rdpScreen.rdp_bpp)
- {
- memcpy(dst, src, num_pixels * g_Bpp);
- return 0;
- }
-
- if (g_rdpScreen.depth == 24)
- {
- src32 = (unsigned int *)src;
-
- if (g_rdpScreen.rdp_bpp >= 24)
- {
- dst32 = (unsigned int *)dst;
-
- for (index = 0; index < num_pixels; index++)
- {
- pixel = *src32;
- *dst32 = pixel;
- dst32++;
- src32++;
- }
- }
- else if (g_rdpScreen.rdp_bpp == 16)
- {
- dst16 = (unsigned short *)dst;
-
- for (index = 0; index < num_pixels; index++)
- {
- pixel = *src32;
- SPLITCOLOR32(red, green, blue, pixel);
- pixel = COLOR16(red, green, blue);
- *dst16 = pixel;
- dst16++;
- src32++;
- }
- }
- else if (g_rdpScreen.rdp_bpp == 15)
- {
- dst16 = (unsigned short *)dst;
-
- for (index = 0; index < num_pixels; index++)
- {
- pixel = *src32;
- SPLITCOLOR32(red, green, blue, pixel);
- pixel = COLOR15(red, green, blue);
- *dst16 = pixel;
- dst16++;
- src32++;
- }
- }
- else if (g_rdpScreen.rdp_bpp == 8)
- {
- dst8 = (unsigned char *)dst;
-
- for (index = 0; index < num_pixels; index++)
- {
- pixel = *src32;
- SPLITCOLOR32(red, green, blue, pixel);
- pixel = COLOR8(red, green, blue);
- *dst8 = pixel;
- dst8++;
- src32++;
- }
- }
- }
-
- return 0;
-}
-
-/******************************************************************************/
-int
-alpha_pixels(void* src, void* dst, int num_pixels)
-{
- unsigned int* src32;
- unsigned char* dst8;
- int index;
-
- src32 = (unsigned int*)src;
- dst8 = (unsigned char*)dst;
- for (index = 0; index < num_pixels; index++)
- {
- *dst8 = (*src32) >> 24;
- dst8++;
- src32++;
- }
- return 0;
-}
-
-/******************************************************************************/
-int
-rdpup_set_fgcolor(int fgcolor)
-{
- if (g_connected)
- {
- LLOGLN(10, (" rdpup_set_fgcolor"));
- rdpup_pre_check(8);
- out_uint16_le(g_out_s, 12); /* set fgcolor */
- out_uint16_le(g_out_s, 8); /* size */
- g_count++;
- fgcolor = fgcolor & g_Bpp_mask;
- fgcolor = convert_pixel(fgcolor) & g_rdpScreen.rdp_Bpp_mask;
- out_uint32_le(g_out_s, fgcolor);
- }
-
- return 0;
-}
-
-/******************************************************************************/
-int
-rdpup_set_bgcolor(int bgcolor)
-{
- if (g_connected)
- {
- LLOGLN(10, (" rdpup_set_bgcolor"));
- rdpup_pre_check(8);
- out_uint16_le(g_out_s, 13); /* set bg color */
- out_uint16_le(g_out_s, 8); /* size */
- g_count++;
- bgcolor = bgcolor & g_Bpp_mask;
- bgcolor = convert_pixel(bgcolor) & g_rdpScreen.rdp_Bpp_mask;
- out_uint32_le(g_out_s, bgcolor);
- }
-
- return 0;
-}
-
-/******************************************************************************/
-int
-rdpup_set_opcode(int opcode)
-{
- if (g_connected)
- {
- LLOGLN(10, (" rdpup_set_opcode"));
- rdpup_pre_check(6);
- out_uint16_le(g_out_s, 14); /* set opcode */
- out_uint16_le(g_out_s, 6); /* size */
- g_count++;
- out_uint16_le(g_out_s, g_rdp_opcodes[opcode & 0xf]);
- }
-
- return 0;
-}
-
-/******************************************************************************/
-int
-rdpup_set_pen(int style, int width)
-{
- if (g_connected)
- {
- LLOGLN(10, (" rdpup_set_pen"));
- rdpup_pre_check(8);
- out_uint16_le(g_out_s, 17); /* set pen */
- out_uint16_le(g_out_s, 8); /* size */
- g_count++;
- out_uint16_le(g_out_s, style);
- out_uint16_le(g_out_s, width);
- }
-
- return 0;
-}
-
-/******************************************************************************/
-int
-rdpup_draw_line(short x1, short y1, short x2, short y2)
-{
- if (g_connected)
- {
- LLOGLN(10, (" rdpup_draw_line"));
- rdpup_pre_check(12);
- out_uint16_le(g_out_s, 18); /* draw line */
- out_uint16_le(g_out_s, 12); /* size */
- g_count++;
- out_uint16_le(g_out_s, x1);
- out_uint16_le(g_out_s, y1);
- out_uint16_le(g_out_s, x2);
- out_uint16_le(g_out_s, y2);
- }
-
- return 0;
-}
-
-/******************************************************************************/
-int
-rdpup_set_cursor(short x, short y, char *cur_data, char *cur_mask)
-{
- int size;
-
- if (g_connected)
- {
- LLOGLN(10, (" rdpup_set_cursor"));
- size = 8 + 32 * (32 * 3) + 32 * (32 / 8);
- rdpup_pre_check(size);
- out_uint16_le(g_out_s, 19); /* set cursor */
- out_uint16_le(g_out_s, size); /* size */
- g_count++;
- x = MAX(0, x);
- x = MIN(31, x);
- y = MAX(0, y);
- y = MIN(31, y);
- out_uint16_le(g_out_s, x);
- out_uint16_le(g_out_s, y);
- out_uint8a(g_out_s, cur_data, 32 * (32 * 3));
- out_uint8a(g_out_s, cur_mask, 32 * (32 / 8));
- }
-
- return 0;
-}
-
-/******************************************************************************/
-int
-rdpup_set_cursor_ex(short x, short y, char *cur_data, char *cur_mask, int bpp)
-{
- int size;
- int Bpp;
-
- if (g_connected)
- {
- LLOGLN(10, (" rdpup_set_cursor_ex"));
- Bpp = (bpp == 0) ? 3 : (bpp + 7) / 8;
- size = 10 + 32 * (32 * Bpp) + 32 * (32 / 8);
- rdpup_pre_check(size);
- out_uint16_le(g_out_s, 51); /* set cursor ex */
- out_uint16_le(g_out_s, size); /* size */
- g_count++;
- x = MAX(0, x);
- x = MIN(31, x);
- y = MAX(0, y);
- y = MIN(31, y);
- out_uint16_le(g_out_s, x);
- out_uint16_le(g_out_s, y);
- out_uint16_le(g_out_s, bpp);
- out_uint8a(g_out_s, cur_data, 32 * (32 * Bpp));
- out_uint8a(g_out_s, cur_mask, 32 * (32 / 8));
- }
-
- return 0;
-}
-
-/******************************************************************************/
-int
-rdpup_create_os_surface(int rdpindex, int width, int height)
-{
- LLOGLN(10, ("rdpup_create_os_surface:"));
-
- if (g_connected)
- {
- LLOGLN(10, (" rdpup_create_os_surface width %d height %d", width, height));
- rdpup_pre_check(12);
- out_uint16_le(g_out_s, 20);
- out_uint16_le(g_out_s, 12);
- g_count++;
- out_uint32_le(g_out_s, rdpindex);
- out_uint16_le(g_out_s, width);
- out_uint16_le(g_out_s, height);
- }
-
- return 0;
-}
-
-/******************************************************************************/
-int
-rdpup_create_os_surface_bpp(int rdpindex, int width, int height, int bpp)
-{
- LLOGLN(10, ("rdpup_create_os_surface_bpp:"));
- if (g_connected)
- {
- LLOGLN(10, (" width %d height %d bpp %d", width, height, bpp));
- rdpup_pre_check(13);
- out_uint16_le(g_out_s, 31);
- out_uint16_le(g_out_s, 13);
- g_count++;
- out_uint32_le(g_out_s, rdpindex);
- out_uint16_le(g_out_s, width);
- out_uint16_le(g_out_s, height);
- out_uint8(g_out_s, bpp);
- }
- return 0;
-}
-
-/******************************************************************************/
-int
-rdpup_switch_os_surface(int rdpindex)
-{
- LLOGLN(10, ("rdpup_switch_os_surface:"));
-
- if (g_connected)
- {
- if (g_rdpindex == rdpindex)
- {
- return 0;
- }
-
- g_rdpindex = rdpindex;
- LLOGLN(10, ("rdpup_switch_os_surface: rdpindex %d", rdpindex));
- /* switch surface */
- rdpup_pre_check(8);
- out_uint16_le(g_out_s, 21);
- out_uint16_le(g_out_s, 8);
- out_uint32_le(g_out_s, rdpindex);
- g_count++;
- }
-
- return 0;
-}
-
-/******************************************************************************/
-int
-rdpup_delete_os_surface(int rdpindex)
-{
- LLOGLN(10, ("rdpup_delete_os_surface: rdpindex %d", rdpindex));
-
- if (g_connected)
- {
- LLOGLN(10, ("rdpup_delete_os_surface: rdpindex %d", rdpindex));
- rdpup_pre_check(8);
- out_uint16_le(g_out_s, 22);
- out_uint16_le(g_out_s, 8);
- g_count++;
- out_uint32_le(g_out_s, rdpindex);
- }
-
- return 0;
-}
-
-/******************************************************************************/
-static int
-get_single_color(struct image_data *id, int x, int y, int w, int h)
-{
- int rv;
- int i;
- int j;
- int p;
- unsigned char *i8;
- unsigned short *i16;
- unsigned int *i32;
-
- p = 0;
- rv = -1;
-
- if (g_Bpp == 1)
- {
- for (i = 0; i < h; i++)
- {
- i8 = (unsigned char *)(id->pixels +
- ((y + i) * id->lineBytes) + (x * g_Bpp));
-
- if (i == 0)
- {
- p = *i8;
- }
-
- for (j = 0; j < w; j++)
- {
- if (i8[j] != p)
- {
- return -1;
- }
- }
- }
-
- rv = p;
- }
- else if (g_Bpp == 2)
- {
- for (i = 0; i < h; i++)
- {
- i16 = (unsigned short *)(id->pixels +
- ((y + i) * id->lineBytes) + (x * g_Bpp));
-
- if (i == 0)
- {
- p = *i16;
- }
-
- for (j = 0; j < w; j++)
- {
- if (i16[j] != p)
- {
- return -1;
- }
- }
- }
-
- rv = p;
- }
- else if (g_Bpp == 4)
- {
- for (i = 0; i < h; i++)
- {
- i32 = (unsigned int *)(id->pixels +
- ((y + i) * id->lineBytes) + (x * g_Bpp));
-
- if (i == 0)
- {
- p = *i32;
- }
-
- for (j = 0; j < w; j++)
- {
- if (i32[j] != p)
- {
- return -1;
- }
- }
- }
-
- rv = p;
- }
-
- return rv;
-}
-
-/******************************************************************************/
-/* split the bitmap up into 64 x 64 pixel areas
- or send using shared memory */
-void
-rdpup_send_area(struct image_data *id, int x, int y, int w, int h)
-{
- char *s;
- char *d;
- int i;
- int single_color;
- int lx;
- int ly;
- int lh;
- int lw;
- int size;
- int safety;
- struct image_data lid;
- BoxRec box;
- RegionRec reg;
-
- LLOGLN(10, ("rdpup_send_area: id %p x %d y %d w %d h %d", id, x, y, w, h));
-
- if (id == 0)
- {
- rdpup_get_screen_image_rect(&lid);
- id = &lid;
- }
-
- if (x >= id->width)
- {
- return;
- }
-
- if (y >= id->height)
- {
- return;
- }
-
- if (x < 0)
- {
- w += x;
- x = 0;
- }
-
- if (y < 0)
- {
- h += y;
- y = 0;
- }
-
- if (w <= 0)
- {
- return;
- }
-
- if (h <= 0)
- {
- return;
- }
-
- if (x + w > id->width)
- {
- w = id->width - x;
- }
-
- if (y + h > id->height)
- {
- h = id->height - y;
- }
-
- LLOGLN(10, ("%d", w * h));
-
- if (g_connected && g_begin)
- {
- LLOGLN(10, (" rdpup_send_area"));
-
- if (id->shmem_pixels != 0)
- {
- LLOGLN(10, ("rdpup_send_area: using shmem"));
- box.x1 = x;
- box.y1 = y;
- box.x2 = box.x1 + w;
- box.y2 = box.y1 + h;
- LLOGLN(10, ("rdpup_send_area: 1 x %d y %d w %d h %d", x, y, w, h));
- safety = 0;
- while (RegionContainsRect(g_shm_reg, &box))
- {
- /* instead of rdpup_end_update, call rdpup_send_pending */
- rdpup_send_pending();
- rdpup_begin_update();
- safety++;
- if (safety > 100)
- {
- LLOGLN(0, ("rdpup_send_area: shmem timeout"));
- break;
- }
- if (sck_can_recv(g_sck, 100))
- {
- if (rdpup_recv_msg(g_in_s) == 0)
- {
- rdpup_process_msg(g_in_s);
- }
- }
- }
- s = id->pixels;
- s += y * id->lineBytes;
- s += x * g_Bpp;
- d = id->shmem_pixels + id->shmem_offset;
- d += y * id->shmem_lineBytes;
- d += x * g_rdpScreen.rdp_Bpp;
- ly = y;
- while (ly < y + h)
- {
- convert_pixels(s, d, w);
- s += id->lineBytes;
- d += id->shmem_lineBytes;
- ly += 1;
- }
- size = 36;
- rdpup_pre_check(size);
- out_uint16_le(g_out_s, 60);
- out_uint16_le(g_out_s, size);
- g_count++;
- LLOGLN(10, ("rdpup_send_area: 2 x %d y %d w %d h %d", x, y, w, h));
- out_uint16_le(g_out_s, x);
- out_uint16_le(g_out_s, y);
- out_uint16_le(g_out_s, w);
- out_uint16_le(g_out_s, h);
- out_uint32_le(g_out_s, 0);
- g_rect_id++;
- out_uint32_le(g_out_s, g_rect_id);
- out_uint32_le(g_out_s, id->shmem_id);
- out_uint32_le(g_out_s, id->shmem_offset);
- out_uint16_le(g_out_s, id->width);
- out_uint16_le(g_out_s, id->height);
- out_uint16_le(g_out_s, x);
- out_uint16_le(g_out_s, y);
- RegionInit(®, &box, 0);
- RegionUnion(g_shm_reg, g_shm_reg, ®);
- RegionUninit(®);
- return;
- }
-
- ly = y;
- while ((ly < y + h) && g_connected)
- {
- lx = x;
-
- while (lx < x + w)
- {
- lw = MIN(64, (x + w) - lx);
- lh = MIN(64, (y + h) - ly);
- single_color = get_single_color(id, lx, ly, lw, lh);
-
- if (single_color != -1)
- {
- LLOGLN(10, ("%d sending single color", g_count));
- rdpup_set_fgcolor(single_color);
- rdpup_fill_rect(lx, ly, lw, lh);
- }
- else
- {
- size = lw * lh * id->Bpp + 24;
- rdpup_pre_check(size);
- out_uint16_le(g_out_s, 5);
- out_uint16_le(g_out_s, size);
- g_count++;
- out_uint16_le(g_out_s, lx);
- out_uint16_le(g_out_s, ly);
- out_uint16_le(g_out_s, lw);
- out_uint16_le(g_out_s, lh);
- out_uint32_le(g_out_s, lw * lh * id->Bpp);
-
- for (i = 0; i < lh; i++)
- {
- s = (id->pixels +
- ((ly + i) * id->lineBytes) + (lx * g_Bpp));
- convert_pixels(s, g_out_s->p, lw);
- g_out_s->p += lw * id->Bpp;
- }
-
- out_uint16_le(g_out_s, lw);
- out_uint16_le(g_out_s, lh);
- out_uint16_le(g_out_s, 0);
- out_uint16_le(g_out_s, 0);
- }
-
- lx += 64;
- }
-
- ly += 64;
- }
- }
-}
-
-/******************************************************************************/
-/* split the bitmap up into 64 x 64 pixel areas */
-void
-rdpup_send_alpha_area(struct image_data* id, int x, int y, int w, int h)
-{
- char* s;
- int i;
- int lx;
- int ly;
- int lh;
- int lw;
- int size;
- struct image_data lid;
-
- LLOGLN(10, ("rdpup_send_alpha_area: id %p x %d y %d w %d h %d",
- id, x, y, w, h));
- if (id == 0)
- {
- rdpup_get_screen_image_rect(&lid);
- id = &lid;
- }
-
- if (x >= id->width)
- {
- return;
- }
- if (y >= id->height)
- {
- return;
- }
- if (x < 0)
- {
- w += x;
- x = 0;
- }
- if (y < 0)
- {
- h += y;
- y = 0;
- }
- if (w <= 0)
- {
- return;
- }
- if (h <= 0)
- {
- return;
- }
- if (x + w > id->width)
- {
- w = id->width - x;
- }
- if (y + h > id->height)
- {
- h = id->height - y;
- }
- LLOGLN(10, ("%d", w * h));
- if (g_connected && g_begin)
- {
- LLOGLN(10, (" rdpup_send_area"));
- ly = y;
- while ((ly < y + h) && g_connected)
- {
- lx = x;
- while ((lx < x + w) && g_connected)
- {
- lw = MIN(64, (x + w) - lx);
- lh = MIN(64, (y + h) - ly);
- size = lw * lh + 25;
- rdpup_pre_check(size);
- out_uint16_le(g_out_s, 32); /* server_paint_rect_bpp */
- out_uint16_le(g_out_s, size);
- g_count++;
- out_uint16_le(g_out_s, lx);
- out_uint16_le(g_out_s, ly);
- out_uint16_le(g_out_s, lw);
- out_uint16_le(g_out_s, lh);
- out_uint32_le(g_out_s, lw * lh);
- for (i = 0; i < lh; i++)
- {
- s = (id->pixels +
- ((ly + i) * id->lineBytes) + (lx * g_Bpp));
- alpha_pixels(s, g_out_s->p, lw);
- g_out_s->p += lw;
- }
- out_uint16_le(g_out_s, lw);
- out_uint16_le(g_out_s, lh);
- out_uint16_le(g_out_s, 0);
- out_uint16_le(g_out_s, 0);
- out_uint8(g_out_s, 8);
- lx += 64;
- }
- ly += 64;
- }
- }
-}
-
-/******************************************************************************/
-void
-rdpup_paint_rect_os(int x, int y, int cx, int cy,
- int rdpindex, int srcx, int srcy)
-{
- if (g_connected)
- {
- rdpup_pre_check(20);
- out_uint16_le(g_out_s, 23);
- out_uint16_le(g_out_s, 20);
- g_count++;
- out_uint16_le(g_out_s, x);
- out_uint16_le(g_out_s, y);
- out_uint16_le(g_out_s, cx);
- out_uint16_le(g_out_s, cy);
- out_uint32_le(g_out_s, rdpindex);
- out_uint16_le(g_out_s, srcx);
- out_uint16_le(g_out_s, srcy);
- }
-}
-
-/******************************************************************************/
-void
-rdpup_set_hints(int hints, int mask)
-{
- if (g_connected)
- {
- rdpup_pre_check(12);
- out_uint16_le(g_out_s, 24);
- out_uint16_le(g_out_s, 12);
- g_count++;
- out_uint32_le(g_out_s, hints);
- out_uint32_le(g_out_s, mask);
- }
-}
-
-/******************************************************************************/
-void
-rdpup_create_window(WindowPtr pWindow, rdpWindowRec *priv)
-{
- int bytes;
- int index;
- int flags;
- int num_window_rects;
- int num_visibility_rects;
- int title_bytes;
- int style;
- int ext_style;
- int root_id;
- char title[256];
-
- LLOGLN(10, ("rdpup_create_window: id 0x%8.8x",
- (int)(pWindow->drawable.id)));
-
- if (g_connected)
- {
- root_id = pWindow->drawable.pScreen->root->drawable.id;
-
- if (pWindow->overrideRedirect)
- {
- style = XR_STYLE_TOOLTIP;
- ext_style = XR_EXT_STYLE_TOOLTIP;
- }
- else
- {
- style = XR_STYLE_NORMAL;
- ext_style = XR_EXT_STYLE_NORMAL;
- }
-
- flags = WINDOW_ORDER_TYPE_WINDOW | WINDOW_ORDER_STATE_NEW;
- strcpy(title, "title");
- title_bytes = strlen(title);
-
- num_window_rects = 1;
- num_visibility_rects = 1;
-
- /* calculate bytes */
- bytes = (2 + 2) + (5 * 4) + (2 + title_bytes) + (12 * 4) +
- (2 + num_window_rects * 8) + (4 + 4) +
- (2 + num_visibility_rects * 8) + 4;
-
- rdpup_pre_check(bytes);
- out_uint16_le(g_out_s, 25);
- out_uint16_le(g_out_s, bytes);
- g_count++;
- out_uint32_le(g_out_s, pWindow->drawable.id); /* window_id */
- out_uint32_le(g_out_s, pWindow->parent->drawable.id); /* owner_window_id */
- flags |= WINDOW_ORDER_FIELD_OWNER;
- out_uint32_le(g_out_s, style); /* style */
- out_uint32_le(g_out_s, ext_style); /* extended_style */
- flags |= WINDOW_ORDER_FIELD_STYLE;
- out_uint32_le(g_out_s, 0x05); /* show_state */
- flags |= WINDOW_ORDER_FIELD_SHOW;
- out_uint16_le(g_out_s, title_bytes); /* title_info */
- out_uint8a(g_out_s, title, title_bytes);
- flags |= WINDOW_ORDER_FIELD_TITLE;
- out_uint32_le(g_out_s, 0); /* client_offset_x */
- out_uint32_le(g_out_s, 0); /* client_offset_y */
- flags |= WINDOW_ORDER_FIELD_CLIENT_AREA_OFFSET;
- out_uint32_le(g_out_s, pWindow->drawable.width); /* client_area_width */
- out_uint32_le(g_out_s, pWindow->drawable.height); /* client_area_height */
- flags |= WINDOW_ORDER_FIELD_CLIENT_AREA_SIZE;
- out_uint32_le(g_out_s, 0); /* rp_content */
- out_uint32_le(g_out_s, root_id); /* root_parent_handle */
- flags |= WINDOW_ORDER_FIELD_ROOT_PARENT;
- out_uint32_le(g_out_s, pWindow->drawable.x); /* window_offset_x */
- out_uint32_le(g_out_s, pWindow->drawable.y); /* window_offset_y */
- flags |= WINDOW_ORDER_FIELD_WND_OFFSET;
- out_uint32_le(g_out_s, 0); /* window_client_delta_x */
- out_uint32_le(g_out_s, 0); /* window_client_delta_y */
- flags |= WINDOW_ORDER_FIELD_WND_CLIENT_DELTA;
- out_uint32_le(g_out_s, pWindow->drawable.width); /* window_width */
- out_uint32_le(g_out_s, pWindow->drawable.height); /* window_height */
- flags |= WINDOW_ORDER_FIELD_WND_SIZE;
- out_uint16_le(g_out_s, num_window_rects); /* num_window_rects */
-
- for (index = 0; index < num_window_rects; index++)
- {
- out_uint16_le(g_out_s, 0); /* left */
- out_uint16_le(g_out_s, 0); /* top */
- out_uint16_le(g_out_s, pWindow->drawable.width); /* right */
- out_uint16_le(g_out_s, pWindow->drawable.height); /* bottom */
- }
-
- flags |= WINDOW_ORDER_FIELD_WND_RECTS;
- out_uint32_le(g_out_s, pWindow->drawable.x); /* visible_offset_x */
- out_uint32_le(g_out_s, pWindow->drawable.y); /* visible_offset_y */
- flags |= WINDOW_ORDER_FIELD_VIS_OFFSET;
- out_uint16_le(g_out_s, num_visibility_rects); /* num_visibility_rects */
-
- for (index = 0; index < num_visibility_rects; index++)
- {
- out_uint16_le(g_out_s, 0); /* left */
- out_uint16_le(g_out_s, 0); /* top */
- out_uint16_le(g_out_s, pWindow->drawable.width); /* right */
- out_uint16_le(g_out_s, pWindow->drawable.height); /* bottom */
- }
-
- flags |= WINDOW_ORDER_FIELD_VISIBILITY;
-
- out_uint32_le(g_out_s, flags); /* flags */
- }
-}
-
-/******************************************************************************/
-void
-rdpup_delete_window(WindowPtr pWindow, rdpWindowRec *priv)
-{
- LLOGLN(10, ("rdpup_delete_window: id 0x%8.8x",
- (int)(pWindow->drawable.id)));
-
- if (g_connected)
- {
- rdpup_pre_check(8);
- out_uint16_le(g_out_s, 26);
- out_uint16_le(g_out_s, 8);
- g_count++;
- out_uint32_le(g_out_s, pWindow->drawable.id); /* window_id */
- }
-}
-
-/******************************************************************************/
-void
-rdpup_show_window(WindowPtr pWindow, rdpWindowRec* priv, int showState)
-{
- LLOGLN(10, ("rdpup_show_window: id 0x%8.8x state 0x%x", pWindow->drawable.id,
- showState));
- if (g_connected)
- {
- int flags = WINDOW_ORDER_TYPE_WINDOW;
-
- rdpup_pre_check(16);
- out_uint16_le(g_out_s, 27);
- out_uint16_le(g_out_s, 16);
- g_count++;
- out_uint32_le(g_out_s, pWindow->drawable.id);
- flags |= WINDOW_ORDER_FIELD_SHOW;
- out_uint32_le(g_out_s, flags);
- out_uint32_le(g_out_s, showState);
- }
-}
-
-/******************************************************************************/
-int
-rdpup_check_dirty(PixmapPtr pDirtyPixmap, rdpPixmapRec *pDirtyPriv)
-{
- int index;
- int clip_index;
- int count;
- int num_clips;
- BoxRec box;
- xSegment *seg;
- struct image_data id;
- struct rdp_draw_item *di;
- struct rdp_text* rtext;
- struct rdp_text* trtext;
-
- if (pDirtyPriv == 0)
- {
- return 0;
- }
-
- if (pDirtyPriv->is_dirty == 0)
- {
- return 0;
- }
-
- LLOGLN(10, ("rdpup_check_dirty: got dirty"));
- rdpup_switch_os_surface(pDirtyPriv->rdpindex);
- rdpup_get_pixmap_image_rect(pDirtyPixmap, &id);
- rdpup_begin_update();
- draw_item_pack(pDirtyPixmap, pDirtyPriv);
- di = pDirtyPriv->draw_item_head;
-
- while (di != 0)
- {
- LLOGLN(10, ("rdpup_check_dirty: type %d", di->type));
-
- switch (di->type)
- {
- case RDI_FILL:
- rdpup_set_fgcolor(di->u.fill.fg_color);
- rdpup_set_opcode(di->u.fill.opcode);
- count = REGION_NUM_RECTS(di->reg);
-
- for (index = 0; index < count; index++)
- {
- box = REGION_RECTS(di->reg)[index];
- LLOGLN(10, (" RDI_FILL %d %d %d %d", box.x1, box.y1,
- box.x2, box.y2));
- rdpup_fill_rect(box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
- }
-
- rdpup_set_opcode(GXcopy);
- break;
- case RDI_IMGLL:
- rdpup_set_hints(1, 1);
- rdpup_set_opcode(di->u.img.opcode);
- count = REGION_NUM_RECTS(di->reg);
-
- for (index = 0; index < count; index++)
- {
- box = REGION_RECTS(di->reg)[index];
- LLOGLN(10, (" RDI_IMGLL %d %d %d %d", box.x1, box.y1,
- box.x2, box.y2));
- rdpup_send_area(&id, box.x1, box.y1, box.x2 - box.x1,
- box.y2 - box.y1);
- }
-
- rdpup_set_opcode(GXcopy);
- rdpup_set_hints(0, 1);
- break;
- case RDI_IMGLY:
- rdpup_set_opcode(di->u.img.opcode);
- count = REGION_NUM_RECTS(di->reg);
-
- for (index = 0; index < count; index++)
- {
- box = REGION_RECTS(di->reg)[index];
- LLOGLN(10, (" RDI_IMGLY %d %d %d %d", box.x1, box.y1,
- box.x2, box.y2));
- rdpup_send_area(&id, box.x1, box.y1, box.x2 - box.x1,
- box.y2 - box.y1);
- }
-
- rdpup_set_opcode(GXcopy);
- break;
- case RDI_LINE:
- LLOGLN(10, (" RDI_LINE"));
- num_clips = REGION_NUM_RECTS(di->reg);
-
- if (num_clips > 0)
- {
- rdpup_set_fgcolor(di->u.line.fg_color);
- rdpup_set_opcode(di->u.line.opcode);
- rdpup_set_pen(0, di->u.line.width);
-
- for (clip_index = num_clips - 1; clip_index >= 0; clip_index--)
- {
- box = REGION_RECTS(di->reg)[clip_index];
- rdpup_set_clip(box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
-
- for (index = 0; index < di->u.line.nseg; index++)
- {
- seg = di->u.line.segs + index;
- LLOGLN(10, (" RDI_LINE %d %d %d %d", seg->x1, seg->y1,
- seg->x2, seg->y2));
- rdpup_draw_line(seg->x1, seg->y1, seg->x2, seg->y2);
- }
- }
- }
-
- rdpup_reset_clip();
- rdpup_set_opcode(GXcopy);
- break;
- case RDI_SCRBLT:
- LLOGLN(10, (" RDI_SCRBLT"));
- break;
- case RDI_TEXT:
- LLOGLN(10, (" RDI_TEXT"));
- num_clips = REGION_NUM_RECTS(di->reg);
- if (num_clips > 0)
- {
- LLOGLN(10, (" num_clips %d", num_clips));
- rdpup_set_fgcolor(di->u.text.fg_color);
- rdpup_set_opcode(di->u.text.opcode);
- rtext = di->u.text.rtext;
- trtext = rtext;
- while (trtext != 0)
- {
- rdp_text_chars_to_data(trtext);
- for (clip_index = num_clips - 1; clip_index >= 0; clip_index--)
- {
- box = REGION_RECTS(di->reg)[clip_index];
- rdpup_set_clip(box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
- LLOGLN(10, (" %d %d %d %d", box.x1, box.y1, box.x2, box.y2));
- box = RegionExtents(trtext->reg)[0];
- rdpup_draw_text(trtext->font, trtext->flags, trtext->mixmode,
- box.x1, box.y1, box.x2, box.y2,
- //box.x1, box.y1, box.x2, box.y2,
- 0, 0, 0, 0,
- trtext->x, trtext->y, trtext->data, trtext->data_bytes);
- }
- trtext = trtext->next;
- }
- }
- rdpup_reset_clip();
- rdpup_set_opcode(GXcopy);
- break;
- }
-
- di = di->next;
- }
-
- draw_item_remove_all(pDirtyPriv);
- rdpup_end_update();
- pDirtyPriv->is_dirty = 0;
- rdpup_switch_os_surface(-1);
- return 0;
-}
-
-/******************************************************************************/
-int
-rdpup_check_dirty_screen(rdpPixmapRec *pDirtyPriv)
-{
- int index;
- int clip_index;
- int count;
- int num_clips;
- BoxRec box;
- xSegment *seg;
- struct image_data id;
- struct rdp_draw_item *di;
-
- if (pDirtyPriv == 0)
- {
- return 0;
- }
-
- if (pDirtyPriv->is_dirty == 0)
- {
- return 0;
- }
-
- LLOGLN(10, ("rdpup_check_dirty_screen: got dirty"));
- rdpup_get_screen_image_rect(&id);
- rdpup_begin_update();
- draw_item_pack(0, pDirtyPriv);
- di = pDirtyPriv->draw_item_head;
-
- while (di != 0)
- {
- LLOGLN(10, ("rdpup_check_dirty_screen: type %d", di->type));
-
- switch (di->type)
- {
- case RDI_FILL:
- rdpup_set_fgcolor(di->u.fill.fg_color);
- rdpup_set_opcode(di->u.fill.opcode);
- count = REGION_NUM_RECTS(di->reg);
-
- for (index = 0; index < count; index++)
- {
- box = REGION_RECTS(di->reg)[index];
- LLOGLN(10, (" RDI_FILL %d %d %d %d", box.x1, box.y1,
- box.x2, box.y2));
- rdpup_fill_rect(box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
- }
-
- rdpup_set_opcode(GXcopy);
- break;
- case RDI_IMGLL:
- rdpup_set_hints(1, 1);
- rdpup_set_opcode(di->u.img.opcode);
- count = REGION_NUM_RECTS(di->reg);
-
- for (index = 0; index < count; index++)
- {
- box = REGION_RECTS(di->reg)[index];
- LLOGLN(10, (" RDI_IMGLL x %d y %d w %d h %d", box.x1, box.y1,
- box.x2 - box.x1, box.y2 - box.y1));
- rdpup_send_area(&id, box.x1, box.y1, box.x2 - box.x1,
- box.y2 - box.y1);
- }
-
- rdpup_set_opcode(GXcopy);
- rdpup_set_hints(0, 1);
- break;
- case RDI_IMGLY:
- rdpup_set_opcode(di->u.img.opcode);
- count = REGION_NUM_RECTS(di->reg);
-
- for (index = 0; index < count; index++)
- {
- box = REGION_RECTS(di->reg)[index];
- LLOGLN(10, (" RDI_IMGLY %d %d %d %d", box.x1, box.y1,
- box.x2, box.y2));
- rdpup_send_area(&id, box.x1, box.y1, box.x2 - box.x1,
- box.y2 - box.y1);
- }
-
- rdpup_set_opcode(GXcopy);
- break;
- case RDI_LINE:
- LLOGLN(10, (" RDI_LINE"));
- num_clips = REGION_NUM_RECTS(di->reg);
-
- if (num_clips > 0)
- {
- rdpup_set_fgcolor(di->u.line.fg_color);
- rdpup_set_opcode(di->u.line.opcode);
- rdpup_set_pen(0, di->u.line.width);
-
- for (clip_index = num_clips - 1; clip_index >= 0; clip_index--)
- {
- box = REGION_RECTS(di->reg)[clip_index];
- rdpup_set_clip(box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1);
-
- for (index = 0; index < di->u.line.nseg; index++)
- {
- seg = di->u.line.segs + index;
- LLOGLN(10, (" RDI_LINE %d %d %d %d", seg->x1, seg->y1,
- seg->x2, seg->y2));
- rdpup_draw_line(seg->x1, seg->y1, seg->x2, seg->y2);
- }
- }
- }
-
- rdpup_reset_clip();
- rdpup_set_opcode(GXcopy);
- break;
- case RDI_SCRBLT:
- LLOGLN(10, (" RDI_SCRBLT"));
- break;
- }
-
- di = di->next;
- }
-
- draw_item_remove_all(pDirtyPriv);
- rdpup_end_update();
- pDirtyPriv->is_dirty = 0;
- return 0;
-}
-
-/******************************************************************************/
-int
-rdpup_check_alpha_dirty(PixmapPtr pDirtyPixmap, rdpPixmapRec* pDirtyPriv)
-{
- struct image_data id;
-
- LLOGLN(10, ("rdpup_check_alpha_dirty: width %d height %d",
- pDirtyPixmap->drawable.width, pDirtyPixmap->drawable.height));
- if (pDirtyPriv == 0)
- {
- return 0;
- }
- LLOGLN(10, ("rdpup_check_alpha_dirty: is_alpha_dirty_not %d",
- pDirtyPriv->is_alpha_dirty_not));
- if (pDirtyPriv->is_alpha_dirty_not)
- {
- return 0;
- }
- pDirtyPriv->is_alpha_dirty_not = 1;
- rdpup_switch_os_surface(pDirtyPriv->rdpindex);
- rdpup_get_pixmap_image_rect(pDirtyPixmap, &id);
- rdpup_begin_update();
- rdpup_send_alpha_area(&id, 0, 0, pDirtyPixmap->drawable.width,
- pDirtyPixmap->drawable.height);
- rdpup_end_update();
- rdpup_switch_os_surface(-1);
- return 0;
-}
-
-/******************************************************************************/
-int
-rdpup_add_char(int font, int character, short x, short y, int cx, int cy,
- char* bmpdata, int bmpdata_bytes)
-{
- if (g_connected)
- {
- LLOGLN(10, (" rdpup_add_char"));
- rdpup_pre_check(18 + bmpdata_bytes);
- out_uint16_le(g_out_s, 28); /* add char */
- out_uint16_le(g_out_s, 18 + bmpdata_bytes); /* size */
- g_count++;
- out_uint16_le(g_out_s, font);
- out_uint16_le(g_out_s, character);
- out_uint16_le(g_out_s, x);
- out_uint16_le(g_out_s, y);
- out_uint16_le(g_out_s, cx);
- out_uint16_le(g_out_s, cy);
- out_uint16_le(g_out_s, bmpdata_bytes);
- out_uint8a(g_out_s, bmpdata, bmpdata_bytes);
- }
- return 0;
-}
-
-/******************************************************************************/
-int
-rdpup_add_char_alpha(int font, int character, short x, short y, int cx, int cy,
- char* bmpdata, int bmpdata_bytes)
-{
- if (g_connected)
- {
- LLOGLN(10, (" rdpup_add_char_alpha"));
- rdpup_pre_check(18 + bmpdata_bytes);
- out_uint16_le(g_out_s, 29); /* add char alpha */
- out_uint16_le(g_out_s, 18 + bmpdata_bytes); /* size */
- g_count++;
- out_uint16_le(g_out_s, font);
- out_uint16_le(g_out_s, character);
- out_uint16_le(g_out_s, x);
- out_uint16_le(g_out_s, y);
- out_uint16_le(g_out_s, cx);
- out_uint16_le(g_out_s, cy);
- out_uint16_le(g_out_s, bmpdata_bytes);
- out_uint8a(g_out_s, bmpdata, bmpdata_bytes);
- }
- return 0;
-}
-
-/******************************************************************************/
-int
-rdpup_draw_text(int font, int flags, int mixmode,
- short clip_left, short clip_top,
- short clip_right, short clip_bottom,
- short box_left, short box_top,
- short box_right, short box_bottom, short x, short y,
- char* data, int data_bytes)
-{
- if (g_connected)
- {
- LLOGLN(10, (" rdpup_draw_text"));
- rdpup_pre_check(32 + data_bytes);
- out_uint16_le(g_out_s, 30); /* draw text */
- out_uint16_le(g_out_s, 32 + data_bytes); /* size */
- g_count++;
- out_uint16_le(g_out_s, font);
- out_uint16_le(g_out_s, flags);
- out_uint16_le(g_out_s, mixmode);
- out_uint16_le(g_out_s, clip_left);
- out_uint16_le(g_out_s, clip_top);
- out_uint16_le(g_out_s, clip_right);
- out_uint16_le(g_out_s, clip_bottom);
- out_uint16_le(g_out_s, box_left);
- out_uint16_le(g_out_s, box_top);
- out_uint16_le(g_out_s, box_right);
- out_uint16_le(g_out_s, box_bottom);
- out_uint16_le(g_out_s, x);
- out_uint16_le(g_out_s, y);
- out_uint16_le(g_out_s, data_bytes);
- out_uint8a(g_out_s, data, data_bytes);
- }
- return 0;
-}
-
-/******************************************************************************/
-int
-rdpup_composite(short srcidx, int srcformat, short srcwidth, CARD8 srcrepeat,
- PictTransform* srctransform, CARD8 mskflags,
- short mskidx, int mskformat, short mskwidth, CARD8 mskrepeat,
- CARD8 op, short srcx, short srcy, short mskx, short msky,
- short dstx, short dsty, short width, short height,
- int dstformat)
-{
- if (g_connected)
- {
- LLOGLN(10, (" rdpup_composite"));
- rdpup_pre_check(84);
- out_uint16_le(g_out_s, 33);
- out_uint16_le(g_out_s, 84); /* size */
- g_count++;
- out_uint16_le(g_out_s, srcidx);
- out_uint32_le(g_out_s, srcformat);
- out_uint16_le(g_out_s, srcwidth);
- out_uint8(g_out_s, srcrepeat);
- if (srctransform == 0)
- {
- out_uint8s(g_out_s, 10 * 4);
- }
- else
- {
- out_uint32_le(g_out_s, 1);
- out_uint32_le(g_out_s, srctransform->matrix[0][0]);
- out_uint32_le(g_out_s, srctransform->matrix[0][1]);
- out_uint32_le(g_out_s, srctransform->matrix[0][2]);
- out_uint32_le(g_out_s, srctransform->matrix[1][0]);
- out_uint32_le(g_out_s, srctransform->matrix[1][1]);
- out_uint32_le(g_out_s, srctransform->matrix[1][2]);
- out_uint32_le(g_out_s, srctransform->matrix[2][0]);
- out_uint32_le(g_out_s, srctransform->matrix[2][1]);
- out_uint32_le(g_out_s, srctransform->matrix[2][2]);
- }
- out_uint8(g_out_s, mskflags);
- out_uint16_le(g_out_s, mskidx);
- out_uint32_le(g_out_s, mskformat);
- out_uint16_le(g_out_s, mskwidth);
- out_uint8(g_out_s, mskrepeat);
- out_uint8(g_out_s, op);
- out_uint16_le(g_out_s, srcx);
- out_uint16_le(g_out_s, srcy);
- out_uint16_le(g_out_s, mskx);
- out_uint16_le(g_out_s, msky);
- out_uint16_le(g_out_s, dstx);
- out_uint16_le(g_out_s, dsty);
- out_uint16_le(g_out_s, width);
- out_uint16_le(g_out_s, height);
- out_uint32_le(g_out_s, dstformat);
- }
- return 0;
-}
diff --git a/xorg/X11R7.6/rdp/rdpxv.c b/xorg/X11R7.6/rdp/rdpxv.c
deleted file mode 100644
index 99fbd993..00000000
--- a/xorg/X11R7.6/rdp/rdpxv.c
+++ /dev/null
@@ -1,448 +0,0 @@
-/*
-Copyright 2013 Jay Sorg
-
-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.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-XVideo extension
-
-*/
-
-#include "rdp.h"
-
-#include
-#include
-#include "xvdix.h"
-
-#include
-
-extern rdpScreenInfoRec g_rdpScreen; /* from rdpmain.c */
-
-static DevPrivateKey g_XvScreenKey;
-static char g_xv_adaptor_name[] = "xrdp XVideo adaptor";
-static char g_xv_encoding_name[] = "XV_IMAGE";
-
-#define GET_XV_SCREEN(pScreen) \
- ((XvScreenPtr)dixLookupPrivate(&(pScreen)->devPrivates, g_XvScreenKey))
-
-#define LOG_LEVEL 1
-#define LLOG(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; } } while (0)
-#define LLOGLN(_level, _args) \
- do { if (_level < LOG_LEVEL) { ErrorF _args ; ErrorF("\n"); } } while (0)
-
-#define T_NUM_ENCODINGS 1
-static XvEncodingRec g_encodings[T_NUM_ENCODINGS];
-
-#define T_NUM_FORMATS 1
-static XvFormatRec g_formats[T_NUM_FORMATS];
-
-#define T_NUM_PORTS 1
-static XvPortRec g_ports[T_NUM_PORTS];
-
-#define FOURCC_RV15 0x35315652
-#define FOURCC_RV16 0x36315652
-#define FOURCC_RV24 0x34325652
-#define FOURCC_RV32 0x32335652
-
-#define T_NUM_IMAGES 8
-static XvImageRec g_images[T_NUM_IMAGES] =
-{
- {
- FOURCC_RV15,XvRGB,LSBFirst,
- {'R','V','1','5',0,0,0,0,0,0,0,0,0,0,0,0},
- 16, XvPacked, 1, 15, 0x001f, 0x03e0, 0x7c00, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- {'R','V','B',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
- XvTopToBottom
- },
- {
- FOURCC_RV16,XvRGB,LSBFirst,
- {'R','V','1','6',0,0,0,0,0,0,0,0,0,0,0,0},
- 16, XvPacked, 1, 16, 0x001f, 0x07e0, 0xf800, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- {'R','V','B',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
- XvTopToBottom
- },
- {
- FOURCC_RV24,XvRGB,LSBFirst,
- {'R','V','2','4',0,0,0,0,0,0,0,0,0,0,0,0},
- 32, XvPacked, 1, 24, 0x000000ff, 0x0000ff00, 0x00ff0000, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- {'R','V','B',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
- XvTopToBottom
- },
- {
- FOURCC_RV32, XvRGB, LSBFirst,
- {'R','V','3','2',0,0,0,0,0,0,0,0,0,0,0,0},
- 32, XvPacked, 1, 32, 0x000000ff, 0x0000ff00, 0x00ff0000, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- {'R','V','B',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
- XvTopToBottom
- },
- XVIMAGE_YV12,
- XVIMAGE_YUY2,
- XVIMAGE_UYVY,
- XVIMAGE_I420
-};
-
-/*****************************************************************************/
-static int
-rdpXvAllocatePort(unsigned long port, XvPortPtr pPort, XvPortPtr* ppPort)
-{
- LLOGLN(0, ("rdpXvAllocatePort:"));
- *ppPort = pPort;
- return Success;
-}
-
-/*****************************************************************************/
-static int
-rdpXvFreePort(XvPortPtr pPort)
-{
- LLOGLN(0, ("rdpXvFreePort:"));
- return Success;
-}
-
-/*****************************************************************************/
-static int
-rdpXvPutVideo(ClientPtr client, DrawablePtr pDraw, XvPortPtr pPort, GCPtr pGC,
- INT16 vid_x, INT16 vid_y, CARD16 vid_w, CARD16 vid_h,
- INT16 drw_x, INT16 drw_y, CARD16 drw_w, CARD16 drw_h)
-{
- LLOGLN(0, ("rdpXvPutVideo:"));
- return Success;
-}
-
-/*****************************************************************************/
-static int
-rdpXvPutStill(ClientPtr client, DrawablePtr pDraw, XvPortPtr pPort, GCPtr pGC,
- INT16 vid_x, INT16 vid_y, CARD16 vid_w, CARD16 vid_h,
- INT16 drw_x, INT16 drw_y, CARD16 drw_w, CARD16 drw_h)
-{
- LLOGLN(0, ("rdpXvPutStill:"));
- return Success;
-}
-
-/*****************************************************************************/
-static int
-rdpXvGetVideo(ClientPtr client, DrawablePtr pDraw, XvPortPtr pPort, GCPtr pGC,
- INT16 vid_x, INT16 vid_y, CARD16 vid_w, CARD16 vid_h,
- INT16 drw_x, INT16 drw_y, CARD16 drw_w, CARD16 drw_h)
-{
- LLOGLN(0, ("rdpXvGetVideo:"));
- return Success;
-}
-
-/*****************************************************************************/
-static int
-rdpXvGetStill(ClientPtr client, DrawablePtr pDraw, XvPortPtr pPort, GCPtr pGC,
- INT16 vid_x, INT16 vid_y, CARD16 vid_w, CARD16 vid_h,
- INT16 drw_x, INT16 drw_y, CARD16 drw_w, CARD16 drw_h)
-{
- LLOGLN(0, ("rdpXvGetStill:"));
- return Success;
-}
-
-/*****************************************************************************/
-static int
-rdpXvStopVideo(ClientPtr client, XvPortPtr pPort, DrawablePtr pDraw)
-{
- LLOGLN(0, ("rdpXvStopVideo:"));
- return Success;
-}
-
-/*****************************************************************************/
-static int
-rdpXvSetPortAttribute(ClientPtr client, XvPortPtr pPort, Atom attribute,
- INT32 value)
-{
- LLOGLN(0, ("rdpXvSetPortAttribute:"));
- return Success;
-}
-
-/*****************************************************************************/
-static int
-rdpXvGetPortAttribute(ClientPtr client, XvPortPtr pPort, Atom attribute,
- INT32* p_value)
-{
- LLOGLN(0, ("rdpXvGetPortAttribute:"));
- return Success;
-}
-
-/*****************************************************************************/
-static int
-rdpXvQueryBestSize(ClientPtr client, XvPortPtr pPort, CARD8 motion,
- CARD16 vid_w, CARD16 vid_h, CARD16 drw_w, CARD16 drw_h,
- unsigned int *p_w, unsigned int *p_h)
-{
- LLOGLN(0, ("rdpXvQueryBestSize:"));
- return Success;
-}
-
-/*****************************************************************************/
-static int
-rdpXvPutImage(ClientPtr client, DrawablePtr pDraw, XvPortPtr pPort, GCPtr pGC,
- INT16 src_x, INT16 src_y, CARD16 src_w, CARD16 src_h,
- INT16 drw_x, INT16 drw_y, CARD16 drw_w, CARD16 drw_h,
- XvImagePtr format, unsigned char* data, Bool sync,
- CARD16 width, CARD16 height)
-{
- LLOGLN(0, ("rdpXvPutImage:"));
- return Success;
-}
-
-/*****************************************************************************/
-static int
-rdpXvPrintFormat(int id)
-{
- switch (id)
- {
- case FOURCC_YV12:
- /* big buck bunny 480p h264 */
- /* vob files too */
- LLOGLN(0, ("FOURCC_YV12"));
- break;
- case FOURCC_I420:
- LLOGLN(0, ("FOURCC_I420"));
- break;
- case FOURCC_RV15:
- LLOGLN(0, ("FOURCC_RV15"));
- break;
- case FOURCC_RV16:
- LLOGLN(0, ("FOURCC_RV16"));
- break;
- case FOURCC_YUY2:
- LLOGLN(0, ("FOURCC_YUY2"));
- break;
- case FOURCC_UYVY:
- LLOGLN(0, ("FOURCC_UYVY"));
- break;
- case FOURCC_RV24:
- LLOGLN(0, ("FOURCC_RV24"));
- break;
- default:
- LLOGLN(0, ("other"));
- break;
- }
- return 0;
-}
-
-/*****************************************************************************/
-static int
-rdpXvQueryImageAttributes(ClientPtr client, XvPortPtr pPort, XvImagePtr format,
- CARD16* width, CARD16* height, int* pitches,
- int* offsets)
-{
- int size;
- int tmp;
-
- LLOGLN(0, ("rdpXvQueryImageAttributes:"));
-
-
- size = 0;
- /* this is same code as all drivers currently have */
- if (*width > 2046)
- {
- *width = 2046;
- }
- if (*height > 2046)
- {
- *height = 2046;
- }
- /* make w multiple of 4 so that resizing works properly */
- *width = (*width + 3) & ~3;
- if (offsets)
- {
- offsets[0] = 0;
- }
- LLOGLN(0, ("format %x", format->id));
- rdpXvPrintFormat(format->id);
- switch (format->id)
- {
- case FOURCC_YV12:
- case FOURCC_I420:
- /* make h be even */
- *height = (*height + 1) & ~1;
- /* make w be multiple of 4 (ie. pad it) */
- size = (*width + 3) & ~3;
- /* width of a Y row => width of image */
- if (pitches != 0)
- {
- pitches[0] = size;
- }
- /* offset of U plane => w*h */
- size *= *height;
- if (offsets != 0)
- {
- offsets[1] = size;
- }
- /* width of U, V row => width/2 */
- tmp = ((*width >> 1) +3) & ~3;
- if (pitches != 0)
- {
- pitches[1] = pitches[2] = tmp;
- }
- /* offset of V => Y plane + U plane (w*h + w/2*h/2) */
- tmp *= (*height >> 1);
- size += tmp;
- size += tmp;
- if (offsets != 0)
- {
- offsets[2] = size;
- }
- size += tmp;
- break;
- case FOURCC_RV15:
- case FOURCC_RV16:
- case FOURCC_YUY2:
- case FOURCC_UYVY:
- size = (*width) * 2;
- if (pitches)
- {
- pitches[0] = size;
- }
- size *= *height;
- break;
- case FOURCC_RV24:
- size = (*width) * 3;
- if (pitches)
- {
- pitches[0] = size;
- }
- size *= *height;
- break;
- default:
- LLOGLN(0, ("rdpXvQueryImageAttributes: error"));
- break;
- }
- return size;
-}
-
-/*****************************************************************************/
-static Bool
-rdpXvCloseScreen(int i, ScreenPtr pScreen)
-{
- XvScreenPtr pxvs = GET_XV_SCREEN(pScreen);
-
- LLOGLN(0, ("rdpXvCloseScreen:"));
- free(pxvs->pAdaptors);
- return 0;
-}
-
-/*****************************************************************************/
-static int
-rdpXvQueryAdaptors(ScreenPtr pScreen, XvAdaptorPtr* p_pAdaptors,
- int* p_nAdaptors)
-{
- XvScreenPtr pxvs = GET_XV_SCREEN(pScreen);
-
- LLOGLN(0, ("rdpXvQueryAdaptors:"));
- *p_nAdaptors = pxvs->nAdaptors;
- *p_pAdaptors = pxvs->pAdaptors;
- return Success;
-}
-
-#ifdef MITSHM
-#endif
-
-/*****************************************************************************/
-static int
-rdpXvInitAdaptors(ScreenPtr pScreen)
-{
- XvScreenPtr pxvs = GET_XV_SCREEN(pScreen);
- XvAdaptorPtr pAdaptor;
-
- pAdaptor = malloc(sizeof(XvAdaptorRec));
- memset(pAdaptor, 0, sizeof(XvAdaptorRec));
- pAdaptor->type = XvInputMask | XvOutputMask | XvImageMask |
- XvVideoMask | XvStillMask;
- pAdaptor->pScreen = pScreen;
-
- pAdaptor->name = g_xv_adaptor_name;
-
- pAdaptor->nEncodings = T_NUM_ENCODINGS;
- pAdaptor->pEncodings = g_encodings;
-
- pAdaptor->nFormats = T_NUM_FORMATS;
- pAdaptor->pFormats = g_formats;
-
- pAdaptor->nImages = T_NUM_IMAGES;
- pAdaptor->pImages = g_images;
-
- pAdaptor->nPorts = T_NUM_PORTS;
- pAdaptor->pPorts = g_ports;
-
- pAdaptor->ddAllocatePort = rdpXvAllocatePort;
- pAdaptor->ddFreePort = rdpXvFreePort;
- pAdaptor->ddPutVideo = rdpXvPutVideo;
- pAdaptor->ddPutStill = rdpXvPutStill;
- pAdaptor->ddGetVideo = rdpXvGetVideo;
- pAdaptor->ddGetStill = rdpXvGetStill;
- pAdaptor->ddStopVideo = rdpXvStopVideo;
- pAdaptor->ddSetPortAttribute = rdpXvSetPortAttribute;
- pAdaptor->ddGetPortAttribute = rdpXvGetPortAttribute;
- pAdaptor->ddQueryBestSize = rdpXvQueryBestSize;
- pAdaptor->ddPutImage = rdpXvPutImage;
- pAdaptor->ddQueryImageAttributes = rdpXvQueryImageAttributes;
-
- pxvs->pAdaptors = pAdaptor;
-
- memset(g_encodings, 0, sizeof(g_encodings));
- g_encodings[0].id = FakeClientID(0);
- g_encodings[0].pScreen = pScreen;
- g_encodings[0].name = g_xv_encoding_name;
- g_encodings[0].width = 2046;
- g_encodings[0].height = 2046;
- g_encodings[0].rate.numerator = 1;
- g_encodings[0].rate.denominator = 1;
-
- memset(g_formats, 0, sizeof(g_formats));
- g_formats[0].depth = g_rdpScreen.depth;
- g_formats[0].visual = pScreen->rootVisual;
-
- memset(g_ports, 0, sizeof(g_ports));
- g_ports[0].id = FakeClientID(0);
- g_ports[0].pAdaptor = pAdaptor;
- g_ports[0].pNotify = 0;
- g_ports[0].pDraw = 0;
- g_ports[0].grab.id = 0;
- g_ports[0].grab.client = 0;
- g_ports[0].time = currentTime;
- g_ports[0].devPriv.ptr = 0;
-
- pAdaptor->base_id = g_ports[0].id;
-
- AddResource(g_ports[0].id, XvRTPort, g_ports);
-
- pxvs->nAdaptors = 1;
- pxvs->pAdaptors = pAdaptor;
-
- return 0;
-}
-
-/*****************************************************************************/
-/* returns error */
-int
-rdpXvInit(ScreenPtr pScreen)
-{
- XvScreenPtr pxvs;
-
- LLOGLN(0, ("rdpXvInit:"));
- XvScreenInit(pScreen);
- g_XvScreenKey = XvGetScreenKey();
- pxvs = GET_XV_SCREEN(pScreen);
- pxvs->nAdaptors = 0;
- pxvs->ddCloseScreen = rdpXvCloseScreen;
- pxvs->ddQueryAdaptors = rdpXvQueryAdaptors;
- rdpXvInitAdaptors(pScreen);
- return 0;
-}
diff --git a/xorg/X11R7.6/x11_file_list.txt b/xorg/X11R7.6/x11_file_list.txt
deleted file mode 100644
index c1c7de80..00000000
--- a/xorg/X11R7.6/x11_file_list.txt
+++ /dev/null
@@ -1,101 +0,0 @@
-util-macros-1.11.0.tar.bz2 : util-macros-1.11.0 :
-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 :
-xproto-7.0.20.tar.bz2 : xproto-7.0.20 :
-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.30.0.tar.bz2 : pixman-0.30.0 : --disable-gtk
-freetype-2.4.6.tar.bz2 : freetype-2.4.6 :
-fontconfig-2.8.0.tar.gz : fontconfig-2.8.0 : --disable-docs
-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 :
-xcb-proto-1.6.tar.bz2 : xcb-proto-1.6 :
-libXau-1.0.6.tar.bz2 : libXau-1.0.6 :
-libXdmcp-1.1.0.tar.bz2 : libXdmcp-1.1.0 :
-libxcb-1.7.tar.bz2 : libxcb-1.7 :
-xtrans-1.2.6.tar.bz2 : xtrans-1.2.6 :
-kbproto-1.0.5.tar.bz2 : kbproto-1.0.5 :
-inputproto-2.0.1.tar.bz2 : inputproto-2.0.1 :
-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 :
-fixesproto-4.1.2.tar.bz2 : fixesproto-4.1.2 :
-libXfixes-4.0.5.tar.bz2 : libXfixes-4.0.5 :
-libXdamage-1.1.3.tar.bz2 : libXdamage-1.1.3 :
-MesaLib-7.10.3.tar.bz2 : Mesa-7.10.3 : --with-expat=$PREFIX_DIR --disable-gallium
-randrproto-1.3.2.tar.bz2 : randrproto-1.3.2 :
-renderproto-0.11.1.tar.bz2 : renderproto-0.11.1 :
-xcmiscproto-1.2.1.tar.bz2 : xcmiscproto-1.2.1 :
-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 :
-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 :
-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 :
-mkfontscale-1.0.8.tar.bz2 : mkfontscale-1.0.8 :
-xkbcomp-1.2.0.tar.bz2 : xkbcomp-1.2.0 :
-xdriinfo-1.0.4.tar.bz2 : xdriinfo-1.0.4 :
-applewmproto-1.4.1.tar.bz2 : applewmproto-1.4.1 :
-xorg-server-1.9.3.tar.bz2 : xorg-server-1.9.3 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11 --with-sha1=libcrypto --disable-dmx --without-dtrace
-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 :
-font-util-1.2.0.tar.bz2 : font-util-1.2.0 : --with-fontrootdir=$PREFIX_DIR/share/fonts/X11
-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-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
diff --git a/xorg/X11R7.6/xkeyboard-config-2.0.patch b/xorg/X11R7.6/xkeyboard-config-2.0.patch
deleted file mode 100644
index a77f117a..00000000
--- a/xorg/X11R7.6/xkeyboard-config-2.0.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-diff -rupP xkeyboard-config-2.0.orig/rules/HDR xkeyboard-config-2.0/rules/HDR
---- xkeyboard-config-2.0.orig/rules/HDR 2016-06-28 19:31:02.814647638 +0900
-+++ xkeyboard-config-2.0/rules/HDR 2016-06-28 19:33:58.251517616 +0900
-@@ -15,6 +15,7 @@
- ! model layout[3] variant[3] = symbols
- ! model layout[4] variant[4] = symbols
- ! model = symbols
-+! model layout = symbols
- ! layout variant = compat
- ! layout[1] variant[1] = compat
- ! layout[2] variant[2] = compat
-diff -rupP xkeyboard-config-2.0.orig/rules/Makefile.am xkeyboard-config-2.0/rules/Makefile.am
---- xkeyboard-config-2.0.orig/rules/Makefile.am 2016-06-28 19:31:02.814647638 +0900
-+++ xkeyboard-config-2.0/rules/Makefile.am 2016-06-28 20:58:22.276629031 +0900
-@@ -41,6 +41,7 @@ HDR compat/base.ml2v2_s.part extras/bas
- HDR compat/base.ml3v3_s.part extras/base.ml3v3_s.part \
- HDR compat/base.ml4v4_s.part extras/base.ml4v4_s.part \
- HDR base.m_s.part \
-+HDR base.ml_s1.part \
- HDR compat/base.lv_c.part \
- HDR compat/base.l1v1_c.part \
- HDR compat/base.l2v2_c.part \
-@@ -114,6 +115,7 @@ HDR extras/base.ml2v2_s.part \
- HDR extras/base.ml3v3_s.part \
- HDR extras/base.ml4v4_s.part \
- HDR base.m_s.part \
-+HDR base.ml_s1.part \
- HDR \
- HDR \
- HDR \
-@@ -183,6 +185,7 @@ base.ml2_s.part \
- base.ml3_s.part \
- base.ml4_s.part \
- base.m_s.part \
-+base.ml_s1.part \
- base.ml_c.part \
- base.ml1_c.part \
- base.m_t.part \
-diff -rupP xkeyboard-config-2.0.orig/rules/Makefile.in xkeyboard-config-2.0/rules/Makefile.in
---- xkeyboard-config-2.0.orig/rules/Makefile.in 2016-06-28 19:31:02.850647811 +0900
-+++ xkeyboard-config-2.0/rules/Makefile.in 2016-06-28 21:00:57.569398853 +0900
-@@ -239,6 +239,7 @@ SUBDIRS = bin compat extras
- @USE_COMPAT_RULES_FALSE@HDR extras/base.ml3v3_s.part \
- @USE_COMPAT_RULES_FALSE@HDR extras/base.ml4v4_s.part \
- @USE_COMPAT_RULES_FALSE@HDR base.m_s.part \
-+@USE_COMPAT_RULES_FALSE@HDR base.ml_s1.part \
- @USE_COMPAT_RULES_FALSE@HDR \
- @USE_COMPAT_RULES_FALSE@HDR \
- @USE_COMPAT_RULES_FALSE@HDR \
-@@ -275,6 +276,7 @@ SUBDIRS = bin compat extras
- @USE_COMPAT_RULES_TRUE@HDR compat/base.ml3v3_s.part extras/base.ml3v3_s.part \
- @USE_COMPAT_RULES_TRUE@HDR compat/base.ml4v4_s.part extras/base.ml4v4_s.part \
- @USE_COMPAT_RULES_TRUE@HDR base.m_s.part \
-+@USE_COMPAT_RULES_TRUE@HDR base.ml_s1.part \
- @USE_COMPAT_RULES_TRUE@HDR compat/base.lv_c.part \
- @USE_COMPAT_RULES_TRUE@HDR compat/base.l1v1_c.part \
- @USE_COMPAT_RULES_TRUE@HDR compat/base.l2v2_c.part \
-@@ -378,6 +380,7 @@ base.ml2_s.part \
- base.ml3_s.part \
- base.ml4_s.part \
- base.m_s.part \
-+base.ml_s1.part \
- base.ml_c.part \
- base.ml1_c.part \
- base.m_t.part \
-diff -rupP xkeyboard-config-2.0.orig/rules/base.ml_s1.part xkeyboard-config-2.0/rules/base.ml_s1.part
---- xkeyboard-config-2.0.orig/rules/base.ml_s1.part 1970-01-01 09:00:00.000000000 +0900
-+++ xkeyboard-config-2.0/rules/base.ml_s1.part 2016-06-28 19:59:05.238990192 +0900
-@@ -0,0 +1 @@
-+ $inetkbds jp = +jp(henkan)
-diff -rupP xkeyboard-config-2.0.orig/symbols/jp xkeyboard-config-2.0/symbols/jp
---- xkeyboard-config-2.0.orig/symbols/jp 2016-06-28 19:31:03.046648788 +0900
-+++ xkeyboard-config-2.0/symbols/jp 2016-06-28 19:32:57.367215702 +0900
-@@ -105,6 +105,14 @@ xkb_symbols "common" {
- };
- };
-
-+partial alphanumeric_keys
-+xkb_symbols "henkan" {
-+ key {
-+ type[Group1]= "PC_ALT_LEVEL2",
-+ symbols[Group1]= [ Henkan, Mode_switch ]
-+ };
-+};
-+
- // OADG109A map
- partial alphanumeric_keys
- xkb_symbols "OADG109A" {
diff --git a/xorg/X11R7.6/xorg-server-1.9.3.patch b/xorg/X11R7.6/xorg-server-1.9.3.patch
deleted file mode 100644
index db6591b9..00000000
--- a/xorg/X11R7.6/xorg-server-1.9.3.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/configure
-+++ b/configure
-@@ -21551,6 +21551,7 @@
- if test "x$with_sha1" = xlibcrypto; then
- if test "x$HAVE_LIBCRYPTO" = xyes; then
- SHA1_LIBS=-lcrypto
-+ SHA1_CFLAGS="$OPENSSL_CFLAGS"
- else
- SHA1_LIBS="$OPENSSL_LIBS"
- SHA1_CFLAGS="$OPENSSL_CFLAGS"
diff --git a/xorg/debuild/debX11rdp.sh b/xorg/debuild/debX11rdp.sh
deleted file mode 100755
index 23b1428e..00000000
--- a/xorg/debuild/debX11rdp.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/bash
-
-# receives version, release number and source directory as arguments
-
-VERSION=$1
-RELEASE=$2
-SRCDIR=$3
-PKGDEST=$4
-
-PACKDIR=x11rdp-files
-DESTDIR=$PACKDIR/opt
-NAME=x11rdp
-ARCH=$( dpkg --print-architecture )
-
-
-sed -i -e "s/DUMMYVERINFO/$VERSION-$RELEASE/" $PACKDIR/DEBIAN/control
-sed -i -e "s/DUMMYARCHINFO/$ARCH/" $PACKDIR/DEBIAN/control
-# need a different delimiter, since it has a path
-sed -i -e "s,DUMMYDIRINFO,$SRCDIR," $PACKDIR/DEBIAN/postinst
-
-mkdir -p $DESTDIR
-cp -Rf $SRCDIR $DESTDIR
-dpkg-deb --build $PACKDIR $PKGDEST/${NAME}_$VERSION-${RELEASE}_${ARCH}.deb
-
-# revert to initial state
-rm -rf $DESTDIR
-sed -i -e "s/$VERSION-$RELEASE/DUMMYVERINFO/" $PACKDIR/DEBIAN/control
-sed -i -e "s/$ARCH/DUMMYARCHINFO/" $PACKDIR/DEBIAN/control
-# need a different delimiter, since it has a path
-sed -i -e "s,$SRCDIR,DUMMYDIRINFO," $PACKDIR/DEBIAN/postinst
diff --git a/xorg/debuild/x11rdp-files/DEBIAN/control b/xorg/debuild/x11rdp-files/DEBIAN/control
deleted file mode 100644
index 149e9a83..00000000
--- a/xorg/debuild/x11rdp-files/DEBIAN/control
+++ /dev/null
@@ -1,7 +0,0 @@
-Package: x11rdp
-Version: DUMMYVERINFO
-Section: unknown
-Priority: optional
-Architecture: DUMMYARCHINFO
-Maintainer: Angulo Solido
-Description: X11rdp backend for the xrdp remote access server
diff --git a/xorg/debuild/x11rdp-files/DEBIAN/postinst b/xorg/debuild/x11rdp-files/DEBIAN/postinst
deleted file mode 100755
index 241103af..00000000
--- a/xorg/debuild/x11rdp-files/DEBIAN/postinst
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/bash
-
-X11DIR=DUMMYDIRINFO
-
-# make the /usr/bin/X11rdp symbolic link if it doesn't exist...
-if [ ! -e /usr/bin/X11rdp ]
-then
- if [ -e $X11DIR/bin/X11rdp ]
- then
- ln -s $X11DIR/bin/X11rdp /usr/bin/X11rdp
- else
- clear
- echo "There was a problem... the $X11DIR/bin/X11rdp binary could not be found. Did the compilation complete?"
- echo "Stopped. Please investigate what went wrong."
- exit
- fi
-fi
-
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/nx/client.sh b/xorg/tests/nx/client.sh
deleted file mode 100755
index 5cb7de17..00000000
--- a/xorg/tests/nx/client.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-
-xhost +
-
-# delete chache directory for testing
-rm -r .nx
-
-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/nx/server.sh b/xorg/tests/nx/server.sh
deleted file mode 100755
index 56d8b120..00000000
--- a/xorg/tests/nx/server.sh
+++ /dev/null
@@ -1,14 +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
-
-# cache not set, defaulting, client script clears directory
-./nxagent -D -bs -ac -dpi 96 -geometry 1024x768 -noshpix -display nx/nx,link=adsl,delta=1,stream=1,data=1:9 :9
diff --git a/xorg/tests/randr/Makefile b/xorg/tests/randr/Makefile
deleted file mode 100644
index 3ab4280c..00000000
--- a/xorg/tests/randr/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-
-CFLAGS = -O2 -Wall
-
-all: test-randr
-
-test-randr: trandr.c
- gcc $(CFLAGS) trandr.c -o test-randr -lX11 -lXrandr
-
-.PHONY clean:
- rm -f *.o test-randr
-
diff --git a/xorg/tests/randr/trandr.c b/xorg/tests/randr/trandr.c
deleted file mode 100644
index 6c51a000..00000000
--- a/xorg/tests/randr/trandr.c
+++ /dev/null
@@ -1,146 +0,0 @@
-/**
- * xrdp: A Remote Desktop Protocol server.
- *
- * Copyright (C) Jay Sorg 2013
- *
- * 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.
- */
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-static int
-process_randr(Display *disp, Screen *screen, int screenNumber, Window win,
- int event_base, XEvent *ev)
-{
- XRRScreenChangeNotifyEvent *rr_screen_change_notify;
-
- switch (ev->type - event_base)
- {
- case RRScreenChangeNotify:
- XRRUpdateConfiguration(ev);
- rr_screen_change_notify = (XRRScreenChangeNotifyEvent *) ev;
- printf("RRScreenChangeNotify: width %d height %d\n",
- rr_screen_change_notify->width,
- rr_screen_change_notify->height);
- printf("DisplayWidth %d DisplayHeight %d\n",
- DisplayWidth(disp, screenNumber),
- DisplayHeight(disp, screenNumber));
- break;
- }
- return 0;
-}
-
-int
-main(int argc, char **argv)
-{
- XEvent ev;
- Display *disp;
- Window win;
- Window root_window;
- Screen *screen;
- int screenNumber;
- int eventMask;
- int white;
- int black;
- int rr_event_base;
- int rr_error_base;
- int ver_maj;
- int ver_min;
- int cont;
-
- disp = XOpenDisplay(0);
- if (disp == 0)
- {
- printf("error opening display\n");
- return 1;
- }
- screenNumber = DefaultScreen(disp);
- white = WhitePixel(disp, screenNumber);
- black = BlackPixel(disp, screenNumber);
-
- screen = ScreenOfDisplay(disp, screenNumber);
- root_window = RootWindowOfScreen(screen);
-
- eventMask = StructureNotifyMask;
- XSelectInput(disp, root_window, eventMask);
-
- win = XCreateSimpleWindow(disp, root_window, 50, 50, 250, 250,
- 0, black, white);
-
- XMapWindow(disp, win);
- eventMask = StructureNotifyMask | VisibilityChangeMask;
- XSelectInput(disp, win, eventMask);
-
- eventMask = KeyPressMask | KeyReleaseMask | ButtonPressMask |
- ButtonReleaseMask | VisibilityChangeMask |
- FocusChangeMask | StructureNotifyMask |
- PointerMotionMask | ExposureMask | PropertyChangeMask;
- XSelectInput(disp, win, eventMask);
-
- if (!XRRQueryExtension(disp, &rr_event_base, &rr_error_base))
- {
- printf("error randr\n");
- return 1;
- }
- XRRQueryVersion(disp, &ver_maj, &ver_min);
- printf("randr version %d %d\n", ver_maj, ver_min);
-
- XRRSelectInput(disp, win, RRScreenChangeNotifyMask);
-
- cont = 1;
- while (cont)
- {
- XNextEvent(disp, &ev);
- switch (ev.type)
- {
- case ButtonPress:
- cont = 0;
- break;
- case ClientMessage:
- printf("ClientMessage\n");
- break;
- case ConfigureNotify:
- if (ev.xconfigure.window == root_window)
- {
- XRRUpdateConfiguration(&ev);
- printf("ConfigureNotify for root window "
- "width %d height %d\n",
- ev.xconfigure.width, ev.xconfigure.height);
- }
- break;
- default:
- if ((ev.type >= rr_event_base) &&
- (ev.type < rr_event_base + RRNumberEvents))
- {
- printf("randr\n");
- process_randr(disp, screen, screenNumber, win,
- rr_event_base, &ev);
- }
- break;
- }
- }
-
- return 0;
-}
diff --git a/xorg/tests/xdemo/Makefile b/xorg/tests/xdemo/Makefile
deleted file mode 100644
index 6c98d1ce..00000000
--- a/xorg/tests/xdemo/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-
-CFLAGS = -Werror -Wall
-
-all: xdemo
-
-xdemo: xdemo.c bmp_parser.c
- gcc $(CFLAGS) xdemo.c bmp_parser.c -o xdemo -lX11
-
-.PHONY clean:
- rm -f *.o xdemo
-
diff --git a/xorg/tests/xdemo/README.txt b/xorg/tests/xdemo/README.txt
deleted file mode 100644
index 2bb59358..00000000
--- a/xorg/tests/xdemo/README.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-
-this is 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 60d86864..00000000
--- a/xorg/tests/xdemo/bmp_parser.c
+++ /dev/null
@@ -1,238 +0,0 @@
-/**
- * xrdp: A Remote Desktop Protocol server.
- *
- * Copyright (C) Laxmikant Rashinkar 2004-2012
- *
- * 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.
- */
-
-#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 opening %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 8ed4ee65..00000000
--- a/xorg/tests/xdemo/common.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * xrdp: A Remote Desktop Protocol server.
- *
- * Copyright (C) Laxmikant Rashinkar 2012
- *
- * 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.
- */
-
-#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 5e936747..00000000
--- a/xorg/tests/xdemo/xdemo.c
+++ /dev/null
@@ -1,897 +0,0 @@
-/**
- * xrdp: A Remote Desktop Protocol server.
- *
- * Copyright (C) Laxmikant Rashinkar 2012
- *
- * 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.
- */
-
-#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
-#define SCROLL_SMOOTH3 4 // scroll using XPutImage only
-#define SCROLL_SMOOTH4 5 // 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() returned 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
-}
-
-static void
-drawoffscreen(void)
-{
- int depth;
- Pixmap pixmap1;
- Pixmap pixmap2;
-
- printf("draw off screen, should see green rect\n");
- depth = DefaultDepth(g_disp, DefaultScreen(g_disp));
-
- /* blue */
- pixmap1 = XCreatePixmap(g_disp, g_win, 64, 64, depth);
- XSetForeground(g_disp, g_gc, 0x000000ff);
- XFillRectangle(g_disp, pixmap1, g_gc, 0, 0, 64, 64);
-
- /* green */
- pixmap2 = XCreatePixmap(g_disp, g_win, 64, 64, depth);
- XSetForeground(g_disp, g_gc, 0x0000ff00);
- XFillRectangle(g_disp, pixmap2, g_gc, 0, 0, 64, 64);
-
- /* copy green to blue */
- XCopyArea(g_disp, pixmap2, pixmap1, g_gc, 0, 0, 64, 64, 0, 0);
-
- /* put on screen */
- XCopyArea(g_disp, pixmap1, g_win, g_gc, 0, 0, 64, 64, 128, 128);
-
- XFreePixmap(g_disp, pixmap1);
- XFreePixmap(g_disp, pixmap2);
-}
-
-/**
- * display a usage message
- */
-static void
-usage(void)
-{
- 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 \n");
- printf(" -z zero proxy counters for specified application\n");
- printf(" -j offscreen to offscreen test\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 draw_offscreen;
- 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;
- draw_offscreen = 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, "lrsjg:c:f:i:d:o:z:")) != -1)
- {
- switch (opt)
- {
-
- case 'j':
- draw_lines = 0;
- draw_rects = 0;
- draw_stipples = 0;
- draw_fonts = 0;
- draw_image = 0;
- draw_offscreen = 1;
- break;
-
- 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;
- draw_offscreen = 0;
- break;
-
- case 'r':
- draw_rects = 1;
- draw_lines = 0;
- draw_stipples = 0;
- draw_fonts = 0;
- draw_image = 0;
- draw_offscreen = 0;
- break;
-
- case 's':
- draw_stipples = 1;
- draw_lines = 0;
- draw_rects = 0;
- draw_fonts = 0;
- draw_image = 0;
- draw_offscreen = 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;
- draw_offscreen = 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;
- draw_offscreen = 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 if (strcmp(optarg, "smooth3") == 0)
- {
- scroll_type = SCROLL_SMOOTH3;
- }
- else if (strcmp(optarg, "smooth4") == 0)
- {
- scroll_type = SCROLL_SMOOTH4;
- }
- 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) && (!draw_offscreen))
- {
- 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 (draw_offscreen)
- {
- }
-
- if (zero_counters)
- {
- signal_tcp_proxy(proxy_app);
- }
-
- eventMask = ButtonPressMask | ButtonReleaseMask | KeyPressMask;
-
- XSelectInput(g_disp, g_win, eventMask);
-
- do
- {
- XNextEvent(g_disp, &evt); // calls XFlush()
-
- if (evt.type == KeyPress)
- {
- if (draw_offscreen)
- {
- drawoffscreen();
- }
- }
-
- }
- 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;
- }
-
- // copy image to pixelmap
- XPutImage(g_disp, pixmap, g_gc, image, 0, 0, 0, 0, pic_info.width, pic_info.height);
-
- if (scroll_type == SCROLL_JUMP)
- {
-
- 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)
- {
- printf("running SCROLL_SMOOTH1\n");
- 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)
- {
- printf("running SCROLL_SMOOTH2\n");
- 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);
- }
- }
-
- if (scroll_type == SCROLL_SMOOTH3)
- {
- printf("running SCROLL_SMOOTH3\n");
- XFlush(g_disp);
- XCopyArea(g_disp, pixmap, g_win, g_gc, 0, 0, pic_info.width, pic_info.height, 0, 0);
- 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);
- XCopyArea(g_disp, pixmap, g_win, g_gc, 0, g_winHeight + i, pic_info.width, 1, 0, g_winHeight - 1);
- XFlush(g_disp);
- usleep(10000);
- }
-
- return 0;
- }
-
- if (scroll_type == SCROLL_SMOOTH4)
- {
- printf("running SCROLL_SMOOTH4\n");
- XFlush(g_disp);
-
- for (i = 0; i < j; i++)
- {
- XCopyArea(g_disp, pixmap, g_win, g_gc, 0, i, pic_info.width, pic_info.height - i, 0, 0);
- XFlush(g_disp);
- usleep(10000);
- }
- }
-
- return 0;
-}
-
-int process_bmp_event(void)
-{
- 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 da2e8eed..00000000
Binary files a/xorg/tests/xdemo/yosemite.bmp and /dev/null differ
--
cgit v1.2.1