summaryrefslogtreecommitdiff
path: root/fitz/res_colorspace.c
diff options
context:
space:
mode:
authorRobin Watts <robin.watts@artifex.com>2011-09-14 17:36:57 +0100
committerRobin Watts <Robin.Watts@artifex.com>2011-09-15 14:50:17 +0100
commitb51ef0eea028c73b6379e832eaa34fff3fbbb927 (patch)
tree1ab685ccd356e7fdc832b2e3322c0486b2670cfb /fitz/res_colorspace.c
parent89ae81f651bfa112b8e07317eb6983beaf7cb212 (diff)
downloadmupdf-b51ef0eea028c73b6379e832eaa34fff3fbbb927.tar.xz
Add context to mupdf.
Huge pervasive change to lots of files, adding a context for exception handling and allocation. In time we'll move more statics into there. Also fix some for(i = 0; i < function(...); i++) calls.
Diffstat (limited to 'fitz/res_colorspace.c')
-rw-r--r--fitz/res_colorspace.c30
1 files changed, 15 insertions, 15 deletions
diff --git a/fitz/res_colorspace.c b/fitz/res_colorspace.c
index 47df2b34..3f5cd47e 100644
--- a/fitz/res_colorspace.c
+++ b/fitz/res_colorspace.c
@@ -3,9 +3,9 @@
#define SLOWCMYK
fz_colorspace *
-fz_new_colorspace(char *name, int n)
+fz_new_colorspace(fz_context *ctx, char *name, int n)
{
- fz_colorspace *cs = fz_malloc(sizeof(fz_colorspace));
+ fz_colorspace *cs = fz_malloc(ctx, sizeof(fz_colorspace));
cs->refs = 1;
fz_strlcpy(cs->name, name, sizeof cs->name);
cs->n = n;
@@ -26,15 +26,15 @@ fz_keep_colorspace(fz_colorspace *cs)
}
void
-fz_drop_colorspace(fz_colorspace *cs)
+fz_drop_colorspace(fz_context *ctx, fz_colorspace *cs)
{
if (cs && cs->refs < 0)
return;
if (cs && --cs->refs == 0)
{
if (cs->free_data && cs->data)
- cs->free_data(cs);
- fz_free(cs);
+ cs->free_data(ctx, cs);
+ fz_free(ctx, cs);
}
}
@@ -372,7 +372,7 @@ static void fast_rgb_to_bgr(fz_pixmap *src, fz_pixmap *dst)
}
static void
-fz_std_conv_pixmap(fz_pixmap *src, fz_pixmap *dst)
+fz_std_conv_pixmap(fz_context *ctx, fz_pixmap *src, fz_pixmap *dst)
{
float srcv[FZ_MAX_COLORS];
float dstv[FZ_MAX_COLORS];
@@ -464,7 +464,7 @@ fz_std_conv_pixmap(fz_pixmap *src, fz_pixmap *dst)
fz_hash_table *lookup;
unsigned char *color;
- lookup = fz_new_hash_table(509, srcn);
+ lookup = fz_new_hash_table(ctx, 509, srcn);
for (y = 0; y < src->h; y++)
{
@@ -486,19 +486,19 @@ fz_std_conv_pixmap(fz_pixmap *src, fz_pixmap *dst)
for (k = 0; k < dstn; k++)
*d++ = dstv[k] * 255;
- fz_hash_insert(lookup, s - srcn, d - dstn);
+ fz_hash_insert(ctx, lookup, s - srcn, d - dstn);
*d++ = *s++;
}
}
}
- fz_free_hash(lookup);
+ fz_free_hash(ctx, lookup);
}
}
void
-fz_convert_pixmap(fz_pixmap *sp, fz_pixmap *dp)
+fz_convert_pixmap(fz_context *ctx, fz_pixmap *sp, fz_pixmap *dp)
{
fz_colorspace *ss = sp->colorspace;
fz_colorspace *ds = dp->colorspace;
@@ -514,7 +514,7 @@ fz_convert_pixmap(fz_pixmap *sp, fz_pixmap *dp)
if (ds == fz_device_rgb) fast_gray_to_rgb(sp, dp);
else if (ds == fz_device_bgr) fast_gray_to_rgb(sp, dp); /* bgr == rgb here */
else if (ds == fz_device_cmyk) fast_gray_to_cmyk(sp, dp);
- else fz_std_conv_pixmap(sp, dp);
+ else fz_std_conv_pixmap(ctx, sp, dp);
}
else if (ss == fz_device_rgb)
@@ -522,7 +522,7 @@ fz_convert_pixmap(fz_pixmap *sp, fz_pixmap *dp)
if (ds == fz_device_gray) fast_rgb_to_gray(sp, dp);
else if (ds == fz_device_bgr) fast_rgb_to_bgr(sp, dp);
else if (ds == fz_device_cmyk) fast_rgb_to_cmyk(sp, dp);
- else fz_std_conv_pixmap(sp, dp);
+ else fz_std_conv_pixmap(ctx, sp, dp);
}
else if (ss == fz_device_bgr)
@@ -530,7 +530,7 @@ fz_convert_pixmap(fz_pixmap *sp, fz_pixmap *dp)
if (ds == fz_device_gray) fast_bgr_to_gray(sp, dp);
else if (ds == fz_device_rgb) fast_rgb_to_bgr(sp, dp); /* bgr = rgb here */
else if (ds == fz_device_cmyk) fast_bgr_to_cmyk(sp, dp);
- else fz_std_conv_pixmap(sp, dp);
+ else fz_std_conv_pixmap(ctx, sp, dp);
}
else if (ss == fz_device_cmyk)
@@ -538,10 +538,10 @@ fz_convert_pixmap(fz_pixmap *sp, fz_pixmap *dp)
if (ds == fz_device_gray) fast_cmyk_to_gray(sp, dp);
else if (ds == fz_device_bgr) fast_cmyk_to_bgr(sp, dp);
else if (ds == fz_device_rgb) fast_cmyk_to_rgb(sp, dp);
- else fz_std_conv_pixmap(sp, dp);
+ else fz_std_conv_pixmap(ctx, sp, dp);
}
- else fz_std_conv_pixmap(sp, dp);
+ else fz_std_conv_pixmap(ctx, sp, dp);
}
/* Convert a single color */