X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fcode.git;a=blobdiff_plain;f=src%2Fmain.cpp;h=718361fbc7720703e0007c2ce62b333d8a28ace8;hp=12d8d561d755059d7981bac5dbc9386f37ee7426;hb=da646c739f87bf28c5a7af2bc180b93b3444321b;hpb=67fb91aae1fc5315f462d6b5818806f154e9e687 diff --git a/src/main.cpp b/src/main.cpp index 12d8d56..718361f 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,17 +1,26 @@ #include "main.h" #include // Because we can. + int main(int argc, char ** argv) { + #ifndef __STDC_IEC_559__ + Warn("__STDC_IEC_559__ not defined. IEEE 754 floating point not fully supported.\n"); + #endif + + + Debug("Compiled with REAL = %d => \"%s\" sizeof(Real) == %d bytes", REAL, g_real_name[REAL], sizeof(Real)); + Document doc; srand(time(NULL)); enum {OUTPUT_TO_BMP, LOOP} mode = LOOP; - Rect bounds(0,0,1,1); + Colour c(0,0,0,1); const char * input_bmp = NULL; const char * output_bmp = NULL; const char * input_filename = NULL; + float b[4] = {0,0,1,1}; int i = 0; while (++i < argc) @@ -49,17 +58,35 @@ int main(int argc, char ** argv) i += 4; break; } + case 'b': + { + Debug("Reading view bounds"); + for (int j = 1; j <= 4; ++j) + { + if (i+j >= argc) + Fatal("No %d bounds component following -b switch", j); + char * e; + b[j-1] = strtof(argv[i+j], &e); + if (*e != '\0') + Fatal("Bounds component %d not a valid float", j); + } + i += 4; + break; + } } } if (input_filename != NULL) { - doc.Load(input_filename); + doc.LoadSVG(input_filename, Rect(0,0,Real(1)/Real(800),Real(1)/Real(600))); } else { - doc.Add(RECT_FILLED, Rect(0.2,0.2,0.6,0.6)); + //doc.AddBezier(Bezier(0,0, 1,0.5, 0.5,1, 1,1)); + doc.AddText("c",1,0,0); } + Debug("Start!"); + Rect bounds(b[0],b[1],b[2],b[3]); if (mode == LOOP) MainLoop(doc, bounds, c);