Clutter
Тип | Програмна бібліотека |
---|---|
Розробник | Intel Corporation |
Перший випуск | 22 червня 2006 |
Стабільний випуск | 1.26 (21 березня 2016 ) |
Версії | 1.26.2 (12 травня 2017) |
Платформа | Багатоплатформна програма |
Операційна система | кросплатформова програма |
Мова програмування | C |
Ліцензія | LGPL |
Репозиторій | gitlab.gnome.org/GNOME/clutter |
Вебсайт | clutter-project.org |
Clutter — вільна та багатоплатформова бібліотека для створення апаратно прискорених користувацьких інтерфейсів. Clutter створений компанією OpenedHand Ltd., яка нині є частиною Intel Corporation. Сирцеві тексти розповсюджуються в рамках ліцензії LGPL v2.1.
З лютого 2022 проект GNOME перевів графічну бібліотеку Clutter до застарілих проектів[2], розробка яких припинена. Починаючи з GNOME 42, бібліотека Clutter та пов'язані з нею компоненти Cogl, Clutter-GTK та Clutter-GStreamer видалені з GNOME SDK, а пов'язаний з ними код перенесений до архівних репозиторіїв. Функціональність і ідеї, що розвивалися в Clutter, тепер забезпечуються фреймворком GTK4, libadwaita, GNOME Shell і композитним сервером Mutter.
Clutter використовує OpenGL (1.4+) або OpenGL ES (1.1 або 2.0) для рендерингу, може компілюватися для багатьох платформ (X11, Darwin і Win32) і має прив’язки до багатьох мов програмування, включаючи C++, Mono/C#, Perl, Python, Ruby і Vala. Також підтримується відтворення звуку та відео через GStreamer і 2D рендеринг через Cairo.
Бібліотека може працювати поверх OpenGL, GLib, GObject[en], GLX, SDL, WGL, Quartz, EGL і Pango.
Clutter активно використовується для забезпечення роботи користувацького інтерфейсу в проектах MeeGo і GNOME 3. Функції бібліотеки Clutter орієнтовані на активне використання анімації та візуальних ефектів, що дозволяє застосовувати при створенні звичайних GUI застосунків методи, використовувані при розробці ігор. При цьому сама бібліотека нагадує гральний рушій, в якому максимальне число операцій виноситься на плечі GPU. Одною з основних переваг Clutter є те, що для створення складного інтерфейсу користувача потрібно написати мінімум коду.
Clutter написаний на C з використанням GObject. Існують прив’язки до таких мов програмування:
- C++ (cluttermm)
- Perl (clutter-perl)
- Ruby (rbclutter)
- Python (PyClutter)
- Vala (clutter-vala)
- C# (clutter-sharp (aka Clutter#))
- JavaScript (Seed [Архівовано 24 листопада 2010 у Wayback Machine.] and GJS [Архівовано 24 листопада 2010 у Wayback Machine.])
- Haskell (clutterhs [Архівовано 3 липня 2010 у Wayback Machine.])
Cluter розроблений для X Window System з використанням розширення GLX. Він також пристосований на використання у середовищах вбудованих систем, використовуючи як X, так і звичайний кадровий буфер. Із версії 0.6 додано підтримку Mac OS X, а з версії 0.8 — Microsoft Windows.
- Clutter homepage(англ.)
- Clutter project blog(англ.)