void printLineStyleArray(FILE *f, int shapeType) { int count, i; count = readUInt8(f); if(count==255) count = readUInt16(f); for(i=0; i<count; ++i) { print("LineStyle %i: ", i+1); printf("width=%i ", readUInt16(f)); if(shapeType==SWF_DEFINEMORPHSHAPE) printf("width2=%i ", readUInt16(f)); puts("color="); if(shapeType==SWF_DEFINESHAPE3 || shapeType==SWF_DEFINEMORPHSHAPE) printRGBA(f); else printRGB(f); if(shapeType==SWF_DEFINEMORPHSHAPE) { puts("color2="); printRGBA(f); } putchar('\n'); } }
void displayRGB (int red, int green, int blue){ if (smoothness == 0) { printRGB(red, green, blue); return; } while ((red != prev_red) || (green != prev_green) || (blue != prev_blue)) { if (red > prev_red) prev_red++; if (red < prev_red) prev_red--; if (green > prev_green) prev_green++; if (green < prev_green) prev_green--; if (blue > prev_blue) prev_blue++; if (blue < prev_blue) prev_blue--; printRGB (prev_red, prev_green, prev_blue); delay (smoothness); } }
int main() { RGB colour; char input[14], type; printf("Enter h to convert from hexadecimal to decimal in the format: #rrggbb\n"); printf("Enter d to convert from decimal to hexadecimal in the format: rrr, ggg, bbb\n"); scanf("%c", &type); fflush(stdin); // изчиства входния буфер gets(input); switch (type) { case 'h': colour = convert(input, 'h'); printRGB(colour, 'h'); break; case 'd': colour = convert(input, 'd'); printRGB(colour, 'd'); break; } return 0; }
int printTextRecord(FILE *f, int glyphBits, int advanceBits, int type) { int i, numGlyphs; int flags = readUInt8(f); if(flags == 0) return 0; if(flags & TEXTRECORD_STATECHANGE) { if(flags & TEXTRECORD_HASFONT) println("font id: %i", readUInt16(f)); if(flags & TEXTRECORD_HASCOLOR) { print("color: "); if(type == 2) printRGBA(f); else printRGB(f); putchar('\n'); } if(flags & TEXTRECORD_HASXOFF) println("X Offset: %i", readSInt16(f)); if(flags & TEXTRECORD_HASYOFF) println("Y Offset: %i", readSInt16(f)); if(flags & TEXTRECORD_HASFONT) println("font height: %i", readUInt16(f)); } else { numGlyphs = flags & TEXTRECORD_NUMGLYPHS; for(i=0; i<numGlyphs; ++i) { println("glyph index: %i", readBits(f, glyphBits)); println("glyph x advance: %i", readSBits(f, advanceBits)); } } return 1; }
void printGradient(FILE *f, int shapeType) { int i; int numGrads = readUInt8(f); for(i=0; i<numGrads; ++i) { print("Grad[%i]: ratio=%i, ", i, readUInt8(f)); puts("color="); if(shapeType==SWF_DEFINESHAPE3) printRGBA(f); else printRGB(f); putchar('\n'); } }
void printFillStyle(FILE *f, int shapeType) { int type; type = readUInt8(f); if(type==0) /* solid fill */ { print("color="); if(shapeType==SWF_DEFINESHAPE3 || shapeType==SWF_DEFINEMORPHSHAPE) printRGBA(f); else printRGB(f); if(shapeType==SWF_DEFINEMORPHSHAPE) { print("color2="); printRGBA(f); } putchar('\n'); } else if(type==0x10) /* linear */ { println("Matrix:"); ++gIndent; printMatrix(f); --gIndent; if(shapeType==SWF_DEFINEMORPHSHAPE) { println("Matrix2:"); ++gIndent; printMatrix(f); --gIndent; } println("Gradient (linear):"); ++gIndent; if(shapeType==SWF_DEFINEMORPHSHAPE) printMorphGradient(f); else printGradient(f, shapeType); --gIndent; } else if(type==0x12) /* radial gradient */ { println("Matrix:"); ++gIndent; printMatrix(f); --gIndent; if(shapeType==SWF_DEFINEMORPHSHAPE) { println("Matrix2:"); ++gIndent; printMatrix(f); --gIndent; } println("Gradient (radial):"); ++gIndent; if(shapeType==SWF_DEFINEMORPHSHAPE) printMorphGradient(f); else printGradient(f, shapeType); --gIndent; } else if(type==0x40) /* tiled bitmap */ { println("Bitmap id: %i (tiled)", readUInt16(f)); println("Bitmap matrix:"); ++gIndent; printMatrix(f); --gIndent; if(shapeType==SWF_DEFINEMORPHSHAPE) { println("Bitmap matrix:"); ++gIndent; printMatrix(f); --gIndent; } } else if(type==0x41) /* clipped bitmap */ { println("Bitmap id: %i (clipped)", readUInt16(f)); println("Bitmap matrix:"); ++gIndent; printMatrix(f); --gIndent; if(shapeType==SWF_DEFINEMORPHSHAPE) { println("Bitmap matrix:"); ++gIndent; printMatrix(f); --gIndent; } } else println("Unknown fill type: %i", type); }
void printSetBackgroundColor(FILE *f) { print("Color: "); printRGB(f); putchar('\n'); }