Changeset 512


Ignore:
Timestamp:
11/20/13 11:13:16 (11 years ago)
Author:
jts21
Message:

Make F1/F2 on frame name scale the whole frame

Location:
trunk/src/org/expeditee
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/expeditee/agents/ScaleFrameset.java

    r453 r512  
    3737                // Scale each of the frames
    3838                for (int i = _firstFrame; i <= _maxFrame; i++) {
    39                         Frame next = FrameIO.LoadFrame(framesetName + i);
    40                         if (next == null)
    41                                 continue;
    42 
    43                         for (Vector v : next.getVectors()) {
    44                                 v.Source.scale(_scale, 0, 0);
    45                         }
    46 
    47                         Collection<Item> items = next.getVisibleItems();
    48 
    49                         for (Item item : items) {
    50                                 // This line is only needed for circles!!
    51                                 // Need to really fix up the way this works!!
    52                                 if (item.hasEnclosures())
    53                                         continue;
    54                                 if (!item.hasPermission(UserAppliedPermission.full))
    55                                         continue;
    56                                 item.invalidateAll();
    57                                 if (!(item instanceof Line)) {
    58                                         item.scale(_scale, 0, 0);
    59                                 }
    60                         }
    61 
    62                         for (Item item : items) {
    63                                 if (!item.hasPermission(UserAppliedPermission.full))
    64                                         continue;
    65                                 // if (!(item instanceof Line))
    66                                 item.updatePolygon();
    67 
    68                                 if (item instanceof Line) {
    69                                         ((Line) item).refreshStroke(item.getThickness());
    70                                 }
    71 
    72                                 item.invalidateAll();
    73                         }
     39                        scaleFrame(FrameIO.LoadFrame(framesetName + i), _scale);
    7440                }
    7541                // TODO fix this so it actually works properly!!
     
    8147                return null;
    8248        }
     49       
     50        public static void scaleFrame(Frame frame, float scaleFactor) {
     51               
     52                if (frame == null) {
     53                        return;
     54                }
     55               
     56                for (Vector v : frame.getVectors()) {
     57                        v.Source.scale(scaleFactor, 0, 0);
     58                }
     59               
     60                Collection<Item> items = frame.getVisibleItems();
     61               
     62                for (Item item : items) {
     63                        // This line is only needed for circles!!
     64                        // Need to really fix up the way this works!!
     65                        if (item.hasEnclosures())
     66                                continue;
     67                        if (!item.hasPermission(UserAppliedPermission.full))
     68                                continue;
     69                        item.invalidateAll();
     70                        if (!(item instanceof Line)) {
     71                                item.scale(scaleFactor, 0, 0);
     72                        }
     73                }
     74
     75                for (Item item : items) {
     76                        if (!item.hasPermission(UserAppliedPermission.full))
     77                                continue;
     78                        // if (!(item instanceof Line))
     79                        item.updatePolygon();
     80
     81                        if (item instanceof Line) {
     82                                ((Line) item).refreshStroke(item.getThickness());
     83                        }
     84
     85                        item.invalidateAll();
     86                }
     87        }
    8388}
  • trunk/src/org/expeditee/gui/FrameKeyboardActions.java

    r504 r512  
    2222import org.expeditee.actions.Navigation;
    2323import org.expeditee.actions.Simple;
     24import org.expeditee.agents.ScaleFrameset;
    2425import org.expeditee.io.ItemSelection;
    2526import org.expeditee.items.Circle;
     
    15601561                } else {
    15611562                        if (item.isFrameName()) {
    1562                                 MessageBay.displayMessage("Can not resize the frame name");
     1563                                // scale the entire frame
     1564                                ScaleFrameset.scaleFrame(DisplayIO.getCurrentFrame(), (float) (diff > 0 ? 1.1 : 0.909090909));
     1565                                FrameKeyboardActions.Refresh();
     1566                                // MessageBay.displayMessage("Can not resize the frame name");
    15631567                                return;
    15641568                        }
Note: See TracChangeset for help on using the changeset viewer.