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
WTBOARDDOCUMENTpDoc
WTBOARDPAGEpPage
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
BITMAP bm
HBITMAP hBitmap
HBITMAP hOldBmp
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   
 

Constructor...


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
[virtual]
 

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
[virtual]
 

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
[virtual]
 

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,
WTBOARDDATASTROKE   pStroke
 

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
 

pologon

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
 

pologon

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