diff options
author | Javier <dev.git@javispedro.com> | 2021-09-20 00:45:38 +0200 |
---|---|---|
committer | Javier <dev.git@javispedro.com> | 2021-09-20 00:45:38 +0200 |
commit | d0e882e6b759ffe18a545cb8cce18ca402eac763 (patch) | |
tree | 2cf463f5cfa486982a47ae1fcae5ef0d54399da1 /stfreader.cc | |
parent | 8f5e61797d35ef376f9eb7af78731daec9a49091 (diff) | |
download | scribiu-d0e882e6b759ffe18a545cb8cce18ca402eac763.tar.gz scribiu-d0e882e6b759ffe18a545cb8cce18ca402eac763.zip |
use stf speed to compute time between stroke points in txyf export
Diffstat (limited to 'stfreader.cc')
-rw-r--r-- | stfreader.cc | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/stfreader.cc b/stfreader.cc index 270a39c..efe7412 100644 --- a/stfreader.cc +++ b/stfreader.cc @@ -45,7 +45,7 @@ StfReader::StrokeHandler::~StrokeHandler() bool StfReader::parseV1(BitReader& br) { - quint64 cur_time = 0; + quint64 stroke_time = 0; while (!br.atEnd()) { syncV1(br); @@ -76,18 +76,18 @@ bool StfReader::parseV1(BitReader& br) } /* Start of a stroke. */ - cur_time += time; + stroke_time += time; p0.setX(br.readBits(16)); p0.setY(br.readBits(16)); f0 = readForce(br); - quint64 stroke_time = cur_time; - if (handler) { - bool res = handler->startStroke(p0, f0, cur_time); + bool res = handler->startStroke(p0, f0, stroke_time); if (!res) return false; } + quint64 point_time = 0; + while (!br.atEnd()) { header = readHeader(br); if (header == 0 || header == 1) { @@ -112,7 +112,7 @@ bool StfReader::parseV1(BitReader& br) if (time == 0) { if (handler) { - bool res = handler->endStroke(stroke_time); + bool res = handler->endStroke(stroke_time + ((point_time * 1000ULL) / speed)); if (!res) return false; } break; @@ -151,10 +151,10 @@ bool StfReader::parseV1(BitReader& br) pa *= 256 / static_cast<int>(time); f0 += deltaf; - stroke_time += time; + point_time += time; if (handler) { - bool res = handler->strokePoint(p0, f0, stroke_time); + bool res = handler->strokePoint(p0, f0, stroke_time + ((point_time * 1000ULL) / speed)); if (!res) return false; } } |