예제 #1
0
//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;

}
예제 #3
0
inline void color_normal           (FILE *out_fd) {
    get_console_handle();
    set_output_color(default_attr);
}
예제 #4
0
inline void color_highlight_line_no(FILE *out_fd) { set_output_color(                  FOREGROUND_RED |                    FOREGROUND_INTENSITY ); }
예제 #5
0
inline void color_highlight_match  (FILE *out_fd) { set_output_color(FOREGROUND_BLUE |                  FOREGROUND_GREEN | FOREGROUND_INTENSITY ); }
예제 #6
0
파일: print.c 프로젝트: TidyHuang/DLP
void color_highlight_path(FILE *out_fd) { set_output_color(FOREGROUND_BLUE | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY); }