123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231 |
- /** (c) Nullsoft, Inc. C O N F I D E N T I A L
- ** Filename:
- ** Project:
- ** Description:
- ** Author:
- ** Created:
- **/
- #include "Main.h"
- #include "draw.h"
- #include "resource.h"
- #include "WADrawDC.h"
- HBITMAP vwMainBM;
- extern "C" int vw_init=0;
- void draw_vw_init()
- {
- if (vw_init)
- draw_vw_kill();
- vw_init=1;
- vwMainBM = draw_LBitmap(MAKEINTRESOURCE(IDB_VIDEO),L"video.bmp");
- }
- void draw_vw_kill()
- {
- if (!vw_init)
- return;
- DeleteObject(vwMainBM);
-
- }
- void draw_vw_mbuts(int whichb)
- {
- if (!disable_skin_borders && hVideoWindow && vw_init)
- {
- int numb=5;
- int x;
- WADrawDC hdcout(hVideoWindow);
- do_palmode(hdcout);
- setSrcBM(vwMainBM);
- for (x = 0; x < numb; x ++)
- {
- int nx=9+x*15;
- int ny=51;
- if (x==whichb)
- {
- nx+=158-9;
- ny=42;
- }
- BitBlt(hdcout,9+x*15,config_video_height-29,15,18,bmDC,nx,ny,SRCCOPY);
- }
- unsetSrcBM();
- }
- }
- void draw_vw_tbar(int state)
- {
- if (!disable_skin_borders && hVideoWindow && vw_init)
- {
- WADrawDC hdcout(hVideoWindow);
- state = state?0:21;
- do_palmode(hdcout);
- setSrcBM(vwMainBM);
- {
- int nt;
- int xp=0;
- BitBlt(hdcout,xp,0,25,20,bmDC,0,state,SRCCOPY);
- xp+=25;
- nt = (config_video_width - 25 - 25 - 100)/25;
- if (nt)
- {
- if (nt&1)
- {
- BitBlt(hdcout,xp,0,12,20,bmDC,127,state,SRCCOPY);
- xp+=12;
- }
- nt/=2;
- while (nt-->0)
- {
- BitBlt(hdcout,xp,0,25,20,bmDC,127,state,SRCCOPY);
- xp+=25;
- }
- }
- BitBlt(hdcout,xp,0,100,20,bmDC,26,state,SRCCOPY);
- xp+=100;
- nt = (config_video_width - 25 - 25 - 100)/25;
- if (nt)
- {
- if (nt&1)
- {
- BitBlt(hdcout,xp,0,13,20,bmDC,127,state,SRCCOPY);
- xp+=13;
- }
- nt/=2;
- while (nt-->0)
- {
- BitBlt(hdcout,xp,0,25,20,bmDC,127,state,SRCCOPY);
- xp+=25;
- }
- }
- nt = (config_video_width - 25 -25 - 100) %25;
- if (nt)
- {
- StretchBlt(hdcout,xp,0,nt,20,bmDC,127,state,25,20,SRCCOPY);
- xp+=nt;
- }
- BitBlt(hdcout,xp,0,25,20,bmDC,153,state,SRCCOPY);
- }
- unsetSrcBM();
- }
- }
- void draw_vw(HDC hdcout)
- {
- if (!hVideoWindow || !vw_init)
- return;
- do_palmode(hdcout);
- draw_vw_tbar(GetForegroundWindow()==hVideoWindow?1:(config_hilite?0:1));
- if (!disable_skin_borders)
- {
- setSrcBM(vwMainBM);
- {
- int y=(config_video_height-20-38)/29;
- int yp=20,x,xp;
- while (y-->0)
- {
- BitBlt(hdcout,0,yp,11,29,bmDC,127,42,SRCCOPY);
- BitBlt(hdcout,config_video_width-8,yp,8,29,bmDC,139,42,SRCCOPY);
- yp += 29;
- }
- y=(config_video_height-20-38)%29;
- if (y)
- {
- StretchBlt(hdcout,0,yp,11,y,bmDC,127,42,11,29,SRCCOPY);
- StretchBlt(hdcout,config_video_width-8,yp,8,y,bmDC,139,42,8,29,SRCCOPY);
- yp += y;
- }
- BitBlt(hdcout,0,yp,125,38,bmDC,0,42,SRCCOPY);
- x=(config_video_width-125-125)/25;
- xp=125;
- while (x-->0)
- {
- BitBlt(hdcout,xp,yp,25,38,bmDC,127,81,SRCCOPY);
- xp+=25;
- }
- x=(config_video_width-125-125)%25;
- if (x)
- {
- StretchBlt(hdcout,xp,yp,x,38,bmDC,127,81,25,38,SRCCOPY);
- xp+=x;
- }
- BitBlt(hdcout,xp,yp,125,38,bmDC,0,81,SRCCOPY);
- draw_vw_info(NULL,0);
- }
- unsetSrcBM();
- }
- }
- wchar_t draw_vw_info_lastb[512] = {0};
- void draw_vw_info(wchar_t *t, int erase)
- {
- if (!disable_skin_borders && hVideoWindow&&vw_init)
- {
- WADrawDC hdcout(hVideoWindow);
- if (!t) t=draw_vw_info_lastb;
- else lstrcpynW(draw_vw_info_lastb,t,sizeof(draw_vw_info_lastb));
- if (erase)
- {
- //int y=(config_video_height-20-38)/29;
- int yp=config_video_height-38,x,xp;
- do_palmode(hdcout);
- setSrcBM(vwMainBM);
- BitBlt(hdcout,0,yp,125,38,bmDC,0,42,SRCCOPY);
- x=(config_video_width-125-125)/25;
- xp=125;
- while (x-->0)
- {
- BitBlt(hdcout,xp,yp,25,38,bmDC,127,81,SRCCOPY);
- xp+=25;
- }
- x=(config_video_width-125-125)%25;
- if (x)
- {
- StretchBlt(hdcout,xp,yp,x,38,bmDC,127,81,25,38,SRCCOPY);
- xp+=x;
- }
- BitBlt(hdcout,xp,yp,125,38,bmDC,0,81,SRCCOPY);
- unsetSrcBM();
- }
- RECT r={92,config_video_height-27,config_video_width-25,config_video_height-13};
- HGDIOBJ oldFont=SelectObject(hdcout,mfont);
- SetTextColor(hdcout,Skin_PLColors[4]);
- SetBkColor(hdcout,Skin_PLColors[5]);
- DrawTextW(hdcout,t,-1,&r,DT_SINGLELINE|DT_LEFT|DT_NOPREFIX);
- SelectObject(hdcout,oldFont);
- }
- }
- void draw_paint_vw(HWND hwnd)
- {
- if (!hVideoWindow || !vw_init)
- return;
- PAINTSTRUCT ps;
- RECT r;
- EnterCriticalSection(&g_mainwndcs);
- draw_vw(BeginPaint(hwnd,&ps));
- r=ps.rcPaint;
- EndPaint(hwnd,&ps);
- LeaveCriticalSection(&g_mainwndcs);
- }
- void draw_vw_tbutton(int b3)
- {
- if (!disable_skin_borders && hVideoWindow && vw_init)
- {
- WADrawDC hdcout(hVideoWindow);
- do_palmode(hdcout);
- setSrcBM(vwMainBM);
- if (!b3)
- BitBlt(hdcout,config_video_width-11,3,9,9,bmDC,167,3,SRCCOPY);
- else
- BitBlt(hdcout,config_video_width-11,3,9,9,bmDC,148,42,SRCCOPY);
- unsetSrcBM();
- }
- }
|