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

JavaFx support for terminal #36

Closed
coldwarrl opened this issue Oct 8, 2017 · 3 comments
Closed

JavaFx support for terminal #36

coldwarrl opened this issue Oct 8, 2017 · 3 comments
Labels
enhancement Enhances existing functionality without introducing new features help wanted More complex issues for which we'd like to get community help

Comments

@coldwarrl
Copy link
Member

There should be a Terminal implementation which uses JavaFx instead of Swing.

See conversation with Adam:

So this is how it works:
We have a VirtualTerminal class: https://github.com/Hexworks/zircon/blob/master/src/main/kotlin/org/codetome/zircon/internal/terminal/virtual/VirtualTerminal.kt
this handles all the "virtual" aspects of the Terminal interface
including dirty checking, resizing, and modifying its contents (TextCharacters, Layers, etc)
this basically means that you only have to implement the rendering logic if you want to have a JavaFX implementation
but
We have the renderig logic which is common to Java2D implementations in Java2DTerminalImplementation : https://github.com/Hexworks/zircon/blob/master/src/main/kotlin/org/codetome/zircon/internal/terminal/swing/Java2DTerminalImplementation.kt
This class handles the lifecycle of the underlying GUI framework, like onCreated and onDestroyed
and it also handles how drawing happens (cursor, coloring, TextCharacters and such)
and what we have in mind right now is to make this class generic
by extracting all Java2D specific aspects
and using interfaces to represent them
so after this refactor implementing something like a JavaFX version will be much easier

So that issue should be on hold until the mentioned refactoring is done.

@adam-arold adam-arold added this to Todo in Zircon Oct 8, 2017
@adam-arold adam-arold added enhancement Enhances existing functionality without introducing new features needs planning labels Oct 8, 2017
@adam-arold adam-arold moved this from Todo to Backlog in Zircon Oct 9, 2017
@adam-arold adam-arold moved this from Backlog to Todo in Zircon Dec 18, 2017
@adam-arold adam-arold moved this from Todo to Backlog in Zircon Mar 29, 2018
@coldwarrl
Copy link
Member Author

@adam-arold : I do not need it anymore (canceling JavaFx dependencies and relying on Zircon instead for my future projects for various reasons)...so if this is not required by anyone else, shall we close it ?

@adam-arold
Copy link
Member

adam-arold commented Aug 24, 2018

I'd keep it here. I think that implementing this is a good exercise and also useful for those who want to use JavaFX. Now with the Application interface it is possible to integrate Zircon into an existing app (Swing for example) and only pass a Canvas as a parameter. The same will work for JavaFX in the future.

@adam-arold adam-arold added help wanted More complex issues for which we'd like to get community help and removed needs planning labels Jan 7, 2019
@adam-arold adam-arold removed this from Backlog in Zircon Jan 7, 2019
@adam-arold adam-arold added this to Backlog in Zircon via automation Apr 21, 2019
@adam-arold
Copy link
Member

With the LibGDX renderer this became obsolete.

Zircon automation moved this from Backlog to In Review Jul 19, 2019
@adam-arold adam-arold removed this from In Review in Zircon Nov 30, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Enhances existing functionality without introducing new features help wanted More complex issues for which we'd like to get community help
Projects
None yet
Development

No branches or pull requests

2 participants