THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.

A new Flyspray task has been opened. Details are below. User who did this - Andrei Thorp (garoth)
Attached to Project - awesome
Summary - Image/Drawing System Overhaul With Cairo Bias
Task Type - Evolution Request
Category - Core
Status - Unconfirmed
Assigned To - Operating System - All
Severity - Medium
Priority - Normal
Reported Version - git/master
Due in Version - Undecided
Due Date - Undecided
Details - In general, I consider the Awesome drawing system to be fairly 
mediocre. Some complaints:

We use both imlib2 and cairo. Talking to psychon, this doesn't seem 
particularly useful. It was explained to me that imlib is used for loading 
files from disk and some drawing, whereas Cairo is used for displaying and some 
drawing. However:
- imlib *sucks* at drawing. The current features provided in image.c consist of 
lines, rectangles, circles, pixels, and basic rectangle fills/gradients. 
However, Cairo provides features like drawing complex shapes using beziers. 
These shapes are then intelligently understood as a collection of nodes like an 
SVG and can be filled and transformed. At the moment, the imlib features that 
we provide for drawing on images make it possible to (pretty much only) create 
the widgets that currently exist: basic lines and rectangles. Creating anything 
more complex is virtually impossible.
- cairo can load pngs. 
http://cairographics.org/manual/cairo-png-functions.html#cairo-image-surface-create-from-png
 . This feature should be researched a bit more. Regardless, I've checked 
through the source, and every image file that we provide is already a PNG, and 
I expect that 95% of all images used for awesome are pngs or svgs. (Cairo can 
load SVGs also -- SVGs are frequently used for various icons on the system.)

So, in the interest of pushing awesome widgets forward again, I propose:
- drop imlib as a dependency. It, I think, is superseded by Cairo.
- provide direct cairo surface access for drawing on images so that more 
complexly shaped widgets (clickable stars, volume waves drawn directly as 
widgets, various wavy progress bars, etc) are possible.

More information can be found at the following URL:
http://awesome.naquadah.org/bugs/index.php?do=details&task_id=757

You are receiving this message because you have requested it from the Flyspray 
bugtracking system.  If you did not expect this message or don't want to 
receive mails in future, you can change your notification settings at the URL 
shown above.

--
To unsubscribe, send mail to awesome-devel-unsubscr...@naquadah.org.

Reply via email to