/*!
@file structure.h
@file C言語用 基本的なデータ構造
@note
やっぱり作るんだね　_|￣|○
*/
#ifndef DKUTIL_GRAPHICS_STRUCTURE_H
#define DKUTIL_GRAPHICS_STRUCTURE_H

#include <dkutil_c/dkcDefined.h>

///POINT互換のはず
typedef struct dkc_Point2D{
	long x;
	long y;
}DKC_POINT2D;

typedef struct dkc_Point3D{
	long x;
	long y;
	long z;
}DKC_POINT3D;

///RECT互換のはず
typedef struct dkc_Rect{
	long left;
	long top; 
	long right;
	long bottom;
}DKC_RECT,DKC_BOX2D;

///3角形のデータ構造
typedef struct dkc_Triangle{
	DKC_POINT2D a,b,c;
}DKC_TRIANGLE2D;



typedef struct dkc_Color4byte{
	union{
		unsigned long u;
		int n;
		struct{
			unsigned char a;
			unsigned char b;
			unsigned char c;
			unsigned char d;
		};
	};
}DKC_COLOR4BYTE;

#if 0 //後々エンディアン分けでもせーへんと

typedef struct dkc_Color4byte_LittleEndian{
	union{
		ULONG u;
		int n;
		struct{
			unsigned char a;
			unsigned char b;
			unsigned char c;
			unsigned char d;
		};
	};
}DKC_COLOR4BYTE_LE;

typedef struct dkc_Color4byte_BigEndian{
	union{
		ULONG u;
		int n;
		struct{
			unsigned char c;
			unsigned char d;
			unsigned char a;
			unsigned char b;

		};
	};
}DKC_COLOR4BYTE_BE;

#endif


#endif