Calculations of the visible rect can be a heavy operation as it depends of the superviews visible rect. They have to be transformed and intersected together to create the result. This calculation is a recursive operation that travels up the view hierarchy all the way to the top. Updating the tracking areas is also a recursive operation. But it travels down the view hierarchy instead. It will calculate the new tracking area using the visible rect for the current view. For each view it updates it will get the visible rect that has to travel all the way up the view hierarchy to calculate it by transform and intersect them together. This results in that the visible rect will be calculated for each view multible times. This makes it a very slow operation, specially for deeper view hierarchies. This fix will send along the visible rect for the superview when traveling down the view hierarchy. This means that the visible rect does not need to travel up the view hierarchy to be calculated. It will just need transform and intersect the provided rect for its superview with the one from itself.
Welcome to Cappuccino!
Introduction
Cappuccino is an open source framework that makes it easy to build desktop-caliber applications that run in a web browser.
With Cappuccino, you don't concern yourself with HTML, CSS, or the DOM. You write applications with the APIs from Apple's Cocoa frameworks and the Objective-J language.
Check out a live demo of the widgets in Cappuccino
Check out some tutorials
For more information, see the
Follow @cappuccino on Twitter for updates on the project.
If you discover any bugs, please file a ticket.
System Requirements
To run Cappuccino applications, all you need is a HTML5 compliant web browser.
Our tight integration with Xcode on MacOS brings the full power of visual Cocoa development to the web.
However, you can also work on other platforms using only a simple text editor.
Getting Started
To write you first application, download the starter package.
To contribute to Cappuccino, please read here: Getting and Building the Source.
License
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA