-
Notifications
You must be signed in to change notification settings - Fork 71
Description
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 thisBreaking changes
- All packages are now based on .NET Standard 2.0 instead of 1.1/1.3. (Ported into net standard 2.0 #66)
CSharpMath.Forms.MathKeyboardhas 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!)
- Caret positioning for MathEditor #38 Caret positioning for MathEditor
- fix slash handler #40 Fix slash handler
- Fix of radical #44 Fix of radical
- Correction to index detection near a superscript on click #50 Correction to index detection near a superscript on click
- Fix broken link & typo in the readMe #52 Fix broken link & typo in the readMe
- Add check for multi-character atom #53 Add check for multi-character atom
- Additional check due to previous change in Contains method #55 Additional check due to previous change in Contains method
- Put null-case back to the top #62 Put null-case back to the top
- Include FusedAtoms in copy constructor #63 Include FusedAtoms in copy constructor
- Skip scripted displays when calculate Range.End #65 Skip scripted displays when calculate Range.End
- Remove from nucleus properly #68 Remove from nucleus properly
- Show caret by itself #70 Show caret by itself
- Fix HandleScriptButton #73 Fix HandleScriptButton
- Do not show caret when placeholder is in an active state #74 Do not show caret when placeholder is in an active state
- Don't put a placeholder into a new run #76 Don't put a placeholder into a new run
- BiDictionary improvements #93 BiDictionary improvements
- Adjust tests #96 Adjust tests
- Using of xunit for TestsInFSharp project #97 Using of xunit for TestsInFSharp project
- Fix navigation when subIndex is BetweenBaseAndScripts #98 Fix navigation when subIndex is BetweenBaseAndScripts
- Add an additional check to prevent NRE #100 Add an additional check to prevent NRE
- Disallow navigation to a BetweenBaseAndScripts position when base is placeholder #101 Disallow navigation to a BetweenBaseAndScripts position when base is placeholder
- Adjusting of insertion for BothRoundBrackets and Absolute from BetweenBaseAndScripts position #102 Adjusting of insertion for BothRoundBrackets and Absolute from BetweenBaseAndScripts position
- Add full placeholder when it's convenient #103 Add full placeholder when it's convenient
Thanks to @charlesroddie for the following PRs:
- Delete and gitignore Android Resource.designer.cs #75 Delete and gitignore Android Resource.designer.cs
- Fix getting LargeOperator LaTeX #87 Fix getting LargeOperator LaTeX
- Scoping in case statements #88 Scoping in case statements
- Add mathkeyboard test using random inputs #90 Add mathkeyboard test using random inputs
Thanks to @hflexgrig for the following PRs:
- Ported into net standard 2.0 #66 Ported into net standard 2.0
- Updated usage of CSharpMath.Analyzers #80 Updated usage of CSharpMath.Analyzers
- -Fixed mathlist to latex subscript and superscript order #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:
- .Net LaTeX projects #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 🎆!
Supercedes #29.
