From f85070c1c62fb078b856251126cdc50b863ca771 Mon Sep 17 00:00:00 2001 From: David Capello Date: Sat, 9 Oct 2010 14:15:11 -0300 Subject: [PATCH] Add Dirty::getMemSize() method. --- src/raster/dirty.cpp | 15 +++++++++++++++ src/raster/dirty.h | 2 ++ 2 files changed, 17 insertions(+) diff --git a/src/raster/dirty.cpp b/src/raster/dirty.cpp index 5d6d27a60..5ed499897 100644 --- a/src/raster/dirty.cpp +++ b/src/raster/dirty.cpp @@ -221,6 +221,21 @@ void dirty_free(Dirty* dirty) jfree(dirty); } +int Dirty::getMemSize() const +{ + int u, v, size = 4+1+2*4+2; /* DWORD+BYTE+WORD[4]+WORD */ + + for (v=0; vrows; v++) { + size += 4; /* y, cols (WORD[2]) */ + for (u=0; urow[v].cols; u++) { + size += 4; /* x, w (WORD[2]) */ + size += image_line_size(this->image, this->row[v].col[u].w); + } + } + + return size; +} + void dirty_hline(Dirty* dirty, int x1, int y, int x2) { DirtyRow* row; /* row=dirty->row+v */ diff --git a/src/raster/dirty.h b/src/raster/dirty.h index f1c9b660b..d1b2850fd 100644 --- a/src/raster/dirty.h +++ b/src/raster/dirty.h @@ -52,6 +52,8 @@ struct Dirty int rows; DirtyRow* row; Mask* mask; + + int getMemSize() const; }; Dirty* dirty_new(Image* image, int x1, int y1, int x2, int y2, bool tiled);