gbranden pushed a commit to branch master in repository groff. commit c1e91d2f17c1f2a03ec94c33c7b240c21f8c802f Author: G. Branden Robinson <g.branden.robin...@gmail.com> AuthorDate: Mon Mar 3 03:01:59 2025 -0600
[troff]: Implement recursive node dumping (5j/9). * src/roff/troff/node.h (class left_italic_corrected_node): Specialize (override) `dump_properties()` for this class. * src/roff/troff/node.cpp (left_italic_corrected_node::dump_properties): New member function reports value of `hunits` property. Changes `pline` request output as follows. -{"type": "left_italic_corrected_node", "diversion level": 0, "is_special_node": false}, +{"type": "left_italic_corrected_node", "diversion level": 0, "is_special_node": false, "hunits": 1970}, --- ChangeLog | 8 ++++++++ src/roff/troff/node.cpp | 7 +++++++ src/roff/troff/node.h | 2 ++ 3 files changed, 17 insertions(+) diff --git a/ChangeLog b/ChangeLog index 5e4f16eef..784a72f3e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2025-03-03 G. Branden Robinson <g.branden.robin...@gmail.com> + + * src/roff/troff/node.h (class left_italic_corrected_node): + Specialize (override) `dump_properties()` for this class. + * src/roff/troff/node.cpp + (left_italic_corrected_node::dump_properties): New member + function reports value of `hunits` property. + 2025-03-03 G. Branden Robinson <g.branden.robin...@gmail.com> * src/roff/troff/node.h (class vline_node): Specialize diff --git a/src/roff/troff/node.cpp b/src/roff/troff/node.cpp index 48c3fe483..33aea95ab 100644 --- a/src/roff/troff/node.cpp +++ b/src/roff/troff/node.cpp @@ -5662,6 +5662,13 @@ left_italic_corrected_node::left_italic_corrected_node(statem *s, { } +void left_italic_corrected_node::dump_properties() +{ + node::dump_properties(); + fprintf(stderr, ", \"hunits\": %d", x.to_units()); + fflush(stderr); +} + left_italic_corrected_node::~left_italic_corrected_node() { delete nodes; diff --git a/src/roff/troff/node.h b/src/roff/troff/node.h index 867616be2..4714be33d 100644 --- a/src/roff/troff/node.h +++ b/src/roff/troff/node.h @@ -494,6 +494,7 @@ public: void vertical_extent(vunits *, vunits *); }; +// TODO: Derive from abstract class `container_node`. class left_italic_corrected_node : public node { node *nodes; hunits x; @@ -525,6 +526,7 @@ public: hyphen_list *get_hyphen_list(hyphen_list *, int *); node *add_self(node *, hyphen_list **); node *merge_glyph_node(glyph_node *); + void dump_properties(); }; class overstrike_node : public node { _______________________________________________ groff-commit mailing list groff-commit@gnu.org https://lists.gnu.org/mailman/listinfo/groff-commit