/src/mupdf/source/fitz/glyphbox.c
Line | Count | Source (jump to first uncovered line) |
1 | | // Copyright (C) 2004-2021 Artifex Software, Inc. |
2 | | // |
3 | | // This file is part of MuPDF. |
4 | | // |
5 | | // MuPDF is free software: you can redistribute it and/or modify it under the |
6 | | // terms of the GNU Affero General Public License as published by the Free |
7 | | // Software Foundation, either version 3 of the License, or (at your option) |
8 | | // any later version. |
9 | | // |
10 | | // MuPDF is distributed in the hope that it will be useful, but WITHOUT ANY |
11 | | // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS |
12 | | // FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more |
13 | | // details. |
14 | | // |
15 | | // You should have received a copy of the GNU Affero General Public License |
16 | | // along with MuPDF. If not, see <https://www.gnu.org/licenses/agpl-3.0.en.html> |
17 | | // |
18 | | // Alternative licensing terms are available from the licensor. |
19 | | // For commercial licensing, see <https://www.artifex.com/> or contact |
20 | | // Artifex Software, Inc., 39 Mesa Street, Suite 108A, San Francisco, |
21 | | // CA 94129, USA, for further information. |
22 | | |
23 | | #include "glyphbox.h" |
24 | | |
25 | | int fz_glyph_entirely_outside_box(fz_context *ctx, fz_matrix *ctm, fz_text_span *span, fz_text_item *item, fz_rect *box) |
26 | 0 | { |
27 | 0 | fz_rect glyph_rect = fz_bound_glyph(ctx, span->font, item->gid, span->trm); |
28 | 0 | glyph_rect.x0 += item->x; |
29 | 0 | glyph_rect.y0 += item->y; |
30 | 0 | glyph_rect.x1 += item->x; |
31 | 0 | glyph_rect.y1 += item->y; |
32 | 0 | glyph_rect = fz_transform_rect(glyph_rect, *ctm); |
33 | 0 | if (glyph_rect.x1 <= box->x0 || |
34 | 0 | glyph_rect.y1 <= box->y0 || |
35 | 0 | glyph_rect.x0 >= box->x1 || |
36 | 0 | glyph_rect.y0 >= box->y1) |
37 | 0 | return 1; |
38 | 0 | return 0; |
39 | 0 | } |