void sendtofocus(struttura *str,int keycode)
/* funzione introdotta per compatibilità al t9*/
{
 sendKey(str->display,str->win,str->winRoot,keycode,getModifier(str,keycode)+str->modifier);
}
示例#2
0
/*
====================
exportNode
====================
*/
void G3DAExport::exportNode( INode* i_node, NODE* parent )
{
	// if it is hidden?
	bool include = false;
	if(!i_node->IsHidden()) include = true;

	// get the result of the pipeline at the current time 	
	Object *obj = i_node->EvalWorldState(mTime).obj;
	if(obj)
	{
		if(obj->ClassID() == Class_ID(TARGET_CLASS_ID, 0)) include = false;
		if(obj->ClassID() == Class_ID(0x74f93b07, 0x1eb34300)) include = false;
		if(obj->ClassID() == Class_ID(BOXOBJ_CLASS_ID, 0)) include = false;
		if(obj->ClassID() == Class_ID(SPHERE_CLASS_ID, 0)) include = false;
		if(obj->ClassID() == Class_ID(CYLINDER_CLASS_ID, 0)) include = false;
		if(obj->ClassID() == Class_ID(CONE_CLASS_ID, 0)) include = false;
		if(obj->SuperClassID() == CAMERA_CLASS_ID) include = false;
		if(obj->SuperClassID() == LIGHT_CLASS_ID) include = false;
		if(obj->SuperClassID() == SHAPE_CLASS_ID) include = false;
	}

	// if this node is renderable?
	if(include)
	{
		if(getModifier(i_node,Class_ID(PHYSIQUE_CLASS_ID_A, PHYSIQUE_CLASS_ID_B)) != NULL)
		{
			include = false;
		}

		if(getModifier(i_node,SKIN_CLASSID) != NULL)
		{
			mSkins.push_back(i_node);
			include = false;
		}
	}

	// the new node
	NODE* this_node = new NODE;
	MAX_CHECK(this_node);
	if(parent==NULL)
	{
		mRoot = this_node;		
	}
	else
	{
		parent->children.push_back(this_node);
		this_node->parent = parent;
	}
	this_node->i_node = i_node;
	this_node->include = include;
	this_node->name = i_node->GetName();
	if(this_node->include)
	{
		NODE* parent = this_node->parent;
		while(parent)
		{
			parent->include = true;
			parent = parent->parent;
		}
	}	

	// process the child node
	for(int i = 0; i < i_node->NumberOfChildren(); i++)
	{
		exportNode(i_node->GetChildNode(i),this_node);
	}
}
void writeSimbol(struttura *str,lbutton *listSibolOnButton,int number)//listsibol puntatore alla lista simbolo del pulsante cliccato
{
 int revert;
 time_t tnow;
 double t_diff;
 tnow=time(NULL);
 t_diff=difftime(tnow,listSibolOnButton->timeSelected);
 listSibolOnButton->timeSelected=tnow;
 XGetInputFocus(str->display, &str->win, &revert);

 if(!((t_diff>=0)&&(t_diff<=1.0)))
 {
   str->indexSimbol=0;//indice 
   if(str->ins.index<LEN_WORD_DB)//aggiunto ora
    str->ins.index++;//indice del vettore dei numeri associati nel caso di nuovo inserimento t9 dizionario eventuale
 }
 else
 {
   str->indexSimbol=(str->indexSimbol==listSibolOnButton->len-1)?0:str->indexSimbol+1;   
   sendKey(str->display,str->win,str->winRoot,XK_BackSpace,0);
 }
 sendKey(str->display,str->win,str->winRoot,listSibolOnButton->simbol[str->indexSimbol],getModifier(str,listSibolOnButton->simbol[str->indexSimbol])+ str->modifier);
 str->ins.key_numbers[str->ins.index]='0'+number;  //numero etichetta del pulsante
 str->ins.new_word[str->ins.index]=listSibolOnButton->simbol[str->indexSimbol];
}
示例#4
0
// See mousePressEvent
void QtCanvas::keyReleaseEvent(QKeyEvent* event) {
    tgt::KeyEvent* ke = new tgt::KeyEvent(getKey(event->key()), getModifier(event), false);
    eventHandler_->broadcast(ke);
    QGLWidget::keyReleaseEvent(event);
}
示例#5
0
// See mousePressEvent
void QtCanvas::mouseDoubleClickEvent(QMouseEvent* e) {
    tgt::MouseEvent* dcEv = new tgt::MouseEvent(e->x(), e->y(), tgt::MouseEvent::DOUBLECLICK,
                                                getModifier(e), getButton(e), tgt::ivec2(width(), height()));
    eventHandler_->broadcast(dcEv);
    QGLWidget::mouseDoubleClickEvent(e);
}
示例#6
0
// See mousePressEvent
void QtCanvas::mouseMoveEvent(QMouseEvent*  e) {
    tgt::MouseEvent* movEv = new tgt::MouseEvent(e->x(), e->y(), tgt::MouseEvent::MOTION,
        getModifier(e), getButtons(e), tgt::ivec2(width(), height())); // FIXME: submit information which mouse buttons are pressed
    eventHandler_->broadcast(movEv);
    QGLWidget::mouseMoveEvent(e);
}
示例#7
0
// See mousePressEvent
void QtCanvas::mouseReleaseEvent (QMouseEvent* e) {
    tgt::MouseEvent* relEv = new tgt::MouseEvent(e->x(), e->y(), tgt::MouseEvent::RELEASED,
        getModifier(e), getButton(e), tgt::ivec2(width(), height()));
    eventHandler_->broadcast(relEv);
    QGLWidget::mouseReleaseEvent(e);
}
示例#8
0
void QtCanvas::mousePressEvent(QMouseEvent* e) {
    tgt::MouseEvent* prEv = new tgt::MouseEvent(e->x(), e->y(), tgt::MouseEvent::PRESSED,
        getModifier(e), getButton(e), tgt::ivec2(width(), height()));
    eventHandler_->broadcast(prEv);
    QGLWidget::mousePressEvent(e);
}