egami
C++ Image Processing program
/homes/esi30/DCS339/coursework/src/Processes/negate.cpp
Go to the documentation of this file.
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 }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends