From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Po Lu Newsgroups: gmane.emacs.devel Subject: Re: Emacs canvas support Date: Thu, 30 Apr 2020 16:04:38 +0800 Message-ID: <87zhat1js9.fsf@yahoo.com> References: <83o8raziis.fsf@gnu.org> <877dxy1smz.fsf@yahoo.com> <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: text/plain Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="68939"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: tomas@tuxteam.de, 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 10:05:41 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 1jU4CT-000HoW-TD for ged-emacs-devel@m.gmane-mx.org; Thu, 30 Apr 2020 10:05:41 +0200 Original-Received: from localhost ([::1]:48194 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jU4CS-0003iv-Tn for ged-emacs-devel@m.gmane-mx.org; Thu, 30 Apr 2020 04:05:40 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:38610) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jU4Bc-0002lZ-Dh for emacs-devel@gnu.org; Thu, 30 Apr 2020 04:04:49 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jU4Bb-0004YE-8d for emacs-devel@gnu.org; Thu, 30 Apr 2020 04:04:48 -0400 Original-Received: from sonic303-20.consmr.mail.ne1.yahoo.com ([66.163.188.146]:37158) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jU4Ba-0004Xm-QA for emacs-devel@gnu.org; Thu, 30 Apr 2020 04:04:46 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1588233884; bh=PXLDXjVo1ZWGUo944iQLl+6TBIYDnlEYQ/rIpfi5wEI=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From:Subject; b=XMihMw15XDjhuiiBVsV+9I0VpBcHtlT3fQSmYMPFiPBtkzXTX0kLKcBcvv084g3MqbZe9Wi0azan0gzaL6SX2Rrc33vRJ9EInN1Fq/iJExY7AkKfIGf4upZj0XN96eX/vR1KCileMilOMTmZ9+SgfokOaBl7ey3zSqSLrrzGBmekV7A3B15DiGserf90lfW88O+Cyotu6/uWyy52M8yipy0tHT2WX7TLe60yiIKnDt6vKgjsy9wbklhv0LHeldX2O8WF9M+UkYUu3v0ogutYbu4F4GZryNPG02DIw9jLnZHs6AK8FQDF19USi8SbNdOw/iCE+UlJdJxj/+rWZe7aPg== X-YMail-OSG: OWaLc.8VM1kh0YKJVKD2FAAw9D6DQwtCddB3cUqNqYF6MeFeq4KvBBxD7J0erQG 8WJnSBMlDDFLOic2Z2S82_kDgE9.7mJNCRteC_6X5dNW6jdqfMpzKbUIZeFOEwrjACh_jTa3U.hP UxNZwl6JvgzU86aF9.nD2Ps.cbiL0pIsz54QSYH2yMpDSB3pAF2ZhwIX7bQXJbs8Ad_ZYT3muI1V nzBAe2WuFjiTBkdlDrKpWDp5AwFDrP5UT5UvJmgHpOj1N3SwnB5p1pUb8HZoyAs7vVAPRzYqinhR X6NUEnlx2b2aR4.pp85AdFA7vCRTrrcc_Suxlaw5VZZbMi8fH.Da0SVljRDZ8LdfeqfkIwKJjl5. aetksrH87b.IqlSBn8pnh1ixUxliGYLd6a3b_Z71zMqBhdxQCpwWeMBqOvphz6lvrjUgqt1B7lRB IVy7u8OfIuICx138MliOXmU0g_kWMDuwzJJPATqoItgHiJuHhrtSmrhyrjNX5SGyD6X_C9uCU4p8 go.L.lVTdaoLuAXz6PhxubqM7DWwQnNRP14F.MKxQoUy2mLqr3vgVSFQEeP9BcdmkxRb9RGXy8NB qY1623576k8gaU6Fasvwy28GmjUrPGFVg41ryVXNuaZ0KaCrdYcVujYXKVf2aO.CrbWVw3gLqEFD OakL3d0McyP0ylZEI3sjZYfdbikhUyHQ1kAxT0apUNCgYgilzVgN24Fn94ERBOmEeN7CB_vqNx4N rQBiGR3bjYfERaO3_ec9uV8io36EhKTtenTeN5QrAIeSJQNSsDvTtLWSnE.b3lhufoHShhYzLxsc AA47ecSLMbO6Z.M5WvxVnnyKjuZ4ezuhczY_A9aRJH Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic303.consmr.mail.ne1.yahoo.com with HTTP; Thu, 30 Apr 2020 08:04:44 +0000 Original-Received: by smtp409.mail.sg3.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID 6becd2a55254d31504fd42b7e913c220; Thu, 30 Apr 2020 08:04:40 +0000 (UTC) In-Reply-To: (Stefan Monnier's message of "Wed, 29 Apr 2020 21:19:51 -0400") X-Mailer: WebService/1.1.15820 hermes Apache-HttpAsyncClient/4.1.4 (Java/11.0.6) Received-SPF: pass client-ip=66.163.188.146; envelope-from=luangruo@yahoo.com; helo=sonic303-20.consmr.mail.ne1.yahoo.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/04/30 04:04:44 X-ACL-Warn: Detected OS = Linux 3.1-3.10 X-Received-From: 66.163.188.146 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:248217 Archived-At: Stefan Monnier writes: > 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. That's what I'm trying to do right now, but so far keeping track of exactly where each canvas is displayed on the screen seems to be difficult. I'd appreciate some suggestions, thanks.