Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.
Menu
Liste des logiciels
Nom Date
Libs Python Graph 35+E II et Graph 90+E
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 :
PierrotllHors ligneAncien administrateurPoints: 5488 Défis: 41 Message
Pour les calculatrices : Graph 35+ USB, 35+E, 75, 75+, 75+E
Ajouté le : 2011-02-17 13:54
Nombre de visites de la page : 55795

Fichiers à télécharger :

¤ MonochromeLib-11-22-2011.zip 24 Ko (3881 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, 9 | Suivante

LephenixnoirEn ligneAdministrateurPoints: 24235 Défis: 170 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.
NemhardyHors ligneGrand maître des Traits d'EspritPoints: 1242 Défis: 54 Message
Posté le 15-03-2014 à 12:25 | #
Le code à ajouter pour MonochromeLib au début ne permet-il pas une compatibilité ?
LephenixnoirEn ligneAdministrateurPoints: 24235 Défis: 170 Message
Posté le 15-03-2014 à 12:29 | #
A priori, si.
Après, je ne m'en suis jamais servi.
LancelotHors ligneMembrePoints: 1274 Défis: 160 Message
Posté le 15-03-2014 à 13:21 | #
compatibilité SH4
IntelligideHors ligneMembre de CreativeCalcPoints: 49 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)
LephenixnoirEn ligneAdministrateurPoints: 24235 Défis: 170 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.
IntelligideHors ligneMembre de CreativeCalcPoints: 49 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
LephenixnoirEn ligneAdministrateurPoints: 24235 Défis: 170 Message
Posté le 16-03-2014 à 11:22 | #
Voilà ce que je te propose:

Le code
Cliquer pour enrouler
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.
IntelligideHors ligneMembre de CreativeCalcPoints: 49 Défis: 5 Message
Posté le 16-03-2014 à 16:30 | #
ta fonction ne fonctionne pas
LephenixnoirEn ligneAdministrateurPoints: 24235 Défis: 170 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, 9 | Suivante

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 104 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