[devdocsgjs/main: 578/1867] Use GitHub's parent-child style
- From: Andy Holmes <andyholmes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [devdocsgjs/main: 578/1867] Use GitHub's parent-child style
- Date: Fri, 19 Nov 2021 23:47:17 +0000 (UTC)
commit 14e49f7014523a807d01df4b04ae470c3da6c2e9
Author: Jasper van Merle <jaspervmerle gmail com>
Date: Sat Feb 16 23:41:06 2019 +0100
Use GitHub's parent-child style
assets/javascripts/lib/favicon.coffee | 36 ++++++++++++++++++++++-------------
1 file changed, 23 insertions(+), 13 deletions(-)
---
diff --git a/assets/javascripts/lib/favicon.coffee b/assets/javascripts/lib/favicon.coffee
index aa319e27..f42b1281 100644
--- a/assets/javascripts/lib/favicon.coffee
+++ b/assets/javascripts/lib/favicon.coffee
@@ -19,6 +19,9 @@ withImage = (url, action) ->
favicon = $('link[rel="icon"]')
+ if defaultUrl == null
+ defaultUrl = favicon.href
+
if urlCache[doc.slug]
favicon.href = urlCache[doc.slug]
currentSlug = doc.slug
@@ -27,24 +30,31 @@ withImage = (url, action) ->
styles = window.getComputedStyle($("._icon-#{doc.slug}"), ':before')
bgUrl = styles['background-image'].slice(5, -2)
- bgSize = if bgUrl.includes('@2x') then 32 else 16
- bgX = parseInt(styles['background-position-x'].slice(0, -2))
- bgY = parseInt(styles['background-position-y'].slice(0, -2))
+ sourceSize = if bgUrl.includes('@2x') then 32 else 16
+ sourceX = Math.abs(parseInt(styles['background-position-x'].slice(0, -2)))
+ sourceY = Math.abs(parseInt(styles['background-position-y'].slice(0, -2)))
- withImage(bgUrl, (img) ->
- canvas = document.createElement('canvas')
+ withImage(bgUrl, (docImg) ->
+ withImage(defaultUrl, (defaultImg) ->
+ size = defaultImg.width
- canvas.width = bgSize
- canvas.height = bgSize
- canvas.getContext('2d').drawImage(img, bgX, bgY)
+ canvas = document.createElement('canvas')
+ ctx = canvas.getContext('2d')
- if defaultUrl == null
- defaultUrl = favicon.href
+ canvas.width = size
+ canvas.height = size
+ ctx.drawImage(defaultImg, 0, 0)
- urlCache[doc.slug] = canvas.toDataURL()
- favicon.href = urlCache[doc.slug]
+ docIconPercentage = 65
+ destinationCoords = size / 100 * (100 - docIconPercentage)
+ destinationSize = size / 100 * docIconPercentage
+ ctx.drawImage(docImg, sourceX, sourceY, sourceSize, sourceSize, destinationCoords, destinationCoords,
destinationSize, destinationSize)
- currentSlug = doc.slug
+ urlCache[doc.slug] = canvas.toDataURL()
+ favicon.href = urlCache[doc.slug]
+
+ currentSlug = doc.slug
+ )
)
@resetFavicon = () ->
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]