LMMS
Loading...
Searching...
No Matches
lice_combine.h File Reference

Go to the source code of this file.

Classes

class  _LICE_CombinePixelsClobberNoClamp
class  _LICE_CombinePixelsClobberClamp
class  _LICE_CombinePixelsClobberFAST
class  _LICE_CombinePixelsHalfMixNoClamp
class  _LICE_CombinePixelsHalfMixFAST
class  _LICE_CombinePixelsHalfMixClamp
class  _LICE_CombinePixelsHalfMix2FAST
class  _LICE_CombinePixelsQuarterMix2FAST
class  _LICE_CombinePixelsThreeEighthMix2FAST
class  _LICE_CombinePixelsThreeQuarterMix2FAST
class  _LICE_CombinePixelsCopyNoClamp
class  _LICE_CombinePixelsCopyClamp
class  _LICE_CombinePixelsCopySourceAlphaNoClamp
class  _LICE_CombinePixelsCopySourceAlphaClamp
class  _LICE_CombinePixelsCopySourceAlphaIgnoreAlphaParmNoClamp
class  _LICE_CombinePixelsCopySourceAlphaIgnoreAlphaParmClamp
class  _LICE_CombinePixelsAdd
class  _LICE_CombinePixelsAddSourceAlpha
class  _LICE_CombinePixelsColorDodge
class  _LICE_CombinePixelsColorDodgeSourceAlpha
class  _LICE_CombinePixelsMulNoClamp
class  _LICE_CombinePixelsMulClamp
class  _LICE_CombinePixelsMulSourceAlphaNoClamp
class  _LICE_CombinePixelsMulSourceAlphaClamp
class  _LICE_CombinePixelsOverlay
class  _LICE_CombinePixelsOverlaySourceAlpha
class  _LICE_CombinePixelsHSVAdjust
class  _LICE_CombinePixelsHSVAdjustSourceAlpha

Macros

#define __LICE_BOUND(x, lo, hi)
#define LICE_PIXEL_HALF(x)
#define LICE_PIXEL_QUARTER(x)
#define LICE_PIXEL_EIGHTH(x)
#define DOCHAN(output, inchan)
#define DOCHAN(inchan)
#define LICE_PIX_MAKECHAN(a, b)
#define LICE_PIX_MAKECHAN(a, b)
#define HSV_P   v*(256-s)/256
#define HSV_Q(hval)
#define HSV_T(hval)
#define HSV_X   v
#define LICE_RGB2HSV_USE_TABLE
#define __LICE_ACTION_SRCALPHA(mode, ia, clamp)
#define __LICE_ACTION_NOSRCALPHA(mode, ia, clamp)
#define __LICE_ACTION_CONSTANTALPHA(mode, ia, clamp)
#define __LICE_SC(x)
#define __LICE_SCU(x)

Typedefs

typedef void(* LICE_COMBINEFUNC) (LICE_pixel_chan *dest, int r, int g, int b, int a, int alpha)

Functions

static void __LICE_BilinearFilterI (int *r, int *g, int *b, int *a, const LICE_pixel_chan *pin, const LICE_pixel_chan *pinnext, unsigned int xfrac, unsigned int yfrac)
static void __LICE_BilinearFilterIPixOut (LICE_pixel_chan *out, const LICE_pixel_chan *pin, const LICE_pixel_chan *pinnext, unsigned int xfrac, unsigned int yfrac)
static void __LICE_BilinearFilterI_2 (int *r, int *g, int *b, int *a, const LICE_pixel_chan *pin, const LICE_pixel_chan *pinnext, int npoffs, unsigned int xfrac, unsigned int yfrac)
static void __LICE_LinearFilterI (int *r, int *g, int *b, int *a, const LICE_pixel_chan *pin, const LICE_pixel_chan *pinnext, unsigned int frac)
static void __LICE_LinearFilterIPixOut (LICE_pixel_chan *out, const LICE_pixel_chan *pin, const LICE_pixel_chan *pinnext, unsigned int frac)
static void _LICE_MakePixelClamp (LICE_pixel_chan *out, int r, int g, int b, int a)
static void _LICE_MakePixelNoClamp (LICE_pixel_chan *out, LICE_pixel_chan r, LICE_pixel_chan g, LICE_pixel_chan b, LICE_pixel_chan a)
static LICE_pixel __LICE_HSV2Pix (int h, int s, int v, int alpha)
static void __LICE_HSV2RGB (int h, int s, int v, int *r, int *g, int *b)
static void __LICE_RGB2HSV (int r, int g, int b, int *h, int *s, int *v)

Variables

unsigned short _LICE_RGB2HSV_invtab [256]

Macro Definition Documentation

◆ __LICE_ACTION_CONSTANTALPHA

#define __LICE_ACTION_CONSTANTALPHA ( mode,
ia,
clamp )
Value:
if ((ia)!=0) switch ((mode)&LICE_BLIT_MODE_MASK) { \
else if ((ia)==128) { if (clamp) { __LICE__ACTION(_LICE_CombinePixelsHalfMixClamp); } else { __LICE__ACTION(_LICE_CombinePixelsHalfMixNoClamp); } } \
else if ((ia)>0) { if (clamp) { __LICE__ACTION(_LICE_CombinePixelsCopyClamp); } else { __LICE__ACTION(_LICE_CombinePixelsCopyNoClamp); } } \
break; \
case LICE_BLIT_MODE_ADD: __LICE__ACTION(_LICE_CombinePixelsAdd); break; \
case LICE_BLIT_MODE_DODGE: __LICE__ACTION(_LICE_CombinePixelsColorDodge); break; \
case LICE_BLIT_MODE_MUL: if (clamp) { __LICE__ACTION(_LICE_CombinePixelsMulClamp); } else { __LICE__ACTION(_LICE_CombinePixelsMulNoClamp); } break; \
case LICE_BLIT_MODE_OVERLAY: __LICE__ACTION(_LICE_CombinePixelsOverlay); break; \
case LICE_BLIT_MODE_HSVADJ: __LICE__ACTION(_LICE_CombinePixelsHSVAdjust); break; \
}
T clamp(T value, T lower, T upper)
Definition basics.h:135
Definition lice_combine.h:260
Definition lice_combine.h:251
#define __LICE__ACTION(COMBFUNC)
#define LICE_BLIT_MODE_MUL
Definition lice.h:319
#define LICE_BLIT_MODE_MASK
Definition lice.h:315
#define LICE_BLIT_MODE_OVERLAY
Definition lice.h:320
#define LICE_BLIT_MODE_COPY
Definition lice.h:316
#define LICE_BLIT_MODE_ADD
Definition lice.h:317
#define LICE_BLIT_MODE_DODGE
Definition lice.h:318
#define LICE_BLIT_MODE_HSVADJ
Definition lice.h:321
png_structrp int mode
Definition png.h:1139

◆ __LICE_ACTION_NOSRCALPHA

#define __LICE_ACTION_NOSRCALPHA ( mode,
ia,
clamp )
Value:
if ((ia)!=0) switch ((mode)&LICE_BLIT_MODE_MASK) { \
case LICE_BLIT_MODE_ADD: __LICE__ACTION(_LICE_CombinePixelsAdd); break; \
case LICE_BLIT_MODE_DODGE: __LICE__ACTION(_LICE_CombinePixelsColorDodge); break; \
case LICE_BLIT_MODE_MUL: if (clamp) { __LICE__ACTION(_LICE_CombinePixelsMulClamp); } else { __LICE__ACTION(_LICE_CombinePixelsMulNoClamp); } break; \
case LICE_BLIT_MODE_OVERLAY: __LICE__ACTION(_LICE_CombinePixelsOverlay); break; \
case LICE_BLIT_MODE_HSVADJ: __LICE__ACTION(_LICE_CombinePixelsHSVAdjust); break; \
}
Definition lice_combine.h:369
Definition lice_combine.h:353

◆ __LICE_ACTION_SRCALPHA

#define __LICE_ACTION_SRCALPHA ( mode,
ia,
clamp )

◆ __LICE_BOUND

#define __LICE_BOUND ( x,
lo,
hi )
Value:
((x)<(lo)?(lo):((x)>(hi)?(hi):(x)))
unsigned x[BMAX+1]
Definition inflate.c:1586

◆ __LICE_SC

#define __LICE_SC ( x)
Value:
do { (x) = ((x)*(__sc))/256; } while (0)

◆ __LICE_SCU

#define __LICE_SCU ( x)
Value:
do { (x) = ((x)*(__sc))>>8; } while (0)

◆ DOCHAN [1/2]

#define DOCHAN ( inchan)
Value:
(out[inchan])=(pin[(inchan)]*f1 + pin[4+(inchan)]*f2 + pinnext[(inchan)]*f3 + pinnext[4+(inchan)]*f4)>>16;
float out
Definition lilv_test.c:1461

◆ DOCHAN [2/2]

#define DOCHAN ( output,
inchan )
Value:
(output)=(pin[(inchan)]*f1 + pin[4+(inchan)]*f2 + pinnext[(inchan)]*f3 + pinnext[4+(inchan)]*f4)>>16;

◆ HSV_P

#define HSV_P   v*(256-s)/256

◆ HSV_Q

#define HSV_Q ( hval)
Value:
v*(16384-(hval)*s)/16384
unsigned v[N_MAX]
Definition inflate.c:1584
unsigned s
Definition inflate.c:1555

◆ HSV_T

#define HSV_T ( hval)
Value:
v*(16384-(64-(hval))*s)/16384

◆ HSV_X

#define HSV_X   v

◆ LICE_PIX_MAKECHAN [1/2]

#define LICE_PIX_MAKECHAN ( a,
b )
Value:
out[a] = b;
uint8_t a
Definition Spc_Cpu.h:141
b
Definition crypt.c:628

◆ LICE_PIX_MAKECHAN [2/2]

#define LICE_PIX_MAKECHAN ( a,
b )
Value:
out[a] = (b&~0xff) ? (b<0?0:255) : b;

◆ LICE_PIXEL_EIGHTH

#define LICE_PIXEL_EIGHTH ( x)
Value:
(((x)>>3)&0x1F1F1F1F)

◆ LICE_PIXEL_HALF

#define LICE_PIXEL_HALF ( x)
Value:
(((x)>>1)&0x7F7F7F7F)

◆ LICE_PIXEL_QUARTER

#define LICE_PIXEL_QUARTER ( x)
Value:
(((x)>>2)&0x3F3F3F3F)

◆ LICE_RGB2HSV_USE_TABLE

#define LICE_RGB2HSV_USE_TABLE

Typedef Documentation

◆ LICE_COMBINEFUNC

typedef void(* LICE_COMBINEFUNC) (LICE_pixel_chan *dest, int r, int g, int b, int a, int alpha)

Function Documentation

◆ __LICE_BilinearFilterI()

void __LICE_BilinearFilterI ( int * r,
int * g,
int * b,
int * a,
const LICE_pixel_chan * pin,
const LICE_pixel_chan * pinnext,
unsigned int xfrac,
unsigned int yfrac )
inlinestatic

◆ __LICE_BilinearFilterI_2()

void __LICE_BilinearFilterI_2 ( int * r,
int * g,
int * b,
int * a,
const LICE_pixel_chan * pin,
const LICE_pixel_chan * pinnext,
int npoffs,
unsigned int xfrac,
unsigned int yfrac )
inlinestatic

◆ __LICE_BilinearFilterIPixOut()

void __LICE_BilinearFilterIPixOut ( LICE_pixel_chan * out,
const LICE_pixel_chan * pin,
const LICE_pixel_chan * pinnext,
unsigned int xfrac,
unsigned int yfrac )
inlinestatic

◆ __LICE_HSV2Pix()

LICE_pixel __LICE_HSV2Pix ( int h,
int s,
int v,
int alpha )
inlinestatic

◆ __LICE_HSV2RGB()

void __LICE_HSV2RGB ( int h,
int s,
int v,
int * r,
int * g,
int * b )
inlinestatic

◆ __LICE_LinearFilterI()

void __LICE_LinearFilterI ( int * r,
int * g,
int * b,
int * a,
const LICE_pixel_chan * pin,
const LICE_pixel_chan * pinnext,
unsigned int frac )
inlinestatic

◆ __LICE_LinearFilterIPixOut()

void __LICE_LinearFilterIPixOut ( LICE_pixel_chan * out,
const LICE_pixel_chan * pin,
const LICE_pixel_chan * pinnext,
unsigned int frac )
inlinestatic

◆ __LICE_RGB2HSV()

void __LICE_RGB2HSV ( int r,
int g,
int b,
int * h,
int * s,
int * v )
inlinestatic

◆ _LICE_MakePixelClamp()

void _LICE_MakePixelClamp ( LICE_pixel_chan * out,
int r,
int g,
int b,
int a )
inlinestatic

◆ _LICE_MakePixelNoClamp()

void _LICE_MakePixelNoClamp ( LICE_pixel_chan * out,
LICE_pixel_chan r,
LICE_pixel_chan g,
LICE_pixel_chan b,
LICE_pixel_chan a )
inlinestatic

Variable Documentation

◆ _LICE_RGB2HSV_invtab

unsigned short _LICE_RGB2HSV_invtab[256]
extern