From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Cursor drawing Date: Thu, 20 Dec 2018 21:07:29 +0200 Message-ID: <831s6cc8zy.fsf@gnu.org> References: <838t0kcmpj.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1545333643 3783 195.159.176.226 (20 Dec 2018 19:20:43 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Thu, 20 Dec 2018 19:20:43 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Dec 20 20:20:39 2018 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ga3s3-0000nx-Us for ged-emacs-devel@m.gmane.org; Thu, 20 Dec 2018 20:20:36 +0100 Original-Received: from localhost ([::1]:39520 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ga3uA-0005VL-L0 for ged-emacs-devel@m.gmane.org; Thu, 20 Dec 2018 14:22:46 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:42043) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ga3fM-0003B6-Ej for emacs-devel@gnu.org; Thu, 20 Dec 2018 14:07:29 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ga3fI-00067c-Dp for emacs-devel@gnu.org; Thu, 20 Dec 2018 14:07:28 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:42887) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ga3f9-0005y6-Gr; Thu, 20 Dec 2018 14:07:16 -0500 Original-Received: from [176.228.60.248] (port=4507 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1ga3f9-0000Ex-2X; Thu, 20 Dec 2018 14:07:15 -0500 In-reply-to: (message from Stefan Monnier on Thu, 20 Dec 2018 10:39:53 -0500) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:231934 Archived-At: > From: Stefan Monnier > Date: Thu, 20 Dec 2018 10:39:53 -0500 > > I was wondering whether it would make sense to introduce a clear notion > of layers. IIUC the current situation is: > > - redisplay renders buffers into glyph matrix. > - redraw of a clipping region is done by "rendering" the corresponding > part of a glyph matrix into pixels. This is not entirely accurate, but I'm not yet sure a more accurate description will matter (I will publish one if we conclude it will help). I think what matters for this discussion is the "rendering into pixels" part: I suspect that you have some mental model of that which is not entirely consistent with what the code actually does. So maybe you should say more about how you imagine this works, and how under that mental model you envision this part: > - redraw of a clipping region is done by "rendering" the corresponding > part of a glyph matrix combined with the corresponding part of the > overlay layer into pixels. The crucial part here, for me, is how this "combination" would be different from "shoehorning crosshairs into the glyph matrix". Can you elaborate on what you had in mind? > The advantage would be mostly that the overlay data structure could be > designed completely differently from glyph-matrices Like what, for example?