From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Stephen Pegoraro Newsgroups: gmane.emacs.devel Subject: HiDPI support for wave style underlines Date: Sat, 29 Jul 2017 11:29:43 +0800 Message-ID: NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="94eb2c0cbf34a221f505556c688e" X-Trace: blaine.gmane.org 1501299027 5820 195.159.176.226 (29 Jul 2017 03:30:27 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 29 Jul 2017 03:30:27 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Jul 29 05:30:20 2017 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dbISJ-00012a-E9 for ged-emacs-devel@m.gmane.org; Sat, 29 Jul 2017 05:30:19 +0200 Original-Received: from localhost ([::1]:51021 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dbISP-0004c5-1w for ged-emacs-devel@m.gmane.org; Fri, 28 Jul 2017 23:30:25 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:47708) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dbIRn-0004al-J6 for emacs-devel@gnu.org; Fri, 28 Jul 2017 23:29:48 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dbIRm-0004PX-Cy for emacs-devel@gnu.org; Fri, 28 Jul 2017 23:29:47 -0400 Original-Received: from mail-qt0-x22a.google.com ([2607:f8b0:400d:c0d::22a]:35464) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dbIRm-0004MY-5f for emacs-devel@gnu.org; Fri, 28 Jul 2017 23:29:46 -0400 Original-Received: by mail-qt0-x22a.google.com with SMTP id p3so86015317qtg.2 for ; Fri, 28 Jul 2017 20:29:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tutive-com.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=Ld47xaI1iteaWXfa+SmWXZqinM/514JnUBtJS1yA6tU=; b=TTis/zx0h3ZP2QyxmeNAQFgmrrbSgWqgDiPLiMo/ZS8FUCt+ywF5m68pBe/+l3sI7Q m0MAh9mbHSKrtBBka6Yuosn16SeDPBUGyE7d2T1pSQMRGE0EtJ3OFyQDviFSfcWrnj9l kbyKGbcJveFM5Rbblp2/ojdmVdt2lpXRyRqmXUlvBtzn1D/lp2mGUZnflvzlFM9PFs02 I6sImBdOh6yPEsjFtP810KPcofTnO7fPqnfYM2hVApVTbdM+F67zw1wak9SnxXIMZ29p 1MAK+roLbkMreGPaDhdpX/jJk6+1JyHddk+2TM3k1/MS75XFcD6nHjW7AocAR61Lpjzq cnbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=Ld47xaI1iteaWXfa+SmWXZqinM/514JnUBtJS1yA6tU=; b=psbhM/3/AtTFnlnMPFEe6rqVhotOysN4jq0g/NWmOtm/G39+k6IZdFrpofB3bje6fE wv8crzwqCYNGByQKUwStNXxTTafW1UeMVW2FaMEMiO20LTKP9Ekn2on9JLc7/2VoSnEU RhGir/qbX/X85iyDI5rxFTOgbghQ1SeBKGOHteVhjMoQUMY5K5zLYqnhy2Oldthmguy9 Ye/6VIrPepBtekwRowBIVCr7Dg6Rk/MrgamrJIwn6gDF1n76hPZrDa1IER6MRjogw32s WpHnjkdthnFnaaUs6tXNBq16k0raYSZIIjPz/px940DYDINIlaf3CSGw7JF1eZhf7if8 Dgxw== X-Gm-Message-State: AIVw111MFoliBez0iskNeQlhvOulZnjqqDmvcQdNf0vatOFkY/bH2ltS O2CckiXXcaJm3SWj2i4RIx4bewCFS54C X-Received: by 10.237.32.196 with SMTP id 62mr12470631qtb.99.1501298983823; Fri, 28 Jul 2017 20:29:43 -0700 (PDT) Original-Received: by 10.140.85.115 with HTTP; Fri, 28 Jul 2017 20:29:43 -0700 (PDT) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::22a 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:217116 Archived-At: --94eb2c0cbf34a221f505556c688e Content-Type: text/plain; charset="UTF-8" Hi, I have made an attempt at implementing scaled drawing of wave style underlines for hidpi displays, X only for now. This is my first contribution to emacs so any feedback would be great! I've followed the commit and patch style from CONTRIBUTE as closely as I could but let me know if there's any issue. It works by determining a scale factor from x_display_info's resx and resy members then setting the wave_height and wave_length values accordingly. Thickness was added using XSetLineAttributes and scaled as well. Tested on displays with various scales from 1 to 3. Cheers, Steve Pegoraro --94eb2c0cbf34a221f505556c688e Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Implement-HiDPI-support-for-wave-style-underlines.patch" Content-Disposition: attachment; filename="0001-Implement-HiDPI-support-for-wave-style-underlines.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j5oqgsm50 RnJvbSBiYzcxZGJjNzhhNDU1YjQ2YTkxNjE5YmNkMzhhZjQ1ZTRlOTgzMWZiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTdGVwaGVuIFBlZ29yYXJvIDxzcGVnb3Jhcm9AdHV0aXZlLmNv bT4KRGF0ZTogU2F0LCAyOSBKdWwgMjAxNyAxMToxMjowMyArMDgwMApTdWJqZWN0OiBbUEFUQ0hd IEltcGxlbWVudCBIaURQSSBzdXBwb3J0IGZvciB3YXZlIHN0eWxlIHVuZGVybGluZXMKCiogc3Jj L3h0ZXJtLmMgKHhfZHJhd191bmRlcndhdmUpOiBDb21wdXRlIGhlaWdodCwgbGVuZ3RoIGFuZCB0 aGlja25lc3MKYmFzZWQgb24gc2NhbGUgZmFjdG9yLgooeF9nZXRfc2NhbGVfZmFjdG9yKTogTmV3 IGZ1bmN0aW9uLgotLS0KIHNyYy94dGVybS5jIHwgMjEgKysrKysrKysrKysrKysrKy0tLS0tCiAx IGZpbGUgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9zcmMveHRlcm0uYyBiL3NyYy94dGVybS5jCmluZGV4IGEyMTRjZDgxMDMuLjU0NzZjMjJh MGIgMTAwNjQ0Ci0tLSBhL3NyYy94dGVybS5jCisrKyBiL3NyYy94dGVybS5jCkBAIC0yMyw5ICsy Myw3IEBAIGFsb25nIHdpdGggR05VIEVtYWNzLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251 Lm9yZy9saWNlbnNlcy8+LiAgKi8KICNpbmNsdWRlIDxjb25maWcuaD4KICNpbmNsdWRlIDxzdGRp by5oPgogI2luY2x1ZGUgPHN0ZGxpYi5oPgotI2lmZGVmIFVTRV9DQUlSTwogI2luY2x1ZGUgPG1h dGguaD4KLSNlbmRpZgogCiAjaW5jbHVkZSAibGlzcC5oIgogI2luY2x1ZGUgImJsb2NraW5wdXQu aCIKQEAgLTM0NzUsNiArMzQ3MywxNSBAQCB4X2RyYXdfc3RyZXRjaF9nbHlwaF9zdHJpbmcgKHN0 cnVjdCBnbHlwaF9zdHJpbmcgKnMpCiAgIHMtPmJhY2tncm91bmRfZmlsbGVkX3AgPSB0cnVlOwog fQogCitzdGF0aWMgaW50IHhfZ2V0X3NjYWxlX2ZhY3RvcihEaXNwbGF5ICpkaXNwKQoreworICAg IHN0cnVjdCB4X2Rpc3BsYXlfaW5mbyAqIGRweWluZm8gPSB4X2Rpc3BsYXlfaW5mb19mb3JfZGlz cGxheSAoZGlzcCk7CisgICAgaWYgKCFkcHlpbmZvKQorICAgICAgICBlbWFjc19hYm9ydCAoKTsK KworICAgIHJldHVybiBmbG9vcihkcHlpbmZvLT5yZXN5IC8gOTYpOworfQorCiAvKgogICAgRHJh dyBhIHdhdnkgbGluZSB1bmRlciBTLiBUaGUgd2F2ZSBmaWxscyB3YXZlX2hlaWdodCBwaXhlbHMg ZnJvbSB5MC4KIApAQCAtMzQ4NSwxMSArMzQ5MiwxMyBAQCB4X2RyYXdfc3RyZXRjaF9nbHlwaF9z dHJpbmcgKHN0cnVjdCBnbHlwaF9zdHJpbmcgKnMpCiAgICAgd2F2ZV9oZWlnaHQgPSAzICB8ICog ICAqICAgKiAgICoKIAogKi8KLQogc3RhdGljIHZvaWQKIHhfZHJhd191bmRlcndhdmUgKHN0cnVj dCBnbHlwaF9zdHJpbmcgKnMpCiB7Ci0gIGludCB3YXZlX2hlaWdodCA9IDMsIHdhdmVfbGVuZ3Ro ID0gMjsKKyAgICAvKiBBZGp1c3QgZm9yIHNjYWxlL0hpRFBJICovCisgICAgaW50IHNjYWxlID0g eF9nZXRfc2NhbGVfZmFjdG9yIChzLT5kaXNwbGF5KTsKKyAgICBpbnQgd2F2ZV9oZWlnaHQgPSAz ICogc2NhbGUsIHdhdmVfbGVuZ3RoID0gMiAqIHNjYWxlLCB0aGlja25lc3MgPSBzY2FsZTsKKwog I2lmZGVmIFVTRV9DQUlSTwogICB4X2RyYXdfaG9yaXpvbnRhbF93YXZlIChzLT5mLCBzLT5nYywg cy0+eCwgcy0+eWJhc2UgLSB3YXZlX2hlaWdodCArIDMsCiAJCQkgIHMtPndpZHRoLCB3YXZlX2hl aWdodCwgd2F2ZV9sZW5ndGgpOwpAQCAtMzUwMSw3ICszNTEwLDcgQEAgeF9kcmF3X3VuZGVyd2F2 ZSAoc3RydWN0IGdseXBoX3N0cmluZyAqcykKICAgZHggPSB3YXZlX2xlbmd0aDsKICAgZHkgPSB3 YXZlX2hlaWdodCAtIDE7CiAgIHgwID0gcy0+eDsKLSAgeTAgPSBzLT55YmFzZSAtIHdhdmVfaGVp Z2h0ICsgMzsKKyAgeTAgPSBzLT55YmFzZSArIHdhdmVfaGVpZ2h0IC8gMjsKICAgd2lkdGggPSBz LT53aWR0aDsKICAgeG1heCA9IHgwICsgd2lkdGg7CiAKQEAgLTM1MzUsNiArMzU0NCw4IEBAIHhf ZHJhd191bmRlcndhdmUgKHN0cnVjdCBnbHlwaF9zdHJpbmcgKnMpCiAKICAgd2hpbGUgKHgxIDw9 IHhtYXgpCiAgICAgeworICAgICAgWFNldExpbmVBdHRyaWJ1dGVzIChzLT5kaXNwbGF5LCBzLT5n YywgdGhpY2tuZXNzLCBMaW5lU29saWQsIENhcEJ1dHQsCisgICAgICAgICAgICAgICAgICAgICAg ICAgIEpvaW5Sb3VuZCk7CiAgICAgICBYRHJhd0xpbmUgKHMtPmRpc3BsYXksIEZSQU1FX1hfRFJB V0FCTEUgKHMtPmYpLCBzLT5nYywgeDEsIHkxLCB4MiwgeTIpOwogICAgICAgeDEgID0geDIsIHkx ID0geTI7CiAgICAgICB4MiArPSBkeCwgeTIgPSB5MCArIG9kZCpkeTsKLS0gCjIuMTMuMwoK --94eb2c0cbf34a221f505556c688e--