summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--poppler/Gfx.cc14
-rw-r--r--poppler/OutputDev.cc16
-rw-r--r--poppler/OutputDev.h10
4 files changed, 48 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 861ba447..1edc9ec4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2006-02-04 Jeff Muizelaar <jeff@infidigm.net>
+ * poppler/Gfx.cc:
+ * poppler/OutputDev.cc:
+ * poppler/OutputDev.h: Let output devices know about pdf grouping
+ operators.
+ Patch by Thorkild Stray.
+
+2006-02-04 Jeff Muizelaar <jeff@infidigm.net>
+
* poppler/GlobalParams.cc: Check all fonts returned by fontconfig.
Discard the ones that are not truetype or type1. Fixes #5758.
Patch by Ed Catmur.
diff --git a/poppler/Gfx.cc b/poppler/Gfx.cc
index 7005b4aa..feda2e46 100644
--- a/poppler/Gfx.cc
+++ b/poppler/Gfx.cc
@@ -3591,9 +3591,16 @@ void Gfx::opBeginMarkedContent(Object args[], int numArgs) {
printf("\n");
fflush(stdout);
}
+
+ if(numArgs == 2) {
+ out->beginMarkedContent(args[0].getName(),args[1].getDict());
+ } else {
+ out->beginMarkedContent(args[0].getName());
+ }
}
void Gfx::opEndMarkedContent(Object args[], int numArgs) {
+ out->endMarkedContent();
}
void Gfx::opMarkPoint(Object args[], int numArgs) {
@@ -3604,6 +3611,13 @@ void Gfx::opMarkPoint(Object args[], int numArgs) {
printf("\n");
fflush(stdout);
}
+
+ if(numArgs == 2) {
+ out->markPoint(args[0].getName(),args[1].getDict());
+ } else {
+ out->markPoint(args[0].getName());
+ }
+
}
//------------------------------------------------------------------------
diff --git a/poppler/OutputDev.cc b/poppler/OutputDev.cc
index 2fecd9d9..282588b2 100644
--- a/poppler/OutputDev.cc
+++ b/poppler/OutputDev.cc
@@ -121,6 +121,22 @@ void OutputDev::drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str,
drawImage(state, ref, str, width, height, colorMap, NULL, gFalse);
}
+void OutputDev::endMarkedContent() {
+}
+
+void OutputDev::beginMarkedContent(char *name) {
+}
+
+void OutputDev::beginMarkedContent(char *name, Dict *properties) {
+}
+
+void OutputDev::markPoint(char *name) {
+}
+
+void OutputDev::markPoint(char *name, Dict *properties) {
+}
+
+
#if OPI_SUPPORT
void OutputDev::opiBegin(GfxState *state, Dict *opiDict) {
}
diff --git a/poppler/OutputDev.h b/poppler/OutputDev.h
index d07e03fb..b51b7c1f 100644
--- a/poppler/OutputDev.h
+++ b/poppler/OutputDev.h
@@ -183,6 +183,16 @@ public:
int maskWidth, int maskHeight,
GfxImageColorMap *maskColorMap);
+ //----- grouping operators
+
+ virtual void endMarkedContent();
+ virtual void beginMarkedContent(char *name);
+ virtual void beginMarkedContent(char *name, Dict *properties);
+ virtual void markPoint(char *name);
+ virtual void markPoint(char *name, Dict *properties);
+
+
+
#if OPI_SUPPORT
//----- OPI functions
virtual void opiBegin(GfxState *state, Dict *opiDict);