diff options
Diffstat (limited to 'stftxtexport.cc')
-rw-r--r-- | stftxtexport.cc | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/stftxtexport.cc b/stftxtexport.cc deleted file mode 100644 index e6793b2..0000000 --- a/stftxtexport.cc +++ /dev/null @@ -1,90 +0,0 @@ -/* - * scribiu -- read notebooks and voice memos from Livescribe pens - * Copyright (C) 2021 Javier S. Pedro <javier@javispedro.com> - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#include <QtCore/QDebug> -#include <QtCore/QTextStream> -#include "stftxtexport.h" - -class StfToTXYP : public StfReader::StrokeHandler { - QTextStream _out; - QPoint _lastP; - int _lastForce; - qint64 _startTime; - bool _relativeTime; - -public: - StfToTXYP(QIODevice *out, bool relativeTime) - : _out(out), _lastP(), _lastForce(0), _startTime(0), _relativeTime(relativeTime) { - _out << "T\tX\tY\tP\n"; - } - - bool startStroke(const QPoint& p, int force, qint64 time) { - if (_relativeTime && _startTime == 0) { - _startTime = time; - } - _out << (time - _startTime) << '\t' << p.x() << '\t' << p.y() << '\t' << force << '\n'; - _lastP = p; - _lastForce = force; - return true; - } - - bool strokePoint(const QPoint& p, int force, qint64 time) { - _out << (time - _startTime) << '\t' << p.x() << '\t' << p.y() << '\t' << force << '\n'; - _lastP = p; - _lastForce = force; - return true; - } - - bool endStroke(qint64 time) { - // Ensure there is a entry with force=0, in case the pen didn't provide it - if (_lastForce != 0) { - _out << (time - _startTime) << '\t' << _lastP.x() << '\t' << _lastP.y() << '\t' << 0 << '\n'; - _lastForce = 0; - } - return true; - } -}; - -StfTxtExport::StfTxtExport(AfdNotebook *nb) - : _nb(nb) -{ -} - -void StfTxtExport::exportToTXYP(QIODevice *out, int pageNum, bool relativeTime) -{ - QStringList pens = _nb->penSerials(); - if (pens.isEmpty()) return; - - StfToTXYP h(out, relativeTime); - StfReader r; - r.setStrokeHandler(&h); - - QStringList strokeFiles = _nb->strokeFiles(pens.first(), pageNum); - foreach (const QString &strokeFile, strokeFiles) { - QFile in(strokeFile); - if (!in.open(QIODevice::ReadOnly)) { - qWarning() << "Could not open stroke file:" << strokeFile; - continue; - } - - if (!r.parse(&in)) { - qWarning() << "Could not parse stroke file:" << strokeFile; - continue; - } - } -} |