AVIR
High-quality pro image resizing library
 All Classes Files Functions Variables Typedefs Macros
Public Member Functions | Public Attributes | Protected Attributes | List of all members
avir::CLancIR::CResizeScanline Class Reference

#include <lancir.h>

Public Member Functions

void reset ()
 
void update (const double k, const double o0, const int ElCount, const int SrcLen, const int DstLen, CResizeFilters &rf)
 

Public Attributes

int padl
 
int padr
 
CResizePospos
 
float * sp
 

Protected Attributes

int poslen
 
int PrevDstLen
 
int PrevElCount
 
double Prevk
 
double Prevo
 
int PrevSrcLen
 
int splen
 

Detailed Description

Class contains resizing positioning and a temporary scanline buffer, prepares source scanline positions for resize filtering.

Member Function Documentation

void avir::CLancIR::CResizeScanline::reset ( )

Function "resets" *this object so that the next update() call fully updates the position buffer. Reset is necessary if the filter object was updated.

void avir::CLancIR::CResizeScanline::update ( const double  k,
const double  o0,
const int  ElCount,
const int  SrcLen,
const int  DstLen,
CResizeFilters rf 
)

Function updates resizing positions, updates "padl", "padr" and "pos" buffer.

Parameters
kResizing step.
o0Initial source image offset.
SrcLenSource image scanline length, used to create a scanline buffer without length pre-calculation.
DstLenDestination image scanline length.
rfResizing filters object.

Member Data Documentation

int avir::CLancIR::CResizeScanline::padl

Left-padding (in pixels) required for source scanline. Available after the update() function call.

int avir::CLancIR::CResizeScanline::padr

Right-padding (in pixels) required for source scanline. Available after the update() function call.

CResizePos* avir::CLancIR::CResizeScanline::pos

Source scanline pointers (point to "sp") and filters for each destination pixel position. Available after the update() function call.

int avir::CLancIR::CResizeScanline::poslen
protected

Allocated "pos" buffer length.

int avir::CLancIR::CResizeScanline::PrevDstLen
protected

Previous DstLen.

int avir::CLancIR::CResizeScanline::PrevElCount
protected

Previous pixel element count.

double avir::CLancIR::CResizeScanline::Prevk
protected

Previous "k".

double avir::CLancIR::CResizeScanline::Prevo
protected

Previous "o".

int avir::CLancIR::CResizeScanline::PrevSrcLen
protected

Previous SrcLen.

float* avir::CLancIR::CResizeScanline::sp

Source scanline buffer, with "padl" and "padr" padding.

int avir::CLancIR::CResizeScanline::splen
protected

Allocated "sp" buffer length.