Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Fast Light Toolkit (FLTK) — это кроссплатформенная библиотека виджетов (графических элементов управления) для графических пользовательских интерфейсов (GUI), разработанная Биллом Спитцаком и другими. Созданная для поддержки 3D-графического программирования, она имеет интерфейс с OpenGL, но также подходит и для общего GUI-программирования. Используя собственные виджеты, подсистемы рисования и обработки событий, абстрагированные от платформенно-зависимого кода, она позволяет создавать программы, которые выглядят одинаково на всех поддерживаемых операционных системах. FLTK — это бесплатное программное обеспечение с открытым исходным кодом, распространяемое по лицензии GNU Lesser General Public License (LGPL) с дополнительным условием, разрешающим статическую компоновку с приложениями, использующими несовместимые лицензии. В отличие от библиотек пользовательского интерфейса, таких как GTK, Qt и wxWidgets, FLTK использует более легковесную архитектуру и ограничивается функциональностью GUI. Благодаря этому библиотека очень компактна (программа FLTK "Hello World" занимает около 100 КБ) и обычно статически компонуется. Она также избегает использования сложных макросов, отдельных препроцессоров кода и некоторых продвинутых возможностей C++: шаблонов, исключений и информации о типах во время выполнения (RTTI) или, для FLTK 1.x, пространств имен. В сочетании с небольшим размером пакета, это делает её относительно простой в освоении для начинающих пользователей. Эти преимущества имеют и обратную сторону. FLTK предлагает меньше виджетов, чем большинство GUI-инструментариев, и из-за использования несистемных виджетов не обеспечивает нативной визуализации на какой-либо платформе.
Fast Light Toolkit (FLTK) is a cross platform widget (graphical control element) library for graphical user interfaces (GUIs), developed by Bill Spitzak and others. Made to accommodate 3D graphics programming, it has an interface to OpenGL, but it is also suitable for general GUI programming. Using its own widget, drawing and event systems abstracted from the underlying system dependent code, it allows for writing programs which look the same on all supported operating systems. FLTK is free and open source software, licensed under GNU Lesser General Public License (LGPL) with an added clause permitting static linking from applications with incompatible licenses. In contrast to user interface libraries like GTK, Qt, and wxWidgets, FLTK uses a more lightweight design and restricts itself to GUI functionality. Because of this, the library is very small (the FLTK "Hello World" program is around 100 KiB), and is usually statically linked. It also avoids complex macros, separate code preprocessors, and use of some advanced C++ features: templates, exceptions, and run time type information (RTTI) or, for FLTK 1. x, namespaces. Combined with the modest size of the package, this makes it relatively easy to learn for new users. These advantages come with corresponding disadvantages. FLTK offers fewer widgets than most GUI toolkits and, because of its use of non native widgets, does not have native look and feel on any platform.
Значение имени
FLTK изначально разрабатывался с учетом совместимости с библиотекой форм, написанной для машин Silicon Graphics (SGI) (производная от этой библиотеки под названием XForms до сих пор довольно часто используется). В этой библиотеке все функции и структуры начинались с "fl". Это наименование было распространено на все новые методы и виджеты в библиотеке C++, и этот префикс "FL" был принят в качестве названия библиотеки. После того, как FL был выпущен под открытой лицензией, выяснилось, что поиск "FL" в интернете затруднен, поскольку это также аббревиатура для штата Флорида. После долгих обсуждений и поисков нового названия для инструментария, которое уже использовалось несколькими разработчиками, Билл Спитца предложил название Fast Light Tool Kit (FLTK).
FLTK was originally designed to be compatible with the Forms Library written for Silicon Graphics (SGI) machines (a derivative of this library called XForms is still used quite often). In that library, all functions and structures start with fl This naming was extended to all new methods and widgets in the C++ library, and this prefix FL was taken as the name of the library. After FL was released as open source, it was discovered that searching "FL" on the Internet was a problem, because it is also the abbreviation for Florida. After much debating and searching for a new name for the toolkit, which was already in use by several people, Bill Spitzak came up with Fast Light Tool Kit (FLTK).
Архитектура
FLTK — это объектно-ориентированный инструментарий виджетов, написанный на языке программирования C++. В отличие от GTK, который в основном оптимизирован для X Window System, FLTK работает и на других платформах, включая Microsoft Windows (с использованием API Windows) и OS X (с использованием Quartz). Бэкэнд Wayland был реализован и станет доступен в версии 1.4.0. FLTK2 получил экспериментальную поддержку опционального использования графической библиотеки Cairo.
FLTK is an object oriented widget toolkit written in the programming language C++. While GTK is mainly optimized for the X Window System, FLTK works on other platforms, including Microsoft Windows (interfaced with the Windows API), and OS X (interfaced with Quartz). A Wayland back end has been implemented and will be available in release 1.4.0. FLTK2 has gained experimental support for optionally using the cairo graphics library.
FLTK включает в себя Fast Light User Interface Designer (FLUID) — графический инструмент для разработки графического интерфейса, генерирующий исходные файлы и файлы заголовков C++.
FLTK includes Fast Light User Interface Designer (FLUID), a graphical GUI designer that generates C++ source and header files.
Версии
Эта история версий – пример порой неспокойной природы разработки с открытым исходным кодом.
This version history is an example of the sometimes tumultuous nature of open source development.
1.0.x
Это предыдущая стабильная версия, которая больше не поддерживается.
This is a prior stable version, now unmaintained.
1.1.x
Это ранее стабильная версия, которая больше не поддерживается.
This is a prior stable version, now unmaintained.
2.0 ветвь
Это была ветка разработки, долгое время считавшаяся следующим шагом в развитии FLTK, с множеством новых функций и более понятным стилем программирования. Она так и не достигла стабильности, и разработка в основном прекращена. Ветка сейчас неактивна.
This was a development branch, long thought to be the next step in FLTK's evolution, with many new features and a cleaner programming style. It never achieved stability, and development has largely ceased. The branch is inactive now.
1.2.x
Это была попытка взять некоторые из лучших возможностей версии 2.0 и включить их в более популярную ветку 1.1. Разработка прекращена.
This was an attempt to take some of the best features of 2.0 and merge them back into the more popular 1.1 branch. It is no longer developed.
1.3.x
Текущий стабильный выпуск. Поддерживает кодировку UTF-8.
Current stable release. Provides UTF 8 support.
1.4.x
Текущая ветка разработки. Добавляет новые функции в версию 1.3.
Current development branch. Adds more features to 1.3.
3.0 ветвь
Эта ветвь в основном представляет собой концептуальную модель для дальнейшей разработки. В настоящее время не поддерживается.
This branch is mostly a conceptual model for future work. Now inactive.