libmame
Public Attributes
LibMame_RenderPrimitive Struct Reference

#include <libmame.h>

List of all members.

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_RenderPrimitivenext

Detailed Description

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.


Member Data Documentation

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.

Bottom left texture coordinate

Bottom right texture coordinate

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.

This is the color for the primitive

These are flags describing render parameters; see the LIBMAME_RENDERFLAGS_XXX macros

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

Palette for PALETTE16 textures. LUTs for RGB15/RGB32.

Texture coordinates for the region of the texture to render. These are in the texture-normalized [0..1], [0..1] coordinate system.

Per-row padding information is encoded here.

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.

This is the texture to render, only relevent for raster primitives

Top left texture coordinate

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

Width of the image


The documentation for this struct was generated from the following file:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines