Package gi is the top-level repository for the GoGi GUI framework.
All of the code is in the sub-packages within this repository:
* gi: contains the main 2D GUI code
* gi3d: contains the 3D scenegraph framework, that interoperates seamlessly with the 2D.
* giv: are more complex Views of Go data structures, built out of gi widgets, supporting the Model-View paradigm.
* svg: provides a full SVG rendering framework, used for Icons, and in its own right.
* oswin: is the OS-specific framework, originally based on Shiny, that provides all the gory guts for dealing with different OS's.
* examples: contains a number of useful examples for learning how to use GoGi -- see widgets and its README file for a basic introduction. marbles is really fun!
|gi||Package Gi (GoGi) provides a Graphical Interface based on GoKi Tree Node structs|
|gi3d||Package gi3d provides a 3D scenegraph for the GoGi GUI framework.|
|gi3d/io/obj||Package obj is used to parse the Wavefront OBJ file format (*.obj), including associated materials (*.mtl).|
|gimain||Package gimain provides a Main function that encapsulates the standard oswin driver main function, and also ensures that standard sub-packages that are required for typical gi gui usage are automatically included|
|giv||Package GiV (GoGi Views) provides a model / view framework to view Go data using reflection|
|histyle||package histyle provides syntax highlighting styles -- it is based on github.com/alecthomas/chroma which in turn was based on the python pygments package.|
|mat32||mat32 is our version of the G3N math32 32-bit, 3D rendering-based math library.|
|oswin||Package oswin provides interfaces for OS-specific GUI hardware for portable two-dimensional graphics and input events.|
|oswin/clip||Package clip defines the system clipboard for the GoGi GUI system.|
|oswin/cursor||Package cursor defines the oswin cursor interface and standard system cursors that are supported across platforms|
|oswin/dnd||Package dnd defines the system drag-and-drop events for the GoGi GUI system.|
|oswin/driver||Package driver provides the default driver for accessing a screen.|
|oswin/driver/internal/drawer||Package drawer provides functions that help implement screen.Drawer methods.|
|oswin/driver/internal/_errapp||Package errapp provides a stub App implementation.|
|oswin/driver/internal/event||Package event provides an infinitely buffered double-ended queue of events.|
|oswin/driver/internal/_macdriver||Package macdriver provides an OpenGL-based driver for MacOS platform.|
|oswin/driver/internal/_swizzle||Package swizzle provides functions for converting between RGBA pixel formats.|
|oswin/driver/internal/_x11driver||Package x11driver provides the X11 driver for oswin|
|oswin/gpu||Package gpu provides an abstract interface to a graphical processing unit (GPU).|
|oswin/key||Package key defines an event for physical keyboard keys, for the GoGi GUI system.|
|oswin/mimedata||Package mimedata defines MIME data support used in clipboard and drag-and-drop functions in the GoGi GUI.|
|oswin/mouse||Package mouse defines mouse events, for the GoGi GUI system.|
|oswin/touch||Package touch defines an event for touch input, for the GoGi GUI system.|
|oswin/window||Package window defines events associated with windows -- including changes in the dimensions, physical resolution and orientation of the app's window, and iconify, open and close events.|
|spell||Package spell provides functions for spell check and correction|
|svg||Package svg provides SVG rendering classes, I/O parsing: full SVG rendering|
|units||Package Units supports full range of CSS-style length units (em, px, dp, etc)|
|vci||Package vci provides a version control interface for version control systems such as git, svn, etc.|