Copied poke255_uc implementation from gtk3 into master

This commit is contained in:
heckflosse
2016-05-22 14:35:53 +02:00
parent f490c64682
commit 023e7d3695
4 changed files with 58 additions and 25 deletions

View File

@@ -29,6 +29,51 @@ using namespace std;
namespace rtengine
{
void poke255_uc(unsigned char* &dest, unsigned char r, unsigned char g, unsigned char b)
{
#if __BYTE_ORDER__==__ORDER_LITTLE_ENDIAN__
*(dest++) = b;
*(dest++) = g;
*(dest++) = r;
*(dest++) = 0;
#else
*(dest++) = 0;
*(dest++) = r;
*(dest++) = g;
*(dest++) = b;
#endif
}
void poke01_d(unsigned char* &dest, double r, double g, double b)
{
#if __BYTE_ORDER__==__ORDER_LITTLE_ENDIAN__
*(dest++) = (unsigned char)(b * 255.);
*(dest++) = (unsigned char)(g * 255.);
*(dest++) = (unsigned char)(r * 255.);
*(dest++) = 0;
#else
*(dest++) = 0;
*(dest++) = (unsigned char)(r * 255.);
*(dest++) = (unsigned char)(g * 255.);
*(dest++) = (unsigned char)(b * 255.);
#endif
}
void poke01_f(unsigned char* &dest, float r, float g, float b)
{
#if __BYTE_ORDER__==__ORDER_LITTLE_ENDIAN__
*(dest++) = (unsigned char)(b * 255.f);
*(dest++) = (unsigned char)(g * 255.f);
*(dest++) = (unsigned char)(r * 255.f);
*(dest++) = 0;
#else
*(dest++) = 0;
*(dest++) = (unsigned char)(r * 255.f);
*(dest++) = (unsigned char)(g * 255.f);
*(dest++) = (unsigned char)(b * 255.f);
#endif
}
void bilinearInterp (const unsigned char* src, int sw, int sh, unsigned char* dst, int dw, int dh)
{