About PgSetDrawMode().

bridged with qnx.gui
Post Reply
dxwang

About PgSetDrawMode().

Post by dxwang » Tue Jan 30, 2007 1:59 pm

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.

dxwang

Re: About PgSetDrawMode().

Post by dxwang » Tue Jan 30, 2007 1:59 pm

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.

dxwang

Re: About PgSetDrawMode().

Post by dxwang » Tue Jan 30, 2007 1:59 pm

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]

dxwang

RE: Re: About PgSetDrawMode().

Post by dxwang » Wed Jan 31, 2007 3:59 am

have solved In QNX 6.3 OS Plate

Post Reply

Return to “qnx.gui”