From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: tomas@tuxteam.de Newsgroups: gmane.emacs.devel Subject: Re: Emacs canvas support Date: Thu, 30 Apr 2020 08:55:58 +0200 Message-ID: <20200430065558.GA21455@tuxteam.de> References: <87o8rae0ao.fsf@randomsample> <83lfmexmfp.fsf@gnu.org> <20200429171619.GB20842@tuxteam.de> <83imhixkva.fsf@gnu.org> <20200429185128.GA27164@tuxteam.de> <83ees6xggr.fsf@gnu.org> <20200429190854.GC27164@tuxteam.de> <83a72uxffz.fsf@gnu.org> <20200429195930.GA29703@tuxteam.de> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="liOOAslEiF7prFVr" Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="39627"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mutt/1.5.21 (2010-09-15) Cc: Eli Zaretskii , emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Apr 30 08:57:36 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jU38a-000ADY-1p for ged-emacs-devel@m.gmane-mx.org; Thu, 30 Apr 2020 08:57:36 +0200 Original-Received: from localhost ([::1]:47030 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jU38Z-0003sz-4Z for ged-emacs-devel@m.gmane-mx.org; Thu, 30 Apr 2020 02:57:35 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:59938) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jU37t-0002vi-Jp for emacs-devel@gnu.org; Thu, 30 Apr 2020 02:56:54 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jU37q-0000Y5-ON for emacs-devel@gnu.org; Thu, 30 Apr 2020 02:56:53 -0400 Original-Received: from mail.tuxteam.de ([5.199.139.25]:32901) by eggs.gnu.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.90_1) (envelope-from ) id 1jU374-000838-Ib; Thu, 30 Apr 2020 02:56:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tuxteam.de; s=mail; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date; bh=6EUSNvLQXdEgwgYv1vCmt7aRKkTiT2KpovM+Mt1b2D8=; b=mE44BRgNlWh/8wpxdGLcgHCaJN9/iwkQkIhfJV40Az4qLMVhd7tTGrx0qRVi5nafNVbrF6LBPmZXhtjIvChn6En52V83+WjLPV/bNpbTFbP62npZAjdF1sEhNZBENbLMoBRXN+DlwhGoiaBYw4x044I3a79IW/SGVGtD2XDTu4YRBWMJrJJKC6gxDHtBoUz4e0VSWfAlWPP3Lf8pFZ3ehSUuxYumlOYPMPI/14f95G63xHOWOjsmG7b6ck3CUS5mDhEgo/e2Fgvuy4em/UStpzzG18Q9bhR14RKteY4hI1ey2ZrSJG08V620UXZAx2M+hBdJnXJbFJ9OMMwFzT2/XA==; Original-Received: from tomas by mail.tuxteam.de with local (Exim 4.80) (envelope-from ) id 1jU370-0005eu-Pl; Thu, 30 Apr 2020 08:55:58 +0200 Content-Disposition: inline In-Reply-To: Received-SPF: pass client-ip=5.199.139.25; envelope-from=tomas@tuxteam.de; helo=mail.tuxteam.de X-detected-operating-system: by eggs.gnu.org: First seen = 2020/04/30 02:56:00 X-ACL-Warn: Detected OS = Linux 3.1-3.10 [fuzzy] X-Received-From: 5.199.139.25 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:248215 Archived-At: --liOOAslEiF7prFVr Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Apr 29, 2020 at 09:19:51PM -0400, Stefan Monnier wrote: > > Now imagine there's a (graphical) line going from (text) display > > line 3 to 7. You are not implying that we have to segment that > > into four chunks, one per text line? >=20 > I think it would make more sense to treat the overlaid canvas as > a completely separate pixmap: when we get an request to redraw > a particular area of the screen, we'd ask the current redisplay code to > redraw the corresponding text content and then we'd ask the canvas code > to draw on top of it. So for rendering of the canvas code we don't need > to know which part of the canvas cover which characters, we just render > the glyph matrix into a pixmap, render the canvas into another pixmap > and then combine them onto the screen. This is sounding more and more like a compositor :-) Nit: perhaps we'd like to have pics below as well as above text. Cheers -- t --liOOAslEiF7prFVr Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iEYEARECAAYFAl6qdn4ACgkQBcgs9XrR2kbz2gCggRduX38w9WatNDIacxBeU11H NgcAnjlqUz/LQoFYAOesgoHmlXhdv2S2 =noRm -----END PGP SIGNATURE----- --liOOAslEiF7prFVr--