Quick Links: Download Gideros Studio | Gideros Documentation | Gideros community chat | DONATE
Gideros 2023.5 Released — Gideros Forum

Gideros 2023.5 Released

hgy29hgy29 Maintainer
edited June 2023 in Announcements
Again another bugfix/improvement release, Perhaps the biggest update this time is about ImGui. Thanks @rrraptor for your continued work on ImGui support for Gideros.

Improvements

[export/html5] Report modifiers in mouse wheel event
[export/android] Update to NDK r25, gradle 7.5, SDK 19 (KitKat) is now the minimum
[export/apple] Report modifiers in various calls
[plugin/imgui] Update to 1.89.5
[plugin/imgui] Added touch gesture detector (WIP)

Fixes

[studio] Fixed editor global zoom
[gfx/font] Fix computations in composite fonts
[audio] Fix an issue when playing empty audio files
[audio] Move destructor out of luau GC
[plugin/imgui] Fix font atlas update

Download it from here:
http://giderosmobile.com/download
Tagged:
+1 -1 (+7 / -0 )Share on Facebook

Comments

  • MoKaLuxMoKaLux Member
    AWESOME :)
    Thank you for the hard work guys <3
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
  • piepie Member
    edited May 2023
    I feel like this should be placed in these release notes: I have to update some stuff now :smile:

    thank you @rrraptor for the updates


    ImGui Changelog:
    • Renamed ImGui:captureMouseFromApp() and ImGui:captureKeyboardFromApp() to ImGui:setNextFrameWantCaptureMouse() and ImGui:setNextFrameWantCaptureKeyboard()
    • Renamed ImGui:pushAllowKeyboardFocus()/ImGui:popAllowKeyboardFocus() to ImGui:pushTabStop()/ImGui:popTabStop()

    • Added IO:setAppAcceptingEvents([accepting_events = true])
    • Added ImGui.HoveredFlags_NoNavOverride flag to ImGui:isItemHovered(flags) & ImGui:isWindowHovered(flags)
    • Added ImGui:setNextWindowScroll(x, y)
    • Added ImGui.InputTextFlags_EscapeClearsAll flag for "inputText" widget (first press on Escape clears text if any, second press deactivate the InputText())
    • Added "isItemHovered" flags: ImGui.HoveredFlags_DelayNormal & ImGui.HoveredFlags_DelayShort, allowing to introduce a shared delay for tooltip idioms
    • Added "isItemHovered" flag: ImGui.HoveredFlags_NoSharedDelay to disable sharing delays between items, so moving from one item to a nearby one will requires delay to elapse again.
    • Added ImGui:getItemID() It is not often expected that you would use this, but it is useful for ImGui:shortcut() and upcoming owner-aware input functions which wants to be implemented with public API.
    • Added ImGui:shortcut(keyChord [, owner_id = 0, ImGuiInputFlags = 0]) (keyChord: an ImGuiKey optionally OR-ed with one or more ImGuiMod_XXX values (ImGuiKey | ImGuiMod_XXX))
    • Added ImGui:setShortcutRouting(keyChord [, owner_id = 0, ImGuiInputFlags = 0]) (disable CTRL + TAB combo: ImGui:setShortcutRouting(ImGui.Mod_Ctrl | ImGui.Key_Tab, ImGui.KeyOwner_None))
    • Added mouse key aliases: ImGui.Key_MouseLeft, ImGui.Key_MouseRight, ImGui.Key_MouseMiddle, ImGui.Key_MouseX1, ImGui.Key_MouseX2, ImGui.Key_MouseWheelX, ImGui.Key_MouseWheelY
    • Added ImGui.ItemFlags_NoTabStop to use with ImGui:pushItemFlag(flag, bool)
    • Added ImGui:setItemKeyOwner(keyCode [, ImGuiInputFlags = 0])

    • Added ImGui:setKeyOwner(keyCode, owner_id, [, ImGuiInputFlags = 0])
    • Added new widget ImGui:separatorText(label)
    • Added new styles:
    • Style:setSeparatorTextBorderSize(number)
    • number = Style:getSeparatorTextBorderSize()

    • Style:setSeparatorTextAlign(x, y)
    • x, y = Style:getSeparatorTextAlign()

    • Style:setSeparatorTextPadding(x, y)
    • x, y = Style:getSeparatorTextPadding()

    • Enums for push/popStyle: ImGui.StyleVar_SeparatorTextBorderSize, ImGui.StyleVar_SeparatorTextAlign, ImGui.StyleVar_SeparatorTextPadding to use with ImGui:pushStyleVar()
    • Added hold gesture (touch only) to trigger right mouse button. Off by default, to enable/disable use:
    • ImGui:setTouchGesturesEnabled(bool)
    • bool = ImGui:isTouchGesturesEnabled()
    • Changed ImGui:imageButton(texture, w, h [, padding = -1, tint_color = 0xffffff, tint_alpha = 1, border_color = 0xffffff, border_alpha = 0]) to ImGui:imageButton(str_id, texture, w, h [, tint_color = 0xffffff, tint_alpha = 1, border_color = 0xffffff, border_alpha = 0])
    • Removed ImGui:openPopupContextItem()
    +1 -1 (+2 / -0 )Share on Facebook
  • keszeghkeszegh Member
    yes, indeed E.g. imageButton made my app crash with new version,
    https://github.com/MultiPain/Gideros_ImGui/
    needs to be updated too otherwise it is hard to find the right syntax.

    thanks for the great work.
  • keszeghkeszegh Member
    @rrraptor why was the padding option removed from imageButton?

    "Changed ImGui:imageButton(texture, w, h [, padding = -1, tint_color = 0xffffff, tint_alpha = 1, border_color = 0xffffff, border_alpha = 0]) to ImGui:imageButton(str_id, texture, w, h [, tint_color = 0xffffff, tint_alpha = 1, border_color = 0xffffff, border_alpha = 0])"

    for all my imagebuttons padding was set to 0 but now it is impossible or much more complicated to set it with pushstyle before each of them (if that works, i did not check).
  • piepie Member
    edited May 2023
    Unfortunately I had to revert to gideros 2023.04 because I had a new app release to publish (which I'd say works as it should built on 2023.04).

    My app worked well inside gideros player on 2023.5 but crashed when built as aab/apk as soon as it reached a couple of screens with almost nothing in common except "lists" inside child windows: one shows a list of buttons, the other shows a clipped table through ImGuiListClipper.

    This is what I get from logcat on one of the screens if it means anything to help narrowing the issue:

    com.giderosmobile.android.player.LuaException: [9021] jni/../../Common/imgui_src/imgui.cpp: 0 && "Code uses SetCursorPos()/SetCursorScreenPos() to extend window/parent boundaries. Please submit an item e.g. Dummy() to validate extent."

    stack traceback:

    [string "main.lua"]:2605: in function DrawWindow - here I have clipper:beginClip(number)

    Unless this gives you some clues I will try to reproduce the issue in a small ad hoc project in the next days.


    [update: after rebooting my app crashed even in 2023.5 players with the same error, which already contain the solution but I was too tired to understand it yesterday evening (https://github.com/ocornut/imgui/issues/5548).
    In short, for future reference: if you are using SetCursorPos or SetCursorScreenPos with this release of imgui you might need to add a dummy element like this one:
    	ui:setCursorPosY(label_h*1.1)
    	ui:dummy(0,0) --just add this line and the error disappears
     
    	clipper:beginClip(number) --the crash was signaled here, but clipper is innocent.
    the only thing I still am not sure to understand is why there are many other situations where I use SetCursorPos but I don't need to add a dummy element.. I can guess that happens because I already stay inside screen boundaries.. so maybe it's safer to add this dummy line after every setCursorPos call by default :#
    ]
    Thank you
  • rrraptorrrraptor Member
    edited May 2023
    keszegh said:

    yes, indeed E.g. imageButton made my app crash with new version,
    https://github.com/MultiPain/Gideros_ImGui/
    needs to be updated too otherwise it is hard to find the right syntax.

    thanks for the great work.

    I'll do it soon
    pie said:

    so maybe it's safer to add this dummy line after every setCursorPos call by default

    I dont want to do this because this plugin is a binding (with some additions e.g. image buttons), but I can add new function with different name if you really need this :)

    Likes: MoKaLux

    +1 -1 (+1 / -0 )Share on Facebook
  • piepie Member
    @rrraptor thank you no need to do it, I added it here and there and it seems it was enough to let it work as it was. :)
    I was asking if it is something we should add by default when using setCursorPos because it's not clear to me what dummy does exactly, but I can tell that using it everywhere mess up my layout, so it's fine to know that we need to use it when that error is triggered. Thanks again!

    Likes: MoKaLux

    +1 -1 (+1 / -0 )Share on Facebook
  • YanYan Member
    Yay! Cool!

    Likes: MoKaLux

    vk.com/yan_alex
    +1 -1 (+1 / -0 )Share on Facebook
  • YanYan Member
    edited May 2023
    Exe Installer not starting on my Windows 10 22H2 Started after a while ...
    vk.com/yan_alex
  • rrraptorrrraptor Member
    edited June 2023
    Updated ImGui
    Added ImGuiTextFilter
    Added caching for plot widgets
    Added "ImGui:getItemRect()"
    Added missing "ImGui:imageButtonUV()"
    Added "ImGui:scrollWhenDragging()"
    ImGui version 1.89.5 -> 1.89.6

    Docs updated
    https://github.com/MultiPain/Gideros_ImGui/tree/master

    Likes: MoKaLux, pie, keszegh, hgy29

    +1 -1 (+4 / -0 )Share on Facebook
  • piepie Member
    Whoah thank you @rrraptor

    Likes: MoKaLux

    +1 -1 (+1 / -0 )Share on Facebook
Sign In or Register to comment.