- /* first step: draw solid colored rectangle (use "cursor" character) */
- if (print_inverse_cursor)
- BlitBitmap(font->bitmap, dst_bitmap,
- font->src_x + FONT_CHARS_PER_LINE * font->width,
- font->src_y + 3 * font->height,
- font->width, font->height, dst_x, dst_y);
-
- /* second step: draw masked black rectangle (use "space" character) */
- SetClipOrigin(font->bitmap, font->bitmap->stored_clip_gc,
- dst_x - src_x, dst_y - src_y);
- BlitBitmapMasked(font->bitmap, dst_bitmap,
- 0, 0, font->width, font->height, dst_x, dst_y);
+ Bitmap *cursor_bitmap;
+ int cursor_x, cursor_y;
+
+ getFontCharSource(font_nr, FONT_ASCII_CURSOR, &cursor_bitmap,
+ &cursor_x, &cursor_y);
+
+ BlitBitmap(cursor_bitmap, dst_bitmap, cursor_x, cursor_y,
+ font_width, font_height, dst_x, dst_y);