Re: Trying to draw my overlay

2005-02-28 Thread Lasse Riis
Thomas DeWeese wrote:
   Using an overlay is pretty trivial, your problems seem to mostly be
with the Java language.  This is not an appropriate forum to learn
Java.  There are _lots_ of resources for that.
I feared this would come up :)
Yes, I thinks this is the core of my problem; I'm learning OOP, Java and 
Batik all at the same time, programming my first GUI app. I apologise If 
I've been too annoying with my questions. But I hope to return with 
more, once I get my Java straight.

But in order to get that, I'd like to know if anyone has knowledge of 
projects that use Batik to do something similar to what I'm trying to 
do; using and overlay to draw (and perhaps move) some graphics over an 
SVG-image. I'd like to study some source code. I think that would help 
me a lot.

Doing all sorts of boring classes using Java tutorials will not help me 
getting this GUI done :)

Lasse Riis
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Trying to draw my overlay

2005-02-28 Thread Lasse Riis
Thomas DeWeese wrote:
   Using an overlay is pretty trivial, your problems seem to mostly be
with the Java language.  This is not an appropriate forum to learn
Java.  There are _lots_ of resources for that.
I feared this would come up :)
Yes, I thinks this is the core of my problem; I'm learning OOP, Java and 
Batik all at the same time, programming my first GUI app. I apologize If 
I've been too annoying with my questions. But I hope to return with 
more, once I get my Java straight.

But in order to get that, I'd like to know if anyone has knowledge of 
projects that use Batik to do something similar to what I'm trying to 
do; using and overlay to draw (and perhaps move) some graphics over an 
SVG-image. I'd like to study some source code. I think that would help 
me a lot.

Doing all sorts of boring classes using Java tutorials will not help me 
getting this GUI done :)

Lasse Riis
P.S. Our mailserver went down, and it seems this message didn't reach 
the mailinglist. So if this is a duplicate, I apologize.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Trying to draw my overlay

2005-02-28 Thread Andres Toussaint
Lasse:
Could you detail what it is you want to do with the overlays. I can 
think of two uses for them:

1. Related to the SVG content. to draw Scale-unaware selection objects 
(such as a bounding box, a resize or reshape indicator, etc.) or 
elements that are not part of the drawing, such as guides. Or you want 
to annotate your SVG with Graphics2D objects, for some specific reason.

2. Not related to the SVG. That is, your SVG will be simply the 
background image, for your Java 2D Graphics canvas.

With a little more information as to what it is you want to accomplish 
with the overlays, we may be able to help you better.

I have done selection objects both as an overlay and as part of the SVG 
document, so, although the overlay seems like a simpler solution, event 
handling makes the option of having the selection elements as part of 
the SVG a better solution (but you have to make these objects scale 
and pan aware so they remain the same size regardless of your SVG 
scale factor.)

Andres.
On Feb 28, 2005, at 6:04 AM, Lasse Riis wrote:
Thomas DeWeese wrote:
   Using an overlay is pretty trivial, your problems seem to mostly be
with the Java language.  This is not an appropriate forum to learn
Java.  There are _lots_ of resources for that.
I feared this would come up :)
Yes, I thinks this is the core of my problem; I'm learning OOP, Java 
and Batik all at the same time, programming my first GUI app. I 
apologize If I've been too annoying with my questions. But I hope to 
return with more, once I get my Java straight.

But in order to get that, I'd like to know if anyone has knowledge of 
projects that use Batik to do something similar to what I'm trying to 
do; using and overlay to draw (and perhaps move) some graphics over an 
SVG-image. I'd like to study some source code. I think that would help 
me a lot.

Doing all sorts of boring classes using Java tutorials will not help 
me getting this GUI done :)

Lasse Riis
P.S. Our mailserver went down, and it seems this message didn't reach 
the mailinglist. So if this is a duplicate, I apologize.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Trying to draw my overlay

2005-02-28 Thread Lasse Riis
Andres Toussaint wrote:
Lasse:
Could you detail what it is you want to do with the overlays. I can 
think of two uses for them:

2. Not related to the SVG. That is, your SVG will be simply the 
background image, for your Java 2D Graphics canvas.
This is exactly what it's for. The SVG will be a map of the building, we 
use SVG because it scales so well on different window/monitor-sizes. So 
I'll just be using the overlay to draw some form of position-indicator, 
an arrow, or a dot something like that. And then, as new positions are 
calculated, probably move it and draw a trail from the previous 
position. I think an overlay is the best option for this.

But I need to read up on Java as a whole. So I'd like to see some source 
code. Preferrably something that is very similar to what I'm doing.

Lasse Riis
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Trying to draw my overlay

2005-02-28 Thread Andres Toussaint
Do you want to keep track (i.e. store it) of your overlay information? 
or will it be volatile, on a per session basis?

You want to have the position-indicator to remain the same size (on 
screen), regardless of the zoom level of your map, right?

You want to indicate access routes, elevator position, etc. Right?
How are the new positions will be calculated? By moving the indicators, 
or by modifing the Zoom-pan of the map?

This is important to define the best approach.
Andres.
On Feb 28, 2005, at 10:38 AM, Lasse Riis wrote:
Andres Toussaint wrote:
Lasse:
Could you detail what it is you want to do with the overlays. I can 
think of two uses for them:

2. Not related to the SVG. That is, your SVG will be simply the 
background image, for your Java 2D Graphics canvas.
This is exactly what it's for. The SVG will be a map of the building, 
we use SVG because it scales so well on different 
window/monitor-sizes. So I'll just be using the overlay to draw some 
form of position-indicator, an arrow, or a dot something like that. 
And then, as new positions are calculated, probably move it and draw a 
trail from the previous position. I think an overlay is the best 
option for this.

But I need to read up on Java as a whole. So I'd like to see some 
source code. Preferrably something that is very similar to what I'm 
doing.

Lasse Riis
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Trying to draw my overlay

2005-02-28 Thread Lasse Riis
Andres Toussaint wrote:
Do you want to keep track (i.e. store it) of your overlay information? 
or will it be volatile, on a per session basis?

Volatile, I Don't see any reason to embed them in the SVG and/or let it 
be saveable. But if the option can be kept open relatively easy, it 
would of course be better. But primarily I want to be able to update the 
display often without any slow renders.

You want to have the position-indicator to remain the same size (on 
screen), regardless of the zoom level of your map, right?
   Undecided. I'd like the coordinate-mapping between the overlay and 
the map to stay the same if possible. But I guess a constant-sized 
indicator will look better. The problem is, we might have to indicate 
areas of the map, if our positioning engine is not precise enough, in 
that case, the tranparent circle, rectangle, whatever, will have to 
scale with the map

You want to indicate access routes, elevator position, etc. Right?
Not sure I know what you mean by this. But I could imagine indicating 
exits, stairs and such with a highlighted area. But I guess that could 
be done in the SVG, but having it in the overlay would of course allow 
for switching it on and off. And that would be a nice feature.

How are the new positions will be calculated? By moving the 
indicators, or by modifing the Zoom-pan of the map?

Not sure what you mean here either. The new positions will arrive as UDP 
datagrams from the positioning backend/engine and when they do, the 
indicator should move. When it gets closer to the edge of the zoom, the 
map should pan. So both I guess. But if one option is terribly complex, 
then the simpler might have to do.

Lasse Riis
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Trying to draw my overlay

2005-02-28 Thread Tonny Kohar
Hi,

 But in order to get that, I'd like to know if anyone has knowledge of 
 projects that use Batik to do something similar to what I'm trying to 
 do; using and overlay to draw (and perhaps move) some graphics over an 
 SVG-image. I'd like to study some source code. I think that would help 
 me a lot.

Try to look at the source code for Batik Squigle/SVGBrowser especially
the Scale/Zoom function, it draw dash-ed rectangle as overlay when you
drag the mouse with ctrl key pressed.

Regards
Tonny Kohar
-- 
Sketsa 
SVG Graphics Editor
http://www.kiyut.com



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Trying to draw my overlay

2005-02-24 Thread Lasse Riis
Thomas DeWeese wrote:
You are close, basically you want to make your class implement
the Overlay interface from Batik, and associate your mapIt instance
with the canvas as an overlay
Well I guess I'm getting there, but I need more help. Perhaps a good 
restructure of my app is in order?

I got this now, and of course it still doesn't work. (I didn't quite 
understand James' ideas):

import java.awt.*;
import java.awt.Graphics2D;
import javax.swing.*;
import org.apache.batik.swing.JSVGCanvas;
import org.apache.batik.swing.gvt.GVTTreeRendererAdapter;
import org.apache.batik.swing.gvt.GVTTreeRendererEvent;
import org.apache.batik.swing.gvt.Overlay;
public class mapIt implements Overlay{
  
   public static void main(String[] args) {
   JFrame frame = buildGUI();
  
   frame.setSize(200, 600);
   frame.setVisible(true);

  }

  public static JSVGCanvas buildCanvas(){
  final JSVGCanvas canvas = new JSVGCanvas();
  canvas.setBackground(Color.green);
  canvas.setURI(file:/home/riis/P2/maps/gangen.svg);
  canvas.addGVTTreeRendererListener(new GVTTreeRendererAdapter() {
 public void gvtRenderingCompleted(GVTTreeRendererEvent e) {
 System.out.print(Rendering done);
 Graphics box = canvas.getGraphics();
 paint(box);
  }
  });
  canvas.getOverlays().add(new mapIt());
 
  return canvas;
  }
  
  public static JFrame buildGUI(){
  JFrame f = new JFrame(PANTS - MapIt);
 
  JSVGCanvas svgCanvas = buildCanvas();
 
  JSlider slider = new JSlider();
  
  JPanel panel = new JPanel(new BorderLayout());

  panel.add(North, slider);
  panel.add(Center, svgCanvas);
  f.getContentPane().add(panel);
   f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   return f;
  }
  public static void paint(Graphics g) {
  g.setColor(java.awt.Color.RED);
  g.fillRect(10,10,100,100);
  }
 
}

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Trying to draw my overlay

2005-02-24 Thread Thomas DeWeese
Lasse Riis wrote:
Thomas DeWeese wrote:
You are close, basically you want to make your class implement
the Overlay interface from Batik, and associate your mapIt instance
with the canvas as an overlay
Well I guess I'm getting there, but I need more help. Perhaps a good 
restructure of my app is in order?

I got this now, and of course it still doesn't work. (I didn't quite 
understand James' ideas):


  public static void paint(Graphics g) {
   ^^ This wasn't here last time.  It won't compile
with this.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Trying to draw my overlay

2005-02-24 Thread Lasse Riis
Thomas DeWeese wrote:

  public static void paint(Graphics g) {
   ^^ This wasn't here last time.  It won't compile
with this.
No, but It won't compile without it either. At least not here. My IDE 
tells me to make it static, but i don't understand why.
Someone should do a thorough howto on using an overlay in a jsvgcanvas 
and put it in the wiki. At least I think so :)

Lasse
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Trying to draw my overlay

2005-02-24 Thread Thomas DeWeese
Lasse Riis wrote:
No, but It won't compile without it either. At least not here. My IDE 
tells me to make it static, but i don't understand why.
   But the problem was that you were using 'java.awt.Color.RED'
not 'java.awt.Color.red'.  What is below works.
Someone should do a thorough howto on using an overlay in a jsvgcanvas 
and put it in the wiki. At least I think so :)
   Using an overlay is pretty trivial, your problems seem to mostly be
with the Java language.  This is not an appropriate forum to learn
Java.  There are _lots_ of resources for that.
-
import java.awt.*;
import java.awt.Graphics2D;
import javax.swing.*;
import org.apache.batik.swing.JSVGCanvas;
import org.apache.batik.swing.gvt.GVTTreeRendererAdapter;
import org.apache.batik.swing.gvt.GVTTreeRendererEvent;
import org.apache.batik.swing.gvt.Overlay;
public class MapIt implements Overlay {
public static void main(String[] args) {
JFrame frame = buildGUI();
frame.setSize(200, 600);
frame.setVisible(true);
}
public static JSVGCanvas buildCanvas(){
final JSVGCanvas canvas = new JSVGCanvas();
canvas.setBackground(Color.green);
canvas.setURI(file:/C:/Apps/cygwin/home/l449433/dev/batik/xml-batik/samples/anne.svg);
canvas.getOverlays().add(new MapIt());
return canvas;
}
public static JFrame buildGUI(){
JFrame f = new JFrame(PANTS - MapIt);
JSVGCanvas svgCanvas = buildCanvas();
JSlider slider = new JSlider();
JPanel panel = new JPanel(new BorderLayout());
panel.add(North, slider);
panel.add(Center, svgCanvas);
f.getContentPane().add(panel);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
return f;
}
public void paint(Graphics g) {
g.setColor(java.awt.Color.red);
g.fillRect(10,10,100,100);
}
}
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Trying to draw my overlay

2005-02-23 Thread James Shaw
Lasse Riis wrote:
Hi
I've been looking in to your answers and trying to build my app. But 
I'm stuck now. I restructured it to use some methods to build the app, 
as oppose to a huge main(). It should be very clear to anyone that I 
am not very familiar with Java. So sometimes I have no idea what I'm 
doing. And usually just follow my IDE's (eclipse) reccommendations  
(hence the 'static' methods). So I hope you don't spill your coffee 
laughing when looking at my code :). But bare in mind, this is the 
first thing I've ever written.

Lasse, you're completely mad! :-P  One problem I see with your code is 
manually creating a Graphics object and trying to paint to it.  I think 
you should try doing Component.getGraphics(), but I'm not sure which 
component you should choose to paint to.  Personally, I would create the 
image in the SVG DOM, and use event handlers to move it around.

Hope that helps, at least a little bit!
James Shaw
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Trying to draw my overlay

2005-02-23 Thread Thomas DeWeese
Lasse Riis wrote:
I've been looking in to your answers and trying to build my app. But I'm 
stuck now. I restructured it to use some methods to build the app, as 
oppose to a huge main(). [...] Here we go:

You are close, basically you want to make your class implement
the Overlay interface from Batik, and associate your mapIt instance
with the canvas as an overlay
import org.apache.batik.swing.gvt.Overlay;  // Interface
public class mapIt implements Overlay {  // Note Overlay
  public static JSVGCanvas buildCanvas(){
  JSVGCanvas canvas = new JSVGCanvas();
  canvas.setBackground(Color.green);
  canvas.setURI(file:/home/riis/P2/maps/gangen.svg);
// It will now call your paint method whenever it
// update the canvas!
  canvas.getOverlays().add(new mapIt());
  return canvas;
  }
public static JFrame buildGUI(){
  JFrame f = new JFrame(PANTS - MapIt);
   JSVGCanvas svgCanvas = buildCanvas();
   JSlider slider = new JSlider();
JPanel panel = new JPanel(new BorderLayout());
  panel.add(North, slider);
  panel.add(Center, svgCanvas);
  f.getContentPane().add(panel);
   f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   return f;
  }
  public void paint(java.awt.Graphics g) {
  g.setColor(java.awt.Color.RED);
  g.fillRect(10,10,100,100);
  }
}
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]