From owner-freebsd-hackers Wed Jan 28 18:50:24 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id SAA27653 for hackers-outgoing; Wed, 28 Jan 1998 18:50:24 -0800 (PST) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from time.cdrom.com (root@time.cdrom.com [204.216.27.226]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id SAA27587 for ; Wed, 28 Jan 1998 18:50:12 -0800 (PST) (envelope-from jkh@time.cdrom.com) Received: from time.cdrom.com (jkh@localhost.cdrom.com [127.0.0.1]) by time.cdrom.com (8.8.8/8.6.9) with ESMTP id SAA11468; Wed, 28 Jan 1998 18:50:15 -0800 (PST) To: joelh@gnu.org cc: tlambert@primenet.com, dag-erli@ifi.uio.no, hackers@FreeBSD.ORG Subject: Re: Graphical screen saver In-reply-to: Your message of "Wed, 28 Jan 1998 20:09:50 CST." <199801290209.UAA03840@detlev.UUCP> Date: Wed, 28 Jan 1998 18:50:15 -0800 Message-ID: <11464.886042215@time.cdrom.com> From: "Jordan K. Hubbard" Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk > Remember, I'm mostly writing a template here. My code handles the > mode switching, syscons interface, etc. and calls hacker-defined > routines for variable initialization and the actual drawing. (The > actual drawing is currently handled by direct memory writes.) I'm not It would be nice if, at the very minimum, you supplied some minimum routines/macros for talking to this memory region, perhaps like this: typedef unsigned int scr_char; // char + color + attributes + fut. expansion str_char a_scr_char(char *color, u_int attrs, char ch); scr_char scr_getchar(int x, int y); void scr_putchar(int x, int y, str_char ach); /* Accessors: Possibly inline, possibly macros */ char *scr_char_color(str_char sch); u_int scr_char_attrs(str_char sch); char scr_char_ch(str_char sch); This would sort of give you your "getpixel()/putpixel()" equivalent interface for implementing the higher-level line, rectangle, circle, etc. drawing primitives which screen-saver writers would probably much rather use. Jordan