Woopsi 1.0
GUI Framework for Nintendo DS Homebrew
|
00001 /* Contributed by Steven 00002 * 20071213 00003 * - Minor modifications and SDL code by Ant 00004 */ 00005 00006 #ifndef _WOOPSIFUNCS_H_ 00007 #define _WOOPSIFUNCS_H_ 00008 00009 #include <nds.h> 00010 #include "framebuffer.h" 00011 #include "bitmapwrapper.h" 00012 #include "gadgetstyle.h" 00013 #include "newtopaz.h" 00014 #include "glyphfont.h" 00015 #include "defines.h" 00016 00020 typedef struct PAD { 00021 union { 00022 struct { 00023 u16 A:1; 00024 u16 B:1; 00025 u16 Select:1; 00026 u16 Start:1; 00027 u16 Right:1; 00028 u16 Left:1; 00029 u16 Up:1; 00030 u16 Down:1; 00031 u16 R:1; 00032 u16 L:1; 00033 u16 X:1; 00034 u16 Y:1; 00035 u16 Touch:1; 00036 u16 Lid:1; 00037 }; 00038 u16 AllKeys; 00039 }; 00040 } _pad; 00041 00045 typedef struct PadHeldTimeStruct { 00046 s32 A; 00047 s32 B; 00048 s32 Select; 00049 s32 Start; 00050 s32 Right; 00051 s32 Left; 00052 s32 Up; 00053 s32 Down; 00054 s32 R; 00055 s32 L; 00056 s32 X; 00057 s32 Y; 00058 } PadHeldTime; 00059 00063 typedef struct PADS { 00064 _pad Held; 00065 _pad Released; 00066 _pad Newpress; 00067 PadHeldTime HeldTime; 00068 } _pads; 00069 00073 typedef struct STYLUS { 00074 u8 Held:1; 00075 u8 Released:1; 00076 u8 Newpress:1; 00077 u8 unused:5; 00078 s16 X; 00079 s16 Y; 00080 s16 Vx; 00081 s16 Vy; 00082 s16 oldVx; 00083 s16 oldVy; 00084 s16 Downtime; 00085 s16 Uptime; 00086 s16 DblClick; 00087 } _stylus; 00088 00092 extern _pads Pad; 00093 00097 extern _stylus Stylus; 00098 00099 #ifdef USING_SDL 00100 00101 #include <stdio.h> 00102 #include <stdlib.h> 00103 #include <string.h> 00104 #include <math.h> 00105 00106 #else 00107 00108 #include <nds/memory.h> 00109 #include <nds/bios.h> 00110 00111 #endif 00112 00116 extern WoopsiUI::FrameBuffer* frameBuffer[SCREEN_COUNT]; 00117 00121 extern WoopsiUI::GadgetStyle* defaultGadgetStyle; 00122 00127 void initWoopsiGfxMode(); 00128 00132 void woopsiInitDefaultGadgetStyle(); 00133 00137 void woopsiFreeDefaultGadgetStyle(); 00138 00142 void woopsiFreeFrameBuffers(); 00143 00147 void woopsiWaitVBL(); 00148 00154 void woopsiUpdateInput(); 00155 00156 #endif