Transfert | Imagerie | Divers | Snippets
Liste des logiciels
Nom Date
SDK G85 - EasyInput
SDK G85 - Memory and Files access
SDK G85 - Easy Coding
SDK G85 - Easy grayscales
SDK G85 - GrayScreenshotLib
SDK G85 - MonochromeLib
Lua - Tile Motor
Visiteurs :
Si vous souhaitez soumettre un logiciel veuillez prendre contact avec un administrateur seuls à pouvoir ajouter des logiciels par mesure de sécurité.
Logiciels >> Snippets >> SDK G85 - MonochromeLib
SDK G85 - MonochromeLib
Ajouté par :
Pierrotll
Hors ligne
Ancien administrateur
Niveau: Élite
Points: 5488
Défis: 41
Message
Pour les calculatrices : Graph 75, 85, 95 seulement
Ajouté le : 2011-02-17 13:54
Nombre de visites de la page : 23782

Fichiers à télécharger :

¤ MonochromeLib-11-22-2011.zip 23 Ko (1682 téléchargements)

Description :

Dernière version en ligne : GitLab


MonochromeLib, qu'est ce que c'est ?
MonochromeLib est une bibliothèque de dessin pour le SDK Casio Graph 85.
Elle fournit aux développeurs des fonctions optimisées pour tracer toute sorte de choses à l'écran.
Chaque fonction de MonochromeLib est bien plus rapide que son équivalent dans fxlib.h, et elle fournit de nombreuses fonctionnalités supplémentaires.

Comment l'utiliser
Pour utiliser la bibliothèque, copiez les 2 fichiers dans le dossier de votre projet, ajoutez MonochromeLib.c à votre projet (dans la fenêtre "Files in project" dans le SDK), ajoutez #include "MonochromeLib.h" au début de votre code.
Pour n'ajouter à votre projet que les fonctions dont vous avez besoin, chaque fonction est protégée par un #ifdef, et les #define de chaque fonction sont commentés par défaut.
Pour pouvoir utiliser une fonction, il suffit d'éditer MonochromeLib.h et de décommenter les #define des fonctions que vous voulez utiliser.
/!\\ Important
Si vous rencontrez une erreur de compilation de ce type :
** L2310 (E) Undefined external symbol "_ML_pixel" referenced in "C:\\...\\CASIO\\fx-9860G SDK\\Projet\\Debug\\MonochromeLib.obj"
et que le #define de la fonction en question est bien actif dans MonochromeLib.h, alors il faut juste recompiler MonochromeLib.c
Pour cela, Utilisez la fonction Project > Rebuilt all dans le SDK. Si cela ne résoud pas le problème, supprimez le dossier Debug de votre projet, et recompilez normalement.

N'attendez plus !
Une documentation complète est maintenant fournie dans l'archive zip, en anglais et en français.

Version actuelle : 22 novembre 2011
Télécharger MonochromeLib

Commentaires :

Pages: Précédente | 1, 2, 3, 4, 5, 6, 7, 8 | Suivante

Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 9464
Défis: 130
Message
Posté le 15-03-2014 à 12:16
Version actuelle : 22 novembre 2011

Il faudrait que Pierotll nous fasse une mise à jour

@Dark Storm, Btl
Même si la bibliothèque n'est pas compatible SH4, le convertisseur de Ziqumu permet la compatibilité, non ?
Vu tout ce qui y est passé, il y a de grandes chances que ça fonctionne.
Nemhardy
Hors ligne
Membre
Niveau: Confirmé
Points: 996
Défis: 53
Message
Posté le 15-03-2014 à 12:25
Le code à ajouter pour MonochromeLib au début ne permet-il pas une compatibilité ?
Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 9464
Défis: 130
Message
Posté le 15-03-2014 à 12:29
A priori, si.
Après, je ne m'en suis jamais servi.
Lancelot
Hors ligne
Membre
Niveau: Élite
Points: 1274
Défis: 160
Message
Posté le 15-03-2014 à 13:21
compatibilité SH4
Intelligide
Hors ligne
Membre de CreativeCalc
Niveau: Vétéran
Points: 2488
Défis: 5
Message
Posté le 16-03-2014 à 11:09
void ML_Area_Hscrolling(int scroll, int y1, int y2){
    int i,j;
    char screen[128][64]={0};    

    for(j=0;j<64;j++){
        for(i=y1;i<(y2+1);i++){
            screen[i][j]=ML_pixel_test(i,j);
        }
    }
    for(j=0;j<64;j++){
        for(i=y1;i<(y2+1);i++){
            ML_pixel(i,j+scroll,screen[i][j]);
        }
    }
}


Une fonction de scrolling qui scroll horizontalement entre 2 point Y1 et Y2(en gros ça scroll une colonne)
Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 9464
Défis: 130
Message
Posté le 16-03-2014 à 11:13
Je te rappelle que ML est censée être plus rapide que fxlib
Nan j'arrête, c'est pas gentil

Je vais essayer aussi.
Intelligide
Hors ligne
Membre de CreativeCalc
Niveau: Vétéran
Points: 2488
Défis: 5
Message
Posté le 16-03-2014 à 11:15
Le code a été fait en 10 min maxi.Il peut encore être amélioré je pense
Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 9464
Défis: 130
Message
Posté le 16-03-2014 à 11:22
Voilà ce que je te propose:

Le code
void Area_HScroll(int x1, int y1, int x2, int y2, int scroll)
{
  int x,y;
  int t;

  if(x1&~127 || x2&~127 || y1&~63 || y2&~63) return;
    // On verifie que les coordonnees sont bien dans l'ecran

  if(x1>x2) { t=x2; x2=x1; x1=t; }
  if(y1>y2) { t=y2; y2=y1; y1=t; }
    // On met les coordonnees dans l'ordre

  for(x=x2+scroll ; x≠x1+scroll ; x--)
    for(y=y1 ; y≠y2 ; y++)
      ML_pixel(x,y,ML_pixel_test(x-scroll,y));
}


À noter que les fonctions ML_pixel et ML_pixel_test peuvent ne pas être appelées ; ça évite 50 appels inutiles à ML_vram_address(). Il faut déclarer le pointeur sur la vram au début du code et utiliser directement le code des deux fonctions dans la boucle.

Au passage, mon code copie les pixels qui seront écrasés après, mais ne fait rien de ceux d'origines qui n'ont pas été écrasés.
Intelligide
Hors ligne
Membre de CreativeCalc
Niveau: Vétéran
Points: 2488
Défis: 5
Message
Posté le 16-03-2014 à 16:30
ta fonction ne fonctionne pas
Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 9464
Défis: 130
Message
Posté le 16-03-2014 à 16:32
Je ne l'ai pas testée
C'est une base, après si tu veux vraiment la mettre au point, il faudrait pousser plus.
Par contre, je ne vois pas ce qui passe pas. Il manque peut-être des parenthèses dans le première condition ?

Pages: Précédente | 1, 2, 3, 4, 5, 6, 7, 8 | Suivante
Publicité et partenaires
Casio Education
Casio éducation

TI-Planet
Casiopeia
Casiopeia
CasioFan, la communauté ClassPad
CasioFan
CodeWalrus
CodeWalrus

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2015 | Il y a 76 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Rugby Manager | Jeu de basket | Jeu de handball | Jeu de tennis | Nova Raider | Réparation téléphone | Soccer Rush | Tasty Tale

Planète Casio est un site communautaire indépendant, géré bénévolement et n'est donc pas affilié à Casio | Toute reproduction de Planète Casio, même partielle, est interdite
Les fichiers, programmes et autres publications présents sur Planète Casio restent la propriété de leurs auteurs respectifs et peuvent être soumis à des licences ou des copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd