Main Page   Compound List   File List   Compound Members   File Members  

vpiWhiteboard Class Reference

#include <vpiwhiteboard.h>

List of all members.

Public Methods

void InitSharedData (int netid)
void HandleSharedDataUpdate (void *in)
void Render (bool bForce=false)
void PosWTBToClient (POINT *p, RECT *prcClient)
void PressureGlobalToClient (unsigned char *p, int widthmin, int widthmax)
 vpiWhiteboard (void)
virtual void Init (char *name, vpiContext *vpictx, VRT_Context *pvrtctx, VRT_Node *parent, char **params, int pnetworkid)
virtual void ProcessMessage (char *sender, char *message, void *usrdata)
virtual void Interaction (int action, int keyboard_key, float *ray, int *mousepos, MSG msg)
virtual void Focus ()
virtual void LostFocus ()
virtual void Close ()
void SendOneStroke (WTBOARDPAGE *pPage, WTBOARDDATASTROKE *pStroke)
void SendAllPages ()
void UpdatePenPos ()
void UpdateClientDocuments (bool isShowActivePage=false)

Public Attributes

VRT_Node * n_board
VRT_Geometry * g_board
VRT_Htx t_board
VRT_HPlg p_board
unsigned char texels [TEXTURE_SIZE *TEXTURE_SIZE *4]
float width
float height
int pointer_to_show
VRT_Node * n_pointer
VRT_Geometry * g_pointer
bool m_bShowPenPosDirty
bool m_bRenderDirty
unsigned char * m_pSharedStroke
unsigned char * m_pSharedCmd
COLORREF * m_pSharedClrCurrent
UINT * m_pSharedCurrentPage
BOOL * m_pSharedIsWtBusy
BOOL * m_pSharedIsUpdatingClients
POINT * m_pSharedPenPos

Private Methods

void FullScreen ()

Private Attributes

HFONT font
HDC hBitmapDC
HBRUSH brush
RECT rectClient

Detailed Description

Creates the vpiWhiteboard.dll for use with the VASE Plugin environment

Constructor & Destructor Documentation

vpiWhiteboard::vpiWhiteboard void   


Member Function Documentation

void vpiWhiteboard::Close   [virtual]

The Close function enables the plug-in creator to make a clean destruction of an plug-in instance

void vpiWhiteboard::Focus   [virtual]

Focus defines what happens if this plug-in gets focus. A plug-in will get focus if any of the VRT nodes created under the parent node is clicked on by the user.

void vpiWhiteboard::FullScreen   [private]

Sends a message to the vpiAvatar which centers a fullscreen view of the vpiWhiteboard

void vpiWhiteboard::HandleSharedDataUpdate void *    in

Shared data handling functions

void vpiWhiteboard::Init char *    name,
vpiContext *    vpictx,
VRT_Context *    pvrtctx,
VRT_Node *    parent,
char **    params,
int    pnetworkid

The Init function is called by the main application at the creation of a new plug-in instance

void vpiWhiteboard::InitSharedData int    netid

Shared data handling functions

void vpiWhiteboard::Interaction int    action,
int    keyboard_key,
float *    ray,
int *    mousepos,
MSG    msg

Interaction takes care of user input. The actions that can be received is defined in vpiClass.h.

void vpiWhiteboard::LostFocus   [virtual]

LostFocus defines what happens when a plug-in looses focus. Only one plug-in instance can have focus at a given point in time.

void vpiWhiteboard::PosWTBToClient POINT *    p,
RECT *    prcClient

Scale WTB coordinates to the coordinates of the texture set in rectClient

void vpiWhiteboard::PressureGlobalToClient unsigned char *    p,
int    widthmin,
int    widthmax

Adapt the global

void vpiWhiteboard::ProcessMessage char *    sender,
char *    message,
void *    usrdata

ProcessMessage handles messages sent to us from another plug-in. The messages accepted is defined by the plug-in creator.

void vpiWhiteboard::Render bool    bForce = false

Renders the whiteboard by updating the texturemap attached to the n_board VRT_NODE The board should be rendered only when VRT is in VI_SIMULATION_LOOP

void vpiWhiteboard::SendAllPages  

Sends all pages from this client to all other clients

void vpiWhiteboard::SendOneStroke WTBOARDPAGE   pPage,

Sends one strokes to all other clients

void vpiWhiteboard::UpdateClientDocuments bool    isShowActivePage = false

Clears all other clients WTBOARDDOCUMENTS and broadcasts this clients WTBOARDDOCUMENT

Currently this happens every time a pages is inserted, added, removed or cleared (inefficient should be redesigned)

void vpiWhiteboard::UpdatePenPos  

Indicates that the wacom digitizers position should be updated on whiteboard

Member Data Documentation

BITMAP vpiWhiteboard::bm [private]

Some Windows objects and handles for printing text to a bitmap.

HBRUSH vpiWhiteboard::brush [private]

Some Windows objects and handles for printing text to a bitmap.

HFONT vpiWhiteboard::font [private]

Some Windows objects and handles for printing text to a bitmap.

VRT_Geometry* vpiWhiteboard::g_board

Defines the geometry describing the vpiWhiteboard

VRT_Geometry* vpiWhiteboard::g_pointer

geometry of the n_pointer

HBITMAP vpiWhiteboard::hBitmap [private]

Some Windows objects and handles for printing text to a bitmap.

HDC vpiWhiteboard::hBitmapDC [private]

Some Windows objects and handles for printing text to a bitmap.

float vpiWhiteboard::height

width and hight in VRT units, typically width 1.5 and height 1.0

HBITMAP vpiWhiteboard::hOldBmp [private]

Some Windows objects and handles for printing text to a bitmap.

bool vpiWhiteboard::m_bRenderDirty

true and dirty if the whiteboard needs to be rendered

bool vpiWhiteboard::m_bShowPenPosDirty

true and dirty if the pen position needs to be updated

COLORREF* vpiWhiteboard::m_pSharedClrCurrent

The current color of the drawin tool

unsigned char* vpiWhiteboard::m_pSharedCmd

The current command sent by one of the clients

UINT* vpiWhiteboard::m_pSharedCurrentPage

The current active page of the whiteboard

BOOL* vpiWhiteboard::m_pSharedIsUpdatingClients

TRUE if the current client is updating all other clients with its content

BOOL* vpiWhiteboard::m_pSharedIsWtBusy

TRUE if some one else is interacting with the whiteboard

POINT* vpiWhiteboard::m_pSharedPenPos

The current position of the WinTab/Wacom device pointer -> moves n_pointer

unsigned char* vpiWhiteboard::m_pSharedStroke

The current stroke sent by one of the clients

VRT_Node* vpiWhiteboard::n_board

Defines the node to which the vpiWhiteboard is attached

VRT_Node* vpiWhiteboard::n_pointer

the VRT_NODE to which the WinTab/Wacom device position is tied

VRT_HPlg vpiWhiteboard::p_board


WTBOARDDOCUMENT* vpiWhiteboard::pDoc

The document containing the strokes of the whiteboard

int vpiWhiteboard::pointer_to_show

deprecated - which clients pointer should be shown to all other clients

WTBOARDPAGE* vpiWhiteboard::pPage

Page of the whiteboard

RECT vpiWhiteboard::rectClient [private]

Some Windows objects and handles for printing text to a bitmap.

VRT_Htx vpiWhiteboard::t_board


unsigned char vpiWhiteboard::texels[TEXTURE_SIZE * TEXTURE_SIZE * 4]

texturemap describing content of the vpiWhiteboard

float vpiWhiteboard::width

width and hight in VRT units, typically width 1.5 and height 1.0

The documentation for this class was generated from the following files:
Generated on Mon Sep 9 21:01:18 2002 for vpiWhiteboard by doxygen1.2.17