App
|
Soubor obsahuje makra pro nadefinování jednotlivých blendovacích funkcí. Soubor obsahuje makra pro nadefinování jednotlivých blendovacích funkcí. Veškeré vzorce pro blendování jsou obsaženy právě v tomto souboru!!! More...
Go to the source code of this file.
Macros | |
#define | INIT_ALPHAS_SD(S, D) INIT_ALPHAS_CUSTOM(*(S+3) / 255.0, *(D+3) / 255.0) |
#define | INIT_ALPHAS_SDA(S, D, A) INIT_ALPHAS_CUSTOM(*(S+3) * A / 255.0, *(D+3) / 255.0) |
#define | INIT_ALPHAS_SDM(S, D, M) INIT_ALPHAS_CUSTOM(*(S+3) * *M / 65025.0, *(D+3) / 255.0) M++; |
#define | INIT_ALPHAS_SDMA(S, D, M, A) INIT_ALPHAS_CUSTOM(*(S+3) * *M * A / 65025.0, *(D+3) / 255.0) M++; |
#define | INIT_ALPHAS_CUSTOM(SA, DA) double sa = SA; double da = DA; double sac = 1 - sa; double ra = sa + da * sac; |
#define | WRITE_ALPHA(S, D, RA) *D = RA * 255 + 0.5; S++; D++; |
#define | BLEND(SV, SA, DV, DA, SAC, RA) BLEND_ALPHA_ASSOCIATIVE(SV, SA, DV, DA, SAC, RA) |
#define | BLEND_ALPHA_ASSOCIATIVE(SV, SA, DV, DA, SAC, RA) ((SV * SA + DV * DA * SAC) / RA + 0.5) |
#define | FOREACH(D, AREAEND, ROWEND, BODY, INCREMENT) |
#define | AREA_INCREMENT_SD(S, D, DROWEND, DBYTEWIDTH, SBYTEOFFSET, DBYTEOFFSET) S += SBYTEOFFSET; D += DBYTEOFFSET; DROWEND += DBYTEWIDTH; |
#define | AREA_INCREMENT_SDM(S, D, M, DROWEND, DBYTEWIDTH, SBYTEOFFSET, DBYTEOFFSET, MBYTEOFFSET) S += SBYTEOFFSET; D += DBYTEOFFSET; M += MBYTEOFFSET; DROWEND += DBYTEWIDTH; |
#define | AREA_INCREMENT_CDM(D, M, DROWEND, DBYTEWIDTH, DBYTEOFFSET, MBYTEOFFSET) D += DBYTEOFFSET; M += MBYTEOFFSET; DROWEND += DBYTEWIDTH; |
#define | AREA_INCREMENT_CD(D, DROWEND, DBYTEWIDTH, DBYTEOFFSET) D += DBYTEOFFSET; DROWEND += DBYTEWIDTH; |
#define | BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, MACRO) |
#define | BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, MACRO) |
#define | ADD_ONECH_SD(S, D) *D = (*S / 255.0 + *D / 255.0 * (1 - *S / 255.0)) * 255 + 0.5; S++; D++; |
#define | ADD_ONECH_SDA(S, D, A) *D = (*S * (A) / 255.0 + *D / 255.0 * (1 - *S * (A) / 255.0)) * 255 + 0.5; S++; D++; |
#define | ADD_ONECH_SDM(S, D, M) *D = (*S * *M / 65025.0 + *D / 255.0 * (1 - *S * *M / 65025.0)) * 255 + 0.5; S++; D++; M++; |
#define | ADD_ONECH_SDMA(S, D, M, A) *D = (*S * *M * (A) / 65025.0 + *D / 255.0 * (1 - *S * *M * (A) / 65025.0)) * 255 + 0.5; S++; D++; M++; |
#define | REM_ONECH_SD(S, D) |
#define | REM_ONECH_SDA(S, D, A) |
#define | REM_ONECH_SDM(S, D, M) |
#define | REM_ONECH_SDMA(S, D, M, A) |
#define | ADD_RGBA_SD(S, D) D += 3; *D = (*S / 255.0 + *D / 255.0 * (1 - *S / 255.0)) * 255 + 0.5; S++; D++; |
#define | ADD_RGBA_SDA(S, D, A) D += 3; *D = (*S * (A) / 255.0 + *D / 255.0 * (1 - *S * (A) / 255.0)) * 255 + 0.5; S++; D++; |
#define | ADD_RGBA_SDM(S, D, M) D += 3; *D = (*S * *M / 65025.0 + *D / 255.0 * (1 - *S * *M / 65025.0)) * 255 + 0.5; S++; D++; M++; |
#define | ADD_RGBA_SDMA(S, D, M, A) D += 3; *D = (*S * *M * (A) / 65025.0 + *D / 255.0 * (1 - *S * *M * (A) / 65025.0)) * 255 + 0.5; S++; D++; M++; |
#define | REM_RGBA_SD(S, D) |
#define | REM_RGBA_SDA(S, D, A) |
#define | REM_RGBA_SDM(S, D, M) |
#define | REM_RGBA_SDMA(S, D, M, A) |
#define | BLEND_CHANNEL_NORMAL(S, SA, D, DA, SAC, RA) *D = BLEND(*S,SA,*D,DA,SAC,RA); S++; D++; |
#define | BLEND_ARGB_NORMAL(S, SA, D, DA, SAC, RA) BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_NORMAL) |
#define | BLEND_ARGB_NORMAL_CDM(C, SA, D, DA, SAC, RA, CBPP) BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_NORMAL) |
#define | BLEND_CHANNEL_SPC_BEHIND(S, SA, D, DA, DAC, RA) *D = BLEND(*D,DA,*S,SA,DAC,RA); S++; D++; |
#define | BLEND_ARGB_SPC_BEHIND(S, SA, D, DA, DAC, RA) BLEND_ARGB_PIXEL(S, SA, D, DA, DAC, RA, BLEND_CHANNEL_SPC_BEHIND) |
#define | BLEND_ARGB_SPC_BEHIND_CDM(C, SA, D, DA, DAC, RA, CBPP) BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, DAC, RA, CBPP, BLEND_CHANNEL_SPC_BEHIND) |
#define | BLEND_COMPLEX_BEHIND_SD(S, D) |
#define | BLEND_COMPLEX_BEHIND_SDA(S, D, A) |
#define | BLEND_COMPLEX_BEHIND_SDM(S, D, M) |
#define | BLEND_COMPLEX_BEHIND_SDMA(S, D, M, A) |
#define | BLEND_COMPLEX_BEHIND_CDM(C, D, M) |
#define | BLEND_COMPLEX_BEHIND_CD(C, D) |
#define | BLEND_COMPLEX_CLEAR_SD(S, D) |
#define | BLEND_COMPLEX_CLEAR_SDA(S, D, A) |
#define | BLEND_COMPLEX_CLEAR_SDM(S, D, M) |
#define | BLEND_COMPLEX_CLEAR_SDMA(S, D, M, A) |
#define | BLEND_COMPLEX_CLEAR_CDM(C, D, M) |
#define | BLEND_COMPLEX_CLEAR_CD(C, D) |
#define | BLEND_CHANNEL_DARKEN(S, SA, D, DA, SAC, RA) *(D) = BLEND((*S < *D ? *S : *D),SA,*(D),DA,SAC,RA); (S)++; (D)++; |
#define | BLEND_ARGB_DARKEN(S, SA, D, DA, SAC, RA) BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_DARKEN) |
#define | BLEND_ARGB_DARKEN_CDM(C, SA, D, DA, SAC, RA, CBPP) BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_DARKEN) |
#define | BLEND_CHANNEL_MULTIPLY(S, SA, D, DA, SAC, RA) *(D) = BLEND((*S * *D / 255.0),SA,*(D),DA,SAC,RA); (S)++; (D)++; |
#define | BLEND_ARGB_MULTIPLY(S, SA, D, DA, SAC, RA) BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_MULTIPLY) |
#define | BLEND_ARGB_MULTIPLY_CDM(C, SA, D, DA, SAC, RA, CBPP) BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_MULTIPLY) |
#define | BLEND_CHANNEL_COLOR_BURN(S, SA, D, DA, SAC, RA) *(D) = BLEND( ((*S + *D) <= 255 ? 0 : (255 - ((255 - *D) * 255 ) / *S)) ,SA,*(D),DA,SAC,RA); (S)++; (D)++; |
#define | BLEND_ARGB_COLOR_BURN(S, SA, D, DA, SAC, RA) BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_COLOR_BURN) |
#define | BLEND_ARGB_COLOR_BURN_CDM(C, SA, D, DA, SAC, RA, CBPP) BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_COLOR_BURN) |
#define | BLEND_CHANNEL_LINEAR_BURN(S, SA, D, DA, SAC, RA) *(D) = BLEND( ((*S + *D < 255 ? 0 : *S + *D - 255) ),SA,*(D),DA,SAC,RA); (S)++; (D)++; |
#define | BLEND_ARGB_LINEAR_BURN(S, SA, D, DA, SAC, RA) BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_LINEAR_BURN) |
#define | BLEND_ARGB_LINEAR_BURN_CDM(C, SA, D, DA, SAC, RA, CBPP) BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_LINEAR_BURN) |
#define | BLEND_CHANNEL_DARKER_COLOR(S, SA, D, DA, SAC, RA) *(D) = BLEND(*S,SA,*D,DA,SAC,RA); S++; D++; |
#define | BLEND_ARGB_DARKER_COLOR(S, SA, D, DA, SAC, RA) |
#define | BLEND_ARGB_DARKER_COLOR_CDM(C, SA, D, DA, SAC, RA, CBPP) |
#define | BLEND_CHANNEL_LIGHTEN(S, SA, D, DA, SAC, RA) *(D) = BLEND((*S > *D ? *S : *D),SA,*(D),DA,SAC,RA); (S)++; (D)++; |
#define | BLEND_ARGB_LIGHTEN(S, SA, D, DA, SAC, RA) BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_LIGHTEN) |
#define | BLEND_ARGB_LIGHTEN_CDM(C, SA, D, DA, SAC, RA, CBPP) BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_LIGHTEN) |
#define | BLEND_CHANNEL_SCREEN(S, SA, D, DA, SAC, RA) *(D) = BLEND( (255 - ((255 - *S) * (255 - *D)) / 255) ,SA,*(D),DA,SAC,RA); (S)++; (D)++; |
#define | BLEND_ARGB_SCREEN(S, SA, D, DA, SAC, RA) BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_SCREEN) |
#define | BLEND_ARGB_SCREEN_CDM(C, SA, D, DA, SAC, RA, CBPP) BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_SCREEN) |
#define | BLEND_CHANNEL_COLOR_DODGE(S, SA, D, DA, SAC, RA) *(D) = BLEND( ((*S + *D) >= 255 ? 255 : (255 * *D) / (255 - *S)) ,SA,*(D),DA,SAC,RA); (S)++; (D)++; |
#define | BLEND_ARGB_COLOR_DODGE(S, SA, D, DA, SAC, RA) BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_COLOR_DODGE) |
#define | BLEND_ARGB_COLOR_DODGE_CDM(C, SA, D, DA, SAC, RA, CBPP) BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_COLOR_DODGE) |
#define | BLEND_CHANNEL_LINEAR_DODGE_ADD(S, SA, D, DA, SAC, RA) *(D) = BLEND( (*S + *D >= 255 ? 255 : *S + *D) ,SA,*(D),DA,SAC,RA); (S)++; (D)++; |
#define | BLEND_ARGB_LINEAR_DODGE_ADD(S, SA, D, DA, SAC, RA) BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_LINEAR_DODGE_ADD) |
#define | BLEND_ARGB_LINEAR_DODGE_ADD_CDM(C, SA, D, DA, SAC, RA, CBPP) BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_LINEAR_DODGE_ADD) |
#define | BLEND_CHANNEL_LIGHTER_COLOR(S, SA, D, DA, SAC, RA) *(D) = BLEND(*S,SA,*D,DA,SAC,RA); S++; D++; |
#define | BLEND_ARGB_LIGHTER_COLOR(S, SA, D, DA, SAC, RA) |
#define | BLEND_ARGB_LIGHTER_COLOR_CDM(C, SA, D, DA, SAC, RA, CBPP) |
#define | BLEND_CHANNEL_OVERLAY(S, SA, D, DA, SAC, RA) *(D) = BLEND( (*D < 128 ? (2 * *S * *D) / 255 : (255 - (2 * (255 - *S) * (255 - *D)) / 255)) ,SA,*(D),DA,SAC,RA); (S)++; (D)++; |
#define | BLEND_ARGB_OVERLAY(S, SA, D, DA, SAC, RA) BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_OVERLAY) |
#define | BLEND_ARGB_OVERLAY_CDM(C, SA, D, DA, SAC, RA, CBPP) BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_OVERLAY) |
#define | BLEND_CHANNEL_SOFT_LIGHT(S, SA, D, DA, SAC, RA) *(D) = BLEND( ((((255 - *D) * *S + (65025 - (255 - *S) * (255 - *D))) * *D) / 65025) ,SA,*(D),DA,SAC,RA); (S)++; (D)++; |
#define | BLEND_ARGB_SOFT_LIGHT(S, SA, D, DA, SAC, RA) BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_SOFT_LIGHT) |
#define | BLEND_ARGB_SOFT_LIGHT_CDM(C, SA, D, DA, SAC, RA, CBPP) BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_SOFT_LIGHT) |
#define | BLEND_CHANNEL_HARD_LIGHT(S, SA, D, DA, SAC, RA) *(D) = BLEND( (*S < 128 ? (2 * *S * *D) / 255 : (255 - (2 * (255 - *S) * (255 - *D)) / 255)) ,SA,*(D),DA,SAC,RA); (S)++; (D)++; |
#define | BLEND_ARGB_HARD_LIGHT(S, SA, D, DA, SAC, RA) BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_HARD_LIGHT) |
#define | BLEND_ARGB_HARD_LIGHT_CDM(C, SA, D, DA, SAC, RA, CBPP) BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_HARD_LIGHT) |
#define | BLEND_CHANNEL_VIVID_LIGHT(S, SA, D, DA, SAC, RA) |
#define | BLEND_ARGB_VIVID_LIGHT(S, SA, D, DA, SAC, RA) BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_VIVID_LIGHT) |
#define | BLEND_ARGB_VIVID_LIGHT_CDM(C, SA, D, DA, SAC, RA, CBPP) BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_VIVID_LIGHT) |
#define | BLEND_CHANNEL_LINEAR_LIGHT(S, SA, D, DA, SAC, RA) |
#define | BLEND_ARGB_LINEAR_LIGHT(S, SA, D, DA, SAC, RA) BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_LINEAR_LIGHT) |
#define | BLEND_ARGB_LINEAR_LIGHT_CDM(C, SA, D, DA, SAC, RA, CBPP) BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_LINEAR_LIGHT) |
#define | BLEND_CHANNEL_PIN_LIGHT(S, SA, D, DA, SAC, RA) |
#define | BLEND_ARGB_PIN_LIGHT(S, SA, D, DA, SAC, RA) BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_PIN_LIGHT) |
#define | BLEND_ARGB_PIN_LIGHT_CDM(C, SA, D, DA, SAC, RA, CBPP) BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_PIN_LIGHT) |
#define | BLEND_CHANNEL_HARD_MIX(S, SA, D, DA, SAC, RA) *(D) = BLEND( (*S > (255 - *D) ? 255 : 0) ,SA,*(D),DA,SAC,RA); (S)++; (D)++; |
#define | BLEND_ARGB_HARD_MIX(S, SA, D, DA, SAC, RA) BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_HARD_MIX) |
#define | BLEND_ARGB_HARD_MIX_CDM(C, SA, D, DA, SAC, RA, CBPP) BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_HARD_MIX) |
#define | BLEND_CHANNEL_DIFFERENCE(S, SA, D, DA, SAC, RA) *(D) = BLEND( (*D < *S ? *S - *D : *D - *S) ,SA,*(D),DA,SAC,RA); (S)++; (D)++; |
#define | BLEND_ARGB_DIFFERENCE(S, SA, D, DA, SAC, RA) BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_DIFFERENCE) |
#define | BLEND_ARGB_DIFFERENCE_CDM(C, SA, D, DA, SAC, RA, CBPP) BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_DIFFERENCE) |
#define | BLEND_CHANNEL_EXCLUSION(S, SA, D, DA, SAC, RA) *(D) = BLEND( (*S + *D - (2 * *S * *D) / 255) ,SA,*(D),DA,SAC,RA); (S)++; (D)++; |
#define | BLEND_ARGB_EXCLUSION(S, SA, D, DA, SAC, RA) BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_EXCLUSION) |
#define | BLEND_ARGB_EXCLUSION_CDM(C, SA, D, DA, SAC, RA, CBPP) BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_EXCLUSION) |
#define | BLEND_CHANNEL_SUBTRACT(S, SA, D, DA, SAC, RA) *(D) = BLEND( (*D < *S ? 0 : *D - *S) ,SA,*(D),DA,SAC,RA); (S)++; (D)++; |
#define | BLEND_ARGB_SUBTRACT(S, SA, D, DA, SAC, RA) BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_SUBTRACT) |
#define | BLEND_ARGB_SUBTRACT_CDM(C, SA, D, DA, SAC, RA, CBPP) BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_SUBTRACT) |
#define | BLEND_CHANNEL_DIVIDE(S, SA, D, DA, SAC, RA) *(D) = BLEND( (*D >= *S ? 255 : (255 * *D) / *S) ,SA,*(D),DA,SAC,RA); (S)++; (D)++; |
#define | BLEND_ARGB_DIVIDE(S, SA, D, DA, SAC, RA) BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_DIVIDE) |
#define | BLEND_ARGB_DIVIDE_CDM(C, SA, D, DA, SAC, RA, CBPP) BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_DIVIDE) |
#define | NORM_RGB_TO_NORM_HSV(R, G, B, H, S, V) |
Převod normalizovaných RGB na HSV, RGB hodnoty jsou použity jako pomocné proměnné a jsou během výpočtu upraveny. | |
#define | NORM_HSV_TO_NORM_RGB(R, G, B, H, S, V) |
Převod normalizovaných HSV na RGB, HSV hodnoty jsou použity jako pomocné proměnné a jsou během výpočtu upraveny. | |
#define | NORM_RGB_TO_NORM_HLS(R, G, B, H, L, S) |
Převod normalizovaných RGB na HLS, RGB hodnoty jsou použity jako pomocné proměnné a jsou během výpočtu upraveny. | |
#define | NORM_HLS_TO_NORM_RGB(R, G, B, H, L, S) |
Převod normalizovaných HLS na RGB, HLS hodnoty jsou použity jako pomocné proměnné a jsou během výpočtu upraveny. | |
#define | NORM_RGB_TO_NORM_HCY(R, G, B, H, C, Y) |
Převod normalizovaných RGB na HCY (Hue - Chroma - Luma), RGB hodnoty jsou použity jako pomocné proměnné a jsou během výpočtu upraveny. | |
#define | NORM_HCY_TO_NORM_RGB_NO_CLAMP(R, G, B, H, C, Y) |
Převod normalizovaných HCY na RGB, HCY hodnoty jsou použity jako pomocné proměnné a jsou během výpočtu upraveny. Neuplatňuje se clamping pro HCY. | |
#define | NORM_HCY_TO_NORM_RGB_Y_CLAMP(R, G, B, H, C, Y) |
Převod normalizovaných HCY na RGB, HCY hodnoty jsou použity jako pomocné proměnné a jsou během výpočtu upraveny. Složka Y je při převodu upravena tak, aby byla kombinace přípustná | |
#define | NORM_HCY_TO_NORM_RGB_C_CLAMP(R, G, B, H, C, Y) |
Převod normalizovaných HCY na RGB, HCY hodnoty jsou použity jako pomocné proměnné a jsou během výpočtu upraveny. Složka C je při převodu upravena tak, aby byla kombinace přípustná | |
#define | NORM_HCY_TO_NORM_RGB(R, G, B, H, C, Y) |
Převod normalizovaných HCY na RGB, HCY hodnoty jsou použity jako pomocné proměnné a jsou během výpočtu upraveny. Složky C a Y jsou při převodu upraveny (v tomto pořadí) tak, aby byla kombinace přípustná | |
#define | BLEND_ALPHA_ASSOCIATIVE_NORMALIZED(S, SA, D, DA, SAC, RA) ((S * SA + D * DA * SAC) / RA) |
Provede asociativní blending S a D, uvažují se normalizované hodnoty. | |
#define | BLEND_ARGB_HUE(S, SA, D, DA, SAC, RA) |
#define | BLEND_ARGB_HUE_CDM(C, SA, D, DA, SAC, RA, CBPP) |
#define | BLEND_ARGB_SATURATION(S, SA, D, DA, SAC, RA) |
#define | BLEND_ARGB_SATURATION_CDM(C, SA, D, DA, SAC, RA, CBPP) |
#define | BLEND_ARGB_COLOR(S, SA, D, DA, SAC, RA) |
#define | BLEND_ARGB_COLOR_CDM(C, SA, D, DA, SAC, RA, CBPP) |
#define | BLEND_ARGB_LUMINOSITY(S, SA, D, DA, SAC, RA) |
#define | BLEND_ARGB_LUMINOSITY_CDM(C, SA, D, DA, SAC, RA, CBPP) |
Soubor obsahuje makra pro nadefinování jednotlivých blendovacích funkcí. Soubor obsahuje makra pro nadefinování jednotlivých blendovacích funkcí. Veškeré vzorce pro blendování jsou obsaženy právě v tomto souboru!!!
Soubor je rozdělen do několika sekcí:
Definition in file Blender_blend_macro.hpp.
#define ADD_ONECH_SD | ( | S, | |
D | |||
) | *D = (*S / 255.0 + *D / 255.0 * (1 - *S / 255.0)) * 255 + 0.5; S++; D++; |
Makro realizuje přičtení jednokanálové bitmapy ke druhé, resp jednoho pixelu. S je ukazatel na zdrojový pixel, D je ukazatel na cílový pixel, oba jsou inkrementovány.
Definition at line 145 of file Blender_blend_macro.hpp.
#define ADD_ONECH_SDA | ( | S, | |
D, | |||
A | |||
) | *D = (*S * (A) / 255.0 + *D / 255.0 * (1 - *S * (A) / 255.0)) * 255 + 0.5; S++; D++; |
Makro realizuje přičtení jednokanálové bitmapy ke druhé s pronásobením zdrojové dodatečnou hodnotou alpha z intervalu <1; 0>, resp jednoho pixelu. S je ukazatel na zdrojový pixel, D je ukazatel na cílový pixel, oba jsou inkrementovány.
Definition at line 151 of file Blender_blend_macro.hpp.
#define ADD_ONECH_SDM | ( | S, | |
D, | |||
M | |||
) | *D = (*S * *M / 65025.0 + *D / 255.0 * (1 - *S * *M / 65025.0)) * 255 + 0.5; S++; D++; M++; |
Makro realizuje přičtení jednokanálové bitmapy ke druhé s pronásobením zdrojové dodatečnou hodnotou alpha z masky, na kterou ukazuje M, resp jednoho pixelu. S je ukazatel na zdrojový pixel, D je ukazatel na cílový pixel, oba jsou inkrementovány.
Definition at line 157 of file Blender_blend_macro.hpp.
#define ADD_ONECH_SDMA | ( | S, | |
D, | |||
M, | |||
A | |||
) | *D = (*S * *M * (A) / 65025.0 + *D / 255.0 * (1 - *S * *M * (A) / 65025.0)) * 255 + 0.5; S++; D++; M++; |
Makro realizuje přičtení jednokanálové bitmapy ke druhé s pronásobením zdrojové dodatečnou hodnotou alpha z masky, na kterou ukazuje M a dodatečnou hodnotou alpha z intervalu <1; 0>, resp jednoho pixelu. S je ukazatel na zdrojový pixel, D je ukazatel na cílový pixel, oba jsou inkrementovány.
Definition at line 163 of file Blender_blend_macro.hpp.
#define ADD_RGBA_SD | ( | S, | |
D | |||
) | D += 3; *D = (*S / 255.0 + *D / 255.0 * (1 - *S / 255.0)) * 255 + 0.5; S++; D++; |
Makro realizuje přičtení jednokanálové bitmapy k alpha kanálu RGBA bitmapy
Definition at line 211 of file Blender_blend_macro.hpp.
#define ADD_RGBA_SDA | ( | S, | |
D, | |||
A | |||
) | D += 3; *D = (*S * (A) / 255.0 + *D / 255.0 * (1 - *S * (A) / 255.0)) * 255 + 0.5; S++; D++; |
Makro realizuje přičtení jednokanálové bitmapy k alpha kanálu RGBA bitmapy, přičítaná alpha je dodatečně násobena hodnotou A z intervalu 0..1
Definition at line 216 of file Blender_blend_macro.hpp.
#define ADD_RGBA_SDM | ( | S, | |
D, | |||
M | |||
) | D += 3; *D = (*S * *M / 65025.0 + *D / 255.0 * (1 - *S * *M / 65025.0)) * 255 + 0.5; S++; D++; M++; |
Makro realizuje přičtení jednokanálové bitmapy k alpha kanálu RGBA bitmapy, přičítaná alpha je dodatečně násobena hodnotou masky M.
Definition at line 221 of file Blender_blend_macro.hpp.
#define ADD_RGBA_SDMA | ( | S, | |
D, | |||
M, | |||
A | |||
) | D += 3; *D = (*S * *M * (A) / 65025.0 + *D / 255.0 * (1 - *S * *M * (A) / 65025.0)) * 255 + 0.5; S++; D++; M++; |
Makro realizuje přičtení jednokanálové bitmapy k alpha kanálu RGBA bitmapy, přičítaná alpha je dodatečně násobena hodnotou A z intervalu 0..1 a hodnotou masky M.
Definition at line 226 of file Blender_blend_macro.hpp.
#define AREA_INCREMENT_CD | ( | D, | |
DROWEND, | |||
DBYTEWIDTH, | |||
DBYTEOFFSET | |||
) | D += DBYTEOFFSET; DROWEND += DBYTEWIDTH; |
Inkrementuje oblast typu CD po najetí na konec řádku - Dse inkrementuje o příslušný BYTEOFFSET, DROWEND se inkremetnuje o DBYTEWIDTH, C zde nefiguruje, protože není třeba inkrementovat
Definition at line 111 of file Blender_blend_macro.hpp.
#define AREA_INCREMENT_CDM | ( | D, | |
M, | |||
DROWEND, | |||
DBYTEWIDTH, | |||
DBYTEOFFSET, | |||
MBYTEOFFSET | |||
) | D += DBYTEOFFSET; M += MBYTEOFFSET; DROWEND += DBYTEWIDTH; |
Inkrementuje oblast typu CDM po najetí na konec řádku - D a M se inkrementuje o příslušný BYTEOFFSET, DROWEND se inkremetnuje o DBYTEWIDTH, C zde nefiguruje, protože není třeba inkrementovat
Definition at line 106 of file Blender_blend_macro.hpp.
#define AREA_INCREMENT_SD | ( | S, | |
D, | |||
DROWEND, | |||
DBYTEWIDTH, | |||
SBYTEOFFSET, | |||
DBYTEOFFSET | |||
) | S += SBYTEOFFSET; D += DBYTEOFFSET; DROWEND += DBYTEWIDTH; |
Inkrementuje oblast typu SD po najetí na konec řádku - S a D se inkrementuje o příslušný BYTEOFFSET, DROWEND se inkremetnuje o DBYTEWIDTH
Definition at line 96 of file Blender_blend_macro.hpp.
#define AREA_INCREMENT_SDM | ( | S, | |
D, | |||
M, | |||
DROWEND, | |||
DBYTEWIDTH, | |||
SBYTEOFFSET, | |||
DBYTEOFFSET, | |||
MBYTEOFFSET | |||
) | S += SBYTEOFFSET; D += DBYTEOFFSET; M += MBYTEOFFSET; DROWEND += DBYTEWIDTH; |
Inkrementuje oblast typu SDM po najetí na konec řádku - S, D a M se inkrementuje o příslušný BYTEOFFSET, DROWEND se inkremetnuje o DBYTEWIDTH
Definition at line 101 of file Blender_blend_macro.hpp.
#define BLEND | ( | SV, | |
SA, | |||
DV, | |||
DA, | |||
SAC, | |||
RA | |||
) | BLEND_ALPHA_ASSOCIATIVE(SV, SA, DV, DA, SAC, RA) |
Vrací zblendovanou hodnotu - jedná se jen o mezikrok, aby šlo snadno volit mezi asoociativní (pomalejší) a neasociativní, případně jinak optimalizovanou blendovací metodou
SV - hodnota source, DV - hodnota destination, nikoliv pointer!!!
SA, DA, SAC, RA jsou příslušné normalizované hodnoty alphy typu double (0..1)
Definition at line 73 of file Blender_blend_macro.hpp.
#define BLEND_ALPHA_ASSOCIATIVE | ( | SV, | |
SA, | |||
DV, | |||
DA, | |||
SAC, | |||
RA | |||
) | ((SV * SA + DV * DA * SAC) / RA + 0.5) |
Vrací zblendovanou hodnotu asociativním způsobem, parametry shodné s BLEND(...)
Definition at line 78 of file Blender_blend_macro.hpp.
#define BLEND_ALPHA_ASSOCIATIVE_NORMALIZED | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | ((S * SA + D * DA * SAC) / RA) |
Provede asociativní blending S a D, uvažují se normalizované hodnoty.
Definition at line 787 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_COLOR | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) |
Definition at line 840 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_COLOR_BURN | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_COLOR_BURN) |
Definition at line 347 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_COLOR_BURN_CDM | ( | C, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA, | |||
CBPP | |||
) | BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_COLOR_BURN) |
Definition at line 348 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_COLOR_CDM | ( | C, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA, | |||
CBPP | |||
) |
Definition at line 859 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_COLOR_DODGE | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_COLOR_DODGE) |
Definition at line 396 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_COLOR_DODGE_CDM | ( | C, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA, | |||
CBPP | |||
) | BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_COLOR_DODGE) |
Definition at line 397 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_DARKEN | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_DARKEN) |
Definition at line 334 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_DARKEN_CDM | ( | C, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA, | |||
CBPP | |||
) | BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_DARKEN) |
Definition at line 335 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_DARKER_COLOR | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) |
Definition at line 361 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_DARKER_COLOR_CDM | ( | C, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA, | |||
CBPP | |||
) |
Definition at line 369 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_DIFFERENCE | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_DIFFERENCE) |
Definition at line 487 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_DIFFERENCE_CDM | ( | C, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA, | |||
CBPP | |||
) | BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_DIFFERENCE) |
Definition at line 488 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_DIVIDE | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_DIVIDE) |
Definition at line 506 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_DIVIDE_CDM | ( | C, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA, | |||
CBPP | |||
) | BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_DIVIDE) |
Definition at line 507 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_EXCLUSION | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_EXCLUSION) |
Definition at line 493 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_EXCLUSION_CDM | ( | C, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA, | |||
CBPP | |||
) | BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_EXCLUSION) |
Definition at line 494 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_HARD_LIGHT | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_HARD_LIGHT) |
Definition at line 443 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_HARD_LIGHT_CDM | ( | C, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA, | |||
CBPP | |||
) | BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_HARD_LIGHT) |
Definition at line 444 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_HARD_MIX | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_HARD_MIX) |
Definition at line 479 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_HARD_MIX_CDM | ( | C, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA, | |||
CBPP | |||
) | BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_HARD_MIX) |
Definition at line 480 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_HUE | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) |
Definition at line 790 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_HUE_CDM | ( | C, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA, | |||
CBPP | |||
) |
Definition at line 809 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_LIGHTEN | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_LIGHTEN) |
Definition at line 382 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_LIGHTEN_CDM | ( | C, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA, | |||
CBPP | |||
) | BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_LIGHTEN) |
Definition at line 383 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_LIGHTER_COLOR | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) |
Definition at line 409 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_LIGHTER_COLOR_CDM | ( | C, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA, | |||
CBPP | |||
) |
Definition at line 417 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_LINEAR_BURN | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_LINEAR_BURN) |
Definition at line 353 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_LINEAR_BURN_CDM | ( | C, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA, | |||
CBPP | |||
) | BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_LINEAR_BURN) |
Definition at line 354 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_LINEAR_DODGE_ADD | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_LINEAR_DODGE_ADD) |
Definition at line 402 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_LINEAR_DODGE_ADD_CDM | ( | C, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA, | |||
CBPP | |||
) | BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_LINEAR_DODGE_ADD) |
Definition at line 403 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_LINEAR_LIGHT | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_LINEAR_LIGHT) |
Definition at line 463 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_LINEAR_LIGHT_CDM | ( | C, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA, | |||
CBPP | |||
) | BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_LINEAR_LIGHT) |
Definition at line 464 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_LUMINOSITY | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) |
Definition at line 865 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_LUMINOSITY_CDM | ( | C, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA, | |||
CBPP | |||
) |
Definition at line 884 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_MULTIPLY | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_MULTIPLY) |
Definition at line 340 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_MULTIPLY_CDM | ( | C, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA, | |||
CBPP | |||
) | BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_MULTIPLY) |
Definition at line 341 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_NORMAL | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_NORMAL) |
Zblenduje celý ARGB pixel v normálním módu a konfiguraci SDx a inkrementuje pointery
Definition at line 265 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_NORMAL_CDM | ( | C, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA, | |||
CBPP | |||
) | BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_NORMAL) |
Zblenduje celý ARGB pixel v normálním módu a konfiguraci CDM a inkrementuje pointery
Definition at line 270 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_OVERLAY | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_OVERLAY) |
Definition at line 430 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_OVERLAY_CDM | ( | C, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA, | |||
CBPP | |||
) | BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_OVERLAY) |
Definition at line 431 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_PIN_LIGHT | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_PIN_LIGHT) |
Definition at line 473 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_PIN_LIGHT_CDM | ( | C, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA, | |||
CBPP | |||
) | BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_PIN_LIGHT) |
Definition at line 474 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_PIXEL | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA, | |||
MACRO | |||
) |
Zapouzdřuje opakované volání jednoho makra pro blendování kanálů, ale nenahrazuje obecně BLEND_ARGB_NORMAL, pro módy, které nepoužívají prostor RGB nebo potřebují dodatečné proměnné by to znamenalo problém a těžko říct, co by usnadnilo více práci..
MACRO je pouze název makra, které se má volat, o doplnění argumentů se stará makro samo
Definition at line 120 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_PIXEL_CLR | ( | C, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA, | |||
CBPP, | |||
MACRO | |||
) |
Zapouzdření blendování barvou ve stylu BLEND_ARGB_PIXEL, pokud se bude optimalizovat, bude to na jednom místě
Definition at line 129 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_SATURATION | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) |
Definition at line 815 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_SATURATION_CDM | ( | C, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA, | |||
CBPP | |||
) |
Definition at line 834 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_SCREEN | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_SCREEN) |
Definition at line 389 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_SCREEN_CDM | ( | C, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA, | |||
CBPP | |||
) | BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_SCREEN) |
Definition at line 390 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_SOFT_LIGHT | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_SOFT_LIGHT) |
Definition at line 437 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_SOFT_LIGHT_CDM | ( | C, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA, | |||
CBPP | |||
) | BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_SOFT_LIGHT) |
Definition at line 438 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_SPC_BEHIND | ( | S, | |
SA, | |||
D, | |||
DA, | |||
DAC, | |||
RA | |||
) | BLEND_ARGB_PIXEL(S, SA, D, DA, DAC, RA, BLEND_CHANNEL_SPC_BEHIND) |
Definition at line 284 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_SPC_BEHIND_CDM | ( | C, | |
SA, | |||
D, | |||
DA, | |||
DAC, | |||
RA, | |||
CBPP | |||
) | BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, DAC, RA, CBPP, BLEND_CHANNEL_SPC_BEHIND) |
Definition at line 285 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_SUBTRACT | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_SUBTRACT) |
Definition at line 499 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_SUBTRACT_CDM | ( | C, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA, | |||
CBPP | |||
) | BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_SUBTRACT) |
Definition at line 500 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_VIVID_LIGHT | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | BLEND_ARGB_PIXEL(S, SA, D, DA, SAC, RA, BLEND_CHANNEL_VIVID_LIGHT) |
Definition at line 453 of file Blender_blend_macro.hpp.
#define BLEND_ARGB_VIVID_LIGHT_CDM | ( | C, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA, | |||
CBPP | |||
) | BLEND_ARGB_PIXEL_CLR(C, SA, D, DA, SAC, RA, CBPP, BLEND_CHANNEL_VIVID_LIGHT) |
Definition at line 454 of file Blender_blend_macro.hpp.
#define BLEND_CHANNEL_COLOR_BURN | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | *(D) = BLEND( ((*S + *D) <= 255 ? 0 : (255 - ((255 - *D) * 255 ) / *S)) ,SA,*(D),DA,SAC,RA); (S)++; (D)++; |
Definition at line 346 of file Blender_blend_macro.hpp.
#define BLEND_CHANNEL_COLOR_DODGE | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | *(D) = BLEND( ((*S + *D) >= 255 ? 255 : (255 * *D) / (255 - *S)) ,SA,*(D),DA,SAC,RA); (S)++; (D)++; |
Definition at line 395 of file Blender_blend_macro.hpp.
#define BLEND_CHANNEL_DARKEN | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | *(D) = BLEND((*S < *D ? *S : *D),SA,*(D),DA,SAC,RA); (S)++; (D)++; |
Definition at line 333 of file Blender_blend_macro.hpp.
#define BLEND_CHANNEL_DARKER_COLOR | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | *(D) = BLEND(*S,SA,*D,DA,SAC,RA); S++; D++; |
Definition at line 358 of file Blender_blend_macro.hpp.
#define BLEND_CHANNEL_DIFFERENCE | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | *(D) = BLEND( (*D < *S ? *S - *D : *D - *S) ,SA,*(D),DA,SAC,RA); (S)++; (D)++; |
Definition at line 486 of file Blender_blend_macro.hpp.
#define BLEND_CHANNEL_DIVIDE | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | *(D) = BLEND( (*D >= *S ? 255 : (255 * *D) / *S) ,SA,*(D),DA,SAC,RA); (S)++; (D)++; |
Definition at line 505 of file Blender_blend_macro.hpp.
#define BLEND_CHANNEL_EXCLUSION | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | *(D) = BLEND( (*S + *D - (2 * *S * *D) / 255) ,SA,*(D),DA,SAC,RA); (S)++; (D)++; |
Definition at line 492 of file Blender_blend_macro.hpp.
#define BLEND_CHANNEL_HARD_LIGHT | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | *(D) = BLEND( (*S < 128 ? (2 * *S * *D) / 255 : (255 - (2 * (255 - *S) * (255 - *D)) / 255)) ,SA,*(D),DA,SAC,RA); (S)++; (D)++; |
Definition at line 442 of file Blender_blend_macro.hpp.
#define BLEND_CHANNEL_HARD_MIX | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | *(D) = BLEND( (*S > (255 - *D) ? 255 : 0) ,SA,*(D),DA,SAC,RA); (S)++; (D)++; |
Definition at line 478 of file Blender_blend_macro.hpp.
#define BLEND_CHANNEL_LIGHTEN | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | *(D) = BLEND((*S > *D ? *S : *D),SA,*(D),DA,SAC,RA); (S)++; (D)++; |
Definition at line 381 of file Blender_blend_macro.hpp.
#define BLEND_CHANNEL_LIGHTER_COLOR | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | *(D) = BLEND(*S,SA,*D,DA,SAC,RA); S++; D++; |
Definition at line 407 of file Blender_blend_macro.hpp.
#define BLEND_CHANNEL_LINEAR_BURN | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | *(D) = BLEND( ((*S + *D < 255 ? 0 : *S + *D - 255) ),SA,*(D),DA,SAC,RA); (S)++; (D)++; |
Definition at line 352 of file Blender_blend_macro.hpp.
#define BLEND_CHANNEL_LINEAR_DODGE_ADD | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | *(D) = BLEND( (*S + *D >= 255 ? 255 : *S + *D) ,SA,*(D),DA,SAC,RA); (S)++; (D)++; |
Definition at line 401 of file Blender_blend_macro.hpp.
#define BLEND_CHANNEL_LINEAR_LIGHT | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) |
#define BLEND_CHANNEL_MULTIPLY | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | *(D) = BLEND((*S * *D / 255.0),SA,*(D),DA,SAC,RA); (S)++; (D)++; |
Definition at line 339 of file Blender_blend_macro.hpp.
#define BLEND_CHANNEL_NORMAL | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | *D = BLEND(*S,SA,*D,DA,SAC,RA); S++; D++; |
Zblenduje kanál v normálním blendovacím módu a inkrementuje pointery
Definition at line 260 of file Blender_blend_macro.hpp.
#define BLEND_CHANNEL_OVERLAY | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | *(D) = BLEND( (*D < 128 ? (2 * *S * *D) / 255 : (255 - (2 * (255 - *S) * (255 - *D)) / 255)) ,SA,*(D),DA,SAC,RA); (S)++; (D)++; |
Definition at line 429 of file Blender_blend_macro.hpp.
#define BLEND_CHANNEL_PIN_LIGHT | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) |
#define BLEND_CHANNEL_SCREEN | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | *(D) = BLEND( (255 - ((255 - *S) * (255 - *D)) / 255) ,SA,*(D),DA,SAC,RA); (S)++; (D)++; |
Definition at line 388 of file Blender_blend_macro.hpp.
#define BLEND_CHANNEL_SOFT_LIGHT | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | *(D) = BLEND( ((((255 - *D) * *S + (65025 - (255 - *S) * (255 - *D))) * *D) / 65025) ,SA,*(D),DA,SAC,RA); (S)++; (D)++; |
Definition at line 436 of file Blender_blend_macro.hpp.
#define BLEND_CHANNEL_SPC_BEHIND | ( | S, | |
SA, | |||
D, | |||
DA, | |||
DAC, | |||
RA | |||
) | *D = BLEND(*D,DA,*S,SA,DAC,RA); S++; D++; |
Definition at line 283 of file Blender_blend_macro.hpp.
#define BLEND_CHANNEL_SUBTRACT | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) | *(D) = BLEND( (*D < *S ? 0 : *D - *S) ,SA,*(D),DA,SAC,RA); (S)++; (D)++; |
Definition at line 498 of file Blender_blend_macro.hpp.
#define BLEND_CHANNEL_VIVID_LIGHT | ( | S, | |
SA, | |||
D, | |||
DA, | |||
SAC, | |||
RA | |||
) |
#define BLEND_COMPLEX_BEHIND_CD | ( | C, | |
D | |||
) |
Definition at line 305 of file Blender_blend_macro.hpp.
#define BLEND_COMPLEX_BEHIND_CDM | ( | C, | |
D, | |||
M | |||
) |
Definition at line 301 of file Blender_blend_macro.hpp.
#define BLEND_COMPLEX_BEHIND_SD | ( | S, | |
D | |||
) |
Definition at line 287 of file Blender_blend_macro.hpp.
#define BLEND_COMPLEX_BEHIND_SDA | ( | S, | |
D, | |||
A | |||
) |
Definition at line 290 of file Blender_blend_macro.hpp.
#define BLEND_COMPLEX_BEHIND_SDM | ( | S, | |
D, | |||
M | |||
) |
Definition at line 293 of file Blender_blend_macro.hpp.
#define BLEND_COMPLEX_BEHIND_SDMA | ( | S, | |
D, | |||
M, | |||
A | |||
) |
Definition at line 297 of file Blender_blend_macro.hpp.
#define BLEND_COMPLEX_CLEAR_CD | ( | C, | |
D | |||
) |
Definition at line 325 of file Blender_blend_macro.hpp.
#define BLEND_COMPLEX_CLEAR_CDM | ( | C, | |
D, | |||
M | |||
) |
Definition at line 322 of file Blender_blend_macro.hpp.
#define BLEND_COMPLEX_CLEAR_SD | ( | S, | |
D | |||
) |
Definition at line 310 of file Blender_blend_macro.hpp.
#define BLEND_COMPLEX_CLEAR_SDA | ( | S, | |
D, | |||
A | |||
) |
#define BLEND_COMPLEX_CLEAR_SDM | ( | S, | |
D, | |||
M | |||
) |
Definition at line 316 of file Blender_blend_macro.hpp.
#define BLEND_COMPLEX_CLEAR_SDMA | ( | S, | |
D, | |||
M, | |||
A | |||
) |
#define FOREACH | ( | D, | |
AREAEND, | |||
ROWEND, | |||
BODY, | |||
INCREMENT | |||
) |
Zapouzdření cyklu, který prochází celou oblast a na každém pixelu provádí blok kódu BODY. Jakmile narazí na ROWEND, provádí se blok kódu INCREMENT. D - pointer na cílovou oblast, AREAEND - pointer těsně za konec oblasti, ROWEND - pointer těsně za na konec prvního řádku oblasti.
Definition at line 85 of file Blender_blend_macro.hpp.
#define INIT_ALPHAS_CUSTOM | ( | SA, | |
DA | |||
) | double sa = SA; double da = DA; double sac = 1 - sa; double ra = sa + da * sac; |
Vytvoří proměnné používané pro alphu při alpha blendingu, sa inicializuje na SA, da inicializuje na DA
Definition at line 58 of file Blender_blend_macro.hpp.
#define INIT_ALPHAS_SD | ( | S, | |
D | |||
) | INIT_ALPHAS_CUSTOM(*(S+3) / 255.0, *(D+3) / 255.0) |
Nastaví alphy pouze z kombinace zdrojové a cílové bitmapy, S a D jsou ukazatele na počátek příslušného argb pixelu (data v pořadí R, G, B, A)
Definition at line 31 of file Blender_blend_macro.hpp.
#define INIT_ALPHAS_SDA | ( | S, | |
D, | |||
A | |||
) | INIT_ALPHAS_CUSTOM(*(S+3) * A / 255.0, *(D+3) / 255.0) |
Nastaví alphy z kombinace zdrojové a cílové bitmapy, kdy alpha zdrojové bitmapy je dodatečně pronásobena alphou A, S a D jsou ukazatele na počátek příslušného argb pixelu (data v pořadí R, G, B, A), A je alpha typu double z intervalu <0; 1>
Definition at line 38 of file Blender_blend_macro.hpp.
#define INIT_ALPHAS_SDM | ( | S, | |
D, | |||
M | |||
) | INIT_ALPHAS_CUSTOM(*(S+3) * *M / 65025.0, *(D+3) / 255.0) M++; |
Nastaví alphy z kombinace zdrojové a cílové bitmapy, kdy alpha zdrojové bitmapy je dodatečně pronásobena alphou masky M, S a D jsou ukazatele na počátek příslušného argb pixelu (data v pořadí R, G, B, A), M je ukazatel na příslušný pixel masky, M je inkrementován
Definition at line 45 of file Blender_blend_macro.hpp.
#define INIT_ALPHAS_SDMA | ( | S, | |
D, | |||
M, | |||
A | |||
) | INIT_ALPHAS_CUSTOM(*(S+3) * *M * A / 65025.0, *(D+3) / 255.0) M++; |
Nastaví alphy z kombinace zdrojové a cílové bitmapy, kdy alpha zdrojové bitmapy je dodatečně pronásobena alphou masky M a hodnotou alphy A, S a D jsou ukazatele na počátek příslušného argb pixelu (data v pořadí R, G, B, A), M je ukazatel na příslušný pixel masky, M je inkrementován, A je dodatečná hodnota alphy typu double z intervalu <0; 1>
Definition at line 53 of file Blender_blend_macro.hpp.
#define NORM_HCY_TO_NORM_RGB | ( | R, | |
G, | |||
B, | |||
H, | |||
C, | |||
Y | |||
) |
Převod normalizovaných HCY na RGB, HCY hodnoty jsou použity jako pomocné proměnné a jsou během výpočtu upraveny. Složky C a Y jsou při převodu upraveny (v tomto pořadí) tak, aby byla kombinace přípustná
Definition at line 735 of file Blender_blend_macro.hpp.
#define NORM_HCY_TO_NORM_RGB_C_CLAMP | ( | R, | |
G, | |||
B, | |||
H, | |||
C, | |||
Y | |||
) |
Převod normalizovaných HCY na RGB, HCY hodnoty jsou použity jako pomocné proměnné a jsou během výpočtu upraveny. Složka C je při převodu upravena tak, aby byla kombinace přípustná
Definition at line 691 of file Blender_blend_macro.hpp.
#define NORM_HCY_TO_NORM_RGB_NO_CLAMP | ( | R, | |
G, | |||
B, | |||
H, | |||
C, | |||
Y | |||
) |
Převod normalizovaných HCY na RGB, HCY hodnoty jsou použity jako pomocné proměnné a jsou během výpočtu upraveny. Neuplatňuje se clamping pro HCY.
Definition at line 635 of file Blender_blend_macro.hpp.
#define NORM_HCY_TO_NORM_RGB_Y_CLAMP | ( | R, | |
G, | |||
B, | |||
H, | |||
C, | |||
Y | |||
) |
Převod normalizovaných HCY na RGB, HCY hodnoty jsou použity jako pomocné proměnné a jsou během výpočtu upraveny. Složka Y je při převodu upravena tak, aby byla kombinace přípustná
Definition at line 654 of file Blender_blend_macro.hpp.
#define NORM_HLS_TO_NORM_RGB | ( | R, | |
G, | |||
B, | |||
H, | |||
L, | |||
S | |||
) |
Převod normalizovaných HLS na RGB, HLS hodnoty jsou použity jako pomocné proměnné a jsou během výpočtu upraveny.
Definition at line 588 of file Blender_blend_macro.hpp.
#define NORM_HSV_TO_NORM_RGB | ( | R, | |
G, | |||
B, | |||
H, | |||
S, | |||
V | |||
) |
Převod normalizovaných HSV na RGB, HSV hodnoty jsou použity jako pomocné proměnné a jsou během výpočtu upraveny.
Definition at line 541 of file Blender_blend_macro.hpp.
#define NORM_RGB_TO_NORM_HCY | ( | R, | |
G, | |||
B, | |||
H, | |||
C, | |||
Y | |||
) |
Převod normalizovaných RGB na HCY (Hue - Chroma - Luma), RGB hodnoty jsou použity jako pomocné proměnné a jsou během výpočtu upraveny.
Definition at line 612 of file Blender_blend_macro.hpp.
#define NORM_RGB_TO_NORM_HLS | ( | R, | |
G, | |||
B, | |||
H, | |||
L, | |||
S | |||
) |
Převod normalizovaných RGB na HLS, RGB hodnoty jsou použity jako pomocné proměnné a jsou během výpočtu upraveny.
Definition at line 560 of file Blender_blend_macro.hpp.
#define NORM_RGB_TO_NORM_HSV | ( | R, | |
G, | |||
B, | |||
H, | |||
S, | |||
V | |||
) |
Převod normalizovaných RGB na HSV, RGB hodnoty jsou použity jako pomocné proměnné a jsou během výpočtu upraveny.
Definition at line 516 of file Blender_blend_macro.hpp.
#define REM_ONECH_SD | ( | S, | |
D | |||
) |
Makro realizuje odečtení jednokanálové bitmapy od druhé, resp jednoho pixelu. S je ukazatel na zdrojový pixel, D je ukazatel na cílový pixel, oba jsou inkrementovány.
Definition at line 171 of file Blender_blend_macro.hpp.
#define REM_ONECH_SDA | ( | S, | |
D, | |||
A | |||
) |
Makro realizuje odečtení jednokanálové bitmapy od druhé s pronásobením zdrojové dodatečnou hodnotou alpha z intervalu <1; 0>, resp jednoho pixelu. S je ukazatel na zdrojový pixel, D je ukazatel na cílový pixel, oba jsou inkrementovány.
Definition at line 178 of file Blender_blend_macro.hpp.
#define REM_ONECH_SDM | ( | S, | |
D, | |||
M | |||
) |
Makro realizuje odečtení jednokanálové bitmapy od druhé s pronásobením zdrojové dodatečnou hodnotou alpha z masky, na kterou ukazuje M, resp jednoho pixelu. S je ukazatel na zdrojový pixel, D je ukazatel na cílový pixel, oba jsou inkrementovány.
Definition at line 185 of file Blender_blend_macro.hpp.
#define REM_ONECH_SDMA | ( | S, | |
D, | |||
M, | |||
A | |||
) |
Makro realizuje odečtení jednokanálové bitmapy od druhé s pronásobením zdrojové dodatečnou hodnotou alpha z masky, na kterou ukazuje M a dodatečnou hodnotou alpha z intervalu <1; 0>, resp jednoho pixelu. S je ukazatel na zdrojový pixel, D je ukazatel na cílový pixel, oba jsou inkrementovány.
Definition at line 192 of file Blender_blend_macro.hpp.
#define REM_RGBA_SD | ( | S, | |
D | |||
) |
Makro realizuje odečtení jednokanálové bitmapy od alpha kanálu RGBA bitmapy
Definition at line 232 of file Blender_blend_macro.hpp.
#define REM_RGBA_SDA | ( | S, | |
D, | |||
A | |||
) |
Makro realizuje odečtení jednokanálové bitmapy od alpha kanálu RGBA bitmapy, odečítaná alpha je dodatečně násobena hodnotou A z intervalu 0..1
Definition at line 238 of file Blender_blend_macro.hpp.
#define REM_RGBA_SDM | ( | S, | |
D, | |||
M | |||
) |
Makro realizuje odečtení jednokanálové bitmapy od alpha kanálu RGBA bitmapy, odečítaná alpha je dodatečně násobena hodnotou masky M.
Definition at line 244 of file Blender_blend_macro.hpp.
#define REM_RGBA_SDMA | ( | S, | |
D, | |||
M, | |||
A | |||
) |
Makro realizuje odečtení jednokanálové bitmapy od alpha kanálu RGBA bitmapy, odečítaná alpha je dodatečně násobena hodnotou A z intervalu 0..1 a hodnotou masky M.
Definition at line 250 of file Blender_blend_macro.hpp.
#define WRITE_ALPHA | ( | S, | |
D, | |||
RA | |||
) | *D = RA * 255 + 0.5; S++; D++; |
Zapíše výslednou alphu RA (konverze z double na uchar se zaokrouhlením +0.5), inkrementuje S a D
Definition at line 63 of file Blender_blend_macro.hpp.