From d45cc207ad294e995b77ec5d7dad5859526f5577 Mon Sep 17 00:00:00 2001 From: Jakob Ketterl Date: Fri, 11 Sep 2020 22:12:01 +0200 Subject: [PATCH] use sprites scaled to specific resolution (better performance, less scaling headaches) --- htdocs/css/openwebrx-globals.css | 8 +++++ htdocs/css/openwebrx-header.css | 24 ++++++------- htdocs/css/openwebrx.css | 53 +++++++++++----------------- htdocs/gfx/openwebrx-sprites-2x.png | Bin 0 -> 14978 bytes htdocs/gfx/openwebrx-sprites.png | Bin 12879 -> 6055 bytes htdocs/index.html | 12 +++---- 6 files changed, 47 insertions(+), 50 deletions(-) create mode 100644 htdocs/gfx/openwebrx-sprites-2x.png diff --git a/htdocs/css/openwebrx-globals.css b/htdocs/css/openwebrx-globals.css index f3748ee..9868894 100644 --- a/htdocs/css/openwebrx-globals.css +++ b/htdocs/css/openwebrx-globals.css @@ -10,3 +10,11 @@ html, body background-image: url(../gfx/openwebrx-sprites.png); display: inline-block; } + +@media only screen and (-webkit-min-device-pixel-ratio: 2), +only screen and (min-device-pixel-ratio: 2) { + .sprite { + background-image: url(../gfx/openwebrx-sprites-2x.png); + background-size: 198px 77px; + } +} \ No newline at end of file diff --git a/htdocs/css/openwebrx-header.css b/htdocs/css/openwebrx-header.css index 0b33a36..b22da87 100644 --- a/htdocs/css/openwebrx-header.css +++ b/htdocs/css/openwebrx-header.css @@ -192,44 +192,44 @@ text-shadow: none; } -.sprite-panel-log { +.sprite-panel-status { background-position: 0 0; + width: 44px; + height: 38px; +} + +.sprite-panel-log { + background-position: -44px 0; width: 38px; height: 38px; } .sprite-panel-receiver { - background-position: -38px 0; + background-position: -82px 0; width: 40px; height: 38px; } .sprite-panel-map { - background-position: -78px 0; + background-position: -122px 0; width: 38px; height: 38px; } .sprite-panel-settings { - background-position: -116px 0; + background-position: -160px 0; width: 38px; height: 38px; } -.sprite-panel-status { - background-position: -154px 0; - width: 44px; - height: 38px; -} - .sprite-rx-details-arrow-down { - background-position: -141px -467px; + background-position: 0 -65px; width: 43px; height: 12px; } .sprite-rx-details-arrow-up { - background-position: -141px -455px; + background-position: -43px -65px; width: 43px; height: 12px; } \ No newline at end of file diff --git a/htdocs/css/openwebrx.css b/htdocs/css/openwebrx.css index 198d279..b96371d 100644 --- a/htdocs/css/openwebrx.css +++ b/htdocs/css/openwebrx.css @@ -1162,86 +1162,75 @@ img.openwebrx-mirror-img margin: -10px; } -.sprite-zoom { - background-size: 55px 151px; +.sprite-zoom-in { + background-position: 0 -38px; width: 27px; height: 27px; } -.sprite-zoom-in { - background-position: 0 -10px; -} - .sprite-zoom-out { - background-position: 0 -38px; + background-position: -27px -38px; + width: 27px; + height: 27px; } .sprite-zoom-in-total { - background-size: 49px 133px; - background-position: 0 -57.5px; + background-position: -54px -38px; width: 24px; + height: 27px; } .sprite-zoom-out-total { - background-size: 50px 139px; - background-position: 0 -88.5px; + background-position: -78px -38px; width: 25px; + height: 27px; } .sprite-edit { - background-size: 70.7px 193.2px; - background-position: -35px -145.25px; + background-position: -131px -51px; width: 14px; height: 14px; } .sprite-trashcan { - background-size: 70.7px 193.2px; - background-position: -49px -145.25px; + background-position: -145px -38px; width: 14px; height: 14px; } .sprite-speaker { - background-size: 29.2px 79.7px; width: 14px; - height: 14.6px; + height: 15px; } #openwebrx-mute-on .sprite-speaker { - background-position: -14.4px -20.4px; + background-position: -117px -38px; } #openwebrx-mute-off .sprite-speaker { - background-position: -14.4px -5.8px; + background-position: -103px -38px; } .sprite-squelch { - background-size: 28.3px 77.3px; - background-position: 0 -64.3px; + background-position: -131px -38px; width: 14px; height: 13px; } -.sprite-waterfall { - background-size: 27.7px 75.8px; -} - .sprite-waterfall-auto { - background-position: -13.7px -45.6px; + background-position: -103px -53px; width: 14px; - height: 11.4px; + height: 11px; } .sprite-waterfall-default { - background-position: -13.7px -33.2px; + background-position: -117px -53px; width: 14px; - height: 12.5px; + height: 12px; } .sprite-bookmark { - background-size: 101px 276px; - background-position: -50px -227.5px; - width: 20.5px; + background-position: -159px -38px; + width: 21px; height: 27px; } \ No newline at end of file diff --git a/htdocs/gfx/openwebrx-sprites-2x.png b/htdocs/gfx/openwebrx-sprites-2x.png new file mode 100644 index 0000000000000000000000000000000000000000..662d481f32e92f64807508f8ee5823be86e63988 GIT binary patch literal 14978 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 literal 12879 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

lphj8vu?(0O2HTPR@uVe^C9;wjHF*w!*_Fkq& zYmms9$fDM8n$Z!Lf<1l`YuZ|hhek>L-1$ugVuZfHJ|+C4d9T#zdump}f^tkKADOgt z&%Fe{l2I-CXm}Y#pa%WuKOHo*?Jss40$p{*ihLDpn=rJ;2RR-OB`c{YQ6**+^#1^| C$zlBf diff --git a/htdocs/index.html b/htdocs/index.html index 4f8b06b..e963e6d 100644 --- a/htdocs/index.html +++ b/htdocs/index.html @@ -164,20 +164,20 @@

-
+
-
+
-
-
-
-
+
+
+
+
0 dB