aboutsummaryrefslogtreecommitdiff
path: root/stftxtexport.cc
diff options
context:
space:
mode:
authorJavier <dev.git@javispedro.com>2021-09-19 20:55:17 +0200
committerJavier <dev.git@javispedro.com>2021-09-19 20:55:17 +0200
commitfd2a247a065548422b828d3055729e435a918f42 (patch)
treea8564151389b7c968b0b1ae133e1f7494a6a3623 /stftxtexport.cc
parent419cd14ea25bc1585552bf73f0f29aa62518c175 (diff)
downloadscribiu-fd2a247a065548422b828d3055729e435a918f42.tar.gz
scribiu-fd2a247a065548422b828d3055729e435a918f42.zip
add InkML export support, fix bug with page layout in notebookview
Diffstat (limited to 'stftxtexport.cc')
-rw-r--r--stftxtexport.cc90
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;
- }
- }
-}