Posté le 26/03/2014 18:58
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 148 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd
Citer : Posté le 22/09/2014 06:27 | # | Fichier joint
Pour tout ce qui est schémas dans les cours, par exemple. Bien souvent, un document sans image c'est moins attirant.
Mais du coup on a le problème du stockage... ben oui, on va pas mettre 36 fichiers pour la page web.
Enfin, j'ai plus ou moins résolu le problème depuis un certain temps déjà, donc ça va de ce côté-là.
Citer : Posté le 22/09/2014 07:07 | #
Avec un bord blanc pour se detachrr ou pas ?
Je suis de l'autre coté de la manche maintenant. Yay.
Citer : Posté le 22/09/2014 13:36 | #
Pour tout ce qui est schémas dans les cours, par exemple. Bien souvent, un document sans image c'est moins attirant.
Mais du coup on a le problème du stockage... ben oui, on va pas mettre 36 fichiers pour la page web.
Enfin, j'ai plus ou moins résolu le problème depuis un certain temps déjà, donc ça va de ce côté-là.
est-ce qu'un format d'image vectorielles ne ferait pas l'affaire si c'est plus pour des schémas ?
Coïncidence ? Je ne pense pas.
Citer : Posté le 22/09/2014 13:44 | #
Non car ce serait beaucoup trop lourd. Sur un écran si petit, c'est beaucoup plus rentable de faire du matriciel.
Et puis, je veux qu'on puisse faire tout avec ces pages html, des cours, des docs, etc...
Ajouté le 22/09/2014 à 19:19 :
J'ai mis à jour le post principal.
Ajouté le 22/11/2014 à 10:42 :
Le moteur d'affichage étant vraiment, vraiment pas évolué du tout, je vais le réécrire du début (en fait, on peut dire que je l'écris tout court...).
Pour m'adapter à tous les cas de figure, il faut que je fasse des tests avec un grand nombre de propriétés mais ce serait compliqué de les faire varier dans le programme, pour chaque élément de la page... du coup il serait plus facile d'implémenter le CSS, mais j'ai un problème : stocker toutes les règles serait très consommateur de mémoire.
J'ai donc eu une idée : soit inclure les stylesheets à la fin, soit ne les lire qu'à la fin, et appliquer directement toutes les règles lues aux éléments concernés.
Conséquence : ça rend plus facile l'héritage de propriétés et plus difficile la gestion de la priorité des sélecteurs.
Au cas où, imaginez-vous possible de se passer de niveau de priorité des sélecteurs CSS ?
Citer : Posté le 22/11/2014 11:02 | #
Le niveau de priorité est pas forcément important, ce qui est important c'est de ne pas pouvoir sélectionner les lignes à gauches si t'arrive à les implanter !
Citer : Posté le 22/11/2014 11:19 | #
Je trouve le niveau de priorité super important mais ton projet serait super même sans.
Pong400
PierrePaCiseaux (CP400)
Les Triangles
Menu
ASCII
Nombres premiers
Citer : Posté le 22/11/2014 11:25 | #
[...] ce qui est important c'est de ne pas pouvoir sélectionner les lignes à gauches [...]
Les lignes à gauche ?
si t'arrive à les implanter !
Les implémenter.
Enfin, je suppose.
Je trouve le niveau de priorité super important mais ton projet serait super même sans.
Je dis pas que ce serait impossible, en fait j'ai déjà plusieurs idées d'implémentation mais elles ne sont pas sûres. Déjà les sélecteurs... :3
Disons que si j'applique les propriétés comme je l'ai expliqué, ça va être dur au niveau hover etc...
Ou alors je ne stocke en mémoire que ces styles-là.
Ajouté le 22/11/2014 à 15:05 :
Au fait, je viens de regarder la taille de l'application : 38 ko. Avec le TeX qui en fait environ 32 (à nuancer, il y a une partie de fxlib en double dedans), je pense qu'il faudra compter autour de 100 pour un moteur complet -- ça me paraît raisonnable, j'avais craint plus.
Ajouté le 22/11/2014 à 17:10 :
Le parser CSS me paraît plus que raisonnable pour l'utilisation que je veux en faire.
html
{
margin: 2;
}
body h1
{
border-size: 1;
border-color: black;
background: linear-gradient(bottom,#ffffff,#e5e5e5);
}
#id > a:visited
{
color: white;
}
#id, h2.class:nth-child(odd):hover
{
background: red;
}
~~ \\crd0\page.css
~~ "html"
"margin" : "2"
~~ "body h1"
"border-size" : "1"
"border-color" : "black"
"background" : "linear-gradient(bottom,#ffffff,#e5e5e5)"
~~ "#id > a:visited"
"color" : "white"
~~ "#id, h2.class:nth-child(odd):hover"
"background" : "red"
Oui j'ai complètement abusé sur les sélecteurs et ne faites pas attention au linear-gradient qui n'existera jamais, c'était des tests.
Ajouté le 23/11/2014 à 11:54 :
Ok, mon interpréteur CSS gère maintenant la sélection avec les formats suivants :
Pour ceux qui ça intéresse, voici les fichiers avec lesquels j'ai fait les tests.
HTML - CSS - log
Citer : Posté le 23/11/2014 19:08 | #
Ce serait possible de gérer les :hover et autres ?
Pong400
PierrePaCiseaux (CP400)
Les Triangles
Menu
ASCII
Nombres premiers
Citer : Posté le 23/11/2014 19:37 | #
Ce serait possible de gérer les :hover et autres ?
Pour être franc, je ne pense pas.
Il faudrait stocker les règles car je ne peux pas les appliquer instantanément, et déjà rien que ça ce serait le bordel. Je viens de penser à un moyen intelligent de le faire mais ça reste moche.
En plus il faut gérer le curseur, etc., et les events sinon ça sert à rien. Il faudrait pouvoir appeler du callback sur un clic, bref toute une galère.
Si j'ai la mémoire et la puissance je regarderai les events mais en toute franchise c'est peu probable qu'on puisse mettre du CSS dessus.
Citer : Posté le 23/11/2014 20:52 | #
Ok pas grave.
Pong400
PierrePaCiseaux (CP400)
Les Triangles
Menu
ASCII
Nombres premiers
Citer : Posté le 23/11/2014 21:21 | #
J'ai une dernière bonne nouvelle : le moteur ne comporte pour l'instant pas le moindre bug tant que le code HTML/CSS est correct.
Le seul que j'aie trouvé, c'est lorsqu'on quitte l'application, l'émulateur plante si on en lance une autre : exception CPU. Vous le connaissez aussi et il est dangereux, car il peut provoquer un reset du processeur sur la machine (style un écran rapide avec un trait noir horizontal ou plus rarement vertical, puis reboot comme souvent sur SH4 ou niveaux de gris).
Il est dû à un problème très simple : quitter sur un IsKeyDown(). Pourquoi, je ne sais pas. En tous cas, utiliser GetKey() résoud le problème.
Ah oui, j'ai 100% de compatibilité SH4 aussi.
Ajouté le 31/12/2014 à 11:45 :
Ok, alors j'ai bien avancé sur le projet.
J'ai écrit une fonction qui calcule récursivement la taille de chaque division. Pour l'instant elle ne fonctionne que pour les block... mais elle fonctionne très bien.
Je peux aussi calculer la taille des divisions qui contiennent du texte (imprtant...) et les afficher, de même que tous les block.
Il n'y a pas de stylesheet interne au moteur par défaut, donc tous les h1-h6, p, etc. sont identiques. Je verrai plus tard, mais c'est possible que je mette plutôt un fichier CSS dans les données. Je verrai juste s'il n'est pas trop gros.
Voilà donc la liste des propriétés CSS actuellement supportées et utilisées :
→ display (uniquement "block") ;
→ margin ;
→ border ;
→ padding ;
→ font-family (5 polices différentes, tourne avec la libText) ;
→ maxWidth et maxHeight en théorie, le premier vu qu'il n'a aucun effet sur les block et le second parce que je n'ai pas encore implémenté le scrolling dans les divisions et que je n'ai pas fait de tests.
Je précise que j'ai pas encore implémenté de raccourcis pour margin, border et padding. Le scrolling existe mais juste sur toute la page. Le html fait maximum 127 pixels car il faut mettre la scrollbar (si le document passe dans 64px elle est pas dessiné). Dans l'exemple, il y a un pixel de margin-right au body.
Bon, on devrait bientôt avoir quelque chose d'utilisable...
Citer : Posté le 31/12/2014 11:46 | #
Génial
Citer : Posté le 31/12/2014 11:49 | #
Vraiment cool
Citer : Posté le 31/12/2014 11:50 | #
Bravo, content de voir que ton projet avance C'est quoi la plus petite taille de police qui serra disponible ?
Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
Tableau de variations
Equations Diophantiennes
Conversion d'un nombre décimal en fraction
Citer : Posté le 31/12/2014 11:53 | #
La plus petite police c'est du 3*5. J'ai repris celle du système (Text en Basic), mais la version éditée (pour être plus "régulière") n'est pas tout à fait à mon goût, donc je la rééditerai sans doute.
Citer : Posté le 31/12/2014 12:34 | #
Super je trouve qu'avoir une petite police est indispensable sinon on est obligé de scroller tout le temps et c'est pas du tout pratique !! Quand tu dis rééditer, tu veux dire modifier la police ?
Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
Tableau de variations
Equations Diophantiennes
Conversion d'un nombre décimal en fraction
Citer : Posté le 31/12/2014 13:42 | #
Yep, elle est pas encore tout à fait assez lisible et régulière.
Citer : Posté le 31/12/2014 13:53 | #
Si tu veux je pourrais te donner (quand tu auras et quand j'aurais fini) mes eActivities de maths (regroupent cours et formules (de 1èreS, TS, spé maths et au-delà) de manière lisible, claire et succincte) pour faire un fichier cours (un peu comme "Formel" de CASIO Allemagne) ... dis moi si ça te tentes
Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
Tableau de variations
Equations Diophantiennes
Conversion d'un nombre décimal en fraction
Citer : Posté le 31/12/2014 14:22 | #
Si ça me tente ? C'est prévu
Sinon je veux bien tes synthèses, je complèterais alors avec mon cours pour couvrir un maximum d'informations.
Citer : Posté le 31/12/2014 14:55 | #
En fait jai jamais rien comptis a ce projet : tu veux fairr un interpreteur de html/css sur la calto omg ? Ceci permettrait de faire des jeux comme avec le basic ?
-Mon Fall Down
-Mon jeu de mains
-Mon starwars
-Mon dessinatout
-Mon niaiseux version 2.0
-Mon niaiseux version 3.0
-Inferno
-Mon super labyrinthe (en cours)
-Mon call of duty en 3D
-Casion (avec Az)
Citer : Posté le 31/12/2014 14:58 | #
C'est pas tout à fait ça.
HTML est un langage qui permet de décrire la structure des documents : c'est lui qui est utilisé pour écrire des page web ("là, un en-tête, ensuite un gros titre, un tableau, le tout contenu dans un même bloc...").
CSS permet de décrire le style du document : il permet de mettre en forme les éléments ("le bloc va ici, le tableau a un fond bleu clair avec une bordure grise de 2 pixels de large...").
WebCalc est un programme qui permet de lire des documents écrits avec HTML et CSS, parce que ce sont deux langages de référence, et de les afficher. En d'autres termes, il permet d'afficher des pages web simples.
Tu vois mieux maintenant ?