ScummVM API documentation
Sci::CelObjColor Class Reference

#include <celobj32.h>

Inheritance diagram for Sci::CelObjColor:
Sci::CelObj

Public Member Functions

 CelObjColor (const uint8 color, const int16 width, const int16 height)
 
void draw (Buffer &target, const Common::Rect &targetRect) const
 
void draw (Buffer &target, const ScreenItem &screenItem, const Common::Rect &targetRect, const bool mirrorX) override
 
void draw (Buffer &target, const Common::Rect &targetRect, const Common::Point &scaledPosition, const bool mirrorX) override
 
CelObjColorduplicate () const override
 
const SciSpan< const byte > getResPointer () const override
 
- Public Member Functions inherited from Sci::CelObj
void draw (Buffer &target, const ScreenItem &screenItem, const Common::Rect &targetRect) const
 
void drawTo (Buffer &target, const Common::Rect &targetRect, const Common::Point &scaledPosition, const Ratio &scaleX, const Ratio &scaleY) const
 
virtual uint8 readPixel (const uint16 x, const uint16 y, const bool mirrorX) const
 
void submitPalette () const
 

Additional Inherited Members

- Static Public Member Functions inherited from Sci::CelObj
static void init ()
 
static void deinit ()
 
- Public Attributes inherited from Sci::CelObj
CelInfo32 _info
 
uint32 _celHeaderOffset
 
uint32 _hunkPaletteOffset
 
uint16 _width
 
uint16 _height
 
Common::Point _origin
 
uint16 _xResolution
 
uint16 _yResolution
 
uint8 _skipColor
 
bool _transparent
 
CelCompressionType _compressionType
 
bool _remap
 
bool _mirrorX
 
bool _isMacSource
 
- Static Public Attributes inherited from Sci::CelObj
static CelScaler_scaler
 
- Protected Member Functions inherited from Sci::CelObj
int searchCache (const CelInfo32 &celInfo, int *nextInsertIndex) const
 
void putCopyInCache (int index) const
 
- Protected Attributes inherited from Sci::CelObj
bool _drawMirrored
 
- Static Protected Attributes inherited from Sci::CelObj
static bool _drawBlackLines
 
static int _nextCacheId
 
static CelCache_cache
 

Detailed Description

A CelObjColor is the drawing primitive for fast, low-memory, flat color fills.

Member Function Documentation

◆ draw() [1/3]

void Sci::CelObjColor::draw ( Buffer target,
const Common::Rect targetRect 
) const

Block fills the target buffer with the cel color.

◆ draw() [2/3]

void Sci::CelObjColor::draw ( Buffer target,
const ScreenItem screenItem,
const Common::Rect targetRect,
const bool  mirrorX 
)
overridevirtual

Draws the cel to the target buffer using the priority and positioning information from the given screen item and the given mirror flag.

Note
In SSCI, this function was a virtual function, but CelObjView, CelObjPic, and CelObjMem all used the same function and the compiler deduplicated the copies; we deduplicate the source by putting the implementation on CelObj instead of copying it to 3/4 of the subclasses.

Reimplemented from Sci::CelObj.

◆ draw() [3/3]

void Sci::CelObjColor::draw ( Buffer target,
const Common::Rect targetRect,
const Common::Point scaledPosition,
const bool  mirrorX 
)
overridevirtual

Draws the cel to the target buffer using the positioning and mirroring information from the provided arguments.

Note
In SSCI, this function was a virtual function, but CelObjView, CelObjPic, and CelObjMem all used the same function and the compiler deduplicated the copies; we deduplicate the source by putting the implementation on CelObj instead of copying it to 3/4 of the subclasses.

Reimplemented from Sci::CelObj.

◆ duplicate()

CelObjColor* Sci::CelObjColor::duplicate ( ) const
overridevirtual

Creates a copy of this cel on the free store and returns a pointer to the new object. The new cel will point to a shared copy of bitmap/resource data.

Implements Sci::CelObj.

◆ getResPointer()

const SciSpan<const byte> Sci::CelObjColor::getResPointer ( ) const
overridevirtual

Retrieves a pointer to the raw resource data for this cel. This method cannot be used with a CelObjColor.

Implements Sci::CelObj.


The documentation for this class was generated from the following file: