From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Drawing UI elements behind text Date: Wed, 27 Nov 2024 20:58:33 +0200 Message-ID: <86bjy0fqqu.fsf@gnu.org> References: <641230ac-2dbc-42ac-a57e-acda77fe9296@imayhem.com> <8C55E590-E586-440A-89C5-0E5153518790@gmail.com> <78d3a7e7-f5a7-476b-8a9d-27beca44a94a@imayhem.com> <86plmgg2vx.fsf@gnu.org> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="3136"; mail-complaints-to="usenet@ciao.gmane.io" Cc: jdtsmith@gmail.com, emacs-devel@gnu.org To: Cecilio Pardo Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Nov 27 19:59:24 2024 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 1tGNG0-0000hW-59 for ged-emacs-devel@m.gmane-mx.org; Wed, 27 Nov 2024 19:59:24 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tGNFM-00089M-04; Wed, 27 Nov 2024 13:58:44 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tGNFG-00086D-9h for emacs-devel@gnu.org; Wed, 27 Nov 2024 13:58:38 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tGNFF-00074A-Bf; Wed, 27 Nov 2024 13:58:37 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=fOvCTboLYcPF4mV4wC7W6Zo/P9JE54R7veJ0qilOPI4=; b=qaP/PL7lOwV4 Y4InnSxSmqqlKWGpfv4IubFtghhAcl5kVjD/CEZZr6MBf1dlC4UyubvmyBoDiMSOmkVwpp55EJVr4 KBOe0llxD2sIXBN2IY/m5K4RXh+FvDPchrUg60a3LvjI6dJxV9u4s4sALK951cWljuB572GZHuXcv KrCgJP7pnG9c9AoVxQhCmotKpEGjX+hIiBaSKiadDWAzVB19ZlwmJ8MvqkzZ5mkuvMw4SYnR859T6 vzHHalsX8eozCaCZeF+jpol23+sh0XUyf+MIuj6gOm0bhxK+IvFsoF+Hse2fIWAIirOs1607KHNZR 61Sb9u63t5+I663BL/moXw==; In-Reply-To: (message from Cecilio Pardo on Wed, 27 Nov 2024 19:28:58 +0100) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:325785 Archived-At: > Date: Wed, 27 Nov 2024 19:28:58 +0100 > Cc: jdtsmith@gmail.com, emacs-devel@gnu.org > From: Cecilio Pardo > > > If they are completely disconnected, how does this work when the > > window is scrolled several lines? > > They are anchored at locations on the buffer, specified by line/column. > This is transformed into pixels using the size of the default char cell > for the buffer. The buffer scroll position on each window is used to > compute the final position on the frame/screen. > > For buffers that use different font sizes or images this is probably not > very useful. Direct pixel positions can be used too. > > They are drawn after switching the back paint buffer, so that the > redisplay result is left alone. So you clear them up when redisplay starts and then redraw them in their entirety when it ends, something like that? Doesn't that slow down redisplay, especially if there are many pixels and a large window?