KR20070081364A - 그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 장치및 그 방법 - Google Patents

그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 장치및 그 방법 Download PDF

Info

Publication number
KR20070081364A
KR20070081364A KR1020060013265A KR20060013265A KR20070081364A KR 20070081364 A KR20070081364 A KR 20070081364A KR 1020060013265 A KR1020060013265 A KR 1020060013265A KR 20060013265 A KR20060013265 A KR 20060013265A KR 20070081364 A KR20070081364 A KR 20070081364A
Authority
KR
South Korea
Prior art keywords
event
generated
count
graphic object
key
Prior art date
Application number
KR1020060013265A
Other languages
English (en)
Other versions
KR100818920B1 (ko
Inventor
강도연
서장석
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020060013265A priority Critical patent/KR100818920B1/ko
Priority to US11/648,675 priority patent/US20070192693A1/en
Priority to CNB2007100055038A priority patent/CN100470471C/zh
Publication of KR20070081364A publication Critical patent/KR20070081364A/ko
Application granted granted Critical
Publication of KR100818920B1 publication Critical patent/KR100818920B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/543Local
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/545Gui

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)

Abstract

본 발명은 그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 장치 및 그 방법에 관한 것으로서, 더욱 상세하게는 디스플레이 이벤트에 대한 처리가 이루어지고 있는 동안 발생되는 키 이벤트를 처리하지 않음으로써, 그래픽 객체의 디스플레이 시 화면 갱신의 지연 문제를 해결할 수 있는 그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 장치 및 그 방법에 관한 것이다.
본 발명의 일 실시예에 따른 그래픽 객체의 처리 시 키 이벤트를 제어하는 장치는, 사용자에 의해 발생된 이벤트의 종류를 판단하는 이벤트 판단부와, 상기 판단된 이벤트의 종류에 따라 해당 이벤트 동작의 처리 및 미처리 여부를 결정하는 이벤트 관리부와, 상기 이벤트 관리부 요청에 따라 소정 이벤트의 발생 회수 및 처리된 그래픽 객체의 회수를 나타내는 이벤트 카운트 값을 체크하는 카운트 체크부를 포함한다.
그래픽 객체, 디스플레이 이벤트, 키 이벤트, 이벤트 카운트

Description

그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 장치 및 그 방법{Apparatus and method for controlling occurrence key event while a execution of graphic object}
도 1은 종래의 윈도우 응용 프로그램의 구조를 나타낸 도면.
도 2는 종래의 디스플레이 이벤트의 진행 과정 및 사용자가 원하는 디스플레이 이벤트의 진행 과정의 화면을 나타낸 도면.
도 3은 본 발명의 일 실시예에 따른 그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 장치의 내부 블록도를 나타낸 도면.
도 4는 본 발명의 다른 실시예에 따른 그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 방법을 나타낸 순서도를 나타낸 도면.
도 5는 본 발명의 또 다른 실시예에 따른 그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 방법에서 하나의 변수를 이용하여 복수의 윈도우를 디스플레이 하는 것을 나타낸 도면.
도 6은 본 발명의 또 다른 실시예에 따른 그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 방법에서 복수의 변수를 이용하여 복수의 윈도우를 디스플레이 하는 것을 나타낸 도면.
<도면의 주요 부분에 관한 부호의 설명>
110 : 이벤트 수신부 120 : 이벤트 판단부
130 : 카운트 체크부 140 : 버퍼
150 : 디스플레이부 160 : 이벤트 관리부
본 발명은 그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 장치 및 그 방법에 관한 것으로서, 더욱 상세하게는 디스플레이 이벤트에 대한 처리가 이루어지고 있는 동안 발생되는 키 이벤트를 처리하지 않음으로써, 그래픽 객체의 디스플레이 시 화면 갱신의 지연 문제를 해결할 수 있는 그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 장치 및 그 방법에 관한 것이다.
가전 제품의 기능이 많아지고 복잡해짐에 따라 화면에 그래픽 객체를 효과적으로 출력하기 위하여 윈도우 시스템이 사용될 수 있다.
디지털 TV를 비롯하여 홈 바가 부착된 냉장고, 홈 패드 등 다양한 가전 제품은 시각적인 서비스를 사용자에게 제공함으로써 사용자는 좀 더 편리하고 친숙하게 제품을 사용할 수 있는 것이다. 따라서, 그래픽 출력에 대해 우수한 성능을 보이는 윈도우 시스템이 가전 제품에도 적용되는 것이다.
일반적으로 윈도우 시스템은 이벤트(event)를 사용하여 응용 프로그램과 통신하며 응용 프로그램은 이벤트에 대한 핸들러가 정의되어 있음으로써 윈도우 시스템 상에서 동작할 수 있는 것이다.
따라서, 절차적 구조의 프로그램과 다르게 윈도우 프로그램은 이벤트 드리븐(event driven) 또는 메시지 드리븐(message driven) 프로그램이라고 한다.
도 1은 종래의 윈도우 응용 프로그램의 구조를 나타낸 도면이다.
도시된 바와 같이 윈도우 응용 프로그램(이하 응용 프로그램이라고 함)(10)에는 메시지 루프(message loop)(12)와 윈도우 프로시저(window procedure)(13)가 포함되어 있는데, 이들은 각각의 프로그램에서 처리된다. 일반적으로 응용 프로그램(10)은 최소한 하나의 윈도우로 구성되는데, 여기에는 메인 윈도우라고 하는 윈도우가 존재한다. 또한, 응용 프로그램(10)에서 여러 개의 윈도우를 사용하게 된다면 각각의 윈도우에서 발생된 메시지는 메시지 루프(12)에 의하여 윈도우 프로시저(13)로 전달되는 것이다.
이렇게 윈도우를 가지고 있는 응용 프로그램(10)이 실행되면, 응용 프로그램(10)마다 하나의 메시지 대기열(11)이 할당된다. 그 다음에는 각각의 응용 프로그램(10)에서 가지고 있는 윈도우에 이벤트가 발생하면 윈도우 운영체제가 응용 프로그램(10)의 메시지 대기열(11)에 발생한 메시지(이벤트)를 넣어주게 된다. 이 때, 메시지를 받은 응용 프로그램(10)에서는 윈도우 운영체제가 전달해 준 메시지를 메시지 루프(12)에서 처리하여 윈도우 프로시저(13)에 넘겨준다. 윈도우 프로시저(13)에 넘겨진 메시지는 윈도우 프로시저(13)에서 해당 메시지를 처리하기 위하여 정해진 적당한 처리 루틴이 수행되는 것이다.
그래픽 객체가 화면에 디스플레이 되는 경우 각각의 객체에 그에 따른 이벤트가 발생하고 각 객체는 윈도우 프로시저(13)에 의해 화면에 디스플레이 된다. 이 때, 열악한 성능의 시스템 상에서 복수의 객체가 디스플레이 되는 경우 이벤트 발생 간격 또는 윈도우 프로시저의 처리 능력에 따라 객체의 디스플레이 간격이 시각적으로 인식될 수 있는데, 이를 방지하기 위하여 더블 버퍼링(double buffering)이라는 기법이 사용된다.
더블 버퍼링은 그래픽 객체를 화면에 바로 디스플레이 하는 것이 아니라, 버퍼(메모리)에 우선 디스플레이 하고, 나중에 화면을 통하여 디스플레이 하는 것이다.
그러나, 더블 버퍼링을 적용하는 데에 있어서의 문제점은 메인 윈도우 및 하위 계층의 윈도우가 하나의 스레드에 의해 화면에 출력되지 않는 경우, 그 출력 순서가 불분명하므로 이들이 버퍼에 모두 디스플레이 되는 시점을 포착하기 어렵다는 것이다.
또한, 사용자가 키 입력을 통해 그래픽 객체를 움직이고자 하는 경우, 사용자가 원하는 결과를 얻기 위해 방향 키를 계속 누르고 있으면 계속해서 키 명령이 쌓이게 된다. 이에, 윈도우 프로시저는 쌓여있는 키 명령을 차례대로 수행하고, 화면상에는 최종 위치로 이동된 그래픽 객체가 디스플레이된다는 문제점이 있다.
즉, 도2에 도시된 바와 같이 디스플레이 이벤트에 대한 처리가 이루어지고 있는 상태에서 사용자의 키 입력으로 인해 그래픽 객체(20)에 대한 키 이벤트가 발생하면, 이벤트 발생회수와 처리회수가 일치하지 않아 버퍼에서 디스플레이 이벤트와 키 이벤트가 동시에 수행되어 화면에는 그래픽 객체(20)가 이동되는 과정이 보여지지 않다가 어느 순간(즉, 이벤트 발생회수와 처리회수가 같아지는 순간) 갱신 된 내용이 화면상에 그려지는 지연 갱신 현상이 나타나는 문제점이 있다.
따라서, 사용자는 키 선택에 따른 그래픽 객체(20)의 이동 과정이 보여지기를 기대하고 있지만, 종래 방식에서는 지연 갱신 현상으로 인해 사용자의 키 선택에 따른 그래픽 객체(20)의 이동된 결과만이 화면상에 디스플레이된다.
한국공개특허 2004-0055116(디지털 TV에서의 객체 이동 방법 및 시스템)은 디지털 TV 신호 수신부에서 수신한 디지털 방송을 디스플레이하고, 사용자의 리모콘 조작에 따라 화면상에 디스플레이된 EPG 객체의 위치를 재 디스플레이 하는 기술을 개시하고 있으나, 이는 이전 이벤트(즉, 디스플레이 이벤트)의 동작이 완료되지 않은 상태에서 발생된 키 이벤트를 처리하지 않는 기술을 개시하고 있지 않다.
본 발명은 디스플레이 이벤트에 대한 처리가 이루어지고 있는 동안 발생되는 키 이벤트를 처리하지 않음으로써 그래픽 객체의 디스플레이 시 화면 갱신의 지연 문제를 해결하는데 그 목적이 있다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해되어 질 수 있을 것이다.
상기 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 장치는, 사용자에 의해 발생된 이벤트의 종류를 판단하는 이벤트 판단부와, 상기 판단된 이벤트의 종류에 따라 해당 이벤트 동작의 처리 및 미처리 여부를 결정하는 이벤트 관리부와, 상기 이벤트 관리부 요청에 따라 소정 이벤트의 발생 수 및 처리된 그래픽 객체의 회수를 나타내는 이벤트 카운트 값을 체크하는 카운트 체크부를 포함한다.
또한, 본 발명의 다른 실시예에 따른 그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 방법은, 소정 이벤트가 발생되면 상기 발생된 이벤트의 종류를 판단하는 단계와, 상기 판단 결과 발생된 이벤트가 키 이벤트인 경우, 이벤트 카운트를 체크하는 단계와, 상기 체크 결과 이벤트 카운트가 소정 값 보다 작은 경우, 해당 이벤트를 처리하는 단계와, 상기 처리된 이벤트의 그래픽 객체를 버퍼에 저장하는 단계와, 상기 발생된 이벤트의 처리가 완료된 경우 상기 버퍼에 저장된 그래픽 객체를 디스플레이하는 단계를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하 기로 한다.
도 3은 본 발명의 일 실시예에 따른 그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 장치의 내부 블록도를 나타낸 도면이다.
도시된 바와 같이, 따른 그래픽 객체의 처리 시 키 발생된 이벤트를 제어하는 장치는 이벤트 수신부(110), 이벤트 판단부(120), 카운터 체크부(130), 버퍼(140), 디스플레이부(150), 및 이벤트 관리부(160)를 포함하여 구성된다.
이 때, 본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합 되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
이벤트 수신부(110)는 사용자에 의해 발생된 이벤트 명령을 입력받는다. 여 기서, 이벤트 명령은 소정 그래픽 객체의 디스플레이를 요청하는 디스플레이 이벤트, 및 디스플레이된 그래픽 객체가 소정 방향으로 이동되도록 요청하는 키 이벤트를 말한다.
이벤트 판단부(120)는 이벤트 수신부(110)가 수신한 이벤트의 종류를 판단한다. 여기서, 이벤트의 종류를 판단하는 것은 입력된 이벤트의 종류에 따라 이벤트 처리 여부가 결정되기 때문이다.
예를 들어, 디스플레이 이벤트의 진행 중 키 이벤트가 새롭게 입력되는 경우, 이벤트 관리부(160)는 입력된 키 이벤트를 처리하는 않으며, 디스플레이 이벤트가 진행 중이지 않을 경우, 새롭게 입력된 이벤트는 종류에 상관없이 이벤트 동작을 수행한다.
한편, 디스플레이 이벤트 진행 중 새로운 디스플레이 이벤트가 입력되면, 이벤트 관리부(160)는 해당 이벤트가 처리되도록 제어한다.
여기서, 그래픽 객체는 윈도우, 프레임, 다이얼로그, 버튼, 체크 박스, 라디오 박스, 리스트, 스크롤 바 및 메뉴 바 중 적어도 하나인 객체로서 각각의 그래픽 객체는 스레드에 의해 발생된 이벤트에 따라 처리된다. 이 때, 각 그래픽 객체는 각각 다른 스레드 또는 다른 프로세스에 속할 수 있으므로, 이벤트가 처리되는 시점을 정확히 알 수 없게 된다.
윈도우 응용 프로그램은 일반적으로 하나 이상의 윈도우로 구성되며, 메시지 루프 및 윈도우 프로시저를 갖게 된다. 또한 응용 프로그램마다 하나 또는 하나 이상의 메시지 대기열이 할당된다. 그리고, 대부분의 경우 메시지 루트별로 하나의 메시지 대기열이 할당된다.
그 다음에는 응용 프로그램의 윈도우에 그래픽 객체의 디스플레이에 대한 이벤트가 발생하면 윈도우 운영체제 또는 윈도우 매니저가 응용 프로그램의 메시지 대기열에 발생한 메시지를 넣어주게 된다. 이벤트 판단부(120)는 메시지 대기열에서 소정 이벤트가 출력되었는지를 확인하고, 출력된 이벤트가 디스플레이 이벤트인지 키 이벤트인지를 판단한다.
이 때, 메시지를 받은 응용 프로그램에서는 윈도우 운영체제가 전달해 준 메시지를 메시지 루프에서 처리하여 윈도우 프로시저에 넘겨준다. 윈도우 프로시저에 넘겨진 그래픽 객체의 디스플레이에 대한 메시지 및 그래픽 객체의 이동에 대한 메시지는 해당 메시지를 처리하기 위하여 정해진 적당한 처리 루틴에 의하여 수행된다.
카운트 체크부(130)는 이벤트 판단부(120)가 판단한 이벤트에 대한 발생 회수(count) 및 윈도우 프로시저에서 처리된 그래픽 객체의 회수 여부를 체크 한다.
예를 들어, 카운트 체크부(130)는 별도의 영역에 저장된 변수를 이용하여 발생 확인된 이벤트의 회수 및 처리된 그래픽 객체의 회수를 확인하고, 확인 결과인 이벤트 카운트 값을 이벤트 관리부(160)로 전송한다.
즉, 이벤트 수신부(110)가 발생된 이벤트를 수신할 때마다 변수의 값을 1 증가시키고, 윈도우 프로시저에 의해 그래픽 객체가 처리될 때마다 변수의 값을 1 감소시킨다. 이에, 변수의 값이 0이 되는 시점이 화면에 디스플레이되어야 하는 모든 그래픽 객체의 처리가 완료된 시점으로 이해될 수 있다.
따라서, 카운트 체크부(130)는 소정 이벤트 발생 시 마다 처리된 그래픽 객체의 회수를 체크하고, 이벤트 관리부(160)의 요청에 따라 체크된 값을 전송한다.
버퍼(140)는 이벤트 수신부 (110)가 확인한 수신한 이벤트에 따라 윈도우 프로시저에서 처리된 그래픽 객체를 임시적으로 저장한다. 여기서, 저장이란 단순히 메모리에 그래픽 객체의 데이터를 저장하는 것이 아니라, 실제로 화면에 출력될 영역에 대한 메모리를 할당받아 메모리 상에 그래픽 객체를 그리는 것으로서 단지 화면에만 출력되지 않는 상태를 말한다.
디스플레이부(150)는 버퍼(140)에 저장된 그래픽 객체를 화면에 디스플레이 한다. 여기서, 디스플레이부(150)는 처리되어 저장된 그래픽 객체들을 동시에 디스플레이한다.
이벤트 관리부(160)는 이벤트 판단부(120)로부터 판단된 이벤트 종류에 따라 해당 이벤트의 동작을 처리 및 미처리 여부를 결정한다.
예를 들어, 이벤트 판단부(120)로부터 전송된 이벤트의 종류가 키 이벤트인 경우, 카운트 체크부(130)를 통해 이벤트 카운트(즉, 변수 값)를 체크 하도록 하고, 체크 결과 이벤트 카운트 값이 '0'이 아닌 경우, 즉 현재 디스플레이 이벤트가 진행 중인 경우, 이벤트 관리부(160)는 입력된 키 이벤트를 처리하는 않는다.
한편, 체크 결과 이벤트 카운트 값이 '0'인 경우, 즉 현재 디스플레이 이벤트가 진행 중이 아닌 경우, 이벤트 관리부(160)는 해당 키 이벤트를 처리한다.
또한, 이벤트 관리부(160)는 이벤트 판단부(120)로부터 전송된 이벤트의 종류가 디스플레이 이벤트인 경우 해당 디스플레이 이벤트를 처리한다.
또한, 이벤트 관리부(160)는 카운트 체크부(130)를 통해 모든 그래픽 객체의 처리가 완료됨을 전송받으면, 버퍼(140)에 저장된 그래픽 객체를 디스플레이부(150)를 통해 화면상에 동시에 디스플레이한다. 여기서, 모든 그래픽 객체의 처리가 완료된 시점은 이벤트 카운트(즉, 변수의 값)가 0이 되는 시점을 말한다.
도 4는 본 발명의 다른 실시예에 따른 그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 방법을 나타낸 순서도를 나타낸 도면이다.
먼저, 응용 프로그램이 초기 실행되는 경우, 메인 윈도우의 특정 영역이 다시 그려져야 하는 경우 등 그래픽 객체의 디스플레이에 대한 이벤트가 발생하면, 윈도우 운영 체제는 응용 프로그램의 메시지 대기열에 발생한 이벤트를 삽입한다. 또한, 화면상에 디스플레이된 그래픽 객체를 이동시키고자 할 경우, 사용자는 소정 방향의 키를 선택하여 키 이벤트를 발생시킨다.
이에, 이벤트 수신부(110)는 발생된 이벤트 명령(예를 들어, 디스플레이 이벤트 및 키 이벤트)을 수신하고(S400), 수신된 이벤트를 이벤트 판단부(120)로 전송한다.
그 다음, 이벤트 판단부(120)는 이벤트 수신부(110)로부터 전송된 이벤트의 종류를 판단하고(S410), 판단 결과를 이벤트 관리부(160)로 전송한다. 여기서, 이벤트의 종류를 판단하는 것은 입력된 이벤트의 종류에 따라 이벤트 처리 여부가 결정되기 때문이다.
판단 결과 입력된 이벤트가 키 입력 이벤트인 경우(S420), 이벤트 관리부(160)는 카운트 체크부(130)를 통해 이벤트 카운트(즉, 이벤트의 발생 회수(count) 및 윈도우 프로시저에서 처리된 그래픽 객체의 회수)를 체크 한다(S430).
체크 결과 이벤트 카운트(즉, 변수 값)가 '0'보다 작은 경우(S440), 이벤트 관리부(160)는 현재 처리중인 이벤트가 존재하지 않는다고 판단한다. 이때, 카운트 체크부(130)는 발생된 디스플레이 이벤트의 회수에 대해 별도의 영역에 설정된 변수를 1 증가시켜 저장한다(S450).
그 다음, 이벤트 관리부(160)는 해당 이벤트를 처리한다(S460). 여기서, 이벤트를 처리한다는 것은 화면상에 디스플레이된 그래픽 객체를 소정 방향으로 이동시킨다는 것이다. 그 다음, 해당 이벤트의 처리가 완료되면 이벤트 관리부(160)는 카운트 체크부(130)에게 이벤트 처리가 완료됨을 알리고, 이에 카운트 체크부(130)는 처리된 디스플레이 이벤트의 회수에 대해 별도의 영역에 설정된 변수를 1 감소시켜 저장한다(S470).
그 다음, 이벤트 관리부(160)는 처리 완료된 해당 그래픽 객체를 버퍼(140)에 저장하고(S480), 현재 진행되고 있는 이벤트가 존재하는지 검색하기 위해 카운트 체크부(130)에게 카운트 체크를 요청한다.
이에, 카운트 체크부(130)는 이벤트 카운트(즉, 변수 값)가 '0'인지 체크하고(S490), 체크 결과 변수의 값이 0인 경우 이벤트 관리부(160)는 디스플레이부(150)를 통하여 버퍼(140)에 저장된 그래픽 객체를 화면에 디스플레이 한다(S495). 여기서, 변수의 값이 0이 되는 시점은 화면에 디스플레이되어야 하는 모든 그래픽 객체의 처리가 완료된 시점으로 이해될 수 있다.
한편, 카운트 체크부(130)의 체크 결과 변수의 값이 0이 아닌 경우(S490), 이벤트 관리부(160)는 현재 처리중인 디스플레이 이벤트가 존재한다고 판단하고, 미 처리된 디스플레이 이벤트가 처리되도록 한다. 즉, 단계 S460 과정에서 S480 과정을 다시 수행한다.
또한, 키 이벤트를 수행하기 위해 카운트 체크부(130)가 이벤트 카운트의 값을 체크한 결과, 이벤트 카운트(즉, 변수 값)가 '0'보다 큰 경우(S440), 이벤트 관리부(160)는 현재 처리중인 디스플레이 이벤트가 존재한다고 판단하고, 수신된 키 이벤트를 처리하지 않는다(S445).
또한, 이벤트 판단부(120)의 판단 결과 이벤트 수신부(110)로부터 전송된 이벤트의 종류가 디스플레이 이벤트인 경우(S420), 이벤트 관리부(160)는 해당 디스플레이 이벤트를 처리한다. 이에, 카운트 체크부(130)는 발생된 디스플레이 이벤트의 회수에 대해 별도의 영역에 설정된 변수를 1 증가시켜 저장한다(S450). 이하, 단계 S460 내지 단계 S495 과정을 동일하게 수행한다.
도 5는 본 발명의 또 다른 실시예에 따른 그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 방법에서 하나의 변수를 이용하여 복수의 윈도우를 디스플레이 하는 것을 나타낸 도면이다.
하나의 응용 프로그램 또는 복수의 응용 프로그램에 의하여 복수의 윈도우가 디스플레이될 수 있는데, 도 5는 하나의 변수(530)를 이용하여 복수의 윈도우(510, 520)를 디스플레이하는 것을 나타낸 도면이다.
윈도우 A(510)는 1개의 메인 윈도우와 6개의 버튼으로 총 7개의 그래픽 객체로 구성된 윈도우이고, 윈도우 B(520)는 1개의 메인 윈도우와 2개의 버튼으로 총 3 개의 그래픽 객체로 구성된 윈도우이다.
여기서, 각 윈도우에 대한 이벤트 발생 확인 회수 및 그래픽 객체 처리 회수를 관리하기 위한 변수는 전역 변수(Count_total)로 설정된 것을 보여준다.
윈도우 A(510), 윈도우 A(510)의 자식 윈도우, 윈도우 B(520) 또는 윈도우 B(520)의 자식 윈도우에 대한 그래픽 객체를 디스플레이하라는 이벤트가 발생하면 이벤트 판단부(120)는 해당 그래픽 객체의 디스플레이에 대한 이벤트 발생 여부를 확인하게 된다.
그리하여, 이벤트 판단부(120)에 의해 이벤트의 발생이 확인되면 Count_total(530)는 1 증가하고, 윈도우 프로시저에 의해 그래픽 객체가 처리되면 Count_total(530)는 1 감소한다.
전역 변수 Count_total(530)의 값은 윈도우에 관계 없이 계산되며 그 결과가 0이 되기 이전에는 윈도우 A(510), 윈도우 A(510)의 자식 윈도우, 윈도우 B(520), 윈도우 B(520)의 자식 윈도우는 버퍼(140)에 저장되며 화면으로 디스플레이 되지 않고, 전역 변수 Count_total(530)의 결과가 0이 되는 시점에 윈도우 A(510), 윈도우 A의 자식 윈도우, 윈도우 B(520) 및 윈도우 B(520)의 자식 윈도우가 동시에 디스플레이 된다.
도 6은 본 발명의 또 다른 실시예에 따른 그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 방법에서 복수의 변수를 이용하여 복수의 윈도우를 디스플레이 하는 것을 나타낸 도면이다.
하나의 응용 프로그램 또는 복수의 응용 프로그램에 의하여 복수의 윈도우가 디스플레이될 수 있는데, 도 6은 복수의 변수(630, 640)를 이용하여 복수의 윈도우(610, 620)를 디스플레이하는 것을 나타낸 도면이다.
윈도우 A(610)는 1개의 메인 윈도우와 6개의 버튼으로 총 7개의 그래픽 객체로 구성된 윈도우 이고, 윈도우 B(620)는 1개의 메인 윈도우와 2개의 버튼으로 총 3개의 그래픽 객체로 구성된 윈도우 이다.
여기서, 각 윈도우에 대한 이벤트 발생 확인 회수 및 그래픽 객체 처리 회수를 관리하기 위한 변수는 지역 변수로 설정된 것을 보여주는데, 윈도우 A(610)에는 지역 변수 Count_A(630)로 설정된 것을 보여주며, 윈도우 B(620)에는 지역 변수 Count_B(640)로 설정된 것을 보여준다.
윈도우 A(610), 윈도우 A(610)의 자식 윈도우, 윈도우 B(620) 또는 윈도우 B(620)의 자식 윈도우에 대한 그래픽 객체를 디스플레이하라는 이벤트가 발생하면 이벤트 판단부(120)는 해당 그래픽 객체의 디스플레이에 대한 이벤트의 발생 여부를 확인하게 된다.
이에 따라, 카운트 체크부(130)는 발생된 이벤트가 어느 윈도우의 이벤트인지를 검색한다. 그리하여, 발생된 이벤트가 윈도우 A(610) 또는 윈도우 A(610)의 자식 윈도우의 이벤트이면 Count_A(630)를 1 증가시키고, 윈도우
B(620) 또는 윈도우 B(620)의 자식 윈도우의 이벤트이면 Count_B(640)를 1 증가시킨다. 그리고, 윈도우 프로시저에 의해 그래픽 객체가 처리되면 Count_A(630) 또는 Count_B(640)는 1 감소한다.
이와 같이, 지역 변수 Count_A(630) 또는 Count_B(640)의 값은 윈도우에 따라 계산되며 각 계산 결과에 따라 디스플레이 여부가 결정된다.
즉, 윈도우 A(610)의 지역 변수인 Count_A(630)의 값이 0이 아니더라도, 윈도우 B(620)의 지역 변수인 Count_B(640)의 값이 0이면 윈도우 A(610)는 여전히 버퍼(140)에 저장되고 윈도우 B(620)는 디스플레이부(150)를 통하여 화면에 디스플레이된다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
상기한 바와 같은 본 발명의 그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 장치 및 그 방법에 따르면 다음과 같은 효과가 하나 혹은 그 이상 있다.
디스플레이 이벤트에 대한 처리가 이루어지고 있는 동안 발생되는 키 이벤트를 처리하지 않음으로써, 그래픽 객체의 디스플레이 시 화면 갱신의 지연 문제를 해결할 수 있는 장점이 있다.
또한, 디스플레이 이벤트 처리 시 발생된 키 이벤트를 처리하지 않음으로써, 적체된 이벤트 명령으로 인하여 사용자가 더 이상 이벤트를 발생시키지 않는 경우에도 계속해서 화면이 갱신되는 현상을 방지할 수 있는 장점이 있다.

Claims (10)

  1. 사용자에 의해 발생된 이벤트의 종류를 판단하는 이벤트 판단부;
    상기 판단된 이벤트의 종류에 따라 해당 이벤트 동작의 처리 및 미처리 여부를 결정하는 이벤트 관리부; 및
    상기 이벤트 관리부 요청에 따라 소정 이벤트의 발생회수 및 처리된 그래픽 객체의 회수를 나타내는 이벤트 카운트 값을 체크하는 카운트 체크부를 포함하는 그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 장치.
  2. 제 1항에 있어서,
    상기 이벤트는 디스플레이 이벤트 및 키 이벤트 중 어느 하나인 그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 장치.
  3. 제 1항에 있어서,
    상기 이벤트 관리부는 상기 판단된 이벤트 종류가 키 이벤트인 경우, 상기 카운트 체크부가 체크한 이벤트 카운트 값을 기초로 이벤트 처리 여부를 결정하는 그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 장치.
  4. 제 1항에 있어서,
    상기 이벤트 관리부는 상기 판단된 이벤트가 디스플레이 이벤트인 경우, 상 기 이벤트 카운트를 증가시키고, 해당 디스플레이 이벤트 처리하는 그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 장치.
  5. 제 1항에 있어서,
    사용자에 의해 발생된 이벤트 명령을 입력받는 이벤트 수신부; 및
    상기 처리된 이벤트의 그래픽 객체를 임시적으로 저장하는 버퍼; 및
    상기 버퍼에 저장된 그래픽 객체를 화면에 디스플레이하는 디스플레이부를 포함하는 그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 장치.
  6. 소정 이벤트가 발생되면 상기 발생된 이벤트의 종류를 판단하는 단계;
    상기 판단 결과 발생된 이벤트가 키 이벤트인 경우, 이벤트 카운트를 체크하는 단계;
    상기 체크 결과 이벤트 카운트가 소정 값 보다 작은 경우, 해당 이벤트를 처리하는 단계;
    상기 처리된 이벤트의 그래픽 객체를 버퍼에 저장하는 단계; 및
    상기 처리중인 이벤트가 완료된 경우 상기 버퍼에 저장된 그래픽 객체를 디스플레이하는 단계를 포함하는 그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 방법.
  7. 제 6항에 있어서,
    상기 해당 이벤트를 처리하는 단계는
    상기 발생된 키 이벤트의 회수에 대해 별도의 영역에 설정된 변수를 1 증가시켜 저장하는 단계; 및
    상기 처리된 키 이벤트의 회수에 대해 별도의 영역에 설정된 변수를 1 감소시켜 저장하는 단계를 더 포함하는 그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 방법.
  8. 제 6항에 있어서,
    상기 체크 결과 이벤트 카운트가 소정 값 보다 큰 경우, 발생된 키 이벤트를 처리하지 않는 그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 방법.
  9. 제 6항에 있어서,
    상기 판단 결과 발생된 이벤트가 디스플레이 이벤트인 경우, 이벤트 카운트를 증가시키고, 해당 디스플레이 이벤트 처리하는 그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 방법.
  10. 제 6항에 있어서,
    상기 이벤트 카운트는 소정 이벤트의 발생 회수 및 처리된 그래픽 객체의 회수인 그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 방법.
KR1020060013265A 2006-02-10 2006-02-10 그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 장치및 그 방법 KR100818920B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020060013265A KR100818920B1 (ko) 2006-02-10 2006-02-10 그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 장치및 그 방법
US11/648,675 US20070192693A1 (en) 2006-02-10 2007-01-03 Apparatus and method for controlling key events when handling a graphics object
CNB2007100055038A CN100470471C (zh) 2006-02-10 2007-02-09 在处理图形对象时控制键事件的装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060013265A KR100818920B1 (ko) 2006-02-10 2006-02-10 그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 장치및 그 방법

Publications (2)

Publication Number Publication Date
KR20070081364A true KR20070081364A (ko) 2007-08-16
KR100818920B1 KR100818920B1 (ko) 2008-04-04

Family

ID=38370202

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060013265A KR100818920B1 (ko) 2006-02-10 2006-02-10 그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 장치및 그 방법

Country Status (3)

Country Link
US (1) US20070192693A1 (ko)
KR (1) KR100818920B1 (ko)
CN (1) CN100470471C (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102426546A (zh) * 2011-11-04 2012-04-25 同辉佳视(北京)信息技术股份有限公司 多窗口并发显示方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5495566A (en) * 1994-11-22 1996-02-27 Microsoft Corporation Scrolling contents of a window
US5982371A (en) * 1996-01-29 1999-11-09 Sun Microsystems, Inc. Method and apparatus for executing and displaying output of an environment in a host environment
JP3324735B2 (ja) * 1997-07-15 2002-09-17 コナミ株式会社 ゲームシステム及びゲーム用プログラムが記録されたコンピュータ読取可能な記録媒体
US7062773B1 (en) * 1998-07-20 2006-06-13 International Business Machines Corporation System and method for providing graphical user interface control enhancers
US6233606B1 (en) * 1998-12-01 2001-05-15 Microsoft Corporation Automatic cache synchronization
CN102819428B (zh) * 1999-09-27 2018-11-13 汤姆森许可公司 窗口系统
JP2002342001A (ja) * 2001-05-17 2002-11-29 Sourcenext Corp キー入力計数システム、キー入力計数方法及びキー入力計数プログラム
JP2002366973A (ja) 2001-06-07 2002-12-20 Hitachi Software Eng Co Ltd オブジェクトの生成方法および生成されたオブジェクトの選択制御方法並びにオブジェクトのデータ構造
KR20040067136A (ko) * 2003-01-21 2004-07-30 삼성전자주식회사 특정 이벤트정보에 대응되는 gui 구성요소 표시장치 및표시방법
KR100739676B1 (ko) * 2003-07-31 2007-07-13 삼성전자주식회사 그래픽 데이터를 포함하는 정보저장매체, 그 처리장치 및처리방법
WO2005062605A1 (ja) * 2003-12-18 2005-07-07 Mitsubishi Denki Kabushiki Kaisha 画像表示制御装置及び画像表示システム
DE602006011292D1 (de) * 2005-04-08 2010-02-04 Panasonic Corp Cache-speichersystem und steuerverfahren dafür

Also Published As

Publication number Publication date
CN101025684A (zh) 2007-08-29
CN100470471C (zh) 2009-03-18
US20070192693A1 (en) 2007-08-16
KR100818920B1 (ko) 2008-04-04

Similar Documents

Publication Publication Date Title
EP2449550B1 (en) Method and apparatus for providing mobile device interoperability
KR101282139B1 (ko) 별도 버튼을 이용하여 성능모드 변경이 가능한컴퓨터시스템 및 그 제어방법
US20160180496A1 (en) Information processor, information processing method, and program
US8099738B2 (en) Message display device which changes a manner of displaying a message over time, and a non-transitory computer-readable medium storing a message display program changes a manner of displaying a message over time
EP3500930A1 (en) Systems and methods for reducing download requirements
KR100818920B1 (ko) 그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 장치및 그 방법
CN112925600A (zh) 一种屏幕异显方法及其相关设备
US8773442B2 (en) Aligning animation state update and frame composition
JP2002032168A (ja) ウィンドウ制御方法
US20050018078A1 (en) Method for sharing a graphics display as a resource in an embedded system
US9972280B2 (en) Display control device, input operation device, and air traffic control system
US12028548B2 (en) Rendering video frames for a user interface operation performed at a client device
US20220337868A1 (en) Rendering video frames for a user interface operation performed at a client device
JPH0728616A (ja) 仮想ウインドウによる仮想端末方式
US20200186872A1 (en) Method of switching channels and intelligent television
CN108235089B (zh) 线路切换控制方法、存储介质、电子设备及系统
CN113316022A (zh) 视频播放方法、装置、设备、系统和存储介质
CN105872841A (zh) 一种剧集列表显示方法及装置
KR20060086475A (ko) 그래픽 객체를 동시에 디스플레이 하는 장치 및 방법
JPH02301823A (ja) 画像処理に適したウィンドウシステム
US20060164431A1 (en) Apparatus and method for displaying graphic objects concurrently
KR101380747B1 (ko) 별도 버튼을 이용하여 성능모드 변경이 가능한 컴퓨터시스템 및 그 제어방법
CN115729657A (zh) 用户界面的渲染方法、显示屏组件、家电设备及存储介质
CN112714344A (zh) 用于智能设备的控制方法及装置、智能电视
CN113672188A (zh) 基于低端mcu的oled屏高效显示方法和家用电器

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130221

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140221

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150212

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee