From dcbb0ab8521a5e166f257d86884407eb98ef63f0 Mon Sep 17 00:00:00 2001
From: auroux
Date: Tue, 25 Mar 2008 04:41:19 +0000
Subject: [PATCH] Update to version 0.4.2.
---
AUTHORS | 3 +-
ChangeLog | 7 +
NEWS | 2 +-
README | 2 +-
configure.in | 2 +-
html-doc/manual.html | 93 ++++---
linuxwacom-0.7.0-rotate-patch | 308 ---------------------
pixmaps/shapes.png | Bin 0 -> 294 bytes
src/Makefile.am | 3 +-
src/TODO | 67 +++--
src/main.c | 7 +
src/xo-callbacks.c | 182 ++++++++++---
src/xo-callbacks.h | 7 +
src/xo-file.c | 120 +++++++--
src/xo-file.h | 1 +
src/xo-interface.c | 75 ++++--
src/xo-misc.c | 169 ++++++++++--
src/xo-misc.h | 5 +
src/xo-paint.c | 261 ++++++++++++++++--
src/xo-paint.h | 5 +
src/xo-print.c | 69 +++--
src/xo-print.h | 2 +-
src/xo-shapes.c | 613 ++++++++++++++++++++++++++++++++++++++++++
src/xo-shapes.h | 25 ++
src/xournal.h | 28 +-
xournal.glade | 76 ++++--
26 files changed, 1578 insertions(+), 554 deletions(-)
delete mode 100644 linuxwacom-0.7.0-rotate-patch
create mode 100644 pixmaps/shapes.png
create mode 100644 src/xo-shapes.c
create mode 100644 src/xo-shapes.h
diff --git a/AUTHORS b/AUTHORS
index 5c78305..3d78974 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1 +1,2 @@
-Denis Auroux (auroux@math.mit.edu)
+- Denis Auroux (auroux@math.mit.edu)
+- various patch contributors as noted in the ChangeLog
diff --git a/ChangeLog b/ChangeLog
index a1eb927..3d65b56 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Version 0.4.2 (Mar 25, 2008):
+ - bugfixes for X.org 7.3; allow XInput and core events in reverse order
+ - resize selection (patch contributed by Andy Neitzke)
+ - pressure sensitive pen (variable stroke width) (patch by Andy Neitzke)
+ - geometric shape recognizer (after an idea by Lukasz Kaiser) (see manual)
+ - clean up compiler warnings (patch contributed by Danny Kukawka)
+
Version 0.4.1 (Sep 15, 2007):
- bugfix: compatibility with new versions of pdftoppm (thanks to V. Ciancia)
- GTK+ 2.11 event processing bugfix
diff --git a/NEWS b/NEWS
index 8bed444..8adf320 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,4 @@
-Version 0.4.1 (September 15, 2007)
+Version 0.4.2 (March 25, 2008)
Installation: see INSTALL
User's manual: see html-doc/manual.html
diff --git a/README b/README
index 8bed444..8adf320 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-Version 0.4.1 (September 15, 2007)
+Version 0.4.2 (March 25, 2008)
Installation: see INSTALL
User's manual: see html-doc/manual.html
diff --git a/configure.in b/configure.in
index 3f83ca8..66c9057 100644
--- a/configure.in
+++ b/configure.in
@@ -1,7 +1,7 @@
dnl Process this file with autoconf to produce a configure script.
AC_INIT(configure.in)
-AM_INIT_AUTOMAKE(xournal, 0.4.1)
+AM_INIT_AUTOMAKE(xournal, 0.4.2)
AM_CONFIG_HEADER(config.h)
AM_MAINTAINER_MODE
diff --git a/html-doc/manual.html b/html-doc/manual.html
index 3faea72..f043617 100644
--- a/html-doc/manual.html
+++ b/html-doc/manual.html
@@ -24,7 +24,7 @@
Xournal User's Manual
- Version 0.4.1
+ Version 0.4.2
@@ -156,6 +156,31 @@ the Tools menu):
line segments instead of curvy strokes. For simplicity, selecting the
ruler when not in pen or highlighter mode automatically selects the pen.
+
+ The shape recognizer
+
+ The shape recognizer is also a special
+ operating mode of the pen and highlighter tools. When it is enabled,
+ Xournal attempts to recognize geometric shapes as they are drawn, and
+ if successful will replace the drawn strokes accordingly. The shapes
+ that can be recognized are: line segments, circles, rectangles, arrows,
+ triangles and quadrilaterals. Polygonal shapes can be drawn in a single
+ stroke or in a sequence of consecutive strokes.
+
+
+ The recognizer is set to be as unobtrusive as possible, and should not
+ interfere too much with handwriting. (It differs in this and other ways
+ from another shape recognizer written for Xournal by Lukasz Kaiser).
+ As a result, it may only recognize shapes if you draw them carefully and
+ deliberately. Specific tips for better recognition: (1) for circles,
+ a closed curve that isn't quite round works better
+ than a rounder curve that doesn't close; (2) for arrows, it is better
+ to lift the pen before drawing the tip of the arrow, and make sure
+ the tip consists of two straight line segments;
+ (3) for very elongated rectangles,
+ recognition tends to be better if you lift the pen between consecutive
+ sides.
+
Default tools
Each tool (pen, eraser, highlighter, text) has a default setting
@@ -555,6 +580,17 @@ Bug reports and suggestions can also be submitted on Xournal's
Version history
+Version 0.4.2 (Mar 25, 2008):
+
+ - bugfixes for X.org 7.3; allow XInput and core events in reverse order
+ - resize selection (patch contributed by Andy Neitzke)
+ - pressure sensitive pen (variable stroke width) (patch by Andy Neitzke)
+ - geometric shape recognizer (after an idea by Lukasz Kaiser)
+ (see here)
+ - clean up compiler warnings (patch contributed by Danny Kukawka)
+
+
+
Version 0.4.1 (Sep 15, 2007):
- bugfix: compatibility with new versions of pdftoppm (thanks to
@@ -790,11 +826,21 @@ The tool attribute can take the values "pen", "highlighter", or
or whiteout eraser); a value of "highlighter" indicates that the stroke
should be painted in a partially transparent manner (Xournal uses an alpha
coefficient of 0.5).
+
+
The color attribute can take one of the standard values "black",
"blue", "red", "green", "gray", "lightblue", "lightgreen", "magenta",
"orange", "yellow", "white", or can specify a hexadecimal RGBA value in
-the format "#rrggbbaa". The width attribute is a floating-point
-number and specifies the width of the stroke in points (1/72 in).
+the format "#rrggbbaa".
+
+
+The width attribute is a floating-point
+number (or a sequence of floating-point numbers starting with version 0.4.2),
+and specifies the width of the stroke in points (1/72 in). (For a
+variable-width stroke, the width attribute contains a
+whitespace-separated succession of floating-point values: first the
+nominal brush width, and then the width of each successive segment forming
+the stroke.)
The list of coordinates is simply a succession of floating-point values,
@@ -842,7 +888,7 @@ modern Linux distributions such as Fedora Core 3 or later, or RHEL 4 or
later):
- the gtk+ libraries, version 2.4 or later
- (2.6 recommended) (package gtk2 and dependencies)
+ (2.6 strongly recommended) (package gtk2 and dependencies)
- libgnomecanvas version 2.4 or later
(package libgnomecanvas and dependencies)
- libgnomeprint and libgnomeprintui version 2.2 or later
@@ -1016,9 +1062,9 @@ linuxwacom driver, the tablet calibration information is often not updated
properly when using xsetwacom).
-Important: due to issues with the linuxwacom driver, it is important
-to either upgrade your driver to a patched
-version, or restrict your choice of settings as follows:
+Important: due to issues with old versions of the linuxwacom
+driver (< 0.7.6), it is important to upgrade your driver,
+or restrict your choice of settings as follows:
- your calibration settings should not be changed at runtime (i.e.,
insert your settings directly into your X server configuration file.
@@ -1030,8 +1076,8 @@ Do not add a list of xsetwacom commands to your startup files).
Strokes aren't drawn under the cursor...
-This is due to misfeatures in the linuxwacom driver in versions prior
-to 0.7.6. Typically, this will happen in all of the following cases:
+This is typically due to misfeatures in the linuxwacom driver in versions
+prior to 0.7.6, and will happen in all of the following cases:
- the calibration settings have been changed after the X server was
started (using xsetwacom)
@@ -1042,24 +1088,24 @@ Most of these issues should have been fixed in version 0.7.6 of the
wacom driver. Otherwise, you can
either disable XInput support in Xournal (in the Options menu), at a
price of a severe loss of resolution (and the eraser tip won't be detected
-anymore), or apply this patch
-to version 0.7.0 of the wacom driver.
+anymore), or inspect carefully your X server configuration and make
+sure the tablet devices are calibrated and configured properly.
I have also had a report that one of the workarounds used by Xournal to
bypass a calibration bug in GTK+ can actually entirely prevent strokes
from being drawn. If you are being unsuccessful at drawing in Xournal
-with XInput enabled, try recompiling after changing the first line of
-src/main.c to
-
#define ENABLE_XINPUT_BUGFIX 0
+with XInput enabled, try recompiling after commenting out the line
+#define ENABLE_XINPUT_BUGFIX
+near the beginning of src/xournal.h.
If this modification does improve things for you, and if you have a bit
of spare time to help investigate the causes of this problem, please
contact me.
On-the-fly display rotation
-You need an X server that supports the RANDR extension, and a
-recent (0.7.6 or later) or patched
+You need an X server that supports the RANDR extension, and a sufficiently
+recent (0.7.6 or later)
version of the linuxwacom driver to support on-the-fly rotation.
@@ -1078,20 +1124,5 @@ otherwise the tablet calibration in Xournal may (and most likely will)
become incorrect.
Exit Xournal and restart it after the display has been rotated.
-
-Linuxwacom patch for calibration and rotation
-
-This patch fixes rotation and calibration issues with the linuxwacom driver
-version 0.7.0.
-
-- The patch
-file for the linuxwacom source code (also included with the Xournal
-distribution).
-- The patched
-binaries for the X.org X server.
-
-This patch has been included in version 0.7.6 of the linuxwacom driver,
-and should now be obsolete.
-