Introduction
Downloads
Documentation
Tutorials
Pixie Lite
Forum

Home

Blitter Class Reference
[Graphics]

Helper class for bitmap blitting. More...

List of all members.


Classes

struct  BlitArgs
struct  OpArgs
struct  StepArgs

Public Types

typedef void(* Operation )(OpArgs &opArgs)
typedef void(* Step )(OpArgs &opArgs, StepArgs &stepArgs)

Public Member Functions

INLINE void OpFill_Color_TC (OpArgs &opArgs)
INLINE void OpFill_Alpha_TA (OpArgs &opArgs)
INLINE void OpCopy_SC_TC (OpArgs &opArgs)
INLINE void OpCopy_Color_SC_TC (OpArgs &opArgs)
INLINE void OpCopy_SA_TA (OpArgs &opArgs)
INLINE void OpBlend_SC_SA_TC (OpArgs &opArgs)
INLINE void OpBlend_Color_SC_SA_TC (OpArgs &opArgs)
INLINE void OpBlend_Alpha_SC_TC (OpArgs &opArgs)
INLINE void OpBlend_Color_Alpha_SC_TC (OpArgs &opArgs)
INLINE void OpBlend_Alpha_SC_SA_TC (OpArgs &opArgs)
INLINE void OpBlend_Color_Alpha_SC_SA_TC (OpArgs &opArgs)
INLINE void OpBlend_Color_Alpha_TC (OpArgs &opArgs)
INLINE void OpBlend_Color_SA_TC (OpArgs &opArgs)
INLINE void OpBlend_Color_Alpha_SA_TC (OpArgs &opArgs)
INLINE void OpMax_Alpha_TA (OpArgs &opArgs)
INLINE void OpMax_SA_TA (OpArgs &opArgs)
INLINE void OpMax_Alpha_SA_TA (OpArgs &opArgs)
INLINE void StepX_Normal_TC (DefArgs)
INLINE void StepY_Normal_TC (DefArgs)
INLINE void StepX_Normal_TA (DefArgs)
INLINE void StepY_Normal_TA (DefArgs)
INLINE void StepX_Normal_SC_TC (DefArgs)
INLINE void StepY_Normal_SC_TC (DefArgs)
INLINE void StepX_Normal_SA_TA (DefArgs)
INLINE void StepY_Normal_SA_TA (DefArgs)
INLINE void StepX_Normal_SA_TC (DefArgs)
INLINE void StepY_Normal_SA_TC (DefArgs)
INLINE void StepX_Normal_SC_SA_TC (DefArgs)
INLINE void StepY_Normal_SC_SA_TC (DefArgs)
INLINE void StepX_Rot090_TC (DefArgs)
INLINE void StepY_Rot090_TC (DefArgs)
INLINE void StepX_Rot090_TA (DefArgs)
INLINE void StepY_Rot090_TA (DefArgs)
INLINE void StepX_Rot090_SC_TC (DefArgs)
INLINE void StepY_Rot090_SC_TC (DefArgs)
INLINE void StepX_Rot090_SA_TA (DefArgs)
INLINE void StepY_Rot090_SA_TA (DefArgs)
INLINE void StepX_Rot090_SA_TC (DefArgs)
INLINE void StepY_Rot090_SA_TC (DefArgs)
INLINE void StepX_Rot090_SC_SA_TC (DefArgs)
INLINE void StepY_Rot090_SC_SA_TC (DefArgs)
INLINE void StepX_Rot180_TC (DefArgs)
INLINE void StepY_Rot180_TC (DefArgs)
INLINE void StepX_Rot180_TA (DefArgs)
INLINE void StepY_Rot180_TA (DefArgs)
INLINE void StepX_Rot180_SC_TC (DefArgs)
INLINE void StepY_Rot180_SC_TC (DefArgs)
INLINE void StepX_Rot180_SA_TA (DefArgs)
INLINE void StepY_Rot180_SA_TA (DefArgs)
INLINE void StepX_Rot180_SA_TC (DefArgs)
INLINE void StepY_Rot180_SA_TC (DefArgs)
INLINE void StepX_Rot180_SC_SA_TC (DefArgs)
INLINE void StepY_Rot180_SC_SA_TC (DefArgs)
INLINE void StepX_Rot270_TC (DefArgs)
INLINE void StepY_Rot270_TC (DefArgs)
INLINE void StepX_Rot270_TA (DefArgs)
INLINE void StepY_Rot270_TA (DefArgs)
INLINE void StepX_Rot270_SC_TC (DefArgs)
INLINE void StepY_Rot270_SC_TC (DefArgs)
INLINE void StepX_Rot270_SA_TA (DefArgs)
INLINE void StepY_Rot270_SA_TA (DefArgs)
INLINE void StepX_Rot270_SA_TC (DefArgs)
INLINE void StepY_Rot270_SA_TC (DefArgs)
INLINE void StepX_Rot270_SC_SA_TC (DefArgs)
INLINE void StepY_Rot270_SC_SA_TC (DefArgs)
INLINE void StepX_Flip_X_TC (DefArgs)
INLINE void StepY_Flip_X_TC (DefArgs)
INLINE void StepX_Flip_X_TA (DefArgs)
INLINE void StepY_Flip_X_TA (DefArgs)
INLINE void StepX_Flip_X_SC_TC (DefArgs)
INLINE void StepY_Flip_X_SC_TC (DefArgs)
INLINE void StepX_Flip_X_SA_TA (DefArgs)
INLINE void StepY_Flip_X_SA_TA (DefArgs)
INLINE void StepX_Flip_X_SA_TC (DefArgs)
INLINE void StepY_Flip_X_SA_TC (DefArgs)
INLINE void StepX_Flip_X_SC_SA_TC (DefArgs)
INLINE void StepY_Flip_X_SC_SA_TC (DefArgs)
INLINE void StepX_Flip_Y_TC (DefArgs)
INLINE void StepY_Flip_Y_TC (DefArgs)
INLINE void StepX_Flip_Y_TA (DefArgs)
INLINE void StepY_Flip_Y_TA (DefArgs)
INLINE void StepX_Flip_Y_SC_TC (DefArgs)
INLINE void StepY_Flip_Y_SC_TC (DefArgs)
INLINE void StepX_Flip_Y_SA_TA (DefArgs)
INLINE void StepY_Flip_Y_SA_TA (DefArgs)
INLINE void StepX_Flip_Y_SA_TC (DefArgs)
INLINE void StepY_Flip_Y_SA_TC (DefArgs)
INLINE void StepX_Flip_Y_SC_SA_TC (DefArgs)
INLINE void StepY_Flip_Y_SC_SA_TC (DefArgs)

Static Public Member Functions

template<Operation operation, Step stepX, Step stepY>
static void Normal (BlitArgs &blitArgs)
template<Operation operation, Step stepX, Step stepY>
static void Rot090 (BlitArgs &blitArgs)
template<Operation operation, Step stepX, Step stepY>
static void Rot180 (BlitArgs &blitArgs)
template<Operation operation, Step stepX, Step stepY>
static void Rot270 (BlitArgs &blitArgs)
template<Operation operation, Step stepX, Step stepY>
static void Flip_X (BlitArgs &blitArgs)
template<Operation operation, Step stepX, Step stepY>
static void Flip_Y (BlitArgs &blitArgs)
static void Normal_Fill_Alpha_TA (BlitArgs &blitArgs)
static void Normal_Copy_SC_TC (BlitArgs &blitArgs)
static void Flip_Y_Copy_SC_TC (BlitArgs &blitArgs)
static void Normal_Copy_SA_TA (BlitArgs &blitArgs)
static void Flip_Y_Copy_SA_TA (BlitArgs &blitArgs)

Detailed Description

Helper class for bitmap blitting.

Author:
Mattias Gustavsson
Todo:
Additive blitting + more blend modes

Definition at line 20 of file Blitter.h.


Member Typedef Documentation

typedef void(* Blitter::Operation)(OpArgs &opArgs)

Definition at line 26 of file Blitter.h.

typedef void(* Blitter::Step)(OpArgs &opArgs, StepArgs &stepArgs)

Definition at line 27 of file Blitter.h.


Member Function Documentation

template<Blitter::Operation operation, Blitter::Step stepX, Blitter::Step stepY>
static void Blitter::Normal ( BlitArgs blitArgs  )  [static]

Definition at line 177 of file Blitter.inl.

template<Blitter::Operation operation, Blitter::Step stepX, Blitter::Step stepY>
static void Blitter::Rot090 ( BlitArgs blitArgs  )  [static]

Definition at line 211 of file Blitter.inl.

template<Blitter::Operation operation, Blitter::Step stepX, Blitter::Step stepY>
static void Blitter::Rot180 ( BlitArgs blitArgs  )  [static]

Definition at line 247 of file Blitter.inl.

template<Blitter::Operation operation, Blitter::Step stepX, Blitter::Step stepY>
static void Blitter::Rot270 ( BlitArgs blitArgs  )  [static]

Definition at line 282 of file Blitter.inl.

template<Blitter::Operation operation, Blitter::Step stepX, Blitter::Step stepY>
static void Blitter::Flip_X ( BlitArgs blitArgs  )  [static]

Definition at line 317 of file Blitter.inl.

template<Blitter::Operation operation, Blitter::Step stepX, Blitter::Step stepY>
static void Blitter::Flip_Y ( BlitArgs blitArgs  )  [static]

Definition at line 352 of file Blitter.inl.

void Blitter::Normal_Fill_Alpha_TA ( BlitArgs blitArgs  )  [static]

Definition at line 385 of file Blitter.inl.

void Blitter::Normal_Copy_SC_TC ( BlitArgs blitArgs  )  [static]

Use a single memcpy when we can

Definition at line 408 of file Blitter.inl.

void Blitter::Flip_Y_Copy_SC_TC ( BlitArgs blitArgs  )  [static]

Definition at line 434 of file Blitter.inl.

void Blitter::Normal_Copy_SA_TA ( BlitArgs blitArgs  )  [static]

Use a single memcpy when we can

Definition at line 452 of file Blitter.inl.

void Blitter::Flip_Y_Copy_SA_TA ( BlitArgs blitArgs  )  [static]

Definition at line 477 of file Blitter.inl.

void Blitter::OpFill_Color_TC ( OpArgs opArgs  ) 

Definition at line 7 of file Blitter.inl.

void Blitter::OpFill_Alpha_TA ( OpArgs opArgs  ) 

Definition at line 16 of file Blitter.inl.

void Blitter::OpCopy_SC_TC ( OpArgs opArgs  ) 

Definition at line 25 of file Blitter.inl.

void Blitter::OpCopy_Color_SC_TC ( OpArgs opArgs  ) 

Definition at line 34 of file Blitter.inl.

void Blitter::OpCopy_SA_TA ( OpArgs opArgs  ) 

Definition at line 43 of file Blitter.inl.

void Blitter::OpBlend_SC_SA_TC ( OpArgs opArgs  ) 

Definition at line 52 of file Blitter.inl.

void Blitter::OpBlend_Color_SC_SA_TC ( OpArgs opArgs  ) 

Definition at line 61 of file Blitter.inl.

void Blitter::OpBlend_Alpha_SC_TC ( OpArgs opArgs  ) 

Definition at line 71 of file Blitter.inl.

void Blitter::OpBlend_Color_Alpha_SC_TC ( OpArgs opArgs  ) 

Definition at line 80 of file Blitter.inl.

void Blitter::OpBlend_Alpha_SC_SA_TC ( OpArgs opArgs  ) 

Definition at line 90 of file Blitter.inl.

void Blitter::OpBlend_Color_Alpha_SC_SA_TC ( OpArgs opArgs  ) 

Definition at line 100 of file Blitter.inl.

void Blitter::OpBlend_Color_Alpha_TC ( OpArgs opArgs  ) 

Definition at line 111 of file Blitter.inl.

void Blitter::OpBlend_Color_SA_TC ( OpArgs opArgs  ) 

Definition at line 120 of file Blitter.inl.

void Blitter::OpBlend_Color_Alpha_SA_TC ( OpArgs opArgs  ) 

Definition at line 129 of file Blitter.inl.

void Blitter::OpMax_Alpha_TA ( OpArgs opArgs  ) 

Definition at line 139 of file Blitter.inl.

void Blitter::OpMax_SA_TA ( OpArgs opArgs  ) 

Definition at line 151 of file Blitter.inl.

void Blitter::OpMax_Alpha_SA_TA ( OpArgs opArgs  ) 

Definition at line 163 of file Blitter.inl.

INLINE void Blitter::StepX_Normal_TC ( DefArgs   ) 

Definition at line 147 of file Blitter.h.

INLINE void Blitter::StepY_Normal_TC ( DefArgs   ) 

Definition at line 148 of file Blitter.h.

INLINE void Blitter::StepX_Normal_TA ( DefArgs   ) 

Definition at line 149 of file Blitter.h.

INLINE void Blitter::StepY_Normal_TA ( DefArgs   ) 

Definition at line 150 of file Blitter.h.

INLINE void Blitter::StepX_Normal_SC_TC ( DefArgs   ) 

Definition at line 151 of file Blitter.h.

INLINE void Blitter::StepY_Normal_SC_TC ( DefArgs   ) 

Definition at line 152 of file Blitter.h.

INLINE void Blitter::StepX_Normal_SA_TA ( DefArgs   ) 

Definition at line 153 of file Blitter.h.

INLINE void Blitter::StepY_Normal_SA_TA ( DefArgs   ) 

Definition at line 154 of file Blitter.h.

INLINE void Blitter::StepX_Normal_SA_TC ( DefArgs   ) 

Definition at line 155 of file Blitter.h.

INLINE void Blitter::StepY_Normal_SA_TC ( DefArgs   ) 

Definition at line 156 of file Blitter.h.

INLINE void Blitter::StepX_Normal_SC_SA_TC ( DefArgs   ) 

Definition at line 157 of file Blitter.h.

INLINE void Blitter::StepY_Normal_SC_SA_TC ( DefArgs   ) 

Definition at line 158 of file Blitter.h.

INLINE void Blitter::StepX_Rot090_TC ( DefArgs   ) 

Definition at line 160 of file Blitter.h.

INLINE void Blitter::StepY_Rot090_TC ( DefArgs   ) 

Definition at line 161 of file Blitter.h.

INLINE void Blitter::StepX_Rot090_TA ( DefArgs   ) 

Definition at line 162 of file Blitter.h.

INLINE void Blitter::StepY_Rot090_TA ( DefArgs   ) 

Definition at line 163 of file Blitter.h.

INLINE void Blitter::StepX_Rot090_SC_TC ( DefArgs   ) 

Definition at line 164 of file Blitter.h.

INLINE void Blitter::StepY_Rot090_SC_TC ( DefArgs   ) 

Definition at line 165 of file Blitter.h.

INLINE void Blitter::StepX_Rot090_SA_TA ( DefArgs   ) 

Definition at line 166 of file Blitter.h.

INLINE void Blitter::StepY_Rot090_SA_TA ( DefArgs   ) 

Definition at line 167 of file Blitter.h.

INLINE void Blitter::StepX_Rot090_SA_TC ( DefArgs   ) 

Definition at line 168 of file Blitter.h.

INLINE void Blitter::StepY_Rot090_SA_TC ( DefArgs   ) 

Definition at line 169 of file Blitter.h.

INLINE void Blitter::StepX_Rot090_SC_SA_TC ( DefArgs   ) 

Definition at line 170 of file Blitter.h.

INLINE void Blitter::StepY_Rot090_SC_SA_TC ( DefArgs   ) 

Definition at line 171 of file Blitter.h.

INLINE void Blitter::StepX_Rot180_TC ( DefArgs   ) 

Definition at line 174 of file Blitter.h.

INLINE void Blitter::StepY_Rot180_TC ( DefArgs   ) 

Definition at line 175 of file Blitter.h.

INLINE void Blitter::StepX_Rot180_TA ( DefArgs   ) 

Definition at line 176 of file Blitter.h.

INLINE void Blitter::StepY_Rot180_TA ( DefArgs   ) 

Definition at line 177 of file Blitter.h.

INLINE void Blitter::StepX_Rot180_SC_TC ( DefArgs   ) 

Definition at line 178 of file Blitter.h.

INLINE void Blitter::StepY_Rot180_SC_TC ( DefArgs   ) 

Definition at line 179 of file Blitter.h.

INLINE void Blitter::StepX_Rot180_SA_TA ( DefArgs   ) 

Definition at line 180 of file Blitter.h.

INLINE void Blitter::StepY_Rot180_SA_TA ( DefArgs   ) 

Definition at line 181 of file Blitter.h.

INLINE void Blitter::StepX_Rot180_SA_TC ( DefArgs   ) 

Definition at line 182 of file Blitter.h.

INLINE void Blitter::StepY_Rot180_SA_TC ( DefArgs   ) 

Definition at line 183 of file Blitter.h.

INLINE void Blitter::StepX_Rot180_SC_SA_TC ( DefArgs   ) 

Definition at line 184 of file Blitter.h.

INLINE void Blitter::StepY_Rot180_SC_SA_TC ( DefArgs   ) 

Definition at line 185 of file Blitter.h.

INLINE void Blitter::StepX_Rot270_TC ( DefArgs   ) 

Definition at line 187 of file Blitter.h.

INLINE void Blitter::StepY_Rot270_TC ( DefArgs   ) 

Definition at line 188 of file Blitter.h.

INLINE void Blitter::StepX_Rot270_TA ( DefArgs   ) 

Definition at line 189 of file Blitter.h.

INLINE void Blitter::StepY_Rot270_TA ( DefArgs   ) 

Definition at line 190 of file Blitter.h.

INLINE void Blitter::StepX_Rot270_SC_TC ( DefArgs   ) 

Definition at line 191 of file Blitter.h.

INLINE void Blitter::StepY_Rot270_SC_TC ( DefArgs   ) 

Definition at line 192 of file Blitter.h.

INLINE void Blitter::StepX_Rot270_SA_TA ( DefArgs   ) 

Definition at line 193 of file Blitter.h.

INLINE void Blitter::StepY_Rot270_SA_TA ( DefArgs   ) 

Definition at line 194 of file Blitter.h.

INLINE void Blitter::StepX_Rot270_SA_TC ( DefArgs   ) 

Definition at line 195 of file Blitter.h.

INLINE void Blitter::StepY_Rot270_SA_TC ( DefArgs   ) 

Definition at line 196 of file Blitter.h.

INLINE void Blitter::StepX_Rot270_SC_SA_TC ( DefArgs   ) 

Definition at line 197 of file Blitter.h.

INLINE void Blitter::StepY_Rot270_SC_SA_TC ( DefArgs   ) 

Definition at line 198 of file Blitter.h.

INLINE void Blitter::StepX_Flip_X_TC ( DefArgs   ) 

Definition at line 200 of file Blitter.h.

INLINE void Blitter::StepY_Flip_X_TC ( DefArgs   ) 

Definition at line 201 of file Blitter.h.

INLINE void Blitter::StepX_Flip_X_TA ( DefArgs   ) 

Definition at line 202 of file Blitter.h.

INLINE void Blitter::StepY_Flip_X_TA ( DefArgs   ) 

Definition at line 203 of file Blitter.h.

INLINE void Blitter::StepX_Flip_X_SC_TC ( DefArgs   ) 

Definition at line 204 of file Blitter.h.

INLINE void Blitter::StepY_Flip_X_SC_TC ( DefArgs   ) 

Definition at line 205 of file Blitter.h.

INLINE void Blitter::StepX_Flip_X_SA_TA ( DefArgs   ) 

Definition at line 206 of file Blitter.h.

INLINE void Blitter::StepY_Flip_X_SA_TA ( DefArgs   ) 

Definition at line 207 of file Blitter.h.

INLINE void Blitter::StepX_Flip_X_SA_TC ( DefArgs   ) 

Definition at line 208 of file Blitter.h.

INLINE void Blitter::StepY_Flip_X_SA_TC ( DefArgs   ) 

Definition at line 209 of file Blitter.h.

INLINE void Blitter::StepX_Flip_X_SC_SA_TC ( DefArgs   ) 

Definition at line 210 of file Blitter.h.

INLINE void Blitter::StepY_Flip_X_SC_SA_TC ( DefArgs   ) 

Definition at line 211 of file Blitter.h.

INLINE void Blitter::StepX_Flip_Y_TC ( DefArgs   ) 

Definition at line 213 of file Blitter.h.

INLINE void Blitter::StepY_Flip_Y_TC ( DefArgs   ) 

Definition at line 214 of file Blitter.h.

INLINE void Blitter::StepX_Flip_Y_TA ( DefArgs   ) 

Definition at line 215 of file Blitter.h.

INLINE void Blitter::StepY_Flip_Y_TA ( DefArgs   ) 

Definition at line 216 of file Blitter.h.

INLINE void Blitter::StepX_Flip_Y_SC_TC ( DefArgs   ) 

Definition at line 217 of file Blitter.h.

INLINE void Blitter::StepY_Flip_Y_SC_TC ( DefArgs   ) 

Definition at line 218 of file Blitter.h.

INLINE void Blitter::StepX_Flip_Y_SA_TA ( DefArgs   ) 

Definition at line 219 of file Blitter.h.

INLINE void Blitter::StepY_Flip_Y_SA_TA ( DefArgs   ) 

Definition at line 220 of file Blitter.h.

INLINE void Blitter::StepX_Flip_Y_SA_TC ( DefArgs   ) 

Definition at line 221 of file Blitter.h.

INLINE void Blitter::StepY_Flip_Y_SA_TC ( DefArgs   ) 

Definition at line 222 of file Blitter.h.

INLINE void Blitter::StepX_Flip_Y_SC_SA_TC ( DefArgs   ) 

Definition at line 223 of file Blitter.h.

INLINE void Blitter::StepY_Flip_Y_SC_SA_TC ( DefArgs   ) 

Definition at line 224 of file Blitter.h.



Pixie University and the Pixie Game Engine is created and managed by Mattias Gustavsson.
Reproduction/republishing of any material on this site without permission is strictly prohibited.