From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1FBJw6-0002oQ-7C for mharc-grub-devel@gnu.org; Mon, 20 Feb 2006 17:55:18 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1FBJw3-0002nI-2R for grub-devel@gnu.org; Mon, 20 Feb 2006 17:55:15 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1FBJw1-0002mF-F0 for grub-devel@gnu.org; Mon, 20 Feb 2006 17:55:14 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FBJvz-0002ln-Ju for grub-devel@gnu.org; Mon, 20 Feb 2006 17:55:12 -0500 Received: from [157.24.2.30] (helo=smtp1.cc.lut.fi) by monty-python.gnu.org with esmtp (Exim 4.52) id 1FBK27-0002ZD-7t for grub-devel@gnu.org; Mon, 20 Feb 2006 18:01:31 -0500 Received: from localhost (smtp1 [127.0.0.1]) by smtp1.cc.lut.fi (Postfix) with ESMTP id 8CB86701B2 for ; Tue, 21 Feb 2006 00:55:10 +0200 (EET) Received: from smtp1.cc.lut.fi ([127.0.0.1]) by localhost (smtp1.cc.lut.fi [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 03956-05 for ; Tue, 21 Feb 2006 00:55:10 +0200 (EET) Received: from [192.168.1.100] (lk4-a-4-1.lnet.lut.fi [157.24.102.107]) by smtp1.cc.lut.fi (Postfix) with ESMTP id 479C370174 for ; Tue, 21 Feb 2006 00:55:09 +0200 (EET) Message-ID: <43FA48DD.8090509@nic.fi> Date: Tue, 21 Feb 2006 00:55:25 +0200 From: =?UTF-8?B?VmVzYSBKw6TDpHNrZWzDpGluZW4=?= User-Agent: Thunderbird 1.5 (Windows/20051201) MIME-Version: 1.0 To: The development of GRUB 2 X-Enigmail-Version: 0.93.2.0 Content-Type: text/plain; charset=UTF-8 X-Virus-Scanned: by lut.fi Content-Transfer-Encoding: quoted-printable Subject: Terminal interface and how it should be used? X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: The development of GRUB 2 List-Id: The development of GRUB 2 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Feb 2006 22:55:16 -0000 Hi, I have made some progress with video subsystem and currently the font manager is slowing down (we need to cache fonts) and there are some issues with grub_term. I am not sure if all parts of the code use it correctly or then I am just understanding it differently. After those issues are solved I think we could start to migrate this code back to tre= e. Here are selected features that might need more information in order to get correct results. /* Put a character. C is encoded in Unicode. */ void (*putchar) (grub_uint32_t c); Should putchar() instantly show results of the operation? Or after calling refresh(). /* Go to the position (X, Y). */ void (*gotoxy) (grub_uint8_t x, grub_uint8_t y); Should gotoxy() instantly move cursor to specified location and if output is not yet drawn, should it be drawn at this point. /* Clear the screen. */ void (*cls) (void); Should screen be cleared instantly? Or should it be after refresh(). /* Set the current color to be used */ void (*setcolorstate) (grub_term_color_state state); /* Set the normal color and the highlight color. The format of each color is VGA's. */ void (*setcolor) (grub_uint8_t normal_color, grub_uint8_t highlight_color= ); And what exactly should these two be doing ? :).. setcolorstate and setcolor. I can imagine that it changes color, but to what. Should this be changed to some kinda theming system. Or should I just assume that those are palette indexes and in RGB modes, use emulated RGB palette? /* Update the screen. */ void (*refresh) (void); This one is a trickier, should it cause redraw to be done to whole screen, or to render actions in queue. I am asking this because it would look like it is being used to render actions in queue. If I code it to render whole screen, we get nice flickering as screen is being rendered multiple times for nothing. (I am not interested at this point to optimize video drawing as I want to have solid terminal interface first) If I remove some extra refreshes terminal works quite nicely, but then it might not be semantically correct usage. Thanks, Vesa J=C3=A4=C3=A4skel=C3=A4inen