El Dilluns, 7 de gener de 2013, a les 11:39:17, [email protected] va escriure: > On 06 Jan 2013, at 21:01, [email protected] wrote: > > From: Albert Astals Cid <[email protected]> > > Subject: Re: [poppler] patch for a progress callback > > > > El Divendres, 4 de gener de 2013, a les 09:16:25, Damian Stewart va > > escriure: Some comments: > > * The cpp facing api seems quite "un-C++-ish", i think that a class with a > > pure virtual progressDone() function and a Page::setProgressHandler method > > would make it more C++ish > > In the core Poppler source, the existing callbacks follow the same pattern: > > void display(OutputDev *out, double hDPI, double vDPI, > ... > GBool (*abortCheckCbk)(void *data) = NULL, > void *abortCheckCbkData = NULL, > GBool (*annotDisplayDecideCbk)(Annot *annot, void *user_data) > = NULL, > void *annotDisplayDecideCbkData = NULL, > > With this precedent, I would have assumed > > void (*progressCbk)(int pageNum, float progressPct, void* > user_data) = > NULL, void *progressCbkData = NULL ); > > makes the most sense.. or?
Yes, i am not saying the callback is bad for the core, but it is still bad for the cpp frontend, the core is full of crap code, so it doesn't make sense to enforce good API, but for the cpp frontend we should aim at nice C++-ish API, and an object with a virtual pure function (i.e. an interface) seems much nicer to me. Cheers, Albert _______________________________________________ poppler mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/poppler
