Skip to content
/ KeshUI Public
forked from Daekesh/KeshUI

A C++ GUI Framework for Unreal Engine 4

License

Notifications You must be signed in to change notification settings

mrG7/KeshUI

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 

Repository files navigation

KeshUI: A Unreal Engine 4 C++ Based UI Framework
================================================

Note: I add to this library as and when I need things. If you use it and find something missing, feel free to add or request it (if it's a feasably small addition.)

Interface Class Hierarchy
=========================

KUIInterface (receives external events and creates its own; dispatches events to containers)

KUIInterfaceElement (controls location and z-ordering)
 |
 |- KUIInterfaceComponent (direct rendering calls.)
 |
 \- KUIInterfaceContainer (receives and dispatches all events to children - used to group widgets and other containers together)
     |
     \- KUIInterfaceWidget (selective event receipt - used to implement specific interface elements)

KUIInterfaceWidgetChildManager (links to a component inside a widget for widget-specific child info)

Note: Child managers are an idea I played around with to have state-agnostic generic classes with state managers. I don't really use them any more.


Interface Ownership Hierarchy
=============================

KUIInterface
 |
 \- Root containers (root/overlay/tooltip/cursor)
     |
     \- Child containers <--------<---------<---\
         |                                      |
         |- More containers (for layout.) -->---/
         |
         |- Components (for direct rendering.)
         |
         \- Widgets (for specific interface elements.)
             |
             \- WidgetChildManager

Containers can contain either components (for direct rendering) or other containers and widgets.
Events are not dispatched directly to components, they only handle draw calls.
Do not overload on standard containers, or event dispatching will take unneeded cpu cycles.

About

A C++ GUI Framework for Unreal Engine 4

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 97.9%
  • C 1.9%
  • C# 0.2%