LLImageRaw Class Reference

#include <llimage.h>

Inheritance diagram for LLImageRaw:

Inheritance graph
[legend]
Collaboration diagram for LLImageRaw:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 LLImageRaw ()
 LLImageRaw (U16 width, U16 height, S8 components)
 LLImageRaw (U8 *data, U16 width, U16 height, S8 components)
 LLImageRaw (const LLString &filename, bool j2c_lowest_mip_only=false)
void deleteData ()
U8allocateData (S32 size=-1)
U8reallocateData (S32 size)
BOOL resize (U16 width, U16 height, S8 components)
U8getSubImage (U32 x_pos, U32 y_pos, U32 width, U32 height) const
BOOL setSubImage (U32 x_pos, U32 y_pos, U32 width, U32 height, const U8 *data, U32 stride=0, BOOL reverse_y=FALSE)
void clear (U8 r=0, U8 g=0, U8 b=0, U8 a=255)
void verticalFlip ()
void expandToPowerOfTwo (S32 max_dim=MAX_IMAGE_SIZE, BOOL scale_image=TRUE)
void contractToPowerOfTwo (S32 max_dim=MAX_IMAGE_SIZE, BOOL scale_image=TRUE)
void biasedScaleToPowerOfTwo (S32 max_dim=MAX_IMAGE_SIZE)
void scale (S32 new_width, S32 new_height, BOOL scale_image=TRUE)
void fill (const LLColor4U &color)
void copy (LLImageRaw *src)
void copyUnscaled (LLImageRaw *src)
void copyUnscaled4onto3 (LLImageRaw *src)
void copyUnscaled3onto4 (LLImageRaw *src)
void copyScaled (LLImageRaw *src)
void copyScaled3onto4 (LLImageRaw *src)
void copyScaled4onto3 (LLImageRaw *src)
void composite (LLImageRaw *src)
void compositeScaled4onto3 (LLImageRaw *src)
void compositeUnscaled4onto3 (LLImageRaw *src)

Static Public Attributes

static S32 sGlobalRawMemory = 0
static S32 sRawImageCount = 0

Protected Member Functions

 ~LLImageRaw ()
bool createFromFile (const LLString &filename, bool j2c_lowest_mip_only=false)
void copyLineScaled (U8 *in, U8 *out, S32 in_pixel_len, S32 out_pixel_len, S32 in_pixel_step, S32 out_pixel_step)
void compositeRowScaled4onto3 (U8 *in, U8 *out, S32 in_pixel_len, S32 out_pixel_len)
U8 fastFractionalMult (U8 a, U8 b)

Detailed Description

Definition at line 145 of file llimage.h.


Constructor & Destructor Documentation

LLImageRaw::~LLImageRaw (  )  [protected]

Definition at line 228 of file llimage.cpp.

References deleteData(), and sRawImageCount.

LLImageRaw::LLImageRaw (  ) 

Definition at line 197 of file llimage.cpp.

References LLImageBase::mMemType, LLMemType::MTYPE_IMAGERAW, and sRawImageCount.

LLImageRaw::LLImageRaw ( U16  width,
U16  height,
S8  components 
)

Definition at line 204 of file llimage.cpp.

References LLImageBase::allocateDataSize(), llassert, MAX_IMAGE_DATA_SIZE, LLImageBase::mMemType, LLMemType::MTYPE_IMAGERAW, S32, and sRawImageCount.

LLImageRaw::LLImageRaw ( U8 data,
U16  width,
U16  height,
S8  components 
)

Definition at line 213 of file llimage.cpp.

References LLImageBase::allocateDataSize(), LLImageBase::getData(), LLImageBase::mMemType, LLMemType::MTYPE_IMAGERAW, and sRawImageCount.

LLImageRaw::LLImageRaw ( const LLString filename,
bool  j2c_lowest_mip_only = false 
)

Definition at line 222 of file llimage.cpp.

References createFromFile().


Member Function Documentation

U8 * LLImageRaw::allocateData ( S32  size = -1  )  [virtual]

Reimplemented from LLImageBase.

Definition at line 237 of file llimage.cpp.

References LLImageBase::allocateData(), LLImageBase::getDataSize(), and sGlobalRawMemory.

void LLImageRaw::biasedScaleToPowerOfTwo ( S32  max_dim = MAX_IMAGE_SIZE  ) 

Definition at line 418 of file llimage.cpp.

References LLImageBase::getHeight(), LLImageBase::getWidth(), MIN_IMAGE_SIZE, S32, and scale().

void LLImageRaw::clear ( U8  r = 0,
U8  g = 0,
U8  b = 0,
U8  a = 255 
)

Definition at line 322 of file llimage.cpp.

References LLImageBase::getComponents(), LLImageBase::getData(), LLImageBase::getHeight(), LLImageBase::getWidth(), llassert, x, and y.

void LLImageRaw::composite ( LLImageRaw src  ) 

Definition at line 459 of file llimage.cpp.

References compositeScaled4onto3(), compositeUnscaled4onto3(), copyScaled(), copyUnscaled(), LLImageBase::getComponents(), LLImageBase::getHeight(), LLImageBase::getWidth(), and llassert.

void LLImageRaw::compositeRowScaled4onto3 ( U8 in,
U8 out,
S32  in_pixel_len,
S32  out_pixel_len 
) [protected]

Definition at line 964 of file llimage.cpp.

References a, b, fastFractionalMult(), g, LLImageBase::getComponents(), llassert, llround(), r, S32, u, and x.

Referenced by compositeScaled4onto3().

void LLImageRaw::compositeScaled4onto3 ( LLImageRaw src  ) 

Definition at line 500 of file llimage.cpp.

References compositeRowScaled4onto3(), copyLineScaled(), LLImageBase::getComponents(), LLImageBase::getData(), LLImageBase::getHeight(), LLImageBase::getWidth(), llassert, llendl, llinfos, LLImageBase::mMemType, and S32.

Referenced by composite().

void LLImageRaw::compositeUnscaled4onto3 ( LLImageRaw src  ) 

Definition at line 529 of file llimage.cpp.

References fastFractionalMult(), LLImageBase::getComponents(), LLImageBase::getData(), LLImageBase::getHeight(), LLImageBase::getWidth(), llassert, pixels, and S32.

Referenced by composite().

void LLImageRaw::contractToPowerOfTwo ( S32  max_dim = MAX_IMAGE_SIZE,
BOOL  scale_image = TRUE 
)

Definition at line 399 of file llimage.cpp.

References LLImageBase::getHeight(), LLImageBase::getWidth(), MIN_IMAGE_SIZE, S32, and scale().

void LLImageRaw::copy ( LLImageRaw src  ) 

Definition at line 611 of file llimage.cpp.

References copyScaled(), copyScaled3onto4(), copyScaled4onto3(), copyUnscaled(), copyUnscaled3onto4(), copyUnscaled4onto3(), LLImageBase::getComponents(), LLImageBase::getHeight(), LLImageBase::getWidth(), and llassert.

Referenced by LLImageTGA::decodeTruecolor(), and LLVOSky::updateSky().

void LLImageRaw::copyLineScaled ( U8 in,
U8 out,
S32  in_pixel_len,
S32  out_pixel_len,
S32  in_pixel_step,
S32  out_pixel_step 
) [protected]

Definition at line 849 of file llimage.cpp.

References a, b, g, LLImageBase::getComponents(), i, llassert, llfloor(), llround(), r, S32, u, and x.

Referenced by compositeScaled4onto3(), copyScaled(), and scale().

void LLImageRaw::copyScaled ( LLImageRaw src  ) 

Definition at line 740 of file llimage.cpp.

References copyLineScaled(), LLImageBase::getComponents(), LLImageBase::getData(), LLImageBase::getHeight(), LLImageBase::getWidth(), llassert, LLImageBase::mMemType, and S32.

Referenced by composite(), copy(), copyScaled3onto4(), and copyScaled4onto3().

void LLImageRaw::copyScaled3onto4 ( LLImageRaw src  ) 

Definition at line 671 of file llimage.cpp.

References copyScaled(), LLImageBase::getComponents(), LLImageBase::getHeight(), LLImageBase::getWidth(), and llassert.

Referenced by copy().

void LLImageRaw::copyScaled4onto3 ( LLImageRaw src  ) 

Definition at line 683 of file llimage.cpp.

References copyScaled(), LLImageBase::getComponents(), LLImageBase::getHeight(), LLImageBase::getWidth(), and llassert.

Referenced by copy().

void LLImageRaw::copyUnscaled ( LLImageRaw src  ) 

Definition at line 658 of file llimage.cpp.

References LLImageBase::getComponents(), LLImageBase::getData(), LLImageBase::getHeight(), LLImageBase::getWidth(), and llassert.

Referenced by composite(), and copy().

void LLImageRaw::copyUnscaled3onto4 ( LLImageRaw src  ) 

Definition at line 717 of file llimage.cpp.

References LLImageBase::getComponents(), LLImageBase::getData(), LLImageBase::getHeight(), LLImageBase::getWidth(), i, llassert, pixels, and S32.

Referenced by copy().

void LLImageRaw::copyUnscaled4onto3 ( LLImageRaw src  ) 

Definition at line 695 of file llimage.cpp.

References LLImageBase::getComponents(), LLImageBase::getData(), LLImageBase::getHeight(), LLImageBase::getWidth(), i, llassert, pixels, and S32.

Referenced by copy().

bool LLImageRaw::createFromFile ( const LLString filename,
bool  j2c_lowest_mip_only = false 
) [protected]

Definition at line 1111 of file llimage.cpp.

References codec, deleteData(), end, exten, f, find_file(), get_codec(), height, IMG_CODEC_BMP, IMG_CODEC_DXT, IMG_CODEC_INVALID, IMG_CODEC_J2C, IMG_CODEC_JPEG, IMG_CODEC_TGA, llassert, lldebugs, llendl, llifstream, llinfos, llwarns, MAX_DISCARD_LEVEL, LLPointer< Type >::notNull(), NULL, S32, LLStringBase< char >::toLower(), and width.

Referenced by LLImageRaw().

void LLImageRaw::deleteData (  )  [virtual]

Reimplemented from LLImageBase.

Definition at line 254 of file llimage.cpp.

References LLImageBase::deleteData(), LLImageBase::getDataSize(), and sGlobalRawMemory.

Referenced by createFromFile(), LLImageJ2C::decode(), resize(), scale(), and ~LLImageRaw().

void LLImageRaw::expandToPowerOfTwo ( S32  max_dim = MAX_IMAGE_SIZE,
BOOL  scale_image = TRUE 
)

Definition at line 380 of file llimage.cpp.

References LLImageBase::getHeight(), LLImageBase::getWidth(), MIN_IMAGE_SIZE, S32, and scale().

U8 LLImageRaw::fastFractionalMult ( U8  a,
U8  b 
) [inline, protected]

Definition at line 452 of file llimage.cpp.

References i.

Referenced by compositeRowScaled4onto3(), and compositeUnscaled4onto3().

void LLImageRaw::fill ( const LLColor4U color  ) 

Definition at line 582 of file llimage.cpp.

References LLImageBase::getComponents(), LLImageBase::getData(), LLImageBase::getHeight(), LLImageBase::getWidth(), i, LLColor4U::mAll, LLColor4U::mV, pixels, and S32.

U8 * LLImageRaw::getSubImage ( U32  x_pos,
U32  y_pos,
U32  width,
U32  height 
) const

Definition at line 274 of file llimage.cpp.

References LLImageBase::getComponents(), LLImageBase::getData(), LLImageBase::getWidth(), i, llendl, llerrs, LLImageBase::mMemType, and NULL.

U8 * LLImageRaw::reallocateData ( S32  size  )  [virtual]

Reimplemented from LLImageBase.

Definition at line 245 of file llimage.cpp.

References LLImageBase::getDataSize(), LLImageBase::reallocateData(), and sGlobalRawMemory.

BOOL LLImageRaw::resize ( U16  width,
U16  height,
S8  components 
)

Definition at line 260 of file llimage.cpp.

References LLImageBase::allocateDataSize(), deleteData(), LLImageBase::getComponents(), LLImageBase::getHeight(), LLImageBase::getWidth(), and TRUE.

Referenced by LLImageTGA::decode(), LLImageJPEG::decode(), LLImageDXT::decode(), LLImageBMP::decode(), LLImageTGA::decodeAndProcess(), LLImageJ2COJ::decodeImpl(), LLImageTGA::decodeTruecolor(), LLViewerWindow::rawSnapshot(), and LLPngWrapper::readPng().

void LLImageRaw::scale ( S32  new_width,
S32  new_height,
BOOL  scale_image = TRUE 
)

Definition at line 773 of file llimage.cpp.

References LLImageBase::allocateDataSize(), copyLineScaled(), deleteData(), LLImageBase::getComponents(), LLImageBase::getData(), LLImageBase::getHeight(), LLImageBase::getWidth(), llassert, llendl, llerrs, llmin(), LLImageBase::mMemType, and S32.

Referenced by biasedScaleToPowerOfTwo(), contractToPowerOfTwo(), expandToPowerOfTwo(), and LLViewerWindow::rawSnapshot().

BOOL LLImageRaw::setSubImage ( U32  x_pos,
U32  y_pos,
U32  width,
U32  height,
const U8 data,
U32  stride = 0,
BOOL  reverse_y = FALSE 
)

Definition at line 295 of file llimage.cpp.

References FALSE, LLImageBase::getComponents(), LLImageBase::getData(), LLImageBase::getWidth(), i, and TRUE.

Referenced by LLViewerImageList::updateImagesMediaStreams().

void LLImageRaw::verticalFlip (  ) 

Definition at line 357 of file llimage.cpp.

References LLImageBase::getComponents(), LLImageBase::getData(), LLImageBase::getHeight(), LLImageBase::getWidth(), llendl, llerrs, LLImageBase::mMemType, and S32.

Referenced by LLImageBMP::decode(), LLImageTGA::decodeColorMap(), and LLImageTGA::decodeTruecolor().


Member Data Documentation

S32 LLImageRaw::sGlobalRawMemory = 0 [static]

Definition at line 224 of file llimage.h.

Referenced by allocateData(), deleteData(), output_statistics(), reallocateData(), and LLViewerImageList::updateImages().

S32 LLImageRaw::sRawImageCount = 0 [static]

Definition at line 225 of file llimage.h.

Referenced by LLGLTexMemBar::draw(), LLImageRaw(), LLViewerImageList::updateImages(), and ~LLImageRaw().


The documentation for this class was generated from the following files:
Generated on Thu Jul 1 06:11:25 2010 for Second Life Viewer by  doxygen 1.4.7