[PATCH] pdf: Fix wrong cairo_pdf_outline_flags_t item prefix

Kouhei Sutou <[email protected]>
Newsgroups gmane.comp.lib.cairo
Message-ID <[email protected]>
Hi,

cairo_pdf_outline_flags_t is defined as the following:

typedef enum _cairo_pdf_outline_flags {
    CAIRO_BOOKMARK_FLAG_OPEN   = 0x1,
    CAIRO_BOOKMARK_FLAG_BOLD   = 0x2,
    CAIRO_BOOKMARK_FLAG_ITALIC = 0x4,
} cairo_pdf_outline_flags_t;

cairo_pdf_outline_flags_t items use "CAIRO_BOOKMARK_FLAG_"
prefix. Other cairo_*_flags_t (cairo_text_cluster_flags_t)
uses capitalized type name ("CAIRO_TEXT_CLUSTER_FLAG_") as
prefix. How about using the same convention for
cairo_pdf_outline_flags_t?

It seems that the "CAIRO_BOOKMARK_FLAG_" prefix is wrongly
used. cairo_pdf_outline_flags_t was called
cairo_pdf_bookmark_flags_t in the initial implementation:
  https://lists.cairographics.org/archives/cairo/2016-June/027427.html


Thanks,
--
kou

-- 
cairo mailing list
[email protected]
https://lists.cairographics.org/mailman/listinfo/cairo
0001-pdf-Fix-wrong-cairo_pdf_outline_flags_t-item-prefix.patch (text/x-patch, 4.1 KB)
From d138a827fd546da945c85de0beca70804b746b4b Mon Sep 17 00:00:00 2001
From: Kouhei Sutou <[email protected]>
Date: Wed, 4 Jan 2017 23:38:17 +0900
Subject: [PATCH] pdf: Fix wrong cairo_pdf_outline_flags_t item prefix

---
 src/cairo-pdf-interchange.c |  6 +++---
 src/cairo-pdf.h             | 12 ++++++------
 test/pdf-tagged-text.c      |  7 ++++---
 3 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/src/cairo-pdf-interchange.c b/src/cairo-pdf-interchange.c
index 18dd4d8a8..1fc8197f8 100644
--- a/src/cairo-pdf-interchange.c
+++ b/src/cairo-pdf-interchange.c
@@ -579,9 +579,9 @@ cairo_pdf_interchange_write_outline (cairo_pdf_surface_t *surface)
 
 	if (outline->flags) {
 	    int flags = 0;
-	    if (outline->flags & CAIRO_BOOKMARK_FLAG_ITALIC)
+	    if (outline->flags & CAIRO_PDF_OUTLINE_FLAG_ITALIC)
 		flags |= 1;
-	    if (outline->flags & CAIRO_BOOKMARK_FLAG_BOLD)
+	    if (outline->flags & CAIRO_PDF_OUTLINE_FLAG_BOLD)
 		flags |= 2;
 	    _cairo_output_stream_printf (surface->output,
 					 "   /F %d\n",
@@ -1338,7 +1338,7 @@ _cairo_pdf_interchange_add_outline (cairo_pdf_surface_t        *surface,
     /* Update Count */
     outline = outline->parent;
     while (outline) {
-	if (outline->flags & CAIRO_BOOKMARK_FLAG_OPEN) {
+	if (outline->flags & CAIRO_PDF_OUTLINE_FLAG_OPEN) {
 	    outline->count++;
 	} else {
 	    outline->count--;
diff --git a/src/cairo-pdf.h b/src/cairo-pdf.h
index 1e46a7c61..6047161e0 100644
--- a/src/cairo-pdf.h
+++ b/src/cairo-pdf.h
@@ -87,9 +87,9 @@ cairo_pdf_surface_set_size (cairo_surface_t	*surface,
 
 /**
  * cairo_pdf_outline_flags_t:
- * @CAIRO_BOOKMARK_FLAG_OPEN: The outline item defaults to open in the PDF viewer (Since 1.16)
- * @CAIRO_BOOKMARK_FLAG_BOLD: The outline item is displayed by the viewer in bold text (Since 1.16)
- * @CAIRO_BOOKMARK_FLAG_ITALIC: The outline item is displayed by the viewer in italic text (Since 1.16)
+ * @CAIRO_PDF_OUTLINE_FLAG_OPEN: The outline item defaults to open in the PDF viewer (Since 1.16)
+ * @CAIRO_PDF_OUTLINE_FLAG_BOLD: The outline item is displayed by the viewer in bold text (Since 1.16)
+ * @CAIRO_PDF_OUTLINE_FLAG_ITALIC: The outline item is displayed by the viewer in italic text (Since 1.16)
  *
  * #cairo_pdf_outline_flags_t is used by the
  * cairo_pdf_surface_add_outline() function specify the attributes of
@@ -99,9 +99,9 @@ cairo_pdf_surface_set_size (cairo_surface_t	*surface,
  * Since: 1.16
  **/
 typedef enum _cairo_pdf_outline_flags {
-    CAIRO_BOOKMARK_FLAG_OPEN   = 0x1,
-    CAIRO_BOOKMARK_FLAG_BOLD   = 0x2,
-    CAIRO_BOOKMARK_FLAG_ITALIC = 0x4,
+    CAIRO_PDF_OUTLINE_FLAG_OPEN   = 0x1,
+    CAIRO_PDF_OUTLINE_FLAG_BOLD   = 0x2,
+    CAIRO_PDF_OUTLINE_FLAG_ITALIC = 0x4,
 } cairo_pdf_outline_flags_t;
 
 #define CAIRO_PDF_OUTLINE_ROOT 0
diff --git a/test/pdf-tagged-text.c b/test/pdf-tagged-text.c
index 14dbad187..74e7968ee 100644
--- a/test/pdf-tagged-text.c
+++ b/test/pdf-tagged-text.c
@@ -244,7 +244,7 @@ draw_section (cairo_surface_t *surface, cairo_t *cr, const struct section *secti
 	cairo_tag_end (cr, CAIRO_TAG_DEST);
 	cairo_tag_end (cr, "H1");
 	y_pos = MARGIN + HEADING_HEIGHT;
-	flags = CAIRO_BOOKMARK_FLAG_BOLD | CAIRO_BOOKMARK_FLAG_OPEN;
+	flags = CAIRO_PDF_OUTLINE_FLAG_BOLD | CAIRO_PDF_OUTLINE_FLAG_OPEN;
 	outline_parents[0] = cairo_pdf_surface_add_outline (surface,
 							    CAIRO_PDF_OUTLINE_ROOT,
 							    section->heading,
@@ -256,7 +256,7 @@ draw_section (cairo_surface_t *surface, cairo_t *cr, const struct section *secti
 	    flags = 0;
 	} else {
 	    cairo_set_font_size(cr, HEADING3_SIZE);
-	    flags = CAIRO_BOOKMARK_FLAG_ITALIC;
+	    flags = CAIRO_PDF_OUTLINE_FLAG_ITALIC;
 	}
 
 	if (y_pos + HEADING_HEIGHT + paragraph_height + MARGIN > PAGE_HEIGHT) {
@@ -335,7 +335,8 @@ create_document (cairo_surface_t *surface, cairo_t *cr)
 
     cairo_pdf_surface_add_outline (surface,
 				   CAIRO_PDF_OUTLINE_ROOT,
-				   "Contents", "TOC", CAIRO_BOOKMARK_FLAG_BOLD);
+				   "Contents", "TOC",
+                                   CAIRO_PDF_OUTLINE_FLAG_BOLD);
 
     cairo_tag_begin (cr, CAIRO_TAG_DEST, "name='TOC'");
     cairo_tag_begin (cr, "TOC", NULL);
-- 
2.11.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.