raygui

package module
v0.0.0-...-01864c0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 17, 2024 License: Zlib Imports: 5 Imported by: 90

README

raygui GoDoc

raygui is simple and easy-to-use IMGUI (immediate mode GUI API) library.

controls_test_suite

Demo

scroll_panel

Demo

Documentation

Index

Constants

View Source
const (
	SCROLLBAR_LEFT_SIDE  = 0
	SCROLLBAR_RIGHT_SIDE = 1
)
View Source
const (
	STATE_NORMAL   int32 = 0
	STATE_FOCUSED        = 1
	STATE_PRESSED        = 2
	STATE_DISABLED       = 3
)

Gui control state

View Source
const (
	TEXT_ALIGN_LEFT   int32 = 0
	TEXT_ALIGN_CENTER       = 1
	TEXT_ALIGN_RIGHT        = 2
)

Gui control text alignment

View Source
const (
	TEXT_ALIGN_TOP    int32 = 0
	TEXT_ALIGN_MIDDLE       = 1
	TEXT_ALIGN_BOTTOM       = 2
)

Gui control text alignment vertical

View Source
const (
	TEXT_WRAP_NONE int32 = 0
	TEXT_WRAP_CHAR       = 1
	TEXT_WRAP_WORD       = 2
)

Gui control text wrap mode NOTE: Useful for multiline text

View Source
const (
	DEFAULT     int32 = 0
	LABEL             = 1
	BUTTON            = 2
	TOGGLE            = 3
	SLIDER            = 4
	PROGRESSBAR       = 5
	CHECKBOX          = 6
	COMBOBOX          = 7
	DROPDOWNBOX       = 8
	TEXTBOX           = 9
	VALUEBOX          = 10
	SPINNER           = 11
	LISTVIEW          = 12
	COLORPICKER       = 13
	SCROLLBAR         = 14
	STATUSBAR         = 15
)

DEFAULT - Gui controls

View Source
const (
	BORDER_COLOR_NORMAL   int32 = 0
	BASE_COLOR_NORMAL           = 1
	TEXT_COLOR_NORMAL           = 2
	BORDER_COLOR_FOCUSED        = 3
	BASE_COLOR_FOCUSED          = 4
	TEXT_COLOR_FOCUSED          = 5
	BORDER_COLOR_PRESSED        = 6
	BASE_COLOR_PRESSED          = 7
	TEXT_COLOR_PRESSED          = 8
	BORDER_COLOR_DISABLED       = 9
	BASE_COLOR_DISABLED         = 10
	TEXT_COLOR_DISABLED         = 11
	BORDER_WIDTH                = 12
	TEXT_PADDING                = 13
	TEXT_ALIGNMENT              = 14
)

Gui base properties for every control NOTE: RAYGUI_MAX_PROPS_BASE properties (by default 16 properties)

View Source
const (
	TEXT_SIZE               int32 = 16
	TEXT_SPACING                  = 17
	LINE_COLOR                    = 18
	BACKGROUND_COLOR              = 19
	TEXT_LINE_SPACING             = 20
	TEXT_ALIGNMENT_VERTICAL       = 21
	TEXT_WRAP_MODE                = 22
)

DEFAULT extended properties NOTE: Those properties are common to all controls or global

View Source
const (
	// Slider size of internal bar
	SLIDER_WIDTH int32 = 16
	// Slider/SliderBar internal bar padding
	SLIDER_PADDING = 17
)
View Source
const (
	ARROWS_SIZE           int32 = 16
	ARROWS_VISIBLE              = 17
	SCROLL_SLIDER_PADDING       = 18
	SCROLL_SLIDER_SIZE          = 19
	SCROLL_PADDING              = 20
	SCROLL_SPEED                = 21
)
View Source
const (
	// ComboBox right button width
	COMBO_BUTTON_WIDTH int32 = 16
	// ComboBox button separation
	COMBO_BUTTON_SPACING = 17
)
View Source
const (
	// DropdownBox arrow separation from border and items
	ARROW_PADDING int32 = 16
	// DropdownBox items separation
	DROPDOWN_ITEMS_SPACING = 17
)
View Source
const (
	// TextBox/TextBoxMulti/ValueBox/Spinner inner text padding
	TEXT_INNER_PADDING int32 = 16
	// TextBoxMulti lines separation
	TEXT_LINES_SPACING = 17
)
View Source
const (
	// Spinner left/right buttons width
	SPIN_BUTTON_WIDTH int32 = 16
	// Spinner buttons separation
	SPIN_BUTTON_SPACING = 17
)
View Source
const (
	// ListView items height
	LIST_ITEMS_HEIGHT int32 = 16
	// ListView items separation
	LIST_ITEMS_SPACING = 17
	// ListView scrollbar size (usually width)
	SCROLLBAR_WIDTH = 18
	// ListView scrollbar side (0-left, 1-right)
	SCROLLBAR_SIDE = 19
)
View Source
const (
	COLOR_SELECTOR_SIZE int32 = 16
	// rl.ColorPicker right hue bar width
	HUEBAR_WIDTH = 17
	// rl.ColorPicker right hue bar separation from panel
	HUEBAR_PADDING = 18
	// rl.ColorPicker right hue bar selector height
	HUEBAR_SELECTOR_HEIGHT = 19
	// rl.ColorPicker right hue bar selector overflow
	HUEBAR_SELECTOR_OVERFLOW = 20
)
View Source
const (
	ICON_NONE int32 = iota
	ICON_FOLDER_FILE_OPEN
	ICON_FILE_SAVE_CLASSIC
	ICON_FOLDER_OPEN
	ICON_FOLDER_SAVE
	ICON_FILE_OPEN
	ICON_FILE_SAVE
	ICON_FILE_EXPORT
	ICON_FILE_ADD
	ICON_FILE_DELETE
	ICON_FILETYPE_TEXT
	ICON_FILETYPE_AUDIO
	ICON_FILETYPE_IMAGE
	ICON_FILETYPE_PLAY
	ICON_FILETYPE_VIDEO
	ICON_FILETYPE_INFO
	ICON_FILE_COPY
	ICON_FILE_CUT
	ICON_FILE_PASTE
	ICON_CURSOR_HAND
	ICON_CURSOR_POINTER
	ICON_CURSOR_CLASSIC
	ICON_PENCIL
	ICON_PENCIL_BIG
	ICON_BRUSH_CLASSIC
	ICON_BRUSH_PAINTER
	ICON_WATER_DROP
	ICON_COLOR_PICKER
	ICON_RUBBER
	ICON_COLOR_BUCKET
	ICON_TEXT_T
	ICON_TEXT_A
	ICON_SCALE
	ICON_RESIZE
	ICON_FILTER_POINT
	ICON_FILTER_BILINEAR
	ICON_CROP
	ICON_CROP_ALPHA
	ICON_SQUARE_TOGGLE
	ICON_SYMMETRY
	ICON_SYMMETRY_HORIZONTAL
	ICON_SYMMETRY_VERTICAL
	ICON_LENS
	ICON_LENS_BIG
	ICON_EYE_ON
	ICON_EYE_OFF
	ICON_FILTER_TOP
	ICON_FILTER
	ICON_TARGET_POINT
	ICON_TARGET_SMALL
	ICON_TARGET_BIG
	ICON_TARGET_MOVE
	ICON_CURSOR_MOVE
	ICON_CURSOR_SCALE
	ICON_CURSOR_SCALE_RIGHT
	ICON_CURSOR_SCALE_LEFT
	ICON_UNDO
	ICON_REDO
	ICON_REREDO
	ICON_MUTATE
	ICON_ROTATE
	ICON_REPEAT
	ICON_SHUFFLE
	ICON_EMPTYBOX
	ICON_TARGET
	ICON_TARGET_SMALL_FILL
	ICON_TARGET_BIG_FILL
	ICON_TARGET_MOVE_FILL
	ICON_CURSOR_MOVE_FILL
	ICON_CURSOR_SCALE_FILL
	ICON_CURSOR_SCALE_RIGHT_FILL
	ICON_CURSOR_SCALE_LEFT_FILL
	ICON_UNDO_FILL
	ICON_REDO_FILL
	ICON_REREDO_FILL
	ICON_MUTATE_FILL
	ICON_ROTATE_FILL
	ICON_REPEAT_FILL
	ICON_SHUFFLE_FILL
	ICON_EMPTYBOX_SMALL
	ICON_BOX
	ICON_BOX_TOP
	ICON_BOX_TOP_RIGHT
	ICON_BOX_RIGHT
	ICON_BOX_BOTTOM_RIGHT
	ICON_BOX_BOTTOM
	ICON_BOX_BOTTOM_LEFT
	ICON_BOX_LEFT
	ICON_BOX_TOP_LEFT
	ICON_BOX_CENTER
	ICON_BOX_CIRCLE_MASK
	ICON_POT
	ICON_ALPHA_MULTIPLY
	ICON_ALPHA_CLEAR
	ICON_DITHERING
	ICON_MIPMAPS
	ICON_BOX_GRID
	ICON_GRID
	ICON_BOX_CORNERS_SMALL
	ICON_BOX_CORNERS_BIG
	ICON_FOUR_BOXES
	ICON_GRID_FILL
	ICON_BOX_MULTISIZE
	ICON_ZOOM_SMALL
	ICON_ZOOM_MEDIUM
	ICON_ZOOM_BIG
	ICON_ZOOM_ALL
	ICON_ZOOM_CENTER
	ICON_BOX_DOTS_SMALL
	ICON_BOX_DOTS_BIG
	ICON_BOX_CONCENTRIC
	ICON_BOX_GRID_BIG
	ICON_OK_TICK
	ICON_CROSS
	ICON_ARROW_LEFT
	ICON_ARROW_RIGHT
	ICON_ARROW_DOWN
	ICON_ARROW_UP
	ICON_ARROW_LEFT_FILL
	ICON_ARROW_RIGHT_FILL
	ICON_ARROW_DOWN_FILL
	ICON_ARROW_UP_FILL
	ICON_AUDIO
	ICON_FX
	ICON_WAVE
	ICON_WAVE_SINUS
	ICON_WAVE_SQUARE
	ICON_WAVE_TRIANGULAR
	ICON_CROSS_SMALL
	ICON_PLAYER_PREVIOUS
	ICON_PLAYER_PLAY_BACK
	ICON_PLAYER_PLAY
	ICON_PLAYER_PAUSE
	ICON_PLAYER_STOP
	ICON_PLAYER_NEXT
	ICON_PLAYER_RECORD
	ICON_MAGNET
	ICON_LOCK_CLOSE
	ICON_LOCK_OPEN
	ICON_CLOCK
	ICON_TOOLS
	ICON_GEAR
	ICON_GEAR_BIG
	ICON_BIN
	ICON_HAND_POINTER
	ICON_LASER
	ICON_COIN
	ICON_EXPLOSION
	ICON_1UP
	ICON_PLAYER
	ICON_PLAYER_JUMP
	ICON_KEY
	ICON_DEMON
	ICON_TEXT_POPUP
	ICON_GEAR_EX
	ICON_CRACK
	ICON_CRACK_POINTS
	ICON_STAR
	ICON_DOOR
	ICON_EXIT
	ICON_MODE_2D
	ICON_MODE_3D
	ICON_CUBE
	ICON_CUBE_FACE_TOP
	ICON_CUBE_FACE_LEFT
	ICON_CUBE_FACE_FRONT
	ICON_CUBE_FACE_BOTTOM
	ICON_CUBE_FACE_RIGHT
	ICON_CUBE_FACE_BACK
	ICON_CAMERA
	ICON_SPECIAL
	ICON_LINK_NET
	ICON_LINK_BOXES
	ICON_LINK_MULTI
	ICON_LINK
	ICON_LINK_BROKE
	ICON_TEXT_NOTES
	ICON_NOTEBOOK
	ICON_SUITCASE
	ICON_SUITCASE_ZIP
	ICON_MAILBOX
	ICON_MONITOR
	ICON_PRINTER
	ICON_PHOTO_CAMERA
	ICON_PHOTO_CAMERA_FLASH
	ICON_HOUSE
	ICON_HEART
	ICON_CORNER
	ICON_VERTICAL_BARS
	ICON_VERTICAL_BARS_FILL
	ICON_LIFE_BARS
	ICON_INFO
	ICON_CROSSLINE
	ICON_HELP
	ICON_FILETYPE_ALPHA
	ICON_FILETYPE_HOME
	ICON_LAYERS_VISIBLE
	ICON_LAYERS
	ICON_WINDOW
	ICON_HIDPI
	ICON_FILETYPE_BINARY
	ICON_HEX
	ICON_SHIELD
	ICON_FILE_NEW
	ICON_FOLDER_ADD
	ICON_ALARM
	ICON_CPU
	ICON_ROM
	ICON_STEP_OVER
	ICON_STEP_INTO
	ICON_STEP_OUT
	ICON_RESTART
	ICON_BREAKPOINT_ON
	ICON_BREAKPOINT_OFF
	ICON_BURGER_MENU
	ICON_CASE_SENSITIVE
	ICON_REG_EXP
	ICON_FOLDER
	ICON_FILE
	ICON_SAND_TIMER
	ICON_220
	ICON_221
	ICON_222
	ICON_223
	ICON_224
	ICON_225
	ICON_226
	ICON_227
	ICON_228
	ICON_229
	ICON_230
	ICON_231
	ICON_232
	ICON_233
	ICON_234
	ICON_235
	ICON_236
	ICON_237
	ICON_238
	ICON_239
	ICON_240
	ICON_241
	ICON_242
	ICON_243
	ICON_244
	ICON_245
	ICON_246
	ICON_247
	ICON_248
	ICON_249
	ICON_250
	ICON_251
	ICON_252
	ICON_253
	ICON_254
	ICON_255
)

Icons enumeration

View Source
const (
	CHECK_PADDING int32 = 16
)
View Source
const (
	GROUP_PADDING int32 = 16
)

GROUP_PADDING .

View Source
const (
	// ProgressBar internal padding
	PROGRESS_PADDING int32 = 16
)

Variables

This section is empty.

Functions

func Button

func Button(bounds rl.Rectangle, text string) bool

Button control, returns true when clicked

func CheckBox

func CheckBox(bounds rl.Rectangle, text string, checked bool) bool

CheckBox control, returns true when active

func ColorBarAlpha

func ColorBarAlpha(bounds rl.Rectangle, text string, alpha float32) float32

ColorBarAlpha control

func ColorBarHue

func ColorBarHue(bounds rl.Rectangle, text string, value float32) float32

ColorBarHue control

func ColorPanel

func ColorPanel(bounds rl.Rectangle, text string, color rl.Color) rl.Color

ColorPanel control

func ColorPanelHSV

func ColorPanelHSV(bounds rl.Rectangle, text string, colorHSV *rl.Vector3) int32

ColorPanelHSV - Color Panel control that returns HSV color value, used by GuiColorPickerHSV()

func ColorPicker

func ColorPicker(bounds rl.Rectangle, text string, color rl.Color) rl.Color

ColorPicker control (multiple color controls)

func ColorPickerHSV

func ColorPickerHSV(bounds rl.Rectangle, text string, colorHSV *rl.Vector3) int32

ColorPickerHSV - Color Picker control that avoids conversion to RGB on each call (multiple color controls)

func ComboBox

func ComboBox(bounds rl.Rectangle, text string, active int32) int32

ComboBox control, returns selected item index

func Disable

func Disable()

GuiDisable - Disable gui controls (global state)

func DrawIcon

func DrawIcon(iconId, posX, posY, pixelSize int32, col color.RGBA)

DrawIcon - draw icon using pixel size at specified position

func DropdownBox(bounds rl.Rectangle, text string, active *int32, editMode bool) bool

DropdownBox control

func DummyRec

func DummyRec(bounds rl.Rectangle, text string)

DummyRec control for placeholders

func Enable

func Enable()

GuiEnable - Enable gui controls (global state)

func Fade

func Fade(color rl.Color, alpha float32)

GuiFade - Set gui controls alpha (global state), alpha goes from 0.0f to 1.0f

func GetFont

func GetFont() rl.Font

GetFont - get custom font (global state)

func GetState

func GetState() int32

GuiGetState - Get gui state (global state)

func GetStyle

func GetStyle(control int32, property int32) int64

GuiGetStyle - Get one style property

func Grid

func Grid(bounds rl.Rectangle, text string, spacing float32, subdivs int32, mouseCell *rl.Vector2) int32

Grid control, returns mouse cell position

func GroupBox

func GroupBox(bounds rl.Rectangle, text string)

GuiGroupBox - Group Box control with text name

func IconText

func IconText(iconId int32, text string) string

IconText gets text with icon id prepended (if supported)

func IsLocked

func IsLocked() bool

GuiIsLocked - Check if gui is locked (global state)

func Label

func Label(bounds rl.Rectangle, text string)

Label control, shows text

func LabelButton

func LabelButton(bounds rl.Rectangle, text string) bool

LabelButton control, show true when clicked

func Line

func Line(bounds rl.Rectangle, text string)

GuiLine - Line separator control, could contain text

func ListView

func ListView(bounds rl.Rectangle, text string, scrollIndex *int32, active int32) int32

ListView control, returns selected list item index

func ListViewEx

func ListViewEx(bounds rl.Rectangle, text []string, focus, scrollIndex *int32, active int32) int32

ListViewEx control with extended parameters

func LoadIcons

func LoadIcons(fileName string, loadIconsName bool)

LoadIcons - load raygui icons file (.rgi) into internal icons data

func LoadStyle

func LoadStyle(fileName string)

LoadStyle file over global style variable (.rgs)

func LoadStyleDefault

func LoadStyleDefault()

LoadStyleDefault over global style

func LoadStyleFromMemory

func LoadStyleFromMemory(data []byte)

LoadStyleFromMemory - Load style from memory (binary only)

func Lock

func Lock()

GuiLock - Lock gui controls (global state)

func MessageBox

func MessageBox(bounds rl.Rectangle, title string, message string, buttons string) int32

MessageBox control, displays a message

func Panel

func Panel(bounds rl.Rectangle, text string)

Panel - Panel control, useful to group controls

func ProgressBar

func ProgressBar(bounds rl.Rectangle, textLeft string, textRight string, value float32, minValue float32, maxValue float32) float32

ProgressBar control, shows current progress value

func ScrollBar

func ScrollBar(bounds rl.Rectangle, value, minValue, maxValue int32) int32

ScrollBar control (used by GuiScrollPanel())

func ScrollPanel

func ScrollPanel(bounds rl.Rectangle, text string, content rl.Rectangle, scroll *rl.Vector2, view *rl.Rectangle) int32

ScrollPanel control - Scroll Panel control

func SetFont

func SetFont(font rl.Font)

SetFont - set custom font (global state)

func SetState

func SetState(state int32)

GuiSetState - Set gui state (global state)

func SetStyle

func SetStyle(control int32, property int32, value int64)

GuiSetStyle .

func Slider

func Slider(bounds rl.Rectangle, textLeft string, textRight string, value float32, minValue float32, maxValue float32) float32

Slider control

func SliderBar

func SliderBar(bounds rl.Rectangle, textLeft string, textRight string, value float32, minValue float32, maxValue float32) float32

SliderBar control, returns selected value

func Spinner

func Spinner(bounds rl.Rectangle, text string, value *int32, minValue, maxValue int, editMode bool) int32

Spinner control, returns selected value

func StatusBar

func StatusBar(bounds rl.Rectangle, text string)

StatusBar control, shows info text

func TabBar

func TabBar(bounds rl.Rectangle, text []string, active *int32) int32

TabBar control

func TextBox

func TextBox(bounds rl.Rectangle, text *string, textSize int, editMode bool) bool

TextBox control, updates input text

func TextInputBox

func TextInputBox(bounds rl.Rectangle, title, message, buttons string, text *string, textMaxSize int32, secretViewActive *bool) int32

TextInputBox control, ask for text

func Toggle

func Toggle(bounds rl.Rectangle, text string, active bool) bool

Toggle control, returns true when active

func ToggleGroup

func ToggleGroup(bounds rl.Rectangle, text string, active int32) int32

ToggleGroup control, returns active toggle index

func ToggleSlider

func ToggleSlider(bounds rl.Rectangle, text string, active int32) int32

ToggleSlider control, returns true when clicked

func Unlock

func Unlock()

GuiUnlock - Unlock gui controls (global state)

func ValueBox

func ValueBox(bounds rl.Rectangle, text string, value *int32, minValue, maxValue int, editMode bool) bool

ValueBox control, updates input text with numbers

func WindowBox

func WindowBox(bounds rl.Rectangle, title string) bool

GuiWindowBox - Window Box control, shows a window that can be closed

Types

type CStringArray

type CStringArray struct {
	Pointer unsafe.Pointer
	Length  int
}

CStringArray represents an array of pointers to NULL terminated C strings, the array itself is terminated with a NULL

func NewCStringArray

func NewCStringArray() *CStringArray

NewCStringArray returns an instance of CStringArray

func NewCStringArrayFromPointer

func NewCStringArrayFromPointer(p unsafe.Pointer) *CStringArray

func NewCStringArrayFromSlice

func NewCStringArrayFromSlice(ss []string) *CStringArray

NewCStringArrayFromSlice makes an instance of CStringArray then copy the input slice to it.

func (*CStringArray) Copy

func (arr *CStringArray) Copy(ss []string)

Copy converts Go slice of strings to C underlying struct of CStringArray

func (*CStringArray) Free

func (arr *CStringArray) Free()

Free frees C underlying struct of CStringArray MUST call this method after using CStringArray Exception: If you use NewCStringArrayFromPointer() to create CStringArray object and you use other way to free C underlying structure pointed by the pointer, then don't need to call Free()

func (*CStringArray) ToSlice

func (arr *CStringArray) ToSlice() []string

ToSlice converts CStringArray to Go slice of strings

type GuiCheckBoxProperty

type GuiCheckBoxProperty = int32

GuiCheckBoxProperty .

type GuiColorPickerProperty

type GuiColorPickerProperty = int32

GuiColorPickerProperty .

type GuiComboBoxProperty

type GuiComboBoxProperty = int32

GuiComboBoxProperty .

type GuiControl

type GuiControl = int32

GuiControl .

type GuiControlProperty

type GuiControlProperty = int32

GuiControlProperty .

type GuiDefaultProperty

type GuiDefaultProperty = int32

GuiDefaultProperty .

type GuiDropdownBoxProperty

type GuiDropdownBoxProperty = int32

GuiDropdownBoxProperty .

type GuiListViewProperty

type GuiListViewProperty = int32

GuiListViewProperty .

type GuiProgressBarProperty

type GuiProgressBarProperty = int32

GuiProgressBarProperty .

type GuiScrollBarProperty

type GuiScrollBarProperty = int32

GuiScrollBarProperty .

type GuiSliderProperty

type GuiSliderProperty = int32

GuiSliderProperty .

type GuiSpinnerProperty

type GuiSpinnerProperty = int32

GuiSpinnerProperty .

type GuiState

type GuiState = int32

GuiState .

type GuiStyleProp

type GuiStyleProp struct {
	// contains filtered or unexported fields
}

GuiStyleProp - Style property

type GuiTextAlignment

type GuiTextAlignment = int32

GuiTextAlignment .

type GuiTextAlignmentVertical

type GuiTextAlignmentVertical = int32

GuiTextAlignmentVertical .

type GuiTextBoxProperty

type GuiTextBoxProperty = int32

GuiTextBoxProperty .

type GuiTextWrapMode

type GuiTextWrapMode = int32

GuiTextWrapMode .

type GuiToggleProperty

type GuiToggleProperty = int32

GuiToggleProperty .

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL