degate  0.1.2
Classes | Namespaces | Defines | Typedefs
Image.h File Reference
#include "globals.h"
#include "PixelPolicies.h"
#include "StoragePolicies.h"
#include "TileImage.h"
#include "FileSystem.h"
#include "Configuration.h"
#include "TypeTraits.h"
#include "TypeConstraints.h"
#include "ImageManipulation.h"
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  degate::ImageBase
class  degate::Image< PixelPolicy, StoragePolicy >
 The generic templated class for image objects. More...
class  degate::Image< PixelPolicy, StoragePolicy_PersistentFile >
 Partial template specialization for the storage policy StoragePolicy_PersistentFile. More...
class  degate::Image< PixelPolicy, StoragePolicy_Tile >
 Partial template specialization for the storage policy StoragePolicy_Tile. More...

Namespaces

namespace  degate
 

The namespace 'degate' is the namespace for everything that belongs to libdegate.


Defines

#define MASK_R(r)   (r & 0xff)
#define MASK_G(g)   ((g >> 8) & 0xff)
#define MASK_B(b)   ((b >> 16) & 0xff)
#define MASK_A(a)   (a >> 24)
#define MERGE_CHANNELS(r, g, b, a)   ((a << 24) | (b <<16) | (g << 8) | r)
#define RGBA_TO_GS_BY_PTR(pix_ptr)   RGBA_TO_GS_BY_VAL(*pix_ptr)
#define RGBA_TO_GS_BY_VAL(pix)   (((75 * MASK_R(pix)) + (147 * MASK_G(pix)) + (35 * MASK_B(pix))) >> 8)

Typedefs

typedef std::shared_ptr
< ImageBase > 
degate::ImageBase_shptr
typedef Image
< PixelPolicy_RGBA,
StoragePolicy_Tile > 
degate::TileImage_RGBA
 Typedefs for common types of virtual images.
typedef Image
< PixelPolicy_GS_DOUBLE,
StoragePolicy_Tile > 
degate::TileImage_GS_DOUBLE
typedef Image
< PixelPolicy_GS_BYTE,
StoragePolicy_Tile > 
degate::TileImage_GS_BYTE
typedef std::shared_ptr
< TileImage_RGBA > 
degate::TileImage_RGBA_shptr
typedef std::shared_ptr
< TileImage_GS_DOUBLE > 
degate::TileImage_GS_DOUBLE_shptr
typedef std::shared_ptr
< TileImage_GS_BYTE > 
degate::TileImage_GS_BYTE_shptr
typedef Image
< PixelPolicy_RGBA,
StoragePolicy_Tile > 
degate::BackgroundImage
typedef std::shared_ptr
< BackgroundImage > 
degate::BackgroundImage_shptr
typedef Image
< PixelPolicy_RGBA,
StoragePolicy_TempFile > 
degate::TempImage_RGBA
typedef Image
< PixelPolicy_GS_DOUBLE,
StoragePolicy_TempFile > 
degate::TempImage_GS_DOUBLE
typedef Image
< PixelPolicy_GS_BYTE,
StoragePolicy_TempFile > 
degate::TempImage_GS_BYTE
typedef std::shared_ptr
< TempImage_RGBA > 
degate::TempImage_RGBA_shptr
typedef std::shared_ptr
< TempImage_GS_DOUBLE > 
degate::TempImage_GS_DOUBLE_shptr
typedef std::shared_ptr
< TempImage_GS_BYTE > 
degate::TempImage_GS_BYTE_shptr
typedef Image
< PixelPolicy_RGBA,
StoragePolicy_PersistentFile > 
degate::PersistentImage_RGBA
typedef std::shared_ptr
< PersistentImage_RGBA > 
degate::PersistentImage_RGBA_shptr
typedef Image
< PixelPolicy_RGBA,
StoragePolicy_Memory > 
degate::MemoryImage
typedef std::shared_ptr
< MemoryImage > 
degate::MemoryImage_shptr
typedef Image
< PixelPolicy_GS_BYTE,
StoragePolicy_Memory > 
degate::MemoryImage_GS_BYTE
typedef Image
< PixelPolicy_GS_DOUBLE,
StoragePolicy_Memory > 
degate::MemoryImage_GS_DOUBLE
typedef Image
< PixelPolicy_RGBA,
StoragePolicy_Memory > 
degate::MemoryImage_RGBA
typedef std::shared_ptr
< MemoryImage_GS_BYTE > 
degate::MemoryImage_GS_BYTE_shptr
typedef std::shared_ptr
< MemoryImage_GS_DOUBLE > 
degate::MemoryImage_GS_DOUBLE_shptr
typedef MemoryImage degate::RendererImage
typedef MemoryImage_shptr degate::RendererImage_shptr
typedef MemoryImage degate::GateTemplateImage
typedef MemoryImage_shptr degate::GateTemplateImage_shptr

Define Documentation

#define MASK_A (   a)    (a >> 24)
#define MASK_B (   b)    ((b >> 16) & 0xff)
#define MASK_G (   g)    ((g >> 8) & 0xff)
#define MASK_R (   r)    (r & 0xff)
#define MERGE_CHANNELS (   r,
  g,
  b,
 
)    ((a << 24) | (b <<16) | (g << 8) | r)
#define RGBA_TO_GS_BY_PTR (   pix_ptr)    RGBA_TO_GS_BY_VAL(*pix_ptr)

Definition at line 41 of file Image.h.

#define RGBA_TO_GS_BY_VAL (   pix)    (((75 * MASK_R(pix)) + (147 * MASK_G(pix)) + (35 * MASK_B(pix))) >> 8)