/* Programme test de tracé de ligne pour illustrer l'antialiasing de Wu. trace * également les lignes non antialiasées pour comparer. * Testé avec Borland C++ 4.02 en modèle small par Jim Mischel 12/16/94. */ #include #include void SetPalette(struct WuColor *); extern void DrawWuLine(int, int, int, int, int, int, unsigned int); extern void DrawLine(int, int, int, int, int); extern void SetMode(void); extern int ScreenWidthInPixels; /* dimension globale de l'écran */ extern int ScreenHeightInPixels; #define NUM_WU_COLORS 2 /* nombre de couleurs avec lesquelles nous ferons le tracé de l'antialiasing*/ struct WuColor { /* décrit une couleur pour l'antialiasing */ int BaseColor; /* numéro du début du bloc d'intensité de la palette dans le DAC */ int NumLevels; /* nombre de niveaux d'intensité */ int IntensityBits; /* IntensityBits == log2 NumLevels */ int MaxRed; /* composant rouge de la couleur à pleine intensité */ int MaxGreen; /* composant vert de la couleur à pleine intensité */ int MaxBlue; /* composant bleu de la couleur à pleine intensité */ }; enum {WU_BLUE=0, WU_WHITE=1}; /* couleurs d'affichage */ struct WuColor WuColors[NUM_WU_COLORS] = /* bleu et blanc */ {{192, 32, 5, 0, 0, 0x3F}, {224, 32, 5, 0x3F, 0x3F, 0x3F}}; void main() { int CurrentColor, i; union REGS regset; /* Affiche les lignes antialiasées de Wu dans toutes les directions */ SetMode(); SetPalette(WuColors); for (i=5; i