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 <[email protected]> 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 > [email protected] > http://lists.freedesktop.org/mailman/listinfo/poppler _______________________________________________ poppler mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/poppler
