About PgSetDrawMode().

I want to choose a region for curve to magnify, when I press the left
mouse button, then the start upright line is drawed. as I move the
mouse, next upright line will be drawed. but I don’t want to draw
some many upright lines. I just want two upright lines, one is the
start, the other is the current. In vc++,just use int
nnormal=dc.SetROP2(R2_MERGEPENNOT); and dc.SetROP2(nnormal);
MERGEPENNOT :Pixel is a combination of the pen color and the inverse
of the screen color (final pixel = (NOT screen pixel) OR pen).

In qnx6.3.0, I have tried below, but there are three upright lines,
the first one is blue,it is right. the second and the third are
yellow, not blue. I don’t know why. I also have tried other modes, it
isn’t what I want.

PgSetStrokeColor(Pg_BLUE);
PgDrawILine(startpoint.x-35,p[0].y+100,startpoint.x-35,p[1].y+height_per+60
);
PgSetDrawMode(Pg_DRAWMODE_XOR);
PgDrawILine(tmppoint.x,p[0].y+100,tmppoint.x,p[1].y+height_per+60);
PgDrawILine(xmove+5,p[0].y+100,xmove+5,p[1].y+height_per+60);
tmppoint.x=xmove+5,tmppoint.y=ymove;
PgSetDrawMode(Pg_DRAWMODE_OPAQUE);

Thanks.

dxwangwrote:
I want to choose a region for curve to magnify, when I press the left

mouse button, then the start upright line is drawed. as I move the
mouse, next upright line will be drawed. but I don’t want to draw
some many upright lines. I just want two upright lines, one is the
start, the other is the current. In vc++,just use int
nnormal=dc.SetROP2(R2_MERGEPENNOT); and dc.SetROP2(nnormal);

MERGEPENNOT :Pixel is a combination of the pen color and the inverse
of the screen color (final pixel = (NOT screen pixel) OR pen).

In qnx6.3.0, I have tried below, but there are three upright lines,
the first one is blue,it is right. the second and the third are

yellow, not blue. I don’t know why. I also have tried other modes, it
isn’t what I want.

case Ph_EV_PTR_MOTION_BUTTON:
PgSetStrokeColor(Pg_BLUE);

PgDrawILine(startpoint.x-35,p[0].y+100,startpoint.x-35,p[1].y+height_per+60

);

PgSetDrawMode(Pg_DRAWMODE_XOR);
PgDrawILine(tmppoint.x,p[0].y+100,tmppoint.x,p[1].y+height_per+60);

PgDrawILine(xmove+5,p[0].y+100,xmove+5,p[1].y+height_per+60);
tmppoint.x=xmove+5,tmppoint.y=ymove;
PgSetDrawMode(Pg_DRAWMODE_OPAQUE);

Thanks.

dxwangwrote:

[quote:7ecb0b76f2=“dxwang”]I want to choose a region for curve to

magnify, when I press the left mouse button, then the start upright
line is drawed. as I move the mouse, next upright line will be
drawed. but I don’t want to draw some many upright lines. I just want
two upright lines, one is the start, the other is the current. In
vc++,just use int nnormal=dc.SetROP2(R2_MERGEPENNOT); and
dc.SetROP2(nnormal);

MERGEPENNOT :Pixel is a combination of the pen color and the inverse
of the screen color (final pixel = (NOT screen pixel) OR pen).

In qnx6.3.0, I have tried below, but there are three upright lines,
the first one is blue,it is right. the second and the third are

yellow, not blue. I don’t know why. I also have tried other modes, it
isn’t what I want.

case Ph_EV_PTR_MOTION_BUTTON:
PgSetStrokeColor(Pg_BLUE);

PgDrawILine(startpoint.x-35,p[0].y+100,startpoint.x-35,p[1].y+height_per+60

);

PgSetDrawMode(Pg_DRAWMODE_OR);
PgDrawILine(tmppoint.x,p[0].y+100,tmppoint.x,p[1].y+height_per+60);

PgDrawILine(xmove+5,p[0].y+100,xmove+5,p[1].y+height_per+60);
tmppoint.x=xmove+5,tmppoint.y=ymove;
PgSetDrawMode(Pg_DRAWMODE_OPAQUE);

Thanks.[/quote:7ecb0b76f2]

have solved In QNX 6.3 OS Plate