Changeset 851
- Timestamp:
- 02/05/14 17:11:59 (10 years ago)
- Location:
- trunk/src/org/expeditee
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/expeditee/gui/FrameKeyboardActions.java
r850 r851 1043 1043 break; 1044 1044 case SizeDown: 1045 ScaleFrameset.scaleFrame(DisplayIO.getCurrentFrame(), 0.909090909f);1045 zoomFrame(DisplayIO.getCurrentFrame(), 0.909090909f); 1046 1046 DisplayIO.getCurrentFrame().refreshSize(); 1047 1047 FrameKeyboardActions.Refresh(); … … 1053 1053 // } 1054 1054 case SizeUp: 1055 ScaleFrameset.scaleFrame(DisplayIO.getCurrentFrame(), 1.1f);1055 zoomFrame(DisplayIO.getCurrentFrame(), 1.1f); 1056 1056 DisplayIO.getCurrentFrame().refreshSize(); 1057 1057 FrameKeyboardActions.Refresh(); … … 1583 1583 return bReparse; 1584 1584 } 1585 1586 private static void zoomFrame(Frame frame, double scaleFactor) { 1587 1588 int x = FrameMouseActions.getX(), y = FrameMouseActions.getY(); 1589 1590 if (frame == null) { 1591 return; 1592 } 1593 1594 Collection<Item> items = frame.getVisibleItems(); 1595 1596 for(Item item : items) { 1597 if(item instanceof Text && item.getSize() <= Text.MINIMUM_FONT_SIZE && scaleFactor < 1) { 1598 return; 1599 } 1600 } 1601 1602 for (Vector v : frame.getVectors()) { 1603 v.Source.scale((float) scaleFactor, x, y); 1604 } 1605 1606 for (Item item : items) { 1607 // This line is only needed for circles!! 1608 // Need to really fix up the way this works!! 1609 if (item.hasEnclosures()) 1610 continue; 1611 if (!item.hasPermission(UserAppliedPermission.full)) 1612 continue; 1613 item.invalidateAll(); 1614 if (!(item instanceof Line)) { 1615 item.scale((float) scaleFactor, x, y); 1616 } 1617 } 1618 1619 for (Item item : items) { 1620 if (!item.hasPermission(UserAppliedPermission.full)) 1621 continue; 1622 // if (!(item instanceof Line)) 1623 item.updatePolygon(); 1624 1625 if (item instanceof Line) { 1626 ((Line) item).refreshStroke(item.getThickness()); 1627 } 1628 1629 item.invalidateAll(); 1630 } 1631 } 1585 1632 1586 1633 /** … … 1617 1664 // scale the entire frame 1618 1665 if(diff != 0) { 1619 ScaleFrameset.scaleFrame(DisplayIO.getCurrentFrame(), (float) (diff > 0 ? 1.1 : 0.909090909));1666 zoomFrame(DisplayIO.getCurrentFrame(), diff > 0 ? 1.1 : 0.909090909); 1620 1667 DisplayIO.getCurrentFrame().refreshSize(); 1621 1668 FrameKeyboardActions.Refresh(); -
trunk/src/org/expeditee/items/Item.java
r821 r851 3123 3123 3124 3124 public void scale(Float scale, int originX, int originY) { 3125 setXY( getX() * scale + originX, getY() * scale + originY);3125 setXY((getX() - originX) * scale + originX, (getY() - originY) * scale + originY); 3126 3126 setArrowheadLength(getArrowheadLength() * scale); 3127 3127
Note:
See TracChangeset
for help on using the changeset viewer.