π
<-
Chat plein-écran
[^]

nGc

C, C++, ASM...

Re: nGc

Message non lude pierrotdu18 » 19 Avr 2014, 21:05

Pour la transparence, si il faut demander à toi, alors je demande à toi :p
Nan sérieusement, c'est quand même bizarre... La couche alpha serait pas au bon endroit?...

Sinon pour le trackpad, ok je vais aller voir, mais je vais me perdre, je suis débutant....

EDIT : Dsl, je comprends vraiment rien au code... J'ai vu qu'il y avait une sorte d'algo pour détecter si c'est genre 8, 4, 6 ou 2 par exemple, mais sinon je n'ai rien compris :(
Bonjour
Avatar de l’utilisateur
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 40.5%
 
Messages: 975
Inscription: 07 Nov 2013, 20:18
Localisation: Paris V
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: MP* Lycée Henri IV

Re: nGc

Message non lude pierrotdu18 » 20 Avr 2014, 11:36

J'arrête pas d'overflower la stack... :(
Si je fais avec des malloc, ça peut aller?

EDIT : Non ça marche toujours pas... J'aurais en fait voulu afficher une image de 320*240, et du coup le code TI.image est incroyablement long...
Du coup, j'ai compté le nombre de virgules dans mon code, et j'ai fait la commande suivante pour créer dynamiquement mon tableau, mais que nenni...

Code: Tout sélectionner
char *background = malloc(230421 * sizeof("0xff"));


C'est beaucoup trop grand comme variable, mais ça ne veut quand même pas dire qu'il est impossible d'afficher une image de 320*240 ? :'(
Bonjour
Avatar de l’utilisateur
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 40.5%
 
Messages: 975
Inscription: 07 Nov 2013, 20:18
Localisation: Paris V
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: MP* Lycée Henri IV

Re: nGc

Message non lude Levak » 20 Avr 2014, 13:16

J'arrête pas d'overflower la stack... :(


Non, tant que tu n'as pas fait de variable locale à une fonction on ne parle pas de stack mais de heap.
Ne mélange pas les termes.

pierrotdu18 a écrit:
Code: Tout sélectionner
char *background = malloc(230421 * sizeof("0xff"));

2 erreurs :
  • Pour pouvoir stocker 320*240 pixels en 2bpp, ça te donnera au moins 153600. Seulement, je ne comprends pas pourquoi tu ferais un malloc alors que tu disposes déjà du buffer de pixels de l'image. Tu essaierais pas d'allouer 2 fois l'image ?
  • sizeof ("0xFF") est équivalent à sizeof (char *) donc à 4 (la taille d'un pointeur) et non 1 comme tu sembles l'avoir pensé.
Malgré nos problèmes d'alpha chelous je n'ai pas de problèmes à charger une image 320*240px via notre méthode.
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
Avatar de l’utilisateur
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 98.9%
 
Messages: 6414
Images: 22
Inscription: 27 Nov 2008, 00:00
Localisation: 0x1AACC355
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: BAC+5: Epita (ING3)

Re: nGc

Message non lude pierrotdu18 » 20 Avr 2014, 13:27

Pardon excuse, je ne les connais pas les termes.

Non, en fait, lorsque je crée ma grande variable (enfin mon tableau) et que je la mets en paramètre dans mon drawImage(), l'ému affiche une espèce d'image noire et redémarre immédiatement...
(et sinon, sizeof("0xff") = 5.......)
Bonjour
Avatar de l’utilisateur
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 40.5%
 
Messages: 975
Inscription: 07 Nov 2013, 20:18
Localisation: Paris V
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: MP* Lycée Henri IV

Re: nGc

Message non lude Adriweb » 20 Avr 2014, 13:41

pierrotdu18 a écrit:et sinon, sizeof("0xff") = 5....

"0xff" est une chaîne, et ici, donné en tableau de char statique, donc sizeof te donnera la taille, donc 5 (0 x f f \0).
Pour une allocation dynamique, char* est un pointeur, et donc sur un système 32bit, 32/8 = 4 octets.

Cf. ici pour un exemple : http://codepad.org/AF7eYIZM


Bref, sinon, oui, il aurait fallu, pour une alloc dynamique de ton tableau de char, juste malloc(taille * sizeof(char)).
Mais en pratique, pas besoin, comme déjà dit, un tableau statique (non local à la fonction) suffit.
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.2%
 
Messages: 14617
Images: 1218
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: nGc

Message non lude pierrotdu18 » 20 Avr 2014, 13:55

D'accord... Mais... Je viens de lire vite fait un paragraphe sur la nSDL : gère les images externes avec un format BMP, la transparence, les polices autres que serif et sansserif...

Je crois que je vais voir comment ça marche, parce que ça serait super quand même...
Bonjour
Avatar de l’utilisateur
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 40.5%
 
Messages: 975
Inscription: 07 Nov 2013, 20:18
Localisation: Paris V
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: MP* Lycée Henri IV

Re: nGc

Message non lude Levak » 20 Avr 2014, 15:52

Tu fais comme tu veux.
Je ne peux pas t'empêcher de t'orienter vers une technologie beaucoup plus stable et répandue aujourd'hui.

nGC n'est pas voué à être intégré dans de gros projets, son origine vient de nFrame (que je n'ai pas pris le temps de publier car incomplet + passage en 3.6) où il est possible de définir des "CustomButton" dont il est possible d'implémenter le callback on.paint où on nous passe un gc déjà configuré.

Des exemples d'utilisation : nCapture et Theme Editor.
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
Avatar de l’utilisateur
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 98.9%
 
Messages: 6414
Images: 22
Inscription: 27 Nov 2008, 00:00
Localisation: 0x1AACC355
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: BAC+5: Epita (ING3)

Re: nGc

Message non lude pierrotdu18 » 20 Avr 2014, 19:01

Bon, c'est décidé, je me mets à la SDL! ;)
Je vais enfin commencer mon projet :D

Petite question : en Lua, pour gérer les screens, je mettais les bouts de code dans des listes, mais bon... Déjà en C ce n'est pas possible, puis je n'ai jamais trouvé ça très beau...
En C, si je veux gérer plusieurs screens, comment puis-je faire? J'aurais tendance à penser aux goto et lbl, mais je sais qu'il faut faire gaffe à leur utilisation...
Bonjour
Avatar de l’utilisateur
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 40.5%
 
Messages: 975
Inscription: 07 Nov 2013, 20:18
Localisation: Paris V
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: MP* Lycée Henri IV

Re: nGc

Message non lude Adriweb » 20 Avr 2014, 19:04

Je me permets de citer Levak :

(19:51:45) Levak: pierrotdu18 : je crois avoir élucidé le mystère complet à propos de drawImage
(19:52:47) Levak: en 3.1, le drawImage du Lua n'appelle pas l'API ngc mais dessine chaque pixel avec des rectangles de couleurs, c'est d'ialleurs pour ça qu'on a toujours dit que la 3.1 était lente avec les images
(19:53:49) Levak: en 3.6, la fonction drawImage de l'API ngc s'est vue rajoutée un argument, indiquant si on doit gérer ou non la transparence. Cet argument n'existant pas dans la dfinition du syscall dans Ndless, on ne peut pas le mettre à 1 pour le moment
(19:54:38) Levak: L'origine des résultats étranges vis à vis de la transparence vient du fait de l'utilisation différente de "RasterOp", une opération définissant comment mélanger les pixels d'avant avec les nouveau
(19:57:19) Levak: en 3.1, la fonction drawImage de l'API utilise RasterOp(zANDz). En 3.6, sans l'argument de transparence, il utilise RasterOp(zREPz), avec transparence, il utilise RasterOp(xNANDNx)
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.2%
 
Messages: 14617
Images: 1218
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: nGc

Message non lude Levak » 20 Avr 2014, 19:05

pierrotdu18 a écrit:Bon, c'est décidé, je me mets à la SDL! ;)
Je vais enfin commencer mon projet :D

Petite question : en Lua, pour gérer les screens, je mettais les bouts de code dans des listes, mais bon... Déjà en C ce n'est pas possible, puis je n'ai jamais trouvé ça très beau...

Pas des listes, ici, des tables. En l'occurrence, outre le fait que l'on utilisait le nom de la fonction comme indexation, c'est ce que fait le C++ avec les vtables. Donc ce n'est peut être pas très "beau" pour toi, mais c'est un principe très répandu. Dommage que tu ne l'ai pas compris et/ou aimé.

En C, si je veux gérer plusieurs screens, comment puis-je faire? J'aurais tendance à penser aux goto et lbl, mais je sais qu'il faut faire gaffe à leur utilisation...

Les goto et lbl sont à proscrire sauf en cas d’extrême malice/contrainte (temps réel). Ce sont deux mots clé qui foutent en l'air toute l'organisation du code et le rend illisible pour n'importe qui.
Dans ton cas, tu peux t'inspirer de nClock, toujours avec le même principe d'écrans et de callbacks à définir.
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
Avatar de l’utilisateur
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 98.9%
 
Messages: 6414
Images: 22
Inscription: 27 Nov 2008, 00:00
Localisation: 0x1AACC355
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: BAC+5: Epita (ING3)

PrécédenteSuivante

Retourner vers Native: Ndless, Linux, ...

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 19 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1511 utilisateurs:
>1494 invités
>12 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)