Age | Commit message (Collapse) | Author | |
---|---|---|---|
2016-11-02 | spline-widget: prevent breakage on values close to zero | Stanislaw Halik | |
2016-10-29 | spline-widget: remove aliasing artifacts | Stanislaw Halik | |
We're using QPainterPath and its bezier curves. However, we supply it a plethora of intermediate values to mitigate different results in interpolation. | |||
2016-10-29 | spline-widget: don't compute the same thing over and over again | Stanislaw Halik | |
2016-10-29 | spline-widget: avoid sqrt in global namespace | Stanislaw Halik | |
2016-10-29 | spline-widget: revert last commit | Stanislaw Halik | |
In the last line of the blocks we're reducing the precision to reduce rounding errors. It's actually proper to use round rather than truncate here. | |||
2016-10-28 | spline-widget: fix rounding bug introduced in a3b890b9b4opentrack-2.3-rc99p14 | Stanislaw Halik | |
Since we're already adding snap_x/2, truncation is the correct choice here. | |||
2016-10-28 | spline-widget: use round, not trunc when converting pixel to val | Stanislaw Halik | |
2016-10-28 | spline-widget: don't recalculate point value | Stanislaw Halik | |
Only apply snap for closeness check. | |||
2016-10-26 | spline-widget: fix logic for detecting points being too close | Stanislaw Halik | |
It was still possible to reorder points by dragging one of them. Also get rid of the iteration. It was previously introduced to try converge one of the points to another position. Allow for changing Y value while the point is dragged. Take snap into account. Use newly introduced "iround<t>". | |||
2016-10-26 | spline-widget: use stable sort | Stanislaw Halik | |
2016-09-16 | spline-widget: simplify/fix drawing logic | Stanislaw Halik | |
The linear things should be drawn in drawFunction() since they change only when some control point is moved and the spline is recalculated anyway. Introduce spline::get_value_no_save to avoid clobbering the tracked value. Draw linear helper before the spline to avoid occluding it. Remove some redundant checks for whether _config exists when all calling sites ensure it already. I still need to de-camel-case these two classes. | |||
2016-09-09 | spline-widget: simplify alpha calculation | Stanislaw Halik | |
2016-09-09 | spline-widget: emit vtable in a single unit | Stanislaw Halik | |
2016-09-09 | spline-widget: fix uninitialized access | Stanislaw Halik | |
Found-by: valgrind | |||
2016-09-05 | spline-widget: oops, fix tooltip before clicking on widget | Stanislaw Halik | |
2016-09-05 | spline-widget: stop dragging when alt-tabbing away | Stanislaw Halik | |
Unfortunately now spline widgets grab keyboard focus. Qt doesn't seem to have a better way to detect whether some other application gained focus. | |||
2016-09-05 | spline-widget: add tooltips, refactor | Stanislaw Halik | |
Tooltip shows current cursor/point position. Factor out common functions. Use QPoint/QPointF appropriately. Remove rounding that led to snapping to integral values. Allow for non-integral snapping amounts. Issue: #436 | |||
2016-09-05 | spline-widget: fix rounding for short splines | Stanislaw Halik | |
This was especially visible with XYZ spline widgets. | |||
2016-09-05 | spline-widget: add point count getter | Stanislaw Halik | |
2016-09-05 | spline-widget: allow for non-integral snap values | Stanislaw Halik | |
2016-08-23 | compat/util: move typical "clamp" function here | Stanislaw Halik | |
2016-08-23 | spline-widget: disconnect "recomputed" in dtor | Stanislaw Halik | |
In case mem<settings> is still used elsewhere we still have a use-after-free otherwise. | |||
2016-08-23 | spline-widget: return mem<settings> and not settings& | Stanislaw Halik | |
2016-08-23 | spline-widget: multiple fixes | Stanislaw Halik | |
- add missing locking - bundle and settings ptr are never null following initialization; sentinel objects get created if there's no bundle, thus don't branch outside initialization functions. the sentinel object doesn't load or save to the .ini file - connect spline refresh to any bundle change - connect spline widget refresh to spline refresh - few caveat comments - spline_widget::setConfig now only takes the spline as argument, eliminating most of the complex logic there - clarify spline::set_bundle vs newly introduced spline::recompute | |||
2016-08-23 | spline-widget: omit too-close points. add missing locking. | Stanislaw Halik | |
2016-08-17 | options: support deferred writes when saving bundles | Stanislaw Halik | |
The mapping window has 13 bundles total in use. Setting them all can take up to a large fraction of a second on some windows filesystems. Do a single config write instead. | |||
2016-08-17 | spline-widget: save spline control point list using options api | Stanislaw Halik | |
- spline widgets reload when spline bundle reloads - every bundle reloads when profile gets changed Importing old spline settings hasn't been implemented. Control point positions are stored as raw floats. This is bad. | |||
2016-08-17 | move options framework into its own library | Stanislaw Halik | |
- adjust usages - add support for QList signals and metatype | |||
2016-08-12 | all: rename modules s#^opentrack-##. and opentrack -> api | Stanislaw Halik | |
Adjust usages. | |||
2016-08-10 | spline-widget, gui: rename mapping-related files and classes | Stanislaw Halik | |
Adjust usages. | |||
2016-08-09 | spline-widget: only rename files | Stanislaw Halik | |
Adjust usages. | |||
2016-07-23 | spline-widget: round upward resulting position | Stanislaw Halik | |
2016-07-18 | cmake: adjust paths for main executable dependencies | Stanislaw Halik | |
2016-07-04 | spline-widget: sort as defensive coding | Stanislaw Halik | |
2016-07-04 | spline-widget: allow for closer points. fix fencepost error. | Stanislaw Halik | |
2016-07-04 | various: don't use qSort/qStableSort | Stanislaw Halik | |
2016-06-20 | spline-widget: move bool last to minimize padding | Stanislaw Halik | |
2016-06-14 | spline-widget: minor style fix | Stanislaw Halik | |
2016-06-14 | spline-widget: debug qsettings io occurences | Stanislaw Halik | |
2016-06-14 | gui, spline-widget, compat/options: ensure no qsettings IO when not modified | Stanislaw Halik | |
Turns out every MainWindow::save() and friends were doing useless IO several times during each save. I blame the bundle abstraction. For bundles we track the modified state, but the spline widget needs equality check since it doesn't use the options api. It was found by accident when adding qDebug() into the slider_value {de,}serializer code. The .ini file was being rewritten over and over again causing hundres of milliseconds pauses on Windows. Remove the save timer kludge from gui. Saves are now fast. | |||
2016-06-14 | spline-widget: reformat braces only | Stanislaw Halik | |
2016-06-14 | spline-widget: match sign for control point indexing | Stanislaw Halik | |
2016-06-09 | spline-widget: fix float <-> double promote/demote | Stanislaw Halik | |
2016-05-26 | spline-widget: allow using as preview when disabled | Stanislaw Halik | |
2016-05-26 | spline-widget: step by few pixels and not a random constant amount | Stanislaw Halik | |
2016-05-26 | spline-widget: misc fixes | Stanislaw Halik | |
- Remove some copy-pasted code - Don't do too much QPainter stuff in a hot loop - Use float/double/int correctly - Whitespace - C++11 style - Update copyright | |||
2016-05-26 | spline-widget: make `max x' inclusive | Stanislaw Halik | |
2016-05-26 | spline-widget: don't use `double' when not needed | Stanislaw Halik | |
2016-05-26 | spline-widget: move more from header | Stanislaw Halik | |
2016-05-26 | spline-widget: fix lack of initialization in one ctor | Stanislaw Halik | |