diff options
-rw-r--r-- | html/en/drv/svg.html | 3 | ||||
-rw-r--r-- | mak.vc9/cdsimple.vcproj | 1 | ||||
-rw-r--r-- | mak.vc9/cdsimplegdk.vcproj | 1 | ||||
-rw-r--r-- | src/drv/cdcgm.c | 2 | ||||
-rw-r--r-- | src/drv/cddxf.c | 1 | ||||
-rw-r--r-- | src/drv/cdpdf.c | 2 | ||||
-rw-r--r-- | src/drv/cdps.c | 2 | ||||
-rw-r--r-- | src/svg/cdsvg.c | 16 | ||||
-rw-r--r-- | test/simple/simple.c | 2 |
9 files changed, 24 insertions, 6 deletions
diff --git a/html/en/drv/svg.html b/html/en/drv/svg.html index e75451e..14daf58 100644 --- a/html/en/drv/svg.html +++ b/html/en/drv/svg.html @@ -43,8 +43,7 @@ <font face="Courier"><strong>Play</strong></font></a>: does nothing, returns <font face="Courier">CD_ERROR</font>.</li> <li><a href="http://www.tecgraf.puc-rio.br/cd/en/func/control.html#cdClear"> - <font face="Courier"><strong>Clear</strong></font></a>: is simulated using - width and height to draw a rect.</li> + <font face="Courier"><strong>Clear</strong></font></a>: does nothing.</li> </dir> <h4>Coordinate System and Clipping </h4> <dir> diff --git a/mak.vc9/cdsimple.vcproj b/mak.vc9/cdsimple.vcproj index 61f3a08..64edbe8 100644 --- a/mak.vc9/cdsimple.vcproj +++ b/mak.vc9/cdsimple.vcproj @@ -75,6 +75,7 @@ LinkIncremental="1" SuppressStartupBanner="true" AdditionalLibraryDirectories="..\lib,..\..\iup\lib" + GenerateManifest="false" GenerateDebugInformation="true" ProgramDatabaseFile="$(TargetDir)$(TargetName).pdb" SubSystem="1" diff --git a/mak.vc9/cdsimplegdk.vcproj b/mak.vc9/cdsimplegdk.vcproj index 00765fc..fda6eb2 100644 --- a/mak.vc9/cdsimplegdk.vcproj +++ b/mak.vc9/cdsimplegdk.vcproj @@ -75,6 +75,7 @@ LinkIncremental="1" SuppressStartupBanner="true" AdditionalLibraryDirectories="..\lib,..\..\iup\lib;d:\lng\gtk\lib" + GenerateManifest="false" GenerateDebugInformation="true" ProgramDatabaseFile="$(TargetDir)$(TargetName).pdb" SubSystem="1" diff --git a/src/drv/cdcgm.c b/src/drv/cdcgm.c index 3049818..ab47c1e 100644 --- a/src/drv/cdcgm.c +++ b/src/drv/cdcgm.c @@ -183,6 +183,8 @@ static void cddeactivate(cdCtxCanvas *ctxcanvas) static void cdflush(cdCtxCanvas *ctxcanvas) { long pt; + + fflush(ctxcanvas->cgm->file); pt = ftell ( ctxcanvas->cgm->file ); fseek ( ctxcanvas->cgm->file, ctxcanvas->point, SEEK_SET ); diff --git a/src/drv/cddxf.c b/src/drv/cddxf.c index b4dc875..db05978 100644 --- a/src/drv/cddxf.c +++ b/src/drv/cddxf.c @@ -314,6 +314,7 @@ static void cdkillcanvas(cdCtxCanvas *ctxcanvas) static void cdflush (cdCtxCanvas *ctxcanvas) { + fflush (ctxcanvas->file); /* flush file */ ctxcanvas->layer++; } diff --git a/src/drv/cdpdf.c b/src/drv/cdpdf.c index ffad84b..8faa824 100644 --- a/src/drv/cdpdf.c +++ b/src/drv/cdpdf.c @@ -1543,7 +1543,7 @@ static cdContext cdPDFContext = CD_CAP_ALL & ~(CD_CAP_CLEAR | CD_CAP_PLAY | CD_CAP_PALETTE | CD_CAP_REGION | CD_CAP_IMAGESRV | CD_CAP_TEXTSIZE | CD_CAP_BACKGROUND | CD_CAP_BACKOPACITY | CD_CAP_WRITEMODE | - CD_CAP_IMAGERGBA | CD_CAP_GETIMAGERGB), + CD_CAP_GETIMAGERGB), 0, cdcreatecanvas, cdinittable, diff --git a/src/drv/cdps.c b/src/drv/cdps.c index d5d62fe..ef77c4d 100644 --- a/src/drv/cdps.c +++ b/src/drv/cdps.c @@ -466,6 +466,8 @@ static void cdflush(cdCtxCanvas *ctxcanvas) { if (ctxcanvas->debug) fprintf(ctxcanvas->file, "\n%%cdFlush Begin\n"); + fflush(ctxcanvas->file); + if (!ctxcanvas->eps) { fprintf(ctxcanvas->file, "gsave\n"); diff --git a/src/svg/cdsvg.c b/src/svg/cdsvg.c index d44e40a..184031c 100644 --- a/src/svg/cdsvg.c +++ b/src/svg/cdsvg.c @@ -882,6 +882,16 @@ static void cdpixel(cdCtxCanvas *ctxcanvas, int x, int y, long int color) x, y, r, g, b, r, g, b, ctxcanvas->linewidth, ctxcanvas->linecap, ctxcanvas->linejoin, ctxcanvas->linestyle, ctxcanvas->backopacity); } +static void cddeactivate (cdCtxCanvas* ctxcanvas) +{ + fflush(ctxcanvas->file); +} + +static void cdflush (cdCtxCanvas* ctxcanvas) +{ + fflush(ctxcanvas->file); +} + static void cdcreatecanvas(cdCanvas *canvas, void *data) { char filename[10240] = ""; @@ -984,15 +994,17 @@ static void cdinittable(cdCanvas* canvas) canvas->cxTransform = cdtransform; + canvas->cxFlush = cdflush; + canvas->cxDeactivate = cddeactivate; canvas->cxKillCanvas = (void (*)(cdCtxCanvas*))cdkillcanvas; } static cdContext cdSVGContext = { - CD_CAP_ALL & ~(CD_CAP_CLEAR | CD_CAP_FLUSH | CD_CAP_PLAY | CD_CAP_PALETTE | + CD_CAP_ALL & ~(CD_CAP_CLEAR | CD_CAP_PLAY | CD_CAP_PALETTE | CD_CAP_REGION | CD_CAP_IMAGESRV | CD_CAP_WRITEMODE | CD_CAP_FONTDIM | CD_CAP_TEXTSIZE | - CD_CAP_IMAGERGBA | CD_CAP_GETIMAGERGB), + CD_CAP_GETIMAGERGB), 0, cdcreatecanvas, cdinittable, diff --git a/test/simple/simple.c b/test/simple/simple.c index 586256d..889185f 100644 --- a/test/simple/simple.c +++ b/test/simple/simple.c @@ -306,7 +306,7 @@ int SimpleDrawPS(void) int SimpleDrawSVG(void) { - DrawCanvasDriver(CD_SVG, "simple.svg"); + DrawCanvasDriverSize(CD_SVG, "simple.svg", 0); return 0; } |