[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#64440: 30.0.50; [PATCH] Highlight on non toolkit menu bar items
From: |
Eli Zaretskii |
Subject: |
bug#64440: 30.0.50; [PATCH] Highlight on non toolkit menu bar items |
Date: |
Mon, 11 Sep 2023 22:12:47 +0300 |
> From: Manuel Giraud <manuel@ledu-giraud.fr>
> Cc: luangruo@yahoo.com, stefankangas@gmail.com, 64440@debbugs.gnu.org
> Date: Mon, 11 Sep 2023 20:56:37 +0200
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> [...]
>
> > Thanks. That's what I imagined we have there. So I guess considering
> > that a string ends where is SCHARS end is reasonable.
> >
> > But note that the above means you could also detect where each item
> > ends by looking for the glyph whose string position is -1. So maybe
> > add an assertion there that the glyph after the last character has its
> > position as -1, in case we could have some complications there with
> > double-width characters or something.
>
> What do you think of this:
>
> + /* Convert to pixels bounds. */
> + row = MATRIX_ROW (w->current_matrix, *vpos);
> + *x_start = 0;
> + for (i = 0; i < *h_start; ++i)
> + *x_start += row->glyphs[TEXT_AREA][i].pixel_width;
> +
> + *x_end = *x_start;
> + for (i = *h_start; CHARPOS (row->glyphs[TEXT_AREA][i]) != -1; ++i)
> + *x_end += row->glyphs[TEXT_AREA][i].pixel_width;
That's OK, but I think we should also make sure 'i' never exceeds the
value row->used[TEXT_AREA] - 1. This is only important for the last
item, but still.
And I would also add an assertion that row->reversed_p is false. We
don't currently support R2L menu bars, but if we ever do, the above
loops should go backwards in such glyph rows.
- bug#64440: 30.0.50; [PATCH] Highlight on non toolkit menu bar items, (continued)
- bug#64440: 30.0.50; [PATCH] Highlight on non toolkit menu bar items, Eli Zaretskii, 2023/09/02
- bug#64440: 30.0.50; [PATCH] Highlight on non toolkit menu bar items, Manuel Giraud, 2023/09/02
- bug#64440: 30.0.50; [PATCH] Highlight on non toolkit menu bar items, Manuel Giraud, 2023/09/05
- bug#64440: 30.0.50; [PATCH] Highlight on non toolkit menu bar items, Eli Zaretskii, 2023/09/10
- bug#64440: 30.0.50; [PATCH] Highlight on non toolkit menu bar items, Po Lu, 2023/09/10
- bug#64440: 30.0.50; [PATCH] Highlight on non toolkit menu bar items, Manuel Giraud, 2023/09/11
- bug#64440: 30.0.50; [PATCH] Highlight on non toolkit menu bar items, Eli Zaretskii, 2023/09/11
- bug#64440: 30.0.50; [PATCH] Highlight on non toolkit menu bar items, Manuel Giraud, 2023/09/11
- bug#64440: 30.0.50; [PATCH] Highlight on non toolkit menu bar items, Eli Zaretskii, 2023/09/11
- bug#64440: 30.0.50; [PATCH] Highlight on non toolkit menu bar items, Manuel Giraud, 2023/09/11
- bug#64440: 30.0.50; [PATCH] Highlight on non toolkit menu bar items,
Eli Zaretskii <=
- bug#64440: 30.0.50; [PATCH] Highlight on non toolkit menu bar items, Manuel Giraud, 2023/09/11
- bug#64440: 30.0.50; [PATCH] Highlight on non toolkit menu bar items, Eli Zaretskii, 2023/09/12
- bug#64440: 30.0.50; [PATCH] Highlight on non toolkit menu bar items, Po Lu, 2023/09/12
- bug#64440: 30.0.50; [PATCH] Highlight on non toolkit menu bar items, Eli Zaretskii, 2023/09/12
- bug#64440: 30.0.50; [PATCH] Highlight on non toolkit menu bar items, Po Lu, 2023/09/12
- bug#64440: 30.0.50; [PATCH] Highlight on non toolkit menu bar items, Eli Zaretskii, 2023/09/12
- bug#64440: 30.0.50; [PATCH] Highlight on non toolkit menu bar items, Po Lu, 2023/09/12
- bug#64440: 30.0.50; [PATCH] Highlight on non toolkit menu bar items, Eli Zaretskii, 2023/09/12
- bug#64440: 30.0.50; [PATCH] Highlight on non toolkit menu bar items, Po Lu, 2023/09/12
- bug#64440: 30.0.50; [PATCH] Highlight on non toolkit menu bar items, Stefan Kangas, 2023/09/12