All Projects → mlomb → flexui

mlomb / flexui

Licence: MIT license
A light UI for C++ with XML and CSS support

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to flexui

React Three Flex
💪📦 Flexbox for react-three-fiber
Stars: ✭ 764 (+3538.1%)
Mutual labels:  flex, flexbox
Flexy
Flexy is minimal CSS framework made with Flex
Stars: ✭ 114 (+442.86%)
Mutual labels:  flex, flexbox
Sprite Flex Layout
grid-layout is a layout engine which implements flex, can use in canvas/node-canvas
Stars: ✭ 15 (-28.57%)
Mutual labels:  flex, flexbox
sass-flexbox
Manage Flexbox in Sass easily.
Stars: ✭ 40 (+90.48%)
Mutual labels:  flex, flexbox
Flexulator
A visual flexbox space distribution calculator
Stars: ✭ 171 (+714.29%)
Mutual labels:  flex, flexbox
Waffle Grid
An easy to use flexbox grid system.
Stars: ✭ 602 (+2766.67%)
Mutual labels:  flex, flexbox
Infinity Css Grid
Fluid Flex Solution for making infinite grid columns.
Stars: ✭ 112 (+433.33%)
Mutual labels:  flex, flexbox
React Flexview
A powerful React component to abstract over flexbox and create any layout on any browser
Stars: ✭ 276 (+1214.29%)
Mutual labels:  flex, flexbox
Flexible Grid
Flexible grid layouts to get you familiar with building within the flexible grid system.(HTML, CSS, SASS, SCSS)
Stars: ✭ 154 (+633.33%)
Mutual labels:  flex, flexbox
React Flexa
Responsive React Flexbox (CSS Flexible Box Layout Module) grid system based heavily on the standard CSS API.
Stars: ✭ 120 (+471.43%)
Mutual labels:  flex, flexbox
Katana
Katana is CSS Layout System made with Flexbox
Stars: ✭ 57 (+171.43%)
Mutual labels:  flex, flexbox
flexboxes
CSS flexbox framework with pure flexbox grid ability
Stars: ✭ 27 (+28.57%)
Mutual labels:  flex, flexbox
Lbrnmeituan
ReactNative 仿美团项目
Stars: ✭ 84 (+300%)
Mutual labels:  flex, flexbox
Flex.css
flex.css is declarative layout which is compatible with wechat, UC, webview and other main-stream mobile browser and surpports react, vue, angular.
Stars: ✭ 1,537 (+7219.05%)
Mutual labels:  flex, flexbox
Core Layout
Flexbox & CSS-style Layout in Swift.
Stars: ✭ 215 (+923.81%)
Mutual labels:  flex, flexbox
react-styled-flexbox
A Flexbox React component harnessing the power of styled-components
Stars: ✭ 30 (+42.86%)
Mutual labels:  flex, flexbox
language-grammars
Syntax highlighting for ABNF/BNF/EBNF, Yacc, and other language-related languages.
Stars: ✭ 14 (-33.33%)
Mutual labels:  flex
how-to-css
howtocss.dev
Stars: ✭ 48 (+128.57%)
Mutual labels:  flexbox
chestnut.vim
Minimal syntax highlighting for 16-color terminals.
Stars: ✭ 31 (+47.62%)
Mutual labels:  light
flexbox-playground
A resource for visually understanding flexbox
Stars: ✭ 53 (+152.38%)
Mutual labels:  flexbox

flexui

Still in very very early development, for now just prototyping

A light UI for C++ with XML and CSS support.

Example

<Element class="container">
    <Text id="some">Some text:</Text>
    <Button><Text>A button</Text></Button>
</Element>
* {
    font-family: "Roboto-Regular.ttf";
    font-size: 24px;
}
.container {
    background-color: white;
    color: black;

    height: 90px;
    padding: 25px;
    align-items: center;
}
#some {
    margin-right: 5px;
}
Button {
    background-color: #1266f1;
    color: white;

    align-items: center;
    padding: 5px;

    border-color: #0d6efd;
    border-width: 1px;
    border-radius: 4px;

    cursor: pointer;
}
Button:hover {
    /* ... */
}

Render using OpenGL (and GLFW)
docs/render.png

Demo

Online demo available here: https://mlomb.github.io/flexui
Note that the demo is a build of the master branch for now, it may contain anything I'm currently working on (and probably broken)

Goals

  • Support a subset of CSS
  • Support XML for building elements
  • Fully based on a Flex layout engine (the same engine used by React Native, Yoga Layout)
  • All lists to be virtualized out of the box
  • Be render agnostic, the library should only generate vertices and indices
  • Be system agnostic, the library should not handle window creation or events

Non-goals

  • Be a browser
  • Implement a script layer (no JS or similar)

Dependencies

We may require harfbuzz-ng for complex text later on.

License

MIT, see LICENSE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].