mupdf-qt  0.1
Qt5 interface of the popular PDF library MuPDF
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Pages
mupdf-textbox.cpp
Go to the documentation of this file.
1 #include "mupdf-textbox.h"
2 #include "mupdf-textbox_p.h"
3 #include <QRectF>
4 #include <QPointF>
5 #include <QString>
6 
7 namespace MuPDF
8 {
9 
11 {
12  delete d;
13 }
14 
18 QRectF TextBox::boundingBox() const
19 {
20 // fz_rect all = fz_empty_rect, rect;
21 //
22 // for (int i = 0; i < d->text_span->len; ++i) {
23 // fz_text_char_bbox(&rect, d->text_span, i);
24 // fz_union_rect(&all, &rect);
25 // }
26 
27  return QRectF(QPointF(d->text_span->bbox.x0, d->text_span->bbox.y0),
28  QPointF(d->text_span->bbox.x1, d->text_span->bbox.y1));
29 }
30 
34 int TextBox::numChars() const
35 {
36  return d->text_span->len;
37 }
38 
44 QRectF TextBox::charBoundingBox(int index) const
45 {
46  fz_rect rect;
47 
48  fz_text_char_bbox(&rect, d->text_span, index);
49 
50  return QRectF(QPointF(rect.x0, rect.y0), QPointF(rect.x1, rect.y1));
51 }
52 
56 QString TextBox::text() const
57 {
58  QString ret;
59  fz_text_char *ch;
60  fz_text_char *end = d->text_span->text + d->text_span->len;
61 
62  for (ch = d->text_span->text; ch < end; ++ch) {
63  ret.append(QChar(ch->c));
64  }
65 
66  return ret;
67 }
68 
69 } // end namespace MuPDF