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: Stipples and scroll optimizations Date: Sun, 08 May 2022 10:40:26 +0300 Message-ID: <83h760wjyt.fsf@gnu.org> References: <87a6bs5w05.fsf.ref@yahoo.com> <87a6bs5w05.fsf@yahoo.com> <83ilqgwkfw.fsf@gnu.org> <875ymg5vgm.fsf@yahoo.com> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="11228"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Po Lu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun May 08 09:42:29 2022 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 1nnbYi-0002kF-MU for ged-emacs-devel@m.gmane-mx.org; Sun, 08 May 2022 09:42:28 +0200 Original-Received: from localhost ([::1]:38094 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nnbYh-0006TE-5B for ged-emacs-devel@m.gmane-mx.org; Sun, 08 May 2022 03:42:27 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:59598) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nnbWt-0005iY-Dl for emacs-devel@gnu.org; Sun, 08 May 2022 03:40:36 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:51306) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nnbWt-0001Z2-4C; Sun, 08 May 2022 03:40:35 -0400 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=802kqIlPHk+dXl1/9mcH3qQeWphvyfMpgyNrMKAvORY=; b=cIRv2ybJAmQX yBfm0k7aCbDf9Fl+fDQMMaw5+RcQeV/vgAt44il7a71EyrAMUjBAIQcH6mnkdTXCDfP4MXT3lRmVE NMqwAUvPZ/XVFELaSyG8Qdfjlfu8BjHb9OVbphBszRTPX1jJ8pCJO3jS9Asw2VHFiIKPuH0iuOWrc WUTGBf+cyRmCYXh1+CCVJuct574euc6aTTyP7d680AegrTq0a3F+4OGGFyCWdMLQQBPOfA3uqrMN3 GpdbBNDpXCMxk9gNcAlsKpx7aZ0bWLE5WPPsHx/K4i6VRTDc/i6Gl7lLkWiVx8wr8bXaiakZ4OS0W 7DhoNID0aZl3q9p28Ju14A==; Original-Received: from [87.69.77.57] (port=4360 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nnbWr-0002pl-KR; Sun, 08 May 2022 03:40:33 -0400 In-Reply-To: <875ymg5vgm.fsf@yahoo.com> (message from Po Lu on Sun, 08 May 2022 15:34:17 +0800) 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" Xref: news.gmane.io gmane.emacs.devel:289451 Archived-At: > From: Po Lu > Cc: emacs-devel@gnu.org > Date: Sun, 08 May 2022 15:34:17 +0800 > > Eli Zaretskii writes: > > > If using scrolling_window in this case causes incorrect display, then > > scrolling_window should be disabled. But how would you know, in > > update_window or its subroutines, that this is the case? > > We could make x_draw_glyph_string (and its counterparts) set a flag > inside the glyph row if a stipple is encountered, and then test that > inside scrolling_window. I think doing this is x_draw_glyph_string is too late, because that is called after the test for applicability of scrolling_window was already done, no? Is the fact that some of the glyphs in a glyph-row use stipple easily detectable by scanning the row's glyphs? If so, update_window could do that, just before it calls scrolling_window, and refrain from doing so. Alternatively, we could add a flag to the glyph_row structure, which will be set the first time we see a face with stipple while producing glyphs for the row, and then update_window could test that flag.