本文整理汇总了C++中MouseEventUnrecPtr类的典型用法代码示例。如果您正苦于以下问题:C++ MouseEventUnrecPtr类的具体用法?C++ MouseEventUnrecPtr怎么用?C++ MouseEventUnrecPtr使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了MouseEventUnrecPtr类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: mouseReleased
virtual void mouseReleased(const MouseEventUnrecPtr e)
{
if(dynamic_cast<WindowEventProducer*>(e->getSource())->getKeyModifiers() & KeyEvent::KEY_MODIFIER_CONTROL)
{
mgr->mouseButtonRelease(e->getButton(), e->getLocation().x(), e->getLocation().y());
}
}
示例2: TheColumn
void TableHeader::MarginDraggedListener::mouseDragged(const MouseEventUnrecPtr e)
{
if(e->getButton() == e->BUTTON1)
{
Pnt2f MousePosInComponent = ViewportToComponent(e->getLocation(), TableHeaderRefPtr(_TableHeader), e->getViewport());
TableColumnRefPtr TheColumn(_TableHeader->getColumnModel()->getColumn(_TableHeader->_ResizingColumn));
Real32 NewWidth(MousePosInComponent.x() - _TableHeader->getColumnHeaders(_TableHeader->_ResizingColumn)->getPosition().x());
if(NewWidth <= 0 || NewWidth < TheColumn->getMinWidth())
{
NewWidth = TheColumn->getMinWidth();
}
if(NewWidth > TheColumn->getMaxWidth())
{
NewWidth = TheColumn->getMaxWidth();
}
//Get the new desired center for this margin
TheColumn->setWidth(NewWidth);
_TableHeader->updateLayout();
}
}
示例3: ViewportToComponent
void Slider::KnobDraggedListener::mouseDragged(const MouseEventUnrecPtr e)
{
if(e->getButton() == e->BUTTON1)
{
Pnt2f MousePosInComponent = ViewportToComponent(e->getLocation(), _Slider, e->getViewport());
Pnt2f BorderTopLeft, BorderBottomRight;
_Slider->getInsideInsetsBounds(BorderTopLeft, BorderBottomRight);
UInt16 MajorAxis, MinorAxis;
if(_Slider->getOrientation() == VERTICAL_ORIENTATION)
{
MajorAxis = 1;
}
else
{
MajorAxis = 0;
}
MinorAxis = (MajorAxis+1)%2;
if(_Slider->getInverted())
{
MousePosInComponent[MajorAxis] = _Slider->getTrackMax() - (MousePosInComponent[MajorAxis] - _Slider->getTrackMin());
}
_Slider->setValue( _Slider->getMinimum() + (_Slider->getMaximum() - _Slider->getMinimum()) * (MousePosInComponent[MajorAxis] - _Slider->getTrackMin())/static_cast<Int32>(_Slider->getTrackLength()) );
}
}
示例4: mouseDragged
virtual void mouseDragged(const MouseEventUnrecPtr e)
{
if(TutorialWindow->getKeyModifiers() & KeyEvent::KEY_MODIFIER_CAPS_LOCK)
{
mgr->mouseMove(e->getLocation().x(), e->getLocation().y());
}
}
示例5: ComponentMousePosition
void ScrollBar::ScrollBarDraggedListener::mouseDragged(const MouseEventUnrecPtr e)
{
Pnt2f ComponentMousePosition(ViewportToComponent(e->getLocation(), _ScrollBar, e->getViewport()));
_ScrollBar->setMajorAxisScrollBarPosition(_InitialScrollBarPosition + (ComponentMousePosition - _InitialMousePosition));
//std::cout << "Diff "<< _InitialMousePosition[AxisIndex] - ComponentMousePosition[AxisIndex] << std::endl;
}
示例6: switch
void ContentPanel::SceneEditorPanelListener::mouseClicked(const MouseEventUnrecPtr e)
{
switch (e->getButton())
{
case MouseEvent::BUTTON1:
//Cast a ray into the scene and select the closest node
_ContentPanel->_ApplicationPlayer->selectNode(e->getLocation());
break;
}
}
示例7: mouseClicked
virtual void mouseClicked(const MouseEventUnrecPtr e)
{
if(e->getButton()== MouseEvent::BUTTON1)
{
}
if(e->getButton()== MouseEvent::BUTTON3)
{
}
}
示例8: BottomRight
void InternalWindow::BorderDraggedListener::mouseDragged(const MouseEventUnrecPtr e)
{
Vec2f Size;
bool PositionChange;
Pnt2f Position;
Pnt2f BottomRight(_InternalWindow->getPosition() + _InternalWindow->getSize());
switch(_BorderDragged)
{
case WINDOW_LEFT_BORDER:
Size.setValues(BottomRight.x() - e->getLocation().x(), _InternalWindow->getPreferredSize().y());
PositionChange = true;
Position = BottomRight - Size;
break;
case WINDOW_RIGHT_BORDER:
PositionChange = false;
Size.setValues(e->getLocation().x() - _InternalWindow->getPosition().x(), _InternalWindow->getPreferredSize().y());
break;
case WINDOW_TOP_BORDER:
Size.setValues(_InternalWindow->getPreferredSize().x(), BottomRight.y() - e->getLocation().y());
PositionChange = true;
Position = BottomRight - Size;
break;
case WINDOW_BOTTOM_BORDER:
PositionChange = false;
Size.setValues(_InternalWindow->getPreferredSize().x(), e->getLocation().y() - _InternalWindow->getPosition().y());
break;
case WINDOW_TOP_LEFT_BORDER:
Size.setValues(BottomRight.x() - e->getLocation().x(), BottomRight.y() - e->getLocation().y());
PositionChange = true;
Position = BottomRight - Size;
break;
case WINDOW_BOTTOM_RIGHT_BORDER:
PositionChange = false;
Size.setValues(e->getLocation().x() - _InternalWindow->getPosition().x(), e->getLocation().y() - _InternalWindow->getPosition().y());
break;
case WINDOW_TOP_RIGHT_BORDER:
Size.setValues(e->getLocation().x() - _InternalWindow->getPosition().x(), BottomRight.y() - e->getLocation().y());
PositionChange = true;
Position.setValues(_InternalWindow->getPosition().x(), BottomRight.y() - Size.y());
break;
case WINDOW_BOTTOM_LEFT_BORDER:
Size.setValues(BottomRight.x() - e->getLocation().x(), e->getLocation().y() - _InternalWindow->getPosition().y());
PositionChange = true;
Position.setValues( BottomRight.x() - Size.x(), _InternalWindow->getPosition().y());
break;
}
if(PositionChange)
{
_InternalWindow->setPreferredSize(Size);
_InternalWindow->setPosition(Position);
}
else
{
_InternalWindow->setPreferredSize(Size);
}
}
示例9:
void InternalWindow::PopupMenuInteractionListener::mouseDragged(const MouseEventUnrecPtr e)
{
for(Int32 i(_InternalWindow->getMFActivePopupMenus()->size()-1) ; i>=0 ; --i)
{
bool isContained = _InternalWindow->getActivePopupMenus(i)->isContained(e->getLocation(), true);
_InternalWindow->checkMouseEnterExit(e,e->getLocation(),_InternalWindow->getActivePopupMenus(i),isContained,e->getViewport());
if(isContained)
{
_InternalWindow->getActivePopupMenus(i)->mouseDragged(e);
return;
}
}
}
示例10: disconnect
void ScrollBar::ScrollBarDraggedListener::mouseReleased(const MouseEventUnrecPtr e)
{
if(e->getButton() == e->BUTTON1)
{
disconnect();
}
}
示例11: mousePressed
virtual void mousePressed(const MouseEventUnrecPtr e)
{
if(dynamic_cast<WindowEventProducer*>(e->getSource())->getKeyModifiers() & KeyEvent::KEY_MODIFIER_CONTROL)
{
mgr->mouseButtonPress(e->getButton(), e->getLocation().x(), e->getLocation().y());
}
else
{
Line TheRay;
if(e->getButton() == MouseEvent::BUTTON1)
{
mgr->getCamera()->calcViewRay(TheRay,e->getLocation().x(),e->getLocation().y(),*(mgr->getWindow()->getPort(0)));
std::cout<<"Velocity "<<TheRay.getDirection()<<std::endl;
}
RocketParticleSystem->addParticle(TheRay.getPosition(),
Vec3f(0.0,1.0f,0.0f),
Color4f(1.0,0.0,0.0,1.0),
Vec3f(1.0,1.0,1.0),
10,
Vec3f(TheRay.getDirection()*50), //Velocity
Vec3f(0.0f,0.0f,0.0f)
);
}
}
示例12:
void ScrollBar::ScrollBarListener::mousePressed(const MouseEventUnrecPtr e)
{
if(_ScrollBar->getEnabled() && e->getButton() == e->BUTTON1)
{
_ScrollBar->_ScrollBarDraggedListener.setInitialMousePosition(ViewportToComponent(e->getLocation(), _ScrollBar, e->getViewport()));
_ScrollBar->_ScrollBarDraggedListener.setInitialScrollBarPosition(_ScrollBar->editScrollBar()->getPosition());
_ScrollBar->getParentWindow()->getDrawingSurface()->getEventProducer()->addMouseMotionListener(&(_ScrollBar->_ScrollBarDraggedListener));
_ScrollBar->getParentWindow()->getDrawingSurface()->getEventProducer()->addMouseListener(&(_ScrollBar->_ScrollBarDraggedListener));
}
}
示例13: disconnect
void Slider::KnobDraggedListener::mouseReleased(const MouseEventUnrecPtr e)
{
if(e->getButton() == e->BUTTON1 &&
_Slider->getParentWindow() != NULL &&
_Slider->getParentWindow()->getDrawingSurface() != NULL &&
_Slider->getParentWindow()->getDrawingSurface()->getEventProducer() != NULL)
{
disconnect();
}
}
示例14: checkMouseMargins
void TableHeader::checkMouseMargins(const MouseEventUnrecPtr e)
{
if(isContainedClipBounds(e->getLocation(), TableHeaderRefPtr(this)))
{
Pnt2f MousePosInComponent = ViewportToComponent(e->getLocation(), TableHeaderRefPtr(this), e->getViewport());
UInt32 CumulativeHeaderWidth(0);
for(UInt32 i(0) ; i<getMFColumnHeaders()->size() ; ++i)
{
CumulativeHeaderWidth += getColumnHeaders(i)->getSize().x();
if(MousePosInComponent.x() >= CumulativeHeaderWidth - getResizingCursorDriftAllowance() &&
MousePosInComponent.x() <= CumulativeHeaderWidth + getColumnModel()->getColumnMargin() + getResizingCursorDriftAllowance())
{
getParentWindow()->getDrawingSurface()->getEventProducer()->setCursorType(WindowEventProducer::CURSOR_RESIZE_W_TO_E);
return;
}
CumulativeHeaderWidth += getColumnModel()->getColumnMargin();
}
}
getParentWindow()->getDrawingSurface()->getEventProducer()->setCursorType(WindowEventProducer::CURSOR_POINTER);
}
示例15: mouseDragged
void InternalWindow::mouseDragged(const MouseEventUnrecPtr e)
{
if(getMenuBar() != NULL)
{
bool isContained;
isContained = getMenuBar()->isContained(e->getLocation(), true);
checkMouseEnterExit(e,e->getLocation(),getMenuBar(),isContained,e->getViewport());
if(isContained)
{
getMenuBar()->mouseDragged(e);
Component::mouseDragged(e);
return;
}
}
if(getTitlebar() != NULL)
{
bool isContained;
isContained = getTitlebar()->isContained(e->getLocation(), true);
checkMouseEnterExit(e,e->getLocation(),getTitlebar(),isContained,e->getViewport());
if(isContained)
{
getTitlebar()->mouseDragged(e);
Component::mouseDragged(e);
return;
}
}
if(!getLockInput())
{
ComponentContainer::mouseDragged(e);
}
}