이전에는 방향키 이벤트를 적용하기 위해 view 클래스에서 Renderer 클래스 포인터를 받아서 구현했다.
하지만 이와 같은 방식은 코드의 중복이 생겨 유지, 보수가 어려워지는 문제점이 있다.
구조를 바꿔서 이해하기 쉽고 관리하기 쉬운코드를 작성해보자.
View 클래스에서 Doc 포인터의 메세지 함수를 불러오는 방식이다. 하지만 메세지 함수에는 파라미터를 전달 할 수 없다.
따라서 왼쪽, 오른쪽 방향키등의 파라미터를 직접 전달하는 것은 불가능하다.
이를 해결하기 위해, 메시지 함수 호출을 도와주는 함수를 만들어 사용해보자.
먼저 View 클래스를 수정하자.
VolumeRendererView.cpp
헬퍼함수에 전달할 매개변수를 보기 편하게 하기 위해 enum 을 선언하고 사용해보자.
GlobalDefine.h
VolumeRendererDoc.cpp
Renderer.cpp