[poppler] Annot Improving (VIII)
Iñigo Martínez
inigomartinez at gmail.com
Sun Dec 30 14:19:22 PST 2007
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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada
digitalmente
Url : http://lists.freedesktop.org/archives/poppler/attachments/20071230/e83f32a8/attachment.pgp
More information about the poppler
mailing list