1 /* 2 * sdl_core.h SDL acess wrapper 3 * 4 * Copyright (C) 2000- Fumihiko Murata <fmurata@p1.tcnet.ne.jp> 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or 9 * (at your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with this program; if not, write to the Free Software 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 * 20 */ 21 /* $Id: sdl_core.h,v 1.18 2003/01/04 17:01:02 chikama Exp $ */ 22 23 #ifndef __SDL_CORE__ 24 #define __SDL_CORE__ 25 26 #include "config.h" 27 #include <sys/types.h> 28 #include <SDL/SDL.h> 29 #include "portab.h" 30 #include "ags.h" 31 #include "cursor.h" 32 33 /* ������ط� */ 34 extern int sdl_Initilize(void); 35 extern void sdl_Remove(void); 36 37 /* ������ɴط� */ 38 extern void sdl_setWorldSize(int width, int height, int depth); 39 extern void sdl_setWindowSize(int x, int y, int w, int h); 40 extern void sdl_setWindowTitle(char *name); 41 extern void sdl_getWindowInfo(DispInfo *info); 42 extern void sdl_FullScreen(boolean on); 43 extern agsurface_t *sdl_getDIB(void); 44 45 /* ���̹��� */ 46 extern void sdl_updateArea(MyRectangle *src, MyPoint *dst); 47 extern void sdl_fullScreen(boolean on); 48 49 /* �ѥ�åȴط� */ 50 extern void sdl_setPallet(Pallet256 *pal, int src, int cnt); 51 52 /* ����ط� */ 53 extern void sdl_drawRectangle(int x, int y, int w, int h, int cl); 54 extern void sdl_fillRectangle(int x, int y, int w, int h, u_long c); 55 extern void sdl_drawLine(int x1, int y1, int x2, int y2, u_long col); 56 extern int sdl_drawString(int x, int y, char *msg, u_long col); 57 extern void sdl_copyArea(int sx,int sy, int w, int h, int dx, int dy); 58 extern void sdl_drawTT(int x,int y,int w,int h,const char *bitmap,int ww, boolean antialiased); 59 extern void sdl_copyAreaSP(int sx, int sy, int w, int h, int dx, int dy, int sp); 60 extern void sdl_drawImage8_fromData(cgdata *cg, int x, int y, int w, int h); 61 extern void sdl_Mosaic(int sx, int sy, int w, int h, int dx, int dy, int slice); 62 extern void sdl_wrapColor(int sx, int sy, int w, int h, int cl, int rate); 63 extern void sdl_scaledCopyArea(SDL_Surface *src, SDL_Surface *dst, int sx, int sy, int sw, int sh, int dx, int dy, int dw, int dh, int mirror); 64 extern void sdl_zoom(int x, int y, int w, int h); 65 extern void sdl_drawImage16_fromData(cgdata *cg, int x, int y, int w, int h); 66 extern void sdl_copyAreaSP16_shadow(int sx, int sy, int w, int h, int dx, int dy, int lv); 67 extern void sdl_copyAreaSP16_alphaBlend(int sx, int sy, int w, int h, int dx, int dy, int lv); 68 extern void sdl_copyAreaSP16_alphaLevel(int sx, int sy, int w, int h, int dx, int dy, int lv); 69 extern void sdl_copyAreaSP16_whiteLevel(int sx, int sy, int w, int h, int dx, int dy, int lv); 70 extern void sdl_copy_from_alpha(int sx, int sy, int w, int h, int dx, int dy, ALPHA_DIB_COPY_TYPE flag); 71 extern void sdl_copy_to_alpha(int sx, int sy, int w, int h, int dx, int dy, ALPHA_DIB_COPY_TYPE flag); 72 extern void sdl_getPixel(int x, int y, Pallet *cell); 73 extern void sdl_putRegion(SDL_Surface *src, int x, int y); 74 extern void sdl_CopyRegion(SDL_Surface *src, int sx, int sy, int w, int h, int dx, int dy); 75 extern void sdl_restoreRegion(SDL_Surface *src, int x, int y); 76 extern SDL_Surface* sdl_saveRegion(int x, int y, int w, int h); 77 extern void sdl_maskupdate(int sx, int sy, int w, int h, int dx, int dy, int func, int step); 78 79 /* �ե���ȴ�Ϣ */ 80 extern void sdl_setFontDevice(FONT *f); 81 82 /* fader */ 83 extern void sdl_fadeIn(int step); 84 extern void sdl_fadeOut(int step); 85 extern void sdl_whiteIn(int step); 86 extern void sdl_whiteOut(int step); 87 88 /* key/pointer �ط� */ 89 extern int sdl_keywait(int msec, boolean cancel); 90 extern void sdl_keywait_post(void); 91 extern void sdl_setCursorLocation(int x, int y); 92 extern void sdl_setCursorType(int type); 93 extern boolean sdl_cursorNew(BYTE* data, int no, CursorImage *cursorImage, TCursorDirEntry *cursordirentry); 94 extern int sdl_getKeyInfo(); 95 extern int sdl_getMouseInfo(MyPoint *p); 96 extern int sdl_getjoyinfo(void); 97 98 /* misc */ 99 extern void sdl_mainIteration(); 100 extern boolean RawKeyInfo[]; 101 102 /* ������ط� */ 103 #define GraphicsInitilize() sdl_Initilize() 104 #define GraphicsRemove() sdl_Remove() 105 106 /* ������ɴط� */ 107 #define GetWindowInfo(info) sdl_getWindowInfo(info) 108 #define SetWindowSize(x,y,w,h) sdl_setWindowSize((x),(y),(w),(h)) 109 #define SetWindowTitle(size) sdl_setWindowTitle((size)) 110 #define SetWorldSize(w,h,d) sdl_setWorldSize((w),(h),(d)) 111 #define GetDIB() sdl_getDIB() 112 113 /* ���̹��� */ 114 #define DspDeviceSync() sdl_sync() 115 #define UpdateArea(src,dst) sdl_updateArea((src),(dst)) 116 #define FullScreen(on) sdl_FullScreen(on) 117 118 /* �ѥ�åȴط� */ 119 #define SetPallet(pal,src,cnt) sdl_setPallet((pal),(src),(cnt)) 120 121 /* ����ط� */ 122 #define DrawString(x,y,str,col) sdl_drawString((x),(y),(str),(col)) 123 #define FillRectangle(x,y,w,h,col) sdl_fillRectangle((x),(y),(w),(h),(col)) 124 #define CopyArea(sx,sy,w,h,dx,dy) sdl_copyArea((sx),(sy),(w),(h),(dx),(dy)) 125 #define CopyAreaSP(sx,sy,w,h,dx,dy,col) sdl_copyAreaSP((sx),(sy),(w),(h),(dx),(dy),(col)) 126 #define DrawLine(x0,y0,x1,y1,col) sdl_drawLine((x0),(y0),(x1),(y1),(col)) 127 #define ScaledCopyArea(sx, sy, sw, sh, dx, dy, dw, dh, mirror_sw) sdl_scaledCopyArea(NULL, NULL, sx, sy, sw, sh, dx, dy, dw, dh, mirror_sw) 128 #define Zoom(x,y,w,h) sdl_zoom(x,y,w,h) 129 #define WrapColor(x,y,w,h,col,rate) sdl_wrapColor((x),(y),(w),(h),(col),(rate)) 130 #define GetPixel(x, y, cell) sdl_getPixel(x, y, cell) 131 #define DrawImage8_fromData(info,x,y,w,h) sdl_drawImage8_fromData(info,x,y,w,h) 132 #define DrawImage16_fromData(info,x,y,w,h) sdl_drawImage16_fromData(info,x,y,w,h) 133 #define CopyAreaSP16_shadow(sx,sy,w,h,dx,dy) sdl_copyAreaSP16_shadow(sx,sy,w,h,dx,dy,255) 134 #define CopyAreaSP16_shadow_withRate(sx,sy,w,h,dx,dy,lv) sdl_copyAreaSP16_shadow(sx,sy,w,h,dx,dy,lv) 135 #define CopyAreaSP16_alphaLevel(sx, sy, w, h, dx, dy, lv) sdl_copyAreaSP16_alphaLevel(sx, sy, w, h, dx, dy, lv) 136 #define CopyAreaSP16_alphaBlend(sx, sy, w, h, dx, dy, lv) sdl_copyAreaSP16_alphaBlend(sx, sy, w, h, dx, dy, lv) 137 #define CopyAreaSP16_whiteLevel(sx, sy, w, h, dx, dy, lv) sdl_copyAreaSP16_whiteLevel(sx, sy, w, h, dx, dy, lv) 138 #define Copy_from_alpha(sx, sy, w, h, dx, dy, flg) sdl_copy_from_alpha(sx, sy, w, h, dx, dy, flg) 139 #define Copy_to_alpha(sx, sy, w, h, dx, dy, flg) sdl_copy_to_alpha(sx, sy, w, h, dx, dy, flg) 140 #define DrawRectangle(x,y,w,h,col) sdl_drawRectangle((x),(y),(w),(h),(col)) 141 #define Mosaic(sx,sy,w,h,dx,dy,sl) sdl_Mosaic((sx),(sy),(w),(h),(dx),(dy),(sl)) 142 #define RestoreRegion(img,x,y) sdl_restoreRegion((img),(x),(y)); 143 #define SaveRegion(x,y,w,h) sdl_saveRegion(x,y,w,h) 144 #define DelRegion(i) SDL_FreeSurface(i) 145 #define PutRegion(i,x,y) sdl_putRegion(i,x,y) 146 #define CopyRegion(i,sx,sy,w,h,dx,dy) sdl_CopyRegion(i,sx,sy,w,h,dx,dy) 147 #define Maskupdate(sx,sy,w,h,dx,dy,f,st) sdl_maskupdate(sx,sy,w,h,dx,dy,f,st) 148 149 /* �ե���ȴ�Ϣ */ 150 #define SetFontDevice(f) sdl_setFontDevice(f) 151 152 /* fader ��Ϣ */ 153 #define FadeOut sdl_fadeOut 154 #define FadeIn sdl_fadeIn 155 #define WhiteIn sdl_whiteIn 156 #define WhiteOut sdl_whiteOut 157 158 /* key/pointer �ط� */ 159 #define GetKeyInfo() sdl_getKeyInfo() 160 #define SetCursorType(t) sdl_setCursorType((t)) 161 #define GetMouseInfo(info) sdl_getMouseInfo(info) 162 #define Keywait(r,flg) sdl_keywait(r,flg) 163 #define SetCursorLocation(x,y) sdl_setCursorLocation((x),(y)) 164 #define CursorNew(d,no,i,dir) sdl_cursorNew((d),(no),(i),(dir)) 165 166 /* misc */ 167 #define ResourceInit(c,v) sdl_ResourceInit((c),(v)) 168 #define SetNoShmMode() /* NO */ 169 170 #endif /* !__SDL_CORE__ */ 171