Who is Inti?
Inti is the Inca sun-god, as well as their state-god and ancestor. He is a son of the supreme creator-god Viracocha, and with his wife the moon goddess Mama Quilla, he is the father of the legendary first Inca Manco Capac I and of Mama Ocllo the Inca mother goddess. The ruling Inca was considered to be the representative of Inti on earth. He is portrayed as a golden disc with a human face.
Inti and his wife were regarded as benevolent deities. According to an ancient Inca myth, Inti taught his son Manco Capac and his daughter Mama Ocllo the arts of civilization and sent them to the Earth to instruct mankind in what they had learned. Inti is celebrated even today in Peru during the Festival of Inti Raimi in Cuzco where an Inca drama related to the Sun god is re-enacted.
What is GTK+?
GTK+ is a powerful graphical user interface library originally designed for the Linux platform. Written completely in C, it comprises a collection of graphical objects, such as buttons, menus, dialogs and the function calls needed to implement them. The graphical objects are known as widgets and the collection of widgets is known as the GIMP toolkit or the GTK+ widget set.
What is Inti?
Inti is a C++ language binding (wrapper) for GTK+. There are several other C++ language bindings available for GTK+, such as:
There are other language bindings for GTK+, including C#, Java, Objective-C, Guile, Perl and PyGtk. You can find more information on these and others in the bindings page on the GTK+ web site.
What are the goals of the Inti project?
The main goal for the Inti project is to implement a simple, fast and easy to use C++ interface that exposes the GTK+ programming paradigm so programmers can continue use the concepts they're already familiar with, without compromising on any essential C++ features.
Some other goals of the project are:
What is the relationship between Inti and GTK+?
GTK+ is a C toolkit that comprises several component libraries. These include:
Why use Inti instead of GTK+?
Over the years application programming has become more complex. Today, C++ is a better way the manage that complexity because it provides you with a variety of designs, both object-oriented and conventional, that let you develop high-quality applications. Properly used, C++ code is easily maintainable, is extensible and can be performance and memory efficient.
So why use Inti? Because Inti combines the power of GTK+ and the power of C++ into a state-of-the-art application development platform that's intuitive and easy to use. Inti does this by exposing the GTK+ programming paradigm so programmers can continue to use concepts they're already familiar with, and by implementing only the C++ features it actually needs. The result is a small library that's fast, stable and a joy to use.
What does Inti include?
Inti includes C++ wrappers for most of the features implemented in the GTK+ package. These include:
How does Inti improve on plain GTK+?
Inti adds a number of essential C++ features:
Who is behind Inti?
Inti is being developed by The Inti Development Team. Currently the primary maintainer is Jeff Franks.
How is Inti licensed?
Inti is licensed under the GNU Library or Lesser General Public License, similar to most libraries on the Linux operating system. In general terms, this means that it's OK to develop proprietary software with Inti; however you should read the license yourself (or have your lawyers read it), in order to get all the details about your rights and responsibilities.Are there any similarities to the original Inti library?
Why write yet another C++ binding for GTK+?
I wrote Inti because when I needed to learn GTK+ programming several years ago, I couldn't find a usable C++ binding that I liked. There were several available, including Gtk--, QT, V, VDK and wxWindows but I found problems with these. Forced to give up, I bought a good GTK+ programming book and set about learning GTK+ C programming. As I worked my way through the examples in the book, as an exercise, I ported them to C++. Before too long I had written an small C++ interface for GTK+ that worked. When GTK+ development version 1.3.1 was released I decided to try and develop this small interface into a serious C++ language binding for GTK+-2.0. The original binding was called GCode. I worked on it in my spare time and as soon as I had a workable framework in place I uploaded its source code base to SourceForge and began public development, on May 30th, 2002.
The original Inti library was first released by Havoc Pennington in 2001 but its development was later abandoned. When I discovered there was a CAD program called GCode I went looking for a new name. I approached Havoc and he kindly let me use the name Inti. Thanks Havoc!
Yes. Inti is loosely based on the source code from the original Inti library released by Havoc Pennington. The original release only reached an early stage of development and was never finished. Unfortunately, Havoc was committed to the ongoing development of GTK+-2.0 and didn't have enough time.
Inti has several similarities to the original Inti release:
What Inti documentation is there?
There is three kinds of documentation - this FAQ sheet, the reference manual and a tutorial.
The Inti reference manual is written with Doxygen so if you look at the header files you will find them filled with doxygen comments. In beta releases you will need Doxygen to compile the reference manual. In stable releases the reference manual will come precompiled.
The Inti tutorial is very extensive and follows the same format as the GTK+ tutorial. It covers all the widget classes and works through all the examples in the examples directory.
Where will Inti go from here?
Inti will continue to be developed so that it parallels the ongoing GTK+ development, and it will continue to be made available free under the LGPL. At this stage only GTK+ and GConf bindings are implemented, but it is possible more bindings will be added in the future.
The Inti Development Team.