Page Index Toggle Pages: 1 Send TopicPrint
Normal Topic Zoom on Scroll of a Mouse (Read 4413 times)
SandeepGowda
Junior Member
**
Offline


I love YaBB 1G - SP1!

Posts: 50
Joined: Jan 6th, 2009
Zoom on Scroll of a Mouse
Feb 25th, 2009 at 9:31am
Print Post  
Hi,
Can we apply Zoom on Scroll of a Mouse for Diagram view.
regards
sandeep.
  
Back to top
 
IP Logged
 
Stoyo
God Member
*****
Offline


MindFusion support

Posts: 13230
Joined: Jul 20th, 2005
Re: Zoom on Scroll of a Mouse
Reply #1 - Feb 25th, 2009 at 11:07am
Print Post  
Hi,

You could handle the MouseWheel event as shown here:
http://mindfusion.eu/Forum/YaBB.pl?board=fcnet_disc;action=display;num=122542302...

I hope that helps,
Stoyan
  
Back to top
 
IP Logged
 
SandeepGowda
Junior Member
**
Offline


I love YaBB 1G - SP1!

Posts: 50
Joined: Jan 6th, 2009
Re: Zoom on Scroll of a Mouse
Reply #2 - Feb 25th, 2009 at 1:00pm
Print Post  
Hi,
Do i need to add Mouse wheel action listener to Diagram View.
Can you please help me in Java base code.

Regards
Sandeep
  
Back to top
 
IP Logged
 
Stoyo
God Member
*****
Offline


MindFusion support

Posts: 13230
Joined: Jul 20th, 2005
Re: Zoom on Scroll of a Mouse
Reply #3 - Feb 25th, 2009 at 1:17pm
Print Post  
Hi,

Yes, you should add a MouseWheelListener to the view and implement its method. Please post in the JDiagram board; I'm moving this there.

Stoyan
  
Back to top
 
IP Logged
 
SandeepGowda
Junior Member
**
Offline


I love YaBB 1G - SP1!

Posts: 50
Joined: Jan 6th, 2009
Re: Zoom on Scroll of a Mouse
Reply #4 - Feb 25th, 2009 at 1:45pm
Print Post  
hi,
form is new to me, how can post Jdiagram Board?.

Can you please help me in to Change to Java code.

Point p = m_mainJDiagramView.docToDevice(evt.getPoint());
Point oldcurpos = m_mainJDiagramView.docToDevice(p);

//no idea about ZoomFactor,hw will i get?
m_mainJDiagramView.ZoomFactor += e.Delta / 60f;
//what is Delta??

Point newcurpos = m_mainJDiagramView.ClientToDoc(m_mainJDiagramView.PointToClient(Cursor.Position)
);
float diffx = (oldcurpos.X - newcurpos.X);
float diffy = (oldcurpos.Y - newcurpos.Y);

m_mainJDiagramView.ScrollTo(
m_mainJDiagramView.ScrollX + diffx < 0 ? 0 : m_mainJDiagramView.ScrollX + diffx,
m_mainJDiagramView.ScrollY + diffy < 0 ? 0 : m_mainJDiagramView.ScrollY + diffy);

regards
sandeep
  
Back to top
 
IP Logged
 
Stoyo
God Member
*****
Offline


MindFusion support

Posts: 13230
Joined: Jul 20th, 2005
Re: Zoom on Scroll of a Mouse
Reply #5 - Feb 25th, 2009 at 3:11pm
Print Post  
Hi,

Bookmark this page and use the Start New Topic link from the bottom right:
http://mindfusion.eu/Forum/YaBB.pl?board=jdiag_disc

Handling the mouse wheel event should look like this:

Code
Select All
diagramView.addMouseWheelListener(new MouseWheelListener()
{
	public void mouseWheelMoved(MouseWheelEvent e)
	{
		diagramView.setZoomFactor(diagramView.getZoomFactor() + e.getWheelRotation() / 2);
	}
});
 



I hope that helps,
Stoyan
  
Back to top
 
IP Logged
 
SandeepGowda
Junior Member
**
Offline


I love YaBB 1G - SP1!

Posts: 50
Joined: Jan 6th, 2009
Re: Zoom on Scroll of a Mouse
Reply #6 - Feb 26th, 2009 at 6:20am
Print Post  
hi,
i tried with below java code, but its not working,can you please help if i am wrong,

public void mouseWheelMoved(MouseWheelEvent evt) {

// evt.
Point2D boxDevPos = new Point(evt.getX(), evt.getY());

// Point2D.Float boxDocPos = m_mainJDiagramView.deviceToDoc(boxDevPos);
Point boxDocPos = m_mainJDiagramView.docToDevice(boxDevPos);

m_mainJDiagramView.setZoomFactor(m_mainJDiagramView.getZoomFactor()
+ evt.getWheelRotation() / 2);

Point2D afterZoom = m_mainJDiagramView.deviceToDoc(boxDocPos);

m_mainJDiagramView.setScrollX((float) (m_mainJDiagramView.getScrollX()
- boxDevPos.getX() + afterZoom.getX()));
m_mainJDiagramView.setScrollY((float) (m_mainJDiagramView.getScrollY()
- boxDevPos.getY() + afterZoom.getY()));

}

regards
sandeep
  
Back to top
 
IP Logged
 
Page Index Toggle Pages: 1
Send TopicPrint