सटीक जेस्चर के लिए सटीक टच

मैट गौंट

Chrome के M37 (08/2014 में स्थिर) को लागू करने के दौरान, Chrome के TouchEvents लागू करने पर एक बदलाव हुआ, जो रिपोर्ट किए गए को-ऑर्डिनेट को पूर्णांक के बजाय फ़्लोट में बदल देता है.

पहला हिस्सा बाद में
clientX: 167
clientY: 196
pageX:   167
pageY:   196
sectionX: 26
त्रिज्याY: 26
screenX: 167
screenY: 277
clientX: 167.33299255371094
clientY: 195.66700744628906
pageX: 167.33299255371094
pageY: 195.66700744618315x80731 सिर्फ़ 109.



इस बदलाव का मतलब है कि उपयोगकर्ताओं के जेस्चर (हाव-भाव) पर आसानी से काम किया जा सकेगा, क्योंकि इससे उंगलियों की पोज़िशन को ज़्यादा सटीक बनाया जा सकता है.

रिक बायर्स के डेमो का इस्तेमाल करके, यह देखा जा सकता है कि धीरे-धीरे घुमावदार घूमने पर कितना बड़ा फ़र्क़ दिख सकता है.

टच इवेंट में अंतर.

इससे सिर्फ़ उन स्क्रीन पर असर पड़ेगा जिनमें पिक्सल की सघनता 1 से ज़्यादा होती है. इसकी वजह जानने के लिए, आइए एक उदाहरण देखते हैं.

मान लें कि आपके पास सीएसएस पिक्सल का 3x3 का ग्रिड है और स्क्रीन की सघनता तीन है. इसका मतलब है कि हमारे पास 9x9 फ़िज़िकल पिक्सल का ग्रिड है और उपयोगकर्ता के जेस्चर में ऊपर बाईं ओर से नीचे दाईं ओर तक के जेस्चर हैं.

सीएसएस पिक्सल और स्क्रीन पिक्सल ग्रिड.

शुरुआत में, हम टच की पोज़िशन को सबसे नज़दीकी सीएसएस पिक्सल के करीब कर रहे थे. इसका मतलब था कि इस जेस्चर में, आपको नीचे दिया गया तरीका अपनाना होगा.

जेस्चर के दौरान सीएसएस पिक्सल की सटीक जानकारी.

उपयोगकर्ता के अपनी उंगली हिलाने पर फ़िज़िकल पिक्सल दिख सकता है, इनमें से कोई भी इंटरमीडिएट चरण हम नहीं ला सकते.

अब हमने फ़्लोट करना शुरू कर दिया है, इसलिए हमारा हाथ का जेस्चर ऐसा दिख सकता है.

जेस्चर के दौरान फ़्लोट सटीक.

ज़्यादातर मामलों में, इसके लिए आपको अपने कोड में कोई बदलाव नहीं करना होगा, लेकिन इसका मतलब यह है कि TouchEVENT की वजह से आपके सारे ऐनिमेशन या गतिविधि आपके लिए आसान हो जाएगी, खास तौर पर धीमे हाथ के जेस्चर के मामले में.

मोबाइल Safari में भी इस सुधार को लाने की योजना भी है: https://bugs.webkit.org/show_bug.cgi?id=133180.