Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Separate WPF and common code #327

Merged
merged 42 commits into from
Jan 25, 2023
Merged

Conversation

ForNeVeR
Copy link
Owner

@ForNeVeR ForNeVeR commented Dec 30, 2022

TODO

  • Move the new project to src.
  • Fix the test failures.
  • Figure out what to do with the remaining files. See Extract WPF-dependent code into a separate project #63 for more details:
    • classes from the root namespace:
      • CharInfo,
      • SystemFont,
      • TexRenderer (probably split into two classes because it is a bit WPF-dependent),
      • give a good way to obtain some sort of default TexEnvironment;
    • take a look at the Brush-related code in the feature/17-avalonia branch;
    • the remaining classes from the root namespace:
      • TexEnvironment;
    • Boxes;
    • Box-dependent classes from the root namespace:
      • DelimiterFactory,
      • Glue,
      • GlueSettingsParser;
    • Atoms except:
      • AccentedAtom,
      • BigOperatorAtom,
      • ScriptsAtom;
    • Atom-dependent classes from the root namespace:
      • DelimiterInfo,
      • TexSymbolParser,
      • TexFormula together with the remaining Atoms:
        • AccentedAtom,
        • BigOperatorAtom,
        • ScriptsAtom,
      • TexFormulaParser,
      • TexFormulaHelper,
    • Colors;
    • Parsers:
      • root files,
      • Matrices,
      • PredefinedFormulae;
    • TexPredefinedFormulaParser (note that ColorConstantValueParser requires some portable color definition);
    • Rendering/IElementRenderer.cs.
  • Rename the new project to WpfMath.Common.
  • Check all the files remaining in the WpfMath project, re-plan if required.
  • Think about generics.
  • Re-think the API around TexFormula and TexRenderer: maybe put back the original extension methods. TexRenderer can hold the most parameters, including the scale, and renderers could be produced and applied based on it.
  • Scales: make the initial size to work in the bitmap pixels/DIP, not scaled.
  • TODO monitoring: perform the tasks that are possible to do in scope of this PR.
  • Think about tests.
  • Name monitoring: new and newly exposed classes should have TeX instead of Tex.
  • Review the documentation: example renderer now is changed a bit.
  • Make sure the Shared library is put into the NuGet package.
  • Example app: add sliders for X an Y formula coordinates.
  • Manual test all the supported frameworks.
  • Synchronize with the master branch.
  • We should introduce some formal way of comparing APIs for different versions and probably add a compatibility layer.
  • Document the breaking changes.

Before merge

  • TODO monitoring (create an issue for every TODO touched in this PR).

After merge

  • Open an issue about generics (<TBrush> everywhere?). Related types:
    • IBrush
    • IFontTypeface
  • Create a new issue about 1.0 release (considering all the future planned API changes).

@ForNeVeR ForNeVeR self-assigned this Dec 30, 2022
@ForNeVeR ForNeVeR force-pushed the refactor/63.separate-platforms branch 6 times, most recently from 6cac801 to b4f9760 Compare January 2, 2023 22:59
@ForNeVeR ForNeVeR mentioned this pull request Jan 2, 2023
11 tasks
@ForNeVeR ForNeVeR force-pushed the refactor/63.separate-platforms branch from b4f9760 to b19edf9 Compare January 7, 2023 22:07
@ForNeVeR ForNeVeR force-pushed the refactor/63.separate-platforms branch from bb35207 to e443c9c Compare January 7, 2023 23:02
@ForNeVeR ForNeVeR force-pushed the refactor/63.separate-platforms branch from dbf908f to 7a4dc3e Compare January 25, 2023 21:45
@ForNeVeR ForNeVeR marked this pull request as ready for review January 25, 2023 21:45
@ForNeVeR ForNeVeR force-pushed the refactor/63.separate-platforms branch from 9c63d9e to 1054067 Compare January 25, 2023 22:28
Clarify docs, change type visibility, fix namespaces, connect TODOs with
the issues.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant