void SimpleCreateCanvas(char* data) { int c, l; memset(pattern, 0xFF, STYLE_SIZE*STYLE_SIZE*4); pattern[11] = CD_RED; /*------------*/ pattern[21] = CD_RED; /* 0123456789*/ pattern[31] = CD_RED; /* */ pattern[41] = CD_RED; /*9 WWWWWWWWWW*/ pattern[51] = CD_RED; /*8 WWWWGGGGGW*/ pattern[12] = CD_RED; /*7 WWWGGGGGBW*/ pattern[22] = CD_RED; /*6 WWGGGGGBBW*/ pattern[32] = CD_RED; /*5 WrrrrrBBBW*/ pattern[42] = CD_RED; /*4 WrrrrrBBBW*/ pattern[52] = CD_RED; /*3 WrrrrrBBWW*/ pattern[13] = CD_RED; /*2 WrrrrrBWWW*/ pattern[23] = CD_RED; /*1 WrrrrrWWWW*/ pattern[33] = CD_RED; /*0 WWWWWWWWWW*/ pattern[43] = CD_RED; /*------------*/ pattern[53] = CD_RED; pattern[14] = CD_RED; pattern[15] = CD_RED; pattern[24] = CD_RED; pattern[25] = CD_RED; pattern[34] = CD_RED; pattern[35] = CD_RED; pattern[44] = CD_RED; pattern[45] = CD_RED; pattern[54] = CD_RED; pattern[55] = CD_RED; pattern[26] = CD_BLUE; pattern[37] = CD_BLUE; pattern[36] = CD_BLUE; pattern[47] = CD_BLUE; pattern[46] = CD_BLUE; pattern[57] = CD_BLUE; pattern[56] = CD_BLUE; pattern[67] = CD_BLUE; pattern[48] = CD_BLUE; pattern[62] = CD_GREEN; pattern[58] = CD_BLUE; pattern[63] = CD_GREEN; pattern[68] = CD_BLUE; pattern[64] = CD_GREEN; pattern[78] = CD_BLUE; pattern[65] = CD_GREEN; pattern[66] = CD_GREEN; pattern[73] = CD_GREEN; pattern[84] = CD_GREEN; pattern[74] = CD_GREEN; pattern[85] = CD_GREEN; pattern[75] = CD_GREEN; pattern[86] = CD_GREEN; pattern[76] = CD_GREEN; pattern[87] = CD_GREEN; pattern[77] = CD_GREEN; pattern[88] = CD_GREEN; /* initialize the stipple buffer with cross pattern */ for (l = 0; l < STYLE_SIZE; l++) for (c = 0; c < STYLE_SIZE; c++) stipple[l*STYLE_SIZE + c] = (c % 4) == 0? 1: 0; SimpleInitAlpha(IMAGE_SIZE, IMAGE_SIZE, alpha); winData = data; SimpleCreateCanvasWindow(); SimpleDrawWindow(); }
int main(int argc, char** argv) { IupOpen(&argc, &argv); #ifdef USE_CONTEXTPLUS cdInitContextPlus(); #endif #ifdef USE_OPENGL IupGLCanvasOpen(); #endif simple_loadled(); #ifdef USE_OPENGL { Ihandle* dialog = IupGetHandle("SimpleDialog"); Ihandle* canvas = IupGetHandle("SimpleCanvas"); IupDestroy(canvas); canvas = IupGLCanvas("SimpleRepaint"); IupSetAttribute(canvas, "BUFFER", "DOUBLE"); IupSetHandle("SimpleCanvas", canvas); IupAppend(dialog, canvas); } #endif IupSetAttribute(IupGetHandle("SimpleDialog"), "SIZE", "HALFxHALF"); IupSetAttribute(IupGetHandle("SimpleDialog"), "PLACEMENT", "MAXIMIZED"); IupShow(IupGetHandle("SimpleDialog")); IupSetAttribute(IupGetHandle("SimpleDialog"), "SIZE", NULL); SimpleCreateCanvas((char*)IupGetHandle("SimpleCanvas")); IupSetFunction("cmdExit", (Icallback) cmdExit); IupSetFunction("SimplePlayClipboard", (Icallback) SimplePlayClipboard); IupSetFunction("SimplePlayCGMText", (Icallback) SimplePlayCGMText); IupSetFunction("SimplePlayCGMBin", (Icallback) SimplePlayCGMBin); IupSetFunction("SimplePlayMetafile", (Icallback) SimplePlayMetafile); IupSetFunction("SimplePlayWMF", (Icallback) SimplePlayWMF); IupSetFunction("SimplePlayEMF", (Icallback) SimplePlayEMF); IupSetFunction("SimpleDrawDebug", (Icallback) SimpleDrawDebug); IupSetFunction("SimpleDrawWindow", (Icallback) SimpleDrawWindow); IupSetFunction("SimpleDrawCGMText", (Icallback) SimpleDrawCGMText); IupSetFunction("SimpleDrawCGMBin", (Icallback) SimpleDrawCGMBin); IupSetFunction("SimpleDrawDXF", (Icallback) SimpleDrawDXF); IupSetFunction("SimpleDrawDGN", (Icallback) SimpleDrawDGN); IupSetFunction("SimpleDrawEMF", (Icallback) SimpleDrawEMF); IupSetFunction("SimpleDrawMetafile", (Icallback) SimpleDrawMetafile); IupSetFunction("SimpleDrawPDF", (Icallback) SimpleDrawPDF); IupSetFunction("SimpleDrawPS", (Icallback) SimpleDrawPS); IupSetFunction("SimpleDrawEPS", (Icallback) SimpleDrawEPS); IupSetFunction("SimpleDrawSVG", (Icallback) SimpleDrawSVG); IupSetFunction("SimpleDrawWMF", (Icallback)SimpleDrawWMF); IupSetFunction("SimpleDrawPPTX", (Icallback)SimpleDrawPPTX); IupSetFunction("SimpleDrawPrint", (Icallback)SimpleDrawPrint); IupSetFunction("SimpleDrawPrintDialog", (Icallback) SimpleDrawPrintDialog); IupSetFunction("SimpleDrawClipboardBitmap", (Icallback) SimpleDrawClipboardBitmap); IupSetFunction("SimpleDrawClipboardMetafile", (Icallback) SimpleDrawClipboardMetafile); IupSetFunction("SimpleDrawClipboardEMF", (Icallback) SimpleDrawClipboardEMF); IupSetFunction("SimpleDrawImage", (Icallback) SimpleDrawImage); IupSetFunction("SimpleDrawImageRGB", (Icallback) SimpleDrawImageRGB); IupSetFunction("SimpleDrawSimulate", (Icallback) SimpleDrawSimulate); #ifdef USE_OPENGL IupSetFunction("SimpleDrawGL", (Icallback) SimpleDrawGL); #endif IupSetFunction("SimpleNotXor", (Icallback) SimpleNotXor); IupSetFunction("SimpleXor", (Icallback) SimpleXor); IupSetFunction("SimpleReplace", (Icallback) SimpleReplace); IupSetFunction("SimpleClippingOff", (Icallback) SimpleClippingOff); IupSetFunction("SimpleClippingArea", (Icallback) SimpleClippingArea); IupSetFunction("SimpleClippingPolygon", (Icallback) SimpleClippingPolygon); IupSetFunction("SimpleClippingRegion", (Icallback) SimpleClippingRegion); IupSetFunction("SimpleContextPlus", (Icallback) SimpleContextPlus); IupSetFunction("SimpleTransform", (Icallback) SimpleTransform); IupSetFunction("SimpleAll", (Icallback) SimpleAll); IupSetFunction("SimpleTextAlign", (Icallback)SimpleTextAlign); IupSetFunction("SimpleTextFonts", (Icallback)SimpleTextFonts); IupSetFunction("SimpleTest", (Icallback) SimpleTest); IupSetFunction("SimpleRepaint", (Icallback) SimpleRepaint); SimpleDrawWindow(); #ifdef USE_OPENGL SimpleUpdateSize(NULL); IupUpdate(IupGetHandle("SimpleCanvas")); #endif IupMainLoop(); SimpleKillCanvas(); #ifdef USE_CONTEXTPLUS cdFinishContextPlus(); #endif IupClose(); return EXIT_SUCCESS; }