xserver-multidpi/hw/xfree86
Peter Hutterer 21ea7ebb6a dix: scale y back instead of x up when pre-scaling coordinates
The peculiar way we handle coordinates results in relative coordinates on
absolute devices being added to the last value, then that value is mapped to
the screen (taking the device dimensions into account). From that mapped
value we get the final coordinates, both screen and device coordinates.

To avoid uneven scaling on relative coordinates, they are pre-scaled by
screen ratio:resolution:device ratio factor before being mapped. This
ensures that a circle drawn on the device is a circle on the screen.

Previously, we used the ratio to scale x up. Synaptics already does its own
scaling based on the resolution and that is done by scaling y down by the
ratio. So we can remove the code from the driver and get approximately the
same behaviour here.

Minor ABI bump, so we can remove this from synaptics.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Tested-by: Emmanuel Benisty <benisty.e@gmail.com>
2013-07-22 14:18:30 +10:00
..
common dix: scale y back instead of x up when pre-scaling coordinates 2013-07-22 14:18:30 +10:00
ddc Define prototypes for hw/xfree86/modes/xf86Modes.c only in xf86Modes.h. 2013-04-08 09:19:34 -07:00
dixmods Constify extensions in LoadExtension users 2012-11-21 11:13:55 +11:00
doc dix: Remove refs to mi backing store from docs 2012-09-23 10:31:39 -07:00
dri Merge remote-tracking branch 'yselkowitz/master' 2012-12-19 12:22:03 -08:00
dri2 Revert "DRI2: re-allocate DRI2 drawable if pixmap serial changes" 2013-06-18 10:54:22 -07:00
exa api: rework the X server driver API to avoid global arrays. 2012-06-05 13:22:18 +01:00
fbdevhw Define prototypes for hw/xfree86/modes/xf86Modes.c only in xf86Modes.h. 2013-04-08 09:19:34 -07:00
i2c Fix formatting of address operators 2012-12-05 18:09:48 -06:00
int10 int10: fix pci_device_read_rom usage 2012-10-04 13:06:02 -07:00
loader Fix up formatting of initializers for arrays of structs 2012-08-06 15:22:53 -07:00
man dix: allow a ConstantDeceleration between 0 and 1 (#66134) 2013-07-17 14:27:26 +10:00
modes Abstract cursor refcounting 2013-05-15 19:17:57 +10:00
os-support Fix mouse header include on DragonFly and FreeBSD 2013-07-17 14:27:26 +10:00
parser Remove obsolete tab stop comments from hw/xfree86/parser/*.c 2012-06-20 21:41:52 -07:00
ramdac Abstract cursor refcounting 2013-05-15 19:17:57 +10:00
shadowfb api: rework the X server driver API to avoid global arrays. 2012-06-05 13:22:18 +01:00
utils Define prototypes for hw/xfree86/modes/xf86Modes.c only in xf86Modes.h. 2013-04-08 09:19:34 -07:00
vbe Define prototypes for hw/xfree86/modes/xf86Modes.c only in xf86Modes.h. 2013-04-08 09:19:34 -07:00
vgahw xf86dga: handle DGAAvailable for gpu screens. (v2) 2012-07-07 10:37:10 +01:00
x86emu Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
.gitignore xfree86: Move sdksyms generation to ddx toplevel 2011-06-23 05:28:31 -07:00
Makefile.am Remove XAA 2012-07-10 00:41:57 -07:00
sdksyms.sh dix: fix redundant redeclaration warnings in dixfont 2012-11-05 13:24:59 -06:00
xorgconf.cpp xfree86: use sed rather than cpp to perform string substitutions 2011-01-18 15:11:14 -08:00