Skip to content

A tiny, portable, immediate-mode UI library ported to Go

License

Notifications You must be signed in to change notification settings

zeozeozeo/microui-go

Repository files navigation

microui

A tiny, portable, immediate-mode UI library ported to Go (as of commit 05d7b46c9cf650dd0c5fbc83a9bebf87c80d02a5)

API changes

  • Functions and structs are renamed to be PascalCase and the prefix mu_ is removed, like this:

    mu_push_command -> PushCommand

    mu_begin_treenode_ex -> BeginTreeNodeEx

    mu_get_clip_rect -> GetClipRect

  • Every function that takes mu_Context (Context) instead has a Context reciever, so Button(ctx, label) becomes ctx.Button(label)

  • Stacks are now slices with variable length, append is used for push and slice = slice[:len(slice)-1] is used for pop

  • mu_Font (Font) is interface{}, since it doesn't store any font data. You can use reflect if you want to store values inside it

  • The library is split into separate files instead of one file

  • The library is ~1300 lines of code in total

Additional functions:

  • NewContext, which is a helper for creating a new Context
  • ctx.Render, which calls a function for every command inside the command list, then clears it

Notes

The library expects the user to provide input and handle the resultant drawing commands, it does not do any drawing itself.

Releases

No releases published

Packages

No packages published

Languages