From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Pixel-based display functions Date: Sat, 07 Feb 2015 13:37:09 +0200 Message-ID: <83sieiar6i.fsf@gnu.org> References: <837fw3l7uz.fsf@gnu.org> <54CD4B27.4080201@gmx.at> <874mr6qvi5.fsf@building.gnus.org> <87sieqpfxh.fsf@building.gnus.org> <54CDE908.7050908@gmx.at> <87ioflq0dz.fsf@building.gnus.org> <54CE2187.9070003@gmx.at> <83lhkhiq8t.fsf@gnu.org> <54CE54A3.1020707@gmx.at> <838ughilmo.fsf@gnu.org> <54CE6BD2.8000402@gmx.at> <8361bliin0.fsf@gnu.org> <83386piiby.fsf@gnu.org> <87oap9yoti.fsf@building.gnus.org> <874mqzvnwo.fsf@building.gnus.org> <83h9uzeb4a.fsf@gnu.org> <87bnl7jrr7.fsf@building.gnus.org> <831tm3dt8u.fsf@gnu.org> <87k2zvgj4d.fsf@building.gnus.org> <83siejcahb.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1423309044 26118 80.91.229.3 (7 Feb 2015 11:37:24 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 7 Feb 2015 11:37:24 +0000 (UTC) Cc: rudalics@gmx.at, monnier@IRO.UMontreal.CA, emacs-devel@gnu.org To: larsi@gnus.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Feb 07 12:37:19 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YK3hP-00087R-9B for ged-emacs-devel@m.gmane.org; Sat, 07 Feb 2015 12:37:19 +0100 Original-Received: from localhost ([::1]:52436 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YK3hO-00056u-Ph for ged-emacs-devel@m.gmane.org; Sat, 07 Feb 2015 06:37:18 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:48578) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YK3hL-00056Z-9M for emacs-devel@gnu.org; Sat, 07 Feb 2015 06:37:16 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YK3hI-0006a5-25 for emacs-devel@gnu.org; Sat, 07 Feb 2015 06:37:15 -0500 Original-Received: from mtaout23.012.net.il ([80.179.55.175]:41180) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YK3hH-0006XW-RI for emacs-devel@gnu.org; Sat, 07 Feb 2015 06:37:12 -0500 Original-Received: from conversion-daemon.a-mtaout23.012.net.il by a-mtaout23.012.net.il (HyperSendmail v2007.08) id <0NJE00300FYAAN00@a-mtaout23.012.net.il> for emacs-devel@gnu.org; Sat, 07 Feb 2015 13:37:10 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout23.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NJE003JBG9X7Z50@a-mtaout23.012.net.il>; Sat, 07 Feb 2015 13:37:10 +0200 (IST) In-reply-to: <83siejcahb.fsf@gnu.org> X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: Solaris 10 X-Received-From: 80.179.55.175 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:182583 Archived-At: > Date: Fri, 06 Feb 2015 17:42:40 +0200 > From: Eli Zaretskii > Cc: rudalics@gmx.at, monnier@IRO.UMontreal.CA, emacs-devel@gnu.org > > > I think the ideal interface for this would be a function that returns > > a vector of glyph widths in the region, possibly with one vector per > > line. > > I'll see what I can do. A few preliminary questions about this: . Is it good enough to handle only a single physical line, starting from a given POSITION argument and ending at the first newline that follows POSITION? (Handling of additional lines will then have to be done in Lisp.) . What to assume/do with the various display features, like overlay and display strings, images, align-to space specs, line-prefix, etc., that can be pertinent to the portion of text being processed? The easiest alternative is to handle them "as usual" in redisplay, i.e. the corresponding glyphs will be produced and included in the return value. Is that OK? If not, what else is needed for these use cases? (Note that if a display or overlay string includes newlines, this means the result could span multiple screen lines -- will that be a problem?.) . How will the caller specify the information about the display defaults, like the faces? The usual way is that some window is specified, either explicitly as an argument or implicitly as the currently selected window, and all the defaults are taken from that window and its frame. Is that good enough for your purposes?