Changes between Version 12 and Version 13 of Videos


Ignore:
Timestamp:
02/25/09 19:35:45 (16 years ago)
Author:
mitex
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Videos

    v12 v13  
    351351   * text layout algorithm 
    352352    * popular software uses greedy algorithm, which does not always produce good looking text; also they use plenty of if-then-else rules 
    353     * in Sophie 2 the text layout problem will be reduced to finding a minimal path in direct acyclic graph 
     353    * in Sophie 2 the text layout problem will be reduced to finding a minimal path in directed acyclic graph 
    354354     * price function: badness of a layout; the algorithm has to generate a layout with minimal badness 
    355355      * for example, if a word has to be stretched two times, the badness would be high 
     
    384384 
    385385 * base.scenes 
    386   * ... (this summary will be continued) 
     386  * SceneElement - base interface 
     387   * extended by interfaces 
     388    * ImageSceneElement 
     389    * ShapeSceneElement 
     390    * ContourSceneElement 
     391    * AudioSceneElement 
     392    * VideoSceneElement 
     393    * CompositeSceneElement 
     394    * SwingSceneElement 
     395    * maybe other 
     396   * in most cases this element is visible 
     397   * scene - just a tree (in some cases - directed acyclic graph) 
     398   * root element with properties and children, which also have children... 
     399   * scene elements have no parent link 
     400   * all coordinates in scenes are floating point numbers 
     401   * example: page with two frames, one of them is an ImageFrame, with image, padding and border 
     402    * in outline mode we have also margin bounds, padding bounds, middle of the border; margin is always invisible 
     403     * we need thes in cases of transparent images 
     404   * scene tree 
     405    * first level: node for all frames and node for the page background (not the whole page) 
     406    * each frame is ancestor of the frames node 
     407    * each frame has the following children: 
     408     * background 
     409     * content 
     410     * border 
     411     * in outline mode - some other elements (ContourSceneElement) 
     412     * the order of the children is important! It will determine the z-order - first the background is drawn, then the content, finally the border 
     413   * properties: 
     414    * subElements - not only for CompositeSceneElement; for example, ImageSceneElement has subelements... 
     415    * space - transformation matrix 
     416     * for most elements this will be the identity 
     417     * for zoom - detect the root level and change its space, for instance scale with 0.5; only there, that's enough 
     418     * from the root to the leaves the matrices are multiplied... 
     419     * the coordinates are similar to CSS - (0,0) is the left-upper corner of the content; if we have a border, part of it will have negative coordinates 
     420    * color 
     421     * ImmColor - floating point Alpha-RGB; default - 1,1,1,1 (white) 
     422     * can be fill color for a shape, can be color of contour, etc. 
     423    * effects 
     424     * for example - shadows 
     425     * currently there are no effects 
     426    * controller - not discussed, will be changed, for interaction? 
     427    * clip() - for example, we have a big image element and we want to show only part of it; define clipping shape 
     428   * scene elements has no names 
     429  * ImageSceneElement has a reference to ImmImage 
     430  * scene element implementation: override some methods: 
     431   * setupElements() { subElements().clear(); add.... } 
     432   * setupStatic() - for example - color 
     433   * setupDynamic() - things that you expect to change; for example, color().set(isSelected ? HALF_BLUE : WHITE) 
     434   * This is just a convention, but it is a good idea to separate things into different setup methods 
     435  * currently there is one implementation - main.scene.simple 
     436   * SceneVisualElement 
     437   * SimpleSceneVisual 
     438   * quite short implementation 
     439   * implementation helpers - base.scene.model 
     440  * visible area != responce area 
     441 
     442 * changes (discussion in Bulgarian) 
     443  * r2 = r1.getSpace().getRevision(13) - returns a new resource with new id, parent=null? 
     444  * currently redo=register, but that's not good 
     445  * History 
     446  * Change 
     447  * skip changes... 
     448  * ChangeServer, LocalChangeServer 
     449  * UndoManager 
     450   * undo(resource) 
     451   * redo 
     452   * getUndoDescription 
     453   * getRedoDescription 
    387454 
    388455----