Lightweight cross platform C GUI (OpenGL)

I am looking for a lightweight cross-platform graphics library for various signal processing applications. ANSI-C must be statically linked to it and it matters. The finished application should have the same appearance on any platform as iPad, iPhone, Android, Ubuntu, Leopard, Windows, etc.

Qt is not suitable because it is C ++, too big and does not work on iOS devices. I am inclined towards the OpenGL-based graphics library, because OpenGL is supported by every modern target platform, and the OpenGL application will have the same look on every device.

Preferably, such a GUI should support form definitions using declarative semantics, for example. from C lines or from external text files.

+6
c android user-interface ios opengl-es
source share
7 answers

You can try the mess. It was written in C, and support was supported by EGL and GLX. http://www.clutter-project.org/

+10
source share

The Haxe language ( http://haxe.org/ ) allows you to write and compile OpenGL-enabled applications for many platforms (Android, iOS, BlackBerry, WindowsPhone HTML5, Linux, Windows 8, Mac OSX, ...) using one code base ... worth checking out. There are already some GUI libraries ( http://haxe.org/doc/libraries/gui ), and you can also write your own graphics library. To create your own graphics library, it would be useful to learn how to draw and animate things using HaxeNME ( http://haxenme.org ), which already includes basic things, such as text fields. FO-switches, checkboxes, etc., you will have to draw them or use / modify one of the existing GUI libraries to suit your needs. The advantage of using Haxe is that your application can run on many platforms.

Take a look at the showcase for HaxeNME-enabled applications: http://www.haxenme.org/showcase/ .

+3
source share

A good project that you all should know about, Kivy . It is an open source cross-platform programming language for building OpenGL-enabled applications on Linux, Windows, MacOSX, Android, and IOS. http://kivy.org

It comes with its own widget toolkit for creating user interfaces so that you can have the same interface on all platforms and support multi-touch. This is better than writing an application in PhoneGap or Appcelerator (HTML5 and JavaScript still have ways before performance is as good as native applications). Using Kivy, you can create applications that work just as well as native applications for all platforms.

+2
source share

What about GTK? It has been ported to the linux framebuffer and exists for Windows. I'm not sure how much effort it will take to migrate to the framebuffer in the embedded environment.

+1
source share

Try using the UI i Labs USwish UI for Android.

This is a cross-platform user interface that runs on most operating systems. These are C and C ++ with extremely fast software and hardware rendering.

www.youilabs.com

+1
source share
  • libnui is the best approach, in my opinion, it uses css Philosophy.but, but it is not in active contribution.
  • kivy is a good tool, but you need to embed python.h with your application, which will increase the size of your application (default is 40M android).
  • qt is a good utility, but performance is a bit slow compared to other tools, and its license is not so cheap for commercial mobile applications. (GPL v3)
  • Juce is another solution, but his gui api is not mature, I think.

My suggestion: it is better to use C ++ for a cross-platform business model such as WebServer, and use a GUI for a specific platform. see this video https://www.youtube.com/watch?v=ZcBtF-JWJhM and look at this repo: https://github.com/libmx3/mx3 hope this makes sense to you. :)

0
source share

I would recommend Cocos 2d-x (C ++, OpenGL ES 2.0, open source, fast and with a great graphics library containing many classes - windows, buttons, scrolling, lists, etc.). Its cross-platform C ++ platform for Android, iOS, Win32, OSX and Linux (mainly used for games, but works well for simple user interface applications) By the way, it has a visual editor for customizing the user interface

cocos2d-x.org

0
source share

All Articles