300

C'est réglable avec les touches + et -. Ca va de 1 pixels à 7 pixels mais quelque fois il y a eu des problème : en remontant le texte ne veut plus s'afficher. Mais c'est surtout avec le mode caché qui ne marche plus très bien depuis le scrolling.
(par contre bonjour la consommation des piles!)

Je ne sais pas. Mais j'ai pas mal été influencé depuis que j'ai lu la doc de TEXT WALKER et j'ai essayé de réduire au maximum la consommation des piles.
Dans tout les cas (sauf quand on appuie sur une touche) le programme se met en mode idle. A vrai dire il y a même deux modes idle. Un lorsque l'écran ne contient pas d'animation : si ce qui est affiché à l'écran n'est pas animé c'est un mode idle très efficace qui est utilisé. Il attend juste la pression d'un touche. Et il y en a un deuxième lorsque l'écran contient du texte animé : là il y a la gestion des touches et le timer qui va faire quitter le mode idle donc c'est un peu moins efficace mais ça marche quand même bien je pense.
En plus il est possible de régler la fréquences des animations avec une commande.
En ce qui concerne la consommation des piles je pense avoir fait ce qu'il fallait : tout le programme est en idle et dans le viewer je suis sûr que le programme est au moins les 3/4 du temps en idle (sauf si une touche est pressé là c'est moins efficace grin).
Tu penses que c'est suffisant où je pourrais encore faire d'autres choses pour réduire la conso des piles ? C'est clair que comparé à ton prog c'est le jour et la nuit mais j ferais le nécessaire pour la réduire au maximum donc si t'as des conseils je suis preneur. smile
Voici la fonction que j'utilise : c'est celle que m'a indiqué Kevin :
void gray_idle(void)
{
pokeIO(0x600005,0b10111);
}
www.wikio.fr/user1921&info=comments

301

Ouais, si on modifie la vitesse de scrolling dans le programme, il y a un risque que le texte ne s'affiche plus en remontant sad... il faut que ej vois comment corriger cela.
C'est bon ça marche, j'ai trouvé un truc. C'est pas une méthode très fine mais bon ça marche : on peut régler la vitesse de scrolling sans problème. smile
www.wikio.fr/user1921&info=comments

302

C'est réglable avec les touches + et -. Ca va de 1 pixels à 7 pixels mais quelque fois il y a eu des problème : en remontant le texte ne veut plus s'afficher. Mais c'est surtout avec le mode caché qui ne marche plus très bien depuis le scrolling.
Je crois voir à quel problème tu te heurtes. Si c'est ce à quoi je pense, là effectivement c'est pas gagné sad
A l'époque je m'étais "battu" avec hibou parce que je détestais son scrolling pixel par pixel qui n'était joli uniquement sur VTI, sur une vraie calc ça bavait c'était absolument abominable, sans compter qu'il était impossible de suivre quoi que ce soit car ça allait trop vite. Mais apparemment je suis le seul à ne pas aimer ce scrolling, alors je me tais scotch wink
Sinon pour la consommation de piles, tu es déjà certainement au max, surtout si tu dois gérer les anims. Et puis si on veut faire des cours qui seront affichés longtemps sur la TI, on n'a qu'à ne pas utiliser d'animation étant donné que ton prog optimise ça.
Peut-être une suggestion si tu n'y a pas encore pensé: faire un mode noir et blanc uniquement. Là on économiserait vraiment beaucoup sur les piles (au moins 20% en plus je pense)
mais j ferais le nécessaire pour la réduire au maximum donc si t'as des conseils je suis preneur.
C'est déjà très bien. Le seul truc que tu peux faire dans ton cas c'est optimiser à fond ton prog pour qu'il soit le plus rapide possible (donc le plus longtemps à se tourner les pouces) grin (je plaisante, garder un prog de basse-taille est bien mieux que gagner 1nAh sur les piles wink)
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

303

Brunni :
A l'époque je m'étais "battu" avec hibou parce que je détestais son scrolling pixel par pixel qui n'était joli uniquement sur VTI, sur une vraie calc ça bavait c'était absolument abominable, sans compter qu'il était impossible de suivre quoi que ce soit car ça allait trop vite. Mais apparemment je suis le seul à ne pas aimer ce scrolling, alors je me tais scotch wink
Et je t'ai toujours répondu qu'il y avait aussi un scrolling page par page grin (bon, il fallait appuyer sur 2 touches en même temps, mais ca pourra peut-être s'inverser avec une petite option dans hibview wink)
D'ailleurs toi aussi Raphaël tu devrais pouvoir le faire pas trop difficilement.

304

Je crois voir à quel problème tu te heurtes. Si c'est ce à quoi je pense, là effectivement c'est pas gagné.

Je ne sais pas trop comment faire... enfin je ne sais pas trop comment faire mais je pense que c'est possible : pour l'instant je n'arrive pas à réfléchir. grin
A l'époque je m'étais "battu" avec hibou parce que je détestais son scrolling pixel par pixel qui n'était joli uniquement sur VTI, sur une vraie calc ça bavait c'était absolument abominable

Je suis tout à fait d'accord. Mais depuis l'introduction d'images je n'ai pas eu le choix ! Avant on pouvait se déplacer de ligne en ligne
. Déjà pour le texte c'était moche parce-que c'était trop variable. Surtout s'il y avait plusieurs font. Avec l'arrivée des images ça a été impossible à laisser ! Le scrolling c'est juste pour que ça soit plus agréable et surtout plus précis mais en se déplaçant le scrolling ne va pas pour le texte... pour les images ça va mieux quand même.
Mais apparemment je suis le seul à ne pas aimer ce scrolling, alors je me tais

Je sais pas, fais un sondage ! wink
J'ai préféré choisir un scrolling au pages fixe parce-que je ne voulais pas choisir une solution de facilité...sinon ça m'aurait quand même démangé de le faire. grin
Et puis si on veut faire des cours qui seront affichés longtemps sur la TI, on n'a qu'à ne pas utiliser d'animation étant donné que ton prog optimise ça.

Oui tout à fait. Le tout c'est qu'il n'y ait pas de texte animé à l'écran au moment ou l'on ne veut pas que ça consomme trop.
Peut-être une suggestion si tu n'y a pas encore pensé: faire un mode noir et blanc uniquement.

grin Bien sûr que si ! Mais j'ai choisi les niveaux de gris pour faire quelque chose de nouveaux. Des viewer en noir et blanc il y en a déjà pas mal.
Mais pour réduire encore la conso des piles, j'avais fait un mode un peu spécial : lorsque l'on appuyait sur une touche, les niveaux de gris s'éteignait et le programme tournait en idle jusqu'à ce que l'on rappuie sur la touche !
Seulement après on ne voyait plus le gris clair et puis on ne pouvait plus scroller...
www.wikio.fr/user1921&info=comments

305

D'ailleurs toi aussi Raphaël tu devrais pouvoir le faire pas trop difficilement.

Au début je n'avais pas vu qu'Hibview le faisai et puis il y a deux trois jours j'ai découvert ce truc et c'est vraiment sympa.
Et surtout de pouvoir allez directement à la fin du texte. Je ne sais pas comment je peux faire ça mais bon je vais réfléchir.

A au fait hibou je voulais savoir comment tu faisait pour le scrolling (enfin je pourrais regarder dans les sources) :
Tu précalcule la hauteur du texte avant de l'afficher en fonction de la taille de la fonte ou tu fait ça en temps réel lors de la lecture. Moi je fais la deuxième solution pour ne pas alourdir le parsing et pas bouffer trop de place non plus mais c'est pas l'idéal surtout avec tout les paramètres qu'il faut gérer ensemble. Ce que j'ai fait est assez tordu d'ailleurs parce-que je vais un calcul exprès pour déterminer la hauteur de la ligne précédente lorsque l'on scroll de bas en haut.

Donc je ne peux pas calculer comme ça ou ils faut que je commence à afficher dans le tableau car je ne connais pas la hauteur des lignes suivante ou précédente à l'avance.
www.wikio.fr/user1921&info=comments

306

Raphaël :
Au début je n'avais pas vu qu'Hibview le faisai et puis il y a deux trois jours j'ai découvert ce truc et c'est vraiment sympa.
Et surtout de pouvoir allez directement à la fin du texte. Je ne sais pas comment je peux faire ça mais bon je vais réfléchir.

A au fait hibou je voulais savoir comment tu faisait pour le scrolling (enfin je pourrais regarder dans les sources) :
Tu précalcule la hauteur du texte avant de l'afficher en fonction de la taille de la fonte ou tu fait ça en temps réel lors de la lecture. Moi je fais la deuxième solution pour ne pas alourdir le parsing et pas bouffer trop de place non plus mais c'est pas l'idéal surtout avec tout les paramètres qu'il faut gérer ensemble. Ce que j'ai fait est assez tordu d'ailleurs parce-que je vais un calcul exprès pour déterminer la hauteur de la ligne précédente lorsque l'on scroll de bas en haut.
Donc je ne peux pas calculer comme ça ou ils faut que je commence à afficher dans le tableau car je ne connais pas la hauteur des lignes suivante ou précédente à l'avance.

voila un partie de mes problème que j'ai eu à mes débuts sur hibtext ! grin
Mais, si j'ai bien compris ta syntaxe, nous n'avons pas les même contraintes.
Mon problème, c'est que la fonte change à chaque #1, #2 ou #3. Mais c'est juste un changement. Donc, si je scroll pour remonter le texte, je dois parser "à l'envers" en remontant le code. Le problème est qu'il m'est impossible de connaitre la font avant une balise #1 à part à remonter tout le texte.
J'ai tourné le problème dans tous les sens, on peut pas s'entirer sans connaitre le format de chaque ligne à l'avance !
Donc je me suis dit, tant qu'a stocker et à parser tous les formats de tout le texte au chargement, autant garder en mémoire la hauteur de chaque ligne.

Et une fois ayant les hauteurs de toutes les lignes, le page par page est tres facile, et pour aller directement à la fin du texte aussi.

307

Et une fois ayant les hauteurs de toutes les lignes, le page par page est tres facile, et pour aller directement à la fin du texte aussi.

Ouais en fait tu utilise la première solution : tu enregistre les hauteur à l'avance.
www.wikio.fr/user1921&info=comments

308

En fait vous pré-analysez votre texte. Perso je ne faisais pas ça. Ca a l'avantage d'être plus rapide, ne pas avoir de temps de chargement et ne pas consommer de mémoire supplémentaire. Par contre les gros désavantages c'est qu'il n'est pas possible de faire du centrage (horizontal et vertical) ou l'alignement à droite, justifié, etc.
Sinon le scrolling page par page, bon je suis d'accord que c'est la solution de simplicité grin
Mais bon ça consomme peu de mémoire (Text walker en demande beaucoup à cause des macros et compagnie, surtout si une macro est redéfinie de page en page, ou qu'une page est sautée à l'intérieur d'une macro, etc. ça vient vite compliqué alors faut sauver pas mal de paramètres -> ligne par ligne aurait été plus ou moins impossible wink)
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

309

Raphaël
Ouais en fait tu utilise la première solution : tu enregistre les hauteur à l'avance.
oui, mais c'est pas à cause du page par page, mais à cause de la syntaxe particulière de Txtrider/hibtext/hibview
Tu peux très bien t'en tirer en parsant à chaque fois la ligne que tu fais défiler. Pour le page par page, ben faudra que tu parse plusieurs lignes jusqu'a totalité une hauteur de page. Une remarque, pour le page par page tu n'a pas besoin d'autant de vitesse que en scrolling pur : il faut impérativement une petite pause entre deux défilements de page, sinon, l'utilisateur ne saura pas ou il en est. Donc parser toutes les lignes d'un page peut passer. Enfin, je dis ca, mais je sais pas trop tu gère cette notion de ligne d'écran. tongue
Brunni
: En fait vous pré-analysez votre texte. Perso je ne faisais pas ça. Ca a l'avantage d'être plus rapide, ne pas avoir de temps de chargement et ne pas consommer de mémoire supplémentaire. Par contre les gros désavantages c'est qu'il n'est pas possible de faire du centrage (horizontal et vertical) ou l'alignement à droite, justifié, etc.
si, je pense que c'est possible. Je ne connais pas le détail de vos algos, mais avant d'afficher une ligne, vous pouvez surement vous démerder pour étudier/parser cette ligne et donc d'en étudier les dimensions et ainsi agir en consequence.

310

Au fait est-ce que quelqu'un peut me dire ce qu'il y a de plus rapide entre une fonction en stkparm et une fonction en regparm ?
et si la différence est importante aussi ?
www.wikio.fr/user1921&info=comments

311

regparm
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

312

Ok, merci smile
www.wikio.fr/user1921&info=comments

313

La différence n'est pas très importante.
Mais il faut faire attention, une fonction __regparm__ qui reçoit beaucoup de paramètres risque d'empêcher GCC de faire certaines optimisations.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

314

si, je pense que c'est possible. Je ne connais pas le détail de vos algos, mais avant d'afficher une ligne, vous pouvez surement vous démerder pour étudier/parser cette ligne et donc d'en étudier les dimensions et ainsi agir en consequence.
Il me semblait que tu faisais comme ça toi?
Sinon dans le cas de Text Walker il me semble qu'il soit impossible de le faire avec un scrolling. Imaginons que le gars dessine un rectangle, de 200 de hauteur. Si on va tout en bas du texte puis qu'on remonte, on ne va pas aller chercher 200 pixels plus haut que le haut de la page pour voir s'il y aurait éventuellement un rectangle à dessiner...
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

315

Brunni
:
si, je pense que c'est possible. Je ne connais pas le détail de vos algos, mais avant d'afficher une ligne, vous pouvez surement vous démerder pour étudier/parser cette ligne et donc d'en étudier les dimensions et ainsi agir en consequence.
Il me semblait que tu faisais comme ça toi?
l'étude, je la fais en fait en une seule fois au chargement du texte, pas quand on scroll, pour les raisons que j'ai évoqué précédement.
Sinon dans le cas de Text Walker il me semble qu'il soit impossible de le faire avec un scrolling. Imaginons que le gars dessine un rectangle, de 200 de hauteur. Si on va tout en bas du texte puis qu'on remonte, on ne va pas aller chercher 200 pixels plus haut que le haut de la page pour voir s'il y aurait éventuellement un rectangle à dessiner...
Je sais pas trop à quoi correspond ton rectangle, comment tu gère ca.
Si tu as une notion de "ligne de texte d'écran", tu peut faire du scrolling. Si les "objets" (textes, image, rectangle) peuvent s'imbriquer n'importe comment, alors la c'est vraiment plus cho. Mais pas impossible, rien n'est impossible en informatique ! grin

316

Disons que les objets (rectangles, images, etc.) sont bien dessinées sur des lignes particulières, cependant ils peuvent être bien plus grands que la ligne elle-même. Avec text walker, je peux par exemple dessiner un rectangle, y placer une fenêtre et écrire mon texte qui sera sur plusieurs lignes. Là je ne vois absolument pas comment faire...
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

317

Sinon dans le cas de Text Walker il me semble qu'il soit impossible de le faire avec un scrolling. Imaginons que le gars dessine un rectangle, de 200 de hauteur. Si on va tout en bas du texte puis qu'on remonte, on ne va pas aller chercher 200 pixels plus haut que le haut de la page pour voir s'il y aurait éventuellement un rectangle à dessiner...

Pourquoi ça serait impossible ? Si tu réalise un parsing avant d'afficher ton texte, que tu place tes éléments (texte,image...) et leurs paramètres après ça n'est pas compliqué ! ... Enfin si la preuve ça va bientôt faire 4 jours que je suis à fond sur le scrolling. grin
En fait, moi je pars de la chaîne qui est au sommet de l'écran. Pour descendre je réalise un scrolling pixels par pixels (enfi c'est variable). Si le bas de l'éléments (texte, image...) sort de l'écran je passe à la chaîne d'en dessous d'en le tableau. Ensuite il faut calculer à partir d'où il faut afficher cette chaîne pour réaliser une transition correcte et je remte la variable du scrolling à 0.
Pour remonter, en fait c'est plus compliqué : je regarde si lorsqu'on appuie sur la touche UP, le sommet de l'éléments se trouve entre 0 et la vitesse de scrolling. Si c'est le cas c'est qu'il y a de la place pour afficher un nouvelle éléments qui sera évidement en dehors de l'écran. Je décrémente la position dans le tableau.
Là je regarde sa hauteur pour savoir où l'afficher : si c'est un rectangle qui fait 200 pixels il va être affiché à -200 (ou même plus suivant la vitesse de scrolling). Evidement il faut qu'il soit clipée.
Je ne sais pas si c'est la meilleure méthode parce-que ce que j'ai fait est assez compliqué mais ça marche plutôt bien.
www.wikio.fr/user1921&info=comments

318

Avec text walker, je peux par exemple dessiner un rectangle, y placer une fenêtre et écrire mon texte qui sera sur plusieurs lignes. Là je ne vois absolument pas comment faire...

Ah ouais là c'est plus chaud !
Je crois qu'il faut t'occuper du rectangle (lorsqu'il est dans l'écran ou même à moitié) et après tu t'occupe de regarder pour chaque éléments s'ils peuvent être affiché ou non.
Mais il faudrait que le rectangle soit une structure et qu'il contiennent les éléments à afficher.
www.wikio.fr/user1921&info=comments

319

Je crois qu'il faut t'occuper du rectangle (lorsqu'il est dans l'écran ou même à moitié) et après tu t'occupe de regarder pour chaque éléments s'ils peuvent être affiché ou non.
C'est pas si simple. Et déjà comment savoir que le rectangle se trouve à moitié dans l'écran s'il est peut-être défini 500 pixels plus haut que la page affichée?
après tu t'occupe de regarder pour chaque éléments s'ils peuvent être affiché ou non.
Ta solution est valable. Mais je n'implémenterai certainement pas ça (en plus si on imagine que le gars place 100 ou même 1000 objets dans son texte, ça va ramer comme pas possible). Ma méthode, bien qu'elle soit limitée, ne consomme pas un octet de plus, ni de moins, et ce quel que soit le texte qu'il a à afficher.
(et je ne vous parle pas des possibilités de déplacer le curseur, là on n'est plus du tout en "ligne par ligne")
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

320

C'est pas si simple. Et déjà comment savoir que le rectangle se trouve à moitié dans l'écran s'il est peut-être défini 500 pixels plus haut que la page affichée?

En parsant le fichier avant. Et là il faudra résonner en therme de ligne dans un tableau. Le rectangle devra occuper une ligne dans le tableau où tu stocke le texte, les image... et il faudra que tu stocke la hauteur du tableau.
En fait il suffit de regarder dans le tableau la ligne précédante et l'afficher en fonction de sa taille.
Enfin c'est dur à expliquer... moi mêmej'ai dû mal à voir comment faire : je en comprends déjà pas grand chose à ce que je fais grin

Sinon le mode ccahé marche enfin de nouveau avec le scrolling ! Il sera donc toujours possible de décacher du texte avec la touche DIAMOND en "temps réel" dans le viewer.
Et l'explorateur XML ne pose plus non plus de problème lors de l'affichage du texte contenu dans les balises ! smile
www.wikio.fr/user1921&info=comments

321

Raphaël
: En parsant le fichier avant.[....]
effectivement, en parsant avant, on peut toujours se débrouiller. Mais Brunni a choisi de faire de l'économie de mémoire et de ne pas avoir de temps de chargement. Sous ces conditions, ca semble impossible.
Sinon le mode ccahé marche enfin de nouveau avec le scrolling ! Il sera donc toujours possible de décacher du texte avec la touche DIAMOND en "temps réel" dans le viewer.
Et l'explorateur XML ne pose plus non plus de problème lors de l'affichage du texte contenu dans les balises ! smile
un mode caché ?!?
remarque pourquoi pas smile
d'ailleurs tu me donne des idées.....héhé wink

322

un mode caché ?!?
remarque pourquoi pas d'ailleurs tu me donne des idées.....héhé

Par contre, c'est pas gagner pour ton viewer d'après ce que j'ai compris, non ? ... Vu que tu fait le calcul avant le parsing ?
Enfin non, en fait. Quand le texte est caché il suffit de passer à la ligne suivante ou précédente suivant le sens dans lequel du scroll et le tour est joué.
Sauf que si le texte est caché à la première ligne ou à la dernière ça pose un problème supplémentaire.
J'ai déjà résolu le premier (par miracle grin wink) et il faudra que je m'occupe du suivant.


www.wikio.fr/user1921&info=comments

323

effectivement, en parsant avant, on peut toujours se débrouiller. Mais Brunni a choisi de faire de l'économie de mémoire et de ne pas avoir de temps de chargement. Sous ces conditions, ca semble impossible.

Si, si c'est possible mais il faut qu'il fasse l'étape du parsing dans le viewer. D'ailleurs, pour mon programme, presque tout est fait dans le viewer. Le parsing récupère juste les paramètres ou mode de formatage, remplit le tableau avec les lignes de texte (en fonction des marges, de la taille de la fonte) et les pointeurs vers les images.... Il y a aussi la création d'un arbre XML lorsque le fichier contient du XML.
Sinon pour la hauteur du texte ou des images c'est calulé en temps réel dans le viewer. Ca prend sûrement moins de place que de tout faire dans le parsing.
www.wikio.fr/user1921&info=comments

324

Raphaël :
Par contre, c'est pas gagner pour ton viewer d'après ce que j'ai compris, non ? ... Vu que tu fait le calcul avant le parsing ?
Enfin non, en fait. Quand le texte est caché il suffit de passer à la ligne suivante ou précédente suivant le sens dans lequel du scroll et le tour est joué.
Sauf que si le texte est caché à la première ligne ou à la dernière ça pose un problème supplémentaire.
J'ai déjà résolu le premier (par miracle grin wink) et il faudra que je m'occupe du suivant.
j'ai d'autres idées ou il n'y aurait pas ce deuxième pb.... tongue
Si, si c'est possible mais il faut qu'il fasse l'étape du parsing dans le viewer.
ce n'est pas forcément vrai, car on ne connait pas forcément les "objets" qui peuvent être juste au dessus, a part en parsant depuis le début du texte. Imagine un rectangle qui fait 500 pixels à partir du début du texte. Si tu es juste en dessous et que tu veux remonter, il faudrait que tu sache qu'il faut que tu remonte jusqu'aux début du texte. Mais si tu fais tes calculs dans le viewer, tu ne le sait pas. Donc ce serait vraiment trop lourd de tout parser à chaque fois
Ta syntaxe permets se genre de chose, car chaque objet est délimité par ta syntaxe.
La syntaxe de txtrider/hibview oblige de parser le texte entierement avant de l'afficher, que ce soit du simple scrolling ou du page/page.
Et la syntaxe que txtwalker permettant des formatages plus évolués, le scrolling devient trop compliqué.

325

La syntaxe de txtrider/hibview oblige de parser le texte entierement avant de l'afficher, que ce soit du simple scrolling ou du page/page. Et la syntaxe que txtwalker permettant des formatages plus évolués, le scrolling devient trop compliqué.

Tandis que le mien traite le texte ligne par ligne... parce-que dans Hibview chaque caractère possède ses prpopres paramètres d'après ce que j'ai compris ?
Avec FTL Parser il est impossible de mettre en gras en en italique un seul mot : d'ailleurs il ne supporte ces deux modes de formatages grin
www.wikio.fr/user1921&info=comments

326

la syntaxe de hibview est encore plus chiante pour le parsing. Comme je disais:
hibou :
Mon problème, c'est que la fonte change à chaque #1, #2 ou #3. Mais c'est juste un changement. Donc, si je scroll pour remonter le texte, je dois parser "à l'envers" en remontant le code. Le problème est qu'il m'est impossible de connaitre la font avant une balise #1 à part à remonter tout le texte. J'ai tourné le problème dans tous les sens, on peut pas s'entirer sans connaitre le format de chaque ligne à l'avance !

donc de toute facon, je suis obliger de tout parser d'un coup

327

De toute façon ça ne prend pas tant de RAM que ça de tout pré-parser, si on ne stocke pas les données obtenues à _chaque_ ligne (perso je le faisais toutes les 4 lignes, je crois). J'ai fait ça parce que je me suis dit que ça m'éviterait les emmerdes d'une fonction "remonter d'une ligne" (très lourd parce qu'elle doit gérer tous les styles -> tout reprogrammer, et en plus ça risque d'être moche avec le wordwrap)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

328

J'ai fait ça parce que je me suis dit que ça m'éviterait les emmerdes d'une fonction "remonter d'une ligne" (très lourd parce qu'elle doit gérer tous les styles -> tout reprogrammer, et en plus ça risque d'être moche avec le wordwrap)

C'est ce que j'ai fait ! grin
www.wikio.fr/user1921&info=comments

329

Je suis entrain d'essayer de coder une routine de PutBitmap pour voir si ça vaut le coup par rapport à celle de la Rom.
alors j'ai commencé à faire quelque chose (de merdique c'est vrai) et en plus c'est buggé.
En fait la routine affiche de unsigned char en unsigned char sans se soucier si il y en a un qui est entre deux lignes (si j'ai bien compris le principe des PIC ?).
Du coup sa affiche quelque chose de un peu tordu. sad
Est-ce que quelqu'un pourrait me dire si je suis dans le droit chemin et ec qu'il y a à faire pour afficher correctement l'image.
Parce-que je n'ai pas encore trouver de routines en C pour afficher une image : je suis partis d'un put_pixel.
Bon et puis après pour le clipping je pense que ça ne va pas être trop compliqué... enfin j'espère. grin
__attribute__((regparm))void PutBitmap(short x, short y,unsigned char *pic,unsigned char *video_plane)
{
	
  short i=0,j=0;
  short nb_l=pic[1];
  short nb_c=pic[3];
  *pic=+4;
  while(j<nb_l)
  {
        short y_offset = (y<<8)-(y<<4);
        short x_pic = x;
        short i=0;
        while(i<nb_c)
        {
  	       *(video_plane+((y_offset + x_pic) >> 3))|=*(pic++);
  	       x_pic=x_pic+8;
               i=i+8;
  
        }
       y++;
       j++;
  }
}


EDIT : mince ! Quel Blaireaux ! c'est pic=pic+4.
Finalement c'est pas si compliqué. smile Et même en C mal codé elle est 4-5 fois plus rapide que celle de l'AMS !
Et est-ce qu'il est possible d'utiliser des long à la place des char ?
Par contre pour le clipping je ne sais pas du tout commment faire.
www.wikio.fr/user1921&info=comments

330

[un peu HS]J'ai lu quelques posts plus haut que tu avais un problème avec le texte caché. Perso j'avais fait un lecteur qui fonctionnait ligne par ligne (comme le votre) et j'avais une petite astuce. Dans l'en-tête de chaque ligne on a:
Position x, fonte, gras, italique, soulignement, couleur, hauteur
Si on veut changer de format en cours de ligne (ou insérer une expression, une image, etc.) il suffit de mettre sa hauteur à 0, ainsi le lecteur continuera sur la ligne d'en-dessous en utilisant la position x précalculée (ce qui est utile pour revenir en arrière).
Et là où ça a un rapport avec le sujet (eh oui!) c'est que si seul un bout de la ligne est cachée, il suffit de lui donner une ligne supplémentaire avec l'attribut caché. Normalement il n'y aurait aucun problème (une ligne avec caché=1 est carrément sautée, où qu'elle soit)... Parce que tu utilises quelle méthode pour le moment Raphaël?[un peu HS]
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741