WXP C++ Library Version 6.74.9
|
This class plots data to the X Windows device. More...
#include "../include/XWindow.h"
Public Member Functions | |
XWindow () | |
~XWindow () | |
int | init () |
int | setParam (const char *str) |
int | open () |
int | getDevice (String &str) |
int | resize (float rwidth, float rheight) |
int | addCallback (const char *event, Listener *list, const void *data) |
int | doCallback (const char *ev_str, const char *ev_data) |
void | callback (const char *ev_str, const char *ev_data, const void *data) |
int | close () |
int | setFocus () |
int | unsetFocus () |
int | update () |
int | clear () |
int | clearRect (Rect &rect) |
int | manage () |
int | unmanage () |
int | setTitle (const char *str) |
const char * | getTitle () |
int | setIcon (bool val) |
int | setFixed (bool val) |
int | setCursor (int type) |
int | getCursor () |
int | setInverse (bool val) |
bool | getInverse () |
int | setBackground (const char *str) |
int | setSize (float rwidth, float rheight) |
int | getSize (float &width, float &height) |
float | getWidth () |
float | getHeight () |
int | setOffset (float rx, float ry) |
int | getOffset (float &x, float &y) |
int | getCoords (Rect &rect) |
Rect | getCoords () |
int | allocColor (float red, float grn, float blu) |
int | setColor (int type, int ind) |
int | setLineWidth (int type, float width) |
int | setLineStyle (int type, int style) |
int | setFillStyle (int type, int style) |
int | drawLine (int type, float x1, float y1, float x2, float y2) |
int | drawLine (int type, Points &pts) |
int | drawFill (int type, Points &pts) |
int | setImageAlign (int h, int v) |
int | drawImage (Image &image, float x, float y) |
int | drawImage (Image &image, int bgcolor, float x, float y) |
int | getImage (Image &image) |
int | setFont (const char *name) |
int | setTextAlign (int h, int v) |
int | drawText (Point &pt, const char *str) |
Rect | getClip () |
int | setClip (float x1, float y1, float x2, float y2) |
int | setClip (Rect rect) |
Pixmap | getFramePixmap (int ind) |
int | copyFrame (int dest, int src) |
int | displayFrame (int ind) |
int | clearFrame (int ind) |
int | newFrame (int ind) |
int | newFrame () |
bool | isLooping () |
int | getFrame () |
int | setFrame (int ind) |
int | incFrame (int step) |
int | deleteFrame (int ind) |
int | deleteFrame () |
int | getNumFrames () |
int | loopRate (int dir) |
int | toggleLoop () |
int | message (const char *str) |
int | printGC (int type) |
int | bell (int len) |
virtual int | init ()=0 |
virtual int | setParam (const char *str)=0 |
virtual int | open ()=0 |
virtual int | getDevice (String &str)=0 |
virtual int | resize (float rwidth, float rheight)=0 |
virtual int | manage ()=0 |
virtual int | unmanage ()=0 |
virtual int | addCallback (const char *event, Listener *list, const void *data)=0 |
virtual int | doCallback (const char *ev_str, const char *ev_data)=0 |
virtual void | callback (const char *ev_str, const char *ev_data, const void *data)=0 |
virtual int | close ()=0 |
virtual int | update ()=0 |
virtual int | clear ()=0 |
virtual int | clearRect (Rect &rect)=0 |
virtual int | setTitle (const char *str)=0 |
virtual int | setIcon (bool val)=0 |
virtual int | setFixed (bool val)=0 |
virtual int | setInverse (bool val)=0 |
virtual bool | getInverse ()=0 |
virtual int | setBackground (const char *str)=0 |
virtual int | setSize (float rwidth, float rheight)=0 |
virtual int | getSize (float &width, float &height)=0 |
virtual float | getWidth ()=0 |
virtual float | getHeight ()=0 |
virtual int | setOffset (float rx, float ry)=0 |
virtual int | getOffset (float &x, float &y)=0 |
virtual int | getCoords (Rect &rect)=0 |
virtual Rect | getCoords ()=0 |
virtual int | allocColor (float red, float grn, float blu)=0 |
virtual int | setColor (int type, int ind)=0 |
virtual int | setLineWidth (int type, float width)=0 |
virtual int | setLineStyle (int type, int style)=0 |
virtual int | setFillStyle (int type, int style)=0 |
virtual int | drawLine (int type, float x1, float y1, float x2, float y2)=0 |
virtual int | drawLine (int type, Points &pts)=0 |
virtual int | drawFill (int type, Points &pts)=0 |
virtual int | setImageAlign (int h, int v)=0 |
virtual int | drawImage (Image &image, float x, float y)=0 |
virtual int | drawImage (Image &image, int bgcolor, float x, float y)=0 |
virtual int | getImage (Image &image)=0 |
virtual int | setFont (const char *name)=0 |
virtual int | setTextAlign (int h, int v)=0 |
virtual int | drawText (Point &pt, const char *str)=0 |
virtual Rect | getClip ()=0 |
virtual int | setClip (float x1, float y1, float x2, float y2)=0 |
virtual int | setClip (Rect rect)=0 |
virtual int | setCursor (int type)=0 |
virtual int | copyFrame (int dest, int src)=0 |
virtual int | displayFrame (int ind)=0 |
virtual int | clearFrame (int ind)=0 |
virtual int | newFrame (int ind)=0 |
virtual int | newFrame ()=0 |
virtual bool | isLooping ()=0 |
virtual int | getFrame ()=0 |
virtual int | setFrame (int ind)=0 |
virtual int | incFrame (int step)=0 |
virtual int | deleteFrame (int ind)=0 |
virtual int | getNumFrames ()=0 |
virtual int | message (const char *str)=0 |
virtual int | bell (int len)=0 |
virtual void | callback (const char *ev_str, const char *ev_data, const void *data)=0 |
Static Public Member Functions | |
static int | mainloop () |
static int | waitEvent () |
static int | checkEvent () |
static int | addWindow (Window &win) |
static int | processEvent (XEvent *event) |
static int | procCallback (Window win, int type, const char *ev_str, const char *ev_data) |
static int | newCallback (Window win, int event, Listener *list, const void *data) |
static int | deleteCallbacks (Window) |
static int | errorHandler (Display *dpy, XErrorEvent *error) |
static int | errorIOHandler (Display *dpy) |
Static Public Attributes | |
static const int | AnyEvent = 0 |
static const int | Redraw = 50 |
static const int | WINDOW = 1 |
static const int | PIXMAP = 2 |
static const int | CURSOR_X = 0 |
static const int | CURSOR_PTR = 1 |
static const int | CURSOR_MOVE = 2 |
static const int | CURSOR_LOOP = 3 |
static const int | CURSOR_STOP = 4 |
static const int | CURSOR_DRAW = 5 |
static const int | CURSOR_RECT = 6 |
static const int | CURSOR_PLUS = 6 |
static const int | CURSOR_TEXT = 7 |
static const int | CURSOR_WAIT = 8 |
Static Public Attributes inherited from WXP::Device | |
static const int | BASE = 0 |
static const int | LINE = 1 |
static const int | MARK = 2 |
static const int | FILL = 3 |
static const int | TEXT = 4 |
static const int | LAST = -1 |
static const int | CUR = -2 |
static const int | WIN = -3 |
static const int | ALL = -4 |
static const int | CURSOR_X = 0 |
static const int | CURSOR_PTR = 1 |
static const int | CURSOR_MOVE = 2 |
static const int | CURSOR_LOOP = 3 |
static const int | CURSOR_STOP = 4 |
static const int | CURSOR_DRAW = 5 |
static const int | CURSOR_RECT = 6 |
static const int | CURSOR_PLUS = 6 |
static const int | CURSOR_TEXT = 7 |
static const int | CURSOR_WAIT = 8 |
static const int | ALIGN_HLEFT = 1 |
static const int | ALIGN_HCENTER = 2 |
static const int | ALIGN_HRIGHT = 3 |
static const int | ALIGN_VBOTTOM = 1 |
static const int | ALIGN_VCENTER = 2 |
static const int | ALIGN_VTOP = 3 |
This class plots data to the X Windows device.
XWindow::XWindow | ( | ) |
Constructor. Initializes class data
References init().
XWindow::~XWindow | ( | ) |
Destructor. Closes down X Windows
References close().
|
virtual |
Adds a new callback to the callback list
event | Event on which to invoke callback |
list | Listener class containing callback method |
data | User specified data to be sent with callback |
Implements WXP::Device.
References WXP::StrLib::equal(), and newCallback().
|
virtual |
Allocates a color into the device specific color database
red | Red value (0-1) |
grn | Green value (0-1) |
blu | Blue value (0-1) |
Implements WXP::Device.
Referenced by drawImage(), and drawImage().
|
virtual |
|
virtual |
Internal callback for processing events specific to this class
ev_str | Event description (string) |
ev_data | Additional data from event |
data | User specified data |
Implements WXP::Device.
References deleteFrame(), WXP::StrLib::equal(), incFrame(), loopRate(), procCallback(), resize(), toggleLoop(), and update().
|
static |
Checks to see if an event is present in queue and then sends it to process_event
display | Display to query events |
References processEvent().
Referenced by mainloop().
|
virtual |
Clears the window, painting it with background color
Implements WXP::Device.
Referenced by deleteFrame().
|
virtual |
Clears a frame in loop
ind | Index in loop to clear |
Implements WXP::Device.
References getFramePixmap().
Referenced by newFrame().
|
virtual |
Implements WXP::Device.
|
virtual |
|
virtual |
Copies a frame
dest | Destination index in loop |
src | Source index in loop |
Implements WXP::Device.
References getFramePixmap(), and WXP::Wxp::outDebug().
Referenced by displayFrame().
int XWindow::deleteFrame | ( | ) |
Deletes all frames in the loop
References deleteFrame().
Referenced by callback(), close(), and deleteFrame().
|
virtual |
Deletes a frame in the loop
ind | Index of the frame to delete |
Implements WXP::Device.
References clear(), displayFrame(), WXP::Wxp::outDebug(), and update().
|
virtual |
Displays a frame
ind | Index in loop to display |
Implements WXP::Device.
References copyFrame(), WXP::Wxp::outDebug(), and update().
Referenced by deleteFrame(), and incFrame().
|
virtual |
Implements WXP::Device.
|
virtual |
Draws a filled area
type | Graphics type (LINE,MARK,FILL,TEXT) |
num | Number of points |
pt | Array of points |
Implements WXP::Device.
References WXP::Points::getNum(), WXP::Points::getX1(), and WXP::Points::getY1().
|
virtual |
Draws an image
image | Image to use |
x | X location of image |
y | Y location of image |
Implements WXP::Device.
References allocColor(), WXP::Image::getPixel(), WXP::Image::setColorVal(), and WXP::Image::validData().
|
virtual |
Draws a transparent image
image | Image to use |
bgcolor | Color to make transparent in image |
x | X location of upper right corner of image |
y | Y location of upper right corner of image |
Implements WXP::Device.
References allocColor(), WXP::Image::getPixel(), WXP::Image::setColorVal(), and WXP::Image::validData().
|
virtual |
Draws a line
type | Graphics type (LINE,MARK,FILL,TEXT) |
x1 | First X point |
y1 | First Y point |
x2 | Second X point |
y2 | Second Y point |
Implements WXP::Device.
|
virtual |
Draws a line
type | Graphics type (LINE,MARK,FILL,TEXT) |
pts | Array of points |
Implements WXP::Device.
References WXP::Points::getNum(), WXP::Points::getX1(), and WXP::Points::getY1().
|
virtual |
Draws text to window using device fonts
pt | Location of text |
str | String to plot |
Implements WXP::Device.
References WXP::Point::x, and WXP::Point::y.
|
static |
|
static |
X IO error handler. Usually called when connection broken to X server. Causes program to exit.
dpy | X display |
Referenced by open().
|
virtual |
Gets the current device specific clip rectangle
Implements WXP::Device.
|
virtual |
|
virtual |
Gets the window coordinates
rect | Coordinates |
Implements WXP::Device.
References WXP::Rect::set().
|
virtual |
Returns device specification for direct access to window
str | Output string with specification |
Implements WXP::Device.
References WXP::String::printf().
|
virtual |
Pixmap XWindow::getFramePixmap | ( | int | ind | ) |
Gets the Pixmap ID (local)
ind | Index into loop |
Referenced by clearFrame(), and copyFrame().
|
inlinevirtual |
Implements WXP::Device.
|
virtual |
Gets an image from the drawing window
image | Image class to put image into |
Implements WXP::Device.
References WXP::Image::allocData(), WXP::Image::init(), and WXP::Image::setPixel().
|
virtual |
|
virtual |
|
virtual |
Gets the window offset
rx | Upper left X position |
ry | Upper left Y position |
Implements WXP::Device.
|
virtual |
|
inlinevirtual |
Implements WXP::Device.
|
virtual |
Increments frame in the loop
step | Step increment (usually 1 or -1) |
Implements WXP::Device.
References displayFrame().
Referenced by callback(), and mainloop().
|
virtual |
|
virtual |
int XWindow::loopRate | ( | int | dir | ) |
Changes loop rate
dir | 1 = faster, -1 = slower |
References WXP::Wxp::outDebug().
Referenced by callback().
|
static |
Main loop of program that just waits for events to be processed
References checkEvent(), incFrame(), procCallback(), and setCursor().
Referenced by manage().
|
virtual |
|
virtual |
|
static |
Adds a new callback into callback queue
win | Window to process data on |
event | Event type |
list | Listener class to call when event occurs |
data | User specific data to send Listener class |
Referenced by addCallback(), and open().
|
virtual |
Creates a new frame at end of loop
Implements WXP::Device.
References newFrame().
Referenced by newFrame().
|
virtual |
Creates a new frame
ind | Index in loop to insert new frame |
Implements WXP::Device.
References clearFrame().
|
virtual |
Opens a window
Implements WXP::Device.
References WXP::StrLib::clear(), WXP::StrLib::equal(), errorHandler(), errorIOHandler(), newCallback(), WXP::Wxp::outWarning(), WXP::StrLib::replace(), and WXP::StrLib::valid().
int XWindow::printGC | ( | int | type | ) |
Prints the contents of a X11 Graphics Context
type | Type of graphics context to print |
|
static |
Passes event information to each of the callbacks
win | Applicable window |
type | Event type |
ev_str | Event name |
ev_data | Event specific data |
Referenced by callback(), mainloop(), and processEvent().
|
static |
Processes a single event and passes data onto callbacks
event | X Event structure for the event |
References WXP::Wxp::outDebug(), and procCallback().
Referenced by checkEvent(), and waitEvent().
|
virtual |
Resizes the window
rwidth | New width |
rheight | New height |
Implements WXP::Device.
References WXP::Wxp::outDebug().
Referenced by callback().
|
virtual |
Sets the window title in title bar (internal reference only)
str | Title string |
Implements WXP::Device.
References WXP::StrLib::copy().
|
virtual |
Sets the clipping rectangle
x1 | Upper left X point |
y1 | Upper left Y point |
x2 | Lower right X point |
y2 | Lower right Y point |
Implements WXP::Device.
Referenced by setClip().
|
virtual |
Sets the clipping rectangle
rect | Rectangle class with clipping information |
Implements WXP::Device.
References setClip(), WXP::Rect::xmax, WXP::Rect::xmin, WXP::Rect::ymax, and WXP::Rect::ymin.
|
virtual |
Sets the color for each graphics type
type | Graphics type (LINE,MARK,FILL,TEXT) |
ind | Device color index (see allocColor) |
Implements WXP::Device.
|
virtual |
Sets the cursor type
type | Cursor type (CURSOR_PTR, CURSOR_STOP,...) |
Implements WXP::Device.
Referenced by mainloop(), and toggleLoop().
|
virtual |
Sets the fill style
type | Graphics type (LINE,MARK,FILL,TEXT) |
width | Style (0=solid, >0=patterned) |
Implements WXP::Device.
|
virtual |
Sets whether window size is fixed (not resizable)
val | true=not resizable |
Implements WXP::Device.
int XWindow::setFocus | ( | ) |
Sets the focus on the window
|
virtual |
Sets the text font to use in drawing
name | Descriptive name of font |
size | Size of font (for fixed fonts) |
Implements WXP::Device.
References WXP::StrLib::copy(), WXP::StrLib::index(), WXP::Wxp::outDebug(), WXP::Wxp::outWarning(), and WXP::StrLib::splice().
|
virtual |
Sets the drawing frame in loop. All drawing primitives will be done to this frame
ind | Index in loop to use |
Implements WXP::Device.
|
virtual |
|
virtual |
Sets the image alignment
h | Horizontal alignment |
v | Vertical alignment |
Implements WXP::Device.
|
virtual |
|
virtual |
Sets the line style
type | Graphics type (LINE,MARK,FILL,TEXT) |
width | Style (1=solid, >1=patterned) |
Implements WXP::Device.
|
virtual |
Sets the line width
type | Graphics type (LINE,MARK,FILL,TEXT) |
width | Width (1=normal) |
Implements WXP::Device.
|
virtual |
Sets the offset of the window on the display
rx | Upper left X coordinate |
ry | Upper left Y coordinate |
Implements WXP::Device.
|
virtual |
Sets parameters for the X Windows display
str | String containing parameters |
Implements WXP::Device.
References WXP::StrLib::copy(), WXP::Strings::equal(), WXP::Strings::getChar(), WXP::Strings::getLength(), WXP::Strings::getNum(), WXP::Strings::getString(), WXP::Strings::index(), and WXP::Strings::scanf().
|
virtual |
|
virtual |
Sets the text alignment
h | Horizontal alignment |
v | Vertical alignment |
Implements WXP::Device.
|
virtual |
Sets the window title in title bar
str | Title string |
Implements WXP::Device.
References WXP::StrLib::copy().
int XWindow::toggleLoop | ( | ) |
|
virtual |
Exits out of event manager
Implements WXP::Device.
int XWindow::unsetFocus | ( | ) |
Unsets the focus on the window
|
virtual |
Refreshes/updates the display for expose events
Implements WXP::Device.
Referenced by callback(), deleteFrame(), and displayFrame().
|
static |
Waits on the next event and sends it to process_event
display | Display to query events |
References processEvent().