From: Nick Roberts <nickrob@snap.net.nz>
To: Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: [PATCH] Console based mouse face highlighting.
Date: Tue, 15 May 2007 15:53:16 +1200 [thread overview]
Message-ID: <17993.11948.400368.430713@kahikatea.snap.net.nz> (raw)
In-Reply-To: <uk5vaepi1.fsf@gnu.org>
> I think curX and curY store the current location of the cursor. They
> are updated in cm.c.
OK, thanks. Is cursor movement expensive on GNU/Linux? If not, I would do
something like below in term_show_mouse_face. That would just leave drawing
the highlighting where I've now put TODO (previously I manipulated write_glyphs
to use mouse_face_face_id but that was probably wrong). msdos.c uses:
IT_set_face (dpyinfo->mouse_face_face_id);
_farsetsel (_dos_ds);
while (nglyphs--)
{
_farnspokeb (offset, ScreenAttrib);
offset += 2;
}
if (screen_virtual_segment)
dosv_refresh_virtual_screen (start_offset, end_hpos - start_hpos);
Can I write directly to the screen like this in term.c? Or do I have to modify
the current glyph matrix somehow? (Which might be what xdisp.c does.)
--
Nick http://www.inet.net.nz/~nickrob
>From term_show_mouse_face in my term.c:
if(draw_mouse_face == DRAW_MOUSE_FACE)
{
//TODO
}
else /* draw_mouse_face == DRAW_NORMAL_TEXT */
{
/* write_glyphs writes at cursor position, so we need to
temporarily move cursor coordinates to the beginning of
the highlight region. */
/* Save current cursor co-ordinates */
save_x = curX;
save_y = curY;
pos_x = row->used[LEFT_MARGIN_AREA] + start_hpos
+ WINDOW_LEFT_EDGE_X (w);
pos_y = row->y + WINDOW_TOP_EDGE_Y (w);
cursor_to (pos_x, pos_y);
write_glyphs (row->glyphs[TEXT_AREA] + start_hpos, nglyphs);
cursor_to (save_x, save_y);
}
}
next prev parent reply other threads:[~2007-05-15 3:53 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-12 10:02 [PATCH] Console based mouse face highlighting Nick Roberts
2007-05-12 10:11 ` Nick Roberts
2007-05-12 13:25 ` Eli Zaretskii
2007-05-12 23:54 ` Nick Roberts
2007-05-13 3:42 ` Eli Zaretskii
2007-05-13 4:19 ` Nick Roberts
2007-05-13 4:41 ` Eli Zaretskii
2007-05-14 21:11 ` Nick Roberts
2007-05-15 3:26 ` Eli Zaretskii
2007-05-15 3:53 ` Nick Roberts [this message]
2007-05-15 21:15 ` Eli Zaretskii
2007-05-15 21:33 ` David Kastrup
2007-05-16 3:16 ` Eli Zaretskii
2007-05-15 22:39 ` [PATCH/Now RFA] " Nick Roberts
2007-05-16 3:24 ` Eli Zaretskii
2007-05-16 3:54 ` Nick Roberts
2007-05-16 10:00 ` [RFA] " Nick Roberts
2007-05-16 18:19 ` Eli Zaretskii
2007-05-16 21:46 ` Nick Roberts
2007-05-17 3:24 ` Eli Zaretskii
2007-05-17 3:54 ` Nick Roberts
2007-05-17 14:59 ` Stefan Monnier
2007-05-17 20:29 ` Eli Zaretskii
2007-05-17 22:29 ` Nick Roberts
2007-05-17 20:14 ` Eli Zaretskii
2007-05-17 22:34 ` Nick Roberts
2007-05-18 14:33 ` Eli Zaretskii
2007-05-18 21:09 ` Nick Roberts
2007-05-19 7:25 ` Eli Zaretskii
2007-05-19 8:15 ` Nick Roberts
2007-05-19 8:46 ` Eli Zaretskii
2007-05-20 6:00 ` Nick Roberts
2007-05-20 9:37 ` Johan Bockgård
2007-05-20 9:51 ` Nick Roberts
2007-05-22 15:54 ` Johan Bockgård
2007-05-22 21:36 ` Nick Roberts
2007-05-30 5:41 ` Nick Roberts
2007-06-03 1:12 ` Nick Roberts
2007-06-03 21:27 ` Richard Stallman
2007-06-03 22:15 ` Drew Adams
2007-06-03 23:31 ` Nick Roberts
2007-06-04 3:24 ` Eli Zaretskii
2007-05-20 18:54 ` Eli Zaretskii
2007-05-20 20:12 ` Renaming NEWS [was: [RFA] Console based mouse face highlighting.] Glenn Morris
2007-05-20 20:42 ` Nick Roberts
2007-05-20 21:31 ` Renaming NEWS Miles Bader
2007-05-21 8:09 ` Glenn Morris
2007-05-21 8:42 ` David Kastrup
2007-05-22 6:46 ` Glenn Morris
2007-05-22 7:12 ` Miles Bader
2007-05-22 17:08 ` Glenn Morris
2007-05-22 8:30 ` Richard Stallman
2007-05-22 17:09 ` Glenn Morris
2007-05-21 10:33 ` Renaming NEWS [was: [RFA] Console based mouse face highlighting.] Richard Stallman
2007-05-19 22:31 ` [RFA] Console based mouse face highlighting Richard Stallman
2007-05-14 16:57 ` [PATCH] " Stefan Monnier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=17993.11948.400368.430713@kahikatea.snap.net.nz \
--to=nickrob@snap.net.nz \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).