From 39de37b547bde50e726ee9a22863bde1585ebe28 Mon Sep 17 00:00:00 2001 From: Robert Swain Date: Thu, 27 Apr 2017 12:38:03 +0200 Subject: [PATCH] *Avatar: Calculate thumbnail dimensions based on devicePixelRatio Multiply the dimension by the device pixel ratio and then round it to get the width/height of the thumbnail to use in the request. --- src/Avatar.js | 8 ++++---- src/components/views/avatars/RoomAvatar.js | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/Avatar.js b/src/Avatar.js index cb5e6965e3..c0127d49af 100644 --- a/src/Avatar.js +++ b/src/Avatar.js @@ -22,8 +22,8 @@ module.exports = { avatarUrlForMember: function(member, width, height, resizeMethod) { var url = member.getAvatarUrl( MatrixClientPeg.get().getHomeserverUrl(), - window.devicePixelRatio > 1.2 ? 96 : width, - window.devicePixelRatio > 1.2 ? 96 : height, + Math.floor(width * window.devicePixelRatio), + Math.floor(height * window.devicePixelRatio), resizeMethod, false, false @@ -40,8 +40,8 @@ module.exports = { avatarUrlForUser: function(user, width, height, resizeMethod) { var url = ContentRepo.getHttpUriForMxc( MatrixClientPeg.get().getHomeserverUrl(), user.avatarUrl, - window.devicePixelRatio > 1.2 ? 96 : width, - window.devicePixelRatio > 1.2 ? 96 : height, + Math.floor(width * window.devicePixelRatio), + Math.floor(height * window.devicePixelRatio), resizeMethod ); if (!url || url.length === 0) { diff --git a/src/components/views/avatars/RoomAvatar.js b/src/components/views/avatars/RoomAvatar.js index 7ed7bfa9fa..8041fd5cd7 100644 --- a/src/components/views/avatars/RoomAvatar.js +++ b/src/components/views/avatars/RoomAvatar.js @@ -59,8 +59,8 @@ module.exports = React.createClass({ ContentRepo.getHttpUriForMxc( MatrixClientPeg.get().getHomeserverUrl(), props.oobData.avatarUrl, - window.devicePixelRatio > 1.2 ? 96 : props.width, - window.devicePixelRatio > 1.2 ? 96 : props.height, + Math.floor(props.width * window.devicePixelRatio), + Math.floor(props.height * window.devicePixelRatio), props.resizeMethod ), // highest priority this.getRoomAvatarUrl(props), @@ -76,8 +76,8 @@ module.exports = React.createClass({ return props.room.getAvatarUrl( MatrixClientPeg.get().getHomeserverUrl(), - window.devicePixelRatio > 1.2 ? 96 : props.width, - window.devicePixelRatio > 1.2 ? 96 : props.height, + Math.floor(props.width * window.devicePixelRatio), + Math.floor(props.height * window.devicePixelRatio), props.resizeMethod, false ); @@ -107,16 +107,16 @@ module.exports = React.createClass({ } return theOtherGuy.getAvatarUrl( MatrixClientPeg.get().getHomeserverUrl(), - window.devicePixelRatio > 1.2 ? 96 : props.width, - window.devicePixelRatio > 1.2 ? 96 : props.height, + Math.floor(props.width * window.devicePixelRatio), + Math.floor(props.height * window.devicePixelRatio), props.resizeMethod, false ); } else if (userIds.length == 1) { return mlist[userIds[0]].getAvatarUrl( MatrixClientPeg.get().getHomeserverUrl(), - window.devicePixelRatio > 1.2 ? 96 : props.width, - window.devicePixelRatio > 1.2 ? 96 : props.height, + Math.floor(props.width * window.devicePixelRatio), + Math.floor(props.height * window.devicePixelRatio), props.resizeMethod, false );