q5 3.7.7 → 3.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/defs/q5-c2d-es.d.ts +926 -174
- package/defs/q5-c2d.d.ts +9 -9
- package/defs/q5-es.d.ts +963 -207
- package/deno.json +1 -1
- package/package.json +1 -1
- package/q5.d.ts +9 -9
- package/q5.js +135 -30
- package/q5.min.js +2 -2
package/defs/q5-c2d-es.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ declare global {
|
|
|
3
3
|
// ⭐ core
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
* Bienvenido
|
|
6
|
+
* Bienvenido al contenido de q5! 🤩
|
|
7
7
|
*
|
|
8
8
|
* ¿Primera vez programando? Revisa la [guía para principiantes de q5](https://github.com/q5js/q5.js/wiki/q5-Beginner's-Brief).
|
|
9
9
|
*
|
|
@@ -537,7 +537,7 @@ declare global {
|
|
|
537
537
|
/** 🌆
|
|
538
538
|
* Array de datos de color de píxeles de un lienzo o imagen.
|
|
539
539
|
*
|
|
540
|
-
* Vacío por defecto,
|
|
540
|
+
* Vacío por defecto, obtener el dato ejecutando `cargarPíxeles`.
|
|
541
541
|
*
|
|
542
542
|
* Cada píxel está representado por cuatro valores consecutivos en el array,
|
|
543
543
|
* correspondientes a sus canales rojo, verde, azul y alfa.
|
|
@@ -1371,40 +1371,306 @@ declare global {
|
|
|
1371
1371
|
// 🎨 color
|
|
1372
1372
|
|
|
1373
1373
|
/** 🎨
|
|
1374
|
-
*
|
|
1374
|
+
* Crea un nuevo objeto `Color`, el cual es útil principalmente para almacenar
|
|
1375
|
+
* un color que tu sketch reutilizará o modificará más tarde.
|
|
1375
1376
|
*
|
|
1376
|
-
*
|
|
1377
|
-
*
|
|
1378
|
-
*
|
|
1379
|
-
*
|
|
1377
|
+
* Con el modo de color por defecto, RGB, los colores tienen componentes `r`/`red` (rojo), `g`/`green` (verde),
|
|
1378
|
+
* `b`/`blue` (azul), y `a`/`alpha` (alfa).
|
|
1379
|
+
*
|
|
1380
|
+
* Las funciones [`relleno`](https://q5js.org/learn/#fill), [`trazo`](https://q5js.org/learn/#stroke), y [`fondo`](https://q5js.org/learn/#background)
|
|
1381
|
+
* aceptan la misma amplia gama de representaciones de color que esta función.
|
|
1382
|
+
*
|
|
1383
|
+
* El formato de color por defecto es "entero" ("integer"),
|
|
1384
|
+
* así que establece componentes a valores entre 0 y 255.
|
|
1385
|
+
*
|
|
1386
|
+
* Aquí hay algunos ejemplos de uso válido:
|
|
1387
|
+
*
|
|
1388
|
+
* - `color(255)` (escala de grises)
|
|
1389
|
+
* - `color(255, 200)` (escala de grises, alfa)
|
|
1390
|
+
* - `color(255, 0, 0)` (r, g, b)
|
|
1391
|
+
* - `color(255, 0, 0, 10)` (r, g, b, a)
|
|
1392
|
+
* - `color('red')` (nombre de color)
|
|
1393
|
+
* - `color('#ff0000')` (color hex)
|
|
1394
|
+
* - `color([255, 0, 0])` (componentes de color)
|
|
1395
|
+
* @param {string | number | Color | number[]} c0 color o primer componente de color
|
|
1396
|
+
* @param {number} [c1] segundo componente de color
|
|
1397
|
+
* @param {number} [c2] tercer componente de color
|
|
1398
|
+
* @param {number} [c3] cuarto componente de color (alfa)
|
|
1399
|
+
* @returns {Color} un nuevo objeto `Color`
|
|
1400
|
+
* @example
|
|
1401
|
+
* crearLienzo(200);
|
|
1402
|
+
* rect(0, 0, 100, 200);
|
|
1403
|
+
*
|
|
1404
|
+
* // ( r, g, b, a)
|
|
1405
|
+
* let botella = color(90, 100, 255, 100);
|
|
1406
|
+
* relleno(botella);
|
|
1407
|
+
* trazo(botella);
|
|
1408
|
+
* grosorTrazo(30);
|
|
1409
|
+
* círculo(100, 100, 155);
|
|
1410
|
+
* @example
|
|
1411
|
+
* crearLienzo(200);
|
|
1412
|
+
* // (gris, alfa)
|
|
1413
|
+
* let c = color(200, 50);
|
|
1414
|
+
*
|
|
1415
|
+
* function dibujar() {
|
|
1416
|
+
* fondo(c);
|
|
1417
|
+
* círculo(ratónX, ratónY, 50);
|
|
1418
|
+
* c.g = (c.g + 1) % 256;
|
|
1419
|
+
* }
|
|
1420
|
+
* @example
|
|
1421
|
+
* crearLienzo(200);
|
|
1422
|
+
*
|
|
1423
|
+
* // (r, g, b, a)
|
|
1424
|
+
* let c = color(0, 255, 255, 50);
|
|
1425
|
+
*
|
|
1426
|
+
* function dibujar() {
|
|
1427
|
+
* relleno(c);
|
|
1428
|
+
* círculo(ratónX, ratónY, 50);
|
|
1429
|
+
* }
|
|
1380
1430
|
*/
|
|
1381
|
-
function fondo(relleno: Color | Q5.Imagen): void;
|
|
1382
|
-
|
|
1383
1431
|
function color(c0: string | number | Color | number[], c1?: number, c2?: number, c3?: number): Color;
|
|
1384
1432
|
|
|
1433
|
+
/** 🎨
|
|
1434
|
+
* Establece el modo de color para el sketch, lo cual cambia cómo se
|
|
1435
|
+
* interpretan y muestran los colores.
|
|
1436
|
+
*
|
|
1437
|
+
* La gama de color es 'display-p3' por defecto, si el dispositivo soporta HDR.
|
|
1438
|
+
*
|
|
1439
|
+
* El modo de color por defecto es RGB en formato entero legado.
|
|
1440
|
+
* @param {'rgb' | 'oklch' | 'hsl' | 'hsb'} modo modo de color
|
|
1441
|
+
* @param {1 | 255} formato formato de color (1 para flotante, 255 para entero)
|
|
1442
|
+
* @param {'srgb' | 'display-p3'} [gama] gama de color
|
|
1443
|
+
* @example
|
|
1444
|
+
* crearLienzo(200);
|
|
1445
|
+
*
|
|
1446
|
+
* modoColor(RGB, 1);
|
|
1447
|
+
* relleno(1, 0, 0);
|
|
1448
|
+
* rect(0, 0, 66, 200);
|
|
1449
|
+
* relleno(0, 1, 0);
|
|
1450
|
+
* rect(66, 0, 67, 200);
|
|
1451
|
+
* relleno(0, 0, 1);
|
|
1452
|
+
* rect(133, 0, 67, 200);
|
|
1453
|
+
* @example
|
|
1454
|
+
* crearLienzo(200);
|
|
1455
|
+
*
|
|
1456
|
+
* modoColor(OKLCH);
|
|
1457
|
+
*
|
|
1458
|
+
* relleno(0.25, 0.15, 0);
|
|
1459
|
+
* rect(0, 0, 100, 200);
|
|
1460
|
+
*
|
|
1461
|
+
* relleno(0.75, 0.15, 0);
|
|
1462
|
+
* rect(100, 0, 100, 200);
|
|
1463
|
+
*/
|
|
1385
1464
|
function modoColor(modo: 'rgb' | 'oklch', formato: 1 | 255, gama: 'srgb' | 'display-p3'): void;
|
|
1386
1465
|
|
|
1466
|
+
/** 🎨
|
|
1467
|
+
* Los colores RGB tienen componentes `r`/`red` (rojo), `g`/`green` (verde), `b`/`blue` (azul),
|
|
1468
|
+
* y `a`/`alpha` (alfa).
|
|
1469
|
+
*
|
|
1470
|
+
* Por defecto cuando un lienzo está usando el espacio de color HDR "display-p3",
|
|
1471
|
+
* los colores rgb son mapeados a la gama completa P3, incluso cuando usan el
|
|
1472
|
+
* formato entero legado 0-255.
|
|
1473
|
+
* @example
|
|
1474
|
+
* crearLienzo(200, 100);
|
|
1475
|
+
*
|
|
1476
|
+
* modoColor(RGB);
|
|
1477
|
+
*
|
|
1478
|
+
* fondo(255, 0, 0);
|
|
1479
|
+
*/
|
|
1387
1480
|
const RGB: 'rgb';
|
|
1388
1481
|
|
|
1482
|
+
/** 🎨
|
|
1483
|
+
* Los colores OKLCH tienen componentes `l`/`lightness` (luminosidad), `c`/`chroma` (croma),
|
|
1484
|
+
* `h`/`hue` (tono), y `a`/`alpha` (alfa). Es más intuitivo para los humanos
|
|
1485
|
+
* trabajar con color en estos términos que con RGB.
|
|
1486
|
+
*
|
|
1487
|
+
* OKLCH es perceptualmente uniforme, lo que significa que los colores con la
|
|
1488
|
+
* misma luminosidad y croma (colorido) parecerán tener
|
|
1489
|
+
* igual luminancia, independientemente del tono.
|
|
1490
|
+
*
|
|
1491
|
+
* OKLCH puede representar con precisión todos los colores visibles para el
|
|
1492
|
+
* ojo humano, a diferencia de muchos otros espacios de color que están limitados
|
|
1493
|
+
* a una gama. Los valores máximos de luminosidad y croma que
|
|
1494
|
+
* corresponden a los límites de la gama sRGB o P3 varían dependiendo del
|
|
1495
|
+
* tono. Los colores que están fuera de la gama serán recortados al
|
|
1496
|
+
* color dentro de la gama más cercano.
|
|
1497
|
+
*
|
|
1498
|
+
* Usa el [selector de color OKLCH](https://oklch.com) para encontrar
|
|
1499
|
+
* colores dentro de la gama.
|
|
1500
|
+
*
|
|
1501
|
+
* - `lightness`: 0 a 1
|
|
1502
|
+
* - `chroma`: 0 a ~0.4
|
|
1503
|
+
* - `hue`: 0 a 360
|
|
1504
|
+
* - `alpha`: 0 a 1
|
|
1505
|
+
* @example
|
|
1506
|
+
* crearLienzo(200, 100);
|
|
1507
|
+
*
|
|
1508
|
+
* modoColor(OKLCH);
|
|
1509
|
+
*
|
|
1510
|
+
* fondo(0.64, 0.3, 30);
|
|
1511
|
+
* @example
|
|
1512
|
+
* crearLienzo(200);
|
|
1513
|
+
* modoColor(OKLCH);
|
|
1514
|
+
*
|
|
1515
|
+
* function dibujar() {
|
|
1516
|
+
* fondo(0.7, 0.16, cuadroActual % 360);
|
|
1517
|
+
* }
|
|
1518
|
+
*/
|
|
1389
1519
|
const OKLCH: 'oklch';
|
|
1390
1520
|
|
|
1521
|
+
/** 🎨
|
|
1522
|
+
* Los colores HSL tienen componentes `h`/`hue` (tono), `s`/`saturation` (saturación),
|
|
1523
|
+
* `l`/`lightness` (luminosidad), y `a`/`alpha` (alfa).
|
|
1524
|
+
*
|
|
1525
|
+
* HSL fue creado en la década de 1970 para aproximar la percepción humana
|
|
1526
|
+
* del color, intercambiando precisión por cálculos más simples. No es
|
|
1527
|
+
* perceptualmente uniforme, por lo que colores con la misma luminosidad
|
|
1528
|
+
* pueden parecer más oscuros o más claros, dependiendo de su tono
|
|
1529
|
+
* y saturación. Sin embargo, los valores de luminosidad y saturación que
|
|
1530
|
+
* corresponden a los límites de la gama siempre son 100, independientemente del
|
|
1531
|
+
* tono. Esto puede hacer que HSL sea más fácil de trabajar que OKLCH.
|
|
1532
|
+
*
|
|
1533
|
+
* Los colores HSL son mapeados a la gama completa P3 cuando
|
|
1534
|
+
* se usa el espacio de color "display-p3".
|
|
1535
|
+
*
|
|
1536
|
+
* - `hue`: 0 a 360
|
|
1537
|
+
* - `saturation`: 0 a 100
|
|
1538
|
+
* - `lightness`: 0 a 100
|
|
1539
|
+
* - `alpha`: 0 a 1
|
|
1540
|
+
* @example
|
|
1541
|
+
* crearLienzo(200, 100);
|
|
1542
|
+
*
|
|
1543
|
+
* modoColor(HSL);
|
|
1544
|
+
*
|
|
1545
|
+
* fondo(0, 100, 50);
|
|
1546
|
+
* @example
|
|
1547
|
+
* crearLienzo(200, 220);
|
|
1548
|
+
* sinTrazo();
|
|
1549
|
+
*
|
|
1550
|
+
* modoColor(HSL);
|
|
1551
|
+
* for (let h = 0; h < 360; h += 10) {
|
|
1552
|
+
* for (let l = 0; l <= 100; l += 10) {
|
|
1553
|
+
* relleno(h, 100, l);
|
|
1554
|
+
* rect(h * (11 / 20), l * 2, 6, 20);
|
|
1555
|
+
* }
|
|
1556
|
+
* }
|
|
1557
|
+
*/
|
|
1391
1558
|
const HSL: 'hsl';
|
|
1392
1559
|
|
|
1560
|
+
/** 🎨
|
|
1561
|
+
* Los colores HSB tienen componentes `h`/`hue` (tono), `s`/`saturation` (saturación),
|
|
1562
|
+
* `b`/`brightness` (brillo) (también conocido como `v`/`value` (valor)), y `a`/`alpha` (alfa).
|
|
1563
|
+
*
|
|
1564
|
+
* HSB es similar a HSL, pero en lugar de luminosidad
|
|
1565
|
+
* (negro a blanco), usa brillo (negro a
|
|
1566
|
+
* color completo). Para producir blanco, establece el brillo
|
|
1567
|
+
* a 100 y la saturación a 0.
|
|
1568
|
+
*
|
|
1569
|
+
* - `hue`: 0 a 360
|
|
1570
|
+
* - `saturation`: 0 a 100
|
|
1571
|
+
* - `brightness`: 0 a 100
|
|
1572
|
+
* - `alpha`: 0 a 1
|
|
1573
|
+
* @example
|
|
1574
|
+
* crearLienzo(200, 100);
|
|
1575
|
+
*
|
|
1576
|
+
* modoColor(HSB);
|
|
1577
|
+
*
|
|
1578
|
+
* fondo(0, 100, 100);
|
|
1579
|
+
* @example
|
|
1580
|
+
* crearLienzo(200, 220);
|
|
1581
|
+
* sinTrazo();
|
|
1582
|
+
*
|
|
1583
|
+
* modoColor(HSB);
|
|
1584
|
+
* for (let h = 0; h < 360; h += 10) {
|
|
1585
|
+
* for (let b = 0; b <= 100; b += 10) {
|
|
1586
|
+
* relleno(h, 100, b);
|
|
1587
|
+
* rect(h * (11 / 20), b * 2, 6, 20);
|
|
1588
|
+
* }
|
|
1589
|
+
* }
|
|
1590
|
+
*/
|
|
1393
1591
|
const HSB: 'hsb';
|
|
1394
1592
|
|
|
1593
|
+
/** 🎨
|
|
1594
|
+
* Limita la gama de color al espacio de color sRGB.
|
|
1595
|
+
*
|
|
1596
|
+
* Si tu pantalla es capaz de HDR, nota que el rojo completo aparece
|
|
1597
|
+
* menos saturado y oscuro en este ejemplo, como lo haría en
|
|
1598
|
+
* una pantalla SDR.
|
|
1599
|
+
* @example
|
|
1600
|
+
* crearLienzo(200, 100);
|
|
1601
|
+
*
|
|
1602
|
+
* modoColor(RGB, 255, SRGB);
|
|
1603
|
+
*
|
|
1604
|
+
* fondo(255, 0, 0);
|
|
1605
|
+
*/
|
|
1395
1606
|
const SRGB: 'srgb';
|
|
1396
1607
|
|
|
1608
|
+
/** 🎨
|
|
1609
|
+
* Expande la gama de color al espacio de color P3.
|
|
1610
|
+
*
|
|
1611
|
+
* Esta es la gama de color por defecto en dispositivos que soportan HDR.
|
|
1612
|
+
*
|
|
1613
|
+
* Si tu pantalla es capaz de HDR, nota que el rojo completo aparece
|
|
1614
|
+
* totalmente saturado y brillante en el siguiente ejemplo.
|
|
1615
|
+
* @example
|
|
1616
|
+
* crearLienzo(200, 100);
|
|
1617
|
+
*
|
|
1618
|
+
* modoColor(RGB, 255, DISPLAY_P3);
|
|
1619
|
+
*
|
|
1620
|
+
* fondo(255, 0, 0);
|
|
1621
|
+
*/
|
|
1397
1622
|
const DISPLAY_P3: 'display-p3';
|
|
1398
1623
|
|
|
1624
|
+
/** 🎨
|
|
1625
|
+
* Dibuja sobre todo el lienzo con un color o una imagen.
|
|
1626
|
+
*
|
|
1627
|
+
* Al igual que la función [`color`](https://q5js.org/learn/#color),
|
|
1628
|
+
* esta función puede aceptar colores en una amplia gama de formatos:
|
|
1629
|
+
* cadena de color CSS, valor de escala de grises y valores de componentes de color.
|
|
1630
|
+
* @param {Color | Q5.Image} relleno un color o una imagen para dibujar
|
|
1631
|
+
* @example
|
|
1632
|
+
* crearLienzo(200, 100);
|
|
1633
|
+
* fondo('crimson');
|
|
1634
|
+
* @example
|
|
1635
|
+
* function dibujar() {
|
|
1636
|
+
* fondo(128, 32);
|
|
1637
|
+
* círculo(ratónX, ratónY, 20);
|
|
1638
|
+
* }
|
|
1639
|
+
*/
|
|
1640
|
+
function fondo(relleno: Color | Q5.Imagen): void;
|
|
1641
|
+
|
|
1399
1642
|
class Color {
|
|
1643
|
+
|
|
1644
|
+
/** 🎨
|
|
1645
|
+
* Este constructor acepta estrictamente 4 números, que son los componentes del color.
|
|
1646
|
+
*
|
|
1647
|
+
* Usa la función `color` para mayor flexibilidad, ejecuta
|
|
1648
|
+
* este constructor internamente.
|
|
1649
|
+
*
|
|
1650
|
+
* `Color` no es realmente una clase en si misma, es una referencia a una
|
|
1651
|
+
* clase de color Q5 basada en el modo de color, formato y gama.
|
|
1652
|
+
*/
|
|
1400
1653
|
constructor(c0: number, c1: number, c2: number, c3: number);
|
|
1401
1654
|
|
|
1655
|
+
/** 🎨
|
|
1656
|
+
* Comprueba si este color es exactamente igual a otro color.
|
|
1657
|
+
*/
|
|
1402
1658
|
igual(otro: Color): boolean;
|
|
1403
1659
|
|
|
1660
|
+
/** 🎨
|
|
1661
|
+
* Comprueba si el color es el mismo que otro color,
|
|
1662
|
+
* ignorando sus valores alfa.
|
|
1663
|
+
*/
|
|
1404
1664
|
esMismoColor(otro: Color): boolean;
|
|
1405
1665
|
|
|
1666
|
+
/** 🎨
|
|
1667
|
+
* Produce una representación de cadena de color CSS.
|
|
1668
|
+
*/
|
|
1406
1669
|
toString(): string;
|
|
1407
1670
|
|
|
1671
|
+
/** 🎨
|
|
1672
|
+
* Un array de los componentes del color.
|
|
1673
|
+
*/
|
|
1408
1674
|
niveles: number[];
|
|
1409
1675
|
}
|
|
1410
1676
|
|
|
@@ -1876,128 +2142,334 @@ declare global {
|
|
|
1876
2142
|
* @example
|
|
1877
2143
|
* crearLienzo(200);
|
|
1878
2144
|
*
|
|
1879
|
-
*
|
|
2145
|
+
* apilar();
|
|
1880
2146
|
* relleno('blue');
|
|
1881
2147
|
* trasladar(100, 100);
|
|
1882
2148
|
* círculo(0, 0, 80);
|
|
1883
|
-
*
|
|
2149
|
+
* desapilar();
|
|
1884
2150
|
*
|
|
1885
2151
|
* cuadrado(0, 0, 50);
|
|
1886
2152
|
*/
|
|
1887
|
-
function
|
|
2153
|
+
function apilar(): void;
|
|
1888
2154
|
|
|
1889
2155
|
/** 🦋
|
|
1890
2156
|
* Restaura la configuración de estilo de dibujo y transformaciones guardadas previamente.
|
|
1891
2157
|
* @example
|
|
1892
2158
|
* crearLienzo(200);
|
|
1893
2159
|
*
|
|
1894
|
-
*
|
|
2160
|
+
* apilar();
|
|
1895
2161
|
* relleno('blue');
|
|
1896
2162
|
* trasladar(100, 100);
|
|
1897
2163
|
* círculo(0, 0, 80);
|
|
1898
|
-
*
|
|
2164
|
+
* desapilar();
|
|
1899
2165
|
*
|
|
1900
2166
|
* cuadrado(0, 0, 50);
|
|
1901
2167
|
*/
|
|
2168
|
+
function desapilar(): void;
|
|
2169
|
+
|
|
1902
2170
|
function recuperar(): void;
|
|
1903
2171
|
|
|
1904
2172
|
// 💻 display
|
|
1905
2173
|
|
|
1906
2174
|
/** 💻
|
|
1907
|
-
*
|
|
2175
|
+
* Personaliza cómo se presenta tu lienzo.
|
|
2176
|
+
* @param {string} modo NORMAL, CENTRO, o MAXIMIZADO
|
|
2177
|
+
* @param {string} calidadRenderizado SUAVE o PIXELADO
|
|
2178
|
+
* @param {number} escala también se puede dar como una cadena (por ejemplo "x2")
|
|
2179
|
+
* @example
|
|
2180
|
+
* crearLienzo(50, 25);
|
|
2181
|
+
*
|
|
2182
|
+
* modoVisualización(CENTRO, PIXELADO, 4);
|
|
2183
|
+
*
|
|
2184
|
+
* círculo(25, 12.5, 16);
|
|
1908
2185
|
*/
|
|
1909
|
-
|
|
2186
|
+
function modoVisualización(): void;
|
|
1910
2187
|
|
|
1911
2188
|
/** 💻
|
|
1912
|
-
*
|
|
2189
|
+
* Una configuración de `modoVisualización`.
|
|
2190
|
+
*
|
|
2191
|
+
* El lienzo se escalará para llenar el elemento padre,
|
|
2192
|
+
* con bandas negras si es necesario para preservar su relación de aspecto.
|
|
1913
2193
|
*/
|
|
1914
|
-
|
|
2194
|
+
const MAXIMIZADO: 'maxed';
|
|
1915
2195
|
|
|
1916
2196
|
/** 💻
|
|
1917
|
-
*
|
|
2197
|
+
* Una calidad de renderizado de `modoVisualización`.
|
|
2198
|
+
*
|
|
2199
|
+
* Se usa escalado suave si el lienzo se escala.
|
|
1918
2200
|
*/
|
|
1919
|
-
|
|
2201
|
+
const SUAVE: 'smooth';
|
|
1920
2202
|
|
|
1921
2203
|
/** 💻
|
|
1922
|
-
*
|
|
2204
|
+
* Una calidad de renderizado de `modoVisualización`.
|
|
2205
|
+
*
|
|
2206
|
+
* Los píxeles se renderizan como cuadrados nítidos si el lienzo se escala.
|
|
1923
2207
|
*/
|
|
1924
|
-
|
|
2208
|
+
const PIXELADO: 'pixelated';
|
|
1925
2209
|
|
|
1926
2210
|
/** 💻
|
|
1927
|
-
*
|
|
1928
|
-
* @param {
|
|
2211
|
+
* Habilita o deshabilita el modo de pantalla completa.
|
|
2212
|
+
* @param {boolean} [v] booleano indicando si habilitar o deshabilitar el modo de pantalla completa
|
|
1929
2213
|
*/
|
|
1930
|
-
function
|
|
2214
|
+
function pantallaCompleta(v?: boolean): void;
|
|
1931
2215
|
|
|
1932
2216
|
/** 💻
|
|
1933
|
-
*
|
|
2217
|
+
* El ancho de la ventana.
|
|
2218
|
+
* @example
|
|
2219
|
+
* function dibujar() {
|
|
2220
|
+
* fondo(200);
|
|
2221
|
+
* tamañoTexto(64);
|
|
2222
|
+
* alineaciónTexto(CENTRO, CENTRO);
|
|
2223
|
+
* texto(anchoVentana, 100, 100);
|
|
2224
|
+
* }
|
|
1934
2225
|
*/
|
|
1935
|
-
|
|
2226
|
+
var anchoVentana: number;
|
|
1936
2227
|
|
|
1937
2228
|
/** 💻
|
|
1938
|
-
*
|
|
1939
|
-
*
|
|
1940
|
-
*
|
|
1941
|
-
*
|
|
1942
|
-
*
|
|
2229
|
+
* El alto de la ventana.
|
|
2230
|
+
* @example
|
|
2231
|
+
* function dibujar() {
|
|
2232
|
+
* fondo(200);
|
|
2233
|
+
* tamañoTexto(64);
|
|
2234
|
+
* alineaciónTexto(CENTRO, CENTRO);
|
|
2235
|
+
* texto(altoVentana, 100, 100);
|
|
2236
|
+
* }
|
|
1943
2237
|
*/
|
|
1944
|
-
|
|
2238
|
+
var altoVentana: number;
|
|
1945
2239
|
|
|
1946
2240
|
/** 💻
|
|
1947
|
-
*
|
|
2241
|
+
* El ancho del lienzo.
|
|
1948
2242
|
*/
|
|
1949
|
-
|
|
2243
|
+
var ancho: number;
|
|
1950
2244
|
|
|
1951
2245
|
/** 💻
|
|
1952
|
-
*
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
2246
|
+
* El alto del lienzo.
|
|
2247
|
+
*/
|
|
2248
|
+
var alto: number;
|
|
2249
|
+
|
|
2250
|
+
/** 💻
|
|
2251
|
+
* La mitad del ancho del lienzo.
|
|
1956
2252
|
*/
|
|
1957
|
-
|
|
2253
|
+
var medioAncho: number;
|
|
1958
2254
|
|
|
1959
2255
|
/** 💻
|
|
1960
|
-
*
|
|
1961
|
-
*
|
|
1962
|
-
* Útil para agregar efectos finales cuando es difícil hacerlo en la función de dibujo. Por ejemplo, al usar extensiones como p5play que dibujan capas superpuestas al lienzo.
|
|
2256
|
+
* La mitad del alto del lienzo.
|
|
1963
2257
|
*/
|
|
1964
|
-
|
|
2258
|
+
var medioAlto: number;
|
|
1965
2259
|
|
|
1966
2260
|
/** 💻
|
|
1967
|
-
*
|
|
2261
|
+
* El elemento lienzo asociado con la instancia Q5.
|
|
1968
2262
|
*
|
|
1969
|
-
*
|
|
2263
|
+
* Si no se crea un lienzo explícitamente con `crearLienzo()`, pero se define una función q5 como `dibujar` o `alPresionarRatón`, se creará automáticamente un lienzo por defecto de tamaño 200x200.
|
|
1970
2264
|
*/
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
const MAXIMIZADO: 'maxed';
|
|
1974
|
-
|
|
1975
|
-
const SUAVE: 'smooth';
|
|
1976
|
-
|
|
1977
|
-
const PIXELADO: 'pixelated';
|
|
1978
|
-
|
|
1979
|
-
function pantallaCompleta(v?: boolean): void;
|
|
2265
|
+
var lienzo: HTMLCanvasElement;
|
|
1980
2266
|
|
|
1981
|
-
|
|
2267
|
+
/** 💻
|
|
2268
|
+
* Redimensiona el lienzo al ancho y alto especificados.
|
|
2269
|
+
* @param {number} w ancho del lienzo
|
|
2270
|
+
* @param {number} h alto del lienzo
|
|
2271
|
+
* @example
|
|
2272
|
+
* crearLienzo(200, 100);
|
|
2273
|
+
*
|
|
2274
|
+
* function dibujar() {
|
|
2275
|
+
* fondo(200);
|
|
2276
|
+
* }
|
|
2277
|
+
*
|
|
2278
|
+
* function alPresionarRatón() {
|
|
2279
|
+
* redimensionarLienzo(200, 200);
|
|
2280
|
+
* }
|
|
2281
|
+
*/
|
|
2282
|
+
function redimensionarLienzo(w: number, h: number): void;
|
|
1982
2283
|
|
|
1983
|
-
|
|
2284
|
+
/** 💻
|
|
2285
|
+
* El número de cuadros que se han mostrado desde que comenzó el programa.
|
|
2286
|
+
* @example
|
|
2287
|
+
* function dibujar() {
|
|
2288
|
+
* fondo(200);
|
|
2289
|
+
* tamañoTexto(64);
|
|
2290
|
+
* texto(cuadroActual, 8, 120);
|
|
2291
|
+
* }
|
|
2292
|
+
*/
|
|
2293
|
+
var cuadroActual: number;
|
|
1984
2294
|
|
|
1985
|
-
|
|
2295
|
+
/** 💻
|
|
2296
|
+
* Detiene el bucle de dibujo.
|
|
2297
|
+
* @example
|
|
2298
|
+
* function dibujar() {
|
|
2299
|
+
* círculo(cuadroActual * 5, 100, 80);
|
|
2300
|
+
* pausar();
|
|
2301
|
+
* }
|
|
2302
|
+
*/
|
|
2303
|
+
function pausar(): void;
|
|
1986
2304
|
|
|
1987
|
-
|
|
2305
|
+
/** 💻
|
|
2306
|
+
* Redibuja el lienzo n veces. Si no se proporciona ningún parámetro de entrada,
|
|
2307
|
+
* llama a la función de dibujo una vez.
|
|
2308
|
+
*
|
|
2309
|
+
* Esta es una función asíncrona.
|
|
2310
|
+
* @param {number} [n] número de veces para redibujar el lienzo, por defecto es 1
|
|
2311
|
+
* @example
|
|
2312
|
+
* crearLienzo(200);
|
|
2313
|
+
* pausar();
|
|
2314
|
+
*
|
|
2315
|
+
* function dibujar() {
|
|
2316
|
+
* círculo(cuadroActual * 5, 100, 80);
|
|
2317
|
+
* }
|
|
2318
|
+
* function alPresionarRatón() {
|
|
2319
|
+
* redibujar(10);
|
|
2320
|
+
* }
|
|
2321
|
+
*/
|
|
2322
|
+
function redibujar(n?: number): void;
|
|
1988
2323
|
|
|
1989
|
-
|
|
2324
|
+
/** 💻
|
|
2325
|
+
* Inicia el bucle de dibujo de nuevo si estaba detenido.
|
|
2326
|
+
* @example
|
|
2327
|
+
* crearLienzo(200);
|
|
2328
|
+
* pausar();
|
|
2329
|
+
*
|
|
2330
|
+
* function dibujar() {
|
|
2331
|
+
* círculo(cuadroActual * 5, 100, 80);
|
|
2332
|
+
* }
|
|
2333
|
+
* function alPresionarRatón() {
|
|
2334
|
+
* reanudar();
|
|
2335
|
+
* }
|
|
2336
|
+
*/
|
|
2337
|
+
function reanudar(): void;
|
|
1990
2338
|
|
|
1991
|
-
|
|
2339
|
+
/** 💻
|
|
2340
|
+
* Establece la frecuencia de fotogramas objetivo u obtiene una aproximación de la
|
|
2341
|
+
* frecuencia de fotogramas actual del sketch.
|
|
2342
|
+
*
|
|
2343
|
+
* Incluso cuando el sketch se está ejecutando a una frecuencia de fotogramas consistente,
|
|
2344
|
+
* el valor actual de la frecuencia de fotogramas fluctuará. Usa las herramientas de desarrollador
|
|
2345
|
+
* de tu navegador web para un análisis de rendimiento más preciso.
|
|
2346
|
+
* @param {number} [hertz] frecuencia de fotogramas objetivo, por defecto es 60
|
|
2347
|
+
* @returns {number} frecuencia de fotogramas actual
|
|
2348
|
+
* @example
|
|
2349
|
+
* function dibujar() {
|
|
2350
|
+
* fondo(200);
|
|
2351
|
+
*
|
|
2352
|
+
* if (ratónPresionado) frecuenciaRefresco(10);
|
|
2353
|
+
* else frecuenciaRefresco(60);
|
|
2354
|
+
*
|
|
2355
|
+
* círculo(cuadroActual % 200, 100, 80);
|
|
2356
|
+
* }
|
|
2357
|
+
* @example
|
|
2358
|
+
* function dibujar() {
|
|
2359
|
+
* fondo(200);
|
|
2360
|
+
* tamañoTexto(64);
|
|
2361
|
+
* texto(redondear(frecuenciaRefresco()), 65, 120);
|
|
2362
|
+
* }
|
|
2363
|
+
*/
|
|
2364
|
+
function frecuenciaRefresco(hertz?: number): number;
|
|
1992
2365
|
|
|
2366
|
+
/** 💻
|
|
2367
|
+
* La frecuencia de fotogramas deseada del sketch.
|
|
2368
|
+
* @returns {number} frecuencia de fotogramas objetivo
|
|
2369
|
+
* @example
|
|
2370
|
+
* function dibujar() {
|
|
2371
|
+
* fondo(200);
|
|
2372
|
+
* tamañoTexto(64);
|
|
2373
|
+
*
|
|
2374
|
+
* texto(obtenerTasaFotogramasObjetivo(), 65, 120);
|
|
2375
|
+
* }
|
|
2376
|
+
*/
|
|
1993
2377
|
function obtenerTasaFotogramasObjetivo(): number;
|
|
1994
2378
|
|
|
2379
|
+
/** 💻
|
|
2380
|
+
* Obtiene los FPS actuales, en términos de cuántos fotogramas podrían generarse
|
|
2381
|
+
* en un segundo, lo cual puede ser más alto que la frecuencia de fotogramas objetivo.
|
|
2382
|
+
*
|
|
2383
|
+
* Usa las herramientas de desarrollador de tu navegador web para un análisis
|
|
2384
|
+
* de rendimiento más profundo.
|
|
2385
|
+
* @returns {number} fotogramas por segundo
|
|
2386
|
+
* @example
|
|
2387
|
+
* function dibujar() {
|
|
2388
|
+
* fondo(200);
|
|
2389
|
+
* frecuenciaRefresco(1);
|
|
2390
|
+
* tamañoTexto(64);
|
|
2391
|
+
*
|
|
2392
|
+
* texto(obtenerFPS(), 8, 120);
|
|
2393
|
+
* }
|
|
2394
|
+
*/
|
|
1995
2395
|
function obtenerFPS(): number;
|
|
1996
2396
|
|
|
2397
|
+
/** 💻
|
|
2398
|
+
* Se ejecuta después de cada llamada a la función `dibujar` y procesos de addons de q5 post-dibujo, si los hay.
|
|
2399
|
+
*
|
|
2400
|
+
* Útil para añadir efectos de post-procesamiento cuando no es posible
|
|
2401
|
+
* hacerlo al final de la función `dibujar`, como cuando se usan
|
|
2402
|
+
* addons como p5play que auto-dibujan al lienzo después de que
|
|
2403
|
+
* la función `dibujar` se ejecuta.
|
|
2404
|
+
* @example
|
|
2405
|
+
* function dibujar() {
|
|
2406
|
+
* fondo(200);
|
|
2407
|
+
* círculo(cuadroActual % 200, 100, 80);
|
|
2408
|
+
* }
|
|
2409
|
+
*
|
|
2410
|
+
* function postProcesar() {
|
|
2411
|
+
* filtro(INVERTIR);
|
|
2412
|
+
* }
|
|
2413
|
+
*/
|
|
1997
2414
|
function postProcesar(): void;
|
|
1998
2415
|
|
|
2416
|
+
/** 💻
|
|
2417
|
+
* Establece la densidad de píxeles del lienzo.
|
|
2418
|
+
* @param {number} v valor de densidad de píxeles
|
|
2419
|
+
* @returns {number} densidad de píxeles
|
|
2420
|
+
* @example
|
|
2421
|
+
* crearLienzo(200, 100);
|
|
2422
|
+
* fondo(200);
|
|
2423
|
+
* densidadPíxeles(1);
|
|
2424
|
+
* círculo(100, 50, 80);
|
|
2425
|
+
*/
|
|
2426
|
+
function densidadPíxeles(): void;
|
|
2427
|
+
|
|
2428
|
+
/** 💻
|
|
2429
|
+
* Devuelve la densidad de visualización actual.
|
|
2430
|
+
*
|
|
2431
|
+
* En la mayoría de pantallas modernas, este valor será 2 o 3.
|
|
2432
|
+
* @returns {number} densidad de visualización
|
|
2433
|
+
* @example
|
|
2434
|
+
* crearLienzo(200, 100);
|
|
2435
|
+
* fondo(200);
|
|
2436
|
+
* tamañoTexto(64);
|
|
2437
|
+
* texto(densidadVisualización(), 10, 20);
|
|
2438
|
+
*/
|
|
2439
|
+
function densidadVisualización(): void;
|
|
2440
|
+
|
|
2441
|
+
/** 💻
|
|
2442
|
+
* El tiempo pasado desde que se dibujó el último fotograma.
|
|
2443
|
+
*
|
|
2444
|
+
* Con la frecuencia de fotogramas por defecto de 60, el tiempo delta será
|
|
2445
|
+
* aproximadamente 16.6
|
|
2446
|
+
*
|
|
2447
|
+
* Se puede usar para mantener movimientos atados al tiempo real si el sketch
|
|
2448
|
+
* a menudo cae por debajo de la frecuencia de fotogramas objetivo. Aunque si las frecuencias
|
|
2449
|
+
* de fotogramas son consistentemente bajas, considera reducir la frecuencia
|
|
2450
|
+
* de fotogramas objetivo.
|
|
2451
|
+
* @example
|
|
2452
|
+
* function dibujar() {
|
|
2453
|
+
* fondo(200);
|
|
2454
|
+
* texto(deltaTiempo, 60, 106);
|
|
2455
|
+
* }
|
|
2456
|
+
* @example
|
|
2457
|
+
* let x = 0;
|
|
2458
|
+
* function dibujar() {
|
|
2459
|
+
* fondo(200);
|
|
2460
|
+
* // simular caídas de frecuencia de fotogramas
|
|
2461
|
+
* frecuenciaRefresco(aleatorio(30, 60));
|
|
2462
|
+
*
|
|
2463
|
+
* x += deltaTiempo * 0.2;
|
|
2464
|
+
* círculo(x % 200, 100, 20);
|
|
2465
|
+
* }
|
|
2466
|
+
*/
|
|
1999
2467
|
var deltaTiempo: number;
|
|
2000
2468
|
|
|
2469
|
+
/** 💻
|
|
2470
|
+
* El contexto de renderizado 2D para el lienzo, si se usa el renderizador
|
|
2471
|
+
* Canvas2D.
|
|
2472
|
+
*/
|
|
2001
2473
|
var contextoDibujo: CanvasRenderingContext2D;
|
|
2002
2474
|
|
|
2003
2475
|
// 🧮 math
|
|
@@ -2548,7 +3020,7 @@ declare global {
|
|
|
2548
3020
|
* @example
|
|
2549
3021
|
* crearLienzo(200, 100);
|
|
2550
3022
|
*
|
|
2551
|
-
* let btn = crearBotón('Click
|
|
3023
|
+
* let btn = crearBotón('¡Click aqui!');
|
|
2552
3024
|
*
|
|
2553
3025
|
* btn.addEventListener('click', () => {
|
|
2554
3026
|
* fondo(aleatorio(100, 255));
|
|
@@ -2567,7 +3039,7 @@ declare global {
|
|
|
2567
3039
|
* @example
|
|
2568
3040
|
* crearLienzo(200, 100);
|
|
2569
3041
|
*
|
|
2570
|
-
* let casilla = crearCasilla('
|
|
3042
|
+
* let casilla = crearCasilla('¡Marca aquí!');
|
|
2571
3043
|
* casilla.label.style.color = 'lime';
|
|
2572
3044
|
*
|
|
2573
3045
|
* casilla.addEventListener('input', () => {
|
|
@@ -2585,11 +3057,11 @@ declare global {
|
|
|
2585
3057
|
* @example
|
|
2586
3058
|
* crearLienzo(200, 100);
|
|
2587
3059
|
*
|
|
2588
|
-
* let
|
|
2589
|
-
*
|
|
3060
|
+
* let selección = crearSelectorColor();
|
|
3061
|
+
* selección.value = '#fd7575';
|
|
2590
3062
|
*
|
|
2591
3063
|
* function dibujar() {
|
|
2592
|
-
* fondo(
|
|
3064
|
+
* fondo(selección.value);
|
|
2593
3065
|
* }
|
|
2594
3066
|
*/
|
|
2595
3067
|
function crearSelectorColor(valor?: string): HTMLInputElement;
|
|
@@ -2621,7 +3093,7 @@ declare global {
|
|
|
2621
3093
|
* tamañoTexto(64);
|
|
2622
3094
|
*
|
|
2623
3095
|
* let entrada = crearEntrada();
|
|
2624
|
-
* entrada.placeholder = '
|
|
3096
|
+
* entrada.placeholder = '¡Teclea aquí!';
|
|
2625
3097
|
* entrada.size(200, 32);
|
|
2626
3098
|
*
|
|
2627
3099
|
* entrada.addEventListener('input', () => {
|
|
@@ -2638,7 +3110,7 @@ declare global {
|
|
|
2638
3110
|
* crearLienzo(200, 50);
|
|
2639
3111
|
* fondo('coral');
|
|
2640
3112
|
*
|
|
2641
|
-
* let p = crearP('
|
|
3113
|
+
* let p = crearP('¡Hola, mundo!');
|
|
2642
3114
|
* p.style.color = 'pink';
|
|
2643
3115
|
*/
|
|
2644
3116
|
function crearP(contenido?: string): HTMLParagraphElement;
|
|
@@ -2655,7 +3127,7 @@ declare global {
|
|
|
2655
3127
|
* crearLienzo(200, 160);
|
|
2656
3128
|
*
|
|
2657
3129
|
* let radio = crearOpciónes();
|
|
2658
|
-
* radio.option('
|
|
3130
|
+
* radio.option('cuadrado', '1').option('círculo', '2');
|
|
2659
3131
|
*
|
|
2660
3132
|
* function dibujar() {
|
|
2661
3133
|
* fondo(200);
|
|
@@ -2682,7 +3154,7 @@ declare global {
|
|
|
2682
3154
|
* @example
|
|
2683
3155
|
* crearLienzo(200, 100);
|
|
2684
3156
|
*
|
|
2685
|
-
* let sel = crearSelección('
|
|
3157
|
+
* let sel = crearSelección('Seleccionar un opcion');
|
|
2686
3158
|
* sel.option('Red', '#f55').option('Green', '#5f5');
|
|
2687
3159
|
*
|
|
2688
3160
|
* sel.addEventListener('change', () => {
|
|
@@ -3055,63 +3527,234 @@ declare global {
|
|
|
3055
3527
|
*/
|
|
3056
3528
|
function crearVector(): void;
|
|
3057
3529
|
|
|
3058
|
-
/** ↗
|
|
3059
|
-
* Una clase para describir un vector bidimensional o tridimensional, específicamente un vector euclidiano (también conocido como geométrico). Un vector es una entidad que tiene tanto magnitud como dirección. El tipo de datos almacena los componentes del vector (x, y para 2D, y z para 3D). La magnitud y dirección se pueden acceder a través de los métodos `mag()` y `heading()`.
|
|
3060
|
-
* @param {number} [x] componente x del vector
|
|
3061
|
-
* @param {number} [y] componente y del vector
|
|
3062
|
-
* @param {number} [z] componente z del vector
|
|
3063
|
-
* @param {number} [w] componente w del vector
|
|
3064
|
-
* @returns {Vector} este vector
|
|
3065
|
-
* @returns {Vector} copia del vector
|
|
3066
|
-
* @param {number | Vector} x componente x del vector o Vector a sumar
|
|
3067
|
-
* @param {number} [y] componente y del vector
|
|
3068
|
-
* @param {number} [z] componente z del vector
|
|
3069
|
-
* @returns {Vector} este vector
|
|
3070
|
-
* @param {number | Vector} x componente x del vector o Vector a restar
|
|
3071
|
-
* @param {number} [y] componente y del vector
|
|
3072
|
-
* @param {number} [z] componente z del vector
|
|
3073
|
-
* @returns {Vector} este vector
|
|
3074
|
-
* @param {number} n escalar por el cual multiplicar
|
|
3075
|
-
* @returns {Vector} este vector
|
|
3076
|
-
* @param {number} n escalar por el cual dividir
|
|
3077
|
-
* @returns {Vector} este vector
|
|
3078
|
-
* @returns {number} magnitud del vector
|
|
3079
|
-
* @returns {number} magnitud del vector al cuadrado
|
|
3080
|
-
* @param {Vector} v vector con el cual hacer producto punto
|
|
3081
|
-
* @returns {number} producto punto
|
|
3082
|
-
* @param {Vector} v vector con el cual hacer producto cruz
|
|
3083
|
-
* @returns {Vector} producto cruz
|
|
3084
|
-
* @param {Vector} v vector al cual calcular distancia
|
|
3085
|
-
* @returns {number} distancia
|
|
3086
|
-
* @returns {Vector} este vector
|
|
3087
|
-
* @param {number} max magnitud máxima
|
|
3088
|
-
* @returns {Vector} este vector
|
|
3089
|
-
* @param {number} len nueva longitud para este vector
|
|
3090
|
-
* @returns {Vector} este vector
|
|
3091
|
-
* @returns {number} el ángulo de rotación
|
|
3092
|
-
* @param {number} ángulo ángulo de rotación
|
|
3093
|
-
* @returns {Vector} este vector
|
|
3094
|
-
* @param {Vector} v el vector x, y, z
|
|
3095
|
-
* @returns {number} el ángulo entre
|
|
3096
|
-
* @param {Vector} v el vector x, y, z
|
|
3097
|
-
* @param {number} amt la cantidad de interpolación; 0.0 es el vector antiguo, 1.0 es el nuevo vector, 0.5 está a mitad de camino
|
|
3098
|
-
* @returns {Vector} este vector
|
|
3099
|
-
* @param {Vector} superficieNormal el vector normal a la superficie
|
|
3100
|
-
* @returns {Vector} este vector
|
|
3101
|
-
* @returns {number[]} array de flotantes
|
|
3102
|
-
* @param {Vector} v el vector a comparar
|
|
3103
|
-
* @returns {boolean} verdadero si los vectores son iguales
|
|
3104
|
-
* @param {number} ángulo el ángulo deseado
|
|
3105
|
-
* @param {number} [longitud] longitud del nuevo vector (por defecto a 1)
|
|
3106
|
-
* @returns {Vector} nuevo objeto Vector
|
|
3107
|
-
* @returns {Vector} nuevo objeto Vector
|
|
3108
|
-
* @returns {Vector} nuevo objeto Vector
|
|
3109
|
-
*/
|
|
3110
3530
|
class Vector {
|
|
3111
3531
|
|
|
3112
|
-
|
|
3532
|
+
/** ↗
|
|
3533
|
+
* Una clase para describir un vector bidimensional o tridimensional, específicamente un vector euclidiano (también conocido como geométrico). Un vector es una entidad que tiene tanto magnitud como dirección. El tipo de datos almacena los componentes del vector (x, y para 2D, y z para 3D). La magnitud y dirección se pueden acceder a través de los métodos `mag()` y `heading()`.
|
|
3534
|
+
*/
|
|
3535
|
+
constructor(x: number, y: number, z?: number);
|
|
3536
|
+
|
|
3537
|
+
/** ↗
|
|
3538
|
+
* El componente x del vector.
|
|
3539
|
+
*/
|
|
3540
|
+
x: number;
|
|
3541
|
+
|
|
3542
|
+
/** ↗
|
|
3543
|
+
* El componente y del vector.
|
|
3544
|
+
*/
|
|
3545
|
+
y: number;
|
|
3546
|
+
|
|
3547
|
+
/** ↗
|
|
3548
|
+
* El componente z del vector.
|
|
3549
|
+
*/
|
|
3550
|
+
z: number;
|
|
3551
|
+
|
|
3552
|
+
/** ↗
|
|
3553
|
+
* El componente w del vector.
|
|
3554
|
+
*/
|
|
3555
|
+
w(): void;
|
|
3556
|
+
|
|
3557
|
+
/** ↗
|
|
3558
|
+
* Establece los componentes x, y, y z del vector.
|
|
3559
|
+
* @param {number} [x] componente x del vector
|
|
3560
|
+
* @param {number} [y] componente y del vector
|
|
3561
|
+
* @param {number} [z] componente z del vector
|
|
3562
|
+
* @param {number} [w] componente w del vector
|
|
3563
|
+
* @returns {Vector} este vector
|
|
3564
|
+
*/
|
|
3565
|
+
set(): void;
|
|
3566
|
+
|
|
3567
|
+
/** ↗
|
|
3568
|
+
* Devuelve una copia del vector.
|
|
3569
|
+
* @returns {Vector} copia del vector
|
|
3570
|
+
*/
|
|
3571
|
+
copy(): void;
|
|
3572
|
+
|
|
3573
|
+
/** ↗
|
|
3574
|
+
* Suma x, y, y z componentes a un vector, suma un vector a otro, o suma dos vectores independientes.
|
|
3575
|
+
* @param {number | Vector} x componente x del vector o Vector a sumar
|
|
3576
|
+
* @param {number} [y] componente y del vector
|
|
3577
|
+
* @param {number} [z] componente z del vector
|
|
3578
|
+
* @returns {Vector} este vector
|
|
3579
|
+
*/
|
|
3580
|
+
add(): void;
|
|
3581
|
+
|
|
3582
|
+
/** ↗
|
|
3583
|
+
* Resta x, y, y z componentes de un vector, resta un vector de otro, o resta dos vectores independientes.
|
|
3584
|
+
* @param {number | Vector} x componente x del vector o Vector a restar
|
|
3585
|
+
* @param {number} [y] componente y del vector
|
|
3586
|
+
* @param {number} [z] componente z del vector
|
|
3587
|
+
* @returns {Vector} este vector
|
|
3588
|
+
*/
|
|
3589
|
+
sub(): void;
|
|
3590
|
+
|
|
3591
|
+
/** ↗
|
|
3592
|
+
* Multiplica el vector por un escalar.
|
|
3593
|
+
* @param {number} n escalar por el cual multiplicar
|
|
3594
|
+
* @returns {Vector} este vector
|
|
3595
|
+
*/
|
|
3596
|
+
mult(n: number | Vector): Vector;
|
|
3597
|
+
|
|
3598
|
+
/** ↗
|
|
3599
|
+
* Divide el vector por un escalar.
|
|
3600
|
+
* @param {number} n escalar por el cual dividir
|
|
3601
|
+
* @returns {Vector} este vector
|
|
3602
|
+
*/
|
|
3603
|
+
div(n: number | Vector): Vector;
|
|
3604
|
+
|
|
3605
|
+
/** ↗
|
|
3606
|
+
* Calcula la magnitud (longitud) del vector y devuelve el resultado como un flotante (esto es simplemente la ecuación `sqrt(x*x + y*y + z*z)`).
|
|
3607
|
+
* @returns {number} magnitud del vector
|
|
3608
|
+
*/
|
|
3609
|
+
mag(): number;
|
|
3610
|
+
|
|
3611
|
+
/** ↗
|
|
3612
|
+
* Calcula la magnitud (longitud) del vector al cuadrado y devuelve el resultado como un flotante (esto es simplemente la ecuación `x*x + y*y + z*z`).
|
|
3613
|
+
* @returns {number} magnitud del vector al cuadrado
|
|
3614
|
+
*/
|
|
3615
|
+
magSq(): void;
|
|
3616
|
+
|
|
3617
|
+
/** ↗
|
|
3618
|
+
* Calcula el producto punto de dos vectores.
|
|
3619
|
+
* @param {Vector} v vector con el cual hacer producto punto
|
|
3620
|
+
* @returns {number} producto punto
|
|
3621
|
+
*/
|
|
3622
|
+
dot(): void;
|
|
3623
|
+
|
|
3624
|
+
/** ↗
|
|
3625
|
+
* Calcula el producto cruz de dos vectores.
|
|
3626
|
+
* @param {Vector} v vector con el cual hacer producto cruz
|
|
3627
|
+
* @returns {Vector} producto cruz
|
|
3628
|
+
*/
|
|
3629
|
+
cross(): void;
|
|
3630
|
+
|
|
3631
|
+
/** ↗
|
|
3632
|
+
* Calcula la distancia euclidiana entre dos puntos (considerando un punto como un objeto vector).
|
|
3633
|
+
* @param {Vector} v vector al cual calcular distancia
|
|
3634
|
+
* @returns {number} distancia
|
|
3635
|
+
*/
|
|
3636
|
+
dist(v: Vector): number;
|
|
3637
|
+
|
|
3638
|
+
/** ↗
|
|
3639
|
+
* Normaliza el vector a longitud 1 (hace que sea un vector unitario).
|
|
3640
|
+
* @returns {Vector} este vector
|
|
3641
|
+
*/
|
|
3642
|
+
normalize(): void;
|
|
3643
|
+
|
|
3644
|
+
/** ↗
|
|
3645
|
+
* Limita la magnitud de este vector al valor usado para el parámetro `max`.
|
|
3646
|
+
* @param {number} max magnitud máxima
|
|
3647
|
+
* @returns {Vector} este vector
|
|
3648
|
+
*/
|
|
3649
|
+
limit(): void;
|
|
3650
|
+
|
|
3651
|
+
/** ↗
|
|
3652
|
+
* Establece la magnitud de este vector al valor usado para el parámetro `len`.
|
|
3653
|
+
* @param {number} len nueva longitud para este vector
|
|
3654
|
+
* @returns {Vector} este vector
|
|
3655
|
+
*/
|
|
3656
|
+
setMag(): void;
|
|
3657
|
+
|
|
3658
|
+
/** ↗
|
|
3659
|
+
* Calcula el ángulo de rotación para este vector (solo vectores 2D).
|
|
3660
|
+
* @returns {number} el ángulo de rotación
|
|
3661
|
+
*/
|
|
3662
|
+
heading(): void;
|
|
3663
|
+
|
|
3664
|
+
/** ↗
|
|
3665
|
+
* Rota el vector por un ángulo (solo vectores 2D), la magnitud permanece igual.
|
|
3666
|
+
* @param {number} ángulo ángulo de rotación
|
|
3667
|
+
* @returns {Vector} este vector
|
|
3668
|
+
*/
|
|
3669
|
+
rotate(): void;
|
|
3670
|
+
|
|
3671
|
+
/** ↗
|
|
3672
|
+
* Calcula y devuelve el ángulo entre dos vectores.
|
|
3673
|
+
* @param {Vector} v el vector x, y, z
|
|
3674
|
+
* @returns {number} el ángulo entre
|
|
3675
|
+
*/
|
|
3676
|
+
angleBetween(): void;
|
|
3677
|
+
|
|
3678
|
+
/** ↗
|
|
3679
|
+
* Interpola linealmente el vector a otro vector.
|
|
3680
|
+
* @param {Vector} v el vector x, y, z
|
|
3681
|
+
* @param {number} amt la cantidad de interpolación; 0.0 es el vector antiguo, 1.0 es el nuevo vector, 0.5 está a mitad de camino
|
|
3682
|
+
* @returns {Vector} este vector
|
|
3683
|
+
*/
|
|
3684
|
+
lerp(v: Vector, amt: number): Vector;
|
|
3685
|
+
|
|
3686
|
+
/** ↗
|
|
3687
|
+
* Refleja el vector entrante sobre una normal al muro.
|
|
3688
|
+
* @param {Vector} superficieNormal el vector normal a la superficie
|
|
3689
|
+
* @returns {Vector} este vector
|
|
3690
|
+
*/
|
|
3691
|
+
reflect(): void;
|
|
3692
|
+
|
|
3693
|
+
/** ↗
|
|
3694
|
+
* Devuelve una representación de este vector como un array de flotantes.
|
|
3695
|
+
* @returns {number[]} array de flotantes
|
|
3696
|
+
*/
|
|
3697
|
+
array(): void;
|
|
3698
|
+
|
|
3699
|
+
/** ↗
|
|
3700
|
+
* Comprueba si los componentes x, y, y z del vector son iguales a los componentes x, y, y z de otro vector.
|
|
3701
|
+
* @param {Vector} v el vector a comparar
|
|
3702
|
+
* @returns {boolean} verdadero si los vectores son iguales
|
|
3703
|
+
*/
|
|
3704
|
+
equals(): void;
|
|
3705
|
+
|
|
3706
|
+
/** ↗
|
|
3707
|
+
* Hace un nuevo vector 2D desde un ángulo de longitud 1.
|
|
3708
|
+
* @param {number} ángulo el ángulo deseado
|
|
3709
|
+
* @param {number} [longitud] longitud del nuevo vector (por defecto a 1)
|
|
3710
|
+
* @returns {Vector} nuevo objeto Vector
|
|
3711
|
+
*/
|
|
3712
|
+
fromAngle(): void;
|
|
3713
|
+
|
|
3714
|
+
/** ↗
|
|
3715
|
+
* Hace un nuevo vector 2D aleatorio con una magnitud de 1.
|
|
3716
|
+
* @returns {Vector} nuevo objeto Vector
|
|
3717
|
+
*/
|
|
3718
|
+
random2D(): void;
|
|
3719
|
+
|
|
3720
|
+
/** ↗
|
|
3721
|
+
* Hace un nuevo vector 3D aleatorio con una magnitud de 1.
|
|
3722
|
+
* @returns {Vector} nuevo objeto Vector
|
|
3723
|
+
*/
|
|
3724
|
+
random3D(): void;
|
|
3725
|
+
sumar(v: Vector): Vector;
|
|
3726
|
+
|
|
3727
|
+
restar(v: Vector): Vector;
|
|
3728
|
+
|
|
3729
|
+
normalizar(): Vector;
|
|
3730
|
+
|
|
3731
|
+
establecerMag(len: number): Vector;
|
|
3732
|
+
|
|
3733
|
+
punto(v: Vector): number;
|
|
3734
|
+
|
|
3735
|
+
cruz(v: Vector): Vector;
|
|
3113
3736
|
|
|
3114
|
-
|
|
3737
|
+
copiar(): Vector;
|
|
3738
|
+
|
|
3739
|
+
establecer(x: number, y: number, z?: number): void;
|
|
3740
|
+
|
|
3741
|
+
limitar(max: number): Vector;
|
|
3742
|
+
|
|
3743
|
+
rumbo(): number;
|
|
3744
|
+
|
|
3745
|
+
establecerRumbo(angulo: number): Vector;
|
|
3746
|
+
|
|
3747
|
+
rotar(angulo: number): Vector;
|
|
3748
|
+
|
|
3749
|
+
slerp(v: Vector, amt: number): Vector;
|
|
3750
|
+
|
|
3751
|
+
static desdeÁngulo(angulo: number, longitud?: number): Vector;
|
|
3752
|
+
|
|
3753
|
+
}
|
|
3754
|
+
|
|
3755
|
+
// 🖌 shaping
|
|
3756
|
+
|
|
3757
|
+
/** 🖌
|
|
3115
3758
|
* Dibuja un arco, que es una sección de una elipse.
|
|
3116
3759
|
*
|
|
3117
3760
|
* `modoEliptico` afecta cómo se dibuja el arco.
|
|
@@ -3133,53 +3776,53 @@ declare global {
|
|
|
3133
3776
|
* arco(120, 120, 40, 40, 0.8, -0.8, CHORD_OPEN);
|
|
3134
3777
|
* arco(160, 160, 40, 40, 0.8, -0.8, CHORD);
|
|
3135
3778
|
*/
|
|
3136
|
-
|
|
3779
|
+
function arco(x: number, y: number, w: number, h: number, inicio: number, fin: number, modo?: number): void;
|
|
3137
3780
|
|
|
3138
|
-
|
|
3781
|
+
/** 🖌
|
|
3139
3782
|
* Dibuja una curva.
|
|
3140
3783
|
*/
|
|
3141
|
-
|
|
3784
|
+
function curva(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number, x4: number, y4: number): void;
|
|
3142
3785
|
|
|
3143
|
-
|
|
3786
|
+
/** 🖌
|
|
3144
3787
|
* Establece la cantidad de segmentos de línea recta usados para hacer una curva.
|
|
3145
3788
|
*
|
|
3146
3789
|
* Solo tiene efecto en q5 WebGPU.
|
|
3147
3790
|
* @param {number} val nivel de detalle de la curva, por defecto es 20
|
|
3148
3791
|
*/
|
|
3149
|
-
|
|
3792
|
+
function detalleCurva(val: number): void;
|
|
3150
3793
|
|
|
3151
|
-
|
|
3794
|
+
/** 🖌
|
|
3152
3795
|
* Comienza a almacenar vértices para una forma convexa.
|
|
3153
3796
|
*/
|
|
3154
|
-
|
|
3797
|
+
function empezarForma(): void;
|
|
3155
3798
|
|
|
3156
|
-
|
|
3799
|
+
/** 🖌
|
|
3157
3800
|
* Termina de almacenar vértices para una forma convexa.
|
|
3158
3801
|
*/
|
|
3159
|
-
|
|
3802
|
+
function terminarForma(): void;
|
|
3160
3803
|
|
|
3161
|
-
|
|
3804
|
+
/** 🖌
|
|
3162
3805
|
* Comienza a almacenar vértices para un contorno.
|
|
3163
3806
|
*
|
|
3164
3807
|
* No disponible en q5 WebGPU.
|
|
3165
3808
|
*/
|
|
3166
|
-
|
|
3809
|
+
function empezarContorno(): void;
|
|
3167
3810
|
|
|
3168
|
-
|
|
3811
|
+
/** 🖌
|
|
3169
3812
|
* Termina de almacenar vértices para un contorno.
|
|
3170
3813
|
*
|
|
3171
3814
|
* No disponible en q5 WebGPU.
|
|
3172
3815
|
*/
|
|
3173
|
-
|
|
3816
|
+
function terminarContorno(): void;
|
|
3174
3817
|
|
|
3175
|
-
|
|
3818
|
+
/** 🖌
|
|
3176
3819
|
* Especifica un vértice en una forma.
|
|
3177
3820
|
* @param {number} x coordenada-x
|
|
3178
3821
|
* @param {number} y coordenada-y
|
|
3179
3822
|
*/
|
|
3180
|
-
|
|
3823
|
+
function vértice(): void;
|
|
3181
3824
|
|
|
3182
|
-
|
|
3825
|
+
/** 🖌
|
|
3183
3826
|
* Especifica un vértice Bezier en una forma.
|
|
3184
3827
|
* @param {number} cp1x coordenada-x del primer punto de control
|
|
3185
3828
|
* @param {number} cp1y coordenada-y del primer punto de control
|
|
@@ -3188,18 +3831,18 @@ declare global {
|
|
|
3188
3831
|
* @param {number} x coordenada-x del punto de anclaje
|
|
3189
3832
|
* @param {number} y coordenada-y del punto de anclaje
|
|
3190
3833
|
*/
|
|
3191
|
-
|
|
3834
|
+
function vérticeBezier(): void;
|
|
3192
3835
|
|
|
3193
|
-
|
|
3836
|
+
/** 🖌
|
|
3194
3837
|
* Especifica un vértice Bezier cuadrático en una forma.
|
|
3195
3838
|
* @param {number} cp1x coordenada-x del punto de control
|
|
3196
3839
|
* @param {number} cp1y coordenada-y del punto de control
|
|
3197
3840
|
* @param {number} x coordenada-x del punto de anclaje
|
|
3198
3841
|
* @param {number} y coordenada-y del punto de anclaje
|
|
3199
3842
|
*/
|
|
3200
|
-
|
|
3843
|
+
function vérticeCuadrático(): void;
|
|
3201
3844
|
|
|
3202
|
-
|
|
3845
|
+
/** 🖌
|
|
3203
3846
|
* Dibuja una curva Bezier.
|
|
3204
3847
|
* @param {number} x1 coordenada-x del primer punto de anclaje
|
|
3205
3848
|
* @param {number} y1 coordenada-y del primer punto de anclaje
|
|
@@ -3210,9 +3853,9 @@ declare global {
|
|
|
3210
3853
|
* @param {number} x4 coordenada-x del segundo punto de anclaje
|
|
3211
3854
|
* @param {number} y4 coordenada-y del segundo punto de anclaje
|
|
3212
3855
|
*/
|
|
3213
|
-
|
|
3856
|
+
function bezier(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number, x4: number, y4: number): void;
|
|
3214
3857
|
|
|
3215
|
-
|
|
3858
|
+
/** 🖌
|
|
3216
3859
|
* Dibuja un triángulo.
|
|
3217
3860
|
* @param {number} x1 coordenada-x del primer vértice
|
|
3218
3861
|
* @param {number} y1 coordenada-y del primer vértice
|
|
@@ -3221,9 +3864,9 @@ declare global {
|
|
|
3221
3864
|
* @param {number} x3 coordenada-x del tercer vértice
|
|
3222
3865
|
* @param {number} y3 coordenada-y del tercer vértice
|
|
3223
3866
|
*/
|
|
3224
|
-
|
|
3867
|
+
function triángulo(): void;
|
|
3225
3868
|
|
|
3226
|
-
|
|
3869
|
+
/** 🖌
|
|
3227
3870
|
* Dibuja un cuadrilátero.
|
|
3228
3871
|
* @param {number} x1 coordenada-x del primer vértice
|
|
3229
3872
|
* @param {number} y1 coordenada-y del primer vértice
|
|
@@ -3234,13 +3877,18 @@ declare global {
|
|
|
3234
3877
|
* @param {number} x4 coordenada-x del cuarto vértice
|
|
3235
3878
|
* @param {number} y4 coordenada-y del cuarto vértice
|
|
3236
3879
|
*/
|
|
3237
|
-
|
|
3880
|
+
function quad(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number, x4: number, y4: number): void;
|
|
3238
3881
|
|
|
3239
|
-
|
|
3882
|
+
// ⚙ advanced
|
|
3883
|
+
|
|
3884
|
+
/** ⚙
|
|
3885
|
+
* Alias para `Q5`.
|
|
3886
|
+
*/
|
|
3887
|
+
const q5: typeof Q5;
|
|
3240
3888
|
|
|
3241
|
-
|
|
3889
|
+
class Q5 {
|
|
3242
3890
|
|
|
3243
|
-
|
|
3891
|
+
/** ⚙
|
|
3244
3892
|
* Funcion constructora. Crea una instancia de Q5.
|
|
3245
3893
|
* @param {string | Function} [ambito]
|
|
3246
3894
|
* @param {HTMLElement} [contenedor] elemento HTML dentro del cual se colocará el lienzo
|
|
@@ -3249,43 +3897,149 @@ declare global {
|
|
|
3249
3897
|
* q.crearLienzo(200, 100);
|
|
3250
3898
|
* q.círculo(100, 50, 20);
|
|
3251
3899
|
*/
|
|
3252
|
-
|
|
3253
|
-
static deshabilitarErroresAmigables: boolean;
|
|
3900
|
+
constructor(scope?: string | Function, parent?: HTMLElement);
|
|
3254
3901
|
|
|
3255
|
-
|
|
3902
|
+
/** ⚙
|
|
3903
|
+
* Desactiva los mensajes de error amigables de q5.
|
|
3904
|
+
*/
|
|
3905
|
+
disableFriendlyErrors(): void;
|
|
3256
3906
|
|
|
3257
|
-
|
|
3907
|
+
/** ⚙
|
|
3908
|
+
* Establecer en verdadero para mantener el bucle de dibujo después de un error.
|
|
3909
|
+
*/
|
|
3910
|
+
errorTolerant(): void;
|
|
3258
3911
|
|
|
3259
|
-
|
|
3912
|
+
/** ⚙
|
|
3913
|
+
* Verdadero si el dispositivo soporta HDR (el espacio de color display-p3).
|
|
3914
|
+
*/
|
|
3915
|
+
supportsHDR(): void;
|
|
3260
3916
|
|
|
3261
|
-
|
|
3917
|
+
/** ⚙
|
|
3918
|
+
* Establece los atributos de contexto de lienzo predeterminados utilizados para
|
|
3919
|
+
* lienzos recién creados y gráficos internos. Estas opciones son sobrescritas por
|
|
3920
|
+
* cualquier opción por lienzo que pases a `crearLienzo`.
|
|
3921
|
+
*/
|
|
3922
|
+
canvasOptions(): void;
|
|
3262
3923
|
|
|
3263
|
-
|
|
3924
|
+
/** ⚙
|
|
3925
|
+
* Un límite de asignación de memoria WebGPU.
|
|
3926
|
+
*
|
|
3927
|
+
* El número máximo de matrices de transformación
|
|
3928
|
+
* que se pueden usar en una sola llamada de dibujo.
|
|
3929
|
+
*/
|
|
3930
|
+
MAX_TRANSFORMS(): void;
|
|
3264
3931
|
|
|
3265
|
-
|
|
3932
|
+
/** ⚙
|
|
3933
|
+
* Un límite de asignación de memoria WebGPU.
|
|
3934
|
+
*
|
|
3935
|
+
* El número máximo de rectángulos
|
|
3936
|
+
* (llamadas a `rect`, `cuadrado`, `cápsula`)
|
|
3937
|
+
* que se pueden dibujar en una sola llamada de dibujo.
|
|
3938
|
+
*/
|
|
3939
|
+
static MAX_RECTS: number;
|
|
3266
3940
|
|
|
3267
|
-
|
|
3941
|
+
/** ⚙
|
|
3942
|
+
* Un límite de asignación de memoria WebGPU.
|
|
3943
|
+
*
|
|
3944
|
+
* El número máximo de elipses
|
|
3945
|
+
* (llamadas a `elipse`, `círculo`, y `arco`)
|
|
3946
|
+
* que se pueden dibujar en una sola llamada de dibujo.
|
|
3947
|
+
*/
|
|
3948
|
+
MAX_ELLIPSES(): void;
|
|
3268
3949
|
|
|
3269
|
-
|
|
3950
|
+
/** ⚙
|
|
3951
|
+
* Un límite de asignación de memoria WebGPU.
|
|
3952
|
+
*
|
|
3953
|
+
* El número máximo de caracteres de texto
|
|
3954
|
+
* que se pueden dibujar en una sola llamada de dibujo.
|
|
3955
|
+
*/
|
|
3956
|
+
MAX_CHARS(): void;
|
|
3270
3957
|
|
|
3271
|
-
|
|
3958
|
+
/** ⚙
|
|
3959
|
+
* Un límite de asignación de memoria WebGPU.
|
|
3960
|
+
*
|
|
3961
|
+
* El número máximo de llamadas separadas a `texto`
|
|
3962
|
+
* que se pueden dibujar en una sola llamada de dibujo.
|
|
3963
|
+
*/
|
|
3964
|
+
MAX_TEXTS(): void;
|
|
3965
|
+
|
|
3966
|
+
/** ⚙
|
|
3967
|
+
* Crea una nueva instancia de Q5 que usa el [renderizador WebGPU de q5](https://github.com/q5js/q5.js/wiki/q5-WebGPU-renderer).
|
|
3968
|
+
*/
|
|
3969
|
+
static WebGPU(): Q5;
|
|
3970
|
+
|
|
3971
|
+
/** ⚙
|
|
3972
|
+
* Los addons pueden aumentar q5 con nueva funcionalidad agregando hooks,
|
|
3973
|
+
* funciones que se ejecutan en fases específicas del ciclo de vida de q5.
|
|
3974
|
+
*
|
|
3975
|
+
* Dentro de la función, `this` se refiere a la instancia de Q5.
|
|
3976
|
+
* @param {string} lifecycle init, presetup, postsetup, predraw, postdraw, o remove
|
|
3977
|
+
* @param {Function} fn La función que se ejecutará en la fase del ciclo de vida especificada.
|
|
3978
|
+
*/
|
|
3979
|
+
addHook(): void;
|
|
3980
|
+
|
|
3981
|
+
/** ⚙
|
|
3982
|
+
* Forma compatible con p5.js v2 de registrar un addon con q5.
|
|
3983
|
+
* @param {Function} addon Una función que recibe `Q5`, `Q5.prototype`, y un objeto `lifecycles`.
|
|
3984
|
+
*/
|
|
3985
|
+
registerAddon(): void;
|
|
3986
|
+
|
|
3987
|
+
/** ⚙
|
|
3988
|
+
* Un objeto que contiene los módulos de q5, funciones que se ejecutan cuando q5 carga.
|
|
3989
|
+
*
|
|
3990
|
+
* Cada función recibe dos parámetros de entrada:
|
|
3991
|
+
*
|
|
3992
|
+
* - la instancia de q5
|
|
3993
|
+
* - un proxy para editar la instancia de q5 y las propiedades correspondientes del ámbito global
|
|
3994
|
+
*/
|
|
3995
|
+
modules(): void;
|
|
3996
|
+
|
|
3997
|
+
/** ⚙
|
|
3998
|
+
* La función de dibujo de q5 se ejecuta 60 veces por segundo por defecto.
|
|
3999
|
+
*/
|
|
4000
|
+
draw(): void;
|
|
4001
|
+
|
|
4002
|
+
/** ⚙
|
|
4003
|
+
* Se ejecuta después de cada llamada a la función `dibujar` y procesos de addons de q5 post-dibujo, si los hay.
|
|
4004
|
+
*
|
|
4005
|
+
* Útil para agregar efectos de post-procesamiento cuando no es posible
|
|
4006
|
+
* hacerlo al final de la función `dibujar`, como cuando se usan
|
|
4007
|
+
* addons como p5play que dibujan automáticamente al lienzo después de que
|
|
4008
|
+
* la función `dibujar` se ejecuta.
|
|
4009
|
+
*/
|
|
4010
|
+
postProcess(): void;
|
|
4011
|
+
static deshabilitarErroresAmigables: boolean;
|
|
4012
|
+
|
|
4013
|
+
static toleranteErrores: boolean;
|
|
4014
|
+
|
|
4015
|
+
static soportaHDR: boolean;
|
|
4016
|
+
|
|
4017
|
+
static opcionesLienzo: object;
|
|
3272
4018
|
|
|
3273
|
-
|
|
4019
|
+
static MAX_ELIPSES: number;
|
|
3274
4020
|
|
|
3275
|
-
|
|
4021
|
+
static MAX_TRANSFORMACIONES: number;
|
|
3276
4022
|
|
|
3277
|
-
|
|
4023
|
+
static MAX_CARACTERES: number;
|
|
3278
4024
|
|
|
3279
|
-
|
|
4025
|
+
static MAX_TEXTOS: number;
|
|
3280
4026
|
|
|
3281
|
-
|
|
4027
|
+
static agregarHook(cicloVida: string, fn: Function): void;
|
|
3282
4028
|
|
|
3283
|
-
|
|
4029
|
+
static registrarAddon(addon: Function): void;
|
|
3284
4030
|
|
|
3285
|
-
|
|
4031
|
+
static modulos: object;
|
|
3286
4032
|
|
|
3287
|
-
|
|
3288
|
-
|
|
4033
|
+
dibujar(): void;
|
|
4034
|
+
|
|
4035
|
+
postProcesar(): void;
|
|
4036
|
+
|
|
4037
|
+
actualizar(): void; //-
|
|
4038
|
+
|
|
4039
|
+
dibujarFotograma(): void; //-
|
|
4040
|
+
|
|
4041
|
+
static Imagen: {
|
|
4042
|
+
new (w: number, h: number, opt?: any): Q5.Imagen;
|
|
3289
4043
|
};
|
|
3290
4044
|
|
|
3291
4045
|
}
|
|
@@ -3297,8 +4051,6 @@ declare global {
|
|
|
3297
4051
|
}
|
|
3298
4052
|
}
|
|
3299
4053
|
|
|
3300
|
-
const q5: typeof Q5;
|
|
3301
|
-
|
|
3302
4054
|
}
|
|
3303
4055
|
|
|
3304
4056
|
export {};
|