├── Editor ├── .gitignore ├── app_icon.ico ├── app_icon.png ├── images │ ├── gui │ │ ├── bold.png │ │ ├── copy.png │ │ ├── cut.png │ │ ├── find.png │ │ ├── help.png │ │ ├── new.png │ │ ├── open.png │ │ ├── paste.png │ │ ├── print.png │ │ ├── redo.png │ │ ├── save.png │ │ ├── undo.png │ │ ├── delete.png │ │ ├── italic.png │ │ ├── license.txt │ │ ├── overbar.png │ │ ├── saveas.png │ │ ├── zoomin.png │ │ ├── zoomout.png │ │ ├── properties.png │ │ ├── settings.png │ │ ├── underbar.png │ │ ├── underline.png │ │ ├── information.png │ │ ├── exitfullscreen.png │ │ └── strikethrough.png │ ├── commands │ │ ├── box │ │ │ ├── all.png │ │ │ ├── leftTop.png │ │ │ ├── rightTop.png │ │ │ ├── leftBottom.png │ │ │ └── rightBottom.png │ │ ├── matrix │ │ │ ├── row.png │ │ │ ├── 2Square.png │ │ │ ├── 2cellRow.png │ │ │ ├── 3Square.png │ │ │ ├── 3cellRow.png │ │ │ ├── column.png │ │ │ ├── custom.png │ │ │ ├── 2cellColumn.png │ │ │ └── 3cellColumn.png │ │ ├── subSuper │ │ │ ├── Sub.png │ │ │ ├── Super.png │ │ │ ├── SubLeft.png │ │ │ ├── SubSuper.png │ │ │ ├── SuperLeft.png │ │ │ └── SubSuperLeft.png │ │ ├── brackets │ │ │ ├── Floor.png │ │ │ ├── AngleBar.png │ │ │ ├── BarAngle.png │ │ │ ├── Ceiling.png │ │ │ ├── LeftBar.png │ │ │ ├── RightBar.png │ │ │ ├── DoubleBar.png │ │ │ ├── LeftAngle.png │ │ │ ├── Parentheses.png │ │ │ ├── RightAngle.png │ │ │ ├── SingleBar.png │ │ │ ├── SquareBar.png │ │ │ ├── CurlyBracket.png │ │ │ ├── LeftDoubleBar.png │ │ │ ├── LeftSquareBar.png │ │ │ ├── SquareBracket.png │ │ │ ├── LeftCurlyBracket.png │ │ │ ├── LeftParenthesis.png │ │ │ ├── PointingAngles.png │ │ │ ├── RightDoubleBar.png │ │ │ ├── RightParenthesis.png │ │ │ ├── RightSquareBar.png │ │ │ ├── TopCurlyBracket.png │ │ │ ├── TopSquareBracket.png │ │ │ ├── BottomCurlyBracket.png │ │ │ ├── LeftSquareBracket.png │ │ │ ├── ParenthesisSquare.png │ │ │ ├── RightCurlyBracket.png │ │ │ ├── RightSquareBracket.png │ │ │ ├── SquareParenthesis.png │ │ │ ├── BottomSquareBracket.png │ │ │ ├── DoubleArrowBarBracket.png │ │ │ ├── LeftLeftSquareBracket.png │ │ │ ├── RightLeftSquareBracket.png │ │ │ └── RightRightSquareBracket.png │ │ ├── divAndRoots │ │ │ ├── Div.png │ │ │ ├── nRoot.png │ │ │ ├── DivHoriz.png │ │ │ ├── DivMath.png │ │ │ ├── DivSlant.png │ │ │ ├── SmallDiv.png │ │ │ ├── SqRoot.png │ │ │ ├── DivDoubleBar.png │ │ │ ├── DivTripleBar.png │ │ │ ├── SmallDivHoriz.png │ │ │ ├── SmallDivSlant.png │ │ │ ├── DivMathInverted.png │ │ │ ├── DivMathWithTop.png │ │ │ ├── DivTriangleFixed.png │ │ │ ├── DivTriangleExpanding.png │ │ │ └── DivMathInvertedWithBottom.png │ │ ├── composite │ │ │ ├── BigSub.png │ │ │ ├── BigTop.png │ │ │ ├── BigBottom.png │ │ │ ├── BigSuper.png │ │ │ ├── BigBottomTop.png │ │ │ ├── BigSubSuper.png │ │ │ ├── CompositeTop.png │ │ │ ├── CompositeBottom.png │ │ │ └── CompositeBottomTop.png │ │ ├── sumsProducts │ │ │ ├── sum.png │ │ │ ├── product.png │ │ │ ├── sumSub.png │ │ │ ├── union.png │ │ │ ├── coProduct.png │ │ │ ├── sumBottom.png │ │ │ ├── unionSub.png │ │ │ ├── coProductSub.png │ │ │ ├── intersection.png │ │ │ ├── productSub.png │ │ │ ├── sumBottomTop.png │ │ │ ├── sumSubSuper.png │ │ │ ├── unionBottom.png │ │ │ ├── productBottom.png │ │ │ ├── unionBottomTop.png │ │ │ ├── unionSubSuper.png │ │ │ ├── ProductBottomTop.png │ │ │ ├── coProductBottom.png │ │ │ ├── coProductSubSuper.png │ │ │ ├── intersectionSub.png │ │ │ ├── productSubSuper.png │ │ │ ├── coProductBottomTop.png │ │ │ ├── intersectionBottom.png │ │ │ ├── intersectionBottomTop.png │ │ │ └── intersectionSubSuper.png │ │ ├── integrals │ │ │ ├── Clock │ │ │ │ ├── Sub.png │ │ │ │ ├── Bottom.png │ │ │ │ ├── Simple.png │ │ │ │ ├── BottomTop.png │ │ │ │ └── SubSuper.png │ │ │ ├── Double │ │ │ │ ├── Sub.png │ │ │ │ ├── Bottom.png │ │ │ │ ├── Simple.png │ │ │ │ ├── SubSuper.png │ │ │ │ └── BottomTop.png │ │ │ ├── Single │ │ │ │ ├── Sub.png │ │ │ │ ├── Bottom.png │ │ │ │ ├── Simple.png │ │ │ │ ├── SubSuper.png │ │ │ │ └── BottomTop.png │ │ │ ├── Triple │ │ │ │ ├── Sub.png │ │ │ │ ├── Bottom.png │ │ │ │ ├── Simple.png │ │ │ │ ├── SubSuper.png │ │ │ │ └── BottomTop.png │ │ │ ├── volume │ │ │ │ ├── Sub.png │ │ │ │ ├── Bottom.png │ │ │ │ ├── Simple.png │ │ │ │ ├── SubSuper.png │ │ │ │ └── BottomTop.png │ │ │ ├── Contour │ │ │ │ ├── Sub.png │ │ │ │ ├── Bottom.png │ │ │ │ ├── Simple.png │ │ │ │ ├── BottomTop.png │ │ │ │ └── SubSuper.png │ │ │ ├── Surface │ │ │ │ ├── Sub.png │ │ │ │ ├── Bottom.png │ │ │ │ ├── Simple.png │ │ │ │ ├── BottomTop.png │ │ │ │ └── SubSuper.png │ │ │ └── AntiClock │ │ │ │ ├── Sub.png │ │ │ │ ├── Bottom.png │ │ │ │ ├── Simple.png │ │ │ │ ├── BottomTop.png │ │ │ │ └── SubSuper.png │ │ └── decorated │ │ │ ├── equation │ │ │ ├── hat.png │ │ │ ├── cross.png │ │ │ ├── tilde.png │ │ │ ├── topBar.png │ │ │ ├── tortoise.png │ │ │ ├── bottomBar.png │ │ │ ├── leftCross.png │ │ │ ├── parenthesis.png │ │ │ ├── rightCross.png │ │ │ ├── strikeThrough.png │ │ │ ├── topDoubleBar.png │ │ │ ├── topLeftArrow.png │ │ │ ├── topRightArrow.png │ │ │ ├── bottomDoubleBar.png │ │ │ ├── bottomLeftArrow.png │ │ │ ├── bottomRightArrow.png │ │ │ ├── topDoubleArrow.png │ │ │ ├── topLeftHalfArrow.png │ │ │ ├── bottomDoubleArrow.png │ │ │ ├── topRightHalfArrow.png │ │ │ ├── bottomLeftHalfArrow.png │ │ │ └── bottomRightHalfArrow.png │ │ │ ├── arrow │ │ │ ├── DoubleTop.png │ │ │ ├── LeftTop.png │ │ │ ├── RightTop.png │ │ │ ├── LeftBottom.png │ │ │ ├── RightBottom.png │ │ │ ├── DoubleBottom.png │ │ │ ├── LeftBottomTop.png │ │ │ ├── RightBottomTop.png │ │ │ ├── RightLeftTop.png │ │ │ ├── DoubleBottomTop.png │ │ │ ├── RightLeftBottom.png │ │ │ ├── RightLeftHarpTop.png │ │ │ ├── RightLeftBottomTop.png │ │ │ ├── RightLeftHarpBottom.png │ │ │ ├── RightSmallLeftTop.png │ │ │ ├── SmallRightLeftTop.png │ │ │ ├── RightSmallLeftBottom.png │ │ │ ├── RightSmallLeftHarpTop.png │ │ │ ├── SmallRightLeftBottom.png │ │ │ ├── SmallRightLeftHarpTop.png │ │ │ ├── RightLeftHarpBottomTop.png │ │ │ ├── RightSmallLeftBottomTop.png │ │ │ ├── RightSmallLeftHarpBottom.png │ │ │ ├── SmallRightLeftBottomTop.png │ │ │ ├── SmallRightLeftHarpBottom.png │ │ │ ├── RightSmallLeftHarpBottomTop.png │ │ │ └── SmallRightLeftHarpBottomTop.png │ │ │ └── character │ │ │ ├── Cross.png │ │ │ ├── None.png │ │ │ ├── Prime.png │ │ │ ├── TopBar.png │ │ │ ├── TopDDot.png │ │ │ ├── TopDot.png │ │ │ ├── TopRing.png │ │ │ ├── TopTDot.png │ │ │ ├── BottomBar.png │ │ │ ├── BottomDDot.png │ │ │ ├── BottomDot.png │ │ │ ├── BottomTDot.png │ │ │ ├── LeftCross.png │ │ │ ├── RightCross.png │ │ │ ├── TopBreve.png │ │ │ ├── TopCaron.png │ │ │ ├── TopFourDot.png │ │ │ ├── TopTilde.png │ │ │ ├── AcuteAccent.png │ │ │ ├── BottomBreve.png │ │ │ ├── BottomTilde.png │ │ │ ├── DoublePrime.png │ │ │ ├── GraveAccent.png │ │ │ ├── ReversePrime.png │ │ │ ├── TopLeftArrow.png │ │ │ ├── TopRightRing.png │ │ │ ├── TriplePrime.png │ │ │ ├── BottomFourDot.png │ │ │ ├── BottomLeftArrow.png │ │ │ ├── StrikeThrough.png │ │ │ ├── TopCircumflex.png │ │ │ ├── TopDoubleArrow.png │ │ │ ├── TopLeftHarpoon.png │ │ │ ├── TopRightArrow.png │ │ │ ├── TopRightHarpoon.png │ │ │ ├── VStrikeThrough.png │ │ │ ├── BottomDoubleArrow.png │ │ │ ├── BottomLeftHarpoon.png │ │ │ ├── BottomRightArrow.png │ │ │ ├── LeftUprightCross.png │ │ │ ├── RightUprightCross.png │ │ │ ├── TopInvertedBreve.png │ │ │ ├── BottomInvertedBreve.png │ │ │ ├── BottomRightHarpoon.png │ │ │ ├── DoubleStrikeThrough.png │ │ │ ├── ReverseDoublePrime.png │ │ │ └── VDoubleStrikeThrough.png │ └── mathbuttons │ │ ├── arrows.png │ │ ├── boxes.png │ │ ├── divroot.png │ │ ├── matrix.png │ │ ├── symbols.png │ │ ├── brackets.png │ │ ├── composite.png │ │ ├── integrals.png │ │ ├── subsuper.png │ │ ├── greekcapital.png │ │ ├── greeksmall.png │ │ ├── sumproduct.png │ │ ├── arrowEquation.png │ │ ├── decoratedEquation.png │ │ └── decoratedCharacter.png ├── STIX │ ├── STIXGeneral-Bold.otf │ ├── STIXGeneral-Italic.otf │ ├── STIXVariants-Bold.otf │ ├── STIXGeneral-Regular.otf │ ├── STIXIntegralsD-Bold.otf │ ├── STIXIntegralsSm-Bold.otf │ ├── STIXIntegralsUp-Bold.otf │ ├── STIXIntegralsUpD-Bold.otf │ ├── STIXNonUnicode-Bold.otf │ ├── STIXNonUnicode-Italic.otf │ ├── STIXSizeFourSym-Bold.otf │ ├── STIXSizeOneSym-Bold.otf │ ├── STIXSizeThreeSym-Bold.otf │ ├── STIXSizeTwoSym-Bold.otf │ ├── STIXVariants-Regular.otf │ ├── STIX Font License 2010.pdf │ ├── STIXGeneral-BoldItalic.otf │ ├── STIXIntegralsD-Regular.otf │ ├── STIXIntegralsSm-Regular.otf │ ├── STIXIntegralsUp-Regular.otf │ ├── STIXIntegralsUpSm-Bold.otf │ ├── STIXNonUnicode-Regular.otf │ ├── STIXSizeFiveSym-Regular.otf │ ├── STIXSizeFourSym-Regular.otf │ ├── STIXSizeOneSym-Regular.otf │ ├── STIXSizeTwoSym-Regular.otf │ ├── STIXIntegralsUpD-Regular.otf │ ├── STIXIntegralsUpSm-Regular.otf │ ├── STIXNonUnicode-BoldItalic.otf │ └── STIXSizeThreeSym-Regular.otf ├── FodyWeavers.xml ├── equations │ ├── Common │ │ ├── MathEditorData.cs │ │ ├── UndoRedo │ │ │ ├── ISupportsUndo.cs │ │ │ ├── UndoEventArgs.cs │ │ │ ├── EquationAction.cs │ │ │ ├── Text │ │ │ │ ├── TextFormatAction.cs │ │ │ │ ├── ModeChangeAction.cs │ │ │ │ ├── DecorationAction.cs │ │ │ │ ├── TextAction.cs │ │ │ │ └── TextRemoveAction.cs │ │ │ ├── Row │ │ │ │ ├── RowAction.cs │ │ │ │ ├── EquationRowFormatAction.cs │ │ │ │ ├── RowRemoveAction.cs │ │ │ │ └── EquationRowPasteAction.cs │ │ │ └── RowContainer │ │ │ │ ├── RowContainerRemoveAction.cs │ │ │ │ ├── RowContainerAction.cs │ │ │ │ ├── RowContainerFormatAction.cs │ │ │ │ ├── RowContainerTextAction.cs │ │ │ │ └── RowContainerPasteAction.cs │ │ ├── CopyDataObject.cs │ │ ├── DrawingContextHelper.cs │ │ ├── FunctionNames.cs │ │ ├── StaticText.cs │ │ └── PenManager.cs │ ├── HorizontalBracket │ │ ├── TopBracket.cs │ │ └── BottomBracket.cs │ ├── Division │ │ ├── DivMathInverted.cs │ │ ├── DivMathWithTop.cs │ │ ├── DivMathWithBottom.cs │ │ ├── DivisionsMisc.cs │ │ ├── DivTriangleSign.cs │ │ ├── DivMathSign.cs │ │ ├── DivMathWithOuterBase.cs │ │ ├── DivisionFactory.cs │ │ ├── DivSlanted.cs │ │ ├── DivMath.cs │ │ └── DivHorizontal.cs │ ├── Bracket │ │ ├── LeftBracket.cs │ │ ├── RightBracket.cs │ │ ├── LeftRightBracket.cs │ │ └── Bracket.cs │ ├── Composite │ │ ├── CompositeFactory.cs │ │ ├── CompositeBase.cs │ │ └── BigCompositeFactory.cs │ ├── Text │ │ ├── CharacterDecorationInfo.cs │ │ └── TextFormat.cs │ ├── SignComposite │ │ ├── SignCompositeFactory.cs │ │ └── SignSimple.cs │ ├── SubSuper │ │ ├── SubSuperBase.cs │ │ ├── Super.cs │ │ └── Sub.cs │ └── Root │ │ ├── SquareRoot.cs │ │ └── RadicalSign.cs ├── Properties │ ├── Settings.settings │ ├── AssemblyInfo.cs │ ├── Settings.Designer.cs │ └── Resources.Designer.cs ├── common │ ├── CommandDetails.cs │ ├── EditorModeToBoolConverter.cs │ ├── EditorModeToVisibilityConverter.cs │ ├── AutoGrayableImage.cs │ └── MouseWheelGesture.cs ├── app.config ├── ButtonPanel.xaml ├── App.xaml ├── AboutWindow.xaml.cs ├── App.xaml.cs ├── CustomZoomWindow.xaml ├── BrowserHelper.cs ├── MatrixInputWindow.xaml.cs ├── EditorControl.xaml ├── Editor.csproj ├── CodepointWindow.xaml ├── CharacterToolBar.xaml ├── CustomZoomWindow.xaml.cs ├── SettingsWindow.xaml.cs ├── MatrixInputWindow.xaml ├── ButtonPanel.xaml.cs ├── AboutWindow.xaml └── HistoryToolBar.xaml.cs ├── Directory.packages.props ├── README.md ├── Directory.Build.props ├── LICENSE.md └── MathiVersity.sln /Editor/.gitignore: -------------------------------------------------------------------------------- 1 | /obj/ 2 | /bin/ 3 | -------------------------------------------------------------------------------- /Editor/app_icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/app_icon.ico -------------------------------------------------------------------------------- /Editor/app_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/app_icon.png -------------------------------------------------------------------------------- /Editor/images/gui/bold.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/gui/bold.png -------------------------------------------------------------------------------- /Editor/images/gui/copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/gui/copy.png -------------------------------------------------------------------------------- /Editor/images/gui/cut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/gui/cut.png -------------------------------------------------------------------------------- /Editor/images/gui/find.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/gui/find.png -------------------------------------------------------------------------------- /Editor/images/gui/help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/gui/help.png -------------------------------------------------------------------------------- /Editor/images/gui/new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/gui/new.png -------------------------------------------------------------------------------- /Editor/images/gui/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/gui/open.png -------------------------------------------------------------------------------- /Editor/images/gui/paste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/gui/paste.png -------------------------------------------------------------------------------- /Editor/images/gui/print.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/gui/print.png -------------------------------------------------------------------------------- /Editor/images/gui/redo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/gui/redo.png -------------------------------------------------------------------------------- /Editor/images/gui/save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/gui/save.png -------------------------------------------------------------------------------- /Editor/images/gui/undo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/gui/undo.png -------------------------------------------------------------------------------- /Editor/images/gui/delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/gui/delete.png -------------------------------------------------------------------------------- /Editor/images/gui/italic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/gui/italic.png -------------------------------------------------------------------------------- /Editor/images/gui/license.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/gui/license.txt -------------------------------------------------------------------------------- /Editor/images/gui/overbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/gui/overbar.png -------------------------------------------------------------------------------- /Editor/images/gui/saveas.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/gui/saveas.png -------------------------------------------------------------------------------- /Editor/images/gui/zoomin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/gui/zoomin.png -------------------------------------------------------------------------------- /Editor/images/gui/zoomout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/gui/zoomout.png -------------------------------------------------------------------------------- /Editor/STIX/STIXGeneral-Bold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/STIX/STIXGeneral-Bold.otf -------------------------------------------------------------------------------- /Editor/images/gui/properties.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/gui/properties.png -------------------------------------------------------------------------------- /Editor/images/gui/settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/gui/settings.png -------------------------------------------------------------------------------- /Editor/images/gui/underbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/gui/underbar.png -------------------------------------------------------------------------------- /Editor/images/gui/underline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/gui/underline.png -------------------------------------------------------------------------------- /Editor/STIX/STIXGeneral-Italic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/STIX/STIXGeneral-Italic.otf -------------------------------------------------------------------------------- /Editor/STIX/STIXVariants-Bold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/STIX/STIXVariants-Bold.otf -------------------------------------------------------------------------------- /Editor/images/commands/box/all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/box/all.png -------------------------------------------------------------------------------- /Editor/images/gui/information.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/gui/information.png -------------------------------------------------------------------------------- /Editor/STIX/STIXGeneral-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/STIX/STIXGeneral-Regular.otf -------------------------------------------------------------------------------- /Editor/STIX/STIXIntegralsD-Bold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/STIX/STIXIntegralsD-Bold.otf -------------------------------------------------------------------------------- /Editor/STIX/STIXIntegralsSm-Bold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/STIX/STIXIntegralsSm-Bold.otf -------------------------------------------------------------------------------- /Editor/STIX/STIXIntegralsUp-Bold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/STIX/STIXIntegralsUp-Bold.otf -------------------------------------------------------------------------------- /Editor/STIX/STIXIntegralsUpD-Bold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/STIX/STIXIntegralsUpD-Bold.otf -------------------------------------------------------------------------------- /Editor/STIX/STIXNonUnicode-Bold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/STIX/STIXNonUnicode-Bold.otf -------------------------------------------------------------------------------- /Editor/STIX/STIXNonUnicode-Italic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/STIX/STIXNonUnicode-Italic.otf -------------------------------------------------------------------------------- /Editor/STIX/STIXSizeFourSym-Bold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/STIX/STIXSizeFourSym-Bold.otf -------------------------------------------------------------------------------- /Editor/STIX/STIXSizeOneSym-Bold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/STIX/STIXSizeOneSym-Bold.otf -------------------------------------------------------------------------------- /Editor/STIX/STIXSizeThreeSym-Bold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/STIX/STIXSizeThreeSym-Bold.otf -------------------------------------------------------------------------------- /Editor/STIX/STIXSizeTwoSym-Bold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/STIX/STIXSizeTwoSym-Bold.otf -------------------------------------------------------------------------------- /Editor/STIX/STIXVariants-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/STIX/STIXVariants-Regular.otf -------------------------------------------------------------------------------- /Editor/images/commands/matrix/row.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/matrix/row.png -------------------------------------------------------------------------------- /Editor/images/gui/exitfullscreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/gui/exitfullscreen.png -------------------------------------------------------------------------------- /Editor/images/gui/strikethrough.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/gui/strikethrough.png -------------------------------------------------------------------------------- /Editor/images/mathbuttons/arrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/mathbuttons/arrows.png -------------------------------------------------------------------------------- /Editor/images/mathbuttons/boxes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/mathbuttons/boxes.png -------------------------------------------------------------------------------- /Editor/images/mathbuttons/divroot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/mathbuttons/divroot.png -------------------------------------------------------------------------------- /Editor/images/mathbuttons/matrix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/mathbuttons/matrix.png -------------------------------------------------------------------------------- /Editor/images/mathbuttons/symbols.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/mathbuttons/symbols.png -------------------------------------------------------------------------------- /Editor/STIX/STIX Font License 2010.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/STIX/STIX Font License 2010.pdf -------------------------------------------------------------------------------- /Editor/STIX/STIXGeneral-BoldItalic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/STIX/STIXGeneral-BoldItalic.otf -------------------------------------------------------------------------------- /Editor/STIX/STIXIntegralsD-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/STIX/STIXIntegralsD-Regular.otf -------------------------------------------------------------------------------- /Editor/STIX/STIXIntegralsSm-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/STIX/STIXIntegralsSm-Regular.otf -------------------------------------------------------------------------------- /Editor/STIX/STIXIntegralsUp-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/STIX/STIXIntegralsUp-Regular.otf -------------------------------------------------------------------------------- /Editor/STIX/STIXIntegralsUpSm-Bold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/STIX/STIXIntegralsUpSm-Bold.otf -------------------------------------------------------------------------------- /Editor/STIX/STIXNonUnicode-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/STIX/STIXNonUnicode-Regular.otf -------------------------------------------------------------------------------- /Editor/STIX/STIXSizeFiveSym-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/STIX/STIXSizeFiveSym-Regular.otf -------------------------------------------------------------------------------- /Editor/STIX/STIXSizeFourSym-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/STIX/STIXSizeFourSym-Regular.otf -------------------------------------------------------------------------------- /Editor/STIX/STIXSizeOneSym-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/STIX/STIXSizeOneSym-Regular.otf -------------------------------------------------------------------------------- /Editor/STIX/STIXSizeTwoSym-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/STIX/STIXSizeTwoSym-Regular.otf -------------------------------------------------------------------------------- /Editor/images/commands/box/leftTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/box/leftTop.png -------------------------------------------------------------------------------- /Editor/images/commands/box/rightTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/box/rightTop.png -------------------------------------------------------------------------------- /Editor/images/commands/subSuper/Sub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/subSuper/Sub.png -------------------------------------------------------------------------------- /Editor/images/mathbuttons/brackets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/mathbuttons/brackets.png -------------------------------------------------------------------------------- /Editor/images/mathbuttons/composite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/mathbuttons/composite.png -------------------------------------------------------------------------------- /Editor/images/mathbuttons/integrals.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/mathbuttons/integrals.png -------------------------------------------------------------------------------- /Editor/images/mathbuttons/subsuper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/mathbuttons/subsuper.png -------------------------------------------------------------------------------- /Editor/STIX/STIXIntegralsUpD-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/STIX/STIXIntegralsUpD-Regular.otf -------------------------------------------------------------------------------- /Editor/STIX/STIXIntegralsUpSm-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/STIX/STIXIntegralsUpSm-Regular.otf -------------------------------------------------------------------------------- /Editor/STIX/STIXNonUnicode-BoldItalic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/STIX/STIXNonUnicode-BoldItalic.otf -------------------------------------------------------------------------------- /Editor/STIX/STIXSizeThreeSym-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/STIX/STIXSizeThreeSym-Regular.otf -------------------------------------------------------------------------------- /Editor/images/commands/box/leftBottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/box/leftBottom.png -------------------------------------------------------------------------------- /Editor/images/commands/box/rightBottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/box/rightBottom.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/Floor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/Floor.png -------------------------------------------------------------------------------- /Editor/images/commands/divAndRoots/Div.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/divAndRoots/Div.png -------------------------------------------------------------------------------- /Editor/images/commands/matrix/2Square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/matrix/2Square.png -------------------------------------------------------------------------------- /Editor/images/commands/matrix/2cellRow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/matrix/2cellRow.png -------------------------------------------------------------------------------- /Editor/images/commands/matrix/3Square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/matrix/3Square.png -------------------------------------------------------------------------------- /Editor/images/commands/matrix/3cellRow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/matrix/3cellRow.png -------------------------------------------------------------------------------- /Editor/images/commands/matrix/column.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/matrix/column.png -------------------------------------------------------------------------------- /Editor/images/commands/matrix/custom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/matrix/custom.png -------------------------------------------------------------------------------- /Editor/images/commands/subSuper/Super.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/subSuper/Super.png -------------------------------------------------------------------------------- /Editor/images/mathbuttons/greekcapital.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/mathbuttons/greekcapital.png -------------------------------------------------------------------------------- /Editor/images/mathbuttons/greeksmall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/mathbuttons/greeksmall.png -------------------------------------------------------------------------------- /Editor/images/mathbuttons/sumproduct.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/mathbuttons/sumproduct.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/AngleBar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/AngleBar.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/BarAngle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/BarAngle.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/Ceiling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/Ceiling.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/LeftBar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/LeftBar.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/RightBar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/RightBar.png -------------------------------------------------------------------------------- /Editor/images/commands/composite/BigSub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/composite/BigSub.png -------------------------------------------------------------------------------- /Editor/images/commands/composite/BigTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/composite/BigTop.png -------------------------------------------------------------------------------- /Editor/images/commands/divAndRoots/nRoot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/divAndRoots/nRoot.png -------------------------------------------------------------------------------- /Editor/images/commands/subSuper/SubLeft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/subSuper/SubLeft.png -------------------------------------------------------------------------------- /Editor/images/commands/subSuper/SubSuper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/subSuper/SubSuper.png -------------------------------------------------------------------------------- /Editor/images/commands/sumsProducts/sum.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/sumsProducts/sum.png -------------------------------------------------------------------------------- /Editor/images/mathbuttons/arrowEquation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/mathbuttons/arrowEquation.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/DoubleBar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/DoubleBar.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/LeftAngle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/LeftAngle.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/Parentheses.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/Parentheses.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/RightAngle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/RightAngle.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/SingleBar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/SingleBar.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/SquareBar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/SquareBar.png -------------------------------------------------------------------------------- /Editor/images/commands/composite/BigBottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/composite/BigBottom.png -------------------------------------------------------------------------------- /Editor/images/commands/composite/BigSuper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/composite/BigSuper.png -------------------------------------------------------------------------------- /Editor/images/commands/divAndRoots/DivHoriz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/divAndRoots/DivHoriz.png -------------------------------------------------------------------------------- /Editor/images/commands/divAndRoots/DivMath.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/divAndRoots/DivMath.png -------------------------------------------------------------------------------- /Editor/images/commands/divAndRoots/DivSlant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/divAndRoots/DivSlant.png -------------------------------------------------------------------------------- /Editor/images/commands/divAndRoots/SmallDiv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/divAndRoots/SmallDiv.png -------------------------------------------------------------------------------- /Editor/images/commands/divAndRoots/SqRoot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/divAndRoots/SqRoot.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/Clock/Sub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/Clock/Sub.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/Double/Sub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/Double/Sub.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/Single/Sub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/Single/Sub.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/Triple/Sub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/Triple/Sub.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/volume/Sub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/volume/Sub.png -------------------------------------------------------------------------------- /Editor/images/commands/matrix/2cellColumn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/matrix/2cellColumn.png -------------------------------------------------------------------------------- /Editor/images/commands/matrix/3cellColumn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/matrix/3cellColumn.png -------------------------------------------------------------------------------- /Editor/images/commands/subSuper/SuperLeft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/subSuper/SuperLeft.png -------------------------------------------------------------------------------- /Editor/images/commands/sumsProducts/product.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/sumsProducts/product.png -------------------------------------------------------------------------------- /Editor/images/commands/sumsProducts/sumSub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/sumsProducts/sumSub.png -------------------------------------------------------------------------------- /Editor/images/commands/sumsProducts/union.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/sumsProducts/union.png -------------------------------------------------------------------------------- /Editor/images/mathbuttons/decoratedEquation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/mathbuttons/decoratedEquation.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/CurlyBracket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/CurlyBracket.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/LeftDoubleBar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/LeftDoubleBar.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/LeftSquareBar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/LeftSquareBar.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/SquareBracket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/SquareBracket.png -------------------------------------------------------------------------------- /Editor/images/commands/composite/BigBottomTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/composite/BigBottomTop.png -------------------------------------------------------------------------------- /Editor/images/commands/composite/BigSubSuper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/composite/BigSubSuper.png -------------------------------------------------------------------------------- /Editor/images/commands/composite/CompositeTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/composite/CompositeTop.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/equation/hat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/equation/hat.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/Clock/Bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/Clock/Bottom.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/Clock/Simple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/Clock/Simple.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/Contour/Sub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/Contour/Sub.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/Surface/Sub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/Surface/Sub.png -------------------------------------------------------------------------------- /Editor/images/commands/subSuper/SubSuperLeft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/subSuper/SubSuperLeft.png -------------------------------------------------------------------------------- /Editor/images/commands/sumsProducts/coProduct.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/sumsProducts/coProduct.png -------------------------------------------------------------------------------- /Editor/images/commands/sumsProducts/sumBottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/sumsProducts/sumBottom.png -------------------------------------------------------------------------------- /Editor/images/commands/sumsProducts/unionSub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/sumsProducts/unionSub.png -------------------------------------------------------------------------------- /Editor/images/mathbuttons/decoratedCharacter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/mathbuttons/decoratedCharacter.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/LeftCurlyBracket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/LeftCurlyBracket.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/LeftParenthesis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/LeftParenthesis.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/PointingAngles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/PointingAngles.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/RightDoubleBar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/RightDoubleBar.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/RightParenthesis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/RightParenthesis.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/RightSquareBar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/RightSquareBar.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/TopCurlyBracket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/TopCurlyBracket.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/TopSquareBracket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/TopSquareBracket.png -------------------------------------------------------------------------------- /Editor/images/commands/composite/CompositeBottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/composite/CompositeBottom.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/arrow/DoubleTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/arrow/DoubleTop.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/arrow/LeftTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/arrow/LeftTop.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/arrow/RightTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/arrow/RightTop.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/Cross.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/Cross.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/None.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/None.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/Prime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/Prime.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/equation/cross.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/equation/cross.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/equation/tilde.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/equation/tilde.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/equation/topBar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/equation/topBar.png -------------------------------------------------------------------------------- /Editor/images/commands/divAndRoots/DivDoubleBar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/divAndRoots/DivDoubleBar.png -------------------------------------------------------------------------------- /Editor/images/commands/divAndRoots/DivTripleBar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/divAndRoots/DivTripleBar.png -------------------------------------------------------------------------------- /Editor/images/commands/divAndRoots/SmallDivHoriz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/divAndRoots/SmallDivHoriz.png -------------------------------------------------------------------------------- /Editor/images/commands/divAndRoots/SmallDivSlant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/divAndRoots/SmallDivSlant.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/AntiClock/Sub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/AntiClock/Sub.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/Clock/BottomTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/Clock/BottomTop.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/Clock/SubSuper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/Clock/SubSuper.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/Contour/Bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/Contour/Bottom.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/Contour/Simple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/Contour/Simple.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/Double/Bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/Double/Bottom.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/Double/Simple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/Double/Simple.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/Double/SubSuper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/Double/SubSuper.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/Single/Bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/Single/Bottom.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/Single/Simple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/Single/Simple.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/Single/SubSuper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/Single/SubSuper.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/Surface/Bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/Surface/Bottom.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/Surface/Simple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/Surface/Simple.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/Triple/Bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/Triple/Bottom.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/Triple/Simple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/Triple/Simple.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/Triple/SubSuper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/Triple/SubSuper.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/volume/Bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/volume/Bottom.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/volume/Simple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/volume/Simple.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/volume/SubSuper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/volume/SubSuper.png -------------------------------------------------------------------------------- /Editor/images/commands/sumsProducts/coProductSub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/sumsProducts/coProductSub.png -------------------------------------------------------------------------------- /Editor/images/commands/sumsProducts/intersection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/sumsProducts/intersection.png -------------------------------------------------------------------------------- /Editor/images/commands/sumsProducts/productSub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/sumsProducts/productSub.png -------------------------------------------------------------------------------- /Editor/images/commands/sumsProducts/sumBottomTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/sumsProducts/sumBottomTop.png -------------------------------------------------------------------------------- /Editor/images/commands/sumsProducts/sumSubSuper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/sumsProducts/sumSubSuper.png -------------------------------------------------------------------------------- /Editor/images/commands/sumsProducts/unionBottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/sumsProducts/unionBottom.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/BottomCurlyBracket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/BottomCurlyBracket.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/LeftSquareBracket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/LeftSquareBracket.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/ParenthesisSquare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/ParenthesisSquare.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/RightCurlyBracket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/RightCurlyBracket.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/RightSquareBracket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/RightSquareBracket.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/SquareParenthesis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/SquareParenthesis.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/arrow/LeftBottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/arrow/LeftBottom.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/arrow/RightBottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/arrow/RightBottom.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/TopBar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/TopBar.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/TopDDot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/TopDDot.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/TopDot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/TopDot.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/TopRing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/TopRing.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/TopTDot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/TopTDot.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/equation/tortoise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/equation/tortoise.png -------------------------------------------------------------------------------- /Editor/images/commands/divAndRoots/DivMathInverted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/divAndRoots/DivMathInverted.png -------------------------------------------------------------------------------- /Editor/images/commands/divAndRoots/DivMathWithTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/divAndRoots/DivMathWithTop.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/AntiClock/Bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/AntiClock/Bottom.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/AntiClock/Simple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/AntiClock/Simple.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/Contour/BottomTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/Contour/BottomTop.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/Contour/SubSuper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/Contour/SubSuper.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/Double/BottomTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/Double/BottomTop.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/Single/BottomTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/Single/BottomTop.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/Surface/BottomTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/Surface/BottomTop.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/Surface/SubSuper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/Surface/SubSuper.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/Triple/BottomTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/Triple/BottomTop.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/volume/BottomTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/volume/BottomTop.png -------------------------------------------------------------------------------- /Editor/images/commands/sumsProducts/productBottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/sumsProducts/productBottom.png -------------------------------------------------------------------------------- /Editor/images/commands/sumsProducts/unionBottomTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/sumsProducts/unionBottomTop.png -------------------------------------------------------------------------------- /Editor/images/commands/sumsProducts/unionSubSuper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/sumsProducts/unionSubSuper.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/BottomSquareBracket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/BottomSquareBracket.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/DoubleArrowBarBracket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/DoubleArrowBarBracket.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/LeftLeftSquareBracket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/LeftLeftSquareBracket.png -------------------------------------------------------------------------------- /Editor/images/commands/composite/CompositeBottomTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/composite/CompositeBottomTop.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/arrow/DoubleBottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/arrow/DoubleBottom.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/arrow/LeftBottomTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/arrow/LeftBottomTop.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/arrow/RightBottomTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/arrow/RightBottomTop.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/arrow/RightLeftTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/arrow/RightLeftTop.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/BottomBar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/BottomBar.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/BottomDDot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/BottomDDot.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/BottomDot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/BottomDot.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/BottomTDot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/BottomTDot.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/LeftCross.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/LeftCross.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/RightCross.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/RightCross.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/TopBreve.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/TopBreve.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/TopCaron.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/TopCaron.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/TopFourDot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/TopFourDot.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/TopTilde.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/TopTilde.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/equation/bottomBar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/equation/bottomBar.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/equation/leftCross.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/equation/leftCross.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/equation/parenthesis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/equation/parenthesis.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/equation/rightCross.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/equation/rightCross.png -------------------------------------------------------------------------------- /Editor/images/commands/divAndRoots/DivTriangleFixed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/divAndRoots/DivTriangleFixed.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/AntiClock/BottomTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/AntiClock/BottomTop.png -------------------------------------------------------------------------------- /Editor/images/commands/integrals/AntiClock/SubSuper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/integrals/AntiClock/SubSuper.png -------------------------------------------------------------------------------- /Editor/images/commands/sumsProducts/ProductBottomTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/sumsProducts/ProductBottomTop.png -------------------------------------------------------------------------------- /Editor/images/commands/sumsProducts/coProductBottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/sumsProducts/coProductBottom.png -------------------------------------------------------------------------------- /Editor/images/commands/sumsProducts/coProductSubSuper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/sumsProducts/coProductSubSuper.png -------------------------------------------------------------------------------- /Editor/images/commands/sumsProducts/intersectionSub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/sumsProducts/intersectionSub.png -------------------------------------------------------------------------------- /Editor/images/commands/sumsProducts/productSubSuper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/sumsProducts/productSubSuper.png -------------------------------------------------------------------------------- /Editor/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Editor/images/commands/brackets/RightLeftSquareBracket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/RightLeftSquareBracket.png -------------------------------------------------------------------------------- /Editor/images/commands/brackets/RightRightSquareBracket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/brackets/RightRightSquareBracket.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/arrow/DoubleBottomTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/arrow/DoubleBottomTop.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/arrow/RightLeftBottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/arrow/RightLeftBottom.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/arrow/RightLeftHarpTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/arrow/RightLeftHarpTop.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/AcuteAccent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/AcuteAccent.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/BottomBreve.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/BottomBreve.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/BottomTilde.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/BottomTilde.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/DoublePrime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/DoublePrime.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/GraveAccent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/GraveAccent.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/ReversePrime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/ReversePrime.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/TopLeftArrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/TopLeftArrow.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/TopRightRing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/TopRightRing.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/TriplePrime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/TriplePrime.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/equation/strikeThrough.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/equation/strikeThrough.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/equation/topDoubleBar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/equation/topDoubleBar.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/equation/topLeftArrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/equation/topLeftArrow.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/equation/topRightArrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/equation/topRightArrow.png -------------------------------------------------------------------------------- /Editor/images/commands/divAndRoots/DivTriangleExpanding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/divAndRoots/DivTriangleExpanding.png -------------------------------------------------------------------------------- /Editor/images/commands/sumsProducts/coProductBottomTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/sumsProducts/coProductBottomTop.png -------------------------------------------------------------------------------- /Editor/images/commands/sumsProducts/intersectionBottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/sumsProducts/intersectionBottom.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/arrow/RightLeftBottomTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/arrow/RightLeftBottomTop.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/arrow/RightLeftHarpBottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/arrow/RightLeftHarpBottom.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/arrow/RightSmallLeftTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/arrow/RightSmallLeftTop.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/arrow/SmallRightLeftTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/arrow/SmallRightLeftTop.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/BottomFourDot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/BottomFourDot.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/BottomLeftArrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/BottomLeftArrow.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/StrikeThrough.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/StrikeThrough.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/TopCircumflex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/TopCircumflex.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/TopDoubleArrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/TopDoubleArrow.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/TopLeftHarpoon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/TopLeftHarpoon.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/TopRightArrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/TopRightArrow.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/TopRightHarpoon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/TopRightHarpoon.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/VStrikeThrough.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/VStrikeThrough.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/equation/bottomDoubleBar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/equation/bottomDoubleBar.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/equation/bottomLeftArrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/equation/bottomLeftArrow.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/equation/bottomRightArrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/equation/bottomRightArrow.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/equation/topDoubleArrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/equation/topDoubleArrow.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/equation/topLeftHalfArrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/equation/topLeftHalfArrow.png -------------------------------------------------------------------------------- /Editor/images/commands/sumsProducts/intersectionBottomTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/sumsProducts/intersectionBottomTop.png -------------------------------------------------------------------------------- /Editor/images/commands/sumsProducts/intersectionSubSuper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/sumsProducts/intersectionSubSuper.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/arrow/RightSmallLeftBottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/arrow/RightSmallLeftBottom.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/arrow/RightSmallLeftHarpTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/arrow/RightSmallLeftHarpTop.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/arrow/SmallRightLeftBottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/arrow/SmallRightLeftBottom.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/arrow/SmallRightLeftHarpTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/arrow/SmallRightLeftHarpTop.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/BottomDoubleArrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/BottomDoubleArrow.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/BottomLeftHarpoon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/BottomLeftHarpoon.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/BottomRightArrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/BottomRightArrow.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/LeftUprightCross.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/LeftUprightCross.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/RightUprightCross.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/RightUprightCross.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/TopInvertedBreve.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/TopInvertedBreve.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/equation/bottomDoubleArrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/equation/bottomDoubleArrow.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/equation/topRightHalfArrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/equation/topRightHalfArrow.png -------------------------------------------------------------------------------- /Editor/images/commands/divAndRoots/DivMathInvertedWithBottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/divAndRoots/DivMathInvertedWithBottom.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/arrow/RightLeftHarpBottomTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/arrow/RightLeftHarpBottomTop.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/arrow/RightSmallLeftBottomTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/arrow/RightSmallLeftBottomTop.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/arrow/RightSmallLeftHarpBottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/arrow/RightSmallLeftHarpBottom.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/arrow/SmallRightLeftBottomTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/arrow/SmallRightLeftBottomTop.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/arrow/SmallRightLeftHarpBottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/arrow/SmallRightLeftHarpBottom.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/BottomInvertedBreve.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/BottomInvertedBreve.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/BottomRightHarpoon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/BottomRightHarpoon.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/DoubleStrikeThrough.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/DoubleStrikeThrough.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/ReverseDoublePrime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/ReverseDoublePrime.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/character/VDoubleStrikeThrough.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/character/VDoubleStrikeThrough.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/equation/bottomLeftHalfArrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/equation/bottomLeftHalfArrow.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/equation/bottomRightHalfArrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/equation/bottomRightHalfArrow.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/arrow/RightSmallLeftHarpBottomTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/arrow/RightSmallLeftHarpBottomTop.png -------------------------------------------------------------------------------- /Editor/images/commands/decorated/arrow/SmallRightLeftHarpBottomTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kashifimran/math-editor/HEAD/Editor/images/commands/decorated/arrow/SmallRightLeftHarpBottomTop.png -------------------------------------------------------------------------------- /Editor/equations/Common/MathEditorData.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Editor 4 | { 5 | [Serializable] 6 | public sealed class MathEditorData 7 | { 8 | public string XmlString { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Editor/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Directory.packages.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Editor/equations/Common/UndoRedo/ISupportsUndo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Editor 7 | { 8 | public interface ISupportsUndo 9 | { 10 | void ProcessUndo(EquationAction action); 11 | } 12 | } 13 | 14 | -------------------------------------------------------------------------------- /Editor/equations/Common/CopyDataObject.cs: -------------------------------------------------------------------------------- 1 | using System.Windows.Media.Imaging; 2 | using System.Xml.Linq; 3 | 4 | namespace Editor 5 | { 6 | public sealed class CopyDataObject 7 | { 8 | public BitmapSource Image { get; set; } 9 | public string Text { get; set; } 10 | public XElement XElement { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Editor/common/CommandDetails.cs: -------------------------------------------------------------------------------- 1 | using System.Windows.Controls; 2 | 3 | namespace Editor 4 | { 5 | public sealed class CommandDetails 6 | { 7 | public Image Image { get; set; } 8 | public string UnicodeString { get; set; } 9 | public CommandType CommandType { get; set; } 10 | public object CommandParam { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Editor/equations/HorizontalBracket/TopBracket.cs: -------------------------------------------------------------------------------- 1 | namespace Editor 2 | { 3 | public sealed class TopBracket : HorizontalBracket 4 | { 5 | public TopBracket(EquationContainer parent, HorizontalBracketSignType signType) 6 | :base (parent, signType) 7 | { 8 | topEquation.FontFactor = SubFontFactor; 9 | ActiveChild = bottomEquation; 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Editor/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Editor/equations/HorizontalBracket/BottomBracket.cs: -------------------------------------------------------------------------------- 1 | namespace Editor 2 | { 3 | public sealed class BottomBracket : HorizontalBracket 4 | { 5 | public BottomBracket(EquationContainer parent, HorizontalBracketSignType signType) 6 | :base (parent, signType) 7 | { 8 | bottomEquation.FontFactor = SubFontFactor; 9 | ActiveChild = topEquation; 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Editor/equations/Common/UndoRedo/UndoEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Editor 7 | { 8 | public sealed class UndoEventArgs : EventArgs 9 | { 10 | public bool ActionPossible { get; set; } 11 | public UndoEventArgs(bool actionPossible) 12 | { 13 | ActionPossible = actionPossible; 14 | } 15 | } 16 | } 17 | 18 | -------------------------------------------------------------------------------- /Editor/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | 3 | [assembly: ThemeInfo( 4 | ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located 5 | //(used if a resource is not found in the page, 6 | // or application resource dictionaries) 7 | ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located 8 | //(used if a resource is not found in the page, 9 | // app, or any theme specific resource dictionaries) 10 | )] 11 | -------------------------------------------------------------------------------- /Editor/equations/Common/UndoRedo/EquationAction.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Editor 7 | { 8 | public abstract class EquationAction 9 | { 10 | public bool UndoFlag { get; set; } 11 | public ISupportsUndo Executor { get; set; } 12 | public int FurtherUndoCount { get; set; } 13 | 14 | public EquationAction(ISupportsUndo executor) 15 | { 16 | Executor = executor; 17 | UndoFlag = true; 18 | } 19 | } 20 | } 21 | 22 | -------------------------------------------------------------------------------- /Editor/ButtonPanel.xaml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Editor/equations/Common/UndoRedo/Text/TextFormatAction.cs: -------------------------------------------------------------------------------- 1 | namespace Editor 2 | { 3 | public sealed class TextFormatAction : EquationAction 4 | { 5 | public int Index { get; set; } 6 | public int[] OldFormats { get; set; } 7 | public int[] NewFormats { get; set; } 8 | 9 | public TextFormatAction(ISupportsUndo executor, int index, int[] oldFormats, int[] newFormats) 10 | : base(executor) 11 | { 12 | Index = index; 13 | OldFormats = oldFormats; 14 | NewFormats = newFormats; 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Editor/equations/Common/UndoRedo/Text/ModeChangeAction.cs: -------------------------------------------------------------------------------- 1 | namespace Editor 2 | { 3 | public sealed class ModeChangeAction : EquationAction 4 | { 5 | public int Index { get; set; } 6 | public EditorMode[] OldModes { get; set; } 7 | public EditorMode[] NewModes { get; set; } 8 | 9 | public ModeChangeAction(ISupportsUndo executor, int index, EditorMode[] oldModes, EditorMode[] newModes) 10 | : base(executor) 11 | { 12 | Index = index; 13 | OldModes = oldModes; 14 | NewModes = newModes; 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Math Editor 2 | ========== 3 | 4 | An equation editor for creating mathematical and scientific documents. 5 | 6 | Math Editor is a free alternative to expensive commercial products like MathType. It allows you to typeset almost all kinds of equations. 7 | 8 | The architecture of Math Editor has been explained in this article on The Code Project: http://www.codeproject.com/Articles/522345/OOP-in-the-Real-World-Creating-an-Equation-Editor 9 | 10 | Screenshot 11 | ========== 12 | 13 | ![Math Editor Screenshot](http://www.codeproject.com/KB/architecture/522345/Math-Editor-Screenshot.png "Math Editor Screenshot") 14 | -------------------------------------------------------------------------------- /Editor/common/EditorModeToBoolConverter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Globalization; 3 | using System.Windows.Data; 4 | 5 | namespace Editor 6 | { 7 | [ValueConversion(typeof(EditorMode), typeof(bool))] 8 | public sealed class EditorModeToBoolConverter : IValueConverter 9 | { 10 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture) => 11 | value is EditorMode mode && mode == EditorMode.Text; 12 | 13 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) => 14 | value is bool mode && mode ? EditorMode.Text : EditorMode.Math; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Editor/App.xaml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Editor/equations/Division/DivMathInverted.cs: -------------------------------------------------------------------------------- 1 | namespace Editor 2 | { 3 | public sealed class DivMathInverted : DivMath 4 | { 5 | public DivMathInverted(EquationContainer parent) 6 | : base(parent) 7 | { 8 | divMathSign.IsInverted = true; 9 | } 10 | 11 | protected override void AdjustVertical() 12 | { 13 | insideEquation.Top = Top + VerticalGap; 14 | divMathSign.Bottom = Bottom; 15 | } 16 | 17 | public override double RefY 18 | { 19 | get 20 | { 21 | return insideEquation.LastRow.MidY - Top; 22 | } 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Editor/equations/Common/UndoRedo/Text/DecorationAction.cs: -------------------------------------------------------------------------------- 1 | namespace Editor 2 | { 3 | public sealed class DecorationAction : EquationAction 4 | { 5 | public CharacterDecorationInfo [] CharacterDecorations { get; set; } 6 | public bool Added { get; set; } 7 | 8 | public DecorationAction(ISupportsUndo executor, CharacterDecorationInfo [] cdi, bool added) 9 | : base(executor) 10 | { 11 | Added = added; 12 | CharacterDecorations = cdi; 13 | } 14 | 15 | public DecorationAction(ISupportsUndo executor, CharacterDecorationInfo[] cdi) 16 | : base(executor) 17 | { 18 | CharacterDecorations = cdi; 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /Editor/equations/Bracket/LeftBracket.cs: -------------------------------------------------------------------------------- 1 | namespace Editor 2 | { 3 | public sealed class LeftBracket : Bracket 4 | { 5 | public LeftBracket(EquationContainer parent, BracketSignType bracketType) 6 | : base(parent) 7 | { 8 | bracketSign = new BracketSign(this, bracketType); 9 | childEquations.AddRange(new EquationBase[] { insideEq, bracketSign }); 10 | } 11 | 12 | public override double Left 13 | { 14 | get { return base.Left; } 15 | set 16 | { 17 | base.Left = value; 18 | bracketSign.Left = value; 19 | insideEq.Left = bracketSign.Right; 20 | } 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Editor/equations/Bracket/RightBracket.cs: -------------------------------------------------------------------------------- 1 | namespace Editor 2 | { 3 | public sealed class RightBracket : Bracket 4 | { 5 | public RightBracket(EquationContainer parent, BracketSignType bracketType) 6 | : base(parent) 7 | { 8 | bracketSign = new BracketSign(this, bracketType); 9 | childEquations.AddRange(new EquationBase[] { insideEq, bracketSign }); 10 | } 11 | 12 | public override double Left 13 | { 14 | get { return base.Left; } 15 | set 16 | { 17 | base.Left = value; 18 | insideEq.Left = value; 19 | bracketSign.Left = insideEq.Right; 20 | } 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Editor/common/EditorModeToVisibilityConverter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Globalization; 3 | using System.Windows; 4 | using System.Windows.Data; 5 | 6 | namespace Editor 7 | { 8 | [ValueConversion(typeof(EditorMode), typeof(Visibility))] 9 | public sealed class EditorModeToVisibilityConverter : IValueConverter 10 | { 11 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture) => 12 | value is EditorMode mode && mode == EditorMode.Math ? Visibility.Collapsed : Visibility.Visible; 13 | 14 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) => 15 | value is Visibility mode && mode == Visibility.Collapsed ? EditorMode.Math : EditorMode.Text; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Directory.Build.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | Math Editor Team 4 | Math Editor 5 | 8.0.30703 6 | 2.0.0.0 7 | Copyright © 2012-2021 8 | Debug;Release 9 | 9.0 10 | prompt 11 | false 12 | 13 | 14 | enable 15 | true 16 | true 17 | 18 | -------------------------------------------------------------------------------- /Editor/equations/Division/DivMathWithTop.cs: -------------------------------------------------------------------------------- 1 | namespace Editor 2 | { 3 | public sealed class DivMathWithTop : DivMathWithOuterBase 4 | { 5 | public DivMathWithTop(EquationContainer parent) 6 | : base(parent) 7 | { 8 | } 9 | 10 | protected override void AdjustVertical() 11 | { 12 | outerEquation.Top = Top; 13 | insideEquation.Top = outerEquation.Bottom + VerticalGap; 14 | divMathSign.Top = outerEquation.Bottom + VerticalGap; 15 | } 16 | 17 | public override double RefY 18 | { 19 | get 20 | { 21 | return outerEquation.Height + insideEquation.FirstRow.RefY + VerticalGap; 22 | } 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Editor/equations/Division/DivMathWithBottom.cs: -------------------------------------------------------------------------------- 1 | namespace Editor 2 | { 3 | public sealed class DivMathWithBottom : DivMathWithOuterBase 4 | { 5 | public DivMathWithBottom(EquationContainer parent) 6 | : base(parent) 7 | { 8 | divMathSign.IsInverted = true; 9 | } 10 | 11 | protected override void AdjustVertical() 12 | { 13 | outerEquation.Bottom = Bottom; 14 | insideEquation.Top = Top; 15 | divMathSign.Bottom = outerEquation.Top - VerticalGap; 16 | } 17 | 18 | public override double RefY 19 | { 20 | get 21 | { 22 | return insideEquation.Height - (insideEquation.FirstRow.Height - insideEquation.FirstRow.RefY); 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Editor/AboutWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Windows; 3 | using System.Windows.Controls; 4 | using System.Windows.Input; 5 | 6 | namespace Editor 7 | { 8 | /// 9 | /// Interaction logic for About.xaml 10 | /// 11 | public partial class AboutWindow : Window 12 | { 13 | public AboutWindow() 14 | { 15 | InitializeComponent(); 16 | versionLabel.Content = "Math Editor v." + Assembly.GetEntryAssembly().GetName().Version.ToString(); 17 | } 18 | 19 | private void LinkTextBlock_MouseUp(object sender, MouseButtonEventArgs e) 20 | { 21 | BrowserHelper.Open(((TextBlock)sender).Text); 22 | } 23 | 24 | private void okButton_Click(object sender, RoutedEventArgs e) 25 | { 26 | this.Close(); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /Editor/equations/Composite/CompositeFactory.cs: -------------------------------------------------------------------------------- 1 | namespace Editor 2 | { 3 | public static class CompositeFactory 4 | { 5 | public static EquationBase CreateEquation(EquationContainer equationParent, Position position) 6 | { 7 | EquationBase equation = null; 8 | switch (position) 9 | { 10 | case Position.Bottom: 11 | equation = new CompositeBottom(equationParent); 12 | break; 13 | case Position.Top: 14 | equation = new CompositeTop(equationParent); 15 | break; 16 | case Position.BottomAndTop: 17 | equation = new CompositeBottomTop(equationParent); 18 | break; 19 | } 20 | return equation; 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Editor/equations/Common/UndoRedo/Row/RowAction.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Editor 7 | { 8 | public sealed class RowAction : EquationAction 9 | { 10 | public int Index { get; set; } 11 | public int CaretIndex { get; set; } 12 | public EquationBase Equation { get; set; } 13 | public TextEquation EquationAfter { get; set; } 14 | public bool Added { get; set; } 15 | 16 | public RowAction(ISupportsUndo executor, EquationBase equation, TextEquation equationAfter, int index, int caretIndex, bool added = false) 17 | : base(executor) 18 | { 19 | Index = index; 20 | Equation = equation; 21 | CaretIndex = caretIndex; 22 | EquationAfter = equationAfter; 23 | Added = added; 24 | } 25 | } 26 | } 27 | 28 | -------------------------------------------------------------------------------- /Editor/equations/Common/UndoRedo/Row/EquationRowFormatAction.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Editor 7 | { 8 | public sealed class EquationRowFormatAction : EquationAction 9 | { 10 | public int SelectionStartIndex { get; set; } 11 | public int SelectedItems { get; set; } 12 | public int FirstChildSelectionStartIndex { get; set; } 13 | public int FirstChildSelectedItems { get; set; } 14 | public int LastChildSelectionStartIndex { get; set; } 15 | public int LastChildSelectedItems { get; set; } 16 | public string Operation { get; set; } 17 | public string Argument { get; set; } 18 | public bool Applied { get; set; } 19 | 20 | public EquationRowFormatAction(ISupportsUndo executor) 21 | : base(executor) 22 | { 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Editor/equations/Common/UndoRedo/Text/TextAction.cs: -------------------------------------------------------------------------------- 1 | namespace Editor 2 | { 3 | public sealed class TextAction : EquationAction 4 | { 5 | public int Index { get; set; } 6 | public string Text { get; set; } 7 | public int[] Formats { get; set; } 8 | public EditorMode[] Modes { get; set; } 9 | public CharacterDecorationInfo[] Decorations { get; set; } 10 | public bool Added { get; set; } 11 | 12 | public TextAction(ISupportsUndo executor) 13 | : base(executor) 14 | { 15 | } 16 | 17 | public TextAction(ISupportsUndo executor, int index, string text, int[] formats, EditorMode[] modes, CharacterDecorationInfo[] decorations) 18 | : base(executor) 19 | { 20 | Index = index; 21 | Text = text; 22 | Formats = formats; 23 | Modes = modes; 24 | Decorations = decorations; 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /Editor/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | 3 | namespace Editor 4 | { 5 | /// 6 | /// Interaction logic for App.xaml 7 | /// 8 | public partial class App : Application 9 | { 10 | //protected override void OnStartup(StartupEventArgs e) 11 | //{ 12 | // try 13 | // { 14 | // if (e.Args != null && e.Args.Count() > 0) 15 | // { 16 | // //MessageBox.Show(e.Args[0]); 17 | // } 18 | // var fileName = AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData[0]; 19 | // MessageBox.Show("After call"); 20 | // this.Properties["AFunnyNameForKKj$$"] = (new Uri(fileName)).LocalPath; 21 | // MessageBox.Show(this.Properties["AFunnyNameForKKj$$"] as string); 22 | // } 23 | // catch { } 24 | // base.OnStartup(e); 25 | //} 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Editor/equations/Text/CharacterDecorationInfo.cs: -------------------------------------------------------------------------------- 1 | namespace Editor 2 | { 3 | public sealed class CharacterDecorationInfo 4 | { 5 | public CharacterDecorationType DecorationType { get; set; } 6 | public Position Position { get; set; } 7 | public string UnicodeString { get; set; } //Only if DecorationType == CharacterDecorationType.Unicode 8 | public int Index { get; set; } //Should be -1 when not appplicable or invalid 9 | 10 | //public CharacterDecorationInfo(CharacterDecorationType decorationType, Position position) 11 | //{ 12 | // DecorationType = decorationType; 13 | // Position = position; 14 | // //Index = -1; 15 | //} 16 | 17 | //public CharacterDecorationInfo Clone() 18 | //{ 19 | // CharacterDecorationInfo cdi = new CharacterDecorationInfo(this.DecorationType, this.Position); 20 | // //cdi.Index = this.Index; 21 | // cdi.UnicodeString = this.UnicodeString; 22 | // return cdi; 23 | //} 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Editor/CustomZoomWindow.xaml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2011-2016 Kashif Imran. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /Editor/equations/Common/UndoRedo/RowContainer/RowContainerRemoveAction.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Editor 7 | { 8 | public sealed class RowContainerRemoveAction : RowRemoveAction 9 | { 10 | public EquationRow HeadEquationRow { get; set; } 11 | public EquationRow TailEquationRow { get; set; } 12 | public int FirstRowActiveIndex { get; set; } 13 | public int LastRowActiveIndex { get; set; } 14 | public int FirstRowSelectionIndex { get; set; } 15 | public int LastRowSelectionIndex { get; set; } 16 | public int FirstRowSelectedItems { get; set; } 17 | public int LastRowSelectedItems { get; set; } 18 | public int FirstRowActiveIndexAfterRemoval { get; set; } 19 | 20 | public List FirstRowDeletedContent { get; set; } 21 | public List LastRowDeletedContent { get; set; } 22 | 23 | public RowContainerRemoveAction(ISupportsUndo executor) 24 | : base(executor) 25 | { 26 | } 27 | } 28 | } 29 | 30 | -------------------------------------------------------------------------------- /Editor/equations/Common/UndoRedo/RowContainer/RowContainerAction.cs: -------------------------------------------------------------------------------- 1 | namespace Editor 2 | { 3 | public sealed class RowContainerAction : EquationAction 4 | { 5 | public int Index { get; set; } 6 | public int ChildIndexInRow { get; set; } 7 | public int CaretIndex { get; set; } 8 | public EquationRow Equation { get; set; } 9 | public bool Added { get; set; } 10 | 11 | public RowContainerAction(ISupportsUndo executor, int index, int childIndexInRow, int caretIndex, bool added, EquationRow equation) 12 | : base(executor) 13 | { 14 | Index = index; 15 | ChildIndexInRow = childIndexInRow; 16 | CaretIndex = caretIndex; 17 | Equation = equation; 18 | Added = added; 19 | } 20 | 21 | public RowContainerAction(ISupportsUndo executor, int index, int childIndexInRow, int caretIndex, EquationRow equation) 22 | : base(executor) 23 | { 24 | Index = index; 25 | ChildIndexInRow = childIndexInRow; 26 | CaretIndex = caretIndex; 27 | Equation = equation; 28 | } 29 | } 30 | } 31 | 32 | -------------------------------------------------------------------------------- /Editor/equations/Division/DivisionsMisc.cs: -------------------------------------------------------------------------------- 1 | namespace Editor 2 | { 3 | public sealed class DivRegularSmall : DivRegular 4 | { 5 | public DivRegularSmall(EquationContainer parent) 6 | : base(parent, true) 7 | { 8 | } 9 | } 10 | 11 | public sealed class DivDoubleBar : DivRegular 12 | { 13 | public DivDoubleBar(EquationContainer parent) 14 | : base(parent) 15 | { 16 | barCount = 2; 17 | } 18 | } 19 | 20 | public sealed class DivTripleBar : DivRegular 21 | { 22 | public DivTripleBar(EquationContainer parent) 23 | : base(parent) 24 | { 25 | barCount = 3; 26 | } 27 | } 28 | 29 | public sealed class DivSlantedSmall : DivSlanted 30 | { 31 | public DivSlantedSmall(EquationContainer parent) 32 | : base(parent, true) 33 | { 34 | } 35 | } 36 | 37 | public sealed class DivHorizSmall : DivHorizontal 38 | { 39 | public DivHorizSmall(EquationContainer parent) 40 | : base(parent, true) 41 | { 42 | } 43 | } 44 | 45 | } 46 | -------------------------------------------------------------------------------- /Editor/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.269 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace Editor.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Editor/equations/Common/DrawingContextHelper.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | using System.Windows.Media; 3 | 4 | namespace Editor 5 | { 6 | public static class DrawingContextHelper 7 | { 8 | public static void DrawPolyline(this DrawingContext dc, Point startPoint, PointCollection points, Pen pen) 9 | { 10 | PathGeometry geometry = new PathGeometry(); 11 | PolyLineSegment segment = new PolyLineSegment(); 12 | segment.Points = points; 13 | PathFigure fig = new PathFigure(startPoint, new[] { segment }, false); 14 | geometry.Figures.Add(fig); 15 | dc.DrawGeometry(null, pen, geometry); 16 | } 17 | 18 | public static void FillPolylineGeometry(this DrawingContext dc, Point startPoint, PointCollection points) 19 | { 20 | PathGeometry geometry = new PathGeometry(); 21 | PolyLineSegment segment = new PolyLineSegment(); 22 | segment.Points = points; 23 | PathFigure fig = new PathFigure(startPoint, new[] { segment }, true); 24 | geometry.Figures.Add(fig); 25 | dc.DrawGeometry(Brushes.Black, null, geometry); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Editor/equations/Composite/CompositeBase.cs: -------------------------------------------------------------------------------- 1 | namespace Editor 2 | { 3 | public abstract class CompositeBase : EquationContainer 4 | { 5 | protected RowContainer mainRowContainer; 6 | protected double bottomGap; 7 | protected double SubOverlap { get { return FontSize * .4; } } 8 | protected double SuperOverlap { get { return FontSize * 0.32; } } 9 | 10 | public CompositeBase(EquationContainer parent) 11 | : base(parent) 12 | { 13 | ActiveChild = mainRowContainer = new RowContainer(this); 14 | DetermineBottomGap(); 15 | } 16 | 17 | private void DetermineBottomGap() 18 | { 19 | bottomGap = FontSize / 20; 20 | } 21 | 22 | public override double FontSize 23 | { 24 | get 25 | { 26 | return base.FontSize; 27 | } 28 | set 29 | { 30 | base.FontSize = value; 31 | DetermineBottomGap(); 32 | } 33 | } 34 | 35 | public void ChangeMainEquationSize(double newFontSizeFactor) 36 | { 37 | mainRowContainer.FontFactor = newFontSizeFactor; 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Editor/equations/Division/DivTriangleSign.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | using System.Windows.Media; 3 | 4 | namespace Editor 5 | { 6 | public sealed class DivTriangleSign : EquationBase 7 | { 8 | public DivTriangleSign(EquationContainer parent) 9 | : base(parent) 10 | { 11 | IsStatic = true; 12 | } 13 | 14 | public override double Height 15 | { 16 | get 17 | { 18 | return base.Height; 19 | } 20 | set 21 | { 22 | base.Height = value; 23 | Width = FontSize * .25 + Height * .06; 24 | } 25 | } 26 | 27 | public override double Bottom 28 | { 29 | get 30 | { 31 | return base.Bottom - StandardPen.Thickness / 2; 32 | } 33 | set 34 | { 35 | base.Bottom = value; 36 | } 37 | } 38 | 39 | public override void DrawEquation(DrawingContext dc) 40 | { 41 | dc.DrawPolyline(new Point(ParentEquation.Right, Bottom), new PointCollection{new Point(Left, Bottom), new Point(Right, Top)}, StandardRoundPen); 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /Editor/equations/SignComposite/SignCompositeFactory.cs: -------------------------------------------------------------------------------- 1 | namespace Editor 2 | { 3 | public static class SignCompositeFactory 4 | { 5 | public static EquationBase CreateEquation(EquationContainer equationParent, Position position, SignCompositeSymbol symbol, bool useUpright) 6 | { 7 | EquationBase equation = null; 8 | switch (position) 9 | { 10 | case Position.None: 11 | equation = new SignSimple(equationParent, symbol, useUpright); 12 | break; 13 | case Position.Bottom: 14 | equation = new SignBottom(equationParent, symbol, useUpright); 15 | break; 16 | case Position.BottomAndTop: 17 | equation = new SignBottomTop(equationParent, symbol, useUpright); 18 | break; 19 | case Position.Sub: 20 | equation = new SignSub(equationParent, symbol, useUpright); 21 | break; 22 | case Position.SubAndSuper: 23 | equation = new SignSubSuper(equationParent, symbol, useUpright); 24 | break; 25 | } 26 | return equation; 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /Editor/BrowserHelper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Diagnostics; 3 | using System.Runtime.InteropServices; 4 | 5 | namespace Editor 6 | { 7 | public static class BrowserHelper 8 | { 9 | /// 10 | /// Opens an URL in the system default browser. 11 | /// 12 | /// The URL to open. 13 | public static void Open(string url) 14 | { 15 | if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) 16 | { 17 | var psi = new ProcessStartInfo 18 | { 19 | FileName = url, 20 | UseShellExecute = true 21 | }; 22 | Process.Start(psi); 23 | return; 24 | } 25 | 26 | if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) 27 | { 28 | Process.Start("xdg-open", url); 29 | return; 30 | } 31 | 32 | if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) 33 | { 34 | Process.Start("open", url); 35 | return; 36 | } 37 | 38 | throw new PlatformNotSupportedException("Cannot open link in browser."); 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /Editor/equations/Common/FunctionNames.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace Editor 4 | { 5 | static class FunctionNames 6 | { 7 | static List names = new List(); 8 | 9 | static FunctionNames() 10 | { 11 | names.AddRange(new string[] { "arccos", "arcsin", "arctan", "arg", "cos", "cosh", "cot", "coth", 12 | "cov", "csc", "curl", "deg", "det", "dim", "div", "erf", "exp", "gcd", "glb", "grad", "hom", "lm", 13 | "inf", "int", "ker", "lg", "lim", "ln", "log", "lub", "max", 14 | "min", "mod", "Pr", "Re", "rot", "sec", "sgn", "sin", "sinh", "sup", "tan", "tanh", "var", 15 | }); 16 | } 17 | 18 | public static bool IsFunctionName(string text) 19 | { 20 | return names.Contains(text); 21 | } 22 | 23 | public static string CheckForFunctionName(string text) 24 | { 25 | foreach (string s in names) 26 | { 27 | if (text.EndsWith(s)) 28 | { 29 | return s; 30 | } 31 | } 32 | return null; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /Editor/equations/Composite/BigCompositeFactory.cs: -------------------------------------------------------------------------------- 1 | namespace Editor 2 | { 3 | public static class BigCompositeFactory 4 | { 5 | public static EquationBase CreateEquation(EquationContainer equationParent, Position position) 6 | { 7 | CompositeBase equation = null; 8 | switch (position) 9 | { 10 | case Position.Bottom: 11 | equation = new CompositeBottom(equationParent); 12 | break; 13 | case Position.Top: 14 | equation = new CompositeTop(equationParent); 15 | break; 16 | case Position.BottomAndTop: 17 | equation = new CompositeBottomTop(equationParent); 18 | break; 19 | case Position.Sub: 20 | equation = new CompositeSub(equationParent); 21 | break; 22 | case Position.Super: 23 | equation = new CompositeSuper(equationParent); 24 | break; 25 | case Position.SubAndSuper: 26 | equation = new CompositeSubSuper(equationParent); 27 | break; 28 | } 29 | equation.ChangeMainEquationSize(1.3); 30 | return equation; 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Editor/equations/Common/UndoRedo/Text/TextRemoveAction.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Editor 7 | { 8 | public sealed class TextRemoveAction : EquationAction 9 | { 10 | public int Index { get; set; } 11 | public string Text { get; set; } 12 | public int[] Formats { get; set; } 13 | public EditorMode[] Modes { get; set; } 14 | public CharacterDecorationInfo[] Decorations { get; set; } 15 | public int SelectionStartIndex { get; set; } 16 | public int SelectionCount { get; set; } 17 | public int ParentSelectionStartIndex { get; set; } 18 | 19 | public TextRemoveAction(ISupportsUndo executor, int index, string text, int selectionStartIndex, 20 | int selectionCout, int parentSelectionStartIndex, int[] formats, EditorMode[] modes, 21 | CharacterDecorationInfo[] decorations) 22 | : base(executor) 23 | { 24 | Index = index; 25 | Text = text; 26 | Formats = formats; 27 | Modes = modes; 28 | Decorations = decorations; 29 | SelectionStartIndex = selectionStartIndex; 30 | SelectionCount = selectionCout; 31 | ParentSelectionStartIndex = parentSelectionStartIndex; 32 | } 33 | } 34 | } 35 | 36 | -------------------------------------------------------------------------------- /Editor/common/AutoGrayableImage.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows; 3 | using System.Windows.Controls; 4 | using System.Windows.Media; 5 | using System.Windows.Media.Imaging; 6 | 7 | namespace Editor 8 | { 9 | public sealed class AutoGreyableImage : Image 10 | { 11 | static AutoGreyableImage() 12 | { 13 | IsEnabledProperty.OverrideMetadata(typeof(AutoGreyableImage), new FrameworkPropertyMetadata(true, new PropertyChangedCallback(OnAutoGreyScaleImageIsEnabledPropertyChanged))); 14 | } 15 | 16 | private static void OnAutoGreyScaleImageIsEnabledPropertyChanged(DependencyObject source, DependencyPropertyChangedEventArgs args) 17 | { 18 | var isEnable = Convert.ToBoolean(args.NewValue); 19 | if (source is AutoGreyableImage autoGreyScaleImg) 20 | { 21 | if (isEnable) 22 | { 23 | autoGreyScaleImg.Source = ((FormatConvertedBitmap)autoGreyScaleImg.Source).Source; 24 | autoGreyScaleImg.OpacityMask = null; 25 | } 26 | else 27 | { 28 | var bitmapImage = new BitmapImage(new Uri(autoGreyScaleImg.Source.ToString())); 29 | autoGreyScaleImg.Source = new FormatConvertedBitmap(bitmapImage, PixelFormats.Gray32Float, null, 0); 30 | autoGreyScaleImg.OpacityMask = new ImageBrush(bitmapImage); 31 | } 32 | } 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /Editor/equations/Common/UndoRedo/RowContainer/RowContainerFormatAction.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Editor 7 | { 8 | public sealed class RowContainerFormatAction : EquationAction 9 | { 10 | public EquationBase ActiveChild { get; set; } 11 | public int SelectionStartIndex { get; set; } 12 | public int SelectedItems { get; set; } 13 | 14 | public int FirstRowActiveChildIndex { get; set; } 15 | public int FirstRowSelectionStartIndex { get; set; } 16 | public int FirstRowSelectedItems { get; set; } 17 | 18 | public int LastRowActiveChildIndex { get; set; } 19 | public int LastRowSelectionStartIndex { get; set; } 20 | public int LastRowSelectedItems { get; set; } 21 | 22 | public int FirstTextCaretIndex { get; set; } 23 | public int FirstTextSelectionStartIndex { get; set; } 24 | public int FirstTextSelectedItems{ get; set; } 25 | 26 | public int LastTextCaretIndex { get; set; } 27 | public int LastTextSelectionStartIndex { get; set; } 28 | public int LastTextSelectedItems { get; set; } 29 | 30 | public string Operation { get; set; } 31 | public string Argument { get; set; } 32 | public bool Applied { get; set; } 33 | 34 | public RowContainerFormatAction(ISupportsUndo executor) 35 | : base(executor) 36 | { 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Editor/equations/Common/UndoRedo/Row/RowRemoveAction.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace Editor 4 | { 5 | public class RowRemoveAction : EquationAction 6 | { 7 | public EquationBase ActiveEquation { get; set; } 8 | public TextEquation HeadTextEquation { get; set; } 9 | public TextEquation TailTextEquation { get; set; } 10 | 11 | //public int ParentSelectionStartIndex { get; set; } 12 | public int SelectionStartIndex { get; set; } 13 | public int SelectedItems { get; set; } 14 | 15 | public int FirstTextCaretIndex { get; set; } 16 | public int LastTextCaretIndex { get; set; } 17 | public string FirstText { get; set; } 18 | public string LastText { get; set; } 19 | public int[] FirstFormats { get; set; } 20 | public EditorMode[] FirstModes { get; set; } 21 | public int[] LastFormats { get; set; } 22 | public EditorMode[] LastModes { get; set; } 23 | public CharacterDecorationInfo[] FirstDecorations { get; set; } 24 | public CharacterDecorationInfo[] LastDecorations { get; set; } 25 | public int FirstTextSelectionIndex { get; set; } 26 | public int LastTextSelectionIndex { get; set; } 27 | public int FirstTextSelectedItems { get; set; } 28 | public int LastTextSelectedItems { get; set; } 29 | 30 | public List Equations { get; set; } 31 | 32 | public RowRemoveAction(ISupportsUndo executor) 33 | : base(executor) 34 | { 35 | } 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /Editor/MatrixInputWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Globalization; 3 | using System.Windows; 4 | 5 | namespace Editor 6 | { 7 | public partial class MatrixInputWindow : Window 8 | { 9 | public event Action ProcessRequest = (x, y) => { }; 10 | 11 | public MatrixInputWindow() 12 | { 13 | InitializeComponent(); 14 | } 15 | 16 | public MatrixInputWindow(int rows, int columns) 17 | { 18 | InitializeComponent(); 19 | rowsUpDown.Text = rows.ToString(CultureInfo.CurrentUICulture); 20 | columnsUpDown.Text = columns.ToString(CultureInfo.CurrentUICulture); 21 | } 22 | 23 | private void cancelButton_Click(object sender, RoutedEventArgs e) 24 | { 25 | Close(); 26 | } 27 | 28 | private void okButton_Click(object sender, RoutedEventArgs e) 29 | { 30 | // WPF does not provide a NumericUpDown control out of the box 31 | // The button click will be ignored, when the number cannot be parsed. 32 | // TODO: provide user feedback when the input is invalid or implement a proper NumericUpDownControl 33 | 34 | if (int.TryParse(rowsUpDown.Text, NumberStyles.Integer, CultureInfo.CurrentUICulture, out var rows) 35 | && int.TryParse(columnsUpDown.Text, NumberStyles.Integer, CultureInfo.CurrentUICulture, out var columns)) 36 | { 37 | ProcessRequest(rows, columns); 38 | Close(); 39 | } 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /Editor/EditorControl.xaml: -------------------------------------------------------------------------------- 1 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /Editor/equations/Common/UndoRedo/Row/EquationRowPasteAction.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Editor 7 | { 8 | public sealed class EquationRowPasteAction : EquationAction 9 | { 10 | public TextEquation ActiveTextEquation { get; set; } 11 | public int SelectedItems { get; set; } 12 | public int SelectionStartIndex { get; set; } 13 | 14 | public int ActiveChildCaretIndex { get; set; } 15 | public int ActiveChildSelectedItems { get; set; } 16 | public int ActiveChildSelectionStartIndex { get; set; } 17 | public string ActiveChildText { get; set; } 18 | public int[] ActiveChildFormats { get; set; } 19 | public EditorMode[] ActiveChildModes { get; set; } 20 | public CharacterDecorationInfo[] ActiveChildDecorations { get; set; } 21 | 22 | public string FirstNewText { get; set; } 23 | public int[] FirstNewFormats { get; set; } 24 | public EditorMode[] FirstNewModes { get; set; } 25 | public CharacterDecorationInfo[] FirstNewDecorations { get; set; } 26 | 27 | public string LastNewText { get; set; } 28 | public int[] LastNewFormats { get; set; } 29 | public EditorMode[] LastNewModes { get; set; } 30 | public CharacterDecorationInfo[] LastNewDecorations { get; set; } 31 | 32 | public List Equations { get; set; } 33 | 34 | public EquationRowPasteAction(ISupportsUndo executor) 35 | : base(executor) 36 | { 37 | } 38 | } 39 | } 40 | 41 | -------------------------------------------------------------------------------- /Editor/Editor.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | WinExe 4 | net5.0-windows 5 | true 6 | false 7 | app_icon.ico 8 | MathEditor 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | True 24 | True 25 | Settings.settings 26 | 27 | 28 | True 29 | True 30 | Resources.resx 31 | 32 | 33 | 34 | 35 | 36 | PublicResXFileCodeGenerator 37 | Resources.Designer.cs 38 | 39 | 40 | 41 | 42 | 43 | SettingsSingleFileGenerator 44 | Settings.Designer.cs 45 | 46 | 47 | -------------------------------------------------------------------------------- /Editor/equations/Common/UndoRedo/RowContainer/RowContainerTextAction.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Editor 7 | { 8 | public sealed class RowContainerTextAction : EquationAction 9 | { 10 | public int SelectionStartIndex { get; set; } 11 | public int SelectedItems { get; set; } 12 | 13 | public EquationBase ActiveEquation { get; set; } 14 | public EquationBase ActiveEquationAfterChange { get; set; } 15 | public int ActiveEquationSelectionIndex { get; set; } 16 | public int ActiveEquationSelectedItems { get; set; } 17 | 18 | public TextEquation ActiveTextInRow { get; set; } 19 | public int CaretIndexOfActiveText { get; set; } 20 | public int SelectionStartIndexOfTextEquation { get; set; } 21 | public int SelectedItemsOfTextEquation { get; set; } 22 | public string TextEquationContents { get; set; } 23 | public int[] TextEquationFormats { get; set; } 24 | public EditorMode[] TextEquationModes { get; set; } 25 | public CharacterDecorationInfo[] TextEquationDecoration { get; set; } 26 | 27 | public string FirstLineOfInsertedText { get; set; } 28 | public int[] FirstFormatsOfInsertedText { get; set; } 29 | public EditorMode[] FirstModesOfInsertedText { get; set; } 30 | public CharacterDecorationInfo[] FirstDecorationsOfInsertedText { get; set; } 31 | 32 | public List Equations { get; set; } 33 | 34 | public RowContainerTextAction(ISupportsUndo executor) 35 | : base(executor) 36 | { 37 | } 38 | } 39 | } 40 | 41 | -------------------------------------------------------------------------------- /Editor/equations/SubSuper/SubSuperBase.cs: -------------------------------------------------------------------------------- 1 | namespace Editor 2 | { 3 | public abstract class SubSuperBase : EquationContainer 4 | { 5 | public Position Position { get; set; } 6 | protected double Padding 7 | { 8 | get 9 | { 10 | if (buddy != null && buddy.GetType() == typeof(TextEquation)) 11 | { 12 | return FontSize * .01; 13 | } 14 | else 15 | { 16 | return FontSize * .05; 17 | } 18 | } 19 | } 20 | protected double SuperOverlap { get { return FontSize * 0.35; } } 21 | protected double SubOverlap 22 | { 23 | get 24 | { 25 | TextEquation te = buddy as TextEquation; 26 | double oha = 0; 27 | if (te != null) 28 | { 29 | oha = te.GetCornerDescent(this.Position); 30 | } 31 | return FontSize * .1 - oha; 32 | } 33 | } 34 | 35 | EquationBase buddy = null; 36 | protected EquationBase Buddy 37 | { 38 | get { return buddy ?? ParentEquation.ActiveChild; } 39 | set { buddy = value; } 40 | } 41 | 42 | public SubSuperBase(EquationRow parent, Position position) 43 | : base(parent) 44 | { 45 | ApplySymbolGap = false; 46 | SubLevel++; 47 | Position = position; 48 | } 49 | 50 | public void SetBuddy(EquationBase buddy) 51 | { 52 | this.Buddy = buddy; 53 | CalculateHeight(); 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /Editor/CodepointWindow.xaml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | Decimal 19 | Octal 20 | Hexadecimal 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /Editor/common/MouseWheelGesture.cs: -------------------------------------------------------------------------------- 1 | using System.Windows.Input; 2 | 3 | namespace Editor 4 | { 5 | public sealed class MouseWheelGesture : MouseGesture 6 | { 7 | public WheelDirection Direction { get; set; } 8 | 9 | public static MouseWheelGesture CtrlDown 10 | { 11 | get 12 | { 13 | return new MouseWheelGesture(ModifierKeys.Control) { Direction = WheelDirection.Down }; 14 | } 15 | } 16 | 17 | public static MouseWheelGesture CtrlUp 18 | { 19 | get 20 | { 21 | return new MouseWheelGesture(ModifierKeys.Control) { Direction = WheelDirection.Up }; 22 | } 23 | } 24 | public MouseWheelGesture() 25 | : base(MouseAction.WheelClick) 26 | { 27 | } 28 | 29 | public MouseWheelGesture(ModifierKeys modifiers) 30 | : base(MouseAction.WheelClick, modifiers) 31 | { 32 | } 33 | 34 | public override bool Matches(object targetElement, InputEventArgs inputEventArgs) 35 | { 36 | if (!base.Matches(targetElement, inputEventArgs)) return false; 37 | if (!(inputEventArgs is MouseWheelEventArgs)) return false; 38 | var args = (MouseWheelEventArgs)inputEventArgs; 39 | switch (Direction) 40 | { 41 | case WheelDirection.None: 42 | return args.Delta == 0; 43 | case WheelDirection.Up: 44 | return args.Delta > 0; 45 | case WheelDirection.Down: 46 | return args.Delta < 0; 47 | default: 48 | return false; 49 | } 50 | } 51 | public enum WheelDirection 52 | { 53 | None, 54 | Up, 55 | Down, 56 | } 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /Editor/equations/Common/UndoRedo/RowContainer/RowContainerPasteAction.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Editor 7 | { 8 | public sealed class RowContainerPasteAction : EquationAction 9 | { 10 | public int SelectionStartIndex { get; set; } 11 | public int SelectedItems { get; set; } 12 | 13 | public EquationBase ActiveEquation { get; set; } 14 | public int ActiveEquationSelectionIndex { get; set; } 15 | public int ActiveEquationSelectedItems { get; set; } 16 | 17 | public TextEquation ActiveTextInChildRow { get; set; } 18 | public int CaretIndexOfActiveText { get; set; } 19 | public int SelectionStartIndexOfTextEquation { get; set; } 20 | public int SelectedItemsOfTextEquation { get; set; } 21 | public string TextEquationContents { get; set; } 22 | 23 | public int[] TextEquationFormats { get; set; } 24 | public EditorMode[] TextEquationModes { get; set; } 25 | public CharacterDecorationInfo[] TextEquationDecorations { get; set; } 26 | 27 | public string HeadTextOfPastedRows { get; set; } 28 | public string TailTextOfPastedRows { get; set; } 29 | 30 | public int[] HeadFormatsOfPastedRows { get; set; } 31 | public int[] TailFormatsOfPastedRows { get; set; } 32 | 33 | public EditorMode[] HeadModeOfPastedRows { get; set; } 34 | public EditorMode[] TailModesOfPastedRows { get; set; } 35 | 36 | 37 | public CharacterDecorationInfo[] HeadDecorationsOfPastedRows { get; set; } 38 | public CharacterDecorationInfo[] TailDecorationsOfPastedRows { get; set; } 39 | 40 | public List Equations { get; set; } 41 | 42 | public RowContainerPasteAction(ISupportsUndo executor) 43 | : base(executor) 44 | { 45 | } 46 | } 47 | } 48 | 49 | -------------------------------------------------------------------------------- /Editor/CharacterToolBar.xaml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 14 | 17 | 20 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /Editor/CustomZoomWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows; 3 | using System.Windows.Input; 4 | 5 | namespace Editor 6 | { 7 | /// 8 | /// Interaction logic for CustomZoomWindow.xaml 9 | /// 10 | public partial class CustomZoomWindow : Window 11 | { 12 | int maxPercentage = 9999; 13 | MainWindow mainWindow = null; 14 | public CustomZoomWindow(MainWindow mainWindow) 15 | { 16 | this.mainWindow = mainWindow; 17 | InitializeComponent(); 18 | numberBox.Focus(); 19 | } 20 | 21 | private bool AreAllValidNumericChars(string str) 22 | { 23 | foreach (char c in str) 24 | { 25 | if (!Char.IsNumber(c)) return false; 26 | } 27 | 28 | return true; 29 | } 30 | 31 | private void numberBox_PreviewTextInput(object sender, TextCompositionEventArgs e) 32 | { 33 | e.Handled = !AreAllValidNumericChars(e.Text) || numberBox.Text.Length > 3; 34 | base.OnPreviewTextInput(e); 35 | } 36 | 37 | private void okButton_Click(object sender, RoutedEventArgs e) 38 | { 39 | try 40 | { 41 | int number = int.Parse(numberBox.Text); 42 | if (number <= 0 || number > maxPercentage) 43 | { 44 | MessageBox.Show("Zoom percentage must be between 1 and " + maxPercentage + "."); 45 | return; 46 | } 47 | mainWindow.SetFontSizePercentage(number); 48 | this.Close(); 49 | } 50 | catch 51 | { 52 | MessageBox.Show("Zoom percentage must be a number between 1 and " + maxPercentage + "."); 53 | } 54 | } 55 | 56 | private void cancelButton_Click(object sender, RoutedEventArgs e) 57 | { 58 | this.Close(); 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /Editor/equations/Division/DivMathSign.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | using System.Windows.Media; 3 | 4 | namespace Editor 5 | { 6 | public sealed class DivMathSign: EquationBase 7 | { 8 | public bool IsInverted { get; set; } 9 | 10 | public DivMathSign(EquationContainer parent) 11 | : base(parent) 12 | { 13 | IsStatic = true; 14 | } 15 | 16 | public override double Height 17 | { 18 | get 19 | { 20 | return base.Height; 21 | } 22 | set 23 | { 24 | base.Height = value; 25 | Width = FontSize * .25 + Height * .03; 26 | } 27 | } 28 | 29 | 30 | public override void DrawEquation(DrawingContext dc) 31 | { 32 | LineSegment line; 33 | ArcSegment arc; 34 | Point pathFigureStart; 35 | if (IsInverted) 36 | { 37 | pathFigureStart = new Point(ParentEquation.Right, Bottom - StandardRoundPen.Thickness /2); 38 | line = new LineSegment(new Point(Left, Bottom - StandardRoundPen.Thickness / 2), true); 39 | arc = new ArcSegment(Location, new Size(Width * 4.5, Height), 0, false, SweepDirection.Counterclockwise, true); 40 | } 41 | else 42 | { 43 | pathFigureStart = new Point(ParentEquation.Right, Top); 44 | line = new LineSegment(Location, true); 45 | arc = new ArcSegment(new Point(Left, Bottom), new Size(Width * 4.5, Height), 0, false, SweepDirection.Clockwise, true); 46 | } 47 | PathGeometry pathGeometry = new PathGeometry(); 48 | PathFigure pathFigure = new PathFigure(pathFigureStart, new PathSegment[] { line, arc }, false); 49 | pathGeometry.Figures.Add(pathFigure); 50 | dc.DrawGeometry(null, StandardRoundPen, pathGeometry); 51 | } 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /Editor/equations/Common/StaticText.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | using System.Windows.Media; 3 | 4 | namespace Editor 5 | { 6 | public class StaticText : EquationBase 7 | { 8 | protected string Text { get; set; } 9 | protected FontType FontType { get; set; } 10 | protected double FontSizeFactor = 1; 11 | protected FontWeight FontWeight = FontWeights.Normal; 12 | protected double TopOffestFactor = 0; 13 | protected double LeftMarginFactor = 0; 14 | protected double RightMarginFactor = 0; 15 | 16 | FormattedText formattedText; 17 | 18 | public StaticText(EquationContainer parent) 19 | :base(parent) 20 | { 21 | IsStatic = true; 22 | } 23 | 24 | public override void DrawEquation(DrawingContext dc) 25 | { 26 | //dc.DrawText(formattedText, new Point(Left + LeftMarginFactor * FontSize, Top + TopOffestFactor * Height)); 27 | formattedText.DrawTextTopLeftAligned(dc, new Point(Left + LeftMarginFactor * FontSize, Top + TopOffestFactor * Height)); 28 | } 29 | 30 | public override double FontSize 31 | { 32 | get 33 | { 34 | return base.FontSize; 35 | } 36 | set 37 | { 38 | base.FontSize = value; 39 | ReformatSign(); 40 | } 41 | } 42 | 43 | protected void ReformatSign() 44 | { 45 | formattedText = FontFactory.GetFormattedText(Text, FontType, FontSize * FontSizeFactor, FontWeight); 46 | Width = formattedText.GetFullWidth() + LeftMarginFactor * FontSize + RightMarginFactor * FontSize; // * WidthFactor; 47 | Height = formattedText.Extent; 48 | } 49 | 50 | public double OverhangTrailing 51 | { 52 | get { return formattedText.OverhangTrailing; } 53 | } 54 | 55 | public double OverhangLeading 56 | { 57 | get { return formattedText.OverhangLeading; } 58 | } 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /MathiVersity.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.31321.278 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Editor", "Editor\Editor.csproj", "{B19FF7B5-8771-4222-A539-496B58ECCC12}" 7 | EndProject 8 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{C7BA4678-983F-4EA2-B840-FD1747EA41B5}" 9 | ProjectSection(SolutionItems) = preProject 10 | LICENSE.md = LICENSE.md 11 | README.md = README.md 12 | EndProjectSection 13 | EndProject 14 | Global 15 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 16 | Debug|Any CPU = Debug|Any CPU 17 | Debug|Mixed Platforms = Debug|Mixed Platforms 18 | Debug|x86 = Debug|x86 19 | Release|Any CPU = Release|Any CPU 20 | Release|Mixed Platforms = Release|Mixed Platforms 21 | Release|x86 = Release|x86 22 | EndGlobalSection 23 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 24 | {B19FF7B5-8771-4222-A539-496B58ECCC12}.Debug|Any CPU.ActiveCfg = Debug|x86 25 | {B19FF7B5-8771-4222-A539-496B58ECCC12}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU 26 | {B19FF7B5-8771-4222-A539-496B58ECCC12}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU 27 | {B19FF7B5-8771-4222-A539-496B58ECCC12}.Debug|x86.ActiveCfg = Debug|x86 28 | {B19FF7B5-8771-4222-A539-496B58ECCC12}.Debug|x86.Build.0 = Debug|x86 29 | {B19FF7B5-8771-4222-A539-496B58ECCC12}.Release|Any CPU.ActiveCfg = Release|x86 30 | {B19FF7B5-8771-4222-A539-496B58ECCC12}.Release|Mixed Platforms.ActiveCfg = Release|x86 31 | {B19FF7B5-8771-4222-A539-496B58ECCC12}.Release|Mixed Platforms.Build.0 = Release|x86 32 | {B19FF7B5-8771-4222-A539-496B58ECCC12}.Release|x86.ActiveCfg = Release|x86 33 | {B19FF7B5-8771-4222-A539-496B58ECCC12}.Release|x86.Build.0 = Release|x86 34 | EndGlobalSection 35 | GlobalSection(SolutionProperties) = preSolution 36 | HideSolutionNode = FALSE 37 | EndGlobalSection 38 | GlobalSection(ExtensibilityGlobals) = postSolution 39 | SolutionGuid = {8D728F5A-F3BB-434F-8A9F-5B2E4B13C740} 40 | EndGlobalSection 41 | EndGlobal 42 | -------------------------------------------------------------------------------- /Editor/SettingsWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Windows; 3 | using System.Windows.Controls; 4 | 5 | namespace Editor 6 | { 7 | /// 8 | /// Interaction logic for SettingsWindow.xaml 9 | /// 10 | public partial class SettingsWindow : Window 11 | { 12 | public SettingsWindow() 13 | { 14 | InitializeComponent(); 15 | try 16 | { 17 | //EditorMode mode = (EditorMode)Enum.Parse(typeof(EditorMode), ConfigManager.GetConfigurationValue(KeyName.default_mode)); 18 | //FontType font = (FontType)Enum.Parse(typeof(FontType), ConfigManager.GetConfigurationValue(KeyName.default_font)); 19 | var mode = ConfigManager.GetConfigurationValue(KeyName.default_mode); 20 | var fontName = ConfigManager.GetConfigurationValue(KeyName.default_font); 21 | 22 | var modes = editorModeCombo.Items; 23 | foreach (ComboBoxItem item in modes) 24 | { 25 | if ((string)item.Tag == mode) 26 | { 27 | editorModeCombo.SelectedItem = item; 28 | } 29 | } 30 | var fonts = equationFontCombo.Items; 31 | foreach (ComboBoxItem item in fonts) 32 | { 33 | if ((string)item.Tag == fontName) 34 | { 35 | equationFontCombo.SelectedItem = item; 36 | } 37 | } 38 | } 39 | catch { } 40 | } 41 | 42 | private void okButton_Click(object sender, RoutedEventArgs e) 43 | { 44 | ConfigManager.SetConfigurationValues(new Dictionary() { 45 | {KeyName.default_mode, ((ComboBoxItem)editorModeCombo.SelectedItem).Tag.ToString()}, 46 | {KeyName.default_font, ((ComboBoxItem)equationFontCombo.SelectedItem).Tag.ToString()} 47 | }); 48 | this.Close(); 49 | } 50 | 51 | private void cancelButton_Click(object sender, RoutedEventArgs e) 52 | { 53 | this.Close(); 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /Editor/equations/Common/PenManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Windows.Media; 4 | 5 | namespace Editor 6 | { 7 | public static class PenManager 8 | { 9 | static Dictionary bevelPens = new Dictionary(); 10 | static Dictionary miterPens = new Dictionary(); 11 | static Dictionary roundPens = new Dictionary(); 12 | static Dictionary whitePens = new Dictionary(); 13 | 14 | static object bevelLock = new object(); 15 | static object miterLock = new object(); 16 | static object roundLock = new object(); 17 | 18 | static object whiteLock = new object(); 19 | 20 | public static Pen GetWhitePen(double thickness) 21 | { 22 | return GetPen(whiteLock, whitePens, thickness, PenLineJoin.Miter, Brushes.White); 23 | } 24 | 25 | public static Pen GetPen(double thickness, PenLineJoin lineJoin = PenLineJoin.Bevel) 26 | { 27 | if (lineJoin == PenLineJoin.Bevel) 28 | { 29 | return GetPen(bevelLock, bevelPens, thickness, lineJoin); 30 | } 31 | else if (lineJoin == PenLineJoin.Miter) 32 | { 33 | return GetPen(miterLock, miterPens, thickness, lineJoin); 34 | } 35 | else 36 | { 37 | return GetPen(roundLock, roundPens, thickness, lineJoin); 38 | } 39 | } 40 | 41 | static Pen GetPen(object lockObj, Dictionary penDictionary, double thickness, PenLineJoin lineJoin, Brush brush=null) 42 | { 43 | lock (lockObj) 44 | { 45 | thickness = Math.Round(thickness, 1); 46 | if (!penDictionary.ContainsKey(thickness)) 47 | { 48 | Pen pen = new Pen(brush ?? Brushes.Black, thickness); 49 | pen.LineJoin = lineJoin; 50 | pen.Freeze(); 51 | penDictionary.Add(thickness, pen); 52 | } 53 | return penDictionary[thickness]; 54 | } 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /Editor/equations/Division/DivMathWithOuterBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | using System.Xml.Linq; 4 | 5 | namespace Editor 6 | { 7 | public abstract class DivMathWithOuterBase: DivMath 8 | { 9 | protected RowContainer outerEquation; 10 | 11 | public DivMathWithOuterBase(EquationContainer parent) 12 | : base(parent) 13 | { 14 | outerEquation = new RowContainer(this); 15 | outerEquation.HAlignment = Editor.HAlignment.Right; 16 | //insideEquation.HAlignment = Editor.HAlignment.Right; 17 | childEquations.Add(outerEquation); 18 | } 19 | 20 | public override XElement Serialize() 21 | { 22 | XElement thisElement = new XElement(GetType().Name); 23 | thisElement.Add(insideEquation.Serialize()); 24 | thisElement.Add(outerEquation.Serialize()); 25 | return thisElement; 26 | } 27 | 28 | public override void DeSerialize(XElement xElement) 29 | { 30 | var elements = xElement.Elements().ToArray(); 31 | insideEquation.DeSerialize(elements[0]); 32 | outerEquation.DeSerialize(elements[1]); 33 | CalculateSize(); 34 | } 35 | 36 | public override void CalculateSize() 37 | { 38 | CalculateHeight(); 39 | CalculateWidth(); 40 | } 41 | 42 | protected override void CalculateWidth() 43 | { 44 | Width = Math.Max(insideEquation.Width, outerEquation.Width) + divMathSign.Width + LeftGap; 45 | } 46 | 47 | protected override void CalculateHeight() 48 | { 49 | Height = outerEquation.Height + insideEquation.Height + ExtraHeight; 50 | divMathSign.Height = insideEquation.FirstRow.Height + ExtraHeight; 51 | } 52 | 53 | public override double Left 54 | { 55 | get { return base.Left; } 56 | set 57 | { 58 | base.Left = value; 59 | divMathSign.Left = value + LeftGap; 60 | insideEquation.Right = Right; 61 | outerEquation.Right = Right; 62 | } 63 | } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /Editor/equations/Bracket/LeftRightBracket.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Linq; 2 | 3 | namespace Editor 4 | { 5 | public sealed class LeftRightBracket : Bracket 6 | { 7 | BracketSign bracketSign2; 8 | 9 | public LeftRightBracket(EquationContainer parent, BracketSignType leftBracketType, BracketSignType rightBracketType) 10 | : base(parent) 11 | { 12 | bracketSign = new BracketSign(this, leftBracketType); 13 | bracketSign2 = new BracketSign(this, rightBracketType); 14 | childEquations.AddRange(new EquationBase[] { insideEq, bracketSign, bracketSign2 }); 15 | } 16 | 17 | public override XElement Serialize() 18 | { 19 | XElement thisElement = new XElement(GetType().Name); 20 | XElement parameters = new XElement("parameters"); 21 | parameters.Add(new XElement(bracketSign.SignType.GetType().Name, bracketSign.SignType)); 22 | parameters.Add(new XElement(bracketSign2.SignType.GetType().Name, bracketSign2.SignType)); 23 | thisElement.Add(parameters); 24 | thisElement.Add(insideEq.Serialize()); 25 | return thisElement; 26 | } 27 | 28 | public override void DeSerialize(XElement xElement) 29 | { 30 | insideEq.DeSerialize(xElement.Element(insideEq.GetType().Name)); 31 | CalculateSize(); 32 | } 33 | 34 | 35 | protected override void CalculateWidth() 36 | { 37 | Width = insideEq.Width + bracketSign.Width + bracketSign2.Width; 38 | } 39 | 40 | protected override void CalculateHeight() 41 | { 42 | base.CalculateHeight(); 43 | bracketSign2.Height = bracketSign.Height; 44 | } 45 | 46 | public override double Left 47 | { 48 | get { return base.Left; } 49 | set 50 | { 51 | base.Left = value; 52 | bracketSign.Left = value; 53 | insideEq.Left = bracketSign.Right; 54 | bracketSign2.Left = insideEq.Right; 55 | } 56 | } 57 | 58 | public override double Top 59 | { 60 | get { return base.Top; } 61 | set 62 | { 63 | base.Top = value; 64 | bracketSign2.Top = bracketSign.Top; 65 | } 66 | } 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /Editor/equations/SubSuper/Super.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Linq; 2 | 3 | namespace Editor 4 | { 5 | public sealed class Super : SubSuperBase 6 | { 7 | RowContainer rowContainer; 8 | 9 | public Super(EquationRow parent, Position position) 10 | : base(parent, position) 11 | { 12 | ActiveChild = rowContainer = new RowContainer(this); 13 | childEquations.Add(rowContainer); 14 | if (SubLevel == 1) 15 | { 16 | rowContainer.FontFactor = SubFontFactor; 17 | } 18 | else if (SubLevel == 2) 19 | { 20 | rowContainer.FontFactor = SubSubFontFactor; 21 | } 22 | } 23 | 24 | public override XElement Serialize() 25 | { 26 | XElement thisElement = new XElement(GetType().Name); 27 | XElement parameters = new XElement("parameters"); 28 | parameters.Add(new XElement(Position.GetType().Name, Position)); 29 | thisElement.Add(parameters); 30 | thisElement.Add(rowContainer.Serialize()); 31 | return thisElement; 32 | } 33 | 34 | public override void DeSerialize(XElement xElement) 35 | { 36 | rowContainer.DeSerialize(xElement.Element(rowContainer.GetType().Name)); 37 | CalculateSize(); 38 | } 39 | 40 | protected override void CalculateHeight() 41 | { 42 | Height = rowContainer.Height + Buddy.RefY - SuperOverlap; 43 | } 44 | 45 | public override double Top 46 | { 47 | get { return base.Top; } 48 | set 49 | { 50 | base.Top = value; 51 | rowContainer.Top = value; 52 | } 53 | } 54 | 55 | protected override void CalculateWidth() 56 | { 57 | Width = rowContainer.Width + Padding * 2; 58 | } 59 | 60 | public override double Left 61 | { 62 | get { return base.Left; } 63 | set 64 | { 65 | base.Left = value; 66 | rowContainer.Left = this.Left + Padding; 67 | } 68 | } 69 | 70 | public override double RefY 71 | { 72 | get 73 | { 74 | return Height; 75 | } 76 | } 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /Editor/MatrixInputWindow.xaml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /Editor/HistoryToolBar.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Collections.ObjectModel; 3 | using System.Linq; 4 | using System.Windows; 5 | using System.Windows.Controls; 6 | using System.Windows.Input; 7 | 8 | namespace Editor 9 | { 10 | /// 11 | /// Interaction logic for HistoryToolBar.xaml 12 | /// 13 | public partial class HistoryToolBar : UserControl 14 | { 15 | int maxSymbols = 30; 16 | ObservableCollection recentList = new ObservableCollection(); 17 | Dictionary usedCount = new Dictionary(); 18 | 19 | public HistoryToolBar() 20 | { 21 | this.DataContext = this; 22 | InitializeComponent(); 23 | recentListBox.ItemsSource = recentList; 24 | var data = ConfigManager.GetConfigurationValue(KeyName.symbols); 25 | if (data.Length > 0) 26 | { 27 | string[] list = data.Split(','); 28 | foreach (var s in list) 29 | { 30 | recentList.Add(s); 31 | usedCount.Add(s, 0); 32 | } 33 | } 34 | recentListBox.FontFamily = FontFactory.GetFontFamily(FontType.STIXGeneral); 35 | } 36 | 37 | public void AddItem(string symbol) 38 | { 39 | if (usedCount.ContainsKey(symbol)) 40 | { 41 | usedCount[symbol] += 1; 42 | } 43 | else 44 | { 45 | if (usedCount.Count >= maxSymbols) 46 | { 47 | int min = int.MaxValue; 48 | string s = usedCount.First().Key; 49 | foreach (var pair in usedCount) 50 | { 51 | if (pair.Value < min) 52 | { 53 | min = pair.Value; 54 | s = pair.Key; 55 | } 56 | } 57 | recentList.Remove(s); 58 | usedCount.Remove(s); 59 | } 60 | recentList.Insert(0, symbol); 61 | usedCount.Add(symbol, 1); 62 | } 63 | } 64 | 65 | private void symbolClick(object sender, MouseButtonEventArgs e) 66 | { 67 | string item = ((TextBlock)sender).DataContext as string; 68 | CommandDetails commandDetails = new CommandDetails { UnicodeString = item, CommandType = Editor.CommandType.Text }; 69 | ((MainWindow)Application.Current.MainWindow).HandleToolBarCommand(commandDetails); 70 | } 71 | 72 | public void Save() 73 | { 74 | string data = ""; 75 | foreach (var s in recentList) 76 | { 77 | data += s + ","; 78 | } 79 | data = data.Trim(','); 80 | ConfigManager.SetConfigurationValue(KeyName.symbols, data); 81 | } 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /Editor/equations/Text/TextFormat.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows; 3 | using System.Windows.Media; 4 | using System.Xml.Linq; 5 | 6 | namespace Editor 7 | { 8 | public sealed class TextFormat 9 | { 10 | public double FontSize { get; private set; } 11 | public FontType FontType { get; private set; } 12 | public FontFamily FontFamily { get; private set; } 13 | public FontStyle FontStyle { get; private set; } 14 | public FontWeight FontWeight { get; private set; } 15 | public SolidColorBrush TextBrush { get; private set; } 16 | public Typeface TypeFace { get; private set; } 17 | public string TextBrushString { get; private set; } 18 | public bool UseUnderline { get; set; } 19 | public int Index { get; set; } 20 | 21 | public TextFormat(double size, FontType ft, FontStyle fs, FontWeight fw, SolidColorBrush brush, bool useUnderline) 22 | { 23 | this.FontSize = Math.Round(size, 1); 24 | this.FontType = ft; 25 | this.FontFamily = FontFactory.GetFontFamily(ft); 26 | this.FontStyle = fs; 27 | this.UseUnderline = useUnderline; 28 | this.FontWeight = fw; 29 | this.TextBrush = brush; 30 | this.TypeFace = new Typeface(FontFamily, fs, fw, FontStretches.Normal, FontFactory.GetFontFamily(FontType.STIXGeneral)); 31 | BrushConverter bc = new BrushConverter(); 32 | TextBrushString = bc.ConvertToString(brush); 33 | } 34 | 35 | public XElement Serialize() 36 | { 37 | XElement thisElement = new XElement(GetType().Name); 38 | thisElement.Add(new XElement("FontSize", FontSize), 39 | new XElement("FontType", FontType), 40 | new XElement("FontStyle", FontStyle), 41 | new XElement("Underline", UseUnderline), 42 | new XElement("FontWeight", FontWeight), 43 | new XElement("Brush", TextBrushString)); 44 | return thisElement; 45 | } 46 | 47 | public static TextFormat DeSerialize(XElement xe) 48 | { 49 | double fontSize = double.Parse(xe.Element("FontSize").Value); 50 | FontType fontType = (FontType)Enum.Parse(typeof(FontType), xe.Element("FontType").Value); 51 | FontStyle fontStyle = xe.Element("FontStyle").Value == "Italic" ? FontStyles.Italic : FontStyles.Normal; 52 | FontWeight fontWeight = xe.Element("FontWeight").Value == "Bold" ? FontWeights.Bold : FontWeights.Normal; 53 | BrushConverter bc = new BrushConverter(); 54 | SolidColorBrush brush = (SolidColorBrush)bc.ConvertFrom(xe.Element("Brush").Value); 55 | bool useUnderline = Convert.ToBoolean(xe.Element("Underline").Value); 56 | return new TextFormat(fontSize, fontType, fontStyle, fontWeight, brush, useUnderline); 57 | } 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /Editor/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.269 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace Editor.Properties 12 | { 13 | 14 | 15 | /// 16 | /// A strongly-typed resource class, for looking up localized strings, etc. 17 | /// 18 | // This class was auto-generated by the StronglyTypedResourceBuilder 19 | // class via a tool like ResGen or Visual Studio. 20 | // To add or remove a member, edit your .ResX file then rerun ResGen 21 | // with the /str option, or rebuild your VS project. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources 26 | { 27 | 28 | private static global::System.Resources.ResourceManager resourceMan; 29 | 30 | private static global::System.Globalization.CultureInfo resourceCulture; 31 | 32 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 33 | internal Resources() 34 | { 35 | } 36 | 37 | /// 38 | /// Returns the cached ResourceManager instance used by this class. 39 | /// 40 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 41 | internal static global::System.Resources.ResourceManager ResourceManager 42 | { 43 | get 44 | { 45 | if ((resourceMan == null)) 46 | { 47 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Editor.Properties.Resources", typeof(Resources).Assembly); 48 | resourceMan = temp; 49 | } 50 | return resourceMan; 51 | } 52 | } 53 | 54 | /// 55 | /// Overrides the current thread's CurrentUICulture property for all 56 | /// resource lookups using this strongly typed resource class. 57 | /// 58 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 59 | internal static global::System.Globalization.CultureInfo Culture 60 | { 61 | get 62 | { 63 | return resourceCulture; 64 | } 65 | set 66 | { 67 | resourceCulture = value; 68 | } 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /Editor/equations/Division/DivMath.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | using System.Xml.Linq; 4 | 5 | namespace Editor 6 | { 7 | public class DivMath : EquationContainer 8 | { 9 | protected RowContainer insideEquation = null; 10 | protected DivMathSign divMathSign; 11 | protected double ExtraHeight 12 | { 13 | get { return FontSize * .3; } 14 | } 15 | 16 | protected double VerticalGap 17 | { 18 | get { return FontSize * .1; } 19 | } 20 | 21 | protected double LeftGap 22 | { 23 | get { return FontSize * .1; } 24 | } 25 | 26 | public DivMath(EquationContainer parent) 27 | : base(parent) 28 | { 29 | divMathSign = new DivMathSign(this); 30 | ActiveChild = insideEquation = new RowContainer(this); 31 | childEquations.Add(insideEquation); 32 | childEquations.Add(divMathSign); 33 | } 34 | 35 | public override XElement Serialize() 36 | { 37 | XElement thisElement = new XElement(GetType().Name); 38 | thisElement.Add(insideEquation.Serialize()); 39 | return thisElement; 40 | } 41 | 42 | public override void DeSerialize(XElement xElement) 43 | { 44 | insideEquation.DeSerialize(xElement.Elements().First()); 45 | CalculateSize(); 46 | } 47 | 48 | public override double Top 49 | { 50 | get { return base.Top; } 51 | set 52 | { 53 | base.Top = value; 54 | AdjustVertical(); 55 | } 56 | } 57 | 58 | protected virtual void AdjustVertical() 59 | { 60 | insideEquation.Top = Top + VerticalGap; 61 | divMathSign.Top = Top + VerticalGap; 62 | } 63 | 64 | public override void CalculateSize() 65 | { 66 | CalculateHeight(); 67 | CalculateWidth(); 68 | } 69 | 70 | protected override void CalculateWidth() 71 | { 72 | Width = insideEquation.Width + divMathSign.Width + LeftGap; 73 | } 74 | 75 | protected override void CalculateHeight() 76 | { 77 | divMathSign.Height = insideEquation.FirstRow.Height + ExtraHeight; 78 | Height = Math.Max(insideEquation.Height + ExtraHeight, divMathSign.Height); 79 | } 80 | 81 | public override double Left 82 | { 83 | get { return base.Left; } 84 | set 85 | { 86 | base.Left = value; 87 | divMathSign.Left = value + LeftGap; 88 | insideEquation.Left = divMathSign.Right; 89 | } 90 | } 91 | 92 | public override double RefY 93 | { 94 | get 95 | { 96 | return insideEquation.FirstRow.RefY + VerticalGap; 97 | } 98 | } 99 | } 100 | } 101 | -------------------------------------------------------------------------------- /Editor/equations/Division/DivHorizontal.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows; 3 | using System.Windows.Input; 4 | using System.Windows.Media; 5 | 6 | namespace Editor 7 | { 8 | public class DivHorizontal : DivBase 9 | { 10 | double ExtraWidth { get { return FontSize * .3; } } 11 | 12 | public DivHorizontal(EquationContainer parent) 13 | : base(parent, false) 14 | { 15 | } 16 | 17 | public DivHorizontal(EquationContainer parent, bool isSmall) 18 | : base (parent, isSmall) 19 | { 20 | } 21 | 22 | public override void DrawEquation(DrawingContext dc) 23 | { 24 | base.DrawEquation(dc); 25 | dc.DrawLine(StandardPen, new Point(bottomEquation.Left - ExtraWidth/10, Top), new Point(topEquation.Right + ExtraWidth/10, Bottom)); 26 | } 27 | 28 | public override double Left 29 | { 30 | get { return base.Left; } 31 | set 32 | { 33 | base.Left = value; 34 | AdjustHorizontal(); 35 | } 36 | } 37 | 38 | private void AdjustHorizontal() 39 | { 40 | 41 | topEquation.Left = this.Left; 42 | bottomEquation.Left = topEquation.Right + ExtraWidth; 43 | } 44 | public override double Top 45 | { 46 | get { return base.Top; } 47 | set 48 | { 49 | base.Top = value; 50 | topEquation.MidY = MidY; 51 | bottomEquation.MidY = MidY; 52 | } 53 | } 54 | 55 | public override double RefY 56 | { 57 | get 58 | { 59 | return Math.Max(topEquation.RefY, bottomEquation.RefY); 60 | } 61 | } 62 | 63 | 64 | protected override void CalculateWidth() 65 | { 66 | Width = topEquation.Width + bottomEquation.Width + ExtraWidth; 67 | AdjustHorizontal(); 68 | } 69 | 70 | protected override void CalculateHeight() 71 | { 72 | Height = Math.Max(topEquation.Height , bottomEquation.Height); 73 | } 74 | 75 | public override bool ConsumeKey(Key key) 76 | { 77 | if (ActiveChild.ConsumeKey(key)) 78 | { 79 | CalculateSize(); 80 | return true; 81 | } 82 | if (key == Key.Right) 83 | { 84 | if (ActiveChild == topEquation) 85 | { 86 | ActiveChild = bottomEquation; 87 | return true; 88 | } 89 | } 90 | else if (key == Key.Left) 91 | { 92 | if (ActiveChild == bottomEquation) 93 | { 94 | ActiveChild = topEquation; 95 | return true; 96 | } 97 | } 98 | return false; 99 | } 100 | } 101 | } 102 | -------------------------------------------------------------------------------- /Editor/equations/SubSuper/Sub.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Linq; 2 | 3 | namespace Editor 4 | { 5 | public sealed class Sub : SubSuperBase 6 | { 7 | RowContainer rowContainer; 8 | 9 | public Sub(EquationRow parent, Position position) 10 | : base(parent, position) 11 | { 12 | ActiveChild = rowContainer = new RowContainer(this); 13 | childEquations.Add(rowContainer); 14 | if (SubLevel == 1) 15 | { 16 | rowContainer.FontFactor = SubFontFactor; 17 | } 18 | else if (SubLevel == 2) 19 | { 20 | rowContainer.FontFactor = SubSubFontFactor; 21 | } 22 | } 23 | 24 | public override XElement Serialize() 25 | { 26 | XElement thisElement = new XElement(GetType().Name); 27 | XElement parameters = new XElement("parameters"); 28 | parameters.Add(new XElement(Position.GetType().Name, Position)); 29 | thisElement.Add(parameters); 30 | thisElement.Add(rowContainer.Serialize()); 31 | return thisElement; 32 | } 33 | 34 | public override void DeSerialize(XElement xElement) 35 | { 36 | rowContainer.DeSerialize(xElement.Element(rowContainer.GetType().Name)); 37 | CalculateSize(); 38 | } 39 | 40 | protected override void CalculateWidth() 41 | { 42 | /* 43 | double width = rowContainer.Width + Padding * 2; 44 | TextEquation te = Buddy as TextEquation; 45 | if (te != null) 46 | { 47 | width += te.OverHangTrailing; 48 | } 49 | */ 50 | Width = rowContainer.Width + Padding * 2; 51 | } 52 | 53 | public override double Left 54 | { 55 | get { return base.Left; } 56 | set 57 | { 58 | base.Left = value; 59 | rowContainer.Left = this.Left + Padding; 60 | } 61 | } 62 | 63 | public override System.Windows.Thickness Margin 64 | { 65 | get 66 | { 67 | double left = 0; 68 | TextEquation te = Buddy as TextEquation; 69 | if (te != null) 70 | { 71 | left += te.OverhangTrailing; 72 | } 73 | return new System.Windows.Thickness(left, 0, 0, 0); 74 | } 75 | } 76 | 77 | protected override void CalculateHeight() 78 | { 79 | Height = rowContainer.Height - SubOverlap; 80 | } 81 | 82 | public override double Top 83 | { 84 | get { return base.Top; } 85 | set 86 | { 87 | base.Top = value; 88 | rowContainer.Bottom = Bottom; 89 | } 90 | } 91 | 92 | public override double RefY 93 | { 94 | get 95 | { 96 | return 0; 97 | } 98 | } 99 | } 100 | } 101 | --------------------------------------------------------------------------------