egami
C++ Image Processing program
|
00001 #include <memory> 00002 #include <string> 00003 00004 #include <gtkmm/image.h> 00005 00006 #include "../display_unit.hpp" 00007 #include "../processing_page.hpp" 00008 #include "../processing_unit.hpp" 00009 #include "../utils.hpp" 00010 00011 namespace{ 00012 Display_unit *impl(const Image_unit *in){ 00013 if(in->has_roi()){ 00014 Image_unit *out=new Image_unit(in, in->height(), in->width()); 00015 for(unsigned y=0; y<in->height(); ++y) 00016 for(unsigned x=0; x<in->width(); ++x) 00017 (*out)[y][x]=(*in)[y][x]; 00018 return out; 00019 } else 00020 return new Image_unit(*in); 00021 } 00022 } 00023 00024 namespace Processes{ 00025 void copy(){ 00026 Gtk::Image icon(cmake_install_prefix+std::string("/share/egami/icons/copy.png")); 00027 std::shared_ptr<Processing_unit> pu(new Processing_unit(Processing(&impl), "Copy", icon, true)); 00028 Processing_page::add_unit_to_page("Tools", pu); 00029 } 00030 }