0%

PGPLOT cpgband读取有锚定点的光标位置

PGBAND – 读取有锚定点的光标位置

对应的C函数为

1
int cpgband(int mode, int posn, float xref, float yref, float *x,  float *y, char *ch_scalar);

用户读取光标位置和字符类型。位置返回值为世界坐标。如果POSN=1,PGBAND 指出光标的位置,并且允许用户使用鼠标或者方向键移动光标。在确定光标位置后,用户可以输入键盘上的一个字符;PGBAND将返回这个字符和新的光标位置。

一些交互设备提供了一些光标类型的可选项,一般而言都是较细的线条,但在绘制这个的时候,不会擦除以前的绘图。

下面的关于MODE的选项也和锚定点XREF,YREF有关。对于设备不支持光标类型的,默认MODE=0.

– 如果 MODE=0, 锚定点将被忽略,类似PGCURS.
– 如果 MODE=1, 从锚定点到光标位置绘制一个直线线条
– 如果 MODE=2, 从锚定点(左下角)到光标位置(右上角)绘制一个中空的矩形。当然矩形的边缘为平行或者垂直的。
– 如果 MODE=3, 绘制两条扩展并横跨显示宽度的水平线,其中一条通过锚定点,另一条通过光标位置。这通常用于选择一个已知的Y轴范围。
– 如果 MODE=4, 绘制两条扩展并横跨显示宽度的垂直线,其中一条通过锚定点,另一条通过光标位置。这通常用于选择一个已知的X轴范围。
– 如果 MODE=5, 只绘制一条水平线条
– 如果 MODE=6, 只绘制一条水平线条
– 如果 MODE=7, 以光标为中心绘制一个十字交叉线

返回值:

1
PGBAND          : 成功返回1;无光标或失败返回0

参数:

1
2
3
4
5
6
7
MODE   (输入)  : 显示方式 (从0到7:上面有描述).
POSN (输入) : 如果POSN=1, PGBAND 将把光标放在点(X,Y);如果POSN=0,光标将被放置在当前的位置
XREF (输入) : 锚定点的x坐标
YREF (输入) : 锚定点的y坐标
X (输入/输出) : 光标的x坐标
Y (输入/输出) : 光标的y坐标
CH (输出) : 用户输入的字符值,如果没有光标或者出现错误,返回’\0’
处无为之事,行不言之教;作而弗始,生而弗有,为而弗恃,功成不居!

欢迎关注我的其它发布渠道