Elements C++ GUI Library

栏目: IT技术 · 发布时间: 3年前

内容简介:Elements is a lightweight, fine-grained, resolution independent, modular GUI library. Elements is designed with these requirements in mind:

Elements C++ GUI Library Elements C++ GUI library

Elements C++ GUI Library

Introduction

Elements is a lightweight, fine-grained, resolution independent, modular GUI library. Elements is designed with these requirements in mind:

  1. It should be open source with a liberal, non-viral license.
  2. It should be usable in any application and should play well with other GUI libraries and frameworks.
  3. Corollary to the second requirement is that it can also be used to develop plugins. It should not own the event loop and should be able to co-exist with components within a plugin host such as VST and AU.
  4. It should be resolution independent and allow for HDPI displays.
  5. Should not rely on a “visual” GUI editor or code generator.
  6. It should have a declarative API using modern C++. Declarative C++ code tells you what rather than how (imperative). The GUI should be declared in C++ code.

Elements, is extremely lightweight… and modular. You compose very fine-grained, flyweight “elements” to form deep element hierarchies using a declarative interface with heavy emphasis on reuse.

Status

Please take note that Elements is still very much in flux as we are inching closer towards a version 1.0 release. The API and code is still undergoing continuous changes, and for that matter, Elements is not yet "production ready". But that should not prevent you from using Elements now! It is already in a very usable form, and more people using it will ultimately make it more robust when bugs are reported and fixed. API and usability matters and I very much welcome suggestions and contributions. Hey, this is an open source project! If you like the design, concepts and ideas behind Elements, I very much welcome collaboration.

News

  • 22 June 2020: Removed dependency on Boost. This requires some API changes to the app with additional arguments. See examples.
  • 26 May 2020: Introducing the Artist 2D Canvas Library . The Artist library will eventually replace Element's 2d canvas implementation.
  • 23 May 2020: Work in progress notebook gallery factory ( notebook branch).
  • 8 April 2020: Simplified installation (Infra and Json are now header-only submodules)
  • 11 March 2020: Added Layout documentation .
  • 3 March 2020: Added Design Aspects documentation .
  • 23 February 2020: Setup and Installation guide updated for Windows and Linux.
  • 22 February 2020: Improved font support
  • 01 September 2019: Linux port completed
  • 12 August 2019: Windows port completed

Documentation

Documentation is work in progress. Stay tuned...

  1. Gallery
  2. Setup and Installation
  3. Design Aspects
  4. Layout

About the Author

Joel got into electronics and programming in the 80s because almost everything in music, his first love, is becoming electronic and digital. Since then, he builds his own guitars, effect boxes and synths. He enjoys playing distortion-laden rock guitar, composes and produces his own music in his home studio.

Joel de Guzman is the principal architect and engineer at Cycfi Research and a consultant at Ciere Consulting . He is a software engineer specializing in advanced C++ and an advocate of Open Source. He has authored a number of highly successful Open Source projects such as Boost.Spirit , Boost.Phoenix and Boost.Fusion . These libraries are all part of the Boost Libraries , a well respected, peer-reviewed, Open Source, collaborative development effort.

Copyright (c) 2014-2020 Joel de Guzman. All rights reserved. Distributed under the MIT License


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

锦绣蓝图

锦绣蓝图

[美] 沃德科 (Christina Wodtke)、[美] 戈夫拉 (Austin Govella) / 蔡芳 / 人民邮电出版社 / 2009-11-01 / 59.00

Web 2.0和社会化大趋势下,你的网站发展喜人,但是问题也接踵而来:信息变得越来越庞杂无序,业务流程愈加复杂,搜索和导航越来越难,用户对使用体验的要求也越来越高……怎么办? 作者非常通俗易懂地讲述了如何规划易用的网站及其背后的信息架构原理。首先介绍了建立信息架构的八项基本原则,然后重点强调了组织系统和元数据在信息架构中的作用,并指出设计搜索和导航需要考虑的问题和方法,另外还补充了当今热门的......一起来看看 《锦绣蓝图》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具