@ -155,6 +155,7 @@ static inline ImVec2 ImFloor(const ImVec2& v)
static inline float ImDot ( const ImVec2 & a , const ImVec2 & b ) { return a . x * b . x + a . y * b . y ; }
static inline ImVec2 ImRotate ( const ImVec2 & v , float cos_a , float sin_a ) { return ImVec2 ( v . x * cos_a - v . y * sin_a , v . x * sin_a + v . y * cos_a ) ; }
static inline float ImLinearSweep ( float current , float target , float speed ) { if ( current < target ) return ImMin ( current + speed , target ) ; if ( current > target ) return ImMax ( current - speed , target ) ; return current ; }
static inline ImVec2 ImMul ( const ImVec2 & lhs , const ImVec2 & rhs ) { return ImVec2 ( lhs . x * rhs . x , lhs . y * rhs . y ) ; }
// We call C++ constructor on own allocated memory via the placement "new(ptr) Type()" syntax.
// Defining a custom placement new() with a dummy parameter allows us to bypass including <new> which on some platforms complains when user has disabled exceptions.
@ -873,6 +874,7 @@ namespace ImGui
// Shade functions
IMGUI_API void ShadeVertsLinearColorGradientKeepAlpha ( ImDrawVert * vert_start , ImDrawVert * vert_end , ImVec2 gradient_p0 , ImVec2 gradient_p1 , ImU32 col0 , ImU32 col1 ) ;
IMGUI_API void ShadeVertsLinearAlphaGradientForLeftToRightText ( ImDrawVert * vert_start , ImDrawVert * vert_end , float gradient_p0_x , float gradient_p1_x ) ;
IMGUI_API void ShadeVertsLinearUV ( ImDrawVert * vert_start , ImDrawVert * vert_end , const ImVec2 & a , const ImVec2 & b , const ImVec2 & uv_a , const ImVec2 & uv_b , bool clamp ) ;
} // namespace ImGui