Об этом проекте
Clay (C Layout) — это высокопроизводительная 2D-библиотека компоновки пользовательского интерфейса, написанная на C. Она предоставляет модель компоновки, подобную flexbox, для сложных адаптивных интерфейсов, включая перенос текста, прокручиваемые контейнеры и масштабирование с сохранением соотношения сторон. Библиотека распространяется в виде одного заголовочного файла без зависимостей и без привязки к стандартной библиотеке. Она использует статическую аренную память без malloc/free и поддерживает компиляцию в компактный модуль WebAssembly для использования в браузере. Clay использует вложенный декларативный синтаксис, подобный React, через макросы C, такие как CLAY(), CLAY_TEXT() и CLAY_ID(). Библиотека не зависит от рендерера, выводя отсортированный список примитивов рендеринга, которые могут быть скомпонованы в любом 3D-движке или скомпилированы в HTML. API включает обработку взаимодействия с указателем и наведения, прокручиваемые контейнеры, плавающие элементы, пользовательскую компоновку элементов, переходы, рендеринг с сохранением состояния, отсечение по видимости и инструменты отладки. Также упоминаются привязки для языков, отличных от C.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.