summaryrefslogtreecommitdiffhomepage
path: root/spline-widget
AgeCommit message (Collapse)Author
2016-09-16spline-widget: simplify/fix drawing logicStanislaw 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-09spline-widget: simplify alpha calculationStanislaw Halik
2016-09-09spline-widget: emit vtable in a single unitStanislaw Halik
2016-09-09spline-widget: fix uninitialized accessStanislaw Halik
Found-by: valgrind
2016-09-05spline-widget: oops, fix tooltip before clicking on widgetStanislaw Halik
2016-09-05spline-widget: stop dragging when alt-tabbing awayStanislaw 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-05spline-widget: add tooltips, refactorStanislaw 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-05spline-widget: fix rounding for short splinesStanislaw Halik
This was especially visible with XYZ spline widgets.
2016-09-05spline-widget: add point count getterStanislaw Halik
2016-09-05spline-widget: allow for non-integral snap valuesStanislaw Halik
2016-08-23compat/util: move typical "clamp" function hereStanislaw Halik
2016-08-23spline-widget: disconnect "recomputed" in dtorStanislaw Halik
In case mem<settings> is still used elsewhere we still have a use-after-free otherwise.
2016-08-23spline-widget: return mem<settings> and not settings&Stanislaw Halik
2016-08-23spline-widget: multiple fixesStanislaw 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-23spline-widget: omit too-close points. add missing locking.Stanislaw Halik
2016-08-17options: support deferred writes when saving bundlesStanislaw 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-17spline-widget: save spline control point list using options apiStanislaw 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-17move options framework into its own libraryStanislaw Halik
- adjust usages - add support for QList signals and metatype
2016-08-12all: rename modules s#^opentrack-##. and opentrack -> apiStanislaw Halik
Adjust usages.
2016-08-10spline-widget, gui: rename mapping-related files and classesStanislaw Halik
Adjust usages.
2016-08-09spline-widget: only rename filesStanislaw Halik
Adjust usages.
2016-07-23spline-widget: round upward resulting positionStanislaw Halik
2016-07-18cmake: adjust paths for main executable dependenciesStanislaw Halik
2016-07-04spline-widget: sort as defensive codingStanislaw Halik
2016-07-04spline-widget: allow for closer points. fix fencepost error.Stanislaw Halik
2016-07-04various: don't use qSort/qStableSortStanislaw Halik
2016-06-20spline-widget: move bool last to minimize paddingStanislaw Halik
2016-06-14spline-widget: minor style fixStanislaw Halik
2016-06-14spline-widget: debug qsettings io occurencesStanislaw Halik
2016-06-14gui, spline-widget, compat/options: ensure no qsettings IO when not modifiedStanislaw 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-14spline-widget: reformat braces onlyStanislaw Halik
2016-06-14spline-widget: match sign for control point indexingStanislaw Halik
2016-06-09spline-widget: fix float <-> double promote/demoteStanislaw Halik
2016-05-26spline-widget: allow using as preview when disabledStanislaw Halik
2016-05-26spline-widget: step by few pixels and not a random constant amountStanislaw Halik
2016-05-26spline-widget: misc fixesStanislaw 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-26spline-widget: make `max x' inclusiveStanislaw Halik
2016-05-26spline-widget: don't use `double' when not neededStanislaw Halik
2016-05-26spline-widget: move more from headerStanislaw Halik
2016-05-26spline-widget: fix lack of initialization in one ctorStanislaw Halik
2016-05-17cmake/many: remove obsolete keywords from cmake macro invocationStanislaw Halik
2016-05-14spline-widget: use integer constant in float opsStanislaw Halik
2016-05-14spline-widget: remove more float<->double conversionsStanislaw Halik
74d9f5e31428ef362033a63c10b781d943c5e5a5 skipped some of intermediate computations.
2016-05-13{spline,tracker/aruco}: simplify some castsStanislaw Halik
2016-05-13many: remove unneeded implicit type conversion double <-> floatStanislaw Halik
2015-12-19spline-widget: oops, pass by referenceopentrack-2.3-rc21p6Stanislaw Halik
2015-11-29qfc: use cross cursor when hovering over a pointStanislaw Halik
2015-11-29fixup! qfc: use euclidean distance to pointStanislaw Halik
Don't use rectangle bounding box for circles
2015-11-29qfc: use euclidean distance to pointStanislaw Halik
Don't use rectangle bounding box for circles
2015-11-06spline: snap x, y coordinates to gridStanislaw Halik