pfuCursor(3pf) OpenGL Performer 3.2.2 libpfutil Reference Pages
NAME
pfuLoadWinCursor, pfuLoadPWinCursor, pfuGetInvisibleCursor, pfuCursor,
pfuGetCursor, pfuCreateCursor, pfuCursorColor, pfuCursorType,
pfuDraw2DCursor, pfuDrawChan2DCursor, pfuDrawPVChan2DCursor,
pfuDrawPWin2DCursor, pfuDrawVChan2DCursor, pfuGetCursorType,
pfuLoadChanCursor, pfuSelCursor, pfuDrawChanDVRBox - Create and load
cursors for pfWindows and pfPipeWindows.
FUNCTION SPECIFICATION
#include <Performer/pfutil.h>
void pfuLoadWinCursor(pfWindow *win, int index);
void pfuLoadPWinCursor(pfPipeWindow *pwin, int index);
Cursor pfuGetInvisibleCursor(void);
void pfuCursor(Cursor c, int index);
Cursor pfuGetCursor(int index);
Cursor pfuCreateCursor(int index);
void pfuCursorColor(pfVec3 fg, pfVec3 bg);
void pfuCursorType(int val);
void pfuDraw2DCursor(int mx, int my);
void pfuDrawChan2DCursor(pfChannel *chan, int mx, int my);
void pfuDrawPVChan2DCursor(pfPipeVideoChannel *vChan, int mx,
int my);
void pfuDrawPWin2DCursor(pfPipeWindow *pw, int mx, int my);
void pfuDrawVChan2DCursor(pfVideoChannel *vChan, int mx, int my);
int pfuGetCursorType(void);
void pfuLoadChanCursor(pfChannel *chan, int c);
void pfuSelCursor(int c);
void pfuDrawChanDVRBox(pfChannel *chan);
DESCRIPTION
These functions allow different types of cursors to be created and
associated with pfWindows, pfPipeWindows, pfChannels, and
pfVideoChannels.
pfuCreateCursor creates a cursor with index index. The cursor can be
Page 1
pfuCursor(3pf) OpenGL Performer 3.2.2 libpfutil Reference Pages
selected with pfuSelCursor.
Cursors have both a foreground and background colors. pfuCursorColor
specifies these with fg and bg.
pfuLoadWinCursor loads the cursor of type index into the pfWindow win.
pfuLoadPWinCursor does the same for the pfPipeWindow pwin.
pfuLoadChanCursor loads the cursor for the pfChannel chan.
The cursor type can be selected with pfuCursorType and inquired with
pfuGetCursorType.
Several 2D cursor-drawing functions are available. The more specific the
function, the more carefully the drawing of the cursor can be managed.
This is most important when using Dynamic Video Resizing, where a simple
X-style pixel image cursor will exhibit unintended scaling along with the
image. The solution is to use the 2D cursor type, and to invoke one of
the cursor drawing commands that knows about the video channel in use.
The cursor drawing functions are: pfuDraw2DCursor, pfuDrawChan2DCursor,
pfuDrawPVChan2DCursor, pfuDrawPWin2DCursor, and pfuDrawVChan2DCursor.
Definitions are provided in pfutil.h for the standard cursor types. Such
cursors have definitions of the form PFU_CURSOR_name, where name is one
of:
circle, hand1, arrow, based_arrow_down, based_arrow_up, boat,
bogosity, bottom_left_corner, bottom_right_corner, bottom_side,
bottom_tee, box_spiral, center_ptr, clock, coffee_mug, cross,
cross_reverse, crosshair, diamond_cross, dot, dotbox, double_arrow,
draft_large, draft_small, draped_box, exchange, fleur, gobbler,
gumby, hand2, heart, icon, iron_cross, left_ptr, left_side,
left_tee, leftbutton, ll_angle, lr_angle, man, middlebutton, mouse,
pencil, pirate, plus, question_arrow, right_ptr, right_side,
right_tee, rightbutton, rtl_logo, sailboat, sb_down_arrow,
sb_h_double_arrow, sb_left_arrow, sb_right_arrow, sb_up_arrow,
sb_v_double_arrow, shuttle, sizing, spider, spraycan, star, target,
tcross, top_left_arrow, top_left_corner, top_right_corner, top_side,
top_tee, trek, ul_angle, umbrella, ur_angle, watch, or xterm.
pfuGetInvisibleCursor creates and returns an invisible cursor.
pfuCursor allows the user to change the default cursor associated with a
given type. pfuCursor sets the cursor of type index to be c. pfuGetCursor
returns the cursor of type index.
Use the xfd command with the "-fn cursor" option to see a list of the
different available cursor types. The OpenGL Performer header file
"/usr/include/Performer/pfutil.h" contains a list of all the cursor
names.
pfuDrawChanDVRBox will draw a red box in the center of chan showing the
Page 2
pfuCursor(3pf) OpenGL Performer 3.2.2 libpfutil Reference Pages
size of the output area of the pfPipeVideoChannel of the pfChannel.
NOTES
Only even numbered cursor types are supported, even though xfd will
display cursors of both odd and even types.
SEE ALSO
xfd, pfuGUI, pfuXFont
Page 3