UI utilities - Toolbar buttons can be used as toggles
This commit is contained in:
parent
382138e5d2
commit
b284c2ecc2
2 changed files with 15 additions and 2 deletions
|
@ -38,12 +38,24 @@ bool ImGui::ToolbarButton(
|
|||
char const* const string ,
|
||||
ImVec2 const& size ,
|
||||
char const* const tooltip ,
|
||||
bool enabled ) noexcept
|
||||
bool enabled ,
|
||||
bool toggled ) noexcept
|
||||
{
|
||||
if ( !enabled ) {
|
||||
PushDisabled( );
|
||||
}
|
||||
|
||||
if ( toggled ) {
|
||||
PushStyleColor( ImGuiCol_Border , 0x7fffffff );
|
||||
PushStyleColor( ImGuiCol_BorderShadow , 0 );
|
||||
PushStyleVar( ImGuiStyleVar_FrameBorderSize , 1 );
|
||||
}
|
||||
const bool rv{ Button( string , size ) };
|
||||
if ( toggled ) {
|
||||
PopStyleVar( );
|
||||
PopStyleColor( 2 );
|
||||
}
|
||||
|
||||
if ( !enabled ) {
|
||||
PopDisabled( );
|
||||
} else if ( tooltip && IsItemHovered( ) ) {
|
||||
|
|
|
@ -28,7 +28,8 @@ namespace ImGui {
|
|||
char const* const string ,
|
||||
ImVec2 const& size ,
|
||||
char const* const tooltip = nullptr ,
|
||||
bool enabled = true ) noexcept;
|
||||
bool enabled = true ,
|
||||
bool toggled = false ) noexcept;
|
||||
|
||||
/*--------------------------------------------------------------------*/
|
||||
|
||||
|
|
Loading…
Reference in a new issue