@ -100,6 +100,8 @@ extern IMGUI_API ImGuiContext* GImGui; // Current implicit ImGui context pointe
# else
# else
# define IM_NEWLINE "\n"
# define IM_NEWLINE "\n"
# endif
# endif
# define IMGUI_DEBUG_LOG(FMT,...) printf("[%05d] " FMT, GImGui->FrameCount, __VA_ARGS__)
# define IM_STATIC_ASSERT(_COND) typedef char static_assertion_##__line__[(_COND)?1:-1]
# define IM_STATIC_ASSERT(_COND) typedef char static_assertion_##__line__[(_COND)?1:-1]
# define IM_F32_TO_INT8_UNBOUND(_VAL) ((int)((_VAL) * 255.0f + ((_VAL)>=0 ? 0.5f : -0.5f))) // Unsaturated, for display purpose
# define IM_F32_TO_INT8_UNBOUND(_VAL) ((int)((_VAL) * 255.0f + ((_VAL)>=0 ? 0.5f : -0.5f))) // Unsaturated, for display purpose
# define IM_F32_TO_INT8_SAT(_VAL) ((int)(ImSaturate(_VAL) * 255.0f + 0.5f)) // Saturated, always output 0..255
# define IM_F32_TO_INT8_SAT(_VAL) ((int)(ImSaturate(_VAL) * 255.0f + 0.5f)) // Saturated, always output 0..255
@ -146,6 +148,7 @@ IMGUI_API int ImStrlenW(const ImWchar* str);
IMGUI_API const ImWchar * ImStrbolW ( const ImWchar * buf_mid_line , const ImWchar * buf_begin ) ; // Find beginning-of-line
IMGUI_API const ImWchar * ImStrbolW ( const ImWchar * buf_mid_line , const ImWchar * buf_begin ) ; // Find beginning-of-line
IMGUI_API const char * ImStristr ( const char * haystack , const char * haystack_end , const char * needle , const char * needle_end ) ;
IMGUI_API const char * ImStristr ( const char * haystack , const char * haystack_end , const char * needle , const char * needle_end ) ;
IMGUI_API void ImStrTrimBlanks ( char * str ) ;
IMGUI_API void ImStrTrimBlanks ( char * str ) ;
IMGUI_API const char * ImStrSkipBlank ( const char * str ) ;
IMGUI_API int ImFormatString ( char * buf , size_t buf_size , const char * fmt , . . . ) IM_FMTARGS ( 3 ) ;
IMGUI_API int ImFormatString ( char * buf , size_t buf_size , const char * fmt , . . . ) IM_FMTARGS ( 3 ) ;
IMGUI_API int ImFormatStringV ( char * buf , size_t buf_size , const char * fmt , va_list args ) IM_FMTLIST ( 3 ) ;
IMGUI_API int ImFormatStringV ( char * buf , size_t buf_size , const char * fmt , va_list args ) IM_FMTLIST ( 3 ) ;
IMGUI_API const char * ImParseFormatFindStart ( const char * format ) ;
IMGUI_API const char * ImParseFormatFindStart ( const char * format ) ;
@ -291,6 +294,19 @@ enum ImGuiSeparatorFlags_
ImGuiSeparatorFlags_Vertical = 1 < < 1
ImGuiSeparatorFlags_Vertical = 1 < < 1
} ;
} ;
// Transient per-window ItemFlags, reset at the beginning of the frame. For child windows: inherited from parent on first Begin().
// This is going to be exposed in imgui.h when stabilized enough.
enum ImGuiItemFlags_
{
ImGuiItemFlags_AllowKeyboardFocus = 1 < < 0 , // true
ImGuiItemFlags_ButtonRepeat = 1 < < 1 , // false // Button() will return true multiple times based on io.KeyRepeatDelay and io.KeyRepeatRate settings.
ImGuiItemFlags_Disabled = 1 < < 2 , // false // [BETA] Disable interactions but doesn't affect visuals yet. See github.com/ocornut/imgui/issues/211
ImGuiItemFlags_NoNav = 1 < < 3 , // false
ImGuiItemFlags_NoNavDefaultFocus = 1 < < 4 , // false
ImGuiItemFlags_SelectableDontClosePopup = 1 < < 5 , // false // MenuItem/Selectable() automatically closes current Popup window
ImGuiItemFlags_Default_ = ImGuiItemFlags_AllowKeyboardFocus
} ;
// Storage for LastItem data
// Storage for LastItem data
enum ImGuiItemStatusFlags_
enum ImGuiItemStatusFlags_
{
{
@ -935,18 +951,9 @@ struct ImGuiContext
}
}
} ;
} ;
// Transient per-window flags, reset at the beginning of the frame. For child window, inherited from parent on first Begin().
//-----------------------------------------------------------------------------
// This is going to be exposed in imgui.h when stabilized enough.
// ImGuiWindow
enum ImGuiItemFlags_
//-----------------------------------------------------------------------------
{
ImGuiItemFlags_AllowKeyboardFocus = 1 < < 0 , // true
ImGuiItemFlags_ButtonRepeat = 1 < < 1 , // false // Button() will return true multiple times based on io.KeyRepeatDelay and io.KeyRepeatRate settings.
ImGuiItemFlags_Disabled = 1 < < 2 , // false // [BETA] Disable interactions but doesn't affect visuals yet. See github.com/ocornut/imgui/issues/211
ImGuiItemFlags_NoNav = 1 < < 3 , // false
ImGuiItemFlags_NoNavDefaultFocus = 1 < < 4 , // false
ImGuiItemFlags_SelectableDontClosePopup = 1 < < 5 , // false // MenuItem/Selectable() automatically closes current Popup window
ImGuiItemFlags_Default_ = ImGuiItemFlags_AllowKeyboardFocus
} ;
// Transient per-window data, reset at the beginning of the frame. This used to be called ImGuiDrawContext, hence the DC variable name in ImGuiWindow.
// Transient per-window data, reset at the beginning of the frame. This used to be called ImGuiDrawContext, hence the DC variable name in ImGuiWindow.
// FIXME: That's theory, in practice the delimitation between ImGuiWindow and ImGuiWindowTempData is quite tenuous and could be reconsidered.
// FIXME: That's theory, in practice the delimitation between ImGuiWindow and ImGuiWindowTempData is quite tenuous and could be reconsidered.
@ -1215,7 +1222,7 @@ namespace ImGui
inline ImGuiWindow * GetCurrentWindowRead ( ) { ImGuiContext & g = * GImGui ; return g . CurrentWindow ; }
inline ImGuiWindow * GetCurrentWindowRead ( ) { ImGuiContext & g = * GImGui ; return g . CurrentWindow ; }
inline ImGuiWindow * GetCurrentWindow ( ) { ImGuiContext & g = * GImGui ; g . CurrentWindow - > WriteAccessed = true ; return g . CurrentWindow ; }
inline ImGuiWindow * GetCurrentWindow ( ) { ImGuiContext & g = * GImGui ; g . CurrentWindow - > WriteAccessed = true ; return g . CurrentWindow ; }
IMGUI_API ImGuiWindow * FindWindowByName ( const char * name ) ;
IMGUI_API ImGuiWindow * FindWindowByName ( const char * name ) ;
IMGUI_API void FocusWindow ( ImGuiWindow * window ) ;
IMGUI_API void FocusWindow ( ImGuiWindow * window ) ; // FIXME: Rename to SetWindowFocus()
IMGUI_API void FocusFrontMostActiveWindowIgnoringOne ( ImGuiWindow * ignore_window ) ;
IMGUI_API void FocusFrontMostActiveWindowIgnoringOne ( ImGuiWindow * ignore_window ) ;
IMGUI_API void BringWindowToFront ( ImGuiWindow * window ) ;
IMGUI_API void BringWindowToFront ( ImGuiWindow * window ) ;
IMGUI_API void BringWindowToBack ( ImGuiWindow * window ) ;
IMGUI_API void BringWindowToBack ( ImGuiWindow * window ) ;
@ -1226,6 +1233,7 @@ namespace ImGui
IMGUI_API void SetWindowScrollX ( ImGuiWindow * window , float new_scroll_x ) ;
IMGUI_API void SetWindowScrollX ( ImGuiWindow * window , float new_scroll_x ) ;
IMGUI_API void SetWindowScrollY ( ImGuiWindow * window , float new_scroll_y ) ;
IMGUI_API void SetWindowScrollY ( ImGuiWindow * window , float new_scroll_y ) ;
IMGUI_API ImRect GetWindowAllowedExtentRect ( ImGuiWindow * window ) ;
IMGUI_API ImRect GetWindowAllowedExtentRect ( ImGuiWindow * window ) ;
IMGUI_API void SetCurrentFont ( ImFont * font ) ;
IMGUI_API void SetCurrentFont ( ImFont * font ) ;
inline ImFont * GetDefaultFont ( ) { ImGuiContext & g = * GImGui ; return g . IO . FontDefault ? g . IO . FontDefault : g . IO . Fonts - > Fonts [ 0 ] ; }
inline ImFont * GetDefaultFont ( ) { ImGuiContext & g = * GImGui ; return g . IO . FontDefault ? g . IO . FontDefault : g . IO . Fonts - > Fonts [ 0 ] ; }