mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-09-04 09:53:41 +00:00
Further drawing fixes.
Reviewed by me.
This commit is contained in:
@@ -210,7 +210,7 @@ var CPSplitViewHorizontalImage = nil,
|
||||
_DOMDividerElements[_drawingDivider].style.cursor = "move";
|
||||
_DOMDividerElements[_drawingDivider].style.position = "absolute";
|
||||
_DOMDividerElements[_drawingDivider].style.backgroundRepeat = "repeat";
|
||||
|
||||
|
||||
CPDOMDisplayServerAppendChild(_DOMElement, _DOMDividerElements[_drawingDivider]);
|
||||
|
||||
if (_isPaneSplitter)
|
||||
@@ -224,7 +224,7 @@ var CPSplitViewHorizontalImage = nil,
|
||||
_DOMDividerElements[_drawingDivider].style.backgroundImage = "url('"+_dividerImagePath+"')";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
CPDOMDisplayServerSetStyleLeftTop(_DOMDividerElements[_drawingDivider], NULL, _CGRectGetMinX(aRect), _CGRectGetMinY(aRect));
|
||||
CPDOMDisplayServerSetStyleSize(_DOMDividerElements[_drawingDivider], _CGRectGetWidth(aRect), _CGRectGetHeight(aRect));
|
||||
#endif
|
||||
@@ -303,7 +303,7 @@ var CPSplitViewHorizontalImage = nil,
|
||||
- (void)trackDivider:(CPEvent)anEvent
|
||||
{
|
||||
var type = [anEvent type];
|
||||
|
||||
|
||||
if (type == CPLeftMouseUp)
|
||||
{
|
||||
if (_currentDivider != CPNotFound)
|
||||
@@ -359,6 +359,9 @@ var CPSplitViewHorizontalImage = nil,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (_currentDivider === CPNotFound)
|
||||
return;
|
||||
}
|
||||
|
||||
else if (type == CPLeftMouseDragged && _currentDivider != CPNotFound)
|
||||
|
||||
+2
-2
@@ -1686,11 +1686,11 @@ setBoundsOrigin:
|
||||
|
||||
- (void)setNeedsLayout
|
||||
{
|
||||
_needsLayout = YES;
|
||||
|
||||
if (!(_viewClassFlags & CPViewHasCustomLayoutSubviews))
|
||||
return;
|
||||
|
||||
_needsLayout = YES;
|
||||
|
||||
_CPDisplayServerAddLayoutObject(self);
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#define DOM_OPTIMIZATION 1
|
||||
#define DOM_OPTIMIZATION 0
|
||||
|
||||
#define SetStyleOrigin 0
|
||||
#define SetStyleLeftTop 0
|
||||
|
||||
+33
-23
@@ -66,33 +66,43 @@ function _CPDisplayServerAddLayoutObject(anObject)
|
||||
|
||||
+ (void)run
|
||||
{
|
||||
var index = 0;
|
||||
|
||||
for (; index < layoutObjects.length; ++index)
|
||||
while (layoutObjects.length || displayObjects.length)
|
||||
{
|
||||
var object = layoutObjects[index];
|
||||
var index = 0;
|
||||
|
||||
delete layoutObjectsByUID[[object UID]];
|
||||
[object layoutIfNeeded];
|
||||
for (; index < layoutObjects.length; ++index)
|
||||
{
|
||||
var object = layoutObjects[index];
|
||||
|
||||
delete layoutObjectsByUID[[object UID]];
|
||||
[object layoutIfNeeded];
|
||||
}
|
||||
|
||||
layoutObjects = [];
|
||||
layoutObjectsByUID = { };
|
||||
|
||||
index = 0;
|
||||
|
||||
for (; index < displayObjects.length; ++index)
|
||||
{
|
||||
if (layoutObjects.length)
|
||||
break;
|
||||
|
||||
var object = displayObjects[index];
|
||||
|
||||
delete displayObjectsByUID[[object UID]];
|
||||
[object displayIfNeeded];
|
||||
}
|
||||
|
||||
if (index === displayObjects.length)
|
||||
{
|
||||
displayObjects = [];
|
||||
displayObjectsByUID = { };
|
||||
}
|
||||
else
|
||||
displayObjects = displayObjects.splice(0, index);
|
||||
}
|
||||
|
||||
EXECUTE_DOM_INSTRUCTIONS();
|
||||
|
||||
layoutObjects = [];
|
||||
layoutObjectsByUID = { };
|
||||
|
||||
index = 0;
|
||||
|
||||
var count = displayObjects.length;
|
||||
|
||||
for (; index < count; ++index)
|
||||
[displayObjects[index] displayIfNeeded];
|
||||
|
||||
EXECUTE_DOM_INSTRUCTIONS();
|
||||
|
||||
displayObjects = [];
|
||||
displayObjectsByUID = { };
|
||||
|
||||
[runLoop performSelector:@selector(run) target:self argument:nil order:0 modes:[CPDefaultRunLoopMode]];
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user