From eb79017bff2ac0ce790fc676c9e27d99e8a9c952 Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Sun, 14 Mar 1999 13:08:44 +0000 Subject: [PATCH] Drag-select now autoscrolls more sensibly. Selected text now ends up in the clipboard. [originally from svn r98] --- mac.c | 12 +----------- macterm.c | 3 +-- terminal.c | 24 ++++++++++++------------ 3 files changed, 14 insertions(+), 25 deletions(-) diff --git a/mac.c b/mac.c index db6ff19a..72a95b8b 100644 --- a/mac.c +++ b/mac.c @@ -1,4 +1,4 @@ -/* $Id: mac.c,v 1.1.2.14 1999/03/11 21:40:31 ben Exp $ */ +/* $Id: mac.c,v 1.1.2.15 1999/03/14 13:08:43 ben Exp $ */ /* * Copyright (c) 1999 Ben Harris * All rights reserved. @@ -393,16 +393,6 @@ static void mac_adjustcursor(void) { SetCursor(&qd.arrow); } -void write_clip(void *data, int len) { - - /* XXX: do something */ -} - -void get_clip(void **p, int *lenp) { - - /* XXX: do something */ -} - static void mac_shutdown(void) { exit(0); diff --git a/macterm.c b/macterm.c index 9e9a4d4d..9a5e0898 100644 --- a/macterm.c +++ b/macterm.c @@ -1,4 +1,4 @@ -/* $Id: macterm.c,v 1.1.2.19 1999/03/13 18:23:24 ben Exp $ */ +/* $Id: macterm.c,v 1.1.2.20 1999/03/14 13:08:43 ben Exp $ */ /* * Copyright (c) 1999 Ben Harris * All rights reserved. @@ -300,7 +300,6 @@ static void text_click(struct mac_session *s, EventRecord *event) { void write_clip(void *data, int len) { - SysBeep(30); if (ZeroScrap() != noErr) return; PutScrap(len, 'TEXT', data); diff --git a/terminal.c b/terminal.c index 416b1016..e4b1e667 100644 --- a/terminal.c +++ b/terminal.c @@ -1376,18 +1376,18 @@ static void sel_spread (void) { void term_mouse (Mouse_Button b, Mouse_Action a, int x, int y) { unsigned long *selpoint; - if (y<0) y = 0; - if (y>=rows) y = rows-1; - if (x<0) { - if (y > 0) { - x = cols-1; - y--; - } else - x = 0; - } - if (x>=cols) x = cols-1; - - selpoint = disptop + y * (cols+1) + x; + if (x < 0) { + x = cols - 1; + y--; + } else if (x >= cols) + x = cols - 1; + + selpoint = disptop + y * (cols + 1) + x; + if (selpoint < sbtop) + selpoint = sbtop; + else if (selpoint > scrtop + rows * (cols + 1) - 1) + /* XXX put this in a variable? */ + selpoint = scrtop + rows * (cols + 1) - 1; if (b == MB_SELECT && a == MA_CLICK) { deselect(); -- 2.45.2