El dom, 30-12-2007 a las 16:56 -0500, Jeff Muizelaar escribió: > On Sun, Dec 30, 2007 at 09:32:05PM +0100, Iñigo Martínez wrote: > > Hi: > > > > Here goes two new patches. The first one improves AnnotLink support, > > anyway it lacks a lot of features. The best option should be to merge > > the actual Link implementation with the AnnotLink one. > > > > The second patch adds support for AnnotFreeText. > > > > I have tested both (I have figured out the old problems, and now I can > > test them correctly, anyway I have a few glib test on the way) but I > > would prefer a review. > > I had a quick look and things looked pretty good. My comments follow > below. > > -Jeff
Thank you very much Jeff. I have done the changes to every if wrong
typed. I wrote them incorrectly in the last patches too.
I have another question. I think I should move the AnnotQuadPoint
parsing from AnnotFreeTex code to the class implementation itself.
Something like (and yes, I will change quadrilateralsLength, I didn't
liked it neither when I writed it):
AnnotQuadPoints::AnnotQuadPoints(Array *array) {
quadrilateralsLength = array->arrayGetLength();
if ((quadrilateralsLength % 8) == 0) {
Object obj2;
quadrilaterals = (AnnotQuadPoints **) gmallocn
((quadrilateralsLength / 8), sizeof(AnnotQuadPoints *));
for(int i = 0; i < quadrilateralsLength; i += 8) {
double x1, y1, x2, y2, x3, y3, x4, y4;
(array->arrayGet(i, &obj2)->isNum() ? x1 = obj2.getNum() : x1 =
0);
obj2.free();
(array->arrayGet((i + 1), &obj2)->isNum() ? y1 = obj2.getNum() :
y1 = 0);
obj2.free();
(array->arrayGet((i + 2), &obj2)->isNum() ? x2 = obj2.getNum() :
x2 = 0);
obj2.free();
(array->arrayGet((i + 3), &obj2)->isNum() ? y2 = obj2.getNum() :
y2 = 0);
obj2.free();
(array->arrayGet((i + 4), &obj2)->isNum() ? x3 = obj2.getNum() :
x3 = 0);
obj2.free();
(array->arrayGet((i + 5), &obj2)->isNum() ? y3 = obj2.getNum() :
y3 = 0);
obj2.free();
(array->arrayGet((i + 6), &obj2)->isNum() ? x4 = obj2.getNum() :
x4 = 0);
obj2.free();
(array->arrayGet((i + 7), &obj2)->isNum() ? y4 = obj2.getNum() :
y4 = 0);
obj2.free();
quadrilaterals[i / 8] =
new AnnotQuadPoints(x1, y1, x2, y2, x3, y3, x4, y4);
}
quadrilateralsLength /= 8;
} else {
quadrilaterals = NULL;
quadrilateralsLength = 0;
}
}
I have some doubts with AnnotCalloutLine and AnnotCalloutMultiline.
Think that they use inheritance so they could need dynamic cast at some
point in the future.
signature.asc
Description: Esta parte del mensaje está firmada digitalmente
_______________________________________________ poppler mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/poppler
