Author: qmathe
Date: Tue Apr 7 15:52:14 2009
New Revision: 4550
URL: http://svn.gna.org/viewcvs/etoile?rev=4550&view=rev
Log:
Finished to rework the geometry model to be consistent and better support
clipped content (e.g. when the content is scrollable). Now the frame is an
implicit property computed on demand (as CoreAnimation does it). The API hasn't
really changed though and this shouldn't impact existing applications.
Still some work to do on this matter...
Extracted the decorator support in a new class ETDecoratorItem and introduced a
common class ETUIItem which factors code shared by ETLayouItem and
ETDecoratorItem.
Rewritten decorator related code almost entirely to use the new geometry model
and also related subclasses such ETWindowItem.
The decorator API is now easier to understand and cleaner.
Factored scrollview related support into a new decorator class
ETScrollableAreaItem.
Renamed and rewritten -convertDisplayRect:toAncestorDisplayView: that handles
how damaged areas are propagated back to the views in charge of the display.
This method is now written in a recursive style to make the code less complex
and support to invalid areas on decorators (not yet used though).
Updated all tests to pass and added some new geometry tests.
Added:
trunk/Etoile/Frameworks/EtoileUI/Headers/ETDecoratorItem.h
trunk/Etoile/Frameworks/EtoileUI/Headers/ETScrollableAreaItem.h
- copied, changed from r4543,
trunk/Etoile/Frameworks/EtoileUI/Headers/ETWindowItem.h
trunk/Etoile/Frameworks/EtoileUI/Source/ETDecoratorItem.m
trunk/Etoile/Frameworks/EtoileUI/Source/ETScrollableAreaItem.m
Modified:
trunk/Etoile/Frameworks/EtoileUI/ChangeLog
trunk/Etoile/Frameworks/EtoileUI/Container.xcodeproj/project.pbxproj
trunk/Etoile/Frameworks/EtoileUI/Headers/ETContainer.h
trunk/Etoile/Frameworks/EtoileUI/Headers/ETLayoutItem.h
trunk/Etoile/Frameworks/EtoileUI/Headers/ETView.h
trunk/Etoile/Frameworks/EtoileUI/Headers/ETWindowItem.h
trunk/Etoile/Frameworks/EtoileUI/PhotoViewExample/ContainerController.m
trunk/Etoile/Frameworks/EtoileUI/Source/ETContainer.m
trunk/Etoile/Frameworks/EtoileUI/Source/ETLayer.m
trunk/Etoile/Frameworks/EtoileUI/Source/ETLayoutItem.m
trunk/Etoile/Frameworks/EtoileUI/Source/ETLayoutItemBuilder.m
trunk/Etoile/Frameworks/EtoileUI/Source/ETLayoutItemGroup.m
trunk/Etoile/Frameworks/EtoileUI/Source/ETView.m
trunk/Etoile/Frameworks/EtoileUI/Source/ETWindowItem.m
trunk/Etoile/Frameworks/EtoileUI/Tests/test_ETLayoutItem.m
_______________________________________________
Etoile-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/etoile-cvs