/[fenfire]/fenfire/org/fenfire/modules/pp/PPCanvasCursor.java
ViewVC logotype

Diff of /fenfire/org/fenfire/modules/pp/PPCanvasCursor.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.19 by mudyc, Wed Apr 16 08:45:58 2003 UTC revision 1.20 by mudyc, Tue Apr 22 12:14:32 2003 UTC
# Line 12  import org.nongnu.libvob.impl.*; Line 12  import org.nongnu.libvob.impl.*;
12  import org.nongnu.libvob.impl.gl.*;  import org.nongnu.libvob.impl.gl.*;
13  import org.nongnu.libvob.buoy.*;  import org.nongnu.libvob.buoy.*;
14  import org.nongnu.libvob.vobs.*;  import org.nongnu.libvob.vobs.*;
 import com.hp.hpl.mesa.rdf.jena.model.*;  
 import com.hp.hpl.mesa.rdf.jena.common.*;  
15    
16  import java.awt.event.*;  import java.awt.event.*;
17    
# Line 21  import java.awt.event.*; Line 19  import java.awt.event.*;
19    
20  // implement fisheye in here later..  // implement fisheye in here later..
21    
22  /** XXX  /** PPCanvas which has been selected/created to be the focus one.
23   */   */
24  public class PPCanvasCursor implements BuoyViewMainNode {  public class PPCanvasCursor implements BuoyViewMainNode {
25  private static final String rcsid = "$Id$";    private static final String rcsid = "$Id$";  
# Line 141  private static final String rcsid = "$Id Line 139  private static final String rcsid = "$Id
139          vs.coords.setOrthoParams(csinv, 0, panx, pany, 1/zoom, 1/zoom);          vs.coords.setOrthoParams(csinv, 0, panx, pany, 1/zoom, 1/zoom);
140      }      }
141    
142        private int focusFrame = -1;
143      private int c2fCS = -1;      private int c2fCS = -1;
144      public void renderMain(VobScene vs, int into) {      public void renderMain(VobScene vs, int into) {
145          p("con: "+ context);          p("con: "+ context);
146            focusFrame = into;
147          Object node = context.getAccursed();          Object node = context.getAccursed();
148          Object paper = node;          Object paper = node;
149          if (RDFUtil.isNodeType(fen, node, PP.Note)) {          if (RDFUtil.isNodeType(fen, node, PP.Note)) {
# Line 175  private static final String rcsid = "$Id Line 175  private static final String rcsid = "$Id
175                  .render(vs, into, c2fCS, c2fCSInv, hook);                  .render(vs, into, c2fCS, c2fCSInv, hook);
176          } else {          } else {
177              int zo = (int)(zoom * 100000);              int zo = (int)(zoom * 100000);
178              int geometry = vs.orthoBoxCS(into, "FocusGeometry",0, zo,0, 1,1, panx, pany);                int geometry = vs.orthoBoxCS(into, "FocusGeometry",0, zo,0, 1,1, -panx, -pany);  
179                            
180              vs.map.put(new UniquePaperVob(paper.toString()), into, geometry);              vs.map.put(new UniquePaperVob(paper.toString()), into, geometry);
181              (new SpatialPlane(PP.Note, PP.contains)).renderAWT(vs, into, geometry,              (new SpatialPlane(PP.Note, PP.contains)).renderAWT(vs, into, geometry,
# Line 225  private static final String rcsid = "$Id Line 225  private static final String rcsid = "$Id
225          if (m_state[2] == e.BUTTON3_MASK) {          if (m_state[2] == e.BUTTON3_MASK) {
226              zoom = m_state_zoom * (float)              zoom = m_state_zoom * (float)
227                  Math.exp((m_state[1] - e.getY())/150.0);                  Math.exp((m_state[1] - e.getY())/150.0);
228              return true;              AbstractUpdateManager.setNoAnimation();
229                if (GraphicsAPI.getInstance() instanceof GLAPI) {
230                    setZoomPan(oldVobScene, focusFrame);
231                    return true;
232                } else {
233                    AbstractUpdateManager.chg();
234                    return false;
235                }
236          }          }
237    
238          // Move by dragging with button 1          // Move by dragging with button 1
239          if (m_state[2] == e.BUTTON1_MASK && e.getID() == MouseEvent.MOUSE_DRAGGED) {          if (m_state[2] == e.BUTTON1_MASK && e.getID() == MouseEvent.MOUSE_DRAGGED) {
240                panx = pan[0] + (m_state[0] - e.getX())/zoom;
241                pany = pan[1] + (m_state[1] - e.getY())/zoom;
242    
243              if (GraphicsAPI.getInstance() instanceof GLAPI) {              if (GraphicsAPI.getInstance() instanceof GLAPI) {
244                  ;                  setZoomPan(oldVobScene, focusFrame);
245                    return true;
246              } else {              } else {
247                  ;                  AbstractUpdateManager.chg();
248                    return false;
249              }              }
             panx = pan[0] - (m_state[0] - e.getX())/zoom;  
             pany = pan[1] - (m_state[1] - e.getY())/zoom;  
             return true;  
250          }          }
251                    
252          // Move around by clicking          // Move around by clicking
# Line 248  private static final String rcsid = "$Id Line 257  private static final String rcsid = "$Id
257              if (GraphicsAPI.getInstance() instanceof GLAPI) {              if (GraphicsAPI.getInstance() instanceof GLAPI) {
258                                    
259                  // We must transform into Frame, and then the C2F coordinate system                  // We must transform into Frame, and then the C2F coordinate system
260                  int mainctrCS = ((DefaultVobMatcher)oldVobScene.matcher).getCS(0, "Center");                  int mainctrCS = ((DefaultVobMatcher)oldVobScene.matcher).getCS(0, "FocusCtr");
261                  pa("mainctr"+ mainctrCS);                  //pa("mainctr"+ mainctrCS);
262                                    
263                  int frame = ((DefaultVobMatcher)oldVobScene.matcher).getCS(mainctrCS, "MAINVP");                  //int frame = ((DefaultVobMatcher)oldVobScene.matcher).getCS(mainctrCS, "MAINVP");
264                    int frame = focusFrame;
265                  int c2f = ((DefaultVobMatcher)oldVobScene.matcher).getCS(frame, "C2F");                  int c2f = ((DefaultVobMatcher)oldVobScene.matcher).getCS(frame, "C2F");
266                  if (c2f < 0) c2f = c2fCS;                  if (c2f < 0) c2f = c2fCS;
267                  if(frame < 0 || c2f < 0)                  if(frame < 0 || c2f < 0)
# Line 259  private static final String rcsid = "$Id Line 269  private static final String rcsid = "$Id
269                                    
270                  // XXX vp, not frame!                  // XXX vp, not frame!
271                  oldVobScene.coords.inverseTransformPoints3(mainctrCS, pt, pt);                  oldVobScene.coords.inverseTransformPoints3(mainctrCS, pt, pt);
272                    //oldVobScene.coords.inverseTransformPoints3(frame, pt, pt);
273                  oldVobScene.coords.inverseTransformPoints3(c2f, pt, pt);                  oldVobScene.coords.inverseTransformPoints3(c2f, pt, pt);
274                  panx = pt[0]; pany = pt[1];                  panx = pt[0]; pany = pt[1];
275                                    
276                  // XXX current = current.h(d.contains);                    // XXX current = current.h(d.contains);  
277                  AbstractUpdateManager.chg();                  //setZoomPan(oldVobScene, focusFrame);
278                    return false;
279              } else {              } else {
280                  int focusFrame = oldVobScene.matcher.getCS("FocusFrame");                  int focusFrame = oldVobScene.matcher.getCS("FocusFrame");
281                  float box[] = new float[3];                  float box[] = new float[3];
282                  box = oldVobScene.coords.transformPoints3(focusFrame, box, null);                  box = oldVobScene.coords.transformPoints3(focusFrame, box, null);
283                  float size[] = new float[2];                  float size[] = new float[2];
284                  oldVobScene.coords.getSqSize(focusFrame, size);                  oldVobScene.coords.getSqSize(focusFrame, size);
285                  panx -= ((pt[0] - box[0]) - size[0]/2)/ zoom;                  panx += ((pt[0] - box[0]) - size[0]/2)/ zoom;
286                  pany -= ((pt[1] - box[1]) - size[1]/2)/ zoom;                  pany += ((pt[1] - box[1]) - size[1]/2)/ zoom;
287                                    
288                  // XXX current = current.h(d.contains);                    // XXX current = current.h(d.contains);  
                 AbstractUpdateManager.chg();  
289              }              }
             return false;  
290          }          }
   
   
291          AbstractUpdateManager.chg();          AbstractUpdateManager.chg();
292          return false;          return false;
293      }      }
294    
295    
296      public void setZoom(float z) { zoom = z; }      public void setZoom(float z) { zoom = z; }
297        public void moveTo(float x, float y) { panx=x; pany=y;  }
     public void moveTo(float x, float y) {  
         panx=x;  
         pany=y;  
     }  
   
298  }  }
299    

Legend:
Removed from v.1.19  
changed lines
  Added in v.1.20

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26