X윈도우에서 윈도우 상태의 불일 치가 일어 나는데...

onemind555의 이미지

X윈도우에서 윈도우의 크기가 변했으면 그 커진 영역전부를 expose메세지가 발생 했을때 그려 줘야 하는데.. 예전 크기만큼만 그립이 그려집니다...

왜 이런 가요??
윈도우 사이즈가 변할 때 마다 특별히 호출 해야 하는 함수 라도 있는 건가요...

정태영의 이미지

configure 메시지 =3=33

흠 gtk+2에서는...
창 크기가 변하면..

configure -> expose 이렇게 시그널이 오더라구요 =3=33

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

onemind555의 이미지

expose이벤트를 처리 해서 그림을 그렸는데...
예전 크기 만큼만 그려 집니다... 새롭게 크진 그 영역은 새로 그리지 않더군요...

-----------^^ ^^ ^^ ^^ ^^ ----------
..........................................................

정태영의 이미지

어디서 그렇다는건지 모르겠군요..

툴킷을 사용하시는건지 아님..
Xlib를 사용하시고 계신건지..

또 예제 코드에서 그렇다는건지..
직접 짜신 코드에서 그렇다는건지 알수가 없군요..

gtk얘기라면..

expose 시그널은.. 다시 그려야할 부분이 생기면 (다른 창에 의해 가려졌다가 다시 나온다던지 ) 했을때 발생하고..

창크기가 변했을때는 configure 시그널이 발생합니다..
이 시그널을 처리하면서 뭔가를 해줘야겠죠 ~.~

물론 configure 시그널 발생 이후 expose시그널도 발생하기는 하지만요..

gtk-demo에서.. Drawing Area 예제에 비슷한 내용이 있습니다..
보면..

configure signal을 처리하는 콜백 함수에서..
새로운 사이즈에 맞게.. Pixmap을 할당해 주고..

expose 시그널을 처리하는 콜백함수에서..
configure singal을 처리하면서 만들어놨던.. Pixmap에서..

Drawable로.. 다시 그려야할 부분만을 복사해오는 방법을 취하고 있습니다 :D

흠 이것과 관련이 있을거 같긴 하지만.. 설명이 너무 없어서
어떤 경운지는 모르겠군요 =3=33

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

onemind555의 이미지

Configure이벤트 였군요....

저는 SizeRequest이벤트를 처릴 해서 했었거든요...

제가 이벤트를 잘못 받아서 처리 했는 것이 었더군요..(MS윈도우랑 상당히 다른 것 같네요..)

이제 해결 되었습니다....

여담 이지만..
X윈도우의 설계상의 문제 인지 원래 그런지는 몰라도 받아올 이벤트를 설정 하면 Side Effect 가 발생 하는 군요... Side Effect가 발생 하지 않을 줄 알았는데...
Size이벤트를 받게 설정 하면 expose 이벤트가 제대로 작동 하지 않더군요...

-----------^^ ^^ ^^ ^^ ^^ ----------
..........................................................

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.