Re: Possible Pango 1.4 ideas



On Fri, 2003-01-24 at 20:36, Damon Chaplin wrote:
> On Wed, 2003-01-22 at 22:08, Joaquín Cuenca Abela wrote:
> 
> > Btw, Damon, if you're planning to do a DTP, would you be interested in
> > sharing some code with AbiWord?  a DTP and a wordprocessor don't have
> > exactly the same requeriments, what we should be close enough to be able
> > to share some code here and there. 
> >
> > If you're interested, did you have any thoughts on what data structure
> > do you want to use for your app?  a gap buffer (I hope not...)?  a
> > btree?  a piece table?
> > 
> > If you choose the last one, I've worked on a little redesign of the
> > current abiword piece table (check
> > http://e98cuenc.free.fr/wordprocessor/piecetable.html).  I'm still
> > optimizing it, but I think that it can yield good performance results. 
> 
> I doubt I'll get around to writing the DTP app until next year at least,
> since I want to do this Pango work and then work on a printable canvas
> widget/component and help sort out gnome-print.
>
> I haven't thought about the data structure too much yet. I was thinking
> of cannibalizing GtkTextView (as that already does all the PangoLayout
> stuff) and using GtkTextBuffer initially, and then using something else
> if that isn't scalable. But I'll have a look at your code. I'd be
> interested in how it compares to GtkTextBuffer in terms of features,
> speed & scalability.

There is not only the speed and the scalability.  For instance, people
usually choose a piece table because you can have very easily an
infinite undo and a fast emergency save.

Right now my code is still on the "proof of concept" phase.  I'm still
studying the performance impact of different possibilities (but keeping
a piece table).

I think that at the end I will finish with a hybrid between a piece
table and a b-tree or rb-tree.

When I'm done, I will do some comparisons with GtkTextBuffer and post
the results.

Cheers,

-- 
Joaquín Cuenca Abela
cuenca pacaterie u-psud fr




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]