Показать сообщение отдельно
Старый 03.06.2009, 18:45
footman вне форума Посмотреть профиль Отправить личное сообщение для footman Найти все сообщения от footman
  № 4  
Ответить с цитированием
footman

Регистрация: Mar 2009
Сообщений: 42
вопрос другой. тема смежная.

Код AS3:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="onCC()">
 
	<mx:Script>
		<![CDATA[
			import mx.core.UIComponent;
			import mx.states.AddChild;
 
			private function onCC():void
			{
				DrawLineButton.addEventListener(MouseEvent.CLICK, DrawLineButtonHandler);	
			}
 
			private function DrawLineButtonHandler(event:MouseEvent):void
			{
				var hLine:Shape = new Shape();
				var hLineParent:UIComponent = new UIComponent();
 
				hLine.graphics.moveTo(10, 5);
				hLine.graphics.lineStyle(2, 0x990000, .75);
				hLine.graphics.lineTo(10, 410);
 
				hLineParent.addChild(hLine);
				ChildCanvas.addChild(hLineParent);
			}
		]]>
	</mx:Script>
 
	<mx:VBox x="10" y="10">
		<mx:Canvas id="ParentCanvas" x="10" y="10" width="500" height="500" backgroundColor="#ffffff">
			<mx:Canvas id="ChildCanvas" x="50" y="50" width="400" height="400" backgroundColor="#dadcde"/>
		</mx:Canvas>
		<mx:Button id="DrawLineButton" label="Draw Line" />
	</mx:VBox>
 
</mx:Application>
Есть ParentCanvas. Внутри него ChildCanvas. Рисуется линия и добавляется как child к ChildCanvas'у. Проблема в том, что линия выступает за пределы ChildCanvas'а. Можно ли как-нибудь сделать так, чтобы ChildCanvas "резал" (не отображал) те объекты, которые выступают за его границы. Вариант создать линию нужных размеров, чтоб она не выступала за пределы Canvas'а не подходит.