debian/0000755000000000000000000000000012240516310007160 5ustar debian/compat0000644000000000000000000000000212240505652010365 0ustar 9 debian/engauge-digitizer.desktop0000644000000000000000000000041512225610266014166 0ustar [Desktop Entry] Name=Engauge-digitizer Type=Application Comment=Extract data from graphs TryExec=engauge Exec=engauge %F MimeType=text/plain Categories=Education;Science;DataVisualization Icon=/usr/share/pixmaps/engauge-digitizer.xpm Keywords=Analog-Digital Converter; debian/engauge.10000644000000000000000000000637212225574101010672 0ustar .TH ENGAUGE-DIGITIZER 1 "December 14, 2006" .SH NAME engauge-digitizer \- interactively convert a bitmap graph or map into numbers .SH SYNOPSIS .B engauge .RI [ options ] .SH DESCRIPTION This manual page documents briefly the .B engauge command from the engauge-digitizer package. .PP .SH Startup .TP .B -import FILE Automatically import the specified image file at startup. Image files may also be imported manually using the menu .TP .B -open FILE Automatically open the specified Engauge Digitizer document file at startup. Document files may also be opened manually using the menu .TP .B -help Display a list of command line options similar to this manpage in an X window and exit .TP .B -manual DIRECTORY Look for the HTML user guide in the specified directory. For Debian it is installed in /usr/share/doc/engauge-digitizer/usermanual and should need no configuration. .TP .B -axes XMIN XMAX YMIN YMAX Scan the imported file at startup, and locate the X and Y axes. Then digitize axis points assuming the X axis ranges from XMIN to XMAX, and the Y axis ranges from YMIN to YMAX. The X axis is assumed to be near the bottom of the image, and the Y axis is assumed to be on the left side of the image. For speed, no attempt to rotate the image if it is sideways, so the digitized points may require adjustment. This feature should be useful when using Perl or other scripts to digitize many images with known axes ranges. The axis points may also be digitized manually using the Digitize Axis Points mode .TP .B -lazysegments Postpone scanning for segments that is normally performed during startup, until either the Segments dialog is used, or the Segment Fill button is selected. .SH Shutdown .TP .B -export FILE Automatically export the active document at shutdown. Documents may also be exported manually using the menu. .SH Settings .TP .B -reset Reset all settings to the factory defaults. This option is a fast and easy way to restore all settings to a useful configuration, especially when there are problems with one or more settings. Settings are stored in a text file such as $HOME/.qt/engaugerc. .SH Debugging .TP .B -pixels Show cursor location in pixel coordinates rather than graph coordinates .TP .B -ctor Trace constructor calls .TP .B -dtor Trace destructor calls .TP .B -curvecmb Trace curve combobox operations .TP .B -measurecmb Trace measure combobox operations .TP .B -refresh Trace screen refreshes .TP .B -scanning Trace image scanning .SH Environment variables .TP .B ENGAUGE_BROWSER To start up the date/time converter from within Engauge Digitizer, this environment variable must be set to the shell command that runs a javascript-capable browser. Examples are 'firefox', 'konqueror', ... .TP .B ENGAUGE_USERMANUAL If set, this specifies the directory containing the user manual. This option, like the '\-manual' command line option, should not be needed on a Debian installation. .SH SEE ALSO The program is documented quite nicely in the HTML user guide and tutorial, available under /usr/share/doc/engauge-digitzer/usermanual or from Help within the running program. .SH AUTHOR engauge-digitizer was written by Mark Mitchell . .PP This manual page was written by Tobias Stefan Richter for the Debian project (but may be used by others). debian/source/0000755000000000000000000000000012143701771010471 5ustar debian/source/format0000644000000000000000000000001412143701771011677 0ustar 3.0 (quilt) debian/control0000644000000000000000000000277312240514076010603 0ustar Source: engauge-digitizer Section: science Priority: optional Maintainer: Tobias Winchen Build-Depends: dpkg-dev (>= 1.16.1~), debhelper (>= 9), libqt4-dev, libfftw3-dev Standards-Version: 3.9.5 Vcs-git: git://github.com/winchen/engauge_debian.git Vcs-Browser: https://github.com/winchen/engauge_debian Homepage: http://digitizer.sourceforge.net/ Package: engauge-digitizer Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Suggests: engauge-digitizer-doc Description: interactively extracts numbers from bitmap graphs or maps This digitizing software converts an image file showing a graph or map into xy data (coordinates). Some people use it for obtaining the original data from graphs in scientific publications. . Features: * Automatic grid line removal * Automatic point matching * Automatic curve tracing * Automatic axes matching * Handles cartesian, polar, linear and logarithmic graphs * Support for drag-and-drop and copy-and-paste * Context sensitive help, user manual and tutorials explain every feature * Preview windows give immediate feedback while modifying settings Package: engauge-digitizer-doc Section: doc Architecture: all Depends: ${misc:Depends} Recommends: engauge-digitizer Description: engauge-digitizer user manual and tutorial engauge-digitizer converts an image file showing a graph or map into numbers. . This package contains the HTML user guide and tutorial, which is accessible from within the main program. debian/engauge-digitizer.manpages0000644000000000000000000000002112225574101014276 0ustar debian/engauge.1 debian/changelog0000644000000000000000000000715712240511767011057 0ustar engauge-digitizer (5.2-1) unstable; urgency=low * New upstream release (Closes: #716732) - Makes patch Added-missing-include-fix-FTBFS-on-gcc-4.7 obsolete - Makes patch fix_qreal_vs_double.patch obsolete - Fixes segmentation fault in point match (Closes: #695858) - Fixes segmentation fault when exporting certain curves (Closes: #725165) * Minimum debian/rules files now using dh * Updated to standards version 3.9.5 * Updated to debhelper 9 * Added patch from upstream allowing strict aliasing * Fixed lintian warnings in dep-5 copyright formatting * Added keywords to desktop file * Added Vcs-git and Vcs-Browser fields to debian/control * removed shlibs:Depends dependency for engauge-doc -- Tobias Winchen Thu, 10 Oct 2013 20:21:57 +0200 engauge-digitizer (5.0-3) unstable; urgency=low * Added patch including mising header. Closes: #672068 (FTBFS with gcc-4.7) -- Tobias Winchen Thu, 17 May 2012 11:46:21 +0200 engauge-digitizer (5.0-2) unstable; urgency=low * Added patch fixing passing double as qreal. Closes: #656943 (FTBFS on armel and armhf) * Remove deprecated encoding key in desktop file * Updated to standards version 3.9.3 -- Tobias Winchen Mon, 19 Mar 2012 14:16:21 +0100 engauge-digitizer (5.0-1) unstable; urgency=low * New upstream release - Moved to Qt4 (Closes: #604503) * New maintainer * Moved to standards version 3.9.2 * Updated debhelper compatibility level to 7 * Fixed wrong title in menu entry (Closes: #556025) * Added .desktop file (Closes: #556028) * Removed wrapper to start program with old name * Moved copyright to DEP5 -- Tobias Winchen Mon, 26 Sep 2011 21:45:52 +0200 engauge-digitizer (4.1-2) unstable; urgency=low * Change build depedency fftw3-dev to libfftw3-dev (from ubuntu). * remove dependency on libqt3-compat-headers by kind patch from Barry deFreese (Closes: #464391) * drop dpatch build dependency - currently not used * minor changes to bump standards version to 3.7.3 -- Tobias Stefan Richter Thu, 1 May 2008 00:02:04 +0100 engauge-digitizer (4.1-1) unstable; urgency=low * new upstream version with added arrow movement * debian/rules: build doc-package in binary-indep * prevent compression of javascript source in -doc to get the browser date convertion working * rename /usr/share/doc/engauge-digitizer-doc/usermanual to .../html * remove watch file, seems broken for sf.net and too difficult to fix * remove rafael@debian.org from Uploaders to clarify his status as sponsor only -- Tobias Stefan Richter Mon, 16 Apr 2007 14:02:04 +0200 engauge-digitizer (4.0-1) unstable; urgency=low * new upstream version with improved point match routine * NOTE: upstream changed the binary name, it is called 'engauge' now! -- Tobias Stefan Richter Wed, 3 Jan 2007 20:55:36 +0100 engauge-digitizer (3.0+cvs20061120-1) unstable; urgency=low * new packaging using upstream CVS * minor upstream changes to the documentation -- Tobias Stefan Richter Thu, 16 Nov 2006 14:39:54 +0100 engauge-digitizer (3.0-2) unstable; urgency=low * First official Debian release, sponsored by me * debian/control: Added my name to the Uploaders field -- Rafael Laboissiere Mon, 23 Oct 2006 09:06:53 +0200 engauge-digitizer (3.0-1) unstable; urgency=low * Initial release (Closes: #374849) -- Tobias Stefan Richter Wed, 4 Oct 2006 11:49:35 +0200 debian/rules0000755000000000000000000000042712237673467010272 0ustar #!/usr/bin/make -f # -*- makefile -*- DPKG_EXPORT_BUILDFLAGS = 1 %: dh $@ --parallel override_dh_install: mkdir -p debian/engauge-digitizer/usr/share/pixmaps/ install -m644 src/img/bannerapp.xpm debian/engauge-digitizer/usr/share/pixmaps/engauge-digitizer.xpm dh_install debian/engauge-digitizer.links0000644000000000000000000000010212225574101013623 0ustar usr/share/man/man1/engauge.1.gz usr/share/man/man1/digitizer.1.gz debian/copyright0000644000000000000000000000215212237400225011116 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: engauge-digitizer Upstream-Contact: Mark Mitchell Source: http://sf.net/digitizer/ Files: * Copyright: 2002-2012, Mark Mitchell 2011-2012, Tobias Richter 2011-2012, Tobias Winchen License: GPL-2+ On Debian systems, the complete text of the GNU General Public License version 2 can be found in `/usr/share/common-licenses/GPL-2'. Files: debian/* Copyright: 2006-2011 Tobias Stefan Richter 2011-2012, Tobias Winchen License: GPL-2+ On Debian systems, the complete text of the GNU General Public License version 2 can be found in `/usr/share/common-licenses/GPL-2'. Files: src/helpwindow.h src/helpwindow.cpp Copyright: 1992-2000 Trolltech AS 2005-2012 Mark Mitchell License: This file is part of an example program for Qt. This example program may be used, distributed and modified without limitation debian/README.Debian0000644000000000000000000000242012225574101011224 0ustar engauge-digitizer for Debian ---------------------------- The package is called engauge-digitizer, but the program binary is just 'engauge'. Up to version 3.0 it was named 'digitizer'. The full documentation including the tutorials has been split off to an optional separate engauge-digitizer-doc package. The package will be fully functional without engauge-digitizer-doc installed, except for the manual and tutorials in the Help menu. For the Debian distribution the program was patched to expect the these documents under /usr/share/engauge-digitizer-doc/usermanual the place where engauge-digitizer-doc installs it. In contrast to the original version neither the current directory nor its parents will be searched for the documentation location. So if you really want to use a different the documentation directory for whatever reason, set the ENGAUGE_USERMANUAL environment variable to that directory. The date/time converter in the help menu requires a javascript capable browser, which is started as a background job. If the environment variable ENGAUGE_BROWSER is unset, sensible-browser is used. Should your sensible-browser be text driven or not javascript capable the date/time converter will not work. -- Tobias Richter Wed, 28 Mar 2007 14:34:44 +0200 debian/patches/0000755000000000000000000000000012240516323010613 5ustar debian/patches/Use-buffer-variable-to-allow-strict-aliasing.patch0000644000000000000000000004753512240516252022270 0ustar Description: Use buffer variable to allow strict aliasing The compiler warned "dereferencing type-punned pointer will break strict- aliasing rules" as at several points in the (de)serialization data was streamed into variables via casting to reference. Now a buffer variable is used instead. The patch is only part of the upstream commit listed as origin. Origin: http://sourceforge.net/p/digitizer/code/ci/463a89ff29bff06bd2e2349cc3964e261846864d/ Reviewed-By: Tobias Winchen , Mark Mitchell Last-Update: 2013-11-12 diff --git a/src/digitdoc.cpp b/src/digitdoc.cpp index 20d9f5b..97ee1c6 100644 --- a/src/digitdoc.cpp +++ b/src/digitdoc.cpp @@ -349,6 +349,8 @@ bool DigitDoc::supportedVersionNumber(QString versionNumber) bool DigitDoc::openDocument(const QString &filename) { + Q_INT32 extractionQInt32; // temp value + QFile f(filename); if (!f.open (QIODevice::ReadOnly)) return false; @@ -356,7 +358,8 @@ bool DigitDoc::openDocument(const QString &filename) QDataStream str (&f); Q_INT32 magicNumber; - str >> (Q_INT32 &) magicNumber; + str >> extractionQInt32; + magicNumber = extractionQInt32; if (magicNumber != MagicNumber) { @@ -382,7 +385,8 @@ bool DigitDoc::openDocument(const QString &filename) return false; } - str >> (Q_INT32 &) m_backgroundSelection; + str >> extractionQInt32; + m_backgroundSelection = (BackgroundSelection) extractionQInt32; str >> m_originalPixmap; str >> m_title; @@ -390,32 +394,47 @@ bool DigitDoc::openDocument(const QString &filename) str >> m_curveCmbText; str >> m_measureCmbText; - str >> (Q_INT32 &) m_coordSettings.frame; + str >> extractionQInt32; + m_coordSettings.frame = (ReferenceFrame) extractionQInt32; if (versionNumber < 3) m_coordSettings.originRadius = 0.0; else str >> (double &) m_coordSettings.originRadius; - str >> (Q_INT32 &) m_coordSettings.thetaUnits; - str >> (Q_INT32 &) m_coordSettings.xThetaScale; - str >> (Q_INT32 &) m_coordSettings.yRScale; - - str >> (Q_INT32 &) m_exportSettings.delimiters; - str >> (Q_INT32 &) m_exportSettings.layout; - str >> (Q_INT32 &) m_exportSettings.pointsSelection; - str >> (Q_INT32 &) m_exportSettings.header; + str >> extractionQInt32; + m_coordSettings.thetaUnits = (ThetaUnits) extractionQInt32; + str >> extractionQInt32; + m_coordSettings.xThetaScale = (Scale) extractionQInt32; + str >> extractionQInt32; + m_coordSettings.yRScale = (Scale) extractionQInt32; + + str >> extractionQInt32; + m_exportSettings.delimiters = (ExportDelimiters) extractionQInt32; + str >> extractionQInt32; + m_exportSettings.layout = (ExportLayout) extractionQInt32; + str >> extractionQInt32; + m_exportSettings.pointsSelection = (ExportPointsSelection) extractionQInt32; + str >> extractionQInt32; + m_exportSettings.header = (ExportHeader) extractionQInt32; if (versionNumber >= 5.2) { str >> m_exportSettings.xLabel; str >> m_exportSettings.thetaLabel; } - str >> (Q_INT32 &) m_gridRemovalSettings.removeThinLines; + str >> extractionQInt32; + m_gridRemovalSettings.removeThinLines = extractionQInt32; str >> (double &) m_gridRemovalSettings.thinThickness; - str >> (Q_INT32 &) m_gridRemovalSettings.removeGridlines; - str >> (Q_INT32 &) m_gridRemovalSettings.gridMesh.initialized; - str >> (Q_INT32 &) m_gridRemovalSettings.gridMesh.countX; - str >> (Q_INT32 &) m_gridRemovalSettings.gridMesh.countY; - str >> (Q_INT32 &) m_gridRemovalSettings.gridMesh.gridSetX; - str >> (Q_INT32 &) m_gridRemovalSettings.gridMesh.gridSetY; + str >> extractionQInt32; + m_gridRemovalSettings.removeGridlines = extractionQInt32; + str >> extractionQInt32; + m_gridRemovalSettings.gridMesh.initialized = extractionQInt32; + str >> extractionQInt32; + m_gridRemovalSettings.gridMesh.countX = extractionQInt32; + str >> extractionQInt32; + m_gridRemovalSettings.gridMesh.countY = extractionQInt32; + str >> extractionQInt32; + m_gridRemovalSettings.gridMesh.gridSetX = (GridSet) extractionQInt32; + str >> extractionQInt32; + m_gridRemovalSettings.gridMesh.gridSetY = (GridSet) extractionQInt32; str >> (double &) m_gridRemovalSettings.gridMesh.startX; str >> (double &) m_gridRemovalSettings.gridMesh.startY; str >> (double &) m_gridRemovalSettings.gridMesh.stepX; @@ -423,7 +442,8 @@ bool DigitDoc::openDocument(const QString &filename) str >> (double &) m_gridRemovalSettings.gridMesh.stopX; str >> (double &) m_gridRemovalSettings.gridMesh.stopY; str >> (double &) m_gridRemovalSettings.gridDistance; - str >> (Q_INT32 &) m_gridRemovalSettings.removeColor; + str >> extractionQInt32; + m_gridRemovalSettings.removeColor = extractionQInt32; if (versionNumber >= 5) { @@ -436,15 +456,22 @@ bool DigitDoc::openDocument(const QString &filename) m_gridRemovalSettings.color.setRgb( p ); } - str >> (Q_INT32 &) m_gridRemovalSettings.foregroundThresholdLow; - str >> (Q_INT32 &) m_gridRemovalSettings.foregroundThresholdHigh; + str >> extractionQInt32; + m_gridRemovalSettings.foregroundThresholdLow = extractionQInt32; + str >> extractionQInt32; + m_gridRemovalSettings.foregroundThresholdHigh = extractionQInt32; str >> (double &) m_gridRemovalSettings.gapSeparation; - str >> (Q_INT32 &) m_gridDisplaySettings.initialized; - str >> (Q_INT32 &) m_gridDisplaySettings.countX; - str >> (Q_INT32 &) m_gridDisplaySettings.countY; - str >> (Q_INT32 &) m_gridDisplaySettings.gridSetX; - str >> (Q_INT32 &) m_gridDisplaySettings.gridSetY; + str >> extractionQInt32; + m_gridDisplaySettings.initialized = extractionQInt32; + str >> extractionQInt32; + m_gridDisplaySettings.countX = extractionQInt32; + str >> extractionQInt32; + m_gridDisplaySettings.countY = extractionQInt32; + str >> extractionQInt32; + m_gridDisplaySettings.gridSetX = (GridSet) extractionQInt32; + str >> extractionQInt32; + m_gridDisplaySettings.gridSetY = (GridSet) extractionQInt32; str >> (double &) m_gridDisplaySettings.startX; str >> (double &) m_gridDisplaySettings.startY; str >> (double &) m_gridDisplaySettings.stepX; @@ -452,39 +479,62 @@ bool DigitDoc::openDocument(const QString &filename) str >> (double &) m_gridDisplaySettings.stopX; str >> (double &) m_gridDisplaySettings.stopY; - str >> (Q_INT32 &) m_segmentSettings.minPoints; - str >> (Q_INT32 &) m_segmentSettings.pointSeparation; - str >> (Q_INT32 &) m_segmentSettings.lineSize; - str >> (Q_INT32 &) m_segmentSettings.lineColor; - - str >> (Q_INT32 &) m_pointMatchSettings.pointSeparation; - str >> (Q_INT32 &) m_pointMatchSettings.pointSize; - str >> (Q_INT32 &) m_pointMatchSettings.acceptedColor; - str >> (Q_INT32 &) m_pointMatchSettings.rejectedColor; + str >> extractionQInt32; + m_segmentSettings.minPoints = extractionQInt32; + str >> extractionQInt32; + m_segmentSettings.pointSeparation = extractionQInt32; + str >> extractionQInt32; + m_segmentSettings.lineSize = (LineSize) extractionQInt32; + str >> extractionQInt32; + m_segmentSettings.lineColor = (Color) extractionQInt32; + + str >> extractionQInt32; + m_pointMatchSettings.pointSeparation = extractionQInt32; + str >> extractionQInt32; + m_pointMatchSettings.pointSize = extractionQInt32; + str >> extractionQInt32; + m_pointMatchSettings.acceptedColor = (Color) extractionQInt32; + str >> extractionQInt32; + m_pointMatchSettings.rejectedColor = (Color) extractionQInt32; if (versionNumber < 4) { // synchronize with DefaultSettings::initializeSettingsToFactoryDefaults m_pointMatchSettings.candidateColor = DigitBlue; } else - str >> (Q_INT32 &) m_pointMatchSettings.candidateColor; - - str >> (Q_INT32 &) m_discretizeSettings.discretizeMethod; - str >> (Q_INT32 &) m_discretizeSettings.intensityThresholdLow; - str >> (Q_INT32 &) m_discretizeSettings.intensityThresholdHigh; - str >> (Q_INT32 &) m_discretizeSettings.foregroundThresholdLow; - str >> (Q_INT32 &) m_discretizeSettings.foregroundThresholdHigh; - str >> (Q_INT32 &) m_discretizeSettings.hueThresholdLow; - str >> (Q_INT32 &) m_discretizeSettings.hueThresholdHigh; - str >> (Q_INT32 &) m_discretizeSettings.saturationThresholdLow; - str >> (Q_INT32 &) m_discretizeSettings.saturationThresholdHigh; - str >> (Q_INT32 &) m_discretizeSettings.valueThresholdLow; - str >> (Q_INT32 &) m_discretizeSettings.valueThresholdHigh; + { + str >> extractionQInt32; + m_pointMatchSettings.candidateColor = (Color) extractionQInt32; + } + + str >> extractionQInt32; + m_discretizeSettings.discretizeMethod = (DiscretizeMethod) extractionQInt32; + str >> extractionQInt32; + m_discretizeSettings.intensityThresholdLow = extractionQInt32; + str >> extractionQInt32; + m_discretizeSettings.intensityThresholdHigh = extractionQInt32; + str >> extractionQInt32; + m_discretizeSettings.foregroundThresholdLow = extractionQInt32; + str >> extractionQInt32; + m_discretizeSettings.foregroundThresholdHigh = extractionQInt32; + str >> extractionQInt32; + m_discretizeSettings.hueThresholdLow = extractionQInt32; + str >> extractionQInt32; + m_discretizeSettings.hueThresholdHigh = extractionQInt32; + str >> extractionQInt32; + m_discretizeSettings.saturationThresholdLow = extractionQInt32; + str >> extractionQInt32; + m_discretizeSettings.saturationThresholdHigh = extractionQInt32; + str >> extractionQInt32; + m_discretizeSettings.valueThresholdLow = extractionQInt32; + str >> extractionQInt32; + m_discretizeSettings.valueThresholdHigh = extractionQInt32; ASSERT_ENGAUGE(m_pointSets != 0); m_pointSets->serializeRead(str, canvas()); - str >> (Q_INT32 &) magicNumber; + str >> extractionQInt32; + magicNumber = extractionQInt32; if (magicNumber != MagicNumber) { @@ -523,15 +573,15 @@ bool DigitDoc::saveDocument(const QString &filename) QDataStream str (&f); #ifdef __SUNPRO_CC - str << (Q_INT32 &) MagicNumber; + str << (Q_INT32) MagicNumber; #else - str << (const Q_INT32 &) MagicNumber; + str << (const Q_INT32) MagicNumber; #endif str << VersionNumber.toDouble(); // numeric value is ambiguous (2.1 or 2.10?) str << VersionNumber; - str << (Q_INT32 &) m_backgroundSelection; + str << (Q_INT32) m_backgroundSelection; str << m_originalPixmap; str << m_title; @@ -539,82 +589,82 @@ bool DigitDoc::saveDocument(const QString &filename) str << m_curveCmbText; str << m_measureCmbText; - str << (Q_INT32 &) m_coordSettings.frame; - str << (double &) m_coordSettings.originRadius; - str << (Q_INT32 &) m_coordSettings.thetaUnits; - str << (Q_INT32 &) m_coordSettings.xThetaScale; - str << (Q_INT32 &) m_coordSettings.yRScale; + str << (Q_INT32) m_coordSettings.frame; + str << (double) m_coordSettings.originRadius; + str << (Q_INT32) m_coordSettings.thetaUnits; + str << (Q_INT32) m_coordSettings.xThetaScale; + str << (Q_INT32) m_coordSettings.yRScale; - str << (Q_INT32 &) m_exportSettings.delimiters; - str << (Q_INT32 &) m_exportSettings.layout; - str << (Q_INT32 &) m_exportSettings.pointsSelection; - str << (Q_INT32 &) m_exportSettings.header; + str << (Q_INT32) m_exportSettings.delimiters; + str << (Q_INT32) m_exportSettings.layout; + str << (Q_INT32) m_exportSettings.pointsSelection; + str << (Q_INT32) m_exportSettings.header; str << m_exportSettings.xLabel; str << m_exportSettings.thetaLabel; - str << (Q_INT32 &) m_gridRemovalSettings.removeThinLines; - str << (double &) m_gridRemovalSettings.thinThickness; - str << (Q_INT32 &) m_gridRemovalSettings.removeGridlines; - str << (Q_INT32 &) m_gridRemovalSettings.gridMesh.initialized; - str << (Q_INT32 &) m_gridRemovalSettings.gridMesh.countX; - str << (Q_INT32 &) m_gridRemovalSettings.gridMesh.countY; - str << (Q_INT32 &) m_gridRemovalSettings.gridMesh.gridSetX; - str << (Q_INT32 &) m_gridRemovalSettings.gridMesh.gridSetY; - str << (double &) m_gridRemovalSettings.gridMesh.startX; - str << (double &) m_gridRemovalSettings.gridMesh.startY; - str << (double &) m_gridRemovalSettings.gridMesh.stepX; - str << (double &) m_gridRemovalSettings.gridMesh.stepY; - str << (double &) m_gridRemovalSettings.gridMesh.stopX; - str << (double &) m_gridRemovalSettings.gridMesh.stopY; - str << (double &) m_gridRemovalSettings.gridDistance; - str << (Q_INT32 &) m_gridRemovalSettings.removeColor; + str << (Q_INT32) m_gridRemovalSettings.removeThinLines; + str << (double) m_gridRemovalSettings.thinThickness; + str << (Q_INT32) m_gridRemovalSettings.removeGridlines; + str << (Q_INT32) m_gridRemovalSettings.gridMesh.initialized; + str << (Q_INT32) m_gridRemovalSettings.gridMesh.countX; + str << (Q_INT32) m_gridRemovalSettings.gridMesh.countY; + str << (Q_INT32) m_gridRemovalSettings.gridMesh.gridSetX; + str << (Q_INT32) m_gridRemovalSettings.gridMesh.gridSetY; + str << (double) m_gridRemovalSettings.gridMesh.startX; + str << (double) m_gridRemovalSettings.gridMesh.startY; + str << (double) m_gridRemovalSettings.gridMesh.stepX; + str << (double) m_gridRemovalSettings.gridMesh.stepY; + str << (double) m_gridRemovalSettings.gridMesh.stopX; + str << (double) m_gridRemovalSettings.gridMesh.stopY; + str << (double) m_gridRemovalSettings.gridDistance; + str << (Q_INT32) m_gridRemovalSettings.removeColor; str << m_gridRemovalSettings.color; - str << (Q_INT32 &) m_gridRemovalSettings.foregroundThresholdLow; - str << (Q_INT32 &) m_gridRemovalSettings.foregroundThresholdHigh; - str << (double &) m_gridRemovalSettings.gapSeparation; - - str << (Q_INT32 &) m_gridDisplaySettings.initialized; - str << (Q_INT32 &) m_gridDisplaySettings.countX; - str << (Q_INT32 &) m_gridDisplaySettings.countY; - str << (Q_INT32 &) m_gridDisplaySettings.gridSetX; - str << (Q_INT32 &) m_gridDisplaySettings.gridSetY; - str << (double &) m_gridDisplaySettings.startX; - str << (double &) m_gridDisplaySettings.startY; - str << (double &) m_gridDisplaySettings.stepX; - str << (double &) m_gridDisplaySettings.stepY; - str << (double &) m_gridDisplaySettings.stopX; - str << (double &) m_gridDisplaySettings.stopY; - - str << (Q_INT32 &) m_segmentSettings.minPoints; - str << (Q_INT32 &) m_segmentSettings.pointSeparation; - str << (Q_INT32 &) m_segmentSettings.lineSize; - str << (Q_INT32 &) m_segmentSettings.lineColor; - - str << (Q_INT32 &) m_pointMatchSettings.pointSeparation; - str << (Q_INT32 &) m_pointMatchSettings.pointSize; - str << (Q_INT32 &) m_pointMatchSettings.acceptedColor; - str << (Q_INT32 &) m_pointMatchSettings.rejectedColor; - str << (Q_INT32 &) m_pointMatchSettings.candidateColor; + str << (Q_INT32) m_gridRemovalSettings.foregroundThresholdLow; + str << (Q_INT32) m_gridRemovalSettings.foregroundThresholdHigh; + str << (double) m_gridRemovalSettings.gapSeparation; + + str << (Q_INT32) m_gridDisplaySettings.initialized; + str << (Q_INT32) m_gridDisplaySettings.countX; + str << (Q_INT32) m_gridDisplaySettings.countY; + str << (Q_INT32) m_gridDisplaySettings.gridSetX; + str << (Q_INT32) m_gridDisplaySettings.gridSetY; + str << (double) m_gridDisplaySettings.startX; + str << (double) m_gridDisplaySettings.startY; + str << (double) m_gridDisplaySettings.stepX; + str << (double) m_gridDisplaySettings.stepY; + str << (double) m_gridDisplaySettings.stopX; + str << (double) m_gridDisplaySettings.stopY; + + str << (Q_INT32) m_segmentSettings.minPoints; + str << (Q_INT32) m_segmentSettings.pointSeparation; + str << (Q_INT32) m_segmentSettings.lineSize; + str << (Q_INT32) m_segmentSettings.lineColor; + + str << (Q_INT32) m_pointMatchSettings.pointSeparation; + str << (Q_INT32) m_pointMatchSettings.pointSize; + str << (Q_INT32) m_pointMatchSettings.acceptedColor; + str << (Q_INT32) m_pointMatchSettings.rejectedColor; + str << (Q_INT32) m_pointMatchSettings.candidateColor; - str << (Q_INT32 &) m_discretizeSettings.discretizeMethod; - str << (Q_INT32 &) m_discretizeSettings.intensityThresholdLow; - str << (Q_INT32 &) m_discretizeSettings.intensityThresholdHigh; - str << (Q_INT32 &) m_discretizeSettings.foregroundThresholdLow; - str << (Q_INT32 &) m_discretizeSettings.foregroundThresholdHigh; - str << (Q_INT32 &) m_discretizeSettings.hueThresholdLow; - str << (Q_INT32 &) m_discretizeSettings.hueThresholdHigh; - str << (Q_INT32 &) m_discretizeSettings.saturationThresholdLow; - str << (Q_INT32 &) m_discretizeSettings.saturationThresholdHigh; - str << (Q_INT32 &) m_discretizeSettings.valueThresholdLow; - str << (Q_INT32 &) m_discretizeSettings.valueThresholdHigh; + str << (Q_INT32) m_discretizeSettings.discretizeMethod; + str << (Q_INT32) m_discretizeSettings.intensityThresholdLow; + str << (Q_INT32) m_discretizeSettings.intensityThresholdHigh; + str << (Q_INT32) m_discretizeSettings.foregroundThresholdLow; + str << (Q_INT32) m_discretizeSettings.foregroundThresholdHigh; + str << (Q_INT32) m_discretizeSettings.hueThresholdLow; + str << (Q_INT32) m_discretizeSettings.hueThresholdHigh; + str << (Q_INT32) m_discretizeSettings.saturationThresholdLow; + str << (Q_INT32) m_discretizeSettings.saturationThresholdHigh; + str << (Q_INT32) m_discretizeSettings.valueThresholdLow; + str << (Q_INT32) m_discretizeSettings.valueThresholdHigh; ASSERT_ENGAUGE(m_pointSets != 0); m_pointSets->serializeWrite(str); #ifdef __SUNPRO_CC - str << (Q_INT32 &) MagicNumber; + str << (Q_INT32) MagicNumber; #else - str << (const Q_INT32 &) MagicNumber; + str << (const Q_INT32) MagicNumber; #endif f.close(); diff --git a/src/pointset.cpp b/src/pointset.cpp index 66f38f9..5a5a1c6 100644 --- a/src/pointset.cpp +++ b/src/pointset.cpp @@ -25,6 +25,7 @@ #include #include +#include #include #include "pointset.h" @@ -536,7 +537,7 @@ bool PointSet::pointSetScreenLimits(double *xMin, double *xMax, double *yMin, do } void PointSet::mergeUniqueXValues(QList* list, - int xPrecision) + int /* xPrecision */) { ASSERT_ENGAUGE(list != 0); @@ -694,16 +695,16 @@ bool PointSet::adjustForLogScale(Scale scale, double* pointXY) void PointSet::serializeWrite(QDataStream &s) const { s << m_name; - s << (Q_INT32 &) m_style.pointShape; - s << (Q_INT32 &) m_style.pointSize; - s << (Q_INT32 &) m_style.pointLineSize; - s << (Q_INT32 &) m_style.pointLineColor; - s << (Q_INT32 &) m_style.pointInColor; - s << (Q_INT32 &) m_style.lineSize; - s << (Q_INT32 &) m_style.lineColor; - s << (Q_INT32 &) m_style.lineConnectAs; - - s << (const Q_INT32 &) m_points.count(); + s << (Q_INT32) m_style.pointShape; + s << (Q_INT32) m_style.pointSize; + s << (Q_INT32) m_style.pointLineSize; + s << (Q_INT32) m_style.pointLineColor; + s << (Q_INT32) m_style.pointInColor; + s << (Q_INT32) m_style.lineSize; + s << (Q_INT32) m_style.lineColor; + s << (Q_INT32) m_style.lineConnectAs; + + s << (Q_INT32) m_points.count(); PointListIterator itr(m_points); Point* point; while ((point = itr.current()) != 0) @@ -720,18 +721,28 @@ void PointSet::serializeRead(QDataStream &s, Q3Canvas* canvas) { ASSERT_ENGAUGE(canvas != 0); + Q_INT32 extractionQInt32; + s >> m_name; - s >> (Q_INT32 &) m_style.pointShape; - s >> (Q_INT32 &) m_style.pointSize; - s >> (Q_INT32 &) m_style.pointLineSize; - s >> (Q_INT32 &) m_style.pointLineColor; - s >> (Q_INT32 &) m_style.pointInColor; - s >> (Q_INT32 &) m_style.lineSize; - s >> (Q_INT32 &) m_style.lineColor; - s >> (Q_INT32 &) m_style.lineConnectAs; - - int count; - s >> (Q_INT32 &) count; + s >> extractionQInt32; + m_style.pointShape = (PointShape) extractionQInt32; + s >> extractionQInt32; + m_style.pointSize = (PointSize) extractionQInt32; + s >> extractionQInt32; + m_style.pointLineSize = (PointLineSize) extractionQInt32; + s >> extractionQInt32; + m_style.pointLineColor = (Color) extractionQInt32; + s >> extractionQInt32; + m_style.pointInColor = (Color) extractionQInt32; + s >> extractionQInt32; + m_style.lineSize = (LineSize) extractionQInt32; + s >> extractionQInt32; + m_style.lineColor = (Color) extractionQInt32; + s >> extractionQInt32; + m_style.lineConnectAs = (LineConnectAs) extractionQInt32; + + s >> extractionQInt32; + int count = extractionQInt32; QList updateRectList; for (int i = 0; i < count; i++) { debian/patches/series0000644000000000000000000000006312240511256012027 0ustar Use-buffer-variable-to-allow-strict-aliasing.patch debian/engauge-digitizer.install0000644000000000000000000000011512225603362014157 0ustar bin/engauge usr/bin debian/engauge-digitizer.desktop usr/share/applications debian/watch0000644000000000000000000000010412225574101010211 0ustar version=3 http://sf.net/digitizer/digit-src-(\d+)_(\d+)\.tar\.gz debian/engauge-digitizer-doc.doc-base0000644000000000000000000000051412225574101014732 0ustar Document: engauge-digitizer-doc Title: Engauge Digitizer Manual Author: Mark Mitchell Abstract: User manual and tutorial for engauge-digitizer Section: Science/Data Analysis Format: HTML Index: /usr/share/doc/engauge-digitizer-doc/html/index.html Files: /usr/share/doc/engauge-digitizer-doc/html/*.html debian/engauge-digitizer.menu0000644000000000000000000000032212225574101013453 0ustar ?package(engauge-digitizer):needs="X11" \ section="Applications/Science/Data Analysis" \ title="engauge-digitizer" \ command="/usr/bin/engauge" \ icon="/usr/share/pixmaps/engauge-digitizer.xpm" debian/engauge-digitizer-doc.install0000644000000000000000000000006712225602172014726 0ustar usermanual/* usr/share/doc/engauge-digitizer-doc/html/