include/nds/arm9/PA_Keys.h File Reference

Everything concerning the keys and stylus. More...

#include "PA9.h"

Data Structures

struct  PA_Pad
struct  Pads
struct  PA_Stylus
struct  PA_movingsprite

Defines

#define PA_BACKSPACE   1
#define PA_CAPS   2
#define PA_ENTER   '\n'
#define PA_SHIFT   4
#define PA_RIEN   0
#define PA_TAB   3
#define PA_MoveSprite(sprite)   PA_MoveSpriteEx(PA_Screen, sprite, PA_GetSpriteLx(0, sprite), PA_GetSpriteLy(0, sprite))
 Move a sprite according to the stylus's position. The sprite will be 'hooked' if the stylus passes over it, and then they'll be linked together. Returns 1 if the sprite is moved. You can also get information from PA_MovedSprite.Moving (1 if you are moving a sprite), .Sprite (sprite moved), .X (X position of the center of the sprite), .Y (Y position of the center of the sprite), .Vx (horizontal speed ! useful if you want to make the sprite continue to move when you release the stylus...), and .Vy.
#define PA_StylusInZone(x1, y1, x2, y2)   ((Stylus.X>=x1)&&(Stylus.Y>=y1)&&(Stylus.X<x2)&&(Stylus.Y<y2))
 Check if the stylus is in a given zone... Returns 1 if yes, 0 if not.

Functions

void PA_UpdatePad (void)
 Update the Keypad, use it once per frame (in the VBL for example). You can then retrieve the held down keys with Pad.Held.A (or Up, Down...), Newly pressed keys with Pad.Newpress.R, and the just released keys with Pad.Released.Up...
void PA_UpdateStylus (void)
u8 PA_MoveSpritePix (u8 sprite)
 Move a sprite according to the stylus's position, only if you touch a sprite's pixel. This is similar to PA_MoveSprite, but slightly slower and requires PA_InitSpriteDraw(screen, sprite) before. The sprite will be 'hooked' if the stylus passes over it, and then they'll be linked together. Returns 1 if the sprite is moved. You can also get information from PA_MovedSprite.Moving (1 if you are moving a sprite), .Sprite (sprite moved), .X (X position of the top left corner of the sprite), .Y (Y position of the top left corner of the sprite), .Vx (horizontal speed ! useful if you want to make the sprite continue to move when you release the stylus...), and .Vy.
u8 PA_MoveSpriteEx (u8 screen, u8 sprite, u8 lx, u8 ly)
 Move a sprite according to the stylus's position. See PA_MoveSprite for more details... The difference is that here you chose the sprite dimension (lx and ly), which is useful if the sprite is smaller than the DS standard sizes... (for example 20x20...). This will also limit the 'hooking' distance.
u8 PA_MoveSpriteDistance (u8 sprite, u8 distance)
 Move a sprite according to the stylus's position. See PA_MoveSprite for more details... The difference is that here you chose the hooking distance in pixels.
u8 PA_SpriteStylusOverEx (u8 sprite, u8 lx, u8 ly)
 Check if the stylus position is over a given sprite (stylus pressed or not).
u8 PA_SpriteTouchedEx (u8 sprite, u8 lx, u8 ly)
 Check if a given sprite is touched. Returns 1 if touched... You can chose the width and height around the sprite.
u8 PA_SpriteTouched (u8 sprite)
 Check if a given sprite is touched. Returns 1 if touched...
u8 PA_SpriteStylusOver (u8 sprite)
 Check if the stylus position is over a given sprite (stylus pressed or not).
u8 PA_SpriteTouchedPix (u8 sprite)
u8 PA_Sprite16cTouchedPix (u8 sprite)

Variables

PA_Stylus Stylus
Pads Pad
PA_PadPadPointer
PA_movingsprite PA_MovedSprite
u8 PA_MoveSpriteType


Detailed Description

Everything concerning the keys and stylus.

Update the keys and stylus inputs


Define Documentation

#define PA_BACKSPACE   1

#define PA_CAPS   2

#define PA_ENTER   '\n'

#define PA_RIEN   0

#define PA_SHIFT   4

#define PA_TAB   3


Variable Documentation


Generated on Sat Jun 13 12:55:13 2009 for PAlib - Programmer's Arsenal by  doxygen 1.5.8