Files
Borland-C/CPP/TEST.CPP

129 lines
2.6 KiB
C++

// ************************************************************************************************
//
// Direct X TEST.
//
// ************************************** (c) Pedro Díez López ************************************
#include "DXVideo.h"
#define ID_NOMBRE "Test"
#define ID_TITULO "Test"
#define ID_TEMP 1
CDXVideo *DXVideo;
BOOL Par;
int Temporizador;
BOOL AppActiva;
//
// El TEST
//
void Test ()
{
if(Par==TRUE)
{
memset(DXVideo->pBuffer.bpp,064,DXVideo->DimBuffer);
Par = FALSE;
}
else
{
memset(DXVideo->pBuffer.bpp,128,DXVideo->DimBuffer);
Par = TRUE;
}
}
//
//
// W i n d o w P r o c
//
//
long FAR PASCAL WindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch( message )
{
case WM_ACTIVATEAPP:
AppActiva = (wParam == WA_ACTIVE) || (wParam == WA_CLICKACTIVE);
break;
case WM_CREATE:
break;
case WM_SETCURSOR:
SetCursor(DXVideo->mDDCursorShape);
return TRUE;
case WM_TIMER:
if (AppActiva && ID_TEMP == wParam)
{
Test();
DXVideo->Pinta();
}
break;
case WM_KEYDOWN:
switch( wParam )
{
case VK_ESCAPE:
PostMessage(hWnd, WM_CLOSE, 0, 0);
break;
}
break;
case WM_PAINT:
break;
case WM_DESTROY:
DXVideo->Fin();
delete DXVideo;
PostQuitMessage(0);
break;
}
return DefWindowProc(hWnd, message, wParam, lParam);
}
//
//
// W i n M a i n
//
//
int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
WNDCLASS wc;
HWND hwnd;
MSG msg;
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = WindowProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(hInstance, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = NULL;
wc.lpszMenuName = ID_NOMBRE;
wc.lpszClassName = ID_NOMBRE;
RegisterClass(&wc);
hwnd = CreateWindowEx(WS_EX_TOPMOST,ID_NOMBRE,ID_TITULO,WS_POPUP,0,0,
GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN),
NULL, NULL, hInstance, NULL);
if (!hwnd) return FALSE;
ShowWindow(hwnd, nCmdShow);
UpdateWindow(hwnd);
Temporizador = 100;
if(!SetTimer(hwnd,ID_TEMP,Temporizador,NULL)) return FALSE;
DXVideo = new CDXVideo;
DXVideo->Inicio (hwnd,640,480,16);
DXVideo->Cursor(NULL);
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}