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 Image_unit *out(new Image_unit(*in)); 00014 for(Image_unit::iterator it=out->begin(); it!=out->end(); ++it) 00015 *it={ 255-it->r, 255-it->g, 255-it->b }; 00016 return out; 00017 } 00018 } 00019 00020 namespace Processes{ 00021 void negate(){ 00022 Gtk::Image icon(cmake_install_prefix+std::string("/share/egami/icons/negate.png")); 00023 std::shared_ptr<Processing_unit> pu(new Processing_unit(Processing(&impl), "Negate", icon, false)); 00024 Processing_page::add_unit_to_page("Colours", pu); 00025 } 00026 }