summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--html/en/drv/svg.html3
-rw-r--r--mak.vc9/cdsimple.vcproj1
-rw-r--r--mak.vc9/cdsimplegdk.vcproj1
-rw-r--r--src/drv/cdcgm.c2
-rw-r--r--src/drv/cddxf.c1
-rw-r--r--src/drv/cdpdf.c2
-rw-r--r--src/drv/cdps.c2
-rw-r--r--src/svg/cdsvg.c16
-rw-r--r--test/simple/simple.c2
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;
}