[poppler] [PATCH] Poppler: Fix line selection, dont check y for Line selection
Albert Astals Cid
aacid at kde.org
Wed Jan 19 11:13:22 PST 2011
A Dimecres, 19 de gener de 2011, Sam Liao va escriure:
> Hi,
>
> Is there anyone can help me to review this fix or find a more
> reasonable solution?
>
I would understand that the last people that modified TextOutputDev would be
your best hope, that would be Marek and Brian.
If they don't answer i guess Carlos as maintainer of the glib frontend that is
the only one that uses visitSelection would be the one to decide.
Albert
> Thanks,
> -Sam
>
> On Mon, Jan 17, 2011 at 5:26 PM, Sam Liao <phyomh at gmail.com> wrote:
> > When a line is selected while the Y values of selection is
> > not in the y range of words, the render will render the
> > line with reverse color while the words does not show up.
> >
> > This fix neglect the Y vaules to make sure that the words
> > also displayed when line is selected.
> > ---
> > poppler/TextOutputDev.cc | 16 ++++++++--------
> > 1 files changed, 8 insertions(+), 8 deletions(-)
> >
> > diff --git a/poppler/TextOutputDev.cc b/poppler/TextOutputDev.cc
> > index 576bcc9..71b946e 100644
> > --- a/poppler/TextOutputDev.cc
> > +++ b/poppler/TextOutputDev.cc
> > @@ -4249,24 +4249,24 @@ void
> > TextLine::visitSelection(TextSelectionVisitor *visitor,
> > current = NULL;
> > for (p = words; p != NULL; p = p->next) {
> > if (blk->page->primaryLR) {
> > - if ((selection->x1 < p->xMax && selection->y1 < p->yMax) ||
> > - (selection->x2 < p->xMax && selection->y2 < p->yMax))
> > + if ((selection->x1 < p->xMax) ||
> > + (selection->x2 < p->xMax))
> > if (begin == NULL)
> > begin = p;
> >
> > - if (((selection->x1 > p->xMin && selection->y1 > p->yMin) ||
> > - (selection->x2 > p->xMin && selection->y2 > p->yMin)) && (begin !=
> > NULL)) { + if (((selection->x1 > p->xMin) ||
> > + (selection->x2 > p->xMin)) && (begin != NULL)) {
> > end = p->next;
> > current = p;
> > }
> > } else {
> > - if ((selection->x1 > p->xMin && selection->y1 < p->yMax) ||
> > - (selection->x2 > p->xMin && selection->y2 < p->yMax))
> > + if ((selection->x1 > p->xMin) ||
> > + (selection->x2 > p->xMin))
> > if (begin == NULL)
> > begin = p;
> >
> > - if (((selection->x1 < p->xMax && selection->y1 > p->yMin) ||
> > - (selection->x2 < p->xMax && selection->y2 > p->yMin)) && (begin !=
> > NULL)) { + if (((selection->x1 < p->xMax) ||
> > + (selection->x2 < p->xMax)) && (begin != NULL)) {
> > end = p->next;
> > current = p;
> > }
> > --
> > 1.7.1
>
> _______________________________________________
> poppler mailing list
> poppler at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/poppler
More information about the poppler
mailing list