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

Tidy up the API - non-backwards compatible changes #24

Open
3 of 10 tasks
peterbrittain opened this issue Mar 5, 2016 · 4 comments
Open
3 of 10 tasks

Tidy up the API - non-backwards compatible changes #24

peterbrittain opened this issue Mar 5, 2016 · 4 comments
Milestone

Comments

@peterbrittain
Copy link
Owner

peterbrittain commented Mar 5, 2016

After several new releases and extra features, there are several bits of the original API that jar a little and need removing.

  • Buffer height for Screen (and Canvas) - should be retired.
  • Sort out resize logic so that you don't need to recreate every object.
  • Consider forcing a complete redraw each frame rather than making Effects clean up after themselves. (The double buffer will still minimize actual screen updates).
  • Make line drawing use the actual drawing coordinates, rather than the less granular text coordinates.
  • Screen.get_from should probably return a namedtuple (for readability) including glyph width (to distinguish start/end of double width glyphs).
  • Fix the allow_int compromise. Strictly speaking, animations should not be tied to frame counters. See Add mouse drag operations #20 for the debate.
  • Why have DynamicRenderer and Canvas? Could one use/replace the other and so provide a cleaner API for dynamic content?
  • Consider setting working default value for all widgets.
  • Add a desktop manager (subclass of Scene) for widgets to handle input routing for Frames and then move focus logic to owning objects (i.e. DM owns Frame focus, Frame owns layout focus, etc).
  • Change focus logic to push state from widgets to layouts to frames, so you can just tell a widget to take the focus (instead of being forced to do it via the Frame).

TBC...

@peterbrittain
Copy link
Owner Author

I've also retired various deprecated interfaces (all use of Blessed and from_xxx methods) as part of 9450f60

@peterbrittain
Copy link
Owner Author

Line drawing accepts floating point coordinates as of v1.7

@peterbrittain
Copy link
Owner Author

Buffer heght now just a test only attribute as of #185 ( and a few other perf tweaks)

@peterbrittain
Copy link
Owner Author

@boxed I've moved the API discussion to that new issue.

Repository owner deleted a comment from boxed Aug 16, 2019
Repository owner deleted a comment from boxed Aug 16, 2019
Repository owner deleted a comment from boxed Aug 16, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants
@peterbrittain and others