Bonjour à tous,
Encore une question concernant les effets graphiques sur TI.
Est-il possible de faire des fondus (contrast qui baisse ou qui monte par programmation)?
Si oui, où puis-je trouver un exemple?
D'avance merci.
Fred.
/* 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); }
unsigned char *contraste(void) ; asm(" contraste: move.w %d0,-(%a7) move.w #4,%d0 trap #9 move.w (%a7)+,%d0 rts" ) ; void set_contraste (int value_contrast) { unsigned char *contrast=contraste(); *contrast=value_contrast+1; OSContrastDn (); }