Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
CStretchEngine Class Reference

#include <cstretchengine.h>

+ Collaboration diagram for CStretchEngine:

Classes

struct  PixelWeight
 
class  WeightTable
 

Public Member Functions

 CStretchEngine (ScanlineComposerIface *pDestBitmap, FXDIB_Format dest_format, int dest_width, int dest_height, const FX_RECT &clip_rect, const RetainPtr< const CFX_DIBBase > &pSrcBitmap, const FXDIB_ResampleOptions &options)
 
 ~CStretchEngine ()
 
bool Continue (PauseIndicatorIface *pPause)
 
bool StartStretchHorz ()
 
bool ContinueStretchHorz (PauseIndicatorIface *pPause)
 
void StretchVert ()
 
const FXDIB_ResampleOptionsGetResampleOptionsForTest () const
 

Static Public Member Functions

static uint32_t FixedFromDouble (double d)
 
static uint32_t FixedFromFloat (float f)
 
static uint8_t PixelFromFixed (uint32_t fixed)
 
static bool UseInterpolateBilinear (const FXDIB_ResampleOptions &options, int dest_width, int dest_height, int src_width, int src_height)
 

Static Public Attributes

static constexpr uint32_t kFixedPointBits = 16
 
static constexpr uint32_t kFixedPointOne = 1 << kFixedPointBits
 

Detailed Description

Definition at line 26 of file cstretchengine.h.

Constructor & Destructor Documentation

◆ CStretchEngine()

CStretchEngine::CStretchEngine ( ScanlineComposerIface * pDestBitmap,
FXDIB_Format dest_format,
int dest_width,
int dest_height,
const FX_RECT & clip_rect,
const RetainPtr< const CFX_DIBBase > & pSrcBitmap,
const FXDIB_ResampleOptions & options )

Definition at line 180 of file cstretchengine.cpp.

References CStretchEngine(), FX_RECT::FX_RECT(), FX_RECT::FX_RECT(), FXDIB_ResampleOptions::bInterpolateBilinear, FXDIB_ResampleOptions::bNoSmoothing, FX_RECT::bottom, fxge::CalculatePitch32OrDie(), GetBppFromFormat(), FX_RECT::Intersect(), kArgb, FX_RECT::left, FX_RECT::right, FX_RECT::top, UseInterpolateBilinear(), and FX_RECT::Width().

Referenced by CStretchEngine().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ~CStretchEngine()

CStretchEngine::~CStretchEngine ( )
default

Member Function Documentation

◆ Continue()

bool CStretchEngine::Continue ( PauseIndicatorIface * pPause)

Definition at line 263 of file cstretchengine.cpp.

References ContinueStretchHorz(), and StretchVert().

+ Here is the call graph for this function:

◆ ContinueStretchHorz()

bool CStretchEngine::ContinueStretchHorz ( PauseIndicatorIface * pPause)

Definition at line 298 of file cstretchengine.cpp.

References FX_RECT::bottom, CStretchEngine::PixelWeight::GetWeightForPosition(), kRgb, FX_RECT::left, CStretchEngine::PixelWeight::m_SrcEnd, CStretchEngine::PixelWeight::m_SrcStart, PauseIndicatorIface::NeedToPauseNow(), PixelFromFixed(), and FX_RECT::right.

Referenced by Continue().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FixedFromDouble()

static uint32_t CStretchEngine::FixedFromDouble ( double d)
inlinestatic

Definition at line 31 of file cstretchengine.h.

References FXSYS_round(), and kFixedPointOne.

Referenced by CStretchEngine::WeightTable::CalculateWeights().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FixedFromFloat()

static uint32_t CStretchEngine::FixedFromFloat ( float f)
inlinestatic

Definition at line 35 of file cstretchengine.h.

References FXSYS_roundf(), and kFixedPointOne.

+ Here is the call graph for this function:

◆ GetResampleOptionsForTest()

const FXDIB_ResampleOptions & CStretchEngine::GetResampleOptionsForTest ( ) const
inline

Definition at line 124 of file cstretchengine.h.

Referenced by TEST().

+ Here is the caller graph for this function:

◆ PixelFromFixed()

static uint8_t CStretchEngine::PixelFromFixed ( uint32_t fixed)
inlinestatic

Definition at line 39 of file cstretchengine.h.

References kFixedPointBits.

Referenced by ContinueStretchHorz(), and StretchVert().

+ Here is the caller graph for this function:

◆ StartStretchHorz()

bool CStretchEngine::StartStretchHorz ( )

Definition at line 274 of file cstretchengine.cpp.

References FX_RECT::top.

◆ StretchVert()

void CStretchEngine::StretchVert ( )

Definition at line 423 of file cstretchengine.cpp.

References FX_RECT::bottom, CStretchEngine::WeightTable::CalculateWeights(), CStretchEngine::WeightTable::GetPixelWeight(), CStretchEngine::PixelWeight::GetWeightForPosition(), FX_RECT::left, CStretchEngine::PixelWeight::m_SrcEnd, CStretchEngine::PixelWeight::m_SrcStart, PixelFromFixed(), FX_RECT::right, and FX_RECT::top.

Referenced by Continue().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ UseInterpolateBilinear()

bool CStretchEngine::UseInterpolateBilinear ( const FXDIB_ResampleOptions & options,
int dest_width,
int dest_height,
int src_width,
int src_height )
static

Definition at line 30 of file cstretchengine.cpp.

References FXDIB_ResampleOptions::bInterpolateBilinear, and FXDIB_ResampleOptions::bNoSmoothing.

Referenced by CStretchEngine().

+ Here is the caller graph for this function:

Member Data Documentation

◆ kFixedPointBits

uint32_t CStretchEngine::kFixedPointBits = 16
staticconstexpr

Definition at line 28 of file cstretchengine.h.

Referenced by PixelFromFixed().

◆ kFixedPointOne

uint32_t CStretchEngine::kFixedPointOne = 1 << kFixedPointBits
staticconstexpr

The documentation for this class was generated from the following files: