[cairo] Cairo in Google Summer of Code
Kai-Uwe Behrmann
ku.b at gmx.de
Tue Mar 18 04:44:08 PDT 2008
Am 18.03.08, 11:22 +0200 schrieb Gerdus van Zyl:
> Is it just me or is most of the problems inappropriate for somebody
> like a SoC candidate that is just starting on the cairo code base?
>
> All the sucessfull SoC projects I have seen were
> a) self contained unit - eg. something than does not touch too many
> existing code and can be written "seperately" and then integrated.
> (lookup-table-based rasterizer?)
Did you see the post of Daniel Kraft? He explicitely referes to the above
algo as beeing interessting.
> b) non controversial - this way the candidate does not fight a part of
> the community
> c) visible and fun - braggable results eg. I made cairo 20% faster!
> See this cool new thing people can do!
>
> I personally would like to see Blur/Convolution Filters and
> Screen/Overlay blend modes, but that is more pixman than cairo, i
> think.
>
> Just my 2 cents.
Only an observation.
kind regards
Kai-Uwe Behrmann
--
developing for colour management
www.behrmann.name + www.oyranos.org
> On Tue, Mar 18, 2008 at 4:27 AM, Bill Spitzak <spitzak at thefoundry.co.uk> wrote:
> > Well I can't edit the page but here are mine:
> >
> > [Medium] Make stroke width and font transforms be frozen at the time
> > they are set, rather than modified by changes to the ctm
> > (linewidth(2);scale(2) should produce 2-unit wide lines, not the 4-unit
> > wide lines it currently does). This will make Cairo consistent with how
> > it treats pattern and gradient transforms, with how Pango works, make
> > Cairo's transforms usable by an Illustrator-style program, match OpenGL
> > and make future 3D enhancements to Cairo possible. This will require
> > replacing the pen api with a 2x2 matrix, and possibly other changes.
> > Will also require analysis of how much, if any, of existing Cairo-using
> > code will be broken by this change, and how and if back-compatibility
> > should be provided.
> >
> > [Hard] Hinting mode (or "make 1-pixel thick lines work the way users
> > expect"). Add a mode to draw fills and strokes "nicely" without the
> > calling program having to know how big the pixels are. This is very
> > similar to, and probably as hard as, font hinting. Currently Cairo tries
> > to accurately draw a filtered scaled image but this is often not what is
> > wanted: the inability to draw 1-pixel lines frustrates novices, and the
> > fuzzy appearance of tiny images discourages Cairo use for icons.
> >
> > [Hard] Adjacent-polygon fix. Lots of users try to draw a mesh of
> > polygons with their edges touching in order to fill the plane with a
> > colored image. Attempting this on Cairo produces artifacts because the
> > edges are antialiased and the image has very thin cracks between the
> > polygons. A huge number of graphics produced popular proprietary and
> > open-source programs are this way and it is impractical to fix them to
> > overlapping shapes. Come up with a solution to this.
> >
> > [Hard] Usable+"fun" font api. The official method of drawing text in
> > Cairo is not "fun" (which was supposed to be a design criteria for
> > Cairo). The official method of drawing text (Pango) is much too complex
> > for use by applications, though toolkits can call it. The majority of
> > programmers use the "toy" api, even though it is depreciated, because it
> > much more resembles the expected api and can be learned without study.
> > Selecting the font for either requires back-end-specific code so the
> > only portable api is to use the default font. Make a new Cairo font api
> > which does the following:
> > * Select a font using a single string name that is portable between
> > backends and can be imbedded into a <font=name> code in Pango. Add a
> > simple api that will list a reasonably-large subset of the available
> > font names, so that a portable font chooser can be written, and so that
> > multiple programs all show the same set of available fonts.
> > * All assigned Unicode points draw a correct glyph (ie what is actually
> > selected is a fully-populated "font set"). The "toy" api will then
> > clearly display the contents of a string, which is very useful for
> > editors and other contexts where the data is more important than the
> > presentation.
> > * Add a "fun" wrapper around Pango to encourage it's use. It should take
> > a string to display (with embedded html-style codes) and a rectangle to
> > put it into (unless the current path could be used, which would be
> > neat), and it should use the cairo current font.
> >
> >
More information about the cairo
mailing list