osgEarth 2.1.1
Static Public Member Functions

agg::span_rgb24 Struct Reference

#include <AGG.h>

List of all members.

Static Public Member Functions

static void render (unsigned char *ptr, int x, unsigned count, const unsigned char *covers, const rgba8 &c)
static void hline (unsigned char *ptr, int x, unsigned count, const rgba8 &c)
static rgba8 get (unsigned char *ptr, int x)

Detailed Description

Definition at line 1012 of file AGG.h.


Member Function Documentation

static rgba8 agg::span_rgb24::get ( unsigned char *  ptr,
int  x 
) [inline, static]

Definition at line 1046 of file AGG.h.

        {
            unsigned char* p = ptr + x + x + x;
            rgba8 c;
            c.r = *p++; 
            c.g = *p++; 
            c.b = *p++;
            c.a = 255;
            return c;
        }
static void agg::span_rgb24::hline ( unsigned char *  ptr,
int  x,
unsigned  count,
const rgba8 c 
) [inline, static]

Definition at line 1036 of file AGG.h.

        {
            unsigned char* p = ptr + x + x + x;
            do { *p++ = c.r; *p++ = c.g; *p++ = c.b; } while(--count);
        }
static void agg::span_rgb24::render ( unsigned char *  ptr,
int  x,
unsigned  count,
const unsigned char *  covers,
const rgba8 c 
) [inline, static]

Definition at line 1015 of file AGG.h.

        {
            unsigned char* p = ptr + x + x + x;
            do
            {
                int alpha = (*covers++) * c.a;
                int r = p[0];
                int g = p[1];
                int b = p[2];
                *p++ = (((c.r - r) * alpha) + (r << 16)) >> 16;
                *p++ = (((c.g - g) * alpha) + (g << 16)) >> 16;
                *p++ = (((c.b - b) * alpha) + (b << 16)) >> 16;
            }
            while(--count);
        }

The documentation for this struct was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines