BSTicker
5 min
para obtener más información sobre los métodos disponibles, consulte la entrada rotextwidget este objeto se puede usar para mostrar un ticker de desplazamiento de texto bsticker utiliza rutas de estilo brightscript en lugar de rutas nativas (una ruta de estilo unix o un uri) este objeto admite modos de desplazamiento tanto de derecha a izquierda como de izquierda a derecha (por ejemplo, árabe, hebreo), según el idioma de la primera cadena o archivo agregado al widget para cambiar la dirección de desplazamiento, primero elimine todas las cadenas del ticker creación de objetos bsticker(in unsigned long x, in unsigned long y, in unsigned long w, in unsigned long h, in long rotation); los enteros x e y especifican la posición del widget ticker (a través de la esquina superior izquierda), mientras que los enteros w y h especifican el tamaño del widget el parámetro rotación acepta los siguientes valores (la rotación es en sentido antihorario desde el modo horizontal) 0 0 grados 90 90 grados 180 180 grados 270 270 grados el parámetro rotación solo afecta el texto dentro del ticker; no altera las coordenadas de pantalla del propio widget si está creando un ticker vertical o rotando el ticker para que coincida con contenido html en modo vertical, deberá usar los parámetros de coordenadas x, y, w, h para que coincidan con la rotación del texto métodos setrectangle(en unsigned long x, en unsigned long y, en unsigned long w, en unsigned long h) boolean modifica la posición ( x,y) y el tamaño ( w,h) del widget ticker cambiar el tamaño del widget restablecerá la animación del ticker mientras el tamaño del widget permanezca sin cambios, modificar la posición no interrumpirá la animación del ticker este método devuelve verdadero en caso de éxito, o falso en caso de error addstring(en domstring str) int agrega una cadena a la cola este método devuelve un entero string id que se puede usar para identificar qué cadena se eliminó cuando se genera el evento ontickerstringremoved ; un valor de retorno cero indica que el método no pudo agregar la cadena agregar demasiadas cadenas sin extraerlas de la pila hará que addstring() devuelva un valor distinto de cero (el número exacto depende del tamaño de fuente de cada cadena) el número máximo recomendado de cadenas almacenadas es 64 agregarsurface(en imagedata image) int agrega una imagen de mapa de bits a la lista de cadenas que se mostrarán la imagen debe ser del tipo datosdeimagen este método devuelve un entero string id que se puede usar para identificar qué superficie se elimina cuando se genera el evento ontickerstringremoved consulte el código en la parte inferior de esta página para ver un ejemplo de uso de un lienzo/imagen con este método popstrings(in unsigned long count) boolean elimina la cantidad designada de cadenas de la cola este método devuelve verdadero en caso de éxito, o falso en caso de error setautopop(in boolean) boolean si este método se establece en verdadero , las cadenas se eliminan automáticamente (se extraen de la pila) una vez que se han desplazado fuera de la pantalla setforegroundcolor(en unsigned long argb) boolean especifica el color de primer plano como un número de 32 bits en formato argb (alpha, red, green, blue) este método devuelve verdadero en caso de éxito, o falso en caso de error setforegroundcolor(en unsigned long a, en unsigned long r, en unsigned long g, en unsigned long b) boolean establece el color de primer plano en rojo, verde y azul (los valores alfa de primer plano actualmente no son compatibles y este método los ignora, aunque esto puede cambiar en futuras versiones de firmware) a, r, g y b son valores enteros entre 0 y 255 este método devuelve verdadero en caso de éxito, o falso en caso de error setbackgroundcolor(en unsigned long argb) boolean especifica el color de fondo como un número de 32 bits en formato argb (alpha, red, green, blue) este método devuelve verdadero en caso de éxito, o falso en caso de error establecercolordefondo(en unsigned long a, en unsigned long r, en unsigned long g, en unsigned long b) boolean establece el color de fondo en alfa, rojo, verde y azul mientras que los valores alfa estándar están entre 0 0 y 1 0, los valores en bsticker son sin signo largo (o los 8 bits superiores de un sin signo largo ) los valores se asignan entre 0x00 y 0xff para corresponder a 0 0 y 1 0 este método devuelve verdadero en caso de éxito, o falso en caso de error setseparatorstring(en domstring str) boolean utilice una cadena de texto para separar mensajes individuales este método devuelve verdadero en caso de éxito, o falso en caso de error setseparatorcircle() boolean utilice un círculo para separar mensajes individuales este método devuelve verdadero en caso de éxito, o falso en caso de error setseparatordiamond() boolean utilice un rombo para separar mensajes individuales este método devuelve verdadero en caso de éxito, o falso en caso de error setseparatorsquare() boolean utilice un cuadrado para separar mensajes individuales este método devuelve verdadero en caso de éxito, o falso en caso de error setpixelspersecond(en unsigned long pps) unsigned long establece la velocidad del ticker establecerfuente(en domstring fuente) boolean especifica una fuente para bsticker (así como para el objeto brightscript rotextwidget) este método acepta una lista de nombres de font family (similar a la propiedad css \<font family>) la cadena también puede tener un prefijo font face para indicar que esta es una descripción de fuente (por ejemplo, font face\ dejavu serif,serif italic bold ) las fuentes deben agregarse al widget html usando el método rohtmlwidget addfont() antes de que puedan utilizarse en una instancia de bsticker este método devuelve verdadero en caso de éxito, o falso en caso de error setsyncmanager(en domstring domain) boolean especifica un dominio bssyncmanager para usar al ejecutar la llamada setmultiscreen() cuando se llama a este método, crea un dominio interno basado en el dominio bssyncmanager existente y utiliza los mismos parámetros de red recomendamos utilizar este método en lugar de pasar una dirección ip multicast y un puerto al propio método setmultiscreen() este método devuelve verdadero en caso de éxito, o falso en caso de error setmultiscreen(en unsigned long offset, en unsigned long size, en domstring ip address, en unsigned long port) boolean llame al método setmultiscreen() para crear un ticker que se desplace suavemente a través de múltiples pantallas este método devuelve verdadero en caso de éxito, o falso en caso de error desplazamiento determina el punto de inicio izquierdo (en píxeles) en la matriz multipantalla el valor del parámetro siempre será 0 para la pantalla más a la izquierda este parámetro debe calcularse utilizando la longitud del ticker multipantalla, no la longitud total de la pantalla multipantalla por ejemplo, utilizar un offset de 1920 en una matriz de dos pantallas de 1920x1080 especificaría este reproductor como la pantalla derecha (maestra) para crear un ticker que se desplace suavemente a través de múltiples pantallas, llame al método setmultiscreen() en cada página tamaño el ancho total (en píxeles) de la matriz multipantalla en todas las pantallas este parámetro debe tener el mismo valor para cada llamada a setmultiscreen() tenga en cuenta que el tamaño de un ticker multipantalla puede ser diferente del ancho total de una pantalla multipantalla (por ejemplo, si el ancho de un widget bsticker es menor que el ancho de la pantalla) definir un tamaño de 3840 especificaría una matriz de dos pantallas de 1920x1080 dirección ip una cadena que especifica la dirección ip multicast para el proceso de sincronización ptp (por ejemplo, "239 192 0 0") puerto una cadena que especifica el puerto multicast para el proceso de sincronización ptp (por ejemplo, "1234") el siguiente diagrama de ejemplo y fragmentos de código especifican una pantalla multipantalla con dos monitores el ancho de cada monitor es de 1024 píxeles, mientras que el ancho de cada ticker es de 768 píxeles eventos bsticker ontickerstringremoved este controlador de eventos se activa cuando una cadena ha sido eliminada y ya no es visible el evento contiene la propiedad string id , que es devuelta por una llamada exitosa a addstring() ejemplos el siguiente script muestra cómo utilizar muchos de los métodos disponibles de bsticker var bsticker = new bsticker(10, 110, 600, 30); function addtext1() { console log('############ addtext1'); bsticker addstring("addtext1"); } function addtext2() { console log('############ addtext2'); bsticker addstring("addtext2"); } function addtext3() { console log('############ addtext3'); bsticker addstring("addtext3"); } function setbackground1() { console log('############ setbackground1'); bsticker setbackgroundcolor(0xffff0000); } function setbackground2() { console log('############ setbackground2'); bsticker setbackgroundcolor(0xff00ff00); } function setforeground1() { console log('############ setforeground1'); bsticker setforegroundcolor(0xff007700); } function setforeground2() { console log('############ setforeground2'); bsticker setforegroundcolor(0xff000077); } function setseparatorstring() { console log('############ setseparatorstring'); bsticker setseparatorstring(" ### "); } function setseparatorcircle() { console log('############ setseparatorcircle'); bsticker setseparatorcircle(); } function setseparatordiamond() { console log('############ setseparatordiamond'); bsticker setseparatordiamond(); } function setseparatorsquare() { console log('############ setseparatorsquare'); bsticker setseparatorsquare(); } function settickerspeed() { console log('############ settickerspeed'); var speed = bsticker setpixelspersecond(180); console log('############ setpixelspersecond(180), resulting speed ' + speed); } los siguientes ejemplos permiten agregar un canvas o una imagen al ticker con el método addsurface() //loading a canvas var ctx = canvas getcontext("2d"); var img = ctx getimagedata(0, 0, ctx canvas width, ctx canvas height); ticker addsurface(img); //loading an image var imageobj = new image(); imageobj onload = function() { 	canvas width = this width; 	canvas height = this height; 	var ctx = canvas getcontext("2d"); 	ctx drawimage(this, 0, 0); // use getimage data as above }; imageobj src = "filename jpg";