CMSDK 2.0.1
Cross-platform C++ base library and SDK for the Psyclone AIOS platform
Loading...
Searching...
No Matches
Bitmap.cpp File Reference

Implementation of Bitmap and BitmapUpdate: RGBA raster storage, drawing primitives, integer-ratio resizers, BMP file (de)serialization and the RLE/difference codecs used for incremental remote-display updates. More...

#include "Bitmap.h"
#include "PsyTime.h"
#include "UnitTestFramework.h"
Include dependency graph for Bitmap.cpp:

Go to the source code of this file.

Namespaces

namespace  cmlabs

Macros

#define D(r, y)

Functions

char * cmlabs::ImageResizeDown66 (char *bytesource, uint32 &cols, uint32 &rows)
 Shrink an RGBA image to 2/3 size (3→2 pixel averaging).
char * cmlabs::ImageResizeUp66 (char *bytesource, uint32 &cols, uint32 &rows)
 Enlarge an RGBA image to 3/2 size (2→3 pixel interpolation).
char * cmlabs::ImageResizeDown (char *bytesource, uint32 &cols, uint32 &rows, uint32 factor)
 Shrink an RGBA image by an integer factor (box averaging).
char * cmlabs::ImageResizeUp (char *bytesource, uint32 &cols, uint32 &rows, uint32 factor)
 Enlarge an RGBA image by an integer factor (pixel replication).
void cmlabs::Register_Bitmap_Tests ()

Detailed Description

Implementation of Bitmap and BitmapUpdate: RGBA raster storage, drawing primitives, integer-ratio resizers, BMP file (de)serialization and the RLE/difference codecs used for incremental remote-display updates.

See Bitmap.h for the pixel layout (top-down RGBA, R in the lowest byte) and buffer-ownership rules the routines here rely on.

Definition in file Bitmap.cpp.

Macro Definition Documentation

◆ D

#define D ( r,
y )
Value:
(ceil(sqrt((double)r*r - y*y)) - sqrt((double)r*r - y*y))

Referenced by cmlabs::Bitmap::drawCircle().