Commit Graph

31 Commits

Author SHA1 Message Date
FantasyPvP 5c6ec299ee - fully implemented dialogs
- added a scroll feature to grapher.rs
- fixed the cosine implementation as it was incorrect before.
2024-03-21 21:51:00 +00:00
FantasyPvP 6505d219de - Created Dialog widget
- standard information dialog works
TODO:
  implement more complex dialogs where multiple options can be selected
2024-03-21 00:12:53 +00:00
FantasyPvP e80df5100f started working on dialogs 2024-03-20 18:03:15 +00:00
FantasyPvP b0da71942a asteroids game rewrite 2023-12-04 10:42:17 +00:00
FantasyPvP 8988d98596 .
.
2023-11-30 17:30:28 +00:00
FantasyPvP 7ae2308a83 several fixes and changes 2023-11-29 23:45:40 +00:00
FantasyPvP d89a30d390 <@!837722637291487274> yo i made some progress 2023-11-28 00:17:11 +00:00
FantasyPvP c194109487 holy (crab) that was a lot of work
it works.

the input function is working now, passing it a reference to your root gui widget and a reference to it's own widget and a function to check if it should exit works now

gg
2023-11-28 00:12:59 +00:00
FantasyPvP f48eb133b3 we frikin did it bois
gui library works frrr

implementation:
- containers now store a Widget type.

- every widget has a unique id

- there is a data store that maps the id to the internally stored gui component.

- the compoenents can be fetched from the datastore using their Widget type
- the datastore uses a hashmap so fetching shouldnt have any real performance penalty.

- widgets can be fetched, inserted, updated and rendered from the datastore

- the render method can be called directly from the Widget type without having to know the underlying type that it references
2023-11-27 19:02:32 +00:00
FantasyPvP 417833fc41 fixed stuff
no progress 💀
2023-11-27 00:21:34 +00:00
FantasyPvP b28b53418a edited grapher implementation
- fixed grapher implementation with new gui
- fixed a bug in CgLineEdit where pressing backspace on an empty input would cause a crash
2023-11-24 21:53:41 +00:00
FantasyPvP 140ac0ab32 updates
updated grapher to use new widtgets system (not working yet but close)

made a basic app using the widgets system

implemented CgTextEdit for CgLineEdit (now fully working, but there may be bugs so i'll address them tomorrow)
2023-11-24 00:40:27 +00:00
FantasyPvP 467a42a5fa continued to work on new UI library
- implemented CgStatusBar widget which is a specific version of the CgIndicatorBar widget with predefined fields

- std::io::Screen is now an enum that makes switching between display modes more intuitive

- created a basic CgLineEdit implementation that allows for a user to type in a character and have it re-render that widget

- other more minor changes like fixes for existing apps to work with new features
2023-11-23 20:29:51 +00:00
FantasyPvP 461c9d9c6a - got text boxes fully working
- this includes text wrapping not cutting words in half (can be disabled using a method on the text box)
- refactored frame.rs, cg_core.rs and cg_widgets.rs to avoid code reuse and duplication
- created a simplified unified interface for rendering frames to the screen using the Frame struct provided by frame.rs instead of Element, FrameGen, etc.
- moved all widgets from cg_core.rs to cg_widgets.rs
- the label widget now works
- also added CgIndicatorBar and CgIndicatorWidget widgets to eventually make a working status bar
- refactored all applications in the system to use the new api to render to the screen
2023-11-23 00:29:04 +00:00
FantasyPvP 0ac21cd0b1 changed some stuff 2023-11-22 21:21:19 +00:00
FantasyPvP 84aaa90e66 new gui module text box implementation
starting to work on the new UI library, got labels and text boxes working as well as containers for widgets.

planning a big refactor
2023-11-22 21:07:00 +00:00
FantasyPvP 1d08240981 gui stuff
gui stuff
2023-11-22 00:36:23 +00:00
FantasyPvP d4b7ee243f e
E
2023-10-31 18:40:30 +00:00
FantasyPvP 3d889c4730 .
.
2023-10-11 23:22:46 +01:00
FantasyPvP d5e95433da .
.
2023-10-04 23:20:51 +01:00
FantasyPvP 4a7cf2a634 changed some calculator stuff idk
idk
2023-10-04 00:40:18 +01:00
FantasyPvP f5cc41c132 updated grapher
fixed issue where grapher would fail with functions due to some negative values being undefined
2023-10-03 23:26:47 +01:00
FantasyPvP e92e01c5b8 made a graphing calculator
idk why
2023-10-03 00:43:20 +01:00
FantasyPvP 410278b6e3 idk
idk
2023-10-02 23:26:54 +01:00
FantasyPvP bf9c9be88d made a game
made a snake game and rewrote some rendering stuff again
2023-10-02 00:56:18 +01:00
FantasyPvP 9e7335e05f idk
idk
2023-09-30 12:10:03 +01:00
FantasyPvP ef192302b8 .
.
2023-09-29 19:25:34 +01:00
FantasyPvP 49bc77e44a added the gigachad detector 2023-09-27 22:50:28 +01:00
FantasyPvP 76a2ec2163 changed some stuff 2023-09-27 00:42:04 +01:00
FantasyPvP 0c39711875 worked on rendering code
worked on code for libgui for rendering a user interface
2023-04-28 00:10:20 +01:00
FantasyPvP e491435dea ok
ok
2023-03-10 00:25:08 +00:00