안녕하세요. 항상 도움을 얻고 있음에 감사드립니다.
Direct graphics에서 cursor procedure 의 역할을 New graphics에서 어떻게 구현 가능할 수 있는지에 대한 질문입니다. 즉, New graphics에서 plot이나 image function으로 그림을 그린 뒤 마우스 커서의 위치에 대한 정보를 변수로 받아올 수 있는 방법에 대해 알고 싶습니다.
이미 비슷한 질문이 Q&A 게시판에서 “cursor”라는 키워드로 검색을 했을때 몇 차례 보입니다만 원하는 답을 얻진 못했습니다.
http://www.idl-envi.co.kr/callcenter/tips/file/61_1378456651.pdf
위 링크에서 설명 되었듯이 window에서 event를 받아 무엇인가를 실행하는 방법을 통해 어떻게 구현할 수 있을수도 있겠다 생각했는데 쉽지 않아 보입니다.
https://www.harrisgeospatial.com/docs/mouseeventfunctions.html
여기서도 mouse event에 대해 설명하고 예제가 있는데 cursor procedure와 동일하게 구현하기에는 무리가 있어 보입니다.
문제의 핵심은 event를 구현하는 함수 내에서 마우스 커서의 좌표값을 읽지만 이것을 외부로, 혹은 main procedure level 로 반출하여 변수에 저장하는 방법인 것 같습니다. 위에 있는 예제들은 전부 event 함수 내에서 mouse position 정보가 사용되었고 이를 외부로 가져오고 있진 않습니다. 이에 대한 힌트를 주실 수 있을까요? common 으로 넘길까 고민도 했지만 이것보다 좋은 방법이 있을거라 생각합니다.
아니면 가장 쉬운 방법은 위의 그림과 같이 생성되는 window 창 우측 하단에 표시되는 좌표의 값을 어떻게 읽어오는 방법도 있겠습니다만 New graphics를 구현하는 많은 함수들을 살펴보는게 쉽지 않습니다. 혹시알려진 방법이 있으면 알려주시면 감사하겠습니다.
-
이 게시글은 chokh에 의해 5 years, 2 months 전에 수정됐습니다.