libdragon
Data Structures | Macros | Functions

Hardware Display Interface. More...

Data Structures

struct  sprite_cache
 Cached sprite structure. More...
 

Macros

#define RINGBUFFER_SIZE   4096
 Size of the internal ringbuffer that holds pending RDP commands.
 
#define RINGBUFFER_SLACK   1024
 Size of the slack are of the ring buffer. More...
 

Functions

void rdp_init (void)
 Initialize the RDP system.
 
void rdp_close (void)
 Close the RDP system. More...
 
void rdp_attach (surface_t *surface)
 Attach the RDP to a surface. More...
 
void rdp_detach (void)
 Detach the RDP from the current surface, after the RDP will have finished writing to it. More...
 
void rdp_sync (sync_t sync)
 Perform a sync operation. More...
 
void rdp_set_clipping (uint32_t tx, uint32_t ty, uint32_t bx, uint32_t by)
 Set the hardware clipping boundary. More...
 
void rdp_set_default_clipping (void)
 Set the hardware clipping boundary to the entire screen.
 
void rdp_enable_primitive_fill (void)
 Enable display of 2D filled (untextured) rectangles. More...
 
void rdp_enable_blend_fill (void)
 Enable display of 2D filled (untextured) triangles. More...
 
void rdp_enable_texture_copy (void)
 Enable display of 2D sprites. More...
 
uint32_t rdp_load_texture (uint32_t texslot, uint32_t texloc, mirror_t mirror, sprite_t *sprite)
 Load a sprite into RDP TMEM. More...
 
uint32_t rdp_load_texture_stride (uint32_t texslot, uint32_t texloc, mirror_t mirror, sprite_t *sprite, int offset)
 Load part of a sprite into RDP TMEM. More...
 
void rdp_draw_textured_rectangle_scaled (uint32_t texslot, int tx, int ty, int bx, int by, double x_scale, double y_scale, mirror_t mirror)
 Draw a textured rectangle with a scaled texture. More...
 
void rdp_draw_textured_rectangle (uint32_t texslot, int tx, int ty, int bx, int by, mirror_t mirror)
 Draw a textured rectangle. More...
 
void rdp_draw_sprite (uint32_t texslot, int x, int y, mirror_t mirror)
 Draw a texture to the screen as a sprite. More...
 
void rdp_draw_sprite_scaled (uint32_t texslot, int x, int y, double x_scale, double y_scale, mirror_t mirror)
 Draw a texture to the screen as a scaled sprite. More...
 
void rdp_set_primitive_color (uint32_t color)
 Set the primitive draw color for subsequent filled primitive operations. More...
 
void rdp_set_blend_color (uint32_t color)
 Set the blend draw color for subsequent filled primitive operations. More...
 
void rdp_draw_filled_rectangle (int tx, int ty, int bx, int by)
 Draw a filled rectangle. More...
 
void rdp_draw_filled_triangle (float x1, float y1, float x2, float y2, float x3, float y3)
 Draw a filled triangle. More...
 
void rdp_set_texture_flush (flush_t flush)
 Set the flush strategy for texture loads. More...
 

Detailed Description

Hardware Display Interface.