Anuncios Google

pspMenu

AplicacionesCustom Firmware PlusPCes

v0.04 Alpha

Hoy chodi nos trae algo realmente util para todos aquellos que os animais a crear vuestro primer Homebrew en lenguaje C++. Con esta libreria, seremos capaces de generar un menu con tan solo unas lineas de codigo.

  • Notas del autor:

Esta libreria esta diseñada para que mediante unas pocas lineas, puedas tener un menu funcionando a pleno rendimiento sin tener que preocuparte del funcionamiento interno del menu.

Modo de empleo

·Explicacion general

Todas las funciones exceptuando runMenu, tienen varias formas de usarse, todas ellas tienen un parametro "char *frm", este parametro simplemente se trata de una cadena codificada en la cual dependiendo del valor que le pases se sabran los siguientes parametros.

Si por ejemplo las letras para el formato fuesen 'f' y 'p', f significando puntero a funcion y 'p' significando puntero a un parametros. La funcion deberi­a escribirse como funcionMenu("fp", &funcion, &parametro) o como funcionMenu("pf", &parametro, &funcion) indistintamente (atencion con la cadena codificada).

Esto quedara¡ mas claro en la explicacion especifica.

·Explicacion especifica

·ctrlMenu * menuInit(char *frm,...);

Esta funcion no requiere ningun parametro obligatorio, con lo cual crearia un menu vacio donde añadir nuevas opciones.

Los parametros opcionales en la cadena de formato serian

  • 's' -> Imagen a mostrar
  • 't' -> Tiempo (segundos) que tarda en desaparer la imagen de presentacion.

Ejemplo simple:

menu=menuInit(NULL); //Crearia un menu horizontal y sin imagen de presentacion

Ejemplo completo:

menu=menuInit("psti", UPDOWN, &splash_size, splash, 3);

//Crearia un menu vertical mostrando la imagen "splash" durante 3 segundos.

·void addOption(ctrlMenu *menu,unsigned int *size, unsigned char *data,char *frm,...);

Esta funcion tiene como parametros obligatorios, el control de menu al cual perteneceran las opciones (CtrlMenu *menu) y la informacion de la imagen a mostrar la para opcion.

"unsigned int *size" es el tamaño de la imagen en bytes, mientras que "unsigned char *data" es la informacion de la imagen.

Los parametros opcionales en la cadena de formato serian

  • 'f' -> Aqui se especifica un puntero a la opcion a ejecutar cuando se presione X sobre la opcion. Esta funcion debe ser obligatoriamente del tipo "void funcion(void *param)"
  • 'p' -> Parametro que se le pasara a la funcion, como se ve en el encabezado de la funcion, este parametro tendra que ser del tipo (void *).

En el caso de las opciones, si los parametros opcionales no estan definidos y no contiene un submenu, significaria que la opcion es del tipo volver/salida, con lo cual al ejecutarse dicha opcion, se volveria al menu anterior en caso de ser un submenu o sdevolveria el control del programa al main si estuvieramos en el menu principal.

·ctrlMenu * addMOption(ctrlMenu *menu,char *frm,...);

Esta funcion tiene como parametro obligatorio el puntero al ctrlMenu al cual va a pertenecer como su submenu. Todos los submenus de primer nivel tendran como padre al menu pasado a la funcion "menuInit".

Esta funcion devuelve otro control de menu, el cual es el que se debe usar para añadir opciones a este submenu o añadir nuevos submenus al actual submenu (anidacion de submenus).

Los parametros opcionales en la cadena de formato serian

  • 'p' -> Modo de funcionamiento del pad. Como predeterminado esta izquierda/derecha ("LEFTRIGHT"), pero se puede ambiar a arriba/abajo ("UPDOWN").
  • 's' -> Imagen a mostrar
  • 't' -> Tiempo (segundos) que tarda en desaparer la imagen de presentacion.

·void runMenu(ctrlMenu *menu);

A esta funcion solo se le debe pasar la variable ctrlMenu que contiene el menu principal y es la encargada de gestionar todo el menu con los parametros definidos.

 

Sample
La libreria uncluye un sample con el funcionamiento basico del menu. Lo unico que tendreis que programar es el main.cpp, el resto de archivos (con relación al menu) no hace falta tocarlos para nada, con lo que el menu se genera de forma bastante rapida.

Compatibilidad
Kernels 3.XX (Probado en 3.71 y 3.90)

Posteado tambien en: www.elotrolado.net, beta.pesepe.com, www.marce82projects.es, www.teknopsp.com

Comprobar si vuestra duda a sido resuelta en alguna de ellas antes de preguntar.

Caracteristicas

v0.04 Alpha

·Reestructuraciones internas

·Nuevo modelo de importacion de imagenes personalizado del programa. Se debe usar png2h para que las imagenes sean compatibles.

Descargar pspMenu v0.04 Alpha (Sólo Usuarios Registrados)

v0.03 Alpha

·Estilo de retorno especiales para los menus de advertencia.

·Configurable para menus verticales y horizontales.

v0.01 Alpha

·Posibilidad de poner imagenes de presentacion en cada menu/submenu

·Anidamiento de submenus de nivel ilimitado.

·Opciones rotatorias (al llegar a la ultima opcion, se pasa a la primera)

·Opciones de salir/volver automaticas.

·Ejecucion de funciones a traves de las opciones.

·Reentrada automatica al menu desde de la ejecucion de una opcion.

 

4.6875
Tu voto: Ninguno Votos totales: 4.7 (16 votos)

Anuncios Google

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Unicorn

Mis felicitaciones chodi

todo Homebrew tiene menu. Y que mejor manera que usar una libreria para ello.

Un saludo crack. 

Imagen de Marce_82

este chodi es la caña de

este chodi es la caña de españa,jejejeje

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.