summaryrefslogtreecommitdiffstats
path: root/src/display
diff options
context:
space:
mode:
Diffstat (limited to 'src/display')
-rw-r--r--src/display/Makefile_insert4
-rw-r--r--src/display/cairo-utils.cpp69
-rw-r--r--src/display/cairo-utils.h3
-rw-r--r--src/display/canvas-arena.cpp17
-rw-r--r--src/display/canvas-arena.h8
-rw-r--r--src/display/canvas-axonomgrid.cpp1
-rw-r--r--src/display/canvas-bpath.cpp10
-rw-r--r--src/display/canvas-grid.cpp1
-rw-r--r--src/display/canvas-text.cpp23
-rw-r--r--src/display/nr-light.cpp20
-rw-r--r--src/display/nr-plain-stuff-gdk.cpp46
-rw-r--r--src/display/nr-plain-stuff-gdk.h32
-rw-r--r--src/display/nr-plain-stuff.cpp94
-rw-r--r--src/display/nr-plain-stuff.h33
-rw-r--r--src/display/sodipodi-ctrl.cpp1
-rw-r--r--src/display/sp-canvas-util.cpp1
16 files changed, 99 insertions, 264 deletions
diff --git a/src/display/Makefile_insert b/src/display/Makefile_insert
index a860c6a44..916dd6dc3 100644
--- a/src/display/Makefile_insert
+++ b/src/display/Makefile_insert
@@ -89,10 +89,6 @@ ink_common_sources += \
display/nr-light.cpp \
display/nr-light.h \
display/nr-light-types.h \
- display/nr-plain-stuff.cpp \
- display/nr-plain-stuff.h \
- display/nr-plain-stuff-gdk.cpp \
- display/nr-plain-stuff-gdk.h \
display/nr-style.cpp \
display/nr-style.h \
display/nr-svgfonts.cpp \
diff --git a/src/display/cairo-utils.cpp b/src/display/cairo-utils.cpp
index 96219e834..ed4de8afc 100644
--- a/src/display/cairo-utils.cpp
+++ b/src/display/cairo-utils.cpp
@@ -464,11 +464,76 @@ ink_cairo_surface_get_height(cairo_surface_t *surface)
return cairo_image_surface_get_height(surface);
}
+static int ink_cairo_surface_average_color_internal(cairo_surface_t *surface, double &rf, double &gf, double &bf, double &af)
+{
+ rf = gf = bf = af = 0.0;
+ cairo_surface_flush(surface);
+ int width = cairo_image_surface_get_width(surface);
+ int height = cairo_image_surface_get_height(surface);
+ int stride = cairo_image_surface_get_stride(surface);
+ unsigned char *data = cairo_image_surface_get_data(surface);
+
+ /* TODO convert this to OpenMP somehow */
+ for (int y = 0; y < height; ++y, data += stride) {
+ for (int x = 0; x < width; ++x) {
+ guint32 px = *reinterpret_cast<guint32*>(data + 4*x);
+ EXTRACT_ARGB32(px, a,r,g,b)
+ rf += r / 255.0;
+ gf += g / 255.0;
+ bf += b / 255.0;
+ af += a / 255.0;
+ }
+ }
+ return width * height;
+}
+
+guint32 ink_cairo_surface_average_color(cairo_surface_t *surface)
+{
+ double rf,gf,bf,af;
+ ink_cairo_surface_average_color_premul(surface, rf,gf,bf,af);
+ guint32 r = round(rf * 255);
+ guint32 g = round(gf * 255);
+ guint32 b = round(bf * 255);
+ guint32 a = round(af * 255);
+ ASSEMBLE_ARGB32(px, a,r,g,b);
+ return px;
+}
+
+void ink_cairo_surface_average_color(cairo_surface_t *surface, double &r, double &g, double &b, double &a)
+{
+ int count = ink_cairo_surface_average_color_internal(surface, r,g,b,a);
+
+ r /= a;
+ g /= a;
+ b /= a;
+ a /= count;
+
+ r = CLAMP(r, 0.0, 1.0);
+ g = CLAMP(g, 0.0, 1.0);
+ b = CLAMP(b, 0.0, 1.0);
+ a = CLAMP(a, 0.0, 1.0);
+}
+
+void ink_cairo_surface_average_color_premul(cairo_surface_t *surface, double &r, double &g, double &b, double &a)
+{
+ int count = ink_cairo_surface_average_color_internal(surface, r,g,b,a);
+
+ r /= count;
+ g /= count;
+ b /= count;
+ a /= count;
+
+ r = CLAMP(r, 0.0, 1.0);
+ g = CLAMP(g, 0.0, 1.0);
+ b = CLAMP(b, 0.0, 1.0);
+ a = CLAMP(a, 0.0, 1.0);
+}
+
cairo_pattern_t *
ink_cairo_pattern_create_checkerboard()
{
- int const w = 8;
- int const h = 8;
+ int const w = 6;
+ int const h = 6;
cairo_surface_t *s = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 2*w, 2*h);
diff --git a/src/display/cairo-utils.h b/src/display/cairo-utils.h
index aa441f0c5..d563cfb75 100644
--- a/src/display/cairo-utils.h
+++ b/src/display/cairo-utils.h
@@ -95,6 +95,9 @@ cairo_surface_t *ink_cairo_surface_create_output(cairo_surface_t *image, cairo_s
void ink_cairo_surface_blit(cairo_surface_t *src, cairo_surface_t *dest);
int ink_cairo_surface_get_width(cairo_surface_t *surface);
int ink_cairo_surface_get_height(cairo_surface_t *surface);
+guint32 ink_cairo_surface_average_color(cairo_surface_t *surface);
+void ink_cairo_surface_average_color(cairo_surface_t *surface, double &r, double &g, double &b, double &a);
+void ink_cairo_surface_average_color_premul(cairo_surface_t *surface, double &r, double &g, double &b, double &a);
cairo_pattern_t *ink_cairo_pattern_create_checkerboard();
diff --git a/src/display/canvas-arena.cpp b/src/display/canvas-arena.cpp
index 6f85573d1..f1355b9c4 100644
--- a/src/display/canvas-arena.cpp
+++ b/src/display/canvas-arena.cpp
@@ -21,7 +21,6 @@
#include "display/nr-arena-group.h"
#include "display/canvas-arena.h"
#include "display/cairo-utils.h"
-#include "libnr/nr-pixblock.h"
enum {
ARENA_EVENT,
@@ -358,22 +357,14 @@ sp_canvas_arena_set_sticky (SPCanvasArena *ca, gboolean sticky)
}
void
-sp_canvas_arena_render_pixblock (SPCanvasArena *ca, NRPixBlock *pb)
+sp_canvas_arena_render_surface (SPCanvasArena *ca, cairo_surface_t *surface, NRRectL const &r)
{
- NRRectL area;
-
g_return_if_fail (ca != NULL);
g_return_if_fail (SP_IS_CANVAS_ARENA (ca));
- /* fixme: */
- pb->empty = FALSE;
-
- area.x0 = pb->area.x0;
- area.y0 = pb->area.y0;
- area.x1 = pb->area.x1;
- area.y1 = pb->area.y1;
-
- nr_arena_item_invoke_render (NULL, ca->root, &area, pb, 0);
+ cairo_t *ct = cairo_create(surface);
+ nr_arena_item_invoke_render (ct, ca->root, &r, NULL, 0);
+ cairo_destroy(ct);
}
diff --git a/src/display/canvas-arena.h b/src/display/canvas-arena.h
index 34bc19946..df484197a 100644
--- a/src/display/canvas-arena.h
+++ b/src/display/canvas-arena.h
@@ -13,8 +13,10 @@
* Released under GNU GPL, read the file 'COPYING' for more information
*/
-#include "../display/sp-canvas.h"
-#include "nr-arena-item.h"
+#include <cairo.h>
+#include <2geom/rect.h>
+#include "display/sp-canvas.h"
+#include "display/nr-arena-item.h"
G_BEGIN_DECLS
@@ -55,7 +57,7 @@ GtkType sp_canvas_arena_get_type (void);
void sp_canvas_arena_set_pick_delta (SPCanvasArena *ca, gdouble delta);
void sp_canvas_arena_set_sticky (SPCanvasArena *ca, gboolean sticky);
-void sp_canvas_arena_render_pixblock (SPCanvasArena *ca, NRPixBlock *pb);
+void sp_canvas_arena_render_surface (SPCanvasArena *ca, cairo_surface_t *surface, NRRectL const &area);
G_END_DECLS
diff --git a/src/display/canvas-axonomgrid.cpp b/src/display/canvas-axonomgrid.cpp
index 1383f7f4e..00a577635 100644
--- a/src/display/canvas-axonomgrid.cpp
+++ b/src/display/canvas-axonomgrid.cpp
@@ -28,7 +28,6 @@
#include "document.h"
#include "helper/units.h"
#include "inkscape.h"
-#include "libnr/nr-pixops.h"
#include "preferences.h"
#include "sp-namedview.h"
#include "sp-object.h"
diff --git a/src/display/canvas-bpath.cpp b/src/display/canvas-bpath.cpp
index ac2980de5..bd24881f7 100644
--- a/src/display/canvas-bpath.cpp
+++ b/src/display/canvas-bpath.cpp
@@ -21,22 +21,12 @@
#include "display/display-forward.h"
#include "display/curve.h"
#include "display/cairo-utils.h"
-#include <libnr/nr-pixops.h>
#include "helper/geom.h"
#include <sstream>
#include <string.h>
#include <desktop.h>
-/**
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-#include <color.h>
-
-#include <libnr/nr-pixops.h>
-**/
-
void nr_pixblock_render_bpath_rgba (Shape* theS,uint32_t color,NRRectL &area,char* destBuf,int stride);
static void sp_canvas_bpath_class_init (SPCanvasBPathClass *klass);
diff --git a/src/display/canvas-grid.cpp b/src/display/canvas-grid.cpp
index 5dae228b4..b04dc4483 100644
--- a/src/display/canvas-grid.cpp
+++ b/src/display/canvas-grid.cpp
@@ -23,7 +23,6 @@
#include "document.h"
#include "helper/units.h"
#include "inkscape.h"
-#include "libnr/nr-pixops.h"
#include "preferences.h"
#include "sp-namedview.h"
#include "sp-object.h"
diff --git a/src/display/canvas-text.cpp b/src/display/canvas-text.cpp
index 90f7c47c6..ab49d1fe3 100644
--- a/src/display/canvas-text.cpp
+++ b/src/display/canvas-text.cpp
@@ -13,20 +13,19 @@
* Released under GNU GPL, read the file 'COPYING' for more information
*/
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <sstream>
+#include <string.h>
+
#include "display-forward.h"
#include "sp-canvas-util.h"
#include "canvas-text.h"
#include "display/cairo-utils.h"
-#include <sstream>
-#include <string.h>
#include "desktop.h"
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-#include <color.h>
-
-#include <libnr/nr-pixops.h>
+#include "color.h"
static void sp_canvastext_class_init (SPCanvasTextClass *klass);
static void sp_canvastext_init (SPCanvasText *canvastext);
@@ -124,13 +123,11 @@ sp_canvastext_render (SPCanvasItem *item, SPCanvasBuf *buf)
cairo_set_font_size(buf->ct, cl->fontsize);
cairo_text_path(buf->ct, cl->text);
- cairo_set_source_rgba(buf->ct, SP_RGBA32_B_F(cl->rgba_stroke), SP_RGBA32_G_F(cl->rgba_stroke), SP_RGBA32_R_F(cl->rgba_stroke), SP_RGBA32_A_F(cl->rgba_stroke));
+ ink_cairo_set_source_rgba32(buf->ct, cl->rgba_stroke);
cairo_set_line_width (buf->ct, 2.0);
cairo_stroke_preserve(buf->ct);
- cairo_set_source_rgba(buf->ct, SP_RGBA32_B_F(cl->rgba), SP_RGBA32_G_F(cl->rgba), SP_RGBA32_R_F(cl->rgba), SP_RGBA32_A_F(cl->rgba));
+ ink_cairo_set_source_rgba32(buf->ct, cl->rgba);
cairo_fill(buf->ct);
-
- cairo_new_path(buf->ct);
}
static void
diff --git a/src/display/nr-light.cpp b/src/display/nr-light.cpp
index a3373aadb..3d441a8ec 100644
--- a/src/display/nr-light.cpp
+++ b/src/display/nr-light.cpp
@@ -13,12 +13,12 @@
#include <cmath>
-#include "libnr/nr-pixops.h"
#include "display/nr-light.h"
#include "display/nr-3dutils.h"
#include "filters/distantlight.h"
#include "filters/pointlight.h"
#include "filters/spotlight.h"
+#include "color.h"
namespace Inkscape {
namespace Filters {
@@ -38,9 +38,9 @@ void DistantLight::light_vector(NR::Fvector &v) {
}
void DistantLight::light_components(NR::Fvector &lc) {
- lc[LIGHT_RED] = NR_RGBA32_R(color);
- lc[LIGHT_GREEN] = NR_RGBA32_G(color);
- lc[LIGHT_BLUE] = NR_RGBA32_B(color);
+ lc[LIGHT_RED] = SP_RGBA32_R_U(color);
+ lc[LIGHT_GREEN] = SP_RGBA32_G_U(color);
+ lc[LIGHT_BLUE] = SP_RGBA32_B_U(color);
}
PointLight::PointLight(SPFePointLight *light, guint32 lighting_color, const Geom::Matrix &trans) {
@@ -61,9 +61,9 @@ void PointLight::light_vector(NR::Fvector &v, gdouble x, gdouble y, gdouble z) {
}
void PointLight::light_components(NR::Fvector &lc) {
- lc[LIGHT_RED] = NR_RGBA32_R(color);
- lc[LIGHT_GREEN] = NR_RGBA32_G(color);
- lc[LIGHT_BLUE] = NR_RGBA32_B(color);
+ lc[LIGHT_RED] = SP_RGBA32_R_U(color);
+ lc[LIGHT_GREEN] = SP_RGBA32_G_U(color);
+ lc[LIGHT_BLUE] = SP_RGBA32_B_U(color);
}
SpotLight::SpotLight(SPFeSpotLight *light, guint32 lighting_color, const Geom::Matrix &trans) {
@@ -101,9 +101,9 @@ void SpotLight::light_components(NR::Fvector &lc, const NR::Fvector &L) {
spmod = 0;
else
spmod = std::pow(spmod, speExp);
- lc[LIGHT_RED] = spmod * NR_RGBA32_R(color);
- lc[LIGHT_GREEN] = spmod * NR_RGBA32_G(color);
- lc[LIGHT_BLUE] = spmod * NR_RGBA32_B(color);
+ lc[LIGHT_RED] = spmod * SP_RGBA32_R_U(color);
+ lc[LIGHT_GREEN] = spmod * SP_RGBA32_G_U(color);
+ lc[LIGHT_BLUE] = spmod * SP_RGBA32_B_U(color);
}
} /* namespace Filters */
diff --git a/src/display/nr-plain-stuff-gdk.cpp b/src/display/nr-plain-stuff-gdk.cpp
deleted file mode 100644
index d5b43f4ea..000000000
--- a/src/display/nr-plain-stuff-gdk.cpp
+++ /dev/null
@@ -1,46 +0,0 @@
-#define __NR_PLAIN_STUFF_GDK_C__
-
-/*
- * Miscellaneous simple rendering utilities
- *
- * Author:
- * Lauris Kaplinski <lauris@ximian.com>
- *
- * Copyright (C) 2001 Lauris Kaplinski and Ximian, Inc.
- *
- * Released under GNU GPL
- */
-
-#include <libnr/nr-pixblock-pattern.h>
-#include "nr-plain-stuff.h"
-#include "nr-plain-stuff-gdk.h"
-
-void
-nr_gdk_draw_rgba32_solid (GdkDrawable *drawable, GdkGC *gc, gint x, gint y, gint w, gint h, guint32 rgba)
-{
- NRPixBlock pb;
-
- nr_pixblock_setup_fast (&pb, NR_PIXBLOCK_MODE_R8G8B8A8N, 0, 0, w, h, FALSE);
-
- nr_render_rgba32_rgb (NR_PIXBLOCK_PX (&pb), w, h, pb.rs, x, y, rgba);
- gdk_draw_rgb_image (drawable, gc, x, y, w, h, GDK_RGB_DITHER_MAX, NR_PIXBLOCK_PX (&pb), pb.rs);
-
- nr_pixblock_release (&pb);
-}
-
-void
-nr_gdk_draw_gray_garbage (GdkDrawable *drawable, GdkGC *gc, gint x, gint y, gint w, gint h)
-{
- for (gint yy = y; yy < y + h; yy += 64) {
- for (gint xx = x; xx < x + w; xx += 64) {
- NRPixBlock pb;
- gint ex = MIN (xx + 64, x + w);
- gint ey = MIN (yy + 64, y + h);
- nr_pixblock_setup_fast (&pb, NR_PIXBLOCK_MODE_R8G8B8, xx, yy, ex, ey, FALSE);
- nr_pixblock_render_gray_noise (&pb, NULL);
- gdk_draw_rgb_image (drawable, gc, xx, yy, ex - xx, ey - yy, GDK_RGB_DITHER_NONE, NR_PIXBLOCK_PX (&pb), pb.rs);
- nr_pixblock_release (&pb);
- }
- }
-}
-
diff --git a/src/display/nr-plain-stuff-gdk.h b/src/display/nr-plain-stuff-gdk.h
deleted file mode 100644
index 7c83792a8..000000000
--- a/src/display/nr-plain-stuff-gdk.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef __NR_PLAIN_STUFF_GDK_H__
-#define __NR_PLAIN_STUFF_GDK_H__
-
-/*
- * Miscellaneous simple rendering utilities
- *
- * Author:
- * Lauris Kaplinski <lauris@ximian.com>
- *
- * Copyright (C) 2001 Lauris Kaplinski and Ximian, Inc.
- *
- * Released under GNU GPL
- */
-
-#include <gdk/gdk.h>
-
-void nr_gdk_draw_rgba32_solid (GdkDrawable *drawable, GdkGC *gc, gint x, gint y, gint w, gint h, guint32 rgba);
-
-void nr_gdk_draw_gray_garbage (GdkDrawable *drawable, GdkGC *gc, gint x, gint y, gint w, gint h);
-
-#endif
-
-/*
- Local Variables:
- mode:c++
- c-file-style:"stroustrup"
- c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
- indent-tabs-mode:nil
- fill-column:99
- End:
-*/
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :
diff --git a/src/display/nr-plain-stuff.cpp b/src/display/nr-plain-stuff.cpp
deleted file mode 100644
index 62a61102e..000000000
--- a/src/display/nr-plain-stuff.cpp
+++ /dev/null
@@ -1,94 +0,0 @@
-#define __NR_PLAIN_STUFF_C__
-
-/*
- * Miscellaneous simple rendering utilities
- *
- * Author:
- * Lauris Kaplinski <lauris@ximian.com>
- *
- * Copyright (C) 2001 Lauris Kaplinski and Ximian, Inc.
- *
- * Released under GNU GPL
- */
-
-#include <glib/gmessages.h>
-#include <libnr/nr-pixops.h>
-#include "nr-plain-stuff.h"
-
-#define NR_DEFAULT_CHECKERSIZEP2 2
-#define NR_DEFAULT_CHECKERCOLOR0 0xbfbfbfff
-#define NR_DEFAULT_CHECKERCOLOR1 0x808080ff
-
-void
-nr_render_checkerboard_rgb (guchar *px, gint w, gint h, gint rs, gint xoff, gint yoff)
-{
- g_return_if_fail (px != NULL);
-
- nr_render_checkerboard_rgb_custom (px, w, h, rs, xoff, yoff, NR_DEFAULT_CHECKERCOLOR0, NR_DEFAULT_CHECKERCOLOR1, NR_DEFAULT_CHECKERSIZEP2);
-}
-
-void
-nr_render_checkerboard_rgb_custom (guchar *px, gint w, gint h, gint rs, gint xoff, gint yoff, guint32 c0, guint32 c1, gint sizep2)
-{
- gint x, y, m;
- guint r0, g0, b0;
- guint r1, g1, b1;
-
- g_return_if_fail (px != NULL);
- g_return_if_fail (sizep2 >= 0);
- g_return_if_fail (sizep2 <= 8);
-
- xoff &= 0x1ff;
- yoff &= 0x1ff;
- m = 0x1 << sizep2;
- r0 = NR_RGBA32_R (c0);
- g0 = NR_RGBA32_G (c0);
- b0 = NR_RGBA32_B (c0);
- r1 = NR_RGBA32_R (c1);
- g1 = NR_RGBA32_G (c1);
- b1 = NR_RGBA32_B (c1);
-
- for (y = 0; y < h; y++) {
- guchar *p;
- p = px;
- for (x = 0; x < w; x++) {
- if (((x + xoff) ^ (y + yoff)) & m) {
- *p++ = r0;
- *p++ = g0;
- *p++ = b0;
- } else {
- *p++ = r1;
- *p++ = g1;
- *p++ = b1;
- }
- }
- px += rs;
- }
-}
-
-void
-nr_render_rgba32_rgb (guchar *px, gint w, gint h, gint rs, gint xoff, gint yoff, guint32 c)
-{
- guint32 c0, c1;
- gint a, r, g, b, cr, cg, cb;
-
- g_return_if_fail (px != NULL);
-
- r = NR_RGBA32_R (c);
- g = NR_RGBA32_G (c);
- b = NR_RGBA32_B (c);
- a = NR_RGBA32_A (c);
-
- cr = NR_COMPOSEN11_1111 (r, a, NR_RGBA32_R (NR_DEFAULT_CHECKERCOLOR0));
- cg = NR_COMPOSEN11_1111 (g, a, NR_RGBA32_G (NR_DEFAULT_CHECKERCOLOR0));
- cb = NR_COMPOSEN11_1111 (b, a, NR_RGBA32_B (NR_DEFAULT_CHECKERCOLOR0));
- c0 = (cr << 24) | (cg << 16) | (cb << 8) | 0xff;
-
- cr = NR_COMPOSEN11_1111 (r, a, NR_RGBA32_R (NR_DEFAULT_CHECKERCOLOR1));
- cg = NR_COMPOSEN11_1111 (g, a, NR_RGBA32_G (NR_DEFAULT_CHECKERCOLOR1));
- cb = NR_COMPOSEN11_1111 (b, a, NR_RGBA32_B (NR_DEFAULT_CHECKERCOLOR1));
- c1 = (cr << 24) | (cg << 16) | (cb << 8) | 0xff;
-
- nr_render_checkerboard_rgb_custom (px, w, h, rs, xoff, yoff, c0, c1, NR_DEFAULT_CHECKERSIZEP2);
-}
-
diff --git a/src/display/nr-plain-stuff.h b/src/display/nr-plain-stuff.h
deleted file mode 100644
index c568f38a6..000000000
--- a/src/display/nr-plain-stuff.h
+++ /dev/null
@@ -1,33 +0,0 @@
-#ifndef __NR_PLAIN_STUFF_H__
-#define __NR_PLAIN_STUFF_H__
-
-/*
- * Miscellaneous simple rendering utilities
- *
- * Author:
- * Lauris Kaplinski <lauris@ximian.com>
- *
- * Copyright (C) 2001 Lauris Kaplinski and Ximian, Inc.
- *
- * Released under GNU GPL
- */
-
-#include <glib/gtypes.h>
-
-void nr_render_checkerboard_rgb (guchar *px, gint w, gint h, gint rs, gint xoff, gint yoff);
-void nr_render_checkerboard_rgb_custom (guchar *px, gint w, gint h, gint rs, gint xoff, gint yoff, guint32 c0, guint32 c1, gint sizep2);
-
-void nr_render_rgba32_rgb (guchar *px, gint w, gint h, gint rs, gint xoff, gint yoff, guint32 c);
-
-#endif
-
-/*
- Local Variables:
- mode:c++
- c-file-style:"stroustrup"
- c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
- indent-tabs-mode:nil
- fill-column:99
- End:
-*/
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :
diff --git a/src/display/sodipodi-ctrl.cpp b/src/display/sodipodi-ctrl.cpp
index 37685c5da..28488e7c3 100644
--- a/src/display/sodipodi-ctrl.cpp
+++ b/src/display/sodipodi-ctrl.cpp
@@ -12,7 +12,6 @@
#include "sp-canvas-util.h"
#include "display-forward.h"
#include "sodipodi-ctrl.h"
-#include "libnr/nr-pixops.h"
#include "display/cairo-utils.h"
enum {
diff --git a/src/display/sp-canvas-util.cpp b/src/display/sp-canvas-util.cpp
index 83604a1bf..1e7ba49ac 100644
--- a/src/display/sp-canvas-util.cpp
+++ b/src/display/sp-canvas-util.cpp
@@ -14,7 +14,6 @@
#include <2geom/matrix.h>
-#include "libnr/nr-pixops.h"
#include "sp-canvas-util.h"
#include <string.h> /* for memset */