00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 namespace SILLY
00033 {
00034
00035 inline ImageContext::ImageContext(size_t width, size_t height)
00036 : d_pixels(0), d_length(0), d_width(width), d_height(height), d_currentOffset(0), d_format(PF_RGBA)
00037 {
00038 }
00039
00040
00041 inline ImageContext::~ImageContext()
00042 {
00043 }
00044
00045
00046 inline void ImageContext::setDestination(byte* pixels, size_t length, PixelFormat format)
00047 {
00048 d_pixels = pixels;
00049 d_length = length;
00050 d_currentOffset = 0;
00051 d_format = format;
00052 }
00053
00054 inline void ImageContext::setNextPixel(byte red, byte green, byte bleu, byte alpha)
00055 {
00056
00057 switch(d_format)
00058 {
00059 case PF_A1B5G5R5:
00060
00061 assert(0 && "ASSERT: Not yet implemented");
00062 break;
00063 case PF_RGB:
00064
00065 d_pixels[d_currentOffset++] = red;
00066 d_pixels[d_currentOffset++] = green;
00067 d_pixels[d_currentOffset++] = bleu;
00068 break;
00069
00070 case PF_RGBA:
00071 d_pixels[d_currentOffset++] = red;
00072 d_pixels[d_currentOffset++] = green;
00073 d_pixels[d_currentOffset++] = bleu;
00074 d_pixels[d_currentOffset++] = alpha;
00075 break;
00076
00077 }
00078 }
00079 inline size_t ImageContext::getWidth() const
00080 {
00081 return d_width;
00082 }
00083
00084 inline void ImageContext::setWidth(size_t width)
00085 {
00086 d_width = width;
00087 }
00088
00089 inline size_t ImageContext::getHeight() const
00090 {
00091 return d_height;
00092 }
00093
00094 inline void ImageContext::setHeight(size_t height)
00095 {
00096 d_height = height;
00097 }
00098 inline PixelFormat ImageContext::getPixelFormat() const
00099 {
00100 return d_format;
00101 }
00102
00103 }
00104