Updated doxygen comments on API functions
svn-id: r42166
This commit is contained in:
parent
f63b02b920
commit
22e09bedaa
5 changed files with 37 additions and 13 deletions
|
@ -376,8 +376,10 @@ public:
|
|||
*
|
||||
* @see Graphics::PixelFormat
|
||||
*
|
||||
* @note All backends supporting RGB color must be able to accept game data
|
||||
* in RGB color order, even if hardware uses BGR or some other color order.
|
||||
* @note Backends supporting RGB color should accept game data in RGB color
|
||||
* order, even if hardware uses BGR or some other color order.
|
||||
*
|
||||
* @see convertScreenRect
|
||||
*/
|
||||
virtual Common::List<Graphics::PixelFormat> getSupportedFormats() const = 0;
|
||||
#else
|
||||
|
@ -412,7 +414,7 @@ public:
|
|||
* This is the pixel format for which the client code generates data;
|
||||
* this is not necessarily equal to the hardware pixel format. For example,
|
||||
* a backend may perform color lookup of 8-bit graphics before pushing
|
||||
* a screen to hardware, or correct the ARGB color order.
|
||||
* a screen to hardware, or correct the ARGB color order via convertScreenRect.
|
||||
*
|
||||
* @param width the new virtual screen width
|
||||
* @param height the new virtual screen height
|
||||
|
@ -1026,6 +1028,8 @@ public:
|
|||
private:
|
||||
/**
|
||||
* Convert a rectangle from the screen format to the hardware format.
|
||||
* Expected usage is for this to be called in copyRectToScreen when
|
||||
* conversion is necessary.
|
||||
*
|
||||
* @param dstbuf the buffer which will recieve the converted graphics data
|
||||
* @param srcbuf the buffer containing the original graphics data
|
||||
|
@ -1040,7 +1044,9 @@ private:
|
|||
* @note This implementation is slow. Please override this if
|
||||
* your backend hardware has a better way to deal with this.
|
||||
* @note This implementation requires the screen pixel format and
|
||||
* the hardware pixel format to have a matching bytedepth
|
||||
* the hardware pixel format to have a matching bytedepth.
|
||||
* @note This is meant for RGB modes only, do not attempt
|
||||
* to use it when running in 256 color mode.
|
||||
*/
|
||||
virtual bool convertScreenRect(byte *dstbuf, const byte *srcbuf, int dstpitch, int srcpitch,
|
||||
int w, int h, Graphics::PixelFormat hwFmt) {
|
||||
|
|
|
@ -59,6 +59,8 @@ void initCommonGFX(bool defaultTo1XScaler);
|
|||
*
|
||||
* Errors out when backend is not able to switch to the specified
|
||||
* mode.
|
||||
*
|
||||
* Defaults to 256 color paletted mode if no graphics format is provided.
|
||||
*/
|
||||
void initGraphics(int width, int height, bool defaultTo1xScaler, const Graphics::PixelFormat *format = NULL);
|
||||
|
||||
|
|
|
@ -48,7 +48,7 @@ inline static void RGB2YUV(byte r, byte g, byte b, byte &y, byte &u, byte &v) {
|
|||
// TODO: generic YUV to RGB blit
|
||||
|
||||
/**
|
||||
* Convert a rectangle from the one format to another, and blits it.
|
||||
* Blits a rectangle from one graphical format to another.
|
||||
*
|
||||
* @param dstbuf the buffer which will recieve the converted graphics data
|
||||
* @param srcbuf the buffer containing the original graphics data
|
||||
|
@ -61,8 +61,11 @@ inline static void RGB2YUV(byte r, byte g, byte b, byte &y, byte &u, byte &v) {
|
|||
* @return true if conversion completes successfully,
|
||||
* false if there is an error.
|
||||
*
|
||||
* @note This implementation currently requires the destination's
|
||||
* format have at least as high a bitdepth as the source's.
|
||||
* @note This implementation currently arbitrarily requires that the
|
||||
* destination's format have at least as high a bytedepth as
|
||||
* the source's.
|
||||
* @note This can convert a rectangle in place, if the source and
|
||||
* destination format have the same bytedepth.
|
||||
*
|
||||
*/
|
||||
bool crossBlit(byte *dst, const byte *src, int dstpitch, int srcpitch,
|
||||
|
|
|
@ -63,14 +63,14 @@ public:
|
|||
* safely freed afterwards.
|
||||
*
|
||||
* @param buf the new cursor data
|
||||
* @param w the width
|
||||
* @param h the height
|
||||
* @param w the width
|
||||
* @param h the height
|
||||
* @param hotspotX the hotspot X coordinate
|
||||
* @param hotspotY the hotspot Y coordinate
|
||||
* @param keycolor the index for the transparent color
|
||||
* @param targetScale the scale for which the cursor is designed
|
||||
* @param format the pixel format which the cursor graphic uses
|
||||
*
|
||||
* @param format a pointer to the pixel format which the cursor graphic uses,
|
||||
* CLUT8 will be used if this is NULL or not specified.
|
||||
* @note It is ok for the buffer to be a NULL pointer. It is sometimes
|
||||
* useful to push a "dummy" cursor and modify it later. The
|
||||
* cursor will be added to the stack, but not to the backend.
|
||||
|
@ -95,7 +95,8 @@ public:
|
|||
* @param hotspotY the hotspot Y coordinate
|
||||
* @param keycolor the index for the transparent color
|
||||
* @param targetScale the scale for which the cursor is designed
|
||||
* @param format the pixel format which the cursor graphic uses
|
||||
* @param format a pointer to the pixel format which the cursor graphic uses,
|
||||
* CLUT8 will be used if this is NULL or not specified.
|
||||
*/
|
||||
void replaceCursor(const byte *buf, uint w, uint h, int hotspotX, int hotspotY, uint32 keycolor = 0xFFFFFFFF, int targetScale = 1, const Graphics::PixelFormat *format = NULL);
|
||||
|
||||
|
|
|
@ -65,7 +65,11 @@ struct PixelFormat {
|
|||
rShift = RShift, gShift = GShift, bShift = BShift, aShift = AShift;
|
||||
}
|
||||
|
||||
// "Factory" methods for convenience
|
||||
/////////////////////////////////////////////////////////
|
||||
// Convenience functions for creating standard formats //
|
||||
/////////////////////////////////////////////////////////
|
||||
|
||||
// 256 color palette.
|
||||
static inline PixelFormat createFormatCLUT8() {
|
||||
return PixelFormat(1, 8, 8, 8, 8, 0, 0, 0, 0);
|
||||
}
|
||||
|
@ -201,6 +205,14 @@ struct PixelFormat {
|
|||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Determines the first matching format between two lists.
|
||||
*
|
||||
* @param backend The higher priority list, meant to be a list of formats supported by the backend
|
||||
* @param frontend The lower priority list, meant to be a list of formats supported by the engine
|
||||
* @return The first item on the backend list that also occurs on the frontend list
|
||||
* or PixelFormat::createFormatCLUT8() if no matching formats were found.
|
||||
*/
|
||||
inline PixelFormat findCompatibleFormat(Common::List<PixelFormat> backend, Common::List<PixelFormat> frontend) {
|
||||
#ifdef ENABLE_RGB_COLOR
|
||||
for (Common::List<PixelFormat>::iterator i = backend.begin(); i != backend.end(); ++i) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue