π
<-

nGc

C, C++, ASM...

Re: nGc

Unread postby pierrotdu18 » 19 Apr 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
User avatar
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 40.5%
 
Posts: 975
Joined: 07 Nov 2013, 20:18
Location: Paris V
Gender: Male
Calculator(s):
MyCalcs profile
Class: MP* Lycée Henri IV

Re: nGc

Unread postby pierrotdu18 » 20 Apr 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: Select all
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
User avatar
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 40.5%
 
Posts: 975
Joined: 07 Nov 2013, 20:18
Location: Paris V
Gender: Male
Calculator(s):
MyCalcs profile
Class: MP* Lycée Henri IV

Re: nGc

Unread postby Levak » 20 Apr 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 wrote:
Code: Select all
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
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: nGc

Unread postby pierrotdu18 » 20 Apr 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
User avatar
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 40.5%
 
Posts: 975
Joined: 07 Nov 2013, 20:18
Location: Paris V
Gender: Male
Calculator(s):
MyCalcs profile
Class: MP* Lycée Henri IV

Re: nGc

Unread postby Adriweb » 20 Apr 2014, 13:41

pierrotdu18 wrote: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.

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...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 82.2%
 
Posts: 14896
Images: 1211
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: nGc

Unread postby pierrotdu18 » 20 Apr 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
User avatar
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 40.5%
 
Posts: 975
Joined: 07 Nov 2013, 20:18
Location: Paris V
Gender: Male
Calculator(s):
MyCalcs profile
Class: MP* Lycée Henri IV

Re: nGc

Unread postby Levak » 20 Apr 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
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: nGc

Unread postby pierrotdu18 » 20 Apr 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
User avatar
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 40.5%
 
Posts: 975
Joined: 07 Nov 2013, 20:18
Location: Paris V
Gender: Male
Calculator(s):
MyCalcs profile
Class: MP* Lycée Henri IV

Re: nGc

Unread postby Adriweb » 20 Apr 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)

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...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 82.2%
 
Posts: 14896
Images: 1211
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: nGc

Unread postby Levak » 20 Apr 2014, 19:05

pierrotdu18 wrote: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
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

PreviousNext

Return to Native: Ndless, Linux, ...

Who is online

Users browsing this forum: No registered users and 7 guests

-
Search
-
Social TI-Planet
-
Featured topics
Ndless for CX 4.5.5 / CX II 6.2.0
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
4280 utilisateurs:
>4253 invités
>20 membres
>7 robots
Record simultané (sur 6 mois):
43991 utilisateurs (le 10/09/2025)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)