summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBob Jamison <ishmalius@gmail.com>2007-08-19 01:01:08 +0000
committerishmal <ishmal@users.sourceforge.net>2007-08-19 01:01:08 +0000
commit25414cbe769b30f6895373b4d7c17208e40c277f (patch)
tree6e467f21023f5c9f9b28a60e69abaabf21bf3c64 /src
parentSeparated the OCAL import and export dialogs into their own source file - oca... (diff)
downloadinkscape-25414cbe769b30f6895373b4d7c17208e40c277f.tar.gz
inkscape-25414cbe769b30f6895373b4d7c17208e40c277f.zip
fix build for boost and imagemagick
(bzr r3512)
Diffstat (limited to 'src')
-rw-r--r--src/extension/internal/bitmap/imagemagick.cpp32
1 files changed, 26 insertions, 6 deletions
diff --git a/src/extension/internal/bitmap/imagemagick.cpp b/src/extension/internal/bitmap/imagemagick.cpp
index 83650aaa7..db67294ea 100644
--- a/src/extension/internal/bitmap/imagemagick.cpp
+++ b/src/extension/internal/bitmap/imagemagick.cpp
@@ -55,7 +55,7 @@ void
ImageMagick::readImage(const char *xlink, Magick::Image *image)
{
// Find if the xlink:href is base64 data, i.e. if the image is embedded
- char *search = strndup(xlink, 30);
+ char *search = (char *) g_strndup(xlink, 30);
if (strstr(search, "base64") != (char*)NULL) {
// 7 = strlen("base64") + strlen(",")
char* pureBase64 = strstr(xlink, "base64") + 7;
@@ -116,11 +116,12 @@ ImageMagick::effect (Inkscape::Extension::Effect *module, Inkscape::UI::View::Vi
effectedImage.write(&blob);
std::string raw_string = blob.base64();
- const int raw_len = raw_string.length();
const char *raw = raw_string.c_str();
- const char *raw_i = raw;
-
- int formatted_len = (int)(raw_len / 76.0 * 78.0) + 100;
+
+ /*
+ const int raw_len = raw_string.length();
+ const char *raw_i = raw;
+ int formatted_len = (int)(raw_len / 76.0 * 78.0) + 100;
char *formatted = new char[formatted_len];
char *formatted_i = formatted;
// data:image/png;base64,
@@ -140,8 +141,27 @@ ImageMagick::effect (Inkscape::Extension::Effect *module, Inkscape::UI::View::Vi
}
formatted_i = stpcpy(formatted_i, "\0");
-
+
_nodes[i]->setAttribute("xlink:href", formatted, true);
+ */
+
+ Glib::ustring buf = "data:image/";
+ buf.append(effectedImage.magick());
+ buf.append(";base64, \n");
+ int col = 0;
+ while (*raw)
+ {
+ buf.push_back(*raw++);
+ if (col>=76)
+ {
+ buf.push_back('\n');
+ col = 0;
+ }
+ }
+ if (col)
+ buf.push_back('\n');
+
+ _nodes[i]->setAttribute("xlink:href", buf.c_str(), true);
}
catch (Magick::Exception &error_) {
printf("Caught exception: %s \n", error_.what());