Code

Merge and cleanup of GSoC C++-ification project.
[inkscape.git] / src / extension / internal / cairo-renderer.h
index 7ce30b9ecf280426eadac05dc3d2707f466ddcd5..7fa7c7ff5fad95ac6c9da0e42b1cc7579274784a 100644 (file)
@@ -7,6 +7,7 @@
 /*
  * Authors:
  *        Miklos Erdelyi <erdelyim@gmail.com>
+ *   Abhishek Sharma
  *
  * Copyright (C) 2006 Miklos Erdelyi
  * 
 # include "config.h"
 #endif
 
-#ifdef HAVE_CAIRO_PDF
-
 #include "extension/extension.h"
 #include <set>
 #include <string>
 
-#include "libnr/nr-path.h"
 //#include "libnrtype/font-instance.h"
 #include "style.h"
-
+#include "sp-item.h"
 #include <cairo.h>
 
 class SPClipPath;
@@ -42,7 +40,7 @@ class CairoRenderContext;
 class CairoRenderer {
 public:
     CairoRenderer(void);
-    ~CairoRenderer(void);
+    virtual ~CairoRenderer(void);
     
     CairoRenderContext *createContext(void);
     void destroyContext(CairoRenderContext *ctx);
@@ -55,10 +53,14 @@ public:
     /** Initializes the CairoRenderContext according to the specified
     SPDocument. A set*Target function can only be called on the context
     before setupDocument. */
-    bool setupDocument(CairoRenderContext *ctx, SPDocument *doc);
+    bool setupDocument(CairoRenderContext *ctx, SPDocument *doc, bool pageBoundingBox, SPItem *base);
 
     /** Traverses the object tree and invokes the render methods. */
     void renderItem(CairoRenderContext *ctx, SPItem *item);
+
+    /** If _omitText is true, no text will be output to the PDF document.
+        The PDF will be exactly the same as if the text was written to it and then erased. */
+    bool _omitText;
 };
 
 // FIXME: this should be a static method of CairoRenderer
@@ -69,8 +71,6 @@ void calculatePreserveAspectRatio(unsigned int aspect_align, unsigned int aspect
 }  /* namespace Extension */
 }  /* namespace Inkscape */
 
-#endif /* HAVE_CAIRO_PDF */
-
 #endif /* !EXTENSION_INTERNAL_CAIRO_RENDERER_H_SEEN */
 
 /*
@@ -82,4 +82,4 @@ void calculatePreserveAspectRatio(unsigned int aspect_align, unsigned int aspect
   fill-column:99
   End:
 */
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :