3Fermer5
JyaifLe 17/06/2006 à 02:45
*Il y a des effets de transitions dans Extgraph 2 beta 5: de tête il me semble que tu dois regarder dans le header vers la ligne 1025 pour voir les prototypes.

*En ce qui concerne le changement de contraste, n'utilise pas bêtement les fonctions osContrastDn/osContrastUp parceque tu risques de dérégler le contrast. Il y a moyen de lire la valeur du contrast mais je ne sais pas où il faut la lire.

*Une version amélioré par Travis Fisher de l'effet qu'on trouve sur le site de la TICT:
/*	Original by Thomas Nussbaumer, added fading options	 */
void Dissolve(const short Flag) {
	unsigned short seq = 1, offset;
	unsigned char mask;
	
	do 
	{
		mask   = seq & 0x7;
		offset = seq >> 3;
		
		if (seq & 1)
			seq = (seq>>1)^0x6000;
    else seq = seq>>1;
    mask = 0x80 >> mask;
    
		if (offset >= LCD_SIZE)
			continue;
		
		if (Flag == 1) {     // Fade to Black
			*(unsigned char*)(Activel + offset) |= mask;
			*(unsigned char*)(Actived + offset) |= mask;
		} else if (!Flag) {  // Fade to White
			*(unsigned char*)(Activel + offset) &= ~mask;
			*(unsigned char*)(Actived + offset) &= ~mask;
		} else {             // Fade to a new screen
			
			/* -------------------------------------------------------------------------
			   If Flag == 2, the fade will act like a strange double buffer toggle.  The 
			   contents of the Hidden planes will be faded onto the Active gray planes! 
			   ------------------------------------------------------------------------- */
			
			// Light
			if (*(unsigned char*)(Hiddenl + offset) & mask)
				*(unsigned char*)(Activel + offset) |= mask;
			else *(unsigned char*)(Activel + offset) &= ~mask;
			// Dark
			if (*(unsigned char*)(Hiddend + offset) & mask)
				*(unsigned char*)(Actived + offset) |= mask;
			else *(unsigned char*)(Actived + offset) &= ~mask;
		}
    
	} while (seq != 1);
}

Je crois qu'il y a aussi une version en asm qui traine quelque part... mais bon, gagner 50 octets sur un projet qui rempli la mémoire de la calculette tritop