head 1.1; branch 1.1.1; access ; symbols start:1.1.1.1 PAlibDoc:1.1.1; locks ; strict; comment @# @; 1.1 date 2005.11.02.08.30.23; author jandujar; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2005.11.02.08.30.23; author jandujar; state Exp; branches ; next ; desc @@ 1.1 log @Initial revision @ text @ PA_lib: PA_Window.h Source File

PA_Window.h

Go to the documentation of this file.
00001 #ifndef _PA_Window
00002 #define _PA_Window
00003 
00011 // utilisé pour activer ou non les fenetres...
00012 #define WIN_BG0 1
00013 #define WIN_BG1 2
00014 #define WIN_BG2 4
00015 #define WIN_BG3 8
00016 #define WIN_OBJ 16
00017 #define WIN_SFX 32
00018 
00019  
00020 #define DISPCNTL(screen) _REG16(0x04000000 + (screen * 0x1000))
00021 #define DISPCNTH(screen) _REG16(0x04000002 + (screen * 0x1000))
00022 
00023 #define WINDOW0 (1 << 13)
00024 #define WINDOW1 (1 << 14)
00025 #define WINDOWOBJ (1 << 15)
00026 
00027 
00028 
00029 #define WIN0X(screen) _REG16(0x04000040 + (screen * 0x1000))
00030 #define WIN0Y(screen) _REG16(0x04000044 + (screen * 0x1000))
00031 #define WIN1X(screen) _REG16(0x04000042 + (screen * 0x1000))
00032 #define WIN1Y(screen) _REG16(0x04000046 + (screen * 0x1000))
00033 
00034 
00035 
00036 #define WININ(screen) _REG16(0x04000048 + (screen * 0x1000))
00037 #define WINOUT(screen) _REG16(0x0400004A + (screen * 0x1000))
00038 
00039 
00040 extern const s16 winfades[][4];
00041 
00042 
00043 
00070 extern inline void PA_SetWin0XY(bool screen, u8 x1, u8 y1, u8 x2, u8 y2) {
00071        WIN0X(screen) = x2 + ((x1) << 8); 
00072        WIN0Y(screen) = y2 + ((y1) << 8);
00073 }
00074 
00075 
00076 
00097 #define PA_SetWin1XY(screen, x1, y1, x2, y2) {WIN1X(screen) = x2 + ((x1) << 8); WIN1Y(screen) = y2 + ((y1) << 8);}
00098 
00099 
00100 
00112 #define PA_EnableWin0(screen, bg_sprites) {DISPCNTL(screen) |= WINDOW0; WININ(screen) &= 255; WININ(screen) |= bg_sprites;}
00113 
00122 #define PA_DisableWin0(screen) DISPCNTL(screen) &= ~WINDOW0
00123 
00124 
00136 #define PA_EnableWin1(screen, bg_sprites) {DISPCNTL(screen) |= WINDOW1; WININ(screen) &= 255; WININ(screen) |= (bg_sprites << 8);}
00137 
00138 
00147 #define PA_DisableWin1(screen) DISPCNTL(screen) &= ~WINDOW1
00148 
00149 
00161 #define PA_EnableWinObj(screen, bg_sprites) {DISPCNTL(screen) |= WINDOWOBJ; WINOUT(screen) &= 255; WINOUT |= (bg_sprites << 8);}
00162 
00163 
00172 #define PA_DisableWinObj(screen) DISPCNTL(screen) &= ~WINDOWOBJ
00173 
00174 
00186 #define PA_SetOutWin(screen, bg_sprites) {WINOUT(screen) &= ~255; WINOUT(screen) |= bg_sprites;}
00187 
00188 
00189 
00190 
00191 
00206 extern inline void PA_WindowFade(bool screen, u8 type, u8 time){
00207        PA_EnableWin0(screen, WIN_BG0 | WIN_BG1 | WIN_BG2 | WIN_BG3 | WIN_OBJ);
00208        PA_SetWin0XY(screen, (time*winfades[type][0]), 
00209                                           (time*winfades[type][1]), 
00210                                           (time*winfades[type][2]) + 256, 
00211                                           (time*winfades[type][3]) + 192);
00212        if (time == 0) PA_DisableWin0(screen);
00213 }
00214 
00215 
00216 
00217 
00218 
00219 
00220 
00221 
00222 
00223 
00224 
00225 
00226  // end of Window
00229 
00230 
00231 
00232 
00233 #endif
00234 

Generated on Fri Oct 28 23:16:50 2005 for PA_lib by  doxygen 1.3.9.1
@ 1.1.1.1 log @Initial import of PalibDoc, begin on PAlib0.64b @ text @@