勘误表

(英文勘误表: www.fengyuan.com\errata.html)


页号

问题

报告者
    袁枫 (Feng Yuan)

应为:

袁峰 (Feng Yuan)

 
第一章 17

time, time * 1000 / cpuspeed10;

应为:

time, time * 1000 / cpuspeed10);

Jose Rivera

Jan 12, 2001.

 
第一章 30

if ( ( (ord<pExport->Base) || (ord>pExport->NumberOfFunctins) )

应为:

if ( ( (ord<pExport->Base) || ((ord - pExport->Base)>=pExport->NumberOfFunctins) )

Hannes Jakschitsch

March 5, 2001.

第二章 71

DrvStartDoc, DrvEndDoc, DrvStartPage 和 DrvSnedPage...

应为:

DrvStartDoc, DrvEndDoc, DrvStartPage 和 DrvSendPage ...

Jan Bares

April 3, 2001

第三章 95

0x3pe0a

应为:

0x9e0a.

Hannes Jakschitsch,

March 6, 2001

第三章 107

... Crush dump ...

应为:

.. .Crash dump ...

Jan Bares

April/3/2001

第四章 166

BegninPaint

应为:

 BeginPaint.

Jan Bares

April 17, 2001

第四章 171

lpdd->>lpVtbl 应为: lpdd->lpVtbl

Hannes Jakschitsch,

March 15, 2001

第五章 183 2304 字节 应为 3072字节 kofkim2

2002-9-20

第五章 193

DT_RASCAMETA

应为:

DT_RASCAMERA

Jan Bares

April 17, 2001

第八章 313

函数 AngleArcToBezier 只在 rx 与 ry 相等时正确.

应为:

BOOL AngleArcToBezier(HDC hDC, int x0, int y0, int rx, int ry, 
                      double startangle, double sweepangle)
{
    double XY[8];
    POINT P[4];

    // Compute bezier curve for arc centered along y axis
    // Anticlockwise: (0,-B), (x,-y), (x,y), (0,B) 
    double B = ry * sin(sweepangle/2);
    double C = rx * cos(sweepangle/2);
    double A = rx 1 - C;

    double X = A*4/3;
    double Y = B - X * (1-A)/B;

    XY[0] =   C;
    XY[1] = - B;
    XY[2] =   C+X;
    XY[3] = - Y;
    XY[4] =   C+X;
    XY[5] =   Y;
    XY[6] =   C;
    XY[7] =   B;

    // rotate to the original angle
    double s = sin(startangle + sweepangle/2);
    double c = cos(startangle + sweepangle/2);

    for (int i=0; i<4; i++)
    {
        P[i].x = x0 + (int) ( (XY[i*2] * c - XY[i*2+1] * s) * rx );
        P[i].y = y0 + (int) ( (XY[i*2] * s + XY[i*2+1] * c) * ry );
    }

    return PolyBezier(hDC, P, 4);
}
Bob Shultz

Feb 6, 2001.

第九章 335

PaltBlt 应为: PatBlt.

Jan Bares

April 17, 2001

第九章 340

PolyPaltBlt 应为: PolyPatBlt.

Jan Bares

April 17, 2001

第九章 352
             int    CombineRgn(HRGN hrgnDest,HRGN hrgnSrc1,hrgnSrc2,int fnCombineMode);
应为

             int    CombineRgn(HRGN hrgnDest,HRGN hrgnSrc1,HRGN hrgnSrc2,int fnCombineMode);

whaoye, March 23, 2003
第十章 374

166,777,216 应为: 16,777,216

Rui Lopes

April 18, 2001

第十章 377

(width * bitcount + 31)/32 应为: (width * bitcount + 31)/32 * 4

Wade Weitzel

 April 23, 2002

 
第十五章 587

FM_FONTCARE(0) 应为: FW_DONTCARE(0).

FM_NORMAL(400) 应为: FW_NORMAL(400).

FM_HEAVY(900) 应为: FW_HEAVY(900).

Jeremy Kuhne

March 16, 2001.

第十五章 610

GetTextTextentPoint32 应为: GetTextExtentPoint32

Pierre Arnaud

Sep/1/2001

 
第十五章 617

LPTSTR lpClass 应为: LPSTR lpClass

nMaxExent 应为: nMaxExtent

Pierre Arnaud

Sep/2/2002

 
第十五章 618

GCP_USERKING 应为: GCP_USEKERNING

Pierre Arnaud

 Sep/2/2002

 

最后修改 Oct 27, 2002