@ -248,15 +248,15 @@
- 2015 / 05 / 27 ( 1.40 ) - removed the third ' repeat_if_held ' parameter from Button ( ) - sorry ! it was rarely used and inconsistent . Use PushButtonRepeat ( true ) / PopButtonRepeat ( ) to enable repeat on desired buttons .
- 2015 / 05 / 11 ( 1.40 ) - changed BeginPopup ( ) API , takes a string identifier instead of a bool . ImGui needs to manage the open / closed state of popups . Call OpenPopup ( ) to actually set the " open " state of a popup . BeginPopup ( ) returns true if the popup is opened .
- 2015 / 05 / 03 ( 1.40 ) - removed style . AutoFitPadding , using style . WindowPadding makes more sense ( the default values were already the same ) .
- 2015 / 04 / 13 ( 1.38 ) - renamed IsClipped ( ) to IsRectClipped ( ) . Kept inline redirection function ( will obsolete ) .
- 2015 / 04 / 13 ( 1.38 ) - renamed IsClipped ( ) to IsRectClipped ( ) . Kept inline redirection function until 1.50 .
- 2015 / 04 / 09 ( 1.38 ) - renamed ImDrawList : : AddArc ( ) to ImDrawList : : AddArcFast ( ) for compatibility with future API
- 2015 / 04 / 03 ( 1.38 ) - removed ImGuiCol_CheckHovered , ImGuiCol_CheckActive , replaced with the more general ImGuiCol_FrameBgHovered , ImGuiCol_FrameBgActive .
- 2014 / 04 / 03 ( 1.38 ) - removed support for passing - FLT_MAX . . + FLT_MAX as the range for a SliderFloat ( ) . Use DragFloat ( ) or Inputfloat ( ) instead .
- 2015 / 03 / 17 ( 1.36 ) - renamed GetItemBoxMin ( ) / GetItemBoxMax ( ) / IsMouseHoveringBox ( ) to GetItemRectMin ( ) / GetItemRectMax ( ) / IsMouseHoveringRect ( ) . Kept inline redirection function ( will obsolete ) .
- 2015 / 03 / 17 ( 1.36 ) - renamed GetItemBoxMin ( ) / GetItemBoxMax ( ) / IsMouseHoveringBox ( ) to GetItemRectMin ( ) / GetItemRectMax ( ) / IsMouseHoveringRect ( ) . Kept inline redirection function until 1.50 .
- 2015 / 03 / 15 ( 1.36 ) - renamed style . TreeNodeSpacing to style . IndentSpacing , ImGuiStyleVar_TreeNodeSpacing to ImGuiStyleVar_IndentSpacing
- 2015 / 03 / 13 ( 1.36 ) - renamed GetWindowIsFocused ( ) to IsWindowFocused ( ) . Kept inline redirection function ( will obsolete ) .
- 2015 / 03 / 13 ( 1.36 ) - renamed GetWindowIsFocused ( ) to IsWindowFocused ( ) . Kept inline redirection function until 1.50 .
- 2015 / 03 / 08 ( 1.35 ) - renamed style . ScrollBarWidth to style . ScrollbarWidth ( casing )
- 2015 / 02 / 27 ( 1.34 ) - renamed OpenNextNode ( bool ) to SetNextTreeNodeOpened ( bool , ImGuiSetCond ) . Kept inline redirection function ( will obsolete ) .
- 2015 / 02 / 27 ( 1.34 ) - renamed OpenNextNode ( bool ) to SetNextTreeNodeOpened ( bool , ImGuiSetCond ) . Kept inline redirection function until 1.50 .
- 2015 / 02 / 27 ( 1.34 ) - renamed ImGuiSetCondition_ * * * to ImGuiSetCond_ * * * , and _FirstUseThisSession becomes _Once .
- 2015 / 02 / 11 ( 1.32 ) - changed text input callback ImGuiTextEditCallback return type from void - - > int . reserved for future use , return 0 for now .
- 2015 / 02 / 10 ( 1.32 ) - renamed GetItemWidth ( ) to CalcItemWidth ( ) to clarify its evolving behavior
@ -1245,6 +1245,20 @@ ImU32 ImGui::ColorConvertFloat4ToU32(const ImVec4& in)
return out ;
}
ImU32 ImGui : : GetColorU32 ( ImGuiCol idx , float alpha_mul )
{
ImVec4 c = GImGui - > Style . Colors [ idx ] ;
c . w * = GImGui - > Style . Alpha * alpha_mul ;
return ImGui : : ColorConvertFloat4ToU32 ( c ) ;
}
ImU32 ImGui : : GetColorU32 ( const ImVec4 & col )
{
ImVec4 c = col ;
c . w * = GImGui - > Style . Alpha ;
return ImGui : : ColorConvertFloat4ToU32 ( c ) ;
}
// Convert rgb floats ([0-1],[0-1],[0-1]) to hsv floats ([0-1],[0-1],[0-1]), from Foley & van Dam p592
// Optimized http://lolengine.net/blog/2013/01/13/fast-rgb-to-hsv
void ImGui : : ColorConvertRGBtoHSV ( float r , float g , float b , float & out_h , float & out_s , float & out_v )
@ -1919,7 +1933,7 @@ void ImGui::ItemSize(const ImVec2& size, float text_offset_y)
window - > DC . CursorMaxPos . x = ImMax ( window - > DC . CursorMaxPos . x , window - > DC . CursorPosPrevLine . x ) ;
window - > DC . CursorMaxPos . y = ImMax ( window - > DC . CursorMaxPos . y , window - > DC . CursorPos . y ) ;
//window->DrawList->AddCircle(window->DC.CursorMaxPos, 3.0f, 0xFF0000FF , 4); // Debug
//window->DrawList->AddCircle(window->DC.CursorMaxPos, 3.0f, IM_COL32(255,0,0,255) , 4); // Debug
window - > DC . PrevLineHeight = line_height ;
window - > DC . PrevLineTextBaseOffset = text_base_offset ;
@ -3354,10 +3368,10 @@ void ImGui::Render()
const ImVec2 size = cursor_data . Size ;
const ImTextureID tex_id = g . IO . Fonts - > TexID ;
g . OverlayDrawList . PushTextureID ( tex_id ) ;
g . OverlayDrawList . AddImage ( tex_id , pos + ImVec2 ( 1 , 0 ) , pos + ImVec2 ( 1 , 0 ) + size , cursor_data . TexUvMin [ 1 ] , cursor_data . TexUvMax [ 1 ] , 0x30000000 ) ; // Shadow
g . OverlayDrawList . AddImage ( tex_id , pos + ImVec2 ( 2 , 0 ) , pos + ImVec2 ( 2 , 0 ) + size , cursor_data . TexUvMin [ 1 ] , cursor_data . TexUvMax [ 1 ] , 0x30000000 ) ; // Shadow
g . OverlayDrawList . AddImage ( tex_id , pos , pos + size , cursor_data . TexUvMin [ 1 ] , cursor_data . TexUvMax [ 1 ] , 0xFF000000 ) ; // Black border
g . OverlayDrawList . AddImage ( tex_id , pos , pos + size , cursor_data . TexUvMin [ 0 ] , cursor_data . TexUvMax [ 0 ] , 0xFFFFFFFF ) ; // White fill
g . OverlayDrawList . AddImage ( tex_id , pos + ImVec2 ( 1 , 0 ) , pos + ImVec2 ( 1 , 0 ) + size , cursor_data . TexUvMin [ 1 ] , cursor_data . TexUvMax [ 1 ] , IM_COL32 ( 0 , 0 , 0 , 48 ) ) ; // Shadow
g . OverlayDrawList . AddImage ( tex_id , pos + ImVec2 ( 2 , 0 ) , pos + ImVec2 ( 2 , 0 ) + size , cursor_data . TexUvMin [ 1 ] , cursor_data . TexUvMax [ 1 ] , IM_COL32 ( 0 , 0 , 0 , 48 ) ) ; // Shadow
g . OverlayDrawList . AddImage ( tex_id , pos , pos + size , cursor_data . TexUvMin [ 1 ] , cursor_data . TexUvMax [ 1 ] , IM_COL32 ( 0 , 0 , 0 , 255 ) ) ; // Black border
g . OverlayDrawList . AddImage ( tex_id , pos , pos + size , cursor_data . TexUvMin [ 0 ] , cursor_data . TexUvMax [ 0 ] , IM_COL32 ( 255 , 255 , 255 , 255 ) ) ; // White fill
g . OverlayDrawList . PopTextureID ( ) ;
}
if ( ! g . OverlayDrawList . VtxBuffer . empty ( ) )
@ -10048,6 +10062,12 @@ bool ImGui::IsRectVisible(const ImVec2& size)
return window - > ClipRect . Overlaps ( ImRect ( window - > DC . CursorPos , window - > DC . CursorPos + size ) ) ;
}
bool ImGui : : IsRectVisible ( const ImVec2 & rect_min , const ImVec2 & rect_max )
{
ImGuiWindow * window = GetCurrentWindowRead ( ) ;
return window - > ClipRect . Overlaps ( ImRect ( rect_min , rect_max ) ) ;
}
// Lock horizontal starting position + capture group bounding box into one "item" (so you can use IsItemHovered() or layout primitives such as SameLine() on whole group, etc.)
void ImGui : : BeginGroup ( )
{