void InitTracerWnd(HWND hParentWnd){	WNDCLASS wndclass ;	int height, space;	RECT rc, rc2;	HICON hIcon;	static int init = 1;	if ( init ) {		w32g_tracer_wnd.hNullBrush = GetStockObject ( NULL_BRUSH );		w32g_tracer_wnd.hNullPen = GetStockObject ( NULL_PEN );		init = 0;	}	if (hTracerWnd != NULL) {		TRACER_LOCK();		DestroyWindow(hTracerWnd);		hTracerWnd = NULL;		DeleteObject ( (HGDIOBJ)w32g_tracer_wnd.hFontCommon );		DeleteObject ( (HGDIOBJ)w32g_tracer_wnd.hFontHalf );		DeleteDC ( w32g_tracer_wnd.hmdc );		TRACER_UNLOCK();	}	w32g_tracer_wnd.active = FALSE;	INILoadTracerWnd();	hTracerWnd = CreateDialog		(hInst,MAKEINTRESOURCE(IDD_DIALOG_TRACER),hParentWnd,TracerWndProc);	TracerWndInfoReset(hTracerWnd);	ShowWindow(hTracerWnd,SW_HIDE);	hIcon = LoadImage(hInst, MAKEINTRESOURCE(IDI_ICON_TIMIDITY), IMAGE_ICON, 16, 16, 0);	if (hIcon!=NULL) SendMessage(hTracerWnd,WM_SETICON,FALSE,(LPARAM)hIcon);	INILoadTracerWnd();	w32g_tracer_wnd.font_common_height = 14; 	w32g_tracer_wnd.font_common_width = 0;	SetRect ( &w32g_tracer_wnd.rc_head, 1, 2,  0, 0 );	SetRect ( &w32g_tracer_wnd.rc_all_channels, 1,  20 + 2,  0, 0 );	w32g_tracer_wnd.width = 2 + 880 + 2; 	w32g_tracer_wnd.height = 1 + 19 + 1 + (19 + 1) * 32 + 1; 	w32g_tracer_wnd.ch_height = 19;	w32g_tracer_wnd.ch_space = 1;	height = w32g_tracer_wnd.ch_height;	space = w32g_tracer_wnd.ch_space;#if 0	SetRect ( &w32g_tracer_wnd.rc_current_time, 2, 1, 80, height );	SetRect ( &w32g_tracer_wnd.rc_tempo, 82, 1, 160, height );	SetRect ( &w32g_tracer_wnd.rc_master_volume, 162, 1, 200, height / 2 - 1 );	SetRect ( &w32g_tracer_wnd.rc_maxvoices, 162, height / 2 + 1, 200, height );#endif	wndclass.style         = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS | CS_CLASSDC;	wndclass.lpfnWndProc   = TracerCanvasWndProc ;	wndclass.cbClsExtra    = 0 ;	wndclass.cbWndExtra    = 0 ;	wndclass.hInstance     = hInst ;	wndclass.hIcon         = NULL;	wndclass.hCursor       = LoadCursor(0,IDC_ARROW) ;	wndclass.hbrBackground = w32g_tracer_wnd.hNullBrush;	wndclass.lpszMenuName  = NULL;	wndclass.lpszClassName = "tracer canvas wnd";	RegisterClass(&wndclass);	w32g_tracer_wnd.hwnd = CreateWindowEx(0,"tracer canvas wnd",0,WS_CHILD,		CW_USEDEFAULT,0,w32g_tracer_wnd.width,w32g_tracer_wnd.height,		hTracerWnd,0,hInst,0);	w32g_tracer_wnd.hdc = GetDC(w32g_tracer_wnd.hwnd);	TRACER_LOCK();	SelectObject ( w32g_tracer_wnd.hdc, w32g_tracer_wnd.hNullBrush );	SelectObject ( w32g_tracer_wnd.hdc, w32g_tracer_wnd.hNullPen );	w32g_tracer_wnd.hbitmap = CreateCompatibleBitmap(w32g_tracer_wnd.hdc,w32g_tracer_wnd.width,w32g_tracer_wnd.height);	w32g_tracer_wnd.hmdc = CreateCompatibleDC(w32g_tracer_wnd.hdc);	w32g_tracer_wnd.hgdiobj_hmdcprev = SelectObject(w32g_tracer_wnd.hmdc,w32g_tracer_wnd.hbitmap);	SelectObject ( w32g_tracer_wnd.hmdc, w32g_tracer_wnd.hNullBrush );	SelectObject ( w32g_tracer_wnd.hmdc, w32g_tracer_wnd.hNullPen );	TRACER_UNLOCK();	init_tracer_bmp ( w32g_tracer_wnd.hdc );	ReleaseDC(w32g_tracer_wnd.hwnd,w32g_tracer_wnd.hdc);	{		char fontname[128];		if ( PlayerLanguage == LANGUAGE_JAPANESE )			strcpy(fontname,"lr o");		else {//			strcpy(fontname,"Times New Roman");			strcpy(fontname,"Arial");			w32g_tracer_wnd.font_common_height = 16; 		}		w32g_tracer_wnd.hFontCommon = CreateFont(w32g_tracer_wnd.font_common_height,w32g_tracer_wnd.font_common_width,0,0,FW_DONTCARE,FALSE,FALSE,FALSE,			DEFAULT_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,ANTIALIASED_QUALITY,			DEFAULT_PITCH | FF_MODERN ,fontname);		w32g_tracer_wnd.hFontHalf = CreateFont(-10,0,0,0,FW_DONTCARE,FALSE,FALSE,FALSE,			DEFAULT_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,ANTIALIASED_QUALITY,			DEFAULT_PITCH | FF_MODERN ,"Courier");	}	TracerWndReset();	SetRect(&w32g_tracer_wnd.rc_channel_top, 1, 0, 20, height);	SetRect(&w32g_tracer_wnd.rc_instrument, 21, 0, 179, height);	SetRect(&w32g_tracer_wnd.rc_inst_map, 180, 0, 233, height);	SetRect(&w32g_tracer_wnd.rc_bank, 234, 0, 264, height);	SetRect(&w32g_tracer_wnd.rc_program, 265, 0, 295, height);	SetRect(&w32g_tracer_wnd.rc_velocity, 296, 0, 326, height);	SetRect(&w32g_tracer_wnd.rc_volume, 327, 0, 347, height / 2);	SetRect(&w32g_tracer_wnd.rc_expression, 327, height / 2 + 1, 347, height);	SetRect(&w32g_tracer_wnd.rc_panning, 348, 0, 368, height / 2);	SetRect(&w32g_tracer_wnd.rc_sustain, 348, height / 2 + 1, 368, height);	SetRect(&w32g_tracer_wnd.rc_pitch_bend, 369, 0, 389, height / 2);	SetRect(&w32g_tracer_wnd.rc_mod_wheel, 369, height / 2 + 1, 389, height);	SetRect(&w32g_tracer_wnd.rc_chorus_effect, 390, 0, 410, height / 2);	SetRect(&w32g_tracer_wnd.rc_reverb_effect, 390, height / 2 + 1, 410, height);	SetRect(&w32g_tracer_wnd.rc_temper_keysig, 411, 0, 444, height);	SetRect(&w32g_tracer_wnd.rc_gm, 445, 0, 469, height);	SetRect(&w32g_tracer_wnd.rc_gs, 470, 0, 494, height);	SetRect(&w32g_tracer_wnd.rc_xg, 495, 0, 519, height);	SetRect(&w32g_tracer_wnd.rc_head_rest, 520, 0, 890, height);	SetRect(&w32g_tracer_wnd.rc_temper_type, 411, 0, 430, height);	SetRect(&w32g_tracer_wnd.rc_notes, 431, 0, 890, height);	GetWindowRect ( hTracerWnd, &rc );	GetClientRect ( hTracerWnd, &rc2 );	rc.left = rc.left;	rc.top = rc.top;	rc.right = (rc.right - rc.left) - (rc2.right - rc2.left) + w32g_tracer_wnd.width;	rc.bottom = (rc.bottom - rc.top) - (rc2.bottom - rc2.top) + w32g_tracer_wnd.height;	MoveWindow ( hTracerWnd, rc.left, rc.top, rc.right, rc.bottom, TRUE);	MoveWindow(w32g_tracer_wnd.hwnd,0,0,w32g_tracer_wnd.width,w32g_tracer_wnd.height,TRUE);	ShowWindow(w32g_tracer_wnd.hwnd,SW_SHOW);	UpdateWindow(w32g_tracer_wnd.hwnd);	UpdateWindow(hTracerWnd);	INILoadTracerWnd();	TracerWndInfoApply();}
4357	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4357/518355abc25844aa25c584e23c55a349d63df5f1/w32g_subwin3.c/clean/interface/w32g_subwin3.c