848 lines
18 KiB
C
848 lines
18 KiB
C
#include "main.h"
|
|
#include "state.h"
|
|
#include "rgui.h"
|
|
#include "lua_core.h"
|
|
|
|
#define RAYGUI_IMPLEMENTATION
|
|
#include "raygui.h"
|
|
|
|
/*
|
|
## Gui - Global
|
|
*/
|
|
|
|
/*
|
|
> RL.GuiEnable()
|
|
|
|
Enable gui controls (global state)
|
|
*/
|
|
int lguiGuiEnable( lua_State *L ) {
|
|
GuiEnable();
|
|
|
|
return 0;
|
|
}
|
|
|
|
/*
|
|
> RL.GuiDisable()
|
|
|
|
Disable gui controls (global state)
|
|
*/
|
|
int lguiGuiDisable( lua_State *L ) {
|
|
GuiDisable();
|
|
|
|
return 0;
|
|
}
|
|
|
|
/*
|
|
> RL.GuiLock()
|
|
|
|
Lock gui controls (global state)
|
|
*/
|
|
int lguiGuiLock( lua_State *L ) {
|
|
GuiLock();
|
|
|
|
return 0;
|
|
}
|
|
|
|
/*
|
|
> RL.GuiUnlock()
|
|
|
|
Unlock gui controls (global state)
|
|
*/
|
|
int lguiGuiUnlock( lua_State *L ) {
|
|
GuiUnlock();
|
|
|
|
return 0;
|
|
}
|
|
|
|
/*
|
|
> locked = RL.GuiIsLocked()
|
|
|
|
Check if gui is locked (global state)
|
|
|
|
- Success return bool
|
|
*/
|
|
int lguiGuiIsLocked( lua_State *L ) {
|
|
lua_pushboolean( L, GuiIsLocked() );
|
|
|
|
return 0;
|
|
}
|
|
|
|
/*
|
|
> RL.GuiFade( float alpha )
|
|
|
|
Set gui controls alpha (global state), alpha goes from 0.0f to 1.0f
|
|
*/
|
|
int lguiGuiFade( lua_State *L ) {
|
|
float alpha = luaL_checknumber( L, 1 );
|
|
|
|
GuiFade( alpha );
|
|
|
|
return 0;
|
|
}
|
|
|
|
/*
|
|
> RL.GuiSetState( int state )
|
|
|
|
Set gui state (global state)
|
|
*/
|
|
int lguiGuiSetState( lua_State *L ) {
|
|
int state = luaL_checkinteger( L, 1 );
|
|
|
|
GuiSetState( state );
|
|
|
|
return 0;
|
|
}
|
|
|
|
/*
|
|
> state = RL.GuiGetState()
|
|
|
|
Get gui state (global state)
|
|
|
|
- Success return int
|
|
*/
|
|
int lguiGuiGetState( lua_State *L ) {
|
|
lua_pushinteger( L, GuiGetState() );
|
|
|
|
return 1;
|
|
}
|
|
|
|
/*
|
|
## Gui - Font
|
|
*/
|
|
|
|
/*
|
|
> RL.GuiSetFont( Font font )
|
|
|
|
Set gui custom font (global state)
|
|
*/
|
|
int lguiGuiSetFont( lua_State *L ) {
|
|
Font *font = luaL_checkudata( L, 1, "Font" );
|
|
|
|
GuiSetFont( *font );
|
|
|
|
return 0;
|
|
}
|
|
|
|
/*
|
|
> font = RL.GuiGetFont()
|
|
|
|
Get gui custom font (global state)
|
|
|
|
- Success return Font
|
|
*/
|
|
int lguiGuiGetFont( lua_State *L ) {
|
|
uluaPushFont( L, GuiGetFont() );
|
|
|
|
return 1;
|
|
}
|
|
|
|
/*
|
|
## Gui - Style
|
|
*/
|
|
|
|
/*
|
|
> RL.GuiSetStyle( int control, int property, int value )
|
|
|
|
Set one style property
|
|
*/
|
|
int lguiGuiSetStyle( lua_State *L ) {
|
|
int control = luaL_checkinteger( L, 1 );
|
|
int property = luaL_checkinteger( L, 2 );
|
|
int value = luaL_checkinteger( L, 3 );
|
|
|
|
GuiSetStyle( control, property, value );
|
|
|
|
return 0;
|
|
}
|
|
|
|
/*
|
|
> value = RL.GuiGetStyle( int control, int property )
|
|
|
|
Get one style property
|
|
|
|
- Success return int
|
|
*/
|
|
int lguiGuiGetStyle( lua_State *L ) {
|
|
int control = luaL_checkinteger( L, 1 );
|
|
int property = luaL_checkinteger( L, 2 );
|
|
|
|
lua_pushinteger( L, GuiGetStyle( control, property ) );
|
|
|
|
return 1;
|
|
}
|
|
|
|
/*
|
|
> success = RL.GuiLoadStyle( string fileName )
|
|
|
|
Load style file over global style variable (.rgs)
|
|
|
|
- Failure return false
|
|
- Success return true
|
|
*/
|
|
int lguiGuiLoadStyle( lua_State *L ) {
|
|
if ( FileExists( luaL_checkstring( L, 1 ) ) ) {
|
|
GuiLoadStyle( lua_tostring( L, 1 ) );
|
|
lua_pushboolean( L, true );
|
|
|
|
return 1;
|
|
}
|
|
TraceLog( state->logLevelInvalid, "Invalid file '%s'", lua_tostring( L, 1 ) );
|
|
lua_pushboolean( L, false );
|
|
|
|
return 1;
|
|
}
|
|
|
|
/*
|
|
> RL.GuiLoadStyleDefault()
|
|
|
|
Load style default over global style
|
|
*/
|
|
int lguiGuiLoadStyleDefault( lua_State *L ) {
|
|
GuiLoadStyleDefault();
|
|
|
|
return 0;
|
|
}
|
|
|
|
/*
|
|
## Gui - Container
|
|
*/
|
|
|
|
/*
|
|
> state = RL.GuiWindowBox( Rectangle bounds, string title )
|
|
|
|
Window Box control, shows a window that can be closed
|
|
|
|
- Success return bool
|
|
*/
|
|
int lguiGuiWindowBox( lua_State *L ) {
|
|
Rectangle bounds = uluaGetRectangleIndex( L, 1 );
|
|
|
|
lua_pushboolean( L, GuiWindowBox( bounds, luaL_checkstring( L, 2 ) ) );
|
|
|
|
return 1;
|
|
}
|
|
|
|
/*
|
|
> RL.GuiGroupBox( Rectangle bounds, string text )
|
|
|
|
Group Box control with text name
|
|
*/
|
|
int lguiGuiGroupBox( lua_State *L ) {
|
|
Rectangle bounds = uluaGetRectangleIndex( L, 1 );
|
|
|
|
GuiGroupBox( bounds, luaL_checkstring( L, 2 ) );
|
|
|
|
return 0;
|
|
}
|
|
|
|
/*
|
|
> RL.GuiLine( Rectangle bounds, string text )
|
|
|
|
Line separator control, could contain text
|
|
*/
|
|
int lguiGuiLine( lua_State *L ) {
|
|
Rectangle bounds = uluaGetRectangleIndex( L, 1 );
|
|
|
|
GuiLine( bounds, luaL_checkstring( L, 2 ) );
|
|
|
|
return 0;
|
|
}
|
|
|
|
/*
|
|
> RL.GuiPanel( Rectangle bounds, string text )
|
|
|
|
Panel control, useful to group controls
|
|
*/
|
|
int lguiGuiPanel( lua_State *L ) {
|
|
Rectangle bounds = uluaGetRectangleIndex( L, 1 );
|
|
|
|
GuiPanel( bounds, luaL_checkstring( L, 2 ) );
|
|
|
|
return 0;
|
|
}
|
|
|
|
/*
|
|
> view, scroll = RL.GuiScrollPanel( Rectangle bounds, string text, Rectangle content, Vector2 scroll )
|
|
|
|
Scroll Panel control
|
|
|
|
- Success return Rectangle, Vector2
|
|
*/
|
|
int lguiGuiScrollPanel( lua_State *L ) {
|
|
Rectangle bounds = uluaGetRectangleIndex( L, 1 );
|
|
Rectangle content = uluaGetRectangleIndex( L, 3 );
|
|
Vector2 scroll = uluaGetVector2Index( L, 4 );
|
|
|
|
uluaPushRectangle( L, GuiScrollPanel( bounds, luaL_checkstring( L, 2 ), content, &scroll ) );
|
|
uluaPushVector2( L, scroll );
|
|
|
|
return 2;
|
|
}
|
|
|
|
/*
|
|
## Gui - Basic
|
|
*/
|
|
|
|
/*
|
|
> RL.GuiLabel( Rectangle bounds, string text )
|
|
|
|
Label control, shows text
|
|
*/
|
|
int lguiGuiLabel( lua_State *L ) {
|
|
Rectangle bounds = uluaGetRectangleIndex( L, 1 );
|
|
|
|
GuiLabel( bounds, luaL_checkstring( L, 2 ) );
|
|
|
|
return 0;
|
|
}
|
|
|
|
/*
|
|
> clicked = RL.GuiButton( Rectangle bounds, string text )
|
|
|
|
Button control, returns true when clicked
|
|
|
|
- Success return boolean
|
|
*/
|
|
int lguiGuiButton( lua_State *L ) {
|
|
Rectangle bounds = uluaGetRectangleIndex( L, 1 );
|
|
|
|
lua_pushboolean( L, GuiButton( bounds, luaL_checkstring( L, 2 ) ) );
|
|
|
|
return 1;
|
|
}
|
|
|
|
/*
|
|
> clicked = RL.GuiLabelButton( Rectangle bounds, string text )
|
|
|
|
Label button control, show true when clicked
|
|
|
|
- Success return boolean
|
|
*/
|
|
int lguiGuiLabelButton( lua_State *L ) {
|
|
Rectangle bounds = uluaGetRectangleIndex( L, 1 );
|
|
|
|
lua_pushboolean( L, GuiLabelButton( bounds, luaL_checkstring( L, 2 ) ) );
|
|
|
|
return 1;
|
|
}
|
|
|
|
/*
|
|
> active = RL.GuiToggle( Rectangle bounds, string text, bool active )
|
|
|
|
Toggle Button control, returns true when active
|
|
|
|
- Success return boolean
|
|
*/
|
|
int lguiGuiToggle( lua_State *L ) {
|
|
Rectangle bounds = uluaGetRectangleIndex( L, 1 );
|
|
bool checked = lua_toboolean( L, 3 );
|
|
|
|
lua_pushboolean( L, GuiToggle( bounds, luaL_checkstring( L, 2 ), checked ) );
|
|
|
|
return 1;
|
|
}
|
|
|
|
/*
|
|
> index = RL.GuiToggleGroup( Rectangle bounds, string text, int active )
|
|
|
|
Toggle Group control, returns active toggle index
|
|
|
|
- Success return int
|
|
*/
|
|
int lguiGuiToggleGroup( lua_State *L ) {
|
|
Rectangle bounds = uluaGetRectangleIndex( L, 1 );
|
|
int active = luaL_checkinteger( L, 3 );
|
|
|
|
lua_pushinteger( L, GuiToggleGroup( bounds, luaL_checkstring( L, 2 ), active ) );
|
|
|
|
return 1;
|
|
}
|
|
|
|
/*
|
|
> active = RL.GuiCheckBox( Rectangle bounds, string text, bool checked )
|
|
|
|
Check Box control, returns true when active
|
|
|
|
- Success return boolean
|
|
*/
|
|
int lguiGuiCheckBox( lua_State *L ) {
|
|
Rectangle bounds = uluaGetRectangleIndex( L, 1 );
|
|
bool checked = lua_toboolean( L, 3 );
|
|
|
|
lua_pushboolean( L, GuiCheckBox( bounds, luaL_checkstring( L, 2 ), checked ) );
|
|
|
|
return 1;
|
|
}
|
|
|
|
/*
|
|
> active = RL.GuiComboBox( Rectangle bounds, string text, int active )
|
|
|
|
Combo Box control, returns selected item index
|
|
|
|
- Success return int
|
|
*/
|
|
int lguiGuiComboBox( lua_State *L ) {
|
|
Rectangle bounds = uluaGetRectangleIndex( L, 1 );
|
|
int active = luaL_checkinteger( L, 3 );
|
|
|
|
lua_pushinteger( L, GuiComboBox( bounds, luaL_checkstring( L, 2 ), active ) );
|
|
|
|
return 1;
|
|
}
|
|
|
|
/*
|
|
> pressed, text = RL.GuiTextBox( Rectangle bounds, string text, int textSize, bool editMode )
|
|
|
|
Text Box control, updates input text
|
|
|
|
- Success return boolean, string
|
|
*/
|
|
int lguiGuiTextBox( lua_State *L ) {
|
|
Rectangle bounds = uluaGetRectangleIndex( L, 1 );
|
|
int textSize = luaL_checkinteger( L, 3 );
|
|
// char text[ STRING_LEN ] = { '\0' };
|
|
char text[ textSize + 1 ];
|
|
strcpy( text, luaL_checkstring( L, 2 ) );
|
|
bool editMode = lua_toboolean( L, 4 );
|
|
|
|
lua_pushboolean( L, GuiTextBox( bounds, text, textSize, editMode ) );
|
|
lua_pushstring( L, text );
|
|
|
|
return 2;
|
|
}
|
|
|
|
/*
|
|
> pressed, text = RL.GuiTextBoxMulti( Rectangle bounds, string text, int textSize, bool editMode )
|
|
|
|
Text Box control with multiple lines
|
|
|
|
- Success return boolean, string
|
|
*/
|
|
int lguiGuiTextBoxMulti( lua_State *L ) {
|
|
Rectangle bounds = uluaGetRectangleIndex( L, 1 );
|
|
int textSize = luaL_checkinteger( L, 3 );
|
|
// char text[ STRING_LEN ] = { '\0' };
|
|
char text[ textSize + 1 ];
|
|
strcpy( text, luaL_checkstring( L, 2 ) );
|
|
bool editMode = lua_toboolean( L, 4 );
|
|
|
|
lua_pushboolean( L, GuiTextBoxMulti( bounds, text, textSize, editMode ) );
|
|
lua_pushstring( L, text );
|
|
|
|
return 2;
|
|
}
|
|
|
|
/*
|
|
> pressed, value = RL.GuiSpinner( Rectangle bounds, string text, int value, int minValue, int maxValue, bool editMode )
|
|
|
|
Spinner control, returns selected value
|
|
|
|
- Success return boolean, int
|
|
*/
|
|
int lguiGuiSpinner( lua_State *L ) {
|
|
Rectangle bounds = uluaGetRectangleIndex( L, 1 );
|
|
int value = luaL_checkinteger( L, 3 );
|
|
int minValue = luaL_checkinteger( L, 4 );
|
|
int maxValue = luaL_checkinteger( L, 5 );
|
|
bool editMode = lua_toboolean( L, 6 );
|
|
|
|
lua_pushboolean( L, GuiSpinner( bounds, luaL_checkstring( L, 2 ), &value, minValue, maxValue, editMode ) );
|
|
lua_pushinteger( L, value );
|
|
|
|
return 2;
|
|
}
|
|
|
|
/*
|
|
> pressed, value = RL.GuiValueBox( Rectangle bounds, string text, int value, int minValue, int maxValue, bool editMode )
|
|
|
|
Value Box control, updates input text with numbers
|
|
|
|
- Success return boolean, int
|
|
*/
|
|
int lguiGuiValueBox( lua_State *L ) {
|
|
Rectangle bounds = uluaGetRectangleIndex( L, 1 );
|
|
int value = luaL_checkinteger( L, 3 );
|
|
int minValue = luaL_checkinteger( L, 4 );
|
|
int maxValue = luaL_checkinteger( L, 5 );
|
|
bool editMode = lua_toboolean( L, 6 );
|
|
|
|
lua_pushboolean( L, GuiValueBox( bounds, luaL_checkstring( L, 2 ), &value, minValue, maxValue, editMode ) );
|
|
lua_pushinteger( L, value );
|
|
|
|
return 2;
|
|
}
|
|
|
|
/*
|
|
> value = RL.GuiSlider( Rectangle bounds, string textLeft, string textRight, float value, float minValue, float maxValue )
|
|
|
|
Slider control, returns selected value
|
|
|
|
- Success return float
|
|
*/
|
|
int lguiGuiSlider( lua_State *L ) {
|
|
Rectangle bounds = uluaGetRectangleIndex( L, 1 );
|
|
float value = luaL_checknumber( L, 4 );
|
|
float minValue = luaL_checknumber( L, 5 );
|
|
float maxValue = luaL_checknumber( L, 6 );
|
|
|
|
lua_pushnumber( L, GuiSlider( bounds, luaL_checkstring( L, 2 ), luaL_checkstring( L, 3 ), value, minValue, maxValue ) );
|
|
|
|
return 1;
|
|
}
|
|
|
|
/*
|
|
> value = RL.GuiSliderBar( Rectangle bounds, string textLeft, string textRight, float value, float minValue, float maxValue )
|
|
|
|
Slider Bar control, returns selected value
|
|
|
|
- Success return float
|
|
*/
|
|
int lguiGuiSliderBar( lua_State *L ) {
|
|
Rectangle bounds = uluaGetRectangleIndex( L, 1 );
|
|
float value = luaL_checknumber( L, 4 );
|
|
float minValue = luaL_checknumber( L, 5 );
|
|
float maxValue = luaL_checknumber( L, 6 );
|
|
|
|
lua_pushnumber( L, GuiSliderBar( bounds, luaL_checkstring( L, 2 ), luaL_checkstring( L, 3 ), value, minValue, maxValue ) );
|
|
|
|
return 1;
|
|
}
|
|
|
|
/*
|
|
> value = RL.GuiProgressBar( Rectangle bounds, string textLeft, string textRight, float value, float minValue, float maxValue )
|
|
|
|
Progress Bar control, shows current progress value
|
|
|
|
- Success return float
|
|
*/
|
|
int lguiGuiProgressBar( lua_State *L ) {
|
|
Rectangle bounds = uluaGetRectangleIndex( L, 1 );
|
|
float value = luaL_checknumber( L, 4 );
|
|
float minValue = luaL_checknumber( L, 5 );
|
|
float maxValue = luaL_checknumber( L, 6 );
|
|
|
|
lua_pushnumber( L, GuiProgressBar( bounds, luaL_checkstring( L, 2 ), luaL_checkstring( L, 3 ), value, minValue, maxValue ) );
|
|
|
|
return 1;
|
|
}
|
|
|
|
/*
|
|
> value = RL.GuiScrollBar( Rectangle bounds, int value, int minValue, int maxValue )
|
|
|
|
Scroll Bar control
|
|
|
|
- Success return int
|
|
*/
|
|
int lguiGuiScrollBar( lua_State *L ) {
|
|
Rectangle bounds = uluaGetRectangleIndex( L, 1 );
|
|
int value = luaL_checkinteger( L, 2 );
|
|
int minValue = luaL_checkinteger( L, 3 );
|
|
int maxValue = luaL_checkinteger( L, 4 );
|
|
|
|
lua_pushinteger( L, GuiScrollBar( bounds, value, minValue, maxValue ) );
|
|
|
|
return 1;
|
|
}
|
|
|
|
/*
|
|
> pressed, item = RL.GuiDropdownBox( Rectangle bounds, string text, int active, bool editMode )
|
|
|
|
Dropdown Box control, returns selected item
|
|
|
|
- Success return bool, int
|
|
*/
|
|
int lguiGuiDropdownBox( lua_State *L ) {
|
|
Rectangle bounds = uluaGetRectangleIndex( L, 1 );
|
|
int active = luaL_checkinteger( L, 3 );
|
|
bool editMode = lua_toboolean( L, 4 );
|
|
|
|
lua_pushboolean( L, GuiDropdownBox( bounds, luaL_checkstring( L, 2 ), &active, editMode ) );
|
|
lua_pushinteger( L, active );
|
|
|
|
return 2;
|
|
}
|
|
|
|
/*
|
|
> RL.GuiStatusBar( Rectangle bounds, string text )
|
|
|
|
Status Bar control, shows info text
|
|
*/
|
|
int lguiGuiStatusBar( lua_State *L ) {
|
|
Rectangle bounds = uluaGetRectangleIndex( L, 1 );
|
|
|
|
GuiStatusBar( bounds, luaL_checkstring( L, 2 ) );
|
|
|
|
return 0;
|
|
}
|
|
|
|
/*
|
|
> RL.GuiDummyRec( Rectangle bounds, string text )
|
|
|
|
Dummy control for placeholders
|
|
*/
|
|
int lguiGuiDummyRec( lua_State *L ) {
|
|
Rectangle bounds = uluaGetRectangleIndex( L, 1 );
|
|
|
|
GuiDummyRec( bounds, luaL_checkstring( L, 2 ) );
|
|
|
|
return 0;
|
|
}
|
|
|
|
/*
|
|
> cell = RL.GuiGrid( Rectangle bounds, string text, float spacing, int subdivs )
|
|
|
|
Grid control, returns mouse cell position
|
|
|
|
- Success return Vector2
|
|
*/
|
|
int lguiGuiGrid( lua_State *L ) {
|
|
Rectangle bounds = uluaGetRectangleIndex( L, 1 );
|
|
float spacing = luaL_checknumber( L, 3 );
|
|
int subdivs = luaL_checkinteger( L, 4 );
|
|
|
|
uluaPushVector2( L, GuiGrid( bounds, luaL_checkstring( L, 2 ), spacing, subdivs ) );
|
|
|
|
return 1;
|
|
}
|
|
|
|
/*
|
|
## Gui - Advanced
|
|
*/
|
|
|
|
/*
|
|
> itemIndex, scrollIndex = RL.GuiListView( Rectangle bounds, string text, int scrollIndex, int active )
|
|
|
|
List View control, returns selected list item index and scroll index
|
|
|
|
- Success return int, int
|
|
*/
|
|
int lguiGuiListView( lua_State *L ) {
|
|
Rectangle bounds = uluaGetRectangleIndex( L, 1 );
|
|
int scrollIndex = luaL_checkinteger( L, 3 );
|
|
int active = luaL_checkinteger( L, 4 );
|
|
|
|
lua_pushinteger( L, GuiListView( bounds, luaL_checkstring( L, 2 ), &scrollIndex, active ) );
|
|
lua_pushinteger( L, scrollIndex );
|
|
|
|
return 2;
|
|
}
|
|
|
|
/*
|
|
> itemIndex, scrollIndex, focus = RL.GuiListViewEx( Rectangle bounds, string text, int focus, int scrollIndex, int active )
|
|
|
|
List View with extended parameters, returns selected list item index, scroll index and focus
|
|
|
|
- Success return int, int, int
|
|
*/
|
|
int lguiGuiListViewEx( lua_State *L ) {
|
|
Rectangle bounds = uluaGetRectangleIndex( L, 1 );
|
|
int focus = luaL_checkinteger( L, 3 );
|
|
int scrollIndex = luaL_checkinteger( L, 4 );
|
|
int active = luaL_checkinteger( L, 5 );
|
|
int count = 0;
|
|
const char **text = GuiTextSplit( luaL_checkstring( L, 2 ), &count, NULL );
|
|
|
|
lua_pushinteger( L, GuiListViewEx( bounds, text, count, &focus, &scrollIndex, active ) );
|
|
lua_pushinteger( L, scrollIndex );
|
|
lua_pushinteger( L, focus );
|
|
|
|
return 3;
|
|
}
|
|
|
|
/*
|
|
> buttonIndex = RL.GuiMessageBox( Rectangle bounds, string title, string message, string buttons )
|
|
|
|
Message Box control, displays a message, returns button index (0 is x button)
|
|
|
|
- Success return int
|
|
*/
|
|
int lguiGuiMessageBox( lua_State *L ) {
|
|
Rectangle bounds = uluaGetRectangleIndex( L, 1 );
|
|
|
|
lua_pushinteger( L, GuiMessageBox( bounds, luaL_checkstring( L, 2 ), luaL_checkstring( L, 3 ), luaL_checkstring( L, 4 ) ) );
|
|
|
|
return 1;
|
|
}
|
|
|
|
/*
|
|
> buttonIndex, text, secretViewActive = RL.GuiTextInputBox( Rectangle bounds, string title, string message, string buttons, string text, int textMaxSize, int secretViewActive )
|
|
|
|
Text Input Box control, ask for text, supports secret
|
|
|
|
- Success return int, string, int
|
|
*/
|
|
int lguiGuiTextInputBox( lua_State *L ) {
|
|
Rectangle bounds = uluaGetRectangleIndex( L, 1 );
|
|
int textMaxSize = luaL_checkinteger( L, 6 );
|
|
int secretViewActive = luaL_checkinteger( L, 7 );
|
|
char text[ textMaxSize + 1 ];
|
|
strcpy( text, luaL_checkstring( L, 5 ) );
|
|
|
|
lua_pushinteger( L, GuiTextInputBox( bounds, luaL_checkstring( L, 2 ), luaL_checkstring( L, 3 ), luaL_checkstring( L, 4 ), text, textMaxSize, &secretViewActive ) );
|
|
lua_pushstring( L, text );
|
|
lua_pushinteger( L, secretViewActive );
|
|
|
|
return 3;
|
|
}
|
|
|
|
/*
|
|
> color = RL.GuiColorPicker( Rectangle bounds, string text, Color color )
|
|
|
|
Color Picker control (multiple color controls)
|
|
|
|
- Success return Color
|
|
*/
|
|
int lguiGuiColorPicker( lua_State *L ) {
|
|
Rectangle bounds = uluaGetRectangleIndex( L, 1 );
|
|
Color color = uluaGetColorIndex( L, 3 );
|
|
|
|
uluaPushColor( L, GuiColorPicker( bounds, luaL_checkstring( L, 2 ), color ) );
|
|
|
|
return 1;
|
|
}
|
|
|
|
/*
|
|
> color = RL.GuiColorPanel( Rectangle bounds, string text, Color color )
|
|
|
|
Color Panel control
|
|
|
|
- Success return Color
|
|
*/
|
|
int lguiGuiColorPanel( lua_State *L ) {
|
|
Rectangle bounds = uluaGetRectangleIndex( L, 1 );
|
|
Color color = uluaGetColorIndex( L, 3 );
|
|
|
|
uluaPushColor( L, GuiColorPanel( bounds, luaL_checkstring( L, 2 ), color ) );
|
|
|
|
return 1;
|
|
}
|
|
|
|
/*
|
|
> alpha = RL.GuiColorBarAlpha( Rectangle bounds, string text, float alpha )
|
|
|
|
Color Bar Alpha control
|
|
|
|
- Success return float
|
|
*/
|
|
int lguiGuiColorBarAlpha( lua_State *L ) {
|
|
Rectangle bounds = uluaGetRectangleIndex( L, 1 );
|
|
float alpha = luaL_checknumber( L, 3 );
|
|
|
|
lua_pushnumber( L, GuiColorBarAlpha( bounds, luaL_checkstring( L, 2 ), alpha ) );
|
|
|
|
return 1;
|
|
}
|
|
|
|
/*
|
|
> hue = RL.GuiColorBarHue( Rectangle bounds, string text, float value )
|
|
|
|
Color Bar Hue control
|
|
|
|
- Success return float
|
|
*/
|
|
int lguiGuiColorBarHue( lua_State *L ) {
|
|
Rectangle bounds = uluaGetRectangleIndex( L, 1 );
|
|
float value = luaL_checknumber( L, 3 );
|
|
|
|
lua_pushnumber( L, GuiColorBarHue( bounds, luaL_checkstring( L, 2 ), value ) );
|
|
|
|
return 1;
|
|
}
|
|
|
|
/*
|
|
## Gui - Icons
|
|
*/
|
|
|
|
/*
|
|
> text = RL.GuiIconText( int iconId, string text )
|
|
|
|
Get text with icon id prepended (if supported)
|
|
|
|
- Success return string
|
|
*/
|
|
int lguiGuiIconText( lua_State *L ) {
|
|
int iconId = luaL_checkinteger( L, 1 );
|
|
|
|
if ( TextIsEqual( luaL_checkstring( L, 2 ), "" ) ) {
|
|
lua_pushstring( L, GuiIconText( iconId, NULL ) );
|
|
}
|
|
else {
|
|
lua_pushstring( L, GuiIconText( iconId, luaL_checkstring( L, 2 ) ) );
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
/*
|
|
> RL.GuiDrawIcon( int iconId, Vector2 pos, int pixelSize, Color color )
|
|
|
|
Draw icon
|
|
*/
|
|
int lguiGuiDrawIcon( lua_State *L ) {
|
|
int iconId = luaL_checkinteger( L, 1 );
|
|
Vector2 pos = uluaGetVector2Index( L, 2 );
|
|
int pixelSize = luaL_checkinteger( L, 3 );
|
|
Color color = uluaGetColorIndex( L, 4 );
|
|
|
|
GuiDrawIcon( iconId, pos.x, pos.y, pixelSize, color );
|
|
|
|
return 0;
|
|
}
|
|
|
|
/*
|
|
> RL.GuiSetIconScale( int scale )
|
|
|
|
Set icon scale (1 by default)
|
|
*/
|
|
int lguiGuiSetIconScale( lua_State *L ) {
|
|
unsigned int scale = luaL_checkinteger( L, 1 );
|
|
|
|
GuiSetIconScale( scale );
|
|
|
|
return 0;
|
|
}
|
|
|
|
/*
|
|
> RL.GuiSetIconPixel( int iconId, Vector2 pos )
|
|
|
|
Set icon pixel value
|
|
*/
|
|
int lguiGuiSetIconPixel( lua_State *L ) {
|
|
int iconId = luaL_checkinteger( L, 1 );
|
|
Vector2 pos = uluaGetVector2Index( L, 2 );
|
|
|
|
GuiSetIconPixel( iconId, pos.x, pos.y );
|
|
|
|
return 0;
|
|
}
|
|
|
|
/*
|
|
> RL.GuiClearIconPixel( int iconId, Vector2 pos )
|
|
|
|
Clear icon pixel value
|
|
*/
|
|
int lguiGuiClearIconPixel( lua_State *L ) {
|
|
int iconId = luaL_checkinteger( L, 1 );
|
|
Vector2 pos = uluaGetVector2Index( L, 2 );
|
|
|
|
GuiClearIconPixel( iconId, pos.x, pos.y );
|
|
|
|
return 0;
|
|
}
|
|
|
|
/*
|
|
> value = RL.GuiCheckIconPixel( int iconId, Vector2 pos )
|
|
|
|
Check icon pixel value
|
|
|
|
- Success return bool
|
|
*/
|
|
int lguiGuiCheckIconPixel( lua_State *L ) {
|
|
int iconId = luaL_checkinteger( L, 1 );
|
|
Vector2 pos = uluaGetVector2Index( L, 2 );
|
|
|
|
lua_pushboolean( L, GuiCheckIconPixel( iconId, pos.x, pos.y ) );
|
|
|
|
return 1;
|
|
}
|