From 43a13e2e02f2b92d912541ae3477b78f7ebd305c Mon Sep 17 00:00:00 2001 From: root <> Date: Sun, 8 Feb 2009 17:13:33 +0000 Subject: *** empty log message *** --- src/cd/color16.c | 186 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 186 insertions(+) create mode 100644 src/cd/color16.c (limited to 'src/cd/color16.c') diff --git a/src/cd/color16.c b/src/cd/color16.c new file mode 100644 index 0000000..ca7e454 --- /dev/null +++ b/src/cd/color16.c @@ -0,0 +1,186 @@ +/* + * Color16 is a test program that is part of the CGM Draw Library. + * It Will write out a CGM file that allocates a 16 color pallete + * using the function cdImageColor16. These correspond to the 16 + * standard Windows colors. + * + + color16.c: test program for the cgmdraw module. + + Written by G. Edward Johnson + Date: April 1996 + Copyright: cd software produced by NIST, an agency of the + U.S. government, is by statute not subject to copyright + in the United States. Recipients of this software assume all + responsibilities associated with its operation, modification + and maintenance. + +*/ + + +#include +#include +#include +#include +#include +#include "defines.h" +#include "cd.h" + + +int main () { + cdImagePtr im; + FILE *outf; + + + /* Create an image 500 pixels high by 400 pixels wide */ + im = cdImageCreate(400, 500); + + /* allocate the 16 windows colors */ + if (!(cdImageColor16(im))) return 0; + + /* Set the fill attributes */ + /* fill=solid, colorindex=0, hatch=no change */ + if (!(cdSetShapeFillAttrib(im, 1, 0, -1))) return 0; + + /* set the text attributes */ + /* font=helvetica, colorindex=1, size=25 */ + if (!(cdSetTextAttrib(im, 5, 1, 25))) return 0; + + /* The first color index is white, so lets draw a box around it */ + /* edge=solid, width=1, color=1 (black), visible=yes */ + cdSetShapeEdgeAttrib(im, 1, 1, 1, 1); + + + /* Draw a rectangle (10,450) is upper left, (35,425) is lower right */ + if (!(cdRectangle(im, 10, 450, 35, 425))) return 0; + /* Label it */ + if (!(cdText(im, 40, 425, "Color Index: 0"))) return 0; + + /* Make the edges invisible */ + if (!(cdSetEdgeVis(im, 0))) return 0; + + + /* Set the fill color */ + if (!(cdSetFillColor(im, 1))) return 0; + /* Draw a rectangle */ + if (!(cdRectangle(im, 10, 400, 35, 375))) return 0; + /* Label it */ + if (!(cdText(im, 40, 375, "Color Index: 1"))) return 0; + + /* Set the fill color */ + if (!(cdSetFillColor(im, 2))) return 0; + /* Draw a rectangle */ + if (!(cdRectangle(im, 10, 350, 35, 325))) return 0; + /* Label it */ + if (!(cdText(im, 40, 325, "Color Index: 2"))) return 0; + + /* Set the fill color */ + if (!(cdSetFillColor(im, 3))) return 0; + /* Draw a rectangle */ + if (!(cdRectangle(im, 10, 300, 35, 275))) return 0; + /* Label it */ + if (!(cdText(im, 40, 275, "Color Index: 3"))) return 0; + + /* Set the fill color */ + if (!(cdSetFillColor(im, 4))) return 0; + /* Draw a rectangle */ + if (!(cdRectangle(im, 10, 250, 35, 225))) return 0; + /* Label it */ + if (!(cdText(im, 40, 225, "Color Index: 4"))) return 0; + + /* Set the fill color */ + if (!(cdSetFillColor(im, 5))) return 0; + /* Draw a rectangle */ + if (!(cdRectangle(im, 10, 200, 35, 175))) return 0; + /* Label it */ + if (!(cdText(im, 40, 175, "Color Index: 5"))) return 0; + + /* Set the fill color */ + if (!(cdSetFillColor(im, 6))) return 0; + /* Draw a rectangle */ + if (!(cdRectangle(im, 10, 150, 35, 125))) return 0; + /* Label it */ + if (!(cdText(im, 40, 125, "Color Index: 6"))) return 0; + + /* Set the fill color */ + if (!(cdSetFillColor(im, 7))) return 0; + /* Draw a rectangle */ + if (!(cdRectangle(im, 10, 100, 35, 75))) return 0; + /* Label it */ + if (!(cdText(im, 40, 75, "Color Index: 7"))) return 0; + + /* Set the fill color */ + if (!(cdSetFillColor(im, 8))) return 0; + /* Draw a rectangle */ + if (!(cdRectangle(im, 210, 450, 235, 425))) return 0; + /* Label it */ + if (!(cdText(im, 240, 425, "Color Index: 8"))) return 0; + + /* Set the fill color */ + if (!(cdSetFillColor(im, 9))) return 0; + /* Draw a rectangle */ + if (!(cdRectangle(im, 210, 400, 235, 375))) return 0; + /* Label it */ + if (!(cdText(im, 240, 375, "Color Index: 9"))) return 0; + + /* Set the fill color */ + if (!(cdSetFillColor(im, 10))) return 0; + /* Draw a rectangle */ + if (!(cdRectangle(im, 210, 350, 235, 325))) return 0; + /* Label it */ + if (!(cdText(im, 240, 325, "Color Index: 10"))) return 0; + + /* Set the fill color */ + if (!(cdSetFillColor(im, 11))) return 0; + /* Draw a rectangle */ + if (!(cdRectangle(im, 210, 300, 235, 275))) return 0; + /* Label it */ + if (!(cdText(im, 240, 275, "Color Index: 11"))) return 0; + + /* Set the fill color */ + if (!(cdSetFillColor(im, 12))) return 0; + /* Draw a rectangle */ + if (!(cdRectangle(im, 210, 250, 235, 225))) return 0; + /* Label it */ + if (!(cdText(im, 240, 225, "Color Index: 12"))) return 0; + + /* Set the fill color */ + if (!(cdSetFillColor(im, 13))) return 0; + /* Draw a rectangle */ + if (!(cdRectangle(im, 210, 200, 235, 175))) return 0; + /* Label it */ + if (!(cdText(im, 240, 175, "Color Index: 13"))) return 0; + + /* Set the fill color */ + if (!(cdSetFillColor(im, 14))) return 0; + /* Draw a rectangle */ + if (!(cdRectangle(im, 210, 150, 235, 125))) return 0; + /* Label it */ + if (!(cdText(im, 240, 125, "Color Index: 14"))) return 0; + + /* Set the fill color */ + if (!(cdSetFillColor(im, 15))) return 0; + /* Draw a rectangle */ + if (!(cdRectangle(im, 210, 100, 235, 75))) return 0; + /* Label it */ + if (!(cdText(im, 240, 75, "Color Index: 15"))) return 0; + + /* now put a little thing at the bottom of the picture */ + if (!cdText(im, 5, 10, "Colors allocated by cdImageColor16")) return 0; + + /* now write the file out, lets call it color16.cgm */ + outf = fopen("color16.cgm", "wb"); + if (!outf) return 0; + cdImageCgm(im, outf); + fclose(outf); + outf = 0; + + /* Remember to destroy the image when you are done */ + cdImageDestroy(im); + im = 0; + + printf("CGM with 16 color colortable generated as color16.cgm\n"); + + return 1; + +} -- cgit v1.2.3