diff options
author | Matthias Clasen <mclasen@redhat.com> | 2022-07-08 16:09:27 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2022-07-09 11:39:36 -0400 |
commit | 42079c554c0ac67d996a5ce7ee760de4dbfb3f88 (patch) | |
tree | f27489c2633df7f95c8eacd2e735664dc7813806 /pango2/serializer.c | |
parent | 5b3d30508bb343d5dd71b7aa7892e31e7a2d5930 (diff) | |
download | pango-42079c554c0ac67d996a5ce7ee760de4dbfb3f88.tar.gz |
PangoTabArray: API tweaks
Allow specifying tab positions in spaces.
Diffstat (limited to 'pango2/serializer.c')
-rw-r--r-- | pango2/serializer.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/pango2/serializer.c b/pango2/serializer.c index 03ffb4cd..8f18f11b 100644 --- a/pango2/serializer.c +++ b/pango2/serializer.c @@ -260,6 +260,13 @@ static const char *ellipsize_names[] = { NULL }; +static const char *tab_unit_names[] = { + "default", + "pixels", + "spaces", + NULL +}; + /* }}} */ /* {{{ Serialization */ @@ -434,7 +441,8 @@ add_tab_array (GtkJsonPrinter *printer, gtk_json_printer_start_object (printer, "tabs"); - gtk_json_printer_add_boolean (printer, "positions-in-pixels", pango2_tab_array_get_positions_in_pixels (tabs)); + gtk_json_printer_add_string (printer, "position-units", tab_unit_names[pango2_tab_array_get_positions (tabs)]); + gtk_json_printer_start_array (printer, "positions"); for (int i = 0; i < pango2_tab_array_get_size (tabs); i++) { @@ -1274,12 +1282,12 @@ json_parser_fill_tabs (GtkJsonParser *parser, } enum { - TABS_POSITIONS_IN_PIXELS, + TABS_POSITION_UNITS, TABS_POSITIONS }; static const char *tabs_members[] = { - "positions-in-pixels", + "position-units", "positions", NULL }; @@ -1294,8 +1302,8 @@ json_parser_fill_tab_array (GtkJsonParser *parser, { switch (gtk_json_parser_select_member (parser, tabs_members)) { - case TABS_POSITIONS_IN_PIXELS: - pango2_tab_array_set_positions_in_pixels (tabs, gtk_json_parser_get_boolean (parser)); + case TABS_POSITION_UNITS: + pango2_tab_array_set_positions (tabs, (Pango2TabPositions) parser_select_string (parser, tab_unit_names)); break; case TABS_POSITIONS: |