Fixed backspace handling on MacOS (fixed https://github.com/ocornut/imgui/issues/2817).
Allow null view passing as parameter to ImGui_ImplOSX_NewFrame
This commit is contained in:
parent
bf746c4215
commit
378035c6ff
@ -13,5 +13,5 @@
|
|||||||
|
|
||||||
IMGUI_API bool ImGui_ImplOSX_Init();
|
IMGUI_API bool ImGui_ImplOSX_Init();
|
||||||
IMGUI_API void ImGui_ImplOSX_Shutdown();
|
IMGUI_API void ImGui_ImplOSX_Shutdown();
|
||||||
IMGUI_API void ImGui_ImplOSX_NewFrame(NSView *_Nonnull view);
|
IMGUI_API void ImGui_ImplOSX_NewFrame(NSView *_Nullable view);
|
||||||
IMGUI_API bool ImGui_ImplOSX_HandleEvent(NSEvent *_Nonnull event, NSView *_Nullable view);
|
IMGUI_API bool ImGui_ImplOSX_HandleEvent(NSEvent *_Nonnull event, NSView *_Nullable view);
|
||||||
|
@ -150,9 +150,12 @@ void ImGui_ImplOSX_NewFrame(NSView* view)
|
|||||||
{
|
{
|
||||||
// Setup display size
|
// Setup display size
|
||||||
ImGuiIO& io = ImGui::GetIO();
|
ImGuiIO& io = ImGui::GetIO();
|
||||||
const float dpi = [view.window backingScaleFactor];
|
if (view)
|
||||||
io.DisplaySize = ImVec2((float)view.bounds.size.width, (float)view.bounds.size.height);
|
{
|
||||||
io.DisplayFramebufferScale = ImVec2(dpi, dpi);
|
const float dpi = [view.window backingScaleFactor];
|
||||||
|
io.DisplaySize = ImVec2((float)view.bounds.size.width, (float)view.bounds.size.height);
|
||||||
|
io.DisplayFramebufferScale = ImVec2(dpi, dpi);
|
||||||
|
}
|
||||||
|
|
||||||
// Setup time step
|
// Setup time step
|
||||||
if (g_Time == 0.0)
|
if (g_Time == 0.0)
|
||||||
@ -250,7 +253,7 @@ bool ImGui_ImplOSX_HandleEvent(NSEvent* event, NSView* view)
|
|||||||
for (int i = 0; i < len; i++)
|
for (int i = 0; i < len; i++)
|
||||||
{
|
{
|
||||||
int c = [str characterAtIndex:i];
|
int c = [str characterAtIndex:i];
|
||||||
if (!io.KeyCtrl && !(c >= 0xF700 && c <= 0xFFFF))
|
if (!io.KeyCtrl && !((c >= 0xF700 && c <= 0xFFFF) || c == 127))
|
||||||
io.AddInputCharacter((unsigned int)c);
|
io.AddInputCharacter((unsigned int)c);
|
||||||
|
|
||||||
// We must reset in case we're pressing a sequence of special keys while keeping the command pressed
|
// We must reset in case we're pressing a sequence of special keys while keeping the command pressed
|
||||||
|
Loading…
Reference in New Issue
Block a user