GnuSmalltalkUsersGuide:BaseChapter 138

From 흡혈양파의 번역工房
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Rectangle

Rectangle

네임스페이스 Smalltalk에 정의됨

슈퍼클래스: Object

범주: 언어-데이터 타입


단순한 디스플레이 조작을 위한 Rectangle 클래스의 시작. Rectangles는 Point 클래스가 이용 가능하도록 요한다. Point 클래스로의 확장(extension)이 이 곳에서 이루어지는데, Rectangles가 정의되도록 요하기 때문이다 (변환하기 참조).


Rectangle 클래스: 인스턴스 생성

left: leftNumber right: rightNumber top: topNumber bottom: bottomNumber

주어진 좌표로 된 rectangle을 응답하라.

left: leftNumber top: topNumber right: rightNumber bottom: bottomNumber

주어진 좌표로 된 rectangle을 응답하라.

new

(0 @ 0 모서리: 0 @ 0) rectangle를 응답하라.

origin: originPoint corner: cornerPoint

주어진 모서리로 된 rectangle을 응답하라.

origin: originPoint extent: extentPoint

주어진 원점과 크기로 된 rectangle을 응답하라.


Rectangle: 접근하기

bottom

수신자의 모서리 y를 응답하라.

bottom: aNumber

수신자의 모서리 y를 설정하라.

bottomCenter

수신자의 밑면 중심을 응답하라.

bottomLeft

수신자의 하단 좌측 모서리를 응답하라.

bottomLeft: aPoint

하단 좌측이 aPoint인 수신자를 응답하라.

bottomRight

수신자의 하단 우측 모서리를 응답하라.

bottomRight: aPoint

수신자의 하단 우측 모서리를 변경하라.

center

수신자의 중심(center)을 응답하라.

corner

수시자의 모서리를 응답하라.

corner: aPoint

수신자의 모서리를 설정하라.

extent

수신자의 범위(extent)를 응답하라.

extent: aPoint

원점은 같게 유지하고 수신자의 크기를 변경하라.

height

수신자의 높이를 응답하라.

height: aNumber

수신자의 높이를 설정하라.

left

수신자의 좌측 변의 x를 응답하라.

left: aValue

수신자의 좌변의 x를 설정하라.

left: l top: t right: r bottom: b

수신자 모서리의 4개 좌표를 변경하라.

leftCenter

수신자의 좌변 중심을 응답하라.

origin

수신자의 상단 좌측 모서리를 응답하라.

origin: aPoint

수신자의 상단 좌측 모서리를 aPoint로 변경하라.

origin: pnt1 corner: pnt2

수신자의 원점과 (상단 좌측 모서리) 모서리(하단 우측 모서리)를 변경하라.

origin: pnt1 extent: pnt2

수신자의 상단 좌측 모서리와 크기를 변경하라.

right

수신자의 하단 우측 모서리의 x를 응답하라.

right: aNumber

수신자의 하단 우측 모서리의 x를 변경하라.

rightCenter

수신자의 우변 중심을 응답하라.

top

수신자의 상단 좌측 모서리의 y를 응답하라.

top: aValue

수신자의 상단 좌측 모서리의 y를 변경하라.

topCenter

수신자 윗변의 중심을 응답하라.

topLeft

수신자의 상단 좌측 모서리를 응답하라.

topLeft: aPoint

수신자의 상단 좌측 모서리의 좌표를 aPoint로 변경하라.

topRight

수신자의 상단 우측 모서리를 응답하라.

topRight: aPoint

수신자의 상단 우측 모서리를 aPoint로 변경하라.

width

수신자 너비를 응답하라.

width: aNumber

수신자 너비를 aNumber로 변경하라.


Rectangle: 복사하기

copy

안전을 위해 수신자의 깊은 복사를 리턴하라.


Rectangle: 인쇄하기

printOn: aStream

수신자의 표현을 aStream 상에 인쇄하라.

storeOn: aStream

수신자로 컴파일하는 스몰토크 코드를 aStream 상에 보관하라.


Rectangle: rectangle 함수

amountToTranslateWithin: aRectangle

aRectangle이 aPoint에 의해 해석되고 그 원점이 수신자의 원점 내에서 놓이도록 aPoint를 응답하라.

area

수신자의 면적을 응답하라. 면적은 너비와 높이를 곱한 값으로. Rectangle이 정규화되지 않은 경우 너비는 음수가 될 수도 있다.

areasOutside: aRectangle

aRectangle 외부에 수신자 부분을 포함하는 rectangle의 컬렉션을 응답하라. 수신자 내부에 위치하나 aRectangle 외부에 있는 모든 포인트의 경우 컬렉션 내 정확히 하나의 rectangle만이 그 포인트를 포함할 것이다.

expandBy: delta

aValue 에 의해 확장된 수신자에 해당하는 새 rectangle을 응답하라: aValue가 rectangle인 경우 원점 = 원점 - aValue 원점, 모서리 = 모서리 + aValue 모서리를 계산하라; 그 외의 경우 원점 = 원점 - aValue, 모서리 = 모서리 +aValue를 계산하라.

insetBy: delta

aValue 에 의해 삽입된 수신자에 해당하는 새 rectangle을 응답하라: aValue가 rectangle인 경우 원점 = 원점 + aValue 원점, 모서리 = 모서리 - aValue 모서리를 계산하라; 그 외의 경우 원점 = 원점 + aValue, 모서리 = 모서리 - aValue를 계산하라.

insetOriginBy: originDelta corner: cornerDelta

삽입된 수신자에 해당하는 새 rectangle을 응답하여 원점 = 원점 + originDelta, 모서리 = 모서리 - cornerDelta가 되도록 하라. Delta는 포인트나 숫자가 될 수 있다.

intersect: aRectangle

A와 B rectangle이 겹쳐서 생성된 rectangle을 (존재할 경우) 응답하라. 겹치는 부분이 없다면 nil을 응답하라.

merge: aRectangle

수신자와 aRectangle을 모두 포함하는 가장 작은 rectangle에 해당하는 새 rectangle을 응답하라.

translatedToBeWithin: aRectangle

aRectangle 범위를 넘지 않는 수신자의 복사본을 응답하라.


Rectangle: 검사하기

= aRectangle

수신자가 aRectangle과 같은지를 응답하라.

contains: aRectangle

수신자가 aRectangle의 원점과 aRectangle의 모서리를 포함할 경우 (containsPoint: 참조) true를 응답하라.

containsPoint: aPoint

aPoint가 수신자의 원점과 같거나, 수신자의 원점보다 낮고 우측에 있는 경우 true를 응답하라; aPoint가 수신자의 원점보다 위의 좌측에 있는 경우 (후자의 경우 nil을 응답하란 말 같은데 영문이 없습니다)

hash

수신자에 대한 해시값을 응답하라.

intersects: aRectangle

수신자가 aRectangle과 교차하는 경우, 즉 aRectangle 모서리를 포함하거나 (containsPoint: 참조) aRectangle이 수신자를 포함하는 경우 true를 응답하라.


Rectangle: 변형하기

moveBy: aPoint

원점과 모서리가 aPoint만큼 이동하도록 수신자를 변경하라.

moveTo: aPoint

원점이 aPoint로 이동하고 크기는 변하지 않은 채 남도록 수신자를 변경하라.

scaleBy: scale

원점과 모서리가 scale만큼 곱해지는 수신자의 복사본을 응답하라.

translateBy: factor

원점과 모서리가 aPoint만큼 이동하는 수신자의 복사본을 응답하라.


Rectangle: 버림(truncation)과 반올림하기(round off)

rounded

좌표가 가장 가까운 정수로 반올·내림되는 수신자의 복사본을 응답하라.


Notes