awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
cycfi avatar

cycfi/elements

0
View on GitHub↗
3,702 stars·279 forks·C++·10 viewscycfi.github.io/elements↗

Elements

Elements is a C++ GUI library and component-based UI framework used for building desktop user interfaces. It features a retained-mode layout engine that manages the positioning, sizing, and layering of elements within a window.

The framework functions as a cross-platform window manager, handling application event loops and embedding graphical views into native platform windows. It allows for the creation of custom widgets by composing basic primitive elements and alignment wrappers.

The system supports responsive layout organization through the use of tiles, grids, and flows. It also provides capabilities for graphical component layering and auto-sizing text labels.

Features

  • C++ GUI Toolkits - Provides a C++ based cross-platform UI framework with windowing systems and widget hierarchies.
  • Cross-Platform Windowing Abstractions - Offers unified interfaces that abstract native windowing APIs for consistent display and input management.
  • UI Event Loops - Provides a continuous event loop that processes user input and manages application state updates.
  • Recursive Layout Measurement - Determines element positions and sizes by propagating constraints and dimensions through the component tree.
  • Application Window Managers - Manages application windows and the main event loop, supporting view embedding in platform windows.
  • Component Composition Primitives - Constructs specialized widgets by composing basic graphical building blocks like boxes and text labels.
  • Component-Based UI Frameworks - Provides a modular framework for building user interfaces through reusable components and nesting.
  • Composition Hierarchies - Implements a tree-based structure for nesting primitive elements to build complex user interfaces.
  • Retained-Mode Layouts - Features a retained-mode layout engine that manages the positioning and sizing of elements within a window.
  • Window Embedding - Enables hosting internal view hierarchies within native platform windows or external widget containers.
  • Drawing Layers - Supports organizing graphical elements into layers to manage depth and rendering order.
  • Composite UI Controls - Combines multiple basic elements like boxes and labels into complex, functional widgets.
  • Custom Widget Implementation - Allows for the definition of custom layout, event, and rendering logic for specialized UI components.
  • Responsive Grid Layouts - Uses grid-based structures to create interfaces that adapt fluidly across different screen sizes.
  • Adaptive UI Layouts - Implements interfaces that adapt based on screen size using grids and flows.
  • UI Component Layer Compositing - Implements techniques for stacking and layering UI components to manage relative positioning and visibility.
  • Alignment Wrapper Compositions - Arranges components using nesting, alignment wrappers, and margins to position elements relative to each other.
  • Game Engines - Lightweight modular GUI library.
  • Graphical User Interface - Lightweight modular GUI library.
  • Graphical User Interfaces - Lightweight, modular GUI library for fine-grained control.
  • GUI Frameworks - Lightweight and modular GUI library.

Star history

Star history chart for cycfi/elementsStar history chart for cycfi/elements

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Elements

Similar open-source projects, ranked by how many features they share with Elements.
  • therecipe/qttherecipe avatar

    therecipe/qt

    10,784View on GitHub↗

    This project provides a framework for building native graphical user interfaces that run consistently across desktop and mobile operating systems. It functions as a bridge that allows developers to construct complex application layouts and render high-performance visual elements by utilizing a native C++ widget toolkit. The framework enables the creation of responsive user interfaces through both traditional widget-based components and declarative markup languages. It employs a decoupled messaging system to connect interface components and uses a pre-compilation step to manage object introspe

    Goandroidasteroidoscross-platform-gui
    View on GitHub↗10,784
  • wjakob/nanoguiwjakob avatar

    wjakob/nanogui

    4,863View on GitHub↗

    nanogui is a native C++ toolkit for rendering interactive user interface components directly within an OpenGL graphics context. It functions as a cross-platform widget library and immediate-mode framework used to create windows, buttons, sliders, and input fields. The toolkit provides specialized capabilities for building technical interfaces, including real-time parameter control panels and custom tooling for graphics-heavy software. It ensures visual consistency across different operating systems and screen resolutions through DPI-aware coordinate scaling. The framework includes a constrai

    C++
    View on GitHub↗4,863
  • fyne-io/fynefyne-io avatar

    fyne-io/fyne

    27,941View on GitHub↗

    Fyne is a cross-platform graphical user interface toolkit for the Go programming language. It provides a comprehensive framework for building native applications that run on desktop, mobile, and web environments from a single codebase. The toolkit centers on a canvas-based rendering engine and a device-independent layout engine, ensuring that visual elements maintain consistent dimensions and behavior across diverse operating systems and screen densities. The project distinguishes itself through a reactive data-binding system that automatically synchronizes application state with interface co

    Goandroidcross-platformfyne
    View on GitHub↗27,941
  • ocornut/imguiocornut avatar

    ocornut/imgui

    73,875View on GitHub↗

    This project is an immediate-mode graphical user interface library designed for rapid development of tools and debugging interfaces. By generating UI geometry every frame through procedural code, it eliminates the need for persistent state synchronization between application data and the interface. It is primarily intended for integration into existing rendering pipelines, where it produces raw vertex buffers and draw commands that are agnostic to the underlying graphics API. The library distinguishes itself through a highly decoupled architecture that supports complex, dockable, and multi-vi

    C++apicplusplusframework
    View on GitHub↗73,875
See all 30 alternatives to Elements→

Frequently asked questions

What does cycfi/elements do?

Elements is a C++ GUI library and component-based UI framework used for building desktop user interfaces. It features a retained-mode layout engine that manages the positioning, sizing, and layering of elements within a window.

What are the main features of cycfi/elements?

The main features of cycfi/elements are: C++ GUI Toolkits, Cross-Platform Windowing Abstractions, UI Event Loops, Recursive Layout Measurement, Application Window Managers, Component Composition Primitives, Component-Based UI Frameworks, Composition Hierarchies.

What are some open-source alternatives to cycfi/elements?

Open-source alternatives to cycfi/elements include: therecipe/qt — This project provides a framework for building native graphical user interfaces that run consistently across desktop… wjakob/nanogui — nanogui is a native C++ toolkit for rendering interactive user interface components directly within an OpenGL graphics… fyne-io/fyne — Fyne is a cross-platform graphical user interface toolkit for the Go programming language. It provides a comprehensive… ocornut/imgui — This project is an immediate-mode graphical user interface library designed for rapid development of tools and… hoffstadt/dearpygui — DearPyGui is a GPU-accelerated, immediate-mode graphical user interface framework for Python. It provides a… vuejs/vue — Vue is a progressive, component-based JavaScript framework designed for building reactive user interfaces and…