[cairo-commit] cairoxx pixman.hpp,NONE,1.1

David Bellot commit at pdx.freedesktop.org
Thu Apr 8 10:15:49 PDT 2004


Committed by: yimyom

Update of /cvs/cairo/cairoxx
In directory pdx:/tmp/cvs-serv28054

Added Files:
	pixman.hpp 
Log Message:
Just a try to see if things are going well.
Don't trust this file, it's just a part of a preliminary work !


--- NEW FILE: pixman.hpp ---
#ifndef _PIXMAN_HXX_
#define _PIXMAN_HXX_

#if defined (__SVR4) && defined (__sun)
# include <sys/int_types.h>
#else
# if defined (__OpenBSD__)
#  include <inttypes.h>
# else 
#  include <stdint.h>
# endif
#endif

#include <pixman.h>

namespace pixregion
{

typedef pixman_region_status_t status;
typedef pixman_operator_t p_operator;

class Region16
{
	public:
		Region16(Box16& extents=NULL);
		~Region16();

		void translate(int x,int y);
		status copy(Region16& dest); 	//operator=
		status intersect(); // XXX	// operator&
		status union(); // XXX		// operator|
		status union_rect(Region16& dest, int x, int y, unsigned int width, unsigned int height);
		status substract(); // XXX operator-
		status inverse(); // XXX operator~
		
		int num_rects();
		Box16 rects();
		
		int contains_point(int x, int y, Box16& box);
		int contains_rectangle(Box16& prect);
		int not_empty();
		Box16 extents();

		status append(Region16& region);
		status validate(int *pOverlap);

		void reset(Box16 &pBox);
		void empty();
	private:
		pixman_region16_t	*obj;
};

class Box16
{
	public:
	private:
		pixman_box16_t		*obj;
};

typedef pixman_format_tName tName;
class format
{
	public:
		format(tName name);
		format(int bpp, int alpha_mask, int red_mask, int green_mask, int blue_mask);
		~format();
	private:
		pixman_format_t		*obj;
};

class image 
{
	public:
		image(format& format, int width, int height);
		image(pixman_bits_t *data, format& format, int width, int height, int bpp, int stride);
		~image();

		set_clip_region(Region16& region);
		int image_set_transform(
	private:
		pixman_image_t		*obj;
};





More information about the cairo-commit mailing list