diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ScreenDump.H | 5 | ||||
-rw-r--r-- | src/ScreenDump.cxx | 12 | ||||
-rw-r--r-- | src/gipfel.cxx | 3 |
3 files changed, 10 insertions, 10 deletions
diff --git a/src/ScreenDump.H b/src/ScreenDump.H index c0c9d21..d99a72d 100644 --- a/src/ScreenDump.H +++ b/src/ScreenDump.H @@ -8,6 +8,7 @@ #define SCREENDUMP_H #include "GipfelWidget.H" +#include "OutputImage.H" class ScreenDump { private: @@ -15,10 +16,10 @@ class ScreenDump { unsigned char * rgb; public: - ScreenDump(GipfelWidget *g); + ScreenDump(GipfelWidget *gipf); ~ScreenDump(); - int save(const char *file); + int save(OutputImage *out); }; #endif diff --git a/src/ScreenDump.cxx b/src/ScreenDump.cxx index 3bfd483..7a3447a 100644 --- a/src/ScreenDump.cxx +++ b/src/ScreenDump.cxx @@ -2,7 +2,6 @@ #include <FL/x.H> #include <FL/fl_draw.H> -#include "JPEGOutputImage.H" #include "ScreenDump.H" ScreenDump::ScreenDump(GipfelWidget *gipf) { @@ -27,18 +26,17 @@ ScreenDump::~ScreenDump() { } int -ScreenDump::save(const char *file) { - JPEGOutputImage out(file, 95); +ScreenDump::save(OutputImage *out) { - out.init(w, h); + out->init(w, h); for (int y = 0; y < h; y++) { for (int x = 0; x < w; x++) { unsigned char *px = &rgb[(y * w + x) * 3]; - out.set_pixel(x, px[0] * 255, px[1] * 255, px[2] * 255); + out->set_pixel(x, px[0] * 255, px[1] * 255, px[2] * 255); } - out.next_line(); + out->next_line(); } - return out.done(); + return out->done(); } diff --git a/src/gipfel.cxx b/src/gipfel.cxx index 2b665b5..368d6ae 100644 --- a/src/gipfel.cxx +++ b/src/gipfel.cxx @@ -139,8 +139,9 @@ void save_cb() { void dump_cb(Fl_Widget * o, void*) { ScreenDump dmp(gipf); + JPEGOutputImage out("/tmp/dmp.jpg"); - dmp.save("/tmp/dmp.jpg"); + dmp.save(&out); } void focal_length_cb(Fl_Slider* o, void*) { |