3
3
/* MIT license: http://opensource.org/licenses/MIT
4
4
/* GitHub : https://github.com/VincentGarreau/particles.js
5
5
/* How to use? : Check the GitHub README
6
- /* v1.0.2
6
+ /* v1.0.3
7
7
/* ----------------------------------------------- */
8
8
9
9
function launchParticlesJS ( tag_id , params ) {
@@ -129,12 +129,14 @@ function launchParticlesJS(tag_id, params){
129
129
/* detect retina */
130
130
if ( pJS . retina_detect && window . devicePixelRatio > 1 ) {
131
131
pJS . retina = true ;
132
- pJS . canvas . w = pJS . canvas . el . offsetWidth * 2 ;
133
- pJS . canvas . h = pJS . canvas . el . offsetHeight * 2 ;
134
- pJS . particles . anim . speed = pJS . particles . anim . speed * 2 ;
135
- pJS . particles . line_linked . distance = pJS . particles . line_linked . distance * 2 ;
136
- pJS . particles . line_linked . width = pJS . particles . line_linked . width * 2 ;
137
- pJS . interactivity . mouse . distance = pJS . interactivity . mouse . distance * 2 ;
132
+
133
+ pJS . canvas . pxratio = window . devicePixelRatio
134
+ pJS . canvas . w = pJS . canvas . el . offsetWidth * pJS . canvas . pxratio ;
135
+ pJS . canvas . h = pJS . canvas . el . offsetHeight * pJS . canvas . pxratio ;
136
+ pJS . particles . anim . speed = pJS . particles . anim . speed * pJS . canvas . pxratio ;
137
+ pJS . particles . line_linked . distance = pJS . particles . line_linked . distance * pJS . canvas . pxratio ;
138
+ pJS . particles . line_linked . width = pJS . particles . line_linked . width * pJS . canvas . pxratio ;
139
+ pJS . interactivity . mouse . distance = pJS . interactivity . mouse . distance * pJS . canvas . pxratio ;
138
140
}
139
141
140
142
@@ -155,8 +157,8 @@ function launchParticlesJS(tag_id, params){
155
157
156
158
/* resize canvas */
157
159
if ( pJS . retina ) {
158
- pJS . canvas . w *= 2 ;
159
- pJS . canvas . h *= 2 ;
160
+ pJS . canvas . w *= pJS . canvas . pxratio ;
161
+ pJS . canvas . h *= pJS . canvas . pxratio ;
160
162
}
161
163
162
164
pJS . canvas . el . width = pJS . canvas . w ;
@@ -192,7 +194,7 @@ function launchParticlesJS(tag_id, params){
192
194
193
195
/* size */
194
196
this . radius = ( pJS . particles . size_random ? Math . random ( ) : 1 ) * pJS . particles . size ;
195
- if ( pJS . retina ) this . radius *= 2 ;
197
+ if ( pJS . retina ) this . radius *= pJS . canvas . pxratio ;
196
198
197
199
/* color */
198
200
this . color = color ;
@@ -219,9 +221,9 @@ function launchParticlesJS(tag_id, params){
219
221
break ;
220
222
221
223
case 'triangle' :
222
- pJS . canvas . ctx . moveTo ( this . x , this . y ) ;
223
- pJS . canvas . ctx . lineTo ( this . x + this . radius , this . y + this . radius * 2 ) ;
224
- pJS . canvas . ctx . lineTo ( this . x - this . radius , this . y + this . radius * 2 ) ;
224
+ pJS . canvas . ctx . moveTo ( this . x , this . y - this . radius ) ;
225
+ pJS . canvas . ctx . lineTo ( this . x + this . radius , this . y + this . radius ) ;
226
+ pJS . canvas . ctx . lineTo ( this . x - this . radius , this . y + this . radius ) ;
225
227
pJS . canvas . ctx . closePath ( ) ;
226
228
break ;
227
229
}
@@ -343,13 +345,14 @@ function launchParticlesJS(tag_id, params){
343
345
344
346
/* el on mousemove */
345
347
detect_el . onmousemove = function ( e ) {
348
+
346
349
if ( detect_el == window ) {
347
350
var pos_x = e . clientX ,
348
351
pos_y = e . clientY ;
349
352
}
350
353
else {
351
- var pos_x = e . offsetX ,
352
- pos_y = e . offsetY ;
354
+ var pos_x = e . offsetX || e . clientX ,
355
+ pos_y = e . offsetY || e . clientY ;
353
356
}
354
357
355
358
if ( pJS ) {
@@ -358,8 +361,8 @@ function launchParticlesJS(tag_id, params){
358
361
pJS . interactivity . mouse . pos_y = pos_y ;
359
362
360
363
if ( pJS . retina ) {
361
- pJS . interactivity . mouse . pos_x *= 2 ;
362
- pJS . interactivity . mouse . pos_y *= 2 ;
364
+ pJS . interactivity . mouse . pos_x *= pJS . canvas . pxratio ;
365
+ pJS . interactivity . mouse . pos_y *= pJS . canvas . pxratio ;
363
366
}
364
367
365
368
pJS . interactivity . status = 'mousemove' ;
0 commit comments