omar/imgui: Release v1.30

Name: imgui

Owner: omar

Release: v1.30

Released: 2015-02-01

License: MIT

Release Assets:

Big update! Initialisation had to be changed. You don't need to load PNG data anymore. The new system gives you uncompressed texture data.

1/ This sequence:

const void* png_data;
unsigned int png_size;
ImGui::GetDefaultFontData(NULL, NULL, &png_data, &png_size);
// <Copy to GPU>

Became:

unsigned char* pixels;
int width, height;
// io.Fonts->AddFontFromFileTTF("myfontfile.ttf", 24.0f);  // Optionally load another font
io.Fonts->GetTexDataAsRGBA32(&pixels, &width, &height);
// <Copy to GPU>
io.Fonts->TexID = (your_texture_identifier);

2/ PixelCenterOffset has been removed and isn't a necessary setting anymore. Offset your projection matrix by 0.5 if you have rendering problems.

Please refer to the "API BREAKING CHANGES" section of ImGui.cpp for more details on the changes above.

  • Loading TTF files with stb_truetype.h.
  • We still embed a compressed pixel-perfect TTF version of ProggyClean for convenience.
  • Runtime font rendering is a little faster than previously.
  • You can load multiple fonts with multiple size inside the font atlas. Rendering with multiple fonts are still merged into a single draw call whenever possible.
  • The system handles UTF-8 and provide ranges to easily load e.g. characters for Japanese display.
  • Added PushFont() / PopFont().
  • Added Image() and ImageButton() to display your own texture data.
  • Added callback system in command-list. This can be used if you want to do your own rendering (e.g. render a 3D scene) inside ImGui widgets.
  • Added IsItemActive() to tell if last widget is being held / modified (as opposed to just being hovered). Useful for custom dragging behaviors.
  • Style: Added FrameRounding setting for a more rounded look (default to 0 for now).
  • Window: Fixed using multiple Begin/End pair on the same wnidow.
  • Window: Fixed style.WindowMinSize not being honored properly.
  • Window: Added SetCursorScreenPos() helper (WindowPos+CursorPos = ScreenPos).
  • ColorEdit3: clicking on color square change the edition. The toggle button is hidden by default.
  • Clipboard: Fixed logging to clipboard on architectures where va_list are passed by reference to vsnprintf.
  • Clipboard: Improve memory reserve policy for Clipboard / ImGuiTextBuffer.
  • Tooltip: Always auto-resize.
  • Tooltip: Fixed TooltigBg color not being honored properly.
  • Tooltip: Allow SetNextWindowPos() to be used on tooltips.
  • Added io.DisplayVisibleMin / io.DisplayVisibleMax to ease integration of virtual / scrolling display.
  • Added Set/GetVoidPtr in ImGuiStorage.
  • Added ColorConvertHSVtoRGB, ColorConvertRGBtoHSV, ColorConvertFloat4ToU32 helpers.
  • Added ImColor() inline helper to easily convert colors to packed 4x1 byte or 4x1 float formats.
  • Added io.MouseDrawCursor option to draw a mouse cursor for now (on systems that don't have one)
  • Examples: Added custom drawing app example for using ImDrawList api.
  • Lots of others fixes, tweaks and comments!

imgui_rounded_small

To top