Skip to content

farrer/farso

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Farso - A GUI toolkit

About

Farso is a graphical user interface written in C++ with OpenGL, Ogre3D (1.10+, 2.1 and 2.2) and SDL renderers.

Farso have the following widgets:

  • Button
  • CheckBox
  • ClickablePicture
  • ComboBox
  • Container
  • FileSelector
  • Grid
  • Label
  • LabelledPicture
  • Menu
  • Picture
  • ProgressBar
  • ScrollBar
  • ScrollText
  • Spin
  • StackTab
  • TextEntry
  • TextSelector
  • TreeView
  • Window

They could be defined by code or by a simple JSON file.

Farso is fully skinable and could be extended to support your own widgets.

Farso is DNT's GUI, being this version the active of DNT's Ogre3d port.

Some History

Farso is by far my oldest Free/Libre project, starting as a DOS multitasker GUI back in the late 90s (code from this old dummy learning-how-to-programming pascal era is at [https://sourceforge.net/projects/farso]). Back in 2005 it got its first major rewrite to C++ and was used on the former DNT project (code at src/gui folder of [https://sourceforge.net/projects/dnt/]). When rewriting DNT to Ogre3d instead of the old/buggy in-house OpenGL renderer, Farso got its last major rewrite, with lots of improvements and code clean-up / refactoring, which is hosted here.

Dependencies

Optional

SDL Renderer

OpenGL Renderer

Ogre3d Renderer

Ogre3d Example (not required for the library itself)

Same as Ogre3D renderer plus:

Building

Usually, you build with the following commands:

mkdir build
cd build
cmake ..
make
make install

Building for Android

To build for Android, the CMake command call must set the needed NDK variables:

cmake -DCMAKE_TOOLCHAIN_FILE=../CMakeModules/android.toolchain.cmake -DANDROID_NDK=path_to_Android_Ndk -DCMAKE_BUILD_TYPE=Release -DANDROID_ABI="armeabi-v7a" -DANDROID_NATIVE_API_LEVEL=12 ..

Change those parameters to your needs.

Options

There are some options that could be passed to CMake script:

  • FARSO_DEBUG -> Build the library with debugging symbols;
  • FARSO_STATIC -> Build a .a static library, instead of the shared one.

Some Visual

Clean Skin Scifi Skin Wyrmheart Skin Moderna Skin No Skin

Releases

No releases published

Packages

No packages published