|
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
1.7.5.1