From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Alan Third Newsgroups: gmane.emacs.devel Subject: Re: Testing native image scaling Date: Sun, 20 Jan 2019 20:19:25 +0000 Message-ID: <20190120201925.GA50268@breton.holly.idiocy.org> References: <83fttpat8p.fsf@gnu.org> <20190119214543.GA13967@breton.holly.idiocy.org> <834la3b9hd.fsf@gnu.org> <20190120192631.GA40845@breton.holly.idiocy.org> <83y37f9kxd.fsf@gnu.org> NNTP-Posting-Host: ciao.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: ciao.gmane.org 1548015635 110735 195.159.176.228 (20 Jan 2019 20:20:35 GMT) X-Complaints-To: usenet@ciao.gmane.org NNTP-Posting-Date: Sun, 20 Jan 2019 20:20:35 +0000 (UTC) User-Agent: Mutt/1.10.1 (2018-07-13) Cc: emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Jan 20 21:20:32 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1glJa2-000SjH-MC for ged-emacs-devel@m.gmane.org; Sun, 20 Jan 2019 21:20:30 +0100 Original-Received: from localhost ([127.0.0.1]:43909 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1glJaB-0002bl-Pq for ged-emacs-devel@m.gmane.org; Sun, 20 Jan 2019 15:20:39 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:60674) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1glJZL-0002bc-Mw for emacs-devel@gnu.org; Sun, 20 Jan 2019 15:19:52 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1glJZH-0007ih-1S for emacs-devel@gnu.org; Sun, 20 Jan 2019 15:19:47 -0500 Original-Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]:33887) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1glJZ5-0007Xs-MN; Sun, 20 Jan 2019 15:19:33 -0500 Original-Received: by mail-wr1-x436.google.com with SMTP id j2so21065385wrw.1; Sun, 20 Jan 2019 12:19:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=G08RhKMoTL3kun4yLMz7wJzLO2rSt016ae7BQwsl8WU=; b=XEPKQC/64hcRwbFgDSgFML6QAPUCUmINTzAg+1R9mzFt3/K+ZNwyaKXe9229HlaS9M sc3N6nr5MesMi1v3IJIUnn/Gvlq6GCliQGZSUdZKsWvibif9Jh+HbW7gKKy9G7NfyM/1 16D2R8PgIyB6zHh167G9sQTlB6JyDc//FHwRbcJtUF9sFriG/pi2xaM85/razB9afxM0 r6qk3zX4gJeXVhSqGAcrS7tg0Ja1PPktyNkBmfrmm+EiEFKhb2dXxixlEViGkqwokF5A 2lqbGGjo7cIg+COsBTs3j1jdvFeNB3fwNCPmPbZfNjj55oD2NuPB3qU/5+T6t4uar7KB SWmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition :content-transfer-encoding:in-reply-to:user-agent; bh=G08RhKMoTL3kun4yLMz7wJzLO2rSt016ae7BQwsl8WU=; b=CVXDLGP4xBXiyxxAaGqb+odm6fSqmlnVJ7bHoqBVpjz0ox7QzYhjcTBmtBSF+zHWwQ nxSFwUudt5kjxXe/grUID0Jhq/r6iyykjEfSIUTtarSuzeBbdlUu10/YdMlTxkeyqPVL 3AWV6fR+HRzdGW56uZkcAaf0NkxeLfmb94QC2XbFzVg6TLicAV2Q61jYQZJLidbVPldW 7mKHR2Q6ENRegRoJswHIRh1DAPl89V5Uer8e+xdOcxQjqQII53qVxG06oOhiXgMMFuxE 959RhnYL/rWbEA96pmzcz/U3PhTktN9Mx8YPxhf8lcjPug02Fjc71qYc5ln7eCLNjepi K95w== X-Gm-Message-State: AJcUukepL8HY2PPPyjePnSZMCcjeCYU5HcAnJDExHWIpXGHiJeFmPbwr i5ALk6o11VI+NNWDXgVFPFsatFXp X-Google-Smtp-Source: ALg8bN50B8LzUwZFwlFiXsf7QBE466jACJzUeZzc3dIW9AzIKY5HhAO1WO/r68fb2oAvdRDyrhOLKA== X-Received: by 2002:adf:93e2:: with SMTP id 89mr7246595wrp.129.1548015568567; Sun, 20 Jan 2019 12:19:28 -0800 (PST) Original-Received: from breton.holly.idiocy.org (ip6-2001-08b0-03f8-8129-0cd0-18e1-55fb-5b69.holly.idiocy.org. [2001:8b0:3f8:8129:cd0:18e1:55fb:5b69]) by smtp.gmail.com with ESMTPSA id t5sm53435677wmd.15.2019.01.20.12.19.27 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 20 Jan 2019 12:19:27 -0800 (PST) Content-Disposition: inline In-Reply-To: <83y37f9kxd.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::436 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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" Xref: news.gmane.org gmane.emacs.devel:232553 Archived-At: On Sun, Jan 20, 2019 at 09:41:02PM +0200, Eli Zaretskii wrote: > > > If we were to add XRender rotation support, I’d be tempted to do both > > rotation and scaling using affine transformation matrices in both > > XRender and NS, as they would then both use the same code to calculate > > the transforms. I believe Windows supports transformation matrices > > through D2D, but I assume Emacs doesn’t use D2D currently, so it may > > not be straight forward to add. > > Windows can calculate and use transformation matrices without D2D as > well, it's really quite simple. You calculate the matrix elements, > and then call a function to install it for the next BitBlt. Sounds very similar to how XRender works. It might be worth giving this a go, then. > > If we were to go that far, it may be worth actually exposing the > > matrices to lisp and handle the calculations there > > What advantages would that give us? Wouldn't it be better to support > higher-level abstractions for the transformations, like scaling, > rotation, and shear? It would simplify the C code, and move those higher level abstractions into lisp. I’m not sure if that’s a good thing, but hasn’t it been the stated intention of the Emacs project for a while? It would make it harder to understand for a human what any given image spec would be expected to do, but then I don’t know if humans look at image specs much. -- Alan Third