GnuSmalltalkUsersGuide:AdditionalChapter1 07
- BLOX.BCanvasObject
BLOX.BCanvasObject
네임스페이스 BLOX에 정의됨
슈퍼클래스: BLOX.BEventTarget
범주: 그래픽-윈도우
- 나는 BCanvas에 놓을 수 있는 모든 항목의 모든 조상이다. 나는 구체적 자손에게 일반적인 메서드를 몇 가지 제공한다.
BLOX.BCanvasObject 클래스: 인스턴스 생성
new
이 클래스의 인스턴스를 대상으로 해당 메서드를 호출해서는 안 된다.
new: parentCanvas
주어진 parentCanvas 내에 표시된 수신자의 새 인스턴스를 응답하라.
BLOX.BCanvasObject: 접근하기
blox
수신자의 부모 캔버스를 응답하라.
boundingBox
수신자를 모두 감싸는(enclosing) Rectangle을 응답하라.
color
해당 항목의 면적을 채우는 데 사용할 색상을 응답하라.
color: color
해당 항목의 면적을 채우는 데 사용할 색상을 설정하라.
copyInto: newCanvas
이것과 똑같지만 다른 캔버스, newCanvas에 표시된 새 BCanvasObject를 응답하라. 새 인스턴스는 리턴되는 당시에는 아직 생성되지 않은 상태다.
copyObject
이것과 똑같은 새 BCanvasObject를 응답하라. 같은 캔버스 항목을 참조하고 같은 데이터로 된 새 스몰토크 객체를 생성하기만 하는 #copy와 달리 #copyObject로 생성된 객체는 물리적으로 원본과 차이가 있다. 새 인스턴스는 리턴되는 당시에는 아직 생성되지 않은 상태다.
createCopy
이것과 똑같은 새 BCanvasObject를 응답하라. 같은 캔버스 항목을 참조하고 같은 데이터로 된 새 스몰토크 객체를 생성하기만 하는 #copy와 달리 #copyObject로 생성된 객체는 물리적으로 원본과 차이가 있다. 새 인스턴스는 리턴되는 당시에 이미 생성된 상태다.
createCopyInto: newCanvas
이것과 똑같지만 다른 캔버스, newCanvas에 표시된 새 BCanvasObject를 응답하라. 새 인스턴스는 리턴되는 당시에 이미 생성된 상태다.
deepCopy
여러 객체에 걸쳐 데이터를 일관되게 만들 것이기 때문에 복사본을 만드는 의미가 없다; 따라서 수신자를 응답하라.
grayOut
50% gray stippling 패턴으로 수신자에게 적용하라.
shallowCopy
여러 객체에 걸쳐 데이터를 일관되게 만들 것이기 때문에 복사본을 만드는 의미가 없다; 따라서 수신자를 응답하라.
BLOX.BCanvasObject: 위젯 프로토콜
create
객체가 아직 생성되지 않고 올바로 초기화되었다면 부모 캔버스에 실제로 이것을 삽입하라.
created
객체가 플레이스홀더에 불과하는지 아니면 부모 캔버스에 실제로 이미 삽입되었는지 응답하라.
lower
디스플레이 리스트에서 최하 위치로 항목을 이동시켜라. 자식 위젯은 항상 다른 항목 타입을 흐릿하게 만들며, 창 항목의 삽입 순서(stacking order)는 위젯 객체로 직접 메서드를 전송함으로써 결정된다.
raise
디스플레이 리스트에서 최고 위치로 항목을 이동시켜라. 자식 위젯은 항상 다른 항목 타입을 흐릿하게 만들며, 창 항목의 삽입 순서(stacking order)는 위젯 객체로 직접 메서드를 전송함으로써 결정된다.
redraw
객체를 부모 캔버스에서 강제로 표시되도록 만들고, 실제 부모에게 삽입되지 않은 경우 생성하며, 변경된 경우 그 위치를 새로고침(refresh)하라.
remove
캔버스에서 객체를 제거하라.
show
객체가 캔버스 중간에서 보이도록 확인하고, 필요 시 스크롤하라.