pfvDispPWin(3pf) OpenGL Performer 3.2.2 libpfv C++ Reference Pages
NAMEpfvDispPWin - Configure one or more pipe-windows through an XML file or
API calls.
FUNCTION SPECIFICATION
#include <Performer/pfv/pfvDisplay.h>
virtual int pfvDispPWin::config();
pfPipeWindow* pfvDispPWin::getHandle();
pfvDispPipe* pfvDispPWin::getPipe();
virtual pfvDispChan* pfvDispPWin::createChan(pfvXmlNode* xml);
int pfvDispPWin::getNumChans();
pfvDispChan* pfvDispPWin::getChan(int i);
virtual void pfvDispPWin::setTitle(char* _title);
char* pfvDispPWin::getTitle();
virtual void pfvDispPWin::setFullScreen(int v);
int pfvDispPWin::getFullScreen();
virtual void pfvDispPWin::setOrigin(int x, int y);
void pfvDispPWin::getOrigin( int* x, int* y );
virtual void pfvDispPWin::setSize( int w, int h );
void pfvDispPWin::getSize( int*w, int*h );
void pfvDispPWin::updateOrigSize();
virtual void pfvDispPWin::setBorder(int b);
int pfvDispPWin::getBorder();
virtual void pfvDispPWin::setVisualId(int id);
int pfvDispPWin::getVisualId();
virtual void pfvDispPWin::setFBConfigAttrs( int* attr );
virtual int* pfvDispPWin::getFBConfigAttrs();
virtual int pfvDispPWin::setManaged(int mngd);
Page 1
pfvDispPWin(3pf) OpenGL Performer 3.2.2 libpfv C++ Reference Pages
virtual int pfvDispPWin::getManaged();
PARENT CLASS FUNCTIONS
The OpenGL Performer class pfvDispPWin is derived from the parent class
pfvObject, so each of these member functions of class pfvObject are also
directly usable with objects of class pfvDispPWin. This is also true for
ancestor classes of class pfvObject.
virtual int pfvObject::parseXml(pfvXmlNode*xml);
virtual int pfvObject::setXmlField(pfvXmlNode*xml);
char* pfvObject::getName();
void pfvObject::setName(char*_name);
Since the class pfvObject is itself derived from the parent class
pfObject, objects of class pfvDispPWin can also be used with these
functions designed for objects of class pfObject.
void* pfObject::operator new(size_t);
void* pfObject::operator new(size_t, pfFluxMemory *fmem);
void pfObject::setUserData(void *data);
void pfObject::setUserData(int slot, void *data);
void* pfObject::getUserData(pfObject *obj);
void* pfObject::getUserData(pfObject *obj, int slot);
int pfObject::getNumUserData();
Since the class pfObject is itself derived from the parent class
pfMemory, objects of class pfvDispPWin can also be used with these
functions designed for objects of class pfMemory.
void* pfMemory::getData(const void *ptr);
pfType * pfMemory::getType();
int pfMemory::isOfType(pfType *type);
int pfMemory::isExactType(pfType *type);
const char * pfMemory::getTypeName();
int pfMemory::copy(pfMemory *src);
int pfMemory::compare(const pfMemory *mem);
void pfMemory::print(uint which, uint verbose, char *prefix,
FILE *file);
int pfMemory::getArena(void *ptr);
void* pfMemory::getArena();
int pfMemory::ref();
int pfMemory::unref();
int pfMemory::unrefDelete();
int pfMemory::unrefGetRef();
int pfMemory::getRef();
int pfMemory::checkDelete();
int pfMemory::isFluxed();
void * pfMemory::getArena();
Page 2
pfvDispPWin(3pf) OpenGL Performer 3.2.2 libpfv C++ Reference Pages
int pfMemory::getSize();
DESCRIPTION
The pfvDispPWin class is essentially a libpfv wrapper for the libpf
pfPipeWindow class. It allows a PipeWindow object to be configured
through an XML file or through API calls. A pfvDispPWin cannot be
created through its constructor (which is protected). Instead, it has to
be created through the createPWin method on the parent pfvDispPipe class.
(see man page for pfvDispPipe). All pfvDispPWin objects should be
created before calling pfvDisplayMngr::preConfig.
pfvDispPWin::config is where the libpf pfPipeWindow object associated
with the pfvDispPWin object is created and configured. After creating the
pfPipeWindow, pfvDispPWin::config will set its title, origin, size and
decorations. Lastly, all channels in pwins chan-list will automatically
be configured from this method. Note that pfvDispPWin::config is
automatically called from method pfvDispPipe::config called on pwin's
parent-pipe. This in turn is automatically called by method
pfvDisplayMngr::config, so pfvDispPWin::config should not usually be
called by application code.
pfvDispPWin::getHandle returns a handle to the pfPipeWindow object
associated with pfvDispPWin. This must be called after
pfvDispPWin::config or it will return NULL.
pfvDispPWin::getPipe returns a handle to the parent pfvDispPipe for this
pfvDispPWin. This is guaranteed not to be NULL as the only way to create
a pfvDispPWin is through a method on its parent pipe.
pfvDispPWin::createChan creates a new pfvDispChan object on this
pipewindow, and returns a handle to it. Note that newly created channel
will be added to both pwin's chan-list and to Display Manager's global
chan-list. The index associated with chan will be its position in Display
Manager's global chan-list.
pfvDispPWin::getNumChans returns the number of channels currently in
pwin's chan-list.
pfvDispPWin::getChan returns a handle to the ith channel in pwin's chan-
list, if i is a valid index; NULL otherwise.
pfvDispPWin::setTitle sets the title of the pipe window to _title. Must
be called before pfvDispPWin::config.
pfvDispPWin::getTitle returns the string last passed as an argument to
pfvDispPWin::setTitle, or NULL if no title was set on pwin.
pfvDispPWin::setFullScreen determines whether pwin should occupy the
whole screen. If so, values of origin and size provided through
pfvDispPWin::setOrigin and pfvDispPWin::setSize will be ignored. Must be
called before pfvDispPWin::config.
Page 3
pfvDispPWin(3pf) OpenGL Performer 3.2.2 libpfv C++ Reference Pages
pfvDispPWin::getFullScreen returns whether or not pwin has been set to be
a full-screen window through method pfvDispPWin::setFullScreen.
pfvDispPWin::setOrigin sets origin of pwin to the provided x,y values. x
and y are integer values and represent pixel offsets from the lower-left
corner of screen.
pfvDispPWin::getOrigin returns the current origin of pwin.
pfvDispPWin::setSize sets the size of the pipe window to w and h. w and h
are integer values and represent window size in pixels.
pfvDispPWin::getSize returns current size in pixels of pipe window,
pfvDispPWin::updateOrigSize updates pwin's origin and size values to
match actual origin and size of pipe window, This method should be called
on each frame if the values returned by pfvDispPWin::getOrigin and
pfvDispPWin::getSize need to be reliable at run-time, as user could
resize or move window without libpfv knowing about it.
pfvDispPWin::setBorder determines whether pwin should have a border or
not. This method should be called before pfvDispPWin::configure.
pfvDispPWin::getBorder returns whether pwin has been configured to have a
border or not.
pfvDispPWin::setVisualId allows you to directly set the OpenGL X visual
id to be used in configuring the resulting OpenGL/X window. See man page
for pfPipeWindow. This method should be called before
pfvDispPWin::configure.
pfvDispPWin::getVisualId returns the visual id last set through
pfvDispPWin::setVisualId, 0 if no visual id was set.
pfvDispPWin::setFBConfigAttrs provides a window system independent list
of attribute tokens, attr, to describe the desired framebuffer
configuration of the Pipe Window. See man pages for
pfWindow::setFBConfigAttrs and pfuChooseFBConfig.
pfvDispPWin::getFBConfigAttrs returns a pointer to the array of tokens
passed on to pfvDispPWin::setFBConfigAttrs. By default the first element
of this array is equal to 0.
pfvDispPWin::setManaged determines whether pwin should be directly
managed by the Display Manager, or whether pwin is intended to be
redirected to an external GUI Toolkit window (eg: Motif or GTK). By
default, all pwins are managed, meaning that Display Manager will create
and manage window and drawable for it.
pfvDispPWin::getManaged returns whether pwin has been configured to be
managed by Display Manager (the default), or is intended to be redirected
to an external GUI Toolkit (such as Motif or GTK).
Page 4
pfvDispPWin(3pf) OpenGL Performer 3.2.2 libpfv C++ Reference Pages
XML FILE CONFIGURATION
A pfDispPWin object can be fully configured using an xml tag by passing
an XmlNode to pfvDispPipe::createPWin. If a <pwin> tag is found inside a
pipe tag <pipe> the pipe will autimatically create a new pwin by parsing
<pwin> tag.
The list of valid tags inside <pwin> is:
<name> a string that should uniquely identify pwin
<fullscreen> a boolean specifying whether pwin should occupy the
whole screen
<orig> two comma-separated floats specifying pwin's origin
<size> two comma-separated floats specifying pwin's size
<border> a boolean specifying whether pwin should have a border
or not
<title> sets the title of the pipe window
<visualId> an int, specifying the OpenGL X visual id for this
pwin
<fbConfig> describing the desired framebuffer configuration. This
tag should contain a number of child tags, each
corresponding to a frame-buffer attribute token which
will be passed on to method pfuChooseFBConfig during
configuration of pipe window. The following is a list
of all accepted tags, and their corresponding frame-
buffer configuration tokens (see man
pfWindow::setFBConfigAttrs):
<rgba> -> PFFB_RGBA
<doubleBuffer> -> PFFB_DOUBLEBUFFER
<red> -> PFFB_RED_SIZE
<green> -> PFFB_GREEN_SIZE
<blue> -> PFFB_BLUE_SIZE
<alpha> -> PFFB_ALPHA_SIZE
<depth> -> PFFB_DEPTH_SIZE
<stencil> -> PFFB_STENCIL_SIZE
<accum_red> -> PFFB_ACCUM_RED_SIZE
<accum_green> -> PFFB_ACCUM_GREEN_SIZE
<accum_blue> -> PFFB_ACCUM_BLUE_SIZE
<accum_alpha> -> PFFB_ACCUM_ALPHA_SIZE
<sample_bufs> -> PFFB_SAMPLE_BUFFER
<samples> -> PFFB_SAMPLES
Page 5
pfvDispPWin(3pf) OpenGL Performer 3.2.2 libpfv C++ Reference Pages
<managed> A boolean determining whether pwin should be directly
managed by the Display Manager (defaut is 1).
<chan> creates a new pfvDispChan object on this pipewindow.
See man page for pfvDispChan for details.
NOTESSEE ALSO
pfvXml, pfvDisplayMngr, pfvViewer, pfvDispPipe, pfvDispChan,
pfPipeWindow, pfuChooseFBConfig
Page 6