Code

create/destroy the cairo_t for all items to render into (currently used only in outli...
[inkscape.git] / src / display / nr-filter-slot.h
index 13ce1afe20fff919619db5fc2b9d8ac4d2f97826..09190a9b0a105502d76df79a27d76aaea9f26dfc 100644 (file)
 
 #include "libnr/nr-pixblock.h"
 
+struct NRArenaItem;
+
 namespace NR {
 
 class FilterSlot {
 public:
-    /** Creates a new FilterSlot object, with two slots. */
-    FilterSlot();
-    /** Creates a new FilterSlot object, with specified amount of slots */
-    FilterSlot(int slots);
+    /** Creates a new FilterSlot object.
+     * First parameter specifies the amount of slots this SilterSlot
+     * should reserve beforehand. If a negative number is given,
+     * two slots will be reserved.
+     * Second parameter specifies the arena item, which should be used
+     * for background accesses from filters.
+     */
+    FilterSlot(int slots, NRArenaItem const *item);
     /** Destroys the FilterSlot object and all its contents */
     ~FilterSlot();
 
@@ -58,7 +64,9 @@ private:
 
     int _last_out;
 
-    /** Returns the table index of given slot. If that slot dows not exist,
+    NRArenaItem const *_arena_item;
+
+    /** Returns the table index of given slot. If that slot does not exist,
      * it is created. Table index can be used to read the correct
      * pixblock from _slot */
     int _get_index(int slot);