The 0.3.0 Clickity Update brings a clickable math editor! Also, this release cleans up various bugs and unexpected behavior from the previous release, namely 0.2.0 Editor Update.
Clickable math editors are enabled with:
var view = new SkiaSharp.Views.Forms.SKCanvasView { HeightRequest = 225 };
var keyboard = new CSharpMath.Rendering.MathKeyboard();
keyboard.BindDisplay(view, new CSharpMath.SkiaSharp.MathPainter {
TextColor = SKColors.Black
}, new SkiaSharp.SKColor(0, 0, 0, 153)); // BindDisplay automatically enables touch!
keyboard.KeyPress(CSharpMath.Editor.MathKeyboardInput.X); // Wire input like this
Breaking changes
All packages are now based on .NET Standard 2.0 instead of 1.1/1.3. (#66)
CSharpMath.Forms.MathKeyboard has been removed and now lives in CSharpMath.Forms.Example. Its appearance is not ideal and users should create their own interfaces to suit their own needs.
Credits
Thanks to @FoggyFinder for the following PRs: (Big thanks for such an epic contribution!)
38 Caret positioning for MathEditor
40 Fix slash handler
44 Fix of radical
50 Correction to index detection near a superscript on click
52 Fix broken link & typo in the readMe
53 Add check for multi-character atom
55 Additional check due to previous change in Contains method
62 Put null-case back to the top
63 Include FusedAtoms in copy constructor
65 Skip scripted displays when calculate Range.End
68 Remove from nucleus properly
70 Show caret by itself
73 Fix HandleScriptButton
74 Do not show caret when placeholder is in an active state
76 Don't put a placeholder into a new run
93 BiDictionary improvements
96 Adjust tests
97 Using of xunit for TestsInFSharp project
98 Fix navigation when subIndex is BetweenBaseAndScripts
100 Add an additional check to prevent NRE
101 Disallow navigation to a BetweenBaseAndScripts position when base is placeholder
102 Adjusting of insertion for BothRoundBrackets and Absolute from BetweenBaseAndScripts position
103 Add full placeholder when it's convenient
Thanks to @charlesroddie for the following PRs:
75 Delete and gitignore Android Resource.designer.cs
87 Fix getting LargeOperator LaTeX
88 Scoping in case statements
90 Add mathkeyboard test using random inputs
Thanks to @hflexgrig for the following PRs:
66 Ported into net standard 2.0
80 Updated usage of CSharpMath.Analyzers
92 Fixed mathlist to latex subscript and superscript order
Thanks to @Smurf-IV for PR #61 (Fix #60: Failure to convert array's in MathListBuilder)
Leftovers from 0.2.0
The following items are still on the roadmap but they are expected to be delayed until I or someone else has the time to work on them:
4 Merge with wpf-math
F# instead of C# (just as interoperable but much more maintainable)
Refactor TextAtoms and MathAtoms to have common atoms
Refactor MathAtoms to get rid of MathAtomType and AtomCloner
Unit tests (and picture comparisons)
Tavis CI integration
An intuitive README for getting started
Documentation on both NuGet and GitHub wiki
Document release procedure
Promote awareness!!
Native platform support for the popular ones
Implement \middle
Optimize loading times of the Android example project
Items to add to the roadmap
58 will probably be higher on the roadmap as it can provide an easy-to-use interface and even attract new contributors.
Last but not least, wish you a merry Christmas š and a happy new year š!
The 0.3.0 Clickity Update brings a clickable math editor! Also, this release cleans up various bugs and unexpected behavior from the previous release, namely 0.2.0 Editor Update.
Clickable math editors are enabled with:
Breaking changes
CSharpMath.Forms.MathKeyboard
has been removed and now lives inCSharpMath.Forms.Example
. Its appearance is not ideal and users should create their own interfaces to suit their own needs.Credits
Thanks to @FoggyFinder for the following PRs: (Big thanks for such an epic contribution!)
38 Caret positioning for MathEditor
40 Fix slash handler
44 Fix of radical
50 Correction to index detection near a superscript on click
52 Fix broken link & typo in the readMe
53 Add check for multi-character atom
55 Additional check due to previous change in Contains method
62 Put null-case back to the top
63 Include FusedAtoms in copy constructor
65 Skip scripted displays when calculate Range.End
68 Remove from nucleus properly
70 Show caret by itself
73 Fix HandleScriptButton
74 Do not show caret when placeholder is in an active state
76 Don't put a placeholder into a new run
93 BiDictionary improvements
96 Adjust tests
97 Using of xunit for TestsInFSharp project
98 Fix navigation when subIndex is BetweenBaseAndScripts
100 Add an additional check to prevent NRE
101 Disallow navigation to a BetweenBaseAndScripts position when base is placeholder
102 Adjusting of insertion for BothRoundBrackets and Absolute from BetweenBaseAndScripts position
103 Add full placeholder when it's convenient
Thanks to @charlesroddie for the following PRs:
75 Delete and gitignore Android Resource.designer.cs
87 Fix getting LargeOperator LaTeX
88 Scoping in case statements
90 Add mathkeyboard test using random inputs
Thanks to @hflexgrig for the following PRs:
66 Ported into net standard 2.0
80 Updated usage of CSharpMath.Analyzers
92 Fixed mathlist to latex subscript and superscript order
Thanks to @Smurf-IV for PR #61 (Fix #60: Failure to convert
array
's in MathListBuilder)Leftovers from 0.2.0
The following items are still on the roadmap but they are expected to be delayed until I or someone else has the time to work on them:
4 Merge with wpf-math
\middle
Items to add to the roadmap
58 will probably be higher on the roadmap as it can provide an easy-to-use interface and even attract new contributors.
Last but not least, wish you a merry Christmas š and a happy new year š!
Supercedes #29.