Ignore:
Timestamp:
07/03/08 16:48:09 (16 years ago)
Author:
bjn8
Message:

Added invalidation for graphics... biiiig commit. LOts of effeciency improvements - now can animate

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/expeditee/gui/Frame.java

    r116 r121  
    2424import org.expeditee.items.InteractiveWidget;
    2525import org.expeditee.items.Item;
     26import org.expeditee.items.ItemAppearence;
    2627import org.expeditee.items.ItemParentStateChangedEvent;
    2728import org.expeditee.items.ItemUtils;
     
    99100        // Note: Needs to be able to be iterated through (for painting)
    100101        private List<Item> _body = new ArrayList<Item>();
    101 
    102         public static List<Item> FreeItems = new ArrayList<Item>();
    103102
    104103        // for drawing purposes
     
    660659                _body.add(item);
    661660                item.setParent(this);
     661                item.invalidateCommonTrait(ItemAppearence.Added);
    662662
    663663                // If the item is a line end and has constraints with items already
     
    717717                                        _iWidgets.remove(((WidgetCorner) item).getWidgetSource());
    718718                                }
    719                         }
     719                                item.invalidateCommonTrait(ItemAppearence.Removed);
     720                        }
     721                       
    720722                }
    721723        }
     
    862864                _background = back;
    863865                change();
    864                 // FrameGraphics.Repaint();
     866               
     867                if (this == DisplayIO.getCurrentFrame()) {
     868                        FrameGraphics.refresh(false);
     869                }
    865870        }
    866871
     
    10121017                                        toAdd.permission));
    10131018                        _vectorItems.add(i);
     1019                        i.invalidateAll();
     1020                        i.invalidateFill();
    10141021                }
    10151022                return true;
     
    10971104        public void clearVectors() {
    10981105                _vectors.clear();
     1106               
     1107                for (Item i : _vectorItems) { // TODO: Rethink where this should live
     1108                        i.invalidateAll();
     1109                        i.invalidateFill();
     1110                }
    10991111                _vectorItems.clear();
     1112               
    11001113        }
    11011114
     
    11041117                        return false;
    11051118                for (Item i : toRemove.Frame.getVectorItems()) {
     1119                        i.invalidateAll();
     1120                        i.invalidateFill();
    11061121                        _overlayItems.remove(i);
    11071122                        i.onParentStateChanged(new ItemParentStateChangedEvent(this,
    11081123                                        ItemParentStateChangedEvent.EVENT_TYPE_REMOVED_VIA_OVERLAY,
    11091124                                        toRemove.permission));
     1125                       
    11101126                }
    11111127                return true;
     
    11421158                }
    11431159        }
    1144 
     1160       
    11451161        public void addAllOverlays(Collection<Overlay> overlays) {
    11461162                for (Overlay o : overlays) {
     
    13961412
    13971413        public static boolean rubberbandingLine() {
    1398                 return FreeItems.size() == 2
    1399                                 && (FreeItems.get(0) instanceof Line || FreeItems.get(1) instanceof Line);
     1414                return FreeItems.getInstance().size() == 2
     1415                                && (FreeItems.getInstance().get(0) instanceof Line || FreeItems.getInstance().get(1) instanceof Line);
    14001416        }
    14011417
    14021418        public static boolean itemAttachedToCursor() {
    1403                 return FreeItems.size() > 0;
     1419                return FreeItems.getInstance().size() > 0;
    14041420        }
    14051421
    14061422        public static boolean textItemAttachedToCursor() {
    1407                 return itemAttachedToCursor() && FreeItems.get(0) instanceof Text;
     1423                return itemAttachedToCursor() && FreeItems.getInstance().get(0) instanceof Text;
    14081424        }
    14091425
    14101426        public static Item getItemAttachedToCursor() {
    14111427                if (itemAttachedToCursor())
    1412                         return FreeItems.get(0);
     1428                        return FreeItems.getInstance().get(0);
    14131429
    14141430                return null;
Note: See TracChangeset for help on using the changeset viewer.