File: mac_wrdwindow.h

package info (click to toggle)
timidity 2.13.2-40.2
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 13,132 kB
  • ctags: 20,555
  • sloc: ansic: 158,296; sh: 3,778; makefile: 1,156; tcl: 1,048; lisp: 499; perl: 285; ruby: 126
file content (149 lines) | stat: -rw-r--r-- 5,356 bytes parent folder | download | duplicates (14)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
/* 
    TiMidity++ -- MIDI to WAVE converter and player
    Copyright (C) 1999-2002 Masanao Izumo <mo@goice.co.jp>
    Copyright (C) 1995 Tuukka Toivonen <tt@cgs.fi>

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

	Macintosh interface for TiMidity
	by T.Nogami	<t-nogami@happy.email.ne.jp>
		
    mac_wrdwindow.h
    Macintosh graphics driver for WRD
*/

#ifndef MAC_GRF_H
#define MAC_GRF_H

#include "png.h"
#include "wrd.h"

#if ENTITY
 #define EXTERN /*entitiy*/
#else
 #define EXTERN  extern 
#endif

static const RGBColor	black={0,0,0},white={0xFFFF,0xFFFF,0xFFFF};

#define BASE_X	8
#define	BASE_Y	16
#define LINES 25
#define COLS 80
#define SIZEX 640
#define SIZEY 400

// for graphics
EXTERN GWorldPtr	graphicWorld[8], dispWorld, charbufWorld;
#define	GACTIVE_PIX	(graphicWorld[activeGraphics]->portPixMap)
#define	GDISP_PIX	(graphicWorld[dispGraphics]->portPixMap)
#define	DISP_PIX	(dispWorld->portPixMap)
EXTERN int			gmode_mask, gmode_mask_gline, dev_gon_flag, dev_redrawflag;
#define				DEV_SET_GMODE(mask)  (gmode_mask=gmode_mask_gline=(mask))
EXTERN RGBColor		dev_palette[20][17];
EXTERN int			startpal, endpal; //for @FADE

//for text
EXTERN char			char_vram[25+1][80+2];
EXTERN int			wrd_ton;
#define				CHAR_VRAM(x,y)  (char_vram[y][x])
EXTERN char			char_color_vram[25+1][80+1];
#define				CHAR_COLOR_VRAM(x,y)  (char_color_vram[y][x])
EXTERN char			multi_byte_flag[25+1][80+1];
#define				MULTI_BYTE_FLAG(x,y)  (multi_byte_flag[y][x])   //...Umm
EXTERN int			activeGraphics, dispGraphics, gvram_bank_num;
#define WRD_LOCX(x)		(((x)-1)*BASE_X)
#define WRD_LOCY(y)		((y)*BASE_Y-3)
#define WRD_MOVE_COURSOR_TMP(x,y)	MoveTo( WRD_LOCX(x), WRD_LOCY(y) )
#define IS_MULTI_BYTE(c)	( ((c)&0x80) && ((0x1 <= ((c)&0x7F) && ((c)&0x7F) <= 0x1f) ||\
				 (0x60 <= ((c)&0x7F) && ((c)&0x7F) <= 0x7c)))
#define SYNC_DISP(rect)	(CopyBits((BitMap*)&DISP_PIX, &win.ref->portBits, \
			&(rect), &(rect), srcCopy,0)) //make visible Graphics
#define LOCK_ALL_PIXMAP() (LockPixels(GDISP_PIX),LockPixels(GACTIVE_PIX),LockPixels(DISP_PIX))
#define UNLOCK_ALL_PIXMAP() (UnlockPixels(GDISP_PIX),UnlockPixels(GACTIVE_PIX),UnlockPixels(DISP_PIX))

#define SET_G_COLOR(code,world)	((world)->fgColor=(code))
EXTERN int pallette_exist, fading;


EXTERN int		wrd_coursor_x,wrd_coursor_y;
EXTERN int		wrd_text_color_attr;
#define CATTR_LPART (1)
#define CATTR_16FONT (1<<1)
#define CATTR_COLORED (1<<2)
#define CATTR_BGCOLORED (1<<3) 
#define CATTR_TXTCOL_MASK_SHIFT 4
#define CATTR_TXTCOL_MASK (7<<CATTR_TXTCOL_MASK_SHIFT)
#define CATTR_INVAL (1<<31)
#define TCOLOR_INDEX_SHIFT	32
#define TCODE2INDEX(attr)	((((attr)&CATTR_TXTCOL_MASK)>>CATTR_TXTCOL_MASK_SHIFT)+TCOLOR_INDEX_SHIFT)
#define SET_T_COLOR(attr)	(wrd_text_color_attr=(attr))
#define SET_T_RGBFORECOLOR_TMP(attr)	(dispWorld->fgColor=TCODE2INDEX(attr))

void dev_init(int version);
void dev_set_height(int height);
void dev_redisp(Rect rect);
void dev_remake_disp(Rect rect);
void dev_draw_text_gmode(PixMapHandle pixmap, int x, int y, const char* s, int len,
		int pmask, int mode, int fgcolor, int bgcolor, int ton_mode);

void dev_change_palette(RGBColor pal[16]);
void dev_change_1_palette(int code, RGBColor color);
void dev_init_text_color();
void MyCopyBits(PixMapHandle srcPixmap, PixMapHandle dstPixmap,
		Rect srcRect, Rect dstRect, short mode, int trans, int pmask,
		int maskx, int masky, const uint8 maskdata[]);
void dev_gmove(int x1, int y1, int x2, int y2, int xd, int yd,
			GWorldPtr srcworld, GWorldPtr destworld, int sw, int trans, int mask,
			int maskx, int masky, const uint8 maskdata[]);
void dev_box(PixMapHandle pixmap, Rect rect, int color, int pmask);
void dev_line(int x1, int y1, int x2, int y2, int color, int style,
	int pmask, PixMapHandle pixmap );
void dev_gline(int x1, int y1, int x2, int y2, int p1, int sw, int p2, GWorldPtr world);
void mac_setfont(GWorldPtr world, Str255 fontname);
//#define WRD_FONTNAME "\p"
#define WRD_FONTNAME "\pOsaka|"

void sry_start();
void sry_end();
void sry_start();
void sry_update();

int mac_loadpng_pre( png_structp *png_ptrp, png_infop *info_ptrp, struct timidity_file * tf);
int mac_loadpng(png_structp png_ptr, png_infop info_ptr, GWorldPtr world, RGBColor pal[256] );
void mac_loadpng_post(png_structp png_ptr, png_infop info_ptr);

EXTERN Rect portRect
#if ENTITY
 ={0,0,480,640}
#endif
;

EXTERN RGBColor textcolor[8]
#if ENTITY
	={{0x0000,0x0000,0x0000},	//0: black
	{0xFFFF,0x0000,0x0000},	//1:red
	{0x0000,0xFFFF,0x0000},	//2:green
	{0xFFFF,0xFFFF,0x0000},	//3:yellow
	{0x0000,0x0000,0xFFFF},	//4:blue
	{0xFFFF,0x0000,0xFFFF},	//5:purpl
	{0x0000,0xFFFF,0xFFFF},	//6:mizuiro
	{0xFFFF,0xFFFF,0xFFFF} } //7:white
#endif
;

#endif //MAC_GRF_H