1. Introduction 1.1. Project/Component Working Name: pigment and pigment-python 1.2. Name of Document Author/Supplier: Author: Jerry Tan Sponsor: Brian Cameron 1.3. Date of This Document: 10/22/2008 1.4. Name of Major Document Customer(s)/Consumer(s): 1.4.1. The PAC or CPT you expect to review your project: Solaris PAC 1.4.2. The ARC(s) you expect to review your project: LSARC 1.4.3. The Director/VP who is "Sponsoring" this project: Robert O'Dea 1.4.4. The name of your business unit: Software - OPG 1.5. Email Aliases: 1.5.1. Responsible Manager: harry.lu@sun.com 1.5.2. Responsible Engineer: jerry.tan@sun.com 1.5.3. Interest List: jds-dev@sun.com 2. Project Summary 2.1. Project Description: Pigment is a library for creating rich application user interfaces. It allows embedding multimedia contents such as audio and video with the simple integration of the GStreamer library. Pigment has originally been created to be used in the Elisa Media Center, but is also really useful for projects looking for slick, efficient and innovative user interfaces. Refer to additional-materials for API documentation. 4. Technical Description: Pigment has the following features: * Written in C using the GLib/GObject libraries * Easy to use framework for positioning 2D surfaces in a 3D world * Full-featured OpenGL 1.2 to 2.1 plugins * Embedding of images and videos through GdkPixbuf GStreamer libraries * Fast video playback through hardware scaling and color space conversion * Asynchronous (non-blocking) image loading * Reentrant and thread-safe API * Easy integration in GTK+ through a dedicated widget * Up-to-date Python bindings * Full Unix/Linux support * Some screen-casts * Support for the GLX texture-from-pixmap extension * Support to rotate and reflect a canvas * Motion, entered and left signals to drawables pigment-python contains the python bindings for pigment. Pigment is built on GLX_EXT_texture_from_pixmap extension to OpenGL, which is not available on Solaris SPARC. 4.1. Interfaces: Exported Interfaces Interface Classification Comments --------------- -------------- ----------------- SUNWlibpigment Uncommitted Package name SUNWlibpigment-devel Uncommitted Package name SUNWlibpigment-python Uncommitted Package name /usr/lib/libpigment-0.3.so.8.0.1 Volatile Pigment lib /usr/lib/libpigment-gtk-0.3.so.8.0.1 Volatile Gtk+ widget lib /usr/lib/libpigment-imaging-0.3.so.8.0.1 Volatile imaging lib /usr/lib/pkgconfig/pigment-0.3.pc Volatile pigment pc file /usr/lib/pkgconfig/pigment-gtk-0.3.pc Volatile gtk widget lib pc /usr/lib/pkgconfig/pigment-imaging-0.3.pc Volatile image lib pc /usr/lib/pigment-0.3 Volatile Plugins directory /usr/lib/pigment-0.3/0.3.11/ libpgmboilerplate.so Volatile Boilerplate plugin /usr/lib/pigment-0.3/0.3.11 Volatile OpenGL plugin libpgmopengl.so /usr/include/pigment-0.3 Volatile header files directory /usr/include/pigment-0.3/pgm/gtk/pgmgtk.h Volatile gtk widget header /usr/include/pigment-0.3/pgm/imaging/ Volatile image lib header pgmimaging.h /usr/include/pigment-0.3/pgm/pgm.h Volatile pigment lib header /usr/share/gtk-doc/html/pigment Volatile pigment gtk doc /usr/lib/python2.4/vendor-packages/ _pgmmodule.so Volatile pigment python binding /usr/lib/python2.4/vendor-packages/ _pgmimgmodule.so Volatile gtk python binding /usr/lib/python2.4/vendor-packages/ _pgmimagemodule.so Volatile image python binding /usr/lib/python2.4/vendor-packages/ pgm/ Uncommitted Directory of pigment python tools Imported Interfaces Interface Classification Comments ---------------------------------- --------------- ---------------- GNOME Platform Libraries Committed LSARC/2007/520 OpenGL External LSARC 2005/109, LSARC/2005/700, LSARC/1999/410 python External PSARC/2005/532 XComposite External PSARC/2007/240 Xrender External LSARC 2001/125 Gstreamer Violatile LSARC/2006/202 4.2. Packaging & Delivery: Three new packages are delivered: SUNWlibpigment - base package for binaries SUNWlibpigment-devel - development package SUNWpigment-python - python binding 4.3. Security Impact: None. 4.4. Dependencies: pigment depends on gnome base libs and also OpenGL. 4.5. I18N/L10N Impact: The JDS team and the G11N are working together to evaluation and provide I18N/L10N support 4.6. Packaging & Delivery: The project will be delivering the following packages: SUNWlibpigment, SUNWlibpigment-devel, SUNWpigment-python 5. Reference Documents: 1. SUNWlibpigment, SUNWlibpigment-devel, SUNWpigment-python pkgmap Refer to pkgmaps. 2. Pigment community https://code.fluendo.com/pigment/trac 3. API reference Refer to additional-materials. https://code.fluendo.com/pigment/trac/chrome/site/doc/reference/index.html