- /* 1 means only the foreground of this glyph string must be drawn,
- and we should use the physical height of the line this glyph
- string appears in as clip rect. */
- unsigned for_overlaps_p : 1;
+#define OVERLAPS_PRED (1 << 0)
+#define OVERLAPS_SUCC (1 << 1)
+#define OVERLAPS_BOTH (OVERLAPS_PRED | OVERLAPS_SUCC)
+#define OVERLAPS_ERASED_CURSOR (1 << 2)
+ /* Non-zero means only the foreground of this glyph string must be
+ drawn, and we should use the physical height of the line this
+ glyph string appears in as clip rect. If the value is
+ OVERLAPS_ERASED_CURSOR, the clip rect is restricted to the rect
+ of the erased cursor. OVERLAPS_PRED and OVERLAPS_SUCC mean we
+ draw overlaps with the preceding and the succeeding rows,
+ respectively. */
+ unsigned for_overlaps : 3;