[pango/line-breaker: 41/41] Big rename, part 4




commit 8c48e784e093b0108c87351e95e439c610d13db2
Author: Matthias Clasen <mclasen redhat com>
Date:   Fri Jan 21 14:19:11 2022 -0500

    Big rename, part 4
    
    line -> layout line

 examples/cairotwisted.c                     |   4 +-
 examples/parshape.c                         |  10 +-
 pango/ellipsize.c                           |  11 +-
 pango/meson.build                           |   4 +-
 pango/pango-attributes.c                    |   4 +-
 pango/pango-layout-iter.c                   |  52 ++---
 pango/pango-layout-iter.h                   |   2 +-
 pango/pango-layout-line-private.h           |  67 +++++++
 pango/{pango-line.c => pango-layout-line.c} | 288 ++++++++++++++--------------
 pango/{pango-line.h => pango-layout-line.h} |  44 +++--
 pango/pango-layout.c                        |  25 ++-
 pango/pango-line-breaker.c                  |  56 +++---
 pango/pango-line-breaker.h                  |   6 +-
 pango/pango-line-private.h                  |  67 -------
 pango/pango-lines.c                         | 180 ++++++++---------
 pango/pango-lines.h                         |  28 +--
 pango/pango-renderer.c                      |  18 +-
 pango/pango-renderer.h                      |   6 +-
 pango/pango.h                               |   2 +-
 pango/pangocairo-font.c                     |   4 +-
 pango/pangocairo-render.c                   |  30 +--
 pango/pangocairo.h                          |  12 +-
 pango/pangofc-font.c                        |   4 +-
 pango/pangoft2-render.c                     |  22 +--
 pango/pangoft2.h                            |  12 +-
 pango/pangoxft-render.c                     |  14 +-
 pango/pangoxft-render.h                     |   4 +-
 pango/serializer.c                          |  13 +-
 tests/test-bidi.c                           |  12 +-
 tests/testiter.c                            |   8 +-
 tests/testmisc.c                            |  22 +--
 utils/viewer-pangocairo.c                   |   4 +-
 32 files changed, 517 insertions(+), 518 deletions(-)
---
diff --git a/examples/cairotwisted.c b/examples/cairotwisted.c
index 88f781b4..217e5e44 100644
--- a/examples/cairotwisted.c
+++ b/examples/cairotwisted.c
@@ -472,7 +472,7 @@ draw_text (cairo_t *cr,
            const char *text)
 {
   PangoLayout *layout;
-  PangoLine *line;
+  PangoLayoutLine *line;
   PangoFontDescription *desc;
   cairo_font_options_t *font_options;
 
@@ -495,7 +495,7 @@ draw_text (cairo_t *cr,
   line = pango_lines_get_line (pango_layout_get_lines (layout), 0, NULL, NULL);
 
   cairo_move_to (cr, x, y);
-  pango_cairo_line_path (cr, line);
+  pango_cairo_layout_line_path (cr, line);
 
   g_object_unref (layout);
 }
diff --git a/examples/parshape.c b/examples/parshape.c
index b8380145..e97d1a36 100644
--- a/examples/parshape.c
+++ b/examples/parshape.c
@@ -62,7 +62,7 @@ main (int argc, char *argv[])
 
   while (!pango_line_breaker_done (breaker))
     {
-      PangoLine *line;
+      PangoLayoutLine *line;
       PangoRectangle ext;
       gboolean ltr;
 
@@ -71,8 +71,8 @@ main (int argc, char *argv[])
                                            PANGO_WRAP_CHAR,
                                            PANGO_ELLIPSIZE_NONE);
 
-      pango_line_get_extents (line, NULL, &ext);
-      line = pango_line_justify (line, width);
+      pango_layout_line_get_extents (line, NULL, &ext);
+      line = pango_layout_line_justify (line, width);
       pango_lines_add_line (lines, line, x, y - ext.y);
 
       ltr = pango_line_breaker_get_direction (breaker) == PANGO_DIRECTION_LTR;
@@ -104,11 +104,11 @@ main (int argc, char *argv[])
 
   for (int i = 0; i < pango_lines_get_line_count (lines); i++)
     {
-      PangoLine *line = pango_lines_get_line (lines, i, &x, &y);
+      PangoLayoutLine *line = pango_lines_get_line (lines, i, &x, &y);
 
       cairo_save (cr);
       cairo_move_to (cr, x / (double)PANGO_SCALE, y / (double)PANGO_SCALE);
-      pango_cairo_show_line (cr, line);
+      pango_cairo_show_layout_line (cr, line);
       cairo_restore (cr);
     }
 
diff --git a/pango/ellipsize.c b/pango/ellipsize.c
index 2446cc69..149602a6 100644
--- a/pango/ellipsize.c
+++ b/pango/ellipsize.c
@@ -23,11 +23,10 @@
 #include <string.h>
 
 #include "pango-glyph-item.h"
-//#include "pango-layout-private.h"
 #include "pango-font-private.h"
 #include "pango-attributes-private.h"
 #include "pango-impl-utils.h"
-#include "pango-line-private.h"
+#include "pango-layout-line-private.h"
 
 typedef struct _EllipsizeState EllipsizeState;
 typedef struct _RunInfo        RunInfo;
@@ -743,10 +742,10 @@ current_width (EllipsizeState *state)
 }
 
 void
-pango_line_ellipsize (PangoLine          *line,
-                      PangoContext       *context,
-                      PangoEllipsizeMode  ellipsize,
-                      int                 goal_width)
+pango_layout_line_ellipsize (PangoLayoutLine    *line,
+                             PangoContext       *context,
+                             PangoEllipsizeMode  ellipsize,
+                             int                 goal_width)
 {
   EllipsizeState state;
   const char *text = line->data->text;
diff --git a/pango/meson.build b/pango/meson.build
index f92e35dc..9797a971 100644
--- a/pango/meson.build
+++ b/pango/meson.build
@@ -31,7 +31,7 @@ pango_sources = [
   'serializer.c',
   'json/gtkjsonparser.c',
   'json/gtkjsonprinter.c',
-  'pango-line.c',
+  'pango-layout-line.c',
   'pango-line-breaker.c',
   'pango-lines.c',
   'pango-layout-iter.c',
@@ -56,7 +56,7 @@ pango_headers = [
   'pango-gravity.h',
   'pango-item.h',
   'pango-language.h',
-  'pango-line.h',
+  'pango-layout-line.h',
   'pango-line-breaker.h',
   'pango-layout-iter.h',
   'pango-lines.h',
diff --git a/pango/pango-attributes.c b/pango/pango-attributes.c
index 871cc550..faeb95b0 100644
--- a/pango/pango-attributes.c
+++ b/pango/pango-attributes.c
@@ -1510,7 +1510,7 @@ pango_attr_overline_color_new (guint16 red,
  * Modify the height of logical line extents by a factor.
  *
  * This affects the values returned by
- * [method Pango Line.get_extents] and
+ * [method@Pango.LayoutLine.get_extents] and
  * [method@Pango.LayoutIter.get_line_extents].
  *
  *
@@ -1536,7 +1536,7 @@ pango_attr_line_height_new (double factor)
  * Override the height of logical line extents to be @height.
  *
  * This affects the values returned by
- * [method Pango Line.get_extents],
+ * [method@Pango.LayoutLine.get_extents],
  * [method@Pango.LayoutIter.get_line_extents].
  *
  * Since: 1.50
diff --git a/pango/pango-layout-iter.c b/pango/pango-layout-iter.c
index d738288a..9e687b7c 100644
--- a/pango/pango-layout-iter.c
+++ b/pango/pango-layout-iter.c
@@ -2,7 +2,7 @@
 
 #include "pango-layout-iter-private.h"
 #include "pango-lines-private.h"
-#include "pango-line-private.h"
+#include "pango-layout-line-private.h"
 
 /* {{{ PangoLayoutIter implementation */
 
@@ -14,7 +14,7 @@ struct _PangoLayoutIter
   int line_no;
   int line_x;
   int line_y;
-  PangoLine *line;
+  PangoLayoutLine *line;
   GSList *run_link;
   PangoGlyphItem *run;
   int index;
@@ -48,7 +48,7 @@ static gboolean
 line_is_terminated (PangoLayoutIter *iter)
 {
   if (iter->line_no + 1 < pango_lines_get_line_count (iter->lines))
-    return pango_line_ends_paragraph (iter->line);
+    return pango_layout_line_ends_paragraph (iter->line);
 
   return FALSE;
 
@@ -285,7 +285,7 @@ pango_layout_iter_new (PangoLines *lines)
 
   iter->line_no = 0;
   iter->line = pango_lines_get_line (iter->lines, 0, &iter->line_x, &iter->line_y);
-  iter->run_link = pango_line_get_runs (iter->line);
+  iter->run_link = pango_layout_line_get_runs (iter->line);
   if (iter->run_link)
     {
       iter->run = iter->run_link->data;
@@ -366,7 +366,7 @@ pango_layout_iter_get_lines (PangoLayoutIter *iter)
  *
  * Return value: (transfer none): the current line
  */
-PangoLine *
+PangoLayoutLine *
 pango_layout_iter_get_line (PangoLayoutIter *iter)
 {
   g_return_val_if_fail (ITER_IS_VALID (iter), NULL);
@@ -455,7 +455,7 @@ pango_layout_iter_next_line (PangoLayoutIter *iter)
     return FALSE;
 
   iter->line_no++;
-  iter->run_link = pango_line_get_runs (iter->line);
+  iter->run_link = pango_layout_line_get_runs (iter->line);
   if (iter->run_link)
     iter->run = iter->run_link->data;
   else
@@ -606,33 +606,33 @@ offset_run (PangoLayoutIter  *iter,
  * Extents are in layout coordinates (origin is the top-left corner of the
  * entire `PangoLines`). Thus the extents returned by this function will be
  * the same width/height but not at the same x/y as the extents returned
- * from [method Pango Line.get_extents].
+ * from [method@Pango.LayoutLine.get_extents].
  *
  * The logical extents returned by this function always have their leading
  * trimmed according to paragraph boundaries: if the line starts a paragraph,
  * it has its start leading trimmed; if it ends a paragraph, it has its end
  * leading trimmed. If you need other trimming, use
- * [method Pango Line.get_trimmed_extents].
+ * [method@Pango.LayoutLine.get_trimmed_extents].
  */
 void
-pango_layout_iter_get_line_extents (PangoLayoutIter  *iter,
-                                  PangoRectangle *ink_rect,
-                                  PangoRectangle *logical_rect)
+pango_layout_iter_get_line_extents (PangoLayoutIter *iter,
+                                    PangoRectangle  *ink_rect,
+                                    PangoRectangle  *logical_rect)
 {
   g_return_if_fail (ITER_IS_VALID (iter));
 
-  pango_line_get_extents (iter->line, ink_rect, logical_rect);
+  pango_layout_line_get_extents (iter->line, ink_rect, logical_rect);
   offset_line (iter, ink_rect, logical_rect);
 }
 
 void
-pango_layout_iter_get_trimmed_line_extents (PangoLayoutIter    *iter,
-                                          PangoLeadingTrim  trim,
-                                          PangoRectangle   *logical_rect)
+pango_layout_iter_get_trimmed_line_extents (PangoLayoutIter  *iter,
+                                            PangoLeadingTrim  trim,
+                                            PangoRectangle   *logical_rect)
 {
   g_return_if_fail (ITER_IS_VALID (iter));
 
-  pango_line_get_trimmed_extents (iter->line, trim, logical_rect);
+  pango_layout_line_get_trimmed_extents (iter->line, trim, logical_rect);
   offset_line (iter, NULL, logical_rect);
 }
 
@@ -651,9 +651,9 @@ pango_layout_iter_get_trimmed_line_extents (PangoLayoutIter    *iter,
  * [method@Pango.GlyphItem.get_extents].
  */
 void
-pango_layout_iter_get_run_extents (PangoLayoutIter  *iter,
-                                 PangoRectangle *ink_rect,
-                                 PangoRectangle *logical_rect)
+pango_layout_iter_get_run_extents (PangoLayoutIter *iter,
+                                   PangoRectangle  *ink_rect,
+                                   PangoRectangle  *logical_rect)
 {
   g_return_if_fail (ITER_IS_VALID (iter));
 
@@ -663,7 +663,7 @@ pango_layout_iter_get_run_extents (PangoLayoutIter  *iter,
     }
   else
     {
-      GSList *runs = pango_line_get_runs (iter->line);
+      GSList *runs = pango_layout_line_get_runs (iter->line);
       if (runs)
         {
           /* Virtual run at the end of a nonempty line */
@@ -680,7 +680,7 @@ pango_layout_iter_get_run_extents (PangoLayoutIter  *iter,
           /* Empty line */
           PangoRectangle r;
 
-          pango_line_get_empty_extents (iter->line, PANGO_LEADING_TRIM_BOTH, &r);
+          pango_layout_line_get_empty_extents (iter->line, PANGO_LEADING_TRIM_BOTH, &r);
 
           if (ink_rect)
             *ink_rect = r;
@@ -705,9 +705,9 @@ pango_layout_iter_get_run_extents (PangoLayoutIter  *iter,
  * Layout coordinates have the origin at the top left of the entire `PangoLines`.
  */
 void
-pango_layout_iter_get_cluster_extents (PangoLayoutIter  *iter,
-                                     PangoRectangle *ink_rect,
-                                     PangoRectangle *logical_rect)
+pango_layout_iter_get_cluster_extents (PangoLayoutIter *iter,
+                                       PangoRectangle  *ink_rect,
+                                       PangoRectangle  *logical_rect)
 {
   g_return_if_fail (ITER_IS_VALID (iter));
 
@@ -753,8 +753,8 @@ pango_layout_iter_get_cluster_extents (PangoLayoutIter  *iter,
  * ink extents make sense only down to the level of clusters.
  */
 void
-pango_layout_iter_get_char_extents (PangoLayoutIter  *iter,
-                                  PangoRectangle *logical_rect)
+pango_layout_iter_get_char_extents (PangoLayoutIter *iter,
+                                    PangoRectangle  *logical_rect)
 {
   PangoRectangle cluster_rect;
   int            x0, x1;
diff --git a/pango/pango-layout-iter.h b/pango/pango-layout-iter.h
index f1101387..ab2cab93 100644
--- a/pango/pango-layout-iter.h
+++ b/pango/pango-layout-iter.h
@@ -21,7 +21,7 @@ PANGO_AVAILABLE_IN_ALL
 PangoLines *            pango_layout_iter_get_lines           (PangoLayoutIter *iter);
 
 PANGO_AVAILABLE_IN_ALL
-PangoLine *             pango_layout_iter_get_line            (PangoLayoutIter *iter);
+PangoLayoutLine *       pango_layout_iter_get_line            (PangoLayoutIter *iter);
 
 PANGO_AVAILABLE_IN_ALL
 gboolean                pango_layout_iter_at_last_line        (PangoLayoutIter *iter);
diff --git a/pango/pango-layout-line-private.h b/pango/pango-layout-line-private.h
new file mode 100644
index 00000000..5b225034
--- /dev/null
+++ b/pango/pango-layout-line-private.h
@@ -0,0 +1,67 @@
+#pragma once
+
+#include "pango-layout-line.h"
+#include "pango-break.h"
+#include "pango-attributes.h"
+#include "pango-glyph-item.h"
+
+typedef struct _LineData LineData;
+struct _LineData {
+  char *text;
+  int length;
+  int n_chars;
+  PangoDirection direction;
+
+  PangoAttrList *attrs;
+  PangoLogAttr *log_attrs;
+};
+
+LineData *      line_data_new           (void);
+LineData *      line_data_ref           (LineData *data);
+void            line_data_unref         (LineData *data);
+void            line_data_clear         (LineData *data);
+
+struct _PangoLayoutLine
+{
+  GObject parent_instance;
+
+  PangoContext *context;
+  LineData *data;
+
+  int start_index;
+  int length;
+  int start_offset;
+  int n_chars;
+  GSList *runs;
+
+  guint wrapped             : 1;
+  guint ellipsized          : 1;
+  guint hyphenated          : 1;
+  guint justified           : 1;
+  guint starts_paragraph    : 1;
+  guint ends_paragraph      : 1;
+  guint has_extents         : 1;
+
+  PangoDirection direction;
+
+  PangoRectangle ink_rect;
+  PangoRectangle logical_rect;
+};
+
+PangoLayoutLine * pango_layout_line_new       (PangoContext       *context,
+                                               LineData           *data);
+
+void              pango_layout_line_ellipsize (PangoLayoutLine    *line,
+                                               PangoContext       *context,
+                                               PangoEllipsizeMode  ellipsize,
+                                               int                 goal_width);
+
+void              pango_layout_line_index_to_run (PangoLayoutLine  *line,
+                                                  int              idx,
+                                                  PangoGlyphItem **item);
+
+void              pango_layout_line_get_empty_extents (PangoLayoutLine  *line,
+                                                       PangoLeadingTrim  trim,
+                                                       PangoRectangle   *logical_rect);
+
+void              pango_layout_line_check_invariants (PangoLayoutLine *line);
diff --git a/pango/pango-line.c b/pango/pango-layout-line.c
similarity index 84%
rename from pango/pango-line.c
rename to pango/pango-layout-line.c
index 44192e82..65ba62ec 100644
--- a/pango/pango-line.c
+++ b/pango/pango-layout-line.c
@@ -1,6 +1,6 @@
 #include "config.h"
 
-#include "pango-line-private.h"
+#include "pango-layout-line-private.h"
 
 #include "pango-tabs.h"
 #include "pango-impl-utils.h"
@@ -39,39 +39,39 @@ line_data_unref (LineData *data)
 }
 
 /* }}} */
-/* {{{ PangoLine implementation */
+/* {{{ PangoLayoutLine implementation */
 
-struct _PangoLineClass
+struct _PangoLayoutLineClass
 {
   GObjectClass parent_class;
 };
 
-G_DEFINE_TYPE (PangoLine, pango_line, G_TYPE_OBJECT)
+G_DEFINE_TYPE (PangoLayoutLine, pango_layout_line, G_TYPE_OBJECT)
 
 static void
-pango_line_init (PangoLine *line)
+pango_layout_line_init (PangoLayoutLine *line)
 {
 }
 
 static void
-pango_line_finalize (GObject *object)
+pango_layout_line_finalize (GObject *object)
 {
-  PangoLine *line = PANGO_LINE (object);
+  PangoLayoutLine *line = PANGO_LAYOUT_LINE (object);
 
   g_object_unref (line->context);
 
   line_data_unref (line->data);
   g_slist_free_full (line->runs, (GDestroyNotify)pango_glyph_item_free);
 
-  G_OBJECT_CLASS (pango_line_parent_class)->finalize (object);
+  G_OBJECT_CLASS (pango_layout_line_parent_class)->finalize (object);
 }
 
 static void
-pango_line_class_init (PangoLineClass *class)
+pango_layout_line_class_init (PangoLayoutLineClass *class)
 {
   GObjectClass *object_class = G_OBJECT_CLASS (class);
 
-  object_class->finalize = pango_line_finalize;
+  object_class->finalize = pango_layout_line_finalize;
 }
 
 /* }}} */
@@ -91,7 +91,7 @@ distribute_letter_spacing (int  letter_spacing,
 }
 
 static int
-pango_line_compute_width (PangoLine *line)
+pango_layout_line_compute_width (PangoLayoutLine *line)
 {
   int width = 0;
 
@@ -108,8 +108,8 @@ pango_line_compute_width (PangoLine *line)
 }
 
 static void
-justify_clusters (PangoLine *line,
-                  int       *remaining_width)
+justify_clusters (PangoLayoutLine *line,
+                  int             *remaining_width)
 {
   int total_remaining_width, total_gaps = 0;
   int added_so_far, gaps_so_far;
@@ -249,8 +249,8 @@ justify_clusters (PangoLine *line,
 }
 
 static void
-justify_words (PangoLine *line,
-               int       *remaining_width)
+justify_words (PangoLayoutLine *line,
+               int             *remaining_width)
 {
   int total_remaining_width, total_space_width = 0;
   int added_so_far, spaces_so_far;
@@ -340,7 +340,7 @@ justify_words (PangoLine *line,
 /* {{{ Extents */
 
 static void
-compute_extents (PangoLine        *line,
+compute_extents (PangoLayoutLine  *line,
                  PangoLeadingTrim  trim,
                  PangoRectangle   *ink,
                  PangoRectangle   *logical)
@@ -350,7 +350,7 @@ compute_extents (PangoLine        *line,
   if (!line->runs)
     {
       memset (ink, 0, sizeof (PangoRectangle));
-      pango_line_get_empty_extents (line, trim, logical);
+      pango_layout_line_get_empty_extents (line, trim, logical);
       return;
     }
 
@@ -407,7 +407,7 @@ compute_extents (PangoLine        *line,
 /* {{{ Private API */
 
 void
-pango_line_check_invariants (PangoLine *line)
+pango_layout_line_check_invariants (PangoLayoutLine *line)
 {
   /* Check that byte and char positions agree */
   g_assert (g_utf8_strlen (line->data->text + line->start_index, line->length) == line->n_chars);
@@ -438,9 +438,9 @@ pango_line_check_invariants (PangoLine *line)
 }
 
 void
-pango_line_get_empty_extents (PangoLine        *line,
-                              PangoLeadingTrim  trim,
-                              PangoRectangle   *logical_rect)
+pango_layout_line_get_empty_extents (PangoLayoutLine  *line,
+                                     PangoLeadingTrim  trim,
+                                     PangoRectangle   *logical_rect)
 {
   PangoFontDescription *font_desc = NULL;
   gboolean free_font_desc = FALSE;
@@ -538,25 +538,25 @@ pango_line_get_empty_extents (PangoLine        *line,
 }
 
 /*< private >
- * pango_line_new:
+ * pango_layout_line_new:
  * @context: the `PangoContext`
  * @data: the `LineData`
  *
- * Creates a new `PangoLine`.
+ * Creates a new `PangoLayoutLine`.
  *
  * The line shares the immutable `LineData` with other lines.
  *
  * The @context is needed for shape rendering.
  *
- * Returns: new `PangoLine`
+ * Returns: new `PangoLayoutLine`
  */
-PangoLine *
-pango_line_new (PangoContext *context,
-                LineData     *data)
+PangoLayoutLine *
+pango_layout_line_new (PangoContext *context,
+                       LineData     *data)
 {
-  PangoLine *line;
+  PangoLayoutLine *line;
 
-  line = g_object_new (PANGO_TYPE_LINE, NULL);
+  line = g_object_new (PANGO_TYPE_LAYOUT_LINE, NULL);
 
   line->context = g_object_ref (context);
   line->data = line_data_ref (data);
@@ -565,17 +565,17 @@ pango_line_new (PangoContext *context,
 }
 
 /*< private >
- * pango_line_index_to_run:
- * @line: a `PangoLine`
+ * pango_layout_line_index_to_run:
+ * @line: a `PangoLayoutLine`
  * @idx: a byte offset in the line
  * @item: (out): return location for the run
  *
  * Finds the run in @line which contains @idx.
  */
 void
-pango_line_index_to_run (PangoLine       *line,
-                         int              idx,
-                         PangoGlyphItem **item)
+pango_layout_line_index_to_run (PangoLayoutLine  *line,
+                                int               idx,
+                                PangoGlyphItem  **item)
 {
   *item = NULL;
 
@@ -596,8 +596,8 @@ pango_line_index_to_run (PangoLine       *line,
 /* {{{ Simple getters */
 
 /**
- * pango_line_get_runs:
- * @line: a `PangoLine`
+ * pango_layout_line_get_runs:
+ * @line: a `PangoLayoutLine`
  *
  * Gets the runs of the line.
  *
@@ -607,22 +607,22 @@ pango_line_index_to_run (PangoLine       *line,
  * Returns: (transfer none) (element-type PangoGlyphItem): a list of `PangoGlyphItem`
  */
 GSList *
-pango_line_get_runs (PangoLine *line)
+pango_layout_line_get_runs (PangoLayoutLine *line)
 {
-  g_return_val_if_fail (PANGO_IS_LINE (line), NULL);
+  g_return_val_if_fail (PANGO_IS_LAYOUT_LINE (line), NULL);
 
   return line->runs;
 }
 
 /**
- * pango_line_get_text:
- * @line: a `PangoLine`
+ * pango_layout_line_get_text:
+ * @line: a `PangoLayoutLine`
  * @start_index: the byte index of the first byte of @line
  * @length: the number of bytes in @line
  *
  * Gets the text that @line presents.
  *
- * The `PangoLine` represents the slice from @start_index
+ * The `PangoLayoutLine` represents the slice from @start_index
  * to @start_index + @length of the returned string.
  *
  * The returned string is owned by @line and must not
@@ -631,11 +631,11 @@ pango_line_get_runs (PangoLine *line)
  * Returns: the text
  */
 const char *
-pango_line_get_text (PangoLine *line,
-                     int       *start_index,
-                     int       *length)
+pango_layout_line_get_text (PangoLayoutLine *line,
+                            int             *start_index,
+                            int             *length)
 {
-  g_return_val_if_fail (PANGO_IS_LINE (line), NULL);
+  g_return_val_if_fail (PANGO_IS_LAYOUT_LINE (line), NULL);
   g_return_val_if_fail (start_index != NULL, NULL);
   g_return_val_if_fail (length != NULL, NULL);
 
@@ -646,8 +646,8 @@ pango_line_get_text (PangoLine *line,
 }
 
 /**
- * pango_line_get_log_attrs:
- * @line: a `PangoLine`
+ * pango_layout_line_get_log_attrs:
+ * @line: a `PangoLayoutLine`
  * @start_offset: the character offset of the first character of @line
  * @n_attrs: the number of attributes that apply to @line
  *
@@ -662,11 +662,11 @@ pango_line_get_text (PangoLine *line,
  * Returns: the `PangoLogAttr` array
  */
 const PangoLogAttr *
-pango_line_get_log_attrs (PangoLine *line,
-                          int       *start_offset,
-                          int       *n_attrs)
+pango_layout_line_get_log_attrs (PangoLayoutLine *line,
+                                 int             *start_offset,
+                                 int             *n_attrs)
 {
-  g_return_val_if_fail (PANGO_IS_LINE (line), NULL);
+  g_return_val_if_fail (PANGO_IS_LAYOUT_LINE (line), NULL);
   g_return_val_if_fail (start_offset != NULL, NULL);
   g_return_val_if_fail (n_attrs != NULL, NULL);
 
@@ -677,115 +677,115 @@ pango_line_get_log_attrs (PangoLine *line,
 }
 
 /**
- * pango_line_wrapped:
- * @line: a `PangoLine`
+ * pango_layout_line_wrapped:
+ * @line: a `PangoLayoutLine`
  *
  * Gets whether the line is wrapped.
  *
  * Returns: `TRUE` if @line has been wrapped
  */
 gboolean
-pango_line_wrapped (PangoLine *line)
+pango_layout_line_wrapped (PangoLayoutLine *line)
 {
-  g_return_val_if_fail (PANGO_IS_LINE (line), FALSE);
+  g_return_val_if_fail (PANGO_IS_LAYOUT_LINE (line), FALSE);
 
   return line->wrapped;
 }
 
 /**
- * pango_line_ellipsized:
- * @line: a `PangoLine`
+ * pango_layout_line_ellipsized:
+ * @line: a `PangoLayoutLine`
  *
  * Gets whether the line is ellipsized.
  *
  * Returns: `TRUE` if @line has been ellipsized
  */
 gboolean
-pango_line_ellipsized (PangoLine *line)
+pango_layout_line_ellipsized (PangoLayoutLine *line)
 {
-  g_return_val_if_fail (PANGO_IS_LINE (line), FALSE);
+  g_return_val_if_fail (PANGO_IS_LAYOUT_LINE (line), FALSE);
 
   return line->ellipsized;
 }
 
 /**
- * pango_line_hyphenated:
- * @line: a `PangoLine`
+ * pango_layout_line_hyphenated:
+ * @line: a `PangoLayoutLine`
  *
  * Gets whether the line is hyphenated.
  *
  * Returns: `TRUE` if @line has been hyphenated
  */
 gboolean
-pango_line_hyphenated (PangoLine *line)
+pango_layout_line_hyphenated (PangoLayoutLine *line)
 {
-  g_return_val_if_fail (PANGO_IS_LINE (line), FALSE);
+  g_return_val_if_fail (PANGO_IS_LAYOUT_LINE (line), FALSE);
 
   return line->hyphenated;
 }
 
 /**
- * pango_line_justified:
- * @line: a `PangoLine`
+ * pango_layout_line_justified:
+ * @line: a `PangoLayoutLine`
  *
  * Gets whether the line is justified.
  *
- * See [method Pango Line.justify].
+ * See [method@Pango.LayoutLine.justify].
  *
  * Returns: `TRUE` if @line has been justified
  */
 gboolean
-pango_line_justified (PangoLine *line)
+pango_layout_line_justified (PangoLayoutLine *line)
 {
-  g_return_val_if_fail (PANGO_IS_LINE (line), FALSE);
+  g_return_val_if_fail (PANGO_IS_LAYOUT_LINE (line), FALSE);
 
   return line->justified;
 }
 
 /**
- * pango_line_starts_paragraph:
- * @line: a `PangoLine`
+ * pango_layout_line_starts_paragraph:
+ * @line: a `PangoLayoutLine`
  *
  * Gets whether the line is the first of a paragraph.
  *
  * Returns: `TRUE` if @line starts a paragraph
  */
 gboolean
-pango_line_starts_paragraph (PangoLine *line)
+pango_layout_line_starts_paragraph (PangoLayoutLine *line)
 {
-  g_return_val_if_fail (PANGO_IS_LINE (line), FALSE);
+  g_return_val_if_fail (PANGO_IS_LAYOUT_LINE (line), FALSE);
 
   return line->starts_paragraph;
 }
 
 /**
- * pango_line_ends_paragraph:
- * @line: a `PangoLine`
+ * pango_layout_line_ends_paragraph:
+ * @line: a `PangoLayoutLine`
  *
  * Gets whether the line is the last of a paragraph.
  *
  * Returns: `TRUE` if @line ends a paragraph
  */
 gboolean
-pango_line_ends_paragraph (PangoLine *line)
+pango_layout_line_ends_paragraph (PangoLayoutLine *line)
 {
-  g_return_val_if_fail (PANGO_IS_LINE (line), FALSE);
+  g_return_val_if_fail (PANGO_IS_LAYOUT_LINE (line), FALSE);
 
   return line->ends_paragraph;
 }
 
 /**
- * pango_line_get_direction:
- * @line: a `PangoLine`
+ * pango_layout_line_get_direction:
+ * @line: a `PangoLayoutLine`
  *
  * Gets the text direction of the line.
  *
  * Returns: the direction of @line
  */
 PangoDirection
-pango_line_get_direction (PangoLine *line)
+pango_layout_line_get_direction (PangoLayoutLine *line)
 {
-  g_return_val_if_fail (PANGO_IS_LINE (line), PANGO_DIRECTION_LTR);
+  g_return_val_if_fail (PANGO_IS_LAYOUT_LINE (line), PANGO_DIRECTION_LTR);
 
   return line->direction;
 }
@@ -794,11 +794,11 @@ pango_line_get_direction (PangoLine *line)
 /* {{{ Justification */
 
 /**
- * pango_line_justify:
- * @line: (transfer full): a `PangoLine`
+ * pango_layout_line_justify:
+ * @line: (transfer full): a `PangoLayoutLine`
  * @width: the width to justify @line to
  *
- * Creates a new `PangoLine` that is justified
+ * Creates a new `PangoLayoutLine` that is justified
  * copy of @line.
  *
  * The content of the returned line is justified
@@ -807,20 +807,20 @@ pango_line_get_direction (PangoLine *line)
  *
  * Note that this function consumes @line.
  *
- * Returns: (transfer full): a new `PangoLine`
+ * Returns: (transfer full): a new `PangoLayoutLine`
  */
-PangoLine *
-pango_line_justify (PangoLine *line,
-                    int        width)
+PangoLayoutLine *
+pango_layout_line_justify (PangoLayoutLine *line,
+                           int              width)
 {
   int remaining_width;
-  PangoLine *copy;
+  PangoLayoutLine *copy;
 
-  remaining_width = width - pango_line_compute_width (line);
+  remaining_width = width - pango_layout_line_compute_width (line);
   if (remaining_width <= 0)
     return line;
 
-  copy = pango_line_new (line->context, line->data);
+  copy = pango_layout_line_new (line->context, line->data);
   copy->start_index = line->start_index;
   copy->length = line->length;
   copy->start_offset = line->start_offset;
@@ -854,8 +854,8 @@ pango_line_justify (PangoLine *line,
 /* {{{ Extents */
 
 /**
- * pango_line_get_extents:
- * @line: a `PangoLine`
+ * pango_layout_line_get_extents:
+ * @line: a `PangoLayoutLine`
  * @ink_rect: (out) (optional): rectangle that will be filled with ink extents
  * @logical_rect: (out) (optional): rectangle that will be filled with the logical extents
  *
@@ -865,14 +865,14 @@ pango_line_justify (PangoLine *line,
  * trimmed according to paragraph boundaries: if the line starts a paragraph,
  * it has its start leading trimmed; if it ends a paragraph, it has its end
  * leading trimmed. If you need other trimming, use
- * [method Pango Line.get_trimmed_extents].
+ * [method@Pango.LayoutLine.get_trimmed_extents].
  *
  * Note that the origin is at the left end of the baseline.
  */
 void
-pango_line_get_extents (PangoLine      *line,
-                        PangoRectangle *ink_rect,
-                        PangoRectangle *logical_rect)
+pango_layout_line_get_extents (PangoLayoutLine *line,
+                               PangoRectangle  *ink_rect,
+                               PangoRectangle  *logical_rect)
 {
   PangoRectangle ink = { 0, };
   PangoRectangle logical  = { 0, };
@@ -900,8 +900,8 @@ cached:
 }
 
 /**
- * pango_line_get_trimmed_extents:
- * @line: a `PangoLine`
+ * pango_layout_line_get_trimmed_extents:
+ * @line: a `PangoLayoutLine`
  * @trim: `PangoLeadingTrim` flags
  * @logical_rect: (out): rectangle that will be filled with the logical extents
  *
@@ -915,9 +915,9 @@ cached:
  * Note that the origin is at the left end of the baseline.
  */
 void
-pango_line_get_trimmed_extents (PangoLine        *line,
-                                PangoLeadingTrim  trim,
-                                PangoRectangle   *logical_rect)
+pango_layout_line_get_trimmed_extents (PangoLayoutLine  *line,
+                                       PangoLeadingTrim  trim,
+                                       PangoRectangle   *logical_rect)
 {
   PangoRectangle ink = { 0, };
   PangoLeadingTrim cached_trim = PANGO_LEADING_TRIM_NONE;
@@ -940,12 +940,12 @@ pango_line_get_trimmed_extents (PangoLine        *line,
 /* {{{ Editing API */
 
 /**
- * pango_line_layout_index_to_pos:
- * @line: a `PangoLine`
+ * pango_layout_line_layout_index_to_pos:
+ * @line: a `PangoLayoutLine`
  * @idx: byte index within @line
  * @pos: (out): rectangle in which to store the position of the grapheme
  *
- * Converts from an index within a `PangoLine` to the
+ * Converts from an index within a `PangoLayoutLine` to the
  * position corresponding to the grapheme at that index.
  *
  * The return value is represented as rectangle. Note that `pos->x` is
@@ -956,16 +956,16 @@ pango_line_get_trimmed_extents (PangoLine        *line,
  * Note that @idx is allowed to be @line->start_index + @line->length.
  */
 void
-pango_line_index_to_pos (PangoLine      *line,
-                         int             idx,
-                         PangoRectangle *pos)
+pango_layout_line_index_to_pos (PangoLayoutLine *line,
+                                int              idx,
+                                PangoRectangle  *pos)
 {
   PangoRectangle run_logical;
   PangoRectangle line_logical;
   PangoGlyphItem *run = NULL;
   int x_pos;
 
-  pango_line_get_extents (line, NULL, &line_logical);
+  pango_layout_line_get_extents (line, NULL, &line_logical);
 
   if (!line->runs)
     {
@@ -976,7 +976,7 @@ pango_line_index_to_pos (PangoLine      *line,
   if (idx == line->start_index + line->length)
     run = g_slist_last (line->runs)->data;
   else
-    pango_line_index_to_run (line, idx, &run);
+    pango_layout_line_index_to_run (line, idx, &run);
 
   pango_glyph_item_get_extents (run, PANGO_LEADING_TRIM_BOTH, NULL, &run_logical);
 
@@ -985,12 +985,12 @@ pango_line_index_to_pos (PangoLine      *line,
 
   /* FIXME: avoid iterating through the runs multiple times */
 
-  pango_line_index_to_x (line, idx, 0, &x_pos);
+  pango_layout_line_index_to_x (line, idx, 0, &x_pos);
   pos->x = line_logical.x + x_pos;
 
   if (idx < line->start_index + line->length)
     {
-      pango_line_index_to_x (line, idx, 1, &x_pos);
+      pango_layout_line_index_to_x (line, idx, 1, &x_pos);
       pos->width = (line_logical.x + x_pos) - pos->x;
     }
   else
@@ -998,23 +998,23 @@ pango_line_index_to_pos (PangoLine      *line,
 }
 
 /**
- * pango_line_index_to_x:
- * @line: a `PangoLine`
+ * pango_layout_line_index_to_x:
+ * @line: a `PangoLayoutLine`
  * @idx: byte index within @line
  * @trailing: an integer indicating the edge of the grapheme to retrieve
  *   the position of. If > 0, the trailing edge of the grapheme,
  *   if 0, the leading of the grapheme
  * @x_pos: (out): location to store the x_offset (in Pango units)
  *
- * Converts an index within a `PangoLine` to a X position.
+ * Converts an index within a `PangoLayoutLine` to a X position.
  *
  * Note that @idx is allowed to be @line->start_index + @line->length.
  */
 void
-pango_line_index_to_x (PangoLine *line,
-                       int        index,
-                       int        trailing,
-                       int       *x_pos)
+pango_layout_line_index_to_x (PangoLayoutLine *line,
+                              int              index,
+                              int              trailing,
+                              int             *x_pos)
 {
   GSList *run_list = line->runs;
   int width = 0;
@@ -1075,8 +1075,8 @@ pango_line_index_to_x (PangoLine *line,
 }
 
 /**
- * pango_line_x_to_index:
- * @line: a `PangoLine`
+ * pango_layout_line_x_to_index:
+ * @line: a `PangoLayoutLine`
  * @x: the X offset (in Pango units) from the left edge of the line
  * @idx: (out): location to store calculated byte index for the grapheme
  *   in which the user clicked
@@ -1099,10 +1099,10 @@ pango_line_index_to_x (PangoLine *line,
  * Return value: %FALSE if @x_pos was outside the line, %TRUE if inside
  */
 gboolean
-pango_line_x_to_index (PangoLine *line,
-                       int        x_pos,
-                       int       *index,
-                       int       *trailing)
+pango_layout_line_x_to_index (PangoLayoutLine *line,
+                              int              x_pos,
+                              int             *index,
+                              int             *trailing)
 {
   GSList *tmp_list;
   gint start_pos = 0;
@@ -1268,8 +1268,8 @@ pango_line_x_to_index (PangoLine *line,
 /* {{{ Cursor positioning */
 
 /**
- * pango_line_get_cursor_pos:
- * @line: a `PangoLine`
+ * pango_layout_line_get_cursor_pos:
+ * @line: a `PangoLayoutLine`
  * @idx: the byte index of the cursor
  * @strong_pos: (out) (optional): location to store the strong cursor position
  * @weak_pos: (out) (optional): location to store the weak cursor position
@@ -1305,10 +1305,10 @@ pango_line_x_to_index (PangoLine *line,
  * will insert it at the end.
  */
 void
-pango_line_get_cursor_pos (PangoLine      *line,
-                           int             idx,
-                           PangoRectangle *strong_pos,
-                           PangoRectangle *weak_pos)
+pango_layout_line_get_cursor_pos (PangoLayoutLine *line,
+                                  int              idx,
+                                  PangoRectangle  *strong_pos,
+                                  PangoRectangle  *weak_pos)
 {
   PangoRectangle line_rect = { 666, };
   PangoRectangle run_rect = { 666, };
@@ -1324,9 +1324,9 @@ pango_line_get_cursor_pos (PangoLine      *line,
         run = g_slist_last (line->runs)->data;
     }
   else
-    pango_line_index_to_run (line, idx, &run);
+    pango_layout_line_index_to_run (line, idx, &run);
 
-  pango_line_get_extents (line, NULL, &line_rect);
+  pango_layout_line_get_extents (line, NULL, &line_rect);
   if (run)
     pango_glyph_item_get_extents (run, PANGO_LEADING_TRIM_BOTH, NULL, &run_rect);
   else
@@ -1360,10 +1360,10 @@ pango_line_get_cursor_pos (PangoLine      *line,
         {
           PangoGlyphItem *prev_run;
 
-          pango_line_index_to_run (line, prev_index, &prev_run);
+          pango_layout_line_index_to_run (line, prev_index, &prev_run);
           level1 = prev_run->item->analysis.level;
           dir1 = level1 % 2 ? PANGO_DIRECTION_RTL : PANGO_DIRECTION_LTR;
-          pango_line_index_to_x (line, prev_index, TRUE, &x1_trailing);
+          pango_layout_line_index_to_x (line, prev_index, TRUE, &x1_trailing);
         }
     }
 
@@ -1379,7 +1379,7 @@ pango_line_get_cursor_pos (PangoLine      *line,
     }
   else
     {
-      pango_line_index_to_x (line, idx, FALSE, &x2);
+      pango_layout_line_index_to_x (line, idx, FALSE, &x2);
       level2 = run->item->analysis.level;
       dir2 = level2 % 2 ? PANGO_DIRECTION_RTL : PANGO_DIRECTION_LTR;
     }
@@ -1417,8 +1417,8 @@ done:
 }
 
 /**
- * pango_line_get_caret_pos:
- * @line: a `PangoLine`
+ * pango_layout_line_get_caret_pos:
+ * @line: a `PangoLayoutLine`
  * @idx: the byte index of the cursor
  * @strong_pos: (out) (optional): location to store the strong cursor position
  * @weak_pos: (out) (optional): location to store the weak cursor position
@@ -1428,7 +1428,7 @@ done:
  *
  * Note that @idx is allowed to be @line->start_index + @line->length.
  *
- * This is a variant of [method Pango Line.get_cursor_pos] that applies
+ * This is a variant of [method@Pango.LayoutLine.get_cursor_pos] that applies
  * font metric information about caret slope and offset to the positions
  * it returns.
  *
@@ -1438,16 +1438,16 @@ done:
  * </picture>
  */
 void
-pango_line_get_caret_pos (PangoLine      *line,
-                          int             idx,
-                          PangoRectangle *strong_pos,
-                          PangoRectangle *weak_pos)
+pango_layout_line_get_caret_pos (PangoLayoutLine *line,
+                                 int              idx,
+                                 PangoRectangle  *strong_pos,
+                                 PangoRectangle  *weak_pos)
 {
   PangoGlyphItem *run = NULL;
   hb_font_t *hb_font;
   hb_position_t caret_offset, caret_run, caret_rise, descender;
 
-  pango_line_get_cursor_pos (line, idx, strong_pos, weak_pos);
+  pango_layout_line_get_cursor_pos (line, idx, strong_pos, weak_pos);
 
   if (idx >= line->start_index + line->length)
     {
@@ -1455,7 +1455,7 @@ pango_line_get_caret_pos (PangoLine      *line,
         run = g_slist_last (line->runs)->data;
     }
   else
-    pango_line_index_to_run (line, idx, &run);
+    pango_layout_line_index_to_run (line, idx, &run);
 
   if (!run)
     return;
diff --git a/pango/pango-line.h b/pango/pango-layout-line.h
similarity index 57%
rename from pango/pango-line.h
rename to pango/pango-layout-line.h
index 0fb16a85..f22f119d 100644
--- a/pango/pango-line.h
+++ b/pango/pango-layout-line.h
@@ -7,84 +7,88 @@
 
 G_BEGIN_DECLS
 
-#define PANGO_TYPE_LINE pango_line_get_type ()
+#define PANGO_TYPE_LAYOUT_LINE pango_layout_line_get_type ()
 
 PANGO_AVAILABLE_IN_ALL
-G_DECLARE_FINAL_TYPE (PangoLine, pango_line, PANGO, LINE, GObject);
+G_DECLARE_FINAL_TYPE (PangoLayoutLine, pango_layout_line, PANGO, LAYOUT_LINE, GObject);
 
 PANGO_AVAILABLE_IN_ALL
-PangoLine *             pango_line_justify              (PangoLine             *line,
+PangoLayoutLine *       pango_layout_line_justify       (PangoLayoutLine       *line,
                                                          int                    width);
 
 PANGO_AVAILABLE_IN_ALL
-GSList *                pango_line_get_runs             (PangoLine             *line);
+GSList *                pango_layout_line_get_runs      (PangoLayoutLine       *line);
 
 PANGO_AVAILABLE_IN_ALL
-const char *            pango_line_get_text             (PangoLine             *line,
+const char *            pango_layout_line_get_text      (PangoLayoutLine       *line,
                                                          int                   *start_index,
                                                          int                   *length);
 
 PANGO_AVAILABLE_IN_ALL
-const PangoLogAttr *    pango_line_get_log_attrs        (PangoLine             *line,
+const PangoLogAttr *    pango_layout_line_get_log_attrs (PangoLayoutLine       *line,
                                                          int                   *start_offset,
                                                          int                   *n_attrs);
 
 PANGO_AVAILABLE_IN_ALL
-gboolean                pango_line_wrapped              (PangoLine             *line);
+gboolean                pango_layout_line_wrapped       (PangoLayoutLine       *line);
 
 PANGO_AVAILABLE_IN_ALL
-gboolean                pango_line_ellipsized           (PangoLine             *line);
+gboolean                pango_layout_line_ellipsized    (PangoLayoutLine       *line);
 
 PANGO_AVAILABLE_IN_ALL
-gboolean                pango_line_hyphenated           (PangoLine             *line);
+gboolean                pango_layout_line_hyphenated    (PangoLayoutLine       *line);
 
 PANGO_AVAILABLE_IN_ALL
-gboolean                pango_line_justified            (PangoLine             *line);
+gboolean                pango_layout_line_justified     (PangoLayoutLine       *line);
 
 PANGO_AVAILABLE_IN_ALL
-gboolean                pango_line_starts_paragraph     (PangoLine             *line);
+gboolean                pango_layout_line_starts_paragraph
+                                                        (PangoLayoutLine       *line);
 
 PANGO_AVAILABLE_IN_ALL
-gboolean                pango_line_ends_paragraph       (PangoLine             *line);
+gboolean                pango_layout_line_ends_paragraph
+                                                        (PangoLayoutLine       *line);
 
 PANGO_AVAILABLE_IN_ALL
-PangoDirection          pango_line_get_direction        (PangoLine             *line);
+PangoDirection          pango_layout_line_get_direction (PangoLayoutLine       *line);
 
 PANGO_AVAILABLE_IN_ALL
-void                    pango_line_get_extents          (PangoLine             *line,
+void                    pango_layout_line_get_extents   (PangoLayoutLine       *line,
                                                          PangoRectangle        *ink_rect,
                                                          PangoRectangle        *logical_rect);
 
 PANGO_AVAILABLE_IN_ALL
-void                    pango_line_get_trimmed_extents  (PangoLine             *line,
+void                    pango_layout_line_get_trimmed_extents
+                                                        (PangoLayoutLine       *line,
                                                          PangoLeadingTrim       trim,
                                                          PangoRectangle        *logical_rect);
 
 PANGO_AVAILABLE_IN_ALL
-void                    pango_line_index_to_pos         (PangoLine             *line,
+void                    pango_layout_line_index_to_pos  (PangoLayoutLine       *line,
                                                          int                    idx,
                                                          PangoRectangle        *pos);
 
 PANGO_AVAILABLE_IN_ALL
-void                    pango_line_index_to_x           (PangoLine             *line,
+void                    pango_layout_line_index_to_x    (PangoLayoutLine       *line,
                                                          int                    idx,
                                                          int                    trailing,
                                                          int                   *x_pos);
 
 PANGO_AVAILABLE_IN_ALL
-gboolean                pango_line_x_to_index           (PangoLine             *line,
+gboolean                pango_layout_line_x_to_index    (PangoLayoutLine       *line,
                                                          int                    x,
                                                          int                   *idx,
                                                          int                   *trailing);
 
 PANGO_AVAILABLE_IN_ALL
-void                    pango_line_get_cursor_pos       (PangoLine             *line,
+void                    pango_layout_line_get_cursor_pos
+                                                        (PangoLayoutLine       *line,
                                                          int                    idx,
                                                          PangoRectangle        *strong_pos,
                                                          PangoRectangle        *weak_pos);
 
 PANGO_AVAILABLE_IN_ALL
-void                    pango_line_get_caret_pos        (PangoLine             *line,
+void                    pango_layout_line_get_caret_pos (PangoLayoutLine       *line,
                                                          int                    idx,
                                                          PangoRectangle        *strong_pos,
                                                          PangoRectangle        *weak_pos);
diff --git a/pango/pango-layout.c b/pango/pango-layout.c
index e1bccb27..8522afee 100644
--- a/pango/pango-layout.c
+++ b/pango/pango-layout.c
@@ -2,8 +2,7 @@
 
 #include "pango-layout.h"
 #include "pango-line-breaker.h"
-#include "pango-lines.h"
-#include "pango-line-private.h"
+#include "pango-layout-line-private.h"
 #include "pango-enum-types.h"
 #include "pango-markup.h"
 #include "pango-context.h"
@@ -557,7 +556,7 @@ ensure_lines (PangoLayout *layout)
   line_no = 0;
   while (!pango_line_breaker_done (breaker))
     {
-      PangoLine *line;
+      PangoLayoutLine *line;
       PangoRectangle ext;
       int offset;
       PangoEllipsizeMode ellipsize = PANGO_ELLIPSIZE_NONE;
@@ -578,7 +577,7 @@ ensure_lines (PangoLayout *layout)
 
 retry:
       line = pango_line_breaker_next_line (breaker, x, width, layout->wrap, ellipsize);
-      pango_line_get_extents (line, NULL, &ext);
+      pango_layout_line_get_extents (line, NULL, &ext);
 
       if (layout->height >= 0 && y + 2 * ext.height >= layout->height &&
           ellipsize != layout->ellipsize)
@@ -606,11 +605,11 @@ retry:
             offset = width - ext.width;
           break;
         case PANGO_ALIGN_JUSTIFY:
-          if (!pango_line_ends_paragraph (line))
-            line = pango_line_justify (line, width);
+          if (!pango_layout_line_ends_paragraph (line))
+            line = pango_layout_line_justify (line, width);
           break;
         case PANGO_ALIGN_JUSTIFY_ALL:
-          line = pango_line_justify (line, width);
+          line = pango_layout_line_justify (line, width);
           break;
         default: g_assert_not_reached ();
         }
@@ -631,12 +630,12 @@ retry:
       int start_index;
       int start_offset;
       int offset;
-      PangoLine *line;
+      PangoLayoutLine *line;
       PangoRectangle ext;
 
       if (pango_lines_get_line_count (layout->lines) > 0)
         {
-          PangoLine *last;
+          PangoLayoutLine *last;
 
           last = pango_lines_get_line (layout->lines,
                                        pango_lines_get_line_count (layout->lines) - 1,
@@ -659,7 +658,7 @@ retry:
           offset = 0;
         }
 
-      line = pango_line_new (layout->context, data);
+      line = pango_layout_line_new (layout->context, data);
       line->starts_paragraph = TRUE;
       line->ends_paragraph = TRUE;
       line->start_index = start_index;
@@ -667,7 +666,7 @@ retry:
       line->start_offset = start_offset;
       line->n_chars = 0;
 
-      pango_line_get_extents (line, NULL, &ext);
+      pango_layout_line_get_extents (line, NULL, &ext);
 
       pango_lines_add_line (layout->lines, line, x + offset, y - ext.y);
 
@@ -1466,7 +1465,7 @@ pango_layout_set_markup (PangoLayout  *layout,
 int
 pango_layout_get_character_count (PangoLayout *layout)
 {
-  PangoLine *line;
+  PangoLayoutLine *line;
 
   g_return_val_if_fail (PANGO_IS_LAYOUT (layout), 0);
 
@@ -1521,7 +1520,7 @@ const PangoLogAttr *
 pango_layout_get_log_attrs (PangoLayout *layout,
                             int         *n_attrs)
 {
-  PangoLine *line;
+  PangoLayoutLine *line;
 
   g_return_val_if_fail (PANGO_IS_LAYOUT (layout), NULL);
 
diff --git a/pango/pango-line-breaker.c b/pango/pango-line-breaker.c
index db9c649d..ffc825fd 100644
--- a/pango/pango-line-breaker.c
+++ b/pango/pango-line-breaker.c
@@ -1,7 +1,7 @@
 #include "config.h"
 
 #include "pango-line-breaker.h"
-#include "pango-line-private.h"
+#include "pango-layout-line-private.h"
 
 #include "pango-tabs.h"
 #include "pango-impl-utils.h"
@@ -28,7 +28,7 @@
  * to influence the formatting.
  *
  * Then you can call [method@Pango.LineBreaker.next_line] repeatedly to obtain
- * `PangoLine` objects for the text, one by one.
+ * `PangoLayoutLine` objects for the text, one by one.
  *
  * `PangoLineBreaker` is meant to enable use cases like flowing text around images,
  * or shaped paragraphs. For simple formatting needs, [class@Pango.Layout]
@@ -401,7 +401,7 @@ get_resolved_dir (PangoLineBreaker *self)
 
 static gboolean
 should_ellipsize_current_line (PangoLineBreaker *self,
-                               PangoLine        *line)
+                               PangoLayoutLine  *line)
 {
   return self->line_ellipsize != PANGO_ELLIPSIZE_NONE && self->line_width >= 0;
 }
@@ -442,7 +442,7 @@ get_decimal_prefix_width (PangoItem        *item,
 }
 
 static int
-pango_line_compute_width (PangoLine *line)
+pango_line_compute_width (PangoLayoutLine *line)
 {
   int width = 0;
 
@@ -460,7 +460,7 @@ pango_line_compute_width (PangoLine *line)
 
 static inline int
 get_line_width (PangoLineBreaker *self,
-                PangoLine        *line)
+                PangoLayoutLine  *line)
 {
   if (self->remaining_width > -1)
     return self->line_width - self->remaining_width;
@@ -599,8 +599,8 @@ pad_glyphstring_left (PangoLineBreaker *self,
 }
 
 static gboolean
-is_tab_run (PangoLine      *line,
-            PangoGlyphItem *run)
+is_tab_run (PangoLayoutLine *line,
+            PangoGlyphItem  *run)
 {
   return line->data->text[run->item->offset] == '\t';
 }
@@ -675,7 +675,7 @@ reorder_runs_recurse (GSList *items,
 }
 
 static void
-pango_line_reorder (PangoLine *line)
+pango_line_reorder (PangoLayoutLine *line)
 {
   GSList *logical_runs = line->runs;
   GSList *tmp_list;
@@ -713,7 +713,7 @@ pango_line_reorder (PangoLine *line)
 }
 
 static int
-compute_n_chars (PangoLine *line)
+compute_n_chars (PangoLayoutLine *line)
 {
   int n_chars = 0;
 
@@ -731,7 +731,7 @@ compute_n_chars (PangoLine *line)
 
 static void
 get_tab_pos (PangoLineBreaker *self,
-             PangoLine        *line,
+             PangoLayoutLine  *line,
              int               index,
              int              *tab_pos,
              PangoTabAlign    *alignment,
@@ -807,7 +807,7 @@ get_tab_pos (PangoLineBreaker *self,
 
 static void
 shape_tab (PangoLineBreaker *self,
-           PangoLine        *line,
+           PangoLayoutLine  *line,
            int               current_width,
            PangoItem        *item,
            PangoGlyphString *glyphs)
@@ -910,7 +910,7 @@ distribute_letter_spacing (int  letter_spacing,
 
 static PangoGlyphString *
 shape_run (PangoLineBreaker *self,
-           PangoLine        *line,
+           PangoLayoutLine  *line,
            PangoItem       *item)
 {
   PangoGlyphString *glyphs = pango_glyph_string_new ();
@@ -999,7 +999,7 @@ free_run (PangoGlyphItem *run,
 }
 
 static PangoItem *
-uninsert_run (PangoLine *line)
+uninsert_run (PangoLayoutLine *line)
 {
   PangoGlyphItem *run;
   PangoItem *item;
@@ -1020,7 +1020,7 @@ uninsert_run (PangoLine *line)
 
 static void
 insert_run (PangoLineBreaker *self,
-            PangoLine        *line,
+            PangoLayoutLine  *line,
             PangoItem        *run_item,
             PangoGlyphString *glyphs,
             gboolean          last_run)
@@ -1239,7 +1239,7 @@ typedef enum
 
 static BreakResult
 process_item (PangoLineBreaker *self,
-              PangoLine        *line,
+              PangoLayoutLine  *line,
               gboolean         force_fit,
               gboolean         no_break_at_end,
               gboolean         is_last_item)
@@ -1591,7 +1591,7 @@ retry_break:
 
 static void
 process_line (PangoLineBreaker *self,
-              PangoLine        *line)
+              PangoLayoutLine  *line)
 {
   gboolean have_break = FALSE;      /* If we've seen a possible break yet */
   int break_remaining_width = 0;    /* Remaining width before adding run with break */
@@ -1706,7 +1706,7 @@ done:
 
 static void
 add_missing_hyphen (PangoLineBreaker *self,
-                    PangoLine        *line)
+                    PangoLayoutLine  *line)
 {
   PangoGlyphItem *run;
   PangoItem *item;
@@ -1749,7 +1749,7 @@ add_missing_hyphen (PangoLineBreaker *self,
 
 static void
 zero_line_final_space (PangoLineBreaker *self,
-                       PangoLine        *line)
+                       PangoLayoutLine  *line)
 {
   PangoGlyphItem *run;
   PangoItem *item;
@@ -1808,7 +1808,7 @@ zero_line_final_space (PangoLineBreaker *self,
  */
 static void
 adjust_line_letter_spacing (PangoLineBreaker *self,
-                            PangoLine        *line)
+                            PangoLayoutLine  *line)
 {
   gboolean reversed;
   PangoGlyphItem *last_run;
@@ -2019,7 +2019,7 @@ collect_baseline_shift (PangoLineBreaker *self,
 
 static void
 apply_baseline_shift (PangoLineBreaker *self,
-                      PangoLine        *line)
+                      PangoLayoutLine  *line)
 {
   int y_offset = 0;
   PangoItem *prev = NULL;
@@ -2047,7 +2047,7 @@ apply_baseline_shift (PangoLineBreaker *self,
 
 static void
 apply_render_attributes (PangoLineBreaker *self,
-                         PangoLine        *line)
+                         PangoLayoutLine  *line)
 {
   GSList *runs;
 
@@ -2074,7 +2074,7 @@ apply_render_attributes (PangoLineBreaker *self,
 
 static void
 postprocess_line (PangoLineBreaker *self,
-                  PangoLine        *line)
+                  PangoLayoutLine  *line)
 {
   add_missing_hyphen (self, line);
 
@@ -2087,7 +2087,7 @@ postprocess_line (PangoLineBreaker *self,
   apply_baseline_shift (self, line);
 
   if (should_ellipsize_current_line (self, line))
-    pango_line_ellipsize (line, self->context, self->line_ellipsize, self->line_width);
+    pango_layout_line_ellipsize (line, self->context, self->line_ellipsize, self->line_width);
 
   /* Now convert logical to visual order */
   pango_line_reorder (line);
@@ -2477,14 +2477,14 @@ pango_line_breaker_done (PangoLineBreaker *self)
  * Returns: (transfer full) (nullable): the next line, or `NULL`
  *   if @self has no more input
  */
-PangoLine *
+PangoLayoutLine *
 pango_line_breaker_next_line (PangoLineBreaker   *self,
                               int                 x,
                               int                 width,
                               PangoWrapMode       wrap,
                               PangoEllipsizeMode  ellipsize)
 {
-  PangoLine *line;
+  PangoLayoutLine *line;
 
   g_return_val_if_fail (PANGO_IS_LINE_BREAKER (self), NULL);
 
@@ -2493,7 +2493,7 @@ pango_line_breaker_next_line (PangoLineBreaker   *self,
   if (!self->items)
     return NULL;
 
-  line = pango_line_new (self->context, self->data);
+  line = pango_layout_line_new (self->context, self->data);
 
   line->start_index = self->line_start_index;
   line->start_offset = self->line_start_offset;
@@ -2536,7 +2536,7 @@ pango_line_breaker_next_line (PangoLineBreaker   *self,
       g_clear_pointer (&self->render_attrs, pango_attr_list_unref);
     }
 
-  pango_line_check_invariants (line);
+  pango_layout_line_check_invariants (line);
 
   return line;
 }
@@ -2562,7 +2562,7 @@ pango_line_breaker_next_line (PangoLineBreaker   *self,
  */
 gboolean
 pango_line_breaker_undo_line (PangoLineBreaker *self,
-                              PangoLine        *line)
+                              PangoLayoutLine  *line)
 {
   if (self->data == NULL &&
       line->start_index == 0 && line->length == line->data->length)
diff --git a/pango/pango-line-breaker.h b/pango/pango-line-breaker.h
index 050d98ff..fb38318e 100644
--- a/pango/pango-line-breaker.h
+++ b/pango/pango-line-breaker.h
@@ -4,7 +4,7 @@
 #include <pango/pango-types.h>
 #include <pango/pango-break.h>
 #include <pango/pango-layout.h>
-#include <pango/pango-line.h>
+#include <pango/pango-layout-line.h>
 
 G_BEGIN_DECLS
 
@@ -44,7 +44,7 @@ PANGO_AVAILABLE_IN_ALL
 gboolean                pango_line_breaker_done         (PangoLineBreaker      *self);
 
 PANGO_AVAILABLE_IN_ALL
-PangoLine *             pango_line_breaker_next_line    (PangoLineBreaker      *self,
+PangoLayoutLine *       pango_line_breaker_next_line    (PangoLineBreaker      *self,
                                                          int                    x,
                                                          int                    width,
                                                          PangoWrapMode          wrap,
@@ -52,6 +52,6 @@ PangoLine *             pango_line_breaker_next_line    (PangoLineBreaker      *
 
 PANGO_AVAILABLE_IN_ALL
 gboolean                pango_line_breaker_undo_line    (PangoLineBreaker      *self,
-                                                         PangoLine             *line);
+                                                         PangoLayoutLine       *line);
 
 G_END_DECLS
diff --git a/pango/pango-lines.c b/pango/pango-lines.c
index 4bd121a9..37092bdd 100644
--- a/pango/pango-lines.c
+++ b/pango/pango-lines.c
@@ -1,7 +1,7 @@
 #include "config.h"
 
 #include "pango-lines-private.h"
-#include "pango-line-private.h"
+#include "pango-layout-line-private.h"
 #include "pango-item-private.h"
 #include "pango-layout-iter-private.h"
 
@@ -10,7 +10,7 @@
 typedef struct _Line Line;
 struct _Line
 {
-  PangoLine *line;
+  PangoLayoutLine *line;
   int x, y;
 };
 
@@ -71,8 +71,8 @@ compare_cursor (gconstpointer v1,
 }
 
 static void
-pango_line_get_cursors (PangoLines *lines,
-                        PangoLine  *line,
+pango_layout_line_get_cursors (PangoLines *lines,
+                        PangoLayoutLine  *line,
                         gboolean    strong,
                         GArray     *cursors)
 {
@@ -111,7 +111,7 @@ pango_line_get_cursors (PangoLines *lines,
         {
           CursorPos cursor;
 
-          pango_line_get_cursor_pos (line, idx,
+          pango_layout_line_get_cursor_pos (line, idx,
                                      strong ? &pos : NULL,
                                      strong ? NULL : &pos);
 
@@ -167,7 +167,7 @@ pango_lines_get_serial (PangoLines *lines)
 /**
  * pango_lines_add_line:
  * @lines: a `PangoLines`
- * @line: the `PangoLine` to add
+ * @line: the `PangoLayoutLine` to add
  * @line_x: X coordinate of the position
  * @line_y: Y coordinate of the position
  *
@@ -178,7 +178,7 @@ pango_lines_get_serial (PangoLines *lines)
  */
 void
 pango_lines_add_line (PangoLines *lines,
-                      PangoLine  *line,
+                      PangoLayoutLine  *line,
                       int         x_line,
                       int         y_line)
 {
@@ -240,7 +240,7 @@ pango_lines_get_line_count (PangoLines *lines)
  *
  * Returns: (transfer none) (nullable): the line that was found
  */
-PangoLine *
+PangoLayoutLine *
 pango_lines_get_line (PangoLines  *lines,
                       int          num,
                       int         *line_x,
@@ -316,7 +316,7 @@ pango_lines_wrapped (PangoLines *lines)
   for (int i = 0; i < lines->lines->len; i++)
     {
       Line *l = &g_array_index (lines->lines, Line, i);
-      if (pango_line_wrapped (l->line))
+      if (pango_layout_line_wrapped (l->line))
         return TRUE;
     }
 
@@ -337,7 +337,7 @@ pango_lines_ellipsized (PangoLines *lines)
   for (int i = 0; i < lines->lines->len; i++)
     {
       Line *l = &g_array_index (lines->lines, Line, i);
-      if (pango_line_ellipsized (l->line))
+      if (pango_layout_line_ellipsized (l->line))
         return TRUE;
     }
 
@@ -358,7 +358,7 @@ pango_lines_hyphenated (PangoLines *lines)
   for (int i = 0; i < lines->lines->len; i++)
     {
       Line *l = &g_array_index (lines->lines, Line, i);
-      if (pango_line_hyphenated (l->line))
+      if (pango_layout_line_hyphenated (l->line))
         return TRUE;
     }
 
@@ -396,7 +396,7 @@ pango_lines_get_extents (PangoLines     *lines,
       PangoRectangle line_ink;
       PangoRectangle line_logical;
 
-      pango_line_get_extents (l->line, &line_ink, &line_logical);
+      pango_layout_line_get_extents (l->line, &line_ink, &line_logical);
       line_ink.x += l->x;
       line_ink.y += l->y;
       line_logical.x += l->x;
@@ -467,14 +467,14 @@ pango_lines_get_size (PangoLines *lines,
 /**
  * pango_layout_lines_get_x_ranges:
  * @lines: a `PangoLines` object
- * @line: the `PangoLine` in @lines whose x ranges will be reported
- * @start_line: (nullable): `PangoLine` wrt to which @start_index is
+ * @line: the `PangoLayoutLine` in @lines whose x ranges will be reported
+ * @start_line: (nullable): `PangoLayoutLine` wrt to which @start_index is
  *   interpreted or `NULL` for the first matching line
  * @start_index: Start byte index of the logical range. If this value
  *   is less than the start index for the line, then the first range
  *   will extend all the way to the leading edge of the layout. Otherwise,
  *   it will start at the leading edge of the first character.
- * @end_line: (nullable): `PangoLine` wrt to which @end_index is
+ * @end_line: (nullable): `PangoLayoutLine` wrt to which @end_index is
  *   interpreted or `NULL` for the first matching line
  * @end_index: Ending byte index of the logical range. If this value is
  *   greater than the end index for the line, then the last range will
@@ -496,14 +496,14 @@ pango_lines_get_size (PangoLines *lines,
  * layout, not with respect to the line.
  */
 void
-pango_lines_get_x_ranges (PangoLines  *lines,
-                          PangoLine   *line,
-                          PangoLine   *start_line,
-                          int          start_index,
-                          PangoLine   *end_line,
-                          int          end_index,
-                          int        **ranges,
-                          int         *n_ranges)
+pango_lines_get_x_ranges (PangoLines       *lines,
+                          PangoLayoutLine  *line,
+                          PangoLayoutLine  *start_line,
+                          int               start_index,
+                          PangoLayoutLine  *end_line,
+                          int               end_index,
+                          int             **ranges,
+                          int              *n_ranges)
 {
   int x_offset;
   int line_no, start_line_no, end_line_no;
@@ -514,10 +514,10 @@ pango_lines_get_x_ranges (PangoLines  *lines,
   int accumulated_width;
 
   g_return_if_fail (PANGO_IS_LINES (lines));
-  g_return_if_fail (PANGO_IS_LINE (line));
-  g_return_if_fail (start_line == NULL || PANGO_IS_LINE (start_line));
+  g_return_if_fail (PANGO_IS_LAYOUT_LINE (line));
+  g_return_if_fail (start_line == NULL || PANGO_IS_LAYOUT_LINE (start_line));
   g_return_if_fail (start_index >= 0);
-  g_return_if_fail (end_line == NULL || PANGO_IS_LINE (end_line));
+  g_return_if_fail (end_line == NULL || PANGO_IS_LAYOUT_LINE (end_line));
   g_return_if_fail (end_index >= 0);
   g_return_if_fail (ranges != NULL);
   g_return_if_fail (n_ranges != NULL);
@@ -547,7 +547,7 @@ pango_lines_get_x_ranges (PangoLines  *lines,
   *ranges = g_new (int, 2 * (2 + g_slist_length (line->runs)));
   range_count = 0;
 
-  dir = pango_line_get_direction (line);
+  dir = pango_layout_line_get_direction (line);
 
   if (x_offset > 0 &&
       ((dir == PANGO_DIRECTION_LTR && start_line_no < line_no) ||
@@ -560,7 +560,7 @@ pango_lines_get_x_ranges (PangoLines  *lines,
     }
 
   accumulated_width = 0;
-  for (GSList *l = pango_line_get_runs (line); l; l = l->next)
+  for (GSList *l = pango_layout_line_get_runs (line); l; l = l->next)
     {
       PangoGlyphItem *run = l->data;
 
@@ -611,7 +611,7 @@ pango_lines_get_x_ranges (PangoLines  *lines,
        accumulated_width += pango_glyph_string_get_width (run->glyphs);
    }
 
-  pango_line_get_extents (line, NULL, &ext);
+  pango_layout_line_get_extents (line, NULL, &ext);
   pango_lines_get_size (lines, &width, NULL);
 
   if (x_offset + ext.width < width &&
@@ -653,12 +653,12 @@ pango_lines_get_x_ranges (PangoLines  *lines,
  * as *@line and use this function to find the line at @idx.
  */
 void
-pango_lines_index_to_line (PangoLines  *lines,
-                           int          idx,
-                           PangoLine  **line,
-                           int         *line_no,
-                           int         *x_offset,
-                           int         *y_offset)
+pango_lines_index_to_line (PangoLines       *lines,
+                           int               idx,
+                           PangoLayoutLine **line,
+                           int              *line_no,
+                           int              *x_offset,
+                           int              *y_offset)
 {
   Line *found = NULL;
   int num;
@@ -715,12 +715,12 @@ pango_lines_index_to_line (PangoLines  *lines,
 
  * Returns: (transfer none) (nullable): the line that was found
  */
-PangoLine *
-pango_lines_pos_to_line (PangoLines  *lines,
-                         int          x,
-                         int          y,
-                         int         *line_x,
-                         int         *line_y)
+PangoLayoutLine *
+pango_lines_pos_to_line (PangoLines *lines,
+                         int         x,
+                         int         y,
+                         int        *line_x,
+                         int        *line_y)
 {
   g_return_val_if_fail (PANGO_IS_LINES (lines), FALSE);
 
@@ -729,7 +729,7 @@ pango_lines_pos_to_line (PangoLines  *lines,
       Line *l = &g_array_index (lines->lines, Line, i);
       PangoRectangle ext;
 
-      pango_line_get_extents (l->line, NULL, &ext);
+      pango_layout_line_get_extents (l->line, NULL, &ext);
 
       ext.x += l->x;
       ext.y += l->y;
@@ -757,12 +757,12 @@ pango_lines_pos_to_line (PangoLines  *lines,
 /**
  * pango_lines_index_to_pos:
  * @lines: a `PangoLines` object
- * @line: (nullable): `PangoLine` wrt to which @idx is interpreted
+ * @line: (nullable): `PangoLayoutLine` wrt to which @idx is interpreted
  *   or `NULL` for the first matching line
  * @idx: byte index within @line
  * @pos: (out): rectangle in which to store the position of the grapheme
  *
- * Converts from an index within a `PangoLine` to the
+ * Converts from an index within a `PangoLayoutLine` to the
  * position corresponding to the grapheme at that index.
  *
  * The return value is represented as rectangle. Note that `pos->x`
@@ -774,15 +774,15 @@ pango_lines_pos_to_line (PangoLines  *lines,
  * for the position off the end of the last line.
  */
 void
-pango_lines_index_to_pos (PangoLines     *lines,
-                          PangoLine      *line,
-                          int             idx,
-                          PangoRectangle *pos)
+pango_lines_index_to_pos (PangoLines      *lines,
+                          PangoLayoutLine *line,
+                          int              idx,
+                          PangoRectangle  *pos)
 {
   int x_offset, y_offset;
 
   g_return_if_fail (PANGO_IS_LINES (lines));
-  g_return_if_fail (line == NULL || PANGO_IS_LINE (line));
+  g_return_if_fail (line == NULL || PANGO_IS_LAYOUT_LINE (line));
   g_return_if_fail (idx >= 0);
   g_return_if_fail (pos != NULL);
 
@@ -790,7 +790,7 @@ pango_lines_index_to_pos (PangoLines     *lines,
 
   g_return_if_fail (line != NULL);
 
-  pango_line_index_to_pos (line, idx, pos);
+  pango_layout_line_index_to_pos (line, idx, pos);
   pos->x += x_offset;
   pos->y += y_offset;
 }
@@ -811,14 +811,14 @@ pango_lines_index_to_pos (PangoLines     *lines,
  *
  * Returns: (transfer none) (nullable): the line that was found
  */
-PangoLine *
-pango_lines_pos_to_index (PangoLines  *lines,
-                          int          x,
-                          int          y,
-                          int         *idx,
-                          int         *trailing)
+PangoLayoutLine *
+pango_lines_pos_to_index (PangoLines *lines,
+                          int         x,
+                          int         y,
+                          int        *idx,
+                          int        *trailing)
 {
-  PangoLine *line;
+  PangoLayoutLine *line;
   int x_offset;
 
   g_return_val_if_fail (PANGO_IS_LINES (lines), FALSE);
@@ -827,7 +827,7 @@ pango_lines_pos_to_index (PangoLines  *lines,
 
   line = pango_lines_pos_to_line (lines, x, y, &x_offset, NULL);
   if (line)
-    pango_line_x_to_index (line, x - x_offset, idx, trailing);
+    pango_layout_line_x_to_index (line, x - x_offset, idx, trailing);
 
   return line;
 }
@@ -838,7 +838,7 @@ pango_lines_pos_to_index (PangoLines  *lines,
 /**
  * pango_lines_get_cursor_pos:
  * @lines: a `PangoLines` object
- * @line: (nullable): `PangoLine` wrt to which @idx is interpreted
+ * @line: (nullable): `PangoLayoutLine` wrt to which @idx is interpreted
  *   or `NULL` for the first matching line
  * @idx: the byte index of the cursor
  * @strong_pos: (out) (optional): location to store the strong cursor position
@@ -876,17 +876,17 @@ pango_lines_pos_to_index (PangoLines  *lines,
  * will insert it at the end.
  */
 void
-pango_lines_get_cursor_pos (PangoLines     *lines,
-                            PangoLine      *line,
-                            int             idx,
-                            PangoRectangle *strong_pos,
-                            PangoRectangle *weak_pos)
+pango_lines_get_cursor_pos (PangoLines      *lines,
+                            PangoLayoutLine *line,
+                            int              idx,
+                            PangoRectangle  *strong_pos,
+                            PangoRectangle  *weak_pos)
 {
   int x_offset, y_offset;
-  PangoLine *l;
+  PangoLayoutLine *l;
 
   g_return_if_fail (PANGO_IS_LINES (lines));
-  g_return_if_fail (line == NULL || PANGO_IS_LINE (line));
+  g_return_if_fail (line == NULL || PANGO_IS_LAYOUT_LINE (line));
 
   l = line;
   pango_lines_index_to_line (lines, idx, &l, NULL, &x_offset, &y_offset);
@@ -896,7 +896,7 @@ pango_lines_get_cursor_pos (PangoLines     *lines,
 
   line = l;
 
-  pango_line_get_cursor_pos (line, idx, strong_pos, weak_pos);
+  pango_layout_line_get_cursor_pos (line, idx, strong_pos, weak_pos);
 
   if (strong_pos)
     {
@@ -913,7 +913,7 @@ pango_lines_get_cursor_pos (PangoLines     *lines,
 /**
  * pango_lines_get_caret_pos:
  * @lines: a `PangoLines` object
- * @line: (nullable): `PangoLine` wrt to which @idx is interpreted
+ * @line: (nullable): `PangoLayoutLine` wrt to which @idx is interpreted
  *   or `NULL` for the first matching line
  * @idx: the byte index of the cursor
  * @strong_pos: (out) (optional): location to store the strong cursor position
@@ -935,22 +935,22 @@ pango_lines_get_cursor_pos (PangoLines     *lines,
  * </picture>
  */
 void
-pango_lines_get_caret_pos (PangoLines     *lines,
-                           PangoLine      *line,
-                           int             idx,
-                           PangoRectangle *strong_pos,
-                           PangoRectangle *weak_pos)
+pango_lines_get_caret_pos (PangoLines      *lines,
+                           PangoLayoutLine *line,
+                           int              idx,
+                           PangoRectangle  *strong_pos,
+                           PangoRectangle  *weak_pos)
 {
   int x_offset, y_offset;
 
   g_return_if_fail (PANGO_IS_LINES (lines));
-  g_return_if_fail (line == NULL || PANGO_IS_LINE (line));
+  g_return_if_fail (line == NULL || PANGO_IS_LAYOUT_LINE (line));
 
   pango_lines_index_to_line (lines, idx, &line, NULL, &x_offset, &y_offset);
 
   g_return_if_fail (line != NULL);
 
-  pango_line_get_caret_pos (line, idx, strong_pos, weak_pos);
+  pango_layout_line_get_caret_pos (line, idx, strong_pos, weak_pos);
 
   if (strong_pos)
     {
@@ -970,7 +970,7 @@ pango_lines_get_caret_pos (PangoLines     *lines,
  * @strong: whether the moving cursor is the strong cursor or the
  *   weak cursor. The strong cursor is the cursor corresponding
  *   to text insertion in the base direction for the layout.
- * @line: (nullable): `PangoLine` wrt to which @idx is interpreted
+ * @line: (nullable): `PangoLayoutLine` wrt to which @idx is interpreted
  *   or `NULL` for the first matching line
  * @idx: the byte index of the current cursor position
  * @trailing: if 0, the cursor was at the leading edge of the
@@ -978,7 +978,7 @@ pango_lines_get_caret_pos (PangoLines     *lines,
  *   was at the trailing edge.
  * @direction: direction to move cursor. A negative
  *   value indicates motion to the left
- * @new_line: `PangoLine` wrt to which @new_idx is interpreted
+ * @new_line: `PangoLayoutLine` wrt to which @new_idx is interpreted
  * @new_idx: (out): location to store the new cursor byte index
  *   A value of -1 indicates that the cursor has been moved off the
  *   beginning of the layout. A value of %G_MAXINT indicates that
@@ -1007,15 +1007,15 @@ pango_lines_get_caret_pos (PangoLines     *lines,
  * when multiple characters combine to form a single grapheme.
  */
 void
-pango_lines_move_cursor (PangoLines  *lines,
-                         gboolean     strong,
-                         PangoLine   *line,
-                         int          idx,
-                         int          trailing,
-                         int          direction,
-                         PangoLine  **new_line,
-                         int         *new_idx,
-                         int         *new_trailing)
+pango_lines_move_cursor (PangoLines       *lines,
+                         gboolean          strong,
+                         PangoLayoutLine  *line,
+                         int               idx,
+                         int               trailing,
+                         int               direction,
+                         PangoLayoutLine **new_line,
+                         int              *new_idx,
+                         int              *new_trailing)
 {
   int line_no;
   GArray *cursors;
@@ -1048,7 +1048,7 @@ pango_lines_move_cursor (PangoLines  *lines,
     idx = line->start_index + line->length;
 
   cursors = g_array_new (FALSE, FALSE, sizeof (CursorPos));
-  pango_line_get_cursors (lines, line, strong, cursors);
+  pango_layout_line_get_cursors (lines, line, strong, cursors);
 
   pango_lines_get_cursor_pos (lines, line, idx, strong ? &pos : NULL, strong ? NULL : &pos);
 
@@ -1100,7 +1100,7 @@ pango_lines_move_cursor (PangoLines  *lines,
 
       if (off_start)
         {
-          PangoLine *prev_line;
+          PangoLayoutLine *prev_line;
 
           prev_line = pango_lines_get_line (lines, line_no - 1, NULL, NULL);
           if (!prev_line)
@@ -1118,7 +1118,7 @@ pango_lines_move_cursor (PangoLines  *lines,
         }
       else
         {
-          PangoLine *next_line;
+          PangoLayoutLine *next_line;
 
           next_line = pango_lines_get_line (lines, line_no + 1, NULL, NULL);
           if (!next_line)
@@ -1135,7 +1135,7 @@ pango_lines_move_cursor (PangoLines  *lines,
         }
 
       g_array_set_size (cursors, 0);
-      pango_line_get_cursors (lines, line, strong, cursors);
+      pango_layout_line_get_cursors (lines, line, strong, cursors);
 
       n_vis = cursors->len;
 
diff --git a/pango/pango-lines.h b/pango/pango-lines.h
index 11c07838..81b680d7 100644
--- a/pango/pango-lines.h
+++ b/pango/pango-lines.h
@@ -3,7 +3,7 @@
 #include <glib-object.h>
 
 #include <pango/pango-types.h>
-#include <pango/pango-line.h>
+#include <pango/pango-layout-line.h>
 
 G_BEGIN_DECLS
 
@@ -22,7 +22,7 @@ guint                   pango_lines_get_serial      (PangoLines        *lines);
 
 PANGO_AVAILABLE_IN_ALL
 void                    pango_lines_add_line        (PangoLines        *lines,
-                                                     PangoLine         *line,
+                                                     PangoLayoutLine   *line,
                                                      int                line_x,
                                                      int                line_y);
 
@@ -30,7 +30,7 @@ PANGO_AVAILABLE_IN_ALL
 int                     pango_lines_get_line_count  (PangoLines        *lines);
 
 PANGO_AVAILABLE_IN_ALL
-PangoLine *             pango_lines_get_line        (PangoLines        *lines,
+PangoLayoutLine *       pango_lines_get_line        (PangoLines        *lines,
                                                      int                num,
                                                      int               *line_x,
                                                      int               *line_y);
@@ -50,10 +50,10 @@ void                    pango_lines_get_size        (PangoLines        *lines,
 
 PANGO_AVAILABLE_IN_ALL
 void                    pango_lines_get_x_ranges    (PangoLines        *lines,
-                                                     PangoLine         *line,
-                                                     PangoLine         *start_line,
+                                                     PangoLayoutLine   *line,
+                                                     PangoLayoutLine   *start_line,
                                                      int                start_index,
-                                                     PangoLine         *end_line,
+                                                     PangoLayoutLine   *end_line,
                                                      int                end_index,
                                                      int              **ranges,
                                                      int               *n_ranges);
@@ -74,13 +74,13 @@ gboolean                pango_lines_hyphenated      (PangoLines        *lines);
 PANGO_AVAILABLE_IN_ALL
 void                    pango_lines_index_to_line   (PangoLines        *lines,
                                                      int                idx,
-                                                     PangoLine        **line,
+                                                     PangoLayoutLine  **line,
                                                      int               *line_no,
                                                      int               *x_offset,
                                                      int               *y_offset);
 
 PANGO_AVAILABLE_IN_ALL
-PangoLine *             pango_lines_pos_to_line     (PangoLines        *lines,
+PangoLayoutLine *       pango_lines_pos_to_line     (PangoLines        *lines,
                                                      int                x,
                                                      int                y,
                                                      int               *line_x,
@@ -88,12 +88,12 @@ PangoLine *             pango_lines_pos_to_line     (PangoLines        *lines,
 
 PANGO_AVAILABLE_IN_ALL
 void                    pango_lines_index_to_pos    (PangoLines        *lines,
-                                                     PangoLine         *line,
+                                                     PangoLayoutLine   *line,
                                                      int                idx,
                                                      PangoRectangle    *pos);
 
 PANGO_AVAILABLE_IN_ALL
-PangoLine *             pango_lines_pos_to_index    (PangoLines        *lines,
+PangoLayoutLine *       pango_lines_pos_to_index    (PangoLines        *lines,
                                                      int                x,
                                                      int                y,
                                                      int               *idx,
@@ -101,14 +101,14 @@ PangoLine *             pango_lines_pos_to_index    (PangoLines        *lines,
 
 PANGO_AVAILABLE_IN_ALL
 void                    pango_lines_get_cursor_pos  (PangoLines        *lines,
-                                                     PangoLine         *line,
+                                                     PangoLayoutLine   *line,
                                                      int                idx,
                                                      PangoRectangle    *strong_pos,
                                                      PangoRectangle    *weak_pos);
 
 PANGO_AVAILABLE_IN_ALL
 void                    pango_lines_get_caret_pos   (PangoLines        *lines,
-                                                     PangoLine         *line,
+                                                     PangoLayoutLine   *line,
                                                      int                idx,
                                                      PangoRectangle    *strong_pos,
                                                      PangoRectangle    *weak_pos);
@@ -116,11 +116,11 @@ void                    pango_lines_get_caret_pos   (PangoLines        *lines,
 PANGO_AVAILABLE_IN_ALL
 void                    pango_lines_move_cursor     (PangoLines        *lines,
                                                      gboolean           strong,
-                                                     PangoLine         *line,
+                                                     PangoLayoutLine   *line,
                                                      int                idx,
                                                      int                trailing,
                                                      int                direction,
-                                                     PangoLine        **new_line,
+                                                     PangoLayoutLine  **new_line,
                                                      int               *new_idx,
                                                      int               *new_trailing);
 
diff --git a/pango/pango-renderer.c b/pango/pango-renderer.c
index 232906df..a8c59088 100644
--- a/pango/pango-renderer.c
+++ b/pango/pango-renderer.c
@@ -24,7 +24,7 @@
 
 #include "pango-renderer.h"
 #include "pango-impl-utils.h"
-#include "pango-line-private.h"
+#include "pango-layout-line-private.h"
 
 #define N_RENDER_PARTS 5
 
@@ -507,9 +507,9 @@ static void pango_renderer_draw_runs (PangoRenderer *renderer,
                                       int            y);
 
 /**
- * pango_renderer_draw_line:
+ * pango_renderer_draw_layout_line:
  * @renderer: a `PangoRenderer`
- * @line: a `PangoLine`
+ * @line: a `PangoLayoutLine`
  * @x: X position of left edge of baseline, in user space coordinates
  *   in Pango units.
  * @y: Y position of left edge of baseline, in user space coordinates
@@ -522,10 +522,10 @@ static void pango_renderer_draw_runs (PangoRenderer *renderer,
  * of those items.
  */
 void
-pango_renderer_draw_line (PangoRenderer *renderer,
-                          PangoLine     *line,
-                          int             x,
-                          int             y)
+pango_renderer_draw_layout_line (PangoRenderer   *renderer,
+                                  PangoLayoutLine *line,
+                                  int              x,
+                                  int              y)
 {
   LineState state = { 0, };
 
@@ -569,7 +569,7 @@ pango_renderer_draw_lines (PangoRenderer *renderer,
                            int            y)
 {
   int n;
-  PangoLine *line;
+  PangoLayoutLine *line;
   int line_x, line_y;
 
   g_return_if_fail (PANGO_IS_RENDERER_FAST (renderer));
@@ -580,7 +580,7 @@ pango_renderer_draw_lines (PangoRenderer *renderer,
       if (n == 0)
         pango_renderer_activate_with_context (renderer, line->context);
 
-      pango_renderer_draw_line (renderer, line, x + line_x, y + line_y);
+      pango_renderer_draw_layout_line (renderer, line, x + line_x, y + line_y);
 
       n++;
     }
diff --git a/pango/pango-renderer.h b/pango/pango-renderer.h
index 6c8f9cbb..07324516 100644
--- a/pango/pango-renderer.h
+++ b/pango/pango-renderer.h
@@ -22,8 +22,6 @@
 #define __PANGO_RENDERER_H_
 
 #include <pango/pango-layout.h>
-#include <pango/pango-line.h>
-#include <pango/pango-lines.h>
 #include <pango/pango-glyph.h>
 #include <pango/pango-glyph-item.h>
 
@@ -213,8 +211,8 @@ void pango_renderer_draw_lines           (PangoRenderer    *renderer,
                                           int               x,
                                           int               y);
 PANGO_AVAILABLE_IN_ALL
-void pango_renderer_draw_line            (PangoRenderer    *renderer,
-                                          PangoLine        *line,
+void pango_renderer_draw_layout_line     (PangoRenderer    *renderer,
+                                          PangoLayoutLine  *line,
                                           int               x,
                                           int               y);
 PANGO_AVAILABLE_IN_1_8
diff --git a/pango/pango.h b/pango/pango.h
index 37678dd9..60fa26aa 100644
--- a/pango/pango.h
+++ b/pango/pango.h
@@ -42,7 +42,7 @@
 #include <pango/pango-item.h>
 #include <pango/pango-language.h>
 #include <pango/pango-layout.h>
-#include <pango/pango-line.h>
+#include <pango/pango-layout-line.h>
 #include <pango/pango-line-breaker.h>
 #include <pango/pango-layout-iter.h>
 #include <pango/pango-lines.h>
diff --git a/pango/pangocairo-font.c b/pango/pangocairo-font.c
index ea0a648f..ffe6496e 100644
--- a/pango/pangocairo-font.c
+++ b/pango/pangocairo-font.c
@@ -193,9 +193,9 @@ max_glyph_width (PangoLines *lines)
 
   for (int i = 0; i < pango_lines_get_line_count (lines); i++)
     {
-      PangoLine *line = pango_lines_get_line (lines, i, NULL, NULL);
+      PangoLayoutLine *line = pango_lines_get_line (lines, i, NULL, NULL);
 
-      for (r = pango_line_get_runs (line); r; r = r->next)
+      for (r = pango_layout_line_get_runs (line); r; r = r->next)
         {
           PangoGlyphString *glyphs = ((PangoGlyphItem *)r->data)->glyphs;
           int i;
diff --git a/pango/pangocairo-render.c b/pango/pangocairo-render.c
index a217053b..361fc563 100644
--- a/pango/pangocairo-render.c
+++ b/pango/pangocairo-render.c
@@ -973,9 +973,9 @@ _pango_cairo_do_glyph_item (cairo_t          *cr,
 }
 
 static void
-_pango_cairo_do_line (cairo_t   *cr,
-                      PangoLine *line,
-                      gboolean   do_path)
+_pango_cairo_do_layout_line (cairo_t         *cr,
+                             PangoLayoutLine *line,
+                             gboolean         do_path)
 {
   PangoCairoRenderer *crenderer = acquire_renderer ();
   PangoRenderer *renderer = (PangoRenderer *) crenderer;
@@ -984,7 +984,7 @@ _pango_cairo_do_line (cairo_t   *cr,
   crenderer->do_path = do_path;
   save_current_point (crenderer);
 
-  pango_renderer_draw_line (renderer, line, 0, 0);
+  pango_renderer_draw_layout_line (renderer, line, 0, 0);
 
   restore_current_point (crenderer);
 
@@ -1116,21 +1116,21 @@ pango_cairo_show_glyph_item (cairo_t          *cr,
 /**
  * pango_cairo_show_line:
  * @cr: a Cairo context
- * @line: a `PangoLine`
+ * @line: a `PangoLayoutLine`
  *
- * Draws a `PangoLine` in the specified cairo context.
+ * Draws a `PangoLayoutLine` in the specified cairo context.
  *
  * The origin of the glyphs (the left edge of the line) will
  * be drawn at the current point of the cairo context.
  */
 void
-pango_cairo_show_line (cairo_t   *cr,
-                       PangoLine *line)
+pango_cairo_show_layout_line (cairo_t         *cr,
+                              PangoLayoutLine *line)
 {
   g_return_if_fail (cr != NULL);
   g_return_if_fail (line != NULL);
 
-  _pango_cairo_do_line (cr, line, FALSE);
+  _pango_cairo_do_layout_line (cr, line, FALSE);
 }
 
 /**
@@ -1232,24 +1232,24 @@ pango_cairo_glyph_string_path (cairo_t          *cr,
 }
 
 /**
- * pango_cairo_line_path:
+ * pango_cairo_layout_line_path:
  * @cr: a Cairo context
  * @line: a `PangoLayoutLine`
  *
- * Adds the text in `PangoLine` to the current path in the
+ * Adds the text in `PangoLayoutLine` to the current path in the
  * specified cairo context.
  *
  * The origin of the glyphs (the left edge of the line) will be
  * at the current point of the cairo context.
  */
 void
-pango_cairo_line_path (cairo_t   *cr,
-                       PangoLine *line)
+pango_cairo_layout_line_path (cairo_t         *cr,
+                              PangoLayoutLine *line)
 {
   g_return_if_fail (cr != NULL);
-  g_return_if_fail (PANGO_IS_LINE (line));
+  g_return_if_fail (PANGO_IS_LAYOUT_LINE (line));
 
-  _pango_cairo_do_line (cr, line, TRUE);
+  _pango_cairo_do_layout_line (cr, line, TRUE);
 }
 
 /**
diff --git a/pango/pangocairo.h b/pango/pangocairo.h
index 14ce374c..d42b9258 100644
--- a/pango/pangocairo.h
+++ b/pango/pangocairo.h
@@ -181,8 +181,8 @@ void pango_cairo_show_glyph_item   (cairo_t          *cr,
                                    const char       *text,
                                    PangoGlyphItem   *glyph_item);
 PANGO_AVAILABLE_IN_ALL
-void pango_cairo_show_line         (cairo_t          *cr,
-                                    PangoLine        *line);
+void pango_cairo_show_layout_line  (cairo_t          *cr,
+                                    PangoLayoutLine  *line);
 PANGO_AVAILABLE_IN_ALL
 void pango_cairo_show_lines        (cairo_t          *cr,
                                     PangoLines       *lines);
@@ -209,11 +209,11 @@ PANGO_AVAILABLE_IN_1_10
 void pango_cairo_layout_path       (cairo_t          *cr,
                                    PangoLayout      *layout);
 PANGO_AVAILABLE_IN_ALL
-void pango_cairo_line_path  (cairo_t   *cr,
-                             PangoLine *line);
+void pango_cairo_layout_line_path  (cairo_t          *cr,
+                                    PangoLayoutLine  *line);
 PANGO_AVAILABLE_IN_ALL
-void pango_cairo_lines_path  (cairo_t    *cr,
-                              PangoLines *lines);
+void pango_cairo_lines_path        (cairo_t          *cr,
+                                    PangoLines       *lines);
 
 PANGO_AVAILABLE_IN_1_14
 void pango_cairo_error_underline_path (cairo_t       *cr,
diff --git a/pango/pangofc-font.c b/pango/pangofc-font.c
index 41059a93..e7dce888 100644
--- a/pango/pangofc-font.c
+++ b/pango/pangofc-font.c
@@ -424,9 +424,9 @@ max_glyph_width (PangoLines *lines)
 
   for (int i = 0; i < pango_lines_get_line_count (lines); i++)
     {
-      PangoLine *line = pango_lines_get_line (lines, i, NULL, NULL);
+      PangoLayoutLine *line = pango_lines_get_line (lines, i, NULL, NULL);
 
-      for (r = pango_line_get_runs (line); r; r = r->next)
+      for (r = pango_layout_line_get_runs (line); r; r = r->next)
         {
           PangoGlyphString *glyphs = ((PangoGlyphItem *)r->data)->glyphs;
           int i;
diff --git a/pango/pangoft2-render.c b/pango/pangoft2-render.c
index 47d427c7..902f7d6f 100644
--- a/pango/pangoft2-render.c
+++ b/pango/pangoft2-render.c
@@ -26,7 +26,7 @@
 #include "pango-font-private.h"
 #include "pangoft2-private.h"
 #include "pango-impl-utils.h"
-#include "pango-line-private.h"
+#include "pango-layout-line-private.h"
 
 /* for compatibility with older freetype versions */
 #ifndef FT_LOAD_TARGET_MONO
@@ -653,10 +653,10 @@ pango_ft2_render_layout (FT_Bitmap   *bitmap,
  * Since: 1.6
  */
 void
-pango_ft2_render_line_subpixel (FT_Bitmap       *bitmap,
-                                      PangoLine *line,
-                                      int              x,
-                                      int              y)
+pango_ft2_render_layout_line_subpixel (FT_Bitmap       *bitmap,
+                                       PangoLayoutLine *line,
+                                       int              x,
+                                       int              y)
 {
   PangoFontMap *fontmap;
   PangoRenderer *renderer;
@@ -669,7 +669,7 @@ pango_ft2_render_line_subpixel (FT_Bitmap       *bitmap,
 
   pango_ft2_renderer_set_bitmap (PANGO_FT2_RENDERER (renderer), bitmap);
 
-  pango_renderer_draw_line (renderer, line, x, y);
+  pango_renderer_draw_layout_line (renderer, line, x, y);
 }
 
 /**
@@ -682,12 +682,12 @@ pango_ft2_render_line_subpixel (FT_Bitmap       *bitmap,
  * Render a `PangoLayoutLine` onto a FreeType2 bitmap
  */
 void
-pango_ft2_render_line (FT_Bitmap       *bitmap,
-                             PangoLine *line,
-                             int              x,
-                             int              y)
+pango_ft2_render_layout_line (FT_Bitmap        *bitmap,
+                              PangoLayoutLine *line,
+                              int              x,
+                              int              y)
 {
-  pango_ft2_render_line_subpixel (bitmap, line, x * PANGO_SCALE, y * PANGO_SCALE);
+  pango_ft2_render_layout_line_subpixel (bitmap, line, x * PANGO_SCALE, y * PANGO_SCALE);
 }
 
 /**
diff --git a/pango/pangoft2.h b/pango/pangoft2.h
index b0f5d7c6..3610a125 100644
--- a/pango/pangoft2.h
+++ b/pango/pangoft2.h
@@ -87,15 +87,15 @@ void pango_ft2_render_transformed (FT_Bitmap         *bitmap,
                                   int                y);
 
 PANGO_AVAILABLE_IN_ALL
-void pango_ft2_render_line          (FT_Bitmap        *bitmap,
-                                           PangoLine  *line,
+void pango_ft2_render_layout_line         (FT_Bitmap        *bitmap,
+                                           PangoLayoutLine  *line,
                                            int               x,
                                            int               y);
 PANGO_AVAILABLE_IN_1_6
-void pango_ft2_render_line_subpixel (FT_Bitmap        *bitmap,
-                                           PangoLine  *line,
-                                           int               x,
-                                           int               y);
+void pango_ft2_render_layout_line_subpixel (FT_Bitmap        *bitmap,
+                                            PangoLayoutLine  *line,
+                                            int               x,
+                                            int               y);
 
 PANGO_AVAILABLE_IN_ALL
 void pango_ft2_render_layout               (FT_Bitmap        *bitmap,
diff --git a/pango/pangoxft-render.c b/pango/pangoxft-render.c
index 51728f49..714bc5c3 100644
--- a/pango/pangoxft-render.c
+++ b/pango/pangoxft-render.c
@@ -24,7 +24,7 @@
 
 #include "pangoxft-render.h"
 #include "pangoxft-private.h"
-#include "pango-line-private.h"
+#include "pango-layout-line-private.h"
 
 enum {
   PROP_0,
@@ -755,11 +755,11 @@ pango_xft_render_layout (XftDraw     *draw,
  * Since: 1.8
  */
 void
-pango_xft_render_line (XftDraw         *draw,
-                             XftColor        *color,
-                             PangoLine *line,
-                             int              x,
-                             int              y)
+pango_xft_render_layout_line (XftDraw         *draw,
+                              XftColor        *color,
+                              PangoLayoutLine *line,
+                              int              x,
+                              int              y)
 {
   PangoFontMap *fontmap;
   PangoRenderer *renderer;
@@ -771,7 +771,7 @@ pango_xft_render_line (XftDraw         *draw,
   fontmap = pango_context_get_font_map (line->context);
   renderer = get_renderer (fontmap, draw, color);
 
-  pango_renderer_draw_line (renderer, line, x, y);
+  pango_renderer_draw_layout_line (renderer, line, x, y);
 
   release_renderer (renderer);
 }
diff --git a/pango/pangoxft-render.h b/pango/pangoxft-render.h
index 6c49f868..8e0316c2 100644
--- a/pango/pangoxft-render.h
+++ b/pango/pangoxft-render.h
@@ -141,9 +141,9 @@ void pango_xft_render_transformed (XftDraw          *draw,
                                   int               x,
                                   int               y);
 PANGO_AVAILABLE_IN_1_8
-void pango_xft_render_line (XftDraw          *draw,
+void pango_xft_render_layout_line (XftDraw          *draw,
                                   XftColor         *color,
-                                  PangoLine  *line,
+                                  PangoLayoutLine  *line,
                                   int               x,
                                   int               y);
 PANGO_AVAILABLE_IN_1_8
diff --git a/pango/serializer.c b/pango/serializer.c
index f917eeb9..328c22ff 100644
--- a/pango/serializer.c
+++ b/pango/serializer.c
@@ -25,8 +25,7 @@
 #include <pango/pango-context-private.h>
 #include <pango/pango-enum-types.h>
 #include <pango/pango-font-private.h>
-#include <pango/pango-line-private.h>
-#include <pango/pango-lines.h>
+#include <pango/pango-layout-line-private.h>
 #include <pango/pango-utils-internal.h>
 
 #include <hb-ot.h>
@@ -739,10 +738,10 @@ add_run (GtkJsonPrinter *printer,
 #undef ANALYSIS_FLAGS
 
 static void
-line_to_json (GtkJsonPrinter *printer,
-              PangoLine      *line,
-              int             x,
-              int             y)
+line_to_json (GtkJsonPrinter  *printer,
+              PangoLayoutLine *line,
+              int              x,
+              int              y)
 {
   gtk_json_printer_start_object (printer, NULL);
 
@@ -799,7 +798,7 @@ lines_to_json (GtkJsonPrinter *printer,
 
   for (int i = 0; i < pango_lines_get_line_count (lines); i++)
     {
-      PangoLine *line;
+      PangoLayoutLine *line;
       int x, y;
       line = pango_lines_get_line (lines, i, &x, &y);
       line_to_json (printer, line, x, y);
diff --git a/tests/test-bidi.c b/tests/test-bidi.c
index b0aca810..002def8e 100644
--- a/tests/test-bidi.c
+++ b/tests/test-bidi.c
@@ -159,7 +159,7 @@ test_bidi_embedding_levels (void)
 }
 
 /* Some basic tests for pango_layout_move_cursor inside
- * a single PangoLine:
+ * a single PangoLayoutLine:
  * - check that we actually move the cursor in the right direction
  * - check that we get through the line with at most n steps
  * - check that we don't skip legitimate cursor positions
@@ -189,8 +189,8 @@ test_move_cursor_line (void)
       PangoRectangle s_pos, old_s_pos;
       PangoRectangle w_pos, old_w_pos;
       PangoLines *lines;
-      PangoLine *line;
-      PangoLine *new_line;
+      PangoLayoutLine *line;
+      PangoLayoutLine *new_line;
       struct {
         int direction;
         gboolean strong;
@@ -242,7 +242,7 @@ test_move_cursor_line (void)
                      params[j].direction > 0 ? "->" : "<-",
                      params[j].strong ? "strong" : "weak");
 
-          if ((pango_line_get_direction (line) == PANGO_DIRECTION_LTR) == (params[j].direction > 0))
+          if ((pango_layout_line_get_direction (line) == PANGO_DIRECTION_LTR) == (params[j].direction > 0))
             start_index = 0;
           else
             start_index = strlen (text);
@@ -359,11 +359,11 @@ test_move_cursor_para (void)
   int index;
   int trailing;
   const char *text;
-  PangoLine *line;
+  PangoLayoutLine *line;
   PangoRectangle ext;
   PangoLines *lines;
   PangoLayoutIter *iter;
-  PangoLine *new_line;
+  PangoLayoutLine *new_line;
 
   layout = pango_layout_new (context);
 
diff --git a/tests/testiter.c b/tests/testiter.c
index 276410a7..7327e1df 100644
--- a/tests/testiter.c
+++ b/tests/testiter.c
@@ -171,7 +171,7 @@ iter_cluster_test (PangoLayout *layout)
   PangoLayoutIter *iter;
   int              index;
   gboolean         iter_next_ok;
-  PangoLine *last_line = NULL;
+  PangoLayoutLine *last_line = NULL;
   int              expected_next_x = 0;
 
   iter = pango_lines_get_iter (pango_layout_get_lines (layout));
@@ -179,7 +179,7 @@ iter_cluster_test (PangoLayout *layout)
 
   while (iter_next_ok)
     {
-      PangoLine *line = pango_layout_iter_get_line (iter);
+      PangoLayoutLine *line = pango_layout_iter_get_line (iter);
 
       /* Every cluster is part of a run */
       g_assert (pango_layout_iter_get_run (iter));
@@ -254,7 +254,7 @@ test_glyphitem_iter (void)
   PangoContext *context;
   PangoFontDescription *font_desc;
   PangoLayout  *layout;
-  PangoLine *line;
+  PangoLayoutLine *line;
   const char *text;
   GSList *l;
 
@@ -269,7 +269,7 @@ test_glyphitem_iter (void)
   text = pango_layout_get_text (layout);
 
   line = pango_lines_get_line (pango_layout_get_lines (layout), 0, NULL, NULL);
-  for (l = pango_line_get_runs (line); l; l = l->next)
+  for (l = pango_layout_line_get_runs (line); l; l = l->next)
   {
     PangoGlyphItem *run = l->data;
     int direction;
diff --git a/tests/testmisc.c b/tests/testmisc.c
index f1e892e8..98e022cd 100644
--- a/tests/testmisc.c
+++ b/tests/testmisc.c
@@ -92,14 +92,14 @@ test_line_height (void)
 {
   PangoContext *context;
   PangoLayout *layout;
-  PangoLine *line;
+  PangoLayoutLine *line;
   PangoRectangle ext;
 
   context = pango_font_map_create_context (pango_cairo_font_map_get_default ());
   layout = pango_layout_new (context);
   pango_layout_set_text (layout, "one\ttwo", -1);
   line = pango_lines_get_line (pango_layout_get_lines (layout), 0, NULL, NULL);
-  pango_line_get_extents (line, NULL, &ext);
+  pango_layout_line_get_extents (line, NULL, &ext);
 
   g_assert_cmpint (ext.height, >, 0);
 
@@ -112,7 +112,7 @@ test_line_height2 (void)
 {
   PangoContext *context;
   PangoLayout *layout;
-  PangoLine *line;
+  PangoLayoutLine *line;
   PangoRectangle ext1, ext2;
 
   context = pango_font_map_create_context (pango_cairo_font_map_get_default ());
@@ -121,7 +121,7 @@ test_line_height2 (void)
 
   line = pango_lines_get_line (pango_layout_get_lines (layout), 0, NULL, NULL);
   g_assert_nonnull (line);
-  pango_line_get_extents (line, NULL, &ext1);
+  pango_layout_line_get_extents (line, NULL, &ext1);
 
   pango_layout_write_to_file (layout, "one.layout");
 
@@ -129,7 +129,7 @@ test_line_height2 (void)
 
   line = pango_lines_get_line (pango_layout_get_lines (layout), 0, NULL, NULL);
   g_assert_nonnull (line);
-  pango_line_get_extents (line, NULL, &ext2);
+  pango_layout_line_get_extents (line, NULL, &ext2);
 
   pango_layout_write_to_file (layout, "empty.layout");
 
@@ -144,7 +144,7 @@ test_line_height3 (void)
 {
   PangoContext *context;
   PangoLayout *layout;
-  PangoLine *line;
+  PangoLayoutLine *line;
   PangoAttrList *attrs;
   PangoRectangle ext1;
   PangoRectangle ext2;
@@ -159,13 +159,13 @@ test_line_height3 (void)
 
   line = pango_lines_get_line (pango_layout_get_lines (layout), 0, NULL, NULL);
   g_assert_cmpint (pango_lines_get_line_count (pango_layout_get_lines (layout)), ==, 1);
-  pango_line_get_extents (line, NULL, &ext1);
+  pango_layout_line_get_extents (line, NULL, &ext1);
 
   pango_layout_set_text (layout, "", -1);
 
   g_assert_cmpint (pango_lines_get_line_count (pango_layout_get_lines (layout)), ==, 1);
   line = pango_lines_get_line (pango_layout_get_lines (layout), 0, NULL, NULL);
-  pango_line_get_extents (line, NULL, &ext2);
+  pango_layout_line_get_extents (line, NULL, &ext2);
 
   g_assert_cmpint (ext1.height, ==, ext2.height);
 
@@ -523,7 +523,7 @@ test_index_to_x (void)
       for (p = text; *p; p = g_utf8_next_char (p))
         {
           int index = p - text;
-          PangoLine *line;
+          PangoLayoutLine *line;
           int x;
           int index2, trailing;
           gunichar ch;
@@ -533,8 +533,8 @@ test_index_to_x (void)
           pango_lines_index_to_line (pango_layout_get_lines (layout), index, &line, NULL, NULL, NULL);
           g_assert_nonnull (line);
 
-          pango_line_index_to_x (line, index, 0, &x);
-          pango_line_x_to_index (line, x, &index2, &trailing);
+          pango_layout_line_index_to_x (line, index, 0, &x);
+          pango_layout_line_x_to_index (line, x, &index2, &trailing);
           if (!pango_is_zero_width (ch))
             g_assert_cmpint (index, ==, index2);
         }
diff --git a/utils/viewer-pangocairo.c b/utils/viewer-pangocairo.c
index d80a9f0b..deafbfc7 100644
--- a/utils/viewer-pangocairo.c
+++ b/utils/viewer-pangocairo.c
@@ -282,7 +282,7 @@ render_callback (PangoLayout *layout,
           iter = pango_lines_get_iter (pango_layout_get_lines (layout));
           do
             {
-              PangoLine *line = pango_layout_iter_get_line (iter);
+              PangoLayoutLine *line = pango_layout_iter_get_line (iter);
               double width = (double)logical.width / PANGO_SCALE;
 
               y = pango_layout_iter_get_line_baseline (iter);
@@ -290,7 +290,7 @@ render_callback (PangoLayout *layout,
               cairo_translate (cr,
                              (double)logical.x / PANGO_SCALE + width * 0.5,
                              (double)y / PANGO_SCALE);
-              if (pango_line_get_direction (line))
+              if (pango_layout_line_get_direction (line))
                 cairo_scale (cr, -1, 1);
               cairo_move_to     (cr, -width * .5, -lw*0.2);
               cairo_rel_line_to (cr, +width * .9, -lw*0.3);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]