//compute //----------------------------------------------- MStatus Ocio_test::compute(const MPlug &plug, MDataBlock &data) { //wrong plug requested //----------------------------------------------- if ((plug != a_output_color) && (plug.parent() != a_output_color)) { return MStatus::kUnknownParameter; }; //right plug requested //----------------------------------------------- //get attributes from datablock //----------------------------------------------- int verbose = static_cast<int>(data.inputValue(a_verbose).asShort()); int change_list_index = static_cast<int>(data.inputValue(a_change_list).asShort()); int last_change_index = data.inputValue(a_last_change_index).asInt(); int width = data.inputValue(a_width).asInt(); int height = data.inputValue(a_height).asInt(); //vec_input_color MDataHandle h_input_color = data.inputValue(a_input_color); MFloatVector& vec_input_color = h_input_color.asFloatVector(); //compute //----------------------------------------------- //check if attrs are connected if (!all_attrs_connected()) { if (verbose) MGlobal::displayInfo("Some attrs are not connected. Returning...."); return MStatus::kSuccess; }; //check if width or height == 0 if (width == 0 || height == 0) { if (verbose) MGlobal::displayInfo("Either width or height is zero. Returning...."); return MStatus::kSuccess; }; //rebuild_input_colorspace if (!last_change_index == change_list_index) { //log if (verbose) MGlobal::displayInfo("Rebuild input colorspace"); //rebuild input colorspace rebuild_input_colorspace(change_list_index, data); } //print_config_info //print_config_info(); //set output color set_output_color(vec_input_color, data); //log //if (verbose) //MGlobal::displayInfo("Compute executed"); //return success return MStatus::kSuccess; }
//compute MStatus Ocio_log_convert::compute(const MPlug &plug, MDataBlock &data) { //wrong plug requested //----------------------------------------------- //----------------------------------------------- if ((plug != a_output_color) && (plug.parent() != a_output_color)) { return MStatus::kUnknownParameter; } //right plug requested //----------------------------------------------- //----------------------------------------------- //Get attributes //----------------------------------------------- //env_or_file int env_or_file = data.inputValue(a_env_or_file).asInt(); //last_env_or_file int last_env_or_file = data.inputValue(a_last_env_or_file).asInt(); //config_file_path std::string config_file_path = get_string_attribute(std::string("config_file_path")); //last_config_file_path std::string last_config_file_path = get_string_attribute(std::string("last_config_file_path")); //operation int operation = data.inputValue(a_operation).asInt(); //last_operation int last_operation = data.inputValue(a_last_operation).asInt(); //Set processor //----------------------------------------------- //first_execution if (first_execution) set_processor(env_or_file, config_file_path, operation); //env_or_file else if (env_or_file != last_env_or_file) set_processor(env_or_file, config_file_path, operation); //config_file_path else if (config_file_path.compare(last_config_file_path) != 0) set_processor(env_or_file, config_file_path, operation); //operation else if (operation != last_operation) set_processor(env_or_file, config_file_path, operation); //Color conversion //----------------------------------------------- //vec_input_color MDataHandle h_input_color = data.inputValue(a_input_color); MFloatVector& vec_input_color = h_input_color.asFloatVector(); //transform_color if (processor) color_transform(vec_input_color); //set output color set_output_color(vec_input_color, data); //Set attributes //----------------------------------------------- //last_env_or_file set_int_attribute("last_env_or_file", env_or_file); //last_config_file_path set_string_attribute("last_config_file_path", config_file_path); //last_operation set_int_attribute("last_operation", operation); //set first execution to false first_execution = false; //return success return MStatus::kSuccess; }
inline void color_normal (FILE *out_fd) { get_console_handle(); set_output_color(default_attr); }
inline void color_highlight_line_no(FILE *out_fd) { set_output_color( FOREGROUND_RED | FOREGROUND_INTENSITY ); }
inline void color_highlight_match (FILE *out_fd) { set_output_color(FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_INTENSITY ); }
void color_highlight_path(FILE *out_fd) { set_output_color(FOREGROUND_BLUE | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY); }