(mode, event = false, lensData = false)
| 2849 | var magnifyingGlassControlST = false, prevMagnifyingGlassControlRect = false; |
| 2850 | |
| 2851 | function magnifyingGlassControl(mode, event = false, lensData = false) |
| 2852 | { |
| 2853 | let x = 0, y = 0; |
| 2854 | |
| 2855 | if(event) |
| 2856 | { |
| 2857 | const originalEvent = event.originalEvent || event; |
| 2858 | |
| 2859 | x = originalEvent.touches ? originalEvent.touches[0].pageX : (event.pageX || !event.clientX ? event.pageX : event.clientX); |
| 2860 | y = originalEvent.touches ? originalEvent.touches[0].pageY : (event.pageY || !event.clientY ? event.pageY : event.clientY); |
| 2861 | } |
| 2862 | |
| 2863 | let contentRight = template._contentRight(); |
| 2864 | |
| 2865 | if(mode == 1) |
| 2866 | { |
| 2867 | if(mode !== magnifyingGlassPosition.mode) |
| 2868 | clearTimeout(magnifyingGlassControlST); |
| 2869 | |
| 2870 | let ratio = lensData?.ratio ? lensData.ratio : config.readingMagnifyingGlassRatio; |
| 2871 | let zoom = lensData?.zoom ? lensData.zoom : config.readingMagnifyingGlassZoom; |
| 2872 | let lensWidth = lensData?.size ? lensData.size : config.readingMagnifyingGlassSize; |
| 2873 | let lensHeight = Math.round(lensWidth * ratio); |
| 2874 | |
| 2875 | let lensHeightM = Math.round(lensHeight / 2); |
| 2876 | let lensWidthM = Math.round(lensWidth / 2); |
| 2877 | |
| 2878 | let top = (y - lensHeightM); |
| 2879 | let left = (x - (lensWidth / 2)); |
| 2880 | |
| 2881 | let rect = showComicSkip !== false && prevMagnifyingGlassControlRect ? prevMagnifyingGlassControlRect : contentRight.querySelector('.reading-body').getBoundingClientRect(); |
| 2882 | prevMagnifyingGlassControlRect = rect; |
| 2883 | |
| 2884 | let topLens = y - rect.top - (lensHeightM / zoom); |
| 2885 | let leftLens = x - rect.left - lensWidthM; |
| 2886 | |
| 2887 | dom.this(contentRight).find('.reading-lens').css({ |
| 2888 | display: 'block', |
| 2889 | contentVisibility: 'visible', |
| 2890 | transform: 'translate('+left+'px, '+top+'px)', |
| 2891 | width: lensWidth+'px', |
| 2892 | height: lensHeight+'px', |
| 2893 | borderRadius: ((lensData && typeof lensData.radius != 'undefined') ? lensData.radius : config.readingMagnifyingGlassRadius)+'px' |
| 2894 | }).removeClass('d', 'h').addClass('a'); |
| 2895 | |
| 2896 | dom.this(contentRight).find('.reading-lens > div').css({ |
| 2897 | transform: 'scale('+zoom+') translate(' + (-(leftLens)) + 'px, ' + (-(topLens)) + 'px)', |
| 2898 | transformOrigin: '', |
| 2899 | transition: '', |
| 2900 | }); |
| 2901 | |
| 2902 | magnifyingGlassView = true; |
| 2903 | |
| 2904 | magnifyingGlassPosition = { |
| 2905 | x: x, |
| 2906 | y: y, |
| 2907 | mode: mode, |
| 2908 | }; |
no outgoing calls
no test coverage detected