caimagemanipulation.h

00001 #ifndef CAIMAGEMANIPULATION_H
00002 #define CAIMAGEMANIPULATION_H
00003 
00004 #include <ClanLib/core.h>
00005 #include <ClanLib/display.h>
00006 
00007 #define ARAD 57.29577951308232
00008 
00009 typedef unsigned int uint;
00010 
00011 #ifdef WIN32
00012 #define rint(a) ((int) (a+0.5f))
00013 #endif
00014 
00015 
00020 class CAImageManipulation {
00021 public:
00022     CAImageManipulation();
00023     ~CAImageManipulation();
00024 
00025     static CL_Surface* rotate( CL_Surface* surface, float angle, bool exact=true, bool green=true );
00026     static CL_Surface* flip( CL_Surface* surface, bool horizontal );
00027     static CL_Surface* changeHSV( CL_Surface* surface, int hue, int saturation, int value );
00028 
00029     static void clearCanvas( CL_Canvas* canvas );
00030     static void greenToTransparent( CL_Canvas* canvas );
00031 
00032     static void rgbToHsv( int r, int g, int b,
00033                           int *h, int *s, int *v );
00034     static void hsvToRgb( int h, int s, int v,
00035                           int *r, int *g, int *b );
00036 
00037     static void getExactColor( unsigned char* data,
00038                                int width, int height,
00039                                float x, float y,
00040                                int *r, int *g, int *b, int *a,
00041                                bool exact=true );
00042 
00043     static int getCoordinateX( int width, int pos );
00044     static int getCoordinateY( int width, int pos );
00045     static int getDataPosition( int width, int x, int y );
00046     static float getDistance( float x1, float y1, float x2, float y2 );
00047 };
00048 
00049 #endif

Generated on Tue Nov 28 06:48:28 2006 by  doxygen 1.5.0