Delete all Trailing spaces in code.

svn path=/trunk/; revision=29688
This commit is contained in:
Daniel Reimer 2007-10-19 23:01:40 +00:00
parent dd02e006bb
commit 622c29bffb
161 changed files with 1944 additions and 1944 deletions

View file

@ -7,18 +7,18 @@
/* Black Box program for D3DParseUnknownCommand in ddraw.dll
*
* This program scaning all return valu that D3DParseUnknownCommand have in ddraw.dll
* This command is not 100% document in MSDN so I using ddk kit doc and WinCE document
* and ms ddk / ms sdk to figout the basic. and MSDN was unclare what this command support for
* This program scaning all return valu that D3DParseUnknownCommand have in ddraw.dll
* This command is not 100% document in MSDN so I using ddk kit doc and WinCE document
* and ms ddk / ms sdk to figout the basic. and MSDN was unclare what this command support for
* D3DHAL_DP2COMMAND dp2command->bCommand so I wrote this small scanner
*
* it will show D3DParseUnknownCommand dp2command->bCommand support follow command
* command hex dec
* command hex dec
* D3DDP2OP_VIEWPORTINFO (aka 0x1c) 28
* D3DDP2OP_WINFO (aka 0x1d) 29
* Unknown (aka 0x0d) 13
*
* no doc in msdn about command 13 (dec) I will exaime it later
* no doc in msdn about command 13 (dec) I will exaime it later
*
*/
@ -39,11 +39,11 @@ VOID BuildReturnCode(DWORD * ReturnCode)
INT t;
D3DHAL_DP2COMMAND dp2command;
DWORD lplpvReturnedCommand[2];
for (t=0;t<256;t++)
{
dp2command.bCommand = t;
ReturnCode[t] = D3DParseUnknownCommand ( (LPVOID) &dp2command, (LPVOID *) lplpvReturnedCommand) ;
ReturnCode[t] = D3DParseUnknownCommand ( (LPVOID) &dp2command, (LPVOID *) lplpvReturnedCommand) ;
printf("D3DParseUnknownCommand return code = %x command %d \n", ReturnCode[t], t);
}
}

View file

@ -3,7 +3,7 @@
// TODO:
//
//
// - free memory
// - Check if we ran out of memory (HeapAlloc == NULL)
HDC hdc;
@ -67,7 +67,7 @@ typedef struct _DD_MISCELLANEOUSCALLBACKS {
} DD_MISCELLANEOUSCALLBACKS;
int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst,
int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst,
LPSTR lpCmdLine, int nCmdShow)
{
/* get the functions we need */
@ -84,13 +84,13 @@ int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst,
const UINT bmiSize = sizeof(BITMAPINFOHEADER) + 0x10;
UCHAR *pbmiData;
BITMAPINFO *pbmi;
DWORD *pMasks;
//BOOL newmode = FALSE;
//DWORD Status; /* for create surface */
UINT i;
UINT j;
printf("This apps showing how to start up directx draw/d3d interface and some other as well\n");
printf("This code have been releae to some close applactons with my premtions, if any company\n");
@ -104,17 +104,17 @@ int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst,
printf("and a overlay sufrace and blt to the primary surface\n");
/*
Get and Create mode info
/*
Get and Create mode info
*/
mcModeInfos = 1;
mpModeInfos = (DDHALMODEINFO*)HeapAlloc(GetProcessHeap(),
HEAP_ZERO_MEMORY,
mcModeInfos * sizeof(DDHALMODEINFO));
mpModeInfos = (DDHALMODEINFO*)HeapAlloc(GetProcessHeap(),
HEAP_ZERO_MEMORY,
mcModeInfos * sizeof(DDHALMODEINFO));
if (mpModeInfos == NULL)
{
printf("Fail to alloc mpModeInfos\n");
printf("Fail to alloc mpModeInfos\n");
return DD_FALSE;
}
@ -128,28 +128,28 @@ int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst,
mpModeInfos[0].wRefreshRate = (WORD)devmode.dmDisplayFrequency;
/*
Setup HDC and mDDrawGlobal right
*/
hdc = CreateDCW(L"DISPLAY",L"DISPLAY",NULL,NULL);
Setup HDC and mDDrawGlobal right
*/
hdc = CreateDCW(L"DISPLAY",L"DISPLAY",NULL,NULL);
if (hdc == NULL)
{
printf("Fail to create HDC\n");
printf("Fail to create HDC\n");
return DD_FALSE;
}
/*
Dectect RGB bit mask
*/
hbmp = CreateCompatibleBitmap(hdc, 1, 1);
Dectect RGB bit mask
*/
hbmp = CreateCompatibleBitmap(hdc, 1, 1);
if (hbmp==NULL)
{
HeapFree(GetProcessHeap(), 0, mpModeInfos);
DeleteDC(hdc);
printf("Fail to Create Compatible Bitmap\n");
printf("Fail to Create Compatible Bitmap\n");
return DD_FALSE;
}
pbmiData = (UCHAR *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, bmiSize);
pbmi = (BITMAPINFO*)pbmiData;
@ -159,7 +159,7 @@ int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst,
free(mpModeInfos);
DeleteDC(hdc);
DeleteObject(hbmp);
printf("Fail to Alloc pbmiData\n");
printf("Fail to Alloc pbmiData\n");
return DDERR_UNSUPPORTED;
}
@ -180,32 +180,32 @@ int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst,
HeapFree(GetProcessHeap(), 0, pbmiData);
/*
prepare start up the DX Draw HAL interface now
/*
prepare start up the DX Draw HAL interface now
*/
memset(&mDDrawGlobal, 0, sizeof(DDRAWI_DIRECTDRAW_GBL));
memset(&mHALInfo, 0, sizeof(DDHALINFO));
memset(&mCallbacks, 0, sizeof(DDHAL_CALLBACKS));
/*
Startup DX HAL step one of three
/*
Startup DX HAL step one of three
*/
if (!DdCreateDirectDrawObject(&mDDrawGlobal, hdc))
{
HeapFree(GetProcessHeap(), 0, mpModeInfos);
HeapFree(GetProcessHeap(), 0, mpModeInfos);
DeleteDC(hdc);
DeleteObject(hbmp);
printf("Fail to Create Direct DrawObject\n");
printf("Fail to Create Direct DrawObject\n");
return DD_FALSE;
}
mDDrawGlobal.dwRefCnt = 1; //addref / remove ref
// Do not relase HDC it have been map in kernel mode
// Do not relase HDC it have been map in kernel mode
// DeleteDC(hdc);
/* we need reanable it if screen res have changes, and some bad drv need be reanble very few
/* we need reanable it if screen res have changes, and some bad drv need be reanble very few
to contiune */
/*
if (!DdReenableDirectDrawObject(&mDDrawGlobal, &newmode))
@ -215,11 +215,11 @@ int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst,
DeleteObject(hbmp);
return DD_FALSE;
}*/
/*
Setup the DirectDraw Local
Setup the DirectDraw Local
*/
mDDrawLocal.lpDDCB = &mCallbacks;
mDDrawLocal.lpGbl = &mDDrawGlobal;
mDDrawLocal.dwProcessId = GetCurrentProcessId();
@ -228,16 +228,16 @@ int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst,
mDDrawGlobal.lpExclusiveOwner = &mDDrawLocal;
//mDDrawLocal.dwLocalFlags = DDRAWILCL_DIRECTDRAW7;
/*
Startup DX HAL step two of three
Startup DX HAL step two of three
*/
if (!DdQueryDirectDrawObject(&mDDrawGlobal,
&mHALInfo,
&mCallbacks.HALDD,
&mCallbacks.HALDDSurface,
&mCallbacks.HALDDPalette,
&mCallbacks.HALDDPalette,
&mD3dCallbacks,
&mD3dDriverData,
&mD3dBufferCallbacks,
@ -255,12 +255,12 @@ int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst,
mcvmList = mHALInfo.vmiData.dwNumHeaps;
mpvmList = (VIDMEM*) HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(VIDMEM) * mcvmList);
if (mpvmList == NULL)
{
{
HeapFree(GetProcessHeap(), 0, mpModeInfos);
DeleteDC(hdc);
DeleteObject(hbmp);
// FIXME Close DX fristcall and second call
printf("Fail to QueryDirect Draw Object frist pass\n");
printf("Fail to QueryDirect Draw Object frist pass\n");
return DD_FALSE;
}
@ -279,14 +279,14 @@ int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst,
mcTextures = mD3dDriverData.dwNumTextureFormats;
mpTextures = (DDSURFACEDESC*)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(DDSURFACEDESC) * mcTextures);
if (mpTextures == NULL)
{
{
HeapFree(GetProcessHeap(), 0, mpFourCC);
HeapFree(GetProcessHeap(), 0, mpvmList);
HeapFree(GetProcessHeap(), 0, mpModeInfos);
DeleteDC(hdc);
DeleteObject(hbmp);
// FIXME Close DX fristcall and second call
printf("Fail QueryDirect Draw Object to Alloc mpTextures \n");
printf("Fail QueryDirect Draw Object to Alloc mpTextures \n");
return DD_FALSE;
}
@ -299,14 +299,14 @@ int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst,
&mHALInfo,
&mCallbacks.HALDD,
&mCallbacks.HALDDSurface,
&mCallbacks.HALDDPalette,
&mCallbacks.HALDDPalette,
&mD3dCallbacks,
&mD3dDriverData,
&mCallbacks.HALDDExeBuf,
mpTextures,
mpFourCC,
mpvmList))
{
HeapFree(GetProcessHeap(), 0, mpTextures);
HeapFree(GetProcessHeap(), 0, mpFourCC);
@ -314,7 +314,7 @@ int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst,
HeapFree(GetProcessHeap(), 0, mpModeInfos);
DeleteDC(hdc);
DeleteObject(hbmp);
printf("Fail to QueryDirect Draw Object second pass\n");
printf("Fail to QueryDirect Draw Object second pass\n");
return DD_FALSE;
}
@ -322,7 +322,7 @@ int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst,
Copy over from HalInfo to DirectDrawGlobal
*/
// this is wrong, cDriverName need be in ASC code not UNICODE
// this is wrong, cDriverName need be in ASC code not UNICODE
//memcpy(mDDrawGlobal.cDriverName, mDisplayAdapter, sizeof(wchar)*MAX_DRIVER_NAME);
memcpy(&mDDrawGlobal.vmiData, &mHALInfo.vmiData,sizeof(VIDMEMINFO));
@ -336,11 +336,11 @@ int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst,
mDDrawGlobal.dwModeIndex = mHALInfo.dwModeIndex;
mDDrawGlobal.dwNumModes = mHALInfo.dwNumModes;
mDDrawGlobal.lpModeInfo = mHALInfo.lpModeInfo;
mDDrawGlobal.hInstance = mHALInfo.hInstance;
mDDrawGlobal.hInstance = mHALInfo.hInstance;
mDDrawGlobal.lp16DD = &mDDrawGlobal;
/* Hal insate is down now */
@ -358,7 +358,7 @@ int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst,
/* cleare surface ends now */
/* create primare surface now */
memset(&mddsdPrimary, 0, sizeof(DDSURFACEDESC));
mddsdPrimary.dwSize = sizeof(DDSURFACEDESC);
mddsdPrimary.dwFlags = DDSD_CAPS;
@ -369,16 +369,16 @@ int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst,
mDdCanCreateSurface.CanCreateSurface = mCallbacks.HALDD.CanCreateSurface;
mDdCanCreateSurface.bIsDifferentPixelFormat = FALSE; //isDifferentPixelFormat;
mDdCanCreateSurface.lpDDSurfaceDesc = &mddsdPrimary; // pDDSD;
if (mHALInfo.lpDDCallbacks->CanCreateSurface(&mDdCanCreateSurface)== DDHAL_DRIVER_NOTHANDLED)
if (mHALInfo.lpDDCallbacks->CanCreateSurface(&mDdCanCreateSurface)== DDHAL_DRIVER_NOTHANDLED)
{
printf("Fail to mDdCanCreateSurface DDHAL_DRIVER_NOTHANDLED\n");
printf("Fail to mDdCanCreateSurface DDHAL_DRIVER_NOTHANDLED\n");
return DDERR_NOTINITIALIZED;
}
if (mDdCanCreateSurface.ddRVal != DD_OK)
{
printf("Fail to mDdCanCreateSurface mDdCanCreateSurface.ddRVal = %d:%s\n",(int)mDdCanCreateSurface.ddRVal,DDErrorString(mDdCanCreateSurface.ddRVal));
printf("Fail to mDdCanCreateSurface mDdCanCreateSurface.ddRVal = %d:%s\n",(int)mDdCanCreateSurface.ddRVal,DDErrorString(mDdCanCreateSurface.ddRVal));
return DDERR_NOTINITIALIZED;
}
@ -393,7 +393,7 @@ int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst,
memset(&mPrimaryMore, 0, sizeof(DDRAWI_DDRAWSURFACE_MORE));
mPrimaryMore.dwSize = sizeof(DDRAWI_DDRAWSURFACE_MORE);
//mPrimaryMore. = mpr
memset(&mPrimaryLocal, 0, sizeof(DDRAWI_DDRAWSURFACE_LCL));
@ -407,7 +407,7 @@ int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst,
DDHAL_CREATESURFACEDATA mDdCreateSurface;
mDdCreateSurface.lpDD = &mDDrawGlobal;
mDdCreateSurface.CreateSurface = mCallbacks.HALDD.CreateSurface;
mDdCreateSurface.CreateSurface = mCallbacks.HALDD.CreateSurface;
mDdCreateSurface.lpDDSurfaceDesc = &mddsdPrimary;//pDDSD;
mDdCreateSurface.lplpSList = mpPrimaryLocals; //cSurfaces;
mDdCreateSurface.dwSCnt = 1 ; //ppSurfaces;
@ -417,11 +417,11 @@ int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst,
printf("Fail to mDdCreateSurface DDHAL_DRIVER_NOTHANDLED \n");
return DDERR_NOTINITIALIZED;
}
if (mDdCreateSurface.ddRVal != DD_OK)
{
printf("Fail to mDdCanCreateSurface mDdCreateSurface.ddRVal = %d:%s\n",(int)mDdCreateSurface.ddRVal,DDErrorString(mDdCreateSurface.ddRVal));
if (mDdCreateSurface.ddRVal != DD_OK)
{
printf("Fail to mDdCanCreateSurface mDdCreateSurface.ddRVal = %d:%s\n",(int)mDdCreateSurface.ddRVal,DDErrorString(mDdCreateSurface.ddRVal));
return mDdCreateSurface.ddRVal;
}
@ -429,7 +429,7 @@ int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst,
memset(&mPrimaryClipperGlobal, 0, sizeof(DDRAWI_DDRAWCLIPPER_GBL));
mPrimaryClipperGlobal.dwFlags = DDRAWICLIP_ISINITIALIZED;
mPrimaryClipperGlobal.dwProcessId = GetCurrentProcessId();
//mPrimaryClipperGlobal.hWnd = (ULONG_PTR)hwnd;
//mPrimaryClipperGlobal.hWnd = (ULONG_PTR)hwnd;
mPrimaryClipperGlobal.hWnd = (ULONG_PTR)GetDesktopWindow();
mPrimaryClipperGlobal.lpDD = &mDDrawGlobal;
mPrimaryClipperGlobal.lpStaticClipList = NULL;
@ -447,12 +447,12 @@ int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst,
//mPrimaryMore.lpDDIClipper = &mPrimaryClipperInterface;
mDdBlt.lpDDDestSurface = mpPrimaryLocals[0];
/* create primare surface is down now */
/* create overlay surface now */
memset(&mddsdOverlay, 0, sizeof(DDSURFACEDESC));
mddsdOverlay.dwSize = sizeof(DDSURFACEDESC);
mddsdOverlay.dwFlags = DDSD_CAPS | DDSD_PIXELFORMAT | DDSD_BACKBUFFERCOUNT | DDSD_WIDTH | DDSD_HEIGHT;
@ -464,32 +464,32 @@ int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst,
mddsdOverlay.dwBackBufferCount = 1; //cBuffers;
mddsdOverlay.ddpfPixelFormat.dwSize = sizeof(DDPIXELFORMAT);
mddsdOverlay.ddpfPixelFormat.dwFlags = DDPF_RGB;
mddsdOverlay.ddpfPixelFormat.dwFlags = DDPF_RGB;
mddsdOverlay.ddpfPixelFormat.dwRGBBitCount = 32;
//DDHAL_CANCREATESURFACEDATA mDdCanCreateSurface;
mDdCanCreateSurface.lpDD = &mDDrawGlobal;
mDdCanCreateSurface.CanCreateSurface = mCallbacks.HALDD.CanCreateSurface;
mDdCanCreateSurface.bIsDifferentPixelFormat = TRUE; //isDifferentPixelFormat;
mDdCanCreateSurface.lpDDSurfaceDesc = &mddsdOverlay; // pDDSD;
if (mHALInfo.lpDDCallbacks->CanCreateSurface(&mDdCanCreateSurface)== DDHAL_DRIVER_NOTHANDLED)
if (mHALInfo.lpDDCallbacks->CanCreateSurface(&mDdCanCreateSurface)== DDHAL_DRIVER_NOTHANDLED)
{
// derr(L"DirectDrawImpl[%08x]::__createPrimary Cannot create primary [%08x]", this, rv);
printf("Fail to mDdCanCreateSurface DDHAL_DRIVER_NOTHANDLED \n");
printf("Fail to mDdCanCreateSurface DDHAL_DRIVER_NOTHANDLED \n");
return DDERR_NOTINITIALIZED;
}
if (mDdCanCreateSurface.ddRVal != DD_OK)
{
printf("Fail to mDdCanCreateSurface mDdCanCreateSurface.ddRVal = %d:%s\n",(int)mDdCanCreateSurface.ddRVal,DDErrorString(mDdCanCreateSurface.ddRVal));
printf("Fail to mDdCanCreateSurface mDdCanCreateSurface.ddRVal = %d:%s\n",(int)mDdCanCreateSurface.ddRVal,DDErrorString(mDdCanCreateSurface.ddRVal));
return DDERR_NOTINITIALIZED;
}
memset(&mOverlayGlobal, 0, sizeof(DDRAWI_DDRAWSURFACE_GBL));
mOverlayGlobal.dwGlobalFlags = 0;
mOverlayGlobal.lpDD = &mDDrawGlobal;
@ -514,7 +514,7 @@ int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst,
(DDRAWISURF_IMPLICITROOT|DDRAWISURF_FRONTBUFFER):
(DDRAWISURF_IMPLICITCREATE|DDRAWISURF_BACKBUFFER);
mOverlayLocal[i].dwFlags |=
mOverlayLocal[i].dwFlags |=
DDRAWISURF_ATTACHED|DDRAWISURF_ATTACHED_FROM|
DDRAWISURF_HASPIXELFORMAT|
DDRAWISURF_HASOVERLAYDATA;
@ -527,26 +527,26 @@ int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst,
{
j = (i + 1) % cSurfaces;
/*if (!mHALInfo.lpDDSurfaceCallbacks->AddAttachedSurface(mpOverlayLocals[i], mpOverlayLocals[j]))
/*if (!mHALInfo.lpDDSurfaceCallbacks->AddAttachedSurface(mpOverlayLocals[i], mpOverlayLocals[j]))
{
// derr(L"DirectDrawImpl[%08x]::__setupDevice DdAttachSurface(%d, %d) failed", this, i, j);
return DD_FALSE;
}*/
if (!DdAttachSurface(mpOverlayLocals[i], mpOverlayLocals[j]))
if (!DdAttachSurface(mpOverlayLocals[i], mpOverlayLocals[j]))
{
// derr(L"DirectDrawImpl[%08x]::__setupDevice DdAttachSurface(%d, %d) failed", this, i, j);
printf("Fail to DdAttachSurface (%d:%d)\n", i, j);
return DD_FALSE;
}
}
// DDHAL_CREATESURFACEDATA mDdCreateSurface;
mDdCreateSurface.lpDD = &mDDrawGlobal;
mDdCreateSurface.CreateSurface = mCallbacks.HALDD.CreateSurface;
mDdCreateSurface.CreateSurface = mCallbacks.HALDD.CreateSurface;
mDdCreateSurface.lpDDSurfaceDesc = &mddsdOverlay;//pDDSD;
mDdCreateSurface.lplpSList = mpOverlayLocals; //cSurfaces;
mDdCreateSurface.dwSCnt = 1 ; //ppSurfaces;
@ -556,11 +556,11 @@ int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst,
printf("Fail to mDdCreateSurface = DDHAL_DRIVER_HANDLED\n");
return DDERR_NOTINITIALIZED;
}
if (mDdCreateSurface.ddRVal != DD_OK)
{
printf("Fail to mDdCreateSurface mDdCreateSurface.ddRVal = %d:%s\n",(int)mDdCreateSurface.ddRVal,DDErrorString(mDdCreateSurface.ddRVal));
if (mDdCreateSurface.ddRVal != DD_OK)
{
printf("Fail to mDdCreateSurface mDdCreateSurface.ddRVal = %d:%s\n",(int)mDdCreateSurface.ddRVal,DDErrorString(mDdCreateSurface.ddRVal));
return mDdCreateSurface.ddRVal;
}
@ -577,7 +577,7 @@ int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst,
copyRect(&mDdUpdateOverlay.rDest, pdst);
copyRect(&mDdUpdateOverlay.rSrc, psrc);
*/
mDdUpdateOverlay.rDest.top = 0;
mDdUpdateOverlay.rDest.left = 0;
mDdUpdateOverlay.rDest.right = 50;
@ -588,63 +588,63 @@ int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst,
mDdUpdateOverlay.rSrc.right = 50;
mDdUpdateOverlay.rSrc.bottom = 50;
if ( mDdUpdateOverlay.UpdateOverlay(&mDdUpdateOverlay) == DDHAL_DRIVER_NOTHANDLED)
{
printf("Fail to mDdBlt = DDHAL_DRIVER_HANDLED\n");
return DDERR_NOTINITIALIZED;
}
if (mDdUpdateOverlay.ddRVal != DD_OK)
{
printf("Fail to mDdUpdateOverlay mDdUpdateOverlay.ddRVal = %d:%s\n",(int)mDdUpdateOverlay.ddRVal,DDErrorString(mDdUpdateOverlay.ddRVal));
if (mDdUpdateOverlay.ddRVal != DD_OK)
{
printf("Fail to mDdUpdateOverlay mDdUpdateOverlay.ddRVal = %d:%s\n",(int)mDdUpdateOverlay.ddRVal,DDErrorString(mDdUpdateOverlay.ddRVal));
return mDdUpdateOverlay.ddRVal;
}
/* blt */
DDRAWI_DDRAWSURFACE_LCL *pDDSurface = mpPrimaryLocals[0];
if (!DdResetVisrgn(pDDSurface, NULL))
if (!DdResetVisrgn(pDDSurface, NULL))
{
// derr(L"DirectDrawImpl[%08x]::_clear DdResetVisrgn failed", this);
}
memset(&mDdBlt, 0, sizeof(DDHAL_BLTDATA));
memset(&mDdBlt.bltFX, 0, sizeof(DDBLTFX));
mDdBlt.bltFX.dwSize = sizeof(DDBLTFX);
mDdBlt.lpDD = &mDDrawGlobal;
mDdBlt.Blt = mCallbacks.HALDDSurface.Blt;
mDdBlt.Blt = mCallbacks.HALDDSurface.Blt;
mDdBlt.lpDDDestSurface = mpPrimaryLocals[0];
mpPrimaryLocals[0]->hDC = (ULONG_PTR)GetDC(GetDesktopWindow());
mDdBlt.rDest.top = 50;
mDdBlt.rDest.bottom = 100;
mDdBlt.rDest.left = 0;
mDdBlt.rDest.right = 100;
mDdBlt.lpDDSrcSurface = NULL;
mDdBlt.IsClipped = FALSE;
mDdBlt.IsClipped = FALSE;
mDdBlt.bltFX.dwFillColor = 0xFFFF00;
mDdBlt.dwFlags = DDBLT_COLORFILL | DDBLT_WAIT;
// mDdBlt.IsClipped = TRUE;
if (mDdBlt.Blt(&mDdBlt) != DDHAL_DRIVER_HANDLED)
{
printf("Fail to mDdBlt = DDHAL_DRIVER_HANDLED\n");
return DDHAL_DRIVER_HANDLED;
}
if (mDdBlt.ddRVal!=DD_OK)
{
printf("Fail to mDdBlt mDdBlt.ddRVal = %d:%s\n",(int)mDdBlt.ddRVal,DDErrorString(mDdBlt.ddRVal));
if (mDdBlt.ddRVal!=DD_OK)
{
printf("Fail to mDdBlt mDdBlt.ddRVal = %d:%s\n",(int)mDdBlt.ddRVal,DDErrorString(mDdBlt.ddRVal));
return mDdBlt.ddRVal;
}

View file

@ -28,71 +28,71 @@ extern DDRAWI_DIRECTDRAW_GBL mDDrawGlobal;
BOOL (APIENTRY *DdCreateDirectDrawObject) (
BOOL (APIENTRY *DdCreateDirectDrawObject) (
LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal,
HDC hdc
);
BOOL (APIENTRY *DdQueryDirectDrawObject) (
BOOL (APIENTRY *DdQueryDirectDrawObject) (
LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal,
LPDDHALINFO pHalInfo,
LPDDHAL_DDCALLBACKS pDDCallbacks,
LPDDHAL_DDSURFACECALLBACKS pDDSurfaceCallbacks,
LPDDHAL_DDPALETTECALLBACKS pDDPaletteCallbacks,
LPD3DHAL_CALLBACKS pD3dCallbacks,
LPD3DHAL_GLOBALDRIVERDATA pD3dDriverData,
LPD3DHAL_CALLBACKS pD3dCallbacks,
LPD3DHAL_GLOBALDRIVERDATA pD3dDriverData,
LPDDHAL_DDEXEBUFCALLBACKS pD3dBufferCallbacks,
LPDDSURFACEDESC pD3dTextureFormats,
LPDWORD pdwFourCC,
LPVIDMEM pvmList
);
BOOL
APIENTRY
DdDeleteDirectDrawObject(
BOOL
APIENTRY
DdDeleteDirectDrawObject(
LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal
);
BOOL
APIENTRY
DdCreateSurfaceObject(
BOOL
APIENTRY
DdCreateSurfaceObject(
LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,
BOOL bPrimarySurface
);
BOOL
APIENTRY
DdDeleteSurfaceObject(
BOOL
APIENTRY
DdDeleteSurfaceObject(
LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal
);
//BOOL
//APIENTRY
//DdResetVisrgn(
//BOOL
//APIENTRY
//DdResetVisrgn(
// LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,
// HWND hWnd
//);
BOOL (APIENTRY *DdResetVisrgn) (
BOOL (APIENTRY *DdResetVisrgn) (
LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,
HWND hWnd
);
HDC
APIENTRY
DdGetDC(
HDC
APIENTRY
DdGetDC(
LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,
LPPALETTEENTRY pColorTable
);
BOOL
APIENTRY
DdReleaseDC(
BOOL
APIENTRY
DdReleaseDC(
LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal
);
HBITMAP
APIENTRY
DdCreateDIBSection(
HBITMAP
APIENTRY
DdCreateDIBSection(
HDC hdc,
CONST BITMAPINFO *pbmi,
UINT iUsage,
@ -101,62 +101,62 @@ DdCreateDIBSection(
DWORD dwOffset
);
BOOL
APIENTRY
DdReenableDirectDrawObject(
BOOL
APIENTRY
DdReenableDirectDrawObject(
LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal,
BOOL *pbNewMode
);
//BOOL
//APIENTRY
//DdAttachSurface(
//BOOL
//APIENTRY
//DdAttachSurface(
// LPDDRAWI_DDRAWSURFACE_LCL pSurfaceFrom,
// LPDDRAWI_DDRAWSURFACE_LCL pSurfaceTo
//);
BOOL (APIENTRY *DdAttachSurface) (
BOOL (APIENTRY *DdAttachSurface) (
LPDDRAWI_DDRAWSURFACE_LCL pSurfaceFrom,
LPDDRAWI_DDRAWSURFACE_LCL pSurfaceTo
);
VOID
APIENTRY
DdUnattachSurface(
VOID
APIENTRY
DdUnattachSurface(
LPDDRAWI_DDRAWSURFACE_LCL pSurface,
LPDDRAWI_DDRAWSURFACE_LCL pSurfaceAttached
);
ULONG
APIENTRY
ULONG
APIENTRY
DdQueryDisplaySettingsUniqueness(VOID);
HANDLE
APIENTRY
DdGetDxHandle(
HANDLE
APIENTRY
DdGetDxHandle(
LPDDRAWI_DIRECTDRAW_LCL pDDraw,
LPDDRAWI_DDRAWSURFACE_LCL pSurface,
BOOL bRelease
);
BOOL
APIENTRY
DdSetGammaRamp(
BOOL
APIENTRY
DdSetGammaRamp(
LPDDRAWI_DIRECTDRAW_LCL pDDraw,
HDC hdc,
LPVOID lpGammaRamp
);
DWORD
APIENTRY
DdSwapTextureHandles(
DWORD
APIENTRY
DdSwapTextureHandles(
LPDDRAWI_DIRECTDRAW_LCL pDDraw,
LPDDRAWI_DDRAWSURFACE_LCL pDDSLcl1,
LPDDRAWI_DDRAWSURFACE_LCL pDDSLcl2
);
char* DDErrorString (HRESULT hr)
{
{
switch (hr)
{
case DD_OK: return "DD_OK";
@ -261,7 +261,7 @@ char* DDErrorString (HRESULT hr)
case DDERR_NOTPAGELOCKED: return "DDERR_NOTPAGELOCKED";
case DDERR_NOTINITIALIZED: return "DDERR_NOTINITIALIZED";
}
return "Unknown Error ";
}

View file

@ -5,7 +5,7 @@
* PROJECT: ReactOS diskspeed.exe
* FILE: apps/tests/diskspeed/diskspeed.c
* PURPOSE: Determines disk transfer rates
* PROGRAMMER:
* PROGRAMMER:
*/
#include <stdio.h>

View file

@ -6,7 +6,7 @@
// Created by Damon Chandler <dmc27@ee.cornell.edu>
// Updates can be downloaded at: <www.coriolis.com>
//
// Please do not hesistate to e-mail me at dmc27@ee.cornell.edu
// Please do not hesistate to e-mail me at dmc27@ee.cornell.edu
// if you have any questions about this code.
// ------------------------------------------------------------------
@ -29,18 +29,18 @@ const int ID_LISTBOX = 101;
HINSTANCE hInst;
const char* WndClassName = "GMainWnd";
LRESULT CALLBACK MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
LRESULT CALLBACK MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
LPARAM lParam);
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE, LPTSTR,
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE, LPTSTR,
int nCmdShow)
{
hInst = hInstance;
WNDCLASS wc;
memset(&wc, 0, sizeof(WNDCLASS));
wc.style = CS_VREDRAW | CS_HREDRAW;
wc.lpszClassName = WndClassName;
wc.lpfnWndProc = MainWndProc;
@ -52,17 +52,17 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE, LPTSTR,
if (RegisterClass(&wc))
{
HWND hWnd =
HWND hWnd =
CreateWindow(
WndClassName, TEXT("Font Enumeration Demo"),
WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION |
WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION |
WS_VISIBLE | WS_CLIPCHILDREN,
CW_USEDEFAULT, CW_USEDEFAULT, 295, 285,
NULL, NULL, hInst, NULL
);
if (hWnd)
{
{
ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);
@ -71,10 +71,10 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE, LPTSTR,
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
}
}
return 0;
return 0;
}
//-------------------------------------------------------------------------
@ -87,78 +87,78 @@ int CALLBACK MyEnumFontFamExProc(ENUMLOGFONTEX *lpelfe,
// if the typeface name is not already in the list
LPARAM name = reinterpret_cast<LPARAM>(lpelfe->elfFullName);
if (SNDMSG(hListBox, LB_FINDSTRINGEXACT, (ULONG)-1, name) == LB_ERR)
{
// add each font to the list box
{
// add each font to the list box
int index = SNDMSG(hListBox, LB_ADDSTRING, 0, name);
// fix the size of the font
lpelfe->elfLogFont.lfHeight = -20;
lpelfe->elfLogFont.lfWidth = 0;
// create a new font and store its handle
// as the data of the newly added item
HFONT hFont = CreateFontIndirect(&lpelfe->elfLogFont);
SNDMSG(hListBox, LB_SETITEMDATA, index,
SNDMSG(hListBox, LB_SETITEMDATA, index,
reinterpret_cast<LPARAM>(hFont));
}
}
return TRUE;
return TRUE;
}
//-------------------------------------------------------------------------
void AddScreenFonts()
{
// grab a handle to the screen's DC
HDC hScreenDC = GetDC(NULL);
try
{
//
// grab a handle to the screen's DC
HDC hScreenDC = GetDC(NULL);
try
{
//
// NOTE: Windows 95, 98 and Me requires that the lpLogfont
// (second) parameter of the EnumFontFamiliesEx function is
// (second) parameter of the EnumFontFamiliesEx function is
// non-NULL. This parameter can be NULL on Windows NT/2000.
//
//
LOGFONT lf = {0};
lf.lfCharSet = DEFAULT_CHARSET;
// enumerate the current screen fonts
// enumerate the current screen fonts
EnumFontFamiliesEx(
hScreenDC, &lf,
hScreenDC, &lf,
(FONTENUMPROC)MyEnumFontFamExProc,
0, 0
);
}
catch (...)
{
// release the screen's DC
ReleaseDC(NULL, hScreenDC);
}
// release the screen's DC
);
}
catch (...)
{
// release the screen's DC
ReleaseDC(NULL, hScreenDC);
}
// release the screen's DC
ReleaseDC(NULL, hScreenDC);
}
//-------------------------------------------------------------------------
LRESULT CALLBACK MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
LRESULT CALLBACK MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
LPARAM lParam)
{
switch (msg)
{
case WM_CREATE:
{
hListBox =
{
hListBox =
CreateWindowEx(
WS_EX_CLIENTEDGE, TEXT("LISTBOX"), TEXT(""),
WS_CHILD | WS_VISIBLE | LBS_STANDARD |
LBS_HASSTRINGS | LBS_OWNERDRAWFIXED,
20, 10, 250, 250,
WS_CHILD | WS_VISIBLE | LBS_STANDARD |
LBS_HASSTRINGS | LBS_OWNERDRAWFIXED,
20, 10, 250, 250,
hWnd, reinterpret_cast<HMENU>(ID_LISTBOX),
hInst, NULL
);
);
if (hListBox)
{
AddScreenFonts();
}
}
}
case WM_MEASUREITEM:
{
@ -193,14 +193,14 @@ LRESULT CALLBACK MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
// if the item is currently selected
if (lpdis->itemState & ODS_SELECTED)
{
// set the text color to white and
// set the text color to white and
// the background color to black
COLORREF clrWhite = PALETTERGB(255, 255, 255);
OldColor = SetTextColor(lpdis->hDC, clrWhite);
stock = BLACK_BRUSH;
}
FillRect(
lpdis->hDC, &lpdis->rcItem,
lpdis->hDC, &lpdis->rcItem,
static_cast<HBRUSH>(GetStockObject(stock))
);
@ -209,7 +209,7 @@ LRESULT CALLBACK MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
// extract the item's text
char text[MAX_PATH];
SNDMSG(hListBox, LB_GETTEXT, lpdis->itemID,
reinterpret_cast<LPARAM>(text));
reinterpret_cast<LPARAM>(text));
// extract the corresponding font handle
DWORD value =
@ -228,11 +228,11 @@ LRESULT CALLBACK MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
// render the text
RECT RText = lpdis->rcItem;
InflateRect(&RText, -2, -2);
DrawText(lpdis->hDC, text, strlen(text), &RText,
DrawText(lpdis->hDC, text, strlen(text), &RText,
DT_LEFT | DT_VCENTER | DT_SINGLELINE);
// restore the previous font
SelectObject(lpdis->hDC, HOldFont);
SelectObject(lpdis->hDC, HOldFont);
}
// render the focus rectangle
@ -251,13 +251,13 @@ LRESULT CALLBACK MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
}
case WM_DESTROY:
{
// delete each created font object
// delete each created font object
int count = SNDMSG(hListBox, LB_GETCOUNT, 0, 0);
for (int index = 0; index < count; ++index)
{
DWORD value = SNDMSG(hListBox, LB_GETITEMDATA, index, 0);
DeleteObject(reinterpret_cast<HFONT>(value));
}
}
PostQuitMessage(0);
break;

View file

@ -30,7 +30,7 @@ PVOID GlobalBufferPool, GlobalPacketPool;
char hwaddr[6] = { 0x08, 0x00, 0x20, 0x0b, 0xb7, 0xbb };
char hdr[14] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
char hdr[14] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x08, 0x00 };
@ -70,7 +70,7 @@ void receive_complete( void *context, NTSTATUS status, unsigned long count ) {
class SocketObject {
public:
virtual ~SocketObject() { }
virtual int send( char *buf, int len, int *bytes,
virtual int send( char *buf, int len, int *bytes,
struct sockaddr_in *si ) = 0;
virtual int recv( char *buf, int len, int *bytes,
struct sockaddr_in *si ) = 0;
@ -88,7 +88,7 @@ UINT TdiAddressSizeFromType( UINT AddressType ) {
NTSTATUS TdiBuildNullConnectionInfoInPlace
( PTDI_CONNECTION_INFORMATION ConnInfo,
ULONG Type )
ULONG Type )
/*
* FUNCTION: Builds a NULL TDI connection information structure
* ARGUMENTS:
@ -99,7 +99,7 @@ NTSTATUS TdiBuildNullConnectionInfoInPlace
*/
{
ULONG TdiAddressSize;
TdiAddressSize = TdiAddressSizeFromType(Type);
RtlZeroMemory(ConnInfo,
@ -119,7 +119,7 @@ NTSTATUS TdiBuildNullConnectionInfo
/*
* FUNCTION: Builds a NULL TDI connection information structure
* ARGUMENTS:
* ConnectionInfo = Address of buffer pointer to allocate connection
* ConnectionInfo = Address of buffer pointer to allocate connection
* information in
* Type = TDI style address type (TDI_ADDRESS_TYPE_XXX).
* RETURNS:
@ -129,7 +129,7 @@ NTSTATUS TdiBuildNullConnectionInfo
PTDI_CONNECTION_INFORMATION ConnInfo;
ULONG TdiAddressSize;
NTSTATUS Status;
TdiAddressSize = TdiAddressSizeFromType(Type);
ConnInfo = (PTDI_CONNECTION_INFORMATION)
@ -141,7 +141,7 @@ NTSTATUS TdiBuildNullConnectionInfo
Status = TdiBuildNullConnectionInfoInPlace( ConnInfo, Type );
if (!NT_SUCCESS(Status))
if (!NT_SUCCESS(Status))
ExFreePool( ConnInfo );
else
*ConnectionInfo = ConnInfo;
@ -164,11 +164,11 @@ TdiBuildConnectionInfoInPlace
( PTDI_CONNECTION_INFORMATION ConnectionInfo,
PTA_ADDRESS Address ) {
NTSTATUS Status = STATUS_SUCCESS;
RtlCopyMemory( ConnectionInfo->RemoteAddress,
Address,
Address,
ConnectionInfo->RemoteAddressLength );
return Status;
}
@ -178,10 +178,10 @@ TdiBuildConnectionInfo
PTA_ADDRESS Address ) {
NTSTATUS Status = TdiBuildNullConnectionInfo( ConnectionInfo,
Address->AddressType );
if( NT_SUCCESS(Status) )
TdiBuildConnectionInfoInPlace( *ConnectionInfo, Address );
return Status;
}
@ -200,10 +200,10 @@ public:
TdiBuildConnectionInfo( &ConnInfo, (PTA_ADDRESS)&ConnectTo );
Connection = TCPAllocateConnectionEndpoint( NULL );
*status = TCPSocket( Connection,
*status = TCPSocket( Connection,
AF_INET,
SOCK_STREAM, IPPROTO_TCP );
if( !*status )
if( !*status )
*status = TCPConnect( Connection,
ConnInfo,
NULL,
@ -220,7 +220,7 @@ public:
NTSTATUS Status = STATUS_UNSUCCESSFUL;
if( Connection )
Status = TCPSendData( Connection,
Status = TCPSendData( Connection,
buf,
len,
(PULONG)bytes,
@ -232,7 +232,7 @@ public:
NTSTATUS Status = STATUS_UNSUCCESSFUL;
if( Connection )
Status = TCPSendData( Connection,
Status = TCPSendData( Connection,
buf,
len,
(PULONG)bytes,
@ -244,9 +244,9 @@ private:
PCONNECTION_ENDPOINT Connection;
};
VOID SendPacket( PVOID Context,
PNDIS_PACKET NdisPacket,
UINT Offset,
VOID SendPacket( PVOID Context,
PNDIS_PACKET NdisPacket,
UINT Offset,
PVOID LinkAddress,
USHORT Type ) {
PCHAR DataOut;
@ -254,9 +254,9 @@ VOID SendPacket( PVOID Context,
UINT Size;
std::string output_packet;
printf( "Sending packet: %02x:%02x:%02x:%02x:%02x:%02x\n",
printf( "Sending packet: %02x:%02x:%02x:%02x:%02x:%02x\n",
Addr[0], Addr[1], Addr[2], Addr[3], Addr[4], Addr[5] );
GetDataPtr( NdisPacket, Offset, &DataOut, &Size );
for( int off = 0; off < Size; off += 16 ) {
display_row( DataOut, off, Size );
@ -298,7 +298,7 @@ int main( int argc, char **argv ) {
SocketObject *S = NULL;
RtlInitUnicodeString
( &RegistryUnicodePath,
( &RegistryUnicodePath,
L"\\SYSTEM\\CurrentControlSet\\Services"
L"\\Tcpip" );
@ -316,7 +316,7 @@ int main( int argc, char **argv ) {
BindInfo.Address = (PUCHAR)hwaddr;
BindInfo.AddressLength = sizeof(hwaddr);
BindInfo.Transmit = SendPacket;
IPCreateInterface( &BindInfo );
asock = socket( AF_INET, SOCK_DGRAM, 0 );
@ -327,32 +327,32 @@ int main( int argc, char **argv ) {
printf( "Bind error\n" );
return 0;
}
while( true ) {
FD_ZERO( &readf );
FD_SET( asock, &readf );
tv.tv_sec = 0;
tv.tv_sec = 0;
tv.tv_usec = 10000;
selret = select( asock + 1, &readf, NULL, NULL, &tv );
if( FD_ISSET( asock, &readf ) ) {
fromsize = sizeof( addr_from );
dgrecv = recvfrom( asock, datagram, sizeof(datagram), 0,
(struct sockaddr *)&addr_from, &fromsize );
if( datagram[0] == 'C' && datagram[1] == 'M' &&
datagram[2] == 'D' && datagram[3] == ' ' ) {
int theport, bytes, recvret, off, bytin;
struct sockaddr_in nam;
std::string faddr, word;
std::istringstream
std::istringstream
cmdin( std::string( datagram + 4, dgrecv - 4 ) );
cmdin >> word;
/* UDP Section */
if( word == "udpsocket" ) {
/* TCP Section */
/* TCP Section */
} else if( word == "tcpsocket" ) {
cmdin >> host >> port;
S = new TCPSocketObject( host, port, &Status );
@ -385,23 +385,23 @@ int main( int argc, char **argv ) {
*dst++ = c;
}
*dst = '\0';
if( S )
if( S )
err = S->send( p, strlen(p), &bytes, NULL );
if( err > 0 ) { bytin = err; err = 0; }
if( err )
fprintf ( stderr, "OskitTCPConnect: error %d\n",
if( err )
fprintf ( stderr, "OskitTCPConnect: error %d\n",
err );
else {
printf ( "wrote %d bytes\n", bytin );
}
}
} else if( word == "send" ) {
off = 0;
while( cmdin >> word ) {
datagram[off++] =
datagram[off++] =
atoi( (std::string("0x") + word).c_str() );
}
if( (err = S->send( datagram, off, &bytin, NULL )) != 0 ) {
fprintf( stderr, "OskitTCPConnect: error %d\n", err );
} else {
@ -409,21 +409,21 @@ int main( int argc, char **argv ) {
}
} else if( word == "recv" ) {
cmdin >> bytes;
if( (err = S->recv( datagram,
if( (err = S->recv( datagram,
sizeof(datagram),
&bytes,
&bytes,
NULL )) != 0 ) {
fprintf( stderr, "OskitTCPRecv: error %d\n", err );
}
/* Misc section */
} else if( word == "end" ) {
return 0;
}
} else if( dgrecv > 14 ) {
addr_to = addr_from;
if( datagram[12] == 8 && datagram[13] == 6 ) {
/* Answer arp query */
char laddr[4];
@ -439,11 +439,11 @@ int main( int argc, char **argv ) {
memcpy( datagram + 38, laddr, 4 );
/* Set reply opcode */
datagram[21] = 2;
err = sendto( asock, datagram, dgrecv, 0,
(struct sockaddr *)&addr_to,
(struct sockaddr *)&addr_to,
sizeof(addr_to) );
if( err != 0 )
printf( "sendto: %d\n", err );
} else {
@ -457,20 +457,20 @@ int main( int argc, char **argv ) {
}
}
}
IPTimeout(NULL, NULL, NULL, NULL);
for( i = output_packets.begin(); i != output_packets.end(); i++ ) {
err = sendto( asock, i->c_str(), i->size(), 0,
err = sendto( asock, i->c_str(), i->size(), 0,
(struct sockaddr *)&addr_to, sizeof(addr_to) );
fprintf( stderr, "** SENDING PACKET %d bytes **\n", i->size() );
if( err != 0 )
printf( "sendto: %d\n", err );
}
output_packets.clear();
}
}

View file

@ -93,10 +93,10 @@ int main( int argc, char **argv ) {
NULL,
0,
0 );
RtlInitUnicodeString( &LanDevice, L"\\Device\\Lan" );
InitializeObjectAttributes( &Attributes,
InitializeObjectAttributes( &Attributes,
&LanDevice,
OBJ_CASE_INSENSITIVE,
NULL,
@ -106,9 +106,9 @@ int main( int argc, char **argv ) {
LAN_FILL_EA_INFO(EaBuffer,sizeof(TypesToListen)/sizeof(USHORT),
TypesToListen);
Status = ZwCreateFile( &LanFile,
SYNCHRONIZE | GENERIC_READ | GENERIC_WRITE |
GENERIC_EXECUTE,
Status = ZwCreateFile( &LanFile,
SYNCHRONIZE | GENERIC_READ | GENERIC_WRITE |
GENERIC_EXECUTE,
&Attributes,
&Iosb,
NULL,
@ -123,7 +123,7 @@ int main( int argc, char **argv ) {
cerr << "Could not open lan device " << Status << "\n";
return 1;
}
Status = DeviceIoControl( LanFile,
IOCTL_IF_BUFFERED_MODE,
&On,
@ -132,7 +132,7 @@ int main( int argc, char **argv ) {
0,
&PktLen,
NULL );
if( !Status ) {
cerr << "Could not turn on buffered mode " << Status << "\n";
return 1;
@ -153,7 +153,7 @@ int main( int argc, char **argv ) {
NULL );
cout << "EnumAdapters: " << Status << "\n";
if( Status )
if( Status )
display_buffer( Packet, PktLen );
} else if( word == "query" ) {
cin >> PktLen;
@ -166,18 +166,18 @@ int main( int argc, char **argv ) {
sizeof(Packet),
&PktLen,
NULL );
cout << "QueryAdapterInfo: " << Status << "\n";
if( Status )
display_buffer( Packet, PktLen );
} else if( word == "send" ) {
cin >> Hdr->Fixed.Adapter
>> Hdr->Fixed.AddressType
>> Hdr->Fixed.AddressLen
cin >> Hdr->Fixed.Adapter
>> Hdr->Fixed.AddressType
>> Hdr->Fixed.AddressLen
>> Hdr->Fixed.PacketType;
Hdr->Fixed.Mdl = NULL;
PktLen = byte_till_end( Packet, Hdr->Address - (PCHAR)Hdr );
Status = NtWriteFile( LanFile,
Status = NtWriteFile( LanFile,
NULL,
NULL,
NULL,
@ -203,7 +203,7 @@ int main( int argc, char **argv ) {
if( Status == STATUS_PENDING ) {
LARGE_INTEGER Timeout = { 0 };
Status = NtWaitForSingleObject( Event, 1, &Timeout );
}
}
ReadLen = Iosb.Information;

View file

@ -100,7 +100,7 @@ int main( int argc, char **argv ) {
CloseHandle(pi.hProcess);
return 6;
}
if (pi.hProcess != INVALID_HANDLE_VALUE)
CloseHandle(pi.hProcess);

View file

@ -2,7 +2,7 @@
#include <reactos/resource.h>
#include "resource.h"
IDR_MAINMENU MENU DISCARDABLE
IDR_MAINMENU MENU DISCARDABLE
BEGIN
POPUP "&File"
BEGIN

View file

@ -2,7 +2,7 @@
//#include <reactos/resource.h>
#include "resource.h"
IDR_MAINMENU MENU DISCARDABLE
IDR_MAINMENU MENU DISCARDABLE
BEGIN
POPUP "&File"
BEGIN

View file

@ -41,7 +41,7 @@ extern "C" int is_stack_ptr ( const void* p )
}
int TCPSocketState(void *ClientData,
void *WhichSocket,
void *WhichSocket,
void *WhichConnection,
OSK_UINT NewState ) {
PCONNECTION_ENDPOINT Connection = (PCONNECTION_ENDPOINT)WhichConnection;
@ -54,22 +54,22 @@ int TCPSocketState(void *ClientData,
return 0;
}
if( (NewState & SEL_CONNECT) &&
if( (NewState & SEL_CONNECT) &&
!(Connection->State & SEL_CONNECT) ) {
} else if( (NewState & SEL_READ) || (NewState & SEL_FIN) ) {
}
}
return 0;
}
#define STRINGIFY(x) #x
char hdr[14] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
char hdr[14] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x08, 0x00 };
int TCPPacketSend(void *ClientData, OSK_PCHAR data, OSK_UINT len ) {
output_packets.push_back( std::string( hdr, 14 ) +
output_packets.push_back( std::string( hdr, 14 ) +
std::string( (char *)data, (int)len ) );
return 0;
}
@ -79,14 +79,14 @@ struct ifaddr *TCPFindInterface( void *ClientData,
OSK_UINT FindType,
struct sockaddr *ReqAddr ) {
static struct sockaddr_in ifa = { AF_INET }, nm = { AF_INET };
static struct ifaddr a = {
(struct sockaddr *)&ifa,
NULL,
(struct sockaddr *)&nm,
0,
0,
1,
1500
static struct ifaddr a = {
(struct sockaddr *)&ifa,
NULL,
(struct sockaddr *)&nm,
0,
0,
1,
1500
};
ifa.sin_addr.s_addr = inet_addr( "10.10.2.115" );
nm.sin_addr.s_addr = inet_addr( "255.255.255.0" );
@ -110,7 +110,7 @@ int TCPSleep( void *ClientData, void *token, int priority, char *msg,
int tmio ) {
#if 0
PSLEEPING_THREAD SleepingThread;
TI_DbgPrint(MID_TRACE,
("Called TSLEEP: tok = %x, pri = %d, wmesg = %s, tmio = %x\n",
token, priority, msg, tmio));
@ -222,7 +222,7 @@ int main( int argc, char **argv ) {
while( true ) {
FD_ZERO( &readf );
FD_SET( asock, &readf );
tv.tv_sec = 0;
tv.tv_sec = 0;
tv.tv_usec = 10000;
selret = select( asock + 1, &readf, NULL, NULL, &tv );
@ -236,11 +236,11 @@ int main( int argc, char **argv ) {
int theport, bytes, /*recvret,*/ off, bytin;
struct sockaddr_in nam;
std::string faddr, word;
std::istringstream
std::istringstream
cmdin( std::string( datagram + 4, dgrecv - 4 ) );
cmdin >> word;
if( word == "socket" ) {
cmdin >> faddr >> theport;
@ -248,18 +248,18 @@ int main( int argc, char **argv ) {
nam.sin_addr.s_addr = inet_addr(faddr.c_str());
nam.sin_port = htons(theport);
if( (err = OskitTCPSocket( NULL, &conn, AF_INET,
if( (err = OskitTCPSocket( NULL, &conn, AF_INET,
SOCK_STREAM, 0 )) != 0 ) {
fprintf( stderr, "OskitTCPSocket: error %d\n", err );
}
if( (err = OskitTCPConnect( conn, NULL, &nam,
if( (err = OskitTCPConnect( conn, NULL, &nam,
sizeof(nam) )) != 0 ) {
fprintf( stderr, "OskitTCPConnect: error %d\n", err );
} else {
printf( "Socket created\n" );
}
}
}
/* The rest of the commands apply only to an open socket */
if( !conn ) continue;
@ -267,7 +267,7 @@ int main( int argc, char **argv ) {
if( word == "recv" ) {
cmdin >> bytes;
if( (err = OskitTCPRecv( conn, (OSK_PCHAR)datagram,
if( (err = OskitTCPRecv( conn, (OSK_PCHAR)datagram,
sizeof(datagram),
(unsigned int *)&bytin, 0 )) != 0 ) {
fprintf( stderr, "OskitTCPRecv: error %d\n", err );
@ -311,12 +311,12 @@ int main( int argc, char **argv ) {
} else if( word == "send" ) {
off = 0;
while( cmdin >> word ) {
datagram[off++] =
datagram[off++] =
atoi( (std::string("0x") + word).c_str() );
}
if( (err = OskitTCPSend( conn, (OSK_PCHAR)datagram,
off, (OSK_UINT *)&bytin, 0 ))
if( (err = OskitTCPSend( conn, (OSK_PCHAR)datagram,
off, (OSK_UINT *)&bytin, 0 ))
!= 0 ) {
fprintf( stderr, "OskitTCPConnect: error %d\n", err );
} else {
@ -346,9 +346,9 @@ int main( int argc, char **argv ) {
datagram[21] = 2;
err = sendto( asock, datagram, dgrecv, 0,
(struct sockaddr *)&addr_to,
(struct sockaddr *)&addr_to,
sizeof(addr_to) );
if( err != 0 )
printf( "sendto: %d\n", err );
} else {
@ -356,7 +356,7 @@ int main( int argc, char **argv ) {
memcpy( hdr + 6, datagram, 6 );
memcpy( hdr + 12, datagram + 12, 2 );
OskitTCPReceiveDatagram
( (unsigned char *)datagram + 14,
( (unsigned char *)datagram + 14,
dgrecv - 14, 20 );
}
}
@ -365,7 +365,7 @@ int main( int argc, char **argv ) {
TimerOskitTCP();
for( i = output_packets.begin(); i != output_packets.end(); i++ ) {
err = sendto( asock, i->c_str(), i->size(), 0,
err = sendto( asock, i->c_str(), i->size(), 0,
(struct sockaddr *)&addr_to, sizeof(addr_to) );
fprintf( stderr, "** SENDING PACKET %d bytes **\n", i->size() );
@ -377,4 +377,4 @@ int main( int argc, char **argv ) {
output_packets.clear();
}
}

View file

@ -6,7 +6,7 @@
// Created by Damon Chandler <dmc27@ee.cornell.edu>
// Updates can be downloaded at: <www.coriolis.com>
//
// Please do not hesistate to e-mail me at dmc27@ee.cornell.edu
// Please do not hesistate to e-mail me at dmc27@ee.cornell.edu
// if you have any questions about this code.
// ------------------------------------------------------------------
@ -18,18 +18,18 @@
HINSTANCE HInst;
const char* WndClassName = "GMainWnd";
LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
LPARAM LParam);
int APIENTRY WinMain(HINSTANCE HInstance, HINSTANCE, LPTSTR,
int APIENTRY WinMain(HINSTANCE HInstance, HINSTANCE, LPTSTR,
int nCmdShow)
{
HInst = HInstance;
WNDCLASS wc;
memset(&wc, 0, sizeof(WNDCLASS));
wc.style = CS_VREDRAW | CS_HREDRAW;
wc.lpszClassName = WndClassName;
wc.lpfnWndProc = MainWndProc;
@ -41,14 +41,14 @@ int APIENTRY WinMain(HINSTANCE HInstance, HINSTANCE, LPTSTR,
if (RegisterClass(&wc))
{
HWND HWnd =
CreateWindow(WndClassName,
HWND HWnd =
CreateWindow(WndClassName,
TEXT("PatBlt Tracking Rect Demo"),
WS_OVERLAPPEDWINDOW | WS_CAPTION |
WS_OVERLAPPEDWINDOW | WS_CAPTION |
WS_VISIBLE | WS_CLIPCHILDREN,
CW_USEDEFAULT, CW_USEDEFAULT, 640, 480,
NULL, NULL, HInst, NULL);
if (HWnd)
{
ShowWindow(HWnd, nCmdShow);
@ -59,7 +59,7 @@ int APIENTRY WinMain(HINSTANCE HInstance, HINSTANCE, LPTSTR,
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
}
}
return 0;
@ -101,31 +101,31 @@ void RenderTrackingRect(IN HDC HDestDC, IN const RECT& RRender)
const DWORD dwROP3 = DSTINVERT; // experiment with others
// render top bar
PatBlt(HDestDC,
RRender.left, RRender.top,
width, line_width,
PatBlt(HDestDC,
RRender.left, RRender.top,
width, line_width,
dwROP3);
// render bottom bar
PatBlt(HDestDC,
RRender.left, RRender.bottom - line_width,
width, line_width,
PatBlt(HDestDC,
RRender.left, RRender.bottom - line_width,
width, line_width,
dwROP3);
// render left bar
PatBlt(HDestDC,
RRender.left, RRender.top + line_width,
line_width, height - (2 * line_width),
PatBlt(HDestDC,
RRender.left, RRender.top + line_width,
line_width, height - (2 * line_width),
dwROP3);
// render right bar
PatBlt(HDestDC,
RRender.right - line_width, RRender.top + line_width,
line_width, height - (2 * line_width),
PatBlt(HDestDC,
RRender.right - line_width, RRender.top + line_width,
line_width, height - (2 * line_width),
dwROP3);
}
//------------------------------------------------------------------
LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
LPARAM LParam)
{
switch (Msg)
@ -138,15 +138,15 @@ LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
{
// load the penguin bitmap
HBITMAP HBmp = static_cast<HBITMAP>(
LoadImage(HInst, filename, IMAGE_BITMAP, 0, 0,
LoadImage(HInst, filename, IMAGE_BITMAP, 0, 0,
LR_LOADFROMFILE | LR_DEFAULTSIZE)
);
);
if (HBmp)
{
// get the bitmap's dimensions
BITMAP bmp;
if (GetObject(HBmp, sizeof(BITMAP), &bmp))
{
{
RImage.right += bmp.bmWidth;
RImage.bottom += bmp.bmHeight;
@ -166,9 +166,9 @@ LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
PMouse.y = HIWORD(LParam);
RECT RClient;
if (PtInRect(&RImage, PMouse) &&
if (PtInRect(&RImage, PMouse) &&
GetClientRect(HWnd, &RClient))
{
{
MapRect(HWnd, HWND_DESKTOP, RClient);
ClipCursor(&RClient);
@ -178,23 +178,23 @@ LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
HRGN HClipRgn = CreateRectRgnIndirect(&RClient);
SelectClipRgn(HScreenDC, HClipRgn);
DeleteObject(HClipRgn);
CopyRect(&RTrack, &RImage);
MapRect(HWnd, HWND_DESKTOP, RTrack);
MapRect(HWnd, HWND_DESKTOP, RTrack);
// render the first tracking rect
RenderTrackingRect(HScreenDC, RTrack);
is_tracking = true;
}
}
break;
}
case WM_MOUSEMOVE:
{
if (HScreenDC && is_tracking)
{
POINT PCurrent = {LOWORD(LParam), HIWORD(LParam)};
{
POINT PCurrent = {LOWORD(LParam), HIWORD(LParam)};
const int dX = PCurrent.x - PMouse.x;
const int dY = PCurrent.y - PMouse.y;
const int dY = PCurrent.y - PMouse.y;
// erase the previous rectangle
RenderTrackingRect(HScreenDC, RTrack);
@ -227,12 +227,12 @@ LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
break;
}
case WM_PAINT:
{
{
PAINTSTRUCT ps;
HDC Hdc = BeginPaint(HWnd, &ps);
try
{
//
//
// TODO: Add palette support...
//
@ -240,7 +240,7 @@ LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
BitBlt(Hdc, RImage.left, RImage.top,
RImage.right - RImage.left,
RImage.bottom - RImage.top,
HMemDC, 0, 0,
HMemDC, 0, 0,
SRCCOPY);
}
catch (...)
@ -249,11 +249,11 @@ LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
}
EndPaint(HWnd, &ps);
break;
}
}
case WM_DESTROY:
{
// clean up
if (HOldBmp)
if (HOldBmp)
{
DeleteObject(SelectObject(HMemDC, HOldBmp));
}

View file

@ -315,10 +315,10 @@ POLYGONFILL_MakeEdge(POINT From, POINT To)
** lines will become active first when scanning from
** top (min y) to bottom (max y).
**
** Return Value Meaning
** Negative integer element1 < element2
** Zero element1 = element2
** Positive integer element1 > element2
** Return Value Meaning
** Negative integer element1 < element2
** Zero element1 = element2
** Positive integer element1 > element2
*/
static
INT
@ -427,7 +427,7 @@ fail:
/*
** This slow routine uses the data stored in the edge list to
** This slow routine uses the data stored in the edge list to
** calculate the x intercepts for each line in the edge list
** for scanline Scanline.
**TODO: Get rid of this floating point arithmetic
@ -664,14 +664,14 @@ POLYGONFILL_FillScanLineWinding(
RopMode); // MIX
}
//When the fill mode is ALTERNATE, GDI fills the area between odd-numbered and
//even-numbered polygon sides on each scan line. That is, GDI fills the area between the
//first and second side, between the third and fourth side, and so on.
//When the fill mode is ALTERNATE, GDI fills the area between odd-numbered and
//even-numbered polygon sides on each scan line. That is, GDI fills the area between the
//first and second side, between the third and fourth side, and so on.
//WINDING Selects winding mode (fills any region with a nonzero winding value).
//WINDING Selects winding mode (fills any region with a nonzero winding value).
//When the fill mode is WINDING, GDI fills any region that has a nonzero winding value.
//This value is defined as the number of times a pen used to draw the polygon would go around the region.
//The direction of each edge of the polygon is important.
//The direction of each edge of the polygon is important.
BOOL
STDCALL
@ -711,7 +711,7 @@ FillPolygon(
else /* default */
FillScanLine = POLYGONFILL_FillScanLineAlternate;
/* For each Scanline from BoundRect.bottom to BoundRect.top,
/* For each Scanline from BoundRect.bottom to BoundRect.top,
* determine line segments to draw
*/
for ( ScanLine = BoundRect.top; ScanLine < BoundRect.bottom; ++ScanLine )
@ -780,7 +780,7 @@ Polygon ( CONST PPOINT UnsafePoints, int Count, int polyFillMode )
DestRect.top = MIN(DestRect.top, Points[CurrentPoint].y);
DestRect.bottom = MAX(DestRect.bottom, Points[CurrentPoint].y);
}
// Draw the Polygon Edges with the current pen
for (CurrentPoint = 0; CurrentPoint < Count; ++CurrentPoint)
{
@ -804,9 +804,9 @@ Polygon ( CONST PPOINT UnsafePoints, int Count, int polyFillMode )
IntEngLineTo(SurfObj,
dc.CombinedClip,
OutBrushObj,
From.x,
From.y,
To.x,
From.x,
From.y,
To.x,
To.y,
&DestRect,
EDGE_CHAR); /* MIX */

View file

@ -21,7 +21,7 @@ IDM_MAINMENU MENU LOADONCALL MOVEABLE DISCARDABLE
MENUITEM "&9", 19
}
MENUITEM SEPARATOR
MENUITEM "&Save\tCtrl+S", 3
MENUITEM "&Save\tCtrl+S", 3
MENUITEM "Save &as...", 4
MENUITEM SEPARATOR
MENUITEM "E&xit\tAlt-F4", IDM_EXIT

View file

@ -1,4 +1,4 @@
// ------------------------------------------------------------------
// Windows 2000 Graphics API Black Book
// Chapter 4 - Utility functions
@ -6,7 +6,7 @@
// Created by Damon Chandler <dmc27@ee.cornell.edu>
// Updates can be downloaded at: <www.coriolis.com>
//
// Please do not hesistate to e-mail me at dmc27@ee.cornell.edu
// Please do not hesistate to e-mail me at dmc27@ee.cornell.edu
// if you have any questions about this code.
// ------------------------------------------------------------------
@ -23,7 +23,7 @@ namespace font {
HFONT MakeFont(
IN HDC hDestDC, // handle to target DC
IN LPCSTR typeface_name, // font's typeface name
IN int point_size, // font's point size
IN int point_size, // font's point size
IN const BYTE charset, // font's character set
IN const DWORD style // font's styles
)
@ -38,12 +38,12 @@ HFONT MakeFont(
int pixels_per_inch = GetDeviceCaps(hDestDC, LOGPIXELSY);
POINT PSize = {
0,
-MulDiv(static_cast<int>(xf.eM22 * point_size + 0.5),
0,
-MulDiv(static_cast<int>(xf.eM22 * point_size + 0.5),
pixels_per_inch, 72)
};
HFONT hResult = NULL;
HFONT hResult = NULL;
if (DPtoLP(hDestDC, &PSize, 1))
{
LOGFONT lf;

View file

@ -6,7 +6,7 @@
// Created by Damon Chandler <dmc27@ee.cornell.edu>
// Updates can be downloaded at: <www.coriolis.com>
//
// Please do not hesistate to e-mail me at dmc27@ee.cornell.edu
// Please do not hesistate to e-mail me at dmc27@ee.cornell.edu
// if you have any questions about this code.
// ------------------------------------------------------------------
@ -22,18 +22,18 @@
HINSTANCE hInst;
const char* WndClassName = "GMainWnd";
LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
LPARAM LParam);
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE, LPTSTR,
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE, LPTSTR,
int nCmdShow)
{
hInst = hInstance;
WNDCLASS wc;
memset(&wc, 0, sizeof(WNDCLASS));
wc.style = CS_VREDRAW | CS_HREDRAW;
wc.lpszClassName = WndClassName;
wc.lpfnWndProc = MainWndProc;
@ -45,15 +45,15 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE, LPTSTR,
if (RegisterClass(&wc))
{
HWND hWnd =
HWND hWnd =
CreateWindow(
WndClassName, TEXT("Output Primitives Demo"),
WS_OVERLAPPEDWINDOW | WS_CAPTION |
WS_OVERLAPPEDWINDOW | WS_CAPTION |
WS_VISIBLE | WS_CLIPCHILDREN,
CW_USEDEFAULT, CW_USEDEFAULT, 640, 480,
NULL, NULL, hInst, NULL
);
if (hWnd)
{
ShowWindow(hWnd, nCmdShow);
@ -64,10 +64,10 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE, LPTSTR,
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
}
}
return 0;
return 0;
}
//------------------------------------------------------------------
@ -77,7 +77,7 @@ enum OutPrimitive {
opEllipse, opArc, opPie, opChord, opCustom
};
void DrawPrimitive(IN HDC hDC, IN const RECT& RPrimitive,
void DrawPrimitive(IN HDC hDC, IN const RECT& RPrimitive,
IN OutPrimitive PrimitiveID)
{
RECT R = RPrimitive;
@ -98,8 +98,8 @@ void DrawPrimitive(IN HDC hDC, IN const RECT& RPrimitive,
{(R.right - R.left) / 2, R.top},
{(R.right - R.left) / 2, R.bottom},
{R.right, R.bottom}
};
PolyBezier(hDC, PControlPoints, 4);
};
PolyBezier(hDC, PControlPoints, 4);
break;
}
case opRectangle:
@ -122,8 +122,8 @@ void DrawPrimitive(IN HDC hDC, IN const RECT& RPrimitive,
const POINT PRads[] = {
{(R.right - R.left) / 3 + R.left, R.top},
{(R.right - R.left) / 3 + R.left, R.bottom}
};
Arc(hDC, R.left, R.top, R.right, R.bottom,
};
Arc(hDC, R.left, R.top, R.right, R.bottom,
PRads[0].x, PRads[0].y, PRads[1].x, PRads[1].y);
break;
}
@ -132,8 +132,8 @@ void DrawPrimitive(IN HDC hDC, IN const RECT& RPrimitive,
const POINT PRads[] = {
{(R.right - R.left) / 3 + R.left, R.top},
{(R.right - R.left) / 3 + R.left, R.bottom}
};
Pie(hDC, R.left, R.top, R.right, R.bottom,
};
Pie(hDC, R.left, R.top, R.right, R.bottom,
PRads[0].x, PRads[0].y, PRads[1].x, PRads[1].y);
break;
}
@ -142,8 +142,8 @@ void DrawPrimitive(IN HDC hDC, IN const RECT& RPrimitive,
const POINT PRads[] = {
{(R.right - R.left) / 3 + R.left, R.top},
{(R.right - R.left) / 3 + R.left, R.bottom}
};
Chord(hDC, R.left, R.top, R.right, R.bottom,
};
Chord(hDC, R.left, R.top, R.right, R.bottom,
PRads[0].x, PRads[0].y, PRads[1].x, PRads[1].y);
break;
}
@ -153,8 +153,8 @@ void DrawPrimitive(IN HDC hDC, IN const RECT& RPrimitive,
{R.left, (R.bottom - R.top) / 2 + R.top},
{(R.right - R.left) / 2 + R.left, R.top},
{R.right, (R.bottom - R.top) / 2 + R.top},
{(R.right - R.left) / 2 + R.left, R.bottom}
};
{(R.right - R.left) / 2 + R.left, R.bottom}
};
Polygon(hDC, PVertices, 4);
break;
}
@ -168,20 +168,20 @@ HBRUSH hListBrush = NULL; // handle to the list box brush
HPEN hListPen = NULL; // handle to the list box pen
HFONT hListFont = NULL; // handle to the list box font
LRESULT CALLBACK MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
LRESULT CALLBACK MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
LPARAM lParam)
{
switch (msg)
{
case WM_CREATE:
{
hListBox =
hListBox =
CreateWindowEx(
WS_EX_CLIENTEDGE, TEXT("LISTBOX"), TEXT(""),
WS_EX_CLIENTEDGE, TEXT("LISTBOX"), TEXT(""),
WS_CHILD | WS_VISIBLE | WS_VSCROLL |
LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT |
LBS_OWNERDRAWFIXED,
0, 0, 640, 480,
LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT |
LBS_OWNERDRAWFIXED,
0, 0, 640, 480,
hWnd, NULL, hInst, NULL
);
assert(hListBox != NULL);
@ -190,23 +190,23 @@ LRESULT CALLBACK MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
hListBox, GWL_ID, reinterpret_cast<LONG>(hListBox)
);
SNDMSG(hListBox, LB_ADDSTRING, 0,
SNDMSG(hListBox, LB_ADDSTRING, 0,
reinterpret_cast<LPARAM>(TEXT("Line")));
SNDMSG(hListBox, LB_ADDSTRING, 0,
SNDMSG(hListBox, LB_ADDSTRING, 0,
reinterpret_cast<LPARAM>(TEXT("Bezier Curve")));
SNDMSG(hListBox, LB_ADDSTRING, 0,
SNDMSG(hListBox, LB_ADDSTRING, 0,
reinterpret_cast<LPARAM>(TEXT("Rectangle")));
SNDMSG(hListBox, LB_ADDSTRING, 0,
SNDMSG(hListBox, LB_ADDSTRING, 0,
reinterpret_cast<LPARAM>(TEXT("Rounded Rectangle")));
SNDMSG(hListBox, LB_ADDSTRING, 0,
SNDMSG(hListBox, LB_ADDSTRING, 0,
reinterpret_cast<LPARAM>(TEXT("Ellipse")));
SNDMSG(hListBox, LB_ADDSTRING, 0,
SNDMSG(hListBox, LB_ADDSTRING, 0,
reinterpret_cast<LPARAM>(TEXT("Arc")));
SNDMSG(hListBox, LB_ADDSTRING, 0,
SNDMSG(hListBox, LB_ADDSTRING, 0,
reinterpret_cast<LPARAM>(TEXT("Pie Slice")));
SNDMSG(hListBox, LB_ADDSTRING, 0,
SNDMSG(hListBox, LB_ADDSTRING, 0,
reinterpret_cast<LPARAM>(TEXT("Chord")));
SNDMSG(hListBox, LB_ADDSTRING, 0,
SNDMSG(hListBox, LB_ADDSTRING, 0,
reinterpret_cast<LPARAM>(TEXT("Custom")));
hListBrush = CreateSolidBrush(PALETTERGB(64, 192, 64));
@ -218,9 +218,9 @@ LRESULT CALLBACK MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
{
// MakeFont() from Chapter 4
hListFont = font::MakeFont(
hScreenDC, "Impact", 20, ANSI_CHARSET,
hScreenDC, "Impact", 20, ANSI_CHARSET,
font::FS_BOLD | font::FS_UNDERLINE
);
);
}
#if 0
catch (...)
@ -234,30 +234,30 @@ LRESULT CALLBACK MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
}
case WM_MEASUREITEM:
{
LPMEASUREITEMSTRUCT lpmis =
LPMEASUREITEMSTRUCT lpmis =
reinterpret_cast<LPMEASUREITEMSTRUCT>(lParam);
assert(lpmis != NULL);
if (lpmis->CtlID == reinterpret_cast<UINT>(hListBox))
{
lpmis->itemHeight = 150;
return TRUE;
lpmis->itemHeight = 150;
return TRUE;
}
break;
}
case WM_DRAWITEM:
{
LPDRAWITEMSTRUCT lpdis =
LPDRAWITEMSTRUCT lpdis =
reinterpret_cast<LPDRAWITEMSTRUCT>(lParam);
assert(lpdis != NULL);
if (lpdis->CtlID == reinterpret_cast<UINT>(hListBox))
{
{
SaveDC(lpdis->hDC);
#if 0
try
#endif
{
{
SelectObject(lpdis->hDC, hListBrush);
SelectObject(lpdis->hDC, hListPen);
SelectObject(lpdis->hDC, hListFont);
@ -280,11 +280,11 @@ LRESULT CALLBACK MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
0.6 * lpdis->rcItem.right + 0.5
);
FillRect(
lpdis->hDC, &RPrimitive,
lpdis->hDC, &RPrimitive,
reinterpret_cast<HBRUSH>(COLOR_BTNFACE + 1)
);
DrawPrimitive(
lpdis->hDC, RPrimitive,
lpdis->hDC, RPrimitive,
static_cast<OutPrimitive>(lpdis->itemID)
);
if (selected) InvertRect(lpdis->hDC, &RPrimitive);
@ -292,24 +292,24 @@ LRESULT CALLBACK MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
// render the text
TCHAR text[13];
if (SNDMSG(hListBox, LB_GETTEXT, lpdis->itemID,
if (SNDMSG(hListBox, LB_GETTEXT, lpdis->itemID,
reinterpret_cast<LPARAM>(&text)) != LB_ERR)
{
{
RECT RText = RPrimitive;
RText.left = RPrimitive.right;
RText.right = lpdis->rcItem.right;
RText.right = lpdis->rcItem.right;
SelectObject(lpdis->hDC, hListFont);
SetBkMode(lpdis->hDC, TRANSPARENT);
SetTextColor(lpdis->hDC, clrText);
DrawText(lpdis->hDC, text, -1, &RText,
DrawText(lpdis->hDC, text, -1, &RText,
DT_CENTER | DT_VCENTER | DT_SINGLELINE);
}
// indicate keyboard focus
if (lpdis->itemState & ODS_FOCUS)
{
{
RECT RFocus = lpdis->rcItem;
InflateRect(&RFocus, -1, -1);
DrawFocusRect(lpdis->hDC, &RFocus);
@ -330,7 +330,7 @@ LRESULT CALLBACK MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
{
MoveWindow(
hListBox, 0, 0, LOWORD(lParam), HIWORD(lParam), TRUE
);
);
return 0;
}
case WM_DESTROY:

View file

@ -1,6 +1,6 @@
<module name="readconsole" type="win32cui" installbase="bin" installname="readconsole.exe">
<define name="UNICODE" />
<define name="_UNICODE" />
<define name="_UNICODE" />
<define name="__USE_W32API" />
<library>kernel32</library>
<file>main.c</file>

View file

@ -6,7 +6,7 @@
// Created by Damon Chandler <dmc27@ee.cornell.edu>
// Updates can be downloaded at: <www.coriolis.com>
//
// Please do not hesistate to e-mail me at dmc27@ee.cornell.edu
// Please do not hesistate to e-mail me at dmc27@ee.cornell.edu
// if you have any questions about this code.
// ------------------------------------------------------------------
@ -31,7 +31,7 @@ HINSTANCE HInst;
HINSTANCE HPrevInst;
TCHAR *cmdline;
const char* WndClassName = "GMainWnd";
LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
LPARAM LParam);
@ -44,7 +44,7 @@ int APIENTRY WinMain(HINSTANCE HInstance, HINSTANCE HPrevInstance,
WNDCLASS wc;
memset(&wc, 0, sizeof(WNDCLASS));
wc.style = CS_VREDRAW | CS_HREDRAW | CS_DBLCLKS;
wc.lpfnWndProc = MainWndProc;
wc.hInstance = HInstance;
@ -54,63 +54,63 @@ int APIENTRY WinMain(HINSTANCE HInstance, HINSTANCE HPrevInstance,
if (RegisterClass(&wc))
{
HWND HWnd =
HWND HWnd =
CreateWindow(WndClassName, TEXT("StretchBlt NonUniform Zooming Demo"),
WS_OVERLAPPEDWINDOW | WS_CAPTION |
WS_OVERLAPPEDWINDOW | WS_CAPTION |
WS_VISIBLE | WS_CLIPSIBLINGS,
0, 0, 675, 560,
NULL, NULL, HInst, NULL);
if (HWnd)
{
HListBox =
CreateWindowEx(WS_EX_CLIENTEDGE, "LISTBOX", "",
LBS_NOTIFY | WS_CHILD | WS_VISIBLE,
530, 5, 130, 150, HWnd,
CreateWindowEx(WS_EX_CLIENTEDGE, "LISTBOX", "",
LBS_NOTIFY | WS_CHILD | WS_VISIBLE,
530, 5, 130, 150, HWnd,
reinterpret_cast<HMENU>(ID_LISTBOX),
HInst, NULL);
VListBox =
CreateWindowEx(WS_EX_CLIENTEDGE, "LISTBOX", "",
LBS_NOTIFY | WS_CHILD | WS_VISIBLE,
530, 5+170, 130, 150, HWnd,
CreateWindowEx(WS_EX_CLIENTEDGE, "LISTBOX", "",
LBS_NOTIFY | WS_CHILD | WS_VISIBLE,
530, 5+170, 130, 150, HWnd,
reinterpret_cast<HMENU>(ID_LISTBOX2),
HInst, NULL);
if (HListBox && VListBox)
{
// horizontal zoom
SNDMSG(HListBox, LB_ADDSTRING, 0,
SNDMSG(HListBox, LB_ADDSTRING, 0,
reinterpret_cast<LPARAM>("Zoom 25%"));
SNDMSG(HListBox, LB_ADDSTRING, 0,
SNDMSG(HListBox, LB_ADDSTRING, 0,
reinterpret_cast<LPARAM>("Zoom 50%"));
SNDMSG(HListBox, LB_ADDSTRING, 0,
SNDMSG(HListBox, LB_ADDSTRING, 0,
reinterpret_cast<LPARAM>("Zoom 75%"));
SNDMSG(HListBox, LB_ADDSTRING, 0,
SNDMSG(HListBox, LB_ADDSTRING, 0,
reinterpret_cast<LPARAM>("Zoom 100%"));
SNDMSG(HListBox, LB_ADDSTRING, 0,
SNDMSG(HListBox, LB_ADDSTRING, 0,
reinterpret_cast<LPARAM>("Zoom 125%"));
SNDMSG(HListBox, LB_ADDSTRING, 0,
SNDMSG(HListBox, LB_ADDSTRING, 0,
reinterpret_cast<LPARAM>("Zoom 150%"));
SNDMSG(HListBox, LB_ADDSTRING, 0,
SNDMSG(HListBox, LB_ADDSTRING, 0,
reinterpret_cast<LPARAM>("Zoom 200%"));
SNDMSG(HListBox, LB_ADDSTRING, 0,
SNDMSG(HListBox, LB_ADDSTRING, 0,
reinterpret_cast<LPARAM>("Zoom 300%"));
// vertical zoom
SNDMSG(VListBox, LB_ADDSTRING, 0,
SNDMSG(VListBox, LB_ADDSTRING, 0,
reinterpret_cast<LPARAM>("Zoom 25%"));
SNDMSG(VListBox, LB_ADDSTRING, 0,
SNDMSG(VListBox, LB_ADDSTRING, 0,
reinterpret_cast<LPARAM>("Zoom 50%"));
SNDMSG(VListBox, LB_ADDSTRING, 0,
SNDMSG(VListBox, LB_ADDSTRING, 0,
reinterpret_cast<LPARAM>("Zoom 75%"));
SNDMSG(VListBox, LB_ADDSTRING, 0,
SNDMSG(VListBox, LB_ADDSTRING, 0,
reinterpret_cast<LPARAM>("Zoom 100%"));
SNDMSG(VListBox, LB_ADDSTRING, 0,
SNDMSG(VListBox, LB_ADDSTRING, 0,
reinterpret_cast<LPARAM>("Zoom 125%"));
SNDMSG(VListBox, LB_ADDSTRING, 0,
SNDMSG(VListBox, LB_ADDSTRING, 0,
reinterpret_cast<LPARAM>("Zoom 150%"));
SNDMSG(VListBox, LB_ADDSTRING, 0,
SNDMSG(VListBox, LB_ADDSTRING, 0,
reinterpret_cast<LPARAM>("Zoom 200%"));
SNDMSG(VListBox, LB_ADDSTRING, 0,
SNDMSG(VListBox, LB_ADDSTRING, 0,
reinterpret_cast<LPARAM>("Zoom 300%"));
}
@ -123,7 +123,7 @@ int APIENTRY WinMain(HINSTANCE HInstance, HINSTANCE HPrevInstance,
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
}
}
return 0;
@ -143,16 +143,16 @@ HBITMAP HOldBmp = NULL;
float zoom_factor_h = 0.5;
float zoom_factor_v = 0.5;
RECT RDest = {5, 5, 0, 0};
enum {ID_ZOOM25, ID_ZOOM50, ID_ZOOM75, ID_ZOOM100,
enum {ID_ZOOM25, ID_ZOOM50, ID_ZOOM75, ID_ZOOM100,
ID_ZOOM125, ID_ZOOM150, ID_ZOOM200, ID_ZOOM300};
LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
LPARAM LParam)
{
switch (Msg)
{
case WM_CREATE:
{
{
// check commandline
if (strlen(cmdline) != 0)
{
@ -167,13 +167,13 @@ LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
if (HMemDC)
{
// load a bitmap from file
HBITMAP HBmp =
HBITMAP HBmp =
static_cast<HBITMAP>(
LoadImage(HInst, filename, IMAGE_BITMAP,
LoadImage(HInst, filename, IMAGE_BITMAP,
0, 0, LR_LOADFROMFILE)
);
);
if (HBmp)
{
{
// extract dimensions of the bitmap
GetObject(HBmp, sizeof(BITMAP), &bmp);
@ -188,7 +188,7 @@ LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
bmInfo.bmiHeader.biXPelsPerMeter = 0;
bmInfo.bmiHeader.biClrImportant = 0;
bmInfo.bmiHeader.biClrUsed = 0;
// associate the bitmap with the memory DC
HOldBmp = static_cast<HBITMAP>(
SelectObject(HMemDC, HBmp)
@ -211,11 +211,11 @@ LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
fclose(f);
}
}
}
}
}
case WM_COMMAND:
{
if (WParam == MAKEWPARAM(ID_LISTBOX, LBN_SELCHANGE) ||
if (WParam == MAKEWPARAM(ID_LISTBOX, LBN_SELCHANGE) ||
WParam == MAKEWPARAM(ID_LISTBOX2, LBN_SELCHANGE))
{
switch (SNDMSG(HListBox, LB_GETCURSEL, 0, 0))
@ -243,15 +243,15 @@ LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
}
// calculate the new width and height
const int new_width =
const int new_width =
static_cast<int>(zoom_factor_h * bmp.bmWidth);
const int new_height =
const int new_height =
static_cast<int>(zoom_factor_v * bmp.bmHeight);
// is zooming in?
bool zoom_in = (new_width > RDest.right - RDest.left);
// caculate the area that needs to be updated
// caculate the area that needs to be updated
RECT RUpdate = {
RDest.left, RDest.top,
RDest.left + max(new_width, RDest.right - RDest.left),
@ -260,20 +260,20 @@ LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
// adjust the dimenstions of the
// destination rectangle
RDest.right = RDest.left + new_width;
RDest.bottom = RDest.top + new_height;
RDest.right = RDest.left + new_width;
RDest.bottom = RDest.top + new_height;
// create an update region from the XOR combination
// of the update and destination rectangles
HRGN HUpdateRgn = CreateRectRgnIndirect(&RUpdate);
HRGN HDestRgn = CreateRectRgnIndirect(&RDest);
int result =
int result =
CombineRgn(HUpdateRgn, HUpdateRgn, HDestRgn, RGN_XOR);
// incite a repaint
if (result != NULLREGION && result != ERROR)
{
InvalidateRgn(HWnd, HUpdateRgn, true);
{
InvalidateRgn(HWnd, HUpdateRgn, true);
RedrawWindow(HWnd, &RDest, NULL, RDW_NOERASE | RDW_INVALIDATE);
}
else if (result == NULLREGION)
@ -301,36 +301,36 @@ LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
if (useDIBits)
{
if (RDest.right - RDest.left > 0)
{
{
if (zoom_factor_h < 1.0 || zoom_factor_v < 1.0)
{
SetStretchBltMode(Hdc, COLORONCOLOR);
}
// render the zoomed image
StretchDIBits(Hdc, RDest.left, RDest.top,
RDest.right - RDest.left,
StretchDIBits(Hdc, RDest.left, RDest.top,
RDest.right - RDest.left,
RDest.bottom - RDest.top,
0, 0,
0, 0,
bmp.bmWidth, bmp.bmHeight,
bbits, &bmInfo,
DIB_RGB_COLORS,
SRCCOPY);
SRCCOPY);
}
}
else
{
if (RDest.right - RDest.left > 0)
{
// use BitBlt when not zooming
if (zoom_factor_h == 1.0 && zoom_factor_v == 1.0)
{
BitBlt(Hdc, RDest.left, RDest.top,
RDest.right - RDest.left,
BitBlt(Hdc, RDest.left, RDest.top,
RDest.right - RDest.left,
RDest.bottom - RDest.top,
HMemDC, 0, 0,
SRCCOPY);
HMemDC, 0, 0,
SRCCOPY);
}
else
{
@ -340,17 +340,17 @@ LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
}
// render the zoomed image
StretchBlt(Hdc, RDest.left, RDest.top,
RDest.right - RDest.left,
StretchBlt(Hdc, RDest.left, RDest.top,
RDest.right - RDest.left,
RDest.bottom - RDest.top,
HMemDC, 0, 0,
HMemDC, 0, 0,
bmp.bmWidth, bmp.bmHeight,
SRCCOPY);
SRCCOPY);
}
}
}
}
#if 0
#if 0
catch (...)
#endif
{

View file

@ -1,4 +1,4 @@
// ------------------------------------------------------------------
// Windows 2000 Graphics API Black Book
// Chapter 4 - Utility functions
@ -6,7 +6,7 @@
// Created by Damon Chandler <dmc27@ee.cornell.edu>
// Updates can be downloaded at: <www.coriolis.com>
//
// Please do not hesistate to e-mail me at dmc27@ee.cornell.edu
// Please do not hesistate to e-mail me at dmc27@ee.cornell.edu
// if you have any questions about this code.
// ------------------------------------------------------------------
@ -23,7 +23,7 @@ namespace font {
HFONT MakeFont(
IN HDC hDestDC, // handle to target DC
IN LPCSTR typeface_name, // font's typeface name
IN int point_size, // font's point size
IN int point_size, // font's point size
IN const BYTE charset, // font's character set
IN const DWORD style // font's styles
)
@ -38,12 +38,12 @@ HFONT MakeFont(
int pixels_per_inch = GetDeviceCaps(hDestDC, LOGPIXELSY);
POINT PSize = {
0,
-MulDiv(static_cast<int>(xf.eM22 * point_size + 0.5),
0,
-MulDiv(static_cast<int>(xf.eM22 * point_size + 0.5),
pixels_per_inch, 72)
};
HFONT hResult = NULL;
HFONT hResult = NULL;
if (DPtoLP(hDestDC, &PSize, 1))
{
LOGFONT lf;

View file

@ -6,7 +6,7 @@
// Created by Damon Chandler <dmc27@ee.cornell.edu>
// Updates can be downloaded at: <www.coriolis.com>
//
// Please do not hesistate to e-mail me at dmc27@ee.cornell.edu
// Please do not hesistate to e-mail me at dmc27@ee.cornell.edu
// if you have any questions about this code.
// ------------------------------------------------------------------
@ -23,18 +23,18 @@
HINSTANCE hInst;
const char* WndClassName = "GMainWnd";
LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
LPARAM LParam);
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE, LPTSTR,
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE, LPTSTR,
int nCmdShow)
{
hInst = hInstance;
WNDCLASS wc;
memset(&wc, 0, sizeof(WNDCLASS));
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpszClassName = WndClassName;
wc.lpfnWndProc = MainWndProc;
@ -46,15 +46,15 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE, LPTSTR,
if (RegisterClass(&wc))
{
HWND hWnd =
HWND hWnd =
CreateWindow(
WndClassName, TEXT("Scaled Text Demo"),
WS_OVERLAPPEDWINDOW | WS_CAPTION |
WS_OVERLAPPEDWINDOW | WS_CAPTION |
WS_VISIBLE | WS_CLIPCHILDREN,
CW_USEDEFAULT, CW_USEDEFAULT, 800, 300,
NULL, NULL, hInst, NULL
);
if (hWnd)
{
ShowWindow(hWnd, nCmdShow);
@ -65,10 +65,10 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE, LPTSTR,
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
}
}
return 0;
return 0;
}
//-------------------------------------------------------------------------
@ -78,7 +78,7 @@ HFONT hTTFont = NULL;
double scale = 0.0;
LPCSTR pText = TEXT("The Scaled Text!");
LRESULT CALLBACK MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
LRESULT CALLBACK MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
LPARAM lParam)
{
switch (msg)
@ -91,13 +91,13 @@ LRESULT CALLBACK MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
InitCommonControlsEx(&icx);
hTrackBar =
hTrackBar =
CreateWindow(
TRACKBAR_CLASS, "",
TBS_HORZ | TBS_BOTH | TBS_AUTOTICKS |
TRACKBAR_CLASS, "",
TBS_HORZ | TBS_BOTH | TBS_AUTOTICKS |
TBS_FIXEDLENGTH | TBS_ENABLESELRANGE |
WS_CHILD | WS_VISIBLE,
10, 260, 375, 40,
WS_CHILD | WS_VISIBLE,
10, 260, 375, 40,
hWnd, NULL, hInst, NULL
);
@ -136,9 +136,9 @@ LRESULT CALLBACK MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
break;
}
case WM_ERASEBKGND:
{
{
LRESULT res = DefWindowProc(hWnd, msg, wParam, lParam);
HDC hDC = reinterpret_cast<HDC>(wParam);
HFONT hOldFont = static_cast<HFONT>(
SelectObject(hDC, hTTFont)
@ -182,8 +182,8 @@ LRESULT CALLBACK MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
);
pPEnds[iPoint].y = static_cast<LONG>(
scale * pPEnds[iPoint].y + 0.5
);
}
);
}
for (iPoint = 0; iPoint < num_points; ++iPoint)
{
@ -227,9 +227,9 @@ LRESULT CALLBACK MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
delete [] pPEnds;
throw;
}
// clean up
delete [] pTypes;
delete [] pPEnds;
// clean up
delete [] pTypes;
delete [] pPEnds;
}
// ...
}
@ -243,11 +243,11 @@ LRESULT CALLBACK MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
case WM_SIZE:
{
MoveWindow(
hTrackBar,
hTrackBar,
0, HIWORD(lParam) - 40, LOWORD(lParam), 40,
false
);
break;
break;
}
case WM_DESTROY:
{

View file

@ -242,7 +242,7 @@ static BOOL CALLBACK find_top_window(HWND hwnd, LPARAM lParam)
return TRUE;
hwnd=control;
}
pwindow = (HWND*)lParam;
*pwindow = hwnd;
return FALSE;
@ -298,7 +298,7 @@ static void do_click(HWND window, DWORD down, DWORD up)
if (dragto_y<window_info.rcWindow.top || dragto_y>=window_info.rcWindow.bottom)
dragto_y=(window_info.rcWindow.bottom+window_info.rcWindow.top)/2;
dragto_y=(dragto_y << 16)/GetSystemMetrics(SM_CYSCREEN);
dx = g_dragto_x - g_x;
dy = g_dragto_y - g_y;
step_per_x = dx / 4;
@ -309,8 +309,8 @@ static void do_click(HWND window, DWORD down, DWORD up)
x=dragto_x;
y=dragto_y;
}
}
if (up)
}
if (up)
mouse_event(MOUSEEVENTF_ABSOLUTE | up, x, y, 0, 0);
}

View file

@ -6,19 +6,19 @@
// Created by Damon Chandler <dmc27@ee.cornell.edu>
// Updates can be downloaded at: <www.coriolis.com>
//
// Please do not hesistate to e-mail me at dmc27@ee.cornell.edu
// Please do not hesistate to e-mail me at dmc27@ee.cornell.edu
// if you have any questions about this code.
// ------------------------------------------------------------------
//*********************************************************//
// //
// //
// SYNOPSIS: //
// This sample project demonstrates how to render //
// a background image in response to the WM_ERASEBKGND //
// message. It also shows how to create a transparent //
// static (text) control by handling the //
// WM_CTLCOLORSTATIC message. //
// //
// //
//*********************************************************//
@ -31,7 +31,7 @@ HINSTANCE HInst;
HINSTANCE HPrevInst;
TCHAR *cmdline;
const char* WndClassName = "GMainWnd";
LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
LPARAM LParam);
@ -44,25 +44,25 @@ int APIENTRY WinMain(HINSTANCE HInstance, HINSTANCE HPrevInstance,
WNDCLASS wc;
memset(&wc, 0, sizeof(WNDCLASS));
wc.style = CS_VREDRAW | CS_HREDRAW | CS_DBLCLKS;
wc.lpfnWndProc = MainWndProc;
wc.hInstance = HInstance;
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground =
wc.hbrBackground =
reinterpret_cast<HBRUSH>(COLOR_BTNFACE + 1);
wc.lpszClassName = WndClassName;
if (RegisterClass(&wc))
{
HWND HWnd =
CreateWindow(WndClassName,
HWND HWnd =
CreateWindow(WndClassName,
TEXT("WM_ERASEBKGND Demo"),
WS_OVERLAPPEDWINDOW | WS_CAPTION |
WS_OVERLAPPEDWINDOW | WS_CAPTION |
WS_VISIBLE | WS_CLIPSIBLINGS,
CW_USEDEFAULT, CW_USEDEFAULT, 205, 85,
NULL, NULL, HInstance, NULL);
if (HWnd)
{
ShowWindow(HWnd, nCmdShow);
@ -73,7 +73,7 @@ int APIENTRY WinMain(HINSTANCE HInstance, HINSTANCE HPrevInstance,
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
}
}
return 0;
@ -87,17 +87,17 @@ HDC HMemDC;
HBITMAP HBmp, HOldBmp;
const char* filename = "BACKBITMAP.BMP";
LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
LPARAM LParam)
{
switch (Msg)
{
case WM_CREATE:
{
HStatic =
CreateWindow(TEXT("STATIC"), TEXT("Static Text"),
WS_CHILD | WS_VISIBLE | SS_CENTER,
10, 20, 175, 30,
HStatic =
CreateWindow(TEXT("STATIC"), TEXT("Static Text"),
WS_CHILD | WS_VISIBLE | SS_CENTER,
10, 20, 175, 30,
HWnd, NULL, HInst, NULL);
// create a memory DC compatible with the screen
@ -106,7 +106,7 @@ LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
{
// load a DDB from file
HBmp = static_cast<HBITMAP>(
LoadImage(HInst, filename, IMAGE_BITMAP,
LoadImage(HInst, filename, IMAGE_BITMAP,
0, 0, LR_LOADFROMFILE)
);
if (HBmp)
@ -139,19 +139,19 @@ LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
RECT RClient;
GetClientRect(HWnd, &RClient);
HDC Hdc = reinterpret_cast<HDC>(WParam);
HDC Hdc = reinterpret_cast<HDC>(WParam);
SetStretchBltMode(Hdc, COLORONCOLOR);
//
// TODO: add palette handling code for
// TODO: add palette handling code for
// palettized displays (see Chapter 9)...
//
// render the background image
StretchBlt(Hdc, 0, 0,
// render the background image
StretchBlt(Hdc, 0, 0,
RClient.right - RClient.left,
RClient.bottom - RClient.top,
HMemDC, 0, 0, bmp.bmWidth, bmp.bmHeight,
HMemDC, 0, 0, bmp.bmWidth, bmp.bmHeight,
SRCCOPY);
return TRUE;
}