Skip to content

EKG 1.1.0 19/01/24

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 10 Oct 23:34
· 18 commits to version-core since this release

'

EKG 1.1.0 19/01/24

News:
-- Added ekg::stack::find<t>(std::string_view tag) for find UI objects in a stack.
-- Added ekg::dock::bind feature flag to the Extentnize, which do not increase the dimension and stand stop unless next dock is not ekg::dock::bind.
-- Fixed a glitch where the addresed value was not clamped in slider widget.
-- Fixed a glitch where the item hover attr flag was being spammed if scrolling fast.
-- New lshift/rshift+mouse-wheel input bind to do horizontal scrolling (scroll widget, textbox widget, listbox widget, etc).
-- Fixed a glitch where the resize action was dragging the frame if top or left, also resizing unproportionally both axis if window left/top corner is hit.
-- Fixed the scroll issue randomly stopping, the issue was happening due the high frequency not totally clean, then not letting a new scroll happens.
-- Fixed a bug where the listbox was not scrolling if previously another widget was being hovered. Solution: Added a small focus state to listbox.
-- Fixed the scrolling timeout. Now it is working smooth.
-- ekg::dock::none option to the text in slider.
-- ekg::layout::extent now an type object ekg::layout::extent_t, plus two new externs (ekg::layout::v_extent & ekg::layout::h_extent).
-- Added the left/right corners option to text in slider.
-- Totally deprecated the dynamic range, due the insanely unsafe issues, now it is type-specification-based (you must invoke f32 to float, i64 to uint64 but you are able to ownership infer type safety).
-- ekg::string_float64_precision added for double/float64.
-- Fixed memory issues from ekg::value_t<t, s> but I do not believe it is totally safe, God my brain can not figure what must do.
-- Added box option to ekg::value_t<t, s> (I know it is not how burrow and box from Rust works, just a stupid name).
-- Dynamic type infer in ekg::slide<t> call.
-- Renamed uint16_t (flags) to ekg::flags.
-- Deprecated immut widgets (I do not think we should do this for now).
-- New smooth scrolling.
-- New standart dark-pinky theme scheme colors.
-- New standart light-pinky theme scheme colors.
-- New theme system, mapped and scheme-based type.
-- Now focus items on listbox does not work (no state change) when is not being interacted (hovered).
-- Added typing state for textbox, instead of using state directly.
-- Fixed a bug where the glyph that is not sampled returns glyph width size zero, which broken some widgets when is being calculated text width, now EKG get-once a wsize and map the new glyph on width calculation section (the rendering is also used to map the new glyph yet).
-- Fixed a bug where the index header dragged is the same as the original (same it hover some header).
-- Solved the tchup tchup on listbox header target (imagine a extra-offset added for no reason on header resize).
-- Added horizontal resize feature to listbox.
-- Fixed listbox being resized breaking the horizontal scroll (due the size calculations be wrong).
-- Fixed the unscrollable listbox when starts for the first time.
-- Fixed listbox headers together when a item was open.
-- Fixed scrollbar embedded not excluding if was not enable a scroll direction.
-- Fixed a glitch where the latest widget was not adding the extent if widget did not have flag ok --- ekg::dock::next ---.
-- Listbox highlight optimized.
-- Removed useless text width condition of button for set the width.
-- Listbox performance increase for resize & events (highlight, press, open etc).
-- Fixed pixel-unuscaled from font face size, now the text height is set to the specified font face size.
-- Moved std::vector<t> extends to ekg::value_t<t> in listbox and textbox.
-- Fixed pixel imperfect on scrolling and on all places.
-- Removed trash layout service.
-- Fixed fill pixel imperfect sizes.
-- New top-level frame feature, now you can have a top-level frame which bypass the drag action, dragging the top-level frame instead of low-level frame.
-- Performance improved, new redraw entire GUI flag way: moved to ekg::ui::display.
-- Ownership valuable memory address mapping to literal any-widget content.
-- Dynamic glyph char data, now EKG can render any type of char increasing the amount of mapped UTF-32 chars code.
-- Emoji(s) support on font rendering.
-- Each widget with action task when an interaction is fired.
-- Each widget with layer-system, now you can insert GPU samplers to each layer of a widget.
-- Sampler GPU object working.
-- New key cross-interface for IO serialized events.
-- GLFW3 interface support.
-- Added column header font size and align for listbox.
-- Fixed break-line decode: ekg::utf_decode was not emplacing back at 0 pos.
-- Fixed small pixel-escape from rendering, any non-concave draw when reached zero was forcing generate one pixel fragment, so it was rendering a small pixel.
-- Little optmization in ekg::utf_decode (break-line string decode to a vector of strings).
-- - or forced d-var sequentially.
-- - An else-if/elif condition that first match windows, android, and linux;
-- CMake new features and d-vars: EKG_FORCE_WINDOWS, EKG_FORCE_ANDROID and EKG_FORCE_LINUX:
-- Removed unused features-functions/methods.
-- Fixed slider glitch/broken.
-- Keybinds and special keys, little optimized.
-- Cross-platform API now contains a serialized event type.
-- State-based for abstract UI elements.
-- Performance boost excluding mapped scissors.
-- Added OpenGL RHI (Rendering-Hardware Interface).
-- Added SDL runtime interface.
-- Internal code refactored, removed useless headers and not-profile conduct follow code.
-- New interface runtime system for platform X lib and RHI (Rendering-Hardware Interface) for GPU API.
-- New initialization system object-state based.


For complete previously released logs, check here.

'