libmame
|
#include <libmame.h>
Public Attributes | |
LibMame_RenderPrimitiveType | type |
struct { | |
float x0 | |
float y0 | |
float x1 | |
float y1 | |
} | bounds |
struct { | |
float a | |
float r | |
float g | |
float b | |
} | color |
uint32_t | flags |
float | width |
struct { | |
void * base | |
uint32_t rowpixels | |
uint32_t width | |
uint32_t height | |
const uint32_t * palette | |
uint32_t seqid | |
} | texture |
struct { | |
struct { | |
float u | |
float v | |
} top_left | |
struct { | |
float u | |
float v | |
} top_right | |
struct { | |
float u | |
float v | |
} bottom_left | |
struct { | |
float u | |
float v | |
} bottom_right | |
} | quad_texuv |
struct LibMame_RenderPrimitive * | next |
This is the type of a render primitive passed to the update video callback by libmame. It is one element of a list of render primitives, all of which must be rendered in order to produce a complete frame of video for the running game.
This is the pointer to the beginning of the block of memory holding the texture data for this primitive. If a texture's base and seqid are the same as a previously-rendered texture, then the texture contents have not changed and may be re-used.
struct { ... } LibMame_RenderPrimitive::bottom_left |
Bottom left texture coordinate
struct { ... } LibMame_RenderPrimitive::bottom_right |
Bottom right texture coordinate
struct { ... } LibMame_RenderPrimitive::bounds |
This is the bounds within the display to draw this render primitive at; if this is a vector primitive, this gives the endpoints of the vector. If this is a raster primitive, this gives the bounds of the rectangle into which the texture should be rendered. These bounds are expressed within a virtual "screen" that is 10000 x 10000 pixels in size.
struct { ... } LibMame_RenderPrimitive::color |
This is the color for the primitive
uint32_t LibMame_RenderPrimitive::flags |
These are flags describing render parameters; see the LIBMAME_RENDERFLAGS_XXX macros
uint32_t LibMame_RenderPrimitive::height |
Height of the image
This is the next render primitive in this list, or NULL if there are no more render primitives after this one
const uint32_t* LibMame_RenderPrimitive::palette |
Palette for PALETTE16 textures. LUTs for RGB15/RGB32.
struct { ... } LibMame_RenderPrimitive::quad_texuv |
Texture coordinates for the region of the texture to render. These are in the texture-normalized [0..1], [0..1] coordinate system.
uint32_t LibMame_RenderPrimitive::rowpixels |
Per-row padding information is encoded here.
uint32_t LibMame_RenderPrimitive::seqid |
Sequence number. This is incremented every time a texture is changed, and allows a texture base that is the same as another texture to identify the texture contents as having changed.
struct { ... } LibMame_RenderPrimitive::texture |
This is the texture to render, only relevent for raster primitives
struct { ... } LibMame_RenderPrimitive::top_left |
Top left texture coordinate
struct { ... } LibMame_RenderPrimitive::top_right |
Top right texture coordinate
This is the type of this render primitive (vector or raster)
This is the width of the line to render, only relevent for vector primitives
uint32_t LibMame_RenderPrimitive::width |
Width of the image