간단한 그림판 프로그램. 모-수업의 기말과제로 제출하기 위해 만들었던 녀석이다. 기말고사 채점기간이 끝났기에 릴리즈한다. 자랑이라면 Undo랑 Redo를 무한대로 지원한다는 것과, 색칠하기가 된다는 것 정도. -_-v
다운로드 : vincent.exe
소스코드 : vincent-src.zip
저장/불러오기는 시간이 촉박해서 미구현입니다. 복사/붙여넣기도 안됩니다. 흑흑흑… 항상 무언가 만들때면 이것저것 넣고싶지만, 항상 막판에 이것저것 TODO 리스트에서 삭제하게 되더군요. 소스코드는 초기에는 Undo와 Redo를 위해서 나름대로 깔끔하게 인터페이스와 구현을 분리해가면서 설계했습니다만, 막판에 가서 여러가지 예상치못한 애로사항이 꽃피면서 결국 좀 지저분해졌네요. 디자인패턴과 설계능력이 턱없이 부족해서 Afx 남발이 되어버렸습니다. 하아- C++ STL의 auto_ptr은 컨테이너 안에 집어넣을 수 없는 덕분에 new와 delete의 위치에 대한 일관성도 깨져버리고.. SGI의 STL을 쓰자니 과제라서 안될테고.. 이래저래 “나는 아직도 beginner인가?!”라는 생각이 들던 작업이었습니다. EC++/MEC++/E-STL에 나온 권고사항을 어긴 항목이 한두개가 아니네요. 덜덜덜… 스캇 마이어씨 한번만 봐주세요. (가비지 컬렉터 없는 C++에서는 factory패턴은 위험요소 투성이더군요.. ㅠ_ㅠ)
+ 덧, 색칠하기 알고리즘을 약간 수정해서, 불완전한 스캔라인 기법으로 기존의 Fill-Flooding 방식보다는 10배쯤 빨라졌습니다만, 그래도 그램판보다는 1000배쯤 느리네요. -_-;; 아니 이놈들은 색칠하기에 대체 무슨 알고리즘을 쓴거야?!