GnuSmalltalkUsersGuide:BaseChapter 138

From 흡혈양파의 번역工房
Revision as of 05:24, 28 January 2014 by Onionmixer (talk | contribs) (GSUG Rectangle 페이지 추가)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
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