From: Sean P. <sp...@ad...> - 2005-04-05 18:39:24
|
On Apr 5, 2005, at 8:56 AM, David Catmull wrote: > On Apr 4, 2005, at 12:51 PM, Sean Parent wrote: >> I'm still struggling with how to fully represent a subject but I do >> know that it needs to be able to represent collections within a >> container as well as ranges (perhaps a collection is represented as a >> list of ranges to merge the two concepts). > > I thought of a few different types of selections and insertion points > as I was examining that idea. Again, I define "insertion point" as a > location for inserting data (pasted or dropped), and the "current" > insertion point is where pasted data would go. > > Ranges > Mainly seen in text. A selection is a range, from a start index to > and end index. The distinction between selection and insertion point > is blurry or nonexistant. New content placed at the current insertion > point replaces the selection. Ranges come up in many places - a selection in a scrolling list. This is why I proposed the notion of a collection - which would be a list of ranges, an insertion point is simply a collection comprised of a single empty range. A contiguous collection is a single range (empty or non-empty) which can also serve as an "insertion point" for operations which do a replace. > > List > A list or collection of items. A selection is a subset of the > items. If the order of the items is determined by the user, then an > insertion point indicates a position between two elements. If the > items are sorted, then the insertion point indicates "somewhere" in > the list, to be determined when the new content is received. This > could include hierarchical lists too, where an insertion point would > include a reference to a parent item. You can have a range within a hierarchy also (see the adobe::forest<> container). > > Arrangement > As in drawing applications like Illustrator: a collection of > objects in n-space (where n is usually 2). A selection is a set of > objects, and an insertion point is a location within the space. The > current insertion point is the center of the space or of the view, or > in some apps it can be center of the selection. I don't see a need for this yet - in Illustrator a collection of n objects is not denoted geometrically, rather by a collection within the art tree (using collection here as a defined it above). An "insertion point" is a location in the art tree and an x,y coordinate which is also part of the subject and applied to the new items. I'm not sure that this implies a transformation on inserted objects, or simply that new nodes in the tree pick up a default x,y location (artwork outside the tree only has relative positions). > > I think Photoshop fits in the Arrangement category, though its > floating selections are more complex, since they re-merge with the > current layer when deselected. I'm tempted to make a separate category > for that. Photoshop is actually simpler (and similar) - the "selection" in Photoshop is not a selection as denoted here - it is itself a channel which is part of the subject. > > -- > David Catmull > unc...@un... > http://www.uncommonplace.com/ > > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real > users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > Adobe-source-devel mailing list > Ado...@li... > https://lists.sourceforge.net/lists/listinfo/adobe-source-devel |