Browse Source

Introduce primitive <ar-scan-gimmick>

customisations
alemart 6 months ago
parent
commit
c9d525bacc
3 changed files with 20 additions and 6 deletions
  1. 18
    4
      addons/aframe/ar-scan-gimmick.js
  2. 1
    1
      demos/hello-aframe/index.html
  3. 1
    1
      demos/hello-aframe/video.html

+ 18
- 4
addons/aframe/ar-scan-gimmick.js View File

1
 /*!
1
 /*!
2
  * A-Frame scan gimmick for encantar.js
2
  * A-Frame scan gimmick for encantar.js
3
- * @version 1.1.0
3
+ * @version 1.2.0
4
  * @author Alexandre Martins (https://encantar.dev)
4
  * @author Alexandre Martins (https://encantar.dev)
5
  * @license LGPL-3.0-or-later
5
  * @license LGPL-3.0-or-later
6
  */
6
  */
9
 
9
 
10
 const DEFAULT_IMAGE = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAVklEQVRYR+2WMQ4AIAgD4f+PVlzFYGSpw3UlQHOaBjexXLzfMJAIjFD1LB6q6q/9RwO3Jd1/s8ztszEAAQiQhBCAAARIQghA4E8C0rO8e3J3+4hiOYEJMwaAIT1kBDMAAAAASUVORK5CYII=';
10
 const DEFAULT_IMAGE = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAVklEQVRYR+2WMQ4AIAgD4f+PVlzFYGSpw3UlQHOaBjexXLzfMJAIjFD1LB6q6q/9RwO3Jd1/s8ztszEAAQiQhBCAAARIQghA4E8C0rO8e3J3+4hiOYEJMwaAIT1kBDMAAAAASUVORK5CYII=';
11
 
11
 
12
+AFRAME.registerPrimitive('ar-scan-gimmick', {
13
+
14
+    defaultComponents: {
15
+        'ar-scan-gimmick': { },
16
+    },
17
+
18
+    mappings: {
19
+        src: 'ar-scan-gimmick.src',
20
+        opacity: 'ar-scan-gimmick.opacity',
21
+    },
22
+
23
+});
24
+
12
 AFRAME.registerComponent('ar-scan-gimmick', {
25
 AFRAME.registerComponent('ar-scan-gimmick', {
13
 
26
 
14
     schema: {
27
     schema: {
15
 
28
 
16
         /** URL of an image */
29
         /** URL of an image */
17
-        'src': { type: 'string', default: DEFAULT_IMAGE },
30
+        'src': { type: 'string', default: '' },
18
 
31
 
19
         /** opacity of the image */
32
         /** opacity of the image */
20
         'opacity': { type: 'number', default: 1.0 }
33
         'opacity': { type: 'number', default: 1.0 }
96
     _createImage()
109
     _createImage()
97
     {
110
     {
98
         const img = document.createElement('img');
111
         const img = document.createElement('img');
112
+        const src = this.data.src !== '' ? this.data.src : DEFAULT_IMAGE;
99
 
113
 
100
-        img.src = this.data.src;
114
+        img.src = src;
101
         img.draggable = false;
115
         img.draggable = false;
102
         img.style.width = '100%';
116
         img.style.width = '100%';
103
         img.style.height = '100%';
117
         img.style.height = '100%';
105
         img.style.display = 'inline-block';
119
         img.style.display = 'inline-block';
106
         img.style.opacity = this.data.opacity;
120
         img.style.opacity = this.data.opacity;
107
 
121
 
108
-        if(img.src == DEFAULT_IMAGE)
122
+        if(src === DEFAULT_IMAGE)
109
             img.style.imageRendering = 'pixelated';
123
             img.style.imageRendering = 'pixelated';
110
 
124
 
111
         return img;
125
         return img;

+ 1
- 1
demos/hello-aframe/index.html View File

63
                     <a id="like" href="../assets/promo.html" draggable="false"></a>
63
                     <a id="like" href="../assets/promo.html" draggable="false"></a>
64
 
64
 
65
                     <!-- The scan gimmick -->
65
                     <!-- The scan gimmick -->
66
-                    <a-entity ar-scan-gimmick="opacity: 0.75"></a-entity>
66
+                    <ar-scan-gimmick opacity="0.75"></ar-scan-gimmick>
67
 
67
 
68
                 </ar-hud>
68
                 </ar-hud>
69
 
69
 

+ 1
- 1
demos/hello-aframe/video.html View File

63
                     <a id="like" href="../assets/promo.html" draggable="false"></a>
63
                     <a id="like" href="../assets/promo.html" draggable="false"></a>
64
 
64
 
65
                     <!-- The scan gimmick -->
65
                     <!-- The scan gimmick -->
66
-                    <a-entity ar-scan-gimmick="opacity: 0.75"></a-entity>
66
+                    <ar-scan-gimmick opacity="0.75"></ar-scan-gimmick>
67
 
67
 
68
                 </ar-hud>
68
                 </ar-hud>
69
 
69
 

Loading…
Cancel
Save