/*-----------------------------------------------------------------
LOG
    GEM - Graphics Environment for Multimedia

    Pixel color inversion

    Copyright (c) 2000 Guenter Geiger
    For information on usage and redistribution, and for a DISCLAIMER OF ALL
    WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.

-----------------------------------------------------------------*/

#ifndef INCLUDE_MGCK_EDGE_H_
#define INCLUDE_MGCK_EDGE_H_

#include "Base/GemPixObj.h"
#include <stdio.h>
#include <magick/api.h>

/*-----------------------------------------------------------------
-------------------------------------------------------------------
CLASS
    mgck_edge
    
    Pixel color inversion

KEYWORDS
    pix
    
DESCRIPTION

-----------------------------------------------------------------*/
class GEM_EXTERN mgck_edge : public GemPixObj
{
    CPPEXTERN_HEADER(mgck_edge, GemPixObj)

    public:

	    //////////
	    // Constructor
    	mgck_edge();
    	
    protected:
    	
    	//////////
    	// Destructor
    	virtual ~mgck_edge();

    	//////////
    	// Do the processing
    	virtual void 	processImage(imageStruct &image);

    	//////////
    	// This is called whenever a new gray8 image comes through.
    	virtual void 	processGrayImage(imageStruct &image);

	Image* mgck_image;
	ExceptionInfo m_exception;
	float m_radius;
	static void radiusMessCallback(void *data, t_floatarg gain);
	void radiusMess(float r);
};

#endif	// for header file
